@pepperi-addons/ngx-lib 0.2.60 → 0.2.61-query-builder.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (521) hide show
  1. package/README.md +39 -39
  2. package/address/address.component.theme.scss +5 -8
  3. package/address/pepperi-addons-ngx-lib-address.metadata.json +1 -1
  4. package/attachment/attachment.component.d.ts +1 -0
  5. package/attachment/attachment.component.theme.scss +1 -3
  6. package/attachment/pepperi-addons-ngx-lib-attachment.metadata.json +1 -1
  7. package/bread-crumbs/bread-crumbs.component.theme.scss +9 -9
  8. package/bread-crumbs/pepperi-addons-ngx-lib-bread-crumbs.metadata.json +1 -1
  9. package/bundles/pepperi-addons-ngx-lib-address.umd.js +2 -2
  10. package/bundles/pepperi-addons-ngx-lib-address.umd.js.map +1 -1
  11. package/bundles/pepperi-addons-ngx-lib-attachment.umd.js +7 -2
  12. package/bundles/pepperi-addons-ngx-lib-attachment.umd.js.map +1 -1
  13. package/bundles/pepperi-addons-ngx-lib-bread-crumbs.umd.js +2 -2
  14. package/bundles/pepperi-addons-ngx-lib-bread-crumbs.umd.js.map +1 -1
  15. package/bundles/pepperi-addons-ngx-lib-button.umd.js +2 -2
  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 +5 -2
  19. package/bundles/pepperi-addons-ngx-lib-checkbox.umd.js.map +1 -1
  20. package/bundles/pepperi-addons-ngx-lib-color.umd.js +9 -4
  21. package/bundles/pepperi-addons-ngx-lib-color.umd.js.map +1 -1
  22. package/bundles/pepperi-addons-ngx-lib-date.umd.js +6 -4
  23. package/bundles/pepperi-addons-ngx-lib-date.umd.js.map +1 -1
  24. package/bundles/pepperi-addons-ngx-lib-dialog.umd.js +3 -3
  25. package/bundles/pepperi-addons-ngx-lib-dialog.umd.js.map +1 -1
  26. package/bundles/pepperi-addons-ngx-lib-field-title.umd.js +2 -2
  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 +2 -2
  29. package/bundles/pepperi-addons-ngx-lib-files-uploader.umd.js.map +1 -1
  30. package/bundles/pepperi-addons-ngx-lib-form.umd.js +27 -24
  31. package/bundles/pepperi-addons-ngx-lib-form.umd.js.map +1 -1
  32. package/bundles/pepperi-addons-ngx-lib-group-buttons.umd.js +2 -2
  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 +7 -2
  36. package/bundles/pepperi-addons-ngx-lib-image.umd.js.map +1 -1
  37. package/bundles/pepperi-addons-ngx-lib-images-filmstrip.umd.js +7 -2
  38. package/bundles/pepperi-addons-ngx-lib-images-filmstrip.umd.js.map +1 -1
  39. package/bundles/pepperi-addons-ngx-lib-list.umd.js +9 -9
  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 +7 -2
  46. package/bundles/pepperi-addons-ngx-lib-quantity-selector.umd.js.map +1 -1
  47. package/bundles/pepperi-addons-ngx-lib-query-builder.umd.js +1101 -0
  48. package/bundles/pepperi-addons-ngx-lib-query-builder.umd.js.map +1 -0
  49. package/bundles/pepperi-addons-ngx-lib-rich-html-textarea.umd.js +7 -2
  50. package/bundles/pepperi-addons-ngx-lib-rich-html-textarea.umd.js.map +1 -1
  51. package/bundles/pepperi-addons-ngx-lib-search.umd.js +1 -1
  52. package/bundles/pepperi-addons-ngx-lib-search.umd.js.map +1 -1
  53. package/bundles/pepperi-addons-ngx-lib-select.umd.js +7 -2
  54. package/bundles/pepperi-addons-ngx-lib-select.umd.js.map +1 -1
  55. package/bundles/pepperi-addons-ngx-lib-separator.umd.js +10 -2
  56. package/bundles/pepperi-addons-ngx-lib-separator.umd.js.map +1 -1
  57. package/bundles/pepperi-addons-ngx-lib-side-bar.umd.js +2 -2
  58. package/bundles/pepperi-addons-ngx-lib-side-bar.umd.js.map +1 -1
  59. package/bundles/pepperi-addons-ngx-lib-signature.umd.js +7 -2
  60. package/bundles/pepperi-addons-ngx-lib-signature.umd.js.map +1 -1
  61. package/bundles/pepperi-addons-ngx-lib-size-detector.umd.js +1 -1
  62. package/bundles/pepperi-addons-ngx-lib-size-detector.umd.js.map +1 -1
  63. package/bundles/pepperi-addons-ngx-lib-slider.umd.js +2 -2
  64. package/bundles/pepperi-addons-ngx-lib-slider.umd.js.map +1 -1
  65. package/bundles/pepperi-addons-ngx-lib-smart-filters.umd.js +308 -41
  66. package/bundles/pepperi-addons-ngx-lib-smart-filters.umd.js.map +1 -1
  67. package/bundles/pepperi-addons-ngx-lib-textarea.umd.js +7 -2
  68. package/bundles/pepperi-addons-ngx-lib-textarea.umd.js.map +1 -1
  69. package/bundles/pepperi-addons-ngx-lib-textbox-icon.umd.js +1 -1
  70. package/bundles/pepperi-addons-ngx-lib-textbox-icon.umd.js.map +1 -1
  71. package/bundles/pepperi-addons-ngx-lib-textbox.umd.js +6 -4
  72. package/bundles/pepperi-addons-ngx-lib-textbox.umd.js.map +1 -1
  73. package/bundles/pepperi-addons-ngx-lib-top-bar.umd.js +2 -2
  74. package/bundles/pepperi-addons-ngx-lib-top-bar.umd.js.map +1 -1
  75. package/bundles/pepperi-addons-ngx-lib.umd.js +38 -36
  76. package/bundles/pepperi-addons-ngx-lib.umd.js.map +1 -1
  77. package/button/button.component.theme.scss +0 -2
  78. package/button/pepperi-addons-ngx-lib-button.metadata.json +1 -1
  79. package/checkbox/checkbox.component.theme.scss +0 -2
  80. package/checkbox/pepperi-addons-ngx-lib-checkbox.metadata.json +1 -1
  81. package/color/color-picker.component.theme.scss +169 -175
  82. package/color/color.component.d.ts +1 -0
  83. package/color/color.component.theme.scss +0 -7
  84. package/color/pepperi-addons-ngx-lib-color.metadata.json +1 -1
  85. package/core/common/services/addon.service.d.ts +1 -2
  86. package/core/common/services/file.service.d.ts +4 -4
  87. package/core/customization/customization.service.d.ts +1 -0
  88. package/date/date.component.theme.scss +0 -169
  89. package/date/pepperi-addons-ngx-lib-date.metadata.json +1 -1
  90. package/dialog/dialog.component.theme.scss +5 -5
  91. package/dialog/pepperi-addons-ngx-lib-dialog.metadata.json +1 -1
  92. package/esm2015/address/address.component.js +3 -3
  93. package/esm2015/address/address.module.js +1 -1
  94. package/esm2015/address/public-api.js +1 -1
  95. package/esm2015/attachment/attachment.component.js +8 -3
  96. package/esm2015/attachment/attachment.module.js +1 -1
  97. package/esm2015/attachment/public-api.js +1 -1
  98. package/esm2015/bread-crumbs/bread-crumbs.component.js +3 -3
  99. package/esm2015/bread-crumbs/bread-crumbs.model.js +1 -1
  100. package/esm2015/bread-crumbs/bread-crumbs.module.js +1 -1
  101. package/esm2015/bread-crumbs/public-api.js +1 -1
  102. package/esm2015/button/button.component.js +3 -3
  103. package/esm2015/button/button.model.js +1 -1
  104. package/esm2015/button/button.module.js +1 -1
  105. package/esm2015/button/public-api.js +1 -1
  106. package/esm2015/carousel/carousel-item.directive.js +1 -1
  107. package/esm2015/carousel/carousel.component.js +15 -15
  108. package/esm2015/carousel/carousel.module.js +1 -1
  109. package/esm2015/carousel/public-api.js +1 -1
  110. package/esm2015/checkbox/checkbox.component.js +6 -3
  111. package/esm2015/checkbox/checkbox.module.js +1 -1
  112. package/esm2015/checkbox/public-api.js +1 -1
  113. package/esm2015/color/color-picker.component.js +29 -29
  114. package/esm2015/color/color.component.js +8 -3
  115. package/esm2015/color/color.model.js +1 -1
  116. package/esm2015/color/color.module.js +1 -1
  117. package/esm2015/color/public-api.js +1 -1
  118. package/esm2015/core/clipboard/clipboard.directive.js +1 -1
  119. package/esm2015/core/clipboard/clipboard.service.js +1 -1
  120. package/esm2015/core/clipboard/index.js +1 -1
  121. package/esm2015/core/clipboard/public-api.js +1 -1
  122. package/esm2015/core/common/directives/auto-width.directive.js +1 -1
  123. package/esm2015/core/common/directives/button-blur.directive.js +1 -1
  124. package/esm2015/core/common/directives/button-loader.directive.js +1 -1
  125. package/esm2015/core/common/directives/data-qa.directive.js +1 -1
  126. package/esm2015/core/common/directives/index.js +1 -1
  127. package/esm2015/core/common/directives/menu-blur.directive.js +1 -1
  128. package/esm2015/core/common/directives/prevent-multi-click.directive.js +1 -1
  129. package/esm2015/core/common/directives/public-api.js +1 -1
  130. package/esm2015/core/common/index.js +1 -1
  131. package/esm2015/core/common/model/index.js +1 -1
  132. package/esm2015/core/common/model/papi.model.js +1 -1
  133. package/esm2015/core/common/model/public-api.js +1 -1
  134. package/esm2015/core/common/model/utilities.model.js +1 -1
  135. package/esm2015/core/common/model/wapi.model.js +1 -1
  136. package/esm2015/core/common/pipes/common-pipes.js +1 -1
  137. package/esm2015/core/common/pipes/index.js +1 -1
  138. package/esm2015/core/common/pipes/public-api.js +1 -1
  139. package/esm2015/core/common/public-api.js +1 -1
  140. package/esm2015/core/common/services/addon.service.js +4 -19
  141. package/esm2015/core/common/services/color.service.js +1 -1
  142. package/esm2015/core/common/services/cookie.service.js +1 -1
  143. package/esm2015/core/common/services/data-convertor.service.js +1 -1
  144. package/esm2015/core/common/services/file.service.js +9 -9
  145. package/esm2015/core/common/services/index.js +1 -1
  146. package/esm2015/core/common/services/jwt-helper.service.js +1 -1
  147. package/esm2015/core/common/services/public-api.js +1 -1
  148. package/esm2015/core/common/services/session.service.js +1 -1
  149. package/esm2015/core/common/services/utilities.service.js +25 -4
  150. package/esm2015/core/common/services/validator.service.js +1 -1
  151. package/esm2015/core/common/services/window-scrolling.service.js +5 -5
  152. package/esm2015/core/customization/customization.model.js +1 -1
  153. package/esm2015/core/customization/customization.service.js +4 -2
  154. package/esm2015/core/customization/index.js +1 -1
  155. package/esm2015/core/customization/public-api.js +1 -1
  156. package/esm2015/core/http/index.js +1 -1
  157. package/esm2015/core/http/interceptors/error.interceptor.js +1 -1
  158. package/esm2015/core/http/interceptors/index.js +1 -1
  159. package/esm2015/core/http/interceptors/loader.interceptor.js +1 -1
  160. package/esm2015/core/http/interceptors/profiler.interceptor.js +1 -1
  161. package/esm2015/core/http/public-api.js +1 -1
  162. package/esm2015/core/http/services/http.service.js +1 -1
  163. package/esm2015/core/http/services/loader.service.js +1 -1
  164. package/esm2015/core/index.js +1 -1
  165. package/esm2015/core/layout/index.js +1 -1
  166. package/esm2015/core/layout/layout.service.js +1 -1
  167. package/esm2015/core/layout/public-api.js +1 -1
  168. package/esm2015/core/layout/rtl.directive.js +1 -1
  169. package/esm2015/core/portal/attach.directive.js +1 -1
  170. package/esm2015/core/portal/index.js +1 -1
  171. package/esm2015/core/portal/portal.service.js +1 -1
  172. package/esm2015/core/portal/public-api.js +1 -1
  173. package/esm2015/core/portal/target.directive.js +1 -1
  174. package/esm2015/core/public-api.js +1 -1
  175. package/esm2015/core/scroll-to/index.js +1 -1
  176. package/esm2015/core/scroll-to/public-api.js +1 -1
  177. package/esm2015/core/scroll-to/scroll-to.service.js +1 -1
  178. package/esm2015/date/date.component.js +7 -5
  179. package/esm2015/date/date.module.js +1 -1
  180. package/esm2015/date/public-api.js +1 -1
  181. package/esm2015/dialog/default-dialog.component.js +2 -2
  182. package/esm2015/dialog/dialog.component.js +3 -3
  183. package/esm2015/dialog/dialog.model.js +1 -1
  184. package/esm2015/dialog/dialog.module.js +1 -1
  185. package/esm2015/dialog/dialog.service.js +1 -1
  186. package/esm2015/dialog/public-api.js +1 -1
  187. package/esm2015/field-title/field-title.component.js +3 -3
  188. package/esm2015/field-title/field-title.module.js +1 -1
  189. package/esm2015/field-title/public-api.js +1 -1
  190. package/esm2015/files-uploader/files-uploader.component.js +3 -3
  191. package/esm2015/files-uploader/files-uploader.module.js +1 -1
  192. package/esm2015/files-uploader/public-api.js +1 -1
  193. package/esm2015/form/field-generator.component.js +2 -2
  194. package/esm2015/form/form.component.js +2 -2
  195. package/esm2015/form/form.module.js +1 -1
  196. package/esm2015/form/indicators.component.js +3 -3
  197. package/esm2015/form/internal-button.component.js +21 -18
  198. package/esm2015/form/internal-carusel.component.js +2 -2
  199. package/esm2015/form/internal-carusel.service.js +1 -1
  200. package/esm2015/form/internal-list.component.js +2 -2
  201. package/esm2015/form/internal-menu.component.js +2 -2
  202. package/esm2015/form/internal-page.component.js +2 -2
  203. package/esm2015/form/internal-page.service.js +1 -1
  204. package/esm2015/form/public-api.js +1 -1
  205. package/esm2015/group-buttons/group-buttons.component.js +3 -3
  206. package/esm2015/group-buttons/group-buttons.module.js +1 -1
  207. package/esm2015/group-buttons/public-api.js +1 -1
  208. package/esm2015/icon/icon-generated-all.model.js +1 -1
  209. package/esm2015/icon/icon-generated.model.js +1 -1
  210. package/esm2015/icon/icon-registry.service.js +2 -2
  211. package/esm2015/icon/icon.component.js +1 -1
  212. package/esm2015/icon/icon.module.js +1 -1
  213. package/esm2015/icon/public-api.js +1 -1
  214. package/esm2015/image/image.component.js +8 -3
  215. package/esm2015/image/image.module.js +1 -1
  216. package/esm2015/image/public-api.js +1 -1
  217. package/esm2015/images-filmstrip/images-filmstrip.component.js +8 -3
  218. package/esm2015/images-filmstrip/images-filmstrip.module.js +1 -1
  219. package/esm2015/images-filmstrip/public-api.js +1 -1
  220. package/esm2015/list/list-actions.component.js +2 -2
  221. package/esm2015/list/list-carousel.component.js +2 -2
  222. package/esm2015/list/list-chooser.component.js +2 -2
  223. package/esm2015/list/list-pager.component.js +2 -2
  224. package/esm2015/list/list-sorting.component.js +2 -2
  225. package/esm2015/list/list-total.component.js +3 -3
  226. package/esm2015/list/list-views.component.js +2 -2
  227. package/esm2015/list/list.component.js +2 -2
  228. package/esm2015/list/list.model.js +1 -1
  229. package/esm2015/list/list.module.js +1 -1
  230. package/esm2015/list/public-api.js +1 -1
  231. package/esm2015/menu/menu-item.component.js +2 -2
  232. package/esm2015/menu/menu.component.js +2 -2
  233. package/esm2015/menu/menu.model.js +1 -1
  234. package/esm2015/menu/menu.module.js +1 -1
  235. package/esm2015/menu/public-api.js +1 -1
  236. package/esm2015/ngx-lib.module.js +1 -1
  237. package/esm2015/page-layout/page-layout.component.js +2 -2
  238. package/esm2015/page-layout/page-layout.module.js +1 -1
  239. package/esm2015/page-layout/public-api.js +1 -1
  240. package/esm2015/public-api.js +1 -1
  241. package/esm2015/quantity-selector/public-api.js +1 -1
  242. package/esm2015/quantity-selector/quantity-selector-validation.directive.js +1 -1
  243. package/esm2015/quantity-selector/quantity-selector.component.js +8 -3
  244. package/esm2015/quantity-selector/quantity-selector.module.js +1 -1
  245. package/esm2015/quantity-selector/quantity-selector.pipes.js +1 -1
  246. package/esm2015/query-builder/common/model/filter.js +2 -0
  247. package/esm2015/query-builder/common/model/legacy.js +2 -0
  248. package/esm2015/query-builder/common/model/operator-unit.js +42 -0
  249. package/esm2015/query-builder/common/model/operator.js +207 -0
  250. package/esm2015/query-builder/common/model/structure.js +2 -0
  251. package/esm2015/query-builder/common/model/type-map.js +27 -0
  252. package/esm2015/query-builder/common/model/type.js +6 -0
  253. package/esm2015/query-builder/common/services/output-query.service.js +111 -0
  254. package/esm2015/query-builder/common/services/type-convertor.service.js +40 -0
  255. package/esm2015/query-builder/pepperi-addons-ngx-lib-query-builder.js +9 -0
  256. package/esm2015/query-builder/public-api.js +8 -0
  257. package/esm2015/query-builder/query-builder-item/query-builder-item.component.js +115 -0
  258. package/esm2015/query-builder/query-builder-section/query-builder-section.component.js +64 -0
  259. package/esm2015/query-builder/query-builder.component.js +104 -0
  260. package/esm2015/query-builder/query-builder.module.js +35 -0
  261. package/esm2015/query-builder/query-builder.service.js +280 -0
  262. package/esm2015/rich-html-textarea/public-api.js +1 -1
  263. package/esm2015/rich-html-textarea/rich-html-textarea.component.js +8 -3
  264. package/esm2015/rich-html-textarea/rich-html-textarea.module.js +1 -1
  265. package/esm2015/search/public-api.js +1 -1
  266. package/esm2015/search/search.component.js +2 -2
  267. package/esm2015/search/search.model.js +1 -1
  268. package/esm2015/search/search.module.js +1 -1
  269. package/esm2015/select/public-api.js +1 -1
  270. package/esm2015/select/select.component.js +8 -3
  271. package/esm2015/select/select.module.js +1 -1
  272. package/esm2015/separator/public-api.js +1 -1
  273. package/esm2015/separator/separator.component.js +11 -3
  274. package/esm2015/separator/separator.module.js +1 -1
  275. package/esm2015/side-bar/public-api.js +1 -1
  276. package/esm2015/side-bar/side-bar.component.js +3 -3
  277. package/esm2015/side-bar/side-bar.model.js +1 -1
  278. package/esm2015/side-bar/side-bar.module.js +1 -1
  279. package/esm2015/signature/public-api.js +1 -1
  280. package/esm2015/signature/signature.component.js +8 -3
  281. package/esm2015/signature/signature.module.js +1 -1
  282. package/esm2015/size-detector/public-api.js +1 -1
  283. package/esm2015/size-detector/size-detector.component.js +2 -2
  284. package/esm2015/size-detector/size-detector.module.js +1 -1
  285. package/esm2015/slider/public-api.js +1 -1
  286. package/esm2015/slider/slider.component.js +3 -3
  287. package/esm2015/slider/slider.module.js +1 -1
  288. package/esm2015/smart-filters/boolean-filter/boolean-filter.component.js +23 -3
  289. package/esm2015/smart-filters/common/filter-actions.component.js +2 -2
  290. package/esm2015/smart-filters/common/model/base-filter-component.js +35 -8
  291. package/esm2015/smart-filters/common/model/creator.js +8 -2
  292. package/esm2015/smart-filters/common/model/field.js +12 -1
  293. package/esm2015/smart-filters/common/model/filter.js +1 -1
  294. package/esm2015/smart-filters/common/model/operator.js +8 -8
  295. package/esm2015/smart-filters/common/model/type.js +1 -1
  296. package/esm2015/smart-filters/date-filter/date-filter.component.js +45 -2
  297. package/esm2015/smart-filters/multi-select-filter/multi-select-filter.component.js +53 -14
  298. package/esm2015/smart-filters/number-filter/number-filter.component.js +27 -2
  299. package/esm2015/smart-filters/public-api.js +2 -1
  300. package/esm2015/smart-filters/smart-filters.component.js +3 -3
  301. package/esm2015/smart-filters/smart-filters.module.js +16 -3
  302. package/esm2015/smart-filters/text-filter/text-filter.component.js +79 -0
  303. package/esm2015/textarea/public-api.js +1 -1
  304. package/esm2015/textarea/textarea.component.js +8 -3
  305. package/esm2015/textarea/textarea.module.js +1 -1
  306. package/esm2015/textbox/public-api.js +1 -1
  307. package/esm2015/textbox/textbox-validation.directive.js +1 -1
  308. package/esm2015/textbox/textbox.component.js +7 -5
  309. package/esm2015/textbox/textbox.module.js +1 -1
  310. package/esm2015/textbox-icon/public-api.js +1 -1
  311. package/esm2015/textbox-icon/textbox-icon.component.js +2 -2
  312. package/esm2015/textbox-icon/textbox-icon.module.js +1 -1
  313. package/esm2015/top-bar/public-api.js +1 -1
  314. package/esm2015/top-bar/top-bar.component.js +3 -3
  315. package/esm2015/top-bar/top-bar.model.js +1 -1
  316. package/esm2015/top-bar/top-bar.module.js +1 -1
  317. package/fesm2015/pepperi-addons-ngx-lib-address.js +2 -2
  318. package/fesm2015/pepperi-addons-ngx-lib-address.js.map +1 -1
  319. package/fesm2015/pepperi-addons-ngx-lib-attachment.js +7 -2
  320. package/fesm2015/pepperi-addons-ngx-lib-attachment.js.map +1 -1
  321. package/fesm2015/pepperi-addons-ngx-lib-bread-crumbs.js +2 -2
  322. package/fesm2015/pepperi-addons-ngx-lib-bread-crumbs.js.map +1 -1
  323. package/fesm2015/pepperi-addons-ngx-lib-button.js +2 -2
  324. package/fesm2015/pepperi-addons-ngx-lib-button.js.map +1 -1
  325. package/fesm2015/pepperi-addons-ngx-lib-carousel.js +14 -14
  326. package/fesm2015/pepperi-addons-ngx-lib-carousel.js.map +1 -1
  327. package/fesm2015/pepperi-addons-ngx-lib-checkbox.js +5 -2
  328. package/fesm2015/pepperi-addons-ngx-lib-checkbox.js.map +1 -1
  329. package/fesm2015/pepperi-addons-ngx-lib-color.js +35 -30
  330. package/fesm2015/pepperi-addons-ngx-lib-color.js.map +1 -1
  331. package/fesm2015/pepperi-addons-ngx-lib-date.js +6 -4
  332. package/fesm2015/pepperi-addons-ngx-lib-date.js.map +1 -1
  333. package/fesm2015/pepperi-addons-ngx-lib-dialog.js +3 -3
  334. package/fesm2015/pepperi-addons-ngx-lib-dialog.js.map +1 -1
  335. package/fesm2015/pepperi-addons-ngx-lib-field-title.js +2 -2
  336. package/fesm2015/pepperi-addons-ngx-lib-field-title.js.map +1 -1
  337. package/fesm2015/pepperi-addons-ngx-lib-files-uploader.js +2 -2
  338. package/fesm2015/pepperi-addons-ngx-lib-files-uploader.js.map +1 -1
  339. package/fesm2015/pepperi-addons-ngx-lib-form.js +27 -24
  340. package/fesm2015/pepperi-addons-ngx-lib-form.js.map +1 -1
  341. package/fesm2015/pepperi-addons-ngx-lib-group-buttons.js +2 -2
  342. package/fesm2015/pepperi-addons-ngx-lib-group-buttons.js.map +1 -1
  343. package/fesm2015/pepperi-addons-ngx-lib-icon.js +1 -1
  344. package/fesm2015/pepperi-addons-ngx-lib-icon.js.map +1 -1
  345. package/fesm2015/pepperi-addons-ngx-lib-image.js +7 -2
  346. package/fesm2015/pepperi-addons-ngx-lib-image.js.map +1 -1
  347. package/fesm2015/pepperi-addons-ngx-lib-images-filmstrip.js +7 -2
  348. package/fesm2015/pepperi-addons-ngx-lib-images-filmstrip.js.map +1 -1
  349. package/fesm2015/pepperi-addons-ngx-lib-list.js +9 -9
  350. package/fesm2015/pepperi-addons-ngx-lib-list.js.map +1 -1
  351. package/fesm2015/pepperi-addons-ngx-lib-menu.js +2 -2
  352. package/fesm2015/pepperi-addons-ngx-lib-menu.js.map +1 -1
  353. package/fesm2015/pepperi-addons-ngx-lib-page-layout.js +1 -1
  354. package/fesm2015/pepperi-addons-ngx-lib-page-layout.js.map +1 -1
  355. package/fesm2015/pepperi-addons-ngx-lib-quantity-selector.js +7 -2
  356. package/fesm2015/pepperi-addons-ngx-lib-quantity-selector.js.map +1 -1
  357. package/fesm2015/pepperi-addons-ngx-lib-query-builder.js +1011 -0
  358. package/fesm2015/pepperi-addons-ngx-lib-query-builder.js.map +1 -0
  359. package/fesm2015/pepperi-addons-ngx-lib-rich-html-textarea.js +7 -2
  360. package/fesm2015/pepperi-addons-ngx-lib-rich-html-textarea.js.map +1 -1
  361. package/fesm2015/pepperi-addons-ngx-lib-search.js +1 -1
  362. package/fesm2015/pepperi-addons-ngx-lib-search.js.map +1 -1
  363. package/fesm2015/pepperi-addons-ngx-lib-select.js +7 -2
  364. package/fesm2015/pepperi-addons-ngx-lib-select.js.map +1 -1
  365. package/fesm2015/pepperi-addons-ngx-lib-separator.js +10 -2
  366. package/fesm2015/pepperi-addons-ngx-lib-separator.js.map +1 -1
  367. package/fesm2015/pepperi-addons-ngx-lib-side-bar.js +2 -2
  368. package/fesm2015/pepperi-addons-ngx-lib-side-bar.js.map +1 -1
  369. package/fesm2015/pepperi-addons-ngx-lib-signature.js +7 -2
  370. package/fesm2015/pepperi-addons-ngx-lib-signature.js.map +1 -1
  371. package/fesm2015/pepperi-addons-ngx-lib-size-detector.js +1 -1
  372. package/fesm2015/pepperi-addons-ngx-lib-size-detector.js.map +1 -1
  373. package/fesm2015/pepperi-addons-ngx-lib-slider.js +2 -2
  374. package/fesm2015/pepperi-addons-ngx-lib-slider.js.map +1 -1
  375. package/fesm2015/pepperi-addons-ngx-lib-smart-filters.js +295 -38
  376. package/fesm2015/pepperi-addons-ngx-lib-smart-filters.js.map +1 -1
  377. package/fesm2015/pepperi-addons-ngx-lib-textarea.js +7 -2
  378. package/fesm2015/pepperi-addons-ngx-lib-textarea.js.map +1 -1
  379. package/fesm2015/pepperi-addons-ngx-lib-textbox-icon.js +1 -1
  380. package/fesm2015/pepperi-addons-ngx-lib-textbox-icon.js.map +1 -1
  381. package/fesm2015/pepperi-addons-ngx-lib-textbox.js +6 -4
  382. package/fesm2015/pepperi-addons-ngx-lib-textbox.js.map +1 -1
  383. package/fesm2015/pepperi-addons-ngx-lib-top-bar.js +2 -2
  384. package/fesm2015/pepperi-addons-ngx-lib-top-bar.js.map +1 -1
  385. package/fesm2015/pepperi-addons-ngx-lib.js +42 -34
  386. package/fesm2015/pepperi-addons-ngx-lib.js.map +1 -1
  387. package/field-title/field-title.component.theme.scss +0 -2
  388. package/field-title/pepperi-addons-ngx-lib-field-title.metadata.json +1 -1
  389. package/files-uploader/files-uploader.component.theme.scss +0 -2
  390. package/files-uploader/pepperi-addons-ngx-lib-files-uploader.metadata.json +1 -1
  391. package/form/indicators.component.theme.scss +7 -7
  392. package/form/internal-button.component.d.ts +0 -1
  393. package/form/pepperi-addons-ngx-lib-form.metadata.json +1 -1
  394. package/group-buttons/group-buttons.component.theme.scss +15 -15
  395. package/group-buttons/pepperi-addons-ngx-lib-group-buttons.metadata.json +1 -1
  396. package/image/image.component.d.ts +1 -0
  397. package/image/image.component.theme.scss +33 -35
  398. package/image/pepperi-addons-ngx-lib-image.metadata.json +1 -1
  399. package/images-filmstrip/images-filmstrip.component.d.ts +1 -0
  400. package/images-filmstrip/images-filmstrip.component.theme.scss +33 -32
  401. package/images-filmstrip/pepperi-addons-ngx-lib-images-filmstrip.metadata.json +1 -1
  402. package/list/list-total.component.theme.scss +10 -10
  403. package/list/pepperi-addons-ngx-lib-list.metadata.json +1 -1
  404. package/menu/pepperi-addons-ngx-lib-menu.metadata.json +1 -1
  405. package/package.json +5 -5
  406. package/page-layout/page-layout.component.theme.scss +7 -7
  407. package/page-layout/pepperi-addons-ngx-lib-page-layout.metadata.json +1 -1
  408. package/pepperi-addons-ngx-lib.metadata.json +1 -1
  409. package/quantity-selector/pepperi-addons-ngx-lib-quantity-selector.metadata.json +1 -1
  410. package/quantity-selector/quantity-selector.component.d.ts +1 -0
  411. package/quantity-selector/quantity-selector.component.theme.scss +77 -77
  412. package/query-builder/common/model/filter.d.ts +6 -0
  413. package/query-builder/common/model/legacy.d.ts +26 -0
  414. package/query-builder/common/model/operator-unit.d.ts +13 -0
  415. package/query-builder/common/model/operator.d.ts +21 -0
  416. package/query-builder/common/model/structure.d.ts +4 -0
  417. package/query-builder/common/model/type-map.d.ts +12 -0
  418. package/query-builder/common/model/type.d.ts +4 -0
  419. package/query-builder/common/services/output-query.service.d.ts +44 -0
  420. package/query-builder/common/services/type-convertor.service.d.ts +10 -0
  421. package/query-builder/package.json +14 -0
  422. package/query-builder/pepperi-addons-ngx-lib-query-builder.d.ts +8 -0
  423. package/query-builder/pepperi-addons-ngx-lib-query-builder.metadata.json +1 -0
  424. package/query-builder/public-api.d.ts +4 -0
  425. package/query-builder/query-builder-item/query-builder-item.component.d.ts +37 -0
  426. package/query-builder/query-builder-section/query-builder-section.component.d.ts +27 -0
  427. package/query-builder/query-builder-section/query-builder-section.component.theme.scss +7 -0
  428. package/query-builder/query-builder.component.d.ts +35 -0
  429. package/query-builder/query-builder.module.d.ts +2 -0
  430. package/query-builder/query-builder.service.d.ts +94 -0
  431. package/rich-html-textarea/pepperi-addons-ngx-lib-rich-html-textarea.metadata.json +1 -1
  432. package/rich-html-textarea/rich-html-textarea.component.d.ts +1 -0
  433. package/rich-html-textarea/rich-html-textarea.component.theme.scss +241 -237
  434. package/search/pepperi-addons-ngx-lib-search.metadata.json +1 -1
  435. package/select/pepperi-addons-ngx-lib-select.metadata.json +1 -1
  436. package/select/select.component.d.ts +1 -0
  437. package/select/select.component.theme.scss +0 -2
  438. package/separator/pepperi-addons-ngx-lib-separator.metadata.json +1 -1
  439. package/separator/separator.component.theme.scss +2 -2
  440. package/side-bar/pepperi-addons-ngx-lib-side-bar.metadata.json +1 -1
  441. package/side-bar/side-bar.component.theme.scss +26 -25
  442. package/signature/pepperi-addons-ngx-lib-signature.metadata.json +1 -1
  443. package/signature/signature.component.d.ts +1 -0
  444. package/signature/signature.component.theme.scss +8 -28
  445. package/size-detector/pepperi-addons-ngx-lib-size-detector.metadata.json +1 -1
  446. package/slider/pepperi-addons-ngx-lib-slider.metadata.json +1 -1
  447. package/slider/slider.component.theme.scss +66 -65
  448. package/smart-filters/boolean-filter/boolean-filter.component.d.ts +6 -1
  449. package/smart-filters/common/model/base-filter-component.d.ts +7 -0
  450. package/smart-filters/common/model/field.d.ts +4 -0
  451. package/smart-filters/common/model/operator.d.ts +1 -0
  452. package/smart-filters/common/model/type.d.ts +2 -2
  453. package/smart-filters/date-filter/date-filter.component.d.ts +8 -1
  454. package/smart-filters/multi-select-filter/multi-select-filter.component.d.ts +6 -0
  455. package/smart-filters/number-filter/number-filter.component.d.ts +5 -0
  456. package/smart-filters/pepperi-addons-ngx-lib-smart-filters.metadata.json +1 -1
  457. package/smart-filters/public-api.d.ts +1 -0
  458. package/smart-filters/smart-filters.component.theme.scss +9 -10
  459. package/smart-filters/text-filter/text-filter.component.d.ts +17 -0
  460. package/src/assets/i18n/de.ngx-lib.json +77 -77
  461. package/src/assets/i18n/en.ngx-lib.json +139 -138
  462. package/src/assets/i18n/es.ngx-lib.json +77 -77
  463. package/src/assets/i18n/fr.ngx-lib.json +78 -78
  464. package/src/assets/i18n/he.ngx-lib.json +78 -78
  465. package/src/assets/i18n/hu.ngx-lib.json +78 -78
  466. package/src/assets/i18n/it.ngx-lib.json +78 -78
  467. package/src/assets/i18n/ja.ngx-lib.json +78 -78
  468. package/src/assets/i18n/nl.ngx-lib.json +78 -78
  469. package/src/assets/i18n/pl.ngx-lib.json +78 -78
  470. package/src/assets/i18n/pt.ngx-lib.json +78 -78
  471. package/src/assets/i18n/ru.ngx-lib.json +78 -78
  472. package/src/assets/i18n/zh.ngx-lib.json +76 -76
  473. package/src/assets/images/no-image.svg +41 -41
  474. package/src/core/style/abstracts/breakpoints.scss +37 -35
  475. package/src/core/style/abstracts/functions.scss +439 -422
  476. package/src/core/style/abstracts/mixins.scss +800 -797
  477. package/src/core/style/abstracts/variables.scss +545 -545
  478. package/src/core/style/base/base.scss +874 -873
  479. package/src/core/style/base/grids.scss +4 -4
  480. package/src/core/style/base/helpers.scss +70 -70
  481. package/src/core/style/base/typography.scss +259 -255
  482. package/src/core/style/components/button.scss +346 -349
  483. package/src/core/style/components/checkbox.scss +476 -473
  484. package/src/core/style/components/datetime.scss +182 -22
  485. package/src/core/style/components/file.scss +223 -219
  486. package/src/core/style/components/general.scss +1002 -1086
  487. package/src/core/style/components/input.scss +98 -94
  488. package/src/core/style/components/quantity-selector.scss +17 -14
  489. package/src/core/style/components/radio-button.scss +171 -168
  490. package/src/core/style/components/select.scss +187 -185
  491. package/src/core/style/components/signature.scss +14 -12
  492. package/src/core/style/components/splitter.scss +67 -64
  493. package/src/core/style/components/textarea.scss +198 -195
  494. package/src/core/style/themes/black-theme.scss +7 -7
  495. package/src/core/style/themes/default-theme.scss +144 -144
  496. package/src/core/style/themes/light-theme.scss +7 -7
  497. package/src/core/style/themes/nature-theme.scss +7 -7
  498. package/src/core/style/vendors/normalize.scss +497 -497
  499. package/textarea/pepperi-addons-ngx-lib-textarea.metadata.json +1 -1
  500. package/textarea/textarea.component.d.ts +1 -0
  501. package/textarea/textarea.component.theme.scss +2 -2
  502. package/textbox/pepperi-addons-ngx-lib-textbox.metadata.json +1 -1
  503. package/textbox/textbox.component.theme.scss +3 -3
  504. package/textbox-icon/pepperi-addons-ngx-lib-textbox-icon.metadata.json +1 -1
  505. package/theming.scss +125 -220
  506. package/top-bar/pepperi-addons-ngx-lib-top-bar.metadata.json +1 -1
  507. package/top-bar/top-bar.component.theme.scss +9 -9
  508. package/form/form.component.theme.scss +0 -2
  509. package/form/internal-button.component.theme.scss +0 -2
  510. package/form/internal-menu.component.theme.scss +0 -3
  511. package/list/list-actions.component.theme.scss +0 -3
  512. package/list/list-carousel.component.theme.scss +0 -9
  513. package/list/list-chooser.component.theme.scss +0 -3
  514. package/list/list-pager.component.theme.scss +0 -3
  515. package/list/list-sorting.component.theme.scss +0 -3
  516. package/list/list-views.component.theme.scss +0 -3
  517. package/list/list.component.theme.scss +0 -5
  518. package/list/list_old.component.theme.scss +0 -5
  519. package/menu/menu.component.theme.scss +0 -2
  520. package/search/search.component.theme.scss +0 -3
  521. package/textbox-icon/textbox-icon.component.theme.scss +0 -3
@@ -1 +1 @@
1
- {"version":3,"file":"pepperi-addons-ngx-lib-carousel.js","sources":["../../../projects/ngx-lib/carousel/carousel-item.directive.ts","../../../projects/ngx-lib/carousel/carousel.component.ts","../../../projects/ngx-lib/carousel/carousel.module.ts","../../../projects/ngx-lib/carousel/public-api.ts","../../../projects/ngx-lib/carousel/pepperi-addons-ngx-lib-carousel.ts"],"sourcesContent":["import {\n Directive,\n ElementRef,\n Input,\n HostBinding,\n Inject,\n} from '@angular/core';\n\n@Directive({\n selector: '[pepCarouselItem]',\n})\nexport class PepCarouselItemDirective {\n @HostBinding('style.display')\n display = 'inline-block';\n\n @Input('dragDisabled')\n get dragDisabled() {\n return this._dragDisabled;\n }\n set dragDisabled(value: boolean) {\n this._dragDisabled = value;\n }\n\n _dragDisabled = false;\n\n _elementRef: ElementRef;\n\n constructor(@Inject(ElementRef) elementRef: ElementRef) {\n this._elementRef = elementRef;\n }\n}\n","import {\n ElementRef,\n Component,\n Renderer2,\n OnDestroy,\n Input,\n Output,\n AfterViewInit,\n OnChanges,\n EventEmitter,\n ViewChild,\n ContentChildren,\n AfterViewChecked,\n QueryList,\n Inject,\n HostBinding,\n HostListener,\n} from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\n\nimport { PepCarouselItemDirective } from './carousel-item.directive';\n\n@Component({\n selector: 'pep-carousel',\n template: `\n <div class=\"carousel-content\" #contentRef>\n <ng-content></ng-content>\n </div>\n `,\n styles: [\n `\n :host {\n overflow: hidden;\n display: block;\n }\n .carousel-content {\n height: 100%;\n overflow: auto;\n white-space: nowrap;\n }\n `,\n ],\n})\nexport class PepCarouselComponent\n implements OnDestroy, AfterViewInit, OnChanges, AfterViewChecked {\n private _index = 0;\n\n private _scrollbarHidden = false;\n\n private _disabled = false;\n\n private _xDisabled = false;\n\n private _xWheelEnabled = false;\n\n private _yDisabled = false;\n\n private _dragDisabled = false;\n\n private _snapDisabled = false;\n\n private _snapOffset = 0;\n\n private _snapDuration = 500;\n\n private _isDragging = false;\n\n private _onMouseMoveListener: () => any;\n\n private _onMouseUpListener: () => any;\n\n private _onMouseDownListener: () => any;\n\n private _onScrollListener: () => any;\n\n private _onDragStartListener: () => any;\n\n /**\n * Is the user currently pressing the element\n */\n isPressed = false;\n\n /**\n * Is the user currently scrolling the element\n */\n isScrolling = false;\n\n scrollTimer: any; // | NodeJS.Timer = -1;\n\n scrollToTimer: any; // | NodeJS.Timer = -1;\n\n /**\n * Is the user currently dragging the element\n */\n get isDragging(): boolean {\n return this._isDragging;\n }\n\n /**\n * The x coordinates on the element\n */\n downX = 0;\n\n /**\n * The y coordinates on the element\n */\n downY = 0;\n\n displayType: string | null = 'block';\n\n elWidth: string | null = null;\n\n elHeight: string | null = null;\n\n /**\n * The parentNode of carousel Element\n */\n parentNode: HTMLElement;\n\n /**\n * The carousel Element\n */\n\n @ViewChild('contentRef', { static: true }) _contentRef: ElementRef;\n\n @ContentChildren(PepCarouselItemDirective, { descendants: true })\n _children: QueryList<PepCarouselItemDirective>;\n\n @HostBinding('style.pointer-events') _pointerEvents = 'auto';\n\n wrapper: HTMLDivElement | null;\n\n scrollbarWidth: string | null = null;\n\n get currIndex() {\n return this._index;\n }\n set currIndex(value) {\n if (value !== this._index) {\n this._index = value;\n this.indexChanged.emit(value);\n }\n }\n\n isAnimating = false;\n\n prevChildrenLength = 0;\n\n indexBound = 0;\n\n @Output() dsInitialized = new EventEmitter<void>();\n\n @Output() indexChanged = new EventEmitter<number>();\n\n @Output() reachesLeftBound = new EventEmitter<boolean>();\n\n @Output() reachesRightBound = new EventEmitter<boolean>();\n\n @Output() snapAnimationFinished = new EventEmitter<number>();\n\n @Output() dragStart = new EventEmitter<void>();\n\n @Output() dragEnd = new EventEmitter<void>();\n\n /**\n * Whether the scrollbar is hidden\n */\n @Input('scrollbarHidden')\n get scrollbarHidden() {\n return this._scrollbarHidden;\n }\n set scrollbarHidden(value: boolean) {\n this._scrollbarHidden = value;\n }\n\n /**\n * Whether horizontally and vertically draging and scrolling is be disabled\n */\n @Input('disabled')\n get disabled() {\n return this._disabled;\n }\n set disabled(value: boolean) {\n this._disabled = value;\n }\n\n /**\n * Whether horizontally dragging and scrolling is be disabled\n */\n @Input('xDisabled')\n get xDisabled() {\n return this._xDisabled;\n }\n set xDisabled(value: boolean) {\n this._xDisabled = value;\n }\n\n /**\n * Whether vertically dragging and scrolling events is disabled\n */\n @Input('yDisabled')\n get yDisabled() {\n return this._yDisabled;\n }\n set yDisabled(value: boolean) {\n this._yDisabled = value;\n }\n\n /**\n * Whether scrolling horizontally with mouse wheel is enabled\n */\n @Input('xWheelEnabled')\n get xWheelEnabled() {\n return this._xWheelEnabled;\n }\n set xWheelEnabled(value: boolean) {\n this._xWheelEnabled = value;\n }\n\n @Input('dragDisabled')\n get dragDisabled() {\n return this._dragDisabled;\n }\n set dragDisabled(value: boolean) {\n this._dragDisabled = value;\n }\n\n @Input('snapDisabled')\n get snapDisabled() {\n return this._snapDisabled;\n }\n set snapDisabled(value: boolean) {\n this._snapDisabled = value;\n }\n\n @Input('snapOffset')\n get snapOffset() {\n return this._snapOffset;\n }\n set snapOffset(value: number) {\n this._snapOffset = value;\n }\n\n @Input('snapDuration')\n get snapDuration() {\n return this._snapDuration;\n }\n set snapDuration(value: number) {\n this._snapDuration = value;\n }\n\n constructor(\n @Inject(ElementRef) private _elementRef: ElementRef,\n @Inject(Renderer2) private _renderer: Renderer2,\n @Inject(DOCUMENT) private _document: any\n ) {\n this.scrollbarWidth = `${this.getScrollbarWidth()}px`;\n }\n\n ngOnChanges() {\n this.setScrollBar();\n\n if (this.xDisabled || this.disabled || this._scrollbarHidden) {\n this.disableScroll('x');\n } else {\n this.enableScroll('x');\n }\n\n if (this.yDisabled || this.disabled) {\n this.disableScroll('y');\n } else {\n this.enableScroll('y');\n }\n }\n\n ngAfterViewInit() {\n // auto assign computed css\n this._renderer.setAttribute(\n this._contentRef.nativeElement,\n 'drag-scroll',\n 'true'\n );\n\n this.displayType =\n typeof window !== 'undefined'\n ? window.getComputedStyle(this._elementRef.nativeElement)\n .display\n : 'block';\n\n this._renderer.setStyle(\n this._contentRef.nativeElement,\n 'display',\n this.displayType\n );\n this._renderer.setStyle(\n this._contentRef.nativeElement,\n 'whiteSpace',\n 'noWrap'\n );\n\n // store ele width height for later user\n this.markElDimension();\n\n this._renderer.setStyle(\n this._contentRef.nativeElement,\n 'width',\n this.elWidth\n );\n this._renderer.setStyle(\n this._contentRef.nativeElement,\n 'height',\n this.elHeight\n );\n\n if (this.wrapper) {\n this.checkScrollbar();\n }\n\n this._onMouseDownListener = this._renderer.listen(\n this._contentRef.nativeElement,\n 'mousedown',\n this.onMouseDownHandler.bind(this)\n );\n this._onScrollListener = this._renderer.listen(\n this._contentRef.nativeElement,\n 'scroll',\n this.onScrollHandler.bind(this)\n );\n // prevent Firefox from dragging images\n this._onDragStartListener = this._renderer.listen(\n 'document',\n 'dragstart',\n (e) => {\n e.preventDefault();\n }\n );\n this.checkNavStatus();\n this.dsInitialized.emit();\n this.adjustMarginToLastChild();\n }\n\n ngAfterViewChecked() {\n // avoid extra checks\n if (this._children.length !== this.prevChildrenLength) {\n this.markElDimension();\n this.checkScrollbar();\n this.prevChildrenLength = this._children.length;\n this.checkNavStatus();\n }\n }\n\n ngOnDestroy() {\n this._renderer.setAttribute(\n this._contentRef.nativeElement,\n 'drag-scroll',\n 'false'\n );\n if (this._onMouseDownListener) {\n this._onMouseDownListener = this._onMouseDownListener();\n }\n if (this._onScrollListener) {\n this._onScrollListener = this._onScrollListener();\n }\n if (this._onDragStartListener) {\n this._onDragStartListener = this._onDragStartListener();\n }\n }\n\n onMouseMoveHandler(event: MouseEvent) {\n this.onMouseMove(event);\n }\n\n onMouseMove(event: MouseEvent) {\n if (this.isPressed && !this.disabled) {\n // Workaround for prevent scroll stuck if browser lost focus\n // MouseEvent.buttons not support by Safari\n if (!event.buttons && !event.which) {\n return this.onMouseUpHandler(event);\n }\n\n this._pointerEvents = 'none';\n this._setIsDragging(true);\n\n // Drag X\n if (!this.xDisabled && !this.dragDisabled) {\n const clientX = (event as MouseEvent).clientX;\n this._contentRef.nativeElement.scrollLeft =\n this._contentRef.nativeElement.scrollLeft -\n clientX +\n this.downX;\n this.downX = clientX;\n }\n\n // Drag Y\n if (!this.yDisabled && !this.dragDisabled) {\n const clientY = (event as MouseEvent).clientY;\n this._contentRef.nativeElement.scrollTop =\n this._contentRef.nativeElement.scrollTop -\n clientY +\n this.downY;\n this.downY = clientY;\n }\n }\n }\n\n onMouseDownHandler(event: MouseEvent) {\n const carouselItem: PepCarouselItemDirective | null = this.locateCarouselItem(\n event.target as Element\n );\n if (carouselItem && carouselItem.dragDisabled) {\n return;\n }\n\n const isTouchEvent = event.type === 'touchstart';\n\n this._startGlobalListening(isTouchEvent);\n this.isPressed = true;\n\n const mouseEvent = event as MouseEvent;\n this.downX = mouseEvent.clientX;\n this.downY = mouseEvent.clientY;\n\n clearTimeout(this.scrollToTimer as number);\n }\n\n onScrollHandler() {\n this.checkNavStatus();\n if (!this.isPressed && !this.isAnimating && !this.snapDisabled) {\n this.isScrolling = true;\n clearTimeout(this.scrollTimer as number);\n this.scrollTimer = setTimeout(() => {\n this.isScrolling = false;\n this.locateCurrentIndex(true);\n }, 500);\n } else {\n this.locateCurrentIndex();\n }\n }\n\n onMouseUpHandler(event: MouseEvent) {\n if (this.isPressed) {\n this.isPressed = false;\n this._pointerEvents = 'auto';\n this._setIsDragging(false);\n if (!this.snapDisabled) {\n this.locateCurrentIndex(true);\n } else {\n this.locateCurrentIndex();\n }\n this._stopGlobalListening();\n }\n }\n\n /*\n * Nav button\n */\n moveLeft() {\n if (this.currIndex !== 0 || this.snapDisabled) {\n this.currIndex--;\n clearTimeout(this.scrollToTimer as number);\n this.scrollTo(\n this._contentRef.nativeElement,\n this.toChildrenLocation(),\n this.snapDuration\n );\n }\n }\n\n moveRight() {\n const container = this.wrapper || this.parentNode;\n const containerWidth = container ? container.clientWidth : 0;\n\n if (\n !this.isScrollReachesRightEnd() &&\n this.currIndex <\n this.maximumIndex(containerWidth, this._children.toArray())\n ) {\n this.currIndex++;\n clearTimeout(this.scrollToTimer as number);\n this.scrollTo(\n this._contentRef.nativeElement,\n this.toChildrenLocation(),\n this.snapDuration\n );\n }\n }\n\n moveTo(index: number) {\n const container = this.wrapper || this.parentNode;\n const containerWidth = container ? container.clientWidth : 0;\n if (\n index >= 0 &&\n index !== this.currIndex &&\n this.currIndex <=\n this.maximumIndex(containerWidth, this._children.toArray())\n ) {\n this.currIndex = Math.min(\n index,\n this.maximumIndex(containerWidth, this._children.toArray())\n );\n clearTimeout(this.scrollToTimer as number);\n this.scrollTo(\n this._contentRef.nativeElement,\n this.toChildrenLocation(),\n this.snapDuration\n );\n }\n }\n\n checkNavStatus() {\n setTimeout(() => {\n const onlyOneItem = Boolean(this._children.length <= 1);\n const containerIsLargerThanContent = Boolean(\n this._contentRef.nativeElement.scrollWidth <=\n this._contentRef.nativeElement.clientWidth\n );\n if (onlyOneItem || containerIsLargerThanContent) {\n // only one element\n this.reachesLeftBound.emit(true);\n this.reachesRightBound.emit(true);\n } else if (this.isScrollReachesRightEnd()) {\n // reached right end\n this.reachesLeftBound.emit(false);\n this.reachesRightBound.emit(true);\n } else if (\n this._contentRef.nativeElement.scrollLeft === 0 &&\n this._contentRef.nativeElement.scrollWidth >\n this._contentRef.nativeElement.clientWidth\n ) {\n // reached left end\n this.reachesLeftBound.emit(true);\n this.reachesRightBound.emit(false);\n } else {\n // in the middle\n this.reachesLeftBound.emit(false);\n this.reachesRightBound.emit(false);\n }\n }, 0);\n }\n\n @HostListener('wheel', ['$event'])\n public onWheel(event: WheelEvent) {\n if (this._xWheelEnabled) {\n event.preventDefault();\n\n if (this._snapDisabled) {\n this._contentRef.nativeElement.scrollBy(event.deltaY, 0);\n } else {\n if (event.deltaY < 0) {\n this.moveLeft();\n } else if (event.deltaY > 0) {\n this.moveRight();\n }\n }\n }\n }\n\n @HostListener('window:resize')\n public onWindowResize() {\n this.refreshWrapperDimensions();\n this.checkNavStatus();\n }\n\n private _setIsDragging(value: boolean) {\n if (this._isDragging === value) {\n return;\n }\n\n this._isDragging = value;\n value ? this.dragStart.emit() : this.dragEnd.emit();\n }\n\n private _startGlobalListening(isTouchEvent: boolean) {\n if (!this._onMouseMoveListener) {\n const eventName = isTouchEvent ? 'touchmove' : 'mousemove';\n this._onMouseMoveListener = this._renderer.listen(\n 'document',\n eventName,\n this.onMouseMoveHandler.bind(this)\n );\n }\n\n if (!this._onMouseUpListener) {\n const eventName = isTouchEvent ? 'touchend' : 'mouseup';\n this._onMouseUpListener = this._renderer.listen(\n 'document',\n eventName,\n this.onMouseUpHandler.bind(this)\n );\n }\n }\n\n private _stopGlobalListening() {\n if (this._onMouseMoveListener) {\n this._onMouseMoveListener = this._onMouseMoveListener();\n }\n\n if (this._onMouseUpListener) {\n this._onMouseUpListener = this._onMouseUpListener();\n }\n }\n\n private disableScroll(axis: string): void {\n this._renderer.setStyle(\n this._contentRef.nativeElement,\n `overflow-${axis}`,\n 'hidden'\n );\n }\n\n private enableScroll(axis: string): void {\n this._renderer.setStyle(\n this._contentRef.nativeElement,\n `overflow-${axis}`,\n 'auto'\n );\n }\n\n private hideScrollbar(): void {\n if (\n this._contentRef.nativeElement.style.display !== 'none' &&\n !this.wrapper\n ) {\n this.parentNode = this._contentRef.nativeElement.parentNode;\n\n // create container element\n this.wrapper = this._renderer.createElement('div');\n this._renderer.addClass(this.wrapper, 'carousel-wrapper');\n // this._renderer.setAttribute(this.wrapper, 'class', 'carousel-wrapper');\n // this._renderer.addClass(this.wrapper, 'carousel-container');\n\n this.refreshWrapperDimensions();\n\n this._renderer.setStyle(this.wrapper, 'overflow', 'hidden');\n\n this._renderer.setStyle(\n this._contentRef.nativeElement,\n 'width',\n `calc(100% + ${this.scrollbarWidth})`\n );\n this._renderer.setStyle(\n this._contentRef.nativeElement,\n 'height',\n `calc(100% + ${this.scrollbarWidth})`\n );\n\n // Append container element to component element.\n this._renderer.appendChild(\n this._elementRef.nativeElement,\n this.wrapper\n );\n\n // Append content element to container element.\n this._renderer.appendChild(\n this.wrapper,\n this._contentRef.nativeElement\n );\n\n this.adjustMarginToLastChild();\n }\n }\n\n private showScrollbar(): void {\n if (this.wrapper) {\n this._renderer.setStyle(\n this._contentRef.nativeElement,\n 'width',\n '100%'\n );\n this._renderer.setStyle(\n this._contentRef.nativeElement,\n 'height',\n this.wrapper.style.height\n );\n if (this.parentNode !== null) {\n this.parentNode.removeChild(this.wrapper);\n this.parentNode.appendChild(this._contentRef.nativeElement);\n }\n this.wrapper = null;\n\n this.adjustMarginToLastChild();\n }\n }\n\n private checkScrollbar() {\n if (\n this._contentRef.nativeElement.scrollWidth <=\n this._contentRef.nativeElement.clientWidth\n ) {\n this._renderer.setStyle(\n this._contentRef.nativeElement,\n 'height',\n '100%'\n );\n } else {\n this._renderer.setStyle(\n this._contentRef.nativeElement,\n 'height',\n `calc(100% + ${this.scrollbarWidth})`\n );\n }\n if (\n this._contentRef.nativeElement.scrollHeight <=\n this._contentRef.nativeElement.clientHeight\n ) {\n this._renderer.setStyle(\n this._contentRef.nativeElement,\n 'width',\n '100%'\n );\n } else {\n this._renderer.setStyle(\n this._contentRef.nativeElement,\n 'width',\n `calc(100% + ${this.scrollbarWidth})`\n );\n }\n }\n\n private setScrollBar(): void {\n if (this.scrollbarHidden) {\n this.hideScrollbar();\n } else {\n this.showScrollbar();\n }\n }\n\n private getScrollbarWidth(): number {\n /**\n * Browser Scrollbar Widths (2016)\n * OSX (Chrome, Safari, Firefox) - 15px\n * Windows XP (IE7, Chrome, Firefox) - 17px\n * Windows 7 (IE10, IE11, Chrome, Firefox) - 17px\n * Windows 8.1 (IE11, Chrome, Firefox) - 17px\n * Windows 10 (IE11, Chrome, Firefox) - 17px\n * Windows 10 (Edge 12/13) - 12px\n */\n const outer = this._renderer.createElement('div');\n this._renderer.setStyle(outer, 'visibility', 'hidden');\n this._renderer.setStyle(outer, 'width', '100px');\n this._renderer.setStyle(outer, 'msOverflowStyle', 'scrollbar'); // needed for WinJS apps\n // document.body.appendChild(outer);\n this._renderer.appendChild(this._document.body, outer);\n // this._renderer.appendChild(this._renderer.selectRootElement('body'), outer);\n const widthNoScroll = outer.offsetWidth;\n // force scrollbars\n this._renderer.setStyle(outer, 'overflow', 'scroll');\n\n // add innerdiv\n const inner = this._renderer.createElement('div');\n this._renderer.setStyle(inner, 'width', '100%');\n this._renderer.appendChild(outer, inner);\n\n const widthWithScroll = inner.offsetWidth;\n\n // remove divs\n this._renderer.removeChild(this._document.body, outer);\n\n /**\n * Scrollbar width will be 0 on Mac OS with the\n * default \"Only show scrollbars when scrolling\" setting (Yosemite and up).\n * setting default width to 20;\n */\n return widthNoScroll - widthWithScroll || 20;\n }\n\n private refreshWrapperDimensions() {\n if (this.wrapper) {\n const height =\n this._elementRef.nativeElement.style.height ||\n this._elementRef.nativeElement.offsetHeight;\n\n this._renderer.setStyle(this.wrapper, 'width', '100%');\n this._renderer.setStyle(\n this.wrapper,\n 'height',\n height === 0 ? 'auto' : height + 'px'\n );\n }\n }\n\n /*\n * The below solution is heavily inspired from\n * https://gist.github.com/andjosh/6764939\n */\n private scrollTo(element: Element, to: number, duration: number) {\n this.isAnimating = true;\n const start = element.scrollLeft,\n change = to - start - this.snapOffset,\n increment = 20;\n let currentTime = 0;\n\n // t = current time\n // b = start value\n // c = change in value\n // d = duration\n const easeInOutQuad = (t: number, b: number, c: number, d: number) => {\n t /= d / 2;\n if (t < 1) {\n return (c / 2) * t * t + b;\n }\n t--;\n return (-c / 2) * (t * (t - 2) - 1) + b;\n };\n\n const animateScroll = () => {\n currentTime += increment;\n element.scrollLeft = easeInOutQuad(\n currentTime,\n start,\n change,\n duration\n );\n if (currentTime < duration) {\n this.scrollToTimer = setTimeout(animateScroll, increment);\n } else {\n // run one more frame to make sure the animation is fully finished\n setTimeout(() => {\n this.isAnimating = false;\n this.snapAnimationFinished.emit(this.currIndex);\n }, increment);\n }\n };\n animateScroll();\n }\n\n private locateCurrentIndex(snap?: boolean) {\n this.currentChildWidth(\n (\n currentChildWidth,\n nextChildrenWidth,\n childrenWidth,\n idx: number,\n stop\n ) => {\n if (\n this._contentRef.nativeElement.scrollLeft >=\n childrenWidth &&\n this._contentRef.nativeElement.scrollLeft <=\n nextChildrenWidth\n ) {\n if (\n nextChildrenWidth -\n this._contentRef.nativeElement.scrollLeft >\n currentChildWidth / 2 &&\n !this.isScrollReachesRightEnd()\n ) {\n // roll back scrolling\n if (!this.isAnimating) {\n this.currIndex = idx;\n }\n if (snap) {\n this.scrollTo(\n this._contentRef.nativeElement,\n childrenWidth,\n this.snapDuration\n );\n }\n } else if (\n this._contentRef.nativeElement.scrollLeft !== 0\n ) {\n // forward scrolling\n if (!this.isAnimating) {\n this.currIndex = idx + 1;\n }\n if (snap) {\n this.scrollTo(\n this._contentRef.nativeElement,\n childrenWidth + currentChildWidth,\n this.snapDuration\n );\n }\n }\n stop();\n } else if (idx + 1 === this._children.length - 1) {\n // reaches last index\n if (!this.isAnimating) {\n this.currIndex = idx + 1;\n }\n stop();\n }\n }\n );\n }\n\n private currentChildWidth(\n cb: (\n currentClildWidth: number,\n nextChildrenWidth: number,\n childrenWidth: number,\n index: number,\n breakFunc: () => void\n ) => void\n ) {\n let childrenWidth = 0;\n let shouldBreak = false;\n const breakFunc = function () {\n shouldBreak = true;\n };\n const childrenArr = this._children.toArray();\n\n for (let i = 0; i < childrenArr.length; i++) {\n if (i === childrenArr.length - 1) {\n break;\n }\n if (shouldBreak) {\n break;\n }\n\n const nextChildrenWidth =\n childrenWidth +\n childrenArr[i + 1]._elementRef.nativeElement.clientWidth;\n const currentClildWidth =\n childrenArr[i]._elementRef.nativeElement.clientWidth;\n cb(\n currentClildWidth,\n nextChildrenWidth,\n childrenWidth,\n i,\n breakFunc\n );\n\n childrenWidth += currentClildWidth;\n }\n }\n\n private toChildrenLocation(): number {\n let to = 0;\n const childrenArr = this._children.toArray();\n for (let i = 0; i < this.currIndex; i++) {\n to += childrenArr[i]._elementRef.nativeElement.clientWidth;\n }\n return to;\n }\n\n private locateCarouselItem(\n element: Element\n ): PepCarouselItemDirective | null {\n let item: PepCarouselItemDirective | null = null;\n const childrenArr = this._children.toArray();\n for (let i = 0; i < childrenArr.length; i++) {\n if (element === childrenArr[i]._elementRef.nativeElement) {\n item = childrenArr[i];\n }\n }\n return item;\n }\n\n private markElDimension() {\n if (this.wrapper) {\n this.elWidth = this.wrapper.style.width;\n this.elHeight = this.wrapper.style.height;\n } else {\n this.elWidth =\n this._elementRef.nativeElement.style.width ||\n this._elementRef.nativeElement.offsetWidth + 'px';\n this.elHeight =\n this._elementRef.nativeElement.style.height ||\n this._elementRef.nativeElement.offsetHeight + 'px';\n }\n const container = this.wrapper || this.parentNode;\n const containerWidth = container ? container.clientWidth : 0;\n if (this._children.length > 1) {\n this.indexBound = this.maximumIndex(\n containerWidth,\n this._children.toArray()\n );\n }\n }\n\n private maximumIndex(\n containerWidth: number,\n childrenElements: PepCarouselItemDirective[]\n ): number {\n let count = 0;\n let childrenWidth = 0;\n for (let i = 0; i <= childrenElements.length; i++) {\n // last N element\n const carouselItemDirective: PepCarouselItemDirective =\n childrenElements[childrenElements.length - 1 - i];\n if (!carouselItemDirective) {\n break;\n } else {\n const nativeElement =\n carouselItemDirective._elementRef.nativeElement;\n let itemWidth = nativeElement.clientWidth;\n if (itemWidth === 0 && nativeElement.firstElementChild) {\n itemWidth =\n carouselItemDirective._elementRef.nativeElement\n .firstElementChild.clientWidth;\n }\n childrenWidth += itemWidth;\n if (childrenWidth < containerWidth) {\n count++;\n } else {\n break;\n }\n }\n }\n return childrenElements.length - count;\n }\n\n private isScrollReachesRightEnd(): boolean {\n const scrollLeftPos =\n this._contentRef.nativeElement.scrollLeft +\n this._contentRef.nativeElement.offsetWidth;\n return scrollLeftPos >= this._contentRef.nativeElement.scrollWidth;\n }\n\n /**\n * adds a margin right style to the last child element which will resolve the issue\n * of last item gets cutoff.\n */\n private adjustMarginToLastChild(): void {\n // if (this._children && this._children.length > 0 && this.hideScrollbar) {\n // const childrenArr = this._children.toArray();\n // const lastItem = childrenArr[childrenArr.length - 1]._elementRef.nativeElement;\n // if (this.wrapper && childrenArr.length > 1) {\n // this._renderer.setStyle(lastItem, 'margin-right', this.scrollbarWidth);\n // } else {\n // this._renderer.setStyle(lastItem, 'margin-right', 0);\n // }\n // }\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { PepCarouselComponent } from './carousel.component';\nimport { PepCarouselItemDirective } from './carousel-item.directive';\n\n@NgModule({\n exports: [PepCarouselComponent, PepCarouselItemDirective],\n declarations: [PepCarouselComponent, PepCarouselItemDirective],\n})\nexport class PepCarouselModule {}\n","/*\n * Public API Surface of carousel\n */\nexport * from './carousel.module';\nexport * from './carousel.component';\nexport * from './carousel-item.directive';\n// export * from './carousel.model';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pepperi-addons-ngx-lib-carousel.js","sources":["../../../projects/ngx-lib/carousel/carousel-item.directive.ts","../../../projects/ngx-lib/carousel/carousel.component.ts","../../../projects/ngx-lib/carousel/carousel.module.ts","../../../projects/ngx-lib/carousel/public-api.ts","../../../projects/ngx-lib/carousel/pepperi-addons-ngx-lib-carousel.ts"],"sourcesContent":["import {\r\n Directive,\r\n ElementRef,\r\n Input,\r\n HostBinding,\r\n Inject,\r\n} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[pepCarouselItem]',\r\n})\r\nexport class PepCarouselItemDirective {\r\n @HostBinding('style.display')\r\n display = 'inline-block';\r\n\r\n @Input('dragDisabled')\r\n get dragDisabled() {\r\n return this._dragDisabled;\r\n }\r\n set dragDisabled(value: boolean) {\r\n this._dragDisabled = value;\r\n }\r\n\r\n _dragDisabled = false;\r\n\r\n _elementRef: ElementRef;\r\n\r\n constructor(@Inject(ElementRef) elementRef: ElementRef) {\r\n this._elementRef = elementRef;\r\n }\r\n}\r\n","import {\r\n ElementRef,\r\n Component,\r\n Renderer2,\r\n OnDestroy,\r\n Input,\r\n Output,\r\n AfterViewInit,\r\n OnChanges,\r\n EventEmitter,\r\n ViewChild,\r\n ContentChildren,\r\n AfterViewChecked,\r\n QueryList,\r\n Inject,\r\n HostBinding,\r\n HostListener,\r\n} from '@angular/core';\r\nimport { DOCUMENT } from '@angular/common';\r\n\r\nimport { PepCarouselItemDirective } from './carousel-item.directive';\r\n\r\n@Component({\r\n selector: 'pep-carousel',\r\n template: `\r\n <div class=\"carousel-content\" #contentRef>\r\n <ng-content></ng-content>\r\n </div>\r\n `,\r\n styles: [\r\n `\r\n :host {\r\n overflow: hidden;\r\n display: block;\r\n }\r\n .carousel-content {\r\n height: 100%;\r\n overflow: auto;\r\n white-space: nowrap;\r\n }\r\n `,\r\n ],\r\n})\r\nexport class PepCarouselComponent\r\n implements OnDestroy, AfterViewInit, OnChanges, AfterViewChecked {\r\n private _index = 0;\r\n\r\n private _scrollbarHidden = false;\r\n\r\n private _disabled = false;\r\n\r\n private _xDisabled = false;\r\n\r\n private _xWheelEnabled = false;\r\n\r\n private _yDisabled = false;\r\n\r\n private _dragDisabled = false;\r\n\r\n private _snapDisabled = false;\r\n\r\n private _snapOffset = 0;\r\n\r\n private _snapDuration = 500;\r\n\r\n private _isDragging = false;\r\n\r\n private _onMouseMoveListener: () => any;\r\n\r\n private _onMouseUpListener: () => any;\r\n\r\n private _onMouseDownListener: () => any;\r\n\r\n private _onScrollListener: () => any;\r\n\r\n private _onDragStartListener: () => any;\r\n\r\n /**\r\n * Is the user currently pressing the element\r\n */\r\n isPressed = false;\r\n\r\n /**\r\n * Is the user currently scrolling the element\r\n */\r\n isScrolling = false;\r\n\r\n scrollTimer: any; // | NodeJS.Timer = -1;\r\n\r\n scrollToTimer: any; // | NodeJS.Timer = -1;\r\n\r\n /**\r\n * Is the user currently dragging the element\r\n */\r\n get isDragging(): boolean {\r\n return this._isDragging;\r\n }\r\n\r\n /**\r\n * The x coordinates on the element\r\n */\r\n downX = 0;\r\n\r\n /**\r\n * The y coordinates on the element\r\n */\r\n downY = 0;\r\n\r\n displayType: string | null = 'block';\r\n\r\n elWidth: string | null = null;\r\n\r\n elHeight: string | null = null;\r\n\r\n /**\r\n * The parentNode of carousel Element\r\n */\r\n parentNode: HTMLElement;\r\n\r\n /**\r\n * The carousel Element\r\n */\r\n\r\n @ViewChild('contentRef', { static: true }) _contentRef: ElementRef;\r\n\r\n @ContentChildren(PepCarouselItemDirective, { descendants: true })\r\n _children: QueryList<PepCarouselItemDirective>;\r\n\r\n @HostBinding('style.pointer-events') _pointerEvents = 'auto';\r\n\r\n wrapper: HTMLDivElement | null;\r\n\r\n scrollbarWidth: string | null = null;\r\n\r\n get currIndex() {\r\n return this._index;\r\n }\r\n set currIndex(value) {\r\n if (value !== this._index) {\r\n this._index = value;\r\n this.indexChanged.emit(value);\r\n }\r\n }\r\n\r\n isAnimating = false;\r\n\r\n prevChildrenLength = 0;\r\n\r\n indexBound = 0;\r\n\r\n @Output() dsInitialized = new EventEmitter<void>();\r\n\r\n @Output() indexChanged = new EventEmitter<number>();\r\n\r\n @Output() reachesLeftBound = new EventEmitter<boolean>();\r\n\r\n @Output() reachesRightBound = new EventEmitter<boolean>();\r\n\r\n @Output() snapAnimationFinished = new EventEmitter<number>();\r\n\r\n @Output() dragStart = new EventEmitter<void>();\r\n\r\n @Output() dragEnd = new EventEmitter<void>();\r\n\r\n /**\r\n * Whether the scrollbar is hidden\r\n */\r\n @Input('scrollbarHidden')\r\n get scrollbarHidden() {\r\n return this._scrollbarHidden;\r\n }\r\n set scrollbarHidden(value: boolean) {\r\n this._scrollbarHidden = value;\r\n }\r\n\r\n /**\r\n * Whether horizontally and vertically draging and scrolling is be disabled\r\n */\r\n @Input('disabled')\r\n get disabled() {\r\n return this._disabled;\r\n }\r\n set disabled(value: boolean) {\r\n this._disabled = value;\r\n }\r\n\r\n /**\r\n * Whether horizontally dragging and scrolling is be disabled\r\n */\r\n @Input('xDisabled')\r\n get xDisabled() {\r\n return this._xDisabled;\r\n }\r\n set xDisabled(value: boolean) {\r\n this._xDisabled = value;\r\n }\r\n\r\n /**\r\n * Whether vertically dragging and scrolling events is disabled\r\n */\r\n @Input('yDisabled')\r\n get yDisabled() {\r\n return this._yDisabled;\r\n }\r\n set yDisabled(value: boolean) {\r\n this._yDisabled = value;\r\n }\r\n\r\n /**\r\n * Whether scrolling horizontally with mouse wheel is enabled\r\n */\r\n @Input('xWheelEnabled')\r\n get xWheelEnabled() {\r\n return this._xWheelEnabled;\r\n }\r\n set xWheelEnabled(value: boolean) {\r\n this._xWheelEnabled = value;\r\n }\r\n\r\n @Input('dragDisabled')\r\n get dragDisabled() {\r\n return this._dragDisabled;\r\n }\r\n set dragDisabled(value: boolean) {\r\n this._dragDisabled = value;\r\n }\r\n\r\n @Input('snapDisabled')\r\n get snapDisabled() {\r\n return this._snapDisabled;\r\n }\r\n set snapDisabled(value: boolean) {\r\n this._snapDisabled = value;\r\n }\r\n\r\n @Input('snapOffset')\r\n get snapOffset() {\r\n return this._snapOffset;\r\n }\r\n set snapOffset(value: number) {\r\n this._snapOffset = value;\r\n }\r\n\r\n @Input('snapDuration')\r\n get snapDuration() {\r\n return this._snapDuration;\r\n }\r\n set snapDuration(value: number) {\r\n this._snapDuration = value;\r\n }\r\n\r\n constructor(\r\n @Inject(ElementRef) private _elementRef: ElementRef,\r\n @Inject(Renderer2) private _renderer: Renderer2,\r\n @Inject(DOCUMENT) private _document: any\r\n ) {\r\n this.scrollbarWidth = `${this.getScrollbarWidth()}px`;\r\n }\r\n\r\n ngOnChanges() {\r\n this.setScrollBar();\r\n\r\n if (this.xDisabled || this.disabled || this._scrollbarHidden) {\r\n this.disableScroll('x');\r\n } else {\r\n this.enableScroll('x');\r\n }\r\n\r\n if (this.yDisabled || this.disabled) {\r\n this.disableScroll('y');\r\n } else {\r\n this.enableScroll('y');\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n // auto assign computed css\r\n this._renderer.setAttribute(\r\n this._contentRef.nativeElement,\r\n 'drag-scroll',\r\n 'true'\r\n );\r\n\r\n this.displayType =\r\n typeof window !== 'undefined'\r\n ? window.getComputedStyle(this._elementRef.nativeElement)\r\n .display\r\n : 'block';\r\n\r\n this._renderer.setStyle(\r\n this._contentRef.nativeElement,\r\n 'display',\r\n this.displayType\r\n );\r\n this._renderer.setStyle(\r\n this._contentRef.nativeElement,\r\n 'whiteSpace',\r\n 'noWrap'\r\n );\r\n\r\n // store ele width height for later user\r\n this.markElDimension();\r\n\r\n this._renderer.setStyle(\r\n this._contentRef.nativeElement,\r\n 'width',\r\n this.elWidth\r\n );\r\n this._renderer.setStyle(\r\n this._contentRef.nativeElement,\r\n 'height',\r\n this.elHeight\r\n );\r\n\r\n if (this.wrapper) {\r\n this.checkScrollbar();\r\n }\r\n\r\n this._onMouseDownListener = this._renderer.listen(\r\n this._contentRef.nativeElement,\r\n 'mousedown',\r\n this.onMouseDownHandler.bind(this)\r\n );\r\n this._onScrollListener = this._renderer.listen(\r\n this._contentRef.nativeElement,\r\n 'scroll',\r\n this.onScrollHandler.bind(this)\r\n );\r\n // prevent Firefox from dragging images\r\n this._onDragStartListener = this._renderer.listen(\r\n 'document',\r\n 'dragstart',\r\n (e) => {\r\n e.preventDefault();\r\n }\r\n );\r\n this.checkNavStatus();\r\n this.dsInitialized.emit();\r\n this.adjustMarginToLastChild();\r\n }\r\n\r\n ngAfterViewChecked() {\r\n // avoid extra checks\r\n if (this._children.length !== this.prevChildrenLength) {\r\n this.markElDimension();\r\n this.checkScrollbar();\r\n this.prevChildrenLength = this._children.length;\r\n this.checkNavStatus();\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this._renderer.setAttribute(\r\n this._contentRef.nativeElement,\r\n 'drag-scroll',\r\n 'false'\r\n );\r\n if (this._onMouseDownListener) {\r\n this._onMouseDownListener = this._onMouseDownListener();\r\n }\r\n if (this._onScrollListener) {\r\n this._onScrollListener = this._onScrollListener();\r\n }\r\n if (this._onDragStartListener) {\r\n this._onDragStartListener = this._onDragStartListener();\r\n }\r\n }\r\n\r\n onMouseMoveHandler(event: MouseEvent) {\r\n this.onMouseMove(event);\r\n }\r\n\r\n onMouseMove(event: MouseEvent) {\r\n if (this.isPressed && !this.disabled) {\r\n // Workaround for prevent scroll stuck if browser lost focus\r\n // MouseEvent.buttons not support by Safari\r\n if (!event.buttons && !event.which) {\r\n return this.onMouseUpHandler(event);\r\n }\r\n\r\n this._pointerEvents = 'none';\r\n this._setIsDragging(true);\r\n\r\n // Drag X\r\n if (!this.xDisabled && !this.dragDisabled) {\r\n const clientX = (event as MouseEvent).clientX;\r\n this._contentRef.nativeElement.scrollLeft =\r\n this._contentRef.nativeElement.scrollLeft -\r\n clientX +\r\n this.downX;\r\n this.downX = clientX;\r\n }\r\n\r\n // Drag Y\r\n if (!this.yDisabled && !this.dragDisabled) {\r\n const clientY = (event as MouseEvent).clientY;\r\n this._contentRef.nativeElement.scrollTop =\r\n this._contentRef.nativeElement.scrollTop -\r\n clientY +\r\n this.downY;\r\n this.downY = clientY;\r\n }\r\n }\r\n }\r\n\r\n onMouseDownHandler(event: MouseEvent) {\r\n const carouselItem: PepCarouselItemDirective | null = this.locateCarouselItem(\r\n event.target as Element\r\n );\r\n if (carouselItem && carouselItem.dragDisabled) {\r\n return;\r\n }\r\n\r\n const isTouchEvent = event.type === 'touchstart';\r\n\r\n this._startGlobalListening(isTouchEvent);\r\n this.isPressed = true;\r\n\r\n const mouseEvent = event as MouseEvent;\r\n this.downX = mouseEvent.clientX;\r\n this.downY = mouseEvent.clientY;\r\n\r\n clearTimeout(this.scrollToTimer as number);\r\n }\r\n\r\n onScrollHandler() {\r\n this.checkNavStatus();\r\n if (!this.isPressed && !this.isAnimating && !this.snapDisabled) {\r\n this.isScrolling = true;\r\n clearTimeout(this.scrollTimer as number);\r\n this.scrollTimer = setTimeout(() => {\r\n this.isScrolling = false;\r\n this.locateCurrentIndex(true);\r\n }, 500);\r\n } else {\r\n this.locateCurrentIndex();\r\n }\r\n }\r\n\r\n onMouseUpHandler(event: MouseEvent) {\r\n if (this.isPressed) {\r\n this.isPressed = false;\r\n this._pointerEvents = 'auto';\r\n this._setIsDragging(false);\r\n if (!this.snapDisabled) {\r\n this.locateCurrentIndex(true);\r\n } else {\r\n this.locateCurrentIndex();\r\n }\r\n this._stopGlobalListening();\r\n }\r\n }\r\n\r\n /*\r\n * Nav button\r\n */\r\n moveLeft() {\r\n if (this.currIndex !== 0 || this.snapDisabled) {\r\n this.currIndex--;\r\n clearTimeout(this.scrollToTimer as number);\r\n this.scrollTo(\r\n this._contentRef.nativeElement,\r\n this.toChildrenLocation(),\r\n this.snapDuration\r\n );\r\n }\r\n }\r\n\r\n moveRight() {\r\n const container = this.wrapper || this.parentNode;\r\n const containerWidth = container ? container.clientWidth : 0;\r\n\r\n if (\r\n !this.isScrollReachesRightEnd() &&\r\n this.currIndex <\r\n this.maximumIndex(containerWidth, this._children.toArray())\r\n ) {\r\n this.currIndex++;\r\n clearTimeout(this.scrollToTimer as number);\r\n this.scrollTo(\r\n this._contentRef.nativeElement,\r\n this.toChildrenLocation(),\r\n this.snapDuration\r\n );\r\n }\r\n }\r\n\r\n moveTo(index: number) {\r\n const container = this.wrapper || this.parentNode;\r\n const containerWidth = container ? container.clientWidth : 0;\r\n if (\r\n index >= 0 &&\r\n index !== this.currIndex &&\r\n this.currIndex <=\r\n this.maximumIndex(containerWidth, this._children.toArray())\r\n ) {\r\n this.currIndex = Math.min(\r\n index,\r\n this.maximumIndex(containerWidth, this._children.toArray())\r\n );\r\n clearTimeout(this.scrollToTimer as number);\r\n this.scrollTo(\r\n this._contentRef.nativeElement,\r\n this.toChildrenLocation(),\r\n this.snapDuration\r\n );\r\n }\r\n }\r\n\r\n checkNavStatus() {\r\n setTimeout(() => {\r\n const onlyOneItem = Boolean(this._children.length <= 1);\r\n const containerIsLargerThanContent = Boolean(\r\n this._contentRef.nativeElement.scrollWidth <=\r\n this._contentRef.nativeElement.clientWidth\r\n );\r\n if (onlyOneItem || containerIsLargerThanContent) {\r\n // only one element\r\n this.reachesLeftBound.emit(true);\r\n this.reachesRightBound.emit(true);\r\n } else if (this.isScrollReachesRightEnd()) {\r\n // reached right end\r\n this.reachesLeftBound.emit(false);\r\n this.reachesRightBound.emit(true);\r\n } else if (\r\n this._contentRef.nativeElement.scrollLeft === 0 &&\r\n this._contentRef.nativeElement.scrollWidth >\r\n this._contentRef.nativeElement.clientWidth\r\n ) {\r\n // reached left end\r\n this.reachesLeftBound.emit(true);\r\n this.reachesRightBound.emit(false);\r\n } else {\r\n // in the middle\r\n this.reachesLeftBound.emit(false);\r\n this.reachesRightBound.emit(false);\r\n }\r\n }, 0);\r\n }\r\n\r\n @HostListener('wheel', ['$event'])\r\n public onWheel(event: WheelEvent) {\r\n if (this._xWheelEnabled) {\r\n event.preventDefault();\r\n\r\n if (this._snapDisabled) {\r\n this._contentRef.nativeElement.scrollBy(event.deltaY, 0);\r\n } else {\r\n if (event.deltaY < 0) {\r\n this.moveLeft();\r\n } else if (event.deltaY > 0) {\r\n this.moveRight();\r\n }\r\n }\r\n }\r\n }\r\n\r\n @HostListener('window:resize')\r\n public onWindowResize() {\r\n this.refreshWrapperDimensions();\r\n this.checkNavStatus();\r\n }\r\n\r\n private _setIsDragging(value: boolean) {\r\n if (this._isDragging === value) {\r\n return;\r\n }\r\n\r\n this._isDragging = value;\r\n value ? this.dragStart.emit() : this.dragEnd.emit();\r\n }\r\n\r\n private _startGlobalListening(isTouchEvent: boolean) {\r\n if (!this._onMouseMoveListener) {\r\n const eventName = isTouchEvent ? 'touchmove' : 'mousemove';\r\n this._onMouseMoveListener = this._renderer.listen(\r\n 'document',\r\n eventName,\r\n this.onMouseMoveHandler.bind(this)\r\n );\r\n }\r\n\r\n if (!this._onMouseUpListener) {\r\n const eventName = isTouchEvent ? 'touchend' : 'mouseup';\r\n this._onMouseUpListener = this._renderer.listen(\r\n 'document',\r\n eventName,\r\n this.onMouseUpHandler.bind(this)\r\n );\r\n }\r\n }\r\n\r\n private _stopGlobalListening() {\r\n if (this._onMouseMoveListener) {\r\n this._onMouseMoveListener = this._onMouseMoveListener();\r\n }\r\n\r\n if (this._onMouseUpListener) {\r\n this._onMouseUpListener = this._onMouseUpListener();\r\n }\r\n }\r\n\r\n private disableScroll(axis: string): void {\r\n this._renderer.setStyle(\r\n this._contentRef.nativeElement,\r\n `overflow-${axis}`,\r\n 'hidden'\r\n );\r\n }\r\n\r\n private enableScroll(axis: string): void {\r\n this._renderer.setStyle(\r\n this._contentRef.nativeElement,\r\n `overflow-${axis}`,\r\n 'auto'\r\n );\r\n }\r\n\r\n private hideScrollbar(): void {\r\n if (\r\n this._contentRef.nativeElement.style.display !== 'none' &&\r\n !this.wrapper\r\n ) {\r\n this.parentNode = this._contentRef.nativeElement.parentNode;\r\n\r\n // create container element\r\n this.wrapper = this._renderer.createElement('div');\r\n this._renderer.addClass(this.wrapper, 'carousel-wrapper');\r\n // this._renderer.setAttribute(this.wrapper, 'class', 'carousel-wrapper');\r\n // this._renderer.addClass(this.wrapper, 'carousel-container');\r\n\r\n this.refreshWrapperDimensions();\r\n\r\n this._renderer.setStyle(this.wrapper, 'overflow', 'hidden');\r\n\r\n this._renderer.setStyle(\r\n this._contentRef.nativeElement,\r\n 'width',\r\n `calc(100% + ${this.scrollbarWidth})`\r\n );\r\n this._renderer.setStyle(\r\n this._contentRef.nativeElement,\r\n 'height',\r\n `calc(100% + ${this.scrollbarWidth})`\r\n );\r\n\r\n // Append container element to component element.\r\n this._renderer.appendChild(\r\n this._elementRef.nativeElement,\r\n this.wrapper\r\n );\r\n\r\n // Append content element to container element.\r\n this._renderer.appendChild(\r\n this.wrapper,\r\n this._contentRef.nativeElement\r\n );\r\n\r\n this.adjustMarginToLastChild();\r\n }\r\n }\r\n\r\n private showScrollbar(): void {\r\n if (this.wrapper) {\r\n this._renderer.setStyle(\r\n this._contentRef.nativeElement,\r\n 'width',\r\n '100%'\r\n );\r\n this._renderer.setStyle(\r\n this._contentRef.nativeElement,\r\n 'height',\r\n this.wrapper.style.height\r\n );\r\n if (this.parentNode !== null) {\r\n this.parentNode.removeChild(this.wrapper);\r\n this.parentNode.appendChild(this._contentRef.nativeElement);\r\n }\r\n this.wrapper = null;\r\n\r\n this.adjustMarginToLastChild();\r\n }\r\n }\r\n\r\n private checkScrollbar() {\r\n if (\r\n this._contentRef.nativeElement.scrollWidth <=\r\n this._contentRef.nativeElement.clientWidth\r\n ) {\r\n this._renderer.setStyle(\r\n this._contentRef.nativeElement,\r\n 'height',\r\n '100%'\r\n );\r\n } else {\r\n this._renderer.setStyle(\r\n this._contentRef.nativeElement,\r\n 'height',\r\n `calc(100% + ${this.scrollbarWidth})`\r\n );\r\n }\r\n if (\r\n this._contentRef.nativeElement.scrollHeight <=\r\n this._contentRef.nativeElement.clientHeight\r\n ) {\r\n this._renderer.setStyle(\r\n this._contentRef.nativeElement,\r\n 'width',\r\n '100%'\r\n );\r\n } else {\r\n this._renderer.setStyle(\r\n this._contentRef.nativeElement,\r\n 'width',\r\n `calc(100% + ${this.scrollbarWidth})`\r\n );\r\n }\r\n }\r\n\r\n private setScrollBar(): void {\r\n if (this.scrollbarHidden) {\r\n this.hideScrollbar();\r\n } else {\r\n this.showScrollbar();\r\n }\r\n }\r\n\r\n private getScrollbarWidth(): number {\r\n /**\r\n * Browser Scrollbar Widths (2016)\r\n * OSX (Chrome, Safari, Firefox) - 15px\r\n * Windows XP (IE7, Chrome, Firefox) - 17px\r\n * Windows 7 (IE10, IE11, Chrome, Firefox) - 17px\r\n * Windows 8.1 (IE11, Chrome, Firefox) - 17px\r\n * Windows 10 (IE11, Chrome, Firefox) - 17px\r\n * Windows 10 (Edge 12/13) - 12px\r\n */\r\n const outer = this._renderer.createElement('div');\r\n this._renderer.setStyle(outer, 'visibility', 'hidden');\r\n this._renderer.setStyle(outer, 'width', '100px');\r\n this._renderer.setStyle(outer, 'msOverflowStyle', 'scrollbar'); // needed for WinJS apps\r\n // document.body.appendChild(outer);\r\n this._renderer.appendChild(this._document.body, outer);\r\n // this._renderer.appendChild(this._renderer.selectRootElement('body'), outer);\r\n const widthNoScroll = outer.offsetWidth;\r\n // force scrollbars\r\n this._renderer.setStyle(outer, 'overflow', 'scroll');\r\n\r\n // add innerdiv\r\n const inner = this._renderer.createElement('div');\r\n this._renderer.setStyle(inner, 'width', '100%');\r\n this._renderer.appendChild(outer, inner);\r\n\r\n const widthWithScroll = inner.offsetWidth;\r\n\r\n // remove divs\r\n this._renderer.removeChild(this._document.body, outer);\r\n\r\n /**\r\n * Scrollbar width will be 0 on Mac OS with the\r\n * default \"Only show scrollbars when scrolling\" setting (Yosemite and up).\r\n * setting default width to 20;\r\n */\r\n return widthNoScroll - widthWithScroll || 20;\r\n }\r\n\r\n private refreshWrapperDimensions() {\r\n if (this.wrapper) {\r\n const height =\r\n this._elementRef.nativeElement.style.height ||\r\n this._elementRef.nativeElement.offsetHeight;\r\n\r\n this._renderer.setStyle(this.wrapper, 'width', '100%');\r\n this._renderer.setStyle(\r\n this.wrapper,\r\n 'height',\r\n height === 0 ? 'auto' : height + 'px'\r\n );\r\n }\r\n }\r\n\r\n /*\r\n * The below solution is heavily inspired from\r\n * https://gist.github.com/andjosh/6764939\r\n */\r\n private scrollTo(element: Element, to: number, duration: number) {\r\n this.isAnimating = true;\r\n const start = element.scrollLeft,\r\n change = to - start - this.snapOffset,\r\n increment = 20;\r\n let currentTime = 0;\r\n\r\n // t = current time\r\n // b = start value\r\n // c = change in value\r\n // d = duration\r\n const easeInOutQuad = (t: number, b: number, c: number, d: number) => {\r\n t /= d / 2;\r\n if (t < 1) {\r\n return (c / 2) * t * t + b;\r\n }\r\n t--;\r\n return (-c / 2) * (t * (t - 2) - 1) + b;\r\n };\r\n\r\n const animateScroll = () => {\r\n currentTime += increment;\r\n element.scrollLeft = easeInOutQuad(\r\n currentTime,\r\n start,\r\n change,\r\n duration\r\n );\r\n if (currentTime < duration) {\r\n this.scrollToTimer = setTimeout(animateScroll, increment);\r\n } else {\r\n // run one more frame to make sure the animation is fully finished\r\n setTimeout(() => {\r\n this.isAnimating = false;\r\n this.snapAnimationFinished.emit(this.currIndex);\r\n }, increment);\r\n }\r\n };\r\n animateScroll();\r\n }\r\n\r\n private locateCurrentIndex(snap?: boolean) {\r\n this.currentChildWidth(\r\n (\r\n currentChildWidth,\r\n nextChildrenWidth,\r\n childrenWidth,\r\n idx: number,\r\n stop\r\n ) => {\r\n if (\r\n this._contentRef.nativeElement.scrollLeft >=\r\n childrenWidth &&\r\n this._contentRef.nativeElement.scrollLeft <=\r\n nextChildrenWidth\r\n ) {\r\n if (\r\n nextChildrenWidth -\r\n this._contentRef.nativeElement.scrollLeft >\r\n currentChildWidth / 2 &&\r\n !this.isScrollReachesRightEnd()\r\n ) {\r\n // roll back scrolling\r\n if (!this.isAnimating) {\r\n this.currIndex = idx;\r\n }\r\n if (snap) {\r\n this.scrollTo(\r\n this._contentRef.nativeElement,\r\n childrenWidth,\r\n this.snapDuration\r\n );\r\n }\r\n } else if (\r\n this._contentRef.nativeElement.scrollLeft !== 0\r\n ) {\r\n // forward scrolling\r\n if (!this.isAnimating) {\r\n this.currIndex = idx + 1;\r\n }\r\n if (snap) {\r\n this.scrollTo(\r\n this._contentRef.nativeElement,\r\n childrenWidth + currentChildWidth,\r\n this.snapDuration\r\n );\r\n }\r\n }\r\n stop();\r\n } else if (idx + 1 === this._children.length - 1) {\r\n // reaches last index\r\n if (!this.isAnimating) {\r\n this.currIndex = idx + 1;\r\n }\r\n stop();\r\n }\r\n }\r\n );\r\n }\r\n\r\n private currentChildWidth(\r\n cb: (\r\n currentClildWidth: number,\r\n nextChildrenWidth: number,\r\n childrenWidth: number,\r\n index: number,\r\n breakFunc: () => void\r\n ) => void\r\n ) {\r\n let childrenWidth = 0;\r\n let shouldBreak = false;\r\n const breakFunc = function () {\r\n shouldBreak = true;\r\n };\r\n const childrenArr = this._children.toArray();\r\n\r\n for (let i = 0; i < childrenArr.length; i++) {\r\n if (i === childrenArr.length - 1) {\r\n break;\r\n }\r\n if (shouldBreak) {\r\n break;\r\n }\r\n\r\n const nextChildrenWidth =\r\n childrenWidth +\r\n childrenArr[i + 1]._elementRef.nativeElement.clientWidth;\r\n const currentClildWidth =\r\n childrenArr[i]._elementRef.nativeElement.clientWidth;\r\n cb(\r\n currentClildWidth,\r\n nextChildrenWidth,\r\n childrenWidth,\r\n i,\r\n breakFunc\r\n );\r\n\r\n childrenWidth += currentClildWidth;\r\n }\r\n }\r\n\r\n private toChildrenLocation(): number {\r\n let to = 0;\r\n const childrenArr = this._children.toArray();\r\n for (let i = 0; i < this.currIndex; i++) {\r\n to += childrenArr[i]._elementRef.nativeElement.clientWidth;\r\n }\r\n return to;\r\n }\r\n\r\n private locateCarouselItem(\r\n element: Element\r\n ): PepCarouselItemDirective | null {\r\n let item: PepCarouselItemDirective | null = null;\r\n const childrenArr = this._children.toArray();\r\n for (let i = 0; i < childrenArr.length; i++) {\r\n if (element === childrenArr[i]._elementRef.nativeElement) {\r\n item = childrenArr[i];\r\n }\r\n }\r\n return item;\r\n }\r\n\r\n private markElDimension() {\r\n if (this.wrapper) {\r\n this.elWidth = this.wrapper.style.width;\r\n this.elHeight = this.wrapper.style.height;\r\n } else {\r\n this.elWidth =\r\n this._elementRef.nativeElement.style.width ||\r\n this._elementRef.nativeElement.offsetWidth + 'px';\r\n this.elHeight =\r\n this._elementRef.nativeElement.style.height ||\r\n this._elementRef.nativeElement.offsetHeight + 'px';\r\n }\r\n const container = this.wrapper || this.parentNode;\r\n const containerWidth = container ? container.clientWidth : 0;\r\n if (this._children.length > 1) {\r\n this.indexBound = this.maximumIndex(\r\n containerWidth,\r\n this._children.toArray()\r\n );\r\n }\r\n }\r\n\r\n private maximumIndex(\r\n containerWidth: number,\r\n childrenElements: PepCarouselItemDirective[]\r\n ): number {\r\n let count = 0;\r\n let childrenWidth = 0;\r\n for (let i = 0; i <= childrenElements.length; i++) {\r\n // last N element\r\n const carouselItemDirective: PepCarouselItemDirective =\r\n childrenElements[childrenElements.length - 1 - i];\r\n if (!carouselItemDirective) {\r\n break;\r\n } else {\r\n const nativeElement =\r\n carouselItemDirective._elementRef.nativeElement;\r\n let itemWidth = nativeElement.clientWidth;\r\n if (itemWidth === 0 && nativeElement.firstElementChild) {\r\n itemWidth =\r\n carouselItemDirective._elementRef.nativeElement\r\n .firstElementChild.clientWidth;\r\n }\r\n childrenWidth += itemWidth;\r\n if (childrenWidth < containerWidth) {\r\n count++;\r\n } else {\r\n break;\r\n }\r\n }\r\n }\r\n return childrenElements.length - count;\r\n }\r\n\r\n private isScrollReachesRightEnd(): boolean {\r\n const scrollLeftPos =\r\n this._contentRef.nativeElement.scrollLeft +\r\n this._contentRef.nativeElement.offsetWidth;\r\n return scrollLeftPos >= this._contentRef.nativeElement.scrollWidth;\r\n }\r\n\r\n /**\r\n * adds a margin right style to the last child element which will resolve the issue\r\n * of last item gets cutoff.\r\n */\r\n private adjustMarginToLastChild(): void {\r\n // if (this._children && this._children.length > 0 && this.hideScrollbar) {\r\n // const childrenArr = this._children.toArray();\r\n // const lastItem = childrenArr[childrenArr.length - 1]._elementRef.nativeElement;\r\n // if (this.wrapper && childrenArr.length > 1) {\r\n // this._renderer.setStyle(lastItem, 'margin-right', this.scrollbarWidth);\r\n // } else {\r\n // this._renderer.setStyle(lastItem, 'margin-right', 0);\r\n // }\r\n // }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\n\r\nimport { PepCarouselComponent } from './carousel.component';\r\nimport { PepCarouselItemDirective } from './carousel-item.directive';\r\n\r\n@NgModule({\r\n exports: [PepCarouselComponent, PepCarouselItemDirective],\r\n declarations: [PepCarouselComponent, PepCarouselItemDirective],\r\n})\r\nexport class PepCarouselModule {}\r\n","/*\r\n * Public API Surface of carousel\r\n */\r\nexport * from './carousel.module';\r\nexport * from './carousel.component';\r\nexport * from './carousel-item.directive';\r\n// export * from './carousel.model';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -96,6 +96,9 @@ class PepCheckboxComponent {
96
96
  this.standAlone = true;
97
97
  this.setDefaultForm();
98
98
  this.renderer.addClass(this.element.nativeElement, PepCustomizationService.STAND_ALONE_FIELD_CLASS_NAME);
99
+ if (!this.renderTitle) {
100
+ this.renderer.addClass(this.element.nativeElement, PepCustomizationService.STAND_ALONE_FIELD_NO_SPACING_CLASS_NAME);
101
+ }
99
102
  }
100
103
  }
101
104
  ngOnChanges(changes) {
@@ -125,9 +128,9 @@ class PepCheckboxComponent {
125
128
  PepCheckboxComponent.decorators = [
126
129
  { type: Component, args: [{
127
130
  selector: 'pep-checkbox',
128
- template: "<ng-container [formGroup]=\"form\">\n <ng-template #pepTemplate>\n <div class=\"pep-checkbox-container pep-input\" [ngClass]=\"{\n 'disable': disabled,\n 'pep-report-checkbox': layoutType === 'table' && !isActive,\n 'pep-card-checkbox': layoutType === 'card',\n 'one-row': rowSpan === 1,\n 'no-title': label.length == 0,\n 'right-alignment pull-right flip': xAlignment == 'right',\n 'center-alignment': xAlignment == 'center'\n }\" dir=\"{{ xAlignment == 'right' ? 'rtl' : 'ltr' }}\">\n <!--\n This is cause a bug that when click on the pep-input area and after on the checkbox\n the value is updated only for the second time.\n (click)=\"toggleChecked($event)\" \n -->\n <ng-container *ngIf=\"type == 'booleanText'; then booleanTextTemplate; else regularTemplate\"></ng-container>\n <ng-template #booleanTextTemplate>\n <div class=\"mat-checkbox-layout body-sm\" (click)=\"toggleChecked($event)\"\n [title]=\"(label.length > 0 ? label + ': ' : '') + (value ? ('CHECKBOX.TRUE' | translate) : ('CHECKBOX.FALSE' | translate))\">\n <button [id]=\"key\" class=\"emoji-icon ellipsis pull-left flip\">\n {{ value ? additionalValueObject?.CheckedText : additionalValueObject?.UncheckedText }}\n </button>\n <span *ngIf=\"label.length > 0 && layoutType !== 'table'\" class=\"mat-checkbox-label emoji-title\">{{\n label }}</span>\n </div>\n </ng-template>\n <ng-template #regularTemplate>\n <mat-checkbox [name]=\"key\" class=\"body-sm\" type=\"checkbox\" (change)=\"onMaterialChange($event)\"\n [title]=\"(label.length > 0 ? label + ': ' : '') + (value ? ('CHECKBOX.TRUE' | translate) : ('CHECKBOX.FALSE' | translate))\"\n [checked]=\"value\" [disabled]=\"disabled\">\n <span *ngIf=\"label.length > 0 && layoutType !== 'table'\">{{ label }}</span>\n </mat-checkbox>\n </ng-template>\n </div>\n </ng-template>\n\n <ng-container *ngIf=\"layoutType === 'form'\">\n <pep-field-title *ngIf=\"renderTitle\" [label]=\"label\" [mandatory]=\"mandatory\" [disabled]=\"disabled\"\n [xAlignment]=\"xAlignment\" [showTitle]=\"false\">\n </pep-field-title>\n <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"layoutType === 'card'\">\n <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"layoutType === 'table'\">\n <ng-container *ngIf=\"key === 'ItemHasActiveCampaign'; then itemCampaignBlock; else checkboxBlock\">\n </ng-container>\n <ng-template #itemCampaignBlock>\n <ng-container *ngIf=\"value; then trueTemplate; else falseTemplate\">\n </ng-container>\n <ng-template #trueTemplate>\n <mat-icon class=\"has-active-campaign\" title=\"{{ 'CHECKBOX.TRUE' | translate }}\">\n <pep-icon name=\"system_bolt\">\n </pep-icon>\n </mat-icon>\n </ng-template>\n <ng-template #falseTemplate>\n <span>&nbsp;</span>\n </ng-template>\n </ng-template>\n <ng-template #checkboxBlock>\n <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container>\n </ng-template>\n </ng-container>\n</ng-container>",
131
+ template: "<ng-container [formGroup]=\"form\">\r\n <ng-template #pepTemplate>\r\n <div class=\"pep-checkbox-container pep-input\" [ngClass]=\"{\r\n 'disable': disabled,\r\n 'pep-report-checkbox': layoutType === 'table' && !isActive,\r\n 'pep-card-checkbox': layoutType === 'card',\r\n 'one-row': rowSpan === 1,\r\n 'no-title': label.length == 0,\r\n 'right-alignment pull-right flip': xAlignment == 'right',\r\n 'center-alignment': xAlignment == 'center'\r\n }\" dir=\"{{ xAlignment == 'right' ? 'rtl' : 'ltr' }}\">\r\n <!--\r\n This is cause a bug that when click on the pep-input area and after on the checkbox\r\n the value is updated only for the second time.\r\n (click)=\"toggleChecked($event)\" \r\n -->\r\n <ng-container *ngIf=\"type == 'booleanText'; then booleanTextTemplate; else regularTemplate\"></ng-container>\r\n <ng-template #booleanTextTemplate>\r\n <div class=\"mat-checkbox-layout body-sm\" (click)=\"toggleChecked($event)\"\r\n [title]=\"(label.length > 0 ? label + ': ' : '') + (value ? ('CHECKBOX.TRUE' | translate) : ('CHECKBOX.FALSE' | translate))\">\r\n <button [id]=\"key\" class=\"emoji-icon ellipsis pull-left flip\">\r\n {{ value ? additionalValueObject?.CheckedText : additionalValueObject?.UncheckedText }}\r\n </button>\r\n <span *ngIf=\"label.length > 0 && layoutType !== 'table'\" class=\"mat-checkbox-label emoji-title\">{{\r\n label }}</span>\r\n </div>\r\n </ng-template>\r\n <ng-template #regularTemplate>\r\n <mat-checkbox [name]=\"key\" class=\"body-sm\" type=\"checkbox\" (change)=\"onMaterialChange($event)\"\r\n [title]=\"(label.length > 0 ? label + ': ' : '') + (value ? ('CHECKBOX.TRUE' | translate) : ('CHECKBOX.FALSE' | translate))\"\r\n [checked]=\"value\" [disabled]=\"disabled\">\r\n <span *ngIf=\"label.length > 0 && layoutType !== 'table'\">{{ label }}</span>\r\n </mat-checkbox>\r\n </ng-template>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-container *ngIf=\"layoutType === 'form'\">\r\n <pep-field-title *ngIf=\"renderTitle\" [label]=\"label\" [mandatory]=\"mandatory\" [disabled]=\"disabled\"\r\n [xAlignment]=\"xAlignment\" [showTitle]=\"false\">\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 *ngTemplateOutlet=\"pepTemplate\"></ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"layoutType === 'table'\">\r\n <ng-container *ngIf=\"key === 'ItemHasActiveCampaign'; then itemCampaignBlock; else checkboxBlock\">\r\n </ng-container>\r\n <ng-template #itemCampaignBlock>\r\n <ng-container *ngIf=\"value; then trueTemplate; else falseTemplate\">\r\n </ng-container>\r\n <ng-template #trueTemplate>\r\n <mat-icon class=\"has-active-campaign\" title=\"{{ 'CHECKBOX.TRUE' | translate }}\">\r\n <pep-icon name=\"system_bolt\">\r\n </pep-icon>\r\n </mat-icon>\r\n </ng-template>\r\n <ng-template #falseTemplate>\r\n <span>&nbsp;</span>\r\n </ng-template>\r\n </ng-template>\r\n <ng-template #checkboxBlock>\r\n <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container>\r\n </ng-template>\r\n </ng-container>\r\n</ng-container>",
129
132
  changeDetection: ChangeDetectionStrategy.OnPush,
130
- styles: [":host{height:inherit;display:grid}:host>*{align-self:center}"]
133
+ styles: [":host{height:inherit;display:grid}:host>*{align-self:center}", ""]
131
134
  },] }
132
135
  ];
133
136
  PepCheckboxComponent.ctorParameters = () => [
@@ -1 +1 @@
1
- {"version":3,"file":"pepperi-addons-ngx-lib-checkbox.js","sources":["../../../projects/ngx-lib/checkbox/checkbox.component.ts","../../../projects/ngx-lib/checkbox/checkbox.module.ts","../../../projects/ngx-lib/checkbox/public-api.ts","../../../projects/ngx-lib/checkbox/pepperi-addons-ngx-lib-checkbox.ts"],"sourcesContent":["import {\n Component,\n OnInit,\n Input,\n Output,\n EventEmitter,\n ChangeDetectionStrategy,\n OnDestroy,\n Renderer2,\n ElementRef,\n Optional,\n OnChanges,\n} from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { MatCheckboxChange } from '@angular/material/checkbox';\nimport { TranslateService } from '@ngx-translate/core';\nimport {\n PepCustomizationService,\n PepLayoutType,\n PepHorizontalAlignment,\n DEFAULT_HORIZONTAL_ALIGNMENT,\n PepCheckboxFieldType,\n PepCheckboxField,\n} from '@pepperi-addons/ngx-lib';\n\n@Component({\n selector: 'pep-checkbox',\n templateUrl: './checkbox.component.html',\n styleUrls: ['./checkbox.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PepCheckboxComponent implements OnInit, OnChanges, OnDestroy {\n @Input() key = '';\n @Input() value = false;\n @Input() label = '';\n\n private _type: PepCheckboxFieldType = 'checkbox'; // || 'booleanText'\n @Input()\n set type(value: PepCheckboxFieldType) {\n this._type = value;\n this.setAdditionalValueObject();\n }\n get type(): PepCheckboxFieldType {\n return this._type;\n }\n\n @Input() mandatory = false;\n @Input() disabled = false;\n @Input() readonly = false;\n @Input() xAlignment: PepHorizontalAlignment = DEFAULT_HORIZONTAL_ALIGNMENT;\n @Input() rowSpan = 1;\n\n private _additionalValue: any = undefined;\n @Input()\n set additionalValue(value: any) {\n this._additionalValue = value;\n this.setAdditionalValueObject();\n }\n get additionalValue(): any {\n return this._additionalValue;\n }\n\n controlType = 'checkbox';\n\n @Input() form: FormGroup = null;\n @Input() isActive = false;\n @Input() showTitle = true;\n @Input() renderTitle = true;\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 @Output()\n valueChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n standAlone = false;\n\n additionalValueObject: any;\n public jsonLib = JSON;\n\n constructor(\n private renderer: Renderer2,\n private customizationService: PepCustomizationService,\n private element: ElementRef,\n private translate: TranslateService\n ) { }\n\n private setAdditionalValueObject() {\n if (this.additionalValue && this.type === 'booleanText') {\n try {\n if (typeof this.additionalValue === 'string') {\n this.additionalValueObject = JSON.parse(\n this.additionalValue\n );\n } else {\n this.additionalValueObject = this.additionalValue;\n }\n } catch {\n this.additionalValueObject = {\n CheckedText: this.translate.instant('CHECKBOX.TRUE'),\n UncheckedText: this.translate.instant('CHECKBOX.FALSE'),\n };\n }\n }\n }\n\n private setDefaultForm(): void {\n const pepField = new PepCheckboxField({\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\n ngOnDestroy(): void {\n //\n }\n\n onMaterialChange(e: MatCheckboxChange): void {\n this.changeValue(e.checked);\n }\n\n toggleChecked(event: Event): void {\n if (!this.disabled) {\n const isChecked: boolean =\n this.value ? true : false;\n const newValue = !isChecked;\n this.value = newValue;\n this.changeValue(newValue);\n }\n }\n\n changeValue(value: any): void {\n this.customizationService.updateFormFieldValue(\n this.form,\n this.key,\n value\n );\n this.valueChange.emit(value);\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 { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\nimport {\n PepIconModule,\n PepIconRegistry,\n pepIconSystemBolt,\n} from '@pepperi-addons/ngx-lib/icon';\nimport { PepFieldTitleModule } from '@pepperi-addons/ngx-lib/field-title';\n\nimport { PepCheckboxComponent } from './checkbox.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n // Material modules\n MatCommonModule,\n MatFormFieldModule,\n MatCheckboxModule,\n MatIconModule,\n // ngx-lib modules\n PepNgxLibModule,\n PepIconModule,\n PepFieldTitleModule,\n ],\n exports: [PepCheckboxComponent],\n declarations: [PepCheckboxComponent],\n})\nexport class PepCheckboxModule {\n constructor(private pepIconRegistry: PepIconRegistry) {\n this.pepIconRegistry.registerIcons([pepIconSystemBolt]);\n }\n}\n","/*\n * Public API Surface of ngx-lib/checkbox\n */\nexport * from './checkbox.module';\nexport * from './checkbox.component';\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-checkbox.js","sources":["../../../projects/ngx-lib/checkbox/checkbox.component.ts","../../../projects/ngx-lib/checkbox/checkbox.module.ts","../../../projects/ngx-lib/checkbox/public-api.ts","../../../projects/ngx-lib/checkbox/pepperi-addons-ngx-lib-checkbox.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 Renderer2,\r\n ElementRef,\r\n Optional,\r\n OnChanges,\r\n} from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { MatCheckboxChange } from '@angular/material/checkbox';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport {\r\n PepCustomizationService,\r\n PepLayoutType,\r\n PepHorizontalAlignment,\r\n DEFAULT_HORIZONTAL_ALIGNMENT,\r\n PepCheckboxFieldType,\r\n PepCheckboxField,\r\n} from '@pepperi-addons/ngx-lib';\r\n\r\n@Component({\r\n selector: 'pep-checkbox',\r\n templateUrl: './checkbox.component.html',\r\n styleUrls: ['./checkbox.component.scss', './checkbox.component.theme.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class PepCheckboxComponent implements OnInit, OnChanges, OnDestroy {\r\n @Input() key = '';\r\n @Input() value = false;\r\n @Input() label = '';\r\n\r\n private _type: PepCheckboxFieldType = 'checkbox'; // || 'booleanText'\r\n @Input()\r\n set type(value: PepCheckboxFieldType) {\r\n this._type = value;\r\n this.setAdditionalValueObject();\r\n }\r\n get type(): PepCheckboxFieldType {\r\n return this._type;\r\n }\r\n\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\r\n private _additionalValue: any = undefined;\r\n @Input()\r\n set additionalValue(value: any) {\r\n this._additionalValue = value;\r\n this.setAdditionalValueObject();\r\n }\r\n get additionalValue(): any {\r\n return this._additionalValue;\r\n }\r\n\r\n controlType = 'checkbox';\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 @Input() layoutType: PepLayoutType = 'form';\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 @Output()\r\n valueChange: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n\r\n standAlone = false;\r\n\r\n additionalValueObject: any;\r\n public jsonLib = JSON;\r\n\r\n constructor(\r\n private renderer: Renderer2,\r\n private customizationService: PepCustomizationService,\r\n private element: ElementRef,\r\n private translate: TranslateService\r\n ) { }\r\n\r\n private setAdditionalValueObject() {\r\n if (this.additionalValue && this.type === 'booleanText') {\r\n try {\r\n if (typeof this.additionalValue === 'string') {\r\n this.additionalValueObject = JSON.parse(\r\n this.additionalValue\r\n );\r\n } else {\r\n this.additionalValueObject = this.additionalValue;\r\n }\r\n } catch {\r\n this.additionalValueObject = {\r\n CheckedText: this.translate.instant('CHECKBOX.TRUE'),\r\n UncheckedText: this.translate.instant('CHECKBOX.FALSE'),\r\n };\r\n }\r\n }\r\n }\r\n\r\n private setDefaultForm(): void {\r\n const pepField = new PepCheckboxField({\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\r\n ngOnDestroy(): void {\r\n //\r\n }\r\n\r\n onMaterialChange(e: MatCheckboxChange): void {\r\n this.changeValue(e.checked);\r\n }\r\n\r\n toggleChecked(event: Event): void {\r\n if (!this.disabled) {\r\n const isChecked: boolean =\r\n this.value ? true : false;\r\n const newValue = !isChecked;\r\n this.value = newValue;\r\n this.changeValue(newValue);\r\n }\r\n }\r\n\r\n changeValue(value: any): void {\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}","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 { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\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 pepIconSystemBolt,\r\n} from '@pepperi-addons/ngx-lib/icon';\r\nimport { PepFieldTitleModule } from '@pepperi-addons/ngx-lib/field-title';\r\n\r\nimport { PepCheckboxComponent } from './checkbox.component';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ReactiveFormsModule,\r\n // Material modules\r\n MatCommonModule,\r\n MatFormFieldModule,\r\n MatCheckboxModule,\r\n MatIconModule,\r\n // ngx-lib modules\r\n PepNgxLibModule,\r\n PepIconModule,\r\n PepFieldTitleModule,\r\n ],\r\n exports: [PepCheckboxComponent],\r\n declarations: [PepCheckboxComponent],\r\n})\r\nexport class PepCheckboxModule {\r\n constructor(private pepIconRegistry: PepIconRegistry) {\r\n this.pepIconRegistry.registerIcons([pepIconSystemBolt]);\r\n }\r\n}\r\n","/*\r\n * Public API Surface of ngx-lib/checkbox\r\n */\r\nexport * from './checkbox.module';\r\nexport * from './checkbox.component';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -28,28 +28,28 @@ class PepColorPickerComponent {
28
28
  this.data = data;
29
29
  this.defaultColor = '#ccc';
30
30
  this.checkAAComplient = true;
31
- this.defaultHueBackground = `linear-gradient(to right,
32
- hsl(0, 100%, 50%) 0%,
33
- hsl(60, 100%, 50%) 17%,
34
- hsl(120, 100%, 50%) 33%,
35
- hsl(180, 100%, 50%) 50%,
36
- hsl(240, 100%, 50%) 67%,
37
- hsl(300, 100%, 50%) 83%,
31
+ this.defaultHueBackground = `linear-gradient(to right,
32
+ hsl(0, 100%, 50%) 0%,
33
+ hsl(60, 100%, 50%) 17%,
34
+ hsl(120, 100%, 50%) 33%,
35
+ hsl(180, 100%, 50%) 50%,
36
+ hsl(240, 100%, 50%) 67%,
37
+ hsl(300, 100%, 50%) 83%,
38
38
  hsl(360, 100%, 50%) 100%)`;
39
39
  this.currentHue = 100;
40
40
  this.currentHueMin = 0;
41
41
  this.currentHueMax = 360;
42
42
  this.currentHueBackground = this.defaultHueBackground;
43
- this.defaultSaturationBackground = `linear-gradient(to right,
44
- hsl(var(--pep-color-picker-current-hue), 0.01%, 50%) 0%,
43
+ this.defaultSaturationBackground = `linear-gradient(to right,
44
+ hsl(var(--pep-color-picker-current-hue), 0.01%, 50%) 0%,
45
45
  hsl(var(--pep-color-picker-current-hue), 100%, 50%) 100%)`;
46
46
  this.currentSaturation = 50;
47
47
  this.currentSaturationMin = 0;
48
48
  this.currentSaturationMax = 100;
49
49
  this.currentSaturationBackground = this.defaultSaturationBackground;
50
- this.defaultLightnessBackground = `linear-gradient(to right,
51
- hsl(var(--pep-color-picker-current-hue), 100%, 100%) 0%,
52
- hsl(var(--pep-color-picker-current-hue), 100%, 50%) 50%,
50
+ this.defaultLightnessBackground = `linear-gradient(to right,
51
+ hsl(var(--pep-color-picker-current-hue), 100%, 100%) 0%,
52
+ hsl(var(--pep-color-picker-current-hue), 100%, 50%) 50%,
53
53
  hsl(var(--pep-color-picker-current-hue), 100%, 0.01%) 100%)`;
54
54
  this.currentLightness = 50;
55
55
  this.currentLightnessMin = 0;
@@ -88,15 +88,15 @@ class PepColorPickerComponent {
88
88
  this.currentLightnessMin = 10;
89
89
  this.currentLightnessMax = 65;
90
90
  this.currentLightness = 50;
91
- this.currentHueBackground = `linear-gradient(to right,
92
- hsl(70, 100%, 50%) 0%,
91
+ this.currentHueBackground = `linear-gradient(to right,
92
+ hsl(70, 100%, 50%) 0%,
93
93
  hsl(150, 100%, 50%) 100%)`;
94
- this.currentSaturationBackground = `linear-gradient(to right,
95
- hsl(var(--pep-color-picker-current-hue), 50%, 50%) 50%,
94
+ this.currentSaturationBackground = `linear-gradient(to right,
95
+ hsl(var(--pep-color-picker-current-hue), 50%, 50%) 50%,
96
96
  hsl(var(--pep-color-picker-current-hue), 100%, 50%) 100%)`;
97
- this.currentLightnessBackground = `linear-gradient(to right,
98
- hsl(var(--pep-color-picker-current-hue), 100%, 65%) 10%,
99
- hsl(var(--pep-color-picker-current-hue), 100%, 35%) 35%,
97
+ this.currentLightnessBackground = `linear-gradient(to right,
98
+ hsl(var(--pep-color-picker-current-hue), 100%, 65%) 10%,
99
+ hsl(var(--pep-color-picker-current-hue), 100%, 35%) 35%,
100
100
  hsl(var(--pep-color-picker-current-hue), 100%, 10%) 65%)`;
101
101
  }
102
102
  else if (this.data.type === 'caution') {
@@ -109,15 +109,15 @@ class PepColorPickerComponent {
109
109
  this.currentLightnessMin = 25;
110
110
  this.currentLightnessMax = 75;
111
111
  this.currentLightness = 50;
112
- this.currentHueBackground = `linear-gradient(to right,
113
- hsl(340, 100%, 50%) 0%,
112
+ this.currentHueBackground = `linear-gradient(to right,
113
+ hsl(340, 100%, 50%) 0%,
114
114
  hsl(20, 100%, 50%) 100%)`;
115
- this.currentSaturationBackground = `linear-gradient(to right,
116
- hsl(var(--pep-color-picker-current-hue), 75%, 50%) 75%,
115
+ this.currentSaturationBackground = `linear-gradient(to right,
116
+ hsl(var(--pep-color-picker-current-hue), 75%, 50%) 75%,
117
117
  hsl(var(--pep-color-picker-current-hue), 100%, 50%) 100%)`;
118
- this.currentLightnessBackground = `linear-gradient(to right,
119
- hsl(var(--pep-color-picker-current-hue), 100%, 75%) 25%,
120
- hsl(var(--pep-color-picker-current-hue), 100%, 50%) 50%,
118
+ this.currentLightnessBackground = `linear-gradient(to right,
119
+ hsl(var(--pep-color-picker-current-hue), 100%, 75%) 25%,
120
+ hsl(var(--pep-color-picker-current-hue), 100%, 50%) 50%,
121
121
  hsl(var(--pep-color-picker-current-hue), 100%, 25%) 75%)`;
122
122
  }
123
123
  }
@@ -214,8 +214,8 @@ class PepColorPickerComponent {
214
214
  PepColorPickerComponent.CURRENT_HUE = '--pep-color-picker-current-hue';
215
215
  PepColorPickerComponent.decorators = [
216
216
  { type: Component, args: [{
217
- template: "<div class=\"pep-color-picker-container\">\n <pep-dialog [title]=\"'COLOR.DIALOG_TITLE' | translate\">\n <ng-container pep-dialog-content>\n <div class=\"color-chooser-content\">\n <div class=\"current-color\" [ngStyle]=\"{ 'background': data?.value ? data.value : 'transparent' }\"></div>\n\n <pep-slider class=\"slider-box\" [label]=\"'COLOR.CHANGE_HUE' | translate\" [minValue]=\"currentHueMin\"\n [maxValue]=\"currentHueMax\" [value]=\"currentHue\" [background]=\"currentHueBackground\"\n (valueChange)=\"onHueChange($event)\">\n </pep-slider>\n <pep-slider class=\"slider-box\" [label]=\"'COLOR.CHANGE_SATURATION' | translate\"\n [minValue]=\"currentSaturationMin\" [maxValue]=\"currentSaturationMax\" [value]=\"currentSaturation\"\n [background]=\"currentSaturationBackground\" (valueChange)=\"onSaturationChange($event)\">\n </pep-slider>\n <pep-slider class=\"slider-box\" [label]=\"'COLOR.CHANGE_LIGHTNESS' | translate\"\n [minValue]=\"currentLightnessMin\" [maxValue]=\"currentLightnessMax\"\n [value]=\"currentLightnessMax - currentLightness + currentLightnessMin\"\n [background]=\"currentLightnessBackground\" (valueChange)=\"onLightnessChange($event)\">\n </pep-slider>\n <!-- <div class=\"slider-box current-hue\">\n <mat-label class=\"body-xs \">{{ 'COLOR.CHANGE_HUE' | translate}}</mat-label>\n <div [class]=\"data?.type\">\n <mat-slider [min]=\"currentHueMin\" [max]=\"currentHueMax\" step=\"1\" [value]=\"currentHue\"\n (change)=\"onHueChange($event)\"></mat-slider>\n </div>\n </div> \n <div class=\"slider-box current-saturation\">\n <mat-label class=\"body-xs \">{{ 'COLOR.CHANGE_SATURATION' | translate}}</mat-label>\n <div [class]=\"data?.type\">\n <mat-slider [min]=\"currentSaturationMin\" [max]=\"currentSaturationMax\" step=\"1\"\n [value]=\"currentSaturation\" (change)=\"onSaturationChange($event)\"></mat-slider>\n </div>\n </div>\n <div class=\"slider-box current-lightness\">\n <mat-label class=\"body-xs \">{{ 'COLOR.CHANGE_LIGHTNESS' | translate}}</mat-label>\n <div [class]=\"data?.type\">\n <mat-slider [min]=\"currentLightnessMin\" [max]=\"currentLightnessMax\" step=\"1\"\n [value]=\"currentLightnessMax - currentLightness + currentLightnessMin\"\n (change)=\"onLightnessChange($event)\"></mat-slider>\n </div>\n </div>-->\n </div>\n <div class=\"color-value-content\">\n <div class=\"color-value\" [ngClass]=\"{ 'with-complient': checkAAComplient }\">\n <pep-textbox [key]=\"'colorValue'\" [label]=\"'COLOR.ADD_VALUE_HERE' | translate \"\n [formattedValue]=\"data?.value\" [value]=\"data?.value\" (valueChange)=\"onColorValueChange($event)\">\n </pep-textbox>\n </div>\n <div *ngIf=\"checkAAComplient\" class=\"color-complient-container\">\n <pep-field-title [label]=\"'COLOR.AA_COMPLIENT' | translate \">\n </pep-field-title>\n <div class=\"color-complient\" [ngStyle]=\"{ 'background': complientColor }\">\n <mat-icon *ngIf=\"isUserChooseAAComplientColor\">\n <pep-icon name=\"system_ok\">\n </pep-icon>\n </mat-icon>\n </div>\n </div>\n </div>\n </ng-container>\n <ng-container pep-dialog-actions>\n <div class=\"color-actions pep-spacing-element-negative\">\n <mat-checkbox *ngIf=\"data.showAAComplient\" class=\"pep-spacing-element\" type=\"checkbox\"\n id=\"checkAAComplient\" (change)=\"checkAAComplient = !checkAAComplient\" [checked]=\"checkAAComplient\">\n <span class=\"body-xs ellipsis\">{{ 'COLOR.AA_COMPLIENT' | translate }}</span>\n </mat-checkbox>\n <div>\n <button mat-button [mat-dialog-close]=\"null\" class=\"pep-spacing-element pep-button md weak\">\n {{'ACTIONS.CANCEL' | translate}}\n </button>\n <button mat-button class=\"pep-spacing-element pep-button md strong\" (click)=\"onSave($event)\">\n {{'ACTIONS.OK' | translate}}\n </button>\n </div>\n </div>\n </ng-container>\n </pep-dialog>\n</div>",
218
- styles: [".mat-slider-horizontal .mat-slider-track-fill,.mat-slider-track-background{display:none}.pep-color-picker-container ::ng-deep.mat-dialog-content,.pepperi-color-picker-container ::ng-deep.mat-dialog-content{padding:.5rem .5rem 0;padding:var(--pep-spacing-sm,.5rem) var(--pep-spacing-sm,.5rem) 0}.pep-color-picker-container .color-chooser-content,.pepperi-color-picker-container .color-chooser-content{display:-ms-grid;display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(3,1fr);grid-column-gap:1.5rem;grid-column-gap:var(--pep-spacing-xl,1.5rem);grid-row-gap:.5rem;grid-row-gap:var(--pep-spacing-sm,.5rem);margin-top:.5rem;margin-top:var(--pep-spacing-sm,.5rem)}.pep-color-picker-container .color-chooser-content .current-color,.pepperi-color-picker-container .color-chooser-content .current-color{grid-row:1/span 3;grid-column:6/span 4;border-radius:.25rem;border-radius:var(--pep-border-radius-md,.25rem);width:9.25rem;height:9.25rem}.pep-color-picker-container .color-chooser-content .slider-box,.pepperi-color-picker-container .color-chooser-content .slider-box{grid-column:1/span 5}.pep-color-picker-container .color-value-content,.pepperi-color-picker-container .color-value-content{display:-ms-grid;display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(1,1fr);grid-column-gap:1.5rem;grid-column-gap:var(--pep-spacing-xl,1.5rem);grid-row-gap:.5rem;grid-row-gap:var(--pep-spacing-sm,.5rem);margin-top:1.5rem}.pep-color-picker-container .color-value-content .color-value,.pepperi-color-picker-container .color-value-content .color-value{grid-row:1/span 1;grid-column:1/span 9}.pep-color-picker-container .color-value-content .color-value.with-complient,.pepperi-color-picker-container .color-value-content .color-value.with-complient{grid-column:1/span 5}.pep-color-picker-container .color-value-content .color-complient-container,.pepperi-color-picker-container .color-value-content .color-complient-container{grid-column:6/span 4}.pep-color-picker-container .color-value-content .color-complient-container .color-complient,.pepperi-color-picker-container .color-value-content .color-complient-container .color-complient{display:flex;justify-content:center;align-items:center;border-radius:.25rem;border-radius:var(--pep-border-radius-md,.25rem);height:2.5rem;height:var(--pep-form-field-height,2.5rem);width:9.25rem}.pep-color-picker-container ::ng-deep.mat-dialog-actions,.pepperi-color-picker-container ::ng-deep.mat-dialog-actions{display:block}.pep-color-picker-container ::ng-deep.mat-dialog-actions .color-actions,.pepperi-color-picker-container ::ng-deep.mat-dialog-actions .color-actions{display:flex;justify-content:space-between;align-items:center}"]
217
+ template: "<div class=\"pep-color-picker-container\">\r\n <pep-dialog [title]=\"'COLOR.DIALOG_TITLE' | translate\">\r\n <ng-container pep-dialog-content>\r\n <div class=\"color-chooser-content\">\r\n <div class=\"current-color\" [ngStyle]=\"{ 'background': data?.value ? data.value : 'transparent' }\"></div>\r\n\r\n <pep-slider class=\"slider-box\" [label]=\"'COLOR.CHANGE_HUE' | translate\" [minValue]=\"currentHueMin\"\r\n [maxValue]=\"currentHueMax\" [value]=\"currentHue\" [background]=\"currentHueBackground\"\r\n (valueChange)=\"onHueChange($event)\">\r\n </pep-slider>\r\n <pep-slider class=\"slider-box\" [label]=\"'COLOR.CHANGE_SATURATION' | translate\"\r\n [minValue]=\"currentSaturationMin\" [maxValue]=\"currentSaturationMax\" [value]=\"currentSaturation\"\r\n [background]=\"currentSaturationBackground\" (valueChange)=\"onSaturationChange($event)\">\r\n </pep-slider>\r\n <pep-slider class=\"slider-box\" [label]=\"'COLOR.CHANGE_LIGHTNESS' | translate\"\r\n [minValue]=\"currentLightnessMin\" [maxValue]=\"currentLightnessMax\"\r\n [value]=\"currentLightnessMax - currentLightness + currentLightnessMin\"\r\n [background]=\"currentLightnessBackground\" (valueChange)=\"onLightnessChange($event)\">\r\n </pep-slider>\r\n <!-- <div class=\"slider-box current-hue\">\r\n <mat-label class=\"body-xs \">{{ 'COLOR.CHANGE_HUE' | translate}}</mat-label>\r\n <div [class]=\"data?.type\">\r\n <mat-slider [min]=\"currentHueMin\" [max]=\"currentHueMax\" step=\"1\" [value]=\"currentHue\"\r\n (change)=\"onHueChange($event)\"></mat-slider>\r\n </div>\r\n </div> \r\n <div class=\"slider-box current-saturation\">\r\n <mat-label class=\"body-xs \">{{ 'COLOR.CHANGE_SATURATION' | translate}}</mat-label>\r\n <div [class]=\"data?.type\">\r\n <mat-slider [min]=\"currentSaturationMin\" [max]=\"currentSaturationMax\" step=\"1\"\r\n [value]=\"currentSaturation\" (change)=\"onSaturationChange($event)\"></mat-slider>\r\n </div>\r\n </div>\r\n <div class=\"slider-box current-lightness\">\r\n <mat-label class=\"body-xs \">{{ 'COLOR.CHANGE_LIGHTNESS' | translate}}</mat-label>\r\n <div [class]=\"data?.type\">\r\n <mat-slider [min]=\"currentLightnessMin\" [max]=\"currentLightnessMax\" step=\"1\"\r\n [value]=\"currentLightnessMax - currentLightness + currentLightnessMin\"\r\n (change)=\"onLightnessChange($event)\"></mat-slider>\r\n </div>\r\n </div>-->\r\n </div>\r\n <div class=\"color-value-content\">\r\n <div class=\"color-value\" [ngClass]=\"{ 'with-complient': checkAAComplient }\">\r\n <pep-textbox [key]=\"'colorValue'\" [label]=\"'COLOR.ADD_VALUE_HERE' | translate \"\r\n [formattedValue]=\"data?.value\" [value]=\"data?.value\" (valueChange)=\"onColorValueChange($event)\">\r\n </pep-textbox>\r\n </div>\r\n <div *ngIf=\"checkAAComplient\" class=\"color-complient-container\">\r\n <pep-field-title [label]=\"'COLOR.AA_COMPLIENT' | translate \">\r\n </pep-field-title>\r\n <div class=\"color-complient\" [ngStyle]=\"{ 'background': complientColor }\">\r\n <mat-icon *ngIf=\"isUserChooseAAComplientColor\">\r\n <pep-icon name=\"system_ok\">\r\n </pep-icon>\r\n </mat-icon>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container pep-dialog-actions>\r\n <div class=\"color-actions pep-spacing-element-negative\">\r\n <mat-checkbox *ngIf=\"data.showAAComplient\" class=\"pep-spacing-element\" type=\"checkbox\"\r\n id=\"checkAAComplient\" (change)=\"checkAAComplient = !checkAAComplient\" [checked]=\"checkAAComplient\">\r\n <span class=\"body-xs ellipsis\">{{ 'COLOR.AA_COMPLIENT' | translate }}</span>\r\n </mat-checkbox>\r\n <div>\r\n <button mat-button [mat-dialog-close]=\"null\" class=\"pep-spacing-element pep-button md weak\">\r\n {{'ACTIONS.CANCEL' | translate}}\r\n </button>\r\n <button mat-button class=\"pep-spacing-element pep-button md strong\" (click)=\"onSave($event)\">\r\n {{'ACTIONS.OK' | translate}}\r\n </button>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </pep-dialog>\r\n</div>",
218
+ styles: [".mat-slider-horizontal .mat-slider-track-fill,.mat-slider-track-background{display:none}.pep-color-picker-container ::ng-deep.mat-dialog-content,.pepperi-color-picker-container ::ng-deep.mat-dialog-content{padding:.5rem .5rem 0;padding:var(--pep-spacing-sm,.5rem) var(--pep-spacing-sm,.5rem) 0}.pep-color-picker-container .color-chooser-content,.pepperi-color-picker-container .color-chooser-content{display:-ms-grid;display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(3,1fr);grid-column-gap:1.5rem;grid-column-gap:var(--pep-spacing-xl,1.5rem);grid-row-gap:.5rem;grid-row-gap:var(--pep-spacing-sm,.5rem);margin-top:.5rem;margin-top:var(--pep-spacing-sm,.5rem)}.pep-color-picker-container .color-chooser-content .current-color,.pepperi-color-picker-container .color-chooser-content .current-color{grid-row:1/span 3;grid-column:6/span 4;border-radius:.25rem;border-radius:var(--pep-border-radius-md,.25rem);width:9.25rem;height:9.25rem}.pep-color-picker-container .color-chooser-content .slider-box,.pepperi-color-picker-container .color-chooser-content .slider-box{grid-column:1/span 5}.pep-color-picker-container .color-value-content,.pepperi-color-picker-container .color-value-content{display:-ms-grid;display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(1,1fr);grid-column-gap:1.5rem;grid-column-gap:var(--pep-spacing-xl,1.5rem);grid-row-gap:.5rem;grid-row-gap:var(--pep-spacing-sm,.5rem);margin-top:1.5rem}.pep-color-picker-container .color-value-content .color-value,.pepperi-color-picker-container .color-value-content .color-value{grid-row:1/span 1;grid-column:1/span 9}.pep-color-picker-container .color-value-content .color-value.with-complient,.pepperi-color-picker-container .color-value-content .color-value.with-complient{grid-column:1/span 5}.pep-color-picker-container .color-value-content .color-complient-container,.pepperi-color-picker-container .color-value-content .color-complient-container{grid-column:6/span 4}.pep-color-picker-container .color-value-content .color-complient-container .color-complient,.pepperi-color-picker-container .color-value-content .color-complient-container .color-complient{display:flex;justify-content:center;align-items:center;border-radius:.25rem;border-radius:var(--pep-border-radius-md,.25rem);height:2.5rem;height:var(--pep-form-field-height,2.5rem);width:9.25rem}.pep-color-picker-container ::ng-deep.mat-dialog-actions,.pepperi-color-picker-container ::ng-deep.mat-dialog-actions{display:block}.pep-color-picker-container ::ng-deep.mat-dialog-actions .color-actions,.pepperi-color-picker-container ::ng-deep.mat-dialog-actions .color-actions{display:flex;justify-content:space-between;align-items:center}", ".pep-color-picker-container .color-chooser-content .current-hue .mat-slider .mat-slider-wrapper,.pepperi-color-picker-container .color-chooser-content .current-hue .mat-slider .mat-slider-wrapper{background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.pep-color-picker-container .color-chooser-content .current-hue.success .mat-slider .mat-slider-wrapper,.pepperi-color-picker-container .color-chooser-content .current-hue.success .mat-slider .mat-slider-wrapper{background:linear-gradient(90deg,#d5ff00 0,#00ff80)}.pep-color-picker-container .color-chooser-content .current-hue.caution .mat-slider .mat-slider-wrapper,.pepperi-color-picker-container .color-chooser-content .current-hue.caution .mat-slider .mat-slider-wrapper{background:linear-gradient(90deg,#f05 0,#f50)}.pep-color-picker-container .color-chooser-content .current-saturation .mat-slider .mat-slider-wrapper,.pepperi-color-picker-container .color-chooser-content .current-saturation .mat-slider .mat-slider-wrapper{background:linear-gradient(to right,hsl(var(--pep-color-picker-current-hue),.01%,50%) 0,hsl(var(--pep-color-picker-current-hue),100%,50%) 100%)}.pep-color-picker-container .color-chooser-content .current-saturation.success .mat-slider .mat-slider-wrapper,.pepperi-color-picker-container .color-chooser-content .current-saturation.success .mat-slider .mat-slider-wrapper{background:linear-gradient(to right,hsl(var(--pep-color-picker-current-hue),50%,50%) 50%,hsl(var(--pep-color-picker-current-hue),100%,50%) 100%)}.pep-color-picker-container .color-chooser-content .current-saturation.caution .mat-slider .mat-slider-wrapper,.pepperi-color-picker-container .color-chooser-content .current-saturation.caution .mat-slider .mat-slider-wrapper{background:linear-gradient(to right,hsl(var(--pep-color-picker-current-hue),75%,50%) 75%,hsl(var(--pep-color-picker-current-hue),100%,50%) 100%)}.pep-color-picker-container .color-chooser-content .current-lightness .mat-slider .mat-slider-wrapper,.pepperi-color-picker-container .color-chooser-content .current-lightness .mat-slider .mat-slider-wrapper{background:linear-gradient(to right,hsl(var(--pep-color-picker-current-hue),100%,100%) 0,hsl(var(--pep-color-picker-current-hue),100%,50%) 50%,hsl(var(--pep-color-picker-current-hue),100%,.01%) 100%)}.pep-color-picker-container .color-chooser-content .current-lightness.success .mat-slider .mat-slider-wrapper,.pepperi-color-picker-container .color-chooser-content .current-lightness.success .mat-slider .mat-slider-wrapper{background:linear-gradient(to right,hsl(var(--pep-color-picker-current-hue),100%,65%) 10%,hsl(var(--pep-color-picker-current-hue),100%,35%) 35%,hsl(var(--pep-color-picker-current-hue),100%,10%) 65%)}.pep-color-picker-container .color-chooser-content .current-lightness.caution .mat-slider .mat-slider-wrapper,.pepperi-color-picker-container .color-chooser-content .current-lightness.caution .mat-slider .mat-slider-wrapper{background:linear-gradient(to right,hsl(var(--pep-color-picker-current-hue),100%,75%) 25%,hsl(var(--pep-color-picker-current-hue),100%,50%) 50%,hsl(var(--pep-color-picker-current-hue),100%,25%) 75%)}.pep-color-picker-container .color-value-content .color-complient-container .color-complient .mat-icon .svg-icon,.pepperi-color-picker-container .color-value-content .color-complient-container .color-complient .mat-icon .svg-icon{fill:#fff;fill:hsl(var(--pep-color-system-primary-invert-h,255),var(--pep-color-system-primary-invert-s,100%),var(--pep-color-system-primary-invert-l,100%))}.pep-color-picker-container .mat-slider,.pepperi-color-picker-container .mat-slider{background:rgba(26,26,26,.12);background:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.12)}.pep-color-picker-container .mat-slider.mat-slider-horizontal,.pepperi-color-picker-container .mat-slider.mat-slider-horizontal{height:1rem;width:100%;padding:.5rem .25rem;border-radius:.5rem;border-radius:var(--pep-border-radius-lg,.5rem)}.pep-color-picker-container .mat-slider .mat-slider-wrapper,.pepperi-color-picker-container .mat-slider .mat-slider-wrapper{height:.375rem;position:relative;top:calc($wrapperHeight / 2 * -1);left:unset;right:unset;border-radius:.25rem;border-radius:var(--pep-border-radius-md,.25rem)}.pep-color-picker-container .mat-slider .mat-slider-wrapper .mat-slider-track-wrapper,.pepperi-color-picker-container .mat-slider .mat-slider-wrapper .mat-slider-track-wrapper{display:none}.pep-color-picker-container .mat-slider .mat-slider-wrapper .mat-slider-thumb-container,.pepperi-color-picker-container .mat-slider .mat-slider-wrapper .mat-slider-thumb-container{width:94%;left:3%}.pep-color-picker-container .mat-slider .mat-slider-wrapper .mat-slider-thumb-container .mat-slider-thumb,.pepperi-color-picker-container .mat-slider .mat-slider-wrapper .mat-slider-thumb-container .mat-slider-thumb{width:18px;height:18px;right:calc($sliderSize / 2 * -1);bottom:calc($sliderSize / 2 * -1);transform:scale(.7)!important;border-color:#fff;border-color:hsl(var(--pep-color-system-primary-invert-h,255),var(--pep-color-system-primary-invert-s,100%),var(--pep-color-system-primary-invert-l,100%));border-width:5px;background-color:transparent!important;box-shadow:0 0 0 .125rem rgba(23,102,166,.5);box-shadow:0 0 0 var(--pep-spacing-2xs,.125rem) hsla(var(--pep-color-text-link-h,207),var(--pep-color-text-link-s,76%),var(--pep-color-text-link-l,37%),.5)}"]
219
219
  },] }
220
220
  ];
221
221
  PepColorPickerComponent.ctorParameters = () => [
@@ -237,12 +237,16 @@ class PepColorComponent {
237
237
  this.rowSpan = 1;
238
238
  this.type = 'any';
239
239
  this.showTitle = true;
240
+ this.renderTitle = true;
240
241
  this.showAAComplient = true;
241
242
  this.layoutType = 'form';
242
243
  this.valueChange = new EventEmitter();
243
244
  }
244
245
  ngOnInit() {
245
246
  this.renderer.addClass(this.element.nativeElement, PepCustomizationService.STAND_ALONE_FIELD_CLASS_NAME);
247
+ if (!this.renderTitle) {
248
+ this.renderer.addClass(this.element.nativeElement, PepCustomizationService.STAND_ALONE_FIELD_NO_SPACING_CLASS_NAME);
249
+ }
246
250
  }
247
251
  ngOnDestroy() {
248
252
  //
@@ -267,8 +271,8 @@ class PepColorComponent {
267
271
  PepColorComponent.decorators = [
268
272
  { type: Component, args: [{
269
273
  selector: 'pep-color',
270
- template: "<pep-field-title [label]=\"label\" [disabled]=\"disabled\" [xAlignment]=\"xAlignment\" [showTitle]=\"showTitle\">\n</pep-field-title>\n<div [id]=\"key\" class=\"pep-color-container\" [ngClass]=\"{ 'right-alignment': xAlignment == 'right' }\">\n <div pepRtlDirection (click)=\"!disabled ? chooseColor() : ''\" class=\"pep-color pep-input\"\n [ngClass]=\"{disable: disabled, 'one-row': rowSpan === 1}\"\n style=\"background: {{ value ? value + '!important' : 'transparent' }}; opacity: {{ disabled && value ? 0.12 : 1}};\">\n <button *ngIf=\"!disabled\" class=\"pep-button icon-button xs weak invert mat-button btn-edit\" tabindex=\"-1\"\n pepButtonBlur mat-button>\n <mat-icon>\n <pep-icon name=\"system_edit\"></pep-icon>\n </mat-icon>\n </button>\n </div>\n</div>",
271
- styles: [":host{display:grid}.pep-color-container .pep-color,.pep-color-container .pepperi-color,.pepperi-color-container .pep-color,.pepperi-color-container .pepperi-color{padding:0;display:grid}.pep-color-container .pep-color .btn-edit,.pep-color-container .pepperi-color .btn-edit,.pepperi-color-container .pep-color .btn-edit,.pepperi-color-container .pepperi-color .btn-edit{width:calc(2.5rem - 1rem);width:calc(var(--pep-form-field-height, 2.5rem) - var(--pep-spacing-lg, 1rem));min-width:unset;padding:0;margin:0 .75rem;margin:0 var(--pep-spacing-md,.75rem);justify-self:end;align-self:center}.pep-color-container.right-alignment .pep-color .btn-edit,.pep-color-container.right-alignment .pepperi-color .btn-edit,.pepperi-color-container.right-alignment .pep-color .btn-edit,.pepperi-color-container.right-alignment .pepperi-color .btn-edit{justify-self:start}"]
274
+ template: "<pep-field-title *ngIf=\"renderTitle\" [label]=\"label\" [disabled]=\"disabled\" [xAlignment]=\"xAlignment\"\r\n [showTitle]=\"showTitle\">\r\n</pep-field-title>\r\n<div [id]=\"key\" class=\"pep-color-container\" [ngClass]=\"{ 'right-alignment': xAlignment == 'right' }\">\r\n <div pepRtlDirection (click)=\"!disabled ? chooseColor() : ''\" class=\"pep-color pep-input\"\r\n [ngClass]=\"{disable: disabled, 'one-row': rowSpan === 1}\"\r\n style=\"background: {{ value ? value + '!important' : 'transparent' }}; opacity: {{ disabled && value ? 0.12 : 1}};\">\r\n <button *ngIf=\"!disabled\" class=\"pep-button icon-button xs weak invert mat-button btn-edit\" tabindex=\"-1\"\r\n pepButtonBlur mat-button>\r\n <mat-icon>\r\n <pep-icon name=\"system_edit\"></pep-icon>\r\n </mat-icon>\r\n </button>\r\n </div>\r\n</div>",
275
+ styles: [":host{display:grid}.pep-color-container .pep-color,.pep-color-container .pepperi-color,.pepperi-color-container .pep-color,.pepperi-color-container .pepperi-color{padding:0;display:grid}.pep-color-container .pep-color .btn-edit,.pep-color-container .pepperi-color .btn-edit,.pepperi-color-container .pep-color .btn-edit,.pepperi-color-container .pepperi-color .btn-edit{width:calc(2.5rem - 1rem);width:calc(var(--pep-form-field-height, 2.5rem) - var(--pep-spacing-lg, 1rem));min-width:unset;padding:0;margin:0 .75rem;margin:0 var(--pep-spacing-md,.75rem);justify-self:end;align-self:center}.pep-color-container.right-alignment .pep-color .btn-edit,.pep-color-container.right-alignment .pepperi-color .btn-edit,.pepperi-color-container.right-alignment .pep-color .btn-edit,.pepperi-color-container.right-alignment .pepperi-color .btn-edit{justify-self:start}", ""]
272
276
  },] }
273
277
  ];
274
278
  PepColorComponent.ctorParameters = () => [
@@ -285,6 +289,7 @@ PepColorComponent.propDecorators = {
285
289
  rowSpan: [{ type: Input }],
286
290
  type: [{ type: Input }],
287
291
  showTitle: [{ type: Input }],
292
+ renderTitle: [{ type: Input }],
288
293
  showAAComplient: [{ type: Input }],
289
294
  layoutType: [{ type: Input }],
290
295
  valueChange: [{ type: Output }]