@latitude-ui/widgets 0.0.11 → 0.0.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/core/public-api.d.ts +2 -0
  2. package/core/src/dimensions.d.ts +13 -0
  3. package/core/src/root.d.ts +12 -0
  4. package/esm2022/button/src/button.component.js +1 -1
  5. package/esm2022/core/public-api.js +3 -1
  6. package/esm2022/core/src/dimensions.js +56 -0
  7. package/esm2022/core/src/root.js +20 -0
  8. package/esm2022/icons/src/icon.component.js +18 -10
  9. package/esm2022/icons/src/icon.service.js +62 -0
  10. package/esm2022/icons/src/icon.tokens.js +8 -2
  11. package/esm2022/input/src/input.directive.js +6 -5
  12. package/esm2022/lookup/latitude-ui-widgets-lookup.js +5 -0
  13. package/esm2022/lookup/public-api.js +3 -0
  14. package/esm2022/lookup/src/lookup-outlet.directive.js +13 -0
  15. package/esm2022/lookup/src/lookup.component.js +11 -0
  16. package/esm2022/select/public-api.js +4 -4
  17. package/esm2022/select/src/select/select.directive.js +86 -0
  18. package/esm2022/select/src/select-dropdown/select-dropdown.component.js +39 -0
  19. package/esm2022/select/src/select-multiple.component.js +38 -29
  20. package/esm2022/select/src/select-option/select-option.component.js +21 -0
  21. package/esm2022/select/src/select-option/select-option.directive.js +19 -0
  22. package/esm2022/select/src/select-single.component.js +34 -29
  23. package/esm2022/select/src/select-trigger/select-trigger.component.js +29 -0
  24. package/esm2022/select/src/select-value/select-value.component.js +15 -0
  25. package/esm2022/select/src/select-values/select-values.component.js +16 -0
  26. package/esm2022/select/src/select.module.js +2 -2
  27. package/esm2022/textarea/src/textarea.component.js +8 -19
  28. package/esm2022/textbox/public-api.js +2 -1
  29. package/esm2022/textbox/src/textbox.component.js +7 -15
  30. package/esm2022/textbox/src/textbox.directive.js +25 -0
  31. package/esm2022/textbox-number/src/textbox-number.component.js +11 -11
  32. package/esm2022/textbox-search/src/textbox-search.component.js +2 -3
  33. package/esm2022/toolbar/latitude-ui-widgets-toolbar.js +5 -0
  34. package/esm2022/toolbar/public-api.js +2 -0
  35. package/esm2022/toolbar/src/toolbar.component.js +14 -0
  36. package/icons/src/icon.component.d.ts +3 -1
  37. package/icons/src/icon.service.d.ts +15 -0
  38. package/icons/src/icon.tokens.d.ts +2 -1
  39. package/input/src/input.directive.d.ts +2 -1
  40. package/lookup/README.md +3 -0
  41. package/lookup/latitude-ui-widgets-lookup.d.ts +5 -0
  42. package/lookup/public-api.d.ts +2 -0
  43. package/lookup/src/lookup-outlet.directive.d.ts +5 -0
  44. package/lookup/src/lookup.component.d.ts +5 -0
  45. package/package.json +14 -6
  46. package/select/public-api.d.ts +3 -3
  47. package/select/src/select/select.directive.d.ts +24 -0
  48. package/select/src/select-dropdown/select-dropdown.component.d.ts +14 -0
  49. package/select/src/select-multiple.component.d.ts +7 -7
  50. package/select/src/{select-option.component.d.ts → select-option/select-option.component.d.ts} +2 -2
  51. package/select/src/{select-option.directive.d.ts → select-option/select-option.directive.d.ts} +3 -3
  52. package/select/src/select-single.component.d.ts +6 -7
  53. package/select/src/{select-trigger.component.d.ts → select-trigger/select-trigger.component.d.ts} +2 -2
  54. package/select/src/{select-value.component.d.ts → select-value/select-value.component.d.ts} +1 -1
  55. package/select/src/select-values/select-values.component.d.ts +7 -0
  56. package/select/src/select.module.d.ts +1 -1
  57. package/styles/_defaults.scss +13 -0
  58. package/styles/forms/_index.scss +117 -85
  59. package/styles/icons/_index.scss +2 -2
  60. package/textarea/src/textarea.component.d.ts +3 -9
  61. package/textbox/public-api.d.ts +1 -0
  62. package/textbox/src/textbox.component.d.ts +3 -8
  63. package/textbox/src/textbox.directive.d.ts +12 -0
  64. package/textbox-number/src/textbox-number.component.d.ts +4 -5
  65. package/textbox-search/src/textbox-search.component.d.ts +1 -2
  66. package/toolbar/latitude-ui-widgets-toolbar.d.ts +5 -0
  67. package/toolbar/public-api.d.ts +1 -0
  68. package/toolbar/src/toolbar.component.d.ts +5 -0
  69. package/esm2022/select/src/select-option.component.js +0 -21
  70. package/esm2022/select/src/select-option.directive.js +0 -19
  71. package/esm2022/select/src/select-trigger.component.js +0 -28
  72. package/esm2022/select/src/select-value.component.js +0 -13
  73. package/esm2022/select/src/select.component.js +0 -44
  74. package/esm2022/select/src/select.directive.js +0 -103
  75. package/select/src/select.component.d.ts +0 -13
  76. package/select/src/select.directive.d.ts +0 -25
@@ -1,44 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, contentChildren, effect, inject, input, linkedSignal, signal, untracked, ViewEncapsulation, } from '@angular/core';
2
- import { SelectOptionComponent } from './select-option.component';
3
- import { SelectDirective } from './select.directive';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "./select.directive";
6
- export class SelectComponent {
7
- dir = inject((SelectDirective), { self: true });
8
- placeholder = input();
9
- options = contentChildren((SelectOptionComponent));
10
- constructor() {
11
- effect(() => {
12
- const options = this.options();
13
- untracked(() => {
14
- this.dir.options.update(() => {
15
- return options.map((option, index) => {
16
- return {
17
- value: linkedSignal(() => option.value()),
18
- label: linkedSignal(() => option.label()),
19
- disabled: linkedSignal(() => option.disabled()),
20
- hidden: signal(false),
21
- setsize: signal(options.length),
22
- posinset: signal(index),
23
- selected: signal(false),
24
- };
25
- });
26
- });
27
- });
28
- });
29
- }
30
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: SelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
31
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.0.4", type: SelectComponent, isStandalone: true, selector: "lat-select", inputs: { placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "options", predicate: (SelectOptionComponent), isSignal: true }], exportAs: ["latSelect"], hostDirectives: [{ directive: i1.SelectDirective }], ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
32
- }
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: SelectComponent, decorators: [{
34
- type: Component,
35
- args: [{
36
- exportAs: 'latSelect',
37
- selector: 'lat-select',
38
- template: '',
39
- encapsulation: ViewEncapsulation.None,
40
- changeDetection: ChangeDetectionStrategy.OnPush,
41
- hostDirectives: [SelectDirective],
42
- }]
43
- }], ctorParameters: () => [] });
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3dpZGdldHMvc2VsZWN0L3NyYy9zZWxlY3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULGVBQWUsRUFDZixNQUFNLEVBQ04sTUFBTSxFQUNOLEtBQUssRUFDTCxZQUFZLEVBQ1osTUFBTSxFQUNOLFNBQVMsRUFDVCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFnQixxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7O0FBVXJELE1BQU0sT0FBZ0IsZUFBZTtJQUNuQixHQUFHLEdBQUcsTUFBTSxDQUFDLENBQUEsZUFBdUIsQ0FBQSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFFdEQsV0FBVyxHQUFHLEtBQUssRUFBVSxDQUFDO0lBRTlCLE9BQU8sR0FBRyxlQUFlLENBQUMsQ0FBQSxxQkFBaUMsQ0FBQSxDQUFDLENBQUM7SUFFN0U7UUFDRSxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ1YsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBRS9CLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRTtvQkFDM0IsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFO3dCQUNuQyxPQUFPOzRCQUNMLEtBQUssRUFBRSxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDOzRCQUN6QyxLQUFLLEVBQUUsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQzs0QkFDekMsUUFBUSxFQUFFLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7NEJBQy9DLE1BQU0sRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDOzRCQUNyQixPQUFPLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7NEJBQy9CLFFBQVEsRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDOzRCQUN2QixRQUFRLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQzt5QkFDTCxDQUFDO29CQUN2QixDQUFDLENBQUMsQ0FBQztnQkFDTCxDQUFDLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO3VHQTNCbUIsZUFBZTsyRkFBZixlQUFlLG9QQUtPLENBQUEscUJBQWlDLENBQUEsMkhBVmpFLEVBQUU7OzJGQUtRLGVBQWU7a0JBUnBDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLFFBQVEsRUFBRSxZQUFZO29CQUN0QixRQUFRLEVBQUUsRUFBRTtvQkFDWixhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLGNBQWMsRUFBRSxDQUFDLGVBQWUsQ0FBQztpQkFDbEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBjb250ZW50Q2hpbGRyZW4sXG4gIGVmZmVjdCxcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgbGlua2VkU2lnbmFsLFxuICBzaWduYWwsXG4gIHVudHJhY2tlZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTZWxlY3RPcHRpb24sIFNlbGVjdE9wdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vc2VsZWN0LW9wdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VsZWN0RGlyZWN0aXZlIH0gZnJvbSAnLi9zZWxlY3QuZGlyZWN0aXZlJztcblxuQENvbXBvbmVudCh7XG4gIGV4cG9ydEFzOiAnbGF0U2VsZWN0JyxcbiAgc2VsZWN0b3I6ICdsYXQtc2VsZWN0JyxcbiAgdGVtcGxhdGU6ICcnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdERpcmVjdGl2ZXM6IFtTZWxlY3REaXJlY3RpdmVdLFxufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTZWxlY3RDb21wb25lbnQ8VCwgVFZhbHVlPiB7XG4gIHB1YmxpYyByZWFkb25seSBkaXIgPSBpbmplY3QoU2VsZWN0RGlyZWN0aXZlPFRWYWx1ZT4sIHsgc2VsZjogdHJ1ZSB9KTtcblxuICBwdWJsaWMgcmVhZG9ubHkgcGxhY2Vob2xkZXIgPSBpbnB1dDxzdHJpbmc+KCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IG9wdGlvbnMgPSBjb250ZW50Q2hpbGRyZW4oU2VsZWN0T3B0aW9uQ29tcG9uZW50PFRba2V5b2YgVF0+KTtcblxuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoKSB7XG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLm9wdGlvbnMoKTtcblxuICAgICAgdW50cmFja2VkKCgpID0+IHtcbiAgICAgICAgdGhpcy5kaXIub3B0aW9ucy51cGRhdGUoKCkgPT4ge1xuICAgICAgICAgIHJldHVybiBvcHRpb25zLm1hcCgob3B0aW9uLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgdmFsdWU6IGxpbmtlZFNpZ25hbCgoKSA9PiBvcHRpb24udmFsdWUoKSksXG4gICAgICAgICAgICAgIGxhYmVsOiBsaW5rZWRTaWduYWwoKCkgPT4gb3B0aW9uLmxhYmVsKCkpLFxuICAgICAgICAgICAgICBkaXNhYmxlZDogbGlua2VkU2lnbmFsKCgpID0+IG9wdGlvbi5kaXNhYmxlZCgpKSxcbiAgICAgICAgICAgICAgaGlkZGVuOiBzaWduYWwoZmFsc2UpLFxuICAgICAgICAgICAgICBzZXRzaXplOiBzaWduYWwob3B0aW9ucy5sZW5ndGgpLFxuICAgICAgICAgICAgICBwb3NpbnNldDogc2lnbmFsKGluZGV4KSxcbiAgICAgICAgICAgICAgc2VsZWN0ZWQ6IHNpZ25hbChmYWxzZSksXG4gICAgICAgICAgICB9IGFzIFNlbGVjdE9wdGlvbjxUPjtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBoYW5kbGVTZWxlY3RPcHRpb24ob3B0aW9uOiBTZWxlY3RPcHRpb248VD4pOiB2b2lkO1xufVxuXG5cblxuXG4iXX0=
@@ -1,103 +0,0 @@
1
- import { delay, of, switchMap } from 'rxjs';
2
- import { computed, contentChildren, Directive, forwardRef, inject, InjectionToken, input, signal } from '@angular/core';
3
- import { takeUntilDestroyed, toObservable, toSignal } from '@angular/core/rxjs-interop';
4
- import { BuildInInputValueAccessor } from '@latitude-ui/widgets/input';
5
- import { SelectOptionDirective } from './select-option.directive';
6
- import * as i0 from "@angular/core";
7
- export const SELECT_VALUE_COERCION = new InjectionToken('SELECT_VALUE_COERCION');
8
- export class SelectDirective extends BuildInInputValueAccessor {
9
- coercion = inject(SELECT_VALUE_COERCION);
10
- placeholder = input();
11
- options = contentChildren(SelectOptionDirective);
12
- indexes = computed(() => {
13
- const options = this.options();
14
- return new Map(options.map((option) => [option.value(), option]));
15
- });
16
- selected = computed(() => this.coercion(this.value()));
17
- selectedOptions = computed(() => {
18
- const selected = this.selected();
19
- const indexes = this.indexes();
20
- return selected.map((value) => indexes.get(value)).filter(Boolean);
21
- });
22
- overlayWidth = signal(0);
23
- overlayState = signal(false);
24
- overlayPositions = signal([
25
- {
26
- originX: 'start',
27
- originY: 'bottom',
28
- overlayX: 'start',
29
- overlayY: 'top',
30
- },
31
- {
32
- originX: 'end',
33
- originY: 'bottom',
34
- overlayX: 'end',
35
- overlayY: 'top',
36
- },
37
- {
38
- originX: 'start',
39
- originY: 'top',
40
- overlayX: 'start',
41
- overlayY: 'bottom',
42
- },
43
- {
44
- originX: 'end',
45
- originY: 'top',
46
- overlayX: 'end',
47
- overlayY: 'bottom',
48
- },
49
- ]);
50
- overlayPositionSide = signal('bottom');
51
- overlayExpanded = toSignal(toObservable(this.overlayState).pipe(switchMap((state) => {
52
- return state ? of(state) : of(state).pipe(delay(100));
53
- }), takeUntilDestroyed()), { initialValue: false });
54
- hide() {
55
- if (!this.overlayState()) {
56
- return void 0;
57
- }
58
- this.overlayState.set(false);
59
- this.markAsTouched();
60
- }
61
- open() {
62
- if (this.overlayState() || this.disabled() || this.options().length === 0) {
63
- return void 0;
64
- }
65
- this.overlayState.set(true);
66
- }
67
- toggle() {
68
- if (this.overlayState()) {
69
- this.hide();
70
- }
71
- else {
72
- this.open();
73
- }
74
- }
75
- updateOverlayPositionSide({ connectionPair }) {
76
- this.overlayPositionSide.update(() => {
77
- return connectionPair.originY === 'center'
78
- ? connectionPair.originX === 'start'
79
- ? 'left'
80
- : 'right'
81
- : connectionPair.originY;
82
- });
83
- }
84
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: SelectDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
85
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "20.0.4", type: SelectDirective, isStandalone: true, inputs: { placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
86
- {
87
- provide: BuildInInputValueAccessor,
88
- useExisting: forwardRef(() => SelectDirective),
89
- },
90
- ], queries: [{ propertyName: "options", predicate: SelectOptionDirective, isSignal: true }], usesInheritance: true, ngImport: i0 });
91
- }
92
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: SelectDirective, decorators: [{
93
- type: Directive,
94
- args: [{
95
- providers: [
96
- {
97
- provide: BuildInInputValueAccessor,
98
- useExisting: forwardRef(() => SelectDirective),
99
- },
100
- ],
101
- }]
102
- }] });
103
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3dpZGdldHMvc2VsZWN0L3NyYy9zZWxlY3QuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUU1QyxPQUFPLEVBQUUsUUFBUSxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4SCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBSXhGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXZFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQUVsRSxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLGNBQWMsQ0FBNkIsdUJBQXVCLENBQUMsQ0FBQztBQVU3RyxNQUFNLE9BQU8sZUFBbUQsU0FBUSx5QkFBeUQ7SUFDL0csUUFBUSxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBRXpDLFdBQVcsR0FBRyxLQUFLLEVBQVUsQ0FBQztJQUU5QixPQUFPLEdBQUcsZUFBZSxDQUEyQixxQkFBcUIsQ0FBQyxDQUFDO0lBRTNFLE9BQU8sR0FBRyxRQUFRLENBQW1DLEdBQUcsRUFBRTtRQUN4RSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFL0IsT0FBTyxJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxNQUFNLENBQUMs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Q0gsQ0FBQztJQUVNLHlCQUF5QixDQUFDLEVBQUUsY0FBYyxFQUFrQztRQUNqRixJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNuQyxPQUFPLGNBQWMsQ0FBQyxPQUFPLEtBQUssUUFBUTtnQkFDeEMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxPQUFPLEtBQUssT0FBTztvQkFDbEMsQ0FBQyxDQUFDLE1BQU07b0JBQ1IsQ0FBQyxDQUFDLE9BQU87Z0JBQ1gsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO3VHQS9GVSxlQUFlOzJGQUFmLGVBQWUsdUxBUGY7WUFDVDtnQkFDRSxPQUFPLEVBQUUseUJBQXlCO2dCQUNsQyxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGVBQWUsQ0FBQzthQUMvQztTQUNGLGtEQU9tRSxxQkFBcUI7OzJGQUw5RSxlQUFlO2tCQVIzQixTQUFTO21CQUFDO29CQUNULFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUseUJBQXlCOzRCQUNsQyxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQzt5QkFDL0M7cUJBQ0Y7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBkZWxheSwgb2YsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBjb21wdXRlZCwgY29udGVudENoaWxkcmVuLCBEaXJlY3RpdmUsIGZvcndhcmRSZWYsIGluamVjdCwgSW5qZWN0aW9uVG9rZW4sIGlucHV0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCwgdG9PYnNlcnZhYmxlLCB0b1NpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcblxuaW1wb3J0IHsgQ29ubmVjdGVkT3ZlcmxheVBvc2l0aW9uQ2hhbmdlLCBDb25uZWN0ZWRQb3NpdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcblxuaW1wb3J0IHsgQnVpbGRJbklucHV0VmFsdWVBY2Nlc3NvciB9IGZyb20gJ0BsYXRpdHVkZS11aS93aWRnZXRzL2lucHV0JztcblxuaW1wb3J0IHsgU2VsZWN0T3B0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi9zZWxlY3Qtb3B0aW9uLmRpcmVjdGl2ZSc7XG5cbmV4cG9ydCBjb25zdCBTRUxFQ1RfVkFMVUVfQ09FUkNJT04gPSBuZXcgSW5qZWN0aW9uVG9rZW48PFQ+KHZhbHVlOiB1bmtub3duKSA9PiBUW10+KCdTRUxFQ1RfVkFMVUVfQ09FUkNJT04nKTtcblxuQERpcmVjdGl2ZSh7XG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IEJ1aWxkSW5JbnB1dFZhbHVlQWNjZXNzb3IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTZWxlY3REaXJlY3RpdmUpLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdERpcmVjdGl2ZTxULCBUU2luZ2xlIGV4dGVuZHMgYm9vbGVhbiA9IHRydWU+IGV4dGVuZHMgQnVpbGRJbklucHV0VmFsdWVBY2Nlc3NvcjxUU2luZ2xlIGV4dGVuZHMgdHJ1ZSA/IFQgOiBUW10+IHtcbiAgcHVibGljIHJlYWRvbmx5IGNvZXJjaW9uID0gaW5qZWN0KFNFTEVDVF9WQUxVRV9DT0VSQ0lPTik7XG5cbiAgcHVibGljIHJlYWRvbmx5IHBsYWNlaG9sZGVyID0gaW5wdXQ8c3RyaW5nPigpO1xuXG4gIHB1YmxpYyByZWFkb25seSBvcHRpb25zID0gY29udGVudENoaWxkcmVuPFNlbGVjdE9wdGlvbkRpcmVjdGl2ZTxUPj4oU2VsZWN0T3B0aW9uRGlyZWN0aXZlKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgaW5kZXhlcyA9IGNvbXB1dGVkPE1hcDxULCBTZWxlY3RPcHRpb25EaXJlY3RpdmU8VD4+PigoKSA9PiB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMub3B0aW9ucygpO1xuXG4gICAgcmV0dXJuIG5ldyBNYXAob3B0aW9ucy5tYXAoKG9wdGlvbikgPT4gW29wdGlvbi52YWx1ZSgpLCBvcHRpb25dKSk7XG4gIH0pO1xuXG4gIHB1YmxpYyByZWFkb25seSBzZWxlY3RlZCA9ICBjb21wdXRlZCgoKSA9PiB0aGlzLmNvZXJjaW9uKHRoaXMudmFsdWUoKSkgYXMgVFtdKTtcbiAgcHVibGljIHJlYWRvbmx5IHNlbGVjdGVkT3B0aW9ucyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBzZWxlY3RlZCA9IHRoaXMuc2VsZWN0ZWQoKTtcblxuICAgIGNvbnN0IGluZGV4ZXMgPSB0aGlzLmluZGV4ZXMoKTtcbiAgICByZXR1cm4gc2VsZWN0ZWQubWFwKCh2YWx1ZSkgPT4gaW5kZXhlcy5nZXQodmFsdWUpKS5maWx0ZXIoQm9vbGVhbikgYXMgU2VsZWN0T3B0aW9uRGlyZWN0aXZlPFQ+W107XG4gIH0pO1xuXG4gIHB1YmxpYyByZWFkb25seSBvdmVybGF5V2lkdGggPSBzaWduYWw8bnVtYmVyPigwKTtcbiAgcHVibGljIHJlYWRvbmx5IG92ZXJsYXlTdGF0ZSA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XG4gIHB1YmxpYyByZWFkb25seSBvdmVybGF5UG9zaXRpb25zID0gc2lnbmFsPENvbm5lY3RlZFBvc2l0aW9uW10+KFtcbiAgICB7XG4gICAgICBvcmlnaW5YOiAnc3RhcnQnLFxuICAgICAgb3JpZ2luWTogJ2JvdHRvbScsXG4gICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICAgIG92ZXJsYXlZOiAndG9wJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIG9yaWdpblg6ICdlbmQnLFxuICAgICAgb3JpZ2luWTogJ2JvdHRvbScsXG4gICAgICBvdmVybGF5WDogJ2VuZCcsXG4gICAgICBvdmVybGF5WTogJ3RvcCcsXG4gICAgfSxcbiAgICB7XG4gICAgICBvcmlnaW5YOiAnc3RhcnQnLFxuICAgICAgb3JpZ2luWTogJ3RvcCcsXG4gICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICAgIG92ZXJsYXlZOiAnYm90dG9tJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIG9yaWdpblg6ICdlbmQnLFxuICAgICAgb3JpZ2luWTogJ3RvcCcsXG4gICAgICBvdmVybGF5WDogJ2VuZCcsXG4gICAgICBvdmVybGF5WTogJ2JvdHRvbScsXG4gICAgfSxcbiAgXSk7XG4gIHB1YmxpYyByZWFkb25seSBvdmVybGF5UG9zaXRpb25TaWRlID0gc2lnbmFsPCd0b3AnIHwgJ2JvdHRvbScgfCAnbGVmdCcgfCAncmlnaHQnPignYm90dG9tJyk7XG5cbiAgcHVibGljIHJlYWRvbmx5IG92ZXJsYXlFeHBhbmRlZCA9IHRvU2lnbmFsKFxuICAgIHRvT2JzZXJ2YWJsZSh0aGlzLm92ZXJsYXlTdGF0ZSkucGlwZShcbiAgICAgIHN3aXRjaE1hcCgoc3RhdGUpID0+IHtcbiAgICAgICAgcmV0dXJuIHN0YXRlID8gb2Yoc3RhdGUpIDogb2Yoc3RhdGUpLnBpcGUoZGVsYXkoMTAwKSk7XG4gICAgICB9KSxcbiAgICAgIHRha2VVbnRpbERlc3Ryb3llZCgpLFxuICAgICksXG4gICAgeyBpbml0aWFsVmFsdWU6IGZhbHNlIH0sXG4gICk7XG5cbiAgcHVibGljIGhpZGUoKSB7XG4gICAgaWYgKCF0aGlzLm92ZXJsYXlTdGF0ZSgpKSB7XG4gICAgICByZXR1cm4gdm9pZCAwO1xuICAgIH1cblxuICAgIHRoaXMub3ZlcmxheVN0YXRlLnNldChmYWxzZSk7XG5cbiAgICB0aGlzLm1hcmtBc1RvdWNoZWQoKTtcbiAgfVxuXG4gIHB1YmxpYyBvcGVuKCkge1xuICAgIGlmICh0aGlzLm92ZXJsYXlTdGF0ZSgpIHx8IHRoaXMuZGlzYWJsZWQoKSB8fCB0aGlzLm9wdGlvbnMoKS5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiB2b2lkIDA7XG4gICAgfVxuXG4gICAgdGhpcy5vdmVybGF5U3RhdGUuc2V0KHRydWUpO1xuICB9XG5cbiAgcHVibGljIHRvZ2dsZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5vdmVybGF5U3RhdGUoKSkge1xuICAgICAgdGhpcy5oaWRlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMub3BlbigpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVPdmVybGF5UG9zaXRpb25TaWRlKHsgY29ubmVjdGlvblBhaXIgfTogQ29ubmVjdGVkT3ZlcmxheVBvc2l0aW9uQ2hhbmdlKSB7XG4gICAgdGhpcy5vdmVybGF5UG9zaXRpb25TaWRlLnVwZGF0ZSgoKSA9PiB7XG4gICAgICByZXR1cm4gY29ubmVjdGlvblBhaXIub3JpZ2luWSA9PT0gJ2NlbnRlcidcbiAgICAgICAgPyBjb25uZWN0aW9uUGFpci5vcmlnaW5YID09PSAnc3RhcnQnXG4gICAgICAgICAgPyAnbGVmdCdcbiAgICAgICAgICA6ICdyaWdodCdcbiAgICAgICAgOiBjb25uZWN0aW9uUGFpci5vcmlnaW5ZO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -1,13 +0,0 @@
1
- import { SelectOption, SelectOptionComponent } from './select-option.component';
2
- import { SelectDirective } from './select.directive';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "./select.directive";
5
- export declare abstract class SelectComponent<T, TValue> {
6
- readonly dir: SelectDirective<any>;
7
- readonly placeholder: import("@angular/core").InputSignal<string | undefined>;
8
- readonly options: import("@angular/core").Signal<readonly SelectOptionComponent<T[keyof T]>[]>;
9
- protected constructor();
10
- protected abstract handleSelectOption(option: SelectOption<T>): void;
11
- static ɵfac: i0.ɵɵFactoryDeclaration<SelectComponent<any, any>, never>;
12
- static ɵcmp: i0.ɵɵComponentDeclaration<SelectComponent<any, any>, "lat-select", ["latSelect"], { "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; }, {}, ["options"], never, true, [{ directive: typeof i1.SelectDirective; inputs: {}; outputs: {}; }]>;
13
- }
@@ -1,25 +0,0 @@
1
- import { InjectionToken } from '@angular/core';
2
- import { ConnectedOverlayPositionChange, ConnectedPosition } from '@angular/cdk/overlay';
3
- import { BuildInInputValueAccessor } from '@latitude-ui/widgets/input';
4
- import { SelectOptionDirective } from './select-option.directive';
5
- import * as i0 from "@angular/core";
6
- export declare const SELECT_VALUE_COERCION: InjectionToken<(<T>(value: unknown) => T[])>;
7
- export declare class SelectDirective<T, TSingle extends boolean = true> extends BuildInInputValueAccessor<TSingle extends true ? T : T[]> {
8
- readonly coercion: <T_1>(value: unknown) => T_1[];
9
- readonly placeholder: import("@angular/core").InputSignal<string | undefined>;
10
- readonly options: import("@angular/core").Signal<readonly SelectOptionDirective<T>[]>;
11
- readonly indexes: import("@angular/core").Signal<Map<T, SelectOptionDirective<T>>>;
12
- readonly selected: import("@angular/core").Signal<T[]>;
13
- readonly selectedOptions: import("@angular/core").Signal<SelectOptionDirective<T>[]>;
14
- readonly overlayWidth: import("@angular/core").WritableSignal<number>;
15
- readonly overlayState: import("@angular/core").WritableSignal<boolean>;
16
- readonly overlayPositions: import("@angular/core").WritableSignal<ConnectedPosition[]>;
17
- readonly overlayPositionSide: import("@angular/core").WritableSignal<"bottom" | "top" | "left" | "right">;
18
- readonly overlayExpanded: import("@angular/core").Signal<boolean>;
19
- hide(): undefined;
20
- open(): undefined;
21
- toggle(): void;
22
- updateOverlayPositionSide({ connectionPair }: ConnectedOverlayPositionChange): void;
23
- static ɵfac: i0.ɵɵFactoryDeclaration<SelectDirective<any, any>, never>;
24
- static ɵdir: i0.ɵɵDirectiveDeclaration<SelectDirective<any, any>, never, never, { "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; }, {}, ["options"], never, true, never>;
25
- }