@spartan-ng/brain 0.0.1-alpha.422 → 0.0.1-alpha.424
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/fesm2022/spartan-ng-brain-accordion.mjs +16 -16
- package/fesm2022/spartan-ng-brain-alert-dialog.mjs +22 -22
- package/fesm2022/spartan-ng-brain-avatar.mjs +16 -16
- package/fesm2022/spartan-ng-brain-calendar.mjs +31 -31
- package/fesm2022/spartan-ng-brain-checkbox.mjs +7 -8
- package/fesm2022/spartan-ng-brain-checkbox.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-collapsible.mjs +13 -13
- package/fesm2022/spartan-ng-brain-command.mjs +22 -22
- package/fesm2022/spartan-ng-brain-dialog.mjs +28 -28
- package/fesm2022/spartan-ng-brain-form-field.mjs +3 -3
- package/fesm2022/spartan-ng-brain-form-field.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-forms.mjs +6 -6
- package/fesm2022/spartan-ng-brain-hover-card.mjs +16 -16
- package/fesm2022/spartan-ng-brain-label.mjs +7 -7
- package/fesm2022/spartan-ng-brain-menu.mjs +40 -40
- package/fesm2022/spartan-ng-brain-popover.mjs +16 -16
- package/fesm2022/spartan-ng-brain-progress.mjs +10 -10
- package/fesm2022/spartan-ng-brain-radio-group.mjs +10 -10
- package/fesm2022/spartan-ng-brain-select.mjs +37 -38
- package/fesm2022/spartan-ng-brain-select.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-separator.mjs +7 -7
- package/fesm2022/spartan-ng-brain-sheet.mjs +25 -25
- package/fesm2022/spartan-ng-brain-slider.mjs +22 -20
- package/fesm2022/spartan-ng-brain-slider.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-switch.mjs +10 -12
- package/fesm2022/spartan-ng-brain-switch.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-table.mjs +22 -24
- package/fesm2022/spartan-ng-brain-table.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-tabs.mjs +19 -19
- package/fesm2022/spartan-ng-brain-tabs.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-toggle.mjs +14 -14
- package/fesm2022/spartan-ng-brain-tooltip.mjs +16 -17
- package/fesm2022/spartan-ng-brain-tooltip.mjs.map +1 -1
- package/form-field/lib/brn-form-field-control.d.ts +1 -1
- package/package.json +5 -63
- package/slider/lib/brn-slider-track.directive.d.ts +1 -0
- package/tabs/lib/brn-tabs-paginated-list.directive.d.ts +1 -1
- package/esm2022/accordion/index.mjs +0 -31
- package/esm2022/accordion/lib/brn-accordion-content.component.mjs +0 -50
- package/esm2022/accordion/lib/brn-accordion.directive.mjs +0 -185
- package/esm2022/accordion/spartan-ng-brain-accordion.mjs +0 -5
- package/esm2022/alert-dialog/index.mjs +0 -45
- package/esm2022/alert-dialog/lib/brn-alert-dialog-content.directive.mjs +0 -17
- package/esm2022/alert-dialog/lib/brn-alert-dialog-description.directive.mjs +0 -18
- package/esm2022/alert-dialog/lib/brn-alert-dialog-overlay.component.mjs +0 -20
- package/esm2022/alert-dialog/lib/brn-alert-dialog-title.directive.mjs +0 -18
- package/esm2022/alert-dialog/lib/brn-alert-dialog-trigger.directive.mjs +0 -34
- package/esm2022/alert-dialog/lib/brn-alert-dialog.component.mjs +0 -41
- package/esm2022/alert-dialog/spartan-ng-brain-alert-dialog.mjs +0 -5
- package/esm2022/avatar/index.mjs +0 -23
- package/esm2022/avatar/lib/brn-avatar.component.mjs +0 -31
- package/esm2022/avatar/lib/fallback/brn-avatar-fallback.directive.mjs +0 -21
- package/esm2022/avatar/lib/fallback/index.mjs +0 -2
- package/esm2022/avatar/lib/image/brn-avatar-image.directive.mjs +0 -29
- package/esm2022/avatar/lib/image/index.mjs +0 -2
- package/esm2022/avatar/lib/util/hex-color-for.mjs +0 -22
- package/esm2022/avatar/lib/util/index.mjs +0 -4
- package/esm2022/avatar/lib/util/initials.pipe.mjs +0 -27
- package/esm2022/avatar/lib/util/is-bright.mjs +0 -12
- package/esm2022/avatar/spartan-ng-brain-avatar.mjs +0 -5
- package/esm2022/calendar/index.mjs +0 -62
- package/esm2022/calendar/lib/brn-calendar-cell-button.directive.mjs +0 -160
- package/esm2022/calendar/lib/brn-calendar-cell.directive.mjs +0 -17
- package/esm2022/calendar/lib/brn-calendar-grid.directive.mjs +0 -21
- package/esm2022/calendar/lib/brn-calendar-header.directive.mjs +0 -22
- package/esm2022/calendar/lib/brn-calendar-next-button.directive.mjs +0 -42
- package/esm2022/calendar/lib/brn-calendar-previous-button.directive.mjs +0 -42
- package/esm2022/calendar/lib/brn-calendar-week.directive.mjs +0 -67
- package/esm2022/calendar/lib/brn-calendar-weekday.directive.mjs +0 -48
- package/esm2022/calendar/lib/brn-calendar.directive.mjs +0 -154
- package/esm2022/calendar/lib/brn-calendar.token.mjs +0 -12
- package/esm2022/calendar/lib/i18n/calendar-i18n.mjs +0 -33
- package/esm2022/calendar/spartan-ng-brain-calendar.mjs +0 -5
- package/esm2022/checkbox/index.mjs +0 -18
- package/esm2022/checkbox/lib/brn-checkbox.component.mjs +0 -248
- package/esm2022/checkbox/spartan-ng-brain-checkbox.mjs +0 -5
- package/esm2022/collapsible/index.mjs +0 -30
- package/esm2022/collapsible/lib/brn-collapsible-content.component.mjs +0 -62
- package/esm2022/collapsible/lib/brn-collapsible-trigger.directive.mjs +0 -35
- package/esm2022/collapsible/lib/brn-collapsible.component.mjs +0 -33
- package/esm2022/collapsible/spartan-ng-brain-collapsible.mjs +0 -5
- package/esm2022/command/index.mjs +0 -48
- package/esm2022/command/lib/brn-command-empty.directive.mjs +0 -30
- package/esm2022/command/lib/brn-command-group.directive.mjs +0 -29
- package/esm2022/command/lib/brn-command-item.directive.mjs +0 -92
- package/esm2022/command/lib/brn-command-item.token.mjs +0 -6
- package/esm2022/command/lib/brn-command-list.directive.mjs +0 -21
- package/esm2022/command/lib/brn-command-search-input.directive.mjs +0 -81
- package/esm2022/command/lib/brn-command-search-input.token.mjs +0 -6
- package/esm2022/command/lib/brn-command.directive.mjs +0 -81
- package/esm2022/command/lib/brn-command.token.mjs +0 -9
- package/esm2022/command/spartan-ng-brain-command.mjs +0 -5
- package/esm2022/core/helpers/create-injection-token.mjs +0 -15
- package/esm2022/core/helpers/custom-element-class-settable.mjs +0 -3
- package/esm2022/core/helpers/dev-mode.mjs +0 -6
- package/esm2022/core/helpers/exposes-side.mjs +0 -3
- package/esm2022/core/helpers/exposes-state.mjs +0 -3
- package/esm2022/core/helpers/hlm.mjs +0 -6
- package/esm2022/core/helpers/table-classes-settable.mjs +0 -3
- package/esm2022/core/helpers/zone-free.mjs +0 -15
- package/esm2022/core/index.mjs +0 -8
- package/esm2022/core/spartan-ng-brain-core.mjs +0 -5
- package/esm2022/date-time/index.mjs +0 -3
- package/esm2022/date-time/lib/date-adapter.mjs +0 -16
- package/esm2022/date-time/lib/native-date-adapter.mjs +0 -155
- package/esm2022/date-time/spartan-ng-brain-date-time.mjs +0 -5
- package/esm2022/date-time-luxon/index.mjs +0 -2
- package/esm2022/date-time-luxon/lib/date-adapter.mjs +0 -85
- package/esm2022/date-time-luxon/spartan-ng-brain-date-time-luxon.mjs +0 -5
- package/esm2022/dialog/index.mjs +0 -56
- package/esm2022/dialog/lib/brn-dialog-close.directive.mjs +0 -24
- package/esm2022/dialog/lib/brn-dialog-content.directive.mjs +0 -41
- package/esm2022/dialog/lib/brn-dialog-description.directive.mjs +0 -25
- package/esm2022/dialog/lib/brn-dialog-options.mjs +0 -19
- package/esm2022/dialog/lib/brn-dialog-overlay.component.mjs +0 -33
- package/esm2022/dialog/lib/brn-dialog-ref.mjs +0 -54
- package/esm2022/dialog/lib/brn-dialog-state.mjs +0 -2
- package/esm2022/dialog/lib/brn-dialog-title.directive.mjs +0 -25
- package/esm2022/dialog/lib/brn-dialog-token.mjs +0 -25
- package/esm2022/dialog/lib/brn-dialog-trigger.directive.mjs +0 -47
- package/esm2022/dialog/lib/brn-dialog-utils.mjs +0 -12
- package/esm2022/dialog/lib/brn-dialog.component.mjs +0 -179
- package/esm2022/dialog/lib/brn-dialog.service.mjs +0 -128
- package/esm2022/dialog/spartan-ng-brain-dialog.mjs +0 -5
- package/esm2022/form-field/index.mjs +0 -2
- package/esm2022/form-field/lib/brn-form-field-control.mjs +0 -14
- package/esm2022/form-field/spartan-ng-brain-form-field.mjs +0 -5
- package/esm2022/forms/index.mjs +0 -4
- package/esm2022/forms/lib/control-value-accessor.mjs +0 -2
- package/esm2022/forms/lib/error-options.mjs +0 -26
- package/esm2022/forms/lib/error-state-tracker.mjs +0 -29
- package/esm2022/forms/spartan-ng-brain-forms.mjs +0 -5
- package/esm2022/hover-card/index.mjs +0 -29
- package/esm2022/hover-card/lib/brn-hover-card-content.service.mjs +0 -197
- package/esm2022/hover-card/lib/brn-hover-card.component.mjs +0 -28
- package/esm2022/hover-card/lib/createHoverObservable.mjs +0 -20
- package/esm2022/hover-card/spartan-ng-brain-hover-card.mjs +0 -5
- package/esm2022/index.mjs +0 -3
- package/esm2022/label/index.mjs +0 -17
- package/esm2022/label/lib/brn-label.directive.mjs +0 -49
- package/esm2022/label/spartan-ng-brain-label.mjs +0 -5
- package/esm2022/menu/index.mjs +0 -100
- package/esm2022/menu/lib/brn-context-menu-trigger.directive.mjs +0 -40
- package/esm2022/menu/lib/brn-menu-align.mjs +0 -15
- package/esm2022/menu/lib/brn-menu-bar.directive.mjs +0 -17
- package/esm2022/menu/lib/brn-menu-group.directive.mjs +0 -17
- package/esm2022/menu/lib/brn-menu-item-checkbox.directive.mjs +0 -30
- package/esm2022/menu/lib/brn-menu-item-radio.directive.mjs +0 -30
- package/esm2022/menu/lib/brn-menu-item.directive.mjs +0 -27
- package/esm2022/menu/lib/brn-menu-trigger.directive.mjs +0 -42
- package/esm2022/menu/lib/brn-menu.directive.mjs +0 -56
- package/esm2022/menu/spartan-ng-brain-menu.mjs +0 -5
- package/esm2022/popover/index.mjs +0 -35
- package/esm2022/popover/lib/brn-popover-close.directive.mjs +0 -15
- package/esm2022/popover/lib/brn-popover-content.directive.mjs +0 -17
- package/esm2022/popover/lib/brn-popover-trigger.directive.mjs +0 -43
- package/esm2022/popover/lib/brn-popover.component.mjs +0 -81
- package/esm2022/popover/spartan-ng-brain-popover.mjs +0 -5
- package/esm2022/progress/index.mjs +0 -21
- package/esm2022/progress/lib/brn-progress-indicator.component.mjs +0 -22
- package/esm2022/progress/lib/brn-progress.component.mjs +0 -61
- package/esm2022/progress/lib/brn-progress.token.mjs +0 -9
- package/esm2022/progress/spartan-ng-brain-progress.mjs +0 -5
- package/esm2022/radio-group/index.mjs +0 -20
- package/esm2022/radio-group/lib/brn-radio-group.directive.mjs +0 -90
- package/esm2022/radio-group/lib/brn-radio-group.token.mjs +0 -9
- package/esm2022/radio-group/lib/brn-radio.component.mjs +0 -191
- package/esm2022/radio-group/spartan-ng-brain-radio-group.mjs +0 -5
- package/esm2022/select/index.mjs +0 -66
- package/esm2022/select/lib/brn-select-content.component.mjs +0 -224
- package/esm2022/select/lib/brn-select-content.token.mjs +0 -9
- package/esm2022/select/lib/brn-select-group.directive.mjs +0 -19
- package/esm2022/select/lib/brn-select-label.directive.mjs +0 -23
- package/esm2022/select/lib/brn-select-option.directive.mjs +0 -69
- package/esm2022/select/lib/brn-select-placeholder.directive.mjs +0 -16
- package/esm2022/select/lib/brn-select-trigger.directive.mjs +0 -67
- package/esm2022/select/lib/brn-select-value.component.mjs +0 -68
- package/esm2022/select/lib/brn-select-value.directive.mjs +0 -16
- package/esm2022/select/lib/brn-select.component.mjs +0 -272
- package/esm2022/select/lib/brn-select.token.mjs +0 -9
- package/esm2022/select/spartan-ng-brain-select.mjs +0 -5
- package/esm2022/separator/index.mjs +0 -17
- package/esm2022/separator/lib/brn-separator.component.mjs +0 -24
- package/esm2022/separator/spartan-ng-brain-separator.mjs +0 -5
- package/esm2022/sheet/index.mjs +0 -50
- package/esm2022/sheet/lib/brn-sheet-close.directive.mjs +0 -15
- package/esm2022/sheet/lib/brn-sheet-content.directive.mjs +0 -25
- package/esm2022/sheet/lib/brn-sheet-description.directive.mjs +0 -18
- package/esm2022/sheet/lib/brn-sheet-overlay.component.mjs +0 -20
- package/esm2022/sheet/lib/brn-sheet-title.directive.mjs +0 -18
- package/esm2022/sheet/lib/brn-sheet-trigger.directive.mjs +0 -25
- package/esm2022/sheet/lib/brn-sheet.component.mjs +0 -57
- package/esm2022/sheet/spartan-ng-brain-sheet.mjs +0 -5
- package/esm2022/slider/index.mjs +0 -13
- package/esm2022/slider/lib/brn-slider-thumb.directive.mjs +0 -41
- package/esm2022/slider/lib/brn-slider-tick-mark.directive.mjs +0 -37
- package/esm2022/slider/lib/brn-slider-track-active-fill.directive.mjs +0 -29
- package/esm2022/slider/lib/brn-slider-track.directive.mjs +0 -297
- package/esm2022/slider/spartan-ng-brain-slider.mjs +0 -5
- package/esm2022/spartan-ng-brain.mjs +0 -5
- package/esm2022/switch/index.mjs +0 -20
- package/esm2022/switch/lib/brn-switch-thumb.component.mjs +0 -16
- package/esm2022/switch/lib/brn-switch.component.mjs +0 -236
- package/esm2022/switch/spartan-ng-brain-switch.mjs +0 -5
- package/esm2022/table/index.mjs +0 -47
- package/esm2022/table/lib/brn-cell-def.directive.mjs +0 -22
- package/esm2022/table/lib/brn-column-def.component.mjs +0 -82
- package/esm2022/table/lib/brn-column-manager.mjs +0 -61
- package/esm2022/table/lib/brn-footer-def.directive.mjs +0 -22
- package/esm2022/table/lib/brn-header-def.directive.mjs +0 -22
- package/esm2022/table/lib/brn-paginator.directive.mjs +0 -111
- package/esm2022/table/lib/brn-table.component.mjs +0 -169
- package/esm2022/table/spartan-ng-brain-table.mjs +0 -5
- package/esm2022/tabs/index.mjs +0 -32
- package/esm2022/tabs/lib/brn-tabs-list.directive.mjs +0 -66
- package/esm2022/tabs/lib/brn-tabs-paginated-list.directive.mjs +0 -525
- package/esm2022/tabs/lib/brn-tabs-trigger.directive.mjs +0 -136
- package/esm2022/tabs/spartan-ng-brain-tabs.mjs +0 -5
- package/esm2022/toggle/index.mjs +0 -31
- package/esm2022/toggle/lib/brn-toggle-group.component.mjs +0 -159
- package/esm2022/toggle/lib/brn-toggle-group.token.mjs +0 -9
- package/esm2022/toggle/lib/brn-toggle.directive.mjs +0 -65
- package/esm2022/toggle/spartan-ng-brain-toggle.mjs +0 -5
- package/esm2022/tooltip/index.mjs +0 -36
- package/esm2022/tooltip/lib/brn-tooltip-content.component.mjs +0 -221
- package/esm2022/tooltip/lib/brn-tooltip-content.directive.mjs +0 -22
- package/esm2022/tooltip/lib/brn-tooltip-trigger.directive.mjs +0 -629
- package/esm2022/tooltip/lib/brn-tooltip.directive.mjs +0 -15
- package/esm2022/tooltip/lib/brn-tooltip.token.mjs +0 -18
- package/esm2022/tooltip/lib/computed-previous.mjs +0 -46
- package/esm2022/tooltip/spartan-ng-brain-tooltip.mjs +0 -5
|
@@ -1,224 +0,0 @@
|
|
|
1
|
-
import { NgTemplateOutlet } from '@angular/common';
|
|
2
|
-
import { ChangeDetectionStrategy, Component, DestroyRef, ElementRef, Injector, afterNextRender, contentChild, contentChildren, effect, inject, signal, untracked, viewChild, } from '@angular/core';
|
|
3
|
-
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
4
|
-
import { BrnSelectOptionDirective } from './brn-select-option.directive';
|
|
5
|
-
import { ActiveDescendantKeyManager } from '@angular/cdk/a11y';
|
|
6
|
-
import { Directive } from '@angular/core';
|
|
7
|
-
import { Subject, fromEvent, interval } from 'rxjs';
|
|
8
|
-
import { takeUntil } from 'rxjs/operators';
|
|
9
|
-
import { provideBrnSelectContent } from './brn-select-content.token';
|
|
10
|
-
import { injectBrnSelect } from './brn-select.token';
|
|
11
|
-
import * as i0 from "@angular/core";
|
|
12
|
-
const SCROLLBY_PIXELS = 100;
|
|
13
|
-
export class BrnSelectScrollUpDirective {
|
|
14
|
-
_el = inject(ElementRef);
|
|
15
|
-
_selectContent = inject(BrnSelectContentComponent);
|
|
16
|
-
_endReached = new Subject();
|
|
17
|
-
_destroyRef = inject(DestroyRef);
|
|
18
|
-
startEmittingEvents() {
|
|
19
|
-
const mouseLeave$ = fromEvent(this._el.nativeElement, 'mouseleave');
|
|
20
|
-
interval(100)
|
|
21
|
-
.pipe(takeUntil(mouseLeave$), takeUntil(this._endReached), takeUntilDestroyed(this._destroyRef))
|
|
22
|
-
.subscribe(() => this._selectContent.moveFocusUp());
|
|
23
|
-
}
|
|
24
|
-
stopEmittingEvents() {
|
|
25
|
-
this._endReached.next(true);
|
|
26
|
-
}
|
|
27
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnSelectScrollUpDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
28
|
-
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.5", type: BrnSelectScrollUpDirective, isStandalone: true, selector: "[brnSelectScrollUp], brn-select-scroll-up, hlm-select-scroll-up:not(noHlm)", host: { attributes: { "aria-hidden": "true" }, listeners: { "mouseenter": "startEmittingEvents()" } }, ngImport: i0 });
|
|
29
|
-
}
|
|
30
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnSelectScrollUpDirective, decorators: [{
|
|
31
|
-
type: Directive,
|
|
32
|
-
args: [{
|
|
33
|
-
selector: '[brnSelectScrollUp], brn-select-scroll-up, hlm-select-scroll-up:not(noHlm)',
|
|
34
|
-
standalone: true,
|
|
35
|
-
host: {
|
|
36
|
-
'aria-hidden': 'true',
|
|
37
|
-
'(mouseenter)': 'startEmittingEvents()',
|
|
38
|
-
},
|
|
39
|
-
}]
|
|
40
|
-
}] });
|
|
41
|
-
export class BrnSelectScrollDownDirective {
|
|
42
|
-
_el = inject(ElementRef);
|
|
43
|
-
_selectContent = inject(BrnSelectContentComponent);
|
|
44
|
-
_endReached = new Subject();
|
|
45
|
-
_destroyRef = inject(DestroyRef);
|
|
46
|
-
startEmittingEvents() {
|
|
47
|
-
const mouseLeave$ = fromEvent(this._el.nativeElement, 'mouseleave');
|
|
48
|
-
interval(100)
|
|
49
|
-
.pipe(takeUntil(mouseLeave$), takeUntil(this._endReached), takeUntilDestroyed(this._destroyRef))
|
|
50
|
-
.subscribe(() => this._selectContent.moveFocusDown());
|
|
51
|
-
}
|
|
52
|
-
stopEmittingEvents() {
|
|
53
|
-
this._endReached.next(true);
|
|
54
|
-
}
|
|
55
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnSelectScrollDownDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
56
|
-
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.5", type: BrnSelectScrollDownDirective, isStandalone: true, selector: "[brnSelectScrollDown], brn-select-scroll-down, hlm-select-scroll-down:not(noHlm)", host: { attributes: { "aria-hidden": "true" }, listeners: { "mouseenter": "startEmittingEvents()" } }, ngImport: i0 });
|
|
57
|
-
}
|
|
58
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnSelectScrollDownDirective, decorators: [{
|
|
59
|
-
type: Directive,
|
|
60
|
-
args: [{
|
|
61
|
-
selector: '[brnSelectScrollDown], brn-select-scroll-down, hlm-select-scroll-down:not(noHlm)',
|
|
62
|
-
standalone: true,
|
|
63
|
-
host: {
|
|
64
|
-
'aria-hidden': 'true',
|
|
65
|
-
'(mouseenter)': 'startEmittingEvents()',
|
|
66
|
-
},
|
|
67
|
-
}]
|
|
68
|
-
}] });
|
|
69
|
-
export class BrnSelectContentComponent {
|
|
70
|
-
_elementRef = inject(ElementRef);
|
|
71
|
-
_injector = inject(Injector);
|
|
72
|
-
_select = injectBrnSelect();
|
|
73
|
-
canScrollUp = signal(false);
|
|
74
|
-
canScrollDown = signal(false);
|
|
75
|
-
viewport = viewChild.required('viewport');
|
|
76
|
-
scrollUpBtn = contentChild(BrnSelectScrollUpDirective);
|
|
77
|
-
scrollDownBtn = contentChild(BrnSelectScrollDownDirective);
|
|
78
|
-
_options = contentChildren(BrnSelectOptionDirective, { descendants: true });
|
|
79
|
-
/** @internal */
|
|
80
|
-
keyManager = null;
|
|
81
|
-
constructor() {
|
|
82
|
-
effect(() => {
|
|
83
|
-
this._select.open() && afterNextRender(() => this.updateArrowDisplay(), { injector: this._injector });
|
|
84
|
-
});
|
|
85
|
-
}
|
|
86
|
-
ngAfterContentInit() {
|
|
87
|
-
this.keyManager = new ActiveDescendantKeyManager(this._options, this._injector)
|
|
88
|
-
.withHomeAndEnd()
|
|
89
|
-
.withVerticalOrientation()
|
|
90
|
-
.withTypeAhead()
|
|
91
|
-
.withAllowedModifierKeys(['shiftKey'])
|
|
92
|
-
.withWrap()
|
|
93
|
-
.skipPredicate((option) => option._disabled());
|
|
94
|
-
effect(() => {
|
|
95
|
-
// any time the select is opened, we need to focus the first selected option or the first option
|
|
96
|
-
const open = this._select.open();
|
|
97
|
-
const options = this._options();
|
|
98
|
-
if (!open || !options.length) {
|
|
99
|
-
return;
|
|
100
|
-
}
|
|
101
|
-
untracked(() => {
|
|
102
|
-
const selectedOption = options.find((option) => option.selected());
|
|
103
|
-
if (selectedOption) {
|
|
104
|
-
this.keyManager?.setActiveItem(selectedOption);
|
|
105
|
-
}
|
|
106
|
-
else {
|
|
107
|
-
this.keyManager?.setFirstItemActive();
|
|
108
|
-
}
|
|
109
|
-
});
|
|
110
|
-
}, { injector: this._injector });
|
|
111
|
-
}
|
|
112
|
-
updateArrowDisplay() {
|
|
113
|
-
const { scrollTop, scrollHeight, clientHeight } = this.viewport().nativeElement;
|
|
114
|
-
this.canScrollUp.set(scrollTop > 0);
|
|
115
|
-
const maxScroll = scrollHeight - clientHeight;
|
|
116
|
-
this.canScrollDown.set(Math.ceil(scrollTop) < maxScroll);
|
|
117
|
-
}
|
|
118
|
-
handleScroll() {
|
|
119
|
-
this.updateArrowDisplay();
|
|
120
|
-
}
|
|
121
|
-
focusList() {
|
|
122
|
-
this._elementRef.nativeElement.focus();
|
|
123
|
-
}
|
|
124
|
-
moveFocusUp() {
|
|
125
|
-
this.viewport().nativeElement.scrollBy({ top: -SCROLLBY_PIXELS, behavior: 'smooth' });
|
|
126
|
-
if (this.viewport().nativeElement.scrollTop === 0) {
|
|
127
|
-
this.scrollUpBtn()?.stopEmittingEvents();
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
moveFocusDown() {
|
|
131
|
-
this.viewport().nativeElement.scrollBy({ top: SCROLLBY_PIXELS, behavior: 'smooth' });
|
|
132
|
-
const viewportSize = this._elementRef.nativeElement.scrollHeight;
|
|
133
|
-
const viewportScrollPosition = this.viewport().nativeElement.scrollTop;
|
|
134
|
-
if (viewportSize + viewportScrollPosition + SCROLLBY_PIXELS >
|
|
135
|
-
this.viewport().nativeElement.scrollHeight + SCROLLBY_PIXELS / 2) {
|
|
136
|
-
this.scrollDownBtn()?.stopEmittingEvents();
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
setActiveOption(option) {
|
|
140
|
-
const index = this._options().findIndex((o) => o === option);
|
|
141
|
-
if (index === -1) {
|
|
142
|
-
return;
|
|
143
|
-
}
|
|
144
|
-
this.keyManager?.setActiveItem(index);
|
|
145
|
-
}
|
|
146
|
-
selectActiveItem(event) {
|
|
147
|
-
event.preventDefault();
|
|
148
|
-
const activeOption = this.keyManager?.activeItem;
|
|
149
|
-
if (activeOption) {
|
|
150
|
-
this._select.selectOption(activeOption.value());
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnSelectContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
154
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.5", type: BrnSelectContentComponent, isStandalone: true, selector: "brn-select-content, hlm-select-content:not(noHlm)", host: { attributes: { "role": "listbox", "tabindex": "0", "aria-orientation": "vertical" }, listeners: { "keydown": "keyManager?.onKeydown($event)", "keydown.enter": "selectActiveItem($event)", "keydown.space": "selectActiveItem($event)" }, properties: { "attr.aria-multiselectable": "_select.multiple()", "attr.aria-disabled": "_select.disabled() || _select._formDisabled()", "attr.aria-activedescendant": "keyManager?.activeItem?.id()", "attr.aria-labelledBy": "_select.labelId()", "attr.aria-controlledBy": "_select.id() +'--trigger'", "id": "_select.id() + '--content'", "attr.dir": "_select.dir()" } }, providers: [provideBrnSelectContent(BrnSelectContentComponent)], queries: [{ propertyName: "scrollUpBtn", first: true, predicate: BrnSelectScrollUpDirective, descendants: true, isSignal: true }, { propertyName: "scrollDownBtn", first: true, predicate: BrnSelectScrollDownDirective, descendants: true, isSignal: true }, { propertyName: "_options", predicate: BrnSelectOptionDirective, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "viewport", first: true, predicate: ["viewport"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
155
|
-
<ng-template #scrollUp>
|
|
156
|
-
<ng-content select="hlm-select-scroll-up" />
|
|
157
|
-
<ng-content select="brnSelectScrollUp" />
|
|
158
|
-
</ng-template>
|
|
159
|
-
<ng-container *ngTemplateOutlet="canScrollUp() && scrollUpBtn() ? scrollUp : null" />
|
|
160
|
-
<div
|
|
161
|
-
data-brn-select-viewport
|
|
162
|
-
#viewport
|
|
163
|
-
(scroll)="handleScroll()"
|
|
164
|
-
style="flex: 1 1 0%;
|
|
165
|
-
position: relative;
|
|
166
|
-
width:100%;
|
|
167
|
-
overflow:auto;
|
|
168
|
-
min-height: 36px;
|
|
169
|
-
padding-bottom: 2px;
|
|
170
|
-
margin-bottom: -2px;"
|
|
171
|
-
>
|
|
172
|
-
<ng-content />
|
|
173
|
-
</div>
|
|
174
|
-
<ng-template #scrollDown>
|
|
175
|
-
<ng-content select="brnSelectScrollDown" />
|
|
176
|
-
<ng-content select="hlm-select-scroll-down" />
|
|
177
|
-
</ng-template>
|
|
178
|
-
<ng-container *ngTemplateOutlet="canScrollDown() && scrollDownBtn() ? scrollDown : null" />
|
|
179
|
-
`, isInline: true, styles: [":host{display:flex;box-sizing:border-box;flex-direction:column;outline:none;pointer-events:auto}[data-brn-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch}[data-brn-select-viewport]::-webkit-scrollbar{display:none}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
180
|
-
}
|
|
181
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnSelectContentComponent, decorators: [{
|
|
182
|
-
type: Component,
|
|
183
|
-
args: [{ standalone: true, selector: 'brn-select-content, hlm-select-content:not(noHlm)', imports: [NgTemplateOutlet], providers: [provideBrnSelectContent(BrnSelectContentComponent)], changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
184
|
-
role: 'listbox',
|
|
185
|
-
tabindex: '0',
|
|
186
|
-
'[attr.aria-multiselectable]': '_select.multiple()',
|
|
187
|
-
'[attr.aria-disabled]': '_select.disabled() || _select._formDisabled()',
|
|
188
|
-
'aria-orientation': 'vertical',
|
|
189
|
-
'[attr.aria-activedescendant]': 'keyManager?.activeItem?.id()',
|
|
190
|
-
'[attr.aria-labelledBy]': '_select.labelId()',
|
|
191
|
-
'[attr.aria-controlledBy]': "_select.id() +'--trigger'",
|
|
192
|
-
'[id]': "_select.id() + '--content'",
|
|
193
|
-
'[attr.dir]': '_select.dir()',
|
|
194
|
-
'(keydown)': 'keyManager?.onKeydown($event)',
|
|
195
|
-
'(keydown.enter)': 'selectActiveItem($event)',
|
|
196
|
-
'(keydown.space)': 'selectActiveItem($event)',
|
|
197
|
-
}, template: `
|
|
198
|
-
<ng-template #scrollUp>
|
|
199
|
-
<ng-content select="hlm-select-scroll-up" />
|
|
200
|
-
<ng-content select="brnSelectScrollUp" />
|
|
201
|
-
</ng-template>
|
|
202
|
-
<ng-container *ngTemplateOutlet="canScrollUp() && scrollUpBtn() ? scrollUp : null" />
|
|
203
|
-
<div
|
|
204
|
-
data-brn-select-viewport
|
|
205
|
-
#viewport
|
|
206
|
-
(scroll)="handleScroll()"
|
|
207
|
-
style="flex: 1 1 0%;
|
|
208
|
-
position: relative;
|
|
209
|
-
width:100%;
|
|
210
|
-
overflow:auto;
|
|
211
|
-
min-height: 36px;
|
|
212
|
-
padding-bottom: 2px;
|
|
213
|
-
margin-bottom: -2px;"
|
|
214
|
-
>
|
|
215
|
-
<ng-content />
|
|
216
|
-
</div>
|
|
217
|
-
<ng-template #scrollDown>
|
|
218
|
-
<ng-content select="brnSelectScrollDown" />
|
|
219
|
-
<ng-content select="hlm-select-scroll-down" />
|
|
220
|
-
</ng-template>
|
|
221
|
-
<ng-container *ngTemplateOutlet="canScrollDown() && scrollDownBtn() ? scrollDown : null" />
|
|
222
|
-
`, styles: [":host{display:flex;box-sizing:border-box;flex-direction:column;outline:none;pointer-events:auto}[data-brn-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch}[data-brn-select-viewport]::-webkit-scrollbar{display:none}\n"] }]
|
|
223
|
-
}], ctorParameters: () => [] });
|
|
224
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLXNlbGVjdC1jb250ZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYnJhaW4vc2VsZWN0L3NyYy9saWIvYnJuLXNlbGVjdC1jb250ZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBRU4sdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsVUFBVSxFQUNWLFFBQVEsRUFDUixlQUFlLEVBQ2YsWUFBWSxFQUNaLGVBQWUsRUFDZixNQUFNLEVBQ04sTUFBTSxFQUNOLE1BQU0sRUFDTixTQUFTLEVBQ1QsU0FBUyxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRXpFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBRXJELE1BQU0sZUFBZSxHQUFHLEdBQUcsQ0FBQztBQVU1QixNQUFNLE9BQU8sMEJBQTBCO0lBQ3JCLEdBQUcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDekIsY0FBYyxHQUFHLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lB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QUF5Qjs4R0FBekIseUJBQXlCLGdzQkFqRTFCLENBQUMsdUJBQXVCLENBQUMseUJBQXlCLENBQUMsQ0FBQyxtRUF3RWpCLDBCQUEwQixnR0FDeEIsNEJBQTRCLDhFQUNoQyx3QkFBd0Isc0xBcEMxRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQXlCVCxnVkFoRVMsZ0JBQWdCOzsyRkFrRWQseUJBQXlCO2tCQXJFckMsU0FBUztpQ0FDRyxJQUFJLFlBQ04sbURBQW1ELFdBQ3BELENBQUMsZ0JBQWdCLENBQUMsYUFDaEIsQ0FBQyx1QkFBdUIsMkJBQTJCLENBQUMsbUJBQzlDLHVCQUF1QixDQUFDLE1BQU0sUUFDekM7d0JBQ0wsSUFBSSxFQUFFLFNBQVM7d0JBQ2YsUUFBUSxFQUFFLEdBQUc7d0JBQ2IsNkJBQTZCLEVBQUUsb0JBQW9CO3dCQUNuRCxzQkFBc0IsRUFBRSwrQ0FBK0M7d0JBQ3ZFLGtCQUFrQixFQUFFLFVBQVU7d0JBQzlCLDhCQUE4QixFQUFFLDhCQUE4Qjt3QkFDOUQsd0JBQXdCLEVBQUUsbUJBQW1CO3dCQUM3QywwQkFBMEIsRUFBRSwyQkFBMkI7d0JBQ3ZELE1BQU0sRUFBRSw0QkFBNEI7d0JBQ3BDLFlBQVksRUFBRSxlQUFlO3dCQUM3QixXQUFXLEVBQUUsK0JBQStCO3dCQUM1QyxpQkFBaUIsRUFBRSwwQkFBMEI7d0JBQzdDLGlCQUFpQixFQUFFLDBCQUEwQjtxQkFDN0MsWUFzQlM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUF5QlQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG5cdEFmdGVyQ29udGVudEluaXQsXG5cdENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuXHRDb21wb25lbnQsXG5cdERlc3Ryb3lSZWYsXG5cdEVsZW1lbnRSZWYsXG5cdEluamVjdG9yLFxuXHRhZnRlck5leHRSZW5kZXIsXG5cdGNvbnRlbnRDaGlsZCxcblx0Y29udGVudENoaWxkcmVuLFxuXHRlZmZlY3QsXG5cdGluamVjdCxcblx0c2lnbmFsLFxuXHR1bnRyYWNrZWQsXG5cdHZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBCcm5TZWxlY3RPcHRpb25EaXJlY3RpdmUgfSBmcm9tICcuL2Jybi1zZWxlY3Qtb3B0aW9uLmRpcmVjdGl2ZSc7XG5cbmltcG9ydCB7IEFjdGl2ZURlc2NlbmRhbnRLZXlNYW5hZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0LCBmcm9tRXZlbnQsIGludGVydmFsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBwcm92aWRlQnJuU2VsZWN0Q29udGVudCB9IGZyb20gJy4vYnJuLXNlbGVjdC1jb250ZW50LnRva2VuJztcbmltcG9ydCB7IGluamVjdEJyblNlbGVjdCB9IGZyb20gJy4vYnJuLXNlbGVjdC50b2tlbic7XG5cbmNvbnN0IFNDUk9MTEJZX1BJWEVMUyA9IDEwMDtcblxuQERpcmVjdGl2ZSh7XG5cdHNlbGVjdG9yOiAnW2JyblNlbGVjdFNjcm9sbFVwXSwgYnJuLXNlbGVjdC1zY3JvbGwtdXAsIGhsbS1zZWxlY3Qtc2Nyb2xsLXVwOm5vdChub0hsbSknLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHRob3N0OiB7XG5cdFx0J2FyaWEtaGlkZGVuJzogJ3RydWUnLFxuXHRcdCcobW91c2VlbnRlciknOiAnc3RhcnRFbWl0dGluZ0V2ZW50cygpJyxcblx0fSxcbn0pXG5leHBvcnQgY2xhc3MgQnJuU2VsZWN0U2Nyb2xsVXBEaXJlY3RpdmUge1xuXHRwcml2YXRlIHJlYWRvbmx5IF9lbCA9IGluamVjdChFbGVtZW50UmVmKTtcblx0cHJpdmF0ZSByZWFkb25seSBfc2VsZWN0Q29udGVudCA9IGluamVjdChCcm5TZWxlY3RDb250ZW50Q29tcG9uZW50KTtcblxuXHRwcml2YXRlIHJlYWRvbmx5IF9lbmRSZWFjaGVkID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblx0cHJpdmF0ZSByZWFkb25seSBfZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuXHRwdWJsaWMgc3RhcnRFbWl0dGluZ0V2ZW50cygpOiB2b2lkIHtcblx0XHRjb25zdCBtb3VzZUxlYXZlJCA9IGZyb21FdmVudCh0aGlzLl9lbC5uYXRpdmVFbGVtZW50LCAnbW91c2VsZWF2ZScpO1xuXG5cdFx0aW50ZXJ2YWwoMTAwKVxuXHRcdFx0LnBpcGUodGFrZVVudGlsKG1vdXNlTGVhdmUkKSwgdGFrZVVudGlsKHRoaXMuX2VuZFJlYWNoZWQpLCB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveVJlZikpXG5cdFx0XHQuc3Vic2NyaWJlKCgpID0+IHRoaXMuX3NlbGVjdENvbnRlbnQubW92ZUZvY3VzVXAoKSk7XG5cdH1cblxuXHRwdWJsaWMgc3RvcEVtaXR0aW5nRXZlbnRzKCk6IHZvaWQge1xuXHRcdHRoaXMuX2VuZFJlYWNoZWQubmV4dCh0cnVlKTtcblx0fVxufVxuXG5ARGlyZWN0aXZlKHtcblx0c2VsZWN0b3I6ICdbYnJuU2VsZWN0U2Nyb2xsRG93bl0sIGJybi1zZWxlY3Qtc2Nyb2xsLWRvd24sIGhsbS1zZWxlY3Qtc2Nyb2xsLWRvd246bm90KG5vSGxtKScsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdGhvc3Q6IHtcblx0XHQnYXJpYS1oaWRkZW4nOiAndHJ1ZScsXG5cdFx0Jyhtb3VzZWVudGVyKSc6ICdzdGFydEVtaXR0aW5nRXZlbnRzKCknLFxuXHR9LFxufSlcbmV4cG9ydCBjbGFzcyBCcm5TZWxlY3RTY3JvbGxEb3duRGlyZWN0aXZlIHtcblx0cHJpdmF0ZSByZWFkb25seSBfZWwgPSBpbmplY3QoRWxlbWVudFJlZik7XG5cdHByaXZhdGUgcmVhZG9ubHkgX3NlbGVjdENvbnRlbnQgPSBpbmplY3QoQnJuU2VsZWN0Q29udGVudENvbXBvbmVudCk7XG5cblx0cHJpdmF0ZSByZWFkb25seSBfZW5kUmVhY2hlZCA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cdHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cblx0cHVibGljIHN0YXJ0RW1pdHRpbmdFdmVudHMoKTogdm9pZCB7XG5cdFx0Y29uc3QgbW91c2VMZWF2ZSQgPSBmcm9tRXZlbnQodGhpcy5fZWwubmF0aXZlRWxlbWVudCwgJ21vdXNlbGVhdmUnKTtcblxuXHRcdGludGVydmFsKDEwMClcblx0XHRcdC5waXBlKHRha2VVbnRpbChtb3VzZUxlYXZlJCksIHRha2VVbnRpbCh0aGlzLl9lbmRSZWFjaGVkKSwgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuX2Rlc3Ryb3lSZWYpKVxuXHRcdFx0LnN1YnNjcmliZSgoKSA9PiB0aGlzLl9zZWxlY3RDb250ZW50Lm1vdmVGb2N1c0Rvd24oKSk7XG5cdH1cblxuXHRwdWJsaWMgc3RvcEVtaXR0aW5nRXZlbnRzKCk6IHZvaWQge1xuXHRcdHRoaXMuX2VuZFJlYWNoZWQubmV4dCh0cnVlKTtcblx0fVxufVxuXG5AQ29tcG9uZW50KHtcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0c2VsZWN0b3I6ICdicm4tc2VsZWN0LWNvbnRlbnQsIGhsbS1zZWxlY3QtY29udGVudDpub3Qobm9IbG0pJyxcblx0aW1wb3J0czogW05nVGVtcGxhdGVPdXRsZXRdLFxuXHRwcm92aWRlcnM6IFtwcm92aWRlQnJuU2VsZWN0Q29udGVudChCcm5TZWxlY3RDb250ZW50Q29tcG9uZW50KV0sXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuXHRob3N0OiB7XG5cdFx0cm9sZTogJ2xpc3Rib3gnLFxuXHRcdHRhYmluZGV4OiAnMCcsXG5cdFx0J1thdHRyLmFyaWEtbXVsdGlzZWxlY3RhYmxlXSc6ICdfc2VsZWN0Lm11bHRpcGxlKCknLFxuXHRcdCdbYXR0ci5hcmlhLWRpc2FibGVkXSc6ICdfc2VsZWN0LmRpc2FibGVkKCkgfHwgX3NlbGVjdC5fZm9ybURpc2FibGVkKCknLFxuXHRcdCdhcmlhLW9yaWVudGF0aW9uJzogJ3ZlcnRpY2FsJyxcblx0XHQnW2F0dHIuYXJpYS1hY3RpdmVkZXNjZW5kYW50XSc6ICdrZXlNYW5hZ2VyPy5hY3RpdmVJdGVtPy5pZCgpJyxcblx0XHQnW2F0dHIuYXJpYS1sYWJlbGxlZEJ5XSc6ICdfc2VsZWN0LmxhYmVsSWQoKScsXG5cdFx0J1thdHRyLmFyaWEtY29udHJvbGxlZEJ5XSc6IFwiX3NlbGVjdC5pZCgpICsnLS10cmlnZ2VyJ1wiLFxuXHRcdCdbaWRdJzogXCJfc2VsZWN0LmlkKCkgKyAnLS1jb250ZW50J1wiLFxuXHRcdCdbYXR0ci5kaXJdJzogJ19zZWxlY3QuZGlyKCknLFxuXHRcdCcoa2V5ZG93biknOiAna2V5TWFuYWdlcj8ub25LZXlkb3duKCRldmVudCknLFxuXHRcdCcoa2V5ZG93bi5lbnRlciknOiAnc2VsZWN0QWN0aXZlSXRlbSgkZXZlbnQpJyxcblx0XHQnKGtleWRvd24uc3BhY2UpJzogJ3NlbGVjdEFjdGl2ZUl0ZW0oJGV2ZW50KScsXG5cdH0sXG5cdHN0eWxlczogW1xuXHRcdGBcblx0XHRcdDpob3N0IHtcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRcdFx0b3V0bGluZTogbm9uZTtcblx0XHRcdFx0cG9pbnRlci1ldmVudHM6IGF1dG87XG5cdFx0XHR9XG5cblx0XHRcdFtkYXRhLWJybi1zZWxlY3Qtdmlld3BvcnRdIHtcblx0XHRcdFx0c2Nyb2xsYmFyLXdpZHRoOiBub25lO1xuXHRcdFx0XHQtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7XG5cdFx0XHRcdC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblx0XHRcdH1cblxuXHRcdFx0W2RhdGEtYnJuLXNlbGVjdC12aWV3cG9ydF06Oi13ZWJraXQtc2Nyb2xsYmFyIHtcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdH1cblx0XHRgLFxuXHRdLFxuXHR0ZW1wbGF0ZTogYFxuXHRcdDxuZy10ZW1wbGF0ZSAjc2Nyb2xsVXA+XG5cdFx0XHQ8bmctY29udGVudCBzZWxlY3Q9XCJobG0tc2VsZWN0LXNjcm9sbC11cFwiIC8+XG5cdFx0XHQ8bmctY29udGVudCBzZWxlY3Q9XCJicm5TZWxlY3RTY3JvbGxVcFwiIC8+XG5cdFx0PC9uZy10ZW1wbGF0ZT5cblx0XHQ8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY2FuU2Nyb2xsVXAoKSAmJiBzY3JvbGxVcEJ0bigpID8gc2Nyb2xsVXAgOiBudWxsXCIgLz5cblx0XHQ8ZGl2XG5cdFx0XHRkYXRhLWJybi1zZWxlY3Qtdmlld3BvcnRcblx0XHRcdCN2aWV3cG9ydFxuXHRcdFx0KHNjcm9sbCk9XCJoYW5kbGVTY3JvbGwoKVwiXG5cdFx0XHRzdHlsZT1cImZsZXg6IDEgMSAwJTtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdHdpZHRoOjEwMCU7XG5cdFx0XHRvdmVyZmxvdzphdXRvO1xuXHRcdFx0bWluLWhlaWdodDogMzZweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAycHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMnB4O1wiXG5cdFx0PlxuXHRcdFx0PG5nLWNvbnRlbnQgLz5cblx0XHQ8L2Rpdj5cblx0XHQ8bmctdGVtcGxhdGUgI3Njcm9sbERvd24+XG5cdFx0XHQ8bmctY29udGVudCBzZWxlY3Q9XCJicm5TZWxlY3RTY3JvbGxEb3duXCIgLz5cblx0XHRcdDxuZy1jb250ZW50IHNlbGVjdD1cImhsbS1zZWxlY3Qtc2Nyb2xsLWRvd25cIiAvPlxuXHRcdDwvbmctdGVtcGxhdGU+XG5cdFx0PG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNhblNjcm9sbERvd24oKSAmJiBzY3JvbGxEb3duQnRuKCkgPyBzY3JvbGxEb3duIDogbnVsbFwiIC8+XG5cdGAsXG59KVxuZXhwb3J0IGNsYXNzIEJyblNlbGVjdENvbnRlbnRDb21wb25lbnQ8VD4gaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0IHtcblx0cHJpdmF0ZSByZWFkb25seSBfZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4gPSBpbmplY3QoRWxlbWVudFJlZik7XG5cdHByaXZhdGUgcmVhZG9ubHkgX2luamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcblx0cHJvdGVjdGVkIHJlYWRvbmx5IF9zZWxlY3QgPSBpbmplY3RCcm5TZWxlY3Q8VD4oKTtcblx0cHJvdGVjdGVkIHJlYWRvbmx5IGNhblNjcm9sbFVwID0gc2lnbmFsKGZhbHNlKTtcblx0cHJvdGVjdGVkIHJlYWRvbmx5IGNhblNjcm9sbERvd24gPSBzaWduYWwoZmFsc2UpO1xuXHRwcm90ZWN0ZWQgcmVhZG9ubHkgdmlld3BvcnQgPSB2aWV3Q2hpbGQucmVxdWlyZWQ8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KCd2aWV3cG9ydCcpO1xuXHRwcm90ZWN0ZWQgcmVhZG9ubHkgc2Nyb2xsVXBCdG4gPSBjb250ZW50Q2hpbGQoQnJuU2VsZWN0U2Nyb2xsVXBEaXJlY3RpdmUpO1xuXHRwcm90ZWN0ZWQgcmVhZG9ubHkgc2Nyb2xsRG93bkJ0biA9IGNvbnRlbnRDaGlsZChCcm5TZWxlY3RTY3JvbGxEb3duRGlyZWN0aXZlKTtcblx0cHJpdmF0ZSByZWFkb25seSBfb3B0aW9ucyA9IGNvbnRlbnRDaGlsZHJlbihCcm5TZWxlY3RPcHRpb25EaXJlY3RpdmUsIHsgZGVzY2VuZGFudHM6IHRydWUgfSk7XG5cblx0LyoqIEBpbnRlcm5hbCAqL1xuXHRwdWJsaWMga2V5TWFuYWdlcjogQWN0aXZlRGVzY2VuZGFudEtleU1hbmFnZXI8QnJuU2VsZWN0T3B0aW9uRGlyZWN0aXZlPFQ+PiB8IG51bGwgPSBudWxsO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdGVmZmVjdCgoKSA9PiB7XG5cdFx0XHR0aGlzLl9zZWxlY3Qub3BlbigpICYmIGFmdGVyTmV4dFJlbmRlcigoKSA9PiB0aGlzLnVwZGF0ZUFycm93RGlzcGxheSgpLCB7IGluamVjdG9yOiB0aGlzLl9pbmplY3RvciB9KTtcblx0XHR9KTtcblx0fVxuXG5cdG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcblx0XHR0aGlzLmtleU1hbmFnZXIgPSBuZXcgQWN0aXZlRGVzY2VuZGFudEtleU1hbmFnZXIodGhpcy5fb3B0aW9ucywgdGhpcy5faW5qZWN0b3IpXG5cdFx0XHQud2l0aEhvbWVBbmRFbmQoKVxuXHRcdFx0LndpdGhWZXJ0aWNhbE9yaWVudGF0aW9uKClcblx0XHRcdC53aXRoVHlwZUFoZWFkKClcblx0XHRcdC53aXRoQWxsb3dlZE1vZGlmaWVyS2V5cyhbJ3NoaWZ0S2V5J10pXG5cdFx0XHQud2l0aFdyYXAoKVxuXHRcdFx0LnNraXBQcmVkaWNhdGUoKG9wdGlvbikgPT4gb3B0aW9uLl9kaXNhYmxlZCgpKTtcblxuXHRcdGVmZmVjdChcblx0XHRcdCgpID0+IHtcblx0XHRcdFx0Ly8gYW55IHRpbWUgdGhlIHNlbGVjdCBpcyBvcGVuZWQsIHdlIG5lZWQgdG8gZm9jdXMgdGhlIGZpcnN0IHNlbGVjdGVkIG9wdGlvbiBvciB0aGUgZmlyc3Qgb3B0aW9uXG5cdFx0XHRcdGNvbnN0IG9wZW4gPSB0aGlzLl9zZWxlY3Qub3BlbigpO1xuXHRcdFx0XHRjb25zdCBvcHRpb25zID0gdGhpcy5fb3B0aW9ucygpO1xuXG5cdFx0XHRcdGlmICghb3BlbiB8fCAhb3B0aW9ucy5sZW5ndGgpIHtcblx0XHRcdFx0XHRyZXR1cm47XG5cdFx0XHRcdH1cblxuXHRcdFx0XHR1bnRyYWNrZWQoKCkgPT4ge1xuXHRcdFx0XHRcdGNvbnN0IHNlbGVjdGVkT3B0aW9uID0gb3B0aW9ucy5maW5kKChvcHRpb24pID0+IG9wdGlvbi5zZWxlY3RlZCgpKTtcblxuXHRcdFx0XHRcdGlmIChzZWxlY3RlZE9wdGlvbikge1xuXHRcdFx0XHRcdFx0dGhpcy5rZXlNYW5hZ2VyPy5zZXRBY3RpdmVJdGVtKHNlbGVjdGVkT3B0aW9uKTtcblx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0dGhpcy5rZXlNYW5hZ2VyPy5zZXRGaXJzdEl0ZW1BY3RpdmUoKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pO1xuXHRcdFx0fSxcblx0XHRcdHsgaW5qZWN0b3I6IHRoaXMuX2luamVjdG9yIH0sXG5cdFx0KTtcblx0fVxuXG5cdHB1YmxpYyB1cGRhdGVBcnJvd0Rpc3BsYXkoKTogdm9pZCB7XG5cdFx0Y29uc3QgeyBzY3JvbGxUb3AsIHNjcm9sbEhlaWdodCwgY2xpZW50SGVpZ2h0IH0gPSB0aGlzLnZpZXdwb3J0KCkubmF0aXZlRWxlbWVudDtcblx0XHR0aGlzLmNhblNjcm9sbFVwLnNldChzY3JvbGxUb3AgPiAwKTtcblx0XHRjb25zdCBtYXhTY3JvbGwgPSBzY3JvbGxIZWlnaHQgLSBjbGllbnRIZWlnaHQ7XG5cdFx0dGhpcy5jYW5TY3JvbGxEb3duLnNldChNYXRoLmNlaWwoc2Nyb2xsVG9wKSA8IG1heFNjcm9sbCk7XG5cdH1cblxuXHRwdWJsaWMgaGFuZGxlU2Nyb2xsKCk6IHZvaWQge1xuXHRcdHRoaXMudXBkYXRlQXJyb3dEaXNwbGF5KCk7XG5cdH1cblxuXHRwdWJsaWMgZm9jdXNMaXN0KCk6IHZvaWQge1xuXHRcdHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuXHR9XG5cblx0cHVibGljIG1vdmVGb2N1c1VwKCk6IHZvaWQge1xuXHRcdHRoaXMudmlld3BvcnQoKS5uYXRpdmVFbGVtZW50LnNjcm9sbEJ5KHsgdG9wOiAtU0NST0xMQllfUElYRUxTLCBiZWhhdmlvcjogJ3Ntb290aCcgfSk7XG5cdFx0aWYgKHRoaXMudmlld3BvcnQoKS5uYXRpdmVFbGVtZW50LnNjcm9sbFRvcCA9PT0gMCkge1xuXHRcdFx0dGhpcy5zY3JvbGxVcEJ0bigpPy5zdG9wRW1pdHRpbmdFdmVudHMoKTtcblx0XHR9XG5cdH1cblxuXHRwdWJsaWMgbW92ZUZvY3VzRG93bigpOiB2b2lkIHtcblx0XHR0aGlzLnZpZXdwb3J0KCkubmF0aXZlRWxlbWVudC5zY3JvbGxCeSh7IHRvcDogU0NST0xMQllfUElYRUxTLCBiZWhhdmlvcjogJ3Ntb290aCcgfSk7XG5cdFx0Y29uc3Qgdmlld3BvcnRTaXplID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnNjcm9sbEhlaWdodDtcblx0XHRjb25zdCB2aWV3cG9ydFNjcm9sbFBvc2l0aW9uID0gdGhpcy52aWV3cG9ydCgpLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG9wO1xuXHRcdGlmIChcblx0XHRcdHZpZXdwb3J0U2l6ZSArIHZpZXdwb3J0U2Nyb2xsUG9zaXRpb24gKyBTQ1JPTExCWV9QSVhFTFMgPlxuXHRcdFx0dGhpcy52aWV3cG9ydCgpLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsSGVpZ2h0ICsgU0NST0xMQllfUElYRUxTIC8gMlxuXHRcdCkge1xuXHRcdFx0dGhpcy5zY3JvbGxEb3duQnRuKCk/LnN0b3BFbWl0dGluZ0V2ZW50cygpO1xuXHRcdH1cblx0fVxuXG5cdHNldEFjdGl2ZU9wdGlvbihvcHRpb246IEJyblNlbGVjdE9wdGlvbkRpcmVjdGl2ZTxUPik6IHZvaWQge1xuXHRcdGNvbnN0IGluZGV4ID0gdGhpcy5fb3B0aW9ucygpLmZpbmRJbmRleCgobykgPT4gbyA9PT0gb3B0aW9uKTtcblxuXHRcdGlmIChpbmRleCA9PT0gLTEpIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHR0aGlzLmtleU1hbmFnZXI/LnNldEFjdGl2ZUl0ZW0oaW5kZXgpO1xuXHR9XG5cblx0cHJvdGVjdGVkIHNlbGVjdEFjdGl2ZUl0ZW0oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcblx0XHRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG5cdFx0Y29uc3QgYWN0aXZlT3B0aW9uID0gdGhpcy5rZXlNYW5hZ2VyPy5hY3RpdmVJdGVtO1xuXG5cdFx0aWYgKGFjdGl2ZU9wdGlvbikge1xuXHRcdFx0dGhpcy5fc2VsZWN0LnNlbGVjdE9wdGlvbihhY3RpdmVPcHRpb24udmFsdWUoKSEpO1xuXHRcdH1cblx0fVxufVxuIl19
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { inject, InjectionToken } from '@angular/core';
|
|
2
|
-
const BrnSelectContentToken = new InjectionToken('BrnSelectContentToken');
|
|
3
|
-
export function injectBrnSelectContent() {
|
|
4
|
-
return inject(BrnSelectContentToken);
|
|
5
|
-
}
|
|
6
|
-
export function provideBrnSelectContent(select) {
|
|
7
|
-
return { provide: BrnSelectContentToken, useExisting: select };
|
|
8
|
-
}
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLXNlbGVjdC1jb250ZW50LnRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9icmFpbi9zZWxlY3Qvc3JjL2xpYi9icm4tc2VsZWN0LWNvbnRlbnQudG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQixNQUFNLEVBQUUsY0FBYyxFQUFRLE1BQU0sZUFBZSxDQUFDO0FBRy9FLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxjQUFjLENBQXFDLHVCQUF1QixDQUFDLENBQUM7QUFFOUcsTUFBTSxVQUFVLHNCQUFzQjtJQUNyQyxPQUFPLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBaUMsQ0FBQztBQUN0RSxDQUFDO0FBRUQsTUFBTSxVQUFVLHVCQUF1QixDQUFDLE1BQWdEO0lBQ3ZGLE9BQU8sRUFBRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxDQUFDO0FBQ2hFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFeGlzdGluZ1Byb3ZpZGVyLCBpbmplY3QsIEluamVjdGlvblRva2VuLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdHlwZSB7IEJyblNlbGVjdENvbnRlbnRDb21wb25lbnQgfSBmcm9tICcuL2Jybi1zZWxlY3QtY29udGVudC5jb21wb25lbnQnO1xuXG5jb25zdCBCcm5TZWxlY3RDb250ZW50VG9rZW4gPSBuZXcgSW5qZWN0aW9uVG9rZW48QnJuU2VsZWN0Q29udGVudENvbXBvbmVudDx1bmtub3duPj4oJ0JyblNlbGVjdENvbnRlbnRUb2tlbicpO1xuXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0QnJuU2VsZWN0Q29udGVudDxUPigpOiBCcm5TZWxlY3RDb250ZW50Q29tcG9uZW50PFQ+IHtcblx0cmV0dXJuIGluamVjdChCcm5TZWxlY3RDb250ZW50VG9rZW4pIGFzIEJyblNlbGVjdENvbnRlbnRDb21wb25lbnQ8VD47XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlQnJuU2VsZWN0Q29udGVudChzZWxlY3Q6IFR5cGU8QnJuU2VsZWN0Q29udGVudENvbXBvbmVudDx1bmtub3duPj4pOiBFeGlzdGluZ1Byb3ZpZGVyIHtcblx0cmV0dXJuIHsgcHJvdmlkZTogQnJuU2VsZWN0Q29udGVudFRva2VuLCB1c2VFeGlzdGluZzogc2VsZWN0IH07XG59XG4iXX0=
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { Directive, signal } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class BrnSelectGroupDirective {
|
|
4
|
-
labelledBy = signal('');
|
|
5
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnSelectGroupDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
6
|
-
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.5", type: BrnSelectGroupDirective, isStandalone: true, selector: "[brnSelectGroup]", host: { attributes: { "role": "group" }, properties: { "attr.aria-labelledby": "labelledBy()" } }, ngImport: i0 });
|
|
7
|
-
}
|
|
8
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnSelectGroupDirective, decorators: [{
|
|
9
|
-
type: Directive,
|
|
10
|
-
args: [{
|
|
11
|
-
selector: '[brnSelectGroup]',
|
|
12
|
-
standalone: true,
|
|
13
|
-
host: {
|
|
14
|
-
role: 'group',
|
|
15
|
-
'[attr.aria-labelledby]': 'labelledBy()',
|
|
16
|
-
},
|
|
17
|
-
}]
|
|
18
|
-
}] });
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLXNlbGVjdC1ncm91cC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2JyYWluL3NlbGVjdC9zcmMvbGliL2Jybi1zZWxlY3QtZ3JvdXAuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVVsRCxNQUFNLE9BQU8sdUJBQXVCO0lBQ25CLFVBQVUsR0FBRyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7MEhBRDVCLHVCQUF1Qjs4R0FBdkIsdUJBQXVCOzsyRkFBdkIsdUJBQXVCO2tCQVJuQyxTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUU7d0JBQ0wsSUFBSSxFQUFFLE9BQU87d0JBQ2Isd0JBQXdCLEVBQUUsY0FBYztxQkFDeEM7aUJBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcblx0c2VsZWN0b3I6ICdbYnJuU2VsZWN0R3JvdXBdJyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0aG9zdDoge1xuXHRcdHJvbGU6ICdncm91cCcsXG5cdFx0J1thdHRyLmFyaWEtbGFiZWxsZWRieV0nOiAnbGFiZWxsZWRCeSgpJyxcblx0fSxcbn0pXG5leHBvcnQgY2xhc3MgQnJuU2VsZWN0R3JvdXBEaXJlY3RpdmUge1xuXHRwdWJsaWMgcmVhZG9ubHkgbGFiZWxsZWRCeSA9IHNpZ25hbCgnJyk7XG59XG4iXX0=
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { Directive, inject } from '@angular/core';
|
|
2
|
-
import { BrnLabelDirective } from '@spartan-ng/brain/label';
|
|
3
|
-
import { BrnSelectGroupDirective } from './brn-select-group.directive';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@spartan-ng/brain/label";
|
|
6
|
-
export class BrnSelectLabelDirective {
|
|
7
|
-
_group = inject(BrnSelectGroupDirective, { optional: true });
|
|
8
|
-
_label = inject(BrnLabelDirective, { host: true });
|
|
9
|
-
constructor() {
|
|
10
|
-
this._group?.labelledBy.set(this._label.id());
|
|
11
|
-
}
|
|
12
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnSelectLabelDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
13
|
-
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.5", type: BrnSelectLabelDirective, isStandalone: true, selector: "[brnSelectLabel]", hostDirectives: [{ directive: i1.BrnLabelDirective }], ngImport: i0 });
|
|
14
|
-
}
|
|
15
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnSelectLabelDirective, decorators: [{
|
|
16
|
-
type: Directive,
|
|
17
|
-
args: [{
|
|
18
|
-
selector: '[brnSelectLabel]',
|
|
19
|
-
hostDirectives: [BrnLabelDirective],
|
|
20
|
-
standalone: true,
|
|
21
|
-
}]
|
|
22
|
-
}], ctorParameters: () => [] });
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLXNlbGVjdC1sYWJlbC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2JyYWluL3NlbGVjdC9zcmMvbGliL2Jybi1zZWxlY3QtbGFiZWwuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzVELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7QUFPdkUsTUFBTSxPQUFPLHVCQUF1QjtJQUNsQixNQUFNLEdBQUcsTUFBTSxDQUFDLHVCQUF1QixFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDN0QsTUFBTSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBRXBFO1FBQ0MsSUFBSSxDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUMvQyxDQUFDOzBIQU5XLHVCQUF1Qjs4R0FBdkIsdUJBQXVCOzsyRkFBdkIsdUJBQXVCO2tCQUxuQyxTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLGNBQWMsRUFBRSxDQUFDLGlCQUFpQixDQUFDO29CQUNuQyxVQUFVLEVBQUUsSUFBSTtpQkFDaEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQnJuTGFiZWxEaXJlY3RpdmUgfSBmcm9tICdAc3BhcnRhbi1uZy9icmFpbi9sYWJlbCc7XG5pbXBvcnQgeyBCcm5TZWxlY3RHcm91cERpcmVjdGl2ZSB9IGZyb20gJy4vYnJuLXNlbGVjdC1ncm91cC5kaXJlY3RpdmUnO1xuXG5ARGlyZWN0aXZlKHtcblx0c2VsZWN0b3I6ICdbYnJuU2VsZWN0TGFiZWxdJyxcblx0aG9zdERpcmVjdGl2ZXM6IFtCcm5MYWJlbERpcmVjdGl2ZV0sXG5cdHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEJyblNlbGVjdExhYmVsRGlyZWN0aXZlIHtcblx0cHJpdmF0ZSByZWFkb25seSBfZ3JvdXAgPSBpbmplY3QoQnJuU2VsZWN0R3JvdXBEaXJlY3RpdmUsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cdHByaXZhdGUgcmVhZG9ubHkgX2xhYmVsID0gaW5qZWN0KEJybkxhYmVsRGlyZWN0aXZlLCB7IGhvc3Q6IHRydWUgfSk7XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0dGhpcy5fZ3JvdXA/LmxhYmVsbGVkQnkuc2V0KHRoaXMuX2xhYmVsLmlkKCkpO1xuXHR9XG59XG4iXX0=
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
import { Directive, ElementRef, booleanAttribute, computed, inject, input, signal } from '@angular/core';
|
|
2
|
-
import { injectBrnSelectContent } from './brn-select-content.token';
|
|
3
|
-
import { injectBrnSelect } from './brn-select.token';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
let nextId = 0;
|
|
6
|
-
export class BrnSelectOptionDirective {
|
|
7
|
-
_select = injectBrnSelect();
|
|
8
|
-
_content = injectBrnSelectContent();
|
|
9
|
-
elementRef = inject(ElementRef);
|
|
10
|
-
id = input(`brn-option-${nextId++}`);
|
|
11
|
-
value = input();
|
|
12
|
-
// we use "_disabled" here because disabled is already defined in the Highlightable interface
|
|
13
|
-
_disabled = input(false, {
|
|
14
|
-
alias: 'disabled',
|
|
15
|
-
transform: booleanAttribute,
|
|
16
|
-
});
|
|
17
|
-
get disabled() {
|
|
18
|
-
return this._disabled();
|
|
19
|
-
}
|
|
20
|
-
selected = computed(() => this.value() !== undefined && this._select.isSelected(this.value()));
|
|
21
|
-
_active = signal(false);
|
|
22
|
-
checkedState = computed(() => (this.selected() ? 'checked' : 'unchecked'));
|
|
23
|
-
dir = this._select.dir;
|
|
24
|
-
select() {
|
|
25
|
-
if (this._disabled()) {
|
|
26
|
-
return;
|
|
27
|
-
}
|
|
28
|
-
this._select.selectOption(this.value());
|
|
29
|
-
}
|
|
30
|
-
/** Get the label for this element which is required by the FocusableOption interface. */
|
|
31
|
-
getLabel() {
|
|
32
|
-
return this.elementRef.nativeElement.textContent?.trim() ?? '';
|
|
33
|
-
}
|
|
34
|
-
setActiveStyles() {
|
|
35
|
-
this._active.set(true);
|
|
36
|
-
// scroll the option into view if it is not visible
|
|
37
|
-
this.elementRef.nativeElement.scrollIntoView({ block: 'nearest' });
|
|
38
|
-
}
|
|
39
|
-
setInactiveStyles() {
|
|
40
|
-
this._active.set(false);
|
|
41
|
-
}
|
|
42
|
-
activate() {
|
|
43
|
-
if (this._disabled()) {
|
|
44
|
-
return;
|
|
45
|
-
}
|
|
46
|
-
this._content.setActiveOption(this);
|
|
47
|
-
}
|
|
48
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnSelectOptionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
49
|
-
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.5", type: BrnSelectOptionDirective, isStandalone: true, selector: "[brnOption]", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, _disabled: { classPropertyName: "_disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "option" }, listeners: { "click": "select()", "mouseenter": "activate()" }, properties: { "id": "id()", "attr.aria-selected": "selected()", "attr.aria-disabled": "_disabled()", "attr.dir": "_select.dir()", "attr.data-active": "_active() ? '' : undefined", "attr.data-disabled": "_disabled() ? '' : undefined" } }, ngImport: i0 });
|
|
50
|
-
}
|
|
51
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnSelectOptionDirective, decorators: [{
|
|
52
|
-
type: Directive,
|
|
53
|
-
args: [{
|
|
54
|
-
selector: '[brnOption]',
|
|
55
|
-
standalone: true,
|
|
56
|
-
host: {
|
|
57
|
-
role: 'option',
|
|
58
|
-
'[id]': 'id()',
|
|
59
|
-
'[attr.aria-selected]': 'selected()',
|
|
60
|
-
'[attr.aria-disabled]': '_disabled()',
|
|
61
|
-
'(click)': 'select()',
|
|
62
|
-
'[attr.dir]': '_select.dir()',
|
|
63
|
-
'[attr.data-active]': "_active() ? '' : undefined",
|
|
64
|
-
'[attr.data-disabled]': "_disabled() ? '' : undefined",
|
|
65
|
-
'(mouseenter)': 'activate()',
|
|
66
|
-
},
|
|
67
|
-
}]
|
|
68
|
-
}] });
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLXNlbGVjdC1vcHRpb24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9icmFpbi9zZWxlY3Qvc3JjL2xpYi9icm4tc2VsZWN0LW9wdGlvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUFFckQsSUFBSSxNQUFNLEdBQUcsQ0FBQyxDQUFDO0FBaUJmLE1BQU0sT0FBTyx3QkFBd0I7SUFDakIsT0FBTyxHQUFHLGVBQWUsRUFBRSxDQUFDO0lBQzVCLFFBQVEsR0FBRyxzQkFBc0IsRUFBSyxDQUFDO0lBQzFDLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDaEMsRUFBRSxHQUFHLEtBQUssQ0FBQyxjQUFjLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNyQyxLQUFLLEdBQUcsS0FBSyxFQUFLLENBQUM7SUFFbkMsNkZBQTZGO0lBQzdFLFNBQVMsR0FBRyxLQUFLLENBQXdCLEtBQUssRUFBRTtRQUMvRCxLQUFLLEVBQUUsVUFBVTtRQUNqQixTQUFTLEVBQUUsZ0JBQWdCO0tBQzNCLENBQUMsQ0FBQztJQUVILElBQVcsUUFBUTtRQUNsQixPQUFPLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRWUsUUFBUSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDNUYsT0FBTyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQixZQUFZLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDM0UsR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDO0lBRWhDLE1BQU07UUFDWixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDO1lBQ3RCLE9BQU87UUFDUixDQUFDO1FBRUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELHlGQUF5RjtJQUN6RixRQUFRO1FBQ1AsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDO0lBQ2hFLENBQUM7SUFFRCxlQUFlO1FBQ2QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFdkIsbURBQW1EO1FBQ25ELElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRCxpQkFBaUI7UUFDaEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVTLFFBQVE7UUFDakIsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQztZQUN0QixPQUFPO1FBQ1IsQ0FBQztRQUNELElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JDLENBQUM7MEhBbkRXLHdCQUF3Qjs4R0FBeEIsd0JBQXdCOzsyRkFBeEIsd0JBQXdCO2tCQWZwQyxTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSxhQUFhO29CQUN2QixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsSUFBSSxFQUFFO3dCQUNMLElBQUksRUFBRSxRQUFRO3dCQUNkLE1BQU0sRUFBRSxNQUFNO3dCQUNkLHNCQUFzQixFQUFFLFlBQVk7d0JBQ3BDLHNCQUFzQixFQUFFLGFBQWE7d0JBQ3JDLFNBQVMsRUFBRSxVQUFVO3dCQUNyQixZQUFZLEVBQUUsZUFBZTt3QkFDN0Isb0JBQW9CLEVBQUUsNEJBQTRCO3dCQUNsRCxzQkFBc0IsRUFBRSw4QkFBOEI7d0JBQ3RELGNBQWMsRUFBRSxZQUFZO3FCQUM1QjtpQkFDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgSGlnaGxpZ2h0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIGJvb2xlYW5BdHRyaWJ1dGUsIGNvbXB1dGVkLCBpbmplY3QsIGlucHV0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGluamVjdEJyblNlbGVjdENvbnRlbnQgfSBmcm9tICcuL2Jybi1zZWxlY3QtY29udGVudC50b2tlbic7XG5pbXBvcnQgeyBpbmplY3RCcm5TZWxlY3QgfSBmcm9tICcuL2Jybi1zZWxlY3QudG9rZW4nO1xuXG5sZXQgbmV4dElkID0gMDtcblxuQERpcmVjdGl2ZSh7XG5cdHNlbGVjdG9yOiAnW2Jybk9wdGlvbl0nLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHRob3N0OiB7XG5cdFx0cm9sZTogJ29wdGlvbicsXG5cdFx0J1tpZF0nOiAnaWQoKScsXG5cdFx0J1thdHRyLmFyaWEtc2VsZWN0ZWRdJzogJ3NlbGVjdGVkKCknLFxuXHRcdCdbYXR0ci5hcmlhLWRpc2FibGVkXSc6ICdfZGlzYWJsZWQoKScsXG5cdFx0JyhjbGljayknOiAnc2VsZWN0KCknLFxuXHRcdCdbYXR0ci5kaXJdJzogJ19zZWxlY3QuZGlyKCknLFxuXHRcdCdbYXR0ci5kYXRhLWFjdGl2ZV0nOiBcIl9hY3RpdmUoKSA/ICcnIDogdW5kZWZpbmVkXCIsXG5cdFx0J1thdHRyLmRhdGEtZGlzYWJsZWRdJzogXCJfZGlzYWJsZWQoKSA/ICcnIDogdW5kZWZpbmVkXCIsXG5cdFx0Jyhtb3VzZWVudGVyKSc6ICdhY3RpdmF0ZSgpJyxcblx0fSxcbn0pXG5leHBvcnQgY2xhc3MgQnJuU2VsZWN0T3B0aW9uRGlyZWN0aXZlPFQ+IGltcGxlbWVudHMgSGlnaGxpZ2h0YWJsZSB7XG5cdHByb3RlY3RlZCByZWFkb25seSBfc2VsZWN0ID0gaW5qZWN0QnJuU2VsZWN0KCk7XG5cdHByb3RlY3RlZCByZWFkb25seSBfY29udGVudCA9IGluamVjdEJyblNlbGVjdENvbnRlbnQ8VD4oKTtcblx0cHVibGljIHJlYWRvbmx5IGVsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XG5cdHB1YmxpYyByZWFkb25seSBpZCA9IGlucHV0KGBicm4tb3B0aW9uLSR7bmV4dElkKyt9YCk7XG5cdHB1YmxpYyByZWFkb25seSB2YWx1ZSA9IGlucHV0PFQ+KCk7XG5cblx0Ly8gd2UgdXNlIFwiX2Rpc2FibGVkXCIgaGVyZSBiZWNhdXNlIGRpc2FibGVkIGlzIGFscmVhZHkgZGVmaW5lZCBpbiB0aGUgSGlnaGxpZ2h0YWJsZSBpbnRlcmZhY2Vcblx0cHVibGljIHJlYWRvbmx5IF9kaXNhYmxlZCA9IGlucHV0PGJvb2xlYW4sIEJvb2xlYW5JbnB1dD4oZmFsc2UsIHtcblx0XHRhbGlhczogJ2Rpc2FibGVkJyxcblx0XHR0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUsXG5cdH0pO1xuXG5cdHB1YmxpYyBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRoaXMuX2Rpc2FibGVkKCk7XG5cdH1cblxuXHRwdWJsaWMgcmVhZG9ubHkgc2VsZWN0ZWQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnZhbHVlKCkgIT09IHVuZGVmaW5lZCAmJiB0aGlzLl9zZWxlY3QuaXNTZWxlY3RlZCh0aGlzLnZhbHVlKCkpKTtcblx0cHJvdGVjdGVkIHJlYWRvbmx5IF9hY3RpdmUgPSBzaWduYWwoZmFsc2UpO1xuXHRwdWJsaWMgcmVhZG9ubHkgY2hlY2tlZFN0YXRlID0gY29tcHV0ZWQoKCkgPT4gKHRoaXMuc2VsZWN0ZWQoKSA/ICdjaGVja2VkJyA6ICd1bmNoZWNrZWQnKSk7XG5cdHB1YmxpYyByZWFkb25seSBkaXIgPSB0aGlzLl9zZWxlY3QuZGlyO1xuXG5cdHB1YmxpYyBzZWxlY3QoKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMuX2Rpc2FibGVkKCkpIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHR0aGlzLl9zZWxlY3Quc2VsZWN0T3B0aW9uKHRoaXMudmFsdWUoKSk7XG5cdH1cblxuXHQvKiogR2V0IHRoZSBsYWJlbCBmb3IgdGhpcyBlbGVtZW50IHdoaWNoIGlzIHJlcXVpcmVkIGJ5IHRoZSBGb2N1c2FibGVPcHRpb24gaW50ZXJmYWNlLiAqL1xuXHRnZXRMYWJlbCgpOiBzdHJpbmcge1xuXHRcdHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC50ZXh0Q29udGVudD8udHJpbSgpID8/ICcnO1xuXHR9XG5cblx0c2V0QWN0aXZlU3R5bGVzKCk6IHZvaWQge1xuXHRcdHRoaXMuX2FjdGl2ZS5zZXQodHJ1ZSk7XG5cblx0XHQvLyBzY3JvbGwgdGhlIG9wdGlvbiBpbnRvIHZpZXcgaWYgaXQgaXMgbm90IHZpc2libGVcblx0XHR0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zY3JvbGxJbnRvVmlldyh7IGJsb2NrOiAnbmVhcmVzdCcgfSk7XG5cdH1cblxuXHRzZXRJbmFjdGl2ZVN0eWxlcygpOiB2b2lkIHtcblx0XHR0aGlzLl9hY3RpdmUuc2V0KGZhbHNlKTtcblx0fVxuXG5cdHByb3RlY3RlZCBhY3RpdmF0ZSgpOiB2b2lkIHtcblx0XHRpZiAodGhpcy5fZGlzYWJsZWQoKSkge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblx0XHR0aGlzLl9jb250ZW50LnNldEFjdGl2ZU9wdGlvbih0aGlzKTtcblx0fVxufVxuIl19
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { Directive, inject, TemplateRef } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class BrnSelectPlaceholderDirective {
|
|
4
|
-
/** @internale */
|
|
5
|
-
templateRef = inject(TemplateRef);
|
|
6
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnSelectPlaceholderDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
7
|
-
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.5", type: BrnSelectPlaceholderDirective, isStandalone: true, selector: "[brnSelectPlaceholder], [hlmSelectPlaceholder]", ngImport: i0 });
|
|
8
|
-
}
|
|
9
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnSelectPlaceholderDirective, decorators: [{
|
|
10
|
-
type: Directive,
|
|
11
|
-
args: [{
|
|
12
|
-
standalone: true,
|
|
13
|
-
selector: '[brnSelectPlaceholder], [hlmSelectPlaceholder]',
|
|
14
|
-
}]
|
|
15
|
-
}] });
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLXNlbGVjdC1wbGFjZWhvbGRlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2JyYWluL3NlbGVjdC9zcmMvbGliL2Jybi1zZWxlY3QtcGxhY2Vob2xkZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNL0QsTUFBTSxPQUFPLDZCQUE2QjtJQUN6QyxpQkFBaUI7SUFDRCxXQUFXLEdBQUcsTUFBTSxDQUFvQixXQUFXLENBQUMsQ0FBQzswSEFGekQsNkJBQTZCOzhHQUE3Qiw2QkFBNkI7OzJGQUE3Qiw2QkFBNkI7a0JBSnpDLFNBQVM7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxnREFBZ0Q7aUJBQzFEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBpbmplY3QsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHRzZWxlY3RvcjogJ1ticm5TZWxlY3RQbGFjZWhvbGRlcl0sIFtobG1TZWxlY3RQbGFjZWhvbGRlcl0nLFxufSlcbmV4cG9ydCBjbGFzcyBCcm5TZWxlY3RQbGFjZWhvbGRlckRpcmVjdGl2ZSB7XG5cdC8qKiBAaW50ZXJuYWxlICovXG5cdHB1YmxpYyByZWFkb25seSB0ZW1wbGF0ZVJlZiA9IGluamVjdDxUZW1wbGF0ZVJlZjx2b2lkPj4oVGVtcGxhdGVSZWYpO1xufVxuIl19
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import { isPlatformBrowser } from '@angular/common';
|
|
2
|
-
import { Directive, ElementRef, PLATFORM_ID, computed, inject } from '@angular/core';
|
|
3
|
-
import { NgControl } from '@angular/forms';
|
|
4
|
-
import { injectBrnSelect } from './brn-select.token';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export class BrnSelectTriggerDirective {
|
|
7
|
-
_elementRef = inject(ElementRef);
|
|
8
|
-
_select = injectBrnSelect();
|
|
9
|
-
_ngControl = inject(NgControl, { optional: true });
|
|
10
|
-
_platform = inject(PLATFORM_ID);
|
|
11
|
-
_triggerId = computed(() => `${this._select.id()}--trigger`);
|
|
12
|
-
_contentId = computed(() => `${this._select.id()}--content`);
|
|
13
|
-
_disabled = computed(() => this._select.disabled() || this._select._formDisabled());
|
|
14
|
-
_labelledBy = computed(() => {
|
|
15
|
-
const value = this._select.value();
|
|
16
|
-
if (Array.isArray(value) && value.length > 0) {
|
|
17
|
-
return `${this._select.labelId()} ${this._select.id()}--value`;
|
|
18
|
-
}
|
|
19
|
-
return this._select.labelId();
|
|
20
|
-
});
|
|
21
|
-
_resizeObserver;
|
|
22
|
-
constructor() {
|
|
23
|
-
this._select.trigger.set(this);
|
|
24
|
-
}
|
|
25
|
-
ngAfterViewInit() {
|
|
26
|
-
this._select.triggerWidth.set(this._elementRef.nativeElement.offsetWidth);
|
|
27
|
-
// if we are on the client, listen for element resize events
|
|
28
|
-
if (isPlatformBrowser(this._platform)) {
|
|
29
|
-
this._resizeObserver = new ResizeObserver(() => this._select.triggerWidth.set(this._elementRef.nativeElement.offsetWidth));
|
|
30
|
-
this._resizeObserver.observe(this._elementRef.nativeElement);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
ngOnDestroy() {
|
|
34
|
-
this._resizeObserver?.disconnect();
|
|
35
|
-
}
|
|
36
|
-
focus() {
|
|
37
|
-
this._elementRef.nativeElement.focus();
|
|
38
|
-
}
|
|
39
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnSelectTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
40
|
-
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.5", type: BrnSelectTriggerDirective, isStandalone: true, selector: "[brnSelectTrigger]", host: { attributes: { "type": "button", "role": "combobox", "aria-autocomplete": "none" }, listeners: { "keydown.ArrowDown": "_select.show()" }, properties: { "attr.id": "_triggerId()", "disabled": "_disabled()", "attr.aria-expanded": "_select.open()", "attr.aria-controls": "_contentId()", "attr.aria-labelledBy": "_labelledBy()", "attr.dir": "_select.dir()", "class.ng-invalid": "_ngControl?.invalid || null", "class.ng-dirty": "_ngControl?.dirty || null", "class.ng-valid": "_ngControl?.valid || null", "class.ng-touched": "_ngControl?.touched || null", "class.ng-untouched": "_ngControl?.untouched || null", "class.ng-pristine": "_ngControl?.pristine || null" } }, ngImport: i0 });
|
|
41
|
-
}
|
|
42
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnSelectTriggerDirective, decorators: [{
|
|
43
|
-
type: Directive,
|
|
44
|
-
args: [{
|
|
45
|
-
selector: '[brnSelectTrigger]',
|
|
46
|
-
standalone: true,
|
|
47
|
-
host: {
|
|
48
|
-
type: 'button',
|
|
49
|
-
role: 'combobox',
|
|
50
|
-
'[attr.id]': '_triggerId()',
|
|
51
|
-
'[disabled]': '_disabled()',
|
|
52
|
-
'[attr.aria-expanded]': '_select.open()',
|
|
53
|
-
'[attr.aria-controls]': '_contentId()',
|
|
54
|
-
'[attr.aria-labelledBy]': '_labelledBy()',
|
|
55
|
-
'aria-autocomplete': 'none',
|
|
56
|
-
'[attr.dir]': '_select.dir()',
|
|
57
|
-
'[class.ng-invalid]': '_ngControl?.invalid || null',
|
|
58
|
-
'[class.ng-dirty]': '_ngControl?.dirty || null',
|
|
59
|
-
'[class.ng-valid]': '_ngControl?.valid || null',
|
|
60
|
-
'[class.ng-touched]': '_ngControl?.touched || null',
|
|
61
|
-
'[class.ng-untouched]': '_ngControl?.untouched || null',
|
|
62
|
-
'[class.ng-pristine]': '_ngControl?.pristine || null',
|
|
63
|
-
'(keydown.ArrowDown)': '_select.show()',
|
|
64
|
-
},
|
|
65
|
-
}]
|
|
66
|
-
}], ctorParameters: () => [] });
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLXNlbGVjdC10cmlnZ2VyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYnJhaW4vc2VsZWN0L3NyYy9saWIvYnJuLXNlbGVjdC10cmlnZ2VyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRCxPQUFPLEVBQXNCLFNBQVMsRUFBRSxVQUFVLEVBQWEsV0FBVyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEgsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUF3QnJELE1BQU0sT0FBTyx5QkFBeUI7SUFDcEIsV0FBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMvQixPQUFPLEdBQUcsZUFBZSxFQUFLLENBQUM7SUFDL0IsVUFBVSxHQUFHLE1BQU0sQ0FBQyxTQUFTLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNyRCxTQUFTLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzlCLFVBQVUsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUM3RCxVQUFVLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDN0QsU0FBUyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztJQUNwRixXQUFXLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtRQUM5QyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBRW5DLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzlDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLFNBQVMsQ0FBQztRQUNoRSxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQy9CLENBQUMsQ0FBQyxDQUFDO0lBRUssZUFBZSxDQUFrQjtJQUV6QztRQUNDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsZUFBZTtRQUNkLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUUxRSw0REFBNEQ7UUFDNUQsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUN2QyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksY0FBYyxDQUFDLEdBQUcsRUFBRSxDQUM5QyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLENBQ3pFLENBQUM7WUFFRixJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzlELENBQUM7SUFDRixDQUFDO0lBRUQsV0FBVztRQUNWLElBQUksQ0FBQyxlQUFlLEVBQUUsVUFBVSxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVELEtBQUs7UUFDSixJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN4QyxDQUFDOzBIQTFDVyx5QkFBeUI7OEdBQXpCLHlCQUF5Qjs7MkZBQXpCLHlCQUF5QjtrQkF0QnJDLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLElBQUksRUFBRTt3QkFDTCxJQUFJLEVBQUUsUUFBUTt3QkFDZCxJQUFJLEVBQUUsVUFBVTt3QkFDaEIsV0FBVyxFQUFFLGNBQWM7d0JBQzNCLFlBQVksRUFBRSxhQUFhO3dCQUMzQixzQkFBc0IsRUFBRSxnQkFBZ0I7d0JBQ3hDLHNCQUFzQixFQUFFLGNBQWM7d0JBQ3RDLHdCQUF3QixFQUFFLGVBQWU7d0JBQ3pDLG1CQUFtQixFQUFFLE1BQU07d0JBQzNCLFlBQVksRUFBRSxlQUFlO3dCQUM3QixvQkFBb0IsRUFBRSw2QkFBNkI7d0JBQ25ELGtCQUFrQixFQUFFLDJCQUEyQjt3QkFDL0Msa0JBQWtCLEVBQUUsMkJBQTJCO3dCQUMvQyxvQkFBb0IsRUFBRSw2QkFBNkI7d0JBQ25ELHNCQUFzQixFQUFFLCtCQUErQjt3QkFDdkQscUJBQXFCLEVBQUUsOEJBQThCO3dCQUNyRCxxQkFBcUIsRUFBRSxnQkFBZ0I7cUJBQ3ZDO2lCQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgdHlwZSBBZnRlclZpZXdJbml0LCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIE9uRGVzdHJveSwgUExBVEZPUk1fSUQsIGNvbXB1dGVkLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGluamVjdEJyblNlbGVjdCB9IGZyb20gJy4vYnJuLXNlbGVjdC50b2tlbic7XG5cbkBEaXJlY3RpdmUoe1xuXHRzZWxlY3RvcjogJ1ticm5TZWxlY3RUcmlnZ2VyXScsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdGhvc3Q6IHtcblx0XHR0eXBlOiAnYnV0dG9uJyxcblx0XHRyb2xlOiAnY29tYm9ib3gnLFxuXHRcdCdbYXR0ci5pZF0nOiAnX3RyaWdnZXJJZCgpJyxcblx0XHQnW2Rpc2FibGVkXSc6ICdfZGlzYWJsZWQoKScsXG5cdFx0J1thdHRyLmFyaWEtZXhwYW5kZWRdJzogJ19zZWxlY3Qub3BlbigpJyxcblx0XHQnW2F0dHIuYXJpYS1jb250cm9sc10nOiAnX2NvbnRlbnRJZCgpJyxcblx0XHQnW2F0dHIuYXJpYS1sYWJlbGxlZEJ5XSc6ICdfbGFiZWxsZWRCeSgpJyxcblx0XHQnYXJpYS1hdXRvY29tcGxldGUnOiAnbm9uZScsXG5cdFx0J1thdHRyLmRpcl0nOiAnX3NlbGVjdC5kaXIoKScsXG5cdFx0J1tjbGFzcy5uZy1pbnZhbGlkXSc6ICdfbmdDb250cm9sPy5pbnZhbGlkIHx8IG51bGwnLFxuXHRcdCdbY2xhc3MubmctZGlydHldJzogJ19uZ0NvbnRyb2w/LmRpcnR5IHx8IG51bGwnLFxuXHRcdCdbY2xhc3MubmctdmFsaWRdJzogJ19uZ0NvbnRyb2w/LnZhbGlkIHx8IG51bGwnLFxuXHRcdCdbY2xhc3MubmctdG91Y2hlZF0nOiAnX25nQ29udHJvbD8udG91Y2hlZCB8fCBudWxsJyxcblx0XHQnW2NsYXNzLm5nLXVudG91Y2hlZF0nOiAnX25nQ29udHJvbD8udW50b3VjaGVkIHx8IG51bGwnLFxuXHRcdCdbY2xhc3MubmctcHJpc3RpbmVdJzogJ19uZ0NvbnRyb2w/LnByaXN0aW5lIHx8IG51bGwnLFxuXHRcdCcoa2V5ZG93bi5BcnJvd0Rvd24pJzogJ19zZWxlY3Quc2hvdygpJyxcblx0fSxcbn0pXG5leHBvcnQgY2xhc3MgQnJuU2VsZWN0VHJpZ2dlckRpcmVjdGl2ZTxUPiBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG5cdHByaXZhdGUgcmVhZG9ubHkgX2VsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XG5cdHByb3RlY3RlZCByZWFkb25seSBfc2VsZWN0ID0gaW5qZWN0QnJuU2VsZWN0PFQ+KCk7XG5cdHByb3RlY3RlZCByZWFkb25seSBfbmdDb250cm9sID0gaW5qZWN0KE5nQ29udHJvbCwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcblx0cHJpdmF0ZSByZWFkb25seSBfcGxhdGZvcm0gPSBpbmplY3QoUExBVEZPUk1fSUQpO1xuXHRwcm90ZWN0ZWQgcmVhZG9ubHkgX3RyaWdnZXJJZCA9IGNvbXB1dGVkKCgpID0+IGAke3RoaXMuX3NlbGVjdC5pZCgpfS0tdHJpZ2dlcmApO1xuXHRwcm90ZWN0ZWQgcmVhZG9ubHkgX2NvbnRlbnRJZCA9IGNvbXB1dGVkKCgpID0+IGAke3RoaXMuX3NlbGVjdC5pZCgpfS0tY29udGVudGApO1xuXHRwcm90ZWN0ZWQgcmVhZG9ubHkgX2Rpc2FibGVkID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5fc2VsZWN0LmRpc2FibGVkKCkgfHwgdGhpcy5fc2VsZWN0Ll9mb3JtRGlzYWJsZWQoKSk7XG5cdHByb3RlY3RlZCByZWFkb25seSBfbGFiZWxsZWRCeSA9IGNvbXB1dGVkKCgpID0+IHtcblx0XHRjb25zdCB2YWx1ZSA9IHRoaXMuX3NlbGVjdC52YWx1ZSgpO1xuXG5cdFx0aWYgKEFycmF5LmlzQXJyYXkodmFsdWUpICYmIHZhbHVlLmxlbmd0aCA+IDApIHtcblx0XHRcdHJldHVybiBgJHt0aGlzLl9zZWxlY3QubGFiZWxJZCgpfSAke3RoaXMuX3NlbGVjdC5pZCgpfS0tdmFsdWVgO1xuXHRcdH1cblx0XHRyZXR1cm4gdGhpcy5fc2VsZWN0LmxhYmVsSWQoKTtcblx0fSk7XG5cblx0cHJpdmF0ZSBfcmVzaXplT2JzZXJ2ZXI/OiBSZXNpemVPYnNlcnZlcjtcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHR0aGlzLl9zZWxlY3QudHJpZ2dlci5zZXQodGhpcyk7XG5cdH1cblxuXHRuZ0FmdGVyVmlld0luaXQoKSB7XG5cdFx0dGhpcy5fc2VsZWN0LnRyaWdnZXJXaWR0aC5zZXQodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoKTtcblxuXHRcdC8vIGlmIHdlIGFyZSBvbiB0aGUgY2xpZW50LCBsaXN0ZW4gZm9yIGVsZW1lbnQgcmVzaXplIGV2ZW50c1xuXHRcdGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLl9wbGF0Zm9ybSkpIHtcblx0XHRcdHRoaXMuX3Jlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKCgpID0+XG5cdFx0XHRcdHRoaXMuX3NlbGVjdC50cmlnZ2VyV2lkdGguc2V0KHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCksXG5cdFx0XHQpO1xuXG5cdFx0XHR0aGlzLl9yZXNpemVPYnNlcnZlci5vYnNlcnZlKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG5cdFx0fVxuXHR9XG5cblx0bmdPbkRlc3Ryb3koKTogdm9pZCB7XG5cdFx0dGhpcy5fcmVzaXplT2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTtcblx0fVxuXG5cdGZvY3VzKCk6IHZvaWQge1xuXHRcdHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuXHR9XG59XG4iXX0=
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import { NgTemplateOutlet } from '@angular/common';
|
|
2
|
-
import { ChangeDetectionStrategy, Component, computed, contentChild, input } from '@angular/core';
|
|
3
|
-
import { BrnSelectPlaceholderDirective } from './brn-select-placeholder.directive';
|
|
4
|
-
import { BrnSelectValueDirective } from './brn-select-value.directive';
|
|
5
|
-
import { injectBrnSelect } from './brn-select.token';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
export class BrnSelectValueComponent {
|
|
8
|
-
_select = injectBrnSelect();
|
|
9
|
-
id = computed(() => `${this._select.id()}--value`);
|
|
10
|
-
placeholder = computed(() => this._select.placeholder());
|
|
11
|
-
_showPlaceholder = computed(() => this.value() === null || this.value() === undefined || this.value() === '');
|
|
12
|
-
/** Allow a custom value template */
|
|
13
|
-
customValueTemplate = contentChild(BrnSelectValueDirective, { descendants: true });
|
|
14
|
-
customPlaceholderTemplate = contentChild(BrnSelectPlaceholderDirective, { descendants: true });
|
|
15
|
-
value = computed(() => {
|
|
16
|
-
const value = this._values();
|
|
17
|
-
if (value.length === 0) {
|
|
18
|
-
return null;
|
|
19
|
-
}
|
|
20
|
-
// remove any selected values that are not in the options list
|
|
21
|
-
const existingOptions = value.filter((val) => this._select.options().some((option) => this._select.compareWith()(option.value(), val)));
|
|
22
|
-
const selectedOption = existingOptions.map((val) => this._select.options().find((option) => this._select.compareWith()(option.value(), val)));
|
|
23
|
-
if (selectedOption.length === 0) {
|
|
24
|
-
return null;
|
|
25
|
-
}
|
|
26
|
-
const selectedLabels = selectedOption.map((option) => option?.getLabel());
|
|
27
|
-
if (this._select.dir() === 'rtl') {
|
|
28
|
-
selectedLabels.reverse();
|
|
29
|
-
}
|
|
30
|
-
return this.transformFn()(selectedLabels);
|
|
31
|
-
});
|
|
32
|
-
/** Normalize the values as an array */
|
|
33
|
-
_values = computed(() => Array.isArray(this._select.value()) ? this._select.value() : [this._select.value()]);
|
|
34
|
-
transformFn = input((values) => (values ?? []).join(', '));
|
|
35
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnSelectValueComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
36
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.5", type: BrnSelectValueComponent, isStandalone: true, selector: "brn-select-value, hlm-select-value", inputs: { transformFn: { classPropertyName: "transformFn", publicName: "transformFn", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "id": "id()" } }, queries: [{ propertyName: "customValueTemplate", first: true, predicate: BrnSelectValueDirective, descendants: true, isSignal: true }, { propertyName: "customPlaceholderTemplate", first: true, predicate: BrnSelectPlaceholderDirective, descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
37
|
-
@if (_showPlaceholder()) {
|
|
38
|
-
<ng-container [ngTemplateOutlet]="customPlaceholderTemplate()?.templateRef ?? defaultPlaceholderTemplate" />
|
|
39
|
-
} @else {
|
|
40
|
-
<ng-container
|
|
41
|
-
[ngTemplateOutlet]="customValueTemplate()?.templateRef ?? defaultValueTemplate"
|
|
42
|
-
[ngTemplateOutletContext]="{ $implicit: _select.value() }"
|
|
43
|
-
/>
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
<ng-template #defaultValueTemplate>{{ value() }}</ng-template>
|
|
47
|
-
<ng-template #defaultPlaceholderTemplate>{{ placeholder() }}</ng-template>
|
|
48
|
-
`, isInline: true, styles: [":host{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;white-space:nowrap;pointer-events:none}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
49
|
-
}
|
|
50
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnSelectValueComponent, decorators: [{
|
|
51
|
-
type: Component,
|
|
52
|
-
args: [{ selector: 'brn-select-value, hlm-select-value', imports: [NgTemplateOutlet], template: `
|
|
53
|
-
@if (_showPlaceholder()) {
|
|
54
|
-
<ng-container [ngTemplateOutlet]="customPlaceholderTemplate()?.templateRef ?? defaultPlaceholderTemplate" />
|
|
55
|
-
} @else {
|
|
56
|
-
<ng-container
|
|
57
|
-
[ngTemplateOutlet]="customValueTemplate()?.templateRef ?? defaultValueTemplate"
|
|
58
|
-
[ngTemplateOutletContext]="{ $implicit: _select.value() }"
|
|
59
|
-
/>
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
<ng-template #defaultValueTemplate>{{ value() }}</ng-template>
|
|
63
|
-
<ng-template #defaultPlaceholderTemplate>{{ placeholder() }}</ng-template>
|
|
64
|
-
`, host: {
|
|
65
|
-
'[id]': 'id()',
|
|
66
|
-
}, standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;white-space:nowrap;pointer-events:none}\n"] }]
|
|
67
|
-
}] });
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLXNlbGVjdC12YWx1ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2JyYWluL3NlbGVjdC9zcmMvbGliL2Jybi1zZWxlY3QtdmFsdWUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEcsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDbkYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQW1DckQsTUFBTSxPQUFPLHVCQUF1QjtJQUNoQixPQUFPLEdBQUcsZUFBZSxFQUFLLENBQUM7SUFDbEMsRUFBRSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ25ELFdBQVcsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBRXRELGdCQUFnQixHQUFHLFFBQVEsQ0FDN0MsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLElBQUksSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLENBQ2hGLENBQUM7SUFFRixvQ0FBb0M7SUFDakIsbUJBQW1CLEdBQUcsWUFBWSxDQUFDLHVCQUF1QixFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDbkYseUJBQXlCLEdBQUcsWUFBWSxDQUFDLDZCQUE2QixFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFFL0YsS0FBSyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7UUFDeEMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRTdCLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN4QixPQUFPLElBQUksQ0FBQztRQUNiLENBQUM7UUFFRCw4REFBOEQ7UUFDOUQsTUFBTSxlQUFlLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQzVDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUN4RixDQUFDO1FBQ0YsTUFBTSxjQUFjLEdBQUcsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQ2xELElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUN4RixDQUFDO1FBRUYsSUFBSSxjQUFjLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ2pDLE9BQU8sSUFBSSxDQUFDO1FBQ2IsQ0FBQztRQUVELE1BQU0sY0FBYyxHQUFHLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBRTFFLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUNsQyxjQUFjLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDMUIsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzNDLENBQUMsQ0FBQyxDQUFDO0lBRUgsdUNBQXVDO0lBQ3BCLE9BQU8sR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQzFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBVSxDQUFDLENBQUMsQ0FBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQVMsQ0FDckcsQ0FBQztJQUVjLFdBQVcsR0FBRyxLQUFLLENBQTBDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQzswSEE3Q3hHLHVCQUF1Qjs4R0FBdkIsdUJBQXVCLDZVQVVtQix1QkFBdUIsNEdBQ2pCLDZCQUE2QixnRUF6Qy9FOzs7Ozs7Ozs7Ozs7RUFZVCw4TEFiUyxnQkFBZ0I7OzJGQStCZCx1QkFBdUI7a0JBakNuQyxTQUFTOytCQUNDLG9DQUFvQyxXQUNyQyxDQUFDLGdCQUFnQixDQUFDLFlBQ2pCOzs7Ozs7Ozs7Ozs7RUFZVCxRQUNLO3dCQUNMLE1BQU0sRUFBRSxNQUFNO3FCQUNkLGNBWVcsSUFBSSxtQkFDQyx1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBjb21wdXRlZCwgY29udGVudENoaWxkLCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQnJuU2VsZWN0UGxhY2Vob2xkZXJEaXJlY3RpdmUgfSBmcm9tICcuL2Jybi1zZWxlY3QtcGxhY2Vob2xkZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IEJyblNlbGVjdFZhbHVlRGlyZWN0aXZlIH0gZnJvbSAnLi9icm4tc2VsZWN0LXZhbHVlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBpbmplY3RCcm5TZWxlY3QgfSBmcm9tICcuL2Jybi1zZWxlY3QudG9rZW4nO1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICdicm4tc2VsZWN0LXZhbHVlLCBobG0tc2VsZWN0LXZhbHVlJyxcblx0aW1wb3J0czogW05nVGVtcGxhdGVPdXRsZXRdLFxuXHR0ZW1wbGF0ZTogYFxuXHRcdEBpZiAoX3Nob3dQbGFjZWhvbGRlcigpKSB7XG5cdFx0XHQ8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImN1c3RvbVBsYWNlaG9sZGVyVGVtcGxhdGUoKT8udGVtcGxhdGVSZWYgPz8gZGVmYXVsdFBsYWNlaG9sZGVyVGVtcGxhdGVcIiAvPlxuXHRcdH0gQGVsc2Uge1xuXHRcdFx0PG5nLWNvbnRhaW5lclxuXHRcdFx0XHRbbmdUZW1wbGF0ZU91dGxldF09XCJjdXN0b21WYWx1ZVRlbXBsYXRlKCk/LnRlbXBsYXRlUmVmID8/IGRlZmF1bHRWYWx1ZVRlbXBsYXRlXCJcblx0XHRcdFx0W25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBfc2VsZWN0LnZhbHVlKCkgfVwiXG5cdFx0XHQvPlxuXHRcdH1cblxuXHRcdDxuZy10ZW1wbGF0ZSAjZGVmYXVsdFZhbHVlVGVtcGxhdGU+e3sgdmFsdWUoKSB9fTwvbmctdGVtcGxhdGU+XG5cdFx0PG5nLXRlbXBsYXRlICNkZWZhdWx0UGxhY2Vob2xkZXJUZW1wbGF0ZT57eyBwbGFjZWhvbGRlcigpIH19PC9uZy10ZW1wbGF0ZT5cblx0YCxcblx0aG9zdDoge1xuXHRcdCdbaWRdJzogJ2lkKCknLFxuXHR9LFxuXHRzdHlsZXM6IFtcblx0XHRgXG5cdFx0XHQ6aG9zdCB7XG5cdFx0XHRcdGRpc3BsYXk6IC13ZWJraXQtYm94O1xuXHRcdFx0XHQtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuXHRcdFx0XHQtd2Via2l0LWxpbmUtY2xhbXA6IDE7XG5cdFx0XHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdFx0XHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdFx0fVxuXHRcdGAsXG5cdF0sXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBCcm5TZWxlY3RWYWx1ZUNvbXBvbmVudDxUPiB7XG5cdHByb3RlY3RlZCByZWFkb25seSBfc2VsZWN0ID0gaW5qZWN0QnJuU2VsZWN0PFQ+KCk7XG5cdHB1YmxpYyByZWFkb25seSBpZCA9IGNvbXB1dGVkKCgpID0+IGAke3RoaXMuX3NlbGVjdC5pZCgpfS0tdmFsdWVgKTtcblx0cHVibGljIHJlYWRvbmx5IHBsYWNlaG9sZGVyID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5fc2VsZWN0LnBsYWNlaG9sZGVyKCkpO1xuXG5cdHByb3RlY3RlZCByZWFkb25seSBfc2hvd1BsYWNlaG9sZGVyID0gY29tcHV0ZWQoXG5cdFx0KCkgPT4gdGhpcy52YWx1ZSgpID09PSBudWxsIHx8IHRoaXMudmFsdWUoKSA9PT0gdW5kZWZpbmVkIHx8IHRoaXMudmFsdWUoKSA9PT0gJycsXG5cdCk7XG5cblx0LyoqIEFsbG93IGEgY3VzdG9tIHZhbHVlIHRlbXBsYXRlICovXG5cdHByb3RlY3RlZCByZWFkb25seSBjdXN0b21WYWx1ZVRlbXBsYXRlID0gY29udGVudENoaWxkKEJyblNlbGVjdFZhbHVlRGlyZWN0aXZlLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pO1xuXHRwcm90ZWN0ZWQgcmVhZG9ubHkgY3VzdG9tUGxhY2Vob2xkZXJUZW1wbGF0ZSA9IGNvbnRlbnRDaGlsZChCcm5TZWxlY3RQbGFjZWhvbGRlckRpcmVjdGl2ZSwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KTtcblxuXHRwcm90ZWN0ZWQgcmVhZG9ubHkgdmFsdWUgPSBjb21wdXRlZCgoKSA9PiB7XG5cdFx0Y29uc3QgdmFsdWUgPSB0aGlzLl92YWx1ZXMoKTtcblxuXHRcdGlmICh2YWx1ZS5sZW5ndGggPT09IDApIHtcblx0XHRcdHJldHVybiBudWxsO1xuXHRcdH1cblxuXHRcdC8vIHJlbW92ZSBhbnkgc2VsZWN0ZWQgdmFsdWVzIHRoYXQgYXJlIG5vdCBpbiB0aGUgb3B0aW9ucyBsaXN0XG5cdFx0Y29uc3QgZXhpc3RpbmdPcHRpb25zID0gdmFsdWUuZmlsdGVyKCh2YWwpID0+XG5cdFx0XHR0aGlzLl9zZWxlY3Qub3B0aW9ucygpLnNvbWUoKG9wdGlvbikgPT4gdGhpcy5fc2VsZWN0LmNvbXBhcmVXaXRoKCkob3B0aW9uLnZhbHVlKCksIHZhbCkpLFxuXHRcdCk7XG5cdFx0Y29uc3Qgc2VsZWN0ZWRPcHRpb24gPSBleGlzdGluZ09wdGlvbnMubWFwKCh2YWwpID0+XG5cdFx0XHR0aGlzLl9zZWxlY3Qub3B0aW9ucygpLmZpbmQoKG9wdGlvbikgPT4gdGhpcy5fc2VsZWN0LmNvbXBhcmVXaXRoKCkob3B0aW9uLnZhbHVlKCksIHZhbCkpLFxuXHRcdCk7XG5cblx0XHRpZiAoc2VsZWN0ZWRPcHRpb24ubGVuZ3RoID09PSAwKSB7XG5cdFx0XHRyZXR1cm4gbnVsbDtcblx0XHR9XG5cblx0XHRjb25zdCBzZWxlY3RlZExhYmVscyA9IHNlbGVjdGVkT3B0aW9uLm1hcCgob3B0aW9uKSA9PiBvcHRpb24/LmdldExhYmVsKCkpO1xuXG5cdFx0aWYgKHRoaXMuX3NlbGVjdC5kaXIoKSA9PT0gJ3J0bCcpIHtcblx0XHRcdHNlbGVjdGVkTGFiZWxzLnJldmVyc2UoKTtcblx0XHR9XG5cdFx0cmV0dXJuIHRoaXMudHJhbnNmb3JtRm4oKShzZWxlY3RlZExhYmVscyk7XG5cdH0pO1xuXG5cdC8qKiBOb3JtYWxpemUgdGhlIHZhbHVlcyBhcyBhbiBhcnJheSAqL1xuXHRwcm90ZWN0ZWQgcmVhZG9ubHkgX3ZhbHVlcyA9IGNvbXB1dGVkKCgpID0+XG5cdFx0QXJyYXkuaXNBcnJheSh0aGlzLl9zZWxlY3QudmFsdWUoKSkgPyAodGhpcy5fc2VsZWN0LnZhbHVlKCkgYXMgVFtdKSA6IChbdGhpcy5fc2VsZWN0LnZhbHVlKCldIGFzIFRbXSksXG5cdCk7XG5cblx0cHVibGljIHJlYWRvbmx5IHRyYW5zZm9ybUZuID0gaW5wdXQ8KHZhbHVlczogKHN0cmluZyB8IHVuZGVmaW5lZClbXSkgPT4gYW55PigodmFsdWVzKSA9PiAodmFsdWVzID8/IFtdKS5qb2luKCcsICcpKTtcbn1cbiJdfQ==
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { Directive, inject, TemplateRef } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class BrnSelectValueDirective {
|
|
4
|
-
/** @internale */
|
|
5
|
-
templateRef = inject(TemplateRef);
|
|
6
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnSelectValueDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
7
|
-
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.5", type: BrnSelectValueDirective, isStandalone: true, selector: "[brnSelectValue], [hlmSelectValue]", ngImport: i0 });
|
|
8
|
-
}
|
|
9
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnSelectValueDirective, decorators: [{
|
|
10
|
-
type: Directive,
|
|
11
|
-
args: [{
|
|
12
|
-
standalone: true,
|
|
13
|
-
selector: '[brnSelectValue], [hlmSelectValue]',
|
|
14
|
-
}]
|
|
15
|
-
}] });
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLXNlbGVjdC12YWx1ZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2JyYWluL3NlbGVjdC9zcmMvbGliL2Jybi1zZWxlY3QtdmFsdWUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNL0QsTUFBTSxPQUFPLHVCQUF1QjtJQUNuQyxpQkFBaUI7SUFDRCxXQUFXLEdBQUcsTUFBTSxDQUF3QyxXQUFXLENBQUMsQ0FBQzswSEFGN0UsdUJBQXVCOzhHQUF2Qix1QkFBdUI7OzJGQUF2Qix1QkFBdUI7a0JBSm5DLFNBQVM7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxvQ0FBb0M7aUJBQzlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBpbmplY3QsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHRzZWxlY3RvcjogJ1ticm5TZWxlY3RWYWx1ZV0sIFtobG1TZWxlY3RWYWx1ZV0nLFxufSlcbmV4cG9ydCBjbGFzcyBCcm5TZWxlY3RWYWx1ZURpcmVjdGl2ZTxUPiB7XG5cdC8qKiBAaW50ZXJuYWxlICovXG5cdHB1YmxpYyByZWFkb25seSB0ZW1wbGF0ZVJlZiA9IGluamVjdDxUZW1wbGF0ZVJlZjxCcm5TZWxlY3RWYWx1ZUNvbnRleHQ8VD4+PihUZW1wbGF0ZVJlZik7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnJuU2VsZWN0VmFsdWVDb250ZXh0PFQ+IHtcblx0JGltcGxpY2l0OiBUIHwgVFtdO1xufVxuIl19
|