@brandsync/angular 1.7.0 → 1.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -50,3 +50,76 @@ or via a plain `@import` in `src/styles.css`:
50
50
  Note: the vendored stylesheet currently contains a handful of malformed token declarations from an upstream `brandsync-tokens` export step (e.g. `--bs-5-brand-colors-jade-brand-700: {Brand Colors.teal.700};`), which Angular's build may warn about. These are pre-existing in the vendored dependency and harmless — they don't affect any token this library actually uses.
51
51
 
52
52
  See `@brandsync/wc`'s own README ("Design tokens — required, not optional") for the full explanation.
53
+
54
+ ## Events are typed
55
+
56
+ Each component's outputs are real Angular outputs whose payload is typed, so you read the value from
57
+ `$event.detail` without `$any`:
58
+
59
+ ```ts
60
+ @Component({
61
+ standalone: true,
62
+ imports: [BsCheckbox],
63
+ template: `<bs-checkbox (bsChange)="onChange($event.detail)">I agree</bs-checkbox>`,
64
+ })
65
+ export class Example {
66
+ onChange(checked: boolean) {} // `$event.detail` is a `boolean` here
67
+ }
68
+ ```
69
+
70
+ The emitted event is a `BsCheckboxCustomEvent<boolean>` (a `CustomEvent` whose `detail` and `target` are
71
+ typed), exported from `@brandsync/wc`.
72
+
73
+ ## No `CUSTOM_ELEMENTS_SCHEMA`
74
+
75
+ You do not need `CUSTOM_ELEMENTS_SCHEMA`. Importing a component class (`imports: [BsButton]`) is what
76
+ makes `<bs-button>` a known element in that component's template. If you see "`bs-button` is not a known
77
+ element", the class is not in that component's `imports`.
78
+
79
+ ## Forms: `ngModel` and `formControlName`
80
+
81
+ `bs-input`, `bs-checkbox`, `bs-switch` and `bs-slider` work with Angular forms. Import the matching
82
+ `ControlValueAccessor` directive next to the component:
83
+
84
+ | Component | Accessor | Control value |
85
+ | --- | --- | --- |
86
+ | `bs-input` | `TextValueAccessor` | `string` |
87
+ | `bs-checkbox`, `bs-switch` | `BooleanValueAccessor` | `boolean` |
88
+ | `bs-slider` | `NumericValueAccessor` | `number` (not for `type="range"`, which has two values) |
89
+
90
+ ```ts
91
+ import { ReactiveFormsModule } from '@angular/forms';
92
+ import { BsInput, BsCheckbox, TextValueAccessor, BooleanValueAccessor } from '@brandsync/angular';
93
+
94
+ @Component({
95
+ standalone: true,
96
+ imports: [ReactiveFormsModule, BsInput, TextValueAccessor, BsCheckbox, BooleanValueAccessor],
97
+ template: `
98
+ <form [formGroup]="form">
99
+ <bs-input formControlName="email" label="Email"></bs-input>
100
+ <bs-checkbox formControlName="terms">I accept the terms</bs-checkbox>
101
+ </form>`,
102
+ })
103
+ export class SignupForm {
104
+ form = new FormGroup({ email: new FormControl(''), terms: new FormControl(false) });
105
+ }
106
+ ```
107
+
108
+ - `@angular/forms` (`^19.0.0`) is a peer dependency.
109
+ - `bs-input` updates the control when the value is **committed** (blur, Enter, and immediately for the
110
+ number stepper, dropdown and pin), like `updateOn: 'blur'`. Use `(bsInput)` for every keystroke.
111
+ - `control.disable()` disables the component.
112
+ - `bs-radio` has no accessor yet: bind it with `[checked]` and `(bsChange)`.
113
+ - Two-way `[(value)]` / `[(checked)]` is not provided; use `ngModel` or `formControlName` instead.
114
+ - A native `<form>` also works: give the controls a `name`, and a `<bs-button type="submit">` submits it.
115
+
116
+ See **Guides / Forms (Angular)** in the Angular Storybook for a working example.
117
+
118
+ ## Boolean inputs need property binding
119
+
120
+ Bind booleans with `[...]`: `<bs-checkbox [disabled]="true">`, `<bs-input [required]="true">`. A bare
121
+ attribute (`<bs-checkbox disabled>`) is **not** coerced: Angular passes it as an empty string, which the
122
+ component treats as `false`. (Stencil's Angular output target can generate a coercion transform for this
123
+ via its `booleanAttributes` option, but that currently does not compile under this package's TypeScript
124
+ configuration, so it is not enabled.)
125
+
@@ -1,6 +1,6 @@
1
1
  import { __decorate } from 'tslib';
2
2
  import * as i0 from '@angular/core';
3
- import { EventEmitter, Output, ChangeDetectionStrategy, Component } from '@angular/core';
3
+ import { EventEmitter, Output, ChangeDetectionStrategy, Component, HostListener, Directive, forwardRef } from '@angular/core';
4
4
  import { fromEvent } from 'rxjs';
5
5
  import { defineCustomElement as defineCustomElement$1 } from '@brandsync/wc/dist/components/bs-accordion.js';
6
6
  import { defineCustomElement as defineCustomElement$2 } from '@brandsync/wc/dist/components/bs-ai-disclaimer.js';
@@ -56,6 +56,7 @@ import { defineCustomElement as defineCustomElement$P } from '@brandsync/wc/dist
56
56
  import { defineCustomElement as defineCustomElement$Q } from '@brandsync/wc/dist/components/bs-tabs.js';
57
57
  import { defineCustomElement as defineCustomElement$R } from '@brandsync/wc/dist/components/bs-toast.js';
58
58
  import { defineCustomElement as defineCustomElement$S } from '@brandsync/wc/dist/components/bs-tooltip.js';
59
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
59
60
 
60
61
  /* eslint-disable */
61
62
  /* tslint:disable */
@@ -341,13 +342,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImpo
341
342
  let BsBreadcrumb = class BsBreadcrumb {
342
343
  z;
343
344
  el;
345
+ bsNavigate = new EventEmitter();
344
346
  constructor(c, r, z) {
345
347
  this.z = z;
346
348
  c.detach();
347
349
  this.el = r.nativeElement;
348
350
  }
349
351
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: BsBreadcrumb, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
350
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: BsBreadcrumb, isStandalone: true, selector: "bs-breadcrumb", inputs: { current: "current", href: "href", size: "size" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
352
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: BsBreadcrumb, isStandalone: true, selector: "bs-breadcrumb", inputs: { current: "current", href: "href", size: "size" }, outputs: { bsNavigate: "bsNavigate" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
351
353
  };
352
354
  BsBreadcrumb = __decorate([
353
355
  ProxyCmp({
@@ -363,18 +365,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImpo
363
365
  template: '<ng-content></ng-content>',
364
366
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
365
367
  inputs: ['current', 'href', 'size'],
368
+ outputs: ['bsNavigate'],
366
369
  }]
367
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
370
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { bsNavigate: [{
371
+ type: Output
372
+ }] } });
368
373
  let BsBreadcrumbOverflow = class BsBreadcrumbOverflow {
369
374
  z;
370
375
  el;
376
+ bsNavigate = new EventEmitter();
371
377
  constructor(c, r, z) {
372
378
  this.z = z;
373
379
  c.detach();
374
380
  this.el = r.nativeElement;
375
381
  }
376
382
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: BsBreadcrumbOverflow, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
377
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: BsBreadcrumbOverflow, isStandalone: true, selector: "bs-breadcrumb-overflow", inputs: { items: "items", overflowLabel: "overflowLabel", size: "size" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
383
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: BsBreadcrumbOverflow, isStandalone: true, selector: "bs-breadcrumb-overflow", inputs: { items: "items", overflowLabel: "overflowLabel", size: "size" }, outputs: { bsNavigate: "bsNavigate" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
378
384
  };
379
385
  BsBreadcrumbOverflow = __decorate([
380
386
  ProxyCmp({
@@ -390,8 +396,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImpo
390
396
  template: '<ng-content></ng-content>',
391
397
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
392
398
  inputs: ['items', 'overflowLabel', 'size'],
399
+ outputs: ['bsNavigate'],
393
400
  }]
394
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
401
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { bsNavigate: [{
402
+ type: Output
403
+ }] } });
395
404
  let BsBreadcrumbs = class BsBreadcrumbs {
396
405
  z;
397
406
  el;
@@ -735,12 +744,12 @@ let BsCheckbox = class BsCheckbox {
735
744
  this.el = r.nativeElement;
736
745
  }
737
746
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: BsCheckbox, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
738
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: BsCheckbox, isStandalone: true, selector: "bs-checkbox", inputs: { ariaLabel: "ariaLabel", checked: "checked", disabled: "disabled", error: "error", indeterminate: "indeterminate", size: "size" }, outputs: { bsChange: "bsChange" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
747
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: BsCheckbox, isStandalone: true, selector: "bs-checkbox", inputs: { ariaLabel: "ariaLabel", checked: "checked", disabled: "disabled", error: "error", indeterminate: "indeterminate", name: "name", required: "required", size: "size", value: "value" }, outputs: { bsChange: "bsChange" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
739
748
  };
740
749
  BsCheckbox = __decorate([
741
750
  ProxyCmp({
742
751
  defineCustomElementFn: defineCustomElement$l,
743
- inputs: ['ariaLabel', 'checked', 'disabled', 'error', 'indeterminate', 'size']
752
+ inputs: ['ariaLabel', 'checked', 'disabled', 'error', 'indeterminate', 'name', 'required', 'size', 'value']
744
753
  })
745
754
  ], BsCheckbox);
746
755
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: BsCheckbox, decorators: [{
@@ -750,7 +759,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImpo
750
759
  changeDetection: ChangeDetectionStrategy.OnPush,
751
760
  template: '<ng-content></ng-content>',
752
761
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
753
- inputs: ['ariaLabel', 'checked', 'disabled', 'error', 'indeterminate', 'size'],
762
+ inputs: ['ariaLabel', 'checked', 'disabled', 'error', 'indeterminate', 'name', 'required', 'size', 'value'],
754
763
  outputs: ['bsChange'],
755
764
  }]
756
765
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { bsChange: [{
@@ -1126,12 +1135,12 @@ let BsInlineTab = class BsInlineTab {
1126
1135
  this.el = r.nativeElement;
1127
1136
  }
1128
1137
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: BsInlineTab, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1129
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: BsInlineTab, isStandalone: true, selector: "bs-inline-tab", inputs: { ariaLabel: "ariaLabel", disabled: "disabled", selected: "selected" }, outputs: { bsSelect: "bsSelect" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1138
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: BsInlineTab, isStandalone: true, selector: "bs-inline-tab", inputs: { ariaLabel: "ariaLabel", disabled: "disabled", selected: "selected", tabbable: "tabbable", value: "value" }, outputs: { bsSelect: "bsSelect" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1130
1139
  };
1131
1140
  BsInlineTab = __decorate([
1132
1141
  ProxyCmp({
1133
1142
  defineCustomElementFn: defineCustomElement$x,
1134
- inputs: ['ariaLabel', 'disabled', 'selected']
1143
+ inputs: ['ariaLabel', 'disabled', 'selected', 'tabbable', 'value']
1135
1144
  })
1136
1145
  ], BsInlineTab);
1137
1146
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: BsInlineTab, decorators: [{
@@ -1141,7 +1150,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImpo
1141
1150
  changeDetection: ChangeDetectionStrategy.OnPush,
1142
1151
  template: '<ng-content></ng-content>',
1143
1152
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1144
- inputs: ['ariaLabel', 'disabled', 'selected'],
1153
+ inputs: ['ariaLabel', 'disabled', 'selected', 'tabbable', 'value'],
1145
1154
  outputs: ['bsSelect'],
1146
1155
  }]
1147
1156
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { bsSelect: [{
@@ -1163,12 +1172,12 @@ let BsInput = class BsInput {
1163
1172
  this.el = r.nativeElement;
1164
1173
  }
1165
1174
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: BsInput, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1166
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: BsInput, isStandalone: true, selector: "bs-input", inputs: { chips: "chips", country: "country", countryOptions: "countryOptions", description: "description", disabled: "disabled", error: "error", initialsTitle: "initialsTitle", label: "label", length: "length", max: "max", min: "min", open: "open", options: "options", placeholder: "placeholder", required: "required", rows: "rows", step: "step", titleOptions: "titleOptions", type: "type", value: "value" }, outputs: { bsInput: "bsInput", bsChange: "bsChange", bsOpen: "bsOpen", bsChipAdd: "bsChipAdd", bsChipRemove: "bsChipRemove", bsTitleChange: "bsTitleChange", bsCountryChange: "bsCountryChange" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1175
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: BsInput, isStandalone: true, selector: "bs-input", inputs: { chips: "chips", country: "country", countryOptions: "countryOptions", description: "description", disabled: "disabled", error: "error", initialsTitle: "initialsTitle", label: "label", length: "length", max: "max", min: "min", name: "name", open: "open", options: "options", placeholder: "placeholder", required: "required", rows: "rows", step: "step", titleOptions: "titleOptions", type: "type", value: "value" }, outputs: { bsInput: "bsInput", bsChange: "bsChange", bsOpen: "bsOpen", bsChipAdd: "bsChipAdd", bsChipRemove: "bsChipRemove", bsTitleChange: "bsTitleChange", bsCountryChange: "bsCountryChange" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1167
1176
  };
1168
1177
  BsInput = __decorate([
1169
1178
  ProxyCmp({
1170
1179
  defineCustomElementFn: defineCustomElement$y,
1171
- inputs: ['chips', 'country', 'countryOptions', 'description', 'disabled', 'error', 'initialsTitle', 'label', 'length', 'max', 'min', 'open', 'options', 'placeholder', 'required', 'rows', 'step', 'titleOptions', 'type', 'value']
1180
+ inputs: ['chips', 'country', 'countryOptions', 'description', 'disabled', 'error', 'initialsTitle', 'label', 'length', 'max', 'min', 'name', 'open', 'options', 'placeholder', 'required', 'rows', 'step', 'titleOptions', 'type', 'value']
1172
1181
  })
1173
1182
  ], BsInput);
1174
1183
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: BsInput, decorators: [{
@@ -1178,7 +1187,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImpo
1178
1187
  changeDetection: ChangeDetectionStrategy.OnPush,
1179
1188
  template: '<ng-content></ng-content>',
1180
1189
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1181
- inputs: ['chips', 'country', 'countryOptions', 'description', 'disabled', 'error', 'initialsTitle', 'label', 'length', 'max', 'min', 'open', 'options', 'placeholder', 'required', 'rows', 'step', 'titleOptions', 'type', 'value'],
1190
+ inputs: ['chips', 'country', 'countryOptions', 'description', 'disabled', 'error', 'initialsTitle', 'label', 'length', 'max', 'min', 'name', 'open', 'options', 'placeholder', 'required', 'rows', 'step', 'titleOptions', 'type', 'value'],
1182
1191
  outputs: ['bsInput', 'bsChange', 'bsOpen', 'bsChipAdd', 'bsChipRemove', 'bsTitleChange', 'bsCountryChange'],
1183
1192
  }]
1184
1193
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { bsInput: [{
@@ -1285,18 +1294,19 @@ let BsNavigationDrawer = class BsNavigationDrawer {
1285
1294
  el;
1286
1295
  bsCollapse = new EventEmitter();
1287
1296
  bsSearchClick = new EventEmitter();
1297
+ bsClose = new EventEmitter();
1288
1298
  constructor(c, r, z) {
1289
1299
  this.z = z;
1290
1300
  c.detach();
1291
1301
  this.el = r.nativeElement;
1292
1302
  }
1293
1303
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: BsNavigationDrawer, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1294
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: BsNavigationDrawer, isStandalone: true, selector: "bs-navigation-drawer", inputs: { collapsed: "collapsed", collapsible: "collapsible", heading: "heading", logoBackground: "logoBackground", showLogo: "showLogo" }, outputs: { bsCollapse: "bsCollapse", bsSearchClick: "bsSearchClick" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1304
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: BsNavigationDrawer, isStandalone: true, selector: "bs-navigation-drawer", inputs: { collapsed: "collapsed", collapsible: "collapsible", heading: "heading", logoBackground: "logoBackground", open: "open", showLogo: "showLogo" }, outputs: { bsCollapse: "bsCollapse", bsSearchClick: "bsSearchClick", bsClose: "bsClose" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1295
1305
  };
1296
1306
  BsNavigationDrawer = __decorate([
1297
1307
  ProxyCmp({
1298
1308
  defineCustomElementFn: defineCustomElement$C,
1299
- inputs: ['collapsed', 'collapsible', 'heading', 'logoBackground', 'showLogo']
1309
+ inputs: ['collapsed', 'collapsible', 'heading', 'logoBackground', 'open', 'showLogo']
1300
1310
  })
1301
1311
  ], BsNavigationDrawer);
1302
1312
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: BsNavigationDrawer, decorators: [{
@@ -1306,13 +1316,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImpo
1306
1316
  changeDetection: ChangeDetectionStrategy.OnPush,
1307
1317
  template: '<ng-content></ng-content>',
1308
1318
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1309
- inputs: ['collapsed', 'collapsible', 'heading', 'logoBackground', 'showLogo'],
1310
- outputs: ['bsCollapse', 'bsSearchClick'],
1319
+ inputs: ['collapsed', 'collapsible', 'heading', 'logoBackground', 'open', 'showLogo'],
1320
+ outputs: ['bsCollapse', 'bsSearchClick', 'bsClose'],
1311
1321
  }]
1312
1322
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { bsCollapse: [{
1313
1323
  type: Output
1314
1324
  }], bsSearchClick: [{
1315
1325
  type: Output
1326
+ }], bsClose: [{
1327
+ type: Output
1316
1328
  }] } });
1317
1329
  let BsNavigationDrawerItem = class BsNavigationDrawerItem {
1318
1330
  z;
@@ -1415,12 +1427,12 @@ let BsProgress = class BsProgress {
1415
1427
  this.el = r.nativeElement;
1416
1428
  }
1417
1429
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: BsProgress, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1418
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: BsProgress, isStandalone: true, selector: "bs-progress", inputs: { showLabel: "showLabel", size: "size", strokeWidth: "strokeWidth", type: "type", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1430
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: BsProgress, isStandalone: true, selector: "bs-progress", inputs: { ariaLabel: "ariaLabel", showLabel: "showLabel", size: "size", strokeWidth: "strokeWidth", type: "type", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1419
1431
  };
1420
1432
  BsProgress = __decorate([
1421
1433
  ProxyCmp({
1422
1434
  defineCustomElementFn: defineCustomElement$G,
1423
- inputs: ['showLabel', 'size', 'strokeWidth', 'type', 'value']
1435
+ inputs: ['ariaLabel', 'showLabel', 'size', 'strokeWidth', 'type', 'value']
1424
1436
  })
1425
1437
  ], BsProgress);
1426
1438
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: BsProgress, decorators: [{
@@ -1430,7 +1442,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImpo
1430
1442
  changeDetection: ChangeDetectionStrategy.OnPush,
1431
1443
  template: '<ng-content></ng-content>',
1432
1444
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1433
- inputs: ['showLabel', 'size', 'strokeWidth', 'type', 'value'],
1445
+ inputs: ['ariaLabel', 'showLabel', 'size', 'strokeWidth', 'type', 'value'],
1434
1446
  }]
1435
1447
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
1436
1448
  let BsProgressLinear = class BsProgressLinear {
@@ -1502,12 +1514,12 @@ let BsSlider = class BsSlider {
1502
1514
  this.el = r.nativeElement;
1503
1515
  }
1504
1516
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: BsSlider, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1505
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: BsSlider, isStandalone: true, selector: "bs-slider", inputs: { ariaLabel: "ariaLabel", disabled: "disabled", label: "label", max: "max", min: "min", segments: "segments", showLabel: "showLabel", step: "step", type: "type", value: "value", valueEnd: "valueEnd", valueStart: "valueStart" }, outputs: { bsChange: "bsChange", bsRangeChange: "bsRangeChange" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1517
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: BsSlider, isStandalone: true, selector: "bs-slider", inputs: { ariaLabel: "ariaLabel", disabled: "disabled", label: "label", max: "max", min: "min", name: "name", segments: "segments", showLabel: "showLabel", step: "step", type: "type", value: "value", valueEnd: "valueEnd", valueStart: "valueStart" }, outputs: { bsChange: "bsChange", bsRangeChange: "bsRangeChange" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1506
1518
  };
1507
1519
  BsSlider = __decorate([
1508
1520
  ProxyCmp({
1509
1521
  defineCustomElementFn: defineCustomElement$J,
1510
- inputs: ['ariaLabel', 'disabled', 'label', 'max', 'min', 'segments', 'showLabel', 'step', 'type', 'value', 'valueEnd', 'valueStart']
1522
+ inputs: ['ariaLabel', 'disabled', 'label', 'max', 'min', 'name', 'segments', 'showLabel', 'step', 'type', 'value', 'valueEnd', 'valueStart']
1511
1523
  })
1512
1524
  ], BsSlider);
1513
1525
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: BsSlider, decorators: [{
@@ -1517,7 +1529,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImpo
1517
1529
  changeDetection: ChangeDetectionStrategy.OnPush,
1518
1530
  template: '<ng-content></ng-content>',
1519
1531
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1520
- inputs: ['ariaLabel', 'disabled', 'label', 'max', 'min', 'segments', 'showLabel', 'step', 'type', 'value', 'valueEnd', 'valueStart'],
1532
+ inputs: ['ariaLabel', 'disabled', 'label', 'max', 'min', 'name', 'segments', 'showLabel', 'step', 'type', 'value', 'valueEnd', 'valueStart'],
1521
1533
  outputs: ['bsChange', 'bsRangeChange'],
1522
1534
  }]
1523
1535
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { bsChange: [{
@@ -1654,12 +1666,12 @@ let BsSwitch = class BsSwitch {
1654
1666
  this.el = r.nativeElement;
1655
1667
  }
1656
1668
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: BsSwitch, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1657
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: BsSwitch, isStandalone: true, selector: "bs-switch", inputs: { ariaLabel: "ariaLabel", checked: "checked", disabled: "disabled", size: "size" }, outputs: { bsChange: "bsChange" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1669
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: BsSwitch, isStandalone: true, selector: "bs-switch", inputs: { ariaLabel: "ariaLabel", checked: "checked", disabled: "disabled", name: "name", size: "size", value: "value" }, outputs: { bsChange: "bsChange" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1658
1670
  };
1659
1671
  BsSwitch = __decorate([
1660
1672
  ProxyCmp({
1661
1673
  defineCustomElementFn: defineCustomElement$O,
1662
- inputs: ['ariaLabel', 'checked', 'disabled', 'size']
1674
+ inputs: ['ariaLabel', 'checked', 'disabled', 'name', 'size', 'value']
1663
1675
  })
1664
1676
  ], BsSwitch);
1665
1677
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: BsSwitch, decorators: [{
@@ -1669,7 +1681,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImpo
1669
1681
  changeDetection: ChangeDetectionStrategy.OnPush,
1670
1682
  template: '<ng-content></ng-content>',
1671
1683
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1672
- inputs: ['ariaLabel', 'checked', 'disabled', 'size'],
1684
+ inputs: ['ariaLabel', 'checked', 'disabled', 'name', 'size', 'value'],
1673
1685
  outputs: ['bsChange'],
1674
1686
  }]
1675
1687
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { bsChange: [{
@@ -1685,12 +1697,12 @@ let BsTab = class BsTab {
1685
1697
  this.el = r.nativeElement;
1686
1698
  }
1687
1699
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: BsTab, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1688
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: BsTab, isStandalone: true, selector: "bs-tab", inputs: { ariaLabel: "ariaLabel", disabled: "disabled", iconPosition: "iconPosition", selected: "selected" }, outputs: { bsSelect: "bsSelect" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1700
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: BsTab, isStandalone: true, selector: "bs-tab", inputs: { ariaLabel: "ariaLabel", disabled: "disabled", iconPosition: "iconPosition", selected: "selected", tabbable: "tabbable", value: "value" }, outputs: { bsSelect: "bsSelect" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1689
1701
  };
1690
1702
  BsTab = __decorate([
1691
1703
  ProxyCmp({
1692
1704
  defineCustomElementFn: defineCustomElement$P,
1693
- inputs: ['ariaLabel', 'disabled', 'iconPosition', 'selected']
1705
+ inputs: ['ariaLabel', 'disabled', 'iconPosition', 'selected', 'tabbable', 'value']
1694
1706
  })
1695
1707
  ], BsTab);
1696
1708
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: BsTab, decorators: [{
@@ -1700,7 +1712,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImpo
1700
1712
  changeDetection: ChangeDetectionStrategy.OnPush,
1701
1713
  template: '<ng-content></ng-content>',
1702
1714
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1703
- inputs: ['ariaLabel', 'disabled', 'iconPosition', 'selected'],
1715
+ inputs: ['ariaLabel', 'disabled', 'iconPosition', 'selected', 'tabbable', 'value'],
1704
1716
  outputs: ['bsSelect'],
1705
1717
  }]
1706
1718
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { bsSelect: [{
@@ -1709,18 +1721,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImpo
1709
1721
  let BsTabs = class BsTabs {
1710
1722
  z;
1711
1723
  el;
1724
+ bsChange = new EventEmitter();
1712
1725
  constructor(c, r, z) {
1713
1726
  this.z = z;
1714
1727
  c.detach();
1715
1728
  this.el = r.nativeElement;
1716
1729
  }
1717
1730
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: BsTabs, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1718
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: BsTabs, isStandalone: true, selector: "bs-tabs", inputs: { orientation: "orientation", type: "type" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1731
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: BsTabs, isStandalone: true, selector: "bs-tabs", inputs: { orientation: "orientation", type: "type", value: "value" }, outputs: { bsChange: "bsChange" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1719
1732
  };
1720
1733
  BsTabs = __decorate([
1721
1734
  ProxyCmp({
1722
1735
  defineCustomElementFn: defineCustomElement$Q,
1723
- inputs: ['orientation', 'type']
1736
+ inputs: ['orientation', 'type', 'value']
1724
1737
  })
1725
1738
  ], BsTabs);
1726
1739
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: BsTabs, decorators: [{
@@ -1730,9 +1743,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImpo
1730
1743
  changeDetection: ChangeDetectionStrategy.OnPush,
1731
1744
  template: '<ng-content></ng-content>',
1732
1745
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1733
- inputs: ['orientation', 'type'],
1746
+ inputs: ['orientation', 'type', 'value'],
1747
+ outputs: ['bsChange'],
1734
1748
  }]
1735
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
1749
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { bsChange: [{
1750
+ type: Output
1751
+ }] } });
1736
1752
  let BsToast = class BsToast {
1737
1753
  z;
1738
1754
  el;
@@ -1849,6 +1865,147 @@ const DIRECTIVES = [
1849
1865
  BsTooltip
1850
1866
  ];
1851
1867
 
1868
+ class ValueAccessor {
1869
+ el;
1870
+ onChange = () => { };
1871
+ onTouched = () => { };
1872
+ lastValue;
1873
+ constructor(el) {
1874
+ this.el = el;
1875
+ }
1876
+ writeValue(value) {
1877
+ this.el.nativeElement.value = this.lastValue = value == null ? '' : value;
1878
+ }
1879
+ handleChangeEvent(value) {
1880
+ if (value !== this.lastValue) {
1881
+ this.lastValue = value;
1882
+ this.onChange(value);
1883
+ }
1884
+ }
1885
+ _handleBlurEvent() {
1886
+ this.onTouched();
1887
+ }
1888
+ registerOnChange(fn) {
1889
+ this.onChange = fn;
1890
+ }
1891
+ registerOnTouched(fn) {
1892
+ this.onTouched = fn;
1893
+ }
1894
+ setDisabledState(isDisabled) {
1895
+ this.el.nativeElement.disabled = isDisabled;
1896
+ }
1897
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ValueAccessor, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
1898
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.25", type: ValueAccessor, isStandalone: true, host: { listeners: { "focusout": "_handleBlurEvent()" } }, ngImport: i0 });
1899
+ }
1900
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ValueAccessor, decorators: [{
1901
+ type: Directive,
1902
+ args: [{}]
1903
+ }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { _handleBlurEvent: [{
1904
+ type: HostListener,
1905
+ args: ['focusout']
1906
+ }] } });
1907
+
1908
+ class TextValueAccessor extends ValueAccessor {
1909
+ constructor(el) {
1910
+ super(el);
1911
+ }
1912
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TextValueAccessor, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
1913
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.25", type: TextValueAccessor, isStandalone: true, selector: "bs-input", host: { listeners: { "bsChange": "handleChangeEvent($event.target?.[\"value\"])" } }, providers: [
1914
+ {
1915
+ provide: NG_VALUE_ACCESSOR,
1916
+ useExisting: forwardRef(() => TextValueAccessor),
1917
+ multi: true
1918
+ }
1919
+ ], usesInheritance: true, ngImport: i0 });
1920
+ }
1921
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TextValueAccessor, decorators: [{
1922
+ type: Directive,
1923
+ args: [{
1924
+ /* tslint:disable-next-line:directive-selector */
1925
+ selector: 'bs-input',
1926
+ host: {
1927
+ '(bsChange)': 'handleChangeEvent($event.target?.["value"])'
1928
+ },
1929
+ providers: [
1930
+ {
1931
+ provide: NG_VALUE_ACCESSOR,
1932
+ useExisting: forwardRef(() => TextValueAccessor),
1933
+ multi: true
1934
+ }
1935
+ ]
1936
+ }]
1937
+ }], ctorParameters: () => [{ type: i0.ElementRef }] });
1938
+
1939
+ class BooleanValueAccessor extends ValueAccessor {
1940
+ constructor(el) {
1941
+ super(el);
1942
+ }
1943
+ writeValue(value) {
1944
+ this.el.nativeElement.checked = this.lastValue = value == null ? false : value;
1945
+ }
1946
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: BooleanValueAccessor, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
1947
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.25", type: BooleanValueAccessor, isStandalone: true, selector: "bs-checkbox, bs-switch", host: { listeners: { "bsChange": "handleChangeEvent($event.target?.[\"checked\"])" } }, providers: [
1948
+ {
1949
+ provide: NG_VALUE_ACCESSOR,
1950
+ useExisting: forwardRef(() => BooleanValueAccessor),
1951
+ multi: true
1952
+ }
1953
+ ], usesInheritance: true, ngImport: i0 });
1954
+ }
1955
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: BooleanValueAccessor, decorators: [{
1956
+ type: Directive,
1957
+ args: [{
1958
+ /* tslint:disable-next-line:directive-selector */
1959
+ selector: 'bs-checkbox, bs-switch',
1960
+ host: {
1961
+ '(bsChange)': 'handleChangeEvent($event.target?.["checked"])'
1962
+ },
1963
+ providers: [
1964
+ {
1965
+ provide: NG_VALUE_ACCESSOR,
1966
+ useExisting: forwardRef(() => BooleanValueAccessor),
1967
+ multi: true
1968
+ }
1969
+ ]
1970
+ }]
1971
+ }], ctorParameters: () => [{ type: i0.ElementRef }] });
1972
+
1973
+ class NumericValueAccessor extends ValueAccessor {
1974
+ constructor(el) {
1975
+ super(el);
1976
+ }
1977
+ registerOnChange(fn) {
1978
+ super.registerOnChange(value => {
1979
+ fn(value === '' ? null : parseFloat(value));
1980
+ });
1981
+ }
1982
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: NumericValueAccessor, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
1983
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.25", type: NumericValueAccessor, isStandalone: true, selector: "bs-slider", host: { listeners: { "bsChange": "handleChangeEvent($event.target?.[\"value\"])" } }, providers: [
1984
+ {
1985
+ provide: NG_VALUE_ACCESSOR,
1986
+ useExisting: forwardRef(() => NumericValueAccessor),
1987
+ multi: true
1988
+ }
1989
+ ], usesInheritance: true, ngImport: i0 });
1990
+ }
1991
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: NumericValueAccessor, decorators: [{
1992
+ type: Directive,
1993
+ args: [{
1994
+ /* tslint:disable-next-line:directive-selector */
1995
+ selector: 'bs-slider',
1996
+ host: {
1997
+ '(bsChange)': 'handleChangeEvent($event.target?.["value"])'
1998
+ },
1999
+ providers: [
2000
+ {
2001
+ provide: NG_VALUE_ACCESSOR,
2002
+ useExisting: forwardRef(() => NumericValueAccessor),
2003
+ multi: true
2004
+ }
2005
+ ]
2006
+ }]
2007
+ }], ctorParameters: () => [{ type: i0.ElementRef }] });
2008
+
1852
2009
  /*
1853
2010
  * Public API surface of @brandsync/angular
1854
2011
  */
@@ -1857,5 +2014,5 @@ const DIRECTIVES = [
1857
2014
  * Generated bundle index. Do not edit.
1858
2015
  */
1859
2016
 
1860
- export { BsAccordion, BsAiDisclaimer, BsAiGreeting, BsAiThinking, BsAttachment, BsAttachmentList, BsAvatar, BsBadge, BsBreadcrumb, BsBreadcrumbOverflow, BsBreadcrumbs, BsButton, BsButtonSkeleton, BsCard, BsCarousel, BsChatbotFeedback, BsChatbotHeader, BsChatbotResponseAction, BsChatbotSourcesDrawer, BsChatbotSuggestionButton, BsCheckbox, BsCheckboxSkeleton, BsChipFilter, BsChipInformative, BsChipInput, BsComposer, BsComposerStatusBanner, BsDataTable, BsDialog, BsFileUpload, BsFileUploadItem, BsIconButton, BsInlineTab, BsInput, BsLogo, BsMenu, BsMenuItem, BsNavigationDrawer, BsNavigationDrawerItem, BsNavigationHeader, BsPagination, BsProgress, BsProgressLinear, BsRadio, BsSlider, BsSnackbar, BsSourceLink, BsStepper, BsStepperStep, BsSwitch, BsTab, BsTabs, BsToast, BsTooltip, DIRECTIVES };
2017
+ export { BooleanValueAccessor, BsAccordion, BsAiDisclaimer, BsAiGreeting, BsAiThinking, BsAttachment, BsAttachmentList, BsAvatar, BsBadge, BsBreadcrumb, BsBreadcrumbOverflow, BsBreadcrumbs, BsButton, BsButtonSkeleton, BsCard, BsCarousel, BsChatbotFeedback, BsChatbotHeader, BsChatbotResponseAction, BsChatbotSourcesDrawer, BsChatbotSuggestionButton, BsCheckbox, BsCheckboxSkeleton, BsChipFilter, BsChipInformative, BsChipInput, BsComposer, BsComposerStatusBanner, BsDataTable, BsDialog, BsFileUpload, BsFileUploadItem, BsIconButton, BsInlineTab, BsInput, BsLogo, BsMenu, BsMenuItem, BsNavigationDrawer, BsNavigationDrawerItem, BsNavigationHeader, BsPagination, BsProgress, BsProgressLinear, BsRadio, BsSlider, BsSnackbar, BsSourceLink, BsStepper, BsStepperStep, BsSwitch, BsTab, BsTabs, BsToast, BsTooltip, DIRECTIVES, NumericValueAccessor, TextValueAccessor, ValueAccessor };
1861
2018
  //# sourceMappingURL=brandsync-angular.mjs.map