@basis-ng/primitives 0.0.1-alpha.141 → 0.0.1-alpha.143
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.
|
@@ -3,7 +3,7 @@ import { input, output, Component, inject, ElementRef, signal, model, computed,
|
|
|
3
3
|
import { NgIcon, provideIcons } from '@ng-icons/core';
|
|
4
4
|
import { lucideX, lucideChevronRight, lucideChevronLeft, lucideLoaderCircle, lucideLoader, lucideGripVertical } from '@ng-icons/lucide';
|
|
5
5
|
import { GridCellWidget, Grid, GridRow, GridCell } from '@angular/aria/grid';
|
|
6
|
-
import { ActiveDescendantKeyManager, CdkTrapFocus } from '@angular/cdk/a11y';
|
|
6
|
+
import { ActiveDescendantKeyManager, CdkTrapFocus, FocusMonitor } from '@angular/cdk/a11y';
|
|
7
7
|
import * as i1 from '@angular/cdk/listbox';
|
|
8
8
|
import { CdkOption, CdkListbox } from '@angular/cdk/listbox';
|
|
9
9
|
import { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';
|
|
@@ -13,7 +13,9 @@ import * as i1$1 from '@angular/cdk/menu';
|
|
|
13
13
|
import { CdkMenu, CdkMenuGroup, CdkMenuItem, CdkMenuItemCheckbox, CdkMenuItemRadio, CdkMenuTrigger } from '@angular/cdk/menu';
|
|
14
14
|
import * as i1$2 from '@angular/cdk/overlay';
|
|
15
15
|
import { CdkConnectedOverlay, ScrollStrategyOptions, CdkOverlayOrigin, Overlay as Overlay$1 } from '@angular/cdk/overlay';
|
|
16
|
-
import * as i1$3 from '@angular/
|
|
16
|
+
import * as i1$3 from '@angular/aria/tabs';
|
|
17
|
+
import { TabList, Tabs as Tabs$1, Tab as Tab$1 } from '@angular/aria/tabs';
|
|
18
|
+
import * as i1$4 from '@angular/cdk/drag-drop';
|
|
17
19
|
import { CdkDrag, CdkDragHandle, CdkDropList, CdkDropListGroup } from '@angular/cdk/drag-drop';
|
|
18
20
|
import { HttpClient } from '@angular/common/http';
|
|
19
21
|
import { isPlatformBrowser } from '@angular/common';
|
|
@@ -800,22 +802,14 @@ class Checkbox {
|
|
|
800
802
|
*/
|
|
801
803
|
size = model('md', ...(ngDevMode ? [{ debugName: "size" }] : []));
|
|
802
804
|
/**
|
|
803
|
-
*
|
|
805
|
+
* Whether the checkbox is disabled. Automatically bound by Signal Forms.
|
|
804
806
|
*/
|
|
805
|
-
|
|
806
|
-
/**
|
|
807
|
-
* Disabled flag controlled by Angular forms APIs.
|
|
808
|
-
*/
|
|
809
|
-
disabledFromControl = signal(false, ...(ngDevMode ? [{ debugName: "disabledFromControl" }] : []));
|
|
810
|
-
/**
|
|
811
|
-
* Combined disabled state exposed to the template bindings.
|
|
812
|
-
*/
|
|
813
|
-
isDisabled = computed(() => this.disabledBinding() || this.disabledFromControl(), ...(ngDevMode ? [{ debugName: "isDisabled" }] : []));
|
|
807
|
+
disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : {}), transform: booleanAttribute });
|
|
814
808
|
/**
|
|
815
809
|
* Toggle the checkbox when the user clicks on it.
|
|
816
810
|
*/
|
|
817
811
|
onToggle() {
|
|
818
|
-
if (this.
|
|
812
|
+
if (this.disabled()) {
|
|
819
813
|
return;
|
|
820
814
|
}
|
|
821
815
|
const newValue = !this.value();
|
|
@@ -826,17 +820,10 @@ class Checkbox {
|
|
|
826
820
|
* Prevent the page from scrolling when pressing the space key.
|
|
827
821
|
*/
|
|
828
822
|
suppressSpace(event) {
|
|
829
|
-
if (!this.
|
|
823
|
+
if (!this.disabled()) {
|
|
830
824
|
event.preventDefault();
|
|
831
825
|
}
|
|
832
826
|
}
|
|
833
|
-
/**
|
|
834
|
-
* Toggle disabled state on the checkbox.
|
|
835
|
-
* @param isDisabled - Whether the control is disabled.
|
|
836
|
-
*/
|
|
837
|
-
setDisabledState(isDisabled) {
|
|
838
|
-
this.disabledFromControl.set(isDisabled);
|
|
839
|
-
}
|
|
840
827
|
/**
|
|
841
828
|
* Update the current value (FormValueControl API).
|
|
842
829
|
* @param value - New boolean value to apply.
|
|
@@ -846,7 +833,7 @@ class Checkbox {
|
|
|
846
833
|
this.valueChange.emit(value);
|
|
847
834
|
}
|
|
848
835
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: Checkbox, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
849
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: Checkbox, isStandalone: true, selector: "button[b-checkbox]", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null },
|
|
836
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: Checkbox, isStandalone: true, selector: "button[b-checkbox]", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange", valueChange: "valueChange", size: "sizeChange" }, host: { attributes: { "type": "\"button\"" }, listeners: { "click": "onToggle()", "keydown.space": "suppressSpace($event)" }, properties: { "attr.role": "\"checkbox\"", "attr.aria-checked": "value()", "attr.data-state": "value() ? \"checked\" : \"unchecked\"", "attr.aria-disabled": "disabled()", "disabled": "disabled()", "attr.data-disabled": "disabled() ? \"\" : null", "class.b-size-sm": "size() === \"sm\"", "class.b-size-md": "size() === \"md\"", "class.b-size-lg": "size() === \"lg\"" } }, ngImport: i0, template: `
|
|
850
837
|
<span class="b-checkbox-indicator" aria-hidden="true">
|
|
851
838
|
@if (value()) {
|
|
852
839
|
<svg
|
|
@@ -894,9 +881,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
|
|
|
894
881
|
'[attr.role]': '"checkbox"',
|
|
895
882
|
'[attr.aria-checked]': 'value()',
|
|
896
883
|
'[attr.data-state]': 'value() ? "checked" : "unchecked"',
|
|
897
|
-
'[attr.aria-disabled]': '
|
|
898
|
-
'[disabled]': '
|
|
899
|
-
'[attr.data-disabled]': '
|
|
884
|
+
'[attr.aria-disabled]': 'disabled()',
|
|
885
|
+
'[disabled]': 'disabled()',
|
|
886
|
+
'[attr.data-disabled]': 'disabled() ? "" : null',
|
|
900
887
|
'[class.b-size-sm]': 'size() === "sm"',
|
|
901
888
|
'[class.b-size-md]': 'size() === "md"',
|
|
902
889
|
'[class.b-size-lg]': 'size() === "lg"',
|
|
@@ -905,7 +892,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
|
|
|
905
892
|
},
|
|
906
893
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
907
894
|
}]
|
|
908
|
-
}], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], valueChange: [{ type: i0.Output, args: ["valueChange"] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }, { type: i0.Output, args: ["sizeChange"] }],
|
|
895
|
+
}], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], valueChange: [{ type: i0.Output, args: ["valueChange"] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }, { type: i0.Output, args: ["sizeChange"] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }] } });
|
|
909
896
|
|
|
910
897
|
/**
|
|
911
898
|
* Presents a list of selectable command options and manages keyboard navigation.
|
|
@@ -2933,6 +2920,8 @@ class Select {
|
|
|
2933
2920
|
selectContent = contentChild(SelectContent, ...(ngDevMode ? [{ debugName: "selectContent" }] : []));
|
|
2934
2921
|
/** Function to display the selected value(s). */
|
|
2935
2922
|
displayWith = input.required(...(ngDevMode ? [{ debugName: "displayWith" }] : []));
|
|
2923
|
+
/** Whether the select is disabled. Automatically bound by Signal Forms. */
|
|
2924
|
+
disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : {}), transform: booleanAttribute });
|
|
2936
2925
|
/** Current value array for the select. */
|
|
2937
2926
|
value = model([], ...(ngDevMode ? [{ debugName: "value" }] : []));
|
|
2938
2927
|
/** Emitted when the value changes. */
|
|
@@ -2940,6 +2929,7 @@ class Select {
|
|
|
2940
2929
|
constructor() {
|
|
2941
2930
|
effect(() => this.updateDisplayedValue());
|
|
2942
2931
|
effect(() => this.handleContentValueChanges());
|
|
2932
|
+
effect(() => this.selectTrigger()?.disabled.set(this.disabled()));
|
|
2943
2933
|
}
|
|
2944
2934
|
ngOnInit() {
|
|
2945
2935
|
this.setupTriggerEvents();
|
|
@@ -3014,13 +3004,6 @@ class Select {
|
|
|
3014
3004
|
overlay.closeOverlay();
|
|
3015
3005
|
});
|
|
3016
3006
|
}
|
|
3017
|
-
/**
|
|
3018
|
-
* Toggle disabled state on the select trigger.
|
|
3019
|
-
* @param isDisabled - Whether the control is disabled.
|
|
3020
|
-
*/
|
|
3021
|
-
setDisabledState(isDisabled) {
|
|
3022
|
-
this.selectTrigger()?.disabled.set(isDisabled);
|
|
3023
|
-
}
|
|
3024
3007
|
/**
|
|
3025
3008
|
* Update the current value.
|
|
3026
3009
|
* @param value - New value array to apply.
|
|
@@ -3030,7 +3013,7 @@ class Select {
|
|
|
3030
3013
|
this.valueChange.emit(value);
|
|
3031
3014
|
}
|
|
3032
3015
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: Select, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3033
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.0.8", type: Select, isStandalone: true, selector: "b-select", inputs: { displayWith: { classPropertyName: "displayWith", publicName: "displayWith", isSignal: true, isRequired: true, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange", valueChange: "valueChange" }, queries: [{ propertyName: "overlay", first: true, predicate: ConnectedOverlay, descendants: true, isSignal: true }, { propertyName: "selectTrigger", first: true, predicate: SelectTrigger, descendants: true, isSignal: true }, { propertyName: "selectValue", first: true, predicate: SelectValue, descendants: true, isSignal: true }, { propertyName: "selectContent", first: true, predicate: SelectContent, descendants: true, isSignal: true }], ngImport: i0, template: ` <ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
3016
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.0.8", type: Select, isStandalone: true, selector: "b-select", inputs: { displayWith: { classPropertyName: "displayWith", publicName: "displayWith", isSignal: true, isRequired: true, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange", valueChange: "valueChange" }, queries: [{ propertyName: "overlay", first: true, predicate: ConnectedOverlay, descendants: true, isSignal: true }, { propertyName: "selectTrigger", first: true, predicate: SelectTrigger, descendants: true, isSignal: true }, { propertyName: "selectValue", first: true, predicate: SelectValue, descendants: true, isSignal: true }, { propertyName: "selectContent", first: true, predicate: SelectContent, descendants: true, isSignal: true }], ngImport: i0, template: ` <ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
3034
3017
|
}
|
|
3035
3018
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: Select, decorators: [{
|
|
3036
3019
|
type: Component,
|
|
@@ -3039,7 +3022,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
|
|
|
3039
3022
|
template: ` <ng-content />`,
|
|
3040
3023
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
3041
3024
|
}]
|
|
3042
|
-
}], ctorParameters: () => [], propDecorators: { overlay: [{ type: i0.ContentChild, args: [i0.forwardRef(() => ConnectedOverlay), { isSignal: true }] }], selectTrigger: [{ type: i0.ContentChild, args: [i0.forwardRef(() => SelectTrigger), { isSignal: true }] }], selectValue: [{ type: i0.ContentChild, args: [i0.forwardRef(() => SelectValue), { isSignal: true }] }], selectContent: [{ type: i0.ContentChild, args: [i0.forwardRef(() => SelectContent), { isSignal: true }] }], displayWith: [{ type: i0.Input, args: [{ isSignal: true, alias: "displayWith", required: true }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], valueChange: [{ type: i0.Output, args: ["valueChange"] }] } });
|
|
3025
|
+
}], ctorParameters: () => [], propDecorators: { overlay: [{ type: i0.ContentChild, args: [i0.forwardRef(() => ConnectedOverlay), { isSignal: true }] }], selectTrigger: [{ type: i0.ContentChild, args: [i0.forwardRef(() => SelectTrigger), { isSignal: true }] }], selectValue: [{ type: i0.ContentChild, args: [i0.forwardRef(() => SelectValue), { isSignal: true }] }], selectContent: [{ type: i0.ContentChild, args: [i0.forwardRef(() => SelectContent), { isSignal: true }] }], displayWith: [{ type: i0.Input, args: [{ isSignal: true, alias: "displayWith", required: true }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], valueChange: [{ type: i0.Output, args: ["valueChange"] }] } });
|
|
3043
3026
|
|
|
3044
3027
|
/**
|
|
3045
3028
|
* Directive to automatically focus the select filter input when it is initialized.
|
|
@@ -3272,43 +3255,32 @@ class Tabs {
|
|
|
3272
3255
|
* Query list of Tab child components.
|
|
3273
3256
|
*/
|
|
3274
3257
|
tabs = contentChildren(Tab, ...(ngDevMode ? [{ debugName: "tabs" }] : []));
|
|
3275
|
-
|
|
3276
|
-
* Computed index of currently active tab.
|
|
3277
|
-
*/
|
|
3278
|
-
activeIndex = computed(() => {
|
|
3279
|
-
const currentValue = this.value()[0];
|
|
3280
|
-
return this.tabs().findIndex((tab) => tab.value() === currentValue);
|
|
3281
|
-
}, ...(ngDevMode ? [{ debugName: "activeIndex" }] : []));
|
|
3258
|
+
tabList = inject(TabList);
|
|
3282
3259
|
constructor() {
|
|
3283
|
-
// Sync
|
|
3260
|
+
// Sync external model selection changes back to the underlying aria TabList
|
|
3284
3261
|
effect(() => {
|
|
3285
3262
|
const selectedValues = this.value();
|
|
3286
|
-
|
|
3287
|
-
|
|
3288
|
-
}
|
|
3263
|
+
if (selectedValues.length > 0) {
|
|
3264
|
+
this.tabList.selectedTab.set(selectedValues[0]);
|
|
3265
|
+
}
|
|
3266
|
+
else {
|
|
3267
|
+
this.tabList.selectedTab.set(undefined);
|
|
3268
|
+
}
|
|
3289
3269
|
});
|
|
3290
3270
|
}
|
|
3291
|
-
|
|
3292
|
-
|
|
3293
|
-
|
|
3294
|
-
|
|
3295
|
-
|
|
3296
|
-
|
|
3297
|
-
|
|
3298
|
-
|
|
3299
|
-
|
|
3300
|
-
|
|
3301
|
-
|
|
3302
|
-
|
|
3303
|
-
|
|
3304
|
-
*/
|
|
3305
|
-
nextTab() {
|
|
3306
|
-
const currentIndex = this.activeIndex();
|
|
3307
|
-
const tabs = this.tabs();
|
|
3308
|
-
if (tabs.length === 0)
|
|
3309
|
-
return;
|
|
3310
|
-
const newIndex = currentIndex >= tabs.length - 1 ? 0 : currentIndex + 1;
|
|
3311
|
-
this.selectTab(tabs[newIndex].value());
|
|
3271
|
+
onSelectionChange(selectedValue) {
|
|
3272
|
+
if (selectedValue !== undefined) {
|
|
3273
|
+
if (this.value()[0] !== selectedValue) {
|
|
3274
|
+
this.value.set([selectedValue]);
|
|
3275
|
+
this.valueChange.emit([selectedValue]);
|
|
3276
|
+
// If a tab is selected via keyboard logic in "follow" mode, trigger an actual click
|
|
3277
|
+
// so that potential bindings like [routerLink] embedded in the tabs still activate naturally.
|
|
3278
|
+
const tab = this.tabs().find((t) => t.value() === selectedValue);
|
|
3279
|
+
if (tab?.el.nativeElement) {
|
|
3280
|
+
tab.el.nativeElement.click();
|
|
3281
|
+
}
|
|
3282
|
+
}
|
|
3283
|
+
}
|
|
3312
3284
|
}
|
|
3313
3285
|
/**
|
|
3314
3286
|
* Select a tab by its value.
|
|
@@ -3318,18 +3290,27 @@ class Tabs {
|
|
|
3318
3290
|
this.valueChange.emit([tabValue]);
|
|
3319
3291
|
}
|
|
3320
3292
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: Tabs, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3321
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.0.8", type: Tabs, isStandalone: true, selector: "b-tabs", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange", valueChange: "valueChange" }, host: {
|
|
3293
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.0.8", type: Tabs, isStandalone: true, selector: "b-tabs", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange", valueChange: "valueChange" }, host: { attributes: { "selectionMode": "follow" }, listeners: { "selectedTabChange": "onSelectionChange($event)" } }, queries: [{ propertyName: "tabs", predicate: Tab, isSignal: true }], hostDirectives: [{ directive: i1$3.Tabs }, { directive: i1$3.TabList, inputs: ["selectionMode", "selectionMode", "selectedTab", "selectedTab"], outputs: ["selectedTabChange", "selectedTabChange"] }], ngImport: i0, template: ` <ng-content /> `, isInline: true });
|
|
3322
3294
|
}
|
|
3323
3295
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: Tabs, decorators: [{
|
|
3324
3296
|
type: Component,
|
|
3325
3297
|
args: [{
|
|
3326
3298
|
selector: 'b-tabs',
|
|
3327
3299
|
imports: [],
|
|
3300
|
+
hostDirectives: [
|
|
3301
|
+
{
|
|
3302
|
+
directive: Tabs$1,
|
|
3303
|
+
},
|
|
3304
|
+
{
|
|
3305
|
+
directive: TabList,
|
|
3306
|
+
inputs: ['selectionMode', 'selectedTab'],
|
|
3307
|
+
outputs: ['selectedTabChange'],
|
|
3308
|
+
},
|
|
3309
|
+
],
|
|
3328
3310
|
template: ` <ng-content /> `,
|
|
3329
3311
|
host: {
|
|
3330
|
-
|
|
3331
|
-
'(
|
|
3332
|
-
'(keydown.arrowRight)': 'nextTab()',
|
|
3312
|
+
selectionMode: 'follow',
|
|
3313
|
+
'(selectedTabChange)': 'onSelectionChange($event)',
|
|
3333
3314
|
},
|
|
3334
3315
|
}]
|
|
3335
3316
|
}], ctorParameters: () => [], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], valueChange: [{ type: i0.Output, args: ["valueChange"] }], tabs: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => Tab), { isSignal: true }] }] } });
|
|
@@ -3341,7 +3322,7 @@ class Tab {
|
|
|
3341
3322
|
/**
|
|
3342
3323
|
* Parent tabs container.
|
|
3343
3324
|
*/
|
|
3344
|
-
|
|
3325
|
+
tabsContainer = inject(Tabs);
|
|
3345
3326
|
/**
|
|
3346
3327
|
* Host element reference.
|
|
3347
3328
|
*/
|
|
@@ -3350,47 +3331,39 @@ class Tab {
|
|
|
3350
3331
|
* Unique value identifying this tab.
|
|
3351
3332
|
*/
|
|
3352
3333
|
value = input.required(...(ngDevMode ? [{ debugName: "value" }] : []));
|
|
3353
|
-
|
|
3354
|
-
* Internal signal tracking selection state.
|
|
3355
|
-
*/
|
|
3356
|
-
selected = signal(false, ...(ngDevMode ? [{ debugName: "selected" }] : []));
|
|
3357
|
-
/**
|
|
3358
|
-
* Whether this tab is currently selected.
|
|
3359
|
-
*/
|
|
3360
|
-
isSelected = computed(() => this.selected(), ...(ngDevMode ? [{ debugName: "isSelected" }] : []));
|
|
3334
|
+
focusMonitor = inject(FocusMonitor);
|
|
3361
3335
|
constructor() {
|
|
3362
|
-
|
|
3363
|
-
|
|
3364
|
-
|
|
3365
|
-
|
|
3366
|
-
}
|
|
3367
|
-
});
|
|
3336
|
+
this.focusMonitor.monitor(this.el);
|
|
3337
|
+
}
|
|
3338
|
+
ngOnDestroy() {
|
|
3339
|
+
this.focusMonitor.stopMonitoring(this.el);
|
|
3368
3340
|
}
|
|
3369
3341
|
/**
|
|
3370
|
-
*
|
|
3342
|
+
* Whether this tab is currently selected.
|
|
3371
3343
|
*/
|
|
3372
|
-
|
|
3373
|
-
this.selected.set(selected);
|
|
3374
|
-
}
|
|
3344
|
+
isSelected = computed(() => this.value() === this.tabsContainer.value()[0], ...(ngDevMode ? [{ debugName: "isSelected" }] : []));
|
|
3375
3345
|
/**
|
|
3376
3346
|
* Handle click events to select this tab.
|
|
3377
3347
|
*/
|
|
3378
3348
|
onClick() {
|
|
3379
|
-
this.
|
|
3349
|
+
this.tabsContainer.selectTab(this.value());
|
|
3380
3350
|
}
|
|
3381
3351
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: Tab, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3382
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.8", type: Tab, isStandalone: true, selector: "b-tab", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null } }, host: { listeners: { "click": "onClick()" },
|
|
3352
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.8", type: Tab, isStandalone: true, selector: "b-tab", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null } }, host: { listeners: { "click": "onClick()" } }, hostDirectives: [{ directive: i1$3.Tab, inputs: ["value", "value"] }], ngImport: i0, template: ` <ng-content /> `, isInline: true });
|
|
3383
3353
|
}
|
|
3384
3354
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: Tab, decorators: [{
|
|
3385
3355
|
type: Component,
|
|
3386
3356
|
args: [{
|
|
3387
3357
|
selector: 'b-tab',
|
|
3388
3358
|
imports: [],
|
|
3359
|
+
hostDirectives: [
|
|
3360
|
+
{
|
|
3361
|
+
directive: Tab$1,
|
|
3362
|
+
inputs: ['value'],
|
|
3363
|
+
},
|
|
3364
|
+
],
|
|
3389
3365
|
template: ` <ng-content /> `,
|
|
3390
3366
|
host: {
|
|
3391
|
-
'[attr.role]': '"tab"',
|
|
3392
|
-
'[attr.aria-selected]': 'isSelected()',
|
|
3393
|
-
'[attr.tabindex]': 'isSelected() ? 0 : -1',
|
|
3394
3367
|
'(click)': 'onClick()',
|
|
3395
3368
|
},
|
|
3396
3369
|
}]
|
|
@@ -3626,7 +3599,7 @@ class TreeNode {
|
|
|
3626
3599
|
provideIcons({
|
|
3627
3600
|
lucideGripVertical,
|
|
3628
3601
|
}),
|
|
3629
|
-
], queries: [{ propertyName: "nestedTree", first: true, predicate: Tree, descendants: true, isSignal: true }], hostDirectives: [{ directive: i1$
|
|
3602
|
+
], queries: [{ propertyName: "nestedTree", first: true, predicate: Tree, descendants: true, isSignal: true }], hostDirectives: [{ directive: i1$4.CdkDrag, inputs: ["cdkDragDisabled", "disabled"] }], ngImport: i0, template: `
|
|
3630
3603
|
<section>
|
|
3631
3604
|
@if (!isNodeDisabled() && !shouldHideDragHandle()) {
|
|
3632
3605
|
<ng-icon name="lucideGripVertical" size="16" color="currentColor" cdkDragHandle />
|
|
@@ -3811,7 +3784,7 @@ class Tree {
|
|
|
3811
3784
|
});
|
|
3812
3785
|
}
|
|
3813
3786
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: Tree, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3814
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.0.8", type: Tree, isStandalone: true, selector: "b-tree", inputs: { draggable: { classPropertyName: "draggable", publicName: "draggable", isSignal: true, isRequired: false, transformFunction: null }, closeRecursively: { classPropertyName: "closeRecursively", publicName: "closeRecursively", isSignal: true, isRequired: false, transformFunction: null }, dragOnlyWhenCollapsed: { classPropertyName: "dragOnlyWhenCollapsed", publicName: "dragOnlyWhenCollapsed", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dropEmitter: "dropEmitter" }, host: { listeners: { "cdkDropListDropped": "dropEmitter.emit($event)" } }, queries: [{ propertyName: "nestedNodes", predicate: TreeNode, isSignal: true }], hostDirectives: [{ directive: i1$
|
|
3787
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.0.8", type: Tree, isStandalone: true, selector: "b-tree", inputs: { draggable: { classPropertyName: "draggable", publicName: "draggable", isSignal: true, isRequired: false, transformFunction: null }, closeRecursively: { classPropertyName: "closeRecursively", publicName: "closeRecursively", isSignal: true, isRequired: false, transformFunction: null }, dragOnlyWhenCollapsed: { classPropertyName: "dragOnlyWhenCollapsed", publicName: "dragOnlyWhenCollapsed", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dropEmitter: "dropEmitter" }, host: { listeners: { "cdkDropListDropped": "dropEmitter.emit($event)" } }, queries: [{ propertyName: "nestedNodes", predicate: TreeNode, isSignal: true }], hostDirectives: [{ directive: i1$4.CdkDropList, inputs: ["id", "id", "cdkDropListConnectedTo", "connectedTo"], outputs: ["cdkDropListDropped", "cdkDropListDropped"] }, { directive: i1$4.CdkDropListGroup }], ngImport: i0, template: ` <ng-content /> `, isInline: true });
|
|
3815
3788
|
}
|
|
3816
3789
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: Tree, decorators: [{
|
|
3817
3790
|
type: Component,
|