@bravobit/bb-foundation 0.53.5 → 0.54.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.
@@ -271,10 +271,10 @@ class BbCollectionsData {
271
271
  static ngTemplateContextGuard(dir, ctx) {
272
272
  return true;
273
273
  }
274
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: BbCollectionsData, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
275
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.1", type: BbCollectionsData, isStandalone: true, selector: "ng-template[bbCollectionsData]", ngImport: i0 });
274
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.3", ngImport: i0, type: BbCollectionsData, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
275
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.3", type: BbCollectionsData, isStandalone: true, selector: "ng-template[bbCollectionsData]", ngImport: i0 });
276
276
  }
277
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: BbCollectionsData, decorators: [{
277
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.3", ngImport: i0, type: BbCollectionsData, decorators: [{
278
278
  type: Directive,
279
279
  args: [{
280
280
  selector: 'ng-template[bbCollectionsData]'
@@ -297,10 +297,10 @@ class BbCollectionsDataRow {
297
297
  static ngTemplateContextGuard(dir, ctx) {
298
298
  return true;
299
299
  }
300
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: BbCollectionsDataRow, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
301
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.1", type: BbCollectionsDataRow, isStandalone: true, selector: "ng-template[bbCollectionsDataRow]", ngImport: i0 });
300
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.3", ngImport: i0, type: BbCollectionsDataRow, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
301
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.3", type: BbCollectionsDataRow, isStandalone: true, selector: "ng-template[bbCollectionsDataRow]", ngImport: i0 });
302
302
  }
303
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: BbCollectionsDataRow, decorators: [{
303
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.3", ngImport: i0, type: BbCollectionsDataRow, decorators: [{
304
304
  type: Directive,
305
305
  args: [{
306
306
  selector: 'ng-template[bbCollectionsDataRow]'
@@ -323,10 +323,10 @@ class BbCollectionsEmpty {
323
323
  static ngTemplateContextGuard(dir, ctx) {
324
324
  return true;
325
325
  }
326
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: BbCollectionsEmpty, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
327
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.1", type: BbCollectionsEmpty, isStandalone: true, selector: "ng-template[bbCollectionsEmpty]", ngImport: i0 });
326
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.3", ngImport: i0, type: BbCollectionsEmpty, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
327
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.3", type: BbCollectionsEmpty, isStandalone: true, selector: "ng-template[bbCollectionsEmpty]", ngImport: i0 });
328
328
  }
329
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: BbCollectionsEmpty, decorators: [{
329
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.3", ngImport: i0, type: BbCollectionsEmpty, decorators: [{
330
330
  type: Directive,
331
331
  args: [{
332
332
  selector: 'ng-template[bbCollectionsEmpty]'
@@ -349,10 +349,10 @@ class BbCollectionsError {
349
349
  static ngTemplateContextGuard(dir, ctx) {
350
350
  return true;
351
351
  }
352
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: BbCollectionsError, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
353
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.1", type: BbCollectionsError, isStandalone: true, selector: "ng-template[bbCollectionsError]", ngImport: i0 });
352
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.3", ngImport: i0, type: BbCollectionsError, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
353
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.3", type: BbCollectionsError, isStandalone: true, selector: "ng-template[bbCollectionsError]", ngImport: i0 });
354
354
  }
355
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: BbCollectionsError, decorators: [{
355
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.3", ngImport: i0, type: BbCollectionsError, decorators: [{
356
356
  type: Directive,
357
357
  args: [{
358
358
  selector: 'ng-template[bbCollectionsError]'
@@ -369,10 +369,10 @@ class BbCollectionsInitial {
369
369
  static ngTemplateContextGuard(dir, ctx) {
370
370
  return true;
371
371
  }
372
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: BbCollectionsInitial, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
373
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.1", type: BbCollectionsInitial, isStandalone: true, selector: "ng-template[bbCollectionsInitial]", ngImport: i0 });
372
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.3", ngImport: i0, type: BbCollectionsInitial, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
373
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.3", type: BbCollectionsInitial, isStandalone: true, selector: "ng-template[bbCollectionsInitial]", ngImport: i0 });
374
374
  }
375
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: BbCollectionsInitial, decorators: [{
375
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.3", ngImport: i0, type: BbCollectionsInitial, decorators: [{
376
376
  type: Directive,
377
377
  args: [{
378
378
  selector: 'ng-template[bbCollectionsInitial]'
@@ -395,10 +395,10 @@ class BbCollectionsItem {
395
395
  static ngTemplateContextGuard(dir, ctx) {
396
396
  return true;
397
397
  }
398
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: BbCollectionsItem, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
399
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.1", type: BbCollectionsItem, isStandalone: true, selector: "ng-template[bbCollectionsItem]", ngImport: i0 });
398
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.3", ngImport: i0, type: BbCollectionsItem, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
399
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.3", type: BbCollectionsItem, isStandalone: true, selector: "ng-template[bbCollectionsItem]", ngImport: i0 });
400
400
  }
401
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: BbCollectionsItem, decorators: [{
401
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.3", ngImport: i0, type: BbCollectionsItem, decorators: [{
402
402
  type: Directive,
403
403
  args: [{
404
404
  selector: 'ng-template[bbCollectionsItem]'
@@ -413,10 +413,10 @@ class BbCollectionsViewer {
413
413
  initialTemplate;
414
414
  // Inputs.
415
415
  collection = null;
416
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: BbCollectionsViewer, deps: [], target: i0.ɵɵFactoryTarget.Component });
417
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.1", type: BbCollectionsViewer, isStandalone: true, selector: "[bb-collections-viewer]", inputs: { collection: "collection" }, host: { classAttribute: "bb-collections-viewer" }, queries: [{ propertyName: "dataTemplate", first: true, predicate: BbCollectionsData, descendants: true, read: TemplateRef }, { propertyName: "emptyTemplate", first: true, predicate: BbCollectionsEmpty, descendants: true, read: TemplateRef }, { propertyName: "errorTemplate", first: true, predicate: BbCollectionsError, descendants: true, read: TemplateRef }, { propertyName: "initialTemplate", first: true, predicate: BbCollectionsInitial, descendants: true, read: TemplateRef }], ngImport: i0, template: "@if (collection?.data$ | async; as data) {\n @switch (data?.state) {\n @case ('initial') {\n <ng-container *ngTemplateOutlet=\"initialTemplate\"></ng-container>\n }\n @case ('empty') {\n <ng-container\n *ngTemplateOutlet=\"emptyTemplate; context: {query: data?.request?.query, loading: data?.loading}\"></ng-container>\n }\n @case ('error') {\n <ng-container\n *ngTemplateOutlet=\"errorTemplate; context: {error: data?.error, loading: data?.loading}\"></ng-container>\n }\n @default {\n <ng-container\n *ngTemplateOutlet=\"dataTemplate; context: {items: data?.response?.data, loading: data?.loading}\"></ng-container>\n }\n }\n}\n", styles: [".bb-collections-viewer{display:block}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
416
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.3", ngImport: i0, type: BbCollectionsViewer, deps: [], target: i0.ɵɵFactoryTarget.Component });
417
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.3", type: BbCollectionsViewer, isStandalone: true, selector: "[bb-collections-viewer]", inputs: { collection: "collection" }, host: { classAttribute: "bb-collections-viewer" }, queries: [{ propertyName: "dataTemplate", first: true, predicate: BbCollectionsData, descendants: true, read: TemplateRef }, { propertyName: "emptyTemplate", first: true, predicate: BbCollectionsEmpty, descendants: true, read: TemplateRef }, { propertyName: "errorTemplate", first: true, predicate: BbCollectionsError, descendants: true, read: TemplateRef }, { propertyName: "initialTemplate", first: true, predicate: BbCollectionsInitial, descendants: true, read: TemplateRef }], ngImport: i0, template: "@if (collection?.data$ | async; as data) {\n @switch (data?.state) {\n @case ('initial') {\n <ng-container *ngTemplateOutlet=\"initialTemplate\"></ng-container>\n }\n @case ('empty') {\n <ng-container\n *ngTemplateOutlet=\"emptyTemplate; context: {query: data?.request?.query, loading: data?.loading}\"></ng-container>\n }\n @case ('error') {\n <ng-container\n *ngTemplateOutlet=\"errorTemplate; context: {error: data?.error, loading: data?.loading}\"></ng-container>\n }\n @default {\n <ng-container\n *ngTemplateOutlet=\"dataTemplate; context: {items: data?.response?.data, loading: data?.loading}\"></ng-container>\n }\n }\n}\n", styles: [".bb-collections-viewer{display:block}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
418
418
  }
419
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: BbCollectionsViewer, decorators: [{
419
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.3", ngImport: i0, type: BbCollectionsViewer, decorators: [{
420
420
  type: Component,
421
421
  args: [{ selector: '[bb-collections-viewer]', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { 'class': 'bb-collections-viewer' }, imports: [AsyncPipe, NgTemplateOutlet], template: "@if (collection?.data$ | async; as data) {\n @switch (data?.state) {\n @case ('initial') {\n <ng-container *ngTemplateOutlet=\"initialTemplate\"></ng-container>\n }\n @case ('empty') {\n <ng-container\n *ngTemplateOutlet=\"emptyTemplate; context: {query: data?.request?.query, loading: data?.loading}\"></ng-container>\n }\n @case ('error') {\n <ng-container\n *ngTemplateOutlet=\"errorTemplate; context: {error: data?.error, loading: data?.loading}\"></ng-container>\n }\n @default {\n <ng-container\n *ngTemplateOutlet=\"dataTemplate; context: {items: data?.response?.data, loading: data?.loading}\"></ng-container>\n }\n }\n}\n", styles: [".bb-collections-viewer{display:block}\n"] }]
422
422
  }], propDecorators: { dataTemplate: [{
@@ -535,10 +535,10 @@ class BbCollectionsPager {
535
535
  .filter(page => page > 0 && page <= totalPages)
536
536
  .map(page => ({ page, active: pageNumber === page }));
537
537
  }
538
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: BbCollectionsPager, deps: [], target: i0.ɵɵFactoryTarget.Component });
539
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.1", type: BbCollectionsPager, isStandalone: true, selector: "bb-collections-pager", inputs: { maxAmountOfButtons: ["maxAmountOfButtons", "maxAmountOfButtons", numberAttribute], collection: "collection" }, host: { classAttribute: "bb-collections-pager" }, ngImport: i0, template: "@if (data$ | async; as data) {\n <div [bb-localize-string]=\"'collection.showing_label' | bbLocalize\"\n class=\"bb-collections-pager-text\">\n <strong *bbLocalizeTemplate=\"'start'\">{{ data?.start }}</strong>\n <strong *bbLocalizeTemplate=\"'end'\">{{ data?.end }}</strong>\n <strong *bbLocalizeTemplate=\"'total'\">{{ data?.totalEntries }}</strong>\n </div>\n\n <div class=\"bb-collections-pager-container\">\n <ul class=\"bb-collections-pager-list\">\n <li class=\"bb-collections-pager-item\"\n title=\"Previous page\">\n <button [disabled]=\"data?.pageNumber <= 1\"\n (click)=\"setPage(data?.pageNumber - 1, data?.totalPages)\"\n class=\"bb-collections-pager-button arrow first\"\n type=\"button\">\n <bb-icon [src]=\"arrowPreviousIconName\"\n size=\"1.125\"></bb-icon>\n </button>\n </li>\n @for (item of data?.pages; track item?.page) {\n <li [title]=\"'Page ' + item?.page\"\n class=\"bb-collections-pager-item\">\n <button [class.active]=\"item?.active\"\n (click)=\"setPage(item?.page, data?.totalPages)\"\n class=\"bb-collections-pager-button\"\n type=\"button\">\n {{ item?.page }}\n </button>\n </li>\n }\n <li class=\"bb-collections-pager-item\"\n title=\"Next page\">\n <button [disabled]=\"data?.pageNumber >= data?.totalPages\"\n (click)=\"setPage(data?.pageNumber + 1, data?.totalPages)\"\n class=\"bb-collections-pager-button arrow last\"\n type=\"button\">\n <bb-icon [src]=\"arrowNextIconName\"\n size=\"1.125\"></bb-icon>\n </button>\n </li>\n </ul>\n </div>\n}\n", styles: [".bb-collections-pager{display:flex;align-items:center;font-size:.875rem;flex-direction:column-reverse}.bb-collections-pager-text{display:block;margin-top:.75rem}.bb-collections-pager-text>strong{font-weight:500}.bb-collections-pager-container{width:100%;display:flex;overflow-x:auto;align-items:center;justify-content:center}.bb-collections-pager-list{display:flex;align-items:center;border-radius:.5rem;background-color:#fff;border:1px solid var(--bb-collections-pager-border-color);box-shadow:0 .375rem .375rem -.375rem #0000001a}.bb-collections-pager-item:not(:last-child){border-right:1px solid var(--bb-collections-pager-border-color)}.bb-collections-pager-button{height:2rem;border:none;display:flex;appearance:none;min-height:2rem;min-width:2.5rem;-webkit-user-select:none;user-select:none;padding:0 .25rem;align-items:center;justify-content:center;background-color:transparent;transition:color .2s cubic-bezier(0,0,.2,1),background-color .2s cubic-bezier(0,0,.2,1)}.bb-collections-pager-button:hover,.bb-collections-pager-button:focus,.bb-collections-pager-button:active,.bb-collections-pager-button.active{font-weight:400;color:var(--bb-collections-pager-color)}.bb-collections-pager-button:hover,.bb-collections-pager-button:focus{background-color:var(--bb-collections-pager-hover-background-color)}.bb-collections-pager-button:active,.bb-collections-pager-button.active{background-color:var(--bb-collections-pager-active-background-color)}.bb-collections-pager-button:not(.arrow):focus,.bb-collections-pager-button:not(.arrow):active{box-shadow:var(--bb-collections-pager-focus-box-shadow)}.bb-collections-pager-button:not(.arrow):focus,.bb-collections-pager-button:not(.arrow):active,.bb-collections-pager-button:not(.arrow).active{outline:1px solid var(--bb-collections-pager-outline-color)}.bb-collections-pager-button.arrow{font-weight:500}.bb-collections-pager-button.arrow.first{border-top-left-radius:calc(.5rem - 1px);border-bottom-left-radius:calc(.5rem - 1px)}.bb-collections-pager-button.arrow.last{border-top-right-radius:calc(.5rem - 1px);border-bottom-right-radius:calc(.5rem - 1px)}.bb-collections-pager-button:disabled{color:#111;outline:none;opacity:.25;cursor:default;pointer-events:none;background-color:transparent}@media only screen and (min-width: 768px){.bb-collections-pager{flex-wrap:wrap;align-items:center;flex-direction:row;justify-content:space-between}.bb-collections-pager-text{margin-top:0}.bb-collections-pager-container{width:auto;overflow-x:unset}}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "component", type: BbLocalizeString, selector: "[bb-localize-string]", inputs: ["substitutions", "bb-localize-string"] }, { kind: "pipe", type: BbLocalize, name: "bbLocalize" }, { kind: "directive", type: BbLocalizeTemplate, selector: "ng-template[bbLocalizeTemplate]", inputs: ["bbLocalizeTemplate"] }, { kind: "component", type: BbIcon, selector: "bb-icon", inputs: ["alt", "size", "ariaHidden", "unit", "src"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
538
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.3", ngImport: i0, type: BbCollectionsPager, deps: [], target: i0.ɵɵFactoryTarget.Component });
539
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.3", type: BbCollectionsPager, isStandalone: true, selector: "bb-collections-pager", inputs: { maxAmountOfButtons: ["maxAmountOfButtons", "maxAmountOfButtons", numberAttribute], collection: "collection" }, host: { classAttribute: "bb-collections-pager" }, ngImport: i0, template: "@if (data$ | async; as data) {\n <div [bb-localize-string]=\"'collection.showing_label' | bbLocalize\"\n class=\"bb-collections-pager-text\">\n <strong *bbLocalizeTemplate=\"'start'\">{{ data?.start }}</strong>\n <strong *bbLocalizeTemplate=\"'end'\">{{ data?.end }}</strong>\n <strong *bbLocalizeTemplate=\"'total'\">{{ data?.totalEntries }}</strong>\n </div>\n\n <div class=\"bb-collections-pager-container\">\n <ul class=\"bb-collections-pager-list\">\n <li class=\"bb-collections-pager-item\"\n title=\"Previous page\">\n <button [disabled]=\"data?.pageNumber <= 1\"\n (click)=\"setPage(data?.pageNumber - 1, data?.totalPages)\"\n class=\"bb-collections-pager-button arrow first\"\n type=\"button\">\n <bb-icon [src]=\"arrowPreviousIconName\"\n size=\"1.125\"></bb-icon>\n </button>\n </li>\n @for (item of data?.pages; track item?.page) {\n <li [title]=\"'Page ' + item?.page\"\n class=\"bb-collections-pager-item\">\n <button [class.active]=\"item?.active\"\n (click)=\"setPage(item?.page, data?.totalPages)\"\n class=\"bb-collections-pager-button\"\n type=\"button\">\n {{ item?.page }}\n </button>\n </li>\n }\n <li class=\"bb-collections-pager-item\"\n title=\"Next page\">\n <button [disabled]=\"data?.pageNumber >= data?.totalPages\"\n (click)=\"setPage(data?.pageNumber + 1, data?.totalPages)\"\n class=\"bb-collections-pager-button arrow last\"\n type=\"button\">\n <bb-icon [src]=\"arrowNextIconName\"\n size=\"1.125\"></bb-icon>\n </button>\n </li>\n </ul>\n </div>\n}\n", styles: [".bb-collections-pager{display:flex;align-items:center;font-size:.875rem;flex-direction:column-reverse}.bb-collections-pager-text{display:block;margin-top:.75rem}.bb-collections-pager-text>strong{font-weight:500}.bb-collections-pager-container{width:100%;display:flex;overflow-x:auto;align-items:center;justify-content:center}.bb-collections-pager-list{display:flex;align-items:center;border-radius:.5rem;background-color:#fff;border:1px solid var(--bb-collections-pager-border-color);box-shadow:0 .375rem .375rem -.375rem #0000001a}.bb-collections-pager-item:not(:last-child){border-right:1px solid var(--bb-collections-pager-border-color)}.bb-collections-pager-button{height:2rem;border:none;display:flex;appearance:none;min-height:2rem;min-width:2.5rem;-webkit-user-select:none;user-select:none;padding:0 .25rem;align-items:center;justify-content:center;background-color:transparent;transition:color .2s cubic-bezier(0,0,.2,1),background-color .2s cubic-bezier(0,0,.2,1)}.bb-collections-pager-button:hover,.bb-collections-pager-button:focus,.bb-collections-pager-button:active,.bb-collections-pager-button.active{font-weight:400;color:var(--bb-collections-pager-color)}.bb-collections-pager-button:hover,.bb-collections-pager-button:focus{background-color:var(--bb-collections-pager-hover-background-color)}.bb-collections-pager-button:active,.bb-collections-pager-button.active{background-color:var(--bb-collections-pager-active-background-color)}.bb-collections-pager-button:not(.arrow):focus,.bb-collections-pager-button:not(.arrow):active{box-shadow:var(--bb-collections-pager-focus-box-shadow)}.bb-collections-pager-button:not(.arrow):focus,.bb-collections-pager-button:not(.arrow):active,.bb-collections-pager-button:not(.arrow).active{outline:1px solid var(--bb-collections-pager-outline-color)}.bb-collections-pager-button.arrow{font-weight:500}.bb-collections-pager-button.arrow.first{border-top-left-radius:calc(.5rem - 1px);border-bottom-left-radius:calc(.5rem - 1px)}.bb-collections-pager-button.arrow.last{border-top-right-radius:calc(.5rem - 1px);border-bottom-right-radius:calc(.5rem - 1px)}.bb-collections-pager-button:disabled{color:#111;outline:none;opacity:.25;cursor:default;pointer-events:none;background-color:transparent}@media only screen and (min-width: 768px){.bb-collections-pager{flex-wrap:wrap;align-items:center;flex-direction:row;justify-content:space-between}.bb-collections-pager-text{margin-top:0}.bb-collections-pager-container{width:auto;overflow-x:unset}}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "component", type: BbLocalizeString, selector: "[bb-localize-string]", inputs: ["substitutions", "bb-localize-string"] }, { kind: "pipe", type: BbLocalize, name: "bbLocalize" }, { kind: "directive", type: BbLocalizeTemplate, selector: "ng-template[bbLocalizeTemplate]", inputs: ["bbLocalizeTemplate"] }, { kind: "component", type: BbIcon, selector: "bb-icon", inputs: ["alt", "size", "ariaHidden", "unit", "src"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
540
540
  }
541
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: BbCollectionsPager, decorators: [{
541
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.3", ngImport: i0, type: BbCollectionsPager, decorators: [{
542
542
  type: Component,
543
543
  args: [{ selector: 'bb-collections-pager', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { 'class': 'bb-collections-pager' }, imports: [AsyncPipe, BbLocalizeString, BbLocalize, BbLocalizeTemplate, BbIcon], template: "@if (data$ | async; as data) {\n <div [bb-localize-string]=\"'collection.showing_label' | bbLocalize\"\n class=\"bb-collections-pager-text\">\n <strong *bbLocalizeTemplate=\"'start'\">{{ data?.start }}</strong>\n <strong *bbLocalizeTemplate=\"'end'\">{{ data?.end }}</strong>\n <strong *bbLocalizeTemplate=\"'total'\">{{ data?.totalEntries }}</strong>\n </div>\n\n <div class=\"bb-collections-pager-container\">\n <ul class=\"bb-collections-pager-list\">\n <li class=\"bb-collections-pager-item\"\n title=\"Previous page\">\n <button [disabled]=\"data?.pageNumber <= 1\"\n (click)=\"setPage(data?.pageNumber - 1, data?.totalPages)\"\n class=\"bb-collections-pager-button arrow first\"\n type=\"button\">\n <bb-icon [src]=\"arrowPreviousIconName\"\n size=\"1.125\"></bb-icon>\n </button>\n </li>\n @for (item of data?.pages; track item?.page) {\n <li [title]=\"'Page ' + item?.page\"\n class=\"bb-collections-pager-item\">\n <button [class.active]=\"item?.active\"\n (click)=\"setPage(item?.page, data?.totalPages)\"\n class=\"bb-collections-pager-button\"\n type=\"button\">\n {{ item?.page }}\n </button>\n </li>\n }\n <li class=\"bb-collections-pager-item\"\n title=\"Next page\">\n <button [disabled]=\"data?.pageNumber >= data?.totalPages\"\n (click)=\"setPage(data?.pageNumber + 1, data?.totalPages)\"\n class=\"bb-collections-pager-button arrow last\"\n type=\"button\">\n <bb-icon [src]=\"arrowNextIconName\"\n size=\"1.125\"></bb-icon>\n </button>\n </li>\n </ul>\n </div>\n}\n", styles: [".bb-collections-pager{display:flex;align-items:center;font-size:.875rem;flex-direction:column-reverse}.bb-collections-pager-text{display:block;margin-top:.75rem}.bb-collections-pager-text>strong{font-weight:500}.bb-collections-pager-container{width:100%;display:flex;overflow-x:auto;align-items:center;justify-content:center}.bb-collections-pager-list{display:flex;align-items:center;border-radius:.5rem;background-color:#fff;border:1px solid var(--bb-collections-pager-border-color);box-shadow:0 .375rem .375rem -.375rem #0000001a}.bb-collections-pager-item:not(:last-child){border-right:1px solid var(--bb-collections-pager-border-color)}.bb-collections-pager-button{height:2rem;border:none;display:flex;appearance:none;min-height:2rem;min-width:2.5rem;-webkit-user-select:none;user-select:none;padding:0 .25rem;align-items:center;justify-content:center;background-color:transparent;transition:color .2s cubic-bezier(0,0,.2,1),background-color .2s cubic-bezier(0,0,.2,1)}.bb-collections-pager-button:hover,.bb-collections-pager-button:focus,.bb-collections-pager-button:active,.bb-collections-pager-button.active{font-weight:400;color:var(--bb-collections-pager-color)}.bb-collections-pager-button:hover,.bb-collections-pager-button:focus{background-color:var(--bb-collections-pager-hover-background-color)}.bb-collections-pager-button:active,.bb-collections-pager-button.active{background-color:var(--bb-collections-pager-active-background-color)}.bb-collections-pager-button:not(.arrow):focus,.bb-collections-pager-button:not(.arrow):active{box-shadow:var(--bb-collections-pager-focus-box-shadow)}.bb-collections-pager-button:not(.arrow):focus,.bb-collections-pager-button:not(.arrow):active,.bb-collections-pager-button:not(.arrow).active{outline:1px solid var(--bb-collections-pager-outline-color)}.bb-collections-pager-button.arrow{font-weight:500}.bb-collections-pager-button.arrow.first{border-top-left-radius:calc(.5rem - 1px);border-bottom-left-radius:calc(.5rem - 1px)}.bb-collections-pager-button.arrow.last{border-top-right-radius:calc(.5rem - 1px);border-bottom-right-radius:calc(.5rem - 1px)}.bb-collections-pager-button:disabled{color:#111;outline:none;opacity:.25;cursor:default;pointer-events:none;background-color:transparent}@media only screen and (min-width: 768px){.bb-collections-pager{flex-wrap:wrap;align-items:center;flex-direction:row;justify-content:space-between}.bb-collections-pager-text{margin-top:0}.bb-collections-pager-container{width:auto;overflow-x:unset}}\n"] }]
544
544
  }], propDecorators: { maxAmountOfButtons: [{
@@ -559,10 +559,10 @@ class BbCollectionsActions {
559
559
  collection = null;
560
560
  queryPlaceholder = null;
561
561
  standalone = false;
562
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: BbCollectionsActions, deps: [], target: i0.ɵɵFactoryTarget.Component });
563
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.1", type: BbCollectionsActions, isStandalone: true, selector: "bb-collections-actions", inputs: { collection: "collection", queryPlaceholder: "queryPlaceholder", standalone: ["standalone", "standalone", booleanAttribute] }, host: { properties: { "class.standalone": "standalone" }, classAttribute: "bb-collections-actions" }, ngImport: i0, template: "<div class=\"bb-collections-actions-row\">\n @if (collection?.queryFieldsControl?.value?.length > 0) {\n <bb-form-control class=\"bb-collections-actions-search\">\n <bb-icon [src]=\"searchIconName\"\n bbPrefix></bb-icon>\n <input [formControl]=\"collection?.queryControl\"\n [placeholder]=\"queryPlaceholder ?? ('collection.search_label' | bbLocalize)\"\n bbInput\n autocomplete=\"off\"\n type=\"search\">\n @if (collection?.queryControl?.value?.length > 0) {\n <button (click)=\"collection?.queryControl?.setValue('')\"\n bbSuffix\n data-button\n type=\"button\">\n <bb-icon [src]=\"closeIconName\"></bb-icon>\n </button>\n }\n </bb-form-control>\n }\n <ng-content select=\"[data-collections-action]\"></ng-content>\n</div>\n<ng-content></ng-content>\n", styles: [".bb-collections-actions{gap:.75rem;display:flex;color:#111;font-size:.875rem;padding:.75rem 1rem;flex-direction:column;border-bottom:1px solid hsl(213,8%,90%)}.bb-collections-actions.standalone{border-bottom:none;border-radius:.5rem;margin-bottom:1.5rem;background-color:#fff;box-shadow:0 .375rem .375rem -.375rem #0000001a}.bb-collections-actions-row,[data-collections-row]{gap:.75rem;display:flex;flex-direction:column}.bb-collections-actions-search{flex:1}@media only screen and (min-width: 768px){.bb-collections-actions-row,[data-collections-row]{flex-direction:row}.bb-collections-actions-row.end,[data-collections-row].end{justify-content:flex-end}}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: BbInput, selector: "input[bbInput],textarea[bbInput],select[bbInput]", inputs: ["required"] }, { kind: "pipe", type: BbLocalize, name: "bbLocalize" }, { kind: "component", type: BbIcon, selector: "bb-icon", inputs: ["alt", "size", "ariaHidden", "unit", "src"] }, { kind: "component", type: BbFormControl, selector: "bb-form-control", inputs: ["label", "hint", "grouped", "hideErrors"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
562
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.3", ngImport: i0, type: BbCollectionsActions, deps: [], target: i0.ɵɵFactoryTarget.Component });
563
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.3", type: BbCollectionsActions, isStandalone: true, selector: "bb-collections-actions", inputs: { collection: "collection", queryPlaceholder: "queryPlaceholder", standalone: ["standalone", "standalone", booleanAttribute] }, host: { properties: { "class.standalone": "standalone" }, classAttribute: "bb-collections-actions" }, ngImport: i0, template: "<div class=\"bb-collections-actions-row\">\n @if (collection?.queryFieldsControl?.value?.length > 0) {\n <bb-form-control class=\"bb-collections-actions-search\">\n <bb-icon [src]=\"searchIconName\"\n bbPrefix></bb-icon>\n <input [formControl]=\"collection?.queryControl\"\n [placeholder]=\"queryPlaceholder ?? ('collection.search_label' | bbLocalize)\"\n bbInput\n autocomplete=\"off\"\n type=\"search\">\n @if (collection?.queryControl?.value?.length > 0) {\n <button (click)=\"collection?.queryControl?.setValue('')\"\n bbSuffix\n data-button\n type=\"button\">\n <bb-icon [src]=\"closeIconName\"></bb-icon>\n </button>\n }\n </bb-form-control>\n }\n <ng-content select=\"[data-collections-action]\"></ng-content>\n</div>\n<ng-content></ng-content>\n", styles: [".bb-collections-actions{gap:.75rem;display:flex;color:#111;font-size:.875rem;padding:.75rem 1rem;flex-direction:column;border-bottom:1px solid hsl(213,8%,90%)}.bb-collections-actions.standalone{border-bottom:none;border-radius:.5rem;margin-bottom:1.5rem;background-color:#fff;box-shadow:0 .375rem .375rem -.375rem #0000001a}.bb-collections-actions-row,[data-collections-row]{gap:.75rem;display:flex;flex-direction:column}.bb-collections-actions-search{flex:1}@media only screen and (min-width: 768px){.bb-collections-actions-row,[data-collections-row]{flex-direction:row}.bb-collections-actions-row.end,[data-collections-row].end{justify-content:flex-end}}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: BbInput, selector: "input[bbInput],textarea[bbInput],select[bbInput]", inputs: ["required"] }, { kind: "pipe", type: BbLocalize, name: "bbLocalize" }, { kind: "component", type: BbIcon, selector: "bb-icon", inputs: ["alt", "size", "ariaHidden", "unit", "src"] }, { kind: "component", type: BbFormControl, selector: "bb-form-control", inputs: ["label", "hint", "grouped", "hideErrors"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
564
564
  }
565
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: BbCollectionsActions, decorators: [{
565
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.3", ngImport: i0, type: BbCollectionsActions, decorators: [{
566
566
  type: Component,
567
567
  args: [{ selector: 'bb-collections-actions', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
568
568
  'class': 'bb-collections-actions',
@@ -599,10 +599,10 @@ class BbCollectionsTable {
599
599
  get collection() {
600
600
  return this.collection$.getValue();
601
601
  }
602
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: BbCollectionsTable, deps: [], target: i0.ɵɵFactoryTarget.Component });
603
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.1", type: BbCollectionsTable, isStandalone: true, selector: "bb-collections-table", inputs: { queryPlaceholder: "queryPlaceholder", emptyContent: "emptyContent", noResultsContent: "noResultsContent", errorContent: "errorContent", trackByProperty: "trackByProperty", includeVerticalLines: ["includeVerticalLines", "includeVerticalLines", booleanAttribute], hideActions: ["hideActions", "hideActions", booleanAttribute], hidePager: ["hidePager", "hidePager", booleanAttribute], collection: "collection" }, host: { properties: { "class.include-vertical-lines": "includeVerticalLines" }, classAttribute: "bb-collections-table" }, queries: [{ propertyName: "dataTemplate", first: true, predicate: BbCollectionsData, descendants: true, read: TemplateRef }, { propertyName: "dataRowTemplate", first: true, predicate: BbCollectionsDataRow, descendants: true, read: TemplateRef }], ngImport: i0, template: "@if (!hideActions) {\n <bb-collections-actions [collection]=\"collection\"\n [queryPlaceholder]=\"queryPlaceholder\">\n <ng-content ngProjectAs=\"[data-collections-action]\"\n select=\"[data-collections-action]\"></ng-content>\n <ng-content ngProjectAs=\"[data-collections-row]\"\n select=\"[data-collections-row]\"></ng-content>\n </bb-collections-actions>\n}\n\n<div [class.loading]=\"collection?.loading$ | async\"\n class=\"bb-collections-table-wrapper\">\n <div [collection]=\"collection\"\n class=\"bb-collections-table-container\"\n bb-collections-viewer>\n @if (collection?.loading$ | async) {\n <div class=\"bb-collections-table-loading\"></div>\n }\n <table *bbCollectionsData=\"let items = items; let loading = loading\">\n <ng-content select=\"thead\"></ng-content>\n @if (dataTemplate) {\n <ng-container\n *ngTemplateOutlet=\"dataTemplate; context: {items: $any(items), loading: loading}\"></ng-container>\n } @else {\n <tbody>\n @for (item of items; track (trackByProperty === null ? $index : item[trackByProperty])) {\n <ng-container\n *ngTemplateOutlet=\"dataRowTemplate; context: {$implicit: item, item: item}\"></ng-container>\n }\n </tbody>\n }\n <ng-content select=\"tfoot\"></ng-content>\n </table>\n <div *bbCollectionsEmpty=\"let query = query\"\n class=\"bb-collections-table-info\">\n <div class=\"bb-collections-table-image empty\"></div>\n @if (query?.length > 0) {\n <ng-template [bbTemplate]=\"noResultsContent\">\n <p [bb-localize-string]=\"$any(noResultsContent) ?? ('collection.no_results_label' | bbLocalize)\"\n class=\"bb-collections-table-info-text\">\n <strong *bbLocalizeTemplate=\"'query'\">{{ query ?? '...' }}</strong>\n </p>\n </ng-template>\n } @else {\n <ng-template [bbTemplate]=\"emptyContent\">\n <p class=\"bb-collections-table-info-text\">\n {{ $any(emptyContent) ?? ('collection.empty_label' | bbLocalize) }}\n </p>\n </ng-template>\n }\n </div>\n <div *bbCollectionsError=\"let error = error\"\n class=\"bb-collections-table-info\">\n <div class=\"bb-collections-table-image error\"></div>\n <ng-template [bbTemplate]=\"errorContent\">\n <p class=\"bb-collections-table-info-text\">\n {{ $any(errorContent) ?? ('collection.error_label' | bbLocalize) }}\n </p>\n </ng-template>\n </div>\n <div *bbCollectionsInitial\n class=\"bb-collections-table-info\">\n <bb-spinner class=\"block\"></bb-spinner>\n </div>\n </div>\n</div>\n\n@if (!hidePager) {\n <footer class=\"bb-collections-table-footer\">\n <bb-collections-pager [collection]=\"collection\"></bb-collections-pager>\n </footer>\n}\n", styles: ["@charset \"UTF-8\";.bb-collections-table{color:#111;display:block;position:relative;font-size:.875rem;border-radius:.5rem;background-color:#fff;box-shadow:0 .375rem .375rem -.375rem #0000001a}.bb-collections-table>*:first-child{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.bb-collections-table>*:last-child{border-bottom-left-radius:.5rem;border-bottom-right-radius:.5rem}.bb-collections-table.include-vertical-lines td:not(:last-child),.bb-collections-table.include-vertical-lines th:not(:last-child){border-right:1px solid hsl(213,8%,90%)}.bb-collections-table-footer{padding:.75rem 1rem;background-color:#fbf9f9;border-top:1px solid hsl(213,8%,90%)}.bb-collections-table-wrapper{overflow:hidden;position:relative}.bb-collections-table-wrapper.loading:after{top:0;left:0;right:0;z-index:1;opacity:0;content:\"\";display:block;height:.25rem;position:absolute;will-change:left,right;background-color:var(--bb-collections-table-loader-color);animation:collectionsFadeIn .12s cubic-bezier(.65,.815,.735,.395) .4s forwards,collectionsIndeterminate 2.1s cubic-bezier(.65,.815,.735,.395) .4s infinite}.bb-collections-table-container{overflow-x:auto;position:relative}.bb-collections-table-container.loading>table>tbody,.bb-collections-table-container.loading>.bb-collections-table-info{animation:collectionsBlink 1s linear infinite}.bb-collections-table-container>table{width:100%}.bb-collections-table-container>table th,.bb-collections-table-container>table td{padding:1rem;text-align:left;font-weight:400;font-size:.875rem}.bb-collections-table-container>table th.fit,.bb-collections-table-container>table td.fit{width:1%;white-space:nowrap}.bb-collections-table-container>table th.left,.bb-collections-table-container>table td.left{text-align:left}.bb-collections-table-container>table th.right,.bb-collections-table-container>table td.right{text-align:right}.bb-collections-table-container>table>thead{background-color:#fbf9f9;border-bottom:1px solid hsl(213,8%,90%)}.bb-collections-table-container>table>thead>tr>th{padding:1rem;color:#525252}.bb-collections-table-container>table>tbody>tr>td{color:#111}.bb-collections-table-container>table>tbody>tr:not(:last-child){border-bottom:1px solid hsl(213,8%,90%)}.bb-collections-table-info{padding:3rem 1.5rem}.bb-collections-table-info-text{color:#525252;margin:0 auto;display:block;line-height:2;max-width:30rem;text-align:center;font-size:.875rem}.bb-collections-table-info-text>strong{font-weight:500}.bb-collections-table-info-text>strong:before{content:\"\\201c\"}.bb-collections-table-info-text>strong:after{content:\"\\201d\"}.bb-collections-table-image{width:100%;height:auto;display:flex;max-width:7.5rem;margin:0 auto 1.5rem;background-size:contain;background-repeat:no-repeat;background-position:center center}.bb-collections-table-image.empty{aspect-ratio:154/132;mask-image:linear-gradient(to bottom,black 25%,transparent 100%);background-image:url('data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 154 132\"%3E%3Cg fill=\"none\" fill-rule=\"evenodd\"%3E%3Crect width=\"154\" height=\"40\" fill=\"%23FFF\" fill-rule=\"nonzero\" rx=\"8\"/%3E%3Crect width=\"24\" height=\"24\" x=\"8\" y=\"8\" fill=\"%23E5E7EB\" fill-rule=\"nonzero\" rx=\"4\"/%3E%3Crect width=\"60\" height=\"6\" x=\"40\" y=\"11\" fill=\"%23E5E7EB\" fill-rule=\"nonzero\" rx=\"3\"/%3E%3Crect width=\"106\" height=\"6\" x=\"40\" y=\"23\" fill=\"%23E5E7EB\" fill-rule=\"nonzero\" rx=\"3\"/%3E%3Crect width=\"153\" height=\"39\" x=\".5\" y=\".5\" stroke=\"%23E5E7EB\" rx=\"7.5\"/%3E%3Cg transform=\"translate(0 46)\"%3E%3Crect width=\"154\" height=\"40\" fill=\"%23FFF\" fill-rule=\"nonzero\" rx=\"8\"/%3E%3Crect width=\"24\" height=\"24\" x=\"8\" y=\"8\" fill=\"%23E5E7EB\" fill-rule=\"nonzero\" rx=\"4\"/%3E%3Crect width=\"60\" height=\"6\" x=\"40\" y=\"11\" fill=\"%23E5E7EB\" fill-rule=\"nonzero\" rx=\"3\"/%3E%3Crect width=\"106\" height=\"6\" x=\"40\" y=\"23\" fill=\"%23E5E7EB\" fill-rule=\"nonzero\" rx=\"3\"/%3E%3Crect width=\"153\" height=\"39\" x=\".5\" y=\".5\" stroke=\"%23E5E7EB\" rx=\"7.5\"/%3E%3C/g%3E%3Cg transform=\"translate(0 92)\"%3E%3Crect width=\"154\" height=\"40\" fill=\"%23FFF\" fill-rule=\"nonzero\" rx=\"8\"/%3E%3Crect width=\"24\" height=\"24\" x=\"8\" y=\"8\" fill=\"%23E5E7EB\" fill-rule=\"nonzero\" rx=\"4\"/%3E%3Crect width=\"60\" height=\"6\" x=\"40\" y=\"11\" fill=\"%23E5E7EB\" fill-rule=\"nonzero\" rx=\"3\"/%3E%3Crect width=\"106\" height=\"6\" x=\"40\" y=\"23\" fill=\"%23E5E7EB\" fill-rule=\"nonzero\" rx=\"3\"/%3E%3Crect width=\"153\" height=\"39\" x=\".5\" y=\".5\" stroke=\"%23E5E7EB\" rx=\"7.5\"/%3E%3C/g%3E%3C/g%3E%3C/svg%3E')}.bb-collections-table-image.error{max-width:4rem;aspect-ratio:1;background-image:url('data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 132 132\"%3E%3Cpath fill=\"%23C23934\" d=\"M65.958253 98.6024096c.8892771 0 1.6486747-.3008433 2.2781928-.9025301.6295181-.6016867.9442771-1.3471687.9442771-2.2364458 0-.8892771-.3008434-1.6486747-.9025301-2.2781927-.6016868-.6295181-1.3471687-.9442771-2.2364458-.9442771-.8892771 0-1.6486747.3008433-2.2781928.9025301-.6295181.6016867-.9442771 1.3471687-.9442771 2.2364458 0 .8892771.3008434 1.6486747.9025301 2.2781927.6016868.6295181 1.3471687.9442771 2.2364458.9442771Zm-1.9462048-21.4698795h3.9759036V29.4216867h-3.9759036v47.7108434ZM66.0894578 132c-9.0716867 0-17.6205421-1.715602-25.6465662-5.146807-8.0260241-3.431205-15.0547591-8.159217-21.0862049-14.184036-6.032771-6.02482-10.76674694-13.0416269-14.20192766-21.0504221C1.71825301 83.6086145 0 75.0504819 0 65.9443373 0 56.8368675 1.71560241 48.303253 5.14680723 40.343494c3.43120482-7.9597591 8.15921687-14.9553615 14.18403617-20.9868073 6.0248193-6.032771 13.0416265-10.76674694 21.0504217-14.20192766C48.3913855 1.71825301 56.9495181 0 66.0556627 0 75.1631325 0 83.696747 1.71560241 91.656506 5.14680723c7.9597591 3.43120482 14.955361 8.15921687 20.986807 14.18403617 6.032771 6.0248193 10.766747 13.0263855 14.201928 21.0046988C130.281747 48.3138554 132 56.8388554 132 65.9105422c0 9.0716867-1.715602 17.6205421-5.146807 25.6465662-3.431205 8.0260241-8.159217 15.0547586-14.184036 21.0862046-6.02482 6.032771-13.0263859 10.766747-21.0046992 14.201928C83.6861446 130.281747 75.1611446 132 66.0894578 132ZM66 128.024096c17.2289157 0 31.873494-6.03012 43.933735-18.090361C121.993976 97.873494 128.024096 83.2289157 128.024096 66c0-17.2289157-6.03012-31.873494-18.090361-43.9337349C97.873494 10.0060241 83.2289157 3.97590361 66 3.97590361c-17.2289157 0-31.873494 6.03012049-43.9337349 18.09036149C10.0060241 34.126506 3.97590361 48.7710843 3.97590361 66c0 17.2289157 6.03012049 31.873494 18.09036149 43.933735C34.126506 121.993976 48.7710843 128.024096 66 128.024096Z\"/%3E%3C/svg%3E')}@keyframes collectionsFadeIn{0%{opacity:0}to{opacity:1}}@keyframes collectionsIndeterminate{0%{left:-35%;right:100%}60%{left:100%;right:-90%}to{left:100%;right:-90%}}@keyframes collectionsBlink{25%{opacity:.6}50%{opacity:.4}75%{opacity:.6}}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: BbCollectionsViewer, selector: "[bb-collections-viewer]", inputs: ["collection"] }, { kind: "directive", type: BbCollectionsData, selector: "ng-template[bbCollectionsData]" }, { kind: "directive", type: BbCollectionsEmpty, selector: "ng-template[bbCollectionsEmpty]" }, { kind: "directive", type: BbCollectionsError, selector: "ng-template[bbCollectionsError]" }, { kind: "directive", type: BbCollectionsInitial, selector: "ng-template[bbCollectionsInitial]" }, { kind: "component", type: BbCollectionsActions, selector: "bb-collections-actions", inputs: ["collection", "queryPlaceholder", "standalone"] }, { kind: "component", type: BbCollectionsPager, selector: "bb-collections-pager", inputs: ["maxAmountOfButtons", "collection"] }, { kind: "component", type: BbLocalizeString, selector: "[bb-localize-string]", inputs: ["substitutions", "bb-localize-string"] }, { kind: "directive", type: BbTemplate, selector: "[bbTemplate]", inputs: ["bbTemplate"] }, { kind: "pipe", type: BbLocalize, name: "bbLocalize" }, { kind: "directive", type: BbLocalizeTemplate, selector: "ng-template[bbLocalizeTemplate]", inputs: ["bbLocalizeTemplate"] }, { kind: "component", type: BbSpinner, selector: "bb-spinner", inputs: ["color", "alt", "disabled"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
602
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.3", ngImport: i0, type: BbCollectionsTable, deps: [], target: i0.ɵɵFactoryTarget.Component });
603
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.3", type: BbCollectionsTable, isStandalone: true, selector: "bb-collections-table", inputs: { queryPlaceholder: "queryPlaceholder", emptyContent: "emptyContent", noResultsContent: "noResultsContent", errorContent: "errorContent", trackByProperty: "trackByProperty", includeVerticalLines: ["includeVerticalLines", "includeVerticalLines", booleanAttribute], hideActions: ["hideActions", "hideActions", booleanAttribute], hidePager: ["hidePager", "hidePager", booleanAttribute], collection: "collection" }, host: { properties: { "class.include-vertical-lines": "includeVerticalLines" }, classAttribute: "bb-collections-table" }, queries: [{ propertyName: "dataTemplate", first: true, predicate: BbCollectionsData, descendants: true, read: TemplateRef }, { propertyName: "dataRowTemplate", first: true, predicate: BbCollectionsDataRow, descendants: true, read: TemplateRef }], ngImport: i0, template: "@if (!hideActions) {\n <bb-collections-actions [collection]=\"collection\"\n [queryPlaceholder]=\"queryPlaceholder\">\n <ng-content ngProjectAs=\"[data-collections-action]\"\n select=\"[data-collections-action]\"></ng-content>\n <ng-content ngProjectAs=\"[data-collections-row]\"\n select=\"[data-collections-row]\"></ng-content>\n </bb-collections-actions>\n}\n\n<div [class.loading]=\"collection?.loading$ | async\"\n class=\"bb-collections-table-wrapper\">\n <div [collection]=\"collection\"\n class=\"bb-collections-table-container\"\n bb-collections-viewer>\n @if (collection?.loading$ | async) {\n <div class=\"bb-collections-table-loading\"></div>\n }\n <table *bbCollectionsData=\"let items = items; let loading = loading\">\n <ng-content select=\"thead\"></ng-content>\n @if (dataTemplate) {\n <ng-container\n *ngTemplateOutlet=\"dataTemplate; context: {items: $any(items), loading: loading}\"></ng-container>\n } @else {\n <tbody>\n @for (item of items; track (trackByProperty === null ? $index : item[trackByProperty])) {\n <ng-container\n *ngTemplateOutlet=\"dataRowTemplate; context: {$implicit: item, item: item}\"></ng-container>\n }\n </tbody>\n }\n <ng-content select=\"tfoot\"></ng-content>\n </table>\n <div *bbCollectionsEmpty=\"let query = query\"\n class=\"bb-collections-table-info\">\n <div class=\"bb-collections-table-image empty\"></div>\n @if (query?.length > 0) {\n <ng-template [bbTemplate]=\"noResultsContent\">\n <p [bb-localize-string]=\"$any(noResultsContent) ?? ('collection.no_results_label' | bbLocalize)\"\n class=\"bb-collections-table-info-text\">\n <strong *bbLocalizeTemplate=\"'query'\">{{ query ?? '...' }}</strong>\n </p>\n </ng-template>\n } @else {\n <ng-template [bbTemplate]=\"emptyContent\">\n <p class=\"bb-collections-table-info-text\">\n {{ $any(emptyContent) ?? ('collection.empty_label' | bbLocalize) }}\n </p>\n </ng-template>\n }\n </div>\n <div *bbCollectionsError=\"let error = error\"\n class=\"bb-collections-table-info\">\n <div class=\"bb-collections-table-image error\"></div>\n <ng-template [bbTemplate]=\"errorContent\">\n <p class=\"bb-collections-table-info-text\">\n {{ $any(errorContent) ?? ('collection.error_label' | bbLocalize) }}\n </p>\n </ng-template>\n </div>\n <div *bbCollectionsInitial\n class=\"bb-collections-table-info\">\n <bb-spinner class=\"block\"></bb-spinner>\n </div>\n </div>\n</div>\n\n@if (!hidePager) {\n <footer class=\"bb-collections-table-footer\">\n <bb-collections-pager [collection]=\"collection\"></bb-collections-pager>\n </footer>\n}\n", styles: ["@charset \"UTF-8\";.bb-collections-table{color:#111;display:block;position:relative;font-size:.875rem;border-radius:.5rem;background-color:#fff;box-shadow:0 .375rem .375rem -.375rem #0000001a}.bb-collections-table>*:first-child{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.bb-collections-table>*:last-child{border-bottom-left-radius:.5rem;border-bottom-right-radius:.5rem}.bb-collections-table.include-vertical-lines td:not(:last-child),.bb-collections-table.include-vertical-lines th:not(:last-child){border-right:1px solid hsl(213,8%,90%)}.bb-collections-table-footer{padding:.75rem 1rem;background-color:#fbf9f9;border-top:1px solid hsl(213,8%,90%)}.bb-collections-table-wrapper{overflow:hidden;position:relative}.bb-collections-table-wrapper.loading:after{top:0;left:0;right:0;z-index:1;opacity:0;content:\"\";display:block;height:.25rem;position:absolute;will-change:left,right;background-color:var(--bb-collections-table-loader-color);animation:collectionsFadeIn .12s cubic-bezier(.65,.815,.735,.395) .4s forwards,collectionsIndeterminate 2.1s cubic-bezier(.65,.815,.735,.395) .4s infinite}.bb-collections-table-container{overflow-x:auto;position:relative}.bb-collections-table-container.loading>table>tbody,.bb-collections-table-container.loading>.bb-collections-table-info{animation:collectionsBlink 1s linear infinite}.bb-collections-table-container>table{width:100%}.bb-collections-table-container>table th,.bb-collections-table-container>table td{padding:1rem;text-align:left;font-weight:400;font-size:.875rem}.bb-collections-table-container>table th.fit,.bb-collections-table-container>table td.fit{width:1%;white-space:nowrap}.bb-collections-table-container>table th.left,.bb-collections-table-container>table td.left{text-align:left}.bb-collections-table-container>table th.right,.bb-collections-table-container>table td.right{text-align:right}.bb-collections-table-container>table>thead{background-color:#fbf9f9;border-bottom:1px solid hsl(213,8%,90%)}.bb-collections-table-container>table>thead>tr>th{padding:1rem;color:#525252}.bb-collections-table-container>table>tbody>tr>td{color:#111}.bb-collections-table-container>table>tbody>tr:not(:last-child){border-bottom:1px solid hsl(213,8%,90%)}.bb-collections-table-info{padding:3rem 1.5rem}.bb-collections-table-info-text{color:#525252;margin:0 auto;display:block;line-height:2;max-width:30rem;text-align:center;font-size:.875rem}.bb-collections-table-info-text>strong{font-weight:500}.bb-collections-table-info-text>strong:before{content:\"\\201c\"}.bb-collections-table-info-text>strong:after{content:\"\\201d\"}.bb-collections-table-image{width:100%;height:auto;display:flex;max-width:7.5rem;margin:0 auto 1.5rem;background-size:contain;background-repeat:no-repeat;background-position:center center}.bb-collections-table-image.empty{aspect-ratio:154/132;mask-image:linear-gradient(to bottom,black 25%,transparent 100%);background-image:url('data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 154 132\"%3E%3Cg fill=\"none\" fill-rule=\"evenodd\"%3E%3Crect width=\"154\" height=\"40\" fill=\"%23FFF\" fill-rule=\"nonzero\" rx=\"8\"/%3E%3Crect width=\"24\" height=\"24\" x=\"8\" y=\"8\" fill=\"%23E5E7EB\" fill-rule=\"nonzero\" rx=\"4\"/%3E%3Crect width=\"60\" height=\"6\" x=\"40\" y=\"11\" fill=\"%23E5E7EB\" fill-rule=\"nonzero\" rx=\"3\"/%3E%3Crect width=\"106\" height=\"6\" x=\"40\" y=\"23\" fill=\"%23E5E7EB\" fill-rule=\"nonzero\" rx=\"3\"/%3E%3Crect width=\"153\" height=\"39\" x=\".5\" y=\".5\" stroke=\"%23E5E7EB\" rx=\"7.5\"/%3E%3Cg transform=\"translate(0 46)\"%3E%3Crect width=\"154\" height=\"40\" fill=\"%23FFF\" fill-rule=\"nonzero\" rx=\"8\"/%3E%3Crect width=\"24\" height=\"24\" x=\"8\" y=\"8\" fill=\"%23E5E7EB\" fill-rule=\"nonzero\" rx=\"4\"/%3E%3Crect width=\"60\" height=\"6\" x=\"40\" y=\"11\" fill=\"%23E5E7EB\" fill-rule=\"nonzero\" rx=\"3\"/%3E%3Crect width=\"106\" height=\"6\" x=\"40\" y=\"23\" fill=\"%23E5E7EB\" fill-rule=\"nonzero\" rx=\"3\"/%3E%3Crect width=\"153\" height=\"39\" x=\".5\" y=\".5\" stroke=\"%23E5E7EB\" rx=\"7.5\"/%3E%3C/g%3E%3Cg transform=\"translate(0 92)\"%3E%3Crect width=\"154\" height=\"40\" fill=\"%23FFF\" fill-rule=\"nonzero\" rx=\"8\"/%3E%3Crect width=\"24\" height=\"24\" x=\"8\" y=\"8\" fill=\"%23E5E7EB\" fill-rule=\"nonzero\" rx=\"4\"/%3E%3Crect width=\"60\" height=\"6\" x=\"40\" y=\"11\" fill=\"%23E5E7EB\" fill-rule=\"nonzero\" rx=\"3\"/%3E%3Crect width=\"106\" height=\"6\" x=\"40\" y=\"23\" fill=\"%23E5E7EB\" fill-rule=\"nonzero\" rx=\"3\"/%3E%3Crect width=\"153\" height=\"39\" x=\".5\" y=\".5\" stroke=\"%23E5E7EB\" rx=\"7.5\"/%3E%3C/g%3E%3C/g%3E%3C/svg%3E')}.bb-collections-table-image.error{max-width:4rem;aspect-ratio:1;background-image:url('data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 132 132\"%3E%3Cpath fill=\"%23C23934\" d=\"M65.958253 98.6024096c.8892771 0 1.6486747-.3008433 2.2781928-.9025301.6295181-.6016867.9442771-1.3471687.9442771-2.2364458 0-.8892771-.3008434-1.6486747-.9025301-2.2781927-.6016868-.6295181-1.3471687-.9442771-2.2364458-.9442771-.8892771 0-1.6486747.3008433-2.2781928.9025301-.6295181.6016867-.9442771 1.3471687-.9442771 2.2364458 0 .8892771.3008434 1.6486747.9025301 2.2781927.6016868.6295181 1.3471687.9442771 2.2364458.9442771Zm-1.9462048-21.4698795h3.9759036V29.4216867h-3.9759036v47.7108434ZM66.0894578 132c-9.0716867 0-17.6205421-1.715602-25.6465662-5.146807-8.0260241-3.431205-15.0547591-8.159217-21.0862049-14.184036-6.032771-6.02482-10.76674694-13.0416269-14.20192766-21.0504221C1.71825301 83.6086145 0 75.0504819 0 65.9443373 0 56.8368675 1.71560241 48.303253 5.14680723 40.343494c3.43120482-7.9597591 8.15921687-14.9553615 14.18403617-20.9868073 6.0248193-6.032771 13.0416265-10.76674694 21.0504217-14.20192766C48.3913855 1.71825301 56.9495181 0 66.0556627 0 75.1631325 0 83.696747 1.71560241 91.656506 5.14680723c7.9597591 3.43120482 14.955361 8.15921687 20.986807 14.18403617 6.032771 6.0248193 10.766747 13.0263855 14.201928 21.0046988C130.281747 48.3138554 132 56.8388554 132 65.9105422c0 9.0716867-1.715602 17.6205421-5.146807 25.6465662-3.431205 8.0260241-8.159217 15.0547586-14.184036 21.0862046-6.02482 6.032771-13.0263859 10.766747-21.0046992 14.201928C83.6861446 130.281747 75.1611446 132 66.0894578 132ZM66 128.024096c17.2289157 0 31.873494-6.03012 43.933735-18.090361C121.993976 97.873494 128.024096 83.2289157 128.024096 66c0-17.2289157-6.03012-31.873494-18.090361-43.9337349C97.873494 10.0060241 83.2289157 3.97590361 66 3.97590361c-17.2289157 0-31.873494 6.03012049-43.9337349 18.09036149C10.0060241 34.126506 3.97590361 48.7710843 3.97590361 66c0 17.2289157 6.03012049 31.873494 18.09036149 43.933735C34.126506 121.993976 48.7710843 128.024096 66 128.024096Z\"/%3E%3C/svg%3E')}@keyframes collectionsFadeIn{0%{opacity:0}to{opacity:1}}@keyframes collectionsIndeterminate{0%{left:-35%;right:100%}60%{left:100%;right:-90%}to{left:100%;right:-90%}}@keyframes collectionsBlink{25%{opacity:.6}50%{opacity:.4}75%{opacity:.6}}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: BbCollectionsViewer, selector: "[bb-collections-viewer]", inputs: ["collection"] }, { kind: "directive", type: BbCollectionsData, selector: "ng-template[bbCollectionsData]" }, { kind: "directive", type: BbCollectionsEmpty, selector: "ng-template[bbCollectionsEmpty]" }, { kind: "directive", type: BbCollectionsError, selector: "ng-template[bbCollectionsError]" }, { kind: "directive", type: BbCollectionsInitial, selector: "ng-template[bbCollectionsInitial]" }, { kind: "component", type: BbCollectionsActions, selector: "bb-collections-actions", inputs: ["collection", "queryPlaceholder", "standalone"] }, { kind: "component", type: BbCollectionsPager, selector: "bb-collections-pager", inputs: ["maxAmountOfButtons", "collection"] }, { kind: "component", type: BbLocalizeString, selector: "[bb-localize-string]", inputs: ["substitutions", "bb-localize-string"] }, { kind: "directive", type: BbTemplate, selector: "[bbTemplate]", inputs: ["bbTemplate"] }, { kind: "pipe", type: BbLocalize, name: "bbLocalize" }, { kind: "directive", type: BbLocalizeTemplate, selector: "ng-template[bbLocalizeTemplate]", inputs: ["bbLocalizeTemplate"] }, { kind: "component", type: BbSpinner, selector: "bb-spinner", inputs: ["color", "alt", "disabled"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
604
604
  }
605
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: BbCollectionsTable, decorators: [{
605
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.3", ngImport: i0, type: BbCollectionsTable, decorators: [{
606
606
  type: Component,
607
607
  args: [{ selector: 'bb-collections-table', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
608
608
  'class': 'bb-collections-table',
@@ -692,10 +692,10 @@ class BbCollectionsTableSorting {
692
692
  const newIndex = (index + 1) % this.orderedOptions?.length;
693
693
  return this.orderedOptions?.[newIndex] ?? null;
694
694
  }
695
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: BbCollectionsTableSorting, deps: [{ token: 'bb-collections-table-sorting', attribute: true }, { token: i0.ChangeDetectorRef }, { token: BbCollectionsTable, optional: true }], target: i0.ɵɵFactoryTarget.Component });
696
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.1", type: BbCollectionsTableSorting, isStandalone: true, selector: "th[bb-collections-table-sorting]", host: { listeners: { "click": "onClick()" }, properties: { "class.asc": "direction === 'asc'", "class.desc": "direction === 'desc'" }, classAttribute: "bb-collections-table-sorting" }, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [".bb-collections-table-sorting{cursor:pointer;-webkit-user-select:none;user-select:none;background-image:url('data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 9 15\" width=\"9\" height=\"15\"%3E%3Cpath fill=\"%23dcdcdc\" d=\"M4.5 0L0 7h9z\"%3E%3C/path%3E%3Cpath fill=\"%23dcdcdc\" d=\"M4.5 15L9 8H0z\"%3E%3C/path%3E%3C/svg%3E');background-repeat:no-repeat;padding-right:2.5rem!important;background-size:.5625rem .9375rem;background-position:center right 1rem;transition:background-color .2s cubic-bezier(0,0,.2,1)}.bb-collections-table-sorting:hover,.bb-collections-table-sorting:focus{background-color:#f4f0f0}.bb-collections-table-sorting:active{background-color:#f0ebeb}.bb-collections-table-sorting.asc{background-image:url('data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 9 15\" width=\"9\" height=\"15\"%3E%3Cpath fill=\"black\" d=\"M4.5 0L0 7h9z\"%3E%3C/path%3E%3Cpath fill=\"%23dcdcdc\" d=\"M4.5 15L9 8H0z\"%3E%3C/path%3E%3C/svg%3E')}.bb-collections-table-sorting.desc{background-image:url('data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 9 15\" width=\"9\" height=\"15\"%3E%3Cpath fill=\"%23dcdcdc\" d=\"M4.5 0L0 7h9z\"%3E%3C/path%3E%3Cpath fill=\"black\" d=\"M4.5 15L9 8H0z\"%3E%3C/path%3E%3C/svg%3E')}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
695
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.3", ngImport: i0, type: BbCollectionsTableSorting, deps: [{ token: 'bb-collections-table-sorting', attribute: true }, { token: i0.ChangeDetectorRef }, { token: BbCollectionsTable, optional: true }], target: i0.ɵɵFactoryTarget.Component });
696
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.3", type: BbCollectionsTableSorting, isStandalone: true, selector: "th[bb-collections-table-sorting]", host: { listeners: { "click": "onClick()" }, properties: { "class.asc": "direction === 'asc'", "class.desc": "direction === 'desc'" }, classAttribute: "bb-collections-table-sorting" }, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [".bb-collections-table-sorting{cursor:pointer;-webkit-user-select:none;user-select:none;background-image:url('data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 9 15\" width=\"9\" height=\"15\"%3E%3Cpath fill=\"%23dcdcdc\" d=\"M4.5 0L0 7h9z\"%3E%3C/path%3E%3Cpath fill=\"%23dcdcdc\" d=\"M4.5 15L9 8H0z\"%3E%3C/path%3E%3C/svg%3E');background-repeat:no-repeat;padding-right:2.5rem!important;background-size:.5625rem .9375rem;background-position:center right 1rem;transition:background-color .2s cubic-bezier(0,0,.2,1)}.bb-collections-table-sorting:hover,.bb-collections-table-sorting:focus{background-color:#f4f0f0}.bb-collections-table-sorting:active{background-color:#f0ebeb}.bb-collections-table-sorting.asc{background-image:url('data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 9 15\" width=\"9\" height=\"15\"%3E%3Cpath fill=\"black\" d=\"M4.5 0L0 7h9z\"%3E%3C/path%3E%3Cpath fill=\"%23dcdcdc\" d=\"M4.5 15L9 8H0z\"%3E%3C/path%3E%3C/svg%3E')}.bb-collections-table-sorting.desc{background-image:url('data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 9 15\" width=\"9\" height=\"15\"%3E%3Cpath fill=\"%23dcdcdc\" d=\"M4.5 0L0 7h9z\"%3E%3C/path%3E%3Cpath fill=\"black\" d=\"M4.5 15L9 8H0z\"%3E%3C/path%3E%3C/svg%3E')}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
697
697
  }
698
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: BbCollectionsTableSorting, decorators: [{
698
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.3", ngImport: i0, type: BbCollectionsTableSorting, decorators: [{
699
699
  type: Component,
700
700
  args: [{ selector: 'th[bb-collections-table-sorting]', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
701
701
  'class': 'bb-collections-table-sorting',
@@ -719,10 +719,10 @@ class BbCollectionsTableLabel {
719
719
  imageUrl = null;
720
720
  alt = null;
721
721
  type = 'image';
722
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: BbCollectionsTableLabel, deps: [], target: i0.ɵɵFactoryTarget.Component });
723
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.1", type: BbCollectionsTableLabel, isStandalone: true, selector: "[bb-collections-table-label]", inputs: { titleLabel: "titleLabel", descriptionLabel: "descriptionLabel", imageUrl: "imageUrl", alt: "alt", type: "type" }, host: { classAttribute: "bb-collections-table-label" }, ngImport: i0, template: "@switch (type) {\n @case ('avatar') {\n <bb-avatar [title]=\"alt ?? '...'\"\n [src]=\"imageUrl\"\n size=\"2\"\n class=\"bb-collections-table-label-avatar\">\n </bb-avatar>\n }\n @case ('content') {\n <ng-content></ng-content>\n }\n @default {\n @if (imageUrl; as src) {\n <div [style.background-image]=\"'url(' + src + ')'\"\n class=\"bb-collections-table-label-image\"></div>\n }\n }\n}\n\n<div class=\"bb-collections-table-label-content\">\n <span class=\"bb-collections-table-label-title\"><ng-template\n [bbTemplate]=\"titleLabel\">{{ titleLabel }}</ng-template></span>\n @if (descriptionLabel; as descriptionContent) {\n <small class=\"bb-collections-table-label-description\">\n <ng-template [bbTemplate]=\"descriptionContent\">{{ descriptionContent }}</ng-template>\n </small>\n }\n</div>\n", styles: [".bb-collections-table-label{align-items:center;display:inline-flex}a.bb-collections-table-label{text-decoration:none}a.bb-collections-table-label>.bb-collections-table-label-content>.bb-collections-table-label-title,a.bb-collections-table-label:visited>.bb-collections-table-label-content>.bb-collections-table-label-title{text-decoration-style:dotted;text-underline-offset:.25rem;text-decoration-thickness:1px;text-decoration-line:underline;color:var(--bb-collections-table-label-color)}a.bb-collections-table-label>.bb-collections-table-label-content>.bb-collections-table-label-description,a.bb-collections-table-label:visited>.bb-collections-table-label-content>.bb-collections-table-label-description{color:#758795}a.bb-collections-table-label:hover>.bb-collections-table-label-content>.bb-collections-table-label-title,a.bb-collections-table-label:focus>.bb-collections-table-label-content>.bb-collections-table-label-title{text-decoration-style:solid}.bb-collections-table-label-image,.bb-collections-table-label-avatar{width:2rem;height:2rem;min-width:2rem;min-height:2rem;margin-right:.5rem}.bb-collections-table-label-image{background-size:contain;background-repeat:no-repeat;background-position:center center}.bb-collections-table-label-content{display:block}.bb-collections-table-label-title{display:block;color:#111;line-height:1.6;font-size:.875rem}.bb-collections-table-label-description{display:block;line-height:1.6;margin-top:.25rem;font-size:.8125rem;color:#758795}\n"], dependencies: [{ kind: "component", type: BbAvatar, selector: "bb-avatar", inputs: ["size", "unit", "src", "title", "tintColor"] }, { kind: "directive", type: BbTemplate, selector: "[bbTemplate]", inputs: ["bbTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
722
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.3", ngImport: i0, type: BbCollectionsTableLabel, deps: [], target: i0.ɵɵFactoryTarget.Component });
723
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.3", type: BbCollectionsTableLabel, isStandalone: true, selector: "[bb-collections-table-label]", inputs: { titleLabel: "titleLabel", descriptionLabel: "descriptionLabel", imageUrl: "imageUrl", alt: "alt", type: "type" }, host: { classAttribute: "bb-collections-table-label" }, ngImport: i0, template: "@switch (type) {\n @case ('avatar') {\n <bb-avatar [title]=\"alt ?? '...'\"\n [src]=\"imageUrl\"\n size=\"2\"\n class=\"bb-collections-table-label-avatar\">\n </bb-avatar>\n }\n @case ('content') {\n <ng-content></ng-content>\n }\n @default {\n @if (imageUrl; as src) {\n <div [style.background-image]=\"'url(' + src + ')'\"\n class=\"bb-collections-table-label-image\"></div>\n }\n }\n}\n\n<div class=\"bb-collections-table-label-content\">\n <span class=\"bb-collections-table-label-title\"><ng-template\n [bbTemplate]=\"titleLabel\">{{ titleLabel }}</ng-template></span>\n @if (descriptionLabel; as descriptionContent) {\n <small class=\"bb-collections-table-label-description\">\n <ng-template [bbTemplate]=\"descriptionContent\">{{ descriptionContent }}</ng-template>\n </small>\n }\n</div>\n", styles: [".bb-collections-table-label{align-items:center;display:inline-flex}a.bb-collections-table-label{text-decoration:none}a.bb-collections-table-label>.bb-collections-table-label-content>.bb-collections-table-label-title,a.bb-collections-table-label:visited>.bb-collections-table-label-content>.bb-collections-table-label-title{text-decoration-style:dotted;text-underline-offset:.25rem;text-decoration-thickness:1px;text-decoration-line:underline;color:var(--bb-collections-table-label-color)}a.bb-collections-table-label>.bb-collections-table-label-content>.bb-collections-table-label-description,a.bb-collections-table-label:visited>.bb-collections-table-label-content>.bb-collections-table-label-description{color:#758795}a.bb-collections-table-label:hover>.bb-collections-table-label-content>.bb-collections-table-label-title,a.bb-collections-table-label:focus>.bb-collections-table-label-content>.bb-collections-table-label-title{text-decoration-style:solid}.bb-collections-table-label-image,.bb-collections-table-label-avatar{width:2rem;height:2rem;min-width:2rem;min-height:2rem;margin-right:.5rem}.bb-collections-table-label-image{background-size:contain;background-repeat:no-repeat;background-position:center center}.bb-collections-table-label-content{display:block}.bb-collections-table-label-title{display:block;color:#111;line-height:1.6;font-size:.875rem}.bb-collections-table-label-description{display:block;line-height:1.6;margin-top:.25rem;font-size:.8125rem;color:#758795}\n"], dependencies: [{ kind: "component", type: BbAvatar, selector: "bb-avatar", inputs: ["size", "unit", "src", "title", "tintColor"] }, { kind: "directive", type: BbTemplate, selector: "[bbTemplate]", inputs: ["bbTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
724
724
  }
725
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: BbCollectionsTableLabel, decorators: [{
725
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.3", ngImport: i0, type: BbCollectionsTableLabel, decorators: [{
726
726
  type: Component,
727
727
  args: [{ selector: '[bb-collections-table-label]', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { 'class': 'bb-collections-table-label' }, imports: [BbAvatar, BbTemplate], template: "@switch (type) {\n @case ('avatar') {\n <bb-avatar [title]=\"alt ?? '...'\"\n [src]=\"imageUrl\"\n size=\"2\"\n class=\"bb-collections-table-label-avatar\">\n </bb-avatar>\n }\n @case ('content') {\n <ng-content></ng-content>\n }\n @default {\n @if (imageUrl; as src) {\n <div [style.background-image]=\"'url(' + src + ')'\"\n class=\"bb-collections-table-label-image\"></div>\n }\n }\n}\n\n<div class=\"bb-collections-table-label-content\">\n <span class=\"bb-collections-table-label-title\"><ng-template\n [bbTemplate]=\"titleLabel\">{{ titleLabel }}</ng-template></span>\n @if (descriptionLabel; as descriptionContent) {\n <small class=\"bb-collections-table-label-description\">\n <ng-template [bbTemplate]=\"descriptionContent\">{{ descriptionContent }}</ng-template>\n </small>\n }\n</div>\n", styles: [".bb-collections-table-label{align-items:center;display:inline-flex}a.bb-collections-table-label{text-decoration:none}a.bb-collections-table-label>.bb-collections-table-label-content>.bb-collections-table-label-title,a.bb-collections-table-label:visited>.bb-collections-table-label-content>.bb-collections-table-label-title{text-decoration-style:dotted;text-underline-offset:.25rem;text-decoration-thickness:1px;text-decoration-line:underline;color:var(--bb-collections-table-label-color)}a.bb-collections-table-label>.bb-collections-table-label-content>.bb-collections-table-label-description,a.bb-collections-table-label:visited>.bb-collections-table-label-content>.bb-collections-table-label-description{color:#758795}a.bb-collections-table-label:hover>.bb-collections-table-label-content>.bb-collections-table-label-title,a.bb-collections-table-label:focus>.bb-collections-table-label-content>.bb-collections-table-label-title{text-decoration-style:solid}.bb-collections-table-label-image,.bb-collections-table-label-avatar{width:2rem;height:2rem;min-width:2rem;min-height:2rem;margin-right:.5rem}.bb-collections-table-label-image{background-size:contain;background-repeat:no-repeat;background-position:center center}.bb-collections-table-label-content{display:block}.bb-collections-table-label-title{display:block;color:#111;line-height:1.6;font-size:.875rem}.bb-collections-table-label-description{display:block;line-height:1.6;margin-top:.25rem;font-size:.8125rem;color:#758795}\n"] }]
728
728
  }], propDecorators: { titleLabel: [{
@@ -753,10 +753,10 @@ class BbCollectionsGrid {
753
753
  get collection() {
754
754
  return this.collection$.getValue();
755
755
  }
756
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: BbCollectionsGrid, deps: [], target: i0.ɵɵFactoryTarget.Component });
757
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.1", type: BbCollectionsGrid, isStandalone: true, selector: "bb-collections-grid", inputs: { queryPlaceholder: "queryPlaceholder", hideActions: ["hideActions", "hideActions", booleanAttribute], hidePager: ["hidePager", "hidePager", booleanAttribute], collection: "collection" }, host: { classAttribute: "bb-collections-grid" }, queries: [{ propertyName: "itemTemplate", first: true, predicate: BbCollectionsItem, descendants: true, read: TemplateRef }], ngImport: i0, template: "@if (!hideActions) {\n <bb-collections-actions [collection]=\"collection\"\n [queryPlaceholder]=\"queryPlaceholder\"\n standalone>\n <ng-content ngProjectAs=\"[data-collections-action]\"\n select=\"[data-collections-action]\"></ng-content>\n <ng-content ngProjectAs=\"[data-collections-row]\"\n select=\"[data-collections-row]\"></ng-content>\n </bb-collections-actions>\n}\n\n<div [collection]=\"collection\"\n class=\"bb-collections-grid-container\"\n bb-collections-viewer>\n <ul *bbCollectionsData=\"let items = items\"\n class=\"bb-collections-grid-list\">\n @for (item of items; track $index) {\n <li class=\"bb-collections-grid-item\">\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: {$implicit: item, item: item}\"></ng-container>\n </li>\n }\n </ul>\n</div>\n\n@if (!hidePager) {\n <footer class=\"bb-collections-grid-footer\">\n <bb-collections-pager [collection]=\"collection\"></bb-collections-pager>\n </footer>\n}\n", styles: [".bb-collections-grid{display:block}.bb-collections-grid-list{gap:1.5rem;display:flex;flex-wrap:wrap}.bb-collections-grid-item{width:100%;display:flex}.bb-collections-grid-footer{margin-top:1.5rem}\n"], dependencies: [{ kind: "directive", type: BbCollectionsData, selector: "ng-template[bbCollectionsData]" }, { kind: "component", type: BbCollectionsViewer, selector: "[bb-collections-viewer]", inputs: ["collection"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: BbCollectionsActions, selector: "bb-collections-actions", inputs: ["collection", "queryPlaceholder", "standalone"] }, { kind: "component", type: BbCollectionsPager, selector: "bb-collections-pager", inputs: ["maxAmountOfButtons", "collection"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
756
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.3", ngImport: i0, type: BbCollectionsGrid, deps: [], target: i0.ɵɵFactoryTarget.Component });
757
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.3", type: BbCollectionsGrid, isStandalone: true, selector: "bb-collections-grid", inputs: { queryPlaceholder: "queryPlaceholder", hideActions: ["hideActions", "hideActions", booleanAttribute], hidePager: ["hidePager", "hidePager", booleanAttribute], collection: "collection" }, host: { classAttribute: "bb-collections-grid" }, queries: [{ propertyName: "itemTemplate", first: true, predicate: BbCollectionsItem, descendants: true, read: TemplateRef }], ngImport: i0, template: "@if (!hideActions) {\n <bb-collections-actions [collection]=\"collection\"\n [queryPlaceholder]=\"queryPlaceholder\"\n standalone>\n <ng-content ngProjectAs=\"[data-collections-action]\"\n select=\"[data-collections-action]\"></ng-content>\n <ng-content ngProjectAs=\"[data-collections-row]\"\n select=\"[data-collections-row]\"></ng-content>\n </bb-collections-actions>\n}\n\n<div [collection]=\"collection\"\n class=\"bb-collections-grid-container\"\n bb-collections-viewer>\n <ul *bbCollectionsData=\"let items = items\"\n class=\"bb-collections-grid-list\">\n @for (item of items; track $index) {\n <li class=\"bb-collections-grid-item\">\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: {$implicit: item, item: item}\"></ng-container>\n </li>\n }\n </ul>\n</div>\n\n@if (!hidePager) {\n <footer class=\"bb-collections-grid-footer\">\n <bb-collections-pager [collection]=\"collection\"></bb-collections-pager>\n </footer>\n}\n", styles: [".bb-collections-grid{display:block}.bb-collections-grid-list{gap:1.5rem;display:flex;flex-wrap:wrap}.bb-collections-grid-item{width:100%;display:flex}.bb-collections-grid-footer{margin-top:1.5rem}\n"], dependencies: [{ kind: "directive", type: BbCollectionsData, selector: "ng-template[bbCollectionsData]" }, { kind: "component", type: BbCollectionsViewer, selector: "[bb-collections-viewer]", inputs: ["collection"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: BbCollectionsActions, selector: "bb-collections-actions", inputs: ["collection", "queryPlaceholder", "standalone"] }, { kind: "component", type: BbCollectionsPager, selector: "bb-collections-pager", inputs: ["maxAmountOfButtons", "collection"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
758
758
  }
759
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: BbCollectionsGrid, decorators: [{
759
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.3", ngImport: i0, type: BbCollectionsGrid, decorators: [{
760
760
  type: Component,
761
761
  args: [{ selector: 'bb-collections-grid', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { 'class': 'bb-collections-grid' }, imports: [
762
762
  BbCollectionsData,
@@ -883,8 +883,8 @@ class Collection {
883
883
  }
884
884
 
885
885
  class CollectionsModule {
886
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: CollectionsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
887
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.1", ngImport: i0, type: CollectionsModule, imports: [BbCollectionsViewer,
886
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.3", ngImport: i0, type: CollectionsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
887
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.3", ngImport: i0, type: CollectionsModule, imports: [BbCollectionsViewer,
888
888
  BbCollectionsPager,
889
889
  BbCollectionsTable,
890
890
  BbCollectionsTableSorting,
@@ -909,13 +909,13 @@ class CollectionsModule {
909
909
  BbCollectionsError,
910
910
  BbCollectionsInitial,
911
911
  BbCollectionsItem] });
912
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: CollectionsModule, imports: [BbCollectionsPager,
912
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.3", ngImport: i0, type: CollectionsModule, imports: [BbCollectionsPager,
913
913
  BbCollectionsTable,
914
914
  BbCollectionsTableLabel,
915
915
  BbCollectionsGrid,
916
916
  BbCollectionsActions] });
917
917
  }
918
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: CollectionsModule, decorators: [{
918
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.3", ngImport: i0, type: CollectionsModule, decorators: [{
919
919
  type: NgModule,
920
920
  args: [{
921
921
  imports: [
@@ -39,10 +39,10 @@ class BbComboboxPanel {
39
39
  this._combobox.select(item?.value ?? null);
40
40
  this._container.close();
41
41
  }
42
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: BbComboboxPanel, deps: [{ token: BbCombobox }, { token: BbComboboxContainer }], target: i0.ɵɵFactoryTarget.Component });
43
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.1", type: BbComboboxPanel, isStandalone: true, selector: "bb-combobox-panel", host: { attributes: { "role": "listbox" }, properties: { "@comboboxPanelAnimation": "this.animation" }, classAttribute: "bb-combobox-panel" }, hostDirectives: [{ directive: i3.CdkTrapFocus }], ngImport: i0, template: "@if (items$ | async; as items) {\n @for (item of items; track $index) {\n <div (click)=\"select(item)\"\n tabindex=\"0\"\n role=\"option\"\n class=\"bb-combobox-panel-item\">\n @if (optionTemplate) {\n <ng-container *ngTemplateOutlet=\"optionTemplate; context: {item: item}\"></ng-container>\n } @else {\n {{ item?.label }}\n }\n </div>\n }\n\n}\n", styles: [".bb-combobox-panel{width:100%;display:block;padding:.5rem;overflow-y:auto;overflow-x:hidden;border-radius:.5rem;background-color:#fff;box-shadow:#00000014 0 10px 40px 10px}.bb-combobox-panel-item{cursor:pointer;border-radius:.5rem;padding:.75rem 1.5rem}.bb-combobox-panel-item:hover,.bb-combobox-panel-item:focus{background-color:orange}.bb-combobox-panel-item:active{background-color:red}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], animations: [comboboxPanelAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
42
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.3", ngImport: i0, type: BbComboboxPanel, deps: [{ token: BbCombobox }, { token: BbComboboxContainer }], target: i0.ɵɵFactoryTarget.Component });
43
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.3", type: BbComboboxPanel, isStandalone: true, selector: "bb-combobox-panel", host: { attributes: { "role": "listbox" }, properties: { "@comboboxPanelAnimation": "this.animation" }, classAttribute: "bb-combobox-panel" }, hostDirectives: [{ directive: i3.CdkTrapFocus }], ngImport: i0, template: "@if (items$ | async; as items) {\n @for (item of items; track $index) {\n <div (click)=\"select(item)\"\n tabindex=\"0\"\n role=\"option\"\n class=\"bb-combobox-panel-item\">\n @if (optionTemplate) {\n <ng-container *ngTemplateOutlet=\"optionTemplate; context: {item: item}\"></ng-container>\n } @else {\n {{ item?.label }}\n }\n </div>\n }\n\n}\n", styles: [".bb-combobox-panel{width:100%;display:block;padding:.5rem;overflow-y:auto;overflow-x:hidden;border-radius:.5rem;background-color:#fff;box-shadow:#00000014 0 10px 40px 10px}.bb-combobox-panel-item{cursor:pointer;border-radius:.5rem;padding:.75rem 1.5rem}.bb-combobox-panel-item:hover,.bb-combobox-panel-item:focus{background-color:orange}.bb-combobox-panel-item:active{background-color:red}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], animations: [comboboxPanelAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
44
44
  }
45
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: BbComboboxPanel, decorators: [{
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.3", ngImport: i0, type: BbComboboxPanel, decorators: [{
46
46
  type: Component,
47
47
  args: [{ selector: 'bb-combobox-panel', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
48
48
  'class': 'bb-combobox-panel',
@@ -164,10 +164,10 @@ class BbComboboxContainer {
164
164
  const subscription = resize$.subscribe(() => this.resize());
165
165
  this._subscription.add(subscription);
166
166
  }
167
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: BbComboboxContainer, deps: [{ token: i1.Overlay }, { token: BbCombobox }, { token: i0.ViewContainerRef }, { token: i0.ElementRef }, { token: WINDOW, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
168
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.1", type: BbComboboxContainer, isStandalone: true, selector: "[bbComboboxContainer]", host: { listeners: { "click": "toggle()" } }, ngImport: i0 });
167
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.3", ngImport: i0, type: BbComboboxContainer, deps: [{ token: i1.Overlay }, { token: BbCombobox }, { token: i0.ViewContainerRef }, { token: i0.ElementRef }, { token: WINDOW, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
168
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.3", type: BbComboboxContainer, isStandalone: true, selector: "[bbComboboxContainer]", host: { listeners: { "click": "toggle()" } }, ngImport: i0 });
169
169
  }
170
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: BbComboboxContainer, decorators: [{
170
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.3", ngImport: i0, type: BbComboboxContainer, decorators: [{
171
171
  type: Directive,
172
172
  args: [{
173
173
  selector: '[bbComboboxContainer]'
@@ -186,10 +186,10 @@ class BbComboboxOption {
186
186
  static ngTemplateContextGuard(directive, context) {
187
187
  return true;
188
188
  }
189
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: BbComboboxOption, deps: [], target: i0.ɵɵFactoryTarget.Directive });
190
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.1", type: BbComboboxOption, isStandalone: true, selector: "ng-template[bbComboboxOption]", ngImport: i0 });
189
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.3", ngImport: i0, type: BbComboboxOption, deps: [], target: i0.ɵɵFactoryTarget.Directive });
190
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.3", type: BbComboboxOption, isStandalone: true, selector: "ng-template[bbComboboxOption]", ngImport: i0 });
191
191
  }
192
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: BbComboboxOption, decorators: [{
192
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.3", ngImport: i0, type: BbComboboxOption, decorators: [{
193
193
  type: Directive,
194
194
  args: [{
195
195
  selector: 'ng-template[bbComboboxOption]'
@@ -197,10 +197,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImpor
197
197
  }] });
198
198
 
199
199
  class BbComboboxLabel {
200
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: BbComboboxLabel, deps: [], target: i0.ɵɵFactoryTarget.Directive });
201
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.1", type: BbComboboxLabel, isStandalone: true, selector: "[bbComboboxLabel]", ngImport: i0 });
200
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.3", ngImport: i0, type: BbComboboxLabel, deps: [], target: i0.ɵɵFactoryTarget.Directive });
201
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.3", type: BbComboboxLabel, isStandalone: true, selector: "[bbComboboxLabel]", ngImport: i0 });
202
202
  }
203
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: BbComboboxLabel, decorators: [{
203
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.3", ngImport: i0, type: BbComboboxLabel, decorators: [{
204
204
  type: Directive,
205
205
  args: [{
206
206
  selector: '[bbComboboxLabel]'
@@ -286,12 +286,12 @@ class BbCombobox {
286
286
  this.onChange?.(this.value);
287
287
  this.valueChange.emit(this.value);
288
288
  }
289
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: BbCombobox, deps: [], target: i0.ɵɵFactoryTarget.Component });
290
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.2.1", type: BbCombobox, isStandalone: true, selector: "bb-combobox", inputs: { value: "value", bindLabel: "bindLabel", bindValue: "bindValue", disabled: ["disabled", "disabled", booleanAttribute], data: "data" }, outputs: { valueChange: "valueChange" }, host: { classAttribute: "bb-combobox" }, providers: [
289
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.3", ngImport: i0, type: BbCombobox, deps: [], target: i0.ɵɵFactoryTarget.Component });
290
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.2.3", type: BbCombobox, isStandalone: true, selector: "bb-combobox", inputs: { value: "value", bindLabel: "bindLabel", bindValue: "bindValue", disabled: ["disabled", "disabled", booleanAttribute], data: "data" }, outputs: { valueChange: "valueChange" }, host: { classAttribute: "bb-combobox" }, providers: [
291
291
  { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => BbCombobox), multi: true }
292
292
  ], queries: [{ propertyName: "labelComponent", first: true, predicate: BbComboboxLabel, descendants: true, read: TemplateRef }, { propertyName: "optionTemplate", first: true, predicate: BbComboboxOption, descendants: true, read: TemplateRef }], ngImport: i0, template: "<div bbComboboxContainer\n class=\"bb-combobox-container\">\n {{ value }}\n</div>\n", styles: [".bb-combobox{display:block}.bb-combobox-container{width:100%;height:2.5rem;display:block;padding:0 .75rem;line-height:2.5rem;border:1px solid black}\n"], dependencies: [{ kind: "directive", type: BbComboboxContainer, selector: "[bbComboboxContainer]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
293
293
  }
294
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: BbCombobox, decorators: [{
294
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.3", ngImport: i0, type: BbCombobox, decorators: [{
295
295
  type: Component,
296
296
  args: [{ selector: 'bb-combobox', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { 'class': 'bb-combobox' }, providers: [
297
297
  { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => BbCombobox), multi: true }