@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-textbox.mjs","sources":["../../../../packages/widgets/textbox/lib/textbox.directive.ts","../../../../packages/widgets/textbox/lib/textbox.component.ts","../../../../packages/widgets/textbox/lib/textbox.component.html","../../../../packages/widgets/textbox/lib/textbox-date.component.ts","../../../../packages/widgets/textbox/lib/textbox-date.component.html","../../../../packages/widgets/textbox/lib/textbox-number.component.ts","../../../../packages/widgets/textbox/lib/textbox-number.component.html","../../../../packages/widgets/textbox/latitude-ui-widgets-textbox.ts"],"sourcesContent":["import { afterRenderEffect, Directive, ElementRef, viewChild } from '@angular/core';\r\nimport { HTMLFormControl } from '@latitude-ui/widgets/core';\r\n\r\n@Directive()\r\nexport class TextBoxDirective<T> extends HTMLFormControl<T> {\r\n readonly el = viewChild.required('htmlInputElement', { read: ElementRef<HTMLInputElement> });\r\n\r\n blur() {\r\n this.el().nativeElement.blur();\r\n }\r\n\r\n focus() {\r\n this.el().nativeElement.focus();\r\n }\r\n\r\n constructor() {\r\n super();\r\n\r\n afterRenderEffect(() => {\r\n const { nativeElement } = this.el();\r\n\r\n if(this.autofocus()) {\r\n nativeElement.focus();\r\n }\r\n });\r\n }\r\n\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n computed,\r\n forwardRef,\r\n input,\r\n numberAttribute,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\n\r\nimport { HTMLFormControl } from '@latitude-ui/widgets/core';\r\n\r\nimport { TextBoxDirective } from './textbox.directive';\r\n\r\n\r\n@Component({\r\n exportAs: 'latTextBox',\r\n selector: 'lat-textbox:not([type]), lat-textbox[type=\"text\"]',\r\n templateUrl: './textbox.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: HTMLFormControl,\r\n useExisting: forwardRef(() => TextBoxComponent),\r\n },\r\n ]\r\n})\r\nexport class TextBoxComponent extends TextBoxDirective<string> {\r\n readonly rows = input<number, unknown>(undefined, { transform: numberAttribute });\r\n readonly maxlength = input<number, unknown>(undefined, { transform: numberAttribute });\r\n readonly minlength = input<number, unknown>(undefined, { transform: numberAttribute });\r\n\r\n readonly textarea = computed(() => {\r\n const rows = this.rows();\r\n\r\n return rows ? rows >= 2 : false;\r\n });\r\n\r\n /** @internal */\r\n onBlurEvent(): void {\r\n this.markAsTouched();\r\n }\r\n\r\n /** @internal */\r\n onValueChanged(): void {\r\n const { nativeElement } = this.el();\r\n\r\n this.writeValue(nativeElement.value);\r\n }\r\n}\r\n","@if(textarea()) {\r\n <textarea\r\n #htmlInputElement\r\n role=\"textbox\"\r\n [value]='valueAsString()'\r\n [attr.id]=\"computedId()\"\r\n [attr.rows]=\"rows()\"\r\n [attr.tabindex]=\"disabled() ? -1 : tabindex()\"\r\n [attr.disabled]=\"disabled() || void 0\"\r\n [attr.readonly]=\"readonly() || void 0\"\r\n [attr.required]=\"required() || void 0\"\r\n [attr.autofocus]=\"autofocus() ? '' : void 0\"\r\n [attr.maxlength]=\"maxlength()\"\r\n [attr.minlength]=\"minlength()\"\r\n [attr.placeholder]=\"placeholder()\"\r\n [attr.aria-invalid]=\"invalid() || void 0\"\r\n [attr.aria-disabled]=\"disabled() || void 0\"\r\n [attr.aria-readonly]=\"readonly() || void 0\"\r\n [attr.aria-required]=\"required() || void 0\"\r\n [attr.aria-labelledby]=\"labelledby ? labelledby() : void 0\"\r\n [style.resize]=\"'none'\"\r\n [style.height]=\"'auto'\"\r\n (blur)=\"onBlurEvent()\"\r\n (input)=\"onValueChanged()\"\r\n ></textarea>\r\n} @else {\r\n <input\r\n #htmlInputElement\r\n type=\"text\"\r\n role=\"textbox\"\r\n [value]='valueAsString()'\r\n [attr.id]=\"computedId()\"\r\n [attr.tabindex]=\"disabled() ? -1 : tabindex()\"\r\n [attr.disabled]=\"disabled() || void 0\"\r\n [attr.readonly]=\"readonly() || void 0\"\r\n [attr.required]=\"required() || void 0\"\r\n [attr.autofocus]=\"autofocus() ? '' : void 0\"\r\n [attr.maxlength]=\"maxlength()\"\r\n [attr.minlength]=\"minlength()\"\r\n [attr.placeholder]=\"placeholder()\"\r\n [attr.aria-invalid]=\"invalid() || void 0\"\r\n [attr.aria-disabled]=\"disabled() || void 0\"\r\n [attr.aria-readonly]=\"readonly() || void 0\"\r\n [attr.aria-required]=\"required() || void 0\"\r\n [attr.aria-labelledby]=\"labelledby ? labelledby() : void 0\"\r\n (blur)=\"onBlurEvent()\"\r\n (input)=\"onValueChanged()\"\r\n />\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n computed,\r\n effect,\r\n ElementRef,\r\n forwardRef,\r\n input,\r\n viewChild,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\n\r\nimport { maskitoDateOptionsGenerator, maskitoParseDate, maskitoStringifyDate } from '@maskito/kit';\r\nimport { Maskito } from '@maskito/core';\r\n\r\nimport { ButtonComponent } from '@latitude-ui/widgets/button';\r\nimport { HTMLFormControl } from '@latitude-ui/widgets/core';\r\nimport { IconComponent } from '@latitude-ui/widgets/icons';\r\n\r\nimport { TextBoxDirective } from './textbox.directive';\r\n\r\nexport type DatePattern =\r\n | 'dd/mm'\r\n | 'dd/mm/yyyy'\r\n | 'mm/dd'\r\n | 'mm/dd/yyyy'\r\n | 'mm/yy'\r\n | 'mm/yyyy'\r\n | 'yyyy'\r\n | 'yyyy/mm'\r\n | 'yyyy/mm/dd';\r\n\r\n@Component({\r\n imports: [ButtonComponent, IconComponent],\r\n exportAs: 'latTextBox',\r\n selector: 'lat-textbox[type=\"date\"]',\r\n templateUrl: './textbox-date.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: HTMLFormControl,\r\n useExisting: forwardRef(() => TextBoxDateComponent),\r\n },\r\n ],\r\n})\r\nexport class TextBoxDateComponent extends TextBoxDirective<Date> {\r\n readonly max = input<Date>();\r\n readonly min = input<Date>();\r\n readonly pattern = input<DatePattern>('dd/mm/yyyy');\r\n readonly separator = input<string>('.');\r\n\r\n readonly maxvalue = computed(() => this.max() ?? new Date('9999-12-31'));\r\n readonly minvalue = computed(() => this.min() ?? new Date('0001-01-01'));\r\n\r\n readonly patternRegExp = computed(() => {\r\n const pattern = this.pattern();\r\n const separator = this.separator();\r\n\r\n const dd = '(?:0[1-9]|[12][0-9]|3[01])';\r\n const mm = '(?:0[1-9]|1[0-2])';\r\n const yy = '\\\\d{2}';\r\n const yyyy = '\\\\d{4}';\r\n\r\n const keyvalue = {\r\n 'dd/mm': `${dd}${separator}${mm}`,\r\n 'dd/mm/yyyy': `${dd}${separator}${mm}${separator}${yyyy}`,\r\n 'mm/dd': `${mm}${separator}${dd}`,\r\n 'mm/dd/yyyy': `${mm}${separator}${dd}${separator}${yyyy}`,\r\n 'mm/yy': `${mm}${separator}${yy}`,\r\n 'mm/yyyy': `${mm}${separator}${yyyy}`,\r\n \"yyyy\": `${yyyy}`,\r\n 'yyyy/mm': `${yyyy}${separator}${mm}`,\r\n 'yyyy/mm/dd': `${yyyy}${separator}${mm}${separator}${dd}`,\r\n } as const;\r\n\r\n return new RegExp(`^${keyvalue[pattern]}$`);\r\n });\r\n readonly patternPlaceholder = computed(() => {\r\n const pattern = this.pattern();\r\n const separator = this.separator();\r\n\r\n const regexp = new RegExp(/\\//g);\r\n\r\n return pattern.replace(regexp, separator);\r\n });\r\n\r\n\r\n readonly picker = viewChild.required('htmlInputPicker', { read: ElementRef<HTMLInputElement> });\r\n\r\n readonly maskitoDateParams = computed(() => {\r\n return {\r\n max: this.maxvalue(),\r\n min: this.minvalue(),\r\n mode: this.pattern(),\r\n separator: this.separator(),\r\n };\r\n });\r\n\r\n constructor() {\r\n super();\r\n\r\n effect((onCleanup) => {\r\n const el = this.el();\r\n const params = this.maskitoDateParams();\r\n\r\n const options = maskitoDateOptionsGenerator(params);\r\n\r\n const instance = new Maskito(el.nativeElement, options);\r\n\r\n onCleanup(() => instance.destroy());\r\n });\r\n }\r\n\r\n /** @internal */\r\n override valueStringify(value: unknown): string {\r\n const params = this.maskitoDateParams();\r\n\r\n if (typeof value === 'string') {\r\n value = this.parseDate(value);\r\n }\r\n\r\n if (value === null) {\r\n return '';\r\n }\r\n\r\n if (value instanceof Date) {\r\n return maskitoStringifyDate(value, params);\r\n }\r\n\r\n return value as string;\r\n }\r\n\r\n /** @internal */\r\n parseDate(value: string): Date | null {\r\n const params = this.maskitoDateParams();\r\n const pattern = this.patternRegExp();\r\n\r\n const valueAsDate = pattern.test(value) ? maskitoParseDate(value, params) : new Date(value);\r\n\r\n if (valueAsDate === null || Number.isNaN(valueAsDate.getTime())) {\r\n return null;\r\n }\r\n\r\n return valueAsDate;\r\n }\r\n\r\n /** @internal */\r\n valueUnsettled(value: string): boolean {\r\n return !this.patternRegExp().test(value);\r\n }\r\n\r\n /** @internal */\r\n onValueChanged(): void {\r\n const input = this.el();\r\n\r\n const valueAsString = input.nativeElement.value;\r\n\r\n if (this.valueUnsettled(valueAsString)) {\r\n return this.valueAsString.update(() => input.nativeElement.value);\r\n }\r\n\r\n const value = maskitoParseDate(valueAsString, this.maskitoDateParams());\r\n\r\n if (value === null) {\r\n return this.writeValue(value);\r\n }\r\n\r\n this.writeValue(value);\r\n }\r\n\r\n /** @internal */\r\n onFocusEvent(): void {\r\n const value = maskitoParseDate(this.valueAsString(), this.maskitoDateParams());\r\n\r\n if (Number.isNaN(value) && !this.readonly()) {\r\n this.valueAsString.set('');\r\n }\r\n }\r\n\r\n /** @internal */\r\n onBlurEvent(): void {\r\n this.markAsTouched();\r\n\r\n const valueAsString = this.valueAsString();\r\n if (this.valueUnsettled(valueAsString)) {\r\n this.valueAsString.update(() => this.valueStringify(this.value()));\r\n }\r\n }\r\n\r\n /** @internal */\r\n onPickerShow(event: PointerEvent) {\r\n const { nativeElement } = this.picker();\r\n\r\n event.preventDefault();\r\n event.stopPropagation();\r\n\r\n\r\n const value = this.value();\r\n if (value instanceof Date || value === null) {\r\n nativeElement.valueAsDate = value;\r\n } else {\r\n nativeElement.valueAsDate = this.parseDate(this.valueAsString());\r\n }\r\n\r\n nativeElement.showPicker();\r\n }\r\n\r\n /** @internal */\r\n onPickerChange() {\r\n const { nativeElement } = this.picker();\r\n\r\n const value = new Date(nativeElement.value);\r\n\r\n this.writeValue(value);\r\n }\r\n}\r\n","<input #htmlInputPicker type=\"date\" aria-hidden=\"true\" (change)=\"onPickerChange()\"/>\r\n\r\n<input\r\n #htmlInputElement\r\n type=\"text\"\r\n role=\"textbox\"\r\n autocomplete=\"off\"\r\n autocapitalize=\"off\"\r\n [value]='valueAsString()'\r\n [attr.id]=\"computedId()\"\r\n [attr.tabindex]=\"disabled() ? -1 : tabindex()\"\r\n [attr.disabled]=\"disabled() || void 0\"\r\n [attr.readonly]=\"readonly() || void 0\"\r\n [attr.required]=\"required() || void 0\"\r\n [attr.autofocus]=\"autofocus() ? '' : void 0\"\r\n [attr.placeholder]=\"placeholder() || patternPlaceholder()\"\r\n [attr.aria-invalid]=\"invalid() || void 0\"\r\n [attr.aria-disabled]=\"disabled() || void 0\"\r\n [attr.aria-readonly]=\"readonly() || void 0\"\r\n [attr.aria-required]=\"required() || void 0\"\r\n [attr.aria-labelledby]=\"labelledby ? labelledby() : void 0\"\r\n (blur)=\"onBlurEvent()\"\r\n (focus)=\"onFocusEvent()\"\r\n (input)=\"onValueChanged()\"\r\n/>\r\n\r\n@if (!readonly()) {\r\n <div>\r\n <lat-button\r\n size=\"inherit\"\r\n variant=\"inherit\"\r\n tabindex=\"-1\"\r\n [disabled]=\"disabled() || void 0\"\r\n (click)=\"onPickerShow($event)\"\r\n >\r\n <lat-icon name=\"calendar-week\" />\r\n </lat-button>\r\n </div>\r\n}\r\n\r\n\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n computed,\r\n effect,\r\n forwardRef,\r\n input,\r\n numberAttribute,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\n\r\nimport { Maskito, maskitoInitialCalibrationPlugin } from '@maskito/core';\r\nimport { maskitoNumberOptionsGenerator, maskitoParseNumber, maskitoStringifyNumber } from '@maskito/kit';\r\n\r\nimport { ButtonComponent } from '@latitude-ui/widgets/button';\r\nimport { HTMLFormControl } from '@latitude-ui/widgets/core';\r\nimport { IconComponent } from '@latitude-ui/widgets/icons';\r\n\r\nimport { TextBoxDirective } from './textbox.directive';\r\n\r\n@Component({\r\n imports: [ButtonComponent, IconComponent],\r\n exportAs: 'latTextBox',\r\n selector: 'lat-textbox[type=\"number\"]',\r\n templateUrl: './textbox-number.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: HTMLFormControl,\r\n useExisting: forwardRef(() => TextBoxNumberComponent),\r\n },\r\n ],\r\n})\r\nexport class TextBoxNumberComponent extends TextBoxDirective<number> {\r\n readonly max = input<number, unknown>(undefined, { transform: numberAttribute });\r\n readonly min = input<number, unknown>(undefined, { transform: numberAttribute });\r\n readonly step = input<number, unknown>(undefined, { transform: numberAttribute });\r\n readonly decimals = input<number>(2);\r\n readonly decimalSeparator = input<',' | '.'>(',');\r\n readonly decimalZeroPadding = input<boolean>(false);\r\n readonly thousandSeparator = input<string>('');\r\n\r\n readonly maxvalue = computed(() => this.parseNumber(this.max(), Number.MAX_SAFE_INTEGER));\r\n readonly minvalue = computed(() => this.parseNumber(this.min(), Number.MIN_SAFE_INTEGER));\r\n readonly nowvalue = computed(() => this.value() || 0);\r\n\r\n readonly maxlength = computed(() => {\r\n const { decimalSeparator, thousandSeparator } = this.maskitoNumberParams();\r\n\r\n const decimals = this.decimals();\r\n\r\n const mantissa = decimals && this.valueAsString().includes(decimalSeparator);\r\n const precision = mantissa ? Math.min(decimals + 1, 20) : 0;\r\n const thousand = thousandSeparator.repeat(5).length;\r\n\r\n return 18 + precision + thousand;\r\n });\r\n\r\n readonly maskitoNumberParams = computed(() => {\r\n return {\r\n max: this.maxvalue(),\r\n min: this.minvalue(),\r\n minusSign: '-',\r\n maximumFractionDigits: this.decimals(),\r\n minimumFractionDigits: this.decimalZeroPadding() ? this.decimals() : 0,\r\n decimalSeparator: this.decimalSeparator(),\r\n thousandSeparator: this.thousandSeparator(),\r\n };\r\n });\r\n\r\n constructor() {\r\n super();\r\n\r\n effect((onCleanup) => {\r\n const el = this.el();\r\n const params = this.maskitoNumberParams();\r\n\r\n const { plugins, ...options } = maskitoNumberOptionsGenerator(params);\r\n\r\n const instance = new Maskito(el.nativeElement, {\r\n ...options,\r\n plugins: [\r\n ...plugins,\r\n maskitoInitialCalibrationPlugin(\r\n maskitoNumberOptionsGenerator({\r\n ...params,\r\n min: Number.MIN_SAFE_INTEGER,\r\n max: Number.MAX_SAFE_INTEGER,\r\n })\r\n ),\r\n ],\r\n });\r\n\r\n onCleanup(() => instance.destroy());\r\n });\r\n }\r\n\r\n /** @internal */\r\n override valueStringify(valueAsString: unknown): string {\r\n const value = this.parseNumber(valueAsString);\r\n if (value === null) {\r\n return '';\r\n }\r\n\r\n return maskitoStringifyNumber(value, this.maskitoNumberParams());\r\n }\r\n\r\n /** @internal */\r\n valueSimplify(value: string): string {\r\n const decimalSeparator = new RegExp(this.decimalSeparator(), 'gi');\r\n const thousandSeparator = new RegExp(this.thousandSeparator(), 'gi');\r\n\r\n return value.replace(thousandSeparator, '').replace(decimalSeparator, '.');\r\n }\r\n\r\n /** @internal */\r\n valueUnsettled(value: string): boolean {\r\n return !!(value === '-' || value.match(/^\\s*([-+])?\\d+\\.$/) || value.match(/^\\s*([-+])?\\d+\\.[0-9]*0$/) || value.match(/^\\s*([-+])0+$/));\r\n }\r\n\r\n /** @internal */\r\n parseNumber(value: unknown): number | null;\r\n parseNumber<const T extends number | null>(value: unknown, fallback: T): number | T;\r\n parseNumber<const T extends number | null>(value: unknown, fallback: T | null = null): number | null | T {\r\n let valueAsNumber: number | null = null;\r\n\r\n if(value === null || value === undefined) {\r\n return fallback as T;\r\n }\r\n\r\n if (typeof value === 'number') {\r\n valueAsNumber = value;\r\n } else if (typeof value === 'string') {\r\n valueAsNumber = Number.parseFloat(value);\r\n }\r\n\r\n if (Number.isNaN(value)) {\r\n return fallback as T;\r\n }\r\n\r\n return valueAsNumber;\r\n }\r\n\r\n /** @internal */\r\n onValueChanged(): void {\r\n const input = this.el();\r\n\r\n const valueAsString = this.valueSimplify(input.nativeElement.value);\r\n\r\n\r\n if (this.valueUnsettled(valueAsString)) {\r\n return this.valueAsString.update(() => input.nativeElement.value);\r\n }\r\n\r\n const value = this.parseNumber(valueAsString);\r\n\r\n if (value === null) {\r\n return this.writeValue(value);\r\n }\r\n\r\n if (value < this.minvalue() || value > this.maxvalue()) {\r\n return void 0;\r\n }\r\n\r\n this.writeValue(value);\r\n }\r\n\r\n /** @internal */\r\n onValueSpined(mul: 1 | -1): void {\r\n const value = (this.value() ?? 0) + (this.step() ?? 0) * mul;\r\n\r\n if (value < this.minvalue() || value > this.maxvalue()) {\r\n return void 0;\r\n }\r\n\r\n const factor = Math.pow(10, this.decimals());\r\n\r\n this.writeValue(Math.round(value * factor) / factor);\r\n }\r\n\r\n /** @internal */\r\n onFocusEvent(): void {\r\n const value = maskitoParseNumber(this.valueAsString(), this.maskitoNumberParams());\r\n\r\n if (Number.isNaN(value) && !this.readonly()) {\r\n this.valueAsString.set('');\r\n }\r\n }\r\n\r\n /** @internal */\r\n onBlurEvent(): void {\r\n this.markAsTouched();\r\n\r\n const valueAsString = this.valueSimplify(this.valueAsString());\r\n\r\n if (this.valueUnsettled(valueAsString)) {\r\n this.valueAsString.update(() => this.valueStringify(this.value()));\r\n }\r\n }\r\n}\r\n","<input\r\n #htmlInputElement\r\n type=\"text\"\r\n role=\"spinbutton\"\r\n autocomplete=\"off\"\r\n autocapitalize=\"off\"\r\n [value]='valueAsString()'\r\n [attr.id]=\"computedId()\"\r\n [attr.tabindex]=\"disabled() ? -1 : tabindex()\"\r\n [attr.disabled]=\"disabled() || void 0\"\r\n [attr.readonly]=\"readonly() || void 0\"\r\n [attr.required]=\"required() || void 0\"\r\n [attr.autofocus]=\"autofocus() ? '' : void 0\"\r\n [attr.maxlength]=\"maxlength()\"\r\n [attr.placeholder]=\"placeholder()\"\r\n [attr.aria-invalid]=\"invalid() || void 0\"\r\n [attr.aria-valuemax]=\"maxvalue()\"\r\n [attr.aria-valuemin]=\"minvalue()\"\r\n [attr.aria-valuenow]=\"nowvalue()\"\r\n [attr.aria-disabled]=\"disabled() || void 0\"\r\n [attr.aria-readonly]=\"readonly() || void 0\"\r\n [attr.aria-required]=\"required() || void 0\"\r\n [attr.aria-labelledby]=\"labelledby ? labelledby() : void 0\"\r\n (blur)=\"onBlurEvent()\"\r\n (focus)=\"onFocusEvent()\"\r\n (input)=\"onValueChanged()\"\r\n/>\r\n\r\n@if (step() && !readonly()) {\r\n <div>\r\n <lat-button\r\n size=\"inherit\"\r\n variant=\"inherit\"\r\n tabindex=\"-1\"\r\n [disabled]=\"disabled() || void 0\"\r\n (click)=\"onValueSpined(1)\"\r\n >\r\n <lat-icon name=\"chevron-up\" />\r\n </lat-button>\r\n <lat-button\r\n size=\"inherit\"\r\n variant=\"inherit\"\r\n tabindex=\"-1\"\r\n [disabled]=\"disabled() || void 0\"\r\n (click)=\"onValueSpined(-1)\"\r\n >\r\n <lat-icon name=\"chevron-down\" />\r\n </lat-button>\r\n </div>\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;AAIM,MAAO,gBAAoB,SAAQ,eAAkB,CAAA;AAChD,IAAA,EAAE,GAAG,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,EAAE,IAAI,GAAE,UAA4B,CAAA,EAAE,CAAC;IAE5F,IAAI,GAAA;QACF,IAAI,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE;IAChC;IAEA,KAAK,GAAA;QACH,IAAI,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE;IACjC;AAEA,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,EAAE;QAEP,iBAAiB,CAAC,MAAK;YACrB,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE;AAEnC,YAAA,IAAG,IAAI,CAAC,SAAS,EAAE,EAAE;gBACnB,aAAa,CAAC,KAAK,EAAE;YACvB;AACF,QAAA,CAAC,CAAC;IACJ;uGArBW,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,iIACkC,UAAU,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAD5D,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAD5B;AAEkC,SAAA,CAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,cAAA,EAAA,EAAA,EAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,CAAA,kBAAkB,OAAE,EAAE,IAAI,GAAE,UAA4B,CAAA,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;ACuBvF,MAAO,gBAAiB,SAAQ,gBAAwB,CAAA;IACnD,IAAI,GAAG,KAAK,CAAkB,SAAS,iDAAI,SAAS,EAAE,eAAe,EAAA,CAAG;IACxE,SAAS,GAAG,KAAK,CAAkB,SAAS,sDAAI,SAAS,EAAE,eAAe,EAAA,CAAG;IAC7E,SAAS,GAAG,KAAK,CAAkB,SAAS,sDAAI,SAAS,EAAE,eAAe,EAAA,CAAG;AAE7E,IAAA,QAAQ,GAAG,QAAQ,CAAC,MAAK;AAChC,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE;QAExB,OAAO,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,KAAK;AACjC,IAAA,CAAC,oDAAC;;IAGF,WAAW,GAAA;QACT,IAAI,CAAC,aAAa,EAAE;IACtB;;IAGA,cAAc,GAAA;QACZ,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE;AAEnC,QAAA,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC;IACtC;uGArBW,gBAAgB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAhB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,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,SAAA,EAPhB;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,eAAe;AACxB,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,gBAAgB,CAAC;AAChD,aAAA;AACF,SAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC1BH,q2DAiDA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FDrBa,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAb5B,SAAS;+BACE,YAAY,EAAA,QAAA,EACZ,mDAAmD,EAAA,aAAA,EAE9C,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,SAAA,EACpC;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,eAAe;AACxB,4BAAA,WAAW,EAAE,UAAU,CAAC,sBAAsB,CAAC;AAChD,yBAAA;AACF,qBAAA,EAAA,QAAA,EAAA,q2DAAA,EAAA;;;AEoBG,MAAO,oBAAqB,SAAQ,gBAAsB,CAAA;IACrD,GAAG,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,KAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAQ;IACnB,GAAG,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,KAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAQ;AACnB,IAAA,OAAO,GAAG,KAAK,CAAc,YAAY,mDAAC;AAC1C,IAAA,SAAS,GAAG,KAAK,CAAS,GAAG,qDAAC;AAE9B,IAAA,QAAQ,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,oDAAC;AAC/D,IAAA,QAAQ,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,oDAAC;AAE/D,IAAA,aAAa,GAAG,QAAQ,CAAC,MAAK;AACrC,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE;AAC9B,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE;QAElC,MAAM,EAAE,GAAG,4BAA4B;QACvC,MAAM,EAAE,GAAG,mBAAmB;QAC9B,MAAM,EAAE,GAAG,QAAQ;QACnB,MAAM,IAAI,GAAG,QAAQ;AAErB,QAAA,MAAM,QAAQ,GAAG;AACf,YAAA,OAAO,EAAE,CAAA,EAAG,EAAE,GAAG,SAAS,CAAA,EAAG,EAAE,CAAA,CAAE;YACjC,YAAY,EAAE,CAAA,EAAG,EAAE,CAAA,EAAG,SAAS,CAAA,EAAG,EAAE,CAAA,EAAG,SAAS,CAAA,EAAG,IAAI,CAAA,CAAE;AACzD,YAAA,OAAO,EAAE,CAAA,EAAG,EAAE,GAAG,SAAS,CAAA,EAAG,EAAE,CAAA,CAAE;YACjC,YAAY,EAAE,CAAA,EAAG,EAAE,CAAA,EAAG,SAAS,CAAA,EAAG,EAAE,CAAA,EAAG,SAAS,CAAA,EAAG,IAAI,CAAA,CAAE;AACzD,YAAA,OAAO,EAAE,CAAA,EAAG,EAAE,GAAG,SAAS,CAAA,EAAG,EAAE,CAAA,CAAE;AACjC,YAAA,SAAS,EAAE,CAAA,EAAG,EAAE,GAAG,SAAS,CAAA,EAAG,IAAI,CAAA,CAAE;YACrC,MAAM,EAAE,CAAA,EAAG,IAAI,CAAA,CAAE;AACjB,YAAA,SAAS,EAAE,CAAA,EAAG,IAAI,GAAG,SAAS,CAAA,EAAG,EAAE,CAAA,CAAE;YACrC,YAAY,EAAE,CAAA,EAAG,IAAI,CAAA,EAAG,SAAS,CAAA,EAAG,EAAE,CAAA,EAAG,SAAS,CAAA,EAAG,EAAE,CAAA,CAAE;SACjD;QAEV,OAAO,IAAI,MAAM,CAAC,CAAA,CAAA,EAAI,QAAQ,CAAC,OAAO,CAAC,CAAA,CAAA,CAAG,CAAC;AAC7C,IAAA,CAAC,yDAAC;AACO,IAAA,kBAAkB,GAAG,QAAQ,CAAC,MAAK;AAC1C,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE;AAC9B,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE;AAElC,QAAA,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC;QAEhC,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC;AAC3C,IAAA,CAAC,8DAAC;AAGO,IAAA,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,EAAE,IAAI,GAAE,UAA4B,CAAA,EAAE,CAAC;AAEtF,IAAA,iBAAiB,GAAG,QAAQ,CAAC,MAAK;QACzC,OAAO;AACL,YAAA,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE;AACpB,YAAA,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE;AACpB,YAAA,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE;AACpB,YAAA,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE;SAC5B;AACH,IAAA,CAAC,6DAAC;AAEF,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,EAAE;AAEP,QAAA,MAAM,CAAC,CAAC,SAAS,KAAI;AACnB,YAAA,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE;AACpB,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,EAAE;AAEvC,YAAA,MAAM,OAAO,GAAG,2BAA2B,CAAC,MAAM,CAAC;YAEnD,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAC,EAAE,CAAC,aAAa,EAAE,OAAO,CAAC;YAEvD,SAAS,CAAC,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;AACrC,QAAA,CAAC,CAAC;IACJ;;AAGS,IAAA,cAAc,CAAC,KAAc,EAAA;AACpC,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,EAAE;AAEvC,QAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC7B,YAAA,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QAC/B;AAEA,QAAA,IAAI,KAAK,KAAK,IAAI,EAAE;AAClB,YAAA,OAAO,EAAE;QACX;AAEA,QAAA,IAAI,KAAK,YAAY,IAAI,EAAE;AACzB,YAAA,OAAO,oBAAoB,CAAC,KAAK,EAAE,MAAM,CAAC;QAC5C;AAEA,QAAA,OAAO,KAAe;IACxB;;AAGA,IAAA,SAAS,CAAC,KAAa,EAAA;AACrB,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,EAAE;AACvC,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE;QAEpC,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC;AAE3F,QAAA,IAAI,WAAW,KAAK,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,EAAE;AAC/D,YAAA,OAAO,IAAI;QACb;AAEA,QAAA,OAAO,WAAW;IACpB;;AAGA,IAAA,cAAc,CAAC,KAAa,EAAA;QAC1B,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;IAC1C;;IAGA,cAAc,GAAA;AACZ,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,EAAE;AAEvB,QAAA,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC,KAAK;AAE/C,QAAA,IAAI,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE;AACtC,YAAA,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC;QACnE;QAEA,MAAM,KAAK,GAAG,gBAAgB,CAAC,aAAa,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC;AAEvE,QAAA,IAAI,KAAK,KAAK,IAAI,EAAE;AAClB,YAAA,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QAC/B;AAEA,QAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;IACxB;;IAGA,YAAY,GAAA;AACV,QAAA,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC;AAE9E,QAAA,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE;AAC3C,YAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5B;IACF;;IAGA,WAAW,GAAA;QACT,IAAI,CAAC,aAAa,EAAE;AAEpB,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,EAAE;AAC1C,QAAA,IAAI,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE;AACtC,YAAA,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QACpE;IACF;;AAGA,IAAA,YAAY,CAAC,KAAmB,EAAA;QAC9B,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE;QAEvC,KAAK,CAAC,cAAc,EAAE;QACtB,KAAK,CAAC,eAAe,EAAE;AAGvB,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE;QAC1B,IAAI,KAAK,YAAY,IAAI,IAAI,KAAK,KAAK,IAAI,EAAE;AAC3C,YAAA,aAAa,CAAC,WAAW,GAAG,KAAK;QACnC;aAAO;AACL,YAAA,aAAa,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;QAClE;QAEA,aAAa,CAAC,UAAU,EAAE;IAC5B;;IAGA,cAAc,GAAA;QACZ,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE;QAEvC,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;AAE3C,QAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;IACxB;uGAzKW,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAApB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,EAAA,GAAA,EAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,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,SAAA,EAPpB;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,eAAe;AACxB,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,oBAAoB,CAAC;AACpD,aAAA;AACF,SAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EA4C+D,UAAU,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECxF5E,gxCAyCA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDRY,eAAe,6IAAE,aAAa,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,KAAA,EAAA,MAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAa7B,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAdhC,SAAS;AACC,YAAA,IAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAC,eAAe,EAAE,aAAa,CAAC,EAAA,QAAA,EAC/B,YAAY,EAAA,QAAA,EACZ,0BAA0B,EAAA,aAAA,EAErB,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,SAAA,EACpC;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,eAAe;AACxB,4BAAA,WAAW,EAAE,UAAU,CAAC,0BAA0B,CAAC;AACpD,yBAAA;AACF,qBAAA,EAAA,QAAA,EAAA,gxCAAA,EAAA;AA4CoC,SAAA,CAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,cAAA,EAAA,EAAA,GAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,KAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,GAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,KAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,SAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,SAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,WAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,CAAA,iBAAiB,OAAE,EAAE,IAAI,GAAE,UAA4B,CAAA,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;AEtD1F,MAAO,sBAAuB,SAAQ,gBAAwB,CAAA;IACzD,GAAG,GAAG,KAAK,CAAkB,SAAS,gDAAI,SAAS,EAAE,eAAe,EAAA,CAAG;IACvE,GAAG,GAAG,KAAK,CAAkB,SAAS,gDAAI,SAAS,EAAE,eAAe,EAAA,CAAG;IACvE,IAAI,GAAG,KAAK,CAAkB,SAAS,iDAAI,SAAS,EAAE,eAAe,EAAA,CAAG;AACxE,IAAA,QAAQ,GAAG,KAAK,CAAS,CAAC,oDAAC;AAC3B,IAAA,gBAAgB,GAAG,KAAK,CAAY,GAAG,4DAAC;AACxC,IAAA,kBAAkB,GAAG,KAAK,CAAU,KAAK,8DAAC;AAC1C,IAAA,iBAAiB,GAAG,KAAK,CAAS,EAAE,6DAAC;IAErC,QAAQ,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,gBAAgB,CAAC,oDAAC;IAChF,QAAQ,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,gBAAgB,CAAC,oDAAC;AAChF,IAAA,QAAQ,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,oDAAC;AAE5C,IAAA,SAAS,GAAG,QAAQ,CAAC,MAAK;QACjC,MAAM,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAAC,mBAAmB,EAAE;AAE1E,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE;AAEhC,QAAA,MAAM,QAAQ,GAAG,QAAQ,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAC5E,MAAM,SAAS,GAAG,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC;QAC3D,MAAM,QAAQ,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM;AAEnD,QAAA,OAAO,EAAE,GAAG,SAAS,GAAG,QAAQ;AAClC,IAAA,CAAC,qDAAC;AAEO,IAAA,mBAAmB,GAAG,QAAQ,CAAC,MAAK;QAC3C,OAAO;AACL,YAAA,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE;AACpB,YAAA,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE;AACpB,YAAA,SAAS,EAAE,GAAG;AACd,YAAA,qBAAqB,EAAE,IAAI,CAAC,QAAQ,EAAE;AACtC,YAAA,qBAAqB,EAAE,IAAI,CAAC,kBAAkB,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC;AACtE,YAAA,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE;AACzC,YAAA,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EAAE;SAC5C;AACH,IAAA,CAAC,+DAAC;AAEF,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,EAAE;AAEP,QAAA,MAAM,CAAC,CAAC,SAAS,KAAI;AACnB,YAAA,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE;AACpB,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,EAAE;YAEzC,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,GAAG,6BAA6B,CAAC,MAAM,CAAC;YAErE,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAC,EAAE,CAAC,aAAa,EAAE;AAC7C,gBAAA,GAAG,OAAO;AACV,gBAAA,OAAO,EAAE;AACP,oBAAA,GAAG,OAAO;oBACV,+BAA+B,CAC7B,6BAA6B,CAAC;AAC5B,wBAAA,GAAG,MAAM;wBACT,GAAG,EAAE,MAAM,CAAC,gBAAgB;wBAC5B,GAAG,EAAE,MAAM,CAAC,gBAAgB;AAC7B,qBAAA,CAAC,CACH;AACF,iBAAA;AACF,aAAA,CAAC;YAEF,SAAS,CAAC,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;AACrC,QAAA,CAAC,CAAC;IACJ;;AAGS,IAAA,cAAc,CAAC,aAAsB,EAAA;QAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC;AAC7C,QAAA,IAAI,KAAK,KAAK,IAAI,EAAE;AAClB,YAAA,OAAO,EAAE;QACX;QAEA,OAAO,sBAAsB,CAAC,KAAK,EAAE,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAClE;;AAGA,IAAA,aAAa,CAAC,KAAa,EAAA;AACzB,QAAA,MAAM,gBAAgB,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,IAAI,CAAC;AAClE,QAAA,MAAM,iBAAiB,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,IAAI,CAAC;AAEpE,QAAA,OAAO,KAAK,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC;IAC5E;;AAGA,IAAA,cAAc,CAAC,KAAa,EAAA;AAC1B,QAAA,OAAO,CAAC,EAAE,KAAK,KAAK,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,0BAA0B,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IACzI;AAKA,IAAA,WAAW,CAAgC,KAAc,EAAE,QAAA,GAAqB,IAAI,EAAA;QAClF,IAAI,aAAa,GAAkB,IAAI;QAEvC,IAAG,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE;AACxC,YAAA,OAAO,QAAa;QACtB;AAEA,QAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,aAAa,GAAG,KAAK;QACvB;AAAO,aAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACpC,YAAA,aAAa,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC;QAC1C;AAEA,QAAA,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;AACvB,YAAA,OAAO,QAAa;QACtB;AAEA,QAAA,OAAO,aAAa;IACtB;;IAGA,cAAc,GAAA;AACZ,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,EAAE;AAEvB,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC;AAGnE,QAAA,IAAI,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE;AACtC,YAAA,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC;QACnE;QAEA,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC;AAE7C,QAAA,IAAI,KAAK,KAAK,IAAI,EAAE;AAClB,YAAA,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QAC/B;AAEA,QAAA,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,EAAE;YACtD,OAAO,KAAK,CAAC;QACf;AAEA,QAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;IACxB;;AAGA,IAAA,aAAa,CAAC,GAAW,EAAA;QACvB,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG;AAE5D,QAAA,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,EAAE;YACtD,OAAO,KAAK,CAAC;QACf;AAEA,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;AAE5C,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC;IACtD;;IAGA,YAAY,GAAA;AACV,QAAA,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,mBAAmB,EAAE,CAAC;AAElF,QAAA,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE;AAC3C,YAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5B;IACF;;IAGA,WAAW,GAAA;QACT,IAAI,CAAC,aAAa,EAAE;QAEpB,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;AAE9D,QAAA,IAAI,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE;AACtC,YAAA,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QACpE;IACF;uGArKW,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAtB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,EAAA,GAAA,EAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,gBAAA,EAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,kBAAA,EAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,UAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,SAAA,EAPtB;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,eAAe;AACxB,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,sBAAsB,CAAC;AACtD,aAAA;AACF,SAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EChCH,sjDAkDA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,ED7BY,eAAe,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,SAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,aAAa,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,KAAA,EAAA,MAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAa7B,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAdlC,SAAS;AACC,YAAA,IAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAC,eAAe,EAAE,aAAa,CAAC,EAAA,QAAA,EAC/B,YAAY,EAAA,QAAA,EACZ,4BAA4B,EAAA,aAAA,EAEvB,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,SAAA,EACpC;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,eAAe;AACxB,4BAAA,WAAW,EAAE,UAAU,CAAC,4BAA4B,CAAC;AACtD,yBAAA;AACF,qBAAA,EAAA,QAAA,EAAA,sjDAAA,EAAA;;;AEhCH;;AAEG;;;;"}
1
+ {"version":3,"file":"latitude-ui-widgets-textbox.mjs","sources":["../../../../packages/widgets/textbox/lib/textbox.ts","../../../../packages/widgets/textbox/lib/textbox.html","../../../../packages/widgets/textbox/lib/textbox-date.ts","../../../../packages/widgets/textbox/lib/textbox-date.html","../../../../packages/widgets/textbox/lib/textbox-number.ts","../../../../packages/widgets/textbox/lib/textbox-number.html","../../../../packages/widgets/textbox/public-api.ts","../../../../packages/widgets/textbox/latitude-ui-widgets-textbox.ts"],"sourcesContent":["import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n computed,\r\n ElementRef,\r\n forwardRef,\r\n input,\r\n numberAttribute,\r\n viewChild,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\n\r\nimport { FormControlComponent } from '@latitude-ui/widgets/core';\r\n\r\n\r\n@Component({\r\n exportAs: 'latTextBox',\r\n selector: 'lat-textbox:not([type]), lat-textbox[type=\"text\"]',\r\n templateUrl: './textbox.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: FormControlComponent,\r\n useExisting: forwardRef(() => TextBoxComponent)\r\n }\r\n ]\r\n})\r\nexport class TextBoxComponent extends FormControlComponent<string> {\r\n readonly el = viewChild.required('htmlInputElement', { read: ElementRef<HTMLInputElement> });\r\n\r\n readonly rows = input<number, unknown>(undefined, { transform: numberAttribute });\r\n readonly maxlength = input<number, unknown>(undefined, { transform: numberAttribute });\r\n readonly minlength = input<number, unknown>(undefined, { transform: numberAttribute });\r\n\r\n readonly textarea = computed(() => {\r\n const rows = this.rows();\r\n\r\n return rows ? rows >= 2 : false;\r\n });\r\n\r\n /** @internal */\r\n onBlurEvent(): void {\r\n this.markAsTouched();\r\n }\r\n\r\n /** @internal */\r\n onValueChanged(): void {\r\n const { nativeElement } = this.el();\r\n\r\n this.updateValue(nativeElement.value);\r\n }\r\n}\r\n","@if(textarea()) {\r\n <textarea\r\n #htmlInputElement\r\n role=\"textbox\"\r\n [value]='valueAsString()'\r\n [attr.id]=\"computedId()\"\r\n [attr.rows]=\"rows()\"\r\n [attr.tabindex]=\"disabled() ? -1 : tabindex()\"\r\n [attr.disabled]=\"disabled() || void 0\"\r\n [attr.readonly]=\"readonly() || void 0\"\r\n [attr.required]=\"required() || void 0\"\r\n [attr.maxlength]=\"maxlength()\"\r\n [attr.minlength]=\"minlength()\"\r\n [attr.placeholder]=\"placeholder()\"\r\n [attr.aria-invalid]=\"invalid() || void 0\"\r\n [attr.aria-disabled]=\"disabled() || void 0\"\r\n [attr.aria-readonly]=\"readonly() || void 0\"\r\n [attr.aria-required]=\"required() || void 0\"\r\n [attr.aria-labelledby]=\"labelledby ? labelledby() : void 0\"\r\n [style.resize]=\"'none'\"\r\n [style.height]=\"'auto'\"\r\n (blur)=\"onBlurEvent()\"\r\n (input)=\"onValueChanged()\"\r\n ></textarea>\r\n} @else {\r\n <input\r\n #htmlInputElement\r\n type=\"text\"\r\n role=\"textbox\"\r\n [value]='valueAsString()'\r\n [attr.id]=\"computedId()\"\r\n [attr.tabindex]=\"disabled() ? -1 : tabindex()\"\r\n [attr.disabled]=\"disabled() || void 0\"\r\n [attr.readonly]=\"readonly() || void 0\"\r\n [attr.required]=\"required() || void 0\"\r\n [attr.maxlength]=\"maxlength()\"\r\n [attr.minlength]=\"minlength()\"\r\n [attr.placeholder]=\"placeholder()\"\r\n [attr.aria-invalid]=\"invalid() || void 0\"\r\n [attr.aria-disabled]=\"disabled() || void 0\"\r\n [attr.aria-readonly]=\"readonly() || void 0\"\r\n [attr.aria-required]=\"required() || void 0\"\r\n [attr.aria-labelledby]=\"labelledby ? labelledby() : void 0\"\r\n (blur)=\"onBlurEvent()\"\r\n (input)=\"onValueChanged()\"\r\n />\r\n}\r\n","import {\r\n afterRenderEffect,\r\n ChangeDetectionStrategy,\r\n Component,\r\n computed,\r\n effect,\r\n ElementRef,\r\n forwardRef,\r\n input,\r\n viewChild,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\n\r\nimport { maskitoDateOptionsGenerator, maskitoParseDate, maskitoStringifyDate } from '@maskito/kit';\r\nimport { Maskito } from '@maskito/core';\r\n\r\nimport { ButtonComponent } from '@latitude-ui/widgets/button';\r\nimport { FormControlComponent } from '@latitude-ui/widgets/core';\r\nimport { IconComponent } from '@latitude-ui/widgets/icons';\r\n\r\nexport type DatePattern =\r\n | 'dd/mm'\r\n | 'dd/mm/yyyy'\r\n | 'mm/dd'\r\n | 'mm/dd/yyyy'\r\n | 'mm/yy'\r\n | 'mm/yyyy'\r\n | 'yyyy'\r\n | 'yyyy/mm'\r\n | 'yyyy/mm/dd';\r\n\r\n@Component({\r\n imports: [ButtonComponent, IconComponent],\r\n exportAs: 'latTextBox',\r\n selector: 'lat-textbox[type=\"date\"]',\r\n templateUrl: './textbox-date.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: FormControlComponent,\r\n useExisting: forwardRef(() => TextBoxDateComponent)\r\n }\r\n ]\r\n})\r\nexport class TextBoxDateComponent extends FormControlComponent<Date> {\r\n readonly el = viewChild.required('htmlInputElement', { read: ElementRef<HTMLInputElement> });\r\n\r\n readonly max = input<Date>();\r\n readonly min = input<Date>();\r\n readonly pattern = input<DatePattern>('dd/mm/yyyy');\r\n readonly separator = input<string>('.');\r\n\r\n readonly maxvalue = computed(() => this.max() ?? new Date('9999-12-31'));\r\n readonly minvalue = computed(() => this.min() ?? new Date('0001-01-01'));\r\n\r\n readonly patternRegExp = computed(() => {\r\n const pattern = this.pattern();\r\n const separator = this.separator();\r\n\r\n const dd = '(?:0[1-9]|[12][0-9]|3[01])';\r\n const mm = '(?:0[1-9]|1[0-2])';\r\n const yy = '\\\\d{2}';\r\n const yyyy = '\\\\d{4}';\r\n\r\n const keyvalue = {\r\n 'dd/mm': `${dd}${separator}${mm}`,\r\n 'dd/mm/yyyy': `${dd}${separator}${mm}${separator}${yyyy}`,\r\n 'mm/dd': `${mm}${separator}${dd}`,\r\n 'mm/dd/yyyy': `${mm}${separator}${dd}${separator}${yyyy}`,\r\n 'mm/yy': `${mm}${separator}${yy}`,\r\n 'mm/yyyy': `${mm}${separator}${yyyy}`,\r\n 'yyyy': `${yyyy}`,\r\n 'yyyy/mm': `${yyyy}${separator}${mm}`,\r\n 'yyyy/mm/dd': `${yyyy}${separator}${mm}${separator}${dd}`\r\n } as const;\r\n\r\n return new RegExp(`^${keyvalue[pattern]}$`);\r\n });\r\n\r\n readonly patternPlaceholder = computed(() => {\r\n const pattern = this.pattern();\r\n const separator = this.separator();\r\n\r\n const regexp = new RegExp(/\\//g);\r\n\r\n return pattern.replace(regexp, separator);\r\n });\r\n\r\n\r\n readonly picker = viewChild.required('htmlInputPicker', { read: ElementRef<HTMLInputElement> });\r\n\r\n readonly maskitoDateParams = computed(() => {\r\n return {\r\n max: this.maxvalue(),\r\n min: this.minvalue(),\r\n mode: this.pattern(),\r\n separator: this.separator()\r\n };\r\n });\r\n\r\n constructor() {\r\n super();\r\n\r\n effect((onCleanup) => {\r\n const el = this.el();\r\n const params = this.maskitoDateParams();\r\n\r\n const options = maskitoDateOptionsGenerator(params);\r\n\r\n const instance = new Maskito(el.nativeElement, options);\r\n\r\n onCleanup(() => instance.destroy());\r\n });\r\n\r\n afterRenderEffect(() => {\r\n const { nativeElement } = this.el();\r\n\r\n if (this.autofocus()) {\r\n nativeElement.focus();\r\n }\r\n });\r\n }\r\n\r\n /** @internal */\r\n override valueStringify(value: unknown): string {\r\n const params = this.maskitoDateParams();\r\n\r\n if (typeof value === 'string') {\r\n value = this.parseDate(value);\r\n }\r\n\r\n if (value === null) {\r\n return '';\r\n }\r\n\r\n if (value instanceof Date) {\r\n return maskitoStringifyDate(value, params);\r\n }\r\n\r\n return value as string;\r\n }\r\n\r\n /** @internal */\r\n parseDate(value: string): Date | null {\r\n const params = this.maskitoDateParams();\r\n const pattern = this.patternRegExp();\r\n\r\n const valueAsDate = pattern.test(value) ? maskitoParseDate(value, params) : new Date(value);\r\n\r\n if (valueAsDate === null || Number.isNaN(valueAsDate.getTime())) {\r\n return null;\r\n }\r\n\r\n return valueAsDate;\r\n }\r\n\r\n /** @internal */\r\n valueUnsettled(value: string): boolean {\r\n return !this.patternRegExp().test(value);\r\n }\r\n\r\n /** @internal */\r\n onValueChanged(): void {\r\n const input = this.el();\r\n\r\n const valueAsString = input.nativeElement.value;\r\n\r\n if (this.valueUnsettled(valueAsString)) {\r\n return this.valueAsString.update(() => input.nativeElement.value);\r\n }\r\n\r\n const value = maskitoParseDate(valueAsString, this.maskitoDateParams());\r\n\r\n if (value === null) {\r\n return this.updateValue(value);\r\n }\r\n\r\n this.updateValue(value);\r\n }\r\n\r\n /** @internal */\r\n onFocusEvent(): void {\r\n const value = maskitoParseDate(this.valueAsString(), this.maskitoDateParams());\r\n\r\n if (Number.isNaN(value) && !this.readonly()) {\r\n this.valueAsString.set('');\r\n }\r\n }\r\n\r\n /** @internal */\r\n onBlurEvent(): void {\r\n this.markAsTouched();\r\n\r\n const valueAsString = this.valueAsString();\r\n if (this.valueUnsettled(valueAsString)) {\r\n this.valueAsString.update(() => this.valueStringify(this.value()));\r\n }\r\n }\r\n\r\n /** @internal */\r\n onPickerShow(event: PointerEvent) {\r\n const { nativeElement } = this.picker();\r\n\r\n event.preventDefault();\r\n event.stopPropagation();\r\n\r\n\r\n const value = this.value();\r\n if (value instanceof Date || value === null) {\r\n nativeElement.valueAsDate = value;\r\n } else {\r\n nativeElement.valueAsDate = this.parseDate(this.valueAsString());\r\n }\r\n\r\n nativeElement.showPicker();\r\n }\r\n\r\n /** @internal */\r\n onPickerChange() {\r\n const { nativeElement } = this.picker();\r\n\r\n const value = new Date(nativeElement.value);\r\n\r\n this.updateValue(value);\r\n }\r\n}\r\n","<input #htmlInputPicker type=\"date\" aria-hidden=\"true\" (change)=\"onPickerChange()\"/>\r\n\r\n<input\r\n #htmlInputElement\r\n type=\"text\"\r\n role=\"textbox\"\r\n autocomplete=\"off\"\r\n autocapitalize=\"off\"\r\n [value]='valueAsString()'\r\n [attr.id]=\"computedId()\"\r\n [attr.tabindex]=\"disabled() ? -1 : tabindex()\"\r\n [attr.disabled]=\"disabled() || void 0\"\r\n [attr.readonly]=\"readonly() || void 0\"\r\n [attr.required]=\"required() || void 0\"\r\n [attr.placeholder]=\"placeholder() || patternPlaceholder()\"\r\n [attr.aria-invalid]=\"invalid() || void 0\"\r\n [attr.aria-disabled]=\"disabled() || void 0\"\r\n [attr.aria-readonly]=\"readonly() || void 0\"\r\n [attr.aria-required]=\"required() || void 0\"\r\n [attr.aria-labelledby]=\"labelledby ? labelledby() : void 0\"\r\n (blur)=\"onBlurEvent()\"\r\n (focus)=\"onFocusEvent()\"\r\n (input)=\"onValueChanged()\"\r\n/>\r\n\r\n@if (!readonly()) {\r\n <div>\r\n <lat-button\r\n size=\"inherit\"\r\n variant=\"inherit\"\r\n tabindex=\"-1\"\r\n [disabled]=\"disabled() || void 0\"\r\n (click)=\"onPickerShow($event)\"\r\n >\r\n <lat-icon name=\"calendar-week\" />\r\n </lat-button>\r\n </div>\r\n}\r\n\r\n\r\n","import {\r\n afterRenderEffect,\r\n ChangeDetectionStrategy,\r\n Component,\r\n computed,\r\n effect,\r\n ElementRef,\r\n forwardRef,\r\n input,\r\n numberAttribute,\r\n viewChild,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\n\r\nimport { Maskito, maskitoInitialCalibrationPlugin } from '@maskito/core';\r\nimport { maskitoNumberOptionsGenerator, maskitoParseNumber, maskitoStringifyNumber } from '@maskito/kit';\r\n\r\nimport { ButtonComponent } from '@latitude-ui/widgets/button';\r\nimport { FormControlComponent } from '@latitude-ui/widgets/core';\r\nimport { IconComponent } from '@latitude-ui/widgets/icons';\r\n\r\n@Component({\r\n imports: [ButtonComponent, IconComponent],\r\n exportAs: 'latTextBox',\r\n selector: 'lat-textbox[type=\"number\"]',\r\n templateUrl: './textbox-number.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: FormControlComponent,\r\n useExisting: forwardRef(() => TextBoxNumberComponent)\r\n }\r\n ]\r\n})\r\nexport class TextBoxNumberComponent extends FormControlComponent<number> {\r\n\r\n readonly max = input<number, unknown>(undefined, { transform: numberAttribute });\r\n readonly min = input<number, unknown>(undefined, { transform: numberAttribute });\r\n readonly step = input<number, unknown>(undefined, { transform: numberAttribute });\r\n readonly decimals = input<number>(2);\r\n readonly decimalSeparator = input<',' | '.'>(',');\r\n readonly decimalZeroPadding = input<boolean>(false);\r\n readonly thousandSeparator = input<string>('');\r\n\r\n readonly el = viewChild.required('htmlInputElement', { read: ElementRef<HTMLInputElement> });\r\n\r\n readonly maxvalue = computed(() => this.parseNumber(this.max(), Number.MAX_SAFE_INTEGER));\r\n readonly minvalue = computed(() => this.parseNumber(this.min(), Number.MIN_SAFE_INTEGER));\r\n readonly nowvalue = computed(() => this.value() || 0);\r\n\r\n readonly maxlength = computed(() => {\r\n const { decimalSeparator, thousandSeparator } = this.maskitoNumberParams();\r\n\r\n const decimals = this.decimals();\r\n\r\n const mantissa = decimals && this.valueAsString().includes(decimalSeparator);\r\n const precision = mantissa ? Math.min(decimals + 1, 20) : 0;\r\n const thousand = thousandSeparator.repeat(5).length;\r\n\r\n return 18 + precision + thousand;\r\n });\r\n\r\n readonly maskitoNumberParams = computed(() => {\r\n return {\r\n max: this.maxvalue(),\r\n min: this.minvalue(),\r\n minusSign: '-',\r\n maximumFractionDigits: this.decimals(),\r\n minimumFractionDigits: this.decimalZeroPadding() ? this.decimals() : 0,\r\n decimalSeparator: this.decimalSeparator(),\r\n thousandSeparator: this.thousandSeparator()\r\n };\r\n });\r\n\r\n constructor() {\r\n super();\r\n\r\n\r\n effect((onCleanup) => {\r\n const el = this.el();\r\n const params = this.maskitoNumberParams();\r\n\r\n const { plugins, ...options } = maskitoNumberOptionsGenerator(params);\r\n\r\n const instance = new Maskito(el.nativeElement, {\r\n ...options,\r\n plugins: [\r\n ...plugins,\r\n maskitoInitialCalibrationPlugin(\r\n maskitoNumberOptionsGenerator({\r\n ...params,\r\n min: Number.MIN_SAFE_INTEGER,\r\n max: Number.MAX_SAFE_INTEGER\r\n })\r\n )\r\n ]\r\n });\r\n\r\n onCleanup(() => instance.destroy());\r\n });\r\n\r\n afterRenderEffect(() => {\r\n const { nativeElement } = this.el();\r\n\r\n if (this.autofocus()) {\r\n nativeElement.focus();\r\n }\r\n });\r\n }\r\n\r\n /** @internal */\r\n override valueStringify(valueAsString: unknown): string {\r\n const value = this.parseNumber(valueAsString);\r\n if (value === null) {\r\n return '';\r\n }\r\n\r\n return maskitoStringifyNumber(value, this.maskitoNumberParams());\r\n }\r\n\r\n /** @internal */\r\n valueSimplify(value: string): string {\r\n const decimalSeparator = new RegExp(this.decimalSeparator(), 'gi');\r\n const thousandSeparator = new RegExp(this.thousandSeparator(), 'gi');\r\n\r\n return value.replace(thousandSeparator, '').replace(decimalSeparator, '.');\r\n }\r\n\r\n /** @internal */\r\n valueUnsettled(value: string): boolean {\r\n return !!(value === '-' || value.match(/^\\s*([-+])?\\d+\\.$/) || value.match(/^\\s*([-+])?\\d+\\.[0-9]*0$/) || value.match(/^\\s*([-+])0+$/));\r\n }\r\n\r\n /** @internal */\r\n parseNumber(value: unknown): number | null;\r\n parseNumber<const T extends number | null>(value: unknown, fallback: T): number | T;\r\n parseNumber<const T extends number | null>(value: unknown, fallback: T | null = null): number | null | T {\r\n let valueAsNumber: number | null = null;\r\n\r\n if (value === null || value === undefined) {\r\n return fallback as T;\r\n }\r\n\r\n if (typeof value === 'number') {\r\n valueAsNumber = value;\r\n } else if (typeof value === 'string') {\r\n valueAsNumber = Number.parseFloat(value);\r\n }\r\n\r\n if (Number.isNaN(value)) {\r\n return fallback as T;\r\n }\r\n\r\n return valueAsNumber;\r\n }\r\n\r\n /** @internal */\r\n onValueChanged(): void {\r\n const input = this.el();\r\n\r\n const valueAsString = this.valueSimplify(input.nativeElement.value);\r\n\r\n\r\n if (this.valueUnsettled(valueAsString)) {\r\n return this.valueAsString.update(() => input.nativeElement.value);\r\n }\r\n\r\n const value = this.parseNumber(valueAsString);\r\n\r\n if (value === null) {\r\n return this.updateValue(value);\r\n }\r\n\r\n if (value < this.minvalue() || value > this.maxvalue()) {\r\n return void 0;\r\n }\r\n\r\n this.updateValue(value);\r\n }\r\n\r\n /** @internal */\r\n onValueSpined(mul: 1 | -1): void {\r\n const value = (this.value() ?? 0) + (this.step() ?? 0) * mul;\r\n\r\n if (value < this.minvalue() || value > this.maxvalue()) {\r\n return void 0;\r\n }\r\n\r\n const factor = Math.pow(10, this.decimals());\r\n\r\n this.updateValue(Math.round(value * factor) / factor);\r\n }\r\n\r\n /** @internal */\r\n onFocusEvent(): void {\r\n const value = maskitoParseNumber(this.valueAsString(), this.maskitoNumberParams());\r\n\r\n if (Number.isNaN(value) && !this.readonly()) {\r\n this.valueAsString.set('');\r\n }\r\n }\r\n\r\n /** @internal */\r\n onBlurEvent(): void {\r\n this.markAsTouched();\r\n\r\n const valueAsString = this.valueSimplify(this.valueAsString());\r\n\r\n if (this.valueUnsettled(valueAsString)) {\r\n this.valueAsString.update(() => this.valueStringify(this.value()));\r\n }\r\n }\r\n}\r\n","<input\r\n #htmlInputElement\r\n type=\"text\"\r\n role=\"spinbutton\"\r\n autocomplete=\"off\"\r\n autocapitalize=\"off\"\r\n [value]='valueAsString()'\r\n [attr.id]=\"computedId()\"\r\n [attr.tabindex]=\"disabled() ? -1 : tabindex()\"\r\n [attr.disabled]=\"disabled() || void 0\"\r\n [attr.readonly]=\"readonly() || void 0\"\r\n [attr.required]=\"required() || void 0\"\r\n [attr.maxlength]=\"maxlength()\"\r\n [attr.placeholder]=\"placeholder()\"\r\n [attr.aria-invalid]=\"invalid() || void 0\"\r\n [attr.aria-valuemax]=\"maxvalue()\"\r\n [attr.aria-valuemin]=\"minvalue()\"\r\n [attr.aria-valuenow]=\"nowvalue()\"\r\n [attr.aria-disabled]=\"disabled() || void 0\"\r\n [attr.aria-readonly]=\"readonly() || void 0\"\r\n [attr.aria-required]=\"required() || void 0\"\r\n [attr.aria-labelledby]=\"labelledby ? labelledby() : void 0\"\r\n (blur)=\"onBlurEvent()\"\r\n (focus)=\"onFocusEvent()\"\r\n (input)=\"onValueChanged()\"\r\n/>\r\n\r\n@if (step() && !readonly()) {\r\n <div>\r\n <lat-button\r\n size=\"inherit\"\r\n variant=\"inherit\"\r\n tabindex=\"-1\"\r\n [disabled]=\"disabled() || void 0\"\r\n (click)=\"onValueSpined(1)\"\r\n >\r\n <lat-icon name=\"chevron-up\" />\r\n </lat-button>\r\n <lat-button\r\n size=\"inherit\"\r\n variant=\"inherit\"\r\n tabindex=\"-1\"\r\n [disabled]=\"disabled() || void 0\"\r\n (click)=\"onValueSpined(-1)\"\r\n >\r\n <lat-icon name=\"chevron-down\" />\r\n </lat-button>\r\n </div>\r\n}\r\n","import { TextBoxComponent } from './lib/textbox';\r\nimport { TextBoxDateComponent } from './lib/textbox-date';\r\nimport { TextBoxNumberComponent } from './lib/textbox-number';\r\n\r\nexport * from './lib/textbox';\r\nexport * from './lib/textbox-date';\r\nexport * from './lib/textbox-number';\r\n\r\nexport const TextBoxImports = [\r\n TextBoxComponent,\r\n TextBoxDateComponent,\r\n TextBoxNumberComponent\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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"}
@@ -7,21 +7,25 @@ class ToolBarComponent {
7
7
  dock = input('none', ...(ngDevMode ? [{ debugName: "dock" }] : []));
8
8
  variant = input('default', ...(ngDevMode ? [{ debugName: "variant" }] : []));
9
9
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ToolBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
10
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.3", type: ToolBarComponent, isStandalone: true, selector: "lat-toolbar", inputs: { role: { classPropertyName: "role", publicName: "role", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, dock: { classPropertyName: "dock", publicName: "dock", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.role": "role()", "attr.size": "size()", "attr.dock": "dock()", "attr.variant": "variant()" } }, exportAs: ["latToolBar"], ngImport: i0, template: "<ng-content />\r\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
10
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.3", type: ToolBarComponent, isStandalone: true, selector: "lat-toolbar", inputs: { role: { classPropertyName: "role", publicName: "role", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, dock: { classPropertyName: "dock", publicName: "dock", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.role": "role()", "attr.data-size": "size()", "attr.data-dock": "dock()", "attr.data-variant": "variant()" } }, exportAs: ["latToolBar"], ngImport: i0, template: "<ng-content />\r\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
11
11
  }
12
12
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ToolBarComponent, decorators: [{
13
13
  type: Component,
14
14
  args: [{ exportAs: 'latToolBar', selector: 'lat-toolbar', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
15
15
  '[attr.role]': 'role()',
16
- '[attr.size]': 'size()',
17
- '[attr.dock]': 'dock()',
18
- '[attr.variant]': 'variant()'
16
+ '[attr.data-size]': 'size()',
17
+ '[attr.data-dock]': 'dock()',
18
+ '[attr.data-variant]': 'variant()'
19
19
  }, template: "<ng-content />\r\n" }]
20
20
  }], propDecorators: { role: [{ type: i0.Input, args: [{ isSignal: true, alias: "role", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], dock: [{ type: i0.Input, args: [{ isSignal: true, alias: "dock", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }] } });
21
21
 
22
+ const ToolBarImports = [
23
+ ToolBarComponent
24
+ ];
25
+
22
26
  /**
23
27
  * Generated bundle index. Do not edit.
24
28
  */
25
29
 
26
- export { ToolBarComponent };
30
+ export { ToolBarComponent, ToolBarImports };
27
31
  //# sourceMappingURL=latitude-ui-widgets-toolbar.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"latitude-ui-widgets-toolbar.mjs","sources":["../../../../packages/widgets/toolbar/lib/toolbar.component.ts","../../../../packages/widgets/toolbar/lib/toolbar.component.html","../../../../packages/widgets/toolbar/latitude-ui-widgets-toolbar.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, forwardRef, input, ViewEncapsulation } from '@angular/core';\r\n\r\nimport { BoxSize } from '@latitude-ui/widgets/core';\r\n\r\nexport type ToolBarSize = BoxSize;\r\nexport type ToolBarDock = 'top' | 'bottom' | 'topbottom' | 'none';\r\nexport type ToolBarVariant = 'default' | ({} & string);\r\n\r\n\r\n@Component({\r\n exportAs: 'latToolBar',\r\n selector: 'lat-toolbar',\r\n templateUrl: './toolbar.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n host: {\r\n '[attr.role]': 'role()',\r\n '[attr.size]': 'size()',\r\n '[attr.dock]': 'dock()',\r\n '[attr.variant]': 'variant()'\r\n }\r\n})\r\nexport class ToolBarComponent {\r\n readonly role = input<string>('toolbar');\r\n readonly size = input<ToolBarSize>('md');\r\n readonly dock = input<ToolBarDock>('none');\r\n readonly variant = input<ToolBarVariant>('default');\r\n}\r\n","<ng-content />\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;MAsBa,gBAAgB,CAAA;AAClB,IAAA,IAAI,GAAG,KAAK,CAAS,SAAS,gDAAC;AAC/B,IAAA,IAAI,GAAG,KAAK,CAAc,IAAI,gDAAC;AAC/B,IAAA,IAAI,GAAG,KAAK,CAAc,MAAM,gDAAC;AACjC,IAAA,OAAO,GAAG,KAAK,CAAiB,SAAS,mDAAC;uGAJxC,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAhB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gBAAgB,ssBCtB7B,oBACA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FDqBa,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAb5B,SAAS;+BACE,YAAY,EAAA,QAAA,EACZ,aAAa,EAAA,aAAA,EAER,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;AACJ,wBAAA,aAAa,EAAE,QAAQ;AACvB,wBAAA,aAAa,EAAE,QAAQ;AACvB,wBAAA,aAAa,EAAE,QAAQ;AACvB,wBAAA,gBAAgB,EAAE;AACnB,qBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA;;;AEpBH;;AAEG;;;;"}
1
+ {"version":3,"file":"latitude-ui-widgets-toolbar.mjs","sources":["../../../../packages/widgets/toolbar/lib/toolbar.ts","../../../../packages/widgets/toolbar/lib/toolbar.html","../../../../packages/widgets/toolbar/public-api.ts","../../../../packages/widgets/toolbar/latitude-ui-widgets-toolbar.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, input, ViewEncapsulation } from '@angular/core';\r\n\r\nimport { BoxSize } from '@latitude-ui/widgets/core';\r\n\r\nexport type ToolBarSize = BoxSize;\r\nexport type ToolBarDock = 'top' | 'bottom' | 'topbottom' | 'none';\r\nexport type ToolBarVariant = 'default' | ({} & string);\r\n\r\n\r\n@Component({\r\n exportAs: 'latToolBar',\r\n selector: 'lat-toolbar',\r\n templateUrl: './toolbar.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n host: {\r\n '[attr.role]': 'role()',\r\n '[attr.data-size]': 'size()',\r\n '[attr.data-dock]': 'dock()',\r\n '[attr.data-variant]': 'variant()'\r\n }\r\n})\r\nexport class ToolBarComponent {\r\n readonly role = input<string>('toolbar');\r\n readonly size = input<ToolBarSize>('md');\r\n readonly dock = input<ToolBarDock>('none');\r\n readonly variant = input<ToolBarVariant>('default');\r\n}\r\n","<ng-content />\r\n","import { ToolBarComponent } from './lib/toolbar';\r\n\r\nexport * from './lib/toolbar';\r\n\r\nexport const ToolBarImports = [\r\n ToolBarComponent\r\n] as const;\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;MAsBa,gBAAgB,CAAA;AAClB,IAAA,IAAI,GAAG,KAAK,CAAS,SAAS,gDAAC;AAC/B,IAAA,IAAI,GAAG,KAAK,CAAc,IAAI,gDAAC;AAC/B,IAAA,IAAI,GAAG,KAAK,CAAc,MAAM,gDAAC;AACjC,IAAA,OAAO,GAAG,KAAK,CAAiB,SAAS,mDAAC;uGAJxC,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAhB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gBAAgB,qtBCtB7B,oBACA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FDqBa,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAb5B,SAAS;+BACE,YAAY,EAAA,QAAA,EACZ,aAAa,EAAA,aAAA,EAER,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;AACJ,wBAAA,aAAa,EAAE,QAAQ;AACvB,wBAAA,kBAAkB,EAAE,QAAQ;AAC5B,wBAAA,kBAAkB,EAAE,QAAQ;AAC5B,wBAAA,qBAAqB,EAAE;AACxB,qBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA;;;AEhBI,MAAM,cAAc,GAAG;IAC5B;;;ACLF;;AAEG;;;;"}
@@ -1,6 +1,15 @@
1
- var publicApi = void 0;
1
+ import { makeEnvironmentProviders } from '@angular/core';
2
+ import { provideLocalization } from '@latitude-ui/widgets/l10n';
3
+
4
+ function provideLatitude() {
5
+ return makeEnvironmentProviders([
6
+ provideLocalization()
7
+ ]);
8
+ }
2
9
 
3
10
  /**
4
11
  * Generated bundle index. Do not edit.
5
12
  */
13
+
14
+ export { provideLatitude };
6
15
  //# sourceMappingURL=latitude-ui-widgets.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"latitude-ui-widgets.mjs","sources":["../../../../packages/widgets/public-api.ts","../../../../packages/widgets/latitude-ui-widgets.ts"],"sourcesContent":["export default void 0;\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"AAAA,gBAAe,KAAK,CAAC;;ACArB;;AAEG"}
1
+ {"version":3,"file":"latitude-ui-widgets.mjs","sources":["../../../../packages/widgets/public-api.ts","../../../../packages/widgets/latitude-ui-widgets.ts"],"sourcesContent":["import { EnvironmentProviders, makeEnvironmentProviders } from '@angular/core';\r\nimport { provideLocalization } from '@latitude-ui/widgets/l10n';\r\n\r\nexport function provideLatitude(): EnvironmentProviders {\r\n return makeEnvironmentProviders([\r\n provideLocalization()\r\n ]);\r\n}\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;SAGgB,eAAe,GAAA;AAC7B,IAAA,OAAO,wBAAwB,CAAC;AAC9B,QAAA,mBAAmB;AACpB,KAAA,CAAC;AACJ;;ACPA;;AAEG;;;;"}
package/l10n/README.md ADDED
@@ -0,0 +1,3 @@
1
+ # @latitude-ui/widgets/l10n
2
+
3
+ Secondary entry point of `@latitude-ui/widgets`. It can be used by importing from `@latitude-ui/widgets/l10n`.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@latitude-ui/widgets",
3
- "version": "0.0.33",
3
+ "version": "0.0.35",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^21.1.0",
6
6
  "@angular/core": "^21.1.0",
@@ -40,6 +40,10 @@
40
40
  "types": "./types/latitude-ui-widgets-input.d.ts",
41
41
  "default": "./fesm2022/latitude-ui-widgets-input.mjs"
42
42
  },
43
+ "./l10n": {
44
+ "types": "./types/latitude-ui-widgets-l10n.d.ts",
45
+ "default": "./fesm2022/latitude-ui-widgets-l10n.mjs"
46
+ },
43
47
  "./listbox": {
44
48
  "types": "./types/latitude-ui-widgets-listbox.d.ts",
45
49
  "default": "./fesm2022/latitude-ui-widgets-listbox.mjs"
@@ -52,6 +56,10 @@
52
56
  "types": "./types/latitude-ui-widgets-menu.d.ts",
53
57
  "default": "./fesm2022/latitude-ui-widgets-menu.mjs"
54
58
  },
59
+ "./paginate": {
60
+ "types": "./types/latitude-ui-widgets-paginate.d.ts",
61
+ "default": "./fesm2022/latitude-ui-widgets-paginate.mjs"
62
+ },
55
63
  "./scrollable": {
56
64
  "types": "./types/latitude-ui-widgets-scrollable.d.ts",
57
65
  "default": "./fesm2022/latitude-ui-widgets-scrollable.mjs"
@@ -60,6 +68,10 @@
60
68
  "types": "./types/latitude-ui-widgets-select.d.ts",
61
69
  "default": "./fesm2022/latitude-ui-widgets-select.mjs"
62
70
  },
71
+ "./splitview": {
72
+ "types": "./types/latitude-ui-widgets-splitview.d.ts",
73
+ "default": "./fesm2022/latitude-ui-widgets-splitview.mjs"
74
+ },
63
75
  "./switch": {
64
76
  "types": "./types/latitude-ui-widgets-switch.d.ts",
65
77
  "default": "./fesm2022/latitude-ui-widgets-switch.mjs"
@@ -0,0 +1,3 @@
1
+ # @latitude-ui/widgets/paginate
2
+
3
+ Secondary entry point of `@latitude-ui/widgets`. It can be used by importing from `@latitude-ui/widgets/paginate`.
@@ -0,0 +1,3 @@
1
+ # @latitude-ui/widgets/splitview
2
+
3
+ Secondary entry point of `@latitude-ui/widgets`. It can be used by importing from `@latitude-ui/widgets/splitview`.
@@ -1,25 +1,42 @@
1
- import * as _latitude_ui_widgets_core from '@latitude-ui/widgets/core';
2
- import { BoxSize } from '@latitude-ui/widgets/core';
3
1
  import * as _angular_core from '@angular/core';
4
2
  import { ElementRef } from '@angular/core';
3
+ import { BoxSize } from '@latitude-ui/widgets/core';
5
4
 
6
5
  type ButtonSize = BoxSize;
7
- type ButtonVariant = 'default' | 'action' | 'secondary' | 'text' | 'link' | 'inherit' | ({} & string);
8
-
6
+ type ButtonVariant = 'default' | 'action' | 'secondary' | 'text' | 'link' | 'inherit' | null | ({} & string);
9
7
  declare class ButtonComponent {
10
- readonly button: ElementRef<any>;
8
+ /** @internalApi */
9
+ readonly el: ElementRef<any>;
10
+ /** @publicApi */
11
11
  readonly role: _angular_core.InputSignal<string>;
12
- readonly size: _angular_core.InputSignal<_latitude_ui_widgets_core.BoxSize>;
12
+ /** @publicApi */
13
+ readonly size: _angular_core.InputSignal<BoxSize>;
14
+ /** @publicApi */
13
15
  readonly variant: _angular_core.InputSignal<ButtonVariant>;
16
+ /** @publicApi */
14
17
  readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
18
+ /** @publicApi */
15
19
  readonly tabindex: _angular_core.InputSignalWithTransform<number | undefined, unknown>;
20
+ /** @internalApi */
16
21
  readonly icononly: _angular_core.WritableSignal<boolean>;
17
- constructor();
22
+ /**
23
+ * Need to find icon without another DOM node (Polyfill pseudo :has)
24
+ *
25
+ * @internalApi
26
+ */
18
27
  _setUpPolyfill(): void;
28
+ /**
29
+ * https://github.com/angular/angular/issues/9587
30
+ *
31
+ * @internalApi
32
+ */
19
33
  _setUpListener(): void;
34
+ constructor();
20
35
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ButtonComponent, never>;
21
36
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<ButtonComponent, "lat-button", ["latButton"], { "role": { "alias": "role"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "tabindex": { "alias": "tabindex"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
22
37
  }
23
38
 
24
- export { ButtonComponent };
39
+ declare const ButtonImports: readonly [typeof ButtonComponent];
40
+
41
+ export { ButtonComponent, ButtonImports };
25
42
  export type { ButtonSize, ButtonVariant };
@@ -1,10 +1,13 @@
1
- import { HTMLFormControl } from '@latitude-ui/widgets/core';
1
+ import { FormControlComponent } from '@latitude-ui/widgets/core';
2
2
  import * as i0 from '@angular/core';
3
3
 
4
- declare class CheckBoxComponent extends HTMLFormControl<boolean> {
4
+ declare class CheckBoxComponent extends FormControlComponent<boolean> {
5
+ /** @publicApi */
5
6
  toggle(): void;
6
7
  static ɵfac: i0.ɵɵFactoryDeclaration<CheckBoxComponent, never>;
7
8
  static ɵcmp: i0.ɵɵComponentDeclaration<CheckBoxComponent, "lat-checkbox", ["latCheckBox"], {}, {}, never, ["*"], true, never>;
8
9
  }
9
10
 
10
- export { CheckBoxComponent };
11
+ declare const CheckBoxImports: readonly [typeof CheckBoxComponent];
12
+
13
+ export { CheckBoxComponent, CheckBoxImports };
@@ -2,24 +2,23 @@ import * as _angular_core from '@angular/core';
2
2
  import { InjectionToken, Signal } from '@angular/core';
3
3
  import * as _angular_forms from '@angular/forms';
4
4
  import { NgControl, FormControlStatus, AbstractControl } from '@angular/forms';
5
- import { Observable } from 'rxjs';
6
5
 
7
6
  type BoxSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'inherit';
8
7
 
9
8
  declare const LAT_ASSETS_PATH: InjectionToken<string>;
10
9
 
11
- type HTMLFormControlSize = BoxSize;
12
- type HTMLFormControlVariant = 'default' | 'inherit' | ({} & string);
10
+ type FormControlSize = BoxSize;
11
+ type FormControlVariant = 'default' | 'inherit' | ({} & string);
13
12
  declare const ARIA_LABELLEDBY: InjectionToken<Signal<string>>;
14
13
  declare const ARIA_ERRORMESSAGE: InjectionToken<Signal<string>>;
15
- declare class HTMLFormControl<T> {
14
+ declare class FormControlComponent<T> {
16
15
  readonly dir: NgControl;
17
- readonly ownerCt: HTMLFormControlContainer<any> | null;
16
+ readonly ownerCt: FormControlContainer<any> | null;
18
17
  readonly labelledby: Signal<string> | null;
19
18
  readonly errormessage: Signal<string> | null;
20
19
  readonly id: _angular_core.InputSignal<string | undefined>;
21
20
  readonly size: _angular_core.InputSignal<BoxSize>;
22
- readonly variant: _angular_core.InputSignal<HTMLFormControlVariant>;
21
+ readonly variant: _angular_core.InputSignal<FormControlVariant>;
23
22
  readonly tabindex: _angular_core.InputSignalWithTransform<number, unknown>;
24
23
  readonly readonly: _angular_core.InputSignalWithTransform<boolean, unknown>;
25
24
  readonly required: _angular_core.InputSignalWithTransform<boolean, unknown>;
@@ -39,42 +38,49 @@ declare class HTMLFormControl<T> {
39
38
  readonly errors: Signal<_angular_forms.ValidationErrors | null>;
40
39
  readonly computedId: Signal<string | undefined>;
41
40
  readonly computedSize: Signal<BoxSize>;
42
- readonly computedVariant: Signal<HTMLFormControlVariant>;
43
- /** @internal */
41
+ readonly computedVariant: Signal<FormControlVariant>;
42
+ readonly nullish: Signal<boolean>;
43
+ /** @internalApi */
44
44
  readonly _value: _angular_core.WritableSignal<T | null>;
45
- /** @internal */
45
+ /** @internalApi */
46
46
  readonly _control: _angular_core.WritableSignal<AbstractControl<any, any, any> | null>;
47
47
  constructor();
48
48
  /**
49
49
  * Sets the "value" property on the input element.
50
+ *
51
+ * @publicApi
50
52
  */
51
- writeValue(value: T | null): void;
53
+ updateValue(value: T | null): void;
52
54
  /**
53
55
  * Marks the control as `dirty`.
56
+ *
57
+ * @publicApi
54
58
  */
55
59
  markAsChanged(): void;
56
60
  /**
57
61
  * Marks the control as `touched`.
62
+ *
63
+ * @publicApi
58
64
  */
59
65
  markAsTouched(): void;
60
- /** @internal */
66
+ /** @internalApi */
61
67
  valueEquality(value0: T | null, value1: unknown): boolean;
62
- /** @internal */
68
+ /** @internalApi */
63
69
  valueStringify(value: unknown): string;
64
- /** @internal */
65
- _writeValue(input: T | null): boolean;
66
- /** @internal */
67
- _markAsTouched: VoidFunction;
68
- /** @internal */
69
- _markAsChanged: VoidFunction;
70
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<HTMLFormControl<any>, never>;
71
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<HTMLFormControl<any>, never, never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "tabindex": { "alias": "tabindex"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "autofocus": { "alias": "autofocus"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
70
+ /** @internalApi */
71
+ writeValue(input: T | null): boolean;
72
+ /** @internalApi */
73
+ markAsTouchedFn: VoidFunction;
74
+ /** @internalApi */
75
+ markAsChangedFn: VoidFunction;
76
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<FormControlComponent<any>, never>;
77
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<FormControlComponent<any>, never, never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "tabindex": { "alias": "tabindex"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "autofocus": { "alias": "autofocus"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
72
78
  }
73
- declare class HTMLFormControlContainer<T> {
79
+ declare class FormControlContainer<T> {
74
80
  readonly id: _angular_core.InputSignal<string | undefined>;
75
81
  readonly size: _angular_core.InputSignal<BoxSize>;
76
- readonly variant: _angular_core.InputSignal<HTMLFormControlVariant>;
77
- readonly control: Signal<HTMLFormControl<any>>;
82
+ readonly variant: _angular_core.InputSignal<FormControlVariant>;
83
+ readonly control: Signal<FormControlComponent<any>>;
78
84
  readonly htmlId: Signal<string>;
79
85
  readonly controlId: Signal<string>;
80
86
  readonly value: Signal<any>;
@@ -90,18 +96,13 @@ declare class HTMLFormControlContainer<T> {
90
96
  readonly disabled: Signal<boolean>;
91
97
  readonly readonly: Signal<boolean>;
92
98
  readonly required: Signal<boolean>;
93
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<HTMLFormControlContainer<any>, never>;
94
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<HTMLFormControlContainer<any>, never, never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; }, {}, ["control"], never, true, never>;
99
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<FormControlContainer<any>, never>;
100
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<FormControlContainer<any>, never, never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; }, {}, ["control"], never, true, never>;
95
101
  }
96
102
 
97
103
  declare function noop(): void;
98
104
 
99
- type Task<T = unknown> = T | Promise<T> | Observable<T>;
100
- declare function isPromise<T = unknown>(input: unknown): input is Promise<T>;
101
- declare function isObservable<T = unknown>(input: any): input is Observable<T>;
102
- declare function taskToObservable<T>(task: Task<T>): Observable<T>;
103
-
104
105
  declare function uid(): string;
105
106
 
106
- export { ARIA_ERRORMESSAGE, ARIA_LABELLEDBY, HTMLFormControl, HTMLFormControlContainer, LAT_ASSETS_PATH, isObservable, isPromise, noop, taskToObservable, uid };
107
- export type { BoxSize, HTMLFormControlSize, HTMLFormControlVariant, Task };
107
+ export { ARIA_ERRORMESSAGE, ARIA_LABELLEDBY, FormControlComponent, FormControlContainer, LAT_ASSETS_PATH, noop, uid };
108
+ export type { BoxSize, FormControlSize, FormControlVariant };
@@ -2,14 +2,23 @@ import * as _angular_core from '@angular/core';
2
2
  import { InjectionToken } from '@angular/core';
3
3
 
4
4
  declare class IconComponent {
5
+ /** @internalApi */
5
6
  readonly iconFn: (name: string) => string;
7
+ /** @publicApi */
8
+ readonly role: _angular_core.InputSignal<string>;
9
+ /** @publicApi */
6
10
  readonly url: _angular_core.InputSignal<string | undefined>;
11
+ /** @publicApi */
7
12
  readonly name: _angular_core.InputSignal<string | undefined>;
13
+ /** @internalApi */
8
14
  readonly iconmask: _angular_core.Signal<string>;
9
15
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<IconComponent, never>;
10
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<IconComponent, "lat-icon", ["latIcon"], { "url": { "alias": "url"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
16
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<IconComponent, "lat-icon", ["latIcon"], { "role": { "alias": "role"; "required": false; "isSignal": true; }; "url": { "alias": "url"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
11
17
  }
12
18
 
19
+ /** @publicApi */
13
20
  declare const LAT_ICON_RESOLVER: InjectionToken<(name: string) => string>;
14
21
 
15
- export { IconComponent, LAT_ICON_RESOLVER };
22
+ declare const IconImports: readonly [typeof IconComponent];
23
+
24
+ export { IconComponent, IconImports, LAT_ICON_RESOLVER };
@@ -1,7 +1,7 @@
1
1
  import * as _angular_core from '@angular/core';
2
- import { HTMLFormControlContainer } from '@latitude-ui/widgets/core';
2
+ import { FormControlContainer } from '@latitude-ui/widgets/core';
3
3
 
4
- declare class InputComponent<T> extends HTMLFormControlContainer<T> {
4
+ declare class InputComponent<T> extends FormControlContainer<T> {
5
5
  readonly labelId: _angular_core.Signal<string>;
6
6
  readonly outputId: _angular_core.Signal<string>;
7
7
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<InputComponent<any>, never>;
@@ -26,4 +26,6 @@ declare class OutputComponent<T = unknown> {
26
26
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<OutputComponent<any>, "lat-output", ["latOutput"], {}, {}, never, ["*"], true, never>;
27
27
  }
28
28
 
29
- export { InputComponent, LabelComponent, OutputComponent };
29
+ declare const InputImports: readonly [typeof InputComponent, typeof LabelComponent, typeof OutputComponent];
30
+
31
+ export { InputComponent, InputImports, LabelComponent, OutputComponent };
@@ -0,0 +1,46 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { InjectionToken, Provider, PipeTransform } from '@angular/core';
3
+ import * as _latitude_ui_widgets_l10n from '@latitude-ui/widgets/l10n';
4
+
5
+ interface LanguageParams {
6
+ readonly rtl?: boolean;
7
+ readonly messages?: Record<string, string>;
8
+ }
9
+ declare class Language {
10
+ readonly id: string;
11
+ readonly rtl: boolean;
12
+ readonly messages: Record<string, string>;
13
+ constructor(id: string, params?: LanguageParams);
14
+ }
15
+ declare function messages<T extends Record<string, unknown>>(messages: T): Record<string, string>;
16
+
17
+ declare const L10N_ENGLISH_LANGUAGE: Language;
18
+
19
+ declare const L10N_RUSSIAN_LANGUAGE: Language;
20
+
21
+ /** @experimentalApi */
22
+ declare const L10N_SERVICE: InjectionToken<LocalizationService>;
23
+ /** @experimentalApi */
24
+ declare const L10N_LANGUAGE: InjectionToken<Language[]>;
25
+ /** @experimentalApi */
26
+ declare class LocalizationService {
27
+ readonly languages: Language[];
28
+ readonly lcid: _angular_core.WritableSignal<string>;
29
+ readonly lang: _angular_core.WritableSignal<Language>;
30
+ constructor(lcid: string);
31
+ readonly rtl: _angular_core.Signal<boolean>;
32
+ readonly messages: _angular_core.Signal<Record<string, string>>;
33
+ tr(path: string): string;
34
+ }
35
+ /** @experimentalApi */
36
+ declare function provideLocalization(): Provider;
37
+
38
+ declare class LocalizationPipe implements PipeTransform {
39
+ readonly l10n: _latitude_ui_widgets_l10n.LocalizationService;
40
+ transform(path: string): string;
41
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<LocalizationPipe, never>;
42
+ static ɵpipe: _angular_core.ɵɵPipeDeclaration<LocalizationPipe, "l10n", true>;
43
+ }
44
+
45
+ export { L10N_ENGLISH_LANGUAGE, L10N_LANGUAGE, L10N_RUSSIAN_LANGUAGE, L10N_SERVICE, Language, LocalizationPipe, LocalizationService, messages, provideLocalization };
46
+ export type { LanguageParams };