@ngneers/controls 0.0.1-pre4 → 0.0.1-pre6
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 +32 -32
- package/fesm2022/ngneers-controls-accordion.mjs.map +1 -1
- package/fesm2022/ngneers-controls-api-ng.mjs +19 -19
- package/fesm2022/ngneers-controls-api-ng.mjs.map +1 -1
- package/fesm2022/ngneers-controls-api-resize.mjs +706 -0
- package/fesm2022/ngneers-controls-api-resize.mjs.map +1 -0
- package/fesm2022/ngneers-controls-avatar.mjs +13 -13
- package/fesm2022/ngneers-controls-avatar.mjs.map +1 -1
- package/fesm2022/ngneers-controls-base.mjs +89 -64
- package/fesm2022/ngneers-controls-base.mjs.map +1 -1
- package/fesm2022/ngneers-controls-breadcrumb.mjs +18 -18
- package/fesm2022/ngneers-controls-breadcrumb.mjs.map +1 -1
- package/fesm2022/ngneers-controls-button-group.mjs +8 -8
- package/fesm2022/ngneers-controls-button-group.mjs.map +1 -1
- package/fesm2022/ngneers-controls-button.mjs +16 -10
- package/fesm2022/ngneers-controls-button.mjs.map +1 -1
- package/fesm2022/{ngneers-controls-calendar-time-C7UnIFzU.mjs → ngneers-controls-calendar-time-Bzlv9Vkn.mjs} +9 -9
- package/fesm2022/{ngneers-controls-calendar-time-C7UnIFzU.mjs.map → ngneers-controls-calendar-time-Bzlv9Vkn.mjs.map} +1 -1
- package/fesm2022/ngneers-controls-calendar.mjs +54 -54
- package/fesm2022/ngneers-controls-calendar.mjs.map +1 -1
- package/fesm2022/ngneers-controls-checkbox.mjs +9 -9
- package/fesm2022/ngneers-controls-checkbox.mjs.map +1 -1
- package/fesm2022/ngneers-controls-chip.mjs +6 -6
- package/fesm2022/ngneers-controls-chip.mjs.map +1 -1
- package/fesm2022/ngneers-controls-defer.mjs +10 -10
- package/fesm2022/ngneers-controls-defer.mjs.map +1 -1
- package/fesm2022/ngneers-controls-dialog.mjs +37 -39
- package/fesm2022/ngneers-controls-dialog.mjs.map +1 -1
- package/fesm2022/ngneers-controls-directives.mjs +45 -39
- package/fesm2022/ngneers-controls-directives.mjs.map +1 -1
- package/fesm2022/ngneers-controls-drawer.mjs +28 -28
- package/fesm2022/ngneers-controls-drawer.mjs.map +1 -1
- package/fesm2022/ngneers-controls-edit-inplace.mjs +15 -15
- package/fesm2022/ngneers-controls-edit-inplace.mjs.map +1 -1
- package/fesm2022/ngneers-controls-filter.mjs +192 -44
- package/fesm2022/ngneers-controls-filter.mjs.map +1 -1
- package/fesm2022/{ngneers-controls-i18n-de-CdTPeBiR.mjs → ngneers-controls-i18n-de-CF0xTWEX.mjs} +9 -5
- package/fesm2022/ngneers-controls-i18n-de-CF0xTWEX.mjs.map +1 -0
- package/fesm2022/{ngneers-controls-i18n-en-Cfp2pOLY.mjs → ngneers-controls-i18n-en-8B7xAjH2.mjs} +9 -5
- package/fesm2022/ngneers-controls-i18n-en-8B7xAjH2.mjs.map +1 -0
- package/fesm2022/ngneers-controls-i18n.mjs +5 -5
- package/fesm2022/ngneers-controls-i18n.mjs.map +1 -1
- package/fesm2022/ngneers-controls-icon.mjs +10 -10
- package/fesm2022/ngneers-controls-icon.mjs.map +1 -1
- package/fesm2022/ngneers-controls-inplace.mjs +18 -18
- package/fesm2022/ngneers-controls-inplace.mjs.map +1 -1
- package/fesm2022/ngneers-controls-input-field.mjs +15 -15
- package/fesm2022/ngneers-controls-input-field.mjs.map +1 -1
- package/fesm2022/ngneers-controls-input-mask.mjs +8 -8
- package/fesm2022/ngneers-controls-input-mask.mjs.map +1 -1
- package/fesm2022/ngneers-controls-input.mjs +7 -6
- package/fesm2022/ngneers-controls-input.mjs.map +1 -1
- package/fesm2022/ngneers-controls-item-view.mjs +33 -33
- package/fesm2022/ngneers-controls-item-view.mjs.map +1 -1
- package/fesm2022/ngneers-controls-list-box.mjs +31 -31
- package/fesm2022/ngneers-controls-list-box.mjs.map +1 -1
- package/fesm2022/ngneers-controls-menu.mjs +32 -32
- package/fesm2022/ngneers-controls-menu.mjs.map +1 -1
- package/fesm2022/ngneers-controls-message.mjs +4 -4
- package/fesm2022/ngneers-controls-message.mjs.map +1 -1
- package/fesm2022/ngneers-controls-paginator.mjs +12 -12
- package/fesm2022/ngneers-controls-paginator.mjs.map +1 -1
- package/fesm2022/ngneers-controls-popover.mjs +13 -13
- package/fesm2022/ngneers-controls-popover.mjs.map +1 -1
- package/fesm2022/ngneers-controls-progress.mjs +16 -16
- package/fesm2022/ngneers-controls-progress.mjs.map +1 -1
- package/fesm2022/ngneers-controls-scroller.mjs +74 -39
- package/fesm2022/ngneers-controls-scroller.mjs.map +1 -1
- package/fesm2022/ngneers-controls-select-button.mjs +6 -6
- package/fesm2022/ngneers-controls-select-button.mjs.map +1 -1
- package/fesm2022/ngneers-controls-select.mjs +46 -46
- package/fesm2022/ngneers-controls-select.mjs.map +1 -1
- package/fesm2022/ngneers-controls-slider.mjs +12 -12
- package/fesm2022/ngneers-controls-slider.mjs.map +1 -1
- package/fesm2022/ngneers-controls-spinner.mjs +7 -7
- package/fesm2022/ngneers-controls-spinner.mjs.map +1 -1
- package/fesm2022/ngneers-controls-splitter.mjs +141 -328
- package/fesm2022/ngneers-controls-splitter.mjs.map +1 -1
- package/fesm2022/ngneers-controls-switch.mjs +3 -3
- package/fesm2022/ngneers-controls-table.mjs +1520 -80
- package/fesm2022/ngneers-controls-table.mjs.map +1 -1
- package/fesm2022/ngneers-controls-tabs.mjs +40 -39
- package/fesm2022/ngneers-controls-tabs.mjs.map +1 -1
- package/fesm2022/ngneers-controls-tag.mjs +4 -4
- package/fesm2022/ngneers-controls-tag.mjs.map +1 -1
- package/fesm2022/ngneers-controls-toast.mjs +18 -18
- package/fesm2022/ngneers-controls-toast.mjs.map +1 -1
- package/fesm2022/ngneers-controls-toggle-button.mjs +9 -9
- package/fesm2022/ngneers-controls-toggle-button.mjs.map +1 -1
- package/fesm2022/ngneers-controls-tooltip.mjs +37 -45
- package/fesm2022/ngneers-controls-tooltip.mjs.map +1 -1
- package/fesm2022/ngneers-controls-utils-ng.mjs +9 -9
- package/fesm2022/ngneers-controls-utils-ng.mjs.map +1 -1
- package/package.json +14 -10
- package/types/ngneers-controls-api-ng.d.ts +2 -2
- package/types/ngneers-controls-api-resize.d.ts +318 -0
- package/types/ngneers-controls-base.d.ts +8 -0
- package/types/ngneers-controls-breadcrumb.d.ts +1 -1
- package/types/ngneers-controls-button.d.ts +13 -8
- package/types/ngneers-controls-calendar.d.ts +5 -1
- package/types/ngneers-controls-checkbox.d.ts +1 -1
- package/types/ngneers-controls-directives.d.ts +7 -1
- package/types/ngneers-controls-drawer.d.ts +4 -0
- package/types/ngneers-controls-edit-inplace.d.ts +4 -0
- package/types/ngneers-controls-filter.d.ts +53 -4
- package/types/ngneers-controls-i18n.d.ts +4 -0
- package/types/ngneers-controls-icon.d.ts +1 -1
- package/types/ngneers-controls-input-field.d.ts +4 -0
- package/types/ngneers-controls-input.d.ts +1 -1
- package/types/ngneers-controls-list-box.d.ts +5 -1
- package/types/ngneers-controls-menu.d.ts +1 -1
- package/types/ngneers-controls-paginator.d.ts +4 -0
- package/types/ngneers-controls-popover.d.ts +1 -1
- package/types/ngneers-controls-scroller.d.ts +12 -2
- package/types/ngneers-controls-select.d.ts +6 -2
- package/types/ngneers-controls-spinner.d.ts +1 -1
- package/types/ngneers-controls-splitter.d.ts +29 -59
- package/types/ngneers-controls-table.d.ts +392 -24
- package/types/ngneers-controls-toast.d.ts +1 -1
- package/types/ngneers-controls-tooltip.d.ts +1 -7
- package/fesm2022/ngneers-controls-i18n-de-CdTPeBiR.mjs.map +0 -1
- package/fesm2022/ngneers-controls-i18n-en-Cfp2pOLY.mjs.map +0 -1
|
@@ -50,7 +50,7 @@ type NgnFilterOutput<T> = NgnFilterConfig & {
|
|
|
50
50
|
* @category control
|
|
51
51
|
*/
|
|
52
52
|
declare class NgnFilter<T = unknown> extends ValueControlBase<'filter', NgnFilterConfig | null> {
|
|
53
|
-
protected readonly theme: _ngneers_controls_api_ng.ControlTemplateInfo<_ngneers_controls_themes.ControlTemplate<"filter", ["root", "inline", "input-field", "summary", "icon", "popover-content", "rows", "row", "operator", "value", "
|
|
53
|
+
protected readonly theme: _ngneers_controls_api_ng.ControlTemplateInfo<_ngneers_controls_themes.ControlTemplate<"filter", ["root", "inline", "input-field", "summary", "icon", "popover-content", "rows", "row", "operator", "value", "remove-btn", "condition-divider", "footer", "footer-actions", "active-indicator"], readonly [_ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly _ngneers_controls_themes.ControlTemplate<string, string[], readonly any[]>[]>, _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [_ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly _ngneers_controls_themes.ControlTemplate<string, string[], readonly any[]>[]>]>, _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly _ngneers_controls_themes.ControlTemplate<string, string[], readonly any[]>[]>, _ngneers_controls_themes.ControlTemplate<"select", ["root", "combobox", "input", "icon", "input-editable", "popover-content", "filter", "filter-icon", "list-box", "list-box-empty"], readonly [_ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly _ngneers_controls_themes.ControlTemplate<string, string[], readonly any[]>[]>, _ngneers_controls_themes.ControlTemplate<"list-box", ["root", "empty", "invalid", "item", "group", "default-item", "default-group", "scroller", "item-selected", "item-highlighted"], readonly [_ngneers_controls_themes.ControlTemplate<"checkbox", ["root", "input", "box", "box-checked", "box-indeterminate", "box-icon", "box-icon-visible", "invalid"], readonly _ngneers_controls_themes.ControlTemplate<string, string[], readonly any[]>[]>, _ngneers_controls_themes.ControlTemplate<"scroller", ["root", "virtual", "item", "item-sticky"], readonly _ngneers_controls_themes.ControlTemplate<string, string[], readonly any[]>[]>]>, _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [_ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly _ngneers_controls_themes.ControlTemplate<string, string[], readonly any[]>[]>]>]>, _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly _ngneers_controls_themes.ControlTemplate<string, string[], readonly any[]>[]>, _ngneers_controls_themes.ControlTemplate<"calendar", ["root", "inline", "input", "input-field", "details", "header", "navigation", "days", "week-day", "day", "day-selected", "day-today", "day-other-month", "months", "month", "current-month", "current-year", "time", "next", "previous"], readonly [_ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly _ngneers_controls_themes.ControlTemplate<string, string[], readonly any[]>[]>, _ngneers_controls_themes.ControlTemplate<"select", ["root", "combobox", "input", "icon", "input-editable", "popover-content", "filter", "filter-icon", "list-box", "list-box-empty"], readonly [_ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly _ngneers_controls_themes.ControlTemplate<string, string[], readonly any[]>[]>, _ngneers_controls_themes.ControlTemplate<"list-box", ["root", "empty", "invalid", "item", "group", "default-item", "default-group", "scroller", "item-selected", "item-highlighted"], readonly [_ngneers_controls_themes.ControlTemplate<"checkbox", ["root", "input", "box", "box-checked", "box-indeterminate", "box-icon", "box-icon-visible", "invalid"], readonly _ngneers_controls_themes.ControlTemplate<string, string[], readonly any[]>[]>, _ngneers_controls_themes.ControlTemplate<"scroller", ["root", "virtual", "item", "item-sticky"], readonly _ngneers_controls_themes.ControlTemplate<string, string[], readonly any[]>[]>]>, _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [_ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly _ngneers_controls_themes.ControlTemplate<string, string[], readonly any[]>[]>]>]>, _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly _ngneers_controls_themes.ControlTemplate<string, string[], readonly any[]>[]>, _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [_ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly _ngneers_controls_themes.ControlTemplate<string, string[], readonly any[]>[]>]>]>]>>;
|
|
54
54
|
protected readonly i18n: _ngneers_signal_translate.TranslationsSignal<{
|
|
55
55
|
calendar: {
|
|
56
56
|
today: string;
|
|
@@ -96,10 +96,14 @@ declare class NgnFilter<T = unknown> extends ValueControlBase<'filter', NgnFilte
|
|
|
96
96
|
addCondition: string;
|
|
97
97
|
removeCondition: string;
|
|
98
98
|
clear: string;
|
|
99
|
+
apply: string;
|
|
100
|
+
cancel: string;
|
|
99
101
|
matchModeLabel: string;
|
|
100
102
|
match: {
|
|
101
103
|
all: string;
|
|
102
104
|
any: string;
|
|
105
|
+
and: string;
|
|
106
|
+
or: string;
|
|
103
107
|
};
|
|
104
108
|
selected: string;
|
|
105
109
|
conditions: string;
|
|
@@ -136,6 +140,7 @@ declare class NgnFilter<T = unknown> extends ValueControlBase<'filter', NgnFilte
|
|
|
136
140
|
};
|
|
137
141
|
}, "_">;
|
|
138
142
|
protected readonly unsafeI18n: (key: string) => _angular_core.Signal<string>;
|
|
143
|
+
private readonly _destroyRef;
|
|
139
144
|
/** Data to filter. */
|
|
140
145
|
readonly data: _angular_core.InputSignal<readonly T[]>;
|
|
141
146
|
/** Datatype of the values in {@link data}. */
|
|
@@ -164,6 +169,16 @@ declare class NgnFilter<T = unknown> extends ValueControlBase<'filter', NgnFilte
|
|
|
164
169
|
* When false, only the filter configuration is emitted (useful for server-side filtering).
|
|
165
170
|
*/
|
|
166
171
|
readonly filterLocally: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
172
|
+
/**
|
|
173
|
+
* When true (default), filters apply automatically as the user types/selects.
|
|
174
|
+
* When false, the user must click "Apply" to commit the filter.
|
|
175
|
+
*/
|
|
176
|
+
readonly autoApply: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
177
|
+
/**
|
|
178
|
+
* Debounce time in milliseconds for auto-apply mode.
|
|
179
|
+
* Only relevant when {@link autoApply} is `true`.
|
|
180
|
+
*/
|
|
181
|
+
readonly autoApplyDebounce: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
167
182
|
/** Options for the popover (when {@link mode} is not `inline`). */
|
|
168
183
|
readonly popoverOptions: _angular_core.InputSignal<PopoverOptions>;
|
|
169
184
|
protected readonly appliedPopoverOptions: _angular_core.Signal<PopoverOptions>;
|
|
@@ -172,11 +187,24 @@ declare class NgnFilter<T = unknown> extends ValueControlBase<'filter', NgnFilte
|
|
|
172
187
|
/** Emits the filtered data whenever local filtering is enabled. */
|
|
173
188
|
readonly filterResultChange: _angular_core.OutputEmitterRef<readonly T[]>;
|
|
174
189
|
private readonly _popover;
|
|
190
|
+
/**
|
|
191
|
+
* Internal working config that the template binds to.
|
|
192
|
+
* In auto-apply mode, this syncs to value() via debounce.
|
|
193
|
+
* In manual mode, only apply() commits this to value().
|
|
194
|
+
*/
|
|
195
|
+
protected readonly workingConfig: _angular_core.WritableSignal<NgnFilterConfig | null>;
|
|
196
|
+
/** Snapshot of value() taken when popover opens in manual mode, for cancel to restore. */
|
|
197
|
+
private _snapshotConfig;
|
|
198
|
+
/** Debounce timer handle for auto-apply. */
|
|
199
|
+
private _debounceTimer;
|
|
200
|
+
/** Whether there is an active filter applied. */
|
|
201
|
+
protected readonly hasActiveFilter: _angular_core.Signal<boolean>;
|
|
175
202
|
private createCondition;
|
|
176
203
|
private defaultConfig;
|
|
177
204
|
/**
|
|
178
205
|
* Config used for UI rendering.
|
|
179
|
-
*
|
|
206
|
+
* Always reads from workingConfig (the live editing state).
|
|
207
|
+
* Falls back to a default config when null.
|
|
180
208
|
*/
|
|
181
209
|
protected readonly templateConfig: _angular_core.Signal<NgnFilterConfig>;
|
|
182
210
|
protected readonly templateListSelection: _angular_core.Signal<readonly string[]>;
|
|
@@ -277,19 +305,40 @@ declare class NgnFilter<T = unknown> extends ValueControlBase<'filter', NgnFilte
|
|
|
277
305
|
protected readonly autoListOptions: _angular_core.Signal<readonly NgnItem[]>;
|
|
278
306
|
protected readonly resolvedListOptions: _angular_core.Signal<readonly NgnItem[]>;
|
|
279
307
|
protected readonly matchModeOptions: readonly NgnItem[];
|
|
280
|
-
protected readonly inputType: _angular_core.Signal<"
|
|
308
|
+
protected readonly inputType: _angular_core.Signal<"text" | "number" | "date" | "datetime-local">;
|
|
309
|
+
protected readonly isDateType: _angular_core.Signal<boolean>;
|
|
310
|
+
protected readonly isShowTime: _angular_core.Signal<boolean>;
|
|
311
|
+
/** Parse a rawValue string to a Date for the calendar component. */
|
|
312
|
+
protected parseRawDate(rawValue: string | null): Date | null;
|
|
313
|
+
/** Convert a Date from the calendar to a rawValue string. */
|
|
314
|
+
protected dateToRaw(date: Date | null): string | null;
|
|
281
315
|
protected readonly summaryText: _angular_core.Signal<string | undefined>;
|
|
282
316
|
protected readonly activeConditionConfigs: _angular_core.Signal<readonly NgnFilterConditionConfig[]>;
|
|
283
317
|
protected readonly activeConditions: _angular_core.Signal<readonly NgnFilterCondition[]>;
|
|
284
318
|
protected readonly filteredData: _angular_core.Signal<readonly T[]>;
|
|
319
|
+
/** The current match mode label for the condition divider */
|
|
320
|
+
protected readonly matchModeLabel: _angular_core.Signal<string>;
|
|
285
321
|
constructor();
|
|
322
|
+
/**
|
|
323
|
+
* Commits the working config to the actual value, with optional debounce.
|
|
324
|
+
* Called after every working config change.
|
|
325
|
+
*/
|
|
326
|
+
private commitWorkingConfig;
|
|
327
|
+
/** Updates the working config and optionally auto-applies. */
|
|
328
|
+
private updateWorkingConfig;
|
|
329
|
+
protected toggleMatchMode(): void;
|
|
286
330
|
protected setMatchMode(value: unknown): void;
|
|
287
331
|
protected operatorRequiresValue(operator: NgnFilterOperatorId): boolean;
|
|
288
332
|
protected setOperator(index: number, operator: NgnFilterOperatorId | null): void;
|
|
289
333
|
protected setRawValue(index: number, rawValue: string | null): void;
|
|
334
|
+
protected setDateValue(index: number, date: Date | null): void;
|
|
290
335
|
protected addCondition(): void;
|
|
291
336
|
protected removeCondition(index: number): void;
|
|
292
337
|
protected setListSelection(value: unknown): void;
|
|
338
|
+
/** Applies the working config (manual mode). */
|
|
339
|
+
protected apply(): void;
|
|
340
|
+
/** Cancels changes and restores the snapshot (manual mode). */
|
|
341
|
+
protected cancelChanges(): void;
|
|
293
342
|
protected clear(): void;
|
|
294
343
|
/** Shows the filter popup. Only works when {@link mode} is not `inline`. */
|
|
295
344
|
show(): void;
|
|
@@ -297,7 +346,7 @@ declare class NgnFilter<T = unknown> extends ValueControlBase<'filter', NgnFilte
|
|
|
297
346
|
hide(): void;
|
|
298
347
|
protected onKeyDown(event: KeyboardEvent): void;
|
|
299
348
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgnFilter<any>, never>;
|
|
300
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgnFilter<any>, "ngn-filter", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "dataType": { "alias": "dataType"; "required": false; "isSignal": true; }; "allowMultiple": { "alias": "allowMultiple"; "required": false; "isSignal": true; }; "listOptions": { "alias": "listOptions"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "anchor": { "alias": "anchor"; "required": false; "isSignal": true; }; "filterLocally": { "alias": "filterLocally"; "required": false; "isSignal": true; }; "popoverOptions": { "alias": "popoverOptions"; "required": false; "isSignal": true; }; }, { "filterChange": "filterChange"; "filterResultChange": "filterResultChange"; }, never, never, true, never>;
|
|
349
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgnFilter<any>, "ngn-filter", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "dataType": { "alias": "dataType"; "required": false; "isSignal": true; }; "allowMultiple": { "alias": "allowMultiple"; "required": false; "isSignal": true; }; "listOptions": { "alias": "listOptions"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "anchor": { "alias": "anchor"; "required": false; "isSignal": true; }; "filterLocally": { "alias": "filterLocally"; "required": false; "isSignal": true; }; "autoApply": { "alias": "autoApply"; "required": false; "isSignal": true; }; "autoApplyDebounce": { "alias": "autoApplyDebounce"; "required": false; "isSignal": true; }; "popoverOptions": { "alias": "popoverOptions"; "required": false; "isSignal": true; }; }, { "filterChange": "filterChange"; "filterResultChange": "filterResultChange"; }, never, never, true, never>;
|
|
301
350
|
}
|
|
302
351
|
|
|
303
352
|
export { NgnFilter };
|
|
@@ -47,10 +47,14 @@ declare const _default: {
|
|
|
47
47
|
addCondition: string;
|
|
48
48
|
removeCondition: string;
|
|
49
49
|
clear: string;
|
|
50
|
+
apply: string;
|
|
51
|
+
cancel: string;
|
|
50
52
|
matchModeLabel: string;
|
|
51
53
|
match: {
|
|
52
54
|
all: string;
|
|
53
55
|
any: string;
|
|
56
|
+
and: string;
|
|
57
|
+
or: string;
|
|
54
58
|
};
|
|
55
59
|
selected: string;
|
|
56
60
|
conditions: string;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { OnDestroy, TemplateRef } from '@angular/core';
|
|
3
3
|
import { IconType } from '@ngneers/controls-custom-types';
|
|
4
4
|
import * as _ngneers_controls_icon from '@ngneers/controls/icon';
|
|
5
5
|
import * as _angular_platform_browser from '@angular/platform-browser';
|
|
@@ -55,10 +55,14 @@ declare class NgnInputField extends NgnBase<'inputField'> {
|
|
|
55
55
|
addCondition: string;
|
|
56
56
|
removeCondition: string;
|
|
57
57
|
clear: string;
|
|
58
|
+
apply: string;
|
|
59
|
+
cancel: string;
|
|
58
60
|
matchModeLabel: string;
|
|
59
61
|
match: {
|
|
60
62
|
all: string;
|
|
61
63
|
any: string;
|
|
64
|
+
and: string;
|
|
65
|
+
or: string;
|
|
62
66
|
};
|
|
63
67
|
selected: string;
|
|
64
68
|
conditions: string;
|
|
@@ -21,7 +21,7 @@ declare class NgnInput extends NgnBase<'input'> implements AfterViewInit {
|
|
|
21
21
|
ngAfterViewInit(): void;
|
|
22
22
|
constructor();
|
|
23
23
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgnInput, never>;
|
|
24
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<NgnInput, "input[ngnInput], textarea[ngnInput]",
|
|
24
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<NgnInput, "input[ngnInput], textarea[ngnInput]", ["ngnInput"], { "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, never, never, true, never>;
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
export { NgnInput };
|
|
@@ -126,10 +126,14 @@ declare class NgnListBox<Items extends readonly NgnItem[], Multiple extends bool
|
|
|
126
126
|
addCondition: string;
|
|
127
127
|
removeCondition: string;
|
|
128
128
|
clear: string;
|
|
129
|
+
apply: string;
|
|
130
|
+
cancel: string;
|
|
129
131
|
matchModeLabel: string;
|
|
130
132
|
match: {
|
|
131
133
|
all: string;
|
|
132
134
|
any: string;
|
|
135
|
+
and: string;
|
|
136
|
+
or: string;
|
|
133
137
|
};
|
|
134
138
|
selected: string;
|
|
135
139
|
conditions: string;
|
|
@@ -165,7 +169,7 @@ declare class NgnListBox<Items extends readonly NgnItem[], Multiple extends bool
|
|
|
165
169
|
close: string;
|
|
166
170
|
};
|
|
167
171
|
}, "_">;
|
|
168
|
-
protected readonly theme: _ngneers_controls_api_ng.ControlTemplateInfo<_ngneers_controls_themes.ControlTemplate<"list-box", ["root", "empty", "invalid", "item", "group", "default-item", "default-group", "scroller", "item-selected", "item-highlighted"], readonly [_ngneers_controls_themes.ControlTemplate<"checkbox", ["root", "input", "box", "box-checked", "box-indeterminate", "box-icon", "
|
|
172
|
+
protected readonly theme: _ngneers_controls_api_ng.ControlTemplateInfo<_ngneers_controls_themes.ControlTemplate<"list-box", ["root", "empty", "invalid", "item", "group", "default-item", "default-group", "scroller", "item-selected", "item-highlighted"], readonly [_ngneers_controls_themes.ControlTemplate<"checkbox", ["root", "input", "box", "box-checked", "box-indeterminate", "box-icon", "box-icon-visible", "invalid"], readonly _ngneers_controls_themes.ControlTemplate<string, string[], readonly any[]>[]>, _ngneers_controls_themes.ControlTemplate<"scroller", ["root", "virtual", "item", "item-sticky"], readonly _ngneers_controls_themes.ControlTemplate<string, string[], readonly any[]>[]>]>>;
|
|
169
173
|
private readonly _scroller;
|
|
170
174
|
readonly items: _angular_core.InputSignal<Items>;
|
|
171
175
|
readonly scrollToSelectedItemOnInit: _angular_core.InputSignal<boolean | ScrollLogicalPosition>;
|
|
@@ -84,7 +84,7 @@ declare abstract class MenuTemplates extends NgnBase<'menu'> {
|
|
|
84
84
|
* @category control
|
|
85
85
|
*/
|
|
86
86
|
declare class NgnMenu extends MenuTemplates implements Openable {
|
|
87
|
-
protected readonly theme: _ngneers_controls_api_ng.ControlTemplateInfo<_ngneers_controls_themes.ControlTemplate<"menu", ["root", "submenu", "popover", "item", "item-opened", "icon-children", "separator"], readonly [_ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"
|
|
87
|
+
protected readonly theme: _ngneers_controls_api_ng.ControlTemplateInfo<_ngneers_controls_themes.ControlTemplate<"menu", ["root", "submenu", "popover", "item", "item-opened", "icon-children", "separator"], readonly [_ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly _ngneers_controls_themes.ControlTemplate<string, string[], readonly any[]>[]>]>>;
|
|
88
88
|
protected readonly elementId: _angular_core.InputSignal<string>;
|
|
89
89
|
/**
|
|
90
90
|
* The element to which the menu is anchored. Required if `popover` is true.
|
|
@@ -76,10 +76,14 @@ declare class NgnPaginator extends NgnBase<'paginator'> {
|
|
|
76
76
|
addCondition: string;
|
|
77
77
|
removeCondition: string;
|
|
78
78
|
clear: string;
|
|
79
|
+
apply: string;
|
|
80
|
+
cancel: string;
|
|
79
81
|
matchModeLabel: string;
|
|
80
82
|
match: {
|
|
81
83
|
all: string;
|
|
82
84
|
any: string;
|
|
85
|
+
and: string;
|
|
86
|
+
or: string;
|
|
83
87
|
};
|
|
84
88
|
selected: string;
|
|
85
89
|
conditions: string;
|
|
@@ -31,7 +31,7 @@ type PopoverOptions = {
|
|
|
31
31
|
* @category control
|
|
32
32
|
*/
|
|
33
33
|
declare class NgnPopover extends NgnBase<'popover'> implements Openable {
|
|
34
|
-
protected readonly theme: _ngneers_controls_api_ng.ControlTemplateInfo<_ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"
|
|
34
|
+
protected readonly theme: _ngneers_controls_api_ng.ControlTemplateInfo<_ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly _ngneers_controls_themes.ControlTemplate<string, string[], readonly any[]>[]>>;
|
|
35
35
|
/**
|
|
36
36
|
* Emits when the popover has fully closed.
|
|
37
37
|
*/
|
|
@@ -86,8 +86,18 @@ declare class NgnScroller<T> extends ScrollerTemplates<T> {
|
|
|
86
86
|
* If set, the scroller will stick the items with a truthy value for the specified field to the top of the scroller.
|
|
87
87
|
*/
|
|
88
88
|
readonly fieldSticky: _angular_core.InputSignal<AllKeysOfUnion<T> | null>;
|
|
89
|
-
|
|
89
|
+
/**
|
|
90
|
+
* Viewport size — tracks the scroll ancestor's dimensions so that virtual
|
|
91
|
+
* scrolling works when an outer element handles overflow (e.g. table wrapper).
|
|
92
|
+
*/
|
|
93
|
+
private readonly _viewportSize;
|
|
90
94
|
private readonly _itemHeightPx;
|
|
95
|
+
/**
|
|
96
|
+
* Vertical offset between the scroll container's top and the scroller element.
|
|
97
|
+
* Non-zero when a parent (e.g. table wrapper) owns the scroll and the scroller
|
|
98
|
+
* is positioned below other content (e.g. a sticky header row).
|
|
99
|
+
*/
|
|
100
|
+
private readonly _scrollOffset;
|
|
91
101
|
private readonly _visibleItemCount;
|
|
92
102
|
private readonly _scrollTop;
|
|
93
103
|
/**
|
|
@@ -121,7 +131,7 @@ declare class NgnScroller<T> extends ScrollerTemplates<T> {
|
|
|
121
131
|
index: number;
|
|
122
132
|
}): unknown;
|
|
123
133
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgnScroller<any>, never>;
|
|
124
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgnScroller<any>, "ngn-scroller, [ngn-scroller]", never, { "items": { "alias": "items"; "required": true; "isSignal": true; }; "fieldId": { "alias": "fieldId"; "required": false; "isSignal": true; }; "virtual": { "alias": "virtual"; "required": false; "isSignal": true; }; "itemHeight": { "alias": "itemHeight"; "required": false; "isSignal": true; }; "virtualPadding": { "alias": "virtualPadding"; "required": false; "isSignal": true; }; "focusable": { "alias": "focusable"; "required": false; "isSignal": true; }; "fieldSticky": { "alias": "fieldSticky"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.NgnScrollAmount; inputs: {}; outputs: {}; }]>;
|
|
134
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgnScroller<any>, "ngn-scroller, [ngn-scroller]", never, { "items": { "alias": "items"; "required": true; "isSignal": true; }; "fieldId": { "alias": "fieldId"; "required": false; "isSignal": true; }; "virtual": { "alias": "virtual"; "required": false; "isSignal": true; }; "itemHeight": { "alias": "itemHeight"; "required": false; "isSignal": true; }; "virtualPadding": { "alias": "virtualPadding"; "required": false; "isSignal": true; }; "focusable": { "alias": "focusable"; "required": false; "isSignal": true; }; "fieldSticky": { "alias": "fieldSticky"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.NgnScrollAmount; inputs: { "scrollContainer": "scrollContainer"; }; outputs: {}; }]>;
|
|
125
135
|
}
|
|
126
136
|
|
|
127
137
|
declare class NgnScrollerItem implements AfterViewInit {
|
|
@@ -3,7 +3,7 @@ import { TemplateRef, Signal } from '@angular/core';
|
|
|
3
3
|
import * as _ngneers_signal_translate from '@ngneers/signal-translate';
|
|
4
4
|
import * as _ngneers_controls_api_ng from '@ngneers/controls/api/ng';
|
|
5
5
|
import * as _ngneers_controls_themes from '@ngneers/controls-themes';
|
|
6
|
-
import { NgnItem, FilterConfig,
|
|
6
|
+
import { NgnItem, FilterConfig, FilterFn, FilterConfigInternal } from '@ngneers/controls/api';
|
|
7
7
|
import { PopoverOptions } from '@ngneers/controls/popover';
|
|
8
8
|
import { InputGeneric, maybeCallback } from '@ngneers/controls/utils';
|
|
9
9
|
import { ValueControlBase } from '@ngneers/controls/base';
|
|
@@ -106,7 +106,7 @@ type SelectFilterFn<T extends object> = FilterFn<NgnItem<T>>;
|
|
|
106
106
|
* @category control
|
|
107
107
|
*/
|
|
108
108
|
declare class NgnSelect<V, Editable extends boolean = false, Multiple extends boolean = false> extends SelectTemplates<V, Editable, Multiple> {
|
|
109
|
-
protected readonly theme: _ngneers_controls_api_ng.ControlTemplateInfo<_ngneers_controls_themes.ControlTemplate<"select", ["root", "combobox", "input", "icon", "input-editable", "popover-content", "filter", "filter-icon", "list-box", "list-box-empty"], readonly [_ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"
|
|
109
|
+
protected readonly theme: _ngneers_controls_api_ng.ControlTemplateInfo<_ngneers_controls_themes.ControlTemplate<"select", ["root", "combobox", "input", "icon", "input-editable", "popover-content", "filter", "filter-icon", "list-box", "list-box-empty"], readonly [_ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly _ngneers_controls_themes.ControlTemplate<string, string[], readonly any[]>[]>, _ngneers_controls_themes.ControlTemplate<"list-box", ["root", "empty", "invalid", "item", "group", "default-item", "default-group", "scroller", "item-selected", "item-highlighted"], readonly [_ngneers_controls_themes.ControlTemplate<"checkbox", ["root", "input", "box", "box-checked", "box-indeterminate", "box-icon", "box-icon-visible", "invalid"], readonly _ngneers_controls_themes.ControlTemplate<string, string[], readonly any[]>[]>, _ngneers_controls_themes.ControlTemplate<"scroller", ["root", "virtual", "item", "item-sticky"], readonly _ngneers_controls_themes.ControlTemplate<string, string[], readonly any[]>[]>]>, _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [_ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly _ngneers_controls_themes.ControlTemplate<string, string[], readonly any[]>[]>]>]>>;
|
|
110
110
|
protected readonly i18n: _ngneers_signal_translate.TranslationsSignal<{
|
|
111
111
|
calendar: {
|
|
112
112
|
today: string;
|
|
@@ -152,10 +152,14 @@ declare class NgnSelect<V, Editable extends boolean = false, Multiple extends bo
|
|
|
152
152
|
addCondition: string;
|
|
153
153
|
removeCondition: string;
|
|
154
154
|
clear: string;
|
|
155
|
+
apply: string;
|
|
156
|
+
cancel: string;
|
|
155
157
|
matchModeLabel: string;
|
|
156
158
|
match: {
|
|
157
159
|
all: string;
|
|
158
160
|
any: string;
|
|
161
|
+
and: string;
|
|
162
|
+
or: string;
|
|
159
163
|
};
|
|
160
164
|
selected: string;
|
|
161
165
|
conditions: string;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { ElementRef, Signal, Injector } from '@angular/core';
|
|
3
3
|
import { CustomColor } from '@ngneers/controls-custom-types';
|
|
4
4
|
import * as _ngneers_controls_api_ng from '@ngneers/controls/api/ng';
|
|
5
5
|
import * as _ngneers_controls_themes from '@ngneers/controls-themes';
|
|
@@ -29,6 +29,8 @@ type SplitterPanelSize<U extends SplitterPanelSizeUnit = SplitterPanelSizeUnit>
|
|
|
29
29
|
type SplitterPanelSizeLimitUnit = 'px' | '%';
|
|
30
30
|
type SplitterPanelSizeLimit<U extends SplitterPanelSizeLimitUnit = SplitterPanelSizeLimitUnit> = `${number}${U}`;
|
|
31
31
|
type SplitterLayout = 'horizontal' | 'vertical';
|
|
32
|
+
/** Splitter supports adjacent and proportional resize modes (not push). */
|
|
33
|
+
type SplitterResizeMode = 'adjacent' | 'proportional';
|
|
32
34
|
type _SplitterState = {
|
|
33
35
|
layout?: SplitterLayout;
|
|
34
36
|
panelOrder?: string[] | null;
|
|
@@ -39,15 +41,6 @@ type SplitterState = _SplitterState & {
|
|
|
39
41
|
[key: string]: unknown;
|
|
40
42
|
};
|
|
41
43
|
|
|
42
|
-
type ExpandedSplitterPanelSize = {
|
|
43
|
-
value: number;
|
|
44
|
-
unit: SplitterPanelSizeUnit;
|
|
45
|
-
};
|
|
46
|
-
type ExpandedSplitterPanelSizeLimit = {
|
|
47
|
-
value: number;
|
|
48
|
-
unit: SplitterPanelSizeLimitUnit;
|
|
49
|
-
};
|
|
50
|
-
|
|
51
44
|
/**
|
|
52
45
|
* Type interface for the {@link SplitterCalculator} interface.
|
|
53
46
|
*/
|
|
@@ -109,36 +102,6 @@ interface SplitterCalculator {
|
|
|
109
102
|
*/
|
|
110
103
|
moveDivider(index: number, pxDelta: number): void;
|
|
111
104
|
}
|
|
112
|
-
type SplitterFractionFactors = {
|
|
113
|
-
/**
|
|
114
|
-
* The number of fraction units per pixel.
|
|
115
|
-
* This is used to convert pixel values to fraction values.
|
|
116
|
-
*/
|
|
117
|
-
frPerPx: number;
|
|
118
|
-
/**
|
|
119
|
-
* The number of pixels per fraction unit.
|
|
120
|
-
* This is used to convert fraction values to pixel values.
|
|
121
|
-
*/
|
|
122
|
-
pxPerFr: number;
|
|
123
|
-
};
|
|
124
|
-
type SplitterDragContextPanel = {
|
|
125
|
-
/**
|
|
126
|
-
* A reference to the panel component.
|
|
127
|
-
*/
|
|
128
|
-
panel: NgnSplitterPanel;
|
|
129
|
-
/**
|
|
130
|
-
* The starting size of the panel at the beginning of the drag operation.
|
|
131
|
-
*/
|
|
132
|
-
startSize: ExpandedSplitterPanelSize;
|
|
133
|
-
/**
|
|
134
|
-
* The minimum size limit of the panel.
|
|
135
|
-
*/
|
|
136
|
-
minSize: ExpandedSplitterPanelSizeLimit;
|
|
137
|
-
/**
|
|
138
|
-
* The maximum size limit of the panel.
|
|
139
|
-
*/
|
|
140
|
-
maxSize: ExpandedSplitterPanelSizeLimit;
|
|
141
|
-
};
|
|
142
105
|
/**
|
|
143
106
|
* Represents the context of a drag operation in the splitter.
|
|
144
107
|
*/
|
|
@@ -155,17 +118,10 @@ type SplitterDragContext = {
|
|
|
155
118
|
* The starting position of the pointer when the drag operation started, in pixels.
|
|
156
119
|
*/
|
|
157
120
|
startPosition: number;
|
|
158
|
-
/**
|
|
159
|
-
* An array of panels involved in the drag operation.
|
|
160
|
-
*/
|
|
161
|
-
panels: SplitterDragContextPanel[];
|
|
162
|
-
/**
|
|
163
|
-
* The fraction factors used for calculating sizes during the drag operation.
|
|
164
|
-
*/
|
|
165
|
-
fractionFactors: SplitterFractionFactors;
|
|
166
121
|
};
|
|
167
122
|
/**
|
|
168
123
|
* Default implementation of the {@link SplitterCalculator} interface.
|
|
124
|
+
* Delegates all resize math to the generic {@link ResizeEngine}.
|
|
169
125
|
*/
|
|
170
126
|
declare class DefaultSplitterCalculator implements SplitterCalculator {
|
|
171
127
|
protected readonly panels: Signal<readonly NgnSplitterPanel[]>;
|
|
@@ -173,6 +129,7 @@ declare class DefaultSplitterCalculator implements SplitterCalculator {
|
|
|
173
129
|
protected readonly panelOrder: Signal<readonly string[] | null | undefined>;
|
|
174
130
|
protected readonly layout: Signal<SplitterLayout>;
|
|
175
131
|
protected readonly splitterSize: Signal<number>;
|
|
132
|
+
private readonly _engine;
|
|
176
133
|
constructor(splitter: NgnSplitter);
|
|
177
134
|
readonly orderedPanels: Signal<readonly NgnSplitterPanel[]>;
|
|
178
135
|
readonly gridTemplateSizes: Signal<string>;
|
|
@@ -181,21 +138,17 @@ declare class DefaultSplitterCalculator implements SplitterCalculator {
|
|
|
181
138
|
readonly maxSize: Signal<string>;
|
|
182
139
|
readonly dragContext: _angular_core.WritableSignal<SplitterDragContext | null>;
|
|
183
140
|
protected readonly dividerSizes: Signal<number[]>;
|
|
184
|
-
protected readonly totalDividerSize: Signal<number>;
|
|
185
|
-
protected readonly totalPanelSizes: Signal<{
|
|
186
|
-
px: number;
|
|
187
|
-
fr: number;
|
|
188
|
-
}>;
|
|
189
141
|
startDrag(index: number, event: PointerEvent): void;
|
|
190
142
|
drag(index: number, event: PointerEvent): void;
|
|
191
143
|
endDrag(index: number, event: PointerEvent, isCancel: boolean): void;
|
|
192
144
|
moveDivider(index: number, pxDelta: number): void;
|
|
145
|
+
/**
|
|
146
|
+
* Ensures all panels respect their min/max size constraints.
|
|
147
|
+
* Delegates to the underlying {@link ResizeEngine}.
|
|
148
|
+
*/
|
|
193
149
|
ensureMinMaxSizes(): void;
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
private setPanelSize;
|
|
197
|
-
private isPanelSizeCalculated;
|
|
198
|
-
private applyDividerDelta;
|
|
150
|
+
/** @internal — used by tests to seed panel sizes into the engine. */
|
|
151
|
+
setPanelSize(panel: NgnSplitterPanel, size: string): void;
|
|
199
152
|
}
|
|
200
153
|
|
|
201
154
|
/**
|
|
@@ -250,10 +203,14 @@ declare class NgnSplitter extends NgnBase<'splitter'> implements OnDestroy {
|
|
|
250
203
|
addCondition: string;
|
|
251
204
|
removeCondition: string;
|
|
252
205
|
clear: string;
|
|
206
|
+
apply: string;
|
|
207
|
+
cancel: string;
|
|
253
208
|
matchModeLabel: string;
|
|
254
209
|
match: {
|
|
255
210
|
all: string;
|
|
256
211
|
any: string;
|
|
212
|
+
and: string;
|
|
213
|
+
or: string;
|
|
257
214
|
};
|
|
258
215
|
selected: string;
|
|
259
216
|
conditions: string;
|
|
@@ -322,6 +279,19 @@ declare class NgnSplitter extends NgnBase<'splitter'> implements OnDestroy {
|
|
|
322
279
|
* @default `DefaultSplitterCalculator`
|
|
323
280
|
*/
|
|
324
281
|
readonly calculatorType: _angular_core.InputSignal<SplitterCalculatorType>;
|
|
282
|
+
/**
|
|
283
|
+
* The resize distribution mode for the splitter.
|
|
284
|
+
* - `'adjacent'` (default): Only the panels adjacent to the divider are resized.
|
|
285
|
+
* - `'proportional'`: The deficit is distributed proportionally across all panels on the other side.
|
|
286
|
+
*/
|
|
287
|
+
readonly resizeMode: _angular_core.InputSignal<SplitterResizeMode>;
|
|
288
|
+
/**
|
|
289
|
+
* Whether to lock affected panels to fixed `px` values after a resize completes.
|
|
290
|
+
* When `true`, panels whose size changed are converted from their original unit to `px`.
|
|
291
|
+
* When `false`, panels keep their original units (`fr`, `px`).
|
|
292
|
+
* @default false
|
|
293
|
+
*/
|
|
294
|
+
readonly lockSizes: _angular_core.InputSignal<boolean>;
|
|
325
295
|
/**
|
|
326
296
|
* The step size for moving the dividers using the keyboard.
|
|
327
297
|
* This can be a pixel value (e.g., '5px') or a percentage value (e.g., '5%').
|
|
@@ -378,7 +348,7 @@ declare class NgnSplitter extends NgnBase<'splitter'> implements OnDestroy {
|
|
|
378
348
|
private applyFromState;
|
|
379
349
|
private getStepInPx;
|
|
380
350
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgnSplitter, never>;
|
|
381
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgnSplitter, "ngn-splitter", never, { "layout": { "alias": "layout"; "required": true; "isSignal": true; }; "panelOrder": { "alias": "panelOrder"; "required": false; "isSignal": true; }; "stateStorage": { "alias": "stateStorage"; "required": false; "isSignal": true; }; "stateKey": { "alias": "stateKey"; "required": false; "isSignal": true; }; "stateData": { "alias": "stateData"; "required": false; "isSignal": true; }; "calculatorType": { "alias": "calculatorType"; "required": false; "isSignal": true; }; "step": { "alias": "step"; "required": false; "isSignal": true; }; }, { "layout": "layoutChange"; "panelOrder": "panelOrderChange"; "stateSaving": "stateSaving"; "stateLoading": "stateLoading"; }, ["panels"], ["*"], true, never>;
|
|
351
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgnSplitter, "ngn-splitter", never, { "layout": { "alias": "layout"; "required": true; "isSignal": true; }; "panelOrder": { "alias": "panelOrder"; "required": false; "isSignal": true; }; "stateStorage": { "alias": "stateStorage"; "required": false; "isSignal": true; }; "stateKey": { "alias": "stateKey"; "required": false; "isSignal": true; }; "stateData": { "alias": "stateData"; "required": false; "isSignal": true; }; "calculatorType": { "alias": "calculatorType"; "required": false; "isSignal": true; }; "resizeMode": { "alias": "resizeMode"; "required": false; "isSignal": true; }; "lockSizes": { "alias": "lockSizes"; "required": false; "isSignal": true; }; "step": { "alias": "step"; "required": false; "isSignal": true; }; }, { "layout": "layoutChange"; "panelOrder": "panelOrderChange"; "stateSaving": "stateSaving"; "stateLoading": "stateLoading"; }, ["panels"], ["*"], true, never>;
|
|
382
352
|
}
|
|
383
353
|
|
|
384
354
|
declare class NgnSplitterModule {
|
|
@@ -388,4 +358,4 @@ declare class NgnSplitterModule {
|
|
|
388
358
|
}
|
|
389
359
|
|
|
390
360
|
export { DefaultSplitterCalculator, NgnSplitter, NgnSplitterModule, NgnSplitterPanel };
|
|
391
|
-
export type { SplitterCalculator, SplitterCalculatorType, SplitterDragContext, SplitterLayout, SplitterPanelSize, SplitterPanelSizeLimit, SplitterPanelSizeLimitUnit, SplitterPanelSizeUnit, SplitterState, SplitterStateData };
|
|
361
|
+
export type { SplitterCalculator, SplitterCalculatorType, SplitterDragContext, SplitterLayout, SplitterPanelSize, SplitterPanelSizeLimit, SplitterPanelSizeLimitUnit, SplitterPanelSizeUnit, SplitterResizeMode, SplitterState, SplitterStateData };
|