@fundamental-ngx/core 0.46.2-rc.7 → 0.46.2-rc.9

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 (28) hide show
  1. package/combobox/combobox-item.directive.d.ts +16 -0
  2. package/combobox/combobox.component.d.ts +10 -6
  3. package/combobox/combobox.interface.d.ts +4 -0
  4. package/combobox/combobox.module.d.ts +3 -2
  5. package/combobox/index.d.ts +1 -0
  6. package/esm2022/combobox/combobox-item.directive.mjs +24 -0
  7. package/esm2022/combobox/combobox.component.mjs +14 -7
  8. package/esm2022/combobox/combobox.interface.mjs +1 -1
  9. package/esm2022/combobox/combobox.module.mjs +5 -4
  10. package/esm2022/combobox/index.mjs +2 -1
  11. package/esm2022/multi-combobox/index.mjs +2 -1
  12. package/esm2022/multi-combobox/multi-announcer/multi-announcer.directive.mjs +74 -0
  13. package/esm2022/multi-combobox/multi-combobox.component.mjs +6 -4
  14. package/esm2022/multi-combobox/multi-combobox.module.mjs +5 -4
  15. package/esm2022/multi-input/multi-input.component.mjs +6 -4
  16. package/fesm2022/fundamental-ngx-core-combobox.mjs +38 -10
  17. package/fesm2022/fundamental-ngx-core-combobox.mjs.map +1 -1
  18. package/fesm2022/fundamental-ngx-core-multi-combobox.mjs +82 -11
  19. package/fesm2022/fundamental-ngx-core-multi-combobox.mjs.map +1 -1
  20. package/fesm2022/fundamental-ngx-core-multi-input.mjs +5 -3
  21. package/fesm2022/fundamental-ngx-core-multi-input.mjs.map +1 -1
  22. package/fundamental-ngx-core-v0.46.2-rc.9.tgz +0 -0
  23. package/multi-combobox/index.d.ts +1 -0
  24. package/multi-combobox/multi-announcer/multi-announcer.directive.d.ts +23 -0
  25. package/multi-combobox/multi-combobox.module.d.ts +2 -1
  26. package/package.json +3 -3
  27. package/schematics/add-dependencies/index.js +4 -4
  28. package/fundamental-ngx-core-v0.46.2-rc.7.tgz +0 -0
@@ -0,0 +1,74 @@
1
+ /* eslint-disable @typescript-eslint/member-ordering */
2
+ import { LiveAnnouncer } from '@angular/cdk/a11y';
3
+ import { Directive, HostListener, inject, Input } from '@angular/core';
4
+ import { KeyUtil } from '@fundamental-ngx/cdk/utils';
5
+ import { resolveTranslationSyncFn } from '@fundamental-ngx/i18n';
6
+ import * as i0 from "@angular/core";
7
+ export class MultiAnnouncerDirective {
8
+ constructor() {
9
+ /** @hidden */
10
+ this._noResultsAnnounced = false;
11
+ /** @hidden */
12
+ this._resultsAnnounced = false;
13
+ /** @hidden */
14
+ this._announcement = '';
15
+ /** @hidden */
16
+ this._liveAnnouncer = inject(LiveAnnouncer);
17
+ /** @hidden */
18
+ this._resolveTranslation = resolveTranslationSyncFn();
19
+ }
20
+ /** @hidden */
21
+ _makeSearchTermChangeAnnouncements(event) {
22
+ if (KeyUtil.isKeyType(event, 'alphabetical') || KeyUtil.isKeyType(event, 'numeric')) {
23
+ this._liveAnnouncer.clear();
24
+ if (!this.multiAnnouncerOptions.length && !this._noResultsAnnounced) {
25
+ this._buildAnnouncement(this._resolveTranslation('coreMultiInput.noResults'));
26
+ this._noResultsAnnounced = true;
27
+ this._resultsAnnounced = false;
28
+ }
29
+ else if (this.multiAnnouncerOptions.length) {
30
+ if (this.multiAnnouncerOptions.length === 1) {
31
+ this._buildAnnouncement(this._resolveTranslation('coreMultiInput.countListResultsSingular', { count: 1 }));
32
+ }
33
+ else {
34
+ this._buildAnnouncement(this._resolveTranslation('coreMultiInput.countListResultsPlural', {
35
+ count: this.multiAnnouncerOptions.length
36
+ }));
37
+ }
38
+ if (!this._resultsAnnounced) {
39
+ this._buildAnnouncement(this._resolveTranslation('coreMultiInput.navigateSelectionsWithArrows'));
40
+ this._noResultsAnnounced = false;
41
+ this._resultsAnnounced = true;
42
+ }
43
+ }
44
+ this._buildAnnouncement(this._resolveTranslation('coreMultiInput.escapeNavigateTokens'));
45
+ this._makeAnnouncement(this._announcement);
46
+ }
47
+ }
48
+ /** @hidden */
49
+ _buildAnnouncement(message) {
50
+ this._announcement = this._announcement + message + ' ';
51
+ }
52
+ /** @hidden */
53
+ async _makeAnnouncement(message) {
54
+ await this._liveAnnouncer.announce(message, 'assertive').then(() => {
55
+ this._announcement = '';
56
+ });
57
+ }
58
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: MultiAnnouncerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
59
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.7", type: MultiAnnouncerDirective, isStandalone: true, selector: "[fdMultiAnnouncer]", inputs: { multiAnnouncerOptions: "multiAnnouncerOptions" }, host: { listeners: { "keyup": "_makeSearchTermChangeAnnouncements($event)" } }, exportAs: ["fdMultiAnnouncer"], ngImport: i0 }); }
60
+ }
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: MultiAnnouncerDirective, decorators: [{
62
+ type: Directive,
63
+ args: [{
64
+ selector: '[fdMultiAnnouncer]',
65
+ exportAs: 'fdMultiAnnouncer',
66
+ standalone: true
67
+ }]
68
+ }], propDecorators: { multiAnnouncerOptions: [{
69
+ type: Input
70
+ }], _makeSearchTermChangeAnnouncements: [{
71
+ type: HostListener,
72
+ args: ['keyup', ['$event']]
73
+ }] } });
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktYW5ub3VuY2VyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL211bHRpLWNvbWJvYm94L211bHRpLWFubm91bmNlci9tdWx0aS1hbm5vdW5jZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDckQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBT2pFLE1BQU0sT0FBTyx1QkFBdUI7SUFMcEM7UUFVSSxjQUFjO1FBQ04sd0JBQW1CLEdBQUcsS0FBSyxDQUFDO1FBRXBDLGNBQWM7UUFDTixzQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFFbEMsY0FBYztRQUNOLGtCQUFhLEdBQUcsRUFBRSxDQUFDO1FBRTNCLGNBQWM7UUFDRyxtQkFBYyxHQUFrQixNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFdkUsY0FBYztRQUNOLHdCQUFtQixHQUFHLHdCQUF3QixFQUFFLENBQUM7S0E2QzVEO0lBM0NHLGNBQWM7SUFFTixrQ0FBa0MsQ0FBQyxLQUFvQjtRQUMzRCxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLGNBQWMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxFQUFFO1lBQ2pGLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUU7Z0JBQ2pFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUFDO2dCQUM5RSxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDO2dCQUNoQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO2FBQ2xDO2lCQUFNLElBQUksSUFBSSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sRUFBRTtnQkFDMUMsSUFBSSxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtvQkFDekMsSUFBSSxDQUFDLGtCQUFrQixDQUNuQixJQUFJLENBQUMsbUJBQW1CLENBQUMseUNBQXlDLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FDcEYsQ0FBQztpQkFDTDtxQkFBTTtvQkFDSCxJQUFJLENBQUMsa0JBQWtCLENBQ25CLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyx1Q0FBdUMsRUFBRTt3QkFDOUQsS0FBSyxFQUFFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNO3FCQUMzQyxDQUFDLENBQ0wsQ0FBQztpQkFDTDtnQkFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFO29CQUN6QixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLDZDQUE2QyxDQUFDLENBQUMsQ0FBQztvQkFDakcsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEtBQUssQ0FBQztvQkFDakMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztpQkFDakM7YUFDSjtZQUNELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMscUNBQXFDLENBQUMsQ0FBQyxDQUFDO1lBQ3pGLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDOUM7SUFDTCxDQUFDO0lBRUQsY0FBYztJQUNOLGtCQUFrQixDQUFDLE9BQWU7UUFDdEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxHQUFHLE9BQU8sR0FBRyxHQUFHLENBQUM7SUFDNUQsQ0FBQztJQUVELGNBQWM7SUFDTixLQUFLLENBQUMsaUJBQWlCLENBQUMsT0FBZTtRQUMzQyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQy9ELElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs4R0E5RFEsdUJBQXVCO2tHQUF2Qix1QkFBdUI7OzJGQUF2Qix1QkFBdUI7a0JBTG5DLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsVUFBVSxFQUFFLElBQUk7aUJBQ25COzhCQUlHLHFCQUFxQjtzQkFEcEIsS0FBSztnQkFvQkUsa0NBQWtDO3NCQUR6QyxZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9tZW1iZXItb3JkZXJpbmcgKi9cbmltcG9ydCB7IExpdmVBbm5vdW5jZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RMaXN0ZW5lciwgaW5qZWN0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgS2V5VXRpbCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IHJlc29sdmVUcmFuc2xhdGlvblN5bmNGbiB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvaTE4bic7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2ZkTXVsdGlBbm5vdW5jZXJdJyxcbiAgICBleHBvcnRBczogJ2ZkTXVsdGlBbm5vdW5jZXInLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgTXVsdGlBbm5vdW5jZXJEaXJlY3RpdmUge1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQElucHV0KClcbiAgICBtdWx0aUFubm91bmNlck9wdGlvbnM6IGFueVtdO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9ub1Jlc3VsdHNBbm5vdW5jZWQgPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfcmVzdWx0c0Fubm91bmNlZCA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9hbm5vdW5jZW1lbnQgPSAnJztcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfbGl2ZUFubm91bmNlcjogTGl2ZUFubm91bmNlciA9IGluamVjdChMaXZlQW5ub3VuY2VyKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfcmVzb2x2ZVRyYW5zbGF0aW9uID0gcmVzb2x2ZVRyYW5zbGF0aW9uU3luY0ZuKCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2tleXVwJywgWyckZXZlbnQnXSlcbiAgICBwcml2YXRlIF9tYWtlU2VhcmNoVGVybUNoYW5nZUFubm91bmNlbWVudHMoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKEtleVV0aWwuaXNLZXlUeXBlKGV2ZW50LCAnYWxwaGFiZXRpY2FsJykgfHwgS2V5VXRpbC5pc0tleVR5cGUoZXZlbnQsICdudW1lcmljJykpIHtcbiAgICAgICAgICAgIHRoaXMuX2xpdmVBbm5vdW5jZXIuY2xlYXIoKTtcbiAgICAgICAgICAgIGlmICghdGhpcy5tdWx0aUFubm91bmNlck9wdGlvbnMubGVuZ3RoICYmICF0aGlzLl9ub1Jlc3VsdHNBbm5vdW5jZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9idWlsZEFubm91bmNlbWVudCh0aGlzLl9yZXNvbHZlVHJhbnNsYXRpb24oJ2NvcmVNdWx0aUlucHV0Lm5vUmVzdWx0cycpKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9ub1Jlc3VsdHNBbm5vdW5jZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMuX3Jlc3VsdHNBbm5vdW5jZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5tdWx0aUFubm91bmNlck9wdGlvbnMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMubXVsdGlBbm5vdW5jZXJPcHRpb25zLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9idWlsZEFubm91bmNlbWVudChcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3Jlc29sdmVUcmFuc2xhdGlvbignY29yZU11bHRpSW5wdXQuY291bnRMaXN0UmVzdWx0c1Npbmd1bGFyJywgeyBjb3VudDogMSB9KVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2J1aWxkQW5ub3VuY2VtZW50KFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fcmVzb2x2ZVRyYW5zbGF0aW9uKCdjb3JlTXVsdGlJbnB1dC5jb3VudExpc3RSZXN1bHRzUGx1cmFsJywge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvdW50OiB0aGlzLm11bHRpQW5ub3VuY2VyT3B0aW9ucy5sZW5ndGhcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICghdGhpcy5fcmVzdWx0c0Fubm91bmNlZCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9idWlsZEFubm91bmNlbWVudCh0aGlzLl9yZXNvbHZlVHJhbnNsYXRpb24oJ2NvcmVNdWx0aUlucHV0Lm5hdmlnYXRlU2VsZWN0aW9uc1dpdGhBcnJvd3MnKSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX25vUmVzdWx0c0Fubm91bmNlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9yZXN1bHRzQW5ub3VuY2VkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLl9idWlsZEFubm91bmNlbWVudCh0aGlzLl9yZXNvbHZlVHJhbnNsYXRpb24oJ2NvcmVNdWx0aUlucHV0LmVzY2FwZU5hdmlnYXRlVG9rZW5zJykpO1xuICAgICAgICAgICAgdGhpcy5fbWFrZUFubm91bmNlbWVudCh0aGlzLl9hbm5vdW5jZW1lbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9idWlsZEFubm91bmNlbWVudChtZXNzYWdlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fYW5ub3VuY2VtZW50ID0gdGhpcy5fYW5ub3VuY2VtZW50ICsgbWVzc2FnZSArICcgJztcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgYXN5bmMgX21ha2VBbm5vdW5jZW1lbnQobWVzc2FnZTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGF3YWl0IHRoaXMuX2xpdmVBbm5vdW5jZXIuYW5ub3VuY2UobWVzc2FnZSwgJ2Fzc2VydGl2ZScpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fYW5ub3VuY2VtZW50ID0gJyc7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==