@pepperi-addons/ngx-lib 0.4.2-beta.32 → 0.4.2-beta.320

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 (410) hide show
  1. package/README.md +35 -0
  2. package/address/address.component.d.ts +9 -2
  3. package/attachment/attachment.component.d.ts +3 -1
  4. package/carousel/carousel.component.d.ts +3 -2
  5. package/checkbox/checkbox.component.d.ts +8 -1
  6. package/chips/chips.component.d.ts +4 -7
  7. package/chips/chips.service.d.ts +0 -3
  8. package/core/common/directives/auto-width.directive.d.ts +6 -2
  9. package/core/common/directives/base-destroyer.directive.d.ts +10 -0
  10. package/core/common/directives/public-api.d.ts +1 -0
  11. package/core/common/pipes/common-pipes.d.ts +5 -2
  12. package/core/common/services/addon.service.d.ts +6 -4
  13. package/core/common/services/file.service.d.ts +7 -2
  14. package/core/common/services/session.service.d.ts +2 -0
  15. package/core/common/services/utilities.service.d.ts +4 -4
  16. package/core/customization/customization.model.d.ts +4 -1
  17. package/core/customization/customization.service.d.ts +4 -0
  18. package/date/date.component.d.ts +4 -2
  19. package/draggable-items/draggable-item/draggable-item.component.d.ts +16 -2
  20. package/draggable-items/draggable-items.component.d.ts +3 -6
  21. package/draggable-items/draggable-items.module.d.ts +4 -3
  22. package/elements/README.md +256 -0
  23. package/esm2020/address/address.component.mjs +93 -5
  24. package/esm2020/assets/i18n/ar.ngx-lib.json +180 -0
  25. package/esm2020/assets/i18n/de.ngx-lib.json +180 -0
  26. package/esm2020/assets/i18n/en.ngx-lib.json +189 -0
  27. package/esm2020/assets/i18n/es.ngx-lib.json +180 -0
  28. package/esm2020/assets/i18n/fr.ngx-lib.json +180 -0
  29. package/esm2020/assets/i18n/he.ngx-lib.json +180 -0
  30. package/esm2020/assets/i18n/hu.ngx-lib.json +79 -0
  31. package/esm2020/assets/i18n/it.ngx-lib.json +180 -0
  32. package/esm2020/assets/i18n/ja.ngx-lib.json +180 -0
  33. package/esm2020/assets/i18n/nl.ngx-lib.json +79 -0
  34. package/esm2020/assets/i18n/pl.ngx-lib.json +180 -0
  35. package/esm2020/assets/i18n/pt.ngx-lib.json +180 -0
  36. package/esm2020/assets/i18n/ru.ngx-lib.json +79 -0
  37. package/esm2020/assets/i18n/sr.ngx-lib.json +180 -0
  38. package/esm2020/assets/i18n/zh.ngx-lib.json +180 -0
  39. package/esm2020/attachment/attachment.component.mjs +16 -6
  40. package/esm2020/carousel/carousel.component.mjs +14 -4
  41. package/esm2020/checkbox/checkbox.component.mjs +37 -3
  42. package/esm2020/chips/chips.component.mjs +11 -16
  43. package/esm2020/chips/chips.service.mjs +2 -11
  44. package/esm2020/color/color-picker.component.mjs +3 -3
  45. package/esm2020/color/color.component.mjs +3 -3
  46. package/esm2020/core/common/directives/auto-width.directive.mjs +29 -9
  47. package/esm2020/core/common/directives/base-destroyer.directive.mjs +22 -0
  48. package/esm2020/core/common/directives/public-api.mjs +2 -1
  49. package/esm2020/core/common/pipes/common-pipes.mjs +18 -8
  50. package/esm2020/core/common/services/addon.service.mjs +31 -7
  51. package/esm2020/core/common/services/data-convertor.service.mjs +3 -3
  52. package/esm2020/core/common/services/file.service.mjs +57 -20
  53. package/esm2020/core/common/services/session.service.mjs +5 -1
  54. package/esm2020/core/common/services/utilities.service.mjs +7 -7
  55. package/esm2020/core/customization/customization.model.mjs +46 -10
  56. package/esm2020/core/customization/customization.service.mjs +29 -1
  57. package/esm2020/core/http/services/http.service.mjs +17 -8
  58. package/esm2020/core/http/services/loader.service.mjs +3 -3
  59. package/esm2020/date/date.component.mjs +35 -13
  60. package/esm2020/dialog/dialog.component.mjs +3 -3
  61. package/esm2020/draggable-items/draggable-item/draggable-item.component.mjs +44 -4
  62. package/esm2020/draggable-items/draggable-items.component.mjs +7 -15
  63. package/esm2020/draggable-items/draggable-items.module.mjs +5 -1
  64. package/esm2020/field-title/field-title.component.mjs +6 -3
  65. package/esm2020/files-uploader/files-uploader.component.mjs +23 -32
  66. package/esm2020/form/field-generator.component.mjs +3 -3
  67. package/esm2020/form/form.component.mjs +7 -4
  68. package/esm2020/form/internal-button.component.mjs +2 -2
  69. package/esm2020/form/internal-carusel.component.mjs +10 -6
  70. package/esm2020/form/internal-field-generator.component.mjs +3 -3
  71. package/esm2020/form/internal-form.component.mjs +5 -3
  72. package/esm2020/form/internal-list.component.mjs +2 -2
  73. package/esm2020/form/internal-menu.component.mjs +4 -6
  74. package/esm2020/form/internal-page.component.mjs +3 -4
  75. package/esm2020/group-buttons/group-buttons.component.mjs +2 -2
  76. package/esm2020/icon/icon.component.mjs +36 -6
  77. package/esm2020/icon/icon.service.mjs +5 -1
  78. package/esm2020/image/image.component.mjs +15 -3
  79. package/esm2020/image/image.service.mjs +2 -4
  80. package/esm2020/images-filmstrip/images-filmstrip.component.mjs +99 -25
  81. package/esm2020/json-editor/json-editor.component.mjs +288 -0
  82. package/esm2020/json-editor/json-editor.module.mjs +83 -0
  83. package/esm2020/json-editor/json-tree-node.component.mjs +32 -0
  84. package/esm2020/json-editor/pepperi-addons-ngx-lib-json-editor.mjs +5 -0
  85. package/esm2020/json-editor/public-api.mjs +6 -0
  86. package/esm2020/lib/i18n/embedded-i18n.mjs +33 -0
  87. package/esm2020/link/link.component.mjs +25 -4
  88. package/esm2020/list/list-actions.component.mjs +1 -1
  89. package/esm2020/list/list-chooser.component.mjs +1 -1
  90. package/esm2020/list/list-pager.component.mjs +56 -9
  91. package/esm2020/list/list-sorting.component.mjs +1 -1
  92. package/esm2020/list/list-total.component.mjs +6 -3
  93. package/esm2020/list/list-views.component.mjs +1 -1
  94. package/esm2020/list/list.component.mjs +280 -50
  95. package/esm2020/list/list.model.mjs +1 -1
  96. package/esm2020/list/list.module.mjs +5 -1
  97. package/esm2020/list/virtual-scroller.mjs +16 -2
  98. package/esm2020/menu/menu-item.component.mjs +3 -3
  99. package/esm2020/menu/menu.component.mjs +6 -3
  100. package/esm2020/menu/menu.model.mjs +2 -1
  101. package/esm2020/page-layout/page-layout.component.mjs +28 -7
  102. package/esm2020/profile-data-views-list/profile-data-view/profile-data-view.component.mjs +1 -1
  103. package/esm2020/profile-data-views-list/profile-data-views-card/profile-data-views-card.component.mjs +25 -9
  104. package/esm2020/profile-data-views-list/profile-data-views-list.component.mjs +58 -26
  105. package/esm2020/profile-data-views-list/profile-data-views-list.model.mjs +1 -1
  106. package/esm2020/public-api.mjs +2 -1
  107. package/esm2020/quantity-selector/quantity-selector.component.mjs +67 -33
  108. package/esm2020/query-builder/common/model/legacy.mjs +1 -1
  109. package/esm2020/query-builder/common/model/operator.mjs +76 -64
  110. package/esm2020/query-builder/common/services/output-query.service.mjs +5 -3
  111. package/esm2020/query-builder/common/services/query-structure.service.mjs +34 -2
  112. package/esm2020/query-builder/query-builder-item/query-builder-item.component.mjs +14 -12
  113. package/esm2020/query-builder/query-builder-section/query-builder-section.component.mjs +3 -3
  114. package/esm2020/query-builder/query-builder.module.mjs +14 -3
  115. package/esm2020/query-builder/query-builder.service.mjs +4 -3
  116. package/esm2020/remote-loader/addon-block-loader.component.mjs +26 -16
  117. package/esm2020/remote-loader/addon-block-loader.service.mjs +5 -2
  118. package/esm2020/remote-loader/remote-loader-element.component.mjs +148 -27
  119. package/esm2020/remote-loader/remote-loader.component.mjs +1 -4
  120. package/esm2020/remote-loader/remote-loader.model.mjs +1 -1
  121. package/esm2020/remote-loader/remote-loader.service.mjs +49 -26
  122. package/esm2020/reset-configuration-field/pepperi-addons-ngx-lib-reset-configuration-field.mjs +5 -0
  123. package/esm2020/reset-configuration-field/public-api.mjs +3 -0
  124. package/esm2020/reset-configuration-field/reset-configuration-field.component.mjs +55 -0
  125. package/esm2020/reset-configuration-field/reset-configuration-field.module.mjs +36 -0
  126. package/esm2020/rich-html-textarea/rich-html-textarea.component.mjs +19 -3
  127. package/esm2020/search/search.component.mjs +43 -16
  128. package/esm2020/select/select.component.mjs +124 -53
  129. package/esm2020/select-panel/select-panel.component.mjs +4 -6
  130. package/esm2020/side-bar/side-bar.component.mjs +18 -4
  131. package/esm2020/signature/signature-dialog.component.mjs +9 -4
  132. package/esm2020/signature/signature.component.mjs +14 -7
  133. package/esm2020/size-detector/size-detector.component.mjs +16 -6
  134. package/esm2020/skeleton-loader/public-api.mjs +2 -2
  135. package/esm2020/skeleton-loader/skeleton-loader.component.mjs +33 -9
  136. package/esm2020/slider/slider.component.mjs +2 -2
  137. package/esm2020/smart-filters/boolean-filter/boolean-filter.component.mjs +1 -1
  138. package/esm2020/smart-filters/common/model/base-filter-component.mjs +5 -11
  139. package/esm2020/smart-filters/common/model/operator.mjs +15 -6
  140. package/esm2020/smart-filters/common/model/type.mjs +1 -1
  141. package/esm2020/smart-filters/date-filter/date-filter.component.mjs +1 -1
  142. package/esm2020/smart-filters/multi-select-filter/multi-select-filter.component.mjs +3 -3
  143. package/esm2020/smart-filters/number-filter/number-filter.component.mjs +3 -3
  144. package/esm2020/smart-filters/smart-filters.component.mjs +2 -2
  145. package/esm2020/smart-filters/text-filter/text-filter.component.mjs +27 -7
  146. package/esm2020/snack-bar/snack-bar.component.mjs +21 -6
  147. package/esm2020/textarea/textarea.component.mjs +12 -3
  148. package/esm2020/textbox/textbox-validation.directive.mjs +2 -4
  149. package/esm2020/textbox/textbox.component.mjs +85 -10
  150. package/esm2020/textbox-icon/textbox-icon.component.mjs +3 -3
  151. package/esm2020/top-bar/top-bar.component.mjs +26 -15
  152. package/fesm2015/pepperi-addons-ngx-lib-address.mjs +92 -5
  153. package/fesm2015/pepperi-addons-ngx-lib-address.mjs.map +1 -1
  154. package/fesm2015/pepperi-addons-ngx-lib-attachment.mjs +15 -5
  155. package/fesm2015/pepperi-addons-ngx-lib-attachment.mjs.map +1 -1
  156. package/fesm2015/pepperi-addons-ngx-lib-carousel.mjs +13 -3
  157. package/fesm2015/pepperi-addons-ngx-lib-carousel.mjs.map +1 -1
  158. package/fesm2015/pepperi-addons-ngx-lib-checkbox.mjs +37 -2
  159. package/fesm2015/pepperi-addons-ngx-lib-checkbox.mjs.map +1 -1
  160. package/fesm2015/pepperi-addons-ngx-lib-chips.mjs +11 -25
  161. package/fesm2015/pepperi-addons-ngx-lib-chips.mjs.map +1 -1
  162. package/fesm2015/pepperi-addons-ngx-lib-color.mjs +4 -4
  163. package/fesm2015/pepperi-addons-ngx-lib-color.mjs.map +1 -1
  164. package/fesm2015/pepperi-addons-ngx-lib-date.mjs +35 -12
  165. package/fesm2015/pepperi-addons-ngx-lib-date.mjs.map +1 -1
  166. package/fesm2015/pepperi-addons-ngx-lib-dialog.mjs +2 -2
  167. package/fesm2015/pepperi-addons-ngx-lib-dialog.mjs.map +1 -1
  168. package/fesm2015/pepperi-addons-ngx-lib-draggable-items.mjs +54 -19
  169. package/fesm2015/pepperi-addons-ngx-lib-draggable-items.mjs.map +1 -1
  170. package/fesm2015/pepperi-addons-ngx-lib-field-title.mjs +5 -2
  171. package/fesm2015/pepperi-addons-ngx-lib-field-title.mjs.map +1 -1
  172. package/fesm2015/pepperi-addons-ngx-lib-files-uploader.mjs +22 -31
  173. package/fesm2015/pepperi-addons-ngx-lib-files-uploader.mjs.map +1 -1
  174. package/fesm2015/pepperi-addons-ngx-lib-form.mjs +31 -25
  175. package/fesm2015/pepperi-addons-ngx-lib-form.mjs.map +1 -1
  176. package/fesm2015/pepperi-addons-ngx-lib-group-buttons.mjs +2 -2
  177. package/fesm2015/pepperi-addons-ngx-lib-group-buttons.mjs.map +1 -1
  178. package/fesm2015/pepperi-addons-ngx-lib-icon.mjs +40 -5
  179. package/fesm2015/pepperi-addons-ngx-lib-icon.mjs.map +1 -1
  180. package/fesm2015/pepperi-addons-ngx-lib-image.mjs +15 -5
  181. package/fesm2015/pepperi-addons-ngx-lib-image.mjs.map +1 -1
  182. package/fesm2015/pepperi-addons-ngx-lib-images-filmstrip.mjs +101 -24
  183. package/fesm2015/pepperi-addons-ngx-lib-images-filmstrip.mjs.map +1 -1
  184. package/fesm2015/pepperi-addons-ngx-lib-json-editor.mjs +407 -0
  185. package/fesm2015/pepperi-addons-ngx-lib-json-editor.mjs.map +1 -0
  186. package/fesm2015/pepperi-addons-ngx-lib-link.mjs +24 -3
  187. package/fesm2015/pepperi-addons-ngx-lib-link.mjs.map +1 -1
  188. package/fesm2015/pepperi-addons-ngx-lib-list.mjs +367 -66
  189. package/fesm2015/pepperi-addons-ngx-lib-list.mjs.map +1 -1
  190. package/fesm2015/pepperi-addons-ngx-lib-menu.mjs +8 -4
  191. package/fesm2015/pepperi-addons-ngx-lib-menu.mjs.map +1 -1
  192. package/fesm2015/pepperi-addons-ngx-lib-page-layout.mjs +27 -6
  193. package/fesm2015/pepperi-addons-ngx-lib-page-layout.mjs.map +1 -1
  194. package/fesm2015/pepperi-addons-ngx-lib-profile-data-views-list.mjs +81 -33
  195. package/fesm2015/pepperi-addons-ngx-lib-profile-data-views-list.mjs.map +1 -1
  196. package/fesm2015/pepperi-addons-ngx-lib-quantity-selector.mjs +66 -31
  197. package/fesm2015/pepperi-addons-ngx-lib-quantity-selector.mjs.map +1 -1
  198. package/fesm2015/pepperi-addons-ngx-lib-query-builder.mjs +152 -84
  199. package/fesm2015/pepperi-addons-ngx-lib-query-builder.mjs.map +1 -1
  200. package/fesm2015/pepperi-addons-ngx-lib-remote-loader.mjs +237 -85
  201. package/fesm2015/pepperi-addons-ngx-lib-remote-loader.mjs.map +1 -1
  202. package/fesm2015/pepperi-addons-ngx-lib-reset-configuration-field.mjs +95 -0
  203. package/fesm2015/pepperi-addons-ngx-lib-reset-configuration-field.mjs.map +1 -0
  204. package/fesm2015/pepperi-addons-ngx-lib-rich-html-textarea.mjs +18 -2
  205. package/fesm2015/pepperi-addons-ngx-lib-rich-html-textarea.mjs.map +1 -1
  206. package/fesm2015/pepperi-addons-ngx-lib-search.mjs +45 -15
  207. package/fesm2015/pepperi-addons-ngx-lib-search.mjs.map +1 -1
  208. package/fesm2015/pepperi-addons-ngx-lib-select-panel.mjs +3 -5
  209. package/fesm2015/pepperi-addons-ngx-lib-select-panel.mjs.map +1 -1
  210. package/fesm2015/pepperi-addons-ngx-lib-select.mjs +123 -51
  211. package/fesm2015/pepperi-addons-ngx-lib-select.mjs.map +1 -1
  212. package/fesm2015/pepperi-addons-ngx-lib-side-bar.mjs +17 -3
  213. package/fesm2015/pepperi-addons-ngx-lib-side-bar.mjs.map +1 -1
  214. package/fesm2015/pepperi-addons-ngx-lib-signature.mjs +23 -9
  215. package/fesm2015/pepperi-addons-ngx-lib-signature.mjs.map +1 -1
  216. package/fesm2015/pepperi-addons-ngx-lib-size-detector.mjs +15 -5
  217. package/fesm2015/pepperi-addons-ngx-lib-size-detector.mjs.map +1 -1
  218. package/fesm2015/pepperi-addons-ngx-lib-skeleton-loader.mjs +33 -9
  219. package/fesm2015/pepperi-addons-ngx-lib-skeleton-loader.mjs.map +1 -1
  220. package/fesm2015/pepperi-addons-ngx-lib-slider.mjs +2 -2
  221. package/fesm2015/pepperi-addons-ngx-lib-slider.mjs.map +1 -1
  222. package/fesm2015/pepperi-addons-ngx-lib-smart-filters.mjs +53 -30
  223. package/fesm2015/pepperi-addons-ngx-lib-smart-filters.mjs.map +1 -1
  224. package/fesm2015/pepperi-addons-ngx-lib-snack-bar.mjs +20 -5
  225. package/fesm2015/pepperi-addons-ngx-lib-snack-bar.mjs.map +1 -1
  226. package/fesm2015/pepperi-addons-ngx-lib-textarea.mjs +11 -2
  227. package/fesm2015/pepperi-addons-ngx-lib-textarea.mjs.map +1 -1
  228. package/fesm2015/pepperi-addons-ngx-lib-textbox-icon.mjs +2 -2
  229. package/fesm2015/pepperi-addons-ngx-lib-textbox-icon.mjs.map +1 -1
  230. package/fesm2015/pepperi-addons-ngx-lib-textbox.mjs +87 -12
  231. package/fesm2015/pepperi-addons-ngx-lib-textbox.mjs.map +1 -1
  232. package/fesm2015/pepperi-addons-ngx-lib-top-bar.mjs +26 -15
  233. package/fesm2015/pepperi-addons-ngx-lib-top-bar.mjs.map +1 -1
  234. package/fesm2015/pepperi-addons-ngx-lib.mjs +3441 -574
  235. package/fesm2015/pepperi-addons-ngx-lib.mjs.map +1 -1
  236. package/fesm2020/pepperi-addons-ngx-lib-address.mjs +92 -5
  237. package/fesm2020/pepperi-addons-ngx-lib-address.mjs.map +1 -1
  238. package/fesm2020/pepperi-addons-ngx-lib-attachment.mjs +15 -5
  239. package/fesm2020/pepperi-addons-ngx-lib-attachment.mjs.map +1 -1
  240. package/fesm2020/pepperi-addons-ngx-lib-carousel.mjs +13 -3
  241. package/fesm2020/pepperi-addons-ngx-lib-carousel.mjs.map +1 -1
  242. package/fesm2020/pepperi-addons-ngx-lib-checkbox.mjs +36 -2
  243. package/fesm2020/pepperi-addons-ngx-lib-checkbox.mjs.map +1 -1
  244. package/fesm2020/pepperi-addons-ngx-lib-chips.mjs +11 -25
  245. package/fesm2020/pepperi-addons-ngx-lib-chips.mjs.map +1 -1
  246. package/fesm2020/pepperi-addons-ngx-lib-color.mjs +4 -4
  247. package/fesm2020/pepperi-addons-ngx-lib-color.mjs.map +1 -1
  248. package/fesm2020/pepperi-addons-ngx-lib-date.mjs +34 -12
  249. package/fesm2020/pepperi-addons-ngx-lib-date.mjs.map +1 -1
  250. package/fesm2020/pepperi-addons-ngx-lib-dialog.mjs +2 -2
  251. package/fesm2020/pepperi-addons-ngx-lib-dialog.mjs.map +1 -1
  252. package/fesm2020/pepperi-addons-ngx-lib-draggable-items.mjs +54 -19
  253. package/fesm2020/pepperi-addons-ngx-lib-draggable-items.mjs.map +1 -1
  254. package/fesm2020/pepperi-addons-ngx-lib-field-title.mjs +5 -2
  255. package/fesm2020/pepperi-addons-ngx-lib-field-title.mjs.map +1 -1
  256. package/fesm2020/pepperi-addons-ngx-lib-files-uploader.mjs +22 -31
  257. package/fesm2020/pepperi-addons-ngx-lib-files-uploader.mjs.map +1 -1
  258. package/fesm2020/pepperi-addons-ngx-lib-form.mjs +31 -25
  259. package/fesm2020/pepperi-addons-ngx-lib-form.mjs.map +1 -1
  260. package/fesm2020/pepperi-addons-ngx-lib-group-buttons.mjs +2 -2
  261. package/fesm2020/pepperi-addons-ngx-lib-group-buttons.mjs.map +1 -1
  262. package/fesm2020/pepperi-addons-ngx-lib-icon.mjs +39 -5
  263. package/fesm2020/pepperi-addons-ngx-lib-icon.mjs.map +1 -1
  264. package/fesm2020/pepperi-addons-ngx-lib-image.mjs +15 -5
  265. package/fesm2020/pepperi-addons-ngx-lib-image.mjs.map +1 -1
  266. package/fesm2020/pepperi-addons-ngx-lib-images-filmstrip.mjs +98 -24
  267. package/fesm2020/pepperi-addons-ngx-lib-images-filmstrip.mjs.map +1 -1
  268. package/fesm2020/pepperi-addons-ngx-lib-json-editor.mjs +403 -0
  269. package/fesm2020/pepperi-addons-ngx-lib-json-editor.mjs.map +1 -0
  270. package/fesm2020/pepperi-addons-ngx-lib-link.mjs +24 -3
  271. package/fesm2020/pepperi-addons-ngx-lib-link.mjs.map +1 -1
  272. package/fesm2020/pepperi-addons-ngx-lib-list.mjs +362 -65
  273. package/fesm2020/pepperi-addons-ngx-lib-list.mjs.map +1 -1
  274. package/fesm2020/pepperi-addons-ngx-lib-menu.mjs +8 -4
  275. package/fesm2020/pepperi-addons-ngx-lib-menu.mjs.map +1 -1
  276. package/fesm2020/pepperi-addons-ngx-lib-page-layout.mjs +27 -6
  277. package/fesm2020/pepperi-addons-ngx-lib-page-layout.mjs.map +1 -1
  278. package/fesm2020/pepperi-addons-ngx-lib-profile-data-views-list.mjs +81 -33
  279. package/fesm2020/pepperi-addons-ngx-lib-profile-data-views-list.mjs.map +1 -1
  280. package/fesm2020/pepperi-addons-ngx-lib-quantity-selector.mjs +65 -31
  281. package/fesm2020/pepperi-addons-ngx-lib-quantity-selector.mjs.map +1 -1
  282. package/fesm2020/pepperi-addons-ngx-lib-query-builder.mjs +141 -82
  283. package/fesm2020/pepperi-addons-ngx-lib-query-builder.mjs.map +1 -1
  284. package/fesm2020/pepperi-addons-ngx-lib-remote-loader.mjs +224 -70
  285. package/fesm2020/pepperi-addons-ngx-lib-remote-loader.mjs.map +1 -1
  286. package/fesm2020/pepperi-addons-ngx-lib-reset-configuration-field.mjs +95 -0
  287. package/fesm2020/pepperi-addons-ngx-lib-reset-configuration-field.mjs.map +1 -0
  288. package/fesm2020/pepperi-addons-ngx-lib-rich-html-textarea.mjs +18 -2
  289. package/fesm2020/pepperi-addons-ngx-lib-rich-html-textarea.mjs.map +1 -1
  290. package/fesm2020/pepperi-addons-ngx-lib-search.mjs +42 -15
  291. package/fesm2020/pepperi-addons-ngx-lib-search.mjs.map +1 -1
  292. package/fesm2020/pepperi-addons-ngx-lib-select-panel.mjs +3 -5
  293. package/fesm2020/pepperi-addons-ngx-lib-select-panel.mjs.map +1 -1
  294. package/fesm2020/pepperi-addons-ngx-lib-select.mjs +122 -51
  295. package/fesm2020/pepperi-addons-ngx-lib-select.mjs.map +1 -1
  296. package/fesm2020/pepperi-addons-ngx-lib-side-bar.mjs +17 -3
  297. package/fesm2020/pepperi-addons-ngx-lib-side-bar.mjs.map +1 -1
  298. package/fesm2020/pepperi-addons-ngx-lib-signature.mjs +21 -9
  299. package/fesm2020/pepperi-addons-ngx-lib-signature.mjs.map +1 -1
  300. package/fesm2020/pepperi-addons-ngx-lib-size-detector.mjs +15 -5
  301. package/fesm2020/pepperi-addons-ngx-lib-size-detector.mjs.map +1 -1
  302. package/fesm2020/pepperi-addons-ngx-lib-skeleton-loader.mjs +33 -9
  303. package/fesm2020/pepperi-addons-ngx-lib-skeleton-loader.mjs.map +1 -1
  304. package/fesm2020/pepperi-addons-ngx-lib-slider.mjs +2 -2
  305. package/fesm2020/pepperi-addons-ngx-lib-slider.mjs.map +1 -1
  306. package/fesm2020/pepperi-addons-ngx-lib-smart-filters.mjs +53 -30
  307. package/fesm2020/pepperi-addons-ngx-lib-smart-filters.mjs.map +1 -1
  308. package/fesm2020/pepperi-addons-ngx-lib-snack-bar.mjs +20 -5
  309. package/fesm2020/pepperi-addons-ngx-lib-snack-bar.mjs.map +1 -1
  310. package/fesm2020/pepperi-addons-ngx-lib-textarea.mjs +11 -2
  311. package/fesm2020/pepperi-addons-ngx-lib-textarea.mjs.map +1 -1
  312. package/fesm2020/pepperi-addons-ngx-lib-textbox-icon.mjs +2 -2
  313. package/fesm2020/pepperi-addons-ngx-lib-textbox-icon.mjs.map +1 -1
  314. package/fesm2020/pepperi-addons-ngx-lib-textbox.mjs +85 -12
  315. package/fesm2020/pepperi-addons-ngx-lib-textbox.mjs.map +1 -1
  316. package/fesm2020/pepperi-addons-ngx-lib-top-bar.mjs +25 -14
  317. package/fesm2020/pepperi-addons-ngx-lib-top-bar.mjs.map +1 -1
  318. package/fesm2020/pepperi-addons-ngx-lib.mjs +3436 -571
  319. package/fesm2020/pepperi-addons-ngx-lib.mjs.map +1 -1
  320. package/field-title/field-title.component.d.ts +2 -1
  321. package/files-uploader/files-uploader.component.d.ts +4 -2
  322. package/form/internal-carusel.component.d.ts +1 -0
  323. package/form/internal-menu.component.d.ts +1 -2
  324. package/icon/icon.component.d.ts +4 -0
  325. package/image/image.component.d.ts +3 -1
  326. package/images-filmstrip/images-filmstrip.component.d.ts +24 -8
  327. package/json-editor/index.d.ts +5 -0
  328. package/json-editor/json-editor.component.d.ts +75 -0
  329. package/json-editor/json-editor.component.theme.scss +5 -0
  330. package/json-editor/json-editor.module.d.ts +24 -0
  331. package/json-editor/json-tree-node.component.d.ts +18 -0
  332. package/json-editor/public-api.d.ts +2 -0
  333. package/lib/i18n/embedded-i18n.d.ts +1 -0
  334. package/link/link.component.d.ts +7 -2
  335. package/list/list-pager.component.d.ts +16 -6
  336. package/list/list-total.component.d.ts +2 -1
  337. package/list/list.component.d.ts +26 -5
  338. package/list/list.model.d.ts +2 -1
  339. package/list/list.module.d.ts +4 -3
  340. package/menu/menu.component.d.ts +2 -1
  341. package/menu/menu.model.d.ts +1 -0
  342. package/package.json +18 -2
  343. package/page-layout/page-layout.component.d.ts +8 -2
  344. package/profile-data-views-list/profile-data-view/profile-data-view.component.d.ts +3 -3
  345. package/profile-data-views-list/profile-data-views-card/profile-data-views-card.component.d.ts +5 -4
  346. package/profile-data-views-list/profile-data-views-list.component.d.ts +13 -10
  347. package/profile-data-views-list/profile-data-views-list.model.d.ts +8 -0
  348. package/public-api.d.ts +1 -0
  349. package/quantity-selector/quantity-selector.component.d.ts +9 -9
  350. package/query-builder/common/model/legacy.d.ts +3 -0
  351. package/query-builder/common/model/operator.d.ts +11 -1
  352. package/query-builder/common/services/query-structure.service.d.ts +1 -0
  353. package/query-builder/query-builder-item/query-builder-item.component.d.ts +3 -1
  354. package/query-builder/query-builder.module.d.ts +7 -3
  355. package/remote-loader/addon-block-loader.component.d.ts +4 -2
  356. package/remote-loader/remote-loader-element.component.d.ts +8 -1
  357. package/remote-loader/remote-loader.model.d.ts +1 -0
  358. package/remote-loader/remote-loader.service.d.ts +3 -1
  359. package/reset-configuration-field/index.d.ts +5 -0
  360. package/reset-configuration-field/public-api.d.ts +2 -0
  361. package/reset-configuration-field/reset-configuration-field.component.d.ts +23 -0
  362. package/reset-configuration-field/reset-configuration-field.module.d.ts +12 -0
  363. package/rich-html-textarea/rich-html-textarea.component.d.ts +4 -1
  364. package/rich-html-textarea/rich-html-textarea.component.theme.scss +4 -2
  365. package/search/search.component.d.ts +9 -3
  366. package/select/select.component.d.ts +18 -2
  367. package/select-panel/select-panel.component.d.ts +1 -2
  368. package/side-bar/side-bar.component.d.ts +4 -1
  369. package/signature/signature-dialog.component.d.ts +2 -1
  370. package/signature/signature.component.d.ts +2 -1
  371. package/size-detector/size-detector.component.d.ts +6 -3
  372. package/skeleton-loader/skeleton-loader.component.d.ts +15 -7
  373. package/slider/slider.component.theme.scss +4 -0
  374. package/smart-filters/boolean-filter/boolean-filter.component.d.ts +3 -0
  375. package/smart-filters/common/model/base-filter-component.d.ts +2 -4
  376. package/smart-filters/common/model/operator.d.ts +3 -0
  377. package/smart-filters/common/model/type.d.ts +1 -1
  378. package/smart-filters/date-filter/date-filter.component.d.ts +3 -0
  379. package/smart-filters/multi-select-filter/multi-select-filter.component.d.ts +3 -0
  380. package/smart-filters/number-filter/number-filter.component.d.ts +3 -0
  381. package/smart-filters/text-filter/text-filter.component.d.ts +4 -0
  382. package/snack-bar/snack-bar.component.d.ts +9 -4
  383. package/src/assets/i18n/ar.ngx-lib.json +180 -0
  384. package/src/assets/i18n/de.ngx-lib.json +106 -4
  385. package/src/assets/i18n/en.ngx-lib.json +17 -3
  386. package/src/assets/i18n/es.ngx-lib.json +113 -11
  387. package/src/assets/i18n/fr.ngx-lib.json +105 -4
  388. package/src/assets/i18n/he.ngx-lib.json +105 -4
  389. package/src/assets/i18n/it.ngx-lib.json +114 -13
  390. package/src/assets/i18n/ja.ngx-lib.json +105 -4
  391. package/src/assets/i18n/pl.ngx-lib.json +105 -4
  392. package/src/assets/i18n/pt.ngx-lib.json +105 -4
  393. package/src/assets/i18n/sr.ngx-lib.json +180 -0
  394. package/src/assets/i18n/zh.ngx-lib.json +105 -2
  395. package/src/core/style/abstracts/mixins.scss +135 -26
  396. package/src/core/style/abstracts/variables.scss +10 -1
  397. package/src/core/style/base/Spacing.stories.mdx +22 -22
  398. package/src/core/style/base/base.scss +24 -15
  399. package/src/core/style/base/typography.scss +2 -1
  400. package/src/core/style/components/button.scss +11 -0
  401. package/src/core/style/components/checkbox.scss +13 -63
  402. package/src/core/style/components/file.scss +4 -4
  403. package/src/core/style/components/general.scss +27 -9
  404. package/src/core/style/components/textarea.scss +13 -0
  405. package/textarea/textarea.component.d.ts +2 -1
  406. package/textbox/textbox.component.d.ts +10 -3
  407. package/theming.scss +5 -1
  408. package/top-bar/top-bar.component.d.ts +2 -0
  409. package/src/assets/images/sail-away.jpg +0 -0
  410. package/src/core/style/abstracts/AbstractsIntro.stories.mdx +0 -7
@@ -1,5 +1,6 @@
1
1
  import { coerceNumberProperty } from '@angular/cdk/coercion';
2
2
  import { Component, EventEmitter, Injectable, Input, Output, } from '@angular/core';
3
+ import { PepScreenSizeType, } from '@pepperi-addons/ngx-lib';
3
4
  import { DEFAULT_PAGE_SIZE } from './list.model';
4
5
  import * as i0 from "@angular/core";
5
6
  import * as i1 from "@pepperi-addons/ngx-lib";
@@ -7,19 +8,42 @@ import * as i2 from "@angular/common";
7
8
  import * as i3 from "@angular/material/button";
8
9
  import * as i4 from "@angular/material/icon";
9
10
  import * as i5 from "@pepperi-addons/ngx-lib/icon";
10
- import * as i6 from "@pepperi-addons/ngx-lib/textbox";
11
- import * as i7 from "@ngx-translate/core";
11
+ import * as i6 from "@pepperi-addons/ngx-lib/select";
12
+ import * as i7 from "@pepperi-addons/ngx-lib/textbox";
13
+ import * as i8 from "@ngx-translate/core";
12
14
  export class IPepListPagerChangeEvent {
13
15
  }
14
16
  export class PepListPagerComponent {
15
- constructor(_changeDetectorRef, layoutService) {
16
- this._changeDetectorRef = _changeDetectorRef;
17
+ constructor(layoutService) {
17
18
  this.layoutService = layoutService;
18
19
  this.disabled = false;
20
+ this.showPageSizeSelector = false;
21
+ this.showFirstLastButtons = false;
22
+ this.PepScreenSizeType = PepScreenSizeType;
23
+ this.screenSize = PepScreenSizeType.LG;
24
+ this.pageSizeOptionsForSelect = [
25
+ { key: '10', value: '10' },
26
+ { key: '20', value: '20' },
27
+ { key: '50', value: '50' },
28
+ ];
29
+ this._pageSizeOptions = [10, 20, 50];
19
30
  this._pageIndex = 0;
20
31
  this.length = 0;
21
32
  this.pageSize = DEFAULT_PAGE_SIZE;
22
33
  this.pagerChange = new EventEmitter();
34
+ this.resizeSub = this.layoutService.onResize$.subscribe((size) => {
35
+ this.screenSize = size;
36
+ });
37
+ }
38
+ set pageSizeOptions(value) {
39
+ this._pageSizeOptions = Array.isArray(value) && value.length > 0 ? value : [10, 20, 50];
40
+ this.pageSizeOptionsForSelect = this._pageSizeOptions.map((n) => ({
41
+ key: n.toString(),
42
+ value: n.toString(),
43
+ }));
44
+ }
45
+ get pageSizeOptions() {
46
+ return this._pageSizeOptions;
23
47
  }
24
48
  set pageIndex(value) {
25
49
  this.setPageIndex(value);
@@ -27,6 +51,9 @@ export class PepListPagerComponent {
27
51
  get pageIndex() {
28
52
  return this._pageIndex;
29
53
  }
54
+ ngOnDestroy() {
55
+ this.resizeSub?.unsubscribe();
56
+ }
30
57
  nextPage() {
31
58
  if (!this.hasNextPage()) {
32
59
  return;
@@ -76,6 +103,20 @@ export class PepListPagerComponent {
76
103
  const pageNumber = coerceNumberProperty(value);
77
104
  this.setPageIndex(pageNumber - 1); // - 1 to convert number into index.
78
105
  }
106
+ onPageSizeChange(value) {
107
+ const newPageSize = coerceNumberProperty(value);
108
+ if (!newPageSize || newPageSize === this.pageSize) {
109
+ return;
110
+ }
111
+ const previousPageIndex = this.pageIndex;
112
+ this.pageSize = newPageSize;
113
+ // Reset to first page on page-size change.
114
+ this.setPageIndex(0);
115
+ // If we were already on page 0, setPageIndex won't emit, so emit explicitly.
116
+ if (this.pageIndex === previousPageIndex) {
117
+ this._emitChangeEvent(previousPageIndex);
118
+ }
119
+ }
79
120
  setPageIndex(newIndex) {
80
121
  const previousPageIndex = this.pageIndex;
81
122
  if (newIndex >= 0 && newIndex < this.getNumberOfPages()) {
@@ -98,15 +139,21 @@ export class PepListPagerComponent {
98
139
  });
99
140
  }
100
141
  }
101
- PepListPagerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepListPagerComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.PepLayoutService }], target: i0.ɵɵFactoryTarget.Component });
102
- PepListPagerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepListPagerComponent, selector: "pep-list-pager", inputs: { disabled: "disabled", pageIndex: "pageIndex", length: "length", pageSize: "pageSize" }, outputs: { pagerChange: "pagerChange" }, ngImport: i0, template: "<div class=\"pager-container body-sm\">\n <span class=\"pep-spacing-element\">{{ 'LIST.PAGER_PAGE' | translate }}</span>\n <pep-textbox pepAutoWidth class=\"page-index pep-spacing-element\" [key]=\"'pageIndex'\" [type]=\"'int'\"\n [disabled]=\"disabled\" [xAlignment]=\"'center'\" [renderTitle]=\"false\" [renderError]=\"false\" [renderSymbol]=\"false\"\n [value]=\"pageIndex + 1\" [minValue]=\"1\" [maxValue]=\"this.getNumberOfPages()\"\n [maxFieldCharacters]=\"6\" [mandatory]=\"true\" (valueChange)=\"onValueChange($event)\">\n </pep-textbox>\n <span class=\"pep-spacing-element\">{{ 'LIST.PAGER_OUT_OF' | translate }}</span>\n <span class=\"pep-spacing-element\">{{ getNumberOfPages() }}</span>\n <button mat-button [disabled]=\"disabled || _previousButtonsDisabled()\"\n [ngClass]=\"{ disabled: disabled || _previousButtonsDisabled() }\"\n class=\"pep-button icon-button pep-spacing-element sm weak\" pepRtlDirection pepMenuBlur (click)=\"previousPage()\"\n [title]=\"('LIST.PAGER_PREVIOUS' | translate)\">\n <mat-icon>\n <pep-icon [name]=\"layoutService.isRtl() ? 'arrow_right' : 'arrow_left'\"></pep-icon>\n </mat-icon>\n </button>\n <button mat-button [disabled]=\"disabled || _nextButtonsDisabled()\"\n [ngClass]=\"{ disabled: disabled || _nextButtonsDisabled() }\"\n class=\"pep-button icon-button pep-spacing-element sm weak\" pepRtlDirection pepMenuBlur (click)=\"nextPage()\"\n [title]=\"('LIST.PAGER_NEXT' | translate)\">\n <mat-icon>\n <pep-icon [name]=\"layoutService.isRtl() ? 'arrow_left' : 'arrow_right'\"></pep-icon>\n </mat-icon>\n </button>\n</div>", styles: [".pager-container{display:flex;justify-content:center;align-items:center;height:calc(2rem + calc(var(--pep-spacing-sm, .5rem) * 2));padding:var(--pep-spacing-sm, .5rem)}.pager-container .page-index{min-height:unset;margin-bottom:0}.pager-container .page-index ::ng-deep .mat-form-field-flex{padding:0 .5rem;min-height:2rem}.pager-container .page-index ::ng-deep .mat-form-field-flex .mat-input-element{min-width:1.25rem}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i1.PepInputAutoWidthDirective, selector: "[pepAutoWidth]", inputs: ["includePadding"] }, { kind: "directive", type: i1.PepMenuBlurDirective, selector: "[pepMenuBlur]" }, { kind: "directive", type: i1.PepRtlDirectionDirective, selector: "[pepRtlDirection]" }, { kind: "component", type: i5.PepIconComponent, selector: "pep-icon", inputs: ["spin", "name", "fill"] }, { kind: "component", type: i6.PepTextboxComponent, selector: "pep-textbox", inputs: ["key", "value", "minFractionDigits", "maxFractionDigits", "accessory", "label", "placeholder", "type", "mandatory", "disabled", "readonly", "maxFieldCharacters", "hint", "textColor", "xAlignment", "rowSpan", "minValue", "maxValue", "visible", "form", "isActive", "showTitle", "renderTitle", "renderError", "renderSymbol", "layoutType", "parentFieldKey", "regex", "regexError", "isInFocus"], outputs: ["valueChange", "keyup"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] });
142
+ PepListPagerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepListPagerComponent, deps: [{ token: i1.PepLayoutService }], target: i0.ɵɵFactoryTarget.Component });
143
+ PepListPagerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepListPagerComponent, selector: "pep-list-pager", inputs: { disabled: "disabled", showPageSizeSelector: "showPageSizeSelector", showFirstLastButtons: "showFirstLastButtons", pageSizeOptions: "pageSizeOptions", pageIndex: "pageIndex", length: "length", pageSize: "pageSize" }, outputs: { pagerChange: "pagerChange" }, ngImport: i0, template: "<div class=\"pager-container body-sm\">\n <span *ngIf=\"screenSize <= PepScreenSizeType.SM\" class=\"pep-spacing-element pager-label\">{{ 'LIST.PAGER_PAGE' | translate }}</span>\n <button *ngIf=\"showFirstLastButtons && screenSize <= PepScreenSizeType.SM\" mat-button [disabled]=\"disabled || !hasPreviousPage()\"\n [ngClass]=\"{ disabled: disabled || !hasPreviousPage() }\"\n class=\"pep-button icon-button pep-spacing-element sm weak\" pepRtlDirection pepMenuBlur (click)=\"firstPage()\"\n [title]=\"('LIST.PAGER_FIRST' | translate)\">\n <mat-icon>\n <pep-icon [name]=\"layoutService.isRtl() ? 'arrow_back_right' : 'arrow_back_left'\"></pep-icon>\n </mat-icon>\n </button>\n <button mat-button [disabled]=\"disabled || _previousButtonsDisabled()\"\n [ngClass]=\"{ disabled: disabled || _previousButtonsDisabled() }\"\n class=\"pep-button icon-button pep-spacing-element sm weak\" pepRtlDirection pepMenuBlur (click)=\"previousPage()\"\n [title]=\"('LIST.PAGER_PREVIOUS' | translate)\">\n <mat-icon>\n <pep-icon [name]=\"layoutService.isRtl() ? 'arrow_right' : 'arrow_left'\"></pep-icon>\n </mat-icon>\n </button>\n <pep-textbox pepAutoWidth class=\"page-index pep-spacing-element\" [key]=\"'pageIndex'\" [type]=\"'int'\"\n [disabled]=\"disabled\" [xAlignment]=\"'center'\" [renderTitle]=\"false\" [renderError]=\"false\" [renderSymbol]=\"false\"\n [value]=\"pageIndex + 1\" [minValue]=\"1\" [maxValue]=\"this.getNumberOfPages()\"\n [maxFieldCharacters]=\"6\" [mandatory]=\"true\" (valueChange)=\"onValueChange($event)\">\n </pep-textbox>\n <button mat-button [disabled]=\"disabled || _nextButtonsDisabled()\"\n [ngClass]=\"{ disabled: disabled || _nextButtonsDisabled() }\"\n class=\"pep-button icon-button pep-spacing-element sm weak\" pepRtlDirection pepMenuBlur (click)=\"nextPage()\"\n [title]=\"('LIST.PAGER_NEXT' | translate)\">\n <mat-icon>\n <pep-icon [name]=\"layoutService.isRtl() ? 'arrow_left' : 'arrow_right'\"></pep-icon>\n </mat-icon>\n </button>\n <button *ngIf=\"showFirstLastButtons && screenSize <= PepScreenSizeType.SM\" mat-button [disabled]=\"disabled || !hasNextPage()\"\n [ngClass]=\"{ disabled: disabled || !hasNextPage() }\"\n class=\"pep-button icon-button pep-spacing-element sm weak\" pepRtlDirection pepMenuBlur (click)=\"lastPage()\"\n [title]=\"('LIST.PAGER_LAST' | translate)\">\n <mat-icon>\n <pep-icon [name]=\"layoutService.isRtl() ? 'arrow_back_left' : 'arrow_back_right'\"></pep-icon>\n </mat-icon>\n </button>\n <span *ngIf=\"screenSize <= PepScreenSizeType.SM\" class=\"pep-spacing-element pager-label\">{{ 'LIST.PAGER_OUT_OF' | translate }}</span>\n <span *ngIf=\"screenSize > PepScreenSizeType.SM\" class=\"pep-spacing-element pager-label\">/</span>\n <span class=\"pep-spacing-element\">{{ getNumberOfPages() }}</span>\n <ng-container *ngIf=\"showPageSizeSelector\">\n <pep-select pepAutoWidth class=\"page-size pep-spacing-element\" [key]=\"'pageSize'\" [value]=\"pageSize?.toString()\"\n [disabled]=\"disabled\" [renderTitle]=\"false\" [emptyOption]=\"false\" [options]=\"pageSizeOptionsForSelect\"\n [title]=\"('LIST.PAGER_ITEMS_PER_PAGE' | translate)\"\n (valueChange)=\"onPageSizeChange($event)\">\n </pep-select>\n <span *ngIf=\"screenSize <= PepScreenSizeType.MD\" class=\"pep-spacing-element pager-label\">{{ 'LIST.PAGER_ITEMS_PER_PAGE' | translate }}</span>\n </ng-container>\n</div>", styles: [".pager-container{display:flex;justify-content:center;align-items:center;height:calc(2rem + calc(var(--pep-spacing-sm, .5rem) * 2));padding:var(--pep-spacing-sm, .5rem)}.pager-container .pager-label{white-space:nowrap}@media (max-width: 480px){.pager-container{height:auto;flex-wrap:wrap;row-gap:var(--pep-spacing-sm, .5rem)}}.pager-container .page-size{min-height:unset;margin-bottom:0}.pager-container .page-size ::ng-deep .mat-form-field-flex{padding:0 .5rem;min-height:2rem}.pager-container .page-index{min-height:unset;margin-bottom:0}.pager-container .page-index ::ng-deep .mat-form-field-flex{padding:0 .5rem;min-height:2rem}.pager-container .page-index ::ng-deep .mat-form-field-flex .mat-input-element{min-width:1.25rem}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i1.PepInputAutoWidthDirective, selector: "[pepAutoWidth]", inputs: ["includePadding"] }, { kind: "directive", type: i1.PepMenuBlurDirective, selector: "[pepMenuBlur]" }, { kind: "directive", type: i1.PepRtlDirectionDirective, selector: "[pepRtlDirection]" }, { kind: "component", type: i5.PepIconComponent, selector: "pep-icon", inputs: ["spin", "name", "fill"] }, { kind: "component", type: i6.PepSelectComponent, selector: "pep-select", inputs: ["key", "value", "label", "type", "mandatory", "disabled", "readonly", "xAlignment", "rowSpan", "placeholder", "placeholderWhenDisabled", "autoSortOptions", "options", "visible", "emptyOption", "form", "layoutType", "parentFieldKey", "isActive", "showTitle", "renderTitle", "typeaheadDebounceInterval", "addValueToOptionsIfNotExist"], outputs: ["valueChange", "validationChange"] }, { kind: "component", type: i7.PepTextboxComponent, selector: "pep-textbox", inputs: ["key", "value", "minFractionDigits", "maxFractionDigits", "accessory", "label", "placeholder", "type", "mandatory", "disabled", "readonly", "maxFieldCharacters", "hint", "textColor", "xAlignment", "rowSpan", "minValue", "maxValue", "visible", "form", "isActive", "showTitle", "renderTitle", "renderError", "renderSymbol", "layoutType", "parentFieldKey", "regex", "regexError", "isInFocus"], outputs: ["valueChange", "keyup", "validationChange"] }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] });
103
144
  PepListPagerComponent.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepListPagerComponent });
104
145
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepListPagerComponent, decorators: [{
105
146
  type: Component,
106
- args: [{ selector: 'pep-list-pager', template: "<div class=\"pager-container body-sm\">\n <span class=\"pep-spacing-element\">{{ 'LIST.PAGER_PAGE' | translate }}</span>\n <pep-textbox pepAutoWidth class=\"page-index pep-spacing-element\" [key]=\"'pageIndex'\" [type]=\"'int'\"\n [disabled]=\"disabled\" [xAlignment]=\"'center'\" [renderTitle]=\"false\" [renderError]=\"false\" [renderSymbol]=\"false\"\n [value]=\"pageIndex + 1\" [minValue]=\"1\" [maxValue]=\"this.getNumberOfPages()\"\n [maxFieldCharacters]=\"6\" [mandatory]=\"true\" (valueChange)=\"onValueChange($event)\">\n </pep-textbox>\n <span class=\"pep-spacing-element\">{{ 'LIST.PAGER_OUT_OF' | translate }}</span>\n <span class=\"pep-spacing-element\">{{ getNumberOfPages() }}</span>\n <button mat-button [disabled]=\"disabled || _previousButtonsDisabled()\"\n [ngClass]=\"{ disabled: disabled || _previousButtonsDisabled() }\"\n class=\"pep-button icon-button pep-spacing-element sm weak\" pepRtlDirection pepMenuBlur (click)=\"previousPage()\"\n [title]=\"('LIST.PAGER_PREVIOUS' | translate)\">\n <mat-icon>\n <pep-icon [name]=\"layoutService.isRtl() ? 'arrow_right' : 'arrow_left'\"></pep-icon>\n </mat-icon>\n </button>\n <button mat-button [disabled]=\"disabled || _nextButtonsDisabled()\"\n [ngClass]=\"{ disabled: disabled || _nextButtonsDisabled() }\"\n class=\"pep-button icon-button pep-spacing-element sm weak\" pepRtlDirection pepMenuBlur (click)=\"nextPage()\"\n [title]=\"('LIST.PAGER_NEXT' | translate)\">\n <mat-icon>\n <pep-icon [name]=\"layoutService.isRtl() ? 'arrow_left' : 'arrow_right'\"></pep-icon>\n </mat-icon>\n </button>\n</div>", styles: [".pager-container{display:flex;justify-content:center;align-items:center;height:calc(2rem + calc(var(--pep-spacing-sm, .5rem) * 2));padding:var(--pep-spacing-sm, .5rem)}.pager-container .page-index{min-height:unset;margin-bottom:0}.pager-container .page-index ::ng-deep .mat-form-field-flex{padding:0 .5rem;min-height:2rem}.pager-container .page-index ::ng-deep .mat-form-field-flex .mat-input-element{min-width:1.25rem}\n"] }]
147
+ args: [{ selector: 'pep-list-pager', template: "<div class=\"pager-container body-sm\">\n <span *ngIf=\"screenSize <= PepScreenSizeType.SM\" class=\"pep-spacing-element pager-label\">{{ 'LIST.PAGER_PAGE' | translate }}</span>\n <button *ngIf=\"showFirstLastButtons && screenSize <= PepScreenSizeType.SM\" mat-button [disabled]=\"disabled || !hasPreviousPage()\"\n [ngClass]=\"{ disabled: disabled || !hasPreviousPage() }\"\n class=\"pep-button icon-button pep-spacing-element sm weak\" pepRtlDirection pepMenuBlur (click)=\"firstPage()\"\n [title]=\"('LIST.PAGER_FIRST' | translate)\">\n <mat-icon>\n <pep-icon [name]=\"layoutService.isRtl() ? 'arrow_back_right' : 'arrow_back_left'\"></pep-icon>\n </mat-icon>\n </button>\n <button mat-button [disabled]=\"disabled || _previousButtonsDisabled()\"\n [ngClass]=\"{ disabled: disabled || _previousButtonsDisabled() }\"\n class=\"pep-button icon-button pep-spacing-element sm weak\" pepRtlDirection pepMenuBlur (click)=\"previousPage()\"\n [title]=\"('LIST.PAGER_PREVIOUS' | translate)\">\n <mat-icon>\n <pep-icon [name]=\"layoutService.isRtl() ? 'arrow_right' : 'arrow_left'\"></pep-icon>\n </mat-icon>\n </button>\n <pep-textbox pepAutoWidth class=\"page-index pep-spacing-element\" [key]=\"'pageIndex'\" [type]=\"'int'\"\n [disabled]=\"disabled\" [xAlignment]=\"'center'\" [renderTitle]=\"false\" [renderError]=\"false\" [renderSymbol]=\"false\"\n [value]=\"pageIndex + 1\" [minValue]=\"1\" [maxValue]=\"this.getNumberOfPages()\"\n [maxFieldCharacters]=\"6\" [mandatory]=\"true\" (valueChange)=\"onValueChange($event)\">\n </pep-textbox>\n <button mat-button [disabled]=\"disabled || _nextButtonsDisabled()\"\n [ngClass]=\"{ disabled: disabled || _nextButtonsDisabled() }\"\n class=\"pep-button icon-button pep-spacing-element sm weak\" pepRtlDirection pepMenuBlur (click)=\"nextPage()\"\n [title]=\"('LIST.PAGER_NEXT' | translate)\">\n <mat-icon>\n <pep-icon [name]=\"layoutService.isRtl() ? 'arrow_left' : 'arrow_right'\"></pep-icon>\n </mat-icon>\n </button>\n <button *ngIf=\"showFirstLastButtons && screenSize <= PepScreenSizeType.SM\" mat-button [disabled]=\"disabled || !hasNextPage()\"\n [ngClass]=\"{ disabled: disabled || !hasNextPage() }\"\n class=\"pep-button icon-button pep-spacing-element sm weak\" pepRtlDirection pepMenuBlur (click)=\"lastPage()\"\n [title]=\"('LIST.PAGER_LAST' | translate)\">\n <mat-icon>\n <pep-icon [name]=\"layoutService.isRtl() ? 'arrow_back_left' : 'arrow_back_right'\"></pep-icon>\n </mat-icon>\n </button>\n <span *ngIf=\"screenSize <= PepScreenSizeType.SM\" class=\"pep-spacing-element pager-label\">{{ 'LIST.PAGER_OUT_OF' | translate }}</span>\n <span *ngIf=\"screenSize > PepScreenSizeType.SM\" class=\"pep-spacing-element pager-label\">/</span>\n <span class=\"pep-spacing-element\">{{ getNumberOfPages() }}</span>\n <ng-container *ngIf=\"showPageSizeSelector\">\n <pep-select pepAutoWidth class=\"page-size pep-spacing-element\" [key]=\"'pageSize'\" [value]=\"pageSize?.toString()\"\n [disabled]=\"disabled\" [renderTitle]=\"false\" [emptyOption]=\"false\" [options]=\"pageSizeOptionsForSelect\"\n [title]=\"('LIST.PAGER_ITEMS_PER_PAGE' | translate)\"\n (valueChange)=\"onPageSizeChange($event)\">\n </pep-select>\n <span *ngIf=\"screenSize <= PepScreenSizeType.MD\" class=\"pep-spacing-element pager-label\">{{ 'LIST.PAGER_ITEMS_PER_PAGE' | translate }}</span>\n </ng-container>\n</div>", styles: [".pager-container{display:flex;justify-content:center;align-items:center;height:calc(2rem + calc(var(--pep-spacing-sm, .5rem) * 2));padding:var(--pep-spacing-sm, .5rem)}.pager-container .pager-label{white-space:nowrap}@media (max-width: 480px){.pager-container{height:auto;flex-wrap:wrap;row-gap:var(--pep-spacing-sm, .5rem)}}.pager-container .page-size{min-height:unset;margin-bottom:0}.pager-container .page-size ::ng-deep .mat-form-field-flex{padding:0 .5rem;min-height:2rem}.pager-container .page-index{min-height:unset;margin-bottom:0}.pager-container .page-index ::ng-deep .mat-form-field-flex{padding:0 .5rem;min-height:2rem}.pager-container .page-index ::ng-deep .mat-form-field-flex .mat-input-element{min-width:1.25rem}\n"] }]
107
148
  }, {
108
149
  type: Injectable
109
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.PepLayoutService }]; }, propDecorators: { disabled: [{
150
+ }], ctorParameters: function () { return [{ type: i1.PepLayoutService }]; }, propDecorators: { disabled: [{
151
+ type: Input
152
+ }], showPageSizeSelector: [{
153
+ type: Input
154
+ }], showFirstLastButtons: [{
155
+ type: Input
156
+ }], pageSizeOptions: [{
110
157
  type: Input
111
158
  }], pageIndex: [{
112
159
  type: Input
@@ -117,4 +164,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
117
164
  }], pagerChange: [{
118
165
  type: Output
119
166
  }] } });
120
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1wYWdlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL2xpc3QvbGlzdC1wYWdlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL2xpc3QvbGlzdC1wYWdlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM3RCxPQUFPLEVBRUgsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsS0FBSyxFQUNMLE1BQU0sR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7Ozs7OztBQUVqRCxNQUFNLE9BQU8sd0JBQXdCO0NBS3BDO0FBUUQsTUFBTSxPQUFPLHFCQUFxQjtJQWlCOUIsWUFDWSxrQkFBcUMsRUFDdEMsYUFBK0I7UUFEOUIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFtQjtRQUN0QyxrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFsQmpDLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDbEIsZUFBVSxHQUFHLENBQUMsQ0FBQztRQVNkLFdBQU0sR0FBRyxDQUFDLENBQUM7UUFDWCxhQUFRLEdBQUcsaUJBQWlCLENBQUM7UUFHdEMsZ0JBQVcsR0FBMkMsSUFBSSxZQUFZLEVBQTRCLENBQUM7SUFJckQsQ0FBQztJQWhCL0MsSUFDSSxTQUFTLENBQUMsS0FBYTtRQUN2QixJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFDRCxJQUFJLFNBQVM7UUFDVCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDM0IsQ0FBQztJQVlELFFBQVE7UUFDSixJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFO1lBQ3JCLE9BQU87U0FDVjtRQUVELElB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TmpDLFNBQVM7K0JBQ0ksZ0JBQWdCOztrQkFJN0IsVUFBVTt1SUFFRSxRQUFRO3NCQUFoQixLQUFLO2dCQUdGLFNBQVM7c0JBRFosS0FBSztnQkFRRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFHTixXQUFXO3NCQURWLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb2VyY2VOdW1iZXJQcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5qZWN0YWJsZSxcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUGVwTGF5b3V0U2VydmljZSwgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYic7XG5pbXBvcnQgeyBERUZBVUxUX1BBR0VfU0laRSB9IGZyb20gJy4vbGlzdC5tb2RlbCc7XG5cbmV4cG9ydCBjbGFzcyBJUGVwTGlzdFBhZ2VyQ2hhbmdlRXZlbnQge1xuICAgIHBhZ2VJbmRleDogbnVtYmVyO1xuICAgIHByZXZpb3VzUGFnZUluZGV4OiBudW1iZXI7XG4gICAgcGFnZVNpemU6IG51bWJlcjtcbiAgICBsZW5ndGg6IG51bWJlcjtcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwZXAtbGlzdC1wYWdlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2xpc3QtcGFnZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2xpc3QtcGFnZXIuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUGVwTGlzdFBhZ2VyQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuICAgIHByaXZhdGUgX3BhZ2VJbmRleCA9IDA7XG4gICAgQElucHV0KClcbiAgICBzZXQgcGFnZUluZGV4KHZhbHVlOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5zZXRQYWdlSW5kZXgodmFsdWUpO1xuICAgIH1cbiAgICBnZXQgcGFnZUluZGV4KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLl9wYWdlSW5kZXg7XG4gICAgfVxuXG4gICAgQElucHV0KCkgbGVuZ3RoID0gMDtcbiAgICBASW5wdXQoKSBwYWdlU2l6ZSA9IERFRkFVTFRfUEFHRV9TSVpFO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcGFnZXJDaGFuZ2U6IEV2ZW50RW1pdHRlcjxJUGVwTGlzdFBhZ2VyQ2hhbmdlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxJUGVwTGlzdFBhZ2VyQ2hhbmdlRXZlbnQ+KCk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBfY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwdWJsaWMgbGF5b3V0U2VydmljZTogUGVwTGF5b3V0U2VydmljZSkgeyB9XG5cbiAgICBuZXh0UGFnZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmhhc05leHRQYWdlKCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc2V0UGFnZUluZGV4KHRoaXMucGFnZUluZGV4ICsgMSk7XG4gICAgfVxuXG4gICAgcHJldmlvdXNQYWdlKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuaGFzUHJldmlvdXNQYWdlKCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc2V0UGFnZUluZGV4KHRoaXMucGFnZUluZGV4IC0gMSk7XG4gICAgfVxuXG4gICAgZmlyc3RQYWdlKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuaGFzUHJldmlvdXNQYWdlKCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc2V0UGFnZUluZGV4KDApO1xuICAgIH1cblxuICAgIGxhc3RQYWdlKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuaGFzTmV4dFBhZ2UoKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zZXRQYWdlSW5kZXgodGhpcy5nZXROdW1iZXJPZlBhZ2VzKCkgLSAxKTtcbiAgICB9XG5cbiAgICBoYXNQcmV2aW91c1BhZ2UoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnBhZ2VJbmRleCA+PSAxICYmIHRoaXMucGFnZVNpemUgIT0gMDtcbiAgICB9XG5cbiAgICBoYXNOZXh0UGFnZSgpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgbWF4UGFnZUluZGV4ID0gdGhpcy5nZXROdW1iZXJPZlBhZ2VzKCkgLSAxO1xuICAgICAgICByZXR1cm4gdGhpcy5wYWdlSW5kZXggPCBtYXhQYWdlSW5kZXggJiYgdGhpcy5wYWdlU2l6ZSAhPSAwO1xuICAgIH1cblxuICAgIGdldE51bWJlck9mUGFnZXMoKTogbnVtYmVyIHtcbiAgICAgICAgaWYgKCF0aGlzLnBhZ2VTaXplKSB7XG4gICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBNYXRoLmNlaWwodGhpcy5sZW5ndGggLyB0aGlzLnBhZ2VTaXplKTtcbiAgICB9XG5cbiAgICAvKiogQ2hlY2tzIHdoZXRoZXIgdGhlIGJ1dHRvbnMgZm9yIGdvaW5nIGZvcndhcmRzIHNob3VsZCBiZSBkaXNhYmxlZC4gKi9cbiAgICBfbmV4dEJ1dHRvbnNEaXNhYmxlZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGlzYWJsZWQgfHwgIXRoaXMuaGFzTmV4dFBhZ2UoKTtcbiAgICB9XG5cbiAgICAvKiogQ2hlY2tzIHdoZXRoZXIgdGhlIGJ1dHRvbnMgZm9yIGdvaW5nIGJhY2t3YXJkcyBzaG91bGQgYmUgZGlzYWJsZWQuICovXG4gICAgX3ByZXZpb3VzQnV0dG9uc0Rpc2FibGVkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5kaXNhYmxlZCB8fCAhdGhpcy5oYXNQcmV2aW91c1BhZ2UoKTtcbiAgICB9XG5cbiAgICBvblZhbHVlQ2hhbmdlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgcGFnZU51bWJlciA9IGNvZXJjZU51bWJlclByb3BlcnR5KHZhbHVlKTtcbiAgICAgICAgdGhpcy5zZXRQYWdlSW5kZXgocGFnZU51bWJlciAtIDEpOyAvLyAtIDEgdG8gY29udmVydCBudW1iZXIgaW50byBpbmRleC5cbiAgICB9XG5cbiAgICBwcml2YXRlIHNldFBhZ2VJbmRleChuZXdJbmRleDogbnVtYmVyKSB7XG4gICAgICAgIGNvbnN0IHByZXZpb3VzUGFnZUluZGV4ID0gdGhpcy5wYWdlSW5kZXg7XG5cbiAgICAgICAgaWYgKG5ld0luZGV4ID49IDAgJiYgbmV3SW5kZXggPCB0aGlzLmdldE51bWJlck9mUGFnZXMoKSkge1xuICAgICAgICAgICAgdGhpcy5fcGFnZUluZGV4ID0gbmV3SW5kZXg7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9wYWdlSW5kZXggPSAwO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMucGFnZUluZGV4ICE9PSBwcmV2aW91c1BhZ2VJbmRleCkge1xuICAgICAgICAgICAgdGhpcy5fZW1pdENoYW5nZUV2ZW50KHByZXZpb3VzUGFnZUluZGV4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBFbWl0cyBhbiBldmVudCBub3RpZnlpbmcgdGhhdCBhIGNoYW5nZSBvZiB0aGUgcGFnaW5hdG9yJ3MgcHJvcGVydGllcyBoYXMgYmVlbiB0cmlnZ2VyZWQuICovXG4gICAgcHJpdmF0ZSBfZW1pdENoYW5nZUV2ZW50KHByZXZpb3VzUGFnZUluZGV4OiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5wYWdlckNoYW5nZS5lbWl0KHtcbiAgICAgICAgICAgIHByZXZpb3VzUGFnZUluZGV4LFxuICAgICAgICAgICAgcGFnZUluZGV4OiB0aGlzLnBhZ2VJbmRleCxcbiAgICAgICAgICAgIHBhZ2VTaXplOiB0aGlzLnBhZ2VTaXplLFxuICAgICAgICAgICAgbGVuZ3RoOiB0aGlzLmxlbmd0aCxcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInBhZ2VyLWNvbnRhaW5lciBib2R5LXNtXCI+XG4gICAgPHNwYW4gY2xhc3M9XCJwZXAtc3BhY2luZy1lbGVtZW50XCI+e3sgJ0xJU1QuUEFHRVJfUEFHRScgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgPHBlcC10ZXh0Ym94IHBlcEF1dG9XaWR0aCBjbGFzcz1cInBhZ2UtaW5kZXggcGVwLXNwYWNpbmctZWxlbWVudFwiIFtrZXldPVwiJ3BhZ2VJbmRleCdcIiBbdHlwZV09XCInaW50J1wiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIFt4QWxpZ25tZW50XT1cIidjZW50ZXInXCIgW3JlbmRlclRpdGxlXT1cImZhbHNlXCIgW3JlbmRlckVycm9yXT1cImZhbHNlXCIgW3JlbmRlclN5bWJvbF09XCJmYWxzZVwiXG4gICAgICAgIFt2YWx1ZV09XCJwYWdlSW5kZXggKyAxXCIgW21pblZhbHVlXT1cIjFcIiBbbWF4VmFsdWVdPVwidGhpcy5nZXROdW1iZXJPZlBhZ2VzKClcIlxuICAgICAgICBbbWF4RmllbGRDaGFyYWN0ZXJzXT1cIjZcIiBbbWFuZGF0b3J5XT1cInRydWVcIiAodmFsdWVDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgkZXZlbnQpXCI+XG4gICAgPC9wZXAtdGV4dGJveD5cbiAgICA8c3BhbiBjbGFzcz1cInBlcC1zcGFjaW5nLWVsZW1lbnRcIj57eyAnTElTVC5QQUdFUl9PVVRfT0YnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgIDxzcGFuIGNsYXNzPVwicGVwLXNwYWNpbmctZWxlbWVudFwiPnt7IGdldE51bWJlck9mUGFnZXMoKSB9fTwvc3Bhbj5cbiAgICA8YnV0dG9uIG1hdC1idXR0b24gW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8IF9wcmV2aW91c0J1dHRvbnNEaXNhYmxlZCgpXCJcbiAgICAgICAgW25nQ2xhc3NdPVwieyBkaXNhYmxlZDogZGlzYWJsZWQgfHwgX3ByZXZpb3VzQnV0dG9uc0Rpc2FibGVkKCkgfVwiXG4gICAgICAgIGNsYXNzPVwicGVwLWJ1dHRvbiBpY29uLWJ1dHRvbiBwZXAtc3BhY2luZy1lbGVtZW50IHNtIHdlYWtcIiBwZXBSdGxEaXJlY3Rpb24gcGVwTWVudUJsdXIgKGNsaWNrKT1cInByZXZpb3VzUGFnZSgpXCJcbiAgICAgICAgW3RpdGxlXT1cIignTElTVC5QQUdFUl9QUkVWSU9VUycgfCB0cmFuc2xhdGUpXCI+XG4gICAgICAgIDxtYXQtaWNvbj5cbiAgICAgICAgICAgIDxwZXAtaWNvbiBbbmFtZV09XCJsYXlvdXRTZXJ2aWNlLmlzUnRsKCkgPyAnYXJyb3dfcmlnaHQnIDogJ2Fycm93X2xlZnQnXCI+PC9wZXAtaWNvbj5cbiAgICAgICAgPC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIG1hdC1idXR0b24gW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8IF9uZXh0QnV0dG9uc0Rpc2FibGVkKClcIlxuICAgICAgICBbbmdDbGFzc109XCJ7IGRpc2FibGVkOiBkaXNhYmxlZCB8fCBfbmV4dEJ1dHRvbnNEaXNhYmxlZCgpIH1cIlxuICAgICAgICBjbGFzcz1cInBlcC1idXR0b24gaWNvbi1idXR0b24gcGVwLXNwYWNpbmctZWxlbWVudCBzbSB3ZWFrXCIgcGVwUnRsRGlyZWN0aW9uIHBlcE1lbnVCbHVyIChjbGljayk9XCJuZXh0UGFnZSgpXCJcbiAgICAgICAgW3RpdGxlXT1cIignTElTVC5QQUdFUl9ORVhUJyB8IHRyYW5zbGF0ZSlcIj5cbiAgICAgICAgPG1hdC1pY29uPlxuICAgICAgICAgICAgPHBlcC1pY29uIFtuYW1lXT1cImxheW91dFNlcnZpY2UuaXNSdGwoKSA/ICdhcnJvd19sZWZ0JyA6ICdhcnJvd19yaWdodCdcIj48L3BlcC1pY29uPlxuICAgICAgICA8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuPC9kaXY+Il19
167
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1wYWdlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL2xpc3QvbGlzdC1wYWdlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL2xpc3QvbGlzdC1wYWdlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM3RCxPQUFPLEVBQ0gsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsS0FBSyxFQUVMLE1BQU0sR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQWdDLGlCQUFpQixHQUFHLE1BQU0seUJBQXlCLENBQUM7QUFDM0YsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFDOzs7Ozs7Ozs7O0FBRWpELE1BQU0sT0FBTyx3QkFBd0I7Q0FLcEM7QUFRRCxNQUFNLE9BQU8scUJBQXFCO0lBMkM5QixZQUNXLGFBQStCO1FBQS9CLGtCQUFhLEdBQWIsYUFBYSxDQUFrQjtRQTNDakMsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUVqQix5QkFBb0IsR0FBRyxLQUFLLENBQUM7UUFDN0IseUJBQW9CLEdBQUcsS0FBSyxDQUFDO1FBRXRDLHNCQUFpQixHQUFHLGlCQUFpQixDQUFDO1FBQ3RDLGVBQVUsR0FBc0IsaUJBQWlCLENBQUMsRUFBRSxDQUFDO1FBRXJELDZCQUF3QixHQUFzQjtZQUMxQyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtZQUMxQixFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtZQUMxQixFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtTQUM3QixDQUFDO1FBRU0scUJBQWdCLEdBQWEsQ0FBQyxFQUFF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LElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFO1lBQ3JELElBQUksQ0FBQyxVQUFVLEdBQUcsUUFBUSxDQUFDO1NBQzlCO2FBQU07WUFDSCxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQztTQUN2QjtRQUVELElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxpQkFBaUIsRUFBRTtZQUN0QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLENBQUMsQ0FBQztTQUM1QztJQUNMLENBQUM7SUFFRCwrRkFBK0Y7SUFDdkYsZ0JBQWdCLENBQUMsaUJBQXlCO1FBQzlDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO1lBQ2xCLGlCQUFpQjtZQUNqQixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDekIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtTQUN0QixDQUFDLENBQUM7SUFDUCxDQUFDOztrSEE5SlEscUJBQXFCO3NHQUFyQixxQkFBcUIsaVVDMUJsQyw4akhBa0RNO3NIRHhCTyxxQkFBcUI7MkZBQXJCLHFCQUFxQjtrQkFOakMsU0FBUzsrQkFDSSxnQkFBZ0I7O2tCQUk3QixVQUFVO3VHQUVFLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUcsb0JBQW9CO3NCQUE1QixLQUFLO2dCQUNHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFhRixlQUFlO3NCQURsQixLQUFLO2dCQWNGLFNBQVM7c0JBRFosS0FBSztnQkFRRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFHTixXQUFXO3NCQURWLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb2VyY2VOdW1iZXJQcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5qZWN0YWJsZSxcbiAgICBJbnB1dCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSVBlcE9wdGlvbiwgUGVwTGF5b3V0U2VydmljZSwgUGVwU2NyZWVuU2l6ZVR5cGUsIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWInO1xuaW1wb3J0IHsgREVGQVVMVF9QQUdFX1NJWkUgfSBmcm9tICcuL2xpc3QubW9kZWwnO1xuXG5leHBvcnQgY2xhc3MgSVBlcExpc3RQYWdlckNoYW5nZUV2ZW50IHtcbiAgICBwYWdlSW5kZXg6IG51bWJlcjtcbiAgICBwcmV2aW91c1BhZ2VJbmRleDogbnVtYmVyO1xuICAgIHBhZ2VTaXplOiBudW1iZXI7XG4gICAgbGVuZ3RoOiBudW1iZXI7XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncGVwLWxpc3QtcGFnZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9saXN0LXBhZ2VyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9saXN0LXBhZ2VyLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFBlcExpc3RQYWdlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gICAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpIHNob3dQYWdlU2l6ZVNlbGVjdG9yID0gZmFsc2U7XG4gICAgQElucHV0KCkgc2hvd0ZpcnN0TGFzdEJ1dHRvbnMgPSBmYWxzZTtcblxuICAgIFBlcFNjcmVlblNpemVUeXBlID0gUGVwU2NyZWVuU2l6ZVR5cGU7XG4gICAgc2NyZWVuU2l6ZTogUGVwU2NyZWVuU2l6ZVR5cGUgPSBQZXBTY3JlZW5TaXplVHlwZS5MRztcbiAgICBwcml2YXRlIHJlc2l6ZVN1YjogU3Vic2NyaXB0aW9uO1xuICAgIHBhZ2VTaXplT3B0aW9uc0ZvclNlbGVjdDogQXJyYXk8SVBlcE9wdGlvbj4gPSBbXG4gICAgICAgIHsga2V5OiAnMTAnLCB2YWx1ZTogJzEwJyB9LFxuICAgICAgICB7IGtleTogJzIwJywgdmFsdWU6ICcyMCcgfSxcbiAgICAgICAgeyBrZXk6ICc1MCcsIHZhbHVlOiAnNTAnIH0sXG4gICAgXTtcblxuICAgIHByaXZhdGUgX3BhZ2VTaXplT3B0aW9uczogbnVtYmVyW10gPSBbMTAsIDIwLCA1MF07XG4gICAgQElucHV0KClcbiAgICBzZXQgcGFnZVNpemVPcHRpb25zKHZhbHVlOiBudW1iZXJbXSkge1xuICAgICAgICB0aGlzLl9wYWdlU2l6ZU9wdGlvbnMgPSBBcnJheS5pc0FycmF5KHZhbHVlKSAmJiB2YWx1ZS5sZW5ndGggPiAwID8gdmFsdWUgOiBbMTAsIDIwLCA1MF07XG4gICAgICAgIHRoaXMucGFnZVNpemVPcHRpb25zRm9yU2VsZWN0ID0gdGhpcy5fcGFnZVNpemVPcHRpb25zLm1hcCgobikgPT4gKHtcbiAgICAgICAgICAgIGtleTogbi50b1N0cmluZygpLFxuICAgICAgICAgICAgdmFsdWU6IG4udG9TdHJpbmcoKSxcbiAgICAgICAgfSkpO1xuICAgIH1cbiAgICBnZXQgcGFnZVNpemVPcHRpb25zKCk6IG51bWJlcltdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3BhZ2VTaXplT3B0aW9ucztcbiAgICB9XG5cbiAgICBwcml2YXRlIF9wYWdlSW5kZXggPSAwO1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHBhZ2VJbmRleCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuc2V0UGFnZUluZGV4KHZhbHVlKTtcbiAgICB9XG4gICAgZ2V0IHBhZ2VJbmRleCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fcGFnZUluZGV4O1xuICAgIH1cblxuICAgIEBJbnB1dCgpIGxlbmd0aCA9IDA7XG4gICAgQElucHV0KCkgcGFnZVNpemUgPSBERUZBVUxUX1BBR0VfU0laRTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHBhZ2VyQ2hhbmdlOiBFdmVudEVtaXR0ZXI8SVBlcExpc3RQYWdlckNoYW5nZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8SVBlcExpc3RQYWdlckNoYW5nZUV2ZW50PigpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBsYXlvdXRTZXJ2aWNlOiBQZXBMYXlvdXRTZXJ2aWNlKSB7XG4gICAgICAgIHRoaXMucmVzaXplU3ViID0gdGhpcy5sYXlvdXRTZXJ2aWNlLm9uUmVzaXplJC5zdWJzY3JpYmUoKHNpemUpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2NyZWVuU2l6ZSA9IHNpemU7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJlc2l6ZVN1Yj8udW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBuZXh0UGFnZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmhhc05leHRQYWdlKCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc2V0UGFnZUluZGV4KHRoaXMucGFnZUluZGV4ICsgMSk7XG4gICAgfVxuXG4gICAgcHJldmlvdXNQYWdlKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuaGFzUHJldmlvdXNQYWdlKCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc2V0UGFnZUluZGV4KHRoaXMucGFnZUluZGV4IC0gMSk7XG4gICAgfVxuXG4gICAgZmlyc3RQYWdlKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuaGFzUHJldmlvdXNQYWdlKCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc2V0UGFnZUluZGV4KDApO1xuICAgIH1cblxuICAgIGxhc3RQYWdlKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuaGFzTmV4dFBhZ2UoKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zZXRQYWdlSW5kZXgodGhpcy5nZXROdW1iZXJPZlBhZ2VzKCkgLSAxKTtcbiAgICB9XG5cbiAgICBoYXNQcmV2aW91c1BhZ2UoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnBhZ2VJbmRleCA+PSAxICYmIHRoaXMucGFnZVNpemUgIT0gMDtcbiAgICB9XG5cbiAgICBoYXNOZXh0UGFnZSgpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgbWF4UGFnZUluZGV4ID0gdGhpcy5nZXROdW1iZXJPZlBhZ2VzKCkgLSAxO1xuICAgICAgICByZXR1cm4gdGhpcy5wYWdlSW5kZXggPCBtYXhQYWdlSW5kZXggJiYgdGhpcy5wYWdlU2l6ZSAhPSAwO1xuICAgIH1cblxuICAgIGdldE51bWJlck9mUGFnZXMoKTogbnVtYmVyIHtcbiAgICAgICAgaWYgKCF0aGlzLnBhZ2VTaXplKSB7XG4gICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBNYXRoLmNlaWwodGhpcy5sZW5ndGggLyB0aGlzLnBhZ2VTaXplKTtcbiAgICB9XG5cbiAgICAvKiogQ2hlY2tzIHdoZXRoZXIgdGhlIGJ1dHRvbnMgZm9yIGdvaW5nIGZvcndhcmRzIHNob3VsZCBiZSBkaXNhYmxlZC4gKi9cbiAgICBfbmV4dEJ1dHRvbnNEaXNhYmxlZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGlzYWJsZWQgfHwgIXRoaXMuaGFzTmV4dFBhZ2UoKTtcbiAgICB9XG5cbiAgICAvKiogQ2hlY2tzIHdoZXRoZXIgdGhlIGJ1dHRvbnMgZm9yIGdvaW5nIGJhY2t3YXJkcyBzaG91bGQgYmUgZGlzYWJsZWQuICovXG4gICAgX3ByZXZpb3VzQnV0dG9uc0Rpc2FibGVkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5kaXNhYmxlZCB8fCAhdGhpcy5oYXNQcmV2aW91c1BhZ2UoKTtcbiAgICB9XG5cbiAgICBvblZhbHVlQ2hhbmdlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgcGFnZU51bWJlciA9IGNvZXJjZU51bWJlclByb3BlcnR5KHZhbHVlKTtcbiAgICAgICAgdGhpcy5zZXRQYWdlSW5kZXgocGFnZU51bWJlciAtIDEpOyAvLyAtIDEgdG8gY29udmVydCBudW1iZXIgaW50byBpbmRleC5cbiAgICB9XG5cbiAgICBvblBhZ2VTaXplQ2hhbmdlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgbmV3UGFnZVNpemUgPSBjb2VyY2VOdW1iZXJQcm9wZXJ0eSh2YWx1ZSk7XG4gICAgICAgIGlmICghbmV3UGFnZVNpemUgfHwgbmV3UGFnZVNpemUgPT09IHRoaXMucGFnZVNpemUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHByZXZpb3VzUGFnZUluZGV4ID0gdGhpcy5wYWdlSW5kZXg7XG4gICAgICAgIHRoaXMucGFnZVNpemUgPSBuZXdQYWdlU2l6ZTtcblxuICAgICAgICAvLyBSZXNldCB0byBmaXJzdCBwYWdlIG9uIHBhZ2Utc2l6ZSBjaGFuZ2UuXG4gICAgICAgIHRoaXMuc2V0UGFnZUluZGV4KDApO1xuXG4gICAgICAgIC8vIElmIHdlIHdlcmUgYWxyZWFkeSBvbiBwYWdlIDAsIHNldFBhZ2VJbmRleCB3b24ndCBlbWl0LCBzbyBlbWl0IGV4cGxpY2l0bHkuXG4gICAgICAgIGlmICh0aGlzLnBhZ2VJbmRleCA9PT0gcHJldmlvdXNQYWdlSW5kZXgpIHtcbiAgICAgICAgICAgIHRoaXMuX2VtaXRDaGFuZ2VFdmVudChwcmV2aW91c1BhZ2VJbmRleCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNldFBhZ2VJbmRleChuZXdJbmRleDogbnVtYmVyKSB7XG4gICAgICAgIGNvbnN0IHByZXZpb3VzUGFnZUluZGV4ID0gdGhpcy5wYWdlSW5kZXg7XG5cbiAgICAgICAgaWYgKG5ld0luZGV4ID49IDAgJiYgbmV3SW5kZXggPCB0aGlzLmdldE51bWJlck9mUGFnZXMoKSkge1xuICAgICAgICAgICAgdGhpcy5fcGFnZUluZGV4ID0gbmV3SW5kZXg7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9wYWdlSW5kZXggPSAwO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMucGFnZUluZGV4ICE9PSBwcmV2aW91c1BhZ2VJbmRleCkge1xuICAgICAgICAgICAgdGhpcy5fZW1pdENoYW5nZUV2ZW50KHByZXZpb3VzUGFnZUluZGV4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBFbWl0cyBhbiBldmVudCBub3RpZnlpbmcgdGhhdCBhIGNoYW5nZSBvZiB0aGUgcGFnaW5hdG9yJ3MgcHJvcGVydGllcyBoYXMgYmVlbiB0cmlnZ2VyZWQuICovXG4gICAgcHJpdmF0ZSBfZW1pdENoYW5nZUV2ZW50KHByZXZpb3VzUGFnZUluZGV4OiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5wYWdlckNoYW5nZS5lbWl0KHtcbiAgICAgICAgICAgIHByZXZpb3VzUGFnZUluZGV4LFxuICAgICAgICAgICAgcGFnZUluZGV4OiB0aGlzLnBhZ2VJbmRleCxcbiAgICAgICAgICAgIHBhZ2VTaXplOiB0aGlzLnBhZ2VTaXplLFxuICAgICAgICAgICAgbGVuZ3RoOiB0aGlzLmxlbmd0aCxcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInBhZ2VyLWNvbnRhaW5lciBib2R5LXNtXCI+XG4gICAgPHNwYW4gKm5nSWY9XCJzY3JlZW5TaXplIDw9IFBlcFNjcmVlblNpemVUeXBlLlNNXCIgY2xhc3M9XCJwZXAtc3BhY2luZy1lbGVtZW50IHBhZ2VyLWxhYmVsXCI+e3sgJ0xJU1QuUEFHRVJfUEFHRScgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgPGJ1dHRvbiAqbmdJZj1cInNob3dGaXJzdExhc3RCdXR0b25zICYmIHNjcmVlblNpemUgPD0gUGVwU2NyZWVuU2l6ZVR5cGUuU01cIiBtYXQtYnV0dG9uIFtkaXNhYmxlZF09XCJkaXNhYmxlZCB8fCAhaGFzUHJldmlvdXNQYWdlKClcIlxuICAgICAgICBbbmdDbGFzc109XCJ7IGRpc2FibGVkOiBkaXNhYmxlZCB8fCAhaGFzUHJldmlvdXNQYWdlKCkgfVwiXG4gICAgICAgIGNsYXNzPVwicGVwLWJ1dHRvbiBpY29uLWJ1dHRvbiBwZXAtc3BhY2luZy1lbGVtZW50IHNtIHdlYWtcIiBwZXBSdGxEaXJlY3Rpb24gcGVwTWVudUJsdXIgKGNsaWNrKT1cImZpcnN0UGFnZSgpXCJcbiAgICAgICAgW3RpdGxlXT1cIignTElTVC5QQUdFUl9GSVJTVCcgfCB0cmFuc2xhdGUpXCI+XG4gICAgICAgIDxtYXQtaWNvbj5cbiAgICAgICAgICAgIDxwZXAtaWNvbiBbbmFtZV09XCJsYXlvdXRTZXJ2aWNlLmlzUnRsKCkgPyAnYXJyb3dfYmFja19yaWdodCcgOiAnYXJyb3dfYmFja19sZWZ0J1wiPjwvcGVwLWljb24+XG4gICAgICAgIDwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uIFtkaXNhYmxlZF09XCJkaXNhYmxlZCB8fCBfcHJldmlvdXNCdXR0b25zRGlzYWJsZWQoKVwiXG4gICAgICAgIFtuZ0NsYXNzXT1cInsgZGlzYWJsZWQ6IGRpc2FibGVkIHx8IF9wcmV2aW91c0J1dHRvbnNEaXNhYmxlZCgpIH1cIlxuICAgICAgICBjbGFzcz1cInBlcC1idXR0b24gaWNvbi1idXR0b24gcGVwLXNwYWNpbmctZWxlbWVudCBzbSB3ZWFrXCIgcGVwUnRsRGlyZWN0aW9uIHBlcE1lbnVCbHVyIChjbGljayk9XCJwcmV2aW91c1BhZ2UoKVwiXG4gICAgICAgIFt0aXRsZV09XCIoJ0xJU1QuUEFHRVJfUFJFVklPVVMnIHwgdHJhbnNsYXRlKVwiPlxuICAgICAgICA8bWF0LWljb24+XG4gICAgICAgICAgICA8cGVwLWljb24gW25hbWVdPVwibGF5b3V0U2VydmljZS5pc1J0bCgpID8gJ2Fycm93X3JpZ2h0JyA6ICdhcnJvd19sZWZ0J1wiPjwvcGVwLWljb24+XG4gICAgICAgIDwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG4gICAgPHBlcC10ZXh0Ym94IHBlcEF1dG9XaWR0aCBjbGFzcz1cInBhZ2UtaW5kZXggcGVwLXNwYWNpbmctZWxlbWVudFwiIFtrZXldPVwiJ3BhZ2VJbmRleCdcIiBbdHlwZV09XCInaW50J1wiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIFt4QWxpZ25tZW50XT1cIidjZW50ZXInXCIgW3JlbmRlclRpdGxlXT1cImZhbHNlXCIgW3JlbmRlckVycm9yXT1cImZhbHNlXCIgW3JlbmRlclN5bWJvbF09XCJmYWxzZVwiXG4gICAgICAgIFt2YWx1ZV09XCJwYWdlSW5kZXggKyAxXCIgW21pblZhbHVlXT1cIjFcIiBbbWF4VmFsdWVdPVwidGhpcy5nZXROdW1iZXJPZlBhZ2VzKClcIlxuICAgICAgICBbbWF4RmllbGRDaGFyYWN0ZXJzXT1cIjZcIiBbbWFuZGF0b3J5XT1cInRydWVcIiAodmFsdWVDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgkZXZlbnQpXCI+XG4gICAgPC9wZXAtdGV4dGJveD5cbiAgICA8YnV0dG9uIG1hdC1idXR0b24gW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8IF9uZXh0QnV0dG9uc0Rpc2FibGVkKClcIlxuICAgICAgICBbbmdDbGFzc109XCJ7IGRpc2FibGVkOiBkaXNhYmxlZCB8fCBfbmV4dEJ1dHRvbnNEaXNhYmxlZCgpIH1cIlxuICAgICAgICBjbGFzcz1cInBlcC1idXR0b24gaWNvbi1idXR0b24gcGVwLXNwYWNpbmctZWxlbWVudCBzbSB3ZWFrXCIgcGVwUnRsRGlyZWN0aW9uIHBlcE1lbnVCbHVyIChjbGljayk9XCJuZXh0UGFnZSgpXCJcbiAgICAgICAgW3RpdGxlXT1cIignTElTVC5QQUdFUl9ORVhUJyB8IHRyYW5zbGF0ZSlcIj5cbiAgICAgICAgPG1hdC1pY29uPlxuICAgICAgICAgICAgPHBlcC1pY29uIFtuYW1lXT1cImxheW91dFNlcnZpY2UuaXNSdGwoKSA/ICdhcnJvd19sZWZ0JyA6ICdhcnJvd19yaWdodCdcIj48L3BlcC1pY29uPlxuICAgICAgICA8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b24gKm5nSWY9XCJzaG93Rmlyc3RMYXN0QnV0dG9ucyAmJiBzY3JlZW5TaXplIDw9IFBlcFNjcmVlblNpemVUeXBlLlNNXCIgbWF0LWJ1dHRvbiBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgIWhhc05leHRQYWdlKClcIlxuICAgICAgICBbbmdDbGFzc109XCJ7IGRpc2FibGVkOiBkaXNhYmxlZCB8fCAhaGFzTmV4dFBhZ2UoKSB9XCJcbiAgICAgICAgY2xhc3M9XCJwZXAtYnV0dG9uIGljb24tYnV0dG9uIHBlcC1zcGFjaW5nLWVsZW1lbnQgc20gd2Vha1wiIHBlcFJ0bERpcmVjdGlvbiBwZXBNZW51Qmx1ciAoY2xpY2spPVwibGFzdFBhZ2UoKVwiXG4gICAgICAgIFt0aXRsZV09XCIoJ0xJU1QuUEFHRVJfTEFTVCcgfCB0cmFuc2xhdGUpXCI+XG4gICAgICAgIDxtYXQtaWNvbj5cbiAgICAgICAgICAgIDxwZXAtaWNvbiBbbmFtZV09XCJsYXlvdXRTZXJ2aWNlLmlzUnRsKCkgPyAnYXJyb3dfYmFja19sZWZ0JyA6ICdhcnJvd19iYWNrX3JpZ2h0J1wiPjwvcGVwLWljb24+XG4gICAgICAgIDwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG4gICAgPHNwYW4gKm5nSWY9XCJzY3JlZW5TaXplIDw9IFBlcFNjcmVlblNpemVUeXBlLlNNXCIgY2xhc3M9XCJwZXAtc3BhY2luZy1lbGVtZW50IHBhZ2VyLWxhYmVsXCI+e3sgJ0xJU1QuUEFHRVJfT1VUX09GJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICA8c3BhbiAqbmdJZj1cInNjcmVlblNpemUgPiBQZXBTY3JlZW5TaXplVHlwZS5TTVwiIGNsYXNzPVwicGVwLXNwYWNpbmctZWxlbWVudCBwYWdlci1sYWJlbFwiPi88L3NwYW4+XG4gICAgPHNwYW4gY2xhc3M9XCJwZXAtc3BhY2luZy1lbGVtZW50XCI+e3sgZ2V0TnVtYmVyT2ZQYWdlcygpIH19PC9zcGFuPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93UGFnZVNpemVTZWxlY3RvclwiPlxuICAgICAgICA8cGVwLXNlbGVjdCBwZXBBdXRvV2lkdGggY2xhc3M9XCJwYWdlLXNpemUgcGVwLXNwYWNpbmctZWxlbWVudFwiIFtrZXldPVwiJ3BhZ2VTaXplJ1wiIFt2YWx1ZV09XCJwYWdlU2l6ZT8udG9TdHJpbmcoKVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbcmVuZGVyVGl0bGVdPVwiZmFsc2VcIiBbZW1wdHlPcHRpb25dPVwiZmFsc2VcIiBbb3B0aW9uc109XCJwYWdlU2l6ZU9wdGlvbnNGb3JTZWxlY3RcIlxuICAgICAgICAgICAgW3RpdGxlXT1cIignTElTVC5QQUdFUl9JVEVNU19QRVJfUEFHRScgfCB0cmFuc2xhdGUpXCJcbiAgICAgICAgICAgICh2YWx1ZUNoYW5nZSk9XCJvblBhZ2VTaXplQ2hhbmdlKCRldmVudClcIj5cbiAgICAgICAgPC9wZXAtc2VsZWN0PlxuICAgICAgICA8c3BhbiAqbmdJZj1cInNjcmVlblNpemUgPD0gUGVwU2NyZWVuU2l6ZVR5cGUuTURcIiBjbGFzcz1cInBlcC1zcGFjaW5nLWVsZW1lbnQgcGFnZXItbGFiZWxcIj57eyAnTElTVC5QQUdFUl9JVEVNU19QRVJfUEFHRScgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgPC9uZy1jb250YWluZXI+XG48L2Rpdj4iXX0=
@@ -42,7 +42,7 @@ export class PepListSortingComponent {
42
42
  }
43
43
  }
44
44
  PepListSortingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepListSortingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
45
- PepListSortingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepListSortingComponent, selector: "pep-list-sorting", inputs: { options: "options", currentSorting: "currentSorting", sizeType: "sizeType" }, outputs: { change: "change" }, ngImport: i0, template: "<div class=\"sorting-container\">\n <div class=\"body-xs sort-by\">\n <span>{{ 'LIST.SORT_BY' | translate }}</span>\n </div>\n <pep-menu [type]=\"'select'\" [sizeType]=\"sizeType\" [items]=\"menuItems\" [selectedItem]=\"currentItem\"\n [iconName]=\"'arrow_down'\" (menuItemClick)=\"onMenuItemClicked($event)\"></pep-menu>\n</div>", styles: [".sorting-container{display:flex;align-items:center}.sorting-container .sort-by{margin-inline-end:var(--pep-spacing-sm, .5rem)}\n"], dependencies: [{ kind: "component", type: i1.PepMenuComponent, selector: "pep-menu", inputs: ["text", "iconName", "type", "styleType", "sizeType", "classNames", "xPosition", "hideOnEmptyItems", "items", "selectedItem", "disabled"], outputs: ["stateChange", "menuItemClick", "menuClick"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] });
45
+ PepListSortingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepListSortingComponent, selector: "pep-list-sorting", inputs: { options: "options", currentSorting: "currentSorting", sizeType: "sizeType" }, outputs: { change: "change" }, ngImport: i0, template: "<div class=\"sorting-container\">\n <div class=\"body-xs sort-by\">\n <span>{{ 'LIST.SORT_BY' | translate }}</span>\n </div>\n <pep-menu [type]=\"'select'\" [sizeType]=\"sizeType\" [items]=\"menuItems\" [selectedItem]=\"currentItem\"\n [iconName]=\"'arrow_down'\" (menuItemClick)=\"onMenuItemClicked($event)\"></pep-menu>\n</div>", styles: [".sorting-container{display:flex;align-items:center}.sorting-container .sort-by{margin-inline-end:var(--pep-spacing-sm, .5rem)}\n"], dependencies: [{ kind: "component", type: i1.PepMenuComponent, selector: "pep-menu", inputs: ["text", "iconName", "iconPosition", "type", "styleType", "sizeType", "classNames", "xPosition", "hideOnEmptyItems", "items", "selectedItem", "disabled"], outputs: ["stateChange", "menuItemClick", "menuClick"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] });
46
46
  PepListSortingComponent.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepListSortingComponent });
47
47
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepListSortingComponent, decorators: [{
48
48
  type: Component,
@@ -8,14 +8,15 @@ export class PepListTotalComponent {
8
8
  this.totalAmount = -1;
9
9
  this.isMapView = false;
10
10
  this.sizeType = 'md';
11
+ this.unknownCount = false;
11
12
  }
12
13
  }
13
14
  PepListTotalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepListTotalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
14
- PepListTotalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepListTotalComponent, selector: "pep-list-total", inputs: { totalRows: "totalRows", totalAmount: "totalAmount", isMapView: "isMapView", sizeType: "sizeType" }, ngImport: i0, template: "<div class=\"total-items-container\">\n <ng-container *ngIf=\"isMapView; then mapTemplate; else notMapTemplate\"></ng-container>\n\n <ng-template #notMapTemplate>\n <ng-container *ngIf=\"totalRows >= 0\">\n <div class=\"body-{{sizeType}} total-items color-dimmed\"\n [innerHtml]=\"(totalRows === 1 ? 'LIST.TOTAL_RESULT' : 'LIST.TOTAL_RESULTS') | translate: { totalRows: totalRows }\">\n </div>\n </ng-container>\n <ng-container *ngIf=\"totalAmount > 0\"> {{ 'LIST.TOTAL_OF' | translate }} {{ totalAmount }} </ng-container>\n </ng-template>\n\n <ng-template #mapTemplate>\n <ng-container *ngIf=\"totalAmount >= 0\">\n </ng-container>\n <ng-container *ngIf=\"totalRows >= 0\">\n <div class=\"body-{{sizeType}} total-items color-dimmed\"\n [innerHtml]=\"(totalRows === 1 ? 'LIST.TOTAL_RESULT_OUT_OF_RESULT' : 'LIST.TOTAL_RESULTS_OUT_OF') | translate: { xRows: totalAmount, totalRows: totalRows }\">\n </div>\n </ng-container>\n </ng-template>\n</div>", styles: [":host{height:inherit}.total-items-container{height:100%;display:flex;align-items:center}\n", ""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] });
15
+ PepListTotalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepListTotalComponent, selector: "pep-list-total", inputs: { totalRows: "totalRows", totalAmount: "totalAmount", isMapView: "isMapView", sizeType: "sizeType", unknownCount: "unknownCount" }, ngImport: i0, template: "<div class=\"total-items-container\">\n <ng-container *ngIf=\"isMapView; then mapTemplate; else notMapTemplate\"></ng-container>\n\n <ng-template #notMapTemplate>\n <ng-container *ngIf=\"totalRows >= 0\">\n <div class=\"body-{{sizeType}} total-items color-dimmed\"\n [innerHtml]=\"(totalRows === 1 ? 'LIST.TOTAL_RESULT' : 'LIST.TOTAL_RESULTS') | translate: { totalRows: totalRows ,unknownCount: unknownCount === true ? '+' : ''}\">\n </div>\n </ng-container>\n <ng-container *ngIf=\"totalAmount > 0\"> {{ 'LIST.TOTAL_OF' | translate }} {{ totalAmount }} </ng-container>\n </ng-template>\n\n <ng-template #mapTemplate>\n <ng-container *ngIf=\"totalAmount >= 0\">\n </ng-container>\n <ng-container *ngIf=\"totalRows >= 0\">\n <div class=\"body-{{sizeType}} total-items color-dimmed\"\n [innerHtml]=\"(totalRows === 1 ? 'LIST.TOTAL_RESULT_OUT_OF_RESULT' : 'LIST.TOTAL_RESULTS_OUT_OF') | translate: { xRows: totalAmount, totalRows: totalRows }\">\n </div>\n </ng-container>\n </ng-template>\n</div>", styles: [":host{height:inherit}.total-items-container{height:100%;display:flex;align-items:center}\n", ""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] });
15
16
  PepListTotalComponent.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepListTotalComponent });
16
17
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepListTotalComponent, decorators: [{
17
18
  type: Component,
18
- args: [{ selector: 'pep-list-total', template: "<div class=\"total-items-container\">\n <ng-container *ngIf=\"isMapView; then mapTemplate; else notMapTemplate\"></ng-container>\n\n <ng-template #notMapTemplate>\n <ng-container *ngIf=\"totalRows >= 0\">\n <div class=\"body-{{sizeType}} total-items color-dimmed\"\n [innerHtml]=\"(totalRows === 1 ? 'LIST.TOTAL_RESULT' : 'LIST.TOTAL_RESULTS') | translate: { totalRows: totalRows }\">\n </div>\n </ng-container>\n <ng-container *ngIf=\"totalAmount > 0\"> {{ 'LIST.TOTAL_OF' | translate }} {{ totalAmount }} </ng-container>\n </ng-template>\n\n <ng-template #mapTemplate>\n <ng-container *ngIf=\"totalAmount >= 0\">\n </ng-container>\n <ng-container *ngIf=\"totalRows >= 0\">\n <div class=\"body-{{sizeType}} total-items color-dimmed\"\n [innerHtml]=\"(totalRows === 1 ? 'LIST.TOTAL_RESULT_OUT_OF_RESULT' : 'LIST.TOTAL_RESULTS_OUT_OF') | translate: { xRows: totalAmount, totalRows: totalRows }\">\n </div>\n </ng-container>\n </ng-template>\n</div>", styles: [":host{height:inherit}.total-items-container{height:100%;display:flex;align-items:center}\n"] }]
19
+ args: [{ selector: 'pep-list-total', template: "<div class=\"total-items-container\">\n <ng-container *ngIf=\"isMapView; then mapTemplate; else notMapTemplate\"></ng-container>\n\n <ng-template #notMapTemplate>\n <ng-container *ngIf=\"totalRows >= 0\">\n <div class=\"body-{{sizeType}} total-items color-dimmed\"\n [innerHtml]=\"(totalRows === 1 ? 'LIST.TOTAL_RESULT' : 'LIST.TOTAL_RESULTS') | translate: { totalRows: totalRows ,unknownCount: unknownCount === true ? '+' : ''}\">\n </div>\n </ng-container>\n <ng-container *ngIf=\"totalAmount > 0\"> {{ 'LIST.TOTAL_OF' | translate }} {{ totalAmount }} </ng-container>\n </ng-template>\n\n <ng-template #mapTemplate>\n <ng-container *ngIf=\"totalAmount >= 0\">\n </ng-container>\n <ng-container *ngIf=\"totalRows >= 0\">\n <div class=\"body-{{sizeType}} total-items color-dimmed\"\n [innerHtml]=\"(totalRows === 1 ? 'LIST.TOTAL_RESULT_OUT_OF_RESULT' : 'LIST.TOTAL_RESULTS_OUT_OF') | translate: { xRows: totalAmount, totalRows: totalRows }\">\n </div>\n </ng-container>\n </ng-template>\n</div>", styles: [":host{height:inherit}.total-items-container{height:100%;display:flex;align-items:center}\n"] }]
19
20
  }, {
20
21
  type: Injectable
21
22
  }], propDecorators: { totalRows: [{
@@ -26,5 +27,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
26
27
  type: Input
27
28
  }], sizeType: [{
28
29
  type: Input
30
+ }], unknownCount: [{
31
+ type: Input
29
32
  }] } });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC10b3RhbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL2xpc3QvbGlzdC10b3RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL2xpc3QvbGlzdC10b3RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFTN0QsTUFBTSxPQUFPLHFCQUFxQjtJQU5sQztRQU9hLGNBQVMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNmLGdCQUFXLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDakIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixhQUFRLEdBQWdCLElBQUksQ0FBQztLQUN6Qzs7a0hBTFkscUJBQXFCO3NHQUFyQixxQkFBcUIsb0tDVGxDLCtqQ0FxQk07c0hEWk8scUJBQXFCOzJGQUFyQixxQkFBcUI7a0JBTmpDLFNBQVM7K0JBQ0ksZ0JBQWdCOztrQkFJN0IsVUFBVTs4QkFFRSxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3RhYmxlLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUGVwU2l6ZVR5cGUgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncGVwLWxpc3QtdG90YWwnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9saXN0LXRvdGFsLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9saXN0LXRvdGFsLmNvbXBvbmVudC5zY3NzJywgJy4vbGlzdC10b3RhbC5jb21wb25lbnQudGhlbWUuc2NzcyddLFxufSlcbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBQZXBMaXN0VG90YWxDb21wb25lbnQge1xuICAgIEBJbnB1dCgpIHRvdGFsUm93cyA9IC0xO1xuICAgIEBJbnB1dCgpIHRvdGFsQW1vdW50ID0gLTE7XG4gICAgQElucHV0KCkgaXNNYXBWaWV3ID0gZmFsc2U7XG4gICAgQElucHV0KCkgc2l6ZVR5cGU6IFBlcFNpemVUeXBlID0gJ21kJztcbn1cbiIsIjxkaXYgY2xhc3M9XCJ0b3RhbC1pdGVtcy1jb250YWluZXJcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNNYXBWaWV3OyB0aGVuIG1hcFRlbXBsYXRlOyBlbHNlIG5vdE1hcFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctdGVtcGxhdGUgI25vdE1hcFRlbXBsYXRlPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidG90YWxSb3dzID49IDBcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJib2R5LXt7c2l6ZVR5cGV9fSB0b3RhbC1pdGVtcyBjb2xvci1kaW1tZWRcIlxuICAgICAgICAgICAgICAgIFtpbm5lckh0bWxdPVwiKHRvdGFsUm93cyA9PT0gMSA/ICdMSVNULlRPVEFMX1JFU1VMVCcgOiAnTElTVC5UT1RBTF9SRVNVTFRTJykgfCB0cmFuc2xhdGU6IHsgdG90YWxSb3dzOiB0b3RhbFJvd3MgfVwiPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidG90YWxBbW91bnQgPiAwXCI+IHt7ICdMSVNULlRPVEFMX09GJyB8IHRyYW5zbGF0ZSB9fSB7eyB0b3RhbEFtb3VudCB9fSA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPG5nLXRlbXBsYXRlICNtYXBUZW1wbGF0ZT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRvdGFsQW1vdW50ID49IDBcIj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0b3RhbFJvd3MgPj0gMFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJvZHkte3tzaXplVHlwZX19IHRvdGFsLWl0ZW1zIGNvbG9yLWRpbW1lZFwiXG4gICAgICAgICAgICAgICAgW2lubmVySHRtbF09XCIodG90YWxSb3dzID09PSAxID8gJ0xJU1QuVE9UQUxfUkVTVUxUX09VVF9PRl9SRVNVTFQnIDogJ0xJU1QuVE9UQUxfUkVTVUxUU19PVVRfT0YnKSB8IHRyYW5zbGF0ZTogeyB4Um93czogdG90YWxBbW91bnQsIHRvdGFsUm93czogdG90YWxSb3dzIH1cIj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLXRlbXBsYXRlPlxuPC9kaXY+Il19
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC10b3RhbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL2xpc3QvbGlzdC10b3RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL2xpc3QvbGlzdC10b3RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFTN0QsTUFBTSxPQUFPLHFCQUFxQjtJQU5sQztRQU9hLGNBQVMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNmLGdCQUFXLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDakIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixhQUFRLEdBQWdCLElBQUksQ0FBQztRQUM3QixpQkFBWSxHQUFHLEtBQUssQ0FBQztLQUNqQzs7a0hBTlkscUJBQXFCO3NHQUFyQixxQkFBcUIsa01DVGxDLDhtQ0FxQk07c0hEWk8scUJBQXFCOzJGQUFyQixxQkFBcUI7a0JBTmpDLFNBQVM7K0JBQ0ksZ0JBQWdCOztrQkFJN0IsVUFBVTs4QkFFRSxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdGFibGUsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQZXBTaXplVHlwZSB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwZXAtbGlzdC10b3RhbCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2xpc3QtdG90YWwuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2xpc3QtdG90YWwuY29tcG9uZW50LnNjc3MnLCAnLi9saXN0LXRvdGFsLmNvbXBvbmVudC50aGVtZS5zY3NzJ10sXG59KVxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFBlcExpc3RUb3RhbENvbXBvbmVudCB7XG4gICAgQElucHV0KCkgdG90YWxSb3dzID0gLTE7XG4gICAgQElucHV0KCkgdG90YWxBbW91bnQgPSAtMTtcbiAgICBASW5wdXQoKSBpc01hcFZpZXcgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBzaXplVHlwZTogUGVwU2l6ZVR5cGUgPSAnbWQnO1xuICAgIEBJbnB1dCgpIHVua25vd25Db3VudCA9IGZhbHNlO1xufVxuIiwiPGRpdiBjbGFzcz1cInRvdGFsLWl0ZW1zLWNvbnRhaW5lclwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc01hcFZpZXc7IHRoZW4gbWFwVGVtcGxhdGU7IGVsc2Ugbm90TWFwVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy10ZW1wbGF0ZSAjbm90TWFwVGVtcGxhdGU+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0b3RhbFJvd3MgPj0gMFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJvZHkte3tzaXplVHlwZX19IHRvdGFsLWl0ZW1zIGNvbG9yLWRpbW1lZFwiXG4gICAgICAgICAgICAgICAgW2lubmVySHRtbF09XCIodG90YWxSb3dzID09PSAxID8gJ0xJU1QuVE9UQUxfUkVTVUxUJyA6ICdMSVNULlRPVEFMX1JFU1VMVFMnKSB8IHRyYW5zbGF0ZTogeyB0b3RhbFJvd3M6IHRvdGFsUm93cyAsdW5rbm93bkNvdW50OiB1bmtub3duQ291bnQgPT09IHRydWUgPyAnKycgOiAnJ31cIj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRvdGFsQW1vdW50ID4gMFwiPiB7eyAnTElTVC5UT1RBTF9PRicgfCB0cmFuc2xhdGUgfX0ge3sgdG90YWxBbW91bnQgfX0gPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgIDxuZy10ZW1wbGF0ZSAjbWFwVGVtcGxhdGU+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0b3RhbEFtb3VudCA+PSAwXCI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidG90YWxSb3dzID49IDBcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJib2R5LXt7c2l6ZVR5cGV9fSB0b3RhbC1pdGVtcyBjb2xvci1kaW1tZWRcIlxuICAgICAgICAgICAgICAgIFtpbm5lckh0bWxdPVwiKHRvdGFsUm93cyA9PT0gMSA/ICdMSVNULlRPVEFMX1JFU1VMVF9PVVRfT0ZfUkVTVUxUJyA6ICdMSVNULlRPVEFMX1JFU1VMVFNfT1VUX09GJykgfCB0cmFuc2xhdGU6IHsgeFJvd3M6IHRvdGFsQW1vdW50LCB0b3RhbFJvd3M6IHRvdGFsUm93cyB9XCI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvZGl2PiJdfQ==
@@ -60,7 +60,7 @@ export class PepListViewsComponent {
60
60
  }
61
61
  }
62
62
  PepListViewsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepListViewsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
63
- PepListViewsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepListViewsComponent, selector: "pep-list-views", inputs: { views: "views", currentView: "currentView", displayType: "displayType", styleType: "styleType", sizeType: "sizeType", classNames: "classNames" }, outputs: { change: "change" }, ngImport: i0, template: "<ng-container *ngIf=\"displayType === 'menu' then menuTemplate else buttonsTemplate\">\n</ng-container>\n<ng-template #menuTemplate>\n <pep-menu [type]=\"'select'\" [styleType]=\"styleType\" [sizeType]=\"sizeType\" [classNames]=\"classNames\"\n [items]=\"menuItems\" [selectedItem]=\"currentItem\"\n [iconName]=\"currentItem?.iconName ? currentItem?.iconName : 'arrow_down'\"\n (menuItemClick)=\"onMenuItemClicked($event)\"></pep-menu>\n</ng-template>\n<ng-template #buttonsTemplate>\n <div class=\"buttons-wrapper pep-spacing-element-negative\">\n <button *ngFor=\"let view of views\" mat-button [title]=\"view.title\" [disabled]=\"view.key === currentView?.key\"\n class=\"pep-button icon-button pep-spacing-element {{ sizeType }} {{ styleType }} {{ classNames }}\"\n pepRtlDirection pepMenuBlur (click)=\"onViewChanged(view)\">\n <mat-icon>\n <pep-icon name=\"{{ view?.iconName }}\"></pep-icon>\n </mat-icon>\n </button>\n </div>\n</ng-template>", styles: [".buttons-wrapper{display:flex}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i4.PepMenuBlurDirective, selector: "[pepMenuBlur]" }, { kind: "directive", type: i4.PepRtlDirectionDirective, selector: "[pepRtlDirection]" }, { kind: "component", type: i5.PepIconComponent, selector: "pep-icon", inputs: ["spin", "name", "fill"] }, { kind: "component", type: i6.PepMenuComponent, selector: "pep-menu", inputs: ["text", "iconName", "type", "styleType", "sizeType", "classNames", "xPosition", "hideOnEmptyItems", "items", "selectedItem", "disabled"], outputs: ["stateChange", "menuItemClick", "menuClick"] }] });
63
+ PepListViewsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepListViewsComponent, selector: "pep-list-views", inputs: { views: "views", currentView: "currentView", displayType: "displayType", styleType: "styleType", sizeType: "sizeType", classNames: "classNames" }, outputs: { change: "change" }, ngImport: i0, template: "<ng-container *ngIf=\"displayType === 'menu' then menuTemplate else buttonsTemplate\">\n</ng-container>\n<ng-template #menuTemplate>\n <pep-menu [type]=\"'select'\" [styleType]=\"styleType\" [sizeType]=\"sizeType\" [classNames]=\"classNames\"\n [items]=\"menuItems\" [selectedItem]=\"currentItem\"\n [iconName]=\"currentItem?.iconName ? currentItem?.iconName : 'arrow_down'\"\n (menuItemClick)=\"onMenuItemClicked($event)\"></pep-menu>\n</ng-template>\n<ng-template #buttonsTemplate>\n <div class=\"buttons-wrapper pep-spacing-element-negative\">\n <button *ngFor=\"let view of views\" mat-button [title]=\"view.title\" [disabled]=\"view.key === currentView?.key\"\n class=\"pep-button icon-button pep-spacing-element {{ sizeType }} {{ styleType }} {{ classNames }}\"\n pepRtlDirection pepMenuBlur (click)=\"onViewChanged(view)\">\n <mat-icon>\n <pep-icon name=\"{{ view?.iconName }}\"></pep-icon>\n </mat-icon>\n </button>\n </div>\n</ng-template>", styles: [".buttons-wrapper{display:flex}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i4.PepMenuBlurDirective, selector: "[pepMenuBlur]" }, { kind: "directive", type: i4.PepRtlDirectionDirective, selector: "[pepRtlDirection]" }, { kind: "component", type: i5.PepIconComponent, selector: "pep-icon", inputs: ["spin", "name", "fill"] }, { kind: "component", type: i6.PepMenuComponent, selector: "pep-menu", inputs: ["text", "iconName", "iconPosition", "type", "styleType", "sizeType", "classNames", "xPosition", "hideOnEmptyItems", "items", "selectedItem", "disabled"], outputs: ["stateChange", "menuItemClick", "menuClick"] }] });
64
64
  PepListViewsComponent.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepListViewsComponent });
65
65
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepListViewsComponent, decorators: [{
66
66
  type: Component,