@latitude-ui/widgets 0.0.13 → 0.0.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (197) hide show
  1. package/README.md +2 -2
  2. package/button/index.d.ts +19 -0
  3. package/checkbox/{src/checkbox.component.d.ts → index.d.ts} +6 -3
  4. package/core/index.d.ts +39 -0
  5. package/fesm2022/latitude-ui-widgets-button.mjs +51 -0
  6. package/fesm2022/latitude-ui-widgets-button.mjs.map +1 -0
  7. package/fesm2022/latitude-ui-widgets-checkbox.mjs +40 -0
  8. package/fesm2022/latitude-ui-widgets-checkbox.mjs.map +1 -0
  9. package/fesm2022/latitude-ui-widgets-core.mjs +116 -0
  10. package/fesm2022/latitude-ui-widgets-core.mjs.map +1 -0
  11. package/fesm2022/latitude-ui-widgets-icons.mjs +118 -0
  12. package/fesm2022/latitude-ui-widgets-icons.mjs.map +1 -0
  13. package/fesm2022/latitude-ui-widgets-input.mjs +225 -0
  14. package/fesm2022/latitude-ui-widgets-input.mjs.map +1 -0
  15. package/fesm2022/latitude-ui-widgets-listbox.mjs +51 -0
  16. package/fesm2022/latitude-ui-widgets-listbox.mjs.map +1 -0
  17. package/fesm2022/latitude-ui-widgets-select.mjs +316 -0
  18. package/fesm2022/latitude-ui-widgets-select.mjs.map +1 -0
  19. package/fesm2022/latitude-ui-widgets-switch.mjs +37 -0
  20. package/fesm2022/latitude-ui-widgets-switch.mjs.map +1 -0
  21. package/fesm2022/latitude-ui-widgets-textbox-number.mjs +168 -0
  22. package/fesm2022/latitude-ui-widgets-textbox-number.mjs.map +1 -0
  23. package/fesm2022/latitude-ui-widgets-textbox.mjs +62 -0
  24. package/fesm2022/latitude-ui-widgets-textbox.mjs.map +1 -0
  25. package/fesm2022/latitude-ui-widgets-toolbar.mjs +20 -0
  26. package/fesm2022/latitude-ui-widgets-toolbar.mjs.map +1 -0
  27. package/fesm2022/latitude-ui-widgets.mjs +6 -0
  28. package/fesm2022/latitude-ui-widgets.mjs.map +1 -0
  29. package/icons/index.d.ts +19 -0
  30. package/index.d.ts +2 -0
  31. package/input/index.d.ts +116 -0
  32. package/listbox/index.d.ts +23 -0
  33. package/package.json +30 -45
  34. package/select/index.d.ts +74 -0
  35. package/switch/{src/switch.component.d.ts → index.d.ts} +6 -3
  36. package/textbox/index.d.ts +26 -0
  37. package/textbox-number/index.d.ts +44 -0
  38. package/toolbar/{src/toolbar.component.d.ts → index.d.ts} +5 -2
  39. package/button/latitude-ui-widgets-button.d.ts +0 -5
  40. package/button/public-api.d.ts +0 -2
  41. package/button/src/button.component.d.ts +0 -14
  42. package/button/src/button.types.d.ts +0 -2
  43. package/checkbox/latitude-ui-widgets-checkbox.d.ts +0 -5
  44. package/checkbox/public-api.d.ts +0 -1
  45. package/combobox/latitude-ui-widgets-combobox.d.ts +0 -5
  46. package/combobox/public-api.d.ts +0 -2
  47. package/core/latitude-ui-widgets-core.d.ts +0 -5
  48. package/core/public-api.d.ts +0 -6
  49. package/core/src/dimensions.d.ts +0 -13
  50. package/core/src/illegal.d.ts +0 -2
  51. package/core/src/listeners.d.ts +0 -8
  52. package/core/src/noop.d.ts +0 -1
  53. package/core/src/root.d.ts +0 -12
  54. package/core/src/uid.d.ts +0 -1
  55. package/esm2022/button/latitude-ui-widgets-button.js +0 -5
  56. package/esm2022/button/public-api.js +0 -3
  57. package/esm2022/button/src/button.component.js +0 -44
  58. package/esm2022/button/src/button.types.js +0 -1
  59. package/esm2022/checkbox/latitude-ui-widgets-checkbox.js +0 -5
  60. package/esm2022/checkbox/public-api.js +0 -2
  61. package/esm2022/checkbox/src/checkbox.component.js +0 -33
  62. package/esm2022/combobox/latitude-ui-widgets-combobox.js +0 -5
  63. package/esm2022/combobox/public-api.js +0 -2
  64. package/esm2022/core/latitude-ui-widgets-core.js +0 -5
  65. package/esm2022/core/public-api.js +0 -7
  66. package/esm2022/core/src/dimensions.js +0 -56
  67. package/esm2022/core/src/illegal.js +0 -5
  68. package/esm2022/core/src/listeners.js +0 -32
  69. package/esm2022/core/src/noop.js +0 -3
  70. package/esm2022/core/src/root.js +0 -20
  71. package/esm2022/core/src/uid.js +0 -4
  72. package/esm2022/icons/latitude-ui-widgets-icons.js +0 -5
  73. package/esm2022/icons/public-api.js +0 -3
  74. package/esm2022/icons/src/icon.component.js +0 -35
  75. package/esm2022/icons/src/icon.service.js +0 -62
  76. package/esm2022/icons/src/icon.tokens.js +0 -19
  77. package/esm2022/input/latitude-ui-widgets-input.js +0 -5
  78. package/esm2022/input/public-api.js +0 -6
  79. package/esm2022/input/src/input-error/i18n/en.js +0 -9
  80. package/esm2022/input/src/input-error/i18n/ru.js +0 -9
  81. package/esm2022/input/src/input-error/input-error.component.js +0 -22
  82. package/esm2022/input/src/input-error/input-error.i18n.js +0 -65
  83. package/esm2022/input/src/input-label/input-label.component.js +0 -20
  84. package/esm2022/input/src/input.component.js +0 -44
  85. package/esm2022/input/src/input.directive.js +0 -116
  86. package/esm2022/input/src/input.module.js +0 -9
  87. package/esm2022/input/src/input.types.js +0 -1
  88. package/esm2022/latitude-ui-widgets.js +0 -5
  89. package/esm2022/listbox/latitude-ui-widgets-listbox.js +0 -5
  90. package/esm2022/listbox/public-api.js +0 -4
  91. package/esm2022/listbox/src/listbox-option.component.js +0 -49
  92. package/esm2022/listbox/src/listbox.component.js +0 -14
  93. package/esm2022/listbox/src/listbox.module.js +0 -7
  94. package/esm2022/lookup/latitude-ui-widgets-lookup.js +0 -5
  95. package/esm2022/lookup/public-api.js +0 -3
  96. package/esm2022/lookup/src/lookup-outlet.directive.js +0 -13
  97. package/esm2022/lookup/src/lookup.component.js +0 -11
  98. package/esm2022/public-api.js +0 -2
  99. package/esm2022/select/latitude-ui-widgets-select.js +0 -5
  100. package/esm2022/select/public-api.js +0 -7
  101. package/esm2022/select/src/select/select.directive.js +0 -86
  102. package/esm2022/select/src/select-dropdown/select-dropdown.component.js +0 -39
  103. package/esm2022/select/src/select-multiple.component.js +0 -60
  104. package/esm2022/select/src/select-option/select-option.component.js +0 -21
  105. package/esm2022/select/src/select-option/select-option.directive.js +0 -19
  106. package/esm2022/select/src/select-single.component.js +0 -51
  107. package/esm2022/select/src/select-trigger/select-trigger.component.js +0 -29
  108. package/esm2022/select/src/select-value/select-value.component.js +0 -15
  109. package/esm2022/select/src/select-values/select-values.component.js +0 -16
  110. package/esm2022/select/src/select.module.js +0 -9
  111. package/esm2022/switch/latitude-ui-widgets-switch.js +0 -5
  112. package/esm2022/switch/public-api.js +0 -2
  113. package/esm2022/switch/src/switch.component.js +0 -30
  114. package/esm2022/textarea/latitude-ui-widgets-textarea.js +0 -5
  115. package/esm2022/textarea/public-api.js +0 -2
  116. package/esm2022/textarea/src/textarea.component.js +0 -26
  117. package/esm2022/textbox/latitude-ui-widgets-textbox.js +0 -5
  118. package/esm2022/textbox/public-api.js +0 -3
  119. package/esm2022/textbox/src/textbox.component.js +0 -25
  120. package/esm2022/textbox/src/textbox.directive.js +0 -25
  121. package/esm2022/textbox-number/latitude-ui-widgets-textbox-number.js +0 -5
  122. package/esm2022/textbox-number/public-api.js +0 -2
  123. package/esm2022/textbox-number/src/spinners.component.js +0 -22
  124. package/esm2022/textbox-number/src/textbox-number.component.js +0 -136
  125. package/esm2022/textbox-search/latitude-ui-widgets-textbox-search.js +0 -5
  126. package/esm2022/textbox-search/public-api.js +0 -2
  127. package/esm2022/textbox-search/src/textbox-search.component.js +0 -41
  128. package/esm2022/toolbar/latitude-ui-widgets-toolbar.js +0 -5
  129. package/esm2022/toolbar/public-api.js +0 -2
  130. package/esm2022/toolbar/src/toolbar.component.js +0 -14
  131. package/icons/latitude-ui-widgets-icons.d.ts +0 -5
  132. package/icons/public-api.d.ts +0 -2
  133. package/icons/src/icon.component.d.ts +0 -11
  134. package/icons/src/icon.service.d.ts +0 -15
  135. package/icons/src/icon.tokens.d.ts +0 -4
  136. package/input/latitude-ui-widgets-input.d.ts +0 -5
  137. package/input/public-api.d.ts +0 -5
  138. package/input/src/input-error/i18n/en.d.ts +0 -9
  139. package/input/src/input-error/i18n/ru.d.ts +0 -9
  140. package/input/src/input-error/input-error.component.d.ts +0 -9
  141. package/input/src/input-error/input-error.i18n.d.ts +0 -28
  142. package/input/src/input-label/input-label.component.d.ts +0 -11
  143. package/input/src/input.component.d.ts +0 -28
  144. package/input/src/input.directive.d.ts +0 -62
  145. package/input/src/input.module.d.ts +0 -4
  146. package/input/src/input.types.d.ts +0 -1
  147. package/latitude-ui-widgets.d.ts +0 -5
  148. package/listbox/latitude-ui-widgets-listbox.d.ts +0 -5
  149. package/listbox/public-api.d.ts +0 -3
  150. package/listbox/src/listbox-option.component.d.ts +0 -17
  151. package/listbox/src/listbox.component.d.ts +0 -5
  152. package/listbox/src/listbox.module.d.ts +0 -3
  153. package/lookup/README.md +0 -3
  154. package/lookup/latitude-ui-widgets-lookup.d.ts +0 -5
  155. package/lookup/public-api.d.ts +0 -2
  156. package/lookup/src/lookup-outlet.directive.d.ts +0 -5
  157. package/lookup/src/lookup.component.d.ts +0 -5
  158. package/public-api.d.ts +0 -2
  159. package/select/latitude-ui-widgets-select.d.ts +0 -5
  160. package/select/public-api.d.ts +0 -6
  161. package/select/src/select/select.directive.d.ts +0 -24
  162. package/select/src/select-dropdown/select-dropdown.component.d.ts +0 -14
  163. package/select/src/select-multiple.component.d.ts +0 -10
  164. package/select/src/select-option/select-option.component.d.ts +0 -10
  165. package/select/src/select-option/select-option.directive.d.ts +0 -14
  166. package/select/src/select-single.component.d.ts +0 -10
  167. package/select/src/select-trigger/select-trigger.component.d.ts +0 -9
  168. package/select/src/select-value/select-value.component.d.ts +0 -7
  169. package/select/src/select-values/select-values.component.d.ts +0 -7
  170. package/select/src/select.module.d.ts +0 -4
  171. package/styles/_colors.scss +0 -99
  172. package/styles/_defaults.scss +0 -135
  173. package/styles/_index.scss +0 -11
  174. package/styles/_typography.scss +0 -37
  175. package/styles/button/_index.scss +0 -199
  176. package/styles/forms/_index.scss +0 -867
  177. package/styles/icons/_index.scss +0 -34
  178. package/styles/list/_index.scss +0 -0
  179. package/styles/listbox/_index.scss +0 -30
  180. package/switch/latitude-ui-widgets-switch.d.ts +0 -5
  181. package/switch/public-api.d.ts +0 -1
  182. package/textarea/latitude-ui-widgets-textarea.d.ts +0 -5
  183. package/textarea/public-api.d.ts +0 -1
  184. package/textarea/src/textarea.component.d.ts +0 -9
  185. package/textbox/latitude-ui-widgets-textbox.d.ts +0 -5
  186. package/textbox/public-api.d.ts +0 -2
  187. package/textbox/src/textbox.component.d.ts +0 -8
  188. package/textbox/src/textbox.directive.d.ts +0 -12
  189. package/textbox-number/latitude-ui-widgets-textbox-number.d.ts +0 -5
  190. package/textbox-number/public-api.d.ts +0 -1
  191. package/textbox-number/src/spinners.component.d.ts +0 -8
  192. package/textbox-number/src/textbox-number.component.d.ts +0 -36
  193. package/textbox-search/latitude-ui-widgets-textbox-search.d.ts +0 -5
  194. package/textbox-search/public-api.d.ts +0 -1
  195. package/textbox-search/src/textbox-search.component.d.ts +0 -15
  196. package/toolbar/latitude-ui-widgets-toolbar.d.ts +0 -5
  197. package/toolbar/public-api.d.ts +0 -1
@@ -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":";;;;;;;;;AAKO,MAAM,iBAAiB,CAAC;AAC/B,IAAI,OAAO,GAAG,MAAM,CAAC,sBAAsB,CAAC;AAC5C,IAAI,kBAAkB,CAAC,GAAG,EAAE;AAC5B,QAAQ,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/F,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE;AAChF,YAAY,OAAO,KAAK,CAAC;AACzB;AACA,QAAQ,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;AAC5D,QAAQ,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC;AACpE;AACA,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,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,iBAAiB,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC,aAAa,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,2ZAA2Z,EAAE,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,QAAQ,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,eAAe,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;AACj+B;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,UAAU,EAAE,CAAC;AAC3H,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,cAAc,EAAE,aAAa,EAAE,iBAAiB,CAAC,IAAI,EAAE,eAAe,EAAE,uBAAuB,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,eAAe,EAAE,aAAa,CAAC,EAAE,QAAQ,EAAE,2ZAA2Z,EAAE;AAClnB,SAAS,CAAC,EAAE,CAAC;;ACdN,MAAM,sBAAsB,SAAS,gBAAgB,CAAC;AAC7D,IAAI,GAAG,GAAG,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC;AAC1D,IAAI,GAAG,GAAG,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC;AAC1D,IAAI,IAAI,GAAG,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC;AAC3D,IAAI,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC;AACvB,IAAI,WAAW,GAAG,KAAK,CAAC,UAAU,CAAC;AACnC,IAAI,gBAAgB,GAAG,KAAK,CAAC,GAAG,CAAC;AACjC,IAAI,iBAAiB,GAAG,KAAK,CAAC,EAAE,CAAC;AACjC,IAAI,QAAQ,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE,IAAI,MAAM,CAAC,gBAAgB,CAAC;AACpE,IAAI,QAAQ,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE,IAAI,MAAM,CAAC,gBAAgB,CAAC;AACpE,IAAI,QAAQ,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AAChD,IAAI,SAAS,GAAG,QAAQ,CAAC,MAAM;AAC/B,QAAQ,MAAM,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAAC,mBAAmB,EAAE;AAClF,QAAQ,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE;AACxC,QAAQ,MAAM,QAAQ,GAAG,QAAQ,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;AACpF,QAAQ,MAAM,SAAS,GAAG,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC;AACnE,QAAQ,MAAM,QAAQ,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM;AAC3D,QAAQ,OAAO,EAAE,GAAG,SAAS,GAAG,QAAQ;AACxC,KAAK,CAAC;AACN,IAAI,mBAAmB,GAAG,QAAQ,CAAC,MAAM;AACzC,QAAQ,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE;AAC9C,QAAQ,OAAO;AACf,YAAY,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE;AAChC,YAAY,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE;AAChC,YAAY,SAAS,EAAE,GAAG;AAC1B,YAAY,SAAS,EAAE,IAAI,CAAC,QAAQ,EAAE;AACtC,YAAY,kBAAkB,EAAE,WAAW,KAAK,QAAQ;AACxD,YAAY,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE;AACrD,YAAY,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EAAE;AACvD,SAAS;AACT,KAAK,CAAC;AACN,IAAI,WAAW,GAAG;AAClB,QAAQ,KAAK,EAAE;AACf,QAAQ,MAAM,CAAC,CAAC,SAAS,KAAK;AAC9B,YAAY,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE;AAChC,YAAY,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,EAAE;AACxD,YAAY,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,GAAG,6BAA6B,CAAC,SAAS,CAAC;AACpF,YAAY,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAC,EAAE,CAAC,aAAa,EAAE;AAC3D,gBAAgB,GAAG,OAAO;AAC1B,gBAAgB,OAAO,EAAE;AACzB,oBAAoB,GAAG,OAAO;AAC9B,oBAAoB,+BAA+B,CAAC,6BAA6B,CAAC;AAClF,wBAAwB,GAAG,SAAS;AACpC,wBAAwB,GAAG,EAAE,MAAM,CAAC,gBAAgB;AACpD,wBAAwB,GAAG,EAAE,MAAM,CAAC,gBAAgB;AACpD,qBAAqB,CAAC,CAAC;AACvB,iBAAiB;AACjB,aAAa,CAAC;AACd,YAAY,SAAS,CAAC,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;AAC/C,SAAS,CAAC;AACV;AACA;AACA,IAAI,eAAe,CAAC,aAAa,EAAE;AACnC,QAAQ,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC;AACrD,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE;AAC5B,YAAY,OAAO,EAAE;AACrB;AACA,QAAQ,OAAO,sBAAsB,CAAC,KAAK,EAAE,IAAI,CAAC,mBAAmB,EAAE,CAAC;AACxE;AACA;AACA,IAAI,aAAa,CAAC,KAAK,EAAE;AACzB,QAAQ,MAAM,gBAAgB,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,IAAI,CAAC;AAC1E,QAAQ,MAAM,iBAAiB,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,IAAI,CAAC;AAC5E,QAAQ,OAAO,KAAK,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC;AAClF;AACA;AACA,IAAI,cAAc,CAAC,KAAK,EAAE;AAC1B,QAAQ,OAAO,CAAC,EAAE,KAAK,KAAK,GAAG;AAC/B,YAAY,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC;AAC5C,YAAY,KAAK,CAAC,KAAK,CAAC,0BAA0B,CAAC;AACnD,YAAY,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;AACzC;AACA;AACA,IAAI,WAAW,CAAC,KAAK,EAAE;AACvB,QAAQ,IAAI,aAAa,GAAG,IAAI;AAChC,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACvC,YAAY,aAAa,GAAG,KAAK;AACjC;AACA,aAAa,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC5C,YAAY,aAAa,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC;AACpD;AACA,QAAQ,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;AACjC,YAAY,OAAO,IAAI;AACvB;AACA,QAAQ,OAAO,aAAa;AAC5B;AACA;AACA,IAAI,kBAAkB,GAAG;AACzB,QAAQ,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,EAAE;AAC/B,QAAQ,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC;AAC3E,QAAQ,IAAI,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE;AAChD,YAAY,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC;AAC7E;AACA,QAAQ,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC;AACrD,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE;AAC5B,YAAY,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;AACzC;AACA,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,EAAE;AAChE,YAAY,OAAO,KAAK,CAAC;AACzB;AACA,QAAQ,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;AAC9B;AACA;AACA,IAAI,gBAAgB,GAAG;AACvB,QAAQ,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC;AACvF,QAAQ,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE;AACrD,YAAY,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;AACtC;AACA;AACA;AACA,IAAI,eAAe,GAAG;AACtB,QAAQ,IAAI,CAAC,aAAa,EAAE;AAC5B,QAAQ,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;AACtE,QAAQ,IAAI,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE;AAChD,YAAY,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;AAC/E;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,sBAAsB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC;AAChL,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,sBAAsB,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,8BAA8B,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,iBAAiB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,iBAAiB,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,EAAE,iBAAiB,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,gBAAgB,EAAE,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,UAAU,EAAE,kBAAkB,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,iBAAiB,EAAE,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,UAAU,EAAE,mBAAmB,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE;AACjmC,YAAY;AACZ,gBAAgB,OAAO,EAAE,yBAAyB;AAClD,gBAAgB,WAAW,EAAE,UAAU,CAAC,MAAM,sBAAsB,CAAC;AACrE,aAAa;AACb,SAAS,EAAE,QAAQ,EAAE,CAAC,YAAY,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,ugCAAugC,EAAE,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,EAAE,eAAe,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;AACjzC;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE,UAAU,EAAE,CAAC;AAChI,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,4BAA4B,EAAE,aAAa,EAAE,iBAAiB,CAAC,IAAI,EAAE,eAAe,EAAE,uBAAuB,CAAC,MAAM,EAAE,SAAS,EAAE;AACtN,wBAAwB;AACxB,4BAA4B,OAAO,EAAE,yBAAyB;AAC9D,4BAA4B,WAAW,EAAE,UAAU,CAAC,MAAM,sBAAsB,CAAC;AACjF,yBAAyB;AACzB,qBAAqB,EAAE,QAAQ,EAAE,ugCAAugC,EAAE;AAC1iC,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,CAAC;;AC5IvC;AACA;AACA;;;;"}
@@ -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,6 @@
1
+ var publicApi = void 0;
2
+
3
+ /**
4
+ * Generated bundle index. Do not edit.
5
+ */
6
+ //# sourceMappingURL=latitude-ui-widgets.mjs.map
@@ -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"}
@@ -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
@@ -0,0 +1,2 @@
1
+
2
+ export { };
@@ -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 };