@latitude-ui/widgets 0.0.34 → 0.0.36
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-core.mjs +1 -0
- package/fesm2022/latitude-ui-widgets-core.mjs.map +1 -1
- package/fesm2022/latitude-ui-widgets-lookup.mjs +15 -11
- package/fesm2022/latitude-ui-widgets-lookup.mjs.map +1 -1
- package/fesm2022/latitude-ui-widgets-select.mjs +12 -5
- package/fesm2022/latitude-ui-widgets-select.mjs.map +1 -1
- package/package.json +1 -1
- package/types/latitude-ui-widgets-core.d.ts +1 -0
- package/types/latitude-ui-widgets-lookup.d.ts +3 -2
- package/types/latitude-ui-widgets-select.d.ts +2 -1
|
@@ -52,6 +52,7 @@ class FormControlComponent {
|
|
|
52
52
|
computedId = computed(() => this.ownerCt ? this.ownerCt.controlId() : this.id(), ...(ngDevMode ? [{ debugName: "computedId" }] : []));
|
|
53
53
|
computedSize = computed(() => this.ownerCt ? this.ownerCt.size() : this.size(), ...(ngDevMode ? [{ debugName: "computedSize" }] : []));
|
|
54
54
|
computedVariant = computed(() => this.ownerCt ? this.ownerCt.variant() : this.variant(), ...(ngDevMode ? [{ debugName: "computedVariant" }] : []));
|
|
55
|
+
nullish = computed(() => Object.is(this.value(), void 0) || Object.is(this.value(), null), ...(ngDevMode ? [{ debugName: "nullish" }] : []));
|
|
55
56
|
/** @internalApi */
|
|
56
57
|
_value = signal(this.dir.value, ...(ngDevMode ? [{ debugName: "_value" }] : []));
|
|
57
58
|
/** @internalApi */
|
|
@@ -1 +1 @@
|
|
|
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 FormControlSize = BoxSize;\r\nexport type FormControlVariant = '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.data-size]': 'computedSize() || void 0',\r\n '[attr.data-variant]': 'computedVariant() || void 0',\r\n }\r\n})\r\nexport class FormControlComponent<T> {\r\n readonly dir = inject(NgControl, { self: true });\r\n readonly ownerCt = inject(FormControlContainer, { 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<FormControlSize>('md');\r\n readonly variant = input<FormControlVariant>('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 /** @internalApi */\r\n readonly _value = signal<T | null>(this.dir.value);\r\n\r\n /** @internalApi */\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.markAsChangedFn = () => 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.markAsTouchedFn = () => 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 * @publicApi\r\n */\r\n updateValue(value: T | null): void {\r\n if (this.writeValue(value)) {\r\n this.markAsChangedFn();\r\n }\r\n }\r\n\r\n /**\r\n * Marks the control as `dirty`.\r\n *\r\n * @publicApi\r\n */\r\n markAsChanged(): void {\r\n this.markAsChangedFn();\r\n }\r\n\r\n /**\r\n * Marks the control as `touched`.\r\n *\r\n * @publicApi\r\n */\r\n markAsTouched(): void {\r\n this.markAsTouchedFn();\r\n }\r\n\r\n /** @internalApi */\r\n valueEquality(value0: T | null, value1: unknown): boolean {\r\n return Object.is(value0, value1);\r\n }\r\n\r\n /** @internalApi */\r\n valueStringify(value: unknown): string {\r\n return value !== null && value !== undefined ? value.toString() : '';\r\n }\r\n\r\n /** @internalApi */\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 /** @internalApi */\r\n markAsTouchedFn: VoidFunction = noop;\r\n\r\n /** @internalApi */\r\n markAsChangedFn: VoidFunction = noop;\r\n}\r\n\r\n\r\n@Directive({\r\n host: {\r\n '[attr.id]': 'htmlId()',\r\n '[attr.data-size]': 'size() || void 0',\r\n '[attr.data-variant]': 'variant() || void 0',\r\n }\r\n})\r\nexport class FormControlContainer<T> {\r\n readonly id = input<string>();\r\n readonly size = input<FormControlSize>('md');\r\n readonly variant = input<FormControlVariant>('default');\r\n\r\n readonly control = contentChild.required(FormControlComponent<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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"}
|
|
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 FormControlSize = BoxSize;\r\nexport type FormControlVariant = '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.data-size]': 'computedSize() || void 0',\r\n '[attr.data-variant]': 'computedVariant() || void 0',\r\n }\r\n})\r\nexport class FormControlComponent<T> {\r\n readonly dir = inject(NgControl, { self: true });\r\n readonly ownerCt = inject(FormControlContainer, { 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<FormControlSize>('md');\r\n readonly variant = input<FormControlVariant>('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 readonly nullish = computed(() => Object.is(this.value(), void 0) || Object.is(this.value(), null))\r\n\r\n /** @internalApi */\r\n readonly _value = signal<T | null>(this.dir.value);\r\n\r\n /** @internalApi */\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.markAsChangedFn = () => 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.markAsTouchedFn = () => 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 * @publicApi\r\n */\r\n updateValue(value: T | null): void {\r\n if (this.writeValue(value)) {\r\n this.markAsChangedFn();\r\n }\r\n }\r\n\r\n /**\r\n * Marks the control as `dirty`.\r\n *\r\n * @publicApi\r\n */\r\n markAsChanged(): void {\r\n this.markAsChangedFn();\r\n }\r\n\r\n /**\r\n * Marks the control as `touched`.\r\n *\r\n * @publicApi\r\n */\r\n markAsTouched(): void {\r\n this.markAsTouchedFn();\r\n }\r\n\r\n /** @internalApi */\r\n valueEquality(value0: T | null, value1: unknown): boolean {\r\n return Object.is(value0, value1);\r\n }\r\n\r\n /** @internalApi */\r\n valueStringify(value: unknown): string {\r\n return value !== null && value !== undefined ? value.toString() : '';\r\n }\r\n\r\n /** @internalApi */\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 /** @internalApi */\r\n markAsTouchedFn: VoidFunction = noop;\r\n\r\n /** @internalApi */\r\n markAsChangedFn: VoidFunction = noop;\r\n}\r\n\r\n\r\n@Directive({\r\n host: {\r\n '[attr.id]': 'htmlId()',\r\n '[attr.data-size]': 'size() || void 0',\r\n '[attr.data-variant]': 'variant() || void 0',\r\n }\r\n})\r\nexport class FormControlContainer<T> {\r\n readonly id = input<string>();\r\n readonly size = input<FormControlSize>('md');\r\n readonly variant = input<FormControlVariant>('default');\r\n\r\n readonly control = contentChild.required(FormControlComponent<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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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { input, forwardRef, ChangeDetectionStrategy, ViewEncapsulation, Component } from '@angular/core';
|
|
2
|
+
import { input, booleanAttribute, forwardRef, ChangeDetectionStrategy, ViewEncapsulation, Component } from '@angular/core';
|
|
3
3
|
import { FormControlComponent } from '@latitude-ui/widgets/core';
|
|
4
4
|
import { ButtonComponent } from '@latitude-ui/widgets/button';
|
|
5
5
|
import { IconComponent } from '@latitude-ui/widgets/icons';
|
|
@@ -11,7 +11,11 @@ const DEFAULT_STRINGIFY = (value) => value.toString();
|
|
|
11
11
|
class LookupComponent extends FormControlComponent {
|
|
12
12
|
popover = input(DEFAULT_POPOVER, ...(ngDevMode ? [{ debugName: "popover" }] : []));
|
|
13
13
|
stringify = input(DEFAULT_STRINGIFY, ...(ngDevMode ? [{ debugName: "stringify" }] : []));
|
|
14
|
-
|
|
14
|
+
clearable = input(true, { ...(ngDevMode ? { debugName: "clearable" } : {}), transform: booleanAttribute });
|
|
15
|
+
onSelect(ev) {
|
|
16
|
+
if (ev.target.closest('[data-slot="trigger"]')) {
|
|
17
|
+
return void 0;
|
|
18
|
+
}
|
|
15
19
|
const taskFn = this.popover();
|
|
16
20
|
taskFn().subscribe((value) => this.updateValue(value));
|
|
17
21
|
}
|
|
@@ -21,25 +25,25 @@ class LookupComponent extends FormControlComponent {
|
|
|
21
25
|
return value !== null && value !== undefined ? stringify(value) : '';
|
|
22
26
|
}
|
|
23
27
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: LookupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
24
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.3", type: LookupComponent, isStandalone: true, selector: "lat-lookup", inputs: { popover: { classPropertyName: "popover", publicName: "popover", isSignal: true, isRequired: false, transformFunction: null }, stringify: { classPropertyName: "stringify", publicName: "stringify", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "combobox" }, listeners: { "click": "onSelect()" } }, providers: [
|
|
28
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.3", type: LookupComponent, isStandalone: true, selector: "lat-lookup", inputs: { popover: { classPropertyName: "popover", publicName: "popover", isSignal: true, isRequired: false, transformFunction: null }, stringify: { classPropertyName: "stringify", publicName: "stringify", isSignal: true, isRequired: false, transformFunction: null }, clearable: { classPropertyName: "clearable", publicName: "clearable", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "combobox" }, listeners: { "click": "onSelect($event)" } }, providers: [
|
|
25
29
|
{
|
|
26
30
|
provide: FormControlComponent,
|
|
27
|
-
useExisting: forwardRef(() => LookupComponent)
|
|
28
|
-
}
|
|
29
|
-
], usesInheritance: true, ngImport: i0, template: "<div class=\"lat-lookup-values\">\r\n @if(
|
|
31
|
+
useExisting: forwardRef(() => LookupComponent)
|
|
32
|
+
}
|
|
33
|
+
], usesInheritance: true, ngImport: i0, template: "<div class=\"lat-lookup-values\">\r\n @if(!nullish()) {\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 @if(clearable() && !nullish()) {\r\n <lat-button\r\n tabindex=\"-1\"\r\n variant=\"inherit\"\r\n data-slot=\"trigger\"\r\n [size]=\"size()\"\r\n [disabled]=\"disabled()\"\r\n (click)=\"writeValue(null)\"\r\n >\r\n <lat-icon name=\"x\"/>\r\n </lat-button>\r\n }\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: ["role", "url", "name"], exportAs: ["latIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
30
34
|
}
|
|
31
35
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: LookupComponent, decorators: [{
|
|
32
36
|
type: Component,
|
|
33
37
|
args: [{ imports: [ButtonComponent, IconComponent], selector: 'lat-lookup', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
34
38
|
{
|
|
35
39
|
provide: FormControlComponent,
|
|
36
|
-
useExisting: forwardRef(() => LookupComponent)
|
|
37
|
-
}
|
|
40
|
+
useExisting: forwardRef(() => LookupComponent)
|
|
41
|
+
}
|
|
38
42
|
], host: {
|
|
39
43
|
role: 'combobox',
|
|
40
|
-
'(click)':
|
|
41
|
-
}, template: "<div class=\"lat-lookup-values\">\r\n @if(
|
|
42
|
-
}], propDecorators: { popover: [{ type: i0.Input, args: [{ isSignal: true, alias: "popover", required: false }] }], stringify: [{ type: i0.Input, args: [{ isSignal: true, alias: "stringify", required: false }] }] } });
|
|
44
|
+
'(click)': 'onSelect($event)'
|
|
45
|
+
}, template: "<div class=\"lat-lookup-values\">\r\n @if(!nullish()) {\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 @if(clearable() && !nullish()) {\r\n <lat-button\r\n tabindex=\"-1\"\r\n variant=\"inherit\"\r\n data-slot=\"trigger\"\r\n [size]=\"size()\"\r\n [disabled]=\"disabled()\"\r\n (click)=\"writeValue(null)\"\r\n >\r\n <lat-icon name=\"x\"/>\r\n </lat-button>\r\n }\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" }]
|
|
46
|
+
}], propDecorators: { popover: [{ type: i0.Input, args: [{ isSignal: true, alias: "popover", required: false }] }], stringify: [{ type: i0.Input, args: [{ isSignal: true, alias: "stringify", required: false }] }], clearable: [{ type: i0.Input, args: [{ isSignal: true, alias: "clearable", required: false }] }] } });
|
|
43
47
|
|
|
44
48
|
const LookupImports = [
|
|
45
49
|
LookupComponent
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"latitude-ui-widgets-lookup.mjs","sources":["../../../../packages/widgets/lookup/lib/lookup.ts","../../../../packages/widgets/lookup/lib/lookup.html","../../../../packages/widgets/lookup/public-api.ts","../../../../packages/widgets/lookup/latitude-ui-widgets-lookup.ts"],"sourcesContent":["import { Observable } from 'rxjs';\r\n\r\nimport {
|
|
1
|
+
{"version":3,"file":"latitude-ui-widgets-lookup.mjs","sources":["../../../../packages/widgets/lookup/lib/lookup.ts","../../../../packages/widgets/lookup/lib/lookup.html","../../../../packages/widgets/lookup/public-api.ts","../../../../packages/widgets/lookup/latitude-ui-widgets-lookup.ts"],"sourcesContent":["import { Observable } from 'rxjs';\r\n\r\nimport {\r\n booleanAttribute,\r\n ChangeDetectionStrategy,\r\n Component,\r\n forwardRef,\r\n input,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\n\r\nimport { FormControlComponent } 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.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: FormControlComponent,\r\n useExisting: forwardRef(() => LookupComponent)\r\n }\r\n ],\r\n host: {\r\n role: 'combobox',\r\n '(click)': 'onSelect($event)'\r\n }\r\n})\r\nexport class LookupComponent<T = any> extends FormControlComponent<T> {\r\n readonly popover = input<PopoverOverlay>(DEFAULT_POPOVER);\r\n readonly stringify = input<ValueStringify>(DEFAULT_STRINGIFY);\r\n readonly clearable = input<boolean, unknown>(true, { transform: booleanAttribute });\r\n\r\n onSelect(ev: Event) {\r\n if((ev.target as HTMLElement).closest('[data-slot=\"trigger\"]')) {\r\n return void 0\r\n }\r\n\r\n const taskFn = this.popover();\r\n\r\n taskFn().subscribe((value) => this.updateValue(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","<div class=\"lat-lookup-values\">\r\n @if(!nullish()) {\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 @if(clearable() && !nullish()) {\r\n <lat-button\r\n tabindex=\"-1\"\r\n variant=\"inherit\"\r\n data-slot=\"trigger\"\r\n [size]=\"size()\"\r\n [disabled]=\"disabled()\"\r\n (click)=\"writeValue(null)\"\r\n >\r\n <lat-icon name=\"x\"/>\r\n </lat-button>\r\n }\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","import { LookupComponent } from './lib/lookup';\r\n\r\nexport * from './lib/lookup';\r\n\r\nexport const LookupImports = [\r\n LookupComponent\r\n] as const;\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -45,6 +45,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImpor
|
|
|
45
45
|
|
|
46
46
|
class SelectDirective extends FormControlComponent {
|
|
47
47
|
mode = input('popover', ...(ngDevMode ? [{ debugName: "mode" }] : []));
|
|
48
|
+
clearable = input(true, { ...(ngDevMode ? { debugName: "clearable" } : {}), transform: booleanAttribute });
|
|
48
49
|
searchable = input(false, { ...(ngDevMode ? { debugName: "searchable" } : {}), transform: booleanAttribute });
|
|
49
50
|
contentChildren = contentChildren(SelectOptionDirective, ...(ngDevMode ? [{ debugName: "contentChildren" }] : []));
|
|
50
51
|
/** @internal */
|
|
@@ -129,11 +130,11 @@ class SelectDirective extends FormControlComponent {
|
|
|
129
130
|
});
|
|
130
131
|
}
|
|
131
132
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: SelectDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
132
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "21.1.3", type: SelectDirective, isStandalone: true, inputs: { mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null }, searchable: { classPropertyName: "searchable", publicName: "searchable", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "contentChildren", predicate: SelectOptionDirective, isSignal: true }], usesInheritance: true, ngImport: i0 });
|
|
133
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "21.1.3", type: SelectDirective, isStandalone: true, inputs: { mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null }, clearable: { classPropertyName: "clearable", publicName: "clearable", isSignal: true, isRequired: false, transformFunction: null }, searchable: { classPropertyName: "searchable", publicName: "searchable", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "contentChildren", predicate: SelectOptionDirective, isSignal: true }], usesInheritance: true, ngImport: i0 });
|
|
133
134
|
}
|
|
134
135
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: SelectDirective, decorators: [{
|
|
135
136
|
type: Directive
|
|
136
|
-
}], propDecorators: { mode: [{ type: i0.Input, args: [{ isSignal: true, alias: "mode", required: false }] }], searchable: [{ type: i0.Input, args: [{ isSignal: true, alias: "searchable", required: false }] }], contentChildren: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => SelectOptionDirective), { isSignal: true }] }] } });
|
|
137
|
+
}], propDecorators: { mode: [{ type: i0.Input, args: [{ isSignal: true, alias: "mode", required: false }] }], clearable: [{ type: i0.Input, args: [{ isSignal: true, alias: "clearable", required: false }] }], searchable: [{ type: i0.Input, args: [{ isSignal: true, alias: "searchable", required: false }] }], contentChildren: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => SelectOptionDirective), { isSignal: true }] }] } });
|
|
137
138
|
|
|
138
139
|
class SelectDropDownComponent {
|
|
139
140
|
dir = inject(SelectDirective);
|
|
@@ -158,6 +159,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImpor
|
|
|
158
159
|
class SelectTriggerComponent {
|
|
159
160
|
el = inject((ElementRef)).nativeElement;
|
|
160
161
|
select = inject(SelectDirective);
|
|
162
|
+
onSelect(ev) {
|
|
163
|
+
if (ev.target.closest('[data-slot="trigger"]')) {
|
|
164
|
+
return void 0;
|
|
165
|
+
}
|
|
166
|
+
this.select.toggle();
|
|
167
|
+
}
|
|
161
168
|
constructor() {
|
|
162
169
|
afterRenderEffect((onCleanup) => {
|
|
163
170
|
const observer = new ResizeObserver(() => {
|
|
@@ -168,15 +175,15 @@ class SelectTriggerComponent {
|
|
|
168
175
|
});
|
|
169
176
|
}
|
|
170
177
|
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": "
|
|
178
|
+
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": "onSelect($event)" }, 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 @if(select.clearable() && !select.nullish()) {\n <lat-button\n tabindex=\"-1\"\n variant=\"inherit\"\n data-slot=\"trigger\"\n [size]=\"select.size()\"\n [disabled]=\"select.disabled()\"\n (click)=\"$event.preventDefault(); select.writeValue(null)\"\n >\n <lat-icon name=\"x\"/>\n </lat-button>\n }\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: ["role", "url", "name"], exportAs: ["latIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
172
179
|
}
|
|
173
180
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: SelectTriggerComponent, decorators: [{
|
|
174
181
|
type: Component,
|
|
175
182
|
args: [{ imports: [ButtonComponent, IconComponent], exportAs: 'latSelectTrigger', selector: 'lat-select-trigger', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
176
183
|
role: 'combobox',
|
|
177
184
|
'[attr.size]': 'select.size()',
|
|
178
|
-
'(click)': '
|
|
179
|
-
}, template: "<ng-content select=\"lat-select-values\" />\n\n@if (!select.readonly()) {\n <div class=\"lat-select-control\">\n @if(select.
|
|
185
|
+
'(click)': 'onSelect($event)'
|
|
186
|
+
}, template: "<ng-content select=\"lat-select-values\" />\n\n@if (!select.readonly()) {\n <div class=\"lat-select-control\">\n @if(select.clearable() && !select.nullish()) {\n <lat-button\n tabindex=\"-1\"\n variant=\"inherit\"\n data-slot=\"trigger\"\n [size]=\"select.size()\"\n [disabled]=\"select.disabled()\"\n (click)=\"$event.preventDefault(); select.writeValue(null)\"\n >\n <lat-icon name=\"x\"/>\n </lat-button>\n }\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" }]
|
|
180
187
|
}], ctorParameters: () => [] });
|
|
181
188
|
|
|
182
189
|
class SelectValueComponent {
|
|
@@ -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/public-api.ts","../../../../packages/widgets/select/latitude-ui-widgets-select.ts"],"sourcesContent":["import {\r\n booleanAttribute,\r\n ChangeDetectionStrategy,\r\n Component,\r\n forwardRef,\r\n input,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\n\r\nimport { SelectOptionDirective } from './select-option.directive';\r\n\r\n\r\n@Component({\r\n exportAs: 'latSelectOption',\r\n selector: 'lat-select-option',\r\n templateUrl: './select-option.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n hostDirectives: [\r\n {\r\n directive: forwardRef(() => SelectOptionDirective),\r\n },\r\n ],\r\n})\r\nexport class SelectOptionComponent<T> {\r\n readonly value = input.required<T>();\r\n readonly label = input.required<string>();\r\n\r\n readonly hidden = input<boolean, unknown>(false, { transform: booleanAttribute });\r\n readonly disabled = input<boolean, unknown>(false, { transform: booleanAttribute });\r\n}\r\n","\r\n","import { computed, Directive, inject } from '@angular/core';\r\n\r\nimport { SelectDirective } from '../select/select.directive';\r\nimport { SelectOptionComponent } from './select-option.component';\r\n\r\n@Directive()\r\nexport class SelectOptionDirective<T> {\r\n readonly select = inject(SelectDirective<T, T | T[]>);\r\n readonly option = inject(SelectOptionComponent<T>, { host: true });\r\n\r\n readonly value = computed(() => this.option.value());\r\n readonly label = computed(() => this.option.label());\r\n readonly hidden = computed(() => this.option.hidden());\r\n readonly disabled = computed(() => this.option.disabled());\r\n\r\n readonly selected = computed(() => this.select.selected().includes(this.value()));\r\n}\r\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 { FormControlComponent } 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 FormControlComponent<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 {\r\n ChangeDetectionStrategy,\r\n Component,\r\n computed,\r\n inject,\r\n output,\r\n signal,\r\n untracked,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\nimport { IconComponent } from '@latitude-ui/widgets/icons';\r\nimport { ListBoxComponent, OptionComponent } from '@latitude-ui/widgets/listbox';\r\nimport { TextBoxComponent } from '@latitude-ui/widgets/textbox';\r\n\r\nimport { SelectDirective } from '../select/select.directive';\r\nimport { SelectOptionDirective } from '../select-option/select-option.directive';\r\n\r\n\r\n@Component({\r\n imports: [IconComponent, ListBoxComponent, OptionComponent, TextBoxComponent, FormsModule],\r\n exportAs: 'latSelectDropDown',\r\n selector: 'lat-select-dropdown',\r\n templateUrl: './select-dropdown.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n host: {\r\n '[attr.data-side]': 'dir._overlayPositionSide()',\r\n },\r\n})\r\nexport class SelectDropDownComponent<T> {\r\n readonly dir = inject(SelectDirective);\r\n\r\n readonly selection = output<SelectOptionDirective<T>>();\r\n\r\n readonly search = signal('');\r\n readonly options = computed(() => {\r\n const options = this.dir.contentChildren();\r\n\r\n const search = this.search()\r\n const searchRegExp = search.length ? new RegExp(`.*${search}*.`, 'i') : null\r\n\r\n return untracked(() => (searchRegExp ? options.filter((option) => option.label().match(searchRegExp)) : options));\r\n });\r\n\r\n}\r\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 {\r\n afterRenderEffect,\r\n ChangeDetectionStrategy,\r\n Component,\r\n ElementRef,\r\n inject,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\n\r\nimport { ButtonComponent } from '@latitude-ui/widgets/button';\r\nimport { IconComponent } from '@latitude-ui/widgets/icons';\r\n\r\nimport { SelectDirective } from '../select/select.directive';\r\n\r\n\r\n@Component({\r\n imports: [ButtonComponent, IconComponent],\r\n exportAs: 'latSelectTrigger',\r\n selector: 'lat-select-trigger',\r\n templateUrl: './select-trigger.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n host: {\r\n role: 'combobox',\r\n '[attr.size]': 'select.size()',\r\n '(click)': 'select.toggle()',\r\n },\r\n})\r\nexport class SelectTriggerComponent {\r\n readonly el = inject(ElementRef<HTMLElement>).nativeElement;\r\n readonly select = inject(SelectDirective);\r\n\r\n constructor() {\r\n afterRenderEffect((onCleanup) => {\r\n const observer = new ResizeObserver(() => {\r\n this.select._overlayWidth.set(this.el.offsetWidth);\r\n });\r\n\r\n observer.observe(this.el);\r\n\r\n onCleanup(() => observer.disconnect());\r\n });\r\n }\r\n}\r\n","<ng-content select=\"lat-select-values\" />\n\n@if (!select.readonly()) {\n <div class=\"lat-select-control\">\n @if(select.value()) {\n <lat-button tabindex=\"-1\" variant=\"inherit\" [size]=\"select.size()\" [disabled]=\"select.disabled()\" (click)=\"select.writeValue(null)\">\n <lat-icon name=\"x\"/>\n </lat-button>\n }\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';\r\n\r\nimport { SelectDirective } from '../select/select.directive';\r\n\r\n\r\n@Component({\r\n exportAs: 'latSelectValue',\r\n selector: 'lat-select-value',\r\n templateUrl: './select-value.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n host: {\r\n role: 'listitem'\r\n },\r\n})\r\nexport class SelectValueComponent {\r\n readonly select = inject(SelectDirective);\r\n}\r\n","<span>\n <ng-content />\n</span>\n","import { ChangeDetectionStrategy, Component, inject, ViewEncapsulation } from '@angular/core';\r\n\r\nimport { SelectDirective } from '../select/select.directive';\r\nimport { SelectValueComponent } from '../select-value/select-value.component';\r\n\r\n\r\n@Component({\r\n imports: [SelectValueComponent],\r\n exportAs: 'latSelectValues',\r\n selector: 'lat-select-values',\r\n templateUrl: './select-values.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n host: {\r\n role: 'list'\r\n },\r\n})\r\nexport class SelectValuesComponent {\r\n readonly select = inject(SelectDirective);\r\n}\r\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 { FormControlComponent } 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: FormControlComponent,\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.updateValue(selected);\r\n }\r\n}\r\n","@if(mode() === 'popover') {\r\n <lat-select-trigger cdkOverlayOrigin #trigger=\"cdkOverlayOrigin\">\r\n <lat-select-values />\r\n </lat-select-trigger>\r\n\r\n <ng-template\r\n cdkConnectedOverlay\r\n cdkConnectedOverlayHasBackdrop\r\n cdkConnectedOverlayLockPosition\r\n cdkConnectedOverlayPanelClass=\"lat-select-dropdown\"\r\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\r\n [cdkConnectedOverlayOrigin]=\"trigger\"\r\n [cdkConnectedOverlayOpen]=\"_overlayExpanded()\"\r\n [cdkConnectedOverlayWidth]=\"_overlayWidth() > 0 ? _overlayWidth() : 'auto'\"\r\n [cdkConnectedOverlayPositions]=\"_overlayPositions()\"\r\n (detach)=\"hide()\"\r\n (backdropClick)=\"hide()\"\r\n (positionChange)=\"updateOverlayPositionSide($event)\"\r\n >\r\n <lat-select-dropdown (selection)=\"select($event)\" />\r\n </ng-template>\r\n} @else {\r\n <lat-select-trigger>\r\n <lat-select-values />\r\n </lat-select-trigger>\r\n}\r\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 { FormControlComponent } 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: FormControlComponent,\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.updateValue(value);\r\n this.hide();\r\n }\r\n}\r\n","import { SelectDirective } from './lib/select/select.directive';\r\nimport { SelectOptionComponent } from './lib/select-option/select-option.component';\r\nimport { SelectOptionDirective } from './lib/select-option/select-option.directive';\r\nimport { SelectMultipleComponent } from './lib/select-multiple.component';\r\nimport { SelectSingleComponent } from './lib/select-single.component';\r\n\r\nexport * from './lib/select/select.directive';\r\nexport * from './lib/select-option/select-option.component';\r\nexport * from './lib/select-option/select-option.directive';\r\nexport * from './lib/select-multiple.component';\r\nexport * from './lib/select-single.component';\r\n\r\nexport const SelectImports = [\r\n SelectDirective,\r\n SelectOptionComponent,\r\n SelectOptionDirective,\r\n SelectMultipleComponent,\r\n SelectSingleComponent\r\n] as const;\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/public-api.ts","../../../../packages/widgets/select/latitude-ui-widgets-select.ts"],"sourcesContent":["import {\r\n booleanAttribute,\r\n ChangeDetectionStrategy,\r\n Component,\r\n forwardRef,\r\n input,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\n\r\nimport { SelectOptionDirective } from './select-option.directive';\r\n\r\n\r\n@Component({\r\n exportAs: 'latSelectOption',\r\n selector: 'lat-select-option',\r\n templateUrl: './select-option.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n hostDirectives: [\r\n {\r\n directive: forwardRef(() => SelectOptionDirective),\r\n },\r\n ],\r\n})\r\nexport class SelectOptionComponent<T> {\r\n readonly value = input.required<T>();\r\n readonly label = input.required<string>();\r\n\r\n readonly hidden = input<boolean, unknown>(false, { transform: booleanAttribute });\r\n readonly disabled = input<boolean, unknown>(false, { transform: booleanAttribute });\r\n}\r\n","\r\n","import { computed, Directive, inject } from '@angular/core';\r\n\r\nimport { SelectDirective } from '../select/select.directive';\r\nimport { SelectOptionComponent } from './select-option.component';\r\n\r\n@Directive()\r\nexport class SelectOptionDirective<T> {\r\n readonly select = inject(SelectDirective<T, T | T[]>);\r\n readonly option = inject(SelectOptionComponent<T>, { host: true });\r\n\r\n readonly value = computed(() => this.option.value());\r\n readonly label = computed(() => this.option.label());\r\n readonly hidden = computed(() => this.option.hidden());\r\n readonly disabled = computed(() => this.option.disabled());\r\n\r\n readonly selected = computed(() => this.select.selected().includes(this.value()));\r\n}\r\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 { FormControlComponent } 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 FormControlComponent<TValue> {\r\n readonly mode = input<SelectMode>('popover');\r\n readonly clearable = input<boolean, unknown>(true, { transform: booleanAttribute });\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 {\r\n ChangeDetectionStrategy,\r\n Component,\r\n computed,\r\n inject,\r\n output,\r\n signal,\r\n untracked,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\nimport { IconComponent } from '@latitude-ui/widgets/icons';\r\nimport { ListBoxComponent, OptionComponent } from '@latitude-ui/widgets/listbox';\r\nimport { TextBoxComponent } from '@latitude-ui/widgets/textbox';\r\n\r\nimport { SelectDirective } from '../select/select.directive';\r\nimport { SelectOptionDirective } from '../select-option/select-option.directive';\r\n\r\n\r\n@Component({\r\n imports: [IconComponent, ListBoxComponent, OptionComponent, TextBoxComponent, FormsModule],\r\n exportAs: 'latSelectDropDown',\r\n selector: 'lat-select-dropdown',\r\n templateUrl: './select-dropdown.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n host: {\r\n '[attr.data-side]': 'dir._overlayPositionSide()',\r\n },\r\n})\r\nexport class SelectDropDownComponent<T> {\r\n readonly dir = inject(SelectDirective);\r\n\r\n readonly selection = output<SelectOptionDirective<T>>();\r\n\r\n readonly search = signal('');\r\n readonly options = computed(() => {\r\n const options = this.dir.contentChildren();\r\n\r\n const search = this.search()\r\n const searchRegExp = search.length ? new RegExp(`.*${search}*.`, 'i') : null\r\n\r\n return untracked(() => (searchRegExp ? options.filter((option) => option.label().match(searchRegExp)) : options));\r\n });\r\n\r\n}\r\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 {\r\n afterRenderEffect,\r\n ChangeDetectionStrategy,\r\n Component,\r\n ElementRef,\r\n inject,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\n\r\nimport { ButtonComponent } from '@latitude-ui/widgets/button';\r\nimport { IconComponent } from '@latitude-ui/widgets/icons';\r\n\r\nimport { SelectDirective } from '../select/select.directive';\r\n\r\n\r\n@Component({\r\n imports: [ButtonComponent, IconComponent],\r\n exportAs: 'latSelectTrigger',\r\n selector: 'lat-select-trigger',\r\n templateUrl: './select-trigger.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n host: {\r\n role: 'combobox',\r\n '[attr.size]': 'select.size()',\r\n '(click)': 'onSelect($event)'\r\n }\r\n})\r\nexport class SelectTriggerComponent {\r\n readonly el = inject(ElementRef<HTMLElement>).nativeElement;\r\n readonly select = inject(SelectDirective);\r\n\r\n onSelect(ev: Event) {\r\n if((ev.target as HTMLElement).closest('[data-slot=\"trigger\"]')) {\r\n return void 0\r\n }\r\n\r\n this.select.toggle();\r\n }\r\n\r\n constructor() {\r\n afterRenderEffect((onCleanup) => {\r\n const observer = new ResizeObserver(() => {\r\n this.select._overlayWidth.set(this.el.offsetWidth);\r\n });\r\n\r\n observer.observe(this.el);\r\n\r\n onCleanup(() => observer.disconnect());\r\n });\r\n }\r\n\r\n}\r\n","<ng-content select=\"lat-select-values\" />\n\n@if (!select.readonly()) {\n <div class=\"lat-select-control\">\n @if(select.clearable() && !select.nullish()) {\n <lat-button\n tabindex=\"-1\"\n variant=\"inherit\"\n data-slot=\"trigger\"\n [size]=\"select.size()\"\n [disabled]=\"select.disabled()\"\n (click)=\"$event.preventDefault(); select.writeValue(null)\"\n >\n <lat-icon name=\"x\"/>\n </lat-button>\n }\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';\r\n\r\nimport { SelectDirective } from '../select/select.directive';\r\n\r\n\r\n@Component({\r\n exportAs: 'latSelectValue',\r\n selector: 'lat-select-value',\r\n templateUrl: './select-value.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n host: {\r\n role: 'listitem'\r\n },\r\n})\r\nexport class SelectValueComponent {\r\n readonly select = inject(SelectDirective);\r\n}\r\n","<span>\n <ng-content />\n</span>\n","import { ChangeDetectionStrategy, Component, inject, ViewEncapsulation } from '@angular/core';\r\n\r\nimport { SelectDirective } from '../select/select.directive';\r\nimport { SelectValueComponent } from '../select-value/select-value.component';\r\n\r\n\r\n@Component({\r\n imports: [SelectValueComponent],\r\n exportAs: 'latSelectValues',\r\n selector: 'lat-select-values',\r\n templateUrl: './select-values.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n host: {\r\n role: 'list'\r\n },\r\n})\r\nexport class SelectValuesComponent {\r\n readonly select = inject(SelectDirective);\r\n}\r\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 { FormControlComponent } 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: FormControlComponent,\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.updateValue(selected);\r\n }\r\n}\r\n","@if(mode() === 'popover') {\r\n <lat-select-trigger cdkOverlayOrigin #trigger=\"cdkOverlayOrigin\">\r\n <lat-select-values />\r\n </lat-select-trigger>\r\n\r\n <ng-template\r\n cdkConnectedOverlay\r\n cdkConnectedOverlayHasBackdrop\r\n cdkConnectedOverlayLockPosition\r\n cdkConnectedOverlayPanelClass=\"lat-select-dropdown\"\r\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\r\n [cdkConnectedOverlayOrigin]=\"trigger\"\r\n [cdkConnectedOverlayOpen]=\"_overlayExpanded()\"\r\n [cdkConnectedOverlayWidth]=\"_overlayWidth() > 0 ? _overlayWidth() : 'auto'\"\r\n [cdkConnectedOverlayPositions]=\"_overlayPositions()\"\r\n (detach)=\"hide()\"\r\n (backdropClick)=\"hide()\"\r\n (positionChange)=\"updateOverlayPositionSide($event)\"\r\n >\r\n <lat-select-dropdown (selection)=\"select($event)\" />\r\n </ng-template>\r\n} @else {\r\n <lat-select-trigger>\r\n <lat-select-values />\r\n </lat-select-trigger>\r\n}\r\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 { FormControlComponent } 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: FormControlComponent,\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.updateValue(value);\r\n this.hide();\r\n }\r\n}\r\n","import { SelectDirective } from './lib/select/select.directive';\r\nimport { SelectOptionComponent } from './lib/select-option/select-option.component';\r\nimport { SelectOptionDirective } from './lib/select-option/select-option.directive';\r\nimport { SelectMultipleComponent } from './lib/select-multiple.component';\r\nimport { SelectSingleComponent } from './lib/select-single.component';\r\n\r\nexport * from './lib/select/select.directive';\r\nexport * from './lib/select-option/select-option.component';\r\nexport * from './lib/select-option/select-option.directive';\r\nexport * from './lib/select-multiple.component';\r\nexport * from './lib/select-single.component';\r\n\r\nexport const SelectImports = [\r\n SelectDirective,\r\n SelectOptionComponent,\r\n SelectOptionDirective,\r\n SelectMultipleComponent,\r\n SelectSingleComponent\r\n] as const;\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -39,6 +39,7 @@ declare class FormControlComponent<T> {
|
|
|
39
39
|
readonly computedId: Signal<string | undefined>;
|
|
40
40
|
readonly computedSize: Signal<BoxSize>;
|
|
41
41
|
readonly computedVariant: Signal<FormControlVariant>;
|
|
42
|
+
readonly nullish: Signal<boolean>;
|
|
42
43
|
/** @internalApi */
|
|
43
44
|
readonly _value: _angular_core.WritableSignal<T | null>;
|
|
44
45
|
/** @internalApi */
|
|
@@ -9,11 +9,12 @@ declare const DEFAULT_STRINGIFY: ValueStringify;
|
|
|
9
9
|
declare class LookupComponent<T = any> extends FormControlComponent<T> {
|
|
10
10
|
readonly popover: _angular_core.InputSignal<PopoverOverlay>;
|
|
11
11
|
readonly stringify: _angular_core.InputSignal<ValueStringify>;
|
|
12
|
-
|
|
12
|
+
readonly clearable: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
13
|
+
onSelect(ev: Event): undefined;
|
|
13
14
|
/** @internal */
|
|
14
15
|
valueStringify(value: unknown): string;
|
|
15
16
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<LookupComponent<any>, never>;
|
|
16
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<LookupComponent<any>, "lat-lookup", never, { "popover": { "alias": "popover"; "required": false; "isSignal": true; }; "stringify": { "alias": "stringify"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
17
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<LookupComponent<any>, "lat-lookup", never, { "popover": { "alias": "popover"; "required": false; "isSignal": true; }; "stringify": { "alias": "stringify"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
17
18
|
}
|
|
18
19
|
|
|
19
20
|
declare const LookupImports: readonly [typeof LookupComponent];
|
|
@@ -27,6 +27,7 @@ declare class SelectOptionDirective<T> {
|
|
|
27
27
|
type SelectMode = 'popover' | 'dialog';
|
|
28
28
|
declare abstract class SelectDirective<T, TValue> extends FormControlComponent<TValue> {
|
|
29
29
|
readonly mode: _angular_core.InputSignal<SelectMode>;
|
|
30
|
+
readonly clearable: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
30
31
|
readonly searchable: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
31
32
|
readonly contentChildren: Signal<readonly SelectOptionDirective<T>[]>;
|
|
32
33
|
/** @internal */
|
|
@@ -52,7 +53,7 @@ declare abstract class SelectDirective<T, TValue> extends FormControlComponent<T
|
|
|
52
53
|
abstract selected: Signal<T[]>;
|
|
53
54
|
abstract select(option: SelectOptionDirective<T>): void;
|
|
54
55
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SelectDirective<any, any>, never>;
|
|
55
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<SelectDirective<any, any>, never, never, { "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "searchable": { "alias": "searchable"; "required": false; "isSignal": true; }; }, {}, ["contentChildren"], never, true, never>;
|
|
56
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<SelectDirective<any, any>, never, never, { "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "searchable": { "alias": "searchable"; "required": false; "isSignal": true; }; }, {}, ["contentChildren"], never, true, never>;
|
|
56
57
|
}
|
|
57
58
|
|
|
58
59
|
declare class SelectMultipleComponent<T> extends SelectDirective<T, T[]> {
|