@verisoft/ui-primeng 18.7.0 → 18.8.0

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 (383) hide show
  1. package/README.md +7 -57
  2. package/assets/icons/complex/v-logo.svg +4 -4
  3. package/assets/sass/base/_scrollbar.scss +18 -18
  4. package/assets/sass/base/_typography.scss +24 -24
  5. package/assets/sass/layout/_app.scss +26 -26
  6. package/assets/sass/layout/_button.scss +57 -57
  7. package/assets/sass/layout/_checkbox.scss +32 -32
  8. package/assets/sass/layout/_dialog.scss +12 -12
  9. package/assets/sass/layout/_dropdown.scss +8 -8
  10. package/assets/sass/layout/_formField.scss +4 -4
  11. package/assets/sass/layout/_header.scss +62 -62
  12. package/assets/sass/layout/_icons.scss +12 -12
  13. package/assets/sass/layout/_inputSwitch.scss +12 -12
  14. package/assets/sass/layout/_layout.scss +5 -5
  15. package/assets/sass/layout/_loader.scss +8 -8
  16. package/assets/sass/layout/_radiobutton.scss +21 -21
  17. package/assets/sass/layout/_sidemenu.scss +172 -172
  18. package/assets/sass/layout/_snackbar.scss +7 -7
  19. package/assets/sass/layout/_tables.scss +4 -4
  20. package/assets/sass/layout/_tree.scss +11 -11
  21. package/assets/sass/layout/_tristatecheckbox.scss +14 -14
  22. package/assets/sass/main.scss +28 -28
  23. package/assets/sass/themes/_verisoft_theme.scss +46 -46
  24. package/assets/sass/utils/_utils.scss +39 -39
  25. package/assets/sass/utils/_variables.scss +12 -12
  26. package/assets/sass/vendors/_bootstrap.scss +2 -2
  27. package/assets/sass/vendors/_primeng.scss +2 -2
  28. package/esm2022/index.mjs +30 -0
  29. package/esm2022/lib/components/breadcrumb/breadcrumb.component.mjs +31 -0
  30. package/esm2022/lib/components/breadcrumb/breadcrumb.pipe.mjs +17 -0
  31. package/esm2022/lib/components/breadcrumb/index.mjs +2 -0
  32. package/esm2022/lib/components/button/button.component.mjs +61 -0
  33. package/esm2022/lib/components/button/index.mjs +2 -0
  34. package/esm2022/lib/components/calendar/calendar.component.mjs +73 -0
  35. package/esm2022/lib/components/calendar/index.mjs +2 -0
  36. package/esm2022/lib/components/checkbox/checkbox.component.mjs +47 -0
  37. package/esm2022/lib/components/checkbox/index.mjs +2 -0
  38. package/esm2022/lib/components/confirm-dialog/confirm-dialog.component.mjs +65 -0
  39. package/esm2022/lib/components/confirm-dialog/index.mjs +2 -0
  40. package/esm2022/lib/components/dropdown/dropdown.component.mjs +139 -0
  41. package/esm2022/lib/components/dropdown/index.mjs +2 -0
  42. package/esm2022/lib/components/errors/error.component.mjs +41 -0
  43. package/esm2022/lib/components/errors/index.mjs +2 -0
  44. package/esm2022/lib/components/form-field/form-field.component.mjs +41 -0
  45. package/esm2022/lib/components/form-field/index.mjs +2 -0
  46. package/esm2022/lib/components/header/header.component.mjs +58 -0
  47. package/esm2022/lib/components/header/index.mjs +3 -0
  48. package/esm2022/lib/components/header/services/header-provider.service.mjs +24 -0
  49. package/esm2022/lib/components/input-group/index.mjs +2 -0
  50. package/esm2022/lib/components/input-group/input-group.component.mjs +57 -0
  51. package/esm2022/lib/components/loader/index.mjs +2 -0
  52. package/esm2022/lib/components/loader/loader.component.mjs +19 -0
  53. package/esm2022/lib/components/multiselect/index.mjs +2 -0
  54. package/esm2022/lib/components/multiselect/multiselect.component.mjs +124 -0
  55. package/esm2022/lib/components/number-input/index.mjs +2 -0
  56. package/esm2022/lib/components/number-input/number-input.component.mjs +64 -0
  57. package/esm2022/lib/components/page-header/index.mjs +2 -0
  58. package/esm2022/lib/components/page-header/page-header.component.mjs +28 -0
  59. package/esm2022/lib/components/password/index.mjs +2 -0
  60. package/esm2022/lib/components/password/password.component.mjs +59 -0
  61. package/esm2022/lib/components/radiobutton/index.mjs +2 -0
  62. package/esm2022/lib/components/radiobutton/radiobutton.component.mjs +57 -0
  63. package/esm2022/lib/components/section/index.mjs +2 -0
  64. package/esm2022/lib/components/section/section.component.mjs +35 -0
  65. package/esm2022/lib/components/shared-components/action-button-group/action-button-group.component.mjs +92 -0
  66. package/esm2022/lib/components/shared-components/action-button-group/components/action-button/action-button.component.mjs +60 -0
  67. package/esm2022/lib/components/shared-components/action-button-group/index.mjs +3 -0
  68. package/esm2022/lib/components/shared-components/dynamic-component/dynamic-component-factory.service.mjs +90 -0
  69. package/esm2022/lib/components/shared-components/dynamic-component/dynamic-component.component.mjs +41 -0
  70. package/esm2022/lib/components/shared-components/dynamic-component/index.mjs +3 -0
  71. package/esm2022/lib/components/shared-components/feature-list/directives/feature-list-column.directive.mjs +46 -0
  72. package/esm2022/lib/components/shared-components/feature-list/directives/feature-list-filter-field.directive.mjs +16 -0
  73. package/esm2022/lib/components/shared-components/feature-list/feature-list-filter.pipe.mjs +24 -0
  74. package/esm2022/lib/components/shared-components/feature-list/feature-list-page.component.mjs +42 -0
  75. package/esm2022/lib/components/shared-components/feature-list/feature-list-page.model.mjs +16 -0
  76. package/esm2022/lib/components/shared-components/feature-list/feature-list.component.mjs +275 -0
  77. package/esm2022/lib/components/shared-components/feature-list/index.mjs +6 -0
  78. package/esm2022/lib/components/shared-components/filter/directives/filter-field.directive.mjs +44 -0
  79. package/esm2022/lib/components/shared-components/filter/filter.component.mjs +190 -0
  80. package/esm2022/lib/components/shared-components/filter/filter.model.mjs +16 -0
  81. package/esm2022/lib/components/shared-components/filter/index.mjs +3 -0
  82. package/esm2022/lib/components/shared-components/generic-field/generic-field.component.mjs +93 -0
  83. package/esm2022/lib/components/shared-components/generic-field/index.mjs +2 -0
  84. package/esm2022/lib/components/shared-components/generic-form/generic-form.component.mjs +40 -0
  85. package/esm2022/lib/components/shared-components/generic-form/generic-form.model.mjs +50 -0
  86. package/esm2022/lib/components/shared-components/generic-form/index.mjs +3 -0
  87. package/esm2022/lib/components/shared-components/index.mjs +7 -0
  88. package/esm2022/lib/components/side-menu/index.mjs +3 -0
  89. package/esm2022/lib/components/side-menu/side-menu.component.mjs +92 -0
  90. package/esm2022/lib/components/side-menu/side-menu.module.mjs +74 -0
  91. package/esm2022/lib/components/slider/index.mjs +2 -0
  92. package/esm2022/lib/components/slider/slider.component.mjs +62 -0
  93. package/esm2022/lib/components/snackbar/index.mjs +3 -0
  94. package/esm2022/lib/components/snackbar/services/snackbar.service.mjs +50 -0
  95. package/esm2022/lib/components/snackbar/snackbar.component.mjs +33 -0
  96. package/esm2022/lib/components/stepper/index.mjs +2 -0
  97. package/esm2022/lib/components/stepper/stepper.component.mjs +48 -0
  98. package/esm2022/lib/components/switch/index.mjs +2 -0
  99. package/esm2022/lib/components/switch/switch.component.mjs +54 -0
  100. package/esm2022/lib/components/tab-view/index.mjs +4 -0
  101. package/esm2022/lib/components/tab-view/tab-menu.pipe.mjs +25 -0
  102. package/esm2022/lib/components/tab-view/tab-view-item.component.mjs +31 -0
  103. package/esm2022/lib/components/tab-view/tab-view.component.mjs +50 -0
  104. package/esm2022/lib/components/tab-view/tab-view.module.mjs +29 -0
  105. package/esm2022/lib/components/table/index.mjs +2 -0
  106. package/esm2022/lib/components/table/table-filter.pipe.mjs +49 -0
  107. package/esm2022/lib/components/table/table.component.mjs +220 -0
  108. package/esm2022/lib/components/table/table.models.mjs +17 -0
  109. package/esm2022/lib/components/textarea/index.mjs +2 -0
  110. package/esm2022/lib/components/textarea/textarea.component.mjs +65 -0
  111. package/esm2022/lib/components/textfield/index.mjs +2 -0
  112. package/esm2022/lib/components/textfield/textfield.component.mjs +65 -0
  113. package/esm2022/lib/components/tristatecheckbox/index.mjs +2 -0
  114. package/esm2022/lib/components/tristatecheckbox/tristatecheckbox.component.mjs +53 -0
  115. package/esm2022/lib/icons.mjs +35 -0
  116. package/esm2022/lib/interceptors/http-error-message.interceptor.mjs +31 -0
  117. package/esm2022/verisoft-ui-primeng.mjs +5 -0
  118. package/fesm2022/verisoft-ui-primeng.mjs +2909 -0
  119. package/fesm2022/verisoft-ui-primeng.mjs.map +1 -0
  120. package/{src/index.ts → index.d.ts} +29 -29
  121. package/lib/components/breadcrumb/breadcrumb.component.d.ts +6 -0
  122. package/lib/components/breadcrumb/breadcrumb.pipe.d.ts +9 -0
  123. package/{src/lib/components/breadcrumb/index.ts → lib/components/breadcrumb/index.d.ts} +1 -1
  124. package/lib/components/button/button.component.d.ts +20 -0
  125. package/{src/lib/components/button/index.ts → lib/components/button/index.d.ts} +1 -1
  126. package/lib/components/calendar/calendar.component.d.ts +17 -0
  127. package/{src/lib/components/calendar/index.ts → lib/components/calendar/index.d.ts} +1 -1
  128. package/lib/components/checkbox/checkbox.component.d.ts +9 -0
  129. package/{src/lib/components/checkbox/index.ts → lib/components/checkbox/index.d.ts} +1 -1
  130. package/lib/components/confirm-dialog/confirm-dialog.component.d.ts +15 -0
  131. package/{src/lib/components/confirm-dialog/index.ts → lib/components/confirm-dialog/index.d.ts} +1 -1
  132. package/lib/components/dropdown/dropdown.component.d.ts +38 -0
  133. package/{src/lib/components/dropdown/index.ts → lib/components/dropdown/index.d.ts} +1 -1
  134. package/lib/components/errors/error.component.d.ts +16 -0
  135. package/lib/components/errors/index.d.ts +1 -0
  136. package/lib/components/form-field/form-field.component.d.ts +12 -0
  137. package/{src/lib/components/form-field/index.ts → lib/components/form-field/index.d.ts} +1 -1
  138. package/lib/components/header/header.component.d.ts +23 -0
  139. package/{src/lib/components/header/index.ts → lib/components/header/index.d.ts} +2 -2
  140. package/lib/components/header/services/header-provider.service.d.ts +10 -0
  141. package/{src/lib/components/input-group/index.ts → lib/components/input-group/index.d.ts} +1 -1
  142. package/lib/components/input-group/input-group.component.d.ts +9 -0
  143. package/{src/lib/components/loader/index.ts → lib/components/loader/index.d.ts} +1 -1
  144. package/lib/components/loader/loader.component.d.ts +6 -0
  145. package/{src/lib/components/multiselect/index.ts → lib/components/multiselect/index.d.ts} +1 -1
  146. package/lib/components/multiselect/multiselect.component.d.ts +34 -0
  147. package/{src/lib/components/number-input/index.ts → lib/components/number-input/index.d.ts} +1 -1
  148. package/lib/components/number-input/number-input.component.d.ts +14 -0
  149. package/{src/lib/components/page-header/index.ts → lib/components/page-header/index.d.ts} +1 -1
  150. package/lib/components/page-header/page-header.component.d.ts +10 -0
  151. package/{src/lib/components/password/index.ts → lib/components/password/index.d.ts} +1 -1
  152. package/lib/components/password/password.component.d.ts +11 -0
  153. package/{src/lib/components/radiobutton/index.ts → lib/components/radiobutton/index.d.ts} +1 -1
  154. package/lib/components/radiobutton/radiobutton.component.d.ts +10 -0
  155. package/{src/lib/components/section/index.ts → lib/components/section/index.d.ts} +1 -1
  156. package/lib/components/section/section.component.d.ts +12 -0
  157. package/lib/components/shared-components/action-button-group/action-button-group.component.d.ts +29 -0
  158. package/lib/components/shared-components/action-button-group/components/action-button/action-button.component.d.ts +24 -0
  159. package/{src/lib/components/shared-components/action-button-group/index.ts → lib/components/shared-components/action-button-group/index.d.ts} +2 -2
  160. package/lib/components/shared-components/dynamic-component/dynamic-component-factory.service.d.ts +17 -0
  161. package/lib/components/shared-components/dynamic-component/dynamic-component.component.d.ts +16 -0
  162. package/{src/lib/components/shared-components/dynamic-component/index.ts → lib/components/shared-components/dynamic-component/index.d.ts} +2 -2
  163. package/lib/components/shared-components/feature-list/directives/feature-list-column.directive.d.ts +10 -0
  164. package/lib/components/shared-components/feature-list/directives/feature-list-filter-field.directive.d.ts +6 -0
  165. package/lib/components/shared-components/feature-list/feature-list-filter.pipe.d.ts +9 -0
  166. package/lib/components/shared-components/feature-list/feature-list-page.component.d.ts +9 -0
  167. package/lib/components/shared-components/feature-list/feature-list-page.model.d.ts +23 -0
  168. package/lib/components/shared-components/feature-list/feature-list.component.d.ts +62 -0
  169. package/{src/lib/components/shared-components/feature-list/index.ts → lib/components/shared-components/feature-list/index.d.ts} +5 -5
  170. package/lib/components/shared-components/filter/directives/filter-field.directive.d.ts +20 -0
  171. package/lib/components/shared-components/filter/filter.component.d.ts +53 -0
  172. package/lib/components/shared-components/filter/filter.model.d.ts +2 -0
  173. package/{src/lib/components/shared-components/filter/index.ts → lib/components/shared-components/filter/index.d.ts} +2 -2
  174. package/lib/components/shared-components/generic-field/generic-field.component.d.ts +28 -0
  175. package/{src/lib/components/shared-components/generic-field/index.ts → lib/components/shared-components/generic-field/index.d.ts} +1 -1
  176. package/lib/components/shared-components/generic-form/generic-form.component.d.ts +15 -0
  177. package/lib/components/shared-components/generic-form/generic-form.model.d.ts +4 -0
  178. package/{src/lib/components/shared-components/generic-form/index.ts → lib/components/shared-components/generic-form/index.d.ts} +2 -2
  179. package/{src/lib/components/shared-components/index.ts → lib/components/shared-components/index.d.ts} +6 -6
  180. package/{src/lib/components/side-menu/index.ts → lib/components/side-menu/index.d.ts} +2 -2
  181. package/lib/components/side-menu/side-menu.component.d.ts +27 -0
  182. package/lib/components/side-menu/side-menu.module.d.ts +13 -0
  183. package/{src/lib/components/slider/index.ts → lib/components/slider/index.d.ts} +1 -1
  184. package/lib/components/slider/slider.component.d.ts +12 -0
  185. package/{src/lib/components/snackbar/index.ts → lib/components/snackbar/index.d.ts} +2 -2
  186. package/lib/components/snackbar/services/snackbar.service.d.ts +12 -0
  187. package/lib/components/snackbar/snackbar.component.d.ts +9 -0
  188. package/{src/lib/components/stepper/index.ts → lib/components/stepper/index.d.ts} +1 -1
  189. package/lib/components/stepper/stepper.component.d.ts +17 -0
  190. package/{src/lib/components/switch/index.ts → lib/components/switch/index.d.ts} +1 -1
  191. package/lib/components/switch/switch.component.d.ts +9 -0
  192. package/{src/lib/components/tab-view/index.ts → lib/components/tab-view/index.d.ts} +3 -3
  193. package/lib/components/tab-view/tab-menu.pipe.d.ts +9 -0
  194. package/lib/components/tab-view/tab-view-item.component.d.ts +12 -0
  195. package/lib/components/tab-view/tab-view.component.d.ts +17 -0
  196. package/lib/components/tab-view/tab-view.module.d.ts +13 -0
  197. package/{src/lib/components/table/index.ts → lib/components/table/index.d.ts} +1 -1
  198. package/lib/components/table/table-filter.pipe.d.ts +13 -0
  199. package/lib/components/table/table.component.d.ts +67 -0
  200. package/lib/components/table/table.models.d.ts +4 -0
  201. package/{src/lib/components/textarea/index.ts → lib/components/textarea/index.d.ts} +1 -1
  202. package/lib/components/textarea/textarea.component.d.ts +12 -0
  203. package/{src/lib/components/textfield/index.ts → lib/components/textfield/index.d.ts} +1 -1
  204. package/lib/components/textfield/textfield.component.d.ts +12 -0
  205. package/{src/lib/components/tristatecheckbox/index.ts → lib/components/tristatecheckbox/index.d.ts} +1 -1
  206. package/lib/components/tristatecheckbox/tristatecheckbox.component.d.ts +9 -0
  207. package/lib/icons.d.ts +2 -0
  208. package/lib/interceptors/http-error-message.interceptor.d.ts +11 -0
  209. package/package.json +37 -22
  210. package/.eslintrc.json +0 -43
  211. package/assets/.gitkeep +0 -0
  212. package/jest.config.ts +0 -22
  213. package/ng-package.json +0 -15
  214. package/project.json +0 -36
  215. package/src/lib/components/breadcrumb/breadcrumb.component.html +0 -12
  216. package/src/lib/components/breadcrumb/breadcrumb.component.scss +0 -18
  217. package/src/lib/components/breadcrumb/breadcrumb.component.spec.ts +0 -21
  218. package/src/lib/components/breadcrumb/breadcrumb.component.stories.ts +0 -36
  219. package/src/lib/components/breadcrumb/breadcrumb.component.ts +0 -29
  220. package/src/lib/components/breadcrumb/breadcrumb.pipe.ts +0 -13
  221. package/src/lib/components/button/button.component.html +0 -20
  222. package/src/lib/components/button/button.component.scss +0 -0
  223. package/src/lib/components/button/button.component.spec.ts +0 -21
  224. package/src/lib/components/button/button.component.ts +0 -49
  225. package/src/lib/components/calendar/calendar.component.html +0 -53
  226. package/src/lib/components/calendar/calendar.component.scss +0 -0
  227. package/src/lib/components/calendar/calendar.component.spec.ts +0 -21
  228. package/src/lib/components/calendar/calendar.component.ts +0 -72
  229. package/src/lib/components/checkbox/checkbox.component.html +0 -19
  230. package/src/lib/components/checkbox/checkbox.component.scss +0 -15
  231. package/src/lib/components/checkbox/checkbox.component.spec.ts +0 -21
  232. package/src/lib/components/checkbox/checkbox.component.stories.ts +0 -72
  233. package/src/lib/components/checkbox/checkbox.component.ts +0 -45
  234. package/src/lib/components/confirm-dialog/confirm-dialog.component.html +0 -48
  235. package/src/lib/components/confirm-dialog/confirm-dialog.component.scss +0 -3
  236. package/src/lib/components/confirm-dialog/confirm-dialog.component.spec.ts +0 -21
  237. package/src/lib/components/confirm-dialog/confirm-dialog.component.stories.ts +0 -74
  238. package/src/lib/components/confirm-dialog/confirm-dialog.component.ts +0 -74
  239. package/src/lib/components/dropdown/dropdown.component.html +0 -96
  240. package/src/lib/components/dropdown/dropdown.component.scss +0 -16
  241. package/src/lib/components/dropdown/dropdown.component.spec.ts +0 -21
  242. package/src/lib/components/dropdown/dropdown.component.stories.ts +0 -90
  243. package/src/lib/components/dropdown/dropdown.component.ts +0 -144
  244. package/src/lib/components/errors/error.component.html +0 -6
  245. package/src/lib/components/errors/error.component.scss +0 -3
  246. package/src/lib/components/errors/error.component.ts +0 -35
  247. package/src/lib/components/errors/index.ts +0 -1
  248. package/src/lib/components/form-field/form-field.component.html +0 -36
  249. package/src/lib/components/form-field/form-field.component.scss +0 -0
  250. package/src/lib/components/form-field/form-field.component.spec.ts +0 -21
  251. package/src/lib/components/form-field/form-field.component.stories.ts +0 -69
  252. package/src/lib/components/form-field/form-field.component.ts +0 -38
  253. package/src/lib/components/header/header.component.html +0 -84
  254. package/src/lib/components/header/header.component.scss +0 -0
  255. package/src/lib/components/header/header.component.spec.ts +0 -21
  256. package/src/lib/components/header/header.component.stories.ts +0 -24
  257. package/src/lib/components/header/header.component.ts +0 -66
  258. package/src/lib/components/header/services/header-provider.service.ts +0 -15
  259. package/src/lib/components/input-group/input-group.component.html +0 -30
  260. package/src/lib/components/input-group/input-group.component.spec.ts +0 -21
  261. package/src/lib/components/input-group/input-group.component.ts +0 -60
  262. package/src/lib/components/loader/loader.component.html +0 -5
  263. package/src/lib/components/loader/loader.component.scss +0 -0
  264. package/src/lib/components/loader/loader.component.spec.ts +0 -21
  265. package/src/lib/components/loader/loader.component.ts +0 -17
  266. package/src/lib/components/multiselect/multiselect.component.html +0 -70
  267. package/src/lib/components/multiselect/multiselect.component.scss +0 -0
  268. package/src/lib/components/multiselect/multiselect.component.spec.ts +0 -21
  269. package/src/lib/components/multiselect/multiselect.component.ts +0 -122
  270. package/src/lib/components/number-input/number-input.component.html +0 -22
  271. package/src/lib/components/number-input/number-input.component.spec.ts +0 -21
  272. package/src/lib/components/number-input/number-input.component.ts +0 -57
  273. package/src/lib/components/page-header/page-header.component.html +0 -31
  274. package/src/lib/components/page-header/page-header.component.scss +0 -0
  275. package/src/lib/components/page-header/page-header.component.spec.ts +0 -21
  276. package/src/lib/components/page-header/page-header.component.ts +0 -32
  277. package/src/lib/components/password/password.component.html +0 -24
  278. package/src/lib/components/password/password.component.scss +0 -0
  279. package/src/lib/components/password/password.component.spec.ts +0 -21
  280. package/src/lib/components/password/password.component.ts +0 -58
  281. package/src/lib/components/radiobutton/radiobutton.component.html +0 -32
  282. package/src/lib/components/radiobutton/radiobutton.component.scss +0 -6
  283. package/src/lib/components/radiobutton/radiobutton.component.spec.ts +0 -21
  284. package/src/lib/components/radiobutton/radiobutton.component.stories.ts +0 -71
  285. package/src/lib/components/radiobutton/radiobutton.component.ts +0 -62
  286. package/src/lib/components/section/section.component.html +0 -23
  287. package/src/lib/components/section/section.component.scss +0 -0
  288. package/src/lib/components/section/section.component.spec.ts +0 -21
  289. package/src/lib/components/section/section.component.ts +0 -32
  290. package/src/lib/components/shared-components/action-button-group/action-button-group.component.html +0 -27
  291. package/src/lib/components/shared-components/action-button-group/action-button-group.component.scss +0 -0
  292. package/src/lib/components/shared-components/action-button-group/action-button-group.component.spec.ts +0 -21
  293. package/src/lib/components/shared-components/action-button-group/action-button-group.component.ts +0 -114
  294. package/src/lib/components/shared-components/action-button-group/components/action-button/action-button.component.html +0 -11
  295. package/src/lib/components/shared-components/action-button-group/components/action-button/action-button.component.scss +0 -0
  296. package/src/lib/components/shared-components/action-button-group/components/action-button/action-button.component.spec.ts +0 -21
  297. package/src/lib/components/shared-components/action-button-group/components/action-button/action-button.component.ts +0 -71
  298. package/src/lib/components/shared-components/dynamic-component/dynamic-component-factory.service.ts +0 -142
  299. package/src/lib/components/shared-components/dynamic-component/dynamic-component.component.ts +0 -56
  300. package/src/lib/components/shared-components/feature-list/directives/feature-list-column.directive.ts +0 -32
  301. package/src/lib/components/shared-components/feature-list/directives/feature-list-filter-field.directive.ts +0 -8
  302. package/src/lib/components/shared-components/feature-list/feature-list-filter.pipe.ts +0 -21
  303. package/src/lib/components/shared-components/feature-list/feature-list-page.component.ts +0 -31
  304. package/src/lib/components/shared-components/feature-list/feature-list-page.model.ts +0 -42
  305. package/src/lib/components/shared-components/feature-list/feature-list.component.html +0 -59
  306. package/src/lib/components/shared-components/feature-list/feature-list.component.scss +0 -10
  307. package/src/lib/components/shared-components/feature-list/feature-list.component.ts +0 -342
  308. package/src/lib/components/shared-components/filter/directives/filter-field.directive.ts +0 -35
  309. package/src/lib/components/shared-components/filter/filter.component.html +0 -68
  310. package/src/lib/components/shared-components/filter/filter.component.scss +0 -0
  311. package/src/lib/components/shared-components/filter/filter.component.spec.ts +0 -21
  312. package/src/lib/components/shared-components/filter/filter.component.stories.ts +0 -23
  313. package/src/lib/components/shared-components/filter/filter.component.ts +0 -284
  314. package/src/lib/components/shared-components/filter/filter.model.ts +0 -18
  315. package/src/lib/components/shared-components/generic-field/generic-field.component.html +0 -97
  316. package/src/lib/components/shared-components/generic-field/generic-field.component.spec.ts +0 -21
  317. package/src/lib/components/shared-components/generic-field/generic-field.component.ts +0 -94
  318. package/src/lib/components/shared-components/generic-form/generic-form.component.html +0 -46
  319. package/src/lib/components/shared-components/generic-form/generic-form.component.spec.ts +0 -21
  320. package/src/lib/components/shared-components/generic-form/generic-form.component.ts +0 -57
  321. package/src/lib/components/shared-components/generic-form/generic-form.model.spec.ts +0 -82
  322. package/src/lib/components/shared-components/generic-form/generic-form.model.ts +0 -68
  323. package/src/lib/components/side-menu/side-menu.component.html +0 -52
  324. package/src/lib/components/side-menu/side-menu.component.scss +0 -0
  325. package/src/lib/components/side-menu/side-menu.component.spec.ts +0 -21
  326. package/src/lib/components/side-menu/side-menu.component.ts +0 -98
  327. package/src/lib/components/side-menu/side-menu.module.ts +0 -66
  328. package/src/lib/components/slider/slider.component.html +0 -19
  329. package/src/lib/components/slider/slider.component.spec.ts +0 -21
  330. package/src/lib/components/slider/slider.component.ts +0 -58
  331. package/src/lib/components/snackbar/services/snackbar.service.ts +0 -45
  332. package/src/lib/components/snackbar/snackbar.component.html +0 -3
  333. package/src/lib/components/snackbar/snackbar.component.scss +0 -0
  334. package/src/lib/components/snackbar/snackbar.component.spec.ts +0 -21
  335. package/src/lib/components/snackbar/snackbar.component.stories.ts +0 -70
  336. package/src/lib/components/snackbar/snackbar.component.ts +0 -26
  337. package/src/lib/components/stepper/stepper.component.html +0 -43
  338. package/src/lib/components/stepper/stepper.component.spec.ts +0 -21
  339. package/src/lib/components/stepper/stepper.component.ts +0 -40
  340. package/src/lib/components/switch/switch.component.html +0 -18
  341. package/src/lib/components/switch/switch.component.scss +0 -0
  342. package/src/lib/components/switch/switch.component.spec.ts +0 -21
  343. package/src/lib/components/switch/switch.component.stories.ts +0 -65
  344. package/src/lib/components/switch/switch.component.ts +0 -54
  345. package/src/lib/components/tab-view/tab-menu.pipe.ts +0 -23
  346. package/src/lib/components/tab-view/tab-view-item.component.ts +0 -22
  347. package/src/lib/components/tab-view/tab-view.component.html +0 -23
  348. package/src/lib/components/tab-view/tab-view.component.ts +0 -55
  349. package/src/lib/components/tab-view/tab-view.module.ts +0 -19
  350. package/src/lib/components/table/table-filter.pipe.ts +0 -59
  351. package/src/lib/components/table/table.component.html +0 -123
  352. package/src/lib/components/table/table.component.scss +0 -11
  353. package/src/lib/components/table/table.component.spec.ts +0 -21
  354. package/src/lib/components/table/table.component.stories.ts +0 -55
  355. package/src/lib/components/table/table.component.ts +0 -289
  356. package/src/lib/components/table/table.models.ts +0 -26
  357. package/src/lib/components/textarea/textarea.component.html +0 -40
  358. package/src/lib/components/textarea/textarea.component.scss +0 -5
  359. package/src/lib/components/textarea/textarea.component.spec.ts +0 -21
  360. package/src/lib/components/textarea/textarea.component.stories.ts +0 -98
  361. package/src/lib/components/textarea/textarea.component.ts +0 -64
  362. package/src/lib/components/textfield/textfield.component.html +0 -83
  363. package/src/lib/components/textfield/textfield.component.scss +0 -23
  364. package/src/lib/components/textfield/textfield.component.spec.ts +0 -21
  365. package/src/lib/components/textfield/textfield.component.stories.ts +0 -85
  366. package/src/lib/components/textfield/textfield.component.ts +0 -69
  367. package/src/lib/components/tristatecheckbox/tristatecheckbox.component.html +0 -23
  368. package/src/lib/components/tristatecheckbox/tristatecheckbox.component.scss +0 -0
  369. package/src/lib/components/tristatecheckbox/tristatecheckbox.component.spec.ts +0 -21
  370. package/src/lib/components/tristatecheckbox/tristatecheckbox.component.stories.ts +0 -22
  371. package/src/lib/components/tristatecheckbox/tristatecheckbox.component.ts +0 -50
  372. package/src/lib/icons.ts +0 -36
  373. package/src/lib/interceptors/http-error-message.interceptor.ts +0 -35
  374. package/src/lib/pages/not-found-page/not-found-page.component.html +0 -26
  375. package/src/lib/pages/not-found-page/not-found-page.component.scss +0 -0
  376. package/src/lib/pages/not-found-page/not-found-page.component.spec.ts +0 -21
  377. package/src/lib/pages/not-found-page/not-found-page.component.ts +0 -17
  378. package/src/tab-view.ts +0 -1
  379. package/src/test-setup.ts +0 -8
  380. package/tsconfig.json +0 -29
  381. package/tsconfig.lib.json +0 -18
  382. package/tsconfig.lib.prod.json +0 -9
  383. package/tsconfig.spec.json +0 -16
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verisoft-ui-primeng.mjs","sources":["../../../../../src/libs/ui-primeng/src/lib/icons.ts","../../../../../src/libs/ui-primeng/src/lib/components/form-field/form-field.component.ts","../../../../../src/libs/ui-primeng/src/lib/components/form-field/form-field.component.html","../../../../../src/libs/ui-primeng/src/lib/components/input-group/input-group.component.ts","../../../../../src/libs/ui-primeng/src/lib/components/input-group/input-group.component.html","../../../../../src/libs/ui-primeng/src/lib/components/errors/error.component.ts","../../../../../src/libs/ui-primeng/src/lib/components/errors/error.component.html","../../../../../src/libs/ui-primeng/src/lib/components/textfield/textfield.component.ts","../../../../../src/libs/ui-primeng/src/lib/components/textfield/textfield.component.html","../../../../../src/libs/ui-primeng/src/lib/components/breadcrumb/breadcrumb.pipe.ts","../../../../../src/libs/ui-primeng/src/lib/components/breadcrumb/breadcrumb.component.ts","../../../../../src/libs/ui-primeng/src/lib/components/breadcrumb/breadcrumb.component.html","../../../../../src/libs/ui-primeng/src/lib/components/checkbox/checkbox.component.ts","../../../../../src/libs/ui-primeng/src/lib/components/checkbox/checkbox.component.html","../../../../../src/libs/ui-primeng/src/lib/components/tristatecheckbox/tristatecheckbox.component.ts","../../../../../src/libs/ui-primeng/src/lib/components/tristatecheckbox/tristatecheckbox.component.html","../../../../../src/libs/ui-primeng/src/lib/components/calendar/calendar.component.ts","../../../../../src/libs/ui-primeng/src/lib/components/calendar/calendar.component.html","../../../../../src/libs/ui-primeng/src/lib/components/password/password.component.ts","../../../../../src/libs/ui-primeng/src/lib/components/password/password.component.html","../../../../../src/libs/ui-primeng/src/lib/components/button/button.component.ts","../../../../../src/libs/ui-primeng/src/lib/components/button/button.component.html","../../../../../src/libs/ui-primeng/src/lib/components/section/section.component.ts","../../../../../src/libs/ui-primeng/src/lib/components/section/section.component.html","../../../../../src/libs/ui-primeng/src/lib/components/radiobutton/radiobutton.component.ts","../../../../../src/libs/ui-primeng/src/lib/components/radiobutton/radiobutton.component.html","../../../../../src/libs/ui-primeng/src/lib/components/number-input/number-input.component.ts","../../../../../src/libs/ui-primeng/src/lib/components/number-input/number-input.component.html","../../../../../src/libs/ui-primeng/src/lib/components/header/services/header-provider.service.ts","../../../../../src/libs/ui-primeng/src/lib/components/header/header.component.ts","../../../../../src/libs/ui-primeng/src/lib/components/header/header.component.html","../../../../../src/libs/ui-primeng/src/lib/components/textarea/textarea.component.ts","../../../../../src/libs/ui-primeng/src/lib/components/textarea/textarea.component.html","../../../../../src/libs/ui-primeng/src/lib/components/loader/loader.component.ts","../../../../../src/libs/ui-primeng/src/lib/components/loader/loader.component.html","../../../../../src/libs/ui-primeng/src/lib/components/snackbar/services/snackbar.service.ts","../../../../../src/libs/ui-primeng/src/lib/components/snackbar/snackbar.component.ts","../../../../../src/libs/ui-primeng/src/lib/components/snackbar/snackbar.component.html","../../../../../src/libs/ui-primeng/src/lib/components/side-menu/side-menu.component.ts","../../../../../src/libs/ui-primeng/src/lib/components/side-menu/side-menu.component.html","../../../../../src/libs/ui-primeng/src/lib/components/side-menu/side-menu.module.ts","../../../../../src/libs/ui-primeng/src/lib/components/table/table-filter.pipe.ts","../../../../../src/libs/ui-primeng/src/lib/components/table/table.models.ts","../../../../../src/libs/ui-primeng/src/lib/components/table/table.component.ts","../../../../../src/libs/ui-primeng/src/lib/components/table/table.component.html","../../../../../src/libs/ui-primeng/src/lib/components/shared-components/action-button-group/components/action-button/action-button.component.ts","../../../../../src/libs/ui-primeng/src/lib/components/shared-components/action-button-group/components/action-button/action-button.component.html","../../../../../src/libs/ui-primeng/src/lib/components/shared-components/action-button-group/action-button-group.component.ts","../../../../../src/libs/ui-primeng/src/lib/components/shared-components/action-button-group/action-button-group.component.html","../../../../../src/libs/ui-primeng/src/lib/components/dropdown/dropdown.component.ts","../../../../../src/libs/ui-primeng/src/lib/components/dropdown/dropdown.component.html","../../../../../src/libs/ui-primeng/src/lib/components/multiselect/multiselect.component.ts","../../../../../src/libs/ui-primeng/src/lib/components/multiselect/multiselect.component.html","../../../../../src/libs/ui-primeng/src/lib/components/shared-components/generic-field/generic-field.component.ts","../../../../../src/libs/ui-primeng/src/lib/components/shared-components/generic-field/generic-field.component.html","../../../../../src/libs/ui-primeng/src/lib/components/shared-components/generic-form/generic-form.model.ts","../../../../../src/libs/ui-primeng/src/lib/components/shared-components/generic-form/generic-form.component.ts","../../../../../src/libs/ui-primeng/src/lib/components/shared-components/generic-form/generic-form.component.html","../../../../../src/libs/ui-primeng/src/lib/components/shared-components/filter/directives/filter-field.directive.ts","../../../../../src/libs/ui-primeng/src/lib/components/shared-components/filter/filter.model.ts","../../../../../src/libs/ui-primeng/src/lib/components/shared-components/filter/filter.component.ts","../../../../../src/libs/ui-primeng/src/lib/components/shared-components/filter/filter.component.html","../../../../../src/libs/ui-primeng/src/lib/components/shared-components/feature-list/directives/feature-list-filter-field.directive.ts","../../../../../src/libs/ui-primeng/src/lib/components/shared-components/feature-list/feature-list-filter.pipe.ts","../../../../../src/libs/ui-primeng/src/lib/components/shared-components/feature-list/feature-list-page.component.ts","../../../../../src/libs/ui-primeng/src/lib/components/shared-components/feature-list/feature-list-page.model.ts","../../../../../src/libs/ui-primeng/src/lib/components/shared-components/feature-list/feature-list.component.ts","../../../../../src/libs/ui-primeng/src/lib/components/shared-components/feature-list/feature-list.component.html","../../../../../src/libs/ui-primeng/src/lib/components/shared-components/feature-list/directives/feature-list-column.directive.ts","../../../../../src/libs/ui-primeng/src/lib/components/shared-components/dynamic-component/dynamic-component-factory.service.ts","../../../../../src/libs/ui-primeng/src/lib/components/shared-components/dynamic-component/dynamic-component.component.ts","../../../../../src/libs/ui-primeng/src/lib/components/page-header/page-header.component.ts","../../../../../src/libs/ui-primeng/src/lib/components/page-header/page-header.component.html","../../../../../src/libs/ui-primeng/src/lib/components/stepper/stepper.component.ts","../../../../../src/libs/ui-primeng/src/lib/components/stepper/stepper.component.html","../../../../../src/libs/ui-primeng/src/lib/components/slider/slider.component.ts","../../../../../src/libs/ui-primeng/src/lib/components/slider/slider.component.html","../../../../../src/libs/ui-primeng/src/lib/components/confirm-dialog/confirm-dialog.component.ts","../../../../../src/libs/ui-primeng/src/lib/components/confirm-dialog/confirm-dialog.component.html","../../../../../src/libs/ui-primeng/src/lib/components/switch/switch.component.ts","../../../../../src/libs/ui-primeng/src/lib/components/switch/switch.component.html","../../../../../src/libs/ui-primeng/src/lib/interceptors/http-error-message.interceptor.ts","../../../../../src/libs/ui-primeng/src/lib/components/tab-view/tab-view-item.component.ts","../../../../../src/libs/ui-primeng/src/lib/components/tab-view/tab-menu.pipe.ts","../../../../../src/libs/ui-primeng/src/lib/components/tab-view/tab-view.component.ts","../../../../../src/libs/ui-primeng/src/lib/components/tab-view/tab-view.component.html","../../../../../src/libs/ui-primeng/src/lib/components/tab-view/tab-view.module.ts","../../../../../src/libs/ui-primeng/src/verisoft-ui-primeng.ts"],"sourcesContent":["import { CommonIcons } from '@verisoft/ui-core';\r\n\r\nexport const Icons: CommonIcons = {\r\n add: 'pi pi-plus',\r\n minus: 'pi pi-minus',\r\n delete: 'pi pi-trash',\r\n filter: 'pi pi-filter',\r\n download: 'pi pi-download',\r\n save: 'pi pi-save',\r\n print: 'pi pi-print',\r\n calendar: 'pi pi-calendar',\r\n edit: 'pi pi-pencil',\r\n settings: 'pi pi-cog',\r\n house: 'pi pi-home',\r\n chevronRight: 'pi pi-chevron-right',\r\n chevronLeft: 'pi pi-chevron-left',\r\n chevronDown: 'pi pi-chevron-down',\r\n chevronUp: 'pi pi-chevron-up',\r\n checkbox: 'pi pi-check',\r\n warning: 'pi pi-exclamation-triangle',\r\n search: 'pi pi-search',\r\n action: 'pi pi-bars',\r\n user: 'pi pi-user',\r\n logout: 'pi pi-user',\r\n crossCircle: 'pi pi-times-circle',\r\n infoCircle: 'pi pi-info-circle',\r\n cross: 'pi pi-times',\r\n arrowLeft: 'pi pi-arrow-left',\r\n arrowRight: 'pi pi-arrow-right',\r\n questionCircle: 'pi pi-question-circle',\r\n checkCircle: 'pi pi-check-circle',\r\n sitemap: 'pi pi-sitemap',\r\n check: 'pi pi-check',\r\n envelope: 'pi pi-envelope',\r\n loader: 'pi pi-loader',\r\n};\r\n","import { CommonModule } from '@angular/common';\nimport { Component, inject, Input, Optional, Self } from '@angular/core';\nimport { NgControl, ReactiveFormsModule } from '@angular/forms';\nimport { ERROR_PROVIDER_TOKEN } from '@verisoft/core';\nimport { BaseFormInputComponent, FormFieldCore, WarningPipe } from '@verisoft/ui-core';\nimport { MessageModule } from 'primeng/message';\nimport { TooltipModule } from 'primeng/tooltip';\nimport { Icons } from '../../icons';\n\n@Component({\n selector: 'v-form-field',\n standalone: true,\n imports: [\n CommonModule,\n WarningPipe,\n ReactiveFormsModule,\n MessageModule,\n TooltipModule,\n ],\n templateUrl: './form-field.component.html',\n styleUrl: './form-field.component.scss',\n})\nexport class FormFieldComponent\n extends BaseFormInputComponent\n implements FormFieldCore\n{\n @Input() display: 'flex' | 'block' = 'block';\n \n @Input() variant!: 'simple';\n\n protected readonly errorProvider = inject(ERROR_PROVIDER_TOKEN)\n \n icons = Icons;\n\n constructor(@Optional() @Self() ngControl: NgControl) {\n super(ngControl);\n }\n}\n","<div class=\"v-form-field mt-3\" [attr.data-testId]=\"testId\">\n <div [ngClass]=\"{ 'd-block d-md-flex': display === 'flex', 'd-lg-flex': display === 'block' }\">\n <div class=\"col-12 col-md-4 d-flex align-items-center\">\n <label\n class=\"v-formfield-label d-flex align-items-center\"\n [ngClass]=\"{\n 'pb-2': display === 'block',\n 'text-error': (errorProvider.mapError(ngControl?.errors ?? [])) && ngControl?.dirty, \n 'text-warning': (ngControl?.errors | warning) && ngControl?.dirty,\n 'text-default': !ngControl?.invalid && !ngControl?.dirty,\n 'text-secondary': !ngControl?.invalid && ngControl?.dirty\n }\"\n >{{ label }}<span *ngIf=\"label\">:</span>\n <span *ngIf=\"required\" class=\"text-error ps-1\">*</span>\n </label>\n <i *ngIf=\"tooltip\"\n [pTooltip]=\"tooltip\"\n class=\"ps-2 text-default v-tooltip {{ icons.infoCircle }}\"\n ></i>\n </div>\n <div \n class=\"col-sm-12 col-md-8 col-lg-8\"\n >\n <div \n class=\"v-form-field-content align-items-center w-100\"\n [ngClass]=\"{ 'd-flex': display === 'flex', 'd-block': display === 'block', 'input-warning': ngControl?.errors | warning }\"\n >\n <ng-content></ng-content>\n </div>\n </div>\n <div class=\"align-content-center\">\n <ng-container>\n </ng-container>\n </div>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n forwardRef,\n Input,\n Optional,\n Self,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n NgControl,\n ReactiveFormsModule,\n} from '@angular/forms';\nimport {\n BaseFormInputComponent,\n BaseInputControls,\n INPUT_GROUP_COMPONENT_TOKEN,\n InputGroupCore,\n InputGroupItem,\n} from '@verisoft/ui-core';\nimport { InputGroupModule } from 'primeng/inputgroup';\nimport { InputGroupAddonModule } from 'primeng/inputgroupaddon';\nimport { InputTextModule } from 'primeng/inputtext';\nimport { FormFieldComponent } from '../form-field';\n\n@Component({\n selector: 'v-input-group',\n standalone: true,\n imports: [\n CommonModule,\n InputGroupAddonModule,\n InputGroupModule,\n InputTextModule,\n ReactiveFormsModule,\n FormFieldComponent,\n ],\n templateUrl: './input-group.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: BaseInputControls,\n useExisting: forwardRef(() => InputGroupComponent),\n },\n {\n provide: INPUT_GROUP_COMPONENT_TOKEN,\n useExisting: InputGroupComponent,\n },\n ],\n})\nexport class InputGroupComponent\n extends BaseFormInputComponent\n implements ControlValueAccessor, InputGroupCore\n{\n constructor(@Optional() @Self() ngControl: NgControl) {\n super(ngControl);\n }\n\n @Input() items!: InputGroupItem[];\n}\n","<div class=\"v-input-group w-100\">\n <v-form-field\n [label]=\"label\"\n [required]=\"required\"\n [tooltip]=\"tooltip\" >\n <p-inputGroup>\n <ng-container *ngFor=\"let item of items\">\n <p-inputGroupAddon *ngIf=\"item.position === 'left'\">\n <ng-container *ngIf=\"item.icon\">\n <i [class]=\"item.icon\"></i>\n </ng-container>\n <ng-container *ngIf=\"item.text\">\n {{ item.text }}\n </ng-container>\n </p-inputGroupAddon>\n </ng-container>\n <input pInputText [formControl]=\"formControl\" class=\"w-100\" />\n <ng-container *ngFor=\"let item of items\">\n <p-inputGroupAddon *ngIf=\"item.position === 'right'\">\n <ng-container *ngIf=\"item.icon\">\n <i [class]=\"item.icon\"></i>\n </ng-container>\n <ng-container *ngIf=\"item.text\">\n {{ item.text }}\n </ng-container>\n </p-inputGroupAddon>\n </ng-container>\n </p-inputGroup>\n </v-form-field>\n</div>\n","import { CommonModule } from \"@angular/common\";\nimport { Component, inject, Input, } from \"@angular/core\";\nimport { NgControl, ValidationErrors } from \"@angular/forms\";\nimport { ERROR_PROVIDER_TOKEN } from \"@verisoft/core\";\nimport { SlotPosition, SlotPositionType } from \"@verisoft/ui-core\";\nimport { MessageModule } from \"primeng/message\";\nimport { Observable } from \"rxjs\";\nimport { Icons } from \"../../icons\";\n\n@Component({\n selector: \"v-validation-message\",\n templateUrl: \"./error.component.html\",\n styleUrl: \"./error.component.scss\",\n standalone: true,\n imports: [CommonModule, MessageModule],\n})\nexport class ErrorComponent {\n @Input({ required: true }) ngControl?: NgControl;\n \n @Input() errorSlot: SlotPositionType = SlotPosition.bottom\n \n @Input() messageSlot: SlotPositionType = SlotPosition.bottom\n \n @Input() variant = 'simple';\n \n @Input() severity = 'error';\n \n readonly errorService = inject(ERROR_PROVIDER_TOKEN);\n\n icons = Icons\n\n getErrorMessage(errors: ValidationErrors): Observable<string> {\n return this.errorService.mapError(errors);\n }\n}","\n<p-message\n *ngIf=\"ngControl && ngControl.errors\" \n [severity]=\"severity\"\n text=\"{{ getErrorMessage(ngControl.errors) | async }}\">\n</p-message>\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n forwardRef,\n Input,\n Optional,\n Self,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n NgControl,\n ReactiveFormsModule,\n} from '@angular/forms';\nimport {\n BaseFormInputComponent,\n BaseInputControls,\n FieldSize,\n FieldSizeType,\n FieldType,\n FieldTypeType,\n TEXTFIELD_COMPONENT_TOKEN,\n TextfieldCore,\n} from '@verisoft/ui-core';\nimport { FloatLabelModule } from 'primeng/floatlabel';\nimport { InputTextModule } from 'primeng/inputtext';\nimport { Icons } from '../../icons';\nimport { ErrorComponent } from '../errors';\nimport { FormFieldComponent } from '../form-field/form-field.component';\n\n@Component({\n selector: 'v-textfield',\n standalone: true,\n imports: [\n CommonModule,\n InputTextModule,\n ReactiveFormsModule,\n FormFieldComponent,\n FloatLabelModule,\n ErrorComponent\n ],\n templateUrl: './textfield.component.html',\n styleUrl: './textfield.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: BaseInputControls,\n useExisting: forwardRef(() => TextfieldComponent),\n },\n {\n provide: TEXTFIELD_COMPONENT_TOKEN,\n useExisting: TextfieldComponent,\n },\n ],\n})\nexport class TextfieldComponent\n extends BaseFormInputComponent\n implements ControlValueAccessor, TextfieldCore\n{\n icons = Icons;\n \n constructor(@Optional() @Self() ngControl: NgControl) {\n super(ngControl);\n }\n\n @Input() size: FieldSizeType | undefined = FieldSize.medium;\n @Input() type: FieldTypeType = FieldType.text;\n @Input() floatLabel = false;\n}\n","<div class=\"v-text-field\">\n <ng-container *ngIf=\"!floatLabel && label; else floatLabelInput\">\n <v-form-field\n class=\"w-100\"\n [label]=\"label\"\n [tooltip]=\"tooltip\"\n [required]=\"isRequired()\"\n [testId]=\"testId\"\n [display]=\"formDisplay\"\n >\n <span\n class=\"w-100 flex-grow-1\"\n [ngClass]=\"{ 'p-input-icon-right': type === 'search' }\"\n >\n <input\n pInputText\n [id]=\"inputId\"\n [formControl]=\"formControl\"\n [type]=\"type === 'search' ? 'text' : type\"\n class=\"w-100 flex-grow-1 v-text-field\"\n [required]=\"isRequired()\"\n [readOnly]=\"readonly\"\n [title]=\"label\"\n [placeholder]=\"placeholder ? placeholder : ''\"\n [ngClass]=\"{\n 'p-inputtext-sm': size === 'small',\n 'p-inputtext-lg': size === 'large'\n }\"\n />\n <ng-container *ngIf=\"type === 'search'\">\n <i\n class=\"pi ms-2 v-text-field__icon\"\n [ngStyle]=\"{\n cursor: ngControl && ngControl.value ? 'pointer' : 'default'\n }\"\n [ngClass]=\"{\n 'pi-search': ngControl && !ngControl.value,\n 'pi-times': ngControl && ngControl.value,\n }\"\n (click)=\"ngControl && ngControl.value ? ngControl.reset() : null\"\n ></i>\n </ng-container>\n </span>\n </v-form-field>\n <v-validation-message [ngControl]=\"ngControl\"></v-validation-message>\n </ng-container>\n <ng-template #floatLabelInput>\n <span\n class=\"w-100 flex-grow-1\"\n [ngClass]=\"{ 'p-input-icon-right': type === 'search' }\"\n >\n <p-floatLabel>\n <input\n pInputText\n type=\"text\"\n [id]=\"inputId\"\n class=\"w-100 flex-grow-1\"\n [required]=\"isRequired()\"\n [formControl]=\"formControl\"\n [placeholder]=\"placeholder ? placeholder : ''\"\n [ngClass]=\"{\n 'p-inputtext-sm': size === 'small',\n 'p-inputtext-lg': size === 'large'\n }\"\n />\n <label [for]=\"inputId\" class=\"v-text-field__label\">{{ label }}</label>\n </p-floatLabel>\n <ng-container *ngIf=\"type === 'search'\">\n <i\n class=\"pi ms-2 v-text-field__icon\"\n [ngStyle]=\"{\n cursor: ngControl && ngControl.value ? 'pointer' : 'default'\n }\"\n [ngClass]=\"{\n 'pi-search': ngControl && !ngControl.value,\n 'pi-times': ngControl && ngControl.value,\n }\"\n (click)=\"ngControl && ngControl.value ? ngControl.reset() : null\"\n ></i>\n </ng-container>\n </span>\n </ng-template>\n</div>\n","import { Pipe, PipeTransform } from \"@angular/core\";\nimport { MenuItem as VerisoftMenuItem } from \"@verisoft/ui-core\";\nimport { MenuItem as PrimeMenuItem } from \"primeng/api\";\n\n@Pipe({\n name: 'menuItem',\n standalone: true,\n})\nexport class ConvertMenuItemPipe implements PipeTransform {\n transform(items: VerisoftMenuItem[]): PrimeMenuItem[] {\n return items.map(i => i as PrimeMenuItem);\n }\n}","import { CommonModule } from '@angular/common';\nimport {\n Component,\n} from '@angular/core';\nimport {\n BREADCRUMB_COMPONENT_TOKEN,\n BreadcrumbCoreComponent,\n} from '@verisoft/ui-core';\nimport { BreadcrumbModule } from 'primeng/breadcrumb';\nimport { ConvertMenuItemPipe } from './breadcrumb.pipe';\n\n@Component({\n selector: 'v-breadcrumb',\n standalone: true,\n imports: [\n CommonModule,\n BreadcrumbModule,\n ConvertMenuItemPipe,\n ],\n templateUrl: './breadcrumb.component.html',\n styleUrl: './breadcrumb.component.scss',\n providers: [\n { \n provide: BREADCRUMB_COMPONENT_TOKEN,\n useExisting: BreadcrumbComponent\n },\n ],\n})\nexport class BreadcrumbComponent extends BreadcrumbCoreComponent { }\n","<div class=\"v-breadcrumb card flex justify-content-center\">\n <ng-container *ngIf=\"useHomeRoute; else default\">\n <p-breadcrumb\n class=\"max-w-full\"\n [model]=\"items | menuItem\"\n [home]=\"home\"\n ></p-breadcrumb>\n </ng-container>\n <ng-template #default>\n <p-breadcrumb class=\"max-w-full\" [model]=\"items | menuItem\"></p-breadcrumb>\n </ng-template>\n</div>\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n Optional,\n Self,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n NgControl,\n ReactiveFormsModule,\n} from '@angular/forms';\nimport { BaseFormInputComponent, BaseInputControls, CHECKBOX_COMPONENT_TOKEN, CheckboxCore } from '@verisoft/ui-core';\nimport { CheckboxModule } from 'primeng/checkbox';\nimport { Icons } from '../../icons';\nimport { ErrorComponent } from '../errors';\nimport { FormFieldComponent } from '../form-field';\n@Component({\n selector: 'v-checkbox',\n standalone: true,\n imports: [CommonModule, CheckboxModule, ReactiveFormsModule, FormFieldComponent, ErrorComponent],\n templateUrl: './checkbox.component.html',\n styleUrl: './checkbox.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: BaseInputControls,\n useExisting: CheckboxComponent,\n },\n {\n provide: CHECKBOX_COMPONENT_TOKEN,\n useExisting: CheckboxComponent,\n },\n ],\n})\nexport class CheckboxComponent\n extends BaseFormInputComponent\n implements ControlValueAccessor, CheckboxCore\n{\n\n icon = Icons\n constructor(@Optional() @Self() ngControl: NgControl) {\n super(ngControl);\n }\n}\n","<div class=\"v-checkbox d-flex align-items-center mt-2\">\n <v-form-field\n class=\"w-100\"\n [label]=\"label\"\n [tooltip]=\"tooltip\"\n [required]=\"isRequired()\"\n [testId]=\"testId\"\n [display]=\"formDisplay\"\n >\n <p-checkbox\n [ngClass]=\"{ 'checkbox-error': ngControl?.invalid && ngControl?.dirty && ngControl?.value === false }\"\n [formControl]=\"formControl\"\n [required]=\"required\"\n [binary]=\"true\"\n [readonly]=\"readonly\"\n />\n <v-validation-message [ngControl]=\"ngControl\"></v-validation-message>\n </v-form-field>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, Optional, Self } from '@angular/core';\nimport {\n ControlValueAccessor,\n NgControl,\n ReactiveFormsModule,\n} from '@angular/forms';\nimport {\n BaseFormInputComponent,\n BaseInputControls,\n TRISTATE_CHECKBOX_COMPONENT_TOKEN,\n TristateCheckboxCore,\n} from '@verisoft/ui-core';\nimport { TriStateCheckboxModule } from 'primeng/tristatecheckbox';\nimport { Icons } from '../../icons';\nimport { ErrorComponent } from '../errors';\nimport { FormFieldComponent } from '../form-field';\n\n@Component({\n selector: 'v-tristatecheckbox',\n standalone: true,\n imports: [\n CommonModule,\n TriStateCheckboxModule,\n ReactiveFormsModule,\n FormFieldComponent,\n ErrorComponent\n ],\n templateUrl: './tristatecheckbox.component.html',\n styleUrl: './tristatecheckbox.component.scss',\n providers: [\n {\n provide: BaseInputControls,\n useExisting: TristatecheckboxComponent,\n },\n {\n provide: TRISTATE_CHECKBOX_COMPONENT_TOKEN,\n useExisting: TristatecheckboxComponent,\n },\n ],\n})\nexport class TristatecheckboxComponent\n extends BaseFormInputComponent\n implements ControlValueAccessor, TristateCheckboxCore\n{\n icons = Icons;\n constructor(@Optional() @Self() ngControl: NgControl) {\n super(ngControl);\n }\n}\n","<div class=\"v-tristatecheckbox d-flex align-items-center mt-2\">\n <v-form-field\n class=\"w-100\"\n [label]=\"label\"\n [tooltip]=\"tooltip\"\n [required]=\"isRequired()\"\n [testId]=\"testId\"\n [display]=\"formDisplay\"\n >\n <p-triStateCheckbox\n [ngClass]=\"{\n 'tristate-error':\n ngControl?.invalid && ngControl?.dirty && ngControl?.value === false\n }\"\n [formControl]=\"formControl\"\n [required]=\"required\"\n [readonly]=\"readonly\"\n [inputId]=\"testId\"\n [checkboxFalseIcon]=\"icons.minus\"\n />\n <v-validation-message [ngControl]=\"ngControl\"></v-validation-message>\n </v-form-field>\n</div>\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n forwardRef,\n Input,\n Optional,\n Self,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n NgControl,\n ReactiveFormsModule,\n} from '@angular/forms';\nimport {\n BaseFormInputComponent,\n BaseInputControls,\n CALENDAR_COMPONENT_TOKEN,\n CalendarCore,\n} from '@verisoft/ui-core';\nimport { CalendarModule } from 'primeng/calendar';\nimport { FloatLabelModule } from 'primeng/floatlabel';\nimport { Icons } from '../../icons';\nimport { ErrorComponent } from '../errors';\nimport { FormFieldComponent } from '../form-field';\n\n@Component({\n selector: 'v-calendar',\n standalone: true,\n imports: [\n CommonModule,\n ReactiveFormsModule,\n CalendarModule,\n FormFieldComponent,\n FloatLabelModule,\n ErrorComponent,\n ],\n templateUrl: './calendar.component.html',\n styleUrl: './calendar.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: BaseInputControls,\n useExisting: forwardRef(() => CalendarComponent),\n },\n {\n provide: CALENDAR_COMPONENT_TOKEN,\n useExisting: CalendarComponent,\n },\n ],\n})\nexport class CalendarComponent\n extends BaseFormInputComponent\n implements ControlValueAccessor, CalendarCore\n{\n constructor(@Optional() @Self() ngControl: NgControl) {\n super(ngControl);\n }\n\n @Input() maxDate!: Date;\n @Input() icon = Icons.calendar;\n @Input() minDate!: Date;\n @Input() header!: string;\n @Input() footer!: string;\n @Input() floatLabel: string | undefined;\n @Input() selectionMode: 'single' | 'multiple' | 'range' | undefined =\n 'single';\n\n icons = Icons;\n\n override formDisplay: \"flex\" | \"block\" = \"block\";\n}\n","<div class=\"v-calendar w-100\">\n <ng-container *ngIf=\"label && !floatLabel\">\n <v-form-field\n class=\"w-100\"\n [label]=\"label\"\n [tooltip]=\"tooltip\"\n [required]=\"isRequired()\"\n [display]=\"formDisplay\"\n >\n <p-calendar\n appendTo=\"body\"\n [style]=\"{'width':'100%'}\"\n [inputStyle]=\"{'width':'100%'}\" \n [formControl]=\"formControl\"\n [showClear]=\"clearable\"\n [dataType]=\"'string'\"\n [selectionMode]=\"selectionMode\"\n [icon]=\"icon\"\n [maxDate]=\"maxDate\"\n [id]=\"inputId\"\n [showButtonBar]=\"true\"\n [placeholder]=\"placeholder\"\n [required]=\"isRequired()\"\n [minDate]=\"minDate\"\n [showIcon]=\"formControl && !formControl.value\"\n iconDisplay=\"input\"\n />\n </v-form-field>\n <v-validation-message [ngControl]=\"ngControl\"></v-validation-message>\n </ng-container>\n <ng-container *ngIf=\"floatLabel\">\n <p-floatLabel>\n <p-calendar\n appendTo=\"body\"\n [style]=\"{'width':'100%'}\"\n [inputStyle]=\"{'width':'100%'}\" \n [formControl]=\"formControl\"\n [showClear]=\"clearable\"\n [maxDate]=\"maxDate\"\n [id]=\"inputId\"\n [icon]=\"icon\"\n [selectionMode]=\"selectionMode\"\n [showButtonBar]=\"true\"\n [placeholder]=\"placeholder\"\n [required]=\"isRequired()\"\n [minDate]=\"minDate\"\n iconDisplay=\"input\"\n />\n <label [for]=\"inputId\" [innerHTML]=\"floatLabel\"></label>\n </p-floatLabel>\n </ng-container>\n</div>\n\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n Input,\n Optional,\n Self,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n NgControl,\n ReactiveFormsModule,\n} from '@angular/forms';\nimport { BaseFormInputComponent, BaseInputControls, PASSWORD_COMPONENT_TOKEN, PasswordCore } from '@verisoft/ui-core';\nimport { FloatLabelModule } from 'primeng/floatlabel';\nimport { PasswordModule } from 'primeng/password';\nimport { ErrorComponent } from '../errors';\nimport { FormFieldComponent } from '../form-field';\n\n@Component({\n selector: 'v-password',\n standalone: true,\n imports: [\n CommonModule,\n ReactiveFormsModule,\n PasswordModule,\n FloatLabelModule,\n FormFieldComponent,\n ErrorComponent\n ],\n templateUrl: './password.component.html',\n styleUrl: './password.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: BaseInputControls,\n useExisting: PasswordComponent,\n },\n {\n provide: PASSWORD_COMPONENT_TOKEN,\n useExisting: PasswordComponent,\n },\n ],\n})\nexport class PasswordComponent \n extends BaseFormInputComponent\n implements ControlValueAccessor, PasswordCore\n{\n @Input() toggleMask = true;\n \n @Input() feedback = false;\n\n override formDisplay: \"flex\" | \"block\" = \"block\";\n\n constructor(@Optional() @Self() ngControl: NgControl) {\n super(ngControl);\n }\n}\n","<div class=\"v-password d-flex align-items-center\">\n <v-form-field\n class=\"w-100\"\n [label]=\"label\"\n [tooltip]=\"tooltip\"\n [required]=\"isRequired()\"\n [testId]=\"testId\"\n [display]=\"formDisplay\"\n >\n <p-password\n [style]=\"{'width':'100%'}\"\n [inputStyle]=\"{'width':'100%'}\" \n [formControl]=\"formControl\"\n [placeholder]=\"placeholder\"\n [showClear]=\"clearable\"\n [feedback]=\"feedback\"\n [required]=\"isRequired()\"\n [label]=\"label\"\n [id]=\"inputId\"\n [toggleMask]=\"toggleMask\"\n />\n <v-validation-message [ngControl]=\"ngControl\"></v-validation-message>\n </v-form-field>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { Params, RouterModule } from '@angular/router';\nimport {\n BUTTON_COMPONENT_TOKEN,\n ButtonCore,\n ControlSeverityType,\n FieldSizeType,\n IconPosition,\n IconPositionType,\n} from '@verisoft/ui-core';\nimport { ButtonModule } from 'primeng/button';\nimport { RippleModule } from 'primeng/ripple';\n\n@Component({\n selector: 'v-button',\n standalone: true,\n imports: [CommonModule, ButtonModule, RippleModule, RouterModule],\n templateUrl: './button.component.html',\n styleUrl: './button.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: BUTTON_COMPONENT_TOKEN,\n useExisting: ButtonComponent,\n },\n ],\n})\nexport class ButtonComponent implements ButtonCore {\n @Input() label?: string;\n @Input() icon?: string;\n @Input() badge?: string;\n @Input() iconPos: IconPositionType = IconPosition.right;\n @Input() disabled!: boolean;\n @Input() rounded!: boolean;\n @Input() outlined!: boolean;\n @Input() raised!: boolean;\n @Input() severity?: ControlSeverityType;\n @Input() routerLink!: any[];\n @Input() size: FieldSizeType | undefined;\n @Input() queryParams?: Params;\n\n fireClick(event: Event): void {\n if (this.disabled) {\n event.stopPropagation();\n event.stopImmediatePropagation();\n }\n }\n}\n","<div class=\"v-button d-inline-block\" \n(click)=\"fireClick($event)\">\n <a\n [routerLink]=\"routerLink ? routerLink : undefined\"\n [queryParams]=\"queryParams ? queryParams : undefined\"\n >\n <p-button\n [disabled]=\"disabled\"\n [icon]=\"icon\"\n [badge]=\"badge\"\n [outlined]=\"outlined\"\n [rounded]=\"rounded\"\n [raised]=\"raised\"\n [label]=\"label\"\n [size]=\"$any(size)\"\n [severity]=\"severity\"\n [iconPos]=\"iconPos\"\n />\n </a>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { SECTION_COMPONENT_TOKEN, SectionCore } from '@verisoft/ui-core';\nimport { Icons } from '../../icons';\nimport { ButtonComponent } from '../button';\n\n@Component({\n selector: 'v-section',\n standalone: true,\n imports: [CommonModule, ButtonComponent],\n templateUrl: './section.component.html',\n styleUrl: './section.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n { provide: SECTION_COMPONENT_TOKEN, useExisting: SectionComponent },\n ],\n})\nexport class SectionComponent \n implements SectionCore\n{\n @Input() title!: string;\n @Input() showContent = true;\n @Input() backgroundColor!: string;\n\n icons = Icons;\n protected icon = Icons.chevronDown;\n\n protected toggle(): void {\n this.showContent = !this.showContent;\n this.icon = this.showContent ? Icons.chevronDown : Icons.chevronUp;\n }\n}\n","<div class=\"v-section\">\n <div\n class=\"v-section-header text-align-center d-flex\"\n [ngStyle]=\"{ 'background-color': backgroundColor }\"\n >\n <p\n class=\"text-primary align-items-center text-nowrap d-none d-md-block ps-3 m-0 w-100\"\n >\n {{ title }}\n </p>\n <div class=\"d-flex\">\n <ng-content select=\"[actions]\"></ng-content>\n <v-button\n size=\"small\"\n [icon]=\"icon\"\n (click)=\"toggle()\"\n />\n </div>\n </div>\n <div class=\"v-section-content\" *ngIf=\"showContent\">\n <ng-content></ng-content>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n Input,\n Optional,\n Self,\n ViewEncapsulation,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n NgControl,\n ReactiveFormsModule,\n} from '@angular/forms';\nimport {\n BaseFormInputComponent,\n BaseInputControls,\n RADIOBUTTON_COMPONENT_TOKEN,\n RadiobuttonCore,\n RadioButtonItem,\n} from '@verisoft/ui-core';\nimport { RadioButtonModule } from 'primeng/radiobutton';\nimport { ErrorComponent } from '../errors';\nimport { FormFieldComponent } from '../form-field/form-field.component';\n\n@Component({\n selector: 'v-radiobutton',\n standalone: true,\n imports: [\n CommonModule,\n FormFieldComponent,\n RadioButtonModule,\n ReactiveFormsModule,\n ErrorComponent\n ],\n templateUrl: './radiobutton.component.html',\n styleUrl: './radiobutton.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: BaseInputControls,\n useExisting: RadioButtonComponent,\n },\n {\n provide: RADIOBUTTON_COMPONENT_TOKEN,\n useExisting: RadioButtonComponent,\n },\n ],\n})\nexport class RadioButtonComponent<T>\n extends BaseFormInputComponent\n implements ControlValueAccessor, RadiobuttonCore<T>\n{\n constructor(@Optional() @Self() ngControl: NgControl) {\n super(ngControl);\n }\n\n @Input() radioGroupName = Math.random().toString();\n\n @Input() items: RadioButtonItem<T>[] = [];\n}\n","<div class=\"v-radiobutton\">\n <v-form-field\n [label]=\"label\"\n [required]=\"required\"\n [tooltip]=\"tooltip\"\n [testId]=\"testId\"\n >\n <div class=\"d-flex align-items-center gap-3\">\n <div *ngFor=\"let item of items\">\n <p-radioButton\n [inputId]=\"item.id\"\n [ngClass]=\"{\n 'radio-error': ngControl?.invalid && ngControl?.dirty,\n }\"\n [name]=\"radioGroupName\"\n [value]=\"item.value\"\n [formControl]=\"formControl\"\n />\n <label [for]=\"item.id\" class=\"ps-2\">\n <span\n [ngClass]=\"{\n 'text-error': ngControl?.invalid && ngControl?.dirty,\n 'text-primary': ngControl?.value === item.value\n }\"\n >{{ item.value }}</span\n >\n </label>\n </div>\n <v-validation-message [ngControl]=\"ngControl\"></v-validation-message>\n </div>\n </v-form-field>\n</div>\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n forwardRef,\n Input,\n Optional,\n Self,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n NgControl,\n ReactiveFormsModule,\n} from '@angular/forms';\nimport { BaseFormInputComponent, BaseInputControls, NUMBER_INPUT_COMPONENT_TOKEN, NumberInputCore } from '@verisoft/ui-core';\nimport { InputNumberModule } from 'primeng/inputnumber';\nimport { ErrorComponent } from '../errors';\nimport { FormFieldComponent } from '../form-field';\n\n@Component({\n selector: 'v-number-input',\n standalone: true,\n imports: [\n CommonModule,\n InputNumberModule,\n ReactiveFormsModule,\n FormFieldComponent,\n ErrorComponent,\n ],\n templateUrl: './number-input.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: BaseInputControls,\n useExisting: forwardRef(() => NumberInputComponent),\n },\n {\n provide: NUMBER_INPUT_COMPONENT_TOKEN,\n useExisting: NumberInputComponent,\n },\n ],\n})\nexport class NumberInputComponent\n extends BaseFormInputComponent\n implements ControlValueAccessor, NumberInputCore\n{\n constructor(@Optional() @Self() ngControl: NgControl) {\n super(ngControl);\n }\n\n @Input() mode!: string;\n @Input() currency!: string;\n @Input() min!: number;\n @Input() max!: number;\n @Input() step = 1;\n @Input() errorMessage?: string = 'test';\n}\n","<div class=\"v-number-input\">\n <v-form-field\n class=\"w-100\"\n [label]=\"label\"\n [tooltip]=\"tooltip\"\n [required]=\"isRequired()\"\n [testId]=\"testId\"\n >\n <p-inputNumber\n class=\"w-100\"\n [formControl]=\"formControl\"\n [showButtons]=\"true\"\n [inputId]=\"inputId\"\n [mode]=\"mode\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n [currency]=\"currency\"\n />\n <v-validation-message [ngControl]=\"ngControl\"></v-validation-message>\n </v-form-field>\n</div>\n","import { Inject, Injectable } from '@angular/core';\nimport { SETTINGS_MENU } from '@verisoft/ui-core';\nimport { MenuItem } from '@verisoft/ui-core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class HeaderProviderService {\n constructor(@Inject(SETTINGS_MENU) private settingsMenu: MenuItem[]) {}\n menu: MenuItem[] = [];\n\n init(): void {\n this.menu = this.settingsMenu;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Input,\n OnInit,\n} from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport {\n HEADER_COMPONENT_TOKEN,\n HeaderCore,\n ScreenSizeService,\n UnsubscribeComponent,\n} from '@verisoft/ui-core';\nimport { AvatarModule } from 'primeng/avatar';\nimport { Icons } from '../../icons';\nimport { ButtonComponent } from '../button';\nimport { HeaderProviderService } from './services/header-provider.service';\n\n@Component({\n selector: 'v-header',\n standalone: true,\n imports: [CommonModule, AvatarModule, ButtonComponent, RouterModule],\n templateUrl: './header.component.html',\n styleUrl: './header.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n { provide: HEADER_COMPONENT_TOKEN, useExisting: HeaderComponent },\n ],\n})\nexport class HeaderComponent\n extends UnsubscribeComponent\n implements OnInit, HeaderCore\n{\n constructor(\n readonly providerService: HeaderProviderService,\n readonly screenSizeService: ScreenSizeService,\n readonly cdr: ChangeDetectorRef\n ) {\n super();\n }\n\n @Input() title!: string;\n @Input() logoUrl!: string;\n @Input() userName!: string;\n @Input() userRole!: any | any[] | undefined;\n @Input() menuRef!: HTMLDivElement;\n @Input() exampleHeader = false;\n\n icons = Icons;\n protected menuVisible = false;\n protected logoRouterLink!: string;\n\n ngOnInit(): void {\n this.providerService.init();\n }\n\n toggleMenu() {\n if (this.menuRef) {\n this.menuVisible = !this.menuVisible;\n this.menuRef.classList.toggle('menu-visible');\n this.cdr.detectChanges();\n }\n }\n}\n","<div\n class=\"v-header d-flex w-100 text-align-end\"\n [ngStyle]=\"{ position: exampleHeader ? 'relative' : 'fixed' }\"\n>\n <ng-container *ngIf=\"screenSizeService.isMobileBlock | async\">\n <div class=\"burger-menu\">\n <v-button\n [icon]=\"menuVisible ? icons.cross : icons.action\"\n (click)=\"toggleMenu()\"\n />\n <div class=\"logo mt-3\" [routerLink]=\"[logoRouterLink]\">\n <img [src]=\"logoUrl\" alt=\"\"/>\n </div>\n </div>\n </ng-container>\n <div class=\"v-header-title col-auto\">\n <p class=\"text-primary text-nowrap d-none d-md-block ps-3 m-0 w-100\">\n {{ title }}\n </p>\n <div class=\"col-8 col-md-auto ps-3 m-0 w-100\">\n <ng-content select=\"[module]\"></ng-content>\n </div>\n </div>\n <ng-container *ngIf=\"(screenSizeService.isMobileBlock | async) === false\">\n <div class=\"w-100 text-start justify-content-start align-content-center\">\n <ng-content select=\"[breadcrumbs]\"></ng-content>\n </div>\n <div class=\"col-auto d-flex align-items-center justify-content-end p-4\">\n <div class=\"d-flex aling-items-center\">\n <p-avatar\n image=\"assets/primeng/images/_global/jara.png\"\n styleClass=\"me-2\"\n size=\"large\"\n shape=\"circle\"\n />\n <div class=\"card align-content-center pe-3\">\n <p\n class=\"text-primary m-0 header-username\"\n [innerHTML]=\"userName\"\n ></p>\n <p\n class=\"text-default m-0 header-userrole\"\n [innerHTML]=\"userRole\"\n ></p>\n </div>\n </div>\n <div class=\"d-flex gap-4 align-items-center\">\n <ng-content select=\"[useractions]\"/>\n </div>\n </div>\n </ng-container>\n <ng-container *ngIf=\"screenSizeService.isMobileBlock | async\">\n <div class=\"user-info-container d-flex align-items-center\">\n <div class=\"d-flex\">\n <div class=\"card pe-3 align-content-center\">\n <p-avatar\n image=\"assets/images/_global/jara.png\"\n styleClass=\"mr-2\"\n size=\"large\"\n shape=\"circle\"\n ></p-avatar>\n </div>\n <div class=\"card align-content-center pe-3 d-flex\">\n <div class=\"user-info\">\n <p\n class=\"text-default m-0 header-username\"\n [innerHTML]=\"userName\"\n ></p>\n <p\n class=\"text-default m-0 header-userrole\"\n [innerHTML]=\"userRole\"\n ></p>\n </div>\n <div class=\"user-actions\">\n <ng-content select=\"[useractions]\"></ng-content>\n </div>\n </div>\n </div>\n <div class=\"d-flex gap-4 align-items-center justify-content-center\">\n <ng-content select=\"[dbcontext]\" />\n </div>\n </div>\n </ng-container>\n</div>\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n Input,\n Optional,\n Self,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n NgControl,\n ReactiveFormsModule,\n} from '@angular/forms';\nimport { BaseFormInputComponent, BaseInputControls, TEXTAREA_COMPONENT_TOKEN, TextareaCore } from '@verisoft/ui-core';\nimport { FloatLabelModule } from 'primeng/floatlabel';\nimport { InputTextareaModule } from 'primeng/inputtextarea';\nimport { ErrorComponent } from '../errors';\nimport { FormFieldComponent } from '../form-field/form-field.component';\n\n@Component({\n selector: 'v-textarea',\n standalone: true,\n imports: [\n CommonModule,\n InputTextareaModule,\n ReactiveFormsModule,\n FormFieldComponent,\n FloatLabelModule,\n ErrorComponent\n ],\n templateUrl: './textarea.component.html',\n styleUrl: './textarea.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: BaseInputControls,\n useExisting: TextareaComponent,\n },\n {\n provide: TEXTAREA_COMPONENT_TOKEN,\n useExisting: TextareaComponent,\n },\n ],\n})\nexport class TextareaComponent\n extends BaseFormInputComponent\n implements ControlValueAccessor, TextareaCore\n{\n @Input()\n rows = 5;\n\n @Input()\n cols = 30;\n\n @Input()\n autoResize = false;\n\n @Input()\n floatLabel: string | undefined;\n\n constructor(@Optional() @Self() ngControl: NgControl) {\n super(ngControl);\n }\n}\n","<div class=\"v-textarea\">\n <ng-container *ngIf=\"!floatLabel\">\n <v-form-field\n [label]=\"label\"\n [tooltip]=\"tooltip\"\n [required]=\"isRequired()\"\n [display]=\"formDisplay\"\n >\n <textarea\n class=\"flex-grow-1\"\n pInputTextarea\n [rows]=\"rows\"\n [cols]=\"cols\"\n [formControl]=\"formControl\"\n [placeholder]=\"placeholder\"\n [required]=\"isRequired()\"\n [readOnly]=\"readonly\"\n [autoResize]=\"autoResize\"\n ></textarea>\n </v-form-field>\n <v-validation-message [ngControl]=\"ngControl\"></v-validation-message>\n </ng-container>\n <ng-container *ngIf=\"floatLabel\">\n <p-floatLabel>\n <textarea\n class=\"flex-grow-1\"\n pInputTextarea\n [rows]=\"rows\"\n [cols]=\"cols\"\n [id]=\"inputId\"\n [formControl]=\"formControl\"\n [placeholder]=\"placeholder\"\n [required]=\"isRequired()\"\n [readOnly]=\"readonly\"\n [autoResize]=\"autoResize\"\n ></textarea>\n <label [for]=\"inputId\">{{ floatLabel }}</label>\n </p-floatLabel>\n </ng-container>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { LOADER_COMPONENT_TOKEN, LoaderCore } from '@verisoft/ui-core';\nimport { ProgressSpinnerModule } from 'primeng/progressspinner';\n\n@Component({\n selector: 'v-loader',\n standalone: true,\n imports: [CommonModule, ProgressSpinnerModule],\n templateUrl: './loader.component.html',\n styleUrl: './loader.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n { provide: LOADER_COMPONENT_TOKEN, useExisting: LoaderComponent },\n ],\n})\nexport class LoaderComponent implements LoaderCore {}\n","<div class=\"v-loader d-flex justify-content-center\">\n <div>\n <p-progressSpinner class=\"p-progress-spinner-circle\"></p-progressSpinner>\n </div>\n</div>\n","import { Injectable } from '@angular/core';\nimport { MessageService } from 'primeng/api';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SnackbarService {\n constructor(readonly messageService: MessageService) {}\n\n showSuccess(message: string, icon?: string) {\n this.messageService.add({\n severity: 'success',\n summary: 'Success',\n detail: message,\n icon: icon,\n });\n }\n\n showInfo(message: string, icon?: string) {\n this.messageService.add({\n severity: 'info',\n summary: 'Info',\n detail: message,\n icon: icon,\n });\n }\n\n showWarn(message: string, icon?: string) {\n this.messageService.add({\n severity: 'warn',\n summary: 'Warn',\n detail: message,\n icon: icon,\n });\n }\n\n showError(message: string, icon?: string) {\n this.messageService.add({\n severity: 'error',\n summary: 'Error',\n detail: message,\n icon: icon,\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { Component } from '@angular/core';\nimport { SNACKBAR_COMPONENT_TOKEN, SnackbarCore } from '@verisoft/ui-core';\nimport { RippleModule } from 'primeng/ripple';\nimport { ToastModule } from 'primeng/toast';\nimport { SnackbarService } from './services/snackbar.service';\n\n@Component({\n selector: 'v-snackbar',\n standalone: true,\n imports: [CommonModule, ToastModule, RippleModule],\n templateUrl: './snackbar.component.html',\n styleUrl: './snackbar.component.scss',\n providers: [\n SnackbarService,\n {\n provide: SNACKBAR_COMPONENT_TOKEN,\n useExisting: SnackbarComponent,\n },\n ],\n})\nexport class SnackbarComponent \n implements SnackbarCore\n{\n constructor(private snackbarService: SnackbarService) {}\n}\n","<div class=\"v-snackbar\">\n <p-toast />\n</div>\n","import { AsyncPipe, NgClass, NgIf } from '@angular/common';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n inject,\n Input,\n Output,\n ViewChild,\n} from '@angular/core';\nimport { Router, RouterModule } from '@angular/router';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { MenuItem, ScreenSizeService, SideMenuCore, SideMenuService, UnsubscribeComponent } from '@verisoft/ui-core';\nimport { AvatarModule } from 'primeng/avatar';\nimport { TreeModule, TreeNodeSelectEvent } from 'primeng/tree';\nimport { Icons } from '../../icons';\nimport { ButtonComponent } from '../button';\n\n@Component({\n selector: 'v-side-menu',\n standalone: true,\n imports: [\n NgClass,\n AsyncPipe,\n NgIf,\n TreeModule,\n ButtonComponent,\n TranslateModule,\n AvatarModule,\n RouterModule,\n ],\n templateUrl: './side-menu.component.html',\n styleUrl: './side-menu.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SideMenuComponent\n extends UnsubscribeComponent\n implements SideMenuCore, AfterContentInit\n{\n @Input() items: MenuItem[] = [];\n @Input() logoUrl = '';\n @Input() userName!: string;\n @Input() userRole!: any | any[] | undefined;\n @Output() minimalized = new EventEmitter<boolean>();\n @Output() itemSelected = new EventEmitter<MenuItem>();\n \n @ViewChild ('sidemenu', { static: true }) menu!: ElementRef<HTMLDivElement>;\n\n menuService = inject(SideMenuService);\n router = inject(Router);\n icons = Icons;\n\n protected screenSizeService = inject(ScreenSizeService);\n protected logoRouterLink!: string;\n protected isMinimalized = false;\n\n ngAfterContentInit(): void {\n if (this.menuService.menuMinimalized) {\n this.setMenuMinimalized(this.menu);\n }\n }\n \n protected menuMinimalize(menu: HTMLDivElement): void {\n const audit = document.getElementsByClassName('detail-audit');\n if (audit.length > 0) {\n audit.item(0)?.classList.toggle('menu-close__audit');\n }\n if (menu) {\n menu.classList.toggle('menu-closed');\n this.isMinimalized = menu.classList.contains('menu-closed');\n this.menuService.saveMinimalizedState(this.isMinimalized);\n this.minimalized.emit(this.isMinimalized);\n }\n }\n\n onSelectionChange(event: any) {\n const item = event.node;\n if (item.label) {\n this.menuService.saveExpandedState(item);\n }\n }\n\n onNodeSelect(event: TreeNodeSelectEvent): void {\n const item = event.node as MenuItem;\n if (item.url) {\n this.router.navigateByUrl(item.url);\n }\n }\n\n private setMenuMinimalized(menu: ElementRef<HTMLDivElement>): void {\n if(menu) {\n menu.nativeElement.classList.add(\"menu-closed\");\n this.minimalized.emit(true);\n }\n }\n}\n","<div class=\"v-side-menu\" #sidemenu>\n <div\n [ngClass]=\"\n (screenSizeService.isMobileBlock | async)\n ? 'v-side-menu-container__mobile'\n : 'v-side-menu-container'\n \"\n >\n <ng-container *ngIf=\"(screenSizeService.isMobileBlock | async) === false\">\n <div class=\"v-side-menu-header pb-3 text-center\">\n <div class=\"logo\" [routerLink]=\"[logoRouterLink]\">\n <img [src]=\"logoUrl\" alt=\"\" />\n </div>\n <hr />\n </div>\n </ng-container>\n <div\n [ngClass]=\"{\n 'v-side-menu-body__mobile': screenSizeService.isMobileBlock | async,\n 'v-side-menu-body': (screenSizeService.isMobileBlock | async) === false\n }\"\n class=\"text-center\"\n >\n <p-tree\n selectionMode=\"single\"\n [value]=\"items\"\n (onNodeExpand)=\"onSelectionChange($event)\"\n (onNodeCollapse)=\"onSelectionChange($event)\"\n (onNodeSelect)=\"onNodeSelect($event)\"\n >\n </p-tree>\n </div>\n <div\n class=\"text-center py-3 d-flex justify-content-end flex-column support\"\n >\n <hr class=\"mx-4 divider\" />\n <v-button\n class=\"support-button\"\n [label]=\"isMinimalized ? undefined : 'Support'\"\n severity=\"primary\"\n [icon]=\"icons.questionCircle\"\n ></v-button>\n </div>\n </div>\n <div\n *ngIf=\"(screenSizeService.isMobileBlock | async) === false\"\n class=\"close-button\"\n (click)=\"menuMinimalize(sidemenu)\"\n >\n <i class=\"pi pi-chevron-left text-white close-icon\"></i>\n </div>\n</div>\n","import { NgModule, ModuleWithProviders } from '@angular/core';\nimport {\n MENU_TOKEN,\n MenuItem,\n SIDE_MENU_COMPONENT_TOKEN,\n SIDE_MENU_STATE_TOKEN,\n SideMenuModuleConfig,\n SideMenuProviderService,\n UnsubscribeComponent,\n} from '@verisoft/ui-core';\nimport { SideMenuComponent } from './side-menu.component';\n\n@NgModule({\n imports: [SideMenuComponent],\n exports: [SideMenuComponent],\n providers: [\n SideMenuProviderService,\n {\n provide: SIDE_MENU_COMPONENT_TOKEN,\n useExisting: SideMenuComponent,\n },\n {\n provide: SIDE_MENU_STATE_TOKEN,\n useValue: localStorage.getItem('SideMenuStateToken') ?? {\n expanded: [],\n minimalized: false,\n },\n },\n ],\n})\nexport class SideMenuModule extends UnsubscribeComponent {\n constructor(private readonly service: SideMenuProviderService) {\n super();\n }\n\n static forRoot(\n config?: SideMenuModuleConfig\n ): ModuleWithProviders<SideMenuModule> {\n const moduleWithProvider: ModuleWithProviders<SideMenuModule> = {\n ngModule: SideMenuModule,\n };\n\n if (config?.items) {\n moduleWithProvider.providers = [\n {\n provide: MENU_TOKEN,\n useValue: config.items,\n },\n ];\n }\n\n return moduleWithProvider;\n }\n\n static forChild(menu: MenuItem[]): ModuleWithProviders<SideMenuModule> {\n return {\n ngModule: SideMenuModule,\n providers: [\n {\n provide: MENU_TOKEN,\n useValue: menu,\n },\n ],\n };\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { FilterMetadata } from 'primeng/api';\r\n\r\ntype PrimeNgFilterDefinition = {\r\n [s: string]: FilterMetadata | FilterMetadata[];\r\n};\r\n\r\n@Pipe({\r\n name: 'primengFilter',\r\n standalone: true,\r\n})\r\nexport class TableFilterPipe<T> implements PipeTransform {\r\n transform(value: Partial<T>): PrimeNgFilterDefinition | undefined {\r\n if (value == undefined) {\r\n return undefined;\r\n }\r\n\r\n return Object.entries(value)\r\n .filter((x) => x[0] != undefined)\r\n .reduce((currentFilter: PrimeNgFilterDefinition, [key, value]) => {\r\n const filterValue = this.convertToFilterMetadata(value);\r\n if (filterValue) {\r\n if (key === 'searchField') {\r\n key = 'global';\r\n }\r\n \r\n currentFilter[key] = filterValue;\r\n }\r\n\r\n return currentFilter;\r\n }, {});\r\n }\r\n\r\n private convertToFilterMetadata(\r\n value: unknown\r\n ): FilterMetadata | FilterMetadata[] | undefined {\r\n if (value == undefined) {\r\n return undefined;\r\n }\r\n\r\n if (typeof value == 'string') {\r\n return {\r\n matchMode: 'contains',\r\n value: value,\r\n };\r\n }\r\n\r\n if (Array.isArray(value)) {\r\n return value.map((x) =>\r\n this.convertToFilterMetadata(x)\r\n ) as FilterMetadata[];\r\n }\r\n\r\n return {\r\n matchMode: 'equals',\r\n value: value,\r\n };\r\n }\r\n}\r\n","import { FilterMetadata } from 'primeng/api';\r\n\r\nexport function convertToFilter<T>(\r\n value:\r\n | {\r\n [s: string]: FilterMetadata | FilterMetadata[] | undefined;\r\n }\r\n | Partial<T>\r\n | undefined\r\n): Partial<T> | undefined {\r\n if (value == undefined) {\r\n return undefined;\r\n }\r\n\r\n const filter: { [key: string]: unknown } = {};\r\n Object.keys(value).map((key) => {\r\n const filterValue = (value as { [s: string]: unknown })[key];\r\n if (filterValue != undefined && typeof filterValue === 'object') {\r\n filter[key] = (filterValue as FilterMetadata).value;\r\n } else {\r\n filter[key] = filterValue;\r\n }\r\n });\r\n\r\n return filter as Partial<T>;\r\n}\r\n","import { CommonModule } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n EventEmitter,\n inject,\n Input,\n OnChanges,\n Output,\n QueryList,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { ActivatedRoute, Router, RouterModule } from '@angular/router';\nimport {\n DEFAULT_SEARCH_LIMIT,\n LazyLoadEvent,\n Sort,\n SortDirection,\n SortDirectionType,\n} from '@verisoft/core';\nimport {\n ColumnDefinition,\n ColumnModel,\n ColumnProvider,\n RowModel,\n TABLE_COLUMN_PROVIDER,\n TABLE_COMPONENT_TOKEN,\n TableCore,\n TableSelectionModeType,\n} from '@verisoft/ui-core';\nimport { SortMeta } from 'primeng/api';\nimport { ButtonModule } from 'primeng/button';\nimport { RippleModule } from 'primeng/ripple';\nimport { Table, TableLazyLoadEvent, TableModule, TablePageEvent } from 'primeng/table';\nimport { Icons } from '../../icons';\nimport { TableFilterPipe } from './table-filter.pipe';\nimport { convertToFilter } from './table.models';\n\n@Component({\n selector: 'v-table',\n standalone: true,\n imports: [\n CommonModule,\n TableModule,\n RouterModule,\n ButtonModule,\n RippleModule,\n TableFilterPipe,\n ],\n providers: [\n {\n provide: TABLE_COMPONENT_TOKEN,\n useExisting: TableComponent,\n },\n ],\n templateUrl: './table.component.html',\n styleUrl: './table.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TableComponent<T>\n implements AfterViewInit, OnChanges, TableCore<T>\n{\n @ContentChildren(TABLE_COLUMN_PROVIDER) viewColumns!: QueryList<\n ColumnProvider<T>\n >;\n\n @ViewChild('table') table: Table | undefined;\n\n @ContentChild('rowDetail', { static: false })\n rowDetailTemplate!: TemplateRef<any>;\n\n sorters!: Sort[];\n\n @Input()\n data!: T[];\n\n @Input()\n total = 0;\n\n @Input() filter: Partial<T> | undefined;\n\n @Input()\n loading!: boolean;\n\n @Input()\n scrollable = true;\n\n @Input()\n pageSize = DEFAULT_SEARCH_LIMIT;\n\n @Input()\n currentPage!: number;\n\n @Input()\n showPaginator = true;\n\n @Input()\n sortMultiple = false;\n\n @Input()\n lazy = false;\n\n @Input()\n selectionMode: TableSelectionModeType | undefined;\n\n @Input()\n showPageSizePicker = true;\n\n @Input()\n entityKey: string | undefined;\n\n @Input()\n maximumColumnLength = 0;\n\n @Input()\n disableCustomClicks = false;\n\n @Input()\n set columns(value: ColumnDefinition<T>[]) {\n this._columns = value;\n this.tableColumns = (value ?? []).map((x) => new ColumnModel(x));\n }\n\n get columns(): ColumnDefinition<T>[] {\n return this._columns;\n }\n\n @Input() selection: T[] = [];\n\n @Output()\n pageSizeChange = new EventEmitter<number>();\n\n @Output()\n selectionChange = new EventEmitter<T[]>();\n\n @Output()\n pageChange = new EventEmitter<TablePageEvent>();\n\n @Output()\n sortChange = new EventEmitter<Sort[]>();\n\n @Output()\n lazyLoad = new EventEmitter<LazyLoadEvent>();\n\n sorted!: boolean;\n\n cdRef = inject(ChangeDetectorRef);\n\n tableColumns: ColumnModel<T>[] = [];\n\n tableRows: RowModel<T>[] = [];\n\n tableSelection: RowModel<T>[] | RowModel<T> | undefined;\n\n expandedRows = {};\n\n expansionTemplate!: { template: TemplateRef<any> };\n\n sortMeta: SortMeta[] | undefined;\n\n sortSignleColumn: SortMeta | undefined;\n\n globalFilterFields: string[] | undefined;\n\n router = inject(Router);\n\n route = inject(ActivatedRoute);\n\n icons = Icons;\n\n private _columns!: ColumnDefinition<T>[];\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['data']) {\n this.updateRowModels();\n }\n\n if (changes['selection'] || changes['data']) {\n this.tableSelection = this.selection\n ? this.tableRows.filter((x) => this.selection.includes(x.row))\n : undefined;\n }\n\n if (changes['filter'] && !changes['filter'].isFirstChange()) {\n this.globalFilterFields = this.columns.filter(x => x.id).map(x => 'row.' + x.id);\n setTimeout(() => {\n this.table?._filter();\n }, 0);\n }\n }\n\n ngAfterViewInit(): void {\n if (this.viewColumns?.length) {\n const templateColumnModel = this.viewColumns\n .toArray()\n .map((provider) => new ColumnModel(provider.getDefinition()));\n this.tableColumns = [...this.tableColumns, ...templateColumnModel];\n }\n\n this.expansionTemplate = {\n template: this.rowDetailTemplate,\n };\n this.cdRef.detectChanges();\n }\n\n updateRowModels(): void {\n this.tableRows = (this.data ?? []).map(\n (x) => new RowModel(x, false, false)\n );\n }\n\n pageChanged(page: TablePageEvent) {\n this.pageChange.emit(page);\n }\n\n pageSizeChanged(pageSize: number) {\n this.pageSizeChange.emit(pageSize);\n this.pageSize = pageSize;\n }\n\n sortChanged(event: SortMeta | { multisortmeta: SortMeta[] }) {\n let eventEmiterArg: Sort[];\n if ((<SortMeta>event).field) {\n const singleEvent = <SortMeta>event;\n eventEmiterArg = this.getSorts([singleEvent]) as Sort[];\n this.sortMeta = undefined;\n this.sortSignleColumn = singleEvent;\n } else {\n const multiEvent = <{ multisortmeta: SortMeta[] }>event;\n eventEmiterArg = this.getSorts(multiEvent.multisortmeta) as Sort[];\n this.sortMeta = multiEvent.multisortmeta;\n this.sortSignleColumn = undefined;\n }\n\n this.sortChange.emit(eventEmiterArg);\n }\n\n selectionChanged(event: RowModel<T>[] | RowModel<T>) {\n this.tableSelection = event;\n if (this.selectionMode) {\n const eventArgArray = Array.isArray(event) ? event : [event];\n const selection = event ? eventArgArray.map((x) => x.row) : [];\n this.selectionChange.emit(selection);\n }\n }\n\n fireLazyLoad(event: TableLazyLoadEvent) {\n if (this.lazy) {\n const sort = this.sortSignleColumn\n ? this.getSorts([this.sortSignleColumn])\n : this.sortMeta\n ? this.getSorts(this.sortMeta)\n : undefined;\n const lazyLoadEvent: LazyLoadEvent = {\n sort,\n offset: event.first ?? 0,\n limit: event.rows ?? this.pageSize,\n filter: convertToFilter(event.filters),\n };\n\n this.lazyLoad.emit(lazyLoadEvent);\n }\n }\n\n private removePrefix(input: string, prefix: string): string {\n return input.startsWith(prefix) ? input.slice(prefix.length) : input;\n }\n\n private convertToSortDirection(value: number): SortDirectionType {\n return value === 1 ? SortDirection.asc : SortDirection.desc;\n }\n\n private getSorts(value: SortMeta[] | undefined) {\n return value\n ? value.map((x: SortMeta) => ({\n field: this.removePrefix(x.field, 'row.'),\n direction: this.convertToSortDirection(x.order),\n }))\n : undefined;\n }\n}\n","<div class=\"v-table\">\n <p-table\n #table\n class=\"v-table\"\n [value]=\"tableRows\"\n [filters]=\"filter | primengFilter\"\n [paginator]=\"showPaginator\"\n [rows]=\"pageSize\"\n [totalRecords]=\"total\"\n [loading]=\"loading\"\n [lazy]=\"lazy\"\n dataKey=\"id\"\n [scrollable]=\"scrollable\"\n [sortMode]=\"sortMultiple ? 'multiple' : 'single'\"\n [scrollHeight]=\"'flex'\"\n [selectionMode]=\"selectionMode\"\n [selection]=\"tableSelection\"\n [rowsPerPageOptions]=\"[10, 25, 50, 100]\"\n [expandedRowKeys]=\"expandedRows\"\n [showCurrentPageReport]=\"true\"\n currentPageReportTemplate=\"Showing {first} to {last} of {totalRecords} entries\"\n [customSort]=\"lazy\"\n [multiSortMeta]=\"sortMeta\"\n [resizableColumns]=\"true\"\n columnResizeMode=\"expand\"\n [globalFilterFields]=\"globalFilterFields\"\n (onPage)=\"pageChanged($event)\"\n (onSort)=\"sortChanged($event)\"\n (selectionChange)=\"selectionChanged($event)\"\n (onLazyLoad)=\"fireLazyLoad($event)\"\n >\n <ng-template pTemplate=\"header\">\n <tr>\n @if (selectionMode === 'multiple') {\n <th>\n <p-tableHeaderCheckbox></p-tableHeaderCheckbox>\n </th>\n } @for (column of tableColumns; track column; let index = $index) {\n <th\n *ngIf=\"column.sortable\"\n pResizableColumn\n [pSortableColumn]=\"'row.' + column.id\"\n [style.width]=\"column.width\"\n >\n {{ column.headerGetter(column.id, index) }}\n <p-sortIcon [field]=\"'row.' + column.id\"></p-sortIcon>\n </th>\n <th\n *ngIf=\"!column.sortable\"\n pResizableColumn\n [class.v-auto-cell]=\"column.template\"\n [style.width]=\"column.width\"\n >\n {{ column.headerGetter(column.id, index) }}\n </th>\n } @if (rowDetailTemplate){\n <th></th>\n }\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-row let-expanded=\"expanded\">\n <tr\n [pSelectableRow]=\"row\"\n [pSelectableRowDisabled]=\"selectionMode !== 'single'\"\n (dblclick)=\"\n router.navigate(['./' + row.row[entityKey ?? 'id']], {\n relativeTo: route\n })\n \"\n >\n @if (selectionMode === 'multiple'){\n <td>\n <p-tableCheckbox [value]=\"row\"></p-tableCheckbox>\n </td>\n }\n <td\n *ngFor=\"let cd of tableColumns; let index = index\"\n [class]=\"cd.columnClass!\"\n [class.v-auto-cell]=\"cd.template\"\n >\n <ng-container *ngIf=\"cd.template\">\n <ng-container\n *ngTemplateOutlet=\"cd.template; context: { $implicit: row.row }\"\n ></ng-container>\n </ng-container>\n <span\n *ngIf=\"!row.template\"\n [queryParams]=\"cd.queryParams ? cd.queryParams : undefined\"\n [routerLink]=\"cd.routerLink ? cd.routerLink(row.row) : undefined\"\n [innerHTML]=\"cd.valueGetter(row.row, index)\"\n ></span>\n </td>\n @if (rowDetailTemplate){\n <td>\n <p-button\n type=\"button\"\n pRipple\n severity=\"primary\"\n [pRowToggler]=\"row\"\n [text]=\"true\"\n [rounded]=\"true\"\n [plain]=\"true\"\n [icon]=\"expanded ? icons.chevronDown : icons.chevronRight\"\n />\n </td>\n }\n </tr>\n </ng-template>\n <ng-template pTemplate=\"rowexpansion\" let-row>\n <tr>\n <td [attr.colspan]=\"tableColumns.length + 1\">\n <ng-container\n class=\"w-100\"\n *ngTemplateOutlet=\"\n expansionTemplate.template;\n context: { $implicit: row.row }\n \"\n ></ng-container>\n </td>\n </tr>\n </ng-template>\n </p-table>\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n inject,\n Input,\n OnChanges,\n Output,\n SimpleChanges,\n} from '@angular/core';\nimport {\n ACTION_BUTTON_GROUP_COMPONENT_TOKEN,\n ActionButton,\n ActionButtonGroupCore,\n ControlSeverityType,\n FieldSizeType,\n} from '@verisoft/ui-core';\nimport { TooltipModule } from 'primeng/tooltip';\nimport { Observable, Subject } from 'rxjs';\nimport { Icons } from '../../../../../icons';\nimport { ButtonComponent } from '../../../../button';\n\n@Component({\n selector: 'v-action-button',\n standalone: true,\n imports: [ButtonComponent, TooltipModule],\n templateUrl: './action-button.component.html',\n styleUrl: './action-button.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ActionButtonComponent implements ActionButton, OnChanges {\n @Input() disabled = false;\n @Input() toolTip?: string;\n @Input() id?: string;\n @Input() icon?: string;\n @Input() outlined = false;\n @Input() raised = false;\n @Input() severity?: ControlSeverityType;\n @Input() label?: string;\n @Input() size?: FieldSizeType;\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() click = new EventEmitter<MouseEvent>();\n\n icons = Icons\n\n private propertyChangeSubject = new Subject();\n\n propertyChanged: Observable<unknown> =\n this.propertyChangeSubject.asObservable();\n\n buttonGroup: ActionButtonGroupCore | null = inject<ActionButtonGroupCore>(\n ACTION_BUTTON_GROUP_COMPONENT_TOKEN,\n {\n optional: true,\n }\n );\n\n ngOnChanges(changes: SimpleChanges): void {\n const isValueChange = Object.keys(changes).some(\n (x) => !changes[x].firstChange\n );\n if (isValueChange) {\n this.propertyChangeSubject.next(null);\n }\n }\n\n handleClick(event: MouseEvent) {\n event.stopPropagation();\n this.click.emit(event);\n }\n}\n","<v-button\n [label]=\"label\"\n [disabled]=\"disabled\"\n [icon]=\"icon\"\n [pTooltip]=\"toolTip\"\n [outlined]=\"outlined\"\n tooltipPosition=\"bottom\"\n [size]=\"size\"\n [severity]=\"severity\"\n (click)=\"handleClick($event)\"\n></v-button>\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n Input,\n QueryList,\n} from '@angular/core';\nimport {\n ACTION_BUTTON_GROUP_COMPONENT_TOKEN,\n ActionButton,\n ActionButtonGroupCore,\n IconPositionType,\n queryListChanged,\n ScreenSizeService,\n UnsubscribeComponent,\n} from '@verisoft/ui-core';\nimport { MenuItem } from 'primeng/api';\nimport { MenuModule } from 'primeng/menu';\nimport {\n combineLatestWith,\n takeUntil,\n} from 'rxjs';\nimport { Icons } from '../../../icons';\nimport { ButtonComponent } from '../../button';\nimport { ActionButtonComponent } from './components/action-button/action-button.component';\n\n@Component({\n selector: 'v-action-button-group',\n standalone: true,\n imports: [MenuModule, ButtonComponent, ActionButtonComponent],\n templateUrl: './action-button-group.component.html',\n styleUrl: './action-button-group.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: ACTION_BUTTON_GROUP_COMPONENT_TOKEN,\n useExisting: ActionButtonGroupComponent,\n },\n ],\n})\nexport class ActionButtonGroupComponent\n extends UnsubscribeComponent\n implements AfterContentInit, ActionButtonGroupCore\n{\n @ContentChildren(ActionButtonComponent)\n actions!: QueryList<ActionButtonComponent>;\n\n @Input() maxItems = 3;\n\n @Input() maxItemsMobile = 0;\n\n @Input() items: ActionButton[] = [];\n\n @Input() menuIconPos: IconPositionType = 'right';\n\n @Input() menuIcon = Icons.action;\n\n @Input() label?: string;\n\n @Input() icon?: string;\n\n icons = Icons;\n allItems: ActionButton[] = [];\n visibleActions: ActionButton[] = [];\n menuItems: MenuItem[] = [];\n\n constructor(\n private readonly changeDetectorRef: ChangeDetectorRef,\n readonly screenSizeService: ScreenSizeService\n ) {\n super();\n }\n\n ngAfterContentInit(): void {\n this.subscribeItemChange();\n }\n\n fireClick(item: ActionButton, event: MouseEvent) {\n event.stopPropagation();\n item.click.emit();\n }\n\n private subscribeItemChange(): void {\n const screenResize$ = this.screenSizeService.isMobileBlock;\n\n const actions$ = queryListChanged(this.actions);\n\n screenResize$\n .pipe(takeUntil(this.destroyed$), combineLatestWith(actions$))\n .subscribe(([isMobile, actions]) => {\n this.computeItems(actions, isMobile);\n });\n }\n\n private computeItems(actions: ActionButton[], isMobile: boolean) {\n const allItems = [...(this.items ?? []), ...actions];\n const maxItems = isMobile ? this.maxItemsMobile : this.maxItems;\n this.visibleActions = allItems.slice(0, maxItems);\n this.menuItems = allItems.slice(maxItems).map(this.convertToMenuItem);\n this.changeDetectorRef.detectChanges();\n }\n\n private convertToMenuItem(item: ActionButton): MenuItem {\n return {\n label: item.label,\n icon: item.icon,\n command: () => {\n item.click.emit();\n },\n };\n }\n}\n","<div\n class=\"v-action-button-group align-items-center justify-content-center justify-content-md-end\"\n>\n <div class=\"v-action-button-group__actions d-flex gap-2\">\n @for (action of visibleActions; track action) {\n <v-action-button\n [disabled]=\"action.disabled\"\n [icon]=\"action.icon\"\n [id]=\"action.id\"\n [outlined]=\"action.outlined\"\n [raised]=\"action.raised\"\n [toolTip]=\"action.toolTip || action.label\"\n [severity]=\"action.severity\"\n [size]=\"action.size\"\n (click)=\"fireClick(action, $event)\"\n ></v-action-button>\n } @if (actions.length > visibleActions.length) {\n <v-button\n (click)=\"menu.toggle($event)\"\n [label]=\"label\"\n [iconPos]=\"menuIconPos\"\n [icon]=\"menuIcon\"\n />\n }\n </div>\n</div>\n<p-menu #menu [model]=\"menuItems\" [popup]=\"true\" appendTo=\"body\" />\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n forwardRef,\n Input,\n OnChanges,\n OnDestroy,\n Optional,\n Output,\n Self,\n SimpleChanges,\n ViewEncapsulation,\n OnInit,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n NgControl,\n ReactiveFormsModule,\n} from '@angular/forms';\nimport { FilterEvent, LazyLoadEvent } from '@verisoft/core';\nimport {\n BaseFormInputComponent,\n BaseInputControls,\n DROPDOWN_COMPONENT_TOKEN,\n DropdownCore\n} from '@verisoft/ui-core';\nimport { ScrollerOptions } from 'primeng/api';\nimport {\n DropdownFilterEvent,\n DropdownModule,\n} from 'primeng/dropdown';\nimport { FloatLabelModule } from 'primeng/floatlabel';\nimport { MessageModule } from 'primeng/message';\nimport { ScrollerLazyLoadEvent } from 'primeng/scroller';\nimport { TooltipModule } from 'primeng/tooltip';\nimport { Subject } from 'rxjs';\nimport { ErrorComponent } from '../errors';\nimport { FormFieldComponent } from '../form-field';\n\n@Component({\n selector: 'v-dropdown',\n standalone: true,\n imports: [\n CommonModule,\n ReactiveFormsModule,\n DropdownModule,\n TooltipModule,\n FormFieldComponent,\n MessageModule,\n FloatLabelModule,\n ErrorComponent\n ],\n templateUrl: './dropdown.component.html',\n styleUrls: ['./dropdown.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: BaseInputControls,\n useExisting: forwardRef(() => DropdownComponent),\n multi: true,\n },\n {\n provide: DROPDOWN_COMPONENT_TOKEN,\n useExisting: DropdownComponent,\n },\n ],\n})\nexport class DropdownComponent<T>\n extends BaseFormInputComponent\n implements\n ControlValueAccessor,\n OnChanges,\n OnDestroy,\n OnInit,\n DropdownCore<T>\n{\n constructor(@Optional() @Self() ngControl: NgControl) {\n super(ngControl);\n }\n\n @Input() options: T[] | undefined = [];\n @Input() optionLabel: string | undefined;\n @Input() optionValue: string | undefined;\n @Input() dropdownIcon?: string;\n @Input() floatLabel?: string;\n @Input() editable = false;\n @Input() loading = false;\n @Input() lazy = false;\n @Input() filter = true;\n @Input() forceMinWidth = false;\n @Input() showFilter = false;\n @Input() localSearch = false;\n\n @Output() showed = new EventEmitter<any>();\n @Output() cleared = new EventEmitter<any>();\n @Output() lazyLoad = new EventEmitter<LazyLoadEvent>();\n @Output() filtered = new EventEmitter<FilterEvent>();\n\n private destroy$ = new Subject<void>();\n\n virtualScrollOptions!: ScrollerOptions | undefined;\n virtualOptionSize = 37.5;\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['lazy'] || changes['loading']) {\n this.virtualScrollOptions = this.lazy\n ? {\n showLoader: this.loading,\n lazy: true,\n onLazyLoad: this.onLazyLoad.bind(this),\n }\n : undefined;\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n onLazyLoad(event: ScrollerLazyLoadEvent): void {\n this.lazyLoad.emit({\n offset: event.first,\n limit: event.last - event.first,\n });\n }\n\n filterChange(event: DropdownFilterEvent): void {\n this.filtered.emit({\n filter: event.filter,\n });\n }\n\n onDropdownShow(): void {\n this.showed.emit();\n }\n\n onDropdownClear(): void {\n this.cleared.emit();\n }\n}\n","<div class=\"v-dropdown\">\n <ng-container *ngIf=\"label && !floatLabel\">\n <v-form-field\n [label]=\"label\"\n [tooltip]=\"tooltip\"\n [required]=\"isRequired()\"\n [testId]=\"testId\"\n [display]=\"formDisplay\"\n >\n <p-dropdown\n [baseZIndex]=\"9999\"\n class=\"w-100\"\n appendTo=\"body\"\n [formControl]=\"formControl\"\n [filter]=\"filter\"\n [title]=\"label\"\n [options]=\"options\"\n [optionLabel]=\"optionLabel\"\n [optionValue]=\"optionValue\"\n [loading]=\"loading\"\n [placeholder]=\"placeholder ?? ''\"\n [virtualScroll]=\"lazy\"\n [virtualScrollItemSize]=\"virtualOptionSize\"\n [virtualScrollOptions]=\"virtualScrollOptions\"\n [tooltip]=\"tooltip\"\n [required]=\"isRequired()\"\n [showClear]=\"formControl && clearable && !readonly\"\n [editable]=\"editable\"\n [dataKey]=\"optionValue\"\n (showEvent)=\"onDropdownShow()\"\n (clearEvent)=\"onDropdownClear()\"\n (onFilter)=\"filterChange($event)\"\n >\n </p-dropdown>\n </v-form-field>\n <v-validation-message [ngControl]=\"ngControl\"></v-validation-message>\n </ng-container>\n <ng-container *ngIf=\"!label && !floatLabel\">\n <p-dropdown\n [baseZIndex]=\"9999\"\n class=\"w-100\"\n appendTo=\"body\"\n [formControl]=\"formControl\"\n [filter]=\"filter\"\n [title]=\"label\"\n [options]=\"options\"\n [optionLabel]=\"optionLabel\"\n [optionValue]=\"optionValue\"\n [loading]=\"loading\"\n [placeholder]=\"placeholder ? placeholder : label\"\n [tooltip]=\"tooltip\"\n [required]=\"isRequired()\"\n [showClear]=\"formControl && clearable && !readonly\"\n [editable]=\"editable\"\n [dataKey]=\"optionValue\"\n [virtualScroll]=\"lazy\"\n [virtualScrollItemSize]=\"virtualOptionSize\"\n [virtualScrollOptions]=\"virtualScrollOptions\"\n (showEvent)=\"onDropdownShow()\"\n (clearEvent)=\"onDropdownClear()\"\n (onFilter)=\"filterChange($event)\"\n >\n </p-dropdown>\n </ng-container>\n <ng-container *ngIf=\"floatLabel && !label\">\n <p-floatLabel>\n <p-dropdown\n [baseZIndex]=\"9999\"\n class=\"w-100\"\n appendTo=\"body\"\n [formControl]=\"formControl\"\n [title]=\"label\"\n [options]=\"options\"\n [optionLabel]=\"optionLabel\"\n [optionValue]=\"optionValue\"\n [loading]=\"loading\"\n [placeholder]=\"placeholder ? placeholder : label\"\n [filter]=\"filter\"\n [tooltip]=\"tooltip\"\n [required]=\"isRequired()\"\n [showClear]=\"formControl && clearable && !readonly\"\n [editable]=\"editable\"\n [dataKey]=\"optionValue\"\n [virtualScroll]=\"lazy\"\n [virtualScrollItemSize]=\"virtualOptionSize\"\n [virtualScrollOptions]=\"virtualScrollOptions\"\n (showEvent)=\"onDropdownShow()\"\n (clearEvent)=\"onDropdownClear()\"\n (onFilter)=\"filterChange($event)\"\n (lazyLoad)=\"onLazyLoad($any($event))\"\n >\n </p-dropdown>\n <label [for]=\"inputId\">{{ floatLabel }}</label>\n </p-floatLabel>\n </ng-container>\n</div>","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n forwardRef,\n Input,\n OnChanges,\n Optional,\n Output,\n Self,\n SimpleChanges,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n NgControl,\n ReactiveFormsModule,\n} from '@angular/forms';\nimport {\n FilterEvent,\n LazyLoadEvent,\n} from '@verisoft/core';\nimport {\n BaseFormInputComponent,\n BaseInputControls,\n MULTISELECT_COMPONENT_TOKEN,\n MultiselectCore,\n FieldSize,\n FieldSizeType,\n} from '@verisoft/ui-core';\nimport { ScrollerOptions } from 'primeng/api';\nimport { FloatLabelModule } from 'primeng/floatlabel';\nimport { MultiSelectModule } from 'primeng/multiselect';\nimport { ScrollerLazyLoadEvent } from 'primeng/scroller';\nimport { ErrorComponent } from '../errors';\nimport { FormFieldComponent } from '../form-field';\n\n@Component({\n selector: 'v-multiselect',\n standalone: true,\n imports: [\n CommonModule,\n ReactiveFormsModule,\n FloatLabelModule,\n MultiSelectModule,\n ErrorComponent,\n FormFieldComponent,\n ],\n templateUrl: './multiselect.component.html',\n styleUrl: './multiselect.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: BaseInputControls,\n useExisting: forwardRef(() => MultiselectComponent),\n multi: true,\n },\n {\n provide: MULTISELECT_COMPONENT_TOKEN,\n useExisting: MultiselectComponent,\n },\n ],\n})\nexport class MultiselectComponent<T>\n extends BaseFormInputComponent\n implements ControlValueAccessor, MultiselectCore<T>, OnChanges\n{\n constructor(@Optional() @Self() ngControl: NgControl) {\n super(ngControl);\n }\n\n @Input() options: T[] | undefined = [];\n @Input() optionLabel: string | undefined;\n @Input() optionValue: string | undefined;\n @Input() dropdownIcon?: string;\n @Input() floatLabel?: string;\n @Input() editable = true;\n @Input() loading = false;\n @Input() lazy = false;\n @Input() filter = true;\n @Input() size: FieldSizeType = FieldSize.medium;\n\n @Output() changed = new EventEmitter<any>();\n @Output() showed = new EventEmitter<any>();\n @Output() cleared = new EventEmitter<any>();\n @Output() lazyLoad = new EventEmitter<LazyLoadEvent>();\n @Output() filtered = new EventEmitter<FilterEvent>();\n\n virtualScrollOptions!: ScrollerOptions | undefined;\n virtualOptionSize = 37.5; \n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['lazy'] || changes['loading']) {\n this.virtualScrollOptions = this.lazy\n ? {\n showLoader: this.loading,\n lazy: true,\n onLazyLoad: this.onLazyLoad.bind(this),\n }\n : undefined;\n }\n }\n\n onLazyLoad(event: ScrollerLazyLoadEvent): void {\n this.lazyLoad.emit({\n offset: event.first,\n limit: event.last - event.first,\n });\n }\n\n selectionChange(event: any): void {\n this.cleared.emit(event);\n }\n\n onDropdownShow(): void {\n this.showed.emit();\n }\n\n onDropdownClear(): void {\n this.cleared.emit();\n }\n}\n","<div class=\"v-multiple-select\">\n <ng-container *ngIf=\"label && !floatLabel\">\n <v-form-field\n class=\"w-100\"\n [label]=\"label\"\n [tooltip]=\"tooltip\"\n [required]=\"isRequired()\"\n [testId]=\"testId\"\n [display]=\"formDisplay\"\n >\n <p-multiSelect\n [baseZIndex]=\"9999\"\n class=\"w-100\"\n appendTo=\"body\"\n [formControl]=\"formControl\"\n [title]=\"label\"\n display=\"chip\"\n [options]=\"options\"\n [optionLabel]=\"optionLabel\"\n [optionValue]=\"optionValue\"\n [loading]=\"loading\"\n [placeholder]=\"placeholder ? placeholder : label\"\n [virtualScrollItemSize]=\"25\"\n [lazy]=\"true\"\n [tooltip]=\"tooltip\"\n [required]=\"isRequired()\"\n [showClear]=\"formControl && clearable && !readonly\"\n [virtualScroll]=\"lazy\"\n [virtualScrollItemSize]=\"virtualOptionSize\"\n [virtualScrollOptions]=\"virtualScrollOptions\"\n (showEvent)=\"onDropdownShow()\"\n (clearEvent)=\"onDropdownClear()\"\n (changeEvent)=\"selectionChange($event)\"\n (lazyLoadEvent)=\"onLazyLoad($any($event))\"\n ></p-multiSelect>\n </v-form-field>\n <v-validation-message [ngControl]=\"ngControl\"></v-validation-message>\n </ng-container>\n <ng-container *ngIf=\"floatLabel\">\n <p-floatLabel>\n <p-multiSelect\n [baseZIndex]=\"9999\"\n class=\"w-100\"\n appendTo=\"body\"\n [formControl]=\"formControl\"\n [title]=\"label\"\n [options]=\"options\"\n [optionLabel]=\"optionLabel\"\n [optionValue]=\"optionValue\"\n [loading]=\"loading\"\n [placeholder]=\"placeholder ? placeholder : label\"\n [virtualScrollItemSize]=\"25\"\n [lazy]=\"true\"\n [tooltip]=\"tooltip\"\n [required]=\"isRequired()\"\n [inputId]=\"inputId\"\n [showClear]=\"formControl && clearable && !readonly\"\n [virtualScroll]=\"lazy\"\n [virtualScrollItemSize]=\"virtualOptionSize\"\n [virtualScrollOptions]=\"virtualScrollOptions\"\n (showEvent)=\"onDropdownShow()\"\n (clearEvent)=\"onDropdownClear()\"\n (changeEvent)=\"selectionChange($event)\"\n (lazyLoadEvent)=\"onLazyLoad($any($event))\"\n ></p-multiSelect>\n\n <label [for]=\"inputId\">{{ floatLabel }}</label>\n </p-floatLabel>\n </ng-container>\n</div>\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport {\n DatasourceType,\n FilterEvent,\n LazyLoadEvent,\n} from '@verisoft/core';\nimport {\n BaseFormInputComponent,\n DatasourceDirective,\n FieldSize,\n FieldSizeType,\n GENERIC_FIELD_COMPONENT_TOKEN,\n GenericFieldCore,\n GenericFieldType,\n GenericFieldTypeType,\n} from '@verisoft/ui-core';\nimport { Icons } from '../../../icons';\nimport { CalendarComponent } from '../../calendar';\nimport { CheckboxComponent } from '../../checkbox';\nimport { DropdownComponent } from '../../dropdown';\nimport { MultiselectComponent } from '../../multiselect';\nimport { TextfieldComponent } from '../../textfield';\nimport { TristatecheckboxComponent } from '../../tristatecheckbox';\n\n@Component({\n selector: 'v-generic-field',\n standalone: true,\n imports: [\n CommonModule,\n DropdownComponent,\n CalendarComponent,\n TristatecheckboxComponent,\n MultiselectComponent,\n TextfieldComponent,\n ReactiveFormsModule,\n CheckboxComponent,\n DatasourceDirective,\n],\n providers: [\n {\n provide: GENERIC_FIELD_COMPONENT_TOKEN,\n useExisting: GenericFieldComponent,\n },\n ],\n templateUrl: './generic-field.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class GenericFieldComponent<T>\n extends BaseFormInputComponent\n implements GenericFieldCore<T>\n{\n @Input() type?: GenericFieldTypeType = GenericFieldType.text;\n\n @Input() floatLabel?: boolean;\n\n @Input() optionLabel: string | undefined;\n\n @Input() optionValue: string | undefined;\n\n @Input() options: T[] | undefined;\n\n @Input() size?: FieldSizeType = FieldSize.medium;\n\n @Input() loading = false;\n\n @Input() lazy = false;\n\n @Input() filter = true;\n\n @Input() datasource?: DatasourceType<T>\n\n @Input() filterField?: string;\n\n @Input() showFilter?: boolean;\n\n @Input() localSearch?: boolean;\n\n @Output() changed = new EventEmitter<any>();\n @Output() showed = new EventEmitter<any>();\n @Output() cleared = new EventEmitter<any>();\n @Output() lazyLoad = new EventEmitter<LazyLoadEvent>();\n @Output() filtered = new EventEmitter<FilterEvent>();\n\n fieldTypes = GenericFieldType;\n icons = Icons;\n}\n","@if (!type || type === fieldTypes.text) {\n<v-textfield\n [label]=\"label\"\n [floatLabel]=\"floatLabel === true\"\n [size]=\"size\"\n [formControl]=\"formControl\"\n/>\n} @else if (type === fieldTypes.dropdown && !datasource) {\n<v-dropdown\n [label]=\"!floatLabel ? label : ''\"\n [floatLabel]=\"floatLabel ? label : ''\"\n [testId]=\"testId\"\n [options]=\"options\"\n [optionLabel]=\"optionLabel\"\n [optionValue]=\"optionValue ?? optionLabel\"\n [loading]=\"loading\"\n [forceMinWidth]=\"true\"\n [formControl]=\"formControl\"\n [showFilter]=\"showFilter ?? false\"\n [localSearch]=\"localSearch ?? false\"\n (changeEvent)=\"changed.emit($event)\"\n (clearEvent)=\"cleared.emit($event)\"\n (lazyLoadEvent)=\"lazyLoad.emit($any($event))\"\n (showEvent)=\"showed.emit($event)\"\n/> \n} @else if (type === fieldTypes.dropdown && datasource) {\n <v-dropdown\n useDatasource\n [forceMinWidth]=\"true\"\n [datasource]=\"datasource\"\n [optionLabel]=\"optionLabel\"\n [optionValue]=\"optionValue ?? optionLabel\"\n [label]=\"!floatLabel ? label : ''\"\n [floatLabel]=\"floatLabel ? label : ''\"\n [testId]=\"testId\"\n [loading]=\"loading\"\n [formControl]=\"formControl\"\n [showFilter]=\"showFilter ?? false\"\n [filterField]=\"filterField ?? 'fulltext'\"\n [localSearch]=\"localSearch ?? false\"\n (changeEvent)=\"changed.emit($event)\"\n (clearEvent)=\"cleared.emit($event)\"\n (lazyLoadEvent)=\"lazyLoad.emit($any($event))\"\n (showEvent)=\"showed.emit($event)\"\n />\n} @else if (type === fieldTypes.multiselect && !datasource) {\n<v-multiselect\n [label]=\"!floatLabel ? label : ''\"\n [floatLabel]=\"floatLabel ? label : ''\"\n [testId]=\"testId\"\n [options]=\"options\"\n [optionLabel]=\"optionLabel\"\n [optionValue]=\"optionValue ?? optionLabel\"\n [loading]=\"loading\"\n [formControl]=\"formControl\"\n (changeEvent)=\"changed.emit($event)\"\n (clearEvent)=\"cleared.emit($event)\"\n (lazyLoadEvent)=\"lazyLoad.emit($any($event))\"\n (showEvent)=\"showed.emit($event)\"\n/>\n} @else if (type === fieldTypes.multiselect && datasource) {\n<v-multiselect\n useDatasource\n [datasource]=\"datasource\"\n [optionLabel]=\"optionLabel\"\n [optionValue]=\"optionValue ?? optionLabel\"\n [label]=\"!floatLabel ? label : ''\"\n [floatLabel]=\"floatLabel ? label : ''\"\n [testId]=\"testId\"\n [loading]=\"loading\"\n [formControl]=\"formControl\"\n (changeEvent)=\"changed.emit($event)\"\n (clearEvent)=\"cleared.emit($event)\"\n (lazyLoadEvent)=\"lazyLoad.emit($any($event))\"\n (showEvent)=\"showed.emit($event)\"\n/>\n} @else if (type === fieldTypes.checkbox) {\n<v-tristatecheckbox\n [label]=\"label\"\n [testId]=\"testId\"\n [formControl]=\"formControl\"\n/>\n} @else if (type === fieldTypes.simplecheckbox) {\n<v-checkbox\n [label]=\"label\"\n [testId]=\"testId\"\n [formControl]=\"formControl\"\n/>\n} @else if (type === fieldTypes.calendar) {\n<v-calendar\n [label]=\"!floatLabel ? label : ''\"\n [floatLabel]=\"floatLabel ? label : ''\"\n [testId]=\"testId\"\n [formControl]=\"formControl\"\n [icon]=\"icons.calendar\"\n/>\n}\n","import {\r\n UntypedFormControl,\r\n UntypedFormGroup,\r\n} from '@angular/forms';\r\nimport { GenericFieldDefinition } from '@verisoft/ui-core';\r\n\r\nexport function generateFormGroup(\r\n fields: GenericFieldDefinition[] | undefined,\r\n lastGroupValue: UntypedFormGroup | undefined,\r\n inputGroup: UntypedFormGroup | undefined,\r\n inputGroupChanged = false\r\n): UntypedFormGroup {\r\n const formGroup =\r\n (inputGroupChanged\r\n ? inputGroup ?? lastGroupValue\r\n : lastGroupValue ?? inputGroup) ?? new UntypedFormGroup({});\r\n\r\n fields?.forEach((field) => {\r\n const control = formGroup.get(field.name);\r\n if (!control) {\r\n formGroup.addControl(\r\n field.name,\r\n new UntypedFormControl(field.value, field.validator)\r\n );\r\n } else if (control && control.value !== field.value) {\r\n control.setValue(field.value);\r\n control.setValidators(field.validator ?? null);\r\n }\r\n else {\r\n control.setValidators(field.validator ?? null);\r\n }\r\n\r\n if (field.readonly && (control || formGroup.get(field.name))) {\r\n formGroup.get(field.name)?.disable();\r\n }\r\n });\r\n if (!inputGroupChanged) {\r\n for (const field in formGroup.controls) {\r\n const control = fields?.find((x) => x.name == field);\r\n if (!control) {\r\n formGroup.removeControl(field);\r\n }\r\n }\r\n }\r\n\r\n return formGroup;\r\n}\r\n\r\nexport function getColumnClass(value?: number): string | undefined {\r\n if (!value) {\r\n return undefined;\r\n }\r\n\r\n switch (value) {\r\n case 1:\r\n return 'col-12';\r\n case 2:\r\n return 'col-12 col-md-6';\r\n case 3:\r\n return 'col-12 col-md-4';\r\n case 4:\r\n return 'col-12 col-md-3';\r\n case 6:\r\n return 'col-12 col-md-2';\r\n }\r\n\r\n return 'col-12 col-md-1';\r\n}\r\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n Input,\n OnChanges,\n SimpleChanges,\n} from '@angular/core';\nimport { ReactiveFormsModule, UntypedFormGroup } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { GenericFieldDefinition } from '@verisoft/ui-core';\nimport { GenericFieldComponent } from '../generic-field';\nimport {\n generateFormGroup,\n getColumnClass,\n} from './generic-form.model';\n\n@Component({\n selector: 'v-generic-form',\n standalone: true,\n imports: [\n CommonModule,\n GenericFieldComponent,\n ReactiveFormsModule,\n TranslateModule,\n ],\n templateUrl: './generic-form.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class GenericFormComponent implements OnChanges {\n @Input() formGroup?: UntypedFormGroup;\n\n @Input() fields?: GenericFieldDefinition[];\n\n @Input() columns?: number;\n\n @Input() showAsRow!: boolean;\n\n formGroupComputed!: UntypedFormGroup;\n\n columnClass?: string;\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['fields'] || changes['formGroup']) {\n this.formGroupComputed = generateFormGroup(\n this.fields,\n this.formGroupComputed,\n this.formGroup,\n !!changes['formGroup']\n );\n }\n\n if (changes['columns']) {\n this.columnClass = getColumnClass(this.columns);\n }\n }\n}\n","@if (formGroupComputed) {\r\n <div\r\n class=\"v-generic-form\"\r\n [ngClass]=\"showAsRow ? 'd-flex flex-row' : 'row'\"\r\n [formGroup]=\"formGroupComputed\"\r\n >\r\n @for(field of fields; track field) { @if (columnClass) {\r\n <div class=\"v-generic-form__column {{ columnClass }}\">\r\n <v-generic-field\r\n [type]=\"field.type\"\r\n [label]=\"field.label ?? 'NOT SET' | translate\"\r\n [floatLabel]=\"field.floatLabel\"\r\n [testId]=\"field.testId\"\r\n [options]=\"field.options\"\r\n [optionLabel]=\"field.optionLabel\"\r\n [optionValue]=\"field.optionValue ?? field.optionLabel\"\r\n [options]=\"field.options\"\r\n [size]=\"field.size\"\r\n [formControlName]=\"field.name\"\r\n [datasource]=\"field.datasource\"\r\n [showFilter]=\"field.showFilter\"\r\n [filterField]=\"field.filterField\"\r\n [localSearch]=\"field.localSearch\"\r\n ></v-generic-field>\r\n </div>\r\n } @else {\r\n <v-generic-field\r\n class=\"me-4\"\r\n [type]=\"field.type\"\r\n [label]=\"field.label ?? 'NOT SET' | translate\"\r\n [floatLabel]=\"field.floatLabel\"\r\n [testId]=\"field.testId\"\r\n [options]=\"field.options\"\r\n [optionLabel]=\"field.optionLabel\"\r\n [optionValue]=\"field.optionValue ?? field.optionLabel\"\r\n [options]=\"field.options\"\r\n [size]=\"field.size\"\r\n [formControlName]=\"field.name\"\r\n [datasource]=\"field.datasource\"\r\n [showFilter]=\"field.showFilter\"\r\n [filterField]=\"field.filterField\"\r\n [localSearch]=\"field.localSearch\"\r\n ></v-generic-field>\r\n } }\r\n </div>\r\n }\r\n","import { Directive, Input } from '@angular/core';\r\nimport { ValidatorFn } from '@angular/forms';\r\nimport { DatasourceType } from '@verisoft/core';\r\nimport { GenericFieldDefinition, GenericFieldType, GenericFieldTypeType } from '@verisoft/ui-core';\r\n\r\n@Directive({\r\n // eslint-disable-next-line @angular-eslint/directive-selector\r\n selector: 'v-filter-field',\r\n standalone: true,\r\n})\r\nexport class FilterFieldDirective implements GenericFieldDefinition {\r\n @Input({ required: true }) name!: string;\r\n\r\n @Input() type: GenericFieldTypeType | undefined = GenericFieldType.text;\r\n\r\n @Input() label: string | undefined;\r\n\r\n @Input() optionLabel!: string;\r\n\r\n @Input() optionValue: string | undefined;\r\n\r\n @Input() options: unknown[] | undefined;\r\n\r\n @Input() value?: unknown;\r\n\r\n @Input() validator?: ValidatorFn[];\r\n\r\n @Input() datasource: DatasourceType<any> | undefined;\r\n\r\n @Input() filterField?: string;\r\n\r\n @Input() showFilter?: boolean;\r\n\r\n @Input() localSearch?: boolean;\r\n}\r\n","import { FormGroup } from '@angular/forms';\r\n\r\nexport function getFilledControlCount(formGroup: FormGroup): number {\r\n let count = 0;\r\n Object.keys(formGroup.controls).forEach((key) => {\r\n const control = formGroup.get(key);\r\n if (control?.value) {\r\n if (typeof control.value === 'boolean') {\r\n count++;\r\n }\r\n if (typeof control.value === 'string' && control.value.trim() !== '') {\r\n count++;\r\n }\r\n }\r\n });\r\n\r\n return count;\r\n}\r\n","import { AsyncPipe } from '@angular/common';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n forwardRef,\n inject,\n Input,\n OnChanges,\n OnInit,\n QueryList,\n SimpleChanges,\n} from '@angular/core';\nimport {\n FormGroup,\n NG_VALUE_ACCESSOR,\n ReactiveFormsModule,\n} from '@angular/forms';\nimport { BaseHttpService } from '@verisoft/core';\nimport {\n ButtonShortCutDirective,\n DEFAULT_DEBOUNCE_TIME,\n DialogService,\n FieldSize,\n FILTER_COMPONENT_TOKEN,\n FilterCore,\n GenericFieldDefinition,\n isFilterEmpty,\n ScreenSizeService,\n UnsubscribeComponent,\n} from '@verisoft/ui-core';\nimport { BadgeModule } from 'primeng/badge';\nimport {\n BehaviorSubject,\n combineLatestWith,\n debounceTime,\n distinctUntilChanged,\n map,\n Observable,\n startWith,\n takeUntil,\n} from 'rxjs';\nimport { Icons } from '../../../icons';\nimport { ButtonComponent } from '../../button';\nimport { TextfieldComponent } from '../../textfield';\nimport { generateFormGroup, GenericFormComponent } from '../generic-form';\nimport { FilterFieldDirective } from './directives/filter-field.directive';\nimport { getFilledControlCount } from './filter.model';\n\ntype FilterValueType = { [key: string]: unknown };\n\n@Component({\n selector: 'v-filter',\n standalone: true,\n imports: [\n AsyncPipe,\n ReactiveFormsModule,\n BadgeModule,\n TextfieldComponent,\n GenericFormComponent,\n ButtonComponent,\n ButtonShortCutDirective,\n ],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => FilterComponent),\n multi: true,\n },\n {\n provide: FILTER_COMPONENT_TOKEN,\n useExisting: FilterComponent,\n },\n ],\n templateUrl: './filter.component.html',\n styleUrl: './filter.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FilterComponent<T extends object>\n extends UnsubscribeComponent\n implements OnChanges, OnInit, AfterContentInit, FilterCore\n{\n @ContentChildren(FilterFieldDirective)\n fieldDeclarations!: QueryList<FilterFieldDirective>;\n\n @Input() fields: GenericFieldDefinition[] = [];\n\n @Input() filters: GenericFieldDefinition[] = [];\n\n @Input() title?: string;\n\n @Input() fulltextFieldName = 'searchField';\n\n @Input() showFulltext = true;\n\n @Input() showFilters = true;\n\n @Input() autoBind = true;\n\n @Input() debounceTime?: number = DEFAULT_DEBOUNCE_TIME;\n\n icons = Icons;\n\n fieldDefinitios$?: Observable<GenericFieldDefinition[]>;\n\n formGroup$?: Observable<FormGroup>;\n\n simpleFormFieldDefinitions$?: Observable<GenericFieldDefinition[]>;\n\n private searchField: GenericFieldDefinition = {\n name: this.fulltextFieldName,\n };\n\n private onTouch?: () => void;\n\n private onChange?: (value: FilterValueType | undefined) => void;\n\n private inputFields$ = new BehaviorSubject<\n GenericFieldDefinition[] | undefined\n >([...this.fields ?? [], ...this.filters ?? []]);\n\n FieldSize = FieldSize;\n\n protected screenSizeService = inject(ScreenSizeService);\n protected changeDetectorRef = inject(ChangeDetectorRef);\n protected dialogService = inject(DialogService);\n\n service!: BaseHttpService<T>;\n\n formGroup = new FormGroup({});\n\n filledFiltersCount$: Observable<string> = this.formGroup.valueChanges.pipe(\n startWith(this.formGroup),\n map(() => getFilledControlCount(this.formGroup).toString())\n );\n\n private lastFormFields: GenericFieldDefinition[] = [];\n\n ngOnInit(): void {\n this.formGroup.valueChanges\n .pipe(\n takeUntil(this.destroyed$),\n debounceTime(this.debounceTime ?? DEFAULT_DEBOUNCE_TIME),\n map((x) => this.convertFilter(x)),\n distinctUntilChanged()\n )\n .subscribe((value) => this.onChange?.(value));\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['fields'] || changes['filters']) {\n this.inputFields$.next([...this.fields ?? [], ...this.filters ?? []]);\n }\n }\n\n ngAfterContentInit(): void {\n const fieldDeclaratios$: Observable<GenericFieldDefinition[]> =\n this.fieldDeclarations.changes.pipe(\n startWith({}),\n map(() => this.fieldDeclarations.toArray())\n );\n\n this.fieldDefinitios$ = this.inputFields$.pipe(\n combineLatestWith(fieldDeclaratios$),\n map(([inputs, views]) => {\n this.searchField.name = this.fulltextFieldName;\n this.lastFormFields = [this.searchField, ...(inputs ?? []), ...views];\n return this.lastFormFields;\n })\n );\n\n this.simpleFormFieldDefinitions$ = this.fieldDefinitios$.pipe(\n map((fields) => {\n return fields\n .filter((x) => x.name !== this.fulltextFieldName)\n .map((x) => ({ ...x, floatLabel: true, size: FieldSize.large }));\n })\n );\n\n this.formGroup$ = this.fieldDefinitios$.pipe(\n map((fields) =>\n generateFormGroup(fields, this.formGroup, undefined, false)\n )\n );\n\n this.changeDetectorRef.detectChanges();\n }\n\n protected openFilter() {\n const fields = this.lastFormFields.map((x) => ({\n ...x,\n label:\n x.name === this.fulltextFieldName ? 'Fulltext' : x.label ?? x.name,\n }));\n\n const formGroup = generateFormGroup(\n this.lastFormFields,\n undefined,\n undefined,\n false\n );\n formGroup.patchValue(this.formGroup.value);\n this.dialogService.showDialog({\n title: 'Set filters',\n headerIcon: this.icons.filter,\n severity: 'primary',\n componentType: GenericFormComponent,\n data: {\n formGroup,\n fields: fields,\n columns: 1,\n },\n confirmButtonFn: () => this.setFilterValues(formGroup),\n confirmButtonText: 'Apply',\n cancelButtonFn: () => this.clear(),\n cancelButtonText: 'Clear all',\n showCancelButton: true,\n closable: false,\n });\n }\n\n protected openSearch() {\n this.dialogService.showDialog({\n headerIcon: 'pi pi-search',\n severity: 'primary',\n innerHTML: '<p>Search</p>',\n confirmButtonFn: () => this.submitValue(),\n confirmButtonText: 'Apply',\n cancelButtonFn: () => this.clear(),\n cancelButtonText: 'Clear all',\n showCancelButton: true,\n closable: false,\n });\n }\n\n writeValue(data: FilterValueType): void {\n this.formGroup.patchValue(data);\n }\n\n registerOnChange(fn: (value: FilterValueType | undefined) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouch = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n isDisabled ? this.formGroup.disable() : this.formGroup.enable();\n }\n\n submitValue() {\n if (!this.autoBind) {\n this.onChange?.(this.formGroup.value);\n }\n }\n\n setFilterValues(dialogFormGroup: FormGroup) {\n this.formGroup.setValue(dialogFormGroup.value);\n this.submitValue();\n }\n\n clear() {\n this.formGroup.reset();\n this.submitValue();\n }\n\n private convertFilter(\n value: FilterValueType | undefined\n ): FilterValueType | undefined {\n if (value == undefined) {\n return undefined;\n }\n\n const isEmpty = isFilterEmpty(value);\n if (isEmpty) {\n return undefined;\n }\n\n return value;\n }\n}\n","<div class=\"v-filter w-100 p-3 bg-primary\">\n @if (formGroup$ | async; as formGroup){\n <form [formGroup]=\"formGroup\" class=\"d-flex align-items-center\">\n @if (title) {\n <div class=\"v-filter_title pe-4\">\n <h2 class=\"text-white m-0\">{{ title }}</h2>\n </div>\n }\n <div class=\"v-filter__fulltext flex-grow-1 pe-4\">\n @if (showFulltext){\n <v-textfield\n class=\"d-none d-lg-block\"\n placeholder=\"Search\"\n size=\"large\"\n formControlName=\"searchField\"\n type=\"search\"\n [clearable]=\"true\"\n >\n </v-textfield>\n }\n </div>\n @if (simpleFormFieldDefinitions$ | async; as declaration){\n @if (showFilters)\n {\n <div class=\"v-filter_filters d-none d-sm-block me-2\">\n <v-generic-form\n [fields]=\"declaration\"\n [formGroup]=\"formGroup\"\n ></v-generic-form>\n <v-button label=\"X\" class=\"mt-3\" (click)=\"clear()\" />\n </div>\n }\n <div class=\"v-filter_action-buttons d-flex\">\n @if (declaration.length && !showFilters) {\n <v-button \n class=\"me-4\"\n [icon]=\"icons.filter\"\n [label]=\"$any(filledFiltersCount$ | async)\"\n (click)=\"openFilter()\"\n />\n } @if (!autoBind) {\n <v-button\n useShortCut\n [shortCutFn]=\"submitValue.bind(this)\"\n shortCutKey=\"Enter\"\n class=\"text-white mx-2\"\n [outlined]=\"true\"\n size=\"small\"\n label=\"Apply\"\n (click)=\"submitValue()\"\n ></v-button>\n <v-button\n useShortCut\n [shortCutFn]=\"clear.bind(this)\"\n shortCutKey=\"Escape\"\n class=\"text-white\"\n [outlined]=\"true\"\n size=\"small\"\n label=\"Clear\"\n (click)=\"clear()\"\n ></v-button>\n } \n </div>\n }\n <ng-content select=\"v-action-button-group\"></ng-content>\n </form>\n }\n</div>\n","import { Directive } from '@angular/core';\nimport { FilterFieldDirective } from '../../filter';\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'v-feature-list-filter-field',\n standalone: true,\n})\nexport class FeatureListFilterFieldDirective extends FilterFieldDirective {}","import { Pipe, PipeTransform } from \"@angular/core\";\nimport { GenericFieldDefinition, GenericFieldType } from \"@verisoft/ui-core\";\nimport { FeatureListColumnDefinition } from \"./feature-list-page.model\";\n\n@Pipe({\n name: 'featureListColumn',\n standalone: true,\n})\nexport class FeatureListFilterPipe<T> implements PipeTransform {\n transform(value: FeatureListColumnDefinition<T>[] | undefined): GenericFieldDefinition[] | undefined {\n if (!value){\n return undefined;\n }\n\n return value.filter(x => x.filter).map((x, index) => ({\n name: x.id,\n label: typeof x.headerName === 'function'? x.headerName(x.id, index) : x.headerName ?? '',\n type: x.type as GenericFieldType,\n }));\n }\n}","import { Component } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport {\n FEATURE_LIST_PAGE_CONFIG_PROPERTY,\n FeatureListPageConfig,\n} from './feature-list-page.model';\nimport { FeatureListComponent } from './feature-list.component';\n\n@Component({\n selector: 'v-feature-list-page',\n standalone: true,\n imports: [FeatureListComponent],\n template: `\n <v-feature-list\n [title]=\"config.title\"\n [tableName]=\"config.tableName\"\n [showAdd]=\"config.showAdd ?? true\"\n [showDownload]=\"config.showDownload ?? true\"\n [showDelete]=\"config.showDelete ?? true\"\n >\n </v-feature-list>\n `,\n})\nexport class FeatureListPageComponent {\n config!: FeatureListPageConfig;\n\n constructor(activatedRoute: ActivatedRoute) {\n this.config =\n activatedRoute.snapshot.data[FEATURE_LIST_PAGE_CONFIG_PROPERTY];\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Route } from '@angular/router';\nimport { ColumnDefinition, GenericFieldTypeType } from '@verisoft/ui-core';\nimport { FeatureListPageComponent } from './feature-list-page.component';\n\nexport interface FeatureListPageConfig {\n title: string;\n datasource: string;\n tableName: string;\n showAdd?: boolean;\n showDownload?: boolean;\n showDelete?: boolean;\n}\n\nexport const FEATURE_LIST_PAGE_CONFIG_PROPERTY = 'feature_list_config';\n\nexport function addFeatureListPage(\n value: Partial<Route> & { config: FeatureListPageConfig }\n): Route {\n const { config, ...route } = value;\n return {\n component: FeatureListPageComponent,\n ...route,\n data: {\n [FEATURE_LIST_PAGE_CONFIG_PROPERTY]: config,\n ...(route.data ?? {}),\n },\n };\n}\n\nexport interface FeatureListColumnDefinition<T> extends ColumnDefinition<T> {\n filter?: boolean;\n type?: GenericFieldTypeType;\n}\n\nexport const FEATURE_LIST_COLUMN_PROVIDER = new InjectionToken(\n 'FEATURE_LIST_COLUMN_PROVIDER'\n);\n\nexport interface FeatureListColumnProvider<T> {\n getDefinition: () => FeatureListColumnDefinition<T>;\n}\n","import { HttpClient } from '@angular/common/http';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n EventEmitter,\n inject,\n Input,\n Output,\n QueryList,\n ViewChild,\n} from '@angular/core';\nimport {\n AllDataRequestParams,\n BASE_URL_PATH,\n BaseHttpService,\n convertDatasource,\n DatasourceType,\n DEFAULT_PAGE_SIZE,\n} from '@verisoft/core';\nimport {\n ColumnModel,\n DialogService,\n downloadFile,\n GenericFieldDefinition,\n MAX_COLUMN_CHAR_COUNT,\n TableDatasourceDirective,\n TableFilterDirective,\n TableSelectionMode,\n TableSelectionModeType,\n} from '@verisoft/ui-core';\nimport { take, switchMap, forkJoin, Observable, of } from 'rxjs';\nimport { Icons } from '../../../icons';\nimport { TableComponent } from '../../table';\nimport {\n ActionButtonComponent,\n ActionButtonGroupComponent,\n} from '../action-button-group';\nimport { FilterComponent } from '../filter';\nimport { FeatureListFilterFieldDirective } from './directives/feature-list-filter-field.directive';\nimport { FeatureListFilterPipe } from './feature-list-filter.pipe';\nimport {\n FEATURE_LIST_COLUMN_PROVIDER,\n FeatureListColumnDefinition,\n FeatureListColumnProvider,\n} from './feature-list-page.model';\n\n@Component({\n selector: 'v-feature-list',\n imports: [\n TableComponent,\n TableDatasourceDirective,\n FilterComponent,\n TableFilterDirective,\n ActionButtonGroupComponent,\n ActionButtonComponent,\n FeatureListFilterPipe,\n ],\n standalone: true,\n templateUrl: './feature-list.component.html',\n styleUrls: ['./feature-list.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FeatureListComponent<T> implements AfterViewInit {\n @ContentChildren(FEATURE_LIST_COLUMN_PROVIDER) viewColumns!: QueryList<\n FeatureListColumnProvider<T>\n >;\n\n @ContentChildren(FeatureListFilterFieldDirective)\n fieldDeclarations!: QueryList<FeatureListFilterFieldDirective>;\n\n @ViewChild(TableDatasourceDirective)\n tableDatasourceDirective!: TableDatasourceDirective<T>;\n\n @Input() autoBind = true;\n\n @Input() title!: string;\n\n @Input() columns!: FeatureListColumnDefinition<T>[];\n\n @Input() filters!: GenericFieldDefinition[];\n\n @Input() maxVisibleActions = 2;\n\n @Input({ required: true }) tableName!: string;\n\n @Input() ngrxFeatureKey?: string;\n\n @Input() maxVisibleMobileActions = 0;\n\n @Input() showExtendedFilter = false;\n\n @Input() showDownload = false;\n\n @Input() showDelete = false;\n\n @Input() showAdd = false;\n\n @Input() canDownload = true;\n\n @Input() canDelete = true;\n\n @Input() canAdd = true;\n\n @Input() useRouterFilter = true;\n\n @Input() fulltextFieldName = 'searchField';\n\n @Input() showFulltext = true;\n\n @Input() deleteConfirmMessage: string | undefined;\n\n @Input() autoDeleteEnabled = true;\n\n @Input() autoDownloadEnabled = true;\n\n @Input() downloadFileName = 'export.csv';\n\n @Input() datasource!: DatasourceType<T>;\n\n @Input() extraFilter!: any;\n\n @Input() disableCustomClicks = false;\n\n @Input() maximumColumnLength = MAX_COLUMN_CHAR_COUNT;\n\n @Output() addClick = new EventEmitter();\n\n @Output() downloadClick = new EventEmitter();\n\n @Output() deleteClick = new EventEmitter<T[]>();\n\n @Output() selectionChange = new EventEmitter();\n\n @Input() set selectionMode(mode: TableSelectionModeType | undefined) {\n this._selectionMode = mode;\n }\n\n get selectionMode(): TableSelectionModeType | undefined {\n return this.canDelete\n ? TableSelectionMode.single\n : this._selectionMode;\n }\n\n icons = Icons;\n\n private httpClient = inject(HttpClient);\n\n private baseUrl: string = inject(BASE_URL_PATH);\n\n private _selectionMode: TableSelectionModeType | undefined;\n\n private cdRef = inject(ChangeDetectorRef);\n\n private dialogService = inject(DialogService);\n\n selection: T[] = [];\n\n ngAfterViewInit(): void {\n if (this.viewColumns?.length) {\n const vewColumns = this.viewColumns\n ?.toArray()\n .map((x) => x.getDefinition());\n this.columns = [...(this.columns ?? []), ...(vewColumns ?? [])];\n this.cdRef.detectChanges();\n }\n\n if (this.fieldDeclarations?.length) {\n this.filters = this.fieldDeclarations?.toArray();\n }\n\n this.cdRef.detectChanges();\n }\n\n selectItems(items: T[]) {\n this.selection = items ?? [];\n\n if (this.selectionMode !== undefined) {\n this.selectionChange.emit(\n this.selectionMode === 'multiple'\n ? this.selection\n : this.selection[0]\n );\n }\n }\n\n startDeleteItems() {\n if (!this.selection.length) {\n return;\n }\n\n if (this.deleteConfirmMessage) {\n const message = this.deleteConfirmMessage;\n this.dialogService.showDialog({\n innerHTML: message,\n confirmButtonFn: () => this.deleteItems(this.selection),\n });\n } else {\n this.deleteItems(this.selection);\n }\n }\n\n startDownload() {\n this.downloadClick.emit();\n if (!this.autoDownloadEnabled) {\n return;\n }\n\n const dowloadFn = this.createDownloadFn(this.datasource);\n if (dowloadFn) {\n this.tableDatasourceDirective.params$\n .pipe(\n take(1),\n switchMap((params) => dowloadFn(params))\n )\n .subscribe((blob) => {\n downloadFile(this.downloadFileName, blob);\n });\n }\n }\n\n private deleteItems(items: T[]) {\n if (!this.autoDeleteEnabled) {\n this.deleteClick.emit(items);\n } else {\n this.forceDelete(items);\n }\n }\n\n private forceDelete(items: T[]) {\n const deleteFn = this.createDeleteFn(this.datasource);\n if (deleteFn) {\n const deleteMethods = items.map((x) => deleteFn(x));\n forkJoin(deleteMethods)\n .pipe(take(1))\n .subscribe(() => this.finishDeletion(items));\n } else {\n this.finishDeletion(items);\n }\n }\n\n private createDeleteFn(\n datasource: DatasourceType<T>\n ): ((item: T) => Observable<unknown>) | undefined {\n if (!datasource) {\n return undefined;\n }\n\n if (typeof datasource === 'string') {\n const service = new BaseHttpService<T>(\n this.httpClient,\n this.baseUrl,\n datasource\n );\n\n return (item: T) => service.delete((item as { id: string }).id);\n }\n\n if (datasource instanceof BaseHttpService) {\n return (item: T) => datasource.delete((item as { id: string }).id);\n }\n\n return undefined;\n }\n\n private createDownloadFn(\n datasource: DatasourceType<T>\n ): ((request: AllDataRequestParams<T>) => Observable<Blob>) | undefined {\n if (!datasource) {\n return undefined;\n }\n\n if (typeof datasource === 'string') {\n const service = new BaseHttpService<T>(\n this.httpClient,\n this.baseUrl,\n datasource\n );\n\n return (request: AllDataRequestParams<T>) => service.export(request);\n }\n\n if (datasource instanceof BaseHttpService) {\n return (request: AllDataRequestParams<T>) => datasource.export(request);\n }\n\n const fetchFunction = convertDatasource(\n datasource,\n this.baseUrl,\n this.httpClient\n );\n\n return (request: AllDataRequestParams<T>) => {\n const allData: T[] = [];\n let offset = 0;\n const fetchAllData = (): Observable<Blob> => {\n return fetchFunction({\n ...request,\n offset,\n limit: DEFAULT_PAGE_SIZE,\n }).pipe(\n take(1),\n switchMap((response) => {\n allData.push(...response.data);\n if (allData.length < response.total) {\n offset = offset + DEFAULT_PAGE_SIZE;\n return fetchAllData();\n } else {\n return of(this.convertToBlob(allData));\n }\n })\n );\n };\n\n return fetchAllData();\n };\n }\n\n private finishDeletion(items: T[]) {\n if (this.datasource && Array.isArray(this.datasource)) {\n this.datasource = this.datasource.filter((x) => !items.includes(x));\n } else {\n this.tableDatasourceDirective.reload();\n }\n\n this.deleteClick.emit(items);\n }\n\n private convertToBlob(data: T[]): Blob {\n const columnModel = this.columns.map((x) => new ColumnModel(x));\n const headers = columnModel.map((x, index) => x.headerGetter(x.id, index));\n const dataValues = data.map((row, rowIndex) =>\n columnModel.map((column) => column.valueGetter(row, rowIndex))\n );\n const csvData = [headers, ...dataValues]\n .map((row) => row.join(','))\n .join('\\n');\n return new Blob([csvData], { type: 'text/csv' });\n }\n}\n","<div class=\"feature-list__container full-height-container\">\n <v-filter\n #filter\n [title]=\"title\"\n [fields]=\"columns | featureListColumn\"\n [filters]=\"filters\"\n [fulltextFieldName]=\"fulltextFieldName\"\n [showFulltext]=\"showFulltext\"\n [showFilters]=\"showExtendedFilter\"\n >\n <v-action-button-group\n [maxItems]=\"maxVisibleActions\"\n [maxItemsMobile]=\"maxVisibleMobileActions\"\n >\n @if (showAdd) {\n <v-action-button\n [icon]=\"icons.add\"\n label=\"Add\"\n [disabled]=\"!canAdd\"\n (click)=\"addClick.emit()\"\n ></v-action-button>\n } @if (showDelete){\n <v-action-button\n [icon]=\"icons.delete\"\n label=\"Delete\"\n [disabled]=\"!canDelete || !selection.length\"\n (click)=\"startDeleteItems()\"\n ></v-action-button>\n } @if (showDownload){\n <v-action-button\n [icon]=\"icons.download\"\n label=\"Download\"\n [disabled]=\"!canDownload\"\n (click)=\"startDownload()\"\n ></v-action-button>\n }\n </v-action-button-group>\n </v-filter>\n <div class=\"feature-list__table-container full-height-container\">\n <div class=\"full-height-container\">\n <v-table\n useDatasource\n useFilter\n [filterComponent]=\"filter\"\n class=\"full-height-container\"\n [selectionMode]=\"selectionMode\"\n [tableName]=\"tableName\"\n [autoBind]=\"true\"\n [datasource]=\"datasource\"\n [columns]=\"columns\"\n [extraFilter]=\"extraFilter\"\n [maximumColumnLength]=\"maximumColumnLength\"\n [disableCustomClicks]=\"disableCustomClicks\"\n (selectionChange)=\"selectItems($event)\"\n >\n </v-table>\n </div>\n </div>\n</div>\n","import { Directive, Input } from '@angular/core';\nimport { GenericFieldType, GenericFieldTypeType, TableColumnDirective } from '@verisoft/ui-core';\nimport { FEATURE_LIST_COLUMN_PROVIDER, FeatureListColumnDefinition, FeatureListColumnProvider } from '../feature-list-page.model';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'v-feature-list-column',\n standalone: true,\n providers: [\n {\n provide: FEATURE_LIST_COLUMN_PROVIDER,\n useExisting: FeatureListColumnDirective,\n multi: true,\n },\n ],\n})\nexport class FeatureListColumnDirective<T>\n extends TableColumnDirective<T>\n implements FeatureListColumnProvider<T>\n{\n @Input() filter = false;\n\n @Input() type: GenericFieldTypeType = GenericFieldType.text;\n\n override getDefinition(): FeatureListColumnDefinition<T> {\n const definition = super.getDefinition() as FeatureListColumnDefinition<T>;\n definition.filter = this.filter;\n definition.type = this.type;\n definition.format = this.format;\n return definition;\n }\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\r\nimport {\r\n Injectable,\r\n ViewContainerRef,\r\n Type,\r\n ComponentFactoryResolver,\r\n Injector,\r\n ComponentRef,\r\n ComponentFactory,\r\n OnChanges,\r\n SimpleChanges,\r\n SimpleChange,\r\n EventEmitter,\r\n OnDestroy,\r\n} from '@angular/core';\r\nimport { ExtendedComponent } from '@verisoft/ui-core';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class DynamicComponentFactoryService implements OnDestroy {\r\n constructor(private componentFactoryResolver: ComponentFactoryResolver) { }\r\n\r\n ngOnDestroy(): void {\r\n this.unsubscribeComponentEvents(this);\r\n }\r\n\r\n async createDynamicComponent<TComponent>(\r\n componentType: Type<TComponent>,\r\n viewContainerRef: ViewContainerRef,\r\n inputs: ExtendedComponent<TComponent>,\r\n injector: Injector | undefined = undefined\r\n ) {\r\n const componentFactory =\r\n this.componentFactoryResolver.resolveComponentFactory(componentType);\r\n viewContainerRef.clear();\r\n const component = viewContainerRef.createComponent(\r\n componentFactory,\r\n undefined,\r\n injector\r\n );\r\n this.setComponentDataInt(componentFactory, component, inputs);\r\n this.fireComponentEvents(component.instance, inputs);\r\n return component;\r\n }\r\n\r\n setComponentData<TComponent>(\r\n component: ComponentRef<TComponent>,\r\n inputs: Partial<TComponent>\r\n ) {\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(\r\n component.componentType\r\n );\r\n\r\n this.setComponentDataInt(factory, component, inputs);\r\n }\r\n\r\n private unsubscribeComponentEvents<TComponent>(instance: TComponent) {\r\n const subscriptionStoreKey = '__outputSubscriptions__';\r\n const subscriptions = (instance as any)[subscriptionStoreKey] as Map<string, Subscription>;\r\n\r\n if (subscriptions) {\r\n subscriptions.forEach((sub) => sub.unsubscribe());\r\n subscriptions.clear();\r\n }\r\n }\r\n\r\n private fireComponentEvents<TComponent>(\r\n instance: TComponent,\r\n inputs: ExtendedComponent<TComponent>\r\n ) {\r\n if (!instance || typeof instance !== 'object') return;\r\n\r\n this.fireInputComponentEvents(instance, inputs);\r\n this.fireOutputComponentEvents(instance, inputs);\r\n }\r\n\r\n private setComponentDataInt<TComponent>(\r\n factory: ComponentFactory<TComponent>,\r\n component: ComponentRef<TComponent>,\r\n inputs: Partial<TComponent>\r\n ) {\r\n if (inputs) {\r\n const propertyNames = factory.inputs.map((x) => x.propName);\r\n const inputsHash = new Set(propertyNames);\r\n Object.keys(inputs)\r\n .filter((x) => inputsHash.has(x))\r\n .forEach((x) => {\r\n (<{ [key: string]: unknown }>component.instance)[x] = (<\r\n { [key: string]: unknown }\r\n >inputs)[x];\r\n });\r\n }\r\n }\r\n\r\n private fireInputComponentEvents<TComponent>(\r\n instance: TComponent,\r\n inputs: ExtendedComponent<TComponent>\r\n ) {\r\n const onChangeComponent = instance as unknown as OnChanges;\r\n if (onChangeComponent.ngOnChanges && inputs) {\r\n const changeEventArgs = Object.keys(inputs).reduce((changes: SimpleChanges, key: string) => {\r\n const inputValue = (inputs as { [key: string]: unknown })[key];\r\n changes[key] = new SimpleChange(undefined, inputValue, true);\r\n return changes;\r\n }, {} as SimpleChanges);\r\n\r\n onChangeComponent.ngOnChanges(changeEventArgs);\r\n }\r\n }\r\n\r\n private fireOutputComponentEvents<TComponent>(\r\n instance: TComponent & object,\r\n inputs: ExtendedComponent<TComponent>\r\n ) {\r\n const outputs = Object.keys(inputs).filter((key) => {\r\n const emitter = (instance as Record<string, any>)[key];\r\n return emitter instanceof EventEmitter;\r\n });\r\n\r\n const subscriptionStoreKey = '__outputSubscriptions__';\r\n if (!(subscriptionStoreKey in instance)) {\r\n (instance as any)[subscriptionStoreKey] = new Map<string, Subscription>();\r\n }\r\n const subscriptions = (instance as any)[subscriptionStoreKey] as Map<string, Subscription>;\r\n\r\n for (const outputKey of outputs) {\r\n const eventEmitter = (instance as Record<string, any>)[outputKey] as EventEmitter<any>;\r\n const callback = inputs[outputKey] as (value: any) => void;\r\n\r\n if (eventEmitter && typeof callback === 'function') {\r\n if (subscriptions.has(outputKey)) {\r\n subscriptions.get(outputKey)!.unsubscribe();\r\n }\r\n\r\n const subscription = eventEmitter.subscribe((value: any) => callback(value));\r\n subscriptions.set(outputKey, subscription);\r\n }\r\n }\r\n }\r\n}\r\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n inject,\n Injector,\n Input,\n OnChanges,\n Type,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { ExtendedComponent } from '@verisoft/ui-core';\nimport { DynamicComponentFactoryService } from './dynamic-component-factory.service';\n\n@Component({\n selector: 'v-dynamic-component',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `<ng-container #dynamicContainer></ng-container>`,\n})\nexport class DynamicComponent<TComponent> implements AfterViewInit, OnChanges {\n @Input() componentType!: Type<TComponent>;\n\n @Input() data!: ExtendedComponent<TComponent>;\n\n @ViewChild('dynamicContainer', { read: ViewContainerRef, static: true })\n container!: ViewContainerRef;\n\n private factoryServices = inject(DynamicComponentFactoryService);\n\n private changeDetectorRef = inject(ChangeDetectorRef);\n\n private injector = inject(Injector);\n\n ngOnChanges(): void {\n this.createComponent();\n }\n\n ngAfterViewInit(): void {\n this.createComponent();\n this.changeDetectorRef.detectChanges();\n }\n\n private createComponent() {\n if (this.container) {\n this.factoryServices.createDynamicComponent(\n this.componentType,\n this.container,\n this.data,\n this.injector\n );\n }\n }\n}\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n OnInit,\n} from '@angular/core';\nimport { PAGE_HEADER_COMPONENT_TOKEN, PageHeaderCore, PageHeaderCoreComponent } from '@verisoft/ui-core';\nimport { Icons } from '../../icons';\nimport { ButtonComponent } from '../button';\nimport { ActionButtonGroupComponent } from '../shared-components';\n\n@Component({\n selector: 'v-page-header',\n standalone: true,\n imports: [CommonModule, ButtonComponent],\n templateUrl: './page-header.component.html',\n styleUrl: './page-header.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n { provide: PAGE_HEADER_COMPONENT_TOKEN, useExisting: PageHeaderComponent },\n ],\n})\nexport class PageHeaderComponent\n extends PageHeaderCoreComponent\n implements OnInit, PageHeaderCore\n{\n @ContentChild(ActionButtonGroupComponent)\n buttonGroup?: ActionButtonGroupComponent;\n \n icons = Icons;\n}\n","<div\n class=\"v-page-header d-block d-md-flex px-3 w-100 gap-0 gap-md-4 align-items-center text-center text-md-start\"\n>\n <v-button\n *ngIf=\"showBackButton\"\n size=\"small\"\n [icon]=\"icons.arrowLeft\"\n label=\"Back\"\n [outlined]=\"true\"\n (click)=\"locationBack()\"\n ></v-button>\n <div\n class=\"align-items-center justify-content-center justify-content-md-start gap-2 w-100 d-flex\"\n >\n <h1 class=\"text-primary m-0\" [innerText]=\"title\"></h1>\n <div\n *ngIf=\"subtitle\"\n class=\"d-flex gap-2 align-items-center text-center text-md-start\"\n >\n <h1 class=\"text-default m-0\" [innerText]=\"'-'\"></h1>\n <h1 class=\"text-default\" [innerText]=\"subtitle\"></h1>\n </div>\n </div>\n <div\n class=\"align-content-center page-header-action-buttons justify-content-center w-100\"\n >\n <div *ngIf=\"buttonGroup\">\n <ng-content [select]=\"buttonGroup\"></ng-content>\n </div>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\nimport {\n StepperCore,\n STEPPER_COMPONENT_TOKEN,\n StepperItem,\n LayoutType,\n LayoutTypeType,\n FieldSizeType,\n FieldSize\n} from '@verisoft/ui-core';\nimport { StepperModule } from 'primeng/stepper';\nimport { Icons } from '../../icons';\nimport { ButtonComponent } from '../button';\n\n@Component({\n selector: 'v-stepper',\n standalone: true,\n imports: [CommonModule, ButtonComponent, StepperModule],\n templateUrl: './stepper.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n { provide: STEPPER_COMPONENT_TOKEN, useExisting: StepperComponent },\n ],\n})\nexport class StepperComponent \n implements StepperCore\n{\n @Input() items!: StepperItem[];\n\n icons = Icons;\n @Input() prefix!: string;\n @Input() label!: string;\n @Input() size: FieldSizeType | undefined = FieldSize.medium;\n @Input() layout: LayoutTypeType = LayoutType.horizontal;\n @Input() icon!: string;\n @Input() activeIndex = 0;\n @Input() annotation!: string;\n @Output() activeIndexChange = new EventEmitter<number>();\n}\n","<div class=\"v-stepper\">\n <p-stepper>\n <p-stepperPanel\n *ngFor=\"let item of items; let index = index\"\n [header]=\"item.header\"\n >\n <ng-template\n pTemplate=\"content\"\n let-nextCallback=\"nextCallback\"\n let-prevCallback=\"prevCallback\"\n let-index=\"index\"\n >\n <ng-container *ngIf=\"item.template && item.template.elementRef\">\n <ng-template\n *ngTemplateOutlet=\"\n item.template;\n context: { item: item, index: index }\n \"\n />\n </ng-container>\n <div class=\"d-flex pt-4 justify-content-between\">\n <v-button\n *ngIf=\"index > 0\"\n label=\"Back\"\n [icon]=\"icons.arrowLeft\"\n size=\"small\"\n [outlined]=\"true\"\n (click)=\"prevCallback.emit()\"\n />\n\n <v-button\n *ngIf=\"index < items.length - 1\"\n label=\"Next\"\n size=\"small\"\n [icon]=\"icons.arrowRight\"\n iconPos=\"right\"\n (click)=\"nextCallback.emit()\"\n />\n </div>\n </ng-template>\n </p-stepperPanel>\n </p-stepper>\n</div>\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n forwardRef,\n Input,\n Optional,\n Self,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n NgControl,\n ReactiveFormsModule,\n} from '@angular/forms';\nimport { BaseFormInputComponent, BaseInputControls, SLIDER_COMPONENT_TOKEN, SliderCore } from '@verisoft/ui-core';\nimport { SliderModule } from 'primeng/slider';\nimport { ErrorComponent } from '../errors';\nimport { FormFieldComponent } from '../form-field';\n\n@Component({\n selector: 'v-slider',\n standalone: true,\n imports: [\n CommonModule,\n SliderModule,\n ReactiveFormsModule,\n FormFieldComponent,\n ErrorComponent\n ],\n templateUrl: './slider.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: BaseInputControls,\n useExisting: forwardRef(() => SliderComponent),\n },\n {\n provide: SLIDER_COMPONENT_TOKEN,\n useExisting: SliderComponent,\n },\n ],\n})\nexport class SliderComponent\n extends BaseFormInputComponent\n implements ControlValueAccessor, SliderCore\n{\n @Input() step = 1;\n\n @Input() min = 0;\n\n @Input() max = 100;\n\n @Input() range = false;\n\n constructor(@Optional() @Self() ngControl: NgControl) {\n super(ngControl);\n }\n}\n","<div class=\"v-slider\">\n <v-form-field\n class=\"w-100\"\n [label]=\"label\"\n [tooltip]=\"tooltip\"\n [required]=\"isRequired()\"\n [testId]=\"testId\"\n >\n <p-slider\n class=\"w-100\"\n [formControl]=\"formControl\"\n [step]=\"step\"\n [range]=\"range\"\n [min]=\"min\"\n [max]=\"max\"\n />\n <v-validation-message [ngControl]=\"ngControl\"></v-validation-message>\n </v-form-field>\n</div>","import { CommonModule } from '@angular/common';\nimport { ChangeDetectorRef, Component, OnInit } from '@angular/core';\nimport {\n CONFIRM_DIALOG_COMPONENT_TOKEN,\n ConfirmDialogCore,\n DialogData,\n DialogService,\n UnsubscribeComponent,\n} from '@verisoft/ui-core';\nimport { AvatarModule } from 'primeng/avatar';\nimport { DialogModule } from 'primeng/dialog';\nimport { takeUntil } from 'rxjs';\nimport { ButtonComponent } from '../button';\nimport { DynamicComponent } from '../shared-components';\n\n@Component({\n selector: 'v-confirm-dialog',\n standalone: true,\n imports: [\n CommonModule,\n DialogModule,\n ButtonComponent,\n AvatarModule,\n DynamicComponent,\n ],\n templateUrl: './confirm-dialog.component.html',\n styleUrl: './confirm-dialog.component.scss',\n providers: [\n {\n provide: CONFIRM_DIALOG_COMPONENT_TOKEN,\n useExisting: ConfirmDialogComponent,\n },\n ],\n})\nexport class ConfirmDialogComponent\n extends UnsubscribeComponent\n implements OnInit, ConfirmDialogCore\n{\n constructor(\n private readonly dialogService: DialogService,\n private readonly cdr: ChangeDetectorRef\n ) {\n super();\n }\n\n visible = false;\n protected closable = false;\n data!: DialogData;\n\n ngOnInit(): void {\n this.dialogService.showEvent\n .pipe(takeUntil(this.destroyed$))\n .subscribe((x: DialogData) => {\n this.data = x;\n this.visible = true;\n this.cdr.detectChanges();\n });\n }\n\n protected dialogClick(confirm: boolean) {\n const { confirmButtonFn, cancelButtonFn } = this.data;\n\n if (confirm && confirmButtonFn) {\n confirmButtonFn();\n }\n\n if (!confirm && cancelButtonFn) {\n cancelButtonFn();\n }\n\n this.visible = false;\n this.cdr.detectChanges();\n }\n}\n","<div class=\"v-dialog d-flex justify-content-center\" *ngIf=\"data\">\n <p-dialog\n [(visible)]=\"visible\"\n [modal]=\"true\"\n [closable]=\"closable\"\n [style]=\"{ width: '25rem' }\"\n >\n <ng-template pTemplate=\"header\">\n <div\n class=\"v-dialog-header w-100 align-items-center d-flex justify-content-center\"\n >\n <h1 class=\"text-center me-3\">{{ data.title }}</h1>\n <i class=\"{{ data.headerIcon }} text-{{ data.severity }}\"></i>\n </div>\n </ng-template>\n <div class=\"v-dialog-content w-100 align-items-center text-center\">\n @if (data.innerHTML) {\n <div [innerHTML]=\"data.innerHTML\"></div>\n } @else if (data.componentType) {\n <v-dynamic-component\n [componentType]=\"data.componentType\"\n [data]=\"$any(data.data)\"\n ></v-dynamic-component>\n }\n </div>\n <ng-template pTemplate=\"footer\">\n <div\n class=\"v-dialog-footer d-flex justify-content-center w-100 gap-3\"\n [ngClass]=\"{\n 'flex-row-reverse': data.buttonOrder === 'cancel-confirm'\n }\"\n >\n <v-button\n [label]=\"data.confirmButtonText ?? 'Yes'\"\n [severity]=\"data.severity\"\n (click)=\"data.confirmButtonFn ? dialogClick(true) : (visible = false)\"\n />\n <v-button\n *ngIf=\"data.showCancelButton && data.severity !== 'success'\"\n [label]=\"data.cancelButtonText ?? 'No'\"\n [outlined]=\"true\"\n [severity]=\"'secondary'\"\n (click)=\"data.cancelButtonFn ? dialogClick(false) : (visible = false)\"\n />\n </div>\n </ng-template>\n </p-dialog>\n</div>\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n forwardRef,\n Optional,\n Self,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n NgControl,\n ReactiveFormsModule,\n} from '@angular/forms';\nimport { BaseFormInputComponent, BaseInputControls, SWITCH_COMPONENT_TOKEN, SwitchCore } from '@verisoft/ui-core';\nimport { InputSwitchModule } from 'primeng/inputswitch';\nimport { v4 as uuidv4 } from 'uuid';\nimport { ErrorComponent } from '../errors';\nimport { FormFieldComponent } from '../form-field';\n\n@Component({\n selector: 'v-switch',\n standalone: true,\n imports: [\n CommonModule,\n InputSwitchModule,\n ReactiveFormsModule,\n FormFieldComponent,\n ErrorComponent\n ],\n templateUrl: './switch.component.html',\n styleUrl: './switch.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: BaseInputControls,\n useExisting: forwardRef(() => SwitchComponent),\n multi: true,\n },\n {\n provide: SWITCH_COMPONENT_TOKEN,\n useExisting: SwitchComponent,\n },\n ],\n})\nexport class SwitchComponent\n extends BaseFormInputComponent\n implements ControlValueAccessor, SwitchCore\n{\n constructor(@Optional() @Self() ngControl: NgControl) {\n super(ngControl);\n }\n\n id = uuidv4();\n}\n","<div class=\"v-switch d-flex align-items-center\">\n <v-form-field\n class=\"w-100\"\n [label]=\"label\"\n [tooltip]=\"tooltip\"\n [required]=\"isRequired()\"\n [testId]=\"testId\"\n [display]=\"formDisplay\"\n >\n <p-inputSwitch\n [formControl]=\"formControl\"\n [required]=\"isRequired()\"\n [title]=\"label\"\n [readonly]=\"readonly\"\n [inputId]=\"id\"\n /><v-validation-message [ngControl]=\"ngControl\"></v-validation-message>\n </v-form-field>\n</div>\n","import {\n HttpErrorResponse,\n HttpEvent,\n HttpHandler,\n HttpInterceptor,\n HttpRequest,\n} from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { catchError, Observable, throwError } from 'rxjs';\nimport { SnackbarService } from '../components/snackbar';\n\n@Injectable()\nexport class HttpErrorMessageInterceptor implements HttpInterceptor {\n constructor(private readonly snackbarService: SnackbarService) {}\n intercept(\n req: HttpRequest<any>,\n next: HttpHandler\n ): Observable<HttpEvent<any>> {\n return next.handle(req).pipe(\n catchError((errorResponse: HttpErrorResponse) => {\n if (!errorResponse.ok) {\n if (errorResponse.status === 403) {\n this.snackbarService.showError('Unauthorized request');\n console.error('Unauthorized request');\n } else {\n this.snackbarService.showError(errorResponse.message);\n console.error(errorResponse);\n }\n }\n\n return throwError(() => errorResponse);\n })\n );\n }\n}\n","import { Component, Input, TemplateRef, ViewChild } from '@angular/core';\n\n@Component({\n selector: 'v-tab-view-item',\n template: `<ng-template #contentTemplate>\n <ng-content></ng-content>\n </ng-template>`,\n})\nexport class TabViewItemComponent {\n @ViewChild('contentTemplate', { static: true })\n contentTemplate!: TemplateRef<any>;\n\n @Input() title!: string;\n\n @Input() url?: string;\n\n @Input() icon?: string;\n\n @Input() disabled?: boolean;\n\n @Input() content?: string;\n}\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { TabViewItemCore } from '@verisoft/ui-core';\r\nimport { MenuItem } from 'primeng/api';\r\n\r\n@Pipe({\r\n name: 'tabMenu',\r\n pure: true,\r\n})\r\nexport class TabMenuPipe implements PipeTransform {\r\n transform(value: TabViewItemCore[] | undefined): MenuItem[] | undefined {\r\n if (!value) {\r\n return undefined;\r\n }\r\n\r\n return value.map((x) => ({\r\n label: x.title,\r\n icon: x.icon,\r\n disabled: x.disabled,\r\n routerLink: x.url,\r\n }));\r\n }\r\n}\r\n","import {\n AfterContentInit,\n Component,\n ContentChildren,\n EventEmitter,\n Input,\n Output,\n QueryList,\n} from '@angular/core';\nimport { TabViewCore, TabViewItemCore } from '@verisoft/ui-core';\nimport { MenuItem } from 'primeng/api';\nimport { TabViewItemComponent } from './tab-view-item.component';\n\n@Component({\n selector: 'v-tab-view',\n templateUrl: './tab-view.component.html',\n})\nexport class TabViewComponent \n implements AfterContentInit, TabViewCore\n{\n @ContentChildren(TabViewItemComponent)\n children!: QueryList<TabViewItemComponent>;\n\n @Input() items: TabViewItemCore[] = [];\n\n @Input() useRouting = false;\n\n @Input() activeIndex = 0;\n\n @Output() activeIndexChange = new EventEmitter<number>();\n\n mergedItems: TabViewItemCore[] = [];\n\n ngAfterContentInit(): void {\n this.mergedItems = [...this.items, ...this.children.toArray()];\n }\n\n protected activeItemChanged(item: MenuItem | number): void {\n let index: number;\n if (typeof item === 'number') {\n index = item;\n } else {\n index = this.items.indexOf(item as TabViewItemCore);\n }\n\n if (index != -1) {\n this.activeIndexChange.emit(index);\n }\n }\n}\n","<div class=\"v-tab-view\">\n @if (useRouting) {\n <p-tabMenu\n [model]=\"mergedItems | tabMenu\"\n [activeItem]=\"items[activeIndex]\"\n (activeItemChange)=\"activeItemChanged($event)\"\n >\n </p-tabMenu>\n <router-outlet></router-outlet>\n } @else {\n <p-tabView (activeIndexChange)=\"activeItemChanged($event)\">\n @for (item of mergedItems; track item; let index = $index) {\n <p-tabPanel [selected]=\"activeIndex === index\" [header]=\"item.title\" [disabled]=\"item.disabled === true\">\n @if (item.contentTemplate){\n <ng-container *ngTemplateOutlet=\"item.contentTemplate\"></ng-container>\n } @else if (item.content) {\n {{ item.content }}\n }\n </p-tabPanel>\n }\n </p-tabView>\n }\n</div>\n","import { NgTemplateOutlet } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { RouterOutlet } from '@angular/router';\nimport { TAB_VIEW_COMPONENT_TOKEN } from '@verisoft/ui-core';\nimport { TabMenuModule } from 'primeng/tabmenu';\nimport { TabViewModule as PrimeTabViewModule } from 'primeng/tabview';\nimport { TabMenuPipe } from './tab-menu.pipe';\nimport { TabViewItemComponent } from './tab-view-item.component';\nimport { TabViewComponent } from './tab-view.component';\n\n@NgModule({\n imports: [RouterOutlet, TabMenuModule, PrimeTabViewModule, NgTemplateOutlet],\n declarations: [TabViewComponent, TabViewItemComponent, TabMenuPipe],\n exports: [TabViewComponent, TabViewItemComponent],\n providers: [\n { provide: TAB_VIEW_COMPONENT_TOKEN, useExisting: TabViewComponent },\n ],\n})\nexport class TabViewModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i3","i2","i4","i1","i1.HeaderProviderService","i5","i1.SnackbarService","uuidv4","i5.TabMenuPipe","PrimeTabViewModule"],"mappings":"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"}