@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.
- package/README.md +2 -2
- package/button/index.d.ts +19 -0
- package/checkbox/{src/checkbox.component.d.ts → index.d.ts} +6 -3
- package/core/index.d.ts +39 -0
- package/fesm2022/latitude-ui-widgets-button.mjs +51 -0
- package/fesm2022/latitude-ui-widgets-button.mjs.map +1 -0
- package/fesm2022/latitude-ui-widgets-checkbox.mjs +40 -0
- package/fesm2022/latitude-ui-widgets-checkbox.mjs.map +1 -0
- package/fesm2022/latitude-ui-widgets-core.mjs +116 -0
- package/fesm2022/latitude-ui-widgets-core.mjs.map +1 -0
- package/fesm2022/latitude-ui-widgets-icons.mjs +118 -0
- package/fesm2022/latitude-ui-widgets-icons.mjs.map +1 -0
- package/fesm2022/latitude-ui-widgets-input.mjs +225 -0
- package/fesm2022/latitude-ui-widgets-input.mjs.map +1 -0
- package/fesm2022/latitude-ui-widgets-listbox.mjs +51 -0
- package/fesm2022/latitude-ui-widgets-listbox.mjs.map +1 -0
- package/fesm2022/latitude-ui-widgets-select.mjs +316 -0
- package/fesm2022/latitude-ui-widgets-select.mjs.map +1 -0
- package/fesm2022/latitude-ui-widgets-switch.mjs +37 -0
- package/fesm2022/latitude-ui-widgets-switch.mjs.map +1 -0
- package/fesm2022/latitude-ui-widgets-textbox-number.mjs +168 -0
- package/fesm2022/latitude-ui-widgets-textbox-number.mjs.map +1 -0
- package/fesm2022/latitude-ui-widgets-textbox.mjs +62 -0
- package/fesm2022/latitude-ui-widgets-textbox.mjs.map +1 -0
- package/fesm2022/latitude-ui-widgets-toolbar.mjs +20 -0
- package/fesm2022/latitude-ui-widgets-toolbar.mjs.map +1 -0
- package/fesm2022/latitude-ui-widgets.mjs +6 -0
- package/fesm2022/latitude-ui-widgets.mjs.map +1 -0
- package/icons/index.d.ts +19 -0
- package/index.d.ts +2 -0
- package/input/index.d.ts +116 -0
- package/listbox/index.d.ts +23 -0
- package/package.json +30 -45
- package/select/index.d.ts +74 -0
- package/switch/{src/switch.component.d.ts → index.d.ts} +6 -3
- package/textbox/index.d.ts +26 -0
- package/textbox-number/index.d.ts +44 -0
- package/toolbar/{src/toolbar.component.d.ts → index.d.ts} +5 -2
- package/button/latitude-ui-widgets-button.d.ts +0 -5
- package/button/public-api.d.ts +0 -2
- package/button/src/button.component.d.ts +0 -14
- package/button/src/button.types.d.ts +0 -2
- package/checkbox/latitude-ui-widgets-checkbox.d.ts +0 -5
- package/checkbox/public-api.d.ts +0 -1
- package/combobox/latitude-ui-widgets-combobox.d.ts +0 -5
- package/combobox/public-api.d.ts +0 -2
- package/core/latitude-ui-widgets-core.d.ts +0 -5
- package/core/public-api.d.ts +0 -6
- package/core/src/dimensions.d.ts +0 -13
- package/core/src/illegal.d.ts +0 -2
- package/core/src/listeners.d.ts +0 -8
- package/core/src/noop.d.ts +0 -1
- package/core/src/root.d.ts +0 -12
- package/core/src/uid.d.ts +0 -1
- package/esm2022/button/latitude-ui-widgets-button.js +0 -5
- package/esm2022/button/public-api.js +0 -3
- package/esm2022/button/src/button.component.js +0 -44
- package/esm2022/button/src/button.types.js +0 -1
- package/esm2022/checkbox/latitude-ui-widgets-checkbox.js +0 -5
- package/esm2022/checkbox/public-api.js +0 -2
- package/esm2022/checkbox/src/checkbox.component.js +0 -33
- package/esm2022/combobox/latitude-ui-widgets-combobox.js +0 -5
- package/esm2022/combobox/public-api.js +0 -2
- package/esm2022/core/latitude-ui-widgets-core.js +0 -5
- package/esm2022/core/public-api.js +0 -7
- package/esm2022/core/src/dimensions.js +0 -56
- package/esm2022/core/src/illegal.js +0 -5
- package/esm2022/core/src/listeners.js +0 -32
- package/esm2022/core/src/noop.js +0 -3
- package/esm2022/core/src/root.js +0 -20
- package/esm2022/core/src/uid.js +0 -4
- package/esm2022/icons/latitude-ui-widgets-icons.js +0 -5
- package/esm2022/icons/public-api.js +0 -3
- package/esm2022/icons/src/icon.component.js +0 -35
- package/esm2022/icons/src/icon.service.js +0 -62
- package/esm2022/icons/src/icon.tokens.js +0 -19
- package/esm2022/input/latitude-ui-widgets-input.js +0 -5
- package/esm2022/input/public-api.js +0 -6
- package/esm2022/input/src/input-error/i18n/en.js +0 -9
- package/esm2022/input/src/input-error/i18n/ru.js +0 -9
- package/esm2022/input/src/input-error/input-error.component.js +0 -22
- package/esm2022/input/src/input-error/input-error.i18n.js +0 -65
- package/esm2022/input/src/input-label/input-label.component.js +0 -20
- package/esm2022/input/src/input.component.js +0 -44
- package/esm2022/input/src/input.directive.js +0 -116
- package/esm2022/input/src/input.module.js +0 -9
- package/esm2022/input/src/input.types.js +0 -1
- package/esm2022/latitude-ui-widgets.js +0 -5
- package/esm2022/listbox/latitude-ui-widgets-listbox.js +0 -5
- package/esm2022/listbox/public-api.js +0 -4
- package/esm2022/listbox/src/listbox-option.component.js +0 -49
- package/esm2022/listbox/src/listbox.component.js +0 -14
- package/esm2022/listbox/src/listbox.module.js +0 -7
- package/esm2022/lookup/latitude-ui-widgets-lookup.js +0 -5
- package/esm2022/lookup/public-api.js +0 -3
- package/esm2022/lookup/src/lookup-outlet.directive.js +0 -13
- package/esm2022/lookup/src/lookup.component.js +0 -11
- package/esm2022/public-api.js +0 -2
- package/esm2022/select/latitude-ui-widgets-select.js +0 -5
- package/esm2022/select/public-api.js +0 -7
- package/esm2022/select/src/select/select.directive.js +0 -86
- package/esm2022/select/src/select-dropdown/select-dropdown.component.js +0 -39
- package/esm2022/select/src/select-multiple.component.js +0 -60
- package/esm2022/select/src/select-option/select-option.component.js +0 -21
- package/esm2022/select/src/select-option/select-option.directive.js +0 -19
- package/esm2022/select/src/select-single.component.js +0 -51
- package/esm2022/select/src/select-trigger/select-trigger.component.js +0 -29
- package/esm2022/select/src/select-value/select-value.component.js +0 -15
- package/esm2022/select/src/select-values/select-values.component.js +0 -16
- package/esm2022/select/src/select.module.js +0 -9
- package/esm2022/switch/latitude-ui-widgets-switch.js +0 -5
- package/esm2022/switch/public-api.js +0 -2
- package/esm2022/switch/src/switch.component.js +0 -30
- package/esm2022/textarea/latitude-ui-widgets-textarea.js +0 -5
- package/esm2022/textarea/public-api.js +0 -2
- package/esm2022/textarea/src/textarea.component.js +0 -26
- package/esm2022/textbox/latitude-ui-widgets-textbox.js +0 -5
- package/esm2022/textbox/public-api.js +0 -3
- package/esm2022/textbox/src/textbox.component.js +0 -25
- package/esm2022/textbox/src/textbox.directive.js +0 -25
- package/esm2022/textbox-number/latitude-ui-widgets-textbox-number.js +0 -5
- package/esm2022/textbox-number/public-api.js +0 -2
- package/esm2022/textbox-number/src/spinners.component.js +0 -22
- package/esm2022/textbox-number/src/textbox-number.component.js +0 -136
- package/esm2022/textbox-search/latitude-ui-widgets-textbox-search.js +0 -5
- package/esm2022/textbox-search/public-api.js +0 -2
- package/esm2022/textbox-search/src/textbox-search.component.js +0 -41
- package/esm2022/toolbar/latitude-ui-widgets-toolbar.js +0 -5
- package/esm2022/toolbar/public-api.js +0 -2
- package/esm2022/toolbar/src/toolbar.component.js +0 -14
- package/icons/latitude-ui-widgets-icons.d.ts +0 -5
- package/icons/public-api.d.ts +0 -2
- package/icons/src/icon.component.d.ts +0 -11
- package/icons/src/icon.service.d.ts +0 -15
- package/icons/src/icon.tokens.d.ts +0 -4
- package/input/latitude-ui-widgets-input.d.ts +0 -5
- package/input/public-api.d.ts +0 -5
- package/input/src/input-error/i18n/en.d.ts +0 -9
- package/input/src/input-error/i18n/ru.d.ts +0 -9
- package/input/src/input-error/input-error.component.d.ts +0 -9
- package/input/src/input-error/input-error.i18n.d.ts +0 -28
- package/input/src/input-label/input-label.component.d.ts +0 -11
- package/input/src/input.component.d.ts +0 -28
- package/input/src/input.directive.d.ts +0 -62
- package/input/src/input.module.d.ts +0 -4
- package/input/src/input.types.d.ts +0 -1
- package/latitude-ui-widgets.d.ts +0 -5
- package/listbox/latitude-ui-widgets-listbox.d.ts +0 -5
- package/listbox/public-api.d.ts +0 -3
- package/listbox/src/listbox-option.component.d.ts +0 -17
- package/listbox/src/listbox.component.d.ts +0 -5
- package/listbox/src/listbox.module.d.ts +0 -3
- package/lookup/README.md +0 -3
- package/lookup/latitude-ui-widgets-lookup.d.ts +0 -5
- package/lookup/public-api.d.ts +0 -2
- package/lookup/src/lookup-outlet.directive.d.ts +0 -5
- package/lookup/src/lookup.component.d.ts +0 -5
- package/public-api.d.ts +0 -2
- package/select/latitude-ui-widgets-select.d.ts +0 -5
- package/select/public-api.d.ts +0 -6
- package/select/src/select/select.directive.d.ts +0 -24
- package/select/src/select-dropdown/select-dropdown.component.d.ts +0 -14
- package/select/src/select-multiple.component.d.ts +0 -10
- package/select/src/select-option/select-option.component.d.ts +0 -10
- package/select/src/select-option/select-option.directive.d.ts +0 -14
- package/select/src/select-single.component.d.ts +0 -10
- package/select/src/select-trigger/select-trigger.component.d.ts +0 -9
- package/select/src/select-value/select-value.component.d.ts +0 -7
- package/select/src/select-values/select-values.component.d.ts +0 -7
- package/select/src/select.module.d.ts +0 -4
- package/styles/_colors.scss +0 -99
- package/styles/_defaults.scss +0 -135
- package/styles/_index.scss +0 -11
- package/styles/_typography.scss +0 -37
- package/styles/button/_index.scss +0 -199
- package/styles/forms/_index.scss +0 -867
- package/styles/icons/_index.scss +0 -34
- package/styles/list/_index.scss +0 -0
- package/styles/listbox/_index.scss +0 -30
- package/switch/latitude-ui-widgets-switch.d.ts +0 -5
- package/switch/public-api.d.ts +0 -1
- package/textarea/latitude-ui-widgets-textarea.d.ts +0 -5
- package/textarea/public-api.d.ts +0 -1
- package/textarea/src/textarea.component.d.ts +0 -9
- package/textbox/latitude-ui-widgets-textbox.d.ts +0 -5
- package/textbox/public-api.d.ts +0 -2
- package/textbox/src/textbox.component.d.ts +0 -8
- package/textbox/src/textbox.directive.d.ts +0 -12
- package/textbox-number/latitude-ui-widgets-textbox-number.d.ts +0 -5
- package/textbox-number/public-api.d.ts +0 -1
- package/textbox-number/src/spinners.component.d.ts +0 -8
- package/textbox-number/src/textbox-number.component.d.ts +0 -36
- package/textbox-search/latitude-ui-widgets-textbox-search.d.ts +0 -5
- package/textbox-search/public-api.d.ts +0 -1
- package/textbox-search/src/textbox-search.component.d.ts +0 -15
- package/toolbar/latitude-ui-widgets-toolbar.d.ts +0 -5
- package/toolbar/public-api.d.ts +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"latitude-ui-widgets-switch.mjs","sources":["../tmp-esm2022/switch/src/switch.component.js","../tmp-esm2022/switch/latitude-ui-widgets-switch.js"],"sourcesContent":["import { ChangeDetectionStrategy, Component, forwardRef, ViewEncapsulation } from '@angular/core';\nimport { BuildInInputValueAccessor } from '@latitude-ui/widgets/input';\nimport * as i0 from \"@angular/core\";\nexport class SwitchComponent extends BuildInInputValueAccessor {\n toggle() {\n if (!this.disabled()) {\n const value = this.value() ?? false;\n this.writeValue(!value);\n }\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.6\", ngImport: i0, type: SwitchComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.0.6\", type: SwitchComponent, isStandalone: true, selector: \"lat-switch\", host: { listeners: { \"click\": \"toggle()\" } }, providers: [\n {\n provide: BuildInInputValueAccessor,\n useExisting: forwardRef(() => SwitchComponent),\n },\n ], exportAs: [\"latSwitch\"], usesInheritance: true, ngImport: i0, template: \"<button\\r\\n type=\\\"button\\\"\\r\\n role=\\\"switch\\\"\\r\\n [attr.id]=\\\"inputId()\\\"\\r\\n [attr.value]=\\\"value() ? 'on' : 'off'\\\"\\r\\n [attr.tabindex]=\\\"disabled() ? -1 : tabindex()\\\"\\r\\n [attr.disabled]=\\\"disabled() || undefined\\\"\\r\\n [attr.aria-checked]=\\\"value() || false\\\"\\r\\n>\\r\\n <div\\r\\n role=\\\"presentation\\\"\\r\\n class=\\\"lat-switch-thumb\\\"\\r\\n ></div>\\r\\n</button>\\r\\n<ng-content/>\\r\\n\", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.6\", ngImport: i0, type: SwitchComponent, decorators: [{\n type: Component,\n args: [{ exportAs: 'latSwitch', selector: 'lat-switch', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [\n {\n provide: BuildInInputValueAccessor,\n useExisting: forwardRef(() => SwitchComponent),\n },\n ], host: {\n '(click)': 'toggle()',\n }, template: \"<button\\r\\n type=\\\"button\\\"\\r\\n role=\\\"switch\\\"\\r\\n [attr.id]=\\\"inputId()\\\"\\r\\n [attr.value]=\\\"value() ? 'on' : 'off'\\\"\\r\\n [attr.tabindex]=\\\"disabled() ? -1 : tabindex()\\\"\\r\\n [attr.disabled]=\\\"disabled() || undefined\\\"\\r\\n [attr.aria-checked]=\\\"value() || false\\\"\\r\\n>\\r\\n <div\\r\\n role=\\\"presentation\\\"\\r\\n class=\\\"lat-switch-thumb\\\"\\r\\n ></div>\\r\\n</button>\\r\\n<ng-content/>\\r\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpdGNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3dpZGdldHMvc3dpdGNoL3NyYy9zd2l0Y2guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvd2lkZ2V0cy9zd2l0Y2gvc3JjL3N3aXRjaC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFrQnZFLE1BQU0sT0FBTyxlQUFnQixTQUFRLHlCQUFrQztJQUM5RCxNQUFNO1FBQ1gsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDO1lBQ3JCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxLQUFLLENBQUM7WUFFcEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFCLENBQUM7SUFDSCxDQUFDO3VHQVBVLGVBQWU7MkZBQWYsZUFBZSx1R0FWZjtZQUNUO2dCQUNFLE9BQU8sRUFBRSx5QkFBeUI7Z0JBQ2xDLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsZUFBZSxDQUFDO2FBQy9DO1NBQ0YsMEVDZEgsK1lBZUE7OzJGRElhLGVBQWU7a0JBaEIzQixTQUFTOytCQUNFLFdBQVcsWUFDWCxZQUFZLGlCQUVQLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLHlCQUF5Qjs0QkFDbEMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsZ0JBQWdCLENBQUM7eUJBQy9DO3FCQUNGLFFBQ0s7d0JBQ0osU0FBUyxFQUFFLFVBQVU7cUJBQ3RCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgZm9yd2FyZFJlZiwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJ1aWxkSW5JbnB1dFZhbHVlQWNjZXNzb3IgfSBmcm9tICdAbGF0aXR1ZGUtdWkvd2lkZ2V0cy9pbnB1dCc7XG5cbkBDb21wb25lbnQoe1xuICBleHBvcnRBczogJ2xhdFN3aXRjaCcsXG4gIHNlbGVjdG9yOiAnbGF0LXN3aXRjaCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zd2l0Y2guY29tcG9uZW50Lmh0bWwnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogQnVpbGRJbklucHV0VmFsdWVBY2Nlc3NvcixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFN3aXRjaENvbXBvbmVudCksXG4gICAgfSxcbiAgXSxcbiAgaG9zdDoge1xuICAgICcoY2xpY2spJzogJ3RvZ2dsZSgpJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgU3dpdGNoQ29tcG9uZW50IGV4dGVuZHMgQnVpbGRJbklucHV0VmFsdWVBY2Nlc3Nvcjxib29sZWFuPiB7XG4gIHB1YmxpYyB0b2dnbGUoKSB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKCkpIHtcbiAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy52YWx1ZSgpID8/IGZhbHNlO1xuXG4gICAgICB0aGlzLndyaXRlVmFsdWUoIXZhbHVlKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxidXR0b25cclxuICB0eXBlPVwiYnV0dG9uXCJcclxuICByb2xlPVwic3dpdGNoXCJcclxuICBbYXR0ci5pZF09XCJpbnB1dElkKClcIlxyXG4gIFthdHRyLnZhbHVlXT1cInZhbHVlKCkgPyAnb24nIDogJ29mZidcIlxyXG4gIFthdHRyLnRhYmluZGV4XT1cImRpc2FibGVkKCkgPyAtMSA6IHRhYmluZGV4KClcIlxyXG4gIFthdHRyLmRpc2FibGVkXT1cImRpc2FibGVkKCkgfHwgdW5kZWZpbmVkXCJcclxuICBbYXR0ci5hcmlhLWNoZWNrZWRdPVwidmFsdWUoKSB8fCBmYWxzZVwiXHJcbj5cclxuICA8ZGl2XHJcbiAgICByb2xlPVwicHJlc2VudGF0aW9uXCJcclxuICAgIGNsYXNzPVwibGF0LXN3aXRjaC10aHVtYlwiXHJcbiAgPjwvZGl2PlxyXG48L2J1dHRvbj5cclxuPG5nLWNvbnRlbnQvPlxyXG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './public-api';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF0aXR1ZGUtdWktd2lkZ2V0cy1zd2l0Y2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy93aWRnZXRzL3N3aXRjaC9sYXRpdHVkZS11aS13aWRnZXRzLXN3aXRjaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19"],"names":[],"mappings":";;;;AAGO,MAAM,eAAe,SAAS,yBAAyB,CAAC;AAC/D,IAAI,MAAM,GAAG;AACb,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE;AAC9B,YAAY,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,KAAK;AAC/C,YAAY,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC;AACnC;AACA;AACA,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC;AAC3K,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,SAAS,EAAE;AACjN,YAAY;AACZ,gBAAgB,OAAO,EAAE,yBAAyB;AAClD,gBAAgB,WAAW,EAAE,UAAU,CAAC,MAAM,eAAe,CAAC;AAC9D,aAAa;AACb,SAAS,EAAE,QAAQ,EAAE,CAAC,WAAW,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,+YAA+Y,EAAE,eAAe,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;AACnkB;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,UAAU,EAAE,CAAC;AACzH,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,iBAAiB,CAAC,IAAI,EAAE,eAAe,EAAE,uBAAuB,CAAC,MAAM,EAAE,SAAS,EAAE;AACvK,wBAAwB;AACxB,4BAA4B,OAAO,EAAE,yBAAyB;AAC9D,4BAA4B,WAAW,EAAE,UAAU,CAAC,MAAM,eAAe,CAAC;AAC1E,yBAAyB;AACzB,qBAAqB,EAAE,IAAI,EAAE;AAC7B,wBAAwB,SAAS,EAAE,UAAU;AAC7C,qBAAqB,EAAE,QAAQ,EAAE,+YAA+Y,EAAE;AAClb,SAAS,CAAC,EAAE,CAAC;;AC5Bb;AACA;AACA;;;;"}
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { inject, ChangeDetectionStrategy, ViewEncapsulation, Component, input, numberAttribute, computed, effect, forwardRef } from '@angular/core';
|
|
3
|
+
import { Maskito, maskitoInitialCalibrationPlugin } from '@maskito/core';
|
|
4
|
+
import { maskitoNumberOptionsGenerator, maskitoStringifyNumber, maskitoParseNumber } from '@maskito/kit';
|
|
5
|
+
import { BuildInInputValueAccessor } from '@latitude-ui/widgets/input';
|
|
6
|
+
import { TextBoxDirective } from '@latitude-ui/widgets/textbox';
|
|
7
|
+
import { ButtonComponent } from '@latitude-ui/widgets/button';
|
|
8
|
+
import { IconComponent } from '@latitude-ui/widgets/icons';
|
|
9
|
+
|
|
10
|
+
class SpinnersComponent {
|
|
11
|
+
textbox = inject(TextBoxNumberComponent);
|
|
12
|
+
handleValueChanged(dir) {
|
|
13
|
+
const value = (this.textbox.value() ?? 0) + (this.textbox.step() ?? 0) * (dir ? 1 : -1);
|
|
14
|
+
if (value < this.textbox.minvalue() || value > this.textbox.maxvalue()) {
|
|
15
|
+
return void 0;
|
|
16
|
+
}
|
|
17
|
+
const factor = Math.pow(10, this.textbox.decimals());
|
|
18
|
+
this.textbox.writeValue(Math.round(value * factor) / factor);
|
|
19
|
+
}
|
|
20
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SpinnersComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
21
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.6", type: SpinnersComponent, isStandalone: true, selector: "lat-spinners", exportAs: ["latSpinners"], ngImport: i0, template: "<lat-button tabindex=\"-1\" variant=\"subtle\" [size]=\"textbox.size()\" [disabled]=\"textbox.disabled()\" (click)=\"handleValueChanged(true)\">\r\n <lat-icon name=\"chevron-up\" />\r\n</lat-button>\r\n<lat-button tabindex=\"-1\" variant=\"subtle\" [size]=\"textbox.size()\" [disabled]=\"textbox.disabled()\" (click)=\"handleValueChanged(false)\">\r\n <lat-icon name=\"chevron-down\" />\r\n</lat-button>\r\n", dependencies: [{ kind: "component", type: ButtonComponent, selector: "lat-button", inputs: ["size", "variant", "tabindex", "disabled"], exportAs: ["latButton"] }, { kind: "component", type: IconComponent, selector: "lat-icon", inputs: ["url", "name"], exportAs: ["latIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
22
|
+
}
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SpinnersComponent, decorators: [{
|
|
24
|
+
type: Component,
|
|
25
|
+
args: [{ exportAs: 'latSpinners', selector: 'lat-spinners', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [ButtonComponent, IconComponent], template: "<lat-button tabindex=\"-1\" variant=\"subtle\" [size]=\"textbox.size()\" [disabled]=\"textbox.disabled()\" (click)=\"handleValueChanged(true)\">\r\n <lat-icon name=\"chevron-up\" />\r\n</lat-button>\r\n<lat-button tabindex=\"-1\" variant=\"subtle\" [size]=\"textbox.size()\" [disabled]=\"textbox.disabled()\" (click)=\"handleValueChanged(false)\">\r\n <lat-icon name=\"chevron-down\" />\r\n</lat-button>\r\n" }]
|
|
26
|
+
}] });
|
|
27
|
+
|
|
28
|
+
class TextBoxNumberComponent extends TextBoxDirective {
|
|
29
|
+
max = input(undefined, { transform: numberAttribute });
|
|
30
|
+
min = input(undefined, { transform: numberAttribute });
|
|
31
|
+
step = input(undefined, { transform: numberAttribute });
|
|
32
|
+
decimals = input(2);
|
|
33
|
+
decimalMode = input('not-zero');
|
|
34
|
+
decimalSeparator = input(',');
|
|
35
|
+
thousandSeparator = input('');
|
|
36
|
+
maxvalue = computed(() => this.max() ?? Number.MAX_SAFE_INTEGER);
|
|
37
|
+
minvalue = computed(() => this.min() ?? Number.MIN_SAFE_INTEGER);
|
|
38
|
+
nowvalue = computed(() => this.value() || 0);
|
|
39
|
+
maxlength = computed(() => {
|
|
40
|
+
const { decimalSeparator, thousandSeparator } = this.maskitoNumberParams();
|
|
41
|
+
const decimals = this.decimals();
|
|
42
|
+
const mantissa = decimals && this.valueAsString().includes(decimalSeparator);
|
|
43
|
+
const precision = mantissa ? Math.min(decimals + 1, 20) : 0;
|
|
44
|
+
const thousand = thousandSeparator.repeat(5).length;
|
|
45
|
+
return 18 + precision + thousand;
|
|
46
|
+
});
|
|
47
|
+
maskitoNumberParams = computed(() => {
|
|
48
|
+
const decimalMode = this.decimalMode();
|
|
49
|
+
return {
|
|
50
|
+
max: this.maxvalue(),
|
|
51
|
+
min: this.minvalue(),
|
|
52
|
+
minusSign: '-',
|
|
53
|
+
precision: this.decimals(),
|
|
54
|
+
decimalZeroPadding: decimalMode === 'always',
|
|
55
|
+
decimalSeparator: this.decimalSeparator(),
|
|
56
|
+
thousandSeparator: this.thousandSeparator(),
|
|
57
|
+
};
|
|
58
|
+
});
|
|
59
|
+
constructor() {
|
|
60
|
+
super();
|
|
61
|
+
effect((onCleanup) => {
|
|
62
|
+
const el = this.el();
|
|
63
|
+
const formatter = this.maskitoNumberParams();
|
|
64
|
+
const { plugins, ...options } = maskitoNumberOptionsGenerator(formatter);
|
|
65
|
+
const instance = new Maskito(el.nativeElement, {
|
|
66
|
+
...options,
|
|
67
|
+
plugins: [
|
|
68
|
+
...plugins,
|
|
69
|
+
maskitoInitialCalibrationPlugin(maskitoNumberOptionsGenerator({
|
|
70
|
+
...formatter,
|
|
71
|
+
min: Number.MIN_SAFE_INTEGER,
|
|
72
|
+
max: Number.MAX_SAFE_INTEGER,
|
|
73
|
+
})),
|
|
74
|
+
],
|
|
75
|
+
});
|
|
76
|
+
onCleanup(() => instance.destroy());
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
/** @internal */
|
|
80
|
+
_valueStringify(valueAsString) {
|
|
81
|
+
const value = this.parseNumber(valueAsString);
|
|
82
|
+
if (value === null) {
|
|
83
|
+
return '';
|
|
84
|
+
}
|
|
85
|
+
return maskitoStringifyNumber(value, this.maskitoNumberParams());
|
|
86
|
+
}
|
|
87
|
+
/** @internal */
|
|
88
|
+
valueSimplify(value) {
|
|
89
|
+
const decimalSeparator = new RegExp(this.decimalSeparator(), 'gi');
|
|
90
|
+
const thousandSeparator = new RegExp(this.thousandSeparator(), 'gi');
|
|
91
|
+
return value.replace(thousandSeparator, '').replace(decimalSeparator, '.');
|
|
92
|
+
}
|
|
93
|
+
/** @internal */
|
|
94
|
+
valueUnsettled(value) {
|
|
95
|
+
return !!(value === '-' ||
|
|
96
|
+
value.match(/^\s*([-+])?\d+\.$/) ||
|
|
97
|
+
value.match(/^\s*([-+])?\d+\.[0-9]*0$/) ||
|
|
98
|
+
value.match(/^\s*([-+])0+$/));
|
|
99
|
+
}
|
|
100
|
+
/** @internal */
|
|
101
|
+
parseNumber(value) {
|
|
102
|
+
let valueAsNumber = null;
|
|
103
|
+
if (typeof value === 'number') {
|
|
104
|
+
valueAsNumber = value;
|
|
105
|
+
}
|
|
106
|
+
else if (typeof value === 'string') {
|
|
107
|
+
valueAsNumber = Number.parseFloat(value);
|
|
108
|
+
}
|
|
109
|
+
if (Number.isNaN(value)) {
|
|
110
|
+
return null;
|
|
111
|
+
}
|
|
112
|
+
return valueAsNumber;
|
|
113
|
+
}
|
|
114
|
+
/** @internal */
|
|
115
|
+
handleValueChanged() {
|
|
116
|
+
const input = this.el();
|
|
117
|
+
const valueAsString = this.valueSimplify(input.nativeElement.value);
|
|
118
|
+
if (this.valueUnsettled(valueAsString)) {
|
|
119
|
+
return this.valueAsString.update(() => input.nativeElement.value);
|
|
120
|
+
}
|
|
121
|
+
const value = this.parseNumber(valueAsString);
|
|
122
|
+
if (value === null) {
|
|
123
|
+
return this.writeValue(value);
|
|
124
|
+
}
|
|
125
|
+
if (value < this.minvalue() || value > this.maxvalue()) {
|
|
126
|
+
return void 0;
|
|
127
|
+
}
|
|
128
|
+
this.writeValue(value);
|
|
129
|
+
}
|
|
130
|
+
/** @internal */
|
|
131
|
+
handleFocusEvent() {
|
|
132
|
+
const value = maskitoParseNumber(this.valueAsString(), this.decimalSeparator());
|
|
133
|
+
if (Number.isNaN(value) && !this.readonly()) {
|
|
134
|
+
this.valueAsString.set('');
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
/** @internal */
|
|
138
|
+
handleBlurEvent() {
|
|
139
|
+
this.markAsTouched();
|
|
140
|
+
const valueAsString = this.valueSimplify(this.valueAsString());
|
|
141
|
+
if (this.valueUnsettled(valueAsString)) {
|
|
142
|
+
this.valueAsString.update(() => this._valueStringify(this.value()));
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: TextBoxNumberComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
146
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", 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: [
|
|
147
|
+
{
|
|
148
|
+
provide: BuildInInputValueAccessor,
|
|
149
|
+
useExisting: forwardRef(() => TextBoxNumberComponent),
|
|
150
|
+
},
|
|
151
|
+
], exportAs: ["latTextBox"], usesInheritance: true, ngImport: i0, template: "<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]=\"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]=\"maxvalue()\"\r\n [attr.aria-valuemin]=\"minvalue()\"\r\n [attr.aria-valuenow]=\"nowvalue()\"\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)=\"handleValueChanged()\"\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 });
|
|
152
|
+
}
|
|
153
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: TextBoxNumberComponent, decorators: [{
|
|
154
|
+
type: Component,
|
|
155
|
+
args: [{ imports: [SpinnersComponent], exportAs: 'latTextBox', selector: 'lat-textbox[type="number"]', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
156
|
+
{
|
|
157
|
+
provide: BuildInInputValueAccessor,
|
|
158
|
+
useExisting: forwardRef(() => TextBoxNumberComponent),
|
|
159
|
+
},
|
|
160
|
+
], template: "<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]=\"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]=\"maxvalue()\"\r\n [attr.aria-valuemin]=\"minvalue()\"\r\n [attr.aria-valuenow]=\"nowvalue()\"\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)=\"handleValueChanged()\"\r\n/>\r\n\r\n@if (step() && !readonly()) {\r\n <lat-spinners />\r\n}\r\n" }]
|
|
161
|
+
}], ctorParameters: () => [] });
|
|
162
|
+
|
|
163
|
+
/**
|
|
164
|
+
* Generated bundle index. Do not edit.
|
|
165
|
+
*/
|
|
166
|
+
|
|
167
|
+
export { TextBoxNumberComponent };
|
|
168
|
+
//# sourceMappingURL=latitude-ui-widgets-textbox-number.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"latitude-ui-widgets-textbox-number.mjs","sources":["../tmp-esm2022/textbox-number/src/spinners.component.js","../tmp-esm2022/textbox-number/src/textbox-number.component.js","../tmp-esm2022/textbox-number/latitude-ui-widgets-textbox-number.js"],"sourcesContent":["import { ChangeDetectionStrategy, Component, inject, ViewEncapsulation } from '@angular/core';\nimport { ButtonComponent } from '@latitude-ui/widgets/button';\nimport { IconComponent } from '@latitude-ui/widgets/icons';\nimport { TextBoxNumberComponent } from './textbox-number.component';\nimport * as i0 from \"@angular/core\";\nexport class SpinnersComponent {\n textbox = inject(TextBoxNumberComponent);\n handleValueChanged(dir) {\n const value = (this.textbox.value() ?? 0) + (this.textbox.step() ?? 0) * (dir ? 1 : -1);\n if (value < this.textbox.minvalue() || value > this.textbox.maxvalue()) {\n return void 0;\n }\n const factor = Math.pow(10, this.textbox.decimals());\n this.textbox.writeValue(Math.round(value * factor) / factor);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.6\", ngImport: i0, type: SpinnersComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.0.6\", type: SpinnersComponent, isStandalone: true, selector: \"lat-spinners\", exportAs: [\"latSpinners\"], ngImport: i0, template: \"<lat-button tabindex=\\\"-1\\\" variant=\\\"subtle\\\" [size]=\\\"textbox.size()\\\" [disabled]=\\\"textbox.disabled()\\\" (click)=\\\"handleValueChanged(true)\\\">\\r\\n <lat-icon name=\\\"chevron-up\\\" />\\r\\n</lat-button>\\r\\n<lat-button tabindex=\\\"-1\\\" variant=\\\"subtle\\\" [size]=\\\"textbox.size()\\\" [disabled]=\\\"textbox.disabled()\\\" (click)=\\\"handleValueChanged(false)\\\">\\r\\n <lat-icon name=\\\"chevron-down\\\" />\\r\\n</lat-button>\\r\\n\", dependencies: [{ kind: \"component\", type: ButtonComponent, selector: \"lat-button\", inputs: [\"size\", \"variant\", \"tabindex\", \"disabled\"], exportAs: [\"latButton\"] }, { kind: \"component\", type: IconComponent, selector: \"lat-icon\", inputs: [\"url\", \"name\"], exportAs: [\"latIcon\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.6\", ngImport: i0, type: SpinnersComponent, decorators: [{\n type: Component,\n args: [{ exportAs: 'latSpinners', selector: 'lat-spinners', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [ButtonComponent, IconComponent], template: \"<lat-button tabindex=\\\"-1\\\" variant=\\\"subtle\\\" [size]=\\\"textbox.size()\\\" [disabled]=\\\"textbox.disabled()\\\" (click)=\\\"handleValueChanged(true)\\\">\\r\\n <lat-icon name=\\\"chevron-up\\\" />\\r\\n</lat-button>\\r\\n<lat-button tabindex=\\\"-1\\\" variant=\\\"subtle\\\" [size]=\\\"textbox.size()\\\" [disabled]=\\\"textbox.disabled()\\\" (click)=\\\"handleValueChanged(false)\\\">\\r\\n <lat-icon name=\\\"chevron-down\\\" />\\r\\n</lat-button>\\r\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Bpbm5lcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvd2lkZ2V0cy90ZXh0Ym94LW51bWJlci9zcmMvc3Bpbm5lcnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvd2lkZ2V0cy90ZXh0Ym94LW51bWJlci9zcmMvc3Bpbm5lcnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzlELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFVcEUsTUFBTSxPQUFPLGlCQUFpQjtJQUNaLE9BQU8sR0FBRyxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUUvQyxrQkFBa0IsQ0FBQyxHQUFZO1FBQ3ZDLE1BQU0sS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUV4RixJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUM7WUFDdkUsT0FBTyxLQUFLLENBQUMsQ0FBQztRQUNoQixDQUFDO1FBRUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBRXJELElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUNyQixJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsR0FBRyxNQUFNLENBQ3BDLENBQUM7SUFDSixDQUFDO3VHQWZVLGlCQUFpQjsyRkFBakIsaUJBQWlCLG1HQ2Y5QiwyWkFNQSw0Q0RPWSxlQUFlLHFJQUFFLGFBQWE7OzJGQUU3QixpQkFBaUI7a0JBUjdCLFNBQVM7K0JBQ0UsYUFBYSxZQUNiLGNBQWMsaUJBRVQsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxXQUN0QyxDQUFDLGVBQWUsRUFBRSxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3QsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICdAbGF0aXR1ZGUtdWkvd2lkZ2V0cy9idXR0b24nO1xyXG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnQGxhdGl0dWRlLXVpL3dpZGdldHMvaWNvbnMnO1xyXG5cclxuaW1wb3J0IHsgVGV4dEJveE51bWJlckNvbXBvbmVudCB9IGZyb20gJy4vdGV4dGJveC1udW1iZXIuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIGV4cG9ydEFzOiAnbGF0U3Bpbm5lcnMnLFxyXG4gIHNlbGVjdG9yOiAnbGF0LXNwaW5uZXJzJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc3Bpbm5lcnMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgaW1wb3J0czogW0J1dHRvbkNvbXBvbmVudCwgSWNvbkNvbXBvbmVudF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTcGlubmVyc0NvbXBvbmVudCB7XHJcbiAgcHVibGljIHJlYWRvbmx5IHRleHRib3ggPSBpbmplY3QoVGV4dEJveE51bWJlckNvbXBvbmVudCk7XHJcblxyXG4gIHByb3RlY3RlZCBoYW5kbGVWYWx1ZUNoYW5nZWQoZGlyOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICBjb25zdCB2YWx1ZSA9ICh0aGlzLnRleHRib3gudmFsdWUoKSA/PyAwKSArICh0aGlzLnRleHRib3guc3RlcCgpID8/IDApICogKGRpciA/IDEgOiAtMSk7XHJcblxyXG4gICAgaWYgKHZhbHVlIDwgdGhpcy50ZXh0Ym94Lm1pbnZhbHVlKCkgfHwgdmFsdWUgPiB0aGlzLnRleHRib3gubWF4dmFsdWUoKSkge1xyXG4gICAgICByZXR1cm4gdm9pZCAwO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGZhY3RvciA9IE1hdGgucG93KDEwLCB0aGlzLnRleHRib3guZGVjaW1hbHMoKSk7XHJcblxyXG4gICAgdGhpcy50ZXh0Ym94LndyaXRlVmFsdWUoXHJcbiAgICAgIE1hdGgucm91bmQodmFsdWUgKiBmYWN0b3IpIC8gZmFjdG9yXHJcbiAgICApO1xyXG4gIH1cclxufVxyXG4iLCI8bGF0LWJ1dHRvbiB0YWJpbmRleD1cIi0xXCIgdmFyaWFudD1cInN1YnRsZVwiIFtzaXplXT1cInRleHRib3guc2l6ZSgpXCIgW2Rpc2FibGVkXT1cInRleHRib3guZGlzYWJsZWQoKVwiIChjbGljayk9XCJoYW5kbGVWYWx1ZUNoYW5nZWQodHJ1ZSlcIj5cclxuICA8bGF0LWljb24gbmFtZT1cImNoZXZyb24tdXBcIiAvPlxyXG48L2xhdC1idXR0b24+XHJcbjxsYXQtYnV0dG9uIHRhYmluZGV4PVwiLTFcIiB2YXJpYW50PVwic3VidGxlXCIgW3NpemVdPVwidGV4dGJveC5zaXplKClcIiBbZGlzYWJsZWRdPVwidGV4dGJveC5kaXNhYmxlZCgpXCIgKGNsaWNrKT1cImhhbmRsZVZhbHVlQ2hhbmdlZChmYWxzZSlcIj5cclxuICA8bGF0LWljb24gbmFtZT1cImNoZXZyb24tZG93blwiIC8+XHJcbjwvbGF0LWJ1dHRvbj5cclxuIl19","import { ChangeDetectionStrategy, Component, computed, effect, forwardRef, input, numberAttribute, ViewEncapsulation, } from '@angular/core';\nimport { Maskito, maskitoInitialCalibrationPlugin } from '@maskito/core';\nimport { maskitoNumberOptionsGenerator, maskitoParseNumber, maskitoStringifyNumber } from '@maskito/kit';\nimport { BuildInInputValueAccessor } from '@latitude-ui/widgets/input';\nimport { TextBoxDirective } from '@latitude-ui/widgets/textbox';\nimport { SpinnersComponent } from './spinners.component';\nimport * as i0 from \"@angular/core\";\nexport class TextBoxNumberComponent extends TextBoxDirective {\n max = input(undefined, { transform: numberAttribute });\n min = input(undefined, { transform: numberAttribute });\n step = input(undefined, { transform: numberAttribute });\n decimals = input(2);\n decimalMode = input('not-zero');\n decimalSeparator = input(',');\n thousandSeparator = input('');\n maxvalue = computed(() => this.max() ?? Number.MAX_SAFE_INTEGER);\n minvalue = computed(() => this.min() ?? Number.MIN_SAFE_INTEGER);\n nowvalue = computed(() => this.value() || 0);\n maxlength = computed(() => {\n const { decimalSeparator, thousandSeparator } = this.maskitoNumberParams();\n const decimals = this.decimals();\n const mantissa = decimals && this.valueAsString().includes(decimalSeparator);\n const precision = mantissa ? Math.min(decimals + 1, 20) : 0;\n const thousand = thousandSeparator.repeat(5).length;\n return 18 + precision + thousand;\n });\n maskitoNumberParams = computed(() => {\n const decimalMode = this.decimalMode();\n return {\n max: this.maxvalue(),\n min: this.minvalue(),\n minusSign: '-',\n precision: this.decimals(),\n decimalZeroPadding: decimalMode === 'always',\n decimalSeparator: this.decimalSeparator(),\n thousandSeparator: this.thousandSeparator(),\n };\n });\n constructor() {\n super();\n effect((onCleanup) => {\n const el = this.el();\n const formatter = this.maskitoNumberParams();\n const { plugins, ...options } = maskitoNumberOptionsGenerator(formatter);\n const instance = new Maskito(el.nativeElement, {\n ...options,\n plugins: [\n ...plugins,\n maskitoInitialCalibrationPlugin(maskitoNumberOptionsGenerator({\n ...formatter,\n min: Number.MIN_SAFE_INTEGER,\n max: Number.MAX_SAFE_INTEGER,\n })),\n ],\n });\n onCleanup(() => instance.destroy());\n });\n }\n /** @internal */\n _valueStringify(valueAsString) {\n const value = this.parseNumber(valueAsString);\n if (value === null) {\n return '';\n }\n return maskitoStringifyNumber(value, this.maskitoNumberParams());\n }\n /** @internal */\n valueSimplify(value) {\n const decimalSeparator = new RegExp(this.decimalSeparator(), 'gi');\n const thousandSeparator = new RegExp(this.thousandSeparator(), 'gi');\n return value.replace(thousandSeparator, '').replace(decimalSeparator, '.');\n }\n /** @internal */\n valueUnsettled(value) {\n return !!(value === '-' ||\n value.match(/^\\s*([-+])?\\d+\\.$/) ||\n value.match(/^\\s*([-+])?\\d+\\.[0-9]*0$/) ||\n value.match(/^\\s*([-+])0+$/));\n }\n /** @internal */\n parseNumber(value) {\n let valueAsNumber = null;\n if (typeof value === 'number') {\n valueAsNumber = value;\n }\n else if (typeof value === 'string') {\n valueAsNumber = Number.parseFloat(value);\n }\n if (Number.isNaN(value)) {\n return null;\n }\n return valueAsNumber;\n }\n /** @internal */\n handleValueChanged() {\n const input = this.el();\n const valueAsString = this.valueSimplify(input.nativeElement.value);\n if (this.valueUnsettled(valueAsString)) {\n return this.valueAsString.update(() => input.nativeElement.value);\n }\n const value = this.parseNumber(valueAsString);\n if (value === null) {\n return this.writeValue(value);\n }\n if (value < this.minvalue() || value > this.maxvalue()) {\n return void 0;\n }\n this.writeValue(value);\n }\n /** @internal */\n handleFocusEvent() {\n const value = maskitoParseNumber(this.valueAsString(), this.decimalSeparator());\n if (Number.isNaN(value) && !this.readonly()) {\n this.valueAsString.set('');\n }\n }\n /** @internal */\n handleBlurEvent() {\n this.markAsTouched();\n const valueAsString = this.valueSimplify(this.valueAsString());\n if (this.valueUnsettled(valueAsString)) {\n this.valueAsString.update(() => this._valueStringify(this.value()));\n }\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.6\", ngImport: i0, type: TextBoxNumberComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.6\", 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: [\n {\n provide: BuildInInputValueAccessor,\n useExisting: forwardRef(() => TextBoxNumberComponent),\n },\n ], exportAs: [\"latTextBox\"], usesInheritance: true, ngImport: i0, template: \"<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]=\\\"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]=\\\"maxvalue()\\\"\\r\\n [attr.aria-valuemin]=\\\"minvalue()\\\"\\r\\n [attr.aria-valuenow]=\\\"nowvalue()\\\"\\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)=\\\"handleValueChanged()\\\"\\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 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.6\", ngImport: i0, type: TextBoxNumberComponent, decorators: [{\n type: Component,\n args: [{ imports: [SpinnersComponent], exportAs: 'latTextBox', selector: 'lat-textbox[type=\"number\"]', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [\n {\n provide: BuildInInputValueAccessor,\n useExisting: forwardRef(() => TextBoxNumberComponent),\n },\n ], template: \"<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]=\\\"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]=\\\"maxvalue()\\\"\\r\\n [attr.aria-valuemin]=\\\"minvalue()\\\"\\r\\n [attr.aria-valuenow]=\\\"nowvalue()\\\"\\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)=\\\"handleValueChanged()\\\"\\r\\n/>\\r\\n\\r\\n@if (step() && !readonly()) {\\r\\n <lat-spinners />\\r\\n}\\r\\n\" }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGJveC1udW1iZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvd2lkZ2V0cy90ZXh0Ym94LW51bWJlci9zcmMvdGV4dGJveC1udW1iZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvd2lkZ2V0cy90ZXh0Ym94LW51bWJlci9zcmMvdGV4dGJveC1udW1iZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsUUFBUSxFQUNSLE1BQU0sRUFDTixVQUFVLEVBQ1YsS0FBSyxFQUNMLGVBQWUsRUFDZixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsa0JBQWtCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFekcsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFaEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBZ0J6RCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsZ0JBQXdCO0lBQ2xELEdBQUcsR0FBRyxLQUFLLENBQWtCLFNBQVMsRUFBRSxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsQ0FBQyxDQUFDO0lBQ3hFLEdBQUcsR0FBRyxLQUFLLENBQWtCLFNBQVMsRUFBRSxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsQ0FBQyxDQUFDO0lBQ3hFLElBQUksR0FBRyxLQUFLLENBQWtCLFNBQVMsRUFBRSxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsQ0FBQyxDQUFDO0lBQ3pF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dEQ7cUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBjb21wdXRlZCxcbiAgZWZmZWN0LFxuICBmb3J3YXJkUmVmLFxuICBpbnB1dCxcbiAgbnVtYmVyQXR0cmlidXRlLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE1hc2tpdG8sIG1hc2tpdG9Jbml0aWFsQ2FsaWJyYXRpb25QbHVnaW4gfSBmcm9tICdAbWFza2l0by9jb3JlJztcbmltcG9ydCB7IG1hc2tpdG9OdW1iZXJPcHRpb25zR2VuZXJhdG9yLCBtYXNraXRvUGFyc2VOdW1iZXIsIG1hc2tpdG9TdHJpbmdpZnlOdW1iZXIgfSBmcm9tICdAbWFza2l0by9raXQnO1xuXG5pbXBvcnQgeyBCdWlsZEluSW5wdXRWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQGxhdGl0dWRlLXVpL3dpZGdldHMvaW5wdXQnO1xuaW1wb3J0IHsgVGV4dEJveERpcmVjdGl2ZSB9IGZyb20gJ0BsYXRpdHVkZS11aS93aWRnZXRzL3RleHRib3gnO1xuXG5pbXBvcnQgeyBTcGlubmVyc0NvbXBvbmVudCB9IGZyb20gJy4vc3Bpbm5lcnMuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIGltcG9ydHM6IFtTcGlubmVyc0NvbXBvbmVudF0sXG4gIGV4cG9ydEFzOiAnbGF0VGV4dEJveCcsXG4gIHNlbGVjdG9yOiAnbGF0LXRleHRib3hbdHlwZT1cIm51bWJlclwiXScsXG4gIHRlbXBsYXRlVXJsOiAnLi90ZXh0Ym94LW51bWJlci5jb21wb25lbnQuaHRtbCcsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBCdWlsZEluSW5wdXRWYWx1ZUFjY2Vzc29yLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVGV4dEJveE51bWJlckNvbXBvbmVudCksXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV4dEJveE51bWJlckNvbXBvbmVudCBleHRlbmRzIFRleHRCb3hEaXJlY3RpdmU8bnVtYmVyPiB7XG4gIHB1YmxpYyByZWFkb25seSBtYXggPSBpbnB1dDxudW1iZXIsIHVua25vd24+KHVuZGVmaW5lZCwgeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KTtcbiAgcHVibGljIHJlYWRvbmx5IG1pbiA9IGlucHV0PG51bWJlciwgdW5rbm93bj4odW5kZWZpbmVkLCB7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pO1xuICBwdWJsaWMgcmVhZG9ubHkgc3RlcCA9IGlucHV0PG51bWJlciwgdW5rbm93bj4odW5kZWZpbmVkLCB7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pO1xuICBwdWJsaWMgcmVhZG9ubHkgZGVjaW1hbHMgPSBpbnB1dDxudW1iZXI+KDIpO1xuICBwdWJsaWMgcmVhZG9ubHkgZGVjaW1hbE1vZGUgPSBpbnB1dDwnYWx3YXlzJyB8ICdub3QtemVybycgfCAncGFkJz4oJ25vdC16ZXJvJyk7XG4gIHB1YmxpYyByZWFkb25seSBkZWNpbWFsU2VwYXJhdG9yID0gaW5wdXQ8JywnIHwgJy4nPignLCcpO1xuICBwdWJsaWMgcmVhZG9ubHkgdGhvdXNhbmRTZXBhcmF0b3IgPSBpbnB1dDxzdHJpbmc+KCcnKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgbWF4dmFsdWUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLm1heCgpID8/IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSKTtcbiAgcHVibGljIHJlYWRvbmx5IG1pbnZhbHVlID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5taW4oKSA/PyBOdW1iZXIuTUlOX1NBRkVfSU5URUdFUik7XG4gIHB1YmxpYyByZWFkb25seSBub3d2YWx1ZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMudmFsdWUoKSB8fCAwKTtcblxuICByZWFkb25seSBtYXhsZW5ndGggPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgeyBkZWNpbWFsU2VwYXJhdG9yLCB0aG91c2FuZFNlcGFyYXRvciB9ID0gdGhpcy5tYXNraXRvTnVtYmVyUGFyYW1zKCk7XG5cbiAgICBjb25zdCBkZWNpbWFscyA9IHRoaXMuZGVjaW1hbHMoKTtcblxuICAgIGNvbnN0IG1hbnRpc3NhID0gZGVjaW1hbHMgJiYgdGhpcy52YWx1ZUFzU3RyaW5nKCkuaW5jbHVkZXMoZGVjaW1hbFNlcGFyYXRvcik7XG4gICAgY29uc3QgcHJlY2lzaW9uID0gbWFudGlzc2EgPyBNYXRoLm1pbihkZWNpbWFscyArIDEsIDIwKSA6IDA7XG4gICAgY29uc3QgdGhvdXNhbmQgPSB0aG91c2FuZFNlcGFyYXRvci5yZXBlYXQoNSkubGVuZ3RoO1xuXG4gICAgcmV0dXJuIDE4ICsgcHJlY2lzaW9uICsgdGhvdXNhbmQ7XG4gIH0pO1xuXG4gIHJlYWRvbmx5IG1hc2tpdG9OdW1iZXJQYXJhbXMgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgZGVjaW1hbE1vZGUgPSB0aGlzLmRlY2ltYWxNb2RlKCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgbWF4OiB0aGlzLm1heHZhbHVlKCksXG4gICAgICBtaW46IHRoaXMubWludmFsdWUoKSxcbiAgICAgIG1pbnVzU2lnbjogJy0nLFxuICAgICAgcHJlY2lzaW9uOiB0aGlzLmRlY2ltYWxzKCksXG4gICAgICBkZWNpbWFsWmVyb1BhZGRpbmc6IGRlY2ltYWxNb2RlID09PSAnYWx3YXlzJyxcbiAgICAgIGRlY2ltYWxTZXBhcmF0b3I6IHRoaXMuZGVjaW1hbFNlcGFyYXRvcigpLFxuICAgICAgdGhvdXNhbmRTZXBhcmF0b3I6IHRoaXMudGhvdXNhbmRTZXBhcmF0b3IoKSxcbiAgICB9O1xuICB9KTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgZWZmZWN0KChvbkNsZWFudXApID0+IHtcbiAgICAgIGNvbnN0IGVsID0gdGhpcy5lbCgpO1xuICAgICAgY29uc3QgZm9ybWF0dGVyID0gdGhpcy5tYXNraXRvTnVtYmVyUGFyYW1zKCk7XG5cbiAgICAgIGNvbnN0IHsgcGx1Z2lucywgLi4ub3B0aW9ucyB9ID0gbWFza2l0b051bWJlck9wdGlvbnNHZW5lcmF0b3IoZm9ybWF0dGVyKTtcblxuICAgICAgY29uc3QgaW5zdGFuY2UgPSBuZXcgTWFza2l0byhlbC5uYXRpdmVFbGVtZW50LCB7XG4gICAgICAgIC4uLm9wdGlvbnMsXG4gICAgICAgIHBsdWdpbnM6IFtcbiAgICAgICAgICAuLi5wbHVnaW5zLFxuICAgICAgICAgIG1hc2tpdG9Jbml0aWFsQ2FsaWJyYXRpb25QbHVnaW4oXG4gICAgICAgICAgICBtYXNraXRvTnVtYmVyT3B0aW9uc0dlbmVyYXRvcih7XG4gICAgICAgICAgICAgIC4uLmZvcm1hdHRlcixcbiAgICAgICAgICAgICAgbWluOiBOdW1iZXIuTUlOX1NBRkVfSU5URUdFUixcbiAgICAgICAgICAgICAgbWF4OiBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUixcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKSxcbiAgICAgICAgXSxcbiAgICAgIH0pO1xuXG4gICAgICBvbkNsZWFudXAoKCkgPT4gaW5zdGFuY2UuZGVzdHJveSgpKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIF92YWx1ZVN0cmluZ2lmeSh2YWx1ZUFzU3RyaW5nOiB1bmtub3duKTogc3RyaW5nIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMucGFyc2VOdW1iZXIodmFsdWVBc1N0cmluZyk7XG4gICAgaWYgKHZhbHVlID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgcmV0dXJuIG1hc2tpdG9TdHJpbmdpZnlOdW1iZXIodmFsdWUsIHRoaXMubWFza2l0b051bWJlclBhcmFtcygpKTtcbiAgfVxuXG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgcHJvdGVjdGVkIHZhbHVlU2ltcGxpZnkodmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgZGVjaW1hbFNlcGFyYXRvciA9IG5ldyBSZWdFeHAodGhpcy5kZWNpbWFsU2VwYXJhdG9yKCksICdnaScpO1xuICAgIGNvbnN0IHRob3VzYW5kU2VwYXJhdG9yID0gbmV3IFJlZ0V4cCh0aGlzLnRob3VzYW5kU2VwYXJhdG9yKCksICdnaScpO1xuXG4gICAgcmV0dXJuIHZhbHVlLnJlcGxhY2UodGhvdXNhbmRTZXBhcmF0b3IsICcnKS5yZXBsYWNlKGRlY2ltYWxTZXBhcmF0b3IsICcuJyk7XG4gIH1cblxuICAvKiogQGludGVybmFsICovXG4gIHByb3RlY3RlZCB2YWx1ZVVuc2V0dGxlZCh2YWx1ZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhKFxuICAgICAgdmFsdWUgPT09ICctJyB8fFxuICAgICAgdmFsdWUubWF0Y2goL15cXHMqKFstK10pP1xcZCtcXC4kLykgfHxcbiAgICAgIHZhbHVlLm1hdGNoKC9eXFxzKihbLStdKT9cXGQrXFwuWzAtOV0qMCQvKSB8fFxuICAgICAgdmFsdWUubWF0Y2goL15cXHMqKFstK10pMCskLylcbiAgICApO1xuICB9XG5cbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBwcm90ZWN0ZWQgcGFyc2VOdW1iZXIodmFsdWU6IHVua25vd24pOiBudW1iZXIgfCBudWxsIHtcbiAgICBsZXQgdmFsdWVBc051bWJlcjogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJykge1xuICAgICAgdmFsdWVBc051bWJlciA9IHZhbHVlO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xuICAgICAgdmFsdWVBc051bWJlciA9IE51bWJlci5wYXJzZUZsb2F0KHZhbHVlKTtcbiAgICB9XG5cbiAgICBpZiAoTnVtYmVyLmlzTmFOKHZhbHVlKSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhbHVlQXNOdW1iZXI7XG4gIH1cblxuICAvKiogQGludGVybmFsICovXG4gIHByb3RlY3RlZCBoYW5kbGVWYWx1ZUNoYW5nZWQoKTogdm9pZCB7XG4gICAgY29uc3QgaW5wdXQgPSB0aGlzLmVsKCk7XG5cbiAgICBjb25zdCB2YWx1ZUFzU3RyaW5nID0gdGhpcy52YWx1ZVNpbXBsaWZ5KGlucHV0Lm5hdGl2ZUVsZW1lbnQudmFsdWUpO1xuXG4gICAgaWYgKHRoaXMudmFsdWVVbnNldHRsZWQodmFsdWVBc1N0cmluZykpIHtcbiAgICAgIHJldHVybiB0aGlzLnZhbHVlQXNTdHJpbmcudXBkYXRlKCgpID0+IGlucHV0Lm5hdGl2ZUVsZW1lbnQudmFsdWUpO1xuICAgIH1cblxuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5wYXJzZU51bWJlcih2YWx1ZUFzU3RyaW5nKTtcblxuICAgIGlmICh2YWx1ZSA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHRoaXMud3JpdGVWYWx1ZSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgaWYgKHZhbHVlIDwgdGhpcy5taW52YWx1ZSgpIHx8IHZhbHVlID4gdGhpcy5tYXh2YWx1ZSgpKSB7XG4gICAgICByZXR1cm4gdm9pZCAwO1xuICAgIH1cblxuICAgIHRoaXMud3JpdGVWYWx1ZSh2YWx1ZSk7XG4gIH1cblxuICAvKiogQGludGVybmFsICovXG4gIHByb3RlY3RlZCBoYW5kbGVGb2N1c0V2ZW50KCk6IHZvaWQge1xuICAgIGNvbnN0IHZhbHVlID0gbWFza2l0b1BhcnNlTnVtYmVyKHRoaXMudmFsdWVBc1N0cmluZygpLCB0aGlzLmRlY2ltYWxTZXBhcmF0b3IoKSk7XG5cbiAgICBpZiAoTnVtYmVyLmlzTmFOKHZhbHVlKSAmJiAhdGhpcy5yZWFkb25seSgpKSB7XG4gICAgICB0aGlzLnZhbHVlQXNTdHJpbmcuc2V0KCcnKTtcbiAgICB9XG4gIH1cblxuICAvKiogQGludGVybmFsICovXG4gIHByb3RlY3RlZCBoYW5kbGVCbHVyRXZlbnQoKTogdm9pZCB7XG4gICAgdGhpcy5tYXJrQXNUb3VjaGVkKCk7XG5cbiAgICBjb25zdCB2YWx1ZUFzU3RyaW5nID0gdGhpcy52YWx1ZVNpbXBsaWZ5KHRoaXMudmFsdWVBc1N0cmluZygpKTtcblxuICAgIGlmICh0aGlzLnZhbHVlVW5zZXR0bGVkKHZhbHVlQXNTdHJpbmcpKSB7XG4gICAgICB0aGlzLnZhbHVlQXNTdHJpbmcudXBkYXRlKCgpID0+IHRoaXMuX3ZhbHVlU3RyaW5naWZ5KHRoaXMudmFsdWUoKSkpO1xuICAgIH1cbiAgfVxufVxuIiwiPGlucHV0XHJcbiAgI2h0bWxJbnB1dEVsZW1lbnRcclxuICB0eXBlPVwidGV4dFwiXHJcbiAgcm9sZT1cInNwaW5idXR0b25cIlxyXG4gIGF1dG9jb21wbGV0ZT1cIm9mZlwiXHJcbiAgYXV0b2NhcGl0YWxpemU9XCJvZmZcIlxyXG4gIFt2YWx1ZV09J3ZhbHVlQXNTdHJpbmcoKSdcclxuICBbYXR0ci5pZF09XCJpbnB1dElkKClcIlxyXG4gIFthdHRyLnRhYmluZGV4XT1cImRpc2FibGVkKCkgPyAtMSA6IHRhYmluZGV4KClcIlxyXG4gIFthdHRyLmRpc2FibGVkXT1cImRpc2FibGVkKCkgfHwgdW5kZWZpbmVkXCJcclxuICBbYXR0ci5yZWFkb25seV09XCJyZWFkb25seSgpIHx8IHVuZGVmaW5lZFwiXHJcbiAgW2F0dHIucmVxdWlyZWRdPVwicmVxdWlyZWQoKSB8fCB1bmRlZmluZWRcIlxyXG4gIFthdHRyLm1heGxlbmd0aF09XCJtYXhsZW5ndGgoKVwiXHJcbiAgW2F0dHIucGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXIoKVwiXHJcbiAgW2F0dHIuYXJpYS1pbnZhbGlkXT1cImludmFsaWQoKSB8fCB1bmRlZmluZWRcIlxyXG4gIFthdHRyLmFyaWEtdmFsdWVtYXhdPVwibWF4dmFsdWUoKVwiXHJcbiAgW2F0dHIuYXJpYS12YWx1ZW1pbl09XCJtaW52YWx1ZSgpXCJcclxuICBbYXR0ci5hcmlhLXZhbHVlbm93XT1cIm5vd3ZhbHVlKClcIlxyXG4gIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiZGlzYWJsZWQoKSB8fCB1bmRlZmluZWRcIlxyXG4gIFthdHRyLmFyaWEtcmVhZG9ubHldPVwicmVhZG9ubHkoKSB8fCB1bmRlZmluZWRcIlxyXG4gIFthdHRyLmFyaWEtcmVxdWlyZWRdPVwicmVxdWlyZWQoKSB8fCB1bmRlZmluZWRcIlxyXG4gIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJsYWJlbElkKClcIlxyXG4gIChibHVyKT1cImhhbmRsZUJsdXJFdmVudCgpXCJcclxuICAoZm9jdXMpPVwiaGFuZGxlRm9jdXNFdmVudCgpXCJcclxuICAoaW5wdXQpPVwiaGFuZGxlVmFsdWVDaGFuZ2VkKClcIlxyXG4vPlxyXG5cclxuQGlmIChzdGVwKCkgJiYgIXJlYWRvbmx5KCkpIHtcclxuICA8bGF0LXNwaW5uZXJzIC8+XHJcbn1cclxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './public-api';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF0aXR1ZGUtdWktd2lkZ2V0cy10ZXh0Ym94LW51bWJlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3dpZGdldHMvdGV4dGJveC1udW1iZXIvbGF0aXR1ZGUtdWktd2lkZ2V0cy10ZXh0Ym94LW51bWJlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { viewChild, ElementRef, Directive, input, numberAttribute, computed, forwardRef, ChangeDetectionStrategy, ViewEncapsulation, Component } from '@angular/core';
|
|
3
|
+
import { BuildInInputValueAccessor } from '@latitude-ui/widgets/input';
|
|
4
|
+
|
|
5
|
+
class TextBoxDirective extends BuildInInputValueAccessor {
|
|
6
|
+
el = viewChild.required('htmlInputElement', { read: (ElementRef) });
|
|
7
|
+
blur() {
|
|
8
|
+
this.el().nativeElement.blur();
|
|
9
|
+
}
|
|
10
|
+
focus() {
|
|
11
|
+
this.el().nativeElement.focus();
|
|
12
|
+
}
|
|
13
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: TextBoxDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
14
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "20.0.6", type: TextBoxDirective, isStandalone: true, viewQueries: [{ propertyName: "el", first: true, predicate: ["htmlInputElement"], descendants: true, read: ElementRef, isSignal: true }], usesInheritance: true, ngImport: i0 });
|
|
15
|
+
}
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: TextBoxDirective, decorators: [{
|
|
17
|
+
type: Directive
|
|
18
|
+
}] });
|
|
19
|
+
|
|
20
|
+
class TextBoxComponent extends TextBoxDirective {
|
|
21
|
+
rows = input(undefined, { transform: numberAttribute });
|
|
22
|
+
maxlength = input(undefined, { transform: numberAttribute });
|
|
23
|
+
minlength = input(undefined, { transform: numberAttribute });
|
|
24
|
+
textarea = computed(() => {
|
|
25
|
+
const rows = this.rows();
|
|
26
|
+
return rows ? rows >= 2 : false;
|
|
27
|
+
});
|
|
28
|
+
/** @internal */
|
|
29
|
+
handleBlurEvent() {
|
|
30
|
+
this.markAsTouched();
|
|
31
|
+
}
|
|
32
|
+
/** @internal */
|
|
33
|
+
handleValueChanged() {
|
|
34
|
+
const { nativeElement } = this.el();
|
|
35
|
+
this.writeValue(nativeElement.value);
|
|
36
|
+
}
|
|
37
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: TextBoxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
38
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: TextBoxComponent, isStandalone: true, selector: "lat-textbox:not([type]), lat-textbox[type=\"text\"]", inputs: { rows: { classPropertyName: "rows", publicName: "rows", isSignal: true, isRequired: false, transformFunction: null }, maxlength: { classPropertyName: "maxlength", publicName: "maxlength", isSignal: true, isRequired: false, transformFunction: null }, minlength: { classPropertyName: "minlength", publicName: "minlength", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
|
|
39
|
+
{
|
|
40
|
+
provide: BuildInInputValueAccessor,
|
|
41
|
+
useExisting: forwardRef(() => TextBoxComponent),
|
|
42
|
+
},
|
|
43
|
+
], exportAs: ["latTextBox"], usesInheritance: true, ngImport: i0, template: "@if(textarea()) {\r\n <textarea\r\n #htmlInputElement\r\n role=\"textbox\"\r\n [value]='valueAsString()'\r\n [attr.id]=\"inputId()\"\r\n [attr.rows]=\"rows()\"\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 [style.resize]=\"'none'\"\r\n [style.height]=\"'auto'\"\r\n (blur)=\"handleBlurEvent()\"\r\n (input)=\"handleValueChanged()\"\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]=\"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)=\"handleValueChanged()\"\r\n />\r\n}\r\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
44
|
+
}
|
|
45
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: TextBoxComponent, decorators: [{
|
|
46
|
+
type: Component,
|
|
47
|
+
args: [{ exportAs: 'latTextBox', selector: 'lat-textbox:not([type]), lat-textbox[type="text"]', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
48
|
+
{
|
|
49
|
+
provide: BuildInInputValueAccessor,
|
|
50
|
+
useExisting: forwardRef(() => TextBoxComponent),
|
|
51
|
+
},
|
|
52
|
+
], host: {
|
|
53
|
+
// '[style.height]': 'textarea() ? "auto" : undefined'
|
|
54
|
+
}, template: "@if(textarea()) {\r\n <textarea\r\n #htmlInputElement\r\n role=\"textbox\"\r\n [value]='valueAsString()'\r\n [attr.id]=\"inputId()\"\r\n [attr.rows]=\"rows()\"\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 [style.resize]=\"'none'\"\r\n [style.height]=\"'auto'\"\r\n (blur)=\"handleBlurEvent()\"\r\n (input)=\"handleValueChanged()\"\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]=\"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)=\"handleValueChanged()\"\r\n />\r\n}\r\n" }]
|
|
55
|
+
}] });
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Generated bundle index. Do not edit.
|
|
59
|
+
*/
|
|
60
|
+
|
|
61
|
+
export { TextBoxComponent, TextBoxDirective };
|
|
62
|
+
//# sourceMappingURL=latitude-ui-widgets-textbox.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"latitude-ui-widgets-textbox.mjs","sources":["../tmp-esm2022/textbox/src/textbox.directive.js","../tmp-esm2022/textbox/src/textbox.component.js","../tmp-esm2022/textbox/latitude-ui-widgets-textbox.js"],"sourcesContent":["import { Directive, ElementRef, viewChild } from '@angular/core';\nimport { BuildInInputValueAccessor } from '@latitude-ui/widgets/input';\nimport * as i0 from \"@angular/core\";\nexport class TextBoxDirective extends BuildInInputValueAccessor {\n el = viewChild.required('htmlInputElement', { read: (ElementRef) });\n blur() {\n this.el().nativeElement.blur();\n }\n focus() {\n this.el().nativeElement.focus();\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.6\", ngImport: i0, type: TextBoxDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.2.0\", version: \"20.0.6\", type: TextBoxDirective, isStandalone: true, viewQueries: [{ propertyName: \"el\", first: true, predicate: [\"htmlInputElement\"], descendants: true, read: ElementRef, isSignal: true }], usesInheritance: true, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.6\", ngImport: i0, type: TextBoxDirective, decorators: [{\n type: Directive\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGJveC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy93aWRnZXRzL3RleHRib3gvc3JjL3RleHRib3guZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFHdkUsTUFBTSxPQUFPLGdCQUFvQixTQUFRLHlCQUE0QjtJQUNuRCxFQUFFLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsRUFBRSxFQUFFLElBQUksRUFBRSxDQUFBLFVBQTRCLENBQUEsRUFBRSxDQUFDLENBQUM7SUFFcEcsSUFBSTtRQUNGLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2xDLENBQUM7dUdBVFUsZ0JBQWdCOzJGQUFoQixnQkFBZ0IsaUlBQ3lDLFVBQVU7OzJGQURuRSxnQkFBZ0I7a0JBRDVCLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIHZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQnVpbGRJbklucHV0VmFsdWVBY2Nlc3NvciB9IGZyb20gJ0BsYXRpdHVkZS11aS93aWRnZXRzL2lucHV0JztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgY2xhc3MgVGV4dEJveERpcmVjdGl2ZTxUPiBleHRlbmRzIEJ1aWxkSW5JbnB1dFZhbHVlQWNjZXNzb3I8VD4ge1xuICBwdWJsaWMgcmVhZG9ubHkgZWwgPSB2aWV3Q2hpbGQucmVxdWlyZWQoJ2h0bWxJbnB1dEVsZW1lbnQnLCB7IHJlYWQ6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD4gfSk7XG5cbiAgYmx1cigpIHtcbiAgICB0aGlzLmVsKCkubmF0aXZlRWxlbWVudC5ibHVyKCk7XG4gIH1cblxuICBmb2N1cygpIHtcbiAgICB0aGlzLmVsKCkubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICB9XG5cbn1cbiJdfQ==","import { ChangeDetectionStrategy, Component, computed, forwardRef, input, numberAttribute, ViewEncapsulation, } from '@angular/core';\nimport { BuildInInputValueAccessor } from '@latitude-ui/widgets/input';\nimport { TextBoxDirective } from './textbox.directive';\nimport * as i0 from \"@angular/core\";\nexport class TextBoxComponent extends TextBoxDirective {\n rows = input(undefined, { transform: numberAttribute });\n maxlength = input(undefined, { transform: numberAttribute });\n minlength = input(undefined, { transform: numberAttribute });\n textarea = computed(() => {\n const rows = this.rows();\n return rows ? rows >= 2 : false;\n });\n /** @internal */\n handleBlurEvent() {\n this.markAsTouched();\n }\n /** @internal */\n handleValueChanged() {\n const { nativeElement } = this.el();\n this.writeValue(nativeElement.value);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.6\", ngImport: i0, type: TextBoxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.6\", type: TextBoxComponent, isStandalone: true, selector: \"lat-textbox:not([type]), lat-textbox[type=\\\"text\\\"]\", inputs: { rows: { classPropertyName: \"rows\", publicName: \"rows\", isSignal: true, isRequired: false, transformFunction: null }, maxlength: { classPropertyName: \"maxlength\", publicName: \"maxlength\", isSignal: true, isRequired: false, transformFunction: null }, minlength: { classPropertyName: \"minlength\", publicName: \"minlength\", isSignal: true, isRequired: false, transformFunction: null } }, providers: [\n {\n provide: BuildInInputValueAccessor,\n useExisting: forwardRef(() => TextBoxComponent),\n },\n ], exportAs: [\"latTextBox\"], usesInheritance: true, ngImport: i0, template: \"@if(textarea()) {\\r\\n <textarea\\r\\n #htmlInputElement\\r\\n role=\\\"textbox\\\"\\r\\n [value]='valueAsString()'\\r\\n [attr.id]=\\\"inputId()\\\"\\r\\n [attr.rows]=\\\"rows()\\\"\\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 [style.resize]=\\\"'none'\\\"\\r\\n [style.height]=\\\"'auto'\\\"\\r\\n (blur)=\\\"handleBlurEvent()\\\"\\r\\n (input)=\\\"handleValueChanged()\\\"\\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]=\\\"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)=\\\"handleValueChanged()\\\"\\r\\n />\\r\\n}\\r\\n\", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.6\", ngImport: i0, type: TextBoxComponent, decorators: [{\n type: Component,\n args: [{ exportAs: 'latTextBox', selector: 'lat-textbox:not([type]), lat-textbox[type=\"text\"]', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [\n {\n provide: BuildInInputValueAccessor,\n useExisting: forwardRef(() => TextBoxComponent),\n },\n ], host: {\n // '[style.height]': 'textarea() ? \"auto\" : undefined'\n }, template: \"@if(textarea()) {\\r\\n <textarea\\r\\n #htmlInputElement\\r\\n role=\\\"textbox\\\"\\r\\n [value]='valueAsString()'\\r\\n [attr.id]=\\\"inputId()\\\"\\r\\n [attr.rows]=\\\"rows()\\\"\\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 [style.resize]=\\\"'none'\\\"\\r\\n [style.height]=\\\"'auto'\\\"\\r\\n (blur)=\\\"handleBlurEvent()\\\"\\r\\n (input)=\\\"handleValueChanged()\\\"\\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]=\\\"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)=\\\"handleValueChanged()\\\"\\r\\n />\\r\\n}\\r\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy93aWRnZXRzL3RleHRib3gvc3JjL3RleHRib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvd2lkZ2V0cy90ZXh0Ym94L3NyYy90ZXh0Ym94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixVQUFVLEVBQ1YsS0FBSyxFQUNMLGVBQWUsRUFDZixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBa0J2RCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsZ0JBQXdCO0lBQzVDLElBQUksR0FBRyxLQUFLLENBQWtCLFNBQVMsRUFBRSxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsQ0FBQyxDQUFDO0lBQ3pFLFNBQVMsR0FBRyxLQUFLLENBQWtCLFNBQVMsRUFBRSxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsQ0FBQyxDQUFDO0lBQzlFLFNBQVMsR0FBRyxLQUFLLENBQWtCLFNBQVMsRUFBRSxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsQ0FBQyxDQUFDO0lBRTlFLFFBQVEsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1FBQ3ZDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUV6QixPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ2xDLENBQUMsQ0FBQyxDQUFDO0lBRUgsZ0JBQWdCO0lBQ04sZUFBZTtRQUN2QixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELGdCQUFnQjtJQUNOLGtCQUFrQjtRQUMxQixNQUFNLEVBQUUsYUFBYSxFQUFFLEdBQUcsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBRXBDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7dUdBckJVLGdCQUFnQjsyRkFBaEIsZ0JBQWdCLDJlQVZoQjtZQUNUO2dCQUNFLE9BQU8sRUFBRSx5QkFBeUI7Z0JBQ2xDLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7YUFDaEQ7U0FDRiwyRUN2QkgsMnZEQStDQTs7MkZEbkJhLGdCQUFnQjtrQkFoQjVCLFNBQVM7K0JBQ0UsWUFBWSxZQUNaLG1EQUFtRCxpQkFFOUMsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDVDs0QkFDRSxPQUFPLEVBQUUseUJBQXlCOzRCQUNsQyxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxpQkFBaUIsQ0FBQzt5QkFDaEQ7cUJBQ0YsUUFDSztvQkFDSixzREFBc0Q7cUJBQ3ZEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgY29tcHV0ZWQsXG4gIGZvcndhcmRSZWYsXG4gIGlucHV0LFxuICBudW1iZXJBdHRyaWJ1dGUsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJ1aWxkSW5JbnB1dFZhbHVlQWNjZXNzb3IgfSBmcm9tICdAbGF0aXR1ZGUtdWkvd2lkZ2V0cy9pbnB1dCc7XG5pbXBvcnQgeyBUZXh0Qm94RGlyZWN0aXZlIH0gZnJvbSAnLi90ZXh0Ym94LmRpcmVjdGl2ZSc7XG5cbkBDb21wb25lbnQoe1xuICBleHBvcnRBczogJ2xhdFRleHRCb3gnLFxuICBzZWxlY3RvcjogJ2xhdC10ZXh0Ym94Om5vdChbdHlwZV0pLCBsYXQtdGV4dGJveFt0eXBlPVwidGV4dFwiXScsXG4gIHRlbXBsYXRlVXJsOiAnLi90ZXh0Ym94LmNvbXBvbmVudC5odG1sJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IEJ1aWxkSW5JbnB1dFZhbHVlQWNjZXNzb3IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUZXh0Qm94Q29tcG9uZW50KSxcbiAgICB9LFxuICBdLFxuICBob3N0OiB7XG4gICAgLy8gJ1tzdHlsZS5oZWlnaHRdJzogJ3RleHRhcmVhKCkgPyBcImF1dG9cIiA6IHVuZGVmaW5lZCdcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBUZXh0Qm94Q29tcG9uZW50IGV4dGVuZHMgVGV4dEJveERpcmVjdGl2ZTxzdHJpbmc+IHtcbiAgcHVibGljIHJlYWRvbmx5IHJvd3MgPSBpbnB1dDxudW1iZXIsIHVua25vd24+KHVuZGVmaW5lZCwgeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KTtcbiAgcHVibGljIHJlYWRvbmx5IG1heGxlbmd0aCA9IGlucHV0PG51bWJlciwgdW5rbm93bj4odW5kZWZpbmVkLCB7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pO1xuICBwdWJsaWMgcmVhZG9ubHkgbWlubGVuZ3RoID0gaW5wdXQ8bnVtYmVyLCB1bmtub3duPih1bmRlZmluZWQsIHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSk7XG5cbiAgcHVibGljIHJlYWRvbmx5IHRleHRhcmVhID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IHJvd3MgPSB0aGlzLnJvd3MoKTtcblxuICAgIHJldHVybiByb3dzID8gcm93cyA+PSAyIDogZmFsc2U7XG4gIH0pO1xuXG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgcHJvdGVjdGVkIGhhbmRsZUJsdXJFdmVudCgpOiB2b2lkIHtcbiAgICB0aGlzLm1hcmtBc1RvdWNoZWQoKTtcbiAgfVxuXG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgcHJvdGVjdGVkIGhhbmRsZVZhbHVlQ2hhbmdlZCgpOiB2b2lkIHtcbiAgICBjb25zdCB7IG5hdGl2ZUVsZW1lbnQgfSA9IHRoaXMuZWwoKTtcblxuICAgIHRoaXMud3JpdGVWYWx1ZShuYXRpdmVFbGVtZW50LnZhbHVlKTtcbiAgfVxufVxuIiwiQGlmKHRleHRhcmVhKCkpIHtcclxuICA8dGV4dGFyZWFcclxuICAgICNodG1sSW5wdXRFbGVtZW50XHJcbiAgICByb2xlPVwidGV4dGJveFwiXHJcbiAgICBbdmFsdWVdPSd2YWx1ZUFzU3RyaW5nKCknXHJcbiAgICBbYXR0ci5pZF09XCJpbnB1dElkKClcIlxyXG4gICAgW2F0dHIucm93c109XCJyb3dzKClcIlxyXG4gICAgW2F0dHIudGFiaW5kZXhdPVwiZGlzYWJsZWQoKSA/IC0xIDogdGFiaW5kZXgoKVwiXHJcbiAgICBbYXR0ci5kaXNhYmxlZF09XCJkaXNhYmxlZCgpIHx8IHVuZGVmaW5lZFwiXHJcbiAgICBbYXR0ci5yZWFkb25seV09XCJyZWFkb25seSgpIHx8IHVuZGVmaW5lZFwiXHJcbiAgICBbYXR0ci5yZXF1aXJlZF09XCJyZXF1aXJlZCgpIHx8IHVuZGVmaW5lZFwiXHJcbiAgICBbYXR0ci5tYXhsZW5ndGhdPVwibWF4bGVuZ3RoKClcIlxyXG4gICAgW2F0dHIubWlubGVuZ3RoXT1cIm1pbmxlbmd0aCgpXCJcclxuICAgIFthdHRyLnBsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyKClcIlxyXG4gICAgW2F0dHIuYXJpYS1pbnZhbGlkXT1cImludmFsaWQoKSB8fCB1bmRlZmluZWRcIlxyXG4gICAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJkaXNhYmxlZCgpIHx8IHVuZGVmaW5lZFwiXHJcbiAgICBbYXR0ci5hcmlhLXJlYWRvbmx5XT1cInJlYWRvbmx5KCkgfHwgdW5kZWZpbmVkXCJcclxuICAgIFthdHRyLmFyaWEtcmVxdWlyZWRdPVwicmVxdWlyZWQoKSB8fCB1bmRlZmluZWRcIlxyXG4gICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImxhYmVsSWQoKVwiXHJcbiAgICBbc3R5bGUucmVzaXplXT1cIidub25lJ1wiXHJcbiAgICBbc3R5bGUuaGVpZ2h0XT1cIidhdXRvJ1wiXHJcbiAgICAoYmx1cik9XCJoYW5kbGVCbHVyRXZlbnQoKVwiXHJcbiAgICAoaW5wdXQpPVwiaGFuZGxlVmFsdWVDaGFuZ2VkKClcIlxyXG4gID48L3RleHRhcmVhPlxyXG59IEBlbHNlIHtcclxuICA8aW5wdXRcclxuICAgICNodG1sSW5wdXRFbGVtZW50XHJcbiAgICB0eXBlPVwidGV4dFwiXHJcbiAgICByb2xlPVwidGV4dGJveFwiXHJcbiAgICBbdmFsdWVdPSd2YWx1ZUFzU3RyaW5nKCknXHJcbiAgICBbYXR0ci5pZF09XCJpbnB1dElkKClcIlxyXG4gICAgW2F0dHIudGFiaW5kZXhdPVwiZGlzYWJsZWQoKSA/IC0xIDogdGFiaW5kZXgoKVwiXHJcbiAgICBbYXR0ci5kaXNhYmxlZF09XCJkaXNhYmxlZCgpIHx8IHVuZGVmaW5lZFwiXHJcbiAgICBbYXR0ci5yZWFkb25seV09XCJyZWFkb25seSgpIHx8IHVuZGVmaW5lZFwiXHJcbiAgICBbYXR0ci5yZXF1aXJlZF09XCJyZXF1aXJlZCgpIHx8IHVuZGVmaW5lZFwiXHJcbiAgICBbYXR0ci5tYXhsZW5ndGhdPVwibWF4bGVuZ3RoKClcIlxyXG4gICAgW2F0dHIubWlubGVuZ3RoXT1cIm1pbmxlbmd0aCgpXCJcclxuICAgIFthdHRyLnBsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyKClcIlxyXG4gICAgW2F0dHIuYXJpYS1pbnZhbGlkXT1cImludmFsaWQoKSB8fCB1bmRlZmluZWRcIlxyXG4gICAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJkaXNhYmxlZCgpIHx8IHVuZGVmaW5lZFwiXHJcbiAgICBbYXR0ci5hcmlhLXJlYWRvbmx5XT1cInJlYWRvbmx5KCkgfHwgdW5kZWZpbmVkXCJcclxuICAgIFthdHRyLmFyaWEtcmVxdWlyZWRdPVwicmVxdWlyZWQoKSB8fCB1bmRlZmluZWRcIlxyXG4gICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImxhYmVsSWQoKVwiXHJcbiAgICAoYmx1cik9XCJoYW5kbGVCbHVyRXZlbnQoKVwiXHJcbiAgICAoaW5wdXQpPVwiaGFuZGxlVmFsdWVDaGFuZ2VkKClcIlxyXG4gIC8+XHJcbn1cclxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './public-api';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF0aXR1ZGUtdWktd2lkZ2V0cy10ZXh0Ym94LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvd2lkZ2V0cy90ZXh0Ym94L2xhdGl0dWRlLXVpLXdpZGdldHMtdGV4dGJveC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { ChangeDetectionStrategy, ViewEncapsulation, Component } from '@angular/core';
|
|
3
|
+
|
|
4
|
+
class ToolBarComponent {
|
|
5
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ToolBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
6
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.6", 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.6", 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
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Generated bundle index. Do not edit.
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
export { ToolBarComponent };
|
|
20
|
+
//# sourceMappingURL=latitude-ui-widgets-toolbar.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"latitude-ui-widgets-toolbar.mjs","sources":["../tmp-esm2022/toolbar/src/toolbar.component.js","../tmp-esm2022/toolbar/latitude-ui-widgets-toolbar.js"],"sourcesContent":["import { Component, ViewEncapsulation } from '@angular/core';\nimport { ChangeDetectionStrategy } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class ToolBarComponent {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.6\", ngImport: i0, type: ToolBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.0.6\", type: ToolBarComponent, isStandalone: true, selector: \"lat-toolbar\", host: { attributes: { \"role\": \"presentation\" } }, exportAs: [\"latTooBar\"], ngImport: i0, template: \"\", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.6\", ngImport: i0, type: ToolBarComponent, decorators: [{\n type: Component,\n args: [{ exportAs: 'latTooBar', selector: 'lat-toolbar', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {\n role: 'presentation',\n }, template: \"\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy93aWRnZXRzL3Rvb2xiYXIvc3JjL3Rvb2xiYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvd2lkZ2V0cy90b29sYmFyL3NyYy90b29sYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVl4RCxNQUFNLE9BQU8sZ0JBQWdCO3VHQUFoQixnQkFBZ0I7MkZBQWhCLGdCQUFnQixrSkNkN0IsRUFBQTs7MkZEY2EsZ0JBQWdCO2tCQVY1QixTQUFTOytCQUNFLFdBQVcsWUFDWCxhQUFhLGlCQUVSLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sUUFDekM7d0JBQ0osSUFBSSxFQUFFLGNBQWM7cUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIGV4cG9ydEFzOiAnbGF0VG9vQmFyJyxcclxuICBzZWxlY3RvcjogJ2xhdC10b29sYmFyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdG9vbGJhci5jb21wb25lbnQuaHRtbCcsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBob3N0OiB7XHJcbiAgICByb2xlOiAncHJlc2VudGF0aW9uJyxcclxuICB9LFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVG9vbEJhckNvbXBvbmVudCB7XHJcbn1cclxuIiwiIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './public-api';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF0aXR1ZGUtdWktd2lkZ2V0cy10b29sYmFyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvd2lkZ2V0cy90b29sYmFyL2xhdGl0dWRlLXVpLXdpZGdldHMtdG9vbGJhci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19"],"names":[],"mappings":";;;AAGO,MAAM,gBAAgB,CAAC;AAC9B,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC;AAC1K,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,gBAAgB,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,eAAe,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;AAChW;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,UAAU,EAAE,CAAC;AAC1H,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAE,iBAAiB,CAAC,IAAI,EAAE,eAAe,EAAE,uBAAuB,CAAC,MAAM,EAAE,IAAI,EAAE;AACnK,wBAAwB,IAAI,EAAE,cAAc;AAC5C,qBAAqB,EAAE,QAAQ,EAAE,EAAE,EAAE;AACrC,SAAS,CAAC,EAAE,CAAC;;ACZb;AACA;AACA;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"latitude-ui-widgets.mjs","sources":["../tmp-esm2022/public-api.js","../tmp-esm2022/latitude-ui-widgets.js"],"sourcesContent":["export default void 0;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3dpZGdldHMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxlQUFlLEtBQUssQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQgdm9pZCAwO1xyXG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './public-api';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF0aXR1ZGUtdWktd2lkZ2V0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3dpZGdldHMvbGF0aXR1ZGUtdWktd2lkZ2V0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19"],"names":[],"mappings":"AAAA,gBAAe,KAAK,CAAC;;ACArB;AACA;AACA"}
|
package/icons/index.d.ts
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
import { InjectionToken } from '@angular/core';
|
|
3
|
+
|
|
4
|
+
declare class IconComponent {
|
|
5
|
+
readonly resolve: (icon: string) => string;
|
|
6
|
+
readonly polyfill: _angular_core.Signal<boolean>;
|
|
7
|
+
readonly url: _angular_core.InputSignal<string | undefined>;
|
|
8
|
+
readonly name: _angular_core.InputSignal<string | undefined>;
|
|
9
|
+
readonly icon: _angular_core.Signal<string>;
|
|
10
|
+
constructor();
|
|
11
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<IconComponent, never>;
|
|
12
|
+
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>;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
declare const ICONS_ASSETS: InjectionToken<string>;
|
|
16
|
+
declare const ICONS_RESOLVER: InjectionToken<(icon: string) => string>;
|
|
17
|
+
declare const ICONS_POLYFILL: InjectionToken<_angular_core.Signal<boolean>>;
|
|
18
|
+
|
|
19
|
+
export { ICONS_ASSETS, ICONS_POLYFILL, ICONS_RESOLVER, IconComponent };
|
package/index.d.ts
ADDED
package/input/index.d.ts
ADDED
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
import { InjectionToken } from '@angular/core';
|
|
3
|
+
import * as _angular_forms from '@angular/forms';
|
|
4
|
+
import { NgControl, AbstractControl, FormControlStatus } from '@angular/forms';
|
|
5
|
+
|
|
6
|
+
type InputSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | null | undefined | (string & {});
|
|
7
|
+
|
|
8
|
+
declare class BuildInInputValueAccessor<T> {
|
|
9
|
+
readonly dir: NgControl;
|
|
10
|
+
readonly input: InputComponent<any> | null;
|
|
11
|
+
readonly id: _angular_core.InputSignal<string | undefined>;
|
|
12
|
+
readonly size: _angular_core.InputSignal<InputSize>;
|
|
13
|
+
readonly tabindex: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
14
|
+
readonly readonly: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
15
|
+
readonly required: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
16
|
+
readonly placeholder: _angular_core.InputSignal<string | undefined>;
|
|
17
|
+
readonly value: _angular_core.Signal<T | null>;
|
|
18
|
+
readonly control: _angular_core.Signal<AbstractControl<any, any> | null>;
|
|
19
|
+
readonly valueAsString: _angular_core.WritableSignal<string>;
|
|
20
|
+
readonly status: _angular_core.Signal<FormControlStatus>;
|
|
21
|
+
readonly touched: _angular_core.Signal<boolean>;
|
|
22
|
+
readonly pristine: _angular_core.Signal<boolean>;
|
|
23
|
+
readonly valid: _angular_core.Signal<boolean>;
|
|
24
|
+
readonly invalid: _angular_core.Signal<boolean>;
|
|
25
|
+
readonly pending: _angular_core.Signal<boolean>;
|
|
26
|
+
readonly disabled: _angular_core.Signal<boolean>;
|
|
27
|
+
readonly dirty: _angular_core.Signal<boolean>;
|
|
28
|
+
readonly errors: _angular_core.Signal<{
|
|
29
|
+
[key: string]: any;
|
|
30
|
+
} | null>;
|
|
31
|
+
readonly inputId: _angular_core.Signal<string | undefined>;
|
|
32
|
+
readonly labelId: _angular_core.Signal<string | undefined>;
|
|
33
|
+
readonly inputSize: _angular_core.Signal<InputSize>;
|
|
34
|
+
/** @internal */
|
|
35
|
+
readonly _value: _angular_core.WritableSignal<T | null>;
|
|
36
|
+
/** @internal */
|
|
37
|
+
readonly _control: _angular_core.WritableSignal<AbstractControl<any, any> | null>;
|
|
38
|
+
constructor();
|
|
39
|
+
/**
|
|
40
|
+
* Sets the "value" property on the input element.
|
|
41
|
+
*/
|
|
42
|
+
writeValue(value: T | null): void;
|
|
43
|
+
/**
|
|
44
|
+
* Marks the control as `dirty`.
|
|
45
|
+
*/
|
|
46
|
+
markAsChanged(): void;
|
|
47
|
+
/**
|
|
48
|
+
* Marks the control as `touched`.
|
|
49
|
+
*/
|
|
50
|
+
markAsTouched(): void;
|
|
51
|
+
/** @internal */
|
|
52
|
+
protected _valueEquality(value0: T | null, value1: unknown): boolean;
|
|
53
|
+
/** @internal */
|
|
54
|
+
protected _valueStringify(value: unknown): string;
|
|
55
|
+
/** @internal */
|
|
56
|
+
protected _writeValue(input: T | null): boolean;
|
|
57
|
+
/** @internal */
|
|
58
|
+
protected _markAsTouched: VoidFunction;
|
|
59
|
+
/** @internal */
|
|
60
|
+
protected _markAsChanged: VoidFunction;
|
|
61
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<BuildInInputValueAccessor<any>, never>;
|
|
62
|
+
static ɵdir: _angular_core.ɵɵ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>;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
declare class InputComponent<T> {
|
|
66
|
+
readonly id: _angular_core.InputSignal<string | undefined>;
|
|
67
|
+
readonly size: _angular_core.InputSignal<InputSize>;
|
|
68
|
+
readonly input: _angular_core.Signal<BuildInInputValueAccessor<any>>;
|
|
69
|
+
readonly htmlId: _angular_core.Signal<string>;
|
|
70
|
+
readonly labelId: _angular_core.Signal<string>;
|
|
71
|
+
readonly inputId: _angular_core.Signal<string>;
|
|
72
|
+
readonly value: _angular_core.Signal<any>;
|
|
73
|
+
readonly valueAsString: _angular_core.Signal<string>;
|
|
74
|
+
readonly status: _angular_core.Signal<_angular_forms.FormControlStatus>;
|
|
75
|
+
readonly touched: _angular_core.Signal<boolean>;
|
|
76
|
+
readonly dirty: _angular_core.Signal<boolean>;
|
|
77
|
+
readonly valid: _angular_core.Signal<boolean>;
|
|
78
|
+
readonly errors: _angular_core.Signal<{
|
|
79
|
+
[key: string]: any;
|
|
80
|
+
} | null>;
|
|
81
|
+
readonly invalid: _angular_core.Signal<boolean>;
|
|
82
|
+
readonly pending: _angular_core.Signal<boolean>;
|
|
83
|
+
readonly pristine: _angular_core.Signal<boolean>;
|
|
84
|
+
readonly disabled: _angular_core.Signal<boolean>;
|
|
85
|
+
readonly readonly: _angular_core.Signal<boolean>;
|
|
86
|
+
readonly required: _angular_core.Signal<boolean>;
|
|
87
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<InputComponent<any>, never>;
|
|
88
|
+
static ɵcmp: _angular_core.ɵɵ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>;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
declare class InputLabelComponent<T = unknown> {
|
|
92
|
+
readonly input: InputComponent<any>;
|
|
93
|
+
readonly id: _angular_core.Signal<string>;
|
|
94
|
+
readonly htmlFor: _angular_core.Signal<string>;
|
|
95
|
+
readonly required: _angular_core.Signal<boolean>;
|
|
96
|
+
readonly readonly: _angular_core.Signal<boolean>;
|
|
97
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<InputLabelComponent<any>, never>;
|
|
98
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<InputLabelComponent<any>, "lat-input-label", ["latInputLabel"], {}, {}, never, ["*"], true, never>;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
declare class InputErrorComponent<T = unknown> {
|
|
102
|
+
readonly input: InputComponent<any>;
|
|
103
|
+
readonly messages: Record<string, string>;
|
|
104
|
+
readonly keyvalue: _angular_core.Signal<{
|
|
105
|
+
key: string;
|
|
106
|
+
value: any;
|
|
107
|
+
}[]>;
|
|
108
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<InputErrorComponent<any>, never>;
|
|
109
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<InputErrorComponent<any>, "lat-input-error", ["latInputError"], {}, {}, never, ["*"], true, never>;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
declare const INPUT_ERROR_MESSAGES: InjectionToken<Record<string, string>>;
|
|
113
|
+
|
|
114
|
+
declare const InputModule: readonly [typeof InputLabelComponent, typeof InputErrorComponent, typeof InputComponent];
|
|
115
|
+
|
|
116
|
+
export { BuildInInputValueAccessor, INPUT_ERROR_MESSAGES, InputComponent, InputErrorComponent, InputLabelComponent, InputModule };
|