@pepperi-addons/ngx-lib 0.2.59-query-builder.7 → 0.2.61

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 (521) hide show
  1. package/README.md +39 -39
  2. package/address/address.component.theme.scss +8 -8
  3. package/address/pepperi-addons-ngx-lib-address.metadata.json +1 -1
  4. package/attachment/attachment.component.d.ts +0 -1
  5. package/attachment/attachment.component.theme.scss +3 -3
  6. package/attachment/pepperi-addons-ngx-lib-attachment.metadata.json +1 -1
  7. package/bread-crumbs/bread-crumbs.component.theme.scss +8 -8
  8. package/bread-crumbs/pepperi-addons-ngx-lib-bread-crumbs.metadata.json +1 -1
  9. package/bundles/pepperi-addons-ngx-lib-address.umd.js +1 -1
  10. package/bundles/pepperi-addons-ngx-lib-address.umd.js.map +1 -1
  11. package/bundles/pepperi-addons-ngx-lib-attachment.umd.js +1 -6
  12. package/bundles/pepperi-addons-ngx-lib-attachment.umd.js.map +1 -1
  13. package/bundles/pepperi-addons-ngx-lib-bread-crumbs.umd.js +1 -1
  14. package/bundles/pepperi-addons-ngx-lib-bread-crumbs.umd.js.map +1 -1
  15. package/bundles/pepperi-addons-ngx-lib-button.umd.js +1 -1
  16. package/bundles/pepperi-addons-ngx-lib-button.umd.js.map +1 -1
  17. package/bundles/pepperi-addons-ngx-lib-carousel.umd.js.map +1 -1
  18. package/bundles/pepperi-addons-ngx-lib-checkbox.umd.js +1 -4
  19. package/bundles/pepperi-addons-ngx-lib-checkbox.umd.js.map +1 -1
  20. package/bundles/pepperi-addons-ngx-lib-color.umd.js +2 -7
  21. package/bundles/pepperi-addons-ngx-lib-color.umd.js.map +1 -1
  22. package/bundles/pepperi-addons-ngx-lib-date.umd.js +3 -5
  23. package/bundles/pepperi-addons-ngx-lib-date.umd.js.map +1 -1
  24. package/bundles/pepperi-addons-ngx-lib-dialog.umd.js +2 -2
  25. package/bundles/pepperi-addons-ngx-lib-dialog.umd.js.map +1 -1
  26. package/bundles/pepperi-addons-ngx-lib-field-title.umd.js +1 -1
  27. package/bundles/pepperi-addons-ngx-lib-field-title.umd.js.map +1 -1
  28. package/bundles/pepperi-addons-ngx-lib-files-uploader.umd.js +1 -1
  29. package/bundles/pepperi-addons-ngx-lib-files-uploader.umd.js.map +1 -1
  30. package/bundles/pepperi-addons-ngx-lib-form.umd.js +23 -26
  31. package/bundles/pepperi-addons-ngx-lib-form.umd.js.map +1 -1
  32. package/bundles/pepperi-addons-ngx-lib-group-buttons.umd.js +1 -1
  33. package/bundles/pepperi-addons-ngx-lib-group-buttons.umd.js.map +1 -1
  34. package/bundles/pepperi-addons-ngx-lib-icon.umd.js.map +1 -1
  35. package/bundles/pepperi-addons-ngx-lib-image.umd.js +1 -6
  36. package/bundles/pepperi-addons-ngx-lib-image.umd.js.map +1 -1
  37. package/bundles/pepperi-addons-ngx-lib-images-filmstrip.umd.js +1 -6
  38. package/bundles/pepperi-addons-ngx-lib-images-filmstrip.umd.js.map +1 -1
  39. package/bundles/pepperi-addons-ngx-lib-list.umd.js +8 -8
  40. package/bundles/pepperi-addons-ngx-lib-list.umd.js.map +1 -1
  41. package/bundles/pepperi-addons-ngx-lib-menu.umd.js +2 -2
  42. package/bundles/pepperi-addons-ngx-lib-menu.umd.js.map +1 -1
  43. package/bundles/pepperi-addons-ngx-lib-page-layout.umd.js +1 -1
  44. package/bundles/pepperi-addons-ngx-lib-page-layout.umd.js.map +1 -1
  45. package/bundles/pepperi-addons-ngx-lib-quantity-selector.umd.js +1 -6
  46. package/bundles/pepperi-addons-ngx-lib-quantity-selector.umd.js.map +1 -1
  47. package/bundles/pepperi-addons-ngx-lib-rich-html-textarea.umd.js +1 -6
  48. package/bundles/pepperi-addons-ngx-lib-rich-html-textarea.umd.js.map +1 -1
  49. package/bundles/pepperi-addons-ngx-lib-search.umd.js +1 -1
  50. package/bundles/pepperi-addons-ngx-lib-search.umd.js.map +1 -1
  51. package/bundles/pepperi-addons-ngx-lib-select.umd.js +1 -6
  52. package/bundles/pepperi-addons-ngx-lib-select.umd.js.map +1 -1
  53. package/bundles/pepperi-addons-ngx-lib-separator.umd.js +1 -9
  54. package/bundles/pepperi-addons-ngx-lib-separator.umd.js.map +1 -1
  55. package/bundles/pepperi-addons-ngx-lib-side-bar.umd.js +1 -1
  56. package/bundles/pepperi-addons-ngx-lib-side-bar.umd.js.map +1 -1
  57. package/bundles/pepperi-addons-ngx-lib-signature.umd.js +1 -6
  58. package/bundles/pepperi-addons-ngx-lib-signature.umd.js.map +1 -1
  59. package/bundles/pepperi-addons-ngx-lib-size-detector.umd.js +1 -1
  60. package/bundles/pepperi-addons-ngx-lib-size-detector.umd.js.map +1 -1
  61. package/bundles/pepperi-addons-ngx-lib-slider.umd.js +1 -1
  62. package/bundles/pepperi-addons-ngx-lib-slider.umd.js.map +1 -1
  63. package/bundles/pepperi-addons-ngx-lib-smart-filters.umd.js +40 -307
  64. package/bundles/pepperi-addons-ngx-lib-smart-filters.umd.js.map +1 -1
  65. package/bundles/pepperi-addons-ngx-lib-textarea.umd.js +1 -6
  66. package/bundles/pepperi-addons-ngx-lib-textarea.umd.js.map +1 -1
  67. package/bundles/pepperi-addons-ngx-lib-textbox-icon.umd.js +1 -1
  68. package/bundles/pepperi-addons-ngx-lib-textbox-icon.umd.js.map +1 -1
  69. package/bundles/pepperi-addons-ngx-lib-textbox.umd.js +3 -5
  70. package/bundles/pepperi-addons-ngx-lib-textbox.umd.js.map +1 -1
  71. package/bundles/pepperi-addons-ngx-lib-top-bar.umd.js +1 -1
  72. package/bundles/pepperi-addons-ngx-lib-top-bar.umd.js.map +1 -1
  73. package/bundles/pepperi-addons-ngx-lib.umd.js +36 -38
  74. package/bundles/pepperi-addons-ngx-lib.umd.js.map +1 -1
  75. package/button/button.component.theme.scss +2 -2
  76. package/button/pepperi-addons-ngx-lib-button.metadata.json +1 -1
  77. package/checkbox/checkbox.component.theme.scss +2 -2
  78. package/checkbox/pepperi-addons-ngx-lib-checkbox.metadata.json +1 -1
  79. package/color/color-picker.component.theme.scss +175 -175
  80. package/color/color.component.d.ts +0 -1
  81. package/color/color.component.theme.scss +7 -7
  82. package/color/pepperi-addons-ngx-lib-color.metadata.json +1 -1
  83. package/core/common/services/addon.service.d.ts +2 -1
  84. package/core/common/services/file.service.d.ts +4 -4
  85. package/core/customization/customization.service.d.ts +0 -1
  86. package/date/date.component.theme.scss +169 -169
  87. package/date/pepperi-addons-ngx-lib-date.metadata.json +1 -1
  88. package/dialog/dialog.component.theme.scss +5 -5
  89. package/dialog/pepperi-addons-ngx-lib-dialog.metadata.json +1 -1
  90. package/esm2015/address/address.component.js +2 -2
  91. package/esm2015/address/address.module.js +1 -1
  92. package/esm2015/address/public-api.js +1 -1
  93. package/esm2015/attachment/attachment.component.js +2 -7
  94. package/esm2015/attachment/attachment.module.js +1 -1
  95. package/esm2015/attachment/public-api.js +1 -1
  96. package/esm2015/bread-crumbs/bread-crumbs.component.js +2 -2
  97. package/esm2015/bread-crumbs/bread-crumbs.model.js +1 -1
  98. package/esm2015/bread-crumbs/bread-crumbs.module.js +1 -1
  99. package/esm2015/bread-crumbs/public-api.js +1 -1
  100. package/esm2015/button/button.component.js +2 -2
  101. package/esm2015/button/button.model.js +1 -1
  102. package/esm2015/button/button.module.js +1 -1
  103. package/esm2015/button/public-api.js +1 -1
  104. package/esm2015/carousel/carousel-item.directive.js +1 -1
  105. package/esm2015/carousel/carousel.component.js +15 -15
  106. package/esm2015/carousel/carousel.module.js +1 -1
  107. package/esm2015/carousel/public-api.js +1 -1
  108. package/esm2015/checkbox/checkbox.component.js +2 -5
  109. package/esm2015/checkbox/checkbox.module.js +1 -1
  110. package/esm2015/checkbox/public-api.js +1 -1
  111. package/esm2015/color/color-picker.component.js +28 -28
  112. package/esm2015/color/color.component.js +2 -7
  113. package/esm2015/color/color.model.js +1 -1
  114. package/esm2015/color/color.module.js +1 -1
  115. package/esm2015/color/public-api.js +1 -1
  116. package/esm2015/core/clipboard/clipboard.directive.js +1 -1
  117. package/esm2015/core/clipboard/clipboard.service.js +1 -1
  118. package/esm2015/core/clipboard/index.js +1 -1
  119. package/esm2015/core/clipboard/public-api.js +1 -1
  120. package/esm2015/core/common/directives/auto-width.directive.js +1 -1
  121. package/esm2015/core/common/directives/button-blur.directive.js +1 -1
  122. package/esm2015/core/common/directives/button-loader.directive.js +1 -1
  123. package/esm2015/core/common/directives/data-qa.directive.js +1 -1
  124. package/esm2015/core/common/directives/index.js +1 -1
  125. package/esm2015/core/common/directives/menu-blur.directive.js +1 -1
  126. package/esm2015/core/common/directives/prevent-multi-click.directive.js +1 -1
  127. package/esm2015/core/common/directives/public-api.js +1 -1
  128. package/esm2015/core/common/index.js +1 -1
  129. package/esm2015/core/common/model/index.js +1 -1
  130. package/esm2015/core/common/model/papi.model.js +1 -1
  131. package/esm2015/core/common/model/public-api.js +1 -1
  132. package/esm2015/core/common/model/utilities.model.js +1 -1
  133. package/esm2015/core/common/model/wapi.model.js +1 -1
  134. package/esm2015/core/common/pipes/common-pipes.js +1 -1
  135. package/esm2015/core/common/pipes/index.js +1 -1
  136. package/esm2015/core/common/pipes/public-api.js +1 -1
  137. package/esm2015/core/common/public-api.js +1 -1
  138. package/esm2015/core/common/services/addon.service.js +19 -4
  139. package/esm2015/core/common/services/color.service.js +1 -1
  140. package/esm2015/core/common/services/cookie.service.js +1 -1
  141. package/esm2015/core/common/services/data-convertor.service.js +1 -1
  142. package/esm2015/core/common/services/file.service.js +9 -9
  143. package/esm2015/core/common/services/index.js +1 -1
  144. package/esm2015/core/common/services/jwt-helper.service.js +1 -1
  145. package/esm2015/core/common/services/public-api.js +1 -1
  146. package/esm2015/core/common/services/session.service.js +1 -1
  147. package/esm2015/core/common/services/utilities.service.js +4 -25
  148. package/esm2015/core/common/services/validator.service.js +1 -1
  149. package/esm2015/core/common/services/window-scrolling.service.js +5 -5
  150. package/esm2015/core/customization/customization.model.js +1 -1
  151. package/esm2015/core/customization/customization.service.js +2 -4
  152. package/esm2015/core/customization/index.js +1 -1
  153. package/esm2015/core/customization/public-api.js +1 -1
  154. package/esm2015/core/http/index.js +1 -1
  155. package/esm2015/core/http/interceptors/error.interceptor.js +1 -1
  156. package/esm2015/core/http/interceptors/index.js +1 -1
  157. package/esm2015/core/http/interceptors/loader.interceptor.js +1 -1
  158. package/esm2015/core/http/interceptors/profiler.interceptor.js +1 -1
  159. package/esm2015/core/http/public-api.js +1 -1
  160. package/esm2015/core/http/services/http.service.js +1 -1
  161. package/esm2015/core/http/services/loader.service.js +1 -1
  162. package/esm2015/core/index.js +1 -1
  163. package/esm2015/core/layout/index.js +1 -1
  164. package/esm2015/core/layout/layout.service.js +1 -1
  165. package/esm2015/core/layout/public-api.js +1 -1
  166. package/esm2015/core/layout/rtl.directive.js +1 -1
  167. package/esm2015/core/portal/attach.directive.js +1 -1
  168. package/esm2015/core/portal/index.js +1 -1
  169. package/esm2015/core/portal/portal.service.js +1 -1
  170. package/esm2015/core/portal/public-api.js +1 -1
  171. package/esm2015/core/portal/target.directive.js +1 -1
  172. package/esm2015/core/public-api.js +1 -1
  173. package/esm2015/core/scroll-to/index.js +1 -1
  174. package/esm2015/core/scroll-to/public-api.js +1 -1
  175. package/esm2015/core/scroll-to/scroll-to.service.js +1 -1
  176. package/esm2015/date/date.component.js +4 -6
  177. package/esm2015/date/date.module.js +1 -1
  178. package/esm2015/date/public-api.js +1 -1
  179. package/esm2015/dialog/default-dialog.component.js +2 -2
  180. package/esm2015/dialog/dialog.component.js +2 -2
  181. package/esm2015/dialog/dialog.model.js +1 -1
  182. package/esm2015/dialog/dialog.module.js +1 -1
  183. package/esm2015/dialog/dialog.service.js +1 -1
  184. package/esm2015/dialog/public-api.js +1 -1
  185. package/esm2015/field-title/field-title.component.js +2 -2
  186. package/esm2015/field-title/field-title.module.js +1 -1
  187. package/esm2015/field-title/public-api.js +1 -1
  188. package/esm2015/files-uploader/files-uploader.component.js +2 -2
  189. package/esm2015/files-uploader/files-uploader.module.js +1 -1
  190. package/esm2015/files-uploader/public-api.js +1 -1
  191. package/esm2015/form/field-generator.component.js +2 -2
  192. package/esm2015/form/form.component.js +2 -2
  193. package/esm2015/form/form.module.js +1 -1
  194. package/esm2015/form/indicators.component.js +2 -2
  195. package/esm2015/form/internal-button.component.js +18 -21
  196. package/esm2015/form/internal-carusel.component.js +2 -2
  197. package/esm2015/form/internal-carusel.service.js +1 -1
  198. package/esm2015/form/internal-list.component.js +2 -2
  199. package/esm2015/form/internal-menu.component.js +2 -2
  200. package/esm2015/form/internal-page.component.js +2 -2
  201. package/esm2015/form/internal-page.service.js +1 -1
  202. package/esm2015/form/public-api.js +1 -1
  203. package/esm2015/group-buttons/group-buttons.component.js +2 -2
  204. package/esm2015/group-buttons/group-buttons.module.js +1 -1
  205. package/esm2015/group-buttons/public-api.js +1 -1
  206. package/esm2015/icon/icon-generated-all.model.js +1 -1
  207. package/esm2015/icon/icon-generated.model.js +1 -1
  208. package/esm2015/icon/icon-registry.service.js +2 -2
  209. package/esm2015/icon/icon.component.js +1 -1
  210. package/esm2015/icon/icon.module.js +1 -1
  211. package/esm2015/icon/public-api.js +1 -1
  212. package/esm2015/image/image.component.js +2 -7
  213. package/esm2015/image/image.module.js +1 -1
  214. package/esm2015/image/public-api.js +1 -1
  215. package/esm2015/images-filmstrip/images-filmstrip.component.js +2 -7
  216. package/esm2015/images-filmstrip/images-filmstrip.module.js +1 -1
  217. package/esm2015/images-filmstrip/public-api.js +1 -1
  218. package/esm2015/list/list-actions.component.js +2 -2
  219. package/esm2015/list/list-carousel.component.js +2 -2
  220. package/esm2015/list/list-chooser.component.js +2 -2
  221. package/esm2015/list/list-pager.component.js +2 -2
  222. package/esm2015/list/list-sorting.component.js +2 -2
  223. package/esm2015/list/list-total.component.js +2 -2
  224. package/esm2015/list/list-views.component.js +2 -2
  225. package/esm2015/list/list.component.js +2 -2
  226. package/esm2015/list/list.model.js +1 -1
  227. package/esm2015/list/list.module.js +1 -1
  228. package/esm2015/list/public-api.js +1 -1
  229. package/esm2015/menu/menu-item.component.js +2 -2
  230. package/esm2015/menu/menu.component.js +2 -2
  231. package/esm2015/menu/menu.model.js +1 -1
  232. package/esm2015/menu/menu.module.js +1 -1
  233. package/esm2015/menu/public-api.js +1 -1
  234. package/esm2015/ngx-lib.module.js +1 -1
  235. package/esm2015/page-layout/page-layout.component.js +2 -2
  236. package/esm2015/page-layout/page-layout.module.js +1 -1
  237. package/esm2015/page-layout/public-api.js +1 -1
  238. package/esm2015/public-api.js +1 -1
  239. package/esm2015/quantity-selector/public-api.js +1 -1
  240. package/esm2015/quantity-selector/quantity-selector-validation.directive.js +1 -1
  241. package/esm2015/quantity-selector/quantity-selector.component.js +2 -7
  242. package/esm2015/quantity-selector/quantity-selector.module.js +1 -1
  243. package/esm2015/quantity-selector/quantity-selector.pipes.js +1 -1
  244. package/esm2015/rich-html-textarea/public-api.js +1 -1
  245. package/esm2015/rich-html-textarea/rich-html-textarea.component.js +2 -7
  246. package/esm2015/rich-html-textarea/rich-html-textarea.module.js +1 -1
  247. package/esm2015/search/public-api.js +1 -1
  248. package/esm2015/search/search.component.js +2 -2
  249. package/esm2015/search/search.model.js +1 -1
  250. package/esm2015/search/search.module.js +1 -1
  251. package/esm2015/select/public-api.js +1 -1
  252. package/esm2015/select/select.component.js +2 -7
  253. package/esm2015/select/select.module.js +1 -1
  254. package/esm2015/separator/public-api.js +1 -1
  255. package/esm2015/separator/separator.component.js +2 -10
  256. package/esm2015/separator/separator.module.js +1 -1
  257. package/esm2015/side-bar/public-api.js +1 -1
  258. package/esm2015/side-bar/side-bar.component.js +2 -2
  259. package/esm2015/side-bar/side-bar.model.js +1 -1
  260. package/esm2015/side-bar/side-bar.module.js +1 -1
  261. package/esm2015/signature/public-api.js +1 -1
  262. package/esm2015/signature/signature.component.js +2 -7
  263. package/esm2015/signature/signature.module.js +1 -1
  264. package/esm2015/size-detector/public-api.js +1 -1
  265. package/esm2015/size-detector/size-detector.component.js +2 -2
  266. package/esm2015/size-detector/size-detector.module.js +1 -1
  267. package/esm2015/slider/public-api.js +1 -1
  268. package/esm2015/slider/slider.component.js +2 -2
  269. package/esm2015/slider/slider.module.js +1 -1
  270. package/esm2015/smart-filters/boolean-filter/boolean-filter.component.js +3 -23
  271. package/esm2015/smart-filters/common/filter-actions.component.js +2 -2
  272. package/esm2015/smart-filters/common/model/base-filter-component.js +8 -35
  273. package/esm2015/smart-filters/common/model/creator.js +2 -8
  274. package/esm2015/smart-filters/common/model/field.js +1 -12
  275. package/esm2015/smart-filters/common/model/filter.js +1 -1
  276. package/esm2015/smart-filters/common/model/operator.js +8 -8
  277. package/esm2015/smart-filters/common/model/type.js +1 -1
  278. package/esm2015/smart-filters/date-filter/date-filter.component.js +2 -45
  279. package/esm2015/smart-filters/multi-select-filter/multi-select-filter.component.js +14 -53
  280. package/esm2015/smart-filters/number-filter/number-filter.component.js +2 -27
  281. package/esm2015/smart-filters/public-api.js +1 -2
  282. package/esm2015/smart-filters/smart-filters.component.js +2 -2
  283. package/esm2015/smart-filters/smart-filters.module.js +3 -16
  284. package/esm2015/textarea/public-api.js +1 -1
  285. package/esm2015/textarea/textarea.component.js +2 -7
  286. package/esm2015/textarea/textarea.module.js +1 -1
  287. package/esm2015/textbox/public-api.js +1 -1
  288. package/esm2015/textbox/textbox-validation.directive.js +1 -1
  289. package/esm2015/textbox/textbox.component.js +4 -6
  290. package/esm2015/textbox/textbox.module.js +1 -1
  291. package/esm2015/textbox-icon/public-api.js +1 -1
  292. package/esm2015/textbox-icon/textbox-icon.component.js +2 -2
  293. package/esm2015/textbox-icon/textbox-icon.module.js +1 -1
  294. package/esm2015/top-bar/public-api.js +1 -1
  295. package/esm2015/top-bar/top-bar.component.js +2 -2
  296. package/esm2015/top-bar/top-bar.model.js +1 -1
  297. package/esm2015/top-bar/top-bar.module.js +1 -1
  298. package/fesm2015/pepperi-addons-ngx-lib-address.js +1 -1
  299. package/fesm2015/pepperi-addons-ngx-lib-address.js.map +1 -1
  300. package/fesm2015/pepperi-addons-ngx-lib-attachment.js +1 -6
  301. package/fesm2015/pepperi-addons-ngx-lib-attachment.js.map +1 -1
  302. package/fesm2015/pepperi-addons-ngx-lib-bread-crumbs.js +1 -1
  303. package/fesm2015/pepperi-addons-ngx-lib-bread-crumbs.js.map +1 -1
  304. package/fesm2015/pepperi-addons-ngx-lib-button.js +1 -1
  305. package/fesm2015/pepperi-addons-ngx-lib-button.js.map +1 -1
  306. package/fesm2015/pepperi-addons-ngx-lib-carousel.js +14 -14
  307. package/fesm2015/pepperi-addons-ngx-lib-carousel.js.map +1 -1
  308. package/fesm2015/pepperi-addons-ngx-lib-checkbox.js +1 -4
  309. package/fesm2015/pepperi-addons-ngx-lib-checkbox.js.map +1 -1
  310. package/fesm2015/pepperi-addons-ngx-lib-color.js +28 -33
  311. package/fesm2015/pepperi-addons-ngx-lib-color.js.map +1 -1
  312. package/fesm2015/pepperi-addons-ngx-lib-date.js +3 -5
  313. package/fesm2015/pepperi-addons-ngx-lib-date.js.map +1 -1
  314. package/fesm2015/pepperi-addons-ngx-lib-dialog.js +2 -2
  315. package/fesm2015/pepperi-addons-ngx-lib-dialog.js.map +1 -1
  316. package/fesm2015/pepperi-addons-ngx-lib-field-title.js +1 -1
  317. package/fesm2015/pepperi-addons-ngx-lib-field-title.js.map +1 -1
  318. package/fesm2015/pepperi-addons-ngx-lib-files-uploader.js +1 -1
  319. package/fesm2015/pepperi-addons-ngx-lib-files-uploader.js.map +1 -1
  320. package/fesm2015/pepperi-addons-ngx-lib-form.js +23 -26
  321. package/fesm2015/pepperi-addons-ngx-lib-form.js.map +1 -1
  322. package/fesm2015/pepperi-addons-ngx-lib-group-buttons.js +1 -1
  323. package/fesm2015/pepperi-addons-ngx-lib-group-buttons.js.map +1 -1
  324. package/fesm2015/pepperi-addons-ngx-lib-icon.js +1 -1
  325. package/fesm2015/pepperi-addons-ngx-lib-icon.js.map +1 -1
  326. package/fesm2015/pepperi-addons-ngx-lib-image.js +1 -6
  327. package/fesm2015/pepperi-addons-ngx-lib-image.js.map +1 -1
  328. package/fesm2015/pepperi-addons-ngx-lib-images-filmstrip.js +1 -6
  329. package/fesm2015/pepperi-addons-ngx-lib-images-filmstrip.js.map +1 -1
  330. package/fesm2015/pepperi-addons-ngx-lib-list.js +8 -8
  331. package/fesm2015/pepperi-addons-ngx-lib-list.js.map +1 -1
  332. package/fesm2015/pepperi-addons-ngx-lib-menu.js +2 -2
  333. package/fesm2015/pepperi-addons-ngx-lib-menu.js.map +1 -1
  334. package/fesm2015/pepperi-addons-ngx-lib-page-layout.js +1 -1
  335. package/fesm2015/pepperi-addons-ngx-lib-page-layout.js.map +1 -1
  336. package/fesm2015/pepperi-addons-ngx-lib-quantity-selector.js +1 -6
  337. package/fesm2015/pepperi-addons-ngx-lib-quantity-selector.js.map +1 -1
  338. package/fesm2015/pepperi-addons-ngx-lib-rich-html-textarea.js +1 -6
  339. package/fesm2015/pepperi-addons-ngx-lib-rich-html-textarea.js.map +1 -1
  340. package/fesm2015/pepperi-addons-ngx-lib-search.js +1 -1
  341. package/fesm2015/pepperi-addons-ngx-lib-search.js.map +1 -1
  342. package/fesm2015/pepperi-addons-ngx-lib-select.js +1 -6
  343. package/fesm2015/pepperi-addons-ngx-lib-select.js.map +1 -1
  344. package/fesm2015/pepperi-addons-ngx-lib-separator.js +1 -9
  345. package/fesm2015/pepperi-addons-ngx-lib-separator.js.map +1 -1
  346. package/fesm2015/pepperi-addons-ngx-lib-side-bar.js +1 -1
  347. package/fesm2015/pepperi-addons-ngx-lib-side-bar.js.map +1 -1
  348. package/fesm2015/pepperi-addons-ngx-lib-signature.js +1 -6
  349. package/fesm2015/pepperi-addons-ngx-lib-signature.js.map +1 -1
  350. package/fesm2015/pepperi-addons-ngx-lib-size-detector.js +1 -1
  351. package/fesm2015/pepperi-addons-ngx-lib-size-detector.js.map +1 -1
  352. package/fesm2015/pepperi-addons-ngx-lib-slider.js +1 -1
  353. package/fesm2015/pepperi-addons-ngx-lib-slider.js.map +1 -1
  354. package/fesm2015/pepperi-addons-ngx-lib-smart-filters.js +37 -294
  355. package/fesm2015/pepperi-addons-ngx-lib-smart-filters.js.map +1 -1
  356. package/fesm2015/pepperi-addons-ngx-lib-textarea.js +1 -6
  357. package/fesm2015/pepperi-addons-ngx-lib-textarea.js.map +1 -1
  358. package/fesm2015/pepperi-addons-ngx-lib-textbox-icon.js +1 -1
  359. package/fesm2015/pepperi-addons-ngx-lib-textbox-icon.js.map +1 -1
  360. package/fesm2015/pepperi-addons-ngx-lib-textbox.js +3 -5
  361. package/fesm2015/pepperi-addons-ngx-lib-textbox.js.map +1 -1
  362. package/fesm2015/pepperi-addons-ngx-lib-top-bar.js +1 -1
  363. package/fesm2015/pepperi-addons-ngx-lib-top-bar.js.map +1 -1
  364. package/fesm2015/pepperi-addons-ngx-lib.js +34 -42
  365. package/fesm2015/pepperi-addons-ngx-lib.js.map +1 -1
  366. package/field-title/field-title.component.theme.scss +2 -2
  367. package/field-title/pepperi-addons-ngx-lib-field-title.metadata.json +1 -1
  368. package/files-uploader/files-uploader.component.theme.scss +2 -2
  369. package/files-uploader/pepperi-addons-ngx-lib-files-uploader.metadata.json +1 -1
  370. package/form/form.component.theme.scss +2 -2
  371. package/form/indicators.component.theme.scss +7 -7
  372. package/form/internal-button.component.d.ts +1 -0
  373. package/form/internal-button.component.theme.scss +2 -2
  374. package/form/internal-menu.component.theme.scss +3 -3
  375. package/form/pepperi-addons-ngx-lib-form.metadata.json +1 -1
  376. package/group-buttons/group-buttons.component.theme.scss +15 -15
  377. package/group-buttons/pepperi-addons-ngx-lib-group-buttons.metadata.json +1 -1
  378. package/image/image.component.d.ts +0 -1
  379. package/image/image.component.theme.scss +35 -35
  380. package/image/pepperi-addons-ngx-lib-image.metadata.json +1 -1
  381. package/images-filmstrip/images-filmstrip.component.d.ts +0 -1
  382. package/images-filmstrip/images-filmstrip.component.theme.scss +32 -32
  383. package/images-filmstrip/pepperi-addons-ngx-lib-images-filmstrip.metadata.json +1 -1
  384. package/list/list-actions.component.theme.scss +3 -3
  385. package/list/list-carousel.component.theme.scss +9 -9
  386. package/list/list-chooser.component.theme.scss +3 -3
  387. package/list/list-pager.component.theme.scss +3 -3
  388. package/list/list-sorting.component.theme.scss +3 -3
  389. package/list/list-total.component.theme.scss +10 -10
  390. package/list/list-views.component.theme.scss +3 -3
  391. package/list/list.component.theme.scss +5 -5
  392. package/list/list_old.component.theme.scss +5 -5
  393. package/list/pepperi-addons-ngx-lib-list.metadata.json +1 -1
  394. package/menu/menu.component.theme.scss +2 -2
  395. package/menu/pepperi-addons-ngx-lib-menu.metadata.json +1 -1
  396. package/package.json +1 -1
  397. package/page-layout/page-layout.component.theme.scss +7 -7
  398. package/page-layout/pepperi-addons-ngx-lib-page-layout.metadata.json +1 -1
  399. package/pepperi-addons-ngx-lib.metadata.json +1 -1
  400. package/quantity-selector/pepperi-addons-ngx-lib-quantity-selector.metadata.json +1 -1
  401. package/quantity-selector/quantity-selector.component.d.ts +0 -1
  402. package/quantity-selector/quantity-selector.component.theme.scss +77 -77
  403. package/rich-html-textarea/pepperi-addons-ngx-lib-rich-html-textarea.metadata.json +1 -1
  404. package/rich-html-textarea/rich-html-textarea.component.d.ts +0 -1
  405. package/rich-html-textarea/rich-html-textarea.component.theme.scss +236 -236
  406. package/search/pepperi-addons-ngx-lib-search.metadata.json +1 -1
  407. package/search/search.component.theme.scss +3 -3
  408. package/select/pepperi-addons-ngx-lib-select.metadata.json +1 -1
  409. package/select/select.component.d.ts +0 -1
  410. package/select/select.component.theme.scss +2 -2
  411. package/separator/pepperi-addons-ngx-lib-separator.metadata.json +1 -1
  412. package/separator/separator.component.theme.scss +2 -2
  413. package/side-bar/pepperi-addons-ngx-lib-side-bar.metadata.json +1 -1
  414. package/side-bar/side-bar.component.theme.scss +25 -25
  415. package/signature/pepperi-addons-ngx-lib-signature.metadata.json +1 -1
  416. package/signature/signature.component.d.ts +0 -1
  417. package/signature/signature.component.theme.scss +28 -28
  418. package/size-detector/pepperi-addons-ngx-lib-size-detector.metadata.json +1 -1
  419. package/slider/pepperi-addons-ngx-lib-slider.metadata.json +1 -1
  420. package/slider/slider.component.theme.scss +65 -65
  421. package/smart-filters/boolean-filter/boolean-filter.component.d.ts +1 -6
  422. package/smart-filters/common/model/base-filter-component.d.ts +0 -7
  423. package/smart-filters/common/model/field.d.ts +0 -4
  424. package/smart-filters/common/model/operator.d.ts +0 -1
  425. package/smart-filters/common/model/type.d.ts +2 -2
  426. package/smart-filters/date-filter/date-filter.component.d.ts +1 -8
  427. package/smart-filters/multi-select-filter/multi-select-filter.component.d.ts +0 -6
  428. package/smart-filters/number-filter/number-filter.component.d.ts +0 -5
  429. package/smart-filters/pepperi-addons-ngx-lib-smart-filters.metadata.json +1 -1
  430. package/smart-filters/public-api.d.ts +0 -1
  431. package/smart-filters/smart-filters.component.theme.scss +10 -10
  432. package/src/assets/i18n/de.ngx-lib.json +77 -77
  433. package/src/assets/i18n/en.ngx-lib.json +138 -139
  434. package/src/assets/i18n/es.ngx-lib.json +77 -77
  435. package/src/assets/i18n/fr.ngx-lib.json +78 -78
  436. package/src/assets/i18n/he.ngx-lib.json +78 -78
  437. package/src/assets/i18n/hu.ngx-lib.json +78 -78
  438. package/src/assets/i18n/it.ngx-lib.json +78 -78
  439. package/src/assets/i18n/ja.ngx-lib.json +78 -78
  440. package/src/assets/i18n/nl.ngx-lib.json +78 -78
  441. package/src/assets/i18n/pl.ngx-lib.json +78 -78
  442. package/src/assets/i18n/pt.ngx-lib.json +78 -78
  443. package/src/assets/i18n/ru.ngx-lib.json +78 -78
  444. package/src/assets/i18n/zh.ngx-lib.json +76 -76
  445. package/src/assets/images/no-image.svg +41 -41
  446. package/src/core/style/abstracts/breakpoints.scss +35 -35
  447. package/src/core/style/abstracts/functions.scss +422 -422
  448. package/src/core/style/abstracts/mixins.scss +797 -797
  449. package/src/core/style/abstracts/variables.scss +545 -545
  450. package/src/core/style/base/base.scss +873 -873
  451. package/src/core/style/base/grids.scss +4 -4
  452. package/src/core/style/base/helpers.scss +70 -70
  453. package/src/core/style/base/typography.scss +255 -255
  454. package/src/core/style/components/button.scss +349 -349
  455. package/src/core/style/components/checkbox.scss +473 -473
  456. package/src/core/style/components/datetime.scss +22 -22
  457. package/src/core/style/components/file.scss +219 -219
  458. package/src/core/style/components/general.scss +1086 -1088
  459. package/src/core/style/components/input.scss +94 -94
  460. package/src/core/style/components/quantity-selector.scss +14 -14
  461. package/src/core/style/components/radio-button.scss +168 -168
  462. package/src/core/style/components/select.scss +185 -185
  463. package/src/core/style/components/signature.scss +12 -12
  464. package/src/core/style/components/splitter.scss +64 -64
  465. package/src/core/style/components/textarea.scss +195 -195
  466. package/src/core/style/themes/black-theme.scss +7 -7
  467. package/src/core/style/themes/default-theme.scss +144 -144
  468. package/src/core/style/themes/light-theme.scss +7 -7
  469. package/src/core/style/themes/nature-theme.scss +7 -7
  470. package/src/core/style/vendors/normalize.scss +497 -497
  471. package/textarea/pepperi-addons-ngx-lib-textarea.metadata.json +1 -1
  472. package/textarea/textarea.component.d.ts +0 -1
  473. package/textarea/textarea.component.theme.scss +2 -2
  474. package/textbox/pepperi-addons-ngx-lib-textbox.metadata.json +1 -1
  475. package/textbox/textbox.component.theme.scss +3 -3
  476. package/textbox-icon/pepperi-addons-ngx-lib-textbox-icon.metadata.json +1 -1
  477. package/textbox-icon/textbox-icon.component.theme.scss +2 -2
  478. package/theming.scss +220 -224
  479. package/top-bar/pepperi-addons-ngx-lib-top-bar.metadata.json +1 -1
  480. package/top-bar/top-bar.component.theme.scss +9 -9
  481. package/bundles/pepperi-addons-ngx-lib-query-builder.umd.js +0 -1113
  482. package/bundles/pepperi-addons-ngx-lib-query-builder.umd.js.map +0 -1
  483. package/esm2015/query-builder/common/model/filter.js +0 -2
  484. package/esm2015/query-builder/common/model/legacy.js +0 -2
  485. package/esm2015/query-builder/common/model/operator-unit.js +0 -42
  486. package/esm2015/query-builder/common/model/operator.js +0 -207
  487. package/esm2015/query-builder/common/model/structure.js +0 -2
  488. package/esm2015/query-builder/common/model/type-map.js +0 -27
  489. package/esm2015/query-builder/common/model/type.js +0 -6
  490. package/esm2015/query-builder/common/services/output-query.service.js +0 -114
  491. package/esm2015/query-builder/common/services/type-convertor.service.js +0 -44
  492. package/esm2015/query-builder/pepperi-addons-ngx-lib-query-builder.js +0 -9
  493. package/esm2015/query-builder/public-api.js +0 -8
  494. package/esm2015/query-builder/query-builder-item/query-builder-item.component.js +0 -103
  495. package/esm2015/query-builder/query-builder-section/query-builder-section.component.js +0 -64
  496. package/esm2015/query-builder/query-builder.component.js +0 -101
  497. package/esm2015/query-builder/query-builder.module.js +0 -43
  498. package/esm2015/query-builder/query-builder.service.js +0 -283
  499. package/esm2015/smart-filters/text-filter/text-filter.component.js +0 -79
  500. package/fesm2015/pepperi-addons-ngx-lib-query-builder.js +0 -1010
  501. package/fesm2015/pepperi-addons-ngx-lib-query-builder.js.map +0 -1
  502. package/query-builder/common/model/filter.d.ts +0 -6
  503. package/query-builder/common/model/legacy.d.ts +0 -20
  504. package/query-builder/common/model/operator-unit.d.ts +0 -13
  505. package/query-builder/common/model/operator.d.ts +0 -21
  506. package/query-builder/common/model/structure.d.ts +0 -4
  507. package/query-builder/common/model/type-map.d.ts +0 -12
  508. package/query-builder/common/model/type.d.ts +0 -4
  509. package/query-builder/common/services/output-query.service.d.ts +0 -43
  510. package/query-builder/common/services/type-convertor.service.d.ts +0 -10
  511. package/query-builder/package.json +0 -14
  512. package/query-builder/pepperi-addons-ngx-lib-query-builder.d.ts +0 -8
  513. package/query-builder/pepperi-addons-ngx-lib-query-builder.metadata.json +0 -1
  514. package/query-builder/public-api.d.ts +0 -4
  515. package/query-builder/query-builder-item/query-builder-item.component.d.ts +0 -30
  516. package/query-builder/query-builder-section/query-builder-section.component.d.ts +0 -27
  517. package/query-builder/query-builder-section/query-builder-section.component.theme.scss +0 -6
  518. package/query-builder/query-builder.component.d.ts +0 -35
  519. package/query-builder/query-builder.module.d.ts +0 -2
  520. package/query-builder/query-builder.service.d.ts +0 -94
  521. package/smart-filters/text-filter/text-filter.component.d.ts +0 -17
@@ -1 +1 @@
1
- {"version":3,"file":"pepperi-addons-ngx-lib-rich-html-textarea.js","sources":["../../../projects/ngx-lib/rich-html-textarea/rich-html-textarea.component.ts","../../../projects/ngx-lib/rich-html-textarea/rich-html-textarea.module.ts","../../../projects/ngx-lib/rich-html-textarea/public-api.ts","../../../projects/ngx-lib/rich-html-textarea/pepperi-addons-ngx-lib-rich-html-textarea.ts"],"sourcesContent":["import {\r\n Component,\r\n OnInit,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n ChangeDetectionStrategy,\r\n OnDestroy,\r\n ElementRef,\r\n Renderer2,\r\n TemplateRef,\r\n ViewChild,\r\n OnChanges,\r\n SimpleChanges,\r\n} from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport {\r\n PepLayoutType,\r\n PepCustomizationService,\r\n PepHorizontalAlignment,\r\n DEFAULT_HORIZONTAL_ALIGNMENT,\r\n PepRichHtmlTextareaField,\r\n} from '@pepperi-addons/ngx-lib';\r\nimport {\r\n PepDialogService,\r\n PepDialogData,\r\n} from '@pepperi-addons/ngx-lib/dialog';\r\nimport { SafeHtml, DomSanitizer } from '@angular/platform-browser';\r\n\r\nexport interface IPepRichHtmlTextareaToolbarOptions {\r\n font?: any;\r\n size?: any;\r\n header?: any;\r\n bold?: any;\r\n italic?: any;\r\n underline?: any;\r\n strike?: any;\r\n link?: any;\r\n image?: any;\r\n ordered?: any;\r\n bullet?: any;\r\n color?: any;\r\n background?: any;\r\n align?: any;\r\n}\r\n\r\n@Component({\r\n selector: 'pep-rich-html-textarea',\r\n templateUrl: './rich-html-textarea.component.html',\r\n styleUrls: ['./rich-html-textarea.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class PepRichHtmlTextareaComponent\r\n implements OnInit, OnChanges, OnDestroy {\r\n @Input() key = '';\r\n @Input() value = '';\r\n @Input() label = '';\r\n @Input() mandatory = false;\r\n @Input() disabled = false;\r\n @Input() readonly = false;\r\n @Input() maxFieldCharacters: number;\r\n @Input() xAlignment: PepHorizontalAlignment = DEFAULT_HORIZONTAL_ALIGNMENT;\r\n\r\n private _rowSpan = 1;\r\n @Input()\r\n set rowSpan(value) {\r\n this._rowSpan = value;\r\n this.setFieldHeight();\r\n }\r\n get rowSpan(): number {\r\n return this._rowSpan;\r\n }\r\n\r\n private _visible = true;\r\n @Input()\r\n set visible(visible: boolean) {\r\n this._visible = visible;\r\n if (visible) {\r\n this.renderer.removeClass(\r\n this.element.nativeElement,\r\n 'hidden-element'\r\n );\r\n } else {\r\n this.renderer.addClass(\r\n this.element.nativeElement,\r\n 'hidden-element'\r\n );\r\n }\r\n }\r\n get visible(): boolean {\r\n return this._visible;\r\n }\r\n\r\n controlType = 'richhtmltextarea';\r\n\r\n @Input() form: FormGroup = null;\r\n @Input() isActive = false;\r\n @Input() showTitle = true;\r\n @Input() renderTitle = true;\r\n\r\n private _layoutType: PepLayoutType = 'form';\r\n @Input()\r\n set layoutType(value: PepLayoutType) {\r\n this._layoutType = value;\r\n this.setFieldHeight();\r\n }\r\n get layoutType(): PepLayoutType {\r\n return this._layoutType;\r\n }\r\n\r\n @Input() inlineMode = false;\r\n\r\n protected _toolbarOptions: IPepRichHtmlTextareaToolbarOptions;\r\n @Input()\r\n get toolbarOptions(): IPepRichHtmlTextareaToolbarOptions {\r\n return this._toolbarOptions;\r\n }\r\n set toolbarOptions(options: IPepRichHtmlTextareaToolbarOptions) {\r\n if (options) {\r\n this._toolbarOptions = options;\r\n }\r\n }\r\n\r\n @Output()\r\n valueChange: EventEmitter<string> = new EventEmitter<string>();\r\n\r\n @ViewChild('richTextEditorDialogTemplate', { read: TemplateRef })\r\n richTextEditorDialogTemplate: TemplateRef<any>;\r\n quillContent = '';\r\n quillContentDialog = '';\r\n\r\n fieldHeight = '';\r\n standAlone = false;\r\n active = false;\r\n\r\n constructor(\r\n private sanitizer: DomSanitizer,\r\n private dialogService: PepDialogService,\r\n private customizationService: PepCustomizationService,\r\n private renderer: Renderer2,\r\n private element: ElementRef\r\n ) {\r\n this.toolbarOptions = this.getDefaultToolbarOptions();\r\n }\r\n\r\n private setFieldHeight(): void {\r\n this.fieldHeight = this.customizationService.calculateFieldHeight(\r\n this.layoutType,\r\n this.rowSpan,\r\n this.standAlone\r\n );\r\n }\r\n\r\n private setDefaultForm(): void {\r\n const pepField = new PepRichHtmlTextareaField({\r\n key: this.key,\r\n value: this.value,\r\n mandatory: this.mandatory,\r\n readonly: this.readonly,\r\n disabled: this.disabled,\r\n maxFieldCharacters: this.maxFieldCharacters,\r\n });\r\n this.form = this.customizationService.getDefaultFromGroup(pepField);\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.form === null) {\r\n this.standAlone = true;\r\n this.setFieldHeight();\r\n this.setDefaultForm();\r\n\r\n this.renderer.addClass(\r\n this.element.nativeElement,\r\n PepCustomizationService.STAND_ALONE_FIELD_CLASS_NAME\r\n );\r\n\r\n if (!this.renderTitle) {\r\n this.renderer.addClass(\r\n this.element.nativeElement,\r\n PepCustomizationService.STAND_ALONE_FIELD_NO_SPACING_CLASS_NAME\r\n );\r\n }\r\n }\r\n\r\n this.quillContent = this.value;\r\n }\r\n\r\n ngOnChanges(): void {\r\n if (this.standAlone) {\r\n this.setDefaultForm();\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n //\r\n }\r\n\r\n getDefaultToolbarOptions(): IPepRichHtmlTextareaToolbarOptions {\r\n return {\r\n font: false,\r\n size: false,\r\n header: true,\r\n bold: true,\r\n italic: true,\r\n underline: true,\r\n strike: false,\r\n link: true,\r\n image: true,\r\n ordered: true,\r\n bullet: true,\r\n color: true,\r\n background: false,\r\n align: true,\r\n };\r\n }\r\n\r\n changeValue(value: any): void {\r\n if (value !== this.value) {\r\n this.value = value;\r\n this.quillContent = value;\r\n this.customizationService.updateFormFieldValue(\r\n this.form,\r\n this.key,\r\n value\r\n );\r\n this.valueChange.emit(value);\r\n }\r\n }\r\n\r\n cardTemplateClicked(event: any): void {\r\n this.openDialog();\r\n }\r\n\r\n openDialog(): void {\r\n const config = this.dialogService.getDialogConfig(\r\n {\r\n // minWidth: '50vw',\r\n // maxWidth: '90vw',\r\n // maxHeight: '90vh',\r\n },\r\n 'large'\r\n );\r\n\r\n // If disabled open regular modal as html mode.\r\n if (this.disabled || this.readonly) {\r\n const data = new PepDialogData({\r\n title: this.label,\r\n content: this.quillContent,\r\n showFooter: false,\r\n });\r\n this.dialogService.openDefaultDialog(data, config);\r\n } else {\r\n this.quillContentDialog = this.quillContent;\r\n const dialogRef = this.dialogService.openDialog(\r\n this.richTextEditorDialogTemplate,\r\n {},\r\n config\r\n );\r\n\r\n dialogRef.afterClosed().subscribe((value) => {\r\n if (value !== undefined && value !== null) {\r\n this.changeValue(value);\r\n }\r\n });\r\n }\r\n }\r\n\r\n // Init quillContent in case that there are html tags...\r\n onEditorCreated(quill: any, inDialog: boolean): void {\r\n if (!inDialog) {\r\n this.quillContent = quill.getText();\r\n }\r\n }\r\n\r\n onContentChanged(obj: any, inDialog: boolean): void {\r\n if (inDialog) {\r\n this.quillContentDialog = obj.html;\r\n } else {\r\n this.quillContent = obj.html;\r\n }\r\n }\r\n\r\n onBlur(obj: any, inDialog: boolean): void {\r\n if (!inDialog) {\r\n this.active = false;\r\n this.changeValue(this.quillContent);\r\n }\r\n }\r\n\r\n onFocus(obj: any, inDialog: boolean): void {\r\n if (!inDialog) {\r\n this.active = true;\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ReactiveFormsModule, FormsModule } from '@angular/forms';\r\n\r\nimport { MatCommonModule } from '@angular/material/core';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\n\r\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\r\nimport {\r\n PepIconModule,\r\n PepIconRegistry,\r\n pepIconSystemEdit,\r\n pepIconSystemClose,\r\n} from '@pepperi-addons/ngx-lib/icon';\r\nimport { PepTextboxIconModule } from '@pepperi-addons/ngx-lib/textbox-icon';\r\nimport { PepFieldTitleModule } from '@pepperi-addons/ngx-lib/field-title';\r\nimport { PepDialogModule } from '@pepperi-addons/ngx-lib/dialog';\r\n\r\nimport { QuillModule } from 'ngx-quill';\r\n\r\nimport { PepRichHtmlTextareaComponent } from './rich-html-textarea.component';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ReactiveFormsModule,\r\n FormsModule,\r\n // Material modules,\r\n MatCommonModule,\r\n MatButtonModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatMenuModule,\r\n MatIconModule,\r\n MatDialogModule,\r\n // External modules\r\n QuillModule.forRoot(),\r\n // ngx-lib modules\r\n PepNgxLibModule,\r\n PepIconModule,\r\n PepFieldTitleModule,\r\n PepTextboxIconModule,\r\n PepDialogModule,\r\n ],\r\n exports: [PepRichHtmlTextareaComponent],\r\n declarations: [PepRichHtmlTextareaComponent],\r\n})\r\nexport class PepRichHtmlTextareaModule {\r\n constructor(private pepIconRegistry: PepIconRegistry) {\r\n this.pepIconRegistry.registerIcons([\r\n pepIconSystemEdit,\r\n pepIconSystemClose,\r\n ]);\r\n }\r\n}\r\n","/*\r\n * Public API Surface of ngx-lib/rich-html-textarea\r\n */\r\nexport * from './rich-html-textarea.module';\r\nexport * from './rich-html-textarea.component';\r\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-rich-html-textarea.js","sources":["../../../projects/ngx-lib/rich-html-textarea/rich-html-textarea.component.ts","../../../projects/ngx-lib/rich-html-textarea/rich-html-textarea.module.ts","../../../projects/ngx-lib/rich-html-textarea/public-api.ts","../../../projects/ngx-lib/rich-html-textarea/pepperi-addons-ngx-lib-rich-html-textarea.ts"],"sourcesContent":["import {\n Component,\n OnInit,\n Input,\n Output,\n EventEmitter,\n ChangeDetectionStrategy,\n OnDestroy,\n ElementRef,\n Renderer2,\n TemplateRef,\n ViewChild,\n OnChanges,\n SimpleChanges,\n} from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport {\n PepLayoutType,\n PepCustomizationService,\n PepHorizontalAlignment,\n DEFAULT_HORIZONTAL_ALIGNMENT,\n PepRichHtmlTextareaField,\n} from '@pepperi-addons/ngx-lib';\nimport {\n PepDialogService,\n PepDialogData,\n} from '@pepperi-addons/ngx-lib/dialog';\nimport { SafeHtml, DomSanitizer } from '@angular/platform-browser';\n\nexport interface IPepRichHtmlTextareaToolbarOptions {\n font?: any;\n size?: any;\n header?: any;\n bold?: any;\n italic?: any;\n underline?: any;\n strike?: any;\n link?: any;\n image?: any;\n ordered?: any;\n bullet?: any;\n color?: any;\n background?: any;\n align?: any;\n}\n\n@Component({\n selector: 'pep-rich-html-textarea',\n templateUrl: './rich-html-textarea.component.html',\n styleUrls: ['./rich-html-textarea.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PepRichHtmlTextareaComponent\n implements OnInit, OnChanges, OnDestroy {\n @Input() key = '';\n @Input() value = '';\n @Input() label = '';\n @Input() mandatory = false;\n @Input() disabled = false;\n @Input() readonly = false;\n @Input() maxFieldCharacters: number;\n @Input() xAlignment: PepHorizontalAlignment = DEFAULT_HORIZONTAL_ALIGNMENT;\n\n private _rowSpan = 1;\n @Input()\n set rowSpan(value) {\n this._rowSpan = value;\n this.setFieldHeight();\n }\n get rowSpan(): number {\n return this._rowSpan;\n }\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 controlType = 'richhtmltextarea';\n\n @Input() form: FormGroup = null;\n @Input() isActive = false;\n @Input() showTitle = true;\n\n private _layoutType: PepLayoutType = 'form';\n @Input()\n set layoutType(value: PepLayoutType) {\n this._layoutType = value;\n this.setFieldHeight();\n }\n get layoutType(): PepLayoutType {\n return this._layoutType;\n }\n\n @Input() inlineMode = false;\n\n protected _toolbarOptions: IPepRichHtmlTextareaToolbarOptions;\n @Input()\n get toolbarOptions(): IPepRichHtmlTextareaToolbarOptions {\n return this._toolbarOptions;\n }\n set toolbarOptions(options: IPepRichHtmlTextareaToolbarOptions) {\n if (options) {\n this._toolbarOptions = options;\n }\n }\n\n @Output()\n valueChange: EventEmitter<string> = new EventEmitter<string>();\n\n @ViewChild('richTextEditorDialogTemplate', { read: TemplateRef })\n richTextEditorDialogTemplate: TemplateRef<any>;\n quillContent = '';\n quillContentDialog = '';\n\n fieldHeight = '';\n standAlone = false;\n active = false;\n\n constructor(\n private sanitizer: DomSanitizer,\n private dialogService: PepDialogService,\n private customizationService: PepCustomizationService,\n private renderer: Renderer2,\n private element: ElementRef\n ) {\n this.toolbarOptions = this.getDefaultToolbarOptions();\n }\n\n private setFieldHeight(): void {\n this.fieldHeight = this.customizationService.calculateFieldHeight(\n this.layoutType,\n this.rowSpan,\n this.standAlone\n );\n }\n\n private setDefaultForm(): void {\n const pepField = new PepRichHtmlTextareaField({\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 });\n this.form = this.customizationService.getDefaultFromGroup(pepField);\n }\n\n ngOnInit(): void {\n if (this.form === null) {\n this.standAlone = true;\n this.setFieldHeight();\n this.setDefaultForm();\n\n this.renderer.addClass(\n this.element.nativeElement,\n PepCustomizationService.STAND_ALONE_FIELD_CLASS_NAME\n );\n }\n\n this.quillContent = this.value;\n }\n\n ngOnChanges(): void {\n if (this.standAlone) {\n this.setDefaultForm();\n }\n }\n\n ngOnDestroy(): void {\n //\n }\n\n getDefaultToolbarOptions(): IPepRichHtmlTextareaToolbarOptions {\n return {\n font: false,\n size: false,\n header: true,\n bold: true,\n italic: true,\n underline: true,\n strike: false,\n link: true,\n image: true,\n ordered: true,\n bullet: true,\n color: true,\n background: false,\n align: true,\n };\n }\n\n changeValue(value: any): void {\n if (value !== this.value) {\n this.value = value;\n this.quillContent = value;\n this.customizationService.updateFormFieldValue(\n this.form,\n this.key,\n value\n );\n this.valueChange.emit(value);\n }\n }\n\n cardTemplateClicked(event: any): void {\n this.openDialog();\n }\n\n openDialog(): void {\n const config = this.dialogService.getDialogConfig(\n {\n // minWidth: '50vw',\n // maxWidth: '90vw',\n // maxHeight: '90vh',\n },\n 'large'\n );\n\n // If disabled open regular modal as html mode.\n if (this.disabled || this.readonly) {\n const data = new PepDialogData({\n title: this.label,\n content: this.quillContent,\n showFooter: false,\n });\n this.dialogService.openDefaultDialog(data, config);\n } else {\n this.quillContentDialog = this.quillContent;\n const dialogRef = this.dialogService.openDialog(\n this.richTextEditorDialogTemplate,\n {},\n config\n );\n\n dialogRef.afterClosed().subscribe((value) => {\n if (value !== undefined && value !== null) {\n this.changeValue(value);\n }\n });\n }\n }\n\n // Init quillContent in case that there are html tags...\n onEditorCreated(quill: any, inDialog: boolean): void {\n if (!inDialog) {\n this.quillContent = quill.getText();\n }\n }\n\n onContentChanged(obj: any, inDialog: boolean): void {\n if (inDialog) {\n this.quillContentDialog = obj.html;\n } else {\n this.quillContent = obj.html;\n }\n }\n\n onBlur(obj: any, inDialog: boolean): void {\n if (!inDialog) {\n this.active = false;\n this.changeValue(this.quillContent);\n }\n }\n\n onFocus(obj: any, inDialog: boolean): void {\n if (!inDialog) {\n this.active = true;\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule, FormsModule } 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 { MatMenuModule } from '@angular/material/menu';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatDialogModule } from '@angular/material/dialog';\n\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\nimport {\n PepIconModule,\n PepIconRegistry,\n pepIconSystemEdit,\n pepIconSystemClose,\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';\nimport { PepDialogModule } from '@pepperi-addons/ngx-lib/dialog';\n\nimport { QuillModule } from 'ngx-quill';\n\nimport { PepRichHtmlTextareaComponent } from './rich-html-textarea.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n FormsModule,\n // Material modules,\n MatCommonModule,\n MatButtonModule,\n MatFormFieldModule,\n MatInputModule,\n MatMenuModule,\n MatIconModule,\n MatDialogModule,\n // External modules\n QuillModule.forRoot(),\n // ngx-lib modules\n PepNgxLibModule,\n PepIconModule,\n PepFieldTitleModule,\n PepTextboxIconModule,\n PepDialogModule,\n ],\n exports: [PepRichHtmlTextareaComponent],\n declarations: [PepRichHtmlTextareaComponent],\n})\nexport class PepRichHtmlTextareaModule {\n constructor(private pepIconRegistry: PepIconRegistry) {\n this.pepIconRegistry.registerIcons([\n pepIconSystemEdit,\n pepIconSystemClose,\n ]);\n }\n}\n","/*\n * Public API Surface of ngx-lib/rich-html-textarea\n */\nexport * from './rich-html-textarea.module';\nexport * from './rich-html-textarea.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -207,7 +207,7 @@ class PepSearchComponent {
207
207
  PepSearchComponent.decorators = [
208
208
  { type: Component, args: [{
209
209
  selector: 'pep-search',
210
- template: "<!-- <ng-container *ngTemplateOutlet=\"pepTemplate; context: { isFormView: false, hasParent: false }\">\r\n</ng-container> -->\r\n<ng-container *ngIf=\"shrinkInSmallScreen; then shrinkBlock; else staticBlock\"></ng-container>\r\n<ng-template #shrinkBlock>\r\n <div pepRtlClass class=\"pep-search-container {{ sizeType }}\" [ngClass]=\"{ 'pep-floating-search': isFloating}\"\r\n [@fadeInOut]=\"fadeState\">\r\n <div class=\"pep-search-input\">\r\n <ng-container *ngIf=\"type === 'auto-complete'\">\r\n <ng-container *ngTemplateOutlet=\"autoCompleteBlock\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"type === 'regular'\">\r\n <ng-container *ngTemplateOutlet=\"regularBlock\"></ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <button *ngIf=\"isFloating && fadeState !='fadeIn' && showFloatSrcBtn\"\r\n class=\"pep-button icon-button {{ sizeType }} weak\" mat-button (click)=\"animateSearch()\">\r\n <mat-icon>\r\n <pep-icon name=\"system_search\"></pep-icon>\r\n </mat-icon>\r\n </button>\r\n</ng-template>\r\n<ng-template #staticBlock>\r\n <div pepRtlClass class=\"pep-search-container {{ sizeType }}\">\r\n <div class=\"pep-search-input\">\r\n <ng-container *ngIf=\"type === 'auto-complete'\">\r\n <ng-container *ngTemplateOutlet=\"autoCompleteBlock\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"type === 'regular'\">\r\n <ng-container *ngTemplateOutlet=\"regularBlock\"></ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #autoCompleteBlock>\r\n <mat-form-field appearance=\"outline\">\r\n <!-- (@slideInOut.done)=\"animateSearchDone()\" [@slideInOut]=\"state\" -->\r\n <input #searchInput class=\"body-sm pep-search-input\" matInput autocomplete=\"off\"\r\n [ngStyle]=\"{ textAlign: isRtl ? 'right' : 'left' }\" type=\"text\" (keyup.enter)=\"onSearch($event)\" results=\"5\"\r\n [formControl]=\"searchControl\" placeholder=\"{{ 'SEARCH.HINT' | translate }}...\" [matAutocomplete]=\"auto\" />\r\n <mat-autocomplete #auto=\"matAutocomplete\" class=\"pep-select\">\r\n <mat-option *ngFor=\"let value of autoCompleteValues\" [value]=\"value\" (click)=\"triggerSearch()\">\r\n {{value}}\r\n </mat-option>\r\n <mat-option *ngIf=\"autoCompleteValues?.length > autoCompleteTop - 1\" [value]=\"value\"\r\n (click)=\"triggerSearch()\">{{ 'SEARCH.MORE_RESULTS' | translate }}</mat-option>\r\n </mat-autocomplete>\r\n <div matSuffix class=\"flex align-center\">\r\n <ng-container *ngIf=\"triggerOn === 'click'\">\r\n <ng-container *ngTemplateOutlet=\"triggerOnClickBlock\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"triggerOn === 'keydown'\">\r\n <ng-container *ngTemplateOutlet=\"triggerOnKeydownBlock\"></ng-container>\r\n </ng-container>\r\n </div>\r\n </mat-form-field>\r\n</ng-template>\r\n\r\n<ng-template #regularBlock>\r\n <mat-form-field appearance=\"outline\">\r\n <input #searchInput class=\"body-sm pep-search-input\" matInput autocomplete=\"off\"\r\n [ngStyle]=\"{ textAlign: isRtl ? 'right' : 'left' }\" type=\"text\" (keyup.enter)=\"onSearch($event)\"\r\n [formControl]=\"searchControl\" placeholder=\"{{ 'SEARCH.HINT' | translate }}...\" />\r\n <div matSuffix class=\"flex align-center\">\r\n <ng-container *ngIf=\"triggerOn === 'click'\">\r\n <ng-container *ngTemplateOutlet=\"triggerOnClickBlock\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"triggerOn === 'keydown'\">\r\n <ng-container *ngTemplateOutlet=\"triggerOnKeydownBlock\"></ng-container>\r\n </ng-container>\r\n </div>\r\n </mat-form-field>\r\n</ng-template>\r\n\r\n<ng-template #triggerOnClickBlock>\r\n <!-- <ng-container *ngIf=\"(state == 'open' && searchControl.value?.length > 0)\"> -->\r\n <ng-container *ngIf=\"(state == 'open')\">\r\n <mat-icon class=\"pep-text-icon pep-pointer\" (click)=\"onClearClicked($event)\">\r\n <pep-icon name=\"system_close\"></pep-icon>\r\n </mat-icon>\r\n <span class=\"pep-text-icon pep-spacing-element pep-v-separator\">|</span>\r\n </ng-container>\r\n <mat-icon class=\"pep-text-icon pep-pointer\" (click)=\"onSearchClicked()\">\r\n <pep-icon name=\"system_search\"></pep-icon>\r\n </mat-icon>\r\n</ng-template>\r\n\r\n<ng-template #triggerOnKeydownBlock>\r\n <ng-container *ngIf=\"searchControl.value?.length > 0; then clearBlock; else searchBlock\"></ng-container>\r\n <ng-template #clearBlock>\r\n <button class=\"pep-button regular {{ sizeType }}\" mat-button (click)=\"onClearClicked($event)\">\r\n <mat-icon>\r\n <pep-icon name=\"system_close\"></pep-icon>\r\n </mat-icon>\r\n </button>\r\n </ng-template>\r\n <ng-template #searchBlock>\r\n <mat-icon class=\"pep-text-icon\">\r\n <pep-icon name=\"system_search\"></pep-icon>\r\n </mat-icon>\r\n </ng-template>\r\n</ng-template>",
210
+ template: "<!-- <ng-container *ngTemplateOutlet=\"pepTemplate; context: { isFormView: false, hasParent: false }\">\n</ng-container> -->\n<ng-container *ngIf=\"shrinkInSmallScreen; then shrinkBlock; else staticBlock\"></ng-container>\n<ng-template #shrinkBlock>\n <div pepRtlClass class=\"pep-search-container {{ sizeType }}\" [ngClass]=\"{ 'pep-floating-search': isFloating}\"\n [@fadeInOut]=\"fadeState\">\n <div class=\"pep-search-input\">\n <ng-container *ngIf=\"type === 'auto-complete'\">\n <ng-container *ngTemplateOutlet=\"autoCompleteBlock\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"type === 'regular'\">\n <ng-container *ngTemplateOutlet=\"regularBlock\"></ng-container>\n </ng-container>\n </div>\n </div>\n <button *ngIf=\"isFloating && fadeState !='fadeIn' && showFloatSrcBtn\"\n class=\"pep-button icon-button {{ sizeType }} weak\" mat-button (click)=\"animateSearch()\">\n <mat-icon>\n <pep-icon name=\"system_search\"></pep-icon>\n </mat-icon>\n </button>\n</ng-template>\n<ng-template #staticBlock>\n <div pepRtlClass class=\"pep-search-container {{ sizeType }}\">\n <div class=\"pep-search-input\">\n <ng-container *ngIf=\"type === 'auto-complete'\">\n <ng-container *ngTemplateOutlet=\"autoCompleteBlock\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"type === 'regular'\">\n <ng-container *ngTemplateOutlet=\"regularBlock\"></ng-container>\n </ng-container>\n </div>\n </div>\n</ng-template>\n\n<ng-template #autoCompleteBlock>\n <mat-form-field appearance=\"outline\">\n <!-- (@slideInOut.done)=\"animateSearchDone()\" [@slideInOut]=\"state\" -->\n <input #searchInput class=\"body-sm pep-search-input\" matInput autocomplete=\"off\"\n [ngStyle]=\"{ textAlign: isRtl ? 'right' : 'left' }\" type=\"text\" (keyup.enter)=\"onSearch($event)\" results=\"5\"\n [formControl]=\"searchControl\" placeholder=\"{{ 'SEARCH.HINT' | translate }}...\" [matAutocomplete]=\"auto\" />\n <mat-autocomplete #auto=\"matAutocomplete\" class=\"pep-select\">\n <mat-option *ngFor=\"let value of autoCompleteValues\" [value]=\"value\" (click)=\"triggerSearch()\">\n {{value}}\n </mat-option>\n <mat-option *ngIf=\"autoCompleteValues?.length > autoCompleteTop - 1\" [value]=\"value\"\n (click)=\"triggerSearch()\">{{ 'SEARCH.MORE_RESULTS' | translate }}</mat-option>\n </mat-autocomplete>\n <div matSuffix class=\"flex align-center\">\n <ng-container *ngIf=\"triggerOn === 'click'\">\n <ng-container *ngTemplateOutlet=\"triggerOnClickBlock\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"triggerOn === 'keydown'\">\n <ng-container *ngTemplateOutlet=\"triggerOnKeydownBlock\"></ng-container>\n </ng-container>\n </div>\n </mat-form-field>\n</ng-template>\n\n<ng-template #regularBlock>\n <mat-form-field appearance=\"outline\">\n <input #searchInput class=\"body-sm pep-search-input\" matInput autocomplete=\"off\"\n [ngStyle]=\"{ textAlign: isRtl ? 'right' : 'left' }\" type=\"text\" (keyup.enter)=\"onSearch($event)\"\n [formControl]=\"searchControl\" placeholder=\"{{ 'SEARCH.HINT' | translate }}...\" />\n <div matSuffix class=\"flex align-center\">\n <ng-container *ngIf=\"triggerOn === 'click'\">\n <ng-container *ngTemplateOutlet=\"triggerOnClickBlock\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"triggerOn === 'keydown'\">\n <ng-container *ngTemplateOutlet=\"triggerOnKeydownBlock\"></ng-container>\n </ng-container>\n </div>\n </mat-form-field>\n</ng-template>\n\n<ng-template #triggerOnClickBlock>\n <!-- <ng-container *ngIf=\"(state == 'open' && searchControl.value?.length > 0)\"> -->\n <ng-container *ngIf=\"(state == 'open')\">\n <mat-icon class=\"pep-text-icon pep-pointer\" (click)=\"onClearClicked($event)\">\n <pep-icon name=\"system_close\"></pep-icon>\n </mat-icon>\n <span class=\"pep-text-icon pep-spacing-element pep-v-separator\">|</span>\n </ng-container>\n <mat-icon class=\"pep-text-icon pep-pointer\" (click)=\"onSearchClicked()\">\n <pep-icon name=\"system_search\"></pep-icon>\n </mat-icon>\n</ng-template>\n\n<ng-template #triggerOnKeydownBlock>\n <ng-container *ngIf=\"searchControl.value?.length > 0; then clearBlock; else searchBlock\"></ng-container>\n <ng-template #clearBlock>\n <button class=\"pep-button regular {{ sizeType }}\" mat-button (click)=\"onClearClicked($event)\">\n <mat-icon>\n <pep-icon name=\"system_close\"></pep-icon>\n </mat-icon>\n </button>\n </ng-template>\n <ng-template #searchBlock>\n <mat-icon class=\"pep-text-icon\">\n <pep-icon name=\"system_search\"></pep-icon>\n </mat-icon>\n </ng-template>\n</ng-template>",
211
211
  animations: [
212
212
  trigger('slideInOut', [
213
213
  state('close', style({
@@ -1 +1 @@
1
- {"version":3,"file":"pepperi-addons-ngx-lib-search.js","sources":["../../../projects/ngx-lib/search/search.component.ts","../../../projects/ngx-lib/search/search.module.ts","../../../projects/ngx-lib/search/public-api.ts","../../../projects/ngx-lib/search/pepperi-addons-ngx-lib-search.ts"],"sourcesContent":["import {\r\n Component,\r\n OnInit,\r\n Injectable,\r\n Input,\r\n OnDestroy,\r\n Output,\r\n EventEmitter,\r\n ViewChild,\r\n ElementRef,\r\n} from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\nimport {\r\n trigger,\r\n state,\r\n style,\r\n transition,\r\n animate,\r\n} from '@angular/animations';\r\nimport { FormControl } from '@angular/forms';\r\nimport {\r\n PepLayoutService,\r\n PepScreenSizeType,\r\n PepSizeType,\r\n} from '@pepperi-addons/ngx-lib';\r\nimport { debounceTime, takeUntil } from 'rxjs/operators';\r\nimport {\r\n IPepSearchClickEvent,\r\n IPepSearchAutocompleteChangeEvent,\r\n IPepSearchStateChangeEvent,\r\n PepSearchType,\r\n PepSearchTriggerType,\r\n} from './search.model';\r\n\r\n@Component({\r\n selector: 'pep-search',\r\n templateUrl: './search.component.html',\r\n styleUrls: ['./search.component.scss'],\r\n animations: [\r\n trigger('slideInOut', [\r\n state(\r\n 'close',\r\n style({\r\n width: '0',\r\n padding: '0',\r\n border: 'none',\r\n })\r\n ),\r\n state(\r\n 'open',\r\n style({\r\n width: 'inherit',\r\n })\r\n ),\r\n transition('close => open', animate('500ms ease-in-out')),\r\n transition('open => close', animate('500ms ease-in-out')),\r\n ]),\r\n trigger('fadeInOut', [\r\n state(\r\n 'fadeOut',\r\n style({\r\n opacity: 0,\r\n width: '1px',\r\n })\r\n ),\r\n state(\r\n 'fadeIn',\r\n style({\r\n opacity: 1,\r\n width: '100%',\r\n })\r\n ),\r\n transition(\r\n 'fadeOut => fadeIn',\r\n animate(300, style({ opacity: 1, width: '100%' }))\r\n ),\r\n transition(\r\n 'fadeIn => fadeOut',\r\n animate(350, style({ opacity: 0, width: '1px' }))\r\n ),\r\n ]),\r\n ],\r\n})\r\n@Injectable()\r\nexport class PepSearchComponent implements OnInit, OnDestroy {\r\n @Input() triggerOn: PepSearchTriggerType = 'click';\r\n @Input() autoCompleteTop = 20;\r\n private _autoCompleteValues = [];\r\n @Input()\r\n set autoCompleteValues(val: any[]) {\r\n this.type = 'auto-complete';\r\n this._autoCompleteValues = val;\r\n }\r\n get autoCompleteValues(): any[] {\r\n return this._autoCompleteValues;\r\n }\r\n\r\n @Input() shrinkInSmallScreen = true;\r\n\r\n @Input()\r\n set value(val: string) {\r\n this.createSearchControlIfNotExist();\r\n this.searchControl.setValue(val);\r\n }\r\n get value(): string {\r\n return this.searchControl.value || '';\r\n }\r\n\r\n private _searchControl: FormControl = null;\r\n @Input()\r\n set searchControl(ctrl: FormControl) {\r\n this._searchControl = ctrl;\r\n }\r\n get searchControl(): FormControl {\r\n return this._searchControl;\r\n }\r\n\r\n private _useAsWebComponent = false;\r\n @Input()\r\n set useAsWebComponent(value: boolean) {\r\n if (value) {\r\n this.exportFunctionsOnHostElement();\r\n }\r\n }\r\n get useAsWebComponent(): boolean {\r\n return this._useAsWebComponent;\r\n }\r\n\r\n /**\r\n * The size of the button.\r\n *\r\n * @type {PepSizeType}\r\n * @memberof PepButtonComponent\r\n */\r\n @Input() sizeType: PepSizeType = 'md';\r\n\r\n @Output()\r\n search: EventEmitter<IPepSearchClickEvent> = new EventEmitter<IPepSearchClickEvent>();\r\n @Output()\r\n autocompleteChange: EventEmitter<IPepSearchAutocompleteChangeEvent> = new EventEmitter<IPepSearchAutocompleteChangeEvent>();\r\n @Output()\r\n stateChange: EventEmitter<IPepSearchStateChangeEvent> = new EventEmitter<IPepSearchStateChangeEvent>();\r\n\r\n @ViewChild('searchInput') searchInput: ElementRef;\r\n\r\n private readonly _destroyed = new Subject<void>();\r\n type: PepSearchType = 'regular';\r\n fadeState: 'fadeOut' | 'fadeIn';\r\n state: 'open' | 'close' = 'open';\r\n lastValue = null;\r\n showFloatSrcBtn = true;\r\n isRtl = false;\r\n isFloating = false;\r\n screenSize: PepScreenSizeType;\r\n\r\n constructor(\r\n private hostElement: ElementRef,\r\n private layoutService: PepLayoutService\r\n ) {\r\n //\r\n }\r\n\r\n ngOnInit(): void {\r\n this.layoutService.onResize$.pipe().subscribe((size) => {\r\n this.screenSize = size;\r\n\r\n if (this.shrinkInSmallScreen) {\r\n this.isFloating = this.screenSize > PepScreenSizeType.SM;\r\n }\r\n\r\n // Just for the smoote animation\r\n if (this.isFloating) {\r\n this.showFloatSrcBtn = false;\r\n\r\n this.showFloatingButton();\r\n } else {\r\n this.fadeState = 'fadeIn';\r\n }\r\n });\r\n\r\n this.isRtl = this.layoutService.isRtl();\r\n this.createSearchControlIfNotExist();\r\n\r\n this.searchControl.valueChanges\r\n .pipe(debounceTime(1000), takeUntil(this._destroyed))\r\n .subscribe((newValue) => {\r\n if (this.type === 'auto-complete') {\r\n this.autoCompleteValues = [];\r\n if (\r\n newValue &&\r\n newValue.length > 2 &&\r\n newValue !== this.lastValue\r\n ) {\r\n this.autocompleteChange.emit({\r\n value: newValue,\r\n top: this.autoCompleteTop,\r\n });\r\n }\r\n } else if (this.type === 'regular') {\r\n if (this.triggerOn === 'keydown') {\r\n this.emitSearchClick();\r\n }\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._destroyed.next();\r\n this._destroyed.complete();\r\n }\r\n\r\n private exportFunctionsOnHostElement() {\r\n // This is for web component usage for use those functions.\r\n this.hostElement.nativeElement.initSearch = this.initSearch.bind(this);\r\n }\r\n\r\n private createSearchControlIfNotExist(): void {\r\n if (!this.searchControl) {\r\n this.searchControl = new FormControl();\r\n }\r\n }\r\n\r\n private blur() {\r\n setTimeout(() => {\r\n this.searchInput.nativeElement.blur();\r\n }, 0);\r\n }\r\n\r\n private showFloatingButton() {\r\n this.fadeState = 'fadeOut';\r\n\r\n setTimeout(() => {\r\n this.stateChange.emit({ state: 'close' });\r\n this.showFloatSrcBtn = true;\r\n }, 500);\r\n\r\n // close the phone keyboard\r\n this.blur();\r\n }\r\n\r\n initSearch() {\r\n this.lastValue = null;\r\n this.searchControl.setValue('');\r\n }\r\n\r\n onClearClicked(event: any) {\r\n if (this.type === 'auto-complete') {\r\n this.autoCompleteValues = [];\r\n }\r\n\r\n this.initSearch();\r\n this.search.emit({ value: '' });\r\n\r\n event.preventDefault();\r\n\r\n if (this.isFloating) {\r\n this.showFloatingButton();\r\n }\r\n }\r\n\r\n onSearchClicked() {\r\n if (this.isFloating) {\r\n this.triggerSearch();\r\n } else {\r\n if (this.state === 'open') {\r\n this.triggerSearch();\r\n } else {\r\n this.state = 'open';\r\n }\r\n }\r\n }\r\n\r\n onSearch(event: Event) {\r\n // Stop the event propagation - cause we don't want fire two events.\r\n event.stopPropagation();\r\n this.triggerSearch();\r\n }\r\n\r\n triggerSearch() {\r\n if (this.type === 'auto-complete') {\r\n this.autoCompleteValues = [];\r\n }\r\n\r\n this.blur();\r\n this.emitSearchClick();\r\n }\r\n\r\n animateSearch() {\r\n if (this.state === 'open') {\r\n this.fadeState =\r\n this.fadeState === 'fadeOut' ? 'fadeIn' : 'fadeOut';\r\n if (this.fadeState === 'fadeIn') {\r\n this.stateChange.emit({ state: 'open' });\r\n this.showFloatSrcBtn = false;\r\n this.searchInput.nativeElement.focus();\r\n }\r\n } else {\r\n this.fadeState = 'fadeIn';\r\n }\r\n }\r\n\r\n // do the emit just when done because of the line break when closing the search\r\n // component and showen all other components before\r\n animateSearchDone() {\r\n if (this.state !== 'open') {\r\n this.stateChange.emit({ state: 'close' });\r\n }\r\n }\r\n\r\n emitSearchClick() {\r\n const value = this.searchControl.value;\r\n\r\n if (value !== this.lastValue) {\r\n this.lastValue = value;\r\n this.search.emit({ value });\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\n\r\nimport { MatCommonModule } from '@angular/material/core';\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatInputModule } from '@angular/material/input';\r\n\r\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\r\nimport {\r\n PepIconModule,\r\n PepIconRegistry,\r\n pepIconSystemClose,\r\n pepIconSystemSearch,\r\n} from '@pepperi-addons/ngx-lib/icon';\r\n\r\nimport { PepSearchComponent } from './search.component';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ReactiveFormsModule,\r\n // Material modules,\r\n MatCommonModule,\r\n MatAutocompleteModule,\r\n MatButtonModule,\r\n MatFormFieldModule,\r\n MatIconModule,\r\n // ngx-lib modules\r\n PepNgxLibModule,\r\n PepIconModule,\r\n MatInputModule,\r\n ],\r\n exports: [PepSearchComponent],\r\n declarations: [PepSearchComponent],\r\n})\r\nexport class PepSearchModule {\r\n constructor(private pepIconRegistry: PepIconRegistry) {\r\n this.pepIconRegistry.registerIcons([\r\n pepIconSystemClose,\r\n pepIconSystemSearch,\r\n ]);\r\n }\r\n}\r\n","/*\r\n * Public API Surface of ngx-lib/search\r\n */\r\nexport * from './search.module';\r\nexport * from './search.model';\r\nexport * from './search.component';\r\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-search.js","sources":["../../../projects/ngx-lib/search/search.component.ts","../../../projects/ngx-lib/search/search.module.ts","../../../projects/ngx-lib/search/public-api.ts","../../../projects/ngx-lib/search/pepperi-addons-ngx-lib-search.ts"],"sourcesContent":["import {\n Component,\n OnInit,\n Injectable,\n Input,\n OnDestroy,\n Output,\n EventEmitter,\n ViewChild,\n ElementRef,\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport {\n trigger,\n state,\n style,\n transition,\n animate,\n} from '@angular/animations';\nimport { FormControl } from '@angular/forms';\nimport {\n PepLayoutService,\n PepScreenSizeType,\n PepSizeType,\n} from '@pepperi-addons/ngx-lib';\nimport { debounceTime, takeUntil } from 'rxjs/operators';\nimport {\n IPepSearchClickEvent,\n IPepSearchAutocompleteChangeEvent,\n IPepSearchStateChangeEvent,\n PepSearchType,\n PepSearchTriggerType,\n} from './search.model';\n\n@Component({\n selector: 'pep-search',\n templateUrl: './search.component.html',\n styleUrls: ['./search.component.scss'],\n animations: [\n trigger('slideInOut', [\n state(\n 'close',\n style({\n width: '0',\n padding: '0',\n border: 'none',\n })\n ),\n state(\n 'open',\n style({\n width: 'inherit',\n })\n ),\n transition('close => open', animate('500ms ease-in-out')),\n transition('open => close', animate('500ms ease-in-out')),\n ]),\n trigger('fadeInOut', [\n state(\n 'fadeOut',\n style({\n opacity: 0,\n width: '1px',\n })\n ),\n state(\n 'fadeIn',\n style({\n opacity: 1,\n width: '100%',\n })\n ),\n transition(\n 'fadeOut => fadeIn',\n animate(300, style({ opacity: 1, width: '100%' }))\n ),\n transition(\n 'fadeIn => fadeOut',\n animate(350, style({ opacity: 0, width: '1px' }))\n ),\n ]),\n ],\n})\n@Injectable()\nexport class PepSearchComponent implements OnInit, OnDestroy {\n @Input() triggerOn: PepSearchTriggerType = 'click';\n @Input() autoCompleteTop = 20;\n private _autoCompleteValues = [];\n @Input()\n set autoCompleteValues(val: any[]) {\n this.type = 'auto-complete';\n this._autoCompleteValues = val;\n }\n get autoCompleteValues(): any[] {\n return this._autoCompleteValues;\n }\n\n @Input() shrinkInSmallScreen = true;\n\n @Input()\n set value(val: string) {\n this.createSearchControlIfNotExist();\n this.searchControl.setValue(val);\n }\n get value(): string {\n return this.searchControl.value || '';\n }\n\n private _searchControl: FormControl = null;\n @Input()\n set searchControl(ctrl: FormControl) {\n this._searchControl = ctrl;\n }\n get searchControl(): FormControl {\n return this._searchControl;\n }\n\n private _useAsWebComponent = false;\n @Input()\n set useAsWebComponent(value: boolean) {\n if (value) {\n this.exportFunctionsOnHostElement();\n }\n }\n get useAsWebComponent(): boolean {\n return this._useAsWebComponent;\n }\n\n /**\n * The size of the button.\n *\n * @type {PepSizeType}\n * @memberof PepButtonComponent\n */\n @Input() sizeType: PepSizeType = 'md';\n\n @Output()\n search: EventEmitter<IPepSearchClickEvent> = new EventEmitter<IPepSearchClickEvent>();\n @Output()\n autocompleteChange: EventEmitter<IPepSearchAutocompleteChangeEvent> = new EventEmitter<IPepSearchAutocompleteChangeEvent>();\n @Output()\n stateChange: EventEmitter<IPepSearchStateChangeEvent> = new EventEmitter<IPepSearchStateChangeEvent>();\n\n @ViewChild('searchInput') searchInput: ElementRef;\n\n private readonly _destroyed = new Subject<void>();\n type: PepSearchType = 'regular';\n fadeState: 'fadeOut' | 'fadeIn';\n state: 'open' | 'close' = 'open';\n lastValue = null;\n showFloatSrcBtn = true;\n isRtl = false;\n isFloating = false;\n screenSize: PepScreenSizeType;\n\n constructor(\n private hostElement: ElementRef,\n private layoutService: PepLayoutService\n ) {\n //\n }\n\n ngOnInit(): void {\n this.layoutService.onResize$.pipe().subscribe((size) => {\n this.screenSize = size;\n\n if (this.shrinkInSmallScreen) {\n this.isFloating = this.screenSize > PepScreenSizeType.SM;\n }\n\n // Just for the smoote animation\n if (this.isFloating) {\n this.showFloatSrcBtn = false;\n\n this.showFloatingButton();\n } else {\n this.fadeState = 'fadeIn';\n }\n });\n\n this.isRtl = this.layoutService.isRtl();\n this.createSearchControlIfNotExist();\n\n this.searchControl.valueChanges\n .pipe(debounceTime(1000), takeUntil(this._destroyed))\n .subscribe((newValue) => {\n if (this.type === 'auto-complete') {\n this.autoCompleteValues = [];\n if (\n newValue &&\n newValue.length > 2 &&\n newValue !== this.lastValue\n ) {\n this.autocompleteChange.emit({\n value: newValue,\n top: this.autoCompleteTop,\n });\n }\n } else if (this.type === 'regular') {\n if (this.triggerOn === 'keydown') {\n this.emitSearchClick();\n }\n }\n });\n }\n\n ngOnDestroy(): void {\n this._destroyed.next();\n this._destroyed.complete();\n }\n\n private exportFunctionsOnHostElement() {\n // This is for web component usage for use those functions.\n this.hostElement.nativeElement.initSearch = this.initSearch.bind(this);\n }\n\n private createSearchControlIfNotExist(): void {\n if (!this.searchControl) {\n this.searchControl = new FormControl();\n }\n }\n\n private blur() {\n setTimeout(() => {\n this.searchInput.nativeElement.blur();\n }, 0);\n }\n\n private showFloatingButton() {\n this.fadeState = 'fadeOut';\n\n setTimeout(() => {\n this.stateChange.emit({ state: 'close' });\n this.showFloatSrcBtn = true;\n }, 500);\n\n // close the phone keyboard\n this.blur();\n }\n\n initSearch() {\n this.lastValue = null;\n this.searchControl.setValue('');\n }\n\n onClearClicked(event: any) {\n if (this.type === 'auto-complete') {\n this.autoCompleteValues = [];\n }\n\n this.initSearch();\n this.search.emit({ value: '' });\n\n event.preventDefault();\n\n if (this.isFloating) {\n this.showFloatingButton();\n }\n }\n\n onSearchClicked() {\n if (this.isFloating) {\n this.triggerSearch();\n } else {\n if (this.state === 'open') {\n this.triggerSearch();\n } else {\n this.state = 'open';\n }\n }\n }\n\n onSearch(event: Event) {\n // Stop the event propagation - cause we don't want fire two events.\n event.stopPropagation();\n this.triggerSearch();\n }\n\n triggerSearch() {\n if (this.type === 'auto-complete') {\n this.autoCompleteValues = [];\n }\n\n this.blur();\n this.emitSearchClick();\n }\n\n animateSearch() {\n if (this.state === 'open') {\n this.fadeState =\n this.fadeState === 'fadeOut' ? 'fadeIn' : 'fadeOut';\n if (this.fadeState === 'fadeIn') {\n this.stateChange.emit({ state: 'open' });\n this.showFloatSrcBtn = false;\n this.searchInput.nativeElement.focus();\n }\n } else {\n this.fadeState = 'fadeIn';\n }\n }\n\n // do the emit just when done because of the line break when closing the search\n // component and showen all other components before\n animateSearchDone() {\n if (this.state !== 'open') {\n this.stateChange.emit({ state: 'close' });\n }\n }\n\n emitSearchClick() {\n const value = this.searchControl.value;\n\n if (value !== this.lastValue) {\n this.lastValue = value;\n this.search.emit({ 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 { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\n\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\nimport {\n PepIconModule,\n PepIconRegistry,\n pepIconSystemClose,\n pepIconSystemSearch,\n} from '@pepperi-addons/ngx-lib/icon';\n\nimport { PepSearchComponent } from './search.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n // Material modules,\n MatCommonModule,\n MatAutocompleteModule,\n MatButtonModule,\n MatFormFieldModule,\n MatIconModule,\n // ngx-lib modules\n PepNgxLibModule,\n PepIconModule,\n MatInputModule,\n ],\n exports: [PepSearchComponent],\n declarations: [PepSearchComponent],\n})\nexport class PepSearchModule {\n constructor(private pepIconRegistry: PepIconRegistry) {\n this.pepIconRegistry.registerIcons([\n pepIconSystemClose,\n pepIconSystemSearch,\n ]);\n }\n}\n","/*\n * Public API Surface of ngx-lib/search\n */\nexport * from './search.module';\nexport * from './search.model';\nexport * from './search.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -34,7 +34,6 @@ class PepSelectComponent {
34
34
  this.isActive = false;
35
35
  this.showTitle = true;
36
36
  this.emptyOption = true;
37
- this.renderTitle = true;
38
37
  this.valueChange = new EventEmitter();
39
38
  this.formValidationChange = new EventEmitter();
40
39
  this.standAlone = false;
@@ -119,9 +118,6 @@ class PepSelectComponent {
119
118
  this.standAlone = true;
120
119
  this.setDefaultForm();
121
120
  this.renderer.addClass(this.element.nativeElement, PepCustomizationService.STAND_ALONE_FIELD_CLASS_NAME);
122
- if (!this.renderTitle) {
123
- this.renderer.addClass(this.element.nativeElement, PepCustomizationService.STAND_ALONE_FIELD_NO_SPACING_CLASS_NAME);
124
- }
125
121
  }
126
122
  }
127
123
  ngOnChanges(changes) {
@@ -187,7 +183,7 @@ class PepSelectComponent {
187
183
  PepSelectComponent.decorators = [
188
184
  { type: Component, args: [{
189
185
  selector: 'pep-select',
190
- template: "<ng-container [formGroup]=\"form\">\r\n <ng-template #pepTemplate>\r\n <ng-container *ngIf=\"type == 'multi'; then multiSelectBlock; else regularSelectBlock\"></ng-container>\r\n <ng-template #regularSelectBlock>\r\n <mat-form-field appearance=\"outline\" dir=\"{{ xAlignment === 'right' ? 'rtl' : 'ltr' }}\">\r\n <mat-select #select [required]=\"mandatory ? mandatory : undefined\" matInput disableOptionCentering\r\n class=\"body-sm text-align-{{ xAlignment }}\" [id]=\"key\"\r\n [ngClass]=\"{'right-alignment': xAlignment === 'right'}\"\r\n [placeholder]=\"disabled || readonly ? '' : ('SELECT.HINT' | translate)\"\r\n [(ngModel)]=\"selectedValueModel\" [ngModelOptions]=\"{standalone: true}\" [disabled]=\"disabled\"\r\n (selectionChange)=\"selectionChange($event)\" (openedChange)=\"openedChange($event)\"\r\n title=\"{{ fieldFormattedValue }}\">\r\n <mat-option *ngIf=\"emptyOption\" value=\"\" [title]=\"'LIST.NONE' | translate\">{{ 'LIST.NONE' |\r\n translate }}</mat-option>\r\n <mat-option *ngFor=\"let option of options\" [value]=\"option.key\" [title]=\"option.value\">{{\r\n option.value }}</mat-option>\r\n </mat-select>\r\n <mat-error>\r\n <span class=\"body-xs\" [title]=\"'MESSAGES.ERROR_IS_REQUIRED' | translate: {field: label}\"\r\n [innerText]=\"'MESSAGES.ERROR_IS_REQUIRED' | translate: {field: label}\"></span>\r\n </mat-error>\r\n </mat-form-field>\r\n </ng-template>\r\n <ng-template #multiSelectBlock>\r\n <mat-form-field appearance=\"outline\" dir=\"{{ xAlignment === 'right' ? 'rtl' : 'ltr' }}\">\r\n <mat-select #select multiple [required]=\"mandatory ? mandatory : undefined\" matInput\r\n disableOptionCentering class=\"body-sm text-align-{{ xAlignment }}\" [id]=\"key\"\r\n [ngClass]=\"{'right-alignment': xAlignment === 'right'}\"\r\n [placeholder]=\"disabled || readonly ? '' : ('SELECT.HINT' | translate)\"\r\n [(ngModel)]=\"selectedValuesModel\" [ngModelOptions]=\"{standalone: true}\" [disabled]=\"disabled\"\r\n (openedChange)=\"openedChange($event)\" title=\"{{ fieldFormattedValue }}\">\r\n <mat-option *ngFor=\"let option of options\" [value]=\"option.key\" [title]=\"option.value\">{{\r\n option.value }}</mat-option>\r\n </mat-select>\r\n <mat-error><span class=\"body-xs\" [title]=\"'MESSAGES.ERROR_IS_REQUIRED' | translate: {field: label}\"\r\n [innerText]=\"'MESSAGES.ERROR_IS_REQUIRED' | translate: {field: label}\"> </span>\r\n </mat-error>\r\n </mat-form-field>\r\n </ng-template>\r\n </ng-template>\r\n\r\n <ng-container *ngIf=\"layoutType === 'form'\">\r\n <pep-field-title *ngIf=\"!parentFieldKey && renderTitle\" [label]=\"label\" [mandatory]=\"mandatory\"\r\n [disabled]=\"disabled\" [xAlignment]=\"xAlignment\" [showTitle]=\"showTitle\">\r\n </pep-field-title>\r\n <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"layoutType === 'card'\">\r\n <ng-container *ngIf=\"isInEditMode; then editBlock; else readOnlyBlock\"></ng-container>\r\n <ng-template #editBlock>\r\n <div [ngClass]=\"{'one-row': rowSpan === 1}\">\r\n <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container>\r\n </div>\r\n </ng-template>\r\n <ng-template #readOnlyBlock>\r\n <div class=\"pep-card-input card-flex-container\"\r\n [ngClass]=\"{'one-row': rowSpan === 1, 'pep-button weak': isActive && !disabled}\"\r\n [class]=\"'text-align-' + xAlignment\" (click)=\"!disabled ? cardTemplateClicked($event) : ''\">\r\n <span *ngIf=\"showTitle && label != ''\" class=\"body-xs title\" title=\"{{ label }}\">{{ label\r\n }}&nbsp;</span>\r\n <span [id]=\"key\" title=\"{{ fieldFormattedValue }}\" class=\"body-sm value\">{{ fieldFormattedValue\r\n }}</span>\r\n <button *ngIf=\"isActive && !disabled\" class=\"pep-button weak card-edit-button\" mat-button>\r\n <mat-icon>\r\n <pep-icon name=\"system_edit\">\r\n </pep-icon>\r\n </mat-icon>\r\n </button>\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"layoutType === 'table'\">\r\n <ng-container *ngIf=\"isActive && !disabled; then selectedBlock; else notSelectedBlock\"></ng-container>\r\n <ng-template #selectedBlock>\r\n <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container>\r\n </ng-template>\r\n <ng-template #notSelectedBlock>\r\n <span [id]=\"key\" class=\"body-sm pep-report-input\" [ngClass]=\"{readonly: disabled}\"\r\n title=\"{{ fieldFormattedValue }}\">{{ fieldFormattedValue }}</span>\r\n </ng-template>\r\n </ng-container>\r\n</ng-container>",
186
+ template: "<ng-container [formGroup]=\"form\">\n <ng-template #pepTemplate>\n <ng-container *ngIf=\"type == 'multi'; then multiSelectBlock; else regularSelectBlock\"></ng-container>\n <ng-template #regularSelectBlock>\n <mat-form-field appearance=\"outline\" dir=\"{{ xAlignment === 'right' ? 'rtl' : 'ltr' }}\">\n <mat-select #select [required]=\"mandatory ? mandatory : undefined\" matInput disableOptionCentering\n class=\"body-sm text-align-{{ xAlignment }}\" [id]=\"key\"\n [ngClass]=\"{'right-alignment': xAlignment === 'right'}\"\n [placeholder]=\"disabled || readonly ? '' : ('SELECT.HINT' | translate)\"\n [(ngModel)]=\"selectedValueModel\" [ngModelOptions]=\"{standalone: true}\" [disabled]=\"disabled\"\n (selectionChange)=\"selectionChange($event)\" (openedChange)=\"openedChange($event)\"\n title=\"{{ fieldFormattedValue }}\">\n <mat-option *ngIf=\"emptyOption\" value=\"\" [title]=\"'LIST.NONE' | translate\">{{ 'LIST.NONE' |\n translate }}</mat-option>\n <mat-option *ngFor=\"let option of options\" [value]=\"option.key\" [title]=\"option.value\">{{\n option.value }}</mat-option>\n </mat-select>\n <mat-error>\n <span class=\"body-xs\" [title]=\"'MESSAGES.ERROR_IS_REQUIRED' | translate: {field: label}\"\n [innerText]=\"'MESSAGES.ERROR_IS_REQUIRED' | translate: {field: label}\"></span>\n </mat-error>\n </mat-form-field>\n </ng-template>\n <ng-template #multiSelectBlock>\n <mat-form-field appearance=\"outline\" dir=\"{{ xAlignment === 'right' ? 'rtl' : 'ltr' }}\">\n <mat-select #select multiple [required]=\"mandatory ? mandatory : undefined\" matInput\n disableOptionCentering class=\"body-sm text-align-{{ xAlignment }}\" [id]=\"key\"\n [ngClass]=\"{'right-alignment': xAlignment === 'right'}\"\n [placeholder]=\"disabled || readonly ? '' : ('SELECT.HINT' | translate)\"\n [(ngModel)]=\"selectedValuesModel\" [ngModelOptions]=\"{standalone: true}\" [disabled]=\"disabled\"\n (openedChange)=\"openedChange($event)\" title=\"{{ fieldFormattedValue }}\">\n <mat-option *ngFor=\"let option of options\" [value]=\"option.key\" [title]=\"option.value\">{{\n option.value }}</mat-option>\n </mat-select>\n <mat-error><span class=\"body-xs\" [title]=\"'MESSAGES.ERROR_IS_REQUIRED' | translate: {field: label}\"\n [innerText]=\"'MESSAGES.ERROR_IS_REQUIRED' | translate: {field: label}\"> </span>\n </mat-error>\n </mat-form-field>\n </ng-template>\n </ng-template>\n\n <ng-container *ngIf=\"layoutType === 'form'\">\n <pep-field-title *ngIf=\"!parentFieldKey\" [label]=\"label\" [mandatory]=\"mandatory\" [disabled]=\"disabled\"\n [xAlignment]=\"xAlignment\" [showTitle]=\"showTitle\">\n </pep-field-title>\n <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"layoutType === 'card'\">\n <ng-container *ngIf=\"isInEditMode; then editBlock; else readOnlyBlock\"></ng-container>\n <ng-template #editBlock>\n <div [ngClass]=\"{'one-row': rowSpan === 1}\">\n <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container>\n </div>\n </ng-template>\n <ng-template #readOnlyBlock>\n <div class=\"pep-card-input card-flex-container\"\n [ngClass]=\"{'one-row': rowSpan === 1, 'pep-button weak': isActive && !disabled}\"\n [class]=\"'text-align-' + xAlignment\" (click)=\"!disabled ? cardTemplateClicked($event) : ''\">\n <span *ngIf=\"showTitle && label != ''\" class=\"body-xs title\" title=\"{{ label }}\">{{ label\n }}&nbsp;</span>\n <span [id]=\"key\" title=\"{{ fieldFormattedValue }}\" class=\"body-sm value\">{{ fieldFormattedValue\n }}</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 </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\"></ng-container>\n </ng-template>\n <ng-template #notSelectedBlock>\n <span [id]=\"key\" class=\"body-sm pep-report-input\" [ngClass]=\"{readonly: disabled}\"\n title=\"{{ fieldFormattedValue }}\">{{ fieldFormattedValue }}</span>\n </ng-template>\n </ng-container>\n</ng-container>",
191
187
  changeDetection: ChangeDetectionStrategy.OnPush,
192
188
  styles: [":host{height:inherit;display:grid}:host>*{align-self:center}"]
193
189
  },] }
@@ -215,7 +211,6 @@ PepSelectComponent.propDecorators = {
215
211
  isActive: [{ type: Input }],
216
212
  showTitle: [{ type: Input }],
217
213
  emptyOption: [{ type: Input }],
218
- renderTitle: [{ type: Input }],
219
214
  valueChange: [{ type: Output }],
220
215
  formValidationChange: [{ type: Output }],
221
216
  select: [{ type: ViewChild, args: ['select',] }]
@@ -1 +1 @@
1
- {"version":3,"file":"pepperi-addons-ngx-lib-select.js","sources":["../../../projects/ngx-lib/select/select.component.ts","../../../projects/ngx-lib/select/select.module.ts","../../../projects/ngx-lib/select/public-api.ts","../../../projects/ngx-lib/select/pepperi-addons-ngx-lib-select.ts"],"sourcesContent":["import {\r\n Component,\r\n OnInit,\r\n OnChanges,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n ViewChild,\r\n ElementRef,\r\n ChangeDetectionStrategy,\r\n OnDestroy,\r\n Renderer2,\r\n} from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { MatSelect } from '@angular/material/select';\r\nimport {\r\n PepLayoutType,\r\n PepCustomizationService,\r\n PepHorizontalAlignment,\r\n DEFAULT_HORIZONTAL_ALIGNMENT,\r\n PepSelectFieldType,\r\n PepSelectField,\r\n IPepOption,\r\n} from '@pepperi-addons/ngx-lib';\r\n\r\n@Component({\r\n selector: 'pep-select',\r\n templateUrl: './select.component.html',\r\n styleUrls: ['./select.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class PepSelectComponent implements OnChanges, OnInit, OnDestroy {\r\n @Input() key = '';\r\n @Input() value = '';\r\n @Input() label = '';\r\n @Input() type: PepSelectFieldType = 'select';\r\n @Input() mandatory = false;\r\n @Input() disabled = false;\r\n @Input() readonly = false;\r\n @Input() xAlignment: PepHorizontalAlignment = DEFAULT_HORIZONTAL_ALIGNMENT;\r\n @Input() rowSpan = 1;\r\n @Input() options: Array<IPepOption> = [];\r\n\r\n private _visible = true;\r\n @Input()\r\n set visible(visible: boolean) {\r\n this._visible = visible;\r\n if (visible) {\r\n this.renderer.removeClass(\r\n this.element.nativeElement,\r\n 'hidden-element'\r\n );\r\n } else {\r\n this.renderer.addClass(\r\n this.element.nativeElement,\r\n 'hidden-element'\r\n );\r\n }\r\n }\r\n get visible(): boolean {\r\n return this._visible;\r\n }\r\n\r\n controlType = 'select';\r\n\r\n // @Input() field: PepFieldBase;\r\n @Input() form: FormGroup = null;\r\n @Input() layoutType: PepLayoutType = 'form';\r\n @Input() parentFieldKey: string = null;\r\n @Input() isActive = false;\r\n @Input() showTitle = true;\r\n @Input() emptyOption = true;\r\n @Input() renderTitle = true;\r\n\r\n @Output()\r\n valueChange: EventEmitter<string> = new EventEmitter<string>();\r\n @Output()\r\n formValidationChange: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n\r\n @ViewChild('select') select: MatSelect;\r\n\r\n standAlone = false;\r\n isInEditMode = false;\r\n isMulti = false;\r\n selectedValuesModel: string[];\r\n selectedValueModel: string;\r\n fieldFormattedValue = '';\r\n\r\n constructor(\r\n private customizationService: PepCustomizationService,\r\n private renderer: Renderer2,\r\n private element: ElementRef\r\n ) { }\r\n\r\n private addOptionsIfNeeded(): void {\r\n if (this.isMulti) {\r\n // Go gor all selected and add to options if not exist\r\n // for (let i = 0; i < this.selectedValuesModel.length; i++) {\r\n for (const selectedValue of this.selectedValuesModel) {\r\n let valueNotExist = false;\r\n\r\n if (\r\n this.options &&\r\n !this.options.find((opt) => opt.key === selectedValue)\r\n ) {\r\n valueNotExist = true;\r\n }\r\n\r\n // Add it to options.\r\n if (valueNotExist) {\r\n this.options.push({\r\n key: selectedValue,\r\n value: selectedValue,\r\n });\r\n }\r\n }\r\n } else {\r\n if (\r\n this.value &&\r\n this.value !== '' &&\r\n this.options &&\r\n !this.options.find((opt) => opt.key === this.value)\r\n ) {\r\n this.options.push({ key: this.value, value: this.value });\r\n }\r\n }\r\n }\r\n\r\n private setFieldFormattedValue(value: any): void {\r\n if (this.isMulti) {\r\n if (this.selectedValuesModel.length > 0) {\r\n this.fieldFormattedValue = this.selectedValuesModel\r\n .map((value) => {\r\n return this.options.find((opt) => opt.key === value)\r\n ?.value;\r\n })\r\n .join(', ');\r\n } else {\r\n this.fieldFormattedValue = '';\r\n }\r\n\r\n // this.fieldFormattedValue = typeof value === 'string' ? value.replace(new RegExp(';', 'g'), ', ') : '';\r\n } else {\r\n const selectedOpt = this.options.find((opt) => opt.key === value);\r\n\r\n if (selectedOpt) {\r\n this.fieldFormattedValue = selectedOpt.value;\r\n }\r\n }\r\n }\r\n\r\n private setDefaultForm(): void {\r\n const pepField = new PepSelectField({\r\n key: this.key,\r\n value: this.value,\r\n mandatory: this.mandatory,\r\n readonly: this.readonly,\r\n disabled: this.disabled,\r\n });\r\n this.form = this.customizationService.getDefaultFromGroup(pepField);\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.form === null) {\r\n this.standAlone = true;\r\n this.setDefaultForm();\r\n\r\n this.renderer.addClass(\r\n this.element.nativeElement,\r\n PepCustomizationService.STAND_ALONE_FIELD_CLASS_NAME\r\n );\r\n\r\n if (!this.renderTitle) {\r\n this.renderer.addClass(\r\n this.element.nativeElement,\r\n PepCustomizationService.STAND_ALONE_FIELD_NO_SPACING_CLASS_NAME\r\n );\r\n }\r\n }\r\n }\r\n\r\n ngOnChanges(changes: any): void {\r\n if (this.standAlone) {\r\n this.setDefaultForm();\r\n }\r\n\r\n this.isMulti = this.type === 'multi';\r\n if (this.isMulti) {\r\n this.selectedValuesModel =\r\n this.value.length > 0 ? this.value.split(';') : [];\r\n } else {\r\n this.selectedValueModel = this.value;\r\n }\r\n\r\n this.addOptionsIfNeeded();\r\n this.setFieldFormattedValue(this.value);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n //\r\n }\r\n\r\n selectionChange(event: any): void {\r\n if (!this.isMulti) {\r\n this.changeValue(this.selectedValueModel);\r\n }\r\n }\r\n\r\n openedChange(event: any): void {\r\n // Only on close.\r\n if (!event) {\r\n if (this.isMulti) {\r\n this.changeValue(this.selectedValuesModel.join(';'));\r\n }\r\n\r\n if (this.isInEditMode) {\r\n this.isInEditMode = false;\r\n }\r\n }\r\n }\r\n\r\n changeValue(value: any): void {\r\n this.setFieldFormattedValue(value);\r\n this.customizationService.updateFormFieldValue(\r\n this.form,\r\n this.key,\r\n // value,\r\n this.fieldFormattedValue,\r\n this.parentFieldKey\r\n );\r\n\r\n if (this.mandatory) {\r\n const fieldControl = this.form.controls[this.key];\r\n if (value) {\r\n fieldControl.setErrors(null);\r\n } else {\r\n fieldControl.setErrors({\r\n serverError: 'Required',\r\n });\r\n }\r\n this.formValidationChange.emit(this.form.valid);\r\n }\r\n\r\n this.valueChange.emit(value);\r\n }\r\n\r\n cardTemplateClicked(event: any): void {\r\n this.isInEditMode = true;\r\n\r\n setTimeout(() => {\r\n this.select.open();\r\n }, 0);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ReactiveFormsModule, FormsModule } from '@angular/forms';\r\n\r\nimport { MatCommonModule } from '@angular/material/core';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatIconModule } from '@angular/material/icon';\r\n\r\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\r\nimport {\r\n PepIconModule,\r\n PepIconRegistry,\r\n pepIconSystemEdit,\r\n} from '@pepperi-addons/ngx-lib/icon';\r\nimport { PepFieldTitleModule } from '@pepperi-addons/ngx-lib/field-title';\r\n\r\nimport { PepSelectComponent } from './select.component';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ReactiveFormsModule,\r\n FormsModule,\r\n // Material modules\r\n MatCommonModule,\r\n MatButtonModule,\r\n MatFormFieldModule,\r\n MatSelectModule,\r\n MatIconModule,\r\n // ngx-lib modules\r\n PepNgxLibModule,\r\n PepIconModule,\r\n PepFieldTitleModule,\r\n ],\r\n exports: [PepSelectComponent],\r\n declarations: [PepSelectComponent],\r\n})\r\nexport class PepSelectModule {\r\n constructor(private pepIconRegistry: PepIconRegistry) {\r\n this.pepIconRegistry.registerIcons([pepIconSystemEdit]);\r\n }\r\n}\r\n","/*\r\n * Public API Surface of ngx-lib/select\r\n */\r\nexport * from './select.module';\r\nexport * from './select.component';\r\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-select.js","sources":["../../../projects/ngx-lib/select/select.component.ts","../../../projects/ngx-lib/select/select.module.ts","../../../projects/ngx-lib/select/public-api.ts","../../../projects/ngx-lib/select/pepperi-addons-ngx-lib-select.ts"],"sourcesContent":["import {\n Component,\n OnInit,\n OnChanges,\n Input,\n Output,\n EventEmitter,\n ViewChild,\n ElementRef,\n ChangeDetectionStrategy,\n OnDestroy,\n Renderer2,\n} from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { MatSelect } from '@angular/material/select';\nimport {\n PepLayoutType,\n PepCustomizationService,\n PepHorizontalAlignment,\n DEFAULT_HORIZONTAL_ALIGNMENT,\n PepSelectFieldType,\n PepSelectField,\n IPepOption,\n} from '@pepperi-addons/ngx-lib';\n\n@Component({\n selector: 'pep-select',\n templateUrl: './select.component.html',\n styleUrls: ['./select.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PepSelectComponent implements OnChanges, OnInit, OnDestroy {\n @Input() key = '';\n @Input() value = '';\n @Input() label = '';\n @Input() type: PepSelectFieldType = 'select';\n @Input() mandatory = false;\n @Input() disabled = false;\n @Input() readonly = false;\n @Input() xAlignment: PepHorizontalAlignment = DEFAULT_HORIZONTAL_ALIGNMENT;\n @Input() rowSpan = 1;\n @Input() options: Array<IPepOption> = [];\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 controlType = 'select';\n\n // @Input() field: PepFieldBase;\n @Input() form: FormGroup = null;\n @Input() layoutType: PepLayoutType = 'form';\n @Input() parentFieldKey: string = null;\n @Input() isActive = false;\n @Input() showTitle = true;\n @Input() emptyOption = true;\n\n @Output()\n valueChange: EventEmitter<string> = new EventEmitter<string>();\n @Output()\n formValidationChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n @ViewChild('select') select: MatSelect;\n\n standAlone = false;\n isInEditMode = false;\n isMulti = false;\n selectedValuesModel: string[];\n selectedValueModel: string;\n fieldFormattedValue = '';\n\n constructor(\n private customizationService: PepCustomizationService,\n private renderer: Renderer2,\n private element: ElementRef\n ) { }\n\n private addOptionsIfNeeded(): void {\n if (this.isMulti) {\n // Go gor all selected and add to options if not exist\n // for (let i = 0; i < this.selectedValuesModel.length; i++) {\n for (const selectedValue of this.selectedValuesModel) {\n let valueNotExist = false;\n\n if (\n this.options &&\n !this.options.find((opt) => opt.key === selectedValue)\n ) {\n valueNotExist = true;\n }\n\n // Add it to options.\n if (valueNotExist) {\n this.options.push({\n key: selectedValue,\n value: selectedValue,\n });\n }\n }\n } else {\n if (\n this.value &&\n this.value !== '' &&\n this.options &&\n !this.options.find((opt) => opt.key === this.value)\n ) {\n this.options.push({ key: this.value, value: this.value });\n }\n }\n }\n\n private setFieldFormattedValue(value: any): void {\n if (this.isMulti) {\n if (this.selectedValuesModel.length > 0) {\n this.fieldFormattedValue = this.selectedValuesModel\n .map((value) => {\n return this.options.find((opt) => opt.key === value)\n ?.value;\n })\n .join(', ');\n } else {\n this.fieldFormattedValue = '';\n }\n\n // this.fieldFormattedValue = typeof value === 'string' ? value.replace(new RegExp(';', 'g'), ', ') : '';\n } else {\n const selectedOpt = this.options.find((opt) => opt.key === value);\n\n if (selectedOpt) {\n this.fieldFormattedValue = selectedOpt.value;\n }\n }\n }\n\n private setDefaultForm(): void {\n const pepField = new PepSelectField({\n key: this.key,\n value: this.value,\n mandatory: this.mandatory,\n readonly: this.readonly,\n disabled: this.disabled,\n });\n this.form = this.customizationService.getDefaultFromGroup(pepField);\n }\n\n ngOnInit(): void {\n if (this.form === null) {\n this.standAlone = true;\n this.setDefaultForm();\n\n this.renderer.addClass(\n this.element.nativeElement,\n PepCustomizationService.STAND_ALONE_FIELD_CLASS_NAME\n );\n }\n }\n\n ngOnChanges(changes: any): void {\n if (this.standAlone) {\n this.setDefaultForm();\n }\n\n this.isMulti = this.type === 'multi';\n if (this.isMulti) {\n this.selectedValuesModel =\n this.value.length > 0 ? this.value.split(';') : [];\n } else {\n this.selectedValueModel = this.value;\n }\n\n this.addOptionsIfNeeded();\n this.setFieldFormattedValue(this.value);\n }\n\n ngOnDestroy(): void {\n //\n }\n\n selectionChange(event: any): void {\n if (!this.isMulti) {\n this.changeValue(this.selectedValueModel);\n }\n }\n\n openedChange(event: any): void {\n // Only on close.\n if (!event) {\n if (this.isMulti) {\n this.changeValue(this.selectedValuesModel.join(';'));\n }\n\n if (this.isInEditMode) {\n this.isInEditMode = false;\n }\n }\n }\n\n changeValue(value: any): void {\n this.setFieldFormattedValue(value);\n this.customizationService.updateFormFieldValue(\n this.form,\n this.key,\n // value,\n this.fieldFormattedValue,\n this.parentFieldKey\n );\n\n if (this.mandatory) {\n const fieldControl = this.form.controls[this.key];\n if (value) {\n fieldControl.setErrors(null);\n } else {\n fieldControl.setErrors({\n serverError: 'Required',\n });\n }\n this.formValidationChange.emit(this.form.valid);\n }\n\n this.valueChange.emit(value);\n }\n\n cardTemplateClicked(event: any): void {\n this.isInEditMode = true;\n\n setTimeout(() => {\n this.select.open();\n }, 0);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule, FormsModule } from '@angular/forms';\n\nimport { MatCommonModule } from '@angular/material/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatSelectModule } from '@angular/material/select';\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 { PepFieldTitleModule } from '@pepperi-addons/ngx-lib/field-title';\n\nimport { PepSelectComponent } from './select.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n FormsModule,\n // Material modules\n MatCommonModule,\n MatButtonModule,\n MatFormFieldModule,\n MatSelectModule,\n MatIconModule,\n // ngx-lib modules\n PepNgxLibModule,\n PepIconModule,\n PepFieldTitleModule,\n ],\n exports: [PepSelectComponent],\n declarations: [PepSelectComponent],\n})\nexport class PepSelectModule {\n constructor(private pepIconRegistry: PepIconRegistry) {\n this.pepIconRegistry.registerIcons([pepIconSystemEdit]);\n }\n}\n","/*\n * Public API Surface of ngx-lib/select\n */\nexport * from './select.module';\nexport * from './select.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -12,7 +12,6 @@ class PepSeparatorComponent {
12
12
  this.controlType = 'separator';
13
13
  this.form = null;
14
14
  this.layoutType = 'form';
15
- // @Input() renderTitle = true;
16
15
  this._visible = true;
17
16
  this.standAlone = false;
18
17
  }
@@ -32,20 +31,13 @@ class PepSeparatorComponent {
32
31
  if (this.form === null) {
33
32
  this.standAlone = true;
34
33
  this.renderer.addClass(this.element.nativeElement, PepCustomizationService.STAND_ALONE_FIELD_CLASS_NAME);
35
- // There is no pep-title-field here
36
- // if (!this.renderTitle) {
37
- // this.renderer.addClass(
38
- // this.element.nativeElement,
39
- // PepCustomizationService.STAND_ALONE_FIELD_NO_SPACING_CLASS_NAME
40
- // );
41
- // }
42
34
  }
43
35
  }
44
36
  }
45
37
  PepSeparatorComponent.decorators = [
46
38
  { type: Component, args: [{
47
39
  selector: 'pep-separator',
48
- template: "<ng-container *ngIf=\"layoutType === 'form'\">\r\n <div class=\"pep-separator-field wrap pep-border-bottom align-{{ xAlignment }}\" title=\"{{ label }}\">\r\n <span class=\"block-with-text body-md\">{{ label }}</span>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"layoutType === 'card'\">\r\n <div class=\"pep-separator-field pep-small-separator-field pep-border-bottom text-align-{{ xAlignment }}\"\r\n dir=\"{{ xAlignment == 'right' ? 'rtl' : 'ltr' }}\" title=\"{{ label }}\">\r\n <span class=\"small-block-with-text body-sm\">{{ label }}</span>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"layoutType === 'table'\">\r\n <label class=\"cl\" title=\"{{ label }}\">{{ label }}</label>\r\n</ng-container>",
40
+ template: "<ng-container *ngIf=\"layoutType === 'form'\">\n <div class=\"pep-separator-field wrap pep-border-bottom align-{{ xAlignment }}\" title=\"{{ label }}\">\n <span class=\"block-with-text body-md\">{{ label }}</span>\n </div>\n</ng-container>\n\n<ng-container *ngIf=\"layoutType === 'card'\">\n <div class=\"pep-separator-field pep-small-separator-field pep-border-bottom text-align-{{ xAlignment }}\"\n dir=\"{{ xAlignment == 'right' ? 'rtl' : 'ltr' }}\" title=\"{{ label }}\">\n <span class=\"small-block-with-text body-sm\">{{ label }}</span>\n </div>\n</ng-container>\n\n<ng-container *ngIf=\"layoutType === 'table'\">\n <label class=\"cl\" title=\"{{ label }}\">{{ label }}</label>\n</ng-container>",
49
41
  changeDetection: ChangeDetectionStrategy.OnPush,
50
42
  styles: [":host{height:inherit;display:grid}:host>*{align-self:center}"]
51
43
  },] }
@@ -1 +1 @@
1
- {"version":3,"file":"pepperi-addons-ngx-lib-separator.js","sources":["../../../projects/ngx-lib/separator/separator.component.ts","../../../projects/ngx-lib/separator/separator.module.ts","../../../projects/ngx-lib/separator/public-api.ts","../../../projects/ngx-lib/separator/pepperi-addons-ngx-lib-separator.ts"],"sourcesContent":["import {\r\n Component,\r\n Input,\r\n OnInit,\r\n ChangeDetectionStrategy,\r\n Renderer2,\r\n ElementRef,\r\n} from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport {\r\n PepLayoutType,\r\n PepCustomizationService,\r\n PepHorizontalAlignment,\r\n DEFAULT_HORIZONTAL_ALIGNMENT,\r\n} from '@pepperi-addons/ngx-lib';\r\n\r\n@Component({\r\n selector: 'pep-separator',\r\n templateUrl: './separator.component.html',\r\n styleUrls: ['./separator.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class PepSeparatorComponent implements OnInit {\r\n @Input() key = '';\r\n @Input() label = '';\r\n @Input() xAlignment: PepHorizontalAlignment = DEFAULT_HORIZONTAL_ALIGNMENT;\r\n\r\n controlType = 'separator';\r\n\r\n @Input() form: FormGroup = null;\r\n @Input() layoutType: PepLayoutType = 'form';\r\n // @Input() renderTitle = true;\r\n\r\n private _visible = true;\r\n @Input()\r\n set visible(visible: boolean) {\r\n this._visible = visible;\r\n if (visible) {\r\n this.renderer.removeClass(\r\n this.element.nativeElement,\r\n 'hidden-element'\r\n );\r\n } else {\r\n this.renderer.addClass(\r\n this.element.nativeElement,\r\n 'hidden-element'\r\n );\r\n }\r\n }\r\n get visible(): boolean {\r\n return this._visible;\r\n }\r\n\r\n standAlone = false;\r\n\r\n constructor(private renderer: Renderer2, private element: ElementRef) { }\r\n\r\n ngOnInit(): void {\r\n if (this.form === null) {\r\n this.standAlone = true;\r\n\r\n this.renderer.addClass(\r\n this.element.nativeElement,\r\n PepCustomizationService.STAND_ALONE_FIELD_CLASS_NAME\r\n );\r\n\r\n // There is no pep-title-field here\r\n // if (!this.renderTitle) {\r\n // this.renderer.addClass(\r\n // this.element.nativeElement,\r\n // PepCustomizationService.STAND_ALONE_FIELD_NO_SPACING_CLASS_NAME\r\n // );\r\n // }\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { PepSeparatorComponent } from './separator.component';\r\n\r\n@NgModule({\r\n imports: [CommonModule],\r\n exports: [PepSeparatorComponent],\r\n declarations: [PepSeparatorComponent],\r\n})\r\nexport class PepSeparatorModule {}\r\n","/*\r\n * Public API Surface of ngx-lib/separator\r\n */\r\nexport * from './separator.module';\r\nexport * from './separator.component';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;MAsBa,qBAAqB;IAiC9B,YAAoB,QAAmB,EAAU,OAAmB;QAAhD,aAAQ,GAAR,QAAQ,CAAW;QAAU,YAAO,GAAP,OAAO,CAAY;QAhC3D,QAAG,GAAG,EAAE,CAAC;QACT,UAAK,GAAG,EAAE,CAAC;QACX,eAAU,GAA2B,4BAA4B,CAAC;QAE3E,gBAAW,GAAG,WAAW,CAAC;QAEjB,SAAI,GAAc,IAAI,CAAC;QACvB,eAAU,GAAkB,MAAM,CAAC;;QAGpC,aAAQ,GAAG,IAAI,CAAC;QAoBxB,eAAU,GAAG,KAAK,CAAC;KAEsD;IArBzE,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;IAMD,QAAQ;QACJ,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE;YACpB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YAEvB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAClB,IAAI,CAAC,OAAO,CAAC,aAAa,EAC1B,uBAAuB,CAAC,4BAA4B,CACvD,CAAC;;;;;;;;SASL;KACJ;;;YA1DJ,SAAS,SAAC;gBACP,QAAQ,EAAE,eAAe;gBACzB,0wBAAyC;gBAEzC,eAAe,EAAE,uBAAuB,CAAC,MAAM;;aAClD;;;YAhBG,SAAS;YACT,UAAU;;;kBAiBT,KAAK;oBACL,KAAK;yBACL,KAAK;mBAIL,KAAK;yBACL,KAAK;sBAIL,KAAK;;;MCxBG,kBAAkB;;;YAL9B,QAAQ,SAAC;gBACN,OAAO,EAAE,CAAC,YAAY,CAAC;gBACvB,OAAO,EAAE,CAAC,qBAAqB,CAAC;gBAChC,YAAY,EAAE,CAAC,qBAAqB,CAAC;aACxC;;;ACTD;;;;ACAA;;;;;;"}
1
+ {"version":3,"file":"pepperi-addons-ngx-lib-separator.js","sources":["../../../projects/ngx-lib/separator/separator.component.ts","../../../projects/ngx-lib/separator/separator.module.ts","../../../projects/ngx-lib/separator/public-api.ts","../../../projects/ngx-lib/separator/pepperi-addons-ngx-lib-separator.ts"],"sourcesContent":["import {\n Component,\n Input,\n OnInit,\n ChangeDetectionStrategy,\n Renderer2,\n ElementRef,\n} from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport {\n PepLayoutType,\n PepCustomizationService,\n PepHorizontalAlignment,\n DEFAULT_HORIZONTAL_ALIGNMENT,\n} from '@pepperi-addons/ngx-lib';\n\n@Component({\n selector: 'pep-separator',\n templateUrl: './separator.component.html',\n styleUrls: ['./separator.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PepSeparatorComponent implements OnInit {\n @Input() key = '';\n @Input() label = '';\n @Input() xAlignment: PepHorizontalAlignment = DEFAULT_HORIZONTAL_ALIGNMENT;\n\n controlType = 'separator';\n\n @Input() form: FormGroup = null;\n @Input() layoutType: PepLayoutType = 'form';\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 standAlone = false;\n\n constructor(private renderer: Renderer2, private element: ElementRef) { }\n\n ngOnInit(): void {\n if (this.form === null) {\n this.standAlone = true;\n\n this.renderer.addClass(\n this.element.nativeElement,\n PepCustomizationService.STAND_ALONE_FIELD_CLASS_NAME\n );\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { PepSeparatorComponent } from './separator.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [PepSeparatorComponent],\n declarations: [PepSeparatorComponent],\n})\nexport class PepSeparatorModule {}\n","/*\n * Public API Surface of ngx-lib/separator\n */\nexport * from './separator.module';\nexport * from './separator.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;MAsBa,qBAAqB;IAgC9B,YAAoB,QAAmB,EAAU,OAAmB;QAAhD,aAAQ,GAAR,QAAQ,CAAW;QAAU,YAAO,GAAP,OAAO,CAAY;QA/B3D,QAAG,GAAG,EAAE,CAAC;QACT,UAAK,GAAG,EAAE,CAAC;QACX,eAAU,GAA2B,4BAA4B,CAAC;QAE3E,gBAAW,GAAG,WAAW,CAAC;QAEjB,SAAI,GAAc,IAAI,CAAC;QACvB,eAAU,GAAkB,MAAM,CAAC;QAEpC,aAAQ,GAAG,IAAI,CAAC;QAoBxB,eAAU,GAAG,KAAK,CAAC;KAEsD;IArBzE,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;IAMD,QAAQ;QACJ,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE;YACpB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YAEvB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAClB,IAAI,CAAC,OAAO,CAAC,aAAa,EAC1B,uBAAuB,CAAC,4BAA4B,CACvD,CAAC;SACL;KACJ;;;YAjDJ,SAAS,SAAC;gBACP,QAAQ,EAAE,eAAe;gBACzB,4uBAAyC;gBAEzC,eAAe,EAAE,uBAAuB,CAAC,MAAM;;aAClD;;;YAhBG,SAAS;YACT,UAAU;;;kBAiBT,KAAK;oBACL,KAAK;yBACL,KAAK;mBAIL,KAAK;yBACL,KAAK;sBAGL,KAAK;;;MCvBG,kBAAkB;;;YAL9B,QAAQ,SAAC;gBACN,OAAO,EAAE,CAAC,YAAY,CAAC;gBACvB,OAAO,EAAE,CAAC,qBAAqB,CAAC;gBAChC,YAAY,EAAE,CAAC,qBAAqB,CAAC;aACxC;;;ACTD;;;;ACAA;;;;;;"}
@@ -115,7 +115,7 @@ PepSideBarComponent.ONE_MULTI_BY_DIR_KEY = '--pep-one-multi-by-dir';
115
115
  PepSideBarComponent.decorators = [
116
116
  { type: Component, args: [{
117
117
  selector: 'pep-side-bar',
118
- template: "<div class=\"pep-side-bar-container\">\r\n <ng-container *ngIf=\"isLargeScreen || ignoreResize; then largeScreensBlock; else notLargeScreensBlock\">\r\n </ng-container>\r\n <ng-template #largeScreensBlock>\r\n <div class=\"toggle-side-bar-container\" [ngClass]=\"{ 'is-open-state': state === 'open'}\">\r\n <ng-container *ngTemplateOutlet=\"sideLayoutTemplate\"></ng-container>\r\n <div class=\"toggle-button-border\"></div>\r\n <button mat-button class=\"toggle-button pep-button xs regular icon-button \" (click)=\"toggleSideWrapper()\">\r\n <mat-icon>\r\n <pep-icon [name]=\"toggleButtonArrowName\">\r\n </pep-icon>\r\n </mat-icon>\r\n </button>\r\n </div>\r\n </ng-template>\r\n <ng-template #notLargeScreensBlock>\r\n <mat-sidenav-container [hasBackdrop]=\"true\">\r\n <mat-sidenav #sidenav mode=\"over\" autoFocus=\"false\" fixedInViewport=\"false\"\r\n (openedChange)=\"toggleSidenav($event)\">\r\n <ng-container *ngTemplateOutlet=\"sideLayoutTemplate\"></ng-container>\r\n </mat-sidenav>\r\n </mat-sidenav-container>\r\n </ng-template>\r\n</div>\r\n\r\n<ng-template #sideLayoutTemplate>\r\n <div class=\"side-layout\">\r\n <div *ngIf=\"showHeader\" class=\"header-content\">\r\n <div class=\"content pep-border-bottom body-lg ellipsis\">\r\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\r\n </div>\r\n </div>\r\n <div class=\"main-content\">\r\n <div class=\"content\">\r\n <ng-container *ngTemplateOutlet=\"startContentTemplate\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"filtersTemplate\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"smartFiltersTemplate\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"endContentTemplate\"></ng-container>\r\n </div>\r\n </div>\r\n <div *ngIf=\"showFooter\" class=\"footer-content\">\r\n <div class=\"content pep-border-top body-lg ellipsis\">\r\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n\r\n<ng-template #headerTemplate>\r\n <ng-content select=\"[header-content]\"></ng-content>\r\n</ng-template>\r\n\r\n<ng-template #startContentTemplate>\r\n <ng-content select=\"[start-content]\"></ng-content>\r\n</ng-template>\r\n\r\n<ng-template #contentTemplate>\r\n <ng-content></ng-content>\r\n</ng-template>\r\n\r\n<ng-template #endContentTemplate>\r\n <ng-content select=\"[end-content]\"></ng-content>\r\n</ng-template>\r\n\r\n<ng-template #filtersTemplate>\r\n\r\n</ng-template>\r\n\r\n<ng-template #smartFiltersTemplate>\r\n <ng-content select=\"pep-smart-filters\"></ng-content>\r\n</ng-template>\r\n\r\n<ng-template #footerTemplate>\r\n <ng-content select=\"[footer-content]\"></ng-content>\r\n</ng-template>",
118
+ template: "<div class=\"pep-side-bar-container\">\n <ng-container *ngIf=\"isLargeScreen || ignoreResize; then largeScreensBlock; else notLargeScreensBlock\">\n </ng-container>\n <ng-template #largeScreensBlock>\n <div class=\"toggle-side-bar-container\" [ngClass]=\"{ 'is-open-state': state === 'open'}\">\n <ng-container *ngTemplateOutlet=\"sideLayoutTemplate\"></ng-container>\n <div class=\"toggle-button-border\"></div>\n <button mat-button class=\"toggle-button pep-button xs regular icon-button \" (click)=\"toggleSideWrapper()\">\n <mat-icon>\n <pep-icon [name]=\"toggleButtonArrowName\">\n </pep-icon>\n </mat-icon>\n </button>\n </div>\n </ng-template>\n <ng-template #notLargeScreensBlock>\n <mat-sidenav-container [hasBackdrop]=\"true\">\n <mat-sidenav #sidenav mode=\"over\" autoFocus=\"false\" fixedInViewport=\"false\"\n (openedChange)=\"toggleSidenav($event)\">\n <ng-container *ngTemplateOutlet=\"sideLayoutTemplate\"></ng-container>\n </mat-sidenav>\n </mat-sidenav-container>\n </ng-template>\n</div>\n\n<ng-template #sideLayoutTemplate>\n <div class=\"side-layout\">\n <div *ngIf=\"showHeader\" class=\"header-content\">\n <div class=\"content pep-border-bottom body-lg ellipsis\">\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n </div>\n </div>\n <div class=\"main-content\">\n <div class=\"content\">\n <ng-container *ngTemplateOutlet=\"startContentTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"filtersTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"smartFiltersTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"endContentTemplate\"></ng-container>\n </div>\n </div>\n <div *ngIf=\"showFooter\" class=\"footer-content\">\n <div class=\"content pep-border-top body-lg ellipsis\">\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\n </div>\n </div>\n </div>\n</ng-template>\n\n\n<ng-template #headerTemplate>\n <ng-content select=\"[header-content]\"></ng-content>\n</ng-template>\n\n<ng-template #startContentTemplate>\n <ng-content select=\"[start-content]\"></ng-content>\n</ng-template>\n\n<ng-template #contentTemplate>\n <ng-content></ng-content>\n</ng-template>\n\n<ng-template #endContentTemplate>\n <ng-content select=\"[end-content]\"></ng-content>\n</ng-template>\n\n<ng-template #filtersTemplate>\n\n</ng-template>\n\n<ng-template #smartFiltersTemplate>\n <ng-content select=\"pep-smart-filters\"></ng-content>\n</ng-template>\n\n<ng-template #footerTemplate>\n <ng-content select=\"[footer-content]\"></ng-content>\n</ng-template>",
119
119
  styles: [".pep-side-bar-container{height:100%}.pep-side-bar-container .toggle-side-bar-container{height:inherit;display:grid;grid-auto-flow:column;transition:transform .35s ease-out,width .35s ease-out;transform:translateX(calc(var(--pep-one-multi-by-dir) * 16rem));transform:translateX(calc(var(--pep-one-multi-by-dir) * var(--pep-side-bar-width, 16rem)));width:calc((1rem * 2) + 1px);width:calc((var(--pep-spacing-lg, 1rem) * 2) + 1px)}.pep-side-bar-container .toggle-side-bar-container.is-open-state{transition:transform .35s ease-out,width .35s ease-out;transform:unset;width:16rem;width:var(--pep-side-bar-width,16rem)}.pep-side-bar-container .toggle-side-bar-container.is-open-state .toggle-button{transition:margin-inline .35s ease-out,transform .35s ease-out;transform:rotate(180deg);margin-inline:-3rem .25rem}.pep-side-bar-container .toggle-side-bar-container.is-open-state .toggle-button-border{transition:opacity calc(calc(.35s / 3) * 2) ease-out,margin-inline .35s ease-out;opacity:0;margin-inline:-3rem .25rem}.pep-side-bar-container .toggle-side-bar-container .toggle-button{z-index:2;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-top:calc(calc(1.5rem + .5rem + 2.5rem) - .75rem);margin-top:calc(calc(var(--pep-top-bar-spacing-top, 1.5rem) + var(--pep-top-bar-spacing-bottom, .5rem) + var(--pep-top-bar-field-height, 2.5rem)) - .75rem);transition:margin-inline .35s ease-out,transform .35s ease-out;transform:rotate(0deg);margin-inline:calc(-1 * .75rem) .25rem}.pep-side-bar-container .toggle-side-bar-container .toggle-button-border{transition:opacity calc(calc(.35s / 3) * 2) calc(.35s / 3) ease-out,margin-inline .35s ease-out;opacity:1;margin-inline:unset;width:1px;-webkit-padding-start:1rem;padding-inline-start:1rem;-webkit-padding-start:var(--pep-spacing-lg,1rem);padding-inline-start:var(--pep-spacing-lg,1rem);margin-top:1.5rem;margin-top:var(--pep-top-bar-spacing-top,1.5rem)}.pep-side-bar-container .mat-sidenav-container{position:absolute;bottom:0;left:0;right:0;z-index:999;height:calc(100vh - 4rem);height:calc(100vh - var(--pep-header-height, 4rem));visibility:hidden}.pep-side-bar-container .mat-sidenav-container.mat-drawer-opened{visibility:unset}.pep-side-bar-container .mat-sidenav-container .mat-sidenav{max-width:calc(calc(16rem + 2rem) + calc(1rem * 2));max-width:calc(calc(var(--pep-side-bar-width, 16rem) + var(--pep-spacing-2xl, 2rem)) + calc(var(--pep-spacing-lg, 1rem) * 2));padding-inline:1rem;padding-inline:var(--pep-spacing-lg,1rem)}@media (max-width:599px){.pep-side-bar-container .mat-sidenav-container .mat-sidenav{padding-inline:0}}.pep-side-bar-container .mat-sidenav-container .mat-sidenav .side-layout{max-width:calc(16rem + 2rem);max-width:calc(var(--pep-side-bar-width, 16rem) + var(--pep-spacing-2xl, 2rem));width:calc(16rem + 2rem);width:calc(var(--pep-side-bar-width, 16rem) + var(--pep-spacing-2xl, 2rem))}.pep-side-bar-container .side-layout{display:block;max-width:16rem;max-width:var(--pep-side-bar-width,16rem);width:16rem;width:var(--pep-side-bar-width,16rem);padding:0 1rem;padding:0 var(--pep-spacing-lg,1rem);overflow:auto}.pep-side-bar-container .side-layout .header-content{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));padding-top:1.5rem;padding-top:var(--pep-top-bar-spacing-top,1.5rem);z-index:2;position:sticky;top:0}.pep-side-bar-container .side-layout .header-content .content{height:calc(.5rem + 2.5rem);height:calc(var(--pep-top-bar-spacing-bottom, .5rem) + var(--pep-top-bar-field-height, 2.5rem));display:flex;overflow:unset}.pep-side-bar-container .side-layout .footer-content{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))}.pep-side-bar-container .side-layout .main-content{display:block;height:inherit;max-width:16rem;max-width:var(--pep-side-bar-width,16rem)}.pep-side-bar-container .side-layout .main-content .content{height:inherit}"]
120
120
  },] },
121
121
  { type: Injectable }
@@ -1 +1 @@
1
- {"version":3,"file":"pepperi-addons-ngx-lib-side-bar.js","sources":["../../../projects/ngx-lib/side-bar/side-bar.component.ts","../../../projects/ngx-lib/side-bar/side-bar.module.ts","../../../projects/ngx-lib/side-bar/public-api.ts","../../../projects/ngx-lib/side-bar/pepperi-addons-ngx-lib-side-bar.ts"],"sourcesContent":["import {\r\n Component,\r\n OnInit,\r\n Injectable,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n ViewChild,\r\n ElementRef,\r\n Renderer2,\r\n} from '@angular/core';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\nimport {\r\n trigger,\r\n state,\r\n style,\r\n transition,\r\n animate,\r\n} from '@angular/animations';\r\nimport {\r\n PepCustomizationService,\r\n PepLayoutService,\r\n PepScreenSizeType,\r\n} from '@pepperi-addons/ngx-lib';\r\nimport { IPepSideBarStateChangeEvent, PepSideBarStateType } from './side-bar.model';\r\nimport { pepIconArrowLeft, pepIconArrowRight } from '@pepperi-addons/ngx-lib/icon';\r\n\r\n@Component({\r\n selector: 'pep-side-bar',\r\n templateUrl: './side-bar.component.html',\r\n styleUrls: ['./side-bar.component.scss']\r\n})\r\n@Injectable()\r\nexport class PepSideBarComponent implements OnInit {\r\n static ONE_MULTI_BY_DIR_KEY = '--pep-one-multi-by-dir';\r\n\r\n @Input() ignoreResize = false;\r\n @Input() showHeader = true;\r\n @Input() showFooter = false;\r\n\r\n private _useAsWebComponent = false;\r\n private readonly _animationTime = 350; // milliseconds.\r\n\r\n state: PepSideBarStateType = 'open';\r\n toggleButtonArrowName: string = pepIconArrowRight.name;\r\n isLargeScreen = true;\r\n\r\n @Input()\r\n set useAsWebComponent(value: boolean) {\r\n if (value) {\r\n this.exportFunctionsOnHostElement();\r\n }\r\n }\r\n get useAsWebComponent(): boolean {\r\n return this._useAsWebComponent;\r\n }\r\n\r\n @Output()\r\n stateChange: EventEmitter<IPepSideBarStateChangeEvent> = new EventEmitter<IPepSideBarStateChangeEvent>();\r\n\r\n @ViewChild('sidenav') sidenav: MatSidenav;\r\n\r\n isMouseIn = false;\r\n sideBarHeight = '100%';\r\n\r\n screenSize: PepScreenSizeType;\r\n PepScreenSizeType = PepScreenSizeType;\r\n\r\n constructor(\r\n private hostElement: ElementRef,\r\n private renderer: Renderer2,\r\n public layoutService: PepLayoutService\r\n ) {\r\n this.layoutService.onResize$.subscribe((size: PepScreenSizeType) => {\r\n this.screenSize = size;\r\n this.isLargeScreen = size < PepScreenSizeType.MD;\r\n });\r\n }\r\n\r\n private exportFunctionsOnHostElement() {\r\n // This is for web component usage for use those functions.\r\n this.hostElement.nativeElement.open = this.open.bind(this);\r\n this.hostElement.nativeElement.close = this.close.bind(this);\r\n }\r\n\r\n private setState(state: PepSideBarStateType) {\r\n this.state = state;\r\n this.toggleButtonArrowName =\r\n // state === 'open' ?\r\n // (this.layoutService.isRtl() ? pepIconArrowRight.name : pepIconArrowLeft.name) :\r\n (this.layoutService.isRtl() ? pepIconArrowLeft.name : pepIconArrowRight.name);\r\n }\r\n\r\n private toggleState() {\r\n this.setState(this.state === 'close' ? 'open' : 'close');\r\n }\r\n\r\n ngOnInit() {\r\n document.documentElement.style.setProperty(PepSideBarComponent.ONE_MULTI_BY_DIR_KEY, this.layoutService.isRtl() ? '1' : '-1');\r\n this.setState(this.isLargeScreen ? 'open' : 'close');\r\n }\r\n\r\n setSideBarHeight(event) {\r\n // const from = event.relatedTarget\r\n // ? event.relatedTarget\r\n // : event.fromElement;\r\n // const to = event.target ? event.target : event.toElement;\r\n\r\n // if (typeof from === 'undefined' || typeof to === 'undefined') {\r\n // return;\r\n // }\r\n // this.isMouseIn = true;\r\n\r\n // this.sideBarHeight = window.innerHeight - to.offsetTop + 'px';\r\n }\r\n\r\n mouseLeaveSideBar(event) {\r\n // const from = event.relatedTarget\r\n // ? event.relatedTarget\r\n // : event.fromElement;\r\n // const to = event.target ? event.target : event.toElement;\r\n\r\n // if (typeof from === 'undefined' || typeof to === 'undefined') {\r\n // return;\r\n // }\r\n // this.sideBarHeight = '100%';\r\n // this.isMouseIn = false;\r\n }\r\n\r\n open() {\r\n if (this.sidenav) {\r\n this.sidenav.open();\r\n }\r\n\r\n this.state = 'open';\r\n }\r\n\r\n close() {\r\n if (this.sidenav) {\r\n this.sidenav.close();\r\n }\r\n\r\n this.state = 'close';\r\n }\r\n\r\n toggle() {\r\n if (this.sidenav) {\r\n // const isOpen = this.sidenav.opened;\r\n this.sidenav.toggle();\r\n }\r\n\r\n this.toggleState();\r\n }\r\n\r\n toggleSideWrapper() {\r\n this.toggleState();\r\n // Raise event after animation finish.\r\n setTimeout(() => {\r\n this.stateChange.emit({ state: this.state });\r\n }, this._animationTime);\r\n }\r\n\r\n toggleSidenav(isOpen: boolean) {\r\n this.setState(isOpen ? 'open' : 'close');\r\n // Raise event after animation finish.\r\n setTimeout(() => {\r\n this.stateChange.emit({ state: this.state });\r\n }, this._animationTime);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { MatCommonModule } from '@angular/material/core';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatSidenavModule } from '@angular/material/sidenav';\r\n\r\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\r\nimport {\r\n PepIconModule,\r\n PepIconRegistry,\r\n pepIconSystemClose,\r\n} from '@pepperi-addons/ngx-lib/icon';\r\n\r\nimport { PepSideBarComponent } from './side-bar.component';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n // Material modules,\r\n MatCommonModule,\r\n MatIconModule,\r\n MatSidenavModule,\r\n // ngx-lib modules\r\n PepNgxLibModule,\r\n PepIconModule,\r\n ],\r\n exports: [PepSideBarComponent],\r\n declarations: [PepSideBarComponent],\r\n})\r\nexport class PepSideBarModule {\r\n constructor(private pepIconRegistry: PepIconRegistry) {\r\n this.pepIconRegistry.registerIcons([pepIconSystemClose]);\r\n }\r\n}\r\n","/*\r\n * Public API Surface of ngx-lib/side-bar\r\n */\r\nexport * from './side-bar.module';\r\nexport * from './side-bar.component';\r\nexport * from './side-bar.model';\r\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-side-bar.js","sources":["../../../projects/ngx-lib/side-bar/side-bar.component.ts","../../../projects/ngx-lib/side-bar/side-bar.module.ts","../../../projects/ngx-lib/side-bar/public-api.ts","../../../projects/ngx-lib/side-bar/pepperi-addons-ngx-lib-side-bar.ts"],"sourcesContent":["import {\n Component,\n OnInit,\n Injectable,\n Input,\n Output,\n EventEmitter,\n ViewChild,\n ElementRef,\n Renderer2,\n} from '@angular/core';\nimport { MatSidenav } from '@angular/material/sidenav';\nimport {\n trigger,\n state,\n style,\n transition,\n animate,\n} from '@angular/animations';\nimport {\n PepCustomizationService,\n PepLayoutService,\n PepScreenSizeType,\n} from '@pepperi-addons/ngx-lib';\nimport { IPepSideBarStateChangeEvent, PepSideBarStateType } from './side-bar.model';\nimport { pepIconArrowLeft, pepIconArrowRight } from '@pepperi-addons/ngx-lib/icon';\n\n@Component({\n selector: 'pep-side-bar',\n templateUrl: './side-bar.component.html',\n styleUrls: ['./side-bar.component.scss']\n})\n@Injectable()\nexport class PepSideBarComponent implements OnInit {\n static ONE_MULTI_BY_DIR_KEY = '--pep-one-multi-by-dir';\n\n @Input() ignoreResize = false;\n @Input() showHeader = true;\n @Input() showFooter = false;\n\n private _useAsWebComponent = false;\n private readonly _animationTime = 350; // milliseconds.\n\n state: PepSideBarStateType = 'open';\n toggleButtonArrowName: string = pepIconArrowRight.name;\n isLargeScreen = true;\n\n @Input()\n set useAsWebComponent(value: boolean) {\n if (value) {\n this.exportFunctionsOnHostElement();\n }\n }\n get useAsWebComponent(): boolean {\n return this._useAsWebComponent;\n }\n\n @Output()\n stateChange: EventEmitter<IPepSideBarStateChangeEvent> = new EventEmitter<IPepSideBarStateChangeEvent>();\n\n @ViewChild('sidenav') sidenav: MatSidenav;\n\n isMouseIn = false;\n sideBarHeight = '100%';\n\n screenSize: PepScreenSizeType;\n PepScreenSizeType = PepScreenSizeType;\n\n constructor(\n private hostElement: ElementRef,\n private renderer: Renderer2,\n public layoutService: PepLayoutService\n ) {\n this.layoutService.onResize$.subscribe((size: PepScreenSizeType) => {\n this.screenSize = size;\n this.isLargeScreen = size < PepScreenSizeType.MD;\n });\n }\n\n private exportFunctionsOnHostElement() {\n // This is for web component usage for use those functions.\n this.hostElement.nativeElement.open = this.open.bind(this);\n this.hostElement.nativeElement.close = this.close.bind(this);\n }\n\n private setState(state: PepSideBarStateType) {\n this.state = state;\n this.toggleButtonArrowName =\n // state === 'open' ?\n // (this.layoutService.isRtl() ? pepIconArrowRight.name : pepIconArrowLeft.name) :\n (this.layoutService.isRtl() ? pepIconArrowLeft.name : pepIconArrowRight.name);\n }\n\n private toggleState() {\n this.setState(this.state === 'close' ? 'open' : 'close');\n }\n\n ngOnInit() {\n document.documentElement.style.setProperty(PepSideBarComponent.ONE_MULTI_BY_DIR_KEY, this.layoutService.isRtl() ? '1' : '-1');\n this.setState(this.isLargeScreen ? 'open' : 'close');\n }\n\n setSideBarHeight(event) {\n // const from = event.relatedTarget\n // ? event.relatedTarget\n // : event.fromElement;\n // const to = event.target ? event.target : event.toElement;\n\n // if (typeof from === 'undefined' || typeof to === 'undefined') {\n // return;\n // }\n // this.isMouseIn = true;\n\n // this.sideBarHeight = window.innerHeight - to.offsetTop + 'px';\n }\n\n mouseLeaveSideBar(event) {\n // const from = event.relatedTarget\n // ? event.relatedTarget\n // : event.fromElement;\n // const to = event.target ? event.target : event.toElement;\n\n // if (typeof from === 'undefined' || typeof to === 'undefined') {\n // return;\n // }\n // this.sideBarHeight = '100%';\n // this.isMouseIn = false;\n }\n\n open() {\n if (this.sidenav) {\n this.sidenav.open();\n }\n\n this.state = 'open';\n }\n\n close() {\n if (this.sidenav) {\n this.sidenav.close();\n }\n\n this.state = 'close';\n }\n\n toggle() {\n if (this.sidenav) {\n // const isOpen = this.sidenav.opened;\n this.sidenav.toggle();\n }\n\n this.toggleState();\n }\n\n toggleSideWrapper() {\n this.toggleState();\n // Raise event after animation finish.\n setTimeout(() => {\n this.stateChange.emit({ state: this.state });\n }, this._animationTime);\n }\n\n toggleSidenav(isOpen: boolean) {\n this.setState(isOpen ? 'open' : 'close');\n // Raise event after animation finish.\n setTimeout(() => {\n this.stateChange.emit({ state: this.state });\n }, this._animationTime);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { MatCommonModule } from '@angular/material/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatSidenavModule } from '@angular/material/sidenav';\n\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\nimport {\n PepIconModule,\n PepIconRegistry,\n pepIconSystemClose,\n} from '@pepperi-addons/ngx-lib/icon';\n\nimport { PepSideBarComponent } from './side-bar.component';\n\n@NgModule({\n imports: [\n CommonModule,\n // Material modules,\n MatCommonModule,\n MatIconModule,\n MatSidenavModule,\n // ngx-lib modules\n PepNgxLibModule,\n PepIconModule,\n ],\n exports: [PepSideBarComponent],\n declarations: [PepSideBarComponent],\n})\nexport class PepSideBarModule {\n constructor(private pepIconRegistry: PepIconRegistry) {\n this.pepIconRegistry.registerIcons([pepIconSystemClose]);\n }\n}\n","/*\n * Public API Surface of ngx-lib/side-bar\n */\nexport * from './side-bar.module';\nexport * from './side-bar.component';\nexport * from './side-bar.model';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}