@odx/angular 5.6.0 → 5.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/components/list/index.d.ts +1 -0
  3. package/components/list/lib/components/list-item/list-item.component.d.ts +6 -1
  4. package/components/list/lib/models/index.d.ts +1 -0
  5. package/components/list/lib/models/list-item-variant.d.ts +6 -0
  6. package/components/timepicker/README.md +3 -0
  7. package/components/timepicker/index.d.ts +7 -0
  8. package/components/timepicker/lib/components/timepicker-option.component.d.ts +28 -0
  9. package/components/timepicker/lib/directives/timepicker-input-control.directive.d.ts +44 -0
  10. package/components/timepicker/lib/timepicker.component.d.ts +82 -0
  11. package/components/timepicker/lib/timepicker.module.d.ts +10 -0
  12. package/components/timepicker/lib/timepicker.service.d.ts +57 -0
  13. package/components/timepicker/lib/timepicker.token.d.ts +9 -0
  14. package/components/timepicker/lib/utils/generate-time-stamps.d.ts +18 -0
  15. package/components/timepicker/lib/utils/index.d.ts +2 -0
  16. package/components/timepicker/lib/utils/ngx-mask-helper.d.ts +22 -0
  17. package/esm2022/components/list/index.mjs +2 -1
  18. package/esm2022/components/list/lib/components/list-item/list-item.component.mjs +13 -2
  19. package/esm2022/components/list/lib/models/index.mjs +2 -0
  20. package/esm2022/components/list/lib/models/list-item-variant.mjs +6 -0
  21. package/esm2022/components/notification/lib/components/notification-center/notification-center.component.mjs +2 -2
  22. package/esm2022/components/timepicker/index.mjs +8 -0
  23. package/esm2022/components/timepicker/lib/components/timepicker-option.component.mjs +59 -0
  24. package/esm2022/components/timepicker/lib/directives/timepicker-input-control.directive.mjs +94 -0
  25. package/esm2022/components/timepicker/lib/timepicker.component.mjs +213 -0
  26. package/esm2022/components/timepicker/lib/timepicker.module.mjs +20 -0
  27. package/esm2022/components/timepicker/lib/timepicker.service.mjs +92 -0
  28. package/esm2022/components/timepicker/lib/timepicker.token.mjs +9 -0
  29. package/esm2022/components/timepicker/lib/utils/generate-time-stamps.mjs +52 -0
  30. package/esm2022/components/timepicker/lib/utils/index.mjs +3 -0
  31. package/esm2022/components/timepicker/lib/utils/ngx-mask-helper.mjs +34 -0
  32. package/esm2022/components/timepicker/odx-angular-components-timepicker.mjs +5 -0
  33. package/esm2022/localization/lib/localization.config.mjs +5 -4
  34. package/esm2022/localization/lib/localization.service.mjs +18 -5
  35. package/fesm2022/odx-angular-components-list.mjs +18 -2
  36. package/fesm2022/odx-angular-components-list.mjs.map +1 -1
  37. package/fesm2022/odx-angular-components-notification.mjs +1 -1
  38. package/fesm2022/odx-angular-components-notification.mjs.map +1 -1
  39. package/fesm2022/odx-angular-components-timepicker.mjs +548 -0
  40. package/fesm2022/odx-angular-components-timepicker.mjs.map +1 -0
  41. package/fesm2022/odx-angular-localization.mjs +22 -8
  42. package/fesm2022/odx-angular-localization.mjs.map +1 -1
  43. package/localization/lib/localization.config.d.ts +2 -0
  44. package/localization/lib/localization.service.d.ts +5 -1
  45. package/package.json +7 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @odx/angular
2
2
 
3
+ ## 5.7.1
4
+
5
+ ### Patch Changes
6
+
7
+ - 7321693: new timepicker component
8
+
9
+ ## 5.7.0
10
+
11
+ ### Minor Changes
12
+
13
+ - 7bbcd5c: Updated List item colors and add warning state, danger attribute is deprecated.
14
+
3
15
  ## 5.6.0
4
16
 
5
17
  ### Minor Changes
@@ -1,3 +1,4 @@
1
1
  export * from './lib/components';
2
2
  export * from './lib/list.component';
3
3
  export * from './lib/list.module';
4
+ export * from './lib/models';
@@ -1,16 +1,21 @@
1
1
  import { OnChanges } from '@angular/core';
2
2
  import { NgChanges } from '@odx/angular/utils';
3
+ import { ListItemVariant } from '../../models';
3
4
  import * as i0 from "@angular/core";
4
5
  import * as i1 from "@odx/angular";
5
6
  export declare class ListItemComponent implements OnChanges {
6
7
  private readonly withTabIndex;
7
8
  readonly element: import("@angular/core").ElementRef<HTMLElement>;
9
+ /**
10
+ * @deprecated Use `variant` instead
11
+ */
8
12
  danger: boolean;
13
+ variant: ListItemVariant;
9
14
  muted: boolean;
10
15
  selected: boolean;
11
16
  ngOnChanges(changes: NgChanges<ListItemComponent>): void;
12
17
  static ɵfac: i0.ɵɵFactoryDeclaration<ListItemComponent, never>;
13
- static ɵcmp: i0.ɵɵComponentDeclaration<ListItemComponent, "odx-list-item, [odxListItem]", never, { "danger": { "alias": "danger"; "required": false; }; "muted": { "alias": "muted"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; }, {}, never, ["[odxListPrefix], [odxListItemPrefix]", "*", "[odxListSuffix], [odxListItemSuffix]"], true, [{ directive: typeof i1.WithDisabledState; inputs: {}; outputs: {}; }, { directive: typeof i1.WithTabIndex; inputs: {}; outputs: {}; }]>;
18
+ static ɵcmp: i0.ɵɵComponentDeclaration<ListItemComponent, "odx-list-item, [odxListItem]", never, { "danger": { "alias": "danger"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "muted": { "alias": "muted"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; }, {}, never, ["[odxListPrefix], [odxListItemPrefix]", "*", "[odxListSuffix], [odxListItemSuffix]"], true, [{ directive: typeof i1.WithDisabledState; inputs: {}; outputs: {}; }, { directive: typeof i1.WithTabIndex; inputs: {}; outputs: {}; }]>;
14
19
  static ngAcceptInputType_danger: unknown;
15
20
  static ngAcceptInputType_muted: unknown;
16
21
  static ngAcceptInputType_selected: unknown;
@@ -0,0 +1 @@
1
+ export * from './list-item-variant';
@@ -0,0 +1,6 @@
1
+ export type ListItemVariant = (typeof ListItemVariant)[keyof typeof ListItemVariant];
2
+ export declare const ListItemVariant: {
3
+ readonly DEFAULT: "default";
4
+ readonly DANGER: "danger";
5
+ readonly WARNING: "warning";
6
+ };
@@ -0,0 +1,3 @@
1
+ # @odx/angular/components/timepicker
2
+
3
+ Secondary entry point of `@odx/angular`. It can be used by importing from `@odx/angular/components/timepicker`.
@@ -0,0 +1,7 @@
1
+ export * from './lib/components/timepicker-option.component';
2
+ export * from './lib/directives/timepicker-input-control.directive';
3
+ export * from './lib/timepicker.component';
4
+ export * from './lib/timepicker.module';
5
+ export * from './lib/timepicker.service';
6
+ export * from './lib/timepicker.token';
7
+ export * from './lib/utils';
@@ -0,0 +1,28 @@
1
+ import { EventEmitter, OnInit } from '@angular/core';
2
+ import { DisabledController } from '@odx/angular';
3
+ import { OptionControl } from '@odx/angular/cdk/option-control';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@odx/angular";
6
+ /**
7
+ * Represents a selectable option within a timepicker component. This component allows for
8
+ * individual time values to be selected from a dropdown menu as part of the timepicker interface.
9
+ * It integrates with the timepicker's control to manage selection state and accessibility.
10
+ *
11
+ * @extends {OptionControl<string>}
12
+ */
13
+ export declare class TimepickerOptionComponent extends OptionControl<string> implements OnInit {
14
+ private readonly timepicker;
15
+ protected readonly disabledController: DisabledController | null;
16
+ isSelected: boolean;
17
+ isActive: boolean;
18
+ get disabled(): boolean;
19
+ /**
20
+ * Emits an event when the option is selected, allowing the timepicker component to update its value and close the dropdown.
21
+ */
22
+ selected: EventEmitter<TimepickerOptionComponent>;
23
+ constructor();
24
+ ngOnInit(): void;
25
+ protected selectOption(): void;
26
+ static ɵfac: i0.ɵɵFactoryDeclaration<TimepickerOptionComponent, never>;
27
+ static ɵcmp: i0.ɵɵComponentDeclaration<TimepickerOptionComponent, "odx-timepicker-option", never, {}, { "selected": "selected"; }, never, ["*"], true, [{ directive: typeof i1.WithDisabledState; inputs: {}; outputs: {}; }]>;
28
+ }
@@ -0,0 +1,44 @@
1
+ import { InputControlDirective } from '@odx/angular/cdk/custom-form-control';
2
+ import { IConfig, NgxMaskPipe } from 'ngx-mask';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@odx/angular";
5
+ /**
6
+ * Directive to enhance a standard input element for time picking, integrating mask functionality for time format.
7
+ * It automatically adapts to locale settings provided by the enclosing `TimepickerComponent` to display time in the appropriate format.
8
+ *
9
+ * @extends {InputControlDirective}
10
+ */
11
+ export declare class TimepickerInputControlDirective extends InputControlDirective {
12
+ private readonly timepicker;
13
+ private readonly timepickerService;
14
+ protected readonly ngxMaskPipe: NgxMaskPipe;
15
+ /**
16
+ * Configuration for the mask applied to the timepicker input. Adjusts based on locale settings.
17
+ */
18
+ protected get maskConfig(): Partial<IConfig>;
19
+ /**
20
+ * Stream of value changes for the input element, applying the mask and processing the input based on locale.
21
+ */
22
+ valueChange$: import("rxjs").Observable<string>;
23
+ /**
24
+ * Computes and returns the placeholder text for the input based on locale settings.
25
+ *
26
+ * @returns {string} The placeholder text for the input.
27
+ */
28
+ get placeholder(): string;
29
+ /**
30
+ * Determines whether the timepicker input is readonly, based on the state of the parent timepicker component.
31
+ *
32
+ * @returns {boolean} `true` if the input should be readonly; otherwise, `false`.
33
+ */
34
+ protected get isReadonly(): boolean;
35
+ /**
36
+ * Applies the time format mask to the input value, transforming and returning the masked value.
37
+ *
38
+ * @param {Event} event - The input event triggering the mask application.
39
+ * @returns {string} The masked input value.
40
+ */
41
+ private applyMask;
42
+ static ɵfac: i0.ɵɵFactoryDeclaration<TimepickerInputControlDirective, never>;
43
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TimepickerInputControlDirective, "input[odxTimepickerControl]", never, {}, {}, never, never, true, [{ directive: typeof i1.WithTabIndex; inputs: {}; outputs: {}; }]>;
44
+ }
@@ -0,0 +1,82 @@
1
+ import { ActiveDescendantKeyManager } from '@angular/cdk/a11y';
2
+ import { AfterViewInit, QueryList } from '@angular/core';
3
+ import { CustomFormControl } from '@odx/angular/cdk/custom-form-control';
4
+ import { OptionControl } from '@odx/angular/cdk/option-control';
5
+ import { DropdownDirective } from '@odx/angular/components/dropdown';
6
+ import { trackByIndex } from '@odx/angular/utils';
7
+ import { TimepickerOptionComponent } from './components/timepicker-option.component';
8
+ import { TimepickerInputControlDirective } from './directives/timepicker-input-control.directive';
9
+ import * as i0 from "@angular/core";
10
+ /**
11
+ * Represents a time picker component allowing users to select a time from a dropdown list.
12
+ * This component integrates with Angular forms and supports customization for locale, time range, and step intervals.
13
+ *
14
+ * @extends {CustomFormControl<string | null>}
15
+ */
16
+ export declare class TimepickerComponent extends CustomFormControl<string | null> implements AfterViewInit {
17
+ private readonly timepickerService;
18
+ private _useLocale;
19
+ protected keyManager?: ActiveDescendantKeyManager<OptionControl<string>>;
20
+ protected readonly takeUntilDestroyed: <T>() => import("rxjs").MonoTypeOperatorFunction<T>;
21
+ protected readonly trackByIndex: typeof trackByIndex;
22
+ protected readonly dropdown?: DropdownDirective;
23
+ protected options: QueryList<TimepickerOptionComponent>;
24
+ readonly element: import("@angular/core").ElementRef<HTMLElement>;
25
+ /**
26
+ * Controls whether the timepicker should use locale-specific time formats AM/PM.
27
+ * @default false
28
+ */
29
+ set useLocale(val: boolean);
30
+ get useLocale(): boolean;
31
+ /**
32
+ * Controls the step interval between time options in minutes.
33
+ * @default 30
34
+ */
35
+ step: number;
36
+ /**
37
+ * Specifies the minimum time value that can be selected ('05:00' or '05:00 AM').
38
+ * @default '00:00'
39
+ */
40
+ min: string;
41
+ /**
42
+ * Specifies the maximum time value that can be selected ('22:00' or '10:00 PM').
43
+ * @default '23:59'
44
+ */
45
+ max: string;
46
+ dateField?: TimepickerInputControlDirective;
47
+ constructor();
48
+ ngAfterViewInit(): void;
49
+ onOpen(): void;
50
+ isTimeOptionSelected(option: TimepickerOptionComponent): boolean;
51
+ /**
52
+ * Handles the selection of a time option from the dropdown, updating the input field and closing the dropdown.
53
+ *
54
+ * @param {TimepickerOptionComponent} option - The selected time option component.
55
+ */
56
+ timeSelected(option?: TimepickerOptionComponent): void;
57
+ /**
58
+ * Determines whether the specified time is within the allowed time range.
59
+ *
60
+ * @param {string} time - The time to check, in 'HH:mm' or 'HH:mm AM/PM' format.
61
+ * @returns {boolean} True if the time is within the range; otherwise, false.
62
+ */
63
+ inTimeRange(time: string): boolean;
64
+ /**
65
+ * Generates the list of time options based on the configured step interval and locale settings AM/PM.
66
+ *
67
+ * @returns {string[]} An array of time strings in 'HH:mm' format.
68
+ */
69
+ get timeStampsList(): string[];
70
+ protected handleControllerEvent(event: KeyboardEvent): void;
71
+ protected handleDateFieldChanges(): void;
72
+ private setActiveOptionBasedOnCurrentValue;
73
+ private activateOption;
74
+ private activateNearestTimeOption;
75
+ private findNearestTimeOption;
76
+ private updateInputValue;
77
+ private scrollToActiveOption;
78
+ static ɵfac: i0.ɵɵFactoryDeclaration<TimepickerComponent, never>;
79
+ static ɵcmp: i0.ɵɵComponentDeclaration<TimepickerComponent, "odx-timepicker", never, { "useLocale": { "alias": "useLocale"; "required": false; }; "step": { "alias": "step"; "required": false; }; "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; }, {}, never, never, true, never>;
80
+ static ngAcceptInputType_useLocale: unknown;
81
+ static ngAcceptInputType_step: unknown;
82
+ }
@@ -0,0 +1,10 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./timepicker.component";
3
+ import * as i2 from "./directives/timepicker-input-control.directive";
4
+ import * as i3 from "./components/timepicker-option.component";
5
+ import * as i4 from "@odx/angular";
6
+ export declare class TimepickerModule {
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<TimepickerModule, never>;
8
+ static ɵmod: i0.ɵɵNgModuleDeclaration<TimepickerModule, never, [typeof i1.TimepickerComponent, typeof i2.TimepickerInputControlDirective, typeof i3.TimepickerOptionComponent], [typeof i4.CoreModule, typeof i1.TimepickerComponent, typeof i2.TimepickerInputControlDirective, typeof i3.TimepickerOptionComponent]>;
9
+ static ɵinj: i0.ɵɵInjectorDeclaration<TimepickerModule>;
10
+ }
@@ -0,0 +1,57 @@
1
+ import * as i0 from "@angular/core";
2
+ /**
3
+ * Service to provide utility functions for timepicker components, including validation, placeholder generation, and finding the closest time.
4
+ * It also handles locale-based time formatting.
5
+ */
6
+ export declare class TimepickerService {
7
+ private readonly windowRef;
8
+ /**
9
+ * Generates a placeholder string for time input fields.
10
+ *
11
+ * @param {boolean} apm - Specifies if the placeholder should include AM/PM notation.
12
+ * @returns {string} The placeholder string.
13
+ */
14
+ getPlaceholder(apm?: boolean): string;
15
+ /**
16
+ * Validates if the given time is less than or equal to a maximum time constraint.
17
+ *
18
+ * @param {string} time - The time to validate.
19
+ * @param {string} max - The maximum allowable time.
20
+ * @returns {boolean} True if the time is valid, false otherwise.
21
+ */
22
+ maxValidation(time: string, max: string): boolean;
23
+ /**
24
+ * Validates if the given time is greater than or equal to a minimum time constraint.
25
+ *
26
+ * @param {string} time - The time to validate.
27
+ * @param {string} min - The minimum allowable time.
28
+ * @returns {boolean} True if the time is valid, false otherwise.
29
+ */
30
+ minValidation(time: string, min: string): boolean;
31
+ /**
32
+ * Finds the closest time to a target time from a list of times.
33
+ *
34
+ * @param {string[]} timeStamps - The list of times to search through.
35
+ * @param {string} targetTime - The target time to find the closest match for.
36
+ * @returns {string} The closest time to the target.
37
+ */
38
+ findClosestDate(timeStamps: string[], targetTime: string): string;
39
+ /**
40
+ * Formats a time string to a localized time format.
41
+ *
42
+ * @param {string} time - The time string to format.
43
+ * @param {boolean} hour12 - Specifies if the output should use 12-hour format with AM/PM notation.
44
+ * @returns {string} The formatted time string.
45
+ */
46
+ getLocalizedTimeFormat(time: string, hour12?: boolean): string;
47
+ /**
48
+ * Converts an array of time strings to an array of Date objects.
49
+ *
50
+ * @param {string[]} times - The time strings to convert.
51
+ * @returns {Date[]} An array of Date objects corresponding to the input times.
52
+ * @private
53
+ */
54
+ private convertToDates;
55
+ static ɵfac: i0.ɵɵFactoryDeclaration<TimepickerService, never>;
56
+ static ɵprov: i0.ɵɵInjectableDeclaration<TimepickerService>;
57
+ }
@@ -0,0 +1,9 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ import { TimepickerComponent } from './timepicker.component';
3
+ /**
4
+ * An InjectionToken used for injecting an instance of TimepickerComponent.
5
+ * This token facilitates the decoupling of the TimepickerComponent's implementation from its consumption,
6
+ * allowing for more flexible and maintainable code, especially in scenarios requiring custom time picker
7
+ * behavior or appearance.
8
+ */
9
+ export declare const TIMEPICKER_CONTROL: InjectionToken<TimepickerComponent>;
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Generates an array of time stamps within a 24-hour period based on the specified step interval.
3
+ * The time stamps can be formatted in 24-hour format or 12-hour format with AM/PM based on locale preference.
4
+ *
5
+ * @param {number} step - The interval, in minutes, between each time stamp.
6
+ * @param {boolean} useLocale - Determines if the time stamps should use the 12-hour format with AM/PM (`true`) or the 24-hour format (`false`).
7
+ * @returns {string[]} An array of formatted time stamps as strings.
8
+ * @example
9
+ * // Generate time stamps every 30 minutes using 24-hour format
10
+ * generateTimeStamps(30, false);
11
+ * // Returns ["00:00", "00:30", "01:00", ..., "23:30"]
12
+ *
13
+ * @example
14
+ * // Generate time stamps every 60 minutes using 12-hour format with AM/PM
15
+ * generateTimeStamps(60, true);
16
+ * // Returns ["12:00 AM", "01:00 AM", ..., "11:00 PM"]
17
+ */
18
+ export declare function generateTimeStamps(step: number, useLocale: boolean): string[];
@@ -0,0 +1,2 @@
1
+ export * from './generate-time-stamps';
2
+ export * from './ngx-mask-helper';
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Processes and formats a time input value based on specific rules. It adjusts the input for valid time format,
3
+ * especially focusing on single-digit hour inputs, ensuring minute values start with 0 if the last digit is greater
4
+ * than 5, and appending 'M' to AM/PM indicators.
5
+ *
6
+ * @param {string} value - The current input value of the time field.
7
+ * @param {InputEvent} event - The input event triggered by the user's interaction with the field.
8
+ * @returns {string} The processed and potentially reformatted value.
9
+ *
10
+ * @example
11
+ * // Prepend 0 to single-digit hours greater than 1
12
+ * processInputValue("2", { inputType: "insertText" }); // Returns "02"
13
+ *
14
+ * @example
15
+ * // Ensure minute values are within valid ranges
16
+ * processInputValue("11:8", { inputType: "insertText" }); // Returns "11:08"
17
+ *
18
+ * @example
19
+ * // Append 'M' to AM/PM indicators
20
+ * processInputValue("2 p", { inputType: "insertText" }); // Returns "2 PM"
21
+ */
22
+ export declare function processInputValue(value: string, event: InputEvent): string;
@@ -1,4 +1,5 @@
1
1
  export * from './lib/components';
2
2
  export * from './lib/list.component';
3
3
  export * from './lib/list.module';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9saXN0L3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbGlzdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbGlzdC5tb2R1bGUnO1xuIl19
4
+ export * from './lib/models';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9saXN0L3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbGlzdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbGlzdC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzJztcbiJdfQ==
@@ -3,13 +3,18 @@ import { booleanAttribute, ChangeDetectionStrategy, Component, HostBinding, inje
3
3
  import { WithDisabledState, WithTabIndex } from '@odx/angular';
4
4
  import { CSSComponent, CSSModifier } from '@odx/angular/internal';
5
5
  import { hasChanged, injectElement } from '@odx/angular/utils';
6
+ import { ListItemVariant } from '../../models';
6
7
  import * as i0 from "@angular/core";
7
8
  import * as i1 from "@odx/angular";
8
9
  export let ListItemComponent = class ListItemComponent {
9
10
  constructor() {
10
11
  this.withTabIndex = inject(WithTabIndex, { self: true });
11
12
  this.element = injectElement();
13
+ /**
14
+ * @deprecated Use `variant` instead
15
+ */
12
16
  this.danger = false;
17
+ this.variant = ListItemVariant.DEFAULT;
13
18
  this.muted = false;
14
19
  this.selected = false;
15
20
  }
@@ -19,12 +24,16 @@ export let ListItemComponent = class ListItemComponent {
19
24
  }
20
25
  }
21
26
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ListItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
22
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "16.2.12", type: ListItemComponent, isStandalone: true, selector: "odx-list-item, [odxListItem]", inputs: { danger: ["danger", "danger", booleanAttribute], muted: ["muted", "muted", booleanAttribute], selected: ["selected", "selected", booleanAttribute] }, host: { properties: { "class.is-selected": "this.selected" } }, usesOnChanges: true, hostDirectives: [{ directive: i1.WithDisabledState }, { directive: i1.WithTabIndex }], ngImport: i0, template: "<ng-content select=\"[odxListPrefix], [odxListItemPrefix]\" />\n<div class=\"odx-list-item__content\">\n <ng-content />\n</div>\n<ng-content select=\"[odxListSuffix], [odxListItemSuffix]\" />\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
27
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "16.2.12", type: ListItemComponent, isStandalone: true, selector: "odx-list-item, [odxListItem]", inputs: { danger: ["danger", "danger", booleanAttribute], variant: "variant", muted: ["muted", "muted", booleanAttribute], selected: ["selected", "selected", booleanAttribute] }, host: { properties: { "class.is-selected": "this.selected" } }, usesOnChanges: true, hostDirectives: [{ directive: i1.WithDisabledState }, { directive: i1.WithTabIndex }], ngImport: i0, template: "<ng-content select=\"[odxListPrefix], [odxListItemPrefix]\" />\n<div class=\"odx-list-item__content\">\n <ng-content />\n</div>\n<ng-content select=\"[odxListSuffix], [odxListItemSuffix]\" />\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
23
28
  };
24
29
  __decorate([
25
30
  CSSModifier(),
26
31
  __metadata("design:type", Object)
27
32
  ], ListItemComponent.prototype, "danger", void 0);
33
+ __decorate([
34
+ CSSModifier(),
35
+ __metadata("design:type", String)
36
+ ], ListItemComponent.prototype, "variant", void 0);
28
37
  __decorate([
29
38
  CSSModifier(),
30
39
  __metadata("design:type", Object)
@@ -38,6 +47,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
38
47
  }], propDecorators: { danger: [{
39
48
  type: Input,
40
49
  args: [{ transform: booleanAttribute }]
50
+ }], variant: [{
51
+ type: Input
41
52
  }], muted: [{
42
53
  type: Input,
43
54
  args: [{ transform: booleanAttribute }]
@@ -48,4 +59,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
48
59
  type: Input,
49
60
  args: [{ transform: booleanAttribute }]
50
61
  }] } });
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL2xpc3Qvc3JjL2xpYi9jb21wb25lbnRzL2xpc3QtaXRlbS9saXN0LWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2NvbXBvbmVudHMvbGlzdC9zcmMvbGliL2NvbXBvbmVudHMvbGlzdC1pdGVtL2xpc3QtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBYSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvSSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQWEsTUFBTSxvQkFBb0IsQ0FBQzs7O0FBV25FLFdBQU0saUJBQWlCLEdBQXZCLE1BQU0saUJBQWlCO0lBQXZCO1FBQ1ksaUJBQVksR0FBRyxNQUFNLENBQUMsWUFBWSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFFckQsWUFBTyxHQUFHLGFBQWEsRUFBZSxDQUFDO1FBSWhELFdBQU0sR0FBRyxLQUFLLENBQUM7UUFJZixVQUFLLEdBQUcsS0FBSyxDQUFDO1FBSWQsYUFBUSxHQUFHLEtBQUssQ0FBQztLQU96QjtJQUxRLFdBQVcsQ0FBQyxPQUFxQztRQUN0RCxJQUFJLFVBQVUsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN2RDtJQUNILENBQUM7K0dBckJVLGlCQUFpQjttR0FBakIsaUJBQWlCLHVHQU1SLGdCQUFnQiw2QkFJaEIsZ0JBQWdCLHNDQUloQixnQkFBZ0IseU1DNUJ0QyxvTUFLQTs7QURnQlM7SUFGTixXQUFXLEVBQUU7O2lEQUVRO0FBSWY7SUFGTixXQUFXLEVBQUU7O2dEQUVPO0FBWFYsaUJBQWlCO0lBVDdCLFlBQVksQ0FBQyxXQUFXLENBQUM7R0FTYixpQkFBaUIsQ0FzQjdCOzRGQXRCWSxpQkFBaUI7a0JBUjdCLFNBQVM7aUNBQ0ksSUFBSSxZQUNOLDhCQUE4QixpQkFFekIsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxrQkFDL0IsQ0FBQyxpQkFBaUIsRUFBRSxZQUFZLENBQUM7OEJBUzFDLE1BQU07c0JBRFosS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFLL0IsS0FBSztzQkFEWCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUsvQixRQUFRO3NCQUZkLFdBQVc7dUJBQUMsbUJBQW1COztzQkFDL0IsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGJvb2xlYW5BdHRyaWJ1dGUsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBpbmplY3QsIElucHV0LCBPbkNoYW5nZXMsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBXaXRoRGlzYWJsZWRTdGF0ZSwgV2l0aFRhYkluZGV4IH0gZnJvbSAnQG9keC9hbmd1bGFyJztcbmltcG9ydCB7IENTU0NvbXBvbmVudCwgQ1NTTW9kaWZpZXIgfSBmcm9tICdAb2R4L2FuZ3VsYXIvaW50ZXJuYWwnO1xuaW1wb3J0IHsgaGFzQ2hhbmdlZCwgaW5qZWN0RWxlbWVudCwgTmdDaGFuZ2VzIH0gZnJvbSAnQG9keC9hbmd1bGFyL3V0aWxzJztcblxuQENTU0NvbXBvbmVudCgnbGlzdC1pdGVtJylcbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ29keC1saXN0LWl0ZW0sIFtvZHhMaXN0SXRlbV0nLFxuICB0ZW1wbGF0ZVVybDogJy4vbGlzdC1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3REaXJlY3RpdmVzOiBbV2l0aERpc2FibGVkU3RhdGUsIFdpdGhUYWJJbmRleF0sXG59KVxuZXhwb3J0IGNsYXNzIExpc3RJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgcHJpdmF0ZSByZWFkb25seSB3aXRoVGFiSW5kZXggPSBpbmplY3QoV2l0aFRhYkluZGV4LCB7IHNlbGY6IHRydWUgfSk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGVsZW1lbnQgPSBpbmplY3RFbGVtZW50PEhUTUxFbGVtZW50PigpO1xuXG4gIEBDU1NNb2RpZmllcigpXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICBwdWJsaWMgZGFuZ2VyID0gZmFsc2U7XG5cbiAgQENTU01vZGlmaWVyKClcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gIHB1YmxpYyBtdXRlZCA9IGZhbHNlO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuaXMtc2VsZWN0ZWQnKVxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgcHVibGljIHNlbGVjdGVkID0gZmFsc2U7XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IE5nQ2hhbmdlczxMaXN0SXRlbUNvbXBvbmVudD4pOiB2b2lkIHtcbiAgICBpZiAoaGFzQ2hhbmdlZChjaGFuZ2VzLCAnbXV0ZWQnLCBmYWxzZSkpIHtcbiAgICAgIHRoaXMud2l0aFRhYkluZGV4LnNldFRhYmluZGV4KHRoaXMubXV0ZWQgPyAtMSA6IG51bGwpO1xuICAgIH1cbiAgfVxufVxuIiwiPG5nLWNvbnRlbnQgc2VsZWN0PVwiW29keExpc3RQcmVmaXhdLCBbb2R4TGlzdEl0ZW1QcmVmaXhdXCIgLz5cbjxkaXYgY2xhc3M9XCJvZHgtbGlzdC1pdGVtX19jb250ZW50XCI+XG4gIDxuZy1jb250ZW50IC8+XG48L2Rpdj5cbjxuZy1jb250ZW50IHNlbGVjdD1cIltvZHhMaXN0U3VmZml4XSwgW29keExpc3RJdGVtU3VmZml4XVwiIC8+XG4iXX0=
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL2xpc3Qvc3JjL2xpYi9jb21wb25lbnRzL2xpc3QtaXRlbS9saXN0LWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2NvbXBvbmVudHMvbGlzdC9zcmMvbGliL2NvbXBvbmVudHMvbGlzdC1pdGVtL2xpc3QtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBYSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvSSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQWEsTUFBTSxvQkFBb0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7QUFXeEMsV0FBTSxpQkFBaUIsR0FBdkIsTUFBTSxpQkFBaUI7SUFBdkI7UUFDWSxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxZQUFZLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUVyRCxZQUFPLEdBQUcsYUFBYSxFQUFlLENBQUM7UUFFdkQ7O1dBRUc7UUFHSSxXQUFNLEdBQUcsS0FBSyxDQUFDO1FBSWYsWUFBTyxHQUFvQixlQUFlLENBQUMsT0FBTyxDQUFDO1FBSW5ELFVBQUssR0FBRyxLQUFLLENBQUM7UUFJZCxhQUFRLEdBQUcsS0FBSyxDQUFDO0tBT3pCO0lBTFEsV0FBVyxDQUFDLE9BQXFDO1FBQ3RELElBQUksVUFBVSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLEVBQUU7WUFDdkMsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3ZEO0lBQ0gsQ0FBQzsrR0E1QlUsaUJBQWlCO21HQUFqQixpQkFBaUIsdUdBU1IsZ0JBQWdCLGlEQVFoQixnQkFBZ0Isc0NBSWhCLGdCQUFnQix5TUNwQ3RDLG9NQUtBOztBRG9CUztJQUZOLFdBQVcsRUFBRTs7aURBRVE7QUFJZjtJQUZOLFdBQVcsRUFBRTs7a0RBRTRDO0FBSW5EO0lBRk4sV0FBVyxFQUFFOztnREFFTztBQWxCVixpQkFBaUI7SUFUN0IsWUFBWSxDQUFDLFdBQVcsQ0FBQztHQVNiLGlCQUFpQixDQTZCN0I7NEZBN0JZLGlCQUFpQjtrQkFSN0IsU0FBUztpQ0FDSSxJQUFJLFlBQ04sOEJBQThCLGlCQUV6QixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLGtCQUMvQixDQUFDLGlCQUFpQixFQUFFLFlBQVksQ0FBQzs4QkFZMUMsTUFBTTtzQkFEWixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUsvQixPQUFPO3NCQURiLEtBQUs7Z0JBS0MsS0FBSztzQkFEWCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUsvQixRQUFRO3NCQUZkLFdBQVc7dUJBQUMsbUJBQW1COztzQkFDL0IsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGJvb2xlYW5BdHRyaWJ1dGUsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBpbmplY3QsIElucHV0LCBPbkNoYW5nZXMsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBXaXRoRGlzYWJsZWRTdGF0ZSwgV2l0aFRhYkluZGV4IH0gZnJvbSAnQG9keC9hbmd1bGFyJztcbmltcG9ydCB7IENTU0NvbXBvbmVudCwgQ1NTTW9kaWZpZXIgfSBmcm9tICdAb2R4L2FuZ3VsYXIvaW50ZXJuYWwnO1xuaW1wb3J0IHsgaGFzQ2hhbmdlZCwgaW5qZWN0RWxlbWVudCwgTmdDaGFuZ2VzIH0gZnJvbSAnQG9keC9hbmd1bGFyL3V0aWxzJztcbmltcG9ydCB7IExpc3RJdGVtVmFyaWFudCB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5cbkBDU1NDb21wb25lbnQoJ2xpc3QtaXRlbScpXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdvZHgtbGlzdC1pdGVtLCBbb2R4TGlzdEl0ZW1dJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xpc3QtaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0RGlyZWN0aXZlczogW1dpdGhEaXNhYmxlZFN0YXRlLCBXaXRoVGFiSW5kZXhdLFxufSlcbmV4cG9ydCBjbGFzcyBMaXN0SXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIHByaXZhdGUgcmVhZG9ubHkgd2l0aFRhYkluZGV4ID0gaW5qZWN0KFdpdGhUYWJJbmRleCwgeyBzZWxmOiB0cnVlIH0pO1xuXG4gIHB1YmxpYyByZWFkb25seSBlbGVtZW50ID0gaW5qZWN0RWxlbWVudDxIVE1MRWxlbWVudD4oKTtcblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgVXNlIGB2YXJpYW50YCBpbnN0ZWFkXG4gICAqL1xuICBAQ1NTTW9kaWZpZXIoKVxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgcHVibGljIGRhbmdlciA9IGZhbHNlO1xuXG4gIEBDU1NNb2RpZmllcigpXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB2YXJpYW50OiBMaXN0SXRlbVZhcmlhbnQgPSBMaXN0SXRlbVZhcmlhbnQuREVGQVVMVDtcblxuICBAQ1NTTW9kaWZpZXIoKVxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgcHVibGljIG11dGVkID0gZmFsc2U7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pcy1zZWxlY3RlZCcpXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICBwdWJsaWMgc2VsZWN0ZWQgPSBmYWxzZTtcblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogTmdDaGFuZ2VzPExpc3RJdGVtQ29tcG9uZW50Pik6IHZvaWQge1xuICAgIGlmIChoYXNDaGFuZ2VkKGNoYW5nZXMsICdtdXRlZCcsIGZhbHNlKSkge1xuICAgICAgdGhpcy53aXRoVGFiSW5kZXguc2V0VGFiaW5kZXgodGhpcy5tdXRlZCA/IC0xIDogbnVsbCk7XG4gICAgfVxuICB9XG59XG4iLCI8bmctY29udGVudCBzZWxlY3Q9XCJbb2R4TGlzdFByZWZpeF0sIFtvZHhMaXN0SXRlbVByZWZpeF1cIiAvPlxuPGRpdiBjbGFzcz1cIm9keC1saXN0LWl0ZW1fX2NvbnRlbnRcIj5cbiAgPG5nLWNvbnRlbnQgLz5cbjwvZGl2PlxuPG5nLWNvbnRlbnQgc2VsZWN0PVwiW29keExpc3RTdWZmaXhdLCBbb2R4TGlzdEl0ZW1TdWZmaXhdXCIgLz5cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export * from './list-item-variant';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9saXN0L3NyYy9saWIvbW9kZWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpc3QtaXRlbS12YXJpYW50JztcbiJdfQ==
@@ -0,0 +1,6 @@
1
+ export const ListItemVariant = {
2
+ DEFAULT: 'default',
3
+ DANGER: 'danger',
4
+ WARNING: 'warning',
5
+ };
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1pdGVtLXZhcmlhbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9saXN0L3NyYy9saWIvbW9kZWxzL2xpc3QtaXRlbS12YXJpYW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRztJQUM3QixPQUFPLEVBQUUsU0FBUztJQUNsQixNQUFNLEVBQUUsUUFBUTtJQUNoQixPQUFPLEVBQUUsU0FBUztDQUNWLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBMaXN0SXRlbVZhcmlhbnQgPSAodHlwZW9mIExpc3RJdGVtVmFyaWFudClba2V5b2YgdHlwZW9mIExpc3RJdGVtVmFyaWFudF07XG5cbmV4cG9ydCBjb25zdCBMaXN0SXRlbVZhcmlhbnQgPSB7XG4gIERFRkFVTFQ6ICdkZWZhdWx0JyxcbiAgREFOR0VSOiAnZGFuZ2VyJyxcbiAgV0FSTklORzogJ3dhcm5pbmcnLFxufSBhcyBjb25zdDtcbiJdfQ==
@@ -40,7 +40,7 @@ export let NotificationCenterComponent = class NotificationCenterComponent {
40
40
  return hasBeenSeen && !options.action;
41
41
  }
42
42
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NotificationCenterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
43
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NotificationCenterComponent, isStandalone: true, selector: "odx-notification-center", providers: [provideTranslations(notificationI18n)], ngImport: i0, template: "<ng-template [ngIf]=\"notificationCenterService.notifications$ | async\" let-notifications>\n <h3 class=\"odx-notification-center__header\">\n <ng-template [odxDynamicView]=\"(notificationCenterService.title$ | async) ?? ('title' | odxTranslate | async)\"></ng-template>\n </h3>\n <odx-list class=\"odx-notification-center__content\">\n <odx-list-item\n @notificationAnimation\n [muted]=\"isMuted(notification)\"\n [selected]=\"!notification.hasBeenSeen\"\n (click)=\"notificationCenterService.executeAction(notification)\"\n *ngFor=\"let notification of notifications.values; trackBy: trackById\"\n >\n <odx-notification-item [notification]=\"notification\" (dismiss)=\"notificationCenterService.dismiss(notification)\" />\n </odx-list-item>\n </odx-list>\n <div class=\"odx-notification-center__footer\">\n <button odxButton [disabled]=\"false\" (click)=\"notificationCenterService.dismissAll()\">\n {{ 'dismissAll' | odxTranslate | async }}\n </button>\n </div>\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "component", type: ButtonComponent, selector: "button[odxButton], a[odxButton]", inputs: ["variant", "size"] }, { kind: "directive", type: DynamicViewDirective, selector: "ng-template[odxDynamicView]", inputs: ["odxDynamicView", "odxDynamicViewInjector", "odxDynamicViewContext"] }, { kind: "ngmodule", type: DropdownModule }, { kind: "directive", type: i2.DisabledController, selector: "[disabled]", inputs: ["disabled"] }, { kind: "pipe", type: TranslatePipe, name: "odxTranslate" }, { kind: "component", type: NotificationItemComponent, selector: "odx-notification-item", inputs: ["notification"], outputs: ["dismiss"] }, { kind: "ngmodule", type: ListModule }, { kind: "component", type: i3.ListComponent, selector: "odx-list" }, { kind: "component", type: i3.ListItemComponent, selector: "odx-list-item, [odxListItem]", inputs: ["danger", "muted", "selected"] }], animations: [trigger('notificationAnimation', [transition(':leave', useAnimation(collapse, { delay: 150 }))])], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
43
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NotificationCenterComponent, isStandalone: true, selector: "odx-notification-center", providers: [provideTranslations(notificationI18n)], ngImport: i0, template: "<ng-template [ngIf]=\"notificationCenterService.notifications$ | async\" let-notifications>\n <h3 class=\"odx-notification-center__header\">\n <ng-template [odxDynamicView]=\"(notificationCenterService.title$ | async) ?? ('title' | odxTranslate | async)\"></ng-template>\n </h3>\n <odx-list class=\"odx-notification-center__content\">\n <odx-list-item\n @notificationAnimation\n [muted]=\"isMuted(notification)\"\n [selected]=\"!notification.hasBeenSeen\"\n (click)=\"notificationCenterService.executeAction(notification)\"\n *ngFor=\"let notification of notifications.values; trackBy: trackById\"\n >\n <odx-notification-item [notification]=\"notification\" (dismiss)=\"notificationCenterService.dismiss(notification)\" />\n </odx-list-item>\n </odx-list>\n <div class=\"odx-notification-center__footer\">\n <button odxButton [disabled]=\"false\" (click)=\"notificationCenterService.dismissAll()\">\n {{ 'dismissAll' | odxTranslate | async }}\n </button>\n </div>\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "component", type: ButtonComponent, selector: "button[odxButton], a[odxButton]", inputs: ["variant", "size"] }, { kind: "directive", type: DynamicViewDirective, selector: "ng-template[odxDynamicView]", inputs: ["odxDynamicView", "odxDynamicViewInjector", "odxDynamicViewContext"] }, { kind: "ngmodule", type: DropdownModule }, { kind: "directive", type: i2.DisabledController, selector: "[disabled]", inputs: ["disabled"] }, { kind: "pipe", type: TranslatePipe, name: "odxTranslate" }, { kind: "component", type: NotificationItemComponent, selector: "odx-notification-item", inputs: ["notification"], outputs: ["dismiss"] }, { kind: "ngmodule", type: ListModule }, { kind: "component", type: i3.ListComponent, selector: "odx-list" }, { kind: "component", type: i3.ListItemComponent, selector: "odx-list-item, [odxListItem]", inputs: ["danger", "variant", "muted", "selected"] }], animations: [trigger('notificationAnimation', [transition(':leave', useAnimation(collapse, { delay: 150 }))])], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
44
44
  };
45
45
  NotificationCenterComponent = __decorate([
46
46
  CSSComponent('notification-center')
@@ -62,4 +62,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
62
62
  ListModule,
63
63
  ], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [provideTranslations(notificationI18n)], animations: [trigger('notificationAnimation', [transition(':leave', useAnimation(collapse, { delay: 150 }))])], template: "<ng-template [ngIf]=\"notificationCenterService.notifications$ | async\" let-notifications>\n <h3 class=\"odx-notification-center__header\">\n <ng-template [odxDynamicView]=\"(notificationCenterService.title$ | async) ?? ('title' | odxTranslate | async)\"></ng-template>\n </h3>\n <odx-list class=\"odx-notification-center__content\">\n <odx-list-item\n @notificationAnimation\n [muted]=\"isMuted(notification)\"\n [selected]=\"!notification.hasBeenSeen\"\n (click)=\"notificationCenterService.executeAction(notification)\"\n *ngFor=\"let notification of notifications.values; trackBy: trackById\"\n >\n <odx-notification-item [notification]=\"notification\" (dismiss)=\"notificationCenterService.dismiss(notification)\" />\n </odx-list-item>\n </odx-list>\n <div class=\"odx-notification-center__footer\">\n <button odxButton [disabled]=\"false\" (click)=\"notificationCenterService.dismissAll()\">\n {{ 'dismissAll' | odxTranslate | async }}\n </button>\n </div>\n</ng-template>\n" }]
64
64
  }] });
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLWNlbnRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9ub3RpZmljYXRpb24vc3JjL2xpYi9jb21wb25lbnRzL25vdGlmaWNhdGlvbi1jZW50ZXIvbm90aWZpY2F0aW9uLWNlbnRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9ub3RpZmljYXRpb24vc3JjL2xpYi9jb21wb25lbnRzL25vdGlmaWNhdGlvbi1jZW50ZXIvbm90aWZpY2F0aW9uLWNlbnRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDeEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQWEsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDckUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDNUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNqRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzdELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUFFLGFBQWEsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFOUQsT0FBTyxnQkFBZ0IsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQzs7Ozs7QUFFN0Y7Ozs7R0FJRztBQXlCSSxXQUFNLDJCQUEyQixHQUFqQyxNQUFNLDJCQUEyQjtJQUFqQztRQUNjLDhCQUF5QixHQUFHLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBQzlELGNBQVMsR0FBRyxTQUFTLENBQUM7UUFFekIsWUFBTyxHQUFHLGFBQWEsRUFBRSxDQUFDO0tBUzNDO0lBUFEsV0FBVztRQUNoQixJQUFJLENBQUMseUJBQXlCLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDakQsQ0FBQztJQUVTLE9BQU8sQ0FBQyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQW1CO1FBQ3pELE9BQU8sV0FBVyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztJQUN4QyxDQUFDOytHQVpVLDJCQUEyQjttR0FBM0IsMkJBQTJCLHNFQUgzQixDQUFDLG1CQUFtQixDQUFDLGdCQUFnQixDQUFDLENBQUMsMEJDL0NwRCxtaENBcUJBLDJDRFVJLFlBQVkscVRBSVosZUFBZSx5R0FDZixvQkFBb0Isc0pBRXBCLGNBQWMsNEhBQ2QsYUFBYSxxREFDYix5QkFBeUIsaUhBRXpCLFVBQVUsNE5BTUEsQ0FBQyxPQUFPLENBQUMsdUJBQXVCLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLFlBQVksQ0FBQyxRQUFRLEVBQUUsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzs7QUFFbkcsMkJBQTJCO0lBeEJ2QyxZQUFZLENBQUMscUJBQXFCLENBQUM7R0F3QnZCLDJCQUEyQixDQWF2Qzs0RkFiWSwyQkFBMkI7a0JBdkJ2QyxTQUFTOytCQUNFLHlCQUF5QixjQUN2QixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixZQUFZO3dCQUNaLG9CQUFvQjt3QkFDcEIsY0FBYzt3QkFDZCxlQUFlO3dCQUNmLG9CQUFvQjt3QkFDcEIsYUFBYTt3QkFDYixjQUFjO3dCQUNkLGFBQWE7d0JBQ2IseUJBQXlCO3dCQUN6QixvQkFBb0I7d0JBQ3BCLFVBQVU7cUJBQ1gsaUJBRWMsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLG1CQUFtQixDQUFDLGdCQUFnQixDQUFDLENBQUMsY0FDdEMsQ0FBQyxPQUFPLENBQUMsdUJBQXVCLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLFlBQVksQ0FBQyxRQUFRLEVBQUUsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHRyYW5zaXRpb24sIHRyaWdnZXIsIHVzZUFuaW1hdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIE9uRGVzdHJveSwgVmlld0VuY2Fwc3VsYXRpb24sIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTGV0RGlyZWN0aXZlIH0gZnJvbSAnQG5ncngvY29tcG9uZW50JztcbmltcG9ydCB7IGNvbGxhcHNlIH0gZnJvbSAnQG9keC9hbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgSW50ZXJhY3RpdmVEaXJlY3RpdmUgfSBmcm9tICdAb2R4L2FuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgRHluYW1pY1ZpZXdEaXJlY3RpdmUgfSBmcm9tICdAb2R4L2FuZ3VsYXIvY2RrL2R5bmFtaWMtdmlldyc7XG5pbXBvcnQgeyBBY3Rpb25Hcm91cENvbXBvbmVudCB9IGZyb20gJ0BvZHgvYW5ndWxhci9jb21wb25lbnRzL2FjdGlvbi1ncm91cCc7XG5pbXBvcnQgeyBCYWRnZURpcmVjdGl2ZSB9IGZyb20gJ0BvZHgvYW5ndWxhci9jb21wb25lbnRzL2JhZGdlJztcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJ0BvZHgvYW5ndWxhci9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQgeyBEcm9wZG93bk1vZHVsZSB9IGZyb20gJ0BvZHgvYW5ndWxhci9jb21wb25lbnRzL2Ryb3Bkb3duJztcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvY29tcG9uZW50cy9pY29uJztcbmltcG9ydCB7IExpc3RNb2R1bGUgfSBmcm9tICdAb2R4L2FuZ3VsYXIvY29tcG9uZW50cy9saXN0JztcbmltcG9ydCB7IENTU0NvbXBvbmVudCB9IGZyb20gJ0BvZHgvYW5ndWxhci9pbnRlcm5hbCc7XG5pbXBvcnQgeyBUcmFuc2xhdGVQaXBlLCBwcm92aWRlVHJhbnNsYXRpb25zIH0gZnJvbSAnQG9keC9hbmd1bGFyL2ludGVybmFsL3RyYW5zbGF0ZSc7XG5pbXBvcnQgeyBpbmplY3RFbGVtZW50LCB0cmFja0J5SWQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvdXRpbHMnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uUmVmIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCBub3RpZmljYXRpb25JMThuIGZyb20gJy4uLy4uL25vdGlmaWNhdGlvbi5pMThuJztcbmltcG9ydCB7IE5vdGlmaWNhdGlvbkNlbnRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25JdGVtQ29tcG9uZW50IH0gZnJvbSAnLi4vbm90aWZpY2F0aW9uLWl0ZW0vbm90aWZpY2F0aW9uLWl0ZW0uY29tcG9uZW50JztcblxuLyoqXG4gKiBBIGNvbXBvbmVudCBmb3IgZGlzcGxheWluZyBhbmQgbWFuYWdpbmcgYSBsaXN0IG9mIG5vdGlmaWNhdGlvbnMuIEl0IGludGVncmF0ZXMgdmFyaW91cyBzdWItY29tcG9uZW50cyBhbmQgZGlyZWN0aXZlcyB0byBwcm92aWRlIGEgcmljaCB1c2VyIGludGVyZmFjZSBmb3Igbm90aWZpY2F0aW9uIGludGVyYWN0aW9uLiBTdXBwb3J0cyBhbmltYXRpb25zIGZvciBub3RpZmljYXRpb24gdHJhbnNpdGlvbnMgYW5kIGxldmVyYWdlcyBBbmd1bGFyJ3MgY2hhbmdlIGRldGVjdGlvbiBzdHJhdGVnaWVzIGZvciBwZXJmb3JtYW5jZS5cbiAqXG4gKiBAQ1NTQ29tcG9uZW50ICdub3RpZmljYXRpb24tY2VudGVyJyAtIFNwZWNpZmllcyB0aGUgQ1NTIGNsYXNzIGZvciBzdHlsaW5nIHRoZSBub3RpZmljYXRpb24gY2VudGVyIGNvbXBvbmVudC5cbiAqL1xuQENTU0NvbXBvbmVudCgnbm90aWZpY2F0aW9uLWNlbnRlcicpXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvZHgtbm90aWZpY2F0aW9uLWNlbnRlcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgTGV0RGlyZWN0aXZlLFxuICAgIEFjdGlvbkdyb3VwQ29tcG9uZW50LFxuICAgIEJhZGdlRGlyZWN0aXZlLFxuICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgICBEeW5hbWljVmlld0RpcmVjdGl2ZSxcbiAgICBJY29uQ29tcG9uZW50LFxuICAgIERyb3Bkb3duTW9kdWxlLFxuICAgIFRyYW5zbGF0ZVBpcGUsXG4gICAgTm90aWZpY2F0aW9uSXRlbUNvbXBvbmVudCxcbiAgICBJbnRlcmFjdGl2ZURpcmVjdGl2ZSxcbiAgICBMaXN0TW9kdWxlLFxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vbm90aWZpY2F0aW9uLWNlbnRlci5jb21wb25lbnQuaHRtbCcsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtwcm92aWRlVHJhbnNsYXRpb25zKG5vdGlmaWNhdGlvbkkxOG4pXSxcbiAgYW5pbWF0aW9uczogW3RyaWdnZXIoJ25vdGlmaWNhdGlvbkFuaW1hdGlvbicsIFt0cmFuc2l0aW9uKCc6bGVhdmUnLCB1c2VBbmltYXRpb24oY29sbGFwc2UsIHsgZGVsYXk6IDE1MCB9KSldKV0sXG59KVxuZXhwb3J0IGNsYXNzIE5vdGlmaWNhdGlvbkNlbnRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByb3RlY3RlZCByZWFkb25seSBub3RpZmljYXRpb25DZW50ZXJTZXJ2aWNlID0gaW5qZWN0KE5vdGlmaWNhdGlvbkNlbnRlclNlcnZpY2UpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdHJhY2tCeUlkID0gdHJhY2tCeUlkO1xuXG4gIHB1YmxpYyByZWFkb25seSBlbGVtZW50ID0gaW5qZWN0RWxlbWVudCgpO1xuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLm5vdGlmaWNhdGlvbkNlbnRlclNlcnZpY2UubWFya0FsbEFzU2VlbigpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGlzTXV0ZWQoeyBvcHRpb25zLCBoYXNCZWVuU2VlbiB9OiBOb3RpZmljYXRpb25SZWYpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaGFzQmVlblNlZW4gJiYgIW9wdGlvbnMuYWN0aW9uO1xuICB9XG59XG4iLCI8bmctdGVtcGxhdGUgW25nSWZdPVwibm90aWZpY2F0aW9uQ2VudGVyU2VydmljZS5ub3RpZmljYXRpb25zJCB8IGFzeW5jXCIgbGV0LW5vdGlmaWNhdGlvbnM+XG4gIDxoMyBjbGFzcz1cIm9keC1ub3RpZmljYXRpb24tY2VudGVyX19oZWFkZXJcIj5cbiAgICA8bmctdGVtcGxhdGUgW29keER5bmFtaWNWaWV3XT1cIihub3RpZmljYXRpb25DZW50ZXJTZXJ2aWNlLnRpdGxlJCB8IGFzeW5jKSA/PyAoJ3RpdGxlJyB8IG9keFRyYW5zbGF0ZSB8IGFzeW5jKVwiPjwvbmctdGVtcGxhdGU+XG4gIDwvaDM+XG4gIDxvZHgtbGlzdCBjbGFzcz1cIm9keC1ub3RpZmljYXRpb24tY2VudGVyX19jb250ZW50XCI+XG4gICAgPG9keC1saXN0LWl0ZW1cbiAgICAgIEBub3RpZmljYXRpb25BbmltYXRpb25cbiAgICAgIFttdXRlZF09XCJpc011dGVkKG5vdGlmaWNhdGlvbilcIlxuICAgICAgW3NlbGVjdGVkXT1cIiFub3RpZmljYXRpb24uaGFzQmVlblNlZW5cIlxuICAgICAgKGNsaWNrKT1cIm5vdGlmaWNhdGlvbkNlbnRlclNlcnZpY2UuZXhlY3V0ZUFjdGlvbihub3RpZmljYXRpb24pXCJcbiAgICAgICpuZ0Zvcj1cImxldCBub3RpZmljYXRpb24gb2Ygbm90aWZpY2F0aW9ucy52YWx1ZXM7IHRyYWNrQnk6IHRyYWNrQnlJZFwiXG4gICAgPlxuICAgICAgPG9keC1ub3RpZmljYXRpb24taXRlbSBbbm90aWZpY2F0aW9uXT1cIm5vdGlmaWNhdGlvblwiIChkaXNtaXNzKT1cIm5vdGlmaWNhdGlvbkNlbnRlclNlcnZpY2UuZGlzbWlzcyhub3RpZmljYXRpb24pXCIgLz5cbiAgICA8L29keC1saXN0LWl0ZW0+XG4gIDwvb2R4LWxpc3Q+XG4gIDxkaXYgY2xhc3M9XCJvZHgtbm90aWZpY2F0aW9uLWNlbnRlcl9fZm9vdGVyXCI+XG4gICAgPGJ1dHRvbiBvZHhCdXR0b24gW2Rpc2FibGVkXT1cImZhbHNlXCIgKGNsaWNrKT1cIm5vdGlmaWNhdGlvbkNlbnRlclNlcnZpY2UuZGlzbWlzc0FsbCgpXCI+XG4gICAgICB7eyAnZGlzbWlzc0FsbCcgfCBvZHhUcmFuc2xhdGUgfCBhc3luYyB9fVxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLWNlbnRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9ub3RpZmljYXRpb24vc3JjL2xpYi9jb21wb25lbnRzL25vdGlmaWNhdGlvbi1jZW50ZXIvbm90aWZpY2F0aW9uLWNlbnRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9ub3RpZmljYXRpb24vc3JjL2xpYi9jb21wb25lbnRzL25vdGlmaWNhdGlvbi1jZW50ZXIvbm90aWZpY2F0aW9uLWNlbnRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDeEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQWEsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDckUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDNUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNqRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzdELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUFFLGFBQWEsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFOUQsT0FBTyxnQkFBZ0IsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQzs7Ozs7QUFFN0Y7Ozs7R0FJRztBQXlCSSxXQUFNLDJCQUEyQixHQUFqQyxNQUFNLDJCQUEyQjtJQUFqQztRQUNjLDhCQUF5QixHQUFHLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBQzlELGNBQVMsR0FBRyxTQUFTLENBQUM7UUFFekIsWUFBTyxHQUFHLGFBQWEsRUFBRSxDQUFDO0tBUzNDO0lBUFEsV0FBVztRQUNoQixJQUFJLENBQUMseUJBQXlCLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDakQsQ0FBQztJQUVTLE9BQU8sQ0FBQyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQW1CO1FBQ3pELE9BQU8sV0FBVyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztJQUN4QyxDQUFDOytHQVpVLDJCQUEyQjttR0FBM0IsMkJBQTJCLHNFQUgzQixDQUFDLG1CQUFtQixDQUFDLGdCQUFnQixDQUFDLENBQUMsMEJDL0NwRCxtaENBcUJBLDJDRFVJLFlBQVkscVRBSVosZUFBZSx5R0FDZixvQkFBb0Isc0pBRXBCLGNBQWMsNEhBQ2QsYUFBYSxxREFDYix5QkFBeUIsaUhBRXpCLFVBQVUsdU9BTUEsQ0FBQyxPQUFPLENBQUMsdUJBQXVCLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLFlBQVksQ0FBQyxRQUFRLEVBQUUsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzs7QUFFbkcsMkJBQTJCO0lBeEJ2QyxZQUFZLENBQUMscUJBQXFCLENBQUM7R0F3QnZCLDJCQUEyQixDQWF2Qzs0RkFiWSwyQkFBMkI7a0JBdkJ2QyxTQUFTOytCQUNFLHlCQUF5QixjQUN2QixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixZQUFZO3dCQUNaLG9CQUFvQjt3QkFDcEIsY0FBYzt3QkFDZCxlQUFlO3dCQUNmLG9CQUFvQjt3QkFDcEIsYUFBYTt3QkFDYixjQUFjO3dCQUNkLGFBQWE7d0JBQ2IseUJBQXlCO3dCQUN6QixvQkFBb0I7d0JBQ3BCLFVBQVU7cUJBQ1gsaUJBRWMsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLG1CQUFtQixDQUFDLGdCQUFnQixDQUFDLENBQUMsY0FDdEMsQ0FBQyxPQUFPLENBQUMsdUJBQXVCLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLFlBQVksQ0FBQyxRQUFRLEVBQUUsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHRyYW5zaXRpb24sIHRyaWdnZXIsIHVzZUFuaW1hdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIE9uRGVzdHJveSwgVmlld0VuY2Fwc3VsYXRpb24sIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTGV0RGlyZWN0aXZlIH0gZnJvbSAnQG5ncngvY29tcG9uZW50JztcbmltcG9ydCB7IGNvbGxhcHNlIH0gZnJvbSAnQG9keC9hbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgSW50ZXJhY3RpdmVEaXJlY3RpdmUgfSBmcm9tICdAb2R4L2FuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgRHluYW1pY1ZpZXdEaXJlY3RpdmUgfSBmcm9tICdAb2R4L2FuZ3VsYXIvY2RrL2R5bmFtaWMtdmlldyc7XG5pbXBvcnQgeyBBY3Rpb25Hcm91cENvbXBvbmVudCB9IGZyb20gJ0BvZHgvYW5ndWxhci9jb21wb25lbnRzL2FjdGlvbi1ncm91cCc7XG5pbXBvcnQgeyBCYWRnZURpcmVjdGl2ZSB9IGZyb20gJ0BvZHgvYW5ndWxhci9jb21wb25lbnRzL2JhZGdlJztcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJ0BvZHgvYW5ndWxhci9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQgeyBEcm9wZG93bk1vZHVsZSB9IGZyb20gJ0BvZHgvYW5ndWxhci9jb21wb25lbnRzL2Ryb3Bkb3duJztcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvY29tcG9uZW50cy9pY29uJztcbmltcG9ydCB7IExpc3RNb2R1bGUgfSBmcm9tICdAb2R4L2FuZ3VsYXIvY29tcG9uZW50cy9saXN0JztcbmltcG9ydCB7IENTU0NvbXBvbmVudCB9IGZyb20gJ0BvZHgvYW5ndWxhci9pbnRlcm5hbCc7XG5pbXBvcnQgeyBUcmFuc2xhdGVQaXBlLCBwcm92aWRlVHJhbnNsYXRpb25zIH0gZnJvbSAnQG9keC9hbmd1bGFyL2ludGVybmFsL3RyYW5zbGF0ZSc7XG5pbXBvcnQgeyBpbmplY3RFbGVtZW50LCB0cmFja0J5SWQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvdXRpbHMnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uUmVmIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCBub3RpZmljYXRpb25JMThuIGZyb20gJy4uLy4uL25vdGlmaWNhdGlvbi5pMThuJztcbmltcG9ydCB7IE5vdGlmaWNhdGlvbkNlbnRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25JdGVtQ29tcG9uZW50IH0gZnJvbSAnLi4vbm90aWZpY2F0aW9uLWl0ZW0vbm90aWZpY2F0aW9uLWl0ZW0uY29tcG9uZW50JztcblxuLyoqXG4gKiBBIGNvbXBvbmVudCBmb3IgZGlzcGxheWluZyBhbmQgbWFuYWdpbmcgYSBsaXN0IG9mIG5vdGlmaWNhdGlvbnMuIEl0IGludGVncmF0ZXMgdmFyaW91cyBzdWItY29tcG9uZW50cyBhbmQgZGlyZWN0aXZlcyB0byBwcm92aWRlIGEgcmljaCB1c2VyIGludGVyZmFjZSBmb3Igbm90aWZpY2F0aW9uIGludGVyYWN0aW9uLiBTdXBwb3J0cyBhbmltYXRpb25zIGZvciBub3RpZmljYXRpb24gdHJhbnNpdGlvbnMgYW5kIGxldmVyYWdlcyBBbmd1bGFyJ3MgY2hhbmdlIGRldGVjdGlvbiBzdHJhdGVnaWVzIGZvciBwZXJmb3JtYW5jZS5cbiAqXG4gKiBAQ1NTQ29tcG9uZW50ICdub3RpZmljYXRpb24tY2VudGVyJyAtIFNwZWNpZmllcyB0aGUgQ1NTIGNsYXNzIGZvciBzdHlsaW5nIHRoZSBub3RpZmljYXRpb24gY2VudGVyIGNvbXBvbmVudC5cbiAqL1xuQENTU0NvbXBvbmVudCgnbm90aWZpY2F0aW9uLWNlbnRlcicpXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvZHgtbm90aWZpY2F0aW9uLWNlbnRlcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgTGV0RGlyZWN0aXZlLFxuICAgIEFjdGlvbkdyb3VwQ29tcG9uZW50LFxuICAgIEJhZGdlRGlyZWN0aXZlLFxuICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgICBEeW5hbWljVmlld0RpcmVjdGl2ZSxcbiAgICBJY29uQ29tcG9uZW50LFxuICAgIERyb3Bkb3duTW9kdWxlLFxuICAgIFRyYW5zbGF0ZVBpcGUsXG4gICAgTm90aWZpY2F0aW9uSXRlbUNvbXBvbmVudCxcbiAgICBJbnRlcmFjdGl2ZURpcmVjdGl2ZSxcbiAgICBMaXN0TW9kdWxlLFxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vbm90aWZpY2F0aW9uLWNlbnRlci5jb21wb25lbnQuaHRtbCcsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtwcm92aWRlVHJhbnNsYXRpb25zKG5vdGlmaWNhdGlvbkkxOG4pXSxcbiAgYW5pbWF0aW9uczogW3RyaWdnZXIoJ25vdGlmaWNhdGlvbkFuaW1hdGlvbicsIFt0cmFuc2l0aW9uKCc6bGVhdmUnLCB1c2VBbmltYXRpb24oY29sbGFwc2UsIHsgZGVsYXk6IDE1MCB9KSldKV0sXG59KVxuZXhwb3J0IGNsYXNzIE5vdGlmaWNhdGlvbkNlbnRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByb3RlY3RlZCByZWFkb25seSBub3RpZmljYXRpb25DZW50ZXJTZXJ2aWNlID0gaW5qZWN0KE5vdGlmaWNhdGlvbkNlbnRlclNlcnZpY2UpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdHJhY2tCeUlkID0gdHJhY2tCeUlkO1xuXG4gIHB1YmxpYyByZWFkb25seSBlbGVtZW50ID0gaW5qZWN0RWxlbWVudCgpO1xuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLm5vdGlmaWNhdGlvbkNlbnRlclNlcnZpY2UubWFya0FsbEFzU2VlbigpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGlzTXV0ZWQoeyBvcHRpb25zLCBoYXNCZWVuU2VlbiB9OiBOb3RpZmljYXRpb25SZWYpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaGFzQmVlblNlZW4gJiYgIW9wdGlvbnMuYWN0aW9uO1xuICB9XG59XG4iLCI8bmctdGVtcGxhdGUgW25nSWZdPVwibm90aWZpY2F0aW9uQ2VudGVyU2VydmljZS5ub3RpZmljYXRpb25zJCB8IGFzeW5jXCIgbGV0LW5vdGlmaWNhdGlvbnM+XG4gIDxoMyBjbGFzcz1cIm9keC1ub3RpZmljYXRpb24tY2VudGVyX19oZWFkZXJcIj5cbiAgICA8bmctdGVtcGxhdGUgW29keER5bmFtaWNWaWV3XT1cIihub3RpZmljYXRpb25DZW50ZXJTZXJ2aWNlLnRpdGxlJCB8IGFzeW5jKSA/PyAoJ3RpdGxlJyB8IG9keFRyYW5zbGF0ZSB8IGFzeW5jKVwiPjwvbmctdGVtcGxhdGU+XG4gIDwvaDM+XG4gIDxvZHgtbGlzdCBjbGFzcz1cIm9keC1ub3RpZmljYXRpb24tY2VudGVyX19jb250ZW50XCI+XG4gICAgPG9keC1saXN0LWl0ZW1cbiAgICAgIEBub3RpZmljYXRpb25BbmltYXRpb25cbiAgICAgIFttdXRlZF09XCJpc011dGVkKG5vdGlmaWNhdGlvbilcIlxuICAgICAgW3NlbGVjdGVkXT1cIiFub3RpZmljYXRpb24uaGFzQmVlblNlZW5cIlxuICAgICAgKGNsaWNrKT1cIm5vdGlmaWNhdGlvbkNlbnRlclNlcnZpY2UuZXhlY3V0ZUFjdGlvbihub3RpZmljYXRpb24pXCJcbiAgICAgICpuZ0Zvcj1cImxldCBub3RpZmljYXRpb24gb2Ygbm90aWZpY2F0aW9ucy52YWx1ZXM7IHRyYWNrQnk6IHRyYWNrQnlJZFwiXG4gICAgPlxuICAgICAgPG9keC1ub3RpZmljYXRpb24taXRlbSBbbm90aWZpY2F0aW9uXT1cIm5vdGlmaWNhdGlvblwiIChkaXNtaXNzKT1cIm5vdGlmaWNhdGlvbkNlbnRlclNlcnZpY2UuZGlzbWlzcyhub3RpZmljYXRpb24pXCIgLz5cbiAgICA8L29keC1saXN0LWl0ZW0+XG4gIDwvb2R4LWxpc3Q+XG4gIDxkaXYgY2xhc3M9XCJvZHgtbm90aWZpY2F0aW9uLWNlbnRlcl9fZm9vdGVyXCI+XG4gICAgPGJ1dHRvbiBvZHhCdXR0b24gW2Rpc2FibGVkXT1cImZhbHNlXCIgKGNsaWNrKT1cIm5vdGlmaWNhdGlvbkNlbnRlclNlcnZpY2UuZGlzbWlzc0FsbCgpXCI+XG4gICAgICB7eyAnZGlzbWlzc0FsbCcgfCBvZHhUcmFuc2xhdGUgfCBhc3luYyB9fVxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -0,0 +1,8 @@
1
+ export * from './lib/components/timepicker-option.component';
2
+ export * from './lib/directives/timepicker-input-control.directive';
3
+ export * from './lib/timepicker.component';
4
+ export * from './lib/timepicker.module';
5
+ export * from './lib/timepicker.service';
6
+ export * from './lib/timepicker.token';
7
+ export * from './lib/utils';
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy90aW1lcGlja2VyL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvdGltZXBpY2tlci1vcHRpb24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvdGltZXBpY2tlci1pbnB1dC1jb250cm9sLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90aW1lcGlja2VyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90aW1lcGlja2VyLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90aW1lcGlja2VyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGltZXBpY2tlci50b2tlbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi91dGlscyc7XG4iXX0=
@@ -0,0 +1,59 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { ChangeDetectionStrategy, Component, EventEmitter, Output, ViewEncapsulation, inject } from '@angular/core';
3
+ import { DisabledController, WithDisabledState, detectControllerChanges } from '@odx/angular';
4
+ import { OptionControl } from '@odx/angular/cdk/option-control';
5
+ import { CSSComponent } from '@odx/angular/internal';
6
+ import { TIMEPICKER_CONTROL } from '../timepicker.token';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@odx/angular";
9
+ /**
10
+ * Represents a selectable option within a timepicker component. This component allows for
11
+ * individual time values to be selected from a dropdown menu as part of the timepicker interface.
12
+ * It integrates with the timepicker's control to manage selection state and accessibility.
13
+ *
14
+ * @extends {OptionControl<string>}
15
+ */
16
+ export let TimepickerOptionComponent = class TimepickerOptionComponent extends OptionControl {
17
+ get disabled() {
18
+ return !!this.disabledController?.disabled;
19
+ }
20
+ constructor() {
21
+ super();
22
+ this.timepicker = inject(TIMEPICKER_CONTROL);
23
+ this.disabledController = DisabledController.inject();
24
+ this.isSelected = false;
25
+ this.isActive = false;
26
+ /**
27
+ * Emits an event when the option is selected, allowing the timepicker component to update its value and close the dropdown.
28
+ */
29
+ this.selected = new EventEmitter();
30
+ detectControllerChanges(this.timepicker).pipe(this.takeUntilDestroyed()).subscribe();
31
+ }
32
+ ngOnInit() {
33
+ this.isSelected = this.timepicker.isTimeOptionSelected(this);
34
+ }
35
+ selectOption() {
36
+ this.selected.emit(this);
37
+ }
38
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TimepickerOptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
39
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TimepickerOptionComponent, isStandalone: true, selector: "odx-timepicker-option", outputs: { selected: "selected" }, providers: [DisabledController.connect()], usesInheritance: true, hostDirectives: [{ directive: i1.WithDisabledState }], ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
40
+ };
41
+ TimepickerOptionComponent = __decorate([
42
+ CSSComponent('timepicker-option'),
43
+ __metadata("design:paramtypes", [])
44
+ ], TimepickerOptionComponent);
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TimepickerOptionComponent, decorators: [{
46
+ type: Component,
47
+ args: [{
48
+ selector: 'odx-timepicker-option',
49
+ template: `<ng-content></ng-content>`,
50
+ standalone: true,
51
+ encapsulation: ViewEncapsulation.None,
52
+ changeDetection: ChangeDetectionStrategy.OnPush,
53
+ providers: [DisabledController.connect()],
54
+ hostDirectives: [WithDisabledState],
55
+ }]
56
+ }], ctorParameters: function () { return []; }, propDecorators: { selected: [{
57
+ type: Output
58
+ }] } });
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXBpY2tlci1vcHRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2NvbXBvbmVudHMvdGltZXBpY2tlci9zcmMvbGliL2NvbXBvbmVudHMvdGltZXBpY2tlci1vcHRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBVSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVILE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxpQkFBaUIsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM5RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDaEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7QUFFekQ7Ozs7OztHQU1HO0FBV0ksV0FBTSx5QkFBeUIsR0FBL0IsTUFBTSx5QkFBMEIsU0FBUSxhQUFxQjtJQU9sRSxJQUFXLFFBQVE7UUFDakIsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLFFBQVEsQ0FBQztJQUM3QyxDQUFDO0lBUUQ7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQWpCTyxlQUFVLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDdEMsdUJBQWtCLEdBQUcsa0JBQWtCLENBQUMsTUFBTSxFQUFFLENBQUM7UUFFN0QsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNWLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFNakM7O1dBRUc7UUFFSSxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQTZCLENBQUM7UUFJOUQsdUJBQXVCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3ZGLENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFUyxZQUFZO1FBQ3BCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNCLENBQUM7K0dBNUJVLHlCQUF5QjttR0FBekIseUJBQXlCLHVHQUh6QixDQUFDLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxDQUFDLHdHQUovQiwyQkFBMkI7O0FBTzFCLHlCQUF5QjtJQVZyQyxZQUFZLENBQUMsbUJBQW1CLENBQUM7O0dBVXJCLHlCQUF5QixDQTZCckM7NEZBN0JZLHlCQUF5QjtrQkFUckMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxTQUFTLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsQ0FBQztvQkFDekMsY0FBYyxFQUFFLENBQUMsaUJBQWlCLENBQUM7aUJBQ3BDOzBFQWdCUSxRQUFRO3NCQURkLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIE9uSW5pdCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbiwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEaXNhYmxlZENvbnRyb2xsZXIsIFdpdGhEaXNhYmxlZFN0YXRlLCBkZXRlY3RDb250cm9sbGVyQ2hhbmdlcyB9IGZyb20gJ0BvZHgvYW5ndWxhcic7XG5pbXBvcnQgeyBPcHRpb25Db250cm9sIH0gZnJvbSAnQG9keC9hbmd1bGFyL2Nkay9vcHRpb24tY29udHJvbCc7XG5pbXBvcnQgeyBDU1NDb21wb25lbnQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvaW50ZXJuYWwnO1xuaW1wb3J0IHsgVElNRVBJQ0tFUl9DT05UUk9MIH0gZnJvbSAnLi4vdGltZXBpY2tlci50b2tlbic7XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIHNlbGVjdGFibGUgb3B0aW9uIHdpdGhpbiBhIHRpbWVwaWNrZXIgY29tcG9uZW50LiBUaGlzIGNvbXBvbmVudCBhbGxvd3MgZm9yXG4gKiBpbmRpdmlkdWFsIHRpbWUgdmFsdWVzIHRvIGJlIHNlbGVjdGVkIGZyb20gYSBkcm9wZG93biBtZW51IGFzIHBhcnQgb2YgdGhlIHRpbWVwaWNrZXIgaW50ZXJmYWNlLlxuICogSXQgaW50ZWdyYXRlcyB3aXRoIHRoZSB0aW1lcGlja2VyJ3MgY29udHJvbCB0byBtYW5hZ2Ugc2VsZWN0aW9uIHN0YXRlIGFuZCBhY2Nlc3NpYmlsaXR5LlxuICpcbiAqIEBleHRlbmRzIHtPcHRpb25Db250cm9sPHN0cmluZz59XG4gKi9cbkBDU1NDb21wb25lbnQoJ3RpbWVwaWNrZXItb3B0aW9uJylcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ29keC10aW1lcGlja2VyLW9wdGlvbicsXG4gIHRlbXBsYXRlOiBgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PmAsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtEaXNhYmxlZENvbnRyb2xsZXIuY29ubmVjdCgpXSxcbiAgaG9zdERpcmVjdGl2ZXM6IFtXaXRoRGlzYWJsZWRTdGF0ZV0sXG59KVxuZXhwb3J0IGNsYXNzIFRpbWVwaWNrZXJPcHRpb25Db21wb25lbnQgZXh0ZW5kcyBPcHRpb25Db250cm9sPHN0cmluZz4gaW1wbGVtZW50cyBPbkluaXQge1xuICBwcml2YXRlIHJlYWRvbmx5IHRpbWVwaWNrZXIgPSBpbmplY3QoVElNRVBJQ0tFUl9DT05UUk9MKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGRpc2FibGVkQ29udHJvbGxlciA9IERpc2FibGVkQ29udHJvbGxlci5pbmplY3QoKTtcblxuICBwdWJsaWMgaXNTZWxlY3RlZCA9IGZhbHNlO1xuICBwdWJsaWMgb3ZlcnJpZGUgaXNBY3RpdmUgPSBmYWxzZTtcblxuICBwdWJsaWMgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuZGlzYWJsZWRDb250cm9sbGVyPy5kaXNhYmxlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbWl0cyBhbiBldmVudCB3aGVuIHRoZSBvcHRpb24gaXMgc2VsZWN0ZWQsIGFsbG93aW5nIHRoZSB0aW1lcGlja2VyIGNvbXBvbmVudCB0byB1cGRhdGUgaXRzIHZhbHVlIGFuZCBjbG9zZSB0aGUgZHJvcGRvd24uXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIHNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxUaW1lcGlja2VyT3B0aW9uQ29tcG9uZW50PigpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgZGV0ZWN0Q29udHJvbGxlckNoYW5nZXModGhpcy50aW1lcGlja2VyKS5waXBlKHRoaXMudGFrZVVudGlsRGVzdHJveWVkKCkpLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaXNTZWxlY3RlZCA9IHRoaXMudGltZXBpY2tlci5pc1RpbWVPcHRpb25TZWxlY3RlZCh0aGlzKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZWxlY3RPcHRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZC5lbWl0KHRoaXMpO1xuICB9XG59XG4iXX0=