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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (749) hide show
  1. package/address/address.component.d.ts +1 -1
  2. package/attachment/attachment.component.d.ts +1 -1
  3. package/bread-crumbs/bread-crumbs.component.d.ts +1 -1
  4. package/button/button.component.d.ts +1 -1
  5. package/carousel/carousel-item.directive.d.ts +1 -1
  6. package/carousel/carousel.component.d.ts +1 -1
  7. package/checkbox/checkbox.component.d.ts +1 -1
  8. package/chips/chips.component.d.ts +1 -1
  9. package/color/color.component.d.ts +1 -1
  10. package/core/clipboard/clipboard.directive.d.ts +1 -1
  11. package/core/common/directives/auto-width.directive.d.ts +1 -1
  12. package/core/common/directives/button-loader.directive.d.ts +1 -1
  13. package/core/common/directives/data-qa.directive.d.ts +1 -1
  14. package/core/common/directives/div-loader.directive.d.ts +1 -1
  15. package/core/common/directives/prevent-multi-click.directive.d.ts +1 -1
  16. package/core/common/directives/print.directive.d.ts +1 -1
  17. package/core/portal/attach.directive.d.ts +1 -1
  18. package/core/portal/target.directive.d.ts +1 -1
  19. package/date/date.component.d.ts +1 -1
  20. package/dialog/dialog.component.d.ts +1 -1
  21. package/draggable-items/draggable-item/draggable-item.component.d.ts +1 -1
  22. package/draggable-items/draggable-items.component.d.ts +1 -1
  23. package/esm2022/address/address.component.mjs +112 -0
  24. package/{esm2020 → esm2022}/address/address.module.mjs +23 -23
  25. package/{esm2020 → esm2022}/attachment/attachment.component.mjs +65 -61
  26. package/{esm2020 → esm2022}/attachment/attachment.module.mjs +21 -21
  27. package/esm2022/bread-crumbs/bread-crumbs.component.mjs +87 -0
  28. package/esm2022/bread-crumbs/bread-crumbs.model.mjs +10 -0
  29. package/esm2022/bread-crumbs/bread-crumbs.module.mjs +51 -0
  30. package/{esm2020 → esm2022}/button/button.component.mjs +76 -53
  31. package/esm2022/button/button.model.mjs +13 -0
  32. package/{esm2020 → esm2022}/button/button.module.mjs +19 -19
  33. package/esm2022/carousel/carousel-item.directive.mjs +34 -0
  34. package/esm2022/carousel/carousel.component.mjs +765 -0
  35. package/{esm2020 → esm2022}/carousel/carousel.module.mjs +5 -5
  36. package/esm2022/checkbox/checkbox.component.mjs +182 -0
  37. package/esm2022/checkbox/checkbox.module.mjs +64 -0
  38. package/esm2022/chips/chips.component.mjs +187 -0
  39. package/esm2022/chips/chips.module.mjs +82 -0
  40. package/{esm2020 → esm2022}/chips/chips.service.mjs +5 -5
  41. package/esm2022/color/color-picker.component.mjs +229 -0
  42. package/esm2022/color/color.component.mjs +93 -0
  43. package/esm2022/color/color.module.mjs +93 -0
  44. package/{esm2020 → esm2022}/core/clipboard/clipboard.directive.mjs +4 -4
  45. package/{esm2020 → esm2022}/core/clipboard/clipboard.service.mjs +4 -4
  46. package/esm2022/core/common/directives/auto-width.directive.mjs +79 -0
  47. package/esm2022/core/common/directives/base-destroyer.directive.mjs +23 -0
  48. package/esm2022/core/common/directives/button-blur.directive.mjs +25 -0
  49. package/esm2022/core/common/directives/button-loader.directive.mjs +117 -0
  50. package/esm2022/core/common/directives/data-qa.directive.mjs +26 -0
  51. package/esm2022/core/common/directives/div-loader.directive.mjs +67 -0
  52. package/esm2022/core/common/directives/menu-blur.directive.mjs +33 -0
  53. package/esm2022/core/common/directives/prevent-multi-click.directive.mjs +25 -0
  54. package/esm2022/core/common/directives/print.directive.mjs +176 -0
  55. package/esm2022/core/common/model/wapi.model.mjs +247 -0
  56. package/esm2022/core/common/pipes/common-pipes.mjs +180 -0
  57. package/esm2022/core/common/pipes/date-ago.pipe.mjs +47 -0
  58. package/esm2022/core/common/services/addon.service.mjs +234 -0
  59. package/esm2022/core/common/services/color.service.mjs +383 -0
  60. package/esm2022/core/common/services/cookie.service.mjs +156 -0
  61. package/esm2022/core/common/services/data-convertor.service.mjs +139 -0
  62. package/esm2022/core/common/services/file.service.mjs +252 -0
  63. package/{esm2020 → esm2022}/core/common/services/jwt-helper.service.mjs +4 -4
  64. package/esm2022/core/common/services/session.service.mjs +73 -0
  65. package/esm2022/core/common/services/translate.service.mjs +47 -0
  66. package/esm2022/core/common/services/utilities.service.mjs +302 -0
  67. package/esm2022/core/common/services/validator.service.mjs +273 -0
  68. package/esm2022/core/common/services/window-scrolling.service.mjs +38 -0
  69. package/esm2022/core/customization/customization.model.mjs +377 -0
  70. package/esm2022/core/customization/customization.service.mjs +802 -0
  71. package/{esm2020 → esm2022}/core/http/interceptors/error.interceptor.mjs +4 -4
  72. package/esm2022/core/http/interceptors/loader.interceptor.mjs +33 -0
  73. package/{esm2020 → esm2022}/core/http/interceptors/profiler.interceptor.mjs +4 -4
  74. package/esm2022/core/http/services/http.service.mjs +158 -0
  75. package/{esm2020 → esm2022}/core/http/services/loader.service.mjs +6 -6
  76. package/esm2022/core/layout/layout.service.mjs +171 -0
  77. package/esm2022/core/layout/rtl.directive.mjs +50 -0
  78. package/esm2022/core/portal/attach.directive.mjs +30 -0
  79. package/esm2022/core/portal/portal.service.mjs +37 -0
  80. package/esm2022/core/portal/target.directive.mjs +27 -0
  81. package/{esm2020 → esm2022}/core/scroll-to/scroll-to.service.mjs +4 -4
  82. package/esm2022/date/date.component.mjs +345 -0
  83. package/{esm2020 → esm2022}/date/date.model.mjs +7 -7
  84. package/esm2022/date/date.module.mjs +89 -0
  85. package/esm2022/dialog/default-dialog.component.mjs +39 -0
  86. package/esm2022/dialog/dialog.component.mjs +37 -0
  87. package/esm2022/dialog/dialog.model.mjs +41 -0
  88. package/esm2022/dialog/dialog.module.mjs +59 -0
  89. package/esm2022/dialog/dialog.service.mjs +106 -0
  90. package/esm2022/draggable-items/draggable-item/draggable-item.component.mjs +68 -0
  91. package/esm2022/draggable-items/draggable-items.component.mjs +95 -0
  92. package/esm2022/draggable-items/draggable-items.module.mjs +65 -0
  93. package/esm2022/field-title/field-title.component.mjs +46 -0
  94. package/esm2022/field-title/field-title.module.mjs +48 -0
  95. package/{esm2020 → esm2022}/files-uploader/files-uploader.component.mjs +36 -27
  96. package/esm2022/files-uploader/files-uploader.module.mjs +80 -0
  97. package/esm2022/form/field-generator.component.mjs +152 -0
  98. package/esm2022/form/form.component.mjs +1258 -0
  99. package/esm2022/form/form.module.mjs +180 -0
  100. package/esm2022/form/indicators.component.mjs +23 -0
  101. package/esm2022/form/internal-button.component.mjs +188 -0
  102. package/esm2022/form/internal-carusel.component.mjs +126 -0
  103. package/esm2022/form/internal-carusel.service.mjs +34 -0
  104. package/esm2022/form/internal-field-generator.component.mjs +146 -0
  105. package/esm2022/form/internal-form.component.mjs +1236 -0
  106. package/esm2022/form/internal-list.component.mjs +524 -0
  107. package/esm2022/form/internal-menu.component.mjs +62 -0
  108. package/esm2022/form/internal-page.component.mjs +380 -0
  109. package/esm2022/form/internal-page.service.mjs +125 -0
  110. package/esm2022/group-buttons/group-buttons.component.mjs +73 -0
  111. package/esm2022/group-buttons/group-buttons.module.mjs +60 -0
  112. package/esm2022/icon/icon-registry.service.mjs +24 -0
  113. package/esm2022/icon/icon.component.mjs +95 -0
  114. package/{esm2020 → esm2022}/icon/icon.module.mjs +5 -5
  115. package/esm2022/icon/icon.service.mjs +34 -0
  116. package/{esm2020 → esm2022}/image/image.component.mjs +45 -39
  117. package/esm2022/image/image.module.mjs +74 -0
  118. package/esm2022/image/image.service.mjs +53 -0
  119. package/esm2022/images-filmstrip/images-filmstrip.component.mjs +360 -0
  120. package/esm2022/images-filmstrip/images-filmstrip.module.mjs +84 -0
  121. package/esm2022/link/link.component.mjs +324 -0
  122. package/esm2022/link/link.module.mjs +81 -0
  123. package/{esm2020 → esm2022}/link/link.pipes.mjs +4 -4
  124. package/esm2022/list/list-actions.component.mjs +42 -0
  125. package/esm2022/list/list-carousel.component.mjs +110 -0
  126. package/esm2022/list/list-chooser.component.mjs +64 -0
  127. package/esm2022/list/list-pager.component.mjs +126 -0
  128. package/{esm2020 → esm2022}/list/list-sorting.component.mjs +15 -13
  129. package/esm2022/list/list-total.component.mjs +31 -0
  130. package/esm2022/list/list-views.component.mjs +86 -0
  131. package/esm2022/list/list.component.mjs +1394 -0
  132. package/{esm2020 → esm2022}/list/list.model.mjs +4 -1
  133. package/esm2022/list/list.module.mjs +145 -0
  134. package/esm2022/list/list.pipes.mjs +45 -0
  135. package/esm2022/list/virtual-scroller.mjs +1124 -0
  136. package/esm2022/menu/menu-item.component.mjs +111 -0
  137. package/esm2022/menu/menu.component.mjs +218 -0
  138. package/esm2022/menu/menu.model.mjs +23 -0
  139. package/esm2022/menu/menu.module.mjs +60 -0
  140. package/{esm2020 → esm2022}/ngx-lib.module.mjs +65 -65
  141. package/esm2022/page-layout/page-layout.component.mjs +41 -0
  142. package/{esm2020 → esm2022}/page-layout/page-layout.module.mjs +13 -13
  143. package/esm2022/profile-data-views-list/profile-data-view/profile-data-view.component.mjs +48 -0
  144. package/esm2022/profile-data-views-list/profile-data-views-card/profile-data-views-card.component.mjs +82 -0
  145. package/esm2022/profile-data-views-list/profile-data-views-list.component.mjs +131 -0
  146. package/esm2022/profile-data-views-list/profile-data-views-list.module.mjs +89 -0
  147. package/esm2022/quantity-selector/quantity-selector-validation.directive.mjs +53 -0
  148. package/{esm2020 → esm2022}/quantity-selector/quantity-selector.component.mjs +83 -73
  149. package/esm2022/quantity-selector/quantity-selector.module.mjs +83 -0
  150. package/{esm2020 → esm2022}/quantity-selector/quantity-selector.pipes.mjs +4 -4
  151. package/esm2022/query-builder/common/model/type-map.mjs +28 -0
  152. package/esm2022/query-builder/common/services/output-query.service.mjs +118 -0
  153. package/esm2022/query-builder/common/services/query-structure.service.mjs +263 -0
  154. package/esm2022/query-builder/common/services/type-convertor.service.mjs +42 -0
  155. package/esm2022/query-builder/query-builder-item/query-builder-item.component.mjs +134 -0
  156. package/esm2022/query-builder/query-builder-section/query-builder-section.component.mjs +76 -0
  157. package/esm2022/query-builder/query-builder.component.mjs +116 -0
  158. package/esm2022/query-builder/query-builder.module.mjs +71 -0
  159. package/{esm2020 → esm2022}/query-builder/query-builder.service.mjs +4 -4
  160. package/esm2022/remote-loader/addon-block-loader.component.mjs +115 -0
  161. package/esm2022/remote-loader/addon-block-loader.service.mjs +66 -0
  162. package/esm2022/remote-loader/remote-loader-element.component.mjs +179 -0
  163. package/esm2022/remote-loader/remote-loader.component.mjs +120 -0
  164. package/{esm2020 → esm2022}/remote-loader/remote-loader.module.mjs +26 -26
  165. package/esm2022/remote-loader/remote-loader.service.mjs +107 -0
  166. package/{esm2020 → esm2022}/rich-html-textarea/rich-html-textarea.component.mjs +38 -30
  167. package/esm2022/rich-html-textarea/rich-html-textarea.module.mjs +96 -0
  168. package/esm2022/search/search.component.mjs +322 -0
  169. package/esm2022/search/search.module.mjs +71 -0
  170. package/esm2022/select/select.component.mjs +341 -0
  171. package/esm2022/select/select.module.mjs +71 -0
  172. package/esm2022/select-panel/select-panel.component.mjs +161 -0
  173. package/{esm2020 → esm2022}/select-panel/select-panel.module.mjs +31 -31
  174. package/esm2022/separator/separator.component.mjs +65 -0
  175. package/{esm2020 → esm2022}/separator/separator.module.mjs +5 -5
  176. package/esm2022/side-bar/side-bar.component.mjs +141 -0
  177. package/esm2022/side-bar/side-bar.module.mjs +56 -0
  178. package/esm2022/signature/signature-dialog.component.mjs +82 -0
  179. package/{esm2020 → esm2022}/signature/signature.component.mjs +41 -31
  180. package/esm2022/signature/signature.module.mjs +92 -0
  181. package/esm2022/size-detector/size-detector.component.mjs +97 -0
  182. package/{esm2020 → esm2022}/size-detector/size-detector.module.mjs +13 -13
  183. package/esm2022/skeleton-loader/skeleton-loader.component.mjs +46 -0
  184. package/{esm2020 → esm2022}/skeleton-loader/skeleton-loader.module.mjs +7 -7
  185. package/esm2022/slider/slider.component.mjs +105 -0
  186. package/{esm2020 → esm2022}/slider/slider.module.mjs +17 -17
  187. package/esm2022/smart-filters/boolean-filter/boolean-filter.component.mjs +74 -0
  188. package/esm2022/smart-filters/common/filter-actions.component.mjs +28 -0
  189. package/esm2022/smart-filters/common/model/base-filter-component.mjs +307 -0
  190. package/esm2022/smart-filters/common/model/field.mjs +125 -0
  191. package/esm2022/smart-filters/common/model/operator.mjs +287 -0
  192. package/esm2022/smart-filters/date-filter/date-filter.component.mjs +181 -0
  193. package/esm2022/smart-filters/multi-select-filter/multi-select-filter.component.mjs +202 -0
  194. package/esm2022/smart-filters/number-filter/number-filter.component.mjs +133 -0
  195. package/esm2022/smart-filters/smart-filters.component.mjs +143 -0
  196. package/esm2022/smart-filters/smart-filters.module.mjs +159 -0
  197. package/esm2022/smart-filters/text-filter/text-filter.component.mjs +110 -0
  198. package/esm2022/snack-bar/default-snack-bar.component.mjs +31 -0
  199. package/esm2022/snack-bar/snack-bar.component.mjs +28 -0
  200. package/esm2022/snack-bar/snack-bar.model.mjs +9 -0
  201. package/esm2022/snack-bar/snack-bar.module.mjs +63 -0
  202. package/esm2022/snack-bar/snack-bar.service.mjs +62 -0
  203. package/{esm2020 → esm2022}/textarea/textarea.component.mjs +35 -27
  204. package/esm2022/textarea/textarea.module.mjs +83 -0
  205. package/esm2022/textbox/textbox-validation.directive.mjs +96 -0
  206. package/esm2022/textbox/textbox.component.mjs +646 -0
  207. package/esm2022/textbox/textbox.module.mjs +73 -0
  208. package/esm2022/textbox-icon/textbox-icon.component.mjs +50 -0
  209. package/esm2022/textbox-icon/textbox-icon.module.mjs +65 -0
  210. package/esm2022/top-bar/top-bar.component.mjs +127 -0
  211. package/esm2022/top-bar/top-bar.module.mjs +63 -0
  212. package/fesm2022/pepperi-addons-ngx-lib-address.mjs +173 -0
  213. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-address.mjs.map +1 -1
  214. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-attachment.mjs +84 -80
  215. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-attachment.mjs.map +1 -1
  216. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-bread-crumbs.mjs +34 -28
  217. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-bread-crumbs.mjs.map +1 -1
  218. package/fesm2022/pepperi-addons-ngx-lib-button.mjs +227 -0
  219. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-button.mjs.map +1 -1
  220. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-carousel.mjs +76 -55
  221. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-carousel.mjs.map +1 -1
  222. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-checkbox.mjs +54 -48
  223. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-checkbox.mjs.map +1 -1
  224. package/fesm2022/pepperi-addons-ngx-lib-chips.mjs +308 -0
  225. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-chips.mjs.map +1 -1
  226. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-color.mjs +92 -84
  227. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-color.mjs.map +1 -1
  228. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-date.mjs +116 -104
  229. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-date.mjs.map +1 -1
  230. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-dialog.mjs +50 -36
  231. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-dialog.mjs.map +1 -1
  232. package/fesm2022/pepperi-addons-ngx-lib-draggable-items.mjs +229 -0
  233. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-draggable-items.mjs.map +1 -1
  234. package/fesm2022/pepperi-addons-ngx-lib-field-title.mjs +101 -0
  235. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-field-title.mjs.map +1 -1
  236. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-files-uploader.mjs +66 -56
  237. package/fesm2022/pepperi-addons-ngx-lib-files-uploader.mjs.map +1 -0
  238. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-form.mjs +391 -310
  239. package/{fesm2015 → fesm2022}/pepperi-addons-ngx-lib-form.mjs.map +1 -1
  240. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-group-buttons.mjs +38 -35
  241. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-group-buttons.mjs.map +1 -1
  242. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-icon.mjs +23 -18
  243. package/{fesm2015 → fesm2022}/pepperi-addons-ngx-lib-icon.mjs.map +1 -1
  244. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-image.mjs +77 -68
  245. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-image.mjs.map +1 -1
  246. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-images-filmstrip.mjs +83 -60
  247. package/fesm2022/pepperi-addons-ngx-lib-images-filmstrip.mjs.map +1 -0
  248. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-link.mjs +113 -103
  249. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-link.mjs.map +1 -1
  250. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-list.mjs +339 -273
  251. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-list.mjs.map +1 -1
  252. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-menu.mjs +89 -87
  253. package/{fesm2015 → fesm2022}/pepperi-addons-ngx-lib-menu.mjs.map +1 -1
  254. package/{fesm2015 → fesm2022}/pepperi-addons-ngx-lib-page-layout.mjs +23 -17
  255. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-page-layout.mjs.map +1 -1
  256. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-profile-data-views-list.mjs +72 -63
  257. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-profile-data-views-list.mjs.map +1 -1
  258. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-quantity-selector.mjs +125 -110
  259. package/{fesm2015 → fesm2022}/pepperi-addons-ngx-lib-quantity-selector.mjs.map +1 -1
  260. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-query-builder.mjs +93 -66
  261. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-query-builder.mjs.map +1 -1
  262. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-remote-loader.mjs +84 -64
  263. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-remote-loader.mjs.map +1 -1
  264. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-rich-html-textarea.mjs +76 -67
  265. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-rich-html-textarea.mjs.map +1 -1
  266. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-search.mjs +85 -79
  267. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-search.mjs.map +1 -1
  268. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-select-panel.mjs +53 -49
  269. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-select-panel.mjs.map +1 -1
  270. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-select.mjs +74 -66
  271. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-select.mjs.map +1 -1
  272. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-separator.mjs +18 -16
  273. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-separator.mjs.map +1 -1
  274. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-side-bar.mjs +44 -38
  275. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-side-bar.mjs.map +1 -1
  276. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-signature.mjs +95 -81
  277. package/fesm2022/pepperi-addons-ngx-lib-signature.mjs.map +1 -0
  278. package/fesm2022/pepperi-addons-ngx-lib-size-detector.mjs +139 -0
  279. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-size-detector.mjs.map +1 -1
  280. package/fesm2022/pepperi-addons-ngx-lib-skeleton-loader.mjs +78 -0
  281. package/{fesm2015 → fesm2022}/pepperi-addons-ngx-lib-skeleton-loader.mjs.map +1 -1
  282. package/fesm2022/pepperi-addons-ngx-lib-slider.mjs +154 -0
  283. package/fesm2022/pepperi-addons-ngx-lib-slider.mjs.map +1 -0
  284. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-smart-filters.mjs +186 -158
  285. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-smart-filters.mjs.map +1 -1
  286. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-snack-bar.mjs +42 -34
  287. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-snack-bar.mjs.map +1 -1
  288. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-textarea.mjs +67 -58
  289. package/{fesm2015 → fesm2022}/pepperi-addons-ngx-lib-textarea.mjs.map +1 -1
  290. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-textbox-icon.mjs +28 -25
  291. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-textbox-icon.mjs.map +1 -1
  292. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-textbox.mjs +156 -144
  293. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-textbox.mjs.map +1 -1
  294. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-top-bar.mjs +48 -32
  295. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-top-bar.mjs.map +1 -1
  296. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib.mjs +661 -449
  297. package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib.mjs.map +1 -1
  298. package/field-title/field-title.component.d.ts +1 -1
  299. package/files-uploader/files-uploader.component.d.ts +1 -1
  300. package/form/field-generator.component.d.ts +1 -1
  301. package/form/form.component.d.ts +1 -1
  302. package/form/form.module.d.ts +2 -2
  303. package/form/indicators.component.d.ts +1 -1
  304. package/form/internal-button.component.d.ts +1 -1
  305. package/form/internal-carusel.component.d.ts +1 -1
  306. package/form/internal-field-generator.component.d.ts +1 -1
  307. package/form/internal-form.component.d.ts +1 -1
  308. package/form/internal-list.component.d.ts +1 -1
  309. package/form/internal-menu.component.d.ts +1 -1
  310. package/form/internal-page.component.d.ts +1 -1
  311. package/group-buttons/group-buttons.component.d.ts +1 -1
  312. package/icon/icon.component.d.ts +1 -1
  313. package/image/image.component.d.ts +1 -1
  314. package/images-filmstrip/images-filmstrip.component.d.ts +1 -1
  315. package/link/link.component.d.ts +1 -1
  316. package/list/list-actions.component.d.ts +1 -1
  317. package/list/list-carousel.component.d.ts +1 -1
  318. package/list/list-chooser.component.d.ts +1 -1
  319. package/list/list-pager.component.d.ts +1 -1
  320. package/list/list-sorting.component.d.ts +1 -1
  321. package/list/list-total.component.d.ts +1 -1
  322. package/list/list-views.component.d.ts +1 -1
  323. package/list/list.component.d.ts +1 -1
  324. package/list/virtual-scroller.d.ts +1 -1
  325. package/menu/menu-item.component.d.ts +1 -1
  326. package/menu/menu.component.d.ts +1 -1
  327. package/package.json +145 -235
  328. package/page-layout/page-layout.component.d.ts +1 -1
  329. package/profile-data-views-list/profile-data-view/profile-data-view.component.d.ts +1 -1
  330. package/profile-data-views-list/profile-data-views-card/profile-data-views-card.component.d.ts +1 -1
  331. package/profile-data-views-list/profile-data-views-list.component.d.ts +1 -1
  332. package/quantity-selector/quantity-selector-validation.directive.d.ts +1 -1
  333. package/quantity-selector/quantity-selector.component.d.ts +1 -1
  334. package/query-builder/query-builder-item/query-builder-item.component.d.ts +1 -1
  335. package/query-builder/query-builder-section/query-builder-section.component.d.ts +1 -1
  336. package/query-builder/query-builder.component.d.ts +1 -1
  337. package/remote-loader/addon-block-loader.component.d.ts +1 -1
  338. package/remote-loader/remote-loader-element.component.d.ts +1 -1
  339. package/remote-loader/remote-loader.component.d.ts +1 -1
  340. package/rich-html-textarea/rich-html-textarea.component.d.ts +1 -1
  341. package/search/search.component.d.ts +1 -1
  342. package/select/select.component.d.ts +1 -1
  343. package/select-panel/select-panel.component.d.ts +1 -1
  344. package/separator/separator.component.d.ts +1 -1
  345. package/side-bar/side-bar.component.d.ts +1 -1
  346. package/signature/signature-dialog.component.d.ts +2 -2
  347. package/signature/signature.component.d.ts +1 -1
  348. package/signature/signature.module.d.ts +2 -2
  349. package/size-detector/size-detector.component.d.ts +1 -1
  350. package/skeleton-loader/skeleton-loader.component.d.ts +1 -1
  351. package/slider/slider.component.d.ts +1 -1
  352. package/slider/slider.component.theme.scss +13 -6
  353. package/smart-filters/boolean-filter/boolean-filter.component.d.ts +1 -1
  354. package/smart-filters/common/filter-actions.component.d.ts +1 -1
  355. package/smart-filters/common/model/base-filter-component.d.ts +1 -1
  356. package/smart-filters/smart-filters.component.d.ts +1 -1
  357. package/snack-bar/snack-bar.component.d.ts +1 -1
  358. package/textarea/textarea.component.d.ts +1 -1
  359. package/textbox/textbox-validation.directive.d.ts +1 -1
  360. package/textbox/textbox.component.d.ts +1 -1
  361. package/textbox-icon/textbox-icon.component.d.ts +1 -1
  362. package/top-bar/top-bar.component.d.ts +1 -1
  363. package/esm2020/address/address.component.mjs +0 -109
  364. package/esm2020/bread-crumbs/bread-crumbs.component.mjs +0 -85
  365. package/esm2020/bread-crumbs/bread-crumbs.model.mjs +0 -7
  366. package/esm2020/bread-crumbs/bread-crumbs.module.mjs +0 -50
  367. package/esm2020/button/button.model.mjs +0 -6
  368. package/esm2020/carousel/carousel-item.directive.mjs +0 -33
  369. package/esm2020/carousel/carousel.component.mjs +0 -745
  370. package/esm2020/checkbox/checkbox.component.mjs +0 -177
  371. package/esm2020/checkbox/checkbox.module.mjs +0 -63
  372. package/esm2020/chips/chips.component.mjs +0 -185
  373. package/esm2020/chips/chips.module.mjs +0 -81
  374. package/esm2020/color/color-picker.component.mjs +0 -224
  375. package/esm2020/color/color.component.mjs +0 -90
  376. package/esm2020/color/color.module.mjs +0 -93
  377. package/esm2020/core/common/directives/auto-width.directive.mjs +0 -77
  378. package/esm2020/core/common/directives/base-destroyer.directive.mjs +0 -22
  379. package/esm2020/core/common/directives/button-blur.directive.mjs +0 -24
  380. package/esm2020/core/common/directives/button-loader.directive.mjs +0 -112
  381. package/esm2020/core/common/directives/data-qa.directive.mjs +0 -23
  382. package/esm2020/core/common/directives/div-loader.directive.mjs +0 -61
  383. package/esm2020/core/common/directives/menu-blur.directive.mjs +0 -32
  384. package/esm2020/core/common/directives/prevent-multi-click.directive.mjs +0 -27
  385. package/esm2020/core/common/directives/print.directive.mjs +0 -170
  386. package/esm2020/core/common/model/wapi.model.mjs +0 -157
  387. package/esm2020/core/common/pipes/common-pipes.mjs +0 -177
  388. package/esm2020/core/common/pipes/date-ago.pipe.mjs +0 -46
  389. package/esm2020/core/common/services/addon.service.mjs +0 -227
  390. package/esm2020/core/common/services/color.service.mjs +0 -385
  391. package/esm2020/core/common/services/cookie.service.mjs +0 -153
  392. package/esm2020/core/common/services/data-convertor.service.mjs +0 -122
  393. package/esm2020/core/common/services/file.service.mjs +0 -250
  394. package/esm2020/core/common/services/session.service.mjs +0 -72
  395. package/esm2020/core/common/services/translate.service.mjs +0 -46
  396. package/esm2020/core/common/services/utilities.service.mjs +0 -301
  397. package/esm2020/core/common/services/validator.service.mjs +0 -272
  398. package/esm2020/core/common/services/window-scrolling.service.mjs +0 -36
  399. package/esm2020/core/customization/customization.model.mjs +0 -338
  400. package/esm2020/core/customization/customization.service.mjs +0 -799
  401. package/esm2020/core/http/interceptors/loader.interceptor.mjs +0 -32
  402. package/esm2020/core/http/services/http.service.mjs +0 -155
  403. package/esm2020/core/layout/layout.service.mjs +0 -168
  404. package/esm2020/core/layout/rtl.directive.mjs +0 -44
  405. package/esm2020/core/portal/attach.directive.mjs +0 -27
  406. package/esm2020/core/portal/portal.service.mjs +0 -36
  407. package/esm2020/core/portal/target.directive.mjs +0 -24
  408. package/esm2020/date/date.component.mjs +0 -334
  409. package/esm2020/date/date.module.mjs +0 -88
  410. package/esm2020/dialog/default-dialog.component.mjs +0 -37
  411. package/esm2020/dialog/dialog.component.mjs +0 -36
  412. package/esm2020/dialog/dialog.model.mjs +0 -33
  413. package/esm2020/dialog/dialog.module.mjs +0 -59
  414. package/esm2020/dialog/dialog.service.mjs +0 -103
  415. package/esm2020/draggable-items/draggable-item/draggable-item.component.mjs +0 -67
  416. package/esm2020/draggable-items/draggable-items.component.mjs +0 -94
  417. package/esm2020/draggable-items/draggable-items.module.mjs +0 -64
  418. package/esm2020/field-title/field-title.component.mjs +0 -48
  419. package/esm2020/field-title/field-title.module.mjs +0 -47
  420. package/esm2020/files-uploader/files-uploader.module.mjs +0 -79
  421. package/esm2020/form/field-generator.component.mjs +0 -152
  422. package/esm2020/form/form.component.mjs +0 -1240
  423. package/esm2020/form/form.module.mjs +0 -179
  424. package/esm2020/form/indicators.component.mjs +0 -23
  425. package/esm2020/form/internal-button.component.mjs +0 -184
  426. package/esm2020/form/internal-carusel.component.mjs +0 -121
  427. package/esm2020/form/internal-carusel.service.mjs +0 -32
  428. package/esm2020/form/internal-field-generator.component.mjs +0 -146
  429. package/esm2020/form/internal-form.component.mjs +0 -1218
  430. package/esm2020/form/internal-list.component.mjs +0 -513
  431. package/esm2020/form/internal-menu.component.mjs +0 -64
  432. package/esm2020/form/internal-page.component.mjs +0 -361
  433. package/esm2020/form/internal-page.service.mjs +0 -120
  434. package/esm2020/group-buttons/group-buttons.component.mjs +0 -71
  435. package/esm2020/group-buttons/group-buttons.module.mjs +0 -59
  436. package/esm2020/icon/icon-registry.service.mjs +0 -26
  437. package/esm2020/icon/icon.component.mjs +0 -91
  438. package/esm2020/icon/icon.service.mjs +0 -31
  439. package/esm2020/image/image.module.mjs +0 -74
  440. package/esm2020/image/image.service.mjs +0 -50
  441. package/esm2020/images-filmstrip/images-filmstrip.component.mjs +0 -338
  442. package/esm2020/images-filmstrip/images-filmstrip.module.mjs +0 -83
  443. package/esm2020/link/link.component.mjs +0 -315
  444. package/esm2020/link/link.module.mjs +0 -80
  445. package/esm2020/list/list-actions.component.mjs +0 -44
  446. package/esm2020/list/list-carousel.component.mjs +0 -107
  447. package/esm2020/list/list-chooser.component.mjs +0 -64
  448. package/esm2020/list/list-pager.component.mjs +0 -120
  449. package/esm2020/list/list-total.component.mjs +0 -33
  450. package/esm2020/list/list-views.component.mjs +0 -85
  451. package/esm2020/list/list.component.mjs +0 -1382
  452. package/esm2020/list/list.module.mjs +0 -144
  453. package/esm2020/list/list.pipes.mjs +0 -47
  454. package/esm2020/list/virtual-scroller.mjs +0 -1080
  455. package/esm2020/menu/menu-item.component.mjs +0 -115
  456. package/esm2020/menu/menu.component.mjs +0 -216
  457. package/esm2020/menu/menu.model.mjs +0 -20
  458. package/esm2020/menu/menu.module.mjs +0 -59
  459. package/esm2020/page-layout/page-layout.component.mjs +0 -35
  460. package/esm2020/profile-data-views-list/profile-data-view/profile-data-view.component.mjs +0 -45
  461. package/esm2020/profile-data-views-list/profile-data-views-card/profile-data-views-card.component.mjs +0 -81
  462. package/esm2020/profile-data-views-list/profile-data-views-list.component.mjs +0 -127
  463. package/esm2020/profile-data-views-list/profile-data-views-list.module.mjs +0 -88
  464. package/esm2020/quantity-selector/quantity-selector-validation.directive.mjs +0 -49
  465. package/esm2020/quantity-selector/quantity-selector.module.mjs +0 -82
  466. package/esm2020/query-builder/common/model/type-map.mjs +0 -27
  467. package/esm2020/query-builder/common/services/output-query.service.mjs +0 -116
  468. package/esm2020/query-builder/common/services/query-structure.service.mjs +0 -258
  469. package/esm2020/query-builder/common/services/type-convertor.service.mjs +0 -42
  470. package/esm2020/query-builder/query-builder-item/query-builder-item.component.mjs +0 -127
  471. package/esm2020/query-builder/query-builder-section/query-builder-section.component.mjs +0 -71
  472. package/esm2020/query-builder/query-builder.component.mjs +0 -110
  473. package/esm2020/query-builder/query-builder.module.mjs +0 -70
  474. package/esm2020/remote-loader/addon-block-loader.component.mjs +0 -112
  475. package/esm2020/remote-loader/addon-block-loader.service.mjs +0 -65
  476. package/esm2020/remote-loader/remote-loader-element.component.mjs +0 -171
  477. package/esm2020/remote-loader/remote-loader.component.mjs +0 -115
  478. package/esm2020/remote-loader/remote-loader.service.mjs +0 -104
  479. package/esm2020/rich-html-textarea/rich-html-textarea.module.mjs +0 -95
  480. package/esm2020/search/search.component.mjs +0 -317
  481. package/esm2020/search/search.module.mjs +0 -70
  482. package/esm2020/select/select.component.mjs +0 -334
  483. package/esm2020/select/select.module.mjs +0 -70
  484. package/esm2020/select-panel/select-panel.component.mjs +0 -157
  485. package/esm2020/separator/separator.component.mjs +0 -63
  486. package/esm2020/side-bar/side-bar.component.mjs +0 -136
  487. package/esm2020/side-bar/side-bar.module.mjs +0 -55
  488. package/esm2020/signature/signature-dialog.component.mjs +0 -79
  489. package/esm2020/signature/signature.module.mjs +0 -91
  490. package/esm2020/size-detector/size-detector.component.mjs +0 -94
  491. package/esm2020/skeleton-loader/skeleton-loader.component.mjs +0 -44
  492. package/esm2020/slider/slider.component.mjs +0 -101
  493. package/esm2020/smart-filters/boolean-filter/boolean-filter.component.mjs +0 -75
  494. package/esm2020/smart-filters/common/filter-actions.component.mjs +0 -29
  495. package/esm2020/smart-filters/common/model/base-filter-component.mjs +0 -290
  496. package/esm2020/smart-filters/common/model/field.mjs +0 -117
  497. package/esm2020/smart-filters/common/model/operator.mjs +0 -280
  498. package/esm2020/smart-filters/date-filter/date-filter.component.mjs +0 -182
  499. package/esm2020/smart-filters/multi-select-filter/multi-select-filter.component.mjs +0 -200
  500. package/esm2020/smart-filters/number-filter/number-filter.component.mjs +0 -136
  501. package/esm2020/smart-filters/smart-filters.component.mjs +0 -141
  502. package/esm2020/smart-filters/smart-filters.module.mjs +0 -158
  503. package/esm2020/smart-filters/text-filter/text-filter.component.mjs +0 -113
  504. package/esm2020/snack-bar/default-snack-bar.component.mjs +0 -29
  505. package/esm2020/snack-bar/snack-bar.component.mjs +0 -26
  506. package/esm2020/snack-bar/snack-bar.model.mjs +0 -7
  507. package/esm2020/snack-bar/snack-bar.module.mjs +0 -63
  508. package/esm2020/snack-bar/snack-bar.service.mjs +0 -60
  509. package/esm2020/textarea/textarea.module.mjs +0 -82
  510. package/esm2020/textbox/textbox-validation.directive.mjs +0 -93
  511. package/esm2020/textbox/textbox.component.mjs +0 -638
  512. package/esm2020/textbox/textbox.module.mjs +0 -72
  513. package/esm2020/textbox-icon/textbox-icon.component.mjs +0 -48
  514. package/esm2020/textbox-icon/textbox-icon.module.mjs +0 -64
  515. package/esm2020/top-bar/top-bar.component.mjs +0 -112
  516. package/esm2020/top-bar/top-bar.module.mjs +0 -62
  517. package/fesm2015/pepperi-addons-ngx-lib-address.mjs +0 -170
  518. package/fesm2015/pepperi-addons-ngx-lib-address.mjs.map +0 -1
  519. package/fesm2015/pepperi-addons-ngx-lib-attachment.mjs +0 -306
  520. package/fesm2015/pepperi-addons-ngx-lib-attachment.mjs.map +0 -1
  521. package/fesm2015/pepperi-addons-ngx-lib-bread-crumbs.mjs +0 -147
  522. package/fesm2015/pepperi-addons-ngx-lib-bread-crumbs.mjs.map +0 -1
  523. package/fesm2015/pepperi-addons-ngx-lib-button.mjs +0 -197
  524. package/fesm2015/pepperi-addons-ngx-lib-button.mjs.map +0 -1
  525. package/fesm2015/pepperi-addons-ngx-lib-carousel.mjs +0 -804
  526. package/fesm2015/pepperi-addons-ngx-lib-carousel.mjs.map +0 -1
  527. package/fesm2015/pepperi-addons-ngx-lib-checkbox.mjs +0 -246
  528. package/fesm2015/pepperi-addons-ngx-lib-checkbox.mjs.map +0 -1
  529. package/fesm2015/pepperi-addons-ngx-lib-chips.mjs +0 -306
  530. package/fesm2015/pepperi-addons-ngx-lib-chips.mjs.map +0 -1
  531. package/fesm2015/pepperi-addons-ngx-lib-color.mjs +0 -404
  532. package/fesm2015/pepperi-addons-ngx-lib-color.mjs.map +0 -1
  533. package/fesm2015/pepperi-addons-ngx-lib-date.mjs +0 -481
  534. package/fesm2015/pepperi-addons-ngx-lib-date.mjs.map +0 -1
  535. package/fesm2015/pepperi-addons-ngx-lib-dialog.mjs +0 -263
  536. package/fesm2015/pepperi-addons-ngx-lib-dialog.mjs.map +0 -1
  537. package/fesm2015/pepperi-addons-ngx-lib-draggable-items.mjs +0 -227
  538. package/fesm2015/pepperi-addons-ngx-lib-draggable-items.mjs.map +0 -1
  539. package/fesm2015/pepperi-addons-ngx-lib-field-title.mjs +0 -102
  540. package/fesm2015/pepperi-addons-ngx-lib-field-title.mjs.map +0 -1
  541. package/fesm2015/pepperi-addons-ngx-lib-files-uploader.mjs +0 -331
  542. package/fesm2015/pepperi-addons-ngx-lib-files-uploader.mjs.map +0 -1
  543. package/fesm2015/pepperi-addons-ngx-lib-form.mjs +0 -4232
  544. package/fesm2015/pepperi-addons-ngx-lib-group-buttons.mjs +0 -136
  545. package/fesm2015/pepperi-addons-ngx-lib-group-buttons.mjs.map +0 -1
  546. package/fesm2015/pepperi-addons-ngx-lib-icon.mjs +0 -741
  547. package/fesm2015/pepperi-addons-ngx-lib-image.mjs +0 -397
  548. package/fesm2015/pepperi-addons-ngx-lib-image.mjs.map +0 -1
  549. package/fesm2015/pepperi-addons-ngx-lib-images-filmstrip.mjs +0 -426
  550. package/fesm2015/pepperi-addons-ngx-lib-images-filmstrip.mjs.map +0 -1
  551. package/fesm2015/pepperi-addons-ngx-lib-link.mjs +0 -414
  552. package/fesm2015/pepperi-addons-ngx-lib-link.mjs.map +0 -1
  553. package/fesm2015/pepperi-addons-ngx-lib-list.mjs +0 -3131
  554. package/fesm2015/pepperi-addons-ngx-lib-list.mjs.map +0 -1
  555. package/fesm2015/pepperi-addons-ngx-lib-menu.mjs +0 -403
  556. package/fesm2015/pepperi-addons-ngx-lib-page-layout.mjs.map +0 -1
  557. package/fesm2015/pepperi-addons-ngx-lib-profile-data-views-list.mjs +0 -337
  558. package/fesm2015/pepperi-addons-ngx-lib-profile-data-views-list.mjs.map +0 -1
  559. package/fesm2015/pepperi-addons-ngx-lib-quantity-selector.mjs +0 -741
  560. package/fesm2015/pepperi-addons-ngx-lib-query-builder.mjs +0 -1226
  561. package/fesm2015/pepperi-addons-ngx-lib-query-builder.mjs.map +0 -1
  562. package/fesm2015/pepperi-addons-ngx-lib-remote-loader.mjs +0 -644
  563. package/fesm2015/pepperi-addons-ngx-lib-remote-loader.mjs.map +0 -1
  564. package/fesm2015/pepperi-addons-ngx-lib-rich-html-textarea.mjs +0 -363
  565. package/fesm2015/pepperi-addons-ngx-lib-rich-html-textarea.mjs.map +0 -1
  566. package/fesm2015/pepperi-addons-ngx-lib-search.mjs +0 -393
  567. package/fesm2015/pepperi-addons-ngx-lib-search.mjs.map +0 -1
  568. package/fesm2015/pepperi-addons-ngx-lib-select-panel.mjs +0 -235
  569. package/fesm2015/pepperi-addons-ngx-lib-select-panel.mjs.map +0 -1
  570. package/fesm2015/pepperi-addons-ngx-lib-select.mjs +0 -410
  571. package/fesm2015/pepperi-addons-ngx-lib-select.mjs.map +0 -1
  572. package/fesm2015/pepperi-addons-ngx-lib-separator.mjs +0 -89
  573. package/fesm2015/pepperi-addons-ngx-lib-separator.mjs.map +0 -1
  574. package/fesm2015/pepperi-addons-ngx-lib-side-bar.mjs +0 -196
  575. package/fesm2015/pepperi-addons-ngx-lib-side-bar.mjs.map +0 -1
  576. package/fesm2015/pepperi-addons-ngx-lib-signature.mjs +0 -464
  577. package/fesm2015/pepperi-addons-ngx-lib-signature.mjs.map +0 -1
  578. package/fesm2015/pepperi-addons-ngx-lib-size-detector.mjs +0 -136
  579. package/fesm2015/pepperi-addons-ngx-lib-size-detector.mjs.map +0 -1
  580. package/fesm2015/pepperi-addons-ngx-lib-skeleton-loader.mjs +0 -78
  581. package/fesm2015/pepperi-addons-ngx-lib-slider.mjs +0 -151
  582. package/fesm2015/pepperi-addons-ngx-lib-slider.mjs.map +0 -1
  583. package/fesm2015/pepperi-addons-ngx-lib-smart-filters.mjs +0 -1731
  584. package/fesm2015/pepperi-addons-ngx-lib-smart-filters.mjs.map +0 -1
  585. package/fesm2015/pepperi-addons-ngx-lib-snack-bar.mjs +0 -183
  586. package/fesm2015/pepperi-addons-ngx-lib-snack-bar.mjs.map +0 -1
  587. package/fesm2015/pepperi-addons-ngx-lib-textarea.mjs +0 -286
  588. package/fesm2015/pepperi-addons-ngx-lib-textbox-icon.mjs +0 -118
  589. package/fesm2015/pepperi-addons-ngx-lib-textbox-icon.mjs.map +0 -1
  590. package/fesm2015/pepperi-addons-ngx-lib-textbox.mjs +0 -806
  591. package/fesm2015/pepperi-addons-ngx-lib-textbox.mjs.map +0 -1
  592. package/fesm2015/pepperi-addons-ngx-lib-top-bar.mjs +0 -180
  593. package/fesm2015/pepperi-addons-ngx-lib-top-bar.mjs.map +0 -1
  594. package/fesm2015/pepperi-addons-ngx-lib.mjs +0 -4995
  595. package/fesm2015/pepperi-addons-ngx-lib.mjs.map +0 -1
  596. package/fesm2020/pepperi-addons-ngx-lib-address.mjs +0 -170
  597. package/fesm2020/pepperi-addons-ngx-lib-button.mjs +0 -197
  598. package/fesm2020/pepperi-addons-ngx-lib-chips.mjs +0 -305
  599. package/fesm2020/pepperi-addons-ngx-lib-draggable-items.mjs +0 -226
  600. package/fesm2020/pepperi-addons-ngx-lib-field-title.mjs +0 -102
  601. package/fesm2020/pepperi-addons-ngx-lib-files-uploader.mjs.map +0 -1
  602. package/fesm2020/pepperi-addons-ngx-lib-form.mjs.map +0 -1
  603. package/fesm2020/pepperi-addons-ngx-lib-icon.mjs.map +0 -1
  604. package/fesm2020/pepperi-addons-ngx-lib-images-filmstrip.mjs.map +0 -1
  605. package/fesm2020/pepperi-addons-ngx-lib-menu.mjs.map +0 -1
  606. package/fesm2020/pepperi-addons-ngx-lib-page-layout.mjs +0 -77
  607. package/fesm2020/pepperi-addons-ngx-lib-quantity-selector.mjs.map +0 -1
  608. package/fesm2020/pepperi-addons-ngx-lib-signature.mjs.map +0 -1
  609. package/fesm2020/pepperi-addons-ngx-lib-size-detector.mjs +0 -136
  610. package/fesm2020/pepperi-addons-ngx-lib-skeleton-loader.mjs +0 -76
  611. package/fesm2020/pepperi-addons-ngx-lib-skeleton-loader.mjs.map +0 -1
  612. package/fesm2020/pepperi-addons-ngx-lib-slider.mjs +0 -150
  613. package/fesm2020/pepperi-addons-ngx-lib-slider.mjs.map +0 -1
  614. package/fesm2020/pepperi-addons-ngx-lib-textarea.mjs.map +0 -1
  615. /package/{esm2020 → esm2022}/address/pepperi-addons-ngx-lib-address.mjs +0 -0
  616. /package/{esm2020 → esm2022}/address/public-api.mjs +0 -0
  617. /package/{esm2020 → esm2022}/attachment/pepperi-addons-ngx-lib-attachment.mjs +0 -0
  618. /package/{esm2020 → esm2022}/attachment/public-api.mjs +0 -0
  619. /package/{esm2020 → esm2022}/bread-crumbs/pepperi-addons-ngx-lib-bread-crumbs.mjs +0 -0
  620. /package/{esm2020 → esm2022}/bread-crumbs/public-api.mjs +0 -0
  621. /package/{esm2020 → esm2022}/button/pepperi-addons-ngx-lib-button.mjs +0 -0
  622. /package/{esm2020 → esm2022}/button/public-api.mjs +0 -0
  623. /package/{esm2020 → esm2022}/carousel/pepperi-addons-ngx-lib-carousel.mjs +0 -0
  624. /package/{esm2020 → esm2022}/carousel/public-api.mjs +0 -0
  625. /package/{esm2020 → esm2022}/checkbox/pepperi-addons-ngx-lib-checkbox.mjs +0 -0
  626. /package/{esm2020 → esm2022}/checkbox/public-api.mjs +0 -0
  627. /package/{esm2020 → esm2022}/chips/chips.model.mjs +0 -0
  628. /package/{esm2020 → esm2022}/chips/pepperi-addons-ngx-lib-chips.mjs +0 -0
  629. /package/{esm2020 → esm2022}/chips/public-api.mjs +0 -0
  630. /package/{esm2020 → esm2022}/color/color.model.mjs +0 -0
  631. /package/{esm2020 → esm2022}/color/pepperi-addons-ngx-lib-color.mjs +0 -0
  632. /package/{esm2020 → esm2022}/color/public-api.mjs +0 -0
  633. /package/{esm2020 → esm2022}/core/clipboard/index.mjs +0 -0
  634. /package/{esm2020 → esm2022}/core/clipboard/public-api.mjs +0 -0
  635. /package/{esm2020 → esm2022}/core/common/directives/index.mjs +0 -0
  636. /package/{esm2020 → esm2022}/core/common/directives/public-api.mjs +0 -0
  637. /package/{esm2020 → esm2022}/core/common/index.mjs +0 -0
  638. /package/{esm2020 → esm2022}/core/common/model/index.mjs +0 -0
  639. /package/{esm2020 → esm2022}/core/common/model/papi.model.mjs +0 -0
  640. /package/{esm2020 → esm2022}/core/common/model/public-api.mjs +0 -0
  641. /package/{esm2020 → esm2022}/core/common/model/utilities.model.mjs +0 -0
  642. /package/{esm2020 → esm2022}/core/common/pipes/index.mjs +0 -0
  643. /package/{esm2020 → esm2022}/core/common/pipes/public-api.mjs +0 -0
  644. /package/{esm2020 → esm2022}/core/common/public-api.mjs +0 -0
  645. /package/{esm2020 → esm2022}/core/common/services/index.mjs +0 -0
  646. /package/{esm2020 → esm2022}/core/common/services/public-api.mjs +0 -0
  647. /package/{esm2020 → esm2022}/core/customization/index.mjs +0 -0
  648. /package/{esm2020 → esm2022}/core/customization/public-api.mjs +0 -0
  649. /package/{esm2020 → esm2022}/core/http/index.mjs +0 -0
  650. /package/{esm2020 → esm2022}/core/http/interceptors/index.mjs +0 -0
  651. /package/{esm2020 → esm2022}/core/http/public-api.mjs +0 -0
  652. /package/{esm2020 → esm2022}/core/index.mjs +0 -0
  653. /package/{esm2020 → esm2022}/core/layout/index.mjs +0 -0
  654. /package/{esm2020 → esm2022}/core/layout/public-api.mjs +0 -0
  655. /package/{esm2020 → esm2022}/core/portal/index.mjs +0 -0
  656. /package/{esm2020 → esm2022}/core/portal/public-api.mjs +0 -0
  657. /package/{esm2020 → esm2022}/core/public-api.mjs +0 -0
  658. /package/{esm2020 → esm2022}/core/scroll-to/index.mjs +0 -0
  659. /package/{esm2020 → esm2022}/core/scroll-to/public-api.mjs +0 -0
  660. /package/{esm2020 → esm2022}/date/pepperi-addons-ngx-lib-date.mjs +0 -0
  661. /package/{esm2020 → esm2022}/date/public-api.mjs +0 -0
  662. /package/{esm2020 → esm2022}/dialog/pepperi-addons-ngx-lib-dialog.mjs +0 -0
  663. /package/{esm2020 → esm2022}/dialog/public-api.mjs +0 -0
  664. /package/{esm2020 → esm2022}/draggable-items/draggable-items.model.mjs +0 -0
  665. /package/{esm2020 → esm2022}/draggable-items/pepperi-addons-ngx-lib-draggable-items.mjs +0 -0
  666. /package/{esm2020 → esm2022}/draggable-items/public-api.mjs +0 -0
  667. /package/{esm2020 → esm2022}/field-title/pepperi-addons-ngx-lib-field-title.mjs +0 -0
  668. /package/{esm2020 → esm2022}/field-title/public-api.mjs +0 -0
  669. /package/{esm2020 → esm2022}/files-uploader/pepperi-addons-ngx-lib-files-uploader.mjs +0 -0
  670. /package/{esm2020 → esm2022}/files-uploader/public-api.mjs +0 -0
  671. /package/{esm2020 → esm2022}/form/form.model.mjs +0 -0
  672. /package/{esm2020 → esm2022}/form/pepperi-addons-ngx-lib-form.mjs +0 -0
  673. /package/{esm2020 → esm2022}/form/public-api.mjs +0 -0
  674. /package/{esm2020 → esm2022}/group-buttons/pepperi-addons-ngx-lib-group-buttons.mjs +0 -0
  675. /package/{esm2020 → esm2022}/group-buttons/public-api.mjs +0 -0
  676. /package/{esm2020 → esm2022}/icon/icon-generated-all.model.mjs +0 -0
  677. /package/{esm2020 → esm2022}/icon/icon-generated.model.mjs +0 -0
  678. /package/{esm2020 → esm2022}/icon/pepperi-addons-ngx-lib-icon.mjs +0 -0
  679. /package/{esm2020 → esm2022}/icon/public-api.mjs +0 -0
  680. /package/{esm2020 → esm2022}/image/pepperi-addons-ngx-lib-image.mjs +0 -0
  681. /package/{esm2020 → esm2022}/image/public-api.mjs +0 -0
  682. /package/{esm2020 → esm2022}/images-filmstrip/pepperi-addons-ngx-lib-images-filmstrip.mjs +0 -0
  683. /package/{esm2020 → esm2022}/images-filmstrip/public-api.mjs +0 -0
  684. /package/{esm2020 → esm2022}/link/pepperi-addons-ngx-lib-link.mjs +0 -0
  685. /package/{esm2020 → esm2022}/link/public-api.mjs +0 -0
  686. /package/{esm2020 → esm2022}/list/pepperi-addons-ngx-lib-list.mjs +0 -0
  687. /package/{esm2020 → esm2022}/list/public-api.mjs +0 -0
  688. /package/{esm2020 → esm2022}/menu/pepperi-addons-ngx-lib-menu.mjs +0 -0
  689. /package/{esm2020 → esm2022}/menu/public-api.mjs +0 -0
  690. /package/{esm2020 → esm2022}/page-layout/pepperi-addons-ngx-lib-page-layout.mjs +0 -0
  691. /package/{esm2020 → esm2022}/page-layout/public-api.mjs +0 -0
  692. /package/{esm2020 → esm2022}/pepperi-addons-ngx-lib.mjs +0 -0
  693. /package/{esm2020 → esm2022}/profile-data-views-list/pepperi-addons-ngx-lib-profile-data-views-list.mjs +0 -0
  694. /package/{esm2020 → esm2022}/profile-data-views-list/profile-data-views-list.model.mjs +0 -0
  695. /package/{esm2020 → esm2022}/profile-data-views-list/public-api.mjs +0 -0
  696. /package/{esm2020 → esm2022}/public-api.mjs +0 -0
  697. /package/{esm2020 → esm2022}/quantity-selector/pepperi-addons-ngx-lib-quantity-selector.mjs +0 -0
  698. /package/{esm2020 → esm2022}/quantity-selector/public-api.mjs +0 -0
  699. /package/{esm2020 → esm2022}/query-builder/common/model/field.mjs +0 -0
  700. /package/{esm2020 → esm2022}/query-builder/common/model/filter.mjs +0 -0
  701. /package/{esm2020 → esm2022}/query-builder/common/model/legacy.mjs +0 -0
  702. /package/{esm2020 → esm2022}/query-builder/common/model/operator-unit.mjs +0 -0
  703. /package/{esm2020 → esm2022}/query-builder/common/model/operator.mjs +0 -0
  704. /package/{esm2020 → esm2022}/query-builder/common/model/structure.mjs +0 -0
  705. /package/{esm2020 → esm2022}/query-builder/common/model/type.mjs +0 -0
  706. /package/{esm2020 → esm2022}/query-builder/pepperi-addons-ngx-lib-query-builder.mjs +0 -0
  707. /package/{esm2020 → esm2022}/query-builder/public-api.mjs +0 -0
  708. /package/{esm2020 → esm2022}/remote-loader/pepperi-addons-ngx-lib-remote-loader.mjs +0 -0
  709. /package/{esm2020 → esm2022}/remote-loader/public-api.mjs +0 -0
  710. /package/{esm2020 → esm2022}/remote-loader/remote-loader.model.mjs +0 -0
  711. /package/{esm2020 → esm2022}/rich-html-textarea/pepperi-addons-ngx-lib-rich-html-textarea.mjs +0 -0
  712. /package/{esm2020 → esm2022}/rich-html-textarea/public-api.mjs +0 -0
  713. /package/{esm2020 → esm2022}/search/pepperi-addons-ngx-lib-search.mjs +0 -0
  714. /package/{esm2020 → esm2022}/search/public-api.mjs +0 -0
  715. /package/{esm2020 → esm2022}/search/search.model.mjs +0 -0
  716. /package/{esm2020 → esm2022}/select/pepperi-addons-ngx-lib-select.mjs +0 -0
  717. /package/{esm2020 → esm2022}/select/public-api.mjs +0 -0
  718. /package/{esm2020 → esm2022}/select-panel/pepperi-addons-ngx-lib-select-panel.mjs +0 -0
  719. /package/{esm2020 → esm2022}/select-panel/public-api.mjs +0 -0
  720. /package/{esm2020 → esm2022}/select-panel/select-panel.model.mjs +0 -0
  721. /package/{esm2020 → esm2022}/separator/pepperi-addons-ngx-lib-separator.mjs +0 -0
  722. /package/{esm2020 → esm2022}/separator/public-api.mjs +0 -0
  723. /package/{esm2020 → esm2022}/side-bar/pepperi-addons-ngx-lib-side-bar.mjs +0 -0
  724. /package/{esm2020 → esm2022}/side-bar/public-api.mjs +0 -0
  725. /package/{esm2020 → esm2022}/side-bar/side-bar.model.mjs +0 -0
  726. /package/{esm2020 → esm2022}/signature/pepperi-addons-ngx-lib-signature.mjs +0 -0
  727. /package/{esm2020 → esm2022}/signature/public-api.mjs +0 -0
  728. /package/{esm2020 → esm2022}/size-detector/pepperi-addons-ngx-lib-size-detector.mjs +0 -0
  729. /package/{esm2020 → esm2022}/size-detector/public-api.mjs +0 -0
  730. /package/{esm2020 → esm2022}/skeleton-loader/pepperi-addons-ngx-lib-skeleton-loader.mjs +0 -0
  731. /package/{esm2020 → esm2022}/skeleton-loader/public-api.mjs +0 -0
  732. /package/{esm2020 → esm2022}/slider/pepperi-addons-ngx-lib-slider.mjs +0 -0
  733. /package/{esm2020 → esm2022}/slider/public-api.mjs +0 -0
  734. /package/{esm2020 → esm2022}/smart-filters/common/model/creator.mjs +0 -0
  735. /package/{esm2020 → esm2022}/smart-filters/common/model/filter.mjs +0 -0
  736. /package/{esm2020 → esm2022}/smart-filters/common/model/type.mjs +0 -0
  737. /package/{esm2020 → esm2022}/smart-filters/pepperi-addons-ngx-lib-smart-filters.mjs +0 -0
  738. /package/{esm2020 → esm2022}/smart-filters/public-api.mjs +0 -0
  739. /package/{esm2020 → esm2022}/snack-bar/pepperi-addons-ngx-lib-snack-bar.mjs +0 -0
  740. /package/{esm2020 → esm2022}/snack-bar/public-api.mjs +0 -0
  741. /package/{esm2020 → esm2022}/textarea/pepperi-addons-ngx-lib-textarea.mjs +0 -0
  742. /package/{esm2020 → esm2022}/textarea/public-api.mjs +0 -0
  743. /package/{esm2020 → esm2022}/textbox/pepperi-addons-ngx-lib-textbox.mjs +0 -0
  744. /package/{esm2020 → esm2022}/textbox/public-api.mjs +0 -0
  745. /package/{esm2020 → esm2022}/textbox-icon/pepperi-addons-ngx-lib-textbox-icon.mjs +0 -0
  746. /package/{esm2020 → esm2022}/textbox-icon/public-api.mjs +0 -0
  747. /package/{esm2020 → esm2022}/top-bar/pepperi-addons-ngx-lib-top-bar.mjs +0 -0
  748. /package/{esm2020 → esm2022}/top-bar/public-api.mjs +0 -0
  749. /package/{esm2020 → esm2022}/top-bar/top-bar.model.mjs +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"pepperi-addons-ngx-lib-textbox.mjs","sources":["../../../projects/ngx-lib/textbox/textbox-validation.directive.ts","../../../projects/ngx-lib/textbox/textbox.component.ts","../../../projects/ngx-lib/textbox/textbox.component.html","../../../projects/ngx-lib/textbox/textbox.module.ts","../../../projects/ngx-lib/textbox/public-api.ts","../../../projects/ngx-lib/textbox/pepperi-addons-ngx-lib-textbox.ts"],"sourcesContent":["import {\n Directive,\n ElementRef,\n HostListener,\n Input,\n OnInit,\n} from '@angular/core';\nimport {\n PepTextboxFieldType,\n PepUtilitiesService,\n PepValidatorService,\n} from '@pepperi-addons/ngx-lib';\n\n@Directive({\n selector: '[pepTextboxValidation]',\n})\nexport class PepTextboxValidationDirective implements OnInit {\n @Input() type: PepTextboxFieldType = 'text';\n\n previousValue = '';\n\n constructor(\n private hostElement: ElementRef,\n private utilitiesService: PepUtilitiesService,\n private validatorService: PepValidatorService\n ) {}\n\n ngOnInit() {\n //\n }\n\n private isNumber(): boolean {\n return this.isInteger() || this.isDecimal();\n }\n\n private isInteger(): boolean {\n return this.type === 'int';\n }\n\n private isDecimal(): boolean {\n return (\n this.type === 'currency' ||\n this.type === 'percentage' ||\n this.type === 'real'\n );\n }\n\n private isPhone(): boolean {\n return this.type === 'phone';\n }\n\n private isText(): boolean {\n return (\n this.type === 'email' ||\n this.type === 'link' ||\n this.type === 'text'\n );\n }\n\n @HostListener('change', ['$event'])\n onChange(e) {\n this.validateValue(this.hostElement.nativeElement.value);\n }\n\n @HostListener('keydown', ['$event'])\n onKeyDown(e: KeyboardEvent) {\n const originalValue: string = e.target['value'];\n\n if (this.isNumber()) {\n // save value before keydown event\n this.previousValue = originalValue;\n const isNumber = this.validatorService.isNumber(\n e,\n this.isDecimal()\n );\n\n if (isNumber) return;\n else e.preventDefault();\n } else if (this.isPhone()) {\n const isPhone = this.validatorService.isPhone(e);\n if (isPhone) return;\n else e.preventDefault();\n }\n }\n\n validateValue(value: string): void {\n console.log(`validateValue start value is - ${value}`)\n if (this.isNumber()) {\n const newValue = this.validatorService.validateNumber(\n value,\n this.isDecimal()\n );\n console.log(`after validateNumber newValue is - ${newValue}`)\n // Always set to the value input number with '.' decomal separator.\n this.hostElement.nativeElement['value'] = newValue ? this.utilitiesService.changeDecimalSeparatorWhenItsComma(newValue) : '';\n } else if (this.isPhone()) {\n // test phone with regular expression, when\n // phone is invalid, replace it with the previousValue\n const valid = this.validatorService.validatePhone(value);\n this.hostElement.nativeElement['value'] = valid\n ? value\n : this.previousValue;\n } else if (this.isText()) {\n this.hostElement.nativeElement['value'] = value;\n }\n }\n}\n","import {\n Component,\n OnInit,\n OnChanges,\n Input,\n Output,\n EventEmitter,\n ChangeDetectionStrategy,\n ElementRef,\n ViewChild,\n Renderer2,\n OnDestroy,\n ChangeDetectorRef,\n HostBinding,\n AfterViewInit,\n} from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { TranslateService } from '@ngx-translate/core';\nimport {\n PepLayoutType,\n PepCustomizationService,\n PepHorizontalAlignment,\n DEFAULT_HORIZONTAL_ALIGNMENT,\n PepTextboxFieldType,\n PepTextboxField,\n PepFieldBase,\n PepUtilitiesService,\n PepToNumberPipe,\n} from '@pepperi-addons/ngx-lib';\nimport { FormControl, FormGroupDirective, NgForm, Validators } from '@angular/forms';\nimport { ErrorStateMatcher } from '@angular/material/core';\nimport { BehaviorSubject, distinctUntilChanged, Observable } from 'rxjs';\nimport { coerceNumberProperty } from '@angular/cdk/coercion';\n\n// Not in use - I don't know why we need this???\n// /** error when invalid control is dirty or touched */\n// export class TextErrorStateMatcher implements ErrorStateMatcher {\n// isErrorState(control: FormControl | null, form: FormGroupDirective | NgForm | null): boolean {\n// const validateOnDirty = form?.form?.controls?.['validateOnDirty']?.value;\n// return !!(validateOnDirty && control && control.invalid && (control.dirty || control.touched));\n// }\n// }\n\n/**\n * This is a text box input component that can be use to\n *\n * @export\n * @class PepTextboxComponent\n * @implements {OnChanges}\n * @implements {OnInit}\n * @implements {OnDestroy}\n */\n@Component({\n selector: 'pep-textbox',\n templateUrl: './textbox.component.html',\n styleUrls: ['./textbox.component.scss', './textbox.component.theme.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PepTextboxComponent implements OnChanges, OnInit, AfterViewInit, OnDestroy {\n @HostBinding('attr.data-qa') dataQa = '';\n\n private _key = '';\n /**\n * The text box key\n *\n * @memberof PepTextboxComponent\n */\n @Input()\n set key(value) {\n this._key = value;\n this.dataQa = value;\n }\n get key(): string {\n return this._key;\n }\n\n private _value = '';\n /**\n * The value of the text box.\n *\n * @memberof PepTextboxComponent\n */\n @Input()\n set value(value: string) {\n if (!value) {\n value = '';\n } \n // else {\n // // If this is a number validate it.\n // if (this.isNumberType()) {\n // value = coerceNumberProperty(value, 0).toString();\n // }\n // }\n\n if (this.isDifferentValue(value)) {\n // console.log(`set value, value is - ${value}`)\n this._value = value;\n }\n\n this.setFormattedValue(this.value);\n this.changeDisplayValue();\n }\n get value(): string {\n return this._value;\n }\n\n get valueAsCurrentCulture(): string {\n return this.utilitiesService.changeDecimalSeparatorWhenItsComma(this.value, true);\n // let res = this.value;\n\n // if (this.isDecimal()) {\n // res = this.utilitiesService.formatDecimal(this.value, this.minFractionDigits, this.maxFractionDigits, false);\n // }\n \n // return res;\n }\n\n protected formattedValue = '';\n // private _formattedValue = '';\n // /**\n // * The formatted value.\n // *\n // * @memberof PepTextboxComponent\n // */\n // @Input()\n // set formattedValue(value: string) {\n // // Do nothing.\n // // if (!value) {\n // // value = '';\n // // }\n\n // // if (this._calculateFormattedValue) {\n // // this._calculateFormattedValue = false;\n // // }\n\n // // this.setFormattedValue(value);\n // }\n // get formattedValue(): string {\n // return this._formattedValue;\n // }\n\n private _minFractionDigits = NaN;\n @Input()\n set minFractionDigits(value: number) {\n this._minFractionDigits = value;\n this.setFormattedValue(this.value);\n this.changeDisplayValue();\n }\n get minFractionDigits(): number {\n return this._minFractionDigits;\n }\n\n private _maxFractionDigits = NaN;\n @Input()\n set maxFractionDigits(value: number) {\n this._maxFractionDigits = value;\n this.setFormattedValue(this.value);\n this.changeDisplayValue();\n }\n get maxFractionDigits(): number {\n return this._maxFractionDigits;\n }\n\n /**\n * The accessory sign.\n *\n * @memberof PepTextboxComponent\n */\n @Input() accessory = '';\n\n /**\n * The title of the textbox.\n *\n * @memberof PepTextboxComponent\n */\n @Input() label = '';\n\n /**\n * The placeholder (relevant only for children - if parent isn't null).\n *\n * @memberof PepTextboxComponent\n */\n @Input() placeholder = '';\n\n /**\n * The type of the textbox.\n *\n * @type {PepTextboxFieldType}\n * @memberof PepTextboxComponent\n */\n private _type: PepTextboxFieldType = 'text';\n @Input()\n set type(value: PepTextboxFieldType) {\n this._type = value;\n\n if (this.value) {\n this.setFormattedValue(this.value);\n this.changeDisplayValue();\n this.setInputModeAttribute();\n }\n }\n get type(): PepTextboxFieldType {\n return this._type;\n }\n\n private inputMode = 'text';\n\n /**\n * If the textbox is mandatory\n *\n * @memberof PepTextboxComponent\n */\n private _mandatory = false;\n @Input()\n set mandatory(value: boolean) {\n this._mandatory = value;\n }\n get mandatory(): boolean {\n return this._mandatory;\n }\n\n // TODO: Check if should remove disabled and keep only readonly.\n /**\n * If the textbox is disabled.\n *\n * @memberof PepTextboxComponent\n */\n @Input() disabled = false;\n\n /**\n * If the textbox is readonly\n *\n * @memberof PepTextboxComponent\n */\n @Input() readonly = false;\n @Input() maxFieldCharacters: number;\n @Input() hint: string;\n @Input() textColor = '';\n @Input() xAlignment: PepHorizontalAlignment = DEFAULT_HORIZONTAL_ALIGNMENT;\n @Input() rowSpan = 1;\n // @Input() lastFocusField: any;\n @Input() minValue = NaN;\n @Input() maxValue = NaN;\n\n private _visible = true;\n @Input()\n set visible(visible: boolean) {\n this._visible = visible;\n if (visible) {\n this.renderer.removeClass(\n this.element.nativeElement,\n 'hidden-element'\n );\n } else {\n this.renderer.addClass(\n this.element.nativeElement,\n 'hidden-element'\n );\n }\n }\n get visible(): boolean {\n return this._visible;\n }\n\n @Input() form: FormGroup = null;\n @Input() isActive = false;\n @Input() showTitle = true;\n @Input() renderTitle = true;\n @Input() renderError = true;\n @Input() renderSymbol = true;\n @Input() layoutType: PepLayoutType = 'form';\n @Input() parentFieldKey: string = null;\n @Input() regex: string | RegExp = null;\n @Input() regexError = '';\n\n /**\n * The value change event.\n *\n * @type {EventEmitter<string>}\n * @memberof PepTextboxComponent\n */\n @Output()\n valueChange: EventEmitter<string> = new EventEmitter<string>();\n\n @Output()\n keyup: EventEmitter<any> = new EventEmitter<any>();\n\n // @Output()\n // formValidationChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n @Output()\n validationChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n @ViewChild('input') input: ElementRef;\n\n private _calculateFormattedValue = true;\n get calculateFormattedValue(): boolean {\n return this._calculateFormattedValue;\n }\n\n controlType = 'textbox';\n\n standAlone = false;\n isInEditMode = false;\n \n private _isInFocus = false;\n @Input()\n set isInFocus(isInFocus: boolean) {\n this._isInFocus = isInFocus;\n this.setFormattedValue(this.value);\n this.changeDisplayValue();\n }\n get isInFocus(): boolean {\n return this._isInFocus;\n }\n\n\n // matcher = new TextErrorStateMatcher();\n\n // protected displayValue$: \n private _displayValueSubject: BehaviorSubject<string> = new BehaviorSubject<string>('');\n get displayValue$(): Observable<string> {\n return this._displayValueSubject.asObservable().pipe(distinctUntilChanged());\n }\n\n constructor(\n private customizationService: PepCustomizationService,\n private renderer: Renderer2,\n private element: ElementRef,\n private translate: TranslateService,\n private utilitiesService: PepUtilitiesService\n ) {\n this.isInFocus = false;\n }\n\n private setInputModeAttribute() {\n \n if (this.type === 'currency' || this.type === 'percentage' || this.type === 'real') {\n this.inputMode = 'decimal';\n } else if (this.type === 'int') {\n this.inputMode = 'numeric';\n } else if (this.type === 'phone') {\n this.inputMode = 'tel';\n } else if (this.type === 'email') {\n this.inputMode = 'email';\n } else {\n this.inputMode = 'text';\n }\n\n if (this.input) {\n this.renderer.setAttribute(\n this.input.nativeElement,\n 'inputmode',\n this.inputMode \n );\n }\n }\n\n private notifyDisplayValueChange(value: string) {\n this._displayValueSubject.next(value);\n }\n\n private setFormattedValue(value: string) {\n if (this.isInFocus) {\n return;\n }\n\n if (this._calculateFormattedValue && this.value?.length > 0) {\n // console.log(`setFormattedValue before - value is ${value}`);\n if (this.type === 'currency') {\n this.formattedValue = this.utilitiesService.formatCurrency(value, this.accessory, this.minFractionDigits, this.maxFractionDigits);\n } else if (this.type === 'percentage') {\n this.formattedValue = this.utilitiesService.formatPercent(value, this.minFractionDigits, this.maxFractionDigits);\n } else if (this.type === 'real') {\n this.formattedValue = this.utilitiesService.formatDecimal(value, this.minFractionDigits, this.maxFractionDigits);\n } else if (this.type === 'int') {\n this.formattedValue = this.utilitiesService.formatNumber(value);\n } else if (this.type === 'duration') {\n this.formattedValue = this.utilitiesService.formatDuration(value, { duration: 'seconds' });\n } else {\n this.formattedValue = value;\n }\n } else {\n this.formattedValue = value;\n }\n\n // console.log(`setFormattedValue after - value is ${this.formattedValue}`);\n\n this.updateFormFieldValue();\n }\n\n private updateFormFieldValue(firstLoad = false) {\n // Set the formatted value only for the first load cause it's not formatted if we set the value (I don't know why)\n // Else we set the value - this is important to set the value only cause setting the formatted value will cause bug when the number is with thousand separator\n this.customizationService.updateFormFieldValue(\n this.form,\n this.key,\n this.value || this.formattedValue,\n this.parentFieldKey\n );\n\n // Raise this only for stand alone fields, If false then the usage for this field is inside a form. \n // Then the form will take care of raising the (onFormValidationChanged) event\n if (this.standAlone) {\n const isValid = (this.disabled || this.readonly) ? true : this.form.valid; \n this.validationChange.emit(isValid);\n }\n }\n\n private changeDisplayValue(): void {\n let res = '';\n\n if (this.type == 'link') {\n res = this.formattedValue;\n } else if (this.isDecimal()) {\n res = this.isInFocus ? this.valueAsCurrentCulture : this.formattedValue;\n } else if (this.isNumberType()) {\n res = this.isInFocus ? this.value : this.formattedValue;\n } else {\n res = this.isInFocus ? this.value : this.formattedValue;\n }\n\n this.notifyDisplayValueChange(res);\n // console.log('changeDisplayValue ' + res);\n }\n\n private setDefaultForm(): void {\n const pepField = new PepTextboxField({\n key: this.key,\n value: this.valueAsCurrentCulture,\n mandatory: this.mandatory,\n readonly: this.readonly,\n disabled: this.disabled,\n maxFieldCharacters: this.maxFieldCharacters,\n type: this.type,\n minValue: this.minValue,\n maxValue: this.maxValue,\n regex: this.regex\n });\n this.form = this.customizationService.getDefaultFromGroup(\n pepField,\n false\n ); \n }\n\n ngOnInit(): void {\n if (this.form === null) {\n this.standAlone = true;\n\n this.minValue =\n isNaN(this.minValue) && !isNaN(this.maxValue)\n ? 0\n : this.minValue;\n this.maxValue =\n isNaN(this.maxValue) && !isNaN(this.minValue)\n ? 99999\n : this.maxValue;\n\n this.setDefaultForm();\n\n this.renderer.addClass(\n this.element.nativeElement,\n PepCustomizationService.STAND_ALONE_FIELD_CLASS_NAME\n );\n\n if (!this.renderTitle) {\n this.renderer.addClass(\n this.element.nativeElement,\n PepCustomizationService.STAND_ALONE_FIELD_NO_SPACING_CLASS_NAME\n );\n }\n }\n // flag to indicate whether validation on dirty is required \n // this.form.addControl('validateOnDirty', new FormControl(this.type === 'text'));\n\n this.readonly = this.type === 'duration' ? true : this.readonly; // Hack until we develop Timer UI for editing Duration field\n\n // load default error text\n if (this.type === 'text' && this.regex && (!this.regexError || this.regexError.length === 0)) {\n this.translate.get('MESSAGES.ERROR_INVALID_PATTERN').subscribe(text => this.regexError = text);\n }\n\n this.updateFormFieldValue(true);\n }\n \n ngAfterViewInit(): void {\n this.setInputModeAttribute();\n }\n\n ngOnChanges(changes: any): void {\n if (this.standAlone) {\n this.setDefaultForm();\n }\n\n this.readonly = this.type === 'duration' ? true : this.readonly; // Hack until we develop Timer UI for editing Duration field\n }\n\n ngOnDestroy(): void {\n //\n }\n\n onFocus(event: any): void {\n this.isInFocus = true;\n\n // select the value in focus (DI-18246 improvement)\n setTimeout(() => {\n if (this.isInFocus) {\n const eventTarget = event.target || event.srcElement;\n if (eventTarget) {\n eventTarget.select();\n }\n }\n }, 0);\n }\n\n getGeneralError() {\n return this.translate.instant('MESSAGES.ERROR_IS_NOT_VALID', { field: this.label });\n }\n\n // getOtherErrorMessage(inputValue: string) {\n // if (this.isNumberType()) {\n // if (this.type === 'percentage') {\n // inputValue = inputValue.replace('%', '');\n // } else if (this.accessory?.length > 0) {\n // inputValue = inputValue.replace(this.accessory, '');\n // }\n\n // const numberValue = new PepToNumberPipe(this.utilitiesService).transform(inputValue);\n\n // return (this.maxValue && numberValue > this.maxValue) || (this.minValue && numberValue < this.minValue) ? \n // this.translate.instant('MESSAGES.ERROR_RANGE_IS_NOT_VALID', { min: this.minValue, max: this.maxValue }) : \n // this.getGeneralError();\n // } else {\n // this.getGeneralError();\n // }\n // }\n\n getOtherErrorMessage(inputValue: string) {\n if (this.isNumberType()) {\n if (this.type === 'percentage') {\n inputValue = inputValue.replace('%', '');\n } else if (this.accessory?.length > 0) {\n inputValue = inputValue.replace(this.accessory, '');\n }\n\n const numberValue = new PepToNumberPipe(this.utilitiesService).transform(inputValue);\n\n const minSet = this.minValue !== null && this.minValue !== undefined && !isNaN(this.minValue);\n const maxSet = this.maxValue !== null && this.maxValue !== undefined && !isNaN(this.maxValue);\n\n if (minSet && !maxSet && numberValue < this.minValue) {\n return this.translate.instant('MESSAGES.ERROR_GREATER_THAN_MIN', { min: this.minValue });\n }\n if (!minSet && maxSet && numberValue > this.maxValue) {\n return this.translate.instant('MESSAGES.ERROR_LESS_THAN_MAX', { max: this.maxValue });\n }\n if (minSet && maxSet && (numberValue < this.minValue || numberValue > this.maxValue)) {\n return this.translate.instant('MESSAGES.ERROR_BETWEEN_MIN_MAX', { min: this.minValue, max: this.maxValue });\n }\n if (isNaN(numberValue)) {\n return this.getGeneralError();\n }\n return '';\n } else {\n return this.getGeneralError();\n }\n }\n\n isDecimal(): boolean {\n let res = false;\n\n if (this.isNumberType()) {\n if (this.type === 'currency' || this.type === 'real') {\n res = true;\n }\n }\n\n return res;\n }\n\n isNumberType(): boolean {\n return (\n this.type === 'percentage' ||\n this.type === 'int' ||\n this.type === 'currency' ||\n this.type === 'real'\n );\n }\n\n isValueValid(value: string): boolean {\n let res = false;\n\n if (this.isNumberType()) {\n if (value === '') {\n res = this.mandatory ? false : true;\n } else {\n value = this.utilitiesService.changeDecimalSeparatorWhenItsComma(value);\n const numberValue = coerceNumberProperty(value);\n \n if (!isNaN(this.minValue) && !isNaN(this.maxValue)) {\n res = numberValue >= this.minValue && numberValue <= this.maxValue;\n } else if (!isNaN(this.minValue)) {\n res = numberValue >= this.minValue;\n } else if (!isNaN(this.maxValue)) {\n res = numberValue <= this.maxValue;\n } else {\n res = true;\n }\n }\n } else {\n // TODO: Maybe need to check other types.\n res = true;\n }\n\n return res;\n }\n\n isDifferentValue(value: string): boolean {\n let res = false;\n\n if (this.isNumberType()) {\n if ((this.value === '' || value === '')) {\n res = true;\n } else {\n res = this.utilitiesService.isEqualNumber(this.valueAsCurrentCulture, value) === false;\n }\n } else {\n res = true;\n }\n\n return res;\n }\n\n onChange(e: any): void {\n const value = e.target ? e.target.value : e;\n // console.log(`onChange value is ${value}`);\n this.valueChange.emit(value);\n }\n\n onKeyup(event): any {\n this.keyup.emit(event);\n }\n\n onBlur(e: any): void {\n const value = e.target ? e.target.value : e;\n\n // If renderError is false and the new value is not valid return value back.\n if (!this.renderError && !this.isValueValid(value)) {\n this.renderer.setProperty(\n this.input.nativeElement,\n 'value',\n this.valueAsCurrentCulture \n );\n } else {\n // For decimal we need to replace the decimal separator back if it's comma (',').\n const correctValue = this.isDecimal() ? this.utilitiesService.changeDecimalSeparatorWhenItsComma(value) : value;\n \n if (correctValue !== this.valueAsCurrentCulture && this.isDifferentValue(value)) {\n this.value = correctValue;\n this.valueChange.emit(this.value);\n }\n }\n\n if (this.isInEditMode) {\n this.isInEditMode = false;\n }\n \n this.isInFocus = false;\n }\n\n anchorClicked(): void {\n const currentValue = this.value;\n if (currentValue.trim().length > 0) {\n switch (this.type) {\n case 'email':\n window.open('mailto:' + currentValue, 'email');\n break;\n case 'phone':\n window.open('tel:' + currentValue, 'tel');\n break;\n case 'link':\n window.open(currentValue);\n break;\n default:\n break;\n }\n }\n }\n\n cardTemplateClicked(event: any): void {\n this.isInEditMode = true;\n\n setTimeout(() => {\n this.input.nativeElement.focus();\n }, 0);\n }\n}\n","<ng-container [formGroup]=\"form\">\n <ng-template #pepTemplate let-isFormView=\"isFormView\" let-hasParent=\"hasParent\">\n <pep-field-title *ngIf=\"renderTitle && isFormView && !hasParent\" [label]=\"label\" [mandatory]=\"mandatory\"\n [disabled]=\"disabled\" [maxFieldCharacters]=\"maxFieldCharacters\" [hint]=\"hint\" [xAlignment]=\"xAlignment\"\n [showTitle]=\"showTitle\" [inputLength]=\"input.value?.length\">\n </pep-field-title>\n <mat-form-field appearance=\"outline\">\n <!-- (click)=\"$event.target.select()\" -->\n <input #input matInput pepTextboxValidation [formControlName]=\"key\" [id]=\"key\"\n [name]=\"key\" class=\" body-sm \" autocomplete=\"off\"\n maxlength=\"{{ maxFieldCharacters > 0 ? maxFieldCharacters : 99999 }}\"\n [placeholder]=\"hasParent && !disabled ? placeholder : ''\"\n [ngStyle]=\"{ color: textColor, 'text-align': xAlignment == 'center' ? 'center' : xAlignment == 'right' ? 'right' : 'left' }\"\n title=\"{{ formattedValue }}\" [type]=\"type\" [value]=\"displayValue$ | async\"\n (keyup.enter)=\"$event?.currentTarget?.blur()\" (focus)=\"onFocus($event);\" (blur)=\"onBlur($event)\"\n (change)=\"onChange($event)\" (keyup)=\"onKeyup($event)\"\n [ngClass]=\"{'disable-hidden': disabled && formattedValue?.length > 0 && (type === 'phone' || type === 'email' || type === 'link')}\" />\n<!-- [attr.inputmode]=\"inputMode\" --> \n <span *ngIf=\"disabled && formattedValue?.length > 0 && (type === 'phone' || type === 'email' || type === 'link')\"\n class=\"dis-grid\">\n <a href=\"javascript:void(0)\" (click)=\"anchorClicked()\" [id]=\"key\" [name]=\"key\"\n class=\"color-link body-sm\"> {{formattedValue}}</a>\n </span>\n <mat-error *ngIf=\"renderError\"> \n <ng-container *ngIf=\"mandatory && input.value.length == 0 then requiredError else otherErrorContainer\">\n </ng-container>\n <ng-template #requiredError>\n <span class=\"body-xs\" [title]=\"('MESSAGES.ERROR_IS_REQUIRED' | translate: { field: label })\"\n [innerText]=\"('MESSAGES.ERROR_IS_REQUIRED' | translate: { field: label })\">\n </span>\n </ng-template>\n <ng-template #otherErrorContainer>\n <ng-template *ngIf=\"regex && form?.get(key)?.errors?.pattern then patternError else otherError\"></ng-template>\n <ng-template #patternError>\n <span class=\"body-xs\">\n {{ regexError }}\n </span>\n </ng-template>\n <ng-template #otherError>\n <span class=\"body-xs\" #errSpan [innerText]=\"getOtherErrorMessage(input.value)\" [title]=\"errSpan.innerText\" ></span>\n </ng-template>\n </ng-template>\n </mat-error> \n <pep-textbox-icon *ngIf=\"renderSymbol && isFormView && xAlignment == 'right'\" matPrefix [value]=\"value\"\n [label]=\"label\" [type]=\"type\" [disabled]=\"disabled\">\n </pep-textbox-icon>\n <pep-textbox-icon *ngIf=\"renderSymbol && isFormView && (xAlignment == 'left')\" matSuffix [value]=\"value\"\n [label]=\"label\" [type]=\"type\" [disabled]=\"disabled\">\n </pep-textbox-icon>\n </mat-form-field>\n </ng-template> \n <ng-container *ngIf=\"layoutType === 'form'\">\n <ng-container *ngIf=\"parentFieldKey; then groupedBlock; else regularBlock\"></ng-container>\n <ng-template #regularBlock>\n <ng-container *ngTemplateOutlet=\"pepTemplate; context: { isFormView: true, hasParent: false }\">\n </ng-container>\n </ng-template>\n <ng-template #groupedBlock>\n <ng-container [formGroupName]=\"parentFieldKey\">\n <mat-form-field appearance=\"outline\">\n <!-- (click)=\"$event.target.select()\" -->\n <input pepTextboxValidation [id]=\"key\" [name]=\"key\" class=\" body-sm \" matInput autocomplete=\"off\" \n [placeholder]=\"!disabled ? placeholder : ''\" title=\"{{ formattedValue }}\"\n [formControlName]=\"key\" [value]=\"value\" \n (blur)=\"onBlur($event)\" (change)=\"onChange($event)\" (keyup)=\"onKeyup($event)\"\n (keyup.enter)=\"$event?.currentTarget?.blur()\" (focus)=\"onFocus($event)\" />\n </mat-form-field>\n <!-- <ng-container *ngTemplateOutlet=\"pepTemplate; context: { isFormView: true, hasParent: true }\"></ng-container> -->\n </ng-container>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"layoutType === 'card'\">\n <ng-container *ngIf=\"isInEditMode; then editBlock; else readOnlyBlock\"></ng-container>\n <ng-template #editBlock>\n <div [ngClass]=\"{'one-row': rowSpan === 1}\">\n <ng-container *ngTemplateOutlet=\"pepTemplate; context: { isFormView: false, hasParent: false }\">\n </ng-container>\n </div>\n </ng-template>\n <ng-template #readOnlyBlock>\n <div class=\"pep-card-input card-flex-container\" [ngStyle]=\"{ color: textColor }\"\n [class]=\"'text-align-' + xAlignment\" [ngClass]=\"{'one-row': rowSpan === 1,\n 'multi-rows': rowSpan > 1,\n 'pep-button weak': isActive && !disabled}\"\n (click)=\"!disabled ? cardTemplateClicked($event) : ''\">\n <span *ngIf=\"showTitle && label != ''\" class=\"body-xs title\" title=\"{{ label }}\">{{ label\n }}&nbsp;</span>\n <span [id]=\"key\" title=\"{{ formattedValue }}\" class=\"body-sm value\"\n [ngClass]=\"{'multi-rows-text': rowSpan > 1}\" [ngStyle]=\"{ '-webkit-line-clamp': rowSpan }\">{{\n formattedValue }}</span>\n <button *ngIf=\"isActive && !disabled\" class=\"pep-button weak card-edit-button\" mat-button>\n <mat-icon>\n <pep-icon name=\"system_edit\">\n </pep-icon>\n </mat-icon>\n </button>\n </div>\n </ng-template>\n\n </ng-container>\n\n <ng-container *ngIf=\"layoutType === 'table'\">\n <ng-container *ngIf=\"isActive && !disabled; then selectedBlock; else notSelectedBlock\"></ng-container>\n <ng-template #selectedBlock>\n <ng-container *ngTemplateOutlet=\"pepTemplate; context: { isFormView: false, hasParent: false }\">\n </ng-container>\n </ng-template>\n <ng-template #notSelectedBlock>\n <ng-container *ngIf=\"formattedValue?.length > 0; then notEmptyBlock; else emptyBlock\"></ng-container>\n <ng-template #notEmptyBlock>\n <ng-container [ngSwitch]=\"type\">\n <ng-container *ngSwitchCase=\"'link'\">\n <a [id]=\"key\" class=\"color-link body-sm pep-report-input\"\n [ngClass]=\"{'disable': (disabled && value === '')}\" *ngIf=\"formattedValue != null\"\n title=\"{{ formattedValue }}\" target=\"_blank\" href=\"{{ value ? value : formattedValue }}\">{{\n formattedValue }}</a>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <span [id]=\"key\" class=\"body-sm pep-report-input\" [ngClass]=\"{'readonly': disabled}\"\n title=\"{{ formattedValue }}\" [ngStyle]=\"{ color: textColor }\">{{ formattedValue }}</span>\n </ng-container>\n </ng-container>\n </ng-template>\n <ng-template #emptyBlock>\n <span [id]=\"key\">&nbsp;</span>\n </ng-template>\n </ng-template>\n </ng-container>\n\n</ng-container>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nimport { MatCommonModule } from '@angular/material/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\nimport {\n PepIconModule,\n PepIconRegistry,\n pepIconSystemEdit,\n} from '@pepperi-addons/ngx-lib/icon';\nimport { PepTextboxIconModule } from '@pepperi-addons/ngx-lib/textbox-icon';\nimport { PepFieldTitleModule } from '@pepperi-addons/ngx-lib/field-title';\n\nimport { PepTextboxComponent } from './textbox.component';\nimport { PepTextboxValidationDirective } from './textbox-validation.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n // Material modules,\n MatCommonModule,\n MatButtonModule,\n MatFormFieldModule,\n MatInputModule,\n MatIconModule,\n // ngx-lib modules\n PepNgxLibModule,\n PepIconModule,\n PepFieldTitleModule,\n PepTextboxIconModule,\n ],\n exports: [PepTextboxComponent],\n declarations: [PepTextboxComponent, PepTextboxValidationDirective],\n})\nexport class PepTextboxModule {\n constructor(private pepIconRegistry: PepIconRegistry) {\n this.pepIconRegistry.registerIcons([pepIconSystemEdit]);\n }\n}\n","/*\n * Public API Surface of ngx-lib/textbox\n */\nexport * from './textbox.module';\nexport * from './textbox.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i9","i12.PepTextboxValidationDirective","i1"],"mappings":"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"}
@@ -1,180 +0,0 @@
1
- import * as i0 from '@angular/core';
2
- import { EventEmitter, Component, Input, Output, ViewChild, ContentChild, NgModule } from '@angular/core';
3
- import * as i2 from '@angular/common';
4
- import { CommonModule } from '@angular/common';
5
- import { MatCommonModule } from '@angular/material/core';
6
- import { MatMenuModule } from '@angular/material/menu';
7
- import { MatIconModule } from '@angular/material/icon';
8
- import * as i1 from '@pepperi-addons/ngx-lib';
9
- import { PepScreenSizeType, PepNgxLibModule } from '@pepperi-addons/ngx-lib';
10
- import { PepMenuModule } from '@pepperi-addons/ngx-lib/menu';
11
- import * as i1$1 from '@pepperi-addons/ngx-lib/icon';
12
- import { pepIconSystemMenu, pepIconSystemEdit, PepIconModule } from '@pepperi-addons/ngx-lib/icon';
13
- import { PepSearchComponent, PepSearchModule } from '@pepperi-addons/ngx-lib/search';
14
- import { PepListActionsComponent, PepListChooserComponent, PepListTotalComponent, PepListSortingComponent, PepListViewsComponent } from '@pepperi-addons/ngx-lib/list';
15
-
16
- class PepTopBarComponent {
17
- constructor(customizationService, layoutService, cdRef) {
18
- this.customizationService = customizationService;
19
- this.layoutService = layoutService;
20
- this.cdRef = cdRef;
21
- this.inline = false;
22
- this.title = null;
23
- this.footerStateChange = new EventEmitter();
24
- this.hasFooterContent = null;
25
- this.isHidden = true;
26
- this.searchIsOpenAndSmallDevice = false;
27
- this.PepScreenSizeType = PepScreenSizeType;
28
- }
29
- ngAfterViewInit() {
30
- var _a, _b, _c, _d, _e, _f;
31
- if (!this.inline) {
32
- this.hasFooterContent =
33
- ((_c = (_b = (_a = this.footerStartContent) === null || _a === void 0 ? void 0 : _a.nativeElement) === null || _b === void 0 ? void 0 : _b.children) === null || _c === void 0 ? void 0 : _c.length) > 0 ||
34
- ((_f = (_e = (_d = this.footerEndContent) === null || _d === void 0 ? void 0 : _d.nativeElement) === null || _e === void 0 ? void 0 : _e.children) === null || _f === void 0 ? void 0 : _f.length) > 0;
35
- }
36
- this.layoutService.onResize$.subscribe((size) => {
37
- this.screenSize = size;
38
- this.setSearchIsOpenAndSmallDevice();
39
- if (!this.inline) {
40
- this.setFooterState();
41
- }
42
- });
43
- this.isHidden = false;
44
- this.cdRef.detectChanges();
45
- }
46
- ngAfterContentInit() {
47
- if (this.searchComp) {
48
- this.searchComp.stateChange
49
- .subscribe((searchStateChangeEvent) => {
50
- this.searchState = searchStateChangeEvent.state;
51
- this.setSearchIsOpenAndSmallDevice();
52
- })
53
- .unsubscribe();
54
- }
55
- }
56
- ngOnDestroy() {
57
- if (this.customizationService) {
58
- this.customizationService.hideFooter();
59
- }
60
- }
61
- setSearchIsOpenAndSmallDevice() {
62
- // check if search is open and the device size is small or extra small
63
- this.searchIsOpenAndSmallDevice =
64
- this.screenSize > PepScreenSizeType.SM &&
65
- this.searchState === 'open';
66
- }
67
- setFooterState() {
68
- const newFooterState = this.hasFooterContent && this.screenSize >= PepScreenSizeType.MD
69
- ? 'visible'
70
- : 'hidden';
71
- if (this.footerState !== newFooterState) {
72
- this.footerState = newFooterState;
73
- this.cdRef.detectChanges();
74
- this.footerStateChange.emit({ state: this.footerState });
75
- if (this.footerState === 'visible') {
76
- this.customizationService.showFooter();
77
- }
78
- else {
79
- this.customizationService.hideFooter();
80
- }
81
- }
82
- }
83
- }
84
- PepTopBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PepTopBarComponent, deps: [{ token: i1.PepCustomizationService }, { token: i1.PepLayoutService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
85
- PepTopBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: PepTopBarComponent, selector: "pep-top-bar", inputs: { inline: "inline", title: "title" }, outputs: { footerStateChange: "footerStateChange" }, queries: [{ propertyName: "searchComp", first: true, predicate: PepSearchComponent, descendants: true }, { propertyName: "listActionsComp", first: true, predicate: PepListActionsComponent, descendants: true }, { propertyName: "listChooserComp", first: true, predicate: PepListChooserComponent, descendants: true }, { propertyName: "listTotalComp", first: true, predicate: PepListTotalComponent, descendants: true }, { propertyName: "listSortingComp", first: true, predicate: PepListSortingComponent, descendants: true }, { propertyName: "listViewsComp", first: true, predicate: PepListViewsComponent, descendants: true }], viewQueries: [{ propertyName: "footerStartContent", first: true, predicate: ["footerStartContent"], descendants: true }, { propertyName: "footerEndContent", first: true, predicate: ["footerEndContent"], descendants: true }], ngImport: i0, template: "<div pepRtlDirection [hidden]=\"isHidden\" class=\"pep-top-bar-container\" [ngClass]=\"{ inline: inline }\">\n <div class=\"header-content\">\n <div class=\"main-layout\">\n <div class=\"content pep-border-bottom\">\n <div class=\"left-container pep-spacing-element-negative\">\n <ng-container *ngTemplateOutlet=\"listActionsTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"titleTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"listChooserTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"leftContentTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"listTotalTemplate\"></ng-container>\n </div>\n <div class=\"pep-spacing-element\"></div>\n <div class=\"right-container pep-spacing-element-negative\">\n <ng-container *ngTemplateOutlet=\"searchTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"sortingTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"viewsTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"rightContentTemplate\"></ng-container>\n </div>\n </div>\n </div>\n </div>\n\n <!-- hasFooterContent === null is for the first load to see if there is data in the (footer-start-content || footer-end-content). -->\n <div *ngIf=\"hasFooterContent === null || (hasFooterContent && footerState === 'visible')\" class=\"footer\"\n [style.height.rem]=\"customizationService.footerHeight\">\n <div class=\"content pep-border-top\">\n <div #footerStartContent class=\"left-container pep-spacing-element-negative flex-wrapper\">\n <ng-content select=\"[footer-start-content]\"></ng-content>\n </div>\n <div #footerEndContent class=\"right-container pep-spacing-element-negative flex-wrapper\">\n <ng-content select=\"[footer-end-content]\"></ng-content>\n </div>\n </div>\n <!-- <ng-container *ngIf=\"showFooter && screenSize >= PepScreenSizeType.MD; then footerBlock; else noFooterBlock\">\n </ng-container>\n <ng-template #footerBlock>\n {{ customizationService.showFooter() }}\n </ng-template>\n <ng-template #noFooterBlock>\n {{ customizationService.hideFooter() }}\n </ng-template> -->\n </div>\n\n</div>\n\n<!-- Left side templates -->\n<ng-template #listActionsTemplate>\n <div class=\"list-actions-wrapper\">\n <ng-content *ngIf=\"!searchIsOpenAndSmallDevice\" select=\"pep-list-actions\"></ng-content>\n </div>\n</ng-template>\n\n<ng-template #titleTemplate>\n <div *ngIf=\"title?.length > 0\" class=\"pep-spacing-element title ellipsis {{ inline ? 'title-md' : 'title-lg' }} \"\n [ngClass]=\"{ 'md-max-title-width': screenSize === PepScreenSizeType.MD, 'sm-max-title-width': screenSize >= PepScreenSizeType.SM }\"\n >\n <span class=\"ellipsis\" [title]=\"title\">{{ title }}</span>\n </div>\n</ng-template>\n\n<ng-template #listChooserTemplate>\n <div *ngIf=\"!searchIsOpenAndSmallDevice\" [ngClass]=\"{ 'pep-spacing-element': listChooserComp }\">\n <ng-content select=\"pep-list-chooser\"></ng-content>\n </div>\n</ng-template>\n\n<ng-template #leftContentTemplate>\n <div *ngIf=\"!searchIsOpenAndSmallDevice\" class=\"flex-wrapper\">\n <ng-content select=\"[header-start-content]\"></ng-content>\n </div>\n</ng-template>\n\n<ng-template #listTotalTemplate>\n <div *ngIf=\"!searchIsOpenAndSmallDevice\" [ngClass]=\"{ 'pep-spacing-element': listTotalComp }\">\n <ng-content select=\"pep-list-total\"></ng-content>\n </div>\n</ng-template>\n\n<!-- Right side templates -->\n<ng-template #searchTemplate>\n <div [ngClass]=\"{ 'pep-spacing-element': searchComp }\">\n <ng-content select=\"pep-search\"></ng-content>\n </div>\n</ng-template>\n\n<ng-template #sortingTemplate>\n <div *ngIf=\"!searchIsOpenAndSmallDevice\" [ngClass]=\"{ 'pep-spacing-element': listSortingComp }\">\n <ng-content select=\"pep-list-sorting\"></ng-content>\n </div>\n</ng-template>\n\n<ng-template #viewsTemplate>\n <div *ngIf=\"!searchIsOpenAndSmallDevice\" [ngClass]=\"{ 'pep-spacing-element': listViewsComp }\" class=\"flex-wrapper\">\n <ng-content select=\"pep-list-views\"></ng-content>\n </div>\n</ng-template>\n\n<ng-template #rightContentTemplate>\n <div *ngIf=\"!searchIsOpenAndSmallDevice\" class=\"flex-wrapper\">\n <ng-content select=\"[header-end-content]\"></ng-content>\n </div>\n</ng-template>", styles: [".pep-top-bar-container{display:grid;height:calc(var(--pep-top-bar-spacing-top, 1.5rem) + var(--pep-top-bar-spacing-bottom, .5rem) + var(--pep-top-bar-field-height, 2.5rem));z-index:101}.pep-top-bar-container .title{display:inline-flex!important;align-items:center;justify-content:center}.pep-top-bar-container .title.md-max-title-width{max-width:300px}.pep-top-bar-container .title.sm-max-title-width{max-width:180px}.pep-top-bar-container .header-content{height:calc(var(--pep-top-bar-spacing-bottom, .5rem) + var(--pep-top-bar-field-height, 2.5rem));margin-top:var(--pep-top-bar-spacing-top, 1.5rem)}.pep-top-bar-container .header-content .main-layout{width:inherit;height:inherit;padding:0}.pep-top-bar-container .header-content .main-layout .content{display:flex;justify-content:space-between;height:inherit}.pep-top-bar-container .header-content .main-layout .content .left-container,.pep-top-bar-container .header-content .main-layout .content .right-container{height:inherit}.pep-top-bar-container .footer{position:fixed;bottom:0;left:0;right:0;height:var(--pep-footer-bar-height, 4.5rem);z-index:101}.pep-top-bar-container .footer .content{display:flex;justify-content:space-between;margin-inline:calc(var(--pep-spacing-lg, 1rem) * 2);padding-top:var(--pep-footer-bar-spacing-top, .75rem)}@media (max-width: 599px){.pep-top-bar-container .footer .content{margin-inline:var(--pep-spacing-lg, 1rem)}}.pep-top-bar-container .left-container{display:flex}.pep-top-bar-container .right-container{display:flex;justify-content:flex-end}.pep-top-bar-container .flex-wrapper ::ng-deep>*{display:flex}.pep-top-bar-container .list-actions-wrapper ::ng-deep .pep-button{margin-right:var(--pep-spacing-xs, .25rem);margin-left:var(--pep-spacing-xs, .25rem)}.pep-top-bar-container:not(.inline) ::ng-deep .pepperi-button,.pep-top-bar-container:not(.inline) ::ng-deep .pep-button,.pep-top-bar-container:not(.inline) .pepperi-button,.pep-top-bar-container:not(.inline) .pep-button{height:var(--pep-top-bar-field-height, 2.5rem);line-height:var(--pep-top-bar-field-height, 2.5rem)}.pep-top-bar-container.inline{position:inherit;height:var(--pep-top-bar-field-height, 2.5rem);width:100%}.pep-top-bar-container.inline .header-content{margin-top:0;height:inherit;padding:0;position:inherit;width:inherit}.pep-top-bar-container.inline .header-content .main-layout{width:inherit;height:inherit;padding:0}.pep-top-bar-container.inline .header-content .main-layout .content{height:inherit;margin:0}\n", ".pep-top-bar-container{background:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%))}.pep-top-bar-container .footer{background-color:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%))}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.PepRtlDirectionDirective, selector: "[pepRtlDirection]" }] });
86
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PepTopBarComponent, decorators: [{
87
- type: Component,
88
- args: [{ selector: 'pep-top-bar', template: "<div pepRtlDirection [hidden]=\"isHidden\" class=\"pep-top-bar-container\" [ngClass]=\"{ inline: inline }\">\n <div class=\"header-content\">\n <div class=\"main-layout\">\n <div class=\"content pep-border-bottom\">\n <div class=\"left-container pep-spacing-element-negative\">\n <ng-container *ngTemplateOutlet=\"listActionsTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"titleTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"listChooserTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"leftContentTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"listTotalTemplate\"></ng-container>\n </div>\n <div class=\"pep-spacing-element\"></div>\n <div class=\"right-container pep-spacing-element-negative\">\n <ng-container *ngTemplateOutlet=\"searchTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"sortingTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"viewsTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"rightContentTemplate\"></ng-container>\n </div>\n </div>\n </div>\n </div>\n\n <!-- hasFooterContent === null is for the first load to see if there is data in the (footer-start-content || footer-end-content). -->\n <div *ngIf=\"hasFooterContent === null || (hasFooterContent && footerState === 'visible')\" class=\"footer\"\n [style.height.rem]=\"customizationService.footerHeight\">\n <div class=\"content pep-border-top\">\n <div #footerStartContent class=\"left-container pep-spacing-element-negative flex-wrapper\">\n <ng-content select=\"[footer-start-content]\"></ng-content>\n </div>\n <div #footerEndContent class=\"right-container pep-spacing-element-negative flex-wrapper\">\n <ng-content select=\"[footer-end-content]\"></ng-content>\n </div>\n </div>\n <!-- <ng-container *ngIf=\"showFooter && screenSize >= PepScreenSizeType.MD; then footerBlock; else noFooterBlock\">\n </ng-container>\n <ng-template #footerBlock>\n {{ customizationService.showFooter() }}\n </ng-template>\n <ng-template #noFooterBlock>\n {{ customizationService.hideFooter() }}\n </ng-template> -->\n </div>\n\n</div>\n\n<!-- Left side templates -->\n<ng-template #listActionsTemplate>\n <div class=\"list-actions-wrapper\">\n <ng-content *ngIf=\"!searchIsOpenAndSmallDevice\" select=\"pep-list-actions\"></ng-content>\n </div>\n</ng-template>\n\n<ng-template #titleTemplate>\n <div *ngIf=\"title?.length > 0\" class=\"pep-spacing-element title ellipsis {{ inline ? 'title-md' : 'title-lg' }} \"\n [ngClass]=\"{ 'md-max-title-width': screenSize === PepScreenSizeType.MD, 'sm-max-title-width': screenSize >= PepScreenSizeType.SM }\"\n >\n <span class=\"ellipsis\" [title]=\"title\">{{ title }}</span>\n </div>\n</ng-template>\n\n<ng-template #listChooserTemplate>\n <div *ngIf=\"!searchIsOpenAndSmallDevice\" [ngClass]=\"{ 'pep-spacing-element': listChooserComp }\">\n <ng-content select=\"pep-list-chooser\"></ng-content>\n </div>\n</ng-template>\n\n<ng-template #leftContentTemplate>\n <div *ngIf=\"!searchIsOpenAndSmallDevice\" class=\"flex-wrapper\">\n <ng-content select=\"[header-start-content]\"></ng-content>\n </div>\n</ng-template>\n\n<ng-template #listTotalTemplate>\n <div *ngIf=\"!searchIsOpenAndSmallDevice\" [ngClass]=\"{ 'pep-spacing-element': listTotalComp }\">\n <ng-content select=\"pep-list-total\"></ng-content>\n </div>\n</ng-template>\n\n<!-- Right side templates -->\n<ng-template #searchTemplate>\n <div [ngClass]=\"{ 'pep-spacing-element': searchComp }\">\n <ng-content select=\"pep-search\"></ng-content>\n </div>\n</ng-template>\n\n<ng-template #sortingTemplate>\n <div *ngIf=\"!searchIsOpenAndSmallDevice\" [ngClass]=\"{ 'pep-spacing-element': listSortingComp }\">\n <ng-content select=\"pep-list-sorting\"></ng-content>\n </div>\n</ng-template>\n\n<ng-template #viewsTemplate>\n <div *ngIf=\"!searchIsOpenAndSmallDevice\" [ngClass]=\"{ 'pep-spacing-element': listViewsComp }\" class=\"flex-wrapper\">\n <ng-content select=\"pep-list-views\"></ng-content>\n </div>\n</ng-template>\n\n<ng-template #rightContentTemplate>\n <div *ngIf=\"!searchIsOpenAndSmallDevice\" class=\"flex-wrapper\">\n <ng-content select=\"[header-end-content]\"></ng-content>\n </div>\n</ng-template>", styles: [".pep-top-bar-container{display:grid;height:calc(var(--pep-top-bar-spacing-top, 1.5rem) + var(--pep-top-bar-spacing-bottom, .5rem) + var(--pep-top-bar-field-height, 2.5rem));z-index:101}.pep-top-bar-container .title{display:inline-flex!important;align-items:center;justify-content:center}.pep-top-bar-container .title.md-max-title-width{max-width:300px}.pep-top-bar-container .title.sm-max-title-width{max-width:180px}.pep-top-bar-container .header-content{height:calc(var(--pep-top-bar-spacing-bottom, .5rem) + var(--pep-top-bar-field-height, 2.5rem));margin-top:var(--pep-top-bar-spacing-top, 1.5rem)}.pep-top-bar-container .header-content .main-layout{width:inherit;height:inherit;padding:0}.pep-top-bar-container .header-content .main-layout .content{display:flex;justify-content:space-between;height:inherit}.pep-top-bar-container .header-content .main-layout .content .left-container,.pep-top-bar-container .header-content .main-layout .content .right-container{height:inherit}.pep-top-bar-container .footer{position:fixed;bottom:0;left:0;right:0;height:var(--pep-footer-bar-height, 4.5rem);z-index:101}.pep-top-bar-container .footer .content{display:flex;justify-content:space-between;margin-inline:calc(var(--pep-spacing-lg, 1rem) * 2);padding-top:var(--pep-footer-bar-spacing-top, .75rem)}@media (max-width: 599px){.pep-top-bar-container .footer .content{margin-inline:var(--pep-spacing-lg, 1rem)}}.pep-top-bar-container .left-container{display:flex}.pep-top-bar-container .right-container{display:flex;justify-content:flex-end}.pep-top-bar-container .flex-wrapper ::ng-deep>*{display:flex}.pep-top-bar-container .list-actions-wrapper ::ng-deep .pep-button{margin-right:var(--pep-spacing-xs, .25rem);margin-left:var(--pep-spacing-xs, .25rem)}.pep-top-bar-container:not(.inline) ::ng-deep .pepperi-button,.pep-top-bar-container:not(.inline) ::ng-deep .pep-button,.pep-top-bar-container:not(.inline) .pepperi-button,.pep-top-bar-container:not(.inline) .pep-button{height:var(--pep-top-bar-field-height, 2.5rem);line-height:var(--pep-top-bar-field-height, 2.5rem)}.pep-top-bar-container.inline{position:inherit;height:var(--pep-top-bar-field-height, 2.5rem);width:100%}.pep-top-bar-container.inline .header-content{margin-top:0;height:inherit;padding:0;position:inherit;width:inherit}.pep-top-bar-container.inline .header-content .main-layout{width:inherit;height:inherit;padding:0}.pep-top-bar-container.inline .header-content .main-layout .content{height:inherit;margin:0}\n", ".pep-top-bar-container{background:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%))}.pep-top-bar-container .footer{background-color:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%))}\n"] }]
89
- }], ctorParameters: function () { return [{ type: i1.PepCustomizationService }, { type: i1.PepLayoutService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { inline: [{
90
- type: Input
91
- }], title: [{
92
- type: Input
93
- }], footerStateChange: [{
94
- type: Output
95
- }], footerStartContent: [{
96
- type: ViewChild,
97
- args: ['footerStartContent']
98
- }], footerEndContent: [{
99
- type: ViewChild,
100
- args: ['footerEndContent']
101
- }], searchComp: [{
102
- type: ContentChild,
103
- args: [PepSearchComponent]
104
- }], listActionsComp: [{
105
- type: ContentChild,
106
- args: [PepListActionsComponent]
107
- }], listChooserComp: [{
108
- type: ContentChild,
109
- args: [PepListChooserComponent]
110
- }], listTotalComp: [{
111
- type: ContentChild,
112
- args: [PepListTotalComponent]
113
- }], listSortingComp: [{
114
- type: ContentChild,
115
- args: [PepListSortingComponent]
116
- }], listViewsComp: [{
117
- type: ContentChild,
118
- args: [PepListViewsComponent]
119
- }] } });
120
-
121
- class PepTopBarModule {
122
- constructor(pepIconRegistry) {
123
- this.pepIconRegistry = pepIconRegistry;
124
- this.pepIconRegistry.registerIcons([
125
- pepIconSystemMenu,
126
- pepIconSystemEdit,
127
- ]);
128
- }
129
- }
130
- PepTopBarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PepTopBarModule, deps: [{ token: i1$1.PepIconRegistry }], target: i0.ɵɵFactoryTarget.NgModule });
131
- PepTopBarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: PepTopBarModule, declarations: [PepTopBarComponent], imports: [CommonModule,
132
- // Material modules,
133
- MatCommonModule,
134
- MatMenuModule,
135
- MatIconModule,
136
- // ngx-lib modules
137
- PepNgxLibModule,
138
- PepMenuModule,
139
- PepIconModule,
140
- PepSearchModule], exports: [PepTopBarComponent] });
141
- PepTopBarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PepTopBarModule, imports: [CommonModule,
142
- // Material modules,
143
- MatCommonModule,
144
- MatMenuModule,
145
- MatIconModule,
146
- // ngx-lib modules
147
- PepNgxLibModule,
148
- PepMenuModule,
149
- PepIconModule,
150
- PepSearchModule] });
151
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PepTopBarModule, decorators: [{
152
- type: NgModule,
153
- args: [{
154
- imports: [
155
- CommonModule,
156
- // Material modules,
157
- MatCommonModule,
158
- MatMenuModule,
159
- MatIconModule,
160
- // ngx-lib modules
161
- PepNgxLibModule,
162
- PepMenuModule,
163
- PepIconModule,
164
- PepSearchModule,
165
- ],
166
- exports: [PepTopBarComponent],
167
- declarations: [PepTopBarComponent],
168
- }]
169
- }], ctorParameters: function () { return [{ type: i1$1.PepIconRegistry }]; } });
170
-
171
- /*
172
- * Public API Surface of ngx-lib/top-bar
173
- */
174
-
175
- /**
176
- * Generated bundle index. Do not edit.
177
- */
178
-
179
- export { PepTopBarComponent, PepTopBarModule };
180
- //# sourceMappingURL=pepperi-addons-ngx-lib-top-bar.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pepperi-addons-ngx-lib-top-bar.mjs","sources":["../../../projects/ngx-lib/top-bar/top-bar.component.ts","../../../projects/ngx-lib/top-bar/top-bar.component.html","../../../projects/ngx-lib/top-bar/top-bar.module.ts","../../../projects/ngx-lib/top-bar/public-api.ts","../../../projects/ngx-lib/top-bar/pepperi-addons-ngx-lib-top-bar.ts"],"sourcesContent":["import {\n AfterContentInit,\n ChangeDetectorRef,\n ContentChild,\n ElementRef,\n OnDestroy,\n ViewChild,\n} from '@angular/core';\nimport {\n AfterViewInit,\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\nimport {\n PepCustomizationService,\n PepLayoutService,\n PepScreenSizeType,\n} from '@pepperi-addons/ngx-lib';\nimport { PepSearchComponent } from '@pepperi-addons/ngx-lib/search';\nimport {\n PepListActionsComponent,\n PepListChooserComponent,\n PepListSortingComponent,\n PepListTotalComponent,\n PepListViewsComponent,\n} from '@pepperi-addons/ngx-lib/list';\nimport { PepMenuStateType } from '@pepperi-addons/ngx-lib/menu';\nimport {\n IPepSearchStateChangeEvent,\n PepSearchStateType,\n} from '@pepperi-addons/ngx-lib/search';\nimport {\n IPepFooterStateChangeEvent,\n PepFooterStateType,\n} from './top-bar.model';\n\n@Component({\n selector: 'pep-top-bar',\n templateUrl: './top-bar.component.html',\n styleUrls: ['./top-bar.component.scss', './top-bar.component.theme.scss'],\n})\nexport class PepTopBarComponent implements AfterViewInit, AfterContentInit, OnDestroy {\n @Input() inline = false;\n @Input() title: string = null;\n\n @Output()\n footerStateChange: EventEmitter<IPepFooterStateChangeEvent> = new EventEmitter<IPepFooterStateChangeEvent>();\n\n @ViewChild('footerStartContent') footerStartContent: ElementRef;\n @ViewChild('footerEndContent') footerEndContent: ElementRef;\n\n @ContentChild(PepSearchComponent) searchComp: PepSearchComponent;\n @ContentChild(PepListActionsComponent)\n listActionsComp: PepListActionsComponent;\n @ContentChild(PepListChooserComponent)\n listChooserComp: PepListChooserComponent;\n @ContentChild(PepListTotalComponent) listTotalComp: PepListTotalComponent;\n @ContentChild(PepListSortingComponent)\n listSortingComp: PepListSortingComponent;\n @ContentChild(PepListViewsComponent) listViewsComp: PepListViewsComponent;\n\n hasFooterContent = null;\n isHidden = true;\n screenSize: PepScreenSizeType;\n // listActionsIsVisible = false;\n searchState: PepSearchStateType;\n searchIsOpenAndSmallDevice = false;\n footerState: PepFooterStateType;\n PepScreenSizeType = PepScreenSizeType;\n\n constructor(\n public customizationService: PepCustomizationService,\n public layoutService: PepLayoutService,\n private cdRef: ChangeDetectorRef\n ) { }\n\n ngAfterViewInit(): void {\n if (!this.inline) {\n this.hasFooterContent =\n this.footerStartContent?.nativeElement?.children?.length > 0 ||\n this.footerEndContent?.nativeElement?.children?.length > 0;\n }\n\n this.layoutService.onResize$.subscribe((size: PepScreenSizeType) => {\n this.screenSize = size;\n this.setSearchIsOpenAndSmallDevice();\n\n if (!this.inline) {\n this.setFooterState();\n }\n });\n\n this.isHidden = false;\n this.cdRef.detectChanges();\n }\n\n ngAfterContentInit() {\n if (this.searchComp) {\n this.searchComp.stateChange\n .subscribe(\n (searchStateChangeEvent: IPepSearchStateChangeEvent) => {\n this.searchState = searchStateChangeEvent.state;\n this.setSearchIsOpenAndSmallDevice();\n }\n )\n .unsubscribe();\n }\n }\n\n ngOnDestroy(): void {\n if (this.customizationService) {\n this.customizationService.hideFooter();\n }\n }\n\n private setSearchIsOpenAndSmallDevice(): void {\n // check if search is open and the device size is small or extra small\n this.searchIsOpenAndSmallDevice =\n this.screenSize > PepScreenSizeType.SM &&\n this.searchState === 'open';\n }\n\n private setFooterState() {\n const newFooterState: PepFooterStateType =\n this.hasFooterContent && this.screenSize >= PepScreenSizeType.MD\n ? 'visible'\n : 'hidden';\n\n if (this.footerState !== newFooterState) {\n this.footerState = newFooterState;\n this.cdRef.detectChanges();\n this.footerStateChange.emit({ state: this.footerState });\n\n if (this.footerState === 'visible') {\n this.customizationService.showFooter()\n } else {\n this.customizationService.hideFooter()\n }\n }\n }\n}\n","<div pepRtlDirection [hidden]=\"isHidden\" class=\"pep-top-bar-container\" [ngClass]=\"{ inline: inline }\">\n <div class=\"header-content\">\n <div class=\"main-layout\">\n <div class=\"content pep-border-bottom\">\n <div class=\"left-container pep-spacing-element-negative\">\n <ng-container *ngTemplateOutlet=\"listActionsTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"titleTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"listChooserTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"leftContentTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"listTotalTemplate\"></ng-container>\n </div>\n <div class=\"pep-spacing-element\"></div>\n <div class=\"right-container pep-spacing-element-negative\">\n <ng-container *ngTemplateOutlet=\"searchTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"sortingTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"viewsTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"rightContentTemplate\"></ng-container>\n </div>\n </div>\n </div>\n </div>\n\n <!-- hasFooterContent === null is for the first load to see if there is data in the (footer-start-content || footer-end-content). -->\n <div *ngIf=\"hasFooterContent === null || (hasFooterContent && footerState === 'visible')\" class=\"footer\"\n [style.height.rem]=\"customizationService.footerHeight\">\n <div class=\"content pep-border-top\">\n <div #footerStartContent class=\"left-container pep-spacing-element-negative flex-wrapper\">\n <ng-content select=\"[footer-start-content]\"></ng-content>\n </div>\n <div #footerEndContent class=\"right-container pep-spacing-element-negative flex-wrapper\">\n <ng-content select=\"[footer-end-content]\"></ng-content>\n </div>\n </div>\n <!-- <ng-container *ngIf=\"showFooter && screenSize >= PepScreenSizeType.MD; then footerBlock; else noFooterBlock\">\n </ng-container>\n <ng-template #footerBlock>\n {{ customizationService.showFooter() }}\n </ng-template>\n <ng-template #noFooterBlock>\n {{ customizationService.hideFooter() }}\n </ng-template> -->\n </div>\n\n</div>\n\n<!-- Left side templates -->\n<ng-template #listActionsTemplate>\n <div class=\"list-actions-wrapper\">\n <ng-content *ngIf=\"!searchIsOpenAndSmallDevice\" select=\"pep-list-actions\"></ng-content>\n </div>\n</ng-template>\n\n<ng-template #titleTemplate>\n <div *ngIf=\"title?.length > 0\" class=\"pep-spacing-element title ellipsis {{ inline ? 'title-md' : 'title-lg' }} \"\n [ngClass]=\"{ 'md-max-title-width': screenSize === PepScreenSizeType.MD, 'sm-max-title-width': screenSize >= PepScreenSizeType.SM }\"\n >\n <span class=\"ellipsis\" [title]=\"title\">{{ title }}</span>\n </div>\n</ng-template>\n\n<ng-template #listChooserTemplate>\n <div *ngIf=\"!searchIsOpenAndSmallDevice\" [ngClass]=\"{ 'pep-spacing-element': listChooserComp }\">\n <ng-content select=\"pep-list-chooser\"></ng-content>\n </div>\n</ng-template>\n\n<ng-template #leftContentTemplate>\n <div *ngIf=\"!searchIsOpenAndSmallDevice\" class=\"flex-wrapper\">\n <ng-content select=\"[header-start-content]\"></ng-content>\n </div>\n</ng-template>\n\n<ng-template #listTotalTemplate>\n <div *ngIf=\"!searchIsOpenAndSmallDevice\" [ngClass]=\"{ 'pep-spacing-element': listTotalComp }\">\n <ng-content select=\"pep-list-total\"></ng-content>\n </div>\n</ng-template>\n\n<!-- Right side templates -->\n<ng-template #searchTemplate>\n <div [ngClass]=\"{ 'pep-spacing-element': searchComp }\">\n <ng-content select=\"pep-search\"></ng-content>\n </div>\n</ng-template>\n\n<ng-template #sortingTemplate>\n <div *ngIf=\"!searchIsOpenAndSmallDevice\" [ngClass]=\"{ 'pep-spacing-element': listSortingComp }\">\n <ng-content select=\"pep-list-sorting\"></ng-content>\n </div>\n</ng-template>\n\n<ng-template #viewsTemplate>\n <div *ngIf=\"!searchIsOpenAndSmallDevice\" [ngClass]=\"{ 'pep-spacing-element': listViewsComp }\" class=\"flex-wrapper\">\n <ng-content select=\"pep-list-views\"></ng-content>\n </div>\n</ng-template>\n\n<ng-template #rightContentTemplate>\n <div *ngIf=\"!searchIsOpenAndSmallDevice\" class=\"flex-wrapper\">\n <ng-content select=\"[header-end-content]\"></ng-content>\n </div>\n</ng-template>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { MatCommonModule } from '@angular/material/core';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\nimport { PepMenuModule } from '@pepperi-addons/ngx-lib/menu';\nimport {\n PepIconModule,\n PepIconRegistry,\n pepIconSystemMenu,\n pepIconSystemEdit,\n} from '@pepperi-addons/ngx-lib/icon';\nimport { PepSearchModule } from '@pepperi-addons/ngx-lib/search';\n\nimport { PepTopBarComponent } from './top-bar.component';\n\n@NgModule({\n imports: [\n CommonModule,\n // Material modules,\n MatCommonModule,\n MatMenuModule,\n MatIconModule,\n // ngx-lib modules\n PepNgxLibModule,\n PepMenuModule,\n PepIconModule,\n PepSearchModule,\n ],\n exports: [PepTopBarComponent],\n declarations: [PepTopBarComponent],\n})\nexport class PepTopBarModule {\n constructor(private pepIconRegistry: PepIconRegistry) {\n this.pepIconRegistry.registerIcons([\n pepIconSystemMenu,\n pepIconSystemEdit,\n ]);\n }\n}\n","/*\n * Public API Surface of ngx-lib/top-bar\n */\nexport * from './top-bar.module';\nexport * from './top-bar.component';\nexport * from './top-bar.model';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":";;;;;;;;;;;;;;;MA2Ca,kBAAkB,CAAA;AA6B3B,IAAA,WAAA,CACW,oBAA6C,EAC7C,aAA+B,EAC9B,KAAwB,EAAA;AAFzB,QAAA,IAAoB,CAAA,oBAAA,GAApB,oBAAoB,CAAyB;AAC7C,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAkB;AAC9B,QAAA,IAAK,CAAA,KAAA,GAAL,KAAK,CAAmB;AA/B3B,QAAA,IAAM,CAAA,MAAA,GAAG,KAAK,CAAC;AACf,QAAA,IAAK,CAAA,KAAA,GAAW,IAAI,CAAC;AAG9B,QAAA,IAAA,CAAA,iBAAiB,GAA6C,IAAI,YAAY,EAA8B,CAAC;AAe7G,QAAA,IAAgB,CAAA,gBAAA,GAAG,IAAI,CAAC;AACxB,QAAA,IAAQ,CAAA,QAAA,GAAG,IAAI,CAAC;AAIhB,QAAA,IAA0B,CAAA,0BAAA,GAAG,KAAK,CAAC;AAEnC,QAAA,IAAiB,CAAA,iBAAA,GAAG,iBAAiB,CAAC;KAMjC;IAEL,eAAe,GAAA;;AACX,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;AACd,YAAA,IAAI,CAAC,gBAAgB;AACjB,gBAAA,CAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,kBAAkB,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,aAAa,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,QAAQ,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAM,IAAG,CAAC;AAC5D,oBAAA,CAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,gBAAgB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,aAAa,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,QAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,MAAM,IAAG,CAAC,CAAC;AAClE,SAAA;QAED,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,IAAuB,KAAI;AAC/D,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,CAAC,6BAA6B,EAAE,CAAC;AAErC,YAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBACd,IAAI,CAAC,cAAc,EAAE,CAAC;AACzB,aAAA;AACL,SAAC,CAAC,CAAC;AAEH,QAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;AACtB,QAAA,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;KAC9B;IAED,kBAAkB,GAAA;QACd,IAAI,IAAI,CAAC,UAAU,EAAE;YACjB,IAAI,CAAC,UAAU,CAAC,WAAW;AACtB,iBAAA,SAAS,CACN,CAAC,sBAAkD,KAAI;AACnD,gBAAA,IAAI,CAAC,WAAW,GAAG,sBAAsB,CAAC,KAAK,CAAC;gBAChD,IAAI,CAAC,6BAA6B,EAAE,CAAC;AACzC,aAAC,CACJ;AACA,iBAAA,WAAW,EAAE,CAAC;AACtB,SAAA;KACJ;IAED,WAAW,GAAA;QACP,IAAI,IAAI,CAAC,oBAAoB,EAAE;AAC3B,YAAA,IAAI,CAAC,oBAAoB,CAAC,UAAU,EAAE,CAAC;AAC1C,SAAA;KACJ;IAEO,6BAA6B,GAAA;;AAEjC,QAAA,IAAI,CAAC,0BAA0B;AAC3B,YAAA,IAAI,CAAC,UAAU,GAAG,iBAAiB,CAAC,EAAE;AACtC,gBAAA,IAAI,CAAC,WAAW,KAAK,MAAM,CAAC;KACnC;IAEO,cAAc,GAAA;AAClB,QAAA,MAAM,cAAc,GAChB,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,UAAU,IAAI,iBAAiB,CAAC,EAAE;AAC5D,cAAE,SAAS;cACT,QAAQ,CAAC;AAEnB,QAAA,IAAI,IAAI,CAAC,WAAW,KAAK,cAAc,EAAE;AACrC,YAAA,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC;AAClC,YAAA,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;AAC3B,YAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;AAEzD,YAAA,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE;AAChC,gBAAA,IAAI,CAAC,oBAAoB,CAAC,UAAU,EAAE,CAAA;AACzC,aAAA;AAAM,iBAAA;AACH,gBAAA,IAAI,CAAC,oBAAoB,CAAC,UAAU,EAAE,CAAA;AACzC,aAAA;AACJ,SAAA;KACJ;;gHAlGQ,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,uBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlB,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,kBAAkB,EAUb,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,YAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,kBAAkB,EAClB,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,uBAAuB,EAEvB,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,uBAAuB,EAEvB,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,eAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,qBAAqB,EACrB,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,uBAAuB,EAEvB,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,eAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,qBAAqB,iRC7DvC,oqJAqGc,EAAA,MAAA,EAAA,CAAA,m7EAAA,EAAA,wXAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,wBAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FD1DD,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAL9B,SAAS;+BACI,aAAa,EAAA,QAAA,EAAA,oqJAAA,EAAA,MAAA,EAAA,CAAA,m7EAAA,EAAA,wXAAA,CAAA,EAAA,CAAA;6KAKd,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAGN,iBAAiB,EAAA,CAAA;sBADhB,MAAM;gBAG0B,kBAAkB,EAAA,CAAA;sBAAlD,SAAS;uBAAC,oBAAoB,CAAA;gBACA,gBAAgB,EAAA,CAAA;sBAA9C,SAAS;uBAAC,kBAAkB,CAAA;gBAEK,UAAU,EAAA,CAAA;sBAA3C,YAAY;uBAAC,kBAAkB,CAAA;gBAEhC,eAAe,EAAA,CAAA;sBADd,YAAY;uBAAC,uBAAuB,CAAA;gBAGrC,eAAe,EAAA,CAAA;sBADd,YAAY;uBAAC,uBAAuB,CAAA;gBAEA,aAAa,EAAA,CAAA;sBAAjD,YAAY;uBAAC,qBAAqB,CAAA;gBAEnC,eAAe,EAAA,CAAA;sBADd,YAAY;uBAAC,uBAAuB,CAAA;gBAEA,aAAa,EAAA,CAAA;sBAAjD,YAAY;uBAAC,qBAAqB,CAAA;;;ME1B1B,eAAe,CAAA;AACxB,IAAA,WAAA,CAAoB,eAAgC,EAAA;AAAhC,QAAA,IAAe,CAAA,eAAA,GAAf,eAAe,CAAiB;AAChD,QAAA,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC;YAC/B,iBAAiB;YACjB,iBAAiB;AACpB,SAAA,CAAC,CAAC;KACN;;6GANQ,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;8GAAf,eAAe,EAAA,YAAA,EAAA,CAFT,kBAAkB,CAAA,EAAA,OAAA,EAAA,CAZ7B,YAAY;;QAEZ,eAAe;QACf,aAAa;QACb,aAAa;;QAEb,eAAe;QACf,aAAa;QACb,aAAa;QACb,eAAe,aAET,kBAAkB,CAAA,EAAA,CAAA,CAAA;AAGnB,eAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,YAdpB,YAAY;;QAEZ,eAAe;QACf,aAAa;QACb,aAAa;;QAEb,eAAe;QACf,aAAa;QACb,aAAa;QACb,eAAe,CAAA,EAAA,CAAA,CAAA;4FAKV,eAAe,EAAA,UAAA,EAAA,CAAA;kBAhB3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE;wBACL,YAAY;;wBAEZ,eAAe;wBACf,aAAa;wBACb,aAAa;;wBAEb,eAAe;wBACf,aAAa;wBACb,aAAa;wBACb,eAAe;AAClB,qBAAA;oBACD,OAAO,EAAE,CAAC,kBAAkB,CAAC;oBAC7B,YAAY,EAAE,CAAC,kBAAkB,CAAC;iBACrC,CAAA;;;AClCD;;AAEG;;ACFH;;AAEG;;;;"}