@latitude-ui/widgets 0.0.13 → 0.0.15

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 (197) hide show
  1. package/README.md +2 -2
  2. package/button/index.d.ts +19 -0
  3. package/checkbox/{src/checkbox.component.d.ts → index.d.ts} +6 -3
  4. package/core/index.d.ts +39 -0
  5. package/fesm2022/latitude-ui-widgets-button.mjs +51 -0
  6. package/fesm2022/latitude-ui-widgets-button.mjs.map +1 -0
  7. package/fesm2022/latitude-ui-widgets-checkbox.mjs +40 -0
  8. package/fesm2022/latitude-ui-widgets-checkbox.mjs.map +1 -0
  9. package/fesm2022/latitude-ui-widgets-core.mjs +116 -0
  10. package/fesm2022/latitude-ui-widgets-core.mjs.map +1 -0
  11. package/fesm2022/latitude-ui-widgets-icons.mjs +118 -0
  12. package/fesm2022/latitude-ui-widgets-icons.mjs.map +1 -0
  13. package/fesm2022/latitude-ui-widgets-input.mjs +225 -0
  14. package/fesm2022/latitude-ui-widgets-input.mjs.map +1 -0
  15. package/fesm2022/latitude-ui-widgets-listbox.mjs +51 -0
  16. package/fesm2022/latitude-ui-widgets-listbox.mjs.map +1 -0
  17. package/fesm2022/latitude-ui-widgets-select.mjs +316 -0
  18. package/fesm2022/latitude-ui-widgets-select.mjs.map +1 -0
  19. package/fesm2022/latitude-ui-widgets-switch.mjs +37 -0
  20. package/fesm2022/latitude-ui-widgets-switch.mjs.map +1 -0
  21. package/fesm2022/latitude-ui-widgets-textbox-number.mjs +168 -0
  22. package/fesm2022/latitude-ui-widgets-textbox-number.mjs.map +1 -0
  23. package/fesm2022/latitude-ui-widgets-textbox.mjs +62 -0
  24. package/fesm2022/latitude-ui-widgets-textbox.mjs.map +1 -0
  25. package/fesm2022/latitude-ui-widgets-toolbar.mjs +20 -0
  26. package/fesm2022/latitude-ui-widgets-toolbar.mjs.map +1 -0
  27. package/fesm2022/latitude-ui-widgets.mjs +6 -0
  28. package/fesm2022/latitude-ui-widgets.mjs.map +1 -0
  29. package/icons/index.d.ts +19 -0
  30. package/index.d.ts +2 -0
  31. package/input/index.d.ts +116 -0
  32. package/listbox/index.d.ts +23 -0
  33. package/package.json +30 -45
  34. package/select/index.d.ts +74 -0
  35. package/switch/{src/switch.component.d.ts → index.d.ts} +6 -3
  36. package/textbox/index.d.ts +26 -0
  37. package/textbox-number/index.d.ts +44 -0
  38. package/toolbar/{src/toolbar.component.d.ts → index.d.ts} +5 -2
  39. package/button/latitude-ui-widgets-button.d.ts +0 -5
  40. package/button/public-api.d.ts +0 -2
  41. package/button/src/button.component.d.ts +0 -14
  42. package/button/src/button.types.d.ts +0 -2
  43. package/checkbox/latitude-ui-widgets-checkbox.d.ts +0 -5
  44. package/checkbox/public-api.d.ts +0 -1
  45. package/combobox/latitude-ui-widgets-combobox.d.ts +0 -5
  46. package/combobox/public-api.d.ts +0 -2
  47. package/core/latitude-ui-widgets-core.d.ts +0 -5
  48. package/core/public-api.d.ts +0 -6
  49. package/core/src/dimensions.d.ts +0 -13
  50. package/core/src/illegal.d.ts +0 -2
  51. package/core/src/listeners.d.ts +0 -8
  52. package/core/src/noop.d.ts +0 -1
  53. package/core/src/root.d.ts +0 -12
  54. package/core/src/uid.d.ts +0 -1
  55. package/esm2022/button/latitude-ui-widgets-button.js +0 -5
  56. package/esm2022/button/public-api.js +0 -3
  57. package/esm2022/button/src/button.component.js +0 -44
  58. package/esm2022/button/src/button.types.js +0 -1
  59. package/esm2022/checkbox/latitude-ui-widgets-checkbox.js +0 -5
  60. package/esm2022/checkbox/public-api.js +0 -2
  61. package/esm2022/checkbox/src/checkbox.component.js +0 -33
  62. package/esm2022/combobox/latitude-ui-widgets-combobox.js +0 -5
  63. package/esm2022/combobox/public-api.js +0 -2
  64. package/esm2022/core/latitude-ui-widgets-core.js +0 -5
  65. package/esm2022/core/public-api.js +0 -7
  66. package/esm2022/core/src/dimensions.js +0 -56
  67. package/esm2022/core/src/illegal.js +0 -5
  68. package/esm2022/core/src/listeners.js +0 -32
  69. package/esm2022/core/src/noop.js +0 -3
  70. package/esm2022/core/src/root.js +0 -20
  71. package/esm2022/core/src/uid.js +0 -4
  72. package/esm2022/icons/latitude-ui-widgets-icons.js +0 -5
  73. package/esm2022/icons/public-api.js +0 -3
  74. package/esm2022/icons/src/icon.component.js +0 -35
  75. package/esm2022/icons/src/icon.service.js +0 -62
  76. package/esm2022/icons/src/icon.tokens.js +0 -19
  77. package/esm2022/input/latitude-ui-widgets-input.js +0 -5
  78. package/esm2022/input/public-api.js +0 -6
  79. package/esm2022/input/src/input-error/i18n/en.js +0 -9
  80. package/esm2022/input/src/input-error/i18n/ru.js +0 -9
  81. package/esm2022/input/src/input-error/input-error.component.js +0 -22
  82. package/esm2022/input/src/input-error/input-error.i18n.js +0 -65
  83. package/esm2022/input/src/input-label/input-label.component.js +0 -20
  84. package/esm2022/input/src/input.component.js +0 -44
  85. package/esm2022/input/src/input.directive.js +0 -116
  86. package/esm2022/input/src/input.module.js +0 -9
  87. package/esm2022/input/src/input.types.js +0 -1
  88. package/esm2022/latitude-ui-widgets.js +0 -5
  89. package/esm2022/listbox/latitude-ui-widgets-listbox.js +0 -5
  90. package/esm2022/listbox/public-api.js +0 -4
  91. package/esm2022/listbox/src/listbox-option.component.js +0 -49
  92. package/esm2022/listbox/src/listbox.component.js +0 -14
  93. package/esm2022/listbox/src/listbox.module.js +0 -7
  94. package/esm2022/lookup/latitude-ui-widgets-lookup.js +0 -5
  95. package/esm2022/lookup/public-api.js +0 -3
  96. package/esm2022/lookup/src/lookup-outlet.directive.js +0 -13
  97. package/esm2022/lookup/src/lookup.component.js +0 -11
  98. package/esm2022/public-api.js +0 -2
  99. package/esm2022/select/latitude-ui-widgets-select.js +0 -5
  100. package/esm2022/select/public-api.js +0 -7
  101. package/esm2022/select/src/select/select.directive.js +0 -86
  102. package/esm2022/select/src/select-dropdown/select-dropdown.component.js +0 -39
  103. package/esm2022/select/src/select-multiple.component.js +0 -60
  104. package/esm2022/select/src/select-option/select-option.component.js +0 -21
  105. package/esm2022/select/src/select-option/select-option.directive.js +0 -19
  106. package/esm2022/select/src/select-single.component.js +0 -51
  107. package/esm2022/select/src/select-trigger/select-trigger.component.js +0 -29
  108. package/esm2022/select/src/select-value/select-value.component.js +0 -15
  109. package/esm2022/select/src/select-values/select-values.component.js +0 -16
  110. package/esm2022/select/src/select.module.js +0 -9
  111. package/esm2022/switch/latitude-ui-widgets-switch.js +0 -5
  112. package/esm2022/switch/public-api.js +0 -2
  113. package/esm2022/switch/src/switch.component.js +0 -30
  114. package/esm2022/textarea/latitude-ui-widgets-textarea.js +0 -5
  115. package/esm2022/textarea/public-api.js +0 -2
  116. package/esm2022/textarea/src/textarea.component.js +0 -26
  117. package/esm2022/textbox/latitude-ui-widgets-textbox.js +0 -5
  118. package/esm2022/textbox/public-api.js +0 -3
  119. package/esm2022/textbox/src/textbox.component.js +0 -25
  120. package/esm2022/textbox/src/textbox.directive.js +0 -25
  121. package/esm2022/textbox-number/latitude-ui-widgets-textbox-number.js +0 -5
  122. package/esm2022/textbox-number/public-api.js +0 -2
  123. package/esm2022/textbox-number/src/spinners.component.js +0 -22
  124. package/esm2022/textbox-number/src/textbox-number.component.js +0 -136
  125. package/esm2022/textbox-search/latitude-ui-widgets-textbox-search.js +0 -5
  126. package/esm2022/textbox-search/public-api.js +0 -2
  127. package/esm2022/textbox-search/src/textbox-search.component.js +0 -41
  128. package/esm2022/toolbar/latitude-ui-widgets-toolbar.js +0 -5
  129. package/esm2022/toolbar/public-api.js +0 -2
  130. package/esm2022/toolbar/src/toolbar.component.js +0 -14
  131. package/icons/latitude-ui-widgets-icons.d.ts +0 -5
  132. package/icons/public-api.d.ts +0 -2
  133. package/icons/src/icon.component.d.ts +0 -11
  134. package/icons/src/icon.service.d.ts +0 -15
  135. package/icons/src/icon.tokens.d.ts +0 -4
  136. package/input/latitude-ui-widgets-input.d.ts +0 -5
  137. package/input/public-api.d.ts +0 -5
  138. package/input/src/input-error/i18n/en.d.ts +0 -9
  139. package/input/src/input-error/i18n/ru.d.ts +0 -9
  140. package/input/src/input-error/input-error.component.d.ts +0 -9
  141. package/input/src/input-error/input-error.i18n.d.ts +0 -28
  142. package/input/src/input-label/input-label.component.d.ts +0 -11
  143. package/input/src/input.component.d.ts +0 -28
  144. package/input/src/input.directive.d.ts +0 -62
  145. package/input/src/input.module.d.ts +0 -4
  146. package/input/src/input.types.d.ts +0 -1
  147. package/latitude-ui-widgets.d.ts +0 -5
  148. package/listbox/latitude-ui-widgets-listbox.d.ts +0 -5
  149. package/listbox/public-api.d.ts +0 -3
  150. package/listbox/src/listbox-option.component.d.ts +0 -17
  151. package/listbox/src/listbox.component.d.ts +0 -5
  152. package/listbox/src/listbox.module.d.ts +0 -3
  153. package/lookup/README.md +0 -3
  154. package/lookup/latitude-ui-widgets-lookup.d.ts +0 -5
  155. package/lookup/public-api.d.ts +0 -2
  156. package/lookup/src/lookup-outlet.directive.d.ts +0 -5
  157. package/lookup/src/lookup.component.d.ts +0 -5
  158. package/public-api.d.ts +0 -2
  159. package/select/latitude-ui-widgets-select.d.ts +0 -5
  160. package/select/public-api.d.ts +0 -6
  161. package/select/src/select/select.directive.d.ts +0 -24
  162. package/select/src/select-dropdown/select-dropdown.component.d.ts +0 -14
  163. package/select/src/select-multiple.component.d.ts +0 -10
  164. package/select/src/select-option/select-option.component.d.ts +0 -10
  165. package/select/src/select-option/select-option.directive.d.ts +0 -14
  166. package/select/src/select-single.component.d.ts +0 -10
  167. package/select/src/select-trigger/select-trigger.component.d.ts +0 -9
  168. package/select/src/select-value/select-value.component.d.ts +0 -7
  169. package/select/src/select-values/select-values.component.d.ts +0 -7
  170. package/select/src/select.module.d.ts +0 -4
  171. package/styles/_colors.scss +0 -99
  172. package/styles/_defaults.scss +0 -135
  173. package/styles/_index.scss +0 -11
  174. package/styles/_typography.scss +0 -37
  175. package/styles/button/_index.scss +0 -199
  176. package/styles/forms/_index.scss +0 -867
  177. package/styles/icons/_index.scss +0 -34
  178. package/styles/list/_index.scss +0 -0
  179. package/styles/listbox/_index.scss +0 -30
  180. package/switch/latitude-ui-widgets-switch.d.ts +0 -5
  181. package/switch/public-api.d.ts +0 -1
  182. package/textarea/latitude-ui-widgets-textarea.d.ts +0 -5
  183. package/textarea/public-api.d.ts +0 -1
  184. package/textarea/src/textarea.component.d.ts +0 -9
  185. package/textbox/latitude-ui-widgets-textbox.d.ts +0 -5
  186. package/textbox/public-api.d.ts +0 -2
  187. package/textbox/src/textbox.component.d.ts +0 -8
  188. package/textbox/src/textbox.directive.d.ts +0 -12
  189. package/textbox-number/latitude-ui-widgets-textbox-number.d.ts +0 -5
  190. package/textbox-number/public-api.d.ts +0 -1
  191. package/textbox-number/src/spinners.component.d.ts +0 -8
  192. package/textbox-number/src/textbox-number.component.d.ts +0 -36
  193. package/textbox-search/latitude-ui-widgets-textbox-search.d.ts +0 -5
  194. package/textbox-search/public-api.d.ts +0 -1
  195. package/textbox-search/src/textbox-search.component.d.ts +0 -15
  196. package/toolbar/latitude-ui-widgets-toolbar.d.ts +0 -5
  197. package/toolbar/public-api.d.ts +0 -1
@@ -1,136 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, computed, effect, ElementRef, forwardRef, input, numberAttribute, viewChild, ViewEncapsulation, } from '@angular/core';
2
- import { Maskito, maskitoInitialCalibrationPlugin } from '@maskito/core';
3
- import { maskitoNumberOptionsGenerator, maskitoParseNumber, maskitoStringifyNumber } from '@maskito/kit';
4
- import { BuildInInputValueAccessor } from '@latitude-ui/widgets/input';
5
- import { TextBoxDirective } from '@latitude-ui/widgets/textbox';
6
- import { SpinnersComponent } from './spinners.component';
7
- import * as i0 from "@angular/core";
8
- export class TextBoxNumberComponent extends TextBoxDirective {
9
- max = input(undefined, { transform: numberAttribute });
10
- min = input(undefined, { transform: numberAttribute });
11
- step = input(undefined, { transform: numberAttribute });
12
- decimals = input(2);
13
- decimalMode = input('not-zero');
14
- decimalSeparator = input(',');
15
- thousandSeparator = input('');
16
- inputElementRef = viewChild.required('inputElementRef', { read: (ElementRef) });
17
- ariaValueMax = computed(() => this.max() ?? Number.MAX_SAFE_INTEGER);
18
- ariaValueMin = computed(() => this.min() ?? Number.MIN_SAFE_INTEGER);
19
- ariaValueNow = computed(() => this.value() || 0);
20
- maxlength = computed(() => {
21
- const { decimalSeparator, thousandSeparator } = this.maskitoNumberParams();
22
- const decimals = this.decimals();
23
- const mantissa = decimals && this.valueAsString().includes(decimalSeparator);
24
- const precision = mantissa ? Math.min(decimals + 1, 20) : 0;
25
- const thousand = thousandSeparator.repeat(5).length;
26
- return 18 + precision + thousand;
27
- });
28
- maskitoNumberParams = computed(() => {
29
- const decimalMode = this.decimalMode();
30
- return {
31
- max: this.ariaValueMax(),
32
- min: this.ariaValueMin(),
33
- minusSign: '-',
34
- precision: this.decimals(),
35
- decimalZeroPadding: decimalMode === 'always',
36
- decimalSeparator: this.decimalSeparator(),
37
- thousandSeparator: this.thousandSeparator(),
38
- };
39
- });
40
- constructor() {
41
- super();
42
- effect((onCleanup) => {
43
- const input = this.inputElementRef();
44
- const formatter = this.maskitoNumberParams();
45
- const { plugins, ...options } = maskitoNumberOptionsGenerator(formatter);
46
- const instance = new Maskito(input.nativeElement, {
47
- ...options,
48
- plugins: [
49
- ...plugins,
50
- maskitoInitialCalibrationPlugin(maskitoNumberOptionsGenerator({
51
- ...formatter,
52
- min: Number.MIN_SAFE_INTEGER,
53
- max: Number.MAX_SAFE_INTEGER,
54
- })),
55
- ],
56
- });
57
- onCleanup(() => instance.destroy());
58
- });
59
- }
60
- valueStringify(valueAsString) {
61
- const value = this.parseNumber(valueAsString);
62
- if (value === null) {
63
- return '';
64
- }
65
- return maskitoStringifyNumber(value, this.maskitoNumberParams());
66
- }
67
- valueSimplify(value) {
68
- const decimalSeparator = new RegExp(this.decimalSeparator(), 'gi');
69
- const thousandSeparator = new RegExp(this.thousandSeparator(), 'gi');
70
- return value.replace(thousandSeparator, '').replace(decimalSeparator, '.');
71
- }
72
- valueUnsettled(value) {
73
- return !!(value === '-' ||
74
- value.match(/^\s*([-+])?\d+\.$/) ||
75
- value.match(/^\s*([-+])?\d+\.[0-9]*0$/) ||
76
- value.match(/^\s*([-+])0+$/));
77
- }
78
- parseNumber(value) {
79
- let valueAsNumber = null;
80
- if (typeof value === 'number') {
81
- valueAsNumber = value;
82
- }
83
- else if (typeof value === 'string') {
84
- valueAsNumber = Number.parseFloat(value);
85
- }
86
- if (Number.isNaN(value)) {
87
- return null;
88
- }
89
- return valueAsNumber;
90
- }
91
- handleFocusEvent() {
92
- const value = maskitoParseNumber(this.valueAsString(), this.decimalSeparator());
93
- if (Number.isNaN(value) && !this.readonly()) {
94
- this.valueAsString.set('');
95
- }
96
- }
97
- handleBlurEvent() {
98
- this.markAsTouched();
99
- const valueAsString = this.valueSimplify(this.valueAsString());
100
- if (this.valueUnsettled(valueAsString)) {
101
- this.valueAsString.update(() => this.valueStringify(this.value()));
102
- }
103
- }
104
- handleInputEvent() {
105
- const input = this.inputElementRef();
106
- const valueAsString = this.valueSimplify(input.nativeElement.value);
107
- if (this.valueUnsettled(valueAsString)) {
108
- return this.valueAsString.update(() => input.nativeElement.value);
109
- }
110
- const value = this.parseNumber(valueAsString);
111
- if (value === null) {
112
- return this.writeValue(value);
113
- }
114
- if (value < this.ariaValueMin() || value > this.ariaValueMax()) {
115
- return void 0;
116
- }
117
- this.writeValue(value);
118
- }
119
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: TextBoxNumberComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
120
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.4", type: TextBoxNumberComponent, isStandalone: true, selector: "lat-textbox[type=\"number\"]", inputs: { max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, step: { classPropertyName: "step", publicName: "step", isSignal: true, isRequired: false, transformFunction: null }, decimals: { classPropertyName: "decimals", publicName: "decimals", isSignal: true, isRequired: false, transformFunction: null }, decimalMode: { classPropertyName: "decimalMode", publicName: "decimalMode", isSignal: true, isRequired: false, transformFunction: null }, decimalSeparator: { classPropertyName: "decimalSeparator", publicName: "decimalSeparator", isSignal: true, isRequired: false, transformFunction: null }, thousandSeparator: { classPropertyName: "thousandSeparator", publicName: "thousandSeparator", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
121
- {
122
- provide: BuildInInputValueAccessor,
123
- useExisting: forwardRef(() => TextBoxNumberComponent),
124
- },
125
- ], viewQueries: [{ propertyName: "inputElementRef", first: true, predicate: ["inputElementRef"], descendants: true, read: ElementRef, isSignal: true }], exportAs: ["latTextBox"], usesInheritance: true, ngImport: i0, template: "<input\r\n #inputElementRef\r\n type=\"text\"\r\n role=\"spinbutton\"\r\n autocomplete=\"off\"\r\n autocapitalize=\"off\"\r\n [value]='valueAsString()'\r\n [attr.id]=\"inputId()\"\r\n [attr.tabindex]=\"disabled() ? -1 : tabindex()\"\r\n [attr.disabled]=\"disabled() || undefined\"\r\n [attr.readonly]=\"readonly() || undefined\"\r\n [attr.required]=\"required() || undefined\"\r\n [attr.maxlength]=\"maxlength()\"\r\n [attr.placeholder]=\"placeholder()\"\r\n [attr.aria-invalid]=\"invalid() || undefined\"\r\n [attr.aria-valuemax]=\"ariaValueMax()\"\r\n [attr.aria-valuemin]=\"ariaValueMin()\"\r\n [attr.aria-valuenow]=\"ariaValueNow()\"\r\n [attr.aria-disabled]=\"disabled() || undefined\"\r\n [attr.aria-readonly]=\"readonly() || undefined\"\r\n [attr.aria-required]=\"required() || undefined\"\r\n [attr.aria-labelledby]=\"labelId()\"\r\n (blur)=\"handleBlurEvent()\"\r\n (focus)=\"handleFocusEvent()\"\r\n (input)=\"handleInputEvent()\"\r\n/>\r\n\r\n@if (step() && !readonly()) {\r\n <lat-spinners />\r\n}\r\n", dependencies: [{ kind: "component", type: SpinnersComponent, selector: "lat-spinners", exportAs: ["latSpinners"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
126
- }
127
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: TextBoxNumberComponent, decorators: [{
128
- type: Component,
129
- args: [{ imports: [SpinnersComponent], exportAs: 'latTextBox', selector: 'lat-textbox[type="number"]', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
130
- {
131
- provide: BuildInInputValueAccessor,
132
- useExisting: forwardRef(() => TextBoxNumberComponent),
133
- },
134
- ], template: "<input\r\n #inputElementRef\r\n type=\"text\"\r\n role=\"spinbutton\"\r\n autocomplete=\"off\"\r\n autocapitalize=\"off\"\r\n [value]='valueAsString()'\r\n [attr.id]=\"inputId()\"\r\n [attr.tabindex]=\"disabled() ? -1 : tabindex()\"\r\n [attr.disabled]=\"disabled() || undefined\"\r\n [attr.readonly]=\"readonly() || undefined\"\r\n [attr.required]=\"required() || undefined\"\r\n [attr.maxlength]=\"maxlength()\"\r\n [attr.placeholder]=\"placeholder()\"\r\n [attr.aria-invalid]=\"invalid() || undefined\"\r\n [attr.aria-valuemax]=\"ariaValueMax()\"\r\n [attr.aria-valuemin]=\"ariaValueMin()\"\r\n [attr.aria-valuenow]=\"ariaValueNow()\"\r\n [attr.aria-disabled]=\"disabled() || undefined\"\r\n [attr.aria-readonly]=\"readonly() || undefined\"\r\n [attr.aria-required]=\"required() || undefined\"\r\n [attr.aria-labelledby]=\"labelId()\"\r\n (blur)=\"handleBlurEvent()\"\r\n (focus)=\"handleFocusEvent()\"\r\n (input)=\"handleInputEvent()\"\r\n/>\r\n\r\n@if (step() && !readonly()) {\r\n <lat-spinners />\r\n}\r\n" }]
135
- }], ctorParameters: () => [] });
136
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGJveC1udW1iZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvd2lkZ2V0cy90ZXh0Ym94LW51bWJlci9zcmMvdGV4dGJveC1udW1iZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvd2lkZ2V0cy90ZXh0Ym94LW51bWJlci9zcmMvdGV4dGJveC1udW1iZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsUUFBUSxFQUNSLE1BQU0sRUFDTixVQUFVLEVBQ1YsVUFBVSxFQUNWLEtBQUssRUFDTCxlQUFlLEVBQ2YsU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxrQkFBa0IsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUV6RyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUVoRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFnQnpELE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxnQkFBd0I7SUFDbEQsR0FBRyxHQUFHLEtBQUssQ0FBa0IsU0FBUyxFQUFFLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxDQUFDLENBQUM7SUFDeEUsR0FBRyxHQUFHLEtBQUssQ0FBa0IsU0FBUyxFQUFFLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxDQUFDLENBQUM7SUFDeEUsSUFBSSxHQUFHLEtBQUssQ0FBa0IsU0FBUyxFQUFFLEVBQUUsU0FBUyxFQUFFLGVBQWUs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QUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSx1QkFBdUIsQ0FBQzt5QkFDdEQ7cUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBjb21wdXRlZCxcbiAgZWZmZWN0LFxuICBFbGVtZW50UmVmLFxuICBmb3J3YXJkUmVmLFxuICBpbnB1dCxcbiAgbnVtYmVyQXR0cmlidXRlLFxuICB2aWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTWFza2l0bywgbWFza2l0b0luaXRpYWxDYWxpYnJhdGlvblBsdWdpbiB9IGZyb20gJ0BtYXNraXRvL2NvcmUnO1xuaW1wb3J0IHsgbWFza2l0b051bWJlck9wdGlvbnNHZW5lcmF0b3IsIG1hc2tpdG9QYXJzZU51bWJlciwgbWFza2l0b1N0cmluZ2lmeU51bWJlciB9IGZyb20gJ0BtYXNraXRvL2tpdCc7XG5cbmltcG9ydCB7IEJ1aWxkSW5JbnB1dFZhbHVlQWNjZXNzb3IgfSBmcm9tICdAbGF0aXR1ZGUtdWkvd2lkZ2V0cy9pbnB1dCc7XG5pbXBvcnQgeyBUZXh0Qm94RGlyZWN0aXZlIH0gZnJvbSAnQGxhdGl0dWRlLXVpL3dpZGdldHMvdGV4dGJveCc7XG5cbmltcG9ydCB7IFNwaW5uZXJzQ29tcG9uZW50IH0gZnJvbSAnLi9zcGlubmVycy5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgaW1wb3J0czogW1NwaW5uZXJzQ29tcG9uZW50XSxcbiAgZXhwb3J0QXM6ICdsYXRUZXh0Qm94JyxcbiAgc2VsZWN0b3I6ICdsYXQtdGV4dGJveFt0eXBlPVwibnVtYmVyXCJdJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RleHRib3gtbnVtYmVyLmNvbXBvbmVudC5odG1sJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IEJ1aWxkSW5JbnB1dFZhbHVlQWNjZXNzb3IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUZXh0Qm94TnVtYmVyQ29tcG9uZW50KSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUZXh0Qm94TnVtYmVyQ29tcG9uZW50IGV4dGVuZHMgVGV4dEJveERpcmVjdGl2ZTxudW1iZXI+IHtcbiAgcHVibGljIHJlYWRvbmx5IG1heCA9IGlucHV0PG51bWJlciwgdW5rbm93bj4odW5kZWZpbmVkLCB7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pO1xuICBwdWJsaWMgcmVhZG9ubHkgbWluID0gaW5wdXQ8bnVtYmVyLCB1bmtub3duPih1bmRlZmluZWQsIHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSk7XG4gIHB1YmxpYyByZWFkb25seSBzdGVwID0gaW5wdXQ8bnVtYmVyLCB1bmtub3duPih1bmRlZmluZWQsIHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSk7XG4gIHB1YmxpYyByZWFkb25seSBkZWNpbWFscyA9IGlucHV0PG51bWJlcj4oMik7XG4gIHB1YmxpYyByZWFkb25seSBkZWNpbWFsTW9kZSA9IGlucHV0PCdhbHdheXMnIHwgJ25vdC16ZXJvJyB8ICdwYWQnPignbm90LXplcm8nKTtcbiAgcHVibGljIHJlYWRvbmx5IGRlY2ltYWxTZXBhcmF0b3IgPSBpbnB1dDwnLCcgfCAnLic+KCcsJyk7XG4gIHB1YmxpYyByZWFkb25seSB0aG91c2FuZFNlcGFyYXRvciA9IGlucHV0PHN0cmluZz4oJycpO1xuXG4gIHB1YmxpYyByZWFkb25seSBpbnB1dEVsZW1lbnRSZWYgPSB2aWV3Q2hpbGQucmVxdWlyZWQoJ2lucHV0RWxlbWVudFJlZicsIHsgcmVhZDogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PiB9KTtcblxuICBwdWJsaWMgcmVhZG9ubHkgYXJpYVZhbHVlTWF4ID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5tYXgoKSA/PyBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUik7XG4gIHB1YmxpYyByZWFkb25seSBhcmlhVmFsdWVNaW4gPSBjb21wdXRlZCgoKSA9PiB0aGlzLm1pbigpID8/IE51bWJlci5NSU5fU0FGRV9JTlRFR0VSKTtcbiAgcHVibGljIHJlYWRvbmx5IGFyaWFWYWx1ZU5vdyA9IGNvbXB1dGVkKCgpID0+IHRoaXMudmFsdWUoKSB8fCAwKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgbWF4bGVuZ3RoID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IHsgZGVjaW1hbFNlcGFyYXRvciwgdGhvdXNhbmRTZXBhcmF0b3IgfSA9IHRoaXMubWFza2l0b051bWJlclBhcmFtcygpO1xuXG4gICAgY29uc3QgZGVjaW1hbHMgPSB0aGlzLmRlY2ltYWxzKCk7XG5cbiAgICBjb25zdCBtYW50aXNzYSA9IGRlY2ltYWxzICYmIHRoaXMudmFsdWVBc1N0cmluZygpLmluY2x1ZGVzKGRlY2ltYWxTZXBhcmF0b3IpO1xuICAgIGNvbnN0IHByZWNpc2lvbiA9IG1hbnRpc3NhID8gTWF0aC5taW4oZGVjaW1hbHMgKyAxLCAyMCkgOiAwO1xuICAgIGNvbnN0IHRob3VzYW5kID0gdGhvdXNhbmRTZXBhcmF0b3IucmVwZWF0KDUpLmxlbmd0aDtcblxuICAgIHJldHVybiAxOCArIHByZWNpc2lvbiArIHRob3VzYW5kO1xuICB9KTtcblxuICBwdWJsaWMgcmVhZG9ubHkgbWFza2l0b051bWJlclBhcmFtcyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBkZWNpbWFsTW9kZSA9IHRoaXMuZGVjaW1hbE1vZGUoKTtcblxuICAgIHJldHVybiB7XG4gICAgICBtYXg6IHRoaXMuYXJpYVZhbHVlTWF4KCksXG4gICAgICBtaW46IHRoaXMuYXJpYVZhbHVlTWluKCksXG4gICAgICBtaW51c1NpZ246ICctJyxcbiAgICAgIHByZWNpc2lvbjogdGhpcy5kZWNpbWFscygpLFxuICAgICAgZGVjaW1hbFplcm9QYWRkaW5nOiBkZWNpbWFsTW9kZSA9PT0gJ2Fsd2F5cycsXG4gICAgICBkZWNpbWFsU2VwYXJhdG9yOiB0aGlzLmRlY2ltYWxTZXBhcmF0b3IoKSxcbiAgICAgIHRob3VzYW5kU2VwYXJhdG9yOiB0aGlzLnRob3VzYW5kU2VwYXJhdG9yKCksXG4gICAgfTtcbiAgfSk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIGVmZmVjdCgob25DbGVhbnVwKSA9PiB7XG4gICAgICBjb25zdCBpbnB1dCA9IHRoaXMuaW5wdXRFbGVtZW50UmVmKCk7XG4gICAgICBjb25zdCBmb3JtYXR0ZXIgPSB0aGlzLm1hc2tpdG9OdW1iZXJQYXJhbXMoKTtcblxuICAgICAgY29uc3QgeyBwbHVnaW5zLCAuLi5vcHRpb25zIH0gPSBtYXNraXRvTnVtYmVyT3B0aW9uc0dlbmVyYXRvcihmb3JtYXR0ZXIpO1xuXG4gICAgICBjb25zdCBpbnN0YW5jZSA9IG5ldyBNYXNraXRvKGlucHV0Lm5hdGl2ZUVsZW1lbnQsIHtcbiAgICAgICAgLi4ub3B0aW9ucyxcbiAgICAgICAgcGx1Z2luczogW1xuICAgICAgICAgIC4uLnBsdWdpbnMsXG4gICAgICAgICAgbWFza2l0b0luaXRpYWxDYWxpYnJhdGlvblBsdWdpbihcbiAgICAgICAgICAgIG1hc2tpdG9OdW1iZXJPcHRpb25zR2VuZXJhdG9yKHtcbiAgICAgICAgICAgICAgLi4uZm9ybWF0dGVyLFxuICAgICAgICAgICAgICBtaW46IE51bWJlci5NSU5fU0FGRV9JTlRFR0VSLFxuICAgICAgICAgICAgICBtYXg6IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgKSxcbiAgICAgICAgXSxcbiAgICAgIH0pO1xuXG4gICAgICBvbkNsZWFudXAoKCkgPT4gaW5zdGFuY2UuZGVzdHJveSgpKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSB2YWx1ZVN0cmluZ2lmeSh2YWx1ZUFzU3RyaW5nOiB1bmtub3duKTogc3RyaW5nIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMucGFyc2VOdW1iZXIodmFsdWVBc1N0cmluZyk7XG4gICAgaWYgKHZhbHVlID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgcmV0dXJuIG1hc2tpdG9TdHJpbmdpZnlOdW1iZXIodmFsdWUsIHRoaXMubWFza2l0b051bWJlclBhcmFtcygpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCB2YWx1ZVNpbXBsaWZ5KHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IGRlY2ltYWxTZXBhcmF0b3IgPSBuZXcgUmVnRXhwKHRoaXMuZGVjaW1hbFNlcGFyYXRvcigpLCAnZ2knKTtcbiAgICBjb25zdCB0aG91c2FuZFNlcGFyYXRvciA9IG5ldyBSZWdFeHAodGhpcy50aG91c2FuZFNlcGFyYXRvcigpLCAnZ2knKTtcblxuICAgIHJldHVybiB2YWx1ZS5yZXBsYWNlKHRob3VzYW5kU2VwYXJhdG9yLCAnJykucmVwbGFjZShkZWNpbWFsU2VwYXJhdG9yLCAnLicpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHZhbHVlVW5zZXR0bGVkKHZhbHVlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISEoXG4gICAgICB2YWx1ZSA9PT0gJy0nIHx8XG4gICAgICB2YWx1ZS5tYXRjaCgvXlxccyooWy0rXSk/XFxkK1xcLiQvKSB8fFxuICAgICAgdmFsdWUubWF0Y2goL15cXHMqKFstK10pP1xcZCtcXC5bMC05XSowJC8pIHx8XG4gICAgICB2YWx1ZS5tYXRjaCgvXlxccyooWy0rXSkwKyQvKVxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcGFyc2VOdW1iZXIodmFsdWU6IHVua25vd24pOiBudW1iZXIgfCBudWxsIHtcbiAgICBsZXQgdmFsdWVBc051bWJlcjogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJykge1xuICAgICAgdmFsdWVBc051bWJlciA9IHZhbHVlO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xuICAgICAgdmFsdWVBc051bWJlciA9IE51bWJlci5wYXJzZUZsb2F0KHZhbHVlKTtcbiAgICB9XG5cbiAgICBpZiAoTnVtYmVyLmlzTmFOKHZhbHVlKSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhbHVlQXNOdW1iZXI7XG4gIH1cbiAgcHJvdGVjdGVkIGhhbmRsZUZvY3VzRXZlbnQoKTogdm9pZCB7XG4gICAgY29uc3QgdmFsdWUgPSBtYXNraXRvUGFyc2VOdW1iZXIodGhpcy52YWx1ZUFzU3RyaW5nKCksIHRoaXMuZGVjaW1hbFNlcGFyYXRvcigpKTtcblxuICAgIGlmIChOdW1iZXIuaXNOYU4odmFsdWUpICYmICF0aGlzLnJlYWRvbmx5KCkpIHtcbiAgICAgIHRoaXMudmFsdWVBc1N0cmluZy5zZXQoJycpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBoYW5kbGVCbHVyRXZlbnQoKTogdm9pZCB7XG4gICAgdGhpcy5tYXJrQXNUb3VjaGVkKCk7XG5cbiAgICBjb25zdCB2YWx1ZUFzU3RyaW5nID0gdGhpcy52YWx1ZVNpbXBsaWZ5KHRoaXMudmFsdWVBc1N0cmluZygpKTtcblxuICAgIGlmICh0aGlzLnZhbHVlVW5zZXR0bGVkKHZhbHVlQXNTdHJpbmcpKSB7XG4gICAgICB0aGlzLnZhbHVlQXNTdHJpbmcudXBkYXRlKCgpID0+IHRoaXMudmFsdWVTdHJpbmdpZnkodGhpcy52YWx1ZSgpKSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGhhbmRsZUlucHV0RXZlbnQoKTogdm9pZCB7XG4gICAgY29uc3QgaW5wdXQgPSB0aGlzLmlucHV0RWxlbWVudFJlZigpO1xuXG4gICAgY29uc3QgdmFsdWVBc1N0cmluZyA9IHRoaXMudmFsdWVTaW1wbGlmeShpbnB1dC5uYXRpdmVFbGVtZW50LnZhbHVlKTtcblxuICAgIGlmICh0aGlzLnZhbHVlVW5zZXR0bGVkKHZhbHVlQXNTdHJpbmcpKSB7XG4gICAgICByZXR1cm4gdGhpcy52YWx1ZUFzU3RyaW5nLnVwZGF0ZSgoKSA9PiBpbnB1dC5uYXRpdmVFbGVtZW50LnZhbHVlKTtcbiAgICB9XG5cbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMucGFyc2VOdW1iZXIodmFsdWVBc1N0cmluZyk7XG5cbiAgICBpZiAodmFsdWUgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiB0aGlzLndyaXRlVmFsdWUodmFsdWUpO1xuICAgIH1cblxuICAgIGlmICh2YWx1ZSA8IHRoaXMuYXJpYVZhbHVlTWluKCkgfHwgdmFsdWUgPiB0aGlzLmFyaWFWYWx1ZU1heCgpKSB7XG4gICAgICByZXR1cm4gdm9pZCAwO1xuICAgIH1cblxuICAgIHRoaXMud3JpdGVWYWx1ZSh2YWx1ZSk7XG4gIH1cbn1cbiIsIjxpbnB1dFxyXG4gICNpbnB1dEVsZW1lbnRSZWZcclxuICB0eXBlPVwidGV4dFwiXHJcbiAgcm9sZT1cInNwaW5idXR0b25cIlxyXG4gIGF1dG9jb21wbGV0ZT1cIm9mZlwiXHJcbiAgYXV0b2NhcGl0YWxpemU9XCJvZmZcIlxyXG4gIFt2YWx1ZV09J3ZhbHVlQXNTdHJpbmcoKSdcclxuICBbYXR0ci5pZF09XCJpbnB1dElkKClcIlxyXG4gIFthdHRyLnRhYmluZGV4XT1cImRpc2FibGVkKCkgPyAtMSA6IHRhYmluZGV4KClcIlxyXG4gIFthdHRyLmRpc2FibGVkXT1cImRpc2FibGVkKCkgfHwgdW5kZWZpbmVkXCJcclxuICBbYXR0ci5yZWFkb25seV09XCJyZWFkb25seSgpIHx8IHVuZGVmaW5lZFwiXHJcbiAgW2F0dHIucmVxdWlyZWRdPVwicmVxdWlyZWQoKSB8fCB1bmRlZmluZWRcIlxyXG4gIFthdHRyLm1heGxlbmd0aF09XCJtYXhsZW5ndGgoKVwiXHJcbiAgW2F0dHIucGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXIoKVwiXHJcbiAgW2F0dHIuYXJpYS1pbnZhbGlkXT1cImludmFsaWQoKSB8fCB1bmRlZmluZWRcIlxyXG4gIFthdHRyLmFyaWEtdmFsdWVtYXhdPVwiYXJpYVZhbHVlTWF4KClcIlxyXG4gIFthdHRyLmFyaWEtdmFsdWVtaW5dPVwiYXJpYVZhbHVlTWluKClcIlxyXG4gIFthdHRyLmFyaWEtdmFsdWVub3ddPVwiYXJpYVZhbHVlTm93KClcIlxyXG4gIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiZGlzYWJsZWQoKSB8fCB1bmRlZmluZWRcIlxyXG4gIFthdHRyLmFyaWEtcmVhZG9ubHldPVwicmVhZG9ubHkoKSB8fCB1bmRlZmluZWRcIlxyXG4gIFthdHRyLmFyaWEtcmVxdWlyZWRdPVwicmVxdWlyZWQoKSB8fCB1bmRlZmluZWRcIlxyXG4gIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJsYWJlbElkKClcIlxyXG4gIChibHVyKT1cImhhbmRsZUJsdXJFdmVudCgpXCJcclxuICAoZm9jdXMpPVwiaGFuZGxlRm9jdXNFdmVudCgpXCJcclxuICAoaW5wdXQpPVwiaGFuZGxlSW5wdXRFdmVudCgpXCJcclxuLz5cclxuXHJcbkBpZiAoc3RlcCgpICYmICFyZWFkb25seSgpKSB7XHJcbiAgPGxhdC1zcGlubmVycyAvPlxyXG59XHJcbiJdfQ==
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF0aXR1ZGUtdWktd2lkZ2V0cy10ZXh0Ym94LXNlYXJjaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3dpZGdldHMvdGV4dGJveC1zZWFyY2gvbGF0aXR1ZGUtdWktd2lkZ2V0cy10ZXh0Ym94LXNlYXJjaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
@@ -1,2 +0,0 @@
1
- export * from './src/textbox-search.component';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3dpZGdldHMvdGV4dGJveC1zZWFyY2gvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdDQUFnQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zcmMvdGV4dGJveC1zZWFyY2guY29tcG9uZW50JztcbiJdfQ==
@@ -1,41 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, DestroyRef, ElementRef, forwardRef, inject, input, numberAttribute, viewChild, ViewEncapsulation, } from '@angular/core';
2
- import { BuildInInputValueAccessor } from '@latitude-ui/widgets/input';
3
- import * as i0 from "@angular/core";
4
- export class TextBoxSearchComponent extends BuildInInputValueAccessor {
5
- maxlength = input(undefined, { transform: numberAttribute });
6
- minlength = input(undefined, { transform: numberAttribute });
7
- debounceTime = input(300, { transform: numberAttribute });
8
- inputElementRef = viewChild.required('inputElementRef', { read: (ElementRef) });
9
- timeoutRef = undefined;
10
- constructor() {
11
- super();
12
- inject(DestroyRef).onDestroy(() => clearTimeout(this.timeoutRef));
13
- }
14
- handleBlurEvent() {
15
- this.markAsTouched();
16
- }
17
- handleInputEvent() {
18
- clearTimeout(this.timeoutRef);
19
- const input = this.inputElementRef();
20
- this.timeoutRef = setTimeout(() => {
21
- this.writeValue(input.nativeElement.value);
22
- }, this.debounceTime());
23
- }
24
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: TextBoxSearchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
25
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.0.4", type: TextBoxSearchComponent, isStandalone: true, selector: "lat-textbox[type=\"search\"]", inputs: { maxlength: { classPropertyName: "maxlength", publicName: "maxlength", isSignal: true, isRequired: false, transformFunction: null }, minlength: { classPropertyName: "minlength", publicName: "minlength", isSignal: true, isRequired: false, transformFunction: null }, debounceTime: { classPropertyName: "debounceTime", publicName: "debounceTime", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
26
- {
27
- provide: BuildInInputValueAccessor,
28
- useExisting: forwardRef(() => TextBoxSearchComponent),
29
- },
30
- ], viewQueries: [{ propertyName: "inputElementRef", first: true, predicate: ["inputElementRef"], descendants: true, read: ElementRef, isSignal: true }], exportAs: ["latTextBox"], usesInheritance: true, ngImport: i0, template: "<input\r\n #inputElementRef\r\n type=\"text\"\r\n role=\"textbox\"\r\n [value]='valueAsString()'\r\n [attr.id]=\"inputId()\"\r\n [attr.tabindex]=\"disabled() ? -1 : tabindex()\"\r\n [attr.disabled]=\"disabled() || undefined\"\r\n [attr.readonly]=\"readonly() || undefined\"\r\n [attr.required]=\"required() || undefined\"\r\n [attr.maxlength]=\"maxlength()\"\r\n [attr.minlength]=\"minlength()\"\r\n [attr.placeholder]=\"placeholder()\"\r\n [attr.aria-invalid]=\"invalid() || undefined\"\r\n [attr.aria-disabled]=\"disabled() || undefined\"\r\n [attr.aria-readonly]=\"readonly() || undefined\"\r\n [attr.aria-required]=\"required() || undefined\"\r\n [attr.aria-labelledby]=\"labelId()\"\r\n (blur)=\"handleBlurEvent()\"\r\n (input)=\"handleInputEvent()\"\r\n/>\r\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
31
- }
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: TextBoxSearchComponent, decorators: [{
33
- type: Component,
34
- args: [{ exportAs: 'latTextBox', selector: 'lat-textbox[type="search"]', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
35
- {
36
- provide: BuildInInputValueAccessor,
37
- useExisting: forwardRef(() => TextBoxSearchComponent),
38
- },
39
- ], template: "<input\r\n #inputElementRef\r\n type=\"text\"\r\n role=\"textbox\"\r\n [value]='valueAsString()'\r\n [attr.id]=\"inputId()\"\r\n [attr.tabindex]=\"disabled() ? -1 : tabindex()\"\r\n [attr.disabled]=\"disabled() || undefined\"\r\n [attr.readonly]=\"readonly() || undefined\"\r\n [attr.required]=\"required() || undefined\"\r\n [attr.maxlength]=\"maxlength()\"\r\n [attr.minlength]=\"minlength()\"\r\n [attr.placeholder]=\"placeholder()\"\r\n [attr.aria-invalid]=\"invalid() || undefined\"\r\n [attr.aria-disabled]=\"disabled() || undefined\"\r\n [attr.aria-readonly]=\"readonly() || undefined\"\r\n [attr.aria-required]=\"required() || undefined\"\r\n [attr.aria-labelledby]=\"labelId()\"\r\n (blur)=\"handleBlurEvent()\"\r\n (input)=\"handleInputEvent()\"\r\n/>\r\n" }]
40
- }], ctorParameters: () => [] });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGJveC1zZWFyY2guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvd2lkZ2V0cy90ZXh0Ym94LXNlYXJjaC9zcmMvdGV4dGJveC1zZWFyY2guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvd2lkZ2V0cy90ZXh0Ym94LXNlYXJjaC9zcmMvdGV4dGJveC1zZWFyY2guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLFVBQVUsRUFDVixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxlQUFlLEVBQ2YsU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFldkUsTUFBTSxPQUFPLHNCQUF1QixTQUFRLHlCQUFpQztJQUMzRCxTQUFTLEdBQUcsS0FBSyxDQUFrQixTQUFTLEVBQUUsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLENBQUMsQ0FBQztJQUM5RSxTQUFTLEdBQUcsS0FBSyxDQUFrQixTQUFTLEVBQUUsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLENBQUMsQ0FBQztJQUM5RSxZQUFZLEdBQUcsS0FBSyxDQUFrQixHQUFHLEVBQUUsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLENBQUMsQ0FBQztJQUUzRSxlQUFlLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLElBQUksRUFBRSxDQUFBLFVBQTRCLENBQUEsRUFBRSxDQUFDLENBQUM7SUFFdEcsVUFBVSxHQUF1QixTQUFTLENBQUM7SUFFckQ7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQUVSLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFUyxlQUFlO1FBQ3ZCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRVMsZ0JBQWdCO1FBQ3hCLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFOUIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3JDLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNoQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0MsQ0FBQyxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO0lBQzFCLENBQUM7dUdBMUJVLHNCQUFzQjsyRkFBdEIsc0JBQXNCLDRlQVB0QjtZQUNUO2dCQUNFLE9BQU8sRUFBRSx5QkFBeUI7Z0JBQ2xDLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsc0JBQXNCLENBQUM7YUFDdEQ7U0FDRix5SEFPK0UsVUFBVSw4RkNqQzVGLGt4QkFxQkE7OzJGRE9hLHNCQUFzQjtrQkFibEMsU0FBUzsrQkFDRSxZQUFZLFlBQ1osNEJBQTRCLGlCQUV2QixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSx5QkFBeUI7NEJBQ2xDLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHVCQUF1QixDQUFDO3lCQUN0RDtxQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIERlc3Ryb3lSZWYsXG4gIEVsZW1lbnRSZWYsXG4gIGZvcndhcmRSZWYsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIG51bWJlckF0dHJpYnV0ZSxcbiAgdmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEJ1aWxkSW5JbnB1dFZhbHVlQWNjZXNzb3IgfSBmcm9tICdAbGF0aXR1ZGUtdWkvd2lkZ2V0cy9pbnB1dCc7XG5cbkBDb21wb25lbnQoe1xuICBleHBvcnRBczogJ2xhdFRleHRCb3gnLFxuICBzZWxlY3RvcjogJ2xhdC10ZXh0Ym94W3R5cGU9XCJzZWFyY2hcIl0nLFxuICB0ZW1wbGF0ZVVybDogJy4vdGV4dGJveC1zZWFyY2guY29tcG9uZW50Lmh0bWwnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogQnVpbGRJbklucHV0VmFsdWVBY2Nlc3NvcixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFRleHRCb3hTZWFyY2hDb21wb25lbnQpLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFRleHRCb3hTZWFyY2hDb21wb25lbnQgZXh0ZW5kcyBCdWlsZEluSW5wdXRWYWx1ZUFjY2Vzc29yPHN0cmluZz4ge1xuICBwdWJsaWMgcmVhZG9ubHkgbWF4bGVuZ3RoID0gaW5wdXQ8bnVtYmVyLCB1bmtub3duPih1bmRlZmluZWQsIHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSk7XG4gIHB1YmxpYyByZWFkb25seSBtaW5sZW5ndGggPSBpbnB1dDxudW1iZXIsIHVua25vd24+KHVuZGVmaW5lZCwgeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KTtcbiAgcHVibGljIHJlYWRvbmx5IGRlYm91bmNlVGltZSA9IGlucHV0PG51bWJlciwgdW5rbm93bj4oMzAwLCB7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pO1xuXG4gIHB1YmxpYyByZWFkb25seSBpbnB1dEVsZW1lbnRSZWYgPSB2aWV3Q2hpbGQucmVxdWlyZWQoJ2lucHV0RWxlbWVudFJlZicsIHsgcmVhZDogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PiB9KTtcblxuICBwcm90ZWN0ZWQgdGltZW91dFJlZjogbnVtYmVyIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG5cbiAgICBpbmplY3QoRGVzdHJveVJlZikub25EZXN0cm95KCgpID0+IGNsZWFyVGltZW91dCh0aGlzLnRpbWVvdXRSZWYpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVCbHVyRXZlbnQoKTogdm9pZCB7XG4gICAgdGhpcy5tYXJrQXNUb3VjaGVkKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlSW5wdXRFdmVudCgpOiB2b2lkIHtcbiAgICBjbGVhclRpbWVvdXQodGhpcy50aW1lb3V0UmVmKTtcblxuICAgIGNvbnN0IGlucHV0ID0gdGhpcy5pbnB1dEVsZW1lbnRSZWYoKTtcbiAgICB0aGlzLnRpbWVvdXRSZWYgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMud3JpdGVWYWx1ZShpbnB1dC5uYXRpdmVFbGVtZW50LnZhbHVlKTtcbiAgICB9LCB0aGlzLmRlYm91bmNlVGltZSgpKTtcbiAgfVxuXG59XG4iLCI8aW5wdXRcclxuICAjaW5wdXRFbGVtZW50UmVmXHJcbiAgdHlwZT1cInRleHRcIlxyXG4gIHJvbGU9XCJ0ZXh0Ym94XCJcclxuICBbdmFsdWVdPSd2YWx1ZUFzU3RyaW5nKCknXHJcbiAgW2F0dHIuaWRdPVwiaW5wdXRJZCgpXCJcclxuICBbYXR0ci50YWJpbmRleF09XCJkaXNhYmxlZCgpID8gLTEgOiB0YWJpbmRleCgpXCJcclxuICBbYXR0ci5kaXNhYmxlZF09XCJkaXNhYmxlZCgpIHx8IHVuZGVmaW5lZFwiXHJcbiAgW2F0dHIucmVhZG9ubHldPVwicmVhZG9ubHkoKSB8fCB1bmRlZmluZWRcIlxyXG4gIFthdHRyLnJlcXVpcmVkXT1cInJlcXVpcmVkKCkgfHwgdW5kZWZpbmVkXCJcclxuICBbYXR0ci5tYXhsZW5ndGhdPVwibWF4bGVuZ3RoKClcIlxyXG4gIFthdHRyLm1pbmxlbmd0aF09XCJtaW5sZW5ndGgoKVwiXHJcbiAgW2F0dHIucGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXIoKVwiXHJcbiAgW2F0dHIuYXJpYS1pbnZhbGlkXT1cImludmFsaWQoKSB8fCB1bmRlZmluZWRcIlxyXG4gIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiZGlzYWJsZWQoKSB8fCB1bmRlZmluZWRcIlxyXG4gIFthdHRyLmFyaWEtcmVhZG9ubHldPVwicmVhZG9ubHkoKSB8fCB1bmRlZmluZWRcIlxyXG4gIFthdHRyLmFyaWEtcmVxdWlyZWRdPVwicmVxdWlyZWQoKSB8fCB1bmRlZmluZWRcIlxyXG4gIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJsYWJlbElkKClcIlxyXG4gIChibHVyKT1cImhhbmRsZUJsdXJFdmVudCgpXCJcclxuICAoaW5wdXQpPVwiaGFuZGxlSW5wdXRFdmVudCgpXCJcclxuLz5cclxuIl19
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF0aXR1ZGUtdWktd2lkZ2V0cy10b29sYmFyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvd2lkZ2V0cy90b29sYmFyL2xhdGl0dWRlLXVpLXdpZGdldHMtdG9vbGJhci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
@@ -1,2 +0,0 @@
1
- export * from './src/toolbar.component';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3dpZGdldHMvdG9vbGJhci9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMseUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NyYy90b29sYmFyLmNvbXBvbmVudCc7XG4iXX0=
@@ -1,14 +0,0 @@
1
- import { Component, ViewEncapsulation } from '@angular/core';
2
- import { ChangeDetectionStrategy } from '@angular/core';
3
- import * as i0 from "@angular/core";
4
- export class ToolBarComponent {
5
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: ToolBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.4", type: ToolBarComponent, isStandalone: true, selector: "lat-toolbar", host: { attributes: { "role": "presentation" } }, exportAs: ["latTooBar"], ngImport: i0, template: "", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
7
- }
8
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: ToolBarComponent, decorators: [{
9
- type: Component,
10
- args: [{ exportAs: 'latTooBar', selector: 'lat-toolbar', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
11
- role: 'presentation',
12
- }, template: "" }]
13
- }] });
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy93aWRnZXRzL3Rvb2xiYXIvc3JjL3Rvb2xiYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvd2lkZ2V0cy90b29sYmFyL3NyYy90b29sYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVl4RCxNQUFNLE9BQU8sZ0JBQWdCO3VHQUFoQixnQkFBZ0I7MkZBQWhCLGdCQUFnQixrSkNkN0IsRUFBQTs7MkZEY2EsZ0JBQWdCO2tCQVY1QixTQUFTOytCQUNFLFdBQVcsWUFDWCxhQUFhLGlCQUVSLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sUUFDekM7d0JBQ0osSUFBSSxFQUFFLGNBQWM7cUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIGV4cG9ydEFzOiAnbGF0VG9vQmFyJyxcclxuICBzZWxlY3RvcjogJ2xhdC10b29sYmFyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdG9vbGJhci5jb21wb25lbnQuaHRtbCcsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBob3N0OiB7XHJcbiAgICByb2xlOiAncHJlc2VudGF0aW9uJyxcclxuICB9LFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVG9vbEJhckNvbXBvbmVudCB7XHJcbn1cclxuIiwiIl19
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- /// <amd-module name="@latitude-ui/widgets/icons" />
5
- export * from './public-api';
@@ -1,2 +0,0 @@
1
- export * from './src/icon.component';
2
- export * from './src/icon.tokens';
@@ -1,11 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- export declare class IconComponent {
3
- readonly resolve: (icon: string) => string;
4
- readonly polyfill: import("@angular/core").Signal<boolean>;
5
- readonly url: import("@angular/core").InputSignal<string | undefined>;
6
- readonly name: import("@angular/core").InputSignal<string | undefined>;
7
- readonly icon: import("@angular/core").Signal<string>;
8
- constructor();
9
- static ɵfac: i0.ɵɵFactoryDeclaration<IconComponent, never>;
10
- static ɵcmp: i0.ɵɵComponentDeclaration<IconComponent, "lat-icon", ["latIcon"], { "url": { "alias": "url"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
11
- }
@@ -1,15 +0,0 @@
1
- import { Observable } from 'rxjs';
2
- import { Renderer2, Signal } from '@angular/core';
3
- import { HttpClient } from '@angular/common/http';
4
- import * as i0 from "@angular/core";
5
- export declare class IconService {
6
- readonly _http: HttpClient;
7
- readonly _renderer: Renderer2;
8
- readonly _icons: Map<string, SVGElement>;
9
- readonly _tasks: Map<string, Observable<SVGElement>>;
10
- get(url: string): Observable<SVGElement>;
11
- toObservable(url: Signal<string | undefined>): void;
12
- _normalize(text: string): SVGElement;
13
- static ɵfac: i0.ɵɵFactoryDeclaration<IconService, never>;
14
- static ɵprov: i0.ɵɵInjectableDeclaration<IconService>;
15
- }
@@ -1,4 +0,0 @@
1
- import { InjectionToken } from '@angular/core';
2
- export declare const ICONS_ASSETS: InjectionToken<string>;
3
- export declare const ICONS_RESOLVER: InjectionToken<(icon: string) => string>;
4
- export declare const ICONS_POLYFILL: InjectionToken<import("@angular/core").Signal<boolean>>;
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- /// <amd-module name="@latitude-ui/widgets/input" />
5
- export * from './public-api';
@@ -1,5 +0,0 @@
1
- export * from './src/input-label/input-label.component';
2
- export * from './src/input-error/input-error.component';
3
- export * from './src/input.component';
4
- export * from './src/input.directive';
5
- export * from './src/input.module';
@@ -1,9 +0,0 @@
1
- declare const _default: {
2
- readonly pattern: "Value is invalid";
3
- readonly required: "Value is required";
4
- readonly minValue: "Value is out of range";
5
- readonly maxValue: "Value is out of range";
6
- readonly minLength: "The length of the value is not correct";
7
- readonly maxLength: "The length of the value is not correct";
8
- };
9
- export default _default;
@@ -1,9 +0,0 @@
1
- declare const _default: {
2
- readonly pattern: "Недопустимое значение";
3
- readonly required: "Поле необходимо заполнить";
4
- readonly minValue: "Неверная длина значения в поле";
5
- readonly maxValue: "Неверная длина значения в поле";
6
- readonly minLength: "Неверная длина значения в поле";
7
- readonly maxLength: "Неверная длина значения в поле";
8
- };
9
- export default _default;
@@ -1,9 +0,0 @@
1
- import { InputComponent } from '../input.component';
2
- import * as i0 from "@angular/core";
3
- export declare class InputErrorComponent<T = unknown> {
4
- readonly i18n: import("./input-error.i18n").ErrorsTranslate;
5
- readonly input: InputComponent<any>;
6
- readonly errors: import("@angular/core").Signal<string[]>;
7
- static ɵfac: i0.ɵɵFactoryDeclaration<InputErrorComponent<any>, never>;
8
- static ɵcmp: i0.ɵɵComponentDeclaration<InputErrorComponent<any>, "lat-input-error", ["latInputError"], {}, {}, never, never, true, never>;
9
- }
@@ -1,28 +0,0 @@
1
- import { InjectionToken } from '@angular/core';
2
- import { ValidationErrors } from '@angular/forms';
3
- export type ErrorsTranslate = (errors: ValidationErrors) => string[];
4
- export type AnyErrorTranslate = (errors: ValidationErrors) => string[];
5
- export type PatternErrorTranslate = (pattern: string, actual: string) => string;
6
- export type RequiredErrorTranslate = () => string;
7
- export type MinValueErrorTranslate = (value: number, actual: number) => string;
8
- export type MaxValueErrorTranslate = (value: number, actual: number) => string;
9
- export type MinLengthErrorTranslate = (value: number, actual: number) => string;
10
- export type MaxLengthErrorTranslate = (value: number, actual: number) => string;
11
- export interface ErrorMessages {
12
- pattern: string;
13
- required: string;
14
- minValue: string;
15
- maxValue: string;
16
- minLength: string;
17
- maxLength: string;
18
- [k: string]: string;
19
- }
20
- export declare const ERROR_MESSAGES: InjectionToken<ErrorMessages>;
21
- export declare const ANY_ERROR_TRANSLATE: InjectionToken<AnyErrorTranslate>;
22
- export declare const PATTERN_ERROR_TRANSLATE: InjectionToken<PatternErrorTranslate>;
23
- export declare const REQUIRED_ERROR_TRANSLATE: InjectionToken<RequiredErrorTranslate>;
24
- export declare const MIN_VALUE_ERROR_TRANSLATE: InjectionToken<MaxValueErrorTranslate>;
25
- export declare const MAX_VALUE_ERROR_TRANSLATE: InjectionToken<MinValueErrorTranslate>;
26
- export declare const MIN_LENGTH_ERROR_TRANSLATE: InjectionToken<MaxLengthErrorTranslate>;
27
- export declare const MAX_LENGTH_ERROR_TRANSLATE: InjectionToken<MinLengthErrorTranslate>;
28
- export declare const ERRORS_TRANSLATE: InjectionToken<ErrorsTranslate>;
@@ -1,11 +0,0 @@
1
- import { InputComponent } from '../input.component';
2
- import * as i0 from "@angular/core";
3
- export declare class InputLabelComponent<T = unknown> {
4
- readonly input: InputComponent<any>;
5
- readonly id: import("@angular/core").Signal<string>;
6
- readonly htmlFor: import("@angular/core").Signal<string>;
7
- readonly required: import("@angular/core").Signal<boolean>;
8
- readonly readonly: import("@angular/core").Signal<boolean>;
9
- static ɵfac: i0.ɵɵFactoryDeclaration<InputLabelComponent<any>, never>;
10
- static ɵcmp: i0.ɵɵComponentDeclaration<InputLabelComponent<any>, "lat-input-label", ["latInputLabel"], {}, {}, never, ["*"], true, never>;
11
- }
@@ -1,28 +0,0 @@
1
- import { BuildInInputValueAccessor } from './input.directive';
2
- import { InputSize } from './input.types';
3
- import * as i0 from "@angular/core";
4
- export declare class InputComponent<T> {
5
- readonly id: import("@angular/core").InputSignal<string | undefined>;
6
- readonly size: import("@angular/core").InputSignal<InputSize>;
7
- readonly input: import("@angular/core").Signal<BuildInInputValueAccessor<any>>;
8
- readonly htmlId: import("@angular/core").Signal<string>;
9
- readonly labelId: import("@angular/core").Signal<string>;
10
- readonly inputId: import("@angular/core").Signal<string>;
11
- readonly value: import("@angular/core").Signal<any>;
12
- readonly valueAsString: import("@angular/core").Signal<string>;
13
- readonly status: import("@angular/core").Signal<import("@angular/forms").FormControlStatus>;
14
- readonly touched: import("@angular/core").Signal<boolean>;
15
- readonly dirty: import("@angular/core").Signal<boolean>;
16
- readonly valid: import("@angular/core").Signal<boolean>;
17
- readonly errors: import("@angular/core").Signal<{
18
- [key: string]: any;
19
- } | null>;
20
- readonly invalid: import("@angular/core").Signal<boolean>;
21
- readonly pending: import("@angular/core").Signal<boolean>;
22
- readonly pristine: import("@angular/core").Signal<boolean>;
23
- readonly disabled: import("@angular/core").Signal<boolean>;
24
- readonly readonly: import("@angular/core").Signal<boolean>;
25
- readonly required: import("@angular/core").Signal<boolean>;
26
- static ɵfac: i0.ɵɵFactoryDeclaration<InputComponent<any>, never>;
27
- static ɵcmp: i0.ɵɵComponentDeclaration<InputComponent<any>, "lat-input", ["latInput"], { "id": { "alias": "id"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; }, {}, ["input"], ["lat-input-label", "*", "lat-input-error"], true, never>;
28
- }
@@ -1,62 +0,0 @@
1
- import { AbstractControl, FormControlStatus, NgControl } from '@angular/forms';
2
- import { InputComponent } from './input.component';
3
- import { InputSize } from './input.types';
4
- import * as i0 from "@angular/core";
5
- export declare class BuildInInputValueAccessor<T> {
6
- readonly dir: NgControl;
7
- readonly inputDirective: InputComponent<any> | null;
8
- readonly id: import("@angular/core").InputSignal<string | undefined>;
9
- readonly size: import("@angular/core").InputSignal<InputSize>;
10
- readonly tabindex: import("@angular/core").InputSignalWithTransform<number, unknown>;
11
- readonly readonly: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
12
- readonly required: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
13
- readonly placeholder: import("@angular/core").InputSignal<string | undefined>;
14
- readonly value: import("@angular/core").Signal<T | null>;
15
- readonly control: import("@angular/core").Signal<AbstractControl<any, any> | null>;
16
- readonly valueAsString: import("@angular/core").WritableSignal<string>;
17
- readonly status: import("@angular/core").Signal<FormControlStatus>;
18
- readonly touched: import("@angular/core").Signal<boolean>;
19
- readonly pristine: import("@angular/core").Signal<boolean>;
20
- readonly valid: import("@angular/core").Signal<boolean>;
21
- readonly invalid: import("@angular/core").Signal<boolean>;
22
- readonly pending: import("@angular/core").Signal<boolean>;
23
- readonly disabled: import("@angular/core").Signal<boolean>;
24
- readonly dirty: import("@angular/core").Signal<boolean>;
25
- readonly errors: import("@angular/core").Signal<{
26
- [key: string]: any;
27
- } | null>;
28
- readonly inputId: import("@angular/core").Signal<string | undefined>;
29
- readonly labelId: import("@angular/core").Signal<string | undefined>;
30
- readonly inputSize: import("@angular/core").Signal<InputSize>;
31
- private readonly _value;
32
- private readonly _control;
33
- constructor();
34
- /**
35
- * Sets the "value" property on the input element.
36
- */
37
- writeValue(value: T | null): void;
38
- /**
39
- * Marks the control as `dirty`.
40
- */
41
- markAsChanged(): void;
42
- /**
43
- * Marks the control as `touched`.
44
- */
45
- markAsTouched(): void;
46
- /**
47
- * @nodoc
48
- */
49
- valueEquality(value0: T | null, value1: unknown): boolean;
50
- /**
51
- * @nodoc
52
- */
53
- valueStringify(value: unknown): string;
54
- /** @internal */
55
- private _writeValue;
56
- /** @internal */
57
- private _markAsTouched;
58
- /** @internal */
59
- private _markAsChanged;
60
- static ɵfac: i0.ɵɵFactoryDeclaration<BuildInInputValueAccessor<any>, never>;
61
- static ɵdir: i0.ɵɵDirectiveDeclaration<BuildInInputValueAccessor<any>, never, never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "tabindex": { "alias": "tabindex"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
62
- }
@@ -1,4 +0,0 @@
1
- import { InputLabelComponent } from './input-label/input-label.component';
2
- import { InputErrorComponent } from './input-error/input-error.component';
3
- import { InputComponent } from './input.component';
4
- export declare const InputModule: readonly [typeof InputLabelComponent, typeof InputErrorComponent, typeof InputComponent];
@@ -1 +0,0 @@
1
- export type InputSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | null | undefined | (string & {});
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- /// <amd-module name="@latitude-ui/widgets" />
5
- export * from './public-api';
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- /// <amd-module name="@latitude-ui/widgets/listbox" />
5
- export * from './public-api';
@@ -1,3 +0,0 @@
1
- export * from './src/listbox-option.component';
2
- export * from './src/listbox.component';
3
- export * from './src/listbox.module';
@@ -1,17 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- export declare class ListBoxOptionComponent<T> {
3
- readonly nativeElement: any;
4
- readonly value: import("@angular/core").InputSignal<T>;
5
- readonly setsize: import("@angular/core").InputSignalWithTransform<number | undefined, unknown>;
6
- readonly posinset: import("@angular/core").InputSignalWithTransform<number | undefined, unknown>;
7
- readonly selected: import("@angular/core").InputSignalWithTransform<boolean | undefined, unknown>;
8
- readonly disabled: import("@angular/core").InputSignalWithTransform<boolean | undefined, unknown>;
9
- readonly checkbox: import("@angular/core").InputSignalWithTransform<boolean | undefined, unknown>;
10
- constructor();
11
- /**
12
- * https://github.com/angular/angular/issues/9587
13
- */
14
- private _setUpHostListeners;
15
- static ɵfac: i0.ɵɵFactoryDeclaration<ListBoxOptionComponent<any>, never>;
16
- static ɵcmp: i0.ɵɵComponentDeclaration<ListBoxOptionComponent<any>, "lat-listbox-option, lat-option", ["latListBoxOption"], { "value": { "alias": "value"; "required": true; "isSignal": true; }; "setsize": { "alias": "setsize"; "required": false; "isSignal": true; }; "posinset": { "alias": "posinset"; "required": false; "isSignal": true; }; "selected": { "alias": "selected"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "checkbox": { "alias": "checkbox"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
17
- }
@@ -1,5 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- export declare class ListBoxComponent {
3
- static ɵfac: i0.ɵɵFactoryDeclaration<ListBoxComponent, never>;
4
- static ɵcmp: i0.ɵɵComponentDeclaration<ListBoxComponent, "lat-listbox", ["latListBox"], {}, {}, never, ["lat-listbox-option, lat-option"], true, never>;
5
- }
@@ -1,3 +0,0 @@
1
- import { ListBoxOptionComponent } from './listbox-option.component';
2
- import { ListBoxComponent } from './listbox.component';
3
- export declare const ListBoxModule: readonly [typeof ListBoxOptionComponent, typeof ListBoxComponent];
package/lookup/README.md DELETED
@@ -1,3 +0,0 @@
1
- # @latitude-ui/widgets/button
2
-
3
- Secondary entry point of `@latitude-ui/widgets`. It can be used by importing from `@latitude-ui/widgets/button`.
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- /// <amd-module name="@latitude-ui/widgets/lookup" />
5
- export * from './public-api';
@@ -1,2 +0,0 @@
1
- export * from './src/lookup-outlet.directive';
2
- export * from './src/lookup.component';
@@ -1,5 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- export declare class LookupOutletDirective {
3
- static ɵfac: i0.ɵɵFactoryDeclaration<LookupOutletDirective, never>;
4
- static ɵdir: i0.ɵɵDirectiveDeclaration<LookupOutletDirective, "ng-template[latLookupOutlet], ng-template[lat-lookup-outlet], [latLookupOutlet], [lat-lookup-outlet]", never, {}, {}, never, never, true, never>;
5
- }
@@ -1,5 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- export declare class LookupComponent {
3
- static ɵfac: i0.ɵɵFactoryDeclaration<LookupComponent, never>;
4
- static ɵcmp: i0.ɵɵComponentDeclaration<LookupComponent, "lat-lookup", ["latLookup"], {}, {}, never, never, true, never>;
5
- }
package/public-api.d.ts DELETED
@@ -1,2 +0,0 @@
1
- declare const _default: undefined;
2
- export default _default;
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- /// <amd-module name="@latitude-ui/widgets/select" />
5
- export * from './public-api';