@pepperi-addons/ngx-lib 0.5.0-ng15.2 → 0.5.0-ng16.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (754) hide show
  1. package/address/address.component.d.ts +1 -1
  2. package/attachment/attachment.component.d.ts +1 -1
  3. package/bread-crumbs/bread-crumbs.component.d.ts +1 -1
  4. package/button/button.component.d.ts +1 -1
  5. package/carousel/carousel-item.directive.d.ts +1 -1
  6. package/carousel/carousel.component.d.ts +1 -1
  7. package/checkbox/checkbox.component.d.ts +1 -1
  8. package/chips/chips.component.d.ts +1 -1
  9. package/color/color.component.d.ts +1 -1
  10. package/core/clipboard/clipboard.directive.d.ts +1 -1
  11. package/core/common/directives/auto-width.directive.d.ts +1 -1
  12. package/core/common/directives/button-loader.directive.d.ts +1 -1
  13. package/core/common/directives/data-qa.directive.d.ts +1 -1
  14. package/core/common/directives/div-loader.directive.d.ts +1 -1
  15. package/core/common/directives/prevent-multi-click.directive.d.ts +1 -1
  16. package/core/common/directives/print.directive.d.ts +1 -1
  17. package/core/portal/attach.directive.d.ts +1 -1
  18. package/core/portal/target.directive.d.ts +1 -1
  19. package/date/date.component.d.ts +1 -1
  20. package/dialog/dialog.component.d.ts +1 -1
  21. package/draggable-items/draggable-item/draggable-item.component.d.ts +1 -1
  22. package/draggable-items/draggable-items.component.d.ts +1 -1
  23. package/esm2022/address/address.component.mjs +112 -0
  24. package/{esm2020 → esm2022}/address/address.module.mjs +23 -23
  25. package/{esm2020 → esm2022}/attachment/attachment.component.mjs +65 -61
  26. package/{esm2020 → esm2022}/attachment/attachment.module.mjs +21 -21
  27. package/esm2022/bread-crumbs/bread-crumbs.component.mjs +87 -0
  28. package/esm2022/bread-crumbs/bread-crumbs.model.mjs +10 -0
  29. package/esm2022/bread-crumbs/bread-crumbs.module.mjs +51 -0
  30. package/{esm2020 → esm2022}/button/button.component.mjs +76 -53
  31. package/esm2022/button/button.model.mjs +13 -0
  32. package/{esm2020 → esm2022}/button/button.module.mjs +19 -19
  33. package/esm2022/carousel/carousel-item.directive.mjs +34 -0
  34. package/esm2022/carousel/carousel.component.mjs +765 -0
  35. package/{esm2020 → esm2022}/carousel/carousel.module.mjs +5 -5
  36. package/esm2022/checkbox/checkbox.component.mjs +182 -0
  37. package/esm2022/checkbox/checkbox.module.mjs +64 -0
  38. package/esm2022/chips/chips.component.mjs +187 -0
  39. package/esm2022/chips/chips.module.mjs +82 -0
  40. package/{esm2020 → esm2022}/chips/chips.service.mjs +5 -5
  41. package/esm2022/color/color-picker.component.mjs +229 -0
  42. package/esm2022/color/color.component.mjs +93 -0
  43. package/esm2022/color/color.module.mjs +93 -0
  44. package/{esm2020 → esm2022}/core/clipboard/clipboard.directive.mjs +4 -4
  45. package/{esm2020 → esm2022}/core/clipboard/clipboard.service.mjs +4 -4
  46. package/esm2022/core/common/directives/auto-width.directive.mjs +79 -0
  47. package/esm2022/core/common/directives/base-destroyer.directive.mjs +23 -0
  48. package/esm2022/core/common/directives/button-blur.directive.mjs +25 -0
  49. package/esm2022/core/common/directives/button-loader.directive.mjs +117 -0
  50. package/esm2022/core/common/directives/data-qa.directive.mjs +26 -0
  51. package/esm2022/core/common/directives/div-loader.directive.mjs +67 -0
  52. package/esm2022/core/common/directives/menu-blur.directive.mjs +33 -0
  53. package/esm2022/core/common/directives/prevent-multi-click.directive.mjs +25 -0
  54. package/esm2022/core/common/directives/print.directive.mjs +176 -0
  55. package/esm2022/core/common/model/wapi.model.mjs +247 -0
  56. package/esm2022/core/common/pipes/common-pipes.mjs +180 -0
  57. package/esm2022/core/common/pipes/date-ago.pipe.mjs +47 -0
  58. package/esm2022/core/common/services/addon.service.mjs +234 -0
  59. package/esm2022/core/common/services/color.service.mjs +383 -0
  60. package/esm2022/core/common/services/cookie.service.mjs +156 -0
  61. package/esm2022/core/common/services/data-convertor.service.mjs +139 -0
  62. package/esm2022/core/common/services/file.service.mjs +252 -0
  63. package/{esm2020 → esm2022}/core/common/services/jwt-helper.service.mjs +4 -4
  64. package/esm2022/core/common/services/session.service.mjs +73 -0
  65. package/esm2022/core/common/services/translate.service.mjs +47 -0
  66. package/esm2022/core/common/services/utilities.service.mjs +302 -0
  67. package/esm2022/core/common/services/validator.service.mjs +273 -0
  68. package/esm2022/core/common/services/window-scrolling.service.mjs +38 -0
  69. package/esm2022/core/customization/customization.model.mjs +377 -0
  70. package/esm2022/core/customization/customization.service.mjs +802 -0
  71. package/{esm2020 → esm2022}/core/http/interceptors/error.interceptor.mjs +4 -4
  72. package/esm2022/core/http/interceptors/loader.interceptor.mjs +33 -0
  73. package/{esm2020 → esm2022}/core/http/interceptors/profiler.interceptor.mjs +4 -4
  74. package/esm2022/core/http/services/http.service.mjs +158 -0
  75. package/{esm2020 → esm2022}/core/http/services/loader.service.mjs +6 -6
  76. package/esm2022/core/layout/layout.service.mjs +171 -0
  77. package/esm2022/core/layout/rtl.directive.mjs +50 -0
  78. package/esm2022/core/portal/attach.directive.mjs +30 -0
  79. package/esm2022/core/portal/portal.service.mjs +37 -0
  80. package/esm2022/core/portal/target.directive.mjs +27 -0
  81. package/{esm2020 → esm2022}/core/scroll-to/scroll-to.service.mjs +4 -4
  82. package/esm2022/date/date.component.mjs +345 -0
  83. package/{esm2020 → esm2022}/date/date.model.mjs +7 -7
  84. package/esm2022/date/date.module.mjs +89 -0
  85. package/esm2022/dialog/default-dialog.component.mjs +39 -0
  86. package/esm2022/dialog/dialog.component.mjs +37 -0
  87. package/esm2022/dialog/dialog.model.mjs +41 -0
  88. package/esm2022/dialog/dialog.module.mjs +59 -0
  89. package/esm2022/dialog/dialog.service.mjs +106 -0
  90. package/esm2022/draggable-items/draggable-item/draggable-item.component.mjs +68 -0
  91. package/esm2022/draggable-items/draggable-items.component.mjs +95 -0
  92. package/esm2022/draggable-items/draggable-items.module.mjs +65 -0
  93. package/esm2022/field-title/field-title.component.mjs +46 -0
  94. package/esm2022/field-title/field-title.module.mjs +48 -0
  95. package/{esm2020 → esm2022}/files-uploader/files-uploader.component.mjs +36 -27
  96. package/esm2022/files-uploader/files-uploader.module.mjs +80 -0
  97. package/esm2022/form/field-generator.component.mjs +152 -0
  98. package/esm2022/form/form.component.mjs +1258 -0
  99. package/esm2022/form/form.module.mjs +180 -0
  100. package/esm2022/form/indicators.component.mjs +23 -0
  101. package/esm2022/form/internal-button.component.mjs +188 -0
  102. package/esm2022/form/internal-carusel.component.mjs +126 -0
  103. package/esm2022/form/internal-carusel.service.mjs +34 -0
  104. package/esm2022/form/internal-field-generator.component.mjs +146 -0
  105. package/esm2022/form/internal-form.component.mjs +1236 -0
  106. package/esm2022/form/internal-list.component.mjs +524 -0
  107. package/esm2022/form/internal-menu.component.mjs +62 -0
  108. package/esm2022/form/internal-page.component.mjs +380 -0
  109. package/esm2022/form/internal-page.service.mjs +125 -0
  110. package/esm2022/group-buttons/group-buttons.component.mjs +73 -0
  111. package/esm2022/group-buttons/group-buttons.module.mjs +60 -0
  112. package/esm2022/icon/icon-registry.service.mjs +24 -0
  113. package/esm2022/icon/icon.component.mjs +95 -0
  114. package/{esm2020 → esm2022}/icon/icon.module.mjs +5 -5
  115. package/esm2022/icon/icon.service.mjs +34 -0
  116. package/{esm2020 → esm2022}/image/image.component.mjs +45 -39
  117. package/esm2022/image/image.module.mjs +74 -0
  118. package/esm2022/image/image.service.mjs +53 -0
  119. package/esm2022/images-filmstrip/images-filmstrip.component.mjs +360 -0
  120. package/esm2022/images-filmstrip/images-filmstrip.module.mjs +84 -0
  121. package/esm2022/link/link.component.mjs +324 -0
  122. package/esm2022/link/link.module.mjs +81 -0
  123. package/{esm2020 → esm2022}/link/link.pipes.mjs +4 -4
  124. package/esm2022/list/list-actions.component.mjs +42 -0
  125. package/esm2022/list/list-carousel.component.mjs +110 -0
  126. package/esm2022/list/list-chooser.component.mjs +64 -0
  127. package/esm2022/list/list-pager.component.mjs +126 -0
  128. package/{esm2020 → esm2022}/list/list-sorting.component.mjs +15 -13
  129. package/esm2022/list/list-total.component.mjs +31 -0
  130. package/esm2022/list/list-views.component.mjs +86 -0
  131. package/esm2022/list/list.component.mjs +1394 -0
  132. package/{esm2020 → esm2022}/list/list.model.mjs +4 -1
  133. package/esm2022/list/list.module.mjs +145 -0
  134. package/esm2022/list/list.pipes.mjs +45 -0
  135. package/esm2022/list/virtual-scroller.mjs +1124 -0
  136. package/esm2022/menu/menu-item.component.mjs +111 -0
  137. package/esm2022/menu/menu.component.mjs +218 -0
  138. package/esm2022/menu/menu.model.mjs +23 -0
  139. package/esm2022/menu/menu.module.mjs +60 -0
  140. package/{esm2020 → esm2022}/ngx-lib.module.mjs +65 -65
  141. package/esm2022/page-layout/page-layout.component.mjs +41 -0
  142. package/{esm2020 → esm2022}/page-layout/page-layout.module.mjs +13 -13
  143. package/esm2022/profile-data-views-list/profile-data-view/profile-data-view.component.mjs +48 -0
  144. package/esm2022/profile-data-views-list/profile-data-views-card/profile-data-views-card.component.mjs +82 -0
  145. package/esm2022/profile-data-views-list/profile-data-views-list.component.mjs +131 -0
  146. package/esm2022/profile-data-views-list/profile-data-views-list.module.mjs +89 -0
  147. package/esm2022/quantity-selector/quantity-selector-validation.directive.mjs +53 -0
  148. package/{esm2020 → esm2022}/quantity-selector/quantity-selector.component.mjs +83 -73
  149. package/esm2022/quantity-selector/quantity-selector.module.mjs +83 -0
  150. package/{esm2020 → esm2022}/quantity-selector/quantity-selector.pipes.mjs +4 -4
  151. package/esm2022/query-builder/common/model/type-map.mjs +28 -0
  152. package/esm2022/query-builder/common/services/output-query.service.mjs +118 -0
  153. package/esm2022/query-builder/common/services/query-structure.service.mjs +263 -0
  154. package/esm2022/query-builder/common/services/type-convertor.service.mjs +42 -0
  155. package/esm2022/query-builder/query-builder-item/query-builder-item.component.mjs +134 -0
  156. package/esm2022/query-builder/query-builder-section/query-builder-section.component.mjs +76 -0
  157. package/esm2022/query-builder/query-builder.component.mjs +116 -0
  158. package/esm2022/query-builder/query-builder.module.mjs +71 -0
  159. package/{esm2020 → esm2022}/query-builder/query-builder.service.mjs +4 -4
  160. package/esm2022/remote-loader/addon-block-loader.component.mjs +115 -0
  161. package/esm2022/remote-loader/addon-block-loader.service.mjs +66 -0
  162. package/esm2022/remote-loader/remote-loader-element.component.mjs +179 -0
  163. package/esm2022/remote-loader/remote-loader.component.mjs +120 -0
  164. package/{esm2020 → esm2022}/remote-loader/remote-loader.module.mjs +26 -26
  165. package/esm2022/remote-loader/remote-loader.service.mjs +107 -0
  166. package/{esm2020 → esm2022}/rich-html-textarea/rich-html-textarea.component.mjs +38 -30
  167. package/esm2022/rich-html-textarea/rich-html-textarea.module.mjs +96 -0
  168. package/esm2022/search/search.component.mjs +322 -0
  169. package/esm2022/search/search.module.mjs +71 -0
  170. package/esm2022/select/select.component.mjs +341 -0
  171. package/esm2022/select/select.module.mjs +71 -0
  172. package/esm2022/select-panel/select-panel.component.mjs +161 -0
  173. package/{esm2020 → esm2022}/select-panel/select-panel.module.mjs +31 -31
  174. package/esm2022/separator/separator.component.mjs +65 -0
  175. package/{esm2020 → esm2022}/separator/separator.module.mjs +5 -5
  176. package/esm2022/side-bar/side-bar.component.mjs +141 -0
  177. package/esm2022/side-bar/side-bar.module.mjs +56 -0
  178. package/esm2022/signature/signature-dialog.component.mjs +82 -0
  179. package/{esm2020 → esm2022}/signature/signature.component.mjs +41 -31
  180. package/esm2022/signature/signature.module.mjs +92 -0
  181. package/esm2022/size-detector/size-detector.component.mjs +97 -0
  182. package/esm2022/size-detector/size-detector.module.mjs +35 -0
  183. package/esm2022/skeleton-loader/skeleton-loader.component.mjs +46 -0
  184. package/{esm2020 → esm2022}/skeleton-loader/skeleton-loader.module.mjs +7 -7
  185. package/esm2022/slider/slider.component.mjs +105 -0
  186. package/{esm2020 → esm2022}/slider/slider.module.mjs +17 -17
  187. package/esm2022/smart-filters/boolean-filter/boolean-filter.component.mjs +74 -0
  188. package/esm2022/smart-filters/common/filter-actions.component.mjs +28 -0
  189. package/esm2022/smart-filters/common/model/base-filter-component.mjs +307 -0
  190. package/esm2022/smart-filters/common/model/field.mjs +125 -0
  191. package/esm2022/smart-filters/common/model/operator.mjs +287 -0
  192. package/esm2022/smart-filters/date-filter/date-filter.component.mjs +181 -0
  193. package/esm2022/smart-filters/multi-select-filter/multi-select-filter.component.mjs +202 -0
  194. package/esm2022/smart-filters/number-filter/number-filter.component.mjs +133 -0
  195. package/esm2022/smart-filters/smart-filters.component.mjs +143 -0
  196. package/esm2022/smart-filters/smart-filters.module.mjs +159 -0
  197. package/esm2022/smart-filters/text-filter/text-filter.component.mjs +110 -0
  198. package/esm2022/snack-bar/default-snack-bar.component.mjs +31 -0
  199. package/esm2022/snack-bar/snack-bar.component.mjs +28 -0
  200. package/esm2022/snack-bar/snack-bar.model.mjs +9 -0
  201. package/esm2022/snack-bar/snack-bar.module.mjs +63 -0
  202. package/esm2022/snack-bar/snack-bar.service.mjs +62 -0
  203. package/{esm2020 → esm2022}/textarea/textarea.component.mjs +35 -27
  204. package/esm2022/textarea/textarea.module.mjs +83 -0
  205. package/esm2022/textbox/textbox-validation.directive.mjs +96 -0
  206. package/esm2022/textbox/textbox.component.mjs +646 -0
  207. package/esm2022/textbox/textbox.module.mjs +73 -0
  208. package/esm2022/textbox-icon/textbox-icon.component.mjs +50 -0
  209. package/esm2022/textbox-icon/textbox-icon.module.mjs +65 -0
  210. package/esm2022/top-bar/top-bar.component.mjs +127 -0
  211. package/esm2022/top-bar/top-bar.module.mjs +63 -0
  212. package/fesm2022/pepperi-addons-ngx-lib-address.mjs +173 -0
  213. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-address.mjs.map +1 -1
  214. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-attachment.mjs +84 -80
  215. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-attachment.mjs.map +1 -1
  216. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-bread-crumbs.mjs +34 -28
  217. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-bread-crumbs.mjs.map +1 -1
  218. package/fesm2022/pepperi-addons-ngx-lib-button.mjs +227 -0
  219. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-button.mjs.map +1 -1
  220. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-carousel.mjs +76 -55
  221. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-carousel.mjs.map +1 -1
  222. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-checkbox.mjs +54 -48
  223. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-checkbox.mjs.map +1 -1
  224. package/fesm2022/pepperi-addons-ngx-lib-chips.mjs +308 -0
  225. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-chips.mjs.map +1 -1
  226. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-color.mjs +92 -84
  227. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-color.mjs.map +1 -1
  228. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-date.mjs +116 -104
  229. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-date.mjs.map +1 -1
  230. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-dialog.mjs +50 -36
  231. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-dialog.mjs.map +1 -1
  232. package/fesm2022/pepperi-addons-ngx-lib-draggable-items.mjs +229 -0
  233. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-draggable-items.mjs.map +1 -1
  234. package/fesm2022/pepperi-addons-ngx-lib-field-title.mjs +101 -0
  235. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-field-title.mjs.map +1 -1
  236. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-files-uploader.mjs +66 -56
  237. package/fesm2022/pepperi-addons-ngx-lib-files-uploader.mjs.map +1 -0
  238. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-form.mjs +391 -310
  239. package/{fesm2015 → fesm2022}/pepperi-addons-ngx-lib-form.mjs.map +1 -1
  240. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-group-buttons.mjs +38 -35
  241. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-group-buttons.mjs.map +1 -1
  242. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-icon.mjs +23 -18
  243. package/{fesm2015 → fesm2022}/pepperi-addons-ngx-lib-icon.mjs.map +1 -1
  244. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-image.mjs +77 -68
  245. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-image.mjs.map +1 -1
  246. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-images-filmstrip.mjs +83 -60
  247. package/fesm2022/pepperi-addons-ngx-lib-images-filmstrip.mjs.map +1 -0
  248. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-link.mjs +113 -103
  249. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-link.mjs.map +1 -1
  250. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-list.mjs +339 -273
  251. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-list.mjs.map +1 -1
  252. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-menu.mjs +89 -87
  253. package/{fesm2015 → fesm2022}/pepperi-addons-ngx-lib-menu.mjs.map +1 -1
  254. package/{fesm2015 → fesm2022}/pepperi-addons-ngx-lib-page-layout.mjs +23 -17
  255. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-page-layout.mjs.map +1 -1
  256. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-profile-data-views-list.mjs +72 -63
  257. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-profile-data-views-list.mjs.map +1 -1
  258. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-quantity-selector.mjs +125 -110
  259. package/{fesm2015 → fesm2022}/pepperi-addons-ngx-lib-quantity-selector.mjs.map +1 -1
  260. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-query-builder.mjs +95 -68
  261. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-query-builder.mjs.map +1 -1
  262. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-remote-loader.mjs +84 -64
  263. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-remote-loader.mjs.map +1 -1
  264. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-rich-html-textarea.mjs +76 -67
  265. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-rich-html-textarea.mjs.map +1 -1
  266. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-search.mjs +85 -79
  267. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-search.mjs.map +1 -1
  268. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-select-panel.mjs +53 -49
  269. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-select-panel.mjs.map +1 -1
  270. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-select.mjs +74 -66
  271. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-select.mjs.map +1 -1
  272. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-separator.mjs +18 -16
  273. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-separator.mjs.map +1 -1
  274. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-side-bar.mjs +44 -38
  275. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-side-bar.mjs.map +1 -1
  276. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-signature.mjs +95 -81
  277. package/fesm2022/pepperi-addons-ngx-lib-signature.mjs.map +1 -0
  278. package/fesm2022/pepperi-addons-ngx-lib-size-detector.mjs +139 -0
  279. package/fesm2022/pepperi-addons-ngx-lib-size-detector.mjs.map +1 -0
  280. package/fesm2022/pepperi-addons-ngx-lib-skeleton-loader.mjs +78 -0
  281. package/{fesm2015 → fesm2022}/pepperi-addons-ngx-lib-skeleton-loader.mjs.map +1 -1
  282. package/fesm2022/pepperi-addons-ngx-lib-slider.mjs +154 -0
  283. package/fesm2022/pepperi-addons-ngx-lib-slider.mjs.map +1 -0
  284. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-smart-filters.mjs +189 -161
  285. package/{fesm2015 → fesm2022}/pepperi-addons-ngx-lib-smart-filters.mjs.map +1 -1
  286. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-snack-bar.mjs +42 -34
  287. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-snack-bar.mjs.map +1 -1
  288. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-textarea.mjs +67 -58
  289. package/{fesm2015 → fesm2022}/pepperi-addons-ngx-lib-textarea.mjs.map +1 -1
  290. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-textbox-icon.mjs +28 -25
  291. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-textbox-icon.mjs.map +1 -1
  292. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-textbox.mjs +156 -144
  293. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-textbox.mjs.map +1 -1
  294. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-top-bar.mjs +48 -32
  295. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-top-bar.mjs.map +1 -1
  296. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib.mjs +661 -449
  297. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib.mjs.map +1 -1
  298. package/field-title/field-title.component.d.ts +1 -1
  299. package/files-uploader/files-uploader.component.d.ts +1 -1
  300. package/form/field-generator.component.d.ts +1 -1
  301. package/form/form.component.d.ts +1 -1
  302. package/form/form.module.d.ts +2 -2
  303. package/form/indicators.component.d.ts +1 -1
  304. package/form/internal-button.component.d.ts +1 -1
  305. package/form/internal-carusel.component.d.ts +1 -1
  306. package/form/internal-field-generator.component.d.ts +1 -1
  307. package/form/internal-form.component.d.ts +1 -1
  308. package/form/internal-list.component.d.ts +1 -1
  309. package/form/internal-menu.component.d.ts +1 -1
  310. package/form/internal-page.component.d.ts +1 -1
  311. package/group-buttons/group-buttons.component.d.ts +1 -1
  312. package/icon/icon.component.d.ts +1 -1
  313. package/image/image.component.d.ts +1 -1
  314. package/images-filmstrip/images-filmstrip.component.d.ts +1 -1
  315. package/link/link.component.d.ts +1 -1
  316. package/list/list-actions.component.d.ts +1 -1
  317. package/list/list-carousel.component.d.ts +1 -1
  318. package/list/list-chooser.component.d.ts +1 -1
  319. package/list/list-pager.component.d.ts +1 -1
  320. package/list/list-sorting.component.d.ts +1 -1
  321. package/list/list-total.component.d.ts +1 -1
  322. package/list/list-views.component.d.ts +1 -1
  323. package/list/list.component.d.ts +1 -1
  324. package/list/virtual-scroller.d.ts +1 -1
  325. package/menu/menu-item.component.d.ts +1 -1
  326. package/menu/menu.component.d.ts +1 -1
  327. package/package.json +145 -235
  328. package/page-layout/page-layout.component.d.ts +1 -1
  329. package/profile-data-views-list/profile-data-view/profile-data-view.component.d.ts +1 -1
  330. package/profile-data-views-list/profile-data-views-card/profile-data-views-card.component.d.ts +1 -1
  331. package/profile-data-views-list/profile-data-views-list.component.d.ts +1 -1
  332. package/quantity-selector/quantity-selector-validation.directive.d.ts +1 -1
  333. package/quantity-selector/quantity-selector.component.d.ts +1 -1
  334. package/query-builder/query-builder-item/query-builder-item.component.d.ts +1 -1
  335. package/query-builder/query-builder-section/query-builder-section.component.d.ts +1 -1
  336. package/query-builder/query-builder.component.d.ts +1 -1
  337. package/query-builder/query-builder.module.d.ts +1 -1
  338. package/remote-loader/addon-block-loader.component.d.ts +1 -1
  339. package/remote-loader/remote-loader-element.component.d.ts +1 -1
  340. package/remote-loader/remote-loader.component.d.ts +1 -1
  341. package/rich-html-textarea/rich-html-textarea.component.d.ts +1 -1
  342. package/search/search.component.d.ts +1 -1
  343. package/select/select.component.d.ts +1 -1
  344. package/select-panel/select-panel.component.d.ts +1 -1
  345. package/separator/separator.component.d.ts +1 -1
  346. package/side-bar/side-bar.component.d.ts +1 -1
  347. package/signature/signature-dialog.component.d.ts +2 -2
  348. package/signature/signature.component.d.ts +1 -1
  349. package/signature/signature.module.d.ts +2 -2
  350. package/size-detector/size-detector.component.d.ts +1 -1
  351. package/size-detector/size-detector.module.d.ts +1 -1
  352. package/skeleton-loader/skeleton-loader.component.d.ts +1 -1
  353. package/slider/slider.component.d.ts +1 -1
  354. package/slider/slider.component.theme.scss +13 -6
  355. package/smart-filters/boolean-filter/boolean-filter.component.d.ts +1 -1
  356. package/smart-filters/common/filter-actions.component.d.ts +1 -1
  357. package/smart-filters/common/model/base-filter-component.d.ts +1 -1
  358. package/smart-filters/smart-filters.component.d.ts +1 -1
  359. package/smart-filters/smart-filters.module.d.ts +1 -1
  360. package/snack-bar/snack-bar.component.d.ts +1 -1
  361. package/textarea/textarea.component.d.ts +1 -1
  362. package/textbox/textbox-validation.directive.d.ts +1 -1
  363. package/textbox/textbox.component.d.ts +1 -1
  364. package/textbox-icon/textbox-icon.component.d.ts +1 -1
  365. package/top-bar/top-bar.component.d.ts +1 -1
  366. package/esm2020/address/address.component.mjs +0 -109
  367. package/esm2020/bread-crumbs/bread-crumbs.component.mjs +0 -85
  368. package/esm2020/bread-crumbs/bread-crumbs.model.mjs +0 -7
  369. package/esm2020/bread-crumbs/bread-crumbs.module.mjs +0 -50
  370. package/esm2020/button/button.model.mjs +0 -6
  371. package/esm2020/carousel/carousel-item.directive.mjs +0 -33
  372. package/esm2020/carousel/carousel.component.mjs +0 -745
  373. package/esm2020/checkbox/checkbox.component.mjs +0 -177
  374. package/esm2020/checkbox/checkbox.module.mjs +0 -63
  375. package/esm2020/chips/chips.component.mjs +0 -185
  376. package/esm2020/chips/chips.module.mjs +0 -81
  377. package/esm2020/color/color-picker.component.mjs +0 -224
  378. package/esm2020/color/color.component.mjs +0 -90
  379. package/esm2020/color/color.module.mjs +0 -93
  380. package/esm2020/core/common/directives/auto-width.directive.mjs +0 -77
  381. package/esm2020/core/common/directives/base-destroyer.directive.mjs +0 -22
  382. package/esm2020/core/common/directives/button-blur.directive.mjs +0 -24
  383. package/esm2020/core/common/directives/button-loader.directive.mjs +0 -112
  384. package/esm2020/core/common/directives/data-qa.directive.mjs +0 -23
  385. package/esm2020/core/common/directives/div-loader.directive.mjs +0 -61
  386. package/esm2020/core/common/directives/menu-blur.directive.mjs +0 -32
  387. package/esm2020/core/common/directives/prevent-multi-click.directive.mjs +0 -27
  388. package/esm2020/core/common/directives/print.directive.mjs +0 -170
  389. package/esm2020/core/common/model/wapi.model.mjs +0 -157
  390. package/esm2020/core/common/pipes/common-pipes.mjs +0 -177
  391. package/esm2020/core/common/pipes/date-ago.pipe.mjs +0 -46
  392. package/esm2020/core/common/services/addon.service.mjs +0 -227
  393. package/esm2020/core/common/services/color.service.mjs +0 -385
  394. package/esm2020/core/common/services/cookie.service.mjs +0 -153
  395. package/esm2020/core/common/services/data-convertor.service.mjs +0 -122
  396. package/esm2020/core/common/services/file.service.mjs +0 -250
  397. package/esm2020/core/common/services/session.service.mjs +0 -72
  398. package/esm2020/core/common/services/translate.service.mjs +0 -46
  399. package/esm2020/core/common/services/utilities.service.mjs +0 -301
  400. package/esm2020/core/common/services/validator.service.mjs +0 -272
  401. package/esm2020/core/common/services/window-scrolling.service.mjs +0 -36
  402. package/esm2020/core/customization/customization.model.mjs +0 -338
  403. package/esm2020/core/customization/customization.service.mjs +0 -799
  404. package/esm2020/core/http/interceptors/loader.interceptor.mjs +0 -32
  405. package/esm2020/core/http/services/http.service.mjs +0 -155
  406. package/esm2020/core/layout/layout.service.mjs +0 -168
  407. package/esm2020/core/layout/rtl.directive.mjs +0 -44
  408. package/esm2020/core/portal/attach.directive.mjs +0 -27
  409. package/esm2020/core/portal/portal.service.mjs +0 -36
  410. package/esm2020/core/portal/target.directive.mjs +0 -24
  411. package/esm2020/date/date.component.mjs +0 -334
  412. package/esm2020/date/date.module.mjs +0 -88
  413. package/esm2020/dialog/default-dialog.component.mjs +0 -37
  414. package/esm2020/dialog/dialog.component.mjs +0 -36
  415. package/esm2020/dialog/dialog.model.mjs +0 -33
  416. package/esm2020/dialog/dialog.module.mjs +0 -59
  417. package/esm2020/dialog/dialog.service.mjs +0 -103
  418. package/esm2020/draggable-items/draggable-item/draggable-item.component.mjs +0 -67
  419. package/esm2020/draggable-items/draggable-items.component.mjs +0 -94
  420. package/esm2020/draggable-items/draggable-items.module.mjs +0 -64
  421. package/esm2020/field-title/field-title.component.mjs +0 -48
  422. package/esm2020/field-title/field-title.module.mjs +0 -47
  423. package/esm2020/files-uploader/files-uploader.module.mjs +0 -79
  424. package/esm2020/form/field-generator.component.mjs +0 -152
  425. package/esm2020/form/form.component.mjs +0 -1240
  426. package/esm2020/form/form.module.mjs +0 -179
  427. package/esm2020/form/indicators.component.mjs +0 -23
  428. package/esm2020/form/internal-button.component.mjs +0 -184
  429. package/esm2020/form/internal-carusel.component.mjs +0 -121
  430. package/esm2020/form/internal-carusel.service.mjs +0 -32
  431. package/esm2020/form/internal-field-generator.component.mjs +0 -146
  432. package/esm2020/form/internal-form.component.mjs +0 -1218
  433. package/esm2020/form/internal-list.component.mjs +0 -513
  434. package/esm2020/form/internal-menu.component.mjs +0 -64
  435. package/esm2020/form/internal-page.component.mjs +0 -361
  436. package/esm2020/form/internal-page.service.mjs +0 -120
  437. package/esm2020/group-buttons/group-buttons.component.mjs +0 -71
  438. package/esm2020/group-buttons/group-buttons.module.mjs +0 -59
  439. package/esm2020/icon/icon-registry.service.mjs +0 -26
  440. package/esm2020/icon/icon.component.mjs +0 -91
  441. package/esm2020/icon/icon.service.mjs +0 -31
  442. package/esm2020/image/image.module.mjs +0 -74
  443. package/esm2020/image/image.service.mjs +0 -50
  444. package/esm2020/images-filmstrip/images-filmstrip.component.mjs +0 -338
  445. package/esm2020/images-filmstrip/images-filmstrip.module.mjs +0 -83
  446. package/esm2020/link/link.component.mjs +0 -315
  447. package/esm2020/link/link.module.mjs +0 -80
  448. package/esm2020/list/list-actions.component.mjs +0 -44
  449. package/esm2020/list/list-carousel.component.mjs +0 -107
  450. package/esm2020/list/list-chooser.component.mjs +0 -64
  451. package/esm2020/list/list-pager.component.mjs +0 -120
  452. package/esm2020/list/list-total.component.mjs +0 -33
  453. package/esm2020/list/list-views.component.mjs +0 -85
  454. package/esm2020/list/list.component.mjs +0 -1382
  455. package/esm2020/list/list.module.mjs +0 -144
  456. package/esm2020/list/list.pipes.mjs +0 -47
  457. package/esm2020/list/virtual-scroller.mjs +0 -1080
  458. package/esm2020/menu/menu-item.component.mjs +0 -115
  459. package/esm2020/menu/menu.component.mjs +0 -216
  460. package/esm2020/menu/menu.model.mjs +0 -20
  461. package/esm2020/menu/menu.module.mjs +0 -59
  462. package/esm2020/page-layout/page-layout.component.mjs +0 -35
  463. package/esm2020/profile-data-views-list/profile-data-view/profile-data-view.component.mjs +0 -45
  464. package/esm2020/profile-data-views-list/profile-data-views-card/profile-data-views-card.component.mjs +0 -81
  465. package/esm2020/profile-data-views-list/profile-data-views-list.component.mjs +0 -127
  466. package/esm2020/profile-data-views-list/profile-data-views-list.module.mjs +0 -88
  467. package/esm2020/quantity-selector/quantity-selector-validation.directive.mjs +0 -49
  468. package/esm2020/quantity-selector/quantity-selector.module.mjs +0 -82
  469. package/esm2020/query-builder/common/model/type-map.mjs +0 -27
  470. package/esm2020/query-builder/common/services/output-query.service.mjs +0 -116
  471. package/esm2020/query-builder/common/services/query-structure.service.mjs +0 -258
  472. package/esm2020/query-builder/common/services/type-convertor.service.mjs +0 -42
  473. package/esm2020/query-builder/query-builder-item/query-builder-item.component.mjs +0 -127
  474. package/esm2020/query-builder/query-builder-section/query-builder-section.component.mjs +0 -71
  475. package/esm2020/query-builder/query-builder.component.mjs +0 -110
  476. package/esm2020/query-builder/query-builder.module.mjs +0 -70
  477. package/esm2020/remote-loader/addon-block-loader.component.mjs +0 -112
  478. package/esm2020/remote-loader/addon-block-loader.service.mjs +0 -65
  479. package/esm2020/remote-loader/remote-loader-element.component.mjs +0 -171
  480. package/esm2020/remote-loader/remote-loader.component.mjs +0 -115
  481. package/esm2020/remote-loader/remote-loader.service.mjs +0 -104
  482. package/esm2020/rich-html-textarea/rich-html-textarea.module.mjs +0 -95
  483. package/esm2020/search/search.component.mjs +0 -317
  484. package/esm2020/search/search.module.mjs +0 -70
  485. package/esm2020/select/select.component.mjs +0 -334
  486. package/esm2020/select/select.module.mjs +0 -70
  487. package/esm2020/select-panel/select-panel.component.mjs +0 -157
  488. package/esm2020/separator/separator.component.mjs +0 -63
  489. package/esm2020/side-bar/side-bar.component.mjs +0 -136
  490. package/esm2020/side-bar/side-bar.module.mjs +0 -55
  491. package/esm2020/signature/signature-dialog.component.mjs +0 -79
  492. package/esm2020/signature/signature.module.mjs +0 -91
  493. package/esm2020/size-detector/size-detector.component.mjs +0 -94
  494. package/esm2020/size-detector/size-detector.module.mjs +0 -35
  495. package/esm2020/skeleton-loader/skeleton-loader.component.mjs +0 -44
  496. package/esm2020/slider/slider.component.mjs +0 -101
  497. package/esm2020/smart-filters/boolean-filter/boolean-filter.component.mjs +0 -75
  498. package/esm2020/smart-filters/common/filter-actions.component.mjs +0 -29
  499. package/esm2020/smart-filters/common/model/base-filter-component.mjs +0 -290
  500. package/esm2020/smart-filters/common/model/field.mjs +0 -117
  501. package/esm2020/smart-filters/common/model/operator.mjs +0 -280
  502. package/esm2020/smart-filters/date-filter/date-filter.component.mjs +0 -182
  503. package/esm2020/smart-filters/multi-select-filter/multi-select-filter.component.mjs +0 -200
  504. package/esm2020/smart-filters/number-filter/number-filter.component.mjs +0 -136
  505. package/esm2020/smart-filters/smart-filters.component.mjs +0 -141
  506. package/esm2020/smart-filters/smart-filters.module.mjs +0 -158
  507. package/esm2020/smart-filters/text-filter/text-filter.component.mjs +0 -113
  508. package/esm2020/snack-bar/default-snack-bar.component.mjs +0 -29
  509. package/esm2020/snack-bar/snack-bar.component.mjs +0 -26
  510. package/esm2020/snack-bar/snack-bar.model.mjs +0 -7
  511. package/esm2020/snack-bar/snack-bar.module.mjs +0 -63
  512. package/esm2020/snack-bar/snack-bar.service.mjs +0 -60
  513. package/esm2020/textarea/textarea.module.mjs +0 -82
  514. package/esm2020/textbox/textbox-validation.directive.mjs +0 -93
  515. package/esm2020/textbox/textbox.component.mjs +0 -638
  516. package/esm2020/textbox/textbox.module.mjs +0 -72
  517. package/esm2020/textbox-icon/textbox-icon.component.mjs +0 -48
  518. package/esm2020/textbox-icon/textbox-icon.module.mjs +0 -64
  519. package/esm2020/top-bar/top-bar.component.mjs +0 -112
  520. package/esm2020/top-bar/top-bar.module.mjs +0 -62
  521. package/fesm2015/pepperi-addons-ngx-lib-address.mjs +0 -170
  522. package/fesm2015/pepperi-addons-ngx-lib-address.mjs.map +0 -1
  523. package/fesm2015/pepperi-addons-ngx-lib-attachment.mjs +0 -306
  524. package/fesm2015/pepperi-addons-ngx-lib-attachment.mjs.map +0 -1
  525. package/fesm2015/pepperi-addons-ngx-lib-bread-crumbs.mjs +0 -147
  526. package/fesm2015/pepperi-addons-ngx-lib-bread-crumbs.mjs.map +0 -1
  527. package/fesm2015/pepperi-addons-ngx-lib-button.mjs +0 -197
  528. package/fesm2015/pepperi-addons-ngx-lib-button.mjs.map +0 -1
  529. package/fesm2015/pepperi-addons-ngx-lib-carousel.mjs +0 -804
  530. package/fesm2015/pepperi-addons-ngx-lib-carousel.mjs.map +0 -1
  531. package/fesm2015/pepperi-addons-ngx-lib-checkbox.mjs +0 -246
  532. package/fesm2015/pepperi-addons-ngx-lib-checkbox.mjs.map +0 -1
  533. package/fesm2015/pepperi-addons-ngx-lib-chips.mjs +0 -306
  534. package/fesm2015/pepperi-addons-ngx-lib-chips.mjs.map +0 -1
  535. package/fesm2015/pepperi-addons-ngx-lib-color.mjs +0 -404
  536. package/fesm2015/pepperi-addons-ngx-lib-color.mjs.map +0 -1
  537. package/fesm2015/pepperi-addons-ngx-lib-date.mjs +0 -481
  538. package/fesm2015/pepperi-addons-ngx-lib-date.mjs.map +0 -1
  539. package/fesm2015/pepperi-addons-ngx-lib-dialog.mjs +0 -263
  540. package/fesm2015/pepperi-addons-ngx-lib-dialog.mjs.map +0 -1
  541. package/fesm2015/pepperi-addons-ngx-lib-draggable-items.mjs +0 -227
  542. package/fesm2015/pepperi-addons-ngx-lib-draggable-items.mjs.map +0 -1
  543. package/fesm2015/pepperi-addons-ngx-lib-field-title.mjs +0 -102
  544. package/fesm2015/pepperi-addons-ngx-lib-field-title.mjs.map +0 -1
  545. package/fesm2015/pepperi-addons-ngx-lib-files-uploader.mjs +0 -331
  546. package/fesm2015/pepperi-addons-ngx-lib-files-uploader.mjs.map +0 -1
  547. package/fesm2015/pepperi-addons-ngx-lib-form.mjs +0 -4232
  548. package/fesm2015/pepperi-addons-ngx-lib-group-buttons.mjs +0 -136
  549. package/fesm2015/pepperi-addons-ngx-lib-group-buttons.mjs.map +0 -1
  550. package/fesm2015/pepperi-addons-ngx-lib-icon.mjs +0 -741
  551. package/fesm2015/pepperi-addons-ngx-lib-image.mjs +0 -397
  552. package/fesm2015/pepperi-addons-ngx-lib-image.mjs.map +0 -1
  553. package/fesm2015/pepperi-addons-ngx-lib-images-filmstrip.mjs +0 -426
  554. package/fesm2015/pepperi-addons-ngx-lib-images-filmstrip.mjs.map +0 -1
  555. package/fesm2015/pepperi-addons-ngx-lib-link.mjs +0 -414
  556. package/fesm2015/pepperi-addons-ngx-lib-link.mjs.map +0 -1
  557. package/fesm2015/pepperi-addons-ngx-lib-list.mjs +0 -3131
  558. package/fesm2015/pepperi-addons-ngx-lib-list.mjs.map +0 -1
  559. package/fesm2015/pepperi-addons-ngx-lib-menu.mjs +0 -403
  560. package/fesm2015/pepperi-addons-ngx-lib-page-layout.mjs.map +0 -1
  561. package/fesm2015/pepperi-addons-ngx-lib-profile-data-views-list.mjs +0 -337
  562. package/fesm2015/pepperi-addons-ngx-lib-profile-data-views-list.mjs.map +0 -1
  563. package/fesm2015/pepperi-addons-ngx-lib-quantity-selector.mjs +0 -741
  564. package/fesm2015/pepperi-addons-ngx-lib-query-builder.mjs +0 -1226
  565. package/fesm2015/pepperi-addons-ngx-lib-query-builder.mjs.map +0 -1
  566. package/fesm2015/pepperi-addons-ngx-lib-remote-loader.mjs +0 -644
  567. package/fesm2015/pepperi-addons-ngx-lib-remote-loader.mjs.map +0 -1
  568. package/fesm2015/pepperi-addons-ngx-lib-rich-html-textarea.mjs +0 -363
  569. package/fesm2015/pepperi-addons-ngx-lib-rich-html-textarea.mjs.map +0 -1
  570. package/fesm2015/pepperi-addons-ngx-lib-search.mjs +0 -393
  571. package/fesm2015/pepperi-addons-ngx-lib-search.mjs.map +0 -1
  572. package/fesm2015/pepperi-addons-ngx-lib-select-panel.mjs +0 -235
  573. package/fesm2015/pepperi-addons-ngx-lib-select-panel.mjs.map +0 -1
  574. package/fesm2015/pepperi-addons-ngx-lib-select.mjs +0 -410
  575. package/fesm2015/pepperi-addons-ngx-lib-select.mjs.map +0 -1
  576. package/fesm2015/pepperi-addons-ngx-lib-separator.mjs +0 -89
  577. package/fesm2015/pepperi-addons-ngx-lib-separator.mjs.map +0 -1
  578. package/fesm2015/pepperi-addons-ngx-lib-side-bar.mjs +0 -196
  579. package/fesm2015/pepperi-addons-ngx-lib-side-bar.mjs.map +0 -1
  580. package/fesm2015/pepperi-addons-ngx-lib-signature.mjs +0 -464
  581. package/fesm2015/pepperi-addons-ngx-lib-signature.mjs.map +0 -1
  582. package/fesm2015/pepperi-addons-ngx-lib-size-detector.mjs +0 -136
  583. package/fesm2015/pepperi-addons-ngx-lib-size-detector.mjs.map +0 -1
  584. package/fesm2015/pepperi-addons-ngx-lib-skeleton-loader.mjs +0 -78
  585. package/fesm2015/pepperi-addons-ngx-lib-slider.mjs +0 -151
  586. package/fesm2015/pepperi-addons-ngx-lib-slider.mjs.map +0 -1
  587. package/fesm2015/pepperi-addons-ngx-lib-smart-filters.mjs +0 -1731
  588. package/fesm2015/pepperi-addons-ngx-lib-snack-bar.mjs +0 -183
  589. package/fesm2015/pepperi-addons-ngx-lib-snack-bar.mjs.map +0 -1
  590. package/fesm2015/pepperi-addons-ngx-lib-textarea.mjs +0 -286
  591. package/fesm2015/pepperi-addons-ngx-lib-textbox-icon.mjs +0 -118
  592. package/fesm2015/pepperi-addons-ngx-lib-textbox-icon.mjs.map +0 -1
  593. package/fesm2015/pepperi-addons-ngx-lib-textbox.mjs +0 -806
  594. package/fesm2015/pepperi-addons-ngx-lib-textbox.mjs.map +0 -1
  595. package/fesm2015/pepperi-addons-ngx-lib-top-bar.mjs +0 -180
  596. package/fesm2015/pepperi-addons-ngx-lib-top-bar.mjs.map +0 -1
  597. package/fesm2015/pepperi-addons-ngx-lib.mjs +0 -4995
  598. package/fesm2015/pepperi-addons-ngx-lib.mjs.map +0 -1
  599. package/fesm2020/pepperi-addons-ngx-lib-address.mjs +0 -170
  600. package/fesm2020/pepperi-addons-ngx-lib-button.mjs +0 -197
  601. package/fesm2020/pepperi-addons-ngx-lib-chips.mjs +0 -305
  602. package/fesm2020/pepperi-addons-ngx-lib-draggable-items.mjs +0 -226
  603. package/fesm2020/pepperi-addons-ngx-lib-field-title.mjs +0 -102
  604. package/fesm2020/pepperi-addons-ngx-lib-files-uploader.mjs.map +0 -1
  605. package/fesm2020/pepperi-addons-ngx-lib-form.mjs.map +0 -1
  606. package/fesm2020/pepperi-addons-ngx-lib-icon.mjs.map +0 -1
  607. package/fesm2020/pepperi-addons-ngx-lib-images-filmstrip.mjs.map +0 -1
  608. package/fesm2020/pepperi-addons-ngx-lib-menu.mjs.map +0 -1
  609. package/fesm2020/pepperi-addons-ngx-lib-page-layout.mjs +0 -77
  610. package/fesm2020/pepperi-addons-ngx-lib-quantity-selector.mjs.map +0 -1
  611. package/fesm2020/pepperi-addons-ngx-lib-signature.mjs.map +0 -1
  612. package/fesm2020/pepperi-addons-ngx-lib-size-detector.mjs +0 -136
  613. package/fesm2020/pepperi-addons-ngx-lib-size-detector.mjs.map +0 -1
  614. package/fesm2020/pepperi-addons-ngx-lib-skeleton-loader.mjs +0 -76
  615. package/fesm2020/pepperi-addons-ngx-lib-skeleton-loader.mjs.map +0 -1
  616. package/fesm2020/pepperi-addons-ngx-lib-slider.mjs +0 -150
  617. package/fesm2020/pepperi-addons-ngx-lib-slider.mjs.map +0 -1
  618. package/fesm2020/pepperi-addons-ngx-lib-smart-filters.mjs.map +0 -1
  619. package/fesm2020/pepperi-addons-ngx-lib-textarea.mjs.map +0 -1
  620. /package/{esm2020 → esm2022}/address/pepperi-addons-ngx-lib-address.mjs +0 -0
  621. /package/{esm2020 → esm2022}/address/public-api.mjs +0 -0
  622. /package/{esm2020 → esm2022}/attachment/pepperi-addons-ngx-lib-attachment.mjs +0 -0
  623. /package/{esm2020 → esm2022}/attachment/public-api.mjs +0 -0
  624. /package/{esm2020 → esm2022}/bread-crumbs/pepperi-addons-ngx-lib-bread-crumbs.mjs +0 -0
  625. /package/{esm2020 → esm2022}/bread-crumbs/public-api.mjs +0 -0
  626. /package/{esm2020 → esm2022}/button/pepperi-addons-ngx-lib-button.mjs +0 -0
  627. /package/{esm2020 → esm2022}/button/public-api.mjs +0 -0
  628. /package/{esm2020 → esm2022}/carousel/pepperi-addons-ngx-lib-carousel.mjs +0 -0
  629. /package/{esm2020 → esm2022}/carousel/public-api.mjs +0 -0
  630. /package/{esm2020 → esm2022}/checkbox/pepperi-addons-ngx-lib-checkbox.mjs +0 -0
  631. /package/{esm2020 → esm2022}/checkbox/public-api.mjs +0 -0
  632. /package/{esm2020 → esm2022}/chips/chips.model.mjs +0 -0
  633. /package/{esm2020 → esm2022}/chips/pepperi-addons-ngx-lib-chips.mjs +0 -0
  634. /package/{esm2020 → esm2022}/chips/public-api.mjs +0 -0
  635. /package/{esm2020 → esm2022}/color/color.model.mjs +0 -0
  636. /package/{esm2020 → esm2022}/color/pepperi-addons-ngx-lib-color.mjs +0 -0
  637. /package/{esm2020 → esm2022}/color/public-api.mjs +0 -0
  638. /package/{esm2020 → esm2022}/core/clipboard/index.mjs +0 -0
  639. /package/{esm2020 → esm2022}/core/clipboard/public-api.mjs +0 -0
  640. /package/{esm2020 → esm2022}/core/common/directives/index.mjs +0 -0
  641. /package/{esm2020 → esm2022}/core/common/directives/public-api.mjs +0 -0
  642. /package/{esm2020 → esm2022}/core/common/index.mjs +0 -0
  643. /package/{esm2020 → esm2022}/core/common/model/index.mjs +0 -0
  644. /package/{esm2020 → esm2022}/core/common/model/papi.model.mjs +0 -0
  645. /package/{esm2020 → esm2022}/core/common/model/public-api.mjs +0 -0
  646. /package/{esm2020 → esm2022}/core/common/model/utilities.model.mjs +0 -0
  647. /package/{esm2020 → esm2022}/core/common/pipes/index.mjs +0 -0
  648. /package/{esm2020 → esm2022}/core/common/pipes/public-api.mjs +0 -0
  649. /package/{esm2020 → esm2022}/core/common/public-api.mjs +0 -0
  650. /package/{esm2020 → esm2022}/core/common/services/index.mjs +0 -0
  651. /package/{esm2020 → esm2022}/core/common/services/public-api.mjs +0 -0
  652. /package/{esm2020 → esm2022}/core/customization/index.mjs +0 -0
  653. /package/{esm2020 → esm2022}/core/customization/public-api.mjs +0 -0
  654. /package/{esm2020 → esm2022}/core/http/index.mjs +0 -0
  655. /package/{esm2020 → esm2022}/core/http/interceptors/index.mjs +0 -0
  656. /package/{esm2020 → esm2022}/core/http/public-api.mjs +0 -0
  657. /package/{esm2020 → esm2022}/core/index.mjs +0 -0
  658. /package/{esm2020 → esm2022}/core/layout/index.mjs +0 -0
  659. /package/{esm2020 → esm2022}/core/layout/public-api.mjs +0 -0
  660. /package/{esm2020 → esm2022}/core/portal/index.mjs +0 -0
  661. /package/{esm2020 → esm2022}/core/portal/public-api.mjs +0 -0
  662. /package/{esm2020 → esm2022}/core/public-api.mjs +0 -0
  663. /package/{esm2020 → esm2022}/core/scroll-to/index.mjs +0 -0
  664. /package/{esm2020 → esm2022}/core/scroll-to/public-api.mjs +0 -0
  665. /package/{esm2020 → esm2022}/date/pepperi-addons-ngx-lib-date.mjs +0 -0
  666. /package/{esm2020 → esm2022}/date/public-api.mjs +0 -0
  667. /package/{esm2020 → esm2022}/dialog/pepperi-addons-ngx-lib-dialog.mjs +0 -0
  668. /package/{esm2020 → esm2022}/dialog/public-api.mjs +0 -0
  669. /package/{esm2020 → esm2022}/draggable-items/draggable-items.model.mjs +0 -0
  670. /package/{esm2020 → esm2022}/draggable-items/pepperi-addons-ngx-lib-draggable-items.mjs +0 -0
  671. /package/{esm2020 → esm2022}/draggable-items/public-api.mjs +0 -0
  672. /package/{esm2020 → esm2022}/field-title/pepperi-addons-ngx-lib-field-title.mjs +0 -0
  673. /package/{esm2020 → esm2022}/field-title/public-api.mjs +0 -0
  674. /package/{esm2020 → esm2022}/files-uploader/pepperi-addons-ngx-lib-files-uploader.mjs +0 -0
  675. /package/{esm2020 → esm2022}/files-uploader/public-api.mjs +0 -0
  676. /package/{esm2020 → esm2022}/form/form.model.mjs +0 -0
  677. /package/{esm2020 → esm2022}/form/pepperi-addons-ngx-lib-form.mjs +0 -0
  678. /package/{esm2020 → esm2022}/form/public-api.mjs +0 -0
  679. /package/{esm2020 → esm2022}/group-buttons/pepperi-addons-ngx-lib-group-buttons.mjs +0 -0
  680. /package/{esm2020 → esm2022}/group-buttons/public-api.mjs +0 -0
  681. /package/{esm2020 → esm2022}/icon/icon-generated-all.model.mjs +0 -0
  682. /package/{esm2020 → esm2022}/icon/icon-generated.model.mjs +0 -0
  683. /package/{esm2020 → esm2022}/icon/pepperi-addons-ngx-lib-icon.mjs +0 -0
  684. /package/{esm2020 → esm2022}/icon/public-api.mjs +0 -0
  685. /package/{esm2020 → esm2022}/image/pepperi-addons-ngx-lib-image.mjs +0 -0
  686. /package/{esm2020 → esm2022}/image/public-api.mjs +0 -0
  687. /package/{esm2020 → esm2022}/images-filmstrip/pepperi-addons-ngx-lib-images-filmstrip.mjs +0 -0
  688. /package/{esm2020 → esm2022}/images-filmstrip/public-api.mjs +0 -0
  689. /package/{esm2020 → esm2022}/link/pepperi-addons-ngx-lib-link.mjs +0 -0
  690. /package/{esm2020 → esm2022}/link/public-api.mjs +0 -0
  691. /package/{esm2020 → esm2022}/list/pepperi-addons-ngx-lib-list.mjs +0 -0
  692. /package/{esm2020 → esm2022}/list/public-api.mjs +0 -0
  693. /package/{esm2020 → esm2022}/menu/pepperi-addons-ngx-lib-menu.mjs +0 -0
  694. /package/{esm2020 → esm2022}/menu/public-api.mjs +0 -0
  695. /package/{esm2020 → esm2022}/page-layout/pepperi-addons-ngx-lib-page-layout.mjs +0 -0
  696. /package/{esm2020 → esm2022}/page-layout/public-api.mjs +0 -0
  697. /package/{esm2020 → esm2022}/pepperi-addons-ngx-lib.mjs +0 -0
  698. /package/{esm2020 → esm2022}/profile-data-views-list/pepperi-addons-ngx-lib-profile-data-views-list.mjs +0 -0
  699. /package/{esm2020 → esm2022}/profile-data-views-list/profile-data-views-list.model.mjs +0 -0
  700. /package/{esm2020 → esm2022}/profile-data-views-list/public-api.mjs +0 -0
  701. /package/{esm2020 → esm2022}/public-api.mjs +0 -0
  702. /package/{esm2020 → esm2022}/quantity-selector/pepperi-addons-ngx-lib-quantity-selector.mjs +0 -0
  703. /package/{esm2020 → esm2022}/quantity-selector/public-api.mjs +0 -0
  704. /package/{esm2020 → esm2022}/query-builder/common/model/field.mjs +0 -0
  705. /package/{esm2020 → esm2022}/query-builder/common/model/filter.mjs +0 -0
  706. /package/{esm2020 → esm2022}/query-builder/common/model/legacy.mjs +0 -0
  707. /package/{esm2020 → esm2022}/query-builder/common/model/operator-unit.mjs +0 -0
  708. /package/{esm2020 → esm2022}/query-builder/common/model/operator.mjs +0 -0
  709. /package/{esm2020 → esm2022}/query-builder/common/model/structure.mjs +0 -0
  710. /package/{esm2020 → esm2022}/query-builder/common/model/type.mjs +0 -0
  711. /package/{esm2020 → esm2022}/query-builder/pepperi-addons-ngx-lib-query-builder.mjs +0 -0
  712. /package/{esm2020 → esm2022}/query-builder/public-api.mjs +0 -0
  713. /package/{esm2020 → esm2022}/remote-loader/pepperi-addons-ngx-lib-remote-loader.mjs +0 -0
  714. /package/{esm2020 → esm2022}/remote-loader/public-api.mjs +0 -0
  715. /package/{esm2020 → esm2022}/remote-loader/remote-loader.model.mjs +0 -0
  716. /package/{esm2020 → esm2022}/rich-html-textarea/pepperi-addons-ngx-lib-rich-html-textarea.mjs +0 -0
  717. /package/{esm2020 → esm2022}/rich-html-textarea/public-api.mjs +0 -0
  718. /package/{esm2020 → esm2022}/search/pepperi-addons-ngx-lib-search.mjs +0 -0
  719. /package/{esm2020 → esm2022}/search/public-api.mjs +0 -0
  720. /package/{esm2020 → esm2022}/search/search.model.mjs +0 -0
  721. /package/{esm2020 → esm2022}/select/pepperi-addons-ngx-lib-select.mjs +0 -0
  722. /package/{esm2020 → esm2022}/select/public-api.mjs +0 -0
  723. /package/{esm2020 → esm2022}/select-panel/pepperi-addons-ngx-lib-select-panel.mjs +0 -0
  724. /package/{esm2020 → esm2022}/select-panel/public-api.mjs +0 -0
  725. /package/{esm2020 → esm2022}/select-panel/select-panel.model.mjs +0 -0
  726. /package/{esm2020 → esm2022}/separator/pepperi-addons-ngx-lib-separator.mjs +0 -0
  727. /package/{esm2020 → esm2022}/separator/public-api.mjs +0 -0
  728. /package/{esm2020 → esm2022}/side-bar/pepperi-addons-ngx-lib-side-bar.mjs +0 -0
  729. /package/{esm2020 → esm2022}/side-bar/public-api.mjs +0 -0
  730. /package/{esm2020 → esm2022}/side-bar/side-bar.model.mjs +0 -0
  731. /package/{esm2020 → esm2022}/signature/pepperi-addons-ngx-lib-signature.mjs +0 -0
  732. /package/{esm2020 → esm2022}/signature/public-api.mjs +0 -0
  733. /package/{esm2020 → esm2022}/size-detector/pepperi-addons-ngx-lib-size-detector.mjs +0 -0
  734. /package/{esm2020 → esm2022}/size-detector/public-api.mjs +0 -0
  735. /package/{esm2020 → esm2022}/skeleton-loader/pepperi-addons-ngx-lib-skeleton-loader.mjs +0 -0
  736. /package/{esm2020 → esm2022}/skeleton-loader/public-api.mjs +0 -0
  737. /package/{esm2020 → esm2022}/slider/pepperi-addons-ngx-lib-slider.mjs +0 -0
  738. /package/{esm2020 → esm2022}/slider/public-api.mjs +0 -0
  739. /package/{esm2020 → esm2022}/smart-filters/common/model/creator.mjs +0 -0
  740. /package/{esm2020 → esm2022}/smart-filters/common/model/filter.mjs +0 -0
  741. /package/{esm2020 → esm2022}/smart-filters/common/model/type.mjs +0 -0
  742. /package/{esm2020 → esm2022}/smart-filters/pepperi-addons-ngx-lib-smart-filters.mjs +0 -0
  743. /package/{esm2020 → esm2022}/smart-filters/public-api.mjs +0 -0
  744. /package/{esm2020 → esm2022}/snack-bar/pepperi-addons-ngx-lib-snack-bar.mjs +0 -0
  745. /package/{esm2020 → esm2022}/snack-bar/public-api.mjs +0 -0
  746. /package/{esm2020 → esm2022}/textarea/pepperi-addons-ngx-lib-textarea.mjs +0 -0
  747. /package/{esm2020 → esm2022}/textarea/public-api.mjs +0 -0
  748. /package/{esm2020 → esm2022}/textbox/pepperi-addons-ngx-lib-textbox.mjs +0 -0
  749. /package/{esm2020 → esm2022}/textbox/public-api.mjs +0 -0
  750. /package/{esm2020 → esm2022}/textbox-icon/pepperi-addons-ngx-lib-textbox-icon.mjs +0 -0
  751. /package/{esm2020 → esm2022}/textbox-icon/public-api.mjs +0 -0
  752. /package/{esm2020 → esm2022}/top-bar/pepperi-addons-ngx-lib-top-bar.mjs +0 -0
  753. /package/{esm2020 → esm2022}/top-bar/public-api.mjs +0 -0
  754. /package/{esm2020 → esm2022}/top-bar/top-bar.model.mjs +0 -0
@@ -0,0 +1,84 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { ReactiveFormsModule } from '@angular/forms';
4
+ import { MatCommonModule } from '@angular/material/core';
5
+ import { MatFormFieldModule } from '@angular/material/form-field';
6
+ import { MatDialogModule } from '@angular/material/dialog';
7
+ import { MatIconModule } from '@angular/material/icon';
8
+ import { PepNgxLibModule } from '@pepperi-addons/ngx-lib';
9
+ import { PepFieldTitleModule } from '@pepperi-addons/ngx-lib/field-title';
10
+ import { PepButtonModule } from '@pepperi-addons/ngx-lib/button';
11
+ import { PepIconModule, pepIconSystemEdit, pepIconSystemClose, pepIconArrowRightAlt, pepIconArrowLeftAlt, } from '@pepperi-addons/ngx-lib/icon';
12
+ import { PepDialogModule } from '@pepperi-addons/ngx-lib/dialog';
13
+ import { GalleryModule } from 'ng-gallery';
14
+ import { PepImagesFilmstripComponent } from './images-filmstrip.component';
15
+ import * as i0 from "@angular/core";
16
+ import * as i1 from "@pepperi-addons/ngx-lib/icon";
17
+ export class PepImagesFilmstripModule {
18
+ pepIconRegistry;
19
+ constructor(pepIconRegistry) {
20
+ this.pepIconRegistry = pepIconRegistry;
21
+ this.pepIconRegistry.registerIcons([
22
+ pepIconSystemEdit,
23
+ pepIconSystemClose,
24
+ pepIconArrowRightAlt,
25
+ pepIconArrowLeftAlt,
26
+ ]);
27
+ }
28
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PepImagesFilmstripModule, deps: [{ token: i1.PepIconRegistry }], target: i0.ɵɵFactoryTarget.NgModule });
29
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: PepImagesFilmstripModule, declarations: [PepImagesFilmstripComponent], imports: [CommonModule,
30
+ ReactiveFormsModule,
31
+ // Material modules,
32
+ MatCommonModule,
33
+ MatFormFieldModule,
34
+ MatDialogModule,
35
+ MatIconModule,
36
+ // External modules
37
+ GalleryModule,
38
+ // ngx-lib modules
39
+ PepNgxLibModule,
40
+ PepButtonModule,
41
+ PepIconModule,
42
+ PepFieldTitleModule,
43
+ PepDialogModule], exports: [PepImagesFilmstripComponent] });
44
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PepImagesFilmstripModule, imports: [CommonModule,
45
+ ReactiveFormsModule,
46
+ // Material modules,
47
+ MatCommonModule,
48
+ MatFormFieldModule,
49
+ MatDialogModule,
50
+ MatIconModule,
51
+ // External modules
52
+ GalleryModule,
53
+ // ngx-lib modules
54
+ PepNgxLibModule,
55
+ PepButtonModule,
56
+ PepIconModule,
57
+ PepFieldTitleModule,
58
+ PepDialogModule] });
59
+ }
60
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PepImagesFilmstripModule, decorators: [{
61
+ type: NgModule,
62
+ args: [{
63
+ imports: [
64
+ CommonModule,
65
+ ReactiveFormsModule,
66
+ // Material modules,
67
+ MatCommonModule,
68
+ MatFormFieldModule,
69
+ MatDialogModule,
70
+ MatIconModule,
71
+ // External modules
72
+ GalleryModule,
73
+ // ngx-lib modules
74
+ PepNgxLibModule,
75
+ PepButtonModule,
76
+ PepIconModule,
77
+ PepFieldTitleModule,
78
+ PepDialogModule,
79
+ ],
80
+ exports: [PepImagesFilmstripComponent],
81
+ declarations: [PepImagesFilmstripComponent],
82
+ }]
83
+ }], ctorParameters: function () { return [{ type: i1.PepIconRegistry }]; } });
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2VzLWZpbG1zdHJpcC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL2ltYWdlcy1maWxtc3RyaXAvaW1hZ2VzLWZpbG1zdHJpcC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzFELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNqRSxPQUFPLEVBQ0gsYUFBYSxFQUViLGlCQUFpQixFQUNqQixrQkFBa0IsRUFDbEIsb0JBQW9CLEVBQ3BCLG1CQUFtQixHQUN0QixNQUFNLDhCQUE4QixDQUFDO0FBQ3RDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVqRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRTNDLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7QUF1QjNFLE1BQU0sT0FBTyx3QkFBd0I7SUFDYjtJQUFwQixZQUFvQixlQUFnQztRQUFoQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUM7WUFDL0IsaUJBQWlCO1lBQ2pCLGtCQUFrQjtZQUNsQixvQkFBb0I7WUFDcEIsbUJBQW1CO1NBQ3RCLENBQUMsQ0FBQztJQUNQLENBQUM7d0dBUlEsd0JBQXdCO3lHQUF4Qix3QkFBd0IsaUJBRmxCLDJCQUEyQixhQWpCdEMsWUFBWTtZQUNaLG1CQUFtQjtZQUNuQixvQkFBb0I7WUFDcEIsZUFBZTtZQUNmLGtCQUFrQjtZQUNsQixlQUFlO1lBQ2YsYUFBYTtZQUNiLG1CQUFtQjtZQUNuQixhQUFhO1lBQ2Isa0JBQWtCO1lBQ2xCLGVBQWU7WUFDZixlQUFlO1lBQ2YsYUFBYTtZQUNiLG1CQUFtQjtZQUNuQixlQUFlLGFBRVQsMkJBQTJCO3lHQUc1Qix3QkFBd0IsWUFuQjdCLFlBQVk7WUFDWixtQkFBbUI7WUFDbkIsb0JBQW9CO1lBQ3BCLGVBQWU7WUFDZixrQkFBa0I7WUFDbEIsZUFBZTtZQUNmLGFBQWE7WUFDYixtQkFBbUI7WUFDbkIsYUFBYTtZQUNiLGtCQUFrQjtZQUNsQixlQUFlO1lBQ2YsZUFBZTtZQUNmLGFBQWE7WUFDYixtQkFBbUI7WUFDbkIsZUFBZTs7NEZBS1Ysd0JBQXdCO2tCQXJCcEMsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWixtQkFBbUI7d0JBQ25CLG9CQUFvQjt3QkFDcEIsZUFBZTt3QkFDZixrQkFBa0I7d0JBQ2xCLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixtQkFBbUI7d0JBQ25CLGFBQWE7d0JBQ2Isa0JBQWtCO3dCQUNsQixlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixtQkFBbUI7d0JBQ25CLGVBQWU7cUJBQ2xCO29CQUNELE9BQU8sRUFBRSxDQUFDLDJCQUEyQixDQUFDO29CQUN0QyxZQUFZLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQztpQkFDOUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IE1hdENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXREaWFsb2dNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuXG5pbXBvcnQgeyBQZXBOZ3hMaWJNb2R1bGUgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYic7XG5pbXBvcnQgeyBQZXBGaWVsZFRpdGxlTW9kdWxlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvZmllbGQtdGl0bGUnO1xuaW1wb3J0IHsgUGVwQnV0dG9uTW9kdWxlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvYnV0dG9uJztcbmltcG9ydCB7XG4gICAgUGVwSWNvbk1vZHVsZSxcbiAgICBQZXBJY29uUmVnaXN0cnksXG4gICAgcGVwSWNvblN5c3RlbUVkaXQsXG4gICAgcGVwSWNvblN5c3RlbUNsb3NlLFxuICAgIHBlcEljb25BcnJvd1JpZ2h0QWx0LFxuICAgIHBlcEljb25BcnJvd0xlZnRBbHQsXG59IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL2ljb24nO1xuaW1wb3J0IHsgUGVwRGlhbG9nTW9kdWxlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvZGlhbG9nJztcblxuaW1wb3J0IHsgR2FsbGVyeU1vZHVsZSB9IGZyb20gJ25nLWdhbGxlcnknO1xuXG5pbXBvcnQgeyBQZXBJbWFnZXNGaWxtc3RyaXBDb21wb25lbnQgfSBmcm9tICcuL2ltYWdlcy1maWxtc3RyaXAuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICAgICAgLy8gTWF0ZXJpYWwgbW9kdWxlcyxcbiAgICAgICAgTWF0Q29tbW9uTW9kdWxlLFxuICAgICAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgICAgIE1hdERpYWxvZ01vZHVsZSxcbiAgICAgICAgTWF0SWNvbk1vZHVsZSxcbiAgICAgICAgLy8gRXh0ZXJuYWwgbW9kdWxlc1xuICAgICAgICBHYWxsZXJ5TW9kdWxlLFxuICAgICAgICAvLyBuZ3gtbGliIG1vZHVsZXNcbiAgICAgICAgUGVwTmd4TGliTW9kdWxlLFxuICAgICAgICBQZXBCdXR0b25Nb2R1bGUsXG4gICAgICAgIFBlcEljb25Nb2R1bGUsXG4gICAgICAgIFBlcEZpZWxkVGl0bGVNb2R1bGUsXG4gICAgICAgIFBlcERpYWxvZ01vZHVsZSxcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtQZXBJbWFnZXNGaWxtc3RyaXBDb21wb25lbnRdLFxuICAgIGRlY2xhcmF0aW9uczogW1BlcEltYWdlc0ZpbG1zdHJpcENvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFBlcEltYWdlc0ZpbG1zdHJpcE1vZHVsZSB7XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBwZXBJY29uUmVnaXN0cnk6IFBlcEljb25SZWdpc3RyeSkge1xuICAgICAgICB0aGlzLnBlcEljb25SZWdpc3RyeS5yZWdpc3Rlckljb25zKFtcbiAgICAgICAgICAgIHBlcEljb25TeXN0ZW1FZGl0LFxuICAgICAgICAgICAgcGVwSWNvblN5c3RlbUNsb3NlLFxuICAgICAgICAgICAgcGVwSWNvbkFycm93UmlnaHRBbHQsXG4gICAgICAgICAgICBwZXBJY29uQXJyb3dMZWZ0QWx0LFxuICAgICAgICBdKTtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,324 @@
1
+ import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy, ViewChild, HostBinding, } from '@angular/core';
2
+ import { PepCustomizationService, DEFAULT_HORIZONTAL_ALIGNMENT, PepTextboxField, } from '@pepperi-addons/ngx-lib';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@pepperi-addons/ngx-lib";
5
+ import * as i2 from "@ngx-translate/core";
6
+ import * as i3 from "./link.pipes";
7
+ import * as i4 from "@angular/common";
8
+ import * as i5 from "@angular/forms";
9
+ import * as i6 from "@angular/material/button";
10
+ import * as i7 from "@angular/material/form-field";
11
+ import * as i8 from "@angular/material/input";
12
+ import * as i9 from "@angular/material/icon";
13
+ import * as i10 from "@pepperi-addons/ngx-lib/icon";
14
+ import * as i11 from "@pepperi-addons/ngx-lib/field-title";
15
+ import * as i12 from "@pepperi-addons/ngx-lib/textbox-icon";
16
+ /**
17
+ * This is a text box input component that can be use to
18
+ *
19
+ * @export
20
+ * @class PepLinkComponent
21
+ * @implements {OnChanges}
22
+ * @implements {OnInit}
23
+ * @implements {OnDestroy}
24
+ */
25
+ export class PepLinkComponent {
26
+ customizationService;
27
+ renderer;
28
+ element;
29
+ translate;
30
+ utilitiesService;
31
+ isUrlPipe;
32
+ dataQa = '';
33
+ _key = '';
34
+ /**
35
+ * The text box key
36
+ *
37
+ * @memberof PepLinkComponent
38
+ */
39
+ set key(value) {
40
+ this._key = value;
41
+ this.dataQa = value;
42
+ }
43
+ get key() {
44
+ return this._key;
45
+ }
46
+ _value = '';
47
+ /**
48
+ * The value of the text box.
49
+ *
50
+ * @memberof PepLinkComponent
51
+ */
52
+ set value(value) {
53
+ if (!value) {
54
+ value = '';
55
+ }
56
+ this._value = value;
57
+ this.updateFormFieldValue();
58
+ }
59
+ get value() {
60
+ return this._value;
61
+ }
62
+ /**
63
+ * The display value of the link.
64
+ *
65
+ * @memberof PepLinkComponent
66
+ */
67
+ _displayValue = '';
68
+ set displayValue(value) {
69
+ this._displayValue = value;
70
+ }
71
+ get displayValue() {
72
+ return this._displayValue;
73
+ }
74
+ /**
75
+ * The title of the link.
76
+ *
77
+ * @memberof PepLinkComponent
78
+ */
79
+ label = '';
80
+ /**
81
+ * The placeholder (relevant only for children - if parent isn't null).
82
+ *
83
+ * @memberof PepLinkComponent
84
+ */
85
+ placeholder = '';
86
+ /**
87
+ * If the link is mandatory
88
+ *
89
+ * @memberof PepLinkComponent
90
+ */
91
+ mandatory = false;
92
+ /**
93
+ * If the link is disabled.
94
+ *
95
+ * @memberof PepLinkComponent
96
+ */
97
+ disabled = false;
98
+ /**
99
+ * If the link is readonly
100
+ *
101
+ * @memberof PepLinkComponent
102
+ */
103
+ readonly = false;
104
+ maxFieldCharacters;
105
+ textColor = '';
106
+ xAlignment = DEFAULT_HORIZONTAL_ALIGNMENT;
107
+ rowSpan = 1;
108
+ // @Input() lastFocusField: any;
109
+ _visible = true;
110
+ set visible(visible) {
111
+ this._visible = visible;
112
+ if (visible) {
113
+ this.renderer.removeClass(this.element.nativeElement, 'hidden-element');
114
+ }
115
+ else {
116
+ this.renderer.addClass(this.element.nativeElement, 'hidden-element');
117
+ }
118
+ }
119
+ get visible() {
120
+ return this._visible;
121
+ }
122
+ form = null;
123
+ isActive = false;
124
+ showTitle = true;
125
+ renderTitle = true;
126
+ renderError = true;
127
+ renderSymbol = true;
128
+ layoutType = 'form';
129
+ /**
130
+ * The value change event.
131
+ *
132
+ * @type {EventEmitter<string>}
133
+ * @memberof PepLinkComponent
134
+ */
135
+ valueChange = new EventEmitter();
136
+ // @Output()
137
+ // formValidationChange: EventEmitter<boolean> = new EventEmitter<boolean>();
138
+ elementClick = new EventEmitter();
139
+ keyup = new EventEmitter();
140
+ validationChange = new EventEmitter();
141
+ input;
142
+ controlType = 'link';
143
+ standAlone = false;
144
+ isInEditMode = false;
145
+ isInFocus;
146
+ isUrl = false;
147
+ constructor(customizationService, renderer, element, translate, utilitiesService, isUrlPipe) {
148
+ this.customizationService = customizationService;
149
+ this.renderer = renderer;
150
+ this.element = element;
151
+ this.translate = translate;
152
+ this.utilitiesService = utilitiesService;
153
+ this.isUrlPipe = isUrlPipe;
154
+ this.isInFocus = false;
155
+ }
156
+ updateFormFieldValue() {
157
+ this.customizationService.updateFormFieldValue(this.form, this.key, this.value);
158
+ // Raise this only for stand alone fields, If false then the usage for this field is inside a form.
159
+ // Then the form will take care of raising the (onFormValidationChanged) event
160
+ if (this.standAlone) {
161
+ const isValid = (this.disabled || this.readonly) ? true : this.form.valid;
162
+ this.validationChange.emit(isValid);
163
+ }
164
+ }
165
+ setDefaultForm() {
166
+ const pepField = new PepTextboxField({
167
+ key: this.key,
168
+ value: this.value,
169
+ mandatory: this.mandatory,
170
+ readonly: this.readonly,
171
+ disabled: this.disabled,
172
+ maxFieldCharacters: this.maxFieldCharacters,
173
+ type: 'link',
174
+ });
175
+ this.form = this.customizationService.getDefaultFromGroup(pepField, this.renderError);
176
+ }
177
+ ngOnInit() {
178
+ if (this.form === null) {
179
+ this.standAlone = true;
180
+ this.setDefaultForm();
181
+ this.renderer.addClass(this.element.nativeElement, PepCustomizationService.STAND_ALONE_FIELD_CLASS_NAME);
182
+ if (!this.renderTitle) {
183
+ this.renderer.addClass(this.element.nativeElement, PepCustomizationService.STAND_ALONE_FIELD_NO_SPACING_CLASS_NAME);
184
+ }
185
+ }
186
+ this.updateFormFieldValue();
187
+ }
188
+ ngOnChanges(changes) {
189
+ if (this.standAlone) {
190
+ this.setDefaultForm();
191
+ }
192
+ }
193
+ ngOnDestroy() {
194
+ //
195
+ }
196
+ onFocus(event) {
197
+ this.isInFocus = true;
198
+ // select the value in focus (DI-18246 improvement)
199
+ setTimeout(() => {
200
+ const eventTarget = event.target || event.srcElement;
201
+ if (eventTarget) {
202
+ eventTarget.select();
203
+ }
204
+ }, 0);
205
+ }
206
+ isValueValid(value) {
207
+ // TODO: Maybe need to check other types.
208
+ const res = true;
209
+ return res;
210
+ }
211
+ onChange(e) {
212
+ const value = e.target ? e.target.value : e;
213
+ this.valueChange.emit(value);
214
+ }
215
+ onKeyup(event) {
216
+ this.keyup.emit(event);
217
+ }
218
+ onBlur(e) {
219
+ this.isInFocus = false;
220
+ const value = e.target ? e.target.value : e;
221
+ if (value !== this.value) {
222
+ // If renderError is false and the new value is not valid.
223
+ if (!this.renderError && !this.isValueValid(value)) {
224
+ this.renderer.setProperty(this.input.nativeElement, 'value', this.value);
225
+ }
226
+ else {
227
+ this.value = value;
228
+ this.valueChange.emit(value);
229
+ }
230
+ }
231
+ if (this.isInEditMode) {
232
+ this.isInEditMode = false;
233
+ }
234
+ }
235
+ onClick() {
236
+ const output = {
237
+ key: this.key,
238
+ value: this.value,
239
+ controlType: this.controlType
240
+ };
241
+ this.elementClick.emit(output);
242
+ }
243
+ anchorClicked() {
244
+ const currentValue = this.value;
245
+ if (currentValue.trim().length > 0) {
246
+ const output = {
247
+ key: this.key,
248
+ value: this.value,
249
+ controlType: this.controlType
250
+ };
251
+ this.elementClick.emit(output);
252
+ if (this.isUrlPipe.transform(currentValue)) {
253
+ window.open(currentValue);
254
+ }
255
+ }
256
+ }
257
+ cardTemplateClicked(event) {
258
+ this.isInEditMode = true;
259
+ setTimeout(() => {
260
+ this.input.nativeElement.focus();
261
+ }, 0);
262
+ }
263
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PepLinkComponent, deps: [{ token: i1.PepCustomizationService }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i2.TranslateService }, { token: i1.PepUtilitiesService }, { token: i3.IsUrlPipe }], target: i0.ɵɵFactoryTarget.Component });
264
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PepLinkComponent, selector: "pep-link", inputs: { key: "key", value: "value", displayValue: "displayValue", label: "label", placeholder: "placeholder", mandatory: "mandatory", disabled: "disabled", readonly: "readonly", maxFieldCharacters: "maxFieldCharacters", textColor: "textColor", xAlignment: "xAlignment", rowSpan: "rowSpan", visible: "visible", form: "form", isActive: "isActive", showTitle: "showTitle", renderTitle: "renderTitle", renderError: "renderError", renderSymbol: "renderSymbol", layoutType: "layoutType" }, outputs: { valueChange: "valueChange", elementClick: "elementClick", keyup: "keyup", validationChange: "validationChange" }, host: { properties: { "attr.data-qa": "this.dataQa" } }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-container [formGroup]=\"form\">\n <ng-template #pepTemplate let-isFormView=\"isFormView\" let-hasParent=\"hasParent\">\n <pep-field-title *ngIf=\"renderTitle && isFormView && !hasParent\" [label]=\"label\" [mandatory]=\"mandatory\"\n [disabled]=\"disabled\" [maxFieldCharacters]=\"maxFieldCharacters\" [xAlignment]=\"xAlignment\"\n [showTitle]=\"showTitle\" [inputLength]=\"input.value?.length\">\n </pep-field-title>\n <mat-form-field appearance=\"outline\">\n <input #input pepTextboxValidation [id]=\"key\" [name]=\"key\" class=\" body-sm \" matInput autocomplete=\"off\"\n maxlength=\"{{ maxFieldCharacters > 0 ? maxFieldCharacters : 99999 }}\"\n [placeholder]=\"hasParent && !disabled ? placeholder : ''\"\n [ngStyle]=\"{ color: textColor, 'text-align': xAlignment == 'center' ? 'center' : xAlignment == 'right' ? 'right' : 'left' }\"\n title=\"{{ displayValue }}\" [formControlName]=\"key\" [value]=\"displayValue\"\n (keyup.enter)=\"$event?.currentTarget?.blur()\" (focus)=\"onFocus($event)\" (blur)=\"onBlur($event)\"\n (change)=\"onChange($event)\" (keyup)=\"onKeyup($event)\" [ngClass]=\"{'disable-hidden': disabled && displayValue?.length > 0}\" />\n\n <span *ngIf=\"disabled && displayValue?.length > 0\" class=\"dis-grid\">\n &nbsp;\n <a href=\"javascript:void(0)\" (click)=\"anchorClicked()\" [id]=\"key\" [name]=\"key\"\n class=\"color-link body-sm \"\n [ngClass]=\"{'disable-link': disabled && (!value || value?.length == 0)}\">\n {{displayValue}}\n </a>\n &nbsp;\n </span>\n <mat-error *ngIf=\"renderError\">\n <ng-container *ngIf=\"mandatory && input.value.length == 0 then requiredError else otherError\">\n </ng-container>\n <ng-template #requiredError>\n <span class=\"body-xs\" [title]=\"('MESSAGES.ERROR_IS_REQUIRED' | translate: { field: label })\"\n [innerText]=\"('MESSAGES.ERROR_IS_REQUIRED' | translate: { field: label })\">\n </span>\n </ng-template>\n <ng-template #otherError>\n </ng-template>\n </mat-error>\n\n <pep-textbox-icon *ngIf=\"renderSymbol && isFormView && xAlignment == 'right'\" matPrefix [value]=\"value\"\n [label]=\"label\" type=\"link\" [disabled]=\"disabled\">\n </pep-textbox-icon>\n <pep-textbox-icon *ngIf=\"renderSymbol && isFormView && (xAlignment == 'left')\" matSuffix [value]=\"value\"\n [label]=\"label\" type=\"link\" [disabled]=\"disabled\">\n </pep-textbox-icon>\n </mat-form-field>\n </ng-template>\n\n <ng-container *ngIf=\"layoutType === 'form'\">\n <ng-container *ngTemplateOutlet=\"pepTemplate; context: { isFormView: true, hasParent: false }\">\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"layoutType === 'card'\">\n <ng-container *ngIf=\"isInEditMode; then editBlock; else readOnlyBlock\"></ng-container>\n <ng-template #editBlock>\n <div [ngClass]=\"{'one-row': rowSpan === 1}\">\n <ng-container *ngTemplateOutlet=\"pepTemplate; context: { isFormView: false, hasParent: false }\">\n </ng-container>\n </div>\n </ng-template>\n <ng-template #readOnlyBlock>\n <div class=\"pep-card-input card-flex-container\" [ngStyle]=\"{ color: textColor }\"\n [class]=\"'text-align-' + xAlignment\" [ngClass]=\"{'one-row': rowSpan === 1,\n 'multi-rows': rowSpan > 1,\n 'pep-button weak': isActive && !disabled}\"\n (click)=\"!disabled ? cardTemplateClicked($event) : ''\">\n <span *ngIf=\"showTitle && label != ''\" class=\"body-xs title\" title=\"{{ label }}\">{{ label\n }}&nbsp;</span>\n <span [id]=\"key\" title=\"{{ displayValue }}\" class=\"body-sm value\"\n [ngClass]=\"{'multi-rows-text': rowSpan > 1}\" [ngStyle]=\"{ '-webkit-line-clamp': rowSpan }\">{{\n displayValue }}</span>\n <button *ngIf=\"isActive && !disabled\" class=\"pep-button weak card-edit-button\" mat-button>\n <mat-icon>\n <pep-icon name=\"system_edit\">\n </pep-icon>\n </mat-icon>\n </button>\n </div>\n </ng-template>\n\n </ng-container>\n\n <ng-container *ngIf=\"layoutType === 'table'\">\n <ng-container *ngIf=\"isActive && !disabled; then selectedBlock; else notSelectedBlock\"></ng-container>\n <ng-template #selectedBlock>\n <ng-container *ngTemplateOutlet=\"pepTemplate; context: { isFormView: false, hasParent: false }\">\n </ng-container>\n </ng-template>\n <ng-template #notSelectedBlock>\n <ng-container *ngIf=\"displayValue?.length > 0; then notEmptyBlock; else emptyBlock\"></ng-container>\n <ng-template #notEmptyBlock>\n <a *ngIf=\"displayValue != null && (value ? value : displayValue) | isUrl\" [id]=\"key\"\n class=\"color-link body-sm pep-report-input\"\n [ngClass]=\"{'disable': (disabled && value === '')}\" title=\"{{ displayValue }}\"\n target=\"_blank\" href=\"{{ value ? value : displayValue }}\" (click)=\"onClick()\">{{\n displayValue }}</a>\n <a *ngIf=\"displayValue != null && !((value ? value : displayValue) | isUrl)\" [id]=\"key\"\n class=\"color-link body-sm pep-report-input\"\n [ngClass]=\"{'disable': (disabled && value === '')}\" title=\"{{ displayValue }}\"\n href=\"javascript:void(0)\" (click)=\"onClick()\">{{\n displayValue }}</a>\n </ng-template>\n <ng-template #emptyBlock>\n <span [id]=\"key\">&nbsp;</span>\n </ng-template>\n </ng-template>\n </ng-container>\n\n</ng-container>", styles: [":host{height:inherit;display:grid}:host>*{align-self:center;align-items:baseline}.disable-hidden{display:none}.disable-link{text-decoration:none;color:inherit!important;cursor:inherit}.dis-grid{display:grid;grid-auto-flow:column;align-items:center}.multi-rows-text{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;white-space:normal!important}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i5.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: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i6.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i7.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i7.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i7.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i7.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i8.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: "component", type: i9.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10.PepIconComponent, selector: "pep-icon", inputs: ["spin", "name", "fill"] }, { kind: "component", type: i11.PepFieldTitleComponent, selector: "pep-field-title", inputs: ["label", "mandatory", "disabled", "maxFieldCharacters", "hint", "xAlignment", "showTitle", "inputLength", "fontBodyType", "multiLine"] }, { kind: "component", type: i12.PepTextboxIconComponent, selector: "pep-textbox-icon", inputs: ["value", "label", "type", "disabled"], outputs: ["iconClick"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "pipe", type: i3.IsUrlPipe, name: "isUrl" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
265
+ }
266
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PepLinkComponent, decorators: [{
267
+ type: Component,
268
+ args: [{ selector: 'pep-link', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container [formGroup]=\"form\">\n <ng-template #pepTemplate let-isFormView=\"isFormView\" let-hasParent=\"hasParent\">\n <pep-field-title *ngIf=\"renderTitle && isFormView && !hasParent\" [label]=\"label\" [mandatory]=\"mandatory\"\n [disabled]=\"disabled\" [maxFieldCharacters]=\"maxFieldCharacters\" [xAlignment]=\"xAlignment\"\n [showTitle]=\"showTitle\" [inputLength]=\"input.value?.length\">\n </pep-field-title>\n <mat-form-field appearance=\"outline\">\n <input #input pepTextboxValidation [id]=\"key\" [name]=\"key\" class=\" body-sm \" matInput autocomplete=\"off\"\n maxlength=\"{{ maxFieldCharacters > 0 ? maxFieldCharacters : 99999 }}\"\n [placeholder]=\"hasParent && !disabled ? placeholder : ''\"\n [ngStyle]=\"{ color: textColor, 'text-align': xAlignment == 'center' ? 'center' : xAlignment == 'right' ? 'right' : 'left' }\"\n title=\"{{ displayValue }}\" [formControlName]=\"key\" [value]=\"displayValue\"\n (keyup.enter)=\"$event?.currentTarget?.blur()\" (focus)=\"onFocus($event)\" (blur)=\"onBlur($event)\"\n (change)=\"onChange($event)\" (keyup)=\"onKeyup($event)\" [ngClass]=\"{'disable-hidden': disabled && displayValue?.length > 0}\" />\n\n <span *ngIf=\"disabled && displayValue?.length > 0\" class=\"dis-grid\">\n &nbsp;\n <a href=\"javascript:void(0)\" (click)=\"anchorClicked()\" [id]=\"key\" [name]=\"key\"\n class=\"color-link body-sm \"\n [ngClass]=\"{'disable-link': disabled && (!value || value?.length == 0)}\">\n {{displayValue}}\n </a>\n &nbsp;\n </span>\n <mat-error *ngIf=\"renderError\">\n <ng-container *ngIf=\"mandatory && input.value.length == 0 then requiredError else otherError\">\n </ng-container>\n <ng-template #requiredError>\n <span class=\"body-xs\" [title]=\"('MESSAGES.ERROR_IS_REQUIRED' | translate: { field: label })\"\n [innerText]=\"('MESSAGES.ERROR_IS_REQUIRED' | translate: { field: label })\">\n </span>\n </ng-template>\n <ng-template #otherError>\n </ng-template>\n </mat-error>\n\n <pep-textbox-icon *ngIf=\"renderSymbol && isFormView && xAlignment == 'right'\" matPrefix [value]=\"value\"\n [label]=\"label\" type=\"link\" [disabled]=\"disabled\">\n </pep-textbox-icon>\n <pep-textbox-icon *ngIf=\"renderSymbol && isFormView && (xAlignment == 'left')\" matSuffix [value]=\"value\"\n [label]=\"label\" type=\"link\" [disabled]=\"disabled\">\n </pep-textbox-icon>\n </mat-form-field>\n </ng-template>\n\n <ng-container *ngIf=\"layoutType === 'form'\">\n <ng-container *ngTemplateOutlet=\"pepTemplate; context: { isFormView: true, hasParent: false }\">\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"layoutType === 'card'\">\n <ng-container *ngIf=\"isInEditMode; then editBlock; else readOnlyBlock\"></ng-container>\n <ng-template #editBlock>\n <div [ngClass]=\"{'one-row': rowSpan === 1}\">\n <ng-container *ngTemplateOutlet=\"pepTemplate; context: { isFormView: false, hasParent: false }\">\n </ng-container>\n </div>\n </ng-template>\n <ng-template #readOnlyBlock>\n <div class=\"pep-card-input card-flex-container\" [ngStyle]=\"{ color: textColor }\"\n [class]=\"'text-align-' + xAlignment\" [ngClass]=\"{'one-row': rowSpan === 1,\n 'multi-rows': rowSpan > 1,\n 'pep-button weak': isActive && !disabled}\"\n (click)=\"!disabled ? cardTemplateClicked($event) : ''\">\n <span *ngIf=\"showTitle && label != ''\" class=\"body-xs title\" title=\"{{ label }}\">{{ label\n }}&nbsp;</span>\n <span [id]=\"key\" title=\"{{ displayValue }}\" class=\"body-sm value\"\n [ngClass]=\"{'multi-rows-text': rowSpan > 1}\" [ngStyle]=\"{ '-webkit-line-clamp': rowSpan }\">{{\n displayValue }}</span>\n <button *ngIf=\"isActive && !disabled\" class=\"pep-button weak card-edit-button\" mat-button>\n <mat-icon>\n <pep-icon name=\"system_edit\">\n </pep-icon>\n </mat-icon>\n </button>\n </div>\n </ng-template>\n\n </ng-container>\n\n <ng-container *ngIf=\"layoutType === 'table'\">\n <ng-container *ngIf=\"isActive && !disabled; then selectedBlock; else notSelectedBlock\"></ng-container>\n <ng-template #selectedBlock>\n <ng-container *ngTemplateOutlet=\"pepTemplate; context: { isFormView: false, hasParent: false }\">\n </ng-container>\n </ng-template>\n <ng-template #notSelectedBlock>\n <ng-container *ngIf=\"displayValue?.length > 0; then notEmptyBlock; else emptyBlock\"></ng-container>\n <ng-template #notEmptyBlock>\n <a *ngIf=\"displayValue != null && (value ? value : displayValue) | isUrl\" [id]=\"key\"\n class=\"color-link body-sm pep-report-input\"\n [ngClass]=\"{'disable': (disabled && value === '')}\" title=\"{{ displayValue }}\"\n target=\"_blank\" href=\"{{ value ? value : displayValue }}\" (click)=\"onClick()\">{{\n displayValue }}</a>\n <a *ngIf=\"displayValue != null && !((value ? value : displayValue) | isUrl)\" [id]=\"key\"\n class=\"color-link body-sm pep-report-input\"\n [ngClass]=\"{'disable': (disabled && value === '')}\" title=\"{{ displayValue }}\"\n href=\"javascript:void(0)\" (click)=\"onClick()\">{{\n displayValue }}</a>\n </ng-template>\n <ng-template #emptyBlock>\n <span [id]=\"key\">&nbsp;</span>\n </ng-template>\n </ng-template>\n </ng-container>\n\n</ng-container>", styles: [":host{height:inherit;display:grid}:host>*{align-self:center;align-items:baseline}.disable-hidden{display:none}.disable-link{text-decoration:none;color:inherit!important;cursor:inherit}.dis-grid{display:grid;grid-auto-flow:column;align-items:center}.multi-rows-text{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;white-space:normal!important}\n"] }]
269
+ }], ctorParameters: function () { return [{ type: i1.PepCustomizationService }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i2.TranslateService }, { type: i1.PepUtilitiesService }, { type: i3.IsUrlPipe }]; }, propDecorators: { dataQa: [{
270
+ type: HostBinding,
271
+ args: ['attr.data-qa']
272
+ }], key: [{
273
+ type: Input
274
+ }], value: [{
275
+ type: Input
276
+ }], displayValue: [{
277
+ type: Input
278
+ }], label: [{
279
+ type: Input
280
+ }], placeholder: [{
281
+ type: Input
282
+ }], mandatory: [{
283
+ type: Input
284
+ }], disabled: [{
285
+ type: Input
286
+ }], readonly: [{
287
+ type: Input
288
+ }], maxFieldCharacters: [{
289
+ type: Input
290
+ }], textColor: [{
291
+ type: Input
292
+ }], xAlignment: [{
293
+ type: Input
294
+ }], rowSpan: [{
295
+ type: Input
296
+ }], visible: [{
297
+ type: Input
298
+ }], form: [{
299
+ type: Input
300
+ }], isActive: [{
301
+ type: Input
302
+ }], showTitle: [{
303
+ type: Input
304
+ }], renderTitle: [{
305
+ type: Input
306
+ }], renderError: [{
307
+ type: Input
308
+ }], renderSymbol: [{
309
+ type: Input
310
+ }], layoutType: [{
311
+ type: Input
312
+ }], valueChange: [{
313
+ type: Output
314
+ }], elementClick: [{
315
+ type: Output
316
+ }], keyup: [{
317
+ type: Output
318
+ }], validationChange: [{
319
+ type: Output
320
+ }], input: [{
321
+ type: ViewChild,
322
+ args: ['input']
323
+ }] } });
324
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL2xpbmsvbGluay5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL2xpbmsvbGluay5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUdULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUNaLHVCQUF1QixFQUV2QixTQUFTLEVBSVQsV0FBVyxHQUNkLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFFSCx1QkFBdUIsRUFFdkIsNEJBQTRCLEVBRTVCLGVBQWUsR0FJbEIsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7QUFHakM7Ozs7Ozs7O0dBUUc7QUFPSCxNQUFNLE9BQU8sZ0JBQWdCO0lBdUpiO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQTFKaUIsTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUVqQyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQ2xCOzs7O09BSUc7SUFDSCxJQUNJLEdBQUcsQ0FBQyxLQUFLO1FBQ1QsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7UUFDbEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDeEIsQ0FBQztJQUNELElBQUksR0FBRztRQUNILE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNyQixDQUFDO0lBRU8sTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUNwQjs7OztPQUlHO0lBQ0gsSUFDSSxLQUFLLENBQUMsS0FBYTtRQUNuQixJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1IsS0FBSyxHQUFHLEVBQUUsQ0FBQztTQUNkO1FBRUQsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUNELElBQUksS0FB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QixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFTTixXQUFXO3NCQURWLE1BQU07Z0JBT1AsWUFBWTtzQkFEWCxNQUFNO2dCQUlQLEtBQUs7c0JBREosTUFBTTtnQkFJUCxnQkFBZ0I7c0JBRGYsTUFBTTtnQkFHYSxLQUFLO3NCQUF4QixTQUFTO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBPbkluaXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgRWxlbWVudFJlZixcbiAgICBWaWV3Q2hpbGQsXG4gICAgUmVuZGVyZXIyLFxuICAgIE9uRGVzdHJveSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBIb3N0QmluZGluZyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge1xuICAgIFBlcExheW91dFR5cGUsXG4gICAgUGVwQ3VzdG9taXphdGlvblNlcnZpY2UsXG4gICAgUGVwSG9yaXpvbnRhbEFsaWdubWVudCxcbiAgICBERUZBVUxUX0hPUklaT05UQUxfQUxJR05NRU5ULFxuICAgIFBlcFRleHRib3hGaWVsZFR5cGUsXG4gICAgUGVwVGV4dGJveEZpZWxkLFxuICAgIFBlcEZpZWxkQmFzZSxcbiAgICBQZXBVdGlsaXRpZXNTZXJ2aWNlLFxuICAgIElQZXBGaWVsZENsaWNrRXZlbnQsXG59IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliJztcbmltcG9ydCB7IElzVXJsUGlwZSB9IGZyb20gJy4vbGluay5waXBlcyc7XG5cbi8qKlxuICogVGhpcyBpcyBhIHRleHQgYm94IGlucHV0IGNvbXBvbmVudCB0aGF0IGNhbiBiZSB1c2UgdG9cbiAqXG4gKiBAZXhwb3J0XG4gKiBAY2xhc3MgUGVwTGlua0NvbXBvbmVudFxuICogQGltcGxlbWVudHMge09uQ2hhbmdlc31cbiAqIEBpbXBsZW1lbnRzIHtPbkluaXR9XG4gKiBAaW1wbGVtZW50cyB7T25EZXN0cm95fVxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3BlcC1saW5rJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbGluay5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbGluay5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBQZXBMaW5rQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1xYScpIGRhdGFRYSA9ICcnO1xuXG4gICAgcHJpdmF0ZSBfa2V5ID0gJyc7XG4gICAgLyoqXG4gICAgICogVGhlIHRleHQgYm94IGtleVxuICAgICAqXG4gICAgICogQG1lbWJlcm9mIFBlcExpbmtDb21wb25lbnRcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBrZXkodmFsdWUpIHtcbiAgICAgICAgdGhpcy5fa2V5ID0gdmFsdWU7XG4gICAgICAgIHRoaXMuZGF0YVFhID0gdmFsdWU7XG4gICAgfVxuICAgIGdldCBrZXkoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2tleTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF92YWx1ZSA9ICcnO1xuICAgIC8qKlxuICAgICAqIFRoZSB2YWx1ZSBvZiB0aGUgdGV4dCBib3guXG4gICAgICpcbiAgICAgKiBAbWVtYmVyb2YgUGVwTGlua0NvbXBvbmVudFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICAgICAgdmFsdWUgPSAnJztcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XG4gICAgICAgIHRoaXMudXBkYXRlRm9ybUZpZWxkVmFsdWUoKTtcbiAgICB9XG4gICAgZ2V0IHZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgZGlzcGxheSB2YWx1ZSBvZiB0aGUgbGluay5cbiAgICAgKlxuICAgICAqIEBtZW1iZXJvZiBQZXBMaW5rQ29tcG9uZW50XG4gICAgICovXG4gICAgcHJpdmF0ZSBfZGlzcGxheVZhbHVlOiBhbnkgPSAnJztcbiAgICBASW5wdXQoKVxuICAgIHNldCBkaXNwbGF5VmFsdWUodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9kaXNwbGF5VmFsdWUgPSB2YWx1ZTsgICAgICAgXG4gICAgfVxuICAgIGdldCBkaXNwbGF5VmFsdWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Rpc3BsYXlWYWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgdGl0bGUgb2YgdGhlIGxpbmsuXG4gICAgICpcbiAgICAgKiBAbWVtYmVyb2YgUGVwTGlua0NvbXBvbmVudFxuICAgICAqL1xuICAgIEBJbnB1dCgpIGxhYmVsID0gJyc7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgcGxhY2Vob2xkZXIgKHJlbGV2YW50IG9ubHkgZm9yIGNoaWxkcmVuIC0gaWYgcGFyZW50IGlzbid0IG51bGwpLlxuICAgICAqXG4gICAgICogQG1lbWJlcm9mIFBlcExpbmtDb21wb25lbnRcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwbGFjZWhvbGRlciA9ICcnO1xuXG4gICAgLyoqXG4gICAgICogSWYgdGhlIGxpbmsgaXMgbWFuZGF0b3J5XG4gICAgICpcbiAgICAgKiBAbWVtYmVyb2YgUGVwTGlua0NvbXBvbmVudFxuICAgICAqL1xuICAgIEBJbnB1dCgpIG1hbmRhdG9yeSA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogSWYgdGhlIGxpbmsgaXMgZGlzYWJsZWQuXG4gICAgICpcbiAgICAgKiBAbWVtYmVyb2YgUGVwTGlua0NvbXBvbmVudFxuICAgICAqL1xuICAgIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBJZiB0aGUgbGluayBpcyByZWFkb25seVxuICAgICAqXG4gICAgICogQG1lbWJlcm9mIFBlcExpbmtDb21wb25lbnRcbiAgICAgKi9cbiAgICBASW5wdXQoKSByZWFkb25seSA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIG1heEZpZWxkQ2hhcmFjdGVyczogbnVtYmVyO1xuICAgIEBJbnB1dCgpIHRleHRDb2xvciA9ICcnO1xuICAgIEBJbnB1dCgpIHhBbGlnbm1lbnQ6IFBlcEhvcml6b250YWxBbGlnbm1lbnQgPSBERUZBVUxUX0hPUklaT05UQUxfQUxJR05NRU5UO1xuICAgIEBJbnB1dCgpIHJvd1NwYW4gPSAxO1xuICAgIC8vIEBJbnB1dCgpIGxhc3RGb2N1c0ZpZWxkOiBhbnk7XG4gICAgXG4gICAgcHJpdmF0ZSBfdmlzaWJsZSA9IHRydWU7XG4gICAgQElucHV0KClcbiAgICBzZXQgdmlzaWJsZSh2aXNpYmxlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX3Zpc2libGUgPSB2aXNpYmxlO1xuICAgICAgICBpZiAodmlzaWJsZSkge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyhcbiAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgICAnaGlkZGVuLWVsZW1lbnQnXG4gICAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhcbiAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgICAnaGlkZGVuLWVsZW1lbnQnXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuICAgIGdldCB2aXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fdmlzaWJsZTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBmb3JtOiBGb3JtR3JvdXAgPSBudWxsO1xuICAgIEBJbnB1dCgpIGlzQWN0aXZlID0gZmFsc2U7XG4gICAgQElucHV0KCkgc2hvd1RpdGxlID0gdHJ1ZTtcbiAgICBASW5wdXQoKSByZW5kZXJUaXRsZSA9IHRydWU7XG4gICAgQElucHV0KCkgcmVuZGVyRXJyb3IgPSB0cnVlO1xuICAgIEBJbnB1dCgpIHJlbmRlclN5bWJvbCA9IHRydWU7XG4gICAgQElucHV0KCkgbGF5b3V0VHlwZTogUGVwTGF5b3V0VHlwZSA9ICdmb3JtJztcbiAgICBcbiAgICAvKipcbiAgICAgKiBUaGUgdmFsdWUgY2hhbmdlIGV2ZW50LlxuICAgICAqXG4gICAgICogQHR5cGUge0V2ZW50RW1pdHRlcjxzdHJpbmc+fVxuICAgICAqIEBtZW1iZXJvZiBQZXBMaW5rQ29tcG9uZW50XG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgdmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgICAvLyBAT3V0cHV0KClcbiAgICAvLyBmb3JtVmFsaWRhdGlvbkNoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgZWxlbWVudENsaWNrOiBFdmVudEVtaXR0ZXI8SVBlcEZpZWxkQ2xpY2tFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPElQZXBGaWVsZENsaWNrRXZlbnQ+KCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBrZXl1cDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHZhbGlkYXRpb25DaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIEBWaWV3Q2hpbGQoJ2lucHV0JykgaW5wdXQ6IEVsZW1lbnRSZWY7XG5cbiAgICBjb250cm9sVHlwZSA9ICdsaW5rJztcblxuICAgIHN0YW5kQWxvbmUgPSBmYWxzZTtcbiAgICBpc0luRWRpdE1vZGUgPSBmYWxzZTtcbiAgICBpc0luRm9jdXM6IGJvb2xlYW47XG4gICAgaXNVcmwgPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGN1c3RvbWl6YXRpb25TZXJ2aWNlOiBQZXBDdXN0b21pemF0aW9uU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICBwcml2YXRlIGVsZW1lbnQ6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHV0aWxpdGllc1NlcnZpY2U6IFBlcFV0aWxpdGllc1NlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgaXNVcmxQaXBlOiBJc1VybFBpcGVcbiAgICApIHtcbiAgICAgICAgdGhpcy5pc0luRm9jdXMgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUZvcm1GaWVsZFZhbHVlKCkge1xuICAgICAgICB0aGlzLmN1c3RvbWl6YXRpb25TZXJ2aWNlLnVwZGF0ZUZvcm1GaWVsZFZhbHVlKFxuICAgICAgICAgICAgdGhpcy5mb3JtLFxuICAgICAgICAgICAgdGhpcy5rZXksXG4gICAgICAgICAgICB0aGlzLnZhbHVlXG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gUmFpc2UgdGhpcyBvbmx5IGZvciBzdGFuZCBhbG9uZSBmaWVsZHMsIElmIGZhbHNlIHRoZW4gdGhlIHVzYWdlIGZvciB0aGlzIGZpZWxkIGlzIGluc2lkZSBhIGZvcm0uIFxuICAgICAgICAvLyBUaGVuIHRoZSBmb3JtIHdpbGwgdGFrZSBjYXJlIG9mIHJhaXNpbmcgdGhlIChvbkZvcm1WYWxpZGF0aW9uQ2hhbmdlZCkgZXZlbnRcbiAgICAgICAgaWYgKHRoaXMuc3RhbmRBbG9uZSkge1xuICAgICAgICAgICAgY29uc3QgaXNWYWxpZCA9ICh0aGlzLmRpc2FibGVkIHx8IHRoaXMucmVhZG9ubHkpID8gdHJ1ZSA6IHRoaXMuZm9ybS52YWxpZDsgXG4gICAgICAgICAgICB0aGlzLnZhbGlkYXRpb25DaGFuZ2UuZW1pdChpc1ZhbGlkKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc2V0RGVmYXVsdEZvcm0oKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHBlcEZpZWxkID0gbmV3IFBlcFRleHRib3hGaWVsZCh7XG4gICAgICAgICAgICBrZXk6IHRoaXMua2V5LFxuICAgICAgICAgICAgdmFsdWU6IHRoaXMudmFsdWUsXG4gICAgICAgICAgICBtYW5kYXRvcnk6IHRoaXMubWFuZGF0b3J5LFxuICAgICAgICAgICAgcmVhZG9ubHk6IHRoaXMucmVhZG9ubHksXG4gICAgICAgICAgICBkaXNhYmxlZDogdGhpcy5kaXNhYmxlZCxcbiAgICAgICAgICAgIG1heEZpZWxkQ2hhcmFjdGVyczogdGhpcy5tYXhGaWVsZENoYXJhY3RlcnMsXG4gICAgICAgICAgICB0eXBlOiAnbGluaycsXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmZvcm0gPSB0aGlzLmN1c3RvbWl6YXRpb25TZXJ2aWNlLmdldERlZmF1bHRGcm9tR3JvdXAoXG4gICAgICAgICAgICBwZXBGaWVsZCxcbiAgICAgICAgICAgIHRoaXMucmVuZGVyRXJyb3JcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZm9ybSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy5zdGFuZEFsb25lID0gdHJ1ZTtcblxuICAgICAgICAgICAgdGhpcy5zZXREZWZhdWx0Rm9ybSgpO1xuXG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKFxuICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgICAgIFBlcEN1c3RvbWl6YXRpb25TZXJ2aWNlLlNUQU5EX0FMT05FX0ZJRUxEX0NMQVNTX05BTUVcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIGlmICghdGhpcy5yZW5kZXJUaXRsZSkge1xuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MoXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgICAgICAgICBQZXBDdXN0b21pemF0aW9uU2VydmljZS5TVEFORF9BTE9ORV9GSUVMRF9OT19TUEFDSU5HX0NMQVNTX05BTUVcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy51cGRhdGVGb3JtRmllbGRWYWx1ZSgpO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IGFueSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5zdGFuZEFsb25lKSB7XG4gICAgICAgICAgICB0aGlzLnNldERlZmF1bHRGb3JtKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgLy9cbiAgICB9XG5cbiAgICBvbkZvY3VzKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc0luRm9jdXMgPSB0cnVlO1xuXG4gICAgICAgIC8vIHNlbGVjdCB0aGUgdmFsdWUgaW4gZm9jdXMgKERJLTE4MjQ2IGltcHJvdmVtZW50KVxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGV2ZW50VGFyZ2V0ID0gZXZlbnQudGFyZ2V0IHx8IGV2ZW50LnNyY0VsZW1lbnQ7XG4gICAgICAgICAgICBpZiAoZXZlbnRUYXJnZXQpIHtcbiAgICAgICAgICAgICAgICBldmVudFRhcmdldC5zZWxlY3QoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSwgMCk7XG4gICAgfVxuXG4gICAgaXNWYWx1ZVZhbGlkKHZhbHVlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgLy8gVE9ETzogTWF5YmUgbmVlZCB0byBjaGVjayBvdGhlciB0eXBlcy5cbiAgICAgICAgY29uc3QgcmVzID0gdHJ1ZTtcblxuICAgICAgICByZXR1cm4gcmVzO1xuICAgIH1cblxuICAgIG9uQ2hhbmdlKGU6IGFueSk6IHZvaWQge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IGUudGFyZ2V0ID8gZS50YXJnZXQudmFsdWUgOiBlO1xuXG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgb25LZXl1cChldmVudCk6IGFueSB7XG4gICAgICAgIHRoaXMua2V5dXAuZW1pdChldmVudCk7XG4gICAgfVxuXG4gICAgb25CbHVyKGU6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzSW5Gb2N1cyA9IGZhbHNlO1xuICAgICAgICBjb25zdCB2YWx1ZSA9IGUudGFyZ2V0ID8gZS50YXJnZXQudmFsdWUgOiBlO1xuICAgICAgICBpZiAodmFsdWUgIT09IHRoaXMudmFsdWUpIHtcbiAgICAgICAgICAgIC8vIElmIHJlbmRlckVycm9yIGlzIGZhbHNlIGFuZCB0aGUgbmV3IHZhbHVlIGlzIG5vdCB2YWxpZC5cbiAgICAgICAgICAgIGlmICghdGhpcy5yZW5kZXJFcnJvciAmJiAhdGhpcy5pc1ZhbHVlVmFsaWQodmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eShcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgICAgICAgICAndmFsdWUnLFxuICAgICAgICAgICAgICAgICAgICB0aGlzLnZhbHVlXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5pc0luRWRpdE1vZGUpIHtcbiAgICAgICAgICAgIHRoaXMuaXNJbkVkaXRNb2RlID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkNsaWNrKCkge1xuICAgICAgICBjb25zdCBvdXRwdXQ6IElQZXBGaWVsZENsaWNrRXZlbnQgPSB7XG4gICAgICAgICAgICBrZXk6IHRoaXMua2V5LFxuICAgICAgICAgICAgdmFsdWU6IHRoaXMudmFsdWUsXG4gICAgICAgICAgICBjb250cm9sVHlwZTogdGhpcy5jb250cm9sVHlwZVxuICAgICAgICB9XG4gICAgICAgIHRoaXMuZWxlbWVudENsaWNrLmVtaXQob3V0cHV0KTtcbiAgICB9XG5cbiAgICBhbmNob3JDbGlja2VkKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBjdXJyZW50VmFsdWUgPSB0aGlzLnZhbHVlO1xuICAgICAgICBpZiAoY3VycmVudFZhbHVlLnRyaW0oKS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBjb25zdCBvdXRwdXQ6IElQZXBGaWVsZENsaWNrRXZlbnQgPSB7XG4gICAgICAgICAgICAgICAga2V5OiB0aGlzLmtleSxcbiAgICAgICAgICAgICAgICB2YWx1ZTogdGhpcy52YWx1ZSxcbiAgICAgICAgICAgICAgICBjb250cm9sVHlwZTogdGhpcy5jb250cm9sVHlwZVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5lbGVtZW50Q2xpY2suZW1pdChvdXRwdXQpO1xuICAgICAgICAgICAgaWYgKHRoaXMuaXNVcmxQaXBlLnRyYW5zZm9ybShjdXJyZW50VmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgd2luZG93Lm9wZW4oY3VycmVudFZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNhcmRUZW1wbGF0ZUNsaWNrZWQoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzSW5FZGl0TW9kZSA9IHRydWU7XG5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfSwgMCk7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciBbZm9ybUdyb3VwXT1cImZvcm1cIj5cbiAgICA8bmctdGVtcGxhdGUgI3BlcFRlbXBsYXRlIGxldC1pc0Zvcm1WaWV3PVwiaXNGb3JtVmlld1wiIGxldC1oYXNQYXJlbnQ9XCJoYXNQYXJlbnRcIj5cbiAgICAgICAgPHBlcC1maWVsZC10aXRsZSAqbmdJZj1cInJlbmRlclRpdGxlICYmIGlzRm9ybVZpZXcgJiYgIWhhc1BhcmVudFwiIFtsYWJlbF09XCJsYWJlbFwiIFttYW5kYXRvcnldPVwibWFuZGF0b3J5XCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIFttYXhGaWVsZENoYXJhY3RlcnNdPVwibWF4RmllbGRDaGFyYWN0ZXJzXCIgW3hBbGlnbm1lbnRdPVwieEFsaWdubWVudFwiXG4gICAgICAgICAgICBbc2hvd1RpdGxlXT1cInNob3dUaXRsZVwiIFtpbnB1dExlbmd0aF09XCJpbnB1dC52YWx1ZT8ubGVuZ3RoXCI+XG4gICAgICAgIDwvcGVwLWZpZWxkLXRpdGxlPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cbiAgICAgICAgICAgIDxpbnB1dCAjaW5wdXQgcGVwVGV4dGJveFZhbGlkYXRpb24gW2lkXT1cImtleVwiIFtuYW1lXT1cImtleVwiIGNsYXNzPVwiIGJvZHktc20gXCIgbWF0SW5wdXQgYXV0b2NvbXBsZXRlPVwib2ZmXCJcbiAgICAgICAgICAgICAgICBtYXhsZW5ndGg9XCJ7eyBtYXhGaWVsZENoYXJhY3RlcnMgPiAwID8gbWF4RmllbGRDaGFyYWN0ZXJzIDogOTk5OTkgfX1cIlxuICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJoYXNQYXJlbnQgJiYgIWRpc2FibGVkID8gcGxhY2Vob2xkZXIgOiAnJ1wiXG4gICAgICAgICAgICAgICAgW25nU3R5bGVdPVwieyBjb2xvcjogdGV4dENvbG9yLCAndGV4dC1hbGlnbic6IHhBbGlnbm1lbnQgPT0gJ2NlbnRlcicgPyAnY2VudGVyJyA6IHhBbGlnbm1lbnQgPT0gJ3JpZ2h0JyA/ICdyaWdodCcgOiAnbGVmdCcgfVwiXG4gICAgICAgICAgICAgICAgdGl0bGU9XCJ7eyBkaXNwbGF5VmFsdWUgfX1cIiBbZm9ybUNvbnRyb2xOYW1lXT1cImtleVwiIFt2YWx1ZV09XCJkaXNwbGF5VmFsdWVcIlxuICAgICAgICAgICAgICAgIChrZXl1cC5lbnRlcik9XCIkZXZlbnQ/LmN1cnJlbnRUYXJnZXQ/LmJsdXIoKVwiIChmb2N1cyk9XCJvbkZvY3VzKCRldmVudClcIiAoYmx1cik9XCJvbkJsdXIoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJvbkNoYW5nZSgkZXZlbnQpXCIgKGtleXVwKT1cIm9uS2V5dXAoJGV2ZW50KVwiIFtuZ0NsYXNzXT1cInsnZGlzYWJsZS1oaWRkZW4nOiBkaXNhYmxlZCAmJiBkaXNwbGF5VmFsdWU/Lmxlbmd0aCA+IDB9XCIgLz5cblxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJkaXNhYmxlZCAmJiBkaXNwbGF5VmFsdWU/Lmxlbmd0aCA+IDBcIiBjbGFzcz1cImRpcy1ncmlkXCI+XG4gICAgICAgICAgICAgICAgJm5ic3A7XG4gICAgICAgICAgICAgICAgPGEgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiIChjbGljayk9XCJhbmNob3JDbGlja2VkKClcIiBbaWRdPVwia2V5XCIgW25hbWVdPVwia2V5XCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjb2xvci1saW5rIGJvZHktc20gXCJcbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieydkaXNhYmxlLWxpbmsnOiBkaXNhYmxlZCAmJiAoIXZhbHVlIHx8IHZhbHVlPy5sZW5ndGggPT0gMCl9XCI+XG4gICAgICAgICAgICAgICAgICAgIHt7ZGlzcGxheVZhbHVlfX1cbiAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgJm5ic3A7XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwicmVuZGVyRXJyb3JcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibWFuZGF0b3J5ICYmIGlucHV0LnZhbHVlLmxlbmd0aCA9PSAwIHRoZW4gcmVxdWlyZWRFcnJvciBlbHNlIG90aGVyRXJyb3JcIj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI3JlcXVpcmVkRXJyb3I+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYm9keS14c1wiIFt0aXRsZV09XCIoJ01FU1NBR0VTLkVSUk9SX0lTX1JFUVVJUkVEJyB8IHRyYW5zbGF0ZTogeyBmaWVsZDogbGFiZWwgfSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2lubmVyVGV4dF09XCIoJ01FU1NBR0VTLkVSUk9SX0lTX1JFUVVJUkVEJyB8IHRyYW5zbGF0ZTogeyBmaWVsZDogbGFiZWwgfSlcIj5cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNvdGhlckVycm9yPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L21hdC1lcnJvcj5cblxuICAgICAgICAgICAgPHBlcC10ZXh0Ym94LWljb24gKm5nSWY9XCJyZW5kZXJTeW1ib2wgJiYgaXNGb3JtVmlldyAmJiB4QWxpZ25tZW50ID09ICdyaWdodCdcIiBtYXRQcmVmaXggW3ZhbHVlXT1cInZhbHVlXCJcbiAgICAgICAgICAgICAgICBbbGFiZWxdPVwibGFiZWxcIiB0eXBlPVwibGlua1wiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxuICAgICAgICAgICAgPC9wZXAtdGV4dGJveC1pY29uPlxuICAgICAgICAgICAgPHBlcC10ZXh0Ym94LWljb24gKm5nSWY9XCJyZW5kZXJTeW1ib2wgJiYgaXNGb3JtVmlldyAmJiAoeEFsaWdubWVudCA9PSAnbGVmdCcpXCIgbWF0U3VmZml4IFt2YWx1ZV09XCJ2YWx1ZVwiXG4gICAgICAgICAgICAgICAgW2xhYmVsXT1cImxhYmVsXCIgdHlwZT1cImxpbmtcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cbiAgICAgICAgICAgIDwvcGVwLXRleHRib3gtaWNvbj5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxheW91dFR5cGUgPT09ICdmb3JtJ1wiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicGVwVGVtcGxhdGU7IGNvbnRleHQ6IHsgaXNGb3JtVmlldzogdHJ1ZSwgaGFzUGFyZW50OiBmYWxzZSB9XCI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxheW91dFR5cGUgPT09ICdjYXJkJ1wiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNJbkVkaXRNb2RlOyB0aGVuIGVkaXRCbG9jazsgZWxzZSByZWFkT25seUJsb2NrXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjZWRpdEJsb2NrPlxuICAgICAgICAgICAgPGRpdiBbbmdDbGFzc109XCJ7J29uZS1yb3cnOiByb3dTcGFuID09PSAxfVwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJwZXBUZW1wbGF0ZTsgY29udGV4dDogeyBpc0Zvcm1WaWV3OiBmYWxzZSwgaGFzUGFyZW50OiBmYWxzZSB9XCI+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNyZWFkT25seUJsb2NrPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBlcC1jYXJkLWlucHV0IGNhcmQtZmxleC1jb250YWluZXJcIiBbbmdTdHlsZV09XCJ7IGNvbG9yOiB0ZXh0Q29sb3IgfVwiXG4gICAgICAgICAgICAgICAgW2NsYXNzXT1cIid0ZXh0LWFsaWduLScgKyB4QWxpZ25tZW50XCIgW25nQ2xhc3NdPVwieydvbmUtcm93Jzogcm93U3BhbiA9PT0gMSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbXVsdGktcm93cyc6IHJvd1NwYW4gPiAxLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwZXAtYnV0dG9uIHdlYWsnOiBpc0FjdGl2ZSAmJiAhZGlzYWJsZWR9XCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiIWRpc2FibGVkID8gY2FyZFRlbXBsYXRlQ2xpY2tlZCgkZXZlbnQpIDogJydcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInNob3dUaXRsZSAmJiBsYWJlbCAhPSAnJ1wiIGNsYXNzPVwiYm9keS14cyB0aXRsZVwiIHRpdGxlPVwie3sgbGFiZWwgfX1cIj57eyBsYWJlbFxuICAgICAgICAgICAgICAgICAgICB9fSZuYnNwOzwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8c3BhbiBbaWRdPVwia2V5XCIgdGl0bGU9XCJ7eyBkaXNwbGF5VmFsdWUgfX1cIiBjbGFzcz1cImJvZHktc20gdmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J211bHRpLXJvd3MtdGV4dCc6IHJvd1NwYW4gPiAxfVwiIFtuZ1N0eWxlXT1cInsgJy13ZWJraXQtbGluZS1jbGFtcCc6IHJvd1NwYW4gfVwiPnt7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXlWYWx1ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiaXNBY3RpdmUgJiYgIWRpc2FibGVkXCIgY2xhc3M9XCJwZXAtYnV0dG9uIHdlYWsgY2FyZC1lZGl0LWJ1dHRvblwiIG1hdC1idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwZXAtaWNvbiBuYW1lPVwic3lzdGVtX2VkaXRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcGVwLWljb24+XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxheW91dFR5cGUgPT09ICd0YWJsZSdcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzQWN0aXZlICYmICFkaXNhYmxlZDsgdGhlbiBzZWxlY3RlZEJsb2NrOyBlbHNlIG5vdFNlbGVjdGVkQmxvY2tcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNzZWxlY3RlZEJsb2NrPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInBlcFRlbXBsYXRlOyBjb250ZXh0OiB7IGlzRm9ybVZpZXc6IGZhbHNlLCBoYXNQYXJlbnQ6IGZhbHNlIH1cIj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8bmctdGVtcGxhdGUgI25vdFNlbGVjdGVkQmxvY2s+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGlzcGxheVZhbHVlPy5sZW5ndGggPiAwOyB0aGVuIG5vdEVtcHR5QmxvY2s7IGVsc2UgZW1wdHlCbG9ja1wiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNub3RFbXB0eUJsb2NrPlxuICAgICAgICAgICAgICAgIDxhICpuZ0lmPVwiZGlzcGxheVZhbHVlICE9IG51bGwgJiYgKHZhbHVlID8gdmFsdWUgOiBkaXNwbGF5VmFsdWUpIHwgaXNVcmxcIiBbaWRdPVwia2V5XCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjb2xvci1saW5rIGJvZHktc20gcGVwLXJlcG9ydC1pbnB1dFwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnZGlzYWJsZSc6IChkaXNhYmxlZCAmJiB2YWx1ZSA9PT0gJycpfVwiIHRpdGxlPVwie3sgZGlzcGxheVZhbHVlIH19XCJcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj1cInt7IHZhbHVlID8gdmFsdWUgOiBkaXNwbGF5VmFsdWUgfX1cIiAoY2xpY2spPVwib25DbGljaygpXCI+e3tcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheVZhbHVlIH19PC9hPlxuICAgICAgICAgICAgICAgIDxhICpuZ0lmPVwiZGlzcGxheVZhbHVlICE9IG51bGwgJiYgISgodmFsdWUgPyB2YWx1ZSA6IGRpc3BsYXlWYWx1ZSkgfCBpc1VybClcIiBbaWRdPVwia2V5XCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjb2xvci1saW5rIGJvZHktc20gcGVwLXJlcG9ydC1pbnB1dFwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnZGlzYWJsZSc6IChkaXNhYmxlZCAmJiB2YWx1ZSA9PT0gJycpfVwiIHRpdGxlPVwie3sgZGlzcGxheVZhbHVlIH19XCJcbiAgICAgICAgICAgICAgICAgICAgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiIChjbGljayk9XCJvbkNsaWNrKClcIj57e1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5VmFsdWUgfX08L2E+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNlbXB0eUJsb2NrPlxuICAgICAgICAgICAgICAgIDxzcGFuIFtpZF09XCJrZXlcIj4mbmJzcDs8L3NwYW4+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG48L25nLWNvbnRhaW5lcj4iXX0=
@@ -0,0 +1,81 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { ReactiveFormsModule } from '@angular/forms';
4
+ import { MatCommonModule } from '@angular/material/core';
5
+ import { MatButtonModule } from '@angular/material/button';
6
+ import { MatFormFieldModule } from '@angular/material/form-field';
7
+ import { MatInputModule } from '@angular/material/input';
8
+ import { MatIconModule } from '@angular/material/icon';
9
+ import { PepNgxLibModule } from '@pepperi-addons/ngx-lib';
10
+ import { PepIconModule, pepIconSystemEdit, } from '@pepperi-addons/ngx-lib/icon';
11
+ import { PepTextboxIconModule } from '@pepperi-addons/ngx-lib/textbox-icon';
12
+ import { PepFieldTitleModule } from '@pepperi-addons/ngx-lib/field-title';
13
+ import { PepLinkComponent } from './link.component';
14
+ //import { PepTextboxValidationDirective } from './textbox-validation.directive';
15
+ import { IsUrlPipe } from './link.pipes';
16
+ import * as i0 from "@angular/core";
17
+ import * as i1 from "@pepperi-addons/ngx-lib/icon";
18
+ export class PepLinkModule {
19
+ pepIconRegistry;
20
+ constructor(pepIconRegistry) {
21
+ this.pepIconRegistry = pepIconRegistry;
22
+ this.pepIconRegistry.registerIcons([pepIconSystemEdit]);
23
+ }
24
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PepLinkModule, deps: [{ token: i1.PepIconRegistry }], target: i0.ɵɵFactoryTarget.NgModule });
25
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: PepLinkModule, declarations: [PepLinkComponent,
26
+ // PepTextboxValidationDirective,
27
+ IsUrlPipe], imports: [CommonModule,
28
+ ReactiveFormsModule,
29
+ // Material modules,
30
+ MatCommonModule,
31
+ MatButtonModule,
32
+ MatFormFieldModule,
33
+ MatInputModule,
34
+ MatIconModule,
35
+ // ngx-lib modules
36
+ PepNgxLibModule,
37
+ PepIconModule,
38
+ PepFieldTitleModule,
39
+ PepTextboxIconModule], exports: [PepLinkComponent] });
40
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PepLinkModule, providers: [IsUrlPipe], imports: [CommonModule,
41
+ ReactiveFormsModule,
42
+ // Material modules,
43
+ MatCommonModule,
44
+ MatButtonModule,
45
+ MatFormFieldModule,
46
+ MatInputModule,
47
+ MatIconModule,
48
+ // ngx-lib modules
49
+ PepNgxLibModule,
50
+ PepIconModule,
51
+ PepFieldTitleModule,
52
+ PepTextboxIconModule] });
53
+ }
54
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PepLinkModule, decorators: [{
55
+ type: NgModule,
56
+ args: [{
57
+ imports: [
58
+ CommonModule,
59
+ ReactiveFormsModule,
60
+ // Material modules,
61
+ MatCommonModule,
62
+ MatButtonModule,
63
+ MatFormFieldModule,
64
+ MatInputModule,
65
+ MatIconModule,
66
+ // ngx-lib modules
67
+ PepNgxLibModule,
68
+ PepIconModule,
69
+ PepFieldTitleModule,
70
+ PepTextboxIconModule,
71
+ ],
72
+ exports: [PepLinkComponent],
73
+ declarations: [
74
+ PepLinkComponent,
75
+ // PepTextboxValidationDirective,
76
+ IsUrlPipe
77
+ ],
78
+ providers: [IsUrlPipe]
79
+ }]
80
+ }], ctorParameters: function () { return [{ type: i1.PepIconRegistry }]; } });
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL2xpbmsvbGluay5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMxRCxPQUFPLEVBQ0gsYUFBYSxFQUViLGlCQUFpQixHQUNwQixNQUFNLDhCQUE4QixDQUFDO0FBQ3RDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRTFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3BELGlGQUFpRjtBQUVqRixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7QUEwQnpDLE1BQU0sT0FBTyxhQUFhO0lBQ0Y7SUFBcEIsWUFBb0IsZUFBZ0M7UUFBaEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hELElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDO0lBQzVELENBQUM7d0dBSFEsYUFBYTt5R0FBYixhQUFhLGlCQU5sQixnQkFBZ0I7WUFDaEIsbUNBQW1DO1lBQ25DLFNBQVMsYUFsQlQsWUFBWTtZQUNaLG1CQUFtQjtZQUNuQixvQkFBb0I7WUFDcEIsZUFBZTtZQUNmLGVBQWU7WUFDZixrQkFBa0I7WUFDbEIsY0FBYztZQUNkLGFBQWE7WUFDYixrQkFBa0I7WUFDbEIsZUFBZTtZQUNmLGFBQWE7WUFDYixtQkFBbUI7WUFDbkIsb0JBQW9CLGFBRWQsZ0JBQWdCO3lHQVFqQixhQUFhLGFBRlgsQ0FBQyxTQUFTLENBQUMsWUFwQmxCLFlBQVk7WUFDWixtQkFBbUI7WUFDbkIsb0JBQW9CO1lBQ3BCLGVBQWU7WUFDZixlQUFlO1lBQ2Ysa0JBQWtCO1lBQ2xCLGNBQWM7WUFDZCxhQUFhO1lBQ2Isa0JBQWtCO1lBQ2xCLGVBQWU7WUFDZixhQUFhO1lBQ2IsbUJBQW1CO1lBQ25CLG9CQUFvQjs7NEZBVWYsYUFBYTtrQkF4QnpCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFO3dCQUNMLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQixvQkFBb0I7d0JBQ3BCLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixrQkFBa0I7d0JBQ2xCLGNBQWM7d0JBQ2QsYUFBYTt3QkFDYixrQkFBa0I7d0JBQ2xCLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixtQkFBbUI7d0JBQ25CLG9CQUFvQjtxQkFDdkI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7b0JBQzNCLFlBQVksRUFBRTt3QkFDVixnQkFBZ0I7d0JBQ2hCLG1DQUFtQzt3QkFDbkMsU0FBUztxQkFDWjtvQkFDRCxTQUFTLEVBQUUsQ0FBQyxTQUFTLENBQUM7aUJBQ3pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBNYXRDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuXG5pbXBvcnQgeyBQZXBOZ3hMaWJNb2R1bGUgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYic7XG5pbXBvcnQge1xuICAgIFBlcEljb25Nb2R1bGUsXG4gICAgUGVwSWNvblJlZ2lzdHJ5LFxuICAgIHBlcEljb25TeXN0ZW1FZGl0LFxufSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi9pY29uJztcbmltcG9ydCB7IFBlcFRleHRib3hJY29uTW9kdWxlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvdGV4dGJveC1pY29uJztcbmltcG9ydCB7IFBlcEZpZWxkVGl0bGVNb2R1bGUgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi9maWVsZC10aXRsZSc7XG5cbmltcG9ydCB7IFBlcExpbmtDb21wb25lbnQgfSBmcm9tICcuL2xpbmsuY29tcG9uZW50Jztcbi8vaW1wb3J0IHsgUGVwVGV4dGJveFZhbGlkYXRpb25EaXJlY3RpdmUgfSBmcm9tICcuL3RleHRib3gtdmFsaWRhdGlvbi5kaXJlY3RpdmUnO1xuXG5pbXBvcnQgeyBJc1VybFBpcGUgfSBmcm9tICcuL2xpbmsucGlwZXMnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICAvLyBNYXRlcmlhbCBtb2R1bGVzLFxuICAgICAgICBNYXRDb21tb25Nb2R1bGUsXG4gICAgICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICAgICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgICAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICAgICAgTWF0SWNvbk1vZHVsZSxcbiAgICAgICAgLy8gbmd4LWxpYiBtb2R1bGVzXG4gICAgICAgIFBlcE5neExpYk1vZHVsZSxcbiAgICAgICAgUGVwSWNvbk1vZHVsZSxcbiAgICAgICAgUGVwRmllbGRUaXRsZU1vZHVsZSxcbiAgICAgICAgUGVwVGV4dGJveEljb25Nb2R1bGUsXG4gICAgXSxcbiAgICBleHBvcnRzOiBbUGVwTGlua0NvbXBvbmVudF0sXG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIFBlcExpbmtDb21wb25lbnQsXG4gICAgICAgIC8vICAgUGVwVGV4dGJveFZhbGlkYXRpb25EaXJlY3RpdmUsXG4gICAgICAgIElzVXJsUGlwZVxuICAgIF0sXG4gICAgcHJvdmlkZXJzOiBbSXNVcmxQaXBlXVxufSlcbmV4cG9ydCBjbGFzcyBQZXBMaW5rTW9kdWxlIHtcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBlcEljb25SZWdpc3RyeTogUGVwSWNvblJlZ2lzdHJ5KSB7XG4gICAgICAgIHRoaXMucGVwSWNvblJlZ2lzdHJ5LnJlZ2lzdGVySWNvbnMoW3BlcEljb25TeXN0ZW1FZGl0XSk7XG4gICAgfVxufVxuIl19
@@ -6,13 +6,13 @@ export class IsUrlPipe {
6
6
  const regex = /^(((http(s?)|ftp)\:\/\/)|(www\.))/;
7
7
  return regex.test(value);
8
8
  }
9
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: IsUrlPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
10
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: IsUrlPipe, name: "isUrl" });
9
11
  }
10
- IsUrlPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: IsUrlPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
11
- IsUrlPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: IsUrlPipe, name: "isUrl" });
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: IsUrlPipe, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: IsUrlPipe, decorators: [{
13
13
  type: Pipe,
14
14
  args: [{
15
15
  name: 'isUrl'
16
16
  }]
17
17
  }] });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay5waXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvbGluay9saW5rLnBpcGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQUtwRCxNQUFNLE9BQU8sU0FBUztJQUNsQixTQUFTLENBQUMsS0FBYTtRQUNuQixnSUFBZ0k7UUFDaEksTUFBTSxLQUFLLEdBQUcsbUNBQW1DLENBQUM7UUFDbEQsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdCLENBQUM7O3VHQUxRLFNBQVM7cUdBQVQsU0FBUzs0RkFBVCxTQUFTO2tCQUhyQixJQUFJO21CQUFDO29CQUNGLElBQUksRUFBRSxPQUFPO2lCQUNoQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQFBpcGUoe1xuICAgIG5hbWU6ICdpc1VybCdcbn0pXG5leHBvcnQgY2xhc3MgSXNVcmxQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgdHJhbnNmb3JtKHZhbHVlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgLy9jb25zdCByZWdleCA9IC9eKCgoaHR0cChzPyl8ZnRwKVxcOlxcL1xcLyl8KHd3d1xcLikpWy1hLXpBLVowLTlAOiUuX1xcK34jPV17MiwyNTZ9XFwuW2Etel17Miw2fVxcYihbLWEtekEtWjAtOUA6JV9cXCsufiM/Ji8vPV0qKSguKikvO1xuICAgICAgICBjb25zdCByZWdleCA9IC9eKCgoaHR0cChzPyl8ZnRwKVxcOlxcL1xcLyl8KHd3d1xcLikpLztcbiAgICAgICAgcmV0dXJuIHJlZ2V4LnRlc3QodmFsdWUpO1xuICAgIH1cbn0iXX0=
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay5waXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvbGluay9saW5rLnBpcGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQUtwRCxNQUFNLE9BQU8sU0FBUztJQUNsQixTQUFTLENBQUMsS0FBYTtRQUNuQixnSUFBZ0k7UUFDaEksTUFBTSxLQUFLLEdBQUcsbUNBQW1DLENBQUM7UUFDbEQsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdCLENBQUM7d0dBTFEsU0FBUztzR0FBVCxTQUFTOzs0RkFBVCxTQUFTO2tCQUhyQixJQUFJO21CQUFDO29CQUNGLElBQUksRUFBRSxPQUFPO2lCQUNoQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQFBpcGUoe1xuICAgIG5hbWU6ICdpc1VybCdcbn0pXG5leHBvcnQgY2xhc3MgSXNVcmxQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgdHJhbnNmb3JtKHZhbHVlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgLy9jb25zdCByZWdleCA9IC9eKCgoaHR0cChzPyl8ZnRwKVxcOlxcL1xcLyl8KHd3d1xcLikpWy1hLXpBLVowLTlAOiUuX1xcK34jPV17MiwyNTZ9XFwuW2Etel17Miw2fVxcYihbLWEtekEtWjAtOUA6JV9cXCsufiM/Ji8vPV0qKSguKikvO1xuICAgICAgICBjb25zdCByZWdleCA9IC9eKCgoaHR0cChzPyl8ZnRwKVxcOlxcL1xcLyl8KHd3d1xcLikpLztcbiAgICAgICAgcmV0dXJuIHJlZ2V4LnRlc3QodmFsdWUpO1xuICAgIH1cbn0iXX0=