@loomui-ng/ui 0.0.0-stage → 0.1.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/LICENSE +21 -0
- package/README.md +46 -2
- package/accordion/README.md +38 -0
- package/alert/README.md +32 -0
- package/alert-dialog/README.md +37 -0
- package/aspect-ratio/README.md +24 -0
- package/attachment/README.md +40 -0
- package/avatar/README.md +34 -0
- package/badge/README.md +29 -0
- package/breadcrumb/README.md +33 -0
- package/bubble/README.md +32 -0
- package/button/README.md +31 -0
- package/button-group/README.md +30 -0
- package/calendar/README.md +35 -0
- package/card/README.md +41 -0
- package/carousel/README.md +41 -0
- package/chart/README.md +25 -0
- package/checkbox/README.md +31 -0
- package/collapsible/README.md +31 -0
- package/combobox/README.md +47 -0
- package/command/README.md +44 -0
- package/context-menu/README.md +36 -0
- package/data-table/README.md +39 -0
- package/date-picker/README.md +23 -0
- package/dialog/README.md +52 -0
- package/direction/README.md +19 -0
- package/drawer/README.md +37 -0
- package/dropdown-menu/README.md +46 -0
- package/empty/README.md +38 -0
- package/fesm2022/loomui-ng-ui-accordion.mjs +555 -0
- package/fesm2022/loomui-ng-ui-accordion.mjs.map +1 -0
- package/fesm2022/loomui-ng-ui-alert-dialog.mjs +652 -0
- package/fesm2022/loomui-ng-ui-alert-dialog.mjs.map +1 -0
- package/fesm2022/loomui-ng-ui-alert.mjs +286 -0
- package/fesm2022/loomui-ng-ui-alert.mjs.map +1 -0
- package/fesm2022/loomui-ng-ui-aspect-ratio.mjs +97 -0
- package/fesm2022/loomui-ng-ui-aspect-ratio.mjs.map +1 -0
- package/fesm2022/loomui-ng-ui-attachment.mjs +713 -0
- package/fesm2022/loomui-ng-ui-attachment.mjs.map +1 -0
- package/fesm2022/loomui-ng-ui-avatar.mjs +561 -0
- package/fesm2022/loomui-ng-ui-avatar.mjs.map +1 -0
- package/fesm2022/loomui-ng-ui-badge.mjs +102 -0
- package/fesm2022/loomui-ng-ui-badge.mjs.map +1 -0
- package/fesm2022/loomui-ng-ui-breadcrumb.mjs +520 -0
- package/fesm2022/loomui-ng-ui-breadcrumb.mjs.map +1 -0
- package/fesm2022/loomui-ng-ui-bubble.mjs +386 -0
- package/fesm2022/loomui-ng-ui-bubble.mjs.map +1 -0
- package/fesm2022/loomui-ng-ui-button-group.mjs +193 -0
- package/fesm2022/loomui-ng-ui-button-group.mjs.map +1 -0
- package/fesm2022/loomui-ng-ui-button.mjs +162 -0
- package/fesm2022/loomui-ng-ui-button.mjs.map +1 -0
- package/fesm2022/loomui-ng-ui-calendar.mjs +681 -0
- package/fesm2022/loomui-ng-ui-calendar.mjs.map +1 -0
- package/fesm2022/loomui-ng-ui-card.mjs +461 -0
- package/fesm2022/loomui-ng-ui-card.mjs.map +1 -0
- package/fesm2022/loomui-ng-ui-carousel.mjs +532 -0
- package/fesm2022/loomui-ng-ui-carousel.mjs.map +1 -0
- package/fesm2022/loomui-ng-ui-chart.mjs +373 -0
- package/fesm2022/loomui-ng-ui-chart.mjs.map +1 -0
- package/fesm2022/loomui-ng-ui-checkbox.mjs +265 -0
- package/fesm2022/loomui-ng-ui-checkbox.mjs.map +1 -0
- package/fesm2022/loomui-ng-ui-collapsible.mjs +274 -0
- package/fesm2022/loomui-ng-ui-collapsible.mjs.map +1 -0
- package/fesm2022/loomui-ng-ui-combobox.mjs +971 -0
- package/fesm2022/loomui-ng-ui-combobox.mjs.map +1 -0
- package/fesm2022/loomui-ng-ui-command.mjs +982 -0
- package/fesm2022/loomui-ng-ui-command.mjs.map +1 -0
- package/fesm2022/loomui-ng-ui-context-menu.mjs +1359 -0
- package/fesm2022/loomui-ng-ui-context-menu.mjs.map +1 -0
- package/fesm2022/loomui-ng-ui-data-table.mjs +535 -0
- package/fesm2022/loomui-ng-ui-data-table.mjs.map +1 -0
- package/fesm2022/loomui-ng-ui-date-picker.mjs +312 -0
- package/fesm2022/loomui-ng-ui-date-picker.mjs.map +1 -0
- package/fesm2022/loomui-ng-ui-dialog.mjs +508 -0
- package/fesm2022/loomui-ng-ui-dialog.mjs.map +1 -0
- package/fesm2022/loomui-ng-ui-direction.mjs +112 -0
- package/fesm2022/loomui-ng-ui-direction.mjs.map +1 -0
- package/fesm2022/loomui-ng-ui-drawer.mjs +590 -0
- package/fesm2022/loomui-ng-ui-drawer.mjs.map +1 -0
- package/fesm2022/loomui-ng-ui-dropdown-menu.mjs +1322 -0
- package/fesm2022/loomui-ng-ui-dropdown-menu.mjs.map +1 -0
- package/fesm2022/loomui-ng-ui-empty.mjs +408 -0
- package/fesm2022/loomui-ng-ui-empty.mjs.map +1 -0
- package/fesm2022/loomui-ng-ui-field.mjs +630 -0
- package/fesm2022/loomui-ng-ui-field.mjs.map +1 -0
- package/fesm2022/loomui-ng-ui-hover-card.mjs +230 -0
- package/fesm2022/loomui-ng-ui-hover-card.mjs.map +1 -0
- package/fesm2022/loomui-ng-ui-icon.mjs +498 -0
- package/fesm2022/loomui-ng-ui-icon.mjs.map +1 -0
- package/fesm2022/loomui-ng-ui-input-group.mjs +463 -0
- package/fesm2022/loomui-ng-ui-input-group.mjs.map +1 -0
- package/fesm2022/loomui-ng-ui-input-otp.mjs +586 -0
- package/fesm2022/loomui-ng-ui-input-otp.mjs.map +1 -0
- package/fesm2022/loomui-ng-ui-input.mjs +289 -0
- package/fesm2022/loomui-ng-ui-input.mjs.map +1 -0
- package/fesm2022/loomui-ng-ui-item.mjs +598 -0
- package/fesm2022/loomui-ng-ui-item.mjs.map +1 -0
- package/fesm2022/loomui-ng-ui-kbd.mjs +129 -0
- package/fesm2022/loomui-ng-ui-kbd.mjs.map +1 -0
- package/fesm2022/loomui-ng-ui-label.mjs +68 -0
- package/fesm2022/loomui-ng-ui-label.mjs.map +1 -0
- package/fesm2022/loomui-ng-ui-marker.mjs +234 -0
- package/fesm2022/loomui-ng-ui-marker.mjs.map +1 -0
- package/fesm2022/loomui-ng-ui-menubar.mjs +1523 -0
- package/fesm2022/loomui-ng-ui-menubar.mjs.map +1 -0
- package/fesm2022/loomui-ng-ui-message-scroller.mjs +519 -0
- package/fesm2022/loomui-ng-ui-message-scroller.mjs.map +1 -0
- package/fesm2022/loomui-ng-ui-message.mjs +408 -0
- package/fesm2022/loomui-ng-ui-message.mjs.map +1 -0
- package/fesm2022/loomui-ng-ui-native-select.mjs +389 -0
- package/fesm2022/loomui-ng-ui-native-select.mjs.map +1 -0
- package/fesm2022/loomui-ng-ui-navigation-menu.mjs +609 -0
- package/fesm2022/loomui-ng-ui-navigation-menu.mjs.map +1 -0
- package/fesm2022/loomui-ng-ui-pagination.mjs +611 -0
- package/fesm2022/loomui-ng-ui-pagination.mjs.map +1 -0
- package/fesm2022/loomui-ng-ui-popover.mjs +358 -0
- package/fesm2022/loomui-ng-ui-popover.mjs.map +1 -0
- package/fesm2022/loomui-ng-ui-progress.mjs +159 -0
- package/fesm2022/loomui-ng-ui-progress.mjs.map +1 -0
- package/fesm2022/loomui-ng-ui-questionnaire.mjs +1012 -0
- package/fesm2022/loomui-ng-ui-questionnaire.mjs.map +1 -0
- package/fesm2022/loomui-ng-ui-radio-group.mjs +399 -0
- package/fesm2022/loomui-ng-ui-radio-group.mjs.map +1 -0
- package/fesm2022/loomui-ng-ui-resizable.mjs +518 -0
- package/fesm2022/loomui-ng-ui-resizable.mjs.map +1 -0
- package/fesm2022/loomui-ng-ui-scroll-area.mjs +135 -0
- package/fesm2022/loomui-ng-ui-scroll-area.mjs.map +1 -0
- package/fesm2022/loomui-ng-ui-select.mjs +863 -0
- package/fesm2022/loomui-ng-ui-select.mjs.map +1 -0
- package/fesm2022/loomui-ng-ui-separator.mjs +114 -0
- package/fesm2022/loomui-ng-ui-separator.mjs.map +1 -0
- package/fesm2022/loomui-ng-ui-sheet.mjs +530 -0
- package/fesm2022/loomui-ng-ui-sheet.mjs.map +1 -0
- package/fesm2022/loomui-ng-ui-sidebar.mjs +1918 -0
- package/fesm2022/loomui-ng-ui-sidebar.mjs.map +1 -0
- package/fesm2022/loomui-ng-ui-skeleton.mjs +69 -0
- package/fesm2022/loomui-ng-ui-skeleton.mjs.map +1 -0
- package/fesm2022/loomui-ng-ui-slider.mjs +390 -0
- package/fesm2022/loomui-ng-ui-slider.mjs.map +1 -0
- package/fesm2022/loomui-ng-ui-spinner.mjs +85 -0
- package/fesm2022/loomui-ng-ui-spinner.mjs.map +1 -0
- package/fesm2022/loomui-ng-ui-switch.mjs +212 -0
- package/fesm2022/loomui-ng-ui-switch.mjs.map +1 -0
- package/fesm2022/loomui-ng-ui-table.mjs +559 -0
- package/fesm2022/loomui-ng-ui-table.mjs.map +1 -0
- package/fesm2022/loomui-ng-ui-tabs.mjs +544 -0
- package/fesm2022/loomui-ng-ui-tabs.mjs.map +1 -0
- package/fesm2022/loomui-ng-ui-textarea.mjs +206 -0
- package/fesm2022/loomui-ng-ui-textarea.mjs.map +1 -0
- package/fesm2022/loomui-ng-ui-toast.mjs +432 -0
- package/fesm2022/loomui-ng-ui-toast.mjs.map +1 -0
- package/fesm2022/loomui-ng-ui-toggle-group.mjs +477 -0
- package/fesm2022/loomui-ng-ui-toggle-group.mjs.map +1 -0
- package/fesm2022/loomui-ng-ui-toggle.mjs +219 -0
- package/fesm2022/loomui-ng-ui-toggle.mjs.map +1 -0
- package/fesm2022/loomui-ng-ui-tooltip.mjs +240 -0
- package/fesm2022/loomui-ng-ui-tooltip.mjs.map +1 -0
- package/fesm2022/loomui-ng-ui-typography.mjs +129 -0
- package/fesm2022/loomui-ng-ui-typography.mjs.map +1 -0
- package/fesm2022/loomui-ng-ui-utils.mjs +1533 -0
- package/fesm2022/loomui-ng-ui-utils.mjs.map +1 -0
- package/fesm2022/loomui-ng-ui.mjs +4 -0
- package/fesm2022/loomui-ng-ui.mjs.map +1 -0
- package/field/README.md +43 -0
- package/hover-card/README.md +31 -0
- package/icon/README.md +42 -0
- package/input/README.md +26 -0
- package/input-group/README.md +40 -0
- package/input-otp/README.md +35 -0
- package/item/README.md +33 -0
- package/kbd/README.md +21 -0
- package/label/README.md +24 -0
- package/marker/README.md +24 -0
- package/menubar/README.md +40 -0
- package/message/README.md +32 -0
- package/message-scroller/README.md +40 -0
- package/native-select/README.md +26 -0
- package/navigation-menu/README.md +39 -0
- package/package.json +325 -3
- package/pagination/README.md +37 -0
- package/popover/README.md +37 -0
- package/progress/README.md +25 -0
- package/questionnaire/README.md +52 -0
- package/radio-group/README.md +33 -0
- package/resizable/README.md +37 -0
- package/scroll-area/README.md +25 -0
- package/select/README.md +45 -0
- package/separator/README.md +28 -0
- package/sheet/README.md +38 -0
- package/sidebar/README.md +60 -0
- package/skeleton/README.md +21 -0
- package/slider/README.md +29 -0
- package/spinner/README.md +15 -0
- package/styles/loomui.css +330 -0
- package/switch/README.md +29 -0
- package/table/README.md +31 -0
- package/tabs/README.md +42 -0
- package/textarea/README.md +28 -0
- package/toast/README.md +27 -0
- package/toggle/README.md +27 -0
- package/toggle-group/README.md +37 -0
- package/tooltip/README.md +31 -0
- package/types/loomui-ng-ui-accordion.d.ts +141 -0
- package/types/loomui-ng-ui-alert-dialog.d.ts +175 -0
- package/types/loomui-ng-ui-alert.d.ts +77 -0
- package/types/loomui-ng-ui-aspect-ratio.d.ts +31 -0
- package/types/loomui-ng-ui-attachment.d.ts +192 -0
- package/types/loomui-ng-ui-avatar.d.ts +147 -0
- package/types/loomui-ng-ui-badge.d.ts +32 -0
- package/types/loomui-ng-ui-breadcrumb.d.ts +118 -0
- package/types/loomui-ng-ui-bubble.d.ts +100 -0
- package/types/loomui-ng-ui-button-group.d.ts +51 -0
- package/types/loomui-ng-ui-button.d.ts +57 -0
- package/types/loomui-ng-ui-calendar.d.ts +171 -0
- package/types/loomui-ng-ui-card.d.ts +123 -0
- package/types/loomui-ng-ui-carousel.d.ts +140 -0
- package/types/loomui-ng-ui-chart.d.ts +95 -0
- package/types/loomui-ng-ui-checkbox.d.ts +62 -0
- package/types/loomui-ng-ui-collapsible.d.ts +74 -0
- package/types/loomui-ng-ui-combobox.d.ts +229 -0
- package/types/loomui-ng-ui-command.d.ts +231 -0
- package/types/loomui-ng-ui-context-menu.d.ts +288 -0
- package/types/loomui-ng-ui-data-table.d.ts +111 -0
- package/types/loomui-ng-ui-date-picker.d.ts +63 -0
- package/types/loomui-ng-ui-dialog.d.ts +127 -0
- package/types/loomui-ng-ui-direction.d.ts +42 -0
- package/types/loomui-ng-ui-drawer.d.ts +149 -0
- package/types/loomui-ng-ui-dropdown-menu.d.ts +258 -0
- package/types/loomui-ng-ui-empty.d.ts +109 -0
- package/types/loomui-ng-ui-field.d.ts +169 -0
- package/types/loomui-ng-ui-hover-card.d.ts +62 -0
- package/types/loomui-ng-ui-icon.d.ts +156 -0
- package/types/loomui-ng-ui-input-group.d.ts +130 -0
- package/types/loomui-ng-ui-input-otp.d.ts +149 -0
- package/types/loomui-ng-ui-input.d.ts +89 -0
- package/types/loomui-ng-ui-item.d.ts +157 -0
- package/types/loomui-ng-ui-kbd.d.ts +36 -0
- package/types/loomui-ng-ui-label.d.ts +19 -0
- package/types/loomui-ng-ui-marker.d.ts +61 -0
- package/types/loomui-ng-ui-menubar.d.ts +321 -0
- package/types/loomui-ng-ui-message-scroller.d.ts +138 -0
- package/types/loomui-ng-ui-message.d.ts +109 -0
- package/types/loomui-ng-ui-native-select.d.ts +84 -0
- package/types/loomui-ng-ui-navigation-menu.d.ts +160 -0
- package/types/loomui-ng-ui-pagination.d.ts +130 -0
- package/types/loomui-ng-ui-popover.d.ts +90 -0
- package/types/loomui-ng-ui-progress.d.ts +39 -0
- package/types/loomui-ng-ui-questionnaire.d.ts +274 -0
- package/types/loomui-ng-ui-radio-group.d.ts +109 -0
- package/types/loomui-ng-ui-resizable.d.ts +121 -0
- package/types/loomui-ng-ui-scroll-area.d.ts +44 -0
- package/types/loomui-ng-ui-select.d.ts +204 -0
- package/types/loomui-ng-ui-separator.d.ts +35 -0
- package/types/loomui-ng-ui-sheet.d.ts +124 -0
- package/types/loomui-ng-ui-sidebar.d.ts +485 -0
- package/types/loomui-ng-ui-skeleton.d.ts +20 -0
- package/types/loomui-ng-ui-slider.d.ts +103 -0
- package/types/loomui-ng-ui-spinner.d.ts +19 -0
- package/types/loomui-ng-ui-switch.d.ts +56 -0
- package/types/loomui-ng-ui-table.d.ts +148 -0
- package/types/loomui-ng-ui-tabs.d.ts +148 -0
- package/types/loomui-ng-ui-textarea.d.ts +52 -0
- package/types/loomui-ng-ui-toast.d.ts +97 -0
- package/types/loomui-ng-ui-toggle-group.d.ts +138 -0
- package/types/loomui-ng-ui-toggle.d.ts +63 -0
- package/types/loomui-ng-ui-tooltip.d.ts +63 -0
- package/types/loomui-ng-ui-typography.d.ts +42 -0
- package/types/loomui-ng-ui-utils.d.ts +392 -0
- package/types/loomui-ng-ui.d.ts +5 -0
- package/typography/README.md +29 -0
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import * as i1 from "@loomui-ng/ui/utils";
|
|
3
|
+
export declare class UiFieldGroup {
|
|
4
|
+
readonly userClass: import("@angular/core").InputSignal<string>;
|
|
5
|
+
protected readonly classes: import("@angular/core").Signal<string>;
|
|
6
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<UiFieldGroup, never>;
|
|
7
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<UiFieldGroup, "[uiFieldGroup], ui-field-group", never, {
|
|
8
|
+
"userClass": {
|
|
9
|
+
"alias": "class";
|
|
10
|
+
"required": false;
|
|
11
|
+
"isSignal": true;
|
|
12
|
+
};
|
|
13
|
+
}, {}, never, never, true, [{
|
|
14
|
+
directive: typeof i1.UiElementHost;
|
|
15
|
+
inputs: {};
|
|
16
|
+
outputs: {};
|
|
17
|
+
}]>;
|
|
18
|
+
}
|
|
19
|
+
export declare class UiFieldSet {
|
|
20
|
+
readonly userClass: import("@angular/core").InputSignal<string>;
|
|
21
|
+
protected readonly classes: import("@angular/core").Signal<string>;
|
|
22
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<UiFieldSet, never>;
|
|
23
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<UiFieldSet, "fieldset[uiFieldSet], ui-field-set", never, {
|
|
24
|
+
"userClass": {
|
|
25
|
+
"alias": "class";
|
|
26
|
+
"required": false;
|
|
27
|
+
"isSignal": true;
|
|
28
|
+
};
|
|
29
|
+
}, {}, never, never, true, [{
|
|
30
|
+
directive: typeof i1.UiElementHost;
|
|
31
|
+
inputs: {};
|
|
32
|
+
outputs: {};
|
|
33
|
+
}]>;
|
|
34
|
+
}
|
|
35
|
+
export declare class UiFieldLegend {
|
|
36
|
+
readonly variant: import("@angular/core").InputSignal<"legend" | "label">;
|
|
37
|
+
readonly userClass: import("@angular/core").InputSignal<string>;
|
|
38
|
+
protected readonly classes: import("@angular/core").Signal<string>;
|
|
39
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<UiFieldLegend, never>;
|
|
40
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<UiFieldLegend, "legend[uiFieldLegend], ui-field-legend", never, {
|
|
41
|
+
"variant": {
|
|
42
|
+
"alias": "variant";
|
|
43
|
+
"required": false;
|
|
44
|
+
"isSignal": true;
|
|
45
|
+
};
|
|
46
|
+
"userClass": {
|
|
47
|
+
"alias": "class";
|
|
48
|
+
"required": false;
|
|
49
|
+
"isSignal": true;
|
|
50
|
+
};
|
|
51
|
+
}, {}, never, never, true, [{
|
|
52
|
+
directive: typeof i1.UiElementHost;
|
|
53
|
+
inputs: {};
|
|
54
|
+
outputs: {};
|
|
55
|
+
}]>;
|
|
56
|
+
}
|
|
57
|
+
export declare class UiFieldDescription {
|
|
58
|
+
readonly userClass: import("@angular/core").InputSignal<string>;
|
|
59
|
+
protected readonly classes: import("@angular/core").Signal<string>;
|
|
60
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<UiFieldDescription, never>;
|
|
61
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<UiFieldDescription, "[uiFieldDescription], ui-field-description", never, {
|
|
62
|
+
"userClass": {
|
|
63
|
+
"alias": "class";
|
|
64
|
+
"required": false;
|
|
65
|
+
"isSignal": true;
|
|
66
|
+
};
|
|
67
|
+
}, {}, never, never, true, [{
|
|
68
|
+
directive: typeof i1.UiElementHost;
|
|
69
|
+
inputs: {};
|
|
70
|
+
outputs: {};
|
|
71
|
+
}]>;
|
|
72
|
+
}
|
|
73
|
+
export declare const fieldVariants: (props?: ({
|
|
74
|
+
orientation?: "vertical" | "horizontal" | "responsive" | null | undefined;
|
|
75
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
76
|
+
export declare class UiField {
|
|
77
|
+
readonly orientation: import("@angular/core").InputSignal<"vertical" | "horizontal" | "responsive">;
|
|
78
|
+
readonly userClass: import("@angular/core").InputSignal<string>;
|
|
79
|
+
protected readonly classes: import("@angular/core").Signal<string>;
|
|
80
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<UiField, never>;
|
|
81
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<UiField, "[uiField], ui-field", never, {
|
|
82
|
+
"orientation": {
|
|
83
|
+
"alias": "orientation";
|
|
84
|
+
"required": false;
|
|
85
|
+
"isSignal": true;
|
|
86
|
+
};
|
|
87
|
+
"userClass": {
|
|
88
|
+
"alias": "class";
|
|
89
|
+
"required": false;
|
|
90
|
+
"isSignal": true;
|
|
91
|
+
};
|
|
92
|
+
}, {}, never, never, true, [{
|
|
93
|
+
directive: typeof i1.UiElementHost;
|
|
94
|
+
inputs: {};
|
|
95
|
+
outputs: {};
|
|
96
|
+
}]>;
|
|
97
|
+
}
|
|
98
|
+
export declare class UiFieldLabel {
|
|
99
|
+
readonly userClass: import("@angular/core").InputSignal<string>;
|
|
100
|
+
protected readonly classes: import("@angular/core").Signal<string>;
|
|
101
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<UiFieldLabel, never>;
|
|
102
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<UiFieldLabel, "label[uiFieldLabel], ui-field-label", never, {
|
|
103
|
+
"userClass": {
|
|
104
|
+
"alias": "class";
|
|
105
|
+
"required": false;
|
|
106
|
+
"isSignal": true;
|
|
107
|
+
};
|
|
108
|
+
}, {}, never, never, true, [{
|
|
109
|
+
directive: typeof i1.UiElementHost;
|
|
110
|
+
inputs: {};
|
|
111
|
+
outputs: {};
|
|
112
|
+
}]>;
|
|
113
|
+
}
|
|
114
|
+
export declare class UiFieldContent {
|
|
115
|
+
readonly userClass: import("@angular/core").InputSignal<string>;
|
|
116
|
+
protected readonly classes: import("@angular/core").Signal<string>;
|
|
117
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<UiFieldContent, never>;
|
|
118
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<UiFieldContent, "[uiFieldContent], ui-field-content", never, {
|
|
119
|
+
"userClass": {
|
|
120
|
+
"alias": "class";
|
|
121
|
+
"required": false;
|
|
122
|
+
"isSignal": true;
|
|
123
|
+
};
|
|
124
|
+
}, {}, never, never, true, [{
|
|
125
|
+
directive: typeof i1.UiElementHost;
|
|
126
|
+
inputs: {};
|
|
127
|
+
outputs: {};
|
|
128
|
+
}]>;
|
|
129
|
+
}
|
|
130
|
+
export declare const UI_FIELD_GENERATED: readonly [typeof UiFieldGroup, typeof UiFieldSet, typeof UiFieldLegend, typeof UiFieldDescription, typeof UiField, typeof UiFieldLabel, typeof UiFieldContent];
|
|
131
|
+
/**
|
|
132
|
+
* <div uiFieldSeparator><span>or</span></div>
|
|
133
|
+
* Observed: relative -my-2 h-5 text-sm. The label span is shaped like shadcn's source (UNKNOWN on the live capture,
|
|
134
|
+
* which had no content child on the sampled instances).
|
|
135
|
+
*/
|
|
136
|
+
export declare class UiFieldSeparator {
|
|
137
|
+
readonly userClass: import("@angular/core").InputSignal<string>;
|
|
138
|
+
protected readonly classes: import("@angular/core").Signal<string>;
|
|
139
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<UiFieldSeparator, never>;
|
|
140
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<UiFieldSeparator, "[uiFieldSeparator], ui-field-separator", never, {
|
|
141
|
+
"userClass": {
|
|
142
|
+
"alias": "class";
|
|
143
|
+
"required": false;
|
|
144
|
+
"isSignal": true;
|
|
145
|
+
};
|
|
146
|
+
}, {}, never, never, true, [{
|
|
147
|
+
directive: typeof i1.UiElementHost;
|
|
148
|
+
inputs: {};
|
|
149
|
+
outputs: {};
|
|
150
|
+
}]>;
|
|
151
|
+
}
|
|
152
|
+
/** Validation message: <div uiFieldError>Required</div>. Not captured on the live page; class from shadcn's source. */
|
|
153
|
+
export declare class UiFieldError {
|
|
154
|
+
readonly userClass: import("@angular/core").InputSignal<string>;
|
|
155
|
+
protected readonly classes: import("@angular/core").Signal<string>;
|
|
156
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<UiFieldError, never>;
|
|
157
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<UiFieldError, "[uiFieldError], ui-field-error", never, {
|
|
158
|
+
"userClass": {
|
|
159
|
+
"alias": "class";
|
|
160
|
+
"required": false;
|
|
161
|
+
"isSignal": true;
|
|
162
|
+
};
|
|
163
|
+
}, {}, never, never, true, [{
|
|
164
|
+
directive: typeof i1.UiElementHost;
|
|
165
|
+
inputs: {};
|
|
166
|
+
outputs: {};
|
|
167
|
+
}]>;
|
|
168
|
+
}
|
|
169
|
+
export declare const UI_FIELD: readonly [typeof import("@loomui-ng/ui/field").UiFieldGroup, typeof import("@loomui-ng/ui/field").UiFieldSet, typeof import("@loomui-ng/ui/field").UiFieldLegend, typeof import("@loomui-ng/ui/field").UiFieldDescription, typeof import("@loomui-ng/ui/field").UiField, typeof import("@loomui-ng/ui/field").UiFieldLabel, typeof import("@loomui-ng/ui/field").UiFieldContent, typeof UiFieldSeparator, typeof UiFieldError];
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import * as i1 from "@loomui-ng/ui/utils";
|
|
2
|
+
import { UiLayerRoot, UiPopperContentBase } from "@loomui-ng/ui/utils";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
/**
|
|
5
|
+
* <div uiHoverCard class="contents">
|
|
6
|
+
* <button uiButton variant="link" uiHoverCardTrigger>@nextjs</button>
|
|
7
|
+
* <div uiHoverCardContent class="w-64">…</div>
|
|
8
|
+
* </div>
|
|
9
|
+
* Opens on pointer hover (openDelay 700ms) and keyboard focus; closes after closeDelay 300ms (Radix defaults).
|
|
10
|
+
*/
|
|
11
|
+
export declare class UiHoverCard extends UiLayerRoot {
|
|
12
|
+
readonly openDelay: import("@angular/core").InputSignalWithTransform<number, unknown>;
|
|
13
|
+
readonly closeDelay: import("@angular/core").InputSignalWithTransform<number, unknown>;
|
|
14
|
+
private timer;
|
|
15
|
+
constructor();
|
|
16
|
+
show(instant?: boolean): void;
|
|
17
|
+
hide(): void;
|
|
18
|
+
keep(): void;
|
|
19
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<UiHoverCard, never>;
|
|
20
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<UiHoverCard, "[uiHoverCard], ui-hover-card", ["uiHoverCard"], {
|
|
21
|
+
"openDelay": {
|
|
22
|
+
"alias": "openDelay";
|
|
23
|
+
"required": false;
|
|
24
|
+
"isSignal": true;
|
|
25
|
+
};
|
|
26
|
+
"closeDelay": {
|
|
27
|
+
"alias": "closeDelay";
|
|
28
|
+
"required": false;
|
|
29
|
+
"isSignal": true;
|
|
30
|
+
};
|
|
31
|
+
}, {}, never, never, true, [{
|
|
32
|
+
directive: typeof i1.UiElementHost;
|
|
33
|
+
inputs: {};
|
|
34
|
+
outputs: {};
|
|
35
|
+
}]>;
|
|
36
|
+
}
|
|
37
|
+
export declare class UiHoverCardTrigger {
|
|
38
|
+
protected readonly root: UiHoverCard;
|
|
39
|
+
private readonly el;
|
|
40
|
+
constructor();
|
|
41
|
+
protected onEnter(e: PointerEvent): void;
|
|
42
|
+
protected onFocus(): void;
|
|
43
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<UiHoverCardTrigger, never>;
|
|
44
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<UiHoverCardTrigger, "[uiHoverCardTrigger], ui-hover-card-trigger", never, {}, {}, never, never, true, [{
|
|
45
|
+
directive: typeof i1.UiElementHost;
|
|
46
|
+
inputs: {};
|
|
47
|
+
outputs: {};
|
|
48
|
+
}]>;
|
|
49
|
+
}
|
|
50
|
+
export declare class UiHoverCardContent extends UiPopperContentBase {
|
|
51
|
+
protected readonly root: UiHoverCard;
|
|
52
|
+
protected readonly varPrefix = "--radix-hover-card";
|
|
53
|
+
protected readonly classes: import("@angular/core").Signal<string>;
|
|
54
|
+
constructor();
|
|
55
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<UiHoverCardContent, never>;
|
|
56
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<UiHoverCardContent, "[uiHoverCardContent], ui-hover-card-content", never, {}, {}, never, never, true, [{
|
|
57
|
+
directive: typeof i1.UiElementHost;
|
|
58
|
+
inputs: {};
|
|
59
|
+
outputs: {};
|
|
60
|
+
}]>;
|
|
61
|
+
}
|
|
62
|
+
export declare const UI_HOVER_CARD: readonly [typeof UiHoverCard, typeof UiHoverCardTrigger, typeof UiHoverCardContent];
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
import { SafeHtml } from "@angular/platform-browser";
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
/** Lucide's icon node format: a list of [tag, attributes] pairs describing the SVG children. */
|
|
4
|
+
export type IconNode = [tag: string, attrs: Record<string, string | number | undefined>][];
|
|
5
|
+
/** `ChevronDown` / `chevron-down` → `chevron-down` (Lucide's canonical name). */
|
|
6
|
+
export declare function toKebab(name: string): string;
|
|
7
|
+
/** `chevron-down` → `ChevronDown` (the export name in the `lucide` package). */
|
|
8
|
+
export declare function toPascal(name: string): string;
|
|
9
|
+
/**
|
|
10
|
+
* Registers icons so they can be used by name: `registerIcons({ Search, Moon })` then `<ui-icon name="search" />`.
|
|
11
|
+
* Keys may be PascalCase export names or kebab-case names. Importing only the icons you use keeps bundles small.
|
|
12
|
+
*/
|
|
13
|
+
export declare function registerIcons(icons: Record<string, IconNode>): void;
|
|
14
|
+
/** Icons the Loom UI components render themselves (chevrons, check, x, …). Registered on first import. */
|
|
15
|
+
export declare const LIB_ICONS: Record<string, IconNode>;
|
|
16
|
+
/** Serialises an icon node to the SVG children markup (all values escaped). */
|
|
17
|
+
export declare function iconChildren(node: IconNode): string;
|
|
18
|
+
/** A complete standalone `<svg>` string (what Lucide's own `lucide-static` files look like). */
|
|
19
|
+
export declare function iconToSvg(node: IconNode, opts?: {
|
|
20
|
+
size?: number;
|
|
21
|
+
strokeWidth?: number;
|
|
22
|
+
color?: string;
|
|
23
|
+
}): string;
|
|
24
|
+
/**
|
|
25
|
+
* Lucide icon.
|
|
26
|
+
* <ui-icon name="search" /> — by name (see registerIcons)
|
|
27
|
+
* <ui-icon [icon]="Search" size="20" /> — by node (`import { Search } from 'lucide'`, tree-shakeable)
|
|
28
|
+
* Defaults to 16px (`size-4`, the shadcn convention); set `size`, or a size class such as class="size-6".
|
|
29
|
+
* Decorative by default (aria-hidden); pass `label` to expose it as an image.
|
|
30
|
+
*/
|
|
31
|
+
export declare class UiIcon {
|
|
32
|
+
private readonly sanitizer;
|
|
33
|
+
/** An icon node (preferred; tree-shakeable). */
|
|
34
|
+
readonly icon: import("@angular/core").InputSignal<IconNode | null | undefined>;
|
|
35
|
+
/** A registered icon name (kebab or Pascal case). */
|
|
36
|
+
readonly name: import("@angular/core").InputSignal<string>;
|
|
37
|
+
/** Pixel size; when omitted the icon is `size-4` (override with a class). */
|
|
38
|
+
readonly size: import("@angular/core").InputSignalWithTransform<number | undefined, unknown>;
|
|
39
|
+
readonly strokeWidth: import("@angular/core").InputSignalWithTransform<number, unknown>;
|
|
40
|
+
/** Keeps the stroke the same pixel width regardless of size (Lucide's absoluteStrokeWidth). */
|
|
41
|
+
readonly absoluteStrokeWidth: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
42
|
+
readonly color: import("@angular/core").InputSignal<string>;
|
|
43
|
+
readonly label: import("@angular/core").InputSignal<string>;
|
|
44
|
+
readonly userClass: import("@angular/core").InputSignal<string>;
|
|
45
|
+
protected readonly node: import("@angular/core").Signal<IconNode | null>;
|
|
46
|
+
protected readonly sw: import("@angular/core").Signal<number>;
|
|
47
|
+
protected readonly html: import("@angular/core").Signal<SafeHtml>;
|
|
48
|
+
protected readonly classes: import("@angular/core").Signal<string>;
|
|
49
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<UiIcon, never>;
|
|
50
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<UiIcon, "ui-icon", never, {
|
|
51
|
+
"icon": {
|
|
52
|
+
"alias": "icon";
|
|
53
|
+
"required": false;
|
|
54
|
+
"isSignal": true;
|
|
55
|
+
};
|
|
56
|
+
"name": {
|
|
57
|
+
"alias": "name";
|
|
58
|
+
"required": false;
|
|
59
|
+
"isSignal": true;
|
|
60
|
+
};
|
|
61
|
+
"size": {
|
|
62
|
+
"alias": "size";
|
|
63
|
+
"required": false;
|
|
64
|
+
"isSignal": true;
|
|
65
|
+
};
|
|
66
|
+
"strokeWidth": {
|
|
67
|
+
"alias": "strokeWidth";
|
|
68
|
+
"required": false;
|
|
69
|
+
"isSignal": true;
|
|
70
|
+
};
|
|
71
|
+
"absoluteStrokeWidth": {
|
|
72
|
+
"alias": "absoluteStrokeWidth";
|
|
73
|
+
"required": false;
|
|
74
|
+
"isSignal": true;
|
|
75
|
+
};
|
|
76
|
+
"color": {
|
|
77
|
+
"alias": "color";
|
|
78
|
+
"required": false;
|
|
79
|
+
"isSignal": true;
|
|
80
|
+
};
|
|
81
|
+
"label": {
|
|
82
|
+
"alias": "label";
|
|
83
|
+
"required": false;
|
|
84
|
+
"isSignal": true;
|
|
85
|
+
};
|
|
86
|
+
"userClass": {
|
|
87
|
+
"alias": "class";
|
|
88
|
+
"required": false;
|
|
89
|
+
"isSignal": true;
|
|
90
|
+
};
|
|
91
|
+
}, {}, never, never, true, never>;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Same icons rendered onto a real <svg> element, so parent selectors such as `[&>svg]:size-4` and `has-[>svg]` keep working:
|
|
95
|
+
* <svg uiIcon="chevron-down" class="size-4"></svg> <svg uiIcon [icon]="Search"></svg>
|
|
96
|
+
* This is what the Loom UI components use internally.
|
|
97
|
+
*/
|
|
98
|
+
export declare class UiIconSvg {
|
|
99
|
+
private readonly sanitizer;
|
|
100
|
+
readonly name: import("@angular/core").InputSignal<string>;
|
|
101
|
+
readonly icon: import("@angular/core").InputSignal<IconNode | null | undefined>;
|
|
102
|
+
readonly size: import("@angular/core").InputSignalWithTransform<number | undefined, unknown>;
|
|
103
|
+
readonly strokeWidth: import("@angular/core").InputSignalWithTransform<number, unknown>;
|
|
104
|
+
readonly absoluteStrokeWidth: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
105
|
+
readonly color: import("@angular/core").InputSignal<string>;
|
|
106
|
+
readonly label: import("@angular/core").InputSignal<string>;
|
|
107
|
+
readonly userClass: import("@angular/core").InputSignal<string>;
|
|
108
|
+
protected readonly node: import("@angular/core").Signal<IconNode | null>;
|
|
109
|
+
protected readonly sw: import("@angular/core").Signal<number>;
|
|
110
|
+
protected readonly html: import("@angular/core").Signal<SafeHtml>;
|
|
111
|
+
protected readonly classes: import("@angular/core").Signal<string | null>;
|
|
112
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<UiIconSvg, never>;
|
|
113
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<UiIconSvg, "svg[uiIcon]", never, {
|
|
114
|
+
"name": {
|
|
115
|
+
"alias": "uiIcon";
|
|
116
|
+
"required": false;
|
|
117
|
+
"isSignal": true;
|
|
118
|
+
};
|
|
119
|
+
"icon": {
|
|
120
|
+
"alias": "icon";
|
|
121
|
+
"required": false;
|
|
122
|
+
"isSignal": true;
|
|
123
|
+
};
|
|
124
|
+
"size": {
|
|
125
|
+
"alias": "size";
|
|
126
|
+
"required": false;
|
|
127
|
+
"isSignal": true;
|
|
128
|
+
};
|
|
129
|
+
"strokeWidth": {
|
|
130
|
+
"alias": "strokeWidth";
|
|
131
|
+
"required": false;
|
|
132
|
+
"isSignal": true;
|
|
133
|
+
};
|
|
134
|
+
"absoluteStrokeWidth": {
|
|
135
|
+
"alias": "absoluteStrokeWidth";
|
|
136
|
+
"required": false;
|
|
137
|
+
"isSignal": true;
|
|
138
|
+
};
|
|
139
|
+
"color": {
|
|
140
|
+
"alias": "color";
|
|
141
|
+
"required": false;
|
|
142
|
+
"isSignal": true;
|
|
143
|
+
};
|
|
144
|
+
"label": {
|
|
145
|
+
"alias": "label";
|
|
146
|
+
"required": false;
|
|
147
|
+
"isSignal": true;
|
|
148
|
+
};
|
|
149
|
+
"userClass": {
|
|
150
|
+
"alias": "class";
|
|
151
|
+
"required": false;
|
|
152
|
+
"isSignal": true;
|
|
153
|
+
};
|
|
154
|
+
}, {}, never, never, true, never>;
|
|
155
|
+
}
|
|
156
|
+
export declare const UI_ICON: readonly [typeof UiIcon, typeof UiIconSvg];
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import * as i1 from "@loomui-ng/ui/utils";
|
|
3
|
+
import { UiNativeControl } from "@loomui-ng/ui/utils";
|
|
4
|
+
export declare class UiInputGroup {
|
|
5
|
+
readonly userClass: import("@angular/core").InputSignal<string>;
|
|
6
|
+
protected readonly classes: import("@angular/core").Signal<string>;
|
|
7
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<UiInputGroup, never>;
|
|
8
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<UiInputGroup, "[uiInputGroup], ui-input-group", never, {
|
|
9
|
+
"userClass": {
|
|
10
|
+
"alias": "class";
|
|
11
|
+
"required": false;
|
|
12
|
+
"isSignal": true;
|
|
13
|
+
};
|
|
14
|
+
}, {}, never, never, true, [{
|
|
15
|
+
directive: typeof i1.UiElementHost;
|
|
16
|
+
inputs: {};
|
|
17
|
+
outputs: {};
|
|
18
|
+
}]>;
|
|
19
|
+
}
|
|
20
|
+
export declare class UiInputGroupControl {
|
|
21
|
+
readonly userClass: import("@angular/core").InputSignal<string>;
|
|
22
|
+
protected readonly classes: import("@angular/core").Signal<string>;
|
|
23
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<UiInputGroupControl, never>;
|
|
24
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<UiInputGroupControl, "input[uiInputGroupControl]", never, {
|
|
25
|
+
"userClass": {
|
|
26
|
+
"alias": "class";
|
|
27
|
+
"required": false;
|
|
28
|
+
"isSignal": true;
|
|
29
|
+
};
|
|
30
|
+
}, {}, never, never, true, never>;
|
|
31
|
+
}
|
|
32
|
+
export declare const inputGroupAddonVariants: (props?: ({
|
|
33
|
+
align?: "inline-start" | "inline-end" | "block-start" | "block-end" | null | undefined;
|
|
34
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
35
|
+
export declare class UiInputGroupAddon {
|
|
36
|
+
readonly align: import("@angular/core").InputSignal<"inline-start" | "inline-end" | "block-start" | "block-end">;
|
|
37
|
+
readonly userClass: import("@angular/core").InputSignal<string>;
|
|
38
|
+
protected readonly classes: import("@angular/core").Signal<string>;
|
|
39
|
+
private readonly el;
|
|
40
|
+
/** Clicking the addon (not a button inside it) focuses the control, like shadcn. */
|
|
41
|
+
protected onClick(e: MouseEvent): void;
|
|
42
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<UiInputGroupAddon, never>;
|
|
43
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<UiInputGroupAddon, "[uiInputGroupAddon], ui-input-group-addon", never, {
|
|
44
|
+
"align": {
|
|
45
|
+
"alias": "align";
|
|
46
|
+
"required": false;
|
|
47
|
+
"isSignal": true;
|
|
48
|
+
};
|
|
49
|
+
"userClass": {
|
|
50
|
+
"alias": "class";
|
|
51
|
+
"required": false;
|
|
52
|
+
"isSignal": true;
|
|
53
|
+
};
|
|
54
|
+
}, {}, never, never, true, [{
|
|
55
|
+
directive: typeof i1.UiElementHost;
|
|
56
|
+
inputs: {};
|
|
57
|
+
outputs: {};
|
|
58
|
+
}]>;
|
|
59
|
+
}
|
|
60
|
+
export declare const UI_INPUT_GROUP_GENERATED: readonly [typeof UiInputGroup, typeof UiInputGroupControl, typeof UiInputGroupAddon];
|
|
61
|
+
/**
|
|
62
|
+
* <ui-input-group><ui-input-group-control placeholder="Search…" /></ui-input-group>
|
|
63
|
+
* Custom-element form of `<input uiInputGroupControl>`: a real input lives inside, so ngModel / reactive forms work.
|
|
64
|
+
*/
|
|
65
|
+
export declare class UiInputGroupControlElement extends UiNativeControl {
|
|
66
|
+
readonly type: import("@angular/core").InputSignal<string>;
|
|
67
|
+
readonly min: import("@angular/core").InputSignal<string | number | null>;
|
|
68
|
+
readonly max: import("@angular/core").InputSignal<string | number | null>;
|
|
69
|
+
readonly step: import("@angular/core").InputSignal<string | number | null>;
|
|
70
|
+
readonly pattern: import("@angular/core").InputSignal<string>;
|
|
71
|
+
readonly maxlength: import("@angular/core").InputSignal<number | null>;
|
|
72
|
+
readonly minlength: import("@angular/core").InputSignal<number | null>;
|
|
73
|
+
readonly accept: import("@angular/core").InputSignal<string>;
|
|
74
|
+
readonly inputmode: import("@angular/core").InputSignal<string>;
|
|
75
|
+
readonly multiple: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
76
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<UiInputGroupControlElement, never>;
|
|
77
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<UiInputGroupControlElement, "ui-input-group-control", never, {
|
|
78
|
+
"type": {
|
|
79
|
+
"alias": "type";
|
|
80
|
+
"required": false;
|
|
81
|
+
"isSignal": true;
|
|
82
|
+
};
|
|
83
|
+
"min": {
|
|
84
|
+
"alias": "min";
|
|
85
|
+
"required": false;
|
|
86
|
+
"isSignal": true;
|
|
87
|
+
};
|
|
88
|
+
"max": {
|
|
89
|
+
"alias": "max";
|
|
90
|
+
"required": false;
|
|
91
|
+
"isSignal": true;
|
|
92
|
+
};
|
|
93
|
+
"step": {
|
|
94
|
+
"alias": "step";
|
|
95
|
+
"required": false;
|
|
96
|
+
"isSignal": true;
|
|
97
|
+
};
|
|
98
|
+
"pattern": {
|
|
99
|
+
"alias": "pattern";
|
|
100
|
+
"required": false;
|
|
101
|
+
"isSignal": true;
|
|
102
|
+
};
|
|
103
|
+
"maxlength": {
|
|
104
|
+
"alias": "maxlength";
|
|
105
|
+
"required": false;
|
|
106
|
+
"isSignal": true;
|
|
107
|
+
};
|
|
108
|
+
"minlength": {
|
|
109
|
+
"alias": "minlength";
|
|
110
|
+
"required": false;
|
|
111
|
+
"isSignal": true;
|
|
112
|
+
};
|
|
113
|
+
"accept": {
|
|
114
|
+
"alias": "accept";
|
|
115
|
+
"required": false;
|
|
116
|
+
"isSignal": true;
|
|
117
|
+
};
|
|
118
|
+
"inputmode": {
|
|
119
|
+
"alias": "inputmode";
|
|
120
|
+
"required": false;
|
|
121
|
+
"isSignal": true;
|
|
122
|
+
};
|
|
123
|
+
"multiple": {
|
|
124
|
+
"alias": "multiple";
|
|
125
|
+
"required": false;
|
|
126
|
+
"isSignal": true;
|
|
127
|
+
};
|
|
128
|
+
}, {}, never, never, true, never>;
|
|
129
|
+
}
|
|
130
|
+
export declare const UI_INPUT_GROUP: readonly [typeof import("@loomui-ng/ui/input-group").UiInputGroup, typeof UiInputGroupControl, typeof import("@loomui-ng/ui/input-group").UiInputGroupAddon, typeof UiInputGroupControlElement];
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
import { ControlValueAccessor } from "@angular/forms";
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@loomui-ng/ui/utils";
|
|
4
|
+
export declare const inputOtpGroupClass = "flex items-center rounded-lg has-aria-invalid:border-destructive has-aria-invalid:ring-3 has-aria-invalid:ring-destructive/20 dark:has-aria-invalid:ring-destructive/40";
|
|
5
|
+
export declare const inputOtpSlotClass = "relative flex size-8 items-center justify-center border-y border-e border-input text-sm transition-all outline-none first:rounded-s-lg first:border-s last:rounded-e-lg aria-invalid:border-destructive data-[active=true]:z-10 data-[active=true]:border-ring data-[active=true]:ring-3 data-[active=true]:ring-ring/50 data-[active=true]:aria-invalid:border-destructive data-[active=true]:aria-invalid:ring-destructive/20 dark:bg-input/30 dark:data-[active=true]:aria-invalid:ring-destructive/40";
|
|
6
|
+
export declare const inputOtpSeparatorClass = "flex items-center [&_svg:not([class*='size-'])]:size-4";
|
|
7
|
+
export declare const UI_INPUT_OTP_GENERATED: readonly [];
|
|
8
|
+
/**
|
|
9
|
+
* <div uiInputOtp [maxLength]="6" [(value)]="code">
|
|
10
|
+
* <div uiInputOtpGroup><div uiInputOtpSlot [index]="0"></div>…</div>
|
|
11
|
+
* </div>
|
|
12
|
+
* One real (transparent) <input> captures typing, paste and caret keys; slots only render characters (input-otp's approach).
|
|
13
|
+
* Observed input attrs: autocomplete="one-time-code", inputmode="numeric", maxlength, pattern, spellcheck=false.
|
|
14
|
+
*/
|
|
15
|
+
export declare class UiInputOtp implements ControlValueAccessor {
|
|
16
|
+
readonly value: import("@angular/core").ModelSignal<string>;
|
|
17
|
+
readonly maxLength: import("@angular/core").InputSignalWithTransform<number, unknown>;
|
|
18
|
+
/** Allowed characters; default digits only (observed `^\d+$`; alphanumeric uses `^[a-zA-Z0-9]+$`). */
|
|
19
|
+
readonly pattern: import("@angular/core").InputSignal<string>;
|
|
20
|
+
readonly disabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
21
|
+
readonly invalid: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
22
|
+
readonly required: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
23
|
+
readonly userClass: import("@angular/core").InputSignal<string>;
|
|
24
|
+
readonly complete: import("@angular/core").OutputEmitterRef<string>;
|
|
25
|
+
private readonly field;
|
|
26
|
+
private readonly cvaDisabled;
|
|
27
|
+
readonly isDisabled: import("@angular/core").Signal<boolean>;
|
|
28
|
+
readonly focused: import("@angular/core").WritableSignal<boolean>;
|
|
29
|
+
private readonly caret;
|
|
30
|
+
protected readonly inputMode: import("@angular/core").Signal<"numeric" | "text">;
|
|
31
|
+
protected readonly classes: import("@angular/core").Signal<string>;
|
|
32
|
+
private onChange;
|
|
33
|
+
private onTouched;
|
|
34
|
+
/** Index of the slot that currently owns the caret. */
|
|
35
|
+
readonly activeIndex: import("@angular/core").Signal<number>;
|
|
36
|
+
charAt(i: number): string;
|
|
37
|
+
focus(index?: number): void;
|
|
38
|
+
protected onInput(e: Event): void;
|
|
39
|
+
protected onFocus(): void;
|
|
40
|
+
protected onBlur(): void;
|
|
41
|
+
protected syncCaret(): void;
|
|
42
|
+
writeValue(v: string | null): void;
|
|
43
|
+
registerOnChange(fn: (v: string) => void): void;
|
|
44
|
+
registerOnTouched(fn: () => void): void;
|
|
45
|
+
setDisabledState(d: boolean): void;
|
|
46
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<UiInputOtp, never>;
|
|
47
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<UiInputOtp, "div[uiInputOtp], ui-input-otp", never, {
|
|
48
|
+
"value": {
|
|
49
|
+
"alias": "value";
|
|
50
|
+
"required": false;
|
|
51
|
+
"isSignal": true;
|
|
52
|
+
};
|
|
53
|
+
"maxLength": {
|
|
54
|
+
"alias": "maxLength";
|
|
55
|
+
"required": false;
|
|
56
|
+
"isSignal": true;
|
|
57
|
+
};
|
|
58
|
+
"pattern": {
|
|
59
|
+
"alias": "pattern";
|
|
60
|
+
"required": false;
|
|
61
|
+
"isSignal": true;
|
|
62
|
+
};
|
|
63
|
+
"disabled": {
|
|
64
|
+
"alias": "disabled";
|
|
65
|
+
"required": false;
|
|
66
|
+
"isSignal": true;
|
|
67
|
+
};
|
|
68
|
+
"invalid": {
|
|
69
|
+
"alias": "invalid";
|
|
70
|
+
"required": false;
|
|
71
|
+
"isSignal": true;
|
|
72
|
+
};
|
|
73
|
+
"required": {
|
|
74
|
+
"alias": "required";
|
|
75
|
+
"required": false;
|
|
76
|
+
"isSignal": true;
|
|
77
|
+
};
|
|
78
|
+
"userClass": {
|
|
79
|
+
"alias": "class";
|
|
80
|
+
"required": false;
|
|
81
|
+
"isSignal": true;
|
|
82
|
+
};
|
|
83
|
+
}, {
|
|
84
|
+
"value": "valueChange";
|
|
85
|
+
"complete": "complete";
|
|
86
|
+
}, never, ["*"], true, [{
|
|
87
|
+
directive: typeof i1.UiElementHost;
|
|
88
|
+
inputs: {};
|
|
89
|
+
outputs: {};
|
|
90
|
+
}]>;
|
|
91
|
+
}
|
|
92
|
+
export declare class UiInputOtpGroup {
|
|
93
|
+
readonly userClass: import("@angular/core").InputSignal<string>;
|
|
94
|
+
protected readonly classes: import("@angular/core").Signal<string>;
|
|
95
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<UiInputOtpGroup, never>;
|
|
96
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<UiInputOtpGroup, "[uiInputOtpGroup], ui-input-otp-group", never, {
|
|
97
|
+
"userClass": {
|
|
98
|
+
"alias": "class";
|
|
99
|
+
"required": false;
|
|
100
|
+
"isSignal": true;
|
|
101
|
+
};
|
|
102
|
+
}, {}, never, never, true, [{
|
|
103
|
+
directive: typeof i1.UiElementHost;
|
|
104
|
+
inputs: {};
|
|
105
|
+
outputs: {};
|
|
106
|
+
}]>;
|
|
107
|
+
}
|
|
108
|
+
export declare class UiInputOtpSlot {
|
|
109
|
+
protected readonly otp: UiInputOtp;
|
|
110
|
+
readonly index: import("@angular/core").InputSignal<number>;
|
|
111
|
+
readonly userClass: import("@angular/core").InputSignal<string>;
|
|
112
|
+
protected readonly char: import("@angular/core").Signal<string>;
|
|
113
|
+
protected readonly active: import("@angular/core").Signal<boolean>;
|
|
114
|
+
protected readonly classes: import("@angular/core").Signal<string>;
|
|
115
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<UiInputOtpSlot, never>;
|
|
116
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<UiInputOtpSlot, "[uiInputOtpSlot], ui-input-otp-slot", never, {
|
|
117
|
+
"index": {
|
|
118
|
+
"alias": "index";
|
|
119
|
+
"required": true;
|
|
120
|
+
"isSignal": true;
|
|
121
|
+
};
|
|
122
|
+
"userClass": {
|
|
123
|
+
"alias": "class";
|
|
124
|
+
"required": false;
|
|
125
|
+
"isSignal": true;
|
|
126
|
+
};
|
|
127
|
+
}, {}, never, never, true, [{
|
|
128
|
+
directive: typeof i1.UiElementHost;
|
|
129
|
+
inputs: {};
|
|
130
|
+
outputs: {};
|
|
131
|
+
}]>;
|
|
132
|
+
}
|
|
133
|
+
export declare class UiInputOtpSeparator {
|
|
134
|
+
readonly userClass: import("@angular/core").InputSignal<string>;
|
|
135
|
+
protected readonly classes: import("@angular/core").Signal<string>;
|
|
136
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<UiInputOtpSeparator, never>;
|
|
137
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<UiInputOtpSeparator, "[uiInputOtpSeparator], ui-input-otp-separator", never, {
|
|
138
|
+
"userClass": {
|
|
139
|
+
"alias": "class";
|
|
140
|
+
"required": false;
|
|
141
|
+
"isSignal": true;
|
|
142
|
+
};
|
|
143
|
+
}, {}, never, never, true, [{
|
|
144
|
+
directive: typeof i1.UiElementHost;
|
|
145
|
+
inputs: {};
|
|
146
|
+
outputs: {};
|
|
147
|
+
}]>;
|
|
148
|
+
}
|
|
149
|
+
export declare const UI_INPUT_OTP: readonly [typeof UiInputOtp, typeof UiInputOtpGroup, typeof UiInputOtpSlot, typeof UiInputOtpSeparator];
|