@fundamental-ngx/core 0.43.5 → 0.43.7

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 (59) hide show
  1. package/button/base-button.d.ts +3 -1
  2. package/button/button.component.d.ts +5 -0
  3. package/esm2020/button/base-button.mjs +4 -2
  4. package/esm2020/button/button.component.mjs +19 -5
  5. package/esm2020/combobox/combobox.component.mjs +1 -1
  6. package/esm2020/multi-combobox/multi-combobox.component.mjs +1 -1
  7. package/esm2020/multi-input/multi-input-mobile/multi-input-mobile.component.mjs +3 -3
  8. package/esm2020/multi-input/multi-input.component.mjs +67 -35
  9. package/esm2020/popover/index.mjs +12 -12
  10. package/esm2020/popover/popover-body/popover-body-directives/popover-body-footer.directive.mjs +4 -3
  11. package/esm2020/popover/popover-body/popover-body-directives/popover-body-header.directive.mjs +4 -3
  12. package/esm2020/popover/popover-body/popover-body.component.mjs +8 -11
  13. package/esm2020/popover/popover-body.directive.mjs +20 -0
  14. package/esm2020/popover/popover-container/popover-container.directive.mjs +4 -3
  15. package/esm2020/popover/popover-control/popover-control.component.mjs +3 -3
  16. package/esm2020/popover/popover-mobile/popover-mobile.component.mjs +10 -7
  17. package/esm2020/popover/popover-mobile/popover-mobile.module.mjs +4 -5
  18. package/esm2020/popover/popover-service/popover.service.mjs +20 -14
  19. package/esm2020/popover/popover-trigger.directive.mjs +4 -3
  20. package/esm2020/popover/popover.component.mjs +29 -16
  21. package/esm2020/popover/popover.module.mjs +20 -18
  22. package/fesm2015/fundamental-ngx-core-button.mjs +21 -5
  23. package/fesm2015/fundamental-ngx-core-button.mjs.map +1 -1
  24. package/fesm2015/fundamental-ngx-core-combobox.mjs +1 -1
  25. package/fesm2015/fundamental-ngx-core-combobox.mjs.map +1 -1
  26. package/fesm2015/fundamental-ngx-core-multi-combobox.mjs +1 -1
  27. package/fesm2015/fundamental-ngx-core-multi-combobox.mjs.map +1 -1
  28. package/fesm2015/fundamental-ngx-core-multi-input.mjs +69 -37
  29. package/fesm2015/fundamental-ngx-core-multi-input.mjs.map +1 -1
  30. package/fesm2015/fundamental-ngx-core-popover.mjs +440 -399
  31. package/fesm2015/fundamental-ngx-core-popover.mjs.map +1 -1
  32. package/fesm2020/fundamental-ngx-core-button.mjs +21 -5
  33. package/fesm2020/fundamental-ngx-core-button.mjs.map +1 -1
  34. package/fesm2020/fundamental-ngx-core-combobox.mjs +1 -1
  35. package/fesm2020/fundamental-ngx-core-combobox.mjs.map +1 -1
  36. package/fesm2020/fundamental-ngx-core-multi-combobox.mjs +1 -1
  37. package/fesm2020/fundamental-ngx-core-multi-combobox.mjs.map +1 -1
  38. package/fesm2020/fundamental-ngx-core-multi-input.mjs +68 -36
  39. package/fesm2020/fundamental-ngx-core-multi-input.mjs.map +1 -1
  40. package/fesm2020/fundamental-ngx-core-popover.mjs +449 -408
  41. package/fesm2020/fundamental-ngx-core-popover.mjs.map +1 -1
  42. package/fundamental-ngx-core-v0.43.7.tgz +0 -0
  43. package/multi-input/multi-input.component.d.ts +42 -33
  44. package/package.json +3 -3
  45. package/popover/index.d.ts +11 -11
  46. package/popover/popover-body/popover-body-directives/popover-body-footer.directive.d.ts +1 -1
  47. package/popover/popover-body/popover-body-directives/popover-body-header.directive.d.ts +1 -1
  48. package/popover/popover-body/popover-body.component.d.ts +1 -1
  49. package/popover/popover-body.directive.d.ts +10 -0
  50. package/popover/popover-container/popover-container.directive.d.ts +1 -1
  51. package/popover/popover-control/popover-control.component.d.ts +1 -1
  52. package/popover/popover-mobile/popover-mobile.component.d.ts +3 -3
  53. package/popover/popover-mobile/popover-mobile.module.d.ts +5 -5
  54. package/popover/popover-service/popover.service.d.ts +6 -4
  55. package/popover/popover-trigger.directive.d.ts +1 -1
  56. package/popover/popover.component.d.ts +9 -2
  57. package/popover/popover.module.d.ts +2 -5
  58. package/schematics/add-dependencies/index.js +4 -4
  59. package/fundamental-ngx-core-v0.43.5.tgz +0 -0
@@ -1,46 +1,47 @@
1
1
  import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { PopoverControlComponent } from './popover-control/popover-control.component';
4
- import { PopoverBodyComponent } from './popover-body/popover-body.component';
5
- import { PopoverBodyHeaderDirective } from './popover-body/popover-body-directives/popover-body-header.directive';
6
2
  import { PopoverBodyFooterDirective } from './popover-body/popover-body-directives/popover-body-footer.directive';
7
- import { OverlayModule } from '@angular/cdk/overlay';
8
- import { PopoverComponent } from './popover.component';
9
- import { A11yModule } from '@angular/cdk/a11y';
10
- import { PopoverTriggerDirective } from './popover-trigger.directive';
3
+ import { PopoverBodyHeaderDirective } from './popover-body/popover-body-directives/popover-body-header.directive';
4
+ import { PopoverBodyComponent } from './popover-body/popover-body.component';
5
+ import { PopoverControlComponent } from './popover-control/popover-control.component';
6
+ import { PopoverBodyDirective } from './popover-body.directive';
11
7
  import { PopoverContainerDirective } from './popover-container/popover-container.directive';
12
- import { ScrollbarModule } from '@fundamental-ngx/core/scrollbar';
8
+ import { PopoverTriggerDirective } from './popover-trigger.directive';
9
+ import { PopoverComponent } from './popover.component';
13
10
  import * as i0 from "@angular/core";
14
11
  export class PopoverModule {
15
12
  }
16
13
  PopoverModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PopoverModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
17
- PopoverModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: PopoverModule, declarations: [PopoverControlComponent,
14
+ PopoverModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: PopoverModule, imports: [PopoverControlComponent,
18
15
  PopoverBodyComponent,
19
16
  PopoverBodyHeaderDirective,
20
17
  PopoverBodyFooterDirective,
21
18
  PopoverComponent,
22
19
  PopoverTriggerDirective,
23
- PopoverContainerDirective], imports: [CommonModule, OverlayModule, A11yModule, ScrollbarModule], exports: [PopoverControlComponent,
20
+ PopoverContainerDirective,
21
+ PopoverBodyDirective], exports: [PopoverControlComponent,
24
22
  PopoverBodyComponent,
25
23
  PopoverBodyHeaderDirective,
26
24
  PopoverBodyFooterDirective,
27
25
  PopoverComponent,
28
26
  PopoverTriggerDirective,
29
- PopoverContainerDirective] });
30
- PopoverModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PopoverModule, imports: [CommonModule, OverlayModule, A11yModule, ScrollbarModule] });
27
+ PopoverContainerDirective,
28
+ PopoverBodyDirective] });
29
+ PopoverModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PopoverModule, imports: [PopoverControlComponent,
30
+ PopoverBodyComponent,
31
+ PopoverComponent] });
31
32
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PopoverModule, decorators: [{
32
33
  type: NgModule,
33
34
  args: [{
34
- declarations: [
35
+ imports: [
35
36
  PopoverControlComponent,
36
37
  PopoverBodyComponent,
37
38
  PopoverBodyHeaderDirective,
38
39
  PopoverBodyFooterDirective,
39
40
  PopoverComponent,
40
41
  PopoverTriggerDirective,
41
- PopoverContainerDirective
42
+ PopoverContainerDirective,
43
+ PopoverBodyDirective
42
44
  ],
43
- imports: [CommonModule, OverlayModule, A11yModule, ScrollbarModule],
44
45
  exports: [
45
46
  PopoverControlComponent,
46
47
  PopoverBodyComponent,
@@ -48,8 +49,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
48
49
  PopoverBodyFooterDirective,
49
50
  PopoverComponent,
50
51
  PopoverTriggerDirective,
51
- PopoverContainerDirective
52
+ PopoverContainerDirective,
53
+ PopoverBodyDirective
52
54
  ]
53
55
  }]
54
56
  }] });
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9wb3BvdmVyL3BvcG92ZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHNFQUFzRSxDQUFDO0FBQ2xILE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHNFQUFzRSxDQUFDO0FBRWxILE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdEUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDNUYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOztBQXVCbEUsTUFBTSxPQUFPLGFBQWE7OzBHQUFiLGFBQWE7MkdBQWIsYUFBYSxpQkFuQmxCLHVCQUF1QjtRQUN2QixvQkFBb0I7UUFDcEIsMEJBQTBCO1FBQzFCLDBCQUEwQjtRQUMxQixnQkFBZ0I7UUFDaEIsdUJBQXVCO1FBQ3ZCLHlCQUF5QixhQUVuQixZQUFZLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxlQUFlLGFBRTlELHVCQUF1QjtRQUN2QixvQkFBb0I7UUFDcEIsMEJBQTBCO1FBQzFCLDBCQUEwQjtRQUMxQixnQkFBZ0I7UUFDaEIsdUJBQXVCO1FBQ3ZCLHlCQUF5QjsyR0FHcEIsYUFBYSxZQVhaLFlBQVksRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLGVBQWU7MkZBV3pELGFBQWE7a0JBckJ6QixRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRTt3QkFDVix1QkFBdUI7d0JBQ3ZCLG9CQUFvQjt3QkFDcEIsMEJBQTBCO3dCQUMxQiwwQkFBMEI7d0JBQzFCLGdCQUFnQjt3QkFDaEIsdUJBQXVCO3dCQUN2Qix5QkFBeUI7cUJBQzVCO29CQUNELE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLGVBQWUsQ0FBQztvQkFDbkUsT0FBTyxFQUFFO3dCQUNMLHVCQUF1Qjt3QkFDdkIsb0JBQW9CO3dCQUNwQiwwQkFBMEI7d0JBQzFCLDBCQUEwQjt3QkFDMUIsZ0JBQWdCO3dCQUNoQix1QkFBdUI7d0JBQ3ZCLHlCQUF5QjtxQkFDNUI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgUG9wb3ZlckNvbnRyb2xDb21wb25lbnQgfSBmcm9tICcuL3BvcG92ZXItY29udHJvbC9wb3BvdmVyLWNvbnRyb2wuY29tcG9uZW50JztcbmltcG9ydCB7IFBvcG92ZXJCb2R5Q29tcG9uZW50IH0gZnJvbSAnLi9wb3BvdmVyLWJvZHkvcG9wb3Zlci1ib2R5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQb3BvdmVyQm9keUhlYWRlckRpcmVjdGl2ZSB9IGZyb20gJy4vcG9wb3Zlci1ib2R5L3BvcG92ZXItYm9keS1kaXJlY3RpdmVzL3BvcG92ZXItYm9keS1oZWFkZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IFBvcG92ZXJCb2R5Rm9vdGVyRGlyZWN0aXZlIH0gZnJvbSAnLi9wb3BvdmVyLWJvZHkvcG9wb3Zlci1ib2R5LWRpcmVjdGl2ZXMvcG9wb3Zlci1ib2R5LWZvb3Rlci5kaXJlY3RpdmUnO1xuXG5pbXBvcnQgeyBPdmVybGF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgUG9wb3ZlckNvbXBvbmVudCB9IGZyb20gJy4vcG9wb3Zlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQTExeU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IFBvcG92ZXJUcmlnZ2VyRGlyZWN0aXZlIH0gZnJvbSAnLi9wb3BvdmVyLXRyaWdnZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IFBvcG92ZXJDb250YWluZXJEaXJlY3RpdmUgfSBmcm9tICcuL3BvcG92ZXItY29udGFpbmVyL3BvcG92ZXItY29udGFpbmVyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBTY3JvbGxiYXJNb2R1bGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvc2Nyb2xsYmFyJztcblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtcbiAgICAgICAgUG9wb3ZlckNvbnRyb2xDb21wb25lbnQsXG4gICAgICAgIFBvcG92ZXJCb2R5Q29tcG9uZW50LFxuICAgICAgICBQb3BvdmVyQm9keUhlYWRlckRpcmVjdGl2ZSxcbiAgICAgICAgUG9wb3ZlckJvZHlGb290ZXJEaXJlY3RpdmUsXG4gICAgICAgIFBvcG92ZXJDb21wb25lbnQsXG4gICAgICAgIFBvcG92ZXJUcmlnZ2VyRGlyZWN0aXZlLFxuICAgICAgICBQb3BvdmVyQ29udGFpbmVyRGlyZWN0aXZlXG4gICAgXSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBPdmVybGF5TW9kdWxlLCBBMTF5TW9kdWxlLCBTY3JvbGxiYXJNb2R1bGVdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgUG9wb3ZlckNvbnRyb2xDb21wb25lbnQsXG4gICAgICAgIFBvcG92ZXJCb2R5Q29tcG9uZW50LFxuICAgICAgICBQb3BvdmVyQm9keUhlYWRlckRpcmVjdGl2ZSxcbiAgICAgICAgUG9wb3ZlckJvZHlGb290ZXJEaXJlY3RpdmUsXG4gICAgICAgIFBvcG92ZXJDb21wb25lbnQsXG4gICAgICAgIFBvcG92ZXJUcmlnZ2VyRGlyZWN0aXZlLFxuICAgICAgICBQb3BvdmVyQ29udGFpbmVyRGlyZWN0aXZlXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBQb3BvdmVyTW9kdWxlIHt9XG4iXX0=
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9wb3BvdmVyL3BvcG92ZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sc0VBQXNFLENBQUM7QUFDbEgsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sc0VBQXNFLENBQUM7QUFDbEgsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDN0UsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFFdEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDNUYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBd0J2RCxNQUFNLE9BQU8sYUFBYTs7MEdBQWIsYUFBYTsyR0FBYixhQUFhLFlBcEJsQix1QkFBdUI7UUFDdkIsb0JBQW9CO1FBQ3BCLDBCQUEwQjtRQUMxQiwwQkFBMEI7UUFDMUIsZ0JBQWdCO1FBQ2hCLHVCQUF1QjtRQUN2Qix5QkFBeUI7UUFDekIsb0JBQW9CLGFBR3BCLHVCQUF1QjtRQUN2QixvQkFBb0I7UUFDcEIsMEJBQTBCO1FBQzFCLDBCQUEwQjtRQUMxQixnQkFBZ0I7UUFDaEIsdUJBQXVCO1FBQ3ZCLHlCQUF5QjtRQUN6QixvQkFBb0I7MkdBR2YsYUFBYSxZQXBCbEIsdUJBQXVCO1FBQ3ZCLG9CQUFvQjtRQUdwQixnQkFBZ0I7MkZBZ0JYLGFBQWE7a0JBdEJ6QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCx1QkFBdUI7d0JBQ3ZCLG9CQUFvQjt3QkFDcEIsMEJBQTBCO3dCQUMxQiwwQkFBMEI7d0JBQzFCLGdCQUFnQjt3QkFDaEIsdUJBQXVCO3dCQUN2Qix5QkFBeUI7d0JBQ3pCLG9CQUFvQjtxQkFDdkI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLHVCQUF1Qjt3QkFDdkIsb0JBQW9CO3dCQUNwQiwwQkFBMEI7d0JBQzFCLDBCQUEwQjt3QkFDMUIsZ0JBQWdCO3dCQUNoQix1QkFBdUI7d0JBQ3ZCLHlCQUF5Qjt3QkFDekIsb0JBQW9CO3FCQUN2QjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFBvcG92ZXJCb2R5Rm9vdGVyRGlyZWN0aXZlIH0gZnJvbSAnLi9wb3BvdmVyLWJvZHkvcG9wb3Zlci1ib2R5LWRpcmVjdGl2ZXMvcG9wb3Zlci1ib2R5LWZvb3Rlci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgUG9wb3ZlckJvZHlIZWFkZXJEaXJlY3RpdmUgfSBmcm9tICcuL3BvcG92ZXItYm9keS9wb3BvdmVyLWJvZHktZGlyZWN0aXZlcy9wb3BvdmVyLWJvZHktaGVhZGVyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBQb3BvdmVyQm9keUNvbXBvbmVudCB9IGZyb20gJy4vcG9wb3Zlci1ib2R5L3BvcG92ZXItYm9keS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUG9wb3ZlckNvbnRyb2xDb21wb25lbnQgfSBmcm9tICcuL3BvcG92ZXItY29udHJvbC9wb3BvdmVyLWNvbnRyb2wuY29tcG9uZW50JztcblxuaW1wb3J0IHsgUG9wb3ZlckJvZHlEaXJlY3RpdmUgfSBmcm9tICcuL3BvcG92ZXItYm9keS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgUG9wb3ZlckNvbnRhaW5lckRpcmVjdGl2ZSB9IGZyb20gJy4vcG9wb3Zlci1jb250YWluZXIvcG9wb3Zlci1jb250YWluZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IFBvcG92ZXJUcmlnZ2VyRGlyZWN0aXZlIH0gZnJvbSAnLi9wb3BvdmVyLXRyaWdnZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IFBvcG92ZXJDb21wb25lbnQgfSBmcm9tICcuL3BvcG92ZXIuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIFBvcG92ZXJDb250cm9sQ29tcG9uZW50LFxuICAgICAgICBQb3BvdmVyQm9keUNvbXBvbmVudCxcbiAgICAgICAgUG9wb3ZlckJvZHlIZWFkZXJEaXJlY3RpdmUsXG4gICAgICAgIFBvcG92ZXJCb2R5Rm9vdGVyRGlyZWN0aXZlLFxuICAgICAgICBQb3BvdmVyQ29tcG9uZW50LFxuICAgICAgICBQb3BvdmVyVHJpZ2dlckRpcmVjdGl2ZSxcbiAgICAgICAgUG9wb3ZlckNvbnRhaW5lckRpcmVjdGl2ZSxcbiAgICAgICAgUG9wb3ZlckJvZHlEaXJlY3RpdmVcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgUG9wb3ZlckNvbnRyb2xDb21wb25lbnQsXG4gICAgICAgIFBvcG92ZXJCb2R5Q29tcG9uZW50LFxuICAgICAgICBQb3BvdmVyQm9keUhlYWRlckRpcmVjdGl2ZSxcbiAgICAgICAgUG9wb3ZlckJvZHlGb290ZXJEaXJlY3RpdmUsXG4gICAgICAgIFBvcG92ZXJDb21wb25lbnQsXG4gICAgICAgIFBvcG92ZXJUcmlnZ2VyRGlyZWN0aXZlLFxuICAgICAgICBQb3BvdmVyQ29udGFpbmVyRGlyZWN0aXZlLFxuICAgICAgICBQb3BvdmVyQm9keURpcmVjdGl2ZVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgUG9wb3Zlck1vZHVsZSB7fVxuIl19
@@ -60,7 +60,7 @@ class BaseButton {
60
60
  }
61
61
  }
62
62
  BaseButton.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BaseButton, deps: [], target: i0.ɵɵFactoryTarget.Directive });
63
- BaseButton.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: BaseButton, inputs: { type: "type", glyphPosition: "glyphPosition", glyph: "glyph", fdType: "fdType", label: "label", fdMenu: "fdMenu", ariaLabel: "ariaLabel", toggled: "toggled", disabled: "disabled", ariaDisabled: ["aria-disabled", "ariaDisabled"] }, host: { properties: { "class.fd-button--toggled": "this._toggled", "attr.aria-pressed": "this._toggled" } }, ngImport: i0 });
63
+ BaseButton.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: BaseButton, inputs: { type: "type", glyphPosition: "glyphPosition", glyph: "glyph", fdType: "fdType", label: "label", fdMenu: "fdMenu", ariaLabel: "ariaLabel", ariaDescription: "ariaDescription", toggled: "toggled", disabled: "disabled", ariaDisabled: ["aria-disabled", "ariaDisabled"] }, host: { properties: { "class.fd-button--toggled": "this._toggled", "attr.aria-pressed": "this._toggled" } }, ngImport: i0 });
64
64
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BaseButton, decorators: [{
65
65
  type: Directive
66
66
  }], propDecorators: { type: [{
@@ -77,6 +77,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
77
77
  type: Input
78
78
  }], ariaLabel: [{
79
79
  type: Input
80
+ }], ariaDescription: [{
81
+ type: Input
80
82
  }], _toggled: [{
81
83
  type: HostBinding,
82
84
  args: ['class.fd-button--toggled']
@@ -115,14 +117,27 @@ class ButtonComponent extends BaseButton {
115
117
  }
116
118
  if (this.specialButtonType.includes(this.fdType)) {
117
119
  if (this.label != null) {
118
- return this.label + ', ' + this.fdType;
120
+ return this.label;
119
121
  }
120
122
  if (this.glyph != null) {
121
- return this.fdType + ', ' + this.glyph.split('-').join(' ');
123
+ return this.glyph.split('-').join(' ');
122
124
  }
123
125
  }
124
126
  return null;
125
127
  }
128
+ /**
129
+ * Calculate aria-description attribute
130
+ * @hidden
131
+ */
132
+ get buttonAriaDescription() {
133
+ if (this.ariaDescription) {
134
+ return this.ariaDescription;
135
+ }
136
+ if (this.specialButtonType.includes(this.fdType)) {
137
+ return this.fdType;
138
+ }
139
+ return null;
140
+ }
126
141
  /** Forces the focus outline around the button, which is not default behavior in Safari. */
127
142
  clicked(event) {
128
143
  const target = event === null || event === void 0 ? void 0 : event.target;
@@ -181,7 +196,7 @@ class ButtonComponent extends BaseButton {
181
196
  }
182
197
  }
183
198
  ButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ButtonComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.ContentDensityObserver }], target: i0.ɵɵFactoryTarget.Component });
184
- ButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: { class: "class" }, host: { listeners: { "click": "clicked($event)" }, properties: { "attr.type": "type", "attr.disabled": "_disabled || null", "attr.aria-label": "buttonArialabel" } }, providers: [
199
+ ButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: { class: "class" }, host: { listeners: { "click": "clicked($event)" }, properties: { "attr.type": "type", "attr.disabled": "_disabled || null", "attr.aria-label": "buttonArialabel", "attr.aria-description": "buttonAriaDescription" } }, providers: [
185
200
  contentDensityObserverProviders(),
186
201
  {
187
202
  provide: FD_BUTTON_COMPONENT,
@@ -199,7 +214,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
199
214
  args: [{ selector: 'button[fd-button], a[fd-button]', exportAs: 'fd-button', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
200
215
  '[attr.type]': 'type',
201
216
  '[attr.disabled]': '_disabled || null',
202
- '[attr.aria-label]': 'buttonArialabel'
217
+ '[attr.aria-label]': 'buttonArialabel',
218
+ '[attr.aria-description]': 'buttonAriaDescription'
203
219
  }, providers: [
204
220
  contentDensityObserverProviders(),
205
221
  {
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-core-button.mjs","sources":["../../../../libs/core/src/lib/button/base-button.ts","../../../../libs/core/src/lib/button/tokens.ts","../../../../libs/core/src/lib/button/button.component.ts","../../../../libs/core/src/lib/button/button.component.html","../../../../libs/core/src/lib/button/deprecated-button-content-density.directive.ts","../../../../libs/core/src/lib/button/button.module.ts","../../../../libs/core/src/lib/button/fundamental-ngx-core-button.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/member-ordering */\nimport { Directive, HostBinding, Input } from '@angular/core';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\n\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\n\nexport type GlyphPosition = 'before' | 'after';\n\nexport type ButtonType =\n | ''\n | 'standard'\n | 'positive'\n | 'negative'\n | 'attention'\n | 'half'\n | 'ghost'\n | 'transparent'\n | 'emphasized'\n | 'menu';\n\n@Directive()\nexport class BaseButton {\n /**\n * Native type of button element\n */\n @Input()\n type: Nullable<string> = 'button';\n\n /** Position of glyph related to text */\n @Input()\n glyphPosition: GlyphPosition = 'before';\n\n /** The icon to include in the button. See the icon page for the list of icons.\n * Setter is used to control when css class have to be rebuilded.\n * Default value is set to ''.\n */\n @Input()\n glyph: Nullable<string>;\n\n /** The type of the button. Types include:\n * 'standard' | 'positive' | 'negative' | 'attention' | 'half' | 'ghost' | 'transparent' | 'emphasized' | 'menu'.\n * Leave empty for default (Standard button).'\n * Default value is set to 'standard'\n */\n @Input()\n fdType: ButtonType = 'standard';\n\n /**\n * Text rendered inside button component\n */\n @Input()\n label: string;\n\n /** Whether to apply menu mode to the button.\n * Default value is set to false\n */\n @Input()\n fdMenu = false;\n\n /** adding native aria-label to the component */\n @Input()\n ariaLabel: Nullable<string>;\n\n /** @hidden */\n @HostBinding('class.fd-button--toggled')\n @HostBinding('attr.aria-pressed')\n _toggled: boolean;\n\n /** @hidden */\n _disabled = false;\n\n /** @hidden */\n _ariaDisabled: boolean;\n\n /** Whether button is in toggled state. */\n @Input()\n set toggled(value: BooleanInput) {\n this._toggled = coerceBooleanProperty(value);\n }\n get toggled(): boolean {\n return this._toggled;\n }\n\n /**\n * Native disabled attribute of button element\n */\n @Input()\n set disabled(value: BooleanInput) {\n this._disabled = coerceBooleanProperty(value);\n }\n get disabled(): boolean {\n return this._disabled;\n }\n\n /**\n * Native aria-disabled attribute of button element\n */\n @Input('aria-disabled')\n set ariaDisabled(value: BooleanInput) {\n this._ariaDisabled = coerceBooleanProperty(value);\n }\n get ariaDisabled(): boolean {\n return this._ariaDisabled;\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport const FD_BUTTON_COMPONENT = new InjectionToken('FdButtonComponent');\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n HostListener,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n ViewEncapsulation\n} from '@angular/core';\nimport { BaseButton } from './base-button';\nimport { Subscription } from 'rxjs';\nimport { applyCssClass, CssClassBuilder } from '@fundamental-ngx/cdk/utils';\nimport { ContentDensityObserver, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\n\nimport { FD_BUTTON_COMPONENT } from './tokens';\n\n/**\n * Button directive, used to enhance standard HTML buttons.\n *\n * ``` selector: button[fd-button], a[fd-button] ```\n *\n * ```html\n * <button fd-button label=\"Button Text\"></button>\n * <a fd-button label=\"Button Text\"></a>\n * ```\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[fd-button], a[fd-button]',\n exportAs: 'fd-button',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.type]': 'type',\n '[attr.disabled]': '_disabled || null',\n '[attr.aria-label]': 'buttonArialabel'\n },\n providers: [\n contentDensityObserverProviders(),\n {\n provide: FD_BUTTON_COMPONENT,\n useExisting: ButtonComponent\n }\n ]\n})\nexport class ButtonComponent extends BaseButton implements OnChanges, CssClassBuilder, OnInit, OnDestroy {\n /** The property allows user to pass additional css classes. */\n @Input()\n class = '';\n\n /** @hidden */\n specialButtonType: Array<string> = ['emphasized', 'positive', 'negative', 'attention'];\n\n /**\n * Calculate aria-label attribute\n * @hidden\n */\n get buttonArialabel(): string | null {\n if (this.ariaLabel) {\n return this.ariaLabel;\n }\n\n if (this.specialButtonType.includes(this.fdType)) {\n if (this.label != null) {\n return this.label + ', ' + this.fdType;\n }\n\n if (this.glyph != null) {\n return this.fdType + ', ' + this.glyph.split('-').join(' ');\n }\n }\n\n return null;\n }\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n /** Forces the focus outline around the button, which is not default behavior in Safari. */\n @HostListener('click', ['$event'])\n clicked(event: MouseEvent): void {\n const target = event?.target as HTMLElement;\n // Target can be empty during unit tests execution.\n if (target && document.activeElement !== target) {\n target.focus();\n }\n }\n\n /** @hidden */\n constructor(\n public readonly elementRef: ElementRef,\n private _changeDetectorRef: ChangeDetectorRef,\n private _contentDensityObserver: ContentDensityObserver\n ) {\n super();\n _contentDensityObserver.subscribe();\n }\n\n /** Function runs when component is initialized\n * function should build component css class\n * function should build css style\n */\n public ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n public ngOnInit(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n /** @hidden\n * CssClassBuilder interface implementation\n * function must return single string\n * function is responsible for order which css classes are applied\n */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return [\n 'fd-button',\n this.fdType ? `fd-button--${this.fdType}` : '',\n this.fdMenu ? 'fd-button--menu' : '',\n this._disabled || this._ariaDisabled ? 'is-disabled' : '',\n this.toggled ? `fd-button--toggled` : '',\n this.class\n ];\n }\n\n /** @hidden */\n detectChanges(): void {\n this._changeDetectorRef.detectChanges();\n }\n}\n","<ng-container *ngIf=\"glyph && glyphPosition === 'before'\">\n <fd-icon [glyph]=\"glyph\"></fd-icon>\n</ng-container>\n\n<span class=\"fd-button__text\" *ngIf=\"label\">\n {{ label }}\n</span>\n<ng-content></ng-content>\n\n<ng-container *ngIf=\"glyph && glyphPosition === 'after'\">\n <fd-icon [glyph]=\"glyph\"></fd-icon>\n</ng-container>\n\n<fd-icon glyph=\"slim-arrow-down\" *ngIf=\"fdMenu\"></fd-icon>\n","import { CONTENT_DENSITY_DIRECTIVE, DeprecatedCompactDirective } from '@fundamental-ngx/core/content-density';\nimport { Directive, forwardRef } from '@angular/core';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-button][compact]',\n providers: [\n {\n provide: CONTENT_DENSITY_DIRECTIVE,\n useExisting: forwardRef(() => DeprecatedButtonContentDensityDirective)\n }\n ]\n})\nexport class DeprecatedButtonContentDensityDirective extends DeprecatedCompactDirective {\n /** @hidden */\n constructor() {\n super('[fd-button]');\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { ButtonComponent } from './button.component';\nimport { IconModule } from '@fundamental-ngx/core/icon';\nimport { DeprecatedButtonContentDensityDirective } from './deprecated-button-content-density.directive';\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\n\n@NgModule({\n imports: [CommonModule, IconModule, ContentDensityModule],\n exports: [ButtonComponent, DeprecatedButtonContentDensityDirective, ContentDensityModule],\n declarations: [ButtonComponent, DeprecatedButtonContentDensityDirective]\n})\nexport class ButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fundamental-ngx-core-button.mjs","sources":["../../../../libs/core/src/lib/button/base-button.ts","../../../../libs/core/src/lib/button/tokens.ts","../../../../libs/core/src/lib/button/button.component.ts","../../../../libs/core/src/lib/button/button.component.html","../../../../libs/core/src/lib/button/deprecated-button-content-density.directive.ts","../../../../libs/core/src/lib/button/button.module.ts","../../../../libs/core/src/lib/button/fundamental-ngx-core-button.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/member-ordering */\nimport { Directive, HostBinding, Input } from '@angular/core';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\n\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\n\nexport type GlyphPosition = 'before' | 'after';\n\nexport type ButtonType =\n | ''\n | 'standard'\n | 'positive'\n | 'negative'\n | 'attention'\n | 'half'\n | 'ghost'\n | 'transparent'\n | 'emphasized'\n | 'menu';\n\n@Directive()\nexport class BaseButton {\n /**\n * Native type of button element\n */\n @Input()\n type: Nullable<string> = 'button';\n\n /** Position of glyph related to text */\n @Input()\n glyphPosition: GlyphPosition = 'before';\n\n /** The icon to include in the button. See the icon page for the list of icons.\n * Setter is used to control when css class have to be rebuilded.\n * Default value is set to ''.\n */\n @Input()\n glyph: Nullable<string>;\n\n /** The type of the button. Types include:\n * 'standard' | 'positive' | 'negative' | 'attention' | 'half' | 'ghost' | 'transparent' | 'emphasized' | 'menu'.\n * Leave empty for default (Standard button).'\n * Default value is set to 'standard'\n */\n @Input()\n fdType: ButtonType = 'standard';\n\n /**\n * Text rendered inside button component\n */\n @Input()\n label: string;\n\n /** Whether to apply menu mode to the button.\n * Default value is set to false\n */\n @Input()\n fdMenu = false;\n\n /** adding native aria-label to the component */\n @Input()\n ariaLabel: Nullable<string>;\n\n /** adding native aria-description to the componenet */\n @Input()\n ariaDescription: Nullable<string>;\n\n /** @hidden */\n @HostBinding('class.fd-button--toggled')\n @HostBinding('attr.aria-pressed')\n _toggled: boolean;\n\n /** @hidden */\n _disabled = false;\n\n /** @hidden */\n _ariaDisabled: boolean;\n\n /** Whether button is in toggled state. */\n @Input()\n set toggled(value: BooleanInput) {\n this._toggled = coerceBooleanProperty(value);\n }\n get toggled(): boolean {\n return this._toggled;\n }\n\n /**\n * Native disabled attribute of button element\n */\n @Input()\n set disabled(value: BooleanInput) {\n this._disabled = coerceBooleanProperty(value);\n }\n get disabled(): boolean {\n return this._disabled;\n }\n\n /**\n * Native aria-disabled attribute of button element\n */\n @Input('aria-disabled')\n set ariaDisabled(value: BooleanInput) {\n this._ariaDisabled = coerceBooleanProperty(value);\n }\n get ariaDisabled(): boolean {\n return this._ariaDisabled;\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport const FD_BUTTON_COMPONENT = new InjectionToken('FdButtonComponent');\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n HostListener,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n ViewEncapsulation\n} from '@angular/core';\nimport { BaseButton } from './base-button';\nimport { Subscription } from 'rxjs';\nimport { applyCssClass, CssClassBuilder } from '@fundamental-ngx/cdk/utils';\nimport { ContentDensityObserver, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\n\nimport { FD_BUTTON_COMPONENT } from './tokens';\n\n/**\n * Button directive, used to enhance standard HTML buttons.\n *\n * ``` selector: button[fd-button], a[fd-button] ```\n *\n * ```html\n * <button fd-button label=\"Button Text\"></button>\n * <a fd-button label=\"Button Text\"></a>\n * ```\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[fd-button], a[fd-button]',\n exportAs: 'fd-button',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.type]': 'type',\n '[attr.disabled]': '_disabled || null',\n '[attr.aria-label]': 'buttonArialabel',\n '[attr.aria-description]': 'buttonAriaDescription'\n },\n providers: [\n contentDensityObserverProviders(),\n {\n provide: FD_BUTTON_COMPONENT,\n useExisting: ButtonComponent\n }\n ]\n})\nexport class ButtonComponent extends BaseButton implements OnChanges, CssClassBuilder, OnInit, OnDestroy {\n /** The property allows user to pass additional css classes. */\n @Input()\n class = '';\n\n /** @hidden */\n specialButtonType: Array<string> = ['emphasized', 'positive', 'negative', 'attention'];\n\n /**\n * Calculate aria-label attribute\n * @hidden\n */\n get buttonArialabel(): string | null {\n if (this.ariaLabel) {\n return this.ariaLabel;\n }\n\n if (this.specialButtonType.includes(this.fdType)) {\n if (this.label != null) {\n return this.label;\n }\n\n if (this.glyph != null) {\n return this.glyph.split('-').join(' ');\n }\n }\n\n return null;\n }\n\n /**\n * Calculate aria-description attribute\n * @hidden\n */\n get buttonAriaDescription(): string | null {\n if (this.ariaDescription) {\n return this.ariaDescription;\n }\n\n if (this.specialButtonType.includes(this.fdType)) {\n return this.fdType;\n }\n\n return null;\n }\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n /** Forces the focus outline around the button, which is not default behavior in Safari. */\n @HostListener('click', ['$event'])\n clicked(event: MouseEvent): void {\n const target = event?.target as HTMLElement;\n // Target can be empty during unit tests execution.\n if (target && document.activeElement !== target) {\n target.focus();\n }\n }\n\n /** @hidden */\n constructor(\n public readonly elementRef: ElementRef,\n private _changeDetectorRef: ChangeDetectorRef,\n private _contentDensityObserver: ContentDensityObserver\n ) {\n super();\n _contentDensityObserver.subscribe();\n }\n\n /** Function runs when component is initialized\n * function should build component css class\n * function should build css style\n */\n public ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n public ngOnInit(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n /** @hidden\n * CssClassBuilder interface implementation\n * function must return single string\n * function is responsible for order which css classes are applied\n */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return [\n 'fd-button',\n this.fdType ? `fd-button--${this.fdType}` : '',\n this.fdMenu ? 'fd-button--menu' : '',\n this._disabled || this._ariaDisabled ? 'is-disabled' : '',\n this.toggled ? `fd-button--toggled` : '',\n this.class\n ];\n }\n\n /** @hidden */\n detectChanges(): void {\n this._changeDetectorRef.detectChanges();\n }\n}\n","<ng-container *ngIf=\"glyph && glyphPosition === 'before'\">\n <fd-icon [glyph]=\"glyph\"></fd-icon>\n</ng-container>\n\n<span class=\"fd-button__text\" *ngIf=\"label\">\n {{ label }}\n</span>\n<ng-content></ng-content>\n\n<ng-container *ngIf=\"glyph && glyphPosition === 'after'\">\n <fd-icon [glyph]=\"glyph\"></fd-icon>\n</ng-container>\n\n<fd-icon glyph=\"slim-arrow-down\" *ngIf=\"fdMenu\"></fd-icon>\n","import { CONTENT_DENSITY_DIRECTIVE, DeprecatedCompactDirective } from '@fundamental-ngx/core/content-density';\nimport { Directive, forwardRef } from '@angular/core';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-button][compact]',\n providers: [\n {\n provide: CONTENT_DENSITY_DIRECTIVE,\n useExisting: forwardRef(() => DeprecatedButtonContentDensityDirective)\n }\n ]\n})\nexport class DeprecatedButtonContentDensityDirective extends DeprecatedCompactDirective {\n /** @hidden */\n constructor() {\n super('[fd-button]');\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { ButtonComponent } from './button.component';\nimport { IconModule } from '@fundamental-ngx/core/icon';\nimport { DeprecatedButtonContentDensityDirective } from './deprecated-button-content-density.directive';\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\n\n@NgModule({\n imports: [CommonModule, IconModule, ContentDensityModule],\n exports: [ButtonComponent, DeprecatedButtonContentDensityDirective, ContentDensityModule],\n declarations: [ButtonComponent, DeprecatedButtonContentDensityDirective]\n})\nexport class ButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -650,7 +650,7 @@ ComboboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
650
650
  provide: FD_COMBOBOX_COMPONENT,
651
651
  useExisting: ComboboxComponent
652
652
  }
653
- ], queries: [{ propertyName: "listMessages", predicate: FD_LIST_MESSAGE_DIRECTIVE }], viewQueries: [{ propertyName: "listComponent", first: true, predicate: ListComponent, descendants: true }, { propertyName: "searchInputElement", first: true, predicate: ["searchInputElement"], descendants: true }, { propertyName: "popoverComponent", first: true, predicate: PopoverComponent, descendants: true }, { propertyName: "inputGroup", first: true, predicate: InputGroupComponent, descendants: true }, { propertyName: "controlTemplate", first: true, predicate: ["controlTemplate"], descendants: true }, { propertyName: "listTemplate", first: true, predicate: ["listTemplate"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-container *ngTemplateOutlet=\"mobile ? mobileTemplate : desktopTemplate\"></ng-container>\n\n<ng-template #desktopTemplate>\n <fd-popover\n additionalBodyClass=\"fd-popover-custom-list\"\n [class.fd-combobox-full-width]=\"isSearch\"\n [isOpen]=\"open && displayedValues && displayedValues.length > 0\"\n (isOpenChange)=\"isOpenChangeHandle($event)\"\n [fillControlMode]=\"fillControlMode\"\n [scrollStrategy]=\"_repositionScrollStrategy\"\n [focusTrapped]=\"true\"\n [triggers]=\"triggers\"\n [disabled]=\"disabled || readOnly\"\n [maxWidth]=\"640\"\n [closeOnOutsideClick]=\"closeOnOutsideClick\"\n >\n <fd-popover-control>\n <ng-container *ngTemplateOutlet=\"controlTemplate\"></ng-container>\n </fd-popover-control>\n <fd-popover-body [hidden]=\"!displayedValues.length\">\n <ng-container *ngTemplateOutlet=\"listTemplate\"></ng-container>\n <ng-content></ng-content>\n </fd-popover-body>\n </fd-popover>\n</ng-template>\n\n<ng-template let-term=\"term\" #itemSource>\n <span\n fd-list-title\n *ngIf=\"!itemTemplate\"\n [innerHTML]=\"term | displayFnPipe : displayFn | highlight : inputText : highlighting && filterHighlight\"\n >\n </span>\n <ng-container *ngIf=\"itemTemplate\">\n <ng-container [ngTemplateOutlet]=\"itemTemplate\" [ngTemplateOutletContext]=\"{ $implicit: term }\"></ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template #mobileTemplate>\n <ng-container [ngTemplateOutlet]=\"controlTemplate\"></ng-container>\n</ng-template>\n\n<ng-template #controlTemplate>\n <fd-input-group\n [button]=\"showDropdownButton\"\n [glyph]=\"showDropdownButton ? glyphValue : null\"\n [state]=\"state\"\n [buttonFocusable]=\"buttonFocusable\"\n [disabled]=\"disabled\"\n [readonly]=\"readOnly\"\n [isControl]=\"true\"\n [isExpanded]=\"!mobile && open && displayedValues.length > 0\"\n [showFocus]=\"!clearInputBtnFocused\"\n [glyphAriaLabel]=\"ariaLabel || ('platformMultiCombobox.inputGlyphAriaLabel' | fdTranslate)\"\n [iconTitle]=\"title || ('platformMultiCombobox.inputGlyphAriaLabel' | fdTranslate)\"\n (addOnButtonClicked)=\"onPrimaryButtonClick()\"\n (click)=\"mobile && isOpenChangeHandle(true)\"\n >\n <input\n #searchInputElement\n fdkAutoComplete\n fd-input-group-input\n type=\"text\"\n role=\"combobox\"\n autocomplete=\"off\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-describedby]=\"comboboxId + '-list-results'\"\n [attr.aria-autocomplete]=\"autoComplete && !mobile ? 'list' : null\"\n [attr.aria-owns]=\"autoComplete && !mobile ? comboboxId + '-result' : null\"\n [attr.aria-haspopup]=\"autoComplete && !mobile\"\n [attr.aria-expanded]=\"!mobile && open && displayedValues.length\"\n [attr.aria-required]=\"required\"\n [attr.tabindex]=\"readOnly || disabled ? -1 : null\"\n [enable]=\"autoComplete && !mobile\"\n [displayFn]=\"displayFn\"\n [options]=\"dropdownValues\"\n [inputText]=\"inputText\"\n [disabled]=\"disabled\"\n [readonly]=\"readOnly\"\n [attr.aria-readonly]=\"readOnly\"\n [placeholder]=\"placeholder\"\n [id]=\"inputId\"\n [(ngModel)]=\"inputText\"\n (onComplete)=\"handleAutoComplete($event)\"\n (keydown)=\"onInputKeydownHandler($event)\"\n (ngModelChange)=\"handleSearchTermChange()\"\n (blur)=\"handleBlur()\"\n />\n <span\n class=\"fd-input-group__addon fd-input-group__addon--button\"\n [class.fd-shellbar__input-group-addon]=\"inShellbar\"\n *ngIf=\"isSearch && showClearButton && inputText && inputText.length > 0\"\n >\n <button\n fd-button\n class=\"fd-input-group__button\"\n type=\"button\"\n [fdType]=\"inShellbar ? 'standard' : 'transparent'\"\n title=\"Clear input\"\n [class.fd-shellbar__button]=\"inShellbar\"\n [attr.tabindex]=\"clearButtonFocusable ? 0 : -1\"\n (focus)=\"clearInputBtnFocus()\"\n (blur)=\"clearInputBtnBlur()\"\n (click)=\"_handleClearSearchTerm()\"\n >\n <fd-icon glyph=\"decline\"></fd-icon>\n </button>\n </span>\n </fd-input-group>\n <div [id]=\"comboboxId + '-list-results'\" class=\"fd-combobox-count-list-results\">\n {{ displayedValues.length || 0 }} result list items\n </div>\n</ng-template>\n\n<ng-template #listTemplate>\n <ul\n fd-list\n class=\"fd-combobox-custom-list\"\n [dropdownMode]=\"true\"\n [id]=\"comboboxId + '-result'\"\n role=\"listbox\"\n [attr.aria-labelledby]=\"comboboxId + '-search'\"\n [style.maxHeight]=\"!mobile && maxHeight\"\n [hasMessage]=\"listMessages && listMessages.length > 0\"\n [byline]=\"byline\"\n (focusEscapeList)=\"handleListFocusEscape($event)\"\n >\n <ng-content></ng-content>\n <ng-container *ngIf=\"groupFn\">\n <ng-container *ngFor=\"let group of displayedValues | listGroupPipe : groupFn\">\n <li role=\"group\" fd-list-group-header [tabindex]=\"0\">\n <span fd-list-title>{{ group.key }}</span>\n </li>\n <li\n role=\"option\"\n fd-list-item\n [attr.aria-placeholder]=\"group.key\"\n [tabindex]=\"0\"\n class=\"fd-combobox-list-item\"\n *ngFor=\"let term of group.value\"\n [selected]=\"isSelected(term)\"\n (keyDown)=\"onItemKeyDownHandler($event, term)\"\n (click)=\"onMenuClickHandler(term)\"\n >\n <ng-container\n [ngTemplateOutlet]=\"itemSource\"\n [ngTemplateOutletContext]=\"{ term: term }\"\n ></ng-container>\n </li>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!groupFn\">\n <li\n fd-list-item\n role=\"option\"\n [tabindex]=\"0\"\n class=\"fd-combobox-list-item\"\n *ngFor=\"let term of displayedValues\"\n [selected]=\"isSelected(term)\"\n (keyDown)=\"onItemKeyDownHandler($event, term)\"\n (click)=\"onMenuClickHandler(term)\"\n >\n <ng-container [ngTemplateOutlet]=\"itemSource\" [ngTemplateOutletContext]=\"{ term: term }\"></ng-container>\n </li>\n </ng-container>\n </ul>\n</ng-template>\n", styles: [".fd-combobox-custom-class,.fd-combobox-custom-class .fd-combobox-shellbar-custom{display:inline-block}.fd-list__item.fd-combobox-list-item{cursor:pointer}.fd-combobox-full-width{width:100%}.fd-combobox-count-list-results{position:absolute;opacity:0;z-index:-1}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i5.PopoverControlComponent, selector: "fd-popover-control" }, { kind: "component", type: i5.PopoverBodyComponent, selector: "fd-popover-body" }, { kind: "component", type: i5.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig"] }, { kind: "directive", type: i6.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: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i7.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i8.InputGroupComponent, selector: "fd-input-group", inputs: ["inputTemplate", "placement", "required", "inline", "placeholder", "addOnText", "buttonFocusable", "type", "glyph", "button", "disabled", "readonly", "state", "isControl", "showFocus", "isExpanded", "glyphAriaLabel", "iconTitle", "ariaLabelledby", "ariaLabelledBy"], outputs: ["addOnButtonClicked", "search"] }, { kind: "directive", type: i8.InputGroupInputDirective, selector: "[fdInputGroupInput], [fd-input-group-input]", inputs: ["class"] }, { kind: "component", type: i9.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline", "unreadIndicator"], outputs: ["focusEscapeList"] }, { kind: "component", type: i9.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "ariaDescribedBy", "noData", "action", "interactive", "growing", "counter", "unread", "byline", "selectedListItemScreenReaderText", "navigatedListItemScreenReaderText", "navigatableListItemScreenReaderText"], outputs: ["keyDown"] }, { kind: "directive", type: i9.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "directive", type: i9.ListGroupHeaderDirective, selector: "[fdListGroupHeader], [fd-list-group-header]", inputs: ["nativeElementId"], outputs: ["keyDown"] }, { kind: "component", type: i10.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel"] }, { kind: "directive", type: i2$1.AutoCompleteDirective, selector: "[fdkAutoComplete], [fdAutoComplete], [fd-auto-complete]", inputs: ["options", "inputText", "enable", "displayFn"], outputs: ["onComplete"] }, { kind: "pipe", type: i2$1.DisplayFnPipe, name: "displayFnPipe" }, { kind: "pipe", type: i2$1.SearchHighlightPipe, name: "highlight" }, { kind: "pipe", type: i11.FdTranslatePipe, name: "fdTranslate" }, { kind: "pipe", type: ListGroupPipe, name: "listGroupPipe" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
653
+ ], queries: [{ propertyName: "listMessages", predicate: FD_LIST_MESSAGE_DIRECTIVE }], viewQueries: [{ propertyName: "listComponent", first: true, predicate: ListComponent, descendants: true }, { propertyName: "searchInputElement", first: true, predicate: ["searchInputElement"], descendants: true }, { propertyName: "popoverComponent", first: true, predicate: PopoverComponent, descendants: true }, { propertyName: "inputGroup", first: true, predicate: InputGroupComponent, descendants: true }, { propertyName: "controlTemplate", first: true, predicate: ["controlTemplate"], descendants: true }, { propertyName: "listTemplate", first: true, predicate: ["listTemplate"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-container *ngTemplateOutlet=\"mobile ? mobileTemplate : desktopTemplate\"></ng-container>\n\n<ng-template #desktopTemplate>\n <fd-popover\n additionalBodyClass=\"fd-popover-custom-list\"\n [class.fd-combobox-full-width]=\"isSearch\"\n [isOpen]=\"open && displayedValues && displayedValues.length > 0\"\n (isOpenChange)=\"isOpenChangeHandle($event)\"\n [fillControlMode]=\"fillControlMode\"\n [scrollStrategy]=\"_repositionScrollStrategy\"\n [focusTrapped]=\"true\"\n [triggers]=\"triggers\"\n [disabled]=\"disabled || readOnly\"\n [maxWidth]=\"640\"\n [closeOnOutsideClick]=\"closeOnOutsideClick\"\n >\n <fd-popover-control>\n <ng-container *ngTemplateOutlet=\"controlTemplate\"></ng-container>\n </fd-popover-control>\n <fd-popover-body [hidden]=\"!displayedValues.length\">\n <ng-container *ngTemplateOutlet=\"listTemplate\"></ng-container>\n <ng-content></ng-content>\n </fd-popover-body>\n </fd-popover>\n</ng-template>\n\n<ng-template let-term=\"term\" #itemSource>\n <span\n fd-list-title\n *ngIf=\"!itemTemplate\"\n [innerHTML]=\"term | displayFnPipe : displayFn | highlight : inputText : highlighting && filterHighlight\"\n >\n </span>\n <ng-container *ngIf=\"itemTemplate\">\n <ng-container [ngTemplateOutlet]=\"itemTemplate\" [ngTemplateOutletContext]=\"{ $implicit: term }\"></ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template #mobileTemplate>\n <ng-container [ngTemplateOutlet]=\"controlTemplate\"></ng-container>\n</ng-template>\n\n<ng-template #controlTemplate>\n <fd-input-group\n [button]=\"showDropdownButton\"\n [glyph]=\"showDropdownButton ? glyphValue : null\"\n [state]=\"state\"\n [buttonFocusable]=\"buttonFocusable\"\n [disabled]=\"disabled\"\n [readonly]=\"readOnly\"\n [isControl]=\"true\"\n [isExpanded]=\"!mobile && open && displayedValues.length > 0\"\n [showFocus]=\"!clearInputBtnFocused\"\n [glyphAriaLabel]=\"ariaLabel || ('platformMultiCombobox.inputGlyphAriaLabel' | fdTranslate)\"\n [iconTitle]=\"title || ('platformMultiCombobox.inputGlyphAriaLabel' | fdTranslate)\"\n (addOnButtonClicked)=\"onPrimaryButtonClick()\"\n (click)=\"mobile && isOpenChangeHandle(true)\"\n >\n <input\n #searchInputElement\n fdkAutoComplete\n fd-input-group-input\n type=\"text\"\n role=\"combobox\"\n autocomplete=\"off\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-describedby]=\"comboboxId + '-list-results'\"\n [attr.aria-autocomplete]=\"autoComplete && !mobile ? 'list' : null\"\n [attr.aria-owns]=\"autoComplete && !mobile ? comboboxId + '-result' : null\"\n [attr.aria-haspopup]=\"autoComplete && !mobile\"\n [attr.aria-expanded]=\"!mobile && open && displayedValues.length\"\n [attr.aria-required]=\"required\"\n [attr.tabindex]=\"readOnly || disabled ? -1 : null\"\n [enable]=\"autoComplete && !mobile\"\n [displayFn]=\"displayFn\"\n [options]=\"dropdownValues\"\n [inputText]=\"inputText\"\n [disabled]=\"disabled\"\n [readonly]=\"readOnly\"\n [attr.aria-readonly]=\"readOnly\"\n [placeholder]=\"placeholder\"\n [id]=\"inputId\"\n [(ngModel)]=\"inputText\"\n (onComplete)=\"handleAutoComplete($event)\"\n (keydown)=\"onInputKeydownHandler($event)\"\n (ngModelChange)=\"handleSearchTermChange()\"\n (blur)=\"handleBlur()\"\n />\n <span\n class=\"fd-input-group__addon fd-input-group__addon--button\"\n [class.fd-shellbar__input-group-addon]=\"inShellbar\"\n *ngIf=\"isSearch && showClearButton && inputText && inputText.length > 0\"\n >\n <button\n fd-button\n class=\"fd-input-group__button\"\n type=\"button\"\n [fdType]=\"inShellbar ? 'standard' : 'transparent'\"\n title=\"Clear input\"\n [class.fd-shellbar__button]=\"inShellbar\"\n [attr.tabindex]=\"clearButtonFocusable ? 0 : -1\"\n (focus)=\"clearInputBtnFocus()\"\n (blur)=\"clearInputBtnBlur()\"\n (click)=\"_handleClearSearchTerm()\"\n >\n <fd-icon glyph=\"decline\"></fd-icon>\n </button>\n </span>\n </fd-input-group>\n <div [id]=\"comboboxId + '-list-results'\" class=\"fd-combobox-count-list-results\">\n {{ displayedValues.length || 0 }} result list items\n </div>\n</ng-template>\n\n<ng-template #listTemplate>\n <ul\n fd-list\n class=\"fd-combobox-custom-list\"\n [dropdownMode]=\"true\"\n [id]=\"comboboxId + '-result'\"\n role=\"listbox\"\n [attr.aria-labelledby]=\"comboboxId + '-search'\"\n [style.maxHeight]=\"!mobile && maxHeight\"\n [hasMessage]=\"listMessages && listMessages.length > 0\"\n [byline]=\"byline\"\n (focusEscapeList)=\"handleListFocusEscape($event)\"\n >\n <ng-content></ng-content>\n <ng-container *ngIf=\"groupFn\">\n <ng-container *ngFor=\"let group of displayedValues | listGroupPipe : groupFn\">\n <li role=\"group\" fd-list-group-header [tabindex]=\"0\">\n <span fd-list-title>{{ group.key }}</span>\n </li>\n <li\n role=\"option\"\n fd-list-item\n [attr.aria-placeholder]=\"group.key\"\n [tabindex]=\"0\"\n class=\"fd-combobox-list-item\"\n *ngFor=\"let term of group.value\"\n [selected]=\"isSelected(term)\"\n (keyDown)=\"onItemKeyDownHandler($event, term)\"\n (click)=\"onMenuClickHandler(term)\"\n >\n <ng-container\n [ngTemplateOutlet]=\"itemSource\"\n [ngTemplateOutletContext]=\"{ term: term }\"\n ></ng-container>\n </li>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!groupFn\">\n <li\n fd-list-item\n role=\"option\"\n [tabindex]=\"0\"\n class=\"fd-combobox-list-item\"\n *ngFor=\"let term of displayedValues\"\n [selected]=\"isSelected(term)\"\n (keyDown)=\"onItemKeyDownHandler($event, term)\"\n (click)=\"onMenuClickHandler(term)\"\n >\n <ng-container [ngTemplateOutlet]=\"itemSource\" [ngTemplateOutletContext]=\"{ term: term }\"></ng-container>\n </li>\n </ng-container>\n </ul>\n</ng-template>\n", styles: [".fd-combobox-custom-class,.fd-combobox-custom-class .fd-combobox-shellbar-custom{display:inline-block}.fd-list__item.fd-combobox-list-item{cursor:pointer}.fd-combobox-full-width{width:100%}.fd-combobox-count-list-results{position:absolute;opacity:0;z-index:-1}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i5.PopoverControlComponent, selector: "fd-popover-control" }, { kind: "component", type: i5.PopoverBodyComponent, selector: "fd-popover-body" }, { kind: "component", type: i5.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig"] }, { kind: "directive", type: i6.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: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i7.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i8.InputGroupComponent, selector: "fd-input-group", inputs: ["inputTemplate", "placement", "required", "inline", "placeholder", "addOnText", "buttonFocusable", "type", "glyph", "button", "disabled", "readonly", "state", "isControl", "showFocus", "isExpanded", "glyphAriaLabel", "iconTitle", "ariaLabelledby", "ariaLabelledBy"], outputs: ["addOnButtonClicked", "search"] }, { kind: "directive", type: i8.InputGroupInputDirective, selector: "[fdInputGroupInput], [fd-input-group-input]", inputs: ["class"] }, { kind: "component", type: i9.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline", "unreadIndicator"], outputs: ["focusEscapeList"] }, { kind: "component", type: i9.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "ariaDescribedBy", "noData", "action", "interactive", "growing", "counter", "unread", "byline", "selectedListItemScreenReaderText", "navigatedListItemScreenReaderText", "navigatableListItemScreenReaderText"], outputs: ["keyDown"] }, { kind: "directive", type: i9.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "directive", type: i9.ListGroupHeaderDirective, selector: "[fdListGroupHeader], [fd-list-group-header]", inputs: ["nativeElementId"], outputs: ["keyDown"] }, { kind: "component", type: i10.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel"] }, { kind: "directive", type: i2$1.AutoCompleteDirective, selector: "[fdkAutoComplete], [fdAutoComplete], [fd-auto-complete]", inputs: ["options", "inputText", "enable", "matcher", "displayFn"], outputs: ["onComplete"] }, { kind: "pipe", type: i2$1.DisplayFnPipe, name: "displayFnPipe" }, { kind: "pipe", type: i2$1.SearchHighlightPipe, name: "highlight" }, { kind: "pipe", type: i11.FdTranslatePipe, name: "fdTranslate" }, { kind: "pipe", type: ListGroupPipe, name: "listGroupPipe" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
654
654
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ComboboxComponent, decorators: [{
655
655
  type: Component,
656
656
  args: [{ selector: 'fd-combobox', providers: [