@recursyve/nice-ui-kit.v2 15.0.0-beta.130 → 16.0.0-beta.132

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (390) hide show
  1. package/esm2022/lib/animations/defaults.mjs +32 -0
  2. package/{esm2020 → esm2022}/lib/api/interceptors/transform-response.interceptor.mjs +4 -4
  3. package/{esm2020 → esm2022}/lib/components/alert/alert.component.mjs +4 -4
  4. package/{esm2020 → esm2022}/lib/components/alert/alert.module.mjs +9 -9
  5. package/{esm2020 → esm2022}/lib/components/alert/alert.service.mjs +4 -4
  6. package/esm2022/lib/components/assets-carousel/assets-carousel.component.mjs +283 -0
  7. package/{esm2020 → esm2022}/lib/components/assets-carousel/assets-carousel.module.mjs +19 -19
  8. package/{esm2020 → esm2022}/lib/components/assets-carousel/directives/assets-carousel-active-content.directive.mjs +4 -4
  9. package/esm2022/lib/components/async-typeahead/async-typeahead.component.mjs +451 -0
  10. package/{esm2020 → esm2022}/lib/components/async-typeahead/async-typeahead.module.mjs +21 -21
  11. package/esm2022/lib/components/async-typeahead/providers/async-typeahead.service.mjs +219 -0
  12. package/{esm2020 → esm2022}/lib/components/base-form/base-form.component.mjs +4 -4
  13. package/{esm2020 → esm2022}/lib/components/base-form/base-form.module.mjs +5 -5
  14. package/{esm2020 → esm2022}/lib/components/base-form/form-submit.directive.mjs +4 -4
  15. package/{esm2020 → esm2022}/lib/components/card/card.component.mjs +4 -4
  16. package/{esm2020 → esm2022}/lib/components/card/card.module.mjs +5 -5
  17. package/{esm2020 → esm2022}/lib/components/carousel/carousel.component.mjs +4 -4
  18. package/esm2022/lib/components/carousel/carousel.module.mjs +40 -0
  19. package/{esm2020 → esm2022}/lib/components/carousel/picture-modal/picture-modal.component.mjs +4 -4
  20. package/{esm2020 → esm2022}/lib/components/carousel/picture-modal/picture-modal.service.mjs +4 -4
  21. package/{esm2020 → esm2022}/lib/components/carousel/pipe/carousel-layout.pipe.mjs +4 -4
  22. package/{esm2020 → esm2022}/lib/components/collapsable/collapsable.component.mjs +4 -4
  23. package/{esm2020 → esm2022}/lib/components/collapsable/collapsable.module.mjs +7 -7
  24. package/{esm2020 → esm2022}/lib/components/date-range-picker/components/header/header.component.mjs +4 -4
  25. package/{esm2020 → esm2022}/lib/components/date-range-picker/components/range-preset/range-preset.component.mjs +4 -4
  26. package/esm2022/lib/components/date-range-picker/date-range-picker.component.mjs +95 -0
  27. package/{esm2020 → esm2022}/lib/components/date-range-picker/date-range-picker.module.mjs +21 -21
  28. package/{esm2020 → esm2022}/lib/components/date-range-picker/providers/date-range-picker.service.mjs +4 -4
  29. package/{esm2020 → esm2022}/lib/components/drawer/drawer.component.mjs +4 -4
  30. package/{esm2020 → esm2022}/lib/components/drawer/drawer.module.mjs +7 -7
  31. package/{esm2020 → esm2022}/lib/components/drawer/drawer.service.mjs +4 -4
  32. package/{esm2020 → esm2022}/lib/components/export-bottom-sheet/export-bottom-sheet.component.mjs +4 -4
  33. package/esm2022/lib/components/export-bottom-sheet/export-bottom-sheet.module.mjs +45 -0
  34. package/{esm2020 → esm2022}/lib/components/export-bottom-sheet/providers/export-bottom-sheet.service.mjs +7 -7
  35. package/esm2022/lib/components/form-error/control-status.directive.mjs +123 -0
  36. package/esm2022/lib/components/form-error/form-error.component.mjs +53 -0
  37. package/{esm2020 → esm2022}/lib/components/form-error/form-error.module.mjs +5 -5
  38. package/esm2022/lib/components/horizontal-stepper/horizontal-stepper.component.mjs +34 -0
  39. package/{esm2020 → esm2022}/lib/components/horizontal-stepper/horizontal-stepper.module.mjs +9 -9
  40. package/{esm2020 → esm2022}/lib/components/horizontal-stepper/step.component.mjs +6 -6
  41. package/esm2022/lib/components/image-cropper/image-cropper.component.mjs +1269 -0
  42. package/{esm2020 → esm2022}/lib/components/image-cropper/image-cropper.module.mjs +5 -5
  43. package/{esm2020 → esm2022}/lib/components/layout/layout.component.mjs +4 -4
  44. package/{esm2020 → esm2022}/lib/components/layout/layout.module.mjs +5 -5
  45. package/{esm2020 → esm2022}/lib/components/loading-spinner/loading-spinner.component.mjs +4 -4
  46. package/{esm2020 → esm2022}/lib/components/loading-spinner/loading-spinner.module.mjs +9 -9
  47. package/{esm2020 → esm2022}/lib/components/loading-spinner/loading.directive.mjs +4 -4
  48. package/{esm2020 → esm2022}/lib/components/loading-toast/loading-toast.component.mjs +4 -4
  49. package/{esm2020 → esm2022}/lib/components/loading-toast/loading-toast.directive.mjs +4 -4
  50. package/{esm2020 → esm2022}/lib/components/loading-toast/loading-toast.module.mjs +5 -5
  51. package/{esm2020 → esm2022}/lib/components/loading-toast/loading-toast.service.mjs +4 -4
  52. package/{esm2020 → esm2022}/lib/components/lottie/lottie.component.mjs +4 -4
  53. package/{esm2020 → esm2022}/lib/components/lottie/lottie.module.mjs +5 -5
  54. package/{esm2020 → esm2022}/lib/components/navigation/components/hint-component-base.mjs +4 -4
  55. package/{esm2020 → esm2022}/lib/components/navigation/directives/show-hint.directive.mjs +4 -4
  56. package/{esm2020 → esm2022}/lib/components/navigation/horizontal/components/basic/basic.component.mjs +4 -4
  57. package/{esm2020 → esm2022}/lib/components/navigation/horizontal/components/branch/branch.component.mjs +4 -4
  58. package/{esm2020 → esm2022}/lib/components/navigation/horizontal/components/divider/divider.component.mjs +4 -4
  59. package/{esm2020 → esm2022}/lib/components/navigation/horizontal/components/spacer/spacer.component.mjs +4 -4
  60. package/{esm2020 → esm2022}/lib/components/navigation/horizontal/horizontal.component.mjs +4 -4
  61. package/{esm2020 → esm2022}/lib/components/navigation/navigation.component.mjs +4 -4
  62. package/{esm2020 → esm2022}/lib/components/navigation/navigation.module.mjs +37 -37
  63. package/{esm2020 → esm2022}/lib/components/navigation/navigation.service.mjs +4 -4
  64. package/{esm2020 → esm2022}/lib/components/navigation/pipes/should-hide.pipe.mjs +4 -4
  65. package/{esm2020 → esm2022}/lib/components/navigation/pipes/should-show-hint.pipe.mjs +4 -4
  66. package/{esm2020 → esm2022}/lib/components/navigation/providers/hint.service.mjs +4 -4
  67. package/{esm2020 → esm2022}/lib/components/navigation/vertical/components/aside/aside.component.mjs +4 -4
  68. package/{esm2020 → esm2022}/lib/components/navigation/vertical/components/basic/basic.component.mjs +4 -4
  69. package/{esm2020 → esm2022}/lib/components/navigation/vertical/components/collapsable/collapsable.component.mjs +4 -4
  70. package/{esm2020 → esm2022}/lib/components/navigation/vertical/components/divider/divider.component.mjs +4 -4
  71. package/{esm2020 → esm2022}/lib/components/navigation/vertical/components/group/group.component.mjs +4 -4
  72. package/{esm2020 → esm2022}/lib/components/navigation/vertical/components/spacer/spacer.component.mjs +4 -4
  73. package/{esm2020 → esm2022}/lib/components/navigation/vertical/vertical.component.mjs +4 -4
  74. package/esm2022/lib/components/search-bar/search-bar.component.mjs +76 -0
  75. package/{esm2020 → esm2022}/lib/components/search-bar/search-bar.module.mjs +13 -13
  76. package/{esm2020 → esm2022}/lib/components/sweet-alert/sweet-alert.component.mjs +4 -4
  77. package/{esm2020 → esm2022}/lib/components/sweet-alert/sweet-alert.directive.mjs +4 -4
  78. package/{esm2020 → esm2022}/lib/components/sweet-alert/sweet-alert.module.mjs +5 -5
  79. package/{esm2020 → esm2022}/lib/components/sweet-alert/sweet-alert.service.mjs +4 -4
  80. package/{esm2020 → esm2022}/lib/components/toast/toast.component.mjs +4 -4
  81. package/{esm2020 → esm2022}/lib/components/toast/toast.module.mjs +5 -5
  82. package/{esm2020 → esm2022}/lib/components/toast/toast.service.mjs +4 -4
  83. package/esm2022/lib/components/toggle-button-group/toggle-button-group.component.mjs +134 -0
  84. package/{esm2020 → esm2022}/lib/components/toggle-button-group/toggle-button-group.module.mjs +7 -7
  85. package/{esm2020 → esm2022}/lib/components/toggle-button-group/toggle-button.component.mjs +4 -4
  86. package/esm2022/lib/components/translation-form/components/textarea/translation-form-textarea.component.mjs +38 -0
  87. package/esm2022/lib/components/translation-form/components/textfield/translation-form-textfield.component.mjs +26 -0
  88. package/esm2022/lib/components/translation-form/components/translation-form.component.mjs +170 -0
  89. package/{esm2020 → esm2022}/lib/components/translation-form/components/translation-form.module.mjs +19 -19
  90. package/{esm2020 → esm2022}/lib/components/translation-form/directives/translation-context.directive.mjs +4 -4
  91. package/{esm2020 → esm2022}/lib/components/translation-form/providers/nice-translation-form.service.mjs +4 -4
  92. package/{esm2020 → esm2022}/lib/components/translation-form/toggle/translation-toggle.component.mjs +4 -4
  93. package/{esm2020 → esm2022}/lib/components/translation-form/validators/require-for-languages.validator.mjs +4 -4
  94. package/{esm2020 → esm2022}/lib/components/typeahead/directives/options-scroll.directive.mjs +4 -4
  95. package/{esm2020 → esm2022}/lib/components/typeahead/directives/options-scroll.module.mjs +5 -5
  96. package/{esm2020 → esm2022}/lib/components/typeahead/typeahead.component.mjs +9 -9
  97. package/{esm2020 → esm2022}/lib/components/typeahead/typeahead.module.mjs +25 -25
  98. package/{esm2020 → esm2022}/lib/directives/autofocus/autofocus.directive.mjs +4 -4
  99. package/{esm2020 → esm2022}/lib/directives/autofocus/autofocus.module.mjs +5 -5
  100. package/{esm2020 → esm2022}/lib/directives/autogrow/autogrow.directive.mjs +4 -4
  101. package/{esm2020 → esm2022}/lib/directives/autogrow/autogrow.module.mjs +5 -5
  102. package/{esm2020 → esm2022}/lib/directives/chip-async-typeahead/chip-async-typeahead.directive.mjs +4 -4
  103. package/{esm2020 → esm2022}/lib/directives/chip-list/chip-list-items/chip-list-item-label.directive.mjs +4 -4
  104. package/{esm2020 → esm2022}/lib/directives/chip-list/chip-list-items/chip-list-items.component.mjs +4 -4
  105. package/{esm2020 → esm2022}/lib/directives/chip-list/chip-list.directive.mjs +4 -4
  106. package/{esm2020 → esm2022}/lib/directives/chip-list/chip-list.module.mjs +5 -5
  107. package/{esm2020 → esm2022}/lib/directives/draggable-list/draggable-list.directive.mjs +4 -4
  108. package/{esm2020 → esm2022}/lib/directives/draggable-list/draggable-list.module.mjs +5 -5
  109. package/{esm2020 → esm2022}/lib/directives/dropzone/dropzone.directive.mjs +4 -4
  110. package/{esm2020 → esm2022}/lib/directives/dropzone/dropzone.module.mjs +5 -5
  111. package/{esm2020 → esm2022}/lib/directives/image-error-placeholder/image-error-placeholder.directive.mjs +4 -4
  112. package/{esm2020 → esm2022}/lib/directives/image-error-placeholder/image-error-placeholder.module.mjs +5 -5
  113. package/{esm2020 → esm2022}/lib/directives/material/material.module.mjs +7 -7
  114. package/{esm2020 → esm2022}/lib/directives/material/nice-material-style.directive.mjs +4 -4
  115. package/{esm2020 → esm2022}/lib/directives/material/nice-rounded-style.directive.mjs +4 -4
  116. package/{esm2020 → esm2022}/lib/directives/modals/modal-on-click.directive.mjs +4 -4
  117. package/{esm2020 → esm2022}/lib/directives/modals/modal-opener.directive.mjs +4 -4
  118. package/{esm2020 → esm2022}/lib/directives/rerender/rerender.directive.mjs +4 -4
  119. package/{esm2020 → esm2022}/lib/directives/resolve/resolve.directive.mjs +4 -4
  120. package/{esm2020 → esm2022}/lib/directives/scroll-reset/scroll-reset.directive.mjs +4 -4
  121. package/{esm2020 → esm2022}/lib/directives/scroll-reset/scroll-reset.module.mjs +5 -5
  122. package/{esm2020 → esm2022}/lib/directives/scrollbar/scrollbar.directive.mjs +4 -4
  123. package/{esm2020 → esm2022}/lib/directives/scrollbar/scrollbar.module.mjs +5 -5
  124. package/{esm2020 → esm2022}/lib/directives/stop-propagation/click-stop-propagation.directive.mjs +4 -4
  125. package/{esm2020 → esm2022}/lib/directives/stop-propagation/stop-propagation.module.mjs +5 -5
  126. package/{esm2020 → esm2022}/lib/directives/window/prevent-close-window.directive.mjs +4 -4
  127. package/{esm2020 → esm2022}/lib/directives/window/window-directive.module.mjs +5 -5
  128. package/esm2022/lib/nice.module.mjs +124 -0
  129. package/{esm2020 → esm2022}/lib/pipes/boolean.pipe.mjs +4 -4
  130. package/{esm2020 → esm2022}/lib/pipes/capitalize-first-letter.pipe.mjs +4 -4
  131. package/{esm2020 → esm2022}/lib/pipes/ceil.pipe.mjs +4 -4
  132. package/{esm2020 → esm2022}/lib/pipes/entries.pipe.mjs +4 -4
  133. package/{esm2020 → esm2022}/lib/pipes/find-by-key.pipe.mjs +4 -4
  134. package/{esm2020 → esm2022}/lib/pipes/first-letter.pipe.mjs +4 -4
  135. package/{esm2020 → esm2022}/lib/pipes/floor.pipe.mjs +4 -4
  136. package/{esm2020 → esm2022}/lib/pipes/join-if-defined.pipe.mjs +4 -4
  137. package/{esm2020 → esm2022}/lib/pipes/link.pipe.mjs +4 -4
  138. package/{esm2020 → esm2022}/lib/pipes/localized-boolean.pipe.mjs +4 -4
  139. package/{esm2020 → esm2022}/lib/pipes/localized-currency.pipe.mjs +4 -4
  140. package/{esm2020 → esm2022}/lib/pipes/localized-date-only.pipe.mjs +4 -4
  141. package/{esm2020 → esm2022}/lib/pipes/localized-date.pipe.mjs +4 -4
  142. package/{esm2020 → esm2022}/lib/pipes/minutes-to-time.pipe.mjs +4 -4
  143. package/{esm2020 → esm2022}/lib/pipes/number-to-ordinal-indicator.pipe.mjs +4 -4
  144. package/{esm2020 → esm2022}/lib/pipes/pad.pipe.mjs +4 -4
  145. package/{esm2020 → esm2022}/lib/pipes/phone.pipe.mjs +4 -4
  146. package/{esm2020 → esm2022}/lib/pipes/pipes.module.mjs +72 -72
  147. package/{esm2020 → esm2022}/lib/pipes/postal-code.pipe.mjs +4 -4
  148. package/{esm2020 → esm2022}/lib/pipes/range.pipe.mjs +4 -4
  149. package/{esm2020 → esm2022}/lib/pipes/round.pipe.mjs +4 -4
  150. package/{esm2020 → esm2022}/lib/pipes/sanitize-bypass.pipe.mjs +4 -4
  151. package/{esm2020 → esm2022}/lib/pipes/seconds-to-time.pipe.mjs +4 -4
  152. package/{esm2020 → esm2022}/lib/pipes/track-by-prop.pipe.mjs +4 -4
  153. package/{esm2020 → esm2022}/lib/providers/config/config.module.mjs +5 -5
  154. package/{esm2020 → esm2022}/lib/providers/config/config.service.mjs +4 -4
  155. package/{esm2020 → esm2022}/lib/providers/media-watcher/media-watcher.module.mjs +7 -7
  156. package/{esm2020 → esm2022}/lib/providers/media-watcher/media-watcher.service.mjs +4 -4
  157. package/{esm2020 → esm2022}/lib/providers/overlay/dynamic-overlay-container.service.mjs +4 -4
  158. package/{esm2020 → esm2022}/lib/providers/overlay/dynamic-overlay.service.mjs +4 -4
  159. package/{esm2020 → esm2022}/lib/providers/splash-screen/splash-screen.module.mjs +7 -7
  160. package/{esm2020 → esm2022}/lib/providers/splash-screen/splash-screen.service.mjs +4 -4
  161. package/{esm2020 → esm2022}/lib/providers/utils/utils.module.mjs +5 -5
  162. package/{esm2020 → esm2022}/lib/providers/utils/utils.service.mjs +4 -4
  163. package/esm2022/lib/utils/regex.utils.mjs +11 -0
  164. package/{fesm2020 → fesm2022}/recursyve-nice-ui-kit.v2.mjs +954 -917
  165. package/fesm2022/recursyve-nice-ui-kit.v2.mjs.map +1 -0
  166. package/lib/components/alert/alert.component.d.ts +1 -1
  167. package/lib/components/assets-carousel/assets-carousel.component.d.ts +1 -1
  168. package/lib/components/async-typeahead/async-typeahead.component.d.ts +5 -3
  169. package/lib/components/async-typeahead/providers/async-typeahead.service.d.ts +8 -5
  170. package/lib/components/base-form/base-form.component.d.ts +1 -1
  171. package/lib/components/base-form/form-submit.directive.d.ts +1 -1
  172. package/lib/components/card/card.component.d.ts +1 -1
  173. package/lib/components/carousel/carousel.component.d.ts +1 -1
  174. package/lib/components/collapsable/collapsable.component.d.ts +1 -1
  175. package/lib/components/date-range-picker/date-range-picker.component.d.ts +1 -1
  176. package/lib/components/drawer/drawer.component.d.ts +1 -1
  177. package/lib/components/form-error/form-error.component.d.ts +1 -1
  178. package/lib/components/image-cropper/image-cropper.component.d.ts +2 -2
  179. package/lib/components/loading-spinner/loading-spinner.component.d.ts +1 -1
  180. package/lib/components/loading-spinner/loading.directive.d.ts +1 -1
  181. package/lib/components/loading-toast/loading-toast.component.d.ts +1 -1
  182. package/lib/components/loading-toast/loading-toast.directive.d.ts +1 -1
  183. package/lib/components/lottie/lottie.component.d.ts +1 -1
  184. package/lib/components/navigation/directives/show-hint.directive.d.ts +1 -1
  185. package/lib/components/navigation/horizontal/components/basic/basic.component.d.ts +1 -1
  186. package/lib/components/navigation/horizontal/components/branch/branch.component.d.ts +1 -1
  187. package/lib/components/navigation/horizontal/components/divider/divider.component.d.ts +1 -1
  188. package/lib/components/navigation/horizontal/components/spacer/spacer.component.d.ts +1 -1
  189. package/lib/components/navigation/horizontal/horizontal.component.d.ts +1 -1
  190. package/lib/components/navigation/vertical/components/aside/aside.component.d.ts +1 -1
  191. package/lib/components/navigation/vertical/components/basic/basic.component.d.ts +1 -1
  192. package/lib/components/navigation/vertical/components/collapsable/collapsable.component.d.ts +1 -1
  193. package/lib/components/navigation/vertical/components/divider/divider.component.d.ts +1 -1
  194. package/lib/components/navigation/vertical/components/group/group.component.d.ts +1 -1
  195. package/lib/components/navigation/vertical/components/spacer/spacer.component.d.ts +1 -1
  196. package/lib/components/navigation/vertical/vertical.component.d.ts +1 -1
  197. package/lib/components/search-bar/search-bar.component.d.ts +1 -1
  198. package/lib/components/sweet-alert/sweet-alert.directive.d.ts +1 -1
  199. package/lib/components/toggle-button-group/toggle-button-group.component.d.ts +1 -1
  200. package/lib/components/toggle-button-group/toggle-button.component.d.ts +1 -1
  201. package/lib/components/translation-form/components/textarea/translation-form-textarea.component.d.ts +1 -1
  202. package/lib/components/translation-form/components/translation-form.component.d.ts +2 -1
  203. package/lib/components/typeahead/directives/options-scroll.directive.d.ts +1 -1
  204. package/lib/components/typeahead/typeahead.component.d.ts +1 -1
  205. package/lib/directives/autogrow/autogrow.directive.d.ts +1 -1
  206. package/lib/directives/chip-list/chip-list-items/chip-list-items.component.d.ts +1 -1
  207. package/lib/directives/chip-list/chip-list.directive.d.ts +1 -1
  208. package/lib/directives/draggable-list/draggable-list.directive.d.ts +1 -1
  209. package/lib/directives/image-error-placeholder/image-error-placeholder.directive.d.ts +1 -1
  210. package/lib/directives/modals/modal-opener.directive.d.ts +1 -1
  211. package/lib/directives/rerender/rerender.directive.d.ts +1 -1
  212. package/lib/directives/resolve/resolve.directive.d.ts +1 -1
  213. package/lib/directives/scrollbar/scrollbar.directive.d.ts +1 -1
  214. package/package.json +13 -19
  215. package/esm2020/lib/animations/defaults.mjs +0 -32
  216. package/esm2020/lib/components/assets-carousel/assets-carousel.component.mjs +0 -283
  217. package/esm2020/lib/components/async-typeahead/async-typeahead.component.mjs +0 -440
  218. package/esm2020/lib/components/async-typeahead/providers/async-typeahead.service.mjs +0 -209
  219. package/esm2020/lib/components/carousel/carousel.module.mjs +0 -41
  220. package/esm2020/lib/components/date-range-picker/date-range-picker.component.mjs +0 -95
  221. package/esm2020/lib/components/export-bottom-sheet/export-bottom-sheet.module.mjs +0 -45
  222. package/esm2020/lib/components/form-error/control-status.directive.mjs +0 -111
  223. package/esm2020/lib/components/form-error/form-error.component.mjs +0 -53
  224. package/esm2020/lib/components/horizontal-stepper/horizontal-stepper.component.mjs +0 -34
  225. package/esm2020/lib/components/image-cropper/image-cropper.component.mjs +0 -1269
  226. package/esm2020/lib/components/search-bar/search-bar.component.mjs +0 -76
  227. package/esm2020/lib/components/toggle-button-group/toggle-button-group.component.mjs +0 -134
  228. package/esm2020/lib/components/translation-form/components/textarea/translation-form-textarea.component.mjs +0 -38
  229. package/esm2020/lib/components/translation-form/components/textfield/translation-form-textfield.component.mjs +0 -26
  230. package/esm2020/lib/components/translation-form/components/translation-form.component.mjs +0 -165
  231. package/esm2020/lib/nice.module.mjs +0 -124
  232. package/esm2020/lib/utils/regex.utils.mjs +0 -11
  233. package/fesm2015/recursyve-nice-ui-kit.v2.mjs +0 -11831
  234. package/fesm2015/recursyve-nice-ui-kit.v2.mjs.map +0 -1
  235. package/fesm2020/recursyve-nice-ui-kit.v2.mjs.map +0 -1
  236. /package/{esm2020 → esm2022}/lib/animations/expand-collapse.mjs +0 -0
  237. /package/{esm2020 → esm2022}/lib/animations/fade.mjs +0 -0
  238. /package/{esm2020 → esm2022}/lib/animations/index.mjs +0 -0
  239. /package/{esm2020 → esm2022}/lib/animations/public-api.mjs +0 -0
  240. /package/{esm2020 → esm2022}/lib/animations/shake.mjs +0 -0
  241. /package/{esm2020 → esm2022}/lib/animations/slide.mjs +0 -0
  242. /package/{esm2020 → esm2022}/lib/animations/zoom.mjs +0 -0
  243. /package/{esm2020 → esm2022}/lib/api/exceptions/api.exception.mjs +0 -0
  244. /package/{esm2020 → esm2022}/lib/api/exceptions/exception.factory.mjs +0 -0
  245. /package/{esm2020 → esm2022}/lib/api/index.mjs +0 -0
  246. /package/{esm2020 → esm2022}/lib/api/nice.api.mjs +0 -0
  247. /package/{esm2020 → esm2022}/lib/api/public-api.mjs +0 -0
  248. /package/{esm2020 → esm2022}/lib/components/alert/alert.types.mjs +0 -0
  249. /package/{esm2020 → esm2022}/lib/components/alert/index.mjs +0 -0
  250. /package/{esm2020 → esm2022}/lib/components/alert/public-api.mjs +0 -0
  251. /package/{esm2020 → esm2022}/lib/components/assets-carousel/assets-carousel.constant.mjs +0 -0
  252. /package/{esm2020 → esm2022}/lib/components/assets-carousel/index.mjs +0 -0
  253. /package/{esm2020 → esm2022}/lib/components/assets-carousel/public-api.mjs +0 -0
  254. /package/{esm2020 → esm2022}/lib/components/async-typeahead/async-typeahead.constant.mjs +0 -0
  255. /package/{esm2020 → esm2022}/lib/components/async-typeahead/index.mjs +0 -0
  256. /package/{esm2020 → esm2022}/lib/components/async-typeahead/providers/async-typeahead.provider.mjs +0 -0
  257. /package/{esm2020 → esm2022}/lib/components/async-typeahead/public-api.mjs +0 -0
  258. /package/{esm2020 → esm2022}/lib/components/base-form/index.mjs +0 -0
  259. /package/{esm2020 → esm2022}/lib/components/base-form/nice-base.form.mjs +0 -0
  260. /package/{esm2020 → esm2022}/lib/components/base-form/public-api.mjs +0 -0
  261. /package/{esm2020 → esm2022}/lib/components/card/card.types.mjs +0 -0
  262. /package/{esm2020 → esm2022}/lib/components/card/index.mjs +0 -0
  263. /package/{esm2020 → esm2022}/lib/components/card/public-api.mjs +0 -0
  264. /package/{esm2020 → esm2022}/lib/components/carousel/index.mjs +0 -0
  265. /package/{esm2020 → esm2022}/lib/components/carousel/picture-modal/index.mjs +0 -0
  266. /package/{esm2020 → esm2022}/lib/components/carousel/picture-modal/public-api.mjs +0 -0
  267. /package/{esm2020 → esm2022}/lib/components/carousel/public-api.mjs +0 -0
  268. /package/{esm2020 → esm2022}/lib/components/collapsable/index.mjs +0 -0
  269. /package/{esm2020 → esm2022}/lib/components/collapsable/public-api.mjs +0 -0
  270. /package/{esm2020 → esm2022}/lib/components/date-range-picker/index.mjs +0 -0
  271. /package/{esm2020 → esm2022}/lib/components/date-range-picker/public-api.mjs +0 -0
  272. /package/{esm2020 → esm2022}/lib/components/drawer/drawer.types.mjs +0 -0
  273. /package/{esm2020 → esm2022}/lib/components/drawer/index.mjs +0 -0
  274. /package/{esm2020 → esm2022}/lib/components/drawer/public-api.mjs +0 -0
  275. /package/{esm2020 → esm2022}/lib/components/export-bottom-sheet/index.mjs +0 -0
  276. /package/{esm2020 → esm2022}/lib/components/export-bottom-sheet/models/export-strategy.model.mjs +0 -0
  277. /package/{esm2020 → esm2022}/lib/components/export-bottom-sheet/public-api.mjs +0 -0
  278. /package/{esm2020 → esm2022}/lib/components/form-error/index.mjs +0 -0
  279. /package/{esm2020 → esm2022}/lib/components/form-error/public-api.mjs +0 -0
  280. /package/{esm2020 → esm2022}/lib/components/horizontal-stepper/index.mjs +0 -0
  281. /package/{esm2020 → esm2022}/lib/components/horizontal-stepper/public-api.mjs +0 -0
  282. /package/{esm2020 → esm2022}/lib/components/image-cropper/index.mjs +0 -0
  283. /package/{esm2020 → esm2022}/lib/components/image-cropper/public-api.mjs +0 -0
  284. /package/{esm2020 → esm2022}/lib/components/image-cropper/resize-canvas.mjs +0 -0
  285. /package/{esm2020 → esm2022}/lib/components/index.mjs +0 -0
  286. /package/{esm2020 → esm2022}/lib/components/layout/index.mjs +0 -0
  287. /package/{esm2020 → esm2022}/lib/components/layout/public-api.mjs +0 -0
  288. /package/{esm2020 → esm2022}/lib/components/loading-spinner/index.mjs +0 -0
  289. /package/{esm2020 → esm2022}/lib/components/loading-spinner/loading.constant.mjs +0 -0
  290. /package/{esm2020 → esm2022}/lib/components/loading-spinner/public-api.mjs +0 -0
  291. /package/{esm2020 → esm2022}/lib/components/loading-toast/index.mjs +0 -0
  292. /package/{esm2020 → esm2022}/lib/components/loading-toast/loading-toast.constant.mjs +0 -0
  293. /package/{esm2020 → esm2022}/lib/components/loading-toast/public-api.mjs +0 -0
  294. /package/{esm2020 → esm2022}/lib/components/loading-toast/rxjs/show-loading-toast.operator.mjs +0 -0
  295. /package/{esm2020 → esm2022}/lib/components/lottie/index.mjs +0 -0
  296. /package/{esm2020 → esm2022}/lib/components/lottie/public-api.mjs +0 -0
  297. /package/{esm2020 → esm2022}/lib/components/navigation/index.mjs +0 -0
  298. /package/{esm2020 → esm2022}/lib/components/navigation/navigation.types.mjs +0 -0
  299. /package/{esm2020 → esm2022}/lib/components/navigation/providers/hide-item.resolver.mjs +0 -0
  300. /package/{esm2020 → esm2022}/lib/components/navigation/providers/hint.resolver.mjs +0 -0
  301. /package/{esm2020 → esm2022}/lib/components/navigation/public-api.mjs +0 -0
  302. /package/{esm2020 → esm2022}/lib/components/public-api.mjs +0 -0
  303. /package/{esm2020 → esm2022}/lib/components/search-bar/index.mjs +0 -0
  304. /package/{esm2020 → esm2022}/lib/components/search-bar/public-api.mjs +0 -0
  305. /package/{esm2020 → esm2022}/lib/components/sweet-alert/index.mjs +0 -0
  306. /package/{esm2020 → esm2022}/lib/components/sweet-alert/public-api.mjs +0 -0
  307. /package/{esm2020 → esm2022}/lib/components/sweet-alert/sweet-alert.constant.mjs +0 -0
  308. /package/{esm2020 → esm2022}/lib/components/toast/index.mjs +0 -0
  309. /package/{esm2020 → esm2022}/lib/components/toast/public-api.mjs +0 -0
  310. /package/{esm2020 → esm2022}/lib/components/toast/rxjs/show-success-or-error-toast.operator.mjs +0 -0
  311. /package/{esm2020 → esm2022}/lib/components/toast/rxjs/show-toast.operator.mjs +0 -0
  312. /package/{esm2020 → esm2022}/lib/components/toast/toast.constant.mjs +0 -0
  313. /package/{esm2020 → esm2022}/lib/components/toggle-button-group/index.mjs +0 -0
  314. /package/{esm2020 → esm2022}/lib/components/toggle-button-group/public-api.mjs +0 -0
  315. /package/{esm2020 → esm2022}/lib/components/translation-form/decorators/translation-form-group.decorator.mjs +0 -0
  316. /package/{esm2020 → esm2022}/lib/components/translation-form/index.mjs +0 -0
  317. /package/{esm2020 → esm2022}/lib/components/translation-form/public-api.mjs +0 -0
  318. /package/{esm2020 → esm2022}/lib/components/translation-form/translation.form.mjs +0 -0
  319. /package/{esm2020 → esm2022}/lib/components/typeahead/index.mjs +0 -0
  320. /package/{esm2020 → esm2022}/lib/components/typeahead/public-api.mjs +0 -0
  321. /package/{esm2020 → esm2022}/lib/directives/autofocus/index.mjs +0 -0
  322. /package/{esm2020 → esm2022}/lib/directives/autofocus/public-api.mjs +0 -0
  323. /package/{esm2020 → esm2022}/lib/directives/autogrow/index.mjs +0 -0
  324. /package/{esm2020 → esm2022}/lib/directives/autogrow/public-api.mjs +0 -0
  325. /package/{esm2020 → esm2022}/lib/directives/chip-async-typeahead/index.mjs +0 -0
  326. /package/{esm2020 → esm2022}/lib/directives/chip-async-typeahead/public-api.mjs +0 -0
  327. /package/{esm2020 → esm2022}/lib/directives/chip-list/chip-list.constant.mjs +0 -0
  328. /package/{esm2020 → esm2022}/lib/directives/chip-list/index.mjs +0 -0
  329. /package/{esm2020 → esm2022}/lib/directives/chip-list/public-api.mjs +0 -0
  330. /package/{esm2020 → esm2022}/lib/directives/draggable-list/index.mjs +0 -0
  331. /package/{esm2020 → esm2022}/lib/directives/draggable-list/public-api.mjs +0 -0
  332. /package/{esm2020 → esm2022}/lib/directives/dropzone/index.mjs +0 -0
  333. /package/{esm2020 → esm2022}/lib/directives/dropzone/public-api.mjs +0 -0
  334. /package/{esm2020 → esm2022}/lib/directives/image-error-placeholder/index.mjs +0 -0
  335. /package/{esm2020 → esm2022}/lib/directives/image-error-placeholder/public-api.mjs +0 -0
  336. /package/{esm2020 → esm2022}/lib/directives/index.mjs +0 -0
  337. /package/{esm2020 → esm2022}/lib/directives/material/index.mjs +0 -0
  338. /package/{esm2020 → esm2022}/lib/directives/material/public-api.mjs +0 -0
  339. /package/{esm2020 → esm2022}/lib/directives/modals/index.mjs +0 -0
  340. /package/{esm2020 → esm2022}/lib/directives/modals/public-api.mjs +0 -0
  341. /package/{esm2020 → esm2022}/lib/directives/public-api.mjs +0 -0
  342. /package/{esm2020 → esm2022}/lib/directives/rerender/index.mjs +0 -0
  343. /package/{esm2020 → esm2022}/lib/directives/rerender/public-api.mjs +0 -0
  344. /package/{esm2020 → esm2022}/lib/directives/resolve/index.mjs +0 -0
  345. /package/{esm2020 → esm2022}/lib/directives/resolve/public-api.mjs +0 -0
  346. /package/{esm2020 → esm2022}/lib/directives/scroll-reset/index.mjs +0 -0
  347. /package/{esm2020 → esm2022}/lib/directives/scroll-reset/public-api.mjs +0 -0
  348. /package/{esm2020 → esm2022}/lib/directives/scrollbar/index.mjs +0 -0
  349. /package/{esm2020 → esm2022}/lib/directives/scrollbar/public-api.mjs +0 -0
  350. /package/{esm2020 → esm2022}/lib/directives/scrollbar/scrollbar.types.mjs +0 -0
  351. /package/{esm2020 → esm2022}/lib/directives/stop-propagation/index.mjs +0 -0
  352. /package/{esm2020 → esm2022}/lib/directives/stop-propagation/public-api.mjs +0 -0
  353. /package/{esm2020 → esm2022}/lib/directives/window/index.mjs +0 -0
  354. /package/{esm2020 → esm2022}/lib/directives/window/public-api.mjs +0 -0
  355. /package/{esm2020 → esm2022}/lib/pipes/index.mjs +0 -0
  356. /package/{esm2020 → esm2022}/lib/pipes/public-api.mjs +0 -0
  357. /package/{esm2020 → esm2022}/lib/providers/config/config.constants.mjs +0 -0
  358. /package/{esm2020 → esm2022}/lib/providers/config/config.model.mjs +0 -0
  359. /package/{esm2020 → esm2022}/lib/providers/config/index.mjs +0 -0
  360. /package/{esm2020 → esm2022}/lib/providers/config/public-api.mjs +0 -0
  361. /package/{esm2020 → esm2022}/lib/providers/index.mjs +0 -0
  362. /package/{esm2020 → esm2022}/lib/providers/media-watcher/index.mjs +0 -0
  363. /package/{esm2020 → esm2022}/lib/providers/media-watcher/public-api.mjs +0 -0
  364. /package/{esm2020 → esm2022}/lib/providers/public-api.mjs +0 -0
  365. /package/{esm2020 → esm2022}/lib/providers/splash-screen/index.mjs +0 -0
  366. /package/{esm2020 → esm2022}/lib/providers/splash-screen/public-api.mjs +0 -0
  367. /package/{esm2020 → esm2022}/lib/providers/utils/index.mjs +0 -0
  368. /package/{esm2020 → esm2022}/lib/providers/utils/public-api.mjs +0 -0
  369. /package/{esm2020 → esm2022}/lib/types/constructor.mjs +0 -0
  370. /package/{esm2020 → esm2022}/lib/utils/array.utils.mjs +0 -0
  371. /package/{esm2020 → esm2022}/lib/utils/case.utils.mjs +0 -0
  372. /package/{esm2020 → esm2022}/lib/utils/colors.utils.mjs +0 -0
  373. /package/{esm2020 → esm2022}/lib/utils/date.utils.mjs +0 -0
  374. /package/{esm2020 → esm2022}/lib/utils/file.utils.mjs +0 -0
  375. /package/{esm2020 → esm2022}/lib/utils/font-awesome.utils.mjs +0 -0
  376. /package/{esm2020 → esm2022}/lib/utils/form-data.utils.mjs +0 -0
  377. /package/{esm2020 → esm2022}/lib/utils/http-status.utils.mjs +0 -0
  378. /package/{esm2020 → esm2022}/lib/utils/index.mjs +0 -0
  379. /package/{esm2020 → esm2022}/lib/utils/keyboard.utils.mjs +0 -0
  380. /package/{esm2020 → esm2022}/lib/utils/lexorank.utils.mjs +0 -0
  381. /package/{esm2020 → esm2022}/lib/utils/modal.utils.mjs +0 -0
  382. /package/{esm2020 → esm2022}/lib/utils/number.utils.mjs +0 -0
  383. /package/{esm2020 → esm2022}/lib/utils/object.utils.mjs +0 -0
  384. /package/{esm2020 → esm2022}/lib/utils/promise.utils.mjs +0 -0
  385. /package/{esm2020 → esm2022}/lib/utils/public-api.mjs +0 -0
  386. /package/{esm2020 → esm2022}/lib/utils/query-params.utils.mjs +0 -0
  387. /package/{esm2020 → esm2022}/lib/utils/type.utils.mjs +0 -0
  388. /package/{esm2020 → esm2022}/lib/utils/url.utils.mjs +0 -0
  389. /package/{esm2020 → esm2022}/public-api.mjs +0 -0
  390. /package/{esm2020 → esm2022}/recursyve-nice-ui-kit.v2.mjs +0 -0
@@ -1,76 +0,0 @@
1
- import { Component, EventEmitter, forwardRef, HostBinding, Input, Output } from "@angular/core";
2
- import { NG_VALUE_ACCESSOR } from "@angular/forms";
3
- import { niceAnimations } from "../../animations";
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/common";
6
- import * as i2 from "@angular/material/button";
7
- import * as i3 from "@angular/material/icon";
8
- import * as i4 from "@angular/forms";
9
- export class NiceSearchBarComponent {
10
- constructor() {
11
- this.collapsed = true;
12
- this.collapse = new EventEmitter();
13
- this.opened = false;
14
- this.propagateChanges = (value) => { };
15
- }
16
- get classList() {
17
- return {
18
- "search-opened": this.opened
19
- };
20
- }
21
- toggleCollapsed() {
22
- this.collapsed = !this.collapsed;
23
- this.collapse.emit(this.collapsed);
24
- }
25
- registerOnChange(fn) {
26
- this.propagateChanges = fn;
27
- }
28
- registerOnTouched(fn) {
29
- // NO-OP
30
- }
31
- writeValue(value) {
32
- this.searchValue = value;
33
- }
34
- onSearchChange(value) {
35
- this.propagateChanges(value);
36
- }
37
- open() {
38
- if (this.opened) {
39
- return;
40
- }
41
- this.opened = true;
42
- }
43
- close() {
44
- if (!this.opened) {
45
- return;
46
- }
47
- this.searchValue = "";
48
- this.opened = false;
49
- }
50
- }
51
- NiceSearchBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NiceSearchBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
52
- NiceSearchBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: NiceSearchBarComponent, selector: "nice-search-bar", inputs: { collapsed: "collapsed" }, outputs: { collapse: "collapse" }, host: { properties: { "class": "this.classList" } }, providers: [
53
- {
54
- provide: NG_VALUE_ACCESSOR,
55
- useExisting: forwardRef(() => NiceSearchBarComponent),
56
- multi: true
57
- }
58
- ], ngImport: i0, template: "<button mat-icon-button *ngIf=\"!opened\" (click)=\"open()\">\n <mat-icon [svgIcon]=\"'heroicons_outline:search'\"></mat-icon>\n</button>\n\n<div class=\"absolute inset-0 flex items-center flex-shrink-0 z-99 bg-default\" *ngIf=\"opened\" @slideInTop @slideOutTop >\n <mat-icon class=\"absolute ml-6 sm:ml-8\" [svgIcon]=\"'heroicons_outline:search'\"></mat-icon>\n <input class=\"w-full h-full px-16 sm:px-18 bg-transparent\" [ngModel]=\"searchValue\" (ngModelChange)=\"onSearchChange($event)\">\n <button class=\"absolute top-1/2 right-5 sm:right-7 flex-shrink-0 w-10 h-10 -mt-5\" mat-icon-button (click)=\"close()\">\n <mat-icon [svgIcon]=\"'heroicons_outline:x'\"></mat-icon>\n </button>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i4.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: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], animations: niceAnimations });
59
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NiceSearchBarComponent, decorators: [{
60
- type: Component,
61
- args: [{ selector: "nice-search-bar", providers: [
62
- {
63
- provide: NG_VALUE_ACCESSOR,
64
- useExisting: forwardRef(() => NiceSearchBarComponent),
65
- multi: true
66
- }
67
- ], animations: niceAnimations, template: "<button mat-icon-button *ngIf=\"!opened\" (click)=\"open()\">\n <mat-icon [svgIcon]=\"'heroicons_outline:search'\"></mat-icon>\n</button>\n\n<div class=\"absolute inset-0 flex items-center flex-shrink-0 z-99 bg-default\" *ngIf=\"opened\" @slideInTop @slideOutTop >\n <mat-icon class=\"absolute ml-6 sm:ml-8\" [svgIcon]=\"'heroicons_outline:search'\"></mat-icon>\n <input class=\"w-full h-full px-16 sm:px-18 bg-transparent\" [ngModel]=\"searchValue\" (ngModelChange)=\"onSearchChange($event)\">\n <button class=\"absolute top-1/2 right-5 sm:right-7 flex-shrink-0 w-10 h-10 -mt-5\" mat-icon-button (click)=\"close()\">\n <mat-icon [svgIcon]=\"'heroicons_outline:x'\"></mat-icon>\n </button>\n</div>\n" }]
68
- }], propDecorators: { collapsed: [{
69
- type: Input
70
- }], collapse: [{
71
- type: Output
72
- }], classList: [{
73
- type: HostBinding,
74
- args: ["class"]
75
- }] } });
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uaWNlLXVpLWtpdC12Mi9zcmMvbGliL2NvbXBvbmVudHMvc2VhcmNoLWJhci9zZWFyY2gtYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtdWkta2l0LXYyL3NyYy9saWIvY29tcG9uZW50cy9zZWFyY2gtYmFyL3NlYXJjaC1iYXIudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEcsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7O0FBY2xELE1BQU0sT0FBTyxzQkFBc0I7SUFabkM7UUFjVyxjQUFTLEdBQUcsSUFBSSxDQUFDO1FBR2pCLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBR3ZDLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFFZCxxQkFBZ0IsR0FBRyxDQUFDLEtBQWEsRUFBRSxFQUFFLEdBQUUsQ0FBQyxDQUFDO0tBOENwRDtJQTVDRyxJQUNXLFNBQVM7UUFDaEIsT0FBTztZQUNILGVBQWUsRUFBRSxJQUFJLENBQUMsTUFBTTtTQUMvQixDQUFDO0lBQ04sQ0FBQztJQUVNLGVBQWU7UUFDbEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDakMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxFQUEyQjtRQUMvQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxFQUFPO1FBQzVCLFFBQVE7SUFDWixDQUFDO0lBRU0sVUFBVSxDQUFDLEtBQWE7UUFDM0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDN0IsQ0FBQztJQUVNLGNBQWMsQ0FBQyxLQUFhO1FBQy9CLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRU0sSUFBSTtRQUNQLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNiLE9BQU87U0FDVjtRQUVELElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO0lBQ3ZCLENBQUM7SUFFTSxLQUFLO1FBQ1IsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDZCxPQUFPO1NBQ1Y7UUFFRCxJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN4QixDQUFDOzttSEF2RFEsc0JBQXNCO3VHQUF0QixzQkFBc0Isc0tBVHBCO1FBQ1A7WUFDSSxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsc0JBQXNCLENBQUM7WUFDckQsS0FBSyxFQUFFLElBQUk7U0FDZDtLQUNKLDBCQ2JMLG10QkFXQSxvZ0NER2dCLGNBQWM7MkZBRWpCLHNCQUFzQjtrQkFabEMsU0FBUzsrQkFDSSxpQkFBaUIsYUFFaEI7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsdUJBQXVCLENBQUM7NEJBQ3JELEtBQUssRUFBRSxJQUFJO3lCQUNkO3FCQUNKLGNBQ1csY0FBYzs4QkFJbkIsU0FBUztzQkFEZixLQUFLO2dCQUlDLFFBQVE7c0JBRGQsTUFBTTtnQkFTSSxTQUFTO3NCQURuQixXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgZm9yd2FyZFJlZiwgSG9zdEJpbmRpbmcsIElucHV0LCBPdXRwdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBuaWNlQW5pbWF0aW9ucyB9IGZyb20gXCIuLi8uLi9hbmltYXRpb25zXCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBcIm5pY2Utc2VhcmNoLWJhclwiLFxuICAgIHRlbXBsYXRlVXJsOiBcIi4vc2VhcmNoLWJhci50ZW1wbGF0ZS5odG1sXCIsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTmljZVNlYXJjaEJhckNvbXBvbmVudCksXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZVxuICAgICAgICB9XG4gICAgXSxcbiAgICBhbmltYXRpb25zOiBuaWNlQW5pbWF0aW9uc1xufSlcbmV4cG9ydCBjbGFzcyBOaWNlU2VhcmNoQmFyQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGNvbGxhcHNlZCA9IHRydWU7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgY29sbGFwc2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICBwdWJsaWMgc2VhcmNoVmFsdWU6IHN0cmluZztcbiAgICBwdWJsaWMgb3BlbmVkID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIHByb3BhZ2F0ZUNoYW5nZXMgPSAodmFsdWU6IHN0cmluZykgPT4ge307XG5cbiAgICBASG9zdEJpbmRpbmcoXCJjbGFzc1wiKVxuICAgIHB1YmxpYyBnZXQgY2xhc3NMaXN0KCk6IGFueSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBcInNlYXJjaC1vcGVuZWRcIjogdGhpcy5vcGVuZWRcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdG9nZ2xlQ29sbGFwc2VkKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbGxhcHNlZCA9ICF0aGlzLmNvbGxhcHNlZDtcbiAgICAgICAgdGhpcy5jb2xsYXBzZS5lbWl0KHRoaXMuY29sbGFwc2VkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBzdHJpbmcpID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2VzID0gZm47XG4gICAgfVxuXG4gICAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgLy8gTk8tT1BcbiAgICB9XG5cbiAgICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VhcmNoVmFsdWUgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25TZWFyY2hDaGFuZ2UodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZXModmFsdWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvcGVuKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5vcGVuZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMub3BlbmVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2xvc2UoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5vcGVuZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc2VhcmNoVmFsdWUgPSBcIlwiO1xuICAgICAgICB0aGlzLm9wZW5lZCA9IGZhbHNlO1xuICAgIH1cbn1cbiIsIjxidXR0b24gbWF0LWljb24tYnV0dG9uICpuZ0lmPVwiIW9wZW5lZFwiIChjbGljayk9XCJvcGVuKClcIj5cbiAgICA8bWF0LWljb24gW3N2Z0ljb25dPVwiJ2hlcm9pY29uc19vdXRsaW5lOnNlYXJjaCdcIj48L21hdC1pY29uPlxuPC9idXR0b24+XG5cbjxkaXYgY2xhc3M9XCJhYnNvbHV0ZSBpbnNldC0wIGZsZXggaXRlbXMtY2VudGVyIGZsZXgtc2hyaW5rLTAgei05OSBiZy1kZWZhdWx0XCIgKm5nSWY9XCJvcGVuZWRcIiBAc2xpZGVJblRvcCBAc2xpZGVPdXRUb3AgPlxuICAgIDxtYXQtaWNvbiBjbGFzcz1cImFic29sdXRlIG1sLTYgc206bWwtOFwiIFtzdmdJY29uXT1cIidoZXJvaWNvbnNfb3V0bGluZTpzZWFyY2gnXCI+PC9tYXQtaWNvbj5cbiAgICA8aW5wdXQgY2xhc3M9XCJ3LWZ1bGwgaC1mdWxsIHB4LTE2IHNtOnB4LTE4IGJnLXRyYW5zcGFyZW50XCIgW25nTW9kZWxdPVwic2VhcmNoVmFsdWVcIiAobmdNb2RlbENoYW5nZSk9XCJvblNlYXJjaENoYW5nZSgkZXZlbnQpXCI+XG4gICAgPGJ1dHRvbiBjbGFzcz1cImFic29sdXRlIHRvcC0xLzIgcmlnaHQtNSBzbTpyaWdodC03IGZsZXgtc2hyaW5rLTAgdy0xMCBoLTEwIC1tdC01XCIgbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJjbG9zZSgpXCI+XG4gICAgICAgIDxtYXQtaWNvbiBbc3ZnSWNvbl09XCInaGVyb2ljb25zX291dGxpbmU6eCdcIj48L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
@@ -1,134 +0,0 @@
1
- import { Component, ContentChildren, EventEmitter, forwardRef, HostListener, Input, Output, QueryList, ViewEncapsulation } from "@angular/core";
2
- import { NG_VALUE_ACCESSOR } from "@angular/forms";
3
- import { ToggleButtonComponent } from "./toggle-button.component";
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/common";
6
- import * as i2 from "@angular/material/core";
7
- export class ToggleButtonGroupComponent {
8
- constructor() {
9
- this._multiple = false;
10
- this.selectedChange = new EventEmitter();
11
- this.defaultColor = "accent";
12
- }
13
- set multiple(multiple) {
14
- if (multiple === this._multiple) {
15
- return;
16
- }
17
- if (multiple) {
18
- if (this.selected) {
19
- this.selected = [this.selected];
20
- }
21
- else {
22
- this.selected = [];
23
- }
24
- }
25
- else {
26
- if (this.selected) {
27
- this.selected = this.selected[0];
28
- }
29
- }
30
- this._multiple = multiple;
31
- }
32
- onBlur() {
33
- this.onTouched();
34
- }
35
- writeValue(value) {
36
- if (!value) {
37
- return;
38
- }
39
- this.selected = value;
40
- }
41
- registerOnChange(fn) {
42
- this.onChange = fn;
43
- }
44
- registerOnTouched(fn) {
45
- this.onTouched = fn;
46
- }
47
- onSelect(value) {
48
- if (this._multiple) {
49
- if (this.selected) {
50
- const index = this.selected.findIndex(x => x === value);
51
- if (index < 0) {
52
- this.selected.push(value);
53
- }
54
- else {
55
- this.selected.splice(index, 1);
56
- }
57
- }
58
- else {
59
- this.selected = [value];
60
- }
61
- }
62
- else {
63
- this.selected = value;
64
- }
65
- this.onChange?.(this.selected);
66
- this.selectedChange?.emit(this.selected);
67
- }
68
- conditionalColorObj(value) {
69
- const colorClass = this.color ?? this.defaultColor;
70
- const isActive = this._multiple ? this.selected.includes(value) : this.selected === value;
71
- const obj = {};
72
- obj.selected = isActive;
73
- obj[`bg-${colorClass}`] = isActive;
74
- obj[`bg-selected-${colorClass}`] = isActive;
75
- obj["left-selected"] = this.isLeftValueSelected(value);
76
- obj["right-selected"] = this.isRightValueSelected(value);
77
- return obj;
78
- }
79
- isLeftValueSelected(value) {
80
- if (!this._multiple || !this.selected.includes(value)) {
81
- return false;
82
- }
83
- const values = this.toggleButtons.map(btn => btn.value);
84
- const index = values.indexOf(value);
85
- if (index <= 0) {
86
- return false;
87
- }
88
- return this.selected.includes(values[index - 1]);
89
- }
90
- isRightValueSelected(value) {
91
- if (!this._multiple) {
92
- return false;
93
- }
94
- const values = this.toggleButtons.map(btn => btn.value);
95
- const index = values.indexOf(value);
96
- if (index === -1 || index === values.length - 1) {
97
- return false;
98
- }
99
- return this.selected.includes(values[index + 1]);
100
- }
101
- }
102
- ToggleButtonGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ToggleButtonGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
103
- ToggleButtonGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: ToggleButtonGroupComponent, selector: "nice-toggle-button-group", inputs: { selected: "selected", color: "color", multiple: "multiple" }, outputs: { selectedChange: "selectedChange" }, host: { listeners: { "blur": "onBlur()" } }, providers: [
104
- {
105
- provide: NG_VALUE_ACCESSOR,
106
- useExisting: forwardRef(() => ToggleButtonGroupComponent),
107
- multi: true
108
- }
109
- ], queries: [{ propertyName: "toggleButtons", predicate: ToggleButtonComponent }], ngImport: i0, template: "<div class=\"toggle-button-group-wrapper\">\n <div class=\"toggle-button-group flex flex-row items-center\">\n <div\n class=\"toggle-button\"\n [ngClass]=\"conditionalColorObj(btn.value)\"\n *ngFor=\"let btn of toggleButtons\"\n >\n <div matRipple class=\"toggle-button-inner flex place-content-center items-center\" (click)=\"onSelect(btn.value)\">\n <ng-container *ngTemplateOutlet=\"btn.content\"></ng-container>\n </div>\n </div>\n </div>\n</div>\n", styles: ["nice-toggle-button-group{overflow-x:scroll;height:54px}nice-toggle-button-group .toggle-button-group-wrapper{position:relative}nice-toggle-button-group .toggle-button-group-wrapper .toggle-button-group{place-content:center flex-start;position:absolute;width:max-content;-webkit-user-select:none;user-select:none;height:44px;border-radius:12px;cursor:pointer}nice-toggle-button-group .toggle-button-group-wrapper .toggle-button-group .toggle-button{border-radius:12px;width:100px;min-width:100px;height:44px;overflow:hidden}nice-toggle-button-group .toggle-button-group-wrapper .toggle-button-group .toggle-button .toggle-button-inner{border-radius:12px;min-height:100%;max-height:100%;height:100%;width:100%;overflow:hidden;text-overflow:ellipsis}nice-toggle-button-group .toggle-button-group-wrapper .toggle-button-group .toggle-button.left-selected{border-top-left-radius:0!important;border-bottom-left-radius:0!important}nice-toggle-button-group .toggle-button-group-wrapper .toggle-button-group .toggle-button.right-selected{border-top-right-radius:0!important;border-bottom-right-radius:0!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }], encapsulation: i0.ViewEncapsulation.None });
110
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ToggleButtonGroupComponent, decorators: [{
111
- type: Component,
112
- args: [{ selector: "nice-toggle-button-group", encapsulation: ViewEncapsulation.None, providers: [
113
- {
114
- provide: NG_VALUE_ACCESSOR,
115
- useExisting: forwardRef(() => ToggleButtonGroupComponent),
116
- multi: true
117
- }
118
- ], template: "<div class=\"toggle-button-group-wrapper\">\n <div class=\"toggle-button-group flex flex-row items-center\">\n <div\n class=\"toggle-button\"\n [ngClass]=\"conditionalColorObj(btn.value)\"\n *ngFor=\"let btn of toggleButtons\"\n >\n <div matRipple class=\"toggle-button-inner flex place-content-center items-center\" (click)=\"onSelect(btn.value)\">\n <ng-container *ngTemplateOutlet=\"btn.content\"></ng-container>\n </div>\n </div>\n </div>\n</div>\n", styles: ["nice-toggle-button-group{overflow-x:scroll;height:54px}nice-toggle-button-group .toggle-button-group-wrapper{position:relative}nice-toggle-button-group .toggle-button-group-wrapper .toggle-button-group{place-content:center flex-start;position:absolute;width:max-content;-webkit-user-select:none;user-select:none;height:44px;border-radius:12px;cursor:pointer}nice-toggle-button-group .toggle-button-group-wrapper .toggle-button-group .toggle-button{border-radius:12px;width:100px;min-width:100px;height:44px;overflow:hidden}nice-toggle-button-group .toggle-button-group-wrapper .toggle-button-group .toggle-button .toggle-button-inner{border-radius:12px;min-height:100%;max-height:100%;height:100%;width:100%;overflow:hidden;text-overflow:ellipsis}nice-toggle-button-group .toggle-button-group-wrapper .toggle-button-group .toggle-button.left-selected{border-top-left-radius:0!important;border-bottom-left-radius:0!important}nice-toggle-button-group .toggle-button-group-wrapper .toggle-button-group .toggle-button.right-selected{border-top-right-radius:0!important;border-bottom-right-radius:0!important}\n"] }]
119
- }], propDecorators: { toggleButtons: [{
120
- type: ContentChildren,
121
- args: [ToggleButtonComponent]
122
- }], selected: [{
123
- type: Input
124
- }], color: [{
125
- type: Input
126
- }], selectedChange: [{
127
- type: Output
128
- }], multiple: [{
129
- type: Input
130
- }], onBlur: [{
131
- type: HostListener,
132
- args: ["blur"]
133
- }] } });
134
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLWJ1dHRvbi1ncm91cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uaWNlLXVpLWtpdC12Mi9zcmMvbGliL2NvbXBvbmVudHMvdG9nZ2xlLWJ1dHRvbi1ncm91cC90b2dnbGUtYnV0dG9uLWdyb3VwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtdWkta2l0LXYyL3NyYy9saWIvY29tcG9uZW50cy90b2dnbGUtYnV0dG9uLWdyb3VwL3RvZ2dsZS1idXR0b24tZ3JvdXAudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsU0FBUyxFQUNULGVBQWUsRUFDZixZQUFZLEVBQ1osVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBQUUsTUFBTSxFQUNiLFNBQVMsRUFDVCxpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7QUFpQmxFLE1BQU0sT0FBTywwQkFBMEI7SUFidkM7UUFjWSxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBWW5CLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQTZCLENBQUM7UUFFL0QsaUJBQVksR0FBaUIsUUFBUSxDQUFDO0tBNEdoRDtJQTFHRyxJQUNXLFFBQVEsQ0FBQyxRQUFpQjtRQUNqQyxJQUFJLFFBQVEsS0FBSyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQzdCLE9BQU87U0FDVjtRQUVELElBQUksUUFBUSxFQUFFO1lBQ1YsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUNmLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDbkM7aUJBQU07Z0JBQ0gsSUFBSSxDQUFD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QixpQkFHckIsaUJBQWlCLENBQUMsSUFBSSxhQUMxQjt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSwyQkFBMkIsQ0FBQzs0QkFDekQsS0FBSyxFQUFFLElBQUk7eUJBQ2Q7cUJBQ0o7OEJBTU0sYUFBYTtzQkFEbkIsZUFBZTt1QkFBQyxxQkFBcUI7Z0JBSS9CLFFBQVE7c0JBRGQsS0FBSztnQkFJQyxLQUFLO3NCQURYLEtBQUs7Z0JBSUMsY0FBYztzQkFEcEIsTUFBTTtnQkFNSSxRQUFRO3NCQURsQixLQUFLO2dCQXdCQyxNQUFNO3NCQURaLFlBQVk7dUJBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgZm9yd2FyZFJlZixcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5wdXQsIE91dHB1dCxcbiAgICBRdWVyeUxpc3QsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBDYW5Db2xvciwgVGhlbWVQYWxldHRlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2NvcmVcIjtcbmltcG9ydCB7IFRvZ2dsZUJ1dHRvbkNvbXBvbmVudCB9IGZyb20gXCIuL3RvZ2dsZS1idXR0b24uY29tcG9uZW50XCI7XG5cbmV4cG9ydCB0eXBlIFRvZ2dsZUJ1dHRvbkdyb3VwRGF0YVR5cGUgPSBhbnkgfCBhbnlbXTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IFwibmljZS10b2dnbGUtYnV0dG9uLWdyb3VwXCIsXG4gICAgdGVtcGxhdGVVcmw6IFwidG9nZ2xlLWJ1dHRvbi1ncm91cC50ZW1wbGF0ZS5odG1sXCIsXG4gICAgc3R5bGVVcmxzOiBbXCJ0b2dnbGUtYnV0dG9uLWdyb3VwLnN0eWxlLnNjc3NcIl0sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUb2dnbGVCdXR0b25Hcm91cENvbXBvbmVudCksXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZVxuICAgICAgICB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBUb2dnbGVCdXR0b25Hcm91cENvbXBvbmVudCBpbXBsZW1lbnRzIENhbkNvbG9yIHtcbiAgICBwcml2YXRlIF9tdWx0aXBsZSA9IGZhbHNlO1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihUb2dnbGVCdXR0b25Db21wb25lbnQpXG4gICAgcHVibGljIHRvZ2dsZUJ1dHRvbnM6IFF1ZXJ5TGlzdDxUb2dnbGVCdXR0b25Db21wb25lbnQ+O1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2VsZWN0ZWQ6IFRvZ2dsZUJ1dHRvbkdyb3VwRGF0YVR5cGU7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBjb2xvcjogVGhlbWVQYWxldHRlO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHNlbGVjdGVkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxUb2dnbGVCdXR0b25Hcm91cERhdGFUeXBlPigpO1xuXG4gICAgcHVibGljIGRlZmF1bHRDb2xvcjogVGhlbWVQYWxldHRlID0gXCJhY2NlbnRcIjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCBtdWx0aXBsZShtdWx0aXBsZTogYm9vbGVhbikge1xuICAgICAgICBpZiAobXVsdGlwbGUgPT09IHRoaXMuX211bHRpcGxlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAobXVsdGlwbGUpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnNlbGVjdGVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZCA9IFt0aGlzLnNlbGVjdGVkXTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZCA9IFtdO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkID0gdGhpcy5zZWxlY3RlZFswXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9tdWx0aXBsZSA9IG11bHRpcGxlO1xuICAgIH1cblxuICAgIHByaXZhdGUgb25Ub3VjaGVkOiAoKSA9PiB2b2lkO1xuICAgIHByaXZhdGUgb25DaGFuZ2U6IChzZWxlY3RlZDogVG9nZ2xlQnV0dG9uR3JvdXBEYXRhVHlwZSkgPT4gdm9pZDtcblxuICAgIEBIb3N0TGlzdGVuZXIoXCJibHVyXCIpXG4gICAgcHVibGljIG9uQmx1cigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogVG9nZ2xlQnV0dG9uR3JvdXBEYXRhVHlwZSk6IHZvaWQge1xuICAgICAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNlbGVjdGVkID0gdmFsdWU7XG4gICAgfVxuXG4gICAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46IChjb2xvcjogc3RyaW5nKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25TZWxlY3QodmFsdWU6IGFueSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fbXVsdGlwbGUpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnNlbGVjdGVkKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLnNlbGVjdGVkLmZpbmRJbmRleCh4ID0+IHggPT09IHZhbHVlKTtcbiAgICAgICAgICAgICAgICBpZiAoaW5kZXggPCAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWQucHVzaCh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZC5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZCA9IFt2YWx1ZV07XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkID0gdmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5vbkNoYW5nZT8uKHRoaXMuc2VsZWN0ZWQpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkQ2hhbmdlPy5lbWl0KHRoaXMuc2VsZWN0ZWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjb25kaXRpb25hbENvbG9yT2JqKHZhbHVlOiBhbnkpOiBhbnkge1xuICAgICAgICBjb25zdCBjb2xvckNsYXNzID0gdGhpcy5jb2xvciA/PyB0aGlzLmRlZmF1bHRDb2xvcjtcbiAgICAgICAgY29uc3QgaXNBY3RpdmUgPSB0aGlzLl9tdWx0aXBsZSA/IHRoaXMuc2VsZWN0ZWQuaW5jbHVkZXModmFsdWUpIDogdGhpcy5zZWxlY3RlZCA9PT0gdmFsdWU7XG5cbiAgICAgICAgY29uc3Qgb2JqID0ge30gYXMgYW55O1xuICAgICAgICBvYmouc2VsZWN0ZWQgPSBpc0FjdGl2ZTtcbiAgICAgICAgb2JqW2BiZy0ke2NvbG9yQ2xhc3N9YF0gPSBpc0FjdGl2ZTtcbiAgICAgICAgb2JqW2BiZy1zZWxlY3RlZC0ke2NvbG9yQ2xhc3N9YF0gPSBpc0FjdGl2ZTtcbiAgICAgICAgb2JqW1wibGVmdC1zZWxlY3RlZFwiXSA9IHRoaXMuaXNMZWZ0VmFsdWVTZWxlY3RlZCh2YWx1ZSk7XG4gICAgICAgIG9ialtcInJpZ2h0LXNlbGVjdGVkXCJdID0gdGhpcy5pc1JpZ2h0VmFsdWVTZWxlY3RlZCh2YWx1ZSk7XG5cbiAgICAgICAgcmV0dXJuIG9iajtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzTGVmdFZhbHVlU2VsZWN0ZWQodmFsdWU6IGFueSk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoIXRoaXMuX211bHRpcGxlIHx8ICF0aGlzLnNlbGVjdGVkLmluY2x1ZGVzKHZhbHVlKSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdmFsdWVzID0gdGhpcy50b2dnbGVCdXR0b25zLm1hcChidG4gPT4gYnRuLnZhbHVlKTtcbiAgICAgICAgY29uc3QgaW5kZXggPSB2YWx1ZXMuaW5kZXhPZih2YWx1ZSk7XG5cbiAgICAgICAgaWYgKGluZGV4IDw9IDApIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLnNlbGVjdGVkLmluY2x1ZGVzKHZhbHVlc1tpbmRleCAtIDFdKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzUmlnaHRWYWx1ZVNlbGVjdGVkKHZhbHVlOiBhbnkpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCF0aGlzLl9tdWx0aXBsZSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdmFsdWVzID0gdGhpcy50b2dnbGVCdXR0b25zLm1hcChidG4gPT4gYnRuLnZhbHVlKTtcbiAgICAgICAgY29uc3QgaW5kZXggPSB2YWx1ZXMuaW5kZXhPZih2YWx1ZSk7XG5cbiAgICAgICAgaWYgKGluZGV4ID09PSAtMSB8fCBpbmRleCA9PT0gdmFsdWVzLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLnNlbGVjdGVkLmluY2x1ZGVzKHZhbHVlc1tpbmRleCArIDFdKTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwidG9nZ2xlLWJ1dHRvbi1ncm91cC13cmFwcGVyXCI+XG4gICAgPGRpdiBjbGFzcz1cInRvZ2dsZS1idXR0b24tZ3JvdXAgZmxleCBmbGV4LXJvdyBpdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidG9nZ2xlLWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiY29uZGl0aW9uYWxDb2xvck9iaihidG4udmFsdWUpXCJcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgYnRuIG9mIHRvZ2dsZUJ1dHRvbnNcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2IG1hdFJpcHBsZSBjbGFzcz1cInRvZ2dsZS1idXR0b24taW5uZXIgZmxleCBwbGFjZS1jb250ZW50LWNlbnRlciBpdGVtcy1jZW50ZXJcIiAoY2xpY2spPVwib25TZWxlY3QoYnRuLnZhbHVlKVwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJidG4uY29udGVudFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -1,38 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, Input, } from "@angular/core";
2
- import { MatFormFieldControl } from "@angular/material/form-field";
3
- import { TranslationFormComponent } from "../translation-form.component";
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/material/input";
6
- import * as i2 from "@angular/forms";
7
- import * as i3 from "@angular/common";
8
- export class TranslationFormTextareaComponent extends TranslationFormComponent {
9
- constructor() {
10
- super(...arguments);
11
- this.resizable = true;
12
- this.rows = 2;
13
- this.cols = 20;
14
- }
15
- }
16
- TranslationFormTextareaComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TranslationFormTextareaComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
17
- TranslationFormTextareaComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: TranslationFormTextareaComponent, selector: "nice-translation-form-textarea", inputs: { resizable: "resizable", rows: "rows", cols: "cols" }, providers: [
18
- {
19
- provide: MatFormFieldControl,
20
- useExisting: TranslationFormTextareaComponent,
21
- },
22
- ], usesInheritance: true, ngImport: i0, template: "<textarea\n *ngIf=\"currentControl\"\n matInput\n [formControl]=\"currentControl\"\n [placeholder]=\"placeholder\"\n [maxlength]=\"maxLength\"\n [rows]=\"rows\"\n [cols]=\"cols\"\n [class.resize-none]=\"!resizable\"\n></textarea>\n", dependencies: [{ kind: "directive", type: i1.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: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TranslationFormTextareaComponent, decorators: [{
24
- type: Component,
25
- args: [{ selector: "nice-translation-form-textarea", changeDetection: ChangeDetectionStrategy.OnPush, providers: [
26
- {
27
- provide: MatFormFieldControl,
28
- useExisting: TranslationFormTextareaComponent,
29
- },
30
- ], template: "<textarea\n *ngIf=\"currentControl\"\n matInput\n [formControl]=\"currentControl\"\n [placeholder]=\"placeholder\"\n [maxlength]=\"maxLength\"\n [rows]=\"rows\"\n [cols]=\"cols\"\n [class.resize-none]=\"!resizable\"\n></textarea>\n" }]
31
- }], propDecorators: { resizable: [{
32
- type: Input
33
- }], rows: [{
34
- type: Input
35
- }], cols: [{
36
- type: Input
37
- }] } });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24tZm9ybS10ZXh0YXJlYS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uaWNlLXVpLWtpdC12Mi9zcmMvbGliL2NvbXBvbmVudHMvdHJhbnNsYXRpb24tZm9ybS9jb21wb25lbnRzL3RleHRhcmVhL3RyYW5zbGF0aW9uLWZvcm0tdGV4dGFyZWEuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmljZS11aS1raXQtdjIvc3JjL2xpYi9jb21wb25lbnRzL3RyYW5zbGF0aW9uLWZvcm0vY29tcG9uZW50cy90ZXh0YXJlYS90cmFuc2xhdGlvbi1mb3JtLXRleHRhcmVhLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxHQUNSLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ25FLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7OztBQWF6RSxNQUFNLE9BQU8sZ0NBQWlDLFNBQVEsd0JBQXdCO0lBWDlFOztRQWFXLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFHakIsU0FBSSxHQUFHLENBQUMsQ0FBQztRQUdULFNBQUksR0FBRyxFQUFFLENBQUM7S0FDcEI7OzZIQVRZLGdDQUFnQztpSEFBaEMsZ0NBQWdDLHlIQVA5QjtRQUNQO1lBQ0ksT0FBTyxFQUFFLG1CQUFtQjtZQUM1QixXQUFXLEVBQUUsZ0NBQWdDO1NBQ2hEO0tBQ0osaURDakJMLGlRQVVBOzJGRFNhLGdDQUFnQztrQkFYNUMsU0FBUzsrQkFDSSxnQ0FBZ0MsbUJBRXpCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLG1CQUFtQjs0QkFDNUIsV0FBVyxrQ0FBa0M7eUJBQ2hEO3FCQUNKOzhCQUlNLFNBQVM7c0JBRGYsS0FBSztnQkFJQyxJQUFJO3NCQURWLEtBQUs7Z0JBSUMsSUFBSTtzQkFEVixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgSW5wdXQsXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRDb250cm9sIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGRcIjtcbmltcG9ydCB7IFRyYW5zbGF0aW9uRm9ybUNvbXBvbmVudCB9IGZyb20gXCIuLi90cmFuc2xhdGlvbi1mb3JtLmNvbXBvbmVudFwiO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogXCJuaWNlLXRyYW5zbGF0aW9uLWZvcm0tdGV4dGFyZWFcIixcbiAgICB0ZW1wbGF0ZVVybDogXCJ0cmFuc2xhdGlvbi1mb3JtLXRleHRhcmVhLnRlbXBsYXRlLmh0bWxcIixcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTWF0Rm9ybUZpZWxkQ29udHJvbCxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBUcmFuc2xhdGlvbkZvcm1UZXh0YXJlYUNvbXBvbmVudCxcbiAgICAgICAgfSxcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIFRyYW5zbGF0aW9uRm9ybVRleHRhcmVhQ29tcG9uZW50IGV4dGVuZHMgVHJhbnNsYXRpb25Gb3JtQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyByZXNpemFibGUgPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcm93cyA9IDI7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBjb2xzID0gMjA7XG59XG4iLCI8dGV4dGFyZWFcbiAgICAqbmdJZj1cImN1cnJlbnRDb250cm9sXCJcbiAgICBtYXRJbnB1dFxuICAgIFtmb3JtQ29udHJvbF09XCJjdXJyZW50Q29udHJvbFwiXG4gICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICBbbWF4bGVuZ3RoXT1cIm1heExlbmd0aFwiXG4gICAgW3Jvd3NdPVwicm93c1wiXG4gICAgW2NvbHNdPVwiY29sc1wiXG4gICAgW2NsYXNzLnJlc2l6ZS1ub25lXT1cIiFyZXNpemFibGVcIlxuPjwvdGV4dGFyZWE+XG4iXX0=
@@ -1,26 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, } from "@angular/core";
2
- import { MatFormFieldControl } from "@angular/material/form-field";
3
- import { TranslationFormComponent } from "../translation-form.component";
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/material/input";
6
- import * as i2 from "@angular/forms";
7
- import * as i3 from "@angular/common";
8
- export class TranslationFormTextfieldComponent extends TranslationFormComponent {
9
- }
10
- TranslationFormTextfieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TranslationFormTextfieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
11
- TranslationFormTextfieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: TranslationFormTextfieldComponent, selector: "nice-translation-form-textfield", providers: [
12
- {
13
- provide: MatFormFieldControl,
14
- useExisting: TranslationFormTextfieldComponent,
15
- },
16
- ], usesInheritance: true, ngImport: i0, template: "<input\n matInput\n *ngIf=\"currentControl\"\n [formControl]=\"currentControl\"\n [placeholder]=\"placeholder\"\n [maxlength]=\"maxLength\"\n/>\n", dependencies: [{ kind: "directive", type: i1.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: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TranslationFormTextfieldComponent, decorators: [{
18
- type: Component,
19
- args: [{ selector: "nice-translation-form-textfield", changeDetection: ChangeDetectionStrategy.OnPush, providers: [
20
- {
21
- provide: MatFormFieldControl,
22
- useExisting: TranslationFormTextfieldComponent,
23
- },
24
- ], template: "<input\n matInput\n *ngIf=\"currentControl\"\n [formControl]=\"currentControl\"\n [placeholder]=\"placeholder\"\n [maxlength]=\"maxLength\"\n/>\n" }]
25
- }] });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24tZm9ybS10ZXh0ZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmljZS11aS1raXQtdjIvc3JjL2xpYi9jb21wb25lbnRzL3RyYW5zbGF0aW9uLWZvcm0vY29tcG9uZW50cy90ZXh0ZmllbGQvdHJhbnNsYXRpb24tZm9ybS10ZXh0ZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmljZS11aS1raXQtdjIvc3JjL2xpYi9jb21wb25lbnRzL3RyYW5zbGF0aW9uLWZvcm0vY29tcG9uZW50cy90ZXh0ZmllbGQvdHJhbnNsYXRpb24tZm9ybS10ZXh0ZmllbGQudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7QUFhekUsTUFBTSxPQUFPLGlDQUFrQyxTQUFRLHdCQUF3Qjs7OEhBQWxFLGlDQUFpQztrSEFBakMsaUNBQWlDLDBEQVAvQjtRQUNQO1lBQ0ksT0FBTyxFQUFFLG1CQUFtQjtZQUM1QixXQUFXLEVBQUUsaUNBQWlDO1NBQ2pEO0tBQ0osaURDaEJMLGtLQU9BOzJGRFdhLGlDQUFpQztrQkFYN0MsU0FBUzsrQkFDSSxpQ0FBaUMsbUJBRTFCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLG1CQUFtQjs0QkFDNUIsV0FBVyxtQ0FBbUM7eUJBQ2pEO3FCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRDb250cm9sIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGRcIjtcbmltcG9ydCB7IFRyYW5zbGF0aW9uRm9ybUNvbXBvbmVudCB9IGZyb20gXCIuLi90cmFuc2xhdGlvbi1mb3JtLmNvbXBvbmVudFwiO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogXCJuaWNlLXRyYW5zbGF0aW9uLWZvcm0tdGV4dGZpZWxkXCIsXG4gICAgdGVtcGxhdGVVcmw6IFwidHJhbnNsYXRpb24tZm9ybS10ZXh0ZmllbGQudGVtcGxhdGUuaHRtbFwiLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBNYXRGb3JtRmllbGRDb250cm9sLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IFRyYW5zbGF0aW9uRm9ybVRleHRmaWVsZENvbXBvbmVudCxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUcmFuc2xhdGlvbkZvcm1UZXh0ZmllbGRDb21wb25lbnQgZXh0ZW5kcyBUcmFuc2xhdGlvbkZvcm1Db21wb25lbnQge31cbiIsIjxpbnB1dFxuICAgIG1hdElucHV0XG4gICAgKm5nSWY9XCJjdXJyZW50Q29udHJvbFwiXG4gICAgW2Zvcm1Db250cm9sXT1cImN1cnJlbnRDb250cm9sXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgIFttYXhsZW5ndGhdPVwibWF4TGVuZ3RoXCJcbi8+XG4iXX0=
@@ -1,165 +0,0 @@
1
- import { coerceBooleanProperty } from "@angular/cdk/coercion";
2
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, HostBinding, Input, } from "@angular/core";
3
- import { ControlContainer, FormControl, Validators, } from "@angular/forms";
4
- import { Subject } from "rxjs";
5
- import { takeUntil } from "rxjs/operators";
6
- import * as uuid from "uuid";
7
- import { TranslationContextDirective } from "../directives/translation-context.directive";
8
- import { NiceTranslationFormService } from "../providers/nice-translation-form.service";
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "@angular/forms";
11
- import * as i2 from "../directives/translation-context.directive";
12
- import * as i3 from "../providers/nice-translation-form.service";
13
- export class TranslationFormComponent {
14
- get classList() {
15
- return {
16
- "w-full": true
17
- };
18
- }
19
- get shouldLabelFloat() {
20
- return this.floating || !this.empty;
21
- }
22
- set required(req) {
23
- this._required = coerceBooleanProperty(req);
24
- this.stateChanges.next();
25
- }
26
- get required() {
27
- return (this._required ??
28
- this.ngControl?.control?.hasValidator(Validators.required) ??
29
- false);
30
- }
31
- get disabled() {
32
- return this._disabled;
33
- }
34
- set disabled(value) {
35
- this._disabled = coerceBooleanProperty(value);
36
- if (this._disabled) {
37
- this.currentControl.disable({ emitEvent: false });
38
- }
39
- else {
40
- this.currentControl.enable({ emitEvent: false });
41
- }
42
- this.stateChanges.next();
43
- }
44
- set placeholder(placeholder) {
45
- this._placeholder = placeholder;
46
- this.stateChanges.next();
47
- }
48
- get placeholder() {
49
- return this._placeholder;
50
- }
51
- set value(value) {
52
- if (value === this._value) {
53
- return;
54
- }
55
- this._value = value;
56
- this.propagate(this._value);
57
- }
58
- get value() {
59
- return this._value;
60
- }
61
- get empty() {
62
- const emptyControlValue = !this.currentControl?.value || !this.currentControl.value.length;
63
- const emptyValue = !this._value ||
64
- (typeof this._value === "string" && !this._value.length);
65
- return emptyControlValue && emptyValue;
66
- }
67
- get errorState() {
68
- return this.ngControl
69
- ? this.ngControl.touched && this.ngControl.invalid
70
- : false;
71
- }
72
- constructor(container, context, service, changeDetectorRef) {
73
- this.container = container;
74
- this.context = context;
75
- this.service = service;
76
- this.changeDetectorRef = changeDetectorRef;
77
- this.floating = true;
78
- this.maxLength = 524288; // The maximum number of characters allowed in the <input> element. Default value is 524288
79
- this.id = uuid.v4();
80
- this.describedBy = "";
81
- this.stateChanges = new Subject();
82
- this.controlType = "translationForm";
83
- this._unsubscribeAll$ = new Subject();
84
- this._disabled = false;
85
- this.propagate = () => { };
86
- }
87
- onContainerClick(event) { }
88
- setDescribedByIds(ids) {
89
- this.describedBy = ids.join(" ");
90
- }
91
- registerOnChange(fn) {
92
- this.propagate = fn;
93
- }
94
- registerOnTouched(fn) { }
95
- writeValue(value) {
96
- this._value = value;
97
- }
98
- ngOnInit() {
99
- this.formGroup = this.container.control;
100
- this.service.languages$
101
- .pipe(takeUntil(this._unsubscribeAll$))
102
- .subscribe((languages) => {
103
- if (!languages?.length) {
104
- return;
105
- }
106
- this.setupFormControls(languages);
107
- });
108
- this.context.activeLanguage$
109
- .pipe(takeUntil(this._unsubscribeAll$))
110
- .subscribe((activeLanguage) => {
111
- this.setLanguage(activeLanguage);
112
- });
113
- }
114
- ngOnDestroy() {
115
- this._unsubscribeAll$.next();
116
- this._unsubscribeAll$.complete();
117
- }
118
- setLanguage(language) {
119
- this.currentControl = this.formGroup.get(language);
120
- this.changeDetectorRef.markForCheck();
121
- }
122
- setupFormControls(languages) {
123
- for (const language of languages) {
124
- if (!this.formGroup.controls[language]) {
125
- this.formGroup.addControl(language, new FormControl(""));
126
- }
127
- }
128
- const controlToRemove = Object.keys(this.formGroup.controls).filter((key) => !languages.includes(key));
129
- for (const key of controlToRemove) {
130
- this.formGroup.removeControl(key);
131
- }
132
- this.currentControl = this.formGroup.get(languages[0]);
133
- }
134
- }
135
- TranslationFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TranslationFormComponent, deps: [{ token: i1.ControlContainer }, { token: i2.TranslationContextDirective }, { token: i3.NiceTranslationFormService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
136
- TranslationFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: TranslationFormComponent, selector: "ng-component", inputs: { required: "required", disabled: "disabled", placeholder: "placeholder", floating: "floating", maxLength: "maxLength" }, host: { properties: { "class": "this.classList", "class.floating": "this.shouldLabelFloat", "id": "this.id", "attr.aria-describedby": "this.describedBy" } }, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
137
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TranslationFormComponent, decorators: [{
138
- type: Component,
139
- args: [{
140
- template: ``,
141
- changeDetection: ChangeDetectionStrategy.OnPush
142
- }]
143
- }], ctorParameters: function () { return [{ type: i1.ControlContainer }, { type: i2.TranslationContextDirective }, { type: i3.NiceTranslationFormService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { classList: [{
144
- type: HostBinding,
145
- args: ["class"]
146
- }], shouldLabelFloat: [{
147
- type: HostBinding,
148
- args: ["class.floating"]
149
- }], required: [{
150
- type: Input
151
- }], disabled: [{
152
- type: Input
153
- }], placeholder: [{
154
- type: Input
155
- }], floating: [{
156
- type: Input
157
- }], maxLength: [{
158
- type: Input
159
- }], id: [{
160
- type: HostBinding
161
- }], describedBy: [{
162
- type: HostBinding,
163
- args: ["attr.aria-describedby"]
164
- }] } });
165
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24tZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uaWNlLXVpLWtpdC12Mi9zcmMvbGliL2NvbXBvbmVudHMvdHJhbnNsYXRpb24tZm9ybS9jb21wb25lbnRzL3RyYW5zbGF0aW9uLWZvcm0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlELE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsS0FBSyxHQUdSLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFFSCxnQkFBZ0IsRUFFaEIsV0FBVyxFQUdYLFVBQVUsR0FDYixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sS0FBSyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBQzdCLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQzFGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDOzs7OztBQU14RixNQUFNLE9BQWdCLHdCQUF3QjtJQU8xQyxJQUNXLFNBQVM7UUFDaEIsT0FBTztZQUNILFFBQVEsRUFBRSxJQUFJO1NBQ2pCLENBQUM7SUFDTixDQUFDO0lBRUQsSUFDVyxnQkFBZ0I7UUFDdkIsT0FBTyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztJQUN4QyxDQUFDO0lBRUQsSUFDVyxRQUFRLENBQUMsR0FBRztRQUNuQixJQUFJLENBQUMsU0FBUyxHQUFHLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzVDLElB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QXVCLENBQUMsTUFBTTtpQkFDbEQ7ME5BU2MsU0FBUztzQkFEbkIsV0FBVzt1QkFBQyxPQUFPO2dCQVFULGdCQUFnQjtzQkFEMUIsV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBTWxCLFFBQVE7c0JBRGxCLEtBQUs7Z0JBZUssUUFBUTtzQkFEbEIsS0FBSztnQkFrQkssV0FBVztzQkFEckIsS0FBSztnQkFnREMsUUFBUTtzQkFEZCxLQUFLO2dCQUlDLFNBQVM7c0JBRGYsS0FBSztnQkFJQyxFQUFFO3NCQURSLFdBQVc7Z0JBSUwsV0FBVztzQkFEakIsV0FBVzt1QkFBQyx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL2NvZXJjaW9uXCI7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbnB1dCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtcbiAgICBBYnN0cmFjdENvbnRyb2xEaXJlY3RpdmUsXG4gICAgQ29udHJvbENvbnRhaW5lcixcbiAgICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgICBGb3JtQ29udHJvbCxcbiAgICBGb3JtR3JvdXAsXG4gICAgTmdDb250cm9sLFxuICAgIFZhbGlkYXRvcnMsXG59IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkQ29udHJvbCB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkXCI7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuaW1wb3J0ICogYXMgdXVpZCBmcm9tIFwidXVpZFwiO1xuaW1wb3J0IHsgVHJhbnNsYXRpb25Db250ZXh0RGlyZWN0aXZlIH0gZnJvbSBcIi4uL2RpcmVjdGl2ZXMvdHJhbnNsYXRpb24tY29udGV4dC5kaXJlY3RpdmVcIjtcbmltcG9ydCB7IE5pY2VUcmFuc2xhdGlvbkZvcm1TZXJ2aWNlIH0gZnJvbSBcIi4uL3Byb3ZpZGVycy9uaWNlLXRyYW5zbGF0aW9uLWZvcm0uc2VydmljZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgICB0ZW1wbGF0ZTogYGAsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVHJhbnNsYXRpb25Gb3JtQ29tcG9uZW50XG4gICAgaW1wbGVtZW50c1xuICAgICAgICBPbkluaXQsXG4gICAgICAgIE9uRGVzdHJveSxcbiAgICAgICAgTWF0Rm9ybUZpZWxkQ29udHJvbDxzdHJpbmc+LFxuICAgICAgICBDb250cm9sVmFsdWVBY2Nlc3Nvclxue1xuICAgIEBIb3N0QmluZGluZyhcImNsYXNzXCIpXG4gICAgcHVibGljIGdldCBjbGFzc0xpc3QoKTogYW55IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIFwidy1mdWxsXCI6IHRydWVcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoXCJjbGFzcy5mbG9hdGluZ1wiKVxuICAgIHB1YmxpYyBnZXQgc2hvdWxkTGFiZWxGbG9hdCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmxvYXRpbmcgfHwgIXRoaXMuZW1wdHk7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IHJlcXVpcmVkKHJlcSkge1xuICAgICAgICB0aGlzLl9yZXF1aXJlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eShyZXEpO1xuICAgICAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCByZXF1aXJlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMuX3JlcXVpcmVkID8/XG4gICAgICAgICAgICB0aGlzLm5nQ29udHJvbD8uY29udHJvbD8uaGFzVmFsaWRhdG9yKFZhbGlkYXRvcnMucmVxdWlyZWQpID8/XG4gICAgICAgICAgICBmYWxzZVxuICAgICAgICApO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fZGlzYWJsZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuXG4gICAgICAgIGlmICh0aGlzLl9kaXNhYmxlZCkge1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50Q29udHJvbC5kaXNhYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudENvbnRyb2wuZW5hYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgcGxhY2Vob2xkZXIocGxhY2Vob2xkZXI6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9wbGFjZWhvbGRlciA9IHBsYWNlaG9sZGVyO1xuICAgICAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBwbGFjZWhvbGRlcigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fcGxhY2Vob2xkZXI7XG4gICAgfVxuXG4gICAgcHVibGljIHNldCB2YWx1ZSh2YWx1ZTogYW55KSB7XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gdGhpcy5fdmFsdWUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XG4gICAgICAgIHRoaXMucHJvcGFnYXRlKHRoaXMuX3ZhbHVlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHZhbHVlKCk6IGFueSB7XG4gICAgICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGVtcHR5KCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBlbXB0eUNvbnRyb2xWYWx1ZSA9XG4gICAgICAgICAgICAhdGhpcy5jdXJyZW50Q29udHJvbD8udmFsdWUgfHwgIXRoaXMuY3VycmVudENvbnRyb2wudmFsdWUubGVuZ3RoO1xuXG4gICAgICAgIGNvbnN0IGVtcHR5VmFsdWUgPVxuICAgICAgICAgICAgIXRoaXMuX3ZhbHVlIHx8XG4gICAgICAgICAgICAodHlwZW9mIHRoaXMuX3ZhbHVlID09PSBcInN0cmluZ1wiICYmICF0aGlzLl92YWx1ZS5sZW5ndGgpO1xuXG4gICAgICAgIHJldHVybiBlbXB0eUNvbnRyb2xWYWx1ZSAmJiBlbXB0eVZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZXJyb3JTdGF0ZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmdDb250cm9sXG4gICAgICAgICAgICA/IHRoaXMubmdDb250cm9sLnRvdWNoZWQgJiYgdGhpcy5uZ0NvbnRyb2wuaW52YWxpZFxuICAgICAgICAgICAgOiBmYWxzZTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBjb250YWluZXI6IENvbnRyb2xDb250YWluZXIsXG4gICAgICAgIHByaXZhdGUgY29udGV4dDogVHJhbnNsYXRpb25Db250ZXh0RGlyZWN0aXZlLFxuICAgICAgICBwcml2YXRlIHNlcnZpY2U6IE5pY2VUcmFuc2xhdGlvbkZvcm1TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZlxuICAgICkge31cblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGZsb2F0aW5nID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIG1heExlbmd0aCA9IDUyNDI4ODsgLy8gVGhlIG1heGltdW0gbnVtYmVyIG9mIGNoYXJhY3RlcnMgYWxsb3dlZCBpbiB0aGUgPGlucHV0PiBlbGVtZW50LiBEZWZhdWx0IHZhbHVlIGlzIDUyNDI4OFxuXG4gICAgQEhvc3RCaW5kaW5nKClcbiAgICBwdWJsaWMgaWQ6IHN0cmluZyA9IHV1aWQudjQoKTtcblxuICAgIEBIb3N0QmluZGluZyhcImF0dHIuYXJpYS1kZXNjcmliZWRieVwiKVxuICAgIHB1YmxpYyBkZXNjcmliZWRCeSA9IFwiXCI7XG5cbiAgICBwdWJsaWMgZm9ybUdyb3VwOiBGb3JtR3JvdXA7XG4gICAgcHVibGljIGN1cnJlbnRDb250cm9sPzogRm9ybUNvbnRyb2w7XG4gICAgcHVibGljIHN0YXRlQ2hhbmdlcyA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgcHVibGljIG5nQ29udHJvbDogQWJzdHJhY3RDb250cm9sRGlyZWN0aXZlIHwgTmdDb250cm9sO1xuICAgIHB1YmxpYyBmb2N1c2VkOiBib29sZWFuO1xuICAgIHB1YmxpYyBjb250cm9sVHlwZSA9IFwidHJhbnNsYXRpb25Gb3JtXCI7XG5cbiAgICBwcml2YXRlIF91bnN1YnNjcmliZUFsbCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIHByaXZhdGUgX3JlcXVpcmVkOiBib29sZWFuO1xuICAgIHByaXZhdGUgX2Rpc2FibGVkID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBfcGxhY2Vob2xkZXI6IHN0cmluZztcbiAgICBwcml2YXRlIF92YWx1ZTogYW55O1xuXG4gICAgcHVibGljIHJlYWRvbmx5IGF1dG9maWxsZWQ6IGJvb2xlYW47XG4gICAgcHVibGljIHJlYWRvbmx5IHVzZXJBcmlhRGVzY3JpYmVkQnk6IHN0cmluZztcblxuICAgIHB1YmxpYyBwcm9wYWdhdGU6ICh2YWx1ZTogc3RyaW5nKSA9PiB2b2lkID0gKCkgPT4ge307XG5cbiAgICBwdWJsaWMgb25Db250YWluZXJDbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge31cblxuICAgIHB1YmxpYyBzZXREZXNjcmliZWRCeUlkcyhpZHM6IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGVzY3JpYmVkQnkgPSBpZHMuam9pbihcIiBcIik7XG4gICAgfVxuXG4gICAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLnByb3BhZ2F0ZSA9IGZuO1xuICAgIH1cblxuICAgIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7fVxuXG4gICAgcHVibGljIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAgPSB0aGlzLmNvbnRhaW5lci5jb250cm9sIGFzIEZvcm1Hcm91cDtcblxuICAgICAgICB0aGlzLnNlcnZpY2UubGFuZ3VhZ2VzJFxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX3Vuc3Vic2NyaWJlQWxsJCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChsYW5ndWFnZXMpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIWxhbmd1YWdlcz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0aGlzLnNldHVwRm9ybUNvbnRyb2xzKGxhbmd1YWdlcyk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmNvbnRleHQuYWN0aXZlTGFuZ3VhZ2UkXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fdW5zdWJzY3JpYmVBbGwkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGFjdGl2ZUxhbmd1YWdlKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRMYW5ndWFnZShhY3RpdmVMYW5ndWFnZSk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3Vuc3Vic2NyaWJlQWxsJC5uZXh0KCk7XG4gICAgICAgIHRoaXMuX3Vuc3Vic2NyaWJlQWxsJC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRMYW5ndWFnZShsYW5ndWFnZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY3VycmVudENvbnRyb2wgPSB0aGlzLmZvcm1Hcm91cC5nZXQobGFuZ3VhZ2UpIGFzIEZvcm1Db250cm9sO1xuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0dXBGb3JtQ29udHJvbHMobGFuZ3VhZ2VzOiBzdHJpbmdbXSk6IHZvaWQge1xuICAgICAgICBmb3IgKGNvbnN0IGxhbmd1YWdlIG9mIGxhbmd1YWdlcykge1xuICAgICAgICAgICAgaWYgKCF0aGlzLmZvcm1Hcm91cC5jb250cm9sc1tsYW5ndWFnZV0pIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZvcm1Hcm91cC5hZGRDb250cm9sKGxhbmd1YWdlLCBuZXcgRm9ybUNvbnRyb2woXCJcIikpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY29udHJvbFRvUmVtb3ZlID0gT2JqZWN0LmtleXModGhpcy5mb3JtR3JvdXAuY29udHJvbHMpLmZpbHRlcihcbiAgICAgICAgICAgIChrZXkpID0+ICFsYW5ndWFnZXMuaW5jbHVkZXMoa2V5KVxuICAgICAgICApO1xuXG4gICAgICAgIGZvciAoY29uc3Qga2V5IG9mIGNvbnRyb2xUb1JlbW92ZSkge1xuICAgICAgICAgICAgdGhpcy5mb3JtR3JvdXAucmVtb3ZlQ29udHJvbChrZXkpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jdXJyZW50Q29udHJvbCA9IHRoaXMuZm9ybUdyb3VwLmdldChsYW5ndWFnZXNbMF0pIGFzIEZvcm1Db250cm9sO1xuICAgIH1cbn1cbiJdfQ==