@pepperi-addons/ngx-lib 0.2.60 → 0.2.61-beta.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 (306) hide show
  1. package/address/address.component.theme.scss +4 -7
  2. package/address/pepperi-addons-ngx-lib-address.metadata.json +1 -1
  3. package/attachment/attachment.component.d.ts +1 -0
  4. package/attachment/attachment.component.theme.scss +3 -2
  5. package/attachment/pepperi-addons-ngx-lib-attachment.metadata.json +1 -1
  6. package/bread-crumbs/bread-crumbs.component.theme.scss +7 -7
  7. package/bread-crumbs/pepperi-addons-ngx-lib-bread-crumbs.metadata.json +1 -1
  8. package/bundles/pepperi-addons-ngx-lib-address.umd.js +1 -1
  9. package/bundles/pepperi-addons-ngx-lib-address.umd.js.map +1 -1
  10. package/bundles/pepperi-addons-ngx-lib-attachment.umd.js +7 -2
  11. package/bundles/pepperi-addons-ngx-lib-attachment.umd.js.map +1 -1
  12. package/bundles/pepperi-addons-ngx-lib-bread-crumbs.umd.js +1 -1
  13. package/bundles/pepperi-addons-ngx-lib-bread-crumbs.umd.js.map +1 -1
  14. package/bundles/pepperi-addons-ngx-lib-button.umd.js +1 -1
  15. package/bundles/pepperi-addons-ngx-lib-button.umd.js.map +1 -1
  16. package/bundles/pepperi-addons-ngx-lib-checkbox.umd.js +4 -1
  17. package/bundles/pepperi-addons-ngx-lib-checkbox.umd.js.map +1 -1
  18. package/bundles/pepperi-addons-ngx-lib-color.umd.js +8 -3
  19. package/bundles/pepperi-addons-ngx-lib-color.umd.js.map +1 -1
  20. package/bundles/pepperi-addons-ngx-lib-date.umd.js +5 -3
  21. package/bundles/pepperi-addons-ngx-lib-date.umd.js.map +1 -1
  22. package/bundles/pepperi-addons-ngx-lib-dialog.umd.js +1 -1
  23. package/bundles/pepperi-addons-ngx-lib-dialog.umd.js.map +1 -1
  24. package/bundles/pepperi-addons-ngx-lib-field-title.umd.js +1 -1
  25. package/bundles/pepperi-addons-ngx-lib-field-title.umd.js.map +1 -1
  26. package/bundles/pepperi-addons-ngx-lib-files-uploader.umd.js +1 -1
  27. package/bundles/pepperi-addons-ngx-lib-files-uploader.umd.js.map +1 -1
  28. package/bundles/pepperi-addons-ngx-lib-form.umd.js +19 -16
  29. package/bundles/pepperi-addons-ngx-lib-form.umd.js.map +1 -1
  30. package/bundles/pepperi-addons-ngx-lib-group-buttons.umd.js +1 -1
  31. package/bundles/pepperi-addons-ngx-lib-group-buttons.umd.js.map +1 -1
  32. package/bundles/pepperi-addons-ngx-lib-image.umd.js +7 -2
  33. package/bundles/pepperi-addons-ngx-lib-image.umd.js.map +1 -1
  34. package/bundles/pepperi-addons-ngx-lib-images-filmstrip.umd.js +7 -2
  35. package/bundles/pepperi-addons-ngx-lib-images-filmstrip.umd.js.map +1 -1
  36. package/bundles/pepperi-addons-ngx-lib-list.umd.js +1 -1
  37. package/bundles/pepperi-addons-ngx-lib-list.umd.js.map +1 -1
  38. package/bundles/pepperi-addons-ngx-lib-quantity-selector.umd.js +7 -2
  39. package/bundles/pepperi-addons-ngx-lib-quantity-selector.umd.js.map +1 -1
  40. package/bundles/pepperi-addons-ngx-lib-query-builder.umd.js +1104 -0
  41. package/bundles/pepperi-addons-ngx-lib-query-builder.umd.js.map +1 -0
  42. package/bundles/pepperi-addons-ngx-lib-rich-html-textarea.umd.js +7 -2
  43. package/bundles/pepperi-addons-ngx-lib-rich-html-textarea.umd.js.map +1 -1
  44. package/bundles/pepperi-addons-ngx-lib-select.umd.js +7 -2
  45. package/bundles/pepperi-addons-ngx-lib-select.umd.js.map +1 -1
  46. package/bundles/pepperi-addons-ngx-lib-separator.umd.js +9 -1
  47. package/bundles/pepperi-addons-ngx-lib-separator.umd.js.map +1 -1
  48. package/bundles/pepperi-addons-ngx-lib-side-bar.umd.js +1 -1
  49. package/bundles/pepperi-addons-ngx-lib-side-bar.umd.js.map +1 -1
  50. package/bundles/pepperi-addons-ngx-lib-signature.umd.js +7 -2
  51. package/bundles/pepperi-addons-ngx-lib-signature.umd.js.map +1 -1
  52. package/bundles/pepperi-addons-ngx-lib-slider.umd.js +1 -1
  53. package/bundles/pepperi-addons-ngx-lib-slider.umd.js.map +1 -1
  54. package/bundles/pepperi-addons-ngx-lib-smart-filters.umd.js +306 -39
  55. package/bundles/pepperi-addons-ngx-lib-smart-filters.umd.js.map +1 -1
  56. package/bundles/pepperi-addons-ngx-lib-textarea.umd.js +7 -2
  57. package/bundles/pepperi-addons-ngx-lib-textarea.umd.js.map +1 -1
  58. package/bundles/pepperi-addons-ngx-lib-textbox.umd.js +5 -3
  59. package/bundles/pepperi-addons-ngx-lib-textbox.umd.js.map +1 -1
  60. package/bundles/pepperi-addons-ngx-lib-top-bar.umd.js +1 -1
  61. package/bundles/pepperi-addons-ngx-lib-top-bar.umd.js.map +1 -1
  62. package/bundles/pepperi-addons-ngx-lib.umd.js +38 -36
  63. package/bundles/pepperi-addons-ngx-lib.umd.js.map +1 -1
  64. package/button/button.component.theme.scss +0 -2
  65. package/button/pepperi-addons-ngx-lib-button.metadata.json +1 -1
  66. package/checkbox/checkbox.component.theme.scss +0 -2
  67. package/checkbox/pepperi-addons-ngx-lib-checkbox.metadata.json +1 -1
  68. package/color/color-picker.component.theme.scss +123 -128
  69. package/color/color.component.d.ts +1 -0
  70. package/color/color.component.theme.scss +0 -7
  71. package/color/pepperi-addons-ngx-lib-color.metadata.json +1 -1
  72. package/core/common/services/addon.service.d.ts +1 -2
  73. package/core/common/services/file.service.d.ts +4 -4
  74. package/core/customization/customization.service.d.ts +1 -0
  75. package/date/date.component.theme.scss +163 -169
  76. package/date/pepperi-addons-ngx-lib-date.metadata.json +1 -1
  77. package/dialog/dialog.component.theme.scss +4 -4
  78. package/dialog/pepperi-addons-ngx-lib-dialog.metadata.json +1 -1
  79. package/esm2015/address/address.component.js +2 -2
  80. package/esm2015/attachment/attachment.component.js +8 -3
  81. package/esm2015/bread-crumbs/bread-crumbs.component.js +2 -2
  82. package/esm2015/button/button.component.js +2 -2
  83. package/esm2015/checkbox/checkbox.component.js +5 -2
  84. package/esm2015/color/color-picker.component.js +2 -2
  85. package/esm2015/color/color.component.js +8 -3
  86. package/esm2015/core/common/services/addon.service.js +4 -19
  87. package/esm2015/core/common/services/file.service.js +9 -9
  88. package/esm2015/core/common/services/utilities.service.js +25 -4
  89. package/esm2015/core/customization/customization.service.js +4 -2
  90. package/esm2015/date/date.component.js +6 -4
  91. package/esm2015/dialog/dialog.component.js +2 -2
  92. package/esm2015/field-title/field-title.component.js +2 -2
  93. package/esm2015/files-uploader/files-uploader.component.js +2 -2
  94. package/esm2015/form/indicators.component.js +2 -2
  95. package/esm2015/form/internal-button.component.js +20 -17
  96. package/esm2015/group-buttons/group-buttons.component.js +2 -2
  97. package/esm2015/image/image.component.js +8 -3
  98. package/esm2015/images-filmstrip/images-filmstrip.component.js +8 -3
  99. package/esm2015/list/list-total.component.js +2 -2
  100. package/esm2015/quantity-selector/quantity-selector.component.js +8 -3
  101. package/esm2015/query-builder/common/model/field.js +2 -0
  102. package/esm2015/query-builder/common/model/filter.js +2 -0
  103. package/esm2015/query-builder/common/model/legacy.js +2 -0
  104. package/esm2015/query-builder/common/model/operator-unit.js +42 -0
  105. package/esm2015/query-builder/common/model/operator.js +207 -0
  106. package/esm2015/query-builder/common/model/structure.js +2 -0
  107. package/esm2015/query-builder/common/model/type-map.js +27 -0
  108. package/esm2015/query-builder/common/model/type.js +6 -0
  109. package/esm2015/query-builder/common/services/output-query.service.js +111 -0
  110. package/esm2015/query-builder/common/services/type-convertor.service.js +40 -0
  111. package/esm2015/query-builder/pepperi-addons-ngx-lib-query-builder.js +9 -0
  112. package/esm2015/query-builder/public-api.js +8 -0
  113. package/esm2015/query-builder/query-builder-item/query-builder-item.component.js +116 -0
  114. package/esm2015/query-builder/query-builder-section/query-builder-section.component.js +64 -0
  115. package/esm2015/query-builder/query-builder.component.js +104 -0
  116. package/esm2015/query-builder/query-builder.module.js +35 -0
  117. package/esm2015/query-builder/query-builder.service.js +282 -0
  118. package/esm2015/rich-html-textarea/rich-html-textarea.component.js +8 -3
  119. package/esm2015/select/select.component.js +8 -3
  120. package/esm2015/separator/separator.component.js +10 -2
  121. package/esm2015/side-bar/side-bar.component.js +2 -2
  122. package/esm2015/signature/signature.component.js +8 -3
  123. package/esm2015/slider/slider.component.js +2 -2
  124. package/esm2015/smart-filters/boolean-filter/boolean-filter.component.js +23 -3
  125. package/esm2015/smart-filters/common/model/base-filter-component.js +35 -8
  126. package/esm2015/smart-filters/common/model/creator.js +8 -2
  127. package/esm2015/smart-filters/common/model/field.js +12 -1
  128. package/esm2015/smart-filters/common/model/operator.js +8 -8
  129. package/esm2015/smart-filters/common/model/type.js +1 -1
  130. package/esm2015/smart-filters/date-filter/date-filter.component.js +45 -2
  131. package/esm2015/smart-filters/multi-select-filter/multi-select-filter.component.js +53 -14
  132. package/esm2015/smart-filters/number-filter/number-filter.component.js +27 -2
  133. package/esm2015/smart-filters/public-api.js +2 -1
  134. package/esm2015/smart-filters/smart-filters.component.js +2 -2
  135. package/esm2015/smart-filters/smart-filters.module.js +16 -3
  136. package/esm2015/smart-filters/text-filter/text-filter.component.js +79 -0
  137. package/esm2015/textarea/textarea.component.js +8 -3
  138. package/esm2015/textbox/textbox.component.js +6 -4
  139. package/esm2015/top-bar/top-bar.component.js +2 -2
  140. package/fesm2015/pepperi-addons-ngx-lib-address.js +1 -1
  141. package/fesm2015/pepperi-addons-ngx-lib-address.js.map +1 -1
  142. package/fesm2015/pepperi-addons-ngx-lib-attachment.js +7 -2
  143. package/fesm2015/pepperi-addons-ngx-lib-attachment.js.map +1 -1
  144. package/fesm2015/pepperi-addons-ngx-lib-bread-crumbs.js +1 -1
  145. package/fesm2015/pepperi-addons-ngx-lib-bread-crumbs.js.map +1 -1
  146. package/fesm2015/pepperi-addons-ngx-lib-button.js +1 -1
  147. package/fesm2015/pepperi-addons-ngx-lib-button.js.map +1 -1
  148. package/fesm2015/pepperi-addons-ngx-lib-checkbox.js +4 -1
  149. package/fesm2015/pepperi-addons-ngx-lib-checkbox.js.map +1 -1
  150. package/fesm2015/pepperi-addons-ngx-lib-color.js +8 -3
  151. package/fesm2015/pepperi-addons-ngx-lib-color.js.map +1 -1
  152. package/fesm2015/pepperi-addons-ngx-lib-date.js +5 -3
  153. package/fesm2015/pepperi-addons-ngx-lib-date.js.map +1 -1
  154. package/fesm2015/pepperi-addons-ngx-lib-dialog.js +1 -1
  155. package/fesm2015/pepperi-addons-ngx-lib-dialog.js.map +1 -1
  156. package/fesm2015/pepperi-addons-ngx-lib-field-title.js +1 -1
  157. package/fesm2015/pepperi-addons-ngx-lib-field-title.js.map +1 -1
  158. package/fesm2015/pepperi-addons-ngx-lib-files-uploader.js +1 -1
  159. package/fesm2015/pepperi-addons-ngx-lib-files-uploader.js.map +1 -1
  160. package/fesm2015/pepperi-addons-ngx-lib-form.js +19 -16
  161. package/fesm2015/pepperi-addons-ngx-lib-form.js.map +1 -1
  162. package/fesm2015/pepperi-addons-ngx-lib-group-buttons.js +1 -1
  163. package/fesm2015/pepperi-addons-ngx-lib-group-buttons.js.map +1 -1
  164. package/fesm2015/pepperi-addons-ngx-lib-image.js +7 -2
  165. package/fesm2015/pepperi-addons-ngx-lib-image.js.map +1 -1
  166. package/fesm2015/pepperi-addons-ngx-lib-images-filmstrip.js +7 -2
  167. package/fesm2015/pepperi-addons-ngx-lib-images-filmstrip.js.map +1 -1
  168. package/fesm2015/pepperi-addons-ngx-lib-list.js +1 -1
  169. package/fesm2015/pepperi-addons-ngx-lib-list.js.map +1 -1
  170. package/fesm2015/pepperi-addons-ngx-lib-quantity-selector.js +7 -2
  171. package/fesm2015/pepperi-addons-ngx-lib-quantity-selector.js.map +1 -1
  172. package/fesm2015/pepperi-addons-ngx-lib-query-builder.js +1014 -0
  173. package/fesm2015/pepperi-addons-ngx-lib-query-builder.js.map +1 -0
  174. package/fesm2015/pepperi-addons-ngx-lib-rich-html-textarea.js +7 -2
  175. package/fesm2015/pepperi-addons-ngx-lib-rich-html-textarea.js.map +1 -1
  176. package/fesm2015/pepperi-addons-ngx-lib-select.js +7 -2
  177. package/fesm2015/pepperi-addons-ngx-lib-select.js.map +1 -1
  178. package/fesm2015/pepperi-addons-ngx-lib-separator.js +9 -1
  179. package/fesm2015/pepperi-addons-ngx-lib-separator.js.map +1 -1
  180. package/fesm2015/pepperi-addons-ngx-lib-side-bar.js +1 -1
  181. package/fesm2015/pepperi-addons-ngx-lib-side-bar.js.map +1 -1
  182. package/fesm2015/pepperi-addons-ngx-lib-signature.js +7 -2
  183. package/fesm2015/pepperi-addons-ngx-lib-signature.js.map +1 -1
  184. package/fesm2015/pepperi-addons-ngx-lib-slider.js +1 -1
  185. package/fesm2015/pepperi-addons-ngx-lib-slider.js.map +1 -1
  186. package/fesm2015/pepperi-addons-ngx-lib-smart-filters.js +293 -36
  187. package/fesm2015/pepperi-addons-ngx-lib-smart-filters.js.map +1 -1
  188. package/fesm2015/pepperi-addons-ngx-lib-textarea.js +7 -2
  189. package/fesm2015/pepperi-addons-ngx-lib-textarea.js.map +1 -1
  190. package/fesm2015/pepperi-addons-ngx-lib-textbox.js +5 -3
  191. package/fesm2015/pepperi-addons-ngx-lib-textbox.js.map +1 -1
  192. package/fesm2015/pepperi-addons-ngx-lib-top-bar.js +1 -1
  193. package/fesm2015/pepperi-addons-ngx-lib-top-bar.js.map +1 -1
  194. package/fesm2015/pepperi-addons-ngx-lib.js +38 -30
  195. package/fesm2015/pepperi-addons-ngx-lib.js.map +1 -1
  196. package/field-title/field-title.component.theme.scss +0 -2
  197. package/field-title/pepperi-addons-ngx-lib-field-title.metadata.json +1 -1
  198. package/files-uploader/files-uploader.component.theme.scss +3 -2
  199. package/files-uploader/pepperi-addons-ngx-lib-files-uploader.metadata.json +1 -1
  200. package/form/indicators.component.theme.scss +5 -5
  201. package/form/internal-button.component.d.ts +0 -1
  202. package/form/pepperi-addons-ngx-lib-form.metadata.json +1 -1
  203. package/group-buttons/group-buttons.component.theme.scss +11 -11
  204. package/group-buttons/pepperi-addons-ngx-lib-group-buttons.metadata.json +1 -1
  205. package/image/image.component.d.ts +1 -0
  206. package/image/image.component.theme.scss +25 -27
  207. package/image/pepperi-addons-ngx-lib-image.metadata.json +1 -1
  208. package/images-filmstrip/images-filmstrip.component.d.ts +1 -0
  209. package/images-filmstrip/images-filmstrip.component.theme.scss +27 -26
  210. package/images-filmstrip/pepperi-addons-ngx-lib-images-filmstrip.metadata.json +1 -1
  211. package/list/list-total.component.theme.scss +6 -6
  212. package/list/pepperi-addons-ngx-lib-list.metadata.json +1 -1
  213. package/package.json +5 -5
  214. package/page-layout/page-layout.component.theme.scss +6 -6
  215. package/pepperi-addons-ngx-lib.metadata.json +1 -1
  216. package/quantity-selector/pepperi-addons-ngx-lib-quantity-selector.metadata.json +1 -1
  217. package/quantity-selector/quantity-selector.component.d.ts +1 -0
  218. package/quantity-selector/quantity-selector.component.theme.scss +23 -21
  219. package/query-builder/common/model/field.d.ts +8 -0
  220. package/query-builder/common/model/filter.d.ts +6 -0
  221. package/query-builder/common/model/legacy.d.ts +29 -0
  222. package/query-builder/common/model/operator-unit.d.ts +13 -0
  223. package/query-builder/common/model/operator.d.ts +21 -0
  224. package/query-builder/common/model/structure.d.ts +4 -0
  225. package/query-builder/common/model/type-map.d.ts +12 -0
  226. package/query-builder/common/model/type.d.ts +4 -0
  227. package/query-builder/common/services/output-query.service.d.ts +44 -0
  228. package/query-builder/common/services/type-convertor.service.d.ts +10 -0
  229. package/query-builder/package.json +14 -0
  230. package/query-builder/pepperi-addons-ngx-lib-query-builder.d.ts +8 -0
  231. package/query-builder/pepperi-addons-ngx-lib-query-builder.metadata.json +1 -0
  232. package/query-builder/public-api.d.ts +4 -0
  233. package/query-builder/query-builder-item/query-builder-item.component.d.ts +37 -0
  234. package/query-builder/query-builder-section/query-builder-section.component.d.ts +27 -0
  235. package/query-builder/query-builder-section/query-builder-section.component.theme.scss +7 -0
  236. package/query-builder/query-builder.component.d.ts +35 -0
  237. package/query-builder/query-builder.module.d.ts +2 -0
  238. package/query-builder/query-builder.service.d.ts +94 -0
  239. package/rich-html-textarea/pepperi-addons-ngx-lib-rich-html-textarea.metadata.json +1 -1
  240. package/rich-html-textarea/rich-html-textarea.component.d.ts +1 -0
  241. package/rich-html-textarea/rich-html-textarea.component.theme.scss +77 -70
  242. package/select/pepperi-addons-ngx-lib-select.metadata.json +1 -1
  243. package/select/select.component.d.ts +1 -0
  244. package/select/select.component.theme.scss +98 -2
  245. package/separator/pepperi-addons-ngx-lib-separator.metadata.json +1 -1
  246. package/separator/separator.component.theme.scss +1 -1
  247. package/side-bar/pepperi-addons-ngx-lib-side-bar.metadata.json +1 -1
  248. package/side-bar/side-bar.component.theme.scss +17 -16
  249. package/signature/pepperi-addons-ngx-lib-signature.metadata.json +1 -1
  250. package/signature/signature.component.d.ts +1 -0
  251. package/signature/signature.component.theme.scss +5 -21
  252. package/slider/pepperi-addons-ngx-lib-slider.metadata.json +1 -1
  253. package/slider/slider.component.theme.scss +55 -53
  254. package/smart-filters/boolean-filter/boolean-filter.component.d.ts +6 -1
  255. package/smart-filters/common/model/base-filter-component.d.ts +7 -0
  256. package/smart-filters/common/model/field.d.ts +4 -0
  257. package/smart-filters/common/model/operator.d.ts +1 -0
  258. package/smart-filters/common/model/type.d.ts +2 -2
  259. package/smart-filters/date-filter/date-filter.component.d.ts +8 -1
  260. package/smart-filters/multi-select-filter/multi-select-filter.component.d.ts +6 -0
  261. package/smart-filters/number-filter/number-filter.component.d.ts +5 -0
  262. package/smart-filters/pepperi-addons-ngx-lib-smart-filters.metadata.json +1 -1
  263. package/smart-filters/public-api.d.ts +1 -0
  264. package/smart-filters/smart-filters.component.theme.scss +6 -7
  265. package/smart-filters/text-filter/text-filter.component.d.ts +17 -0
  266. package/src/assets/i18n/en.ngx-lib.json +2 -1
  267. package/src/core/style/abstracts/breakpoints.scss +4 -2
  268. package/src/core/style/abstracts/functions.scss +233 -216
  269. package/src/core/style/abstracts/mixins.scss +191 -188
  270. package/src/core/style/base/base.scss +125 -124
  271. package/src/core/style/base/grids.scss +1 -1
  272. package/src/core/style/base/typography.scss +66 -62
  273. package/src/core/style/components/button.scss +57 -60
  274. package/src/core/style/components/checkbox.scss +41 -38
  275. package/src/core/style/components/datetime.scss +182 -22
  276. package/src/core/style/components/file.scss +28 -18
  277. package/src/core/style/components/general.scss +180 -278
  278. package/src/core/style/components/input.scss +21 -24
  279. package/src/core/style/components/quantity-selector.scss +15 -12
  280. package/src/core/style/components/radio-button.scss +22 -38
  281. package/src/core/style/components/select.scss +184 -182
  282. package/src/core/style/components/signature.scss +14 -12
  283. package/src/core/style/components/splitter.scss +58 -55
  284. package/src/core/style/components/textarea.scss +8 -9
  285. package/textarea/pepperi-addons-ngx-lib-textarea.metadata.json +1 -1
  286. package/textarea/textarea.component.d.ts +1 -0
  287. package/textarea/textarea.component.theme.scss +3 -2
  288. package/textbox/pepperi-addons-ngx-lib-textbox.metadata.json +1 -1
  289. package/textbox/textbox.component.theme.scss +1 -1
  290. package/theming.scss +50 -144
  291. package/top-bar/pepperi-addons-ngx-lib-top-bar.metadata.json +1 -1
  292. package/top-bar/top-bar.component.theme.scss +7 -7
  293. package/form/form.component.theme.scss +0 -2
  294. package/form/internal-button.component.theme.scss +0 -2
  295. package/form/internal-menu.component.theme.scss +0 -3
  296. package/list/list-actions.component.theme.scss +0 -3
  297. package/list/list-carousel.component.theme.scss +0 -9
  298. package/list/list-chooser.component.theme.scss +0 -3
  299. package/list/list-pager.component.theme.scss +0 -3
  300. package/list/list-sorting.component.theme.scss +0 -3
  301. package/list/list-views.component.theme.scss +0 -3
  302. package/list/list.component.theme.scss +0 -5
  303. package/list/list_old.component.theme.scss +0 -5
  304. package/menu/menu.component.theme.scss +0 -2
  305. package/search/search.component.theme.scss +0 -3
  306. package/textbox-icon/textbox-icon.component.theme.scss +0 -3
@@ -212,6 +212,9 @@ class PepTextboxComponent {
212
212
  : this.maxValue;
213
213
  this.setDefaultForm();
214
214
  this.renderer.addClass(this.element.nativeElement, PepCustomizationService.STAND_ALONE_FIELD_CLASS_NAME);
215
+ if (!this.renderTitle) {
216
+ this.renderer.addClass(this.element.nativeElement, PepCustomizationService.STAND_ALONE_FIELD_NO_SPACING_CLASS_NAME);
217
+ }
215
218
  }
216
219
  this.readonly = this.type === 'duration' ? true : this.readonly; // Hack until we develop Timer UI for editing Duration field
217
220
  this.updateFormFieldValue();
@@ -279,8 +282,7 @@ class PepTextboxComponent {
279
282
  }
280
283
  onChange(e) {
281
284
  const value = e.target ? e.target.value : e;
282
- // TODO: uncomment
283
- // this.valueChange.emit(value);
285
+ this.valueChange.emit(value);
284
286
  }
285
287
  onBlur(e) {
286
288
  this.isInFocus = false;
@@ -333,7 +335,7 @@ PepTextboxComponent.decorators = [
333
335
  selector: 'pep-textbox',
334
336
  template: "<ng-container [formGroup]=\"form\">\n <ng-template #pepTemplate let-isFormView=\"isFormView\" let-hasParent=\"hasParent\">\n <pep-field-title *ngIf=\"renderTitle && isFormView && !hasParent\" [label]=\"label\" [mandatory]=\"mandatory\"\n [disabled]=\"disabled\" [maxFieldCharacters]=\"maxFieldCharacters\" [xAlignment]=\"xAlignment\"\n [showTitle]=\"showTitle\" [inputLength]=\"input.value?.length\">\n </pep-field-title>\n <mat-form-field appearance=\"outline\">\n <input #input pepTextboxValidation [id]=\"key\" [name]=\"key\" class=\" body-sm \" matInput autocomplete=\"off\"\n maxlength=\"{{ maxFieldCharacters > 0 ? maxFieldCharacters : 99999 }}\"\n [placeholder]=\"hasParent && !disabled ? placeholder : ''\"\n [ngStyle]=\"{ color: textColor, 'text-align': xAlignment == 'center' ? 'center' : xAlignment == 'right' ? 'right' : 'left' }\"\n title=\"{{ formattedValue }}\" [formControlName]=\"key\" [type]=\"type\" [value]=\"displayValue\"\n (keyup.enter)=\"$event?.currentTarget?.blur()\" (focus)=\"onFocus($event)\" (blur)=\"onBlur($event)\"\n (change)=\"onChange($event)\"\n [ngClass]=\"{'disable-hidden': disabled && formattedValue?.length > 0 && (type === 'phone' || type === 'email' || type === 'link')}\" />\n\n <span\n *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 otherError\">\n </ng-container>\n <ng-template #requiredError>\n <span class=\"body-xs\" [title]=\"('MESSAGES.ERROR_IS_REQUIRED' | translate: { field: label })\"\n [innerText]=\"('MESSAGES.ERROR_IS_REQUIRED' | translate: { field: label })\">\n </span>\n </ng-template>\n <ng-template #otherError>\n <span class=\"body-xs\" [title]=\"(input.value | pepToNumber) > this.maxValue || (input.value | pepToNumber) < this.minValue ?\n ('MESSAGES.ERROR_RANGE_IS_NOT_VALID' | translate: { min: minValue, max: maxValue }) :\n ('MESSAGES.ERROR_IS_NOT_VALID' | translate: { field: label })\" [innerText]=\"(input.value | pepToNumber) > this.maxValue || (input.value | pepToNumber) < this.minValue ?\n ('MESSAGES.ERROR_RANGE_IS_NOT_VALID' | translate: { min: minValue, max: maxValue }) :\n ('MESSAGES.ERROR_IS_NOT_VALID' | translate: { field: label })\">\n </span>\n </ng-template>\n </mat-error>\n\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\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 <!-- (keyup)=\"onKeyUp($event)\" -->\n <input pepTextboxValidation [id]=\"key\" [name]=\"key\" class=\" body-sm \" matInput autocomplete=\"off\"\n [placeholder]=\"!disabled ? placeholder : ''\" title=\"{{ formattedValue }}\"\n [formControlName]=\"key\" [value]=\"value\" (blur)=\"onBlur($event)\" (change)=\"onChange($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>",
335
337
  changeDetection: ChangeDetectionStrategy.OnPush,
336
- styles: [":host{height:inherit;display:grid}:host>*{align-self:center;align-items:baseline}.disable-hidden{display:none}.dis-grid{display:grid}.multi-rows-text{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;white-space:normal!important}"]
338
+ styles: [":host{height:inherit;display:grid}:host>*{align-self:center;align-items:baseline}.disable-hidden{display:none}.dis-grid{display:grid}.multi-rows-text{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;white-space:normal!important}", ""]
337
339
  },] }
338
340
  ];
339
341
  PepTextboxComponent.ctorParameters = () => [
@@ -1 +1 @@
1
- {"version":3,"file":"pepperi-addons-ngx-lib-textbox.js","sources":["../../../projects/ngx-lib/textbox/textbox.component.ts","../../../projects/ngx-lib/textbox/textbox-validation.directive.ts","../../../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 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} from '@angular/core';\nimport { FormGroup, FormBuilder } 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} from '@pepperi-addons/ngx-lib';\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'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PepTextboxComponent implements OnChanges, OnInit, OnDestroy {\n\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\n this._value = value;\n\n if (this._calculateFormattedValue) {\n this.setFormattedValue(value);\n }\n }\n get value(): string {\n return this._value;\n }\n\n private _formattedValue = null;\n /**\n * The formatted value.\n *\n * @memberof PepTextboxComponent\n */\n @Input()\n set formattedValue(value: string) {\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 /**\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 @Input() type: PepTextboxFieldType = 'text';\n\n /**\n * If the textbox is mandatory\n *\n * @memberof PepTextboxComponent\n */\n @Input() mandatory = false;\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() 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\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 formValidationChange: 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 isInFocus: boolean;\n\n constructor(\n public fb: FormBuilder,\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 setFormattedValue(value: string) {\n if (this._calculateFormattedValue) {\n this._formattedValue = this.isNumberType()\n ? this.utilitiesService.formatNumber(value)\n : value;\n } else {\n this._formattedValue = value;\n }\n\n this.updateFormFieldValue();\n }\n\n private updateFormFieldValue() {\n this.customizationService.updateFormFieldValue(\n this.form,\n this.key,\n this.formattedValue,\n this.parentFieldKey\n );\n }\n\n get displayValue(): string {\n let res = '';\n\n if (this.type == 'link') {\n res = this.formattedValue;\n } else {\n res = this.isInFocus ? this.value : this.formattedValue;\n }\n\n return res;\n }\n\n private setDefaultForm(): void {\n const pepField = new PepTextboxField({\n key: this.key,\n value: this.value,\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 });\n this.form = this.customizationService.getDefaultFromGroup(\n pepField,\n this.renderError\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\n this.readonly = this.type === 'duration' ? true : this.readonly; // Hack until we develop Timer UI for editing Duration field\n\n this.updateFormFieldValue();\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 const eventTarget = event.target || event.srcElement;\n if (eventTarget) {\n eventTarget.select();\n }\n }, 0);\n }\n\n isNumberType(): boolean {\n return (\n this.type === 'percentage' ||\n this.type === 'currency' ||\n this.type === 'int' ||\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 const numberValue = this.utilitiesService.coerceNumberProperty(\n value\n );\n res =\n numberValue >= this.minValue &&\n numberValue <= this.maxValue;\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 const currentValue = this.utilitiesService.coerceNumberProperty(\n this.value\n );\n const newValue = this.utilitiesService.coerceNumberProperty(\n value\n );\n\n res = currentValue !== newValue;\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\n // TODO: uncomment\n // this.valueChange.emit(value);\n }\n\n onBlur(e: any): void {\n this.isInFocus = false;\n const value = e.target ? e.target.value : e;\n if (value !== this.value && this.isDifferentValue(value)) {\n // If renderError is false and the new value is not valid.\n if (!this.renderError && !this.isValueValid(value)) {\n this.renderer.setProperty(\n this.input.nativeElement,\n 'value',\n this.value\n );\n } else {\n this.value = value;\n\n // If the user is setting the formatted value then set the value till the user format it and return it back.\n if (!this._calculateFormattedValue) {\n this._formattedValue = value;\n }\n\n this.valueChange.emit(value);\n }\n }\n\n if (this.isInEditMode) {\n this.isInEditMode = false;\n }\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","import {\n Directive,\n ElementRef,\n HostListener,\n Input,\n OnInit,\n} from '@angular/core';\nimport {\n PepTextboxFieldType,\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 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 if (this.isNumber()) {\n const newValue = this.validatorService.validateNumber(\n value,\n this.isDecimal()\n );\n this.hostElement.nativeElement['value'] = newValue ? newValue : 0;\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 { 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\nexport {PepTextboxValidationDirective as ɵa} from './textbox-validation.directive';"],"names":[],"mappings":";;;;;;;;;;;;;;AA4BA;;;;;;;;;MAea,mBAAmB;IAwK5B,YACW,EAAe,EACd,oBAA6C,EAC7C,QAAmB,EACnB,OAAmB,EACnB,SAA2B,EAC3B,gBAAqC;QALtC,OAAE,GAAF,EAAE,CAAa;QACd,yBAAoB,GAApB,oBAAoB,CAAyB;QAC7C,aAAQ,GAAR,QAAQ,CAAW;QACnB,YAAO,GAAP,OAAO,CAAY;QACnB,cAAS,GAAT,SAAS,CAAkB;QAC3B,qBAAgB,GAAhB,gBAAgB,CAAqB;QA5KpB,WAAM,GAAG,EAAE,CAAC;QAEjC,SAAI,GAAG,EAAE,CAAC;QAeV,WAAM,GAAG,EAAE,CAAC;QAsBZ,oBAAe,GAAG,IAAI,CAAC;;;;;;QA2BtB,UAAK,GAAG,EAAE,CAAC;;;;;;QAOX,gBAAW,GAAG,EAAE,CAAC;;;;;;;QAQjB,SAAI,GAAwB,MAAM,CAAC;;;;;;QAOnC,cAAS,GAAG,KAAK,CAAC;;;;;;;QAQlB,aAAQ,GAAG,KAAK,CAAC;;;;;;QAOjB,aAAQ,GAAG,KAAK,CAAC;QAEjB,cAAS,GAAG,EAAE,CAAC;QACf,eAAU,GAA2B,4BAA4B,CAAC;QAClE,YAAO,GAAG,CAAC,CAAC;;QAEZ,aAAQ,GAAG,GAAG,CAAC;QACf,aAAQ,GAAG,GAAG,CAAC;QAEhB,aAAQ,GAAG,IAAI,CAAC;QAoBf,SAAI,GAAc,IAAI,CAAC;QACvB,aAAQ,GAAG,KAAK,CAAC;QACjB,cAAS,GAAG,IAAI,CAAC;QACjB,gBAAW,GAAG,IAAI,CAAC;QACnB,gBAAW,GAAG,IAAI,CAAC;QACnB,iBAAY,GAAG,IAAI,CAAC;QACpB,eAAU,GAAkB,MAAM,CAAC;QACnC,mBAAc,GAAW,IAAI,CAAC;;;;;;;QASvC,gBAAW,GAAyB,IAAI,YAAY,EAAU,CAAC;QAG/D,yBAAoB,GAA0B,IAAI,YAAY,EAAW,CAAC;QAIlE,6BAAwB,GAAG,IAAI,CAAC;QAKxC,gBAAW,GAAG,SAAS,CAAC;QAExB,eAAU,GAAG,KAAK,CAAC;QACnB,iBAAY,GAAG,KAAK,CAAC;QAWjB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;KAC1B;;;;;;IAvKD,IACI,GAAG,CAAC,KAAK;QACT,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QAClB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;KACvB;IACD,IAAI,GAAG;QACH,OAAO,IAAI,CAAC,IAAI,CAAC;KACpB;;;;;;IAQD,IACI,KAAK,CAAC,KAAa;QACnB,IAAI,CAAC,KAAK,EAAE;YACR,KAAK,GAAG,EAAE,CAAC;SACd;QAED,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QAEpB,IAAI,IAAI,CAAC,wBAAwB,EAAE;YAC/B,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;SACjC;KACJ;IACD,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,MAAM,CAAC;KACtB;;;;;;IAQD,IACI,cAAc,CAAC,KAAa;QAC5B,IAAI,CAAC,KAAK,EAAE;YACR,KAAK,GAAG,EAAE,CAAC;SACd;QAED,IAAI,IAAI,CAAC,wBAAwB,EAAE;YAC/B,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;SACzC;QAED,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;KACjC;IACD,IAAI,cAAc;QACd,OAAO,IAAI,CAAC,eAAe,CAAC;KAC/B;IAsDD,IACI,OAAO,CAAC,OAAgB;QACxB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,OAAO,EAAE;YACT,IAAI,CAAC,QAAQ,CAAC,WAAW,CACrB,IAAI,CAAC,OAAO,CAAC,aAAa,EAC1B,gBAAgB,CACnB,CAAC;SACL;aAAM;YACH,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAClB,IAAI,CAAC,OAAO,CAAC,aAAa,EAC1B,gBAAgB,CACnB,CAAC;SACL;KACJ;IACD,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,QAAQ,CAAC;KACxB;IA0BD,IAAI,uBAAuB;QACvB,OAAO,IAAI,CAAC,wBAAwB,CAAC;KACxC;IAmBO,iBAAiB,CAAC,KAAa;QACnC,IAAI,IAAI,CAAC,wBAAwB,EAAE;YAC/B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,YAAY,EAAE;kBACpC,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,KAAK,CAAC;kBACzC,KAAK,CAAC;SACf;aAAM;YACH,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;SAChC;QAED,IAAI,CAAC,oBAAoB,EAAE,CAAC;KAC/B;IAEO,oBAAoB;QACxB,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,CAC1C,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,cAAc,CACtB,CAAC;KACL;IAED,IAAI,YAAY;QACZ,IAAI,GAAG,GAAG,EAAE,CAAC;QAEb,IAAI,IAAI,CAAC,IAAI,IAAI,MAAM,EAAE;YACrB,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC;SAC7B;aAAM;YACH,GAAG,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC;SAC3D;QAED,OAAO,GAAG,CAAC;KACd;IAEO,cAAc;QAClB,MAAM,QAAQ,GAAG,IAAI,eAAe,CAAC;YACjC,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;SAC1B,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,CACrD,QAAQ,EACR,IAAI,CAAC,WAAW,CACnB,CAAC;KACL;IAED,QAAQ;QACJ,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE;YACpB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YAEvB,IAAI,CAAC,QAAQ;gBACT,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;sBACvC,CAAC;sBACD,IAAI,CAAC,QAAQ,CAAC;YACxB,IAAI,CAAC,QAAQ;gBACT,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;sBACvC,KAAK;sBACL,IAAI,CAAC,QAAQ,CAAC;YAExB,IAAI,CAAC,cAAc,EAAE,CAAC;YAEtB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAClB,IAAI,CAAC,OAAO,CAAC,aAAa,EAC1B,uBAAuB,CAAC,4BAA4B,CACvD,CAAC;SACL;QAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,KAAK,UAAU,GAAG,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;QAEhE,IAAI,CAAC,oBAAoB,EAAE,CAAC;KAC/B;IAED,WAAW,CAAC,OAAY;QACpB,IAAI,IAAI,CAAC,UAAU,EAAE;YACjB,IAAI,CAAC,cAAc,EAAE,CAAC;SACzB;QAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,KAAK,UAAU,GAAG,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;KACnE;IAED,WAAW;;KAEV;IAED,OAAO,CAAC,KAAU;QACd,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;;QAGtB,UAAU,CAAC;YACP,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC;YACrD,IAAI,WAAW,EAAE;gBACb,WAAW,CAAC,MAAM,EAAE,CAAC;aACxB;SACJ,EAAE,CAAC,CAAC,CAAC;KACT;IAED,YAAY;QACR,QACI,IAAI,CAAC,IAAI,KAAK,YAAY;YAC1B,IAAI,CAAC,IAAI,KAAK,UAAU;YACxB,IAAI,CAAC,IAAI,KAAK,KAAK;YACnB,IAAI,CAAC,IAAI,KAAK,MAAM,EACtB;KACL;IAED,YAAY,CAAC,KAAa;QACtB,IAAI,GAAG,GAAG,KAAK,CAAC;QAEhB,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE;YACrB,IAAI,KAAK,KAAK,EAAE,EAAE;gBACd,GAAG,GAAG,IAAI,CAAC,SAAS,GAAG,KAAK,GAAG,IAAI,CAAC;aACvC;iBAAM;gBACH,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAC1D,KAAK,CACR,CAAC;gBACF,GAAG;oBACC,WAAW,IAAI,IAAI,CAAC,QAAQ;wBAC5B,WAAW,IAAI,IAAI,CAAC,QAAQ,CAAC;aACpC;SACJ;aAAM;;YAEH,GAAG,GAAG,IAAI,CAAC;SACd;QAED,OAAO,GAAG,CAAC;KACd;IAED,gBAAgB,CAAC,KAAa;QAC1B,IAAI,GAAG,GAAG,KAAK,CAAC;QAEhB,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE;YACrB,IAAI,IAAI,CAAC,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,EAAE,EAAE;gBACnC,GAAG,GAAG,IAAI,CAAC;aACd;iBAAM;gBACH,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAC3D,IAAI,CAAC,KAAK,CACb,CAAC;gBACF,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CACvD,KAAK,CACR,CAAC;gBAEF,GAAG,GAAG,YAAY,KAAK,QAAQ,CAAC;aACnC;SACJ;aAAM;YACH,GAAG,GAAG,IAAI,CAAC;SACd;QAED,OAAO,GAAG,CAAC;KACd;IAED,QAAQ,CAAC,CAAM;QACX,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;;;KAI/C;IAED,MAAM,CAAC,CAAM;QACT,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;QAC5C,IAAI,KAAK,KAAK,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE;;YAEtD,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE;gBAChD,IAAI,CAAC,QAAQ,CAAC,WAAW,CACrB,IAAI,CAAC,KAAK,CAAC,aAAa,EACxB,OAAO,EACP,IAAI,CAAC,KAAK,CACb,CAAC;aACL;iBAAM;gBACH,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;;gBAGnB,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE;oBAChC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;iBAChC;gBAED,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAChC;SACJ;QAED,IAAI,IAAI,CAAC,YAAY,EAAE;YACnB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;SAC7B;KACJ;IAED,aAAa;QACT,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC;QAChC,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE;YAChC,QAAQ,IAAI,CAAC,IAAI;gBACb,KAAK,OAAO;oBACR,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,YAAY,EAAE,OAAO,CAAC,CAAC;oBAC/C,MAAM;gBACV,KAAK,OAAO;oBACR,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,YAAY,EAAE,KAAK,CAAC,CAAC;oBAC1C,MAAM;gBACV,KAAK,MAAM;oBACP,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;oBAC1B,MAAM;gBACV;oBACI,MAAM;aACb;SACJ;KACJ;IAED,mBAAmB,CAAC,KAAU;QAC1B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAEzB,UAAU,CAAC;YACP,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;SACpC,EAAE,CAAC,CAAC,CAAC;KACT;;;YAhZJ,SAAS,SAAC;gBACP,QAAQ,EAAE,aAAa;gBACvB,ihQAAuC;gBAEvC,eAAe,EAAE,uBAAuB,CAAC,MAAM;;aAClD;;;YA3BmB,WAAW;YAI3B,uBAAuB;YATvB,SAAS;YAFT,UAAU;YAQL,gBAAgB;YASrB,mBAAmB;;;qBAoBlB,WAAW,SAAC,cAAc;kBAQ1B,KAAK;oBAeL,KAAK;6BAsBL,KAAK;oBAqBL,KAAK;0BAOL,KAAK;mBAQL,KAAK;wBAOL,KAAK;uBAQL,KAAK;uBAOL,KAAK;iCACL,KAAK;wBACL,KAAK;yBACL,KAAK;sBACL,KAAK;uBAEL,KAAK;uBACL,KAAK;sBAGL,KAAK;mBAmBL,KAAK;uBACL,KAAK;wBACL,KAAK;0BACL,KAAK;0BACL,KAAK;2BACL,KAAK;yBACL,KAAK;6BACL,KAAK;0BAQL,MAAM;mCAGN,MAAM;oBAGN,SAAS,SAAC,OAAO;;;MCvLT,6BAA6B;IAKtC,YACY,WAAuB,EACvB,gBAAqC;QADrC,gBAAW,GAAX,WAAW,CAAY;QACvB,qBAAgB,GAAhB,gBAAgB,CAAqB;QANxC,SAAI,GAAwB,MAAM,CAAC;QAE5C,kBAAa,GAAG,EAAE,CAAC;KAKf;IAEJ,QAAQ;;KAEP;IAEO,QAAQ;QACZ,OAAO,IAAI,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;KAC/C;IAEO,SAAS;QACb,OAAO,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC;KAC9B;IAEO,SAAS;QACb,QACI,IAAI,CAAC,IAAI,KAAK,UAAU;YACxB,IAAI,CAAC,IAAI,KAAK,YAAY;YAC1B,IAAI,CAAC,IAAI,KAAK,MAAM,EACtB;KACL;IAEO,OAAO;QACX,OAAO,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC;KAChC;IAEO,MAAM;QACV,QACI,IAAI,CAAC,IAAI,KAAK,OAAO;YACrB,IAAI,CAAC,IAAI,KAAK,MAAM;YACpB,IAAI,CAAC,IAAI,KAAK,MAAM,EACtB;KACL;IAGD,QAAQ,CAAC,CAAC;QACN,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;KAC5D;IAGD,SAAS,CAAC,CAAgB;QACtB,MAAM,aAAa,GAAW,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAEhD,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;;YAEjB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;YACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAC3C,CAAC,EACD,IAAI,CAAC,SAAS,EAAE,CACnB,CAAC;YAEF,IAAI,QAAQ;gBAAE,OAAO;;gBAChB,CAAC,CAAC,cAAc,EAAE,CAAC;SAC3B;aAAM,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;YACvB,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACjD,IAAI,OAAO;gBAAE,OAAO;;gBACf,CAAC,CAAC,cAAc,EAAE,CAAC;SAC3B;KACJ;IAED,aAAa,CAAC,KAAa;QACvB,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;YACjB,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,cAAc,CACjD,KAAK,EACL,IAAI,CAAC,SAAS,EAAE,CACnB,CAAC;YACF,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,QAAQ,GAAG,QAAQ,GAAG,CAAC,CAAC;SACrE;aAAM,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;;;YAGvB,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YACzD,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,KAAK;kBACzC,KAAK;kBACL,IAAI,CAAC,aAAa,CAAC;SAC5B;aAAM,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE;YACtB,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;SACnD;KACJ;;;YAxFJ,SAAS,SAAC;gBACP,QAAQ,EAAE,wBAAwB;aACrC;;;YAZG,UAAU;YAOV,mBAAmB;;;mBAOlB,KAAK;uBAyCL,YAAY,SAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC;wBAKjC,YAAY,SAAC,SAAS,EAAE,CAAC,QAAQ,CAAC;;;MCrB1B,gBAAgB;IACzB,YAAoB,eAAgC;QAAhC,oBAAe,GAAf,eAAe,CAAiB;QAChD,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC;KAC3D;;;YAtBJ,QAAQ,SAAC;gBACN,OAAO,EAAE;oBACL,YAAY;oBACZ,mBAAmB;;oBAEnB,eAAe;oBACf,eAAe;oBACf,kBAAkB;oBAClB,cAAc;oBACd,aAAa;;oBAEb,eAAe;oBACf,aAAa;oBACb,mBAAmB;oBACnB,oBAAoB;iBACvB;gBACD,OAAO,EAAE,CAAC,mBAAmB,CAAC;gBAC9B,YAAY,EAAE,CAAC,mBAAmB,EAAE,6BAA6B,CAAC;aACrE;;;YA3BG,eAAe;;;ACbnB;;;;ACAA;;;;;;"}
1
+ {"version":3,"file":"pepperi-addons-ngx-lib-textbox.js","sources":["../../../projects/ngx-lib/textbox/textbox.component.ts","../../../projects/ngx-lib/textbox/textbox-validation.directive.ts","../../../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 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} from '@angular/core';\nimport { FormGroup, FormBuilder } 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} from '@pepperi-addons/ngx-lib';\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, OnDestroy {\n\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\n this._value = value;\n\n if (this._calculateFormattedValue) {\n this.setFormattedValue(value);\n }\n }\n get value(): string {\n return this._value;\n }\n\n private _formattedValue = null;\n /**\n * The formatted value.\n *\n * @memberof PepTextboxComponent\n */\n @Input()\n set formattedValue(value: string) {\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 /**\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 @Input() type: PepTextboxFieldType = 'text';\n\n /**\n * If the textbox is mandatory\n *\n * @memberof PepTextboxComponent\n */\n @Input() mandatory = false;\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() 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\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 formValidationChange: 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 isInFocus: boolean;\n\n constructor(\n public fb: FormBuilder,\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 setFormattedValue(value: string) {\n if (this._calculateFormattedValue) {\n this._formattedValue = this.isNumberType()\n ? this.utilitiesService.formatNumber(value)\n : value;\n } else {\n this._formattedValue = value;\n }\n\n this.updateFormFieldValue();\n }\n\n private updateFormFieldValue() {\n this.customizationService.updateFormFieldValue(\n this.form,\n this.key,\n this.formattedValue,\n this.parentFieldKey\n );\n }\n\n get displayValue(): string {\n let res = '';\n\n if (this.type == 'link') {\n res = this.formattedValue;\n } else {\n res = this.isInFocus ? this.value : this.formattedValue;\n }\n\n return res;\n }\n\n private setDefaultForm(): void {\n const pepField = new PepTextboxField({\n key: this.key,\n value: this.value,\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 });\n this.form = this.customizationService.getDefaultFromGroup(\n pepField,\n this.renderError\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\n this.readonly = this.type === 'duration' ? true : this.readonly; // Hack until we develop Timer UI for editing Duration field\n\n this.updateFormFieldValue();\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 const eventTarget = event.target || event.srcElement;\n if (eventTarget) {\n eventTarget.select();\n }\n }, 0);\n }\n\n isNumberType(): boolean {\n return (\n this.type === 'percentage' ||\n this.type === 'currency' ||\n this.type === 'int' ||\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 const numberValue = this.utilitiesService.coerceNumberProperty(\n value\n );\n res =\n numberValue >= this.minValue &&\n numberValue <= this.maxValue;\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 const currentValue = this.utilitiesService.coerceNumberProperty(\n this.value\n );\n const newValue = this.utilitiesService.coerceNumberProperty(\n value\n );\n\n res = currentValue !== newValue;\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\n this.valueChange.emit(value);\n }\n\n onBlur(e: any): void {\n this.isInFocus = false;\n const value = e.target ? e.target.value : e;\n if (value !== this.value && this.isDifferentValue(value)) {\n // If renderError is false and the new value is not valid.\n if (!this.renderError && !this.isValueValid(value)) {\n this.renderer.setProperty(\n this.input.nativeElement,\n 'value',\n this.value\n );\n } else {\n this.value = value;\n\n // If the user is setting the formatted value then set the value till the user format it and return it back.\n if (!this._calculateFormattedValue) {\n this._formattedValue = value;\n }\n\n this.valueChange.emit(value);\n }\n }\n\n if (this.isInEditMode) {\n this.isInEditMode = false;\n }\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","import {\n Directive,\n ElementRef,\n HostListener,\n Input,\n OnInit,\n} from '@angular/core';\nimport {\n PepTextboxFieldType,\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 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 if (this.isNumber()) {\n const newValue = this.validatorService.validateNumber(\n value,\n this.isDecimal()\n );\n this.hostElement.nativeElement['value'] = newValue ? newValue : 0;\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 { 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\nexport {PepTextboxValidationDirective as ɵa} from './textbox-validation.directive';"],"names":[],"mappings":"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"}
@@ -81,7 +81,7 @@ PepTopBarComponent.decorators = [
81
81
  { type: Component, args: [{
82
82
  selector: 'pep-top-bar',
83
83
  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 {{ inline ? 'title-md' : 'title-lg' }}\">\n <span [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>",
84
- styles: [".pep-top-bar-container{display:grid;height:calc(1.5rem + .5rem + 2.5rem);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 .header-content{height:calc(.5rem + 2.5rem);height:calc(var(--pep-top-bar-spacing-bottom, .5rem) + var(--pep-top-bar-field-height, 2.5rem));margin-top:1.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:4.5rem;height:var(--pep-footer-bar-height,4.5rem)}.pep-top-bar-container .footer .content{display:flex;justify-content:space-between;margin-inline:calc(1rem * 2);margin-inline:calc(var(--pep-spacing-lg, 1rem) * 2);padding-top:.75rem;padding-top:var(--pep-footer-bar-spacing-top,.75rem)}@media (max-width:599px){.pep-top-bar-container .footer .content{margin-inline:1rem;margin-inline:var(--pep-spacing-lg,1rem)}}.pep-top-bar-container .left-container{display:flex;align-items:center}.pep-top-bar-container .right-container{display:flex;justify-content:flex-end;align-items:center}.pep-top-bar-container .flex-wrapper ::ng-deep>*{display:flex}.pep-top-bar-container .list-actions-wrapper ::ng-deep.pep-button{margin-right:.25rem;margin-right:var(--pep-spacing-xs,.25rem);margin-left:.25rem;margin-left:var(--pep-spacing-xs,.25rem)}.pep-top-bar-container:not(.inline) .pep-button,.pep-top-bar-container:not(.inline) .pepperi-button,.pep-top-bar-container:not(.inline) ::ng-deep .pep-button,.pep-top-bar-container:not(.inline) ::ng-deep .pepperi-button{height:2.5rem;height:var(--pep-top-bar-field-height,2.5rem);line-height:2.5rem;line-height:var(--pep-top-bar-field-height,2.5rem)}.pep-top-bar-container.inline{position:inherit;height:calc(.5rem + 2.5rem);height:calc(var(--pep-top-bar-spacing-bottom, .5rem) + var(--pep-top-bar-field-height, 2.5rem));width:100%}.pep-top-bar-container.inline .header-content{margin-top:0;height:2.5rem;height:var(--pep-top-bar-field-height,2.5rem);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}"]
84
+ styles: [".pep-top-bar-container{display:grid;height:calc(1.5rem + .5rem + 2.5rem);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 .header-content{height:calc(.5rem + 2.5rem);height:calc(var(--pep-top-bar-spacing-bottom, .5rem) + var(--pep-top-bar-field-height, 2.5rem));margin-top:1.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:4.5rem;height:var(--pep-footer-bar-height,4.5rem)}.pep-top-bar-container .footer .content{display:flex;justify-content:space-between;margin-inline:calc(1rem * 2);margin-inline:calc(var(--pep-spacing-lg, 1rem) * 2);padding-top:.75rem;padding-top:var(--pep-footer-bar-spacing-top,.75rem)}@media (max-width:599px){.pep-top-bar-container .footer .content{margin-inline:1rem;margin-inline:var(--pep-spacing-lg,1rem)}}.pep-top-bar-container .left-container{display:flex;align-items:center}.pep-top-bar-container .right-container{display:flex;justify-content:flex-end;align-items:center}.pep-top-bar-container .flex-wrapper ::ng-deep>*{display:flex}.pep-top-bar-container .list-actions-wrapper ::ng-deep.pep-button{margin-right:.25rem;margin-right:var(--pep-spacing-xs,.25rem);margin-left:.25rem;margin-left:var(--pep-spacing-xs,.25rem)}.pep-top-bar-container:not(.inline) .pep-button,.pep-top-bar-container:not(.inline) .pepperi-button,.pep-top-bar-container:not(.inline) ::ng-deep .pep-button,.pep-top-bar-container:not(.inline) ::ng-deep .pepperi-button{height:2.5rem;height:var(--pep-top-bar-field-height,2.5rem);line-height:2.5rem;line-height:var(--pep-top-bar-field-height,2.5rem)}.pep-top-bar-container.inline{position:inherit;height:calc(.5rem + 2.5rem);height:calc(var(--pep-top-bar-spacing-bottom, .5rem) + var(--pep-top-bar-field-height, 2.5rem));width:100%}.pep-top-bar-container.inline .header-content{margin-top:0;height:2.5rem;height:var(--pep-top-bar-field-height,2.5rem);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}", ".pep-top-bar-container{background:#fff;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:#fff;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%))}"]
85
85
  },] }
86
86
  ];
87
87
  PepTopBarComponent.ctorParameters = () => [
@@ -1 +1 @@
1
- {"version":3,"file":"pepperi-addons-ngx-lib-top-bar.js","sources":["../../../projects/ngx-lib/top-bar/top-bar.component.ts","../../../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'],\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","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":[],"mappings":"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"}
1
+ {"version":3,"file":"pepperi-addons-ngx-lib-top-bar.js","sources":["../../../projects/ngx-lib/top-bar/top-bar.component.ts","../../../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","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":[],"mappings":"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"}
@@ -658,9 +658,6 @@ class PepUtilitiesService {
658
658
  retVal = new Date(year, month, day, 0, retVal.getTimezoneOffset() * -1);
659
659
  }
660
660
  }
661
- else {
662
- retVal = new Date(retVal.getFullYear(), retVal.getMonth(), retVal.getDay(), retVal.getHours(), retVal.getMinutes() + retVal.getTimezoneOffset() * -1, retVal.getSeconds());
663
- }
664
661
  }
665
662
  if (retVal && isNaN(retVal.getTime())) {
666
663
  retVal = null;
@@ -681,6 +678,30 @@ class PepUtilitiesService {
681
678
  else {
682
679
  return '';
683
680
  }
681
+ // if (date) {
682
+ // const dateText = [];
683
+ // dateText.push(
684
+ // date.getFullYear(),
685
+ // '-',
686
+ // date.getMonth() + 1,
687
+ // '-',
688
+ // date.getDate()
689
+ // );
690
+ // if (showTime) {
691
+ // dateText.push(
692
+ // 'T',
693
+ // (date.getHours() < 10 ? '0' : '') + date.getHours(),
694
+ // ':',
695
+ // (date.getMinutes() < 10 ? '0' : '') + date.getMinutes(),
696
+ // ':',
697
+ // (date.getSeconds() < 10 ? '0' : '') + date.getSeconds(),
698
+ // 'Z'
699
+ // );
700
+ // }
701
+ // return dateText.join('');
702
+ // } else {
703
+ // return '';
704
+ // }
684
705
  }
685
706
  isValueHtml(value) {
686
707
  let res = false;
@@ -1755,18 +1776,18 @@ class PepFileService {
1755
1776
  const blob = new Blob(byteArrays, { type: contentType });
1756
1777
  return blob;
1757
1778
  }
1758
- getAssetsPath(assetsDomain = '', libName = 'ngx-lib') {
1779
+ getAssetsPath(assetsDomain = '') {
1759
1780
  const concatChar = assetsDomain === '' || assetsDomain.endsWith('/') ? '' : '/';
1760
- return `${assetsDomain}${concatChar}assets/${libName}/`;
1781
+ return `${assetsDomain}${concatChar}assets/ngx-lib/`;
1761
1782
  }
1762
- getAssetsTranslationsSuffix(libName = 'ngx-lib') {
1763
- return `.${libName}.json`;
1783
+ getAssetsTranslationsSuffix() {
1784
+ return '.ngx-lib.json';
1764
1785
  }
1765
- getAssetsTranslationsPath(assetsDomain = '', libName = 'ngx-lib') {
1766
- return `${this.getAssetsPath(assetsDomain, libName)}i18n/`;
1786
+ getAssetsTranslationsPath(assetsDomain = '') {
1787
+ return `${this.getAssetsPath(assetsDomain)}i18n/`;
1767
1788
  }
1768
- getAssetsImagesPath(assetsDomain = '', image = '', libName = 'ngx-lib') {
1769
- return `${this.getAssetsPath(assetsDomain, libName)}images/${image}`;
1789
+ getAssetsImagesPath(assetsDomain = '', image = '') {
1790
+ return `${this.getAssetsPath(assetsDomain)}images/${image}`;
1770
1791
  }
1771
1792
  getSvgAsImageSrc(svg) {
1772
1793
  const blob = new Blob([svg], { type: 'image/svg+xml' });
@@ -2174,10 +2195,10 @@ class PepAddonService {
2174
2195
  this.loaderService.hide();
2175
2196
  });
2176
2197
  }
2177
- getNgxLibTranslationResource(subAddonUUID = '', libName = 'ngx-lib') {
2198
+ getNgxLibTranslationResource(subAddonUUID = '') {
2178
2199
  const addonStaticFolder = this.getAddonStaticFolder(subAddonUUID);
2179
- const translationsPath = this.fileService.getAssetsTranslationsPath(addonStaticFolder, libName);
2180
- const translationsSuffix = this.fileService.getAssetsTranslationsSuffix(libName);
2200
+ const translationsPath = this.fileService.getAssetsTranslationsPath(addonStaticFolder);
2201
+ const translationsSuffix = this.fileService.getAssetsTranslationsSuffix();
2181
2202
  return {
2182
2203
  prefix: translationsPath,
2183
2204
  suffix: translationsSuffix,
@@ -2194,7 +2215,6 @@ class PepAddonService {
2194
2215
  setDefaultTranslateLang(translate, urlLangParam = 'userLang') {
2195
2216
  this.translateService.setDefaultTranslateLang(translate, urlLangParam);
2196
2217
  }
2197
- // Deprecated need to delete in next major.
2198
2218
  static createDefaultMultiTranslateLoader(http, fileService, addonService, subAddonUUID = '') {
2199
2219
  const ngxLibTranslationResource = addonService.getNgxLibTranslationResource(subAddonUUID);
2200
2220
  const addonTranslationResource = addonService.getAddonTranslationResource(subAddonUUID);
@@ -2203,20 +2223,6 @@ class PepAddonService {
2203
2223
  addonTranslationResource
2204
2224
  ]);
2205
2225
  }
2206
- static createMultiTranslateLoader(addonService, libsName = ['ngx-lib'], subAddonUUID = '') {
2207
- const ngxLibTranslationResources = [];
2208
- if ((libsName === null || libsName === void 0 ? void 0 : libsName.length) > 0) {
2209
- for (let index = 0; index < libsName.length; index++) {
2210
- const libName = libsName[index];
2211
- ngxLibTranslationResources.push(addonService.getNgxLibTranslationResource(subAddonUUID, libName));
2212
- }
2213
- }
2214
- const addonTranslationResource = addonService.getAddonTranslationResource(subAddonUUID);
2215
- return addonService.translateService.createMultiTranslateLoader([
2216
- ...ngxLibTranslationResources,
2217
- addonTranslationResource
2218
- ]);
2219
- }
2220
2226
  }
2221
2227
  PepAddonService.ɵprov = i0.ɵɵdefineInjectable({ factory: function PepAddonService_Factory() { return new PepAddonService(i0.ɵɵinject(PepSessionService), i0.ɵɵinject(PepHttpService), i0.ɵɵinject(PepLoaderService), i0.ɵɵinject(PepTranslateService), i0.ɵɵinject(PepFileService)); }, token: PepAddonService, providedIn: "root" });
2222
2228
  PepAddonService.decorators = [
@@ -3308,13 +3314,14 @@ class PepCustomizationService {
3308
3314
  return this.fb.group(group);
3309
3315
  }
3310
3316
  getFormControl(form, fieldKey, parentFieldKey = null) {
3317
+ var _a;
3311
3318
  let formControl = null;
3312
3319
  if (form && form.controls) {
3313
3320
  if (parentFieldKey === null) {
3314
3321
  formControl = form.controls[fieldKey];
3315
3322
  }
3316
3323
  else {
3317
- formControl = form.controls[parentFieldKey].get(fieldKey);
3324
+ formControl = (_a = form.controls[parentFieldKey]) === null || _a === void 0 ? void 0 : _a.get(fieldKey);
3318
3325
  }
3319
3326
  }
3320
3327
  return formControl;
@@ -3931,6 +3938,7 @@ class PepCustomizationService {
3931
3938
  }
3932
3939
  }
3933
3940
  PepCustomizationService.STAND_ALONE_FIELD_CLASS_NAME = 'pep-field';
3941
+ PepCustomizationService.STAND_ALONE_FIELD_NO_SPACING_CLASS_NAME = 'pep-field-no-spacing';
3934
3942
  PepCustomizationService.REM_STRING = 'rem';
3935
3943
  PepCustomizationService.PX_STRING = 'px';
3936
3944
  PepCustomizationService.USER_THEME = 'user_theme';