@ndwnu/design-system 5.0.0 → 6.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/alert/alert.model.d.ts +1 -6
- package/components/banner/banner.model.d.ts +1 -4
- package/components/card/card-header/card-header.component.d.ts +7 -1
- package/components/card/card.animation.d.ts +1 -0
- package/components/card/card.component.d.ts +15 -2
- package/components/card/index.d.ts +2 -2
- package/components/dropdown/dropdown.component.d.ts +1 -1
- package/components/form-field/autosuggest/autosuggest-add-option/autosuggest-add-option.component.d.ts +3 -3
- package/components/form-field/autosuggest/autosuggest-option/autosuggest-option.component.d.ts +7 -7
- package/components/form-field/autosuggest/autosuggest-option/autosuggest-option.model.d.ts +5 -2
- package/components/form-field/autosuggest/autosuggest-option/base-autosuggest-option.component.d.ts +5 -6
- package/components/form-field/autosuggest/autosuggest-panel/autosuggest-panel.component.d.ts +12 -14
- package/components/form-field/autosuggest/autosuggest.directive.d.ts +7 -8
- package/components/form-field/clear-search-button/clear-search-button.component.d.ts +2 -1
- package/components/form-field/form-field.component.d.ts +2 -1
- package/components/form-field/input/input.model.d.ts +1 -11
- package/components/form-field/picker-button/picker-button.component.d.ts +1 -0
- package/components/form-field/textarea/auto-grow.directive.d.ts +6 -3
- package/components/form-field/textarea/index.d.ts +1 -0
- package/components/form-field/textarea/max-char.directive.d.ts +15 -0
- package/components/icon/action-icon/action-icon.component.d.ts +2 -2
- package/components/index.d.ts +1 -0
- package/components/layout/layout.component.d.ts +5 -2
- package/components/main-navigation/main-navigation.imports.d.ts +1 -1
- package/components/main-navigation/main-navigation.model.d.ts +1 -4
- package/components/modal/modal.component.d.ts +1 -2
- package/components/multi-select/multi-select.component.d.ts +3 -3
- package/components/pill/pill.model.d.ts +1 -8
- package/components/router-breadcrumbs/router-breadcrumbs.component.d.ts +2 -2
- package/components/summary-card/index.d.ts +10 -0
- package/components/summary-card/summary-card-action/summary-card-action.component.d.ts +11 -0
- package/components/summary-card/summary-card-actions/summary-card-actions.component.d.ts +9 -0
- package/components/summary-card/summary-card-avatar/summary-card-avatar.component.d.ts +8 -0
- package/components/summary-card/summary-card-content/summary-card-content.component.d.ts +5 -0
- package/components/summary-card/summary-card-header/summary-card-header.component.d.ts +5 -0
- package/components/summary-card/summary-card-subtitle/summary-card-subtitle.component.d.ts +5 -0
- package/components/summary-card/summary-card-tag/summary-card-tag.component.d.ts +5 -0
- package/components/summary-card/summary-card-tags/summary-card-tags.component.d.ts +5 -0
- package/components/summary-card/summary-card.component.d.ts +5 -0
- package/components/summary-card/summary-card.model.d.ts +2 -0
- package/components/tag/tag.component.d.ts +2 -2
- package/core/style/styles.css +217 -11
- package/core/style/styles.scss +217 -11
- package/fesm2022/ndwnu-design-system.mjs +608 -334
- package/fesm2022/ndwnu-design-system.mjs.map +1 -1
- package/package.json +5 -7
- package/esm2022/components/accordion/accordion.component.mjs +0 -32
- package/esm2022/components/accordion/accordion.service.mjs +0 -17
- package/esm2022/components/accordion/index.mjs +0 -3
- package/esm2022/components/alert/alert.component.mjs +0 -42
- package/esm2022/components/alert/alert.model.mjs +0 -8
- package/esm2022/components/alert/index.mjs +0 -3
- package/esm2022/components/badge/badge.component.mjs +0 -21
- package/esm2022/components/badge/index.mjs +0 -2
- package/esm2022/components/banner/banner.component.mjs +0 -61
- package/esm2022/components/banner/banner.model.mjs +0 -6
- package/esm2022/components/banner/index.mjs +0 -3
- package/esm2022/components/breadcrumb/breadcrumb.component.mjs +0 -15
- package/esm2022/components/breadcrumb/index.mjs +0 -2
- package/esm2022/components/breadcrumb-group/breadcrumb-group.component.mjs +0 -21
- package/esm2022/components/breadcrumb-group/index.mjs +0 -2
- package/esm2022/components/button/button.directive.mjs +0 -37
- package/esm2022/components/button/index.mjs +0 -2
- package/esm2022/components/card/card-content/card-content.component.mjs +0 -11
- package/esm2022/components/card/card-content/index.mjs +0 -2
- package/esm2022/components/card/card-footer/card-footer.component.mjs +0 -11
- package/esm2022/components/card/card-footer/index.mjs +0 -2
- package/esm2022/components/card/card-header/card-header.component.mjs +0 -11
- package/esm2022/components/card/card-header/index.mjs +0 -2
- package/esm2022/components/card/card.component.mjs +0 -11
- package/esm2022/components/card/index.mjs +0 -15
- package/esm2022/components/collapsible/collapsible.animation.mjs +0 -26
- package/esm2022/components/collapsible/collapsible.component.mjs +0 -34
- package/esm2022/components/collapsible/index.mjs +0 -2
- package/esm2022/components/dashboard-card/dashboard-card.component.mjs +0 -32
- package/esm2022/components/dashboard-card/index.mjs +0 -2
- package/esm2022/components/dropdown/dropdown.component.mjs +0 -57
- package/esm2022/components/dropdown/index.mjs +0 -2
- package/esm2022/components/form-field/autosuggest/autosuggest-add-option/autosuggest-add-option.component.mjs +0 -29
- package/esm2022/components/form-field/autosuggest/autosuggest-add-option/index.mjs +0 -2
- package/esm2022/components/form-field/autosuggest/autosuggest-option/autosuggest-option.component.mjs +0 -45
- package/esm2022/components/form-field/autosuggest/autosuggest-option/autosuggest-option.model.mjs +0 -2
- package/esm2022/components/form-field/autosuggest/autosuggest-option/base-autosuggest-option.component.mjs +0 -85
- package/esm2022/components/form-field/autosuggest/autosuggest-option/index.mjs +0 -3
- package/esm2022/components/form-field/autosuggest/autosuggest-panel/autosuggest-panel.component.mjs +0 -82
- package/esm2022/components/form-field/autosuggest/autosuggest.directive.mjs +0 -411
- package/esm2022/components/form-field/autosuggest/index.mjs +0 -6
- package/esm2022/components/form-field/autosuggest/match-bold.pipe.mjs +0 -21
- package/esm2022/components/form-field/checkbox/checkbox.component.mjs +0 -62
- package/esm2022/components/form-field/checkbox/index.mjs +0 -2
- package/esm2022/components/form-field/checkbox-group/checkbox-group.component.mjs +0 -15
- package/esm2022/components/form-field/checkbox-group/index.mjs +0 -2
- package/esm2022/components/form-field/clear-search-button/clear-search-button.component.mjs +0 -37
- package/esm2022/components/form-field/error/error.component.mjs +0 -12
- package/esm2022/components/form-field/error/index.mjs +0 -2
- package/esm2022/components/form-field/file-upload/file-upload-text.interface.mjs +0 -2
- package/esm2022/components/form-field/file-upload/file-upload.component.mjs +0 -172
- package/esm2022/components/form-field/file-upload/index.mjs +0 -3
- package/esm2022/components/form-field/form-field.component.mjs +0 -81
- package/esm2022/components/form-field/form-field.constant.mjs +0 -2
- package/esm2022/components/form-field/form-field.model.mjs +0 -8
- package/esm2022/components/form-field/index.mjs +0 -17
- package/esm2022/components/form-field/info/index.mjs +0 -2
- package/esm2022/components/form-field/info/info.component.mjs +0 -11
- package/esm2022/components/form-field/input/index.mjs +0 -3
- package/esm2022/components/form-field/input/input.directive.mjs +0 -68
- package/esm2022/components/form-field/input/input.model.mjs +0 -13
- package/esm2022/components/form-field/input-button/index.mjs +0 -2
- package/esm2022/components/form-field/input-button/input-button.component.mjs +0 -23
- package/esm2022/components/form-field/input-icon/index.mjs +0 -2
- package/esm2022/components/form-field/input-icon/input-icon.component.mjs +0 -12
- package/esm2022/components/form-field/month-input/index.mjs +0 -2
- package/esm2022/components/form-field/month-input/month-input-utils.mjs +0 -13
- package/esm2022/components/form-field/month-input/month-input.component.mjs +0 -154
- package/esm2022/components/form-field/option-group/index.mjs +0 -4
- package/esm2022/components/form-field/option-group/option-group.component.mjs +0 -64
- package/esm2022/components/form-field/option-group/option-group.model.mjs +0 -2
- package/esm2022/components/form-field/option-group/option.component.mjs +0 -22
- package/esm2022/components/form-field/picker-button/picker-button.component.mjs +0 -45
- package/esm2022/components/form-field/radio-button/index.mjs +0 -2
- package/esm2022/components/form-field/radio-button/radio-button.component.mjs +0 -63
- package/esm2022/components/form-field/radio-group/index.mjs +0 -2
- package/esm2022/components/form-field/radio-group/radio-group.component.mjs +0 -70
- package/esm2022/components/form-field/success/index.mjs +0 -2
- package/esm2022/components/form-field/success/success.component.mjs +0 -12
- package/esm2022/components/form-field/textarea/auto-grow.directive.mjs +0 -45
- package/esm2022/components/form-field/textarea/index.mjs +0 -2
- package/esm2022/components/icon/action-icon/action-icon.component.mjs +0 -40
- package/esm2022/components/icon/action-icon/index.mjs +0 -2
- package/esm2022/components/icon/icon.component.mjs +0 -36
- package/esm2022/components/icon/index.mjs +0 -3
- package/esm2022/components/index.mjs +0 -28
- package/esm2022/components/layout/index.mjs +0 -2
- package/esm2022/components/layout/layout.component.mjs +0 -20
- package/esm2022/components/layout-banners/index.mjs +0 -2
- package/esm2022/components/layout-banners/layout-banners.component.mjs +0 -11
- package/esm2022/components/loader/index.mjs +0 -2
- package/esm2022/components/loader/loader.component.mjs +0 -11
- package/esm2022/components/main-navigation/index.mjs +0 -3
- package/esm2022/components/main-navigation/main-navigation.component.mjs +0 -165
- package/esm2022/components/main-navigation/main-navigation.imports.mjs +0 -20
- package/esm2022/components/main-navigation/main-navigation.model.mjs +0 -6
- package/esm2022/components/main-navigation-menu/index.mjs +0 -2
- package/esm2022/components/main-navigation-menu/main-navigation-menu.component.mjs +0 -20
- package/esm2022/components/modal/index.mjs +0 -16
- package/esm2022/components/modal/modal-content/index.mjs +0 -2
- package/esm2022/components/modal/modal-content/modal-content.component.mjs +0 -11
- package/esm2022/components/modal/modal-footer/index.mjs +0 -2
- package/esm2022/components/modal/modal-footer/modal-footer.component.mjs +0 -11
- package/esm2022/components/modal/modal-header/index.mjs +0 -2
- package/esm2022/components/modal/modal-header/modal-header.component.mjs +0 -18
- package/esm2022/components/modal/modal-ref.mjs +0 -4
- package/esm2022/components/modal/modal.component.mjs +0 -19
- package/esm2022/components/modal/modal.service.mjs +0 -31
- package/esm2022/components/multi-select/checkbox-data.interface.mjs +0 -2
- package/esm2022/components/multi-select/index.mjs +0 -4
- package/esm2022/components/multi-select/multi-select.component.mjs +0 -76
- package/esm2022/components/multi-select/select-all-text.interface.mjs +0 -2
- package/esm2022/components/pill/index.mjs +0 -3
- package/esm2022/components/pill/pill.component.mjs +0 -25
- package/esm2022/components/pill/pill.model.mjs +0 -2
- package/esm2022/components/popover/index.mjs +0 -2
- package/esm2022/components/popover/popover-trigger.directive.mjs +0 -182
- package/esm2022/components/router-breadcrumbs/index.mjs +0 -2
- package/esm2022/components/router-breadcrumbs/router-breadcrumbs.component.mjs +0 -37
- package/esm2022/components/tab/index.mjs +0 -2
- package/esm2022/components/tab/tab.component.mjs +0 -32
- package/esm2022/components/tab-group/index.mjs +0 -2
- package/esm2022/components/tab-group/tab-group.component.mjs +0 -34
- package/esm2022/components/tag/index.mjs +0 -2
- package/esm2022/components/tag/tag.component.mjs +0 -29
- package/esm2022/components/toast/index.mjs +0 -3
- package/esm2022/components/toast/toast.component.mjs +0 -77
- package/esm2022/components/toast/toast.service.mjs +0 -43
- package/esm2022/components/tooltip/index.mjs +0 -3
- package/esm2022/components/tooltip/tooltip.component.mjs +0 -16
- package/esm2022/components/tooltip/tooltip.directive.mjs +0 -89
- package/esm2022/models/aria.model.mjs +0 -2
- package/esm2022/models/index.mjs +0 -2
- package/esm2022/ndwnu-design-system.mjs +0 -5
- package/esm2022/public-api.mjs +0 -5
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, input } from '@angular/core';
|
|
2
|
-
import { BaseAutosuggestOptionComponent } from './base-autosuggest-option.component';
|
|
3
|
-
import { MatchBoldPipe } from '../match-bold.pipe';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class AutocompleteOptionSelectionChange {
|
|
6
|
-
constructor(source, isUserInput = false) {
|
|
7
|
-
this.source = source;
|
|
8
|
-
this.isUserInput = isUserInput;
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
export class AutosuggestOptionComponent extends BaseAutosuggestOptionComponent {
|
|
12
|
-
get viewValue() {
|
|
13
|
-
return (this.getHostElement().textContent ?? '').trim();
|
|
14
|
-
}
|
|
15
|
-
constructor() {
|
|
16
|
-
super();
|
|
17
|
-
this.searchTerm = input('');
|
|
18
|
-
this.label = input.required();
|
|
19
|
-
this.id = `ndw-option-${crypto.randomUUID()}`;
|
|
20
|
-
}
|
|
21
|
-
// getLabel is required in the FocusableOption interface, which is
|
|
22
|
-
// implemented by BaseAutosuggestOptionComponent
|
|
23
|
-
getLabel() {
|
|
24
|
-
return this.viewValue;
|
|
25
|
-
}
|
|
26
|
-
emitSelectionChangeEvent(isUserInput = false) {
|
|
27
|
-
this.selectionChange.emit(new AutocompleteOptionSelectionChange(this, isUserInput));
|
|
28
|
-
}
|
|
29
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: AutosuggestOptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
30
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.1", type: AutosuggestOptionComponent, isStandalone: true, selector: "ndw-autosuggest-option", inputs: { searchTerm: { classPropertyName: "searchTerm", publicName: "searchTerm", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: true, transformFunction: null } }, host: { attributes: { "role": "option" }, listeners: { "click": "selectViaInteraction()", "keydown": "handleKeydown($event)" }, properties: { "id": "id", "class.ndw-autosuggest-option--selected": "selected", "class.ndw-autosuggest-option--active": "active", "attr.aria-selected": "selected" }, classAttribute: "ndw-autosuggest-option" }, usesInheritance: true, ngImport: i0, template: "<span class=\"ndw-option-text\" [innerHTML]=\"label() | matchBold: searchTerm()\"></span>\n", styles: [":host{display:block;width:100%;padding:var(--ndw-spacing-2xs) var(--ndw-spacing-xs);box-sizing:border-box;color:var(--ndw-color-grey-700);background-color:var(--ndw-color-white);cursor:pointer;text-align:left;font:inherit;font-size:var(--ndw-font-size-sm);transition:background-color var(--ndw-animation-speed-very-fast) ease-in-out}:host.ndw-autosuggest-option--active,:host:hover:not([aria-disabled=true]){background-color:var(--ndw-color-secondary-050)}:host[aria-disabled=true]{-webkit-user-select:none;user-select:none;cursor:default;background-color:var(--ndw-color-grey-100)}:host.ndw-autosuggest-option--add{display:flex;align-items:center;justify-content:center;white-space:nowrap;overflow:hidden;color:var(--ndw-color-link-400)}:host.ndw-autosuggest-option--add .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-inline:var(--ndw-spacing-3xs)}:host:not(:last-child){border-bottom:1px solid var(--ndw-color-grey-200)}:host span{word-break:break-word}\n"], dependencies: [{ kind: "pipe", type: MatchBoldPipe, name: "matchBold" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
31
|
-
}
|
|
32
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: AutosuggestOptionComponent, decorators: [{
|
|
33
|
-
type: Component,
|
|
34
|
-
args: [{ selector: 'ndw-autosuggest-option', standalone: true, imports: [MatchBoldPipe], changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
35
|
-
role: 'option',
|
|
36
|
-
'[id]': 'id',
|
|
37
|
-
class: 'ndw-autosuggest-option',
|
|
38
|
-
'[class.ndw-autosuggest-option--selected]': 'selected',
|
|
39
|
-
'[class.ndw-autosuggest-option--active]': 'active',
|
|
40
|
-
'[attr.aria-selected]': 'selected',
|
|
41
|
-
'(click)': 'selectViaInteraction()',
|
|
42
|
-
'(keydown)': 'handleKeydown($event)',
|
|
43
|
-
}, template: "<span class=\"ndw-option-text\" [innerHTML]=\"label() | matchBold: searchTerm()\"></span>\n", styles: [":host{display:block;width:100%;padding:var(--ndw-spacing-2xs) var(--ndw-spacing-xs);box-sizing:border-box;color:var(--ndw-color-grey-700);background-color:var(--ndw-color-white);cursor:pointer;text-align:left;font:inherit;font-size:var(--ndw-font-size-sm);transition:background-color var(--ndw-animation-speed-very-fast) ease-in-out}:host.ndw-autosuggest-option--active,:host:hover:not([aria-disabled=true]){background-color:var(--ndw-color-secondary-050)}:host[aria-disabled=true]{-webkit-user-select:none;user-select:none;cursor:default;background-color:var(--ndw-color-grey-100)}:host.ndw-autosuggest-option--add{display:flex;align-items:center;justify-content:center;white-space:nowrap;overflow:hidden;color:var(--ndw-color-link-400)}:host.ndw-autosuggest-option--add .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-inline:var(--ndw-spacing-3xs)}:host:not(:last-child){border-bottom:1px solid var(--ndw-color-grey-200)}:host span{word-break:break-word}\n"] }]
|
|
44
|
-
}], ctorParameters: () => [] });
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b3N1Z2dlc3Qtb3B0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25kdy9zcmMvY29tcG9uZW50cy9mb3JtLWZpZWxkL2F1dG9zdWdnZXN0L2F1dG9zdWdnZXN0LW9wdGlvbi9hdXRvc3VnZ2VzdC1vcHRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmR3L3NyYy9jb21wb25lbnRzL2Zvcm0tZmllbGQvYXV0b3N1Z2dlc3QvYXV0b3N1Z2dlc3Qtb3B0aW9uL2F1dG9zdWdnZXN0LW9wdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxRSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBRW5ELE1BQU0sT0FBTyxpQ0FBaUM7SUFDNUMsWUFDUyxNQUFrRSxFQUNsRSxjQUFjLEtBQUs7UUFEbkIsV0FBTSxHQUFOLE1BQU0sQ0FBNEQ7UUFDbEUsZ0JBQVcsR0FBWCxXQUFXLENBQVE7SUFDekIsQ0FBQztDQUNMO0FBb0JELE1BQU0sT0FBTywwQkFBMkIsU0FBUSw4QkFBOEI7SUFNNUUsSUFBVyxTQUFTO1FBQ2xCLE9BQU8sQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzFELENBQUM7SUFFRDtRQUNFLEtBQUssRUFBRSxDQUFDO1FBVk0sZUFBVSxHQUFHLEtBQUssQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUMvQixVQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBVSxDQUFDO1FBVS9DLElBQUksQ0FBQyxFQUFFLEdBQUcsY0FBYyxNQUFNLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQztJQUNoRCxDQUFDO0lBRUQsa0VBQWtFO0lBQ2xFLGdEQUFnRDtJQUN6QyxRQUFRO1FBQ2IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFFUyx3QkFBd0IsQ0FBQyxXQUFXLEdBQUcsS0FBSztRQUNwRCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLGlDQUFpQyxDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQ3RGLENBQUM7OEdBdkJVLDBCQUEwQjtrR0FBMUIsMEJBQTBCLHFzQkM5QnZDLDZGQUNBLDhnQ0RjWSxhQUFhOzsyRkFlWiwwQkFBMEI7a0JBbEJ0QyxTQUFTOytCQUNFLHdCQUF3QixjQUN0QixJQUFJLFdBQ1AsQ0FBQyxhQUFhLENBQUMsbUJBR1AsdUJBQXVCLENBQUMsTUFBTSxRQUN6Qzt3QkFDSixJQUFJLEVBQUUsUUFBUTt3QkFDZCxNQUFNLEVBQUUsSUFBSTt3QkFDWixLQUFLLEVBQUUsd0JBQXdCO3dCQUMvQiwwQ0FBMEMsRUFBRSxVQUFVO3dCQUN0RCx3Q0FBd0MsRUFBRSxRQUFRO3dCQUNsRCxzQkFBc0IsRUFBRSxVQUFVO3dCQUNsQyxTQUFTLEVBQUUsd0JBQXdCO3dCQUNuQyxXQUFXLEVBQUUsdUJBQXVCO3FCQUNyQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBdXRvc3VnZ2VzdEFkZE9wdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uL2F1dG9zdWdnZXN0LWFkZC1vcHRpb24nO1xuaW1wb3J0IHsgQmFzZUF1dG9zdWdnZXN0T3B0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9iYXNlLWF1dG9zdWdnZXN0LW9wdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWF0Y2hCb2xkUGlwZSB9IGZyb20gJy4uL21hdGNoLWJvbGQucGlwZSc7XG5cbmV4cG9ydCBjbGFzcyBBdXRvY29tcGxldGVPcHRpb25TZWxlY3Rpb25DaGFuZ2Uge1xuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHNvdXJjZTogQXV0b3N1Z2dlc3RPcHRpb25Db21wb25lbnQgfCBBdXRvc3VnZ2VzdEFkZE9wdGlvbkNvbXBvbmVudCxcbiAgICBwdWJsaWMgaXNVc2VySW5wdXQgPSBmYWxzZSxcbiAgKSB7fVxufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZHctYXV0b3N1Z2dlc3Qtb3B0aW9uJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW01hdGNoQm9sZFBpcGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vYXV0b3N1Z2dlc3Qtb3B0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2F1dG9zdWdnZXN0LW9wdGlvbi5jb21wb25lbnQuc2NzcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0OiB7XG4gICAgcm9sZTogJ29wdGlvbicsXG4gICAgJ1tpZF0nOiAnaWQnLFxuICAgIGNsYXNzOiAnbmR3LWF1dG9zdWdnZXN0LW9wdGlvbicsXG4gICAgJ1tjbGFzcy5uZHctYXV0b3N1Z2dlc3Qtb3B0aW9uLS1zZWxlY3RlZF0nOiAnc2VsZWN0ZWQnLFxuICAgICdbY2xhc3MubmR3LWF1dG9zdWdnZXN0LW9wdGlvbi0tYWN0aXZlXSc6ICdhY3RpdmUnLFxuICAgICdbYXR0ci5hcmlhLXNlbGVjdGVkXSc6ICdzZWxlY3RlZCcsXG4gICAgJyhjbGljayknOiAnc2VsZWN0VmlhSW50ZXJhY3Rpb24oKScsXG4gICAgJyhrZXlkb3duKSc6ICdoYW5kbGVLZXlkb3duKCRldmVudCknLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBBdXRvc3VnZ2VzdE9wdGlvbkNvbXBvbmVudCBleHRlbmRzIEJhc2VBdXRvc3VnZ2VzdE9wdGlvbkNvbXBvbmVudCB7XG4gIHB1YmxpYyByZWFkb25seSBzZWFyY2hUZXJtID0gaW5wdXQ8c3RyaW5nPignJyk7XG4gIHB1YmxpYyByZWFkb25seSBsYWJlbCA9IGlucHV0LnJlcXVpcmVkPHN0cmluZz4oKTtcblxuICBwdWJsaWMgaWQ6IHN0cmluZztcblxuICBwdWJsaWMgZ2V0IHZpZXdWYWx1ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiAodGhpcy5nZXRIb3N0RWxlbWVudCgpLnRleHRDb250ZW50ID8/ICcnKS50cmltKCk7XG4gIH1cblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmlkID0gYG5kdy1vcHRpb24tJHtjcnlwdG8ucmFuZG9tVVVJRCgpfWA7XG4gIH1cblxuICAvLyBnZXRMYWJlbCBpcyByZXF1aXJlZCBpbiB0aGUgRm9jdXNhYmxlT3B0aW9uIGludGVyZmFjZSwgd2hpY2ggaXNcbiAgLy8gaW1wbGVtZW50ZWQgYnkgQmFzZUF1dG9zdWdnZXN0T3B0aW9uQ29tcG9uZW50XG4gIHB1YmxpYyBnZXRMYWJlbCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnZpZXdWYWx1ZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBlbWl0U2VsZWN0aW9uQ2hhbmdlRXZlbnQoaXNVc2VySW5wdXQgPSBmYWxzZSk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0aW9uQ2hhbmdlLmVtaXQobmV3IEF1dG9jb21wbGV0ZU9wdGlvblNlbGVjdGlvbkNoYW5nZSh0aGlzLCBpc1VzZXJJbnB1dCkpO1xuICB9XG59XG4iLCI8c3BhbiBjbGFzcz1cIm5kdy1vcHRpb24tdGV4dFwiIFtpbm5lckhUTUxdPVwibGFiZWwoKSB8IG1hdGNoQm9sZDogc2VhcmNoVGVybSgpXCI+PC9zcGFuPlxuIl19
|
package/esm2022/components/form-field/autosuggest/autosuggest-option/autosuggest-option.model.mjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b3N1Z2dlc3Qtb3B0aW9uLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmR3L3NyYy9jb21wb25lbnRzL2Zvcm0tZmllbGQvYXV0b3N1Z2dlc3QvYXV0b3N1Z2dlc3Qtb3B0aW9uL2F1dG9zdWdnZXN0LW9wdGlvbi5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgQXV0b3N1Z2dlc3RPcHRpb24gPSBzdHJpbmcgfCBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbmV4cG9ydCB0eXBlIEF1dG9zdWdnZXN0T3B0aW9ucyA9IEFycmF5PEF1dG9zdWdnZXN0T3B0aW9uPjtcbiJdfQ==
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectorRef, Component, ElementRef, ChangeDetectionStrategy, EventEmitter, inject, input, } from '@angular/core';
|
|
2
|
-
import { hasModifierKey } from '@angular/cdk/keycodes';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class BaseAutosuggestOptionComponent {
|
|
5
|
-
constructor() {
|
|
6
|
-
this.value = input();
|
|
7
|
-
this.selectionChange = new EventEmitter();
|
|
8
|
-
this._active = false;
|
|
9
|
-
this._selected = false;
|
|
10
|
-
this.element = inject(ElementRef);
|
|
11
|
-
this.changeDetectorRef = inject(ChangeDetectorRef);
|
|
12
|
-
}
|
|
13
|
-
get active() {
|
|
14
|
-
return this._active;
|
|
15
|
-
}
|
|
16
|
-
get selected() {
|
|
17
|
-
return this._selected;
|
|
18
|
-
}
|
|
19
|
-
// This method is used by FocusableOption
|
|
20
|
-
focus(_origin, options) {
|
|
21
|
-
const element = this.element.nativeElement;
|
|
22
|
-
if (typeof element.focus === 'function') {
|
|
23
|
-
element.focus(options);
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
// This method is used by the KeyManager
|
|
27
|
-
setActiveStyles() {
|
|
28
|
-
if (!this._active) {
|
|
29
|
-
this._active = true;
|
|
30
|
-
this.changeDetectorRef.markForCheck();
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
// This method is used by KeyManager
|
|
34
|
-
setInactiveStyles() {
|
|
35
|
-
if (this._active) {
|
|
36
|
-
this._active = false;
|
|
37
|
-
this.changeDetectorRef.markForCheck();
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
select(emitEvent = true) {
|
|
41
|
-
if (!this._selected) {
|
|
42
|
-
this._selected = true;
|
|
43
|
-
this.changeDetectorRef.markForCheck();
|
|
44
|
-
if (emitEvent) {
|
|
45
|
-
this.emitSelectionChangeEvent();
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
deselect(emitEvent = true) {
|
|
50
|
-
if (this._selected) {
|
|
51
|
-
this._selected = false;
|
|
52
|
-
this.changeDetectorRef.markForCheck();
|
|
53
|
-
if (emitEvent) {
|
|
54
|
-
this.emitSelectionChangeEvent();
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
handleKeydown(event) {
|
|
59
|
-
if ((event.key === 'Enter' || event.key === 'Space') && !hasModifierKey(event)) {
|
|
60
|
-
this.selectViaInteraction();
|
|
61
|
-
event.preventDefault();
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
selectViaInteraction() {
|
|
65
|
-
this._selected = true;
|
|
66
|
-
this.changeDetectorRef.markForCheck();
|
|
67
|
-
this.emitSelectionChangeEvent(true);
|
|
68
|
-
}
|
|
69
|
-
ngOnDestroy() {
|
|
70
|
-
this.selectionChange.complete();
|
|
71
|
-
}
|
|
72
|
-
getHostElement() {
|
|
73
|
-
return this.element.nativeElement;
|
|
74
|
-
}
|
|
75
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: BaseAutosuggestOptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
76
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.1", type: BaseAutosuggestOptionComponent, selector: "ng-component", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
77
|
-
}
|
|
78
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: BaseAutosuggestOptionComponent, decorators: [{
|
|
79
|
-
type: Component,
|
|
80
|
-
args: [{
|
|
81
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
82
|
-
template: '',
|
|
83
|
-
}]
|
|
84
|
-
}] });
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1hdXRvc3VnZ2VzdC1vcHRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmR3L3NyYy9jb21wb25lbnRzL2Zvcm0tZmllbGQvYXV0b3N1Z2dlc3QvYXV0b3N1Z2dlc3Qtb3B0aW9uL2Jhc2UtYXV0b3N1Z2dlc3Qtb3B0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsdUJBQXVCLEVBQ3ZCLFlBQVksRUFDWixNQUFNLEVBRU4sS0FBSyxHQUNOLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFPdkQsTUFBTSxPQUFnQiw4QkFBOEI7SUFKcEQ7UUFLa0IsVUFBSyxHQUFHLEtBQUssRUFBcUIsQ0FBQztRQUNuQyxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFxQyxDQUFDO1FBRTlFLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQVVYLFlBQU8sR0FBRyxNQUFNLENBQTBCLFVBQVUsQ0FBQyxDQUFDO1FBQ3RELHNCQUFpQixHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0tBdUVoRTtJQWhGQyxJQUFXLE1BQU07UUFDZixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUVELElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUtELHlDQUF5QztJQUNsQyxLQUFLLENBQUMsT0FBcUIsRUFBRSxPQUFzQjtRQUN4RCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQztRQUUzQyxJQUFJLE9BQU8sT0FBTyxDQUFDLEtBQUssS0FBSyxVQUFVLEVBQUUsQ0FBQztZQUN4QyxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3pCLENBQUM7SUFDSCxDQUFDO0lBRUQsd0NBQXdDO0lBQ2pDLGVBQWU7UUFDcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztZQUNwQixJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDeEMsQ0FBQztJQUNILENBQUM7SUFFRCxvQ0FBb0M7SUFDN0IsaUJBQWlCO1FBQ3RCLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1lBQ3JCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN4QyxDQUFDO0lBQ0gsQ0FBQztJQUVNLE1BQU0sQ0FBQyxTQUFTLEdBQUcsSUFBSTtRQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUV0QyxJQUFJLFNBQVMsRUFBRSxDQUFDO2dCQUNkLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1lBQ2xDLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVNLFFBQVEsQ0FBQyxTQUFTLEdBQUcsSUFBSTtRQUM5QixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUN2QixJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7WUFFdEMsSUFBSSxTQUFTLEVBQUUsQ0FBQztnQkFDZCxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztZQUNsQyxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFTSxhQUFhLENBQUMsS0FBb0I7UUFDdkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEtBQUssT0FBTyxJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssT0FBTyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUMvRSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztZQUM1QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDekIsQ0FBQztJQUNILENBQUM7SUFFTSxvQkFBb0I7UUFDekIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3RDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBSU0sV0FBVztRQUNoQixJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFUyxjQUFjO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUM7SUFDcEMsQ0FBQzs4R0F0Rm1CLDhCQUE4QjtrR0FBOUIsOEJBQThCLHdMQUZ4QyxFQUFFOzsyRkFFUSw4QkFBOEI7a0JBSm5ELFNBQVM7bUJBQUM7b0JBQ1QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFFBQVEsRUFBRSxFQUFFO2lCQUNiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9jdXNhYmxlT3B0aW9uLCBGb2N1c09yaWdpbiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBFdmVudEVtaXR0ZXIsXG4gIGluamVjdCxcbiAgT25EZXN0cm95LFxuICBpbnB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBdXRvY29tcGxldGVPcHRpb25TZWxlY3Rpb25DaGFuZ2UgfSBmcm9tICcuL2F1dG9zdWdnZXN0LW9wdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgaGFzTW9kaWZpZXJLZXkgfSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xuaW1wb3J0IHsgQXV0b3N1Z2dlc3RPcHRpb24gfSBmcm9tICcuL2F1dG9zdWdnZXN0LW9wdGlvbi5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICcnLFxufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlQXV0b3N1Z2dlc3RPcHRpb25Db21wb25lbnQgaW1wbGVtZW50cyBGb2N1c2FibGVPcHRpb24sIE9uRGVzdHJveSB7XG4gIHB1YmxpYyByZWFkb25seSB2YWx1ZSA9IGlucHV0PEF1dG9zdWdnZXN0T3B0aW9uPigpO1xuICBwdWJsaWMgcmVhZG9ubHkgc2VsZWN0aW9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxBdXRvY29tcGxldGVPcHRpb25TZWxlY3Rpb25DaGFuZ2U+KCk7XG5cbiAgcHJvdGVjdGVkIF9hY3RpdmUgPSBmYWxzZTtcbiAgcHJvdGVjdGVkIF9zZWxlY3RlZCA9IGZhbHNlO1xuXG4gIHB1YmxpYyBnZXQgYWN0aXZlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9hY3RpdmU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNlbGVjdGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZDtcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudCA9IGluamVjdDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4oRWxlbWVudFJlZik7XG4gIHByaXZhdGUgcmVhZG9ubHkgY2hhbmdlRGV0ZWN0b3JSZWYgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuXG4gIC8vIFRoaXMgbWV0aG9kIGlzIHVzZWQgYnkgRm9jdXNhYmxlT3B0aW9uXG4gIHB1YmxpYyBmb2N1cyhfb3JpZ2luPzogRm9jdXNPcmlnaW4sIG9wdGlvbnM/OiBGb2N1c09wdGlvbnMpOiB2b2lkIHtcbiAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICBpZiAodHlwZW9mIGVsZW1lbnQuZm9jdXMgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGVsZW1lbnQuZm9jdXMob3B0aW9ucyk7XG4gICAgfVxuICB9XG5cbiAgLy8gVGhpcyBtZXRob2QgaXMgdXNlZCBieSB0aGUgS2V5TWFuYWdlclxuICBwdWJsaWMgc2V0QWN0aXZlU3R5bGVzKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fYWN0aXZlKSB7XG4gICAgICB0aGlzLl9hY3RpdmUgPSB0cnVlO1xuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH1cblxuICAvLyBUaGlzIG1ldGhvZCBpcyB1c2VkIGJ5IEtleU1hbmFnZXJcbiAgcHVibGljIHNldEluYWN0aXZlU3R5bGVzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9hY3RpdmUpIHtcbiAgICAgIHRoaXMuX2FjdGl2ZSA9IGZhbHNlO1xuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0KGVtaXRFdmVudCA9IHRydWUpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX3NlbGVjdGVkKSB7XG4gICAgICB0aGlzLl9zZWxlY3RlZCA9IHRydWU7XG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuXG4gICAgICBpZiAoZW1pdEV2ZW50KSB7XG4gICAgICAgIHRoaXMuZW1pdFNlbGVjdGlvbkNoYW5nZUV2ZW50KCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGRlc2VsZWN0KGVtaXRFdmVudCA9IHRydWUpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fc2VsZWN0ZWQpIHtcbiAgICAgIHRoaXMuX3NlbGVjdGVkID0gZmFsc2U7XG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuXG4gICAgICBpZiAoZW1pdEV2ZW50KSB7XG4gICAgICAgIHRoaXMuZW1pdFNlbGVjdGlvbkNoYW5nZUV2ZW50KCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGhhbmRsZUtleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoKGV2ZW50LmtleSA9PT0gJ0VudGVyJyB8fCBldmVudC5rZXkgPT09ICdTcGFjZScpICYmICFoYXNNb2RpZmllcktleShldmVudCkpIHtcbiAgICAgIHRoaXMuc2VsZWN0VmlhSW50ZXJhY3Rpb24oKTtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNlbGVjdFZpYUludGVyYWN0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuX3NlbGVjdGVkID0gdHJ1ZTtcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIHRoaXMuZW1pdFNlbGVjdGlvbkNoYW5nZUV2ZW50KHRydWUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFic3RyYWN0IGVtaXRTZWxlY3Rpb25DaGFuZ2VFdmVudChpc1VzZXJJbnB1dD86IGJvb2xlYW4pOiB2b2lkO1xuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGlvbkNoYW5nZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldEhvc3RFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export * from './autosuggest-option.component';
|
|
2
|
-
export * from './base-autosuggest-option.component';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZHcvc3JjL2NvbXBvbmVudHMvZm9ybS1maWVsZC9hdXRvc3VnZ2VzdC9hdXRvc3VnZ2VzdC1vcHRpb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLHFDQUFxQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hdXRvc3VnZ2VzdC1vcHRpb24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vYmFzZS1hdXRvc3VnZ2VzdC1vcHRpb24uY29tcG9uZW50JztcbiJdfQ==
|
package/esm2022/components/form-field/autosuggest/autosuggest-panel/autosuggest-panel.component.mjs
DELETED
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, computed, inject, input, output, signal, TemplateRef, viewChild, ViewChildren, } from '@angular/core';
|
|
2
|
-
import { ActiveDescendantKeyManager } from '@angular/cdk/a11y';
|
|
3
|
-
import { IconComponent } from '../../../icon';
|
|
4
|
-
import { AutosuggestAddOptionComponent } from '../autosuggest-add-option';
|
|
5
|
-
import { AutosuggestOptionComponent } from '../autosuggest-option';
|
|
6
|
-
import { NgTemplateOutlet } from '@angular/common';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
const DEFAULTMAXRESULTS = 100;
|
|
9
|
-
const DEFAULTNORESULTTEXT = 'Geen resultaten gevonden. Probeer een andere zoekterm.';
|
|
10
|
-
export class AutosuggestPanelComponent {
|
|
11
|
-
constructor() {
|
|
12
|
-
// Inputs
|
|
13
|
-
this.suggestions = input([]);
|
|
14
|
-
this.enableAddOption = input(false);
|
|
15
|
-
this.maxResults = input(DEFAULTMAXRESULTS);
|
|
16
|
-
this.noResultText = input(DEFAULTNORESULTTEXT);
|
|
17
|
-
this.displayWith = input();
|
|
18
|
-
// Outputs
|
|
19
|
-
this.opened = output();
|
|
20
|
-
this.closed = output();
|
|
21
|
-
this.optionSelected = output();
|
|
22
|
-
this.addOption = output();
|
|
23
|
-
this.template = viewChild.required(TemplateRef);
|
|
24
|
-
this.panel = viewChild.required('panel');
|
|
25
|
-
// Variables & Signals
|
|
26
|
-
this.searchTerm = signal('');
|
|
27
|
-
this.slicedOptions = computed(() => this.suggestions().slice(0, this.maxResults()));
|
|
28
|
-
this.hasMoreResults = computed(() => this.suggestions().length > this.maxResults());
|
|
29
|
-
this.numberOfLeftOverResults = computed(() => this.suggestions().length - this.maxResults());
|
|
30
|
-
this.showPanel = false;
|
|
31
|
-
this.isOpen = false;
|
|
32
|
-
this.changeDetectorRef = inject(ChangeDetectorRef);
|
|
33
|
-
this.id = `ndw-autosuggest-${crypto.randomUUID()}`;
|
|
34
|
-
}
|
|
35
|
-
ngAfterViewInit() {
|
|
36
|
-
this.keyManager = new ActiveDescendantKeyManager(this.items)
|
|
37
|
-
.withPageUpDown()
|
|
38
|
-
.withWrap()
|
|
39
|
-
.withTypeAhead();
|
|
40
|
-
this.setVisibility();
|
|
41
|
-
}
|
|
42
|
-
ngOnDestroy() {
|
|
43
|
-
this.keyManager?.destroy();
|
|
44
|
-
}
|
|
45
|
-
// Methods
|
|
46
|
-
getLabelOption(option) {
|
|
47
|
-
const displayFn = this.displayWith();
|
|
48
|
-
return displayFn ? displayFn(option) : option;
|
|
49
|
-
}
|
|
50
|
-
setScrollTop(scrollTop) {
|
|
51
|
-
const panel = this.panel();
|
|
52
|
-
if (panel) {
|
|
53
|
-
panel.nativeElement.scrollTop = scrollTop;
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
setVisibility() {
|
|
57
|
-
this.showPanel = !!this.items?.length;
|
|
58
|
-
this.changeDetectorRef.markForCheck();
|
|
59
|
-
}
|
|
60
|
-
emitSelectEvent(option) {
|
|
61
|
-
this.optionSelected.emit(option.value() ?? null);
|
|
62
|
-
}
|
|
63
|
-
addNewOption(value) {
|
|
64
|
-
this.optionSelected.emit(value);
|
|
65
|
-
this.addOption.emit(value);
|
|
66
|
-
}
|
|
67
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: AutosuggestPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
68
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.1", type: AutosuggestPanelComponent, isStandalone: true, selector: "ndw-autosuggest", inputs: { suggestions: { classPropertyName: "suggestions", publicName: "suggestions", isSignal: true, isRequired: false, transformFunction: null }, enableAddOption: { classPropertyName: "enableAddOption", publicName: "enableAddOption", isSignal: true, isRequired: false, transformFunction: null }, maxResults: { classPropertyName: "maxResults", publicName: "maxResults", isSignal: true, isRequired: false, transformFunction: null }, noResultText: { classPropertyName: "noResultText", publicName: "noResultText", isSignal: true, isRequired: false, transformFunction: null }, displayWith: { classPropertyName: "displayWith", publicName: "displayWith", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { opened: "opened", closed: "closed", optionSelected: "optionSelected", addOption: "addOption" }, viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true, isSignal: true }, { propertyName: "panel", first: true, predicate: ["panel"], descendants: true, isSignal: true }, { propertyName: "items", predicate: ["option"], descendants: true }], exportAs: ["apAutocomplete"], ngImport: i0, template: "<ng-template>\n @if (suggestions().length === 0 && !enableAddOption()) {\n <div class=\"ndw-autosuggest-panel\">\n <ng-container *ngTemplateOutlet=\"emptyResults\"></ng-container>\n </div>\n } @else {\n <datalist #panel class=\"ndw-autosuggest-panel\">\n @for (option of slicedOptions(); track option) {\n <ndw-autosuggest-option\n #option\n [value]=\"option\"\n [label]=\"getLabelOption(option)\"\n [searchTerm]=\"searchTerm()\"\n />\n }\n\n @if (enableAddOption()) {\n @if (!!searchTerm().trim()) {\n <ndw-autosuggest-add-option\n #option\n [value]=\"searchTerm()\"\n (addOption)=\"addNewOption($event)\"\n />\n } @else if (!suggestions().length) {\n <ng-container *ngTemplateOutlet=\"emptyResults\"></ng-container>\n }\n }\n\n @if (hasMoreResults()) {\n <p class=\"ndw-autosuggest-panel__more-results\">\n Er zijn nog {{ numberOfLeftOverResults() }} niet-getoonde resultaten, maak je zoekopdracht\n specifieker\n </p>\n }\n </datalist>\n }\n</ng-template>\n\n<ng-template #emptyResults>\n <div class=\"ndw-autosuggest-panel__empty\">\n <ndw-icon>sentiment_dissatisfied</ndw-icon>\n {{ noResultText() }}\n </div>\n</ng-template>\n", styles: [".ndw-autosuggest-panel{--dropdown-line-height: 26px;--dropdown-max-line-items: 7;--dropdown-max-height: calc(var(--dropdown-line-height) * var(--dropdown-max-line-items));display:block;overflow:auto;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;max-height:var(--dropdown-max-height);width:100%;border:1px solid var(--ndw-color-grey-200);border-radius:var(--ndw-border-radius-sm);padding:0;margin-top:2px;background-color:var(--ndw-color-white);box-shadow:var(--ndw-elevation-popover)}.ndw-autosuggest-panel>ndw-autosuggest-option:not(:last-child){border-bottom:1px solid var(--ndw-color-grey-200)}.ndw-autosuggest-panel__more-results{font-size:var(--ndw-font-size-sm);color:var(--ndw-color-grey-400);text-align:center}.ndw-autosuggest-panel__empty{display:grid;justify-items:center;margin:auto;padding:var(--ndw-spacing-sm) var(--ndw-spacing-md);gap:var(--ndw-spacing-xs);max-width:300px;box-sizing:border-box;font-size:var(--ndw-font-size-sm);text-align:center;color:var(--ndw-color-grey-400)}\n"], dependencies: [{ kind: "component", type: AutosuggestOptionComponent, selector: "ndw-autosuggest-option", inputs: ["searchTerm", "label"] }, { kind: "component", type: AutosuggestAddOptionComponent, selector: "ndw-autosuggest-add-option", outputs: ["addOption"] }, { kind: "component", type: IconComponent, selector: "ndw-icon", inputs: ["size"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
69
|
-
}
|
|
70
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: AutosuggestPanelComponent, decorators: [{
|
|
71
|
-
type: Component,
|
|
72
|
-
args: [{ selector: 'ndw-autosuggest', standalone: true, imports: [
|
|
73
|
-
AutosuggestOptionComponent,
|
|
74
|
-
AutosuggestAddOptionComponent,
|
|
75
|
-
IconComponent,
|
|
76
|
-
NgTemplateOutlet,
|
|
77
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, exportAs: 'apAutocomplete', template: "<ng-template>\n @if (suggestions().length === 0 && !enableAddOption()) {\n <div class=\"ndw-autosuggest-panel\">\n <ng-container *ngTemplateOutlet=\"emptyResults\"></ng-container>\n </div>\n } @else {\n <datalist #panel class=\"ndw-autosuggest-panel\">\n @for (option of slicedOptions(); track option) {\n <ndw-autosuggest-option\n #option\n [value]=\"option\"\n [label]=\"getLabelOption(option)\"\n [searchTerm]=\"searchTerm()\"\n />\n }\n\n @if (enableAddOption()) {\n @if (!!searchTerm().trim()) {\n <ndw-autosuggest-add-option\n #option\n [value]=\"searchTerm()\"\n (addOption)=\"addNewOption($event)\"\n />\n } @else if (!suggestions().length) {\n <ng-container *ngTemplateOutlet=\"emptyResults\"></ng-container>\n }\n }\n\n @if (hasMoreResults()) {\n <p class=\"ndw-autosuggest-panel__more-results\">\n Er zijn nog {{ numberOfLeftOverResults() }} niet-getoonde resultaten, maak je zoekopdracht\n specifieker\n </p>\n }\n </datalist>\n }\n</ng-template>\n\n<ng-template #emptyResults>\n <div class=\"ndw-autosuggest-panel__empty\">\n <ndw-icon>sentiment_dissatisfied</ndw-icon>\n {{ noResultText() }}\n </div>\n</ng-template>\n", styles: [".ndw-autosuggest-panel{--dropdown-line-height: 26px;--dropdown-max-line-items: 7;--dropdown-max-height: calc(var(--dropdown-line-height) * var(--dropdown-max-line-items));display:block;overflow:auto;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;max-height:var(--dropdown-max-height);width:100%;border:1px solid var(--ndw-color-grey-200);border-radius:var(--ndw-border-radius-sm);padding:0;margin-top:2px;background-color:var(--ndw-color-white);box-shadow:var(--ndw-elevation-popover)}.ndw-autosuggest-panel>ndw-autosuggest-option:not(:last-child){border-bottom:1px solid var(--ndw-color-grey-200)}.ndw-autosuggest-panel__more-results{font-size:var(--ndw-font-size-sm);color:var(--ndw-color-grey-400);text-align:center}.ndw-autosuggest-panel__empty{display:grid;justify-items:center;margin:auto;padding:var(--ndw-spacing-sm) var(--ndw-spacing-md);gap:var(--ndw-spacing-xs);max-width:300px;box-sizing:border-box;font-size:var(--ndw-font-size-sm);text-align:center;color:var(--ndw-color-grey-400)}\n"] }]
|
|
78
|
-
}], ctorParameters: () => [], propDecorators: { items: [{
|
|
79
|
-
type: ViewChildren,
|
|
80
|
-
args: ['option']
|
|
81
|
-
}] } });
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b3N1Z2dlc3QtcGFuZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmR3L3NyYy9jb21wb25lbnRzL2Zvcm0tZmllbGQvYXV0b3N1Z2dlc3QvYXV0b3N1Z2dlc3QtcGFuZWwvYXV0b3N1Z2dlc3QtcGFuZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmR3L3NyYy9jb21wb25lbnRzL2Zvcm0tZmllbGQvYXV0b3N1Z2dlc3QvYXV0b3N1Z2dlc3QtcGFuZWwvYXV0b3N1Z2dlc3QtcGFuZWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFFBQVEsRUFFUixNQUFNLEVBQ04sS0FBSyxFQUVMLE1BQU0sRUFFTixNQUFNLEVBQ04sV0FBVyxFQUNYLFNBQVMsRUFDVCxZQUFZLEdBQ2IsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDL0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5QyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUtuRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFFbkQsTUFBTSxpQkFBaUIsR0FBRyxHQUFHLENBQUM7QUFDOUIsTUFBTSxtQkFBbUIsR0FBRyx3REFBd0QsQ0FBQztBQWdCckYsTUFBTSxPQUFPLHlCQUF5QjtJQXFDcEM7UUFwQ0EsU0FBUztRQUNPLGdCQUFXLEdBQUcsS0FBSyxDQUFxQixFQUFFLENBQUMsQ0FBQztRQUM1QyxvQkFBZSxHQUFHLEtBQUssQ0FBVSxL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QyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QixDQUFDOzhHQWpGVSx5QkFBeUI7a0dBQXpCLHlCQUF5QiwwNkJBaUJVLFdBQVcsb1FDOUQzRCwyMENBNENBLHdpQ0RUSSwwQkFBMEIsb0dBQzFCLDZCQUE2QiwrRkFDN0IsYUFBYSx1RUFDYixnQkFBZ0I7OzJGQU9QLHlCQUF5QjtrQkFkckMsU0FBUzsrQkFDRSxpQkFBaUIsY0FDZixJQUFJLFdBQ1A7d0JBQ1AsMEJBQTBCO3dCQUMxQiw2QkFBNkI7d0JBQzdCLGFBQWE7d0JBQ2IsZ0JBQWdCO3FCQUNqQixtQkFHZ0IsdUJBQXVCLENBQUMsTUFBTSxZQUNyQyxnQkFBZ0I7d0RBa0JuQixLQUFLO3NCQURYLFlBQVk7dUJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBjb21wdXRlZCxcbiAgRWxlbWVudFJlZixcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgT25EZXN0cm95LFxuICBvdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgc2lnbmFsLFxuICBUZW1wbGF0ZVJlZixcbiAgdmlld0NoaWxkLFxuICBWaWV3Q2hpbGRyZW4sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBBY3RpdmVEZXNjZW5kYW50S2V5TWFuYWdlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9pY29uJztcbmltcG9ydCB7IEF1dG9zdWdnZXN0QWRkT3B0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vYXV0b3N1Z2dlc3QtYWRkLW9wdGlvbic7XG5pbXBvcnQgeyBBdXRvc3VnZ2VzdE9wdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uL2F1dG9zdWdnZXN0LW9wdGlvbic7XG5pbXBvcnQge1xuICBBdXRvc3VnZ2VzdE9wdGlvbixcbiAgQXV0b3N1Z2dlc3RPcHRpb25zLFxufSBmcm9tICcuLi9hdXRvc3VnZ2VzdC1vcHRpb24vYXV0b3N1Z2dlc3Qtb3B0aW9uLm1vZGVsJztcbmltcG9ydCB7IE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5jb25zdCBERUZBVUxUTUFYUkVTVUxUUyA9IDEwMDtcbmNvbnN0IERFRkFVTFROT1JFU1VMVFRFWFQgPSAnR2VlbiByZXN1bHRhdGVuIGdldm9uZGVuLiBQcm9iZWVyIGVlbiBhbmRlcmUgem9la3Rlcm0uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmR3LWF1dG9zdWdnZXN0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIEF1dG9zdWdnZXN0T3B0aW9uQ29tcG9uZW50LFxuICAgIEF1dG9zdWdnZXN0QWRkT3B0aW9uQ29tcG9uZW50LFxuICAgIEljb25Db21wb25lbnQsXG4gICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2F1dG9zdWdnZXN0LXBhbmVsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2F1dG9zdWdnZXN0LXBhbmVsLmNvbXBvbmVudC5zY3NzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGV4cG9ydEFzOiAnYXBBdXRvY29tcGxldGUnLFxufSlcbmV4cG9ydCBjbGFzcyBBdXRvc3VnZ2VzdFBhbmVsQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgLy8gSW5wdXRzXG4gIHB1YmxpYyByZWFkb25seSBzdWdnZXN0aW9ucyA9IGlucHV0PEF1dG9zdWdnZXN0T3B0aW9ucz4oW10pO1xuICBwdWJsaWMgcmVhZG9ubHkgZW5hYmxlQWRkT3B0aW9uID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuICBwdWJsaWMgcmVhZG9ubHkgbWF4UmVzdWx0cyA9IGlucHV0PG51bWJlcj4oREVGQVVMVE1BWFJFU1VMVFMpO1xuICBwdWJsaWMgcmVhZG9ubHkgbm9SZXN1bHRUZXh0ID0gaW5wdXQ8c3RyaW5nPihERUZBVUxUTk9SRVNVTFRURVhUKTtcbiAgcHVibGljIHJlYWRvbmx5IGRpc3BsYXlXaXRoID0gaW5wdXQ8KHZhbHVlOiBBdXRvc3VnZ2VzdE9wdGlvbikgPT4gc3RyaW5nPigpO1xuXG4gIC8vIE91dHB1dHNcbiAgcHVibGljIHJlYWRvbmx5IG9wZW5lZCA9IG91dHB1dDx2b2lkPigpO1xuICBwdWJsaWMgcmVhZG9ubHkgY2xvc2VkID0gb3V0cHV0PHZvaWQ+KCk7XG4gIHB1YmxpYyByZWFkb25seSBvcHRpb25TZWxlY3RlZCA9IG91dHB1dDxBdXRvc3VnZ2VzdE9wdGlvbiB8IG51bGw+KCk7XG4gIHB1YmxpYyByZWFkb25seSBhZGRPcHRpb24gPSBvdXRwdXQ8c3RyaW5nPigpO1xuXG4gIC8vIFZpZXcgUmVmZXJlbmNlc1xuICBAVmlld0NoaWxkcmVuKCdvcHRpb24nKVxuICBwdWJsaWMgaXRlbXMhOiBRdWVyeUxpc3Q8QXV0b3N1Z2dlc3RPcHRpb25Db21wb25lbnQgfCBBdXRvc3VnZ2VzdEFkZE9wdGlvbkNvbXBvbmVudD47XG4gIHB1YmxpYyByZWFkb25seSB0ZW1wbGF0ZSA9IHZpZXdDaGlsZC5yZXF1aXJlZChUZW1wbGF0ZVJlZik7XG4gIHB1YmxpYyByZWFkb25seSBwYW5lbCA9IHZpZXdDaGlsZC5yZXF1aXJlZDxFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50Pj4oJ3BhbmVsJyk7XG5cbiAgLy8gVmFyaWFibGVzICYgU2lnbmFsc1xuICBwdWJsaWMgcmVhZG9ubHkgc2VhcmNoVGVybSA9IHNpZ25hbDxzdHJpbmc+KCcnKTtcbiAgcHVibGljIHJlYWRvbmx5IHNsaWNlZE9wdGlvbnMgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnN1Z2dlc3Rpb25zKCkuc2xpY2UoMCwgdGhpcy5tYXhSZXN1bHRzKCkpKTtcbiAgcHVibGljIHJlYWRvbmx5IGhhc01vcmVSZXN1bHRzID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5zdWdnZXN0aW9ucygpLmxlbmd0aCA+IHRoaXMubWF4UmVzdWx0cygpKTtcbiAgcHVibGljIHJlYWRvbmx5IG51bWJlck9mTGVmdE92ZXJSZXN1bHRzID0gY29tcHV0ZWQoXG4gICAgKCkgPT4gdGhpcy5zdWdnZXN0aW9ucygpLmxlbmd0aCAtIHRoaXMubWF4UmVzdWx0cygpLFxuICApO1xuXG4gIHB1YmxpYyBrZXlNYW5hZ2VyOlxuICAgIHwgQWN0aXZlRGVzY2VuZGFudEtleU1hbmFnZXI8QXV0b3N1Z2dlc3RPcHRpb25Db21wb25lbnQgfCBBdXRvc3VnZ2VzdEFkZE9wdGlvbkNvbXBvbmVudD5cbiAgICB8IHVuZGVmaW5lZDtcbiAgcHVibGljIHNob3dQYW5lbCA9IGZhbHNlO1xuICBwdWJsaWMgaWQ6IHN0cmluZztcbiAgcHVibGljIGlzT3BlbiA9IGZhbHNlO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgY2hhbmdlRGV0ZWN0b3JSZWYgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmlkID0gYG5kdy1hdXRvc3VnZ2VzdC0ke2NyeXB0by5yYW5kb21VVUlEKCl9YDtcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5rZXlNYW5hZ2VyID0gbmV3IEFjdGl2ZURlc2NlbmRhbnRLZXlNYW5hZ2VyPFxuICAgICAgQXV0b3N1Z2dlc3RPcHRpb25Db21wb25lbnQgfCBBdXRvc3VnZ2VzdEFkZE9wdGlvbkNvbXBvbmVudFxuICAgID4odGhpcy5pdGVtcylcbiAgICAgIC53aXRoUGFnZVVwRG93bigpXG4gICAgICAud2l0aFdyYXAoKVxuICAgICAgLndpdGhUeXBlQWhlYWQoKTtcbiAgICB0aGlzLnNldFZpc2liaWxpdHkoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmtleU1hbmFnZXI/LmRlc3Ryb3koKTtcbiAgfVxuXG4gIC8vIE1ldGhvZHNcbiAgcHVibGljIGdldExhYmVsT3B0aW9uKG9wdGlvbjogQXV0b3N1Z2dlc3RPcHRpb24pOiBzdHJpbmcge1xuICAgIGNvbnN0IGRpc3BsYXlGbiA9IHRoaXMuZGlzcGxheVdpdGgoKTtcbiAgICByZXR1cm4gZGlzcGxheUZuID8gZGlzcGxheUZuKG9wdGlvbikgOiAob3B0aW9uIGFzIHN0cmluZyk7XG4gIH1cblxuICBwdWJsaWMgc2V0U2Nyb2xsVG9wKHNjcm9sbFRvcDogbnVtYmVyKTogdm9pZCB7XG4gICAgY29uc3QgcGFuZWwgPSB0aGlzLnBhbmVsKCk7XG5cbiAgICBpZiAocGFuZWwpIHtcbiAgICAgIHBhbmVsLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG9wID0gc2Nyb2xsVG9wO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzZXRWaXNpYmlsaXR5KCk6IHZvaWQge1xuICAgIHRoaXMuc2hvd1BhbmVsID0gISF0aGlzLml0ZW1zPy5sZW5ndGg7XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBlbWl0U2VsZWN0RXZlbnQob3B0aW9uOiBBdXRvc3VnZ2VzdE9wdGlvbkNvbXBvbmVudCB8IEF1dG9zdWdnZXN0QWRkT3B0aW9uQ29tcG9uZW50KTogdm9pZCB7XG4gICAgdGhpcy5vcHRpb25TZWxlY3RlZC5lbWl0KG9wdGlvbi52YWx1ZSgpID8/IG51bGwpO1xuICB9XG5cbiAgcHVibGljIGFkZE5ld09wdGlvbih2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5vcHRpb25TZWxlY3RlZC5lbWl0KHZhbHVlKTtcbiAgICB0aGlzLmFkZE9wdGlvbi5lbWl0KHZhbHVlKTtcbiAgfVxufVxuIiwiPG5nLXRlbXBsYXRlPlxuICBAaWYgKHN1Z2dlc3Rpb25zKCkubGVuZ3RoID09PSAwICYmICFlbmFibGVBZGRPcHRpb24oKSkge1xuICAgIDxkaXYgY2xhc3M9XCJuZHctYXV0b3N1Z2dlc3QtcGFuZWxcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJlbXB0eVJlc3VsdHNcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgfSBAZWxzZSB7XG4gICAgPGRhdGFsaXN0ICNwYW5lbCBjbGFzcz1cIm5kdy1hdXRvc3VnZ2VzdC1wYW5lbFwiPlxuICAgICAgQGZvciAob3B0aW9uIG9mIHNsaWNlZE9wdGlvbnMoKTsgdHJhY2sgb3B0aW9uKSB7XG4gICAgICAgIDxuZHctYXV0b3N1Z2dlc3Qtb3B0aW9uXG4gICAgICAgICAgI29wdGlvblxuICAgICAgICAgIFt2YWx1ZV09XCJvcHRpb25cIlxuICAgICAgICAgIFtsYWJlbF09XCJnZXRMYWJlbE9wdGlvbihvcHRpb24pXCJcbiAgICAgICAgICBbc2VhcmNoVGVybV09XCJzZWFyY2hUZXJtKClcIlxuICAgICAgICAvPlxuICAgICAgfVxuXG4gICAgICBAaWYgKGVuYWJsZUFkZE9wdGlvbigpKSB7XG4gICAgICAgIEBpZiAoISFzZWFyY2hUZXJtKCkudHJpbSgpKSB7XG4gICAgICAgICAgPG5kdy1hdXRvc3VnZ2VzdC1hZGQtb3B0aW9uXG4gICAgICAgICAgICAjb3B0aW9uXG4gICAgICAgICAgICBbdmFsdWVdPVwic2VhcmNoVGVybSgpXCJcbiAgICAgICAgICAgIChhZGRPcHRpb24pPVwiYWRkTmV3T3B0aW9uKCRldmVudClcIlxuICAgICAgICAgIC8+XG4gICAgICAgIH0gQGVsc2UgaWYgKCFzdWdnZXN0aW9ucygpLmxlbmd0aCkge1xuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJlbXB0eVJlc3VsdHNcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaWYgKGhhc01vcmVSZXN1bHRzKCkpIHtcbiAgICAgICAgPHAgY2xhc3M9XCJuZHctYXV0b3N1Z2dlc3QtcGFuZWxfX21vcmUtcmVzdWx0c1wiPlxuICAgICAgICAgIEVyIHppam4gbm9nIHt7IG51bWJlck9mTGVmdE92ZXJSZXN1bHRzKCkgfX0gbmlldC1nZXRvb25kZSByZXN1bHRhdGVuLCBtYWFrIGplIHpvZWtvcGRyYWNodFxuICAgICAgICAgIHNwZWNpZmlla2VyXG4gICAgICAgIDwvcD5cbiAgICAgIH1cbiAgICA8L2RhdGFsaXN0PlxuICB9XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2VtcHR5UmVzdWx0cz5cbiAgPGRpdiBjbGFzcz1cIm5kdy1hdXRvc3VnZ2VzdC1wYW5lbF9fZW1wdHlcIj5cbiAgICA8bmR3LWljb24+c2VudGltZW50X2Rpc3NhdGlzZmllZDwvbmR3LWljb24+XG4gICAge3sgbm9SZXN1bHRUZXh0KCkgfX1cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|