@pepperi-addons/ngx-lib 0.4.0-angular14.9 → 0.4.0-beta.3

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 (234) hide show
  1. package/chips/chips.component.d.ts +93 -0
  2. package/chips/chips.component.theme.scss +58 -0
  3. package/chips/chips.model.d.ts +13 -0
  4. package/chips/chips.module.d.ts +20 -0
  5. package/chips/chips.service.d.ts +15 -0
  6. package/{plugin → chips}/index.d.ts +1 -1
  7. package/chips/public-api.d.ts +3 -0
  8. package/color/color-picker.component.d.ts +1 -1
  9. package/core/common/model/wapi.model.d.ts +1 -0
  10. package/core/common/services/addon.service.d.ts +13 -9
  11. package/core/common/services/utilities.service.d.ts +5 -4
  12. package/core/customization/customization.model.d.ts +7 -0
  13. package/esm2020/address/address.component.mjs +1 -1
  14. package/esm2020/attachment/attachment.component.mjs +1 -1
  15. package/esm2020/checkbox/checkbox.component.mjs +1 -1
  16. package/esm2020/chips/chips.component.mjs +158 -0
  17. package/esm2020/chips/chips.model.mjs +2 -0
  18. package/esm2020/chips/chips.module.mjs +81 -0
  19. package/esm2020/chips/chips.service.mjs +44 -0
  20. package/esm2020/chips/pepperi-addons-ngx-lib-chips.mjs +5 -0
  21. package/esm2020/chips/public-api.mjs +7 -0
  22. package/esm2020/color/color-picker.component.mjs +4 -4
  23. package/esm2020/color/color.component.mjs +1 -1
  24. package/esm2020/core/common/model/wapi.model.mjs +1 -1
  25. package/esm2020/core/common/services/addon.service.mjs +43 -38
  26. package/esm2020/core/common/services/utilities.service.mjs +66 -13
  27. package/esm2020/core/customization/customization.model.mjs +10 -1
  28. package/esm2020/core/http/interceptors/loader.interceptor.mjs +4 -5
  29. package/esm2020/core/http/services/loader.service.mjs +4 -4
  30. package/esm2020/date/date.component.mjs +3 -3
  31. package/esm2020/field-title/field-title.component.mjs +6 -3
  32. package/esm2020/form/field-generator.component.mjs +7 -7
  33. package/esm2020/form/form.component.mjs +12 -3
  34. package/esm2020/form/internal-button.component.mjs +1 -1
  35. package/esm2020/form/internal-field-generator.component.mjs +3 -3
  36. package/esm2020/form/internal-form.component.mjs +4 -2
  37. package/esm2020/form/internal-list.component.mjs +5 -2
  38. package/esm2020/group-buttons/group-buttons.component.mjs +8 -4
  39. package/esm2020/icon/icon-generated-all.model.mjs +8 -1
  40. package/esm2020/icon/icon-generated.model.mjs +29 -1
  41. package/esm2020/image/image.component.mjs +1 -1
  42. package/esm2020/images-filmstrip/images-filmstrip.component.mjs +3 -91
  43. package/esm2020/images-filmstrip/images-filmstrip.module.mjs +1 -56
  44. package/esm2020/link/link.component.mjs +1 -1
  45. package/esm2020/list/list-pager.component.mjs +1 -1
  46. package/esm2020/list/list.component.mjs +5 -2
  47. package/esm2020/list/virtual-scroller.mjs +11 -10
  48. package/esm2020/menu/menu.component.mjs +11 -3
  49. package/esm2020/page-layout/page-layout.component.mjs +3 -3
  50. package/esm2020/profile-data-views-list/profile-data-views-list.component.mjs +1 -1
  51. package/esm2020/quantity-selector/quantity-selector.component.mjs +24 -4
  52. package/esm2020/query-builder/query-builder-item/query-builder-item.component.mjs +1 -1
  53. package/esm2020/query-builder/query-builder-section/query-builder-section.component.mjs +1 -1
  54. package/esm2020/remote-loader/addon-block-loader.component.mjs +23 -5
  55. package/esm2020/remote-loader/addon-block-loader.service.mjs +9 -8
  56. package/esm2020/remote-loader/public-api.mjs +2 -1
  57. package/esm2020/remote-loader/remote-loader-element.component.mjs +109 -0
  58. package/esm2020/remote-loader/remote-loader.component.mjs +37 -59
  59. package/esm2020/remote-loader/remote-loader.model.mjs +1 -1
  60. package/esm2020/remote-loader/remote-loader.module.mjs +12 -3
  61. package/esm2020/remote-loader/remote-loader.service.mjs +50 -26
  62. package/esm2020/rich-html-textarea/rich-html-textarea.component.mjs +1 -1
  63. package/esm2020/select/select.component.mjs +33 -7
  64. package/esm2020/side-bar/side-bar.component.mjs +11 -27
  65. package/esm2020/side-bar/side-bar.module.mjs +7 -3
  66. package/esm2020/signature/signature.component.mjs +1 -1
  67. package/esm2020/size-detector/size-detector.component.mjs +2 -2
  68. package/esm2020/slider/slider.component.mjs +1 -1
  69. package/esm2020/smart-filters/boolean-filter/boolean-filter.component.mjs +1 -1
  70. package/esm2020/smart-filters/date-filter/date-filter.component.mjs +1 -1
  71. package/esm2020/smart-filters/multi-select-filter/multi-select-filter.component.mjs +1 -1
  72. package/esm2020/smart-filters/number-filter/number-filter.component.mjs +3 -3
  73. package/esm2020/smart-filters/text-filter/text-filter.component.mjs +1 -1
  74. package/esm2020/textarea/textarea.component.mjs +1 -1
  75. package/esm2020/textbox/textbox.component.mjs +48 -7
  76. package/esm2020/textbox-icon/textbox-icon.component.mjs +2 -2
  77. package/fesm2015/pepperi-addons-ngx-lib-address.mjs +1 -1
  78. package/fesm2015/pepperi-addons-ngx-lib-address.mjs.map +1 -1
  79. package/fesm2015/pepperi-addons-ngx-lib-attachment.mjs +1 -1
  80. package/fesm2015/pepperi-addons-ngx-lib-attachment.mjs.map +1 -1
  81. package/fesm2015/pepperi-addons-ngx-lib-checkbox.mjs +1 -1
  82. package/fesm2015/pepperi-addons-ngx-lib-checkbox.mjs.map +1 -1
  83. package/fesm2015/pepperi-addons-ngx-lib-chips.mjs +287 -0
  84. package/fesm2015/pepperi-addons-ngx-lib-chips.mjs.map +1 -0
  85. package/fesm2015/pepperi-addons-ngx-lib-color.mjs +4 -4
  86. package/fesm2015/pepperi-addons-ngx-lib-color.mjs.map +1 -1
  87. package/fesm2015/pepperi-addons-ngx-lib-date.mjs +2 -2
  88. package/fesm2015/pepperi-addons-ngx-lib-date.mjs.map +1 -1
  89. package/fesm2015/pepperi-addons-ngx-lib-field-title.mjs +5 -2
  90. package/fesm2015/pepperi-addons-ngx-lib-field-title.mjs.map +1 -1
  91. package/fesm2015/pepperi-addons-ngx-lib-form.mjs +23 -12
  92. package/fesm2015/pepperi-addons-ngx-lib-form.mjs.map +1 -1
  93. package/fesm2015/pepperi-addons-ngx-lib-group-buttons.mjs +7 -3
  94. package/fesm2015/pepperi-addons-ngx-lib-group-buttons.mjs.map +1 -1
  95. package/fesm2015/pepperi-addons-ngx-lib-icon.mjs +36 -1
  96. package/fesm2015/pepperi-addons-ngx-lib-icon.mjs.map +1 -1
  97. package/fesm2015/pepperi-addons-ngx-lib-image.mjs +1 -1
  98. package/fesm2015/pepperi-addons-ngx-lib-image.mjs.map +1 -1
  99. package/fesm2015/pepperi-addons-ngx-lib-images-filmstrip.mjs +2 -129
  100. package/fesm2015/pepperi-addons-ngx-lib-images-filmstrip.mjs.map +1 -1
  101. package/fesm2015/pepperi-addons-ngx-lib-link.mjs +1 -1
  102. package/fesm2015/pepperi-addons-ngx-lib-link.mjs.map +1 -1
  103. package/fesm2015/pepperi-addons-ngx-lib-list.mjs +15 -11
  104. package/fesm2015/pepperi-addons-ngx-lib-list.mjs.map +1 -1
  105. package/fesm2015/pepperi-addons-ngx-lib-menu.mjs +10 -2
  106. package/fesm2015/pepperi-addons-ngx-lib-menu.mjs.map +1 -1
  107. package/fesm2015/pepperi-addons-ngx-lib-page-layout.mjs +2 -2
  108. package/fesm2015/pepperi-addons-ngx-lib-page-layout.mjs.map +1 -1
  109. package/fesm2015/pepperi-addons-ngx-lib-profile-data-views-list.mjs +1 -1
  110. package/fesm2015/pepperi-addons-ngx-lib-profile-data-views-list.mjs.map +1 -1
  111. package/fesm2015/pepperi-addons-ngx-lib-quantity-selector.mjs +23 -3
  112. package/fesm2015/pepperi-addons-ngx-lib-quantity-selector.mjs.map +1 -1
  113. package/fesm2015/pepperi-addons-ngx-lib-query-builder.mjs +2 -2
  114. package/fesm2015/pepperi-addons-ngx-lib-query-builder.mjs.map +1 -1
  115. package/fesm2015/pepperi-addons-ngx-lib-remote-loader.mjs +249 -105
  116. package/fesm2015/pepperi-addons-ngx-lib-remote-loader.mjs.map +1 -1
  117. package/fesm2015/pepperi-addons-ngx-lib-rich-html-textarea.mjs +1 -1
  118. package/fesm2015/pepperi-addons-ngx-lib-rich-html-textarea.mjs.map +1 -1
  119. package/fesm2015/pepperi-addons-ngx-lib-select.mjs +32 -6
  120. package/fesm2015/pepperi-addons-ngx-lib-select.mjs.map +1 -1
  121. package/fesm2015/pepperi-addons-ngx-lib-side-bar.mjs +15 -27
  122. package/fesm2015/pepperi-addons-ngx-lib-side-bar.mjs.map +1 -1
  123. package/fesm2015/pepperi-addons-ngx-lib-signature.mjs +1 -1
  124. package/fesm2015/pepperi-addons-ngx-lib-signature.mjs.map +1 -1
  125. package/fesm2015/pepperi-addons-ngx-lib-size-detector.mjs +1 -1
  126. package/fesm2015/pepperi-addons-ngx-lib-size-detector.mjs.map +1 -1
  127. package/fesm2015/pepperi-addons-ngx-lib-slider.mjs +1 -1
  128. package/fesm2015/pepperi-addons-ngx-lib-slider.mjs.map +1 -1
  129. package/fesm2015/pepperi-addons-ngx-lib-smart-filters.mjs +6 -6
  130. package/fesm2015/pepperi-addons-ngx-lib-smart-filters.mjs.map +1 -1
  131. package/fesm2015/pepperi-addons-ngx-lib-textarea.mjs +1 -1
  132. package/fesm2015/pepperi-addons-ngx-lib-textarea.mjs.map +1 -1
  133. package/fesm2015/pepperi-addons-ngx-lib-textbox-icon.mjs +1 -1
  134. package/fesm2015/pepperi-addons-ngx-lib-textbox-icon.mjs.map +1 -1
  135. package/fesm2015/pepperi-addons-ngx-lib-textbox.mjs +49 -8
  136. package/fesm2015/pepperi-addons-ngx-lib-textbox.mjs.map +1 -1
  137. package/fesm2015/pepperi-addons-ngx-lib.mjs +128 -57
  138. package/fesm2015/pepperi-addons-ngx-lib.mjs.map +1 -1
  139. package/fesm2020/pepperi-addons-ngx-lib-address.mjs +1 -1
  140. package/fesm2020/pepperi-addons-ngx-lib-address.mjs.map +1 -1
  141. package/fesm2020/pepperi-addons-ngx-lib-attachment.mjs +1 -1
  142. package/fesm2020/pepperi-addons-ngx-lib-attachment.mjs.map +1 -1
  143. package/fesm2020/pepperi-addons-ngx-lib-checkbox.mjs +1 -1
  144. package/fesm2020/pepperi-addons-ngx-lib-checkbox.mjs.map +1 -1
  145. package/fesm2020/pepperi-addons-ngx-lib-chips.mjs +287 -0
  146. package/fesm2020/pepperi-addons-ngx-lib-chips.mjs.map +1 -0
  147. package/fesm2020/pepperi-addons-ngx-lib-color.mjs +4 -4
  148. package/fesm2020/pepperi-addons-ngx-lib-color.mjs.map +1 -1
  149. package/fesm2020/pepperi-addons-ngx-lib-date.mjs +2 -2
  150. package/fesm2020/pepperi-addons-ngx-lib-date.mjs.map +1 -1
  151. package/fesm2020/pepperi-addons-ngx-lib-field-title.mjs +5 -2
  152. package/fesm2020/pepperi-addons-ngx-lib-field-title.mjs.map +1 -1
  153. package/fesm2020/pepperi-addons-ngx-lib-form.mjs +26 -12
  154. package/fesm2020/pepperi-addons-ngx-lib-form.mjs.map +1 -1
  155. package/fesm2020/pepperi-addons-ngx-lib-group-buttons.mjs +7 -3
  156. package/fesm2020/pepperi-addons-ngx-lib-group-buttons.mjs.map +1 -1
  157. package/fesm2020/pepperi-addons-ngx-lib-icon.mjs +36 -1
  158. package/fesm2020/pepperi-addons-ngx-lib-icon.mjs.map +1 -1
  159. package/fesm2020/pepperi-addons-ngx-lib-image.mjs +1 -1
  160. package/fesm2020/pepperi-addons-ngx-lib-image.mjs.map +1 -1
  161. package/fesm2020/pepperi-addons-ngx-lib-images-filmstrip.mjs +2 -129
  162. package/fesm2020/pepperi-addons-ngx-lib-images-filmstrip.mjs.map +1 -1
  163. package/fesm2020/pepperi-addons-ngx-lib-link.mjs +1 -1
  164. package/fesm2020/pepperi-addons-ngx-lib-link.mjs.map +1 -1
  165. package/fesm2020/pepperi-addons-ngx-lib-list.mjs +15 -11
  166. package/fesm2020/pepperi-addons-ngx-lib-list.mjs.map +1 -1
  167. package/fesm2020/pepperi-addons-ngx-lib-menu.mjs +10 -2
  168. package/fesm2020/pepperi-addons-ngx-lib-menu.mjs.map +1 -1
  169. package/fesm2020/pepperi-addons-ngx-lib-page-layout.mjs +2 -2
  170. package/fesm2020/pepperi-addons-ngx-lib-page-layout.mjs.map +1 -1
  171. package/fesm2020/pepperi-addons-ngx-lib-profile-data-views-list.mjs +1 -1
  172. package/fesm2020/pepperi-addons-ngx-lib-profile-data-views-list.mjs.map +1 -1
  173. package/fesm2020/pepperi-addons-ngx-lib-quantity-selector.mjs +23 -3
  174. package/fesm2020/pepperi-addons-ngx-lib-quantity-selector.mjs.map +1 -1
  175. package/fesm2020/pepperi-addons-ngx-lib-query-builder.mjs +2 -2
  176. package/fesm2020/pepperi-addons-ngx-lib-query-builder.mjs.map +1 -1
  177. package/fesm2020/pepperi-addons-ngx-lib-remote-loader.mjs +230 -98
  178. package/fesm2020/pepperi-addons-ngx-lib-remote-loader.mjs.map +1 -1
  179. package/fesm2020/pepperi-addons-ngx-lib-rich-html-textarea.mjs +1 -1
  180. package/fesm2020/pepperi-addons-ngx-lib-rich-html-textarea.mjs.map +1 -1
  181. package/fesm2020/pepperi-addons-ngx-lib-select.mjs +32 -6
  182. package/fesm2020/pepperi-addons-ngx-lib-select.mjs.map +1 -1
  183. package/fesm2020/pepperi-addons-ngx-lib-side-bar.mjs +15 -27
  184. package/fesm2020/pepperi-addons-ngx-lib-side-bar.mjs.map +1 -1
  185. package/fesm2020/pepperi-addons-ngx-lib-signature.mjs +1 -1
  186. package/fesm2020/pepperi-addons-ngx-lib-signature.mjs.map +1 -1
  187. package/fesm2020/pepperi-addons-ngx-lib-size-detector.mjs +1 -1
  188. package/fesm2020/pepperi-addons-ngx-lib-size-detector.mjs.map +1 -1
  189. package/fesm2020/pepperi-addons-ngx-lib-slider.mjs +1 -1
  190. package/fesm2020/pepperi-addons-ngx-lib-slider.mjs.map +1 -1
  191. package/fesm2020/pepperi-addons-ngx-lib-smart-filters.mjs +6 -6
  192. package/fesm2020/pepperi-addons-ngx-lib-smart-filters.mjs.map +1 -1
  193. package/fesm2020/pepperi-addons-ngx-lib-textarea.mjs +1 -1
  194. package/fesm2020/pepperi-addons-ngx-lib-textarea.mjs.map +1 -1
  195. package/fesm2020/pepperi-addons-ngx-lib-textbox-icon.mjs +1 -1
  196. package/fesm2020/pepperi-addons-ngx-lib-textbox-icon.mjs.map +1 -1
  197. package/fesm2020/pepperi-addons-ngx-lib-textbox.mjs +48 -8
  198. package/fesm2020/pepperi-addons-ngx-lib-textbox.mjs.map +1 -1
  199. package/fesm2020/pepperi-addons-ngx-lib.mjs +125 -58
  200. package/fesm2020/pepperi-addons-ngx-lib.mjs.map +1 -1
  201. package/field-title/field-title.component.d.ts +2 -1
  202. package/form/field-generator.component.d.ts +1 -1
  203. package/group-buttons/group-buttons.component.d.ts +2 -1
  204. package/icon/icon-generated-all.model.d.ts +7 -0
  205. package/icon/icon-generated.model.d.ts +29 -1
  206. package/menu/menu.component.d.ts +2 -0
  207. package/package.json +14 -13
  208. package/page-layout/page-layout.component.d.ts +1 -1
  209. package/quantity-selector/quantity-selector.component.d.ts +7 -1
  210. package/remote-loader/addon-block-loader.component.d.ts +10 -6
  211. package/remote-loader/addon-block-loader.service.d.ts +2 -3
  212. package/remote-loader/public-api.d.ts +1 -0
  213. package/remote-loader/remote-loader-element.component.d.ts +30 -0
  214. package/remote-loader/remote-loader.component.d.ts +3 -5
  215. package/remote-loader/remote-loader.model.d.ts +16 -11
  216. package/remote-loader/remote-loader.module.d.ts +8 -6
  217. package/remote-loader/remote-loader.service.d.ts +5 -7
  218. package/select/select.component.d.ts +10 -4
  219. package/side-bar/side-bar.component.d.ts +3 -3
  220. package/src/assets/i18n/en.ngx-lib.json +4 -0
  221. package/src/core/style/components/checkbox.scss +20 -1
  222. package/src/core/style/components/general.scss +5 -4
  223. package/textbox/textbox.component.d.ts +16 -1
  224. package/esm2020/plugin/pepperi-addons-ngx-lib-plugin.mjs +0 -5
  225. package/esm2020/plugin/plugin-proxy.component.mjs +0 -90
  226. package/esm2020/plugin/plugin.model.mjs +0 -2
  227. package/esm2020/plugin/public-api.mjs +0 -6
  228. package/fesm2015/pepperi-addons-ngx-lib-plugin.mjs +0 -107
  229. package/fesm2015/pepperi-addons-ngx-lib-plugin.mjs.map +0 -1
  230. package/fesm2020/pepperi-addons-ngx-lib-plugin.mjs +0 -101
  231. package/fesm2020/pepperi-addons-ngx-lib-plugin.mjs.map +0 -1
  232. package/plugin/plugin-proxy.component.d.ts +0 -22
  233. package/plugin/plugin.model.d.ts +0 -5
  234. package/plugin/public-api.d.ts +0 -2
@@ -1,16 +1,17 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { Injectable, Directive, Optional, Pipe, Input, HostListener, Inject, PLATFORM_ID, NgModule } from '@angular/core';
3
- import { formatPercent, formatCurrency, formatNumber, DOCUMENT, isPlatformBrowser, CommonModule } from '@angular/common';
3
+ import { DOCUMENT, isPlatformBrowser, CommonModule } from '@angular/common';
4
4
  import * as i3 from '@angular/common/http';
5
5
  import { HttpResponse, HTTP_INTERCEPTORS, HttpHeaders, HttpClientModule } from '@angular/common/http';
6
6
  import * as i3$1 from '@angular/forms';
7
7
  import { FormControl, Validators, ReactiveFormsModule, FormBuilder } from '@angular/forms';
8
8
  import { throwError, BehaviorSubject, Subject } from 'rxjs';
9
- import { catchError, distinctUntilChanged, finalize, tap } from 'rxjs/operators';
9
+ import { catchError, filter, distinctUntilChanged, finalize, tap } from 'rxjs/operators';
10
10
  import * as i1 from '@ngx-translate/core';
11
11
  import { TranslateModule } from '@ngx-translate/core';
12
12
  import * as i1$1 from '@angular/platform-browser';
13
13
  import { _isNumberValue, coerceNumberProperty } from '@angular/cdk/coercion';
14
+ import { createCustomElement } from '@angular/elements';
14
15
  import { MultiTranslateHttpLoader } from 'ngx-translate-multi-http-loader';
15
16
  import * as i6 from '@angular/router';
16
17
 
@@ -40,7 +41,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
40
41
  class PepLoaderService {
41
42
  constructor() {
42
43
  this.counter = 0;
43
- this.showLoaderSubject = new BehaviorSubject(false);
44
+ this.showLoaderSubject = new BehaviorSubject(undefined);
44
45
  // Raise custom event for showing the loader.
45
46
  this.onChanged$.subscribe((show) => {
46
47
  this.showLoaderChanged(show);
@@ -49,7 +50,7 @@ class PepLoaderService {
49
50
  get onChanged$() {
50
51
  return this.showLoaderSubject
51
52
  .asObservable()
52
- .pipe(distinctUntilChanged());
53
+ .pipe(filter(v => v !== undefined), distinctUntilChanged());
53
54
  }
54
55
  showLoaderChanged(show) {
55
56
  const eventData = {
@@ -89,14 +90,13 @@ class PepLoaderInterceptor {
89
90
  }
90
91
  intercept(req, next) {
91
92
  // console.warn('LoaderInterceptor');
93
+ let newVer = 2;
92
94
  const loaderService = this.injector.get(PepLoaderService);
95
+ // console.log('show', req.url);
93
96
  loaderService.show();
94
97
  return next.handle(req).pipe(
95
98
  // delay(3000),
96
- catchError((err) => {
97
- loaderService.hide();
98
- return throwError(err);
99
- }), finalize(() => loaderService.hide()));
99
+ catchError((err) => throwError(err)), finalize(() => loaderService.hide()));
100
100
  // return next.handle(req).pipe(map(event => {
101
101
  // if (event instanceof HttpResponse) {
102
102
  // loaderService.hide();
@@ -693,6 +693,9 @@ class PepUtilitiesService {
693
693
  this.translate = translate;
694
694
  this.culture = 'en-US';
695
695
  this.culture = ((_a = this.translate) === null || _a === void 0 ? void 0 : _a.getBrowserCultureLang()) || 'en-US';
696
+ // try {
697
+ // import(`@angular/common/locales/global/${this.culture}`);
698
+ // } catch {}
696
699
  }
697
700
  changeDecimalSeperator(value, reverse = false) {
698
701
  // If the decimal separator is ','
@@ -733,6 +736,19 @@ class PepUtilitiesService {
733
736
  str = new Array(size).join('0').concat(str);
734
737
  return str;
735
738
  }
739
+ isCurrencyShouldBeOnRight(currencySymbol) {
740
+ let res = false;
741
+ if (currencySymbol == "€" ||
742
+ currencySymbol == "₪" ||
743
+ currencySymbol == "Ft" ||
744
+ currencySymbol == "Kč" ||
745
+ currencySymbol == "руб" ||
746
+ currencySymbol == "zł" ||
747
+ currencySymbol == "kr.") {
748
+ res = true;
749
+ }
750
+ return res;
751
+ }
736
752
  parseDate(dateStr, showTime = false) {
737
753
  let retVal = null;
738
754
  if (dateStr !== '') {
@@ -794,44 +810,80 @@ class PepUtilitiesService {
794
810
  const div = document.createElement('DIV');
795
811
  // div.className = 'svg-icon';
796
812
  // Add class svg-icon
797
- div.innerHTML = svgContent.replace('<svg ', '<svg class="svg-icon" ');
813
+ if ((svgContent === null || svgContent === void 0 ? void 0 : svgContent.length) > 0) {
814
+ div.innerHTML = svgContent.replace('<svg ', '<svg class="svg-icon" ');
815
+ }
798
816
  return (div.querySelector('svg') ||
799
817
  document.createElementNS('http://www.w3.org/2000/svg', 'path'));
800
818
  }
801
- formatPercent(value, digitsInfo = '1.0-2') {
819
+ // formatPercent(value: any, digitsInfo = '1.0-2') {
820
+ formatPercent(value, minFractionDigits = 0, maxFractionDigits = 2) {
821
+ minFractionDigits = this.coerceNumberProperty(minFractionDigits, null);
822
+ maxFractionDigits = this.coerceNumberProperty(maxFractionDigits, null);
802
823
  const number = this.coerceNumberProperty(value);
803
824
  if (number === 0) {
804
825
  return '0%';
805
826
  }
806
827
  else {
807
- return formatPercent(number / 100, this.culture, digitsInfo);
808
- }
809
- }
810
- formatCurrency(value, currencySign = '', digitsInfo = '1.2-2') {
828
+ // return formatPercent(number / 100, this.culture, digitsInfo);
829
+ return new Intl.NumberFormat(this.culture, {
830
+ style: 'percent',
831
+ minimumFractionDigits: minFractionDigits || 0,
832
+ maximumFractionDigits: maxFractionDigits || Math.max(2, minFractionDigits),
833
+ }).format(number / 100);
834
+ }
835
+ }
836
+ // formatCurrency(value: any, currencySign = '', digitsInfo = '1.2-2') {
837
+ formatCurrency(value, currencySign = '', minFractionDigits = 0, maxFractionDigits = 2) {
838
+ minFractionDigits = this.coerceNumberProperty(minFractionDigits, null);
839
+ maxFractionDigits = this.coerceNumberProperty(maxFractionDigits, null);
840
+ let res = '';
811
841
  const number = this.coerceNumberProperty(value);
842
+ const styleOptions = {
843
+ // style: 'currency',
844
+ // currencySign: currencySign,
845
+ minimumFractionDigits: minFractionDigits || 0,
846
+ maximumFractionDigits: maxFractionDigits || Math.max(2, minFractionDigits),
847
+ };
812
848
  if (number === 0) {
813
- return formatCurrency(0, this.culture, currencySign, undefined, digitsInfo);
849
+ // return formatCurrency(0, this.culture, currencySign, undefined, digitsInfo);
850
+ res = new Intl.NumberFormat(this.culture, styleOptions).format(0);
814
851
  }
815
852
  else {
816
- return formatCurrency(value, this.culture, currencySign, undefined, digitsInfo);
853
+ // return formatCurrency(value, this.culture, currencySign, undefined, digitsInfo);
854
+ res = new Intl.NumberFormat(this.culture, styleOptions).format(number);
817
855
  }
856
+ res = this.isCurrencyShouldBeOnRight(currencySign) ? `${res} ${currencySign}` : `${currencySign} ${res}`;
857
+ return res;
818
858
  }
819
- formatDecimal(value, digitsInfo = '1.2-2') {
859
+ // formatDecimal(value: any, digitsInfo = '1.2-2') {
860
+ formatDecimal(value, minFractionDigits = 2, maxFractionDigits = 2) {
861
+ minFractionDigits = this.coerceNumberProperty(minFractionDigits, null);
862
+ maxFractionDigits = this.coerceNumberProperty(maxFractionDigits, null);
820
863
  const number = this.coerceNumberProperty(value);
821
864
  if (number === 0) {
822
865
  return '0';
823
866
  }
824
867
  else {
825
- return formatNumber(value, this.culture, digitsInfo);
868
+ // return formatNumber(value, this.culture, digitsInfo);
869
+ return new Intl.NumberFormat(this.culture, {
870
+ minimumFractionDigits: minFractionDigits || Math.min(2, maxFractionDigits),
871
+ maximumFractionDigits: maxFractionDigits || Math.max(2, minFractionDigits),
872
+ }).format(number);
826
873
  }
827
874
  }
828
- formatNumber(value, digitsInfo = '1.0-0') {
875
+ // formatNumber(value: any, digitsInfo = '1.0-0'): string {
876
+ formatNumber(value) {
829
877
  const number = this.coerceNumberProperty(value);
830
878
  if (number === 0) {
831
879
  return '0';
832
880
  }
833
881
  else {
834
- return formatNumber(value, this.culture, digitsInfo);
882
+ // return formatNumber(value, this.culture, digitsInfo);
883
+ return new Intl.NumberFormat(this.culture, {
884
+ minimumFractionDigits: 0,
885
+ maximumFractionDigits: 0,
886
+ }).format(number);
835
887
  }
836
888
  }
837
889
  /**
@@ -878,7 +930,9 @@ class PepUtilitiesService {
878
930
  }
879
931
  coerceNumberProperty(value, fallbackValue = 0) {
880
932
  // If the decimal separator is ',' change it to '.'
881
- value = this.changeDecimalSeperator(value);
933
+ if ((value === null || value === void 0 ? void 0 : value.length) > 0) {
934
+ value = this.changeDecimalSeperator(value);
935
+ }
882
936
  return coerceNumberProperty(value, fallbackValue);
883
937
  }
884
938
  }
@@ -2325,39 +2379,37 @@ class PepAddonService {
2325
2379
  this.fileService = fileService;
2326
2380
  this.route = route;
2327
2381
  this.PAGES_ADDON_UUID = '50062e0c-9967-4ed4-9102-f2bc50602d41';
2328
- this.ADDON_ASSETS_PATH_KEY = 'AddonAssetsPath';
2382
+ // private readonly ADDON_ASSETS_PATH_KEY = 'AddonAssetsPath';
2329
2383
  this.ADDONS_DICTIONARY_ASSETS_PATH_KEY = 'AddonsDictionaryAssetsPath';
2330
2384
  this.ADDON_API_RELATIVE_PATH = '/addons/api';
2331
2385
  this.ADDON_API_ASYNC_RELATIVE_PATH = `${this.ADDON_API_RELATIVE_PATH}/async`;
2332
2386
  //
2333
2387
  }
2334
2388
  get devServer() {
2335
- return this.route.snapshot.queryParamMap.get('devServer') === 'true';
2389
+ return this.route ? this.route.snapshot.queryParamMap.get('devServer') === 'true' : false;
2336
2390
  }
2337
2391
  getAddonBaseRelativePath(isAsync = false) {
2338
2392
  return isAsync
2339
2393
  ? this.ADDON_API_ASYNC_RELATIVE_PATH
2340
2394
  : this.ADDON_API_RELATIVE_PATH;
2341
2395
  }
2342
- getAddonStaticFolder(subAddonUUID = '') {
2343
- if (subAddonUUID.length > 0) {
2344
- const addonsDictionary = this.sessionService.getObject(this.ADDONS_DICTIONARY_ASSETS_PATH_KEY);
2345
- return addonsDictionary && addonsDictionary[subAddonUUID] ? addonsDictionary[subAddonUUID] : '';
2346
- }
2347
- else {
2348
- return this.sessionService.getObject(this.ADDON_ASSETS_PATH_KEY) || '';
2349
- }
2396
+ getAddonStaticFolder(addonUUID) {
2397
+ // if (addonUUID.length > 0) {
2398
+ const addonsDictionary = this.sessionService.getObject(this.ADDONS_DICTIONARY_ASSETS_PATH_KEY);
2399
+ return addonsDictionary && addonsDictionary[addonUUID] ? addonsDictionary[addonUUID] : '';
2400
+ // } else {
2401
+ // return this.sessionService.getObject(this.ADDON_ASSETS_PATH_KEY) || '';
2402
+ // }
2350
2403
  }
2351
- setAddonStaticFolder(path, subAddonUUID = '') {
2404
+ setAddonStaticFolder(path, addonUUID) {
2352
2405
  var _a;
2353
- if (subAddonUUID.length > 0) {
2354
- const addonsDictionary = (_a = this.sessionService.getObject(this.ADDONS_DICTIONARY_ASSETS_PATH_KEY)) !== null && _a !== void 0 ? _a : {};
2355
- addonsDictionary[subAddonUUID] = path;
2356
- this.sessionService.setObject(this.ADDONS_DICTIONARY_ASSETS_PATH_KEY, addonsDictionary);
2357
- }
2358
- else {
2359
- return this.sessionService.setObject(this.ADDON_ASSETS_PATH_KEY, path);
2360
- }
2406
+ // if (addonUUID.length > 0) {
2407
+ const addonsDictionary = (_a = this.sessionService.getObject(this.ADDONS_DICTIONARY_ASSETS_PATH_KEY)) !== null && _a !== void 0 ? _a : {};
2408
+ addonsDictionary[addonUUID] = path;
2409
+ this.sessionService.setObject(this.ADDONS_DICTIONARY_ASSETS_PATH_KEY, addonsDictionary);
2410
+ // } else {
2411
+ // return this.sessionService.setObject(this.ADDON_ASSETS_PATH_KEY, path);
2412
+ // }
2361
2413
  }
2362
2414
  getServerBaseUrl(addonUUID, fileName = '', isAsync = false, localhostPort = 4500) {
2363
2415
  const fileToAdd = fileName.length > 0 ? `/${fileName}` : '';
@@ -2398,8 +2450,8 @@ class PepAddonService {
2398
2450
  this.loaderService.hide();
2399
2451
  });
2400
2452
  }
2401
- getNgxLibTranslationResource(subAddonUUID = '', libName = 'ngx-lib') {
2402
- const addonStaticFolder = this.getAddonStaticFolder(subAddonUUID);
2453
+ getNgxLibTranslationResource(addonUUID, libName = 'ngx-lib') {
2454
+ const addonStaticFolder = this.getAddonStaticFolder(addonUUID);
2403
2455
  const translationsPath = this.fileService.getAssetsTranslationsPath(addonStaticFolder, libName);
2404
2456
  const translationsSuffix = this.fileService.getAssetsTranslationsSuffix(libName);
2405
2457
  return {
@@ -2407,8 +2459,8 @@ class PepAddonService {
2407
2459
  suffix: translationsSuffix,
2408
2460
  };
2409
2461
  }
2410
- getAddonTranslationResource(subAddonUUID = '') {
2411
- const addonStaticFolder = this.getAddonStaticFolder(subAddonUUID);
2462
+ getAddonTranslationResource(addonUUID) {
2463
+ const addonStaticFolder = this.getAddonStaticFolder(addonUUID);
2412
2464
  const defaultSubFolder = 'assets/i18n/';
2413
2465
  return {
2414
2466
  prefix: addonStaticFolder.length > 0 ? `${addonStaticFolder}${defaultSubFolder}` : `/${defaultSubFolder}`,
@@ -2421,38 +2473,46 @@ class PepAddonService {
2421
2473
  getPagesAddonUUID() {
2422
2474
  return this.PAGES_ADDON_UUID;
2423
2475
  }
2424
- // Deprecated need to delete in next major.
2425
- static createDefaultMultiTranslateLoader(http, fileService, addonService, subAddonUUID = '') {
2426
- const ngxLibTranslationResource = addonService.getNgxLibTranslationResource(subAddonUUID);
2427
- const addonTranslationResource = addonService.getAddonTranslationResource(subAddonUUID);
2428
- return addonService.translateService.createMultiTranslateLoader([
2429
- ngxLibTranslationResource,
2430
- addonTranslationResource
2431
- ]);
2476
+ setShellRouterData(data) {
2477
+ const eventData = {
2478
+ detail: data,
2479
+ };
2480
+ const customEvent = new CustomEvent('set-router-data', eventData);
2481
+ window.dispatchEvent(customEvent);
2482
+ }
2483
+ defineCustomElement(elementName, component, injector) {
2484
+ customElements.upgrade;
2485
+ if (!customElements.get(elementName)) {
2486
+ customElements.define(elementName, createCustomElement(component, { injector: injector }));
2487
+ }
2432
2488
  }
2433
- static createMultiTranslateLoader(addonService, libsName = ['ngx-lib'], subAddonUUID = '') {
2489
+ static createMultiTranslateLoader(addonUUID, addonService, libsName = ['ngx-lib']) {
2434
2490
  const ngxLibTranslationResources = [];
2435
2491
  if ((libsName === null || libsName === void 0 ? void 0 : libsName.length) > 0) {
2436
2492
  for (let index = 0; index < libsName.length; index++) {
2437
2493
  const libName = libsName[index];
2438
- ngxLibTranslationResources.push(addonService.getNgxLibTranslationResource(subAddonUUID, libName));
2494
+ ngxLibTranslationResources.push(addonService.getNgxLibTranslationResource(addonUUID, libName));
2439
2495
  }
2440
2496
  }
2441
- const addonTranslationResource = addonService.getAddonTranslationResource(subAddonUUID);
2497
+ const addonTranslationResource = addonService.getAddonTranslationResource(addonUUID);
2442
2498
  return addonService.translateService.createMultiTranslateLoader([
2443
2499
  ...ngxLibTranslationResources,
2444
2500
  addonTranslationResource
2445
2501
  ]);
2446
2502
  }
2447
2503
  }
2448
- PepAddonService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepAddonService, deps: [{ token: PepSessionService }, { token: PepHttpService }, { token: PepLoaderService }, { token: PepTranslateService }, { token: PepFileService }, { token: i6.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Injectable });
2504
+ PepAddonService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepAddonService, deps: [{ token: PepSessionService }, { token: PepHttpService }, { token: PepLoaderService }, { token: PepTranslateService }, { token: PepFileService }, { token: i6.ActivatedRoute, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
2449
2505
  PepAddonService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepAddonService, providedIn: 'root' });
2450
2506
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepAddonService, decorators: [{
2451
2507
  type: Injectable,
2452
2508
  args: [{
2453
2509
  providedIn: 'root',
2454
2510
  }]
2455
- }], ctorParameters: function () { return [{ type: PepSessionService }, { type: PepHttpService }, { type: PepLoaderService }, { type: PepTranslateService }, { type: PepFileService }, { type: i6.ActivatedRoute }]; } });
2511
+ }], ctorParameters: function () {
2512
+ return [{ type: PepSessionService }, { type: PepHttpService }, { type: PepLoaderService }, { type: PepTranslateService }, { type: PepFileService }, { type: i6.ActivatedRoute, decorators: [{
2513
+ type: Optional
2514
+ }] }];
2515
+ } });
2456
2516
 
2457
2517
  class PepColorService {
2458
2518
  constructor() {
@@ -3337,11 +3397,15 @@ class PepTextboxField extends PepFieldBase {
3337
3397
  super(options);
3338
3398
  this.controlType = 'textbox';
3339
3399
  this.type = 'text';
3400
+ this.digitsNumberAfterDecimalPoint = NaN;
3340
3401
  this.type = options.type || 'text';
3402
+ this.regex = options.regex;
3341
3403
  this.update(options);
3342
3404
  }
3343
3405
  update(options) {
3406
+ var _a;
3344
3407
  super.update(options);
3408
+ this.digitsNumberAfterDecimalPoint = (_a = options.digitsNumberAfterDecimalPoint) !== null && _a !== void 0 ? _a : NaN;
3345
3409
  if (this.type === 'link') {
3346
3410
  // DI-11292 - add changes for link field for the "Read Only display value" prop
3347
3411
  this.formattedValue =
@@ -3367,6 +3431,9 @@ class PepTextboxField extends PepFieldBase {
3367
3431
  validators.push(Validators.max(this.maxValue));
3368
3432
  }
3369
3433
  }
3434
+ if (this.type === 'text' && this.regex) {
3435
+ validators.push(Validators.pattern(this.regex));
3436
+ }
3370
3437
  return validators;
3371
3438
  }
3372
3439
  }
@@ -3437,12 +3504,15 @@ class PepQuantitySelectorField extends PepFieldBase {
3437
3504
  super(options);
3438
3505
  this.controlType = 'qs';
3439
3506
  this.notificationInfo = {};
3507
+ this.digitsNumberAfterDecimalPoint = NaN;
3440
3508
  this.updatedDataCount = 0;
3441
3509
  this.type = options.type || 'qs';
3442
3510
  this.update(options);
3443
3511
  }
3444
3512
  update(options) {
3513
+ var _a;
3445
3514
  super.update(options);
3515
+ this.digitsNumberAfterDecimalPoint = (_a = options.digitsNumberAfterDecimalPoint) !== null && _a !== void 0 ? _a : NaN;
3446
3516
  this.allowDecimal = options.allowDecimal || false;
3447
3517
  this.notificationInfo = options.notificationInfo;
3448
3518
  this.updatedDataCount += 1;
@@ -3472,6 +3542,7 @@ class PepSelectField extends PepFieldBase {
3472
3542
  this.controlType = 'select';
3473
3543
  this.options = [];
3474
3544
  this.type = options.type || 'select';
3545
+ this.emptyOption = options.emptyOption;
3475
3546
  this.update(options);
3476
3547
  }
3477
3548
  update(options) {