ng-primitives 0.0.7 → 0.2.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/README.md +14 -4
- package/accordion/accordion-trigger/accordion-trigger.directive.d.ts +2 -1
- package/autofill/README.md +3 -0
- package/autofill/autofill/autofill.directive.d.ts +19 -0
- package/{select/select-button/select-button.token.d.ts → autofill/autofill/autofill.token.d.ts} +4 -4
- package/autofill/index.d.ts +9 -0
- package/avatar/avatar/avatar.directive.d.ts +2 -1
- package/button/README.md +3 -0
- package/button/button/button.directive.d.ts +27 -0
- package/{select/select-option/select-option.token.d.ts → button/button/button.token.d.ts} +4 -4
- package/button/index.d.ts +9 -0
- package/checkbox/checkbox/checkbox.directive.d.ts +11 -61
- package/checkbox/index.d.ts +0 -4
- package/esm2022/a11y/visually-hidden/visually-hidden.directive.mjs +3 -3
- package/esm2022/accordion/accordion/accordion.directive.mjs +5 -4
- package/esm2022/accordion/accordion-content/accordion-content.directive.mjs +5 -6
- package/esm2022/accordion/accordion-item/accordion-item.directive.mjs +5 -5
- package/esm2022/accordion/accordion-trigger/accordion-trigger.directive.mjs +8 -5
- package/esm2022/autofill/autofill/autofill.directive.mjs +71 -0
- package/esm2022/autofill/autofill/autofill.token.mjs +16 -0
- package/esm2022/autofill/index.mjs +10 -0
- package/esm2022/autofill/ng-primitives-autofill.mjs +5 -0
- package/esm2022/avatar/avatar/avatar.directive.mjs +7 -4
- package/esm2022/avatar/avatar-fallback/avatar-fallback.directive.mjs +3 -3
- package/esm2022/avatar/avatar-image/avatar-image.directive.mjs +3 -3
- package/esm2022/button/button/button.directive.mjs +47 -0
- package/esm2022/button/button/button.token.mjs +16 -0
- package/esm2022/button/index.mjs +10 -0
- package/esm2022/button/ng-primitives-button.mjs +5 -0
- package/esm2022/checkbox/checkbox/checkbox.directive.mjs +29 -79
- package/esm2022/checkbox/index.mjs +1 -5
- package/esm2022/file-upload/file-upload/file-upload.directive.mjs +7 -4
- package/esm2022/focus-trap/focus-trap/focus-trap.directive.mjs +262 -0
- package/esm2022/focus-trap/focus-trap/focus-trap.token.mjs +16 -0
- package/esm2022/focus-trap/index.mjs +10 -0
- package/esm2022/focus-trap/ng-primitives-focus-trap.mjs +5 -0
- package/esm2022/form-field/description/description.directive.mjs +14 -14
- package/esm2022/form-field/error/error.directive.mjs +27 -29
- package/esm2022/form-field/form-control/form-control.directive.mjs +22 -16
- package/esm2022/form-field/form-field/form-field.directive.mjs +3 -3
- package/esm2022/form-field/form-field/form-field.token.mjs +3 -7
- package/esm2022/form-field/label/label.directive.mjs +56 -17
- package/esm2022/input/index.mjs +10 -0
- package/esm2022/input/input/input.directive.mjs +55 -0
- package/esm2022/input/input/input.token.mjs +16 -0
- package/esm2022/input/ng-primitives-input.mjs +5 -0
- package/esm2022/interactions/focus/focus.directive.mjs +15 -10
- package/esm2022/interactions/focus-visible/focus-visible.directive.mjs +12 -7
- package/esm2022/interactions/hover/hover.directive.mjs +16 -11
- package/esm2022/interactions/index.mjs +5 -1
- package/esm2022/interactions/move/move.directive.mjs +216 -0
- package/esm2022/interactions/move/move.token.mjs +16 -0
- package/esm2022/interactions/press/press.directive.mjs +118 -0
- package/esm2022/interactions/press/press.token.mjs +16 -0
- package/esm2022/internal/disabled/disabled.mjs +19 -0
- package/esm2022/internal/index.mjs +11 -0
- package/esm2022/internal/ng-primitives-internal.mjs +5 -0
- package/esm2022/internal/orientation/orientation.mjs +19 -0
- package/esm2022/internal/style-injector/style-injector.mjs +81 -0
- package/esm2022/progress/progress/progress.directive.mjs +3 -3
- package/esm2022/progress/progress-indicator/progress-indicator.directive.mjs +3 -3
- package/esm2022/radio/radio-group/radio-group.directive.mjs +14 -54
- package/esm2022/radio/radio-indicator/radio-indicator.directive.mjs +8 -5
- package/esm2022/radio/radio-item/radio-item.directive.mjs +8 -6
- package/esm2022/resize/resize/resize.directive.mjs +3 -3
- package/esm2022/roving-focus/roving-focus-group/roving-focus-group.directive.mjs +14 -9
- package/esm2022/roving-focus/roving-focus-item/roving-focus-item.directive.mjs +3 -3
- package/esm2022/search/index.mjs +10 -0
- package/esm2022/search/ng-primitives-search.mjs +5 -0
- package/esm2022/search/search-field/search-field.directive.mjs +47 -0
- package/esm2022/search/search-field/search-field.token.mjs +16 -0
- package/esm2022/select/index.mjs +1 -7
- package/esm2022/select/select/select.directive.mjs +23 -36
- package/esm2022/select/select/select.token.mjs +1 -1
- package/esm2022/slider/slider/slider.directive.mjs +18 -5
- package/esm2022/slider/slider-range/slider-range.directive.mjs +6 -5
- package/esm2022/slider/slider-thumb/slider-thumb.directive.mjs +7 -4
- package/esm2022/slider/slider-track/slider-track.directive.mjs +8 -4
- package/esm2022/switch/switch/switch.directive.mjs +18 -58
- package/esm2022/switch/switch-thumb/switch-thumb.directive.mjs +9 -6
- package/esm2022/tabs/tab-button/tab-button.directive.mjs +8 -6
- package/esm2022/tabs/tab-list/tab-list.directive.mjs +3 -3
- package/esm2022/tabs/tab-panel/tab-panel.directive.mjs +5 -6
- package/esm2022/tabs/tabset/tabset.directive.mjs +14 -18
- package/esm2022/textarea/index.mjs +10 -0
- package/esm2022/textarea/ng-primitives-textarea.mjs +5 -0
- package/esm2022/textarea/textarea/textarea.directive.mjs +37 -0
- package/esm2022/textarea/textarea/textarea.token.mjs +16 -0
- package/esm2022/toggle/toggle/toggle.directive.mjs +33 -13
- package/esm2022/tooltip/tooltip/tooltip.directive.mjs +3 -3
- package/esm2022/tooltip/tooltip-trigger/tooltip-trigger.directive.mjs +7 -7
- package/esm2022/utils/helpers/focus-manager.mjs +3 -3
- package/esm2022/utils/index.mjs +2 -2
- package/esm2022/utils/signals/async.mjs +11 -17
- package/fesm2022/ng-primitives-a11y.mjs +3 -3
- package/fesm2022/ng-primitives-accordion.mjs +19 -16
- package/fesm2022/ng-primitives-accordion.mjs.map +1 -1
- package/fesm2022/ng-primitives-autofill.mjs +100 -0
- package/fesm2022/ng-primitives-autofill.mjs.map +1 -0
- package/fesm2022/ng-primitives-avatar.mjs +13 -10
- package/fesm2022/ng-primitives-avatar.mjs.map +1 -1
- package/fesm2022/ng-primitives-button.mjs +76 -0
- package/fesm2022/ng-primitives-button.mjs.map +1 -0
- package/fesm2022/ng-primitives-checkbox.mjs +25 -203
- package/fesm2022/ng-primitives-checkbox.mjs.map +1 -1
- package/fesm2022/ng-primitives-file-upload.mjs +6 -3
- package/fesm2022/ng-primitives-file-upload.mjs.map +1 -1
- package/fesm2022/ng-primitives-focus-trap.mjs +291 -0
- package/fesm2022/ng-primitives-focus-trap.mjs.map +1 -0
- package/fesm2022/ng-primitives-form-field.mjs +119 -80
- package/fesm2022/ng-primitives-form-field.mjs.map +1 -1
- package/fesm2022/ng-primitives-input.mjs +84 -0
- package/fesm2022/ng-primitives-input.mjs.map +1 -0
- package/fesm2022/ng-primitives-interactions.mjs +394 -26
- package/fesm2022/ng-primitives-interactions.mjs.map +1 -1
- package/fesm2022/ng-primitives-internal.mjs +132 -0
- package/fesm2022/ng-primitives-internal.mjs.map +1 -0
- package/fesm2022/ng-primitives-progress.mjs +6 -6
- package/fesm2022/ng-primitives-radio.mjs +25 -62
- package/fesm2022/ng-primitives-radio.mjs.map +1 -1
- package/fesm2022/ng-primitives-resize.mjs +3 -3
- package/fesm2022/ng-primitives-roving-focus.mjs +15 -10
- package/fesm2022/ng-primitives-roving-focus.mjs.map +1 -1
- package/fesm2022/ng-primitives-search.mjs +76 -0
- package/fesm2022/ng-primitives-search.mjs.map +1 -0
- package/fesm2022/ng-primitives-select.mjs +23 -395
- package/fesm2022/ng-primitives-select.mjs.map +1 -1
- package/fesm2022/ng-primitives-slider.mjs +35 -14
- package/fesm2022/ng-primitives-slider.mjs.map +1 -1
- package/fesm2022/ng-primitives-switch.mjs +23 -62
- package/fesm2022/ng-primitives-switch.mjs.map +1 -1
- package/fesm2022/ng-primitives-tabs.mjs +27 -30
- package/fesm2022/ng-primitives-tabs.mjs.map +1 -1
- package/fesm2022/ng-primitives-textarea.mjs +66 -0
- package/fesm2022/ng-primitives-textarea.mjs.map +1 -0
- package/fesm2022/ng-primitives-toggle.mjs +32 -12
- package/fesm2022/ng-primitives-toggle.mjs.map +1 -1
- package/fesm2022/ng-primitives-tooltip.mjs +9 -9
- package/fesm2022/ng-primitives-tooltip.mjs.map +1 -1
- package/fesm2022/ng-primitives-utils.mjs +14 -20
- package/fesm2022/ng-primitives-utils.mjs.map +1 -1
- package/file-upload/file-upload/file-upload.directive.d.ts +2 -1
- package/focus-trap/README.md +3 -0
- package/focus-trap/focus-trap/focus-trap.directive.d.ts +64 -0
- package/{select/select-options/select-options.token.d.ts → focus-trap/focus-trap/focus-trap.token.d.ts} +4 -4
- package/focus-trap/index.d.ts +9 -0
- package/form-field/description/description.directive.d.ts +1 -1
- package/form-field/error/error.directive.d.ts +9 -5
- package/form-field/form-control/form-control.directive.d.ts +7 -3
- package/form-field/form-field/form-field.token.d.ts +1 -1
- package/form-field/label/label.directive.d.ts +3 -2
- package/input/README.md +3 -0
- package/input/index.d.ts +9 -0
- package/input/input/input.directive.d.ts +33 -0
- package/input/input/input.token.d.ts +14 -0
- package/interactions/focus/focus.directive.d.ts +6 -2
- package/interactions/focus-visible/focus-visible.directive.d.ts +5 -1
- package/interactions/hover/hover.directive.d.ts +5 -1
- package/interactions/index.d.ts +4 -0
- package/interactions/move/move.directive.d.ts +126 -0
- package/interactions/move/move.token.d.ts +14 -0
- package/interactions/press/press.directive.d.ts +59 -0
- package/interactions/press/press.token.d.ts +14 -0
- package/internal/README.md +3 -0
- package/internal/disabled/disabled.d.ts +21 -0
- package/internal/index.d.ts +10 -0
- package/internal/orientation/orientation.d.ts +22 -0
- package/internal/style-injector/style-injector.d.ts +36 -0
- package/package.json +49 -7
- package/radio/radio-group/radio-group.directive.d.ts +4 -41
- package/radio/radio-indicator/radio-indicator.directive.d.ts +2 -1
- package/radio/radio-item/radio-item.directive.d.ts +2 -1
- package/roving-focus/roving-focus-group/roving-focus-group.directive.d.ts +7 -2
- package/search/README.md +3 -0
- package/search/index.d.ts +9 -0
- package/search/search-field/search-field.directive.d.ts +15 -0
- package/search/search-field/search-field.token.d.ts +14 -0
- package/select/index.d.ts +0 -6
- package/select/select/select.directive.d.ts +7 -22
- package/select/select/select.token.d.ts +2 -2
- package/slider/slider/slider.directive.d.ts +4 -2
- package/slider/slider-thumb/slider-thumb.directive.d.ts +2 -1
- package/slider/slider-track/slider-track.directive.d.ts +1 -1
- package/switch/switch/switch.directive.d.ts +5 -45
- package/switch/switch-thumb/switch-thumb.directive.d.ts +2 -1
- package/tabs/tab-button/tab-button.directive.d.ts +2 -1
- package/tabs/tabset/tabset.directive.d.ts +3 -9
- package/textarea/README.md +3 -0
- package/textarea/index.d.ts +9 -0
- package/textarea/textarea/textarea.directive.d.ts +20 -0
- package/textarea/textarea/textarea.token.d.ts +14 -0
- package/toggle/toggle/toggle.directive.d.ts +16 -4
- package/utils/index.d.ts +1 -1
- package/utils/signals/async.d.ts +10 -12
- package/checkbox/checkbox-indicator/checkbox-indicator.directive.d.ts +0 -19
- package/checkbox/checkbox-indicator/checkbox-indicator.token.d.ts +0 -15
- package/checkbox/checkbox-input/checkbox-input.directive.d.ts +0 -10
- package/checkbox/checkbox-label/checkbox-label.directive.d.ts +0 -9
- package/esm2022/checkbox/checkbox-indicator/checkbox-indicator.directive.mjs +0 -51
- package/esm2022/checkbox/checkbox-indicator/checkbox-indicator.token.mjs +0 -17
- package/esm2022/checkbox/checkbox-input/checkbox-input.directive.mjs +0 -40
- package/esm2022/checkbox/checkbox-label/checkbox-label.directive.mjs +0 -32
- package/esm2022/select/select-button/select-button.directive.mjs +0 -84
- package/esm2022/select/select-button/select-button.token.mjs +0 -16
- package/esm2022/select/select-option/select-option.directive.mjs +0 -90
- package/esm2022/select/select-option/select-option.token.mjs +0 -16
- package/esm2022/select/select-options/select-options.directive.mjs +0 -157
- package/esm2022/select/select-options/select-options.token.mjs +0 -16
- package/select/select-button/select-button.directive.d.ts +0 -51
- package/select/select-option/select-option.directive.d.ts +0 -57
- package/select/select-options/select-options.directive.d.ts +0 -65
|
@@ -9,19 +9,31 @@ import { BooleanInput } from '@angular/cdk/coercion';
|
|
|
9
9
|
import * as i0 from "@angular/core";
|
|
10
10
|
export declare class NgpToggle {
|
|
11
11
|
/**
|
|
12
|
-
*
|
|
12
|
+
* Access the element.
|
|
13
|
+
*/
|
|
14
|
+
private readonly element;
|
|
15
|
+
/**
|
|
16
|
+
* Whether the toggle is selected.
|
|
13
17
|
* @default false
|
|
14
18
|
*/
|
|
15
|
-
readonly
|
|
19
|
+
readonly selected: import("@angular/core").ModelSignal<boolean>;
|
|
16
20
|
/**
|
|
17
21
|
* Whether the toggle is disabled.
|
|
18
22
|
* @default false
|
|
19
23
|
*/
|
|
20
24
|
readonly disabled: import("@angular/core").InputSignalWithTransform<boolean, BooleanInput>;
|
|
21
25
|
/**
|
|
22
|
-
*
|
|
26
|
+
* Determine if the element is a button.
|
|
27
|
+
*/
|
|
28
|
+
protected isButton: boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Toggle the selected state.
|
|
23
31
|
*/
|
|
24
32
|
toggle(): void;
|
|
33
|
+
/**
|
|
34
|
+
* If the element is not a button or a link the space key should toggle the selected state.
|
|
35
|
+
*/
|
|
36
|
+
protected onKeyDown(event: KeyboardEvent): void;
|
|
25
37
|
static ɵfac: i0.ɵɵFactoryDeclaration<NgpToggle, never>;
|
|
26
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<NgpToggle, "
|
|
38
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<NgpToggle, "[ngpToggle]", ["ngpToggle"], { "selected": { "alias": "ngpToggleSelected"; "required": false; "isSignal": true; }; "disabled": { "alias": "ngpToggleDisabled"; "required": false; "isSignal": true; }; }, { "selected": "ngpToggleSelectedChange"; }, never, never, true, never>;
|
|
27
39
|
}
|
package/utils/index.d.ts
CHANGED
|
@@ -8,5 +8,5 @@
|
|
|
8
8
|
export { injectDisposables } from './helpers/disposables';
|
|
9
9
|
export { FocusManager } from './helpers/focus-manager';
|
|
10
10
|
export { uniqueId } from './helpers/unique-id';
|
|
11
|
-
export {
|
|
11
|
+
export { onBooleanChange, onChange } from './signals/async';
|
|
12
12
|
export { injectDimensions } from './ui/dimensions';
|
package/utils/signals/async.d.ts
CHANGED
|
@@ -6,18 +6,6 @@
|
|
|
6
6
|
* LICENSE file in the root directory of this source tree.
|
|
7
7
|
*/
|
|
8
8
|
import { Injector, Signal } from '@angular/core';
|
|
9
|
-
import { Observable } from 'rxjs';
|
|
10
|
-
/**
|
|
11
|
-
* Create a signal from an observable that is updated asynchronously.
|
|
12
|
-
* @param fn The function that returns an observable.
|
|
13
|
-
* @param options Options for the effect.
|
|
14
|
-
* @param options.injector
|
|
15
|
-
* @returns A signal that emits the value of the observable.
|
|
16
|
-
* @internal
|
|
17
|
-
*/
|
|
18
|
-
export declare function computedAsync<T>(fn: () => Observable<T> | null | undefined, options?: {
|
|
19
|
-
injector: Injector;
|
|
20
|
-
}): Signal<T | null>;
|
|
21
9
|
/**
|
|
22
10
|
* Listen for changes to a signal and call a function when the signal changes.
|
|
23
11
|
* @param source
|
|
@@ -29,3 +17,13 @@ export declare function computedAsync<T>(fn: () => Observable<T> | null | undefi
|
|
|
29
17
|
export declare function onChange<T>(source: Signal<T | null | undefined>, fn: (value: T | null | undefined, previousValue: T | null | undefined) => void, options?: {
|
|
30
18
|
injector: Injector;
|
|
31
19
|
}): void;
|
|
20
|
+
/**
|
|
21
|
+
* Listen for changes to a boolean signal and call one of two functions when the signal changes.
|
|
22
|
+
* @param source
|
|
23
|
+
* @param onTrue
|
|
24
|
+
* @param onFalse
|
|
25
|
+
* @param options
|
|
26
|
+
*/
|
|
27
|
+
export declare function onBooleanChange(source: Signal<boolean>, onTrue: () => void, onFalse: () => void, options?: {
|
|
28
|
+
injector: Injector;
|
|
29
|
+
}): void;
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import * as i0 from "@angular/core";
|
|
2
|
-
export declare class NgpCheckboxIndicator {
|
|
3
|
-
/**
|
|
4
|
-
* Access the checkbox that the indicator belongs to.
|
|
5
|
-
*/
|
|
6
|
-
protected readonly checkbox: import("ng-primitives/checkbox").NgpCheckbox;
|
|
7
|
-
/**
|
|
8
|
-
* The id of the checkbox.
|
|
9
|
-
* @internal
|
|
10
|
-
*/
|
|
11
|
-
readonly id: import("@angular/core").InputSignal<string>;
|
|
12
|
-
/**
|
|
13
|
-
* The tabindex of the checkbox.
|
|
14
|
-
* @internal
|
|
15
|
-
*/
|
|
16
|
-
readonly tabindex: import("@angular/core").InputSignalWithTransform<number, unknown>;
|
|
17
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<NgpCheckboxIndicator, never>;
|
|
18
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<NgpCheckboxIndicator, "[ngpCheckboxIndicator]", ["ngpCheckboxIndicator"], { "id": { "alias": "id"; "required": false; "isSignal": true; }; "tabindex": { "alias": "tabindex"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
19
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright © 2024 Angular Primitives.
|
|
3
|
-
* https://github.com/ng-primitives/ng-primitives
|
|
4
|
-
*
|
|
5
|
-
* This source code is licensed under the CC BY-ND 4.0 license found in the
|
|
6
|
-
* LICENSE file in the root directory of this source tree.
|
|
7
|
-
*/
|
|
8
|
-
import { InjectionToken } from '@angular/core';
|
|
9
|
-
import type { NgpCheckboxIndicator } from './checkbox-indicator.directive';
|
|
10
|
-
export declare const NgpCheckboxIndicatorToken: InjectionToken<NgpCheckboxIndicator>;
|
|
11
|
-
/**
|
|
12
|
-
* Inject the CheckboxIndicator directive instance
|
|
13
|
-
* @returns The CheckboxIndicator directive instance
|
|
14
|
-
*/
|
|
15
|
-
export declare function injectCheckboxIndicator(): NgpCheckboxIndicator;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import * as i0 from "@angular/core";
|
|
2
|
-
import * as i1 from "ng-primitives/a11y";
|
|
3
|
-
export declare class NgpCheckboxInput {
|
|
4
|
-
/**
|
|
5
|
-
* Access the checkbox instance
|
|
6
|
-
*/
|
|
7
|
-
protected readonly checkbox: import("ng-primitives/checkbox").NgpCheckbox;
|
|
8
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<NgpCheckboxInput, never>;
|
|
9
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<NgpCheckboxInput, "input[ngpCheckboxInput]", ["ngpCheckboxInput"], {}, {}, never, never, true, [{ directive: typeof i1.NgpVisuallyHidden; inputs: {}; outputs: {}; }]>;
|
|
10
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import * as i0 from "@angular/core";
|
|
2
|
-
export declare class NgpCheckboxLabel {
|
|
3
|
-
/**
|
|
4
|
-
* Access the checkbox that the label belongs to.
|
|
5
|
-
*/
|
|
6
|
-
protected readonly checkbox: import("ng-primitives/checkbox").NgpCheckbox;
|
|
7
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<NgpCheckboxLabel, never>;
|
|
8
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<NgpCheckboxLabel, "[ngpCheckboxLabel]", ["ngpCheckboxLabel"], {}, {}, never, never, true, never>;
|
|
9
|
-
}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright © 2024 Angular Primitives.
|
|
3
|
-
* https://github.com/ng-primitives/ng-primitives
|
|
4
|
-
*
|
|
5
|
-
* This source code is licensed under the CC BY-ND 4.0 license found in the
|
|
6
|
-
* LICENSE file in the root directory of this source tree.
|
|
7
|
-
*/
|
|
8
|
-
import { Directive, input, numberAttribute } from '@angular/core';
|
|
9
|
-
import { uniqueId } from 'ng-primitives/utils';
|
|
10
|
-
import { injectCheckbox } from '../checkbox/checkbox.token';
|
|
11
|
-
import { NgpCheckboxIndicatorToken } from './checkbox-indicator.token';
|
|
12
|
-
import * as i0 from "@angular/core";
|
|
13
|
-
export class NgpCheckboxIndicator {
|
|
14
|
-
constructor() {
|
|
15
|
-
/**
|
|
16
|
-
* Access the checkbox that the indicator belongs to.
|
|
17
|
-
*/
|
|
18
|
-
this.checkbox = injectCheckbox();
|
|
19
|
-
/**
|
|
20
|
-
* The id of the checkbox.
|
|
21
|
-
* @internal
|
|
22
|
-
*/
|
|
23
|
-
this.id = input(uniqueId('ngp-checkbox-indicator'));
|
|
24
|
-
/**
|
|
25
|
-
* The tabindex of the checkbox.
|
|
26
|
-
* @internal
|
|
27
|
-
*/
|
|
28
|
-
this.tabindex = input(0, { transform: numberAttribute });
|
|
29
|
-
}
|
|
30
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: NgpCheckboxIndicator, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
31
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.0.2", type: NgpCheckboxIndicator, isStandalone: true, selector: "[ngpCheckboxIndicator]", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, tabindex: { classPropertyName: "tabindex", publicName: "tabindex", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "checkbox" }, properties: { "id": "id()", "tabindex": "checkbox.disabled() ? -1 : tabindex()", "style.pointer-events": "\"none\"", "attr.aria-checked": "checkbox.indeterminate() ? \"mixed\" : checkbox.checked()", "attr.data-state": "checkbox.state()", "attr.data-disabled": "checkbox.disabled()" } }, providers: [{ provide: NgpCheckboxIndicatorToken, useExisting: NgpCheckboxIndicator }], exportAs: ["ngpCheckboxIndicator"], ngImport: i0 }); }
|
|
32
|
-
}
|
|
33
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: NgpCheckboxIndicator, decorators: [{
|
|
34
|
-
type: Directive,
|
|
35
|
-
args: [{
|
|
36
|
-
standalone: true,
|
|
37
|
-
selector: '[ngpCheckboxIndicator]',
|
|
38
|
-
exportAs: 'ngpCheckboxIndicator',
|
|
39
|
-
providers: [{ provide: NgpCheckboxIndicatorToken, useExisting: NgpCheckboxIndicator }],
|
|
40
|
-
host: {
|
|
41
|
-
role: 'checkbox',
|
|
42
|
-
'[id]': 'id()',
|
|
43
|
-
'[tabindex]': 'checkbox.disabled() ? -1 : tabindex()',
|
|
44
|
-
'[style.pointer-events]': '"none"',
|
|
45
|
-
'[attr.aria-checked]': 'checkbox.indeterminate() ? "mixed" : checkbox.checked()',
|
|
46
|
-
'[attr.data-state]': 'checkbox.state()',
|
|
47
|
-
'[attr.data-disabled]': 'checkbox.disabled()',
|
|
48
|
-
},
|
|
49
|
-
}]
|
|
50
|
-
}] });
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtaW5kaWNhdG9yLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nLXByaW1pdGl2ZXMvY2hlY2tib3gvc3JjL2NoZWNrYm94LWluZGljYXRvci9jaGVja2JveC1pbmRpY2F0b3IuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUNILE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQWlCdkUsTUFBTSxPQUFPLG9CQUFvQjtJQWZqQztRQWdCRTs7V0FFRztRQUNnQixhQUFRLEdBQUcsY0FBYyxFQUFFLENBQUM7UUFFL0M7OztXQUdHO1FBQ00sT0FBRSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxDQUFDO1FBRXhEOzs7V0FHRztRQUNNLGFBQVEsR0FBRyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxDQUFDLENBQUM7S0FDOUQ7OEdBakJZLG9CQUFvQjtrR0FBcEIsb0JBQW9CLDRvQkFYcEIsQ0FBQyxFQUFFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxXQUFXLEVBQUUsb0JBQW9CLEVBQUUsQ0FBQzs7MkZBVzNFLG9CQUFvQjtrQkFmaEMsU0FBUzttQkFBQztvQkFDVCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLHdCQUF3QjtvQkFDbEMsUUFBUSxFQUFFLHNCQUFzQjtvQkFDaEMsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsV0FBVyxzQkFBc0IsRUFBRSxDQUFDO29CQUN0RixJQUFJLEVBQUU7d0JBQ0osSUFBSSxFQUFFLFVBQVU7d0JBQ2hCLE1BQU0sRUFBRSxNQUFNO3dCQUNkLFlBQVksRUFBRSx1Q0FBdUM7d0JBQ3JELHdCQUF3QixFQUFFLFFBQVE7d0JBQ2xDLHFCQUFxQixFQUFFLHlEQUF5RDt3QkFDaEYsbUJBQW1CLEVBQUUsa0JBQWtCO3dCQUN2QyxzQkFBc0IsRUFBRSxxQkFBcUI7cUJBQzlDO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgwqkgMjAyNCBBbmd1bGFyIFByaW1pdGl2ZXMuXG4gKiBodHRwczovL2dpdGh1Yi5jb20vbmctcHJpbWl0aXZlcy9uZy1wcmltaXRpdmVzXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQ0MgQlktTkQgNC4wIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cbmltcG9ydCB7IERpcmVjdGl2ZSwgaW5wdXQsIG51bWJlckF0dHJpYnV0ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdW5pcXVlSWQgfSBmcm9tICduZy1wcmltaXRpdmVzL3V0aWxzJztcbmltcG9ydCB7IGluamVjdENoZWNrYm94IH0gZnJvbSAnLi4vY2hlY2tib3gvY2hlY2tib3gudG9rZW4nO1xuaW1wb3J0IHsgTmdwQ2hlY2tib3hJbmRpY2F0b3JUb2tlbiB9IGZyb20gJy4vY2hlY2tib3gtaW5kaWNhdG9yLnRva2VuJztcblxuQERpcmVjdGl2ZSh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnW25ncENoZWNrYm94SW5kaWNhdG9yXScsXG4gIGV4cG9ydEFzOiAnbmdwQ2hlY2tib3hJbmRpY2F0b3InLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IE5ncENoZWNrYm94SW5kaWNhdG9yVG9rZW4sIHVzZUV4aXN0aW5nOiBOZ3BDaGVja2JveEluZGljYXRvciB9XSxcbiAgaG9zdDoge1xuICAgIHJvbGU6ICdjaGVja2JveCcsXG4gICAgJ1tpZF0nOiAnaWQoKScsXG4gICAgJ1t0YWJpbmRleF0nOiAnY2hlY2tib3guZGlzYWJsZWQoKSA/IC0xIDogdGFiaW5kZXgoKScsXG4gICAgJ1tzdHlsZS5wb2ludGVyLWV2ZW50c10nOiAnXCJub25lXCInLFxuICAgICdbYXR0ci5hcmlhLWNoZWNrZWRdJzogJ2NoZWNrYm94LmluZGV0ZXJtaW5hdGUoKSA/IFwibWl4ZWRcIiA6IGNoZWNrYm94LmNoZWNrZWQoKScsXG4gICAgJ1thdHRyLmRhdGEtc3RhdGVdJzogJ2NoZWNrYm94LnN0YXRlKCknLFxuICAgICdbYXR0ci5kYXRhLWRpc2FibGVkXSc6ICdjaGVja2JveC5kaXNhYmxlZCgpJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgTmdwQ2hlY2tib3hJbmRpY2F0b3Ige1xuICAvKipcbiAgICogQWNjZXNzIHRoZSBjaGVja2JveCB0aGF0IHRoZSBpbmRpY2F0b3IgYmVsb25ncyB0by5cbiAgICovXG4gIHByb3RlY3RlZCByZWFkb25seSBjaGVja2JveCA9IGluamVjdENoZWNrYm94KCk7XG5cbiAgLyoqXG4gICAqIFRoZSBpZCBvZiB0aGUgY2hlY2tib3guXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcmVhZG9ubHkgaWQgPSBpbnB1dCh1bmlxdWVJZCgnbmdwLWNoZWNrYm94LWluZGljYXRvcicpKTtcblxuICAvKipcbiAgICogVGhlIHRhYmluZGV4IG9mIHRoZSBjaGVja2JveC5cbiAgICogQGludGVybmFsXG4gICAqL1xuICByZWFkb25seSB0YWJpbmRleCA9IGlucHV0KDAsIHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSk7XG59XG4iXX0=
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright © 2024 Angular Primitives.
|
|
3
|
-
* https://github.com/ng-primitives/ng-primitives
|
|
4
|
-
*
|
|
5
|
-
* This source code is licensed under the CC BY-ND 4.0 license found in the
|
|
6
|
-
* LICENSE file in the root directory of this source tree.
|
|
7
|
-
*/
|
|
8
|
-
import { InjectionToken, inject } from '@angular/core';
|
|
9
|
-
export const NgpCheckboxIndicatorToken = new InjectionToken('NgpCheckboxIndicatorToken');
|
|
10
|
-
/**
|
|
11
|
-
* Inject the CheckboxIndicator directive instance
|
|
12
|
-
* @returns The CheckboxIndicator directive instance
|
|
13
|
-
*/
|
|
14
|
-
export function injectCheckboxIndicator() {
|
|
15
|
-
return inject(NgpCheckboxIndicatorToken);
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtaW5kaWNhdG9yLnRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmctcHJpbWl0aXZlcy9jaGVja2JveC9zcmMvY2hlY2tib3gtaW5kaWNhdG9yL2NoZWNrYm94LWluZGljYXRvci50b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFDSCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd2RCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxJQUFJLGNBQWMsQ0FDekQsMkJBQTJCLENBQzVCLENBQUM7QUFFRjs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsdUJBQXVCO0lBQ3JDLE9BQU8sTUFBTSxDQUFDLHlCQUF5QixDQUFDLENBQUM7QUFDM0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IMKpIDIwMjQgQW5ndWxhciBQcmltaXRpdmVzLlxuICogaHR0cHM6Ly9naXRodWIuY29tL25nLXByaW1pdGl2ZXMvbmctcHJpbWl0aXZlc1xuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIENDIEJZLU5EIDQuMCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICovXG5pbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdHlwZSB7IE5ncENoZWNrYm94SW5kaWNhdG9yIH0gZnJvbSAnLi9jaGVja2JveC1pbmRpY2F0b3IuZGlyZWN0aXZlJztcblxuZXhwb3J0IGNvbnN0IE5ncENoZWNrYm94SW5kaWNhdG9yVG9rZW4gPSBuZXcgSW5qZWN0aW9uVG9rZW48TmdwQ2hlY2tib3hJbmRpY2F0b3I+KFxuICAnTmdwQ2hlY2tib3hJbmRpY2F0b3JUb2tlbicsXG4pO1xuXG4vKipcbiAqIEluamVjdCB0aGUgQ2hlY2tib3hJbmRpY2F0b3IgZGlyZWN0aXZlIGluc3RhbmNlXG4gKiBAcmV0dXJucyBUaGUgQ2hlY2tib3hJbmRpY2F0b3IgZGlyZWN0aXZlIGluc3RhbmNlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RDaGVja2JveEluZGljYXRvcigpOiBOZ3BDaGVja2JveEluZGljYXRvciB7XG4gIHJldHVybiBpbmplY3QoTmdwQ2hlY2tib3hJbmRpY2F0b3JUb2tlbik7XG59XG4iXX0=
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright © 2024 Angular Primitives.
|
|
3
|
-
* https://github.com/ng-primitives/ng-primitives
|
|
4
|
-
*
|
|
5
|
-
* This source code is licensed under the CC BY-ND 4.0 license found in the
|
|
6
|
-
* LICENSE file in the root directory of this source tree.
|
|
7
|
-
*/
|
|
8
|
-
import { Directive } from '@angular/core';
|
|
9
|
-
import { NgpVisuallyHidden } from 'ng-primitives/a11y';
|
|
10
|
-
import { injectCheckbox } from '../checkbox/checkbox.token';
|
|
11
|
-
import * as i0 from "@angular/core";
|
|
12
|
-
import * as i1 from "ng-primitives/a11y";
|
|
13
|
-
export class NgpCheckboxInput {
|
|
14
|
-
constructor() {
|
|
15
|
-
/**
|
|
16
|
-
* Access the checkbox instance
|
|
17
|
-
*/
|
|
18
|
-
this.checkbox = injectCheckbox();
|
|
19
|
-
}
|
|
20
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: NgpCheckboxInput, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
21
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.2", type: NgpCheckboxInput, isStandalone: true, selector: "input[ngpCheckboxInput]", host: { attributes: { "type": "checkbox", "tabindex": "-1" }, properties: { "attr.aria-hidden": "true", "checked": "checkbox.checked()", "disabled": "checkbox.disabled()", "required": "checkbox.required()" } }, exportAs: ["ngpCheckboxInput"], hostDirectives: [{ directive: i1.NgpVisuallyHidden }], ngImport: i0 }); }
|
|
22
|
-
}
|
|
23
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: NgpCheckboxInput, decorators: [{
|
|
24
|
-
type: Directive,
|
|
25
|
-
args: [{
|
|
26
|
-
standalone: true,
|
|
27
|
-
selector: 'input[ngpCheckboxInput]',
|
|
28
|
-
exportAs: 'ngpCheckboxInput',
|
|
29
|
-
hostDirectives: [NgpVisuallyHidden],
|
|
30
|
-
host: {
|
|
31
|
-
type: 'checkbox',
|
|
32
|
-
tabindex: '-1',
|
|
33
|
-
'[attr.aria-hidden]': 'true',
|
|
34
|
-
'[checked]': 'checkbox.checked()',
|
|
35
|
-
'[disabled]': 'checkbox.disabled()',
|
|
36
|
-
'[required]': 'checkbox.required()',
|
|
37
|
-
},
|
|
38
|
-
}]
|
|
39
|
-
}] });
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtaW5wdXQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmctcHJpbWl0aXZlcy9jaGVja2JveC9zcmMvY2hlY2tib3gtaW5wdXQvY2hlY2tib3gtaW5wdXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUNILE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7QUFnQjVELE1BQU0sT0FBTyxnQkFBZ0I7SUFkN0I7UUFlRTs7V0FFRztRQUNnQixhQUFRLEdBQUcsY0FBYyxFQUFFLENBQUM7S0FDaEQ7OEdBTFksZ0JBQWdCO2tHQUFoQixnQkFBZ0I7OzJGQUFoQixnQkFBZ0I7a0JBZDVCLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSx5QkFBeUI7b0JBQ25DLFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLGNBQWMsRUFBRSxDQUFDLGlCQUFpQixDQUFDO29CQUNuQyxJQUFJLEVBQUU7d0JBQ0osSUFBSSxFQUFFLFVBQVU7d0JBQ2hCLFFBQVEsRUFBRSxJQUFJO3dCQUNkLG9CQUFvQixFQUFFLE1BQU07d0JBQzVCLFdBQVcsRUFBRSxvQkFBb0I7d0JBQ2pDLFlBQVksRUFBRSxxQkFBcUI7d0JBQ25DLFlBQVksRUFBRSxxQkFBcUI7cUJBQ3BDO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgwqkgMjAyNCBBbmd1bGFyIFByaW1pdGl2ZXMuXG4gKiBodHRwczovL2dpdGh1Yi5jb20vbmctcHJpbWl0aXZlcy9uZy1wcmltaXRpdmVzXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQ0MgQlktTkQgNC4wIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cbmltcG9ydCB7IERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdwVmlzdWFsbHlIaWRkZW4gfSBmcm9tICduZy1wcmltaXRpdmVzL2ExMXknO1xuaW1wb3J0IHsgaW5qZWN0Q2hlY2tib3ggfSBmcm9tICcuLi9jaGVja2JveC9jaGVja2JveC50b2tlbic7XG5cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ2lucHV0W25ncENoZWNrYm94SW5wdXRdJyxcbiAgZXhwb3J0QXM6ICduZ3BDaGVja2JveElucHV0JyxcbiAgaG9zdERpcmVjdGl2ZXM6IFtOZ3BWaXN1YWxseUhpZGRlbl0sXG4gIGhvc3Q6IHtcbiAgICB0eXBlOiAnY2hlY2tib3gnLFxuICAgIHRhYmluZGV4OiAnLTEnLFxuICAgICdbYXR0ci5hcmlhLWhpZGRlbl0nOiAndHJ1ZScsXG4gICAgJ1tjaGVja2VkXSc6ICdjaGVja2JveC5jaGVja2VkKCknLFxuICAgICdbZGlzYWJsZWRdJzogJ2NoZWNrYm94LmRpc2FibGVkKCknLFxuICAgICdbcmVxdWlyZWRdJzogJ2NoZWNrYm94LnJlcXVpcmVkKCknLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBOZ3BDaGVja2JveElucHV0IHtcbiAgLyoqXG4gICAqIEFjY2VzcyB0aGUgY2hlY2tib3ggaW5zdGFuY2VcbiAgICovXG4gIHByb3RlY3RlZCByZWFkb25seSBjaGVja2JveCA9IGluamVjdENoZWNrYm94KCk7XG59XG4iXX0=
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright © 2024 Angular Primitives.
|
|
3
|
-
* https://github.com/ng-primitives/ng-primitives
|
|
4
|
-
*
|
|
5
|
-
* This source code is licensed under the CC BY-ND 4.0 license found in the
|
|
6
|
-
* LICENSE file in the root directory of this source tree.
|
|
7
|
-
*/
|
|
8
|
-
import { Directive } from '@angular/core';
|
|
9
|
-
import { injectCheckbox } from '../checkbox/checkbox.token';
|
|
10
|
-
import * as i0 from "@angular/core";
|
|
11
|
-
export class NgpCheckboxLabel {
|
|
12
|
-
constructor() {
|
|
13
|
-
/**
|
|
14
|
-
* Access the checkbox that the label belongs to.
|
|
15
|
-
*/
|
|
16
|
-
this.checkbox = injectCheckbox();
|
|
17
|
-
}
|
|
18
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: NgpCheckboxLabel, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
19
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.2", type: NgpCheckboxLabel, isStandalone: true, selector: "[ngpCheckboxLabel]", host: { properties: { "attr.for": "checkbox.indicatorId()" } }, exportAs: ["ngpCheckboxLabel"], ngImport: i0 }); }
|
|
20
|
-
}
|
|
21
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: NgpCheckboxLabel, decorators: [{
|
|
22
|
-
type: Directive,
|
|
23
|
-
args: [{
|
|
24
|
-
standalone: true,
|
|
25
|
-
selector: '[ngpCheckboxLabel]',
|
|
26
|
-
exportAs: 'ngpCheckboxLabel',
|
|
27
|
-
host: {
|
|
28
|
-
'[attr.for]': 'checkbox.indicatorId()',
|
|
29
|
-
},
|
|
30
|
-
}]
|
|
31
|
-
}] });
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtbGFiZWwuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmctcHJpbWl0aXZlcy9jaGVja2JveC9zcmMvY2hlY2tib3gtbGFiZWwvY2hlY2tib3gtbGFiZWwuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUNILE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQVU1RCxNQUFNLE9BQU8sZ0JBQWdCO0lBUjdCO1FBU0U7O1dBRUc7UUFDZ0IsYUFBUSxHQUFHLGNBQWMsRUFBRSxDQUFDO0tBQ2hEOzhHQUxZLGdCQUFnQjtrR0FBaEIsZ0JBQWdCOzsyRkFBaEIsZ0JBQWdCO2tCQVI1QixTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixJQUFJLEVBQUU7d0JBQ0osWUFBWSxFQUFFLHdCQUF3QjtxQkFDdkM7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCDCqSAyMDI0IEFuZ3VsYXIgUHJpbWl0aXZlcy5cbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9uZy1wcmltaXRpdmVzL25nLXByaW1pdGl2ZXNcbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBDQyBCWS1ORCA0LjAgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqL1xuaW1wb3J0IHsgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpbmplY3RDaGVja2JveCB9IGZyb20gJy4uL2NoZWNrYm94L2NoZWNrYm94LnRva2VuJztcblxuQERpcmVjdGl2ZSh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnW25ncENoZWNrYm94TGFiZWxdJyxcbiAgZXhwb3J0QXM6ICduZ3BDaGVja2JveExhYmVsJyxcbiAgaG9zdDoge1xuICAgICdbYXR0ci5mb3JdJzogJ2NoZWNrYm94LmluZGljYXRvcklkKCknLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBOZ3BDaGVja2JveExhYmVsIHtcbiAgLyoqXG4gICAqIEFjY2VzcyB0aGUgY2hlY2tib3ggdGhhdCB0aGUgbGFiZWwgYmVsb25ncyB0by5cbiAgICovXG4gIHByb3RlY3RlZCByZWFkb25seSBjaGVja2JveCA9IGluamVjdENoZWNrYm94KCk7XG59XG4iXX0=
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
import { Directive, ElementRef, inject, input } from '@angular/core';
|
|
2
|
-
import { FocusManager, injectDisposables, uniqueId } from 'ng-primitives/utils';
|
|
3
|
-
import { injectSelect } from '../select/select.token';
|
|
4
|
-
import { NgpSelectButtonToken } from './select-button.token';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export class NgpSelectButton {
|
|
7
|
-
constructor() {
|
|
8
|
-
/**
|
|
9
|
-
* Access the parent select component.
|
|
10
|
-
*/
|
|
11
|
-
this.select = injectSelect();
|
|
12
|
-
/**
|
|
13
|
-
* Access the disposable helpers.
|
|
14
|
-
*/
|
|
15
|
-
this.disposables = injectDisposables();
|
|
16
|
-
/**
|
|
17
|
-
* Access the element reference.
|
|
18
|
-
* @internal
|
|
19
|
-
*/
|
|
20
|
-
this.element = inject(ElementRef);
|
|
21
|
-
/**
|
|
22
|
-
* Access the focus manager
|
|
23
|
-
*/
|
|
24
|
-
this.focusManager = inject(FocusManager);
|
|
25
|
-
/**
|
|
26
|
-
* Optionally define an id for the button. By default, the id is generated.
|
|
27
|
-
*/
|
|
28
|
-
this.id = input(uniqueId('select-button'));
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Toggle the select open state.
|
|
32
|
-
*/
|
|
33
|
-
toggle() {
|
|
34
|
-
this.select.open.update(open => !open);
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Handle keyboard events. If the list is closed, open it when the user presses the arrow keys.
|
|
38
|
-
* If the list is open then we navigate using active descendant.
|
|
39
|
-
* @param event
|
|
40
|
-
*/
|
|
41
|
-
keydown(event) {
|
|
42
|
-
if (event.key === 'ArrowDown' || event.key === 'ArrowUp') {
|
|
43
|
-
this.select.open.set(true);
|
|
44
|
-
// stop the event from triggering scrolling on the dropdown
|
|
45
|
-
event.preventDefault();
|
|
46
|
-
}
|
|
47
|
-
// if the escape key is pressed, close the dropdown
|
|
48
|
-
if (event.key === 'Escape') {
|
|
49
|
-
this.select.open.set(false);
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* Focus the button element.
|
|
54
|
-
* @param origin
|
|
55
|
-
* @internal
|
|
56
|
-
*/
|
|
57
|
-
focus(origin) {
|
|
58
|
-
// we run after the next tick to ensure any in-progress events do not get
|
|
59
|
-
// redirected to the button element
|
|
60
|
-
this.disposables.requestAnimationFrame(() => this.focusManager.focus(this.element, origin));
|
|
61
|
-
}
|
|
62
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: NgpSelectButton, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
63
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.0.2", type: NgpSelectButton, isStandalone: true, selector: "button[ngpSelectButton]", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "type": "button", "aria-haspopup": "listbox" }, listeners: { "click": "toggle()", "keydown": "keydown($event)" }, properties: { "attr.id": "id()", "attr.aria-expanded": "select.open()", "attr.aria-controls": "select.open() ? select.options()?.id() : null", "attr.data-state": "select.open() ? \"open\" : \"closed\"" } }, providers: [{ provide: NgpSelectButtonToken, useExisting: NgpSelectButton }], exportAs: ["ngpSelectButton"], ngImport: i0 }); }
|
|
64
|
-
}
|
|
65
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: NgpSelectButton, decorators: [{
|
|
66
|
-
type: Directive,
|
|
67
|
-
args: [{
|
|
68
|
-
standalone: true,
|
|
69
|
-
selector: 'button[ngpSelectButton]',
|
|
70
|
-
exportAs: 'ngpSelectButton',
|
|
71
|
-
providers: [{ provide: NgpSelectButtonToken, useExisting: NgpSelectButton }],
|
|
72
|
-
host: {
|
|
73
|
-
type: 'button',
|
|
74
|
-
'aria-haspopup': 'listbox',
|
|
75
|
-
'[attr.id]': 'id()',
|
|
76
|
-
'[attr.aria-expanded]': 'select.open()',
|
|
77
|
-
'[attr.aria-controls]': 'select.open() ? select.options()?.id() : null',
|
|
78
|
-
'[attr.data-state]': 'select.open() ? "open" : "closed"',
|
|
79
|
-
'(click)': 'toggle()',
|
|
80
|
-
'(keydown)': 'keydown($event)',
|
|
81
|
-
},
|
|
82
|
-
}]
|
|
83
|
-
}] });
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWJ1dHRvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy1wcmltaXRpdmVzL3NlbGVjdC9zcmMvc2VsZWN0LWJ1dHRvbi9zZWxlY3QtYnV0dG9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQWtCN0QsTUFBTSxPQUFPLGVBQWU7SUFoQjVCO1FBaUJFOztXQUVHO1FBQ2dCLFdBQU0sR0FBRyxZQUFZLEVBQVcsQ0FBQztRQUVwRDs7V0FFRztRQUNjLGdCQUFXLEdBQUcsaUJBQWlCLEVBQUUsQ0FBQztRQUVuRDs7O1dBR0c7UUFDTSxZQUFPLEdBQUcsTUFBTSxDQUEwQixVQUFVLENBQUMsQ0FBQztRQUUvRDs7V0FFRztRQUNjLGlCQUFZLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRXJEOztXQUVHO1FBQ00sT0FBRSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQztLQXFDaEQ7SUFuQ0M7O09BRUc7SUFDTyxNQUFNO1FBQ2QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNPLE9BQU8sQ0FBQyxLQUFvQjtRQUNwQyxJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssV0FBVyxJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDekQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzNCLDJEQUEyRDtZQUMzRCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDekIsQ0FBQztRQUVELG1EQUFtRDtRQUNuRCxJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlCLENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEtBQUssQ0FBQyxNQUFvQjtRQUN4Qix5RUFBeUU7UUFDekUsbUNBQW1DO1FBQ25DLElBQUksQ0FBQyxXQUFXLENBQUMscUJBQXFCLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQzlGLENBQUM7OEdBN0RVLGVBQWU7a0dBQWYsZUFBZSx3aEJBWmYsQ0FBQyxFQUFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLENBQUM7OzJGQVlqRSxlQUFlO2tCQWhCM0IsU0FBUzttQkFBQztvQkFDVCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLHlCQUF5QjtvQkFDbkMsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsV0FBVyxpQkFBaUIsRUFBRSxDQUFDO29CQUM1RSxJQUFJLEVBQUU7d0JBQ0osSUFBSSxFQUFFLFFBQVE7d0JBQ2QsZUFBZSxFQUFFLFNBQVM7d0JBQzFCLFdBQVcsRUFBRSxNQUFNO3dCQUNuQixzQkFBc0IsRUFBRSxlQUFlO3dCQUN2QyxzQkFBc0IsRUFBRSwrQ0FBK0M7d0JBQ3ZFLG1CQUFtQixFQUFFLG1DQUFtQzt3QkFDeEQsU0FBUyxFQUFFLFVBQVU7d0JBQ3JCLFdBQVcsRUFBRSxpQkFBaUI7cUJBQy9CO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgwqkgMjAyNCBBbmd1bGFyIFByaW1pdGl2ZXMuXG4gKiBodHRwczovL2dpdGh1Yi5jb20vbmctcHJpbWl0aXZlcy9uZy1wcmltaXRpdmVzXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQ0MgQlktTkQgNC4wIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cbmltcG9ydCB7IEZvY3VzT3JpZ2luIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBpbmplY3QsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb2N1c01hbmFnZXIsIGluamVjdERpc3Bvc2FibGVzLCB1bmlxdWVJZCB9IGZyb20gJ25nLXByaW1pdGl2ZXMvdXRpbHMnO1xuaW1wb3J0IHsgaW5qZWN0U2VsZWN0IH0gZnJvbSAnLi4vc2VsZWN0L3NlbGVjdC50b2tlbic7XG5pbXBvcnQgeyBOZ3BTZWxlY3RCdXR0b25Ub2tlbiB9IGZyb20gJy4vc2VsZWN0LWJ1dHRvbi50b2tlbic7XG5cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ2J1dHRvbltuZ3BTZWxlY3RCdXR0b25dJyxcbiAgZXhwb3J0QXM6ICduZ3BTZWxlY3RCdXR0b24nLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IE5ncFNlbGVjdEJ1dHRvblRva2VuLCB1c2VFeGlzdGluZzogTmdwU2VsZWN0QnV0dG9uIH1dLFxuICBob3N0OiB7XG4gICAgdHlwZTogJ2J1dHRvbicsXG4gICAgJ2FyaWEtaGFzcG9wdXAnOiAnbGlzdGJveCcsXG4gICAgJ1thdHRyLmlkXSc6ICdpZCgpJyxcbiAgICAnW2F0dHIuYXJpYS1leHBhbmRlZF0nOiAnc2VsZWN0Lm9wZW4oKScsXG4gICAgJ1thdHRyLmFyaWEtY29udHJvbHNdJzogJ3NlbGVjdC5vcGVuKCkgPyBzZWxlY3Qub3B0aW9ucygpPy5pZCgpIDogbnVsbCcsXG4gICAgJ1thdHRyLmRhdGEtc3RhdGVdJzogJ3NlbGVjdC5vcGVuKCkgPyBcIm9wZW5cIiA6IFwiY2xvc2VkXCInLFxuICAgICcoY2xpY2spJzogJ3RvZ2dsZSgpJyxcbiAgICAnKGtleWRvd24pJzogJ2tleWRvd24oJGV2ZW50KScsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIE5ncFNlbGVjdEJ1dHRvbiB7XG4gIC8qKlxuICAgKiBBY2Nlc3MgdGhlIHBhcmVudCBzZWxlY3QgY29tcG9uZW50LlxuICAgKi9cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHNlbGVjdCA9IGluamVjdFNlbGVjdDx1bmtub3duPigpO1xuXG4gIC8qKlxuICAgKiBBY2Nlc3MgdGhlIGRpc3Bvc2FibGUgaGVscGVycy5cbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgZGlzcG9zYWJsZXMgPSBpbmplY3REaXNwb3NhYmxlcygpO1xuXG4gIC8qKlxuICAgKiBBY2Nlc3MgdGhlIGVsZW1lbnQgcmVmZXJlbmNlLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHJlYWRvbmx5IGVsZW1lbnQgPSBpbmplY3Q8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KEVsZW1lbnRSZWYpO1xuXG4gIC8qKlxuICAgKiBBY2Nlc3MgdGhlIGZvY3VzIG1hbmFnZXJcbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgZm9jdXNNYW5hZ2VyID0gaW5qZWN0KEZvY3VzTWFuYWdlcik7XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsbHkgZGVmaW5lIGFuIGlkIGZvciB0aGUgYnV0dG9uLiBCeSBkZWZhdWx0LCB0aGUgaWQgaXMgZ2VuZXJhdGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgaWQgPSBpbnB1dCh1bmlxdWVJZCgnc2VsZWN0LWJ1dHRvbicpKTtcblxuICAvKipcbiAgICogVG9nZ2xlIHRoZSBzZWxlY3Qgb3BlbiBzdGF0ZS5cbiAgICovXG4gIHByb3RlY3RlZCB0b2dnbGUoKSB7XG4gICAgdGhpcy5zZWxlY3Qub3Blbi51cGRhdGUob3BlbiA9PiAhb3Blbik7XG4gIH1cblxuICAvKipcbiAgICogSGFuZGxlIGtleWJvYXJkIGV2ZW50cy4gSWYgdGhlIGxpc3QgaXMgY2xvc2VkLCBvcGVuIGl0IHdoZW4gdGhlIHVzZXIgcHJlc3NlcyB0aGUgYXJyb3cga2V5cy5cbiAgICogSWYgdGhlIGxpc3QgaXMgb3BlbiB0aGVuIHdlIG5hdmlnYXRlIHVzaW5nIGFjdGl2ZSBkZXNjZW5kYW50LlxuICAgKiBAcGFyYW0gZXZlbnRcbiAgICovXG4gIHByb3RlY3RlZCBrZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93RG93bicgfHwgZXZlbnQua2V5ID09PSAnQXJyb3dVcCcpIHtcbiAgICAgIHRoaXMuc2VsZWN0Lm9wZW4uc2V0KHRydWUpO1xuICAgICAgLy8gc3RvcCB0aGUgZXZlbnQgZnJvbSB0cmlnZ2VyaW5nIHNjcm9sbGluZyBvbiB0aGUgZHJvcGRvd25cbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuXG4gICAgLy8gaWYgdGhlIGVzY2FwZSBrZXkgaXMgcHJlc3NlZCwgY2xvc2UgdGhlIGRyb3Bkb3duXG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VzY2FwZScpIHtcbiAgICAgIHRoaXMuc2VsZWN0Lm9wZW4uc2V0KGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRm9jdXMgdGhlIGJ1dHRvbiBlbGVtZW50LlxuICAgKiBAcGFyYW0gb3JpZ2luXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgZm9jdXMob3JpZ2luPzogRm9jdXNPcmlnaW4pIHtcbiAgICAvLyB3ZSBydW4gYWZ0ZXIgdGhlIG5leHQgdGljayB0byBlbnN1cmUgYW55IGluLXByb2dyZXNzIGV2ZW50cyBkbyBub3QgZ2V0XG4gICAgLy8gcmVkaXJlY3RlZCB0byB0aGUgYnV0dG9uIGVsZW1lbnRcbiAgICB0aGlzLmRpc3Bvc2FibGVzLnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB0aGlzLmZvY3VzTWFuYWdlci5mb2N1cyh0aGlzLmVsZW1lbnQsIG9yaWdpbikpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright © 2024 Angular Primitives.
|
|
3
|
-
* https://github.com/ng-primitives/ng-primitives
|
|
4
|
-
*
|
|
5
|
-
* This source code is licensed under the CC BY-ND 4.0 license found in the
|
|
6
|
-
* LICENSE file in the root directory of this source tree.
|
|
7
|
-
*/
|
|
8
|
-
import { InjectionToken, inject } from '@angular/core';
|
|
9
|
-
export const NgpSelectButtonToken = new InjectionToken('NgpSelectButtonToken');
|
|
10
|
-
/**
|
|
11
|
-
* Inject the SelectButton directive instance
|
|
12
|
-
*/
|
|
13
|
-
export function injectSelectButton() {
|
|
14
|
-
return inject(NgpSelectButtonToken);
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWJ1dHRvbi50b2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nLXByaW1pdGl2ZXMvc2VsZWN0L3NyYy9zZWxlY3QtYnV0dG9uL3NlbGVjdC1idXR0b24udG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBQ0gsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHdkQsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxjQUFjLENBQWtCLHNCQUFzQixDQUFDLENBQUM7QUFFaEc7O0dBRUc7QUFDSCxNQUFNLFVBQVUsa0JBQWtCO0lBQ2hDLE9BQU8sTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7QUFDdEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IMKpIDIwMjQgQW5ndWxhciBQcmltaXRpdmVzLlxuICogaHR0cHM6Ly9naXRodWIuY29tL25nLXByaW1pdGl2ZXMvbmctcHJpbWl0aXZlc1xuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIENDIEJZLU5EIDQuMCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICovXG5pbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdHlwZSB7IE5ncFNlbGVjdEJ1dHRvbiB9IGZyb20gJy4vc2VsZWN0LWJ1dHRvbi5kaXJlY3RpdmUnO1xuXG5leHBvcnQgY29uc3QgTmdwU2VsZWN0QnV0dG9uVG9rZW4gPSBuZXcgSW5qZWN0aW9uVG9rZW48TmdwU2VsZWN0QnV0dG9uPignTmdwU2VsZWN0QnV0dG9uVG9rZW4nKTtcblxuLyoqXG4gKiBJbmplY3QgdGhlIFNlbGVjdEJ1dHRvbiBkaXJlY3RpdmUgaW5zdGFuY2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGluamVjdFNlbGVjdEJ1dHRvbigpOiBOZ3BTZWxlY3RCdXR0b24ge1xuICByZXR1cm4gaW5qZWN0KE5ncFNlbGVjdEJ1dHRvblRva2VuKTtcbn1cbiJdfQ==
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
import { Directive, ElementRef, booleanAttribute, computed, inject, input, signal, } from '@angular/core';
|
|
2
|
-
import { uniqueId } from 'ng-primitives/utils';
|
|
3
|
-
import { injectSelect } from '../select/select.token';
|
|
4
|
-
import { NgpSelectOptionToken } from './select-option.token';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export class NgpSelectOption {
|
|
7
|
-
constructor() {
|
|
8
|
-
/**
|
|
9
|
-
* Access the parent select component.
|
|
10
|
-
*/
|
|
11
|
-
this.select = injectSelect();
|
|
12
|
-
/**
|
|
13
|
-
* Access the element reference.
|
|
14
|
-
*/
|
|
15
|
-
this.element = inject((ElementRef));
|
|
16
|
-
/**
|
|
17
|
-
* Optionally define an id for the option. By default, the id is generated.
|
|
18
|
-
*/
|
|
19
|
-
this.id = input(uniqueId('select-option'));
|
|
20
|
-
/**
|
|
21
|
-
* The value of the option.
|
|
22
|
-
*/
|
|
23
|
-
this.value = input.required({
|
|
24
|
-
alias: 'ngpSelectOptionValue',
|
|
25
|
-
});
|
|
26
|
-
/**
|
|
27
|
-
* Whether the option is disabled.
|
|
28
|
-
*/
|
|
29
|
-
this.isDisabled = input(false, {
|
|
30
|
-
alias: 'ngpSelectOptionDisabled',
|
|
31
|
-
transform: booleanAttribute,
|
|
32
|
-
});
|
|
33
|
-
/**
|
|
34
|
-
* Whether the option is the active descendant.
|
|
35
|
-
*/
|
|
36
|
-
this.active = signal(false);
|
|
37
|
-
/**
|
|
38
|
-
* Determine if the option is selected.
|
|
39
|
-
*/
|
|
40
|
-
this.selected = computed(() => this.select.value() === this.value());
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* Set the active styles for the option.
|
|
44
|
-
* @internal
|
|
45
|
-
*/
|
|
46
|
-
setActiveStyles() {
|
|
47
|
-
this.active.set(true);
|
|
48
|
-
// scroll the option into view if needed
|
|
49
|
-
this.element.nativeElement.scrollIntoView({ block: 'nearest' });
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Set the inactive styles for the option.
|
|
53
|
-
* @internal
|
|
54
|
-
*/
|
|
55
|
-
setInactiveStyles() {
|
|
56
|
-
this.active.set(false);
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Handle the click event on the option.
|
|
60
|
-
*/
|
|
61
|
-
selectOption() {
|
|
62
|
-
if (!this.isDisabled()) {
|
|
63
|
-
this.select.value.update(() => this.value());
|
|
64
|
-
// close the dropdown after selecting an option
|
|
65
|
-
this.select.open.set(false);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: NgpSelectOption, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
69
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.0.2", type: NgpSelectOption, isStandalone: true, selector: "[ngpSelectOption]", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "ngpSelectOptionValue", isSignal: true, isRequired: true, transformFunction: null }, isDisabled: { classPropertyName: "isDisabled", publicName: "ngpSelectOptionDisabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "option" }, listeners: { "click": "selectOption()" }, properties: { "attr.id": "id()", "attr.aria-selected": "selected()", "attr.aria-disabled": "isDisabled()", "attr.data-state": "selected() ? \"selected\" : \"unselected\"", "attr.data-active": "active() ? \"\" : null", "attr.data-disabled": "isDisabled()" } }, providers: [{ provide: NgpSelectOptionToken, useExisting: NgpSelectOption }], exportAs: ["ngpSelectOption"], ngImport: i0 }); }
|
|
70
|
-
}
|
|
71
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: NgpSelectOption, decorators: [{
|
|
72
|
-
type: Directive,
|
|
73
|
-
args: [{
|
|
74
|
-
standalone: true,
|
|
75
|
-
selector: '[ngpSelectOption]',
|
|
76
|
-
exportAs: 'ngpSelectOption',
|
|
77
|
-
providers: [{ provide: NgpSelectOptionToken, useExisting: NgpSelectOption }],
|
|
78
|
-
host: {
|
|
79
|
-
role: 'option',
|
|
80
|
-
'[attr.id]': 'id()',
|
|
81
|
-
'[attr.aria-selected]': 'selected()',
|
|
82
|
-
'[attr.aria-disabled]': 'isDisabled()',
|
|
83
|
-
'[attr.data-state]': 'selected() ? "selected" : "unselected"',
|
|
84
|
-
'[attr.data-active]': 'active() ? "" : null',
|
|
85
|
-
'[attr.data-disabled]': 'isDisabled()',
|
|
86
|
-
'(click)': 'selectOption()',
|
|
87
|
-
},
|
|
88
|
-
}]
|
|
89
|
-
}] });
|
|
90
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LW9wdGlvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy1wcmltaXRpdmVzL3NlbGVjdC9zcmMvc2VsZWN0LW9wdGlvbi9zZWxlY3Qtb3B0aW9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFTQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixnQkFBZ0IsRUFDaEIsUUFBUSxFQUNSLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBa0I3RCxNQUFNLE9BQU8sZUFBZTtJQWhCNUI7UUFpQkU7O1dBRUc7UUFDZ0IsV0FBTSxHQUFHLFlBQVksRUFBSyxDQUFDO1FBRTlDOztXQUVHO1FBQ2dCLFlBQU8sR0FBRyxNQUFNLENBQUMsQ0FBQSxVQUF1QixDQUFBLENBQUMsQ0FBQztRQUU3RDs7V0FFRztRQUNNLE9BQUUsR0FBRyxLQUFLLENBQVMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7UUFFdkQ7O1dBRUc7UUFDTSxVQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBSTtZQUNqQyxLQUFLLEVBQUUsc0JBQXNCO1NBQzlCLENBQUMsQ0FBQztRQUVIOztXQUVHO1FBQ00sZUFBVSxHQUFHLEtBQUssQ0FBd0IsS0FBSyxFQUFFO1lBQ3hELEtBQUssRUFBRSx5QkFBeUI7WUFDaEMsU0FBUyxFQUFFLGdCQUFnQjtTQUM1QixDQUFDLENBQUM7UUFFSDs7V0FFRztRQUNnQixXQUFNLEdBQUcsTUFBTSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBRW5EOztXQUVHO1FBQ2dCLGFBQVEsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsS0FBSyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztLQStCcEY7SUE3QkM7OztPQUdHO0lBQ0gsZUFBZTtRQUNiLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXRCLHdDQUF3QztRQUN4QyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsaUJBQWlCO1FBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVEOztPQUVHO0lBQ08sWUFBWTtRQUNwQixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQzdDLCtDQUErQztZQUMvQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUIsQ0FBQztJQUNILENBQUM7OEdBckVVLGVBQWU7a0dBQWYsZUFBZSw2eUJBWmYsQ0FBQyxFQUFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLENBQUM7OzJGQVlqRSxlQUFlO2tCQWhCM0IsU0FBUzttQkFBQztvQkFDVCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsV0FBVyxpQkFBaUIsRUFBRSxDQUFDO29CQUM1RSxJQUFJLEVBQUU7d0JBQ0osSUFBSSxFQUFFLFFBQVE7d0JBQ2QsV0FBVyxFQUFFLE1BQU07d0JBQ25CLHNCQUFzQixFQUFFLFlBQVk7d0JBQ3BDLHNCQUFzQixFQUFFLGNBQWM7d0JBQ3RDLG1CQUFtQixFQUFFLHdDQUF3Qzt3QkFDN0Qsb0JBQW9CLEVBQUUsc0JBQXNCO3dCQUM1QyxzQkFBc0IsRUFBRSxjQUFjO3dCQUN0QyxTQUFTLEVBQUUsZ0JBQWdCO3FCQUM1QjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IMKpIDIwMjQgQW5ndWxhciBQcmltaXRpdmVzLlxuICogaHR0cHM6Ly9naXRodWIuY29tL25nLXByaW1pdGl2ZXMvbmctcHJpbWl0aXZlc1xuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIENDIEJZLU5EIDQuMCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICovXG5pbXBvcnQgeyBIaWdobGlnaHRhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgQm9vbGVhbklucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7XG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgY29tcHV0ZWQsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIHNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB1bmlxdWVJZCB9IGZyb20gJ25nLXByaW1pdGl2ZXMvdXRpbHMnO1xuaW1wb3J0IHsgaW5qZWN0U2VsZWN0IH0gZnJvbSAnLi4vc2VsZWN0L3NlbGVjdC50b2tlbic7XG5pbXBvcnQgeyBOZ3BTZWxlY3RPcHRpb25Ub2tlbiB9IGZyb20gJy4vc2VsZWN0LW9wdGlvbi50b2tlbic7XG5cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ1tuZ3BTZWxlY3RPcHRpb25dJyxcbiAgZXhwb3J0QXM6ICduZ3BTZWxlY3RPcHRpb24nLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IE5ncFNlbGVjdE9wdGlvblRva2VuLCB1c2VFeGlzdGluZzogTmdwU2VsZWN0T3B0aW9uIH1dLFxuICBob3N0OiB7XG4gICAgcm9sZTogJ29wdGlvbicsXG4gICAgJ1thdHRyLmlkXSc6ICdpZCgpJyxcbiAgICAnW2F0dHIuYXJpYS1zZWxlY3RlZF0nOiAnc2VsZWN0ZWQoKScsXG4gICAgJ1thdHRyLmFyaWEtZGlzYWJsZWRdJzogJ2lzRGlzYWJsZWQoKScsXG4gICAgJ1thdHRyLmRhdGEtc3RhdGVdJzogJ3NlbGVjdGVkKCkgPyBcInNlbGVjdGVkXCIgOiBcInVuc2VsZWN0ZWRcIicsXG4gICAgJ1thdHRyLmRhdGEtYWN0aXZlXSc6ICdhY3RpdmUoKSA/IFwiXCIgOiBudWxsJyxcbiAgICAnW2F0dHIuZGF0YS1kaXNhYmxlZF0nOiAnaXNEaXNhYmxlZCgpJyxcbiAgICAnKGNsaWNrKSc6ICdzZWxlY3RPcHRpb24oKScsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIE5ncFNlbGVjdE9wdGlvbjxUPiBpbXBsZW1lbnRzIEhpZ2hsaWdodGFibGUge1xuICAvKipcbiAgICogQWNjZXNzIHRoZSBwYXJlbnQgc2VsZWN0IGNvbXBvbmVudC5cbiAgICovXG4gIHByb3RlY3RlZCByZWFkb25seSBzZWxlY3QgPSBpbmplY3RTZWxlY3Q8VD4oKTtcblxuICAvKipcbiAgICogQWNjZXNzIHRoZSBlbGVtZW50IHJlZmVyZW5jZS5cbiAgICovXG4gIHByb3RlY3RlZCByZWFkb25seSBlbGVtZW50ID0gaW5qZWN0KEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+KTtcblxuICAvKipcbiAgICogT3B0aW9uYWxseSBkZWZpbmUgYW4gaWQgZm9yIHRoZSBvcHRpb24uIEJ5IGRlZmF1bHQsIHRoZSBpZCBpcyBnZW5lcmF0ZWQuXG4gICAqL1xuICByZWFkb25seSBpZCA9IGlucHV0PHN0cmluZz4odW5pcXVlSWQoJ3NlbGVjdC1vcHRpb24nKSk7XG5cbiAgLyoqXG4gICAqIFRoZSB2YWx1ZSBvZiB0aGUgb3B0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgdmFsdWUgPSBpbnB1dC5yZXF1aXJlZDxUPih7XG4gICAgYWxpYXM6ICduZ3BTZWxlY3RPcHRpb25WYWx1ZScsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBvcHRpb24gaXMgZGlzYWJsZWQuXG4gICAqL1xuICByZWFkb25seSBpc0Rpc2FibGVkID0gaW5wdXQ8Ym9vbGVhbiwgQm9vbGVhbklucHV0PihmYWxzZSwge1xuICAgIGFsaWFzOiAnbmdwU2VsZWN0T3B0aW9uRGlzYWJsZWQnLFxuICAgIHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIG9wdGlvbiBpcyB0aGUgYWN0aXZlIGRlc2NlbmRhbnQuXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgYWN0aXZlID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcblxuICAvKipcbiAgICogRGV0ZXJtaW5lIGlmIHRoZSBvcHRpb24gaXMgc2VsZWN0ZWQuXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2VsZWN0ZWQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnNlbGVjdC52YWx1ZSgpID09PSB0aGlzLnZhbHVlKCkpO1xuXG4gIC8qKlxuICAgKiBTZXQgdGhlIGFjdGl2ZSBzdHlsZXMgZm9yIHRoZSBvcHRpb24uXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgc2V0QWN0aXZlU3R5bGVzKCk6IHZvaWQge1xuICAgIHRoaXMuYWN0aXZlLnNldCh0cnVlKTtcblxuICAgIC8vIHNjcm9sbCB0aGUgb3B0aW9uIGludG8gdmlldyBpZiBuZWVkZWRcbiAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5zY3JvbGxJbnRvVmlldyh7IGJsb2NrOiAnbmVhcmVzdCcgfSk7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBpbmFjdGl2ZSBzdHlsZXMgZm9yIHRoZSBvcHRpb24uXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgc2V0SW5hY3RpdmVTdHlsZXMoKTogdm9pZCB7XG4gICAgdGhpcy5hY3RpdmUuc2V0KGZhbHNlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIYW5kbGUgdGhlIGNsaWNrIGV2ZW50IG9uIHRoZSBvcHRpb24uXG4gICAqL1xuICBwcm90ZWN0ZWQgc2VsZWN0T3B0aW9uKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5pc0Rpc2FibGVkKCkpIHtcbiAgICAgIHRoaXMuc2VsZWN0LnZhbHVlLnVwZGF0ZSgoKSA9PiB0aGlzLnZhbHVlKCkpO1xuICAgICAgLy8gY2xvc2UgdGhlIGRyb3Bkb3duIGFmdGVyIHNlbGVjdGluZyBhbiBvcHRpb25cbiAgICAgIHRoaXMuc2VsZWN0Lm9wZW4uc2V0KGZhbHNlKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright © 2024 Angular Primitives.
|
|
3
|
-
* https://github.com/ng-primitives/ng-primitives
|
|
4
|
-
*
|
|
5
|
-
* This source code is licensed under the CC BY-ND 4.0 license found in the
|
|
6
|
-
* LICENSE file in the root directory of this source tree.
|
|
7
|
-
*/
|
|
8
|
-
import { InjectionToken, inject } from '@angular/core';
|
|
9
|
-
export const NgpSelectOptionToken = new InjectionToken('NgpSelectOptionToken');
|
|
10
|
-
/**
|
|
11
|
-
* Inject the SelectOption directive instance
|
|
12
|
-
*/
|
|
13
|
-
export function injectSelectOption() {
|
|
14
|
-
return inject(NgpSelectOptionToken);
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LW9wdGlvbi50b2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nLXByaW1pdGl2ZXMvc2VsZWN0L3NyYy9zZWxlY3Qtb3B0aW9uL3NlbGVjdC1vcHRpb24udG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBQ0gsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHdkQsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxjQUFjLENBQ3BELHNCQUFzQixDQUN2QixDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLFVBQVUsa0JBQWtCO0lBQ2hDLE9BQU8sTUFBTSxDQUFxQixvQkFBb0IsQ0FBQyxDQUFDO0FBQzFELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCDCqSAyMDI0IEFuZ3VsYXIgUHJpbWl0aXZlcy5cbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9uZy1wcmltaXRpdmVzL25nLXByaW1pdGl2ZXNcbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBDQyBCWS1ORCA0LjAgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqL1xuaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4sIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUgeyBOZ3BTZWxlY3RPcHRpb24gfSBmcm9tICcuL3NlbGVjdC1vcHRpb24uZGlyZWN0aXZlJztcblxuZXhwb3J0IGNvbnN0IE5ncFNlbGVjdE9wdGlvblRva2VuID0gbmV3IEluamVjdGlvblRva2VuPE5ncFNlbGVjdE9wdGlvbjx1bmtub3duPj4oXG4gICdOZ3BTZWxlY3RPcHRpb25Ub2tlbicsXG4pO1xuXG4vKipcbiAqIEluamVjdCB0aGUgU2VsZWN0T3B0aW9uIGRpcmVjdGl2ZSBpbnN0YW5jZVxuICovXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0U2VsZWN0T3B0aW9uPFQ+KCk6IE5ncFNlbGVjdE9wdGlvbjxUPiB7XG4gIHJldHVybiBpbmplY3Q8TmdwU2VsZWN0T3B0aW9uPFQ+PihOZ3BTZWxlY3RPcHRpb25Ub2tlbik7XG59XG4iXX0=
|