@unifylib/ui-lib 1.1.3 → 1.1.5

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 (286) hide show
  1. package/esm2022/iq-ui-lib.mjs +5 -0
  2. package/esm2022/lib/base-model/SearchStrConfig.mjs +11 -0
  3. package/esm2022/lib/base-model/api-response.mjs +2 -0
  4. package/esm2022/lib/base-model/audit-log-entry.mjs +3 -0
  5. package/esm2022/lib/base-model/button-action-settings.mjs +16 -0
  6. package/esm2022/lib/base-model/column-def.model.mjs +28 -0
  7. package/esm2022/lib/base-model/do-action-request.mjs +8 -0
  8. package/esm2022/lib/base-model/field-action.mjs +6 -0
  9. package/esm2022/lib/base-model/field-filter.model.mjs +3 -0
  10. package/esm2022/lib/base-model/field-info.mjs +57 -0
  11. package/esm2022/lib/base-model/field-predicate.model.mjs +10 -0
  12. package/esm2022/lib/base-model/filter-request.mjs +13 -0
  13. package/esm2022/lib/base-model/filter.model.mjs +25 -0
  14. package/esm2022/lib/base-model/get-items-list.mjs +10 -0
  15. package/esm2022/lib/base-model/index.mjs +12 -0
  16. package/esm2022/lib/base-model/items-total.model.mjs +8 -0
  17. package/esm2022/lib/base-model/line-item.model.mjs +11 -0
  18. package/esm2022/lib/base-model/lookupItem.mjs +16 -0
  19. package/esm2022/lib/base-model/page-info.mjs +17 -0
  20. package/esm2022/lib/base-model/report-request.model.mjs +17 -0
  21. package/esm2022/lib/base-model/response-envelop.model.mjs +10 -0
  22. package/esm2022/lib/base-model/snack-message.model.mjs +11 -0
  23. package/esm2022/lib/base-model/table-column.interface.mjs +2 -0
  24. package/esm2022/lib/base-model/table-page-user-action.interface.mjs +21 -0
  25. package/esm2022/lib/base-model/workflow/workflow-steps.model.mjs +9 -0
  26. package/esm2022/lib/base-model/workflow/workflow.model.mjs +42 -0
  27. package/esm2022/lib/components/action-comment/action-comment.component.mjs +101 -0
  28. package/esm2022/lib/components/action-confirmation/action-confirmation.component.mjs +55 -0
  29. package/esm2022/lib/components/activity-report-form/activity-report-form.component.mjs +499 -0
  30. package/esm2022/lib/components/advanced-filter/field-filter/field-filter.component.mjs +41 -0
  31. package/esm2022/lib/components/advanced-filter/filter-builder/filter-builder.component.mjs +162 -0
  32. package/esm2022/lib/components/audit-log-details-dialog/audit-log-details-dialog.component.mjs +70 -0
  33. package/esm2022/lib/components/audit-log-list/audit-log.component.mjs +99 -0
  34. package/esm2022/lib/components/auto-complete/auto-complete.component.mjs +292 -0
  35. package/esm2022/lib/components/base-form/base-form.component.mjs +297 -0
  36. package/esm2022/lib/components/base-form-canvas/base-form-canvas.component.mjs +591 -0
  37. package/esm2022/lib/components/base-input-dialog/base-input-dialog.component.mjs +72 -0
  38. package/esm2022/lib/components/base-table/base-table.component.mjs +514 -0
  39. package/esm2022/lib/components/button-actions/button-actions.component.mjs +70 -0
  40. package/esm2022/lib/components/editable-base-table/editable-base-table.component.mjs +496 -0
  41. package/esm2022/lib/components/equation-builder/equation-builder.component.mjs +112 -0
  42. package/esm2022/lib/components/item-line-editor/item-line-editor.component.mjs +299 -0
  43. package/esm2022/lib/components/multi-auto-complete/multi-auto-complete.component.mjs +278 -0
  44. package/esm2022/lib/components/paginator/paginator.component.mjs +91 -0
  45. package/esm2022/lib/components/report-details-dialog/report-details-dialog.component.mjs +102 -0
  46. package/esm2022/lib/components/report-form/report-form.component.mjs +498 -0
  47. package/esm2022/lib/components/search-bar/search-bar.component.mjs +62 -0
  48. package/esm2022/lib/components/section-form-canvas/section-form-canvas.component.mjs +81 -0
  49. package/esm2022/lib/components/shared/action-button/action-button.component.mjs +59 -0
  50. package/esm2022/lib/components/shared/action-card/action-card.component.mjs +93 -0
  51. package/esm2022/lib/components/shared/attachment-uploader/attachment-uploader.component.mjs +70 -0
  52. package/esm2022/lib/components/shared-list/shared-list.component.mjs +47 -0
  53. package/esm2022/lib/components/snackbar-static/snackbar-static.component.mjs +43 -0
  54. package/esm2022/lib/components/title-bar/title-bar.component.mjs +119 -0
  55. package/esm2022/lib/services/backend-service.mjs +240 -0
  56. package/esm2022/lib/services/index.mjs +4 -0
  57. package/esm2022/lib/services/top-panel.mjs +22 -0
  58. package/esm2022/lib/services/trigger-form.service.mjs +17 -0
  59. package/esm2022/lib/utils/base-utils.mjs +97 -0
  60. package/esm2022/lib/validators/date-range-validator.mjs +27 -0
  61. package/esm2022/lib/validators/index.mjs +4 -0
  62. package/esm2022/lib/validators/match-list.validator.mjs +9 -0
  63. package/esm2022/lib/validators/multi-email-validator.mjs +13 -0
  64. package/esm2022/public-api.mjs +29 -0
  65. package/esm2022/q-btech-ui-lib.mjs +5 -0
  66. package/esm2022/unifylib-ui-lib.mjs +5 -0
  67. package/fesm2022/iq-ui-lib.mjs +5625 -0
  68. package/fesm2022/iq-ui-lib.mjs.map +1 -0
  69. package/fesm2022/q-btech-ui-lib.mjs +5619 -0
  70. package/fesm2022/q-btech-ui-lib.mjs.map +1 -0
  71. package/fesm2022/unifylib-ui-lib.mjs +5625 -0
  72. package/fesm2022/unifylib-ui-lib.mjs.map +1 -0
  73. package/index.d.ts +5 -0
  74. package/lib/base-model/SearchStrConfig.d.ts +8 -0
  75. package/{src/lib/base-model/api-response.ts → lib/base-model/api-response.d.ts} +21 -23
  76. package/lib/base-model/audit-log-entry.d.ts +7 -0
  77. package/lib/base-model/button-action-settings.d.ts +15 -0
  78. package/lib/base-model/column-def.model.d.ts +11 -0
  79. package/lib/base-model/do-action-request.d.ts +10 -0
  80. package/lib/base-model/field-action.d.ts +6 -0
  81. package/lib/base-model/field-filter.model.d.ts +7 -0
  82. package/lib/base-model/field-info.d.ts +53 -0
  83. package/lib/base-model/field-predicate.model.d.ts +7 -0
  84. package/lib/base-model/filter-request.d.ts +15 -0
  85. package/lib/base-model/filter.model.d.ts +22 -0
  86. package/lib/base-model/get-items-list.d.ts +21 -0
  87. package/lib/base-model/index.d.ts +11 -0
  88. package/lib/base-model/items-total.model.d.ts +6 -0
  89. package/lib/base-model/line-item.model.d.ts +9 -0
  90. package/lib/base-model/lookupItem.d.ts +13 -0
  91. package/lib/base-model/page-info.d.ts +52 -0
  92. package/lib/base-model/report-request.model.d.ts +18 -0
  93. package/lib/base-model/response-envelop.model.d.ts +8 -0
  94. package/lib/base-model/snack-message.model.d.ts +7 -0
  95. package/lib/base-model/table-column.interface.d.ts +28 -0
  96. package/lib/base-model/table-page-user-action.interface.d.ts +14 -0
  97. package/lib/base-model/workflow/workflow-steps.model.d.ts +7 -0
  98. package/lib/base-model/workflow/workflow.model.d.ts +13 -0
  99. package/lib/components/action-comment/action-comment.component.d.ts +32 -0
  100. package/lib/components/action-confirmation/action-confirmation.component.d.ts +19 -0
  101. package/lib/components/activity-report-form/activity-report-form.component.d.ts +93 -0
  102. package/lib/components/advanced-filter/field-filter/field-filter.component.d.ts +20 -0
  103. package/lib/components/advanced-filter/filter-builder/filter-builder.component.d.ts +28 -0
  104. package/lib/components/audit-log-details-dialog/audit-log-details-dialog.component.d.ts +25 -0
  105. package/lib/components/audit-log-list/audit-log.component.d.ts +36 -0
  106. package/lib/components/auto-complete/auto-complete.component.d.ts +51 -0
  107. package/lib/components/base-form/base-form.component.d.ts +59 -0
  108. package/lib/components/base-form-canvas/base-form-canvas.component.d.ts +124 -0
  109. package/lib/components/base-input-dialog/base-input-dialog.component.d.ts +23 -0
  110. package/lib/components/base-table/base-table.component.d.ts +128 -0
  111. package/lib/components/button-actions/button-actions.component.d.ts +17 -0
  112. package/lib/components/editable-base-table/editable-base-table.component.d.ts +106 -0
  113. package/lib/components/equation-builder/equation-builder.component.d.ts +23 -0
  114. package/lib/components/item-line-editor/item-line-editor.component.d.ts +64 -0
  115. package/lib/components/multi-auto-complete/multi-auto-complete.component.d.ts +51 -0
  116. package/lib/components/paginator/paginator.component.d.ts +26 -0
  117. package/lib/components/report-details-dialog/report-details-dialog.component.d.ts +34 -0
  118. package/lib/components/report-form/report-form.component.d.ts +92 -0
  119. package/lib/components/search-bar/search-bar.component.d.ts +29 -0
  120. package/lib/components/section-form-canvas/section-form-canvas.component.d.ts +27 -0
  121. package/lib/components/shared/action-button/action-button.component.d.ts +17 -0
  122. package/lib/components/shared/action-card/action-card.component.d.ts +37 -0
  123. package/lib/components/shared/attachment-uploader/attachment-uploader.component.d.ts +16 -0
  124. package/lib/components/shared-list/shared-list.component.d.ts +21 -0
  125. package/lib/components/snackbar-static/snackbar-static.component.d.ts +15 -0
  126. package/lib/components/title-bar/title-bar.component.d.ts +42 -0
  127. package/lib/services/backend-service.d.ts +59 -0
  128. package/{src/lib/services/index.ts → lib/services/index.d.ts} +3 -3
  129. package/lib/services/top-panel.d.ts +8 -0
  130. package/lib/services/trigger-form.service.d.ts +7 -0
  131. package/lib/utils/base-utils.d.ts +13 -0
  132. package/lib/validators/date-range-validator.d.ts +2 -0
  133. package/{src/lib/validators/index.ts → lib/validators/index.d.ts} +3 -3
  134. package/lib/validators/match-list.validator.d.ts +4 -0
  135. package/lib/validators/multi-email-validator.d.ts +6 -0
  136. package/package.json +27 -14
  137. package/{src/public-api.ts → public-api.d.ts} +25 -29
  138. package/ng-package.json +0 -7
  139. package/src/lib/base-model/SearchStrConfig.ts +0 -12
  140. package/src/lib/base-model/audit-log-entry.ts +0 -7
  141. package/src/lib/base-model/button-action-settings.ts +0 -29
  142. package/src/lib/base-model/column-def.model.ts +0 -34
  143. package/src/lib/base-model/do-action-request.ts +0 -11
  144. package/src/lib/base-model/feature-item.ts +0 -9
  145. package/src/lib/base-model/field-action.ts +0 -7
  146. package/src/lib/base-model/field-filter.model.ts +0 -7
  147. package/src/lib/base-model/field-info.ts +0 -102
  148. package/src/lib/base-model/field-predicate.model.ts +0 -7
  149. package/src/lib/base-model/filter-request.ts +0 -27
  150. package/src/lib/base-model/filter.model.ts +0 -49
  151. package/src/lib/base-model/get-items-list.ts +0 -24
  152. package/src/lib/base-model/index.ts +0 -11
  153. package/src/lib/base-model/items-total.model.ts +0 -12
  154. package/src/lib/base-model/line-item.model.ts +0 -18
  155. package/src/lib/base-model/lookupItem.ts +0 -21
  156. package/src/lib/base-model/null-snackmessage.ts +0 -9
  157. package/src/lib/base-model/page-info.ts +0 -54
  158. package/src/lib/base-model/report-request.model.ts +0 -33
  159. package/src/lib/base-model/response-envelop.model.ts +0 -15
  160. package/src/lib/base-model/snack-message.model.ts +0 -14
  161. package/src/lib/base-model/snackmessage-interface.ts +0 -7
  162. package/src/lib/base-model/table-column.interface.ts +0 -29
  163. package/src/lib/base-model/table-page-user-action.interface.ts +0 -33
  164. package/src/lib/base-model/workflow/workflow-steps.model.ts +0 -9
  165. package/src/lib/base-model/workflow/workflow.model.ts +0 -52
  166. package/src/lib/components/action-comment/action-comment.component.css +0 -52
  167. package/src/lib/components/action-comment/action-comment.component.html +0 -47
  168. package/src/lib/components/action-comment/action-comment.component.spec.ts +0 -23
  169. package/src/lib/components/action-comment/action-comment.component.ts +0 -102
  170. package/src/lib/components/action-confirmation/action-confirmation.component.css +0 -46
  171. package/src/lib/components/action-confirmation/action-confirmation.component.html +0 -32
  172. package/src/lib/components/action-confirmation/action-confirmation.component.spec.ts +0 -23
  173. package/src/lib/components/action-confirmation/action-confirmation.component.ts +0 -58
  174. package/src/lib/components/activity-report-form/activity-report-form.component.html +0 -110
  175. package/src/lib/components/activity-report-form/activity-report-form.component.scss +0 -69
  176. package/src/lib/components/activity-report-form/activity-report-form.component.spec.ts +0 -25
  177. package/src/lib/components/activity-report-form/activity-report-form.component.ts +0 -616
  178. package/src/lib/components/advanced-filter/field-filter/field-filter.component.html +0 -8
  179. package/src/lib/components/advanced-filter/field-filter/field-filter.component.scss +0 -0
  180. package/src/lib/components/advanced-filter/field-filter/field-filter.component.spec.ts +0 -25
  181. package/src/lib/components/advanced-filter/field-filter/field-filter.component.ts +0 -55
  182. package/src/lib/components/advanced-filter/filter-builder/filter-builder.component.html +0 -36
  183. package/src/lib/components/advanced-filter/filter-builder/filter-builder.component.scss +0 -130
  184. package/src/lib/components/advanced-filter/filter-builder/filter-builder.component.spec.ts +0 -25
  185. package/src/lib/components/advanced-filter/filter-builder/filter-builder.component.ts +0 -186
  186. package/src/lib/components/audit-log-details-dialog/audit-log-details-dialog.component.css +0 -51
  187. package/src/lib/components/audit-log-details-dialog/audit-log-details-dialog.component.html +0 -23
  188. package/src/lib/components/audit-log-details-dialog/audit-log-details-dialog.component.spec.ts +0 -23
  189. package/src/lib/components/audit-log-details-dialog/audit-log-details-dialog.component.ts +0 -69
  190. package/src/lib/components/audit-log-list/audit-log.component.html +0 -26
  191. package/src/lib/components/audit-log-list/audit-log.component.scss +0 -50
  192. package/src/lib/components/audit-log-list/audit-log.component.spec.ts +0 -25
  193. package/src/lib/components/audit-log-list/audit-log.component.ts +0 -114
  194. package/src/lib/components/auto-complete/auto-complete.component.css +0 -55
  195. package/src/lib/components/auto-complete/auto-complete.component.html +0 -45
  196. package/src/lib/components/auto-complete/auto-complete.component.spec.ts +0 -23
  197. package/src/lib/components/auto-complete/auto-complete.component.ts +0 -331
  198. package/src/lib/components/base-form/base-form.component.html +0 -59
  199. package/src/lib/components/base-form/base-form.component.scss +0 -68
  200. package/src/lib/components/base-form/base-form.component.spec.ts +0 -25
  201. package/src/lib/components/base-form/base-form.component.ts +0 -323
  202. package/src/lib/components/base-form-canvas/base-form-canvas.component.css +0 -196
  203. package/src/lib/components/base-form-canvas/base-form-canvas.component.html +0 -1095
  204. package/src/lib/components/base-form-canvas/base-form-canvas.component.spec.ts +0 -23
  205. package/src/lib/components/base-form-canvas/base-form-canvas.component.ts +0 -680
  206. package/src/lib/components/base-input-dialog/base-input-dialog.component.css +0 -67
  207. package/src/lib/components/base-input-dialog/base-input-dialog.component.html +0 -47
  208. package/src/lib/components/base-input-dialog/base-input-dialog.component.spec.ts +0 -23
  209. package/src/lib/components/base-input-dialog/base-input-dialog.component.ts +0 -77
  210. package/src/lib/components/base-table/base-table.component.html +0 -268
  211. package/src/lib/components/base-table/base-table.component.scss +0 -140
  212. package/src/lib/components/base-table/base-table.component.spec.ts +0 -25
  213. package/src/lib/components/base-table/base-table.component.ts +0 -621
  214. package/src/lib/components/button-actions/button-actions.component.html +0 -27
  215. package/src/lib/components/button-actions/button-actions.component.scss +0 -101
  216. package/src/lib/components/button-actions/button-actions.component.spec.ts +0 -23
  217. package/src/lib/components/button-actions/button-actions.component.ts +0 -70
  218. package/src/lib/components/editable-base-table/editable-base-table.component.html +0 -337
  219. package/src/lib/components/editable-base-table/editable-base-table.component.scss +0 -126
  220. package/src/lib/components/editable-base-table/editable-base-table.component.spec.ts +0 -25
  221. package/src/lib/components/editable-base-table/editable-base-table.component.ts +0 -579
  222. package/src/lib/components/equation-builder/equation-builder.component.css +0 -39
  223. package/src/lib/components/equation-builder/equation-builder.component.html +0 -31
  224. package/src/lib/components/equation-builder/equation-builder.component.spec.ts +0 -23
  225. package/src/lib/components/equation-builder/equation-builder.component.ts +0 -119
  226. package/src/lib/components/item-line-editor/item-line-editor.component.html +0 -102
  227. package/src/lib/components/item-line-editor/item-line-editor.component.scss +0 -152
  228. package/src/lib/components/item-line-editor/item-line-editor.component.spec.ts +0 -23
  229. package/src/lib/components/item-line-editor/item-line-editor.component.ts +0 -306
  230. package/src/lib/components/multi-auto-complete/multi-auto-complete.component.css +0 -19
  231. package/src/lib/components/multi-auto-complete/multi-auto-complete.component.html +0 -38
  232. package/src/lib/components/multi-auto-complete/multi-auto-complete.component.spec.ts +0 -23
  233. package/src/lib/components/multi-auto-complete/multi-auto-complete.component.ts +0 -315
  234. package/src/lib/components/paginator/paginator.component.css +0 -65
  235. package/src/lib/components/paginator/paginator.component.html +0 -30
  236. package/src/lib/components/paginator/paginator.component.ts +0 -87
  237. package/src/lib/components/report-details-dialog/report-details-dialog.component.css +0 -17
  238. package/src/lib/components/report-details-dialog/report-details-dialog.component.html +0 -16
  239. package/src/lib/components/report-details-dialog/report-details-dialog.component.spec.ts +0 -23
  240. package/src/lib/components/report-details-dialog/report-details-dialog.component.ts +0 -111
  241. package/src/lib/components/report-form/report-form.component.html +0 -92
  242. package/src/lib/components/report-form/report-form.component.scss +0 -51
  243. package/src/lib/components/report-form/report-form.component.spec.ts +0 -25
  244. package/src/lib/components/report-form/report-form.component.ts +0 -599
  245. package/src/lib/components/search-bar/search-bar.component.html +0 -51
  246. package/src/lib/components/search-bar/search-bar.component.scss +0 -63
  247. package/src/lib/components/search-bar/search-bar.component.spec.ts +0 -25
  248. package/src/lib/components/search-bar/search-bar.component.ts +0 -68
  249. package/src/lib/components/section-form-canvas/section-form-canvas.component.html +0 -43
  250. package/src/lib/components/section-form-canvas/section-form-canvas.component.scss +0 -81
  251. package/src/lib/components/section-form-canvas/section-form-canvas.component.spec.ts +0 -23
  252. package/src/lib/components/section-form-canvas/section-form-canvas.component.ts +0 -67
  253. package/src/lib/components/shared/action-button/action-button.component.html +0 -12
  254. package/src/lib/components/shared/action-button/action-button.component.scss +0 -45
  255. package/src/lib/components/shared/action-button/action-button.component.ts +0 -51
  256. package/src/lib/components/shared/action-card/action-card.component.html +0 -78
  257. package/src/lib/components/shared/action-card/action-card.component.scss +0 -238
  258. package/src/lib/components/shared/action-card/action-card.component.ts +0 -56
  259. package/src/lib/components/shared/attachment-uploader/attachment-uploader.component.css +0 -135
  260. package/src/lib/components/shared/attachment-uploader/attachment-uploader.component.html +0 -36
  261. package/src/lib/components/shared/attachment-uploader/attachment-uploader.component.spec.ts +0 -23
  262. package/src/lib/components/shared/attachment-uploader/attachment-uploader.component.ts +0 -71
  263. package/src/lib/components/shared-list/shared-list.component.css +0 -0
  264. package/src/lib/components/shared-list/shared-list.component.html +0 -17
  265. package/src/lib/components/shared-list/shared-list.component.spec.ts +0 -23
  266. package/src/lib/components/shared-list/shared-list.component.ts +0 -53
  267. package/src/lib/components/snackbar-static/snackbar-static.component.html +0 -20
  268. package/src/lib/components/snackbar-static/snackbar-static.component.scss +0 -135
  269. package/src/lib/components/snackbar-static/snackbar-static.component.ts +0 -26
  270. package/src/lib/components/title-bar/title-bar.component.css +0 -0
  271. package/src/lib/components/title-bar/title-bar.component.css.map +0 -1
  272. package/src/lib/components/title-bar/title-bar.component.html +0 -35
  273. package/src/lib/components/title-bar/title-bar.component.scss +0 -126
  274. package/src/lib/components/title-bar/title-bar.component.spec.ts +0 -23
  275. package/src/lib/components/title-bar/title-bar.component.ts +0 -126
  276. package/src/lib/services/backend-service.ts +0 -287
  277. package/src/lib/services/top-panel.ts +0 -17
  278. package/src/lib/services/trigger-form.service.ts +0 -11
  279. package/src/lib/share-module/shared-module.ts +0 -10
  280. package/src/lib/utils/base-utils.ts +0 -102
  281. package/src/lib/validators/date-range-validator.ts +0 -31
  282. package/src/lib/validators/match-list.validator.ts +0 -10
  283. package/src/lib/validators/multi-email-validator.ts +0 -15
  284. package/tsconfig.lib.json +0 -15
  285. package/tsconfig.lib.prod.json +0 -11
  286. package/tsconfig.spec.json +0 -15
@@ -1,238 +0,0 @@
1
- .action-card {
2
- background-color: var(--grayscale-surface-default, #ffffff);
3
- border-right: 1px solid;
4
- border-bottom: 1px solid;
5
- border-left: 1px solid;
6
- border-radius: 16px;
7
- width: 100%;
8
- height: 100%;
9
- min-height: 247px;
10
- position: relative;
11
- overflow: hidden;
12
-
13
-
14
- &::before {
15
- content: '';
16
- position: absolute;
17
- top: 0;
18
- left: 0;
19
- right: 0;
20
- height: var(--top-border-height, 12px);
21
- background: var(--top-border-gradient, var(--button-gradient, linear-gradient(90deg, #E4C9D0 0%, #8A1538 100%)));
22
- border-radius: 16px 16px 0 0;
23
- z-index: 1;
24
- }
25
-
26
- &.extended-variant {
27
- min-height: 572px;
28
- }
29
- }
30
-
31
- .card-content {
32
- display: flex;
33
- gap: 8px;
34
- align-items: flex-start;
35
- padding: 16px 20px;
36
- height: 100%;
37
- position: relative;
38
- overflow: hidden;
39
- box-sizing: border-box;
40
-
41
- &.extended-content {
42
- padding: 20px;
43
- gap: 0;
44
- }
45
- }
46
-
47
- .main-content {
48
- flex: 1 1 0;
49
- display: flex;
50
- flex-direction: column;
51
- gap: 64px;
52
- min-width: 0;
53
- min-height: 0;
54
-
55
- &.extended-main {
56
- gap: 24px;
57
- }
58
- }
59
-
60
- .header-section {
61
- display: flex;
62
- flex-direction: column;
63
- gap: 12px;
64
- width: 100%;
65
- height: 83px;
66
-
67
- &.extended-header {
68
- height: auto;
69
- gap: 20px;
70
- }
71
- }
72
-
73
- .header-top-wrapper {
74
- display: flex;
75
- flex-direction: row;
76
- gap: 12px;
77
- align-items: flex-start;
78
- width: 100%;
79
- }
80
-
81
- .header-top {
82
- display: flex;
83
- gap: 8px;
84
- align-items: flex-start;
85
- flex: 1;
86
- }
87
-
88
- .title-description-wrapper {
89
- display: flex;
90
- flex-direction: column;
91
- gap: 16px;
92
- width: 100%;
93
- }
94
-
95
- .icon-wrapper {
96
- flex-shrink: 0;
97
- width: 40px;
98
- height: 40px;
99
- display: flex;
100
- align-items: center;
101
- justify-content: center;
102
- overflow: hidden;
103
-
104
- mat-icon {
105
- font-size: 40px;
106
- width: 40px;
107
- height: 40px;
108
- }
109
-
110
- .icon-svg {
111
- width: 40px;
112
- height: 40px;
113
- object-fit: contain;
114
- }
115
- }
116
-
117
- .card-title {
118
- font-family: 'lusail-bold', sans-serif;
119
- font-weight: 700;
120
- font-size: 24px !important;
121
- line-height: 1.2;
122
- color: #222222;
123
- margin: 0;
124
- height: 40px;
125
- display: flex;
126
- align-items: flex-end;
127
- justify-content: flex-start;
128
- flex: 1;
129
- }
130
-
131
- .extended-variant .card-title {
132
- color: #000000;
133
- height: auto;
134
- }
135
-
136
- .card-description {
137
- font-family: 'lusail-regular', sans-serif;
138
- font-weight: 400;
139
- font-size: 20px !important;
140
- line-height: 1.2;
141
- color: #888888;
142
- margin: 0;
143
- height: 40px;
144
- display: flex;
145
- align-items: center;
146
- }
147
-
148
- .extended-variant .card-description {
149
- font-family: 'lusail-light', sans-serif;
150
- font-weight: 300;
151
- height: auto;
152
- }
153
-
154
- .decorative-icon-wrapper {
155
- position: relative;
156
- width: 153px;
157
- height: 211px;
158
- flex-shrink: 0;
159
- }
160
-
161
- .decorative-icon {
162
- position: absolute;
163
- left: 0;
164
- top: 43px;
165
- width: 144px;
166
- height: 152px;
167
- opacity: 0.3;
168
- display: flex;
169
- align-items: center;
170
- justify-content: center;
171
- pointer-events: none;
172
- overflow: hidden;
173
-
174
- mat-icon {
175
- font-size: 152px;
176
- width: 144px;
177
- height: 152px;
178
- }
179
-
180
- .decorative-icon-svg {
181
- width: 144px;
182
- height: 152px;
183
- object-fit: contain;
184
- }
185
- }
186
-
187
- .features-divider {
188
- width: 100%;
189
- height: 1px;
190
- background-color: #e9e9e9;
191
- margin: 0;
192
- }
193
-
194
- .features-section {
195
- display: flex;
196
- flex-direction: column;
197
- gap: 24px;
198
- width: 100%;
199
-
200
- .feature-item:not(:last-child) {
201
- margin-bottom: 0;
202
- }
203
- }
204
-
205
- .features-heading {
206
- font-family: 'lusail-bold', sans-serif;
207
- font-weight: 700;
208
- font-size: 20px !important;
209
- line-height: 1.2;
210
- color: #2e2e2e;
211
- margin: 0 0 0 0;
212
- padding: 0;
213
- }
214
-
215
- .feature-item {
216
- display: flex;
217
- gap: 20px;
218
- align-items: center;
219
- width: 100%;
220
- padding: 0;
221
- margin: 0;
222
- }
223
-
224
- .feature-check-icon {
225
- font-size: 24px !important;
226
- width: 24px;
227
- height: 24px;
228
- flex-shrink: 0;
229
- }
230
-
231
- .feature-text {
232
- font-family: 'lusail-light', sans-serif;
233
- font-weight: 300;
234
- font-size: 20px !important;
235
- line-height: 1.2;
236
- color: #2e2e2e;
237
- flex: 1;
238
- }
@@ -1,56 +0,0 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { MatIconModule } from '@angular/material/icon';
4
- import { TranslateModule } from '@ngx-translate/core';
5
- import { ActionButtonComponent } from '../action-button/action-button.component';
6
-
7
- export interface FeatureItem {
8
- text?: string;
9
- textKey?: string;
10
- }
11
-
12
- @Component({
13
- selector: 'lib-action-card',
14
- standalone: true,
15
- imports: [
16
- CommonModule,
17
- MatIconModule,
18
- TranslateModule,
19
- ActionButtonComponent
20
- ],
21
- templateUrl: './action-card.component.html',
22
- styleUrl: './action-card.component.scss'
23
- })
24
- export class ActionCardComponent {
25
-
26
- @Input() icon: string = '';
27
- @Input() iconSvg?: string;
28
- @Input() title: string = '';
29
- @Input() description: string = '';
30
- @Input() buttonText: string = '';
31
- @Input() buttonTextKey?: string;
32
- @Input() titleKey?: string;
33
- @Input() descriptionKey?: string;
34
- @Input() iconColor: string = '#8A1538';
35
- @Input() borderColor: string = '#d1d1d1';
36
- @Input() borderLeftColor?: string;
37
- @Input() borderRightColor?: string;
38
- @Input() borderBottomColor?: string;
39
- @Input() topBorderColor?: string;
40
- @Input() topBorderGradient?: string;
41
- @Input() buttonGradient: string = 'linear-gradient(90deg, #E4C9D0 0%, #8A1538 100%)';
42
- @Input() decorativeIconColor: string = 'rgba(209, 203, 216, 1)';
43
- @Input() featureCheckIconColor?: string;
44
- @Input() variant: 'default' | 'extended' = 'default';
45
- @Input() iconSize: number = 40;
46
- @Input() features?: FeatureItem[];
47
- @Input() featuresHeading?: string;
48
- @Input() featuresHeadingKey?: string;
49
- @Input() showDivider: boolean = false;
50
- @Input() topBorderHeight: number = 12;
51
- @Output() buttonClick = new EventEmitter<void>();
52
-
53
- onButtonClick(): void {
54
- this.buttonClick.emit();
55
- }
56
- }
@@ -1,135 +0,0 @@
1
- .attachment-uploader {
2
- background-color: var(--background-color);
3
- border: 1px dashed #b7b7b7;
4
- border-radius: 8px;
5
- position: relative;
6
- width: 100%;
7
- transition: all 0.3s ease;
8
- cursor: pointer;
9
-
10
- &.drag-over {
11
- border-color: var(--primary-color-3nd);
12
- background-color: var(--selected-hover);
13
- }
14
- }
15
-
16
- .upload-content {
17
- display: flex;
18
- flex-direction: column;
19
- align-items: center;
20
- justify-content: center;
21
- gap: 8px;
22
- padding: 24px;
23
- min-height: 200px;
24
- }
25
-
26
- .upload-icon {
27
- display: flex;
28
- align-items: center;
29
- justify-content: center;
30
- margin-bottom: 8px;
31
-
32
- mat-icon {
33
- font-size: 48px;
34
- width: 48px;
35
- height: 48px;
36
- color: #888888;
37
- }
38
- }
39
-
40
- .main-text {
41
- font-family: 'Lusail', sans-serif;
42
- font-size: 16px;
43
- font-weight: 500;
44
- line-height: 1.2;
45
- color: #000000;
46
- margin: 0;
47
- text-align: center;
48
- }
49
-
50
- .info-text {
51
- font-family: 'Lusail', sans-serif;
52
- font-size: 14px;
53
- font-weight: 300;
54
- line-height: 1.2;
55
- color: #888888;
56
- margin: 0;
57
- text-align: center;
58
- }
59
-
60
- .browse-button {
61
- margin-top: 8px;
62
- border: 1px solid var(--primary-color-3nd);
63
- border-radius: 8px;
64
- background-color: var(--background-color);
65
- color: var(--primary-color-3nd);
66
- font-family: 'Lusail', sans-serif;
67
- font-size: 16px;
68
- font-weight: 500;
69
- padding: 8px 16px;
70
- transition: all 0.2s ease;
71
-
72
- &:hover {
73
- background-color: var(--selected-hover);
74
- }
75
- }
76
-
77
- .selected-file {
78
- display: flex;
79
- align-items: center;
80
- justify-content: space-between;
81
- padding: 12px 16px;
82
- background-color: var(--background-color);
83
- border-top: 1px solid #e0e0e0;
84
- border-radius: 0 0 8px 8px;
85
- }
86
-
87
- .file-info {
88
- display: flex;
89
- align-items: center;
90
- gap: 8px;
91
- flex: 1;
92
- min-width: 0;
93
- }
94
-
95
- .file-icon {
96
- color: #888888;
97
- font-size: 24px;
98
- width: 24px;
99
- height: 24px;
100
- flex-shrink: 0;
101
- }
102
-
103
- .file-name {
104
- font-family: 'Lusail', sans-serif;
105
- font-size: 14px;
106
- font-weight: 400;
107
- color: #000000;
108
- overflow: hidden;
109
- text-overflow: ellipsis;
110
- white-space: nowrap;
111
- }
112
-
113
- .clear-button {
114
- background-color: transparent;
115
- border: none;
116
- color: #d32f2f;
117
- transition: color 0.2s ease;
118
- padding: 4px;
119
- flex-shrink: 0;
120
-
121
- &:hover {
122
- color: #b71c1c;
123
- background-color: transparent;
124
- }
125
-
126
- mat-icon {
127
- font-size: 20px;
128
- width: 20px;
129
- height: 20px;
130
- }
131
- }
132
-
133
- .hidden-input {
134
- display: none;
135
- }
@@ -1,36 +0,0 @@
1
- <div class="attachment-uploader"
2
- [class.drag-over]="isDragOver"
3
- (dragover)="onDragOver($event)"
4
- (dragleave)="onDragLeave($event)"
5
- (drop)="onDrop($event)">
6
- <div class="upload-content">
7
- <div class="upload-icon">
8
- <mat-icon>upload_file</mat-icon>
9
- </div>
10
-
11
- <p class="main-text">{{ 'attachmentUploader.dragAndDrop' | translate }}</p>
12
-
13
- <p class="info-text">{{ 'attachmentUploader.fileInfo' | translate }}</p>
14
-
15
- <button mat-stroked-button
16
- class="browse-button"
17
- (click)="triggerAttachmentUpload()">
18
- {{ 'attachmentUploader.browseFiles' | translate }}
19
- </button>
20
- </div>
21
-
22
- <div *ngIf="selectedFile" class="selected-file">
23
- <div class="file-info">
24
- <mat-icon class="file-icon">description</mat-icon>
25
- <span class="file-name">{{ selectedFile.name }}</span>
26
- </div>
27
- <button mat-icon-button
28
- class="clear-button"
29
- (click)="clearFile()"
30
- matTooltip="{{ 'attachmentUploader.removeFile' | translate }}">
31
- <mat-icon>close</mat-icon>
32
- </button>
33
- </div>
34
-
35
- <input #fileUpload type="file" class="hidden-input" (change)="uploadFileToServer()" />
36
- </div>
@@ -1,23 +0,0 @@
1
- import { ComponentFixture, TestBed } from '@angular/core/testing';
2
-
3
- import { AttachmentUploaderComponent } from './attachment-uploader.component';
4
-
5
- describe('AttachmentUploaderComponent', () => {
6
- let component: AttachmentUploaderComponent;
7
- let fixture: ComponentFixture<AttachmentUploaderComponent>;
8
-
9
- beforeEach(async () => {
10
- await TestBed.configureTestingModule({
11
- imports: [AttachmentUploaderComponent]
12
- })
13
- .compileComponents();
14
-
15
- fixture = TestBed.createComponent(AttachmentUploaderComponent);
16
- component = fixture.componentInstance;
17
- fixture.detectChanges();
18
- });
19
-
20
- it('should create', () => {
21
- expect(component).toBeTruthy();
22
- });
23
- });
@@ -1,71 +0,0 @@
1
- import {Component, ElementRef, EventEmitter, Output, ViewChild} from '@angular/core';
2
- import {MatIcon} from "@angular/material/icon";
3
- import {TranslateModule} from "@ngx-translate/core";
4
- import {MatButton, MatIconButton} from "@angular/material/button";
5
- import {NgIf} from "@angular/common";
6
- import {MatTooltip} from "@angular/material/tooltip";
7
-
8
- @Component({
9
- selector: 'app-attachment-uploader',
10
- standalone: true,
11
- imports: [
12
- MatIcon,
13
- TranslateModule,
14
- MatButton,
15
- NgIf,
16
- MatTooltip,
17
- MatIconButton,
18
- ],
19
- templateUrl: './attachment-uploader.component.html',
20
- styleUrl: './attachment-uploader.component.css'
21
- })
22
- export class AttachmentUploaderComponent {
23
- @ViewChild('fileUpload') fileUpload!: ElementRef<HTMLInputElement>;
24
- @Output() fileSelected = new EventEmitter<File | null>();
25
-
26
- selectedFile: File | null = null;
27
- isDragOver = false;
28
-
29
- triggerAttachmentUpload(): void {
30
- this.fileUpload.nativeElement.click();
31
- }
32
-
33
- uploadFileToServer(): void {
34
- const file = this.fileUpload.nativeElement.files?.[0];
35
- if (file) {
36
- this.selectedFile = file;
37
- this.fileSelected.emit(file);
38
- }
39
- }
40
-
41
- clearFile(): void {
42
- this.selectedFile = null;
43
- this.fileUpload.nativeElement.value = '';
44
- this.fileSelected.emit(null);
45
- }
46
-
47
- onDragOver(event: DragEvent): void {
48
- event.preventDefault();
49
- event.stopPropagation();
50
- this.isDragOver = true;
51
- }
52
-
53
- onDragLeave(event: DragEvent): void {
54
- event.preventDefault();
55
- event.stopPropagation();
56
- this.isDragOver = false;
57
- }
58
-
59
- onDrop(event: DragEvent): void {
60
- event.preventDefault();
61
- event.stopPropagation();
62
- this.isDragOver = false;
63
-
64
- const files = event.dataTransfer?.files;
65
- if (files && files.length > 0) {
66
- const file = files[0];
67
- this.selectedFile = file;
68
- this.fileSelected.emit(file);
69
- }
70
- }
71
- }
@@ -1,17 +0,0 @@
1
- <ng-container *ngIf="readyToLoad">
2
- @if (editableTable) {
3
- <app-editable-base-table [filterRequest]="filterRequest" [pageInfo]="pageInfo"
4
- [fields]="fields"
5
- [isPending]="isPending"
6
- ></app-editable-base-table>
7
-
8
- } @else {
9
-
10
- <app-base-table [filters]="filters" [pageInfo]="pageInfo"
11
- [columns]="columnsDefinition"
12
- [listAction]="listAction"
13
- [isPending]="isPending"
14
- ></app-base-table>
15
-
16
- }
17
- </ng-container>
@@ -1,23 +0,0 @@
1
- import { ComponentFixture, TestBed } from '@angular/core/testing';
2
-
3
- import { SharedListComponent } from './shared-list.component';
4
-
5
- describe('SharedListComponent', () => {
6
- let component: SharedListComponent;
7
- let fixture: ComponentFixture<SharedListComponent>;
8
-
9
- beforeEach(async () => {
10
- await TestBed.configureTestingModule({
11
- imports: [SharedListComponent]
12
- })
13
- .compileComponents();
14
-
15
- fixture = TestBed.createComponent(SharedListComponent);
16
- component = fixture.componentInstance;
17
- fixture.detectChanges();
18
- });
19
-
20
- it('should create', () => {
21
- expect(component).toBeTruthy();
22
- });
23
- });
@@ -1,53 +0,0 @@
1
- import {Component, OnInit} from '@angular/core';
2
- import {ActivatedRoute} from "@angular/router";
3
- import {NgIf} from "@angular/common";
4
- import {BaseTableComponent} from "../base-table/base-table.component";
5
- import {ButtonActionSettings, EMPTY_PAGE_INFO, FieldInfo, FilterRequest, PageInfo, TableColumn} from "../../base-model";
6
- import {Filter} from "../../base-model";
7
- import {EditableBaseTableComponent} from "../editable-base-table/editable-base-table.component";
8
-
9
- @Component({
10
- selector: 'app-shared-list',
11
- standalone: true,
12
- imports: [
13
- BaseTableComponent,
14
- NgIf,
15
- EditableBaseTableComponent
16
- ],
17
- templateUrl: './shared-list.component.html',
18
- styleUrls:[ './shared-list.component.css']
19
- })
20
- export class SharedListComponent implements OnInit {
21
- pageInfo: PageInfo = EMPTY_PAGE_INFO;
22
- columnsDefinition: TableColumn<any>[] = [];
23
- fields: FieldInfo[] = [];
24
- filters: Filter[] = [];
25
- readyToLoad: boolean = false;
26
- isPending: boolean = false;
27
- listAction: ButtonActionSettings[] = [];
28
- editableTable : boolean = false;
29
- filterRequest: FilterRequest = new FilterRequest();
30
- constructor(private activatedRoute: ActivatedRoute) { }
31
-
32
- ngOnInit(): void {
33
- this.activatedRoute.data.subscribe(data => {
34
- this.pageInfo = data['pageInfo'];
35
- this.columnsDefinition = data["columnsDefinition"];
36
- this.filters = data["filters"] || [];
37
-
38
- this.isPending = 'pending' === data["mode"];
39
- this.listAction = data['actions'];
40
- this.editableTable = data['editableTable'] || false;
41
- this.fields = data['fields'];
42
-
43
- this.filterRequest = new FilterRequest();
44
- this.filterRequest.columns = this.fields?.filter(c => c.type !== 'button').map(c => c.property) || [];
45
- this.filterRequest.filters = this.filters;
46
-
47
- this.readyToLoad = true;
48
-
49
- });
50
- }
51
-
52
-
53
- }
@@ -1,20 +0,0 @@
1
- <div class="snackbar snackbar-{{type}}" [ngStyle]="{'width': width == 'auto' ? 'auto' : width}">
2
- <div class="sub-snackbar">
3
- <mat-icon *ngIf="type === 'error'">error</mat-icon>
4
- <mat-icon *ngIf="type === 'success'">check_box</mat-icon>
5
- <mat-icon *ngIf="type === 'warning'">warning</mat-icon>
6
- <mat-icon *ngIf="type === 'info'">info</mat-icon>
7
- <mat-icon *ngIf="type === 'help'">help</mat-icon>
8
-
9
- <div class="text-content">
10
- <div class="title">{{ titleKey | translate : paramsTitle }}</div>
11
- <div class="subtitle">{{ messageKey | translate: params }}</div>
12
- </div>
13
-
14
- </div>
15
- <div class="action" *ngIf="textBtn">
16
- <button mat-stroked-button class="btn-none-background-primary action-btn" (click)="submit()" id="snackbar-action-btn">
17
- {{ textBtn | translate}}
18
- </button>
19
- </div>
20
- </div>