@ngstarter-ui/components 21.0.18 → 21.0.20
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/ai/component-registry.json +27 -12
- package/fesm2022/ngstarter-ui-components-chips.mjs +72 -38
- package/fesm2022/ngstarter-ui-components-chips.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-code-highlighter.mjs +5 -3
- package/fesm2022/ngstarter-ui-components-code-highlighter.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-color-picker.mjs +1 -1
- package/fesm2022/ngstarter-ui-components-color-picker.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-comment-editor.mjs +2 -2
- package/fesm2022/ngstarter-ui-components-comment-editor.mjs.map +1 -1
- package/fesm2022/{ngstarter-ui-components-content-editor-code-block.component-CpZ5gJOc.mjs → ngstarter-ui-components-content-editor-code-block.component-Czb0bvcr.mjs} +2 -2
- package/fesm2022/{ngstarter-ui-components-content-editor-code-block.component-CpZ5gJOc.mjs.map → ngstarter-ui-components-content-editor-code-block.component-Czb0bvcr.mjs.map} +1 -1
- package/fesm2022/{ngstarter-ui-components-content-editor-embed-block-ghm0_0AF.mjs → ngstarter-ui-components-content-editor-embed-block-c8Pq0Jdq.mjs} +3 -3
- package/fesm2022/{ngstarter-ui-components-content-editor-embed-block-ghm0_0AF.mjs.map → ngstarter-ui-components-content-editor-embed-block-c8Pq0Jdq.mjs.map} +1 -1
- package/fesm2022/{ngstarter-ui-components-content-editor-heading-block.component-C1FH89Sj.mjs → ngstarter-ui-components-content-editor-heading-block.component-CT5g3MLZ.mjs} +2 -2
- package/fesm2022/{ngstarter-ui-components-content-editor-heading-block.component-C1FH89Sj.mjs.map → ngstarter-ui-components-content-editor-heading-block.component-CT5g3MLZ.mjs.map} +1 -1
- package/fesm2022/{ngstarter-ui-components-content-editor-image-block.component-ahCIfpvQ.mjs → ngstarter-ui-components-content-editor-image-block.component-Cp_Yo7zI.mjs} +3 -3
- package/fesm2022/{ngstarter-ui-components-content-editor-image-block.component-ahCIfpvQ.mjs.map → ngstarter-ui-components-content-editor-image-block.component-Cp_Yo7zI.mjs.map} +1 -1
- package/fesm2022/{ngstarter-ui-components-content-editor-list-block.component-guhW_EyK.mjs → ngstarter-ui-components-content-editor-list-block.component-BvineUWy.mjs} +2 -2
- package/fesm2022/{ngstarter-ui-components-content-editor-list-block.component-guhW_EyK.mjs.map → ngstarter-ui-components-content-editor-list-block.component-BvineUWy.mjs.map} +1 -1
- package/fesm2022/{ngstarter-ui-components-content-editor-ngstarter-ui-components-content-editor-DNLTNGYa.mjs → ngstarter-ui-components-content-editor-ngstarter-ui-components-content-editor-4_TqxgpH.mjs} +13 -13
- package/fesm2022/{ngstarter-ui-components-content-editor-ngstarter-ui-components-content-editor-DNLTNGYa.mjs.map → ngstarter-ui-components-content-editor-ngstarter-ui-components-content-editor-4_TqxgpH.mjs.map} +1 -1
- package/fesm2022/{ngstarter-ui-components-content-editor-paragraph-block.component-DjgGUc7s.mjs → ngstarter-ui-components-content-editor-paragraph-block.component-sH44U1I8.mjs} +2 -2
- package/fesm2022/{ngstarter-ui-components-content-editor-paragraph-block.component-DjgGUc7s.mjs.map → ngstarter-ui-components-content-editor-paragraph-block.component-sH44U1I8.mjs.map} +1 -1
- package/fesm2022/{ngstarter-ui-components-content-editor-quote-block.component-B3pek1H6.mjs → ngstarter-ui-components-content-editor-quote-block.component-CA3KoZ-u.mjs} +2 -2
- package/fesm2022/{ngstarter-ui-components-content-editor-quote-block.component-B3pek1H6.mjs.map → ngstarter-ui-components-content-editor-quote-block.component-CA3KoZ-u.mjs.map} +1 -1
- package/fesm2022/{ngstarter-ui-components-content-editor-table-block.component-bgBNjf4d.mjs → ngstarter-ui-components-content-editor-table-block.component-GTZiYUjU.mjs} +2 -2
- package/fesm2022/{ngstarter-ui-components-content-editor-table-block.component-bgBNjf4d.mjs.map → ngstarter-ui-components-content-editor-table-block.component-GTZiYUjU.mjs.map} +1 -1
- package/fesm2022/{ngstarter-ui-components-content-editor-video-block.component-DPlYe-_8.mjs → ngstarter-ui-components-content-editor-video-block.component-CzMZ1s6C.mjs} +3 -3
- package/fesm2022/{ngstarter-ui-components-content-editor-video-block.component-DPlYe-_8.mjs.map → ngstarter-ui-components-content-editor-video-block.component-CzMZ1s6C.mjs.map} +1 -1
- package/fesm2022/ngstarter-ui-components-content-editor.mjs +1 -1
- package/fesm2022/ngstarter-ui-components-country-select.mjs +1 -1
- package/fesm2022/ngstarter-ui-components-country-select.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-currency-select.mjs +1 -1
- package/fesm2022/ngstarter-ui-components-currency-select.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-date-format-select.mjs +1 -1
- package/fesm2022/ngstarter-ui-components-date-format-select.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-filter-builder.mjs +1 -1
- package/fesm2022/ngstarter-ui-components-filter-builder.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-form-field.mjs +9 -9
- package/fesm2022/ngstarter-ui-components-form-field.mjs.map +1 -1
- package/fesm2022/{ngstarter-ui-components-form-renderer-autocomplete-many-field-BZBE7KSU.mjs → ngstarter-ui-components-form-renderer-autocomplete-many-field-BLhfO1zC.mjs} +3 -3
- package/fesm2022/ngstarter-ui-components-form-renderer-autocomplete-many-field-BLhfO1zC.mjs.map +1 -0
- package/fesm2022/{ngstarter-ui-components-form-renderer-datepicker-field-Bzc0TPO9.mjs → ngstarter-ui-components-form-renderer-datepicker-field-DRSVe0gK.mjs} +2 -2
- package/fesm2022/{ngstarter-ui-components-form-renderer-datepicker-field-Bzc0TPO9.mjs.map → ngstarter-ui-components-form-renderer-datepicker-field-DRSVe0gK.mjs.map} +1 -1
- package/fesm2022/{ngstarter-ui-components-form-renderer-input-field-UaMfHCtj.mjs → ngstarter-ui-components-form-renderer-input-field-DpGLKZjz.mjs} +2 -2
- package/fesm2022/{ngstarter-ui-components-form-renderer-input-field-UaMfHCtj.mjs.map → ngstarter-ui-components-form-renderer-input-field-DpGLKZjz.mjs.map} +1 -1
- package/fesm2022/{ngstarter-ui-components-form-renderer-select-field-Dvg--xrB.mjs → ngstarter-ui-components-form-renderer-select-field-CCbpYyZo.mjs} +2 -2
- package/fesm2022/{ngstarter-ui-components-form-renderer-select-field-Dvg--xrB.mjs.map → ngstarter-ui-components-form-renderer-select-field-CCbpYyZo.mjs.map} +1 -1
- package/fesm2022/{ngstarter-ui-components-form-renderer-textarea-field-4zH7FTQ1.mjs → ngstarter-ui-components-form-renderer-textarea-field-D89GlMDO.mjs} +2 -2
- package/fesm2022/{ngstarter-ui-components-form-renderer-textarea-field-4zH7FTQ1.mjs.map → ngstarter-ui-components-form-renderer-textarea-field-D89GlMDO.mjs.map} +1 -1
- package/fesm2022/{ngstarter-ui-components-form-renderer-timezone-field-BpH65Hd-.mjs → ngstarter-ui-components-form-renderer-timezone-field-C9wz7zPg.mjs} +2 -2
- package/fesm2022/{ngstarter-ui-components-form-renderer-timezone-field-BpH65Hd-.mjs.map → ngstarter-ui-components-form-renderer-timezone-field-C9wz7zPg.mjs.map} +1 -1
- package/fesm2022/ngstarter-ui-components-form-renderer.mjs +6 -6
- package/fesm2022/ngstarter-ui-components-image-designer.mjs +3 -3
- package/fesm2022/ngstarter-ui-components-image-designer.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-list.mjs +7 -7
- package/fesm2022/ngstarter-ui-components-list.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-paginator.mjs +1 -1
- package/fesm2022/ngstarter-ui-components-paginator.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-panel.mjs +8 -4
- package/fesm2022/ngstarter-ui-components-panel.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-pin-input.mjs +1 -1
- package/fesm2022/ngstarter-ui-components-pin-input.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-select.mjs +19 -4
- package/fesm2022/ngstarter-ui-components-select.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-text-editor.mjs +2 -2
- package/fesm2022/ngstarter-ui-components-text-editor.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-timezone-select.mjs +1 -1
- package/fesm2022/ngstarter-ui-components-timezone-select.mjs.map +1 -1
- package/package.json +1 -1
- package/types/ngstarter-ui-components-chips.d.ts +15 -6
- package/types/ngstarter-ui-components-code-highlighter.d.ts +2 -1
- package/types/ngstarter-ui-components-form-field.d.ts +3 -2
- package/types/ngstarter-ui-components-list.d.ts +1 -1
- package/types/ngstarter-ui-components-panel.d.ts +3 -1
- package/types/ngstarter-ui-components-select.d.ts +5 -1
- package/fesm2022/ngstarter-ui-components-form-renderer-autocomplete-many-field-BZBE7KSU.mjs.map +0 -1
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ngstarter-ui/components",
|
|
3
3
|
"description": "NgStarter - AI-friendly Enterprise Angular UI Components and Admin Panel",
|
|
4
|
-
"version": "21.0.
|
|
4
|
+
"version": "21.0.20",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
7
7
|
"url": "https://github.com/elementarlabsdev/ngstarter.git"
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
-
import { ElementRef, AfterContentInit, DoCheck } from '@angular/core';
|
|
2
|
+
import { ElementRef, AfterContentInit, OnDestroy, DoCheck } from '@angular/core';
|
|
3
3
|
import { ControlValueAccessor, NgControl } from '@angular/forms';
|
|
4
4
|
import { FormFieldControl } from '@ngstarter-ui/components/form-field';
|
|
5
5
|
|
|
@@ -20,7 +20,7 @@ declare class Chip {
|
|
|
20
20
|
_handleKeydown(event: KeyboardEvent): void;
|
|
21
21
|
_handleBlur(): void;
|
|
22
22
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<Chip, never>;
|
|
23
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<Chip, "ngs-chip",
|
|
23
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<Chip, "ngs-chip", ["ngsChip"], { "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "destroyed": "destroyed"; "removed": "removed"; }, never, ["ngs-chip-avatar, [ngsChipAvatar]", "ngs-chip-shape, [ngsChipShape]", "*", "ngs-chip-remove, [ngsChipRemove], [ngsChipControl], [ngsChipEdit]"], true, never>;
|
|
24
24
|
}
|
|
25
25
|
|
|
26
26
|
interface ChipEditedEvent {
|
|
@@ -67,6 +67,7 @@ declare class ChipGrid implements ControlValueAccessor, AfterContentInit, FormFi
|
|
|
67
67
|
readonly stateChanges: _angular_core.WritableSignal<void>;
|
|
68
68
|
private _focused;
|
|
69
69
|
get focused(): boolean;
|
|
70
|
+
get multiline(): boolean;
|
|
70
71
|
private _errorState;
|
|
71
72
|
get errorState(): boolean;
|
|
72
73
|
private _chipsLength;
|
|
@@ -99,7 +100,7 @@ declare class ChipGrid implements ControlValueAccessor, AfterContentInit, FormFi
|
|
|
99
100
|
|
|
100
101
|
declare class ChipOption extends Chip {
|
|
101
102
|
selected: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
102
|
-
private _internalSelected;
|
|
103
|
+
private readonly _internalSelected;
|
|
103
104
|
constructor();
|
|
104
105
|
get isSelected(): boolean;
|
|
105
106
|
_setSelected(value: boolean): void;
|
|
@@ -109,14 +110,18 @@ declare class ChipOption extends Chip {
|
|
|
109
110
|
}>;
|
|
110
111
|
toggleSelected(): void;
|
|
111
112
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChipOption, never>;
|
|
112
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChipOption, "ngs-chip-option",
|
|
113
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChipOption, "ngs-chip-option", ["ngsChipOption"], { "selected": { "alias": "selected"; "required": false; "isSignal": true; }; }, { "selectionChange": "selectionChange"; }, never, ["ngs-chip-avatar, [ngsChipAvatar]", "ngs-chip-shape, [ngsChipShape]", "*", "ngs-chip-remove, [ngsChipRemove], [ngsChipControl], [ngsChipEdit]"], true, never>;
|
|
113
114
|
}
|
|
114
115
|
|
|
115
|
-
declare class ChipListbox implements ControlValueAccessor, AfterContentInit {
|
|
116
|
+
declare class ChipListbox implements ControlValueAccessor, AfterContentInit, OnDestroy {
|
|
116
117
|
multiple: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
117
118
|
disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
119
|
+
private readonly _disabledByControl;
|
|
120
|
+
readonly isDisabled: _angular_core.Signal<boolean>;
|
|
118
121
|
readonly _chips: _angular_core.Signal<readonly ChipOption[]>;
|
|
119
122
|
private readonly _chips$;
|
|
123
|
+
private _chipSelectionSubscriptions;
|
|
124
|
+
private _syncTimeout;
|
|
120
125
|
private _value;
|
|
121
126
|
onChange: (value: any) => void;
|
|
122
127
|
onTouched: () => void;
|
|
@@ -127,7 +132,11 @@ declare class ChipListbox implements ControlValueAccessor, AfterContentInit {
|
|
|
127
132
|
registerOnTouched(fn: any): void;
|
|
128
133
|
setDisabledState(isDisabled: boolean): void;
|
|
129
134
|
ngAfterContentInit(): void;
|
|
135
|
+
ngOnDestroy(): void;
|
|
130
136
|
private _onSelectionChange;
|
|
137
|
+
private _watchChips;
|
|
138
|
+
private _clearChipSelectionSubscriptions;
|
|
139
|
+
private _syncChipsAsync;
|
|
131
140
|
private _updateChips;
|
|
132
141
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChipListbox, never>;
|
|
133
142
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChipListbox, "ngs-chip-listbox", never, { "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, ["_chips"], ["*"], true, never>;
|
|
@@ -170,7 +179,7 @@ declare class ChipInput implements DoCheck {
|
|
|
170
179
|
chipGridInput: _angular_core.InputSignal<ChipGrid | undefined>;
|
|
171
180
|
chipInputSeparatorKeyCodes: _angular_core.InputSignal<ReadonlySet<number> | readonly number[] | undefined>;
|
|
172
181
|
chipInputAddOnBlur: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
173
|
-
readonly chipInputTokenEnd: _angular_core.OutputEmitterRef<
|
|
182
|
+
readonly chipInputTokenEnd: _angular_core.OutputEmitterRef<ChipInputEvent>;
|
|
174
183
|
protected readonly _value: _angular_core.WritableSignal<string>;
|
|
175
184
|
protected readonly _focused: _angular_core.WritableSignal<boolean>;
|
|
176
185
|
constructor();
|
|
@@ -13,6 +13,7 @@ declare class CodeHighlighter implements OnChanges {
|
|
|
13
13
|
highlightLines: _angular_core.InputSignal<number[] | number[][]>;
|
|
14
14
|
showLanguage: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
15
15
|
showCopyButton: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
16
|
+
disableOverflow: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
16
17
|
readonly content: _angular_core.WritableSignal<SafeHtml | null>;
|
|
17
18
|
readonly isLoading: _angular_core.WritableSignal<boolean>;
|
|
18
19
|
readonly displayedLanguage: _angular_core.Signal<string>;
|
|
@@ -22,7 +23,7 @@ declare class CodeHighlighter implements OnChanges {
|
|
|
22
23
|
private copyTimeout?;
|
|
23
24
|
copyCode(): void;
|
|
24
25
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CodeHighlighter, never>;
|
|
25
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CodeHighlighter, "ngs-code-highlighter", ["ngsCodeHighlighter"], { "code": { "alias": "code"; "required": true; "isSignal": true; }; "language": { "alias": "language"; "required": false; "isSignal": true; }; "theme": { "alias": "theme"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "diff": { "alias": "diff"; "required": false; "isSignal": true; }; "highlightLines": { "alias": "highlightLines"; "required": false; "isSignal": true; }; "showLanguage": { "alias": "showLanguage"; "required": false; "isSignal": true; }; "showCopyButton": { "alias": "showCopyButton"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
26
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CodeHighlighter, "ngs-code-highlighter", ["ngsCodeHighlighter"], { "code": { "alias": "code"; "required": true; "isSignal": true; }; "language": { "alias": "language"; "required": false; "isSignal": true; }; "theme": { "alias": "theme"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "diff": { "alias": "diff"; "required": false; "isSignal": true; }; "highlightLines": { "alias": "highlightLines"; "required": false; "isSignal": true; }; "showLanguage": { "alias": "showLanguage"; "required": false; "isSignal": true; }; "showCopyButton": { "alias": "showCopyButton"; "required": false; "isSignal": true; }; "disableOverflow": { "alias": "disableOverflow"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
26
27
|
}
|
|
27
28
|
|
|
28
29
|
export { CodeHighlighter };
|
|
@@ -71,8 +71,9 @@ declare class IconButtonSuffix {
|
|
|
71
71
|
declare const FORM_FIELD: InjectionToken<any>;
|
|
72
72
|
|
|
73
73
|
declare class FormField {
|
|
74
|
+
readonly elementRef: ElementRef<any>;
|
|
74
75
|
subscriptHiddenIfEmpty: i0.InputSignalWithTransform<boolean, unknown>;
|
|
75
|
-
|
|
76
|
+
sameHeightAsButton: i0.InputSignalWithTransform<boolean, unknown>;
|
|
76
77
|
wrapper: i0.Signal<ElementRef<any>>;
|
|
77
78
|
container: i0.Signal<ElementRef<any>>;
|
|
78
79
|
control: i0.Signal<FormFieldControl<any> | undefined>;
|
|
@@ -92,7 +93,7 @@ declare class FormField {
|
|
|
92
93
|
protected _onClick(event: MouseEvent): void;
|
|
93
94
|
focus(): void;
|
|
94
95
|
static ɵfac: i0.ɵɵFactoryDeclaration<FormField, never>;
|
|
95
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<FormField, "ngs-form-field", ["ngsFormField"], { "subscriptHiddenIfEmpty": { "alias": "subscriptHiddenIfEmpty"; "required": false; "isSignal": true; }; }, {}, ["control", "labelChild", "prefixChildren", "iconPrefixChildren", "iconButtonPrefixChildren", "textPrefixChildren", "suffixChildren", "iconSuffixChildren", "iconButtonSuffixChildren", "textSuffixChildren", "hintChildren", "errorChildren"], ["[ngsPrefix]", "[ngsIconPrefix]", "[ngsIconButtonPrefix]", "[ngsTextPrefix]", "ngs-label", "*", "[ngsTextSuffix]", "[ngsIconButtonSuffix]", "[ngsIconSuffix]", "[ngsSuffix]", "ngs-error", "ngs-hint"], true, never>;
|
|
96
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FormField, "ngs-form-field", ["ngsFormField"], { "subscriptHiddenIfEmpty": { "alias": "subscriptHiddenIfEmpty"; "required": false; "isSignal": true; }; "sameHeightAsButton": { "alias": "sameHeightAsButton"; "required": false; "isSignal": true; }; }, {}, ["control", "labelChild", "prefixChildren", "iconPrefixChildren", "iconButtonPrefixChildren", "textPrefixChildren", "suffixChildren", "iconSuffixChildren", "iconButtonSuffixChildren", "textSuffixChildren", "hintChildren", "errorChildren"], ["[ngsPrefix]", "[ngsIconPrefix]", "[ngsIconButtonPrefix]", "[ngsTextPrefix]", "ngs-label", "*", "[ngsTextSuffix]", "[ngsIconButtonSuffix]", "[ngsIconSuffix]", "[ngsSuffix]", "ngs-error", "ngs-hint"], true, never>;
|
|
96
97
|
}
|
|
97
98
|
|
|
98
99
|
interface FormFieldDefaultOptions {
|
|
@@ -65,9 +65,9 @@ declare class ListItem {
|
|
|
65
65
|
}
|
|
66
66
|
|
|
67
67
|
declare class SelectionList extends List implements OnInit {
|
|
68
|
+
readonly options: i0.Signal<readonly any[]>;
|
|
68
69
|
multiple: i0.InputSignalWithTransform<boolean, unknown>;
|
|
69
70
|
readonly selectionChange: i0.OutputEmitterRef<any>;
|
|
70
|
-
readonly options: i0.Signal<readonly any[]>;
|
|
71
71
|
selectedOptions: SelectionModel<ListOption>;
|
|
72
72
|
constructor();
|
|
73
73
|
ngOnInit(): void;
|
|
@@ -21,8 +21,10 @@ declare class PanelHeader {
|
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
declare class PanelSubheader {
|
|
24
|
+
flex: i0.InputSignalWithTransform<boolean, unknown>;
|
|
25
|
+
autoHeight: i0.InputSignalWithTransform<boolean, unknown>;
|
|
24
26
|
static ɵfac: i0.ɵɵFactoryDeclaration<PanelSubheader, never>;
|
|
25
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<PanelSubheader, "ngs-panel-subheader", ["ngsPanelSubheader"], {}, {}, never,
|
|
27
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<PanelSubheader, "ngs-panel-subheader", ["ngsPanelSubheader"], { "flex": { "alias": "flex"; "required": false; "isSignal": true; }; "autoHeight": { "alias": "autoHeight"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
26
28
|
}
|
|
27
29
|
|
|
28
30
|
declare class PanelFooter {
|
|
@@ -81,6 +81,7 @@ declare class Select implements ControlValueAccessor, OnDestroy, AfterContentIni
|
|
|
81
81
|
get required(): boolean;
|
|
82
82
|
multiple: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
83
83
|
hideCheckIcon: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
84
|
+
clearable: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
84
85
|
ariaLabel: _angular_core.InputSignal<string | null>;
|
|
85
86
|
tabIndex: _angular_core.InputSignalWithTransform<number, any>;
|
|
86
87
|
ariaDescribedby: _angular_core.InputSignal<string | null>;
|
|
@@ -110,6 +111,8 @@ declare class Select implements ControlValueAccessor, OnDestroy, AfterContentIni
|
|
|
110
111
|
get errorState(): boolean;
|
|
111
112
|
private _empty;
|
|
112
113
|
get empty(): boolean;
|
|
114
|
+
readonly hasValue: _angular_core.Signal<boolean>;
|
|
115
|
+
protected readonly showClearButton: _angular_core.Signal<boolean>;
|
|
113
116
|
private _shouldLabelFloat;
|
|
114
117
|
get shouldLabelFloat(): boolean;
|
|
115
118
|
_onChange: (value: any) => void;
|
|
@@ -127,6 +130,7 @@ declare class Select implements ControlValueAccessor, OnDestroy, AfterContentIni
|
|
|
127
130
|
toggle(): void;
|
|
128
131
|
open(): void;
|
|
129
132
|
close(): void;
|
|
133
|
+
clear(event?: MouseEvent): void;
|
|
130
134
|
_onPositionChange(event: any): void;
|
|
131
135
|
_onFocus(): void;
|
|
132
136
|
_onBlur(): void;
|
|
@@ -145,7 +149,7 @@ declare class Select implements ControlValueAccessor, OnDestroy, AfterContentIni
|
|
|
145
149
|
private _getOptionData;
|
|
146
150
|
private _selectValue;
|
|
147
151
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<Select, never>;
|
|
148
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<Select, "ngs-select", ["ngsSelect"], { "_id": { "alias": "id"; "required": false; "isSignal": true; }; "_placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "_disabledInput": { "alias": "disabled"; "required": false; "isSignal": true; }; "_required": { "alias": "required"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "hideCheckIcon": { "alias": "hideCheckIcon"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "aria-label"; "required": false; "isSignal": true; }; "tabIndex": { "alias": "tabIndex"; "required": false; "isSignal": true; }; "ariaDescribedby": { "alias": "aria-describedby"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "selectionChange": "selectionChange"; "opened": "opened"; "closed": "closed"; "value": "valueChange"; }, ["selectBody", "options", "optionGroups", "customTrigger", "filterTrigger"], ["ngs-select-trigger", "ngs-filter-trigger", "ngs-select-header", "ngs-select-body", "ngs-optgroup,ngs-option", "*", "ngs-select-footer"], true, never>;
|
|
152
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<Select, "ngs-select", ["ngsSelect"], { "_id": { "alias": "id"; "required": false; "isSignal": true; }; "_placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "_disabledInput": { "alias": "disabled"; "required": false; "isSignal": true; }; "_required": { "alias": "required"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "hideCheckIcon": { "alias": "hideCheckIcon"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "aria-label"; "required": false; "isSignal": true; }; "tabIndex": { "alias": "tabIndex"; "required": false; "isSignal": true; }; "ariaDescribedby": { "alias": "aria-describedby"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "selectionChange": "selectionChange"; "opened": "opened"; "closed": "closed"; "value": "valueChange"; }, ["selectBody", "options", "optionGroups", "customTrigger", "filterTrigger"], ["ngs-select-trigger", "ngs-filter-trigger", "ngs-select-header", "ngs-select-body", "ngs-optgroup,ngs-option", "*", "ngs-select-footer"], true, never>;
|
|
149
153
|
}
|
|
150
154
|
|
|
151
155
|
declare class SelectHeader {
|
package/fesm2022/ngstarter-ui-components-form-renderer-autocomplete-many-field-BZBE7KSU.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ngstarter-ui-components-form-renderer-autocomplete-many-field-BZBE7KSU.mjs","sources":["../../../projects/components/form-renderer/src/fields/autocomplete-many-field/autocomplete-many-field.ts","../../../projects/components/form-renderer/src/fields/autocomplete-many-field/autocomplete-many-field.html"],"sourcesContent":["import { Component, ElementRef, inject, input, OnInit, viewChild } from '@angular/core';\nimport { FormControl, FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport {\n Autocomplete,\n AutocompleteSelectedEvent,\n AutocompleteTrigger\n} from '@ngstarter-ui/components/autocomplete';\nimport { Option } from '@ngstarter-ui/components/option';\nimport { ChipGrid, ChipInput, ChipInputEvent, ChipRemove, ChipRow } from '@ngstarter-ui/components/chips';\nimport { ComponentConfig } from '../../models/form-config.model';\nimport { COMMA, ENTER } from '@angular/cdk/keycodes';\nimport { Error, FormField, Hint, Label } from '@ngstarter-ui/components/form-field';\nimport { Icon } from '@ngstarter-ui/components/icon';\nimport { catchError, debounceTime, distinctUntilChanged, Observable, of, startWith, switchMap, tap } from 'rxjs';\nimport { ProgressSpinner } from '@ngstarter-ui/components/spinner';\nimport { AsyncPipe } from '@angular/common';\nimport { HttpClient, HttpParams } from '@angular/common/http';\n\n@Component({\n selector: 'ngs-autocomplete-many-field',\n imports: [\n FormsModule,\n Autocomplete,\n AutocompleteTrigger,\n ChipGrid,\n ChipInput,\n ChipRemove,\n ChipRow,\n Error,\n FormField,\n Hint,\n Icon,\n Label,\n Option,\n ReactiveFormsModule,\n ProgressSpinner,\n AsyncPipe\n ],\n templateUrl: './autocomplete-many-field.html',\n styleUrl: './autocomplete-many-field.scss'\n})\nexport class AutocompleteManyField implements OnInit {\n private httpClient = inject(HttpClient);\n\n control = input.required<FormControl>();\n config = input.required<ComponentConfig>();\n\n readonly separatorKeysCodes: number[] = [ENTER, COMMA];\n readonly chipsCtrl = new FormControl('');\n readonly input = viewChild.required<ElementRef<HTMLInputElement>>('input');\n readonly value: any[] = [];\n\n filteredOptions$!: Observable<any[]>;\n isLoading = false;\n\n ngOnInit() {\n this.filteredOptions$ = this.chipsCtrl.valueChanges.pipe(\n startWith(''),\n tap(() => this.isLoading = true),\n debounceTime(300),\n distinctUntilChanged(),\n switchMap((query: any) => {\n if (!query || !query.trim()) {\n return of([]);\n }\n const params = new HttpParams().set('query', query || '');\n return this.httpClient.get<any[]>(this.config().payload?.['autocompleteUrl'], {\n params\n });\n }),\n tap(() => this.isLoading = false)\n );\n }\n\n getErrorMessage(): string {\n const errors = this.control().errors;\n\n if (!errors) {\n return '';\n }\n\n const errorKey = Object.keys(errors)[0];\n const validator = this.config().validators?.find((v: any) => v.type === errorKey);\n return validator?.message || 'Invalid value';\n }\n\n get options() {\n return this.config()?.payload?.['options'] || [];\n }\n\n get bindValue() {\n return this.config().bindValue || 'id';\n }\n\n get bindName() {\n return this.config().bindName || 'name';\n }\n\n add(event: ChipInputEvent): void {\n const name = (event.value || '').trim();\n const hasValue = this.value.find(\n v => v[this.bindName].toLowerCase() === name.toLowerCase()\n );\n\n if (name && !hasValue) {\n this.value.push({\n [this.bindValue]: null,\n [this.bindName]: name,\n });\n }\n\n event.chipInput!.clear();\n this.chipsCtrl.setValue(null);\n this.isLoading = false;\n this.calculateControlValue();\n }\n\n remove(chip: any): void {\n const index = this.value.indexOf(chip);\n\n if (index >= 0) {\n this.value.splice(index, 1);\n this.calculateControlValue();\n }\n }\n\n onSelected(event: AutocompleteSelectedEvent): void {\n const hasValue = this.value.find(\n v => v[this.bindName].toLowerCase() === (event.option.value as any)[this.bindName].toLowerCase()\n );\n\n if (!hasValue) {\n this.value.push(event.option.value);\n }\n\n this.input().nativeElement.value = '';\n this.chipsCtrl.setValue(null);\n this.calculateControlValue();\n this.isLoading = false;\n }\n\n private calculateControlValue() {\n const value = this.value.map(v => {\n const itemValue = v[this.bindValue];\n\n if (itemValue) {\n return {\n [this.bindValue]: itemValue,\n };\n }\n\n return v;\n });\n this.control().setValue(value);\n }\n}\n","@if (control() && config()) {\n <ngs-form-field>\n <ngs-label>{{ config().label }}</ngs-label>\n <ngs-chip-grid #chipGrid>\n @for (option of value; track option) {\n <ngs-chip-row (removed)=\"remove(option)\">\n {{ option[bindName] }}\n <button ngsChipRemove>\n <ngs-icon name=\"fluent:dismiss-circle-24-regular\"/>\n </button>\n </ngs-chip-row>\n }\n </ngs-chip-grid>\n <input [placeholder]=\"config().placeholder\"\n #input\n maxlength=\"30\"\n [formControl]=\"chipsCtrl\"\n [ngsChipInputFor]=\"chipGrid\"\n [ngsAutocomplete]=\"autocomplete\"\n [ngsChipInputSeparatorKeyCodes]=\"separatorKeysCodes\"\n (chipInputTokenEnd)=\"add($event)\">\n @if (isLoading) {\n <div class=\"loader\">\n <ngs-progress-spinner\n mode=\"indeterminate\"\n [diameter]=\"20\"/>\n </div>\n }\n <ngs-autocomplete #autocomplete=\"ngsAutocomplete\" (optionSelected)=\"onSelected($event)\">\n @for (option of filteredOptions$ | async; track option) {\n <ngs-option [value]=\"option\">{{ option[bindName] }}</ngs-option>\n }\n\n @if (!(filteredOptions$ | async)?.length && !isLoading && chipsCtrl.value) {\n <ngs-option disabled>\n No search results found.\n </ngs-option>\n }\n </ngs-autocomplete>\n <ngs-hint>{{ config().hint }}</ngs-hint>\n @if (control().invalid && control().touched) {\n <ngs-error>{{ getErrorMessage() }}</ngs-error>\n }\n </ngs-form-field>\n}\n"],"names":[],"mappings":"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"}
|