@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,271 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Signal, InputSignal, QueryList, ElementRef, WritableSignal } from '@angular/core';
|
|
3
|
+
import * as _raintonic_formaui_core from '@raintonic/formaui/core';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* FuiErrorComponent
|
|
7
|
+
*
|
|
8
|
+
* Validation error message shown under the form field. Can automatically show/hide
|
|
9
|
+
* based on a specific error key, or use with *ngIf for custom control logic.
|
|
10
|
+
* The component provides proper accessibility roles and live region behavior.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```html
|
|
14
|
+
* <!-- Automatic error key handling -->
|
|
15
|
+
* <fui-error key="required">This field is required</fui-error>
|
|
16
|
+
* <fui-error key="email">Please enter a valid email</fui-error>
|
|
17
|
+
*
|
|
18
|
+
* <!-- Manual control (backward compatible) -->
|
|
19
|
+
* <fui-error *ngIf="control.hasError('custom')">Custom error</fui-error>
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
declare class FuiErrorComponent {
|
|
23
|
+
/**
|
|
24
|
+
* Optional error key to match against form control errors.
|
|
25
|
+
* When provided, the error will only show if the control has this specific error.
|
|
26
|
+
* When not provided, the error will always show (backward compatible behavior).
|
|
27
|
+
*/
|
|
28
|
+
readonly key: i0.InputSignal<string | undefined>;
|
|
29
|
+
private readonly _parent;
|
|
30
|
+
/**
|
|
31
|
+
* Computed signal to determine if this error should be hidden
|
|
32
|
+
*/
|
|
33
|
+
protected readonly _shouldHide: Signal<boolean>;
|
|
34
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FuiErrorComponent, never>;
|
|
35
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FuiErrorComponent, "fui-error", never, { "key": { "alias": "key"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Prefix directive for content to be placed before the input in fui-form-field
|
|
40
|
+
*
|
|
41
|
+
* @example
|
|
42
|
+
* ```html
|
|
43
|
+
* <fui-form-field>
|
|
44
|
+
* <fui-label>Price</fui-label>
|
|
45
|
+
* <span fuiPrefix>$</span>
|
|
46
|
+
* <input fuiInput type="number">
|
|
47
|
+
* </fui-form-field>
|
|
48
|
+
* ```
|
|
49
|
+
*/
|
|
50
|
+
declare class FuiPrefixDirective {
|
|
51
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FuiPrefixDirective, never>;
|
|
52
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<FuiPrefixDirective, "[fuiPrefix]", never, {}, {}, never, never, true, never>;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Suffix directive for content to be placed after the input in fui-form-field
|
|
57
|
+
*
|
|
58
|
+
* @example
|
|
59
|
+
* ```html
|
|
60
|
+
* <fui-form-field>
|
|
61
|
+
* <fui-label>Weight</fui-label>
|
|
62
|
+
* <input fuiInput type="number">
|
|
63
|
+
* <span fuiSuffix>kg</span>
|
|
64
|
+
* </fui-form-field>
|
|
65
|
+
* ```
|
|
66
|
+
*/
|
|
67
|
+
declare class FuiSuffixDirective {
|
|
68
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FuiSuffixDirective, never>;
|
|
69
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<FuiSuffixDirective, "[fuiSuffix]", never, {}, {}, never, never, true, never>;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Available form field appearance modes.
|
|
74
|
+
* - `'outline'` — default bordered appearance (Carbon Design System style)
|
|
75
|
+
* - `'fill'` — filled background with bottom-border only
|
|
76
|
+
* - `'float'` — floating-label that animates above the input on focus / value
|
|
77
|
+
*/
|
|
78
|
+
type FormFieldAppearance = 'outline' | 'fill' | 'float';
|
|
79
|
+
/**
|
|
80
|
+
* # FormField Component
|
|
81
|
+
*
|
|
82
|
+
* A form field wrapper component that provides consistent styling and behavior
|
|
83
|
+
* for form controls. Follows Angular Material patterns with Carbon Design System styling.
|
|
84
|
+
*
|
|
85
|
+
* ## Features
|
|
86
|
+
* - Floating labels with configurable behavior
|
|
87
|
+
* - Error message display with animations
|
|
88
|
+
* - Helper text support
|
|
89
|
+
* - Prefix and suffix support
|
|
90
|
+
* - Outline appearance with Carbon Design System styling
|
|
91
|
+
* - Full accessibility support
|
|
92
|
+
* - Automatic integration with form controls
|
|
93
|
+
*
|
|
94
|
+
* ## Usage
|
|
95
|
+
*
|
|
96
|
+
* ### Basic Form Field
|
|
97
|
+
* ```html
|
|
98
|
+
* <fui-form-field>
|
|
99
|
+
* <fui-label>Email</fui-label>
|
|
100
|
+
* <input fuiInput type="email" placeholder="Enter your email">
|
|
101
|
+
* </fui-form-field>
|
|
102
|
+
* ```
|
|
103
|
+
*
|
|
104
|
+
* ### With Error Messages
|
|
105
|
+
* ```html
|
|
106
|
+
* <fui-form-field>
|
|
107
|
+
* <fui-label>Username</fui-label>
|
|
108
|
+
* <input fuiInput formControlName="username">
|
|
109
|
+
* <fui-error key="required">Username is required</fui-error>
|
|
110
|
+
* <fui-error key="minlength">Username must be at least 3 characters</fui-error>
|
|
111
|
+
* </fui-form-field>
|
|
112
|
+
* ```
|
|
113
|
+
*
|
|
114
|
+
* ### With Helper Text and Icons
|
|
115
|
+
* ```html
|
|
116
|
+
* <fui-form-field>
|
|
117
|
+
* <fui-label>Password</fui-label>
|
|
118
|
+
* <fui-icon fuiPrefix name="lock"></fui-icon>
|
|
119
|
+
* <input fuiInput type="password">
|
|
120
|
+
* <button fuiSuffix fuiButton variant="ghost" (click)="togglePasswordVisibility()">
|
|
121
|
+
* <fui-icon [name]="showPassword ? 'eye-slash' : 'eye'"></fui-icon>
|
|
122
|
+
* </button>
|
|
123
|
+
* <fui-hint>Must be at least 8 characters</fui-hint>
|
|
124
|
+
* </fui-form-field>
|
|
125
|
+
* ```
|
|
126
|
+
*
|
|
127
|
+
* @example
|
|
128
|
+
* ```typescript
|
|
129
|
+
* import { FuiFormFieldComponent } from '@raintonic/formaui/components/form-field';
|
|
130
|
+
* import { FuiInputDirective } from '@raintonic/formaui/components/input';
|
|
131
|
+
*
|
|
132
|
+
* @Component({
|
|
133
|
+
* standalone: true,
|
|
134
|
+
* imports: [FuiFormFieldComponent, FuiInputDirective, ReactiveFormsModule],
|
|
135
|
+
* template: `
|
|
136
|
+
* <form [formGroup]="form">
|
|
137
|
+
* <fui-form-field>
|
|
138
|
+
* <fui-label>Email Address</fui-label>
|
|
139
|
+
* <input fuiInput type="email" formControlName="email">
|
|
140
|
+
* <fui-error key="required">Email is required</fui-error>
|
|
141
|
+
* <fui-error key="email">Please enter a valid email</fui-error>
|
|
142
|
+
* </fui-form-field>
|
|
143
|
+
* </form>
|
|
144
|
+
* `
|
|
145
|
+
* })
|
|
146
|
+
* export class MyFormComponent {
|
|
147
|
+
* form = this.fb.group({
|
|
148
|
+
* email: ['', [Validators.required, Validators.email]]
|
|
149
|
+
* });
|
|
150
|
+
*
|
|
151
|
+
* get emailControl() {
|
|
152
|
+
* return this.form.get('email');
|
|
153
|
+
* }
|
|
154
|
+
* }
|
|
155
|
+
* ```
|
|
156
|
+
*/
|
|
157
|
+
declare class FuiFormFieldComponent {
|
|
158
|
+
/**
|
|
159
|
+
* Whether the form field is in read-only mode.
|
|
160
|
+
* When true, hides the input and shows a plain text value instead.
|
|
161
|
+
* @default false
|
|
162
|
+
*/
|
|
163
|
+
readonly readOnly: InputSignal<boolean>;
|
|
164
|
+
/**
|
|
165
|
+
* Visual appearance variant.
|
|
166
|
+
* - `'outline'` (default): bordered input with label above
|
|
167
|
+
* - `'fill'`: filled background with bottom-border accent
|
|
168
|
+
* - `'float'`: label floats from inside the input to above it on focus/value
|
|
169
|
+
*/
|
|
170
|
+
readonly appearance: InputSignal<FormFieldAppearance>;
|
|
171
|
+
/**
|
|
172
|
+
* Whether to hide the required marker
|
|
173
|
+
* @default false
|
|
174
|
+
*/
|
|
175
|
+
readonly hideRequiredMarker: InputSignal<boolean>;
|
|
176
|
+
control: Signal<_raintonic_formaui_core.FuiFormFieldControl<unknown> | undefined>;
|
|
177
|
+
_prefixes?: QueryList<FuiPrefixDirective>;
|
|
178
|
+
_suffixes?: QueryList<FuiSuffixDirective>;
|
|
179
|
+
_connectionContainerRef?: ElementRef<HTMLElement>;
|
|
180
|
+
hideSubscript: InputSignal<boolean>;
|
|
181
|
+
readonly displayValue: Signal<string>;
|
|
182
|
+
readonly isFocused: Signal<boolean>;
|
|
183
|
+
readonly hasError: Signal<boolean>;
|
|
184
|
+
readonly isDisabled: Signal<boolean>;
|
|
185
|
+
readonly isEmpty: Signal<boolean>;
|
|
186
|
+
readonly isRequired: Signal<boolean>;
|
|
187
|
+
/**
|
|
188
|
+
* Whether the floating label should be in its "floated" (raised) position.
|
|
189
|
+
* Only meaningful when `appearance === 'float'`. True when the field is
|
|
190
|
+
* focused or contains a non-empty value.
|
|
191
|
+
*/
|
|
192
|
+
readonly shouldFloat: Signal<boolean>;
|
|
193
|
+
/** Whether control-specific icons (dropdown caret, calendar) should be hidden in readOnly mode */
|
|
194
|
+
readonly hideControlIcons: Signal<boolean>;
|
|
195
|
+
/** Whether the "copied" feedback indicator is active */
|
|
196
|
+
readonly copied: WritableSignal<boolean>;
|
|
197
|
+
private _copiedTimeout;
|
|
198
|
+
readonly labelId: string;
|
|
199
|
+
readonly hintId: string;
|
|
200
|
+
readonly errorId: string;
|
|
201
|
+
constructor();
|
|
202
|
+
/**
|
|
203
|
+
* Handles click on the form field container
|
|
204
|
+
*/
|
|
205
|
+
onContainerClick(event: MouseEvent): void;
|
|
206
|
+
/**
|
|
207
|
+
* Copies the display value to the clipboard
|
|
208
|
+
*/
|
|
209
|
+
copyValue(): void;
|
|
210
|
+
/**
|
|
211
|
+
* Gets the current error messages
|
|
212
|
+
*/
|
|
213
|
+
getErrorMessages(): string[];
|
|
214
|
+
/**
|
|
215
|
+
* Checks if the form field contains a select control
|
|
216
|
+
*/
|
|
217
|
+
hasSelectControl(): boolean;
|
|
218
|
+
/**
|
|
219
|
+
* Checks if the select control is a multiple select
|
|
220
|
+
*/
|
|
221
|
+
isMultipleSelect(): boolean;
|
|
222
|
+
/**
|
|
223
|
+
* Whether there is projected prefix content
|
|
224
|
+
*/
|
|
225
|
+
hasPrefix(): boolean;
|
|
226
|
+
/**
|
|
227
|
+
* Whether there is projected suffix content
|
|
228
|
+
*/
|
|
229
|
+
hasSuffix(): boolean;
|
|
230
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FuiFormFieldComponent, never>;
|
|
231
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FuiFormFieldComponent, "fui-form-field", never, { "readOnly": { "alias": "readOnly"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "hideRequiredMarker": { "alias": "hideRequiredMarker"; "required": false; "isSignal": true; }; "hideSubscript": { "alias": "hideSubscript"; "required": false; "isSignal": true; }; }, {}, ["control", "_prefixes", "_suffixes"], ["fui-label", "[fuiPrefix]", "*", "[fuiSuffix]", "fui-error", "fui-hint"], true, never>;
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
/**
|
|
235
|
+
* @component FuiHintComponent
|
|
236
|
+
* @selector fui-hint
|
|
237
|
+
* @description Helper text displayed below the form field input when there is no error.
|
|
238
|
+
* Automatically hidden when the parent form field is in an error state.
|
|
239
|
+
*
|
|
240
|
+
* @example
|
|
241
|
+
* <fui-form-field>
|
|
242
|
+
* <fui-label>Email</fui-label>
|
|
243
|
+
* <input fuiInput type="email">
|
|
244
|
+
* <fui-hint>We will never share your email</fui-hint>
|
|
245
|
+
* </fui-form-field>
|
|
246
|
+
*/
|
|
247
|
+
declare class FuiHintComponent {
|
|
248
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FuiHintComponent, never>;
|
|
249
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FuiHintComponent, "fui-hint", never, {}, {}, never, ["*"], true, never>;
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
/**
|
|
253
|
+
* @component FuiLabelComponent
|
|
254
|
+
* @selector fui-label
|
|
255
|
+
* @description Label element projected inside `fui-form-field` to provide an accessible
|
|
256
|
+
* field label. Automatically linked to the form control via `aria-labelledby`.
|
|
257
|
+
*
|
|
258
|
+
* @example
|
|
259
|
+
* <fui-form-field>
|
|
260
|
+
* <fui-label>Email</fui-label>
|
|
261
|
+
* <input fuiInput type="email">
|
|
262
|
+
* </fui-form-field>
|
|
263
|
+
*/
|
|
264
|
+
declare class FuiLabelComponent {
|
|
265
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FuiLabelComponent, never>;
|
|
266
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FuiLabelComponent, "fui-label", never, {}, {}, never, ["*"], true, never>;
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
export { FuiErrorComponent, FuiFormFieldComponent, FuiHintComponent, FuiLabelComponent, FuiPrefixDirective, FuiSuffixDirective };
|
|
270
|
+
export type { FormFieldAppearance };
|
|
271
|
+
//# sourceMappingURL=raintonic-formaui-components-form-field.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"raintonic-formaui-components-form-field.d.ts","sources":["../../../lib/components/form-field/error.component.ts","../../../lib/components/form-field/prefix.directive.ts","../../../lib/components/form-field/suffix.directive.ts","../../../lib/components/form-field/form-field.component.ts","../../../lib/components/form-field/hint.component.ts","../../../lib/components/form-field/label.component.ts"],"mappings":";;;;AAGA;;;;;;;;;;;;;;;;AAgBG;AACH,cAWa,iBAAiB;AAC5B;;;;AAIG;kBACSA,EAAA,CAAA,WAAA;AAEZ;AAEA;;AAEG;oCAC6B,MAAM;yCAb3B,iBAAiB;2CAAjB,iBAAiB;AAsC7B;;ACnED;;;;;;;;;;;AAWG;AACH,cAOa,kBAAkB;yCAAlB,kBAAkB;2CAAlB,kBAAkB;AAAG;;ACnBlC;;;;;;;;;;;AAWG;AACH,cAOa,kBAAkB;yCAAlB,kBAAkB;2CAAlB,kBAAkB;AAAG;;ACElC;;;;;AAKG;AACG,KAAM,mBAAmB;AAE/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6EG;AACH,cAuBa,qBAAqB;AAChC;;;;AAIG;AACH,uBAAmB,WAAW;AAE9B;;;;;AAKG;yBACgB,WAAA,CAAA,mBAAA;AAEnB;;;AAGG;AACH,iCAA6B,WAAW;AAGxC,aAAO,MAAA,CAAA,uBAAA,CAAA,mBAAA;AAEqD,gBAAY,SAAS,CAAC,kBAAkB;AACxC,gBAAY,SAAS,CAAC,kBAAkB;AAChD,8BAA0B,UAAU,CAAC,WAAW;AAEpG,mBAAa,WAAA;AAIb,2BAAuB,MAAM;AAmB7B,wBAAoB,MAAM;AAG1B,uBAAmB,MAAM;AAGzB,yBAAqB,MAAM;AAG3B,sBAAkB,MAAM;AAGxB,yBAAqB,MAAM;AAI3B;;;;AAIG;AACH,0BAAsB,MAAM;;AAM5B,+BAA2B,MAAM;;AAOjC,qBAAiB,cAAc;;;;;;AAqC/B;;AAEG;AACH,4BAAwB,UAAU;AAOlC;;AAEG;AACH;AAcA;;AAEG;;AAOH;;AAEG;AACH;AAoBA;;AAEG;AACH;AASA;;AAEG;AACH;AAIA;;AAEG;AACH;yCA5MW,qBAAqB;2CAArB,qBAAqB;AA+MjC;;ACjVD;;;;;;;;;;;;AAYG;AACH,cAQa,gBAAgB;yCAAhB,gBAAgB;2CAAhB,gBAAgB;AAAG;;ACrBhC;;;;;;;;;;;AAWG;AACH,cAQa,iBAAiB;yCAAjB,iBAAiB;2CAAjB,iBAAiB;AAAG;;;;","names":["_angular_core"]}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { InputSignal, Signal, InjectionToken } from '@angular/core';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Available icon sizes following Carbon Design System
|
|
6
|
+
*/
|
|
7
|
+
type FuiIconSize = 'sm' | 'md' | 'lg' | 'xl';
|
|
8
|
+
/**
|
|
9
|
+
* Available icon weights
|
|
10
|
+
*/
|
|
11
|
+
type FuiIconWeight = 'thin' | 'light' | 'regular' | 'bold' | 'fill';
|
|
12
|
+
/**
|
|
13
|
+
* # FuiIcon Component
|
|
14
|
+
*
|
|
15
|
+
* A wrapper component for Phosphor Icons with consistent sizing and styling.
|
|
16
|
+
* Provides easy access to the complete Phosphor Icons library with theme integration.
|
|
17
|
+
*
|
|
18
|
+
* ## Usage
|
|
19
|
+
*
|
|
20
|
+
* ### Basic Icon
|
|
21
|
+
* ```html
|
|
22
|
+
* <fui-icon name="heart"></fui-icon>
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
declare class FuiIconComponent {
|
|
26
|
+
private static readonly _loadedWeights;
|
|
27
|
+
private readonly _config;
|
|
28
|
+
private readonly _document;
|
|
29
|
+
name: InputSignal<string>;
|
|
30
|
+
size: InputSignal<FuiIconSize>;
|
|
31
|
+
weight: InputSignal<FuiIconWeight>;
|
|
32
|
+
color: InputSignal<string | undefined>;
|
|
33
|
+
ariaLabel: InputSignal<string | undefined>;
|
|
34
|
+
spin: InputSignal<boolean>;
|
|
35
|
+
pulse: InputSignal<boolean>;
|
|
36
|
+
readonly computedClasses: Signal<string>;
|
|
37
|
+
readonly iconClass: Signal<string>;
|
|
38
|
+
constructor();
|
|
39
|
+
/**
|
|
40
|
+
* Dynamically loads the CSS for a specific Phosphor Icons weight from CDN
|
|
41
|
+
* @param weight The icon weight to load
|
|
42
|
+
*/
|
|
43
|
+
private _loadPhosphorWeight;
|
|
44
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FuiIconComponent, never>;
|
|
45
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FuiIconComponent, "fui-icon", never, { "name": { "alias": "name"; "required": true; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "weight": { "alias": "weight"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "spin": { "alias": "spin"; "required": false; "isSignal": true; }; "pulse": { "alias": "pulse"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
interface FuiIconConfig {
|
|
49
|
+
/** Base URL for the Phosphor Icons CDN */
|
|
50
|
+
cdnBase: string;
|
|
51
|
+
/** SRI hashes per weight. If provided, integrity attribute is added to link elements */
|
|
52
|
+
integrity?: Partial<Record<FuiIconWeight, string>>;
|
|
53
|
+
/** If true, disables automatic CDN loading. Consumer must load icon CSS manually. */
|
|
54
|
+
disableAutoLoad?: boolean;
|
|
55
|
+
}
|
|
56
|
+
declare const FUI_ICON_DEFAULT_CONFIG: FuiIconConfig;
|
|
57
|
+
declare const FUI_ICON_CONFIG: InjectionToken<FuiIconConfig>;
|
|
58
|
+
|
|
59
|
+
export { FUI_ICON_CONFIG, FUI_ICON_DEFAULT_CONFIG, FuiIconComponent };
|
|
60
|
+
export type { FuiIconConfig, FuiIconSize, FuiIconWeight };
|
|
61
|
+
//# sourceMappingURL=raintonic-formaui-components-icon.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"raintonic-formaui-components-icon.d.ts","sources":["../../../lib/components/icon/icon.component.ts","../../../lib/components/icon/icon-config.ts"],"mappings":";;;AAaA;;AAEG;AACG,KAAM,WAAW;AAEvB;;AAEG;AACG,KAAM,aAAa;AAEzB;;;;;;;;;;;;AAYG;AACH,cAca,gBAAgB;AAE3B;AAEA;AACA;AAGA,UAAM,WAAW;AACjB,UAAM,WAAW,CAAC,WAAW;AAC7B,YAAQ,WAAW,CAAC,aAAa;AACjC,WAAO,WAAW;AAClB,eAAW,WAAW;AACtB,UAAM,WAAW;AACjB,WAAO,WAAW;AAGlB,8BAA0B,MAAM;AAchC,wBAAoB,MAAM;;AAc1B;;;AAGG;AACH;yCAjDW,gBAAgB;2CAAhB,gBAAgB;AAsF5B;;UCrIgB,aAAa;;;;gBAIhB,OAAO,CAAC,MAAM,CAAC,aAAa;;;AAGzC;AAED,cAAa,uBAAuB,EAAE,aAErC;AAED,cAAa,eAAe,EAAA,cAAA,CAAA,aAAA;;;;","names":[]}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
import { DoCheck, OnDestroy, InputSignal, WritableSignal, OutputEmitterRef } from '@angular/core';
|
|
3
|
+
import { ControlValueAccessor, NgControl } from '@angular/forms';
|
|
4
|
+
import { Subject } from 'rxjs';
|
|
5
|
+
import { FuiFormFieldControl, ErrorStateMatcher } from '@raintonic/formaui/core';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Available input types
|
|
9
|
+
*/
|
|
10
|
+
type FuiInputType = 'text' | 'email' | 'password' | 'number' | 'tel' | 'url' | 'search' | 'date' | 'time' | 'datetime-local';
|
|
11
|
+
/**
|
|
12
|
+
* # FuiInput Directive
|
|
13
|
+
*
|
|
14
|
+
* An input directive that integrates seamlessly with fui-form-field and Angular Forms.
|
|
15
|
+
* Follows Angular Material patterns with Carbon Design System styling.
|
|
16
|
+
*
|
|
17
|
+
* ## Features
|
|
18
|
+
* - Full integration with fui-form-field
|
|
19
|
+
* - Reactive Forms and Template-driven Forms support
|
|
20
|
+
* - Multiple input types support
|
|
21
|
+
* - Error state handling with customizable error messages
|
|
22
|
+
* - Accessibility features (ARIA attributes, labels)
|
|
23
|
+
* - Smooth animations and transitions
|
|
24
|
+
* - Theme-aware styling
|
|
25
|
+
*
|
|
26
|
+
* ## Usage
|
|
27
|
+
*
|
|
28
|
+
* ### Basic Input with Form Field
|
|
29
|
+
* ```html
|
|
30
|
+
* <fui-form-field>
|
|
31
|
+
* <fui-label>Email</fui-label>
|
|
32
|
+
* <input fuiInput type="email" placeholder="Enter your email">
|
|
33
|
+
* </fui-form-field>
|
|
34
|
+
* ```
|
|
35
|
+
*
|
|
36
|
+
* ### With Reactive Forms
|
|
37
|
+
* ```html
|
|
38
|
+
* <fui-form-field>
|
|
39
|
+
* <fui-label>Username</fui-label>
|
|
40
|
+
* <input fuiInput formControlName="username">
|
|
41
|
+
* <fui-error *ngIf="form.get('username')?.hasError('required')">
|
|
42
|
+
* Username is required
|
|
43
|
+
* </fui-error>
|
|
44
|
+
* </fui-form-field>
|
|
45
|
+
* ```
|
|
46
|
+
*
|
|
47
|
+
* ### Password Input with Toggle
|
|
48
|
+
* ```html
|
|
49
|
+
* <fui-form-field>
|
|
50
|
+
* <fui-label>Password</fui-label>
|
|
51
|
+
* <input fuiInput [type]="showPassword ? 'text' : 'password'">
|
|
52
|
+
* <button fuiSuffix fuiButton variant="ghost" (click)="togglePassword()">
|
|
53
|
+
* <fui-icon [name]="showPassword ? 'eye-slash' : 'eye'"></fui-icon>
|
|
54
|
+
* </button>
|
|
55
|
+
* </fui-form-field>
|
|
56
|
+
* ```
|
|
57
|
+
*
|
|
58
|
+
* @example
|
|
59
|
+
* ```typescript
|
|
60
|
+
* import { FuiInputDirective } from '@raintonic/formaui/components/input';
|
|
61
|
+
* import { FuiFormFieldComponent } from '@raintonic/formaui/components/form-field';
|
|
62
|
+
*
|
|
63
|
+
* @Component({
|
|
64
|
+
* standalone: true,
|
|
65
|
+
* imports: [FuiInputDirective, FuiFormFieldComponent, ReactiveFormsModule],
|
|
66
|
+
* template: `
|
|
67
|
+
* <form [formGroup]="form">
|
|
68
|
+
* <fui-form-field>
|
|
69
|
+
* <fui-label>Email</fui-label>
|
|
70
|
+
* <input fuiInput type="email" formControlName="email">
|
|
71
|
+
* <fui-error *ngIf="emailControl?.invalid && emailControl?.touched">
|
|
72
|
+
* Please enter a valid email
|
|
73
|
+
* </fui-error>
|
|
74
|
+
* </fui-form-field>
|
|
75
|
+
* </form>
|
|
76
|
+
* `
|
|
77
|
+
* })
|
|
78
|
+
* export class MyFormComponent {
|
|
79
|
+
* form = this.fb.group({
|
|
80
|
+
* email: ['', [Validators.required, Validators.email]]
|
|
81
|
+
* });
|
|
82
|
+
*
|
|
83
|
+
* get emailControl() {
|
|
84
|
+
* return this.form.get('email');
|
|
85
|
+
* }
|
|
86
|
+
* }
|
|
87
|
+
* ```
|
|
88
|
+
*/
|
|
89
|
+
declare class FuiInputDirective implements ControlValueAccessor, FuiFormFieldControl<string>, DoCheck, OnDestroy {
|
|
90
|
+
static nextId: number;
|
|
91
|
+
readonly controlType = "fui-input";
|
|
92
|
+
type: InputSignal<FuiInputType>;
|
|
93
|
+
placeholder: InputSignal<string>;
|
|
94
|
+
readonly: InputSignal<boolean>;
|
|
95
|
+
maxlength: InputSignal<number | null>;
|
|
96
|
+
minlength: InputSignal<number | null>;
|
|
97
|
+
pattern: InputSignal<string | null>;
|
|
98
|
+
required: WritableSignal<boolean>;
|
|
99
|
+
errorStateMatcher: InputSignal<ErrorStateMatcher | null>;
|
|
100
|
+
readonly disabledInput: InputSignal<boolean>;
|
|
101
|
+
readonly disabled: _angular_core.Signal<boolean>;
|
|
102
|
+
readonly valueChange: OutputEmitterRef<string>;
|
|
103
|
+
private readonly _focused;
|
|
104
|
+
readonly focused: WritableSignal<boolean>;
|
|
105
|
+
readonly stateChanges: Subject<void>;
|
|
106
|
+
private readonly _value;
|
|
107
|
+
readonly value: WritableSignal<string>;
|
|
108
|
+
private readonly _disabled;
|
|
109
|
+
private readonly _ngControlDisabled;
|
|
110
|
+
private _uid;
|
|
111
|
+
_ariaDescribedby: string | null;
|
|
112
|
+
private readonly _errorState;
|
|
113
|
+
readonly errorState: WritableSignal<boolean>;
|
|
114
|
+
private _parentForm;
|
|
115
|
+
private _parentFormGroup;
|
|
116
|
+
private _defaultErrorStateMatcher;
|
|
117
|
+
private readonly _elementRef;
|
|
118
|
+
readonly empty: _angular_core.Signal<boolean>;
|
|
119
|
+
readonly id: string;
|
|
120
|
+
private _onChange;
|
|
121
|
+
private _onTouched;
|
|
122
|
+
private readonly _ngControlRef;
|
|
123
|
+
get ngControl(): NgControl | null;
|
|
124
|
+
constructor();
|
|
125
|
+
ngDoCheck(): void;
|
|
126
|
+
ngOnDestroy(): void;
|
|
127
|
+
writeValue(value: string | null): void;
|
|
128
|
+
registerOnChange(fn: (value: string) => void): void;
|
|
129
|
+
registerOnTouched(fn: () => void): void;
|
|
130
|
+
setDisabledState(isDisabled: boolean): void;
|
|
131
|
+
onContainerClick(_event: MouseEvent): void;
|
|
132
|
+
setDescribedByIds(ids: string[]): void;
|
|
133
|
+
onInput(event: Event): void;
|
|
134
|
+
onChange(event: Event): void;
|
|
135
|
+
onFocus(): void;
|
|
136
|
+
onBlur(): void;
|
|
137
|
+
focus(): void;
|
|
138
|
+
blur(): void;
|
|
139
|
+
/**
|
|
140
|
+
* Check if the element is a select element
|
|
141
|
+
*/
|
|
142
|
+
isSelect(): boolean;
|
|
143
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<FuiInputDirective, never>;
|
|
144
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<FuiInputDirective, "input[fuiInput], textarea[fuiInput], select[fuiInput]", never, { "type": { "alias": "type"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "maxlength": { "alias": "maxlength"; "required": false; "isSignal": true; }; "minlength": { "alias": "minlength"; "required": false; "isSignal": true; }; "pattern": { "alias": "pattern"; "required": false; "isSignal": true; }; "errorStateMatcher": { "alias": "errorStateMatcher"; "required": false; "isSignal": true; }; "disabledInput": { "alias": "disabledInput"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
export { FuiInputDirective };
|
|
148
|
+
export type { FuiInputType };
|
|
149
|
+
//# sourceMappingURL=raintonic-formaui-components-input.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"raintonic-formaui-components-input.d.ts","sources":["../../../lib/components/input/input.directive.ts"],"mappings":";;;;;;AAuBA;;AAEG;AACG,KAAM,YAAY;AAYxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6EG;AACH,cAsCa,iBAAkB,YAAW,oBAAoB,EAAE,mBAAmB,UAAU,OAAO,EAAE,SAAS;;;AAM7G,UAAM,WAAW,CAAC,YAAY;AAC9B,iBAAa,WAAW;AAExB,cAAU,WAAW;AAGrB,eAAW,WAAW;AACtB,eAAW,WAAW;AACtB,aAAS,WAAW;AAGpB,cAAU,cAAc;AAExB,uBAAmB,WAAW,CAAC,iBAAiB;AAChD,4BAAwB,WAAW;uBAClB,aAAA,CAAA,MAAA;AAGjB,0BAAsB,gBAAgB;AAGtC;sBACgB,cAAA;2BACK,OAAA;AAErB;oBACc,cAAA;AACd;AACA;;AAEA;AAGA;yBACmB,cAAA;;;;AAQnB;oBAIc,aAAA,CAAA,MAAA;;;;AAcd;AAEA,qBAAiB,SAAS;;AAmC1B;AAgBA;AAKA;;AAYA;AAIA;AAKA,6BAAyB,UAAU;AAMnC;AAMA,mBAAe,KAAK;AAYpB,oBAAgB,KAAK;AAerB;AAQA;AASA;AAIA;AAIA;;AAEG;AACH;oDApNW,iBAAiB;sDAAjB,iBAAiB;AAuN7B;;;;","names":[]}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
import { InjectionToken, ElementRef } from '@angular/core';
|
|
3
|
+
|
|
4
|
+
type FuiListSelectionMode = 'none' | 'single' | 'multi';
|
|
5
|
+
interface FuiListSelectionChange<T = unknown> {
|
|
6
|
+
source: unknown;
|
|
7
|
+
value: T[];
|
|
8
|
+
}
|
|
9
|
+
interface FuiListHost {
|
|
10
|
+
interactive(): boolean;
|
|
11
|
+
selectionMode(): FuiListSelectionMode;
|
|
12
|
+
selectItem(item: unknown): void;
|
|
13
|
+
}
|
|
14
|
+
declare const FUI_LIST: InjectionToken<FuiListHost>;
|
|
15
|
+
|
|
16
|
+
declare class FuiListItemComponent {
|
|
17
|
+
readonly value: _angular_core.InputSignal<unknown>;
|
|
18
|
+
readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
19
|
+
readonly _selected: _angular_core.WritableSignal<boolean>;
|
|
20
|
+
readonly _focused: _angular_core.WritableSignal<boolean>;
|
|
21
|
+
readonly _elementRef: ElementRef<any>;
|
|
22
|
+
private _list;
|
|
23
|
+
readonly _isInteractive: _angular_core.Signal<boolean>;
|
|
24
|
+
readonly _isSelectable: _angular_core.Signal<boolean>;
|
|
25
|
+
readonly _role: _angular_core.Signal<"option" | "listitem">;
|
|
26
|
+
onClick(): void;
|
|
27
|
+
onSpace(event: Event): void;
|
|
28
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<FuiListItemComponent, never>;
|
|
29
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<FuiListItemComponent, "fui-list-item", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, ["[fuiListItemIcon], [fuiListItemAvatar]", "*", "[fuiListItemAction]"], true, never>;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
declare class FuiListComponent {
|
|
33
|
+
readonly interactive: _angular_core.InputSignal<boolean>;
|
|
34
|
+
readonly selectionMode: _angular_core.InputSignal<FuiListSelectionMode>;
|
|
35
|
+
readonly dividers: _angular_core.InputSignal<boolean>;
|
|
36
|
+
readonly selectionChange: _angular_core.OutputEmitterRef<FuiListSelectionChange<unknown>>;
|
|
37
|
+
readonly items: _angular_core.Signal<readonly FuiListItemComponent[]>;
|
|
38
|
+
readonly _selectedValues: _angular_core.WritableSignal<Set<unknown>>;
|
|
39
|
+
selectItem(item: FuiListItemComponent): void;
|
|
40
|
+
isSelected(value: unknown): boolean;
|
|
41
|
+
onKeydown(event: KeyboardEvent): void;
|
|
42
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<FuiListComponent, never>;
|
|
43
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<FuiListComponent, "fui-list", never, { "interactive": { "alias": "interactive"; "required": false; "isSignal": true; }; "selectionMode": { "alias": "selectionMode"; "required": false; "isSignal": true; }; "dividers": { "alias": "dividers"; "required": false; "isSignal": true; }; }, { "selectionChange": "selectionChange"; }, ["items"], ["*"], true, never>;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export { FUI_LIST, FuiListComponent, FuiListItemComponent };
|
|
47
|
+
export type { FuiListHost, FuiListSelectionChange, FuiListSelectionMode };
|
|
48
|
+
//# sourceMappingURL=raintonic-formaui-components-list.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"raintonic-formaui-components-list.d.ts","sources":["../../../lib/components/list/list.types.ts","../../../lib/components/list/list-item.component.ts","../../../lib/components/list/list.component.ts"],"mappings":";;;AAEM,KAAM,oBAAoB;AAE1B,UAAW,sBAAsB;;;AAGtC;UAEgB,WAAW;;qBAET,oBAAoB;AACrC;AACD;AAED,cAAa,QAAQ,EAAA,cAAA,CAAA,WAAA;;ACFrB,cAsBa,oBAAoB;oBACjB,aAAA,CAAA,WAAA;uBACG,aAAA,CAAA,wBAAA;wBAEC,aAAA,CAAA,cAAA;uBACD,aAAA,CAAA,cAAA;0BAEG,UAAA;;6BAIG,aAAA,CAAA,MAAA;4BAGD,aAAA,CAAA,MAAA;oBACR,aAAA,CAAA,MAAA;AAEd;AAOA,mBAAe,KAAK;oDAxBT,oBAAoB;sDAApB,oBAAoB;AA4BhC;;ACnDD,cAkBa,gBAAgB;0BACP,aAAA,CAAA,WAAA;4BACE,aAAA,CAAA,WAAA,CAAA,oBAAA;uBACL,aAAA,CAAA,WAAA;8BAEO,aAAA,CAAA,gBAAA,CAAA,sBAAA;oBAEV,aAAA,CAAA,MAAA,UAAA,oBAAA;8BAEU,aAAA,CAAA,cAAA,CAAA,GAAA;AAExB,qBAAiB,oBAAoB;AAiCrC;AAIA,qBAAiB,aAAa;oDAhDnB,gBAAgB;sDAAhB,gBAAgB;AA8F5B;;;;","names":[]}
|