@pepperi-addons/ngx-lib 0.4.2-beta.31 → 0.4.2-beta.310

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 (408) hide show
  1. package/README.md +35 -0
  2. package/address/address.component.d.ts +9 -2
  3. package/attachment/attachment.component.d.ts +3 -1
  4. package/carousel/carousel.component.d.ts +3 -2
  5. package/checkbox/checkbox.component.d.ts +8 -1
  6. package/chips/chips.component.d.ts +4 -7
  7. package/chips/chips.service.d.ts +0 -3
  8. package/core/common/directives/base-destroyer.directive.d.ts +10 -0
  9. package/core/common/directives/public-api.d.ts +1 -0
  10. package/core/common/pipes/common-pipes.d.ts +5 -2
  11. package/core/common/services/addon.service.d.ts +6 -4
  12. package/core/common/services/file.service.d.ts +7 -2
  13. package/core/common/services/session.service.d.ts +2 -0
  14. package/core/common/services/utilities.service.d.ts +4 -4
  15. package/core/customization/customization.model.d.ts +4 -1
  16. package/core/customization/customization.service.d.ts +4 -0
  17. package/date/date.component.d.ts +4 -2
  18. package/draggable-items/draggable-item/draggable-item.component.d.ts +16 -2
  19. package/draggable-items/draggable-items.component.d.ts +3 -6
  20. package/draggable-items/draggable-items.module.d.ts +4 -3
  21. package/elements/README.md +256 -0
  22. package/esm2020/address/address.component.mjs +93 -5
  23. package/esm2020/assets/i18n/ar.ngx-lib.json +180 -0
  24. package/esm2020/assets/i18n/de.ngx-lib.json +180 -0
  25. package/esm2020/assets/i18n/en.ngx-lib.json +186 -0
  26. package/esm2020/assets/i18n/es.ngx-lib.json +180 -0
  27. package/esm2020/assets/i18n/fr.ngx-lib.json +180 -0
  28. package/esm2020/assets/i18n/he.ngx-lib.json +180 -0
  29. package/esm2020/assets/i18n/hu.ngx-lib.json +79 -0
  30. package/esm2020/assets/i18n/it.ngx-lib.json +180 -0
  31. package/esm2020/assets/i18n/ja.ngx-lib.json +180 -0
  32. package/esm2020/assets/i18n/nl.ngx-lib.json +79 -0
  33. package/esm2020/assets/i18n/pl.ngx-lib.json +180 -0
  34. package/esm2020/assets/i18n/pt.ngx-lib.json +180 -0
  35. package/esm2020/assets/i18n/ru.ngx-lib.json +79 -0
  36. package/esm2020/assets/i18n/sr.ngx-lib.json +180 -0
  37. package/esm2020/assets/i18n/zh.ngx-lib.json +180 -0
  38. package/esm2020/attachment/attachment.component.mjs +16 -6
  39. package/esm2020/carousel/carousel.component.mjs +14 -4
  40. package/esm2020/checkbox/checkbox.component.mjs +37 -3
  41. package/esm2020/chips/chips.component.mjs +11 -16
  42. package/esm2020/chips/chips.service.mjs +2 -11
  43. package/esm2020/color/color-picker.component.mjs +3 -3
  44. package/esm2020/color/color.component.mjs +3 -3
  45. package/esm2020/core/common/directives/base-destroyer.directive.mjs +22 -0
  46. package/esm2020/core/common/directives/public-api.mjs +2 -1
  47. package/esm2020/core/common/pipes/common-pipes.mjs +18 -8
  48. package/esm2020/core/common/services/addon.service.mjs +31 -7
  49. package/esm2020/core/common/services/data-convertor.service.mjs +3 -3
  50. package/esm2020/core/common/services/file.service.mjs +57 -20
  51. package/esm2020/core/common/services/session.service.mjs +5 -1
  52. package/esm2020/core/common/services/utilities.service.mjs +7 -7
  53. package/esm2020/core/customization/customization.model.mjs +46 -10
  54. package/esm2020/core/customization/customization.service.mjs +29 -1
  55. package/esm2020/core/http/services/http.service.mjs +17 -8
  56. package/esm2020/core/http/services/loader.service.mjs +3 -3
  57. package/esm2020/date/date.component.mjs +35 -13
  58. package/esm2020/dialog/dialog.component.mjs +3 -3
  59. package/esm2020/draggable-items/draggable-item/draggable-item.component.mjs +44 -4
  60. package/esm2020/draggable-items/draggable-items.component.mjs +7 -15
  61. package/esm2020/draggable-items/draggable-items.module.mjs +5 -1
  62. package/esm2020/field-title/field-title.component.mjs +6 -3
  63. package/esm2020/files-uploader/files-uploader.component.mjs +23 -32
  64. package/esm2020/form/field-generator.component.mjs +3 -3
  65. package/esm2020/form/form.component.mjs +7 -4
  66. package/esm2020/form/internal-button.component.mjs +2 -2
  67. package/esm2020/form/internal-carusel.component.mjs +10 -6
  68. package/esm2020/form/internal-field-generator.component.mjs +3 -3
  69. package/esm2020/form/internal-form.component.mjs +5 -3
  70. package/esm2020/form/internal-list.component.mjs +2 -2
  71. package/esm2020/form/internal-menu.component.mjs +4 -6
  72. package/esm2020/form/internal-page.component.mjs +3 -4
  73. package/esm2020/group-buttons/group-buttons.component.mjs +2 -2
  74. package/esm2020/icon/icon.component.mjs +36 -6
  75. package/esm2020/icon/icon.service.mjs +5 -1
  76. package/esm2020/image/image.component.mjs +15 -3
  77. package/esm2020/image/image.service.mjs +2 -4
  78. package/esm2020/images-filmstrip/images-filmstrip.component.mjs +99 -25
  79. package/esm2020/json-editor/json-editor.component.mjs +288 -0
  80. package/esm2020/json-editor/json-editor.module.mjs +83 -0
  81. package/esm2020/json-editor/json-tree-node.component.mjs +32 -0
  82. package/esm2020/json-editor/pepperi-addons-ngx-lib-json-editor.mjs +5 -0
  83. package/esm2020/json-editor/public-api.mjs +6 -0
  84. package/esm2020/lib/i18n/embedded-i18n.mjs +33 -0
  85. package/esm2020/link/link.component.mjs +25 -4
  86. package/esm2020/list/list-actions.component.mjs +1 -1
  87. package/esm2020/list/list-chooser.component.mjs +1 -1
  88. package/esm2020/list/list-pager.component.mjs +1 -1
  89. package/esm2020/list/list-sorting.component.mjs +1 -1
  90. package/esm2020/list/list-total.component.mjs +6 -3
  91. package/esm2020/list/list-views.component.mjs +1 -1
  92. package/esm2020/list/list.component.mjs +230 -37
  93. package/esm2020/list/list.model.mjs +1 -1
  94. package/esm2020/menu/menu-item.component.mjs +3 -3
  95. package/esm2020/menu/menu.component.mjs +6 -3
  96. package/esm2020/menu/menu.model.mjs +2 -1
  97. package/esm2020/page-layout/page-layout.component.mjs +28 -7
  98. package/esm2020/profile-data-views-list/profile-data-view/profile-data-view.component.mjs +1 -1
  99. package/esm2020/profile-data-views-list/profile-data-views-card/profile-data-views-card.component.mjs +25 -9
  100. package/esm2020/profile-data-views-list/profile-data-views-list.component.mjs +58 -26
  101. package/esm2020/profile-data-views-list/profile-data-views-list.model.mjs +1 -1
  102. package/esm2020/public-api.mjs +2 -1
  103. package/esm2020/quantity-selector/quantity-selector.component.mjs +67 -33
  104. package/esm2020/query-builder/common/model/legacy.mjs +1 -1
  105. package/esm2020/query-builder/common/model/operator.mjs +73 -63
  106. package/esm2020/query-builder/common/services/output-query.service.mjs +5 -3
  107. package/esm2020/query-builder/common/services/query-structure.service.mjs +34 -2
  108. package/esm2020/query-builder/query-builder-item/query-builder-item.component.mjs +14 -12
  109. package/esm2020/query-builder/query-builder-section/query-builder-section.component.mjs +3 -3
  110. package/esm2020/query-builder/query-builder.module.mjs +14 -3
  111. package/esm2020/query-builder/query-builder.service.mjs +2 -2
  112. package/esm2020/remote-loader/addon-block-loader.component.mjs +26 -16
  113. package/esm2020/remote-loader/addon-block-loader.service.mjs +5 -2
  114. package/esm2020/remote-loader/remote-loader-element.component.mjs +81 -27
  115. package/esm2020/remote-loader/remote-loader.component.mjs +1 -3
  116. package/esm2020/remote-loader/remote-loader.model.mjs +1 -1
  117. package/esm2020/remote-loader/remote-loader.service.mjs +49 -26
  118. package/esm2020/reset-configuration-field/pepperi-addons-ngx-lib-reset-configuration-field.mjs +5 -0
  119. package/esm2020/reset-configuration-field/public-api.mjs +3 -0
  120. package/esm2020/reset-configuration-field/reset-configuration-field.component.mjs +55 -0
  121. package/esm2020/reset-configuration-field/reset-configuration-field.module.mjs +36 -0
  122. package/esm2020/rich-html-textarea/rich-html-textarea.component.mjs +19 -3
  123. package/esm2020/search/search.component.mjs +43 -16
  124. package/esm2020/select/select.component.mjs +124 -53
  125. package/esm2020/select-panel/select-panel.component.mjs +4 -6
  126. package/esm2020/side-bar/side-bar.component.mjs +18 -4
  127. package/esm2020/signature/public-api.mjs +2 -1
  128. package/esm2020/signature/signature-dialog.component.mjs +79 -0
  129. package/esm2020/signature/signature.component.mjs +84 -68
  130. package/esm2020/signature/signature.module.mjs +6 -5
  131. package/esm2020/size-detector/size-detector.component.mjs +16 -6
  132. package/esm2020/skeleton-loader/public-api.mjs +2 -2
  133. package/esm2020/skeleton-loader/skeleton-loader.component.mjs +33 -9
  134. package/esm2020/slider/slider.component.mjs +2 -2
  135. package/esm2020/smart-filters/boolean-filter/boolean-filter.component.mjs +1 -1
  136. package/esm2020/smart-filters/common/model/base-filter-component.mjs +5 -11
  137. package/esm2020/smart-filters/common/model/operator.mjs +15 -6
  138. package/esm2020/smart-filters/common/model/type.mjs +1 -1
  139. package/esm2020/smart-filters/date-filter/date-filter.component.mjs +1 -1
  140. package/esm2020/smart-filters/multi-select-filter/multi-select-filter.component.mjs +3 -3
  141. package/esm2020/smart-filters/number-filter/number-filter.component.mjs +3 -3
  142. package/esm2020/smart-filters/smart-filters.component.mjs +2 -2
  143. package/esm2020/smart-filters/text-filter/text-filter.component.mjs +27 -7
  144. package/esm2020/snack-bar/snack-bar.component.mjs +19 -4
  145. package/esm2020/textarea/textarea.component.mjs +12 -3
  146. package/esm2020/textbox/textbox-validation.directive.mjs +2 -4
  147. package/esm2020/textbox/textbox.component.mjs +85 -10
  148. package/esm2020/textbox-icon/textbox-icon.component.mjs +3 -3
  149. package/esm2020/top-bar/top-bar.component.mjs +26 -15
  150. package/fesm2015/pepperi-addons-ngx-lib-address.mjs +92 -5
  151. package/fesm2015/pepperi-addons-ngx-lib-address.mjs.map +1 -1
  152. package/fesm2015/pepperi-addons-ngx-lib-attachment.mjs +15 -5
  153. package/fesm2015/pepperi-addons-ngx-lib-attachment.mjs.map +1 -1
  154. package/fesm2015/pepperi-addons-ngx-lib-carousel.mjs +13 -3
  155. package/fesm2015/pepperi-addons-ngx-lib-carousel.mjs.map +1 -1
  156. package/fesm2015/pepperi-addons-ngx-lib-checkbox.mjs +37 -2
  157. package/fesm2015/pepperi-addons-ngx-lib-checkbox.mjs.map +1 -1
  158. package/fesm2015/pepperi-addons-ngx-lib-chips.mjs +11 -25
  159. package/fesm2015/pepperi-addons-ngx-lib-chips.mjs.map +1 -1
  160. package/fesm2015/pepperi-addons-ngx-lib-color.mjs +4 -4
  161. package/fesm2015/pepperi-addons-ngx-lib-color.mjs.map +1 -1
  162. package/fesm2015/pepperi-addons-ngx-lib-date.mjs +35 -12
  163. package/fesm2015/pepperi-addons-ngx-lib-date.mjs.map +1 -1
  164. package/fesm2015/pepperi-addons-ngx-lib-dialog.mjs +2 -2
  165. package/fesm2015/pepperi-addons-ngx-lib-dialog.mjs.map +1 -1
  166. package/fesm2015/pepperi-addons-ngx-lib-draggable-items.mjs +54 -19
  167. package/fesm2015/pepperi-addons-ngx-lib-draggable-items.mjs.map +1 -1
  168. package/fesm2015/pepperi-addons-ngx-lib-field-title.mjs +5 -2
  169. package/fesm2015/pepperi-addons-ngx-lib-field-title.mjs.map +1 -1
  170. package/fesm2015/pepperi-addons-ngx-lib-files-uploader.mjs +22 -31
  171. package/fesm2015/pepperi-addons-ngx-lib-files-uploader.mjs.map +1 -1
  172. package/fesm2015/pepperi-addons-ngx-lib-form.mjs +31 -25
  173. package/fesm2015/pepperi-addons-ngx-lib-form.mjs.map +1 -1
  174. package/fesm2015/pepperi-addons-ngx-lib-group-buttons.mjs +2 -2
  175. package/fesm2015/pepperi-addons-ngx-lib-group-buttons.mjs.map +1 -1
  176. package/fesm2015/pepperi-addons-ngx-lib-icon.mjs +40 -5
  177. package/fesm2015/pepperi-addons-ngx-lib-icon.mjs.map +1 -1
  178. package/fesm2015/pepperi-addons-ngx-lib-image.mjs +15 -5
  179. package/fesm2015/pepperi-addons-ngx-lib-image.mjs.map +1 -1
  180. package/fesm2015/pepperi-addons-ngx-lib-images-filmstrip.mjs +101 -24
  181. package/fesm2015/pepperi-addons-ngx-lib-images-filmstrip.mjs.map +1 -1
  182. package/fesm2015/pepperi-addons-ngx-lib-json-editor.mjs +407 -0
  183. package/fesm2015/pepperi-addons-ngx-lib-json-editor.mjs.map +1 -0
  184. package/fesm2015/pepperi-addons-ngx-lib-link.mjs +24 -3
  185. package/fesm2015/pepperi-addons-ngx-lib-link.mjs.map +1 -1
  186. package/fesm2015/pepperi-addons-ngx-lib-list.mjs +241 -43
  187. package/fesm2015/pepperi-addons-ngx-lib-list.mjs.map +1 -1
  188. package/fesm2015/pepperi-addons-ngx-lib-menu.mjs +8 -4
  189. package/fesm2015/pepperi-addons-ngx-lib-menu.mjs.map +1 -1
  190. package/fesm2015/pepperi-addons-ngx-lib-page-layout.mjs +27 -6
  191. package/fesm2015/pepperi-addons-ngx-lib-page-layout.mjs.map +1 -1
  192. package/fesm2015/pepperi-addons-ngx-lib-profile-data-views-list.mjs +81 -33
  193. package/fesm2015/pepperi-addons-ngx-lib-profile-data-views-list.mjs.map +1 -1
  194. package/fesm2015/pepperi-addons-ngx-lib-quantity-selector.mjs +66 -31
  195. package/fesm2015/pepperi-addons-ngx-lib-quantity-selector.mjs.map +1 -1
  196. package/fesm2015/pepperi-addons-ngx-lib-query-builder.mjs +140 -81
  197. package/fesm2015/pepperi-addons-ngx-lib-query-builder.mjs.map +1 -1
  198. package/fesm2015/pepperi-addons-ngx-lib-remote-loader.mjs +169 -83
  199. package/fesm2015/pepperi-addons-ngx-lib-remote-loader.mjs.map +1 -1
  200. package/fesm2015/pepperi-addons-ngx-lib-reset-configuration-field.mjs +95 -0
  201. package/fesm2015/pepperi-addons-ngx-lib-reset-configuration-field.mjs.map +1 -0
  202. package/fesm2015/pepperi-addons-ngx-lib-rich-html-textarea.mjs +18 -2
  203. package/fesm2015/pepperi-addons-ngx-lib-rich-html-textarea.mjs.map +1 -1
  204. package/fesm2015/pepperi-addons-ngx-lib-search.mjs +45 -15
  205. package/fesm2015/pepperi-addons-ngx-lib-search.mjs.map +1 -1
  206. package/fesm2015/pepperi-addons-ngx-lib-select-panel.mjs +3 -5
  207. package/fesm2015/pepperi-addons-ngx-lib-select-panel.mjs.map +1 -1
  208. package/fesm2015/pepperi-addons-ngx-lib-select.mjs +123 -51
  209. package/fesm2015/pepperi-addons-ngx-lib-select.mjs.map +1 -1
  210. package/fesm2015/pepperi-addons-ngx-lib-side-bar.mjs +17 -3
  211. package/fesm2015/pepperi-addons-ngx-lib-side-bar.mjs.map +1 -1
  212. package/fesm2015/pepperi-addons-ngx-lib-signature.mjs +173 -81
  213. package/fesm2015/pepperi-addons-ngx-lib-signature.mjs.map +1 -1
  214. package/fesm2015/pepperi-addons-ngx-lib-size-detector.mjs +15 -5
  215. package/fesm2015/pepperi-addons-ngx-lib-size-detector.mjs.map +1 -1
  216. package/fesm2015/pepperi-addons-ngx-lib-skeleton-loader.mjs +33 -9
  217. package/fesm2015/pepperi-addons-ngx-lib-skeleton-loader.mjs.map +1 -1
  218. package/fesm2015/pepperi-addons-ngx-lib-slider.mjs +2 -2
  219. package/fesm2015/pepperi-addons-ngx-lib-slider.mjs.map +1 -1
  220. package/fesm2015/pepperi-addons-ngx-lib-smart-filters.mjs +53 -30
  221. package/fesm2015/pepperi-addons-ngx-lib-smart-filters.mjs.map +1 -1
  222. package/fesm2015/pepperi-addons-ngx-lib-snack-bar.mjs +18 -3
  223. package/fesm2015/pepperi-addons-ngx-lib-snack-bar.mjs.map +1 -1
  224. package/fesm2015/pepperi-addons-ngx-lib-textarea.mjs +11 -2
  225. package/fesm2015/pepperi-addons-ngx-lib-textarea.mjs.map +1 -1
  226. package/fesm2015/pepperi-addons-ngx-lib-textbox-icon.mjs +2 -2
  227. package/fesm2015/pepperi-addons-ngx-lib-textbox-icon.mjs.map +1 -1
  228. package/fesm2015/pepperi-addons-ngx-lib-textbox.mjs +87 -12
  229. package/fesm2015/pepperi-addons-ngx-lib-textbox.mjs.map +1 -1
  230. package/fesm2015/pepperi-addons-ngx-lib-top-bar.mjs +26 -15
  231. package/fesm2015/pepperi-addons-ngx-lib-top-bar.mjs.map +1 -1
  232. package/fesm2015/pepperi-addons-ngx-lib.mjs +3420 -577
  233. package/fesm2015/pepperi-addons-ngx-lib.mjs.map +1 -1
  234. package/fesm2020/pepperi-addons-ngx-lib-address.mjs +92 -5
  235. package/fesm2020/pepperi-addons-ngx-lib-address.mjs.map +1 -1
  236. package/fesm2020/pepperi-addons-ngx-lib-attachment.mjs +15 -5
  237. package/fesm2020/pepperi-addons-ngx-lib-attachment.mjs.map +1 -1
  238. package/fesm2020/pepperi-addons-ngx-lib-carousel.mjs +13 -3
  239. package/fesm2020/pepperi-addons-ngx-lib-carousel.mjs.map +1 -1
  240. package/fesm2020/pepperi-addons-ngx-lib-checkbox.mjs +36 -2
  241. package/fesm2020/pepperi-addons-ngx-lib-checkbox.mjs.map +1 -1
  242. package/fesm2020/pepperi-addons-ngx-lib-chips.mjs +11 -25
  243. package/fesm2020/pepperi-addons-ngx-lib-chips.mjs.map +1 -1
  244. package/fesm2020/pepperi-addons-ngx-lib-color.mjs +4 -4
  245. package/fesm2020/pepperi-addons-ngx-lib-color.mjs.map +1 -1
  246. package/fesm2020/pepperi-addons-ngx-lib-date.mjs +34 -12
  247. package/fesm2020/pepperi-addons-ngx-lib-date.mjs.map +1 -1
  248. package/fesm2020/pepperi-addons-ngx-lib-dialog.mjs +2 -2
  249. package/fesm2020/pepperi-addons-ngx-lib-dialog.mjs.map +1 -1
  250. package/fesm2020/pepperi-addons-ngx-lib-draggable-items.mjs +54 -19
  251. package/fesm2020/pepperi-addons-ngx-lib-draggable-items.mjs.map +1 -1
  252. package/fesm2020/pepperi-addons-ngx-lib-field-title.mjs +5 -2
  253. package/fesm2020/pepperi-addons-ngx-lib-field-title.mjs.map +1 -1
  254. package/fesm2020/pepperi-addons-ngx-lib-files-uploader.mjs +22 -31
  255. package/fesm2020/pepperi-addons-ngx-lib-files-uploader.mjs.map +1 -1
  256. package/fesm2020/pepperi-addons-ngx-lib-form.mjs +31 -25
  257. package/fesm2020/pepperi-addons-ngx-lib-form.mjs.map +1 -1
  258. package/fesm2020/pepperi-addons-ngx-lib-group-buttons.mjs +2 -2
  259. package/fesm2020/pepperi-addons-ngx-lib-group-buttons.mjs.map +1 -1
  260. package/fesm2020/pepperi-addons-ngx-lib-icon.mjs +39 -5
  261. package/fesm2020/pepperi-addons-ngx-lib-icon.mjs.map +1 -1
  262. package/fesm2020/pepperi-addons-ngx-lib-image.mjs +15 -5
  263. package/fesm2020/pepperi-addons-ngx-lib-image.mjs.map +1 -1
  264. package/fesm2020/pepperi-addons-ngx-lib-images-filmstrip.mjs +98 -24
  265. package/fesm2020/pepperi-addons-ngx-lib-images-filmstrip.mjs.map +1 -1
  266. package/fesm2020/pepperi-addons-ngx-lib-json-editor.mjs +403 -0
  267. package/fesm2020/pepperi-addons-ngx-lib-json-editor.mjs.map +1 -0
  268. package/fesm2020/pepperi-addons-ngx-lib-link.mjs +24 -3
  269. package/fesm2020/pepperi-addons-ngx-lib-link.mjs.map +1 -1
  270. package/fesm2020/pepperi-addons-ngx-lib-list.mjs +238 -42
  271. package/fesm2020/pepperi-addons-ngx-lib-list.mjs.map +1 -1
  272. package/fesm2020/pepperi-addons-ngx-lib-menu.mjs +8 -4
  273. package/fesm2020/pepperi-addons-ngx-lib-menu.mjs.map +1 -1
  274. package/fesm2020/pepperi-addons-ngx-lib-page-layout.mjs +27 -6
  275. package/fesm2020/pepperi-addons-ngx-lib-page-layout.mjs.map +1 -1
  276. package/fesm2020/pepperi-addons-ngx-lib-profile-data-views-list.mjs +81 -33
  277. package/fesm2020/pepperi-addons-ngx-lib-profile-data-views-list.mjs.map +1 -1
  278. package/fesm2020/pepperi-addons-ngx-lib-quantity-selector.mjs +65 -31
  279. package/fesm2020/pepperi-addons-ngx-lib-quantity-selector.mjs.map +1 -1
  280. package/fesm2020/pepperi-addons-ngx-lib-query-builder.mjs +136 -80
  281. package/fesm2020/pepperi-addons-ngx-lib-query-builder.mjs.map +1 -1
  282. package/fesm2020/pepperi-addons-ngx-lib-remote-loader.mjs +157 -69
  283. package/fesm2020/pepperi-addons-ngx-lib-remote-loader.mjs.map +1 -1
  284. package/fesm2020/pepperi-addons-ngx-lib-reset-configuration-field.mjs +95 -0
  285. package/fesm2020/pepperi-addons-ngx-lib-reset-configuration-field.mjs.map +1 -0
  286. package/fesm2020/pepperi-addons-ngx-lib-rich-html-textarea.mjs +18 -2
  287. package/fesm2020/pepperi-addons-ngx-lib-rich-html-textarea.mjs.map +1 -1
  288. package/fesm2020/pepperi-addons-ngx-lib-search.mjs +42 -15
  289. package/fesm2020/pepperi-addons-ngx-lib-search.mjs.map +1 -1
  290. package/fesm2020/pepperi-addons-ngx-lib-select-panel.mjs +3 -5
  291. package/fesm2020/pepperi-addons-ngx-lib-select-panel.mjs.map +1 -1
  292. package/fesm2020/pepperi-addons-ngx-lib-select.mjs +122 -51
  293. package/fesm2020/pepperi-addons-ngx-lib-select.mjs.map +1 -1
  294. package/fesm2020/pepperi-addons-ngx-lib-side-bar.mjs +17 -3
  295. package/fesm2020/pepperi-addons-ngx-lib-side-bar.mjs.map +1 -1
  296. package/fesm2020/pepperi-addons-ngx-lib-signature.mjs +169 -81
  297. package/fesm2020/pepperi-addons-ngx-lib-signature.mjs.map +1 -1
  298. package/fesm2020/pepperi-addons-ngx-lib-size-detector.mjs +15 -5
  299. package/fesm2020/pepperi-addons-ngx-lib-size-detector.mjs.map +1 -1
  300. package/fesm2020/pepperi-addons-ngx-lib-skeleton-loader.mjs +33 -9
  301. package/fesm2020/pepperi-addons-ngx-lib-skeleton-loader.mjs.map +1 -1
  302. package/fesm2020/pepperi-addons-ngx-lib-slider.mjs +2 -2
  303. package/fesm2020/pepperi-addons-ngx-lib-slider.mjs.map +1 -1
  304. package/fesm2020/pepperi-addons-ngx-lib-smart-filters.mjs +53 -30
  305. package/fesm2020/pepperi-addons-ngx-lib-smart-filters.mjs.map +1 -1
  306. package/fesm2020/pepperi-addons-ngx-lib-snack-bar.mjs +18 -3
  307. package/fesm2020/pepperi-addons-ngx-lib-snack-bar.mjs.map +1 -1
  308. package/fesm2020/pepperi-addons-ngx-lib-textarea.mjs +11 -2
  309. package/fesm2020/pepperi-addons-ngx-lib-textarea.mjs.map +1 -1
  310. package/fesm2020/pepperi-addons-ngx-lib-textbox-icon.mjs +2 -2
  311. package/fesm2020/pepperi-addons-ngx-lib-textbox-icon.mjs.map +1 -1
  312. package/fesm2020/pepperi-addons-ngx-lib-textbox.mjs +85 -12
  313. package/fesm2020/pepperi-addons-ngx-lib-textbox.mjs.map +1 -1
  314. package/fesm2020/pepperi-addons-ngx-lib-top-bar.mjs +25 -14
  315. package/fesm2020/pepperi-addons-ngx-lib-top-bar.mjs.map +1 -1
  316. package/fesm2020/pepperi-addons-ngx-lib.mjs +3416 -574
  317. package/fesm2020/pepperi-addons-ngx-lib.mjs.map +1 -1
  318. package/field-title/field-title.component.d.ts +2 -1
  319. package/files-uploader/files-uploader.component.d.ts +4 -2
  320. package/form/internal-carusel.component.d.ts +1 -0
  321. package/form/internal-menu.component.d.ts +1 -2
  322. package/icon/icon.component.d.ts +4 -0
  323. package/image/image.component.d.ts +3 -1
  324. package/images-filmstrip/images-filmstrip.component.d.ts +24 -8
  325. package/json-editor/index.d.ts +5 -0
  326. package/json-editor/json-editor.component.d.ts +75 -0
  327. package/json-editor/json-editor.component.theme.scss +5 -0
  328. package/json-editor/json-editor.module.d.ts +24 -0
  329. package/json-editor/json-tree-node.component.d.ts +18 -0
  330. package/json-editor/public-api.d.ts +2 -0
  331. package/lib/i18n/embedded-i18n.d.ts +1 -0
  332. package/link/link.component.d.ts +7 -2
  333. package/list/list-total.component.d.ts +2 -1
  334. package/list/list.component.d.ts +21 -5
  335. package/list/list.model.d.ts +2 -1
  336. package/menu/menu.component.d.ts +2 -1
  337. package/menu/menu.model.d.ts +1 -0
  338. package/package.json +18 -2
  339. package/page-layout/page-layout.component.d.ts +8 -2
  340. package/profile-data-views-list/profile-data-view/profile-data-view.component.d.ts +3 -3
  341. package/profile-data-views-list/profile-data-views-card/profile-data-views-card.component.d.ts +5 -4
  342. package/profile-data-views-list/profile-data-views-list.component.d.ts +13 -10
  343. package/profile-data-views-list/profile-data-views-list.model.d.ts +8 -0
  344. package/public-api.d.ts +1 -0
  345. package/quantity-selector/quantity-selector.component.d.ts +9 -9
  346. package/query-builder/common/model/legacy.d.ts +2 -0
  347. package/query-builder/common/model/operator.d.ts +11 -1
  348. package/query-builder/common/services/query-structure.service.d.ts +1 -0
  349. package/query-builder/query-builder-item/query-builder-item.component.d.ts +3 -1
  350. package/query-builder/query-builder.module.d.ts +7 -3
  351. package/remote-loader/addon-block-loader.component.d.ts +4 -2
  352. package/remote-loader/remote-loader-element.component.d.ts +8 -1
  353. package/remote-loader/remote-loader.model.d.ts +1 -0
  354. package/remote-loader/remote-loader.service.d.ts +3 -1
  355. package/reset-configuration-field/index.d.ts +5 -0
  356. package/reset-configuration-field/public-api.d.ts +2 -0
  357. package/reset-configuration-field/reset-configuration-field.component.d.ts +23 -0
  358. package/reset-configuration-field/reset-configuration-field.module.d.ts +12 -0
  359. package/rich-html-textarea/rich-html-textarea.component.d.ts +4 -1
  360. package/rich-html-textarea/rich-html-textarea.component.theme.scss +4 -2
  361. package/search/search.component.d.ts +9 -3
  362. package/select/select.component.d.ts +18 -2
  363. package/select-panel/select-panel.component.d.ts +1 -2
  364. package/side-bar/side-bar.component.d.ts +4 -1
  365. package/signature/public-api.d.ts +1 -0
  366. package/signature/signature-dialog.component.d.ts +29 -0
  367. package/signature/signature.component.d.ts +3 -13
  368. package/signature/signature.module.d.ts +16 -15
  369. package/size-detector/size-detector.component.d.ts +6 -3
  370. package/skeleton-loader/skeleton-loader.component.d.ts +15 -7
  371. package/slider/slider.component.theme.scss +4 -0
  372. package/smart-filters/boolean-filter/boolean-filter.component.d.ts +3 -0
  373. package/smart-filters/common/model/base-filter-component.d.ts +2 -4
  374. package/smart-filters/common/model/operator.d.ts +3 -0
  375. package/smart-filters/common/model/type.d.ts +1 -1
  376. package/smart-filters/date-filter/date-filter.component.d.ts +3 -0
  377. package/smart-filters/multi-select-filter/multi-select-filter.component.d.ts +3 -0
  378. package/smart-filters/number-filter/number-filter.component.d.ts +3 -0
  379. package/smart-filters/text-filter/text-filter.component.d.ts +4 -0
  380. package/snack-bar/snack-bar.component.d.ts +9 -4
  381. package/src/assets/i18n/ar.ngx-lib.json +180 -0
  382. package/src/assets/i18n/de.ngx-lib.json +106 -4
  383. package/src/assets/i18n/en.ngx-lib.json +14 -3
  384. package/src/assets/i18n/es.ngx-lib.json +113 -11
  385. package/src/assets/i18n/fr.ngx-lib.json +105 -4
  386. package/src/assets/i18n/he.ngx-lib.json +105 -4
  387. package/src/assets/i18n/it.ngx-lib.json +114 -13
  388. package/src/assets/i18n/ja.ngx-lib.json +105 -4
  389. package/src/assets/i18n/pl.ngx-lib.json +105 -4
  390. package/src/assets/i18n/pt.ngx-lib.json +105 -4
  391. package/src/assets/i18n/sr.ngx-lib.json +180 -0
  392. package/src/assets/i18n/zh.ngx-lib.json +105 -2
  393. package/src/core/style/abstracts/mixins.scss +135 -26
  394. package/src/core/style/abstracts/variables.scss +10 -1
  395. package/src/core/style/base/Spacing.stories.mdx +22 -22
  396. package/src/core/style/base/base.scss +16 -14
  397. package/src/core/style/base/typography.scss +2 -1
  398. package/src/core/style/components/button.scss +11 -0
  399. package/src/core/style/components/checkbox.scss +13 -63
  400. package/src/core/style/components/file.scss +4 -4
  401. package/src/core/style/components/general.scss +27 -9
  402. package/src/core/style/components/textarea.scss +13 -0
  403. package/textarea/textarea.component.d.ts +2 -1
  404. package/textbox/textbox.component.d.ts +10 -3
  405. package/theming.scss +5 -1
  406. package/top-bar/top-bar.component.d.ts +2 -0
  407. package/src/assets/images/sail-away.jpg +0 -0
  408. package/src/core/style/abstracts/AbstractsIntro.stories.mdx +0 -7
@@ -1 +1 @@
1
- {"version":3,"file":"pepperi-addons-ngx-lib-attachment.mjs","sources":["../../../projects/ngx-lib/attachment/attachment.component.ts","../../../projects/ngx-lib/attachment/attachment.component.html","../../../projects/ngx-lib/attachment/attachment.module.ts","../../../projects/ngx-lib/attachment/public-api.ts","../../../projects/ngx-lib/attachment/pepperi-addons-ngx-lib-attachment.ts"],"sourcesContent":["import {\n Component,\n OnInit,\n OnChanges,\n Input,\n Output,\n EventEmitter,\n ChangeDetectionStrategy,\n ElementRef,\n Renderer2,\n OnDestroy,\n} from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport {\n PepFileService,\n PepCustomizationService,\n PepLayoutType,\n PepHorizontalAlignment,\n DEFAULT_HORIZONTAL_ALIGNMENT,\n IPepFieldClickEvent,\n PepAttachmentField,\n} from '@pepperi-addons/ngx-lib';\n\n/**\n * This is the attachment component that is used to upload \n * files and media\n *\n */\n@Component({\n selector: 'pep-attachment',\n templateUrl: './attachment.component.html',\n styleUrls: ['./attachment.component.scss', './attachment.component.theme.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PepAttachmentComponent implements OnInit, OnChanges, OnDestroy {\n /**\n * The attachment key.\n *\n * @memberof PepAttachmentComponent\n */\n @Input() key = '';\n\n private _src = '';\n /**\n * The src of the attachment.\n *\n * @memberof PepAttachmentComponent\n */\n @Input()\n set src(value: string) {\n if (!value) {\n value = '';\n }\n\n this._src = value;\n if (this._src.length > 0) {\n // Empty dataURI.\n this.dataURI = null;\n }\n }\n get src(): string {\n return this._src;\n }\n\n /**\n * The title of the attachment.\n *\n * @memberof PepAttachmentComponent\n */\n @Input() label = '';\n\n /**\n * If the attachment is mandatory\n *\n * @memberof PepAttachmentComponent\n */\n @Input() mandatory = false;\n\n /**\n * If the attachment is disabled\n *\n * @memberof PepAttachmentComponent\n */\n @Input() disabled = false;\n\n /**\n * If the attachment is readonly. It could be with or without `src`\n *\n * @memberof PepAttachmentComponent\n */\n @Input() readonly = false;\n\n /**\n * The horizontal alignment of the attachment\n *\n * @type {PepHorizontalAlignment}\n * @memberof PepAttachmentComponent\n */\n @Input() xAlignment: PepHorizontalAlignment = DEFAULT_HORIZONTAL_ALIGNMENT;\n\n private _rowSpan = 1;\n @Input()\n set rowSpan(value) {\n this._rowSpan = value;\n this.setFieldHeight();\n }\n get rowSpan(): number {\n return this._rowSpan;\n }\n\n private _visible = true;\n @Input()\n set visible(visible: boolean) {\n this._visible = visible;\n if (visible) {\n this.renderer.removeClass(\n this.element.nativeElement,\n 'hidden-element'\n );\n } else {\n this.renderer.addClass(\n this.element.nativeElement,\n 'hidden-element'\n );\n }\n }\n get visible(): boolean {\n return this._visible;\n }\n\n controlType = 'attachment';\n\n @Input() form: FormGroup = null;\n @Input() showTitle = true;\n @Input() renderTitle = true;\n\n private _layoutType: PepLayoutType = 'form';\n @Input()\n set layoutType(value: PepLayoutType) {\n this._layoutType = value;\n this.setFieldHeight();\n }\n get layoutType(): PepLayoutType {\n return this._layoutType;\n }\n\n @Input() isActive = false;\n\n // To know if handle actions or just raise them as output\n @Input() handleActions = true;\n\n @Output()\n chooseFile: EventEmitter<void> = new EventEmitter<void>(); // This event will fired only when handleActions Input is false\n\n @Output()\n fileChange: EventEmitter<any> = new EventEmitter<any>();\n\n @Output()\n elementClick: EventEmitter<IPepFieldClickEvent> = new EventEmitter<IPepFieldClickEvent>();\n\n fieldHeight = '';\n standAlone = false;\n dataURI = null;\n\n acceptAttachmentType =\n 'application/pdf,application/json,text/csv,text/csv-schema,application/msword,application/vnd.ms-excel,text/plain,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/vnd.openxmlformats-officedocument.wordprocessingml.document,image/bmp,image/jpg, image/jpeg, image/png, image/tif, image/tiff, txt, json, html';\n\n constructor(\n private customizationService: PepCustomizationService,\n private renderer: Renderer2,\n public element: ElementRef,\n private fileService: PepFileService\n ) { }\n\n private setFieldHeight(): void {\n this.fieldHeight = this.customizationService.calculateFieldHeight(\n this.layoutType,\n this.rowSpan,\n this.standAlone\n );\n }\n\n private setDefaultForm(): void {\n const pepField = new PepAttachmentField({\n key: this.key,\n value: this.src,\n mandatory: this.mandatory,\n readonly: this.readonly,\n disabled: this.disabled,\n });\n this.form = this.customizationService.getDefaultFromGroup(pepField);\n }\n\n ngOnDestroy(): void {\n //\n }\n\n ngOnInit(): void {\n if (this.form === null) {\n this.standAlone = true;\n this.setFieldHeight();\n this.setDefaultForm();\n\n this.renderer.addClass(\n this.element.nativeElement,\n PepCustomizationService.STAND_ALONE_FIELD_CLASS_NAME\n );\n\n if (!this.renderTitle) {\n this.renderer.addClass(\n this.element.nativeElement,\n PepCustomizationService.STAND_ALONE_FIELD_NO_SPACING_CLASS_NAME\n );\n }\n }\n }\n\n ngOnChanges(changes: any): void {\n if (this.standAlone) {\n this.setDefaultForm();\n }\n // Moved to src input\n // if (changes.src && changes.src.currentValue.length > 0) {\n // // Empty dataURI if there is change in the src.\n // this.dataURI = null;\n // }\n }\n\n onFileChanged(fileData: any): void {\n // const tmp = value.length > 0 ? JSON.parse(value) : null;\n // set this.dataURI after this.src cause it initialize in the src setter.\n this.src = fileData ? fileData.fileStr : '';\n this.dataURI = fileData;\n\n this.customizationService.updateFormFieldValue(\n this.form,\n this.key,\n this.dataURI ? this.dataURI.fileExt : ''\n );\n // this.valueChange.emit({\n // key: this.key,\n // value,\n // });\n\n this.fileChange.emit(fileData);\n // this.fileChange.emit(value.length > 0 ? JSON.parse(value) : value);\n }\n\n onFileClicked(event: IPepFieldClickEvent): void {\n if (this.handleActions) {\n if (this.dataURI != null) {\n const fileStrArr = this.dataURI.fileStr.split(';');\n if (fileStrArr.length === 2) {\n const win = window.open('', '_blank');\n const contentType = fileStrArr[0].split(':')[1];\n const base64 = fileStrArr[1].split(',')[1];\n const blob = this.fileService.convertFromb64toBlob(\n base64,\n contentType\n );\n const url = URL.createObjectURL(blob);\n win.location.href = url;\n }\n } else {\n if (this.fileService.isValidUrl(this.src)) {\n const win = window.open('', '_blank');\n win.location.href = this.src;\n }\n }\n }\n\n this.elementClick.emit(event);\n }\n\n onChooseFile(event) {\n if (!this.handleActions) {\n this.chooseFile.emit();\n }\n }\n}\n\n","<ng-template #pepTemplate>\n <pep-files-uploader [key]=\"key\" [src]=\"src\" [label]=\"label\" [mandatory]=\"mandatory\" [disabled]=\"disabled\"\n [xAlignment]=\"xAlignment\" [rowSpan]=\"rowSpan\" [fieldHeight]=\"fieldHeight\" [controlType]=\"controlType\"\n [form]=\"form\" [layoutType]=\"layoutType\" [acceptedExtensions]=\"acceptAttachmentType\" [handleActions]=\"handleActions\" (fileChange)=\"onFileChanged($event)\"\n (elementClick)=\"onFileClicked($event)\" (chooseFile)=\"onChooseFile($event)\">\n </pep-files-uploader>\n</ng-template>\n\n<ng-template #pepReadonlyTemplate>\n <ng-container *ngIf=\"src?.length > 0; then notEmptyBlock; else emptyBlock\"></ng-container>\n <ng-template #notEmptyBlock>\n <div class=\"pep-file-container\">\n <a [id]=\"key\" class=\"color-link body-sm pep-card-input \" *ngIf=\"src != null\" title=\"{{ src }}\"\n target=\"_blank\" href=\"{{ src }}\">{{ src }}</a>\n </div>\n </ng-template>\n <ng-template #emptyBlock>\n <span>&nbsp;</span>\n </ng-template>\n</ng-template>\n\n<ng-container *ngIf=\"layoutType === 'form'\">\n <div class=\"pep-file-container\" [ngClass]=\"{ 'one-row': rowSpan == 1, 'stand-alone': standAlone }\">\n <pep-field-title *ngIf=\"renderTitle\" [label]=\"label\" [mandatory]=\"mandatory\" [disabled]=\"disabled\"\n [xAlignment]=\"xAlignment\" [showTitle]=\"showTitle\">\n </pep-field-title>\n <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container>\n </div>\n</ng-container>\n\n<ng-container *ngIf=\"layoutType === 'card'\">\n <ng-container *ngIf=\"false && isActive && !disabled; then selectedBlock; else notSelectedBlock\"></ng-container>\n <ng-template #selectedBlock>\n <div class=\"pep-file-container\" [ngClass]=\"{ 'one-row': rowSpan == 1, 'stand-alone': standAlone}\">\n <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container>\n </div>\n </ng-template>\n <ng-template #notSelectedBlock>\n <ng-container *ngTemplateOutlet=\"pepReadonlyTemplate\"></ng-container>\n </ng-template>\n</ng-container>\n\n\n<ng-container *ngIf=\"layoutType === 'table'\">\n <ng-container *ngIf=\"false && isActive && !disabled; then selectedBlock; else notSelectedBlock\"></ng-container>\n <ng-template #selectedBlock>\n <div class=\"pep-file-container one-row\">\n <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container>\n </div>\n </ng-template>\n <ng-template #notSelectedBlock>\n <ng-container *ngTemplateOutlet=\"pepReadonlyTemplate\"></ng-container>\n </ng-template>\n</ng-container>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nimport { MatCommonModule } from '@angular/material/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\n\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\nimport { PepFieldTitleModule } from '@pepperi-addons/ngx-lib/field-title';\nimport { PepFilesUploaderModule } from '@pepperi-addons/ngx-lib/files-uploader';\n\nimport { PepAttachmentComponent } from './attachment.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n // Material modules\n MatCommonModule,\n MatFormFieldModule,\n // ngx-lib modules\n PepNgxLibModule,\n PepFieldTitleModule,\n PepFilesUploaderModule,\n ],\n exports: [PepAttachmentComponent],\n declarations: [PepAttachmentComponent],\n})\nexport class PepAttachmentModule {}\n","/*\n * Public API Surface of ngx-lib/attachment\n */\nexport * from './attachment.module';\nexport * from './attachment.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-attachment.mjs","sources":["../../../projects/ngx-lib/attachment/attachment.component.ts","../../../projects/ngx-lib/attachment/attachment.component.html","../../../projects/ngx-lib/attachment/attachment.module.ts","../../../projects/ngx-lib/attachment/public-api.ts","../../../projects/ngx-lib/attachment/pepperi-addons-ngx-lib-attachment.ts"],"sourcesContent":["import {\n Component,\n OnInit,\n OnChanges,\n Input,\n Output,\n EventEmitter,\n ChangeDetectionStrategy,\n ElementRef,\n Renderer2,\n OnDestroy,\n} from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport {\n PepFileService,\n PepCustomizationService,\n PepLayoutType,\n PepHorizontalAlignment,\n DEFAULT_HORIZONTAL_ALIGNMENT,\n IPepFieldClickEvent,\n PepAttachmentField,\n} from '@pepperi-addons/ngx-lib';\n\n/**\n * This is the attachment component that is used to upload \n * files and media\n *\n */\n@Component({\n selector: 'pep-attachment',\n templateUrl: './attachment.component.html',\n styleUrls: ['./attachment.component.scss', './attachment.component.theme.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PepAttachmentComponent implements OnInit, OnChanges, OnDestroy {\n /**\n * The attachment key.\n *\n * @memberof PepAttachmentComponent\n */\n @Input() key = '';\n\n private _src = '';\n /**\n * The src of the attachment.\n *\n * @memberof PepAttachmentComponent\n */\n @Input()\n set src(value: string) {\n if (!value) {\n value = '';\n }\n\n this._src = value;\n if (this._src.length > 0) {\n // Empty dataURI.\n this.dataURI = null;\n }\n }\n get src(): string {\n return this._src;\n }\n\n /**\n * The title of the attachment.\n *\n * @memberof PepAttachmentComponent\n */\n @Input() label = '';\n\n /**\n * If the attachment is mandatory\n *\n * @memberof PepAttachmentComponent\n */\n @Input() mandatory = false;\n\n /**\n * If the attachment is disabled\n *\n * @memberof PepAttachmentComponent\n */\n @Input() disabled = false;\n\n /**\n * If the attachment is readonly. It could be with or without `src`\n *\n * @memberof PepAttachmentComponent\n */\n @Input() readonly = false;\n\n /**\n * The horizontal alignment of the attachment\n *\n * @type {PepHorizontalAlignment}\n * @memberof PepAttachmentComponent\n */\n @Input() xAlignment: PepHorizontalAlignment = DEFAULT_HORIZONTAL_ALIGNMENT;\n\n private _rowSpan = 1;\n @Input()\n set rowSpan(value) {\n this._rowSpan = value;\n this.setFieldHeight();\n }\n get rowSpan(): number {\n return this._rowSpan;\n }\n\n private _visible = true;\n @Input()\n set visible(visible: boolean) {\n this._visible = visible;\n if (visible) {\n this.renderer.removeClass(\n this.element.nativeElement,\n 'hidden-element'\n );\n } else {\n this.renderer.addClass(\n this.element.nativeElement,\n 'hidden-element'\n );\n }\n }\n get visible(): boolean {\n return this._visible;\n }\n\n controlType = 'attachment';\n\n @Input() form: FormGroup = null;\n @Input() showTitle = true;\n @Input() renderTitle = true;\n\n private _layoutType: PepLayoutType = 'form';\n @Input()\n set layoutType(value: PepLayoutType) {\n this._layoutType = value;\n this.setFieldHeight();\n }\n get layoutType(): PepLayoutType {\n return this._layoutType;\n }\n\n @Input() isActive = false;\n\n // To know if handle actions or just raise them as output\n @Input() handleActions = true;\n @Input() hint = '';\n \n @Output()\n chooseFile: EventEmitter<void> = new EventEmitter<void>(); // This event will fired only when handleActions Input is false\n\n @Output()\n fileChange: EventEmitter<any> = new EventEmitter<any>();\n\n @Output()\n elementClick: EventEmitter<IPepFieldClickEvent> = new EventEmitter<IPepFieldClickEvent>();\n\n @Output()\n validationChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n fieldHeight = '';\n standAlone = false;\n dataURI = null;\n\n acceptAttachmentType =\n 'application/pdf,application/json,text/csv,text/csv-schema,application/msword,application/vnd.ms-excel,text/plain,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/vnd.openxmlformats-officedocument.wordprocessingml.document,image/bmp,image/jpg, image/jpeg, image/png, image/tif, image/tiff, txt, json, html';\n\n constructor(\n private customizationService: PepCustomizationService,\n private renderer: Renderer2,\n public element: ElementRef,\n private fileService: PepFileService\n ) { }\n\n private setFieldHeight(): void {\n this.fieldHeight = this.customizationService.calculateFieldHeight(\n this.layoutType,\n this.rowSpan,\n this.standAlone\n );\n }\n\n private setDefaultForm(): void {\n const pepField = new PepAttachmentField({\n key: this.key,\n value: this.src,\n mandatory: this.mandatory,\n readonly: this.readonly,\n disabled: this.disabled,\n });\n this.form = this.customizationService.getDefaultFromGroup(pepField);\n }\n\n ngOnDestroy(): void {\n //\n }\n\n ngOnInit(): void {\n if (this.form === null) {\n this.standAlone = true;\n this.setFieldHeight();\n this.setDefaultForm();\n\n this.renderer.addClass(\n this.element.nativeElement,\n PepCustomizationService.STAND_ALONE_FIELD_CLASS_NAME\n );\n\n if (!this.renderTitle) {\n this.renderer.addClass(\n this.element.nativeElement,\n PepCustomizationService.STAND_ALONE_FIELD_NO_SPACING_CLASS_NAME\n );\n }\n }\n }\n\n ngOnChanges(changes: any): void {\n if (this.standAlone) {\n this.setDefaultForm();\n }\n // Moved to src input\n // if (changes.src && changes.src.currentValue.length > 0) {\n // // Empty dataURI if there is change in the src.\n // this.dataURI = null;\n // }\n }\n\n onFileChanged(fileData: any): void {\n // const tmp = value.length > 0 ? JSON.parse(value) : null;\n // set this.dataURI after this.src cause it initialize in the src setter.\n this.src = fileData ? fileData.fileStr : '';\n this.dataURI = fileData;\n\n this.customizationService.updateFormFieldValue(\n this.form,\n this.key,\n this.dataURI ? this.dataURI.fileExt : ''\n );\n\n // Raise this only for stand alone fields, If false then the usage for this field is inside a form. \n // Then the form will take care of raising the (onFormValidationChanged) event\n if (this.standAlone) {\n const isValid = (this.disabled || this.readonly) ? true : this.form.valid; \n this.validationChange.emit(isValid);\n }\n\n // this.valueChange.emit({\n // key: this.key,\n // value,\n // });\n\n this.fileChange.emit(fileData);\n // this.fileChange.emit(value.length > 0 ? JSON.parse(value) : value);\n }\n\n onFileClicked(event: IPepFieldClickEvent): void {\n if (this.handleActions) {\n if (this.dataURI != null) {\n const fileStrArr = this.dataURI.fileStr.split(';');\n if (fileStrArr.length === 2) {\n const win = window.open('', '_blank');\n const blob = this.fileService.convertFromb64toBlob(\n this.dataURI.fileStr\n );\n const url = URL.createObjectURL(blob);\n win.location.href = url;\n }\n } else {\n if (this.fileService.isValidUrl(this.src)) {\n const win = window.open('', '_blank');\n win.location.href = this.src;\n }\n }\n }\n\n this.elementClick.emit(event);\n }\n\n onChooseFile(event) {\n if (!this.handleActions) {\n this.chooseFile.emit();\n }\n }\n}\n\n","<ng-template #pepTemplate>\n <pep-files-uploader [key]=\"key\" [src]=\"src\" [label]=\"label\" [mandatory]=\"mandatory\" [disabled]=\"disabled\" [hint]=\"hint\"\n [xAlignment]=\"xAlignment\" [rowSpan]=\"rowSpan\" [fieldHeight]=\"fieldHeight\" [controlType]=\"controlType\"\n [form]=\"form\" [layoutType]=\"layoutType\" [acceptedExtensions]=\"acceptAttachmentType\" [handleActions]=\"handleActions\" (fileChange)=\"onFileChanged($event)\"\n (elementClick)=\"onFileClicked($event)\" (chooseFile)=\"onChooseFile($event)\">\n </pep-files-uploader>\n</ng-template>\n\n<ng-template #pepReadonlyTemplate>\n <ng-container *ngIf=\"src?.length > 0; then notEmptyBlock; else emptyBlock\"></ng-container>\n <ng-template #notEmptyBlock>\n <div class=\"pep-file-container\">\n <a [id]=\"key\" class=\"color-link body-sm pep-card-input \" *ngIf=\"src != null\" title=\"{{ src }}\"\n target=\"_blank\" href=\"{{ src }}\">{{ src }}</a>\n </div>\n </ng-template>\n <ng-template #emptyBlock>\n <span>&nbsp;</span>\n </ng-template>\n</ng-template>\n\n<ng-container *ngIf=\"layoutType === 'form'\">\n <div class=\"pep-file-container\" [ngClass]=\"{ 'one-row': rowSpan == 1, 'stand-alone': standAlone }\">\n <pep-field-title *ngIf=\"renderTitle\" [label]=\"label\" [mandatory]=\"mandatory\" [disabled]=\"disabled\"\n [xAlignment]=\"xAlignment\" [showTitle]=\"showTitle\">\n </pep-field-title>\n <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container>\n </div>\n</ng-container>\n\n<ng-container *ngIf=\"layoutType === 'card'\">\n <ng-container *ngIf=\"false && isActive && !disabled; then selectedBlock; else notSelectedBlock\"></ng-container>\n <ng-template #selectedBlock>\n <div class=\"pep-file-container\" [ngClass]=\"{ 'one-row': rowSpan == 1, 'stand-alone': standAlone}\">\n <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container>\n </div>\n </ng-template>\n <ng-template #notSelectedBlock>\n <ng-container *ngTemplateOutlet=\"pepReadonlyTemplate\"></ng-container>\n </ng-template>\n</ng-container>\n\n\n<ng-container *ngIf=\"layoutType === 'table'\">\n <ng-container *ngIf=\"false && isActive && !disabled; then selectedBlock; else notSelectedBlock\"></ng-container>\n <ng-template #selectedBlock>\n <div class=\"pep-file-container one-row\">\n <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container>\n </div>\n </ng-template>\n <ng-template #notSelectedBlock>\n <ng-container *ngTemplateOutlet=\"pepReadonlyTemplate\"></ng-container>\n </ng-template>\n</ng-container>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nimport { MatCommonModule } from '@angular/material/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\n\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\nimport { PepFieldTitleModule } from '@pepperi-addons/ngx-lib/field-title';\nimport { PepFilesUploaderModule } from '@pepperi-addons/ngx-lib/files-uploader';\n\nimport { PepAttachmentComponent } from './attachment.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n // Material modules\n MatCommonModule,\n MatFormFieldModule,\n // ngx-lib modules\n PepNgxLibModule,\n PepFieldTitleModule,\n PepFilesUploaderModule,\n ],\n exports: [PepAttachmentComponent],\n declarations: [PepAttachmentComponent],\n})\nexport class PepAttachmentModule {}\n","/*\n * Public API Surface of ngx-lib/attachment\n */\nexport * from './attachment.module';\nexport * from './attachment.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -36,10 +36,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
36
36
  }] } });
37
37
 
38
38
  class PepCarouselComponent {
39
- constructor(_elementRef, _renderer, _document) {
39
+ constructor(_elementRef, _renderer, _document, cdRef) {
40
40
  this._elementRef = _elementRef;
41
41
  this._renderer = _renderer;
42
42
  this._document = _document;
43
+ this.cdRef = cdRef;
43
44
  this._index = 0;
44
45
  this._scrollbarHidden = false;
45
46
  this._disabled = false;
@@ -107,6 +108,7 @@ class PepCarouselComponent {
107
108
  }
108
109
  set scrollbarHidden(value) {
109
110
  this._scrollbarHidden = value;
111
+ this.cdRef.detectChanges();
110
112
  }
111
113
  /**
112
114
  * Whether horizontally and vertically draging and scrolling is be disabled
@@ -116,6 +118,7 @@ class PepCarouselComponent {
116
118
  }
117
119
  set disabled(value) {
118
120
  this._disabled = value;
121
+ this.cdRef.detectChanges();
119
122
  }
120
123
  /**
121
124
  * Whether horizontally dragging and scrolling is be disabled
@@ -125,6 +128,7 @@ class PepCarouselComponent {
125
128
  }
126
129
  set xDisabled(value) {
127
130
  this._xDisabled = value;
131
+ this.cdRef.detectChanges();
128
132
  }
129
133
  /**
130
134
  * Whether vertically dragging and scrolling events is disabled
@@ -134,6 +138,7 @@ class PepCarouselComponent {
134
138
  }
135
139
  set yDisabled(value) {
136
140
  this._yDisabled = value;
141
+ this.cdRef.detectChanges();
137
142
  }
138
143
  /**
139
144
  * Whether scrolling horizontally with mouse wheel is enabled
@@ -143,30 +148,35 @@ class PepCarouselComponent {
143
148
  }
144
149
  set xWheelEnabled(value) {
145
150
  this._xWheelEnabled = value;
151
+ this.cdRef.detectChanges();
146
152
  }
147
153
  get dragDisabled() {
148
154
  return this._dragDisabled;
149
155
  }
150
156
  set dragDisabled(value) {
151
157
  this._dragDisabled = value;
158
+ this.cdRef.detectChanges();
152
159
  }
153
160
  get snapDisabled() {
154
161
  return this._snapDisabled;
155
162
  }
156
163
  set snapDisabled(value) {
157
164
  this._snapDisabled = value;
165
+ this.cdRef.detectChanges();
158
166
  }
159
167
  get snapOffset() {
160
168
  return this._snapOffset;
161
169
  }
162
170
  set snapOffset(value) {
163
171
  this._snapOffset = value;
172
+ this.cdRef.detectChanges();
164
173
  }
165
174
  get snapDuration() {
166
175
  return this._snapDuration;
167
176
  }
168
177
  set snapDuration(value) {
169
178
  this._snapDuration = value;
179
+ this.cdRef.detectChanges();
170
180
  }
171
181
  ngOnChanges() {
172
182
  this.setScrollBar();
@@ -696,7 +706,7 @@ class PepCarouselComponent {
696
706
  // }
697
707
  }
698
708
  }
699
- PepCarouselComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepCarouselComponent, deps: [{ token: ElementRef }, { token: Renderer2 }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component });
709
+ PepCarouselComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepCarouselComponent, deps: [{ token: ElementRef }, { token: Renderer2 }, { token: DOCUMENT }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
700
710
  PepCarouselComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepCarouselComponent, selector: "pep-carousel", inputs: { scrollbarHidden: "scrollbarHidden", disabled: "disabled", xDisabled: "xDisabled", yDisabled: "yDisabled", xWheelEnabled: "xWheelEnabled", dragDisabled: "dragDisabled", snapDisabled: "snapDisabled", snapOffset: "snapOffset", snapDuration: "snapDuration" }, outputs: { dsInitialized: "dsInitialized", indexChanged: "indexChanged", reachesLeftBound: "reachesLeftBound", reachesRightBound: "reachesRightBound", snapAnimationFinished: "snapAnimationFinished", dragStart: "dragStart", dragEnd: "dragEnd" }, host: { listeners: { "wheel": "onWheel($event)", "window:resize": "onWindowResize()" }, properties: { "style.pointer-events": "this._pointerEvents" } }, queries: [{ propertyName: "_children", predicate: PepCarouselItemDirective, descendants: true }], viewQueries: [{ propertyName: "_contentRef", first: true, predicate: ["contentRef"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: `
701
711
  <div class="carousel-content" #contentRef>
702
712
  <ng-content></ng-content>
@@ -719,7 +729,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
719
729
  }] }, { type: undefined, decorators: [{
720
730
  type: Inject,
721
731
  args: [DOCUMENT]
722
- }] }];
732
+ }] }, { type: i0.ChangeDetectorRef }];
723
733
  }, propDecorators: { _contentRef: [{
724
734
  type: ViewChild,
725
735
  args: ['contentRef', { static: true }]
@@ -1 +1 @@
1
- {"version":3,"file":"pepperi-addons-ngx-lib-carousel.mjs","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.mjs","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 ChangeDetectorRef,\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 this.cdRef.detectChanges();\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 this.cdRef.detectChanges();\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 this.cdRef.detectChanges();\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 this.cdRef.detectChanges();\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 this.cdRef.detectChanges();\n }\n\n @Input('dragDisabled')\n get dragDisabled() {\n return this._dragDisabled;\n }\n set dragDisabled(value: boolean) {\n this._dragDisabled = value;\n this.cdRef.detectChanges();\n }\n\n @Input('snapDisabled')\n get snapDisabled() {\n return this._snapDisabled;\n }\n set snapDisabled(value: boolean) {\n this._snapDisabled = value;\n this.cdRef.detectChanges();\n }\n\n @Input('snapOffset')\n get snapOffset() {\n return this._snapOffset;\n }\n set snapOffset(value: number) {\n this._snapOffset = value;\n this.cdRef.detectChanges();\n }\n\n @Input('snapDuration')\n get snapDuration() {\n return this._snapDuration;\n }\n set snapDuration(value: number) {\n this._snapDuration = value;\n this.cdRef.detectChanges();\n }\n\n constructor(\n @Inject(ElementRef) private _elementRef: ElementRef,\n @Inject(Renderer2) private _renderer: Renderer2,\n @Inject(DOCUMENT) private _document: any,\n private cdRef: ChangeDetectorRef\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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"}