@latitude-ui/widgets 0.0.27 → 0.0.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/latitude-ui-widgets-button.mjs +9 -18
- package/fesm2022/latitude-ui-widgets-button.mjs.map +1 -1
- package/fesm2022/latitude-ui-widgets-core.mjs +43 -48
- package/fesm2022/latitude-ui-widgets-core.mjs.map +1 -1
- package/fesm2022/latitude-ui-widgets-lookup.mjs +1 -1
- package/fesm2022/latitude-ui-widgets-lookup.mjs.map +1 -1
- package/fesm2022/latitude-ui-widgets-select.mjs +1 -1
- package/fesm2022/latitude-ui-widgets-select.mjs.map +1 -1
- package/fesm2022/latitude-ui-widgets-tabs.mjs +1 -1
- package/fesm2022/latitude-ui-widgets-tabs.mjs.map +1 -1
- package/fesm2022/latitude-ui-widgets-textbox.mjs +2 -2
- package/fesm2022/latitude-ui-widgets-textbox.mjs.map +1 -1
- package/fesm2022/latitude-ui-widgets-toolbar.mjs +14 -3
- package/fesm2022/latitude-ui-widgets-toolbar.mjs.map +1 -1
- package/package.json +1 -1
- package/types/latitude-ui-widgets-button.d.ts +14 -13
- package/types/latitude-ui-widgets-core.d.ts +45 -50
|
@@ -1,22 +1,11 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
const BUTTON_OPTIONS = new InjectionToken(ngDevMode ? 'BUTTON_OPTIONS' : '', {
|
|
5
|
-
factory: () => {
|
|
6
|
-
return {
|
|
7
|
-
role: 'button',
|
|
8
|
-
size: 'md',
|
|
9
|
-
variant: 'default',
|
|
10
|
-
};
|
|
11
|
-
}
|
|
12
|
-
});
|
|
2
|
+
import { inject, ElementRef, input, booleanAttribute, numberAttribute, signal, afterRenderEffect, DestroyRef, ChangeDetectionStrategy, ViewEncapsulation, Component, InjectionToken } from '@angular/core';
|
|
13
3
|
|
|
14
4
|
class ButtonComponent {
|
|
15
5
|
button = inject((ElementRef));
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
variant = input(this.options.variant, ...(ngDevMode ? [{ debugName: "variant" }] : []));
|
|
6
|
+
role = input('button', ...(ngDevMode ? [{ debugName: "role" }] : []));
|
|
7
|
+
size = input(...(ngDevMode ? [undefined, { debugName: "size" }] : []));
|
|
8
|
+
variant = input(...(ngDevMode ? [undefined, { debugName: "variant" }] : []));
|
|
20
9
|
disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : {}), transform: booleanAttribute });
|
|
21
10
|
tabindex = input(undefined, { ...(ngDevMode ? { debugName: "tabindex" } : {}), transform: numberAttribute });
|
|
22
11
|
icononly = signal(false, ...(ngDevMode ? [{ debugName: "icononly" }] : []));
|
|
@@ -65,11 +54,11 @@ class ButtonComponent {
|
|
|
65
54
|
});
|
|
66
55
|
}
|
|
67
56
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
68
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.3", type: ButtonComponent, isStandalone: true, selector: "lat-button
|
|
57
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.3", type: ButtonComponent, isStandalone: true, selector: "lat-button", inputs: { role: { classPropertyName: "role", publicName: "role", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, tabindex: { classPropertyName: "tabindex", publicName: "tabindex", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.role": "role()", "attr.size": "size()", "attr.variant": "variant()", "attr.icononly": "icononly()", "attr.tabindex": "disabled() ? -1 : tabindex()", "attr.disabled": "disabled() || undefined", "attr.aria-disabled": "disabled() || undefined" } }, exportAs: ["latButton"], ngImport: i0, template: "<ng-content />\r\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
69
58
|
}
|
|
70
59
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ButtonComponent, decorators: [{
|
|
71
60
|
type: Component,
|
|
72
|
-
args: [{ exportAs: 'latButton', selector: 'lat-button
|
|
61
|
+
args: [{ exportAs: 'latButton', selector: 'lat-button', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
73
62
|
'[attr.role]': 'role()',
|
|
74
63
|
'[attr.size]': 'size()',
|
|
75
64
|
'[attr.variant]': 'variant()',
|
|
@@ -80,9 +69,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImpor
|
|
|
80
69
|
}, template: "<ng-content />\r\n" }]
|
|
81
70
|
}], ctorParameters: () => [], propDecorators: { role: [{ type: i0.Input, args: [{ isSignal: true, alias: "role", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], tabindex: [{ type: i0.Input, args: [{ isSignal: true, alias: "tabindex", required: false }] }] } });
|
|
82
71
|
|
|
72
|
+
const BUTTON_PATTERN = new InjectionToken('BUTTON_PATTERN');
|
|
73
|
+
|
|
83
74
|
/**
|
|
84
75
|
* Generated bundle index. Do not edit.
|
|
85
76
|
*/
|
|
86
77
|
|
|
87
|
-
export {
|
|
78
|
+
export { BUTTON_PATTERN, ButtonComponent };
|
|
88
79
|
//# sourceMappingURL=latitude-ui-widgets-button.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"latitude-ui-widgets-button.mjs","sources":["../../../../packages/widgets/button/lib/button.
|
|
1
|
+
{"version":3,"file":"latitude-ui-widgets-button.mjs","sources":["../../../../packages/widgets/button/lib/button.component.ts","../../../../packages/widgets/button/lib/button.component.html","../../../../packages/widgets/button/lib/button.pattern.ts","../../../../packages/widgets/button/latitude-ui-widgets-button.ts"],"sourcesContent":["import {\n afterRenderEffect,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n ElementRef,\n inject,\n input,\n numberAttribute,\n signal,\n ViewEncapsulation\n} from '@angular/core';\n\nimport { ButtonSize, ButtonVariant } from './button.types';\n\n\n@Component({\n exportAs: 'latButton',\n selector: 'lat-button',\n templateUrl: './button.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.role]': 'role()',\n '[attr.size]': 'size()',\n '[attr.variant]': 'variant()',\n '[attr.icononly]': 'icononly()',\n '[attr.tabindex]': `disabled() ? -1 : tabindex()`,\n '[attr.disabled]': `disabled() || undefined`,\n '[attr.aria-disabled]': `disabled() || undefined`\n }\n})\nexport class ButtonComponent {\n readonly button = inject(ElementRef<HTMLElement>);\n\n readonly role = input<string>('button');\n readonly size = input<ButtonSize>();\n readonly variant = input<ButtonVariant>();\n readonly disabled = input<boolean, unknown>(false, { transform: booleanAttribute });\n readonly tabindex = input<number, unknown>(undefined, { transform: numberAttribute });\n\n readonly icononly = signal<boolean>(false);\n\n constructor() {\n this._setUpPolyfill();\n this._setUpListener();\n }\n\n // Need to find icon without another DOM node (Polyfill pseudo :has)\n _setUpPolyfill(): void {\n const nativeElement = this.button.nativeElement;\n\n afterRenderEffect(() => {\n const childNodes = nativeElement.childNodes;\n\n if (childNodes.length === 1) {\n const node = childNodes.item(0);\n\n this.icononly.update(() => {\n if (node instanceof HTMLElement) {\n return node.tagName === 'LAT-ICON' || node.tagName === 'SVG' || node.role === 'img';\n }\n\n return false;\n });\n }\n });\n }\n\n // https://github.com/angular/angular/issues/9587\n _setUpListener(): void {\n const nativeElement = this.button.nativeElement;\n\n const clickFn = (event: MouseEvent) => {\n if (this.disabled()) {\n event.stopImmediatePropagation();\n event.preventDefault();\n }\n };\n\n const keyupFn = (event: KeyboardEvent) => {\n if (event.code === 'Space' && !this.disabled()) {\n const click = new MouseEvent('click', { ...event });\n\n nativeElement.dispatchEvent(click);\n\n event.stopImmediatePropagation();\n event.preventDefault();\n }\n };\n\n nativeElement.addEventListener('click', clickFn);\n nativeElement.addEventListener('keyup', keyupFn);\n\n inject(DestroyRef).onDestroy(() => {\n nativeElement.removeEventListener('click', clickFn);\n nativeElement.removeEventListener('keyup', keyupFn);\n });\n }\n}\n","<ng-content />\r\n","import { InjectionToken, Signal } from '@angular/core';\r\n\r\nimport { ButtonSize, ButtonVariant } from './button.types';\r\n\r\nexport interface ButtonPattern {\r\n readonly size: Signal<ButtonSize>;\r\n readonly variant: Signal<ButtonVariant>;\r\n}\r\n\r\nexport const BUTTON_PATTERN = new InjectionToken<ButtonPattern>('BUTTON_PATTERN');\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,52 +1,23 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { InjectionToken,
|
|
2
|
+
import { InjectionToken, inject, input, numberAttribute, booleanAttribute, computed, linkedSignal, signal, Directive, contentChild } from '@angular/core';
|
|
3
3
|
import { NgControl } from '@angular/forms';
|
|
4
4
|
|
|
5
|
+
const LAT_ASSETS_PATH = new InjectionToken(ngDevMode ? 'LAT_ASSETS_PATH' : '', {
|
|
6
|
+
factory: () => {
|
|
7
|
+
return 'assets/latlng';
|
|
8
|
+
}
|
|
9
|
+
});
|
|
10
|
+
|
|
5
11
|
function noop() {
|
|
6
12
|
//
|
|
7
13
|
}
|
|
8
14
|
|
|
9
|
-
const ARIA_LABELLEDBY = new InjectionToken('ARIA_LABELLEDBY');
|
|
10
|
-
const ARIA_ERRORMESSAGE = new InjectionToken('ARIA_ERRORMESSAGE');
|
|
11
|
-
|
|
12
15
|
function uid() {
|
|
13
16
|
return `${Math.random().toString(36).slice(2, 11)}`;
|
|
14
17
|
}
|
|
15
18
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
size = input('md', ...(ngDevMode ? [{ debugName: "size" }] : []));
|
|
19
|
-
variant = input('default', ...(ngDevMode ? [{ debugName: "variant" }] : []));
|
|
20
|
-
control = contentChild.required((HTMLFormControl));
|
|
21
|
-
htmlId = computed(() => this.id() ?? uid(), ...(ngDevMode ? [{ debugName: "htmlId" }] : []));
|
|
22
|
-
controlId = computed(() => `lat-control-${this.htmlId()}`, ...(ngDevMode ? [{ debugName: "controlId" }] : []));
|
|
23
|
-
value = computed(() => this.control().value(), ...(ngDevMode ? [{ debugName: "value" }] : []));
|
|
24
|
-
valueAsString = computed(() => this.control().valueAsString(), ...(ngDevMode ? [{ debugName: "valueAsString" }] : []));
|
|
25
|
-
status = computed(() => this.control().status(), ...(ngDevMode ? [{ debugName: "status" }] : []));
|
|
26
|
-
touched = computed(() => this.control().touched(), ...(ngDevMode ? [{ debugName: "touched" }] : []));
|
|
27
|
-
dirty = computed(() => this.control().dirty(), ...(ngDevMode ? [{ debugName: "dirty" }] : []));
|
|
28
|
-
valid = computed(() => this.control().valid(), ...(ngDevMode ? [{ debugName: "valid" }] : []));
|
|
29
|
-
errors = computed(() => this.control().errors(), ...(ngDevMode ? [{ debugName: "errors" }] : []));
|
|
30
|
-
invalid = computed(() => this.control().invalid(), ...(ngDevMode ? [{ debugName: "invalid" }] : []));
|
|
31
|
-
pending = computed(() => this.control().pending(), ...(ngDevMode ? [{ debugName: "pending" }] : []));
|
|
32
|
-
pristine = computed(() => this.control().pristine(), ...(ngDevMode ? [{ debugName: "pristine" }] : []));
|
|
33
|
-
disabled = computed(() => this.control().disabled(), ...(ngDevMode ? [{ debugName: "disabled" }] : []));
|
|
34
|
-
readonly = computed(() => this.control().readonly(), ...(ngDevMode ? [{ debugName: "readonly" }] : []));
|
|
35
|
-
required = computed(() => this.control().required(), ...(ngDevMode ? [{ debugName: "required" }] : []));
|
|
36
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: HTMLFormControlContainer, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
37
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "21.1.3", type: HTMLFormControlContainer, isStandalone: true, inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.id": "htmlId()", "attr.size": "size()", "attr.variant": "variant()" } }, queries: [{ propertyName: "control", first: true, predicate: (HTMLFormControl), descendants: true, isSignal: true }], ngImport: i0 });
|
|
38
|
-
}
|
|
39
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: HTMLFormControlContainer, decorators: [{
|
|
40
|
-
type: Directive,
|
|
41
|
-
args: [{
|
|
42
|
-
host: {
|
|
43
|
-
'[attr.id]': 'htmlId()',
|
|
44
|
-
'[attr.size]': 'size()',
|
|
45
|
-
'[attr.variant]': 'variant()',
|
|
46
|
-
}
|
|
47
|
-
}]
|
|
48
|
-
}], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], control: [{ type: i0.ContentChild, args: [i0.forwardRef(() => HTMLFormControl), { isSignal: true }] }] } });
|
|
49
|
-
|
|
19
|
+
const ARIA_LABELLEDBY = new InjectionToken('ARIA_LABELLEDBY');
|
|
20
|
+
const ARIA_ERRORMESSAGE = new InjectionToken('ARIA_ERRORMESSAGE');
|
|
50
21
|
class HTMLFormControl {
|
|
51
22
|
dir = inject(NgControl, { self: true });
|
|
52
23
|
ownerCt = inject(HTMLFormControlContainer, { host: true, optional: true });
|
|
@@ -162,19 +133,43 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImpor
|
|
|
162
133
|
}
|
|
163
134
|
}]
|
|
164
135
|
}], ctorParameters: () => [], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], tabindex: [{ type: i0.Input, args: [{ isSignal: true, alias: "tabindex", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], required: [{ type: i0.Input, args: [{ isSignal: true, alias: "required", required: false }] }], autofocus: [{ type: i0.Input, args: [{ isSignal: true, alias: "autofocus", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }] } });
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
}
|
|
173
|
-
});
|
|
136
|
+
class HTMLFormControlContainer {
|
|
137
|
+
id = input(...(ngDevMode ? [undefined, { debugName: "id" }] : []));
|
|
138
|
+
size = input('md', ...(ngDevMode ? [{ debugName: "size" }] : []));
|
|
139
|
+
variant = input('default', ...(ngDevMode ? [{ debugName: "variant" }] : []));
|
|
140
|
+
control = contentChild.required((HTMLFormControl));
|
|
141
|
+
htmlId = computed(() => this.id() ?? uid(), ...(ngDevMode ? [{ debugName: "htmlId" }] : []));
|
|
142
|
+
controlId = computed(() => `lat-control-${this.htmlId()}`, ...(ngDevMode ? [{ debugName: "controlId" }] : []));
|
|
143
|
+
value = computed(() => this.control().value(), ...(ngDevMode ? [{ debugName: "value" }] : []));
|
|
144
|
+
valueAsString = computed(() => this.control().valueAsString(), ...(ngDevMode ? [{ debugName: "valueAsString" }] : []));
|
|
145
|
+
status = computed(() => this.control().status(), ...(ngDevMode ? [{ debugName: "status" }] : []));
|
|
146
|
+
touched = computed(() => this.control().touched(), ...(ngDevMode ? [{ debugName: "touched" }] : []));
|
|
147
|
+
dirty = computed(() => this.control().dirty(), ...(ngDevMode ? [{ debugName: "dirty" }] : []));
|
|
148
|
+
valid = computed(() => this.control().valid(), ...(ngDevMode ? [{ debugName: "valid" }] : []));
|
|
149
|
+
errors = computed(() => this.control().errors(), ...(ngDevMode ? [{ debugName: "errors" }] : []));
|
|
150
|
+
invalid = computed(() => this.control().invalid(), ...(ngDevMode ? [{ debugName: "invalid" }] : []));
|
|
151
|
+
pending = computed(() => this.control().pending(), ...(ngDevMode ? [{ debugName: "pending" }] : []));
|
|
152
|
+
pristine = computed(() => this.control().pristine(), ...(ngDevMode ? [{ debugName: "pristine" }] : []));
|
|
153
|
+
disabled = computed(() => this.control().disabled(), ...(ngDevMode ? [{ debugName: "disabled" }] : []));
|
|
154
|
+
readonly = computed(() => this.control().readonly(), ...(ngDevMode ? [{ debugName: "readonly" }] : []));
|
|
155
|
+
required = computed(() => this.control().required(), ...(ngDevMode ? [{ debugName: "required" }] : []));
|
|
156
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: HTMLFormControlContainer, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
157
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "21.1.3", type: HTMLFormControlContainer, isStandalone: true, inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.id": "htmlId()", "attr.size": "size()", "attr.variant": "variant()" } }, queries: [{ propertyName: "control", first: true, predicate: (HTMLFormControl), descendants: true, isSignal: true }], ngImport: i0 });
|
|
158
|
+
}
|
|
159
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: HTMLFormControlContainer, decorators: [{
|
|
160
|
+
type: Directive,
|
|
161
|
+
args: [{
|
|
162
|
+
host: {
|
|
163
|
+
'[attr.id]': 'htmlId()',
|
|
164
|
+
'[attr.size]': 'size()',
|
|
165
|
+
'[attr.variant]': 'variant()'
|
|
166
|
+
}
|
|
167
|
+
}]
|
|
168
|
+
}], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], control: [{ type: i0.ContentChild, args: [i0.forwardRef(() => HTMLFormControl), { isSignal: true }] }] } });
|
|
174
169
|
|
|
175
170
|
/**
|
|
176
171
|
* Generated bundle index. Do not edit.
|
|
177
172
|
*/
|
|
178
173
|
|
|
179
|
-
export { ARIA_ERRORMESSAGE, ARIA_LABELLEDBY,
|
|
174
|
+
export { ARIA_ERRORMESSAGE, ARIA_LABELLEDBY, HTMLFormControl, HTMLFormControlContainer, LAT_ASSETS_PATH, noop, uid };
|
|
180
175
|
//# sourceMappingURL=latitude-ui-widgets-core.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"latitude-ui-widgets-core.mjs","sources":["../../../../packages/widgets/core/lib/noop.ts","../../../../packages/widgets/core/lib/forms/control-aria.ts","../../../../packages/widgets/core/lib/uid.ts","../../../../packages/widgets/core/lib/forms/control-container.ts","../../../../packages/widgets/core/lib/forms/control.ts","../../../../packages/widgets/core/lib/appearance.ts","../../../../packages/widgets/core/lib/assets.ts","../../../../packages/widgets/core/latitude-ui-widgets-core.ts"],"sourcesContent":["\r\n\r\nexport function noop() {\r\n //\r\n}\r\n","import { InjectionToken, Signal } from '@angular/core';\r\n\r\n\r\nexport const ARIA_LABELLEDBY = new InjectionToken<Signal<string>>('ARIA_LABELLEDBY');\r\nexport const ARIA_ERRORMESSAGE = new InjectionToken<Signal<string>>('ARIA_ERRORMESSAGE');\r\n","export function uid(): string {\r\n return `${Math.random().toString(36).slice(2, 11)}`;\r\n}\r\n","import { computed, contentChild, Directive, input } from '@angular/core';\r\n\r\nimport { uid } from '../uid';\r\nimport { HTMLFormControlSize, HTMLFormControlVariant, HTMLFormControl } from './control';\r\n\r\n\r\n@Directive({\r\n host: {\r\n '[attr.id]': 'htmlId()',\r\n '[attr.size]': 'size()',\r\n '[attr.variant]': 'variant()',\r\n }\r\n})\r\nexport class HTMLFormControlContainer<T> {\r\n readonly id = input<string>();\r\n readonly size = input<HTMLFormControlSize>('md');\r\n readonly variant = input<HTMLFormControlVariant>('default');\r\n\r\n readonly control = contentChild.required(HTMLFormControl<T>);\r\n\r\n readonly htmlId = computed(() => this.id() ?? uid());\r\n readonly controlId = computed(() => `lat-control-${this.htmlId()}`);\r\n\r\n readonly value = computed(() => this.control().value());\r\n readonly valueAsString = computed(() => this.control().valueAsString());\r\n\r\n readonly status = computed(() => this.control().status());\r\n readonly touched = computed(() => this.control().touched());\r\n\r\n readonly dirty = computed(() => this.control().dirty());\r\n readonly valid = computed(() => this.control().valid());\r\n readonly errors = computed(() => this.control().errors());\r\n readonly invalid = computed(() => this.control().invalid());\r\n readonly pending = computed(() => this.control().pending());\r\n readonly pristine = computed(() => this.control().pristine());\r\n readonly disabled = computed(() => this.control().disabled());\r\n readonly readonly = computed(() => this.control().readonly());\r\n readonly required = computed(() => this.control().required());\r\n}\r\n","import {\r\n booleanAttribute,\r\n computed,\r\n Directive,\r\n inject,\r\n input,\r\n linkedSignal,\r\n numberAttribute,\r\n signal\r\n} from '@angular/core';\r\nimport { AbstractControl, FormControlStatus, NgControl } from '@angular/forms';\r\n\r\nimport { BoxSize } from '../appearance';\r\nimport { noop } from '../noop';\r\n\r\nimport { ARIA_ERRORMESSAGE, ARIA_LABELLEDBY } from './control-aria';\r\nimport { HTMLFormControlContainer } from './control-container';\r\n\r\nexport type HTMLFormControlSize = BoxSize;\r\nexport type HTMLFormControlVariant = 'default' | 'inherit' | ({} & string);\r\n\r\n@Directive({\r\n host: {\r\n '[attr.size]': 'computedSize() || undefined',\r\n '[attr.variant]': 'computedVariant() || undefined',\r\n '[attr.data-id]': 'computedId() || undefined',\r\n '[attr.data-dirty]': 'dirty() || undefined',\r\n '[attr.data-invalid]': 'invalid() || undefined',\r\n '[attr.data-pristine]': 'pristine() || undefined',\r\n '[attr.data-disabled]': 'disabled() || undefined',\r\n '[attr.data-readonly]': 'readonly() || undefined',\r\n '[attr.data-required]': 'required() || undefined'\r\n }\r\n})\r\nexport class HTMLFormControl<T> {\r\n readonly dir = inject(NgControl, { self: true });\r\n readonly ownerCt = inject(HTMLFormControlContainer, { host: true, optional: true });\r\n\r\n readonly labelledby = inject(ARIA_LABELLEDBY,{ host: true, optional: true });\r\n readonly errormessage = inject(ARIA_ERRORMESSAGE, { host: true, optional: true });\r\n\r\n readonly id = input<string>();\r\n readonly size = input<HTMLFormControlSize>('md');\r\n readonly variant = input<HTMLFormControlVariant>('default');\r\n readonly tabindex = input<number, unknown>(0, { transform: numberAttribute });\r\n readonly readonly = input<boolean, unknown>(false, { transform: booleanAttribute });\r\n readonly required = input<boolean, unknown>(false, { transform: booleanAttribute });\r\n readonly autofocus = input<boolean, unknown>(false, { transform: booleanAttribute });\r\n readonly placeholder = input<string>();\r\n\r\n readonly value = computed(() => this._value());\r\n readonly control = computed(() => this._control());\r\n\r\n readonly valueAsString = linkedSignal({\r\n source: () => this._value(),\r\n computation: (value) => this.valueStringify(value)\r\n });\r\n\r\n readonly status = computed(() => this._control()?.['statusReactive']() as FormControlStatus);\r\n readonly touched = computed(() => this._control()?.['touchedReactive']() as boolean);\r\n readonly pristine = computed(() => this._control()?.['pristineReactive']() as boolean);\r\n\r\n readonly valid = computed(() => this.status() === 'VALID');\r\n readonly invalid = computed(() => this.status() === 'INVALID');\r\n readonly pending = computed(() => this.status() === 'PENDING');\r\n readonly disabled = computed(() => this.status() === 'DISABLED');\r\n\r\n readonly dirty = computed(() => !this.pristine());\r\n readonly errors = computed(() => {\r\n this.value();\r\n this.status();\r\n\r\n const control = this.control();\r\n\r\n return control ? control.errors : null;\r\n });\r\n\r\n readonly computedId = computed(() => this.ownerCt ? this.ownerCt.controlId() : this.id());\r\n readonly computedSize = computed(() => this.ownerCt ? this.ownerCt.size() : this.size());\r\n readonly computedVariant = computed(() => this.ownerCt ? this.ownerCt.variant() : this.variant());\r\n\r\n /** @internal */\r\n readonly _value = signal<T | null>(this.dir.value);\r\n\r\n /** @internal */\r\n readonly _control = signal<AbstractControl | null>(null);\r\n\r\n constructor() {\r\n this.dir.valueAccessor = {\r\n writeValue: (value: T | null) => {\r\n this._writeValue(value);\r\n },\r\n registerOnChange: (callback: (value: T | null) => void) => {\r\n this._markAsChanged = () => callback(this._value());\r\n\r\n // FIXME: while FromControlNameDirective not register, underline control is undefined\r\n Promise.resolve().then(() => {\r\n this._control.update(() => this.dir.control);\r\n });\r\n },\r\n registerOnTouched: (callback: () => void) => {\r\n this._markAsTouched = () => callback();\r\n }\r\n };\r\n }\r\n\r\n /**\r\n * Sets the \"value\" property on the input element.\r\n */\r\n writeValue(value: T | null): void {\r\n if (this._writeValue(value)) {\r\n this._markAsChanged();\r\n }\r\n }\r\n\r\n /**\r\n * Marks the control as `dirty`.\r\n */\r\n markAsChanged(): void {\r\n this._markAsChanged();\r\n }\r\n\r\n /**\r\n * Marks the control as `touched`.\r\n */\r\n markAsTouched(): void {\r\n this._markAsTouched();\r\n }\r\n\r\n /** @internal */\r\n valueEquality(value0: T | null, value1: unknown): boolean {\r\n return Object.is(value0, value1);\r\n }\r\n\r\n /** @internal */\r\n valueStringify(value: unknown): string {\r\n return value !== null && value !== undefined ? value.toString() : '';\r\n }\r\n\r\n /** @internal */\r\n _writeValue(input: T | null): boolean {\r\n const value = this._value();\r\n\r\n if (this.valueEquality(value, input)) {\r\n return false;\r\n }\r\n\r\n this._value.set(input);\r\n\r\n return true;\r\n }\r\n\r\n /** @internal */\r\n _markAsTouched: VoidFunction = noop;\r\n\r\n /** @internal */\r\n _markAsChanged: VoidFunction = noop;\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\n\r\n\r\nexport type BoxSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'inherit';\r\n\r\nexport const VARIANT_PATTERN = new InjectionToken<string>('VARIANT_PATTERN');\r\nexport const BOX_SIZE_PATTERN = new InjectionToken<BoxSize>('BOX_SIZE_PATTERN');\r\n","import { InjectionToken } from '@angular/core';\r\n\r\n\r\nexport const LAT_ASSETS_PATH = new InjectionToken(\r\n ngDevMode ? 'LAT_ASSETS_PATH' : '',\r\n {\r\n factory: () => {\r\n return 'assets/latlng';\r\n }\r\n }\r\n);\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"latitude-ui-widgets-core.mjs","sources":["../../../../packages/widgets/core/lib/assets.ts","../../../../packages/widgets/core/lib/noop.ts","../../../../packages/widgets/core/lib/uid.ts","../../../../packages/widgets/core/lib/forms.ts","../../../../packages/widgets/core/latitude-ui-widgets-core.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\r\n\r\n\r\nexport const LAT_ASSETS_PATH = new InjectionToken(\r\n ngDevMode ? 'LAT_ASSETS_PATH' : '',\r\n {\r\n factory: () => {\r\n return 'assets/latlng';\r\n }\r\n }\r\n);\r\n","\r\n\r\nexport function noop() {\r\n //\r\n}\r\n","export function uid(): string {\r\n return `${Math.random().toString(36).slice(2, 11)}`;\r\n}\r\n","import {\r\n booleanAttribute,\r\n computed,\r\n contentChild,\r\n Directive,\r\n inject,\r\n InjectionToken,\r\n input,\r\n linkedSignal,\r\n numberAttribute,\r\n signal,\r\n Signal\r\n} from '@angular/core';\r\nimport { AbstractControl, FormControlStatus, NgControl } from '@angular/forms';\r\n\r\nimport { BoxSize } from './appearance';\r\nimport { noop } from './noop';\r\nimport { uid } from './uid';\r\n\r\nexport type HTMLFormControlSize = BoxSize;\r\nexport type HTMLFormControlVariant = 'default' | 'inherit' | ({} & string);\r\n\r\nexport const ARIA_LABELLEDBY = new InjectionToken<Signal<string>>('ARIA_LABELLEDBY');\r\nexport const ARIA_ERRORMESSAGE = new InjectionToken<Signal<string>>('ARIA_ERRORMESSAGE');\r\n\r\n\r\n@Directive({\r\n host: {\r\n '[attr.size]': 'computedSize() || undefined',\r\n '[attr.variant]': 'computedVariant() || undefined',\r\n '[attr.data-id]': 'computedId() || undefined',\r\n '[attr.data-dirty]': 'dirty() || undefined',\r\n '[attr.data-invalid]': 'invalid() || undefined',\r\n '[attr.data-pristine]': 'pristine() || undefined',\r\n '[attr.data-disabled]': 'disabled() || undefined',\r\n '[attr.data-readonly]': 'readonly() || undefined',\r\n '[attr.data-required]': 'required() || undefined'\r\n }\r\n})\r\nexport class HTMLFormControl<T> {\r\n readonly dir = inject(NgControl, { self: true });\r\n readonly ownerCt = inject(HTMLFormControlContainer, { host: true, optional: true });\r\n\r\n readonly labelledby = inject(ARIA_LABELLEDBY, { host: true, optional: true });\r\n readonly errormessage = inject(ARIA_ERRORMESSAGE, { host: true, optional: true });\r\n\r\n readonly id = input<string>();\r\n readonly size = input<HTMLFormControlSize>('md');\r\n readonly variant = input<HTMLFormControlVariant>('default');\r\n readonly tabindex = input<number, unknown>(0, { transform: numberAttribute });\r\n readonly readonly = input<boolean, unknown>(false, { transform: booleanAttribute });\r\n readonly required = input<boolean, unknown>(false, { transform: booleanAttribute });\r\n readonly autofocus = input<boolean, unknown>(false, { transform: booleanAttribute });\r\n readonly placeholder = input<string>();\r\n\r\n readonly value = computed(() => this._value());\r\n readonly control = computed(() => this._control());\r\n\r\n readonly valueAsString = linkedSignal({\r\n source: () => this._value(),\r\n computation: (value) => this.valueStringify(value)\r\n });\r\n\r\n readonly status = computed(() => this._control()?.['statusReactive']() as FormControlStatus);\r\n readonly touched = computed(() => this._control()?.['touchedReactive']() as boolean);\r\n readonly pristine = computed(() => this._control()?.['pristineReactive']() as boolean);\r\n\r\n readonly valid = computed(() => this.status() === 'VALID');\r\n readonly invalid = computed(() => this.status() === 'INVALID');\r\n readonly pending = computed(() => this.status() === 'PENDING');\r\n readonly disabled = computed(() => this.status() === 'DISABLED');\r\n\r\n readonly dirty = computed(() => !this.pristine());\r\n readonly errors = computed(() => {\r\n this.value();\r\n this.status();\r\n\r\n const control = this.control();\r\n\r\n return control ? control.errors : null;\r\n });\r\n\r\n readonly computedId = computed(() => this.ownerCt ? this.ownerCt.controlId() : this.id());\r\n readonly computedSize = computed(() => this.ownerCt ? this.ownerCt.size() : this.size());\r\n readonly computedVariant = computed(() => this.ownerCt ? this.ownerCt.variant() : this.variant());\r\n\r\n /** @internal */\r\n readonly _value = signal<T | null>(this.dir.value);\r\n\r\n /** @internal */\r\n readonly _control = signal<AbstractControl | null>(null);\r\n\r\n constructor() {\r\n this.dir.valueAccessor = {\r\n writeValue: (value: T | null) => {\r\n this._writeValue(value);\r\n },\r\n registerOnChange: (callback: (value: T | null) => void) => {\r\n this._markAsChanged = () => callback(this._value());\r\n\r\n // FIXME: while FromControlNameDirective not register, underline control is undefined\r\n Promise.resolve().then(() => {\r\n this._control.update(() => this.dir.control);\r\n });\r\n },\r\n registerOnTouched: (callback: () => void) => {\r\n this._markAsTouched = () => callback();\r\n }\r\n };\r\n }\r\n\r\n /**\r\n * Sets the \"value\" property on the input element.\r\n */\r\n writeValue(value: T | null): void {\r\n if (this._writeValue(value)) {\r\n this._markAsChanged();\r\n }\r\n }\r\n\r\n /**\r\n * Marks the control as `dirty`.\r\n */\r\n markAsChanged(): void {\r\n this._markAsChanged();\r\n }\r\n\r\n /**\r\n * Marks the control as `touched`.\r\n */\r\n markAsTouched(): void {\r\n this._markAsTouched();\r\n }\r\n\r\n /** @internal */\r\n valueEquality(value0: T | null, value1: unknown): boolean {\r\n return Object.is(value0, value1);\r\n }\r\n\r\n /** @internal */\r\n valueStringify(value: unknown): string {\r\n return value !== null && value !== undefined ? value.toString() : '';\r\n }\r\n\r\n /** @internal */\r\n _writeValue(input: T | null): boolean {\r\n const value = this._value();\r\n\r\n if (this.valueEquality(value, input)) {\r\n return false;\r\n }\r\n\r\n this._value.set(input);\r\n\r\n return true;\r\n }\r\n\r\n /** @internal */\r\n _markAsTouched: VoidFunction = noop;\r\n\r\n /** @internal */\r\n _markAsChanged: VoidFunction = noop;\r\n}\r\n\r\n\r\n@Directive({\r\n host: {\r\n '[attr.id]': 'htmlId()',\r\n '[attr.size]': 'size()',\r\n '[attr.variant]': 'variant()'\r\n }\r\n})\r\nexport class HTMLFormControlContainer<T> {\r\n readonly id = input<string>();\r\n readonly size = input<HTMLFormControlSize>('md');\r\n readonly variant = input<HTMLFormControlVariant>('default');\r\n\r\n readonly control = contentChild.required(HTMLFormControl<T>);\r\n\r\n readonly htmlId = computed(() => this.id() ?? uid());\r\n readonly controlId = computed(() => `lat-control-${this.htmlId()}`);\r\n\r\n readonly value = computed(() => this.control().value());\r\n readonly valueAsString = computed(() => this.control().valueAsString());\r\n\r\n readonly status = computed(() => this.control().status());\r\n readonly touched = computed(() => this.control().touched());\r\n\r\n readonly dirty = computed(() => this.control().dirty());\r\n readonly valid = computed(() => this.control().valid());\r\n readonly errors = computed(() => this.control().errors());\r\n readonly invalid = computed(() => this.control().invalid());\r\n readonly pending = computed(() => this.control().pending());\r\n readonly pristine = computed(() => this.control().pristine());\r\n readonly disabled = computed(() => this.control().disabled());\r\n readonly readonly = computed(() => this.control().readonly());\r\n readonly required = computed(() => this.control().required());\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -26,7 +26,7 @@ class LookupComponent extends HTMLFormControl {
|
|
|
26
26
|
provide: HTMLFormControl,
|
|
27
27
|
useExisting: forwardRef(() => LookupComponent),
|
|
28
28
|
},
|
|
29
|
-
], usesInheritance: true, ngImport: i0, template: "<div class=\"lat-lookup-values\">\r\n @if(value()) {\r\n <span class=\"lat-lookup-value\">{{ valueAsString() }}</span>\r\n } @else if(placeholder()) {\r\n <span class=\"lat-lookup-palceholder\">{{ placeholder() }}</span>\r\n }\r\n</div>\r\n\r\n@if (!readonly()) {\r\n <div class=\"lat-lookup-controls\">\r\n <lat-button tabindex=\"-1\" variant=\"inherit\" [size]=\"size()\" [disabled]=\"disabled()\">\r\n <lat-icon name=\"link\"/>\r\n </lat-button>\r\n </div>\r\n}\r\n", dependencies: [{ kind: "component", type: ButtonComponent, selector: "lat-button
|
|
29
|
+
], usesInheritance: true, ngImport: i0, template: "<div class=\"lat-lookup-values\">\r\n @if(value()) {\r\n <span class=\"lat-lookup-value\">{{ valueAsString() }}</span>\r\n } @else if(placeholder()) {\r\n <span class=\"lat-lookup-palceholder\">{{ placeholder() }}</span>\r\n }\r\n</div>\r\n\r\n@if (!readonly()) {\r\n <div class=\"lat-lookup-controls\">\r\n <lat-button tabindex=\"-1\" variant=\"inherit\" [size]=\"size()\" [disabled]=\"disabled()\">\r\n <lat-icon name=\"link\"/>\r\n </lat-button>\r\n </div>\r\n}\r\n", dependencies: [{ kind: "component", type: ButtonComponent, selector: "lat-button", inputs: ["role", "size", "variant", "disabled", "tabindex"], exportAs: ["latButton"] }, { kind: "component", type: IconComponent, selector: "lat-icon", inputs: ["url", "name"], exportAs: ["latIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
30
30
|
}
|
|
31
31
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: LookupComponent, decorators: [{
|
|
32
32
|
type: Component,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"latitude-ui-widgets-lookup.mjs","sources":["../../../../packages/widgets/lookup/lib/lookup.component.ts","../../../../packages/widgets/lookup/lib/lookup.component.html","../../../../packages/widgets/lookup/latitude-ui-widgets-lookup.ts"],"sourcesContent":["import { Observable } from 'rxjs';\r\n\r\nimport { ChangeDetectionStrategy, Component, forwardRef, input, ViewEncapsulation } from '@angular/core';\r\n\r\nimport { HTMLFormControl } from '@latitude-ui/widgets/core';\r\nimport { ButtonComponent } from '@latitude-ui/widgets/button';\r\nimport { IconComponent } from '@latitude-ui/widgets/icons';\r\n\r\nexport type ValueStringify = (value: any) => string;\r\nexport type PopoverOverlay = () => Observable<any | null>;\r\n\r\nexport const DEFAULT_POPOVER: PopoverOverlay = () => {\r\n throw new Error('[lat-lookup]: PopoverOverlay() is not implemented');\r\n};\r\n\r\nexport const DEFAULT_STRINGIFY: ValueStringify = (value) => value.toString();\r\n\r\n@Component({\r\n imports: [ButtonComponent, IconComponent],\r\n selector: 'lat-lookup',\r\n templateUrl: './lookup.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: HTMLFormControl,\r\n useExisting: forwardRef(() => LookupComponent),\r\n },\r\n ],\r\n host: {\r\n role: 'combobox',\r\n '(click)': \"onSelect()\"\r\n },\r\n})\r\nexport class LookupComponent<T = any> extends HTMLFormControl<T> {\r\n readonly popover = input<PopoverOverlay>(DEFAULT_POPOVER);\r\n readonly stringify = input<ValueStringify>(DEFAULT_STRINGIFY);\r\n\r\n onSelect() {\r\n const taskFn = this.popover();\r\n\r\n taskFn().subscribe((value) => this.writeValue(value));\r\n }\r\n\r\n /** @internal */\r\n override valueStringify(value: unknown): string {\r\n const stringify = this.stringify();\r\n\r\n return value !== null && value !== undefined ? stringify(value) : '';\r\n }\r\n\r\n}\r\n","<div class=\"lat-lookup-values\">\r\n @if(value()) {\r\n <span class=\"lat-lookup-value\">{{ valueAsString() }}</span>\r\n } @else if(placeholder()) {\r\n <span class=\"lat-lookup-palceholder\">{{ placeholder() }}</span>\r\n }\r\n</div>\r\n\r\n@if (!readonly()) {\r\n <div class=\"lat-lookup-controls\">\r\n <lat-button tabindex=\"-1\" variant=\"inherit\" [size]=\"size()\" [disabled]=\"disabled()\">\r\n <lat-icon name=\"link\"/>\r\n </lat-button>\r\n </div>\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;AAWO,MAAM,eAAe,GAAmB,MAAK;AAClD,IAAA,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC;AACtE;AAEO,MAAM,iBAAiB,GAAmB,CAAC,KAAK,KAAK,KAAK,CAAC,QAAQ;AAmBpE,MAAO,eAAyB,SAAQ,eAAkB,CAAA;AACrD,IAAA,OAAO,GAAG,KAAK,CAAiB,eAAe,mDAAC;AAChD,IAAA,SAAS,GAAG,KAAK,CAAiB,iBAAiB,qDAAC;IAE7D,QAAQ,GAAA;AACN,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE;AAE7B,QAAA,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACvD;;AAGS,IAAA,cAAc,CAAC,KAAc,EAAA;AACpC,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE;AAElC,QAAA,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE;IACtE;uGAfW,eAAe,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAf,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,MAAA,EAAA,UAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,YAAA,EAAA,EAAA,EAAA,SAAA,EAXf;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,eAAe;AACxB,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,eAAe,CAAC;AAC/C,aAAA;AACF,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC5BH,4eAeA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDGY,eAAe,EAAA,QAAA,EAAA,
|
|
1
|
+
{"version":3,"file":"latitude-ui-widgets-lookup.mjs","sources":["../../../../packages/widgets/lookup/lib/lookup.component.ts","../../../../packages/widgets/lookup/lib/lookup.component.html","../../../../packages/widgets/lookup/latitude-ui-widgets-lookup.ts"],"sourcesContent":["import { Observable } from 'rxjs';\r\n\r\nimport { ChangeDetectionStrategy, Component, forwardRef, input, ViewEncapsulation } from '@angular/core';\r\n\r\nimport { HTMLFormControl } from '@latitude-ui/widgets/core';\r\nimport { ButtonComponent } from '@latitude-ui/widgets/button';\r\nimport { IconComponent } from '@latitude-ui/widgets/icons';\r\n\r\nexport type ValueStringify = (value: any) => string;\r\nexport type PopoverOverlay = () => Observable<any | null>;\r\n\r\nexport const DEFAULT_POPOVER: PopoverOverlay = () => {\r\n throw new Error('[lat-lookup]: PopoverOverlay() is not implemented');\r\n};\r\n\r\nexport const DEFAULT_STRINGIFY: ValueStringify = (value) => value.toString();\r\n\r\n@Component({\r\n imports: [ButtonComponent, IconComponent],\r\n selector: 'lat-lookup',\r\n templateUrl: './lookup.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: HTMLFormControl,\r\n useExisting: forwardRef(() => LookupComponent),\r\n },\r\n ],\r\n host: {\r\n role: 'combobox',\r\n '(click)': \"onSelect()\"\r\n },\r\n})\r\nexport class LookupComponent<T = any> extends HTMLFormControl<T> {\r\n readonly popover = input<PopoverOverlay>(DEFAULT_POPOVER);\r\n readonly stringify = input<ValueStringify>(DEFAULT_STRINGIFY);\r\n\r\n onSelect() {\r\n const taskFn = this.popover();\r\n\r\n taskFn().subscribe((value) => this.writeValue(value));\r\n }\r\n\r\n /** @internal */\r\n override valueStringify(value: unknown): string {\r\n const stringify = this.stringify();\r\n\r\n return value !== null && value !== undefined ? stringify(value) : '';\r\n }\r\n\r\n}\r\n","<div class=\"lat-lookup-values\">\r\n @if(value()) {\r\n <span class=\"lat-lookup-value\">{{ valueAsString() }}</span>\r\n } @else if(placeholder()) {\r\n <span class=\"lat-lookup-palceholder\">{{ placeholder() }}</span>\r\n }\r\n</div>\r\n\r\n@if (!readonly()) {\r\n <div class=\"lat-lookup-controls\">\r\n <lat-button tabindex=\"-1\" variant=\"inherit\" [size]=\"size()\" [disabled]=\"disabled()\">\r\n <lat-icon name=\"link\"/>\r\n </lat-button>\r\n </div>\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;AAWO,MAAM,eAAe,GAAmB,MAAK;AAClD,IAAA,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC;AACtE;AAEO,MAAM,iBAAiB,GAAmB,CAAC,KAAK,KAAK,KAAK,CAAC,QAAQ;AAmBpE,MAAO,eAAyB,SAAQ,eAAkB,CAAA;AACrD,IAAA,OAAO,GAAG,KAAK,CAAiB,eAAe,mDAAC;AAChD,IAAA,SAAS,GAAG,KAAK,CAAiB,iBAAiB,qDAAC;IAE7D,QAAQ,GAAA;AACN,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE;AAE7B,QAAA,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACvD;;AAGS,IAAA,cAAc,CAAC,KAAc,EAAA;AACpC,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE;AAElC,QAAA,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE;IACtE;uGAfW,eAAe,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAf,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,MAAA,EAAA,UAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,YAAA,EAAA,EAAA,EAAA,SAAA,EAXf;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,eAAe;AACxB,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,eAAe,CAAC;AAC/C,aAAA;AACF,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC5BH,4eAeA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDGY,eAAe,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,SAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,aAAa,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,KAAA,EAAA,MAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAgB7B,eAAe,EAAA,UAAA,EAAA,CAAA;kBAjB3B,SAAS;AACC,YAAA,IAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAC,eAAe,EAAE,aAAa,CAAC,YAC/B,YAAY,EAAA,aAAA,EAEP,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,SAAA,EACpC;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,eAAe;AACxB,4BAAA,WAAW,EAAE,UAAU,CAAC,qBAAqB,CAAC;AAC/C,yBAAA;qBACF,EAAA,IAAA,EACK;AACJ,wBAAA,IAAI,EAAE,UAAU;AAChB,wBAAA,SAAS,EAAE;AACZ,qBAAA,EAAA,QAAA,EAAA,4eAAA,EAAA;;;AEhCH;;AAEG;;;;"}
|
|
@@ -168,7 +168,7 @@ class SelectTriggerComponent {
|
|
|
168
168
|
});
|
|
169
169
|
}
|
|
170
170
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: SelectTriggerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
171
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.3", type: SelectTriggerComponent, isStandalone: true, selector: "lat-select-trigger", host: { attributes: { "role": "combobox" }, listeners: { "click": "select.toggle()" }, properties: { "attr.size": "select.size()" } }, exportAs: ["latSelectTrigger"], ngImport: i0, template: "<ng-content select=\"lat-select-values\" />\n\n@if (!select.readonly()) {\n <div class=\"lat-select-control\">\n <lat-button tabindex=\"-1\" variant=\"inherit\" [size]=\"select.size()\" [disabled]=\"select.disabled()\">\n <lat-icon [name]=\"select._overlayState() ? 'chevron-up' : 'chevron-down'\"/>\n </lat-button>\n </div>\n}\n\n", dependencies: [{ kind: "component", type: ButtonComponent, selector: "lat-button
|
|
171
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.3", type: SelectTriggerComponent, isStandalone: true, selector: "lat-select-trigger", host: { attributes: { "role": "combobox" }, listeners: { "click": "select.toggle()" }, properties: { "attr.size": "select.size()" } }, exportAs: ["latSelectTrigger"], ngImport: i0, template: "<ng-content select=\"lat-select-values\" />\n\n@if (!select.readonly()) {\n <div class=\"lat-select-control\">\n <lat-button tabindex=\"-1\" variant=\"inherit\" [size]=\"select.size()\" [disabled]=\"select.disabled()\">\n <lat-icon [name]=\"select._overlayState() ? 'chevron-up' : 'chevron-down'\"/>\n </lat-button>\n </div>\n}\n\n", dependencies: [{ kind: "component", type: ButtonComponent, selector: "lat-button", inputs: ["role", "size", "variant", "disabled", "tabindex"], exportAs: ["latButton"] }, { kind: "component", type: IconComponent, selector: "lat-icon", inputs: ["url", "name"], exportAs: ["latIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
172
172
|
}
|
|
173
173
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: SelectTriggerComponent, decorators: [{
|
|
174
174
|
type: Component,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"latitude-ui-widgets-select.mjs","sources":["../../../../packages/widgets/select/lib/select-option/select-option.component.ts","../../../../packages/widgets/select/lib/select-option/select-option.component.html","../../../../packages/widgets/select/lib/select-option/select-option.directive.ts","../../../../packages/widgets/select/lib/select/select.directive.ts","../../../../packages/widgets/select/lib/select-dropdown/select-dropdown.component.ts","../../../../packages/widgets/select/lib/select-dropdown/select-dropdown.component.html","../../../../packages/widgets/select/lib/select-trigger/select-trigger.component.ts","../../../../packages/widgets/select/lib/select-trigger/select-trigger.component.html","../../../../packages/widgets/select/lib/select-value/select-value.component.ts","../../../../packages/widgets/select/lib/select-value/select-value.component.html","../../../../packages/widgets/select/lib/select-values/select-values.component.ts","../../../../packages/widgets/select/lib/select-values/select-values.component.html","../../../../packages/widgets/select/lib/select-multiple.component.ts","../../../../packages/widgets/select/lib/select/select.component.html","../../../../packages/widgets/select/lib/select-single.component.ts","../../../../packages/widgets/select/latitude-ui-widgets-select.ts"],"sourcesContent":["import {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n forwardRef,\n input,\n ViewEncapsulation,\n} from '@angular/core';\n\nimport { SelectOptionDirective } from './select-option.directive';\n\n\n@Component({\n exportAs: 'latSelectOption',\n selector: 'lat-select-option',\n templateUrl: './select-option.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [\n {\n directive: forwardRef(() => SelectOptionDirective),\n },\n ],\n})\nexport class SelectOptionComponent<T> {\n readonly value = input.required<T>();\n readonly label = input.required<string>();\n\n readonly hidden = input<boolean, unknown>(false, { transform: booleanAttribute });\n readonly disabled = input<boolean, unknown>(false, { transform: booleanAttribute });\n}\n","\n","import { computed, Directive, inject } from '@angular/core';\n\nimport { SelectDirective } from '../select/select.directive';\nimport { SelectOptionComponent } from './select-option.component';\n\n@Directive()\nexport class SelectOptionDirective<T> {\n readonly select = inject(SelectDirective<T, T | T[]>);\n readonly option = inject(SelectOptionComponent<T>, { host: true });\n\n readonly value = computed(() => this.option.value());\n readonly label = computed(() => this.option.label());\n readonly hidden = computed(() => this.option.hidden());\n readonly disabled = computed(() => this.option.disabled());\n\n readonly selected = computed(() => this.select.selected().includes(this.value()));\n}\n","import { delay, of, switchMap } from 'rxjs';\r\n\r\nimport { takeUntilDestroyed, toObservable, toSignal } from '@angular/core/rxjs-interop';\r\nimport { booleanAttribute, computed, contentChildren, Directive, input, Signal, signal } from '@angular/core';\r\n\r\nimport { ConnectedOverlayPositionChange, ConnectedPosition } from '@angular/cdk/overlay';\r\n\r\nimport { HTMLFormControl } from '@latitude-ui/widgets/core';\r\n\r\nimport { SelectOptionDirective } from '../select-option/select-option.directive';\r\n\r\nexport type SelectMode = 'popover' | 'dialog' ;\r\n\r\n@Directive()\r\nexport abstract class SelectDirective<T, TValue> extends HTMLFormControl<TValue> {\r\n readonly mode = input<SelectMode>('popover');\r\n readonly searchable = input<boolean, unknown>(false, { transform: booleanAttribute });\r\n\r\n readonly contentChildren = contentChildren<SelectOptionDirective<T>>(SelectOptionDirective);\r\n\r\n /** @internal */\r\n readonly _overlayWidth = signal<number>(0);\r\n\r\n /** @internal */\r\n readonly _overlayState = signal<boolean>(false);\r\n\r\n /** @internal */\r\n readonly _overlayExpanded = toSignal(\r\n toObservable(this._overlayState).pipe(\r\n switchMap((state) => {\r\n return state ? of(state) : of(state).pipe(delay(100));\r\n }),\r\n takeUntilDestroyed()\r\n ),\r\n { initialValue: false }\r\n );\r\n\r\n /** @internal */\r\n readonly _overlayPositions = signal<ConnectedPosition[]>([\r\n {\r\n originX: 'start',\r\n originY: 'bottom',\r\n overlayX: 'start',\r\n overlayY: 'top'\r\n },\r\n {\r\n originX: 'end',\r\n originY: 'bottom',\r\n overlayX: 'end',\r\n overlayY: 'top'\r\n },\r\n {\r\n originX: 'start',\r\n originY: 'top',\r\n overlayX: 'start',\r\n overlayY: 'bottom'\r\n },\r\n {\r\n originX: 'end',\r\n originY: 'top',\r\n overlayX: 'end',\r\n overlayY: 'bottom'\r\n }\r\n ]);\r\n\r\n /** @internal */\r\n readonly _overlayPositionSide = signal<'top' | 'bottom' | 'left' | 'right'>('bottom');\r\n\r\n /** @internal */\r\n readonly _indexes = computed(() => {\r\n const children = this.contentChildren();\r\n\r\n return new Map(children.map((option) => [option.value(), option]));\r\n });\r\n\r\n /** @internal */\r\n readonly _selected = computed(() => {\r\n const selected = this.selected();\r\n\r\n const indexes = this._indexes();\r\n\r\n return selected\r\n .filter((value) => indexes.has(value))\r\n .map((value) => indexes.get(value)) as SelectOptionDirective<T>[];\r\n });\r\n\r\n public hide() {\r\n if (!this._overlayState()) {\r\n return void 0;\r\n }\r\n\r\n this._overlayState.set(false);\r\n\r\n this.markAsTouched();\r\n }\r\n\r\n public open() {\r\n if (this._overlayState() || this.disabled() || this.contentChildren().length === 0) {\r\n return void 0;\r\n }\r\n\r\n this._overlayState.set(true);\r\n }\r\n\r\n public toggle(): void {\r\n if (this._overlayState()) {\r\n this.hide();\r\n } else {\r\n this.open();\r\n }\r\n }\r\n\r\n /** @internal */\r\n protected updateOverlayPositionSide({ connectionPair }: ConnectedOverlayPositionChange) {\r\n this._overlayPositionSide.update(() => {\r\n return connectionPair.originY === 'center'\r\n ? connectionPair.originX === 'start'\r\n ? 'left'\r\n : 'right'\r\n : connectionPair.originY;\r\n });\r\n }\r\n\r\n /** ABSTRACT SECTION */\r\n\r\n abstract selected: Signal<T[]>;\r\n\r\n abstract select(option: SelectOptionDirective<T>): void;\r\n}\r\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n inject,\n output,\n signal,\n untracked,\n ViewEncapsulation\n} from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { IconComponent } from '@latitude-ui/widgets/icons';\nimport { ListBoxComponent, OptionComponent } from '@latitude-ui/widgets/listbox';\nimport { TextBoxComponent } from '@latitude-ui/widgets/textbox';\n\nimport { SelectDirective } from '../select/select.directive';\nimport { SelectOptionDirective } from '../select-option/select-option.directive';\n\n\n@Component({\n imports: [IconComponent, ListBoxComponent, OptionComponent, TextBoxComponent, FormsModule],\n exportAs: 'latSelectDropDown',\n selector: 'lat-select-dropdown',\n templateUrl: './select-dropdown.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.data-side]': 'dir._overlayPositionSide()',\n },\n})\nexport class SelectDropDownComponent<T> {\n readonly dir = inject(SelectDirective);\n\n readonly selection = output<SelectOptionDirective<T>>();\n\n readonly search = signal('');\n readonly options = computed(() => {\n const options = this.dir.contentChildren();\n\n const search = this.search()\n const searchRegExp = search.length ? new RegExp(`.*${search}*.`, 'i') : null\n\n return untracked(() => (searchRegExp ? options.filter((option) => option.label().match(searchRegExp)) : options));\n });\n\n}\n","@if (dir.searchable()) {\n <lat-textbox [autofocus]=\"true\" [(ngModel)]=\"search\" />\n}\n\n<lat-listbox [style.width.px]=\"dir._overlayWidth()\" [attr.data-side]=\"dir._overlayPositionSide()\">\n @for (option of options(); track option.value()) {\n <lat-option\n [label]=\"option.label()\"\n [value]=\"option.value()\"\n [disabled]=\"option.disabled()\"\n [setsize]=\"$count\"\n [posinset]=\"$index\"\n (click)=\"selection.emit(option)\"\n >\n @if (option.selected()) {\n <lat-icon name=\"check\" />\n }\n <span>{{ option.label() }}</span>\n </lat-option>\n }\n</lat-listbox>\n","import {\n afterRenderEffect,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n inject,\n ViewEncapsulation,\n} from '@angular/core';\n\nimport { ButtonComponent } from '@latitude-ui/widgets/button';\nimport { IconComponent } from '@latitude-ui/widgets/icons';\n\nimport { SelectDirective } from '../select/select.directive';\n\n\n@Component({\n imports: [ButtonComponent, IconComponent],\n exportAs: 'latSelectTrigger',\n selector: 'lat-select-trigger',\n templateUrl: './select-trigger.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n role: 'combobox',\n '[attr.size]': 'select.size()',\n '(click)': 'select.toggle()',\n },\n})\nexport class SelectTriggerComponent {\n readonly el = inject(ElementRef<HTMLElement>).nativeElement;\n readonly select = inject(SelectDirective);\n\n constructor() {\n afterRenderEffect((onCleanup) => {\n const observer = new ResizeObserver(() => {\n this.select._overlayWidth.set(this.el.offsetWidth);\n });\n\n observer.observe(this.el);\n\n onCleanup(() => observer.disconnect());\n });\n }\n}\n","<ng-content select=\"lat-select-values\" />\n\n@if (!select.readonly()) {\n <div class=\"lat-select-control\">\n <lat-button tabindex=\"-1\" variant=\"inherit\" [size]=\"select.size()\" [disabled]=\"select.disabled()\">\n <lat-icon [name]=\"select._overlayState() ? 'chevron-up' : 'chevron-down'\"/>\n </lat-button>\n </div>\n}\n\n","import { ChangeDetectionStrategy, Component, inject, ViewEncapsulation } from '@angular/core';\n\nimport { SelectDirective } from '../select/select.directive';\n\n\n@Component({\n exportAs: 'latSelectValue',\n selector: 'lat-select-value',\n templateUrl: './select-value.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n role: 'listitem'\n },\n})\nexport class SelectValueComponent {\n readonly select = inject(SelectDirective);\n}\n","<span>\n <ng-content />\n</span>\n","import { ChangeDetectionStrategy, Component, inject, ViewEncapsulation } from '@angular/core';\n\nimport { SelectDirective } from '../select/select.directive';\nimport { SelectValueComponent } from '../select-value/select-value.component';\n\n\n@Component({\n imports: [SelectValueComponent],\n exportAs: 'latSelectValues',\n selector: 'lat-select-values',\n templateUrl: './select-values.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n role: 'list'\n },\n})\nexport class SelectValuesComponent {\n readonly select = inject(SelectDirective);\n}\n","@for (option of select._selected(); track option.value()) {\n <lat-select-value>\n {{ option.label() }}\n </lat-select-value>\n} @empty {\n {{ select.placeholder() }}\n}\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n computed,\r\n forwardRef,\r\n input,\r\n numberAttribute,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\n\r\nimport { CdkConnectedOverlay, CdkOverlayOrigin } from '@angular/cdk/overlay';\r\n\r\nimport { HTMLFormControl } from '@latitude-ui/widgets/core';\r\n\r\nimport { SelectDirective } from './select/select.directive';\r\n\r\nimport { SelectDropDownComponent } from './select-dropdown/select-dropdown.component';\r\nimport { SelectTriggerComponent } from './select-trigger/select-trigger.component';\r\nimport { SelectOptionDirective } from './select-option/select-option.directive';\r\nimport { SelectValuesComponent } from './select-values/select-values.component';\r\n\r\n@Component({\r\n imports: [\r\n CdkOverlayOrigin,\r\n CdkConnectedOverlay,\r\n SelectDropDownComponent,\r\n SelectTriggerComponent,\r\n SelectValuesComponent,\r\n ],\r\n exportAs: 'latSelect',\r\n selector: 'lat-select[type=\"multiple\"]',\r\n templateUrl: './select/select.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: SelectDirective,\r\n useExisting: forwardRef(() => SelectMultipleComponent),\r\n },\r\n {\r\n provide: HTMLFormControl,\r\n useExisting: forwardRef(() => SelectMultipleComponent),\r\n },\r\n ],\r\n})\r\nexport class SelectMultipleComponent<T> extends SelectDirective<T, T[]> {\r\n readonly maxlength = input<number, unknown>(Number.MAX_SAFE_INTEGER, { transform: numberAttribute });\r\n\r\n public override selected = computed(() => {\r\n const value = this.value();\r\n\r\n return (value ? (Array.isArray(value) ? value : [value]) : []) as T[];\r\n });\r\n\r\n public override select(option: SelectOptionDirective<T>): void {\r\n const selected = this.selected().slice();\r\n\r\n if (selected.length >= this.maxlength()) {\r\n return void 0;\r\n }\r\n\r\n const index = selected.findIndex((value) => value === option.value());\r\n\r\n if (index === -1) {\r\n selected.push(option.value());\r\n } else {\r\n selected.splice(index, 1);\r\n }\r\n\r\n this.writeValue(selected);\r\n }\r\n}\r\n","@if(mode() === 'popover') {\n <lat-select-trigger cdkOverlayOrigin #trigger=\"cdkOverlayOrigin\">\n <lat-select-values />\n </lat-select-trigger>\n\n <ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayHasBackdrop\n cdkConnectedOverlayLockPosition\n cdkConnectedOverlayPanelClass=\"lat-select-dropdown\"\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayOpen]=\"_overlayExpanded()\"\n [cdkConnectedOverlayWidth]=\"_overlayWidth() > 0 ? _overlayWidth() : 'auto'\"\n [cdkConnectedOverlayPositions]=\"_overlayPositions()\"\n (detach)=\"hide()\"\n (backdropClick)=\"hide()\"\n (positionChange)=\"updateOverlayPositionSide($event)\"\n >\n <lat-select-dropdown (selection)=\"select($event)\" />\n </ng-template>\n} @else {\n <lat-select-trigger>\n <lat-select-values />\n </lat-select-trigger>\n}\n","import {\r\n booleanAttribute,\r\n ChangeDetectionStrategy,\r\n Component,\r\n computed, forwardRef,\r\n input,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\n\r\nimport { CdkConnectedOverlay, CdkOverlayOrigin } from '@angular/cdk/overlay';\r\n\r\nimport { HTMLFormControl } from '@latitude-ui/widgets/core';\r\n\r\nimport { SelectDirective } from './select/select.directive';\r\n\r\nimport { SelectDropDownComponent } from './select-dropdown/select-dropdown.component';\r\nimport { SelectOptionDirective } from './select-option/select-option.directive';\r\nimport { SelectTriggerComponent } from './select-trigger/select-trigger.component';\r\nimport { SelectValuesComponent } from './select-values/select-values.component';\r\n\r\n\r\n@Component({\r\n imports: [\r\n CdkOverlayOrigin,\r\n CdkConnectedOverlay,\r\n SelectDropDownComponent,\r\n SelectTriggerComponent,\r\n SelectValuesComponent,\r\n ],\r\n exportAs: 'latSelect',\r\n selector: 'lat-select[type=\"single\"]',\r\n templateUrl: './select/select.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: SelectDirective,\r\n useExisting: forwardRef(() => SelectSingleComponent),\r\n },\r\n {\r\n provide: HTMLFormControl,\r\n useExisting: forwardRef(() => SelectSingleComponent),\r\n },\r\n ],\r\n})\r\nexport class SelectSingleComponent<T> extends SelectDirective<T, T> {\r\n readonly nullable = input<unknown, boolean>(true, { transform: booleanAttribute });\r\n\r\n public override selected = computed(() => {\r\n const value = this.value();\r\n return (value === undefined ? [] : [value]) as T[];\r\n });\r\n\r\n public override select(option: SelectOptionDirective<T>): void {\r\n const value = this.nullable() ? (option.selected() ? null : option.value()) : option.value();\r\n\r\n this.writeValue(value);\r\n this.hide();\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"latitude-ui-widgets-select.mjs","sources":["../../../../packages/widgets/select/lib/select-option/select-option.component.ts","../../../../packages/widgets/select/lib/select-option/select-option.component.html","../../../../packages/widgets/select/lib/select-option/select-option.directive.ts","../../../../packages/widgets/select/lib/select/select.directive.ts","../../../../packages/widgets/select/lib/select-dropdown/select-dropdown.component.ts","../../../../packages/widgets/select/lib/select-dropdown/select-dropdown.component.html","../../../../packages/widgets/select/lib/select-trigger/select-trigger.component.ts","../../../../packages/widgets/select/lib/select-trigger/select-trigger.component.html","../../../../packages/widgets/select/lib/select-value/select-value.component.ts","../../../../packages/widgets/select/lib/select-value/select-value.component.html","../../../../packages/widgets/select/lib/select-values/select-values.component.ts","../../../../packages/widgets/select/lib/select-values/select-values.component.html","../../../../packages/widgets/select/lib/select-multiple.component.ts","../../../../packages/widgets/select/lib/select/select.component.html","../../../../packages/widgets/select/lib/select-single.component.ts","../../../../packages/widgets/select/latitude-ui-widgets-select.ts"],"sourcesContent":["import {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n forwardRef,\n input,\n ViewEncapsulation,\n} from '@angular/core';\n\nimport { SelectOptionDirective } from './select-option.directive';\n\n\n@Component({\n exportAs: 'latSelectOption',\n selector: 'lat-select-option',\n templateUrl: './select-option.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [\n {\n directive: forwardRef(() => SelectOptionDirective),\n },\n ],\n})\nexport class SelectOptionComponent<T> {\n readonly value = input.required<T>();\n readonly label = input.required<string>();\n\n readonly hidden = input<boolean, unknown>(false, { transform: booleanAttribute });\n readonly disabled = input<boolean, unknown>(false, { transform: booleanAttribute });\n}\n","\n","import { computed, Directive, inject } from '@angular/core';\n\nimport { SelectDirective } from '../select/select.directive';\nimport { SelectOptionComponent } from './select-option.component';\n\n@Directive()\nexport class SelectOptionDirective<T> {\n readonly select = inject(SelectDirective<T, T | T[]>);\n readonly option = inject(SelectOptionComponent<T>, { host: true });\n\n readonly value = computed(() => this.option.value());\n readonly label = computed(() => this.option.label());\n readonly hidden = computed(() => this.option.hidden());\n readonly disabled = computed(() => this.option.disabled());\n\n readonly selected = computed(() => this.select.selected().includes(this.value()));\n}\n","import { delay, of, switchMap } from 'rxjs';\r\n\r\nimport { takeUntilDestroyed, toObservable, toSignal } from '@angular/core/rxjs-interop';\r\nimport { booleanAttribute, computed, contentChildren, Directive, input, Signal, signal } from '@angular/core';\r\n\r\nimport { ConnectedOverlayPositionChange, ConnectedPosition } from '@angular/cdk/overlay';\r\n\r\nimport { HTMLFormControl } from '@latitude-ui/widgets/core';\r\n\r\nimport { SelectOptionDirective } from '../select-option/select-option.directive';\r\n\r\nexport type SelectMode = 'popover' | 'dialog' ;\r\n\r\n@Directive()\r\nexport abstract class SelectDirective<T, TValue> extends HTMLFormControl<TValue> {\r\n readonly mode = input<SelectMode>('popover');\r\n readonly searchable = input<boolean, unknown>(false, { transform: booleanAttribute });\r\n\r\n readonly contentChildren = contentChildren<SelectOptionDirective<T>>(SelectOptionDirective);\r\n\r\n /** @internal */\r\n readonly _overlayWidth = signal<number>(0);\r\n\r\n /** @internal */\r\n readonly _overlayState = signal<boolean>(false);\r\n\r\n /** @internal */\r\n readonly _overlayExpanded = toSignal(\r\n toObservable(this._overlayState).pipe(\r\n switchMap((state) => {\r\n return state ? of(state) : of(state).pipe(delay(100));\r\n }),\r\n takeUntilDestroyed()\r\n ),\r\n { initialValue: false }\r\n );\r\n\r\n /** @internal */\r\n readonly _overlayPositions = signal<ConnectedPosition[]>([\r\n {\r\n originX: 'start',\r\n originY: 'bottom',\r\n overlayX: 'start',\r\n overlayY: 'top'\r\n },\r\n {\r\n originX: 'end',\r\n originY: 'bottom',\r\n overlayX: 'end',\r\n overlayY: 'top'\r\n },\r\n {\r\n originX: 'start',\r\n originY: 'top',\r\n overlayX: 'start',\r\n overlayY: 'bottom'\r\n },\r\n {\r\n originX: 'end',\r\n originY: 'top',\r\n overlayX: 'end',\r\n overlayY: 'bottom'\r\n }\r\n ]);\r\n\r\n /** @internal */\r\n readonly _overlayPositionSide = signal<'top' | 'bottom' | 'left' | 'right'>('bottom');\r\n\r\n /** @internal */\r\n readonly _indexes = computed(() => {\r\n const children = this.contentChildren();\r\n\r\n return new Map(children.map((option) => [option.value(), option]));\r\n });\r\n\r\n /** @internal */\r\n readonly _selected = computed(() => {\r\n const selected = this.selected();\r\n\r\n const indexes = this._indexes();\r\n\r\n return selected\r\n .filter((value) => indexes.has(value))\r\n .map((value) => indexes.get(value)) as SelectOptionDirective<T>[];\r\n });\r\n\r\n public hide() {\r\n if (!this._overlayState()) {\r\n return void 0;\r\n }\r\n\r\n this._overlayState.set(false);\r\n\r\n this.markAsTouched();\r\n }\r\n\r\n public open() {\r\n if (this._overlayState() || this.disabled() || this.contentChildren().length === 0) {\r\n return void 0;\r\n }\r\n\r\n this._overlayState.set(true);\r\n }\r\n\r\n public toggle(): void {\r\n if (this._overlayState()) {\r\n this.hide();\r\n } else {\r\n this.open();\r\n }\r\n }\r\n\r\n /** @internal */\r\n protected updateOverlayPositionSide({ connectionPair }: ConnectedOverlayPositionChange) {\r\n this._overlayPositionSide.update(() => {\r\n return connectionPair.originY === 'center'\r\n ? connectionPair.originX === 'start'\r\n ? 'left'\r\n : 'right'\r\n : connectionPair.originY;\r\n });\r\n }\r\n\r\n /** ABSTRACT SECTION */\r\n\r\n abstract selected: Signal<T[]>;\r\n\r\n abstract select(option: SelectOptionDirective<T>): void;\r\n}\r\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n inject,\n output,\n signal,\n untracked,\n ViewEncapsulation\n} from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { IconComponent } from '@latitude-ui/widgets/icons';\nimport { ListBoxComponent, OptionComponent } from '@latitude-ui/widgets/listbox';\nimport { TextBoxComponent } from '@latitude-ui/widgets/textbox';\n\nimport { SelectDirective } from '../select/select.directive';\nimport { SelectOptionDirective } from '../select-option/select-option.directive';\n\n\n@Component({\n imports: [IconComponent, ListBoxComponent, OptionComponent, TextBoxComponent, FormsModule],\n exportAs: 'latSelectDropDown',\n selector: 'lat-select-dropdown',\n templateUrl: './select-dropdown.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.data-side]': 'dir._overlayPositionSide()',\n },\n})\nexport class SelectDropDownComponent<T> {\n readonly dir = inject(SelectDirective);\n\n readonly selection = output<SelectOptionDirective<T>>();\n\n readonly search = signal('');\n readonly options = computed(() => {\n const options = this.dir.contentChildren();\n\n const search = this.search()\n const searchRegExp = search.length ? new RegExp(`.*${search}*.`, 'i') : null\n\n return untracked(() => (searchRegExp ? options.filter((option) => option.label().match(searchRegExp)) : options));\n });\n\n}\n","@if (dir.searchable()) {\n <lat-textbox [autofocus]=\"true\" [(ngModel)]=\"search\" />\n}\n\n<lat-listbox [style.width.px]=\"dir._overlayWidth()\" [attr.data-side]=\"dir._overlayPositionSide()\">\n @for (option of options(); track option.value()) {\n <lat-option\n [label]=\"option.label()\"\n [value]=\"option.value()\"\n [disabled]=\"option.disabled()\"\n [setsize]=\"$count\"\n [posinset]=\"$index\"\n (click)=\"selection.emit(option)\"\n >\n @if (option.selected()) {\n <lat-icon name=\"check\" />\n }\n <span>{{ option.label() }}</span>\n </lat-option>\n }\n</lat-listbox>\n","import {\n afterRenderEffect,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n inject,\n ViewEncapsulation,\n} from '@angular/core';\n\nimport { ButtonComponent } from '@latitude-ui/widgets/button';\nimport { IconComponent } from '@latitude-ui/widgets/icons';\n\nimport { SelectDirective } from '../select/select.directive';\n\n\n@Component({\n imports: [ButtonComponent, IconComponent],\n exportAs: 'latSelectTrigger',\n selector: 'lat-select-trigger',\n templateUrl: './select-trigger.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n role: 'combobox',\n '[attr.size]': 'select.size()',\n '(click)': 'select.toggle()',\n },\n})\nexport class SelectTriggerComponent {\n readonly el = inject(ElementRef<HTMLElement>).nativeElement;\n readonly select = inject(SelectDirective);\n\n constructor() {\n afterRenderEffect((onCleanup) => {\n const observer = new ResizeObserver(() => {\n this.select._overlayWidth.set(this.el.offsetWidth);\n });\n\n observer.observe(this.el);\n\n onCleanup(() => observer.disconnect());\n });\n }\n}\n","<ng-content select=\"lat-select-values\" />\n\n@if (!select.readonly()) {\n <div class=\"lat-select-control\">\n <lat-button tabindex=\"-1\" variant=\"inherit\" [size]=\"select.size()\" [disabled]=\"select.disabled()\">\n <lat-icon [name]=\"select._overlayState() ? 'chevron-up' : 'chevron-down'\"/>\n </lat-button>\n </div>\n}\n\n","import { ChangeDetectionStrategy, Component, inject, ViewEncapsulation } from '@angular/core';\n\nimport { SelectDirective } from '../select/select.directive';\n\n\n@Component({\n exportAs: 'latSelectValue',\n selector: 'lat-select-value',\n templateUrl: './select-value.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n role: 'listitem'\n },\n})\nexport class SelectValueComponent {\n readonly select = inject(SelectDirective);\n}\n","<span>\n <ng-content />\n</span>\n","import { ChangeDetectionStrategy, Component, inject, ViewEncapsulation } from '@angular/core';\n\nimport { SelectDirective } from '../select/select.directive';\nimport { SelectValueComponent } from '../select-value/select-value.component';\n\n\n@Component({\n imports: [SelectValueComponent],\n exportAs: 'latSelectValues',\n selector: 'lat-select-values',\n templateUrl: './select-values.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n role: 'list'\n },\n})\nexport class SelectValuesComponent {\n readonly select = inject(SelectDirective);\n}\n","@for (option of select._selected(); track option.value()) {\n <lat-select-value>\n {{ option.label() }}\n </lat-select-value>\n} @empty {\n {{ select.placeholder() }}\n}\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n computed,\r\n forwardRef,\r\n input,\r\n numberAttribute,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\n\r\nimport { CdkConnectedOverlay, CdkOverlayOrigin } from '@angular/cdk/overlay';\r\n\r\nimport { HTMLFormControl } from '@latitude-ui/widgets/core';\r\n\r\nimport { SelectDirective } from './select/select.directive';\r\n\r\nimport { SelectDropDownComponent } from './select-dropdown/select-dropdown.component';\r\nimport { SelectTriggerComponent } from './select-trigger/select-trigger.component';\r\nimport { SelectOptionDirective } from './select-option/select-option.directive';\r\nimport { SelectValuesComponent } from './select-values/select-values.component';\r\n\r\n@Component({\r\n imports: [\r\n CdkOverlayOrigin,\r\n CdkConnectedOverlay,\r\n SelectDropDownComponent,\r\n SelectTriggerComponent,\r\n SelectValuesComponent,\r\n ],\r\n exportAs: 'latSelect',\r\n selector: 'lat-select[type=\"multiple\"]',\r\n templateUrl: './select/select.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: SelectDirective,\r\n useExisting: forwardRef(() => SelectMultipleComponent),\r\n },\r\n {\r\n provide: HTMLFormControl,\r\n useExisting: forwardRef(() => SelectMultipleComponent),\r\n },\r\n ],\r\n})\r\nexport class SelectMultipleComponent<T> extends SelectDirective<T, T[]> {\r\n readonly maxlength = input<number, unknown>(Number.MAX_SAFE_INTEGER, { transform: numberAttribute });\r\n\r\n public override selected = computed(() => {\r\n const value = this.value();\r\n\r\n return (value ? (Array.isArray(value) ? value : [value]) : []) as T[];\r\n });\r\n\r\n public override select(option: SelectOptionDirective<T>): void {\r\n const selected = this.selected().slice();\r\n\r\n if (selected.length >= this.maxlength()) {\r\n return void 0;\r\n }\r\n\r\n const index = selected.findIndex((value) => value === option.value());\r\n\r\n if (index === -1) {\r\n selected.push(option.value());\r\n } else {\r\n selected.splice(index, 1);\r\n }\r\n\r\n this.writeValue(selected);\r\n }\r\n}\r\n","@if(mode() === 'popover') {\n <lat-select-trigger cdkOverlayOrigin #trigger=\"cdkOverlayOrigin\">\n <lat-select-values />\n </lat-select-trigger>\n\n <ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayHasBackdrop\n cdkConnectedOverlayLockPosition\n cdkConnectedOverlayPanelClass=\"lat-select-dropdown\"\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayOpen]=\"_overlayExpanded()\"\n [cdkConnectedOverlayWidth]=\"_overlayWidth() > 0 ? _overlayWidth() : 'auto'\"\n [cdkConnectedOverlayPositions]=\"_overlayPositions()\"\n (detach)=\"hide()\"\n (backdropClick)=\"hide()\"\n (positionChange)=\"updateOverlayPositionSide($event)\"\n >\n <lat-select-dropdown (selection)=\"select($event)\" />\n </ng-template>\n} @else {\n <lat-select-trigger>\n <lat-select-values />\n </lat-select-trigger>\n}\n","import {\r\n booleanAttribute,\r\n ChangeDetectionStrategy,\r\n Component,\r\n computed, forwardRef,\r\n input,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\n\r\nimport { CdkConnectedOverlay, CdkOverlayOrigin } from '@angular/cdk/overlay';\r\n\r\nimport { HTMLFormControl } from '@latitude-ui/widgets/core';\r\n\r\nimport { SelectDirective } from './select/select.directive';\r\n\r\nimport { SelectDropDownComponent } from './select-dropdown/select-dropdown.component';\r\nimport { SelectOptionDirective } from './select-option/select-option.directive';\r\nimport { SelectTriggerComponent } from './select-trigger/select-trigger.component';\r\nimport { SelectValuesComponent } from './select-values/select-values.component';\r\n\r\n\r\n@Component({\r\n imports: [\r\n CdkOverlayOrigin,\r\n CdkConnectedOverlay,\r\n SelectDropDownComponent,\r\n SelectTriggerComponent,\r\n SelectValuesComponent,\r\n ],\r\n exportAs: 'latSelect',\r\n selector: 'lat-select[type=\"single\"]',\r\n templateUrl: './select/select.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: SelectDirective,\r\n useExisting: forwardRef(() => SelectSingleComponent),\r\n },\r\n {\r\n provide: HTMLFormControl,\r\n useExisting: forwardRef(() => SelectSingleComponent),\r\n },\r\n ],\r\n})\r\nexport class SelectSingleComponent<T> extends SelectDirective<T, T> {\r\n readonly nullable = input<unknown, boolean>(true, { transform: booleanAttribute });\r\n\r\n public override selected = computed(() => {\r\n const value = this.value();\r\n return (value === undefined ? [] : [value]) as T[];\r\n });\r\n\r\n public override select(option: SelectOptionDirective<T>): void {\r\n const value = this.nullable() ? (option.selected() ? null : option.value()) : option.value();\r\n\r\n this.writeValue(value);\r\n this.hide();\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -64,7 +64,7 @@ class TabsComponent {
|
|
|
64
64
|
this.selected.set(tab);
|
|
65
65
|
}
|
|
66
66
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: TabsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
67
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.3", type: TabsComponent, isStandalone: true, selector: "lat-tabs", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "tabs", predicate: TabComponent, isSignal: true }], exportAs: ["latTabs"], ngImport: i0, template: "<lat-toolbar role=\"tablist\" variant=\"inherit\">\r\n @for (tab of tabs(); track $index) {\r\n <lat-button\r\n role=\"tab\"\r\n variant=\"inherit\"\r\n [id]=\"tab.tabId()\"\r\n [tabindex]=\"tab.tabindex()\"\r\n [disabled]=\"tab.disabled()\"\r\n (click)=\"onTabChanged(tab)\"\r\n >\r\n <ng-template [ngTemplateOutlet]=\"tab.label()\" />\r\n </lat-button>\r\n }\r\n</lat-toolbar>\r\n\r\n@if (selected(); as tab) {\r\n <div\r\n role=\"tabpanel\"\r\n [attr.id]=\"tab.tabpanelId()\"\r\n [attr.aria-labelledby]=\"tab.tabId()\"\r\n >\r\n <ng-template [ngTemplateOutlet]=\"tab.content()\" />\r\n </div>\r\n} @else {\r\n <div role=\"presentation\">\r\n <!-- TODO: empty state placeholder -->\r\n </div>\r\n}\r\n\r\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ToolBarComponent, selector: "lat-toolbar", inputs: ["role", "size", "dock", "variant"], exportAs: ["latToolBar"] }, { kind: "component", type: ButtonComponent, selector: "lat-button
|
|
67
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.3", type: TabsComponent, isStandalone: true, selector: "lat-tabs", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "tabs", predicate: TabComponent, isSignal: true }], exportAs: ["latTabs"], ngImport: i0, template: "<lat-toolbar role=\"tablist\" variant=\"inherit\">\r\n @for (tab of tabs(); track $index) {\r\n <lat-button\r\n role=\"tab\"\r\n variant=\"inherit\"\r\n [id]=\"tab.tabId()\"\r\n [tabindex]=\"tab.tabindex()\"\r\n [disabled]=\"tab.disabled()\"\r\n (click)=\"onTabChanged(tab)\"\r\n >\r\n <ng-template [ngTemplateOutlet]=\"tab.label()\" />\r\n </lat-button>\r\n }\r\n</lat-toolbar>\r\n\r\n@if (selected(); as tab) {\r\n <div\r\n role=\"tabpanel\"\r\n [attr.id]=\"tab.tabpanelId()\"\r\n [attr.aria-labelledby]=\"tab.tabId()\"\r\n >\r\n <ng-template [ngTemplateOutlet]=\"tab.content()\" />\r\n </div>\r\n} @else {\r\n <div role=\"presentation\">\r\n <!-- TODO: empty state placeholder -->\r\n </div>\r\n}\r\n\r\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ToolBarComponent, selector: "lat-toolbar", inputs: ["role", "size", "dock", "variant"], exportAs: ["latToolBar"] }, { kind: "component", type: ButtonComponent, selector: "lat-button", inputs: ["role", "size", "variant", "disabled", "tabindex"], exportAs: ["latButton"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
68
68
|
}
|
|
69
69
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: TabsComponent, decorators: [{
|
|
70
70
|
type: Component,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"latitude-ui-widgets-tabs.mjs","sources":["../../../../packages/widgets/tabs/lib/tab-label.directive.ts","../../../../packages/widgets/tabs/lib/tab-content.directive.ts","../../../../packages/widgets/tabs/lib/tab.component.ts","../../../../packages/widgets/tabs/lib/tab.component.html","../../../../packages/widgets/tabs/lib/tabs.options.ts","../../../../packages/widgets/tabs/lib/tabs.component.ts","../../../../packages/widgets/tabs/lib/tabs.component.html","../../../../packages/widgets/tabs/latitude-ui-widgets-tabs.ts"],"sourcesContent":["import { Directive } from '@angular/core';\r\n\r\n\r\n@Directive({\r\n exportAs: 'latTabLabel',\r\n selector: '[latTabLabel]'\r\n})\r\nexport class TabLabelDirective {\r\n}\r\n","import { Directive } from '@angular/core';\r\n\r\n\r\n@Directive({\r\n exportAs: 'latTabContent',\r\n selector: '[latTabContent]'\r\n})\r\nexport class TabContentDirective {\r\n}\r\n","import {\r\n booleanAttribute,\r\n ChangeDetectionStrategy,\r\n Component, computed,\r\n contentChild,\r\n input, numberAttribute,\r\n TemplateRef,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\n\r\nimport { uid } from '@latitude-ui/widgets/core';\r\n\r\nimport { TabLabelDirective } from './tab-label.directive';\r\nimport { TabContentDirective } from './tab-content.directive';\r\n\r\n\r\n@Component({\r\n exportAs: 'latTab',\r\n selector: 'lat-tab',\r\n templateUrl: './tab.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class TabComponent {\r\n readonly id = input<string>(uid());\r\n readonly disabled = input<boolean, unknown>(false, { transform: booleanAttribute });\r\n readonly tabindex = input<number, unknown>(undefined, { transform: numberAttribute });\r\n\r\n readonly tabId = computed(() => `lat-tab-${this.id()}`);\r\n readonly tabpanelId = computed(() => `lat-tabpanel-${this.id()}`);\r\n\r\n readonly label = contentChild(TabLabelDirective, { read: TemplateRef });\r\n readonly content = contentChild.required(TabContentDirective, { read: TemplateRef })\r\n}\r\n","","import { InjectionToken } from '@angular/core';\r\n\r\nimport { BoxSize } from '@latitude-ui/widgets/core';\r\n\r\n\r\nexport type TabsOptions = {\r\n size: BoxSize;\r\n variant: 'default' | 'inherit' | ({} & string);\r\n}\r\n\r\nexport const TABS_OPTIONS = new InjectionToken<TabsOptions>(\r\n ngDevMode ? 'TABS_OPTIONS' : '',\r\n {\r\n factory: () => {\r\n return {\r\n size: 'md',\r\n variant: 'default',\r\n }\r\n }\r\n }\r\n);\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n contentChildren,\r\n inject, input,\r\n linkedSignal,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport { NgTemplateOutlet } from '@angular/common';\r\n\r\nimport { ButtonComponent } from '@latitude-ui/widgets/button';\r\nimport { ToolBarComponent } from '@latitude-ui/widgets/toolbar';\r\n\r\nimport { TabComponent } from './tab.component';\r\nimport { TABS_OPTIONS, TabsOptions } from './tabs.options';\r\n\r\n\r\n@Component({\r\n imports: [\r\n NgTemplateOutlet,\r\n ToolBarComponent,\r\n ButtonComponent\r\n ],\r\n exportAs: 'latTabs',\r\n selector: 'lat-tabs',\r\n templateUrl: './tabs.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class TabsComponent {\r\n readonly options = inject(TABS_OPTIONS);\r\n\r\n readonly size = input<TabsOptions['size']>(this.options.size);\r\n readonly variant = input<TabsOptions['variant']>(this.options.variant);\r\n\r\n readonly tabs = contentChildren(TabComponent);\r\n\r\n readonly selected = linkedSignal<TabComponent | undefined>(() => this.tabs().at(0));\r\n\r\n onTabChanged(tab: TabComponent | undefined) {\r\n this.selected.set(tab);\r\n }\r\n}\r\n","<lat-toolbar role=\"tablist\" variant=\"inherit\">\r\n @for (tab of tabs(); track $index) {\r\n <lat-button\r\n role=\"tab\"\r\n variant=\"inherit\"\r\n [id]=\"tab.tabId()\"\r\n [tabindex]=\"tab.tabindex()\"\r\n [disabled]=\"tab.disabled()\"\r\n (click)=\"onTabChanged(tab)\"\r\n >\r\n <ng-template [ngTemplateOutlet]=\"tab.label()\" />\r\n </lat-button>\r\n }\r\n</lat-toolbar>\r\n\r\n@if (selected(); as tab) {\r\n <div\r\n role=\"tabpanel\"\r\n [attr.id]=\"tab.tabpanelId()\"\r\n [attr.aria-labelledby]=\"tab.tabId()\"\r\n >\r\n <ng-template [ngTemplateOutlet]=\"tab.content()\" />\r\n </div>\r\n} @else {\r\n <div role=\"presentation\">\r\n <!-- TODO: empty state placeholder -->\r\n </div>\r\n}\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"latitude-ui-widgets-tabs.mjs","sources":["../../../../packages/widgets/tabs/lib/tab-label.directive.ts","../../../../packages/widgets/tabs/lib/tab-content.directive.ts","../../../../packages/widgets/tabs/lib/tab.component.ts","../../../../packages/widgets/tabs/lib/tab.component.html","../../../../packages/widgets/tabs/lib/tabs.options.ts","../../../../packages/widgets/tabs/lib/tabs.component.ts","../../../../packages/widgets/tabs/lib/tabs.component.html","../../../../packages/widgets/tabs/latitude-ui-widgets-tabs.ts"],"sourcesContent":["import { Directive } from '@angular/core';\r\n\r\n\r\n@Directive({\r\n exportAs: 'latTabLabel',\r\n selector: '[latTabLabel]'\r\n})\r\nexport class TabLabelDirective {\r\n}\r\n","import { Directive } from '@angular/core';\r\n\r\n\r\n@Directive({\r\n exportAs: 'latTabContent',\r\n selector: '[latTabContent]'\r\n})\r\nexport class TabContentDirective {\r\n}\r\n","import {\r\n booleanAttribute,\r\n ChangeDetectionStrategy,\r\n Component, computed,\r\n contentChild,\r\n input, numberAttribute,\r\n TemplateRef,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\n\r\nimport { uid } from '@latitude-ui/widgets/core';\r\n\r\nimport { TabLabelDirective } from './tab-label.directive';\r\nimport { TabContentDirective } from './tab-content.directive';\r\n\r\n\r\n@Component({\r\n exportAs: 'latTab',\r\n selector: 'lat-tab',\r\n templateUrl: './tab.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class TabComponent {\r\n readonly id = input<string>(uid());\r\n readonly disabled = input<boolean, unknown>(false, { transform: booleanAttribute });\r\n readonly tabindex = input<number, unknown>(undefined, { transform: numberAttribute });\r\n\r\n readonly tabId = computed(() => `lat-tab-${this.id()}`);\r\n readonly tabpanelId = computed(() => `lat-tabpanel-${this.id()}`);\r\n\r\n readonly label = contentChild(TabLabelDirective, { read: TemplateRef });\r\n readonly content = contentChild.required(TabContentDirective, { read: TemplateRef })\r\n}\r\n","","import { InjectionToken } from '@angular/core';\r\n\r\nimport { BoxSize } from '@latitude-ui/widgets/core';\r\n\r\n\r\nexport type TabsOptions = {\r\n size: BoxSize;\r\n variant: 'default' | 'inherit' | ({} & string);\r\n}\r\n\r\nexport const TABS_OPTIONS = new InjectionToken<TabsOptions>(\r\n ngDevMode ? 'TABS_OPTIONS' : '',\r\n {\r\n factory: () => {\r\n return {\r\n size: 'md',\r\n variant: 'default',\r\n }\r\n }\r\n }\r\n);\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n contentChildren,\r\n inject, input,\r\n linkedSignal,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport { NgTemplateOutlet } from '@angular/common';\r\n\r\nimport { ButtonComponent } from '@latitude-ui/widgets/button';\r\nimport { ToolBarComponent } from '@latitude-ui/widgets/toolbar';\r\n\r\nimport { TabComponent } from './tab.component';\r\nimport { TABS_OPTIONS, TabsOptions } from './tabs.options';\r\n\r\n\r\n@Component({\r\n imports: [\r\n NgTemplateOutlet,\r\n ToolBarComponent,\r\n ButtonComponent\r\n ],\r\n exportAs: 'latTabs',\r\n selector: 'lat-tabs',\r\n templateUrl: './tabs.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class TabsComponent {\r\n readonly options = inject(TABS_OPTIONS);\r\n\r\n readonly size = input<TabsOptions['size']>(this.options.size);\r\n readonly variant = input<TabsOptions['variant']>(this.options.variant);\r\n\r\n readonly tabs = contentChildren(TabComponent);\r\n\r\n readonly selected = linkedSignal<TabComponent | undefined>(() => this.tabs().at(0));\r\n\r\n onTabChanged(tab: TabComponent | undefined) {\r\n this.selected.set(tab);\r\n }\r\n}\r\n","<lat-toolbar role=\"tablist\" variant=\"inherit\">\r\n @for (tab of tabs(); track $index) {\r\n <lat-button\r\n role=\"tab\"\r\n variant=\"inherit\"\r\n [id]=\"tab.tabId()\"\r\n [tabindex]=\"tab.tabindex()\"\r\n [disabled]=\"tab.disabled()\"\r\n (click)=\"onTabChanged(tab)\"\r\n >\r\n <ng-template [ngTemplateOutlet]=\"tab.label()\" />\r\n </lat-button>\r\n }\r\n</lat-toolbar>\r\n\r\n@if (selected(); as tab) {\r\n <div\r\n role=\"tabpanel\"\r\n [attr.id]=\"tab.tabpanelId()\"\r\n [attr.aria-labelledby]=\"tab.tabId()\"\r\n >\r\n <ng-template [ngTemplateOutlet]=\"tab.content()\" />\r\n </div>\r\n} @else {\r\n <div role=\"presentation\">\r\n <!-- TODO: empty state placeholder -->\r\n </div>\r\n}\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -190,7 +190,7 @@ class TextBoxDateComponent extends TextBoxDirective {
|
|
|
190
190
|
provide: HTMLFormControl,
|
|
191
191
|
useExisting: forwardRef(() => TextBoxDateComponent),
|
|
192
192
|
},
|
|
193
|
-
], viewQueries: [{ propertyName: "picker", first: true, predicate: ["htmlInputPicker"], descendants: true, read: ElementRef, isSignal: true }], exportAs: ["latTextBox"], usesInheritance: true, ngImport: i0, template: "<input #htmlInputPicker type=\"date\" aria-hidden=\"true\" (change)=\"onPickerChange()\"/>\r\n\r\n<input\r\n #htmlInputElement\r\n type=\"text\"\r\n role=\"textbox\"\r\n autocomplete=\"off\"\r\n autocapitalize=\"off\"\r\n [value]='valueAsString()'\r\n [attr.id]=\"computedId()\"\r\n [attr.tabindex]=\"disabled() ? -1 : tabindex()\"\r\n [attr.disabled]=\"disabled() || void 0\"\r\n [attr.readonly]=\"readonly() || void 0\"\r\n [attr.required]=\"required() || void 0\"\r\n [attr.autofocus]=\"autofocus()\"\r\n [attr.placeholder]=\"placeholder() || patternPlaceholder()\"\r\n [attr.aria-invalid]=\"invalid() || void 0\"\r\n [attr.aria-disabled]=\"disabled() || void 0\"\r\n [attr.aria-readonly]=\"readonly() || void 0\"\r\n [attr.aria-required]=\"required() || void 0\"\r\n [attr.aria-labelledby]=\"labelledby ? labelledby() : void 0\"\r\n (blur)=\"onBlurEvent()\"\r\n (focus)=\"onFocusEvent()\"\r\n (input)=\"onValueChanged()\"\r\n/>\r\n\r\n@if (!readonly()) {\r\n <div>\r\n <lat-button\r\n size=\"inherit\"\r\n variant=\"inherit\"\r\n tabindex=\"-1\"\r\n [disabled]=\"disabled() || void 0\"\r\n (click)=\"onPickerShow($event)\"\r\n >\r\n <lat-icon name=\"calendar-week\" />\r\n </lat-button>\r\n </div>\r\n}\r\n\r\n\r\n", dependencies: [{ kind: "component", type: ButtonComponent, selector: "lat-button
|
|
193
|
+
], viewQueries: [{ propertyName: "picker", first: true, predicate: ["htmlInputPicker"], descendants: true, read: ElementRef, isSignal: true }], exportAs: ["latTextBox"], usesInheritance: true, ngImport: i0, template: "<input #htmlInputPicker type=\"date\" aria-hidden=\"true\" (change)=\"onPickerChange()\"/>\r\n\r\n<input\r\n #htmlInputElement\r\n type=\"text\"\r\n role=\"textbox\"\r\n autocomplete=\"off\"\r\n autocapitalize=\"off\"\r\n [value]='valueAsString()'\r\n [attr.id]=\"computedId()\"\r\n [attr.tabindex]=\"disabled() ? -1 : tabindex()\"\r\n [attr.disabled]=\"disabled() || void 0\"\r\n [attr.readonly]=\"readonly() || void 0\"\r\n [attr.required]=\"required() || void 0\"\r\n [attr.autofocus]=\"autofocus()\"\r\n [attr.placeholder]=\"placeholder() || patternPlaceholder()\"\r\n [attr.aria-invalid]=\"invalid() || void 0\"\r\n [attr.aria-disabled]=\"disabled() || void 0\"\r\n [attr.aria-readonly]=\"readonly() || void 0\"\r\n [attr.aria-required]=\"required() || void 0\"\r\n [attr.aria-labelledby]=\"labelledby ? labelledby() : void 0\"\r\n (blur)=\"onBlurEvent()\"\r\n (focus)=\"onFocusEvent()\"\r\n (input)=\"onValueChanged()\"\r\n/>\r\n\r\n@if (!readonly()) {\r\n <div>\r\n <lat-button\r\n size=\"inherit\"\r\n variant=\"inherit\"\r\n tabindex=\"-1\"\r\n [disabled]=\"disabled() || void 0\"\r\n (click)=\"onPickerShow($event)\"\r\n >\r\n <lat-icon name=\"calendar-week\" />\r\n </lat-button>\r\n </div>\r\n}\r\n\r\n\r\n", dependencies: [{ kind: "component", type: ButtonComponent, selector: "lat-button", inputs: ["role", "size", "variant", "disabled", "tabindex"], exportAs: ["latButton"] }, { kind: "component", type: IconComponent, selector: "lat-icon", inputs: ["url", "name"], exportAs: ["latIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
194
194
|
}
|
|
195
195
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: TextBoxDateComponent, decorators: [{
|
|
196
196
|
type: Component,
|
|
@@ -332,7 +332,7 @@ class TextBoxNumberComponent extends TextBoxDirective {
|
|
|
332
332
|
provide: HTMLFormControl,
|
|
333
333
|
useExisting: forwardRef(() => TextBoxNumberComponent),
|
|
334
334
|
},
|
|
335
|
-
], exportAs: ["latTextBox"], usesInheritance: true, ngImport: i0, template: "<input\r\n #htmlInputElement\r\n type=\"text\"\r\n role=\"spinbutton\"\r\n autocomplete=\"off\"\r\n autocapitalize=\"off\"\r\n [value]='valueAsString()'\r\n [attr.id]=\"computedId()\"\r\n [attr.tabindex]=\"disabled() ? -1 : tabindex()\"\r\n [attr.disabled]=\"disabled() || void 0\"\r\n [attr.readonly]=\"readonly() || void 0\"\r\n [attr.required]=\"required() || void 0\"\r\n [attr.autofocus]=\"autofocus()\"\r\n [attr.maxlength]=\"maxlength()\"\r\n [attr.placeholder]=\"placeholder()\"\r\n [attr.aria-invalid]=\"invalid() || void 0\"\r\n [attr.aria-valuemax]=\"maxvalue()\"\r\n [attr.aria-valuemin]=\"minvalue()\"\r\n [attr.aria-valuenow]=\"nowvalue()\"\r\n [attr.aria-disabled]=\"disabled() || void 0\"\r\n [attr.aria-readonly]=\"readonly() || void 0\"\r\n [attr.aria-required]=\"required() || void 0\"\r\n [attr.aria-labelledby]=\"labelledby ? labelledby() : void 0\"\r\n (blur)=\"onBlurEvent()\"\r\n (focus)=\"onFocusEvent()\"\r\n (input)=\"onValueChanged()\"\r\n/>\r\n\r\n@if (step() && !readonly()) {\r\n <div>\r\n <lat-button\r\n size=\"inherit\"\r\n variant=\"inherit\"\r\n tabindex=\"-1\"\r\n [disabled]=\"disabled() || void 0\"\r\n (click)=\"onValueSpined(1)\"\r\n >\r\n <lat-icon name=\"chevron-up\" />\r\n </lat-button>\r\n <lat-button\r\n size=\"inherit\"\r\n variant=\"inherit\"\r\n tabindex=\"-1\"\r\n [disabled]=\"disabled() || void 0\"\r\n (click)=\"onValueSpined(-1)\"\r\n >\r\n <lat-icon name=\"chevron-down\" />\r\n </lat-button>\r\n </div>\r\n}\r\n", dependencies: [{ kind: "component", type: ButtonComponent, selector: "lat-button
|
|
335
|
+
], exportAs: ["latTextBox"], usesInheritance: true, ngImport: i0, template: "<input\r\n #htmlInputElement\r\n type=\"text\"\r\n role=\"spinbutton\"\r\n autocomplete=\"off\"\r\n autocapitalize=\"off\"\r\n [value]='valueAsString()'\r\n [attr.id]=\"computedId()\"\r\n [attr.tabindex]=\"disabled() ? -1 : tabindex()\"\r\n [attr.disabled]=\"disabled() || void 0\"\r\n [attr.readonly]=\"readonly() || void 0\"\r\n [attr.required]=\"required() || void 0\"\r\n [attr.autofocus]=\"autofocus()\"\r\n [attr.maxlength]=\"maxlength()\"\r\n [attr.placeholder]=\"placeholder()\"\r\n [attr.aria-invalid]=\"invalid() || void 0\"\r\n [attr.aria-valuemax]=\"maxvalue()\"\r\n [attr.aria-valuemin]=\"minvalue()\"\r\n [attr.aria-valuenow]=\"nowvalue()\"\r\n [attr.aria-disabled]=\"disabled() || void 0\"\r\n [attr.aria-readonly]=\"readonly() || void 0\"\r\n [attr.aria-required]=\"required() || void 0\"\r\n [attr.aria-labelledby]=\"labelledby ? labelledby() : void 0\"\r\n (blur)=\"onBlurEvent()\"\r\n (focus)=\"onFocusEvent()\"\r\n (input)=\"onValueChanged()\"\r\n/>\r\n\r\n@if (step() && !readonly()) {\r\n <div>\r\n <lat-button\r\n size=\"inherit\"\r\n variant=\"inherit\"\r\n tabindex=\"-1\"\r\n [disabled]=\"disabled() || void 0\"\r\n (click)=\"onValueSpined(1)\"\r\n >\r\n <lat-icon name=\"chevron-up\" />\r\n </lat-button>\r\n <lat-button\r\n size=\"inherit\"\r\n variant=\"inherit\"\r\n tabindex=\"-1\"\r\n [disabled]=\"disabled() || void 0\"\r\n (click)=\"onValueSpined(-1)\"\r\n >\r\n <lat-icon name=\"chevron-down\" />\r\n </lat-button>\r\n </div>\r\n}\r\n", dependencies: [{ kind: "component", type: ButtonComponent, selector: "lat-button", inputs: ["role", "size", "variant", "disabled", "tabindex"], exportAs: ["latButton"] }, { kind: "component", type: IconComponent, selector: "lat-icon", inputs: ["url", "name"], exportAs: ["latIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
336
336
|
}
|
|
337
337
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: TextBoxNumberComponent, decorators: [{
|
|
338
338
|
type: Component,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"latitude-ui-widgets-textbox.mjs","sources":["../../../../packages/widgets/textbox/lib/textbox.directive.ts","../../../../packages/widgets/textbox/lib/textbox.component.ts","../../../../packages/widgets/textbox/lib/textbox.component.html","../../../../packages/widgets/textbox/lib/textbox-date.component.ts","../../../../packages/widgets/textbox/lib/textbox-date.component.html","../../../../packages/widgets/textbox/lib/textbox-number.component.ts","../../../../packages/widgets/textbox/lib/textbox-number.component.html","../../../../packages/widgets/textbox/latitude-ui-widgets-textbox.ts"],"sourcesContent":["import { Directive, ElementRef, viewChild } from '@angular/core';\r\nimport { HTMLFormControl } from '@latitude-ui/widgets/core';\r\n\r\n@Directive()\r\nexport class TextBoxDirective<T> extends HTMLFormControl<T> {\r\n readonly el = viewChild.required('htmlInputElement', { read: ElementRef<HTMLInputElement> });\r\n\r\n blur() {\r\n this.el().nativeElement.blur();\r\n }\r\n\r\n focus() {\r\n this.el().nativeElement.focus();\r\n }\r\n\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n computed,\r\n forwardRef,\r\n input,\r\n numberAttribute,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\n\r\nimport { HTMLFormControl } from '@latitude-ui/widgets/core';\r\n\r\nimport { TextBoxDirective } from './textbox.directive';\r\n\r\n\r\n@Component({\r\n exportAs: 'latTextBox',\r\n selector: 'lat-textbox:not([type]), lat-textbox[type=\"text\"]',\r\n templateUrl: './textbox.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: HTMLFormControl,\r\n useExisting: forwardRef(() => TextBoxComponent),\r\n },\r\n ]\r\n})\r\nexport class TextBoxComponent extends TextBoxDirective<string> {\r\n readonly rows = input<number, unknown>(undefined, { transform: numberAttribute });\r\n readonly maxlength = input<number, unknown>(undefined, { transform: numberAttribute });\r\n readonly minlength = input<number, unknown>(undefined, { transform: numberAttribute });\r\n\r\n readonly textarea = computed(() => {\r\n const rows = this.rows();\r\n\r\n return rows ? rows >= 2 : false;\r\n });\r\n\r\n /** @internal */\r\n onBlurEvent(): void {\r\n this.markAsTouched();\r\n }\r\n\r\n /** @internal */\r\n onValueChanged(): void {\r\n const { nativeElement } = this.el();\r\n\r\n this.writeValue(nativeElement.value);\r\n }\r\n}\r\n","@if(textarea()) {\r\n <textarea\r\n #htmlInputElement\r\n role=\"textbox\"\r\n [value]='valueAsString()'\r\n [attr.id]=\"computedId()\"\r\n [attr.rows]=\"rows()\"\r\n [attr.tabindex]=\"disabled() ? -1 : tabindex()\"\r\n [attr.disabled]=\"disabled() || void 0\"\r\n [attr.readonly]=\"readonly() || void 0\"\r\n [attr.required]=\"required() || void 0\"\r\n [attr.autofocus]=\"autofocus()\"\r\n [attr.maxlength]=\"maxlength()\"\r\n [attr.minlength]=\"minlength()\"\r\n [attr.placeholder]=\"placeholder()\"\r\n [attr.aria-invalid]=\"invalid() || void 0\"\r\n [attr.aria-disabled]=\"disabled() || void 0\"\r\n [attr.aria-readonly]=\"readonly() || void 0\"\r\n [attr.aria-required]=\"required() || void 0\"\r\n [attr.aria-labelledby]=\"labelledby ? labelledby() : void 0\"\r\n [style.resize]=\"'none'\"\r\n [style.height]=\"'auto'\"\r\n (blur)=\"onBlurEvent()\"\r\n (input)=\"onValueChanged()\"\r\n ></textarea>\r\n} @else {\r\n <input\r\n #htmlInputElement\r\n type=\"text\"\r\n role=\"textbox\"\r\n [value]='valueAsString()'\r\n [attr.id]=\"computedId()\"\r\n [attr.tabindex]=\"disabled() ? -1 : tabindex()\"\r\n [attr.disabled]=\"disabled() || void 0\"\r\n [attr.readonly]=\"readonly() || void 0\"\r\n [attr.required]=\"required() || void 0\"\r\n [attr.autofocus]=\"autofocus()\"\r\n [attr.maxlength]=\"maxlength()\"\r\n [attr.minlength]=\"minlength()\"\r\n [attr.placeholder]=\"placeholder()\"\r\n [attr.aria-invalid]=\"invalid() || void 0\"\r\n [attr.aria-disabled]=\"disabled() || void 0\"\r\n [attr.aria-readonly]=\"readonly() || void 0\"\r\n [attr.aria-required]=\"required() || void 0\"\r\n [attr.aria-labelledby]=\"labelledby ? labelledby() : void 0\"\r\n (blur)=\"onBlurEvent()\"\r\n (input)=\"onValueChanged()\"\r\n />\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n computed,\r\n effect,\r\n ElementRef,\r\n forwardRef,\r\n input,\r\n viewChild,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\n\r\nimport { maskitoDateOptionsGenerator, maskitoParseDate, maskitoStringifyDate } from '@maskito/kit';\r\nimport { Maskito } from '@maskito/core';\r\n\r\nimport { ButtonComponent } from '@latitude-ui/widgets/button';\r\nimport { HTMLFormControl } from '@latitude-ui/widgets/core';\r\nimport { IconComponent } from '@latitude-ui/widgets/icons';\r\n\r\nimport { TextBoxDirective } from './textbox.directive';\r\n\r\nexport type DatePattern =\r\n | 'dd/mm'\r\n | 'dd/mm/yyyy'\r\n | 'mm/dd'\r\n | 'mm/dd/yyyy'\r\n | 'mm/yy'\r\n | 'mm/yyyy'\r\n | 'yyyy'\r\n | 'yyyy/mm'\r\n | 'yyyy/mm/dd';\r\n\r\n@Component({\r\n imports: [ButtonComponent, IconComponent],\r\n exportAs: 'latTextBox',\r\n selector: 'lat-textbox[type=\"date\"]',\r\n templateUrl: './textbox-date.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: HTMLFormControl,\r\n useExisting: forwardRef(() => TextBoxDateComponent),\r\n },\r\n ],\r\n})\r\nexport class TextBoxDateComponent extends TextBoxDirective<Date> {\r\n readonly max = input<Date>();\r\n readonly min = input<Date>();\r\n readonly pattern = input<DatePattern>('dd/mm/yyyy');\r\n readonly separator = input<string>('.');\r\n\r\n readonly maxvalue = computed(() => this.max() ?? new Date('9999-12-31'));\r\n readonly minvalue = computed(() => this.min() ?? new Date('0001-01-01'));\r\n\r\n readonly patternRegExp = computed(() => {\r\n const pattern = this.pattern();\r\n const separator = this.separator();\r\n\r\n const dd = '(?:0[1-9]|[12][0-9]|3[01])';\r\n const mm = '(?:0[1-9]|1[0-2])';\r\n const yy = '\\\\d{2}';\r\n const yyyy = '\\\\d{4}';\r\n\r\n const keyvalue = {\r\n 'dd/mm': `${dd}${separator}${mm}`,\r\n 'dd/mm/yyyy': `${dd}${separator}${mm}${separator}${yyyy}`,\r\n 'mm/dd': `${mm}${separator}${dd}`,\r\n 'mm/dd/yyyy': `${mm}${separator}${dd}${separator}${yyyy}`,\r\n 'mm/yy': `${mm}${separator}${yy}`,\r\n 'mm/yyyy': `${mm}${separator}${yyyy}`,\r\n \"yyyy\": `${yyyy}`,\r\n 'yyyy/mm': `${yyyy}${separator}${mm}`,\r\n 'yyyy/mm/dd': `${yyyy}${separator}${mm}${separator}${dd}`,\r\n } as const;\r\n\r\n return new RegExp(`^${keyvalue[pattern]}$`);\r\n });\r\n readonly patternPlaceholder = computed(() => {\r\n const pattern = this.pattern();\r\n const separator = this.separator();\r\n\r\n const regexp = new RegExp(/\\//g);\r\n\r\n return pattern.replace(regexp, separator);\r\n });\r\n\r\n\r\n readonly picker = viewChild.required('htmlInputPicker', { read: ElementRef<HTMLInputElement> });\r\n\r\n readonly maskitoDateParams = computed(() => {\r\n return {\r\n max: this.maxvalue(),\r\n min: this.minvalue(),\r\n mode: this.pattern(),\r\n separator: this.separator(),\r\n };\r\n });\r\n\r\n constructor() {\r\n super();\r\n\r\n effect((onCleanup) => {\r\n const el = this.el();\r\n const params = this.maskitoDateParams();\r\n\r\n const options = maskitoDateOptionsGenerator(params);\r\n\r\n const instance = new Maskito(el.nativeElement, options);\r\n\r\n onCleanup(() => instance.destroy());\r\n });\r\n }\r\n\r\n /** @internal */\r\n override valueStringify(value: unknown): string {\r\n const params = this.maskitoDateParams();\r\n\r\n if (typeof value === 'string') {\r\n value = this.parseDate(value);\r\n }\r\n\r\n if (value === null) {\r\n return '';\r\n }\r\n\r\n if (value instanceof Date) {\r\n return maskitoStringifyDate(value, params);\r\n }\r\n\r\n return value as string;\r\n }\r\n\r\n /** @internal */\r\n parseDate(value: string): Date | null {\r\n const params = this.maskitoDateParams();\r\n const pattern = this.patternRegExp();\r\n\r\n const valueAsDate = pattern.test(value) ? maskitoParseDate(value, params) : new Date(value);\r\n\r\n if (valueAsDate === null || Number.isNaN(valueAsDate.getTime())) {\r\n return null;\r\n }\r\n\r\n return valueAsDate;\r\n }\r\n\r\n /** @internal */\r\n valueUnsettled(value: string): boolean {\r\n return !this.patternRegExp().test(value);\r\n }\r\n\r\n /** @internal */\r\n onValueChanged(): void {\r\n const input = this.el();\r\n\r\n const valueAsString = input.nativeElement.value;\r\n\r\n if (this.valueUnsettled(valueAsString)) {\r\n return this.valueAsString.update(() => input.nativeElement.value);\r\n }\r\n\r\n const value = maskitoParseDate(valueAsString, this.maskitoDateParams());\r\n\r\n if (value === null) {\r\n return this.writeValue(value);\r\n }\r\n\r\n this.writeValue(value);\r\n }\r\n\r\n /** @internal */\r\n onFocusEvent(): void {\r\n const value = maskitoParseDate(this.valueAsString(), this.maskitoDateParams());\r\n\r\n if (Number.isNaN(value) && !this.readonly()) {\r\n this.valueAsString.set('');\r\n }\r\n }\r\n\r\n /** @internal */\r\n onBlurEvent(): void {\r\n this.markAsTouched();\r\n\r\n const valueAsString = this.valueAsString();\r\n if (this.valueUnsettled(valueAsString)) {\r\n this.valueAsString.update(() => this.valueStringify(this.value()));\r\n }\r\n }\r\n\r\n /** @internal */\r\n onPickerShow(event: PointerEvent) {\r\n const { nativeElement } = this.picker();\r\n\r\n event.preventDefault();\r\n event.stopPropagation();\r\n\r\n\r\n const value = this.value();\r\n if (value instanceof Date || value === null) {\r\n nativeElement.valueAsDate = value;\r\n } else {\r\n nativeElement.valueAsDate = this.parseDate(this.valueAsString());\r\n }\r\n\r\n nativeElement.showPicker();\r\n }\r\n\r\n /** @internal */\r\n onPickerChange() {\r\n const { nativeElement } = this.picker();\r\n\r\n const value = new Date(nativeElement.value);\r\n\r\n this.writeValue(value);\r\n }\r\n}\r\n","<input #htmlInputPicker type=\"date\" aria-hidden=\"true\" (change)=\"onPickerChange()\"/>\r\n\r\n<input\r\n #htmlInputElement\r\n type=\"text\"\r\n role=\"textbox\"\r\n autocomplete=\"off\"\r\n autocapitalize=\"off\"\r\n [value]='valueAsString()'\r\n [attr.id]=\"computedId()\"\r\n [attr.tabindex]=\"disabled() ? -1 : tabindex()\"\r\n [attr.disabled]=\"disabled() || void 0\"\r\n [attr.readonly]=\"readonly() || void 0\"\r\n [attr.required]=\"required() || void 0\"\r\n [attr.autofocus]=\"autofocus()\"\r\n [attr.placeholder]=\"placeholder() || patternPlaceholder()\"\r\n [attr.aria-invalid]=\"invalid() || void 0\"\r\n [attr.aria-disabled]=\"disabled() || void 0\"\r\n [attr.aria-readonly]=\"readonly() || void 0\"\r\n [attr.aria-required]=\"required() || void 0\"\r\n [attr.aria-labelledby]=\"labelledby ? labelledby() : void 0\"\r\n (blur)=\"onBlurEvent()\"\r\n (focus)=\"onFocusEvent()\"\r\n (input)=\"onValueChanged()\"\r\n/>\r\n\r\n@if (!readonly()) {\r\n <div>\r\n <lat-button\r\n size=\"inherit\"\r\n variant=\"inherit\"\r\n tabindex=\"-1\"\r\n [disabled]=\"disabled() || void 0\"\r\n (click)=\"onPickerShow($event)\"\r\n >\r\n <lat-icon name=\"calendar-week\" />\r\n </lat-button>\r\n </div>\r\n}\r\n\r\n\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n computed,\r\n effect,\r\n forwardRef,\r\n input,\r\n numberAttribute,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\n\r\nimport { Maskito, maskitoInitialCalibrationPlugin } from '@maskito/core';\r\nimport { maskitoNumberOptionsGenerator, maskitoParseNumber, maskitoStringifyNumber } from '@maskito/kit';\r\n\r\nimport { ButtonComponent } from '@latitude-ui/widgets/button';\r\nimport { HTMLFormControl } from '@latitude-ui/widgets/core';\r\nimport { IconComponent } from '@latitude-ui/widgets/icons';\r\n\r\nimport { TextBoxDirective } from './textbox.directive';\r\n\r\n@Component({\r\n imports: [ButtonComponent, IconComponent],\r\n exportAs: 'latTextBox',\r\n selector: 'lat-textbox[type=\"number\"]',\r\n templateUrl: './textbox-number.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: HTMLFormControl,\r\n useExisting: forwardRef(() => TextBoxNumberComponent),\r\n },\r\n ],\r\n})\r\nexport class TextBoxNumberComponent extends TextBoxDirective<number> {\r\n readonly max = input<number, unknown>(undefined, { transform: numberAttribute });\r\n readonly min = input<number, unknown>(undefined, { transform: numberAttribute });\r\n readonly step = input<number, unknown>(undefined, { transform: numberAttribute });\r\n readonly decimals = input<number>(2);\r\n readonly decimalSeparator = input<',' | '.'>(',');\r\n readonly decimalZeroPadding = input<boolean>(false);\r\n readonly thousandSeparator = input<string>('');\r\n\r\n readonly maxvalue = computed(() => this.parseNumber(this.max(), Number.MAX_SAFE_INTEGER));\r\n readonly minvalue = computed(() => this.parseNumber(this.min(), Number.MIN_SAFE_INTEGER));\r\n readonly nowvalue = computed(() => this.value() || 0);\r\n\r\n readonly maxlength = computed(() => {\r\n const { decimalSeparator, thousandSeparator } = this.maskitoNumberParams();\r\n\r\n const decimals = this.decimals();\r\n\r\n const mantissa = decimals && this.valueAsString().includes(decimalSeparator);\r\n const precision = mantissa ? Math.min(decimals + 1, 20) : 0;\r\n const thousand = thousandSeparator.repeat(5).length;\r\n\r\n return 18 + precision + thousand;\r\n });\r\n\r\n readonly maskitoNumberParams = computed(() => {\r\n return {\r\n max: this.maxvalue(),\r\n min: this.minvalue(),\r\n minusSign: '-',\r\n maximumFractionDigits: this.decimals(),\r\n minimumFractionDigits: this.decimalZeroPadding() ? this.decimals() : 0,\r\n decimalSeparator: this.decimalSeparator(),\r\n thousandSeparator: this.thousandSeparator(),\r\n };\r\n });\r\n\r\n constructor() {\r\n super();\r\n\r\n effect((onCleanup) => {\r\n const el = this.el();\r\n const params = this.maskitoNumberParams();\r\n\r\n const { plugins, ...options } = maskitoNumberOptionsGenerator(params);\r\n\r\n const instance = new Maskito(el.nativeElement, {\r\n ...options,\r\n plugins: [\r\n ...plugins,\r\n maskitoInitialCalibrationPlugin(\r\n maskitoNumberOptionsGenerator({\r\n ...params,\r\n min: Number.MIN_SAFE_INTEGER,\r\n max: Number.MAX_SAFE_INTEGER,\r\n })\r\n ),\r\n ],\r\n });\r\n\r\n onCleanup(() => instance.destroy());\r\n });\r\n }\r\n\r\n /** @internal */\r\n override valueStringify(valueAsString: unknown): string {\r\n const value = this.parseNumber(valueAsString);\r\n if (value === null) {\r\n return '';\r\n }\r\n\r\n return maskitoStringifyNumber(value, this.maskitoNumberParams());\r\n }\r\n\r\n /** @internal */\r\n valueSimplify(value: string): string {\r\n const decimalSeparator = new RegExp(this.decimalSeparator(), 'gi');\r\n const thousandSeparator = new RegExp(this.thousandSeparator(), 'gi');\r\n\r\n return value.replace(thousandSeparator, '').replace(decimalSeparator, '.');\r\n }\r\n\r\n /** @internal */\r\n valueUnsettled(value: string): boolean {\r\n return !!(value === '-' || value.match(/^\\s*([-+])?\\d+\\.$/) || value.match(/^\\s*([-+])?\\d+\\.[0-9]*0$/) || value.match(/^\\s*([-+])0+$/));\r\n }\r\n\r\n /** @internal */\r\n parseNumber(value: unknown): number | null;\r\n parseNumber<const T extends number | null>(value: unknown, fallback: T): number | T;\r\n parseNumber<const T extends number | null>(value: unknown, fallback: T | null = null): number | null | T {\r\n let valueAsNumber: number | null = null;\r\n\r\n if(value === null || value === undefined) {\r\n return fallback as T;\r\n }\r\n\r\n if (typeof value === 'number') {\r\n valueAsNumber = value;\r\n } else if (typeof value === 'string') {\r\n valueAsNumber = Number.parseFloat(value);\r\n }\r\n\r\n if (Number.isNaN(value)) {\r\n return fallback as T;\r\n }\r\n\r\n return valueAsNumber;\r\n }\r\n\r\n /** @internal */\r\n onValueChanged(): void {\r\n const input = this.el();\r\n\r\n const valueAsString = this.valueSimplify(input.nativeElement.value);\r\n\r\n\r\n if (this.valueUnsettled(valueAsString)) {\r\n return this.valueAsString.update(() => input.nativeElement.value);\r\n }\r\n\r\n const value = this.parseNumber(valueAsString);\r\n\r\n if (value === null) {\r\n return this.writeValue(value);\r\n }\r\n\r\n if (value < this.minvalue() || value > this.maxvalue()) {\r\n return void 0;\r\n }\r\n\r\n this.writeValue(value);\r\n }\r\n\r\n /** @internal */\r\n onValueSpined(mul: 1 | -1): void {\r\n const value = (this.value() ?? 0) + (this.step() ?? 0) * mul;\r\n\r\n if (value < this.minvalue() || value > this.maxvalue()) {\r\n return void 0;\r\n }\r\n\r\n const factor = Math.pow(10, this.decimals());\r\n\r\n this.writeValue(Math.round(value * factor) / factor);\r\n }\r\n\r\n /** @internal */\r\n onFocusEvent(): void {\r\n const value = maskitoParseNumber(this.valueAsString(), this.maskitoNumberParams());\r\n\r\n if (Number.isNaN(value) && !this.readonly()) {\r\n this.valueAsString.set('');\r\n }\r\n }\r\n\r\n /** @internal */\r\n onBlurEvent(): void {\r\n this.markAsTouched();\r\n\r\n const valueAsString = this.valueSimplify(this.valueAsString());\r\n\r\n if (this.valueUnsettled(valueAsString)) {\r\n this.valueAsString.update(() => this.valueStringify(this.value()));\r\n }\r\n }\r\n}\r\n","<input\r\n #htmlInputElement\r\n type=\"text\"\r\n role=\"spinbutton\"\r\n autocomplete=\"off\"\r\n autocapitalize=\"off\"\r\n [value]='valueAsString()'\r\n [attr.id]=\"computedId()\"\r\n [attr.tabindex]=\"disabled() ? -1 : tabindex()\"\r\n [attr.disabled]=\"disabled() || void 0\"\r\n [attr.readonly]=\"readonly() || void 0\"\r\n [attr.required]=\"required() || void 0\"\r\n [attr.autofocus]=\"autofocus()\"\r\n [attr.maxlength]=\"maxlength()\"\r\n [attr.placeholder]=\"placeholder()\"\r\n [attr.aria-invalid]=\"invalid() || void 0\"\r\n [attr.aria-valuemax]=\"maxvalue()\"\r\n [attr.aria-valuemin]=\"minvalue()\"\r\n [attr.aria-valuenow]=\"nowvalue()\"\r\n [attr.aria-disabled]=\"disabled() || void 0\"\r\n [attr.aria-readonly]=\"readonly() || void 0\"\r\n [attr.aria-required]=\"required() || void 0\"\r\n [attr.aria-labelledby]=\"labelledby ? labelledby() : void 0\"\r\n (blur)=\"onBlurEvent()\"\r\n (focus)=\"onFocusEvent()\"\r\n (input)=\"onValueChanged()\"\r\n/>\r\n\r\n@if (step() && !readonly()) {\r\n <div>\r\n <lat-button\r\n size=\"inherit\"\r\n variant=\"inherit\"\r\n tabindex=\"-1\"\r\n [disabled]=\"disabled() || void 0\"\r\n (click)=\"onValueSpined(1)\"\r\n >\r\n <lat-icon name=\"chevron-up\" />\r\n </lat-button>\r\n <lat-button\r\n size=\"inherit\"\r\n variant=\"inherit\"\r\n tabindex=\"-1\"\r\n [disabled]=\"disabled() || void 0\"\r\n (click)=\"onValueSpined(-1)\"\r\n >\r\n <lat-icon name=\"chevron-down\" />\r\n </lat-button>\r\n </div>\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"latitude-ui-widgets-textbox.mjs","sources":["../../../../packages/widgets/textbox/lib/textbox.directive.ts","../../../../packages/widgets/textbox/lib/textbox.component.ts","../../../../packages/widgets/textbox/lib/textbox.component.html","../../../../packages/widgets/textbox/lib/textbox-date.component.ts","../../../../packages/widgets/textbox/lib/textbox-date.component.html","../../../../packages/widgets/textbox/lib/textbox-number.component.ts","../../../../packages/widgets/textbox/lib/textbox-number.component.html","../../../../packages/widgets/textbox/latitude-ui-widgets-textbox.ts"],"sourcesContent":["import { Directive, ElementRef, viewChild } from '@angular/core';\r\nimport { HTMLFormControl } from '@latitude-ui/widgets/core';\r\n\r\n@Directive()\r\nexport class TextBoxDirective<T> extends HTMLFormControl<T> {\r\n readonly el = viewChild.required('htmlInputElement', { read: ElementRef<HTMLInputElement> });\r\n\r\n blur() {\r\n this.el().nativeElement.blur();\r\n }\r\n\r\n focus() {\r\n this.el().nativeElement.focus();\r\n }\r\n\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n computed,\r\n forwardRef,\r\n input,\r\n numberAttribute,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\n\r\nimport { HTMLFormControl } from '@latitude-ui/widgets/core';\r\n\r\nimport { TextBoxDirective } from './textbox.directive';\r\n\r\n\r\n@Component({\r\n exportAs: 'latTextBox',\r\n selector: 'lat-textbox:not([type]), lat-textbox[type=\"text\"]',\r\n templateUrl: './textbox.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: HTMLFormControl,\r\n useExisting: forwardRef(() => TextBoxComponent),\r\n },\r\n ]\r\n})\r\nexport class TextBoxComponent extends TextBoxDirective<string> {\r\n readonly rows = input<number, unknown>(undefined, { transform: numberAttribute });\r\n readonly maxlength = input<number, unknown>(undefined, { transform: numberAttribute });\r\n readonly minlength = input<number, unknown>(undefined, { transform: numberAttribute });\r\n\r\n readonly textarea = computed(() => {\r\n const rows = this.rows();\r\n\r\n return rows ? rows >= 2 : false;\r\n });\r\n\r\n /** @internal */\r\n onBlurEvent(): void {\r\n this.markAsTouched();\r\n }\r\n\r\n /** @internal */\r\n onValueChanged(): void {\r\n const { nativeElement } = this.el();\r\n\r\n this.writeValue(nativeElement.value);\r\n }\r\n}\r\n","@if(textarea()) {\r\n <textarea\r\n #htmlInputElement\r\n role=\"textbox\"\r\n [value]='valueAsString()'\r\n [attr.id]=\"computedId()\"\r\n [attr.rows]=\"rows()\"\r\n [attr.tabindex]=\"disabled() ? -1 : tabindex()\"\r\n [attr.disabled]=\"disabled() || void 0\"\r\n [attr.readonly]=\"readonly() || void 0\"\r\n [attr.required]=\"required() || void 0\"\r\n [attr.autofocus]=\"autofocus()\"\r\n [attr.maxlength]=\"maxlength()\"\r\n [attr.minlength]=\"minlength()\"\r\n [attr.placeholder]=\"placeholder()\"\r\n [attr.aria-invalid]=\"invalid() || void 0\"\r\n [attr.aria-disabled]=\"disabled() || void 0\"\r\n [attr.aria-readonly]=\"readonly() || void 0\"\r\n [attr.aria-required]=\"required() || void 0\"\r\n [attr.aria-labelledby]=\"labelledby ? labelledby() : void 0\"\r\n [style.resize]=\"'none'\"\r\n [style.height]=\"'auto'\"\r\n (blur)=\"onBlurEvent()\"\r\n (input)=\"onValueChanged()\"\r\n ></textarea>\r\n} @else {\r\n <input\r\n #htmlInputElement\r\n type=\"text\"\r\n role=\"textbox\"\r\n [value]='valueAsString()'\r\n [attr.id]=\"computedId()\"\r\n [attr.tabindex]=\"disabled() ? -1 : tabindex()\"\r\n [attr.disabled]=\"disabled() || void 0\"\r\n [attr.readonly]=\"readonly() || void 0\"\r\n [attr.required]=\"required() || void 0\"\r\n [attr.autofocus]=\"autofocus()\"\r\n [attr.maxlength]=\"maxlength()\"\r\n [attr.minlength]=\"minlength()\"\r\n [attr.placeholder]=\"placeholder()\"\r\n [attr.aria-invalid]=\"invalid() || void 0\"\r\n [attr.aria-disabled]=\"disabled() || void 0\"\r\n [attr.aria-readonly]=\"readonly() || void 0\"\r\n [attr.aria-required]=\"required() || void 0\"\r\n [attr.aria-labelledby]=\"labelledby ? labelledby() : void 0\"\r\n (blur)=\"onBlurEvent()\"\r\n (input)=\"onValueChanged()\"\r\n />\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n computed,\r\n effect,\r\n ElementRef,\r\n forwardRef,\r\n input,\r\n viewChild,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\n\r\nimport { maskitoDateOptionsGenerator, maskitoParseDate, maskitoStringifyDate } from '@maskito/kit';\r\nimport { Maskito } from '@maskito/core';\r\n\r\nimport { ButtonComponent } from '@latitude-ui/widgets/button';\r\nimport { HTMLFormControl } from '@latitude-ui/widgets/core';\r\nimport { IconComponent } from '@latitude-ui/widgets/icons';\r\n\r\nimport { TextBoxDirective } from './textbox.directive';\r\n\r\nexport type DatePattern =\r\n | 'dd/mm'\r\n | 'dd/mm/yyyy'\r\n | 'mm/dd'\r\n | 'mm/dd/yyyy'\r\n | 'mm/yy'\r\n | 'mm/yyyy'\r\n | 'yyyy'\r\n | 'yyyy/mm'\r\n | 'yyyy/mm/dd';\r\n\r\n@Component({\r\n imports: [ButtonComponent, IconComponent],\r\n exportAs: 'latTextBox',\r\n selector: 'lat-textbox[type=\"date\"]',\r\n templateUrl: './textbox-date.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: HTMLFormControl,\r\n useExisting: forwardRef(() => TextBoxDateComponent),\r\n },\r\n ],\r\n})\r\nexport class TextBoxDateComponent extends TextBoxDirective<Date> {\r\n readonly max = input<Date>();\r\n readonly min = input<Date>();\r\n readonly pattern = input<DatePattern>('dd/mm/yyyy');\r\n readonly separator = input<string>('.');\r\n\r\n readonly maxvalue = computed(() => this.max() ?? new Date('9999-12-31'));\r\n readonly minvalue = computed(() => this.min() ?? new Date('0001-01-01'));\r\n\r\n readonly patternRegExp = computed(() => {\r\n const pattern = this.pattern();\r\n const separator = this.separator();\r\n\r\n const dd = '(?:0[1-9]|[12][0-9]|3[01])';\r\n const mm = '(?:0[1-9]|1[0-2])';\r\n const yy = '\\\\d{2}';\r\n const yyyy = '\\\\d{4}';\r\n\r\n const keyvalue = {\r\n 'dd/mm': `${dd}${separator}${mm}`,\r\n 'dd/mm/yyyy': `${dd}${separator}${mm}${separator}${yyyy}`,\r\n 'mm/dd': `${mm}${separator}${dd}`,\r\n 'mm/dd/yyyy': `${mm}${separator}${dd}${separator}${yyyy}`,\r\n 'mm/yy': `${mm}${separator}${yy}`,\r\n 'mm/yyyy': `${mm}${separator}${yyyy}`,\r\n \"yyyy\": `${yyyy}`,\r\n 'yyyy/mm': `${yyyy}${separator}${mm}`,\r\n 'yyyy/mm/dd': `${yyyy}${separator}${mm}${separator}${dd}`,\r\n } as const;\r\n\r\n return new RegExp(`^${keyvalue[pattern]}$`);\r\n });\r\n readonly patternPlaceholder = computed(() => {\r\n const pattern = this.pattern();\r\n const separator = this.separator();\r\n\r\n const regexp = new RegExp(/\\//g);\r\n\r\n return pattern.replace(regexp, separator);\r\n });\r\n\r\n\r\n readonly picker = viewChild.required('htmlInputPicker', { read: ElementRef<HTMLInputElement> });\r\n\r\n readonly maskitoDateParams = computed(() => {\r\n return {\r\n max: this.maxvalue(),\r\n min: this.minvalue(),\r\n mode: this.pattern(),\r\n separator: this.separator(),\r\n };\r\n });\r\n\r\n constructor() {\r\n super();\r\n\r\n effect((onCleanup) => {\r\n const el = this.el();\r\n const params = this.maskitoDateParams();\r\n\r\n const options = maskitoDateOptionsGenerator(params);\r\n\r\n const instance = new Maskito(el.nativeElement, options);\r\n\r\n onCleanup(() => instance.destroy());\r\n });\r\n }\r\n\r\n /** @internal */\r\n override valueStringify(value: unknown): string {\r\n const params = this.maskitoDateParams();\r\n\r\n if (typeof value === 'string') {\r\n value = this.parseDate(value);\r\n }\r\n\r\n if (value === null) {\r\n return '';\r\n }\r\n\r\n if (value instanceof Date) {\r\n return maskitoStringifyDate(value, params);\r\n }\r\n\r\n return value as string;\r\n }\r\n\r\n /** @internal */\r\n parseDate(value: string): Date | null {\r\n const params = this.maskitoDateParams();\r\n const pattern = this.patternRegExp();\r\n\r\n const valueAsDate = pattern.test(value) ? maskitoParseDate(value, params) : new Date(value);\r\n\r\n if (valueAsDate === null || Number.isNaN(valueAsDate.getTime())) {\r\n return null;\r\n }\r\n\r\n return valueAsDate;\r\n }\r\n\r\n /** @internal */\r\n valueUnsettled(value: string): boolean {\r\n return !this.patternRegExp().test(value);\r\n }\r\n\r\n /** @internal */\r\n onValueChanged(): void {\r\n const input = this.el();\r\n\r\n const valueAsString = input.nativeElement.value;\r\n\r\n if (this.valueUnsettled(valueAsString)) {\r\n return this.valueAsString.update(() => input.nativeElement.value);\r\n }\r\n\r\n const value = maskitoParseDate(valueAsString, this.maskitoDateParams());\r\n\r\n if (value === null) {\r\n return this.writeValue(value);\r\n }\r\n\r\n this.writeValue(value);\r\n }\r\n\r\n /** @internal */\r\n onFocusEvent(): void {\r\n const value = maskitoParseDate(this.valueAsString(), this.maskitoDateParams());\r\n\r\n if (Number.isNaN(value) && !this.readonly()) {\r\n this.valueAsString.set('');\r\n }\r\n }\r\n\r\n /** @internal */\r\n onBlurEvent(): void {\r\n this.markAsTouched();\r\n\r\n const valueAsString = this.valueAsString();\r\n if (this.valueUnsettled(valueAsString)) {\r\n this.valueAsString.update(() => this.valueStringify(this.value()));\r\n }\r\n }\r\n\r\n /** @internal */\r\n onPickerShow(event: PointerEvent) {\r\n const { nativeElement } = this.picker();\r\n\r\n event.preventDefault();\r\n event.stopPropagation();\r\n\r\n\r\n const value = this.value();\r\n if (value instanceof Date || value === null) {\r\n nativeElement.valueAsDate = value;\r\n } else {\r\n nativeElement.valueAsDate = this.parseDate(this.valueAsString());\r\n }\r\n\r\n nativeElement.showPicker();\r\n }\r\n\r\n /** @internal */\r\n onPickerChange() {\r\n const { nativeElement } = this.picker();\r\n\r\n const value = new Date(nativeElement.value);\r\n\r\n this.writeValue(value);\r\n }\r\n}\r\n","<input #htmlInputPicker type=\"date\" aria-hidden=\"true\" (change)=\"onPickerChange()\"/>\r\n\r\n<input\r\n #htmlInputElement\r\n type=\"text\"\r\n role=\"textbox\"\r\n autocomplete=\"off\"\r\n autocapitalize=\"off\"\r\n [value]='valueAsString()'\r\n [attr.id]=\"computedId()\"\r\n [attr.tabindex]=\"disabled() ? -1 : tabindex()\"\r\n [attr.disabled]=\"disabled() || void 0\"\r\n [attr.readonly]=\"readonly() || void 0\"\r\n [attr.required]=\"required() || void 0\"\r\n [attr.autofocus]=\"autofocus()\"\r\n [attr.placeholder]=\"placeholder() || patternPlaceholder()\"\r\n [attr.aria-invalid]=\"invalid() || void 0\"\r\n [attr.aria-disabled]=\"disabled() || void 0\"\r\n [attr.aria-readonly]=\"readonly() || void 0\"\r\n [attr.aria-required]=\"required() || void 0\"\r\n [attr.aria-labelledby]=\"labelledby ? labelledby() : void 0\"\r\n (blur)=\"onBlurEvent()\"\r\n (focus)=\"onFocusEvent()\"\r\n (input)=\"onValueChanged()\"\r\n/>\r\n\r\n@if (!readonly()) {\r\n <div>\r\n <lat-button\r\n size=\"inherit\"\r\n variant=\"inherit\"\r\n tabindex=\"-1\"\r\n [disabled]=\"disabled() || void 0\"\r\n (click)=\"onPickerShow($event)\"\r\n >\r\n <lat-icon name=\"calendar-week\" />\r\n </lat-button>\r\n </div>\r\n}\r\n\r\n\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n computed,\r\n effect,\r\n forwardRef,\r\n input,\r\n numberAttribute,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\n\r\nimport { Maskito, maskitoInitialCalibrationPlugin } from '@maskito/core';\r\nimport { maskitoNumberOptionsGenerator, maskitoParseNumber, maskitoStringifyNumber } from '@maskito/kit';\r\n\r\nimport { ButtonComponent } from '@latitude-ui/widgets/button';\r\nimport { HTMLFormControl } from '@latitude-ui/widgets/core';\r\nimport { IconComponent } from '@latitude-ui/widgets/icons';\r\n\r\nimport { TextBoxDirective } from './textbox.directive';\r\n\r\n@Component({\r\n imports: [ButtonComponent, IconComponent],\r\n exportAs: 'latTextBox',\r\n selector: 'lat-textbox[type=\"number\"]',\r\n templateUrl: './textbox-number.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: HTMLFormControl,\r\n useExisting: forwardRef(() => TextBoxNumberComponent),\r\n },\r\n ],\r\n})\r\nexport class TextBoxNumberComponent extends TextBoxDirective<number> {\r\n readonly max = input<number, unknown>(undefined, { transform: numberAttribute });\r\n readonly min = input<number, unknown>(undefined, { transform: numberAttribute });\r\n readonly step = input<number, unknown>(undefined, { transform: numberAttribute });\r\n readonly decimals = input<number>(2);\r\n readonly decimalSeparator = input<',' | '.'>(',');\r\n readonly decimalZeroPadding = input<boolean>(false);\r\n readonly thousandSeparator = input<string>('');\r\n\r\n readonly maxvalue = computed(() => this.parseNumber(this.max(), Number.MAX_SAFE_INTEGER));\r\n readonly minvalue = computed(() => this.parseNumber(this.min(), Number.MIN_SAFE_INTEGER));\r\n readonly nowvalue = computed(() => this.value() || 0);\r\n\r\n readonly maxlength = computed(() => {\r\n const { decimalSeparator, thousandSeparator } = this.maskitoNumberParams();\r\n\r\n const decimals = this.decimals();\r\n\r\n const mantissa = decimals && this.valueAsString().includes(decimalSeparator);\r\n const precision = mantissa ? Math.min(decimals + 1, 20) : 0;\r\n const thousand = thousandSeparator.repeat(5).length;\r\n\r\n return 18 + precision + thousand;\r\n });\r\n\r\n readonly maskitoNumberParams = computed(() => {\r\n return {\r\n max: this.maxvalue(),\r\n min: this.minvalue(),\r\n minusSign: '-',\r\n maximumFractionDigits: this.decimals(),\r\n minimumFractionDigits: this.decimalZeroPadding() ? this.decimals() : 0,\r\n decimalSeparator: this.decimalSeparator(),\r\n thousandSeparator: this.thousandSeparator(),\r\n };\r\n });\r\n\r\n constructor() {\r\n super();\r\n\r\n effect((onCleanup) => {\r\n const el = this.el();\r\n const params = this.maskitoNumberParams();\r\n\r\n const { plugins, ...options } = maskitoNumberOptionsGenerator(params);\r\n\r\n const instance = new Maskito(el.nativeElement, {\r\n ...options,\r\n plugins: [\r\n ...plugins,\r\n maskitoInitialCalibrationPlugin(\r\n maskitoNumberOptionsGenerator({\r\n ...params,\r\n min: Number.MIN_SAFE_INTEGER,\r\n max: Number.MAX_SAFE_INTEGER,\r\n })\r\n ),\r\n ],\r\n });\r\n\r\n onCleanup(() => instance.destroy());\r\n });\r\n }\r\n\r\n /** @internal */\r\n override valueStringify(valueAsString: unknown): string {\r\n const value = this.parseNumber(valueAsString);\r\n if (value === null) {\r\n return '';\r\n }\r\n\r\n return maskitoStringifyNumber(value, this.maskitoNumberParams());\r\n }\r\n\r\n /** @internal */\r\n valueSimplify(value: string): string {\r\n const decimalSeparator = new RegExp(this.decimalSeparator(), 'gi');\r\n const thousandSeparator = new RegExp(this.thousandSeparator(), 'gi');\r\n\r\n return value.replace(thousandSeparator, '').replace(decimalSeparator, '.');\r\n }\r\n\r\n /** @internal */\r\n valueUnsettled(value: string): boolean {\r\n return !!(value === '-' || value.match(/^\\s*([-+])?\\d+\\.$/) || value.match(/^\\s*([-+])?\\d+\\.[0-9]*0$/) || value.match(/^\\s*([-+])0+$/));\r\n }\r\n\r\n /** @internal */\r\n parseNumber(value: unknown): number | null;\r\n parseNumber<const T extends number | null>(value: unknown, fallback: T): number | T;\r\n parseNumber<const T extends number | null>(value: unknown, fallback: T | null = null): number | null | T {\r\n let valueAsNumber: number | null = null;\r\n\r\n if(value === null || value === undefined) {\r\n return fallback as T;\r\n }\r\n\r\n if (typeof value === 'number') {\r\n valueAsNumber = value;\r\n } else if (typeof value === 'string') {\r\n valueAsNumber = Number.parseFloat(value);\r\n }\r\n\r\n if (Number.isNaN(value)) {\r\n return fallback as T;\r\n }\r\n\r\n return valueAsNumber;\r\n }\r\n\r\n /** @internal */\r\n onValueChanged(): void {\r\n const input = this.el();\r\n\r\n const valueAsString = this.valueSimplify(input.nativeElement.value);\r\n\r\n\r\n if (this.valueUnsettled(valueAsString)) {\r\n return this.valueAsString.update(() => input.nativeElement.value);\r\n }\r\n\r\n const value = this.parseNumber(valueAsString);\r\n\r\n if (value === null) {\r\n return this.writeValue(value);\r\n }\r\n\r\n if (value < this.minvalue() || value > this.maxvalue()) {\r\n return void 0;\r\n }\r\n\r\n this.writeValue(value);\r\n }\r\n\r\n /** @internal */\r\n onValueSpined(mul: 1 | -1): void {\r\n const value = (this.value() ?? 0) + (this.step() ?? 0) * mul;\r\n\r\n if (value < this.minvalue() || value > this.maxvalue()) {\r\n return void 0;\r\n }\r\n\r\n const factor = Math.pow(10, this.decimals());\r\n\r\n this.writeValue(Math.round(value * factor) / factor);\r\n }\r\n\r\n /** @internal */\r\n onFocusEvent(): void {\r\n const value = maskitoParseNumber(this.valueAsString(), this.maskitoNumberParams());\r\n\r\n if (Number.isNaN(value) && !this.readonly()) {\r\n this.valueAsString.set('');\r\n }\r\n }\r\n\r\n /** @internal */\r\n onBlurEvent(): void {\r\n this.markAsTouched();\r\n\r\n const valueAsString = this.valueSimplify(this.valueAsString());\r\n\r\n if (this.valueUnsettled(valueAsString)) {\r\n this.valueAsString.update(() => this.valueStringify(this.value()));\r\n }\r\n }\r\n}\r\n","<input\r\n #htmlInputElement\r\n type=\"text\"\r\n role=\"spinbutton\"\r\n autocomplete=\"off\"\r\n autocapitalize=\"off\"\r\n [value]='valueAsString()'\r\n [attr.id]=\"computedId()\"\r\n [attr.tabindex]=\"disabled() ? -1 : tabindex()\"\r\n [attr.disabled]=\"disabled() || void 0\"\r\n [attr.readonly]=\"readonly() || void 0\"\r\n [attr.required]=\"required() || void 0\"\r\n [attr.autofocus]=\"autofocus()\"\r\n [attr.maxlength]=\"maxlength()\"\r\n [attr.placeholder]=\"placeholder()\"\r\n [attr.aria-invalid]=\"invalid() || void 0\"\r\n [attr.aria-valuemax]=\"maxvalue()\"\r\n [attr.aria-valuemin]=\"minvalue()\"\r\n [attr.aria-valuenow]=\"nowvalue()\"\r\n [attr.aria-disabled]=\"disabled() || void 0\"\r\n [attr.aria-readonly]=\"readonly() || void 0\"\r\n [attr.aria-required]=\"required() || void 0\"\r\n [attr.aria-labelledby]=\"labelledby ? labelledby() : void 0\"\r\n (blur)=\"onBlurEvent()\"\r\n (focus)=\"onFocusEvent()\"\r\n (input)=\"onValueChanged()\"\r\n/>\r\n\r\n@if (step() && !readonly()) {\r\n <div>\r\n <lat-button\r\n size=\"inherit\"\r\n variant=\"inherit\"\r\n tabindex=\"-1\"\r\n [disabled]=\"disabled() || void 0\"\r\n (click)=\"onValueSpined(1)\"\r\n >\r\n <lat-icon name=\"chevron-up\" />\r\n </lat-button>\r\n <lat-button\r\n size=\"inherit\"\r\n variant=\"inherit\"\r\n tabindex=\"-1\"\r\n [disabled]=\"disabled() || void 0\"\r\n (click)=\"onValueSpined(-1)\"\r\n >\r\n <lat-icon name=\"chevron-down\" />\r\n </lat-button>\r\n </div>\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { input, ChangeDetectionStrategy, ViewEncapsulation, Component } from '@angular/core';
|
|
2
|
+
import { input, forwardRef, ChangeDetectionStrategy, ViewEncapsulation, Component } from '@angular/core';
|
|
3
|
+
import { BUTTON_PATTERN } from '@latitude-ui/widgets/button';
|
|
3
4
|
|
|
4
5
|
class ToolBarComponent {
|
|
5
6
|
role = input('toolbar', ...(ngDevMode ? [{ debugName: "role" }] : []));
|
|
@@ -7,11 +8,21 @@ class ToolBarComponent {
|
|
|
7
8
|
dock = input('none', ...(ngDevMode ? [{ debugName: "dock" }] : []));
|
|
8
9
|
variant = input('default', ...(ngDevMode ? [{ debugName: "variant" }] : []));
|
|
9
10
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ToolBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
10
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.3", type: ToolBarComponent, isStandalone: true, selector: "lat-toolbar", inputs: { role: { classPropertyName: "role", publicName: "role", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, dock: { classPropertyName: "dock", publicName: "dock", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.role": "role()", "attr.size": "size()", "attr.dock": "dock()", "attr.variant": "variant()" } },
|
|
11
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.3", type: ToolBarComponent, isStandalone: true, selector: "lat-toolbar", inputs: { role: { classPropertyName: "role", publicName: "role", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, dock: { classPropertyName: "dock", publicName: "dock", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.role": "role()", "attr.size": "size()", "attr.dock": "dock()", "attr.variant": "variant()" } }, providers: [
|
|
12
|
+
{
|
|
13
|
+
provide: BUTTON_PATTERN,
|
|
14
|
+
useExisting: forwardRef(() => ToolBarComponent)
|
|
15
|
+
}
|
|
16
|
+
], exportAs: ["latToolBar"], ngImport: i0, template: "<ng-content />\r\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
11
17
|
}
|
|
12
18
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ToolBarComponent, decorators: [{
|
|
13
19
|
type: Component,
|
|
14
|
-
args: [{ exportAs: 'latToolBar', selector: 'lat-toolbar', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush,
|
|
20
|
+
args: [{ exportAs: 'latToolBar', selector: 'lat-toolbar', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
21
|
+
{
|
|
22
|
+
provide: BUTTON_PATTERN,
|
|
23
|
+
useExisting: forwardRef(() => ToolBarComponent)
|
|
24
|
+
}
|
|
25
|
+
], host: {
|
|
15
26
|
'[attr.role]': 'role()',
|
|
16
27
|
'[attr.size]': 'size()',
|
|
17
28
|
'[attr.dock]': 'dock()',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"latitude-ui-widgets-toolbar.mjs","sources":["../../../../packages/widgets/toolbar/lib/toolbar.component.ts","../../../../packages/widgets/toolbar/lib/toolbar.component.html","../../../../packages/widgets/toolbar/latitude-ui-widgets-toolbar.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, input, ViewEncapsulation } from '@angular/core';\r\nimport { BoxSize } from '@latitude-ui/widgets/core';\r\n\r\nexport type ToolBarSize = BoxSize;\r\nexport type ToolBarDock = 'top' | 'bottom' | 'topbottom' | 'none';\r\nexport type ToolBarVariant = 'default' | ({} & string);\r\n\r\n\r\n@Component({\r\n exportAs: 'latToolBar',\r\n selector: 'lat-toolbar',\r\n templateUrl: './toolbar.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n host: {\r\n '[attr.role]': 'role()',\r\n '[attr.size]': 'size()',\r\n '[attr.dock]': 'dock()',\r\n '[attr.variant]': 'variant()'\r\n }\r\n})\r\nexport class ToolBarComponent {\r\n readonly role = input<string>('toolbar');\r\n readonly size = input<ToolBarSize>('md');\r\n readonly dock = input<ToolBarDock>('none');\r\n readonly variant = input<ToolBarVariant>('default');\r\n}\r\n","<ng-content />\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"latitude-ui-widgets-toolbar.mjs","sources":["../../../../packages/widgets/toolbar/lib/toolbar.component.ts","../../../../packages/widgets/toolbar/lib/toolbar.component.html","../../../../packages/widgets/toolbar/latitude-ui-widgets-toolbar.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, forwardRef, input, ViewEncapsulation } from '@angular/core';\r\n\r\nimport { BUTTON_PATTERN } from '@latitude-ui/widgets/button';\r\nimport { BoxSize } from '@latitude-ui/widgets/core';\r\n\r\nexport type ToolBarSize = BoxSize;\r\nexport type ToolBarDock = 'top' | 'bottom' | 'topbottom' | 'none';\r\nexport type ToolBarVariant = 'default' | ({} & string);\r\n\r\n\r\n@Component({\r\n exportAs: 'latToolBar',\r\n selector: 'lat-toolbar',\r\n templateUrl: './toolbar.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: BUTTON_PATTERN,\r\n useExisting: forwardRef(() => ToolBarComponent)\r\n }\r\n ],\r\n host: {\r\n '[attr.role]': 'role()',\r\n '[attr.size]': 'size()',\r\n '[attr.dock]': 'dock()',\r\n '[attr.variant]': 'variant()'\r\n }\r\n})\r\nexport class ToolBarComponent {\r\n readonly role = input<string>('toolbar');\r\n readonly size = input<ToolBarSize>('md');\r\n readonly dock = input<ToolBarDock>('none');\r\n readonly variant = input<ToolBarVariant>('default');\r\n}\r\n","<ng-content />\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;MA6Ba,gBAAgB,CAAA;AAClB,IAAA,IAAI,GAAG,KAAK,CAAS,SAAS,gDAAC;AAC/B,IAAA,IAAI,GAAG,KAAK,CAAc,IAAI,gDAAC;AAC/B,IAAA,IAAI,GAAG,KAAK,CAAc,MAAM,gDAAC;AACjC,IAAA,OAAO,GAAG,KAAK,CAAiB,SAAS,mDAAC;uGAJxC,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAhB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,WAAA,EAAA,QAAA,EAAA,WAAA,EAAA,QAAA,EAAA,WAAA,EAAA,QAAA,EAAA,cAAA,EAAA,WAAA,EAAA,EAAA,EAAA,SAAA,EAbhB;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,cAAc;AACvB,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,gBAAgB;AAC/C;AACF,SAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECrBH,oBACA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FD4Ba,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAnB5B,SAAS;+BACE,YAAY,EAAA,QAAA,EACZ,aAAa,EAAA,aAAA,EAER,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,SAAA,EACpC;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,cAAc;AACvB,4BAAA,WAAW,EAAE,UAAU,CAAC,sBAAsB;AAC/C;qBACF,EAAA,IAAA,EACK;AACJ,wBAAA,aAAa,EAAE,QAAQ;AACvB,wBAAA,aAAa,EAAE,QAAQ;AACvB,wBAAA,aAAa,EAAE,QAAQ;AACvB,wBAAA,gBAAgB,EAAE;AACnB,qBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA;;;AE3BH;;AAEG;;;;"}
|
package/package.json
CHANGED
|
@@ -1,21 +1,16 @@
|
|
|
1
1
|
import * as _latitude_ui_widgets_core from '@latitude-ui/widgets/core';
|
|
2
2
|
import { BoxSize } from '@latitude-ui/widgets/core';
|
|
3
3
|
import * as _angular_core from '@angular/core';
|
|
4
|
-
import { InjectionToken,
|
|
4
|
+
import { ElementRef, InjectionToken, Signal } from '@angular/core';
|
|
5
5
|
|
|
6
|
-
type
|
|
7
|
-
|
|
8
|
-
size: BoxSize;
|
|
9
|
-
variant: 'default' | 'action' | 'secondary' | 'text' | 'link' | 'inherit' | ({} & string);
|
|
10
|
-
};
|
|
11
|
-
declare const BUTTON_OPTIONS: InjectionToken<ButtonOptions>;
|
|
6
|
+
type ButtonSize = BoxSize;
|
|
7
|
+
type ButtonVariant = 'default' | 'action' | 'secondary' | 'text' | 'link' | 'inherit' | ({} & string);
|
|
12
8
|
|
|
13
9
|
declare class ButtonComponent {
|
|
14
10
|
readonly button: ElementRef<any>;
|
|
15
|
-
readonly options: ButtonOptions;
|
|
16
11
|
readonly role: _angular_core.InputSignal<string>;
|
|
17
|
-
readonly size: _angular_core.InputSignal<_latitude_ui_widgets_core.BoxSize>;
|
|
18
|
-
readonly variant: _angular_core.InputSignal<
|
|
12
|
+
readonly size: _angular_core.InputSignal<_latitude_ui_widgets_core.BoxSize | undefined>;
|
|
13
|
+
readonly variant: _angular_core.InputSignal<ButtonVariant | undefined>;
|
|
19
14
|
readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
20
15
|
readonly tabindex: _angular_core.InputSignalWithTransform<number | undefined, unknown>;
|
|
21
16
|
readonly icononly: _angular_core.WritableSignal<boolean>;
|
|
@@ -23,8 +18,14 @@ declare class ButtonComponent {
|
|
|
23
18
|
_setUpPolyfill(): void;
|
|
24
19
|
_setUpListener(): void;
|
|
25
20
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ButtonComponent, never>;
|
|
26
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ButtonComponent, "lat-button
|
|
21
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ButtonComponent, "lat-button", ["latButton"], { "role": { "alias": "role"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "tabindex": { "alias": "tabindex"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
27
22
|
}
|
|
28
23
|
|
|
29
|
-
|
|
30
|
-
|
|
24
|
+
interface ButtonPattern {
|
|
25
|
+
readonly size: Signal<ButtonSize>;
|
|
26
|
+
readonly variant: Signal<ButtonVariant>;
|
|
27
|
+
}
|
|
28
|
+
declare const BUTTON_PATTERN: InjectionToken<ButtonPattern>;
|
|
29
|
+
|
|
30
|
+
export { BUTTON_PATTERN, ButtonComponent };
|
|
31
|
+
export type { ButtonPattern, ButtonSize, ButtonVariant };
|
|
@@ -1,44 +1,21 @@
|
|
|
1
|
-
import * as _angular_forms from '@angular/forms';
|
|
2
|
-
import { NgControl, AbstractControl, FormControlStatus } from '@angular/forms';
|
|
3
1
|
import * as _angular_core from '@angular/core';
|
|
4
2
|
import { InjectionToken, Signal } from '@angular/core';
|
|
5
|
-
import * as
|
|
3
|
+
import * as _angular_forms from '@angular/forms';
|
|
4
|
+
import { NgControl, FormControlStatus, AbstractControl } from '@angular/forms';
|
|
6
5
|
|
|
7
6
|
type BoxSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'inherit';
|
|
8
|
-
declare const VARIANT_PATTERN: InjectionToken<string>;
|
|
9
|
-
declare const BOX_SIZE_PATTERN: InjectionToken<BoxSize>;
|
|
10
7
|
|
|
11
|
-
declare
|
|
12
|
-
readonly id: _angular_core.InputSignal<string | undefined>;
|
|
13
|
-
readonly size: _angular_core.InputSignal<_latitude_ui_widgets_core.BoxSize>;
|
|
14
|
-
readonly variant: _angular_core.InputSignal<HTMLFormControlVariant>;
|
|
15
|
-
readonly control: _angular_core.Signal<HTMLFormControl<any>>;
|
|
16
|
-
readonly htmlId: _angular_core.Signal<string>;
|
|
17
|
-
readonly controlId: _angular_core.Signal<string>;
|
|
18
|
-
readonly value: _angular_core.Signal<any>;
|
|
19
|
-
readonly valueAsString: _angular_core.Signal<string>;
|
|
20
|
-
readonly status: _angular_core.Signal<_angular_forms.FormControlStatus>;
|
|
21
|
-
readonly touched: _angular_core.Signal<boolean>;
|
|
22
|
-
readonly dirty: _angular_core.Signal<boolean>;
|
|
23
|
-
readonly valid: _angular_core.Signal<boolean>;
|
|
24
|
-
readonly errors: _angular_core.Signal<_angular_forms.ValidationErrors | null>;
|
|
25
|
-
readonly invalid: _angular_core.Signal<boolean>;
|
|
26
|
-
readonly pending: _angular_core.Signal<boolean>;
|
|
27
|
-
readonly pristine: _angular_core.Signal<boolean>;
|
|
28
|
-
readonly disabled: _angular_core.Signal<boolean>;
|
|
29
|
-
readonly readonly: _angular_core.Signal<boolean>;
|
|
30
|
-
readonly required: _angular_core.Signal<boolean>;
|
|
31
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<HTMLFormControlContainer<any>, never>;
|
|
32
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<HTMLFormControlContainer<any>, never, never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; }, {}, ["control"], never, true, never>;
|
|
33
|
-
}
|
|
8
|
+
declare const LAT_ASSETS_PATH: InjectionToken<string>;
|
|
34
9
|
|
|
35
10
|
type HTMLFormControlSize = BoxSize;
|
|
36
11
|
type HTMLFormControlVariant = 'default' | 'inherit' | ({} & string);
|
|
12
|
+
declare const ARIA_LABELLEDBY: InjectionToken<Signal<string>>;
|
|
13
|
+
declare const ARIA_ERRORMESSAGE: InjectionToken<Signal<string>>;
|
|
37
14
|
declare class HTMLFormControl<T> {
|
|
38
15
|
readonly dir: NgControl;
|
|
39
16
|
readonly ownerCt: HTMLFormControlContainer<any> | null;
|
|
40
|
-
readonly labelledby:
|
|
41
|
-
readonly errormessage:
|
|
17
|
+
readonly labelledby: Signal<string> | null;
|
|
18
|
+
readonly errormessage: Signal<string> | null;
|
|
42
19
|
readonly id: _angular_core.InputSignal<string | undefined>;
|
|
43
20
|
readonly size: _angular_core.InputSignal<BoxSize>;
|
|
44
21
|
readonly variant: _angular_core.InputSignal<HTMLFormControlVariant>;
|
|
@@ -47,21 +24,21 @@ declare class HTMLFormControl<T> {
|
|
|
47
24
|
readonly required: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
48
25
|
readonly autofocus: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
49
26
|
readonly placeholder: _angular_core.InputSignal<string | undefined>;
|
|
50
|
-
readonly value:
|
|
51
|
-
readonly control:
|
|
27
|
+
readonly value: Signal<T | null>;
|
|
28
|
+
readonly control: Signal<AbstractControl<any, any, any> | null>;
|
|
52
29
|
readonly valueAsString: _angular_core.WritableSignal<string>;
|
|
53
|
-
readonly status:
|
|
54
|
-
readonly touched:
|
|
55
|
-
readonly pristine:
|
|
56
|
-
readonly valid:
|
|
57
|
-
readonly invalid:
|
|
58
|
-
readonly pending:
|
|
59
|
-
readonly disabled:
|
|
60
|
-
readonly dirty:
|
|
61
|
-
readonly errors:
|
|
62
|
-
readonly computedId:
|
|
63
|
-
readonly computedSize:
|
|
64
|
-
readonly computedVariant:
|
|
30
|
+
readonly status: Signal<FormControlStatus>;
|
|
31
|
+
readonly touched: Signal<boolean>;
|
|
32
|
+
readonly pristine: Signal<boolean>;
|
|
33
|
+
readonly valid: Signal<boolean>;
|
|
34
|
+
readonly invalid: Signal<boolean>;
|
|
35
|
+
readonly pending: Signal<boolean>;
|
|
36
|
+
readonly disabled: Signal<boolean>;
|
|
37
|
+
readonly dirty: Signal<boolean>;
|
|
38
|
+
readonly errors: Signal<_angular_forms.ValidationErrors | null>;
|
|
39
|
+
readonly computedId: Signal<string | undefined>;
|
|
40
|
+
readonly computedSize: Signal<BoxSize>;
|
|
41
|
+
readonly computedVariant: Signal<HTMLFormControlVariant>;
|
|
65
42
|
/** @internal */
|
|
66
43
|
readonly _value: _angular_core.WritableSignal<T | null>;
|
|
67
44
|
/** @internal */
|
|
@@ -92,15 +69,33 @@ declare class HTMLFormControl<T> {
|
|
|
92
69
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<HTMLFormControl<any>, never>;
|
|
93
70
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<HTMLFormControl<any>, never, never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "tabindex": { "alias": "tabindex"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "autofocus": { "alias": "autofocus"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
94
71
|
}
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
72
|
+
declare class HTMLFormControlContainer<T> {
|
|
73
|
+
readonly id: _angular_core.InputSignal<string | undefined>;
|
|
74
|
+
readonly size: _angular_core.InputSignal<BoxSize>;
|
|
75
|
+
readonly variant: _angular_core.InputSignal<HTMLFormControlVariant>;
|
|
76
|
+
readonly control: Signal<HTMLFormControl<any>>;
|
|
77
|
+
readonly htmlId: Signal<string>;
|
|
78
|
+
readonly controlId: Signal<string>;
|
|
79
|
+
readonly value: Signal<any>;
|
|
80
|
+
readonly valueAsString: Signal<string>;
|
|
81
|
+
readonly status: Signal<FormControlStatus>;
|
|
82
|
+
readonly touched: Signal<boolean>;
|
|
83
|
+
readonly dirty: Signal<boolean>;
|
|
84
|
+
readonly valid: Signal<boolean>;
|
|
85
|
+
readonly errors: Signal<_angular_forms.ValidationErrors | null>;
|
|
86
|
+
readonly invalid: Signal<boolean>;
|
|
87
|
+
readonly pending: Signal<boolean>;
|
|
88
|
+
readonly pristine: Signal<boolean>;
|
|
89
|
+
readonly disabled: Signal<boolean>;
|
|
90
|
+
readonly readonly: Signal<boolean>;
|
|
91
|
+
readonly required: Signal<boolean>;
|
|
92
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<HTMLFormControlContainer<any>, never>;
|
|
93
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<HTMLFormControlContainer<any>, never, never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; }, {}, ["control"], never, true, never>;
|
|
94
|
+
}
|
|
100
95
|
|
|
101
96
|
declare function noop(): void;
|
|
102
97
|
|
|
103
98
|
declare function uid(): string;
|
|
104
99
|
|
|
105
|
-
export { ARIA_ERRORMESSAGE, ARIA_LABELLEDBY,
|
|
100
|
+
export { ARIA_ERRORMESSAGE, ARIA_LABELLEDBY, HTMLFormControl, HTMLFormControlContainer, LAT_ASSETS_PATH, noop, uid };
|
|
106
101
|
export type { BoxSize, HTMLFormControlSize, HTMLFormControlVariant };
|