@recursyve/nice-ui-kit.v2 18.0.0-beta.144 → 20.0.0-beta.145

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 (659) hide show
  1. package/_index.scss +2 -2
  2. package/fesm2022/recursyve-nice-ui-kit.v2.mjs +899 -738
  3. package/fesm2022/recursyve-nice-ui-kit.v2.mjs.map +1 -1
  4. package/index.d.ts +3664 -3
  5. package/package.json +8 -10
  6. package/src/lib/components/base-form/base-form.theme.scss +2 -1
  7. package/src/lib/components/chip-list/chip-list.theme.scss +2 -2
  8. package/src/lib/components/date-range-picker/date-range-picker.theme.scss +6 -5
  9. package/src/lib/components/horizontal-stepper/horizontal-stepper.theme.scss +3 -2
  10. package/src/lib/components/navigation/vertical/vertical.theme.scss +8 -8
  11. package/src/lib/components/toggle-button-group/toggle-button-group.theme.scss +8 -7
  12. package/src/lib/nice.theme.scss +74 -82
  13. package/src/lib/nice.utils.scss +3 -1
  14. package/styles/main.scss +4 -4
  15. package/styles/nice.scss +3 -1
  16. package/styles/overrides/angular-material.scss +3 -3
  17. package/esm2022/lib/animations/defaults.mjs +0 -32
  18. package/esm2022/lib/animations/expand-collapse.mjs +0 -21
  19. package/esm2022/lib/animations/fade.mjs +0 -210
  20. package/esm2022/lib/animations/index.mjs +0 -2
  21. package/esm2022/lib/animations/public-api.mjs +0 -17
  22. package/esm2022/lib/animations/shake.mjs +0 -63
  23. package/esm2022/lib/animations/slide.mjs +0 -156
  24. package/esm2022/lib/animations/zoom.mjs +0 -46
  25. package/esm2022/lib/api/exceptions/api.exception.mjs +0 -3
  26. package/esm2022/lib/api/exceptions/exception.factory.mjs +0 -9
  27. package/esm2022/lib/api/index.mjs +0 -2
  28. package/esm2022/lib/api/interceptors/transform-response.interceptor.mjs +0 -28
  29. package/esm2022/lib/api/nice.api.mjs +0 -68
  30. package/esm2022/lib/api/public-api.mjs +0 -5
  31. package/esm2022/lib/components/alert/alert.component.mjs +0 -200
  32. package/esm2022/lib/components/alert/alert.module.mjs +0 -32
  33. package/esm2022/lib/components/alert/alert.service.mjs +0 -58
  34. package/esm2022/lib/components/alert/alert.types.mjs +0 -2
  35. package/esm2022/lib/components/alert/index.mjs +0 -2
  36. package/esm2022/lib/components/alert/public-api.mjs +0 -5
  37. package/esm2022/lib/components/assets-carousel/assets-carousel.component.mjs +0 -283
  38. package/esm2022/lib/components/assets-carousel/assets-carousel.constant.mjs +0 -3
  39. package/esm2022/lib/components/assets-carousel/assets-carousel.module.mjs +0 -88
  40. package/esm2022/lib/components/assets-carousel/directives/assets-carousel-active-content.directive.mjs +0 -14
  41. package/esm2022/lib/components/assets-carousel/index.mjs +0 -2
  42. package/esm2022/lib/components/assets-carousel/public-api.mjs +0 -4
  43. package/esm2022/lib/components/async-typeahead/async-typeahead.component.mjs +0 -459
  44. package/esm2022/lib/components/async-typeahead/async-typeahead.constant.mjs +0 -3
  45. package/esm2022/lib/components/async-typeahead/async-typeahead.module.mjs +0 -64
  46. package/esm2022/lib/components/async-typeahead/index.mjs +0 -2
  47. package/esm2022/lib/components/async-typeahead/providers/async-typeahead.provider.mjs +0 -6
  48. package/esm2022/lib/components/async-typeahead/providers/async-typeahead.service.mjs +0 -219
  49. package/esm2022/lib/components/async-typeahead/public-api.mjs +0 -5
  50. package/esm2022/lib/components/base-form/base-form.component.mjs +0 -91
  51. package/esm2022/lib/components/base-form/base-form.module.mjs +0 -16
  52. package/esm2022/lib/components/base-form/form-submit.directive.mjs +0 -20
  53. package/esm2022/lib/components/base-form/index.mjs +0 -2
  54. package/esm2022/lib/components/base-form/nice-base.form.mjs +0 -14
  55. package/esm2022/lib/components/base-form/public-api.mjs +0 -5
  56. package/esm2022/lib/components/card/card.component.mjs +0 -60
  57. package/esm2022/lib/components/card/card.module.mjs +0 -24
  58. package/esm2022/lib/components/card/card.types.mjs +0 -2
  59. package/esm2022/lib/components/card/index.mjs +0 -2
  60. package/esm2022/lib/components/card/public-api.mjs +0 -3
  61. package/esm2022/lib/components/carousel/carousel.component.mjs +0 -51
  62. package/esm2022/lib/components/carousel/carousel.constant.mjs +0 -3
  63. package/esm2022/lib/components/carousel/carousel.module.mjs +0 -54
  64. package/esm2022/lib/components/carousel/index.mjs +0 -2
  65. package/esm2022/lib/components/carousel/interfaces/carousel-options.interface.mjs +0 -2
  66. package/esm2022/lib/components/carousel/picture-modal/index.mjs +0 -2
  67. package/esm2022/lib/components/carousel/picture-modal/picture-modal.component.mjs +0 -11
  68. package/esm2022/lib/components/carousel/picture-modal/picture-modal.service.mjs +0 -34
  69. package/esm2022/lib/components/carousel/picture-modal/public-api.mjs +0 -3
  70. package/esm2022/lib/components/carousel/pipe/carousel-layout.pipe.mjs +0 -17
  71. package/esm2022/lib/components/carousel/public-api.mjs +0 -4
  72. package/esm2022/lib/components/collapsable/collapsable.component.mjs +0 -36
  73. package/esm2022/lib/components/collapsable/collapsable.module.mjs +0 -25
  74. package/esm2022/lib/components/collapsable/index.mjs +0 -2
  75. package/esm2022/lib/components/collapsable/public-api.mjs +0 -3
  76. package/esm2022/lib/components/date-range-picker/components/header/header.component.mjs +0 -57
  77. package/esm2022/lib/components/date-range-picker/components/range-preset/range-preset.component.mjs +0 -107
  78. package/esm2022/lib/components/date-range-picker/date-range-picker.component.mjs +0 -95
  79. package/esm2022/lib/components/date-range-picker/date-range-picker.module.mjs +0 -56
  80. package/esm2022/lib/components/date-range-picker/index.mjs +0 -2
  81. package/esm2022/lib/components/date-range-picker/providers/date-range-picker.service.mjs +0 -17
  82. package/esm2022/lib/components/date-range-picker/public-api.mjs +0 -3
  83. package/esm2022/lib/components/drawer/drawer.component.mjs +0 -372
  84. package/esm2022/lib/components/drawer/drawer.module.mjs +0 -28
  85. package/esm2022/lib/components/drawer/drawer.service.mjs +0 -40
  86. package/esm2022/lib/components/drawer/drawer.types.mjs +0 -2
  87. package/esm2022/lib/components/drawer/index.mjs +0 -2
  88. package/esm2022/lib/components/drawer/public-api.mjs +0 -5
  89. package/esm2022/lib/components/export-bottom-sheet/export-bottom-sheet.component.mjs +0 -33
  90. package/esm2022/lib/components/export-bottom-sheet/export-bottom-sheet.module.mjs +0 -45
  91. package/esm2022/lib/components/export-bottom-sheet/index.mjs +0 -2
  92. package/esm2022/lib/components/export-bottom-sheet/models/export-strategy.model.mjs +0 -2
  93. package/esm2022/lib/components/export-bottom-sheet/providers/export-bottom-sheet.service.mjs +0 -28
  94. package/esm2022/lib/components/export-bottom-sheet/public-api.mjs +0 -5
  95. package/esm2022/lib/components/form-error/control-status.directive.mjs +0 -125
  96. package/esm2022/lib/components/form-error/form-error.component.mjs +0 -53
  97. package/esm2022/lib/components/form-error/form-error.module.mjs +0 -20
  98. package/esm2022/lib/components/form-error/index.mjs +0 -2
  99. package/esm2022/lib/components/form-error/public-api.mjs +0 -4
  100. package/esm2022/lib/components/horizontal-stepper/horizontal-stepper.component.mjs +0 -34
  101. package/esm2022/lib/components/horizontal-stepper/horizontal-stepper.module.mjs +0 -29
  102. package/esm2022/lib/components/horizontal-stepper/index.mjs +0 -2
  103. package/esm2022/lib/components/horizontal-stepper/public-api.mjs +0 -4
  104. package/esm2022/lib/components/horizontal-stepper/step.component.mjs +0 -22
  105. package/esm2022/lib/components/image-cropper/image-cropper.component.mjs +0 -1269
  106. package/esm2022/lib/components/image-cropper/image-cropper.module.mjs +0 -23
  107. package/esm2022/lib/components/image-cropper/index.mjs +0 -2
  108. package/esm2022/lib/components/image-cropper/public-api.mjs +0 -3
  109. package/esm2022/lib/components/image-cropper/resize-canvas.mjs +0 -76
  110. package/esm2022/lib/components/index.mjs +0 -2
  111. package/esm2022/lib/components/layout/index.mjs +0 -2
  112. package/esm2022/lib/components/layout/layout.component.mjs +0 -98
  113. package/esm2022/lib/components/layout/layout.module.mjs +0 -18
  114. package/esm2022/lib/components/layout/public-api.mjs +0 -3
  115. package/esm2022/lib/components/loading-spinner/index.mjs +0 -2
  116. package/esm2022/lib/components/loading-spinner/loading-spinner.component.mjs +0 -22
  117. package/esm2022/lib/components/loading-spinner/loading-spinner.module.mjs +0 -48
  118. package/esm2022/lib/components/loading-spinner/loading.constant.mjs +0 -3
  119. package/esm2022/lib/components/loading-spinner/loading.directive.mjs +0 -56
  120. package/esm2022/lib/components/loading-spinner/public-api.mjs +0 -4
  121. package/esm2022/lib/components/loading-toast/index.mjs +0 -2
  122. package/esm2022/lib/components/loading-toast/loading-toast.component.mjs +0 -38
  123. package/esm2022/lib/components/loading-toast/loading-toast.constant.mjs +0 -3
  124. package/esm2022/lib/components/loading-toast/loading-toast.directive.mjs +0 -64
  125. package/esm2022/lib/components/loading-toast/loading-toast.module.mjs +0 -62
  126. package/esm2022/lib/components/loading-toast/loading-toast.service.mjs +0 -47
  127. package/esm2022/lib/components/loading-toast/public-api.mjs +0 -6
  128. package/esm2022/lib/components/loading-toast/rxjs/show-loading-toast.operator.mjs +0 -12
  129. package/esm2022/lib/components/lottie/index.mjs +0 -2
  130. package/esm2022/lib/components/lottie/lottie.component.mjs +0 -52
  131. package/esm2022/lib/components/lottie/lottie.module.mjs +0 -18
  132. package/esm2022/lib/components/lottie/public-api.mjs +0 -3
  133. package/esm2022/lib/components/navigation/components/hint-component-base.mjs +0 -120
  134. package/esm2022/lib/components/navigation/directives/show-hint.directive.mjs +0 -187
  135. package/esm2022/lib/components/navigation/horizontal/components/basic/basic.component.mjs +0 -62
  136. package/esm2022/lib/components/navigation/horizontal/components/branch/branch.component.mjs +0 -80
  137. package/esm2022/lib/components/navigation/horizontal/components/divider/divider.component.mjs +0 -51
  138. package/esm2022/lib/components/navigation/horizontal/components/spacer/spacer.component.mjs +0 -51
  139. package/esm2022/lib/components/navigation/horizontal/horizontal.component.mjs +0 -50
  140. package/esm2022/lib/components/navigation/index.mjs +0 -2
  141. package/esm2022/lib/components/navigation/navigation.component.mjs +0 -83
  142. package/esm2022/lib/components/navigation/navigation.module.mjs +0 -108
  143. package/esm2022/lib/components/navigation/navigation.service.mjs +0 -188
  144. package/esm2022/lib/components/navigation/navigation.types.mjs +0 -2
  145. package/esm2022/lib/components/navigation/pipes/should-hide.pipe.mjs +0 -31
  146. package/esm2022/lib/components/navigation/pipes/should-show-hint.pipe.mjs +0 -32
  147. package/esm2022/lib/components/navigation/pipes/translate-with-context.pipe.mjs +0 -25
  148. package/esm2022/lib/components/navigation/providers/hide-item.resolver.mjs +0 -3
  149. package/esm2022/lib/components/navigation/providers/hint.resolver.mjs +0 -3
  150. package/esm2022/lib/components/navigation/providers/hint.service.mjs +0 -20
  151. package/esm2022/lib/components/navigation/providers/translation-context.service.mjs +0 -16
  152. package/esm2022/lib/components/navigation/public-api.mjs +0 -20
  153. package/esm2022/lib/components/navigation/vertical/components/aside/aside.component.mjs +0 -145
  154. package/esm2022/lib/components/navigation/vertical/components/basic/basic.component.mjs +0 -76
  155. package/esm2022/lib/components/navigation/vertical/components/collapsable/collapsable.component.mjs +0 -264
  156. package/esm2022/lib/components/navigation/vertical/components/divider/divider.component.mjs +0 -51
  157. package/esm2022/lib/components/navigation/vertical/components/group/group.component.mjs +0 -75
  158. package/esm2022/lib/components/navigation/vertical/components/spacer/spacer.component.mjs +0 -51
  159. package/esm2022/lib/components/navigation/vertical/vertical.component.mjs +0 -599
  160. package/esm2022/lib/components/public-api.mjs +0 -25
  161. package/esm2022/lib/components/search-bar/index.mjs +0 -2
  162. package/esm2022/lib/components/search-bar/public-api.mjs +0 -3
  163. package/esm2022/lib/components/search-bar/search-bar.component.mjs +0 -76
  164. package/esm2022/lib/components/search-bar/search-bar.module.mjs +0 -40
  165. package/esm2022/lib/components/sweet-alert/index.mjs +0 -2
  166. package/esm2022/lib/components/sweet-alert/public-api.mjs +0 -5
  167. package/esm2022/lib/components/sweet-alert/sweet-alert.component.mjs +0 -59
  168. package/esm2022/lib/components/sweet-alert/sweet-alert.constant.mjs +0 -3
  169. package/esm2022/lib/components/sweet-alert/sweet-alert.directive.mjs +0 -37
  170. package/esm2022/lib/components/sweet-alert/sweet-alert.module.mjs +0 -37
  171. package/esm2022/lib/components/sweet-alert/sweet-alert.service.mjs +0 -95
  172. package/esm2022/lib/components/toast/index.mjs +0 -2
  173. package/esm2022/lib/components/toast/public-api.mjs +0 -6
  174. package/esm2022/lib/components/toast/rxjs/show-success-or-error-toast.operator.mjs +0 -22
  175. package/esm2022/lib/components/toast/rxjs/show-toast.operator.mjs +0 -26
  176. package/esm2022/lib/components/toast/toast.component.mjs +0 -25
  177. package/esm2022/lib/components/toast/toast.constant.mjs +0 -3
  178. package/esm2022/lib/components/toast/toast.module.mjs +0 -57
  179. package/esm2022/lib/components/toast/toast.service.mjs +0 -65
  180. package/esm2022/lib/components/toggle-button-group/index.mjs +0 -2
  181. package/esm2022/lib/components/toggle-button-group/public-api.mjs +0 -4
  182. package/esm2022/lib/components/toggle-button-group/toggle-button-group.component.mjs +0 -134
  183. package/esm2022/lib/components/toggle-button-group/toggle-button-group.module.mjs +0 -26
  184. package/esm2022/lib/components/toggle-button-group/toggle-button.component.mjs +0 -19
  185. package/esm2022/lib/components/translation-form/components/textarea/translation-form-textarea.component.mjs +0 -38
  186. package/esm2022/lib/components/translation-form/components/textfield/translation-form-textfield.component.mjs +0 -26
  187. package/esm2022/lib/components/translation-form/components/translation-form.component.mjs +0 -172
  188. package/esm2022/lib/components/translation-form/components/translation-form.module.mjs +0 -71
  189. package/esm2022/lib/components/translation-form/decorators/translation-form-group.decorator.mjs +0 -4
  190. package/esm2022/lib/components/translation-form/directives/translation-context.directive.mjs +0 -48
  191. package/esm2022/lib/components/translation-form/index.mjs +0 -2
  192. package/esm2022/lib/components/translation-form/providers/nice-translation-form.service.mjs +0 -59
  193. package/esm2022/lib/components/translation-form/public-api.mjs +0 -11
  194. package/esm2022/lib/components/translation-form/toggle/translation-toggle.component.mjs +0 -26
  195. package/esm2022/lib/components/translation-form/translation.form.mjs +0 -6
  196. package/esm2022/lib/components/translation-form/validators/require-for-languages.validator.mjs +0 -43
  197. package/esm2022/lib/components/typeahead/directives/options-scroll.directive.mjs +0 -68
  198. package/esm2022/lib/components/typeahead/directives/options-scroll.module.mjs +0 -16
  199. package/esm2022/lib/components/typeahead/index.mjs +0 -2
  200. package/esm2022/lib/components/typeahead/public-api.mjs +0 -4
  201. package/esm2022/lib/components/typeahead/typeahead.component.mjs +0 -490
  202. package/esm2022/lib/components/typeahead/typeahead.module.mjs +0 -59
  203. package/esm2022/lib/directives/autofocus/autofocus.directive.mjs +0 -17
  204. package/esm2022/lib/directives/autofocus/autofocus.module.mjs +0 -16
  205. package/esm2022/lib/directives/autofocus/index.mjs +0 -2
  206. package/esm2022/lib/directives/autofocus/public-api.mjs +0 -3
  207. package/esm2022/lib/directives/autogrow/autogrow.directive.mjs +0 -105
  208. package/esm2022/lib/directives/autogrow/autogrow.module.mjs +0 -20
  209. package/esm2022/lib/directives/autogrow/index.mjs +0 -2
  210. package/esm2022/lib/directives/autogrow/public-api.mjs +0 -3
  211. package/esm2022/lib/directives/chip-async-typeahead/chip-async-typeahead.directive.mjs +0 -39
  212. package/esm2022/lib/directives/chip-async-typeahead/index.mjs +0 -2
  213. package/esm2022/lib/directives/chip-async-typeahead/public-api.mjs +0 -2
  214. package/esm2022/lib/directives/chip-list/chip-list-items/chip-list-item-label.directive.mjs +0 -14
  215. package/esm2022/lib/directives/chip-list/chip-list-items/chip-list-items.component.mjs +0 -46
  216. package/esm2022/lib/directives/chip-list/chip-list.constant.mjs +0 -3
  217. package/esm2022/lib/directives/chip-list/chip-list.directive.mjs +0 -144
  218. package/esm2022/lib/directives/chip-list/chip-list.module.mjs +0 -40
  219. package/esm2022/lib/directives/chip-list/index.mjs +0 -2
  220. package/esm2022/lib/directives/chip-list/public-api.mjs +0 -5
  221. package/esm2022/lib/directives/draggable-list/draggable-list.directive.mjs +0 -94
  222. package/esm2022/lib/directives/draggable-list/draggable-list.module.mjs +0 -18
  223. package/esm2022/lib/directives/draggable-list/index.mjs +0 -2
  224. package/esm2022/lib/directives/draggable-list/public-api.mjs +0 -3
  225. package/esm2022/lib/directives/dropzone/dropzone.directive.mjs +0 -50
  226. package/esm2022/lib/directives/dropzone/dropzone.module.mjs +0 -18
  227. package/esm2022/lib/directives/dropzone/index.mjs +0 -2
  228. package/esm2022/lib/directives/dropzone/public-api.mjs +0 -3
  229. package/esm2022/lib/directives/image-error-placeholder/image-error-placeholder.directive.mjs +0 -26
  230. package/esm2022/lib/directives/image-error-placeholder/image-error-placeholder.module.mjs +0 -16
  231. package/esm2022/lib/directives/image-error-placeholder/index.mjs +0 -2
  232. package/esm2022/lib/directives/image-error-placeholder/public-api.mjs +0 -3
  233. package/esm2022/lib/directives/index.mjs +0 -2
  234. package/esm2022/lib/directives/material/index.mjs +0 -2
  235. package/esm2022/lib/directives/material/material.module.mjs +0 -25
  236. package/esm2022/lib/directives/material/nice-material-style.directive.mjs +0 -18
  237. package/esm2022/lib/directives/material/nice-rounded-style.directive.mjs +0 -18
  238. package/esm2022/lib/directives/material/public-api.mjs +0 -4
  239. package/esm2022/lib/directives/modals/index.mjs +0 -2
  240. package/esm2022/lib/directives/modals/modal-on-click.directive.mjs +0 -22
  241. package/esm2022/lib/directives/modals/modal-opener.directive.mjs +0 -31
  242. package/esm2022/lib/directives/modals/public-api.mjs +0 -3
  243. package/esm2022/lib/directives/public-api.mjs +0 -16
  244. package/esm2022/lib/directives/rerender/index.mjs +0 -2
  245. package/esm2022/lib/directives/rerender/public-api.mjs +0 -2
  246. package/esm2022/lib/directives/rerender/rerender.directive.mjs +0 -22
  247. package/esm2022/lib/directives/resolve/index.mjs +0 -2
  248. package/esm2022/lib/directives/resolve/public-api.mjs +0 -2
  249. package/esm2022/lib/directives/resolve/resolve.directive.mjs +0 -32
  250. package/esm2022/lib/directives/scroll-reset/index.mjs +0 -2
  251. package/esm2022/lib/directives/scroll-reset/public-api.mjs +0 -3
  252. package/esm2022/lib/directives/scroll-reset/scroll-reset.directive.mjs +0 -47
  253. package/esm2022/lib/directives/scroll-reset/scroll-reset.module.mjs +0 -20
  254. package/esm2022/lib/directives/scrollbar/index.mjs +0 -2
  255. package/esm2022/lib/directives/scrollbar/public-api.mjs +0 -3
  256. package/esm2022/lib/directives/scrollbar/scrollbar.directive.mjs +0 -309
  257. package/esm2022/lib/directives/scrollbar/scrollbar.module.mjs +0 -20
  258. package/esm2022/lib/directives/scrollbar/scrollbar.types.mjs +0 -15
  259. package/esm2022/lib/directives/stop-propagation/click-stop-propagation.directive.mjs +0 -18
  260. package/esm2022/lib/directives/stop-propagation/index.mjs +0 -2
  261. package/esm2022/lib/directives/stop-propagation/public-api.mjs +0 -3
  262. package/esm2022/lib/directives/stop-propagation/stop-propagation.module.mjs +0 -16
  263. package/esm2022/lib/directives/window/index.mjs +0 -2
  264. package/esm2022/lib/directives/window/prevent-close-window.directive.mjs +0 -18
  265. package/esm2022/lib/directives/window/public-api.mjs +0 -3
  266. package/esm2022/lib/directives/window/window-directive.module.mjs +0 -16
  267. package/esm2022/lib/nice.module.mjs +0 -124
  268. package/esm2022/lib/pipes/boolean.pipe.mjs +0 -22
  269. package/esm2022/lib/pipes/capitalize-first-letter.pipe.mjs +0 -18
  270. package/esm2022/lib/pipes/ceil.pipe.mjs +0 -14
  271. package/esm2022/lib/pipes/entries.pipe.mjs +0 -23
  272. package/esm2022/lib/pipes/find-by-key.pipe.mjs +0 -14
  273. package/esm2022/lib/pipes/first-letter.pipe.mjs +0 -14
  274. package/esm2022/lib/pipes/floor.pipe.mjs +0 -14
  275. package/esm2022/lib/pipes/index.mjs +0 -2
  276. package/esm2022/lib/pipes/join-if-defined.pipe.mjs +0 -20
  277. package/esm2022/lib/pipes/link.pipe.mjs +0 -25
  278. package/esm2022/lib/pipes/localized-boolean.pipe.mjs +0 -19
  279. package/esm2022/lib/pipes/localized-currency.pipe.mjs +0 -18
  280. package/esm2022/lib/pipes/localized-date-only.pipe.mjs +0 -21
  281. package/esm2022/lib/pipes/localized-date.pipe.mjs +0 -40
  282. package/esm2022/lib/pipes/minutes-to-time.pipe.mjs +0 -17
  283. package/esm2022/lib/pipes/number-to-ordinal-indicator.pipe.mjs +0 -23
  284. package/esm2022/lib/pipes/pad.pipe.mjs +0 -20
  285. package/esm2022/lib/pipes/phone.pipe.mjs +0 -23
  286. package/esm2022/lib/pipes/pipes.module.mjs +0 -177
  287. package/esm2022/lib/pipes/postal-code.pipe.mjs +0 -22
  288. package/esm2022/lib/pipes/public-api.mjs +0 -25
  289. package/esm2022/lib/pipes/range.pipe.mjs +0 -18
  290. package/esm2022/lib/pipes/round.pipe.mjs +0 -14
  291. package/esm2022/lib/pipes/sanitize-bypass.pipe.mjs +0 -24
  292. package/esm2022/lib/pipes/seconds-to-time.pipe.mjs +0 -18
  293. package/esm2022/lib/pipes/track-by-prop.pipe.mjs +0 -14
  294. package/esm2022/lib/providers/config/config.constants.mjs +0 -3
  295. package/esm2022/lib/providers/config/config.model.mjs +0 -2
  296. package/esm2022/lib/providers/config/config.module.mjs +0 -34
  297. package/esm2022/lib/providers/config/config.service.mjs +0 -51
  298. package/esm2022/lib/providers/config/index.mjs +0 -2
  299. package/esm2022/lib/providers/config/public-api.mjs +0 -3
  300. package/esm2022/lib/providers/index.mjs +0 -2
  301. package/esm2022/lib/providers/media-watcher/index.mjs +0 -2
  302. package/esm2022/lib/providers/media-watcher/media-watcher.module.mjs +0 -26
  303. package/esm2022/lib/providers/media-watcher/media-watcher.service.mjs +0 -106
  304. package/esm2022/lib/providers/media-watcher/public-api.mjs +0 -3
  305. package/esm2022/lib/providers/overlay/dynamic-overlay-container.service.mjs +0 -14
  306. package/esm2022/lib/providers/overlay/dynamic-overlay.service.mjs +0 -31
  307. package/esm2022/lib/providers/public-api.mjs +0 -5
  308. package/esm2022/lib/providers/splash-screen/index.mjs +0 -2
  309. package/esm2022/lib/providers/splash-screen/public-api.mjs +0 -3
  310. package/esm2022/lib/providers/splash-screen/splash-screen.module.mjs +0 -26
  311. package/esm2022/lib/providers/splash-screen/splash-screen.service.mjs +0 -45
  312. package/esm2022/lib/providers/utils/index.mjs +0 -2
  313. package/esm2022/lib/providers/utils/public-api.mjs +0 -3
  314. package/esm2022/lib/providers/utils/utils.module.mjs +0 -19
  315. package/esm2022/lib/providers/utils/utils.service.mjs +0 -27
  316. package/esm2022/lib/types/constructor.mjs +0 -5
  317. package/esm2022/lib/utils/array.utils.mjs +0 -106
  318. package/esm2022/lib/utils/case.utils.mjs +0 -58
  319. package/esm2022/lib/utils/colors.utils.mjs +0 -29
  320. package/esm2022/lib/utils/date.utils.mjs +0 -47
  321. package/esm2022/lib/utils/file.utils.mjs +0 -90
  322. package/esm2022/lib/utils/font-awesome.utils.mjs +0 -40
  323. package/esm2022/lib/utils/form-data.utils.mjs +0 -41
  324. package/esm2022/lib/utils/http-status.utils.mjs +0 -47
  325. package/esm2022/lib/utils/index.mjs +0 -2
  326. package/esm2022/lib/utils/keyboard.utils.mjs +0 -9
  327. package/esm2022/lib/utils/lexorank.utils.mjs +0 -28
  328. package/esm2022/lib/utils/modal.utils.mjs +0 -6
  329. package/esm2022/lib/utils/number.utils.mjs +0 -6
  330. package/esm2022/lib/utils/object.utils.mjs +0 -111
  331. package/esm2022/lib/utils/promise.utils.mjs +0 -7
  332. package/esm2022/lib/utils/public-api.mjs +0 -19
  333. package/esm2022/lib/utils/query-params.utils.mjs +0 -14
  334. package/esm2022/lib/utils/regex.utils.mjs +0 -11
  335. package/esm2022/lib/utils/type.utils.mjs +0 -15
  336. package/esm2022/lib/utils/url.utils.mjs +0 -20
  337. package/esm2022/public-api.mjs +0 -12
  338. package/esm2022/recursyve-nice-ui-kit.v2.mjs +0 -5
  339. package/lib/animations/defaults.d.ts +0 -13
  340. package/lib/animations/expand-collapse.d.ts +0 -2
  341. package/lib/animations/fade.d.ts +0 -11
  342. package/lib/animations/index.d.ts +0 -1
  343. package/lib/animations/public-api.d.ts +0 -1
  344. package/lib/animations/shake.d.ts +0 -2
  345. package/lib/animations/slide.d.ts +0 -9
  346. package/lib/animations/zoom.d.ts +0 -3
  347. package/lib/api/exceptions/api.exception.d.ts +0 -3
  348. package/lib/api/exceptions/exception.factory.d.ts +0 -6
  349. package/lib/api/index.d.ts +0 -1
  350. package/lib/api/interceptors/transform-response.interceptor.d.ts +0 -9
  351. package/lib/api/nice.api.d.ts +0 -33
  352. package/lib/api/public-api.d.ts +0 -4
  353. package/lib/components/alert/alert.component.d.ts +0 -64
  354. package/lib/components/alert/alert.module.d.ts +0 -10
  355. package/lib/components/alert/alert.service.d.ts +0 -24
  356. package/lib/components/alert/alert.types.d.ts +0 -3
  357. package/lib/components/alert/index.d.ts +0 -1
  358. package/lib/components/alert/public-api.d.ts +0 -4
  359. package/lib/components/assets-carousel/assets-carousel.component.d.ts +0 -88
  360. package/lib/components/assets-carousel/assets-carousel.constant.d.ts +0 -2
  361. package/lib/components/assets-carousel/assets-carousel.module.d.ts +0 -19
  362. package/lib/components/assets-carousel/directives/assets-carousel-active-content.directive.d.ts +0 -8
  363. package/lib/components/assets-carousel/index.d.ts +0 -1
  364. package/lib/components/assets-carousel/public-api.d.ts +0 -3
  365. package/lib/components/async-typeahead/async-typeahead.component.d.ts +0 -119
  366. package/lib/components/async-typeahead/async-typeahead.constant.d.ts +0 -2
  367. package/lib/components/async-typeahead/async-typeahead.module.d.ts +0 -19
  368. package/lib/components/async-typeahead/index.d.ts +0 -1
  369. package/lib/components/async-typeahead/providers/async-typeahead.provider.d.ts +0 -11
  370. package/lib/components/async-typeahead/providers/async-typeahead.service.d.ts +0 -51
  371. package/lib/components/async-typeahead/public-api.d.ts +0 -4
  372. package/lib/components/base-form/base-form.component.d.ts +0 -30
  373. package/lib/components/base-form/base-form.module.d.ts +0 -7
  374. package/lib/components/base-form/form-submit.directive.d.ts +0 -8
  375. package/lib/components/base-form/index.d.ts +0 -1
  376. package/lib/components/base-form/nice-base.form.d.ts +0 -4
  377. package/lib/components/base-form/public-api.d.ts +0 -4
  378. package/lib/components/card/card.component.d.ts +0 -21
  379. package/lib/components/card/card.module.d.ts +0 -8
  380. package/lib/components/card/card.types.d.ts +0 -1
  381. package/lib/components/card/index.d.ts +0 -1
  382. package/lib/components/card/public-api.d.ts +0 -2
  383. package/lib/components/carousel/carousel.component.d.ts +0 -23
  384. package/lib/components/carousel/carousel.constant.d.ts +0 -2
  385. package/lib/components/carousel/carousel.module.d.ts +0 -17
  386. package/lib/components/carousel/index.d.ts +0 -1
  387. package/lib/components/carousel/interfaces/carousel-options.interface.d.ts +0 -9
  388. package/lib/components/carousel/picture-modal/index.d.ts +0 -1
  389. package/lib/components/carousel/picture-modal/picture-modal.component.d.ts +0 -6
  390. package/lib/components/carousel/picture-modal/picture-modal.service.d.ts +0 -12
  391. package/lib/components/carousel/picture-modal/public-api.d.ts +0 -2
  392. package/lib/components/carousel/pipe/carousel-layout.pipe.d.ts +0 -7
  393. package/lib/components/carousel/public-api.d.ts +0 -3
  394. package/lib/components/collapsable/collapsable.component.d.ts +0 -15
  395. package/lib/components/collapsable/collapsable.module.d.ts +0 -9
  396. package/lib/components/collapsable/index.d.ts +0 -1
  397. package/lib/components/collapsable/public-api.d.ts +0 -2
  398. package/lib/components/date-range-picker/components/header/header.component.d.ts +0 -20
  399. package/lib/components/date-range-picker/components/range-preset/range-preset.component.d.ts +0 -23
  400. package/lib/components/date-range-picker/date-range-picker.component.d.ts +0 -28
  401. package/lib/components/date-range-picker/date-range-picker.module.d.ts +0 -18
  402. package/lib/components/date-range-picker/index.d.ts +0 -1
  403. package/lib/components/date-range-picker/providers/date-range-picker.service.d.ts +0 -8
  404. package/lib/components/date-range-picker/public-api.d.ts +0 -2
  405. package/lib/components/drawer/drawer.component.d.ts +0 -115
  406. package/lib/components/drawer/drawer.module.d.ts +0 -9
  407. package/lib/components/drawer/drawer.service.d.ts +0 -23
  408. package/lib/components/drawer/drawer.types.d.ts +0 -2
  409. package/lib/components/drawer/index.d.ts +0 -1
  410. package/lib/components/drawer/public-api.d.ts +0 -4
  411. package/lib/components/export-bottom-sheet/export-bottom-sheet.component.d.ts +0 -17
  412. package/lib/components/export-bottom-sheet/export-bottom-sheet.module.d.ts +0 -18
  413. package/lib/components/export-bottom-sheet/index.d.ts +0 -1
  414. package/lib/components/export-bottom-sheet/models/export-strategy.model.d.ts +0 -5
  415. package/lib/components/export-bottom-sheet/providers/export-bottom-sheet.service.d.ts +0 -12
  416. package/lib/components/export-bottom-sheet/public-api.d.ts +0 -4
  417. package/lib/components/form-error/control-status.directive.d.ts +0 -20
  418. package/lib/components/form-error/form-error.component.d.ts +0 -8
  419. package/lib/components/form-error/form-error.module.d.ts +0 -10
  420. package/lib/components/form-error/index.d.ts +0 -1
  421. package/lib/components/form-error/public-api.d.ts +0 -3
  422. package/lib/components/horizontal-stepper/horizontal-stepper.component.d.ts +0 -8
  423. package/lib/components/horizontal-stepper/horizontal-stepper.module.d.ts +0 -11
  424. package/lib/components/horizontal-stepper/index.d.ts +0 -1
  425. package/lib/components/horizontal-stepper/public-api.d.ts +0 -3
  426. package/lib/components/horizontal-stepper/step.component.d.ts +0 -6
  427. package/lib/components/image-cropper/image-cropper.component.d.ts +0 -374
  428. package/lib/components/image-cropper/image-cropper.module.d.ts +0 -10
  429. package/lib/components/image-cropper/index.d.ts +0 -1
  430. package/lib/components/image-cropper/public-api.d.ts +0 -2
  431. package/lib/components/image-cropper/resize-canvas.d.ts +0 -1
  432. package/lib/components/index.d.ts +0 -1
  433. package/lib/components/layout/index.d.ts +0 -1
  434. package/lib/components/layout/layout.component.d.ts +0 -39
  435. package/lib/components/layout/layout.module.d.ts +0 -7
  436. package/lib/components/layout/public-api.d.ts +0 -2
  437. package/lib/components/loading-spinner/index.d.ts +0 -1
  438. package/lib/components/loading-spinner/loading-spinner.component.d.ts +0 -9
  439. package/lib/components/loading-spinner/loading-spinner.module.d.ts +0 -13
  440. package/lib/components/loading-spinner/loading.constant.d.ts +0 -2
  441. package/lib/components/loading-spinner/loading.directive.d.ts +0 -17
  442. package/lib/components/loading-spinner/public-api.d.ts +0 -3
  443. package/lib/components/loading-toast/index.d.ts +0 -1
  444. package/lib/components/loading-toast/loading-toast.component.d.ts +0 -19
  445. package/lib/components/loading-toast/loading-toast.constant.d.ts +0 -2
  446. package/lib/components/loading-toast/loading-toast.directive.d.ts +0 -18
  447. package/lib/components/loading-toast/loading-toast.module.d.ts +0 -16
  448. package/lib/components/loading-toast/loading-toast.service.d.ts +0 -20
  449. package/lib/components/loading-toast/public-api.d.ts +0 -5
  450. package/lib/components/loading-toast/rxjs/show-loading-toast.operator.d.ts +0 -6
  451. package/lib/components/lottie/index.d.ts +0 -1
  452. package/lib/components/lottie/lottie.component.d.ts +0 -19
  453. package/lib/components/lottie/lottie.module.d.ts +0 -8
  454. package/lib/components/lottie/public-api.d.ts +0 -2
  455. package/lib/components/navigation/components/hint-component-base.d.ts +0 -65
  456. package/lib/components/navigation/directives/show-hint.directive.d.ts +0 -39
  457. package/lib/components/navigation/horizontal/components/basic/basic.component.d.ts +0 -29
  458. package/lib/components/navigation/horizontal/components/branch/branch.component.d.ts +0 -38
  459. package/lib/components/navigation/horizontal/components/divider/divider.component.d.ts +0 -26
  460. package/lib/components/navigation/horizontal/components/spacer/spacer.component.d.ts +0 -26
  461. package/lib/components/navigation/horizontal/horizontal.component.d.ts +0 -22
  462. package/lib/components/navigation/index.d.ts +0 -1
  463. package/lib/components/navigation/navigation.component.d.ts +0 -32
  464. package/lib/components/navigation/navigation.module.d.ts +0 -32
  465. package/lib/components/navigation/navigation.service.d.ts +0 -69
  466. package/lib/components/navigation/navigation.types.d.ts +0 -42
  467. package/lib/components/navigation/pipes/should-hide.pipe.d.ts +0 -11
  468. package/lib/components/navigation/pipes/should-show-hint.pipe.d.ts +0 -12
  469. package/lib/components/navigation/pipes/translate-with-context.pipe.d.ts +0 -12
  470. package/lib/components/navigation/providers/hide-item.resolver.d.ts +0 -5
  471. package/lib/components/navigation/providers/hint.resolver.d.ts +0 -4
  472. package/lib/components/navigation/providers/hint.service.d.ts +0 -9
  473. package/lib/components/navigation/providers/translation-context.service.d.ts +0 -8
  474. package/lib/components/navigation/public-api.d.ts +0 -19
  475. package/lib/components/navigation/vertical/components/aside/aside.component.d.ts +0 -55
  476. package/lib/components/navigation/vertical/components/basic/basic.component.d.ts +0 -35
  477. package/lib/components/navigation/vertical/components/collapsable/collapsable.component.d.ts +0 -68
  478. package/lib/components/navigation/vertical/components/divider/divider.component.d.ts +0 -26
  479. package/lib/components/navigation/vertical/components/group/group.component.d.ts +0 -36
  480. package/lib/components/navigation/vertical/components/spacer/spacer.component.d.ts +0 -26
  481. package/lib/components/navigation/vertical/vertical.component.d.ts +0 -168
  482. package/lib/components/public-api.d.ts +0 -24
  483. package/lib/components/search-bar/index.d.ts +0 -1
  484. package/lib/components/search-bar/public-api.d.ts +0 -2
  485. package/lib/components/search-bar/search-bar.component.d.ts +0 -20
  486. package/lib/components/search-bar/search-bar.module.d.ts +0 -12
  487. package/lib/components/sweet-alert/index.d.ts +0 -1
  488. package/lib/components/sweet-alert/public-api.d.ts +0 -4
  489. package/lib/components/sweet-alert/sweet-alert.component.d.ts +0 -27
  490. package/lib/components/sweet-alert/sweet-alert.constant.d.ts +0 -2
  491. package/lib/components/sweet-alert/sweet-alert.directive.d.ts +0 -13
  492. package/lib/components/sweet-alert/sweet-alert.module.d.ts +0 -16
  493. package/lib/components/sweet-alert/sweet-alert.service.d.ts +0 -32
  494. package/lib/components/toast/index.d.ts +0 -1
  495. package/lib/components/toast/public-api.d.ts +0 -5
  496. package/lib/components/toast/rxjs/show-success-or-error-toast.operator.d.ts +0 -37
  497. package/lib/components/toast/rxjs/show-toast.operator.d.ts +0 -20
  498. package/lib/components/toast/toast.component.d.ts +0 -17
  499. package/lib/components/toast/toast.constant.d.ts +0 -2
  500. package/lib/components/toast/toast.module.d.ts +0 -15
  501. package/lib/components/toast/toast.service.d.ts +0 -25
  502. package/lib/components/toggle-button-group/index.d.ts +0 -1
  503. package/lib/components/toggle-button-group/public-api.d.ts +0 -3
  504. package/lib/components/toggle-button-group/toggle-button-group.component.d.ts +0 -26
  505. package/lib/components/toggle-button-group/toggle-button-group.module.d.ts +0 -10
  506. package/lib/components/toggle-button-group/toggle-button.component.d.ts +0 -8
  507. package/lib/components/translation-form/components/textarea/translation-form-textarea.component.d.ts +0 -9
  508. package/lib/components/translation-form/components/textfield/translation-form-textfield.component.d.ts +0 -6
  509. package/lib/components/translation-form/components/translation-form.component.d.ts +0 -56
  510. package/lib/components/translation-form/components/translation-form.module.d.ts +0 -16
  511. package/lib/components/translation-form/decorators/translation-form-group.decorator.d.ts +0 -1
  512. package/lib/components/translation-form/directives/translation-context.directive.d.ts +0 -17
  513. package/lib/components/translation-form/index.d.ts +0 -1
  514. package/lib/components/translation-form/providers/nice-translation-form.service.d.ts +0 -16
  515. package/lib/components/translation-form/public-api.d.ts +0 -10
  516. package/lib/components/translation-form/toggle/translation-toggle.component.d.ts +0 -14
  517. package/lib/components/translation-form/translation.form.d.ts +0 -5
  518. package/lib/components/translation-form/validators/require-for-languages.validator.d.ts +0 -14
  519. package/lib/components/typeahead/directives/options-scroll.directive.d.ts +0 -19
  520. package/lib/components/typeahead/directives/options-scroll.module.d.ts +0 -7
  521. package/lib/components/typeahead/index.d.ts +0 -1
  522. package/lib/components/typeahead/public-api.d.ts +0 -3
  523. package/lib/components/typeahead/typeahead.component.d.ts +0 -101
  524. package/lib/components/typeahead/typeahead.module.d.ts +0 -17
  525. package/lib/directives/autofocus/autofocus.directive.d.ts +0 -9
  526. package/lib/directives/autofocus/autofocus.module.d.ts +0 -7
  527. package/lib/directives/autofocus/index.d.ts +0 -1
  528. package/lib/directives/autofocus/public-api.d.ts +0 -2
  529. package/lib/directives/autogrow/autogrow.directive.d.ts +0 -37
  530. package/lib/directives/autogrow/autogrow.module.d.ts +0 -7
  531. package/lib/directives/autogrow/index.d.ts +0 -1
  532. package/lib/directives/autogrow/public-api.d.ts +0 -2
  533. package/lib/directives/chip-async-typeahead/chip-async-typeahead.directive.d.ts +0 -14
  534. package/lib/directives/chip-async-typeahead/index.d.ts +0 -1
  535. package/lib/directives/chip-async-typeahead/public-api.d.ts +0 -1
  536. package/lib/directives/chip-list/chip-list-items/chip-list-item-label.directive.d.ts +0 -8
  537. package/lib/directives/chip-list/chip-list-items/chip-list-items.component.d.ts +0 -26
  538. package/lib/directives/chip-list/chip-list.constant.d.ts +0 -2
  539. package/lib/directives/chip-list/chip-list.directive.d.ts +0 -32
  540. package/lib/directives/chip-list/chip-list.module.d.ts +0 -14
  541. package/lib/directives/chip-list/index.d.ts +0 -1
  542. package/lib/directives/chip-list/public-api.d.ts +0 -4
  543. package/lib/directives/draggable-list/draggable-list.directive.d.ts +0 -24
  544. package/lib/directives/draggable-list/draggable-list.module.d.ts +0 -8
  545. package/lib/directives/draggable-list/index.d.ts +0 -1
  546. package/lib/directives/draggable-list/public-api.d.ts +0 -2
  547. package/lib/directives/dropzone/dropzone.directive.d.ts +0 -11
  548. package/lib/directives/dropzone/dropzone.module.d.ts +0 -7
  549. package/lib/directives/dropzone/index.d.ts +0 -1
  550. package/lib/directives/dropzone/public-api.d.ts +0 -2
  551. package/lib/directives/image-error-placeholder/image-error-placeholder.directive.d.ts +0 -11
  552. package/lib/directives/image-error-placeholder/image-error-placeholder.module.d.ts +0 -7
  553. package/lib/directives/image-error-placeholder/index.d.ts +0 -1
  554. package/lib/directives/image-error-placeholder/public-api.d.ts +0 -2
  555. package/lib/directives/index.d.ts +0 -1
  556. package/lib/directives/material/index.d.ts +0 -1
  557. package/lib/directives/material/material.module.d.ts +0 -8
  558. package/lib/directives/material/nice-material-style.directive.d.ts +0 -9
  559. package/lib/directives/material/nice-rounded-style.directive.d.ts +0 -9
  560. package/lib/directives/material/public-api.d.ts +0 -3
  561. package/lib/directives/modals/index.d.ts +0 -1
  562. package/lib/directives/modals/modal-on-click.directive.d.ts +0 -10
  563. package/lib/directives/modals/modal-opener.directive.d.ts +0 -14
  564. package/lib/directives/modals/public-api.d.ts +0 -2
  565. package/lib/directives/public-api.d.ts +0 -15
  566. package/lib/directives/rerender/index.d.ts +0 -1
  567. package/lib/directives/rerender/public-api.d.ts +0 -1
  568. package/lib/directives/rerender/rerender.directive.d.ts +0 -10
  569. package/lib/directives/resolve/index.d.ts +0 -1
  570. package/lib/directives/resolve/public-api.d.ts +0 -1
  571. package/lib/directives/resolve/resolve.directive.d.ts +0 -18
  572. package/lib/directives/scroll-reset/index.d.ts +0 -1
  573. package/lib/directives/scroll-reset/public-api.d.ts +0 -2
  574. package/lib/directives/scroll-reset/scroll-reset.directive.d.ts +0 -22
  575. package/lib/directives/scroll-reset/scroll-reset.module.d.ts +0 -7
  576. package/lib/directives/scrollbar/index.d.ts +0 -1
  577. package/lib/directives/scrollbar/public-api.d.ts +0 -2
  578. package/lib/directives/scrollbar/scrollbar.directive.d.ts +0 -112
  579. package/lib/directives/scrollbar/scrollbar.module.d.ts +0 -7
  580. package/lib/directives/scrollbar/scrollbar.types.d.ts +0 -12
  581. package/lib/directives/stop-propagation/click-stop-propagation.directive.d.ts +0 -6
  582. package/lib/directives/stop-propagation/index.d.ts +0 -1
  583. package/lib/directives/stop-propagation/public-api.d.ts +0 -2
  584. package/lib/directives/stop-propagation/stop-propagation.module.d.ts +0 -7
  585. package/lib/directives/window/index.d.ts +0 -1
  586. package/lib/directives/window/prevent-close-window.directive.d.ts +0 -6
  587. package/lib/directives/window/public-api.d.ts +0 -2
  588. package/lib/directives/window/window-directive.module.d.ts +0 -7
  589. package/lib/nice.module.d.ts +0 -13
  590. package/lib/pipes/boolean.pipe.d.ts +0 -10
  591. package/lib/pipes/capitalize-first-letter.pipe.d.ts +0 -7
  592. package/lib/pipes/ceil.pipe.d.ts +0 -7
  593. package/lib/pipes/entries.pipe.d.ts +0 -10
  594. package/lib/pipes/find-by-key.pipe.d.ts +0 -7
  595. package/lib/pipes/first-letter.pipe.d.ts +0 -7
  596. package/lib/pipes/floor.pipe.d.ts +0 -7
  597. package/lib/pipes/index.d.ts +0 -1
  598. package/lib/pipes/join-if-defined.pipe.d.ts +0 -7
  599. package/lib/pipes/link.pipe.d.ts +0 -15
  600. package/lib/pipes/localized-boolean.pipe.d.ts +0 -10
  601. package/lib/pipes/localized-currency.pipe.d.ts +0 -10
  602. package/lib/pipes/localized-date-only.pipe.d.ts +0 -10
  603. package/lib/pipes/localized-date.pipe.d.ts +0 -11
  604. package/lib/pipes/minutes-to-time.pipe.d.ts +0 -7
  605. package/lib/pipes/number-to-ordinal-indicator.pipe.d.ts +0 -7
  606. package/lib/pipes/pad.pipe.d.ts +0 -7
  607. package/lib/pipes/phone.pipe.d.ts +0 -10
  608. package/lib/pipes/pipes.module.d.ts +0 -29
  609. package/lib/pipes/postal-code.pipe.d.ts +0 -10
  610. package/lib/pipes/public-api.d.ts +0 -24
  611. package/lib/pipes/range.pipe.d.ts +0 -7
  612. package/lib/pipes/round.pipe.d.ts +0 -7
  613. package/lib/pipes/sanitize-bypass.pipe.d.ts +0 -10
  614. package/lib/pipes/seconds-to-time.pipe.d.ts +0 -7
  615. package/lib/pipes/track-by-prop.pipe.d.ts +0 -7
  616. package/lib/providers/config/config.constants.d.ts +0 -2
  617. package/lib/providers/config/config.model.d.ts +0 -14
  618. package/lib/providers/config/config.module.d.ts +0 -18
  619. package/lib/providers/config/config.service.d.ts +0 -21
  620. package/lib/providers/config/index.d.ts +0 -1
  621. package/lib/providers/config/public-api.d.ts +0 -2
  622. package/lib/providers/index.d.ts +0 -1
  623. package/lib/providers/media-watcher/index.d.ts +0 -1
  624. package/lib/providers/media-watcher/media-watcher.module.d.ts +0 -12
  625. package/lib/providers/media-watcher/media-watcher.service.d.ts +0 -27
  626. package/lib/providers/media-watcher/public-api.d.ts +0 -2
  627. package/lib/providers/overlay/dynamic-overlay-container.service.d.ts +0 -7
  628. package/lib/providers/overlay/dynamic-overlay.service.d.ts +0 -14
  629. package/lib/providers/public-api.d.ts +0 -4
  630. package/lib/providers/splash-screen/index.d.ts +0 -1
  631. package/lib/providers/splash-screen/public-api.d.ts +0 -2
  632. package/lib/providers/splash-screen/splash-screen.module.d.ts +0 -12
  633. package/lib/providers/splash-screen/splash-screen.service.d.ts +0 -20
  634. package/lib/providers/utils/index.d.ts +0 -1
  635. package/lib/providers/utils/public-api.d.ts +0 -2
  636. package/lib/providers/utils/utils.module.d.ts +0 -9
  637. package/lib/providers/utils/utils.service.d.ts +0 -9
  638. package/lib/types/constructor.d.ts +0 -5
  639. package/lib/utils/array.utils.d.ts +0 -24
  640. package/lib/utils/case.utils.d.ts +0 -9
  641. package/lib/utils/colors.utils.d.ts +0 -9
  642. package/lib/utils/date.utils.d.ts +0 -11
  643. package/lib/utils/file.utils.d.ts +0 -13
  644. package/lib/utils/font-awesome.utils.d.ts +0 -3
  645. package/lib/utils/form-data.utils.d.ts +0 -4
  646. package/lib/utils/http-status.utils.d.ts +0 -45
  647. package/lib/utils/index.d.ts +0 -1
  648. package/lib/utils/keyboard.utils.d.ts +0 -7
  649. package/lib/utils/lexorank.utils.d.ts +0 -6
  650. package/lib/utils/modal.utils.d.ts +0 -7
  651. package/lib/utils/number.utils.d.ts +0 -7
  652. package/lib/utils/object.utils.d.ts +0 -10
  653. package/lib/utils/promise.utils.d.ts +0 -7
  654. package/lib/utils/public-api.d.ts +0 -18
  655. package/lib/utils/query-params.utils.d.ts +0 -3
  656. package/lib/utils/regex.utils.d.ts +0 -7
  657. package/lib/utils/type.utils.d.ts +0 -6
  658. package/lib/utils/url.utils.d.ts +0 -6
  659. package/public-api.d.ts +0 -8
@@ -1,459 +0,0 @@
1
- import { coerceBooleanProperty } from "@angular/cdk/coercion";
2
- import { ChangeDetectorRef, Component, ElementRef, EventEmitter, HostBinding, Input, NgZone, Optional, Output, Self, TemplateRef, ViewChild, ViewChildren, ViewEncapsulation } from "@angular/core";
3
- import { FormControl, FormGroupDirective, NgControl, NgForm, Validators } from "@angular/forms";
4
- import { ErrorStateMatcher, MatOption, mixinErrorState } from "@angular/material/core";
5
- import { MatFormFieldControl } from "@angular/material/form-field";
6
- import { debounceTime, distinctUntilChanged, firstValueFrom, Subject } from "rxjs";
7
- import { take } from "rxjs/operators";
8
- import * as uuid from "uuid";
9
- import { isNullOrUndefined } from "../../utils";
10
- import { NiceTypeaheadNewValue } from "../typeahead";
11
- import { NiceAsyncTypeaheadService } from "./providers/async-typeahead.service";
12
- import * as i0 from "@angular/core";
13
- import * as i1 from "@angular/forms";
14
- import * as i2 from "@angular/material/core";
15
- import * as i3 from "./providers/async-typeahead.service";
16
- import * as i4 from "@angular/common";
17
- import * as i5 from "../typeahead/directives/options-scroll.directive";
18
- import * as i6 from "@angular/material/input";
19
- import * as i7 from "@angular/material/form-field";
20
- import * as i8 from "@angular/material/autocomplete";
21
- import * as i9 from "@angular/material/icon";
22
- import * as i10 from "@angular/material/progress-spinner";
23
- import * as i11 from "@angular/material/progress-bar";
24
- import * as i12 from "@ngx-translate/core";
25
- // Boilerplate for applying mixins to ).
26
- /** @docs-private */
27
- const _BaseAsyncTypeaheadComponent = mixinErrorState(class {
28
- constructor(_defaultErrorStateMatcher, _parentForm, _parentFormGroup,
29
- /**
30
- * Form control bound to the component.
31
- * Implemented as part of `MatFormFieldControl`.
32
- * @docs-private
33
- */
34
- ngControl) {
35
- this._defaultErrorStateMatcher = _defaultErrorStateMatcher;
36
- this._parentForm = _parentForm;
37
- this._parentFormGroup = _parentFormGroup;
38
- this.ngControl = ngControl;
39
- /**
40
- * Emits whenever the component state changes and should cause the parent
41
- * form field to update. Implemented as part of `MatFormFieldControl`.
42
- * @docs-private
43
- */
44
- this.stateChanges = new Subject();
45
- }
46
- });
47
- // tslint:disable-next-line:max-line-length
48
- export class NiceAsyncTypeaheadComponent extends _BaseAsyncTypeaheadComponent {
49
- set labelFormatFn(labelFormatFn) {
50
- this._labelFormatFn = labelFormatFn;
51
- }
52
- /**
53
- * Implemented as part of MatFormFieldControl.
54
- * @docs-private
55
- */
56
- set disabled(value) {
57
- this._disabled = coerceBooleanProperty(value);
58
- if (this._disabled) {
59
- this.searchControl.disable({ emitEvent: false });
60
- }
61
- else {
62
- this.searchControl.enable({ emitEvent: false });
63
- }
64
- // Browsers may not fire the blur event if the input is disabled too quickly.
65
- // Reset from here to ensure that the element doesn't become stuck.
66
- if (this.focused) {
67
- this.focused = false;
68
- this.stateChanges.next();
69
- }
70
- this.changeDetectorRef.detectChanges();
71
- }
72
- get disabled() {
73
- if (this.ngControl && this.ngControl.disabled !== null) {
74
- return this.ngControl.disabled;
75
- }
76
- return this._disabled;
77
- }
78
- /**
79
- * Implemented as part of MatFormFieldControl.
80
- * @docs-private
81
- */
82
- set value(value) {
83
- if (value !== this._value) {
84
- this._value = value;
85
- this.propagate(value);
86
- this.stateChanges.next();
87
- }
88
- }
89
- get value() {
90
- return this._value;
91
- }
92
- /**
93
- * Implemented as part of MatFormFieldControl.
94
- * @docs-private
95
- */
96
- set required(value) {
97
- this._required = coerceBooleanProperty(value);
98
- }
99
- get required() {
100
- return this._required ?? this.ngControl?.control?.hasValidator(Validators.required) ?? false;
101
- }
102
- get shouldLabelFloat() {
103
- return this.focused || !this.empty;
104
- }
105
- get empty() {
106
- return ((!this.searchControl.value || !this.searchControl.value.length) &&
107
- (!this._value || (typeof this._value === "string" && !this._value.length)));
108
- }
109
- get initialized() {
110
- return this.service.getInitialized();
111
- }
112
- constructor(ngControl, parentForm, parentFormGroup, defaultErrorStateMatcher, ngZone, changeDetectorRef, service) {
113
- super(defaultErrorStateMatcher, parentForm, parentFormGroup, ngControl);
114
- this.ngZone = ngZone;
115
- this.changeDetectorRef = changeDetectorRef;
116
- this.service = service;
117
- this.stateChanges = new Subject();
118
- this.controlType = "remote-typeahead";
119
- this.focused = false;
120
- this.searchControl = new FormControl(null);
121
- this.open = false;
122
- this.panelWidth = 0;
123
- this.active$ = this.service.active$;
124
- this.entityRemoved = new EventEmitter();
125
- this.autoReload = true;
126
- this.preloadResource = false;
127
- this.allowNotFoundItems = false;
128
- this.panelClass = [];
129
- this.bindValue = "id";
130
- this.selected = new EventEmitter();
131
- this.isOpened$ = new Subject();
132
- this._disabled = false;
133
- this.id = uuid.v4();
134
- this.describedBy = "";
135
- this.componentInitialized = false;
136
- this.propagate = () => { };
137
- if (this.ngControl) {
138
- this.ngControl.valueAccessor = this;
139
- }
140
- }
141
- async ngOnInit() {
142
- this.service.listenForRequest();
143
- if (this.ngControl) {
144
- if (this.ngControl.disabled) {
145
- this.searchControl.disable({ emitEvent: false });
146
- }
147
- this.ngControl.statusChanges.subscribe((status) => {
148
- this.disabled = status === "DISABLED";
149
- if (this._disabled) {
150
- this.searchControl.disable({ emitEvent: false });
151
- }
152
- else {
153
- this.searchControl.enable({ emitEvent: false });
154
- }
155
- });
156
- }
157
- if (this.filterFn) {
158
- this.service.setFilterFn(this.filterFn);
159
- }
160
- if (this.searchControl) {
161
- this.valueChangesSub$ = this.searchControl.valueChanges.pipe(debounceTime(500), distinctUntilChanged()).subscribe(text => {
162
- if (typeof text !== "string") {
163
- return;
164
- }
165
- this.service.search(this.resource, text);
166
- });
167
- }
168
- if (this.preloadResource) {
169
- this.service.search(this.resource, "");
170
- }
171
- this.componentInitialized = true;
172
- if (this.initialWriteValue !== undefined) {
173
- await this.writeValue(this.initialWriteValue);
174
- }
175
- }
176
- ngOnDestroy() {
177
- this.service.closeRequestSubscription();
178
- this.valueChangesSub$.unsubscribe();
179
- }
180
- ngOnChanges(changes) {
181
- if ("searchOptions" in changes) {
182
- const change = changes.searchOptions;
183
- this.service.setSearchOptions(change.currentValue);
184
- if (!change.isFirstChange() && change.currentValue !== change.previousValue && this.autoReload) {
185
- this.service.search(this.resource, "");
186
- this.service.items$.pipe(take(1)).subscribe(() => this.checkIfValueStillExist());
187
- }
188
- }
189
- if ("filterFn" in changes) {
190
- const change = changes.filterFn;
191
- if (!change.isFirstChange() && change.currentValue !== change.previousValue) {
192
- this.service.setFilterFn(change.currentValue);
193
- }
194
- }
195
- this.stateChanges.next();
196
- }
197
- ngDoCheck() {
198
- if (this.ngControl) {
199
- this.updateErrorState();
200
- }
201
- }
202
- async writeValue(value) {
203
- if (!this.componentInitialized) {
204
- this.initialWriteValue = value;
205
- return;
206
- }
207
- if (this._value === value || (isNullOrUndefined(this._value) && isNullOrUndefined(value))) {
208
- return;
209
- }
210
- if (!value && this._value !== value) {
211
- this.onRemove(null);
212
- return;
213
- }
214
- if (value instanceof NiceTypeaheadNewValue) {
215
- this.updateSearchInput();
216
- return;
217
- }
218
- else {
219
- await this.service.setActiveId(this.resource, value).then(() => this.updateSearchInput());
220
- }
221
- this.value = value;
222
- }
223
- registerOnChange(propagate) {
224
- this.propagate = propagate;
225
- }
226
- registerOnTouched(fn) {
227
- // NO-OP
228
- }
229
- onContainerClick(event) {
230
- if (this.disabled) {
231
- return;
232
- }
233
- this.stateChanges.next();
234
- if (event.target.tagName.toLowerCase() != "input") {
235
- this.input.nativeElement.focus();
236
- }
237
- }
238
- setDescribedByIds(ids) {
239
- this.describedBy = ids.join(" ");
240
- }
241
- getActive() {
242
- return this.service.getActive();
243
- }
244
- onOptionActivated(event) {
245
- this.activeOption = event.option;
246
- }
247
- onOptionSelected(event) {
248
- if (event.option.id === "new-value-option") {
249
- this.value = new NiceTypeaheadNewValue(this.searchControl.value);
250
- }
251
- else {
252
- this.updateLabel(event.option.value);
253
- this.service.setActive(event.option.value);
254
- this.value = this.bindValue ? this.getObjectItem(this.bindValue, event.option.value) : event.option.value;
255
- }
256
- this.selected.emit(this.value);
257
- }
258
- updateState(open) {
259
- this.open = open;
260
- this.isOpened$.next(open);
261
- if (!this.open) {
262
- this.ngZone.run(() => {
263
- this.focusChanged(false);
264
- this.changeDetectorRef.markForCheck();
265
- });
266
- }
267
- if (this.open && !this.initialized) {
268
- this.service.initialize(this.resource);
269
- }
270
- if (!this.open && this.ngControl) {
271
- this.ngControl.control.markAsTouched();
272
- }
273
- if (!this.open) {
274
- this.activeOption = null;
275
- if (!this._value && this.searchControl.value) {
276
- this.onRemove();
277
- }
278
- }
279
- }
280
- onRemove(event, reload = true) {
281
- if (event) {
282
- // event.stopPropagation();
283
- }
284
- if (this.disabled) {
285
- return;
286
- }
287
- this.service.setActive(null);
288
- this.value = null;
289
- this.searchControl.patchValue(null);
290
- if (this.ngControl?.control) {
291
- this.ngControl.control.markAsTouched();
292
- }
293
- this.stateChanges.next();
294
- this.entityRemoved.emit();
295
- if (reload) {
296
- this.service.search(this.resource, "");
297
- }
298
- }
299
- formatLabel(item) {
300
- if (this._labelFormatFn) {
301
- return this._labelFormatFn(item);
302
- }
303
- if (this.bindLabel) {
304
- return this.getObjectItem(this.bindLabel, item);
305
- }
306
- if (typeof item !== "string") {
307
- return this.service.format(this.resource, item);
308
- }
309
- return item;
310
- }
311
- onEndScroll() {
312
- this.service.loadMore(this.resource);
313
- }
314
- focusChanged(isFocused) {
315
- if (isFocused !== this.focused) {
316
- this.focused = isFocused;
317
- this.stateChanges.next();
318
- if (isFocused && this.filterFn) {
319
- this.service.reloadFilteredItems();
320
- }
321
- }
322
- }
323
- reload() {
324
- this.service?.search(this.resource, this.searchControl.value ?? "");
325
- }
326
- async reloadActive() {
327
- await this.service?.reloadActive(this.resource);
328
- const active = this.service?.getActive();
329
- this.updateLabel(active);
330
- }
331
- setSearchOptions(options) {
332
- this.searchOptions = options;
333
- this.service.setSearchOptions(options);
334
- }
335
- updateLabel(item) {
336
- if (!item) {
337
- return;
338
- }
339
- const label = this.formatLabel(item);
340
- if (label && label !== this.searchControl.value) {
341
- this.searchControl.patchValue(label, { emitEvent: false });
342
- }
343
- }
344
- getObjectItem(key, obj) {
345
- const keys = key.split(".");
346
- let item = obj;
347
- for (const k of keys) {
348
- if (!item) {
349
- return item;
350
- }
351
- if (!item.hasOwnProperty(k)) {
352
- return item;
353
- }
354
- item = item[k];
355
- }
356
- return item;
357
- }
358
- updateSearchInput() {
359
- if (this._value instanceof NiceTypeaheadNewValue) {
360
- this.updateLabel(this._value.$new);
361
- return;
362
- }
363
- const active = this.service.getActive();
364
- if (active) {
365
- this.updateLabel(active);
366
- return;
367
- }
368
- }
369
- async checkIfValueStillExist() {
370
- if (this._value instanceof NiceTypeaheadNewValue) {
371
- return;
372
- }
373
- const items = await firstValueFrom(this.service.filteredItems$);
374
- const item = items.find(v => (this.bindValue && typeof v === "object" ? this.getObjectItem(this.bindValue, v) : v) === this._value);
375
- if (item) {
376
- return;
377
- }
378
- if (this._value !== null && this._value !== undefined) {
379
- this.onRemove(null);
380
- }
381
- }
382
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NiceAsyncTypeaheadComponent, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: i1.NgForm, optional: true }, { token: i1.FormGroupDirective, optional: true }, { token: i2.ErrorStateMatcher }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i3.NiceAsyncTypeaheadService }], target: i0.ɵɵFactoryTarget.Component }); }
383
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: NiceAsyncTypeaheadComponent, selector: "nice-async-typeahead", inputs: { resource: "resource", searchOptions: "searchOptions", autoReload: "autoReload", preloadResource: "preloadResource", allowNotFoundItems: "allowNotFoundItems", panelClass: "panelClass", bindValue: "bindValue", bindLabel: "bindLabel", placeholder: "placeholder", emptyPlaceholder: "emptyPlaceholder", optionTemplate: "optionTemplate", filterFn: "filterFn", labelFormatFn: "labelFormatFn", disabled: "disabled", value: "value", required: "required" }, outputs: { entityRemoved: "entityRemoved", selected: "selected" }, host: { properties: { "class.floating": "this.shouldLabelFloat", "id": "this.id", "attr.aria-describedby": "this.describedBy" } }, providers: [
384
- {
385
- provide: MatFormFieldControl,
386
- useExisting: NiceAsyncTypeaheadComponent
387
- },
388
- NiceAsyncTypeaheadService
389
- ], viewQueries: [{ propertyName: "input", first: true, predicate: ["searchInput"], descendants: true }, { propertyName: "options", predicate: MatOption, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"{ loading: service.loading$ | async, loadingPage: service.loadingPage$ | async, values: service.filteredItems$ | async } as ctx\">\n <div class=\"flex\" *ngIf=\"!disabled; else disable\">\n <input\n #searchInput\n matInput\n class=\"flex-auto\"\n type=\"text\"\n name=\"mat-autocomplete\"\n [disabled]=\"$any(disabled)\"\n [placeholder]=\"placeholder\"\n [formControl]=\"searchControl\"\n [matAutocomplete]=\"auto\"\n [required]=\"$any(required)\"\n (focus)=\"focusChanged(true)\"\n />\n <mat-icon *ngIf=\"value && !ctx.loading\" matSuffix class=\"close-button secondary-text\" (click)=\"onRemove($event)\">\n close\n </mat-icon>\n\n <mat-spinner class=\"self-center\" [diameter]=\"16\" *ngIf=\"ctx.loading\"></mat-spinner>\n </div>\n <mat-autocomplete\n #auto=\"matAutocomplete\"\n [panelWidth]=\"panelWidth\"\n [class]=\"panelClass\"\n (optionActivated)=\"onOptionActivated($event)\"\n (optionSelected)=\"onOptionSelected($event)\"\n (closed)=\"updateState(false)\"\n (opened)=\"updateState(true)\"\n (optionsScroll)=\"onEndScroll()\"\n >\n <mat-progress-bar class=\"-mt-2\" *ngIf=\"open && ctx.loading\" mode=\"indeterminate\" color=\"primary\"></mat-progress-bar>\n\n <mat-option *ngFor=\"let option of ctx.values\" [value]=\"option\">\n <ng-container\n *ngIf=\"optionTemplate; else format\"\n [ngTemplateOutlet]=\"optionTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: option }\"\n >\n </ng-container>\n <ng-template #format>\n {{ formatLabel(option) }}\n </ng-template>\n </mat-option>\n <mat-option *ngIf=\"!ctx.values?.length && !allowNotFoundItems\" disabled>\n <ng-container *ngIf=\"emptyPlaceholder; else defaultEmptyPlaceholder\">\n {{ emptyPlaceholder }}\n </ng-container>\n <ng-template #defaultEmptyPlaceholder>\n {{ \"components.typeahead.no_item_found\" | translate }}\n </ng-template>\n </mat-option>\n <mat-option *ngIf=\"!ctx.values?.length && allowNotFoundItems\" id=\"new-value-option\" [value]=\"searchControl.value\">\n <span class=\"italic\">{{ searchControl.value }}</span>\n </mat-option>\n <mat-progress-bar *ngIf=\"open && ctx.loadingPage\" mode=\"indeterminate\" color=\"primary\"></mat-progress-bar>\n </mat-autocomplete>\n</ng-container>\n\n<ng-template #disable>\n <input\n matInput\n class=\"disabled-input\"\n type=\"text\"\n [disabled]=\"true\"\n [placeholder]=\"placeholder\"\n [formControl]=\"searchControl\"\n [required]=\"$any(required)\"\n />\n</ng-template>\n", styles: ["nice-async-typeahead{width:100%}nice-async-typeahead .close-button{flex:1 1 18px;cursor:pointer;min-height:18px!important;min-width:18px!important;height:18px!important;width:18px!important;font-size:18px!important;align-self:center}nice-async-typeahead .disabled-input{flex:1 1 95%}nice-async-typeahead .arrow-container{display:flex;bottom:7px;align-self:flex-end;position:relative;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}nice-async-typeahead .arrow{border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid;margin:0 4px;color:#0000008a}.italic{font-style:italic}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.OptionsScrollDirective, selector: "mat-autocomplete[optionsScroll]", inputs: ["thresholdPercent"], outputs: ["optionsScroll"] }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i7.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i8.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i2.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i8.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i9.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i11.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i12.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
390
- }
391
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NiceAsyncTypeaheadComponent, decorators: [{
392
- type: Component,
393
- args: [{ selector: "nice-async-typeahead", encapsulation: ViewEncapsulation.None, providers: [
394
- {
395
- provide: MatFormFieldControl,
396
- useExisting: NiceAsyncTypeaheadComponent
397
- },
398
- NiceAsyncTypeaheadService
399
- ], template: "<ng-container *ngIf=\"{ loading: service.loading$ | async, loadingPage: service.loadingPage$ | async, values: service.filteredItems$ | async } as ctx\">\n <div class=\"flex\" *ngIf=\"!disabled; else disable\">\n <input\n #searchInput\n matInput\n class=\"flex-auto\"\n type=\"text\"\n name=\"mat-autocomplete\"\n [disabled]=\"$any(disabled)\"\n [placeholder]=\"placeholder\"\n [formControl]=\"searchControl\"\n [matAutocomplete]=\"auto\"\n [required]=\"$any(required)\"\n (focus)=\"focusChanged(true)\"\n />\n <mat-icon *ngIf=\"value && !ctx.loading\" matSuffix class=\"close-button secondary-text\" (click)=\"onRemove($event)\">\n close\n </mat-icon>\n\n <mat-spinner class=\"self-center\" [diameter]=\"16\" *ngIf=\"ctx.loading\"></mat-spinner>\n </div>\n <mat-autocomplete\n #auto=\"matAutocomplete\"\n [panelWidth]=\"panelWidth\"\n [class]=\"panelClass\"\n (optionActivated)=\"onOptionActivated($event)\"\n (optionSelected)=\"onOptionSelected($event)\"\n (closed)=\"updateState(false)\"\n (opened)=\"updateState(true)\"\n (optionsScroll)=\"onEndScroll()\"\n >\n <mat-progress-bar class=\"-mt-2\" *ngIf=\"open && ctx.loading\" mode=\"indeterminate\" color=\"primary\"></mat-progress-bar>\n\n <mat-option *ngFor=\"let option of ctx.values\" [value]=\"option\">\n <ng-container\n *ngIf=\"optionTemplate; else format\"\n [ngTemplateOutlet]=\"optionTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: option }\"\n >\n </ng-container>\n <ng-template #format>\n {{ formatLabel(option) }}\n </ng-template>\n </mat-option>\n <mat-option *ngIf=\"!ctx.values?.length && !allowNotFoundItems\" disabled>\n <ng-container *ngIf=\"emptyPlaceholder; else defaultEmptyPlaceholder\">\n {{ emptyPlaceholder }}\n </ng-container>\n <ng-template #defaultEmptyPlaceholder>\n {{ \"components.typeahead.no_item_found\" | translate }}\n </ng-template>\n </mat-option>\n <mat-option *ngIf=\"!ctx.values?.length && allowNotFoundItems\" id=\"new-value-option\" [value]=\"searchControl.value\">\n <span class=\"italic\">{{ searchControl.value }}</span>\n </mat-option>\n <mat-progress-bar *ngIf=\"open && ctx.loadingPage\" mode=\"indeterminate\" color=\"primary\"></mat-progress-bar>\n </mat-autocomplete>\n</ng-container>\n\n<ng-template #disable>\n <input\n matInput\n class=\"disabled-input\"\n type=\"text\"\n [disabled]=\"true\"\n [placeholder]=\"placeholder\"\n [formControl]=\"searchControl\"\n [required]=\"$any(required)\"\n />\n</ng-template>\n", styles: ["nice-async-typeahead{width:100%}nice-async-typeahead .close-button{flex:1 1 18px;cursor:pointer;min-height:18px!important;min-width:18px!important;height:18px!important;width:18px!important;font-size:18px!important;align-self:center}nice-async-typeahead .disabled-input{flex:1 1 95%}nice-async-typeahead .arrow-container{display:flex;bottom:7px;align-self:flex-end;position:relative;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}nice-async-typeahead .arrow{border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid;margin:0 4px;color:#0000008a}.italic{font-style:italic}\n"] }]
400
- }], ctorParameters: () => [{ type: i1.NgControl, decorators: [{
401
- type: Optional
402
- }, {
403
- type: Self
404
- }] }, { type: i1.NgForm, decorators: [{
405
- type: Optional
406
- }] }, { type: i1.FormGroupDirective, decorators: [{
407
- type: Optional
408
- }] }, { type: i2.ErrorStateMatcher }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }, { type: i3.NiceAsyncTypeaheadService }], propDecorators: { input: [{
409
- type: ViewChild,
410
- args: ["searchInput"]
411
- }], options: [{
412
- type: ViewChildren,
413
- args: [MatOption]
414
- }], entityRemoved: [{
415
- type: Output
416
- }], resource: [{
417
- type: Input
418
- }], searchOptions: [{
419
- type: Input
420
- }], autoReload: [{
421
- type: Input
422
- }], preloadResource: [{
423
- type: Input
424
- }], allowNotFoundItems: [{
425
- type: Input
426
- }], panelClass: [{
427
- type: Input
428
- }], bindValue: [{
429
- type: Input
430
- }], bindLabel: [{
431
- type: Input
432
- }], placeholder: [{
433
- type: Input
434
- }], emptyPlaceholder: [{
435
- type: Input
436
- }], optionTemplate: [{
437
- type: Input
438
- }], filterFn: [{
439
- type: Input
440
- }], selected: [{
441
- type: Output
442
- }], labelFormatFn: [{
443
- type: Input
444
- }], disabled: [{
445
- type: Input
446
- }], value: [{
447
- type: Input
448
- }], required: [{
449
- type: Input
450
- }], shouldLabelFloat: [{
451
- type: HostBinding,
452
- args: ["class.floating"]
453
- }], id: [{
454
- type: HostBinding
455
- }], describedBy: [{
456
- type: HostBinding,
457
- args: ["attr.aria-describedby"]
458
- }] } });
459
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXN5bmMtdHlwZWFoZWFkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtdWkta2l0LXYyL3NyYy9saWIvY29tcG9uZW50cy9hc3luYy10eXBlYWhlYWQvYXN5bmMtdHlwZWFoZWFkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtdWkta2l0LXYyL3NyYy9saWIvY29tcG9uZW50cy9hc3luYy10eXBlYWhlYWQvYXN5bmMtdHlwZWFoZWFkLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzVFLE9BQU8sRUFDSCxpQkFBaUIsRUFDakIsU0FBUyxFQUVULFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFDTCxNQUFNLEVBSU4sUUFBUSxFQUFFLE1BQU0sRUFDaEIsSUFBSSxFQUVKLFdBQVcsRUFDWCxTQUFTLEVBQ1QsWUFBWSxFQUNaLGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLFdBQVcsRUFBRSxrQkFBa0IsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXRILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxjQUFjLEVBQWMsT0FBTyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUM3RyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEMsT0FBTyxLQUFLLElBQUksTUFBTSxNQUFNLENBQUM7QUFDN0IsT0FB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Qjs7MEJBbUtJLFFBQVE7OzBCQUFJLElBQUk7OzBCQUNoQixRQUFROzswQkFDUixRQUFRO3NLQXBKTixLQUFLO3NCQURYLFNBQVM7dUJBQUMsYUFBYTtnQkFJakIsT0FBTztzQkFEYixZQUFZO3VCQUFDLFNBQVM7Z0JBSWhCLGFBQWE7c0JBRG5CLE1BQU07Z0JBSUEsUUFBUTtzQkFEZCxLQUFLO2dCQUlDLGFBQWE7c0JBRG5CLEtBQUs7Z0JBSUMsVUFBVTtzQkFEaEIsS0FBSztnQkFJQyxlQUFlO3NCQURyQixLQUFLO2dCQUlDLGtCQUFrQjtzQkFEeEIsS0FBSztnQkFJQyxVQUFVO3NCQURoQixLQUFLO2dCQUlDLFNBQVM7c0JBRGYsS0FBSztnQkFJQyxTQUFTO3NCQURmLEtBQUs7Z0JBSUMsV0FBVztzQkFEakIsS0FBSztnQkFJQyxnQkFBZ0I7c0JBRHRCLEtBQUs7Z0JBSUMsY0FBYztzQkFEcEIsS0FBSztnQkFJQyxRQUFRO3NCQURkLEtBQUs7Z0JBSUMsUUFBUTtzQkFEZCxNQUFNO2dCQU1JLGFBQWE7c0JBRHZCLEtBQUs7Z0JBV0ssUUFBUTtzQkFEbEIsS0FBSztnQkFpQ0ssS0FBSztzQkFEZixLQUFLO2dCQWtCSyxRQUFRO3NCQURsQixLQUFLO2dCQVVLLGdCQUFnQjtzQkFEMUIsV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBTXRCLEVBQUU7c0JBRFIsV0FBVztnQkFJTCxXQUFXO3NCQURqQixXQUFXO3VCQUFDLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJvb2xlYW5JbnB1dCwgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9jb2VyY2lvblwiO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRG9DaGVjayxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbnB1dCxcbiAgICBOZ1pvbmUsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3B0aW9uYWwsIE91dHB1dCxcbiAgICBTZWxmLFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdDaGlsZHJlbixcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEZvcm1Db250cm9sLCBGb3JtR3JvdXBEaXJlY3RpdmUsIE5nQ29udHJvbCwgTmdGb3JtLCBWYWxpZGF0b3JzIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBNYXRBdXRvY29tcGxldGVBY3RpdmF0ZWRFdmVudCwgTWF0QXV0b2NvbXBsZXRlU2VsZWN0ZWRFdmVudCB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9hdXRvY29tcGxldGVcIjtcbmltcG9ydCB7IEVycm9yU3RhdGVNYXRjaGVyLCBNYXRPcHRpb24sIG1peGluRXJyb3JTdGF0ZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9jb3JlXCI7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRDb250cm9sIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGRcIjtcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpcnN0VmFsdWVGcm9tLCBPYnNlcnZhYmxlLCBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgdGFrZSB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuaW1wb3J0ICogYXMgdXVpZCBmcm9tIFwidXVpZFwiO1xuaW1wb3J0IHsgaXNOdWxsT3JVbmRlZmluZWQgfSBmcm9tIFwiLi4vLi4vdXRpbHNcIjtcbmltcG9ydCB7IE5pY2VUeXBlYWhlYWROZXdWYWx1ZSB9IGZyb20gXCIuLi90eXBlYWhlYWRcIjtcbmltcG9ydCB7IE5pY2VBc3luY1R5cGVhaGVhZFNlcnZpY2UgfSBmcm9tIFwiLi9wcm92aWRlcnMvYXN5bmMtdHlwZWFoZWFkLnNlcnZpY2VcIjtcblxuLy8gQm9pbGVycGxhdGUgZm9yIGFwcGx5aW5nIG1peGlucyB0byApLlxuLyoqIEBkb2NzLXByaXZhdGUgKi9cbmNvbnN0IF9CYXNlQXN5bmNUeXBlYWhlYWRDb21wb25lbnQgPSBtaXhpbkVycm9yU3RhdGUoXG4gICAgY2xhc3Mge1xuICAgICAgICAvKipcbiAgICAgICAgICogRW1pdHMgd2hlbmV2ZXIgdGhlIGNvbXBvbmVudCBzdGF0ZSBjaGFuZ2VzIGFuZCBzaG91bGQgY2F1c2UgdGhlIHBhcmVudFxuICAgICAgICAgKiBmb3JtIGZpZWxkIHRvIHVwZGF0ZS4gSW1wbGVtZW50ZWQgYXMgcGFydCBvZiBgTWF0Rm9ybUZpZWxkQ29udHJvbGAuXG4gICAgICAgICAqIEBkb2NzLXByaXZhdGVcbiAgICAgICAgICovXG4gICAgICAgIHJlYWRvbmx5IHN0YXRlQ2hhbmdlcyA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAgICAgY29uc3RydWN0b3IoXG4gICAgICAgICAgICBwdWJsaWMgX2RlZmF1bHRFcnJvclN0YXRlTWF0Y2hlcjogRXJyb3JTdGF0ZU1hdGNoZXIsXG4gICAgICAgICAgICBwdWJsaWMgX3BhcmVudEZvcm06IE5nRm9ybSxcbiAgICAgICAgICAgIHB1YmxpYyBfcGFyZW50Rm9ybUdyb3VwOiBGb3JtR3JvdXBEaXJlY3RpdmUsXG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIEZvcm0gY29udHJvbCBib3VuZCB0byB0aGUgY29tcG9uZW50LlxuICAgICAgICAgICAgICogSW1wbGVtZW50ZWQgYXMgcGFydCBvZiBgTWF0Rm9ybUZpZWxkQ29udHJvbGAuXG4gICAgICAgICAgICAgKiBAZG9jcy1wcml2YXRlXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIHB1YmxpYyBuZ0NvbnRyb2w6IE5nQ29udHJvbFxuICAgICAgICApIHt9XG4gICAgfVxuKTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IFwibmljZS1hc3luYy10eXBlYWhlYWRcIixcbiAgICB0ZW1wbGF0ZVVybDogXCJhc3luYy10eXBlYWhlYWQudGVtcGxhdGUuaHRtbFwiLFxuICAgIHN0eWxlVXJsczogW1wiYXN5bmMtdHlwZWFoZWFkLnN0eWxlLnNjc3NcIl0sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTWF0Rm9ybUZpZWxkQ29udHJvbCxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBOaWNlQXN5bmNUeXBlYWhlYWRDb21wb25lbnRcbiAgICAgICAgfSxcbiAgICAgICAgTmljZUFzeW5jVHlwZWFoZWFkU2VydmljZVxuICAgIF1cbn0pXG4vLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bWF4LWxpbmUtbGVuZ3RoXG5leHBvcnQgY2xhc3MgTmljZUFzeW5jVHlwZWFoZWFkQ29tcG9uZW50IGV4dGVuZHMgX0Jhc2VBc3luY1R5cGVhaGVhZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBPbkNoYW5nZXMsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBNYXRGb3JtRmllbGRDb250cm9sPGFueT4sIERvQ2hlY2sge1xuICAgIHB1YmxpYyBzdGF0ZUNoYW5nZXMgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIHB1YmxpYyBjb250cm9sVHlwZSA9IFwicmVtb3RlLXR5cGVhaGVhZFwiO1xuICAgIHB1YmxpYyBmb2N1c2VkID0gZmFsc2U7XG5cbiAgICBwdWJsaWMgc2VhcmNoQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbChudWxsKTtcbiAgICBwdWJsaWMgdmFsdWVDaGFuZ2VzU3ViJDogU3Vic2NyaXB0aW9uO1xuICAgIHB1YmxpYyBvcGVuID0gZmFsc2U7XG4gICAgcHVibGljIHBhbmVsV2lkdGggPSAwO1xuICAgIHB1YmxpYyBhY3RpdmVPcHRpb246IE1hdE9wdGlvbjtcblxuICAgIHB1YmxpYyBhY3RpdmUkID0gdGhpcy5zZXJ2aWNlLmFjdGl2ZSQ7XG5cbiAgICBAVmlld0NoaWxkKFwic2VhcmNoSW5wdXRcIilcbiAgICBwdWJsaWMgaW5wdXQ6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgICBAVmlld0NoaWxkcmVuKE1hdE9wdGlvbilcbiAgICBwdWJsaWMgb3B0aW9uczogTWF0T3B0aW9uW107XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgZW50aXR5UmVtb3ZlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHJlc291cmNlOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZWFyY2hPcHRpb25zOiBhbnk7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBhdXRvUmVsb2FkID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHByZWxvYWRSZXNvdXJjZSA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgYWxsb3dOb3RGb3VuZEl0ZW1zID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBwYW5lbENsYXNzOiBzdHJpbmcgfCBzdHJpbmdbXSA9IFtdO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgYmluZFZhbHVlID0gXCJpZFwiO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgYmluZExhYmVsOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBwbGFjZWhvbGRlcjogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZW1wdHlQbGFjZWhvbGRlcjogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgb3B0aW9uVGVtcGxhdGU6IFRlbXBsYXRlUmVmPEhUTUxFbGVtZW50PjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGZpbHRlckZuOiAodmFsdWU6IGFueSkgPT4gYm9vbGVhbiB8IFByb21pc2U8Ym9vbGVhbj4gfCBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgICBwdWJsaWMgaXNPcGVuZWQkID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCBsYWJlbEZvcm1hdEZuKGxhYmVsRm9ybWF0Rm46IChpdGVtOiBhbnkpID0+IHN0cmluZykge1xuICAgICAgICB0aGlzLl9sYWJlbEZvcm1hdEZuID0gbGFiZWxGb3JtYXRGbjtcbiAgICB9XG4gICAgcHJpdmF0ZSBfbGFiZWxGb3JtYXRGbjogKGl0ZW06IGFueSkgPT4gc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogSW1wbGVtZW50ZWQgYXMgcGFydCBvZiBNYXRGb3JtRmllbGRDb250cm9sLlxuICAgICAqIEBkb2NzLXByaXZhdGVcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgZGlzYWJsZWQodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgICAgICB0aGlzLl9kaXNhYmxlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG5cbiAgICAgICAgaWYgKHRoaXMuX2Rpc2FibGVkKSB7XG4gICAgICAgICAgICB0aGlzLnNlYXJjaENvbnRyb2wuZGlzYWJsZSh7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNlYXJjaENvbnRyb2wuZW5hYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEJyb3dzZXJzIG1heSBub3QgZmlyZSB0aGUgYmx1ciBldmVudCBpZiB0aGUgaW5wdXQgaXMgZGlzYWJsZWQgdG9vIHF1aWNrbHkuXG4gICAgICAgIC8vIFJlc2V0IGZyb20gaGVyZSB0byBlbnN1cmUgdGhhdCB0aGUgZWxlbWVudCBkb2Vzbid0IGJlY29tZSBzdHVjay5cbiAgICAgICAgaWYgKHRoaXMuZm9jdXNlZCkge1xuICAgICAgICAgICAgdGhpcy5mb2N1c2VkID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAodGhpcy5uZ0NvbnRyb2wgJiYgdGhpcy5uZ0NvbnRyb2wuZGlzYWJsZWQgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm5nQ29udHJvbC5kaXNhYmxlZDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQ7XG4gICAgfVxuICAgIHByb3RlY3RlZCBfZGlzYWJsZWQgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIEltcGxlbWVudGVkIGFzIHBhcnQgb2YgTWF0Rm9ybUZpZWxkQ29udHJvbC5cbiAgICAgKiBAZG9jcy1wcml2YXRlXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IHZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICAgICAgaWYgKHZhbHVlICE9PSB0aGlzLl92YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgICAgIHRoaXMucHJvcGFnYXRlKHZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBwdWJsaWMgZ2V0IHZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfdmFsdWU6IGFueTtcblxuICAgIC8qKlxuICAgICAqIEltcGxlbWVudGVkIGFzIHBhcnQgb2YgTWF0Rm9ybUZpZWxkQ29udHJvbC5cbiAgICAgKiBAZG9jcy1wcml2YXRlXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IHJlcXVpcmVkKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICAgICAgdGhpcy5fcmVxdWlyZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cbiAgICBwdWJsaWMgZ2V0IHJlcXVpcmVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fcmVxdWlyZWQgPz8gdGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2w/Lmhhc1ZhbGlkYXRvcihWYWxpZGF0b3JzLnJlcXVpcmVkKSA/PyBmYWxzZTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIF9yZXF1aXJlZDogYm9vbGVhbiB8IHVuZGVmaW5lZDtcblxuICAgIEBIb3N0QmluZGluZyhcImNsYXNzLmZsb2F0aW5nXCIpXG4gICAgcHVibGljIGdldCBzaG91bGRMYWJlbEZsb2F0KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5mb2N1c2VkIHx8ICF0aGlzLmVtcHR5O1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygpXG4gICAgcHVibGljIGlkOiBzdHJpbmcgPSB1dWlkLnY0KCk7XG5cbiAgICBASG9zdEJpbmRpbmcoXCJhdHRyLmFyaWEtZGVzY3JpYmVkYnlcIilcbiAgICBwdWJsaWMgZGVzY3JpYmVkQnkgPSBcIlwiO1xuXG5cbiAgICBwcml2YXRlIGNvbXBvbmVudEluaXRpYWxpemVkID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBpbml0aWFsV3JpdGVWYWx1ZT86IGFueTtcblxuICAgIHB1YmxpYyBnZXQgZW1wdHkoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAoIXRoaXMuc2VhcmNoQ29udHJvbC52YWx1ZSB8fCAhdGhpcy5zZWFyY2hDb250cm9sLnZhbHVlLmxlbmd0aCkgJiZcbiAgICAgICAgICAgICghdGhpcy5fdmFsdWUgfHwgKHR5cGVvZiB0aGlzLl92YWx1ZSA9PT0gXCJzdHJpbmdcIiAmJiAhdGhpcy5fdmFsdWUubGVuZ3RoKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGluaXRpYWxpemVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlLmdldEluaXRpYWxpemVkKCk7XG4gICAgfVxuXG4gICAgcHVibGljIHByb3BhZ2F0ZTogKHZhbHVlOiBzdHJpbmcpID0+IHZvaWQgPSAoKSA9PiB7fTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKSBAU2VsZigpIG5nQ29udHJvbDogTmdDb250cm9sLFxuICAgICAgICBAT3B0aW9uYWwoKSBwYXJlbnRGb3JtOiBOZ0Zvcm0sXG4gICAgICAgIEBPcHRpb25hbCgpIHBhcmVudEZvcm1Hcm91cDogRm9ybUdyb3VwRGlyZWN0aXZlLFxuICAgICAgICBkZWZhdWx0RXJyb3JTdGF0ZU1hdGNoZXI6IEVycm9yU3RhdGVNYXRjaGVyLFxuICAgICAgICBwcml2YXRlIG5nWm9uZTogTmdab25lLFxuICAgICAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHVibGljIHNlcnZpY2U6IE5pY2VBc3luY1R5cGVhaGVhZFNlcnZpY2UsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGRlZmF1bHRFcnJvclN0YXRlTWF0Y2hlciwgcGFyZW50Rm9ybSwgcGFyZW50Rm9ybUdyb3VwLCBuZ0NvbnRyb2wpO1xuXG4gICAgICAgIGlmICh0aGlzLm5nQ29udHJvbCkge1xuICAgICAgICAgICAgdGhpcy5uZ0NvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgbmdPbkluaXQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHRoaXMuc2VydmljZS5saXN0ZW5Gb3JSZXF1ZXN0KCk7XG5cbiAgICAgICAgaWYgKHRoaXMubmdDb250cm9sKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5uZ0NvbnRyb2wuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlYXJjaENvbnRyb2wuZGlzYWJsZSh7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMubmdDb250cm9sLnN0YXR1c0NoYW5nZXMuc3Vic2NyaWJlKChzdGF0dXMpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmRpc2FibGVkID0gc3RhdHVzID09PSBcIkRJU0FCTEVEXCI7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuX2Rpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VhcmNoQ29udHJvbC5kaXNhYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlYXJjaENvbnRyb2wuZW5hYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmZpbHRlckZuKSB7XG4gICAgICAgICAgICB0aGlzLnNlcnZpY2Uuc2V0RmlsdGVyRm4odGhpcy5maWx0ZXJGbik7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5zZWFyY2hDb250cm9sKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlc1N1YiQgPSB0aGlzLnNlYXJjaENvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoZGVib3VuY2VUaW1lKDUwMCksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpLnN1YnNjcmliZSh0ZXh0ID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHRleHQgIT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHRoaXMuc2VydmljZS5zZWFyY2godGhpcy5yZXNvdXJjZSwgdGV4dCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnByZWxvYWRSZXNvdXJjZSkge1xuICAgICAgICAgICAgdGhpcy5zZXJ2aWNlLnNlYXJjaCh0aGlzLnJlc291cmNlLCBcIlwiKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY29tcG9uZW50SW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgICAgICBpZiAodGhpcy5pbml0aWFsV3JpdGVWYWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLndyaXRlVmFsdWUodGhpcy5pbml0aWFsV3JpdGVWYWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VydmljZS5jbG9zZVJlcXVlc3RTdWJzY3JpcHRpb24oKTtcbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZXNTdWIkLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICAgICAgaWYgKFwic2VhcmNoT3B0aW9uc1wiIGluIGNoYW5nZXMpIHtcbiAgICAgICAgICAgIGNvbnN0IGNoYW5nZSA9IGNoYW5nZXMuc2VhcmNoT3B0aW9ucztcbiAgICAgICAgICAgIHRoaXMuc2VydmljZS5zZXRTZWFyY2hPcHRpb25zKGNoYW5nZS5jdXJyZW50VmFsdWUpO1xuXG4gICAgICAgICAgICBpZiAoIWNoYW5nZS5pc0ZpcnN0Q2hhbmdlKCkgJiYgY2hhbmdlLmN1cnJlbnRWYWx1ZSAhPT0gY2hhbmdlLnByZXZpb3VzVmFsdWUgJiYgdGhpcy5hdXRvUmVsb2FkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXJ2aWNlLnNlYXJjaCh0aGlzLnJlc291cmNlLCBcIlwiKTtcbiAgICAgICAgICAgICAgICB0aGlzLnNlcnZpY2UuaXRlbXMkLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKCgpID0+IHRoaXMuY2hlY2tJZlZhbHVlU3RpbGxFeGlzdCgpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChcImZpbHRlckZuXCIgaW4gY2hhbmdlcykge1xuICAgICAgICAgICAgY29uc3QgY2hhbmdlID0gY2hhbmdlcy5maWx0ZXJGbjtcbiAgICAgICAgICAgIGlmICghY2hhbmdlLmlzRmlyc3RDaGFuZ2UoKSAmJiBjaGFuZ2UuY3VycmVudFZhbHVlICE9PSBjaGFuZ2UucHJldmlvdXNWYWx1ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VydmljZS5zZXRGaWx0ZXJGbihjaGFuZ2UuY3VycmVudFZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdEb0NoZWNrKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5uZ0NvbnRyb2wpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlRXJyb3JTdGF0ZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBpZiAoIXRoaXMuY29tcG9uZW50SW5pdGlhbGl6ZWQpIHtcbiAgICAgICAgICAgIHRoaXMuaW5pdGlhbFdyaXRlVmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLl92YWx1ZSA9PT0gdmFsdWUgfHwgKGlzTnVsbE9yVW5kZWZpbmVkKHRoaXMuX3ZhbHVlKSAmJiBpc051bGxPclVuZGVmaW5lZCh2YWx1ZSkpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXZhbHVlICYmIHRoaXMuX3ZhbHVlICE9PSB2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5vblJlbW92ZShudWxsKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIE5pY2VUeXBlYWhlYWROZXdWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVTZWFyY2hJbnB1dCgpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5zZXJ2aWNlLnNldEFjdGl2ZUlkKHRoaXMucmVzb3VyY2UsIHZhbHVlKS50aGVuKCgpID0+IHRoaXMudXBkYXRlU2VhcmNoSW5wdXQoKSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgfVxuXG4gICAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UocHJvcGFnYXRlOiAodmFsdWU6IHN0cmluZykgPT4gdm9pZCk6IHZvaWQge1xuICAgICAgICB0aGlzLnByb3BhZ2F0ZSA9IHByb3BhZ2F0ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgICAgICAvLyBOTy1PUFxuICAgIH1cblxucHVibGljIG9uQ29udGFpbmVyQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcblx0ICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG5cdCAgICBcdHJldHVybjtcblx0ICAgIH1cblxuICAgICAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gICAgICAgIGlmICgoZXZlbnQudGFyZ2V0IGFzIEVsZW1lbnQpLnRhZ05hbWUudG9Mb3dlckNhc2UoKSAhPSBcImlucHV0XCIpIHtcbiAgICAgICAgICAgIHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHNldERlc2NyaWJlZEJ5SWRzKGlkczogc3RyaW5nW10pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kZXNjcmliZWRCeSA9IGlkcy5qb2luKFwiIFwiKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0QWN0aXZlPFQgPSBhbnk+KCk6IFQge1xuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlLmdldEFjdGl2ZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbk9wdGlvbkFjdGl2YXRlZChldmVudDogTWF0QXV0b2NvbXBsZXRlQWN0aXZhdGVkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hY3RpdmVPcHRpb24gPSBldmVudC5vcHRpb247XG4gICAgfVxuXG4gICAgcHVibGljIG9uT3B0aW9uU2VsZWN0ZWQoZXZlbnQ6IE1hdEF1dG9jb21wbGV0ZVNlbGVjdGVkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKGV2ZW50Lm9wdGlvbi5pZCA9PT0gXCJuZXctdmFsdWUtb3B0aW9uXCIpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSBuZXcgTmljZVR5cGVhaGVhZE5ld1ZhbHVlKHRoaXMuc2VhcmNoQ29udHJvbC52YWx1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUxhYmVsKGV2ZW50Lm9wdGlvbi52YWx1ZSk7XG4gICAgICAgICAgICB0aGlzLnNlcnZpY2Uuc2V0QWN0aXZlKGV2ZW50Lm9wdGlvbi52YWx1ZSk7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy5iaW5kVmFsdWUgPyB0aGlzLmdldE9iamVjdEl0ZW0odGhpcy5iaW5kVmFsdWUsIGV2ZW50Lm9wdGlvbi52YWx1ZSkgOiBldmVudC5vcHRpb24udmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNlbGVjdGVkLmVtaXQodGhpcy52YWx1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIHVwZGF0ZVN0YXRlKG9wZW46IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcGVuID0gb3BlbjtcbiAgICAgICAgdGhpcy5pc09wZW5lZCQubmV4dChvcGVuKTtcblxuICAgICAgICBpZiAoIXRoaXMub3Blbikge1xuICAgICAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmZvY3VzQ2hhbmdlZChmYWxzZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMub3BlbiAmJiAhdGhpcy5pbml0aWFsaXplZCkge1xuICAgICAgICAgICAgdGhpcy5zZXJ2aWNlLmluaXRpYWxpemUodGhpcy5yZXNvdXJjZSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXRoaXMub3BlbiAmJiB0aGlzLm5nQ29udHJvbCkge1xuICAgICAgICAgICAgdGhpcy5uZ0NvbnRyb2wuY29udHJvbC5tYXJrQXNUb3VjaGVkKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXRoaXMub3Blbikge1xuICAgICAgICAgICAgdGhpcy5hY3RpdmVPcHRpb24gPSBudWxsO1xuICAgICAgICAgICAgaWYgKCF0aGlzLl92YWx1ZSAmJiB0aGlzLnNlYXJjaENvbnRyb2wudmFsdWUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm9uUmVtb3ZlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgb25SZW1vdmUoZXZlbnQ/OiBFdmVudCwgcmVsb2FkID0gdHJ1ZSk6IHZvaWQge1xuICAgICAgICBpZiAoZXZlbnQpIHtcbiAgICAgICAgICAgIC8vIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZXJ2aWNlLnNldEFjdGl2ZShudWxsKTtcbiAgICAgICAgdGhpcy52YWx1ZSA9IG51bGw7XG4gICAgICAgIHRoaXMuc2VhcmNoQ29udHJvbC5wYXRjaFZhbHVlKG51bGwpO1xuICAgICAgICBpZiAodGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2wpIHtcbiAgICAgICAgICAgIHRoaXMubmdDb250cm9sLmNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcblxuICAgICAgICB0aGlzLmVudGl0eVJlbW92ZWQuZW1pdCgpO1xuXG4gICAgICAgIGlmIChyZWxvYWQpIHtcbiAgICAgICAgICAgIHRoaXMuc2VydmljZS5zZWFyY2godGhpcy5yZXNvdXJjZSwgXCJcIik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZm9ybWF0TGFiZWwoaXRlbTogYW55KTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHRoaXMuX2xhYmVsRm9ybWF0Rm4pIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9sYWJlbEZvcm1hdEZuKGl0ZW0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuYmluZExhYmVsKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRPYmplY3RJdGVtKHRoaXMuYmluZExhYmVsLCBpdGVtKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0eXBlb2YgaXRlbSAhPT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZS5mb3JtYXQodGhpcy5yZXNvdXJjZSwgaXRlbSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gaXRlbTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25FbmRTY3JvbGwoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VydmljZS5sb2FkTW9yZSh0aGlzLnJlc291cmNlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZm9jdXNDaGFuZ2VkKGlzRm9jdXNlZDogYm9vbGVhbikge1xuICAgICAgICBpZiAoaXNGb2N1c2VkICE9PSB0aGlzLmZvY3VzZWQpIHtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNlZCA9IGlzRm9jdXNlZDtcbiAgICAgICAgICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcblxuICAgICAgICAgICAgaWYgKGlzRm9jdXNlZCAmJiB0aGlzLmZpbHRlckZuKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXJ2aWNlLnJlbG9hZEZpbHRlcmVkSXRlbXMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyByZWxvYWQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VydmljZT8uc2VhcmNoKHRoaXMucmVzb3VyY2UsIHRoaXMuc2VhcmNoQ29udHJvbC52YWx1ZSA/PyBcIlwiKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgcmVsb2FkQWN0aXZlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBhd2FpdCB0aGlzLnNlcnZpY2U/LnJlbG9hZEFjdGl2ZSh0aGlzLnJlc291cmNlKTtcbiAgICAgICAgY29uc3QgYWN0aXZlID0gdGhpcy5zZXJ2aWNlPy5nZXRBY3RpdmUoKTtcbiAgICAgICAgdGhpcy51cGRhdGVMYWJlbChhY3RpdmUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRTZWFyY2hPcHRpb25zKG9wdGlvbnM6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlYXJjaE9wdGlvbnMgPSBvcHRpb25zO1xuICAgICAgICB0aGlzLnNlcnZpY2Uuc2V0U2VhcmNoT3B0aW9ucyhvcHRpb25zKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUxhYmVsKGl0ZW06IHVua25vd24gfCBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgaWYgKCFpdGVtKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBsYWJlbCA9IHRoaXMuZm9ybWF0TGFiZWwoaXRlbSk7XG5cbiAgICAgICAgaWYgKGxhYmVsICYmIGxhYmVsICE9PSB0aGlzLnNlYXJjaENvbnRyb2wudmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoQ29udHJvbC5wYXRjaFZhbHVlKGxhYmVsLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGdldE9iamVjdEl0ZW0oa2V5OiBzdHJpbmcsIG9iajogb2JqZWN0KTogYW55IHtcbiAgICAgICAgY29uc3Qga2V5cyA9IGtleS5zcGxpdChcIi5cIik7XG4gICAgICAgIGxldCBpdGVtID0gb2JqO1xuICAgICAgICBmb3IgKGNvbnN0IGsgb2Yga2V5cykge1xuICAgICAgICAgICAgaWYgKCFpdGVtKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGl0ZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICghaXRlbS5oYXNPd25Qcm9wZXJ0eShrKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBpdGVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaXRlbSA9IGl0ZW1ba107XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gaXRlbTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVNlYXJjaElucHV0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fdmFsdWUgaW5zdGFuY2VvZiBOaWNlVHlwZWFoZWFkTmV3VmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlTGFiZWwodGhpcy5fdmFsdWUuJG5ldyk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBhY3RpdmUgPSB0aGlzLnNlcnZpY2UuZ2V0QWN0aXZlKCk7XG4gICAgICAgIGlmIChhY3RpdmUpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlTGFiZWwoYWN0aXZlKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgY2hlY2tJZlZhbHVlU3RpbGxFeGlzdCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgaWYgKHRoaXMuX3ZhbHVlIGluc3RhbmNlb2YgTmljZVR5cGVhaGVhZE5ld1ZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBpdGVtcyA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuc2VydmljZS5maWx0ZXJlZEl0ZW1zJCk7XG4gICAgICAgIGNvbnN0IGl0ZW0gPSBpdGVtcy5maW5kKFxuICAgICAgICAgICAgdiA9PiAodGhpcy5iaW5kVmFsdWUgJiYgdHlwZW9mIHYgPT09IFwib2JqZWN0XCIgPyB0aGlzLmdldE9iamVjdEl0ZW0odGhpcy5iaW5kVmFsdWUsIHYpIDogdikgPT09IHRoaXMuX3ZhbHVlXG4gICAgICAgICk7XG4gICAgICAgIGlmIChpdGVtKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5fdmFsdWUgIT09IG51bGwgJiYgdGhpcy5fdmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhpcy5vblJlbW92ZShudWxsKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJ7IGxvYWRpbmc6IHNlcnZpY2UubG9hZGluZyQgfCBhc3luYywgbG9hZGluZ1BhZ2U6IHNlcnZpY2UubG9hZGluZ1BhZ2UkIHwgYXN5bmMsIHZhbHVlczogc2VydmljZS5maWx0ZXJlZEl0ZW1zJCB8IGFzeW5jIH0gYXMgY3R4XCI+XG4gICAgPGRpdiBjbGFzcz1cImZsZXhcIiAqbmdJZj1cIiFkaXNhYmxlZDsgZWxzZSBkaXNhYmxlXCI+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgI3NlYXJjaElucHV0XG4gICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgY2xhc3M9XCJmbGV4LWF1dG9cIlxuICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgbmFtZT1cIm1hdC1hdXRvY29tcGxldGVcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiRhbnkoZGlzYWJsZWQpXCJcbiAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwic2VhcmNoQ29udHJvbFwiXG4gICAgICAgICAgICBbbWF0QXV0b2NvbXBsZXRlXT1cImF1dG9cIlxuICAgICAgICAgICAgW3JlcXVpcmVkXT1cIiRhbnkocmVxdWlyZWQpXCJcbiAgICAgICAgICAgIChmb2N1cyk9XCJmb2N1c0NoYW5nZWQodHJ1ZSlcIlxuICAgICAgICAvPlxuICAgICAgICA8bWF0LWljb24gKm5nSWY9XCJ2YWx1ZSAmJiAhY3R4LmxvYWRpbmdcIiBtYXRTdWZmaXggY2xhc3M9XCJjbG9zZS1idXR0b24gc2Vjb25kYXJ5LXRleHRcIiAoY2xpY2spPVwib25SZW1vdmUoJGV2ZW50KVwiPlxuICAgICAgICAgICAgY2xvc2VcbiAgICAgICAgPC9tYXQtaWNvbj5cblxuICAgICAgICA8bWF0LXNwaW5uZXIgY2xhc3M9XCJzZWxmLWNlbnRlclwiIFtkaWFtZXRlcl09XCIxNlwiICpuZ0lmPVwiY3R4LmxvYWRpbmdcIj48L21hdC1zcGlubmVyPlxuICAgIDwvZGl2PlxuICAgIDxtYXQtYXV0b2NvbXBsZXRlXG4gICAgICAgICNhdXRvPVwibWF0QXV0b2NvbXBsZXRlXCJcbiAgICAgICAgW3BhbmVsV2lkdGhdPVwicGFuZWxXaWR0aFwiXG4gICAgICAgIFtjbGFzc109XCJwYW5lbENsYXNzXCJcbiAgICAgICAgKG9wdGlvbkFjdGl2YXRlZCk9XCJvbk9wdGlvbkFjdGl2YXRlZCgkZXZlbnQpXCJcbiAgICAgICAgKG9wdGlvblNlbGVjdGVkKT1cIm9uT3B0aW9uU2VsZWN0ZWQoJGV2ZW50KVwiXG4gICAgICAgIChjbG9zZWQpPVwidXBkYXRlU3RhdGUoZmFsc2UpXCJcbiAgICAgICAgKG9wZW5lZCk9XCJ1cGRhdGVTdGF0ZSh0cnVlKVwiXG4gICAgICAgIChvcHRpb25zU2Nyb2xsKT1cIm9uRW5kU2Nyb2xsKClcIlxuICAgID5cbiAgICAgICAgPG1hdC1wcm9ncmVzcy1iYXIgY2xhc3M9XCItbXQtMlwiICpuZ0lmPVwib3BlbiAmJiBjdHgubG9hZGluZ1wiIG1vZGU9XCJpbmRldGVybWluYXRlXCIgY29sb3I9XCJwcmltYXJ5XCI+PC9tYXQtcHJvZ3Jlc3MtYmFyPlxuXG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgY3R4LnZhbHVlc1wiIFt2YWx1ZV09XCJvcHRpb25cIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAqbmdJZj1cIm9wdGlvblRlbXBsYXRlOyBlbHNlIGZvcm1hdFwiXG4gICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwib3B0aW9uVGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogb3B0aW9uIH1cIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI2Zvcm1hdD5cbiAgICAgICAgICAgICAgICB7eyBmb3JtYXRMYWJlbChvcHRpb24pIH19XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0lmPVwiIWN0eC52YWx1ZXM/Lmxlbmd0aCAmJiAhYWxsb3dOb3RGb3VuZEl0ZW1zXCIgZGlzYWJsZWQ+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZW1wdHlQbGFjZWhvbGRlcjsgZWxzZSBkZWZhdWx0RW1wdHlQbGFjZWhvbGRlclwiPlxuICAgICAgICAgICAgICAgIHt7IGVtcHR5UGxhY2Vob2xkZXIgfX1cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0RW1wdHlQbGFjZWhvbGRlcj5cbiAgICAgICAgICAgICAgICB7eyBcImNvbXBvbmVudHMudHlwZWFoZWFkLm5vX2l0ZW1fZm91bmRcIiB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICA8bWF0LW9wdGlvbiAqbmdJZj1cIiFjdHgudmFsdWVzPy5sZW5ndGggJiYgYWxsb3dOb3RGb3VuZEl0ZW1zXCIgaWQ9XCJuZXctdmFsdWUtb3B0aW9uXCIgW3ZhbHVlXT1cInNlYXJjaENvbnRyb2wudmFsdWVcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaXRhbGljXCI+e3sgc2VhcmNoQ29udHJvbC52YWx1ZSB9fTwvc3Bhbj5cbiAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICA8bWF0LXByb2dyZXNzLWJhciAqbmdJZj1cIm9wZW4gJiYgY3R4LmxvYWRpbmdQYWdlXCIgbW9kZT1cImluZGV0ZXJtaW5hdGVcIiBjb2xvcj1cInByaW1hcnlcIj48L21hdC1wcm9ncmVzcy1iYXI+XG4gICAgPC9tYXQtYXV0b2NvbXBsZXRlPlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjZGlzYWJsZT5cbiAgICA8aW5wdXRcbiAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgY2xhc3M9XCJkaXNhYmxlZC1pbnB1dFwiXG4gICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgW2Rpc2FibGVkXT1cInRydWVcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgICAgICBbZm9ybUNvbnRyb2xdPVwic2VhcmNoQ29udHJvbFwiXG4gICAgICAgIFtyZXF1aXJlZF09XCIkYW55KHJlcXVpcmVkKVwiXG4gICAgLz5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -1,3 +0,0 @@
1
- import { InjectionToken } from "@angular/core";
2
- export const NICE_ASYNC_TYPEAHEAD_PROVIDER = new InjectionToken("nice_async_typeahead_provider");
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXN5bmMtdHlwZWFoZWFkLmNvbnN0YW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmljZS11aS1raXQtdjIvc3JjL2xpYi9jb21wb25lbnRzL2FzeW5jLXR5cGVhaGVhZC9hc3luYy10eXBlYWhlYWQuY29uc3RhbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvQyxNQUFNLENBQUMsTUFBTSw2QkFBNkIsR0FBRyxJQUFJLGNBQWMsQ0FBQywrQkFBK0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5leHBvcnQgY29uc3QgTklDRV9BU1lOQ19UWVBFQUhFQURfUFJPVklERVIgPSBuZXcgSW5qZWN0aW9uVG9rZW4oXCJuaWNlX2FzeW5jX3R5cGVhaGVhZF9wcm92aWRlclwiKTtcbiJdfQ==
@@ -1,64 +0,0 @@
1
- import { CommonModule } from "@angular/common";
2
- import { NgModule } from "@angular/core";
3
- import { ReactiveFormsModule } from "@angular/forms";
4
- import { MatAutocompleteModule } from "@angular/material/autocomplete";
5
- import { MatIconModule } from "@angular/material/icon";
6
- import { MatInputModule } from "@angular/material/input";
7
- import { MatProgressBarModule } from "@angular/material/progress-bar";
8
- import { MatProgressSpinnerModule } from "@angular/material/progress-spinner";
9
- import { TranslateModule } from "@ngx-translate/core";
10
- import { OptionScrollModule } from "../typeahead/directives/options-scroll.module";
11
- import { NiceAsyncTypeaheadComponent } from "./async-typeahead.component";
12
- import { NICE_ASYNC_TYPEAHEAD_PROVIDER } from "./async-typeahead.constant";
13
- import * as i0 from "@angular/core";
14
- export class NiceAsyncTypeaheadModule {
15
- static register(providers) {
16
- return {
17
- ngModule: NiceAsyncTypeaheadModule,
18
- providers: providers.map(x => ({
19
- provide: NICE_ASYNC_TYPEAHEAD_PROVIDER,
20
- useClass: x,
21
- multi: true
22
- }))
23
- };
24
- }
25
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NiceAsyncTypeaheadModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
26
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: NiceAsyncTypeaheadModule, declarations: [NiceAsyncTypeaheadComponent], imports: [CommonModule,
27
- ReactiveFormsModule,
28
- OptionScrollModule,
29
- MatInputModule,
30
- MatAutocompleteModule,
31
- MatIconModule,
32
- MatProgressSpinnerModule,
33
- MatProgressBarModule,
34
- TranslateModule], exports: [NiceAsyncTypeaheadComponent] }); }
35
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NiceAsyncTypeaheadModule, imports: [CommonModule,
36
- ReactiveFormsModule,
37
- OptionScrollModule,
38
- MatInputModule,
39
- MatAutocompleteModule,
40
- MatIconModule,
41
- MatProgressSpinnerModule,
42
- MatProgressBarModule,
43
- TranslateModule] }); }
44
- }
45
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NiceAsyncTypeaheadModule, decorators: [{
46
- type: NgModule,
47
- args: [{
48
- imports: [
49
- CommonModule,
50
- ReactiveFormsModule,
51
- OptionScrollModule,
52
- MatInputModule,
53
- MatAutocompleteModule,
54
- MatIconModule,
55
- MatProgressSpinnerModule,
56
- MatProgressBarModule,
57
- TranslateModule
58
- ],
59
- declarations: [NiceAsyncTypeaheadComponent],
60
- providers: [],
61
- exports: [NiceAsyncTypeaheadComponent]
62
- }]
63
- }] });
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXN5bmMtdHlwZWFoZWFkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtdWkta2l0LXYyL3NyYy9saWIvY29tcG9uZW50cy9hc3luYy10eXBlYWhlYWQvYXN5bmMtdHlwZWFoZWFkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUF1QixRQUFRLEVBQVEsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFFbkYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDMUUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBbUIzRSxNQUFNLE9BQU8sd0JBQXdCO0lBQzFCLE1BQU0sQ0FBQyxRQUFRLENBQUMsU0FBdUQ7UUFDMUUsT0FBTztZQUNILFFBQVEsRUFBRSx3QkFBd0I7WUFDbEMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUMzQixPQUFPLEVBQUUsNkJBQTZCO2dCQUN0QyxRQUFRLEVBQUUsQ0FBQztnQkFDWCxLQUFLLEVBQUUsSUFBSTthQUNkLENBQUMsQ0FBQztTQUNOLENBQUM7SUFDTixDQUFDOytHQVZRLHdCQUF3QjtnSEFBeEIsd0JBQXdCLGlCQUpsQiwyQkFBMkIsYUFWdEMsWUFBWTtZQUNaLG1CQUFtQjtZQUNuQixrQkFBa0I7WUFDbEIsY0FBYztZQUNkLHFCQUFxQjtZQUNyQixhQUFhO1lBQ2Isd0JBQXdCO1lBQ3hCLG9CQUFvQjtZQUNwQixlQUFlLGFBSVQsMkJBQTJCO2dIQUU1Qix3QkFBd0IsWUFkN0IsWUFBWTtZQUNaLG1CQUFtQjtZQUNuQixrQkFBa0I7WUFDbEIsY0FBYztZQUNkLHFCQUFxQjtZQUNyQixhQUFhO1lBQ2Isd0JBQXdCO1lBQ3hCLG9CQUFvQjtZQUNwQixlQUFlOzs0RkFNVix3QkFBd0I7a0JBaEJwQyxRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQixjQUFjO3dCQUNkLHFCQUFxQjt3QkFDckIsYUFBYTt3QkFDYix3QkFBd0I7d0JBQ3hCLG9CQUFvQjt3QkFDcEIsZUFBZTtxQkFDbEI7b0JBQ0QsWUFBWSxFQUFFLENBQUMsMkJBQTJCLENBQUM7b0JBQzNDLFNBQVMsRUFBRSxFQUFFO29CQUNiLE9BQU8sRUFBRSxDQUFDLDJCQUEyQixDQUFDO2lCQUN6QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlLCBUeXBlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IE1hdEF1dG9jb21wbGV0ZU1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9hdXRvY29tcGxldGVcIjtcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvblwiO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXRcIjtcbmltcG9ydCB7IE1hdFByb2dyZXNzQmFyTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLWJhclwiO1xuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLXNwaW5uZXJcIjtcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XG5pbXBvcnQgeyBPcHRpb25TY3JvbGxNb2R1bGUgfSBmcm9tIFwiLi4vdHlwZWFoZWFkL2RpcmVjdGl2ZXMvb3B0aW9ucy1zY3JvbGwubW9kdWxlXCI7XG5cbmltcG9ydCB7IE5pY2VBc3luY1R5cGVhaGVhZENvbXBvbmVudCB9IGZyb20gXCIuL2FzeW5jLXR5cGVhaGVhZC5jb21wb25lbnRcIjtcbmltcG9ydCB7IE5JQ0VfQVNZTkNfVFlQRUFIRUFEX1BST1ZJREVSIH0gZnJvbSBcIi4vYXN5bmMtdHlwZWFoZWFkLmNvbnN0YW50XCI7XG5pbXBvcnQgeyBOaWNlQXN5bmNUeXBlYWhlYWRQcm92aWRlciB9IGZyb20gXCIuL3Byb3ZpZGVycy9hc3luYy10eXBlYWhlYWQucHJvdmlkZXJcIjtcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICAgICAgT3B0aW9uU2Nyb2xsTW9kdWxlLFxuICAgICAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICAgICAgTWF0QXV0b2NvbXBsZXRlTW9kdWxlLFxuICAgICAgICBNYXRJY29uTW9kdWxlLFxuICAgICAgICBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUsXG4gICAgICAgIE1hdFByb2dyZXNzQmFyTW9kdWxlLFxuICAgICAgICBUcmFuc2xhdGVNb2R1bGVcbiAgICBdLFxuICAgIGRlY2xhcmF0aW9uczogW05pY2VBc3luY1R5cGVhaGVhZENvbXBvbmVudF0sXG4gICAgcHJvdmlkZXJzOiBbXSxcbiAgICBleHBvcnRzOiBbTmljZUFzeW5jVHlwZWFoZWFkQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBOaWNlQXN5bmNUeXBlYWhlYWRNb2R1bGUge1xuICAgIHB1YmxpYyBzdGF0aWMgcmVnaXN0ZXIocHJvdmlkZXJzOiBUeXBlPE5pY2VBc3luY1R5cGVhaGVhZFByb3ZpZGVyPGFueSwgYW55Pj5bXSk6IE1vZHVsZVdpdGhQcm92aWRlcnM8TmljZUFzeW5jVHlwZWFoZWFkTW9kdWxlPiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBuZ01vZHVsZTogTmljZUFzeW5jVHlwZWFoZWFkTW9kdWxlLFxuICAgICAgICAgICAgcHJvdmlkZXJzOiBwcm92aWRlcnMubWFwKHggPT4gKHtcbiAgICAgICAgICAgICAgICBwcm92aWRlOiBOSUNFX0FTWU5DX1RZUEVBSEVBRF9QUk9WSURFUixcbiAgICAgICAgICAgICAgICB1c2VDbGFzczogeCxcbiAgICAgICAgICAgICAgICBtdWx0aTogdHJ1ZVxuICAgICAgICAgICAgfSkpXG4gICAgICAgIH07XG4gICAgfVxufVxuIl19
@@ -1,2 +0,0 @@
1
- export * from "./public-api";
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uaWNlLXVpLWtpdC12Mi9zcmMvbGliL2NvbXBvbmVudHMvYXN5bmMtdHlwZWFoZWFkL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vcHVibGljLWFwaVwiO1xuIl19