@ngneers/controls 0.0.1-next.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/ngneers-controls-accordion.mjs +234 -0
- package/fesm2022/ngneers-controls-accordion.mjs.map +1 -0
- package/fesm2022/ngneers-controls-api-ng.mjs +959 -0
- package/fesm2022/ngneers-controls-api-ng.mjs.map +1 -0
- package/fesm2022/ngneers-controls-api-resize.mjs +712 -0
- package/fesm2022/ngneers-controls-api-resize.mjs.map +1 -0
- package/fesm2022/ngneers-controls-api.mjs +347 -0
- package/fesm2022/ngneers-controls-api.mjs.map +1 -0
- package/fesm2022/ngneers-controls-avatar.mjs +77 -0
- package/fesm2022/ngneers-controls-avatar.mjs.map +1 -0
- package/fesm2022/ngneers-controls-base.mjs +620 -0
- package/fesm2022/ngneers-controls-base.mjs.map +1 -0
- package/fesm2022/ngneers-controls-breadcrumb.mjs +100 -0
- package/fesm2022/ngneers-controls-breadcrumb.mjs.map +1 -0
- package/fesm2022/ngneers-controls-button-group.mjs +110 -0
- package/fesm2022/ngneers-controls-button-group.mjs.map +1 -0
- package/fesm2022/ngneers-controls-button.mjs +83 -0
- package/fesm2022/ngneers-controls-button.mjs.map +1 -0
- package/fesm2022/ngneers-controls-calendar-time-CJT5AFlA.mjs +74 -0
- package/fesm2022/ngneers-controls-calendar-time-CJT5AFlA.mjs.map +1 -0
- package/fesm2022/ngneers-controls-calendar.mjs +801 -0
- package/fesm2022/ngneers-controls-calendar.mjs.map +1 -0
- package/fesm2022/ngneers-controls-checkbox.mjs +63 -0
- package/fesm2022/ngneers-controls-checkbox.mjs.map +1 -0
- package/fesm2022/ngneers-controls-chip.mjs +55 -0
- package/fesm2022/ngneers-controls-chip.mjs.map +1 -0
- package/fesm2022/ngneers-controls-default-icons.mjs +82 -0
- package/fesm2022/ngneers-controls-default-icons.mjs.map +1 -0
- package/fesm2022/ngneers-controls-defer.mjs +72 -0
- package/fesm2022/ngneers-controls-defer.mjs.map +1 -0
- package/fesm2022/ngneers-controls-dialog.mjs +407 -0
- package/fesm2022/ngneers-controls-dialog.mjs.map +1 -0
- package/fesm2022/ngneers-controls-directives.mjs +498 -0
- package/fesm2022/ngneers-controls-directives.mjs.map +1 -0
- package/fesm2022/ngneers-controls-drawer.mjs +271 -0
- package/fesm2022/ngneers-controls-drawer.mjs.map +1 -0
- package/fesm2022/ngneers-controls-edit-inplace.mjs +127 -0
- package/fesm2022/ngneers-controls-edit-inplace.mjs.map +1 -0
- package/fesm2022/ngneers-controls-errors.mjs +329 -0
- package/fesm2022/ngneers-controls-errors.mjs.map +1 -0
- package/fesm2022/ngneers-controls-filter.mjs +708 -0
- package/fesm2022/ngneers-controls-filter.mjs.map +1 -0
- package/fesm2022/ngneers-controls-hint.mjs +153 -0
- package/fesm2022/ngneers-controls-hint.mjs.map +1 -0
- package/fesm2022/ngneers-controls-i18n-translations-de.mjs +170 -0
- package/fesm2022/ngneers-controls-i18n-translations-de.mjs.map +1 -0
- package/fesm2022/ngneers-controls-i18n-translations-en.mjs +170 -0
- package/fesm2022/ngneers-controls-i18n-translations-en.mjs.map +1 -0
- package/fesm2022/ngneers-controls-i18n.mjs +57 -0
- package/fesm2022/ngneers-controls-i18n.mjs.map +1 -0
- package/fesm2022/ngneers-controls-icon.mjs +195 -0
- package/fesm2022/ngneers-controls-icon.mjs.map +1 -0
- package/fesm2022/ngneers-controls-inplace.mjs +150 -0
- package/fesm2022/ngneers-controls-inplace.mjs.map +1 -0
- package/fesm2022/ngneers-controls-input-field.mjs +165 -0
- package/fesm2022/ngneers-controls-input-field.mjs.map +1 -0
- package/fesm2022/ngneers-controls-input.mjs +72 -0
- package/fesm2022/ngneers-controls-input.mjs.map +1 -0
- package/fesm2022/ngneers-controls-item-view.mjs +473 -0
- package/fesm2022/ngneers-controls-item-view.mjs.map +1 -0
- package/fesm2022/ngneers-controls-list-box.mjs +281 -0
- package/fesm2022/ngneers-controls-list-box.mjs.map +1 -0
- package/fesm2022/ngneers-controls-mask-input.mjs +888 -0
- package/fesm2022/ngneers-controls-mask-input.mjs.map +1 -0
- package/fesm2022/ngneers-controls-menu.mjs +371 -0
- package/fesm2022/ngneers-controls-menu.mjs.map +1 -0
- package/fesm2022/ngneers-controls-message.mjs +30 -0
- package/fesm2022/ngneers-controls-message.mjs.map +1 -0
- package/fesm2022/ngneers-controls-number-input.mjs +366 -0
- package/fesm2022/ngneers-controls-number-input.mjs.map +1 -0
- package/fesm2022/ngneers-controls-paginator.mjs +129 -0
- package/fesm2022/ngneers-controls-paginator.mjs.map +1 -0
- package/fesm2022/ngneers-controls-popover.mjs +215 -0
- package/fesm2022/ngneers-controls-popover.mjs.map +1 -0
- package/fesm2022/ngneers-controls-progress.mjs +98 -0
- package/fesm2022/ngneers-controls-progress.mjs.map +1 -0
- package/fesm2022/ngneers-controls-radio.mjs +152 -0
- package/fesm2022/ngneers-controls-radio.mjs.map +1 -0
- package/fesm2022/ngneers-controls-roving-focus.mjs +323 -0
- package/fesm2022/ngneers-controls-roving-focus.mjs.map +1 -0
- package/fesm2022/ngneers-controls-scroll-shadow.mjs +65 -0
- package/fesm2022/ngneers-controls-scroll-shadow.mjs.map +1 -0
- package/fesm2022/ngneers-controls-scroller.mjs +308 -0
- package/fesm2022/ngneers-controls-scroller.mjs.map +1 -0
- package/fesm2022/ngneers-controls-select-button.mjs +58 -0
- package/fesm2022/ngneers-controls-select-button.mjs.map +1 -0
- package/fesm2022/ngneers-controls-select.mjs +417 -0
- package/fesm2022/ngneers-controls-select.mjs.map +1 -0
- package/fesm2022/ngneers-controls-slider.mjs +167 -0
- package/fesm2022/ngneers-controls-slider.mjs.map +1 -0
- package/fesm2022/ngneers-controls-snackbar.mjs +414 -0
- package/fesm2022/ngneers-controls-snackbar.mjs.map +1 -0
- package/fesm2022/ngneers-controls-spin-buttons.mjs +126 -0
- package/fesm2022/ngneers-controls-spin-buttons.mjs.map +1 -0
- package/fesm2022/ngneers-controls-spinner.mjs +184 -0
- package/fesm2022/ngneers-controls-spinner.mjs.map +1 -0
- package/fesm2022/ngneers-controls-splitter.mjs +604 -0
- package/fesm2022/ngneers-controls-splitter.mjs.map +1 -0
- package/fesm2022/ngneers-controls-state.mjs +185 -0
- package/fesm2022/ngneers-controls-state.mjs.map +1 -0
- package/fesm2022/ngneers-controls-switch.mjs +39 -0
- package/fesm2022/ngneers-controls-switch.mjs.map +1 -0
- package/fesm2022/ngneers-controls-table.mjs +2634 -0
- package/fesm2022/ngneers-controls-table.mjs.map +1 -0
- package/fesm2022/ngneers-controls-tabs.mjs +336 -0
- package/fesm2022/ngneers-controls-tabs.mjs.map +1 -0
- package/fesm2022/ngneers-controls-tag.mjs +30 -0
- package/fesm2022/ngneers-controls-tag.mjs.map +1 -0
- package/fesm2022/ngneers-controls-toast.mjs +350 -0
- package/fesm2022/ngneers-controls-toast.mjs.map +1 -0
- package/fesm2022/ngneers-controls-toggle-button.mjs +70 -0
- package/fesm2022/ngneers-controls-toggle-button.mjs.map +1 -0
- package/fesm2022/ngneers-controls-tooltip.mjs +506 -0
- package/fesm2022/ngneers-controls-tooltip.mjs.map +1 -0
- package/fesm2022/ngneers-controls-tree.mjs +599 -0
- package/fesm2022/ngneers-controls-tree.mjs.map +1 -0
- package/fesm2022/ngneers-controls-upload.mjs +377 -0
- package/fesm2022/ngneers-controls-upload.mjs.map +1 -0
- package/fesm2022/ngneers-controls-utils-ng.mjs +411 -0
- package/fesm2022/ngneers-controls-utils-ng.mjs.map +1 -0
- package/fesm2022/ngneers-controls-utils.mjs +261 -0
- package/fesm2022/ngneers-controls-utils.mjs.map +1 -0
- package/fesm2022/ngneers-controls.mjs +6 -0
- package/fesm2022/ngneers-controls.mjs.map +1 -0
- package/package.json +302 -0
- package/types/ngneers-controls-accordion.d.ts +139 -0
- package/types/ngneers-controls-api-ng.d.ts +364 -0
- package/types/ngneers-controls-api-resize.d.ts +318 -0
- package/types/ngneers-controls-api.d.ts +145 -0
- package/types/ngneers-controls-avatar.d.ts +54 -0
- package/types/ngneers-controls-base.d.ts +277 -0
- package/types/ngneers-controls-breadcrumb.d.ts +272 -0
- package/types/ngneers-controls-button-group.d.ts +46 -0
- package/types/ngneers-controls-button.d.ts +48 -0
- package/types/ngneers-controls-calendar.d.ts +466 -0
- package/types/ngneers-controls-checkbox.d.ts +40 -0
- package/types/ngneers-controls-chip.d.ts +202 -0
- package/types/ngneers-controls-default-icons.d.ts +5 -0
- package/types/ngneers-controls-defer.d.ts +48 -0
- package/types/ngneers-controls-dialog.d.ts +399 -0
- package/types/ngneers-controls-directives.d.ts +171 -0
- package/types/ngneers-controls-drawer.d.ts +308 -0
- package/types/ngneers-controls-edit-inplace.d.ts +263 -0
- package/types/ngneers-controls-errors.d.ts +155 -0
- package/types/ngneers-controls-filter.d.ts +609 -0
- package/types/ngneers-controls-hint.d.ts +88 -0
- package/types/ngneers-controls-i18n-translations-de.d.ts +164 -0
- package/types/ngneers-controls-i18n-translations-en.d.ts +164 -0
- package/types/ngneers-controls-i18n.d.ts +186 -0
- package/types/ngneers-controls-icon.d.ts +68 -0
- package/types/ngneers-controls-inplace.d.ts +98 -0
- package/types/ngneers-controls-input-field.d.ts +248 -0
- package/types/ngneers-controls-input.d.ts +30 -0
- package/types/ngneers-controls-item-view.d.ts +215 -0
- package/types/ngneers-controls-list-box.d.ts +334 -0
- package/types/ngneers-controls-mask-input.d.ts +434 -0
- package/types/ngneers-controls-menu.d.ts +192 -0
- package/types/ngneers-controls-message.d.ts +21 -0
- package/types/ngneers-controls-number-input.d.ts +146 -0
- package/types/ngneers-controls-paginator.d.ts +255 -0
- package/types/ngneers-controls-popover.d.ts +116 -0
- package/types/ngneers-controls-progress.d.ts +49 -0
- package/types/ngneers-controls-radio.d.ts +91 -0
- package/types/ngneers-controls-roving-focus.d.ts +107 -0
- package/types/ngneers-controls-scroll-shadow.d.ts +25 -0
- package/types/ngneers-controls-scroller.d.ts +151 -0
- package/types/ngneers-controls-select-button.d.ts +51 -0
- package/types/ngneers-controls-select.d.ts +409 -0
- package/types/ngneers-controls-slider.d.ts +57 -0
- package/types/ngneers-controls-snackbar.d.ts +330 -0
- package/types/ngneers-controls-spin-buttons.d.ts +69 -0
- package/types/ngneers-controls-spinner.d.ts +117 -0
- package/types/ngneers-controls-splitter.d.ts +465 -0
- package/types/ngneers-controls-state.d.ts +102 -0
- package/types/ngneers-controls-switch.d.ts +18 -0
- package/types/ngneers-controls-table.d.ts +3127 -0
- package/types/ngneers-controls-tabs.d.ts +118 -0
- package/types/ngneers-controls-tag.d.ts +21 -0
- package/types/ngneers-controls-toast.d.ts +298 -0
- package/types/ngneers-controls-toggle-button.d.ts +48 -0
- package/types/ngneers-controls-tooltip.d.ts +189 -0
- package/types/ngneers-controls-tree.d.ts +409 -0
- package/types/ngneers-controls-upload.d.ts +347 -0
- package/types/ngneers-controls-utils-ng.d.ts +129 -0
- package/types/ngneers-controls-utils.d.ts +130 -0
- package/types/ngneers-controls.d.ts +2 -0
|
@@ -0,0 +1,409 @@
|
|
|
1
|
+
import * as _ngneers_controls_custom_types from '@ngneers/controls-custom-types';
|
|
2
|
+
import * as _iconify_types from '@iconify/types';
|
|
3
|
+
import * as _angular_core from '@angular/core';
|
|
4
|
+
import { TemplateRef, Signal } from '@angular/core';
|
|
5
|
+
import * as _ngneers_signal_translate from '@ngneers/signal-translate';
|
|
6
|
+
import * as _ngneers_controls_api_ng from '@ngneers/controls/api/ng';
|
|
7
|
+
import * as _ngneers_controls_themes from '@ngneers/controls-themes';
|
|
8
|
+
import { NgnItem, FilterConfig, FilterFn, FilterConfigInternal } from '@ngneers/controls/api';
|
|
9
|
+
import { PopoverOptions } from '@ngneers/controls/popover';
|
|
10
|
+
import { InputGeneric, maybeCallback } from '@ngneers/controls/utils';
|
|
11
|
+
import { ValueControlBase } from '@ngneers/controls/base';
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* This type determines the value type for the select control.
|
|
15
|
+
* * If `multiple` is true, the value is an array of items: `T[K][]`.
|
|
16
|
+
* * If `editable` is true, the value is a `string`.
|
|
17
|
+
* * If neither is true, the value is the item's value type `T[K]`.
|
|
18
|
+
*/
|
|
19
|
+
type ValueType<V, Editable extends boolean, Multiple extends boolean> = InputGeneric<Multiple, false> extends true ? V[] : InputGeneric<Editable, false> extends true ? string : V;
|
|
20
|
+
declare abstract class SelectTemplates<V, Editable extends boolean, Multiple extends boolean> extends ValueControlBase<'select', ValueType<V, Editable, Multiple> | null> {
|
|
21
|
+
private readonly _defaultItemTemplate;
|
|
22
|
+
private readonly _userItemTemplate;
|
|
23
|
+
/**
|
|
24
|
+
* Set a custom template for an item of the select control.
|
|
25
|
+
* Can also be set using an `<ng-template>` element with `#item` template reference variable.
|
|
26
|
+
*/
|
|
27
|
+
readonly templateItem: _angular_core.InputSignal<TemplateRef<{
|
|
28
|
+
$implicit: NgnItem<unknown, V> | undefined;
|
|
29
|
+
}> | null>;
|
|
30
|
+
protected readonly itemTemplate: _angular_core.Signal<TemplateRef<{
|
|
31
|
+
$implicit: NgnItem<unknown, V> | undefined;
|
|
32
|
+
}>>;
|
|
33
|
+
private readonly _defaultSelectedItemTemplate;
|
|
34
|
+
private readonly _userSelectedItemTemplate;
|
|
35
|
+
/**
|
|
36
|
+
* Set a custom template for the selected item of the select control.
|
|
37
|
+
* Can also be set using an `<ng-template>` element with `#selectedItem` template reference variable.
|
|
38
|
+
*/
|
|
39
|
+
readonly templateSelectedItem: _angular_core.InputSignal<TemplateRef<{
|
|
40
|
+
$implicit: NgnItem<unknown, V> | undefined;
|
|
41
|
+
}> | null>;
|
|
42
|
+
protected readonly selectedItemTemplate: _angular_core.Signal<TemplateRef<{
|
|
43
|
+
$implicit: NgnItem<unknown, V> | undefined;
|
|
44
|
+
}>>;
|
|
45
|
+
private readonly _defaultSelectedItemsTemplate;
|
|
46
|
+
private readonly _userSelectedItemsTemplate;
|
|
47
|
+
/**
|
|
48
|
+
* Set a custom template for the selected items of the select control if {@link multiple} is `true`.
|
|
49
|
+
* Can also be set using an `<ng-template>` element with `#selectedItems` template reference variable.
|
|
50
|
+
*/
|
|
51
|
+
readonly templateSelectedItems: _angular_core.InputSignal<TemplateRef<{
|
|
52
|
+
$implicit: NgnItem<unknown, V>[];
|
|
53
|
+
}> | null>;
|
|
54
|
+
protected readonly selectedItemsTemplate: _angular_core.Signal<TemplateRef<{
|
|
55
|
+
$implicit: NgnItem<unknown, V>[];
|
|
56
|
+
}>>;
|
|
57
|
+
private readonly _defaultGroupTemplate;
|
|
58
|
+
private readonly _userGroupTemplate;
|
|
59
|
+
/**
|
|
60
|
+
* Set a custom template for a group in the select control.
|
|
61
|
+
* Can also be set using an `<ng-template>` element with `#group` template reference variable.
|
|
62
|
+
*/
|
|
63
|
+
readonly templateGroup: _angular_core.InputSignal<TemplateRef<{
|
|
64
|
+
$implicit: NgnItem<unknown, V> | undefined;
|
|
65
|
+
}> | null>;
|
|
66
|
+
protected readonly groupTemplate: _angular_core.Signal<TemplateRef<{
|
|
67
|
+
$implicit: NgnItem<unknown, V> | undefined;
|
|
68
|
+
}>>;
|
|
69
|
+
private readonly _userNoItemsTemplate;
|
|
70
|
+
/**
|
|
71
|
+
* Set a custom template for the no items state of the select control.
|
|
72
|
+
* Can also be set using an `<ng-template>` element with `#noItems` template reference variable.
|
|
73
|
+
*/
|
|
74
|
+
readonly templateNoItems: _angular_core.InputSignal<TemplateRef<unknown> | null>;
|
|
75
|
+
protected readonly noItemsTemplate: _angular_core.Signal<TemplateRef<unknown> | null>;
|
|
76
|
+
/**
|
|
77
|
+
* Types for the dialog templates.
|
|
78
|
+
*/
|
|
79
|
+
readonly templateTypes: {
|
|
80
|
+
item: {
|
|
81
|
+
$implicit: NgnItem<unknown, V> | undefined;
|
|
82
|
+
};
|
|
83
|
+
selectedItems: {
|
|
84
|
+
$implicit: NgnItem<unknown, V>[];
|
|
85
|
+
};
|
|
86
|
+
} & {
|
|
87
|
+
$implicit: {
|
|
88
|
+
item: Partial<{
|
|
89
|
+
$implicit: NgnItem<unknown, V> | undefined;
|
|
90
|
+
}>;
|
|
91
|
+
selectedItems: Partial<{
|
|
92
|
+
$implicit: NgnItem<unknown, V>[];
|
|
93
|
+
}>;
|
|
94
|
+
};
|
|
95
|
+
};
|
|
96
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SelectTemplates<any, any, any>, never>;
|
|
97
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<SelectTemplates<any, any, any>, never, never, { "templateItem": { "alias": "templateItem"; "required": false; "isSignal": true; }; "templateSelectedItem": { "alias": "templateSelectedItem"; "required": false; "isSignal": true; }; "templateSelectedItems": { "alias": "templateSelectedItems"; "required": false; "isSignal": true; }; "templateGroup": { "alias": "templateGroup"; "required": false; "isSignal": true; }; "templateNoItems": { "alias": "templateNoItems"; "required": false; "isSignal": true; }; }, {}, ["_userItemTemplate", "_userSelectedItemTemplate", "_userSelectedItemsTemplate", "_userGroupTemplate", "_userNoItemsTemplate"], never, true, never>;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
type _SelectFilterOptions = {
|
|
101
|
+
clearFilterOnClose?: boolean;
|
|
102
|
+
};
|
|
103
|
+
type SelectFilterOptions<T extends object> = _SelectFilterOptions & FilterConfig<T>;
|
|
104
|
+
type SelectFilterOptionsInternal<T extends object> = _SelectFilterOptions & FilterConfigInternal<T>;
|
|
105
|
+
type SelectFilterFn<T extends object> = FilterFn<NgnItem<T>>;
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* @category control
|
|
109
|
+
*/
|
|
110
|
+
declare class NgnSelect<V, Editable extends boolean = false, Multiple extends boolean = false> extends SelectTemplates<V, Editable, Multiple> {
|
|
111
|
+
readonly isFieldControl = true;
|
|
112
|
+
protected readonly theme: _ngneers_controls_api_ng.ControlTemplateInfo<_ngneers_controls_themes.ControlTemplate<"select", ["root", "combobox", "input", "icon", "input-editable", "popover-content", "filter-icon", "list-box-empty"], readonly [{
|
|
113
|
+
readonly class: "popover";
|
|
114
|
+
readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
|
|
115
|
+
}, {
|
|
116
|
+
readonly class: "list-box";
|
|
117
|
+
readonly template: _ngneers_controls_themes.ControlTemplate<"list-box", ["root", "empty", "invalid", "item", "group", "default-item", "default-group", "item-selected", "item-highlighted", "item-disabled"], readonly [{
|
|
118
|
+
readonly class: "checkbox";
|
|
119
|
+
readonly template: _ngneers_controls_themes.ControlTemplate<"checkbox", ["root", "input", "box", "box-checked", "box-indeterminate", "box-icon", "box-icon-visible", "invalid"], readonly []>;
|
|
120
|
+
}, {
|
|
121
|
+
readonly class: "scroller";
|
|
122
|
+
readonly template: _ngneers_controls_themes.ControlTemplate<"scroller", ["root", "virtual", "item", "item-sticky"], readonly []>;
|
|
123
|
+
}]>;
|
|
124
|
+
}, {
|
|
125
|
+
readonly class: "filter";
|
|
126
|
+
readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
|
|
127
|
+
readonly class: "input";
|
|
128
|
+
readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
|
|
129
|
+
readonly projected: true;
|
|
130
|
+
}]>;
|
|
131
|
+
}]>>;
|
|
132
|
+
protected readonly i18n: _ngneers_signal_translate.TranslationsSignal<{
|
|
133
|
+
calendar: {
|
|
134
|
+
today: string;
|
|
135
|
+
input: string;
|
|
136
|
+
selectYear: string;
|
|
137
|
+
selectMonth: string;
|
|
138
|
+
previousMonth: string;
|
|
139
|
+
nextMonth: string;
|
|
140
|
+
weekdays: {
|
|
141
|
+
monday: string;
|
|
142
|
+
tuesday: string;
|
|
143
|
+
wednesday: string;
|
|
144
|
+
thursday: string;
|
|
145
|
+
friday: string;
|
|
146
|
+
saturday: string;
|
|
147
|
+
sunday: string;
|
|
148
|
+
};
|
|
149
|
+
weekdaysShort: {
|
|
150
|
+
monday: string;
|
|
151
|
+
tuesday: string;
|
|
152
|
+
wednesday: string;
|
|
153
|
+
thursday: string;
|
|
154
|
+
friday: string;
|
|
155
|
+
saturday: string;
|
|
156
|
+
sunday: string;
|
|
157
|
+
};
|
|
158
|
+
months: {
|
|
159
|
+
january: string;
|
|
160
|
+
february: string;
|
|
161
|
+
march: string;
|
|
162
|
+
april: string;
|
|
163
|
+
may: string;
|
|
164
|
+
june: string;
|
|
165
|
+
july: string;
|
|
166
|
+
august: string;
|
|
167
|
+
september: string;
|
|
168
|
+
october: string;
|
|
169
|
+
november: string;
|
|
170
|
+
december: string;
|
|
171
|
+
};
|
|
172
|
+
};
|
|
173
|
+
editInplace: {
|
|
174
|
+
placeholder: string;
|
|
175
|
+
confirm: string;
|
|
176
|
+
};
|
|
177
|
+
filter: {
|
|
178
|
+
noFilter: string;
|
|
179
|
+
addCondition: string;
|
|
180
|
+
removeCondition: string;
|
|
181
|
+
operator: string;
|
|
182
|
+
value: string;
|
|
183
|
+
clear: string;
|
|
184
|
+
apply: string;
|
|
185
|
+
cancel: string;
|
|
186
|
+
matchModeLabel: string;
|
|
187
|
+
match: {
|
|
188
|
+
all: string;
|
|
189
|
+
any: string;
|
|
190
|
+
and: string;
|
|
191
|
+
or: string;
|
|
192
|
+
};
|
|
193
|
+
selected: string;
|
|
194
|
+
conditions: string;
|
|
195
|
+
operators: {
|
|
196
|
+
isEqual: string;
|
|
197
|
+
isNotEqual: string;
|
|
198
|
+
contains: string;
|
|
199
|
+
startsWith: string;
|
|
200
|
+
endsWith: string;
|
|
201
|
+
in: string;
|
|
202
|
+
isEmpty: string;
|
|
203
|
+
isNotEmpty: string;
|
|
204
|
+
greaterThan: string;
|
|
205
|
+
greaterThanOrEqual: string;
|
|
206
|
+
lessThan: string;
|
|
207
|
+
lessThanOrEqual: string;
|
|
208
|
+
after: string;
|
|
209
|
+
onOrAfter: string;
|
|
210
|
+
before: string;
|
|
211
|
+
onOrBefore: string;
|
|
212
|
+
isTrue: string;
|
|
213
|
+
isFalse: string;
|
|
214
|
+
custom: string;
|
|
215
|
+
};
|
|
216
|
+
};
|
|
217
|
+
splitter: {
|
|
218
|
+
handleLabel: string;
|
|
219
|
+
};
|
|
220
|
+
inputField: {
|
|
221
|
+
clearInput: string;
|
|
222
|
+
};
|
|
223
|
+
maskInput: {
|
|
224
|
+
roleDescription: string;
|
|
225
|
+
segmentRange: string;
|
|
226
|
+
optionSeparator: string;
|
|
227
|
+
};
|
|
228
|
+
drawer: {
|
|
229
|
+
close: string;
|
|
230
|
+
};
|
|
231
|
+
dialog: {
|
|
232
|
+
close: string;
|
|
233
|
+
};
|
|
234
|
+
chip: {
|
|
235
|
+
close: string;
|
|
236
|
+
};
|
|
237
|
+
breadcrumb: {
|
|
238
|
+
overflow: string;
|
|
239
|
+
};
|
|
240
|
+
toast: {
|
|
241
|
+
close: string;
|
|
242
|
+
region: string;
|
|
243
|
+
};
|
|
244
|
+
snackbar: {
|
|
245
|
+
close: string;
|
|
246
|
+
region: string;
|
|
247
|
+
severity: {
|
|
248
|
+
error: string;
|
|
249
|
+
warning: string;
|
|
250
|
+
success: string;
|
|
251
|
+
info: string;
|
|
252
|
+
};
|
|
253
|
+
};
|
|
254
|
+
upload: {
|
|
255
|
+
upload: string;
|
|
256
|
+
uploadNamed: string;
|
|
257
|
+
retryNamed: string;
|
|
258
|
+
cancelNamed: string;
|
|
259
|
+
removeNamed: string;
|
|
260
|
+
progressNamed: string;
|
|
261
|
+
};
|
|
262
|
+
select: {
|
|
263
|
+
filterOptions: string;
|
|
264
|
+
};
|
|
265
|
+
paginator: {
|
|
266
|
+
previousPage: string;
|
|
267
|
+
nextPage: string;
|
|
268
|
+
};
|
|
269
|
+
listBox: {
|
|
270
|
+
noItemsFound: string;
|
|
271
|
+
};
|
|
272
|
+
tree: {
|
|
273
|
+
noItemsFound: string;
|
|
274
|
+
};
|
|
275
|
+
table: {
|
|
276
|
+
selectAllRows: string;
|
|
277
|
+
selectRow: string;
|
|
278
|
+
sortedBy: string;
|
|
279
|
+
sortAscending: string;
|
|
280
|
+
sortDescending: string;
|
|
281
|
+
sortCleared: string;
|
|
282
|
+
selectedCount: string;
|
|
283
|
+
page: string;
|
|
284
|
+
resultCount: string;
|
|
285
|
+
};
|
|
286
|
+
state: {
|
|
287
|
+
loading: string;
|
|
288
|
+
success: string;
|
|
289
|
+
warning: string;
|
|
290
|
+
error: string;
|
|
291
|
+
cancelled: string;
|
|
292
|
+
};
|
|
293
|
+
}, "_">;
|
|
294
|
+
private readonly _popover;
|
|
295
|
+
private readonly _field;
|
|
296
|
+
private readonly _customEditableInput;
|
|
297
|
+
private _customEditableSub?;
|
|
298
|
+
/**
|
|
299
|
+
* Options for the popover.
|
|
300
|
+
*/
|
|
301
|
+
readonly popoverOptions: _angular_core.InputSignal<PopoverOptions>;
|
|
302
|
+
protected readonly appliedPopoverOptions: Signal<PopoverOptions>;
|
|
303
|
+
/**
|
|
304
|
+
* The available options to choose from. They can either be
|
|
305
|
+
* * A list of {@link NgnItem} objects
|
|
306
|
+
* * A list of plain objects. You'll have to provide a {@link fields} input to specify how to map the plain objects to {@link NgnItem} objects.
|
|
307
|
+
*/
|
|
308
|
+
readonly options: _angular_core.InputSignal<readonly NgnItem<unknown, V>[]>;
|
|
309
|
+
/**
|
|
310
|
+
* Accepts a boolean value that determines whether the filter is enabled.
|
|
311
|
+
* Alternatively, you can provide `SelectFilterOptions` to customize the filter behavior.
|
|
312
|
+
* @default `false`
|
|
313
|
+
*/
|
|
314
|
+
readonly filter: _angular_core.InputSignal<boolean | SelectFilterOptions<NgnItem<unknown, V>>>;
|
|
315
|
+
/**
|
|
316
|
+
* Manually set the filter text.
|
|
317
|
+
*/
|
|
318
|
+
readonly filterText: _angular_core.InputSignal<string | null>;
|
|
319
|
+
/**
|
|
320
|
+
* The icon to display in the filter input.
|
|
321
|
+
*/
|
|
322
|
+
readonly iconFilter: _angular_core.InputSignal<_iconify_types.IconifyIcon | _ngneers_controls_custom_types.NgnIconEntry | undefined>;
|
|
323
|
+
/**
|
|
324
|
+
* The icon to display in the dropdown.
|
|
325
|
+
*/
|
|
326
|
+
readonly iconDropdown: _angular_core.InputSignal<_iconify_types.IconifyIcon | _ngneers_controls_custom_types.NgnIconEntry | undefined>;
|
|
327
|
+
/**
|
|
328
|
+
* Whether the select is virtualized.
|
|
329
|
+
* @default `false`
|
|
330
|
+
*/
|
|
331
|
+
readonly virtual: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
332
|
+
/**
|
|
333
|
+
* When {@link virtual} is enabled, this property defines the height of each item in the list.
|
|
334
|
+
*/
|
|
335
|
+
readonly itemHeight: _angular_core.InputSignal<number | undefined>;
|
|
336
|
+
/**
|
|
337
|
+
* Enable this to allow the user to type in a value that is not in the list.
|
|
338
|
+
* When enabled, the value of the control becomes the label of a selected item or the typed value.
|
|
339
|
+
*
|
|
340
|
+
* Cannot be used with
|
|
341
|
+
* * {@link multiple} selection
|
|
342
|
+
* * {@link filter} without also setting {@link editableAutoFilter} to `false`
|
|
343
|
+
*
|
|
344
|
+
* @default `false`
|
|
345
|
+
*/
|
|
346
|
+
readonly editable: _angular_core.InputSignal<Editable | undefined>;
|
|
347
|
+
/**
|
|
348
|
+
* Whether to automatically filter the options based on the user's input in the {@link editable} input.
|
|
349
|
+
* @default `true`
|
|
350
|
+
*/
|
|
351
|
+
readonly editableAutoFilter: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
352
|
+
/**
|
|
353
|
+
* Enable this to allow the user to select multiple values.
|
|
354
|
+
* When enabled, the value of the control becomes an array of selected items.
|
|
355
|
+
*
|
|
356
|
+
* This is only applicable when {@link editable} is `false`.
|
|
357
|
+
* @default `false`
|
|
358
|
+
*/
|
|
359
|
+
readonly multiple: _angular_core.InputSignal<Multiple | undefined>;
|
|
360
|
+
/**
|
|
361
|
+
* Whether to scroll to the selected item when the dropdown is opened.
|
|
362
|
+
* @default `true`
|
|
363
|
+
*/
|
|
364
|
+
readonly scrollToSelectedItemOnOpen: _angular_core.InputSignal<boolean | ScrollLogicalPosition>;
|
|
365
|
+
/**
|
|
366
|
+
* Tabindex for the select control.
|
|
367
|
+
* @default `0`
|
|
368
|
+
*/
|
|
369
|
+
readonly tabindex: _angular_core.InputSignal<number>;
|
|
370
|
+
/**
|
|
371
|
+
* Whether to use a checkbox to indicate selection state.
|
|
372
|
+
*
|
|
373
|
+
* This option is true per default when {@link multiple} is `true`.
|
|
374
|
+
* @default multiple()
|
|
375
|
+
*/
|
|
376
|
+
readonly checkbox: _angular_core.InputSignal<boolean | undefined>;
|
|
377
|
+
protected readonly maybeCallback: typeof maybeCallback;
|
|
378
|
+
private readonly _listbox;
|
|
379
|
+
private _userChangedEditableInput;
|
|
380
|
+
protected get anchorElement(): HTMLElement;
|
|
381
|
+
protected readonly filterTextInternal: _angular_core.WritableSignal<string | null>;
|
|
382
|
+
protected readonly currentHighlightedValue: _angular_core.WritableSignal<V | null>;
|
|
383
|
+
protected readonly valueStr: Signal<(ValueType<V, Editable, Multiple> & string) | null>;
|
|
384
|
+
protected readonly valueArray: Signal<(ValueType<V, Editable, Multiple> & any[]) | NonNullable<ValueType<V, Editable, Multiple>>[]>;
|
|
385
|
+
protected readonly appliedFilter: Signal<FilterConfig<NgnItem> | boolean>;
|
|
386
|
+
private readonly _flatOptions;
|
|
387
|
+
protected readonly selectedItems: Signal<(NgnItem<any, any> | undefined)[]>;
|
|
388
|
+
protected readonly selectedItemsValues: Signal<any[]>;
|
|
389
|
+
constructor();
|
|
390
|
+
protected onKeyDown(event: KeyboardEvent): void;
|
|
391
|
+
protected onPopoverClosed(): void;
|
|
392
|
+
protected onSelect(value: ValueType<V, false, Multiple> | null): void;
|
|
393
|
+
protected onItemClicked(): void;
|
|
394
|
+
/**
|
|
395
|
+
* Shows the select dropdown.
|
|
396
|
+
*/
|
|
397
|
+
show(): void;
|
|
398
|
+
/**
|
|
399
|
+
* Hides the select dropdown.
|
|
400
|
+
*/
|
|
401
|
+
hide(): void;
|
|
402
|
+
protected onEditableChange(value: string | null): void;
|
|
403
|
+
protected potentiallyBlurred(): void;
|
|
404
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgnSelect<any, any, any>, never>;
|
|
405
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgnSelect<any, any, any>, "ngn-select", never, { "popoverOptions": { "alias": "popoverOptions"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "filter": { "alias": "filter"; "required": false; "isSignal": true; }; "filterText": { "alias": "filterText"; "required": false; "isSignal": true; }; "iconFilter": { "alias": "iconFilter"; "required": false; "isSignal": true; }; "iconDropdown": { "alias": "iconDropdown"; "required": false; "isSignal": true; }; "virtual": { "alias": "virtual"; "required": false; "isSignal": true; }; "itemHeight": { "alias": "itemHeight"; "required": false; "isSignal": true; }; "editable": { "alias": "editable"; "required": false; "isSignal": true; }; "editableAutoFilter": { "alias": "editableAutoFilter"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "scrollToSelectedItemOnOpen": { "alias": "scrollToSelectedItemOnOpen"; "required": false; "isSignal": true; }; "tabindex": { "alias": "tabindex"; "required": false; "isSignal": true; }; "checkbox": { "alias": "checkbox"; "required": false; "isSignal": true; }; }, {}, ["_customEditableInput"], ["[ngnInput]"], true, never>;
|
|
406
|
+
}
|
|
407
|
+
|
|
408
|
+
export { NgnSelect };
|
|
409
|
+
export type { SelectFilterFn, SelectFilterOptions, SelectFilterOptionsInternal };
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
import * as _ngneers_controls_api_ng from '@ngneers/controls/api/ng';
|
|
3
|
+
import * as _ngneers_controls_themes from '@ngneers/controls-themes';
|
|
4
|
+
import { ValueControlBase } from '@ngneers/controls/base';
|
|
5
|
+
import { NgnDragInfo } from '@ngneers/controls/directives';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* @category control
|
|
9
|
+
*/
|
|
10
|
+
declare class NgnSlider extends ValueControlBase<'slider', number> {
|
|
11
|
+
protected readonly theme: _ngneers_controls_api_ng.ControlTemplateInfo<_ngneers_controls_themes.ControlTemplate<"slider", ["root", "horizontal", "vertical", "track", "thumb", "fill", "invalid"], readonly []>>;
|
|
12
|
+
private readonly _track;
|
|
13
|
+
/**
|
|
14
|
+
* The minimum value of the slider.
|
|
15
|
+
* @default 0
|
|
16
|
+
*/
|
|
17
|
+
readonly min: _angular_core.InputSignal<number>;
|
|
18
|
+
/**
|
|
19
|
+
* Whether the slider is oriented vertically instead of horizontally.
|
|
20
|
+
* @default false
|
|
21
|
+
*/
|
|
22
|
+
readonly vertical: _angular_core.InputSignal<boolean>;
|
|
23
|
+
/**
|
|
24
|
+
* The maximum value of the slider.
|
|
25
|
+
* @default 100
|
|
26
|
+
*/
|
|
27
|
+
readonly max: _angular_core.InputSignal<number>;
|
|
28
|
+
/**
|
|
29
|
+
* The increment between selectable values.
|
|
30
|
+
* @default 1
|
|
31
|
+
*/
|
|
32
|
+
readonly step: _angular_core.InputSignal<number>;
|
|
33
|
+
/**
|
|
34
|
+
* The value text representation for accessibility.
|
|
35
|
+
* If both {@link valueText} and {@link valueTextFn} are provided, {@link valueText} takes precedence.
|
|
36
|
+
*/
|
|
37
|
+
readonly valueText: _angular_core.InputSignal<string | undefined>;
|
|
38
|
+
/**
|
|
39
|
+
* A function that generates the value text representation for accessibility.
|
|
40
|
+
* If both {@link valueText} and {@link valueTextFn} are provided, {@link valueText} takes precedence.
|
|
41
|
+
*/
|
|
42
|
+
readonly valueTextFn: _angular_core.InputSignal<((value: number) => string) | undefined>;
|
|
43
|
+
protected readonly left: _angular_core.Signal<number>;
|
|
44
|
+
constructor();
|
|
45
|
+
protected readonly valueTextValue: _angular_core.Signal<string | null>;
|
|
46
|
+
protected onDragged(delta: NgnDragInfo): void;
|
|
47
|
+
private dragToPosition;
|
|
48
|
+
private clampValue;
|
|
49
|
+
protected onDragEnd(): void;
|
|
50
|
+
protected onKeyDown(event: KeyboardEvent): void;
|
|
51
|
+
protected thumbClicked(event: PointerEvent): void;
|
|
52
|
+
protected trackClicked(event: PointerEvent): void;
|
|
53
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgnSlider, never>;
|
|
54
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgnSlider, "ngn-slider", never, { "min": { "alias": "min"; "required": false; "isSignal": true; }; "vertical": { "alias": "vertical"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "step": { "alias": "step"; "required": false; "isSignal": true; }; "valueText": { "alias": "valueText"; "required": false; "isSignal": true; }; "valueTextFn": { "alias": "valueTextFn"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
export { NgnSlider };
|