@basis-ng/primitives 0.0.1-alpha.114 → 0.0.1-alpha.116

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.
@@ -1,12 +1,12 @@
1
1
  import * as i0 from '@angular/core';
2
- import { input, output, Component, inject, ElementRef, signal, computed, model, booleanAttribute, forwardRef, ChangeDetectionStrategy, contentChildren, effect, Injectable, contentChild, ViewEncapsulation, HostListener, Directive, linkedSignal, TemplateRef, ChangeDetectorRef, Pipe, afterRenderEffect, RendererFactory2, PLATFORM_ID } from '@angular/core';
2
+ import { input, output, Component, inject, ElementRef, model, booleanAttribute, signal, computed, ChangeDetectionStrategy, contentChildren, effect, Injectable, contentChild, ViewEncapsulation, HostListener, Directive, linkedSignal, TemplateRef, ChangeDetectorRef, Pipe, afterRenderEffect, RendererFactory2, PLATFORM_ID } from '@angular/core';
3
3
  import { NgIcon, provideIcons } from '@ng-icons/core';
4
4
  import { lucideX, lucideLoaderCircle, lucideLoader, lucideGripVertical } from '@ng-icons/lucide';
5
- import { NG_VALUE_ACCESSOR, NgModel } from '@angular/forms';
6
5
  import { ActiveDescendantKeyManager, CdkTrapFocus } from '@angular/cdk/a11y';
7
6
  import * as i1 from '@angular/cdk/listbox';
8
7
  import { CdkOption, CdkListbox } from '@angular/cdk/listbox';
9
8
  import { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';
9
+ import { NgModel } from '@angular/forms';
10
10
  import { Dialog as Dialog$1, CdkDialogContainer, DialogRef } from '@angular/cdk/dialog';
11
11
  import { CdkPortalOutlet } from '@angular/cdk/portal';
12
12
  import { CommonModule, isPlatformBrowser } from '@angular/common';
@@ -44,8 +44,8 @@ class Alert {
44
44
  dismiss() {
45
45
  this.dismissed.emit();
46
46
  }
47
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: Alert, deps: [], target: i0.ɵɵFactoryTarget.Component });
48
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.6", type: Alert, isStandalone: true, selector: "b-alert", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, dismissible: { classPropertyName: "dismissible", publicName: "dismissible", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dismissed: "dismissed" }, providers: [provideIcons({ lucideX })], ngImport: i0, template: `
47
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: Alert, deps: [], target: i0.ɵɵFactoryTarget.Component });
48
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.10", type: Alert, isStandalone: true, selector: "b-alert", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, dismissible: { classPropertyName: "dismissible", publicName: "dismissible", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dismissed: "dismissed" }, providers: [provideIcons({ lucideX })], ngImport: i0, template: `
49
49
  @if (icon()) {
50
50
  <div class="icon">
51
51
  <ng-icon [name]="icon()!" size="20" color="currentColor" />
@@ -66,7 +66,7 @@ class Alert {
66
66
  }
67
67
  `, isInline: true, dependencies: [{ kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }] });
68
68
  }
69
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: Alert, decorators: [{
69
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: Alert, decorators: [{
70
70
  type: Component,
71
71
  args: [{
72
72
  selector: 'b-alert',
@@ -99,10 +99,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor
99
99
  * A minimal badge component that projects inline content inside a span.
100
100
  */
101
101
  class Badge {
102
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: Badge, deps: [], target: i0.ɵɵFactoryTarget.Component });
103
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: Badge, isStandalone: true, selector: "span[b-badge]", ngImport: i0, template: ` <ng-content /> `, isInline: true });
102
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: Badge, deps: [], target: i0.ɵɵFactoryTarget.Component });
103
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.10", type: Badge, isStandalone: true, selector: "span[b-badge]", ngImport: i0, template: ` <ng-content /> `, isInline: true });
104
104
  }
105
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: Badge, decorators: [{
105
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: Badge, decorators: [{
106
106
  type: Component,
107
107
  args: [{
108
108
  selector: 'span[b-badge]',
@@ -118,10 +118,10 @@ class ButtonGroup {
118
118
  * Whether to add spacing between grouped buttons.
119
119
  */
120
120
  spaced = input(false, ...(ngDevMode ? [{ debugName: "spaced" }] : []));
121
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: ButtonGroup, deps: [], target: i0.ɵɵFactoryTarget.Component });
122
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.6", type: ButtonGroup, isStandalone: true, selector: "b-button-group", inputs: { spaced: { classPropertyName: "spaced", publicName: "spaced", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.spaced": "spaced()" }, classAttribute: "button-group" }, ngImport: i0, template: ` <ng-content /> `, isInline: true });
121
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: ButtonGroup, deps: [], target: i0.ɵɵFactoryTarget.Component });
122
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.10", type: ButtonGroup, isStandalone: true, selector: "b-button-group", inputs: { spaced: { classPropertyName: "spaced", publicName: "spaced", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.spaced": "spaced()" }, classAttribute: "button-group" }, ngImport: i0, template: ` <ng-content /> `, isInline: true });
123
123
  }
124
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: ButtonGroup, decorators: [{
124
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: ButtonGroup, decorators: [{
125
125
  type: Component,
126
126
  args: [{
127
127
  selector: 'b-button-group',
@@ -141,10 +141,10 @@ class Button {
141
141
  * Reference to the host button element.
142
142
  */
143
143
  el = inject(ElementRef);
144
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: Button, deps: [], target: i0.ɵɵFactoryTarget.Component });
145
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: Button, isStandalone: true, selector: "button[b-button]", ngImport: i0, template: ` <ng-content /> `, isInline: true });
144
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: Button, deps: [], target: i0.ɵɵFactoryTarget.Component });
145
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.10", type: Button, isStandalone: true, selector: "button[b-button]", ngImport: i0, template: ` <ng-content /> `, isInline: true });
146
146
  }
147
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: Button, decorators: [{
147
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: Button, decorators: [{
148
148
  type: Component,
149
149
  args: [{
150
150
  selector: 'button[b-button]',
@@ -157,10 +157,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor
157
157
  * A simple card container for grouping related content.
158
158
  */
159
159
  class Card {
160
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: Card, deps: [], target: i0.ɵɵFactoryTarget.Component });
161
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: Card, isStandalone: true, selector: "b-card", ngImport: i0, template: ` <ng-content /> `, isInline: true });
160
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: Card, deps: [], target: i0.ɵɵFactoryTarget.Component });
161
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.10", type: Card, isStandalone: true, selector: "b-card", ngImport: i0, template: ` <ng-content /> `, isInline: true });
162
162
  }
163
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: Card, decorators: [{
163
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: Card, decorators: [{
164
164
  type: Component,
165
165
  args: [{
166
166
  selector: 'b-card',
@@ -172,10 +172,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor
172
172
  * Container for the main content of a card.
173
173
  */
174
174
  class CardContent {
175
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: CardContent, deps: [], target: i0.ɵɵFactoryTarget.Component });
176
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: CardContent, isStandalone: true, selector: "b-card-content", ngImport: i0, template: ` <ng-content /> `, isInline: true });
175
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: CardContent, deps: [], target: i0.ɵɵFactoryTarget.Component });
176
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.10", type: CardContent, isStandalone: true, selector: "b-card-content", ngImport: i0, template: ` <ng-content /> `, isInline: true });
177
177
  }
178
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: CardContent, decorators: [{
178
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: CardContent, decorators: [{
179
179
  type: Component,
180
180
  args: [{
181
181
  selector: 'b-card-content',
@@ -187,10 +187,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor
187
187
  * Small descriptive text for a card, typically shown below the title.
188
188
  */
189
189
  class CardDescription {
190
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: CardDescription, deps: [], target: i0.ɵɵFactoryTarget.Component });
191
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: CardDescription, isStandalone: true, selector: "b-card-description", ngImport: i0, template: ` <ng-content /> `, isInline: true });
190
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: CardDescription, deps: [], target: i0.ɵɵFactoryTarget.Component });
191
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.10", type: CardDescription, isStandalone: true, selector: "b-card-description", ngImport: i0, template: ` <ng-content /> `, isInline: true });
192
192
  }
193
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: CardDescription, decorators: [{
193
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: CardDescription, decorators: [{
194
194
  type: Component,
195
195
  args: [{
196
196
  selector: 'b-card-description',
@@ -202,10 +202,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor
202
202
  * Footer area for a card, commonly used for actions or meta content.
203
203
  */
204
204
  class CardFooter {
205
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: CardFooter, deps: [], target: i0.ɵɵFactoryTarget.Component });
206
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: CardFooter, isStandalone: true, selector: "b-card-footer", ngImport: i0, template: ` <ng-content /> `, isInline: true });
205
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: CardFooter, deps: [], target: i0.ɵɵFactoryTarget.Component });
206
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.10", type: CardFooter, isStandalone: true, selector: "b-card-footer", ngImport: i0, template: ` <ng-content /> `, isInline: true });
207
207
  }
208
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: CardFooter, decorators: [{
208
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: CardFooter, decorators: [{
209
209
  type: Component,
210
210
  args: [{
211
211
  selector: 'b-card-footer',
@@ -217,10 +217,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor
217
217
  * Header section for a card, usually contains the title or leading content.
218
218
  */
219
219
  class CardHeader {
220
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: CardHeader, deps: [], target: i0.ɵɵFactoryTarget.Component });
221
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: CardHeader, isStandalone: true, selector: "b-card-header", ngImport: i0, template: ` <ng-content /> `, isInline: true });
220
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: CardHeader, deps: [], target: i0.ɵɵFactoryTarget.Component });
221
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.10", type: CardHeader, isStandalone: true, selector: "b-card-header", ngImport: i0, template: ` <ng-content /> `, isInline: true });
222
222
  }
223
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: CardHeader, decorators: [{
223
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: CardHeader, decorators: [{
224
224
  type: Component,
225
225
  args: [{
226
226
  selector: 'b-card-header',
@@ -232,10 +232,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor
232
232
  * Title element for a card.
233
233
  */
234
234
  class CardTitle {
235
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: CardTitle, deps: [], target: i0.ɵɵFactoryTarget.Component });
236
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: CardTitle, isStandalone: true, selector: "b-card-title", ngImport: i0, template: ` <ng-content /> `, isInline: true });
235
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: CardTitle, deps: [], target: i0.ɵɵFactoryTarget.Component });
236
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.10", type: CardTitle, isStandalone: true, selector: "b-card-title", ngImport: i0, template: ` <ng-content /> `, isInline: true });
237
237
  }
238
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: CardTitle, decorators: [{
238
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: CardTitle, decorators: [{
239
239
  type: Component,
240
240
  args: [{
241
241
  selector: 'b-card-title',
@@ -248,15 +248,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor
248
248
  */
249
249
  class Checkbox {
250
250
  /**
251
- * Internal checked state for the checkbox.
251
+ * Current value of the checkbox.
252
252
  */
253
- internalValue = signal(false, ...(ngDevMode ? [{ debugName: "internalValue" }] : []));
253
+ value = model(false, ...(ngDevMode ? [{ debugName: "value" }] : []));
254
254
  /**
255
- * Public checked state exposed to the template bindings.
256
- */
257
- checked = computed(() => this.internalValue(), ...(ngDevMode ? [{ debugName: "checked" }] : []));
258
- /**
259
- * Public two-way binding output emitted on user interaction.
255
+ * Emitted when the value changes.
260
256
  */
261
257
  valueChange = output();
262
258
  /**
@@ -275,14 +271,6 @@ class Checkbox {
275
271
  * Combined disabled state exposed to the template bindings.
276
272
  */
277
273
  isDisabled = computed(() => this.disabledBinding() || this.disabledFromControl(), ...(ngDevMode ? [{ debugName: "isDisabled" }] : []));
278
- /**
279
- * Internal change handler for the checkbox.
280
- */
281
- onChange = () => undefined;
282
- /**
283
- * Internal touched handler for the checkbox.
284
- */
285
- onTouched = () => undefined;
286
274
  /**
287
275
  * Toggle the checkbox when the user clicks on it.
288
276
  */
@@ -290,9 +278,9 @@ class Checkbox {
290
278
  if (this.isDisabled()) {
291
279
  return;
292
280
  }
293
- const next = !this.checked();
294
- this.setChecked(next, true);
295
- this.markTouched();
281
+ const newValue = !this.value();
282
+ this.value.set(newValue);
283
+ this.valueChange.emit(newValue);
296
284
  }
297
285
  /**
298
286
  * Prevent the page from scrolling when pressing the space key.
@@ -302,33 +290,6 @@ class Checkbox {
302
290
  event.preventDefault();
303
291
  }
304
292
  }
305
- /**
306
- * Mark the control as touched.
307
- */
308
- markTouched() {
309
- this.onTouched();
310
- }
311
- /**
312
- * Write the value to the internal form control.
313
- * @param value - New value to write.
314
- */
315
- writeValue(value) {
316
- this.internalValue.set(!!value);
317
- }
318
- /**
319
- * Register a change handler for the checkbox.
320
- * @param fn - Change callback.
321
- */
322
- registerOnChange(fn) {
323
- this.onChange = fn;
324
- }
325
- /**
326
- * Register a touched handler for the checkbox.
327
- * @param fn - Touched callback.
328
- */
329
- registerOnTouched(fn) {
330
- this.onTouched = fn;
331
- }
332
293
  /**
333
294
  * Toggle disabled state on the checkbox.
334
295
  * @param isDisabled - Whether the control is disabled.
@@ -336,31 +297,10 @@ class Checkbox {
336
297
  setDisabledState(isDisabled) {
337
298
  this.disabledFromControl.set(isDisabled);
338
299
  }
339
- /**
340
- * Set the checked state internally and emit change events if needed.
341
- * @param value - New checked value.
342
- * @param emitChange - Whether to emit change events.
343
- */
344
- setChecked(value, emitChange) {
345
- const normalized = !!value;
346
- if (this.internalValue() !== normalized) {
347
- this.internalValue.set(normalized);
348
- }
349
- if (emitChange) {
350
- this.onChange(normalized);
351
- this.valueChange.emit(normalized);
352
- }
353
- }
354
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: Checkbox, deps: [], target: i0.ɵɵFactoryTarget.Component });
355
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.6", type: Checkbox, isStandalone: true, selector: "button[b-checkbox]", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, disabledBinding: { classPropertyName: "disabledBinding", publicName: "disabledBinding", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valueChange: "valueChange", size: "sizeChange" }, host: { attributes: { "type": "\"button\"" }, listeners: { "click": "onToggle()", "keydown.space": "suppressSpace($event)", "blur": "markTouched()" }, properties: { "attr.role": "\"checkbox\"", "attr.aria-checked": "checked()", "attr.data-state": "checked() ? \"checked\" : \"unchecked\"", "attr.aria-disabled": "isDisabled()", "disabled": "isDisabled()", "attr.data-disabled": "isDisabled() ? \"\" : null", "class.b-size-sm": "size() === \"sm\"", "class.b-size-md": "size() === \"md\"", "class.b-size-lg": "size() === \"lg\"" } }, providers: [
356
- {
357
- provide: NG_VALUE_ACCESSOR,
358
- useExisting: forwardRef(() => Checkbox),
359
- multi: true,
360
- },
361
- ], ngImport: i0, template: `
300
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: Checkbox, deps: [], target: i0.ɵɵFactoryTarget.Component });
301
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.10", 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 }, disabledBinding: { classPropertyName: "disabledBinding", publicName: "disabledBinding", 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": "isDisabled()", "disabled": "isDisabled()", "attr.data-disabled": "isDisabled() ? \"\" : null", "class.b-size-sm": "size() === \"sm\"", "class.b-size-md": "size() === \"md\"", "class.b-size-lg": "size() === \"lg\"" } }, ngImport: i0, template: `
362
302
  <span class="b-checkbox-indicator" aria-hidden="true">
363
- @if (checked()) {
303
+ @if (value()) {
364
304
  <svg
365
305
  width="9"
366
306
  height="9"
@@ -378,13 +318,13 @@ class Checkbox {
378
318
  </span>
379
319
  `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
380
320
  }
381
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: Checkbox, decorators: [{
321
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: Checkbox, decorators: [{
382
322
  type: Component,
383
323
  args: [{
384
324
  selector: 'button[b-checkbox]',
385
325
  template: `
386
326
  <span class="b-checkbox-indicator" aria-hidden="true">
387
- @if (checked()) {
327
+ @if (value()) {
388
328
  <svg
389
329
  width="9"
390
330
  height="9"
@@ -404,8 +344,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor
404
344
  host: {
405
345
  type: '"button"',
406
346
  '[attr.role]': '"checkbox"',
407
- '[attr.aria-checked]': 'checked()',
408
- '[attr.data-state]': 'checked() ? "checked" : "unchecked"',
347
+ '[attr.aria-checked]': 'value()',
348
+ '[attr.data-state]': 'value() ? "checked" : "unchecked"',
409
349
  '[attr.aria-disabled]': 'isDisabled()',
410
350
  '[disabled]': 'isDisabled()',
411
351
  '[attr.data-disabled]': 'isDisabled() ? "" : null',
@@ -414,18 +354,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor
414
354
  '[class.b-size-lg]': 'size() === "lg"',
415
355
  '(click)': 'onToggle()',
416
356
  '(keydown.space)': 'suppressSpace($event)',
417
- '(blur)': 'markTouched()',
418
357
  },
419
- providers: [
420
- {
421
- provide: NG_VALUE_ACCESSOR,
422
- useExisting: forwardRef(() => Checkbox),
423
- multi: true,
424
- },
425
- ],
426
358
  changeDetection: ChangeDetectionStrategy.OnPush,
427
359
  }]
428
- }], propDecorators: { valueChange: [{ type: i0.Output, args: ["valueChange"] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }, { type: i0.Output, args: ["sizeChange"] }], disabledBinding: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabledBinding", required: false }] }] } });
360
+ }], 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"] }], disabledBinding: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabledBinding", required: false }] }] } });
429
361
 
430
362
  /**
431
363
  * Presents a list of selectable command options and manages keyboard navigation.
@@ -540,8 +472,8 @@ class CommandOptionsComponent {
540
472
  this.closeEmitter.emit();
541
473
  }
542
474
  }
543
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: CommandOptionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
544
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.6", type: CommandOptionsComponent, isStandalone: true, selector: "ul[b-command-options]", inputs: { noOptionsMessage: { classPropertyName: "noOptionsMessage", publicName: "noOptionsMessage", isSignal: true, isRequired: false, transformFunction: null }, multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closeEmitter: "closeEmitter" }, host: { listeners: { "cdkListboxValueChange": "handleValueChange($event)", "keydown.enter": "onEnter()" } }, queries: [{ propertyName: "options", predicate: CdkOption, isSignal: true }], hostDirectives: [{ directive: i1.CdkListbox, inputs: ["cdkListboxValue", "cdkListboxValue", "cdkListboxMultiple", "multiple"], outputs: ["cdkListboxValueChange", "cdkListboxValueChange"] }], ngImport: i0, template: `
475
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: CommandOptionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
476
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.10", type: CommandOptionsComponent, isStandalone: true, selector: "ul[b-command-options]", inputs: { noOptionsMessage: { classPropertyName: "noOptionsMessage", publicName: "noOptionsMessage", isSignal: true, isRequired: false, transformFunction: null }, multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closeEmitter: "closeEmitter" }, host: { listeners: { "cdkListboxValueChange": "handleValueChange($event)", "keydown.enter": "onEnter()" } }, queries: [{ propertyName: "options", predicate: CdkOption, isSignal: true }], hostDirectives: [{ directive: i1.CdkListbox, inputs: ["cdkListboxValue", "cdkListboxValue", "cdkListboxMultiple", "multiple"], outputs: ["cdkListboxValueChange", "cdkListboxValueChange"] }], ngImport: i0, template: `
545
477
  <ng-content />
546
478
  @if (options().length === 0) {
547
479
  <div class="no-options-message">
@@ -550,7 +482,7 @@ class CommandOptionsComponent {
550
482
  }
551
483
  `, isInline: true });
552
484
  }
553
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: CommandOptionsComponent, decorators: [{
485
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: CommandOptionsComponent, decorators: [{
554
486
  type: Component,
555
487
  args: [{
556
488
  selector: 'ul[b-command-options]',
@@ -614,10 +546,10 @@ class Utils {
614
546
  return v.toString(16);
615
547
  });
616
548
  }
617
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: Utils, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
618
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: Utils, providedIn: 'root' });
549
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: Utils, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
550
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: Utils, providedIn: 'root' });
619
551
  }
620
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: Utils, decorators: [{
552
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: Utils, decorators: [{
621
553
  type: Injectable,
622
554
  args: [{
623
555
  providedIn: 'root',
@@ -715,10 +647,10 @@ class Input {
715
647
  this.setValue(formattedValue || '');
716
648
  }
717
649
  }
718
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: Input, deps: [], target: i0.ɵɵFactoryTarget.Component });
719
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.6", type: Input, isStandalone: true, selector: "input[b-input]", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, decimals: { classPropertyName: "decimals", publicName: "decimals", isSignal: true, isRequired: false, transformFunction: null }, numberType: { classPropertyName: "numberType", publicName: "numberType", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "input": "onInput($event)", "blur": "onBlur($event)" }, properties: { "type": "type()" } }, exportAs: ["bInput"], ngImport: i0, template: ``, isInline: true });
650
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: Input, deps: [], target: i0.ɵɵFactoryTarget.Component });
651
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.10", type: Input, isStandalone: true, selector: "input[b-input]", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, decimals: { classPropertyName: "decimals", publicName: "decimals", isSignal: true, isRequired: false, transformFunction: null }, numberType: { classPropertyName: "numberType", publicName: "numberType", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "input": "onInput($event)", "blur": "onBlur($event)" }, properties: { "type": "type()" } }, exportAs: ["bInput"], ngImport: i0, template: ``, isInline: true });
720
652
  }
721
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: Input, decorators: [{
653
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: Input, decorators: [{
722
654
  type: Component,
723
655
  args: [{
724
656
  selector: 'input[b-input]',
@@ -797,8 +729,8 @@ class CommandComponent {
797
729
  ngOnDestroy() {
798
730
  this.utils.stopDebounce(this.debounceKey);
799
731
  }
800
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: CommandComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
801
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.3.6", type: CommandComponent, isStandalone: true, selector: "b-command", inputs: { maxHeight: { classPropertyName: "maxHeight", publicName: "maxHeight", isSignal: true, isRequired: false, transformFunction: null }, debounce: { classPropertyName: "debounce", publicName: "debounce", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { inputValueChange: "inputValueChange" }, host: { properties: { "style.maxHeight": "maxHeight()" } }, queries: [{ propertyName: "commandOptions", first: true, predicate: CommandOptionsComponent, descendants: true, isSignal: true }], ngImport: i0, template: `
732
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: CommandComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
733
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.3.10", type: CommandComponent, isStandalone: true, selector: "b-command", inputs: { maxHeight: { classPropertyName: "maxHeight", publicName: "maxHeight", isSignal: true, isRequired: false, transformFunction: null }, debounce: { classPropertyName: "debounce", publicName: "debounce", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { inputValueChange: "inputValueChange" }, host: { properties: { "style.maxHeight": "maxHeight()" } }, queries: [{ propertyName: "commandOptions", first: true, predicate: CommandOptionsComponent, descendants: true, isSignal: true }], ngImport: i0, template: `
802
734
  <input
803
735
  type="text"
804
736
  b-input
@@ -814,7 +746,7 @@ class CommandComponent {
814
746
  <ng-content />
815
747
  `, isInline: true, dependencies: [{ kind: "component", type: Input, selector: "input[b-input]", inputs: ["type", "decimals", "numberType"], exportAs: ["bInput"] }, { kind: "directive", type: CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }] });
816
748
  }
817
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: CommandComponent, decorators: [{
749
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: CommandComponent, decorators: [{
818
750
  type: Component,
819
751
  args: [{
820
752
  selector: 'b-command',
@@ -924,10 +856,10 @@ class DialogManager {
924
856
  closeAllDialogs() {
925
857
  this.dialog.closeAll();
926
858
  }
927
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: DialogManager, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
928
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: DialogManager, providedIn: 'root' });
859
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: DialogManager, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
860
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: DialogManager, providedIn: 'root' });
929
861
  }
930
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: DialogManager, decorators: [{
862
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: DialogManager, decorators: [{
931
863
  type: Injectable,
932
864
  args: [{
933
865
  providedIn: 'root',
@@ -985,10 +917,10 @@ class DialogContent extends CdkDialogContainer {
985
917
  });
986
918
  }
987
919
  }
988
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: DialogContent, deps: [], target: i0.ɵɵFactoryTarget.Component });
989
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: DialogContent, isStandalone: true, selector: "b-dialog-content", host: { properties: { "class.leaving": "leaving()" } }, usesInheritance: true, ngImport: i0, template: ` <ng-template cdkPortalOutlet /> `, isInline: true, dependencies: [{ kind: "directive", type: CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], encapsulation: i0.ViewEncapsulation.None });
920
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: DialogContent, deps: [], target: i0.ɵɵFactoryTarget.Component });
921
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.10", type: DialogContent, isStandalone: true, selector: "b-dialog-content", host: { properties: { "class.leaving": "leaving()" } }, usesInheritance: true, ngImport: i0, template: ` <ng-template cdkPortalOutlet /> `, isInline: true, dependencies: [{ kind: "directive", type: CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], encapsulation: i0.ViewEncapsulation.None });
990
922
  }
991
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: DialogContent, decorators: [{
923
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: DialogContent, decorators: [{
992
924
  type: Component,
993
925
  args: [{
994
926
  selector: 'b-dialog-content',
@@ -1098,15 +1030,15 @@ class Drawer {
1098
1030
  this.isOpen.set(true);
1099
1031
  }
1100
1032
  }
1101
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: Drawer, deps: [], target: i0.ɵɵFactoryTarget.Component });
1102
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.6", type: Drawer, isStandalone: true, selector: "b-drawer", inputs: { isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: true, isRequired: false, transformFunction: null }, closeThreshold: { classPropertyName: "closeThreshold", publicName: "closeThreshold", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isOpen: "isOpenChange", closeSheet: "closeSheet" }, host: { listeners: { "document:click": "closeOnOutsideClick($event)" }, properties: { "class.dragging": "isDragging()", "style.transform": "transform()", "class.open": "isOpen()" } }, ngImport: i0, template: `
1033
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: Drawer, deps: [], target: i0.ɵɵFactoryTarget.Component });
1034
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.10", type: Drawer, isStandalone: true, selector: "b-drawer", inputs: { isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: true, isRequired: false, transformFunction: null }, closeThreshold: { classPropertyName: "closeThreshold", publicName: "closeThreshold", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isOpen: "isOpenChange", closeSheet: "closeSheet" }, host: { listeners: { "document:click": "closeOnOutsideClick($event)" }, properties: { "class.dragging": "isDragging()", "style.transform": "transform()", "class.open": "isOpen()" } }, ngImport: i0, template: `
1103
1035
  <div class="drag-section" (pointerdown)="startDrag($event)">
1104
1036
  <div class="drag-indicator"></div>
1105
1037
  </div>
1106
1038
  <ng-content />
1107
1039
  `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }] });
1108
1040
  }
1109
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: Drawer, decorators: [{
1041
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: Drawer, decorators: [{
1110
1042
  type: Component,
1111
1043
  args: [{
1112
1044
  selector: 'b-drawer',
@@ -1133,10 +1065,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor
1133
1065
  * Wrapper for grouping input-related elements.
1134
1066
  */
1135
1067
  class InputGroup {
1136
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: InputGroup, deps: [], target: i0.ɵɵFactoryTarget.Component });
1137
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: InputGroup, isStandalone: true, selector: "b-input-group", ngImport: i0, template: ` <ng-content /> `, isInline: true });
1068
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: InputGroup, deps: [], target: i0.ɵɵFactoryTarget.Component });
1069
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.10", type: InputGroup, isStandalone: true, selector: "b-input-group", ngImport: i0, template: ` <ng-content /> `, isInline: true });
1138
1070
  }
1139
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: InputGroup, decorators: [{
1071
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: InputGroup, decorators: [{
1140
1072
  type: Component,
1141
1073
  args: [{
1142
1074
  selector: 'b-input-group',
@@ -1148,10 +1080,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor
1148
1080
  * Root menu container that applies CDK menu behavior.
1149
1081
  */
1150
1082
  class Menu {
1151
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: Menu, deps: [], target: i0.ɵɵFactoryTarget.Component });
1152
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: Menu, isStandalone: true, selector: "b-menu", hostDirectives: [{ directive: i1$1.CdkMenu }], ngImport: i0, template: ` <ng-content /> `, isInline: true });
1083
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: Menu, deps: [], target: i0.ɵɵFactoryTarget.Component });
1084
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.10", type: Menu, isStandalone: true, selector: "b-menu", hostDirectives: [{ directive: i1$1.CdkMenu }], ngImport: i0, template: ` <ng-content /> `, isInline: true });
1153
1085
  }
1154
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: Menu, decorators: [{
1086
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: Menu, decorators: [{
1155
1087
  type: Component,
1156
1088
  args: [{
1157
1089
  selector: 'b-menu',
@@ -1164,10 +1096,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor
1164
1096
  * Menu group wrapper that applies CDK menu group behavior.
1165
1097
  */
1166
1098
  class MenuGroup {
1167
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MenuGroup, deps: [], target: i0.ɵɵFactoryTarget.Component });
1168
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: MenuGroup, isStandalone: true, selector: "b-menu-group", hostDirectives: [{ directive: i1$1.CdkMenuGroup }], ngImport: i0, template: ` <ng-content /> `, isInline: true });
1099
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: MenuGroup, deps: [], target: i0.ɵɵFactoryTarget.Component });
1100
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.10", type: MenuGroup, isStandalone: true, selector: "b-menu-group", hostDirectives: [{ directive: i1$1.CdkMenuGroup }], ngImport: i0, template: ` <ng-content /> `, isInline: true });
1169
1101
  }
1170
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MenuGroup, decorators: [{
1102
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: MenuGroup, decorators: [{
1171
1103
  type: Component,
1172
1104
  args: [{
1173
1105
  selector: 'b-menu-group',
@@ -1180,10 +1112,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor
1180
1112
  * Menu item wrapper that forwards behavior to the CDK menu item.
1181
1113
  */
1182
1114
  class MenuItem {
1183
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MenuItem, deps: [], target: i0.ɵɵFactoryTarget.Component });
1184
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: MenuItem, isStandalone: true, selector: "button[b-menu-item]", hostDirectives: [{ directive: i1$1.CdkMenuItem, inputs: ["cdkMenuItemDisabled", "disabled", "cdkMenuitemTypeaheadLabel", "typeaheadLabel"], outputs: ["cdkMenuItemTriggered", "triggered"] }], ngImport: i0, template: ` <ng-content /> `, isInline: true });
1115
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: MenuItem, deps: [], target: i0.ɵɵFactoryTarget.Component });
1116
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.10", type: MenuItem, isStandalone: true, selector: "button[b-menu-item]", hostDirectives: [{ directive: i1$1.CdkMenuItem, inputs: ["cdkMenuItemDisabled", "disabled", "cdkMenuitemTypeaheadLabel", "typeaheadLabel"], outputs: ["cdkMenuItemTriggered", "triggered"] }], ngImport: i0, template: ` <ng-content /> `, isInline: true });
1185
1117
  }
1186
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MenuItem, decorators: [{
1118
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: MenuItem, decorators: [{
1187
1119
  type: Component,
1188
1120
  args: [{
1189
1121
  selector: 'button[b-menu-item]',
@@ -1202,10 +1134,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor
1202
1134
  * Menu item checkbox that connects to the CDK menu checkbox behavior.
1203
1135
  */
1204
1136
  class MenuItemCheckbox {
1205
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MenuItemCheckbox, deps: [], target: i0.ɵɵFactoryTarget.Component });
1206
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: MenuItemCheckbox, isStandalone: true, selector: "button[b-menu-item-checkbox]", hostDirectives: [{ directive: i1$1.CdkMenuItemCheckbox, inputs: ["cdkMenuItemDisabled", "disabled", "cdkMenuitemTypeaheadLabel", "typeaheadLabel", "cdkMenuItemChecked", "active"], outputs: ["cdkMenuItemTriggered", "triggered"] }], ngImport: i0, template: ` <ng-content /> `, isInline: true });
1137
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: MenuItemCheckbox, deps: [], target: i0.ɵɵFactoryTarget.Component });
1138
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.10", type: MenuItemCheckbox, isStandalone: true, selector: "button[b-menu-item-checkbox]", hostDirectives: [{ directive: i1$1.CdkMenuItemCheckbox, inputs: ["cdkMenuItemDisabled", "disabled", "cdkMenuitemTypeaheadLabel", "typeaheadLabel", "cdkMenuItemChecked", "active"], outputs: ["cdkMenuItemTriggered", "triggered"] }], ngImport: i0, template: ` <ng-content /> `, isInline: true });
1207
1139
  }
1208
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MenuItemCheckbox, decorators: [{
1140
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: MenuItemCheckbox, decorators: [{
1209
1141
  type: Component,
1210
1142
  args: [{
1211
1143
  selector: 'button[b-menu-item-checkbox]',
@@ -1228,10 +1160,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor
1228
1160
  * Menu radio item that integrates CDK menu radio behavior.
1229
1161
  */
1230
1162
  class MenuItemRadio {
1231
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MenuItemRadio, deps: [], target: i0.ɵɵFactoryTarget.Component });
1232
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: MenuItemRadio, isStandalone: true, selector: "button[b-menu-item-radio]", hostDirectives: [{ directive: i1$1.CdkMenuItemRadio, inputs: ["cdkMenuItemDisabled", "disabled", "cdkMenuitemTypeaheadLabel", "typeaheadLabel", "cdkMenuItemChecked", "active"], outputs: ["cdkMenuItemTriggered", "triggered"] }], ngImport: i0, template: ` <ng-content /> `, isInline: true });
1163
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: MenuItemRadio, deps: [], target: i0.ɵɵFactoryTarget.Component });
1164
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.10", type: MenuItemRadio, isStandalone: true, selector: "button[b-menu-item-radio]", hostDirectives: [{ directive: i1$1.CdkMenuItemRadio, inputs: ["cdkMenuItemDisabled", "disabled", "cdkMenuitemTypeaheadLabel", "typeaheadLabel", "cdkMenuItemChecked", "active"], outputs: ["cdkMenuItemTriggered", "triggered"] }], ngImport: i0, template: ` <ng-content /> `, isInline: true });
1233
1165
  }
1234
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MenuItemRadio, decorators: [{
1166
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: MenuItemRadio, decorators: [{
1235
1167
  type: Component,
1236
1168
  args: [{
1237
1169
  selector: 'button[b-menu-item-radio]',
@@ -1254,10 +1186,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor
1254
1186
  * Label element used inside menus to group or describe items.
1255
1187
  */
1256
1188
  class MenuLabel {
1257
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MenuLabel, deps: [], target: i0.ɵɵFactoryTarget.Component });
1258
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: MenuLabel, isStandalone: true, selector: "b-menu-label", ngImport: i0, template: ` <ng-content /> `, isInline: true });
1189
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: MenuLabel, deps: [], target: i0.ɵɵFactoryTarget.Component });
1190
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.10", type: MenuLabel, isStandalone: true, selector: "b-menu-label", ngImport: i0, template: ` <ng-content /> `, isInline: true });
1259
1191
  }
1260
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MenuLabel, decorators: [{
1192
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: MenuLabel, decorators: [{
1261
1193
  type: Component,
1262
1194
  args: [{
1263
1195
  selector: 'b-menu-label',
@@ -1384,10 +1316,10 @@ class MenuTriggerDirective {
1384
1316
  this.trigger.menuPosition = [positionMap[pos]];
1385
1317
  }
1386
1318
  }
1387
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MenuTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1388
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.6", type: MenuTriggerDirective, isStandalone: true, selector: "[menuTriggerFor]", inputs: { menuTriggerPosition: { classPropertyName: "menuTriggerPosition", publicName: "menuTriggerPosition", isSignal: true, isRequired: false, transformFunction: null }, submenu: { classPropertyName: "submenu", publicName: "submenu", isSignal: true, isRequired: false, transformFunction: null } }, hostDirectives: [{ directive: i1$1.CdkMenuTrigger, inputs: ["cdkMenuTriggerFor", "menuTriggerFor"] }], ngImport: i0 });
1319
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: MenuTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1320
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.10", type: MenuTriggerDirective, isStandalone: true, selector: "[menuTriggerFor]", inputs: { menuTriggerPosition: { classPropertyName: "menuTriggerPosition", publicName: "menuTriggerPosition", isSignal: true, isRequired: false, transformFunction: null }, submenu: { classPropertyName: "submenu", publicName: "submenu", isSignal: true, isRequired: false, transformFunction: null } }, hostDirectives: [{ directive: i1$1.CdkMenuTrigger, inputs: ["cdkMenuTriggerFor", "menuTriggerFor"] }], ngImport: i0 });
1389
1321
  }
1390
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MenuTriggerDirective, decorators: [{
1322
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: MenuTriggerDirective, decorators: [{
1391
1323
  type: Directive,
1392
1324
  args: [{
1393
1325
  selector: '[menuTriggerFor]',
@@ -1415,10 +1347,10 @@ class Option {
1415
1347
  * This provides methods and properties for managing the option's state, such as selection and value.
1416
1348
  */
1417
1349
  cdkOption = inject(CdkOption);
1418
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: Option, deps: [], target: i0.ɵɵFactoryTarget.Component });
1419
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: Option, isStandalone: true, selector: "li[b-option]", hostDirectives: [{ directive: i1.CdkOption, inputs: ["cdkOption", "value", "cdkOptionDisabled", "disabled"] }], ngImport: i0, template: ` <ng-content /> `, isInline: true });
1350
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: Option, deps: [], target: i0.ɵɵFactoryTarget.Component });
1351
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.10", type: Option, isStandalone: true, selector: "li[b-option]", hostDirectives: [{ directive: i1.CdkOption, inputs: ["cdkOption", "value", "cdkOptionDisabled", "disabled"] }], ngImport: i0, template: ` <ng-content /> `, isInline: true });
1420
1352
  }
1421
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: Option, decorators: [{
1353
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: Option, decorators: [{
1422
1354
  type: Component,
1423
1355
  args: [{
1424
1356
  selector: 'li[b-option]',
@@ -1441,10 +1373,14 @@ class Otp {
1441
1373
  * Number of digit inputs.
1442
1374
  */
1443
1375
  length = computed(() => this.digitInputs().length, ...(ngDevMode ? [{ debugName: "length" }] : []));
1376
+ /**
1377
+ * Current OTP value.
1378
+ */
1379
+ value = model('', ...(ngDevMode ? [{ debugName: "value" }] : []));
1444
1380
  /**
1445
1381
  * Emitted when the OTP value changes.
1446
1382
  */
1447
- otpChange = output();
1383
+ valueChange = output();
1448
1384
  /**
1449
1385
  * Query list of digit input directives.
1450
1386
  */
@@ -1454,14 +1390,6 @@ class Otp {
1454
1390
  * Whether the OTP inputs are disabled.
1455
1391
  */
1456
1392
  disabled = model(false, ...(ngDevMode ? [{ debugName: "disabled" }] : []));
1457
- /**
1458
- * Callback invoked when the OTP value changes.
1459
- */
1460
- onChange = () => undefined;
1461
- /**
1462
- * Callback invoked when the control is touched.
1463
- */
1464
- onTouched = () => undefined;
1465
1393
  ngAfterContentInit() {
1466
1394
  this.digitInputs().forEach((input, idx) => {
1467
1395
  const el = input.el.nativeElement;
@@ -1541,9 +1469,8 @@ class Otp {
1541
1469
  */
1542
1470
  emitValue() {
1543
1471
  const otp = this.values.join('');
1544
- this.otpChange.emit(otp);
1545
- this.onChange(otp);
1546
- this.onTouched();
1472
+ this.value.set(otp);
1473
+ this.valueChange.emit(otp);
1547
1474
  }
1548
1475
  /**
1549
1476
  * Reset the OTP input values.
@@ -1554,43 +1481,6 @@ class Otp {
1554
1481
  input.el.nativeElement.value = '';
1555
1482
  });
1556
1483
  }
1557
- // ControlValueAccessor implementation
1558
- /**
1559
- * Write a value to the OTP inputs.
1560
- * @param value - New OTP string to display.
1561
- */
1562
- writeValue(value) {
1563
- this.values = Array(this.length()).fill('');
1564
- if (value) {
1565
- value
1566
- .slice(0, this.length())
1567
- .split('')
1568
- .forEach((c, i) => {
1569
- this.values[i] = c;
1570
- const input = this.digitInputs()[i];
1571
- if (input) {
1572
- input.el.nativeElement.value = c;
1573
- }
1574
- });
1575
- }
1576
- else {
1577
- this.resetValues();
1578
- }
1579
- }
1580
- /**
1581
- * Register callback invoked when the OTP value changes.
1582
- * @param fn - Callback receiving the OTP string.
1583
- */
1584
- registerOnChange(fn) {
1585
- this.onChange = fn;
1586
- }
1587
- /**
1588
- * Register callback invoked when the control is touched.
1589
- * @param fn - Touched callback.
1590
- */
1591
- registerOnTouched(fn) {
1592
- this.onTouched = fn;
1593
- }
1594
1484
  /**
1595
1485
  * Set the disabled state of the OTP inputs.
1596
1486
  * @param isDisabled - Whether inputs should be disabled.
@@ -1601,38 +1491,25 @@ class Otp {
1601
1491
  input.el.nativeElement.disabled = isDisabled;
1602
1492
  });
1603
1493
  }
1604
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: Otp, deps: [], target: i0.ɵɵFactoryTarget.Component });
1605
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.3.6", type: Otp, isStandalone: true, selector: "b-otp", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { otpChange: "otpChange", disabled: "disabledChange" }, providers: [
1606
- {
1607
- provide: NG_VALUE_ACCESSOR,
1608
- useExisting: forwardRef(() => Otp),
1609
- multi: true,
1610
- },
1611
- ], queries: [{ propertyName: "digitInputs", predicate: OtpDigitDirective, isSignal: true }], ngImport: i0, template: ` <ng-content /> `, isInline: true });
1494
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: Otp, deps: [], target: i0.ɵɵFactoryTarget.Component });
1495
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.3.10", type: Otp, isStandalone: true, selector: "b-otp", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange", valueChange: "valueChange", disabled: "disabledChange" }, queries: [{ propertyName: "digitInputs", predicate: OtpDigitDirective, isSignal: true }], ngImport: i0, template: ` <ng-content /> `, isInline: true });
1612
1496
  }
1613
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: Otp, decorators: [{
1497
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: Otp, decorators: [{
1614
1498
  type: Component,
1615
1499
  args: [{
1616
1500
  selector: 'b-otp',
1617
1501
  template: ` <ng-content /> `,
1618
- providers: [
1619
- {
1620
- provide: NG_VALUE_ACCESSOR,
1621
- useExisting: forwardRef(() => Otp),
1622
- multi: true,
1623
- },
1624
- ],
1625
1502
  }]
1626
- }], propDecorators: { otpChange: [{ type: i0.Output, args: ["otpChange"] }], digitInputs: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => OtpDigitDirective), { isSignal: true }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }, { type: i0.Output, args: ["disabledChange"] }] } });
1503
+ }], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], valueChange: [{ type: i0.Output, args: ["valueChange"] }], digitInputs: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => OtpDigitDirective), { isSignal: true }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }, { type: i0.Output, args: ["disabledChange"] }] } });
1627
1504
  class OtpDigitDirective {
1628
1505
  /**
1629
1506
  * Host input element for the OTP digit.
1630
1507
  */
1631
1508
  el = inject((ElementRef));
1632
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: OtpDigitDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1633
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.6", type: OtpDigitDirective, isStandalone: true, selector: "input[b-otp-digit]", host: { attributes: { "maxlength": "1" } }, ngImport: i0 });
1509
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: OtpDigitDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1510
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.10", type: OtpDigitDirective, isStandalone: true, selector: "input[b-otp-digit]", host: { attributes: { "maxlength": "1" } }, ngImport: i0 });
1634
1511
  }
1635
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: OtpDigitDirective, decorators: [{
1512
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: OtpDigitDirective, decorators: [{
1636
1513
  type: Directive,
1637
1514
  args: [{
1638
1515
  selector: 'input[b-otp-digit]',
@@ -1662,7 +1539,7 @@ class Overlay {
1662
1539
  /**
1663
1540
  * Whether the overlay is open.
1664
1541
  */
1665
- open = linkedSignal(() => this.trigger()?.active() || false, ...(ngDevMode ? [{ debugName: "open" }] : []));
1542
+ open = computed(() => this.trigger()?.active() || false, ...(ngDevMode ? [{ debugName: "open" }] : []));
1666
1543
  /** Preferred overlay positions in priority order.
1667
1544
 
1668
1545
  * @defaultValue ['bottom-center', 'top-center']
@@ -1792,10 +1669,10 @@ class Overlay {
1792
1669
  setPositions() {
1793
1670
  this.cdkConnectedOverlay.positions = this.connectedPositions();
1794
1671
  }
1795
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: Overlay, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1796
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.6", type: Overlay, isStandalone: true, selector: "[bOverlay]", inputs: { trigger: { classPropertyName: "trigger", publicName: "trigger", isSignal: true, isRequired: false, transformFunction: null }, positions: { classPropertyName: "positions", publicName: "positions", isSignal: true, isRequired: false, transformFunction: null }, closeOnClickOutside: { classPropertyName: "closeOnClickOutside", publicName: "closeOnClickOutside", isSignal: true, isRequired: false, transformFunction: null }, closeOnTypeEscape: { classPropertyName: "closeOnTypeEscape", publicName: "closeOnTypeEscape", isSignal: true, isRequired: false, transformFunction: null }, focusTriggerOnClose: { classPropertyName: "focusTriggerOnClose", publicName: "focusTriggerOnClose", isSignal: true, isRequired: false, transformFunction: null }, scrollStrategy: { classPropertyName: "scrollStrategy", publicName: "scrollStrategy", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closeOnClickOutside: "closeOnClickOutsideChange", closeOnTypeEscape: "closeOnTypeEscapeChange", focusTriggerOnClose: "focusTriggerOnCloseChange", scrollStrategy: "scrollStrategyChange" }, host: { listeners: { "positionChange": "setPositionPair($event)", "detach": "deactivateTrigger()", "overlayOutsideClick": "closeIfClickedOutside()", "overlayKeydown": "closeOnEscape($event)" } }, hostDirectives: [{ directive: i1$2.CdkConnectedOverlay, inputs: ["cdkConnectedOverlayBackdropClass", "backdropClass", "cdkConnectedOverlayDisposeOnNavigation", "disposeOnNavigation", "cdkConnectedOverlayFlexibleDimensions", "flexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "growAfterOpen", "cdkConnectedOverlayHasBackdrop", "hasBackdrop", "cdkConnectedOverlayHeight", "height", "cdkConnectedOverlayLockPosition", "lockPosition", "cdkConnectedOverlayMinHeight", "minHeight", "cdkConnectedOverlayMinWidth", "minWidth", "cdkConnectedOverlayOffsetX", "offsetX", "cdkConnectedOverlayOffsetY", "offsetY", "cdkConnectedOverlayOrigin", "trigger", "cdkConnectedOverlayPanelClass", "panelClass", "cdkConnectedOverlayPositionStrategy", "positionStrategy", "cdkConnectedOverlayPush", "push", "cdkConnectedOverlayTransformOriginOn", "transformOriginSelector", "cdkConnectedOverlayViewportMargin", "viewportMargin", "cdkConnectedOverlayWidth", "width"], outputs: ["attach", "attach", "detach", "detach", "overlayKeydown", "overlayKeydown", "overlayOutsideClick", "overlayOutsideClick", "positionChange", "positionChange"] }], ngImport: i0 });
1672
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: Overlay, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1673
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.10", type: Overlay, isStandalone: true, selector: "[bOverlay]", inputs: { trigger: { classPropertyName: "trigger", publicName: "trigger", isSignal: true, isRequired: false, transformFunction: null }, positions: { classPropertyName: "positions", publicName: "positions", isSignal: true, isRequired: false, transformFunction: null }, closeOnClickOutside: { classPropertyName: "closeOnClickOutside", publicName: "closeOnClickOutside", isSignal: true, isRequired: false, transformFunction: null }, closeOnTypeEscape: { classPropertyName: "closeOnTypeEscape", publicName: "closeOnTypeEscape", isSignal: true, isRequired: false, transformFunction: null }, focusTriggerOnClose: { classPropertyName: "focusTriggerOnClose", publicName: "focusTriggerOnClose", isSignal: true, isRequired: false, transformFunction: null }, scrollStrategy: { classPropertyName: "scrollStrategy", publicName: "scrollStrategy", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closeOnClickOutside: "closeOnClickOutsideChange", closeOnTypeEscape: "closeOnTypeEscapeChange", focusTriggerOnClose: "focusTriggerOnCloseChange", scrollStrategy: "scrollStrategyChange" }, host: { listeners: { "positionChange": "setPositionPair($event)", "detach": "deactivateTrigger()", "overlayOutsideClick": "closeIfClickedOutside()", "overlayKeydown": "closeOnEscape($event)" } }, hostDirectives: [{ directive: i1$2.CdkConnectedOverlay, inputs: ["cdkConnectedOverlayBackdropClass", "backdropClass", "cdkConnectedOverlayDisposeOnNavigation", "disposeOnNavigation", "cdkConnectedOverlayFlexibleDimensions", "flexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "growAfterOpen", "cdkConnectedOverlayHasBackdrop", "hasBackdrop", "cdkConnectedOverlayHeight", "height", "cdkConnectedOverlayLockPosition", "lockPosition", "cdkConnectedOverlayMinHeight", "minHeight", "cdkConnectedOverlayMinWidth", "minWidth", "cdkConnectedOverlayOffsetX", "offsetX", "cdkConnectedOverlayOffsetY", "offsetY", "cdkConnectedOverlayOrigin", "trigger", "cdkConnectedOverlayPanelClass", "panelClass", "cdkConnectedOverlayPositionStrategy", "positionStrategy", "cdkConnectedOverlayPush", "push", "cdkConnectedOverlayTransformOriginOn", "transformOriginSelector", "cdkConnectedOverlayViewportMargin", "viewportMargin", "cdkConnectedOverlayWidth", "width"], outputs: ["attach", "attach", "detach", "detach", "overlayKeydown", "overlayKeydown", "overlayOutsideClick", "overlayOutsideClick", "positionChange", "positionChange"] }], ngImport: i0 });
1797
1674
  }
1798
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: Overlay, decorators: [{
1675
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: Overlay, decorators: [{
1799
1676
  type: Directive,
1800
1677
  args: [{
1801
1678
  selector: '[bOverlay]',
@@ -1945,19 +1822,10 @@ const positionsMap = {
1945
1822
  * padding-based sizing (no fixed heights) and do not expose variant classes.
1946
1823
  */
1947
1824
  class Popover extends Overlay {
1948
- ngOnInit() {
1949
- this.setScrollStrategyToClose();
1950
- }
1951
- /**
1952
- * Sets the scroll strategy to close the popover when scrolling occurs.
1953
- */
1954
- setScrollStrategyToClose() {
1955
- this.scrollStrategy.set('close');
1956
- }
1957
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: Popover, deps: null, target: i0.ɵɵFactoryTarget.Directive });
1958
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.6", type: Popover, isStandalone: true, selector: "[bPopover]", usesInheritance: true, ngImport: i0 });
1825
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: Popover, deps: null, target: i0.ɵɵFactoryTarget.Directive });
1826
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.10", type: Popover, isStandalone: true, selector: "[bPopover]", usesInheritance: true, ngImport: i0 });
1959
1827
  }
1960
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: Popover, decorators: [{
1828
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: Popover, decorators: [{
1961
1829
  type: Directive,
1962
1830
  args: [{
1963
1831
  selector: '[bPopover]',
@@ -1969,37 +1837,37 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor
1969
1837
  */
1970
1838
  class OverlayTrigger extends CdkOverlayOrigin {
1971
1839
  /**
1972
- * Signal that holds whether the overlay trigger is active.
1840
+ * Model that indicates whether the trigger is active.
1973
1841
  *
1974
1842
  * @defaultValue false
1975
1843
  */
1976
- active = signal(false, ...(ngDevMode ? [{ debugName: "active" }] : []));
1844
+ active = model(false, ...(ngDevMode ? [{ debugName: "active" }] : []));
1977
1845
  /**
1978
1846
  * Reference to the `ElementRef` of the host element.
1979
1847
  * This is used to access the native DOM element.
1980
1848
  */
1981
1849
  el = inject(ElementRef);
1982
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: OverlayTrigger, deps: null, target: i0.ɵɵFactoryTarget.Directive });
1983
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.6", type: OverlayTrigger, isStandalone: true, selector: "[bOverlayTrigger]", exportAs: ["bOverlayTrigger"], usesInheritance: true, hostDirectives: [{ directive: i1$2.CdkOverlayOrigin }], ngImport: i0 });
1850
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: OverlayTrigger, deps: null, target: i0.ɵɵFactoryTarget.Directive });
1851
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.10", type: OverlayTrigger, isStandalone: true, selector: "[bOverlayTrigger]", inputs: { active: { classPropertyName: "active", publicName: "active", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { active: "activeChange" }, exportAs: ["bOverlayTrigger"], usesInheritance: true, hostDirectives: [{ directive: i1$2.CdkOverlayOrigin }], ngImport: i0 });
1984
1852
  }
1985
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: OverlayTrigger, decorators: [{
1853
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: OverlayTrigger, decorators: [{
1986
1854
  type: Directive,
1987
1855
  args: [{
1988
1856
  selector: '[bOverlayTrigger]',
1989
1857
  hostDirectives: [CdkOverlayOrigin],
1990
1858
  exportAs: 'bOverlayTrigger',
1991
1859
  }]
1992
- }] });
1860
+ }], propDecorators: { active: [{ type: i0.Input, args: [{ isSignal: true, alias: "active", required: false }] }, { type: i0.Output, args: ["activeChange"] }] } });
1993
1861
 
1994
1862
  /**
1995
1863
  * Trigger directive that emits activation events for popovers.
1996
1864
  * Exposes the same `trigger` and `el` properties expected by `ConnectedOverlay`.
1997
1865
  */
1998
1866
  class PopoverTrigger extends OverlayTrigger {
1999
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: PopoverTrigger, deps: null, target: i0.ɵɵFactoryTarget.Directive });
2000
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.6", type: PopoverTrigger, isStandalone: true, selector: "[bPopoverTrigger]", host: { listeners: { "click": "active.set(!active())" } }, exportAs: ["bPopoverTrigger"], usesInheritance: true, ngImport: i0 });
1867
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: PopoverTrigger, deps: null, target: i0.ɵɵFactoryTarget.Directive });
1868
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.10", type: PopoverTrigger, isStandalone: true, selector: "[bPopoverTrigger]", host: { listeners: { "click": "active.set(!active())" } }, exportAs: ["bPopoverTrigger"], usesInheritance: true, ngImport: i0 });
2001
1869
  }
2002
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: PopoverTrigger, decorators: [{
1870
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: PopoverTrigger, decorators: [{
2003
1871
  type: Directive,
2004
1872
  args: [{
2005
1873
  selector: '[bPopoverTrigger]',
@@ -2019,10 +1887,10 @@ class Range {
2019
1887
  onInput(event) {
2020
1888
  this.value.set(event.target.value);
2021
1889
  }
2022
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: Range, deps: [], target: i0.ɵɵFactoryTarget.Component });
2023
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.6", type: Range, isStandalone: true, selector: "input[b-range]", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange" }, host: { listeners: { "input": "onInput($event)" }, properties: { "attr.value": "value()" } }, ngImport: i0, template: ``, isInline: true });
1890
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: Range, deps: [], target: i0.ɵɵFactoryTarget.Component });
1891
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.10", type: Range, isStandalone: true, selector: "input[b-range]", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange" }, host: { listeners: { "input": "onInput($event)" }, properties: { "attr.value": "value()" } }, ngImport: i0, template: ``, isInline: true });
2024
1892
  }
2025
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: Range, decorators: [{
1893
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: Range, decorators: [{
2026
1894
  type: Component,
2027
1895
  args: [{
2028
1896
  selector: 'input[b-range]',
@@ -2269,10 +2137,10 @@ class ConnectedOverlay {
2269
2137
  openOverlay() {
2270
2138
  this.open.set(true);
2271
2139
  }
2272
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: ConnectedOverlay, deps: [], target: i0.ɵɵFactoryTarget.Directive });
2273
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.6", type: ConnectedOverlay, isStandalone: true, selector: "[bConnectedOverlay]", inputs: { open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, trigger: { classPropertyName: "trigger", publicName: "trigger", isSignal: true, isRequired: true, transformFunction: null }, positions: { classPropertyName: "positions", publicName: "positions", isSignal: true, isRequired: false, transformFunction: null }, focusTriggerOnClose: { classPropertyName: "focusTriggerOnClose", publicName: "focusTriggerOnClose", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { open: "openChange", detachEmitter: "detachEmitter", attachEmitter: "attachEmitter", outsideClickEmitter: "outsideClickEmitter", backdropClickEmitter: "backdropClickEmitter" }, host: { listeners: { "positionChange": "connectedPositionPair.set($event.connectionPair)", "detach": "detachEmitter.emit()", "attach": "attachEmitter.emit()", "outsideClick": "outsideClickEmitter.emit()", "backdropClick": "backdropClickEmitter.emit()" } }, hostDirectives: [{ directive: i1$2.CdkConnectedOverlay, inputs: ["cdkConnectedOverlayWidth", "width", "cdkConnectedOverlayMinWidth", "minWidth", "cdkConnectedOverlayBackdropClass", "customBackdropClass", "cdkConnectedOverlayPanelClass", "panelClass"], outputs: ["detach", "detach", "attach", "attach", "overlayOutsideClick", "outsideClick", "backdropClick", "backdropClick", "positionChange", "positionChange"] }], ngImport: i0 });
2140
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: ConnectedOverlay, deps: [], target: i0.ɵɵFactoryTarget.Directive });
2141
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.10", type: ConnectedOverlay, isStandalone: true, selector: "[bConnectedOverlay]", inputs: { open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, trigger: { classPropertyName: "trigger", publicName: "trigger", isSignal: true, isRequired: true, transformFunction: null }, positions: { classPropertyName: "positions", publicName: "positions", isSignal: true, isRequired: false, transformFunction: null }, focusTriggerOnClose: { classPropertyName: "focusTriggerOnClose", publicName: "focusTriggerOnClose", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { open: "openChange", detachEmitter: "detachEmitter", attachEmitter: "attachEmitter", outsideClickEmitter: "outsideClickEmitter", backdropClickEmitter: "backdropClickEmitter" }, host: { listeners: { "positionChange": "connectedPositionPair.set($event.connectionPair)", "detach": "detachEmitter.emit()", "attach": "attachEmitter.emit()", "outsideClick": "outsideClickEmitter.emit()", "backdropClick": "backdropClickEmitter.emit()" } }, hostDirectives: [{ directive: i1$2.CdkConnectedOverlay, inputs: ["cdkConnectedOverlayWidth", "width", "cdkConnectedOverlayMinWidth", "minWidth", "cdkConnectedOverlayBackdropClass", "customBackdropClass", "cdkConnectedOverlayPanelClass", "panelClass"], outputs: ["detach", "detach", "attach", "attach", "overlayOutsideClick", "outsideClick", "backdropClick", "backdropClick", "positionChange", "positionChange"] }], ngImport: i0 });
2274
2142
  }
2275
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: ConnectedOverlay, decorators: [{
2143
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: ConnectedOverlay, decorators: [{
2276
2144
  type: Directive,
2277
2145
  args: [{
2278
2146
  selector: '[bConnectedOverlay]',
@@ -2350,10 +2218,10 @@ class SelectContent {
2350
2218
  emitValueChange(event) {
2351
2219
  this.changeValueEmitter.emit(event.value);
2352
2220
  }
2353
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: SelectContent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2354
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.3.6", type: SelectContent, isStandalone: true, selector: "ul[b-select-content]", inputs: { multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { changeValueEmitter: "changeValueEmitter", multiple: "multipleChange" }, host: { listeners: { "cdkListboxValueChange": "emitValueChange($event)" }, properties: { "animate.enter": "\"b-select-content-entering-\" + this.direction()", "animate.leave": "\"b-select-content-leaving-\" + this.direction()" } }, queries: [{ propertyName: "options", predicate: CdkOption, isSignal: true }], hostDirectives: [{ directive: i1.CdkListbox, inputs: ["cdkListboxMultiple", "multiple"], outputs: ["cdkListboxValueChange", "cdkListboxValueChange"] }], ngImport: i0, template: ` <ng-content /> `, isInline: true });
2221
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: SelectContent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2222
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.3.10", type: SelectContent, isStandalone: true, selector: "ul[b-select-content]", inputs: { multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { changeValueEmitter: "changeValueEmitter", multiple: "multipleChange" }, host: { listeners: { "cdkListboxValueChange": "emitValueChange($event)" }, properties: { "animate.enter": "\"b-select-content-entering-\" + this.direction()", "animate.leave": "\"b-select-content-leaving-\" + this.direction()" } }, queries: [{ propertyName: "options", predicate: CdkOption, isSignal: true }], hostDirectives: [{ directive: i1.CdkListbox, inputs: ["cdkListboxMultiple", "multiple"], outputs: ["cdkListboxValueChange", "cdkListboxValueChange"] }], ngImport: i0, template: ` <ng-content /> `, isInline: true });
2355
2223
  }
2356
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: SelectContent, decorators: [{
2224
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: SelectContent, decorators: [{
2357
2225
  type: Component,
2358
2226
  args: [{
2359
2227
  selector: 'ul[b-select-content]',
@@ -2394,8 +2262,8 @@ class SelectTrigger {
2394
2262
  * Whether the trigger has been activated to open the select.
2395
2263
  */
2396
2264
  triggered = signal(false, ...(ngDevMode ? [{ debugName: "triggered" }] : []));
2397
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: SelectTrigger, deps: [], target: i0.ɵɵFactoryTarget.Component });
2398
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: SelectTrigger, isStandalone: true, selector: "button[b-select-trigger]", outputs: { buttonClicked: "buttonClicked" }, host: { listeners: { "keydown.arrowUp": "buttonClicked.emit()", "keydown.arrowDown": "buttonClicked.emit()", "click": "buttonClicked.emit()" }, properties: { "disabled": "disabled()" } }, ngImport: i0, template: `
2265
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: SelectTrigger, deps: [], target: i0.ɵɵFactoryTarget.Component });
2266
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.10", type: SelectTrigger, isStandalone: true, selector: "button[b-select-trigger]", outputs: { buttonClicked: "buttonClicked" }, host: { listeners: { "keydown.arrowUp": "buttonClicked.emit()", "keydown.arrowDown": "buttonClicked.emit()", "click": "buttonClicked.emit()" }, properties: { "disabled": "disabled()" } }, ngImport: i0, template: `
2399
2267
  <ng-content />
2400
2268
  <svg
2401
2269
  [class.b-select-triggered]="triggered()"
@@ -2414,7 +2282,7 @@ class SelectTrigger {
2414
2282
  </svg>
2415
2283
  `, isInline: true, styles: [":host .b-select-triggered{transform:rotate(180deg)}\n"] });
2416
2284
  }
2417
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: SelectTrigger, decorators: [{
2285
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: SelectTrigger, decorators: [{
2418
2286
  type: Component,
2419
2287
  args: [{ selector: 'button[b-select-trigger]', template: `
2420
2288
  <ng-content />
@@ -2457,10 +2325,10 @@ class SelectValue {
2457
2325
  * Placeholder shown when no selection exists.
2458
2326
  */
2459
2327
  placeholder = input('Select an option', ...(ngDevMode ? [{ debugName: "placeholder" }] : []));
2460
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: SelectValue, deps: [], target: i0.ɵɵFactoryTarget.Component });
2461
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.6", type: SelectValue, isStandalone: true, selector: "b-select-value", inputs: { placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: ` {{ content() || placeholder() }} `, isInline: true });
2328
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: SelectValue, deps: [], target: i0.ɵɵFactoryTarget.Component });
2329
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.10", type: SelectValue, isStandalone: true, selector: "b-select-value", inputs: { placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: ` {{ content() || placeholder() }} `, isInline: true });
2462
2330
  }
2463
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: SelectValue, decorators: [{
2331
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: SelectValue, decorators: [{
2464
2332
  type: Component,
2465
2333
  args: [{
2466
2334
  selector: 'b-select-value',
@@ -2469,7 +2337,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor
2469
2337
  }], propDecorators: { placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }] } });
2470
2338
 
2471
2339
  /**
2472
- * Select component that wires trigger, content and value together and implements ControlValueAccessor.
2340
+ * Select component that wires trigger, content and value together using signals.
2473
2341
  */
2474
2342
  class Select {
2475
2343
  /** Connected overlay instance used to show the dropdown. */
@@ -2483,124 +2351,86 @@ class Select {
2483
2351
  /** Function to display the selected value(s). */
2484
2352
  displayWith = input.required(...(ngDevMode ? [{ debugName: "displayWith" }] : []));
2485
2353
  /** Current value array for the select. */
2486
- value = signal([], ...(ngDevMode ? [{ debugName: "value" }] : []));
2354
+ value = model([], ...(ngDevMode ? [{ debugName: "value" }] : []));
2355
+ /** Emitted when the value changes. */
2356
+ valueChange = output();
2487
2357
  constructor() {
2488
- effect(() => {
2489
- this.handleValueChanges();
2490
- this.handleSelectContentWidth();
2491
- });
2358
+ effect(() => this.updateDisplayedValue());
2359
+ effect(() => this.handleContentValueChanges());
2492
2360
  }
2493
- /**
2494
- * Subscribe to content value changes and update the form value.
2495
- */
2496
- handleValueChanges() {
2497
- this.selectContent()?.changeValueEmitter.subscribe((value) => {
2498
- this.onChange(value);
2499
- if (!this.selectContent()?.listBox.multiple) {
2500
- this.overlay()?.closeOverlay();
2501
- }
2502
- this.onTouched();
2503
- });
2361
+ ngOnInit() {
2362
+ this.setupTriggerEvents();
2363
+ this.setupOverlayEvents();
2504
2364
  }
2505
2365
  /**
2506
- * Ensure the select content width matches the trigger width when opened.
2366
+ * Update the displayed value when value or displayWith changes.
2507
2367
  */
2508
- handleSelectContentWidth() {
2509
- const selectContentEl = this.selectContent()?.el.nativeElement;
2510
- if (selectContentEl) {
2511
- selectContentEl.style.minWidth = `${this.selectTrigger()?.el.nativeElement.offsetWidth}px`;
2512
- }
2368
+ updateDisplayedValue() {
2369
+ const currentValue = this.value();
2370
+ const displayFn = this.displayWith();
2371
+ this.selectValue()?.content.set(displayFn(currentValue));
2513
2372
  }
2514
2373
  /**
2515
- * Initialize event wiring for trigger and overlay events.
2374
+ * Subscribe to content value changes (content is recreated each time overlay opens).
2516
2375
  */
2517
- ngOnInit() {
2518
- this.handleTriggerClicks();
2519
- this.handleOverlayAttached();
2520
- this.handleOverlayDetached();
2521
- this.handleOverlayOutsideClick();
2522
- this.handleOverlayBackdropClick();
2376
+ handleContentValueChanges() {
2377
+ const content = this.selectContent();
2378
+ if (!content)
2379
+ return;
2380
+ content.changeValueEmitter.subscribe((value) => {
2381
+ this.value.set(value);
2382
+ this.valueChange.emit(value);
2383
+ if (!content.listBox.multiple) {
2384
+ this.overlay()?.closeOverlay();
2385
+ }
2386
+ });
2523
2387
  }
2524
2388
  /**
2525
- * Wire trigger click to toggle overlay.
2389
+ * Wire trigger click to toggle overlay (trigger persists across lifecycle).
2526
2390
  */
2527
- handleTriggerClicks() {
2528
- this.selectTrigger().buttonClicked.subscribe(() => {
2391
+ setupTriggerEvents() {
2392
+ this.selectTrigger()?.buttonClicked.subscribe(() => {
2529
2393
  this.overlay()?.toggleOverlay();
2530
2394
  });
2531
2395
  }
2532
2396
  /**
2533
- * Focus selected option when overlay attaches.
2397
+ * Wire overlay events (overlay persists across lifecycle).
2534
2398
  */
2535
- handleOverlayAttached() {
2536
- this.overlay()?.attachEmitter.subscribe(() => {
2399
+ setupOverlayEvents() {
2400
+ const overlay = this.overlay();
2401
+ if (!overlay)
2402
+ return;
2403
+ overlay.attachEmitter.subscribe(() => {
2537
2404
  this.selectTrigger()?.triggered.set(true);
2405
+ // Update select content width after DOM is rendered
2406
+ const selectContentEl = this.selectContent()?.el.nativeElement;
2407
+ const triggerEl = this.selectTrigger()?.el.nativeElement;
2408
+ if (selectContentEl && triggerEl) {
2409
+ selectContentEl.style.minWidth = `${triggerEl.offsetWidth}px`;
2410
+ }
2538
2411
  if (this.value().length === 0) {
2539
2412
  this.selectContent()?.el.nativeElement.focus();
2540
2413
  return;
2541
2414
  }
2542
2415
  this.value().forEach((val) => {
2543
2416
  this.selectContent()?.listBox?.selectValue(val);
2544
- // Focus the selected option
2545
2417
  this.selectContent()
2546
2418
  ?.options()
2547
2419
  .find((opt) => opt.value === val)
2548
2420
  ?.focus();
2549
2421
  });
2550
2422
  });
2551
- }
2552
- /**
2553
- * Close overlay when detached.
2554
- */
2555
- handleOverlayDetached() {
2556
- this.overlay()?.detachEmitter.subscribe(() => {
2557
- this.overlay()?.closeOverlay();
2423
+ overlay.detachEmitter.subscribe(() => {
2424
+ overlay.closeOverlay();
2558
2425
  this.selectTrigger()?.triggered.set(false);
2559
2426
  });
2560
- }
2561
- /**
2562
- * Close overlay when an outside click occurs.
2563
- */
2564
- handleOverlayOutsideClick() {
2565
- this.overlay()?.outsideClickEmitter.subscribe(() => {
2566
- this.overlay()?.closeOverlay();
2427
+ overlay.outsideClickEmitter.subscribe(() => {
2428
+ overlay.closeOverlay();
2567
2429
  });
2568
- }
2569
- /**
2570
- * Close overlay when backdrop is clicked.
2571
- */
2572
- handleOverlayBackdropClick() {
2573
- this.overlay()?.backdropClickEmitter.subscribe(() => {
2574
- this.overlay()?.closeOverlay();
2430
+ overlay.backdropClickEmitter.subscribe(() => {
2431
+ overlay.closeOverlay();
2575
2432
  });
2576
2433
  }
2577
- // Control value accessor methods
2578
- /**
2579
- * Write a new value to the element.
2580
- * @param value - New value array to set.
2581
- */
2582
- writeValue(value) {
2583
- this.setValue(value);
2584
- }
2585
- onChange = () => undefined;
2586
- /**
2587
- * Register a callback to be fired when the value changes.
2588
- * @param fn - Callback that receives the new value.
2589
- */
2590
- registerOnChange(fn) {
2591
- this.onChange = (val) => {
2592
- fn(val);
2593
- this.setValue(val);
2594
- };
2595
- }
2596
- onTouched = () => undefined;
2597
- /**
2598
- * Register a callback to be fired when the control is touched.
2599
- * @param fn - Touch callback.
2600
- */
2601
- registerOnTouched(fn) {
2602
- this.onTouched = fn;
2603
- }
2604
2434
  /**
2605
2435
  * Toggle disabled state on the select trigger.
2606
2436
  * @param isDisabled - Whether the control is disabled.
@@ -2609,36 +2439,24 @@ class Select {
2609
2439
  this.selectTrigger()?.disabled.set(isDisabled);
2610
2440
  }
2611
2441
  /**
2612
- * Update the current value and displayed content.
2442
+ * Update the current value.
2613
2443
  * @param value - New value array to apply.
2614
2444
  */
2615
2445
  setValue(value) {
2616
2446
  this.value.set(value);
2617
- this.selectValue()?.content.set(this.displayWith()(value));
2618
- }
2619
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: Select, deps: [], target: i0.ɵɵFactoryTarget.Component });
2620
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.3.6", type: Select, isStandalone: true, selector: "b-select", inputs: { displayWith: { classPropertyName: "displayWith", publicName: "displayWith", isSignal: true, isRequired: true, transformFunction: null } }, providers: [
2621
- {
2622
- provide: NG_VALUE_ACCESSOR,
2623
- useExisting: forwardRef(() => Select),
2624
- multi: true,
2625
- },
2626
- ], 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 });
2447
+ this.valueChange.emit(value);
2448
+ }
2449
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: Select, deps: [], target: i0.ɵɵFactoryTarget.Component });
2450
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.3.10", 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 });
2627
2451
  }
2628
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: Select, decorators: [{
2452
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: Select, decorators: [{
2629
2453
  type: Component,
2630
2454
  args: [{
2631
2455
  selector: 'b-select',
2632
- template: ` <ng-content /> `,
2633
- providers: [
2634
- {
2635
- provide: NG_VALUE_ACCESSOR,
2636
- useExisting: forwardRef(() => Select),
2637
- multi: true,
2638
- },
2639
- ],
2456
+ template: ` <ng-content />`,
2457
+ changeDetection: ChangeDetectionStrategy.OnPush,
2640
2458
  }]
2641
- }], 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 }] }] } });
2459
+ }], 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"] }] } });
2642
2460
 
2643
2461
  /**
2644
2462
  * Directive to automatically focus the select filter input when it is initialized.
@@ -2651,10 +2469,10 @@ class SelectFilter {
2651
2469
  ngOnInit() {
2652
2470
  this.el.nativeElement.focus();
2653
2471
  }
2654
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: SelectFilter, deps: [], target: i0.ɵɵFactoryTarget.Directive });
2655
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.6", type: SelectFilter, isStandalone: true, selector: "[bSelectFilter]", host: { listeners: { "blur": "el.nativeElement.focus()" } }, ngImport: i0 });
2472
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: SelectFilter, deps: [], target: i0.ɵɵFactoryTarget.Directive });
2473
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.10", type: SelectFilter, isStandalone: true, selector: "[bSelectFilter]", host: { listeners: { "blur": "el.nativeElement.focus()" } }, ngImport: i0 });
2656
2474
  }
2657
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: SelectFilter, decorators: [{
2475
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: SelectFilter, decorators: [{
2658
2476
  type: Directive,
2659
2477
  args: [{
2660
2478
  selector: '[bSelectFilter]',
@@ -2696,8 +2514,8 @@ class Sheet {
2696
2514
  this.isOpen.set(false);
2697
2515
  }
2698
2516
  }
2699
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: Sheet, deps: [], target: i0.ɵɵFactoryTarget.Component });
2700
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.6", type: Sheet, isStandalone: true, selector: "b-sheet", inputs: { isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: true, isRequired: false, transformFunction: null }, side: { classPropertyName: "side", publicName: "side", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isOpen: "isOpenChange", closeSheet: "closeSheet" }, host: { listeners: { "document:click": "closeOnOutsideClick($event)" }, properties: { "class.left": "side() === \"left\"", "class.right": "side() === \"right\"", "class.open": "isOpen()" } }, ngImport: i0, template: `
2517
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: Sheet, deps: [], target: i0.ɵɵFactoryTarget.Component });
2518
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.10", type: Sheet, isStandalone: true, selector: "b-sheet", inputs: { isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: true, isRequired: false, transformFunction: null }, side: { classPropertyName: "side", publicName: "side", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isOpen: "isOpenChange", closeSheet: "closeSheet" }, host: { listeners: { "document:click": "closeOnOutsideClick($event)" }, properties: { "class.left": "side() === \"left\"", "class.right": "side() === \"right\"", "class.open": "isOpen()" } }, ngImport: i0, template: `
2701
2519
  <button class="close-button" (click)="isOpen.set(false)">
2702
2520
  <svg
2703
2521
  xmlns="http://www.w3.org/2000/svg"
@@ -2718,7 +2536,7 @@ class Sheet {
2718
2536
  <ng-content />
2719
2537
  `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }] });
2720
2538
  }
2721
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: Sheet, decorators: [{
2539
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: Sheet, decorators: [{
2722
2540
  type: Component,
2723
2541
  args: [{
2724
2542
  selector: 'b-sheet',
@@ -2779,8 +2597,8 @@ class Spinner {
2779
2597
  }
2780
2598
  }, ...(ngDevMode ? [{ debugName: "sizeInPx" }] : []));
2781
2599
  type = input('bars', ...(ngDevMode ? [{ debugName: "type" }] : []));
2782
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: Spinner, deps: [], target: i0.ɵɵFactoryTarget.Component });
2783
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.6", type: Spinner, isStandalone: true, selector: "b-spinner", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null } }, providers: [provideIcons({ lucideLoader, lucideLoaderCircle })], ngImport: i0, template: `
2600
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: Spinner, deps: [], target: i0.ɵɵFactoryTarget.Component });
2601
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.10", type: Spinner, isStandalone: true, selector: "b-spinner", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null } }, providers: [provideIcons({ lucideLoader, lucideLoaderCircle })], ngImport: i0, template: `
2784
2602
  <ng-icon
2785
2603
  [name]="type() === 'bars' ? 'lucideLoader' : 'lucideLoaderCircle'"
2786
2604
  color="currentColor"
@@ -2788,7 +2606,7 @@ class Spinner {
2788
2606
  />
2789
2607
  `, isInline: true, styles: [":host{animation:b-spinner-rotate 1s linear infinite}@keyframes b-spinner-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"], dependencies: [{ kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }] });
2790
2608
  }
2791
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: Spinner, decorators: [{
2609
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: Spinner, decorators: [{
2792
2610
  type: Component,
2793
2611
  args: [{ selector: 'b-spinner', imports: [NgIcon], providers: [provideIcons({ lucideLoader, lucideLoaderCircle })], template: `
2794
2612
  <ng-icon
@@ -2808,13 +2626,13 @@ class SwitchComponent {
2808
2626
  */
2809
2627
  value = signal(false, ...(ngDevMode ? [{ debugName: "value" }] : []));
2810
2628
  /**
2811
- * Host input element.
2629
+ * Output emitted when the switch value changes.
2812
2630
  */
2813
- el = inject(ElementRef);
2631
+ valueChange = output();
2814
2632
  /**
2815
- * Emitted when the value changes.
2633
+ * Host input element.
2816
2634
  */
2817
- valueChange = output();
2635
+ el = inject(ElementRef);
2818
2636
  ngAfterViewInit() {
2819
2637
  this.value.set(this.el.nativeElement.checked);
2820
2638
  }
@@ -2834,10 +2652,10 @@ class SwitchComponent {
2834
2652
  this.value.set(newValue);
2835
2653
  this.valueChange.emit(newValue);
2836
2654
  }
2837
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: SwitchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2838
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: SwitchComponent, isStandalone: true, selector: "input[b-switch]", outputs: { valueChange: "valueChange" }, host: { listeners: { "click": "toggleValue()", "keydown.enter": "toggleValue()", "keydown.arrowleft": "setValue(false)", "keydown.arrowright": "setValue(true)" }, properties: { "attr.role": "\"switch\"", "attr.checked": "value()", "attr.aria-checked": "value()" } }, ngImport: i0, template: ``, isInline: true });
2655
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: SwitchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2656
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.10", type: SwitchComponent, isStandalone: true, selector: "input[b-switch]", outputs: { valueChange: "valueChange" }, host: { listeners: { "click": "toggleValue()", "keydown.enter": "toggleValue()", "keydown.arrowleft": "setValue(false)", "keydown.arrowright": "setValue(true)" }, properties: { "attr.role": "\"switch\"", "attr.checked": "value()", "attr.aria-checked": "value()" } }, ngImport: i0, template: ``, isInline: true });
2839
2657
  }
2840
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: SwitchComponent, decorators: [{
2658
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: SwitchComponent, decorators: [{
2841
2659
  type: Component,
2842
2660
  args: [{
2843
2661
  selector: 'input[b-switch]',
@@ -2855,97 +2673,153 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor
2855
2673
  }], propDecorators: { valueChange: [{ type: i0.Output, args: ["valueChange"] }] } });
2856
2674
 
2857
2675
  /**
2858
- * A single tab within a tabs list.
2676
+ * Tabs container that manages keyboard navigation and active tab state.
2859
2677
  */
2860
- class Tab {
2678
+ class Tabs {
2861
2679
  /**
2862
- * Underlying CDK option instance used by the tabs list.
2680
+ * Current selected tab value(s).
2863
2681
  */
2864
- cdkOption = inject(CdkOption);
2865
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: Tab, deps: [], target: i0.ɵɵFactoryTarget.Component });
2866
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: Tab, isStandalone: true, selector: "b-tab", hostDirectives: [{ directive: i1.CdkOption, inputs: ["cdkOption", "value"] }], ngImport: i0, template: ` <ng-content /> `, isInline: true });
2682
+ value = model([], ...(ngDevMode ? [{ debugName: "value" }] : []));
2683
+ /**
2684
+ * Output emitted when the tab selection changes.
2685
+ */
2686
+ valueChange = output();
2687
+ /**
2688
+ * Query list of Tab child components.
2689
+ */
2690
+ tabs = contentChildren(Tab, ...(ngDevMode ? [{ debugName: "tabs" }] : []));
2691
+ /**
2692
+ * Computed index of currently active tab.
2693
+ */
2694
+ activeIndex = computed(() => {
2695
+ const currentValue = this.value()[0];
2696
+ return this.tabs().findIndex((tab) => tab.value() === currentValue);
2697
+ }, ...(ngDevMode ? [{ debugName: "activeIndex" }] : []));
2698
+ constructor() {
2699
+ // Sync tab selection with child tabs
2700
+ effect(() => {
2701
+ const selectedValues = this.value();
2702
+ this.tabs().forEach((tab) => {
2703
+ tab.setSelected(selectedValues.includes(tab.value()));
2704
+ });
2705
+ });
2706
+ }
2707
+ /**
2708
+ * Move highlight to the previous tab.
2709
+ */
2710
+ previousTab() {
2711
+ const currentIndex = this.activeIndex();
2712
+ const tabs = this.tabs();
2713
+ if (tabs.length === 0)
2714
+ return;
2715
+ const newIndex = currentIndex <= 0 ? tabs.length - 1 : currentIndex - 1;
2716
+ this.selectTab(tabs[newIndex].value());
2717
+ }
2718
+ /**
2719
+ * Move highlight to the next tab.
2720
+ */
2721
+ nextTab() {
2722
+ const currentIndex = this.activeIndex();
2723
+ const tabs = this.tabs();
2724
+ if (tabs.length === 0)
2725
+ return;
2726
+ const newIndex = currentIndex >= tabs.length - 1 ? 0 : currentIndex + 1;
2727
+ this.selectTab(tabs[newIndex].value());
2728
+ }
2729
+ /**
2730
+ * Select a tab by its value.
2731
+ */
2732
+ selectTab(tabValue) {
2733
+ this.value.set([tabValue]);
2734
+ this.valueChange.emit([tabValue]);
2735
+ }
2736
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: Tabs, deps: [], target: i0.ɵɵFactoryTarget.Component });
2737
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.3.10", 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: { listeners: { "keydown.arrowLeft": "previousTab()", "keydown.arrowRight": "nextTab()" }, properties: { "attr.role": "\"tablist\"" } }, queries: [{ propertyName: "tabs", predicate: Tab, isSignal: true }], ngImport: i0, template: ` <ng-content /> `, isInline: true });
2867
2738
  }
2868
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: Tab, decorators: [{
2739
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: Tabs, decorators: [{
2869
2740
  type: Component,
2870
2741
  args: [{
2871
- selector: 'b-tab',
2742
+ selector: 'b-tabs',
2872
2743
  imports: [],
2873
2744
  template: ` <ng-content /> `,
2874
- hostDirectives: [
2875
- {
2876
- directive: CdkOption,
2877
- inputs: ['cdkOption: value'],
2878
- },
2879
- ],
2745
+ host: {
2746
+ '[attr.role]': '"tablist"',
2747
+ '(keydown.arrowLeft)': 'previousTab()',
2748
+ '(keydown.arrowRight)': 'nextTab()',
2749
+ },
2880
2750
  }]
2881
- }] });
2751
+ }], 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 }] }] } });
2882
2752
 
2883
2753
  /**
2884
- * Tabs container that manages keyboard navigation and active tab state.
2754
+ * A single tab within a tabs list.
2885
2755
  */
2886
- class Tabs {
2756
+ class Tab {
2887
2757
  /**
2888
- * Injected CDK listbox used for accessibility behavior.
2758
+ * Parent tabs container.
2889
2759
  */
2890
- cdkListbox = inject(CdkListbox);
2760
+ tabs = inject(Tabs);
2891
2761
  /**
2892
- * Query list of Tab child components.
2762
+ * Host element reference.
2893
2763
  */
2894
- tabs = contentChildren(Tab, ...(ngDevMode ? [{ debugName: "tabs" }] : []));
2764
+ el = inject(ElementRef);
2895
2765
  /**
2896
- * Computed array of underlying CDK options for navigation.
2766
+ * Unique value identifying this tab.
2897
2767
  */
2898
- cdkOptions = computed(() => this.tabs().map((tab) => tab.cdkOption), ...(ngDevMode ? [{ debugName: "cdkOptions" }] : []));
2768
+ value = input.required(...(ngDevMode ? [{ debugName: "value" }] : []));
2899
2769
  /**
2900
- * Keyboard manager that handles arrow navigation between tabs.
2770
+ * Internal signal tracking selection state.
2901
2771
  */
2902
- listKeyManager = computed(() => new ActiveDescendantKeyManager(this.cdkOptions()).withWrap().withHorizontalOrientation('ltr'), ...(ngDevMode ? [{ debugName: "listKeyManager" }] : []));
2772
+ selected = signal(false, ...(ngDevMode ? [{ debugName: "selected" }] : []));
2903
2773
  /**
2904
- * Move highlight to the previous tab.
2774
+ * Whether this tab is currently selected.
2905
2775
  */
2906
- previousTab() {
2907
- this.listKeyManager().setPreviousItemActive();
2776
+ isSelected = computed(() => this.selected(), ...(ngDevMode ? [{ debugName: "isSelected" }] : []));
2777
+ constructor() {
2778
+ // Focus this tab when it becomes selected
2779
+ effect(() => {
2780
+ if (this.isSelected()) {
2781
+ this.el.nativeElement.focus();
2782
+ }
2783
+ });
2908
2784
  }
2909
2785
  /**
2910
- * Move highlight to the next tab.
2786
+ * Set the selected state of this tab.
2911
2787
  */
2912
- nextTab() {
2913
- this.listKeyManager().setNextItemActive();
2788
+ setSelected(selected) {
2789
+ this.selected.set(selected);
2914
2790
  }
2915
2791
  /**
2916
- * Initialize CDK listbox behaviors on component init.
2792
+ * Handle click events to select this tab.
2917
2793
  */
2918
- ngOnInit() {
2919
- this.cdkListbox.useActiveDescendant = true;
2920
- this.cdkListbox.orientation = 'horizontal';
2794
+ onClick() {
2795
+ this.tabs.selectTab(this.value());
2921
2796
  }
2922
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: Tabs, deps: [], target: i0.ɵɵFactoryTarget.Component });
2923
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.3.6", type: Tabs, isStandalone: true, selector: "b-tabs", host: { listeners: { "keydown.arrowLeft": "previousTab()", "keydown.arrowUp": "previousTab()", "keydown.arrowRight": "nextTab()", "keydown.arrowDown": "nextTab()" } }, queries: [{ propertyName: "tabs", predicate: Tab, isSignal: true }], hostDirectives: [{ directive: i1.CdkListbox }], ngImport: i0, template: ` <ng-content /> `, isInline: true });
2797
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: Tab, deps: [], target: i0.ɵɵFactoryTarget.Component });
2798
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.10", type: Tab, isStandalone: true, selector: "b-tab", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null } }, host: { listeners: { "click": "onClick()" }, properties: { "attr.role": "\"tab\"", "attr.aria-selected": "isSelected()", "attr.tabindex": "isSelected() ? 0 : -1" } }, ngImport: i0, template: ` <ng-content /> `, isInline: true });
2924
2799
  }
2925
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: Tabs, decorators: [{
2800
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: Tab, decorators: [{
2926
2801
  type: Component,
2927
2802
  args: [{
2928
- selector: 'b-tabs',
2803
+ selector: 'b-tab',
2929
2804
  imports: [],
2930
2805
  template: ` <ng-content /> `,
2931
- hostDirectives: [CdkListbox],
2932
2806
  host: {
2933
- '(keydown.arrowLeft)': 'previousTab()',
2934
- '(keydown.arrowUp)': 'previousTab()',
2935
- '(keydown.arrowRight)': 'nextTab()',
2936
- '(keydown.arrowDown)': 'nextTab()',
2807
+ '[attr.role]': '"tab"',
2808
+ '[attr.aria-selected]': 'isSelected()',
2809
+ '[attr.tabindex]': 'isSelected() ? 0 : -1',
2810
+ '(click)': 'onClick()',
2937
2811
  },
2938
2812
  }]
2939
- }], propDecorators: { tabs: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => Tab), { isSignal: true }] }] } });
2813
+ }], ctorParameters: () => [], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: true }] }] } });
2940
2814
 
2941
2815
  /**
2942
2816
  * Wrapper for grouping textarea-related elements vertically.
2943
2817
  */
2944
2818
  class TextareaGroup {
2945
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TextareaGroup, deps: [], target: i0.ɵɵFactoryTarget.Component });
2946
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: TextareaGroup, isStandalone: true, selector: "b-textarea-group", ngImport: i0, template: ` <ng-content /> `, isInline: true });
2819
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: TextareaGroup, deps: [], target: i0.ɵɵFactoryTarget.Component });
2820
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.10", type: TextareaGroup, isStandalone: true, selector: "b-textarea-group", ngImport: i0, template: ` <ng-content /> `, isInline: true });
2947
2821
  }
2948
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TextareaGroup, decorators: [{
2822
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: TextareaGroup, decorators: [{
2949
2823
  type: Component,
2950
2824
  args: [{
2951
2825
  selector: 'b-textarea-group',
@@ -2957,10 +2831,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor
2957
2831
  * A styled textarea component.
2958
2832
  */
2959
2833
  class Textarea {
2960
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: Textarea, deps: [], target: i0.ɵɵFactoryTarget.Component });
2961
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: Textarea, isStandalone: true, selector: "textarea[b-textarea]", ngImport: i0, template: ``, isInline: true });
2834
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: Textarea, deps: [], target: i0.ɵɵFactoryTarget.Component });
2835
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.10", type: Textarea, isStandalone: true, selector: "textarea[b-textarea]", ngImport: i0, template: ``, isInline: true });
2962
2836
  }
2963
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: Textarea, decorators: [{
2837
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: Textarea, decorators: [{
2964
2838
  type: Component,
2965
2839
  args: [{
2966
2840
  selector: 'textarea[b-textarea]',
@@ -2981,10 +2855,10 @@ class Tooltip extends Overlay {
2981
2855
  setCloseOnTypeEscapeToFalse() {
2982
2856
  this.closeOnTypeEscape.set(false);
2983
2857
  }
2984
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: Tooltip, deps: null, target: i0.ɵɵFactoryTarget.Directive });
2985
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.6", type: Tooltip, isStandalone: true, selector: "[bTooltip]", usesInheritance: true, ngImport: i0 });
2858
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: Tooltip, deps: null, target: i0.ɵɵFactoryTarget.Directive });
2859
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.10", type: Tooltip, isStandalone: true, selector: "[bTooltip]", usesInheritance: true, ngImport: i0 });
2986
2860
  }
2987
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: Tooltip, decorators: [{
2861
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: Tooltip, decorators: [{
2988
2862
  type: Directive,
2989
2863
  args: [{
2990
2864
  selector: '[bTooltip]',
@@ -2995,10 +2869,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor
2995
2869
  * Tooltip content that is displayed within a connected overlay.
2996
2870
  */
2997
2871
  class TooltipContent {
2998
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TooltipContent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2999
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: TooltipContent, isStandalone: true, selector: "b-tooltip-content", ngImport: i0, template: ` <ng-content /> `, isInline: true });
2872
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: TooltipContent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2873
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.10", type: TooltipContent, isStandalone: true, selector: "b-tooltip-content", ngImport: i0, template: ` <ng-content /> `, isInline: true });
3000
2874
  }
3001
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TooltipContent, decorators: [{
2875
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: TooltipContent, decorators: [{
3002
2876
  type: Component,
3003
2877
  args: [{
3004
2878
  selector: 'b-tooltip-content',
@@ -3013,10 +2887,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor
3013
2887
  * `trigger` and `el` properties expected by `ConnectedOverlay`.
3014
2888
  */
3015
2889
  class TooltipTrigger extends OverlayTrigger {
3016
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TooltipTrigger, deps: null, target: i0.ɵɵFactoryTarget.Directive });
3017
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.6", type: TooltipTrigger, isStandalone: true, selector: "[bTooltipTrigger]", host: { listeners: { "mouseover": "active.set(true)", "focus": "active.set(true)", "mouseout": "active.set(false)", "blur": "active.set(false)" } }, exportAs: ["bTooltipTrigger"], usesInheritance: true, ngImport: i0 });
2890
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: TooltipTrigger, deps: null, target: i0.ɵɵFactoryTarget.Directive });
2891
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.10", type: TooltipTrigger, isStandalone: true, selector: "[bTooltipTrigger]", host: { listeners: { "mouseover": "active.set(true)", "focus": "active.set(true)", "mouseout": "active.set(false)", "blur": "active.set(false)" } }, exportAs: ["bTooltipTrigger"], usesInheritance: true, ngImport: i0 });
3018
2892
  }
3019
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TooltipTrigger, decorators: [{
2893
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: TooltipTrigger, decorators: [{
3020
2894
  type: Directive,
3021
2895
  args: [{
3022
2896
  selector: '[bTooltipTrigger]',
@@ -3070,8 +2944,8 @@ class TreeNode {
3070
2944
  this.closeEmitter.emit();
3071
2945
  }
3072
2946
  }
3073
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TreeNode, deps: [], target: i0.ɵɵFactoryTarget.Component });
3074
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.6", type: TreeNode, isStandalone: true, selector: "b-tree-node", inputs: { extended: { classPropertyName: "extended", publicName: "extended", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { extended: "extendedChange", closeEmitter: "closeEmitter" }, providers: [
2947
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: TreeNode, deps: [], target: i0.ɵɵFactoryTarget.Component });
2948
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.10", type: TreeNode, isStandalone: true, selector: "b-tree-node", inputs: { extended: { classPropertyName: "extended", publicName: "extended", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { extended: "extendedChange", closeEmitter: "closeEmitter" }, providers: [
3075
2949
  provideIcons({
3076
2950
  lucideGripVertical,
3077
2951
  }),
@@ -3113,7 +2987,7 @@ class TreeNode {
3113
2987
  }
3114
2988
  `, isInline: true, dependencies: [{ kind: "directive", type: CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }] });
3115
2989
  }
3116
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TreeNode, decorators: [{
2990
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: TreeNode, decorators: [{
3117
2991
  type: Component,
3118
2992
  args: [{
3119
2993
  selector: 'b-tree-node',
@@ -3231,10 +3105,10 @@ class Tree {
3231
3105
  node.nestedTree()?.closeNestedNodes();
3232
3106
  });
3233
3107
  }
3234
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: Tree, deps: [], target: i0.ɵɵFactoryTarget.Component });
3235
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.3.6", 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 } }, outputs: { dropEmitter: "dropEmitter" }, host: { listeners: { "cdkDropListDropped": "dropEmitter.emit($event)" } }, queries: [{ propertyName: "nestedNodes", predicate: TreeNode, isSignal: true }], hostDirectives: [{ directive: i1$3.CdkDropList, inputs: ["id", "id", "cdkDropListConnectedTo", "connectedTo"], outputs: ["cdkDropListDropped", "cdkDropListDropped"] }, { directive: i1$3.CdkDropListGroup }], ngImport: i0, template: ` <ng-content /> `, isInline: true });
3108
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: Tree, deps: [], target: i0.ɵɵFactoryTarget.Component });
3109
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.3.10", 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 } }, outputs: { dropEmitter: "dropEmitter" }, host: { listeners: { "cdkDropListDropped": "dropEmitter.emit($event)" } }, queries: [{ propertyName: "nestedNodes", predicate: TreeNode, isSignal: true }], hostDirectives: [{ directive: i1$3.CdkDropList, inputs: ["id", "id", "cdkDropListConnectedTo", "connectedTo"], outputs: ["cdkDropListDropped", "cdkDropListDropped"] }, { directive: i1$3.CdkDropListGroup }], ngImport: i0, template: ` <ng-content /> `, isInline: true });
3236
3110
  }
3237
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: Tree, decorators: [{
3111
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: Tree, decorators: [{
3238
3112
  type: Component,
3239
3113
  args: [{
3240
3114
  selector: 'b-tree',
@@ -3349,10 +3223,10 @@ class Dialog {
3349
3223
  ngOnDestroy() {
3350
3224
  this.dialogManager.removeDialog(this.id());
3351
3225
  }
3352
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: Dialog, deps: [], target: i0.ɵɵFactoryTarget.Directive });
3353
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.6", type: Dialog, isStandalone: true, selector: "[bDialog]", inputs: { id: { classPropertyName: "id", publicName: "bDialog", isSignal: true, isRequired: true, transformFunction: null }, hasBackdrop: { classPropertyName: "hasBackdrop", publicName: "hasBackdrop", isSignal: true, isRequired: false, transformFunction: null }, closeOnBackdropClick: { classPropertyName: "closeOnBackdropClick", publicName: "closeOnBackdropClick", isSignal: true, isRequired: false, transformFunction: null }, closeOnEscapeKey: { classPropertyName: "closeOnEscapeKey", publicName: "closeOnEscapeKey", isSignal: true, isRequired: false, transformFunction: null }, restoreFocus: { classPropertyName: "restoreFocus", publicName: "restoreFocus", isSignal: true, isRequired: false, transformFunction: null }, closeDelay: { classPropertyName: "closeDelay", publicName: "closeDelay", isSignal: true, isRequired: false, transformFunction: null }, openDelay: { classPropertyName: "openDelay", publicName: "openDelay", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closed: "closed" }, host: { listeners: { "keydown.escape": "closeOnEscapeKey() ? close() : null" } }, exportAs: ["bDialog"], ngImport: i0 });
3226
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: Dialog, deps: [], target: i0.ɵɵFactoryTarget.Directive });
3227
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.10", type: Dialog, isStandalone: true, selector: "[bDialog]", inputs: { id: { classPropertyName: "id", publicName: "bDialog", isSignal: true, isRequired: true, transformFunction: null }, hasBackdrop: { classPropertyName: "hasBackdrop", publicName: "hasBackdrop", isSignal: true, isRequired: false, transformFunction: null }, closeOnBackdropClick: { classPropertyName: "closeOnBackdropClick", publicName: "closeOnBackdropClick", isSignal: true, isRequired: false, transformFunction: null }, closeOnEscapeKey: { classPropertyName: "closeOnEscapeKey", publicName: "closeOnEscapeKey", isSignal: true, isRequired: false, transformFunction: null }, restoreFocus: { classPropertyName: "restoreFocus", publicName: "restoreFocus", isSignal: true, isRequired: false, transformFunction: null }, closeDelay: { classPropertyName: "closeDelay", publicName: "closeDelay", isSignal: true, isRequired: false, transformFunction: null }, openDelay: { classPropertyName: "openDelay", publicName: "openDelay", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closed: "closed" }, host: { listeners: { "keydown.escape": "closeOnEscapeKey() ? close() : null" } }, exportAs: ["bDialog"], ngImport: i0 });
3354
3228
  }
3355
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: Dialog, decorators: [{
3229
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: Dialog, decorators: [{
3356
3230
  type: Directive,
3357
3231
  args: [{
3358
3232
  selector: '[bDialog]',
@@ -3379,10 +3253,10 @@ class OverlayOrigin {
3379
3253
  * This is used to access the native DOM element.
3380
3254
  */
3381
3255
  el = inject(ElementRef);
3382
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: OverlayOrigin, deps: [], target: i0.ɵɵFactoryTarget.Directive });
3383
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.6", type: OverlayOrigin, isStandalone: true, selector: "[bOverlayOrigin]", exportAs: ["bOverlayOrigin"], hostDirectives: [{ directive: i1$2.CdkOverlayOrigin }], ngImport: i0 });
3256
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: OverlayOrigin, deps: [], target: i0.ɵɵFactoryTarget.Directive });
3257
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.10", type: OverlayOrigin, isStandalone: true, selector: "[bOverlayOrigin]", exportAs: ["bOverlayOrigin"], hostDirectives: [{ directive: i1$2.CdkOverlayOrigin }], ngImport: i0 });
3384
3258
  }
3385
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: OverlayOrigin, decorators: [{
3259
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: OverlayOrigin, decorators: [{
3386
3260
  type: Directive,
3387
3261
  args: [{
3388
3262
  selector: '[bOverlayOrigin]',
@@ -3473,10 +3347,10 @@ class TranslationManager {
3473
3347
  },
3474
3348
  });
3475
3349
  }
3476
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TranslationManager, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3477
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TranslationManager, providedIn: 'root' });
3350
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: TranslationManager, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3351
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: TranslationManager, providedIn: 'root' });
3478
3352
  }
3479
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TranslationManager, decorators: [{
3353
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: TranslationManager, decorators: [{
3480
3354
  type: Injectable,
3481
3355
  args: [{ providedIn: 'root' }]
3482
3356
  }] });
@@ -3504,10 +3378,10 @@ class TranslatePipe {
3504
3378
  }
3505
3379
  return this.translationManager.translate(key);
3506
3380
  }
3507
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TranslatePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
3508
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.6", ngImport: i0, type: TranslatePipe, isStandalone: true, name: "translate", pure: false });
3381
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: TranslatePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
3382
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.10", ngImport: i0, type: TranslatePipe, isStandalone: true, name: "translate", pure: false });
3509
3383
  }
3510
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TranslatePipe, decorators: [{
3384
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: TranslatePipe, decorators: [{
3511
3385
  type: Pipe,
3512
3386
  args: [{
3513
3387
  name: 'translate',
@@ -3575,10 +3449,10 @@ class ResponsiveManager {
3575
3449
  ...newBreakpoints,
3576
3450
  }));
3577
3451
  }
3578
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: ResponsiveManager, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3579
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: ResponsiveManager, providedIn: 'root' });
3452
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: ResponsiveManager, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3453
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: ResponsiveManager, providedIn: 'root' });
3580
3454
  }
3581
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: ResponsiveManager, decorators: [{
3455
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: ResponsiveManager, decorators: [{
3582
3456
  type: Injectable,
3583
3457
  args: [{
3584
3458
  providedIn: 'root',
@@ -3651,10 +3525,10 @@ class ThemeManager {
3651
3525
  this.renderer.removeAttribute(document.documentElement, 'data-theme');
3652
3526
  }
3653
3527
  }
3654
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: ThemeManager, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3655
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: ThemeManager, providedIn: 'root' });
3528
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: ThemeManager, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3529
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: ThemeManager, providedIn: 'root' });
3656
3530
  }
3657
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: ThemeManager, decorators: [{
3531
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: ThemeManager, decorators: [{
3658
3532
  type: Injectable,
3659
3533
  args: [{
3660
3534
  providedIn: 'root',