@latitude-ui/widgets 0.0.14 → 0.0.16
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 +2 -2
- package/button/index.d.ts +19 -0
- package/checkbox/{src/checkbox.component.d.ts → index.d.ts} +5 -2
- package/core/index.d.ts +39 -0
- package/fesm2022/latitude-ui-widgets-button.mjs +51 -0
- package/fesm2022/latitude-ui-widgets-button.mjs.map +1 -0
- package/fesm2022/latitude-ui-widgets-checkbox.mjs +40 -0
- package/fesm2022/latitude-ui-widgets-checkbox.mjs.map +1 -0
- package/fesm2022/latitude-ui-widgets-core.mjs +116 -0
- package/fesm2022/latitude-ui-widgets-core.mjs.map +1 -0
- package/fesm2022/latitude-ui-widgets-icons.mjs +118 -0
- package/fesm2022/latitude-ui-widgets-icons.mjs.map +1 -0
- package/fesm2022/latitude-ui-widgets-input.mjs +225 -0
- package/fesm2022/latitude-ui-widgets-input.mjs.map +1 -0
- package/fesm2022/latitude-ui-widgets-listbox.mjs +51 -0
- package/fesm2022/latitude-ui-widgets-listbox.mjs.map +1 -0
- package/fesm2022/latitude-ui-widgets-select.mjs +316 -0
- package/fesm2022/latitude-ui-widgets-select.mjs.map +1 -0
- package/fesm2022/latitude-ui-widgets-switch.mjs +37 -0
- package/fesm2022/latitude-ui-widgets-switch.mjs.map +1 -0
- package/fesm2022/latitude-ui-widgets-textbox-number.mjs +168 -0
- package/fesm2022/latitude-ui-widgets-textbox-number.mjs.map +1 -0
- package/fesm2022/latitude-ui-widgets-textbox.mjs +62 -0
- package/fesm2022/latitude-ui-widgets-textbox.mjs.map +1 -0
- package/fesm2022/latitude-ui-widgets-toolbar.mjs +20 -0
- package/fesm2022/latitude-ui-widgets-toolbar.mjs.map +1 -0
- package/fesm2022/latitude-ui-widgets.mjs +6 -0
- package/fesm2022/latitude-ui-widgets.mjs.map +1 -0
- package/icons/index.d.ts +19 -0
- package/index.d.ts +2 -0
- package/input/index.d.ts +116 -0
- package/listbox/index.d.ts +23 -0
- package/package.json +31 -49
- package/select/index.d.ts +74 -0
- package/styles/forms/_index.scss +34 -15
- package/switch/{src/switch.component.d.ts → index.d.ts} +5 -2
- package/textbox/index.d.ts +26 -0
- package/textbox-number/index.d.ts +44 -0
- package/toolbar/{src/toolbar.component.d.ts → index.d.ts} +5 -2
- package/button/latitude-ui-widgets-button.d.ts +0 -5
- package/button/public-api.d.ts +0 -2
- package/button/src/button.component.d.ts +0 -14
- package/button/src/button.types.d.ts +0 -2
- package/cdk/latitude-ui-widgets-cdk.d.ts +0 -5
- package/cdk/public-api.d.ts +0 -12
- package/cdk/src/collection/collection.d.ts +0 -20
- package/cdk/src/expression/expression.d.ts +0 -12
- package/cdk/src/expression/filter/filter-criteria-descriptor.d.ts +0 -6
- package/cdk/src/expression/filter/filter-descriptor.d.ts +0 -7
- package/cdk/src/expression/filter/filter-logic.d.ts +0 -1
- package/cdk/src/expression/linq.d.ts +0 -38
- package/cdk/src/expression/sort/sort-descriptor.d.ts +0 -7
- package/cdk/src/expression/sort/sort-logic.d.ts +0 -1
- package/cdk/src/queryable/http-transport/http-transport.d.ts +0 -15
- package/cdk/src/queryable/query.d.ts +0 -16
- package/cdk/src/queryable/queryable.d.ts +0 -18
- package/cdk/src/queryable/transport.d.ts +0 -19
- package/checkbox/latitude-ui-widgets-checkbox.d.ts +0 -5
- package/checkbox/public-api.d.ts +0 -1
- package/combobox/latitude-ui-widgets-combobox.d.ts +0 -5
- package/combobox/public-api.d.ts +0 -2
- package/core/latitude-ui-widgets-core.d.ts +0 -5
- package/core/public-api.d.ts +0 -6
- package/core/src/dimensions.d.ts +0 -13
- package/core/src/illegal.d.ts +0 -2
- package/core/src/listeners.d.ts +0 -8
- package/core/src/noop.d.ts +0 -1
- package/core/src/root.d.ts +0 -12
- package/core/src/uid.d.ts +0 -1
- package/esm2022/button/latitude-ui-widgets-button.js +0 -5
- package/esm2022/button/public-api.js +0 -3
- package/esm2022/button/src/button.component.js +0 -44
- package/esm2022/button/src/button.types.js +0 -1
- package/esm2022/cdk/latitude-ui-widgets-cdk.js +0 -5
- package/esm2022/cdk/public-api.js +0 -13
- package/esm2022/cdk/src/collection/collection.js +0 -51
- package/esm2022/cdk/src/expression/expression.js +0 -21
- package/esm2022/cdk/src/expression/filter/filter-criteria-descriptor.js +0 -9
- package/esm2022/cdk/src/expression/filter/filter-descriptor.js +0 -9
- package/esm2022/cdk/src/expression/filter/filter-logic.js +0 -1
- package/esm2022/cdk/src/expression/linq.js +0 -55
- package/esm2022/cdk/src/expression/sort/sort-descriptor.js +0 -9
- package/esm2022/cdk/src/expression/sort/sort-logic.js +0 -1
- package/esm2022/cdk/src/queryable/http-transport/http-transport.js +0 -24
- package/esm2022/cdk/src/queryable/query.js +0 -22
- package/esm2022/cdk/src/queryable/queryable.js +0 -20
- package/esm2022/cdk/src/queryable/transport.js +0 -1
- package/esm2022/checkbox/latitude-ui-widgets-checkbox.js +0 -5
- package/esm2022/checkbox/public-api.js +0 -2
- package/esm2022/checkbox/src/checkbox.component.js +0 -33
- package/esm2022/combobox/latitude-ui-widgets-combobox.js +0 -5
- package/esm2022/combobox/public-api.js +0 -2
- package/esm2022/core/latitude-ui-widgets-core.js +0 -5
- package/esm2022/core/public-api.js +0 -7
- package/esm2022/core/src/dimensions.js +0 -56
- package/esm2022/core/src/illegal.js +0 -5
- package/esm2022/core/src/listeners.js +0 -32
- package/esm2022/core/src/noop.js +0 -3
- package/esm2022/core/src/root.js +0 -20
- package/esm2022/core/src/uid.js +0 -4
- package/esm2022/icons/latitude-ui-widgets-icons.js +0 -5
- package/esm2022/icons/public-api.js +0 -3
- package/esm2022/icons/src/icon.component.js +0 -35
- package/esm2022/icons/src/icon.service.js +0 -62
- package/esm2022/icons/src/icon.tokens.js +0 -19
- package/esm2022/input/latitude-ui-widgets-input.js +0 -5
- package/esm2022/input/public-api.js +0 -6
- package/esm2022/input/src/input-error/i18n/en.js +0 -9
- package/esm2022/input/src/input-error/i18n/ru.js +0 -9
- package/esm2022/input/src/input-error/input-error.component.js +0 -22
- package/esm2022/input/src/input-error/input-error.i18n.js +0 -65
- package/esm2022/input/src/input-label/input-label.component.js +0 -20
- package/esm2022/input/src/input.component.js +0 -44
- package/esm2022/input/src/input.directive.js +0 -114
- package/esm2022/input/src/input.module.js +0 -9
- package/esm2022/input/src/input.types.js +0 -1
- package/esm2022/latitude-ui-widgets.js +0 -5
- package/esm2022/listbox/latitude-ui-widgets-listbox.js +0 -5
- package/esm2022/listbox/public-api.js +0 -4
- package/esm2022/listbox/src/listbox-option.component.js +0 -28
- package/esm2022/listbox/src/listbox.component.js +0 -14
- package/esm2022/listbox/src/listbox.module.js +0 -7
- package/esm2022/listview/latitude-ui-widgets-listview.js +0 -5
- package/esm2022/listview/public-api.js +0 -2
- package/esm2022/listview/src/listview.component.js +0 -16
- package/esm2022/listview/src/listview.tokens.js +0 -3
- package/esm2022/lookup/latitude-ui-widgets-lookup.js +0 -5
- package/esm2022/lookup/public-api.js +0 -3
- package/esm2022/lookup/src/lookup-outlet.directive.js +0 -13
- package/esm2022/lookup/src/lookup.component.js +0 -11
- package/esm2022/public-api.js +0 -2
- package/esm2022/select/latitude-ui-widgets-select.js +0 -5
- package/esm2022/select/public-api.js +0 -7
- package/esm2022/select/src/select/select.directive.js +0 -87
- package/esm2022/select/src/select-dropdown/select-dropdown.component.js +0 -39
- package/esm2022/select/src/select-multiple.component.js +0 -60
- package/esm2022/select/src/select-option/select-option.component.js +0 -21
- package/esm2022/select/src/select-option/select-option.directive.js +0 -19
- package/esm2022/select/src/select-single.component.js +0 -51
- package/esm2022/select/src/select-trigger/select-trigger.component.js +0 -29
- package/esm2022/select/src/select-value/select-value.component.js +0 -15
- package/esm2022/select/src/select-values/select-values.component.js +0 -16
- package/esm2022/select/src/select.module.js +0 -9
- package/esm2022/switch/latitude-ui-widgets-switch.js +0 -5
- package/esm2022/switch/public-api.js +0 -2
- package/esm2022/switch/src/switch.component.js +0 -30
- package/esm2022/textarea/latitude-ui-widgets-textarea.js +0 -5
- package/esm2022/textarea/public-api.js +0 -2
- package/esm2022/textarea/src/textarea.component.js +0 -26
- package/esm2022/textbox/latitude-ui-widgets-textbox.js +0 -5
- package/esm2022/textbox/public-api.js +0 -3
- package/esm2022/textbox/src/textbox.component.js +0 -41
- package/esm2022/textbox/src/textbox.directive.js +0 -18
- package/esm2022/textbox-number/latitude-ui-widgets-textbox-number.js +0 -5
- package/esm2022/textbox-number/public-api.js +0 -2
- package/esm2022/textbox-number/src/spinners.component.js +0 -22
- package/esm2022/textbox-number/src/textbox-number.component.js +0 -143
- package/esm2022/textbox-search/latitude-ui-widgets-textbox-search.js +0 -5
- package/esm2022/textbox-search/public-api.js +0 -2
- package/esm2022/textbox-search/src/textbox-search.component.js +0 -44
- package/esm2022/toolbar/latitude-ui-widgets-toolbar.js +0 -5
- package/esm2022/toolbar/public-api.js +0 -2
- package/esm2022/toolbar/src/toolbar.component.js +0 -14
- package/icons/latitude-ui-widgets-icons.d.ts +0 -5
- package/icons/public-api.d.ts +0 -2
- package/icons/src/icon.component.d.ts +0 -11
- package/icons/src/icon.service.d.ts +0 -15
- package/icons/src/icon.tokens.d.ts +0 -4
- package/input/latitude-ui-widgets-input.d.ts +0 -5
- package/input/public-api.d.ts +0 -5
- package/input/src/input-error/i18n/en.d.ts +0 -9
- package/input/src/input-error/i18n/ru.d.ts +0 -9
- package/input/src/input-error/input-error.component.d.ts +0 -9
- package/input/src/input-error/input-error.i18n.d.ts +0 -28
- package/input/src/input-label/input-label.component.d.ts +0 -11
- package/input/src/input.component.d.ts +0 -28
- package/input/src/input.directive.d.ts +0 -60
- package/input/src/input.module.d.ts +0 -4
- package/input/src/input.types.d.ts +0 -1
- package/latitude-ui-widgets.d.ts +0 -5
- package/listbox/latitude-ui-widgets-listbox.d.ts +0 -5
- package/listbox/public-api.d.ts +0 -3
- package/listbox/src/listbox-option.component.d.ts +0 -14
- package/listbox/src/listbox.component.d.ts +0 -5
- package/listbox/src/listbox.module.d.ts +0 -3
- package/listview/latitude-ui-widgets-listview.d.ts +0 -5
- package/listview/public-api.d.ts +0 -1
- package/listview/src/listview.component.d.ts +0 -6
- package/listview/src/listview.tokens.d.ts +0 -3
- package/lookup/README.md +0 -3
- package/lookup/latitude-ui-widgets-lookup.d.ts +0 -5
- package/lookup/public-api.d.ts +0 -2
- package/lookup/src/lookup-outlet.directive.d.ts +0 -5
- package/lookup/src/lookup.component.d.ts +0 -5
- package/public-api.d.ts +0 -2
- package/select/latitude-ui-widgets-select.d.ts +0 -5
- package/select/public-api.d.ts +0 -6
- package/select/src/select/select.directive.d.ts +0 -25
- package/select/src/select-dropdown/select-dropdown.component.d.ts +0 -14
- package/select/src/select-multiple.component.d.ts +0 -10
- package/select/src/select-option/select-option.component.d.ts +0 -10
- package/select/src/select-option/select-option.directive.d.ts +0 -14
- package/select/src/select-single.component.d.ts +0 -10
- package/select/src/select-trigger/select-trigger.component.d.ts +0 -9
- package/select/src/select-value/select-value.component.d.ts +0 -7
- package/select/src/select-values/select-values.component.d.ts +0 -7
- package/select/src/select.module.d.ts +0 -4
- package/switch/latitude-ui-widgets-switch.d.ts +0 -5
- package/switch/public-api.d.ts +0 -1
- package/textarea/latitude-ui-widgets-textarea.d.ts +0 -5
- package/textarea/public-api.d.ts +0 -1
- package/textarea/src/textarea.component.d.ts +0 -9
- package/textbox/latitude-ui-widgets-textbox.d.ts +0 -5
- package/textbox/public-api.d.ts +0 -2
- package/textbox/src/textbox.component.d.ts +0 -14
- package/textbox/src/textbox.directive.d.ts +0 -10
- package/textbox-number/latitude-ui-widgets-textbox-number.d.ts +0 -5
- package/textbox-number/public-api.d.ts +0 -1
- package/textbox-number/src/spinners.component.d.ts +0 -8
- package/textbox-number/src/textbox-number.component.d.ts +0 -43
- package/textbox-search/latitude-ui-widgets-textbox-search.d.ts +0 -5
- package/textbox-search/public-api.d.ts +0 -1
- package/textbox-search/src/textbox-search.component.d.ts +0 -16
- package/toolbar/latitude-ui-widgets-toolbar.d.ts +0 -5
- package/toolbar/public-api.d.ts +0 -1
package/README.md
CHANGED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
|
|
3
|
+
type ButtonSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | null | undefined | (string & {});
|
|
4
|
+
type ButtonVariant = 'default' | 'action' | 'text' | 'subtle' | 'link' | null | undefined | (string & {});
|
|
5
|
+
|
|
6
|
+
declare class ButtonComponent {
|
|
7
|
+
readonly el: any;
|
|
8
|
+
readonly size: _angular_core.InputSignal<ButtonSize>;
|
|
9
|
+
readonly variant: _angular_core.InputSignal<ButtonVariant>;
|
|
10
|
+
readonly tabindex: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
11
|
+
readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
12
|
+
readonly onlyicon: _angular_core.WritableSignal<boolean>;
|
|
13
|
+
constructor();
|
|
14
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ButtonComponent, never>;
|
|
15
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ButtonComponent, "lat-button", ["latButton"], { "size": { "alias": "size"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "tabindex": { "alias": "tabindex"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export { ButtonComponent };
|
|
19
|
+
export type { ButtonSize, ButtonVariant };
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import { BuildInInputValueAccessor } from '@latitude-ui/widgets/input';
|
|
2
|
-
import * as i0 from
|
|
3
|
-
|
|
2
|
+
import * as i0 from '@angular/core';
|
|
3
|
+
|
|
4
|
+
declare class CheckBoxComponent extends BuildInInputValueAccessor<boolean> {
|
|
4
5
|
toggle(): void;
|
|
5
6
|
static ɵfac: i0.ɵɵFactoryDeclaration<CheckBoxComponent, never>;
|
|
6
7
|
static ɵcmp: i0.ɵɵComponentDeclaration<CheckBoxComponent, "lat-checkbox", ["latCheckBox"], {}, {}, never, ["*"], true, never>;
|
|
7
8
|
}
|
|
9
|
+
|
|
10
|
+
export { CheckBoxComponent };
|
package/core/index.d.ts
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
import { InjectionToken, InputSignal, Injector } from '@angular/core';
|
|
3
|
+
|
|
4
|
+
declare const LAYOUT_DIMENSIONS: InjectionToken<{
|
|
5
|
+
width: _angular_core.Signal<number>;
|
|
6
|
+
height: _angular_core.Signal<number>;
|
|
7
|
+
}>;
|
|
8
|
+
declare const SCROLLBAR_DIMENSIONS: InjectionToken<_angular_core.Signal<number>>;
|
|
9
|
+
declare const DIMENSIONS: InjectionToken<{
|
|
10
|
+
layout: {
|
|
11
|
+
width: _angular_core.Signal<number>;
|
|
12
|
+
height: _angular_core.Signal<number>;
|
|
13
|
+
};
|
|
14
|
+
scrollbar: _angular_core.Signal<number>;
|
|
15
|
+
}>;
|
|
16
|
+
|
|
17
|
+
declare function illegallySetComponentInput<T>(inputSignal: InputSignal<T>, value: T): void;
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* https://github.com/angular/angular/issues/9587
|
|
21
|
+
*/
|
|
22
|
+
declare function listenMouseEvent<T extends HTMLElement>(nativeElement: T, options?: {
|
|
23
|
+
disabled?: () => boolean | undefined;
|
|
24
|
+
injector?: Injector;
|
|
25
|
+
}): VoidFunction;
|
|
26
|
+
|
|
27
|
+
declare class RootDirective {
|
|
28
|
+
readonly dimensions: {
|
|
29
|
+
layout: {
|
|
30
|
+
width: _angular_core.Signal<number>;
|
|
31
|
+
height: _angular_core.Signal<number>;
|
|
32
|
+
};
|
|
33
|
+
scrollbar: _angular_core.Signal<number>;
|
|
34
|
+
};
|
|
35
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RootDirective, never>;
|
|
36
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RootDirective, never, never, {}, {}, never, never, true, never>;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export { DIMENSIONS, LAYOUT_DIMENSIONS, RootDirective, SCROLLBAR_DIMENSIONS, illegallySetComponentInput, listenMouseEvent };
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { inject, ElementRef, input, numberAttribute, booleanAttribute, signal, afterRenderEffect, ChangeDetectionStrategy, ViewEncapsulation, Component } from '@angular/core';
|
|
3
|
+
import { listenMouseEvent } from '@latitude-ui/widgets/core';
|
|
4
|
+
|
|
5
|
+
class ButtonComponent {
|
|
6
|
+
el = inject((ElementRef)).nativeElement;
|
|
7
|
+
size = input('md');
|
|
8
|
+
variant = input('default');
|
|
9
|
+
tabindex = input(0, { transform: numberAttribute });
|
|
10
|
+
disabled = input(false, { transform: booleanAttribute });
|
|
11
|
+
onlyicon = signal(false);
|
|
12
|
+
constructor() {
|
|
13
|
+
listenMouseEvent(this.el, { disabled: this.disabled });
|
|
14
|
+
/**
|
|
15
|
+
* Need to find icon without another DOM node
|
|
16
|
+
* */
|
|
17
|
+
afterRenderEffect(() => {
|
|
18
|
+
const childNodes = this.el.childNodes;
|
|
19
|
+
if (childNodes.length === 1) {
|
|
20
|
+
const node = childNodes.item(0);
|
|
21
|
+
this.onlyicon.update(() => {
|
|
22
|
+
if (node instanceof HTMLElement) {
|
|
23
|
+
return node.tagName === 'LAT-ICON' || node.tagName === 'SVG' || node.role === 'img';
|
|
24
|
+
}
|
|
25
|
+
return false;
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
31
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.6", type: ButtonComponent, isStandalone: true, selector: "lat-button", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, tabindex: { classPropertyName: "tabindex", publicName: "tabindex", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "button" }, properties: { "attr.tabindex": "disabled() ? -1 : tabindex()", "attr.data-size": "size()", "attr.data-variant": "variant()", "attr.aria-disabled": "disabled()", "class.lat-button": "true", "class.lat-button-icon": "onlyicon()" } }, exportAs: ["latButton"], ngImport: i0, template: "<ng-content />\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
32
|
+
}
|
|
33
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ButtonComponent, decorators: [{
|
|
34
|
+
type: Component,
|
|
35
|
+
args: [{ exportAs: 'latButton', selector: 'lat-button', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
36
|
+
role: 'button',
|
|
37
|
+
'[attr.tabindex]': 'disabled() ? -1 : tabindex()',
|
|
38
|
+
'[attr.data-size]': 'size()',
|
|
39
|
+
'[attr.data-variant]': 'variant()',
|
|
40
|
+
'[attr.aria-disabled]': 'disabled()',
|
|
41
|
+
'[class.lat-button]': 'true',
|
|
42
|
+
'[class.lat-button-icon]': 'onlyicon()',
|
|
43
|
+
}, template: "<ng-content />\n" }]
|
|
44
|
+
}], ctorParameters: () => [] });
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Generated bundle index. Do not edit.
|
|
48
|
+
*/
|
|
49
|
+
|
|
50
|
+
export { ButtonComponent };
|
|
51
|
+
//# sourceMappingURL=latitude-ui-widgets-button.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"latitude-ui-widgets-button.mjs","sources":["../tmp-esm2022/button/src/button.component.js","../tmp-esm2022/button/latitude-ui-widgets-button.js"],"sourcesContent":["import { afterRenderEffect, booleanAttribute, ChangeDetectionStrategy, Component, ElementRef, inject, input, numberAttribute, signal, ViewEncapsulation, } from '@angular/core';\nimport { listenMouseEvent } from '@latitude-ui/widgets/core';\nimport * as i0 from \"@angular/core\";\nexport class ButtonComponent {\n el = inject((ElementRef)).nativeElement;\n size = input('md');\n variant = input('default');\n tabindex = input(0, { transform: numberAttribute });\n disabled = input(false, { transform: booleanAttribute });\n onlyicon = signal(false);\n constructor() {\n listenMouseEvent(this.el, { disabled: this.disabled });\n /**\n * Need to find icon without another DOM node\n * */\n afterRenderEffect(() => {\n const childNodes = this.el.childNodes;\n if (childNodes.length === 1) {\n const node = childNodes.item(0);\n this.onlyicon.update(() => {\n if (node instanceof HTMLElement) {\n return node.tagName === 'LAT-ICON' || node.tagName === 'SVG' || node.role === 'img';\n }\n return false;\n });\n }\n });\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.6\", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.1.0\", version: \"20.0.6\", type: ButtonComponent, isStandalone: true, selector: \"lat-button\", inputs: { size: { classPropertyName: \"size\", publicName: \"size\", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: \"variant\", publicName: \"variant\", isSignal: true, isRequired: false, transformFunction: null }, tabindex: { classPropertyName: \"tabindex\", publicName: \"tabindex\", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: \"disabled\", publicName: \"disabled\", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { \"role\": \"button\" }, properties: { \"attr.tabindex\": \"disabled() ? -1 : tabindex()\", \"attr.data-size\": \"size()\", \"attr.data-variant\": \"variant()\", \"attr.aria-disabled\": \"disabled()\", \"class.lat-button\": \"true\", \"class.lat-button-icon\": \"onlyicon()\" } }, exportAs: [\"latButton\"], ngImport: i0, template: \"<ng-content />\\n\", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.6\", ngImport: i0, type: ButtonComponent, decorators: [{\n type: Component,\n args: [{ exportAs: 'latButton', selector: 'lat-button', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {\n role: 'button',\n '[attr.tabindex]': 'disabled() ? -1 : tabindex()',\n '[attr.data-size]': 'size()',\n '[attr.data-variant]': 'variant()',\n '[attr.aria-disabled]': 'disabled()',\n '[class.lat-button]': 'true',\n '[class.lat-button-icon]': 'onlyicon()',\n }, template: \"<ng-content />\\n\" }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3dpZGdldHMvYnV0dG9uL3NyYy9idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvd2lkZ2V0cy9idXR0b24vc3JjL2J1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLGdCQUFnQixFQUNoQix1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUNMLGVBQWUsRUFDZixNQUFNLEVBQ04saUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQW9CN0QsTUFBTSxPQUFPLGVBQWU7SUFDVixFQUFFLEdBQUcsTUFBTSxDQUFDLENBQUEsVUFBdUIsQ0FBQSxDQUFDLENBQUMsYUFBYSxDQUFDO0lBRW5ELElBQUksR0FBRyxLQUFLLENBQWEsSUFBSSxDQUFDLENBQUM7SUFDL0IsT0FBTyxHQUFHLEtBQUssQ0FBZ0IsU0FBUyxDQUFDLENBQUM7SUFDMUMsUUFBUSxHQUFHLEtBQUssQ0FBa0IsQ0FBQyxFQUFFLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxDQUFDLENBQUM7SUFDckUsUUFBUSxHQUFHLEtBQUssQ0FBbUIsS0FBSyxFQUFFLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLENBQUMsQ0FBQztJQUUzRSxRQUFRLEdBQUcsTUFBTSxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBRWxEO1FBQ0UsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUV2RDs7YUFFSztRQUNMLGlCQUFpQixDQUFDLEdBQUcsRUFBRTtZQUNyQixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQztZQUV0QyxJQUFJLFVBQVUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQzVCLE1BQU0sSUFBSSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBRWhDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRTtvQkFDeEIsSUFBSSxJQUFJLFlBQVksV0FBVyxFQUFFLENBQUM7d0JBQ2hDLE9BQU8sSUFBSSxDQUFDLE9BQU8sS0FBSyxVQUFVLElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxLQUFLLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxLQUFLLENBQUM7b0JBQ3RGLENBQUM7b0JBRUQsT0FBTyxLQUFLLENBQUM7Z0JBQ2YsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO3VHQS9CVSxlQUFlOzJGQUFmLGVBQWUsazNCQ2pDNUIsa0JBQ0E7OzJGRGdDYSxlQUFlO2tCQWhCM0IsU0FBUzsrQkFDRSxXQUFXLFlBQ1gsWUFBWSxpQkFFUCxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLFFBQ3pDO3dCQUNKLElBQUksRUFBRSxRQUFRO3dCQUNkLGlCQUFpQixFQUFFLDhCQUE4Qjt3QkFDakQsa0JBQWtCLEVBQUUsUUFBUTt3QkFDNUIscUJBQXFCLEVBQUUsV0FBVzt3QkFDbEMsc0JBQXNCLEVBQUUsWUFBWTt3QkFDcEMsb0JBQW9CLEVBQUUsTUFBTTt3QkFDNUIseUJBQXlCLEVBQUUsWUFBWTtxQkFDeEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIGFmdGVyUmVuZGVyRWZmZWN0LFxyXG4gIGJvb2xlYW5BdHRyaWJ1dGUsXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ29tcG9uZW50LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgaW5qZWN0LFxyXG4gIGlucHV0LFxyXG4gIG51bWJlckF0dHJpYnV0ZSxcclxuICBzaWduYWwsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBsaXN0ZW5Nb3VzZUV2ZW50IH0gZnJvbSAnQGxhdGl0dWRlLXVpL3dpZGdldHMvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBCdXR0b25TaXplLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi9idXR0b24udHlwZXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgZXhwb3J0QXM6ICdsYXRCdXR0b24nLFxyXG4gIHNlbGVjdG9yOiAnbGF0LWJ1dHRvbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2J1dHRvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBob3N0OiB7XHJcbiAgICByb2xlOiAnYnV0dG9uJyxcclxuICAgICdbYXR0ci50YWJpbmRleF0nOiAnZGlzYWJsZWQoKSA/IC0xIDogdGFiaW5kZXgoKScsXHJcbiAgICAnW2F0dHIuZGF0YS1zaXplXSc6ICdzaXplKCknLFxyXG4gICAgJ1thdHRyLmRhdGEtdmFyaWFudF0nOiAndmFyaWFudCgpJyxcclxuICAgICdbYXR0ci5hcmlhLWRpc2FibGVkXSc6ICdkaXNhYmxlZCgpJyxcclxuICAgICdbY2xhc3MubGF0LWJ1dHRvbl0nOiAndHJ1ZScsXHJcbiAgICAnW2NsYXNzLmxhdC1idXR0b24taWNvbl0nOiAnb25seWljb24oKScsXHJcbiAgfSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEJ1dHRvbkNvbXBvbmVudCB7XHJcbiAgcHVibGljIHJlYWRvbmx5IGVsID0gaW5qZWN0KEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+KS5uYXRpdmVFbGVtZW50O1xyXG5cclxuICBwdWJsaWMgcmVhZG9ubHkgc2l6ZSA9IGlucHV0PEJ1dHRvblNpemU+KCdtZCcpO1xyXG4gIHB1YmxpYyByZWFkb25seSB2YXJpYW50ID0gaW5wdXQ8QnV0dG9uVmFyaWFudD4oJ2RlZmF1bHQnKTtcclxuICBwdWJsaWMgcmVhZG9ubHkgdGFiaW5kZXggPSBpbnB1dDxudW1iZXIsIHVua25vd24+KDAsIHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSk7XHJcbiAgcHVibGljIHJlYWRvbmx5IGRpc2FibGVkID0gaW5wdXQ8Ym9vbGVhbiwgdW5rbm93bj4oZmFsc2UsIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pO1xyXG5cclxuICBwdWJsaWMgcmVhZG9ubHkgb25seWljb24gPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIGxpc3Rlbk1vdXNlRXZlbnQodGhpcy5lbCwgeyBkaXNhYmxlZDogdGhpcy5kaXNhYmxlZCB9KTtcclxuXHJcbiAgICAvKipcclxuICAgICAqICBOZWVkIHRvIGZpbmQgaWNvbiB3aXRob3V0IGFub3RoZXIgRE9NIG5vZGVcclxuICAgICAqICovXHJcbiAgICBhZnRlclJlbmRlckVmZmVjdCgoKSA9PiB7XHJcbiAgICAgIGNvbnN0IGNoaWxkTm9kZXMgPSB0aGlzLmVsLmNoaWxkTm9kZXM7XHJcblxyXG4gICAgICBpZiAoY2hpbGROb2Rlcy5sZW5ndGggPT09IDEpIHtcclxuICAgICAgICBjb25zdCBub2RlID0gY2hpbGROb2Rlcy5pdGVtKDApO1xyXG5cclxuICAgICAgICB0aGlzLm9ubHlpY29uLnVwZGF0ZSgoKSA9PiB7XHJcbiAgICAgICAgICBpZiAobm9kZSBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSB7XHJcbiAgICAgICAgICAgIHJldHVybiBub2RlLnRhZ05hbWUgPT09ICdMQVQtSUNPTicgfHwgbm9kZS50YWdOYW1lID09PSAnU1ZHJyB8fCBub2RlLnJvbGUgPT09ICdpbWcnO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuXHJcbn1cclxuIiwiPG5nLWNvbnRlbnQgLz5cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './public-api';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF0aXR1ZGUtdWktd2lkZ2V0cy1idXR0b24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy93aWRnZXRzL2J1dHRvbi9sYXRpdHVkZS11aS13aWRnZXRzLWJ1dHRvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { forwardRef, ChangeDetectionStrategy, ViewEncapsulation, Component } from '@angular/core';
|
|
3
|
+
import { BuildInInputValueAccessor } from '@latitude-ui/widgets/input';
|
|
4
|
+
import { IconComponent } from '@latitude-ui/widgets/icons';
|
|
5
|
+
|
|
6
|
+
class CheckBoxComponent extends BuildInInputValueAccessor {
|
|
7
|
+
toggle() {
|
|
8
|
+
if (!this.disabled()) {
|
|
9
|
+
const value = this.value() ?? false;
|
|
10
|
+
this.writeValue(!value);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: CheckBoxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
14
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.6", type: CheckBoxComponent, isStandalone: true, selector: "lat-checkbox", host: { listeners: { "click": "toggle()" } }, providers: [
|
|
15
|
+
{
|
|
16
|
+
provide: BuildInInputValueAccessor,
|
|
17
|
+
useExisting: forwardRef(() => CheckBoxComponent),
|
|
18
|
+
},
|
|
19
|
+
], exportAs: ["latCheckBox"], usesInheritance: true, ngImport: i0, template: "<button\r\n type=\"button\"\r\n role=\"checkbox\"\r\n [attr.id]=\"inputId()\"\r\n [attr.value]=\"value() ? 'on' : 'off'\"\r\n [attr.tabindex]=\"disabled() ? -1 : tabindex()\"\r\n [attr.disabled]=\"disabled() || undefined\"\r\n [attr.aria-checked]=\"value() || false\"\r\n>\r\n <lat-icon name=\"check\" />\r\n</button>\r\n<ng-content/>\r\n", dependencies: [{ kind: "component", type: IconComponent, selector: "lat-icon", inputs: ["url", "name"], exportAs: ["latIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
20
|
+
}
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: CheckBoxComponent, decorators: [{
|
|
22
|
+
type: Component,
|
|
23
|
+
args: [{ imports: [
|
|
24
|
+
IconComponent
|
|
25
|
+
], exportAs: 'latCheckBox', selector: 'lat-checkbox', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
26
|
+
{
|
|
27
|
+
provide: BuildInInputValueAccessor,
|
|
28
|
+
useExisting: forwardRef(() => CheckBoxComponent),
|
|
29
|
+
},
|
|
30
|
+
], host: {
|
|
31
|
+
'(click)': 'toggle()',
|
|
32
|
+
}, template: "<button\r\n type=\"button\"\r\n role=\"checkbox\"\r\n [attr.id]=\"inputId()\"\r\n [attr.value]=\"value() ? 'on' : 'off'\"\r\n [attr.tabindex]=\"disabled() ? -1 : tabindex()\"\r\n [attr.disabled]=\"disabled() || undefined\"\r\n [attr.aria-checked]=\"value() || false\"\r\n>\r\n <lat-icon name=\"check\" />\r\n</button>\r\n<ng-content/>\r\n" }]
|
|
33
|
+
}] });
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Generated bundle index. Do not edit.
|
|
37
|
+
*/
|
|
38
|
+
|
|
39
|
+
export { CheckBoxComponent };
|
|
40
|
+
//# sourceMappingURL=latitude-ui-widgets-checkbox.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"latitude-ui-widgets-checkbox.mjs","sources":["../tmp-esm2022/checkbox/src/checkbox.component.js","../tmp-esm2022/checkbox/latitude-ui-widgets-checkbox.js"],"sourcesContent":["import { ChangeDetectionStrategy, Component, forwardRef, ViewEncapsulation } from '@angular/core';\nimport { BuildInInputValueAccessor } from '@latitude-ui/widgets/input';\nimport { IconComponent } from '@latitude-ui/widgets/icons';\nimport * as i0 from \"@angular/core\";\nexport class CheckBoxComponent extends BuildInInputValueAccessor {\n toggle() {\n if (!this.disabled()) {\n const value = this.value() ?? false;\n this.writeValue(!value);\n }\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.6\", ngImport: i0, type: CheckBoxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.0.6\", type: CheckBoxComponent, isStandalone: true, selector: \"lat-checkbox\", host: { listeners: { \"click\": \"toggle()\" } }, providers: [\n {\n provide: BuildInInputValueAccessor,\n useExisting: forwardRef(() => CheckBoxComponent),\n },\n ], exportAs: [\"latCheckBox\"], usesInheritance: true, ngImport: i0, template: \"<button\\r\\n type=\\\"button\\\"\\r\\n role=\\\"checkbox\\\"\\r\\n [attr.id]=\\\"inputId()\\\"\\r\\n [attr.value]=\\\"value() ? 'on' : 'off'\\\"\\r\\n [attr.tabindex]=\\\"disabled() ? -1 : tabindex()\\\"\\r\\n [attr.disabled]=\\\"disabled() || undefined\\\"\\r\\n [attr.aria-checked]=\\\"value() || false\\\"\\r\\n>\\r\\n <lat-icon name=\\\"check\\\" />\\r\\n</button>\\r\\n<ng-content/>\\r\\n\", dependencies: [{ kind: \"component\", type: IconComponent, selector: \"lat-icon\", inputs: [\"url\", \"name\"], exportAs: [\"latIcon\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.6\", ngImport: i0, type: CheckBoxComponent, decorators: [{\n type: Component,\n args: [{ imports: [\n IconComponent\n ], exportAs: 'latCheckBox', selector: 'lat-checkbox', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [\n {\n provide: BuildInInputValueAccessor,\n useExisting: forwardRef(() => CheckBoxComponent),\n },\n ], host: {\n '(click)': 'toggle()',\n }, template: \"<button\\r\\n type=\\\"button\\\"\\r\\n role=\\\"checkbox\\\"\\r\\n [attr.id]=\\\"inputId()\\\"\\r\\n [attr.value]=\\\"value() ? 'on' : 'off'\\\"\\r\\n [attr.tabindex]=\\\"disabled() ? -1 : tabindex()\\\"\\r\\n [attr.disabled]=\\\"disabled() || undefined\\\"\\r\\n [attr.aria-checked]=\\\"value() || false\\\"\\r\\n>\\r\\n <lat-icon name=\\\"check\\\" />\\r\\n</button>\\r\\n<ng-content/>\\r\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvd2lkZ2V0cy9jaGVja2JveC9zcmMvY2hlY2tib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvd2lkZ2V0cy9jaGVja2JveC9zcmMvY2hlY2tib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEcsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQXFCM0QsTUFBTSxPQUFPLGlCQUFrQixTQUFRLHlCQUFrQztJQUNoRSxNQUFNO1FBQ1gsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDO1lBQ3JCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxLQUFLLENBQUM7WUFFcEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFCLENBQUM7SUFDSCxDQUFDO3VHQVBVLGlCQUFpQjsyRkFBakIsaUJBQWlCLHlHQVZqQjtZQUNUO2dCQUNFLE9BQU8sRUFBRSx5QkFBeUI7Z0JBQ2xDLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsaUJBQWlCLENBQUM7YUFDakQ7U0FDRiw0RUNsQkgsNFZBWUEsNENETkksYUFBYTs7MkZBaUJKLGlCQUFpQjtrQkFuQjdCLFNBQVM7OEJBQ0M7d0JBQ1AsYUFBYTtxQkFDZCxZQUNTLGFBQWEsWUFDYixjQUFjLGlCQUVULGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLHlCQUF5Qjs0QkFDbEMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsa0JBQWtCLENBQUM7eUJBQ2pEO3FCQUNGLFFBQ0s7d0JBQ0osU0FBUyxFQUFFLFVBQVU7cUJBQ3RCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgZm9yd2FyZFJlZiwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQnVpbGRJbklucHV0VmFsdWVBY2Nlc3NvciB9IGZyb20gJ0BsYXRpdHVkZS11aS93aWRnZXRzL2lucHV0JztcclxuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gJ0BsYXRpdHVkZS11aS93aWRnZXRzL2ljb25zJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIEljb25Db21wb25lbnRcclxuICBdLFxyXG4gIGV4cG9ydEFzOiAnbGF0Q2hlY2tCb3gnLFxyXG4gIHNlbGVjdG9yOiAnbGF0LWNoZWNrYm94JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY2hlY2tib3guY29tcG9uZW50Lmh0bWwnLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IEJ1aWxkSW5JbnB1dFZhbHVlQWNjZXNzb3IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IENoZWNrQm94Q29tcG9uZW50KSxcclxuICAgIH0sXHJcbiAgXSxcclxuICBob3N0OiB7XHJcbiAgICAnKGNsaWNrKSc6ICd0b2dnbGUoKScsXHJcbiAgfSxcclxufSlcclxuZXhwb3J0IGNsYXNzIENoZWNrQm94Q29tcG9uZW50IGV4dGVuZHMgQnVpbGRJbklucHV0VmFsdWVBY2Nlc3Nvcjxib29sZWFuPiB7XHJcbiAgcHVibGljIHRvZ2dsZSgpIHtcclxuICAgIGlmICghdGhpcy5kaXNhYmxlZCgpKSB7XHJcbiAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy52YWx1ZSgpID8/IGZhbHNlO1xyXG5cclxuICAgICAgdGhpcy53cml0ZVZhbHVlKCF2YWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxidXR0b25cclxuICB0eXBlPVwiYnV0dG9uXCJcclxuICByb2xlPVwiY2hlY2tib3hcIlxyXG4gIFthdHRyLmlkXT1cImlucHV0SWQoKVwiXHJcbiAgW2F0dHIudmFsdWVdPVwidmFsdWUoKSA/ICdvbicgOiAnb2ZmJ1wiXHJcbiAgW2F0dHIudGFiaW5kZXhdPVwiZGlzYWJsZWQoKSA/IC0xIDogdGFiaW5kZXgoKVwiXHJcbiAgW2F0dHIuZGlzYWJsZWRdPVwiZGlzYWJsZWQoKSB8fCB1bmRlZmluZWRcIlxyXG4gIFthdHRyLmFyaWEtY2hlY2tlZF09XCJ2YWx1ZSgpIHx8IGZhbHNlXCJcclxuPlxyXG4gIDxsYXQtaWNvbiBuYW1lPVwiY2hlY2tcIiAvPlxyXG48L2J1dHRvbj5cclxuPG5nLWNvbnRlbnQvPlxyXG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './public-api';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF0aXR1ZGUtdWktd2lkZ2V0cy1jaGVja2JveC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3dpZGdldHMvY2hlY2tib3gvbGF0aXR1ZGUtdWktd2lkZ2V0cy1jaGVja2JveC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19"],"names":[],"mappings":";;;;;AAIO,MAAM,iBAAiB,SAAS,yBAAyB,CAAC;AACjE,IAAI,MAAM,GAAG;AACb,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE;AAC9B,YAAY,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,KAAK;AAC/C,YAAY,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC;AACnC;AACA;AACA,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC;AAC7K,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,iBAAiB,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,SAAS,EAAE;AACrN,YAAY;AACZ,gBAAgB,OAAO,EAAE,yBAAyB;AAClD,gBAAgB,WAAW,EAAE,UAAU,CAAC,MAAM,iBAAiB,CAAC;AAChE,aAAa;AACb,SAAS,EAAE,QAAQ,EAAE,CAAC,aAAa,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,4VAA4V,EAAE,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,eAAe,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;AACppB;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,UAAU,EAAE,CAAC;AAC3H,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE;AAC9B,wBAAwB;AACxB,qBAAqB,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,cAAc,EAAE,aAAa,EAAE,iBAAiB,CAAC,IAAI,EAAE,eAAe,EAAE,uBAAuB,CAAC,MAAM,EAAE,SAAS,EAAE;AAC7K,wBAAwB;AACxB,4BAA4B,OAAO,EAAE,yBAAyB;AAC9D,4BAA4B,WAAW,EAAE,UAAU,CAAC,MAAM,iBAAiB,CAAC;AAC5E,yBAAyB;AACzB,qBAAqB,EAAE,IAAI,EAAE;AAC7B,wBAAwB,SAAS,EAAE,UAAU;AAC7C,qBAAqB,EAAE,QAAQ,EAAE,4VAA4V,EAAE;AAC/X,SAAS,CAAC,EAAE,CAAC;;AC/Bb;AACA;AACA;;;;"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { Subject, startWith, debounceTime } from 'rxjs';
|
|
2
|
+
import * as i0 from '@angular/core';
|
|
3
|
+
import { InjectionToken, inject, DOCUMENT, RendererFactory2, signal, ApplicationInitStatus, ɵSIGNAL as _SIGNAL, Injector, Renderer2, DestroyRef, Directive } from '@angular/core';
|
|
4
|
+
|
|
5
|
+
const LAYOUT_DIMENSIONS = new InjectionToken('LAYOUT_DIMENSIONS', {
|
|
6
|
+
providedIn: 'root',
|
|
7
|
+
factory: () => {
|
|
8
|
+
const document = inject(DOCUMENT);
|
|
9
|
+
const renderer = inject(RendererFactory2).createRenderer(document.documentElement, null);
|
|
10
|
+
const width = signal(0);
|
|
11
|
+
const height = signal(0);
|
|
12
|
+
if (document.defaultView) {
|
|
13
|
+
const subject = new Subject();
|
|
14
|
+
const defaultView = document.defaultView;
|
|
15
|
+
subject.pipe(startWith(null), debounceTime(16)).subscribe(() => {
|
|
16
|
+
width.set(defaultView.innerWidth);
|
|
17
|
+
height.set(defaultView.innerHeight);
|
|
18
|
+
});
|
|
19
|
+
renderer.listen(defaultView, 'resize', () => subject.next(void 0));
|
|
20
|
+
}
|
|
21
|
+
return {
|
|
22
|
+
width: width.asReadonly(),
|
|
23
|
+
height: height.asReadonly(),
|
|
24
|
+
};
|
|
25
|
+
},
|
|
26
|
+
});
|
|
27
|
+
const SCROLLBAR_DIMENSIONS = new InjectionToken('SCROLLBAR_DIMENSIONS', {
|
|
28
|
+
providedIn: 'root',
|
|
29
|
+
factory: () => {
|
|
30
|
+
const document = inject(DOCUMENT);
|
|
31
|
+
const renderer = inject(RendererFactory2).createRenderer(document.documentElement, null);
|
|
32
|
+
const dimensions = signal(0);
|
|
33
|
+
const calculate = () => {
|
|
34
|
+
const div = renderer.createElement('div');
|
|
35
|
+
const style = div.style;
|
|
36
|
+
style.overflow = 'scroll';
|
|
37
|
+
style.visibility = 'hidden';
|
|
38
|
+
style.msOverflowStyle = 'scrollbar';
|
|
39
|
+
renderer.appendChild(document.body, div);
|
|
40
|
+
const scrollable = renderer.createElement('div');
|
|
41
|
+
const width = div.offsetWidth - scrollable.offsetWidth;
|
|
42
|
+
renderer.removeChild(document.body, div);
|
|
43
|
+
return width;
|
|
44
|
+
};
|
|
45
|
+
inject(ApplicationInitStatus).donePromise.then(() => dimensions.set(calculate()));
|
|
46
|
+
return dimensions.asReadonly();
|
|
47
|
+
},
|
|
48
|
+
});
|
|
49
|
+
const DIMENSIONS = new InjectionToken('DIMENSIONS', {
|
|
50
|
+
providedIn: 'root',
|
|
51
|
+
factory: () => {
|
|
52
|
+
return {
|
|
53
|
+
layout: inject(LAYOUT_DIMENSIONS),
|
|
54
|
+
scrollbar: inject(SCROLLBAR_DIMENSIONS),
|
|
55
|
+
};
|
|
56
|
+
},
|
|
57
|
+
});
|
|
58
|
+
|
|
59
|
+
function illegallySetComponentInput(inputSignal, value) {
|
|
60
|
+
inputSignal[_SIGNAL].applyValueToInputSignal(inputSignal[_SIGNAL], value);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
const falsy = () => false;
|
|
64
|
+
/**
|
|
65
|
+
* https://github.com/angular/angular/issues/9587
|
|
66
|
+
*/
|
|
67
|
+
function listenMouseEvent(nativeElement, options = {}) {
|
|
68
|
+
const injector = options.injector ?? inject(Injector);
|
|
69
|
+
const disabled = options.disabled ?? falsy;
|
|
70
|
+
const renderer = injector.get(Renderer2);
|
|
71
|
+
const destroyRef = injector.get(DestroyRef);
|
|
72
|
+
const unregisterClick = renderer.listen(nativeElement, 'click', (event) => {
|
|
73
|
+
if (disabled()) {
|
|
74
|
+
event.stopImmediatePropagation();
|
|
75
|
+
event.preventDefault();
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
const unregisterKeyUp = renderer.listen(nativeElement, 'keyup', (event) => {
|
|
79
|
+
if (event.code === 'Space' && !disabled()) {
|
|
80
|
+
nativeElement.dispatchEvent(new MouseEvent('click', { ...event }));
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
const unregisterFn = destroyRef.onDestroy(() => {
|
|
84
|
+
unregisterClick();
|
|
85
|
+
unregisterKeyUp();
|
|
86
|
+
});
|
|
87
|
+
return () => {
|
|
88
|
+
unregisterFn();
|
|
89
|
+
unregisterClick();
|
|
90
|
+
unregisterKeyUp();
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
class RootDirective {
|
|
95
|
+
dimensions = inject(DIMENSIONS);
|
|
96
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: RootDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
97
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.6", type: RootDirective, isStandalone: true, host: { properties: { "style.--lat-layout-width": "`${dimensions.layout.width()}px`", "style.--lat-layout-height": "`${dimensions.layout.height()}px`", "style.--lat-scrollbar-width": "`${dimensions.scrollbar()}px`" }, classAttribute: "lat-root" }, ngImport: i0 });
|
|
98
|
+
}
|
|
99
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: RootDirective, decorators: [{
|
|
100
|
+
type: Directive,
|
|
101
|
+
args: [{
|
|
102
|
+
host: {
|
|
103
|
+
class: 'lat-root',
|
|
104
|
+
'[style.--lat-layout-width]': '`${dimensions.layout.width()}px`',
|
|
105
|
+
'[style.--lat-layout-height]': '`${dimensions.layout.height()}px`',
|
|
106
|
+
'[style.--lat-scrollbar-width]': '`${dimensions.scrollbar()}px`',
|
|
107
|
+
}
|
|
108
|
+
}]
|
|
109
|
+
}] });
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* Generated bundle index. Do not edit.
|
|
113
|
+
*/
|
|
114
|
+
|
|
115
|
+
export { DIMENSIONS, LAYOUT_DIMENSIONS, RootDirective, SCROLLBAR_DIMENSIONS, illegallySetComponentInput, listenMouseEvent };
|
|
116
|
+
//# sourceMappingURL=latitude-ui-widgets-core.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"latitude-ui-widgets-core.mjs","sources":["../tmp-esm2022/core/src/dimensions.js","../tmp-esm2022/core/src/illegal.js","../tmp-esm2022/core/src/listeners.js","../tmp-esm2022/core/src/root.js","../tmp-esm2022/core/latitude-ui-widgets-core.js"],"sourcesContent":["import { debounceTime, startWith, Subject } from 'rxjs';\nimport { ApplicationInitStatus, DOCUMENT, inject, InjectionToken, RendererFactory2, signal } from '@angular/core';\nexport const LAYOUT_DIMENSIONS = new InjectionToken('LAYOUT_DIMENSIONS', {\n providedIn: 'root',\n factory: () => {\n const document = inject(DOCUMENT);\n const renderer = inject(RendererFactory2).createRenderer(document.documentElement, null);\n const width = signal(0);\n const height = signal(0);\n if (document.defaultView) {\n const subject = new Subject();\n const defaultView = document.defaultView;\n subject.pipe(startWith(null), debounceTime(16)).subscribe(() => {\n width.set(defaultView.innerWidth);\n height.set(defaultView.innerHeight);\n });\n renderer.listen(defaultView, 'resize', () => subject.next(void 0));\n }\n return {\n width: width.asReadonly(),\n height: height.asReadonly(),\n };\n },\n});\nexport const SCROLLBAR_DIMENSIONS = new InjectionToken('SCROLLBAR_DIMENSIONS', {\n providedIn: 'root',\n factory: () => {\n const document = inject(DOCUMENT);\n const renderer = inject(RendererFactory2).createRenderer(document.documentElement, null);\n const dimensions = signal(0);\n const calculate = () => {\n const div = renderer.createElement('div');\n const style = div.style;\n style.overflow = 'scroll';\n style.visibility = 'hidden';\n style.msOverflowStyle = 'scrollbar';\n renderer.appendChild(document.body, div);\n const scrollable = renderer.createElement('div');\n const width = div.offsetWidth - scrollable.offsetWidth;\n renderer.removeChild(document.body, div);\n return width;\n };\n inject(ApplicationInitStatus).donePromise.then(() => dimensions.set(calculate()));\n return dimensions.asReadonly();\n },\n});\nexport const DIMENSIONS = new InjectionToken('DIMENSIONS', {\n providedIn: 'root',\n factory: () => {\n return {\n layout: inject(LAYOUT_DIMENSIONS),\n scrollbar: inject(SCROLLBAR_DIMENSIONS),\n };\n },\n});\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGltZW5zaW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3dpZGdldHMvY29yZS9zcmMvZGltZW5zaW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDeEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVsSCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLGNBQWMsQ0FBQyxtQkFBbUIsRUFBRTtJQUN2RSxVQUFVLEVBQUUsTUFBTTtJQUNsQixPQUFPLEVBQUUsR0FBRyxFQUFFO1FBQ1osTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2xDLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRXpGLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN4QixNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFekIsSUFBSSxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDekIsTUFBTSxPQUFPLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztZQUNwQyxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsV0FBVyxDQUFDO1lBRXpDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQzdELEtBQUssQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDO2dCQUNsQyxNQUFNLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUN0QyxDQUFDLENBQUMsQ0FBQztZQUVILFFBQVEsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNyRSxDQUFDO1FBRUQsT0FBTztZQUNMLEtBQUssRUFBRSxLQUFLLENBQUMsVUFBVSxFQUFFO1lBQ3pCLE1BQU0sRUFBRSxNQUFNLENBQUMsVUFBVSxFQUFFO1NBQzVCLENBQUM7SUFDSixDQUFDO0NBQ0YsQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxjQUFjLENBQUMsc0JBQXNCLEVBQUU7SUFDN0UsVUFBVSxFQUFFLE1BQU07SUFDbEIsT0FBTyxFQUFFLEdBQUcsRUFBRTtRQUNaLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNsQyxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUV6RixNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFN0IsTUFBTSxTQUFTLEdBQUcsR0FBRyxFQUFFO1lBR3JCLE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFMUMsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQTZCLENBQUM7WUFFaEQsS0FBSyxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7WUFDMUIsS0FBSyxDQUFDLFVBQVUsR0FBRyxRQUFRLENBQUM7WUFDNUIsS0FBSyxDQUFDLGVBQWUsR0FBRyxXQUFXLENBQUM7WUFFcEMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBRXpDLE1BQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFakQsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUMsV0FBVyxDQUFDO1lBRXZELFFBQVEsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztZQUV6QyxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUMsQ0FBQztRQUVGLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFbEYsT0FBTyxVQUFVLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDakMsQ0FBQztDQUNGLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxJQUFJLGNBQWMsQ0FBQyxZQUFZLEVBQUU7SUFDekQsVUFBVSxFQUFFLE1BQU07SUFDbEIsT0FBTyxFQUFFLEdBQUcsRUFBRTtRQUNaLE9BQU87WUFDTCxNQUFNLEVBQUUsTUFBTSxDQUFDLGlCQUFpQixDQUFDO1lBQ2pDLFNBQVMsRUFBRSxNQUFNLENBQUMsb0JBQW9CLENBQUM7U0FDeEMsQ0FBQztJQUNKLENBQUM7Q0FDRixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBkZWJvdW5jZVRpbWUsIHN0YXJ0V2l0aCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQXBwbGljYXRpb25Jbml0U3RhdHVzLCBET0NVTUVOVCwgaW5qZWN0LCBJbmplY3Rpb25Ub2tlbiwgUmVuZGVyZXJGYWN0b3J5Miwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBjb25zdCBMQVlPVVRfRElNRU5TSU9OUyA9IG5ldyBJbmplY3Rpb25Ub2tlbignTEFZT1VUX0RJTUVOU0lPTlMnLCB7XG4gIHByb3ZpZGVkSW46ICdyb290JyxcbiAgZmFjdG9yeTogKCkgPT4ge1xuICAgIGNvbnN0IGRvY3VtZW50ID0gaW5qZWN0KERPQ1VNRU5UKTtcbiAgICBjb25zdCByZW5kZXJlciA9IGluamVjdChSZW5kZXJlckZhY3RvcnkyKS5jcmVhdGVSZW5kZXJlcihkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsIG51bGwpO1xuXG4gICAgY29uc3Qgd2lkdGggPSBzaWduYWwoMCk7XG4gICAgY29uc3QgaGVpZ2h0ID0gc2lnbmFsKDApO1xuXG4gICAgaWYgKGRvY3VtZW50LmRlZmF1bHRWaWV3KSB7XG4gICAgICBjb25zdCBzdWJqZWN0ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICAgIGNvbnN0IGRlZmF1bHRWaWV3ID0gZG9jdW1lbnQuZGVmYXVsdFZpZXc7XG5cbiAgICAgIHN1YmplY3QucGlwZShzdGFydFdpdGgobnVsbCksIGRlYm91bmNlVGltZSgxNikpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHdpZHRoLnNldChkZWZhdWx0Vmlldy5pbm5lcldpZHRoKTtcbiAgICAgICAgaGVpZ2h0LnNldChkZWZhdWx0Vmlldy5pbm5lckhlaWdodCk7XG4gICAgICB9KTtcblxuICAgICAgcmVuZGVyZXIubGlzdGVuKGRlZmF1bHRWaWV3LCAncmVzaXplJywgKCkgPT4gc3ViamVjdC5uZXh0KHZvaWQgMCkpO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICB3aWR0aDogd2lkdGguYXNSZWFkb25seSgpLFxuICAgICAgaGVpZ2h0OiBoZWlnaHQuYXNSZWFkb25seSgpLFxuICAgIH07XG4gIH0sXG59KTtcblxuZXhwb3J0IGNvbnN0IFNDUk9MTEJBUl9ESU1FTlNJT05TID0gbmV3IEluamVjdGlvblRva2VuKCdTQ1JPTExCQVJfRElNRU5TSU9OUycsIHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxuICBmYWN0b3J5OiAoKSA9PiB7XG4gICAgY29uc3QgZG9jdW1lbnQgPSBpbmplY3QoRE9DVU1FTlQpO1xuICAgIGNvbnN0IHJlbmRlcmVyID0gaW5qZWN0KFJlbmRlcmVyRmFjdG9yeTIpLmNyZWF0ZVJlbmRlcmVyKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCwgbnVsbCk7XG5cbiAgICBjb25zdCBkaW1lbnNpb25zID0gc2lnbmFsKDApO1xuXG4gICAgY29uc3QgY2FsY3VsYXRlID0gKCkgPT4ge1xuICAgICAgdHlwZSBfQ1NTU3R5bGVEZWNsYXJhdGlvbiA9IENTU1N0eWxlRGVjbGFyYXRpb24gJiB7IG1zT3ZlcmZsb3dTdHlsZTogc3RyaW5nIH07XG5cbiAgICAgIGNvbnN0IGRpdiA9IHJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuXG4gICAgICBjb25zdCBzdHlsZSA9IGRpdi5zdHlsZSBhcyBfQ1NTU3R5bGVEZWNsYXJhdGlvbjtcblxuICAgICAgc3R5bGUub3ZlcmZsb3cgPSAnc2Nyb2xsJztcbiAgICAgIHN0eWxlLnZpc2liaWxpdHkgPSAnaGlkZGVuJztcbiAgICAgIHN0eWxlLm1zT3ZlcmZsb3dTdHlsZSA9ICdzY3JvbGxiYXInO1xuXG4gICAgICByZW5kZXJlci5hcHBlbmRDaGlsZChkb2N1bWVudC5ib2R5LCBkaXYpO1xuXG4gICAgICBjb25zdCBzY3JvbGxhYmxlID0gcmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG5cbiAgICAgIGNvbnN0IHdpZHRoID0gZGl2Lm9mZnNldFdpZHRoIC0gc2Nyb2xsYWJsZS5vZmZzZXRXaWR0aDtcblxuICAgICAgcmVuZGVyZXIucmVtb3ZlQ2hpbGQoZG9jdW1lbnQuYm9keSwgZGl2KTtcblxuICAgICAgcmV0dXJuIHdpZHRoO1xuICAgIH07XG5cbiAgICBpbmplY3QoQXBwbGljYXRpb25Jbml0U3RhdHVzKS5kb25lUHJvbWlzZS50aGVuKCgpID0+IGRpbWVuc2lvbnMuc2V0KGNhbGN1bGF0ZSgpKSk7XG5cbiAgICByZXR1cm4gZGltZW5zaW9ucy5hc1JlYWRvbmx5KCk7XG4gIH0sXG59KTtcblxuZXhwb3J0IGNvbnN0IERJTUVOU0lPTlMgPSBuZXcgSW5qZWN0aW9uVG9rZW4oJ0RJTUVOU0lPTlMnLCB7XG4gIHByb3ZpZGVkSW46ICdyb290JyxcbiAgZmFjdG9yeTogKCkgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICBsYXlvdXQ6IGluamVjdChMQVlPVVRfRElNRU5TSU9OUyksXG4gICAgICBzY3JvbGxiYXI6IGluamVjdChTQ1JPTExCQVJfRElNRU5TSU9OUyksXG4gICAgfTtcbiAgfSxcbn0pO1xuIl19","import { ɵSIGNAL as SIGNAL } from '@angular/core';\nexport function illegallySetComponentInput(inputSignal, value) {\n inputSignal[SIGNAL].applyValueToInputSignal(inputSignal[SIGNAL], value);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWxsZWdhbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3dpZGdldHMvY29yZS9zcmMvaWxsZWdhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWUsT0FBTyxJQUFJLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvRCxNQUFNLFVBQVUsMEJBQTBCLENBQUksV0FBMkIsRUFBRSxLQUFRO0lBQ2pGLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDMUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElucHV0U2lnbmFsLCDJtVNJR05BTCBhcyBTSUdOQUwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGZ1bmN0aW9uIGlsbGVnYWxseVNldENvbXBvbmVudElucHV0PFQ+KGlucHV0U2lnbmFsOiBJbnB1dFNpZ25hbDxUPiwgdmFsdWU6IFQpOiB2b2lkIHtcbiAgaW5wdXRTaWduYWxbU0lHTkFMXS5hcHBseVZhbHVlVG9JbnB1dFNpZ25hbChpbnB1dFNpZ25hbFtTSUdOQUxdLCB2YWx1ZSk7XG59XG4iXX0=","import { DestroyRef, inject, Injector, Renderer2 } from '@angular/core';\nconst falsy = () => false;\n/**\n * https://github.com/angular/angular/issues/9587\n */\nexport function listenMouseEvent(nativeElement, options = {}) {\n const injector = options.injector ?? inject(Injector);\n const disabled = options.disabled ?? falsy;\n const renderer = injector.get(Renderer2);\n const destroyRef = injector.get(DestroyRef);\n const unregisterClick = renderer.listen(nativeElement, 'click', (event) => {\n if (disabled()) {\n event.stopImmediatePropagation();\n event.preventDefault();\n }\n });\n const unregisterKeyUp = renderer.listen(nativeElement, 'keyup', (event) => {\n if (event.code === 'Space' && !disabled()) {\n nativeElement.dispatchEvent(new MouseEvent('click', { ...event }));\n }\n });\n const unregisterFn = destroyRef.onDestroy(() => {\n unregisterClick();\n unregisterKeyUp();\n });\n return () => {\n unregisterFn();\n unregisterClick();\n unregisterKeyUp();\n };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdGVuZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvd2lkZ2V0cy9jb3JlL3NyYy9saXN0ZW5lcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd4RSxNQUFNLEtBQUssR0FBRyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUM7QUFFMUI7O0dBRUc7QUFDSCxNQUFNLFVBQVUsZ0JBQWdCLENBQzlCLGFBQWdCLEVBQ2hCLFVBR0ksRUFBRTtJQUVOLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3RELE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLElBQUksS0FBSyxDQUFDO0lBRTNDLE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDekMsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUUzQyxNQUFNLGVBQWUsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxPQUFPLEVBQUUsQ0FBQyxLQUFZLEVBQUUsRUFBRTtRQUMvRSxJQUFJLFFBQVEsRUFBRSxFQUFFLENBQUM7WUFDZixLQUFLLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztZQUNqQyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDekIsQ0FBQztJQUNILENBQUMsQ0FBQyxDQUFDO0lBRUgsTUFBTSxlQUFlLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsT0FBTyxFQUFFLENBQUMsS0FBb0IsRUFBRSxFQUFFO1FBQ3ZGLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDO1lBQzFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsSUFBSSxVQUFVLENBQUMsT0FBTyxFQUFFLEVBQUUsR0FBRyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDckUsQ0FBQztJQUNILENBQUMsQ0FBQyxDQUFDO0lBRUgsTUFBTSxZQUFZLEdBQUcsVUFBVSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7UUFDN0MsZUFBZSxFQUFFLENBQUM7UUFDbEIsZUFBZSxFQUFFLENBQUM7SUFDcEIsQ0FBQyxDQUFDLENBQUM7SUFFSCxPQUFPLEdBQUcsRUFBRTtRQUNWLFlBQVksRUFBRSxDQUFDO1FBQ2YsZUFBZSxFQUFFLENBQUM7UUFDbEIsZUFBZSxFQUFFLENBQUM7SUFDcEIsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlc3Ryb3lSZWYsIGluamVjdCwgSW5qZWN0b3IsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuXHJcbmNvbnN0IGZhbHN5ID0gKCkgPT4gZmFsc2U7XHJcblxyXG4vKipcclxuICogIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvaXNzdWVzLzk1ODdcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBsaXN0ZW5Nb3VzZUV2ZW50PFQgZXh0ZW5kcyBIVE1MRWxlbWVudD4oXHJcbiAgbmF0aXZlRWxlbWVudDogVCxcclxuICBvcHRpb25zOiB7XHJcbiAgICBkaXNhYmxlZD86ICgpID0+IGJvb2xlYW4gfCB1bmRlZmluZWQ7XHJcbiAgICBpbmplY3Rvcj86IEluamVjdG9yO1xyXG4gIH0gPSB7fVxyXG4pOiBWb2lkRnVuY3Rpb24ge1xyXG4gIGNvbnN0IGluamVjdG9yID0gb3B0aW9ucy5pbmplY3RvciA/PyBpbmplY3QoSW5qZWN0b3IpO1xyXG4gIGNvbnN0IGRpc2FibGVkID0gb3B0aW9ucy5kaXNhYmxlZCA/PyBmYWxzeTtcclxuXHJcbiAgY29uc3QgcmVuZGVyZXIgPSBpbmplY3Rvci5nZXQoUmVuZGVyZXIyKTtcclxuICBjb25zdCBkZXN0cm95UmVmID0gaW5qZWN0b3IuZ2V0KERlc3Ryb3lSZWYpXHJcblxyXG4gIGNvbnN0IHVucmVnaXN0ZXJDbGljayA9IHJlbmRlcmVyLmxpc3RlbihuYXRpdmVFbGVtZW50LCAnY2xpY2snLCAoZXZlbnQ6IEV2ZW50KSA9PiB7XHJcbiAgICBpZiAoZGlzYWJsZWQoKSkge1xyXG4gICAgICBldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcclxuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIH1cclxuICB9KTtcclxuXHJcbiAgY29uc3QgdW5yZWdpc3RlcktleVVwID0gcmVuZGVyZXIubGlzdGVuKG5hdGl2ZUVsZW1lbnQsICdrZXl1cCcsIChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xyXG4gICAgaWYgKGV2ZW50LmNvZGUgPT09ICdTcGFjZScgJiYgIWRpc2FibGVkKCkpIHtcclxuICAgICAgbmF0aXZlRWxlbWVudC5kaXNwYXRjaEV2ZW50KG5ldyBNb3VzZUV2ZW50KCdjbGljaycsIHsgLi4uZXZlbnQgfSkpO1xyXG4gICAgfVxyXG4gIH0pO1xyXG5cclxuICBjb25zdCB1bnJlZ2lzdGVyRm4gPSBkZXN0cm95UmVmLm9uRGVzdHJveSgoKSA9PiB7XHJcbiAgICB1bnJlZ2lzdGVyQ2xpY2soKTtcclxuICAgIHVucmVnaXN0ZXJLZXlVcCgpO1xyXG4gIH0pO1xyXG5cclxuICByZXR1cm4gKCkgPT4ge1xyXG4gICAgdW5yZWdpc3RlckZuKCk7XHJcbiAgICB1bnJlZ2lzdGVyQ2xpY2soKTtcclxuICAgIHVucmVnaXN0ZXJLZXlVcCgpO1xyXG4gIH07XHJcbn1cclxuIl19","import { Directive, inject } from '@angular/core';\nimport { DIMENSIONS } from './dimensions';\nimport * as i0 from \"@angular/core\";\nexport class RootDirective {\n dimensions = inject(DIMENSIONS);\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.6\", ngImport: i0, type: RootDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.6\", type: RootDirective, isStandalone: true, host: { properties: { \"style.--lat-layout-width\": \"`${dimensions.layout.width()}px`\", \"style.--lat-layout-height\": \"`${dimensions.layout.height()}px`\", \"style.--lat-scrollbar-width\": \"`${dimensions.scrollbar()}px`\" }, classAttribute: \"lat-root\" }, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.6\", ngImport: i0, type: RootDirective, decorators: [{\n type: Directive,\n args: [{\n host: {\n class: 'lat-root',\n '[style.--lat-layout-width]': '`${dimensions.layout.width()}px`',\n '[style.--lat-layout-height]': '`${dimensions.layout.height()}px`',\n '[style.--lat-scrollbar-width]': '`${dimensions.scrollbar()}px`',\n }\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3dpZGdldHMvY29yZS9zcmMvcm9vdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDOztBQVcxQyxNQUFNLE9BQU8sYUFBYTtJQUNmLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7dUdBRDlCLGFBQWE7MkZBQWIsYUFBYTs7MkZBQWIsYUFBYTtrQkFSekIsU0FBUzttQkFBQztvQkFDVCxJQUFJLEVBQUU7d0JBQ0osS0FBSyxFQUFFLFVBQVU7d0JBQ2pCLDRCQUE0QixFQUFFLGtDQUFrQzt3QkFDaEUsNkJBQTZCLEVBQUUsbUNBQW1DO3dCQUNsRSwrQkFBK0IsRUFBRSwrQkFBK0I7cUJBQ2pFO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERJTUVOU0lPTlMgfSBmcm9tICcuL2RpbWVuc2lvbnMnO1xuXG5cbkBEaXJlY3RpdmUoe1xuICBob3N0OiB7XG4gICAgY2xhc3M6ICdsYXQtcm9vdCcsXG4gICAgJ1tzdHlsZS4tLWxhdC1sYXlvdXQtd2lkdGhdJzogJ2Ake2RpbWVuc2lvbnMubGF5b3V0LndpZHRoKCl9cHhgJyxcbiAgICAnW3N0eWxlLi0tbGF0LWxheW91dC1oZWlnaHRdJzogJ2Ake2RpbWVuc2lvbnMubGF5b3V0LmhlaWdodCgpfXB4YCcsXG4gICAgJ1tzdHlsZS4tLWxhdC1zY3JvbGxiYXItd2lkdGhdJzogJ2Ake2RpbWVuc2lvbnMuc2Nyb2xsYmFyKCl9cHhgJyxcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBSb290RGlyZWN0aXZlIHtcbiAgcmVhZG9ubHkgZGltZW5zaW9ucyA9IGluamVjdChESU1FTlNJT05TKTtcbn1cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './public-api';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF0aXR1ZGUtdWktd2lkZ2V0cy1jb3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvd2lkZ2V0cy9jb3JlL2xhdGl0dWRlLXVpLXdpZGdldHMtY29yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19"],"names":["SIGNAL"],"mappings":";;;;AAEY,MAAC,iBAAiB,GAAG,IAAI,cAAc,CAAC,mBAAmB,EAAE;AACzE,IAAI,UAAU,EAAE,MAAM;AACtB,IAAI,OAAO,EAAE,MAAM;AACnB,QAAQ,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AACzC,QAAQ,MAAM,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,eAAe,EAAE,IAAI,CAAC;AAChG,QAAQ,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC;AAC/B,QAAQ,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC;AAChC,QAAQ,IAAI,QAAQ,CAAC,WAAW,EAAE;AAClC,YAAY,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE;AACzC,YAAY,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW;AACpD,YAAY,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM;AAC5E,gBAAgB,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,UAAU,CAAC;AACjD,gBAAgB,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,WAAW,CAAC;AACnD,aAAa,CAAC;AACd,YAAY,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AAC9E;AACA,QAAQ,OAAO;AACf,YAAY,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE;AACrC,YAAY,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE;AACvC,SAAS;AACT,KAAK;AACL,CAAC;AACW,MAAC,oBAAoB,GAAG,IAAI,cAAc,CAAC,sBAAsB,EAAE;AAC/E,IAAI,UAAU,EAAE,MAAM;AACtB,IAAI,OAAO,EAAE,MAAM;AACnB,QAAQ,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AACzC,QAAQ,MAAM,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,eAAe,EAAE,IAAI,CAAC;AAChG,QAAQ,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC;AACpC,QAAQ,MAAM,SAAS,GAAG,MAAM;AAChC,YAAY,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;AACrD,YAAY,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK;AACnC,YAAY,KAAK,CAAC,QAAQ,GAAG,QAAQ;AACrC,YAAY,KAAK,CAAC,UAAU,GAAG,QAAQ;AACvC,YAAY,KAAK,CAAC,eAAe,GAAG,WAAW;AAC/C,YAAY,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC;AACpD,YAAY,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;AAC5D,YAAY,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW;AAClE,YAAY,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC;AACpD,YAAY,OAAO,KAAK;AACxB,SAAS;AACT,QAAQ,MAAM,CAAC,qBAAqB,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC;AACzF,QAAQ,OAAO,UAAU,CAAC,UAAU,EAAE;AACtC,KAAK;AACL,CAAC;AACW,MAAC,UAAU,GAAG,IAAI,cAAc,CAAC,YAAY,EAAE;AAC3D,IAAI,UAAU,EAAE,MAAM;AACtB,IAAI,OAAO,EAAE,MAAM;AACnB,QAAQ,OAAO;AACf,YAAY,MAAM,EAAE,MAAM,CAAC,iBAAiB,CAAC;AAC7C,YAAY,SAAS,EAAE,MAAM,CAAC,oBAAoB,CAAC;AACnD,SAAS;AACT,KAAK;AACL,CAAC;;ACrDM,SAAS,0BAA0B,CAAC,WAAW,EAAE,KAAK,EAAE;AAC/D,IAAI,WAAW,CAACA,OAAM,CAAC,CAAC,uBAAuB,CAAC,WAAW,CAACA,OAAM,CAAC,EAAE,KAAK,CAAC;AAC3E;;ACFA,MAAM,KAAK,GAAG,MAAM,KAAK;AACzB;AACA;AACA;AACO,SAAS,gBAAgB,CAAC,aAAa,EAAE,OAAO,GAAG,EAAE,EAAE;AAC9D,IAAI,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC;AACzD,IAAI,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,KAAK;AAC9C,IAAI,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC;AAC5C,IAAI,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC;AAC/C,IAAI,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,OAAO,EAAE,CAAC,KAAK,KAAK;AAC/E,QAAQ,IAAI,QAAQ,EAAE,EAAE;AACxB,YAAY,KAAK,CAAC,wBAAwB,EAAE;AAC5C,YAAY,KAAK,CAAC,cAAc,EAAE;AAClC;AACA,KAAK,CAAC;AACN,IAAI,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,OAAO,EAAE,CAAC,KAAK,KAAK;AAC/E,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,QAAQ,EAAE,EAAE;AACnD,YAAY,aAAa,CAAC,aAAa,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;AAC9E;AACA,KAAK,CAAC;AACN,IAAI,MAAM,YAAY,GAAG,UAAU,CAAC,SAAS,CAAC,MAAM;AACpD,QAAQ,eAAe,EAAE;AACzB,QAAQ,eAAe,EAAE;AACzB,KAAK,CAAC;AACN,IAAI,OAAO,MAAM;AACjB,QAAQ,YAAY,EAAE;AACtB,QAAQ,eAAe,EAAE;AACzB,QAAQ,eAAe,EAAE;AACzB,KAAK;AACL;;AC3BO,MAAM,aAAa,CAAC;AAC3B,IAAI,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;AACnC,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC;AACvK,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,EAAE,0BAA0B,EAAE,kCAAkC,EAAE,2BAA2B,EAAE,mCAAmC,EAAE,6BAA6B,EAAE,+BAA+B,EAAE,EAAE,cAAc,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;AACrY;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC;AACvH,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,IAAI,EAAE;AAC1B,wBAAwB,KAAK,EAAE,UAAU;AACzC,wBAAwB,4BAA4B,EAAE,kCAAkC;AACxF,wBAAwB,6BAA6B,EAAE,mCAAmC;AAC1F,wBAAwB,+BAA+B,EAAE,+BAA+B;AACxF;AACA,iBAAiB;AACjB,SAAS,CAAC,EAAE,CAAC;;AClBb;AACA;AACA;;;;"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { InjectionToken, inject, computed, RendererFactory2, Renderer2, ElementRef, Injectable, input, ChangeDetectionStrategy, ViewEncapsulation, Component } from '@angular/core';
|
|
3
|
+
import { of, map, tap, finalize, share, filter, switchMap } from 'rxjs';
|
|
4
|
+
import { HttpClient } from '@angular/common/http';
|
|
5
|
+
import { toObservable, takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
6
|
+
|
|
7
|
+
const ICONS_ASSETS = new InjectionToken('ICONS_ASSETS', {
|
|
8
|
+
providedIn: 'root',
|
|
9
|
+
factory: () => 'assets/latitude-ui/icons',
|
|
10
|
+
});
|
|
11
|
+
const ICONS_RESOLVER = new InjectionToken('ICONS_RESOLVER', {
|
|
12
|
+
providedIn: 'root',
|
|
13
|
+
factory: () => {
|
|
14
|
+
const assets = inject(ICONS_ASSETS);
|
|
15
|
+
return (icon) => `${assets}/${icon.split('.').join('/')}.svg`;
|
|
16
|
+
},
|
|
17
|
+
});
|
|
18
|
+
const ICONS_POLYFILL = new InjectionToken('ICONS_POLYFILL', {
|
|
19
|
+
providedIn: 'root',
|
|
20
|
+
factory: () => {
|
|
21
|
+
return computed(() => !CSS.supports('mask', 'var(--lat-icon-url) no-repeat center / contain'));
|
|
22
|
+
},
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
class IconService {
|
|
26
|
+
http = inject(HttpClient);
|
|
27
|
+
renderer = inject(RendererFactory2).createRenderer(null, null);
|
|
28
|
+
icons = new Map();
|
|
29
|
+
tasks = new Map();
|
|
30
|
+
get(url) {
|
|
31
|
+
if (this.icons.has(url)) {
|
|
32
|
+
return of(this.icons.get(url));
|
|
33
|
+
}
|
|
34
|
+
if (this.tasks.has(url)) {
|
|
35
|
+
return this.tasks.get(url);
|
|
36
|
+
}
|
|
37
|
+
const task = this.http.get(url, { responseType: 'text' }).pipe(map((text) => this.normalize(text)), tap((html) => this.icons.set(url, html)), finalize(() => this.tasks.delete(url)), share());
|
|
38
|
+
this.tasks.set(url, task);
|
|
39
|
+
return task;
|
|
40
|
+
}
|
|
41
|
+
normalize(text) {
|
|
42
|
+
text = text.replace(/style\s*=/g, 'data-style=');
|
|
43
|
+
text = text.replace(/class\s*=/g, 'data-class=');
|
|
44
|
+
const nativeElement = this.renderer.createElement('template');
|
|
45
|
+
this.renderer.setProperty(nativeElement, 'innerHTML', text);
|
|
46
|
+
const glyph = nativeElement.content.firstElementChild;
|
|
47
|
+
if (glyph.tagName.toLowerCase() !== 'svg') {
|
|
48
|
+
throw new Error(`<svg>...</svg> not found for <${glyph.tagName.toLowerCase()}>`);
|
|
49
|
+
}
|
|
50
|
+
const nodes = Array.from(glyph.querySelectorAll('[data-style]'));
|
|
51
|
+
for (const node of nodes) {
|
|
52
|
+
const styles = node.getAttribute('data-style');
|
|
53
|
+
if (styles) {
|
|
54
|
+
styles.split(';').forEach((style) => {
|
|
55
|
+
const [property, value] = style.split(':');
|
|
56
|
+
this.renderer.setStyle(node, property.trim(), value.trim());
|
|
57
|
+
});
|
|
58
|
+
this.renderer.removeAttribute(node, 'data-style');
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
this.renderer.setAttribute(glyph, 'width', '1em');
|
|
62
|
+
this.renderer.setAttribute(glyph, 'height', '1em');
|
|
63
|
+
return glyph;
|
|
64
|
+
}
|
|
65
|
+
toObservable(url) {
|
|
66
|
+
const renderer = inject(Renderer2);
|
|
67
|
+
const nativeElement = inject((ElementRef)).nativeElement;
|
|
68
|
+
toObservable(url).pipe(takeUntilDestroyed(), tap(() => {
|
|
69
|
+
nativeElement.childNodes.forEach((node) => {
|
|
70
|
+
renderer.removeChild(nativeElement, node);
|
|
71
|
+
});
|
|
72
|
+
}), filter((url) => url !== undefined), switchMap((url) => this.get(url)), tap((icon) => renderer.appendChild(nativeElement, icon.cloneNode(true)))).subscribe();
|
|
73
|
+
}
|
|
74
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: IconService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
75
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: IconService, providedIn: 'root' });
|
|
76
|
+
}
|
|
77
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: IconService, decorators: [{
|
|
78
|
+
type: Injectable,
|
|
79
|
+
args: [{ providedIn: 'root' }]
|
|
80
|
+
}] });
|
|
81
|
+
|
|
82
|
+
class IconComponent {
|
|
83
|
+
resolve = inject(ICONS_RESOLVER);
|
|
84
|
+
polyfill = inject(ICONS_POLYFILL);
|
|
85
|
+
url = input();
|
|
86
|
+
name = input();
|
|
87
|
+
icon = computed(() => {
|
|
88
|
+
const url = this.url();
|
|
89
|
+
if (url) {
|
|
90
|
+
return url;
|
|
91
|
+
}
|
|
92
|
+
const name = this.name();
|
|
93
|
+
return name ? this.resolve(name) : '';
|
|
94
|
+
});
|
|
95
|
+
constructor() {
|
|
96
|
+
if (this.polyfill()) {
|
|
97
|
+
inject(IconService).toObservable(this.icon);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: IconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
101
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.6", type: IconComponent, isStandalone: true, selector: "lat-icon", inputs: { url: { classPropertyName: "url", publicName: "url", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.aria-label": "name()", "attr.data-polyfill": "polyfill() || undefined", "style.--lat-icon-url": "`url(${icon()})`" } }, exportAs: ["latIcon"], ngImport: i0, template: "", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
102
|
+
}
|
|
103
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: IconComponent, decorators: [{
|
|
104
|
+
type: Component,
|
|
105
|
+
args: [{ exportAs: 'latIcon', selector: 'lat-icon', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
106
|
+
role: 'img',
|
|
107
|
+
'[attr.aria-label]': 'name()',
|
|
108
|
+
'[attr.data-polyfill]': 'polyfill() || undefined',
|
|
109
|
+
'[style.--lat-icon-url]': '`url(${icon()})`',
|
|
110
|
+
}, template: "" }]
|
|
111
|
+
}], ctorParameters: () => [] });
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
* Generated bundle index. Do not edit.
|
|
115
|
+
*/
|
|
116
|
+
|
|
117
|
+
export { ICONS_ASSETS, ICONS_POLYFILL, ICONS_RESOLVER, IconComponent };
|
|
118
|
+
//# sourceMappingURL=latitude-ui-widgets-icons.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"latitude-ui-widgets-icons.mjs","sources":["../tmp-esm2022/icons/src/icon.tokens.js","../tmp-esm2022/icons/src/icon.service.js","../tmp-esm2022/icons/src/icon.component.js","../tmp-esm2022/icons/latitude-ui-widgets-icons.js"],"sourcesContent":["import { computed, inject, InjectionToken } from '@angular/core';\nexport const ICONS_ASSETS = new InjectionToken('ICONS_ASSETS', {\n providedIn: 'root',\n factory: () => 'assets/latitude-ui/icons',\n});\nexport const ICONS_RESOLVER = new InjectionToken('ICONS_RESOLVER', {\n providedIn: 'root',\n factory: () => {\n const assets = inject(ICONS_ASSETS);\n return (icon) => `${assets}/${icon.split('.').join('/')}.svg`;\n },\n});\nexport const ICONS_POLYFILL = new InjectionToken('ICONS_POLYFILL', {\n providedIn: 'root',\n factory: () => {\n return computed(() => !CSS.supports('mask', 'var(--lat-icon-url) no-repeat center / contain'));\n },\n});\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi50b2tlbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy93aWRnZXRzL2ljb25zL3NyYy9pY29uLnRva2Vucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakUsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLElBQUksY0FBYyxDQUFTLGNBQWMsRUFBRTtJQUNyRSxVQUFVLEVBQUUsTUFBTTtJQUNsQixPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsMEJBQTBCO0NBQzFDLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxJQUFJLGNBQWMsQ0FBQyxnQkFBZ0IsRUFBRTtJQUNqRSxVQUFVLEVBQUUsTUFBTTtJQUNsQixPQUFPLEVBQUUsR0FBRyxFQUFFO1FBQ1osTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRXBDLE9BQU8sQ0FBQyxJQUFZLEVBQVUsRUFBRSxDQUFDLEdBQUcsTUFBTSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUM7SUFDaEYsQ0FBQztDQUNGLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxJQUFJLGNBQWMsQ0FBQyxnQkFBZ0IsRUFBRTtJQUNqRSxVQUFVLEVBQUUsTUFBTTtJQUNsQixPQUFPLEVBQUUsR0FBRyxFQUFFO1FBQ1osT0FBTyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxnREFBZ0QsQ0FBQyxDQUFDLENBQUM7SUFDakcsQ0FBQztDQUNGLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbXB1dGVkLCBpbmplY3QsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBjb25zdCBJQ09OU19BU1NFVFMgPSBuZXcgSW5qZWN0aW9uVG9rZW48c3RyaW5nPignSUNPTlNfQVNTRVRTJywge1xuICBwcm92aWRlZEluOiAncm9vdCcsXG4gIGZhY3Rvcnk6ICgpID0+ICdhc3NldHMvbGF0aXR1ZGUtdWkvaWNvbnMnLFxufSk7XG5cbmV4cG9ydCBjb25zdCBJQ09OU19SRVNPTFZFUiA9IG5ldyBJbmplY3Rpb25Ub2tlbignSUNPTlNfUkVTT0xWRVInLCB7XG4gIHByb3ZpZGVkSW46ICdyb290JyxcbiAgZmFjdG9yeTogKCkgPT4ge1xuICAgIGNvbnN0IGFzc2V0cyA9IGluamVjdChJQ09OU19BU1NFVFMpO1xuXG4gICAgcmV0dXJuIChpY29uOiBzdHJpbmcpOiBzdHJpbmcgPT4gYCR7YXNzZXRzfS8ke2ljb24uc3BsaXQoJy4nKS5qb2luKCcvJyl9LnN2Z2A7XG4gIH0sXG59KTtcblxuZXhwb3J0IGNvbnN0IElDT05TX1BPTFlGSUxMID0gbmV3IEluamVjdGlvblRva2VuKCdJQ09OU19QT0xZRklMTCcsIHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxuICBmYWN0b3J5OiAoKSA9PiB7XG4gICAgcmV0dXJuIGNvbXB1dGVkKCgpID0+ICFDU1Muc3VwcG9ydHMoJ21hc2snLCAndmFyKC0tbGF0LWljb24tdXJsKSBuby1yZXBlYXQgY2VudGVyIC8gY29udGFpbicpKTtcbiAgfSxcbn0pO1xuIl19","import { filter, finalize, map, of, share, switchMap, tap } from 'rxjs';\nimport { ElementRef, inject, Injectable, Renderer2, RendererFactory2 } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';\nimport * as i0 from \"@angular/core\";\nexport class IconService {\n http = inject(HttpClient);\n renderer = inject(RendererFactory2).createRenderer(null, null);\n icons = new Map();\n tasks = new Map();\n get(url) {\n if (this.icons.has(url)) {\n return of(this.icons.get(url));\n }\n if (this.tasks.has(url)) {\n return this.tasks.get(url);\n }\n const task = this.http.get(url, { responseType: 'text' }).pipe(map((text) => this.normalize(text)), tap((html) => this.icons.set(url, html)), finalize(() => this.tasks.delete(url)), share());\n this.tasks.set(url, task);\n return task;\n }\n normalize(text) {\n text = text.replace(/style\\s*=/g, 'data-style=');\n text = text.replace(/class\\s*=/g, 'data-class=');\n const nativeElement = this.renderer.createElement('template');\n this.renderer.setProperty(nativeElement, 'innerHTML', text);\n const glyph = nativeElement.content.firstElementChild;\n if (glyph.tagName.toLowerCase() !== 'svg') {\n throw new Error(`<svg>...</svg> not found for <${glyph.tagName.toLowerCase()}>`);\n }\n const nodes = Array.from(glyph.querySelectorAll('[data-style]'));\n for (const node of nodes) {\n const styles = node.getAttribute('data-style');\n if (styles) {\n styles.split(';').forEach((style) => {\n const [property, value] = style.split(':');\n this.renderer.setStyle(node, property.trim(), value.trim());\n });\n this.renderer.removeAttribute(node, 'data-style');\n }\n }\n this.renderer.setAttribute(glyph, 'width', '1em');\n this.renderer.setAttribute(glyph, 'height', '1em');\n return glyph;\n }\n toObservable(url) {\n const renderer = inject(Renderer2);\n const nativeElement = inject((ElementRef)).nativeElement;\n toObservable(url).pipe(takeUntilDestroyed(), tap(() => {\n nativeElement.childNodes.forEach((node) => {\n renderer.removeChild(nativeElement, node);\n });\n }), filter((url) => url !== undefined), switchMap((url) => this.get(url)), tap((icon) => renderer.appendChild(nativeElement, icon.cloneNode(true)))).subscribe();\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.6\", ngImport: i0, type: IconService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.6\", ngImport: i0, type: IconService, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.6\", ngImport: i0, type: IconService, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvd2lkZ2V0cy9pY29ucy9zcmMvaWNvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBYyxFQUFFLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFcEYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNwRyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQUc5RSxNQUFNLE9BQU8sV0FBVztJQUNILElBQUksR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFFMUIsUUFBUSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFFL0QsS0FBSyxHQUFHLElBQUksR0FBRyxFQUFzQixDQUFDO0lBRXRDLEtBQUssR0FBRyxJQUFJLEdBQUcsRUFBa0MsQ0FBQztJQUU5RCxHQUFHLENBQUMsR0FBVztRQUNwQixJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDeEIsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFlLENBQUMsQ0FBQztRQUMvQyxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3hCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FB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LEdBQUcsTUFBTSxDQUFDLENBQUEsVUFBdUIsQ0FBQSxDQUFDLENBQUMsYUFBYSxDQUFDO1FBRXBFLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQ3BCLGtCQUFrQixFQUFFLEVBQ3BCLEdBQUcsQ0FBQyxHQUFHLEVBQUU7WUFDUCxhQUFhLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQWUsRUFBRSxFQUFFO2dCQUNuRCxRQUFRLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUM1QyxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxFQUNGLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxLQUFLLFNBQVMsQ0FBQyxFQUNsQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsRUFDakMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FDekUsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNoQixDQUFDO3VHQTdFVSxXQUFXOzJHQUFYLFdBQVcsY0FERSxNQUFNOzsyRkFDbkIsV0FBVztrQkFEdkIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmaWx0ZXIsIGZpbmFsaXplLCBtYXAsIE9ic2VydmFibGUsIG9mLCBzaGFyZSwgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgRWxlbWVudFJlZiwgaW5qZWN0LCBJbmplY3RhYmxlLCBSZW5kZXJlcjIsIFJlbmRlcmVyRmFjdG9yeTIsIFNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCwgdG9PYnNlcnZhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEljb25TZXJ2aWNlIHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGh0dHAgPSBpbmplY3QoSHR0cENsaWVudCk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHJlbmRlcmVyID0gaW5qZWN0KFJlbmRlcmVyRmFjdG9yeTIpLmNyZWF0ZVJlbmRlcmVyKG51bGwsIG51bGwpO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBpY29ucyA9IG5ldyBNYXA8c3RyaW5nLCBTVkdFbGVtZW50PigpO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSB0YXNrcyA9IG5ldyBNYXA8c3RyaW5nLCBPYnNlcnZhYmxlPFNWR0VsZW1lbnQ+PigpO1xuXG4gIHB1YmxpYyBnZXQodXJsOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFNWR0VsZW1lbnQ+IHtcbiAgICBpZiAodGhpcy5pY29ucy5oYXModXJsKSkge1xuICAgICAgcmV0dXJuIG9mKHRoaXMuaWNvbnMuZ2V0KHVybCkgYXMgU1ZHRWxlbWVudCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMudGFza3MuaGFzKHVybCkpIHtcbiAgICAgIHJldHVybiB0aGlzLnRhc2tzLmdldCh1cmwpIGFzIE9ic2VydmFibGU8U1ZHRWxlbWVudD47XG4gICAgfVxuXG4gICAgY29uc3QgdGFzayA9IHRoaXMuaHR0cC5nZXQodXJsLCB7IHJlc3BvbnNlVHlwZTogJ3RleHQnIH0pLnBpcGUoXG4gICAgICBtYXAoKHRleHQpID0+IHRoaXMubm9ybWFsaXplKHRleHQpKSxcbiAgICAgIHRhcCgoaHRtbCkgPT4gdGhpcy5pY29ucy5zZXQodXJsLCBodG1sKSksXG4gICAgICBmaW5hbGl6ZSgoKSA9PiB0aGlzLnRhc2tzLmRlbGV0ZSh1cmwpKSxcbiAgICAgIHNoYXJlKCksXG4gICAgKTtcblxuICAgIHRoaXMudGFza3Muc2V0KHVybCwgdGFzayk7XG5cbiAgICByZXR1cm4gdGFzaztcbiAgfVxuXG4gIHB1YmxpYyBub3JtYWxpemUodGV4dDogc3RyaW5nKTogU1ZHRWxlbWVudCB7XG4gICAgdGV4dCA9IHRleHQucmVwbGFjZSgvc3R5bGVcXHMqPS9nLCAnZGF0YS1zdHlsZT0nKTtcbiAgICB0ZXh0ID0gdGV4dC5yZXBsYWNlKC9jbGFzc1xccyo9L2csICdkYXRhLWNsYXNzPScpO1xuXG4gICAgY29uc3QgbmF0aXZlRWxlbWVudCA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgndGVtcGxhdGUnKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KG5hdGl2ZUVsZW1lbnQsICdpbm5lckhUTUwnLCB0ZXh0KTtcblxuICAgIGNvbnN0IGdseXBoID0gbmF0aXZlRWxlbWVudC5jb250ZW50LmZpcnN0RWxlbWVudENoaWxkIGFzIFNWR0VsZW1lbnQ7XG4gICAgaWYgKGdseXBoLnRhZ05hbWUudG9Mb3dlckNhc2UoKSAhPT0gJ3N2ZycpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgPHN2Zz4uLi48L3N2Zz4gbm90IGZvdW5kIGZvciA8JHtnbHlwaC50YWdOYW1lLnRvTG93ZXJDYXNlKCl9PmApO1xuICAgIH1cblxuICAgIGNvbnN0IG5vZGVzID0gQXJyYXkuZnJvbShnbHlwaC5xdWVyeVNlbGVjdG9yQWxsPEhUTUxFbGVtZW50IHwgU1ZHRWxlbWVudD4oJ1tkYXRhLXN0eWxlXScpKTtcbiAgICBmb3IgKGNvbnN0IG5vZGUgb2Ygbm9kZXMpIHtcbiAgICAgIGNvbnN0IHN0eWxlcyA9IG5vZGUuZ2V0QXR0cmlidXRlKCdkYXRhLXN0eWxlJyk7XG5cbiAgICAgIGlmIChzdHlsZXMpIHtcbiAgICAgICAgc3R5bGVzLnNwbGl0KCc7JykuZm9yRWFjaCgoc3R5bGUpID0+IHtcbiAgICAgICAgICBjb25zdCBbcHJvcGVydHksIHZhbHVlXSA9IHN0eWxlLnNwbGl0KCc6Jyk7XG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShub2RlLCBwcm9wZXJ0eS50cmltKCksIHZhbHVlLnRyaW0oKSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQXR0cmlidXRlKG5vZGUsICdkYXRhLXN0eWxlJyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUoZ2x5cGgsICd3aWR0aCcsICcxZW0nKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShnbHlwaCwgJ2hlaWdodCcsICcxZW0nKTtcblxuICAgIHJldHVybiBnbHlwaDtcbiAgfVxuXG4gIHB1YmxpYyB0b09ic2VydmFibGUodXJsOiBTaWduYWw8c3RyaW5nIHwgdW5kZWZpbmVkPikge1xuICAgIGNvbnN0IHJlbmRlcmVyID0gaW5qZWN0KFJlbmRlcmVyMik7XG4gICAgY29uc3QgbmF0aXZlRWxlbWVudCA9IGluamVjdChFbGVtZW50UmVmPEhUTUxFbGVtZW50PikubmF0aXZlRWxlbWVudDtcblxuICAgIHRvT2JzZXJ2YWJsZSh1cmwpLnBpcGUoXG4gICAgICB0YWtlVW50aWxEZXN0cm95ZWQoKSxcbiAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgIG5hdGl2ZUVsZW1lbnQuY2hpbGROb2Rlcy5mb3JFYWNoKChub2RlOiBDaGlsZE5vZGUpID0+IHtcbiAgICAgICAgICByZW5kZXJlci5yZW1vdmVDaGlsZChuYXRpdmVFbGVtZW50LCBub2RlKTtcbiAgICAgICAgfSk7XG4gICAgICB9KSxcbiAgICAgIGZpbHRlcigodXJsKSA9PiB1cmwgIT09IHVuZGVmaW5lZCksXG4gICAgICBzd2l0Y2hNYXAoKHVybCkgPT4gdGhpcy5nZXQodXJsKSksXG4gICAgICB0YXAoKGljb24pID0+IHJlbmRlcmVyLmFwcGVuZENoaWxkKG5hdGl2ZUVsZW1lbnQsIGljb24uY2xvbmVOb2RlKHRydWUpKSksXG4gICAgKS5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIl19","import { ChangeDetectionStrategy, Component, computed, inject, input, ViewEncapsulation } from '@angular/core';\nimport { ICONS_POLYFILL, ICONS_RESOLVER } from './icon.tokens';\nimport { IconService } from './icon.service';\nimport * as i0 from \"@angular/core\";\nexport class IconComponent {\n resolve = inject(ICONS_RESOLVER);\n polyfill = inject(ICONS_POLYFILL);\n url = input();\n name = input();\n icon = computed(() => {\n const url = this.url();\n if (url) {\n return url;\n }\n const name = this.name();\n return name ? this.resolve(name) : '';\n });\n constructor() {\n if (this.polyfill()) {\n inject(IconService).toObservable(this.icon);\n }\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.6\", ngImport: i0, type: IconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.1.0\", version: \"20.0.6\", type: IconComponent, isStandalone: true, selector: \"lat-icon\", inputs: { url: { classPropertyName: \"url\", publicName: \"url\", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: \"name\", publicName: \"name\", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { \"role\": \"img\" }, properties: { \"attr.aria-label\": \"name()\", \"attr.data-polyfill\": \"polyfill() || undefined\", \"style.--lat-icon-url\": \"`url(${icon()})`\" } }, exportAs: [\"latIcon\"], ngImport: i0, template: \"\", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.6\", ngImport: i0, type: IconComponent, decorators: [{\n type: Component,\n args: [{ exportAs: 'latIcon', selector: 'lat-icon', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {\n role: 'img',\n '[attr.aria-label]': 'name()',\n '[attr.data-polyfill]': 'polyfill() || undefined',\n '[style.--lat-icon-url]': '`url(${icon()})`',\n }, template: \"\" }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy93aWRnZXRzL2ljb25zL3NyYy9pY29uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3dpZGdldHMvaWNvbnMvc3JjL2ljb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvRyxPQUFPLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBZTdDLE1BQU0sT0FBTyxhQUFhO0lBQ1IsT0FBTyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNqQyxRQUFRLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBRWxDLEdBQUcsR0FBRyxLQUFLLEVBQVUsQ0FBQztJQUN0QixJQUFJLEdBQUcsS0FBSyxFQUFVLENBQUM7SUFFdkIsSUFBSSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7UUFDbkMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBRXZCLElBQUksR0FBRyxFQUFFLENBQUM7WUFDUixPQUFPLEdBQUcsQ0FBQztRQUNiLENBQUM7UUFFRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFekIsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUN4QyxDQUFDLENBQUMsQ0FBQztJQUVIO1FBQ0UsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQztZQUNwQixNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5QyxDQUFDO0lBQ0gsQ0FBQzt1R0F2QlUsYUFBYTsyRkFBYixhQUFhLGlnQkNsQjFCLEVBQUE7OzJGRGtCYSxhQUFhO2tCQWJ6QixTQUFTOytCQUNFLFNBQVMsWUFDVCxVQUFVLGlCQUVMLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sUUFDekM7d0JBQ0osSUFBSSxFQUFFLEtBQUs7d0JBQ1gsbUJBQW1CLEVBQUUsUUFBUTt3QkFDN0Isc0JBQXNCLEVBQUUseUJBQXlCO3dCQUNqRCx3QkFBd0IsRUFBRSxrQkFBa0I7cUJBQzdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgY29tcHV0ZWQsIGluamVjdCwgaW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IElDT05TX1BPTFlGSUxMLCBJQ09OU19SRVNPTFZFUiB9IGZyb20gJy4vaWNvbi50b2tlbnMnO1xuaW1wb3J0IHsgSWNvblNlcnZpY2UgfSBmcm9tICcuL2ljb24uc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBleHBvcnRBczogJ2xhdEljb24nLFxuICBzZWxlY3RvcjogJ2xhdC1pY29uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ljb24uY29tcG9uZW50Lmh0bWwnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdDoge1xuICAgIHJvbGU6ICdpbWcnLFxuICAgICdbYXR0ci5hcmlhLWxhYmVsXSc6ICduYW1lKCknLFxuICAgICdbYXR0ci5kYXRhLXBvbHlmaWxsXSc6ICdwb2x5ZmlsbCgpIHx8IHVuZGVmaW5lZCcsXG4gICAgJ1tzdHlsZS4tLWxhdC1pY29uLXVybF0nOiAnYHVybCgke2ljb24oKX0pYCcsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIEljb25Db21wb25lbnQge1xuICBwdWJsaWMgcmVhZG9ubHkgcmVzb2x2ZSA9IGluamVjdChJQ09OU19SRVNPTFZFUik7XG4gIHB1YmxpYyByZWFkb25seSBwb2x5ZmlsbCA9IGluamVjdChJQ09OU19QT0xZRklMTCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IHVybCA9IGlucHV0PHN0cmluZz4oKTtcbiAgcHVibGljIHJlYWRvbmx5IG5hbWUgPSBpbnB1dDxzdHJpbmc+KCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGljb24gPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgdXJsID0gdGhpcy51cmwoKTtcblxuICAgIGlmICh1cmwpIHtcbiAgICAgIHJldHVybiB1cmw7XG4gICAgfVxuXG4gICAgY29uc3QgbmFtZSA9IHRoaXMubmFtZSgpO1xuXG4gICAgcmV0dXJuIG5hbWUgPyB0aGlzLnJlc29sdmUobmFtZSkgOiAnJztcbiAgfSk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgaWYgKHRoaXMucG9seWZpbGwoKSkge1xuICAgICAgaW5qZWN0KEljb25TZXJ2aWNlKS50b09ic2VydmFibGUodGhpcy5pY29uKTtcbiAgICB9XG4gIH1cbn1cbiIsIiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './public-api';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF0aXR1ZGUtdWktd2lkZ2V0cy1pY29ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3dpZGdldHMvaWNvbnMvbGF0aXR1ZGUtdWktd2lkZ2V0cy1pY29ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19"],"names":[],"mappings":"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"}
|