@bravobit/bb-foundation 0.42.4 → 0.42.5

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.
Files changed (138) hide show
  1. package/esm2022/auth/lib/auth.interceptor.mjs +3 -3
  2. package/esm2022/auth/lib/auth.module.mjs +4 -4
  3. package/esm2022/auth/lib/auth.service.mjs +3 -3
  4. package/esm2022/auth/lib/directives/authenticated.directive.mjs +3 -3
  5. package/esm2022/collections/lib/collections.module.mjs +4 -4
  6. package/esm2022/collections/lib/components/collections-actions/collections-actions.component.mjs +3 -3
  7. package/esm2022/collections/lib/components/collections-grid/collections-grid.component.mjs +3 -3
  8. package/esm2022/collections/lib/components/collections-pager/collections-pager.component.mjs +3 -3
  9. package/esm2022/collections/lib/components/collections-table/collections-table.component.mjs +3 -3
  10. package/esm2022/collections/lib/components/collections-table-label/collections-table-label.component.mjs +3 -3
  11. package/esm2022/collections/lib/components/collections-table-sorting/collections-table-sorting.component.mjs +3 -3
  12. package/esm2022/collections/lib/components/collections-viewer/collections-viewer.component.mjs +3 -3
  13. package/esm2022/collections/lib/directives/collections-data-row.directive.mjs +3 -3
  14. package/esm2022/collections/lib/directives/collections-data.directive.mjs +3 -3
  15. package/esm2022/collections/lib/directives/collections-empty.directive.mjs +3 -3
  16. package/esm2022/collections/lib/directives/collections-error.directive.mjs +3 -3
  17. package/esm2022/collections/lib/directives/collections-initial.directive.mjs +3 -3
  18. package/esm2022/collections/lib/directives/collections-item.directive.mjs +3 -3
  19. package/esm2022/combobox/combobox/combobox-container.directive.mjs +3 -3
  20. package/esm2022/combobox/combobox/combobox.component.mjs +3 -3
  21. package/esm2022/combobox/combobox-label.directive.mjs +3 -3
  22. package/esm2022/combobox/combobox-option.directive.mjs +3 -3
  23. package/esm2022/combobox/combobox-panel/combobox-panel.component.mjs +3 -3
  24. package/esm2022/dashboard/lib/dashboard/dashboard.component.mjs +3 -3
  25. package/esm2022/dashboard/lib/dashboard-header/dashboard-header.component.mjs +3 -3
  26. package/esm2022/dashboard/lib/dashboard-menu/dashboard-menu.component.mjs +3 -3
  27. package/esm2022/dashboard/lib/dashboard-menu-item/dashboard-menu-item.component.mjs +3 -3
  28. package/esm2022/dashboard/lib/dashboard-sidebar/dashboard-sidebar.component.mjs +3 -3
  29. package/esm2022/dashboard/lib/dashboard-sidebar-group/dashboard-sidebar-group.component.mjs +3 -3
  30. package/esm2022/dashboard/lib/dashboard-sidebar-item/dashboard-sidebar-item.component.mjs +3 -3
  31. package/esm2022/dashboard/lib/dashboard.module.mjs +4 -4
  32. package/esm2022/dialog/lib/dialog-actions/dialog-actions.component.mjs +3 -3
  33. package/esm2022/dialog/lib/dialog-confirm/dialog-confirm.component.mjs +3 -3
  34. package/esm2022/dialog/lib/dialog-container/dialog-container.component.mjs +3 -3
  35. package/esm2022/dialog/lib/dialog-header/dialog-header.component.mjs +3 -3
  36. package/esm2022/dialog/lib/dialog-link/dialog-link.component.mjs +3 -3
  37. package/esm2022/dialog/lib/dialog-modal/dialog-modal.component.mjs +3 -3
  38. package/esm2022/dialog/lib/dialog-overlay/dialog-overlay.component.mjs +3 -3
  39. package/esm2022/dialog/lib/dialog.insertion.mjs +3 -3
  40. package/esm2022/dialog/lib/dialog.module.mjs +4 -4
  41. package/esm2022/dialog/lib/dialog.service.mjs +3 -3
  42. package/esm2022/dialog/lib/directives/confirm.directive.mjs +3 -3
  43. package/esm2022/elements/lib/avatar/avatar.component.mjs +3 -3
  44. package/esm2022/elements/lib/button/button.component.mjs +6 -6
  45. package/esm2022/elements/lib/checkbox/checkbox.component.mjs +3 -3
  46. package/esm2022/elements/lib/checkbox-group/checkbox-group.component.mjs +3 -3
  47. package/esm2022/elements/lib/date-picker/date-picker.component.mjs +3 -3
  48. package/esm2022/elements/lib/directives/addon.directive.mjs +6 -6
  49. package/esm2022/elements/lib/directives/extra-error-controls.directive.mjs +3 -3
  50. package/esm2022/elements/lib/directives/form-submit.directive.mjs +3 -3
  51. package/esm2022/elements/lib/directives/form-submitter.directive.mjs +3 -3
  52. package/esm2022/elements/lib/directives/image-upload.directive.mjs +3 -3
  53. package/esm2022/elements/lib/directives/input.directive.mjs +3 -3
  54. package/esm2022/elements/lib/elements.module.mjs +4 -4
  55. package/esm2022/elements/lib/file-picker/file-picker.component.mjs +3 -3
  56. package/esm2022/elements/lib/form-control/form-control.component.mjs +3 -3
  57. package/esm2022/elements/lib/form-error/form-error.component.mjs +3 -3
  58. package/esm2022/elements/lib/form-group/form-group.component.mjs +3 -3
  59. package/esm2022/elements/lib/icon/icon.component.mjs +3 -3
  60. package/esm2022/elements/lib/image-picker/image-picker.component.mjs +3 -3
  61. package/esm2022/elements/lib/multi-file-control/multi-file-control.component.mjs +3 -3
  62. package/esm2022/elements/lib/pipes/date.pipe.mjs +3 -3
  63. package/esm2022/elements/lib/pipes/file-image.pipe.mjs +3 -3
  64. package/esm2022/elements/lib/pipes/file-size.pipe.mjs +3 -3
  65. package/esm2022/elements/lib/pipes/relative-time.pipe.mjs +3 -3
  66. package/esm2022/elements/lib/radio-button/radio-button.component.mjs +3 -3
  67. package/esm2022/elements/lib/radio-group/radio-group.component.mjs +3 -3
  68. package/esm2022/elements/lib/spinner/spinner.component.mjs +3 -3
  69. package/esm2022/http/lib/http.module.mjs +4 -4
  70. package/esm2022/http/lib/interceptors/base-url.interceptor.mjs +3 -3
  71. package/esm2022/http/lib/interceptors/error.interceptor.mjs +3 -3
  72. package/esm2022/lib/core/services/exif.service.mjs +3 -3
  73. package/esm2022/lib/core/services/file-loader.service.mjs +3 -3
  74. package/esm2022/lib/core/services/files.service.mjs +3 -3
  75. package/esm2022/lib/core/services/image-converter.service.mjs +3 -3
  76. package/esm2022/lib/core/services/languages.service.mjs +3 -3
  77. package/esm2022/lib/core/services/network.service.mjs +3 -3
  78. package/esm2022/lib/core/services/patch.service.mjs +3 -3
  79. package/esm2022/localize/lib/localize.module.mjs +4 -4
  80. package/esm2022/localize/lib/localize.pipe.mjs +3 -3
  81. package/esm2022/localize/lib/localize.service.mjs +3 -3
  82. package/esm2022/localize/lib/views/localize-string/localize-string.component.mjs +3 -3
  83. package/esm2022/localize/lib/views/localize-template.directive.mjs +3 -3
  84. package/esm2022/masking/lib/directives/currency-mask.directive.mjs +3 -3
  85. package/esm2022/masking/lib/directives/date-mask.directive.mjs +3 -3
  86. package/esm2022/masking/lib/directives/input-mask.directive.mjs +3 -3
  87. package/esm2022/masking/lib/masking.module.mjs +4 -4
  88. package/esm2022/masking/lib/masking.service.mjs +3 -3
  89. package/esm2022/notifications/lib/notifications-item/notifications-item.component.mjs +3 -3
  90. package/esm2022/notifications/lib/notifications-list/notifications-list.component.mjs +3 -3
  91. package/esm2022/notifications/lib/notifications.module.mjs +4 -4
  92. package/esm2022/notifications/lib/notifications.service.mjs +3 -3
  93. package/esm2022/permissions/lib/directives/permission.directive.mjs +3 -3
  94. package/esm2022/permissions/lib/permissions.module.mjs +4 -4
  95. package/esm2022/permissions/lib/permissions.service.mjs +3 -3
  96. package/esm2022/recaptcha/lib/recaptcha/recaptcha.component.mjs +3 -3
  97. package/esm2022/recaptcha/lib/recaptcha-loader.service.mjs +3 -3
  98. package/esm2022/recaptcha/lib/recaptcha.module.mjs +4 -4
  99. package/esm2022/select/lib/select/select.component.mjs +6 -6
  100. package/esm2022/select/lib/select-label.directive.mjs +3 -3
  101. package/esm2022/select/lib/select-multi-label.directive.mjs +3 -3
  102. package/esm2022/select/lib/select-option-group.directive.mjs +3 -3
  103. package/esm2022/select/lib/select-option.directive.mjs +3 -3
  104. package/esm2022/select/lib/select.module.mjs +4 -4
  105. package/esm2022/storage/lib/storage.service.mjs +3 -3
  106. package/esm2022/table/lib/components/table/table.component.mjs +9 -9
  107. package/esm2022/table/lib/components/table-cell/table-cell.component.mjs +3 -3
  108. package/esm2022/table/lib/components/table-header-cell/table-header-cell.component.mjs +3 -3
  109. package/esm2022/table/lib/components/table-pager/table-pager.component.mjs +3 -3
  110. package/esm2022/table/lib/table.module.mjs +4 -4
  111. package/esm2022/tooltip/lib/tooltip-container/tooltip-container.component.mjs +3 -3
  112. package/esm2022/tooltip/lib/tooltip.directive.mjs +3 -3
  113. package/esm2022/tooltip/lib/tooltip.module.mjs +4 -4
  114. package/esm2022/utils/lib/directives/autosize.directive.mjs +3 -3
  115. package/esm2022/utils/lib/directives/focus-trap.directive.mjs +3 -3
  116. package/esm2022/utils/lib/directives/focus.directive.mjs +3 -3
  117. package/esm2022/utils/lib/directives/template.directive.mjs +3 -3
  118. package/esm2022/utils/lib/utils.module.mjs +4 -4
  119. package/fesm2022/bravobit-bb-foundation-auth.mjs +13 -13
  120. package/fesm2022/bravobit-bb-foundation-collections.mjs +43 -43
  121. package/fesm2022/bravobit-bb-foundation-combobox.mjs +15 -15
  122. package/fesm2022/bravobit-bb-foundation-dashboard.mjs +25 -25
  123. package/fesm2022/bravobit-bb-foundation-dialog.mjs +34 -34
  124. package/fesm2022/bravobit-bb-foundation-elements.mjs +85 -85
  125. package/fesm2022/bravobit-bb-foundation-http.mjs +10 -10
  126. package/fesm2022/bravobit-bb-foundation-localize.mjs +16 -16
  127. package/fesm2022/bravobit-bb-foundation-masking.mjs +16 -16
  128. package/fesm2022/bravobit-bb-foundation-notifications.mjs +13 -13
  129. package/fesm2022/bravobit-bb-foundation-permissions.mjs +10 -10
  130. package/fesm2022/bravobit-bb-foundation-recaptcha.mjs +10 -10
  131. package/fesm2022/bravobit-bb-foundation-select.mjs +21 -21
  132. package/fesm2022/bravobit-bb-foundation-select.mjs.map +1 -1
  133. package/fesm2022/bravobit-bb-foundation-storage.mjs +3 -3
  134. package/fesm2022/bravobit-bb-foundation-table.mjs +22 -22
  135. package/fesm2022/bravobit-bb-foundation-tooltip.mjs +10 -10
  136. package/fesm2022/bravobit-bb-foundation-utils.mjs +16 -16
  137. package/fesm2022/bravobit-bb-foundation.mjs +21 -21
  138. package/package.json +19 -19
@@ -166,8 +166,8 @@ export class RecaptchaComponent {
166
166
  const newSrc = src.replace(/hl=(.*?)&/, `hl=${locale}&`);
167
167
  this._renderer.setAttribute(frame, 'src', newSrc);
168
168
  }
169
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: RecaptchaComponent, deps: [{ token: i0.NgZone }, { token: i1.Platform }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i2.RecaptchaLoader }, { token: LOCALIZE_ID }, { token: RECAPTCHA_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Component });
170
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.1.0", type: RecaptchaComponent, isStandalone: true, selector: "bb-recaptcha", inputs: { id: "id", siteKey: "siteKey", tabIndex: "tabIndex", type: "type", size: "size", theme: "theme", badge: "badge", errorMode: "errorMode", grouped: ["grouped", "grouped", booleanAttribute] }, outputs: { resolved: "resolved", error: "error" }, host: { properties: { "class.grouped": "grouped", "attr.id": "this.id" }, classAttribute: "bb-recaptcha" }, providers: [
169
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: RecaptchaComponent, deps: [{ token: i0.NgZone }, { token: i1.Platform }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i2.RecaptchaLoader }, { token: LOCALIZE_ID }, { token: RECAPTCHA_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Component });
170
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.1.1", type: RecaptchaComponent, isStandalone: true, selector: "bb-recaptcha", inputs: { id: "id", siteKey: "siteKey", tabIndex: "tabIndex", type: "type", size: "size", theme: "theme", badge: "badge", errorMode: "errorMode", grouped: ["grouped", "grouped", booleanAttribute] }, outputs: { resolved: "resolved", error: "error" }, host: { properties: { "class.grouped": "grouped", "attr.id": "this.id" }, classAttribute: "bb-recaptcha" }, providers: [
171
171
  {
172
172
  provide: NG_VALUE_ACCESSOR,
173
173
  useExisting: forwardRef(() => RecaptchaComponent),
@@ -175,7 +175,7 @@ export class RecaptchaComponent {
175
175
  }
176
176
  ], exportAs: ["bbRecaptcha"], ngImport: i0, template: "", styles: [".bb-recaptcha{display:block}.bb-recaptcha.grouped{margin-bottom:1.5rem}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
177
177
  }
178
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: RecaptchaComponent, decorators: [{
178
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: RecaptchaComponent, decorators: [{
179
179
  type: Component,
180
180
  args: [{ selector: 'bb-recaptcha', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, exportAs: 'bbRecaptcha', providers: [
181
181
  {
@@ -68,10 +68,10 @@ export class RecaptchaLoader {
68
68
  .map(item => `${item?.key}=${item?.value}`)
69
69
  .join('&');
70
70
  }
71
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: RecaptchaLoader, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
72
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: RecaptchaLoader, providedIn: 'root' });
71
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: RecaptchaLoader, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
72
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: RecaptchaLoader, providedIn: 'root' });
73
73
  }
74
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: RecaptchaLoader, decorators: [{
74
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: RecaptchaLoader, decorators: [{
75
75
  type: Injectable,
76
76
  args: [{
77
77
  providedIn: 'root'
@@ -13,11 +13,11 @@ export class RecaptchaModule {
13
13
  ]
14
14
  };
15
15
  }
16
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: RecaptchaModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
17
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.0", ngImport: i0, type: RecaptchaModule, imports: [RecaptchaComponent], exports: [RecaptchaComponent] });
18
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: RecaptchaModule });
16
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: RecaptchaModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
17
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.1", ngImport: i0, type: RecaptchaModule, imports: [RecaptchaComponent], exports: [RecaptchaComponent] });
18
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: RecaptchaModule });
19
19
  }
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: RecaptchaModule, decorators: [{
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: RecaptchaModule, decorators: [{
21
21
  type: NgModule,
22
22
  args: [{
23
23
  imports: [RecaptchaComponent],
@@ -98,14 +98,14 @@ export class BbSelect {
98
98
  .subscribe(value => this.onChangeCallback?.(value));
99
99
  this._subscription.add(subscription);
100
100
  }
101
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BbSelect, deps: [], target: i0.ɵɵFactoryTarget.Component });
102
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: BbSelect, isStandalone: true, selector: "bb-select", inputs: { label: "label", hint: "hint", data: ["data", "data", observableAttribute], required: ["required", "required", booleanAttribute], disabled: ["disabled", "disabled", booleanAttribute], grouped: ["grouped", "grouped", booleanAttribute], hideErrors: ["hideErrors", "hideErrors", booleanAttribute], loading: ["loading", "loading", booleanAttribute], multiple: ["multiple", "multiple", booleanAttribute], clearable: ["clearable", "clearable", booleanAttribute], searchable: ["searchable", "searchable", booleanAttribute], virtualScroll: ["virtualScroll", "virtualScroll", booleanAttribute], closeOnSelect: ["closeOnSelect", "closeOnSelect", booleanAttribute], selectableGroup: ["selectableGroup", "selectableGroup", booleanAttribute], selectableGroupAsModel: ["selectableGroupAsModel", "selectableGroupAsModel", booleanAttribute], hideArrow: ["hideArrow", "hideArrow", booleanAttribute], selectOnTab: ["selectOnTab", "selectOnTab", booleanAttribute], bindLabel: "bindLabel", bindValue: "bindValue", placeholder: "placeholder", typeahead: "typeahead", trackByFn: "trackByFn", groupBy: "groupBy", isOpen: "isOpen", clearSearchOnAdd: "clearSearchOnAdd", addTag: "addTag", appendTo: "appendTo", value: "value" }, outputs: { valueChange: "valueChange", onBlur: "onBlur", onChange: "onChange" }, host: { properties: { "class.required": "required", "class.disabled": "disabled", "class.grouped": "grouped", "class.error": "error", "class.hide-arrow": "hideArrow" }, classAttribute: "bb-select" }, providers: [{
101
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: BbSelect, deps: [], target: i0.ɵɵFactoryTarget.Component });
102
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.1", type: BbSelect, isStandalone: true, selector: "bb-select", inputs: { label: "label", hint: "hint", data: ["data", "data", observableAttribute], required: ["required", "required", booleanAttribute], disabled: ["disabled", "disabled", booleanAttribute], grouped: ["grouped", "grouped", booleanAttribute], hideErrors: ["hideErrors", "hideErrors", booleanAttribute], loading: ["loading", "loading", booleanAttribute], multiple: ["multiple", "multiple", booleanAttribute], clearable: ["clearable", "clearable", booleanAttribute], searchable: ["searchable", "searchable", booleanAttribute], virtualScroll: ["virtualScroll", "virtualScroll", booleanAttribute], closeOnSelect: ["closeOnSelect", "closeOnSelect", booleanAttribute], selectableGroup: ["selectableGroup", "selectableGroup", booleanAttribute], selectableGroupAsModel: ["selectableGroupAsModel", "selectableGroupAsModel", booleanAttribute], hideArrow: ["hideArrow", "hideArrow", booleanAttribute], selectOnTab: ["selectOnTab", "selectOnTab", booleanAttribute], bindLabel: "bindLabel", bindValue: "bindValue", placeholder: "placeholder", typeahead: "typeahead", trackByFn: "trackByFn", groupBy: "groupBy", isOpen: "isOpen", clearSearchOnAdd: "clearSearchOnAdd", addTag: "addTag", appendTo: "appendTo", value: "value" }, outputs: { valueChange: "valueChange", onBlur: "onBlur", onChange: "onChange" }, host: { properties: { "class.required": "required", "class.disabled": "disabled", "class.grouped": "grouped", "class.error": "error", "class.hide-arrow": "hideArrow" }, classAttribute: "bb-select" }, providers: [{
103
103
  provide: NG_VALUE_ACCESSOR,
104
104
  useExisting: forwardRef(() => BbSelect),
105
105
  multi: true
106
- }], queries: [{ propertyName: "optionTemplate", first: true, predicate: BbSelectOption, descendants: true, read: TemplateRef }, { propertyName: "optionGroupTemplate", first: true, predicate: BbSelectOptionGroup, descendants: true, read: TemplateRef }, { propertyName: "labelTemplate", first: true, predicate: BbSelectLabel, descendants: true, read: TemplateRef }, { propertyName: "multiLabelTemplate", first: true, predicate: BbSelectMultiLabel, descendants: true, read: TemplateRef }], viewQueries: [{ propertyName: "selectComponent", first: true, predicate: NgSelectComponent, descendants: true, static: true }], ngImport: i0, template: "<!-- Label of the form control. -->\n@if (label; as labelContent) {\n <label [attr.for]=\"labelId\"\n class=\"bb-select-label\">\n <ng-template [bbTemplate]=\"labelContent\">{{ labelContent }}</ng-template>\n </label>\n}\n\n<ng-select [formControl]=\"control\"\n [notFoundText]=\"'select.not_found_text' | bbLocalize\"\n [clearAllText]=\"'select.clear_all_text' | bbLocalize\"\n [loadingText]=\"'select.loading_text' | bbLocalize\"\n [typeToSearchText]=\"'select.type_to_search_text' | bbLocalize\"\n [addTagText]=\"'select.add_tag_text' | bbLocalize\"\n [virtualScroll]=\"virtualScroll\"\n [items]=\"data | async\"\n [multiple]=\"multiple\"\n [loading]=\"loading\"\n [labelForId]=\"labelId\"\n [searchable]=\"searchable\"\n [placeholder]=\"placeholder\"\n [clearable]=\"clearable\"\n [closeOnSelect]=\"closeOnSelect\"\n [trackByFn]=\"trackByFn\"\n [typeahead]=\"typeahead\"\n [bindLabel]=\"bindLabel\"\n [bindValue]=\"bindValue\"\n [selectableGroup]=\"selectableGroup\"\n [selectableGroupAsModel]=\"selectableGroupAsModel\"\n [clearSearchOnAdd]=\"clearSearchOnAdd\"\n [groupBy]=\"groupBy\"\n [isOpen]=\"isOpen\"\n [addTag]=\"addTag\"\n [inputAttrs]=\"{autocorrect: 'off', autocapitalize: 'none', spellcheck: 'false', autocomplete: 'off'}\"\n [appendTo]=\"appendTo\"\n (blur)=\"onBlur?.emit($event)\"\n (change)=\"onChange?.emit($event)\">\n @if (optionTemplate) {\n <ng-template ng-option-tmp\n let-item=\"item\"\n let-item$=\"item$\"\n let-index=\"index\">\n <ng-container\n *ngTemplateOutlet=\"optionTemplate; context: {item: item, item$: item$, index: index}\"></ng-container>\n </ng-template>\n }\n @if (labelTemplate) {\n <ng-template ng-label-tmp\n let-item=\"item\"\n let-item$=\"item$\"\n let-index=\"index\">\n <ng-container\n *ngTemplateOutlet=\"labelTemplate; context: {item: item, item$: item$, index: index}\"></ng-container>\n </ng-template>\n }\n @if (multiLabelTemplate) {\n <ng-template ng-multi-label-tmp\n let-items=\"items\"\n let-clear=\"clear\">\n <ng-container *ngTemplateOutlet=\"multiLabelTemplate; context: {items: items, clear: clear}\"></ng-container>\n </ng-template>\n }\n @if (optionGroupTemplate) {\n <ng-template ng-optgroup-tmp\n let-item=\"item\"\n let-item$=\"item$\"\n let-index=\"index\">\n <ng-container\n *ngTemplateOutlet=\"optionGroupTemplate; context: {item: item, item$: item$, index: index}\"></ng-container>\n </ng-template>\n }\n</ng-select>\n\n@if (!hideErrors) {\n <bb-form-error (errorChange)=\"onErrorChange($event)\"></bb-form-error>\n}\n\n<!-- The form control hint. -->\n@if (hint; as hintContent) {\n <p class=\"bb-select-hint\">\n <ng-template [bbTemplate]=\"hintContent\">{{ hintContent }}</ng-template>\n </p>\n}\n", styles: [".bb-select{color:#2d3c4d;display:block;font-size:1rem}.bb-select.grouped{margin-bottom:1rem}.bb-select.required>.bb-select-label:after{content:\"*\";font-size:.75rem;vertical-align:top;color:var(--bb-form-label-required-color)}.bb-select.error>.bb-select-label{color:#c23934}.bb-select.error>.ng-select>.ng-select-container,.bb-select.error>.ng-select.ng-select-opened>.ng-select-container:hover{box-shadow:0 .375rem .375rem -.375rem #0000001a,0 0 0 .1875rem #f8d3d3}.bb-select.error>.ng-select>.ng-select-container{border:1px solid hsl(0,73%,30%);background-color:#f8d3d3}.bb-select.error>.ng-select>.ng-select-container>.ng-value-container>.ng-placeholder{color:#ea7b7b}.bb-select.hide-arrow .ng-arrow-wrapper{width:0;opacity:0;overflow:hidden;-webkit-user-select:none;user-select:none;pointer-events:none}.bb-select-label{display:block;margin-bottom:.25rem;color:var(--bb-form-label-color);font-size:var(--bb-form-label-font-size);font-weight:var(--bb-form-label-font-weight)}.bb-select-hint{display:block;line-height:1.5;margin-top:.25rem;font-size:.8125rem;color:#758795}.ng-select.ng-select-opened>.ng-select-container{background:#fff}.ng-select.ng-select-opened>.ng-select-container:hover{box-shadow:none}.ng-select.ng-select-opened>.ng-select-container .ng-arrow{top:-.125rem;border-width:0 .3125rem .3125rem;border-color:transparent transparent #808993}.ng-select.ng-select-opened>.ng-select-container .ng-arrow:hover{border-color:transparent transparent #212327}.ng-select.ng-select-opened.ng-select-top>.ng-select-container{border-top-left-radius:0;border-top-right-radius:0}.ng-select.ng-select-opened.ng-select-right>.ng-select-container{border-top-right-radius:0;border-bottom-right-radius:0}.ng-select.ng-select-opened.ng-select-bottom>.ng-select-container{border-bottom-right-radius:0;border-bottom-left-radius:0}.ng-select.ng-select-opened.ng-select-left>.ng-select-container{border-top-left-radius:0;border-bottom-left-radius:0}.ng-select.ng-select-focused:not(.ng-select-opened)>.ng-select-container{box-shadow:0 .375rem .375rem -.375rem #0000001a,var(--select-box-shadow);border-color:#757e8a}.ng-select.ng-select-disabled>.ng-select-container{color:gray;background-color:#e6e6e6}.ng-select .ng-has-value .ng-placeholder{display:none}.ng-select .ng-select-container{align-items:center;transition-duration:.25s;min-height:2.5rem;color:#111;background-color:#fff;border:1px solid hsl(213,8%,74%);border-radius:.5rem;transition-property:background-color,box-shadow;transition-timing-function:cubic-bezier(0,0,.2,1);box-shadow:0 .375rem .375rem -.375rem #0000001a}.ng-select .ng-select-container .ng-value-container{align-items:center;padding-left:.5rem}.ng-select .ng-select-container .ng-value-container .ng-placeholder{color:#d1d1d1}.ng-select.ng-select-single .ng-select-container{height:2.5rem}.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input{left:0;top:50%;padding-right:3.125rem;transform:translateY(-50%);padding-left:.5rem}.ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value{border-radius:.25rem;background-color:#f9f9f9;border:1px solid #d3d6d9}.ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value .ng-value-label{padding:0 .3125rem}.ng-select.ng-select-multiple .ng-select-container .ng-value-container{padding-top:.3125rem;padding-left:.4375rem}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{line-height:1.6;margin-right:.3125rem;border-radius:.125rem;margin-bottom:.3125rem;color:#111;font-size:1rem;background-color:#ebf5ff}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled{background-color:#f9f9f9}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled .ng-value-label{padding-left:.3125rem}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-label,.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon{display:inline-block;padding:.0625rem .3125rem}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon:hover{background-color:#d1e8ff}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.left{border-right:1px solid #b8dbff}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.right{border-left:1px solid #b8dbff}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{padding:0 0 .1875rem .1875rem}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input>input{color:#111}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{padding-left:.1875rem;padding-bottom:.3125rem}.ng-select .ng-clear-wrapper{color:#808993}.ng-select .ng-clear-wrapper:hover .ng-clear{color:#d0021b}.ng-select .ng-clear-wrapper:focus .ng-clear{color:#d0021b}.ng-select .ng-clear-wrapper:focus{outline:none}.ng-select .ng-spinner-zone{padding:.3125rem .3125rem 0 0}.ng-select .ng-arrow-wrapper{width:1.5625rem;padding-right:.3125rem}.ng-select .ng-arrow-wrapper:hover .ng-arrow{border-top-color:#50565e}.ng-select .ng-arrow-wrapper .ng-arrow{border-style:solid;border-width:.3125rem .3125rem .15625rem;border-color:#808993 transparent transparent}.ng-dropdown-panel{left:0;box-shadow:0 1px #0000000f;background-color:#fff;border:1px solid hsl(213,8%,74%)}.ng-dropdown-panel.ng-select-top{bottom:100%;margin-bottom:-1px;border-top-left-radius:.5rem;border-top-right-radius:.5rem;border-bottom-color:#d3d6d9}.ng-dropdown-panel.ng-select-top .ng-dropdown-panel-items .ng-option:first-child{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.ng-dropdown-panel.ng-select-right{top:0;left:100%;margin-bottom:-1px;border-top-right-radius:.5rem;border-bottom-left-radius:.5rem;border-bottom-color:#d3d6d9;border-bottom-right-radius:.5rem}.ng-dropdown-panel.ng-select-right .ng-dropdown-panel-items .ng-option:first-child{border-top-right-radius:.5rem}.ng-dropdown-panel.ng-select-bottom{top:100%;margin-top:-1px;border-top-color:#d3d6d9;border-bottom-left-radius:.5rem;border-bottom-right-radius:.5rem}.ng-dropdown-panel.ng-select-bottom .ng-dropdown-panel-items .ng-option:last-child{border-bottom-left-radius:.5rem;border-bottom-right-radius:.5rem}.ng-dropdown-panel.ng-select-left{top:0;left:-100%;margin-bottom:-1px;border-top-left-radius:.5rem;border-bottom-left-radius:.5rem;border-bottom-color:#d3d6d9;border-bottom-right-radius:.5rem}.ng-dropdown-panel.ng-select-left .ng-dropdown-panel-items .ng-option:first-child{border-top-left-radius:.5rem}.ng-dropdown-panel .ng-dropdown-header{padding:.3125rem .4375rem;border-bottom:1px solid hsl(213,8%,74%)}.ng-dropdown-panel .ng-dropdown-footer{padding:.3125rem .4375rem;border-top:1px solid hsl(213,8%,74%)}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup{cursor:pointer;font-weight:500;-webkit-user-select:none;user-select:none;padding:.5rem .625rem;color:#0000008a}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-disabled{cursor:default}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-marked{background-color:#f5faff}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-selected,.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-selected.ng-option-marked{font-weight:500;background-color:#ebf5ff;color:#0000008a}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option{font-size:1rem;font-weight:400;padding:.5rem .625rem;color:#000000de;background-color:#fff}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected,.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-marked{color:#111;background-color:#ebf5ff}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected .ng-option-label,.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-marked .ng-option-label{font-weight:500}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-marked{color:#111;background-color:#f5faff}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-disabled{color:#aaa}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-left:1.375rem}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label{font-size:80%;font-weight:400;padding-right:.3125rem}\n"], dependencies: [{ kind: "ngmodule", type: NgSelectModule }, { kind: "component", type: i1.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "deselectOnClick"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "directive", type: i1.NgOptgroupTemplateDirective, selector: "[ng-optgroup-tmp]" }, { kind: "directive", type: i1.NgOptionTemplateDirective, selector: "[ng-option-tmp]" }, { kind: "directive", type: i1.NgLabelTemplateDirective, selector: "[ng-label-tmp]" }, { kind: "directive", type: i1.NgMultiLabelTemplateDirective, selector: "[ng-multi-label-tmp]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: BbTemplate, selector: "[bbTemplate]", inputs: ["bbTemplate"] }, { kind: "component", type: BbFormError, selector: "bb-form-error", inputs: ["control"], outputs: ["errorChange"] }, { kind: "pipe", type: BbLocalize, name: "bbLocalize" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
106
+ }], queries: [{ propertyName: "optionTemplate", first: true, predicate: BbSelectOption, descendants: true, read: TemplateRef }, { propertyName: "optionGroupTemplate", first: true, predicate: BbSelectOptionGroup, descendants: true, read: TemplateRef }, { propertyName: "labelTemplate", first: true, predicate: BbSelectLabel, descendants: true, read: TemplateRef }, { propertyName: "multiLabelTemplate", first: true, predicate: BbSelectMultiLabel, descendants: true, read: TemplateRef }], viewQueries: [{ propertyName: "selectComponent", first: true, predicate: NgSelectComponent, descendants: true, static: true }], ngImport: i0, template: "<!-- Label of the form control. -->\n@if (label; as labelContent) {\n <label [attr.for]=\"labelId\"\n class=\"bb-select-label\">\n <ng-template [bbTemplate]=\"labelContent\">{{ labelContent }}</ng-template>\n </label>\n}\n\n<ng-select [formControl]=\"control\"\n [notFoundText]=\"'select.not_found_text' | bbLocalize\"\n [clearAllText]=\"'select.clear_all_text' | bbLocalize\"\n [loadingText]=\"'select.loading_text' | bbLocalize\"\n [typeToSearchText]=\"'select.type_to_search_text' | bbLocalize\"\n [addTagText]=\"'select.add_tag_text' | bbLocalize\"\n [virtualScroll]=\"virtualScroll\"\n [items]=\"data | async\"\n [multiple]=\"multiple\"\n [loading]=\"loading\"\n [labelForId]=\"labelId\"\n [searchable]=\"searchable\"\n [placeholder]=\"placeholder\"\n [clearable]=\"clearable\"\n [closeOnSelect]=\"closeOnSelect\"\n [trackByFn]=\"trackByFn\"\n [typeahead]=\"typeahead\"\n [bindLabel]=\"bindLabel\"\n [bindValue]=\"bindValue\"\n [selectableGroup]=\"selectableGroup\"\n [selectableGroupAsModel]=\"selectableGroupAsModel\"\n [clearSearchOnAdd]=\"clearSearchOnAdd\"\n [groupBy]=\"groupBy\"\n [isOpen]=\"isOpen\"\n [addTag]=\"addTag\"\n [inputAttrs]=\"{autocorrect: 'off', autocapitalize: 'none', spellcheck: 'false', autocomplete: 'off'}\"\n [appendTo]=\"appendTo\"\n (blur)=\"onBlur?.emit($event)\"\n (change)=\"onChange?.emit($event)\">\n @if (optionTemplate) {\n <ng-template ng-option-tmp\n let-item=\"item\"\n let-item$=\"item$\"\n let-index=\"index\">\n <ng-container\n *ngTemplateOutlet=\"optionTemplate; context: {item: item, item$: item$, index: index}\"></ng-container>\n </ng-template>\n }\n @if (labelTemplate) {\n <ng-template ng-label-tmp\n let-item=\"item\"\n let-item$=\"item$\"\n let-index=\"index\">\n <ng-container\n *ngTemplateOutlet=\"labelTemplate; context: {item: item, item$: item$, index: index}\"></ng-container>\n </ng-template>\n }\n @if (multiLabelTemplate) {\n <ng-template ng-multi-label-tmp\n let-items=\"items\"\n let-clear=\"clear\">\n <ng-container *ngTemplateOutlet=\"multiLabelTemplate; context: {items: items, clear: clear}\"></ng-container>\n </ng-template>\n }\n @if (optionGroupTemplate) {\n <ng-template ng-optgroup-tmp\n let-item=\"item\"\n let-item$=\"item$\"\n let-index=\"index\">\n <ng-container\n *ngTemplateOutlet=\"optionGroupTemplate; context: {item: item, item$: item$, index: index}\"></ng-container>\n </ng-template>\n }\n</ng-select>\n\n@if (!hideErrors) {\n <bb-form-error (errorChange)=\"onErrorChange($event)\"></bb-form-error>\n}\n\n<!-- The form control hint. -->\n@if (hint; as hintContent) {\n <p class=\"bb-select-hint\">\n <ng-template [bbTemplate]=\"hintContent\">{{ hintContent }}</ng-template>\n </p>\n}\n", styles: [".bb-select{color:#2d3c4d;display:block;font-size:1rem}.bb-select.grouped{margin-bottom:1.5rem}.bb-select.required>.bb-select-label:after{content:\"*\";font-size:.75rem;vertical-align:top;color:var(--bb-form-label-required-color)}.bb-select.error>.bb-select-label{color:#c23934}.bb-select.error>.ng-select>.ng-select-container,.bb-select.error>.ng-select.ng-select-opened>.ng-select-container:hover{box-shadow:0 .375rem .375rem -.375rem #0000001a,0 0 0 .1875rem #f8d3d3}.bb-select.error>.ng-select>.ng-select-container{border:1px solid hsl(0,73%,30%);background-color:#f8d3d3}.bb-select.error>.ng-select>.ng-select-container>.ng-value-container>.ng-placeholder{color:#ea7b7b}.bb-select.hide-arrow .ng-arrow-wrapper{width:0;opacity:0;overflow:hidden;-webkit-user-select:none;user-select:none;pointer-events:none}.bb-select-label{display:block;margin-bottom:.25rem;color:var(--bb-form-label-color);font-size:var(--bb-form-label-font-size);font-weight:var(--bb-form-label-font-weight)}.bb-select-hint{display:block;line-height:1.5;margin-top:.25rem;font-size:.8125rem;color:#758795}.ng-select.ng-select-opened>.ng-select-container{background:#fff}.ng-select.ng-select-opened>.ng-select-container:hover{box-shadow:none}.ng-select.ng-select-opened>.ng-select-container .ng-arrow{top:-.125rem;border-width:0 .3125rem .3125rem;border-color:transparent transparent #808993}.ng-select.ng-select-opened>.ng-select-container .ng-arrow:hover{border-color:transparent transparent #212327}.ng-select.ng-select-opened.ng-select-top>.ng-select-container{border-top-left-radius:0;border-top-right-radius:0}.ng-select.ng-select-opened.ng-select-right>.ng-select-container{border-top-right-radius:0;border-bottom-right-radius:0}.ng-select.ng-select-opened.ng-select-bottom>.ng-select-container{border-bottom-right-radius:0;border-bottom-left-radius:0}.ng-select.ng-select-opened.ng-select-left>.ng-select-container{border-top-left-radius:0;border-bottom-left-radius:0}.ng-select.ng-select-focused:not(.ng-select-opened)>.ng-select-container{box-shadow:0 .375rem .375rem -.375rem #0000001a,var(--select-box-shadow);border-color:#757e8a}.ng-select.ng-select-disabled>.ng-select-container{color:gray;background-color:#e6e6e6}.ng-select .ng-has-value .ng-placeholder{display:none}.ng-select .ng-select-container{align-items:center;transition-duration:.25s;min-height:2.625rem;color:#111;background-color:#fff;border:1px solid hsl(213,8%,74%);border-radius:.5rem;transition-property:background-color,box-shadow;transition-timing-function:cubic-bezier(0,0,.2,1);box-shadow:0 .375rem .375rem -.375rem #0000001a}.ng-select .ng-select-container .ng-value-container{align-items:center;padding-left:.5rem}.ng-select .ng-select-container .ng-value-container .ng-placeholder{color:#d1d1d1}.ng-select.ng-select-single .ng-select-container{height:2.625rem}.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input{left:0;top:50%;padding-right:3.125rem;transform:translateY(-50%);padding-left:.5rem}.ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value{border-radius:.25rem;background-color:#f9f9f9;border:1px solid #d3d6d9}.ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value .ng-value-label{padding:0 .3125rem}.ng-select.ng-select-multiple .ng-select-container .ng-value-container{padding-top:.3125rem;padding-left:.4375rem}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{line-height:1.6;margin-right:.3125rem;border-radius:.125rem;margin-bottom:.3125rem;color:#111;font-size:1rem;background-color:#ebf5ff}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled{background-color:#f9f9f9}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled .ng-value-label{padding-left:.3125rem}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-label,.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon{display:inline-block;padding:.0625rem .3125rem}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon:hover{background-color:#d1e8ff}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.left{border-right:1px solid #b8dbff}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.right{border-left:1px solid #b8dbff}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{padding:0 0 .1875rem .1875rem}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input>input{color:#111}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{padding-left:.1875rem;padding-bottom:.3125rem}.ng-select .ng-clear-wrapper{color:#808993}.ng-select .ng-clear-wrapper:hover .ng-clear{color:#d0021b}.ng-select .ng-clear-wrapper:focus .ng-clear{color:#d0021b}.ng-select .ng-clear-wrapper:focus{outline:none}.ng-select .ng-spinner-zone{padding:.3125rem .3125rem 0 0}.ng-select .ng-arrow-wrapper{width:1.5625rem;padding-right:.3125rem}.ng-select .ng-arrow-wrapper:hover .ng-arrow{border-top-color:#50565e}.ng-select .ng-arrow-wrapper .ng-arrow{border-style:solid;border-width:.3125rem .3125rem .15625rem;border-color:#808993 transparent transparent}.ng-dropdown-panel{left:0;box-shadow:0 1px #0000000f;background-color:#fff;border:1px solid hsl(213,8%,74%)}.ng-dropdown-panel.ng-select-top{bottom:100%;margin-bottom:-1px;border-top-left-radius:.5rem;border-top-right-radius:.5rem;border-bottom-color:#d3d6d9}.ng-dropdown-panel.ng-select-top .ng-dropdown-panel-items .ng-option:first-child{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.ng-dropdown-panel.ng-select-right{top:0;left:100%;margin-bottom:-1px;border-top-right-radius:.5rem;border-bottom-left-radius:.5rem;border-bottom-color:#d3d6d9;border-bottom-right-radius:.5rem}.ng-dropdown-panel.ng-select-right .ng-dropdown-panel-items .ng-option:first-child{border-top-right-radius:.5rem}.ng-dropdown-panel.ng-select-bottom{top:100%;margin-top:-1px;border-top-color:#d3d6d9;border-bottom-left-radius:.5rem;border-bottom-right-radius:.5rem}.ng-dropdown-panel.ng-select-bottom .ng-dropdown-panel-items .ng-option:last-child{border-bottom-left-radius:.5rem;border-bottom-right-radius:.5rem}.ng-dropdown-panel.ng-select-left{top:0;left:-100%;margin-bottom:-1px;border-top-left-radius:.5rem;border-bottom-left-radius:.5rem;border-bottom-color:#d3d6d9;border-bottom-right-radius:.5rem}.ng-dropdown-panel.ng-select-left .ng-dropdown-panel-items .ng-option:first-child{border-top-left-radius:.5rem}.ng-dropdown-panel .ng-dropdown-header{padding:.3125rem .4375rem;border-bottom:1px solid hsl(213,8%,74%)}.ng-dropdown-panel .ng-dropdown-footer{padding:.3125rem .4375rem;border-top:1px solid hsl(213,8%,74%)}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup{cursor:pointer;font-weight:500;-webkit-user-select:none;user-select:none;padding:.5rem .625rem;color:#0000008a}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-disabled{cursor:default}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-marked{background-color:#f5faff}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-selected,.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-selected.ng-option-marked{font-weight:500;background-color:#ebf5ff;color:#0000008a}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option{font-size:1rem;font-weight:400;padding:.5rem .625rem;color:#000000de;background-color:#fff}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected,.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-marked{color:#111;background-color:#ebf5ff}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected .ng-option-label,.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-marked .ng-option-label{font-weight:500}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-marked{color:#111;background-color:#f5faff}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-disabled{color:#aaa}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-left:1.375rem}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label{font-size:80%;font-weight:400;padding-right:.3125rem}\n"], dependencies: [{ kind: "ngmodule", type: NgSelectModule }, { kind: "component", type: i1.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "deselectOnClick"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "directive", type: i1.NgOptgroupTemplateDirective, selector: "[ng-optgroup-tmp]" }, { kind: "directive", type: i1.NgOptionTemplateDirective, selector: "[ng-option-tmp]" }, { kind: "directive", type: i1.NgLabelTemplateDirective, selector: "[ng-label-tmp]" }, { kind: "directive", type: i1.NgMultiLabelTemplateDirective, selector: "[ng-multi-label-tmp]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: BbTemplate, selector: "[bbTemplate]", inputs: ["bbTemplate"] }, { kind: "component", type: BbFormError, selector: "bb-form-error", inputs: ["control"], outputs: ["errorChange"] }, { kind: "pipe", type: BbLocalize, name: "bbLocalize" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
107
107
  }
108
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BbSelect, decorators: [{
108
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: BbSelect, decorators: [{
109
109
  type: Component,
110
110
  args: [{ selector: 'bb-select', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [{
111
111
  provide: NG_VALUE_ACCESSOR,
@@ -126,7 +126,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
126
126
  BbTemplate,
127
127
  BbFormError,
128
128
  BbLocalize
129
- ], template: "<!-- Label of the form control. -->\n@if (label; as labelContent) {\n <label [attr.for]=\"labelId\"\n class=\"bb-select-label\">\n <ng-template [bbTemplate]=\"labelContent\">{{ labelContent }}</ng-template>\n </label>\n}\n\n<ng-select [formControl]=\"control\"\n [notFoundText]=\"'select.not_found_text' | bbLocalize\"\n [clearAllText]=\"'select.clear_all_text' | bbLocalize\"\n [loadingText]=\"'select.loading_text' | bbLocalize\"\n [typeToSearchText]=\"'select.type_to_search_text' | bbLocalize\"\n [addTagText]=\"'select.add_tag_text' | bbLocalize\"\n [virtualScroll]=\"virtualScroll\"\n [items]=\"data | async\"\n [multiple]=\"multiple\"\n [loading]=\"loading\"\n [labelForId]=\"labelId\"\n [searchable]=\"searchable\"\n [placeholder]=\"placeholder\"\n [clearable]=\"clearable\"\n [closeOnSelect]=\"closeOnSelect\"\n [trackByFn]=\"trackByFn\"\n [typeahead]=\"typeahead\"\n [bindLabel]=\"bindLabel\"\n [bindValue]=\"bindValue\"\n [selectableGroup]=\"selectableGroup\"\n [selectableGroupAsModel]=\"selectableGroupAsModel\"\n [clearSearchOnAdd]=\"clearSearchOnAdd\"\n [groupBy]=\"groupBy\"\n [isOpen]=\"isOpen\"\n [addTag]=\"addTag\"\n [inputAttrs]=\"{autocorrect: 'off', autocapitalize: 'none', spellcheck: 'false', autocomplete: 'off'}\"\n [appendTo]=\"appendTo\"\n (blur)=\"onBlur?.emit($event)\"\n (change)=\"onChange?.emit($event)\">\n @if (optionTemplate) {\n <ng-template ng-option-tmp\n let-item=\"item\"\n let-item$=\"item$\"\n let-index=\"index\">\n <ng-container\n *ngTemplateOutlet=\"optionTemplate; context: {item: item, item$: item$, index: index}\"></ng-container>\n </ng-template>\n }\n @if (labelTemplate) {\n <ng-template ng-label-tmp\n let-item=\"item\"\n let-item$=\"item$\"\n let-index=\"index\">\n <ng-container\n *ngTemplateOutlet=\"labelTemplate; context: {item: item, item$: item$, index: index}\"></ng-container>\n </ng-template>\n }\n @if (multiLabelTemplate) {\n <ng-template ng-multi-label-tmp\n let-items=\"items\"\n let-clear=\"clear\">\n <ng-container *ngTemplateOutlet=\"multiLabelTemplate; context: {items: items, clear: clear}\"></ng-container>\n </ng-template>\n }\n @if (optionGroupTemplate) {\n <ng-template ng-optgroup-tmp\n let-item=\"item\"\n let-item$=\"item$\"\n let-index=\"index\">\n <ng-container\n *ngTemplateOutlet=\"optionGroupTemplate; context: {item: item, item$: item$, index: index}\"></ng-container>\n </ng-template>\n }\n</ng-select>\n\n@if (!hideErrors) {\n <bb-form-error (errorChange)=\"onErrorChange($event)\"></bb-form-error>\n}\n\n<!-- The form control hint. -->\n@if (hint; as hintContent) {\n <p class=\"bb-select-hint\">\n <ng-template [bbTemplate]=\"hintContent\">{{ hintContent }}</ng-template>\n </p>\n}\n", styles: [".bb-select{color:#2d3c4d;display:block;font-size:1rem}.bb-select.grouped{margin-bottom:1rem}.bb-select.required>.bb-select-label:after{content:\"*\";font-size:.75rem;vertical-align:top;color:var(--bb-form-label-required-color)}.bb-select.error>.bb-select-label{color:#c23934}.bb-select.error>.ng-select>.ng-select-container,.bb-select.error>.ng-select.ng-select-opened>.ng-select-container:hover{box-shadow:0 .375rem .375rem -.375rem #0000001a,0 0 0 .1875rem #f8d3d3}.bb-select.error>.ng-select>.ng-select-container{border:1px solid hsl(0,73%,30%);background-color:#f8d3d3}.bb-select.error>.ng-select>.ng-select-container>.ng-value-container>.ng-placeholder{color:#ea7b7b}.bb-select.hide-arrow .ng-arrow-wrapper{width:0;opacity:0;overflow:hidden;-webkit-user-select:none;user-select:none;pointer-events:none}.bb-select-label{display:block;margin-bottom:.25rem;color:var(--bb-form-label-color);font-size:var(--bb-form-label-font-size);font-weight:var(--bb-form-label-font-weight)}.bb-select-hint{display:block;line-height:1.5;margin-top:.25rem;font-size:.8125rem;color:#758795}.ng-select.ng-select-opened>.ng-select-container{background:#fff}.ng-select.ng-select-opened>.ng-select-container:hover{box-shadow:none}.ng-select.ng-select-opened>.ng-select-container .ng-arrow{top:-.125rem;border-width:0 .3125rem .3125rem;border-color:transparent transparent #808993}.ng-select.ng-select-opened>.ng-select-container .ng-arrow:hover{border-color:transparent transparent #212327}.ng-select.ng-select-opened.ng-select-top>.ng-select-container{border-top-left-radius:0;border-top-right-radius:0}.ng-select.ng-select-opened.ng-select-right>.ng-select-container{border-top-right-radius:0;border-bottom-right-radius:0}.ng-select.ng-select-opened.ng-select-bottom>.ng-select-container{border-bottom-right-radius:0;border-bottom-left-radius:0}.ng-select.ng-select-opened.ng-select-left>.ng-select-container{border-top-left-radius:0;border-bottom-left-radius:0}.ng-select.ng-select-focused:not(.ng-select-opened)>.ng-select-container{box-shadow:0 .375rem .375rem -.375rem #0000001a,var(--select-box-shadow);border-color:#757e8a}.ng-select.ng-select-disabled>.ng-select-container{color:gray;background-color:#e6e6e6}.ng-select .ng-has-value .ng-placeholder{display:none}.ng-select .ng-select-container{align-items:center;transition-duration:.25s;min-height:2.5rem;color:#111;background-color:#fff;border:1px solid hsl(213,8%,74%);border-radius:.5rem;transition-property:background-color,box-shadow;transition-timing-function:cubic-bezier(0,0,.2,1);box-shadow:0 .375rem .375rem -.375rem #0000001a}.ng-select .ng-select-container .ng-value-container{align-items:center;padding-left:.5rem}.ng-select .ng-select-container .ng-value-container .ng-placeholder{color:#d1d1d1}.ng-select.ng-select-single .ng-select-container{height:2.5rem}.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input{left:0;top:50%;padding-right:3.125rem;transform:translateY(-50%);padding-left:.5rem}.ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value{border-radius:.25rem;background-color:#f9f9f9;border:1px solid #d3d6d9}.ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value .ng-value-label{padding:0 .3125rem}.ng-select.ng-select-multiple .ng-select-container .ng-value-container{padding-top:.3125rem;padding-left:.4375rem}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{line-height:1.6;margin-right:.3125rem;border-radius:.125rem;margin-bottom:.3125rem;color:#111;font-size:1rem;background-color:#ebf5ff}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled{background-color:#f9f9f9}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled .ng-value-label{padding-left:.3125rem}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-label,.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon{display:inline-block;padding:.0625rem .3125rem}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon:hover{background-color:#d1e8ff}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.left{border-right:1px solid #b8dbff}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.right{border-left:1px solid #b8dbff}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{padding:0 0 .1875rem .1875rem}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input>input{color:#111}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{padding-left:.1875rem;padding-bottom:.3125rem}.ng-select .ng-clear-wrapper{color:#808993}.ng-select .ng-clear-wrapper:hover .ng-clear{color:#d0021b}.ng-select .ng-clear-wrapper:focus .ng-clear{color:#d0021b}.ng-select .ng-clear-wrapper:focus{outline:none}.ng-select .ng-spinner-zone{padding:.3125rem .3125rem 0 0}.ng-select .ng-arrow-wrapper{width:1.5625rem;padding-right:.3125rem}.ng-select .ng-arrow-wrapper:hover .ng-arrow{border-top-color:#50565e}.ng-select .ng-arrow-wrapper .ng-arrow{border-style:solid;border-width:.3125rem .3125rem .15625rem;border-color:#808993 transparent transparent}.ng-dropdown-panel{left:0;box-shadow:0 1px #0000000f;background-color:#fff;border:1px solid hsl(213,8%,74%)}.ng-dropdown-panel.ng-select-top{bottom:100%;margin-bottom:-1px;border-top-left-radius:.5rem;border-top-right-radius:.5rem;border-bottom-color:#d3d6d9}.ng-dropdown-panel.ng-select-top .ng-dropdown-panel-items .ng-option:first-child{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.ng-dropdown-panel.ng-select-right{top:0;left:100%;margin-bottom:-1px;border-top-right-radius:.5rem;border-bottom-left-radius:.5rem;border-bottom-color:#d3d6d9;border-bottom-right-radius:.5rem}.ng-dropdown-panel.ng-select-right .ng-dropdown-panel-items .ng-option:first-child{border-top-right-radius:.5rem}.ng-dropdown-panel.ng-select-bottom{top:100%;margin-top:-1px;border-top-color:#d3d6d9;border-bottom-left-radius:.5rem;border-bottom-right-radius:.5rem}.ng-dropdown-panel.ng-select-bottom .ng-dropdown-panel-items .ng-option:last-child{border-bottom-left-radius:.5rem;border-bottom-right-radius:.5rem}.ng-dropdown-panel.ng-select-left{top:0;left:-100%;margin-bottom:-1px;border-top-left-radius:.5rem;border-bottom-left-radius:.5rem;border-bottom-color:#d3d6d9;border-bottom-right-radius:.5rem}.ng-dropdown-panel.ng-select-left .ng-dropdown-panel-items .ng-option:first-child{border-top-left-radius:.5rem}.ng-dropdown-panel .ng-dropdown-header{padding:.3125rem .4375rem;border-bottom:1px solid hsl(213,8%,74%)}.ng-dropdown-panel .ng-dropdown-footer{padding:.3125rem .4375rem;border-top:1px solid hsl(213,8%,74%)}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup{cursor:pointer;font-weight:500;-webkit-user-select:none;user-select:none;padding:.5rem .625rem;color:#0000008a}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-disabled{cursor:default}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-marked{background-color:#f5faff}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-selected,.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-selected.ng-option-marked{font-weight:500;background-color:#ebf5ff;color:#0000008a}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option{font-size:1rem;font-weight:400;padding:.5rem .625rem;color:#000000de;background-color:#fff}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected,.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-marked{color:#111;background-color:#ebf5ff}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected .ng-option-label,.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-marked .ng-option-label{font-weight:500}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-marked{color:#111;background-color:#f5faff}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-disabled{color:#aaa}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-left:1.375rem}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label{font-size:80%;font-weight:400;padding-right:.3125rem}\n"] }]
129
+ ], template: "<!-- Label of the form control. -->\n@if (label; as labelContent) {\n <label [attr.for]=\"labelId\"\n class=\"bb-select-label\">\n <ng-template [bbTemplate]=\"labelContent\">{{ labelContent }}</ng-template>\n </label>\n}\n\n<ng-select [formControl]=\"control\"\n [notFoundText]=\"'select.not_found_text' | bbLocalize\"\n [clearAllText]=\"'select.clear_all_text' | bbLocalize\"\n [loadingText]=\"'select.loading_text' | bbLocalize\"\n [typeToSearchText]=\"'select.type_to_search_text' | bbLocalize\"\n [addTagText]=\"'select.add_tag_text' | bbLocalize\"\n [virtualScroll]=\"virtualScroll\"\n [items]=\"data | async\"\n [multiple]=\"multiple\"\n [loading]=\"loading\"\n [labelForId]=\"labelId\"\n [searchable]=\"searchable\"\n [placeholder]=\"placeholder\"\n [clearable]=\"clearable\"\n [closeOnSelect]=\"closeOnSelect\"\n [trackByFn]=\"trackByFn\"\n [typeahead]=\"typeahead\"\n [bindLabel]=\"bindLabel\"\n [bindValue]=\"bindValue\"\n [selectableGroup]=\"selectableGroup\"\n [selectableGroupAsModel]=\"selectableGroupAsModel\"\n [clearSearchOnAdd]=\"clearSearchOnAdd\"\n [groupBy]=\"groupBy\"\n [isOpen]=\"isOpen\"\n [addTag]=\"addTag\"\n [inputAttrs]=\"{autocorrect: 'off', autocapitalize: 'none', spellcheck: 'false', autocomplete: 'off'}\"\n [appendTo]=\"appendTo\"\n (blur)=\"onBlur?.emit($event)\"\n (change)=\"onChange?.emit($event)\">\n @if (optionTemplate) {\n <ng-template ng-option-tmp\n let-item=\"item\"\n let-item$=\"item$\"\n let-index=\"index\">\n <ng-container\n *ngTemplateOutlet=\"optionTemplate; context: {item: item, item$: item$, index: index}\"></ng-container>\n </ng-template>\n }\n @if (labelTemplate) {\n <ng-template ng-label-tmp\n let-item=\"item\"\n let-item$=\"item$\"\n let-index=\"index\">\n <ng-container\n *ngTemplateOutlet=\"labelTemplate; context: {item: item, item$: item$, index: index}\"></ng-container>\n </ng-template>\n }\n @if (multiLabelTemplate) {\n <ng-template ng-multi-label-tmp\n let-items=\"items\"\n let-clear=\"clear\">\n <ng-container *ngTemplateOutlet=\"multiLabelTemplate; context: {items: items, clear: clear}\"></ng-container>\n </ng-template>\n }\n @if (optionGroupTemplate) {\n <ng-template ng-optgroup-tmp\n let-item=\"item\"\n let-item$=\"item$\"\n let-index=\"index\">\n <ng-container\n *ngTemplateOutlet=\"optionGroupTemplate; context: {item: item, item$: item$, index: index}\"></ng-container>\n </ng-template>\n }\n</ng-select>\n\n@if (!hideErrors) {\n <bb-form-error (errorChange)=\"onErrorChange($event)\"></bb-form-error>\n}\n\n<!-- The form control hint. -->\n@if (hint; as hintContent) {\n <p class=\"bb-select-hint\">\n <ng-template [bbTemplate]=\"hintContent\">{{ hintContent }}</ng-template>\n </p>\n}\n", styles: [".bb-select{color:#2d3c4d;display:block;font-size:1rem}.bb-select.grouped{margin-bottom:1.5rem}.bb-select.required>.bb-select-label:after{content:\"*\";font-size:.75rem;vertical-align:top;color:var(--bb-form-label-required-color)}.bb-select.error>.bb-select-label{color:#c23934}.bb-select.error>.ng-select>.ng-select-container,.bb-select.error>.ng-select.ng-select-opened>.ng-select-container:hover{box-shadow:0 .375rem .375rem -.375rem #0000001a,0 0 0 .1875rem #f8d3d3}.bb-select.error>.ng-select>.ng-select-container{border:1px solid hsl(0,73%,30%);background-color:#f8d3d3}.bb-select.error>.ng-select>.ng-select-container>.ng-value-container>.ng-placeholder{color:#ea7b7b}.bb-select.hide-arrow .ng-arrow-wrapper{width:0;opacity:0;overflow:hidden;-webkit-user-select:none;user-select:none;pointer-events:none}.bb-select-label{display:block;margin-bottom:.25rem;color:var(--bb-form-label-color);font-size:var(--bb-form-label-font-size);font-weight:var(--bb-form-label-font-weight)}.bb-select-hint{display:block;line-height:1.5;margin-top:.25rem;font-size:.8125rem;color:#758795}.ng-select.ng-select-opened>.ng-select-container{background:#fff}.ng-select.ng-select-opened>.ng-select-container:hover{box-shadow:none}.ng-select.ng-select-opened>.ng-select-container .ng-arrow{top:-.125rem;border-width:0 .3125rem .3125rem;border-color:transparent transparent #808993}.ng-select.ng-select-opened>.ng-select-container .ng-arrow:hover{border-color:transparent transparent #212327}.ng-select.ng-select-opened.ng-select-top>.ng-select-container{border-top-left-radius:0;border-top-right-radius:0}.ng-select.ng-select-opened.ng-select-right>.ng-select-container{border-top-right-radius:0;border-bottom-right-radius:0}.ng-select.ng-select-opened.ng-select-bottom>.ng-select-container{border-bottom-right-radius:0;border-bottom-left-radius:0}.ng-select.ng-select-opened.ng-select-left>.ng-select-container{border-top-left-radius:0;border-bottom-left-radius:0}.ng-select.ng-select-focused:not(.ng-select-opened)>.ng-select-container{box-shadow:0 .375rem .375rem -.375rem #0000001a,var(--select-box-shadow);border-color:#757e8a}.ng-select.ng-select-disabled>.ng-select-container{color:gray;background-color:#e6e6e6}.ng-select .ng-has-value .ng-placeholder{display:none}.ng-select .ng-select-container{align-items:center;transition-duration:.25s;min-height:2.625rem;color:#111;background-color:#fff;border:1px solid hsl(213,8%,74%);border-radius:.5rem;transition-property:background-color,box-shadow;transition-timing-function:cubic-bezier(0,0,.2,1);box-shadow:0 .375rem .375rem -.375rem #0000001a}.ng-select .ng-select-container .ng-value-container{align-items:center;padding-left:.5rem}.ng-select .ng-select-container .ng-value-container .ng-placeholder{color:#d1d1d1}.ng-select.ng-select-single .ng-select-container{height:2.625rem}.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input{left:0;top:50%;padding-right:3.125rem;transform:translateY(-50%);padding-left:.5rem}.ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value{border-radius:.25rem;background-color:#f9f9f9;border:1px solid #d3d6d9}.ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value .ng-value-label{padding:0 .3125rem}.ng-select.ng-select-multiple .ng-select-container .ng-value-container{padding-top:.3125rem;padding-left:.4375rem}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{line-height:1.6;margin-right:.3125rem;border-radius:.125rem;margin-bottom:.3125rem;color:#111;font-size:1rem;background-color:#ebf5ff}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled{background-color:#f9f9f9}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled .ng-value-label{padding-left:.3125rem}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-label,.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon{display:inline-block;padding:.0625rem .3125rem}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon:hover{background-color:#d1e8ff}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.left{border-right:1px solid #b8dbff}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.right{border-left:1px solid #b8dbff}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{padding:0 0 .1875rem .1875rem}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input>input{color:#111}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{padding-left:.1875rem;padding-bottom:.3125rem}.ng-select .ng-clear-wrapper{color:#808993}.ng-select .ng-clear-wrapper:hover .ng-clear{color:#d0021b}.ng-select .ng-clear-wrapper:focus .ng-clear{color:#d0021b}.ng-select .ng-clear-wrapper:focus{outline:none}.ng-select .ng-spinner-zone{padding:.3125rem .3125rem 0 0}.ng-select .ng-arrow-wrapper{width:1.5625rem;padding-right:.3125rem}.ng-select .ng-arrow-wrapper:hover .ng-arrow{border-top-color:#50565e}.ng-select .ng-arrow-wrapper .ng-arrow{border-style:solid;border-width:.3125rem .3125rem .15625rem;border-color:#808993 transparent transparent}.ng-dropdown-panel{left:0;box-shadow:0 1px #0000000f;background-color:#fff;border:1px solid hsl(213,8%,74%)}.ng-dropdown-panel.ng-select-top{bottom:100%;margin-bottom:-1px;border-top-left-radius:.5rem;border-top-right-radius:.5rem;border-bottom-color:#d3d6d9}.ng-dropdown-panel.ng-select-top .ng-dropdown-panel-items .ng-option:first-child{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.ng-dropdown-panel.ng-select-right{top:0;left:100%;margin-bottom:-1px;border-top-right-radius:.5rem;border-bottom-left-radius:.5rem;border-bottom-color:#d3d6d9;border-bottom-right-radius:.5rem}.ng-dropdown-panel.ng-select-right .ng-dropdown-panel-items .ng-option:first-child{border-top-right-radius:.5rem}.ng-dropdown-panel.ng-select-bottom{top:100%;margin-top:-1px;border-top-color:#d3d6d9;border-bottom-left-radius:.5rem;border-bottom-right-radius:.5rem}.ng-dropdown-panel.ng-select-bottom .ng-dropdown-panel-items .ng-option:last-child{border-bottom-left-radius:.5rem;border-bottom-right-radius:.5rem}.ng-dropdown-panel.ng-select-left{top:0;left:-100%;margin-bottom:-1px;border-top-left-radius:.5rem;border-bottom-left-radius:.5rem;border-bottom-color:#d3d6d9;border-bottom-right-radius:.5rem}.ng-dropdown-panel.ng-select-left .ng-dropdown-panel-items .ng-option:first-child{border-top-left-radius:.5rem}.ng-dropdown-panel .ng-dropdown-header{padding:.3125rem .4375rem;border-bottom:1px solid hsl(213,8%,74%)}.ng-dropdown-panel .ng-dropdown-footer{padding:.3125rem .4375rem;border-top:1px solid hsl(213,8%,74%)}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup{cursor:pointer;font-weight:500;-webkit-user-select:none;user-select:none;padding:.5rem .625rem;color:#0000008a}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-disabled{cursor:default}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-marked{background-color:#f5faff}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-selected,.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-selected.ng-option-marked{font-weight:500;background-color:#ebf5ff;color:#0000008a}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option{font-size:1rem;font-weight:400;padding:.5rem .625rem;color:#000000de;background-color:#fff}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected,.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-marked{color:#111;background-color:#ebf5ff}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected .ng-option-label,.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-marked .ng-option-label{font-weight:500}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-marked{color:#111;background-color:#f5faff}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-disabled{color:#aaa}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-left:1.375rem}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label{font-size:80%;font-weight:400;padding-right:.3125rem}\n"] }]
130
130
  }], propDecorators: { optionTemplate: [{
131
131
  type: ContentChild,
132
132
  args: [BbSelectOption, { read: TemplateRef }]
@@ -220,4 +220,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
220
220
  }], onChange: [{
221
221
  type: Output
222
222
  }] } });
223
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vc2VsZWN0L3NyYy9saWIvc2VsZWN0L3NlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL3NlbGVjdC9zcmMvbGliL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGdCQUFnQixFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3hNLE9BQU8sRUFBdUIsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDekcsT0FBTyxFQUFDLGlCQUFpQixFQUFFLGNBQWMsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ3ZFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ25FLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUM3RCxPQUFPLEVBQUMsU0FBUyxFQUFFLGdCQUFnQixFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDNUQsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDNUQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQzVELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFD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QUNFLHNCQUFzQjtzQkFBM0QsS0FBSzt1QkFBQyxFQUFDLFNBQVMsRUFBRSxnQkFBZ0IsRUFBQztnQkFDRSxTQUFTO3NCQUE5QyxLQUFLO3VCQUFDLEVBQUMsU0FBUyxFQUFFLGdCQUFnQixFQUFDO2dCQUNFLFdBQVc7c0JBQWhELEtBQUs7dUJBQUMsRUFBQyxTQUFTLEVBQUUsZ0JBQWdCLEVBQUM7Z0JBQzNCLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFHRixLQUFLO3NCQURSLEtBQUs7Z0JBS0ksV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxNQUFNO3NCQUFmLE1BQU07Z0JBQ0csUUFBUTtzQkFBakIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Ym9vbGVhbkF0dHJpYnV0ZSwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgQ29udGVudENoaWxkLCBFdmVudEVtaXR0ZXIsIGZvcndhcmRSZWYsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiwgRm9ybUNvbnRyb2wsIFJlYWN0aXZlRm9ybXNNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7TmdTZWxlY3RDb21wb25lbnQsIE5nU2VsZWN0TW9kdWxlfSBmcm9tICdAbmctc2VsZWN0L25nLXNlbGVjdCc7XG5pbXBvcnQge0JiU2VsZWN0T3B0aW9uR3JvdXB9IGZyb20gJy4uL3NlbGVjdC1vcHRpb24tZ3JvdXAuZGlyZWN0aXZlJztcbmltcG9ydCB7QmJTZWxlY3RNdWx0aUxhYmVsfSBmcm9tICcuLi9zZWxlY3QtbXVsdGktbGFiZWwuZGlyZWN0aXZlJztcbmltcG9ydCB7QmJGb3JtRXJyb3J9IGZyb20gJ0BicmF2b2JpdC9iYi1mb3VuZGF0aW9uL2VsZW1lbnRzJztcbmltcG9ydCB7QXN5bmNQaXBlLCBOZ1RlbXBsYXRlT3V0bGV0fSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtvYnNlcnZhYmxlQXR0cmlidXRlfSBmcm9tICdAYnJhdm9iaXQvYmItZm91bmRhdGlvbic7XG5pbXBvcnQge0JiTG9jYWxpemV9IGZyb20gJ0BicmF2b2JpdC9iYi1mb3VuZGF0aW9uL2xvY2FsaXplJztcbmltcG9ydCB7QmJTZWxlY3RPcHRpb259IGZyb20gJy4uL3NlbGVjdC1vcHRpb24uZGlyZWN0aXZlJztcbmltcG9ydCB7QmJUZW1wbGF0ZX0gZnJvbSAnQGJyYXZvYml0L2JiLWZvdW5kYXRpb24vdXRpbHMnO1xuaW1wb3J0IHtCYlNlbGVjdExhYmVsfSBmcm9tICcuLi9zZWxlY3QtbGFiZWwuZGlyZWN0aXZlJztcbmltcG9ydCB7T2JzZXJ2YWJsZSwgU3ViamVjdCwgU3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcblxubGV0IG5leHRVbmlxdWVJZCA9IDA7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYmItc2VsZWN0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zZWxlY3QuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHByb3ZpZGVyczogW3tcbiAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEJiU2VsZWN0KSxcbiAgICAgICAgbXVsdGk6IHRydWVcbiAgICB9XSxcbiAgICBob3N0OiB7XG4gICAgICAgICdjbGFzcyc6ICdiYi1zZWxlY3QnLFxuICAgICAgICAnW2NsYXNzLnJlcXVpcmVkXSc6ICdyZXF1aXJlZCcsXG4gICAgICAgICdbY2xhc3MuZGlzYWJsZWRdJzogJ2Rpc2FibGVkJyxcbiAgICAgICAgJ1tjbGFzcy5ncm91cGVkXSc6ICdncm91cGVkJyxcbiAgICAgICAgJ1tjbGFzcy5lcnJvcl0nOiAnZXJyb3InLFxuICAgICAgICAnW2NsYXNzLmhpZGUtYXJyb3ddJzogJ2hpZGVBcnJvdydcbiAgICB9LFxuICAgIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBOZ1NlbGVjdE1vZHVsZSxcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICAgICAgQXN5bmNQaXBlLFxuICAgICAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgICAgICBCYlRlbXBsYXRlLFxuICAgICAgICBCYkZvcm1FcnJvcixcbiAgICAgICAgQmJMb2NhbGl6ZVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgQmJTZWxlY3Q8VD4gaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gICAgLy8gUmVhZG9ubHkgZGF0YS5cbiAgICByZWFkb25seSBsYWJlbElkID0gYGJiLXNlbGVjdC0ke25leHRVbmlxdWVJZCsrfWA7XG4gICAgcmVhZG9ubHkgY29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgpO1xuXG4gICAgLy8gQ29udGVudCBjaGlsZHJlbi5cbiAgICBAQ29udGVudENoaWxkKEJiU2VsZWN0T3B0aW9uLCB7cmVhZDogVGVtcGxhdGVSZWZ9KSBvcHRpb25UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcbiAgICBAQ29udGVudENoaWxkKEJiU2VsZWN0T3B0aW9uR3JvdXAsIHtyZWFkOiBUZW1wbGF0ZVJlZn0pIG9wdGlvbkdyb3VwVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgQENvbnRlbnRDaGlsZChCYlNlbGVjdExhYmVsLCB7cmVhZDogVGVtcGxhdGVSZWZ9KSBsYWJlbFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIEBDb250ZW50Q2hpbGQoQmJTZWxlY3RNdWx0aUxhYmVsLCB7cmVhZDogVGVtcGxhdGVSZWZ9KSBtdWx0aUxhYmVsVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICAvLyBWaWV3IGNoaWxkcmVuLlxuICAgIEBWaWV3Q2hpbGQoTmdTZWxlY3RDb21wb25lbnQsIHtzdGF0aWM6IHRydWV9KSBzZWxlY3RDb21wb25lbnQ6IE5nU2VsZWN0Q29tcG9uZW50O1xuXG4gICAgLy8gSW5wdXRzLlxuICAgIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbCA9IG51bGw7XG4gICAgQElucHV0KCkgaGludDogc3RyaW5nIHwgVGVtcGxhdGVSZWY8YW55PiB8IG51bGwgPSBudWxsO1xuICAgIEBJbnB1dCh7dHJhbnNmb3JtOiBvYnNlcnZhYmxlQXR0cmlidXRlfSkgZGF0YTogT2JzZXJ2YWJsZTxUW10+IHwgbnVsbCA9IG51bGw7XG4gICAgQElucHV0KHt0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGV9KSByZXF1aXJlZDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIEBJbnB1dCh7dHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlfSkgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBASW5wdXQoe3RyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZX0pIGdyb3VwZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBASW5wdXQoe3RyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZX0pIGhpZGVFcnJvcnM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBASW5wdXQoe3RyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZX0pIGxvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBASW5wdXQoe3RyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZX0pIG11bHRpcGxlOiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KHt0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGV9KSBjbGVhcmFibGU6IGJvb2xlYW4gPSB0cnVlO1xuICAgIEBJbnB1dCh7dHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlfSkgc2VhcmNoYWJsZTogYm9vbGVhbiA9IHRydWU7XG4gICAgQElucHV0KHt0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGV9KSB2aXJ0dWFsU2Nyb2xsOiBib29sZWFuID0gdHJ1ZTtcbiAgICBASW5wdXQoe3RyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZX0pIGNsb3NlT25TZWxlY3Q6IGJvb2xlYW4gPSB0cnVlO1xuICAgIEBJbnB1dCh7dHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlfSkgc2VsZWN0YWJsZUdyb3VwOiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KHt0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGV9KSBzZWxlY3RhYmxlR3JvdXBBc01vZGVsOiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KHt0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGV9KSBoaWRlQXJyb3c6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBASW5wdXQoe3RyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZX0pIHNlbGVjdE9uVGFiOiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KCkgYmluZExhYmVsOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgICBASW5wdXQoKSBiaW5kVmFsdWU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICAgIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgICBASW5wdXQoKSB0eXBlYWhlYWQ6IFN1YmplY3Q8c3RyaW5nPiB8IG51bGwgPSBudWxsO1xuICAgIEBJbnB1dCgpIHRyYWNrQnlGbjogYW55IHwgbnVsbCA9IG51bGw7XG4gICAgQElucHV0KCkgZ3JvdXBCeTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gICAgQElucHV0KCkgaXNPcGVuOiBib29sZWFuID0gbnVsbDtcbiAgICBASW5wdXQoKSBjbGVhclNlYXJjaE9uQWRkOiBib29sZWFuID0gbnVsbDtcbiAgICBASW5wdXQoKSBhZGRUYWc6IGJvb2xlYW4gfCAoKHRlcm06IHN0cmluZykgPT4gYW55IHwgUHJvbWlzZTxhbnk+KSA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGFwcGVuZFRvOiBzdHJpbmcgfCBudWxsID0gJ2JvZHknO1xuXG4gICAgQElucHV0KClcbiAgICBnZXQgdmFsdWUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRyb2wudmFsdWU7XG4gICAgfVxuXG4gICAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnkgfCBudWxsPigpO1xuICAgIEBPdXRwdXQoKSBvbkJsdXIgPSBuZXcgRXZlbnRFbWl0dGVyPEZvY3VzRXZlbnQ+KCk7XG4gICAgQE91dHB1dCgpIG9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnkgfCBudWxsPigpO1xuXG4gICAgc2V0IHZhbHVlKHZhbHVlOiBhbnkgfCBudWxsKSB7XG4gICAgICAgIHRoaXMuY29udHJvbC5zZXRWYWx1ZSh2YWx1ZSk7XG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgLy8gU3RhdGUuXG4gICAgZXJyb3I6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8vIENhbGxiYWNrcy5cbiAgICBvblRvdWNoZWRDYWxsYmFjazogKCkgPT4gdm9pZCA9ICgpID0+ICh7fSk7XG4gICAgb25DaGFuZ2VDYWxsYmFjazogKF86IFQgfCBudWxsKSA9PiB2b2lkID0gKCkgPT4gKHt9KTtcblxuICAgIC8vIFN1YnNjcmlwdGlvbnMuXG4gICAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuaGFuZGxlVmFsdWVDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBUIHwgbnVsbCkge1xuICAgICAgICB0aGlzLmNvbnRyb2wucGF0Y2hWYWx1ZSh2YWx1ZSwge2VtaXRFdmVudDogZmFsc2V9KTtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uQ2hhbmdlKG1ldGhvZDogKF86IFQgfCBudWxsKSA9PiB2b2lkKSB7XG4gICAgICAgIHRoaXMub25DaGFuZ2VDYWxsYmFjayA9IG1ldGhvZDtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uVG91Y2hlZChtZXRob2Q6ICgpID0+IHZvaWQpIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWRDYWxsYmFjayA9IG1ldGhvZDtcbiAgICB9XG5cbiAgICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPyB0aGlzLmNvbnRyb2w/LmRpc2FibGUoKSA6IHRoaXMuY29udHJvbD8uZW5hYmxlKCk7XG4gICAgfVxuXG4gICAgb25FcnJvckNoYW5nZShlcnJvcjogeyB0b2tlbjogc3RyaW5nLCBkYXRhPzogYW55IH0gfCBudWxsKSB7XG4gICAgICAgIHRoaXMuZXJyb3IgPSAhIWVycm9yO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlVmFsdWVDaGFuZ2VzKCkge1xuICAgICAgICBjb25zdCBzdWJzY3JpcHRpb24gPSB0aGlzLmNvbnRyb2wudmFsdWVDaGFuZ2VzXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHZhbHVlID0+IHRoaXMub25DaGFuZ2VDYWxsYmFjaz8uKHZhbHVlKSk7XG4gICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbi5hZGQoc3Vic2NyaXB0aW9uKTtcbiAgICB9XG5cbn1cbiIsIjwhLS0gTGFiZWwgb2YgdGhlIGZvcm0gY29udHJvbC4gLS0+XG5AaWYgKGxhYmVsOyBhcyBsYWJlbENvbnRlbnQpIHtcbiAgICA8bGFiZWwgW2F0dHIuZm9yXT1cImxhYmVsSWRcIlxuICAgICAgICAgICBjbGFzcz1cImJiLXNlbGVjdC1sYWJlbFwiPlxuICAgICAgICA8bmctdGVtcGxhdGUgW2JiVGVtcGxhdGVdPVwibGFiZWxDb250ZW50XCI+e3sgbGFiZWxDb250ZW50IH19PC9uZy10ZW1wbGF0ZT5cbiAgICA8L2xhYmVsPlxufVxuXG48bmctc2VsZWN0IFtmb3JtQ29udHJvbF09XCJjb250cm9sXCJcbiAgICAgICAgICAgW25vdEZvdW5kVGV4dF09XCInc2VsZWN0Lm5vdF9mb3VuZF90ZXh0JyB8IGJiTG9jYWxpemVcIlxuICAgICAgICAgICBbY2xlYXJBbGxUZXh0XT1cIidzZWxlY3QuY2xlYXJfYWxsX3RleHQnIHwgYmJMb2NhbGl6ZVwiXG4gICAgICAgICAgIFtsb2FkaW5nVGV4dF09XCInc2VsZWN0LmxvYWRpbmdfdGV4dCcgfCBiYkxvY2FsaXplXCJcbiAgICAgICAgICAgW3R5cGVUb1NlYXJjaFRleHRdPVwiJ3NlbGVjdC50eXBlX3RvX3NlYXJjaF90ZXh0JyB8IGJiTG9jYWxpemVcIlxuICAgICAgICAgICBbYWRkVGFnVGV4dF09XCInc2VsZWN0LmFkZF90YWdfdGV4dCcgfCBiYkxvY2FsaXplXCJcbiAgICAgICAgICAgW3ZpcnR1YWxTY3JvbGxdPVwidmlydHVhbFNjcm9sbFwiXG4gICAgICAgICAgIFtpdGVtc109XCJkYXRhIHwgYXN5bmNcIlxuICAgICAgICAgICBbbXVsdGlwbGVdPVwibXVsdGlwbGVcIlxuICAgICAgICAgICBbbG9hZGluZ109XCJsb2FkaW5nXCJcbiAgICAgICAgICAgW2xhYmVsRm9ySWRdPVwibGFiZWxJZFwiXG4gICAgICAgICAgIFtzZWFyY2hhYmxlXT1cInNlYXJjaGFibGVcIlxuICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgICAgICAgICBbY2xlYXJhYmxlXT1cImNsZWFyYWJsZVwiXG4gICAgICAgICAgIFtjbG9zZU9uU2VsZWN0XT1cImNsb3NlT25TZWxlY3RcIlxuICAgICAgICAgICBbdHJhY2tCeUZuXT1cInRyYWNrQnlGblwiXG4gICAgICAgICAgIFt0eXBlYWhlYWRdPVwidHlwZWFoZWFkXCJcbiAgICAgICAgICAgW2JpbmRMYWJlbF09XCJiaW5kTGFiZWxcIlxuICAgICAgICAgICBbYmluZFZhbHVlXT1cImJpbmRWYWx1ZVwiXG4gICAgICAgICAgIFtzZWxlY3RhYmxlR3JvdXBdPVwic2VsZWN0YWJsZUdyb3VwXCJcbiAgICAgICAgICAgW3NlbGVjdGFibGVHcm91cEFzTW9kZWxdPVwic2VsZWN0YWJsZUdyb3VwQXNNb2RlbFwiXG4gICAgICAgICAgIFtjbGVhclNlYXJjaE9uQWRkXT1cImNsZWFyU2VhcmNoT25BZGRcIlxuICAgICAgICAgICBbZ3JvdXBCeV09XCJncm91cEJ5XCJcbiAgICAgICAgICAgW2lzT3Blbl09XCJpc09wZW5cIlxuICAgICAgICAgICBbYWRkVGFnXT1cImFkZFRhZ1wiXG4gICAgICAgICAgIFtpbnB1dEF0dHJzXT1cInthdXRvY29ycmVjdDogJ29mZicsIGF1dG9jYXBpdGFsaXplOiAnbm9uZScsIHNwZWxsY2hlY2s6ICdmYWxzZScsIGF1dG9jb21wbGV0ZTogJ29mZid9XCJcbiAgICAgICAgICAgW2FwcGVuZFRvXT1cImFwcGVuZFRvXCJcbiAgICAgICAgICAgKGJsdXIpPVwib25CbHVyPy5lbWl0KCRldmVudClcIlxuICAgICAgICAgICAoY2hhbmdlKT1cIm9uQ2hhbmdlPy5lbWl0KCRldmVudClcIj5cbiAgICBAaWYgKG9wdGlvblRlbXBsYXRlKSB7XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBuZy1vcHRpb24tdG1wXG4gICAgICAgICAgICAgICAgICAgICBsZXQtaXRlbT1cIml0ZW1cIlxuICAgICAgICAgICAgICAgICAgICAgbGV0LWl0ZW0kPVwiaXRlbSRcIlxuICAgICAgICAgICAgICAgICAgICAgbGV0LWluZGV4PVwiaW5kZXhcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIm9wdGlvblRlbXBsYXRlOyBjb250ZXh0OiB7aXRlbTogaXRlbSwgaXRlbSQ6IGl0ZW0kLCBpbmRleDogaW5kZXh9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgfVxuICAgIEBpZiAobGFiZWxUZW1wbGF0ZSkge1xuICAgICAgICA8bmctdGVtcGxhdGUgbmctbGFiZWwtdG1wXG4gICAgICAgICAgICAgICAgICAgICBsZXQtaXRlbT1cIml0ZW1cIlxuICAgICAgICAgICAgICAgICAgICAgbGV0LWl0ZW0kPVwiaXRlbSRcIlxuICAgICAgICAgICAgICAgICAgICAgbGV0LWluZGV4PVwiaW5kZXhcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cImxhYmVsVGVtcGxhdGU7IGNvbnRleHQ6IHtpdGVtOiBpdGVtLCBpdGVtJDogaXRlbSQsIGluZGV4OiBpbmRleH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICB9XG4gICAgQGlmIChtdWx0aUxhYmVsVGVtcGxhdGUpIHtcbiAgICAgICAgPG5nLXRlbXBsYXRlIG5nLW11bHRpLWxhYmVsLXRtcFxuICAgICAgICAgICAgICAgICAgICAgbGV0LWl0ZW1zPVwiaXRlbXNcIlxuICAgICAgICAgICAgICAgICAgICAgbGV0LWNsZWFyPVwiY2xlYXJcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJtdWx0aUxhYmVsVGVtcGxhdGU7IGNvbnRleHQ6IHtpdGVtczogaXRlbXMsIGNsZWFyOiBjbGVhcn1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICB9XG4gICAgQGlmIChvcHRpb25Hcm91cFRlbXBsYXRlKSB7XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBuZy1vcHRncm91cC10bXBcbiAgICAgICAgICAgICAgICAgICAgIGxldC1pdGVtPVwiaXRlbVwiXG4gICAgICAgICAgICAgICAgICAgICBsZXQtaXRlbSQ9XCJpdGVtJFwiXG4gICAgICAgICAgICAgICAgICAgICBsZXQtaW5kZXg9XCJpbmRleFwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwib3B0aW9uR3JvdXBUZW1wbGF0ZTsgY29udGV4dDoge2l0ZW06IGl0ZW0sIGl0ZW0kOiBpdGVtJCwgaW5kZXg6IGluZGV4fVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgIH1cbjwvbmctc2VsZWN0PlxuXG5AaWYgKCFoaWRlRXJyb3JzKSB7XG4gICAgPGJiLWZvcm0tZXJyb3IgKGVycm9yQ2hhbmdlKT1cIm9uRXJyb3JDaGFuZ2UoJGV2ZW50KVwiPjwvYmItZm9ybS1lcnJvcj5cbn1cblxuPCEtLSBUaGUgZm9ybSBjb250cm9sIGhpbnQuIC0tPlxuQGlmIChoaW50OyBhcyBoaW50Q29udGVudCkge1xuICAgIDxwIGNsYXNzPVwiYmItc2VsZWN0LWhpbnRcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIFtiYlRlbXBsYXRlXT1cImhpbnRDb250ZW50XCI+e3sgaGludENvbnRlbnQgfX08L25nLXRlbXBsYXRlPlxuICAgIDwvcD5cbn1cbiJdfQ==
223
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vc2VsZWN0L3NyYy9saWIvc2VsZWN0L3NlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL3NlbGVjdC9zcmMvbGliL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGdCQUFnQixFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3hNLE9BQU8sRUFBdUIsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDekcsT0FBTyxFQUFDLGlCQUFpQixFQUFFLGNBQWMsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ3ZFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ25FLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUM3RCxPQUFPLEVBQUMsU0FBUyxFQUFFLGdCQUFnQixFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDNUQsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDNUQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQzVELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFD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QUNFLHNCQUFzQjtzQkFBM0QsS0FBSzt1QkFBQyxFQUFDLFNBQVMsRUFBRSxnQkFBZ0IsRUFBQztnQkFDRSxTQUFTO3NCQUE5QyxLQUFLO3VCQUFDLEVBQUMsU0FBUyxFQUFFLGdCQUFnQixFQUFDO2dCQUNFLFdBQVc7c0JBQWhELEtBQUs7dUJBQUMsRUFBQyxTQUFTLEVBQUUsZ0JBQWdCLEVBQUM7Z0JBQzNCLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFHRixLQUFLO3NCQURSLEtBQUs7Z0JBS0ksV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxNQUFNO3NCQUFmLE1BQU07Z0JBQ0csUUFBUTtzQkFBakIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Ym9vbGVhbkF0dHJpYnV0ZSwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgQ29udGVudENoaWxkLCBFdmVudEVtaXR0ZXIsIGZvcndhcmRSZWYsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiwgRm9ybUNvbnRyb2wsIFJlYWN0aXZlRm9ybXNNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7TmdTZWxlY3RDb21wb25lbnQsIE5nU2VsZWN0TW9kdWxlfSBmcm9tICdAbmctc2VsZWN0L25nLXNlbGVjdCc7XG5pbXBvcnQge0JiU2VsZWN0T3B0aW9uR3JvdXB9IGZyb20gJy4uL3NlbGVjdC1vcHRpb24tZ3JvdXAuZGlyZWN0aXZlJztcbmltcG9ydCB7QmJTZWxlY3RNdWx0aUxhYmVsfSBmcm9tICcuLi9zZWxlY3QtbXVsdGktbGFiZWwuZGlyZWN0aXZlJztcbmltcG9ydCB7QmJGb3JtRXJyb3J9IGZyb20gJ0BicmF2b2JpdC9iYi1mb3VuZGF0aW9uL2VsZW1lbnRzJztcbmltcG9ydCB7QXN5bmNQaXBlLCBOZ1RlbXBsYXRlT3V0bGV0fSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtvYnNlcnZhYmxlQXR0cmlidXRlfSBmcm9tICdAYnJhdm9iaXQvYmItZm91bmRhdGlvbic7XG5pbXBvcnQge0JiTG9jYWxpemV9IGZyb20gJ0BicmF2b2JpdC9iYi1mb3VuZGF0aW9uL2xvY2FsaXplJztcbmltcG9ydCB7QmJTZWxlY3RPcHRpb259IGZyb20gJy4uL3NlbGVjdC1vcHRpb24uZGlyZWN0aXZlJztcbmltcG9ydCB7QmJUZW1wbGF0ZX0gZnJvbSAnQGJyYXZvYml0L2JiLWZvdW5kYXRpb24vdXRpbHMnO1xuaW1wb3J0IHtCYlNlbGVjdExhYmVsfSBmcm9tICcuLi9zZWxlY3QtbGFiZWwuZGlyZWN0aXZlJztcbmltcG9ydCB7T2JzZXJ2YWJsZSwgU3ViamVjdCwgU3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcblxubGV0IG5leHRVbmlxdWVJZCA9IDA7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYmItc2VsZWN0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zZWxlY3QuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHByb3ZpZGVyczogW3tcbiAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEJiU2VsZWN0KSxcbiAgICAgICAgbXVsdGk6IHRydWVcbiAgICB9XSxcbiAgICBob3N0OiB7XG4gICAgICAgICdjbGFzcyc6ICdiYi1zZWxlY3QnLFxuICAgICAgICAnW2NsYXNzLnJlcXVpcmVkXSc6ICdyZXF1aXJlZCcsXG4gICAgICAgICdbY2xhc3MuZGlzYWJsZWRdJzogJ2Rpc2FibGVkJyxcbiAgICAgICAgJ1tjbGFzcy5ncm91cGVkXSc6ICdncm91cGVkJyxcbiAgICAgICAgJ1tjbGFzcy5lcnJvcl0nOiAnZXJyb3InLFxuICAgICAgICAnW2NsYXNzLmhpZGUtYXJyb3ddJzogJ2hpZGVBcnJvdydcbiAgICB9LFxuICAgIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBOZ1NlbGVjdE1vZHVsZSxcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICAgICAgQXN5bmNQaXBlLFxuICAgICAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgICAgICBCYlRlbXBsYXRlLFxuICAgICAgICBCYkZvcm1FcnJvcixcbiAgICAgICAgQmJMb2NhbGl6ZVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgQmJTZWxlY3Q8VD4gaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gICAgLy8gUmVhZG9ubHkgZGF0YS5cbiAgICByZWFkb25seSBsYWJlbElkID0gYGJiLXNlbGVjdC0ke25leHRVbmlxdWVJZCsrfWA7XG4gICAgcmVhZG9ubHkgY29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgpO1xuXG4gICAgLy8gQ29udGVudCBjaGlsZHJlbi5cbiAgICBAQ29udGVudENoaWxkKEJiU2VsZWN0T3B0aW9uLCB7cmVhZDogVGVtcGxhdGVSZWZ9KSBvcHRpb25UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcbiAgICBAQ29udGVudENoaWxkKEJiU2VsZWN0T3B0aW9uR3JvdXAsIHtyZWFkOiBUZW1wbGF0ZVJlZn0pIG9wdGlvbkdyb3VwVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgQENvbnRlbnRDaGlsZChCYlNlbGVjdExhYmVsLCB7cmVhZDogVGVtcGxhdGVSZWZ9KSBsYWJlbFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIEBDb250ZW50Q2hpbGQoQmJTZWxlY3RNdWx0aUxhYmVsLCB7cmVhZDogVGVtcGxhdGVSZWZ9KSBtdWx0aUxhYmVsVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICAvLyBWaWV3IGNoaWxkcmVuLlxuICAgIEBWaWV3Q2hpbGQoTmdTZWxlY3RDb21wb25lbnQsIHtzdGF0aWM6IHRydWV9KSBzZWxlY3RDb21wb25lbnQ6IE5nU2VsZWN0Q29tcG9uZW50O1xuXG4gICAgLy8gSW5wdXRzLlxuICAgIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbCA9IG51bGw7XG4gICAgQElucHV0KCkgaGludDogc3RyaW5nIHwgVGVtcGxhdGVSZWY8YW55PiB8IG51bGwgPSBudWxsO1xuICAgIEBJbnB1dCh7dHJhbnNmb3JtOiBvYnNlcnZhYmxlQXR0cmlidXRlfSkgZGF0YTogT2JzZXJ2YWJsZTxUW10+IHwgbnVsbCA9IG51bGw7XG4gICAgQElucHV0KHt0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGV9KSByZXF1aXJlZDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIEBJbnB1dCh7dHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlfSkgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBASW5wdXQoe3RyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZX0pIGdyb3VwZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBASW5wdXQoe3RyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZX0pIGhpZGVFcnJvcnM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBASW5wdXQoe3RyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZX0pIGxvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBASW5wdXQoe3RyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZX0pIG11bHRpcGxlOiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KHt0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGV9KSBjbGVhcmFibGU6IGJvb2xlYW4gPSB0cnVlO1xuICAgIEBJbnB1dCh7dHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlfSkgc2VhcmNoYWJsZTogYm9vbGVhbiA9IHRydWU7XG4gICAgQElucHV0KHt0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGV9KSB2aXJ0dWFsU2Nyb2xsOiBib29sZWFuID0gdHJ1ZTtcbiAgICBASW5wdXQoe3RyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZX0pIGNsb3NlT25TZWxlY3Q6IGJvb2xlYW4gPSB0cnVlO1xuICAgIEBJbnB1dCh7dHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlfSkgc2VsZWN0YWJsZUdyb3VwOiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KHt0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGV9KSBzZWxlY3RhYmxlR3JvdXBBc01vZGVsOiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KHt0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGV9KSBoaWRlQXJyb3c6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBASW5wdXQoe3RyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZX0pIHNlbGVjdE9uVGFiOiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KCkgYmluZExhYmVsOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgICBASW5wdXQoKSBiaW5kVmFsdWU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICAgIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgICBASW5wdXQoKSB0eXBlYWhlYWQ6IFN1YmplY3Q8c3RyaW5nPiB8IG51bGwgPSBudWxsO1xuICAgIEBJbnB1dCgpIHRyYWNrQnlGbjogYW55IHwgbnVsbCA9IG51bGw7XG4gICAgQElucHV0KCkgZ3JvdXBCeTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gICAgQElucHV0KCkgaXNPcGVuOiBib29sZWFuID0gbnVsbDtcbiAgICBASW5wdXQoKSBjbGVhclNlYXJjaE9uQWRkOiBib29sZWFuID0gbnVsbDtcbiAgICBASW5wdXQoKSBhZGRUYWc6IGJvb2xlYW4gfCAoKHRlcm06IHN0cmluZykgPT4gYW55IHwgUHJvbWlzZTxhbnk+KSA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGFwcGVuZFRvOiBzdHJpbmcgfCBudWxsID0gJ2JvZHknO1xuXG4gICAgQElucHV0KClcbiAgICBnZXQgdmFsdWUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRyb2wudmFsdWU7XG4gICAgfVxuXG4gICAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnkgfCBudWxsPigpO1xuICAgIEBPdXRwdXQoKSBvbkJsdXIgPSBuZXcgRXZlbnRFbWl0dGVyPEZvY3VzRXZlbnQ+KCk7XG4gICAgQE91dHB1dCgpIG9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnkgfCBudWxsPigpO1xuXG4gICAgc2V0IHZhbHVlKHZhbHVlOiBhbnkgfCBudWxsKSB7XG4gICAgICAgIHRoaXMuY29udHJvbC5zZXRWYWx1ZSh2YWx1ZSk7XG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgLy8gU3RhdGUuXG4gICAgZXJyb3I6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8vIENhbGxiYWNrcy5cbiAgICBvblRvdWNoZWRDYWxsYmFjazogKCkgPT4gdm9pZCA9ICgpID0+ICh7fSk7XG4gICAgb25DaGFuZ2VDYWxsYmFjazogKF86IFQgfCBudWxsKSA9PiB2b2lkID0gKCkgPT4gKHt9KTtcblxuICAgIC8vIFN1YnNjcmlwdGlvbnMuXG4gICAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuaGFuZGxlVmFsdWVDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBUIHwgbnVsbCkge1xuICAgICAgICB0aGlzLmNvbnRyb2wucGF0Y2hWYWx1ZSh2YWx1ZSwge2VtaXRFdmVudDogZmFsc2V9KTtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uQ2hhbmdlKG1ldGhvZDogKF86IFQgfCBudWxsKSA9PiB2b2lkKSB7XG4gICAgICAgIHRoaXMub25DaGFuZ2VDYWxsYmFjayA9IG1ldGhvZDtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uVG91Y2hlZChtZXRob2Q6ICgpID0+IHZvaWQpIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWRDYWxsYmFjayA9IG1ldGhvZDtcbiAgICB9XG5cbiAgICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPyB0aGlzLmNvbnRyb2w/LmRpc2FibGUoKSA6IHRoaXMuY29udHJvbD8uZW5hYmxlKCk7XG4gICAgfVxuXG4gICAgb25FcnJvckNoYW5nZShlcnJvcjogeyB0b2tlbjogc3RyaW5nLCBkYXRhPzogYW55IH0gfCBudWxsKSB7XG4gICAgICAgIHRoaXMuZXJyb3IgPSAhIWVycm9yO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlVmFsdWVDaGFuZ2VzKCkge1xuICAgICAgICBjb25zdCBzdWJzY3JpcHRpb24gPSB0aGlzLmNvbnRyb2wudmFsdWVDaGFuZ2VzXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHZhbHVlID0+IHRoaXMub25DaGFuZ2VDYWxsYmFjaz8uKHZhbHVlKSk7XG4gICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbi5hZGQoc3Vic2NyaXB0aW9uKTtcbiAgICB9XG5cbn1cbiIsIjwhLS0gTGFiZWwgb2YgdGhlIGZvcm0gY29udHJvbC4gLS0+XG5AaWYgKGxhYmVsOyBhcyBsYWJlbENvbnRlbnQpIHtcbiAgICA8bGFiZWwgW2F0dHIuZm9yXT1cImxhYmVsSWRcIlxuICAgICAgICAgICBjbGFzcz1cImJiLXNlbGVjdC1sYWJlbFwiPlxuICAgICAgICA8bmctdGVtcGxhdGUgW2JiVGVtcGxhdGVdPVwibGFiZWxDb250ZW50XCI+e3sgbGFiZWxDb250ZW50IH19PC9uZy10ZW1wbGF0ZT5cbiAgICA8L2xhYmVsPlxufVxuXG48bmctc2VsZWN0IFtmb3JtQ29udHJvbF09XCJjb250cm9sXCJcbiAgICAgICAgICAgW25vdEZvdW5kVGV4dF09XCInc2VsZWN0Lm5vdF9mb3VuZF90ZXh0JyB8IGJiTG9jYWxpemVcIlxuICAgICAgICAgICBbY2xlYXJBbGxUZXh0XT1cIidzZWxlY3QuY2xlYXJfYWxsX3RleHQnIHwgYmJMb2NhbGl6ZVwiXG4gICAgICAgICAgIFtsb2FkaW5nVGV4dF09XCInc2VsZWN0LmxvYWRpbmdfdGV4dCcgfCBiYkxvY2FsaXplXCJcbiAgICAgICAgICAgW3R5cGVUb1NlYXJjaFRleHRdPVwiJ3NlbGVjdC50eXBlX3RvX3NlYXJjaF90ZXh0JyB8IGJiTG9jYWxpemVcIlxuICAgICAgICAgICBbYWRkVGFnVGV4dF09XCInc2VsZWN0LmFkZF90YWdfdGV4dCcgfCBiYkxvY2FsaXplXCJcbiAgICAgICAgICAgW3ZpcnR1YWxTY3JvbGxdPVwidmlydHVhbFNjcm9sbFwiXG4gICAgICAgICAgIFtpdGVtc109XCJkYXRhIHwgYXN5bmNcIlxuICAgICAgICAgICBbbXVsdGlwbGVdPVwibXVsdGlwbGVcIlxuICAgICAgICAgICBbbG9hZGluZ109XCJsb2FkaW5nXCJcbiAgICAgICAgICAgW2xhYmVsRm9ySWRdPVwibGFiZWxJZFwiXG4gICAgICAgICAgIFtzZWFyY2hhYmxlXT1cInNlYXJjaGFibGVcIlxuICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgICAgICAgICBbY2xlYXJhYmxlXT1cImNsZWFyYWJsZVwiXG4gICAgICAgICAgIFtjbG9zZU9uU2VsZWN0XT1cImNsb3NlT25TZWxlY3RcIlxuICAgICAgICAgICBbdHJhY2tCeUZuXT1cInRyYWNrQnlGblwiXG4gICAgICAgICAgIFt0eXBlYWhlYWRdPVwidHlwZWFoZWFkXCJcbiAgICAgICAgICAgW2JpbmRMYWJlbF09XCJiaW5kTGFiZWxcIlxuICAgICAgICAgICBbYmluZFZhbHVlXT1cImJpbmRWYWx1ZVwiXG4gICAgICAgICAgIFtzZWxlY3RhYmxlR3JvdXBdPVwic2VsZWN0YWJsZUdyb3VwXCJcbiAgICAgICAgICAgW3NlbGVjdGFibGVHcm91cEFzTW9kZWxdPVwic2VsZWN0YWJsZUdyb3VwQXNNb2RlbFwiXG4gICAgICAgICAgIFtjbGVhclNlYXJjaE9uQWRkXT1cImNsZWFyU2VhcmNoT25BZGRcIlxuICAgICAgICAgICBbZ3JvdXBCeV09XCJncm91cEJ5XCJcbiAgICAgICAgICAgW2lzT3Blbl09XCJpc09wZW5cIlxuICAgICAgICAgICBbYWRkVGFnXT1cImFkZFRhZ1wiXG4gICAgICAgICAgIFtpbnB1dEF0dHJzXT1cInthdXRvY29ycmVjdDogJ29mZicsIGF1dG9jYXBpdGFsaXplOiAnbm9uZScsIHNwZWxsY2hlY2s6ICdmYWxzZScsIGF1dG9jb21wbGV0ZTogJ29mZid9XCJcbiAgICAgICAgICAgW2FwcGVuZFRvXT1cImFwcGVuZFRvXCJcbiAgICAgICAgICAgKGJsdXIpPVwib25CbHVyPy5lbWl0KCRldmVudClcIlxuICAgICAgICAgICAoY2hhbmdlKT1cIm9uQ2hhbmdlPy5lbWl0KCRldmVudClcIj5cbiAgICBAaWYgKG9wdGlvblRlbXBsYXRlKSB7XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBuZy1vcHRpb24tdG1wXG4gICAgICAgICAgICAgICAgICAgICBsZXQtaXRlbT1cIml0ZW1cIlxuICAgICAgICAgICAgICAgICAgICAgbGV0LWl0ZW0kPVwiaXRlbSRcIlxuICAgICAgICAgICAgICAgICAgICAgbGV0LWluZGV4PVwiaW5kZXhcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIm9wdGlvblRlbXBsYXRlOyBjb250ZXh0OiB7aXRlbTogaXRlbSwgaXRlbSQ6IGl0ZW0kLCBpbmRleDogaW5kZXh9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgfVxuICAgIEBpZiAobGFiZWxUZW1wbGF0ZSkge1xuICAgICAgICA8bmctdGVtcGxhdGUgbmctbGFiZWwtdG1wXG4gICAgICAgICAgICAgICAgICAgICBsZXQtaXRlbT1cIml0ZW1cIlxuICAgICAgICAgICAgICAgICAgICAgbGV0LWl0ZW0kPVwiaXRlbSRcIlxuICAgICAgICAgICAgICAgICAgICAgbGV0LWluZGV4PVwiaW5kZXhcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cImxhYmVsVGVtcGxhdGU7IGNvbnRleHQ6IHtpdGVtOiBpdGVtLCBpdGVtJDogaXRlbSQsIGluZGV4OiBpbmRleH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICB9XG4gICAgQGlmIChtdWx0aUxhYmVsVGVtcGxhdGUpIHtcbiAgICAgICAgPG5nLXRlbXBsYXRlIG5nLW11bHRpLWxhYmVsLXRtcFxuICAgICAgICAgICAgICAgICAgICAgbGV0LWl0ZW1zPVwiaXRlbXNcIlxuICAgICAgICAgICAgICAgICAgICAgbGV0LWNsZWFyPVwiY2xlYXJcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJtdWx0aUxhYmVsVGVtcGxhdGU7IGNvbnRleHQ6IHtpdGVtczogaXRlbXMsIGNsZWFyOiBjbGVhcn1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICB9XG4gICAgQGlmIChvcHRpb25Hcm91cFRlbXBsYXRlKSB7XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBuZy1vcHRncm91cC10bXBcbiAgICAgICAgICAgICAgICAgICAgIGxldC1pdGVtPVwiaXRlbVwiXG4gICAgICAgICAgICAgICAgICAgICBsZXQtaXRlbSQ9XCJpdGVtJFwiXG4gICAgICAgICAgICAgICAgICAgICBsZXQtaW5kZXg9XCJpbmRleFwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwib3B0aW9uR3JvdXBUZW1wbGF0ZTsgY29udGV4dDoge2l0ZW06IGl0ZW0sIGl0ZW0kOiBpdGVtJCwgaW5kZXg6IGluZGV4fVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgIH1cbjwvbmctc2VsZWN0PlxuXG5AaWYgKCFoaWRlRXJyb3JzKSB7XG4gICAgPGJiLWZvcm0tZXJyb3IgKGVycm9yQ2hhbmdlKT1cIm9uRXJyb3JDaGFuZ2UoJGV2ZW50KVwiPjwvYmItZm9ybS1lcnJvcj5cbn1cblxuPCEtLSBUaGUgZm9ybSBjb250cm9sIGhpbnQuIC0tPlxuQGlmIChoaW50OyBhcyBoaW50Q29udGVudCkge1xuICAgIDxwIGNsYXNzPVwiYmItc2VsZWN0LWhpbnRcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIFtiYlRlbXBsYXRlXT1cImhpbnRDb250ZW50XCI+e3sgaGludENvbnRlbnQgfX08L25nLXRlbXBsYXRlPlxuICAgIDwvcD5cbn1cbiJdfQ==
@@ -5,10 +5,10 @@ export class BbSelectLabel {
5
5
  constructor(template) {
6
6
  this.template = template;
7
7
  }
8
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BbSelectLabel, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
9
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.0", type: BbSelectLabel, isStandalone: true, selector: "ng-template[bbSelectLabel]", ngImport: i0 });
8
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: BbSelectLabel, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
9
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.1", type: BbSelectLabel, isStandalone: true, selector: "ng-template[bbSelectLabel]", ngImport: i0 });
10
10
  }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BbSelectLabel, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: BbSelectLabel, decorators: [{
12
12
  type: Directive,
13
13
  args: [{
14
14
  selector: 'ng-template[bbSelectLabel]',
@@ -5,10 +5,10 @@ export class BbSelectMultiLabel {
5
5
  constructor(template) {
6
6
  this.template = template;
7
7
  }
8
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BbSelectMultiLabel, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
9
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.0", type: BbSelectMultiLabel, isStandalone: true, selector: "ng-template[bbSelectMultiLabel]", ngImport: i0 });
8
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: BbSelectMultiLabel, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
9
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.1", type: BbSelectMultiLabel, isStandalone: true, selector: "ng-template[bbSelectMultiLabel]", ngImport: i0 });
10
10
  }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BbSelectMultiLabel, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: BbSelectMultiLabel, decorators: [{
12
12
  type: Directive,
13
13
  args: [{
14
14
  selector: 'ng-template[bbSelectMultiLabel]',
@@ -5,10 +5,10 @@ export class BbSelectOptionGroup {
5
5
  constructor(template) {
6
6
  this.template = template;
7
7
  }
8
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BbSelectOptionGroup, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
9
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.0", type: BbSelectOptionGroup, isStandalone: true, selector: "ng-template[bbSelectOptionGroup]", ngImport: i0 });
8
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: BbSelectOptionGroup, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
9
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.1", type: BbSelectOptionGroup, isStandalone: true, selector: "ng-template[bbSelectOptionGroup]", ngImport: i0 });
10
10
  }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BbSelectOptionGroup, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: BbSelectOptionGroup, decorators: [{
12
12
  type: Directive,
13
13
  args: [{
14
14
  selector: 'ng-template[bbSelectOptionGroup]',
@@ -5,10 +5,10 @@ export class BbSelectOption {
5
5
  constructor(template) {
6
6
  this.template = template;
7
7
  }
8
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BbSelectOption, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
9
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.0", type: BbSelectOption, isStandalone: true, selector: "ng-template[bbSelectOption]", ngImport: i0 });
8
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: BbSelectOption, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
9
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.1", type: BbSelectOption, isStandalone: true, selector: "ng-template[bbSelectOption]", ngImport: i0 });
10
10
  }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BbSelectOption, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: BbSelectOption, decorators: [{
12
12
  type: Directive,
13
13
  args: [{
14
14
  selector: 'ng-template[bbSelectOption]',
@@ -7,8 +7,8 @@ import { BbSelect } from './select/select.component';
7
7
  import { NgModule } from '@angular/core';
8
8
  import * as i0 from "@angular/core";
9
9
  export class SelectModule {
10
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: SelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.0", ngImport: i0, type: SelectModule, imports: [BbSelect,
10
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: SelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.1", ngImport: i0, type: SelectModule, imports: [BbSelect,
12
12
  BbSelectLabel,
13
13
  BbSelectOption,
14
14
  BbSelectOptionGroup,
@@ -17,11 +17,11 @@ export class SelectModule {
17
17
  BbSelectOption,
18
18
  BbSelectOptionGroup,
19
19
  BbSelectMultiLabel] });
20
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: SelectModule, providers: [
20
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: SelectModule, providers: [
21
21
  provideSelectConfig()
22
22
  ], imports: [BbSelect] });
23
23
  }
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: SelectModule, decorators: [{
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: SelectModule, decorators: [{
25
25
  type: NgModule,
26
26
  args: [{
27
27
  imports: [
@@ -96,10 +96,10 @@ export class Storage {
96
96
  return null;
97
97
  }
98
98
  };
99
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: Storage, deps: [{ token: i1.Platform }, { token: COOKIE, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
100
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: Storage, providedIn: 'root' });
99
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: Storage, deps: [{ token: i1.Platform }, { token: COOKIE, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
100
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: Storage, providedIn: 'root' });
101
101
  }
102
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: Storage, decorators: [{
102
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: Storage, decorators: [{
103
103
  type: Injectable,
104
104
  args: [{
105
105
  providedIn: 'root'
@@ -10,10 +10,10 @@ import { BbLocalize } from '@bravobit/bb-foundation/localize';
10
10
  import * as i0 from "@angular/core";
11
11
  import * as i1 from "@angular/forms";
12
12
  export class BbTableColumnDef {
13
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BbTableColumnDef, deps: [], target: i0.ɵɵFactoryTarget.Directive });
14
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.0", type: BbTableColumnDef, isStandalone: true, selector: "[bbTableColumnDef]", ngImport: i0 });
13
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: BbTableColumnDef, deps: [], target: i0.ɵɵFactoryTarget.Directive });
14
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.1", type: BbTableColumnDef, isStandalone: true, selector: "[bbTableColumnDef]", ngImport: i0 });
15
15
  }
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BbTableColumnDef, decorators: [{
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: BbTableColumnDef, decorators: [{
17
17
  type: Directive,
18
18
  args: [{
19
19
  selector: '[bbTableColumnDef]',
@@ -21,10 +21,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
21
21
  }]
22
22
  }] });
23
23
  export class BbTableRowDef {
24
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BbTableRowDef, deps: [], target: i0.ɵɵFactoryTarget.Directive });
25
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.0", type: BbTableRowDef, isStandalone: true, selector: "[bbTableRowDef]", ngImport: i0 });
24
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: BbTableRowDef, deps: [], target: i0.ɵɵFactoryTarget.Directive });
25
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.1", type: BbTableRowDef, isStandalone: true, selector: "[bbTableRowDef]", ngImport: i0 });
26
26
  }
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BbTableRowDef, decorators: [{
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: BbTableRowDef, decorators: [{
28
28
  type: Directive,
29
29
  args: [{
30
30
  selector: '[bbTableRowDef]',
@@ -170,10 +170,10 @@ export class BbTable {
170
170
  getFormChanges() {
171
171
  return this.form.valueChanges.pipe(startWith(this.form.value));
172
172
  }
173
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BbTable, deps: [], target: i0.ɵɵFactoryTarget.Component });
174
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: BbTable, isStandalone: true, selector: "bb-table", inputs: { identifier: "identifier", dataSource: "dataSource", queryFields: "queryFields", sortingStrategy: "sortingStrategy", header: "header", footer: "footer", sizes: "sizes" }, host: { classAttribute: "bb-table" }, queries: [{ propertyName: "tableRowTemplate", first: true, predicate: BbTableRowDef, descendants: true, read: TemplateRef }, { propertyName: "tableColumnTemplates", predicate: BbTableColumnDef, read: TemplateRef }], ngImport: i0, template: "<!--\n This is the header of the table. It can be a user\n defined custom header or just the default header.\n-->\n\n@if ((header === true ? headerTemplate : header); as template) {\n <header class=\"bb-table-top-actions\">\n <ng-container *ngTemplateOutlet=\"template\"></ng-container>\n </header>\n}\n\n<!--\n This is the table that contains the\n rows and columns.\n-->\n\n<div class=\"bb-table-wrapper\">\n @if (isLoading$ | async) {\n <div class=\"bb-table-progress\">\n <div class=\"bb-table-indeterminate\"></div>\n </div>\n }\n <table class=\"bb-table-container\">\n <thead>\n <tr>\n <ng-content select=\"bb-table-header-cell\"></ng-content>\n </tr>\n </thead>\n <tbody>\n @if (data$ | async; as data) {\n @switch (data?.state) {\n @case ('success') {\n @if (!!tableRowTemplate) {\n <ng-container\n *ngTemplateOutlet=\"tableRowTemplate; context: {data: data?.result?.data ?? []}\"></ng-container>\n } @else {\n @for (item of data?.result?.data; track (identifier ? item[identifier] : $index)) {\n <tr>\n @for (template of tableColumnTemplates; track $index) {\n <ng-container\n *ngTemplateOutlet=\"template; context: {item: item}\"></ng-container>\n }\n </tr>\n }\n }\n }\n @case ('empty') {\n <ng-container *ngTemplateOutlet=\"errorTemplate; context: data\"></ng-container>\n }\n @case ('error_datasource') {\n <ng-container *ngTemplateOutlet=\"errorTemplate; context: data\"></ng-container>\n }\n @case ('error_not_found') {\n <ng-container *ngTemplateOutlet=\"errorTemplate; context: data\"></ng-container>\n }\n @case ('error_server') {\n <ng-container *ngTemplateOutlet=\"errorTemplate; context: data\"></ng-container>\n }\n @case ('error_down') {\n <ng-container *ngTemplateOutlet=\"errorTemplate; context: data\"></ng-container>\n }\n @default {\n <ng-container *ngTemplateOutlet=\"errorTemplate; context: data\"></ng-container>\n }\n }\n\n } @else {\n <tr>\n <td [attr.colspan]=\"headerCount\"\n class=\"bb-table-template\">\n <div class=\"bb-table-template-content\">\n {{ 'tables.loading' | bbLocalize }}\n </div>\n </td>\n </tr>\n }\n </tbody>\n </table>\n</div>\n\n@if ((footer === true ? footerTemplate : footer); as template) {\n <footer class=\"bb-table-bottom-actions\">\n <ng-container *ngTemplateOutlet=\"template\"></ng-container>\n </footer>\n}\n\n<!--\n This is the template that will be used when the user has not\n supplied a custom header template.\n-->\n\n<ng-template #headerTemplate>\n <ng-content></ng-content>\n <bb-form-control>\n <input [formControl]=\"queryControl\"\n [placeholder]=\"'tables.search' | bbLocalize\"\n bbInput\n autocomplete=\"off\">\n @if (queryControl?.value?.length <= 0) {\n <bb-icon bbSuffix\n src=\"material:search\">\n </bb-icon>\n } @else {\n <button (click)=\"queryControl?.patchValue('')\"\n bbSuffix\n type=\"button\"\n class=\"bb-table-progress-close-query\">\n <bb-icon src=\"material:close\"></bb-icon>\n </button>\n }\n </bb-form-control>\n</ng-template>\n\n<!--\n This is the template that will be used when the user has not\n supplied a custom footer template.\n-->\n\n<ng-template #footerTemplate>\n @if (sizes?.length > 1) {\n <bb-form-control>\n <select [formControl]=\"pageSizeControl\"\n bbInput\n title=\"Sizes\">\n @for (item of sizes; track item) {\n <option [ngValue]=\"item\">\n {{ item }} / {{ 'tables.page' | bbLocalize }}\n </option>\n }\n </select>\n </bb-form-control>\n }\n\n <bb-table-pager [totalPages]=\"(data$ | async)?.result?.totalPages\"\n [formControl]=\"pageNumberControl\">\n </bb-table-pager>\n</ng-template>\n\n<ng-template #errorTemplate\n let-state=\"state\"\n let-status=\"statusCode\">\n <tr>\n <td [attr.colspan]=\"headerCount\"\n class=\"bb-table-template\">\n <div class=\"bb-table-template-content\">\n <svg xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 64 41\"\n width=\"4rem\"\n height=\"2.5625rem\">\n <g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(0 1)\">\n <ellipse cx=\"32\" cy=\"33\" fill=\"#F5F5F5\" rx=\"32\" ry=\"7\"></ellipse>\n <g fill-rule=\"nonzero\" stroke=\"#D9D9D9\">\n <path\n d=\"M55 12.7605604L44.8543047 1.25739633C44.3674414.47382661 43.6558789 0 42.9067617 0H21.0932383c-.7491172 0-1.4606797.47395025-1.947543 1.25739633L9 12.7605604V22h46v-9.2394396z\"></path>\n <path fill=\"#FAFAFA\"\n d=\"M41.6132813 15.9315c0-1.6056489.9936718-2.931266 2.2264179-2.9315H55v18.1371277C55 33.2589574 53.6793867 35 52.0504297 35H11.94957031C10.32052344 35 9 33.2588404 9 31.1371277V13h11.1603008c1.2327461 0 2.226418 1.3228085 2.226418 2.9284574v.0211809c0 1.6056489 1.0049921 2.9015426 2.2377382 2.9015426h14.751086c1.2327461 0 2.2377383-1.3078298 2.2377383-2.9134788V15.9315z\"></path>\n </g>\n </g>\n </svg>\n @if (state; as stateLabel) {\n <span>{{ ('tables.' + stateLabel) | bbLocalize }}</span>\n }\n @if (status; as statusCode) {\n <span class=\"bb-table-template-content-code\">(HTTP {{ statusCode }})</span>\n }\n </div>\n </td>\n </tr>\n</ng-template>\n", styles: [".bb-table{width:100%;display:block;box-shadow:0 .375rem .375rem -.375rem #0000001a}.bb-table.plain{box-shadow:none}.bb-table.plain>.bb-table-wrapper{border-top-left-radius:0;border-top-right-radius:0}.bb-table-wrapper{overflow-x:auto;position:relative;background-color:#fff;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.bb-table-container{width:100%}.bb-table-container td{border-bottom:1px solid #d8d8d8}.bb-table-top-actions{display:flex;flex-wrap:wrap;flex-direction:column;background-color:#fff;justify-content:flex-end;padding:1.5rem 1.5rem .75rem;border-top-left-radius:.25rem;border-bottom:1px solid #d8d8d8;border-top-right-radius:.25rem}.bb-table-top-actions>*{margin-left:0;margin-bottom:.75rem}.bb-table-top-actions+.bb-table-wrapper{border-radius:0}.bb-table-bottom-actions{height:4rem;display:flex;overflow-x:auto;padding:0 1.5rem;align-items:center;background-color:#fff;border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem}.bb-table-template{border:none;background-color:#f5f5f5;border-bottom:1px solid #d8d8d8}.bb-table-template-content{display:flex;color:#3d464d;padding:1.5rem;line-height:1.2;font-weight:400;text-align:center;font-size:.875rem;min-height:8.75rem;align-items:center;flex-direction:column;justify-content:center}.bb-table-template-content>svg{margin-bottom:.75rem}.bb-table-template-content-code{opacity:.5;margin-top:.25rem;display:inline-block}.bb-table-progress{top:0;left:0;right:0;opacity:0;width:100%;display:block;height:.25rem;overflow:hidden;position:absolute;background-color:#2f408b4d;animation:fadeIn .25s cubic-bezier(0,0,.2,1) .1s forwards}.bb-table-progress .bb-table-indeterminate{background-color:#2f408b}.bb-table-progress .bb-table-indeterminate:before{top:0;left:0;bottom:0;content:\"\";position:absolute;will-change:left,right;background-color:inherit;animation:indeterminate 2.1s cubic-bezier(.65,.815,.735,.395) infinite}.bb-table-progress .bb-table-indeterminate:after{top:0;left:0;bottom:0;content:\"\";position:absolute;animation-delay:1.15s;will-change:left,right;background-color:inherit;animation:indeterminate-short 2.1s cubic-bezier(.165,.84,.44,1) infinite}.bb-table-progress-close-query{padding:0;border:none;border-radius:.25rem;background-color:transparent;transition:background-color .25s cubic-bezier(0,0,.2,1)}.bb-table-progress-close-query:hover{background-color:#00000014}.bb-table-progress-close-query:focus{background-color:#0000001f}.bb-table-progress-close-query:active{background-color:#00000029}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes indeterminate{0%{left:-35%;right:100%}60%{left:100%;right:-90%}to{left:100%;right:-90%}}@keyframes indeterminate-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}to{left:107%;right:-8%}}@media only screen and (min-width: 768px){.bb-table-top-actions{flex-direction:row}.bb-table-top-actions>*:not(:first-child){margin-left:.75rem;margin-bottom:.75rem}}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: BbLocalize, name: "bbLocalize" }, { kind: "component", type: BbFormControl, selector: "bb-form-control", inputs: ["label", "hint", "grouped", "hideErrors"] }, { kind: "directive", type: BbInput, selector: "input[bbInput],textarea[bbInput],select[bbInput]", inputs: ["required"] }, { kind: "component", type: BbIcon, selector: "bb-icon", inputs: ["alt", "size", "ariaHidden", "src"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { 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.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { 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: BbSuffix, selector: "[bbSuffix]" }, { kind: "component", type: BbTablePager, selector: "bb-table-pager", inputs: ["amountOfButtons", "showArrowButtons", "disabled", "pageNumber", "totalPages"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
173
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: BbTable, deps: [], target: i0.ɵɵFactoryTarget.Component });
174
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.1", type: BbTable, isStandalone: true, selector: "bb-table", inputs: { identifier: "identifier", dataSource: "dataSource", queryFields: "queryFields", sortingStrategy: "sortingStrategy", header: "header", footer: "footer", sizes: "sizes" }, host: { classAttribute: "bb-table" }, queries: [{ propertyName: "tableRowTemplate", first: true, predicate: BbTableRowDef, descendants: true, read: TemplateRef }, { propertyName: "tableColumnTemplates", predicate: BbTableColumnDef, read: TemplateRef }], ngImport: i0, template: "<!--\n This is the header of the table. It can be a user\n defined custom header or just the default header.\n-->\n\n@if ((header === true ? headerTemplate : header); as template) {\n <header class=\"bb-table-top-actions\">\n <ng-container *ngTemplateOutlet=\"template\"></ng-container>\n </header>\n}\n\n<!--\n This is the table that contains the\n rows and columns.\n-->\n\n<div class=\"bb-table-wrapper\">\n @if (isLoading$ | async) {\n <div class=\"bb-table-progress\">\n <div class=\"bb-table-indeterminate\"></div>\n </div>\n }\n <table class=\"bb-table-container\">\n <thead>\n <tr>\n <ng-content select=\"bb-table-header-cell\"></ng-content>\n </tr>\n </thead>\n <tbody>\n @if (data$ | async; as data) {\n @switch (data?.state) {\n @case ('success') {\n @if (!!tableRowTemplate) {\n <ng-container\n *ngTemplateOutlet=\"tableRowTemplate; context: {data: data?.result?.data ?? []}\"></ng-container>\n } @else {\n @for (item of data?.result?.data; track (identifier ? item[identifier] : $index)) {\n <tr>\n @for (template of tableColumnTemplates; track $index) {\n <ng-container\n *ngTemplateOutlet=\"template; context: {item: item}\"></ng-container>\n }\n </tr>\n }\n }\n }\n @case ('empty') {\n <ng-container *ngTemplateOutlet=\"errorTemplate; context: data\"></ng-container>\n }\n @case ('error_datasource') {\n <ng-container *ngTemplateOutlet=\"errorTemplate; context: data\"></ng-container>\n }\n @case ('error_not_found') {\n <ng-container *ngTemplateOutlet=\"errorTemplate; context: data\"></ng-container>\n }\n @case ('error_server') {\n <ng-container *ngTemplateOutlet=\"errorTemplate; context: data\"></ng-container>\n }\n @case ('error_down') {\n <ng-container *ngTemplateOutlet=\"errorTemplate; context: data\"></ng-container>\n }\n @default {\n <ng-container *ngTemplateOutlet=\"errorTemplate; context: data\"></ng-container>\n }\n }\n\n } @else {\n <tr>\n <td [attr.colspan]=\"headerCount\"\n class=\"bb-table-template\">\n <div class=\"bb-table-template-content\">\n {{ 'tables.loading' | bbLocalize }}\n </div>\n </td>\n </tr>\n }\n </tbody>\n </table>\n</div>\n\n@if ((footer === true ? footerTemplate : footer); as template) {\n <footer class=\"bb-table-bottom-actions\">\n <ng-container *ngTemplateOutlet=\"template\"></ng-container>\n </footer>\n}\n\n<!--\n This is the template that will be used when the user has not\n supplied a custom header template.\n-->\n\n<ng-template #headerTemplate>\n <ng-content></ng-content>\n <bb-form-control>\n <input [formControl]=\"queryControl\"\n [placeholder]=\"'tables.search' | bbLocalize\"\n bbInput\n autocomplete=\"off\">\n @if (queryControl?.value?.length <= 0) {\n <bb-icon bbSuffix\n src=\"material:search\">\n </bb-icon>\n } @else {\n <button (click)=\"queryControl?.patchValue('')\"\n bbSuffix\n type=\"button\"\n class=\"bb-table-progress-close-query\">\n <bb-icon src=\"material:close\"></bb-icon>\n </button>\n }\n </bb-form-control>\n</ng-template>\n\n<!--\n This is the template that will be used when the user has not\n supplied a custom footer template.\n-->\n\n<ng-template #footerTemplate>\n @if (sizes?.length > 1) {\n <bb-form-control>\n <select [formControl]=\"pageSizeControl\"\n bbInput\n title=\"Sizes\">\n @for (item of sizes; track item) {\n <option [ngValue]=\"item\">\n {{ item }} / {{ 'tables.page' | bbLocalize }}\n </option>\n }\n </select>\n </bb-form-control>\n }\n\n <bb-table-pager [totalPages]=\"(data$ | async)?.result?.totalPages\"\n [formControl]=\"pageNumberControl\">\n </bb-table-pager>\n</ng-template>\n\n<ng-template #errorTemplate\n let-state=\"state\"\n let-status=\"statusCode\">\n <tr>\n <td [attr.colspan]=\"headerCount\"\n class=\"bb-table-template\">\n <div class=\"bb-table-template-content\">\n <svg xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 64 41\"\n width=\"4rem\"\n height=\"2.5625rem\">\n <g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(0 1)\">\n <ellipse cx=\"32\" cy=\"33\" fill=\"#F5F5F5\" rx=\"32\" ry=\"7\"></ellipse>\n <g fill-rule=\"nonzero\" stroke=\"#D9D9D9\">\n <path\n d=\"M55 12.7605604L44.8543047 1.25739633C44.3674414.47382661 43.6558789 0 42.9067617 0H21.0932383c-.7491172 0-1.4606797.47395025-1.947543 1.25739633L9 12.7605604V22h46v-9.2394396z\"></path>\n <path fill=\"#FAFAFA\"\n d=\"M41.6132813 15.9315c0-1.6056489.9936718-2.931266 2.2264179-2.9315H55v18.1371277C55 33.2589574 53.6793867 35 52.0504297 35H11.94957031C10.32052344 35 9 33.2588404 9 31.1371277V13h11.1603008c1.2327461 0 2.226418 1.3228085 2.226418 2.9284574v.0211809c0 1.6056489 1.0049921 2.9015426 2.2377382 2.9015426h14.751086c1.2327461 0 2.2377383-1.3078298 2.2377383-2.9134788V15.9315z\"></path>\n </g>\n </g>\n </svg>\n @if (state; as stateLabel) {\n <span>{{ ('tables.' + stateLabel) | bbLocalize }}</span>\n }\n @if (status; as statusCode) {\n <span class=\"bb-table-template-content-code\">(HTTP {{ statusCode }})</span>\n }\n </div>\n </td>\n </tr>\n</ng-template>\n", styles: [".bb-table{width:100%;display:block;box-shadow:0 .375rem .375rem -.375rem #0000001a}.bb-table.plain{box-shadow:none}.bb-table.plain>.bb-table-wrapper{border-top-left-radius:0;border-top-right-radius:0}.bb-table-wrapper{overflow-x:auto;position:relative;background-color:#fff;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.bb-table-container{width:100%}.bb-table-container td{border-bottom:1px solid #d8d8d8}.bb-table-top-actions{display:flex;flex-wrap:wrap;flex-direction:column;background-color:#fff;justify-content:flex-end;padding:1.5rem 1.5rem .75rem;border-top-left-radius:.25rem;border-bottom:1px solid #d8d8d8;border-top-right-radius:.25rem}.bb-table-top-actions>*{margin-left:0;margin-bottom:.75rem}.bb-table-top-actions+.bb-table-wrapper{border-radius:0}.bb-table-bottom-actions{height:4rem;display:flex;overflow-x:auto;padding:0 1.5rem;align-items:center;background-color:#fff;border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem}.bb-table-template{border:none;background-color:#f5f5f5;border-bottom:1px solid #d8d8d8}.bb-table-template-content{display:flex;color:#3d464d;padding:1.5rem;line-height:1.2;font-weight:400;text-align:center;font-size:.875rem;min-height:8.75rem;align-items:center;flex-direction:column;justify-content:center}.bb-table-template-content>svg{margin-bottom:.75rem}.bb-table-template-content-code{opacity:.5;margin-top:.25rem;display:inline-block}.bb-table-progress{top:0;left:0;right:0;opacity:0;width:100%;display:block;height:.25rem;overflow:hidden;position:absolute;background-color:#2f408b4d;animation:fadeIn .25s cubic-bezier(0,0,.2,1) .1s forwards}.bb-table-progress .bb-table-indeterminate{background-color:#2f408b}.bb-table-progress .bb-table-indeterminate:before{top:0;left:0;bottom:0;content:\"\";position:absolute;will-change:left,right;background-color:inherit;animation:indeterminate 2.1s cubic-bezier(.65,.815,.735,.395) infinite}.bb-table-progress .bb-table-indeterminate:after{top:0;left:0;bottom:0;content:\"\";position:absolute;animation-delay:1.15s;will-change:left,right;background-color:inherit;animation:indeterminate-short 2.1s cubic-bezier(.165,.84,.44,1) infinite}.bb-table-progress-close-query{padding:0;border:none;border-radius:.25rem;background-color:transparent;transition:background-color .25s cubic-bezier(0,0,.2,1)}.bb-table-progress-close-query:hover{background-color:#00000014}.bb-table-progress-close-query:focus{background-color:#0000001f}.bb-table-progress-close-query:active{background-color:#00000029}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes indeterminate{0%{left:-35%;right:100%}60%{left:100%;right:-90%}to{left:100%;right:-90%}}@keyframes indeterminate-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}to{left:107%;right:-8%}}@media only screen and (min-width: 768px){.bb-table-top-actions{flex-direction:row}.bb-table-top-actions>*:not(:first-child){margin-left:.75rem;margin-bottom:.75rem}}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: BbLocalize, name: "bbLocalize" }, { kind: "component", type: BbFormControl, selector: "bb-form-control", inputs: ["label", "hint", "grouped", "hideErrors"] }, { kind: "directive", type: BbInput, selector: "input[bbInput],textarea[bbInput],select[bbInput]", inputs: ["required"] }, { kind: "component", type: BbIcon, selector: "bb-icon", inputs: ["alt", "size", "ariaHidden", "src"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { 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.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { 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: BbSuffix, selector: "[bbSuffix]" }, { kind: "component", type: BbTablePager, selector: "bb-table-pager", inputs: ["amountOfButtons", "showArrowButtons", "disabled", "pageNumber", "totalPages"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
175
175
  }
176
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BbTable, decorators: [{
176
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: BbTable, decorators: [{
177
177
  type: Component,
178
178
  args: [{ selector: 'bb-table', host: { 'class': 'bb-table' }, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, standalone: true, imports: [NgTemplateOutlet, AsyncPipe, BbLocalize, BbFormControl, BbInput, BbIcon, ReactiveFormsModule, BbSuffix, BbTablePager, BbLocalize], template: "<!--\n This is the header of the table. It can be a user\n defined custom header or just the default header.\n-->\n\n@if ((header === true ? headerTemplate : header); as template) {\n <header class=\"bb-table-top-actions\">\n <ng-container *ngTemplateOutlet=\"template\"></ng-container>\n </header>\n}\n\n<!--\n This is the table that contains the\n rows and columns.\n-->\n\n<div class=\"bb-table-wrapper\">\n @if (isLoading$ | async) {\n <div class=\"bb-table-progress\">\n <div class=\"bb-table-indeterminate\"></div>\n </div>\n }\n <table class=\"bb-table-container\">\n <thead>\n <tr>\n <ng-content select=\"bb-table-header-cell\"></ng-content>\n </tr>\n </thead>\n <tbody>\n @if (data$ | async; as data) {\n @switch (data?.state) {\n @case ('success') {\n @if (!!tableRowTemplate) {\n <ng-container\n *ngTemplateOutlet=\"tableRowTemplate; context: {data: data?.result?.data ?? []}\"></ng-container>\n } @else {\n @for (item of data?.result?.data; track (identifier ? item[identifier] : $index)) {\n <tr>\n @for (template of tableColumnTemplates; track $index) {\n <ng-container\n *ngTemplateOutlet=\"template; context: {item: item}\"></ng-container>\n }\n </tr>\n }\n }\n }\n @case ('empty') {\n <ng-container *ngTemplateOutlet=\"errorTemplate; context: data\"></ng-container>\n }\n @case ('error_datasource') {\n <ng-container *ngTemplateOutlet=\"errorTemplate; context: data\"></ng-container>\n }\n @case ('error_not_found') {\n <ng-container *ngTemplateOutlet=\"errorTemplate; context: data\"></ng-container>\n }\n @case ('error_server') {\n <ng-container *ngTemplateOutlet=\"errorTemplate; context: data\"></ng-container>\n }\n @case ('error_down') {\n <ng-container *ngTemplateOutlet=\"errorTemplate; context: data\"></ng-container>\n }\n @default {\n <ng-container *ngTemplateOutlet=\"errorTemplate; context: data\"></ng-container>\n }\n }\n\n } @else {\n <tr>\n <td [attr.colspan]=\"headerCount\"\n class=\"bb-table-template\">\n <div class=\"bb-table-template-content\">\n {{ 'tables.loading' | bbLocalize }}\n </div>\n </td>\n </tr>\n }\n </tbody>\n </table>\n</div>\n\n@if ((footer === true ? footerTemplate : footer); as template) {\n <footer class=\"bb-table-bottom-actions\">\n <ng-container *ngTemplateOutlet=\"template\"></ng-container>\n </footer>\n}\n\n<!--\n This is the template that will be used when the user has not\n supplied a custom header template.\n-->\n\n<ng-template #headerTemplate>\n <ng-content></ng-content>\n <bb-form-control>\n <input [formControl]=\"queryControl\"\n [placeholder]=\"'tables.search' | bbLocalize\"\n bbInput\n autocomplete=\"off\">\n @if (queryControl?.value?.length <= 0) {\n <bb-icon bbSuffix\n src=\"material:search\">\n </bb-icon>\n } @else {\n <button (click)=\"queryControl?.patchValue('')\"\n bbSuffix\n type=\"button\"\n class=\"bb-table-progress-close-query\">\n <bb-icon src=\"material:close\"></bb-icon>\n </button>\n }\n </bb-form-control>\n</ng-template>\n\n<!--\n This is the template that will be used when the user has not\n supplied a custom footer template.\n-->\n\n<ng-template #footerTemplate>\n @if (sizes?.length > 1) {\n <bb-form-control>\n <select [formControl]=\"pageSizeControl\"\n bbInput\n title=\"Sizes\">\n @for (item of sizes; track item) {\n <option [ngValue]=\"item\">\n {{ item }} / {{ 'tables.page' | bbLocalize }}\n </option>\n }\n </select>\n </bb-form-control>\n }\n\n <bb-table-pager [totalPages]=\"(data$ | async)?.result?.totalPages\"\n [formControl]=\"pageNumberControl\">\n </bb-table-pager>\n</ng-template>\n\n<ng-template #errorTemplate\n let-state=\"state\"\n let-status=\"statusCode\">\n <tr>\n <td [attr.colspan]=\"headerCount\"\n class=\"bb-table-template\">\n <div class=\"bb-table-template-content\">\n <svg xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 64 41\"\n width=\"4rem\"\n height=\"2.5625rem\">\n <g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(0 1)\">\n <ellipse cx=\"32\" cy=\"33\" fill=\"#F5F5F5\" rx=\"32\" ry=\"7\"></ellipse>\n <g fill-rule=\"nonzero\" stroke=\"#D9D9D9\">\n <path\n d=\"M55 12.7605604L44.8543047 1.25739633C44.3674414.47382661 43.6558789 0 42.9067617 0H21.0932383c-.7491172 0-1.4606797.47395025-1.947543 1.25739633L9 12.7605604V22h46v-9.2394396z\"></path>\n <path fill=\"#FAFAFA\"\n d=\"M41.6132813 15.9315c0-1.6056489.9936718-2.931266 2.2264179-2.9315H55v18.1371277C55 33.2589574 53.6793867 35 52.0504297 35H11.94957031C10.32052344 35 9 33.2588404 9 31.1371277V13h11.1603008c1.2327461 0 2.226418 1.3228085 2.226418 2.9284574v.0211809c0 1.6056489 1.0049921 2.9015426 2.2377382 2.9015426h14.751086c1.2327461 0 2.2377383-1.3078298 2.2377383-2.9134788V15.9315z\"></path>\n </g>\n </g>\n </svg>\n @if (state; as stateLabel) {\n <span>{{ ('tables.' + stateLabel) | bbLocalize }}</span>\n }\n @if (status; as statusCode) {\n <span class=\"bb-table-template-content-code\">(HTTP {{ statusCode }})</span>\n }\n </div>\n </td>\n </tr>\n</ng-template>\n", styles: [".bb-table{width:100%;display:block;box-shadow:0 .375rem .375rem -.375rem #0000001a}.bb-table.plain{box-shadow:none}.bb-table.plain>.bb-table-wrapper{border-top-left-radius:0;border-top-right-radius:0}.bb-table-wrapper{overflow-x:auto;position:relative;background-color:#fff;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.bb-table-container{width:100%}.bb-table-container td{border-bottom:1px solid #d8d8d8}.bb-table-top-actions{display:flex;flex-wrap:wrap;flex-direction:column;background-color:#fff;justify-content:flex-end;padding:1.5rem 1.5rem .75rem;border-top-left-radius:.25rem;border-bottom:1px solid #d8d8d8;border-top-right-radius:.25rem}.bb-table-top-actions>*{margin-left:0;margin-bottom:.75rem}.bb-table-top-actions+.bb-table-wrapper{border-radius:0}.bb-table-bottom-actions{height:4rem;display:flex;overflow-x:auto;padding:0 1.5rem;align-items:center;background-color:#fff;border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem}.bb-table-template{border:none;background-color:#f5f5f5;border-bottom:1px solid #d8d8d8}.bb-table-template-content{display:flex;color:#3d464d;padding:1.5rem;line-height:1.2;font-weight:400;text-align:center;font-size:.875rem;min-height:8.75rem;align-items:center;flex-direction:column;justify-content:center}.bb-table-template-content>svg{margin-bottom:.75rem}.bb-table-template-content-code{opacity:.5;margin-top:.25rem;display:inline-block}.bb-table-progress{top:0;left:0;right:0;opacity:0;width:100%;display:block;height:.25rem;overflow:hidden;position:absolute;background-color:#2f408b4d;animation:fadeIn .25s cubic-bezier(0,0,.2,1) .1s forwards}.bb-table-progress .bb-table-indeterminate{background-color:#2f408b}.bb-table-progress .bb-table-indeterminate:before{top:0;left:0;bottom:0;content:\"\";position:absolute;will-change:left,right;background-color:inherit;animation:indeterminate 2.1s cubic-bezier(.65,.815,.735,.395) infinite}.bb-table-progress .bb-table-indeterminate:after{top:0;left:0;bottom:0;content:\"\";position:absolute;animation-delay:1.15s;will-change:left,right;background-color:inherit;animation:indeterminate-short 2.1s cubic-bezier(.165,.84,.44,1) infinite}.bb-table-progress-close-query{padding:0;border:none;border-radius:.25rem;background-color:transparent;transition:background-color .25s cubic-bezier(0,0,.2,1)}.bb-table-progress-close-query:hover{background-color:#00000014}.bb-table-progress-close-query:focus{background-color:#0000001f}.bb-table-progress-close-query:active{background-color:#00000029}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes indeterminate{0%{left:-35%;right:100%}60%{left:100%;right:-90%}to{left:100%;right:-90%}}@keyframes indeterminate-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}to{left:107%;right:-8%}}@media only screen and (min-width: 768px){.bb-table-top-actions{flex-direction:row}.bb-table-top-actions>*:not(:first-child){margin-left:.75rem;margin-bottom:.75rem}}\n"] }]
179
179
  }], propDecorators: { tableColumnTemplates: [{
@@ -1,10 +1,10 @@
1
1
  import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export class BbTableCell {
4
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BbTableCell, deps: [], target: i0.ɵɵFactoryTarget.Component });
5
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.0", type: BbTableCell, isStandalone: true, selector: "bb-table-cell", host: { classAttribute: "bb-table-cell" }, ngImport: i0, template: "<div>\n <ng-content></ng-content>\n</div>", styles: [".bb-table-cell{color:#848f99;text-align:left;line-height:1.2;font-weight:400;display:table-cell;font-size:.875rem;word-wrap:break-word;vertical-align:middle;padding:.75rem 1.5rem;background-color:#f5f5f5;border-bottom:1px solid #d8d8d8}.bb-table-cell:not(:last-child){border-right:1px solid #d8d8d8}.bb-table-cell.fit{width:1%;white-space:nowrap}.bb-table-cell.left{text-align:left}.bb-table-cell.center{text-align:center}.bb-table-cell.right{text-align:right}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
4
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: BbTableCell, deps: [], target: i0.ɵɵFactoryTarget.Component });
5
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: BbTableCell, isStandalone: true, selector: "bb-table-cell", host: { classAttribute: "bb-table-cell" }, ngImport: i0, template: "<div>\n <ng-content></ng-content>\n</div>", styles: [".bb-table-cell{color:#848f99;text-align:left;line-height:1.2;font-weight:400;display:table-cell;font-size:.875rem;word-wrap:break-word;vertical-align:middle;padding:.75rem 1.5rem;background-color:#f5f5f5;border-bottom:1px solid #d8d8d8}.bb-table-cell:not(:last-child){border-right:1px solid #d8d8d8}.bb-table-cell.fit{width:1%;white-space:nowrap}.bb-table-cell.left{text-align:left}.bb-table-cell.center{text-align:center}.bb-table-cell.right{text-align:right}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
6
6
  }
7
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BbTableCell, decorators: [{
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: BbTableCell, decorators: [{
8
8
  type: Component,
9
9
  args: [{ selector: 'bb-table-cell', changeDetection: ChangeDetectionStrategy.OnPush, host: { 'class': 'bb-table-cell' }, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, standalone: true, template: "<div>\n <ng-content></ng-content>\n</div>", styles: [".bb-table-cell{color:#848f99;text-align:left;line-height:1.2;font-weight:400;display:table-cell;font-size:.875rem;word-wrap:break-word;vertical-align:middle;padding:.75rem 1.5rem;background-color:#f5f5f5;border-bottom:1px solid #d8d8d8}.bb-table-cell:not(:last-child){border-right:1px solid #d8d8d8}.bb-table-cell.fit{width:1%;white-space:nowrap}.bb-table-cell.left{text-align:left}.bb-table-cell.center{text-align:center}.bb-table-cell.right{text-align:right}\n"] }]
10
10
  }] });