@ardium-ui/ui 1.0.2 → 2.0.1

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 (390) hide show
  1. package/esm2022/lib/_internal/boolean-component.mjs +28 -42
  2. package/esm2022/lib/_internal/clear-button/clear-button.component.mjs +5 -5
  3. package/esm2022/lib/_internal/clear-button/clear-button.module.mjs +4 -4
  4. package/esm2022/lib/_internal/disablable-component.mjs +24 -22
  5. package/esm2022/lib/_internal/focusable-component.mjs +12 -25
  6. package/esm2022/lib/_internal/item-storages/dropdown-item-storage.mjs +172 -169
  7. package/esm2022/lib/_internal/item-storages/simple-item-storage.mjs +115 -120
  8. package/esm2022/lib/_internal/item-storages/simplest-item-storage.mjs +56 -53
  9. package/esm2022/lib/_internal/models/pagination.model.mjs +72 -106
  10. package/esm2022/lib/_internal/ngmodel-component.mjs +5 -5
  11. package/esm2022/lib/_internal/queue.mjs +1 -1
  12. package/esm2022/lib/_internal/selectable-list-component.mjs +74 -98
  13. package/esm2022/lib/badge/badge.directive.mjs +70 -99
  14. package/esm2022/lib/badge/badge.module.mjs +4 -4
  15. package/esm2022/lib/badge/index.mjs +4 -0
  16. package/esm2022/lib/buttons/_button-base.mjs +13 -35
  17. package/esm2022/lib/buttons/button/button.component.mjs +22 -37
  18. package/esm2022/lib/buttons/button/button.module.mjs +4 -4
  19. package/esm2022/lib/buttons/button/index.mjs +3 -0
  20. package/esm2022/lib/buttons/fab/fab.component.mjs +16 -28
  21. package/esm2022/lib/buttons/fab/fab.module.mjs +4 -4
  22. package/esm2022/lib/buttons/fab/index.mjs +3 -0
  23. package/esm2022/lib/buttons/icon-button/icon-button.component.mjs +17 -25
  24. package/esm2022/lib/buttons/icon-button/icon-button.module.mjs +4 -4
  25. package/esm2022/lib/buttons/icon-button/index.mjs +3 -0
  26. package/esm2022/lib/card/card.children.mjs +32 -33
  27. package/esm2022/lib/card/card.component.mjs +14 -17
  28. package/esm2022/lib/card/card.module.mjs +4 -4
  29. package/esm2022/lib/card/index.mjs +5 -0
  30. package/esm2022/lib/checkbox/checkbox.component.mjs +33 -46
  31. package/esm2022/lib/checkbox/checkbox.module.mjs +4 -4
  32. package/esm2022/lib/checkbox/index.mjs +4 -0
  33. package/esm2022/lib/checkbox-list/checkbox-list.component.mjs +31 -57
  34. package/esm2022/lib/checkbox-list/checkbox-list.module.mjs +4 -4
  35. package/esm2022/lib/checkbox-list/index.mjs +4 -0
  36. package/esm2022/lib/chip/chip.component.mjs +22 -42
  37. package/esm2022/lib/chip/chip.module.mjs +4 -4
  38. package/esm2022/lib/chip/deletable-chip/deletable-chip.component.mjs +28 -53
  39. package/esm2022/lib/chip/index.mjs +5 -0
  40. package/esm2022/lib/chip/selectable-chip/selectable-chip.component.mjs +25 -49
  41. package/esm2022/lib/color/color-display/color-display.component.mjs +15 -32
  42. package/esm2022/lib/color/color-display/color-display.module.mjs +4 -4
  43. package/esm2022/lib/color/color-display/index.mjs +4 -0
  44. package/esm2022/lib/color/color-picker/color-picker.types.mjs +1 -1
  45. package/esm2022/lib/dialog/dialog.component.mjs +54 -130
  46. package/esm2022/lib/dialog/dialog.directives.mjs +3 -3
  47. package/esm2022/lib/dialog/dialog.module.mjs +4 -4
  48. package/esm2022/lib/dialog/dialog.types.mjs +1 -1
  49. package/esm2022/lib/dialog/index.mjs +5 -0
  50. package/esm2022/lib/divider/divider.component.mjs +9 -14
  51. package/esm2022/lib/divider/divider.module.mjs +4 -4
  52. package/esm2022/lib/divider/index.mjs +3 -0
  53. package/esm2022/lib/dropdown-panel/dropdown-panel.component.mjs +40 -59
  54. package/esm2022/lib/dropdown-panel/dropdown-panel.module.mjs +4 -4
  55. package/esm2022/lib/dropdown-panel/index.mjs +4 -0
  56. package/esm2022/lib/file-inputs/file-drop-area/file-drop-area.component.mjs +12 -17
  57. package/esm2022/lib/file-inputs/file-drop-area/file-drop-area.directives.mjs +9 -9
  58. package/esm2022/lib/file-inputs/file-drop-area/file-drop-area.module.mjs +6 -6
  59. package/esm2022/lib/file-inputs/file-drop-area/index.mjs +4 -0
  60. package/esm2022/lib/file-inputs/file-input/file-input.component.mjs +24 -50
  61. package/esm2022/lib/file-inputs/file-input/file-input.directives.mjs +18 -18
  62. package/esm2022/lib/file-inputs/file-input/file-input.module.mjs +4 -4
  63. package/esm2022/lib/file-inputs/file-input/index.mjs +4 -0
  64. package/esm2022/lib/file-inputs/file-input-base.mjs +38 -72
  65. package/esm2022/lib/form-field-frame/form-field-frame.component.mjs +20 -47
  66. package/esm2022/lib/form-field-frame/form-field-frame.directives.mjs +6 -6
  67. package/esm2022/lib/form-field-frame/form-field-frame.module.mjs +4 -4
  68. package/esm2022/lib/form-field-frame/index.mjs +4 -0
  69. package/esm2022/lib/icon/icon.component.mjs +32 -67
  70. package/esm2022/lib/icon/icon.module.mjs +4 -4
  71. package/esm2022/lib/icon/icon.pipe.mjs +3 -3
  72. package/esm2022/lib/icon/index.mjs +4 -0
  73. package/esm2022/lib/inputs/color-input/color-input.directives.mjs +24 -24
  74. package/esm2022/lib/inputs/color-input/color-input.types.mjs +1 -1
  75. package/esm2022/lib/inputs/digit-input/digit-input.component.mjs +65 -115
  76. package/esm2022/lib/inputs/digit-input/digit-input.model.mjs +83 -92
  77. package/esm2022/lib/inputs/digit-input/digit-input.module.mjs +4 -4
  78. package/esm2022/lib/inputs/digit-input/digit-input.types.mjs +1 -1
  79. package/esm2022/lib/inputs/digit-input/digit-input.utils.mjs +1 -1
  80. package/esm2022/lib/inputs/digit-input/index.mjs +4 -0
  81. package/esm2022/lib/inputs/hex-input/hex-input.component.mjs +59 -122
  82. package/esm2022/lib/inputs/hex-input/hex-input.directives.mjs +9 -9
  83. package/esm2022/lib/inputs/hex-input/hex-input.module.mjs +24 -8
  84. package/esm2022/lib/inputs/hex-input/index.mjs +4 -0
  85. package/esm2022/lib/inputs/hex-input.model.mjs +24 -33
  86. package/esm2022/lib/inputs/input/index.mjs +4 -0
  87. package/esm2022/lib/inputs/input/input.component.mjs +95 -154
  88. package/esm2022/lib/inputs/input/input.directives.mjs +16 -16
  89. package/esm2022/lib/inputs/input/input.module.mjs +21 -7
  90. package/esm2022/lib/inputs/input-transformers.mjs +6 -6
  91. package/esm2022/lib/inputs/input-utils.mjs +75 -94
  92. package/esm2022/lib/inputs/number-input/index.mjs +4 -0
  93. package/esm2022/lib/inputs/number-input/number-input.component.mjs +106 -170
  94. package/esm2022/lib/inputs/number-input/number-input.directives.mjs +3 -3
  95. package/esm2022/lib/inputs/number-input/number-input.module.mjs +4 -4
  96. package/esm2022/lib/inputs/password-input/index.mjs +5 -0
  97. package/esm2022/lib/inputs/password-input/password-input.component.mjs +74 -144
  98. package/esm2022/lib/inputs/password-input/password-input.directives.mjs +12 -12
  99. package/esm2022/lib/inputs/password-input/password-input.module.mjs +4 -4
  100. package/esm2022/lib/inputs/password-input/password-input.types.mjs +1 -1
  101. package/esm2022/lib/inputs/simple-input/index.mjs +4 -0
  102. package/esm2022/lib/inputs/simple-input/simple-input.component.mjs +57 -110
  103. package/esm2022/lib/inputs/simple-input/simple-input.directives.mjs +9 -9
  104. package/esm2022/lib/inputs/simple-input/simple-input.module.mjs +4 -4
  105. package/esm2022/lib/kbd/index.mjs +4 -0
  106. package/esm2022/lib/kbd/kbd.component.mjs +15 -29
  107. package/esm2022/lib/kbd/kbd.module.mjs +4 -4
  108. package/esm2022/lib/kbd/kbd.pipe.mjs +3 -3
  109. package/esm2022/lib/kbd-shortcut/index.mjs +3 -0
  110. package/esm2022/lib/kbd-shortcut/kbd-shortcut.component.mjs +23 -40
  111. package/esm2022/lib/kbd-shortcut/kbd-shortcut.module.mjs +4 -4
  112. package/esm2022/lib/modal/index.mjs +3 -0
  113. package/esm2022/lib/modal/modal.component.mjs +42 -83
  114. package/esm2022/lib/modal/modal.module.mjs +4 -4
  115. package/esm2022/lib/option/index.mjs +3 -0
  116. package/esm2022/lib/option/option.component.mjs +24 -46
  117. package/esm2022/lib/option/option.module.mjs +4 -4
  118. package/esm2022/lib/progress-bar/index.mjs +5 -0
  119. package/esm2022/lib/progress-bar/progress-bar.component.mjs +43 -81
  120. package/esm2022/lib/progress-bar/progress-bar.directive.mjs +3 -3
  121. package/esm2022/lib/progress-bar/progress-bar.module.mjs +4 -4
  122. package/esm2022/lib/progress-bar/progress-bar.types.mjs +1 -1
  123. package/esm2022/lib/progress-circle/index.mjs +5 -0
  124. package/esm2022/lib/progress-circle/progress-circle.component.mjs +33 -78
  125. package/esm2022/lib/progress-circle/progress-circle.directive.mjs +3 -3
  126. package/esm2022/lib/progress-circle/progress-circle.module.mjs +4 -4
  127. package/esm2022/lib/progress-circle/progress-circle.types.mjs +1 -1
  128. package/esm2022/lib/radio/index.mjs +4 -0
  129. package/esm2022/lib/radio/radio/radio.component.mjs +16 -25
  130. package/esm2022/lib/radio/radio-group.component.mjs +71 -85
  131. package/esm2022/lib/radio/radio.module.mjs +4 -4
  132. package/esm2022/lib/search-functions.mjs +7 -7
  133. package/esm2022/lib/segment/index.mjs +5 -0
  134. package/esm2022/lib/segment/segment.component.mjs +70 -137
  135. package/esm2022/lib/segment/segment.directives.mjs +4 -4
  136. package/esm2022/lib/segment/segment.module.mjs +4 -4
  137. package/esm2022/lib/select/index.mjs +5 -0
  138. package/esm2022/lib/select/select.component.mjs +348 -655
  139. package/esm2022/lib/select/select.directive.mjs +46 -46
  140. package/esm2022/lib/select/select.module.mjs +4 -4
  141. package/esm2022/lib/select/select.types.mjs +1 -1
  142. package/esm2022/lib/slide-toggle/index.mjs +4 -0
  143. package/esm2022/lib/slide-toggle/slide-toggle.component.mjs +19 -24
  144. package/esm2022/lib/slide-toggle/slide-toggle.module.mjs +4 -4
  145. package/esm2022/lib/slide-toggle/slide-toggle.types.mjs +5 -0
  146. package/esm2022/lib/slider/abstract-slider.mjs +111 -200
  147. package/esm2022/lib/slider/index.mjs +7 -0
  148. package/esm2022/lib/slider/range-slider/range-slider.component.mjs +26 -23
  149. package/esm2022/lib/slider/range-slider/range-slider.module.mjs +4 -4
  150. package/esm2022/lib/slider/slider.component.mjs +13 -10
  151. package/esm2022/lib/slider/slider.directive.mjs +3 -3
  152. package/esm2022/lib/slider/slider.module.mjs +7 -7
  153. package/esm2022/lib/slider/slider.types.mjs +1 -1
  154. package/esm2022/lib/snackbar/snackbar-ref.mjs +1 -1
  155. package/esm2022/lib/snackbar/snackbar.component.mjs +8 -8
  156. package/esm2022/lib/snackbar/snackbar.service.mjs +13 -12
  157. package/esm2022/lib/snackbar/snackbar.types.mjs +1 -1
  158. package/esm2022/lib/spinner/index.mjs +3 -0
  159. package/esm2022/lib/spinner/spinner.component.mjs +9 -13
  160. package/esm2022/lib/spinner/spinner.module.mjs +4 -4
  161. package/esm2022/lib/star/index.mjs +4 -0
  162. package/esm2022/lib/star/star-button/index.mjs +3 -0
  163. package/esm2022/lib/star/star-button/star-button.component.mjs +17 -26
  164. package/esm2022/lib/star/star-button/star-button.module.mjs +4 -4
  165. package/esm2022/lib/star/star-display/index.mjs +3 -0
  166. package/esm2022/lib/star/star-display/star-display.component.mjs +48 -55
  167. package/esm2022/lib/star/star-display/star-display.module.mjs +4 -4
  168. package/esm2022/lib/star/star-input/index.mjs +3 -0
  169. package/esm2022/lib/star/star-input/star-input.component.mjs +70 -106
  170. package/esm2022/lib/star/star-input/star-input.module.mjs +4 -4
  171. package/esm2022/lib/star/star.component.mjs +12 -20
  172. package/esm2022/lib/star/star.module.mjs +4 -4
  173. package/esm2022/lib/statebox/index.mjs +3 -0
  174. package/esm2022/lib/statebox/statebox.component.mjs +64 -102
  175. package/esm2022/lib/statebox/statebox.module.mjs +4 -4
  176. package/esm2022/lib/statebox/statebox.types.mjs +1 -1
  177. package/esm2022/lib/tabber/index.mjs +4 -0
  178. package/esm2022/lib/tabber/tab/tab.component.mjs +42 -0
  179. package/esm2022/lib/tabber/tabber.component.mjs +83 -0
  180. package/esm2022/lib/tabber/tabber.module.mjs +19 -0
  181. package/esm2022/lib/table/index.mjs +5 -0
  182. package/esm2022/lib/table/table-item-storage.mjs +204 -200
  183. package/esm2022/lib/table/table.component.mjs +184 -304
  184. package/esm2022/lib/table/table.directives.mjs +19 -21
  185. package/esm2022/lib/table/table.module.mjs +4 -4
  186. package/esm2022/lib/table/utils.mjs +1 -1
  187. package/esm2022/lib/table-from-csv/index.mjs +3 -0
  188. package/esm2022/lib/table-from-csv/table-from-csv.component.mjs +85 -29
  189. package/esm2022/lib/table-from-csv/table-from-csv.module.mjs +4 -4
  190. package/esm2022/lib/table-pagination/index.mjs +4 -0
  191. package/esm2022/lib/table-pagination/table-pagination.component.mjs +46 -114
  192. package/esm2022/lib/table-pagination/table-pagination.module.mjs +4 -4
  193. package/esm2022/lib/types/item-storage.types.mjs +1 -1
  194. package/esm2022/lib/types/utility.types.mjs +2 -2
  195. package/esm2022/public-api.mjs +58 -182
  196. package/fesm2022/ardium-ui-ui.mjs +7847 -11692
  197. package/fesm2022/ardium-ui-ui.mjs.map +1 -1
  198. package/lib/_internal/boolean-component.d.ts +8 -9
  199. package/lib/_internal/clear-button/clear-button.component.d.ts +1 -1
  200. package/lib/_internal/disablable-component.d.ts +12 -7
  201. package/lib/_internal/focusable-component.d.ts +5 -7
  202. package/lib/_internal/item-storages/dropdown-item-storage.d.ts +43 -41
  203. package/lib/_internal/item-storages/simple-item-storage.d.ts +28 -25
  204. package/lib/_internal/item-storages/simplest-item-storage.d.ts +14 -9
  205. package/lib/_internal/models/pagination.model.d.ts +38 -42
  206. package/lib/_internal/ngmodel-component.d.ts +1 -1
  207. package/lib/_internal/selectable-list-component.d.ts +30 -30
  208. package/lib/badge/badge.directive.d.ts +15 -20
  209. package/lib/badge/index.d.ts +3 -0
  210. package/lib/buttons/_button-base.d.ts +9 -12
  211. package/lib/buttons/button/button.component.d.ts +6 -8
  212. package/lib/buttons/button/index.d.ts +2 -0
  213. package/lib/buttons/fab/fab.component.d.ts +4 -6
  214. package/lib/buttons/fab/index.d.ts +2 -0
  215. package/lib/buttons/icon-button/icon-button.component.d.ts +6 -7
  216. package/lib/buttons/icon-button/index.d.ts +2 -0
  217. package/lib/card/card.children.d.ts +4 -3
  218. package/lib/card/card.component.d.ts +5 -4
  219. package/lib/card/index.d.ts +4 -0
  220. package/lib/checkbox/checkbox.component.d.ts +8 -12
  221. package/lib/checkbox/index.d.ts +3 -0
  222. package/lib/checkbox-list/checkbox-list.component.d.ts +22 -21
  223. package/lib/checkbox-list/index.d.ts +3 -0
  224. package/lib/chip/chip.component.d.ts +8 -10
  225. package/lib/chip/deletable-chip/deletable-chip.component.d.ts +11 -14
  226. package/lib/chip/index.d.ts +4 -0
  227. package/lib/chip/selectable-chip/selectable-chip.component.d.ts +10 -12
  228. package/lib/color/color-display/color-display.component.d.ts +6 -9
  229. package/lib/color/color-display/index.d.ts +3 -0
  230. package/lib/color/color-picker/color-picker.types.d.ts +4 -4
  231. package/lib/dialog/dialog.component.d.ts +25 -35
  232. package/lib/dialog/dialog.types.d.ts +2 -2
  233. package/lib/dialog/index.d.ts +4 -0
  234. package/lib/divider/divider.component.d.ts +3 -4
  235. package/lib/divider/index.d.ts +2 -0
  236. package/lib/dropdown-panel/dropdown-panel.component.d.ts +17 -20
  237. package/lib/dropdown-panel/index.d.ts +3 -0
  238. package/lib/file-inputs/file-drop-area/file-drop-area.component.d.ts +5 -4
  239. package/lib/file-inputs/file-drop-area/index.d.ts +3 -0
  240. package/lib/file-inputs/file-input/file-input.component.d.ts +13 -17
  241. package/lib/file-inputs/file-input/index.d.ts +3 -0
  242. package/lib/file-inputs/file-input-base.d.ts +13 -18
  243. package/lib/form-field-frame/form-field-frame.component.d.ts +12 -16
  244. package/lib/form-field-frame/index.d.ts +3 -0
  245. package/lib/icon/icon.component.d.ts +10 -19
  246. package/lib/icon/index.d.ts +3 -0
  247. package/lib/inputs/color-input/color-input.types.d.ts +2 -2
  248. package/lib/inputs/digit-input/digit-input.component.d.ts +22 -30
  249. package/lib/inputs/digit-input/digit-input.model.d.ts +8 -12
  250. package/lib/inputs/digit-input/digit-input.types.d.ts +4 -4
  251. package/lib/inputs/digit-input/digit-input.utils.d.ts +4 -5
  252. package/lib/inputs/digit-input/index.d.ts +3 -0
  253. package/lib/inputs/hex-input/hex-input.component.d.ts +32 -38
  254. package/lib/inputs/hex-input/index.d.ts +3 -0
  255. package/lib/inputs/hex-input.model.d.ts +10 -11
  256. package/lib/inputs/input/index.d.ts +3 -0
  257. package/lib/inputs/input/input.component.d.ts +34 -40
  258. package/lib/inputs/input/input.directives.d.ts +3 -3
  259. package/lib/inputs/input-utils.d.ts +24 -27
  260. package/lib/inputs/number-input/index.d.ts +3 -0
  261. package/lib/inputs/number-input/number-input.component.d.ts +38 -48
  262. package/lib/inputs/password-input/index.d.ts +4 -0
  263. package/lib/inputs/password-input/password-input.component.d.ts +28 -40
  264. package/lib/inputs/password-input/password-input.types.d.ts +2 -2
  265. package/lib/inputs/simple-input/index.d.ts +3 -0
  266. package/lib/inputs/simple-input/simple-input.component.d.ts +30 -35
  267. package/lib/kbd/index.d.ts +3 -0
  268. package/lib/kbd/kbd.component.d.ts +6 -8
  269. package/lib/kbd-shortcut/index.d.ts +2 -0
  270. package/lib/kbd-shortcut/kbd-shortcut.component.d.ts +7 -10
  271. package/lib/modal/index.d.ts +2 -0
  272. package/lib/modal/modal.component.d.ts +22 -30
  273. package/lib/option/index.d.ts +2 -0
  274. package/lib/option/option.component.d.ts +11 -16
  275. package/lib/progress-bar/index.d.ts +4 -0
  276. package/lib/progress-bar/progress-bar.component.d.ts +14 -20
  277. package/lib/progress-bar/progress-bar.types.d.ts +2 -2
  278. package/lib/progress-circle/index.d.ts +4 -0
  279. package/lib/progress-circle/progress-circle.component.d.ts +12 -20
  280. package/lib/progress-circle/progress-circle.types.d.ts +2 -2
  281. package/lib/radio/index.d.ts +3 -0
  282. package/lib/radio/radio/radio.component.d.ts +7 -8
  283. package/lib/radio/radio-group.component.d.ts +13 -16
  284. package/lib/segment/index.d.ts +4 -0
  285. package/lib/segment/segment.component.d.ts +22 -34
  286. package/lib/segment/segment.directives.d.ts +2 -3
  287. package/lib/select/index.d.ts +4 -0
  288. package/lib/select/select.component.d.ts +114 -160
  289. package/lib/select/select.directive.d.ts +3 -3
  290. package/lib/select/select.types.d.ts +2 -76
  291. package/lib/slide-toggle/index.d.ts +3 -0
  292. package/lib/slide-toggle/slide-toggle.component.d.ts +9 -7
  293. package/lib/slide-toggle/slide-toggle.types.d.ts +5 -0
  294. package/lib/slider/abstract-slider.d.ts +38 -55
  295. package/lib/slider/index.d.ts +6 -0
  296. package/lib/slider/range-slider/range-slider.component.d.ts +3 -1
  297. package/lib/slider/slider.component.d.ts +2 -0
  298. package/lib/slider/slider.types.d.ts +8 -8
  299. package/lib/snackbar/snackbar-ref.d.ts +1 -2
  300. package/lib/snackbar/snackbar.component.d.ts +3 -3
  301. package/lib/snackbar/snackbar.service.d.ts +2 -2
  302. package/lib/snackbar/snackbar.types.d.ts +4 -4
  303. package/lib/spinner/index.d.ts +2 -0
  304. package/lib/spinner/spinner.component.d.ts +3 -3
  305. package/lib/star/index.d.ts +3 -0
  306. package/lib/star/star-button/index.d.ts +2 -0
  307. package/lib/star/star-button/star-button.component.d.ts +7 -7
  308. package/lib/star/star-display/index.d.ts +2 -0
  309. package/lib/star/star-display/star-display.component.d.ts +8 -12
  310. package/lib/star/star-input/index.d.ts +2 -0
  311. package/lib/star/star-input/star-input.component.d.ts +17 -22
  312. package/lib/star/star.component.d.ts +5 -5
  313. package/lib/statebox/index.d.ts +3 -0
  314. package/lib/statebox/statebox.component.d.ts +15 -21
  315. package/lib/statebox/statebox.types.d.ts +12 -8
  316. package/lib/tabber/index.d.ts +3 -0
  317. package/lib/tabber/tab/tab.component.d.ts +18 -0
  318. package/lib/tabber/tabber.component.d.ts +25 -0
  319. package/lib/tabber/tabber.module.d.ts +9 -0
  320. package/lib/table/index.d.ts +4 -0
  321. package/lib/table/table-item-storage.d.ts +70 -58
  322. package/lib/table/table.component.d.ts +59 -78
  323. package/lib/table/table.directives.d.ts +4 -3
  324. package/lib/table-from-csv/index.d.ts +2 -0
  325. package/lib/table-from-csv/table-from-csv.component.d.ts +46 -9
  326. package/lib/table-pagination/index.d.ts +3 -0
  327. package/lib/table-pagination/table-pagination.component.d.ts +21 -30
  328. package/lib/types/item-storage.types.d.ts +19 -18
  329. package/lib/types/utility.types.d.ts +2 -1
  330. package/package.json +8 -9
  331. package/prebuilt-themes/default/badge.css +5 -5
  332. package/prebuilt-themes/default/buttons/fab.css +4 -3
  333. package/prebuilt-themes/default/buttons/fab.css.map +1 -1
  334. package/prebuilt-themes/default/card.css +7 -7
  335. package/prebuilt-themes/default/chips.css +3 -8
  336. package/prebuilt-themes/default/chips.css.map +1 -1
  337. package/prebuilt-themes/default/core.css +6 -3
  338. package/prebuilt-themes/default/core.css.map +1 -1
  339. package/prebuilt-themes/default/inputs/color-input.css +1 -1
  340. package/prebuilt-themes/default/inputs/digit-input.css +1 -1
  341. package/prebuilt-themes/default/inputs/file-input.css +139 -2
  342. package/prebuilt-themes/default/inputs/file-input.css.map +1 -1
  343. package/prebuilt-themes/default/inputs/hex-input.css +2 -2
  344. package/prebuilt-themes/default/inputs/input.css +1 -1
  345. package/prebuilt-themes/default/inputs/search-bar.css +1 -1
  346. package/prebuilt-themes/default/inputs/simple-input.css +1 -1
  347. package/prebuilt-themes/default/modal.css +1 -1
  348. package/prebuilt-themes/default/segment.css +2 -2
  349. package/prebuilt-themes/default/segment.css.map +1 -1
  350. package/prebuilt-themes/default/select.css +5 -3
  351. package/prebuilt-themes/default/select.css.map +1 -1
  352. package/prebuilt-themes/default/snackbar.css +0 -1
  353. package/prebuilt-themes/default/snackbar.css.map +1 -1
  354. package/prebuilt-themes/default/tabber.css +207 -0
  355. package/prebuilt-themes/default/tabber.css.map +1 -0
  356. package/public-api.d.ts +43 -136
  357. package/themes/default/_clear-button.scss +1 -1
  358. package/themes/default/badge.scss +5 -5
  359. package/themes/default/buttons/fab.scss +5 -3
  360. package/themes/default/card.scss +7 -7
  361. package/themes/default/chips.scss +2 -8
  362. package/themes/default/core.scss +6 -3
  363. package/themes/default/inputs/digit-input.scss +1 -1
  364. package/themes/default/inputs/file-input.scss +8 -1
  365. package/themes/default/inputs/hex-input.scss +1 -1
  366. package/themes/default/modal.scss +1 -1
  367. package/themes/default/segment.scss +2 -1
  368. package/themes/default/select.scss +4 -2
  369. package/themes/default/snackbar.scss +0 -2
  370. package/themes/default/tabber.scss +86 -0
  371. package/esm2022/lib/calendar/calendar.component.mjs +0 -979
  372. package/esm2022/lib/calendar/calendar.directives.mjs +0 -107
  373. package/esm2022/lib/calendar/calendar.helpers.mjs +0 -47
  374. package/esm2022/lib/calendar/calendar.module.mjs +0 -21
  375. package/esm2022/lib/calendar/calendar.types.mjs +0 -11
  376. package/esm2022/lib/color/color-picker/color-picker.component.mjs +0 -484
  377. package/esm2022/lib/color/color-picker/color-picker.directives.mjs +0 -55
  378. package/esm2022/lib/color/color-picker/color-picker.module.mjs +0 -43
  379. package/esm2022/lib/inputs/color-input/color-input.component.mjs +0 -421
  380. package/esm2022/lib/inputs/color-input/color-input.module.mjs +0 -85
  381. package/lib/calendar/calendar.component.d.ts +0 -155
  382. package/lib/calendar/calendar.directives.d.ts +0 -51
  383. package/lib/calendar/calendar.helpers.d.ts +0 -15
  384. package/lib/calendar/calendar.module.d.ts +0 -11
  385. package/lib/calendar/calendar.types.d.ts +0 -80
  386. package/lib/color/color-picker/color-picker.component.d.ts +0 -125
  387. package/lib/color/color-picker/color-picker.directives.d.ts +0 -27
  388. package/lib/color/color-picker/color-picker.module.d.ts +0 -13
  389. package/lib/inputs/color-input/color-input.component.d.ts +0 -147
  390. package/lib/inputs/color-input/color-input.module.d.ts +0 -16
@@ -4,10 +4,10 @@ export class ArdSuggestionTemplateDirective {
4
4
  constructor(template) {
5
5
  this.template = template;
6
6
  }
7
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ArdSuggestionTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
8
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.7", type: ArdSuggestionTemplateDirective, selector: "ard-input > ng-template[ard-suggestion-tmp]", ngImport: i0 }); }
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdSuggestionTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
8
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.2", type: ArdSuggestionTemplateDirective, selector: "ard-input > ng-template[ard-suggestion-tmp]", ngImport: i0 }); }
9
9
  }
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ArdSuggestionTemplateDirective, decorators: [{
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdSuggestionTemplateDirective, decorators: [{
11
11
  type: Directive,
12
12
  args: [{ selector: 'ard-input > ng-template[ard-suggestion-tmp]' }]
13
13
  }], ctorParameters: () => [{ type: i0.TemplateRef }] });
@@ -15,10 +15,10 @@ export class ArdInputPlaceholderTemplateDirective {
15
15
  constructor(template) {
16
16
  this.template = template;
17
17
  }
18
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ArdInputPlaceholderTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
19
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.7", type: ArdInputPlaceholderTemplateDirective, selector: "ard-input > ng-template[ard-placeholder-tmp]", ngImport: i0 }); }
18
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdInputPlaceholderTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
19
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.2", type: ArdInputPlaceholderTemplateDirective, selector: "ard-input > ng-template[ard-placeholder-tmp]", ngImport: i0 }); }
20
20
  }
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ArdInputPlaceholderTemplateDirective, decorators: [{
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdInputPlaceholderTemplateDirective, decorators: [{
22
22
  type: Directive,
23
23
  args: [{ selector: 'ard-input > ng-template[ard-placeholder-tmp]' }]
24
24
  }], ctorParameters: () => [{ type: i0.TemplateRef }] });
@@ -26,10 +26,10 @@ export class ArdInputLoadingTemplateDirective {
26
26
  constructor(template) {
27
27
  this.template = template;
28
28
  }
29
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ArdInputLoadingTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
30
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.7", type: ArdInputLoadingTemplateDirective, selector: "ard-input > ng-template[ard-loading-tmp]", ngImport: i0 }); }
29
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdInputLoadingTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
30
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.2", type: ArdInputLoadingTemplateDirective, selector: "ard-input > ng-template[ard-loading-tmp]", ngImport: i0 }); }
31
31
  }
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ArdInputLoadingTemplateDirective, decorators: [{
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdInputLoadingTemplateDirective, decorators: [{
33
33
  type: Directive,
34
34
  args: [{ selector: 'ard-input > ng-template[ard-loading-tmp]' }]
35
35
  }], ctorParameters: () => [{ type: i0.TemplateRef }] });
@@ -37,10 +37,10 @@ export class ArdInputPrefixTemplateDirective {
37
37
  constructor(template) {
38
38
  this.template = template;
39
39
  }
40
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ArdInputPrefixTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
41
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.7", type: ArdInputPrefixTemplateDirective, selector: "ard-input > ng-template[ard-prefix-tmp]", ngImport: i0 }); }
40
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdInputPrefixTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
41
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.2", type: ArdInputPrefixTemplateDirective, selector: "ard-input > ng-template[ard-prefix-tmp]", ngImport: i0 }); }
42
42
  }
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ArdInputPrefixTemplateDirective, decorators: [{
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdInputPrefixTemplateDirective, decorators: [{
44
44
  type: Directive,
45
45
  args: [{ selector: 'ard-input > ng-template[ard-prefix-tmp]' }]
46
46
  }], ctorParameters: () => [{ type: i0.TemplateRef }] });
@@ -48,11 +48,11 @@ export class ArdInputSuffixTemplateDirective {
48
48
  constructor(template) {
49
49
  this.template = template;
50
50
  }
51
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ArdInputSuffixTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
52
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.7", type: ArdInputSuffixTemplateDirective, selector: "ard-input > ng-template[ard-suffix-tmp]", ngImport: i0 }); }
51
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdInputSuffixTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
52
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.2", type: ArdInputSuffixTemplateDirective, selector: "ard-input > ng-template[ard-suffix-tmp]", ngImport: i0 }); }
53
53
  }
54
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ArdInputSuffixTemplateDirective, decorators: [{
54
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdInputSuffixTemplateDirective, decorators: [{
55
55
  type: Directive,
56
56
  args: [{ selector: 'ard-input > ng-template[ard-suffix-tmp]' }]
57
57
  }], ctorParameters: () => [{ type: i0.TemplateRef }] });
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuZGlyZWN0aXZlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvaW5wdXRzL2lucHV0L2lucHV0LmRpcmVjdGl2ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBZSxNQUFNLGVBQWUsQ0FBQzs7QUFJdkQsTUFBTSxPQUFPLDhCQUE4QjtJQUN6QyxZQUFtQixRQUFvQztRQUFwQyxhQUFRLEdBQVIsUUFBUSxDQUE0QjtJQUFHLENBQUM7OEdBRGhELDhCQUE4QjtrR0FBOUIsOEJBQThCOzsyRkFBOUIsOEJBQThCO2tCQUQxQyxTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLDZDQUE2QyxFQUFFOztBQU10RSxNQUFNLE9BQU8sb0NBQW9DO0lBQy9DLFlBQW1CLFFBQWdDO1FBQWhDLGFBQVEsR0FBUixRQUFRLENBQXdCO0lBQUcsQ0FBQzs4R0FENUMsb0NBQW9DO2tHQUFwQyxvQ0FBb0M7OzJGQUFwQyxvQ0FBb0M7a0JBRGhELFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsOENBQThDLEVBQUU7O0FBTXZFLE1BQU0sT0FBTyxnQ0FBZ0M7SUFDM0MsWUFBbUIsUUFBZ0M7UUFBaEMsYUFBUSxHQUFSLFFBQVEsQ0FBd0I7SUFBRyxDQUFDOzhHQUQ1QyxnQ0FBZ0M7a0dBQWhDLGdDQUFnQzs7MkZBQWhDLGdDQUFnQztrQkFENUMsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSwwQ0FBMEMsRUFBRTs7QUFNbkUsTUFBTSxPQUFPLCtCQUErQjtJQUMxQyxZQUFtQixRQUFnQztRQUFoQyxhQUFRLEdBQVIsUUFBUSxDQUF3QjtJQUFHLENBQUM7OEdBRDVDLCtCQUErQjtrR0FBL0IsK0JBQStCOzsyRkFBL0IsK0JBQStCO2tCQUQzQyxTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLHlDQUF5QyxFQUFFOztBQU1sRSxNQUFNLE9BQU8sK0JBQStCO0lBQzFDLFlBQW1CLFFBQWdDO1FBQWhDLGFBQVEsR0FBUixRQUFRLENBQXdCO0lBQUcsQ0FBQzs4R0FENUMsK0JBQStCO2tHQUEvQiwrQkFBK0I7OzJGQUEvQiwrQkFBK0I7a0JBRDNDLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUseUNBQXlDLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPcHRpb25Db250ZXh0IH0gZnJvbSAnLi4vLi4vdHlwZXMvaXRlbS1zdG9yYWdlLnR5cGVzJztcblxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnYXJkLWlucHV0ID4gbmctdGVtcGxhdGVbYXJkLXN1Z2dlc3Rpb24tdG1wXScgfSlcbmV4cG9ydCBjbGFzcyBBcmRTdWdnZXN0aW9uVGVtcGxhdGVEaXJlY3RpdmUge1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPE9wdGlvbkNvbnRleHQ+KSB7fVxufVxuXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdhcmQtaW5wdXQgPiBuZy10ZW1wbGF0ZVthcmQtcGxhY2Vob2xkZXItdG1wXScgfSlcbmV4cG9ydCBjbGFzcyBBcmRJbnB1dFBsYWNlaG9sZGVyVGVtcGxhdGVEaXJlY3RpdmUge1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPHVuZGVmaW5lZD4pIHt9XG59XG5cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ2FyZC1pbnB1dCA+IG5nLXRlbXBsYXRlW2FyZC1sb2FkaW5nLXRtcF0nIH0pXG5leHBvcnQgY2xhc3MgQXJkSW5wdXRMb2FkaW5nVGVtcGxhdGVEaXJlY3RpdmUge1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPHVuZGVmaW5lZD4pIHt9XG59XG5cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ2FyZC1pbnB1dCA+IG5nLXRlbXBsYXRlW2FyZC1wcmVmaXgtdG1wXScgfSlcbmV4cG9ydCBjbGFzcyBBcmRJbnB1dFByZWZpeFRlbXBsYXRlRGlyZWN0aXZlIHtcbiAgY29uc3RydWN0b3IocHVibGljIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmRlZmluZWQ+KSB7fVxufVxuXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdhcmQtaW5wdXQgPiBuZy10ZW1wbGF0ZVthcmQtc3VmZml4LXRtcF0nIH0pXG5leHBvcnQgY2xhc3MgQXJkSW5wdXRTdWZmaXhUZW1wbGF0ZURpcmVjdGl2ZSB7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8dW5kZWZpbmVkPikge31cbn1cbiJdfQ==
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuZGlyZWN0aXZlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvaW5wdXRzL2lucHV0L2lucHV0LmRpcmVjdGl2ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBZSxNQUFNLGVBQWUsQ0FBQzs7QUFJdkQsTUFBTSxPQUFPLDhCQUE4QjtJQUN6QyxZQUFtQixRQUE0RDtRQUE1RCxhQUFRLEdBQVIsUUFBUSxDQUFvRDtJQUFHLENBQUM7OEdBRHhFLDhCQUE4QjtrR0FBOUIsOEJBQThCOzsyRkFBOUIsOEJBQThCO2tCQUQxQyxTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLDZDQUE2QyxFQUFFOztBQU10RSxNQUFNLE9BQU8sb0NBQW9DO0lBQy9DLFlBQW1CLFFBQWdDO1FBQWhDLGFBQVEsR0FBUixRQUFRLENBQXdCO0lBQUcsQ0FBQzs4R0FENUMsb0NBQW9DO2tHQUFwQyxvQ0FBb0M7OzJGQUFwQyxvQ0FBb0M7a0JBRGhELFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsOENBQThDLEVBQUU7O0FBTXZFLE1BQU0sT0FBTyxnQ0FBZ0M7SUFDM0MsWUFBbUIsUUFBZ0M7UUFBaEMsYUFBUSxHQUFSLFFBQVEsQ0FBd0I7SUFBRyxDQUFDOzhHQUQ1QyxnQ0FBZ0M7a0dBQWhDLGdDQUFnQzs7MkZBQWhDLGdDQUFnQztrQkFENUMsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSwwQ0FBMEMsRUFBRTs7QUFNbkUsTUFBTSxPQUFPLCtCQUErQjtJQUMxQyxZQUFtQixRQUFnQztRQUFoQyxhQUFRLEdBQVIsUUFBUSxDQUF3QjtJQUFHLENBQUM7OEdBRDVDLCtCQUErQjtrR0FBL0IsK0JBQStCOzsyRkFBL0IsK0JBQStCO2tCQUQzQyxTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLHlDQUF5QyxFQUFFOztBQU1sRSxNQUFNLE9BQU8sK0JBQStCO0lBQzFDLFlBQW1CLFFBQWdDO1FBQWhDLGFBQVEsR0FBUixRQUFRLENBQXdCO0lBQUcsQ0FBQzs4R0FENUMsK0JBQStCO2tHQUEvQiwrQkFBK0I7OzJGQUEvQiwrQkFBK0I7a0JBRDNDLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUseUNBQXlDLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBcmRTaW1wbGVzdFN0b3JhZ2VJdGVtLCBPcHRpb25Db250ZXh0IH0gZnJvbSAnLi4vLi4vdHlwZXMvaXRlbS1zdG9yYWdlLnR5cGVzJztcblxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnYXJkLWlucHV0ID4gbmctdGVtcGxhdGVbYXJkLXN1Z2dlc3Rpb24tdG1wXScgfSlcbmV4cG9ydCBjbGFzcyBBcmRTdWdnZXN0aW9uVGVtcGxhdGVEaXJlY3RpdmUge1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPE9wdGlvbkNvbnRleHQ8QXJkU2ltcGxlc3RTdG9yYWdlSXRlbT4+KSB7fVxufVxuXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdhcmQtaW5wdXQgPiBuZy10ZW1wbGF0ZVthcmQtcGxhY2Vob2xkZXItdG1wXScgfSlcbmV4cG9ydCBjbGFzcyBBcmRJbnB1dFBsYWNlaG9sZGVyVGVtcGxhdGVEaXJlY3RpdmUge1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPHVuZGVmaW5lZD4pIHt9XG59XG5cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ2FyZC1pbnB1dCA+IG5nLXRlbXBsYXRlW2FyZC1sb2FkaW5nLXRtcF0nIH0pXG5leHBvcnQgY2xhc3MgQXJkSW5wdXRMb2FkaW5nVGVtcGxhdGVEaXJlY3RpdmUge1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPHVuZGVmaW5lZD4pIHt9XG59XG5cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ2FyZC1pbnB1dCA+IG5nLXRlbXBsYXRlW2FyZC1wcmVmaXgtdG1wXScgfSlcbmV4cG9ydCBjbGFzcyBBcmRJbnB1dFByZWZpeFRlbXBsYXRlRGlyZWN0aXZlIHtcbiAgY29uc3RydWN0b3IocHVibGljIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmRlZmluZWQ+KSB7fVxufVxuXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdhcmQtaW5wdXQgPiBuZy10ZW1wbGF0ZVthcmQtc3VmZml4LXRtcF0nIH0pXG5leHBvcnQgY2xhc3MgQXJkSW5wdXRTdWZmaXhUZW1wbGF0ZURpcmVjdGl2ZSB7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8dW5kZWZpbmVkPikge31cbn1cbiJdfQ==
@@ -8,21 +8,29 @@ import { ArdiumInputComponent } from './input.component';
8
8
  import { ArdInputLoadingTemplateDirective, ArdInputPlaceholderTemplateDirective, ArdInputPrefixTemplateDirective, ArdInputSuffixTemplateDirective, ArdSuggestionTemplateDirective, } from './input.directives';
9
9
  import * as i0 from "@angular/core";
10
10
  export class ArdiumInputModule {
11
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ArdiumInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
12
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.7", ngImport: i0, type: ArdiumInputModule, declarations: [ArdiumInputComponent,
11
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdiumInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
12
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.2", ngImport: i0, type: ArdiumInputModule, declarations: [ArdiumInputComponent,
13
13
  ArdSuggestionTemplateDirective,
14
14
  ArdInputPlaceholderTemplateDirective,
15
15
  ArdInputLoadingTemplateDirective,
16
16
  ArdInputPrefixTemplateDirective,
17
- ArdInputSuffixTemplateDirective], imports: [CommonModule, ArdiumFormFieldFrameModule, _ClearButtonModule, ArdiumDropdownPanelModule, ArdiumClickOutsideEventModule], exports: [ArdiumInputComponent,
17
+ ArdInputSuffixTemplateDirective], imports: [CommonModule,
18
+ ArdiumFormFieldFrameModule,
19
+ _ClearButtonModule,
20
+ ArdiumDropdownPanelModule,
21
+ ArdiumClickOutsideEventModule], exports: [ArdiumInputComponent,
18
22
  ArdSuggestionTemplateDirective,
19
23
  ArdInputPlaceholderTemplateDirective,
20
24
  ArdInputLoadingTemplateDirective,
21
25
  ArdInputPrefixTemplateDirective,
22
26
  ArdInputSuffixTemplateDirective] }); }
23
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ArdiumInputModule, imports: [CommonModule, ArdiumFormFieldFrameModule, _ClearButtonModule, ArdiumDropdownPanelModule, ArdiumClickOutsideEventModule] }); }
27
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdiumInputModule, imports: [CommonModule,
28
+ ArdiumFormFieldFrameModule,
29
+ _ClearButtonModule,
30
+ ArdiumDropdownPanelModule,
31
+ ArdiumClickOutsideEventModule] }); }
24
32
  }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ArdiumInputModule, decorators: [{
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdiumInputModule, decorators: [{
26
34
  type: NgModule,
27
35
  args: [{
28
36
  declarations: [
@@ -33,7 +41,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImpor
33
41
  ArdInputPrefixTemplateDirective,
34
42
  ArdInputSuffixTemplateDirective,
35
43
  ],
36
- imports: [CommonModule, ArdiumFormFieldFrameModule, _ClearButtonModule, ArdiumDropdownPanelModule, ArdiumClickOutsideEventModule],
44
+ imports: [
45
+ CommonModule,
46
+ ArdiumFormFieldFrameModule,
47
+ _ClearButtonModule,
48
+ ArdiumDropdownPanelModule,
49
+ ArdiumClickOutsideEventModule,
50
+ ],
37
51
  exports: [
38
52
  ArdiumInputComponent,
39
53
  ArdSuggestionTemplateDirective,
@@ -44,4 +58,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImpor
44
58
  ],
45
59
  }]
46
60
  }] });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9pbnB1dHMvaW5wdXQvaW5wdXQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQzVGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3pELE9BQU8sRUFDTCxnQ0FBZ0MsRUFDaEMsb0NBQW9DLEVBQ3BDLCtCQUErQixFQUMvQiwrQkFBK0IsRUFDL0IsOEJBQThCLEdBQy9CLE1BQU0sb0JBQW9CLENBQUM7O0FBcUI1QixNQUFNLE9BQU8saUJBQWlCOzhHQUFqQixpQkFBaUI7K0dBQWpCLGlCQUFpQixpQkFqQjFCLG9CQUFvQjtZQUNwQiw4QkFBOEI7WUFDOUIsb0NBQW9DO1lBQ3BDLGdDQUFnQztZQUNoQywrQkFBK0I7WUFDL0IsK0JBQStCLGFBRXZCLFlBQVksRUFBRSwwQkFBMEIsRUFBRSxrQkFBa0IsRUFBRSx5QkFBeUIsRUFBRSw2QkFBNkIsYUFFOUgsb0JBQW9CO1lBQ3BCLDhCQUE4QjtZQUM5QixvQ0FBb0M7WUFDcEMsZ0NBQWdDO1lBQ2hDLCtCQUErQjtZQUMvQiwrQkFBK0I7K0dBR3RCLGlCQUFpQixZQVZsQixZQUFZLEVBQUUsMEJBQTBCLEVBQUUsa0JBQWtCLEVBQUUseUJBQXlCLEVBQUUsNkJBQTZCOzsyRkFVckgsaUJBQWlCO2tCQW5CN0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osb0JBQW9CO3dCQUNwQiw4QkFBOEI7d0JBQzlCLG9DQUFvQzt3QkFDcEMsZ0NBQWdDO3dCQUNoQywrQkFBK0I7d0JBQy9CLCtCQUErQjtxQkFDaEM7b0JBQ0QsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLDBCQUEwQixFQUFFLGtCQUFrQixFQUFFLHlCQUF5QixFQUFFLDZCQUE2QixDQUFDO29CQUNqSSxPQUFPLEVBQUU7d0JBQ1Asb0JBQW9CO3dCQUNwQiw4QkFBOEI7d0JBQzlCLG9DQUFvQzt3QkFDcEMsZ0NBQWdDO3dCQUNoQywrQkFBK0I7d0JBQy9CLCtCQUErQjtxQkFDaEM7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFyZGl1bUNsaWNrT3V0c2lkZUV2ZW50TW9kdWxlIH0gZnJvbSAnQGFyZGl1bS11aS9kZXZraXQnO1xuaW1wb3J0IHsgQXJkaXVtRHJvcGRvd25QYW5lbE1vZHVsZSB9IGZyb20gJy4uLy4uL2Ryb3Bkb3duLXBhbmVsL2Ryb3Bkb3duLXBhbmVsLm1vZHVsZSc7XG5pbXBvcnQgeyBBcmRpdW1Gb3JtRmllbGRGcmFtZU1vZHVsZSB9IGZyb20gJy4uLy4uL2Zvcm0tZmllbGQtZnJhbWUvZm9ybS1maWVsZC1mcmFtZS5tb2R1bGUnO1xuaW1wb3J0IHsgX0NsZWFyQnV0dG9uTW9kdWxlIH0gZnJvbSAnLi4vLi4vX2ludGVybmFsL2NsZWFyLWJ1dHRvbi9jbGVhci1idXR0b24ubW9kdWxlJztcbmltcG9ydCB7IEFyZGl1bUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgQXJkSW5wdXRMb2FkaW5nVGVtcGxhdGVEaXJlY3RpdmUsXG4gIEFyZElucHV0UGxhY2Vob2xkZXJUZW1wbGF0ZURpcmVjdGl2ZSxcbiAgQXJkSW5wdXRQcmVmaXhUZW1wbGF0ZURpcmVjdGl2ZSxcbiAgQXJkSW5wdXRTdWZmaXhUZW1wbGF0ZURpcmVjdGl2ZSxcbiAgQXJkU3VnZ2VzdGlvblRlbXBsYXRlRGlyZWN0aXZlLFxufSBmcm9tICcuL2lucHV0LmRpcmVjdGl2ZXMnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBBcmRpdW1JbnB1dENvbXBvbmVudCxcbiAgICBBcmRTdWdnZXN0aW9uVGVtcGxhdGVEaXJlY3RpdmUsXG4gICAgQXJkSW5wdXRQbGFjZWhvbGRlclRlbXBsYXRlRGlyZWN0aXZlLFxuICAgIEFyZElucHV0TG9hZGluZ1RlbXBsYXRlRGlyZWN0aXZlLFxuICAgIEFyZElucHV0UHJlZml4VGVtcGxhdGVEaXJlY3RpdmUsXG4gICAgQXJkSW5wdXRTdWZmaXhUZW1wbGF0ZURpcmVjdGl2ZSxcbiAgXSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgQXJkaXVtRm9ybUZpZWxkRnJhbWVNb2R1bGUsIF9DbGVhckJ1dHRvbk1vZHVsZSwgQXJkaXVtRHJvcGRvd25QYW5lbE1vZHVsZSwgQXJkaXVtQ2xpY2tPdXRzaWRlRXZlbnRNb2R1bGVdLFxuICBleHBvcnRzOiBbXG4gICAgQXJkaXVtSW5wdXRDb21wb25lbnQsXG4gICAgQXJkU3VnZ2VzdGlvblRlbXBsYXRlRGlyZWN0aXZlLFxuICAgIEFyZElucHV0UGxhY2Vob2xkZXJUZW1wbGF0ZURpcmVjdGl2ZSxcbiAgICBBcmRJbnB1dExvYWRpbmdUZW1wbGF0ZURpcmVjdGl2ZSxcbiAgICBBcmRJbnB1dFByZWZpeFRlbXBsYXRlRGlyZWN0aXZlLFxuICAgIEFyZElucHV0U3VmZml4VGVtcGxhdGVEaXJlY3RpdmUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFyZGl1bUlucHV0TW9kdWxlIHt9XG4iXX0=
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9pbnB1dHMvaW5wdXQvaW5wdXQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQzVGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3pELE9BQU8sRUFDTCxnQ0FBZ0MsRUFDaEMsb0NBQW9DLEVBQ3BDLCtCQUErQixFQUMvQiwrQkFBK0IsRUFDL0IsOEJBQThCLEdBQy9CLE1BQU0sb0JBQW9CLENBQUM7O0FBMkI1QixNQUFNLE9BQU8saUJBQWlCOzhHQUFqQixpQkFBaUI7K0dBQWpCLGlCQUFpQixpQkF2QjFCLG9CQUFvQjtZQUNwQiw4QkFBOEI7WUFDOUIsb0NBQW9DO1lBQ3BDLGdDQUFnQztZQUNoQywrQkFBK0I7WUFDL0IsK0JBQStCLGFBRy9CLFlBQVk7WUFDWiwwQkFBMEI7WUFDMUIsa0JBQWtCO1lBQ2xCLHlCQUF5QjtZQUN6Qiw2QkFBNkIsYUFHN0Isb0JBQW9CO1lBQ3BCLDhCQUE4QjtZQUM5QixvQ0FBb0M7WUFDcEMsZ0NBQWdDO1lBQ2hDLCtCQUErQjtZQUMvQiwrQkFBK0I7K0dBR3RCLGlCQUFpQixZQWYxQixZQUFZO1lBQ1osMEJBQTBCO1lBQzFCLGtCQUFrQjtZQUNsQix5QkFBeUI7WUFDekIsNkJBQTZCOzsyRkFXcEIsaUJBQWlCO2tCQXpCN0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osb0JBQW9CO3dCQUNwQiw4QkFBOEI7d0JBQzlCLG9DQUFvQzt3QkFDcEMsZ0NBQWdDO3dCQUNoQywrQkFBK0I7d0JBQy9CLCtCQUErQjtxQkFDaEM7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osMEJBQTBCO3dCQUMxQixrQkFBa0I7d0JBQ2xCLHlCQUF5Qjt3QkFDekIsNkJBQTZCO3FCQUM5QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1Asb0JBQW9CO3dCQUNwQiw4QkFBOEI7d0JBQzlCLG9DQUFvQzt3QkFDcEMsZ0NBQWdDO3dCQUNoQywrQkFBK0I7d0JBQy9CLCtCQUErQjtxQkFDaEM7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFyZGl1bUNsaWNrT3V0c2lkZUV2ZW50TW9kdWxlIH0gZnJvbSAnQGFyZGl1bS11aS9kZXZraXQnO1xuaW1wb3J0IHsgQXJkaXVtRHJvcGRvd25QYW5lbE1vZHVsZSB9IGZyb20gJy4uLy4uL2Ryb3Bkb3duLXBhbmVsL2Ryb3Bkb3duLXBhbmVsLm1vZHVsZSc7XG5pbXBvcnQgeyBBcmRpdW1Gb3JtRmllbGRGcmFtZU1vZHVsZSB9IGZyb20gJy4uLy4uL2Zvcm0tZmllbGQtZnJhbWUvZm9ybS1maWVsZC1mcmFtZS5tb2R1bGUnO1xuaW1wb3J0IHsgX0NsZWFyQnV0dG9uTW9kdWxlIH0gZnJvbSAnLi4vLi4vX2ludGVybmFsL2NsZWFyLWJ1dHRvbi9jbGVhci1idXR0b24ubW9kdWxlJztcbmltcG9ydCB7IEFyZGl1bUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgQXJkSW5wdXRMb2FkaW5nVGVtcGxhdGVEaXJlY3RpdmUsXG4gIEFyZElucHV0UGxhY2Vob2xkZXJUZW1wbGF0ZURpcmVjdGl2ZSxcbiAgQXJkSW5wdXRQcmVmaXhUZW1wbGF0ZURpcmVjdGl2ZSxcbiAgQXJkSW5wdXRTdWZmaXhUZW1wbGF0ZURpcmVjdGl2ZSxcbiAgQXJkU3VnZ2VzdGlvblRlbXBsYXRlRGlyZWN0aXZlLFxufSBmcm9tICcuL2lucHV0LmRpcmVjdGl2ZXMnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBBcmRpdW1JbnB1dENvbXBvbmVudCxcbiAgICBBcmRTdWdnZXN0aW9uVGVtcGxhdGVEaXJlY3RpdmUsXG4gICAgQXJkSW5wdXRQbGFjZWhvbGRlclRlbXBsYXRlRGlyZWN0aXZlLFxuICAgIEFyZElucHV0TG9hZGluZ1RlbXBsYXRlRGlyZWN0aXZlLFxuICAgIEFyZElucHV0UHJlZml4VGVtcGxhdGVEaXJlY3RpdmUsXG4gICAgQXJkSW5wdXRTdWZmaXhUZW1wbGF0ZURpcmVjdGl2ZSxcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBBcmRpdW1Gb3JtRmllbGRGcmFtZU1vZHVsZSxcbiAgICBfQ2xlYXJCdXR0b25Nb2R1bGUsXG4gICAgQXJkaXVtRHJvcGRvd25QYW5lbE1vZHVsZSxcbiAgICBBcmRpdW1DbGlja091dHNpZGVFdmVudE1vZHVsZSxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIEFyZGl1bUlucHV0Q29tcG9uZW50LFxuICAgIEFyZFN1Z2dlc3Rpb25UZW1wbGF0ZURpcmVjdGl2ZSxcbiAgICBBcmRJbnB1dFBsYWNlaG9sZGVyVGVtcGxhdGVEaXJlY3RpdmUsXG4gICAgQXJkSW5wdXRMb2FkaW5nVGVtcGxhdGVEaXJlY3RpdmUsXG4gICAgQXJkSW5wdXRQcmVmaXhUZW1wbGF0ZURpcmVjdGl2ZSxcbiAgICBBcmRJbnB1dFN1ZmZpeFRlbXBsYXRlRGlyZWN0aXZlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBcmRpdW1JbnB1dE1vZHVsZSB7fVxuIl19
@@ -15,9 +15,9 @@ export class RegExpTransformer {
15
15
  break;
16
16
  }
17
17
  //apply regex
18
- let lengthBefore = text.length;
18
+ const lengthBefore = text.length;
19
19
  text = text.replace(this.regex, this.replace);
20
- let lengthAfter = text.length;
20
+ const lengthAfter = text.length;
21
21
  //fix caret pos
22
22
  caretPos = caretPos + (lengthAfter - lengthBefore);
23
23
  //for infinite loop prevention
@@ -37,14 +37,14 @@ const int = (currentText, previousText, caretPos) => {
37
37
  const regexes = [[/[^0-9-]/], [/(.+)-/, '$1']];
38
38
  let obj = { text: currentText, caretPos };
39
39
  for (const arr of regexes) {
40
- let [regex, replace, caretModif] = arr;
40
+ const [regex, replace, caretModif] = arr;
41
41
  obj = new RegExpTransformer(regex, replace, caretModif).apply(obj.text, previousText, obj.caretPos);
42
42
  }
43
43
  return obj;
44
44
  };
45
45
  const float = (currentText, previousText, caretPos) => {
46
46
  const regexes = [
47
- [/[^0-9,\.\-]/],
47
+ [/[^0-9,.-]/],
48
48
  [/,/, '.'],
49
49
  [/(.+)-/, '$1'],
50
50
  [/\.(.*)\./, '$1.'],
@@ -52,7 +52,7 @@ const float = (currentText, previousText, caretPos) => {
52
52
  ];
53
53
  let obj = { text: currentText, caretPos };
54
54
  for (const arr of regexes) {
55
- let [regex, replace, caretModif] = arr;
55
+ const [regex, replace, caretModif] = arr;
56
56
  obj = new RegExpTransformer(regex, replace, caretModif).apply(obj.text, previousText, obj.caretPos);
57
57
  }
58
58
  return obj;
@@ -63,4 +63,4 @@ export const ArdTransformer = {
63
63
  Integer: int,
64
64
  Float: float,
65
65
  };
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdHJhbnNmb3JtZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9pbnB1dHMvaW5wdXQtdHJhbnNmb3JtZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE1BQU0sT0FBTyxpQkFBaUI7SUFDNUIsWUFDUyxLQUFhLEVBQ2IsVUFBa0IsRUFBRSxFQUNwQixhQUFxQixDQUFDO1FBRnRCLFVBQUssR0FBTCxLQUFLLENBQVE7UUFDYixZQUFPLEdBQVAsT0FBTyxDQUFhO1FBQ3BCLGVBQVUsR0FBVixVQUFVLENBQVk7SUFDNUIsQ0FBQztJQUVKLEtBQUssQ0FBQyxXQUFtQixFQUFFLFlBQW9CLEVBQUUsUUFBZ0I7UUFDL0QsSUFBSSxJQUFJLEdBQUcsV0FBVyxDQUFDO1FBQ3ZCLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDdEIsSUFBSSxZQUFZLEdBQUcsQ0FBQyxDQUFDO1lBQ3JCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQzdCLHVCQUF1QjtnQkFDdkIsSUFBSSxZQUFZLEdBQUcsR0FBRyxFQUFFO29CQUN0QixPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLEtBQUssQ0FBQyxzRkFBc0YsQ0FBQyxDQUFDLENBQUM7b0JBQ3ZILE1BQU07aUJBQ1A7Z0JBQ0QsYUFBYTtnQkFDYixJQUFJLFlBQVksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO2dCQUMvQixJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDOUMsSUFBSSxXQUFXLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztnQkFDOUIsZUFBZTtnQkFDZixRQUFRLEdBQUcsUUFBUSxHQUFHLENBQUMsV0FBVyxHQUFHLFlBQVksQ0FBQyxDQUFDO2dCQUNuRCw4QkFBOEI7Z0JBQzlCLFlBQVksRUFBRSxDQUFDO2FBQ2hCO1NBQ0Y7UUFDRCxPQUFPLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDO0lBQzVCLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyxHQUFxQixDQUFDLFdBQW1CLEVBQUUsWUFBb0IsRUFBRSxRQUFnQixFQUFFLEVBQUU7SUFDaEcsT0FBTyxFQUFFLElBQUksRUFBRSxXQUFXLENBQUMsV0FBVyxFQUFFLEVBQUUsUUFBUSxFQUFFLENBQUM7QUFDdkQsQ0FBQyxDQUFDO0FBQ0YsTUFBTSxPQUFPLEdBQXFCLENBQUMsV0FBbUIsRUFBRSxZQUFvQixFQUFFLFFBQWdCLEVBQUUsRUFBRTtJQUNoRyxPQUFPLEVBQUUsSUFBSSxFQUFFLFdBQVcsQ0FBQyxXQUFXLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBQztBQUN2RCxDQUFDLENBQUM7QUFDRixNQUFNLEdBQUcsR0FBcUIsQ0FBQyxXQUFtQixFQUFFLFlBQW9CLEVBQUUsUUFBZ0IsRUFBRSxFQUFFO0lBQzVGLE1BQU0sT0FBTyxHQUErRCxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUMzRyxJQUFJLEdBQUcsR0FBRyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLENBQUM7SUFDMUMsS0FBSyxNQUFNLEdBQUcsSUFBSSxPQUFPLEVBQUU7UUFDekIsSUFBSSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsVUFBVSxDQUFDLEdBQUcsR0FBRyxDQUFDO1FBQ3ZDLEdBQUcsR0FBRyxJQUFJLGlCQUFpQixDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztLQUNyRztJQUNELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQyxDQUFDO0FBQ0YsTUFBTSxLQUFLLEdBQXFCLENBQUMsV0FBbUIsRUFBRSxZQUFvQixFQUFFLFFBQWdCLEVBQUUsRUFBRTtJQUM5RixNQUFNLE9BQU8sR0FBK0Q7UUFDMUUsQ0FBQyxhQUFhLENBQUM7UUFDZixDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUM7UUFDVixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUM7UUFDZixDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUM7UUFDbkIsQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDO0tBQ3BCLENBQUM7SUFDRixJQUFJLEdBQUcsR0FBRyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLENBQUM7SUFDMUMsS0FBSyxNQUFNLEdBQUcsSUFBSSxPQUFPLEVBQUU7UUFDekIsSUFBSSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsVUFBVSxDQUFDLEdBQUcsR0FBRyxDQUFDO1FBQ3ZDLEdBQUcsR0FBRyxJQUFJLGlCQUFpQixDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztLQUNyRztJQUNELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQyxDQUFDO0FBQ0YsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHO0lBQzVCLE9BQU8sRUFBRSxPQUFPO0lBQ2hCLE9BQU8sRUFBRSxPQUFPO0lBQ2hCLE9BQU8sRUFBRSxHQUFHO0lBQ1osS0FBSyxFQUFFLEtBQUs7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgQXJkVHJhbnNmb3JtZXJGbiA9IChjdXJyZW50VGV4dDogc3RyaW5nLCBwcmV2aW91c1RleHQ6IHN0cmluZywgY2FyZXRQb3M6IG51bWJlcikgPT4geyB0ZXh0OiBzdHJpbmc7IGNhcmV0UG9zOiBudW1iZXIgfTtcblxuaW50ZXJmYWNlIElSZWdFeHBUcmFuc2Zvcm1lciB7XG4gIGFwcGx5OiBBcmRUcmFuc2Zvcm1lckZuO1xufVxuZXhwb3J0IGNsYXNzIFJlZ0V4cFRyYW5zZm9ybWVyIGltcGxlbWVudHMgSVJlZ0V4cFRyYW5zZm9ybWVyIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlZ2V4OiBSZWdFeHAsXG4gICAgcHVibGljIHJlcGxhY2U6IHN0cmluZyA9ICcnLFxuICAgIHB1YmxpYyBjYXJldE1vZGlmOiBudW1iZXIgPSAwXG4gICkge31cblxuICBhcHBseShjdXJyZW50VGV4dDogc3RyaW5nLCBwcmV2aW91c1RleHQ6IHN0cmluZywgY2FyZXRQb3M6IG51bWJlcik6IHsgdGV4dDogc3RyaW5nOyBjYXJldFBvczogbnVtYmVyIH0ge1xuICAgIGxldCB0ZXh0ID0gY3VycmVudFRleHQ7XG4gICAgaWYgKHRleHQgJiYgdGhpcy5yZWdleCkge1xuICAgICAgbGV0IHNhZmV0eVN3aXRjaCA9IDA7XG4gICAgICB3aGlsZSAodGV4dC5tYXRjaCh0aGlzLnJlZ2V4KSkge1xuICAgICAgICAvL3ByZXZlbnQgaW5maW5pdGUgbG9vcFxuICAgICAgICBpZiAoc2FmZXR5U3dpdGNoID4gOTk5KSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcih0aGlzLCBuZXcgRXJyb3IoJ1Bvc3NpYmxlIGluZmluaXRlIGxvb3AgaW4gdGhlIGFib3ZlIFJlZ0V4cFRyYW5zZm9ybWVyLiBFeGl0ZWQgYWZ0ZXIgMTAwMCBpdGVyYXRpb25zLicpKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICAvL2FwcGx5IHJlZ2V4XG4gICAgICAgIGxldCBsZW5ndGhCZWZvcmUgPSB0ZXh0Lmxlbmd0aDtcbiAgICAgICAgdGV4dCA9IHRleHQucmVwbGFjZSh0aGlzLnJlZ2V4LCB0aGlzLnJlcGxhY2UpO1xuICAgICAgICBsZXQgbGVuZ3RoQWZ0ZXIgPSB0ZXh0Lmxlbmd0aDtcbiAgICAgICAgLy9maXggY2FyZXQgcG9zXG4gICAgICAgIGNhcmV0UG9zID0gY2FyZXRQb3MgKyAobGVuZ3RoQWZ0ZXIgLSBsZW5ndGhCZWZvcmUpO1xuICAgICAgICAvL2ZvciBpbmZpbml0ZSBsb29wIHByZXZlbnRpb25cbiAgICAgICAgc2FmZXR5U3dpdGNoKys7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB7IHRleHQsIGNhcmV0UG9zIH07XG4gIH1cbn1cblxuY29uc3QgdG9VcHBlcjogQXJkVHJhbnNmb3JtZXJGbiA9IChjdXJyZW50VGV4dDogc3RyaW5nLCBwcmV2aW91c1RleHQ6IHN0cmluZywgY2FyZXRQb3M6IG51bWJlcikgPT4ge1xuICByZXR1cm4geyB0ZXh0OiBjdXJyZW50VGV4dC50b1VwcGVyQ2FzZSgpLCBjYXJldFBvcyB9O1xufTtcbmNvbnN0IHRvTG93ZXI6IEFyZFRyYW5zZm9ybWVyRm4gPSAoY3VycmVudFRleHQ6IHN0cmluZywgcHJldmlvdXNUZXh0OiBzdHJpbmcsIGNhcmV0UG9zOiBudW1iZXIpID0+IHtcbiAgcmV0dXJuIHsgdGV4dDogY3VycmVudFRleHQudG9Mb3dlckNhc2UoKSwgY2FyZXRQb3MgfTtcbn07XG5jb25zdCBpbnQ6IEFyZFRyYW5zZm9ybWVyRm4gPSAoY3VycmVudFRleHQ6IHN0cmluZywgcHJldmlvdXNUZXh0OiBzdHJpbmcsIGNhcmV0UG9zOiBudW1iZXIpID0+IHtcbiAgY29uc3QgcmVnZXhlczogKFtSZWdFeHBdIHwgW1JlZ0V4cCwgc3RyaW5nXSB8IFtSZWdFeHAsIHN0cmluZywgbnVtYmVyXSlbXSA9IFtbL1teMC05LV0vXSwgWy8oLispLS8sICckMSddXTtcbiAgbGV0IG9iaiA9IHsgdGV4dDogY3VycmVudFRleHQsIGNhcmV0UG9zIH07XG4gIGZvciAoY29uc3QgYXJyIG9mIHJlZ2V4ZXMpIHtcbiAgICBsZXQgW3JlZ2V4LCByZXBsYWNlLCBjYXJldE1vZGlmXSA9IGFycjtcbiAgICBvYmogPSBuZXcgUmVnRXhwVHJhbnNmb3JtZXIocmVnZXgsIHJlcGxhY2UsIGNhcmV0TW9kaWYpLmFwcGx5KG9iai50ZXh0LCBwcmV2aW91c1RleHQsIG9iai5jYXJldFBvcyk7XG4gIH1cbiAgcmV0dXJuIG9iajtcbn07XG5jb25zdCBmbG9hdDogQXJkVHJhbnNmb3JtZXJGbiA9IChjdXJyZW50VGV4dDogc3RyaW5nLCBwcmV2aW91c1RleHQ6IHN0cmluZywgY2FyZXRQb3M6IG51bWJlcikgPT4ge1xuICBjb25zdCByZWdleGVzOiAoW1JlZ0V4cF0gfCBbUmVnRXhwLCBzdHJpbmddIHwgW1JlZ0V4cCwgc3RyaW5nLCBudW1iZXJdKVtdID0gW1xuICAgIFsvW14wLTksXFwuXFwtXS9dLFxuICAgIFsvLC8sICcuJ10sXG4gICAgWy8oLispLS8sICckMSddLFxuICAgIFsvXFwuKC4qKVxcLi8sICckMS4nXSxcbiAgICBbL14oLT8pXFwuLywgJyQxMC4nXSxcbiAgXTtcbiAgbGV0IG9iaiA9IHsgdGV4dDogY3VycmVudFRleHQsIGNhcmV0UG9zIH07XG4gIGZvciAoY29uc3QgYXJyIG9mIHJlZ2V4ZXMpIHtcbiAgICBsZXQgW3JlZ2V4LCByZXBsYWNlLCBjYXJldE1vZGlmXSA9IGFycjtcbiAgICBvYmogPSBuZXcgUmVnRXhwVHJhbnNmb3JtZXIocmVnZXgsIHJlcGxhY2UsIGNhcmV0TW9kaWYpLmFwcGx5KG9iai50ZXh0LCBwcmV2aW91c1RleHQsIG9iai5jYXJldFBvcyk7XG4gIH1cbiAgcmV0dXJuIG9iajtcbn07XG5leHBvcnQgY29uc3QgQXJkVHJhbnNmb3JtZXIgPSB7XG4gIFRvVXBwZXI6IHRvVXBwZXIsXG4gIFRvTG93ZXI6IHRvTG93ZXIsXG4gIEludGVnZXI6IGludCxcbiAgRmxvYXQ6IGZsb2F0LFxufSBhcyBjb25zdDtcbiJdfQ==
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdHJhbnNmb3JtZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9pbnB1dHMvaW5wdXQtdHJhbnNmb3JtZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVNBLE1BQU0sT0FBTyxpQkFBaUI7SUFDNUIsWUFDUyxLQUFhLEVBQ2IsVUFBVSxFQUFFLEVBQ1osYUFBYSxDQUFDO1FBRmQsVUFBSyxHQUFMLEtBQUssQ0FBUTtRQUNiLFlBQU8sR0FBUCxPQUFPLENBQUs7UUFDWixlQUFVLEdBQVYsVUFBVSxDQUFJO0lBQ3BCLENBQUM7SUFFSixLQUFLLENBQUMsV0FBbUIsRUFBRSxZQUFvQixFQUFFLFFBQWdCO1FBQy9ELElBQUksSUFBSSxHQUFHLFdBQVcsQ0FBQztRQUN2QixJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDdkIsSUFBSSxZQUFZLEdBQUcsQ0FBQyxDQUFDO1lBQ3JCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDOUIsdUJBQXVCO2dCQUN2QixJQUFJLFlBQVksR0FBRyxHQUFHLEVBQUUsQ0FBQztvQkFDdkIsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxLQUFLLENBQUMsc0ZBQXNGLENBQUMsQ0FBQyxDQUFDO29CQUN2SCxNQUFNO2dCQUNSLENBQUM7Z0JBQ0QsYUFBYTtnQkFDYixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO2dCQUNqQyxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDOUMsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztnQkFDaEMsZUFBZTtnQkFDZixRQUFRLEdBQUcsUUFBUSxHQUFHLENBQUMsV0FBVyxHQUFHLFlBQVksQ0FBQyxDQUFDO2dCQUNuRCw4QkFBOEI7Z0JBQzlCLFlBQVksRUFBRSxDQUFDO1lBQ2pCLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQztJQUM1QixDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sR0FBcUIsQ0FBQyxXQUFtQixFQUFFLFlBQW9CLEVBQUUsUUFBZ0IsRUFBRSxFQUFFO0lBQ2hHLE9BQU8sRUFBRSxJQUFJLEVBQUUsV0FBVyxDQUFDLFdBQVcsRUFBRSxFQUFFLFFBQVEsRUFBRSxDQUFDO0FBQ3ZELENBQUMsQ0FBQztBQUNGLE1BQU0sT0FBTyxHQUFxQixDQUFDLFdBQW1CLEVBQUUsWUFBb0IsRUFBRSxRQUFnQixFQUFFLEVBQUU7SUFDaEcsT0FBTyxFQUFFLElBQUksRUFBRSxXQUFXLENBQUMsV0FBVyxFQUFFLEVBQUUsUUFBUSxFQUFFLENBQUM7QUFDdkQsQ0FBQyxDQUFDO0FBQ0YsTUFBTSxHQUFHLEdBQXFCLENBQUMsV0FBbUIsRUFBRSxZQUFvQixFQUFFLFFBQWdCLEVBQUUsRUFBRTtJQUM1RixNQUFNLE9BQU8sR0FBK0QsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDM0csSUFBSSxHQUFHLEdBQUcsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxDQUFDO0lBQzFDLEtBQUssTUFBTSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFDMUIsTUFBTSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsVUFBVSxDQUFDLEdBQUcsR0FBRyxDQUFDO1FBQ3pDLEdBQUcsR0FBRyxJQUFJLGlCQUFpQixDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN0RyxDQUFDO0lBQ0QsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDLENBQUM7QUFDRixNQUFNLEtBQUssR0FBcUIsQ0FBQyxXQUFtQixFQUFFLFlBQW9CLEVBQUUsUUFBZ0IsRUFBRSxFQUFFO0lBQzlGLE1BQU0sT0FBTyxHQUErRDtRQUMxRSxDQUFDLFdBQVcsQ0FBQztRQUNiLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQztRQUNWLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQztRQUNmLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQztRQUNuQixDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUM7S0FDcEIsQ0FBQztJQUNGLElBQUksR0FBRyxHQUFHLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsQ0FBQztJQUMxQyxLQUFLLE1BQU0sR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQzFCLE1BQU0sQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEdBQUcsQ0FBQztRQUN6QyxHQUFHLEdBQUcsSUFBSSxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRSxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDdEcsQ0FBQztJQUNELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQyxDQUFDO0FBQ0YsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHO0lBQzVCLE9BQU8sRUFBRSxPQUFPO0lBQ2hCLE9BQU8sRUFBRSxPQUFPO0lBQ2hCLE9BQU8sRUFBRSxHQUFHO0lBQ1osS0FBSyxFQUFFLEtBQUs7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgQXJkVHJhbnNmb3JtZXJGbiA9IChcbiAgY3VycmVudFRleHQ6IHN0cmluZyxcbiAgcHJldmlvdXNUZXh0OiBzdHJpbmcsXG4gIGNhcmV0UG9zOiBudW1iZXJcbikgPT4geyB0ZXh0OiBzdHJpbmc7IGNhcmV0UG9zOiBudW1iZXIgfTtcblxuaW50ZXJmYWNlIElSZWdFeHBUcmFuc2Zvcm1lciB7XG4gIGFwcGx5OiBBcmRUcmFuc2Zvcm1lckZuO1xufVxuZXhwb3J0IGNsYXNzIFJlZ0V4cFRyYW5zZm9ybWVyIGltcGxlbWVudHMgSVJlZ0V4cFRyYW5zZm9ybWVyIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlZ2V4OiBSZWdFeHAsXG4gICAgcHVibGljIHJlcGxhY2UgPSAnJyxcbiAgICBwdWJsaWMgY2FyZXRNb2RpZiA9IDBcbiAgKSB7fVxuXG4gIGFwcGx5KGN1cnJlbnRUZXh0OiBzdHJpbmcsIHByZXZpb3VzVGV4dDogc3RyaW5nLCBjYXJldFBvczogbnVtYmVyKTogeyB0ZXh0OiBzdHJpbmc7IGNhcmV0UG9zOiBudW1iZXIgfSB7XG4gICAgbGV0IHRleHQgPSBjdXJyZW50VGV4dDtcbiAgICBpZiAodGV4dCAmJiB0aGlzLnJlZ2V4KSB7XG4gICAgICBsZXQgc2FmZXR5U3dpdGNoID0gMDtcbiAgICAgIHdoaWxlICh0ZXh0Lm1hdGNoKHRoaXMucmVnZXgpKSB7XG4gICAgICAgIC8vcHJldmVudCBpbmZpbml0ZSBsb29wXG4gICAgICAgIGlmIChzYWZldHlTd2l0Y2ggPiA5OTkpIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKHRoaXMsIG5ldyBFcnJvcignUG9zc2libGUgaW5maW5pdGUgbG9vcCBpbiB0aGUgYWJvdmUgUmVnRXhwVHJhbnNmb3JtZXIuIEV4aXRlZCBhZnRlciAxMDAwIGl0ZXJhdGlvbnMuJykpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIC8vYXBwbHkgcmVnZXhcbiAgICAgICAgY29uc3QgbGVuZ3RoQmVmb3JlID0gdGV4dC5sZW5ndGg7XG4gICAgICAgIHRleHQgPSB0ZXh0LnJlcGxhY2UodGhpcy5yZWdleCwgdGhpcy5yZXBsYWNlKTtcbiAgICAgICAgY29uc3QgbGVuZ3RoQWZ0ZXIgPSB0ZXh0Lmxlbmd0aDtcbiAgICAgICAgLy9maXggY2FyZXQgcG9zXG4gICAgICAgIGNhcmV0UG9zID0gY2FyZXRQb3MgKyAobGVuZ3RoQWZ0ZXIgLSBsZW5ndGhCZWZvcmUpO1xuICAgICAgICAvL2ZvciBpbmZpbml0ZSBsb29wIHByZXZlbnRpb25cbiAgICAgICAgc2FmZXR5U3dpdGNoKys7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB7IHRleHQsIGNhcmV0UG9zIH07XG4gIH1cbn1cblxuY29uc3QgdG9VcHBlcjogQXJkVHJhbnNmb3JtZXJGbiA9IChjdXJyZW50VGV4dDogc3RyaW5nLCBwcmV2aW91c1RleHQ6IHN0cmluZywgY2FyZXRQb3M6IG51bWJlcikgPT4ge1xuICByZXR1cm4geyB0ZXh0OiBjdXJyZW50VGV4dC50b1VwcGVyQ2FzZSgpLCBjYXJldFBvcyB9O1xufTtcbmNvbnN0IHRvTG93ZXI6IEFyZFRyYW5zZm9ybWVyRm4gPSAoY3VycmVudFRleHQ6IHN0cmluZywgcHJldmlvdXNUZXh0OiBzdHJpbmcsIGNhcmV0UG9zOiBudW1iZXIpID0+IHtcbiAgcmV0dXJuIHsgdGV4dDogY3VycmVudFRleHQudG9Mb3dlckNhc2UoKSwgY2FyZXRQb3MgfTtcbn07XG5jb25zdCBpbnQ6IEFyZFRyYW5zZm9ybWVyRm4gPSAoY3VycmVudFRleHQ6IHN0cmluZywgcHJldmlvdXNUZXh0OiBzdHJpbmcsIGNhcmV0UG9zOiBudW1iZXIpID0+IHtcbiAgY29uc3QgcmVnZXhlczogKFtSZWdFeHBdIHwgW1JlZ0V4cCwgc3RyaW5nXSB8IFtSZWdFeHAsIHN0cmluZywgbnVtYmVyXSlbXSA9IFtbL1teMC05LV0vXSwgWy8oLispLS8sICckMSddXTtcbiAgbGV0IG9iaiA9IHsgdGV4dDogY3VycmVudFRleHQsIGNhcmV0UG9zIH07XG4gIGZvciAoY29uc3QgYXJyIG9mIHJlZ2V4ZXMpIHtcbiAgICBjb25zdCBbcmVnZXgsIHJlcGxhY2UsIGNhcmV0TW9kaWZdID0gYXJyO1xuICAgIG9iaiA9IG5ldyBSZWdFeHBUcmFuc2Zvcm1lcihyZWdleCwgcmVwbGFjZSwgY2FyZXRNb2RpZikuYXBwbHkob2JqLnRleHQsIHByZXZpb3VzVGV4dCwgb2JqLmNhcmV0UG9zKTtcbiAgfVxuICByZXR1cm4gb2JqO1xufTtcbmNvbnN0IGZsb2F0OiBBcmRUcmFuc2Zvcm1lckZuID0gKGN1cnJlbnRUZXh0OiBzdHJpbmcsIHByZXZpb3VzVGV4dDogc3RyaW5nLCBjYXJldFBvczogbnVtYmVyKSA9PiB7XG4gIGNvbnN0IHJlZ2V4ZXM6IChbUmVnRXhwXSB8IFtSZWdFeHAsIHN0cmluZ10gfCBbUmVnRXhwLCBzdHJpbmcsIG51bWJlcl0pW10gPSBbXG4gICAgWy9bXjAtOSwuLV0vXSxcbiAgICBbLywvLCAnLiddLFxuICAgIFsvKC4rKS0vLCAnJDEnXSxcbiAgICBbL1xcLiguKilcXC4vLCAnJDEuJ10sXG4gICAgWy9eKC0/KVxcLi8sICckMTAuJ10sXG4gIF07XG4gIGxldCBvYmogPSB7IHRleHQ6IGN1cnJlbnRUZXh0LCBjYXJldFBvcyB9O1xuICBmb3IgKGNvbnN0IGFyciBvZiByZWdleGVzKSB7XG4gICAgY29uc3QgW3JlZ2V4LCByZXBsYWNlLCBjYXJldE1vZGlmXSA9IGFycjtcbiAgICBvYmogPSBuZXcgUmVnRXhwVHJhbnNmb3JtZXIocmVnZXgsIHJlcGxhY2UsIGNhcmV0TW9kaWYpLmFwcGx5KG9iai50ZXh0LCBwcmV2aW91c1RleHQsIG9iai5jYXJldFBvcyk7XG4gIH1cbiAgcmV0dXJuIG9iajtcbn07XG5leHBvcnQgY29uc3QgQXJkVHJhbnNmb3JtZXIgPSB7XG4gIFRvVXBwZXI6IHRvVXBwZXIsXG4gIFRvTG93ZXI6IHRvTG93ZXIsXG4gIEludGVnZXI6IGludCxcbiAgRmxvYXQ6IGZsb2F0LFxufSBhcyBjb25zdDtcbiJdfQ==
@@ -1,27 +1,16 @@
1
- import { isAnyString, isNull, isNumber } from 'simple-bool';
1
+ import { computed, signal } from '@angular/core';
2
+ import { isAnyString, isDefined, isNull, isNumber } from 'simple-bool';
2
3
  import { ArdTransformer, RegExpTransformer } from './input-transformers';
3
4
  export class SimpleInputModel {
4
- constructor(inputEl, hostComp) {
5
- this.inputEl = inputEl;
6
- this._value = null;
7
- this._hostComp = hostComp;
8
- }
9
- get value() {
10
- return this._value;
11
- }
12
- set value(v) {
13
- this._value = v;
14
- }
15
- get stringValue() {
16
- return this._value ?? '';
17
- }
18
- set stringValue(v) {
19
- this._value = v || null;
5
+ constructor(_ardHostCmp) {
6
+ this._ardHostCmp = _ardHostCmp;
7
+ this.value = signal(null);
8
+ this.stringValue = computed(() => this.value() ?? '');
20
9
  }
21
10
  writeValue(v) {
22
11
  if (!isAnyString(v) && !isNull(v)) {
23
12
  //warn when using non-string/non-null value
24
- console.warn(new Error(`Trying to set simple-input's value to ${typeof v}, expected string.`));
13
+ console.warn(new Error(`ARD-WA0020: Trying to set <ard-simple-input>'s value to "${v}" (of type ${typeof v}), expected string or null.`));
25
14
  //normalize the value
26
15
  v = v?.toString?.() ?? String(v);
27
16
  }
@@ -31,105 +20,103 @@ export class SimpleInputModel {
31
20
  //constraints
32
21
  v = this._applyLengthTransformer(v);
33
22
  //update view
34
- let oldVal = this.value;
35
- this.value = v;
23
+ const oldVal = this.value();
24
+ this.value.set(v);
36
25
  this._updateInputElement();
37
26
  return oldVal !== v;
38
27
  }
39
28
  rewriteValueAfterHostUpdate() {
40
- this._writeValue(this._value);
29
+ this._writeValue(this.value());
41
30
  }
42
31
  clear() {
43
- this._value = null;
32
+ this.value.set(null);
44
33
  this._updateInputElement();
45
34
  }
46
35
  _updateInputElement() {
47
- this.inputEl.value = this.stringValue;
36
+ const el = this._ardHostCmp.textInputEl()?.nativeElement;
37
+ if (!el)
38
+ return;
39
+ el.value = this.stringValue();
48
40
  }
49
41
  get caretPos() {
50
- return this.inputEl.selectionEnd ?? this.stringValue.length;
42
+ return this._ardHostCmp.textInputEl()?.nativeElement.selectionEnd ?? this.stringValue.length;
51
43
  }
52
44
  set caretPos(pos) {
53
- this.inputEl.setSelectionRange(pos, pos);
45
+ this._ardHostCmp.textInputEl()?.nativeElement.setSelectionRange(pos, pos);
54
46
  }
55
- //* constraints
47
+ //! constraints
56
48
  _applyLengthTransformer(v) {
57
- //exit if max length not specified
58
- if (this._hostComp.maxLength == undefined)
49
+ const max = this._ardHostCmp.maxLength();
50
+ if (!isDefined(max))
59
51
  return v;
60
- //exit if not value
61
- //exit if value length is less than specified max length
62
- if (!v || v.length <= this._hostComp.maxLength)
52
+ if (!v || v.length <= max)
63
53
  return v;
64
- //cut the excess off
65
- v = v.substring(0, this._hostComp.maxLength);
66
- this.caretPos = this._hostComp.maxLength;
54
+ v = v.substring(0, max);
55
+ this.caretPos = max;
67
56
  return v;
68
57
  }
69
58
  }
70
59
  export class InputModel extends SimpleInputModel {
71
- constructor(inputEl, hostComp) {
72
- super(inputEl, hostComp);
60
+ constructor(_ardHostCmp) {
61
+ super(_ardHostCmp);
62
+ this._ardHostCmp = _ardHostCmp;
73
63
  }
74
64
  _writeValue(v) {
75
65
  //transformers
76
66
  if (v) {
77
- let prev = this.stringValue;
67
+ let prev = this.stringValue();
78
68
  v = this._applyAllowOrDenylistTransformer(v, prev);
79
- prev = this.stringValue;
69
+ prev = this.stringValue();
80
70
  v = this._applyLengthTransformer(v);
81
71
  }
82
- let oldVal = this.value;
72
+ const oldVal = this.value();
83
73
  //update view
84
- this.value = v;
74
+ this.value.set(v);
85
75
  this._updateInputElement();
86
76
  return oldVal !== v;
87
77
  }
88
78
  setSelection(from, to) {
89
- to = to ?? this.value?.length ?? Infinity;
90
- this.inputEl.setSelectionRange(from, to);
79
+ to = to ?? this.value()?.length ?? Infinity;
80
+ this._ardHostCmp.textInputEl()?.nativeElement.setSelectionRange(from, to);
91
81
  }
92
82
  //* constraints
93
83
  _applyAllowOrDenylistTransformer(v, prev) {
94
- if (!this._hostComp.charlist || !v)
84
+ const charlist = this._ardHostCmp.charlist();
85
+ if (!charlist || !v)
95
86
  return v;
96
- let { text, caretPos } = new RegExpTransformer(this._hostComp.charlist).apply(v, prev, this.caretPos);
87
+ const { text, caretPos } = new RegExpTransformer(charlist).apply(v, prev, this.caretPos);
97
88
  this.caretPos = caretPos;
98
89
  return text;
99
90
  }
100
91
  }
101
92
  export class NumberInputModel {
102
- constructor(inputEl, hostComp) {
103
- this.inputEl = inputEl;
93
+ constructor(_ardHostCmp) {
94
+ this._ardHostCmp = _ardHostCmp;
104
95
  //! value setters/getters
105
- this._value = null;
106
- this._hostComp = hostComp;
107
- }
108
- get value() {
109
- return this._value;
110
- }
111
- set value(v) {
112
- this._value = v;
113
- }
114
- //value as string
115
- get stringValue() {
116
- return this._value ?? '';
117
- }
118
- set stringValue(v) {
119
- this._value = v || null;
120
- }
121
- //value as number
122
- get numberValue() {
123
- return (this._value == null && null) || Number(this._value);
124
- }
125
- set numberValue(v) {
126
- this._value = v == null ? null : v.toString();
96
+ this._value = signal(null);
97
+ this.value = this._value.asReadonly();
98
+ this.stringValue = computed(() => this._value() ?? '');
99
+ this.numberValue = computed(() => (this._value() === null ? null : Number(this._value())));
100
+ }
101
+ setValue(v) {
102
+ const stringV = isNumber(v) ? String(v) : v;
103
+ this._value.set(stringV);
104
+ this._updateInputEl();
105
+ }
106
+ _updateInputEl() {
107
+ const stringV = this.stringValue();
108
+ const el = this._ardHostCmp.inputEl()?.nativeElement;
109
+ if (!el)
110
+ return;
111
+ const caretPos = this.caretPos;
112
+ el.value = stringV;
113
+ this.caretPos = caretPos;
127
114
  }
128
115
  //! write value handlers
129
116
  writeValue(v) {
130
117
  if (!isNumber(v) && !isAnyString(v) && !isNull(v)) {
131
118
  //warn when using non-string/non-null value
132
- console.warn(new Error(`Trying to set simple-input's value to ${typeof v}, expected string, number, or null.`));
119
+ console.warn(new Error(`ARD-WA0070: Trying to set <ard-number-input>'s value to "${typeof v}", expected string, number, or null.`));
133
120
  //normalize the value
134
121
  v = v?.toString?.() ?? String(v);
135
122
  }
@@ -144,46 +131,40 @@ export class NumberInputModel {
144
131
  v = this._applyMinMaxConstraints(v);
145
132
  }
146
133
  //update view
147
- let oldVal = this.value;
148
- this.value = v;
149
- this._updateInputElement();
134
+ const oldVal = this._value();
135
+ this.setValue(v);
150
136
  return oldVal !== v;
151
137
  }
152
138
  rewriteValueAfterHostUpdate() {
153
- this._writeValue(this._value);
139
+ this._writeValue(this._value());
154
140
  }
155
141
  //! input element methods
156
- _updateInputElement() {
157
- this.inputEl.value = this.stringValue;
158
- }
159
142
  get caretPos() {
160
- return this.inputEl.selectionEnd ?? this.stringValue.length;
143
+ return this._ardHostCmp.inputEl()?.nativeElement.selectionEnd ?? this.stringValue().length;
161
144
  }
162
145
  set caretPos(pos) {
163
- this.inputEl.setSelectionRange(pos, pos);
146
+ const el = this._ardHostCmp.inputEl()?.nativeElement;
147
+ el?.setSelectionRange(pos, pos);
164
148
  }
165
149
  //! constraints
166
150
  _removeDecimalPlaces(v) {
167
151
  if (!v)
168
152
  return '';
169
- if (this._hostComp.allowFloat)
153
+ if (this._ardHostCmp.allowFloat())
170
154
  return v;
171
- if (v.match(/[.,].+/)) {
172
- const num = Number(v);
173
- if (!isNaN(num))
174
- v = Math.round(num).toString();
155
+ let num = isNumber(v) ? v : Number(v);
156
+ if (!isNumber(v) && v.match(/[.,].+/)) {
157
+ num = Number(v);
175
158
  }
159
+ if (!isNaN(num))
160
+ return Math.round(num);
176
161
  return v;
177
162
  }
178
163
  _applyNumberConstraint(v) {
179
164
  if (!v)
180
165
  return '';
181
- if (this._hostComp.allowFloat) {
182
- const { text, caretPos } = ArdTransformer.Float(v, this.stringValue, this.caretPos);
183
- this.caretPos = caretPos;
184
- return text;
185
- }
186
- const { text, caretPos } = ArdTransformer.Integer(v, this.stringValue, this.caretPos);
166
+ const transformerFn = this._ardHostCmp.allowFloat() ? ArdTransformer.Float : ArdTransformer.Integer;
167
+ const { text, caretPos } = transformerFn(String(v), this.stringValue(), this.caretPos);
187
168
  this.caretPos = caretPos;
188
169
  return text;
189
170
  }
@@ -191,10 +172,10 @@ export class NumberInputModel {
191
172
  if (!v)
192
173
  return '';
193
174
  const numericValue = Number(v);
194
- if (numericValue > this._hostComp.max)
195
- return this._hostComp.max.toString();
196
- if (numericValue < this._hostComp.min)
197
- return this._hostComp.min.toString();
175
+ if (numericValue > this._ardHostCmp.max())
176
+ return this._ardHostCmp.max().toString();
177
+ if (numericValue < this._ardHostCmp.min())
178
+ return this._ardHostCmp.min().toString();
198
179
  return v;
199
180
  }
200
181
  }
@@ -202,4 +183,4 @@ export function escapeAndCreateRegex(str, flags, negated = true) {
202
183
  str = str.replace(/([\]]+)/g, '\\$1');
203
184
  return new RegExp(`[${negated ? '^' : ''}${str}]`, flags);
204
185
  }
205
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2lucHV0cy9pbnB1dC11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBS3pFLE1BQU0sT0FBTyxnQkFBZ0I7SUFFM0IsWUFDWSxPQUF5QixFQUNuQyxRQUE4QjtRQURwQixZQUFPLEdBQVAsT0FBTyxDQUFrQjtRQU0zQixXQUFNLEdBQWtCLElBQUksQ0FBQztRQUhyQyxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztJQUM1QixDQUFDO0lBR0QsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFDRCxJQUFJLEtBQUssQ0FBQyxDQUFnQjtRQUN4QixJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBQ0QsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBQ0QsSUFBSSxXQUFXLENBQUMsQ0FBUztRQUN2QixJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUM7SUFDMUIsQ0FBQztJQUVELFVBQVUsQ0FBQyxDQUFNO1FBQ2YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNqQywyQ0FBMkM7WUFDM0MsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssQ0FBQyx5Q0FBeUMsT0FBTyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQztZQUMvRixxQkFBcUI7WUFDckIsQ0FBQyxH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TUFBTSxDQUFDLENBQUM7SUFDdEMsT0FBTyxJQUFJLE1BQU0sQ0FBQyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsR0FBRyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDNUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzQW55U3RyaW5nLCBpc051bGwsIGlzTnVtYmVyIH0gZnJvbSAnc2ltcGxlLWJvb2wnO1xuaW1wb3J0IHsgQXJkVHJhbnNmb3JtZXIsIFJlZ0V4cFRyYW5zZm9ybWVyIH0gZnJvbSAnLi9pbnB1dC10cmFuc2Zvcm1lcnMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNpbXBsZUlucHV0TW9kZWxIb3N0IHtcbiAgbWF4TGVuZ3RoPzogbnVtYmVyO1xufVxuZXhwb3J0IGNsYXNzIFNpbXBsZUlucHV0TW9kZWwge1xuICBwcm90ZWN0ZWQgX2hvc3RDb21wITogU2ltcGxlSW5wdXRNb2RlbEhvc3Q7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBpbnB1dEVsOiBIVE1MSW5wdXRFbGVtZW50LFxuICAgIGhvc3RDb21wOiBTaW1wbGVJbnB1dE1vZGVsSG9zdFxuICApIHtcbiAgICB0aGlzLl9ob3N0Q29tcCA9IGhvc3RDb21wO1xuICB9XG5cbiAgcHJvdGVjdGVkIF92YWx1ZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIGdldCB2YWx1ZSgpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gIH1cbiAgc2V0IHZhbHVlKHY6IHN0cmluZyB8IG51bGwpIHtcbiAgICB0aGlzLl92YWx1ZSA9IHY7XG4gIH1cbiAgZ2V0IHN0cmluZ1ZhbHVlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlID8/ICcnO1xuICB9XG4gIHNldCBzdHJpbmdWYWx1ZSh2OiBzdHJpbmcpIHtcbiAgICB0aGlzLl92YWx1ZSA9IHYgfHwgbnVsbDtcbiAgfVxuXG4gIHdyaXRlVmFsdWUodjogYW55KTogYm9vbGVhbiB7XG4gICAgaWYgKCFpc0FueVN0cmluZyh2KSAmJiAhaXNOdWxsKHYpKSB7XG4gICAgICAvL3dhcm4gd2hlbiB1c2luZyBub24tc3RyaW5nL25vbi1udWxsIHZhbHVlXG4gICAgICBjb25zb2xlLndhcm4obmV3IEVycm9yKGBUcnlpbmcgdG8gc2V0IHNpbXBsZS1pbnB1dCdzIHZhbHVlIHRvICR7dHlwZW9mIHZ9LCBleHBlY3RlZCBzdHJpbmcuYCkpO1xuICAgICAgLy9ub3JtYWxpemUgdGhlIHZhbHVlXG4gICAgICB2ID0gdj8udG9TdHJpbmc/LigpID8/IFN0cmluZyh2KTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX3dyaXRlVmFsdWUodik7XG4gIH1cbiAgcHJvdGVjdGVkIF93cml0ZVZhbHVlKHY6IHN0cmluZyB8IG51bGwpOiBib29sZWFuIHtcbiAgICAvL2NvbnN0cmFpbnRzXG4gICAgdiA9IHRoaXMuX2FwcGx5TGVuZ3RoVHJhbnNmb3JtZXIodik7XG4gICAgLy91cGRhdGUgdmlld1xuICAgIGxldCBvbGRWYWwgPSB0aGlzLnZhbHVlO1xuICAgIHRoaXMudmFsdWUgPSB2O1xuICAgIHRoaXMuX3VwZGF0ZUlucHV0RWxlbWVudCgpO1xuICAgIHJldHVybiBvbGRWYWwgIT09IHY7XG4gIH1cbiAgcmV3cml0ZVZhbHVlQWZ0ZXJIb3N0VXBkYXRlKCk6IHZvaWQge1xuICAgIHRoaXMuX3dyaXRlVmFsdWUodGhpcy5fdmFsdWUpO1xuICB9XG4gIGNsZWFyKCk6IHZvaWQge1xuICAgIHRoaXMuX3ZhbHVlID0gbnVsbDtcbiAgICB0aGlzLl91cGRhdGVJbnB1dEVsZW1lbnQoKTtcbiAgfVxuXG4gIF91cGRhdGVJbnB1dEVsZW1lbnQoKSB7XG4gICAgdGhpcy5pbnB1dEVsLnZhbHVlID0gdGhpcy5zdHJpbmdWYWx1ZTtcbiAgfVxuICBnZXQgY2FyZXRQb3MoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5pbnB1dEVsLnNlbGVjdGlvbkVuZCA/PyB0aGlzLnN0cmluZ1ZhbHVlLmxlbmd0aDtcbiAgfVxuICBzZXQgY2FyZXRQb3MocG9zOiBudW1iZXIpIHtcbiAgICB0aGlzLmlucHV0RWwuc2V0U2VsZWN0aW9uUmFuZ2UocG9zLCBwb3MpO1xuICB9XG4gIC8vKiBjb25zdHJhaW50c1xuICBwcm90ZWN0ZWQgX2FwcGx5TGVuZ3RoVHJhbnNmb3JtZXIodjogc3RyaW5nIHwgbnVsbCk6IHN0cmluZyB8IG51bGwge1xuICAgIC8vZXhpdCBpZiBtYXggbGVuZ3RoIG5vdCBzcGVjaWZpZWRcbiAgICBpZiAodGhpcy5faG9zdENvbXAubWF4TGVuZ3RoID09IHVuZGVmaW5lZCkgcmV0dXJuIHY7XG4gICAgLy9leGl0IGlmIG5vdCB2YWx1ZVxuICAgIC8vZXhpdCBpZiB2YWx1ZSBsZW5ndGggaXMgbGVzcyB0aGFuIHNwZWNpZmllZCBtYXggbGVuZ3RoXG4gICAgaWYgKCF2IHx8IHYubGVuZ3RoIDw9IHRoaXMuX2hvc3RDb21wLm1heExlbmd0aCkgcmV0dXJuIHY7XG4gICAgLy9jdXQgdGhlIGV4Y2VzcyBvZmZcbiAgICB2ID0gdi5zdWJzdHJpbmcoMCwgdGhpcy5faG9zdENvbXAubWF4TGVuZ3RoKTtcbiAgICB0aGlzLmNhcmV0UG9zID0gdGhpcy5faG9zdENvbXAubWF4TGVuZ3RoO1xuICAgIHJldHVybiB2O1xuICB9XG59XG5leHBvcnQgaW50ZXJmYWNlIElucHV0TW9kZWxIb3N0IGV4dGVuZHMgU2ltcGxlSW5wdXRNb2RlbEhvc3Qge1xuICBjaGFybGlzdD86IFJlZ0V4cDtcbn1cbmV4cG9ydCBjbGFzcyBJbnB1dE1vZGVsIGV4dGVuZHMgU2ltcGxlSW5wdXRNb2RlbCB7XG4gIHByb3RlY3RlZCBvdmVycmlkZSBfaG9zdENvbXAhOiBJbnB1dE1vZGVsSG9zdDtcbiAgY29uc3RydWN0b3IoaW5wdXRFbDogSFRNTElucHV0RWxlbWVudCwgaG9zdENvbXA6IElucHV0TW9kZWxIb3N0KSB7XG4gICAgc3VwZXIoaW5wdXRFbCwgaG9zdENvbXApO1xuICB9XG4gIHByb3RlY3RlZCBvdmVycmlkZSBfd3JpdGVWYWx1ZSh2OiBzdHJpbmcgfCBudWxsKTogYm9vbGVhbiB7XG4gICAgLy90cmFuc2Zvcm1lcnNcbiAgICBpZiAodikge1xuICAgICAgbGV0IHByZXYgPSB0aGlzLnN0cmluZ1ZhbHVlO1xuICAgICAgdiA9IHRoaXMuX2FwcGx5QWxsb3dPckRlbnlsaXN0VHJhbnNmb3JtZXIodiwgcHJldik7XG4gICAgICBwcmV2ID0gdGhpcy5zdHJpbmdWYWx1ZTtcbiAgICAgIHYgPSB0aGlzLl9hcHBseUxlbmd0aFRyYW5zZm9ybWVyKHYpO1xuICAgIH1cbiAgICBsZXQgb2xkVmFsID0gdGhpcy52YWx1ZTtcbiAgICAvL3VwZGF0ZSB2aWV3XG4gICAgdGhpcy52YWx1ZSA9IHY7XG4gICAgdGhpcy5fdXBkYXRlSW5wdXRFbGVtZW50KCk7XG4gICAgcmV0dXJuIG9sZFZhbCAhPT0gdjtcbiAgfVxuXG4gIHNldFNlbGVjdGlvbihmcm9tOiBudW1iZXIgfCBudWxsLCB0bzogbnVtYmVyIHwgbnVsbCk6IHZvaWQ7XG4gIHNldFNlbGVjdGlvbihmcm9tOiBudW1iZXIgfCBudWxsLCB0bz86IG51bWJlciB8IG51bGwpOiB2b2lkIHtcbiAgICB0byA9IHRvID8/IHRoaXMudmFsdWU/Lmxlbmd0aCA/PyBJbmZpbml0eTtcbiAgICB0aGlzLmlucHV0RWwuc2V0U2VsZWN0aW9uUmFuZ2UoZnJvbSwgdG8pO1xuICB9XG4gIC8vKiBjb25zdHJhaW50c1xuICBwcm90ZWN0ZWQgX2FwcGx5QWxsb3dPckRlbnlsaXN0VHJhbnNmb3JtZXIodjogc3RyaW5nLCBwcmV2OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmICghdGhpcy5faG9zdENvbXAuY2hhcmxpc3QgfHwgIXYpIHJldHVybiB2O1xuICAgIGxldCB7IHRleHQsIGNhcmV0UG9zIH0gPSBuZXcgUmVnRXhwVHJhbnNmb3JtZXIodGhpcy5faG9zdENvbXAuY2hhcmxpc3QpLmFwcGx5KHYsIHByZXYsIHRoaXMuY2FyZXRQb3MpO1xuICAgIHRoaXMuY2FyZXRQb3MgPSBjYXJldFBvcztcbiAgICByZXR1cm4gdGV4dDtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIE51bWJlcklucHV0TW9kZWxIb3N0IHtcbiAgbWF4OiBudW1iZXI7XG4gIG1pbjogbnVtYmVyO1xuICBhbGxvd0Zsb2F0OiBib29sZWFuO1xufVxuZXhwb3J0IGNsYXNzIE51bWJlcklucHV0TW9kZWwge1xuICBwcm90ZWN0ZWQgX2hvc3RDb21wITogTnVtYmVySW5wdXRNb2RlbEhvc3Q7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBpbnB1dEVsOiBIVE1MSW5wdXRFbGVtZW50LFxuICAgIGhvc3RDb21wOiBOdW1iZXJJbnB1dE1vZGVsSG9zdFxuICApIHtcbiAgICB0aGlzLl9ob3N0Q29tcCA9IGhvc3RDb21wO1xuICB9XG5cbiAgLy8hIHZhbHVlIHNldHRlcnMvZ2V0dGVyc1xuICBwcm90ZWN0ZWQgX3ZhbHVlOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgZ2V0IHZhbHVlKCk6IHN0cmluZyB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgfVxuICBzZXQgdmFsdWUodjogc3RyaW5nIHwgbnVsbCkge1xuICAgIHRoaXMuX3ZhbHVlID0gdjtcbiAgfVxuICAvL3ZhbHVlIGFzIHN0cmluZ1xuICBnZXQgc3RyaW5nVmFsdWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWUgPz8gJyc7XG4gIH1cbiAgc2V0IHN0cmluZ1ZhbHVlKHY6IHN0cmluZykge1xuICAgIHRoaXMuX3ZhbHVlID0gdiB8fCBudWxsO1xuICB9XG4gIC8vdmFsdWUgYXMgbnVtYmVyXG4gIGdldCBudW1iZXJWYWx1ZSgpOiBudW1iZXIgfCBudWxsIHtcbiAgICByZXR1cm4gKHRoaXMuX3ZhbHVlID09IG51bGwgJiYgbnVsbCkgfHwgTnVtYmVyKHRoaXMuX3ZhbHVlKTtcbiAgfVxuICBzZXQgbnVtYmVyVmFsdWUodjogbnVtYmVyIHwgbnVsbCkge1xuICAgIHRoaXMuX3ZhbHVlID0gdiA9PSBudWxsID8gbnVsbCA6IHYudG9TdHJpbmcoKTtcbiAgfVxuXG4gIC8vISB3cml0ZSB2YWx1ZSBoYW5kbGVyc1xuICB3cml0ZVZhbHVlKHY6IGFueSk6IGJvb2xlYW4ge1xuICAgIGlmICghaXNOdW1iZXIodikgJiYgIWlzQW55U3RyaW5nKHYpICYmICFpc051bGwodikpIHtcbiAgICAgIC8vd2FybiB3aGVuIHVzaW5nIG5vbi1zdHJpbmcvbm9uLW51bGwgdmFsdWVcbiAgICAgIGNvbnNvbGUud2FybihuZXcgRXJyb3IoYFRyeWluZyB0byBzZXQgc2ltcGxlLWlucHV0J3MgdmFsdWUgdG8gJHt0eXBlb2Ygdn0sIGV4cGVjdGVkIHN0cmluZywgbnVtYmVyLCBvciBudWxsLmApKTtcbiAgICAgIC8vbm9ybWFsaXplIHRoZSB2YWx1ZVxuICAgICAgdiA9IHY/LnRvU3RyaW5nPy4oKSA/PyBTdHJpbmcodik7XG4gICAgfVxuICAgIHYgPSBTdHJpbmcodik7XG4gICAgcmV0dXJuIHRoaXMuX3dyaXRlVmFsdWUodik7XG4gIH1cbiAgcHJvdGVjdGVkIF93cml0ZVZhbHVlKHY6IHN0cmluZyB8IG51bGwpOiBib29sZWFuIHtcbiAgICAvL2NvbnN0cmFpbnRzXG4gICAgaWYgKHYpIHtcbiAgICAgIHYgPSB0aGlzLl9yZW1vdmVEZWNpbWFsUGxhY2VzKHYpO1xuICAgICAgdiA9IHRoaXMuX2FwcGx5TnVtYmVyQ29uc3RyYWludCh2KTtcbiAgICAgIHYgPSB0aGlzLl9hcHBseU1pbk1heENvbnN0cmFpbnRzKHYpO1xuICAgIH1cbiAgICAvL3VwZGF0ZSB2aWV3XG4gICAgbGV0IG9sZFZhbCA9IHRoaXMudmFsdWU7XG4gICAgdGhpcy52YWx1ZSA9IHY7XG4gICAgdGhpcy5fdXBkYXRlSW5wdXRFbGVtZW50KCk7XG4gICAgcmV0dXJuIG9sZFZhbCAhPT0gdjtcbiAgfVxuICByZXdyaXRlVmFsdWVBZnRlckhvc3RVcGRhdGUoKTogdm9pZCB7XG4gICAgdGhpcy5fd3JpdGVWYWx1ZSh0aGlzLl92YWx1ZSk7XG4gIH1cblxuICAvLyEgaW5wdXQgZWxlbWVudCBtZXRob2RzXG4gIF91cGRhdGVJbnB1dEVsZW1lbnQoKSB7XG4gICAgdGhpcy5pbnB1dEVsLnZhbHVlID0gdGhpcy5zdHJpbmdWYWx1ZTtcbiAgfVxuICBnZXQgY2FyZXRQb3MoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5pbnB1dEVsLnNlbGVjdGlvbkVuZCA/PyB0aGlzLnN0cmluZ1ZhbHVlLmxlbmd0aDtcbiAgfVxuICBzZXQgY2FyZXRQb3MocG9zOiBudW1iZXIpIHtcbiAgICB0aGlzLmlucHV0RWwuc2V0U2VsZWN0aW9uUmFuZ2UocG9zLCBwb3MpO1xuICB9XG5cbiAgLy8hIGNvbnN0cmFpbnRzXG4gIHByaXZhdGUgX3JlbW92ZURlY2ltYWxQbGFjZXModjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAoIXYpIHJldHVybiAnJztcbiAgICBpZiAodGhpcy5faG9zdENvbXAuYWxsb3dGbG9hdCkgcmV0dXJuIHY7XG5cbiAgICBpZiAodi5tYXRjaCgvWy4sXS4rLykpIHtcbiAgICAgIGNvbnN0IG51bSA9IE51bWJlcih2KTtcbiAgICAgIGlmICghaXNOYU4obnVtKSkgdiA9IE1hdGgucm91bmQobnVtKS50b1N0cmluZygpO1xuICAgIH1cbiAgICByZXR1cm4gdjtcbiAgfVxuICBwcml2YXRlIF9hcHBseU51bWJlckNvbnN0cmFpbnQodjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAoIXYpIHJldHVybiAnJztcblxuICAgIGlmICh0aGlzLl9ob3N0Q29tcC5hbGxvd0Zsb2F0KSB7XG4gICAgICBjb25zdCB7IHRleHQsIGNhcmV0UG9zIH0gPSBBcmRUcmFuc2Zvcm1lci5GbG9hdCh2LCB0aGlzLnN0cmluZ1ZhbHVlLCB0aGlzLmNhcmV0UG9zKTtcbiAgICAgIHRoaXMuY2FyZXRQb3MgPSBjYXJldFBvcztcbiAgICAgIHJldHVybiB0ZXh0O1xuICAgIH1cbiAgICBjb25zdCB7IHRleHQsIGNhcmV0UG9zIH0gPSBBcmRUcmFuc2Zvcm1lci5JbnRlZ2VyKHYsIHRoaXMuc3RyaW5nVmFsdWUsIHRoaXMuY2FyZXRQb3MpO1xuICAgIHRoaXMuY2FyZXRQb3MgPSBjYXJldFBvcztcbiAgICByZXR1cm4gdGV4dDtcbiAgfVxuICBwcml2YXRlIF9hcHBseU1pbk1heENvbnN0cmFpbnRzKHY6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKCF2KSByZXR1cm4gJyc7XG5cbiAgICBjb25zdCBudW1lcmljVmFsdWUgPSBOdW1iZXIodik7XG4gICAgaWYgKG51bWVyaWNWYWx1ZSA+IHRoaXMuX2hvc3RDb21wLm1heCkgcmV0dXJuIHRoaXMuX2hvc3RDb21wLm1heC50b1N0cmluZygpO1xuICAgIGlmIChudW1lcmljVmFsdWUgPCB0aGlzLl9ob3N0Q29tcC5taW4pIHJldHVybiB0aGlzLl9ob3N0Q29tcC5taW4udG9TdHJpbmcoKTtcbiAgICByZXR1cm4gdjtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZXNjYXBlQW5kQ3JlYXRlUmVnZXgoc3RyOiBzdHJpbmcsIGZsYWdzPzogc3RyaW5nLCBuZWdhdGVkOiBib29sZWFuID0gdHJ1ZSk6IFJlZ0V4cCB7XG4gIHN0ciA9IHN0ci5yZXBsYWNlKC8oW1xcXV0rKS9nLCAnXFxcXCQxJyk7XG4gIHJldHVybiBuZXcgUmVnRXhwKGBbJHtuZWdhdGVkID8gJ14nIDogJyd9JHtzdHJ9XWAsIGZsYWdzKTtcbn1cbiJdfQ==
186
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2lucHV0cy9pbnB1dC11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXNCLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUV2RSxPQUFPLEVBQUUsY0FBYyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFNekUsTUFBTSxPQUFPLGdCQUFnQjtJQUMzQixZQUErQixXQUFpQztRQUFqQyxnQkFBVyxHQUFYLFdBQVcsQ0FBc0I7UUFFdkQsVUFBSyxHQUFHLE1BQU0sQ0FBZ0IsSUFBSSxDQUFDLENBQUM7UUFDcEMsZ0JBQVcsR0FBRyxRQUFRLENBQVMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBSEMsQ0FBQztJQUtwRSxVQUFVLENBQUMsQ0FBTTtRQUNmLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNsQywyQ0FBMkM7WUFDM0MsT0FBTyxDQUFDLElBQUksQ0FDVixJQUFJLEtBQUssQ0FDUCw0REFBNEQsQ0FBQyxjQUFjLE9BQU8sQ0FBQyw2QkFBNkIsQ0FDakgsQ0FDRixDQUFDO1lBQ0YscUJBQXFCO1lBQ3JCLENBQUMsR0FBRyxDQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkMsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBQ1MsV0FBVyxDQUFDLENBQWdCO1FB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QyxHQUFHLEVBQUU7WUFBRSxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDcEYsSUFBSSxZQUFZLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUU7WUFBRSxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDcEYsT0FBTyxDQUFDLENBQUM7SUFDWCxDQUFDO0NBQ0Y7QUFFRCxNQUFNLFVBQVUsb0JBQW9CLENBQUMsR0FBVyxFQUFFLEtBQWMsRUFBRSxPQUFPLEdBQUcsSUFBSTtJQUM5RSxHQUFHLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDdEMsT0FBTyxJQUFJLE1BQU0sQ0FBQyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsR0FBRyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDNUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVsZW1lbnRSZWYsIFNpZ25hbCwgY29tcHV0ZWQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaXNBbnlTdHJpbmcsIGlzRGVmaW5lZCwgaXNOdWxsLCBpc051bWJlciB9IGZyb20gJ3NpbXBsZS1ib29sJztcbmltcG9ydCB7IE51bGxhYmxlIH0gZnJvbSAnLi4vdHlwZXMvdXRpbGl0eS50eXBlcyc7XG5pbXBvcnQgeyBBcmRUcmFuc2Zvcm1lciwgUmVnRXhwVHJhbnNmb3JtZXIgfSBmcm9tICcuL2lucHV0LXRyYW5zZm9ybWVycyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2ltcGxlSW5wdXRNb2RlbEhvc3Qge1xuICByZWFkb25seSBtYXhMZW5ndGg6IFNpZ25hbDxOdWxsYWJsZTxudW1iZXI+PjtcbiAgcmVhZG9ubHkgdGV4dElucHV0RWw6IFNpZ25hbDxFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+IHwgdW5kZWZpbmVkPjtcbn1cbmV4cG9ydCBjbGFzcyBTaW1wbGVJbnB1dE1vZGVsIHtcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIHJlYWRvbmx5IF9hcmRIb3N0Q21wOiBTaW1wbGVJbnB1dE1vZGVsSG9zdCkge31cblxuICByZWFkb25seSB2YWx1ZSA9IHNpZ25hbDxzdHJpbmcgfCBudWxsPihudWxsKTtcbiAgcmVhZG9ubHkgc3RyaW5nVmFsdWUgPSBjb21wdXRlZDxzdHJpbmc+KCgpID0+IHRoaXMudmFsdWUoKSA/PyAnJyk7XG5cbiAgd3JpdGVWYWx1ZSh2OiBhbnkpOiBib29sZWFuIHtcbiAgICBpZiAoIWlzQW55U3RyaW5nKHYpICYmICFpc051bGwodikpIHtcbiAgICAgIC8vd2FybiB3aGVuIHVzaW5nIG5vbi1zdHJpbmcvbm9uLW51bGwgdmFsdWVcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgbmV3IEVycm9yKFxuICAgICAgICAgIGBBUkQtV0EwMDIwOiBUcnlpbmcgdG8gc2V0IDxhcmQtc2ltcGxlLWlucHV0PidzIHZhbHVlIHRvIFwiJHt2fVwiIChvZiB0eXBlICR7dHlwZW9mIHZ9KSwgZXhwZWN0ZWQgc3RyaW5nIG9yIG51bGwuYFxuICAgICAgICApXG4gICAgICApO1xuICAgICAgLy9ub3JtYWxpemUgdGhlIHZhbHVlXG4gICAgICB2ID0gdj8udG9TdHJpbmc/LigpID8/IFN0cmluZyh2KTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX3dyaXRlVmFsdWUodik7XG4gIH1cbiAgcHJvdGVjdGVkIF93cml0ZVZhbHVlKHY6IHN0cmluZyB8IG51bGwpOiBib29sZWFuIHtcbiAgICAvL2NvbnN0cmFpbnRzXG4gICAgdiA9IHRoaXMuX2FwcGx5TGVuZ3RoVHJhbnNmb3JtZXIodik7XG4gICAgLy91cGRhdGUgdmlld1xuICAgIGNvbnN0IG9sZFZhbCA9IHRoaXMudmFsdWUoKTtcbiAgICB0aGlzLnZhbHVlLnNldCh2KTtcbiAgICB0aGlzLl91cGRhdGVJbnB1dEVsZW1lbnQoKTtcbiAgICByZXR1cm4gb2xkVmFsICE9PSB2O1xuICB9XG4gIHJld3JpdGVWYWx1ZUFmdGVySG9zdFVwZGF0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLl93cml0ZVZhbHVlKHRoaXMudmFsdWUoKSk7XG4gIH1cbiAgY2xlYXIoKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZS5zZXQobnVsbCk7XG4gICAgdGhpcy5fdXBkYXRlSW5wdXRFbGVtZW50KCk7XG4gIH1cblxuICBfdXBkYXRlSW5wdXRFbGVtZW50KCkge1xuICAgIGNvbnN0IGVsID0gdGhpcy5fYXJkSG9zdENtcC50ZXh0SW5wdXRFbCgpPy5uYXRpdmVFbGVtZW50O1xuICAgIGlmICghZWwpIHJldHVybjtcbiAgICBlbC52YWx1ZSA9IHRoaXMuc3RyaW5nVmFsdWUoKTtcbiAgfVxuICBnZXQgY2FyZXRQb3MoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fYXJkSG9zdENtcC50ZXh0SW5wdXRFbCgpPy5uYXRpdmVFbGVtZW50LnNlbGVjdGlvbkVuZCA/PyB0aGlzLnN0cmluZ1ZhbHVlLmxlbmd0aDtcbiAgfVxuICBzZXQgY2FyZXRQb3MocG9zOiBudW1iZXIpIHtcbiAgICB0aGlzLl9hcmRIb3N0Q21wLnRleHRJbnB1dEVsKCk/Lm5hdGl2ZUVsZW1lbnQuc2V0U2VsZWN0aW9uUmFuZ2UocG9zLCBwb3MpO1xuICB9XG4gIC8vISBjb25zdHJhaW50c1xuICBwcm90ZWN0ZWQgX2FwcGx5TGVuZ3RoVHJhbnNmb3JtZXIodjogc3RyaW5nIHwgbnVsbCk6IHN0cmluZyB8IG51bGwge1xuICAgIGNvbnN0IG1heCA9IHRoaXMuX2FyZEhvc3RDbXAubWF4TGVuZ3RoKCk7XG4gICAgaWYgKCFpc0RlZmluZWQobWF4KSkgcmV0dXJuIHY7XG4gICAgaWYgKCF2IHx8IHYubGVuZ3RoIDw9IG1heCkgcmV0dXJuIHY7XG5cbiAgICB2ID0gdi5zdWJzdHJpbmcoMCwgbWF4KTtcbiAgICB0aGlzLmNhcmV0UG9zID0gbWF4O1xuICAgIHJldHVybiB2O1xuICB9XG59XG5leHBvcnQgaW50ZXJmYWNlIElucHV0TW9kZWxIb3N0IGV4dGVuZHMgU2ltcGxlSW5wdXRNb2RlbEhvc3Qge1xuICBjaGFybGlzdDogU2lnbmFsPFJlZ0V4cCB8IHVuZGVmaW5lZD47XG59XG5leHBvcnQgY2xhc3MgSW5wdXRNb2RlbCBleHRlbmRzIFNpbXBsZUlucHV0TW9kZWwge1xuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVhZG9ubHkgX2FyZEhvc3RDbXA6IElucHV0TW9kZWxIb3N0KSB7XG4gICAgc3VwZXIoX2FyZEhvc3RDbXApO1xuICB9XG4gIHByb3RlY3RlZCBvdmVycmlkZSBfd3JpdGVWYWx1ZSh2OiBzdHJpbmcgfCBudWxsKTogYm9vbGVhbiB7XG4gICAgLy90cmFuc2Zvcm1lcnNcbiAgICBpZiAodikge1xuICAgICAgbGV0IHByZXYgPSB0aGlzLnN0cmluZ1ZhbHVlKCk7XG4gICAgICB2ID0gdGhpcy5fYXBwbHlBbGxvd09yRGVueWxpc3RUcmFuc2Zvcm1lcih2LCBwcmV2KTtcbiAgICAgIHByZXYgPSB0aGlzLnN0cmluZ1ZhbHVlKCk7XG4gICAgICB2ID0gdGhpcy5fYXBwbHlMZW5ndGhUcmFuc2Zvcm1lcih2KTtcbiAgICB9XG4gICAgY29uc3Qgb2xkVmFsID0gdGhpcy52YWx1ZSgpO1xuICAgIC8vdXBkYXRlIHZpZXdcbiAgICB0aGlzLnZhbHVlLnNldCh2KTtcbiAgICB0aGlzLl91cGRhdGVJbnB1dEVsZW1lbnQoKTtcbiAgICByZXR1cm4gb2xkVmFsICE9PSB2O1xuICB9XG5cbiAgc2V0U2VsZWN0aW9uKGZyb206IG51bWJlciB8IG51bGwsIHRvOiBudW1iZXIgfCBudWxsKTogdm9pZDtcbiAgc2V0U2VsZWN0aW9uKGZyb206IG51bWJlciB8IG51bGwsIHRvPzogbnVtYmVyIHwgbnVsbCk6IHZvaWQge1xuICAgIHRvID0gdG8gPz8gdGhpcy52YWx1ZSgpPy5sZW5ndGggPz8gSW5maW5pdHk7XG4gICAgdGhpcy5fYXJkSG9zdENtcC50ZXh0SW5wdXRFbCgpPy5uYXRpdmVFbGVtZW50LnNldFNlbGVjdGlvblJhbmdlKGZyb20sIHRvKTtcbiAgfVxuICAvLyogY29uc3RyYWludHNcbiAgcHJvdGVjdGVkIF9hcHBseUFsbG93T3JEZW55bGlzdFRyYW5zZm9ybWVyKHY6IHN0cmluZywgcHJldjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBjaGFybGlzdCA9IHRoaXMuX2FyZEhvc3RDbXAuY2hhcmxpc3QoKTtcbiAgICBpZiAoIWNoYXJsaXN0IHx8ICF2KSByZXR1cm4gdjtcbiAgICBjb25zdCB7IHRleHQsIGNhcmV0UG9zIH0gPSBuZXcgUmVnRXhwVHJhbnNmb3JtZXIoY2hhcmxpc3QpLmFwcGx5KHYsIHByZXYsIHRoaXMuY2FyZXRQb3MpO1xuICAgIHRoaXMuY2FyZXRQb3MgPSBjYXJldFBvcztcbiAgICByZXR1cm4gdGV4dDtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIE51bWJlcklucHV0TW9kZWxIb3N0IHtcbiAgcmVhZG9ubHkgbWF4OiBTaWduYWw8bnVtYmVyPjtcbiAgcmVhZG9ubHkgbWluOiBTaWduYWw8bnVtYmVyPjtcbiAgcmVhZG9ubHkgYWxsb3dGbG9hdDogU2lnbmFsPGJvb2xlYW4+O1xuICByZWFkb25seSBpbnB1dEVsOiBTaWduYWw8RWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PiB8IHVuZGVmaW5lZD47XG59XG5leHBvcnQgY2xhc3MgTnVtYmVySW5wdXRNb2RlbCB7XG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCByZWFkb25seSBfYXJkSG9zdENtcDogTnVtYmVySW5wdXRNb2RlbEhvc3QpIHt9XG5cbiAgLy8hIHZhbHVlIHNldHRlcnMvZ2V0dGVyc1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgX3ZhbHVlID0gc2lnbmFsPHN0cmluZyB8IG51bGw+KG51bGwpO1xuICByZWFkb25seSB2YWx1ZSA9IHRoaXMuX3ZhbHVlLmFzUmVhZG9ubHkoKTtcbiAgcmVhZG9ubHkgc3RyaW5nVmFsdWUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLl92YWx1ZSgpID8/ICcnKTtcbiAgcmVhZG9ubHkgbnVtYmVyVmFsdWUgPSBjb21wdXRlZCgoKSA9PiAodGhpcy5fdmFsdWUoKSA9PT0gbnVsbCA/IG51bGwgOiBOdW1iZXIodGhpcy5fdmFsdWUoKSkpKTtcblxuICBzZXRWYWx1ZSh2OiBzdHJpbmcgfCBudW1iZXIgfCBudWxsKTogdm9pZCB7XG4gICAgY29uc3Qgc3RyaW5nViA9IGlzTnVtYmVyKHYpID8gU3RyaW5nKHYpIDogdjtcbiAgICB0aGlzLl92YWx1ZS5zZXQoc3RyaW5nVik7XG4gICAgdGhpcy5fdXBkYXRlSW5wdXRFbCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlSW5wdXRFbCgpOiB2b2lkIHtcbiAgICBjb25zdCBzdHJpbmdWID0gdGhpcy5zdHJpbmdWYWx1ZSgpO1xuICAgIGNvbnN0IGVsID0gdGhpcy5fYXJkSG9zdENtcC5pbnB1dEVsKCk/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgaWYgKCFlbCkgcmV0dXJuO1xuXG4gICAgY29uc3QgY2FyZXRQb3MgPSB0aGlzLmNhcmV0UG9zO1xuICAgIGVsLnZhbHVlID0gc3RyaW5nVjtcbiAgICB0aGlzLmNhcmV0UG9zID0gY2FyZXRQb3M7XG4gIH1cblxuICAvLyEgd3JpdGUgdmFsdWUgaGFuZGxlcnNcbiAgd3JpdGVWYWx1ZSh2OiBhbnkpOiBib29sZWFuIHtcbiAgICBpZiAoIWlzTnVtYmVyKHYpICYmICFpc0FueVN0cmluZyh2KSAmJiAhaXNOdWxsKHYpKSB7XG4gICAgICAvL3dhcm4gd2hlbiB1c2luZyBub24tc3RyaW5nL25vbi1udWxsIHZhbHVlXG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgIG5ldyBFcnJvcihgQVJELVdBMDA3MDogVHJ5aW5nIHRvIHNldCA8YXJkLW51bWJlci1pbnB1dD4ncyB2YWx1ZSB0byBcIiR7dHlwZW9mIHZ9XCIsIGV4cGVjdGVkIHN0cmluZywgbnVtYmVyLCBvciBudWxsLmApXG4gICAgICApO1xuICAgICAgLy9ub3JtYWxpemUgdGhlIHZhbHVlXG4gICAgICB2ID0gdj8udG9TdHJpbmc/LigpID8/IFN0cmluZyh2KTtcbiAgICB9XG4gICAgdiA9IFN0cmluZyh2KTtcbiAgICByZXR1cm4gdGhpcy5fd3JpdGVWYWx1ZSh2KTtcbiAgfVxuICBwcm90ZWN0ZWQgX3dyaXRlVmFsdWUodjogc3RyaW5nIHwgbnVtYmVyIHwgbnVsbCk6IGJvb2xlYW4ge1xuICAgIC8vY29uc3RyYWludHNcbiAgICBpZiAodikge1xuICAgICAgdiA9IHRoaXMuX3JlbW92ZURlY2ltYWxQbGFjZXModik7XG4gICAgICB2ID0gdGhpcy5fYXBwbHlOdW1iZXJDb25zdHJhaW50KHYpO1xuICAgICAgdiA9IHRoaXMuX2FwcGx5TWluTWF4Q29uc3RyYWludHModik7XG4gICAgfVxuICAgIC8vdXBkYXRlIHZpZXdcbiAgICBjb25zdCBvbGRWYWwgPSB0aGlzLl92YWx1ZSgpO1xuICAgIHRoaXMuc2V0VmFsdWUodik7XG4gICAgcmV0dXJuIG9sZFZhbCAhPT0gdjtcbiAgfVxuICByZXdyaXRlVmFsdWVBZnRlckhvc3RVcGRhdGUoKTogdm9pZCB7XG4gICAgdGhpcy5fd3JpdGVWYWx1ZSh0aGlzLl92YWx1ZSgpKTtcbiAgfVxuXG4gIC8vISBpbnB1dCBlbGVtZW50IG1ldGhvZHNcbiAgZ2V0IGNhcmV0UG9zKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2FyZEhvc3RDbXAuaW5wdXRFbCgpPy5uYXRpdmVFbGVtZW50LnNlbGVjdGlvbkVuZCA/PyB0aGlzLnN0cmluZ1ZhbHVlKCkubGVuZ3RoO1xuICB9XG4gIHNldCBjYXJldFBvcyhwb3M6IG51bWJlcikge1xuICAgIGNvbnN0IGVsID0gdGhpcy5fYXJkSG9zdENtcC5pbnB1dEVsKCk/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgZWw/LnNldFNlbGVjdGlvblJhbmdlKHBvcywgcG9zKTtcbiAgfVxuXG4gIC8vISBjb25zdHJhaW50c1xuICBwcml2YXRlIF9yZW1vdmVEZWNpbWFsUGxhY2VzKHY6IHN0cmluZyB8IG51bWJlciB8IG51bGwpOiBzdHJpbmcgfCBudW1iZXIge1xuICAgIGlmICghdikgcmV0dXJuICcnO1xuICAgIGlmICh0aGlzLl9hcmRIb3N0Q21wLmFsbG93RmxvYXQoKSkgcmV0dXJuIHY7XG5cbiAgICBsZXQgbnVtID0gaXNOdW1iZXIodikgPyB2IDogTnVtYmVyKHYpO1xuXG4gICAgaWYgKCFpc051bWJlcih2KSAmJiB2Lm1hdGNoKC9bLixdLisvKSkge1xuICAgICAgbnVtID0gTnVtYmVyKHYpO1xuICAgIH1cbiAgICBpZiAoIWlzTmFOKG51bSkpIHJldHVybiBNYXRoLnJvdW5kKG51bSk7XG4gICAgcmV0dXJuIHY7XG4gIH1cbiAgcHJpdmF0ZSBfYXBwbHlOdW1iZXJDb25zdHJhaW50KHY6IHN0cmluZyB8IG51bWJlcik6IHN0cmluZyB7XG4gICAgaWYgKCF2KSByZXR1cm4gJyc7XG5cbiAgICBjb25zdCB0cmFuc2Zvcm1lckZuID0gdGhpcy5fYXJkSG9zdENtcC5hbGxvd0Zsb2F0KCkgPyBBcmRUcmFuc2Zvcm1lci5GbG9hdCA6IEFyZFRyYW5zZm9ybWVyLkludGVnZXI7XG4gICAgY29uc3QgeyB0ZXh0LCBjYXJldFBvcyB9ID0gdHJhbnNmb3JtZXJGbihTdHJpbmcodiksIHRoaXMuc3RyaW5nVmFsdWUoKSwgdGhpcy5jYXJldFBvcyk7XG4gICAgdGhpcy5jYXJldFBvcyA9IGNhcmV0UG9zO1xuICAgIHJldHVybiB0ZXh0O1xuICB9XG4gIHByaXZhdGUgX2FwcGx5TWluTWF4Q29uc3RyYWludHModjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAoIXYpIHJldHVybiAnJztcblxuICAgIGNvbnN0IG51bWVyaWNWYWx1ZSA9IE51bWJlcih2KTtcbiAgICBpZiAobnVtZXJpY1ZhbHVlID4gdGhpcy5fYXJkSG9zdENtcC5tYXgoKSkgcmV0dXJuIHRoaXMuX2FyZEhvc3RDbXAubWF4KCkudG9TdHJpbmcoKTtcbiAgICBpZiAobnVtZXJpY1ZhbHVlIDwgdGhpcy5fYXJkSG9zdENtcC5taW4oKSkgcmV0dXJuIHRoaXMuX2FyZEhvc3RDbXAubWluKCkudG9TdHJpbmcoKTtcbiAgICByZXR1cm4gdjtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZXNjYXBlQW5kQ3JlYXRlUmVnZXgoc3RyOiBzdHJpbmcsIGZsYWdzPzogc3RyaW5nLCBuZWdhdGVkID0gdHJ1ZSk6IFJlZ0V4cCB7XG4gIHN0ciA9IHN0ci5yZXBsYWNlKC8oW1xcXV0rKS9nLCAnXFxcXCQxJyk7XG4gIHJldHVybiBuZXcgUmVnRXhwKGBbJHtuZWdhdGVkID8gJ14nIDogJyd9JHtzdHJ9XWAsIGZsYWdzKTtcbn1cbiJdfQ==
@@ -0,0 +1,4 @@
1
+ export * from './number-input.module';
2
+ export * from './number-input.component';
3
+ export * from './number-input.directives';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2lucHV0cy9udW1iZXItaW5wdXQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsMkJBQTJCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL251bWJlci1pbnB1dC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9udW1iZXItaW5wdXQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbnVtYmVyLWlucHV0LmRpcmVjdGl2ZXMnO1xuIl19