@latitude-ui/widgets 0.0.33 → 0.0.35

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 (58) hide show
  1. package/fesm2022/latitude-ui-widgets-button.mjs +34 -16
  2. package/fesm2022/latitude-ui-widgets-button.mjs.map +1 -1
  3. package/fesm2022/latitude-ui-widgets-checkbox.mjs +17 -11
  4. package/fesm2022/latitude-ui-widgets-checkbox.mjs.map +1 -1
  5. package/fesm2022/latitude-ui-widgets-core.mjs +41 -59
  6. package/fesm2022/latitude-ui-widgets-core.mjs.map +1 -1
  7. package/fesm2022/latitude-ui-widgets-icons.mjs +16 -4
  8. package/fesm2022/latitude-ui-widgets-icons.mjs.map +1 -1
  9. package/fesm2022/latitude-ui-widgets-input.mjs +9 -3
  10. package/fesm2022/latitude-ui-widgets-input.mjs.map +1 -1
  11. package/fesm2022/latitude-ui-widgets-l10n.mjs +104 -0
  12. package/fesm2022/latitude-ui-widgets-l10n.mjs.map +1 -0
  13. package/fesm2022/latitude-ui-widgets-listbox.mjs +6 -1
  14. package/fesm2022/latitude-ui-widgets-listbox.mjs.map +1 -1
  15. package/fesm2022/latitude-ui-widgets-lookup.mjs +12 -8
  16. package/fesm2022/latitude-ui-widgets-lookup.mjs.map +1 -1
  17. package/fesm2022/latitude-ui-widgets-menu.mjs +5 -5
  18. package/fesm2022/latitude-ui-widgets-menu.mjs.map +1 -1
  19. package/fesm2022/latitude-ui-widgets-paginate.mjs +100 -0
  20. package/fesm2022/latitude-ui-widgets-paginate.mjs.map +1 -0
  21. package/fesm2022/latitude-ui-widgets-scrollable.mjs +9 -5
  22. package/fesm2022/latitude-ui-widgets-scrollable.mjs.map +1 -1
  23. package/fesm2022/latitude-ui-widgets-select.mjs +20 -12
  24. package/fesm2022/latitude-ui-widgets-select.mjs.map +1 -1
  25. package/fesm2022/latitude-ui-widgets-splitview.mjs +218 -0
  26. package/fesm2022/latitude-ui-widgets-splitview.mjs.map +1 -0
  27. package/fesm2022/latitude-ui-widgets-switch.mjs +10 -6
  28. package/fesm2022/latitude-ui-widgets-switch.mjs.map +1 -1
  29. package/fesm2022/latitude-ui-widgets-tabs.mjs +23 -26
  30. package/fesm2022/latitude-ui-widgets-tabs.mjs.map +1 -1
  31. package/fesm2022/latitude-ui-widgets-textbox.mjs +67 -70
  32. package/fesm2022/latitude-ui-widgets-textbox.mjs.map +1 -1
  33. package/fesm2022/latitude-ui-widgets-toolbar.mjs +9 -5
  34. package/fesm2022/latitude-ui-widgets-toolbar.mjs.map +1 -1
  35. package/fesm2022/latitude-ui-widgets.mjs +10 -1
  36. package/fesm2022/latitude-ui-widgets.mjs.map +1 -1
  37. package/l10n/README.md +3 -0
  38. package/package.json +13 -1
  39. package/paginate/README.md +3 -0
  40. package/splitview/README.md +3 -0
  41. package/types/latitude-ui-widgets-button.d.ts +25 -8
  42. package/types/latitude-ui-widgets-checkbox.d.ts +6 -3
  43. package/types/latitude-ui-widgets-core.d.ts +33 -32
  44. package/types/latitude-ui-widgets-icons.d.ts +11 -2
  45. package/types/latitude-ui-widgets-input.d.ts +5 -3
  46. package/types/latitude-ui-widgets-l10n.d.ts +46 -0
  47. package/types/latitude-ui-widgets-listbox.d.ts +3 -1
  48. package/types/latitude-ui-widgets-lookup.d.ts +5 -3
  49. package/types/latitude-ui-widgets-menu.d.ts +4 -4
  50. package/types/latitude-ui-widgets-paginate.d.ts +39 -0
  51. package/types/latitude-ui-widgets-scrollable.d.ts +6 -4
  52. package/types/latitude-ui-widgets-select.d.ts +5 -3
  53. package/types/latitude-ui-widgets-splitview.d.ts +76 -0
  54. package/types/latitude-ui-widgets-switch.d.ts +5 -3
  55. package/types/latitude-ui-widgets-tabs.d.ts +15 -19
  56. package/types/latitude-ui-widgets-textbox.d.ts +9 -13
  57. package/types/latitude-ui-widgets-toolbar.d.ts +3 -1
  58. package/types/latitude-ui-widgets.d.ts +4 -1
@@ -1 +1 @@
1
- {"version":3,"file":"latitude-ui-widgets-input.mjs","sources":["../../../../packages/widgets/input/lib/input.component.ts","../../../../packages/widgets/input/lib/input.component.html","../../../../packages/widgets/input/lib/label.component.ts","../../../../packages/widgets/input/lib/label.component.html","../../../../packages/widgets/input/lib/output.component.ts","../../../../packages/widgets/input/lib/output.component.html","../../../../packages/widgets/input/latitude-ui-widgets-input.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, computed, inject, ViewEncapsulation } from '@angular/core';\r\n\r\nimport { ARIA_ERRORMESSAGE, ARIA_LABELLEDBY, HTMLFormControlContainer } from '@latitude-ui/widgets/core';\r\n\r\n\r\n@Component({\r\n exportAs: 'latInput',\r\n selector: 'lat-input',\r\n templateUrl: './input.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: ARIA_LABELLEDBY,\r\n useFactory: () => inject(InputComponent, { self: true }).labelId\r\n },\r\n {\r\n provide: ARIA_ERRORMESSAGE,\r\n useFactory: () => inject(InputComponent, { self: true }).outputId\r\n },\r\n ]\r\n})\r\nexport class InputComponent<T> extends HTMLFormControlContainer<T> {\r\n readonly labelId = computed(() => `lat-label-${this.htmlId()}`);\r\n readonly outputId = computed(() => `lat-output-${this.htmlId()}`);\r\n}\r\n","<ng-content select=\"lat-label\" />\r\n\r\n<ng-content />\r\n\r\n@if (dirty() && errors()) {\r\n <ng-content select=\"lat-output\" />\r\n}\r\n","import { ChangeDetectionStrategy, Component, computed, inject, ViewEncapsulation } from '@angular/core';\r\nimport { InputComponent } from './input.component';\r\n\r\n@Component({\r\n exportAs: 'latLabel',\r\n selector: 'lat-label',\r\n templateUrl: './label.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n host: {\r\n role: 'presentation',\r\n '[attr.id]': 'null'\r\n }\r\n})\r\nexport class LabelComponent<T = unknown> {\r\n readonly input = inject(InputComponent<T>, { host: true });\r\n\r\n readonly id = computed(() => this.input.labelId());\r\n readonly htmlFor = computed(() => this.input.controlId());\r\n readonly required = computed(() => this.input.required());\r\n readonly readonly = computed(() => this.input.readonly());\r\n}\r\n","<label [attr.id]=\"id()\" [attr.for]=\"htmlFor()\">\r\n <ng-content></ng-content>\r\n @if (!readonly() && required()) {\r\n <span class=\"lat-label-asterix\" aria-hidden=\"true\" title=\"required\">*</span>\r\n }\r\n</label>\r\n","import { ChangeDetectionStrategy, Component, computed, inject, ViewEncapsulation } from '@angular/core';\r\nimport { InputComponent } from './input.component';\r\n\r\n@Component({\r\n exportAs: 'latOutput',\r\n selector: 'lat-output',\r\n templateUrl: './output.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n host: {\r\n role: 'presentation',\r\n '[attr.id]': 'null'\r\n }\r\n})\r\nexport class OutputComponent<T = unknown> {\r\n readonly input = inject(InputComponent<T>, { host: true });\r\n\r\n readonly id = computed(() => this.input.outputId());\r\n readonly htmlFor = computed(() => this.input.controlId());\r\n}\r\n","<output [attr.id]=\"id()\" [attr.for]=\"htmlFor()\">\r\n <ng-content></ng-content>\r\n</output>\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-input.mjs","sources":["../../../../packages/widgets/input/lib/input.ts","../../../../packages/widgets/input/lib/input.html","../../../../packages/widgets/input/lib/label.ts","../../../../packages/widgets/input/lib/label.html","../../../../packages/widgets/input/lib/output.ts","../../../../packages/widgets/input/lib/output.html","../../../../packages/widgets/input/public-api.ts","../../../../packages/widgets/input/latitude-ui-widgets-input.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, computed, inject, ViewEncapsulation } from '@angular/core';\r\n\r\nimport { ARIA_ERRORMESSAGE, ARIA_LABELLEDBY, FormControlContainer } from '@latitude-ui/widgets/core';\r\n\r\n\r\n@Component({\r\n exportAs: 'latInput',\r\n selector: 'lat-input',\r\n templateUrl: './input.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: ARIA_LABELLEDBY,\r\n useFactory: () => inject(InputComponent, { self: true }).labelId\r\n },\r\n {\r\n provide: ARIA_ERRORMESSAGE,\r\n useFactory: () => inject(InputComponent, { self: true }).outputId\r\n },\r\n ]\r\n})\r\nexport class InputComponent<T> extends FormControlContainer<T> {\r\n readonly labelId = computed(() => `lat-label-${this.htmlId()}`);\r\n readonly outputId = computed(() => `lat-output-${this.htmlId()}`);\r\n}\r\n","<ng-content select=\"lat-label\" />\r\n\r\n<ng-content />\r\n\r\n@if (dirty() && errors()) {\r\n <ng-content select=\"lat-output\" />\r\n}\r\n","import { ChangeDetectionStrategy, Component, computed, inject, ViewEncapsulation } from '@angular/core';\r\nimport { InputComponent } from './input';\r\n\r\n@Component({\r\n exportAs: 'latLabel',\r\n selector: 'lat-label',\r\n templateUrl: './label.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n host: {\r\n role: 'presentation',\r\n '[attr.id]': 'null'\r\n }\r\n})\r\nexport class LabelComponent<T = unknown> {\r\n readonly input = inject(InputComponent<T>, { host: true });\r\n\r\n readonly id = computed(() => this.input.labelId());\r\n readonly htmlFor = computed(() => this.input.controlId());\r\n readonly required = computed(() => this.input.required());\r\n readonly readonly = computed(() => this.input.readonly());\r\n}\r\n","<label [attr.id]=\"id()\" [attr.for]=\"htmlFor()\">\r\n <ng-content></ng-content>\r\n @if (!readonly() && required()) {\r\n <span class=\"lat-label-asterix\" aria-hidden=\"true\" title=\"required\">*</span>\r\n }\r\n</label>\r\n","import { ChangeDetectionStrategy, Component, computed, inject, ViewEncapsulation } from '@angular/core';\r\nimport { InputComponent } from './input';\r\n\r\n@Component({\r\n exportAs: 'latOutput',\r\n selector: 'lat-output',\r\n templateUrl: './output.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n host: {\r\n role: 'presentation',\r\n '[attr.id]': 'null'\r\n }\r\n})\r\nexport class OutputComponent<T = unknown> {\r\n readonly input = inject(InputComponent<T>, { host: true });\r\n\r\n readonly id = computed(() => this.input.outputId());\r\n readonly htmlFor = computed(() => this.input.controlId());\r\n}\r\n","<output [attr.id]=\"id()\" [attr.for]=\"htmlFor()\">\r\n <ng-content></ng-content>\r\n</output>\r\n","import { InputComponent } from './lib/input';\r\nimport { LabelComponent } from './lib/label';\r\nimport { OutputComponent } from './lib/output';\r\n\r\nexport * from './lib/input';\r\nexport * from './lib/label';\r\nexport * from './lib/output';\r\n\r\nexport const InputImports = [\r\n InputComponent,\r\n LabelComponent,\r\n OutputComponent\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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"}
@@ -0,0 +1,104 @@
1
+ import * as i0 from '@angular/core';
2
+ import { InjectionToken, inject, signal, linkedSignal, computed, untracked, LOCALE_ID, Pipe } from '@angular/core';
3
+
4
+ class Language {
5
+ id;
6
+ rtl;
7
+ messages;
8
+ constructor(id, params = {}) {
9
+ this.id = id;
10
+ this.rtl = params.rtl ?? false;
11
+ this.messages = params.messages ?? {};
12
+ }
13
+ }
14
+ function messages(messages) {
15
+ const output = {};
16
+ const stack = [
17
+ { key: '', value: messages }
18
+ ];
19
+ while (stack.length > 0) {
20
+ const { key, value } = stack.pop();
21
+ if (typeof value === 'object' && value !== null && !Array.isArray(value)) {
22
+ for (const [k, v] of Object.entries(value)) {
23
+ stack.push({ key: key ? `${key}.${k}` : k, value: v });
24
+ }
25
+ }
26
+ else {
27
+ if (key) {
28
+ output[key] = value;
29
+ }
30
+ }
31
+ }
32
+ return output;
33
+ }
34
+
35
+ const L10N_ENGLISH_LANGUAGE = new Language('en-US', {
36
+ messages: messages({
37
+ paginate: {
38
+ of: 'of',
39
+ rows: 'rows',
40
+ pages: 'pages'
41
+ }
42
+ })
43
+ });
44
+
45
+ const L10N_RUSSIAN_LANGUAGE = new Language('ru-RU', {
46
+ messages: messages({
47
+ paginate: {
48
+ of: 'из',
49
+ rows: 'строк',
50
+ pages: 'стр.'
51
+ }
52
+ })
53
+ });
54
+
55
+ /** @experimentalApi */
56
+ const L10N_SERVICE = new InjectionToken(ngDevMode ? 'L10N_SERVICE' : '');
57
+ /** @experimentalApi */
58
+ const L10N_LANGUAGE = new InjectionToken(ngDevMode ? 'L10N_LANGUAGE' : '');
59
+ /** @experimentalApi */
60
+ class LocalizationService {
61
+ languages = inject(L10N_LANGUAGE);
62
+ lcid = signal('en-US', ...(ngDevMode ? [{ debugName: "lcid" }] : []));
63
+ lang = linkedSignal({ ...(ngDevMode ? { debugName: "lang" } : {}), source: () => this.lcid(),
64
+ computation: (lcid) => {
65
+ return this.languages.find(x => x.id === lcid) ?? L10N_ENGLISH_LANGUAGE;
66
+ } });
67
+ constructor(lcid) {
68
+ this.lcid.set(lcid);
69
+ }
70
+ rtl = computed(() => this.lang().rtl, ...(ngDevMode ? [{ debugName: "rtl" }] : []));
71
+ messages = computed(() => this.lang().messages, ...(ngDevMode ? [{ debugName: "messages" }] : []));
72
+ tr(path) {
73
+ const messages = untracked(this.messages);
74
+ return messages[path];
75
+ }
76
+ }
77
+ /** @experimentalApi */
78
+ function provideLocalization() {
79
+ return [
80
+ { provide: L10N_LANGUAGE, useValue: L10N_ENGLISH_LANGUAGE, multi: true },
81
+ { provide: L10N_LANGUAGE, useValue: L10N_RUSSIAN_LANGUAGE, multi: true },
82
+ { provide: L10N_SERVICE, useFactory: () => new LocalizationService(inject(LOCALE_ID)) }
83
+ ];
84
+ }
85
+
86
+ class LocalizationPipe {
87
+ l10n = inject(L10N_SERVICE);
88
+ transform(path) {
89
+ return this.l10n.tr(path);
90
+ }
91
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: LocalizationPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
92
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.1.3", ngImport: i0, type: LocalizationPipe, isStandalone: true, name: "l10n" });
93
+ }
94
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: LocalizationPipe, decorators: [{
95
+ type: Pipe,
96
+ args: [{ name: 'l10n' }]
97
+ }] });
98
+
99
+ /**
100
+ * Generated bundle index. Do not edit.
101
+ */
102
+
103
+ export { L10N_ENGLISH_LANGUAGE, L10N_LANGUAGE, L10N_RUSSIAN_LANGUAGE, L10N_SERVICE, Language, LocalizationPipe, LocalizationService, messages, provideLocalization };
104
+ //# sourceMappingURL=latitude-ui-widgets-l10n.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"latitude-ui-widgets-l10n.mjs","sources":["../../../../packages/widgets/l10n/lib/lang.ts","../../../../packages/widgets/l10n/lib/languages/en.ts","../../../../packages/widgets/l10n/lib/languages/ru.ts","../../../../packages/widgets/l10n/lib/l10n.ts","../../../../packages/widgets/l10n/lib/pipe.ts","../../../../packages/widgets/l10n/latitude-ui-widgets-l10n.ts"],"sourcesContent":["\r\nexport interface LanguageParams {\r\n readonly rtl?: boolean;\r\n readonly messages?: Record<string, string>;\r\n}\r\n\r\nexport class Language {\r\n readonly id: string;\r\n readonly rtl: boolean;\r\n readonly messages: Record<string, string>;\r\n\r\n constructor(id: string, params: LanguageParams = {}) {\r\n this.id = id;\r\n this.rtl = params.rtl ?? false;\r\n this.messages = params.messages ?? {};\r\n }\r\n}\r\n\r\nexport function messages<T extends Record<string, unknown>>(messages: T): Record<string, string> {\r\n const output: Record<string, any> = {};\r\n\r\n const stack: Array<{ key: string; value: any }> = [\r\n { key: '', value: messages }\r\n ];\r\n\r\n while (stack.length > 0) {\r\n const { key, value } = stack.pop() as { key: string; value: any };\r\n\r\n if (typeof value === 'object' && value !== null && !Array.isArray(value)) {\r\n for (const [k, v] of Object.entries(value)) {\r\n stack.push({ key: key ? `${key}.${k}` : k, value: v });\r\n }\r\n } else {\r\n if (key) {\r\n output[key] = value;\r\n }\r\n }\r\n }\r\n\r\n return output;\r\n}\r\n","import { Language, messages } from '../lang';\r\n\r\n\r\nexport const L10N_ENGLISH_LANGUAGE = new Language('en-US', {\r\n messages: messages({\r\n paginate: {\r\n of: 'of',\r\n rows: 'rows',\r\n pages: 'pages'\r\n }\r\n })\r\n});\r\n\r\n","import { Language, messages } from '../lang';\r\n\r\n\r\nexport const L10N_RUSSIAN_LANGUAGE = new Language('ru-RU', {\r\n messages: messages({\r\n paginate: {\r\n of: 'из',\r\n rows: 'строк',\r\n pages: 'стр.'\r\n }\r\n })\r\n});\r\n","import { computed, inject, InjectionToken, linkedSignal, LOCALE_ID, Provider, signal, untracked } from '@angular/core';\r\n\r\nimport { L10N_ENGLISH_LANGUAGE } from './languages/en';\r\nimport { L10N_RUSSIAN_LANGUAGE } from './languages/ru';\r\n\r\nimport { Language } from './lang';\r\n\r\n\r\n/** @experimentalApi */\r\nexport const L10N_SERVICE = new InjectionToken<LocalizationService>(\r\n ngDevMode ? 'L10N_SERVICE' : ''\r\n);\r\n\r\n/** @experimentalApi */\r\nexport const L10N_LANGUAGE = new InjectionToken<Language[]>(\r\n ngDevMode ? 'L10N_LANGUAGE' : ''\r\n);\r\n\r\n\r\n/** @experimentalApi */\r\nexport class LocalizationService {\r\n readonly languages = inject(L10N_LANGUAGE);\r\n\r\n readonly lcid = signal('en-US');\r\n readonly lang = linkedSignal({\r\n source: () => this.lcid(),\r\n computation: (lcid) => {\r\n return this.languages.find(x => x.id === lcid) ?? L10N_ENGLISH_LANGUAGE;\r\n }\r\n });\r\n\r\n constructor(lcid: string) {\r\n this.lcid.set(lcid);\r\n }\r\n\r\n readonly rtl = computed(() => this.lang().rtl);\r\n readonly messages = computed(() => this.lang().messages);\r\n\r\n tr(path: string): string {\r\n const messages = untracked(this.messages);\r\n\r\n return messages[path];\r\n }\r\n}\r\n\r\n\r\n/** @experimentalApi */\r\nexport function provideLocalization(): Provider {\r\n return [\r\n { provide: L10N_LANGUAGE, useValue: L10N_ENGLISH_LANGUAGE, multi: true },\r\n { provide: L10N_LANGUAGE, useValue: L10N_RUSSIAN_LANGUAGE, multi: true },\r\n { provide: L10N_SERVICE, useFactory: () => new LocalizationService(inject(LOCALE_ID)) }\r\n ];\r\n}\r\n","import { inject, Pipe, PipeTransform } from '@angular/core';\r\nimport { L10N_SERVICE } from './l10n';\r\n\r\n\r\n@Pipe({ name: 'l10n' })\r\nexport class LocalizationPipe implements PipeTransform {\r\n readonly l10n = inject(L10N_SERVICE);\r\n\r\n transform(path: string): string {\r\n return this.l10n.tr(path);\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -35,9 +35,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImpor
35
35
  }, template: "<ng-content />\r\n" }]
36
36
  }], propDecorators: { label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: true }] }], setsize: [{ type: i0.Input, args: [{ isSignal: true, alias: "setsize", required: false }] }], posinset: [{ type: i0.Input, args: [{ isSignal: true, alias: "posinset", required: false }] }], selected: [{ type: i0.Input, args: [{ isSignal: true, alias: "selected", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], checkbox: [{ type: i0.Input, args: [{ isSignal: true, alias: "checkbox", required: false }] }] } });
37
37
 
38
+ const ListBoxImports = [
39
+ ListBoxComponent,
40
+ OptionComponent
41
+ ];
42
+
38
43
  /**
39
44
  * Generated bundle index. Do not edit.
40
45
  */
41
46
 
42
- export { ListBoxComponent, OptionComponent };
47
+ export { ListBoxComponent, ListBoxImports, OptionComponent };
43
48
  //# sourceMappingURL=latitude-ui-widgets-listbox.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"latitude-ui-widgets-listbox.mjs","sources":["../../../../packages/widgets/listbox/lib/listbox.component.ts","../../../../packages/widgets/listbox/lib/listbox.component.html","../../../../packages/widgets/listbox/lib/option.component.ts","../../../../packages/widgets/listbox/lib/option.component.html","../../../../packages/widgets/listbox/latitude-ui-widgets-listbox.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\r\n\r\n\r\n@Component({\r\n exportAs: 'latListBox',\r\n selector: 'lat-listbox',\r\n templateUrl: './listbox.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n host: {\r\n role: 'presentation',\r\n },\r\n})\r\nexport class ListBoxComponent {\r\n}\r\n","<div role=\"listbox\">\r\n <ng-content select=\"lat-option,lat-listbox-option\" />\r\n</div>\r\n","import {\r\n booleanAttribute,\r\n ChangeDetectionStrategy,\r\n Component,\r\n input,\r\n numberAttribute,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\n\r\n@Component({\r\n exportAs: 'latOption',\r\n selector: 'lat-option, lat-listbox-option',\r\n templateUrl: './option.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n host: {\r\n role: 'option',\r\n '[attr.title]': 'label()',\r\n '[attr.aria-setsize]': 'setsize()',\r\n '[attr.aria-posinset]': 'posinset()',\r\n '[attr.aria-disabled]': 'disabled()',\r\n '[attr.aria-selected]': 'selected()',\r\n },\r\n})\r\nexport class OptionComponent<T> {\r\n readonly label = input<string>();\r\n readonly value = input.required<T>();\r\n\r\n readonly setsize = input<number, unknown>(undefined, { transform: numberAttribute });\r\n readonly posinset = input<number, unknown>(undefined, { transform: numberAttribute });\r\n readonly selected = input<boolean, unknown>(undefined, { transform: booleanAttribute });\r\n readonly disabled = input<boolean, unknown>(undefined, { transform: booleanAttribute });\r\n readonly checkbox = input<boolean, unknown>(undefined, { transform: booleanAttribute });\r\n}\r\n","<ng-content />\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;MAaa,gBAAgB,CAAA;uGAAhB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAhB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gBAAgB,mJCb7B,mGAGA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FDUa,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAV5B,SAAS;+BACE,YAAY,EAAA,QAAA,EACZ,aAAa,EAAA,aAAA,EAER,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;AACJ,wBAAA,IAAI,EAAE,cAAc;AACrB,qBAAA,EAAA,QAAA,EAAA,mGAAA,EAAA;;;MEaU,eAAe,CAAA;IACjB,KAAK,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,OAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAU;AACvB,IAAA,KAAK,GAAG,KAAK,CAAC,QAAQ,gDAAK;IAE3B,OAAO,GAAG,KAAK,CAAkB,SAAS,oDAAI,SAAS,EAAE,eAAe,EAAA,CAAG;IAC3E,QAAQ,GAAG,KAAK,CAAkB,SAAS,qDAAI,SAAS,EAAE,eAAe,EAAA,CAAG;IAC5E,QAAQ,GAAG,KAAK,CAAmB,SAAS,qDAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;IAC9E,QAAQ,GAAG,KAAK,CAAmB,SAAS,qDAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;IAC9E,QAAQ,GAAG,KAAK,CAAmB,SAAS,qDAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;uGAR5E,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAf,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,mtCCxB5B,oBACA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FDuBa,eAAe,EAAA,UAAA,EAAA,CAAA;kBAf3B,SAAS;+BACE,WAAW,EAAA,QAAA,EACX,gCAAgC,EAAA,aAAA,EAE3B,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;AACJ,wBAAA,IAAI,EAAE,QAAQ;AACd,wBAAA,cAAc,EAAE,SAAS;AACzB,wBAAA,qBAAqB,EAAE,WAAW;AAClC,wBAAA,sBAAsB,EAAE,YAAY;AACpC,wBAAA,sBAAsB,EAAE,YAAY;AACpC,wBAAA,sBAAsB,EAAE,YAAY;AACrC,qBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA;;;AEtBH;;AAEG;;;;"}
1
+ {"version":3,"file":"latitude-ui-widgets-listbox.mjs","sources":["../../../../packages/widgets/listbox/lib/listbox.ts","../../../../packages/widgets/listbox/lib/listbox.html","../../../../packages/widgets/listbox/lib/option.ts","../../../../packages/widgets/listbox/lib/option.html","../../../../packages/widgets/listbox/public-api.ts","../../../../packages/widgets/listbox/latitude-ui-widgets-listbox.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\r\n\r\n\r\n@Component({\r\n exportAs: 'latListBox',\r\n selector: 'lat-listbox',\r\n templateUrl: './listbox.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n host: {\r\n role: 'presentation',\r\n },\r\n})\r\nexport class ListBoxComponent {\r\n}\r\n","<div role=\"listbox\">\r\n <ng-content select=\"lat-option,lat-listbox-option\" />\r\n</div>\r\n","import {\r\n booleanAttribute,\r\n ChangeDetectionStrategy,\r\n Component,\r\n input,\r\n numberAttribute,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\n\r\n@Component({\r\n exportAs: 'latOption',\r\n selector: 'lat-option, lat-listbox-option',\r\n templateUrl: './option.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n host: {\r\n role: 'option',\r\n '[attr.title]': 'label()',\r\n '[attr.aria-setsize]': 'setsize()',\r\n '[attr.aria-posinset]': 'posinset()',\r\n '[attr.aria-disabled]': 'disabled()',\r\n '[attr.aria-selected]': 'selected()',\r\n },\r\n})\r\nexport class OptionComponent<T> {\r\n readonly label = input<string>();\r\n readonly value = input.required<T>();\r\n\r\n readonly setsize = input<number, unknown>(undefined, { transform: numberAttribute });\r\n readonly posinset = input<number, unknown>(undefined, { transform: numberAttribute });\r\n readonly selected = input<boolean, unknown>(undefined, { transform: booleanAttribute });\r\n readonly disabled = input<boolean, unknown>(undefined, { transform: booleanAttribute });\r\n readonly checkbox = input<boolean, unknown>(undefined, { transform: booleanAttribute });\r\n}\r\n","<ng-content />\r\n","import { ListBoxComponent } from './lib/listbox';\r\nimport { OptionComponent } from './lib/option';\r\n\r\nexport * from './lib/listbox';\r\nexport * from './lib/option';\r\n\r\nexport const ListBoxImports = [\r\n ListBoxComponent,\r\n OptionComponent\r\n] as const;\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;MAaa,gBAAgB,CAAA;uGAAhB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAhB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gBAAgB,mJCb7B,mGAGA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FDUa,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAV5B,SAAS;+BACE,YAAY,EAAA,QAAA,EACZ,aAAa,EAAA,aAAA,EAER,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;AACJ,wBAAA,IAAI,EAAE,cAAc;AACrB,qBAAA,EAAA,QAAA,EAAA,mGAAA,EAAA;;;MEaU,eAAe,CAAA;IACjB,KAAK,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,OAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAU;AACvB,IAAA,KAAK,GAAG,KAAK,CAAC,QAAQ,gDAAK;IAE3B,OAAO,GAAG,KAAK,CAAkB,SAAS,oDAAI,SAAS,EAAE,eAAe,EAAA,CAAG;IAC3E,QAAQ,GAAG,KAAK,CAAkB,SAAS,qDAAI,SAAS,EAAE,eAAe,EAAA,CAAG;IAC5E,QAAQ,GAAG,KAAK,CAAmB,SAAS,qDAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;IAC9E,QAAQ,GAAG,KAAK,CAAmB,SAAS,qDAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;IAC9E,QAAQ,GAAG,KAAK,CAAmB,SAAS,qDAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;uGAR5E,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAf,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,mtCCxB5B,oBACA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FDuBa,eAAe,EAAA,UAAA,EAAA,CAAA;kBAf3B,SAAS;+BACE,WAAW,EAAA,QAAA,EACX,gCAAgC,EAAA,aAAA,EAE3B,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;AACJ,wBAAA,IAAI,EAAE,QAAQ;AACd,wBAAA,cAAc,EAAE,SAAS;AACzB,wBAAA,qBAAqB,EAAE,WAAW;AAClC,wBAAA,sBAAsB,EAAE,YAAY;AACpC,wBAAA,sBAAsB,EAAE,YAAY;AACpC,wBAAA,sBAAsB,EAAE,YAAY;AACrC,qBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA;;;AEhBI,MAAM,cAAc,GAAG;IAC5B,gBAAgB;IAChB;;;ACRF;;AAEG;;;;"}
@@ -1,6 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { input, forwardRef, ChangeDetectionStrategy, ViewEncapsulation, Component } from '@angular/core';
3
- import { HTMLFormControl } from '@latitude-ui/widgets/core';
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';
6
6
 
@@ -8,12 +8,12 @@ const DEFAULT_POPOVER = () => {
8
8
  throw new Error('[lat-lookup]: PopoverOverlay() is not implemented');
9
9
  };
10
10
  const DEFAULT_STRINGIFY = (value) => value.toString();
11
- class LookupComponent extends HTMLFormControl {
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
  onSelect() {
15
15
  const taskFn = this.popover();
16
- taskFn().subscribe((value) => this.writeValue(value));
16
+ taskFn().subscribe((value) => this.updateValue(value));
17
17
  }
18
18
  /** @internal */
19
19
  valueStringify(value) {
@@ -23,27 +23,31 @@ class LookupComponent extends HTMLFormControl {
23
23
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: LookupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
24
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: [
25
25
  {
26
- provide: HTMLFormControl,
26
+ provide: FormControlComponent,
27
27
  useExisting: forwardRef(() => LookupComponent),
28
28
  },
29
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"lat-lookup-values\">\r\n @if(value()) {\r\n <span class=\"lat-lookup-value\">{{ valueAsString() }}</span>\r\n } @else if(placeholder()) {\r\n <span class=\"lat-lookup-palceholder\">{{ placeholder() }}</span>\r\n }\r\n</div>\r\n\r\n@if (!readonly()) {\r\n <div class=\"lat-lookup-controls\">\r\n <lat-button tabindex=\"-1\" variant=\"inherit\" [size]=\"size()\" [disabled]=\"disabled()\">\r\n <lat-icon name=\"link\"/>\r\n </lat-button>\r\n </div>\r\n}\r\n", dependencies: [{ kind: "component", type: ButtonComponent, selector: "lat-button", inputs: ["role", "size", "variant", "disabled", "tabindex"], exportAs: ["latButton"] }, { kind: "component", type: IconComponent, selector: "lat-icon", inputs: ["url", "name"], exportAs: ["latIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
29
+ ], 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(!nullish()) {\r\n <lat-button\r\n tabindex=\"-1\"\r\n variant=\"inherit\"\r\n [size]=\"size()\"\r\n [disabled]=\"disabled()\"\r\n (click)=\"$event.preventDefault(); 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
30
  }
31
31
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: LookupComponent, decorators: [{
32
32
  type: Component,
33
33
  args: [{ imports: [ButtonComponent, IconComponent], selector: 'lat-lookup', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
34
34
  {
35
- provide: HTMLFormControl,
35
+ provide: FormControlComponent,
36
36
  useExisting: forwardRef(() => LookupComponent),
37
37
  },
38
38
  ], host: {
39
39
  role: 'combobox',
40
40
  '(click)': "onSelect()"
41
- }, template: "<div class=\"lat-lookup-values\">\r\n @if(value()) {\r\n <span class=\"lat-lookup-value\">{{ valueAsString() }}</span>\r\n } @else if(placeholder()) {\r\n <span class=\"lat-lookup-palceholder\">{{ placeholder() }}</span>\r\n }\r\n</div>\r\n\r\n@if (!readonly()) {\r\n <div class=\"lat-lookup-controls\">\r\n <lat-button tabindex=\"-1\" variant=\"inherit\" [size]=\"size()\" [disabled]=\"disabled()\">\r\n <lat-icon name=\"link\"/>\r\n </lat-button>\r\n </div>\r\n}\r\n" }]
41
+ }, 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(!nullish()) {\r\n <lat-button\r\n tabindex=\"-1\"\r\n variant=\"inherit\"\r\n [size]=\"size()\"\r\n [disabled]=\"disabled()\"\r\n (click)=\"$event.preventDefault(); 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" }]
42
42
  }], propDecorators: { popover: [{ type: i0.Input, args: [{ isSignal: true, alias: "popover", required: false }] }], stringify: [{ type: i0.Input, args: [{ isSignal: true, alias: "stringify", required: false }] }] } });
43
43
 
44
+ const LookupImports = [
45
+ LookupComponent
46
+ ];
47
+
44
48
  /**
45
49
  * Generated bundle index. Do not edit.
46
50
  */
47
51
 
48
- export { DEFAULT_POPOVER, DEFAULT_STRINGIFY, LookupComponent };
52
+ export { DEFAULT_POPOVER, DEFAULT_STRINGIFY, LookupComponent, LookupImports };
49
53
  //# sourceMappingURL=latitude-ui-widgets-lookup.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"latitude-ui-widgets-lookup.mjs","sources":["../../../../packages/widgets/lookup/lib/lookup.component.ts","../../../../packages/widgets/lookup/lib/lookup.component.html","../../../../packages/widgets/lookup/latitude-ui-widgets-lookup.ts"],"sourcesContent":["import { Observable } from 'rxjs';\r\n\r\nimport { ChangeDetectionStrategy, Component, forwardRef, input, ViewEncapsulation } from '@angular/core';\r\n\r\nimport { HTMLFormControl } from '@latitude-ui/widgets/core';\r\nimport { ButtonComponent } from '@latitude-ui/widgets/button';\r\nimport { IconComponent } from '@latitude-ui/widgets/icons';\r\n\r\nexport type ValueStringify = (value: any) => string;\r\nexport type PopoverOverlay = () => Observable<any | null>;\r\n\r\nexport const DEFAULT_POPOVER: PopoverOverlay = () => {\r\n throw new Error('[lat-lookup]: PopoverOverlay() is not implemented');\r\n};\r\n\r\nexport const DEFAULT_STRINGIFY: ValueStringify = (value) => value.toString();\r\n\r\n@Component({\r\n imports: [ButtonComponent, IconComponent],\r\n selector: 'lat-lookup',\r\n templateUrl: './lookup.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: HTMLFormControl,\r\n useExisting: forwardRef(() => LookupComponent),\r\n },\r\n ],\r\n host: {\r\n role: 'combobox',\r\n '(click)': \"onSelect()\"\r\n },\r\n})\r\nexport class LookupComponent<T = any> extends HTMLFormControl<T> {\r\n readonly popover = input<PopoverOverlay>(DEFAULT_POPOVER);\r\n readonly stringify = input<ValueStringify>(DEFAULT_STRINGIFY);\r\n\r\n onSelect() {\r\n const taskFn = this.popover();\r\n\r\n taskFn().subscribe((value) => this.writeValue(value));\r\n }\r\n\r\n /** @internal */\r\n override valueStringify(value: unknown): string {\r\n const stringify = this.stringify();\r\n\r\n return value !== null && value !== undefined ? stringify(value) : '';\r\n }\r\n\r\n}\r\n","<div class=\"lat-lookup-values\">\r\n @if(value()) {\r\n <span class=\"lat-lookup-value\">{{ valueAsString() }}</span>\r\n } @else if(placeholder()) {\r\n <span class=\"lat-lookup-palceholder\">{{ placeholder() }}</span>\r\n }\r\n</div>\r\n\r\n@if (!readonly()) {\r\n <div class=\"lat-lookup-controls\">\r\n <lat-button tabindex=\"-1\" variant=\"inherit\" [size]=\"size()\" [disabled]=\"disabled()\">\r\n <lat-icon name=\"link\"/>\r\n </lat-button>\r\n </div>\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
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 { ChangeDetectionStrategy, Component, forwardRef, input, ViewEncapsulation } 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()\"\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\r\n onSelect() {\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}\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(!nullish()) {\r\n <lat-button\r\n tabindex=\"-1\"\r\n variant=\"inherit\"\r\n [size]=\"size()\"\r\n [disabled]=\"disabled()\"\r\n (click)=\"$event.preventDefault(); 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":";;;;;;AAWO,MAAM,eAAe,GAAmB,MAAK;AAClD,IAAA,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC;AACtE;AAEO,MAAM,iBAAiB,GAAmB,CAAC,KAAK,KAAK,KAAK,CAAC,QAAQ;AAmBpE,MAAO,eAAyB,SAAQ,oBAAuB,CAAA;AAC1D,IAAA,OAAO,GAAG,KAAK,CAAiB,eAAe,mDAAC;AAChD,IAAA,SAAS,GAAG,KAAK,CAAiB,iBAAiB,qDAAC;IAE7D,QAAQ,GAAA;AACN,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE;AAE7B,QAAA,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACxD;;AAGS,IAAA,cAAc,CAAC,KAAc,EAAA;AACpC,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE;AAElC,QAAA,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE;IACtE;uGAfW,eAAe,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAf,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,MAAA,EAAA,UAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,YAAA,EAAA,EAAA,EAAA,SAAA,EAXf;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,oBAAoB;AAC7B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,eAAe,CAAC;AAC/C,aAAA;AACF,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC5BH,uyBA0BA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDRY,eAAe,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,SAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,aAAa,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,KAAA,EAAA,MAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAgB7B,eAAe,EAAA,UAAA,EAAA,CAAA;kBAjB3B,SAAS;AACC,YAAA,IAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAC,eAAe,EAAE,aAAa,CAAC,YAC/B,YAAY,EAAA,aAAA,EAEP,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,SAAA,EACpC;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,oBAAoB;AAC7B,4BAAA,WAAW,EAAE,UAAU,CAAC,qBAAqB,CAAC;AAC/C,yBAAA;qBACF,EAAA,IAAA,EACK;AACJ,wBAAA,IAAI,EAAE,UAAU;AAChB,wBAAA,SAAS,EAAE;AACZ,qBAAA,EAAA,QAAA,EAAA,uyBAAA,EAAA;;;AE5BI,MAAM,aAAa,GAAG;IAC3B;;;ACLF;;AAEG;;;;"}
@@ -50,11 +50,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImpor
50
50
  }, template: "<ng-content />\r\n" }]
51
51
  }] });
52
52
 
53
- class MenuTriggerDirective {
54
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: MenuTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
55
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.3", type: MenuTriggerDirective, isStandalone: true, selector: "[latMenuTrigger]", exportAs: ["latMenuTrigger"], hostDirectives: [{ directive: i1.MenuTrigger, inputs: ["disabled", "disabled"] }], ngImport: i0 });
53
+ class MenuTriggerComponent {
54
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: MenuTriggerComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
55
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.3", type: MenuTriggerComponent, isStandalone: true, selector: "[latMenuTrigger]", exportAs: ["latMenuTrigger"], hostDirectives: [{ directive: i1.MenuTrigger, inputs: ["disabled", "disabled"] }], ngImport: i0 });
56
56
  }
57
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: MenuTriggerDirective, decorators: [{
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: MenuTriggerComponent, decorators: [{
58
58
  type: Directive,
59
59
  args: [{
60
60
  exportAs: 'latMenuTrigger',
@@ -69,5 +69,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImpor
69
69
  * Generated bundle index. Do not edit.
70
70
  */
71
71
 
72
- export { MenuComponent, MenuGroupComponent, MenuItemComponent, MenuLabelComponent, MenuTriggerDirective };
72
+ export { MenuComponent, MenuGroupComponent, MenuItemComponent, MenuLabelComponent, MenuTriggerComponent };
73
73
  //# sourceMappingURL=latitude-ui-widgets-menu.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"latitude-ui-widgets-menu.mjs","sources":["../../../../packages/widgets/menu/lib/menu.component.ts","../../../../packages/widgets/menu/lib/menu.component.html","../../../../packages/widgets/menu/lib/menugroup.component.ts","../../../../packages/widgets/menu/lib/menugroup.component.html","../../../../packages/widgets/menu/lib/menuitem.component.ts","../../../../packages/widgets/menu/lib/menuitem.component.html","../../../../packages/widgets/menu/lib/menulabel.component.ts","../../../../packages/widgets/menu/lib/menulabel.component.html","../../../../packages/widgets/menu/lib/menutrigger.directive.ts","../../../../packages/widgets/menu/latitude-ui-widgets-menu.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\r\nimport { Menu as CdkMenu, MenuContent as CdkMenuContent } from '@angular/aria/menu';\r\n\r\n\r\n@Component({\r\n exportAs: 'latMenu',\r\n selector: 'lat-menu',\r\n templateUrl: './menu.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [CdkMenuContent],\r\n hostDirectives: [\r\n { directive: CdkMenu, inputs: ['id', 'disabled', 'typeaheadDelay'] }\r\n ]\r\n})\r\nexport class MenuComponent {\r\n}\r\n","<ng-template ngMenuContent>\r\n <ng-content select=\"lat-menuitem,lat-menugroup,lat-menulabel\"/>\r\n</ng-template>\r\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\r\n\r\n\r\n@Component({\r\n exportAs: 'latMenuGroup',\r\n selector: 'lat-menugroup',\r\n templateUrl: './menugroup.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n host: {\r\n role: 'group'\r\n }\r\n})\r\nexport class MenuGroupComponent {\r\n}\r\n","<ng-content select=\"lat-menuitem,lat-menugroup\"/>\r\n","import { ChangeDetectionStrategy, Component, input, ViewEncapsulation } from '@angular/core';\r\nimport { MenuItem as CdkMenuItem } from '@angular/aria/menu';\r\n\r\n\r\n@Component({\r\n exportAs: 'latMenuItem',\r\n selector: 'lat-menuitem',\r\n templateUrl: './menuitem.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n hostDirectives: [\r\n { directive: CdkMenuItem, inputs: ['id', 'disabled', 'value'] },\r\n ],\r\n host: {\r\n '[attr.role]': 'role()'\r\n }\r\n})\r\nexport class MenuItemComponent {\r\n readonly role = input<string>('menuitem');\r\n}\r\n","@if (role() === 'menuitem') {\r\n <ng-content />\r\n}\r\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\r\n\r\n\r\n@Component({\r\n exportAs: 'latMenuLabel',\r\n selector: 'lat-menulabel',\r\n templateUrl: './menulabel.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n host: {\r\n role: 'presentation'\r\n }\r\n})\r\nexport class MenuLabelComponent {\r\n}\r\n","<ng-content />\r\n","import { Directive } from '@angular/core';\r\nimport { MenuTrigger as CdkMenuTrigger } from '@angular/aria/menu';\r\n\r\n\r\n@Directive({\r\n exportAs: 'latMenuTrigger',\r\n selector: '[latMenuTrigger]',\r\n hostDirectives: [\r\n { directive: CdkMenuTrigger, inputs: ['disabled'] }\r\n ],\r\n})\r\nexport class MenuTriggerDirective {\r\n\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["CdkMenuContent","CdkMenu","CdkMenuItem","CdkMenuTrigger"],"mappings":"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"}
1
+ {"version":3,"file":"latitude-ui-widgets-menu.mjs","sources":["../../../../packages/widgets/menu/lib/menu.ts","../../../../packages/widgets/menu/lib/menu.html","../../../../packages/widgets/menu/lib/menu-group.ts","../../../../packages/widgets/menu/lib/menu-group.html","../../../../packages/widgets/menu/lib/menu-item.ts","../../../../packages/widgets/menu/lib/menu-item.html","../../../../packages/widgets/menu/lib/menu-label.ts","../../../../packages/widgets/menu/lib/menu-label.html","../../../../packages/widgets/menu/lib/menu-trigger.ts","../../../../packages/widgets/menu/latitude-ui-widgets-menu.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\r\nimport { Menu as CdkMenu, MenuContent as CdkMenuContent } from '@angular/aria/menu';\r\n\r\n\r\n@Component({\r\n exportAs: 'latMenu',\r\n selector: 'lat-menu',\r\n templateUrl: './menu.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [CdkMenuContent],\r\n hostDirectives: [\r\n { directive: CdkMenu, inputs: ['id', 'disabled', 'typeaheadDelay'] }\r\n ]\r\n})\r\nexport class MenuComponent {\r\n}\r\n","<ng-template ngMenuContent>\r\n <ng-content select=\"lat-menuitem,lat-menugroup,lat-menulabel\"/>\r\n</ng-template>\r\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\r\n\r\n\r\n@Component({\r\n exportAs: 'latMenuGroup',\r\n selector: 'lat-menugroup',\r\n templateUrl: './menu-group.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n host: {\r\n role: 'group'\r\n }\r\n})\r\nexport class MenuGroupComponent {\r\n}\r\n","<ng-content select=\"lat-menuitem,lat-menugroup\"/>\r\n","import { ChangeDetectionStrategy, Component, input, ViewEncapsulation } from '@angular/core';\r\nimport { MenuItem as CdkMenuItem } from '@angular/aria/menu';\r\n\r\n\r\n@Component({\r\n exportAs: 'latMenuItem',\r\n selector: 'lat-menuitem',\r\n templateUrl: './menu-item.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n hostDirectives: [\r\n { directive: CdkMenuItem, inputs: ['id', 'disabled', 'value'] },\r\n ],\r\n host: {\r\n '[attr.role]': 'role()'\r\n }\r\n})\r\nexport class MenuItemComponent {\r\n readonly role = input<string>('menuitem');\r\n}\r\n","@if (role() === 'menuitem') {\r\n <ng-content />\r\n}\r\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\r\n\r\n\r\n@Component({\r\n exportAs: 'latMenuLabel',\r\n selector: 'lat-menulabel',\r\n templateUrl: './menu-label.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n host: {\r\n role: 'presentation'\r\n }\r\n})\r\nexport class MenuLabelComponent {\r\n}\r\n","<ng-content />\r\n","import { Directive } from '@angular/core';\r\nimport { MenuTrigger as CdkMenuTrigger } from '@angular/aria/menu';\r\n\r\n\r\n@Directive({\r\n exportAs: 'latMenuTrigger',\r\n selector: '[latMenuTrigger]',\r\n hostDirectives: [\r\n { directive: CdkMenuTrigger, inputs: ['disabled'] }\r\n ],\r\n})\r\nexport class MenuTriggerComponent {\r\n\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["CdkMenuContent","CdkMenu","CdkMenuItem","CdkMenuTrigger"],"mappings":"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"}
@@ -0,0 +1,100 @@
1
+ import * as i0 from '@angular/core';
2
+ import { input, numberAttribute, model, computed, ChangeDetectionStrategy, Component, inject, untracked, ElementRef, signal } from '@angular/core';
3
+ import * as i1 from '@latitude-ui/widgets/button';
4
+ import { ButtonImports } from '@latitude-ui/widgets/button';
5
+ import * as i2 from '@latitude-ui/widgets/icons';
6
+ import { IconImports } from '@latitude-ui/widgets/icons';
7
+ import { LocalizationPipe } from '@latitude-ui/widgets/l10n';
8
+ import { CdkOverlayOrigin, CdkConnectedOverlay } from '@angular/cdk/overlay';
9
+
10
+ class PaginateComponent {
11
+ pageSizes = input([], ...(ngDevMode ? [{ debugName: "pageSizes" }] : []));
12
+ totalCount = input(undefined, { ...(ngDevMode ? { debugName: "totalCount" } : {}), transform: numberAttribute });
13
+ pageSize = model(...(ngDevMode ? [undefined, { debugName: "pageSize" }] : []));
14
+ pageIndex = model(0, ...(ngDevMode ? [{ debugName: "pageIndex" }] : []));
15
+ pageCount = computed(() => {
16
+ const pageSize = this.pageSize();
17
+ const totalCount = this.totalCount();
18
+ if (totalCount !== undefined && pageSize !== undefined) {
19
+ return totalCount < pageSize ? 1 : Math.ceil(totalCount / pageSize);
20
+ }
21
+ return 1;
22
+ }, ...(ngDevMode ? [{ debugName: "pageCount" }] : []));
23
+ skipUntil = computed(() => {
24
+ const pageSize = this.pageSize();
25
+ const pageIndex = this.pageIndex();
26
+ if (pageSize !== undefined && pageIndex !== undefined) {
27
+ return pageIndex === 0 ? 1 : pageSize * pageIndex;
28
+ }
29
+ return 1;
30
+ }, ...(ngDevMode ? [{ debugName: "skipUntil" }] : []));
31
+ takeUntil = computed(() => {
32
+ const length = this.totalCount();
33
+ const pageSize = this.pageSize();
34
+ const skipUntil = this.skipUntil();
35
+ if (length && pageSize !== undefined) {
36
+ const takeUntil = skipUntil + pageSize;
37
+ return takeUntil > length ? length : takeUntil - 1;
38
+ }
39
+ return length;
40
+ }, ...(ngDevMode ? [{ debugName: "takeUntil" }] : []));
41
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: PaginateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
42
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.3", type: PaginateComponent, isStandalone: true, selector: "lat-paginate", inputs: { pageSizes: { classPropertyName: "pageSizes", publicName: "pageSizes", isSignal: true, isRequired: false, transformFunction: null }, totalCount: { classPropertyName: "totalCount", publicName: "totalCount", isSignal: true, isRequired: false, transformFunction: null }, pageSize: { classPropertyName: "pageSize", publicName: "pageSize", isSignal: true, isRequired: false, transformFunction: null }, pageIndex: { classPropertyName: "pageIndex", publicName: "pageIndex", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { pageSize: "pageSizeChange", pageIndex: "pageIndexChange" }, exportAs: ["latPaginate"], ngImport: i0, template: "@if (totalCount()) {\r\n <ng-content select=\"lat-paginate-rowsinfo\"/>\r\n}\r\n\r\n<ng-content select=\"lat-paginate-buttons, lat-paginate-pageinfo\"/>\r\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
43
+ }
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: PaginateComponent, decorators: [{
45
+ type: Component,
46
+ args: [{ exportAs: 'latPaginate', selector: 'lat-paginate', changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (totalCount()) {\r\n <ng-content select=\"lat-paginate-rowsinfo\"/>\r\n}\r\n\r\n<ng-content select=\"lat-paginate-buttons, lat-paginate-pageinfo\"/>\r\n" }]
47
+ }], propDecorators: { pageSizes: [{ type: i0.Input, args: [{ isSignal: true, alias: "pageSizes", required: false }] }], totalCount: [{ type: i0.Input, args: [{ isSignal: true, alias: "totalCount", required: false }] }], pageSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "pageSize", required: false }] }, { type: i0.Output, args: ["pageSizeChange"] }], pageIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "pageIndex", required: false }] }, { type: i0.Output, args: ["pageIndexChange"] }] } });
48
+
49
+ class PaginateButtonsComponent {
50
+ paginate = inject(PaginateComponent, { host: true });
51
+ onPageIndexChanged(delta) {
52
+ this.paginate.pageIndex.update((nowvalue) => {
53
+ const newvalue = nowvalue + delta;
54
+ const maxvalue = untracked(this.paginate.pageCount);
55
+ return newvalue < 0 || newvalue > maxvalue - 1 ? nowvalue : newvalue;
56
+ });
57
+ }
58
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: PaginateButtonsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
59
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.3", type: PaginateButtonsComponent, isStandalone: true, selector: "lat-paginate-buttons", exportAs: ["latPaginateButtons"], ngImport: i0, template: "<lat-button [variant]=\"null\" (click)=\"onPageIndexChanged(-1)\">\r\n <lat-icon name=\"chevron-left\" />\r\n</lat-button>\r\n\r\n<ng-content select=\"lat-paginate-pageinfo\" />\r\n\r\n<lat-button [variant]=\"null\" (click)=\"onPageIndexChanged(+1)\">\r\n <lat-icon name=\"chevron-right\" />\r\n</lat-button>\r\n", dependencies: [{ kind: "component", type: i1.ButtonComponent, selector: "lat-button", inputs: ["role", "size", "variant", "disabled", "tabindex"], exportAs: ["latButton"] }, { kind: "component", type: i2.IconComponent, selector: "lat-icon", inputs: ["role", "url", "name"], exportAs: ["latIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
60
+ }
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: PaginateButtonsComponent, decorators: [{
62
+ type: Component,
63
+ args: [{ imports: [ButtonImports, IconImports], exportAs: 'latPaginateButtons', selector: 'lat-paginate-buttons', changeDetection: ChangeDetectionStrategy.OnPush, template: "<lat-button [variant]=\"null\" (click)=\"onPageIndexChanged(-1)\">\r\n <lat-icon name=\"chevron-left\" />\r\n</lat-button>\r\n\r\n<ng-content select=\"lat-paginate-pageinfo\" />\r\n\r\n<lat-button [variant]=\"null\" (click)=\"onPageIndexChanged(+1)\">\r\n <lat-icon name=\"chevron-right\" />\r\n</lat-button>\r\n" }]
64
+ }] });
65
+
66
+ class PaginatePageInfoComponent {
67
+ paginate = inject(PaginateComponent);
68
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: PaginatePageInfoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
69
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.3", type: PaginatePageInfoComponent, isStandalone: true, selector: "lat-paginate-pageinfo", exportAs: ["latPaginatePageInfo"], ngImport: i0, template: "<span>{{ paginate.pageIndex() + 1 }}</span>\r\n<span>{{ 'paginate.of' | l10n }}</span>\r\n<span>{{ paginate.pageCount() }}</span>\r\n<span>{{ 'paginate.pages' | l10n }}</span>\r\n", dependencies: [{ kind: "pipe", type: LocalizationPipe, name: "l10n" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
70
+ }
71
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: PaginatePageInfoComponent, decorators: [{
72
+ type: Component,
73
+ args: [{ imports: [LocalizationPipe], exportAs: 'latPaginatePageInfo', selector: 'lat-paginate-pageinfo', changeDetection: ChangeDetectionStrategy.OnPush, template: "<span>{{ paginate.pageIndex() + 1 }}</span>\r\n<span>{{ 'paginate.of' | l10n }}</span>\r\n<span>{{ paginate.pageCount() }}</span>\r\n<span>{{ 'paginate.pages' | l10n }}</span>\r\n" }]
74
+ }] });
75
+
76
+ class PaginateRowsInfoComponent {
77
+ el = inject((ElementRef));
78
+ paginate = inject(PaginateComponent);
79
+ dropdown = signal(false, ...(ngDevMode ? [{ debugName: "dropdown" }] : []));
80
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: PaginateRowsInfoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
81
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.3", type: PaginateRowsInfoComponent, isStandalone: true, selector: "lat-paginate-rowsinfo", exportAs: ["latPaginateRowsInfo"], ngImport: i0, template: "@if (paginate.pageSizes().length) {\r\n <div\r\n cdkOverlayOrigin\r\n #cdkOverlayOrigin=\"cdkOverlayOrigin\"\r\n tabindex=\"0\"\r\n (keyup)=\"dropdown.set(true)\"\r\n (click)=\"dropdown.set(true)\"\r\n >\r\n <span>{{ paginate.skipUntil() }}</span>\r\n <span>-</span>\r\n <span>{{ paginate.takeUntil() }}</span>\r\n </div>\r\n <ng-template\r\n cdkConnectedOverlay\r\n cdkConnectedOverlayPanelClass=\"lat-dropdown\"\r\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\r\n [cdkConnectedOverlayOpen]=\"dropdown()\"\r\n [cdkConnectedOverlayOrigin]=\"cdkOverlayOrigin\"\r\n [cdkConnectedOverlayMinWidth]=\"el.nativeElement.clientWidth\"\r\n [cdkConnectedOverlayHasBackdrop]=\"true\"\r\n (backdropClick)=\"dropdown.set(false)\"\r\n >\r\n <ul>\r\n @for (value of paginate.pageSizes(); track value) {\r\n <li\r\n tabindex=\"0\"\r\n (keyup)=\"void 0\"\r\n (click)=\"paginate.pageSize.set(value); dropdown.set(false)\"\r\n >\r\n {{ value }}\r\n </li>\r\n }\r\n </ul>\r\n </ng-template>\r\n} @else {\r\n <div>\r\n <span>{{ paginate.skipUntil() }}</span>\r\n <span>-</span>\r\n <span>{{ paginate.takeUntil() }}</span>\r\n </div>\r\n}\r\n<span>{{ 'paginate.of' | l10n }}</span>\r\n<span>{{ paginate.totalCount() }}</span>\r\n<span>{{ 'paginate.rows' | l10n }}</span>\r\n", dependencies: [{ kind: "directive", type: CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "directive", type: CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation", "cdkConnectedOverlayUsePopover", "cdkConnectedOverlayMatchWidth", "cdkConnectedOverlay"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "pipe", type: LocalizationPipe, name: "l10n" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
82
+ }
83
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: PaginateRowsInfoComponent, decorators: [{
84
+ type: Component,
85
+ args: [{ imports: [CdkOverlayOrigin, CdkConnectedOverlay, LocalizationPipe], exportAs: 'latPaginateRowsInfo', selector: 'lat-paginate-rowsinfo', changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (paginate.pageSizes().length) {\r\n <div\r\n cdkOverlayOrigin\r\n #cdkOverlayOrigin=\"cdkOverlayOrigin\"\r\n tabindex=\"0\"\r\n (keyup)=\"dropdown.set(true)\"\r\n (click)=\"dropdown.set(true)\"\r\n >\r\n <span>{{ paginate.skipUntil() }}</span>\r\n <span>-</span>\r\n <span>{{ paginate.takeUntil() }}</span>\r\n </div>\r\n <ng-template\r\n cdkConnectedOverlay\r\n cdkConnectedOverlayPanelClass=\"lat-dropdown\"\r\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\r\n [cdkConnectedOverlayOpen]=\"dropdown()\"\r\n [cdkConnectedOverlayOrigin]=\"cdkOverlayOrigin\"\r\n [cdkConnectedOverlayMinWidth]=\"el.nativeElement.clientWidth\"\r\n [cdkConnectedOverlayHasBackdrop]=\"true\"\r\n (backdropClick)=\"dropdown.set(false)\"\r\n >\r\n <ul>\r\n @for (value of paginate.pageSizes(); track value) {\r\n <li\r\n tabindex=\"0\"\r\n (keyup)=\"void 0\"\r\n (click)=\"paginate.pageSize.set(value); dropdown.set(false)\"\r\n >\r\n {{ value }}\r\n </li>\r\n }\r\n </ul>\r\n </ng-template>\r\n} @else {\r\n <div>\r\n <span>{{ paginate.skipUntil() }}</span>\r\n <span>-</span>\r\n <span>{{ paginate.takeUntil() }}</span>\r\n </div>\r\n}\r\n<span>{{ 'paginate.of' | l10n }}</span>\r\n<span>{{ paginate.totalCount() }}</span>\r\n<span>{{ 'paginate.rows' | l10n }}</span>\r\n" }]
86
+ }] });
87
+
88
+ const PaginateImports = [
89
+ PaginateComponent,
90
+ PaginateButtonsComponent,
91
+ PaginatePageInfoComponent,
92
+ PaginateRowsInfoComponent
93
+ ];
94
+
95
+ /**
96
+ * Generated bundle index. Do not edit.
97
+ */
98
+
99
+ export { PaginateButtonsComponent, PaginateComponent, PaginateImports, PaginatePageInfoComponent, PaginateRowsInfoComponent };
100
+ //# sourceMappingURL=latitude-ui-widgets-paginate.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"latitude-ui-widgets-paginate.mjs","sources":["../../../../packages/widgets/paginate/lib/paginate.ts","../../../../packages/widgets/paginate/lib/paginate.html","../../../../packages/widgets/paginate/lib/paginate-buttons.ts","../../../../packages/widgets/paginate/lib/paginate-buttons.html","../../../../packages/widgets/paginate/lib/paginate-pageinfo.ts","../../../../packages/widgets/paginate/lib/paginate-pageinfo.html","../../../../packages/widgets/paginate/lib/paginate-rowsinfo.ts","../../../../packages/widgets/paginate/lib/paginate-rowsinfo.html","../../../../packages/widgets/paginate/public-api.ts","../../../../packages/widgets/paginate/latitude-ui-widgets-paginate.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, computed, input, model, numberAttribute } from '@angular/core';\r\n\r\n\r\n@Component({\r\n exportAs: 'latPaginate',\r\n selector: 'lat-paginate',\r\n templateUrl: './paginate.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class PaginateComponent {\r\n\r\n readonly pageSizes = input<number[]>([]);\r\n readonly totalCount = input<number, unknown>(undefined, { transform: numberAttribute });\r\n\r\n readonly pageSize = model<number>();\r\n readonly pageIndex = model<number>(0);\r\n\r\n readonly pageCount = computed(() => {\r\n const pageSize = this.pageSize();\r\n const totalCount = this.totalCount();\r\n\r\n if (totalCount !== undefined && pageSize !== undefined) {\r\n return totalCount < pageSize ? 1 : Math.ceil(totalCount / pageSize);\r\n }\r\n\r\n return 1;\r\n });\r\n\r\n readonly skipUntil = computed(() => {\r\n const pageSize = this.pageSize();\r\n const pageIndex = this.pageIndex();\r\n\r\n if (pageSize !== undefined && pageIndex !== undefined) {\r\n return pageIndex === 0 ? 1 : pageSize * pageIndex;\r\n }\r\n\r\n return 1;\r\n });\r\n\r\n readonly takeUntil = computed(() => {\r\n const length = this.totalCount();\r\n const pageSize = this.pageSize();\r\n const skipUntil = this.skipUntil();\r\n\r\n if (length && pageSize !== undefined) {\r\n const takeUntil = skipUntil + pageSize;\r\n\r\n return takeUntil > length ? length : takeUntil - 1;\r\n }\r\n\r\n return length;\r\n });\r\n\r\n\r\n}\r\n","@if (totalCount()) {\r\n <ng-content select=\"lat-paginate-rowsinfo\"/>\r\n}\r\n\r\n<ng-content select=\"lat-paginate-buttons, lat-paginate-pageinfo\"/>\r\n","import { ChangeDetectionStrategy, Component, inject, untracked } from '@angular/core';\r\n\r\nimport { ButtonImports } from '@latitude-ui/widgets/button';\r\nimport { IconImports } from '@latitude-ui/widgets/icons';\r\n\r\nimport { PaginateComponent } from './paginate';\r\n\r\n\r\n@Component({\r\n imports: [ButtonImports, IconImports],\r\n exportAs: 'latPaginateButtons',\r\n selector: 'lat-paginate-buttons',\r\n templateUrl: './paginate-buttons.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class PaginateButtonsComponent {\r\n readonly paginate = inject(PaginateComponent, { host: true });\r\n\r\n onPageIndexChanged(delta: number) {\r\n this.paginate.pageIndex.update((nowvalue) => {\r\n const newvalue = nowvalue + delta;\r\n const maxvalue = untracked(this.paginate.pageCount);\r\n\r\n return newvalue < 0 || newvalue > maxvalue - 1 ? nowvalue : newvalue;\r\n });\r\n }\r\n}\r\n","<lat-button [variant]=\"null\" (click)=\"onPageIndexChanged(-1)\">\r\n <lat-icon name=\"chevron-left\" />\r\n</lat-button>\r\n\r\n<ng-content select=\"lat-paginate-pageinfo\" />\r\n\r\n<lat-button [variant]=\"null\" (click)=\"onPageIndexChanged(+1)\">\r\n <lat-icon name=\"chevron-right\" />\r\n</lat-button>\r\n","import { ChangeDetectionStrategy, Component, inject } from '@angular/core';\r\nimport { LocalizationPipe } from '@latitude-ui/widgets/l10n';\r\n\r\nimport { PaginateComponent } from './paginate';\r\n\r\n\r\n@Component({\r\n imports: [LocalizationPipe],\r\n exportAs: 'latPaginatePageInfo',\r\n selector: 'lat-paginate-pageinfo',\r\n templateUrl: './paginate-pageinfo.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class PaginatePageInfoComponent {\r\n readonly paginate = inject(PaginateComponent);\r\n}\r\n","<span>{{ paginate.pageIndex() + 1 }}</span>\r\n<span>{{ 'paginate.of' | l10n }}</span>\r\n<span>{{ paginate.pageCount() }}</span>\r\n<span>{{ 'paginate.pages' | l10n }}</span>\r\n","import { ChangeDetectionStrategy, Component, ElementRef, inject, signal } from '@angular/core';\r\nimport { CdkConnectedOverlay, CdkOverlayOrigin } from '@angular/cdk/overlay';\r\n\r\nimport { LocalizationPipe } from '@latitude-ui/widgets/l10n';\r\n\r\nimport { PaginateComponent } from './paginate';\r\n\r\n\r\n@Component({\r\n imports: [CdkOverlayOrigin, CdkConnectedOverlay, LocalizationPipe],\r\n exportAs: 'latPaginateRowsInfo',\r\n selector: 'lat-paginate-rowsinfo',\r\n templateUrl: './paginate-rowsinfo.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class PaginateRowsInfoComponent {\r\n readonly el = inject(ElementRef<HTMLElement>);\r\n readonly paginate = inject(PaginateComponent);\r\n\r\n readonly dropdown = signal(false);\r\n}\r\n","@if (paginate.pageSizes().length) {\r\n <div\r\n cdkOverlayOrigin\r\n #cdkOverlayOrigin=\"cdkOverlayOrigin\"\r\n tabindex=\"0\"\r\n (keyup)=\"dropdown.set(true)\"\r\n (click)=\"dropdown.set(true)\"\r\n >\r\n <span>{{ paginate.skipUntil() }}</span>\r\n <span>-</span>\r\n <span>{{ paginate.takeUntil() }}</span>\r\n </div>\r\n <ng-template\r\n cdkConnectedOverlay\r\n cdkConnectedOverlayPanelClass=\"lat-dropdown\"\r\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\r\n [cdkConnectedOverlayOpen]=\"dropdown()\"\r\n [cdkConnectedOverlayOrigin]=\"cdkOverlayOrigin\"\r\n [cdkConnectedOverlayMinWidth]=\"el.nativeElement.clientWidth\"\r\n [cdkConnectedOverlayHasBackdrop]=\"true\"\r\n (backdropClick)=\"dropdown.set(false)\"\r\n >\r\n <ul>\r\n @for (value of paginate.pageSizes(); track value) {\r\n <li\r\n tabindex=\"0\"\r\n (keyup)=\"void 0\"\r\n (click)=\"paginate.pageSize.set(value); dropdown.set(false)\"\r\n >\r\n {{ value }}\r\n </li>\r\n }\r\n </ul>\r\n </ng-template>\r\n} @else {\r\n <div>\r\n <span>{{ paginate.skipUntil() }}</span>\r\n <span>-</span>\r\n <span>{{ paginate.takeUntil() }}</span>\r\n </div>\r\n}\r\n<span>{{ 'paginate.of' | l10n }}</span>\r\n<span>{{ paginate.totalCount() }}</span>\r\n<span>{{ 'paginate.rows' | l10n }}</span>\r\n","import { PaginateComponent } from './lib/paginate';\r\nimport { PaginateButtonsComponent } from './lib/paginate-buttons';\r\nimport { PaginatePageInfoComponent } from './lib/paginate-pageinfo';\r\nimport { PaginateRowsInfoComponent } from './lib/paginate-rowsinfo';\r\n\r\nexport * from './lib/paginate';\r\nexport * from './lib/paginate-buttons';\r\nexport * from './lib/paginate-pageinfo';\r\nexport * from './lib/paginate-rowsinfo';\r\n\r\nexport const PaginateImports = [\r\n PaginateComponent,\r\n PaginateButtonsComponent,\r\n PaginatePageInfoComponent,\r\n PaginateRowsInfoComponent\r\n] as const;\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,7 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { inject, ElementRef, Renderer2, HostListener, Directive } from '@angular/core';
3
3
 
4
- class ScrollableDirective {
4
+ class ScrollableComponent {
5
5
  el = inject((ElementRef));
6
6
  renderer = inject(Renderer2);
7
7
  scrollbarTrack;
@@ -74,10 +74,10 @@ class ScrollableDirective {
74
74
  this.thumbPosition = (scrollElement.scrollTop / (contentHeight - containerHeight)) * maxThumbPosition;
75
75
  this.renderer.setStyle(this.scrollbarThumb, 'transform', `translateY(${this.thumbPosition}px)`);
76
76
  }
77
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ScrollableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
78
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.3", type: ScrollableDirective, isStandalone: true, selector: "[latScrollable]", host: { listeners: { "scroll": "onScroll()", "mouseenter": "onMouseEnter()", "mouseleave": "onMouseLeave()" } }, ngImport: i0 });
77
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ScrollableComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
78
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.3", type: ScrollableComponent, isStandalone: true, selector: "[latScrollable]", host: { listeners: { "scroll": "onScroll()", "mouseenter": "onMouseEnter()", "mouseleave": "onMouseLeave()" } }, ngImport: i0 });
79
79
  }
80
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ScrollableDirective, decorators: [{
80
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ScrollableComponent, decorators: [{
81
81
  type: Directive,
82
82
  args: [{
83
83
  selector: '[latScrollable]',
@@ -94,9 +94,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImpor
94
94
  args: ['mouseleave']
95
95
  }] } });
96
96
 
97
+ const ScrollableImports = [
98
+ ScrollableComponent
99
+ ];
100
+
97
101
  /**
98
102
  * Generated bundle index. Do not edit.
99
103
  */
100
104
 
101
- export { ScrollableDirective };
105
+ export { ScrollableComponent, ScrollableImports };
102
106
  //# sourceMappingURL=latitude-ui-widgets-scrollable.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"latitude-ui-widgets-scrollable.mjs","sources":["../../../../packages/widgets/scrollable/lib/scrollable.directive.ts","../../../../packages/widgets/scrollable/latitude-ui-widgets-scrollable.ts"],"sourcesContent":["import {\r\n Directive,\r\n ElementRef,\r\n HostListener,\r\n AfterViewInit,\r\n Renderer2,\r\n OnDestroy, inject\r\n} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[latScrollable]',\r\n standalone: true,\r\n})\r\nexport class ScrollableDirective implements AfterViewInit, OnDestroy {\r\n readonly el = inject(ElementRef<HTMLElement>);\r\n readonly renderer = inject(Renderer2);\r\n\r\n private scrollbarTrack: HTMLElement;\r\n private scrollbarThumb: HTMLElement;\r\n private thumbHeight = 20;\r\n private thumbPosition = 0;\r\n private resizeObserver: ResizeObserver;\r\n private isScrolling = false;\r\n\r\n constructor() {\r\n this.renderer.setStyle(this.el.nativeElement, 'scrollbar-width', 'none');\r\n this.renderer.setStyle(this.el.nativeElement, '-ms-overflow-style', 'none');\r\n this.renderer.setStyle(this.el.nativeElement, '-webkit-scrollbar', 'none');\r\n\r\n this.scrollbarTrack = this.renderer.createElement('div');\r\n this.renderer.setStyle(this.scrollbarTrack, 'position', 'absolute');\r\n this.renderer.setStyle(this.scrollbarTrack, 'top', '5px');\r\n this.renderer.setStyle(this.scrollbarTrack, 'right', '2px');\r\n this.renderer.setStyle(this.scrollbarTrack, 'width', '6px');\r\n this.renderer.setStyle(this.scrollbarTrack, 'height', '100%');\r\n this.renderer.setStyle(this.scrollbarTrack, 'opacity', '0');\r\n this.renderer.setStyle(this.scrollbarTrack, 'transition', 'opacity 0.3s ease-in-out');\r\n this.renderer.setStyle(this.scrollbarTrack, 'pointer-events', 'none');\r\n this.renderer.setStyle(this.scrollbarTrack, 'z-index', '40');\r\n\r\n this.scrollbarThumb = this.renderer.createElement('div');\r\n this.renderer.setStyle(this.scrollbarThumb, 'width', '100%');\r\n this.renderer.setStyle(this.scrollbarThumb, 'background-color', 'var(--lat-scrollbar-color, #888)',);\r\n this.renderer.setStyle(this.scrollbarThumb, 'border-radius', '4px');\r\n this.renderer.setStyle(this.scrollbarThumb, 'position', 'absolute');\r\n this.renderer.setStyle(this.scrollbarThumb, 'left', '0');\r\n this.renderer.setStyle(this.scrollbarThumb, 'transition', 'transform 0.1s linear');\r\n\r\n this.renderer.appendChild(this.scrollbarTrack, this.scrollbarThumb);\r\n\r\n this.renderer.appendChild(this.el.nativeElement, this.scrollbarTrack);\r\n\r\n this.resizeObserver = new ResizeObserver(() => this.updateScrollbar());\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.updateScrollbar();\r\n this.resizeObserver.observe(this.el.nativeElement);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.resizeObserver.disconnect();\r\n }\r\n\r\n @HostListener('scroll')\r\n onScroll() {\r\n if (!this.isScrolling) {\r\n this.isScrolling = true;\r\n requestAnimationFrame(() => {\r\n this.updateScrollbar();\r\n this.isScrolling = false;\r\n });\r\n }\r\n }\r\n\r\n @HostListener('mouseenter')\r\n onMouseEnter() {\r\n this.renderer.setStyle(this.scrollbarTrack, 'opacity', '1');\r\n }\r\n\r\n @HostListener('mouseleave')\r\n onMouseLeave() {\r\n this.renderer.setStyle(this.scrollbarTrack, 'opacity', '0');\r\n }\r\n\r\n private updateScrollbar() {\r\n const scrollElement = this.el.nativeElement;\r\n const containerHeight = scrollElement.clientHeight;\r\n const contentHeight = scrollElement.scrollHeight;\r\n const parentElement = scrollElement.parentElement;\r\n const parentHeight = parentElement ? parentElement.clientHeight : 0;\r\n\r\n if (contentHeight <= Math.max(containerHeight) || contentHeight <= parentHeight) {\r\n this.renderer.setStyle(this.scrollbarTrack, 'display', 'none');\r\n\r\n return void 0;\r\n }\r\n\r\n this.renderer.setStyle(this.scrollbarTrack, 'display', 'block');\r\n\r\n this.thumbHeight = Math.max(40, (containerHeight / contentHeight) * containerHeight);\r\n this.renderer.setStyle(this.scrollbarThumb, 'height', `${this.thumbHeight}px`);\r\n\r\n const maxThumbPosition = containerHeight - this.thumbHeight;\r\n this.thumbPosition = (scrollElement.scrollTop / (contentHeight - containerHeight)) * maxThumbPosition;\r\n\r\n this.renderer.setStyle(this.scrollbarThumb, 'transform', `translateY(${this.thumbPosition}px)`);\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"latitude-ui-widgets-scrollable.mjs","sources":["../../../../packages/widgets/scrollable/lib/scrollable.ts","../../../../packages/widgets/scrollable/public-api.ts","../../../../packages/widgets/scrollable/latitude-ui-widgets-scrollable.ts"],"sourcesContent":["import {\r\n Directive,\r\n ElementRef,\r\n HostListener,\r\n AfterViewInit,\r\n Renderer2,\r\n OnDestroy, inject\r\n} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[latScrollable]',\r\n standalone: true,\r\n})\r\nexport class ScrollableComponent implements AfterViewInit, OnDestroy {\r\n readonly el = inject(ElementRef<HTMLElement>);\r\n readonly renderer = inject(Renderer2);\r\n\r\n private scrollbarTrack: HTMLElement;\r\n private scrollbarThumb: HTMLElement;\r\n private thumbHeight = 20;\r\n private thumbPosition = 0;\r\n private resizeObserver: ResizeObserver;\r\n private isScrolling = false;\r\n\r\n constructor() {\r\n this.renderer.setStyle(this.el.nativeElement, 'scrollbar-width', 'none');\r\n this.renderer.setStyle(this.el.nativeElement, '-ms-overflow-style', 'none');\r\n this.renderer.setStyle(this.el.nativeElement, '-webkit-scrollbar', 'none');\r\n\r\n this.scrollbarTrack = this.renderer.createElement('div');\r\n this.renderer.setStyle(this.scrollbarTrack, 'position', 'absolute');\r\n this.renderer.setStyle(this.scrollbarTrack, 'top', '5px');\r\n this.renderer.setStyle(this.scrollbarTrack, 'right', '2px');\r\n this.renderer.setStyle(this.scrollbarTrack, 'width', '6px');\r\n this.renderer.setStyle(this.scrollbarTrack, 'height', '100%');\r\n this.renderer.setStyle(this.scrollbarTrack, 'opacity', '0');\r\n this.renderer.setStyle(this.scrollbarTrack, 'transition', 'opacity 0.3s ease-in-out');\r\n this.renderer.setStyle(this.scrollbarTrack, 'pointer-events', 'none');\r\n this.renderer.setStyle(this.scrollbarTrack, 'z-index', '40');\r\n\r\n this.scrollbarThumb = this.renderer.createElement('div');\r\n this.renderer.setStyle(this.scrollbarThumb, 'width', '100%');\r\n this.renderer.setStyle(this.scrollbarThumb, 'background-color', 'var(--lat-scrollbar-color, #888)',);\r\n this.renderer.setStyle(this.scrollbarThumb, 'border-radius', '4px');\r\n this.renderer.setStyle(this.scrollbarThumb, 'position', 'absolute');\r\n this.renderer.setStyle(this.scrollbarThumb, 'left', '0');\r\n this.renderer.setStyle(this.scrollbarThumb, 'transition', 'transform 0.1s linear');\r\n\r\n this.renderer.appendChild(this.scrollbarTrack, this.scrollbarThumb);\r\n\r\n this.renderer.appendChild(this.el.nativeElement, this.scrollbarTrack);\r\n\r\n this.resizeObserver = new ResizeObserver(() => this.updateScrollbar());\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.updateScrollbar();\r\n this.resizeObserver.observe(this.el.nativeElement);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.resizeObserver.disconnect();\r\n }\r\n\r\n @HostListener('scroll')\r\n onScroll() {\r\n if (!this.isScrolling) {\r\n this.isScrolling = true;\r\n requestAnimationFrame(() => {\r\n this.updateScrollbar();\r\n this.isScrolling = false;\r\n });\r\n }\r\n }\r\n\r\n @HostListener('mouseenter')\r\n onMouseEnter() {\r\n this.renderer.setStyle(this.scrollbarTrack, 'opacity', '1');\r\n }\r\n\r\n @HostListener('mouseleave')\r\n onMouseLeave() {\r\n this.renderer.setStyle(this.scrollbarTrack, 'opacity', '0');\r\n }\r\n\r\n private updateScrollbar() {\r\n const scrollElement = this.el.nativeElement;\r\n const containerHeight = scrollElement.clientHeight;\r\n const contentHeight = scrollElement.scrollHeight;\r\n const parentElement = scrollElement.parentElement;\r\n const parentHeight = parentElement ? parentElement.clientHeight : 0;\r\n\r\n if (contentHeight <= Math.max(containerHeight) || contentHeight <= parentHeight) {\r\n this.renderer.setStyle(this.scrollbarTrack, 'display', 'none');\r\n\r\n return void 0;\r\n }\r\n\r\n this.renderer.setStyle(this.scrollbarTrack, 'display', 'block');\r\n\r\n this.thumbHeight = Math.max(40, (containerHeight / contentHeight) * containerHeight);\r\n this.renderer.setStyle(this.scrollbarThumb, 'height', `${this.thumbHeight}px`);\r\n\r\n const maxThumbPosition = containerHeight - this.thumbHeight;\r\n this.thumbPosition = (scrollElement.scrollTop / (contentHeight - containerHeight)) * maxThumbPosition;\r\n\r\n this.renderer.setStyle(this.scrollbarThumb, 'transform', `translateY(${this.thumbPosition}px)`);\r\n }\r\n}\r\n","import { ScrollableComponent } from './lib/scrollable';\r\n\r\nexport * from './lib/scrollable';\r\n\r\nexport const ScrollableImports = [\r\n ScrollableComponent\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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"}