@updevs/components 1.0.0-alpha.98 → 1.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (688) hide show
  1. package/fesm2022/updevs-components-badge.mjs +21 -21
  2. package/fesm2022/updevs-components-badge.mjs.map +1 -1
  3. package/fesm2022/updevs-components-button.mjs +39 -39
  4. package/fesm2022/updevs-components-button.mjs.map +1 -1
  5. package/fesm2022/updevs-components-calendar.mjs +41 -41
  6. package/fesm2022/updevs-components-calendar.mjs.map +1 -1
  7. package/fesm2022/updevs-components-card.mjs +24 -20
  8. package/fesm2022/updevs-components-card.mjs.map +1 -1
  9. package/fesm2022/updevs-components-drag-and-drop.mjs +17 -17
  10. package/fesm2022/updevs-components-drag-and-drop.mjs.map +1 -1
  11. package/fesm2022/updevs-components-dropdown.mjs +10 -10
  12. package/fesm2022/updevs-components-dropdown.mjs.map +1 -1
  13. package/fesm2022/updevs-components-form-controls-abstractions.mjs +19 -19
  14. package/fesm2022/updevs-components-form-controls-abstractions.mjs.map +1 -1
  15. package/fesm2022/updevs-components-form-controls-checkbox.mjs +16 -16
  16. package/fesm2022/updevs-components-form-controls-checkbox.mjs.map +1 -1
  17. package/fesm2022/updevs-components-form-controls-date-picker.mjs +8 -8
  18. package/fesm2022/updevs-components-form-controls-date-picker.mjs.map +1 -1
  19. package/fesm2022/updevs-components-form-controls-file-upload.mjs +26 -26
  20. package/fesm2022/updevs-components-form-controls-file-upload.mjs.map +1 -1
  21. package/fesm2022/updevs-components-form-controls-input.mjs +16 -14
  22. package/fesm2022/updevs-components-form-controls-input.mjs.map +1 -1
  23. package/fesm2022/updevs-components-form-controls-radio.mjs +8 -8
  24. package/fesm2022/updevs-components-form-controls-radio.mjs.map +1 -1
  25. package/fesm2022/updevs-components-form-controls-select.mjs +52 -48
  26. package/fesm2022/updevs-components-form-controls-select.mjs.map +1 -1
  27. package/fesm2022/updevs-components-form-controls-textarea.mjs +15 -15
  28. package/fesm2022/updevs-components-form-controls-textarea.mjs.map +1 -1
  29. package/fesm2022/updevs-components-form-controls-time-picker.mjs +12 -12
  30. package/fesm2022/updevs-components-form-controls-time-picker.mjs.map +1 -1
  31. package/fesm2022/updevs-components-form.mjs +31 -31
  32. package/fesm2022/updevs-components-form.mjs.map +1 -1
  33. package/fesm2022/updevs-components-layout.mjs +112 -110
  34. package/fesm2022/updevs-components-layout.mjs.map +1 -1
  35. package/fesm2022/updevs-components-link.mjs +8 -8
  36. package/fesm2022/updevs-components-link.mjs.map +1 -1
  37. package/fesm2022/updevs-components-list.mjs +8 -8
  38. package/fesm2022/updevs-components-list.mjs.map +1 -1
  39. package/fesm2022/updevs-components-modal.mjs +25 -24
  40. package/fesm2022/updevs-components-modal.mjs.map +1 -1
  41. package/fesm2022/updevs-components-paginator.mjs +36 -36
  42. package/fesm2022/updevs-components-paginator.mjs.map +1 -1
  43. package/fesm2022/updevs-components-popover.mjs +13 -12
  44. package/fesm2022/updevs-components-popover.mjs.map +1 -1
  45. package/fesm2022/updevs-components-pricing.mjs +22 -22
  46. package/fesm2022/updevs-components-pricing.mjs.map +1 -1
  47. package/fesm2022/updevs-components-table.mjs +181 -208
  48. package/fesm2022/updevs-components-table.mjs.map +1 -1
  49. package/fesm2022/updevs-components.mjs +4 -4
  50. package/package.json +67 -111
  51. package/types/updevs-components-badge.d.ts +44 -0
  52. package/types/updevs-components-button.d.ts +75 -0
  53. package/types/updevs-components-calendar.d.ts +175 -0
  54. package/{card/card.component.d.ts → types/updevs-components-card.d.ts} +50 -12
  55. package/types/updevs-components-drag-and-drop.d.ts +74 -0
  56. package/{dropdown/dropdown.component.d.ts → types/updevs-components-dropdown.d.ts} +52 -8
  57. package/types/updevs-components-form-controls-abstractions.d.ts +49 -0
  58. package/types/updevs-components-form-controls-checkbox.d.ts +33 -0
  59. package/{form-controls/date-picker/date-picker.component.d.ts → types/updevs-components-form-controls-date-picker.d.ts} +17 -3
  60. package/types/updevs-components-form-controls-file-upload.d.ts +69 -0
  61. package/{form-controls/input/input.component.d.ts → types/updevs-components-form-controls-input.d.ts} +33 -7
  62. package/{form-controls/radio/radio.component.d.ts → types/updevs-components-form-controls-radio.d.ts} +14 -2
  63. package/types/updevs-components-form-controls-select.d.ts +200 -0
  64. package/types/updevs-components-form-controls-textarea.d.ts +31 -0
  65. package/types/updevs-components-form-controls-time-picker.d.ts +164 -0
  66. package/types/updevs-components-form.d.ts +356 -0
  67. package/types/updevs-components-layout.d.ts +490 -0
  68. package/{link/link.component.d.ts → types/updevs-components-link.d.ts} +16 -4
  69. package/types/updevs-components-list.d.ts +107 -0
  70. package/types/updevs-components-modal.d.ts +155 -0
  71. package/types/updevs-components-paginator.d.ts +58 -0
  72. package/types/updevs-components-popover.d.ts +63 -0
  73. package/types/updevs-components-pricing.d.ts +91 -0
  74. package/types/updevs-components-table.d.ts +619 -0
  75. package/types/updevs-components.d.ts +44 -0
  76. package/badge/badge-config.model.d.ts +0 -14
  77. package/badge/badge.component.d.ts +0 -23
  78. package/badge/badge.config.d.ts +0 -12
  79. package/badge/index.d.ts +0 -1
  80. package/badge/public-api.d.ts +0 -3
  81. package/badge/upd-badge.module.d.ts +0 -8
  82. package/button/button.component.d.ts +0 -62
  83. package/button/index.d.ts +0 -1
  84. package/button/public-api.d.ts +0 -2
  85. package/button/upd-button.module.d.ts +0 -10
  86. package/calendar/calendar.component.d.ts +0 -63
  87. package/calendar/index.d.ts +0 -1
  88. package/calendar/models/calendar-date.model.d.ts +0 -10
  89. package/calendar/models/calendar-month.model.d.ts +0 -7
  90. package/calendar/models/calendar-selected.model.d.ts +0 -5
  91. package/calendar/models/calendar-user-event.model.d.ts +0 -4
  92. package/calendar/models/calendar-year.model.d.ts +0 -6
  93. package/calendar/models/date-range.model.d.ts +0 -22
  94. package/calendar/models/enums/calendar-view.enum.d.ts +0 -5
  95. package/calendar/models/public-api.d.ts +0 -7
  96. package/calendar/public-api.d.ts +0 -5
  97. package/calendar/services/calendar-range-strategy.service.d.ts +0 -35
  98. package/calendar/services/calendar-signals.service.d.ts +0 -24
  99. package/calendar/services/public-api.d.ts +0 -1
  100. package/calendar/types/calendar-view.type.d.ts +0 -1
  101. package/calendar/types/public-api.d.ts +0 -1
  102. package/calendar/upd-calendar.module.d.ts +0 -13
  103. package/card/directives/card-actions.directive.d.ts +0 -7
  104. package/card/directives/card-footer.directive.d.ts +0 -7
  105. package/card/directives/card-header.directive.d.ts +0 -7
  106. package/card/directives/card-image.directive.d.ts +0 -7
  107. package/card/directives/public-api.d.ts +0 -4
  108. package/card/index.d.ts +0 -1
  109. package/card/public-api.d.ts +0 -4
  110. package/card/types/card-state.type.d.ts +0 -1
  111. package/card/types/card-style.type.d.ts +0 -1
  112. package/card/types/hover-effect.type.d.ts +0 -1
  113. package/card/types/public-api.d.ts +0 -5
  114. package/card/types/ribbon-style.type.d.ts +0 -1
  115. package/card/types/status-position.type.d.ts +0 -1
  116. package/card/upd-card.module.d.ts +0 -14
  117. package/drag-and-drop/drag-and-drop.component.d.ts +0 -26
  118. package/drag-and-drop/index.d.ts +0 -1
  119. package/drag-and-drop/models/drag-and-drop-column.config.d.ts +0 -8
  120. package/drag-and-drop/models/drag-and-drop-column.model.d.ts +0 -10
  121. package/drag-and-drop/models/drag-and-drop-item.d.ts +0 -7
  122. package/drag-and-drop/models/drag-and-drop-item.model.d.ts +0 -13
  123. package/drag-and-drop/models/drag-and-drop.config.d.ts +0 -6
  124. package/drag-and-drop/models/public-api.d.ts +0 -4
  125. package/drag-and-drop/public-api.d.ts +0 -3
  126. package/drag-and-drop/upd-drag-and-drop.module.d.ts +0 -9
  127. package/dropdown/index.d.ts +0 -1
  128. package/dropdown/models/dropdown-action-clicked.model.d.ts +0 -6
  129. package/dropdown/models/dropdown-item.d.ts +0 -25
  130. package/dropdown/models/dropdown-item.type.d.ts +0 -1
  131. package/dropdown/models/public-api.d.ts +0 -4
  132. package/dropdown/models/toolbar.type.d.ts +0 -1
  133. package/dropdown/public-api.d.ts +0 -3
  134. package/dropdown/upd-dropdown.module.d.ts +0 -12
  135. package/esm2022/badge/badge-config.model.mjs +0 -14
  136. package/esm2022/badge/badge.component.mjs +0 -48
  137. package/esm2022/badge/badge.config.mjs +0 -2
  138. package/esm2022/badge/index.mjs +0 -2
  139. package/esm2022/badge/public-api.mjs +0 -4
  140. package/esm2022/badge/upd-badge.module.mjs +0 -24
  141. package/esm2022/badge/updevs-components-badge.mjs +0 -5
  142. package/esm2022/button/button.component.mjs +0 -157
  143. package/esm2022/button/index.mjs +0 -2
  144. package/esm2022/button/public-api.mjs +0 -3
  145. package/esm2022/button/upd-button.module.mjs +0 -32
  146. package/esm2022/button/updevs-components-button.mjs +0 -5
  147. package/esm2022/calendar/assets/i18n/en.json +0 -16
  148. package/esm2022/calendar/assets/i18n/pt.json +0 -16
  149. package/esm2022/calendar/calendar.component.mjs +0 -318
  150. package/esm2022/calendar/index.mjs +0 -2
  151. package/esm2022/calendar/models/calendar-date.model.mjs +0 -2
  152. package/esm2022/calendar/models/calendar-month.model.mjs +0 -2
  153. package/esm2022/calendar/models/calendar-selected.model.mjs +0 -2
  154. package/esm2022/calendar/models/calendar-user-event.model.mjs +0 -2
  155. package/esm2022/calendar/models/calendar-year.model.mjs +0 -2
  156. package/esm2022/calendar/models/date-range.model.mjs +0 -18
  157. package/esm2022/calendar/models/enums/calendar-view.enum.mjs +0 -7
  158. package/esm2022/calendar/models/public-api.mjs +0 -8
  159. package/esm2022/calendar/public-api.mjs +0 -6
  160. package/esm2022/calendar/services/calendar-range-strategy.service.mjs +0 -99
  161. package/esm2022/calendar/services/calendar-signals.service.mjs +0 -47
  162. package/esm2022/calendar/services/public-api.mjs +0 -2
  163. package/esm2022/calendar/types/calendar-view.type.mjs +0 -2
  164. package/esm2022/calendar/types/public-api.mjs +0 -2
  165. package/esm2022/calendar/upd-calendar.module.mjs +0 -52
  166. package/esm2022/calendar/updevs-components-calendar.mjs +0 -5
  167. package/esm2022/card/card.component.mjs +0 -136
  168. package/esm2022/card/directives/card-actions.directive.mjs +0 -16
  169. package/esm2022/card/directives/card-footer.directive.mjs +0 -16
  170. package/esm2022/card/directives/card-header.directive.mjs +0 -16
  171. package/esm2022/card/directives/card-image.directive.mjs +0 -16
  172. package/esm2022/card/directives/public-api.mjs +0 -5
  173. package/esm2022/card/index.mjs +0 -2
  174. package/esm2022/card/public-api.mjs +0 -5
  175. package/esm2022/card/types/card-state.type.mjs +0 -2
  176. package/esm2022/card/types/card-style.type.mjs +0 -2
  177. package/esm2022/card/types/hover-effect.type.mjs +0 -2
  178. package/esm2022/card/types/public-api.mjs +0 -6
  179. package/esm2022/card/types/ribbon-style.type.mjs +0 -2
  180. package/esm2022/card/types/status-position.type.mjs +0 -2
  181. package/esm2022/card/upd-card.module.mjs +0 -50
  182. package/esm2022/card/updevs-components-card.mjs +0 -5
  183. package/esm2022/drag-and-drop/drag-and-drop.component.mjs +0 -134
  184. package/esm2022/drag-and-drop/index.mjs +0 -2
  185. package/esm2022/drag-and-drop/models/drag-and-drop-column.config.mjs +0 -2
  186. package/esm2022/drag-and-drop/models/drag-and-drop-column.model.mjs +0 -9
  187. package/esm2022/drag-and-drop/models/drag-and-drop-item.mjs +0 -2
  188. package/esm2022/drag-and-drop/models/drag-and-drop-item.model.mjs +0 -14
  189. package/esm2022/drag-and-drop/models/drag-and-drop.config.mjs +0 -2
  190. package/esm2022/drag-and-drop/models/public-api.mjs +0 -5
  191. package/esm2022/drag-and-drop/public-api.mjs +0 -4
  192. package/esm2022/drag-and-drop/upd-drag-and-drop.module.mjs +0 -28
  193. package/esm2022/drag-and-drop/updevs-components-drag-and-drop.mjs +0 -5
  194. package/esm2022/dropdown/dropdown.component.mjs +0 -203
  195. package/esm2022/dropdown/index.mjs +0 -2
  196. package/esm2022/dropdown/models/dropdown-action-clicked.model.mjs +0 -2
  197. package/esm2022/dropdown/models/dropdown-item.mjs +0 -2
  198. package/esm2022/dropdown/models/dropdown-item.type.mjs +0 -2
  199. package/esm2022/dropdown/models/public-api.mjs +0 -5
  200. package/esm2022/dropdown/models/toolbar.type.mjs +0 -2
  201. package/esm2022/dropdown/public-api.mjs +0 -4
  202. package/esm2022/dropdown/upd-dropdown.module.mjs +0 -40
  203. package/esm2022/dropdown/updevs-components-dropdown.mjs +0 -5
  204. package/esm2022/form/assets/i18n/en.json +0 -17
  205. package/esm2022/form/assets/i18n/pt.json +0 -17
  206. package/esm2022/form/components/dynamic-field/dynamic-field.component.mjs +0 -180
  207. package/esm2022/form/form.component.mjs +0 -180
  208. package/esm2022/form/index.mjs +0 -2
  209. package/esm2022/form/models/attachment-rule.model.mjs +0 -2
  210. package/esm2022/form/models/button-field.model.mjs +0 -2
  211. package/esm2022/form/models/button-group-field.model.mjs +0 -2
  212. package/esm2022/form/models/checkbox-field.model.mjs +0 -2
  213. package/esm2022/form/models/checkbox-group-field.model.mjs +0 -2
  214. package/esm2022/form/models/dynamic-field.model.mjs +0 -2
  215. package/esm2022/form/models/enums/attachment-type.enum.mjs +0 -15
  216. package/esm2022/form/models/enums/dynamic-field.type.mjs +0 -17
  217. package/esm2022/form/models/enums/public-api.mjs +0 -3
  218. package/esm2022/form/models/file-upload-field.model.mjs +0 -2
  219. package/esm2022/form/models/form-config.mjs +0 -2
  220. package/esm2022/form/models/form-row.model.mjs +0 -2
  221. package/esm2022/form/models/form-update-on.type.mjs +0 -2
  222. package/esm2022/form/models/input-field.model.mjs +0 -2
  223. package/esm2022/form/models/masked-input-field.model.mjs +0 -2
  224. package/esm2022/form/models/public-api.mjs +0 -19
  225. package/esm2022/form/models/radio-field.model.mjs +0 -2
  226. package/esm2022/form/models/radio-group-field.model.mjs +0 -2
  227. package/esm2022/form/models/select-field.model.mjs +0 -2
  228. package/esm2022/form/models/single-select-field.model.mjs +0 -2
  229. package/esm2022/form/models/textarea-field.model.mjs +0 -2
  230. package/esm2022/form/models/validator-config.mjs +0 -2
  231. package/esm2022/form/public-api.mjs +0 -4
  232. package/esm2022/form/tools/errors-helper.mjs +0 -54
  233. package/esm2022/form/upd-form.module.mjs +0 -84
  234. package/esm2022/form/updevs-components-form.mjs +0 -5
  235. package/esm2022/form-controls/abstractions/base-control.mjs +0 -99
  236. package/esm2022/form-controls/abstractions/index.mjs +0 -2
  237. package/esm2022/form-controls/abstractions/public-api.mjs +0 -2
  238. package/esm2022/form-controls/abstractions/updevs-components-form-controls-abstractions.mjs +0 -5
  239. package/esm2022/form-controls/checkbox/checkbox.component.mjs +0 -63
  240. package/esm2022/form-controls/checkbox/index.mjs +0 -2
  241. package/esm2022/form-controls/checkbox/public-api.mjs +0 -3
  242. package/esm2022/form-controls/checkbox/upd-checkbox.module.mjs +0 -32
  243. package/esm2022/form-controls/checkbox/updevs-components-form-controls-checkbox.mjs +0 -5
  244. package/esm2022/form-controls/date-picker/date-picker.component.mjs +0 -132
  245. package/esm2022/form-controls/date-picker/index.mjs +0 -2
  246. package/esm2022/form-controls/date-picker/public-api.mjs +0 -3
  247. package/esm2022/form-controls/date-picker/upd-date-picker.module.mjs +0 -40
  248. package/esm2022/form-controls/date-picker/updevs-components-form-controls-date-picker.mjs +0 -5
  249. package/esm2022/form-controls/file-upload/assets/i18n/en.json +0 -15
  250. package/esm2022/form-controls/file-upload/assets/i18n/pt.json +0 -15
  251. package/esm2022/form-controls/file-upload/file-upload-changed.event.mjs +0 -2
  252. package/esm2022/form-controls/file-upload/file-upload.component.mjs +0 -177
  253. package/esm2022/form-controls/file-upload/index.mjs +0 -2
  254. package/esm2022/form-controls/file-upload/public-api.mjs +0 -4
  255. package/esm2022/form-controls/file-upload/upd-file-upload.module.mjs +0 -48
  256. package/esm2022/form-controls/file-upload/updevs-components-form-controls-file-upload.mjs +0 -5
  257. package/esm2022/form-controls/input/directives/input-append.directive.mjs +0 -16
  258. package/esm2022/form-controls/input/directives/input-prepend.directive.mjs +0 -16
  259. package/esm2022/form-controls/input/directives/public-api.mjs +0 -3
  260. package/esm2022/form-controls/input/index.mjs +0 -2
  261. package/esm2022/form-controls/input/input.component.mjs +0 -205
  262. package/esm2022/form-controls/input/public-api.mjs +0 -5
  263. package/esm2022/form-controls/input/types/input.type.mjs +0 -2
  264. package/esm2022/form-controls/input/types/loader-position.type.mjs +0 -2
  265. package/esm2022/form-controls/input/types/public-api.mjs +0 -3
  266. package/esm2022/form-controls/input/upd-input.module.mjs +0 -46
  267. package/esm2022/form-controls/input/updevs-components-form-controls-input.mjs +0 -5
  268. package/esm2022/form-controls/radio/index.mjs +0 -2
  269. package/esm2022/form-controls/radio/public-api.mjs +0 -3
  270. package/esm2022/form-controls/radio/radio.component.mjs +0 -62
  271. package/esm2022/form-controls/radio/upd-radio.module.mjs +0 -32
  272. package/esm2022/form-controls/radio/updevs-components-form-controls-radio.mjs +0 -5
  273. package/esm2022/form-controls/select/components/multiple/select-multiple.component.mjs +0 -109
  274. package/esm2022/form-controls/select/components/single/select.component.mjs +0 -190
  275. package/esm2022/form-controls/select/index.mjs +0 -2
  276. package/esm2022/form-controls/select/models/abstractions/base-select.component.mjs +0 -246
  277. package/esm2022/form-controls/select/models/defaults.mjs +0 -8
  278. package/esm2022/form-controls/select/models/public-api.mjs +0 -4
  279. package/esm2022/form-controls/select/models/select-item.mjs +0 -2
  280. package/esm2022/form-controls/select/models/types.mjs +0 -2
  281. package/esm2022/form-controls/select/public-api.mjs +0 -5
  282. package/esm2022/form-controls/select/upd-select.module.mjs +0 -57
  283. package/esm2022/form-controls/select/updevs-components-form-controls-select.mjs +0 -5
  284. package/esm2022/form-controls/textarea/index.mjs +0 -2
  285. package/esm2022/form-controls/textarea/public-api.mjs +0 -3
  286. package/esm2022/form-controls/textarea/textarea.component.mjs +0 -51
  287. package/esm2022/form-controls/textarea/upd-textarea.module.mjs +0 -24
  288. package/esm2022/form-controls/textarea/updevs-components-form-controls-textarea.mjs +0 -5
  289. package/esm2022/form-controls/time-picker/assets/i18n/en.json +0 -5
  290. package/esm2022/form-controls/time-picker/assets/i18n/pt.json +0 -5
  291. package/esm2022/form-controls/time-picker/index.mjs +0 -2
  292. package/esm2022/form-controls/time-picker/public-api.mjs +0 -4
  293. package/esm2022/form-controls/time-picker/time-picker.component.mjs +0 -130
  294. package/esm2022/form-controls/time-picker/time-selector/time-selector.component.mjs +0 -124
  295. package/esm2022/form-controls/time-picker/upd-time-picker.module.mjs +0 -61
  296. package/esm2022/form-controls/time-picker/updevs-components-form-controls-time-picker.mjs +0 -5
  297. package/esm2022/index.mjs +0 -2
  298. package/esm2022/layout/abstractions/base-page.component.mjs +0 -23
  299. package/esm2022/layout/abstractions/base.layout.mjs +0 -31
  300. package/esm2022/layout/abstractions/public-api.mjs +0 -2
  301. package/esm2022/layout/assets/i18n/en.json +0 -27
  302. package/esm2022/layout/assets/i18n/pt.json +0 -27
  303. package/esm2022/layout/index.mjs +0 -2
  304. package/esm2022/layout/layouts/blank-layout/blank-layout.component.mjs +0 -22
  305. package/esm2022/layout/layouts/blank-layout/blank-layout.module.mjs +0 -50
  306. package/esm2022/layout/layouts/public-api.mjs +0 -5
  307. package/esm2022/layout/layouts/vertical-sidebar-layout/vertical-sidebar-layout.component.mjs +0 -17
  308. package/esm2022/layout/layouts/vertical-sidebar-layout/vertical-sidebar-layout.module.mjs +0 -78
  309. package/esm2022/layout/models/login-page-config.model.mjs +0 -20
  310. package/esm2022/layout/models/login-page.config.mjs +0 -2
  311. package/esm2022/layout/models/public-api.mjs +0 -3
  312. package/esm2022/layout/models/security-layout-config.model.mjs +0 -10
  313. package/esm2022/layout/models/security-layout.config.mjs +0 -2
  314. package/esm2022/layout/models/upd-layout-config.model.mjs +0 -24
  315. package/esm2022/layout/models/upd-layout.config.mjs +0 -2
  316. package/esm2022/layout/pages/auth-flow/auth-flow-routing.module.mjs +0 -28
  317. package/esm2022/layout/pages/auth-flow/auth-flow.module.mjs +0 -73
  318. package/esm2022/layout/pages/auth-flow/logged-out/logged-out.component.mjs +0 -11
  319. package/esm2022/layout/pages/auth-flow/login/login.component.mjs +0 -110
  320. package/esm2022/layout/pages/auth-flow/oauth-callback/oauth-callback.component.mjs +0 -11
  321. package/esm2022/layout/pages/auth-flow/public-api.mjs +0 -6
  322. package/esm2022/layout/pages/public-api.mjs +0 -2
  323. package/esm2022/layout/partials/footer/footer.component.mjs +0 -52
  324. package/esm2022/layout/partials/footer/footer.module.mjs +0 -28
  325. package/esm2022/layout/partials/footer/public-api.mjs +0 -3
  326. package/esm2022/layout/partials/header/header-style.type.mjs +0 -2
  327. package/esm2022/layout/partials/header/header.component.mjs +0 -140
  328. package/esm2022/layout/partials/header/header.module.mjs +0 -40
  329. package/esm2022/layout/partials/header/public-api.mjs +0 -4
  330. package/esm2022/layout/partials/page-header/page-header.component.mjs +0 -15
  331. package/esm2022/layout/partials/page-header/public-api.mjs +0 -2
  332. package/esm2022/layout/partials/public-api.mjs +0 -5
  333. package/esm2022/layout/partials/sidebar/public-api.mjs +0 -2
  334. package/esm2022/layout/partials/sidebar/sidebar.component.mjs +0 -234
  335. package/esm2022/layout/public-api.mjs +0 -8
  336. package/esm2022/layout/services/public-api.mjs +0 -2
  337. package/esm2022/layout/services/upd-layout-config.service.mjs +0 -21
  338. package/esm2022/layout/tools/layout.constants.mjs +0 -15
  339. package/esm2022/layout/upd-layout.module.mjs +0 -47
  340. package/esm2022/layout/updevs-components-layout.mjs +0 -5
  341. package/esm2022/lib/index.mjs +0 -2
  342. package/esm2022/lib/models/public-api.mjs +0 -2
  343. package/esm2022/lib/models/row-column-size.mjs +0 -2
  344. package/esm2022/lib/public-api.mjs +0 -5
  345. package/esm2022/lib/tools/column-size.helper.mjs +0 -12
  346. package/esm2022/lib/tools/public-api.mjs +0 -2
  347. package/esm2022/lib/types/component-size.type.mjs +0 -2
  348. package/esm2022/lib/types/horizontal-vertical.type.mjs +0 -2
  349. package/esm2022/lib/types/public-api.mjs +0 -4
  350. package/esm2022/lib/types/validation-status.type.mjs +0 -2
  351. package/esm2022/lib/upd-components.module.mjs +0 -14
  352. package/esm2022/link/index.mjs +0 -2
  353. package/esm2022/link/link.component.mjs +0 -51
  354. package/esm2022/link/public-api.mjs +0 -4
  355. package/esm2022/link/target.type.mjs +0 -2
  356. package/esm2022/link/upd-link.module.mjs +0 -24
  357. package/esm2022/link/updevs-components-link.mjs +0 -5
  358. package/esm2022/list/assets/i18n/en.json +0 -9
  359. package/esm2022/list/assets/i18n/pt.json +0 -9
  360. package/esm2022/list/index.mjs +0 -2
  361. package/esm2022/list/list.component.mjs +0 -117
  362. package/esm2022/list/models/badge-position.type.mjs +0 -2
  363. package/esm2022/list/models/list-item.mjs +0 -2
  364. package/esm2022/list/models/list-item.model.mjs +0 -20
  365. package/esm2022/list/models/public-api.mjs +0 -3
  366. package/esm2022/list/public-api.mjs +0 -4
  367. package/esm2022/list/upd-list.module.mjs +0 -44
  368. package/esm2022/list/updevs-components-list.mjs +0 -5
  369. package/esm2022/modal/assets/i18n/en.json +0 -17
  370. package/esm2022/modal/assets/i18n/pt.json +0 -17
  371. package/esm2022/modal/components/modal-container/modal-container.component.mjs +0 -216
  372. package/esm2022/modal/index.mjs +0 -2
  373. package/esm2022/modal/models/base.modal.mjs +0 -14
  374. package/esm2022/modal/models/modal-config.model.mjs +0 -20
  375. package/esm2022/modal/models/modal-ref.mjs +0 -2
  376. package/esm2022/modal/models/modal.config.mjs +0 -2
  377. package/esm2022/modal/models/public-api.mjs +0 -4
  378. package/esm2022/modal/public-api.mjs +0 -4
  379. package/esm2022/modal/services/modal-alert.service.mjs +0 -99
  380. package/esm2022/modal/services/modal.service.mjs +0 -30
  381. package/esm2022/modal/services/public-api.mjs +0 -3
  382. package/esm2022/modal/types/modal-footer-style.type.mjs +0 -2
  383. package/esm2022/modal/types/modal-size.type.mjs +0 -2
  384. package/esm2022/modal/upd-modal.module.mjs +0 -90
  385. package/esm2022/modal/updevs-components-modal.mjs +0 -5
  386. package/esm2022/paginator/assets/i18n/en.json +0 -15
  387. package/esm2022/paginator/assets/i18n/pt.json +0 -15
  388. package/esm2022/paginator/index.mjs +0 -2
  389. package/esm2022/paginator/paginator.component.mjs +0 -66
  390. package/esm2022/paginator/public-api.mjs +0 -3
  391. package/esm2022/paginator/upd-paginator.module.mjs +0 -47
  392. package/esm2022/paginator/updevs-components-paginator.mjs +0 -5
  393. package/esm2022/popover/index.mjs +0 -2
  394. package/esm2022/popover/popover.component.mjs +0 -65
  395. package/esm2022/popover/popover.directive.mjs +0 -120
  396. package/esm2022/popover/public-api.mjs +0 -4
  397. package/esm2022/popover/upd-popover.module.mjs +0 -29
  398. package/esm2022/popover/updevs-components-popover.mjs +0 -5
  399. package/esm2022/pricing/index.mjs +0 -2
  400. package/esm2022/pricing/models/price-item-feature.model.mjs +0 -2
  401. package/esm2022/pricing/models/price-item-features-group.model.mjs +0 -2
  402. package/esm2022/pricing/models/price-item-tag.model.mjs +0 -2
  403. package/esm2022/pricing/models/price-item.model.mjs +0 -2
  404. package/esm2022/pricing/models/public-api.mjs +0 -5
  405. package/esm2022/pricing/pricing-cards/pricing-cards.component.mjs +0 -27
  406. package/esm2022/pricing/pricing-table/pricing-table.component.mjs +0 -57
  407. package/esm2022/pricing/public-api.mjs +0 -5
  408. package/esm2022/pricing/upd-pricing.module.mjs +0 -49
  409. package/esm2022/pricing/updevs-components-pricing.mjs +0 -5
  410. package/esm2022/public-api.mjs +0 -2
  411. package/esm2022/table/abstractions/base-column.model.mjs +0 -52
  412. package/esm2022/table/abstractions/base.column.mjs +0 -84
  413. package/esm2022/table/abstractions/filters-operands.service.mjs +0 -3
  414. package/esm2022/table/abstractions/public-api.mjs +0 -4
  415. package/esm2022/table/assets/i18n/en.json +0 -74
  416. package/esm2022/table/assets/i18n/pt.json +0 -74
  417. package/esm2022/table/components/columns/boolean-column/boolean-column.component.mjs +0 -26
  418. package/esm2022/table/components/columns/date-time-column/date-time-column.component.mjs +0 -13
  419. package/esm2022/table/components/columns/number-column/number-column.component.mjs +0 -13
  420. package/esm2022/table/components/columns/text-column/text-column.component.mjs +0 -31
  421. package/esm2022/table/components/columns-manager/columns-manager.component.mjs +0 -36
  422. package/esm2022/table/components/filter-row/filter-row.component.mjs +0 -124
  423. package/esm2022/table/components/save-search/save-search.component.mjs +0 -72
  424. package/esm2022/table/components/search-section/search-section.component.mjs +0 -84
  425. package/esm2022/table/directives/public-api.mjs +0 -2
  426. package/esm2022/table/directives/table-column.directive.mjs +0 -54
  427. package/esm2022/table/index.mjs +0 -2
  428. package/esm2022/table/models/columns/boolean-column.model.mjs +0 -22
  429. package/esm2022/table/models/columns/custom-column.model.mjs +0 -11
  430. package/esm2022/table/models/columns/date-time-column.model.mjs +0 -16
  431. package/esm2022/table/models/columns/guid-column.model.mjs +0 -13
  432. package/esm2022/table/models/columns/image-column.model.mjs +0 -11
  433. package/esm2022/table/models/columns/number-column.model.mjs +0 -17
  434. package/esm2022/table/models/columns/public-api.mjs +0 -8
  435. package/esm2022/table/models/columns/text-column.model.mjs +0 -11
  436. package/esm2022/table/models/enums/column-type.enum.mjs +0 -15
  437. package/esm2022/table/models/enums/public-api.mjs +0 -2
  438. package/esm2022/table/models/filter-item.model.mjs +0 -2
  439. package/esm2022/table/models/filter-operand.config.mjs +0 -2
  440. package/esm2022/table/models/operands-lists/boolean-filter-operands-list.model.mjs +0 -25
  441. package/esm2022/table/models/operands-lists/date-filter-operands-list.model.mjs +0 -25
  442. package/esm2022/table/models/operands-lists/date-or-number-operands-list.config.mjs +0 -31
  443. package/esm2022/table/models/operands-lists/filter-operands-list.config.mjs +0 -31
  444. package/esm2022/table/models/operands-lists/guid-filter-operands-list.model.mjs +0 -16
  445. package/esm2022/table/models/operands-lists/number-filter-operands-list.model.mjs +0 -25
  446. package/esm2022/table/models/operands-lists/select-filter-operands-list.model.mjs +0 -12
  447. package/esm2022/table/models/operands-lists/string-filter-operands-list.model.mjs +0 -45
  448. package/esm2022/table/models/public-api.mjs +0 -5
  449. package/esm2022/table/models/saved-view.model.mjs +0 -2
  450. package/esm2022/table/models/table-config.model.mjs +0 -40
  451. package/esm2022/table/models/table.config.mjs +0 -2
  452. package/esm2022/table/models/upd-table-config.model.mjs +0 -9
  453. package/esm2022/table/models/upd-table.config.mjs +0 -2
  454. package/esm2022/table/public-api.mjs +0 -6
  455. package/esm2022/table/services/current-search-request.service.mjs +0 -280
  456. package/esm2022/table/services/default-filters-operands.service.mjs +0 -64
  457. package/esm2022/table/services/storages/saved-views.storage.mjs +0 -56
  458. package/esm2022/table/services/stores/filters-operands.store.mjs +0 -19
  459. package/esm2022/table/services/upd-table-config.service.mjs +0 -18
  460. package/esm2022/table/table.component.mjs +0 -435
  461. package/esm2022/table/tools/filters.tools.mjs +0 -75
  462. package/esm2022/table/tools/table.constants.mjs +0 -15
  463. package/esm2022/table/upd-table.module.mjs +0 -150
  464. package/esm2022/table/updevs-components-table.mjs +0 -5
  465. package/esm2022/updevs-components.mjs +0 -5
  466. package/form/components/dynamic-field/dynamic-field.component.d.ts +0 -65
  467. package/form/form.component.d.ts +0 -64
  468. package/form/index.d.ts +0 -1
  469. package/form/models/attachment-rule.model.d.ts +0 -35
  470. package/form/models/button-field.model.d.ts +0 -5
  471. package/form/models/button-group-field.model.d.ts +0 -5
  472. package/form/models/checkbox-field.model.d.ts +0 -4
  473. package/form/models/checkbox-group-field.model.d.ts +0 -6
  474. package/form/models/dynamic-field.model.d.ts +0 -56
  475. package/form/models/enums/attachment-type.enum.d.ts +0 -13
  476. package/form/models/enums/dynamic-field.type.d.ts +0 -15
  477. package/form/models/enums/public-api.d.ts +0 -2
  478. package/form/models/file-upload-field.model.d.ts +0 -16
  479. package/form/models/form-config.d.ts +0 -2
  480. package/form/models/form-row.model.d.ts +0 -10
  481. package/form/models/form-update-on.type.d.ts +0 -1
  482. package/form/models/input-field.model.d.ts +0 -9
  483. package/form/models/masked-input-field.model.d.ts +0 -6
  484. package/form/models/public-api.d.ts +0 -18
  485. package/form/models/radio-field.model.d.ts +0 -4
  486. package/form/models/radio-group-field.model.d.ts +0 -6
  487. package/form/models/select-field.model.d.ts +0 -29
  488. package/form/models/single-select-field.model.d.ts +0 -4
  489. package/form/models/textarea-field.model.d.ts +0 -10
  490. package/form/models/validator-config.d.ts +0 -5
  491. package/form/public-api.d.ts +0 -3
  492. package/form/tools/errors-helper.d.ts +0 -11
  493. package/form/upd-form.module.d.ts +0 -22
  494. package/form-controls/abstractions/base-control.d.ts +0 -47
  495. package/form-controls/abstractions/index.d.ts +0 -2
  496. package/form-controls/abstractions/public-api.d.ts +0 -2
  497. package/form-controls/checkbox/checkbox.component.d.ts +0 -21
  498. package/form-controls/checkbox/index.d.ts +0 -1
  499. package/form-controls/checkbox/public-api.d.ts +0 -2
  500. package/form-controls/checkbox/upd-checkbox.module.d.ts +0 -10
  501. package/form-controls/date-picker/index.d.ts +0 -1
  502. package/form-controls/date-picker/public-api.d.ts +0 -2
  503. package/form-controls/date-picker/upd-date-picker.module.d.ts +0 -12
  504. package/form-controls/file-upload/file-upload-changed.event.d.ts +0 -4
  505. package/form-controls/file-upload/file-upload.component.d.ts +0 -48
  506. package/form-controls/file-upload/index.d.ts +0 -1
  507. package/form-controls/file-upload/public-api.d.ts +0 -3
  508. package/form-controls/file-upload/upd-file-upload.module.d.ts +0 -14
  509. package/form-controls/input/directives/input-append.directive.d.ts +0 -7
  510. package/form-controls/input/directives/input-prepend.directive.d.ts +0 -7
  511. package/form-controls/input/directives/public-api.d.ts +0 -2
  512. package/form-controls/input/index.d.ts +0 -1
  513. package/form-controls/input/public-api.d.ts +0 -4
  514. package/form-controls/input/types/input.type.d.ts +0 -1
  515. package/form-controls/input/types/loader-position.type.d.ts +0 -1
  516. package/form-controls/input/types/public-api.d.ts +0 -2
  517. package/form-controls/input/upd-input.module.d.ts +0 -13
  518. package/form-controls/radio/index.d.ts +0 -1
  519. package/form-controls/radio/public-api.d.ts +0 -2
  520. package/form-controls/radio/upd-radio.module.d.ts +0 -10
  521. package/form-controls/select/components/multiple/select-multiple.component.d.ts +0 -31
  522. package/form-controls/select/components/single/select.component.d.ts +0 -35
  523. package/form-controls/select/index.d.ts +0 -1
  524. package/form-controls/select/models/abstractions/base-select.component.d.ts +0 -88
  525. package/form-controls/select/models/defaults.d.ts +0 -8
  526. package/form-controls/select/models/public-api.d.ts +0 -3
  527. package/form-controls/select/models/select-item.d.ts +0 -25
  528. package/form-controls/select/models/types.d.ts +0 -4
  529. package/form-controls/select/public-api.d.ts +0 -4
  530. package/form-controls/select/upd-select.module.d.ts +0 -16
  531. package/form-controls/textarea/index.d.ts +0 -1
  532. package/form-controls/textarea/public-api.d.ts +0 -2
  533. package/form-controls/textarea/textarea.component.d.ts +0 -21
  534. package/form-controls/textarea/upd-textarea.module.d.ts +0 -8
  535. package/form-controls/time-picker/index.d.ts +0 -1
  536. package/form-controls/time-picker/public-api.d.ts +0 -3
  537. package/form-controls/time-picker/time-picker.component.d.ts +0 -78
  538. package/form-controls/time-picker/time-selector/time-selector.component.d.ts +0 -69
  539. package/form-controls/time-picker/upd-time-picker.module.d.ts +0 -17
  540. package/index.d.ts +0 -2
  541. package/layout/abstractions/base-page.component.d.ts +0 -12
  542. package/layout/abstractions/base.layout.d.ts +0 -15
  543. package/layout/abstractions/public-api.d.ts +0 -1
  544. package/layout/index.d.ts +0 -1
  545. package/layout/layouts/blank-layout/blank-layout.component.d.ts +0 -9
  546. package/layout/layouts/blank-layout/blank-layout.module.d.ts +0 -15
  547. package/layout/layouts/public-api.d.ts +0 -4
  548. package/layout/layouts/vertical-sidebar-layout/vertical-sidebar-layout.component.d.ts +0 -6
  549. package/layout/layouts/vertical-sidebar-layout/vertical-sidebar-layout.module.d.ts +0 -21
  550. package/layout/models/login-page-config.model.d.ts +0 -46
  551. package/layout/models/login-page.config.d.ts +0 -44
  552. package/layout/models/public-api.d.ts +0 -2
  553. package/layout/models/security-layout-config.model.d.ts +0 -12
  554. package/layout/models/security-layout.config.d.ts +0 -10
  555. package/layout/models/upd-layout-config.model.d.ts +0 -48
  556. package/layout/models/upd-layout.config.d.ts +0 -46
  557. package/layout/pages/auth-flow/auth-flow-routing.module.d.ts +0 -12
  558. package/layout/pages/auth-flow/auth-flow.module.d.ts +0 -20
  559. package/layout/pages/auth-flow/logged-out/logged-out.component.d.ts +0 -5
  560. package/layout/pages/auth-flow/login/login.component.d.ts +0 -26
  561. package/layout/pages/auth-flow/oauth-callback/oauth-callback.component.d.ts +0 -5
  562. package/layout/pages/auth-flow/public-api.d.ts +0 -5
  563. package/layout/pages/public-api.d.ts +0 -1
  564. package/layout/partials/footer/footer.component.d.ts +0 -34
  565. package/layout/partials/footer/footer.module.d.ts +0 -9
  566. package/layout/partials/footer/public-api.d.ts +0 -2
  567. package/layout/partials/header/header-style.type.d.ts +0 -1
  568. package/layout/partials/header/header.component.d.ts +0 -51
  569. package/layout/partials/header/header.module.d.ts +0 -12
  570. package/layout/partials/header/public-api.d.ts +0 -3
  571. package/layout/partials/page-header/page-header.component.d.ts +0 -7
  572. package/layout/partials/page-header/public-api.d.ts +0 -1
  573. package/layout/partials/public-api.d.ts +0 -4
  574. package/layout/partials/sidebar/public-api.d.ts +0 -1
  575. package/layout/partials/sidebar/sidebar.component.d.ts +0 -46
  576. package/layout/public-api.d.ts +0 -7
  577. package/layout/services/public-api.d.ts +0 -1
  578. package/layout/services/upd-layout-config.service.d.ts +0 -15
  579. package/layout/tools/layout.constants.d.ts +0 -15
  580. package/layout/upd-layout.module.d.ts +0 -19
  581. package/lib/index.d.ts +0 -2
  582. package/lib/models/public-api.d.ts +0 -2
  583. package/lib/models/row-column-size.d.ts +0 -23
  584. package/lib/public-api.d.ts +0 -5
  585. package/lib/tools/column-size.helper.d.ts +0 -6
  586. package/lib/tools/public-api.d.ts +0 -2
  587. package/lib/types/component-size.type.d.ts +0 -2
  588. package/lib/types/horizontal-vertical.type.d.ts +0 -2
  589. package/lib/types/public-api.d.ts +0 -4
  590. package/lib/types/validation-status.type.d.ts +0 -2
  591. package/lib/upd-components.module.d.ts +0 -7
  592. package/link/index.d.ts +0 -1
  593. package/link/public-api.d.ts +0 -3
  594. package/link/target.type.d.ts +0 -1
  595. package/link/upd-link.module.d.ts +0 -8
  596. package/list/index.d.ts +0 -1
  597. package/list/list.component.d.ts +0 -47
  598. package/list/models/badge-position.type.d.ts +0 -1
  599. package/list/models/list-item.d.ts +0 -21
  600. package/list/models/list-item.model.d.ts +0 -26
  601. package/list/models/public-api.d.ts +0 -2
  602. package/list/public-api.d.ts +0 -3
  603. package/list/upd-list.module.d.ts +0 -13
  604. package/modal/components/modal-container/modal-container.component.d.ts +0 -74
  605. package/modal/index.d.ts +0 -1
  606. package/modal/models/base.modal.d.ts +0 -8
  607. package/modal/models/modal-config.model.d.ts +0 -32
  608. package/modal/models/modal-ref.d.ts +0 -6
  609. package/modal/models/modal.config.d.ts +0 -30
  610. package/modal/models/public-api.d.ts +0 -3
  611. package/modal/public-api.d.ts +0 -3
  612. package/modal/services/modal-alert.service.d.ts +0 -22
  613. package/modal/services/modal.service.d.ts +0 -12
  614. package/modal/services/public-api.d.ts +0 -2
  615. package/modal/types/modal-footer-style.type.d.ts +0 -1
  616. package/modal/types/modal-size.type.d.ts +0 -1
  617. package/modal/upd-modal.module.d.ts +0 -18
  618. package/paginator/index.d.ts +0 -1
  619. package/paginator/paginator.component.d.ts +0 -42
  620. package/paginator/public-api.d.ts +0 -2
  621. package/paginator/upd-paginator.module.d.ts +0 -14
  622. package/popover/index.d.ts +0 -1
  623. package/popover/popover.component.d.ts +0 -22
  624. package/popover/popover.directive.d.ts +0 -33
  625. package/popover/public-api.d.ts +0 -3
  626. package/popover/upd-popover.module.d.ts +0 -9
  627. package/pricing/index.d.ts +0 -1
  628. package/pricing/models/price-item-feature.model.d.ts +0 -7
  629. package/pricing/models/price-item-features-group.model.d.ts +0 -5
  630. package/pricing/models/price-item-tag.model.d.ts +0 -6
  631. package/pricing/models/price-item.model.d.ts +0 -22
  632. package/pricing/models/public-api.d.ts +0 -4
  633. package/pricing/pricing-cards/pricing-cards.component.d.ts +0 -12
  634. package/pricing/pricing-table/pricing-table.component.d.ts +0 -30
  635. package/pricing/public-api.d.ts +0 -4
  636. package/pricing/upd-pricing.module.d.ts +0 -14
  637. package/public-api.d.ts +0 -2
  638. package/table/abstractions/base-column.model.d.ts +0 -29
  639. package/table/abstractions/base.column.d.ts +0 -26
  640. package/table/abstractions/filters-operands.service.d.ts +0 -8
  641. package/table/abstractions/public-api.d.ts +0 -3
  642. package/table/components/columns/boolean-column/boolean-column.component.d.ts +0 -9
  643. package/table/components/columns/date-time-column/date-time-column.component.d.ts +0 -7
  644. package/table/components/columns/number-column/number-column.component.d.ts +0 -7
  645. package/table/components/columns/text-column/text-column.component.d.ts +0 -9
  646. package/table/components/columns-manager/columns-manager.component.d.ts +0 -15
  647. package/table/components/filter-row/filter-row.component.d.ts +0 -41
  648. package/table/components/save-search/save-search.component.d.ts +0 -17
  649. package/table/components/search-section/search-section.component.d.ts +0 -33
  650. package/table/directives/public-api.d.ts +0 -1
  651. package/table/directives/table-column.directive.d.ts +0 -14
  652. package/table/index.d.ts +0 -1
  653. package/table/models/columns/boolean-column.model.d.ts +0 -15
  654. package/table/models/columns/custom-column.model.d.ts +0 -5
  655. package/table/models/columns/date-time-column.model.d.ts +0 -8
  656. package/table/models/columns/guid-column.model.d.ts +0 -4
  657. package/table/models/columns/image-column.model.d.ts +0 -6
  658. package/table/models/columns/number-column.model.d.ts +0 -8
  659. package/table/models/columns/public-api.d.ts +0 -7
  660. package/table/models/columns/text-column.model.d.ts +0 -6
  661. package/table/models/enums/column-type.enum.d.ts +0 -13
  662. package/table/models/enums/public-api.d.ts +0 -1
  663. package/table/models/filter-item.model.d.ts +0 -7
  664. package/table/models/filter-operand.config.d.ts +0 -9
  665. package/table/models/operands-lists/boolean-filter-operands-list.model.d.ts +0 -6
  666. package/table/models/operands-lists/date-filter-operands-list.model.d.ts +0 -6
  667. package/table/models/operands-lists/date-or-number-operands-list.config.d.ts +0 -5
  668. package/table/models/operands-lists/filter-operands-list.config.d.ts +0 -5
  669. package/table/models/operands-lists/guid-filter-operands-list.model.d.ts +0 -6
  670. package/table/models/operands-lists/number-filter-operands-list.model.d.ts +0 -6
  671. package/table/models/operands-lists/select-filter-operands-list.model.d.ts +0 -6
  672. package/table/models/operands-lists/string-filter-operands-list.model.d.ts +0 -6
  673. package/table/models/public-api.d.ts +0 -4
  674. package/table/models/saved-view.model.d.ts +0 -11
  675. package/table/models/table-config.model.d.ts +0 -44
  676. package/table/models/table.config.d.ts +0 -42
  677. package/table/models/upd-table-config.model.d.ts +0 -6
  678. package/table/models/upd-table.config.d.ts +0 -6
  679. package/table/public-api.d.ts +0 -5
  680. package/table/services/current-search-request.service.d.ts +0 -174
  681. package/table/services/default-filters-operands.service.d.ts +0 -17
  682. package/table/services/storages/saved-views.storage.d.ts +0 -19
  683. package/table/services/stores/filters-operands.store.d.ts +0 -11
  684. package/table/services/upd-table-config.service.d.ts +0 -12
  685. package/table/table.component.d.ts +0 -77
  686. package/table/tools/filters.tools.d.ts +0 -9
  687. package/table/tools/table.constants.d.ts +0 -15
  688. package/table/upd-table.module.d.ts +0 -40
@@ -123,11 +123,12 @@ class BaseColumn {
123
123
  this.config.isItalic ? 'fst-italic' : ''
124
124
  ];
125
125
  }
126
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BaseColumn, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
127
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.0", type: BaseColumn, ngImport: i0 }); }
126
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: BaseColumn, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
127
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.4", type: BaseColumn, isStandalone: false, ngImport: i0 }); }
128
128
  }
129
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BaseColumn, decorators: [{
130
- type: Directive
129
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: BaseColumn, decorators: [{
130
+ type: Directive,
131
+ args: [{ standalone: false }]
131
132
  }] });
132
133
 
133
134
  class BaseColumnModel {
@@ -202,21 +203,21 @@ class TextColumnComponent extends BaseColumn {
202
203
  return '';
203
204
  }
204
205
  }
205
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: TextColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
206
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.0", type: TextColumnComponent, selector: "upd-text-column", usesInheritance: true, ngImport: i0, template: "<span [ngClass]=\"getClasses()\">{{ prefix }}{{ prefixSpace }}{{ value }}{{ suffixSpace }}{{ suffix }}</span>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
206
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: TextColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
207
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.4", type: TextColumnComponent, isStandalone: false, selector: "upd-text-column", usesInheritance: true, ngImport: i0, template: "<span [ngClass]=\"getClasses()\">{{ prefix }}{{ prefixSpace }}{{ value }}{{ suffixSpace }}{{ suffix }}</span>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
207
208
  }
208
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: TextColumnComponent, decorators: [{
209
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: TextColumnComponent, decorators: [{
209
210
  type: Component,
210
- args: [{ selector: 'upd-text-column', template: "<span [ngClass]=\"getClasses()\">{{ prefix }}{{ prefixSpace }}{{ value }}{{ suffixSpace }}{{ suffix }}</span>\n" }]
211
+ args: [{ standalone: false, selector: 'upd-text-column', template: "<span [ngClass]=\"getClasses()\">{{ prefix }}{{ prefixSpace }}{{ value }}{{ suffixSpace }}{{ suffix }}</span>\n" }]
211
212
  }] });
212
213
 
213
214
  class NumberColumnComponent extends BaseColumn {
214
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NumberColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
215
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.0", type: NumberColumnComponent, selector: "upd-number-column", usesInheritance: true, ngImport: i0, template: "<span [ngClass]=\"getClasses()\">{{ prefix }}{{ prefixSpace }}{{ value | number:config.numberFormat }}{{ suffixSpace }}{{ suffix }}</span>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i1.DecimalPipe, name: "number" }] }); }
215
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: NumberColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
216
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.4", type: NumberColumnComponent, isStandalone: false, selector: "upd-number-column", usesInheritance: true, ngImport: i0, template: "<span [ngClass]=\"getClasses()\">{{ prefix }}{{ prefixSpace }}{{ value | number:config.numberFormat }}{{ suffixSpace }}{{ suffix }}</span>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i1.DecimalPipe, name: "number" }] }); }
216
217
  }
217
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NumberColumnComponent, decorators: [{
218
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: NumberColumnComponent, decorators: [{
218
219
  type: Component,
219
- args: [{ selector: 'upd-number-column', template: "<span [ngClass]=\"getClasses()\">{{ prefix }}{{ prefixSpace }}{{ value | number:config.numberFormat }}{{ suffixSpace }}{{ suffix }}</span>\n" }]
220
+ args: [{ standalone: false, selector: 'upd-number-column', template: "<span [ngClass]=\"getClasses()\">{{ prefix }}{{ prefixSpace }}{{ value | number:config.numberFormat }}{{ suffixSpace }}{{ suffix }}</span>\n" }]
220
221
  }] });
221
222
 
222
223
  class BooleanColumnComponent extends BaseColumn {
@@ -232,27 +233,27 @@ class BooleanColumnComponent extends BaseColumn {
232
233
  }
233
234
  return `text-${(!!this.value ? this.config.trueColor : this.config.falseColor)}`;
234
235
  }
235
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BooleanColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
236
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: BooleanColumnComponent, selector: "upd-boolean-column", usesInheritance: true, ngImport: i0, template: "<div [ngClass]=\"getClasses()\">\n @switch (config.displayType) {\n @case ('text') {\n {{ prefix }}{{ prefixSpace }}{{ !!value ? textService.getText(config.trueText) : textService.getText(config.falseText) }}{{ suffixSpace }}{{ suffix }}\n }\n @case ('toggle') {\n {{ prefix }}{{ prefixSpace }}\n <upd-icon [tablerIcon]=\"!!value ? 'toggle-right' : 'toggle-left'\"></upd-icon>{{ suffixSpace }}{{ suffix }}\n }\n @case ('icon') {\n {{ prefix }}{{ prefixSpace }}\n <upd-icon [model]=\"!!value ? config.trueIcon : config.falseIcon\"></upd-icon>{{ suffixSpace }}{{ suffix }}\n }\n }\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i3.IconComponent, selector: "upd-icon", inputs: ["model", "wrapperClasses", "color", "colorClass", "removeDefaultClasses", "customClasses", "tablerIcon", "tablerIconWeight", "tablerIconType", "tablerIconSize", "heroIcon", "heroIconSize", "heroIconType"] }] }); }
236
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: BooleanColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
237
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.4", type: BooleanColumnComponent, isStandalone: false, selector: "upd-boolean-column", usesInheritance: true, ngImport: i0, template: "<div [ngClass]=\"getClasses()\">\n @switch (config.displayType) {\n @case ('text') {\n {{ prefix }}{{ prefixSpace }}{{ !!value ? textService.getText(config.trueText) : textService.getText(config.falseText) }}{{ suffixSpace }}{{ suffix }}\n }\n @case ('toggle') {\n {{ prefix }}{{ prefixSpace }}\n <upd-icon [tablerIcon]=\"!!value ? 'toggle-right' : 'toggle-left'\"></upd-icon>{{ suffixSpace }}{{ suffix }}\n }\n @case ('icon') {\n {{ prefix }}{{ prefixSpace }}\n <upd-icon [model]=\"!!value ? config.trueIcon : config.falseIcon\"></upd-icon>{{ suffixSpace }}{{ suffix }}\n }\n }\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i3.IconComponent, selector: "upd-icon", inputs: ["model", "wrapperClasses", "color", "colorClass", "removeDefaultClasses", "customClasses", "tablerIcon", "tablerIconWeight", "tablerIconType", "tablerIconSize", "heroIcon", "heroIconSize", "heroIconType"] }] }); }
237
238
  }
238
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BooleanColumnComponent, decorators: [{
239
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: BooleanColumnComponent, decorators: [{
239
240
  type: Component,
240
- args: [{ selector: 'upd-boolean-column', template: "<div [ngClass]=\"getClasses()\">\n @switch (config.displayType) {\n @case ('text') {\n {{ prefix }}{{ prefixSpace }}{{ !!value ? textService.getText(config.trueText) : textService.getText(config.falseText) }}{{ suffixSpace }}{{ suffix }}\n }\n @case ('toggle') {\n {{ prefix }}{{ prefixSpace }}\n <upd-icon [tablerIcon]=\"!!value ? 'toggle-right' : 'toggle-left'\"></upd-icon>{{ suffixSpace }}{{ suffix }}\n }\n @case ('icon') {\n {{ prefix }}{{ prefixSpace }}\n <upd-icon [model]=\"!!value ? config.trueIcon : config.falseIcon\"></upd-icon>{{ suffixSpace }}{{ suffix }}\n }\n }\n</div>\n" }]
241
+ args: [{ standalone: false, selector: 'upd-boolean-column', template: "<div [ngClass]=\"getClasses()\">\n @switch (config.displayType) {\n @case ('text') {\n {{ prefix }}{{ prefixSpace }}{{ !!value ? textService.getText(config.trueText) : textService.getText(config.falseText) }}{{ suffixSpace }}{{ suffix }}\n }\n @case ('toggle') {\n {{ prefix }}{{ prefixSpace }}\n <upd-icon [tablerIcon]=\"!!value ? 'toggle-right' : 'toggle-left'\"></upd-icon>{{ suffixSpace }}{{ suffix }}\n }\n @case ('icon') {\n {{ prefix }}{{ prefixSpace }}\n <upd-icon [model]=\"!!value ? config.trueIcon : config.falseIcon\"></upd-icon>{{ suffixSpace }}{{ suffix }}\n }\n }\n</div>\n" }]
241
242
  }] });
242
243
 
243
244
  class DateTimeColumnComponent extends BaseColumn {
244
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: DateTimeColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
245
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.0", type: DateTimeColumnComponent, selector: "upd-date-time-column", usesInheritance: true, ngImport: i0, template: "<span [ngClass]=\"getClasses()\">{{ prefix }}{{ prefixSpace }}{{ value | date:config.dateTimeFormat }}{{ suffixSpace }}{{ suffix }}</span>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i1.DatePipe, name: "date" }] }); }
245
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: DateTimeColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
246
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.4", type: DateTimeColumnComponent, isStandalone: false, selector: "upd-date-time-column", usesInheritance: true, ngImport: i0, template: "<span [ngClass]=\"getClasses()\">{{ prefix }}{{ prefixSpace }}{{ value | date:config.dateTimeFormat }}{{ suffixSpace }}{{ suffix }}</span>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i1.DatePipe, name: "date" }] }); }
246
247
  }
247
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: DateTimeColumnComponent, decorators: [{
248
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: DateTimeColumnComponent, decorators: [{
248
249
  type: Component,
249
- args: [{ selector: 'upd-date-time-column', template: "<span [ngClass]=\"getClasses()\">{{ prefix }}{{ prefixSpace }}{{ value | date:config.dateTimeFormat }}{{ suffixSpace }}{{ suffix }}</span>\n" }]
250
+ args: [{ standalone: false, selector: 'upd-date-time-column', template: "<span [ngClass]=\"getClasses()\">{{ prefix }}{{ prefixSpace }}{{ value | date:config.dateTimeFormat }}{{ suffixSpace }}{{ suffix }}</span>\n" }]
250
251
  }] });
251
252
 
252
253
  class TableColumnDirective {
253
254
  constructor() {
254
- this.record = input.required();
255
- this.config = input.required();
255
+ this.record = input.required(...(ngDevMode ? [{ debugName: "record" }] : []));
256
+ this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
256
257
  this.viewContainerRef = inject(ViewContainerRef);
257
258
  this.dynamicLoaderService = inject(DynamicComponentLoaderService);
258
259
  effect(() => {
@@ -285,15 +286,16 @@ class TableColumnDirective {
285
286
  throw Error();
286
287
  }
287
288
  }
288
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: TableColumnDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
289
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.1.0", type: TableColumnDirective, selector: "[updTableColumn]", inputs: { record: { classPropertyName: "record", publicName: "record", isSignal: true, isRequired: true, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0 }); }
289
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: TableColumnDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
290
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.4", type: TableColumnDirective, isStandalone: false, selector: "[updTableColumn]", inputs: { record: { classPropertyName: "record", publicName: "record", isSignal: true, isRequired: true, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0 }); }
290
291
  }
291
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: TableColumnDirective, decorators: [{
292
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: TableColumnDirective, decorators: [{
292
293
  type: Directive,
293
294
  args: [{
295
+ standalone: false,
294
296
  selector: '[updTableColumn]'
295
297
  }]
296
- }], ctorParameters: () => [] });
298
+ }], ctorParameters: () => [], propDecorators: { record: [{ type: i0.Input, args: [{ isSignal: true, alias: "record", required: true }] }], config: [{ type: i0.Input, args: [{ isSignal: true, alias: "config", required: true }] }] } });
297
299
 
298
300
  class BooleanColumnModel extends BaseColumnModel {
299
301
  constructor(init) {
@@ -395,7 +397,6 @@ class TableConfigModel {
395
397
  this.data = [];
396
398
  this.preSelectedItems = [];
397
399
  this.searchInputDebounceTime = 300;
398
- this.shouldLoadFilterFieldsFromServer = false;
399
400
  /**
400
401
  * Actions added to each record row as a group of buttons.
401
402
  */
@@ -424,8 +425,8 @@ class TableConfigModel {
424
425
  class ColumnsManagerComponent extends BaseModal {
425
426
  constructor() {
426
427
  super(...arguments);
427
- this.config = computed(() => ({ columns: [this.visibleColumn(), this.hiddenColumn()], canReorder: true }));
428
- this.columns = signal([]);
428
+ this.config = computed(() => ({ columns: [this.visibleColumn(), this.hiddenColumn()], canReorder: true }), ...(ngDevMode ? [{ debugName: "config" }] : []));
429
+ this.columns = signal([], ...(ngDevMode ? [{ debugName: "columns" }] : []));
429
430
  this.visibleColumn = computed(() => ({
430
431
  name: 'visible',
431
432
  title: { text: 'UpDevs.Table.VisibleColumns', isTranslated: false },
@@ -434,7 +435,7 @@ class ColumnsManagerComponent extends BaseModal {
434
435
  name: c.name,
435
436
  text: c.title || { text: 'UpDevs.Table.ColumnTitleNotSet', isTranslated: false }
436
437
  }))
437
- }));
438
+ }), ...(ngDevMode ? [{ debugName: "visibleColumn" }] : []));
438
439
  this.hiddenColumn = computed(() => ({
439
440
  name: 'hidden',
440
441
  title: { text: 'UpDevs.Table.HiddenColumns', isTranslated: false },
@@ -442,14 +443,14 @@ class ColumnsManagerComponent extends BaseModal {
442
443
  name: c.name,
443
444
  text: c.title || { text: 'UpDevs.Table.ColumnTitleNotSet', isTranslated: false }
444
445
  }))
445
- }));
446
+ }), ...(ngDevMode ? [{ debugName: "hiddenColumn" }] : []));
446
447
  }
447
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: ColumnsManagerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
448
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.0", type: ColumnsManagerComponent, selector: "upd-columns-manager", usesInheritance: true, ngImport: i0, template: "<ng-container *transloco=\"let t; prefix: 'UpDevs.Table.ColumnsManager'\">\n <upd-drag-and-drop [config]=\"config()\" [(columns)]=\"columns\"></upd-drag-and-drop>\n</ng-container>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$1.TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "component", type: i2.DragAndDropComponent, selector: "upd-drag-and-drop", inputs: ["config", "columns"], outputs: ["columnsChange"] }] }); }
448
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: ColumnsManagerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
449
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.4", type: ColumnsManagerComponent, isStandalone: false, selector: "upd-columns-manager", usesInheritance: true, ngImport: i0, template: "<ng-container *transloco=\"let t; prefix: 'UpDevs.Table.ColumnsManager'\">\n <upd-drag-and-drop [config]=\"config()\" [(columns)]=\"columns\"></upd-drag-and-drop>\n</ng-container>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$1.TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "component", type: i2.DragAndDropComponent, selector: "upd-drag-and-drop", inputs: ["config", "columns"], outputs: ["columnsChange"] }] }); }
449
450
  }
450
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: ColumnsManagerComponent, decorators: [{
451
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: ColumnsManagerComponent, decorators: [{
451
452
  type: Component,
452
- args: [{ selector: 'upd-columns-manager', template: "<ng-container *transloco=\"let t; prefix: 'UpDevs.Table.ColumnsManager'\">\n <upd-drag-and-drop [config]=\"config()\" [(columns)]=\"columns\"></upd-drag-and-drop>\n</ng-container>\n" }]
453
+ args: [{ standalone: false, selector: 'upd-columns-manager', template: "<ng-container *transloco=\"let t; prefix: 'UpDevs.Table.ColumnsManager'\">\n <upd-drag-and-drop [config]=\"config()\" [(columns)]=\"columns\"></upd-drag-and-drop>\n</ng-container>\n" }]
453
454
  }] });
454
455
 
455
456
  class SavedViewsStorage extends BaseByUserSignalStorage {
@@ -497,17 +498,17 @@ class SavedViewsStorage extends BaseByUserSignalStorage {
497
498
  && sv.name?.toLowerCase() === name?.toLowerCase()
498
499
  && sv.id !== this.lastStateKey);
499
500
  }
500
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: SavedViewsStorage, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
501
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: SavedViewsStorage }); }
501
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: SavedViewsStorage, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
502
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: SavedViewsStorage }); }
502
503
  }
503
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: SavedViewsStorage, decorators: [{
504
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: SavedViewsStorage, decorators: [{
504
505
  type: Injectable
505
506
  }], ctorParameters: () => [] });
506
507
 
507
508
  class SaveSearchComponent extends BaseModal {
508
509
  constructor() {
509
510
  super(...arguments);
510
- this.formGroup = model(new FormGroup({}));
511
+ this.formGroup = model(new FormGroup({}), ...(ngDevMode ? [{ debugName: "formGroup" }] : []));
511
512
  this.formRows = [];
512
513
  this.savedViewsStorage = inject(SavedViewsStorage);
513
514
  this.uniqueNameValidator = () => (control) => {
@@ -559,13 +560,13 @@ class SaveSearchComponent extends BaseModal {
559
560
  this.savedViewsStorage.saveView(data);
560
561
  this.modalRef().close();
561
562
  }
562
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: SaveSearchComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
563
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.1.0", type: SaveSearchComponent, selector: "upd-save-search", inputs: { formGroup: { classPropertyName: "formGroup", publicName: "formGroup", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { formGroup: "formGroupChange" }, usesInheritance: true, ngImport: i0, template: "<ng-container *transloco=\"let t; prefix: 'UpDevs.Table.SaveSearch'\">\n <div class=\"modal-header\">\n <h5 class=\"modal-title\">{{ t('Title') }}</h5>\n </div>\n <div class=\"modal-body py-4\">\n <upd-form [rows]=\"formRows\" [hasActionsSection]=\"false\" [(formGroup)]=\"formGroup\"></upd-form>\n </div>\n <div class=\"modal-footer\">\n <upd-button colorStyle=\"secondary\" [isLink]=\"true\" (clicked)=\"cancel()\">\n {{ t('Cancel') }}\n </upd-button>\n <upd-button colorStyle=\"primary\" [iconModel]=\"{tablerIcon:'device-floppy'}\" (clicked)=\"save()\" [isDisabled]=\"!formGroup().valid\">\n {{ t('Save') }}\n </upd-button>\n </div>\n</ng-container>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$1.TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "component", type: i4.ButtonComponent, selector: "upd-button", inputs: ["model", "text", "brandColorStyle", "customClasses", "isOutline", "isGhost", "isSquare", "isPill", "isIcon", "isLoading", "isList", "isFloating", "isAction", "isNavigationLink", "isLink", "shouldIgnoreBtnClass", "iconModel", "iconPosition", "isDisabled", "isActive", "badgeConfig", "colorStyle", "size", "title", "stopPropagation"], outputs: ["clicked"] }, { kind: "component", type: i3$1.FormComponent, selector: "upd-form", inputs: ["rows", "layout", "title", "hasActionsSection", "isCard", "isDisabled", "isLoading", "isSaving", "formData", "formGroup"], outputs: ["initialized", "dataLoaded", "submitted", "formDataChange", "formGroupChange"] }] }); }
563
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: SaveSearchComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
564
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.4", type: SaveSearchComponent, isStandalone: false, selector: "upd-save-search", inputs: { formGroup: { classPropertyName: "formGroup", publicName: "formGroup", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { formGroup: "formGroupChange" }, usesInheritance: true, ngImport: i0, template: "<ng-container *transloco=\"let t; prefix: 'UpDevs.Table.SaveSearch'\">\n <div class=\"modal-header\">\n <h5 class=\"modal-title\">{{ t('Title') }}</h5>\n </div>\n <div class=\"modal-body py-4\">\n <upd-form [rows]=\"formRows\" [hasActionsSection]=\"false\" [(formGroup)]=\"formGroup\"></upd-form>\n </div>\n <div class=\"modal-footer\">\n <upd-button colorStyle=\"secondary\" [isLink]=\"true\" (clicked)=\"cancel()\">\n {{ t('Cancel') }}\n </upd-button>\n <upd-button colorStyle=\"primary\" [iconModel]=\"{tablerIcon:'device-floppy'}\" (clicked)=\"save()\" [isDisabled]=\"!formGroup().valid\">\n {{ t('Save') }}\n </upd-button>\n </div>\n</ng-container>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$1.TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "component", type: i4.ButtonComponent, selector: "upd-button", inputs: ["model", "text", "brandColorStyle", "customClasses", "isOutline", "isGhost", "isSquare", "isPill", "isIcon", "isLoading", "isList", "isFloating", "isAction", "isNavigationLink", "isLink", "shouldIgnoreBtnClass", "iconModel", "iconPosition", "isDisabled", "isActive", "badgeConfig", "colorStyle", "size", "title", "stopPropagation"], outputs: ["clicked"] }, { kind: "component", type: i3$1.FormComponent, selector: "upd-form", inputs: ["rows", "layout", "title", "hasActionsSection", "isCard", "isDisabled", "isLoading", "isSaving", "formData", "formGroup"], outputs: ["initialized", "dataLoaded", "submitted", "formDataChange", "formGroupChange"] }] }); }
564
565
  }
565
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: SaveSearchComponent, decorators: [{
566
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: SaveSearchComponent, decorators: [{
566
567
  type: Component,
567
- args: [{ selector: 'upd-save-search', template: "<ng-container *transloco=\"let t; prefix: 'UpDevs.Table.SaveSearch'\">\n <div class=\"modal-header\">\n <h5 class=\"modal-title\">{{ t('Title') }}</h5>\n </div>\n <div class=\"modal-body py-4\">\n <upd-form [rows]=\"formRows\" [hasActionsSection]=\"false\" [(formGroup)]=\"formGroup\"></upd-form>\n </div>\n <div class=\"modal-footer\">\n <upd-button colorStyle=\"secondary\" [isLink]=\"true\" (clicked)=\"cancel()\">\n {{ t('Cancel') }}\n </upd-button>\n <upd-button colorStyle=\"primary\" [iconModel]=\"{tablerIcon:'device-floppy'}\" (clicked)=\"save()\" [isDisabled]=\"!formGroup().valid\">\n {{ t('Save') }}\n </upd-button>\n </div>\n</ng-container>\n" }]
568
- }] });
568
+ args: [{ standalone: false, selector: 'upd-save-search', template: "<ng-container *transloco=\"let t; prefix: 'UpDevs.Table.SaveSearch'\">\n <div class=\"modal-header\">\n <h5 class=\"modal-title\">{{ t('Title') }}</h5>\n </div>\n <div class=\"modal-body py-4\">\n <upd-form [rows]=\"formRows\" [hasActionsSection]=\"false\" [(formGroup)]=\"formGroup\"></upd-form>\n </div>\n <div class=\"modal-footer\">\n <upd-button colorStyle=\"secondary\" [isLink]=\"true\" (clicked)=\"cancel()\">\n {{ t('Cancel') }}\n </upd-button>\n <upd-button colorStyle=\"primary\" [iconModel]=\"{tablerIcon:'device-floppy'}\" (clicked)=\"save()\" [isDisabled]=\"!formGroup().valid\">\n {{ t('Save') }}\n </upd-button>\n </div>\n</ng-container>\n" }]
569
+ }], propDecorators: { formGroup: [{ type: i0.Input, args: [{ isSignal: true, alias: "formGroup", required: false }] }, { type: i0.Output, args: ["formGroupChange"] }] } });
569
570
 
570
571
  /**
571
572
  * Service to manage the current search request state across table components.
@@ -574,10 +575,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
574
575
  */
575
576
  class CurrentSearchRequestService {
576
577
  constructor() {
577
- this._searchRequest = signal({});
578
- this._isSearching = signal(false);
579
- this._hasChanges = signal(false);
580
- this._filterFields = signal([]);
578
+ this._searchRequest = signal({}, ...(ngDevMode ? [{ debugName: "_searchRequest" }] : []));
579
+ this._isSearching = signal(false, ...(ngDevMode ? [{ debugName: "_isSearching" }] : []));
580
+ this._hasChanges = signal(false, ...(ngDevMode ? [{ debugName: "_hasChanges" }] : []));
581
581
  /**
582
582
  * Read-only signal for the current search request
583
583
  */
@@ -590,10 +590,6 @@ class CurrentSearchRequestService {
590
590
  * Read-only signal indicating if the search request has changed from default
591
591
  */
592
592
  this.hasChanges = this._hasChanges.asReadonly();
593
- /**
594
- * Read-only signal for the filter fields.
595
- */
596
- this.filterFields = this._filterFields.asReadonly();
597
593
  /**
598
594
  * Subject to trigger search operations
599
595
  */
@@ -601,39 +597,39 @@ class CurrentSearchRequestService {
601
597
  /**
602
598
  * Count of active filters (non-hidden)
603
599
  */
604
- this.activeFilterCount = computed(() => this.searchRequest().filters?.filter(f => !f.isHidden).length || 0);
600
+ this.activeFilterCount = computed(() => this.searchRequest().filters?.filter(f => !f.isHidden).length || 0, ...(ngDevMode ? [{ debugName: "activeFilterCount" }] : []));
605
601
  /**
606
602
  * Whether there are any active filters
607
603
  */
608
- this.hasFilters = computed(() => (this.searchRequest().filters?.length || 0) > 0);
604
+ this.hasFilters = computed(() => (this.searchRequest().filters?.length || 0) > 0, ...(ngDevMode ? [{ debugName: "hasFilters" }] : []));
609
605
  /**
610
606
  * Count of visible (non-hidden) filters
611
607
  */
612
- this.visibleFilterCount = computed(() => this.searchRequest().filters?.filter(f => !f.isHidden).length || 0);
608
+ this.visibleFilterCount = computed(() => this.searchRequest().filters?.filter(f => !f.isHidden).length || 0, ...(ngDevMode ? [{ debugName: "visibleFilterCount" }] : []));
613
609
  /**
614
610
  * Whether there's a search description/text query
615
611
  */
616
- this.hasDescription = computed(() => !!this.searchRequest().description && this.searchRequest().description.length > 0);
612
+ this.hasDescription = computed(() => !!this.searchRequest().description && this.searchRequest().description.length > 0, ...(ngDevMode ? [{ debugName: "hasDescription" }] : []));
617
613
  /**
618
614
  * Whether there are any sortings applied
619
615
  */
620
- this.hasSorting = computed(() => (this.searchRequest().sortings?.length || 0) > 0);
616
+ this.hasSorting = computed(() => (this.searchRequest().sortings?.length || 0) > 0, ...(ngDevMode ? [{ debugName: "hasSorting" }] : []));
621
617
  /**
622
618
  * The current sorting (first one if multiple exist)
623
619
  */
624
- this.currentSorting = computed(() => this.hasSorting() ? this.searchRequest().sortings[0] : undefined);
620
+ this.currentSorting = computed(() => this.hasSorting() ? this.searchRequest().sortings[0] : undefined, ...(ngDevMode ? [{ debugName: "currentSorting" }] : []));
625
621
  /**
626
622
  * Whether any search criteria is active (filters, description, or sorting)
627
623
  */
628
- this.hasAnySearchCriteria = computed(() => this.hasFilters() || this.hasDescription() || this.hasSorting());
624
+ this.hasAnySearchCriteria = computed(() => this.hasFilters() || this.hasDescription() || this.hasSorting(), ...(ngDevMode ? [{ debugName: "hasAnySearchCriteria" }] : []));
629
625
  /**
630
626
  * Current page number (1-indexed for display)
631
627
  */
632
- this.currentPageNumber = computed(() => (this.searchRequest().pageIndex || 0) + 1);
628
+ this.currentPageNumber = computed(() => (this.searchRequest().pageIndex || 0) + 1, ...(ngDevMode ? [{ debugName: "currentPageNumber" }] : []));
633
629
  /**
634
630
  * Whether pagination is configured
635
631
  */
636
- this.hasPagination = computed(() => !!this.searchRequest().pageSize && this.searchRequest().pageSize > 0);
632
+ this.hasPagination = computed(() => !!this.searchRequest().pageSize && this.searchRequest().pageSize > 0, ...(ngDevMode ? [{ debugName: "hasPagination" }] : []));
637
633
  }
638
634
  /**
639
635
  * Updates the entire search request
@@ -667,13 +663,6 @@ class CurrentSearchRequestService {
667
663
  setSearching(isSearching) {
668
664
  this._isSearching.set(isSearching);
669
665
  }
670
- /**
671
- * Sets the filter fields
672
- * @param fields Filter fields
673
- */
674
- setFilterFields(fields) {
675
- this._filterFields.set(fields);
676
- }
677
666
  /**
678
667
  * Resets the search request to default state
679
668
  */
@@ -738,21 +727,7 @@ class CurrentSearchRequestService {
738
727
  updateFilterByIndex(index, newData) {
739
728
  const currentFilters = this.searchRequest().filters || [];
740
729
  if (index >= 0 && index < currentFilters.length) {
741
- this.patchSearchRequest({
742
- filters: currentFilters.map((f, i) => {
743
- if (i !== index) {
744
- return f;
745
- }
746
- // Preserve type/filterType when merging
747
- const existingType = f.type || f.filterType;
748
- const merged = { ...f, ...newData };
749
- // Ensure type is preserved if not explicitly set in newData
750
- if (!newData.type && !!existingType) {
751
- merged.type = existingType;
752
- }
753
- return merged;
754
- })
755
- });
730
+ this.patchSearchRequest({ filters: currentFilters.map((f, i) => i === index ? { ...f, ...newData } : f) });
756
731
  }
757
732
  }
758
733
  /**
@@ -837,64 +812,22 @@ class CurrentSearchRequestService {
837
812
  }
838
813
  return true;
839
814
  }
840
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: CurrentSearchRequestService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
841
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: CurrentSearchRequestService }); }
815
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: CurrentSearchRequestService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
816
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: CurrentSearchRequestService }); }
842
817
  }
843
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: CurrentSearchRequestService, decorators: [{
818
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: CurrentSearchRequestService, decorators: [{
844
819
  type: Injectable
845
820
  }] });
846
821
 
847
- /**
848
- * Table constants.
849
- */
850
- class TableConstants {
851
- /**
852
- * Key to inject the default configuration.
853
- */
854
- static { this.defaultOptionsKey = 'upd-table-default-options'; }
855
- /**
856
- * Injection token for the default configuration.
857
- */
858
- static { this.defaultOptionsInjectionToken = new InjectionToken(TableConstants.defaultOptionsKey); }
859
- }
860
-
861
- class UpdTableConfigModel {
862
- constructor(init) {
863
- this.shouldLoadFieldsFromServer = false;
864
- if (!!init) {
865
- Object.assign(this, init);
866
- }
867
- }
868
- }
869
-
870
- class UpdTableConfigService {
871
- constructor(layoutConfig) {
872
- this.config = new UpdTableConfigModel(layoutConfig);
873
- }
874
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: UpdTableConfigService, deps: [{ token: TableConstants.defaultOptionsInjectionToken }], target: i0.ɵɵFactoryTarget.Injectable }); }
875
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: UpdTableConfigService }); }
876
- }
877
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: UpdTableConfigService, decorators: [{
878
- type: Injectable
879
- }], ctorParameters: () => [{ type: undefined, decorators: [{
880
- type: Inject,
881
- args: [TableConstants.defaultOptionsInjectionToken]
882
- }] }] });
883
-
884
822
  class FilterTools {
885
823
  static convertToFilterItem(filters, operands) {
886
- return filters.map(f => {
887
- const filterType = f.type || f.filterType;
888
- const operandsList = filterType ? operands[filterType] : undefined;
889
- const operandConfig = operandsList ? operandsList.find(op => op.operand === f.operand) : undefined;
890
- return {
891
- name: f.column,
892
- value: f.value,
893
- operandConfig,
894
- isHidden: f.isHidden,
895
- type: filterType
896
- };
897
- });
824
+ return filters.map(f => ({
825
+ name: f.column,
826
+ value: f.value,
827
+ operandConfig: f.type && operands[f.type] ? operands[f.type].find(op => op.operand === f.operand) : undefined,
828
+ isHidden: f.isHidden,
829
+ type: f.type
830
+ }));
898
831
  }
899
832
  static convertToRequestFilter(filters, filtersConfigs = [], columns = []) {
900
833
  return filters.map(af => {
@@ -955,25 +888,63 @@ class FilterTools {
955
888
  }
956
889
  }
957
890
 
891
+ /**
892
+ * Table constants.
893
+ */
894
+ class TableConstants {
895
+ /**
896
+ * Key to inject the default configuration.
897
+ */
898
+ static { this.defaultOptionsKey = 'upd-table-default-options'; }
899
+ /**
900
+ * Injection token for the default configuration.
901
+ */
902
+ static { this.defaultOptionsInjectionToken = new InjectionToken(TableConstants.defaultOptionsKey); }
903
+ }
904
+
905
+ class UpdTableConfigModel {
906
+ constructor(init) {
907
+ this.shouldLoadFieldsFromServer = false;
908
+ if (!!init) {
909
+ Object.assign(this, init);
910
+ }
911
+ }
912
+ }
913
+
914
+ class UpdTableConfigService {
915
+ constructor(layoutConfig) {
916
+ this.config = new UpdTableConfigModel(layoutConfig);
917
+ }
918
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: UpdTableConfigService, deps: [{ token: TableConstants.defaultOptionsInjectionToken }], target: i0.ɵɵFactoryTarget.Injectable }); }
919
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: UpdTableConfigService }); }
920
+ }
921
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: UpdTableConfigService, decorators: [{
922
+ type: Injectable
923
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
924
+ type: Inject,
925
+ args: [TableConstants.defaultOptionsInjectionToken]
926
+ }] }] });
927
+
958
928
  class FilterRowComponent extends BaseComponent {
959
929
  constructor() {
960
930
  super(...arguments);
961
931
  this.wrapperClasses = 'd-flex gap-2';
962
932
  this.removed = new EventEmitter();
963
933
  this.FilterTypeEnum = FilterTypeEnum;
964
- this.config = input.required();
965
- this.rowIndex = input.required();
966
- this.isDisabled = input.required();
967
- this.filterFields = computed(() => this.config().shouldLoadFilterFieldsFromServer ? this.currentSearchRequestService.filterFields() : this.config().filterFields);
968
- this.columns = computed(() => this.config().columns);
969
- this.currentFilter = input();
970
- this.currentField = signal(undefined);
971
- this.currentOperand = signal(undefined);
972
- this.fieldsOptions = signal([]);
973
- this.comparisonOperatorOptions = signal([]);
974
- this.fieldAllowedValues = signal([]);
975
- this.isValueSectionEnabled = signal(true);
934
+ this.rowIndex = input.required(...(ngDevMode ? [{ debugName: "rowIndex" }] : []));
935
+ this.columns = input.required(...(ngDevMode ? [{ debugName: "columns" }] : []));
936
+ this.isDisabled = input.required(...(ngDevMode ? [{ debugName: "isDisabled" }] : []));
937
+ this.store = input(...(ngDevMode ? [undefined, { debugName: "store" }] : []));
938
+ this.filterFields = input(...(ngDevMode ? [undefined, { debugName: "filterFields" }] : []));
939
+ this.currentFilter = input(...(ngDevMode ? [undefined, { debugName: "currentFilter" }] : []));
940
+ this.currentField = signal(undefined, ...(ngDevMode ? [{ debugName: "currentField" }] : []));
941
+ this.currentOperand = signal(undefined, ...(ngDevMode ? [{ debugName: "currentOperand" }] : []));
942
+ this.fieldsOptions = signal([], ...(ngDevMode ? [{ debugName: "fieldsOptions" }] : []));
943
+ this.comparisonOperatorOptions = signal([], ...(ngDevMode ? [{ debugName: "comparisonOperatorOptions" }] : []));
944
+ this.fieldAllowedValues = signal([], ...(ngDevMode ? [{ debugName: "fieldAllowedValues" }] : []));
945
+ this.isValueSectionEnabled = signal(true, ...(ngDevMode ? [{ debugName: "isValueSectionEnabled" }] : []));
976
946
  this.currentOperands = [];
947
+ this.configService = inject(UpdTableConfigService);
977
948
  this.filtersOperandsService = inject(FiltersOperandsService);
978
949
  this.textService = inject(TextService);
979
950
  this.currentSearchRequestService = inject(CurrentSearchRequestService);
@@ -1002,11 +973,19 @@ class FilterRowComponent extends BaseComponent {
1002
973
  if (!!this.filterFields() && this.filterFields().length > 0) {
1003
974
  this.fieldsOptions.set(this.filterFields().map(f => ({
1004
975
  value: f.name,
1005
- text: f.description,
976
+ text: this.textService.getText(f.label),
1006
977
  objectData: f.type
1007
978
  })));
1008
979
  }
1009
- // Priority 2: Fallback to columns
980
+ // Priority 2: Server-loaded fields
981
+ else if (!!this.store() && this.configService.config.shouldLoadFieldsFromServer) {
982
+ this.store().getFilterableFields().subscribe(fields => this.fieldsOptions.set(fields.map(f => ({
983
+ value: f.name,
984
+ text: f.description,
985
+ objectData: f.type
986
+ }))));
987
+ }
988
+ // Priority 3: Fallback to columns
1010
989
  else {
1011
990
  this.fieldsOptions.set(this.columns().filter(c => !!c.title).map(c => ({
1012
991
  value: c.name,
@@ -1056,33 +1035,31 @@ class FilterRowComponent extends BaseComponent {
1056
1035
  this.currentSearchRequestService.removeFilterByIndex(this.rowIndex());
1057
1036
  this.removed.emit();
1058
1037
  }
1059
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: FilterRowComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1060
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: FilterRowComponent, selector: "upd-filter-row", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null }, rowIndex: { classPropertyName: "rowIndex", publicName: "rowIndex", isSignal: true, isRequired: true, transformFunction: null }, isDisabled: { classPropertyName: "isDisabled", publicName: "isDisabled", isSignal: true, isRequired: true, transformFunction: null }, currentFilter: { classPropertyName: "currentFilter", publicName: "currentFilter", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { removed: "removed" }, host: { properties: { "class": "this.wrapperClasses" } }, usesInheritance: true, ngImport: i0, template: "<upd-select class=\"w-100\" [isDisabled]=\"isDisabled()\" [items]=\"fieldsOptions()\" (selectedItem)=\"onSelectField($event)\"\n [value]=\"selectedField?.value\">\n</upd-select>\n<upd-select class=\"w-100\" [isDisabled]=\"isDisabled()\" [items]=\"comparisonOperatorOptions()\"\n (selectedItem)=\"onSelectOperand($event)\" [value]=\"selectedOperand?.value\">\n</upd-select>\n\n@if (isValueSectionEnabled()) {\n @switch (fieldType) {\n @case (FilterTypeEnum.Number) {\n <upd-input wrapperClasses=\"w-100\" customClasses=\"h-100\" type=\"number\" (valueChange)=\"updateValue($event)\"\n [value]=\"selectedValue\"></upd-input>\n }\n @case (FilterTypeEnum.Date) {\n\n }\n @case (FilterTypeEnum.Select) {\n <upd-select class=\"w-100\" [isDisabled]=\"isDisabled()\" [items]=\"fieldAllowedValues()\"\n (selectedItem)=\"updateValue($event?.value)\" [value]=\"selectedValue\">\n </upd-select>\n }\n @default {\n <upd-input wrapperClasses=\"w-100\" customClasses=\"h-100\" type=\"text\" (valueChange)=\"updateValue($event)\"\n [value]=\"selectedValue\"></upd-input>\n }\n }\n} @else {\n <div class=\"w-100\">\n <input type=\"text\" class=\"form-control h-100\" disabled>\n </div>\n}\n\n<upd-button class=\"flex-shrink-1\" colorStyle=\"danger\" [isDisabled]=\"isDisabled()\" [isOutline]=\"true\" [isIcon]=\"true\"\n [iconModel]=\"{tablerIcon:'x'}\" (clicked)=\"removeFilterItem()\"></upd-button>", styles: [""], dependencies: [{ kind: "component", type: i4.ButtonComponent, selector: "upd-button", inputs: ["model", "text", "brandColorStyle", "customClasses", "isOutline", "isGhost", "isSquare", "isPill", "isIcon", "isLoading", "isList", "isFloating", "isAction", "isNavigationLink", "isLink", "shouldIgnoreBtnClass", "iconModel", "iconPosition", "isDisabled", "isActive", "badgeConfig", "colorStyle", "size", "title", "stopPropagation"], outputs: ["clicked"] }, { kind: "component", type: i5.InputComponent, selector: "upd-input", inputs: ["type", "mask", "maskConfig", "value", "size", "customClasses", "wrapperClasses", "maxLength", "isPlainText", "isReadOnly", "isLoading", "isRound", "isFlush", "isInputGroupFlat", "isPrependButton", "isAppendButton", "isFloating", "loaderPosition", "prependIconModel", "appendIconModel", "isValidationStatusLight", "layout"], outputs: ["valueChange", "blurred", "keyDown", "keyDownEsc", "keyUpEnter"] }, { kind: "component", type: i3$2.SelectComponent, selector: "upd-select", inputs: ["useSystemStyle", "shouldShowClearButton", "shouldTruncateSelectedText", "isCompact", "value"], outputs: ["valueChange", "selectedItem"] }] }); }
1038
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: FilterRowComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1039
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.4", type: FilterRowComponent, isStandalone: false, selector: "upd-filter-row", inputs: { rowIndex: { classPropertyName: "rowIndex", publicName: "rowIndex", isSignal: true, isRequired: true, transformFunction: null }, columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: true, transformFunction: null }, isDisabled: { classPropertyName: "isDisabled", publicName: "isDisabled", isSignal: true, isRequired: true, transformFunction: null }, store: { classPropertyName: "store", publicName: "store", isSignal: true, isRequired: false, transformFunction: null }, filterFields: { classPropertyName: "filterFields", publicName: "filterFields", isSignal: true, isRequired: false, transformFunction: null }, currentFilter: { classPropertyName: "currentFilter", publicName: "currentFilter", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { removed: "removed" }, host: { properties: { "class": "this.wrapperClasses" } }, usesInheritance: true, ngImport: i0, template: "<upd-select class=\"w-100\" [isDisabled]=\"isDisabled()\" [items]=\"fieldsOptions()\" (selectedItem)=\"onSelectField($event)\"\n [value]=\"selectedField?.value\">\n</upd-select>\n<upd-select class=\"w-100\" [isDisabled]=\"isDisabled()\" [items]=\"comparisonOperatorOptions()\"\n (selectedItem)=\"onSelectOperand($event)\" [value]=\"selectedOperand?.value\">\n</upd-select>\n\n@if (isValueSectionEnabled()) {\n @switch (fieldType) {\n @case (FilterTypeEnum.Number) {\n <upd-input wrapperClasses=\"w-100\" customClasses=\"h-100\" type=\"number\" (valueChange)=\"updateValue($event)\"\n [value]=\"selectedValue\"></upd-input>\n }\n @case (FilterTypeEnum.Date) {\n\n }\n @case (FilterTypeEnum.Select) {\n <upd-select class=\"w-100\" [isDisabled]=\"isDisabled()\" [items]=\"fieldAllowedValues()\"\n (selectedItem)=\"updateValue($event?.value)\" [value]=\"selectedValue\">\n </upd-select>\n }\n @default {\n <upd-input wrapperClasses=\"w-100\" customClasses=\"h-100\" type=\"text\" (valueChange)=\"updateValue($event)\"\n [value]=\"selectedValue\"></upd-input>\n }\n }\n} @else {\n <div class=\"w-100\">\n <input type=\"text\" class=\"form-control h-100\" disabled>\n </div>\n}\n\n<upd-button class=\"flex-shrink-1\" colorStyle=\"danger\" [isDisabled]=\"isDisabled()\" [isOutline]=\"true\" [isIcon]=\"true\"\n [iconModel]=\"{tablerIcon:'x'}\" (clicked)=\"removeFilterItem()\"></upd-button>", styles: [""], dependencies: [{ kind: "component", type: i4.ButtonComponent, selector: "upd-button", inputs: ["model", "text", "brandColorStyle", "customClasses", "isOutline", "isGhost", "isSquare", "isPill", "isIcon", "isLoading", "isList", "isFloating", "isAction", "isNavigationLink", "isLink", "shouldIgnoreBtnClass", "iconModel", "iconPosition", "isDisabled", "isActive", "badgeConfig", "colorStyle", "size", "title", "stopPropagation"], outputs: ["clicked"] }, { kind: "component", type: i5.InputComponent, selector: "upd-input", inputs: ["type", "mask", "maskConfig", "value", "size", "customClasses", "wrapperClasses", "maxLength", "isPlainText", "isReadOnly", "isLoading", "isRound", "isFlush", "isInputGroupFlat", "isPrependButton", "isAppendButton", "isFloating", "loaderPosition", "prependIconModel", "appendIconModel", "isValidationStatusLight", "layout"], outputs: ["valueChange", "blurred", "keyDown", "keyDownEsc", "keyUpEnter"] }, { kind: "component", type: i3$2.SelectComponent, selector: "upd-select", inputs: ["useSystemStyle", "shouldShowClearButton", "shouldTruncateSelectedText", "isCompact", "value"], outputs: ["valueChange", "selectedItem"] }] }); }
1061
1040
  }
1062
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: FilterRowComponent, decorators: [{
1041
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: FilterRowComponent, decorators: [{
1063
1042
  type: Component,
1064
- args: [{ selector: 'upd-filter-row', template: "<upd-select class=\"w-100\" [isDisabled]=\"isDisabled()\" [items]=\"fieldsOptions()\" (selectedItem)=\"onSelectField($event)\"\n [value]=\"selectedField?.value\">\n</upd-select>\n<upd-select class=\"w-100\" [isDisabled]=\"isDisabled()\" [items]=\"comparisonOperatorOptions()\"\n (selectedItem)=\"onSelectOperand($event)\" [value]=\"selectedOperand?.value\">\n</upd-select>\n\n@if (isValueSectionEnabled()) {\n @switch (fieldType) {\n @case (FilterTypeEnum.Number) {\n <upd-input wrapperClasses=\"w-100\" customClasses=\"h-100\" type=\"number\" (valueChange)=\"updateValue($event)\"\n [value]=\"selectedValue\"></upd-input>\n }\n @case (FilterTypeEnum.Date) {\n\n }\n @case (FilterTypeEnum.Select) {\n <upd-select class=\"w-100\" [isDisabled]=\"isDisabled()\" [items]=\"fieldAllowedValues()\"\n (selectedItem)=\"updateValue($event?.value)\" [value]=\"selectedValue\">\n </upd-select>\n }\n @default {\n <upd-input wrapperClasses=\"w-100\" customClasses=\"h-100\" type=\"text\" (valueChange)=\"updateValue($event)\"\n [value]=\"selectedValue\"></upd-input>\n }\n }\n} @else {\n <div class=\"w-100\">\n <input type=\"text\" class=\"form-control h-100\" disabled>\n </div>\n}\n\n<upd-button class=\"flex-shrink-1\" colorStyle=\"danger\" [isDisabled]=\"isDisabled()\" [isOutline]=\"true\" [isIcon]=\"true\"\n [iconModel]=\"{tablerIcon:'x'}\" (clicked)=\"removeFilterItem()\"></upd-button>" }]
1043
+ args: [{ standalone: false, selector: 'upd-filter-row', template: "<upd-select class=\"w-100\" [isDisabled]=\"isDisabled()\" [items]=\"fieldsOptions()\" (selectedItem)=\"onSelectField($event)\"\n [value]=\"selectedField?.value\">\n</upd-select>\n<upd-select class=\"w-100\" [isDisabled]=\"isDisabled()\" [items]=\"comparisonOperatorOptions()\"\n (selectedItem)=\"onSelectOperand($event)\" [value]=\"selectedOperand?.value\">\n</upd-select>\n\n@if (isValueSectionEnabled()) {\n @switch (fieldType) {\n @case (FilterTypeEnum.Number) {\n <upd-input wrapperClasses=\"w-100\" customClasses=\"h-100\" type=\"number\" (valueChange)=\"updateValue($event)\"\n [value]=\"selectedValue\"></upd-input>\n }\n @case (FilterTypeEnum.Date) {\n\n }\n @case (FilterTypeEnum.Select) {\n <upd-select class=\"w-100\" [isDisabled]=\"isDisabled()\" [items]=\"fieldAllowedValues()\"\n (selectedItem)=\"updateValue($event?.value)\" [value]=\"selectedValue\">\n </upd-select>\n }\n @default {\n <upd-input wrapperClasses=\"w-100\" customClasses=\"h-100\" type=\"text\" (valueChange)=\"updateValue($event)\"\n [value]=\"selectedValue\"></upd-input>\n }\n }\n} @else {\n <div class=\"w-100\">\n <input type=\"text\" class=\"form-control h-100\" disabled>\n </div>\n}\n\n<upd-button class=\"flex-shrink-1\" colorStyle=\"danger\" [isDisabled]=\"isDisabled()\" [isOutline]=\"true\" [isIcon]=\"true\"\n [iconModel]=\"{tablerIcon:'x'}\" (clicked)=\"removeFilterItem()\"></upd-button>" }]
1065
1044
  }], propDecorators: { wrapperClasses: [{
1066
1045
  type: HostBinding,
1067
1046
  args: ['class']
1068
1047
  }], removed: [{
1069
1048
  type: Output
1070
- }] } });
1049
+ }], rowIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "rowIndex", required: true }] }], columns: [{ type: i0.Input, args: [{ isSignal: true, alias: "columns", required: true }] }], isDisabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "isDisabled", required: true }] }], store: [{ type: i0.Input, args: [{ isSignal: true, alias: "store", required: false }] }], filterFields: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterFields", required: false }] }], currentFilter: [{ type: i0.Input, args: [{ isSignal: true, alias: "currentFilter", required: false }] }] } });
1071
1050
 
1072
1051
  class SearchSectionComponent extends BaseComponent {
1073
1052
  constructor() {
1074
1053
  super();
1075
1054
  this.wrapperClass = 'card-body border-bottom py-3 d-flex flex-column gap-2';
1076
- this.columns = input.required();
1077
- this.config = input.required();
1078
- this.actionsTpl = input();
1079
- this.activeFilters = computed(() => FilterTools.convertToFilterItem(this.currentSearchRequestService.searchRequest().filters?.filter(af => !af.isHidden) || [], this.filtersOperandsService.getAllOperands()));
1080
- this.isFilterSectionOpen = signal(false);
1081
- this.canApplyFilters = computed(() => this.activeFilters().length > 0 && this.activeFilters().every(af => {
1082
- const valid = !af.isHidden && !!af.name && !!af.operandConfig?.operand && (!af.operandConfig?.requiresValue || !!af.value);
1083
- return valid;
1084
- }));
1085
- this.canPerformActions = computed(() => this.canApplyFilters() && !this.currentSearchRequestService.isSearching());
1055
+ this.columns = input.required(...(ngDevMode ? [{ debugName: "columns" }] : []));
1056
+ this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
1057
+ this.actionsTpl = input(...(ngDevMode ? [undefined, { debugName: "actionsTpl" }] : []));
1058
+ this.activeFilters = computed(() => FilterTools.convertToFilterItem(this.currentSearchRequestService.searchRequest().filters?.filter(af => !af.isHidden) || [], this.filtersOperandsService.getAllOperands()), ...(ngDevMode ? [{ debugName: "activeFilters" }] : []));
1059
+ this.isFilterSectionOpen = signal(false, ...(ngDevMode ? [{ debugName: "isFilterSectionOpen" }] : []));
1060
+ this.canApplyFilters = computed(() => this.activeFilters().length > 0
1061
+ && this.activeFilters().every(af => !af.isHidden && !!af.name && !!af.operandConfig?.operand && (!af.operandConfig?.requiresValue || !!af.value)), ...(ngDevMode ? [{ debugName: "canApplyFilters" }] : []));
1062
+ this.canPerformActions = computed(() => this.canApplyFilters() && !this.currentSearchRequestService.isSearching(), ...(ngDevMode ? [{ debugName: "canPerformActions" }] : []));
1086
1063
  this.badgeConfig = computed(() => this.currentSearchRequestService.visibleFilterCount() > 0
1087
1064
  ? ({
1088
1065
  isNotification: true,
@@ -1090,8 +1067,8 @@ class SearchSectionComponent extends BaseComponent {
1090
1067
  bgColor: 'primary-lt',
1091
1068
  text: { text: this.currentSearchRequestService.visibleFilterCount().toString(), isTranslated: true }
1092
1069
  })
1093
- : undefined);
1094
- this.filterSectionBtnColor = computed(() => this.isFilterSectionOpen() ? 'primary' : undefined);
1070
+ : undefined, ...(ngDevMode ? [{ debugName: "badgeConfig" }] : []));
1071
+ this.filterSectionBtnColor = computed(() => this.isFilterSectionOpen() ? 'primary' : undefined, ...(ngDevMode ? [{ debugName: "filterSectionBtnColor" }] : []));
1095
1072
  this.searchSubject = new Subject();
1096
1073
  this.filtersOperandsService = inject(FiltersOperandsService);
1097
1074
  this.currentSearchRequestService = inject(CurrentSearchRequestService);
@@ -1129,16 +1106,16 @@ class SearchSectionComponent extends BaseComponent {
1129
1106
  addEmptyFilterRow() {
1130
1107
  this.currentSearchRequestService.addFilter({});
1131
1108
  }
1132
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: SearchSectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1133
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: SearchSectionComponent, selector: "upd-search-section", inputs: { columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: true, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null }, actionsTpl: { classPropertyName: "actionsTpl", publicName: "actionsTpl", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "this.wrapperClass" } }, usesInheritance: true, ngImport: i0, template: "<ng-container *transloco=\"let t; prefix: 'UpDevs.Table'\">\n @if (!!actionsTpl()) {\n <ng-template [ngTemplateOutlet]=\"actionsTpl()!\"></ng-template>\n }\n\n <div class=\"d-flex align-items-center gap-2\">\n <upd-input wrapperClasses=\"w-100\" [placeholder]=\"{text:'UpDevs.Table.Search', isTranslated:false}\"\n [isAppendButton]=\"true\" (valueChange)=\"searchSubject.next($event)\"\n [value]=\"currentSearchRequestService.searchRequest().description\">\n <ng-template updInputAppend>\n <upd-button [isIcon]=\"true\" [colorStyle]=\"filterSectionBtnColor()\" (clicked)=\"toggleFilterSection()\"\n [badgeConfig]=\"badgeConfig()\">\n <upd-icon [tablerIcon]=\"isFilterSectionOpen() ? 'filter-up' : 'filter-down'\"\n [tablerIconSize]=\"20\"></upd-icon>\n </upd-button>\n </ng-template>\n </upd-input>\n </div>\n\n @if (isFilterSectionOpen()) {\n @for (row of activeFilters(); track row.name; let i = $index) {\n <upd-filter-row [currentFilter]=\"row\" [config]=\"config()\" [rowIndex]=\"i\" (removed)=\"onRowRemoved()\"\n [isDisabled]=\"currentSearchRequestService.isSearching()\">\n </upd-filter-row>\n }\n\n <div class=\"ms-auto d-flex gap-2\">\n <upd-button customClasses=\"gap-2\" colorStyle=\"primary\" [isOutline]=\"true\" (clicked)=\"addEmptyFilterRow()\"\n [isDisabled]=\"!canPerformActions()\">\n <upd-icon tablerIcon=\"plus\" tablerIconWeight=\"bold\" [tablerIconSize]=\"20\"></upd-icon>\n {{ t('AddNewFilter') }}\n </upd-button>\n <upd-button customClasses=\"gap-2\" colorStyle=\"success\" [isDisabled]=\"!canPerformActions()\"\n (clicked)=\"search()\">\n <upd-icon tablerIcon=\"checks\" tablerIconWeight=\"bold\" [tablerIconSize]=\"20\"></upd-icon>\n {{ t('ApplyFilters') }}\n </upd-button>\n </div>\n }\n</ng-container>", styles: [""], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$1.TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "component", type: i3.IconComponent, selector: "upd-icon", inputs: ["model", "wrapperClasses", "color", "colorClass", "removeDefaultClasses", "customClasses", "tablerIcon", "tablerIconWeight", "tablerIconType", "tablerIconSize", "heroIcon", "heroIconSize", "heroIconType"] }, { kind: "component", type: i4.ButtonComponent, selector: "upd-button", inputs: ["model", "text", "brandColorStyle", "customClasses", "isOutline", "isGhost", "isSquare", "isPill", "isIcon", "isLoading", "isList", "isFloating", "isAction", "isNavigationLink", "isLink", "shouldIgnoreBtnClass", "iconModel", "iconPosition", "isDisabled", "isActive", "badgeConfig", "colorStyle", "size", "title", "stopPropagation"], outputs: ["clicked"] }, { kind: "component", type: i5.InputComponent, selector: "upd-input", inputs: ["type", "mask", "maskConfig", "value", "size", "customClasses", "wrapperClasses", "maxLength", "isPlainText", "isReadOnly", "isLoading", "isRound", "isFlush", "isInputGroupFlat", "isPrependButton", "isAppendButton", "isFloating", "loaderPosition", "prependIconModel", "appendIconModel", "isValidationStatusLight", "layout"], outputs: ["valueChange", "blurred", "keyDown", "keyDownEsc", "keyUpEnter"] }, { kind: "directive", type: i5.InputAppendDirective, selector: "ng-template[updInputAppend]" }, { kind: "component", type: FilterRowComponent, selector: "upd-filter-row", inputs: ["config", "rowIndex", "isDisabled", "currentFilter"], outputs: ["removed"] }] }); }
1109
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: SearchSectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1110
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.4", type: SearchSectionComponent, isStandalone: false, selector: "upd-search-section", inputs: { columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: true, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null }, actionsTpl: { classPropertyName: "actionsTpl", publicName: "actionsTpl", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "this.wrapperClass" } }, usesInheritance: true, ngImport: i0, template: "<ng-container *transloco=\"let t; prefix: 'UpDevs.Table'\">\n @if (!!actionsTpl()) {\n <ng-template [ngTemplateOutlet]=\"actionsTpl()!\"></ng-template>\n }\n\n <div class=\"d-flex align-items-center gap-2\">\n <upd-input wrapperClasses=\"w-100\" [placeholder]=\"{text:'UpDevs.Table.Search', isTranslated:false}\"\n [isAppendButton]=\"true\" (valueChange)=\"searchSubject.next($event)\"\n [value]=\"currentSearchRequestService.searchRequest().description\">\n <ng-template updInputAppend>\n <upd-button [isIcon]=\"true\" [colorStyle]=\"filterSectionBtnColor()\" (clicked)=\"toggleFilterSection()\"\n [badgeConfig]=\"badgeConfig()\">\n <upd-icon [tablerIcon]=\"isFilterSectionOpen() ? 'filter-up' : 'filter-down'\"\n [tablerIconSize]=\"20\"></upd-icon>\n </upd-button>\n </ng-template>\n </upd-input>\n </div>\n\n @if (isFilterSectionOpen()) {\n @for (row of activeFilters(); track row.name; let i = $index) {\n <upd-filter-row [store]=\"config().store\" [currentFilter]=\"row\" [columns]=\"columns()\" [rowIndex]=\"i\"\n (removed)=\"onRowRemoved()\" [isDisabled]=\"currentSearchRequestService.isSearching()\"\n [filterFields]=\"config().filterFields\">\n </upd-filter-row>\n }\n\n <div class=\"ms-auto d-flex gap-2\">\n <upd-button customClasses=\"gap-2\" colorStyle=\"primary\" [isOutline]=\"true\" (clicked)=\"addEmptyFilterRow()\"\n [isDisabled]=\"!canPerformActions()\">\n <upd-icon tablerIcon=\"plus\" tablerIconWeight=\"bold\" [tablerIconSize]=\"20\"></upd-icon>\n {{ t('AddNewFilter') }}\n </upd-button>\n <upd-button customClasses=\"gap-2\" colorStyle=\"success\" [isDisabled]=\"!canPerformActions()\"\n (clicked)=\"search()\">\n <upd-icon tablerIcon=\"checks\" tablerIconWeight=\"bold\" [tablerIconSize]=\"20\"></upd-icon>\n {{ t('ApplyFilters') }}\n </upd-button>\n </div>\n }\n</ng-container>", styles: [""], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$1.TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "component", type: i3.IconComponent, selector: "upd-icon", inputs: ["model", "wrapperClasses", "color", "colorClass", "removeDefaultClasses", "customClasses", "tablerIcon", "tablerIconWeight", "tablerIconType", "tablerIconSize", "heroIcon", "heroIconSize", "heroIconType"] }, { kind: "component", type: i4.ButtonComponent, selector: "upd-button", inputs: ["model", "text", "brandColorStyle", "customClasses", "isOutline", "isGhost", "isSquare", "isPill", "isIcon", "isLoading", "isList", "isFloating", "isAction", "isNavigationLink", "isLink", "shouldIgnoreBtnClass", "iconModel", "iconPosition", "isDisabled", "isActive", "badgeConfig", "colorStyle", "size", "title", "stopPropagation"], outputs: ["clicked"] }, { kind: "component", type: i5.InputComponent, selector: "upd-input", inputs: ["type", "mask", "maskConfig", "value", "size", "customClasses", "wrapperClasses", "maxLength", "isPlainText", "isReadOnly", "isLoading", "isRound", "isFlush", "isInputGroupFlat", "isPrependButton", "isAppendButton", "isFloating", "loaderPosition", "prependIconModel", "appendIconModel", "isValidationStatusLight", "layout"], outputs: ["valueChange", "blurred", "keyDown", "keyDownEsc", "keyUpEnter"] }, { kind: "directive", type: i5.InputAppendDirective, selector: "ng-template[updInputAppend]" }, { kind: "component", type: FilterRowComponent, selector: "upd-filter-row", inputs: ["rowIndex", "columns", "isDisabled", "store", "filterFields", "currentFilter"], outputs: ["removed"] }] }); }
1134
1111
  }
1135
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: SearchSectionComponent, decorators: [{
1112
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: SearchSectionComponent, decorators: [{
1136
1113
  type: Component,
1137
- args: [{ selector: 'upd-search-section', template: "<ng-container *transloco=\"let t; prefix: 'UpDevs.Table'\">\n @if (!!actionsTpl()) {\n <ng-template [ngTemplateOutlet]=\"actionsTpl()!\"></ng-template>\n }\n\n <div class=\"d-flex align-items-center gap-2\">\n <upd-input wrapperClasses=\"w-100\" [placeholder]=\"{text:'UpDevs.Table.Search', isTranslated:false}\"\n [isAppendButton]=\"true\" (valueChange)=\"searchSubject.next($event)\"\n [value]=\"currentSearchRequestService.searchRequest().description\">\n <ng-template updInputAppend>\n <upd-button [isIcon]=\"true\" [colorStyle]=\"filterSectionBtnColor()\" (clicked)=\"toggleFilterSection()\"\n [badgeConfig]=\"badgeConfig()\">\n <upd-icon [tablerIcon]=\"isFilterSectionOpen() ? 'filter-up' : 'filter-down'\"\n [tablerIconSize]=\"20\"></upd-icon>\n </upd-button>\n </ng-template>\n </upd-input>\n </div>\n\n @if (isFilterSectionOpen()) {\n @for (row of activeFilters(); track row.name; let i = $index) {\n <upd-filter-row [currentFilter]=\"row\" [config]=\"config()\" [rowIndex]=\"i\" (removed)=\"onRowRemoved()\"\n [isDisabled]=\"currentSearchRequestService.isSearching()\">\n </upd-filter-row>\n }\n\n <div class=\"ms-auto d-flex gap-2\">\n <upd-button customClasses=\"gap-2\" colorStyle=\"primary\" [isOutline]=\"true\" (clicked)=\"addEmptyFilterRow()\"\n [isDisabled]=\"!canPerformActions()\">\n <upd-icon tablerIcon=\"plus\" tablerIconWeight=\"bold\" [tablerIconSize]=\"20\"></upd-icon>\n {{ t('AddNewFilter') }}\n </upd-button>\n <upd-button customClasses=\"gap-2\" colorStyle=\"success\" [isDisabled]=\"!canPerformActions()\"\n (clicked)=\"search()\">\n <upd-icon tablerIcon=\"checks\" tablerIconWeight=\"bold\" [tablerIconSize]=\"20\"></upd-icon>\n {{ t('ApplyFilters') }}\n </upd-button>\n </div>\n }\n</ng-container>" }]
1114
+ args: [{ standalone: false, selector: 'upd-search-section', template: "<ng-container *transloco=\"let t; prefix: 'UpDevs.Table'\">\n @if (!!actionsTpl()) {\n <ng-template [ngTemplateOutlet]=\"actionsTpl()!\"></ng-template>\n }\n\n <div class=\"d-flex align-items-center gap-2\">\n <upd-input wrapperClasses=\"w-100\" [placeholder]=\"{text:'UpDevs.Table.Search', isTranslated:false}\"\n [isAppendButton]=\"true\" (valueChange)=\"searchSubject.next($event)\"\n [value]=\"currentSearchRequestService.searchRequest().description\">\n <ng-template updInputAppend>\n <upd-button [isIcon]=\"true\" [colorStyle]=\"filterSectionBtnColor()\" (clicked)=\"toggleFilterSection()\"\n [badgeConfig]=\"badgeConfig()\">\n <upd-icon [tablerIcon]=\"isFilterSectionOpen() ? 'filter-up' : 'filter-down'\"\n [tablerIconSize]=\"20\"></upd-icon>\n </upd-button>\n </ng-template>\n </upd-input>\n </div>\n\n @if (isFilterSectionOpen()) {\n @for (row of activeFilters(); track row.name; let i = $index) {\n <upd-filter-row [store]=\"config().store\" [currentFilter]=\"row\" [columns]=\"columns()\" [rowIndex]=\"i\"\n (removed)=\"onRowRemoved()\" [isDisabled]=\"currentSearchRequestService.isSearching()\"\n [filterFields]=\"config().filterFields\">\n </upd-filter-row>\n }\n\n <div class=\"ms-auto d-flex gap-2\">\n <upd-button customClasses=\"gap-2\" colorStyle=\"primary\" [isOutline]=\"true\" (clicked)=\"addEmptyFilterRow()\"\n [isDisabled]=\"!canPerformActions()\">\n <upd-icon tablerIcon=\"plus\" tablerIconWeight=\"bold\" [tablerIconSize]=\"20\"></upd-icon>\n {{ t('AddNewFilter') }}\n </upd-button>\n <upd-button customClasses=\"gap-2\" colorStyle=\"success\" [isDisabled]=\"!canPerformActions()\"\n (clicked)=\"search()\">\n <upd-icon tablerIcon=\"checks\" tablerIconWeight=\"bold\" [tablerIconSize]=\"20\"></upd-icon>\n {{ t('ApplyFilters') }}\n </upd-button>\n </div>\n }\n</ng-container>" }]
1138
1115
  }], ctorParameters: () => [], propDecorators: { wrapperClass: [{
1139
1116
  type: HostBinding,
1140
1117
  args: ['class']
1141
- }] } });
1118
+ }], columns: [{ type: i0.Input, args: [{ isSignal: true, alias: "columns", required: true }] }], config: [{ type: i0.Input, args: [{ isSignal: true, alias: "config", required: true }] }], actionsTpl: [{ type: i0.Input, args: [{ isSignal: true, alias: "actionsTpl", required: false }] }] } });
1142
1119
 
1143
1120
  var Utils = Tools.Utils;
1144
1121
  class TableComponent extends BaseComponent {
@@ -1172,41 +1149,40 @@ class TableComponent extends BaseComponent {
1172
1149
  }
1173
1150
  constructor() {
1174
1151
  super();
1175
- this.savedViewsRef = viewChild('savedViewsBtn', { read: ElementRef });
1176
- this.config = model.required();
1177
- this.selectedItems = computed(() => this.selectionModel().selected());
1178
- this.activeSavedView = signal(undefined);
1152
+ this.savedViewsRef = viewChild('savedViewsBtn', { ...(ngDevMode ? { debugName: "savedViewsRef" } : {}), read: ElementRef });
1153
+ this.config = model.required(...(ngDevMode ? [{ debugName: "config" }] : []));
1154
+ this.selectedItems = computed(() => this.selectionModel().selected(), ...(ngDevMode ? [{ debugName: "selectedItems" }] : []));
1155
+ this.activeSavedView = signal(undefined, ...(ngDevMode ? [{ debugName: "activeSavedView" }] : []));
1179
1156
  this.isMainCheckboxChecked = false;
1180
1157
  this.isMainCheckboxIndeterminate = false;
1181
1158
  this.isSavedViewsDropdownOpen = false;
1182
- this.currentPage = model(1);
1183
- this.pageSize = model(0);
1184
- this.totalRecords = signal(0);
1185
- this.configModel = computed(() => new TableConfigModel(this.config()));
1186
- this.data = computed(() => this.configModel().data.length > 0 ? this.configModel().data : this.currentData());
1187
- this.selectionModel = computed(() => new SelectionModel(this.configModel().getIdFunction));
1188
- this.currentSorting = signal(undefined);
1189
- this.hiddenColumns = computed(() => this.configModel().canManageColumns ? this.configModel().columns.filter(c => c.isHidden).length : 0);
1190
- this.columns = signal([]);
1159
+ this.currentPage = model(1, ...(ngDevMode ? [{ debugName: "currentPage" }] : []));
1160
+ this.pageSize = model(0, ...(ngDevMode ? [{ debugName: "pageSize" }] : []));
1161
+ this.totalRecords = signal(0, ...(ngDevMode ? [{ debugName: "totalRecords" }] : []));
1162
+ this.configModel = computed(() => new TableConfigModel(this.config()), ...(ngDevMode ? [{ debugName: "configModel" }] : []));
1163
+ this.data = computed(() => this.configModel().data.length > 0 ? this.configModel().data : this.currentData(), ...(ngDevMode ? [{ debugName: "data" }] : []));
1164
+ this.selectionModel = computed(() => new SelectionModel(this.configModel().getIdFunction), ...(ngDevMode ? [{ debugName: "selectionModel" }] : []));
1165
+ this.currentSorting = signal(undefined, ...(ngDevMode ? [{ debugName: "currentSorting" }] : []));
1166
+ this.hiddenColumns = computed(() => this.configModel().canManageColumns ? this.configModel().columns.filter(c => c.isHidden).length : 0, ...(ngDevMode ? [{ debugName: "hiddenColumns" }] : []));
1167
+ this.columns = signal([], ...(ngDevMode ? [{ debugName: "columns" }] : []));
1191
1168
  this.textService = inject(TextService);
1192
1169
  this.currentSearchRequestService = inject(CurrentSearchRequestService);
1193
1170
  this.savedViewsOptions = computed(() => {
1194
1171
  const allSavedViewsOptions = [];
1195
1172
  this.allSavedViews().forEach(sv => allSavedViewsOptions.push(this.getSavedViewOption(sv)));
1196
1173
  return allSavedViewsOptions;
1197
- });
1174
+ }, ...(ngDevMode ? [{ debugName: "savedViewsOptions" }] : []));
1198
1175
  this.shouldForceSearch = false;
1199
1176
  this.columnsBackup = [];
1200
- this.currentData = signal([]);
1201
- this.currentFavoriteButtons = computed(() => this.favoriteButtons);
1202
- this.smallSizeSignal = signal('small');
1203
- this.allSavedViews = computed(() => this.savedViewsStorage.getAll(this.configModel().name)());
1177
+ this.currentData = signal([], ...(ngDevMode ? [{ debugName: "currentData" }] : []));
1178
+ this.currentFavoriteButtons = computed(() => this.favoriteButtons, ...(ngDevMode ? [{ debugName: "currentFavoriteButtons" }] : []));
1179
+ this.smallSizeSignal = signal('small', ...(ngDevMode ? [{ debugName: "smallSizeSignal" }] : []));
1180
+ this.allSavedViews = computed(() => this.savedViewsStorage.getAll(this.configModel().name)(), ...(ngDevMode ? [{ debugName: "allSavedViews" }] : []));
1204
1181
  this.favoriteButtons = [];
1205
1182
  this.serverResponseService = inject(ServerResponseService);
1206
1183
  this.savedViewsStorage = inject(SavedViewsStorage);
1207
1184
  this.modalService = inject(ModalService);
1208
1185
  this.modalAlertService = inject(ModalAlertService);
1209
- this.configService = inject(UpdTableConfigService);
1210
1186
  effect(() => {
1211
1187
  if (this.data().length > 0 && this.configModel().data.length > 0) {
1212
1188
  this.setupPreSelected();
@@ -1246,9 +1222,6 @@ class TableComponent extends BaseComponent {
1246
1222
  this.shouldForceSearch = true;
1247
1223
  this.currentSearchRequestService.searchRequestSubject.next({});
1248
1224
  }
1249
- if (this.configService.config.shouldLoadFieldsFromServer || this.config().shouldLoadFilterFieldsFromServer) {
1250
- this.store.getFilterableFields().subscribe(fields => this.currentSearchRequestService.setFilterFields(fields));
1251
- }
1252
1225
  this.updateColumns(this.configModel().columns);
1253
1226
  this.addSubscriptions(searchSubjectSub, serverResponseSub);
1254
1227
  }
@@ -1535,13 +1508,13 @@ class TableComponent extends BaseComponent {
1535
1508
  actionButtons
1536
1509
  };
1537
1510
  }
1538
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: TableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1539
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: TableComponent, selector: "upd-table", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null }, currentPage: { classPropertyName: "currentPage", publicName: "currentPage", isSignal: true, isRequired: false, transformFunction: null }, pageSize: { classPropertyName: "pageSize", publicName: "pageSize", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { config: "configChange", currentPage: "currentPageChange", pageSize: "pageSizeChange" }, providers: [CurrentSearchRequestService], viewQueries: [{ propertyName: "savedViewsRef", first: true, predicate: ["savedViewsBtn"], descendants: true, read: ElementRef, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *transloco=\"let t; prefix: 'UpDevs.Table'\">\n <div class=\"card\">\n @if (!!configModel().title || !configModel().canSearch) {\n <div class=\"card-header\">\n @if (!!configModel().title) {\n <h3 class=\"card-title\">{{ textService.getText(configModel().title) }}</h3>\n }\n <ng-template [ngTemplateOutlet]=\"actionsTpl\"></ng-template>\n </div>\n }\n\n @if (configModel().customHeaderActions.length > 0) {\n <div class=\"card-body py-3 d-flex flex-column gap-2\">\n <div class=\"ms-auto d-flex gap-2\">\n @for (btn of configModel().customHeaderActions; track btn) {\n <upd-button customClasses=\"gap-2\" [model]=\"btn\"></upd-button>\n }\n </div>\n </div>\n }\n\n @if (configModel().canSearch) {\n <upd-search-section [actionsTpl]=\"!configModel().title ? actionsTpl : undefined\" [config]=\"configModel()\"\n [columns]=\"columns()\">\n </upd-search-section>\n }\n\n <div [class.table-responsive]=\"configModel().isResponsive\">\n <!-- TODO: implement pixel sized table -->\n <table class=\"table card-table table-vcenter table-nowrap\" [class.fixed]=\"hasWidth\"\n [class.pixel-sized]=\"isWidthInPixels\">\n <thead [class.sticky-top]=\"configModel().hasStickyHeader\">\n <tr>\n @if (configModel().hasCheckboxColumn) {\n <th class=\"checkbox-selector\">\n <upd-checkbox customClasses=\"m-0 ps-0\" (changed)=\"toggleAllSelection($event)\"\n [(isChecked)]=\"isMainCheckboxChecked\"\n [(isIndeterminate)]=\"isMainCheckboxIndeterminate\"></upd-checkbox>\n </th>\n }\n\n @for (col of columns(); track col) {\n <th [ngClass]=\"col.widthClass\" [style.width.px]=\"col.pixelsSize\">\n {{ textService.getText(col.title) }}\n @if (canSortColumn(col.name)) {\n <upd-icon [tablerIcon]=\"getSortingIcon(col.name)\" tablerIconWeight=\"bold\"\n colorClass=\"text-body-tertiary\" [tablerIconSize]=\"16\"\n (click)=\"sortByColumn(col.name)\">\n </upd-icon>\n }\n </th>\n }\n\n @if (!!pendingWidthColClass) {\n <th [ngClass]=\"pendingWidthColClass\"></th>\n }\n\n @if (configModel().customActions.length > 0) {\n <th class=\"custom-actions\"></th>\n }\n </tr>\n </thead>\n\n <tbody>\n @if (currentSearchRequestService.isSearching()) {\n <tr>\n <td [colSpan]=\"numberOfColumns\">\n <div class=\"empty\">\n <h1 class=\"text-body-tertiary\">{{ t('Loading') }}...</h1>\n <div class=\"progress progress-sm w-25\">\n <div class=\"progress-bar progress-bar-indeterminate bg-body-tertiary\"></div>\n </div>\n </div>\n </td>\n </tr>\n } @else {\n @for (record of data(); track record) {\n <tr>\n @if (configModel().hasCheckboxColumn) {\n <td class=\"checkbox-selector\">\n <upd-checkbox customClasses=\"m-0 ps-0\" (changed)=\"toggleItemSelection(record)\"\n [isChecked]=\"selectionModel().isSelected(record)\"></upd-checkbox>\n </td>\n }\n\n @for (col of columns(); track col) {\n <td [style.width.px]=\"col.pixelsSize\">\n <ng-container updTableColumn [record]=\"record\" [config]=\"col\"></ng-container>\n </td>\n }\n\n @if (!!pendingWidthColClass) {\n <td></td>\n }\n\n @if (configModel().customActions.length > 0) {\n <td style=\"overflow: unset\">\n <div class=\"grow-left d-flex\">\n @if (configModel().customActions.length > 1) {\n <upd-button customClasses=\"ca-item\" [iconModel]=\"{tablerIcon:'dots'}\"\n [isIcon]=\"true\" [isLink]=\"true\" size=\"small\"></upd-button>\n\n <div class=\"ca-dropdown-content rounded shadow-sm\">\n @for (btn of configModel().customActions; track btn) {\n <upd-button\n [model]=\"adaptCustomAction(btn, record)\"></upd-button>\n }\n </div>\n } @else {\n <upd-button\n [model]=\"adaptCustomAction(configModel().customActions[0], record)\">\n </upd-button>\n }\n </div>\n </td>\n }\n </tr>\n } @empty {\n <tr>\n <td [colSpan]=\"numberOfColumns\">\n <div class=\"empty\">\n <p class=\"empty-title\">{{ t('NoRecordsFoundTitle') }}</p>\n <p class=\"empty-subtitle text-secondary\">{{ t('NoRecordsFoundSubtitle') }}</p>\n </div>\n </td>\n </tr>\n }\n }\n </tbody>\n </table>\n </div>\n <upd-paginator wrapperClasses=\"card-footer\" [shouldDisplayPreviousText]=\"false\" [shouldDisplayNextText]=\"false\"\n [(pageSize)]=\"pageSize\" [shouldDisplayFirstText]=\"false\" [shouldDisplayLastText]=\"false\"\n [(currentPage)]=\"currentPage\" [totalRecords]=\"totalRecords()\" (changed)=\"onPageSettingsChanged()\">\n </upd-paginator>\n </div>\n\n <ng-template #actionsTpl>\n <div class=\"ms-auto d-flex gap-2\">\n @if (!!activeSavedView()) {\n @if (activeSavedView()!.isDefault) {\n <div class=\"ribbon ribbon-top ribbon-start\">\n <upd-icon tablerIcon=\"heart\" [tablerIconSize]=\"20\"></upd-icon>\n </div>\n }\n <div class=\"tag align-self-center py-3 text-primary bg-primary-lt border-primary\"\n updPopover=\"{{ t('CurrentSavedView') }}\" [updPopoverActAsTooltip]=\"true\">\n <upd-icon tablerIcon=\"list-details\" [tablerIconSize]=\"20\"></upd-icon>\n <span class=\"me-1\">{{ activeSavedView()!.name }}</span>\n </div>\n }\n @if (hiddenColumns() > 0) {\n <div class=\"tag align-self-center py-3 text-orange bg-orange-lt border-orange\"\n updPopover=\"{{ t('HiddenColumnsTooltip') }}\" [updPopoverActAsTooltip]=\"true\">\n <upd-icon tablerIcon=\"eye-off\" [tablerIconSize]=\"20\"></upd-icon>\n <span class=\"me-1\">{{ hiddenColumns() }}</span>\n </div>\n }\n @if (!!activeSavedView() || hiddenColumns() > 0) {\n <upd-button (clicked)=\"resetViewState()\" colorStyle=\"danger\" updPopover=\"{{ t('ResetView') }}\"\n [updPopoverActAsTooltip]=\"true\" [isIcon]=\"true\" [isOutline]=\"true\">\n <upd-icon tablerIcon=\"restore\" [tablerIconSize]=\"20\"></upd-icon>\n </upd-button>\n }\n @if (configModel().canSaveViews) {\n <upd-button customClasses=\"gap-2\" [isDisabled]=\"!currentSearchRequestService.hasChanges()\"\n (clicked)=\"openSaveSearchModal()\" updPopover=\"{{ t('SaveCurrentView') }}\"\n [updPopoverActAsTooltip]=\"true\" [isIcon]=\"true\">\n <upd-icon tablerIcon=\"device-floppy\" [tablerIconSize]=\"20\"></upd-icon>\n </upd-button>\n }\n @if (configModel().canManageColumns) {\n <upd-button customClasses=\"gap-2\" (clicked)=\"openColumnsManagerModal()\">\n <upd-icon tablerIcon=\"columns\" [tablerIconSize]=\"20\"></upd-icon>\n {{ t('ColumnsManagerButton') }}\n </upd-button>\n }\n @if (configModel().canSaveViews || configModel().canLoadSavedViews) {\n <upd-button customClasses=\"gap-2\" (clicked)=\"isSavedViewsDropdownOpen = true\" #savedViewsBtn>\n <upd-icon tablerIcon=\"folders\" [tablerIconSize]=\"20\"></upd-icon>\n {{ t('SavedViews.ButtonTitle') }}\n </upd-button>\n <upd-dropdown wrapperClasses=\"overflow-x-hidden mt-1\" [isOpen]=\"isSavedViewsDropdownOpen\"\n [dropdownReference]=\"savedViewsRef()\" [items]=\"savedViewsOptions()\"\n [shouldCloseOnOutsideClick]=\"true\" (isOpenChange)=\"isSavedViewsDropdownOpen = $event\"\n [minWidth]=\"350\" (selectedItem)=\"selectSavedView($event)\">\n @if (savedViewsOptions().length < 1) {\n <span class=\"m-2\">{{ t('NoSavedViews') }}</span>\n }\n </upd-dropdown>\n }\n </div>\n </ng-template>\n</ng-container>", styles: [".fixed{table-layout:fixed!important}.fixed td,.fixed th{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.checkbox-selector{width:52px!important}.custom-actions{width:56px!important}.ca-item{transition:all,.5s}.ca-item:hover{width:400px}.grow-left{direction:rtl}.ca-dropdown-content{display:none;background:var(--upd-secondary-lt)}.grow-left:hover .ca-dropdown-content{display:block}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$1.TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "component", type: i3.IconComponent, selector: "upd-icon", inputs: ["model", "wrapperClasses", "color", "colorClass", "removeDefaultClasses", "customClasses", "tablerIcon", "tablerIconWeight", "tablerIconType", "tablerIconSize", "heroIcon", "heroIconSize", "heroIconType"] }, { kind: "component", type: i4.ButtonComponent, selector: "upd-button", inputs: ["model", "text", "brandColorStyle", "customClasses", "isOutline", "isGhost", "isSquare", "isPill", "isIcon", "isLoading", "isList", "isFloating", "isAction", "isNavigationLink", "isLink", "shouldIgnoreBtnClass", "iconModel", "iconPosition", "isDisabled", "isActive", "badgeConfig", "colorStyle", "size", "title", "stopPropagation"], outputs: ["clicked"] }, { kind: "component", type: i5$1.PaginatorComponent, selector: "upd-paginator", inputs: ["startPageIndex", "currentPage", "wrapperClasses", "availablePageSizes", "defaultInitPageSize", "pageSize", "shouldDisplayFirstIcon", "shouldDisplayFirstText", "shouldDisplayPreviousIcon", "shouldDisplayPreviousText", "shouldDisplayNextIcon", "shouldDisplayNextText", "shouldDisplayLastIcon", "shouldDisplayLastText", "previousDescription", "nextDescription", "totalRecords"], outputs: ["changed", "currentPageChange", "pageSizeChange"] }, { kind: "component", type: i6.CheckboxComponent, selector: "upd-checkbox", inputs: ["wrapperClasses", "value", "customClasses", "isChecked", "isInline", "isSwitch", "isIndeterminate"], outputs: ["changed", "isCheckedChange", "isIndeterminateChange"] }, { kind: "component", type: i7.DropdownComponent, selector: "upd-dropdown", inputs: ["items", "header", "isOpen", "shouldCloseOnOutsideClick", "arrowType", "wrapperClasses", "elementsExcludedFromOutsideClick", "minHeight", "maxHeight", "minWidth", "maxWidth", "dropdownReference", "dropdownReferencePosition", "textOverflowStrategy"], outputs: ["isOpenChange", "selectedItem", "checkboxChanged"] }, { kind: "directive", type: i8.PopoverDirective, selector: "[updPopover]", inputs: ["updPopover", "updPopoverTitle", "updPopoverTitleTemplate", "updPopoverTemplate", "updPopoverPlacement", "updPopoverCustomClasses", "updPopoverActAsTooltip"] }, { kind: "component", type: SearchSectionComponent, selector: "upd-search-section", inputs: ["columns", "config", "actionsTpl"] }, { kind: "directive", type: TableColumnDirective, selector: "[updTableColumn]", inputs: ["record", "config"] }] }); }
1511
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: TableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1512
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.4", type: TableComponent, isStandalone: false, selector: "upd-table", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null }, currentPage: { classPropertyName: "currentPage", publicName: "currentPage", isSignal: true, isRequired: false, transformFunction: null }, pageSize: { classPropertyName: "pageSize", publicName: "pageSize", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { config: "configChange", currentPage: "currentPageChange", pageSize: "pageSizeChange" }, providers: [CurrentSearchRequestService], viewQueries: [{ propertyName: "savedViewsRef", first: true, predicate: ["savedViewsBtn"], descendants: true, read: ElementRef, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *transloco=\"let t; prefix: 'UpDevs.Table'\">\n <div class=\"card\">\n @if (!!configModel().title || !configModel().canSearch) {\n <div class=\"card-header\">\n @if (!!configModel().title) {\n <h3 class=\"card-title\">{{ textService.getText(configModel().title) }}</h3>\n }\n <ng-template [ngTemplateOutlet]=\"actionsTpl\"></ng-template>\n </div>\n }\n\n @if (configModel().customHeaderActions.length > 0) {\n <div class=\"card-body py-3 d-flex flex-column gap-2\">\n <div class=\"ms-auto d-flex gap-2\">\n @for (btn of configModel().customHeaderActions; track btn) {\n <upd-button customClasses=\"gap-2\" [model]=\"btn\"></upd-button>\n }\n </div>\n </div>\n }\n\n @if (configModel().canSearch) {\n <upd-search-section [actionsTpl]=\"!configModel().title ? actionsTpl : undefined\" [config]=\"configModel()\"\n [columns]=\"columns()\">\n </upd-search-section>\n }\n\n <div [class.table-responsive]=\"configModel().isResponsive\">\n <!-- TODO: implement pixel sized table -->\n <table class=\"table card-table table-vcenter table-nowrap\" [class.fixed]=\"hasWidth\"\n [class.pixel-sized]=\"isWidthInPixels\">\n <thead [class.sticky-top]=\"configModel().hasStickyHeader\">\n <tr>\n @if (configModel().hasCheckboxColumn) {\n <th class=\"checkbox-selector\">\n <upd-checkbox customClasses=\"m-0 ps-0\" (changed)=\"toggleAllSelection($event)\"\n [(isChecked)]=\"isMainCheckboxChecked\"\n [(isIndeterminate)]=\"isMainCheckboxIndeterminate\"></upd-checkbox>\n </th>\n }\n\n @for (col of columns(); track col) {\n <th [ngClass]=\"col.widthClass\" [style.width.px]=\"col.pixelsSize\">\n {{ textService.getText(col.title) }}\n @if (canSortColumn(col.name)) {\n <upd-icon [tablerIcon]=\"getSortingIcon(col.name)\" tablerIconWeight=\"bold\"\n colorClass=\"text-body-tertiary\" [tablerIconSize]=\"16\"\n (click)=\"sortByColumn(col.name)\">\n </upd-icon>\n }\n </th>\n }\n\n @if (!!pendingWidthColClass) {\n <th [ngClass]=\"pendingWidthColClass\"></th>\n }\n\n @if (configModel().customActions.length > 0) {\n <th class=\"custom-actions\"></th>\n }\n </tr>\n </thead>\n\n <tbody>\n @if (currentSearchRequestService.isSearching()) {\n <tr>\n <td [colSpan]=\"numberOfColumns\">\n <div class=\"empty\">\n <h1 class=\"text-body-tertiary\">{{ t('Loading') }}...</h1>\n <div class=\"progress progress-sm w-25\">\n <div class=\"progress-bar progress-bar-indeterminate bg-body-tertiary\"></div>\n </div>\n </div>\n </td>\n </tr>\n } @else {\n @for (record of data(); track record) {\n <tr>\n @if (configModel().hasCheckboxColumn) {\n <td class=\"checkbox-selector\">\n <upd-checkbox customClasses=\"m-0 ps-0\" (changed)=\"toggleItemSelection(record)\"\n [isChecked]=\"selectionModel().isSelected(record)\"></upd-checkbox>\n </td>\n }\n\n @for (col of columns(); track col) {\n <td [style.width.px]=\"col.pixelsSize\">\n <ng-container updTableColumn [record]=\"record\" [config]=\"col\"></ng-container>\n </td>\n }\n\n @if (!!pendingWidthColClass) {\n <td></td>\n }\n\n @if (configModel().customActions.length > 0) {\n <td style=\"overflow: unset\">\n <div class=\"grow-left d-flex\">\n @if (configModel().customActions.length > 1) {\n <upd-button customClasses=\"ca-item\" [iconModel]=\"{tablerIcon:'dots'}\"\n [isIcon]=\"true\" [isLink]=\"true\" size=\"small\"></upd-button>\n\n <div class=\"ca-dropdown-content rounded shadow-sm\">\n @for (btn of configModel().customActions; track btn) {\n <upd-button\n [model]=\"adaptCustomAction(btn, record)\"></upd-button>\n }\n </div>\n } @else {\n <upd-button\n [model]=\"adaptCustomAction(configModel().customActions[0], record)\">\n </upd-button>\n }\n </div>\n </td>\n }\n </tr>\n } @empty {\n <tr>\n <td [colSpan]=\"numberOfColumns\">\n <div class=\"empty\">\n <p class=\"empty-title\">{{ t('NoRecordsFoundTitle') }}</p>\n <p class=\"empty-subtitle text-secondary\">{{ t('NoRecordsFoundSubtitle') }}</p>\n </div>\n </td>\n </tr>\n }\n }\n </tbody>\n </table>\n </div>\n <upd-paginator wrapperClasses=\"card-footer\" [shouldDisplayPreviousText]=\"false\" [shouldDisplayNextText]=\"false\"\n [(pageSize)]=\"pageSize\" [shouldDisplayFirstText]=\"false\" [shouldDisplayLastText]=\"false\"\n [(currentPage)]=\"currentPage\" [totalRecords]=\"totalRecords()\" (changed)=\"onPageSettingsChanged()\">\n </upd-paginator>\n </div>\n\n <ng-template #actionsTpl>\n <div class=\"ms-auto d-flex gap-2\">\n @if (!!activeSavedView()) {\n @if (activeSavedView()!.isDefault) {\n <div class=\"ribbon ribbon-top ribbon-start\">\n <upd-icon tablerIcon=\"heart\" [tablerIconSize]=\"20\"></upd-icon>\n </div>\n }\n <div class=\"tag align-self-center py-3 text-primary bg-primary-lt border-primary\"\n updPopover=\"{{ t('CurrentSavedView') }}\" [updPopoverActAsTooltip]=\"true\">\n <upd-icon tablerIcon=\"list-details\" [tablerIconSize]=\"20\"></upd-icon>\n <span class=\"me-1\">{{ activeSavedView()!.name }}</span>\n </div>\n }\n @if (hiddenColumns() > 0) {\n <div class=\"tag align-self-center py-3 text-orange bg-orange-lt border-orange\"\n updPopover=\"{{ t('HiddenColumnsTooltip') }}\" [updPopoverActAsTooltip]=\"true\">\n <upd-icon tablerIcon=\"eye-off\" [tablerIconSize]=\"20\"></upd-icon>\n <span class=\"me-1\">{{ hiddenColumns() }}</span>\n </div>\n }\n @if (!!activeSavedView() || hiddenColumns() > 0) {\n <upd-button (clicked)=\"resetViewState()\" colorStyle=\"danger\" updPopover=\"{{ t('ResetView') }}\"\n [updPopoverActAsTooltip]=\"true\" [isIcon]=\"true\" [isOutline]=\"true\">\n <upd-icon tablerIcon=\"restore\" [tablerIconSize]=\"20\"></upd-icon>\n </upd-button>\n }\n @if (configModel().canSaveViews) {\n <upd-button customClasses=\"gap-2\" [isDisabled]=\"!currentSearchRequestService.hasChanges()\"\n (clicked)=\"openSaveSearchModal()\" updPopover=\"{{ t('SaveCurrentView') }}\"\n [updPopoverActAsTooltip]=\"true\" [isIcon]=\"true\">\n <upd-icon tablerIcon=\"device-floppy\" [tablerIconSize]=\"20\"></upd-icon>\n </upd-button>\n }\n @if (configModel().canManageColumns) {\n <upd-button customClasses=\"gap-2\" (clicked)=\"openColumnsManagerModal()\">\n <upd-icon tablerIcon=\"columns\" [tablerIconSize]=\"20\"></upd-icon>\n {{ t('ColumnsManagerButton') }}\n </upd-button>\n }\n @if (configModel().canSaveViews || configModel().canLoadSavedViews) {\n <upd-button customClasses=\"gap-2\" (clicked)=\"isSavedViewsDropdownOpen = true\" #savedViewsBtn>\n <upd-icon tablerIcon=\"folders\" [tablerIconSize]=\"20\"></upd-icon>\n {{ t('SavedViews.ButtonTitle') }}\n </upd-button>\n <upd-dropdown wrapperClasses=\"overflow-x-hidden mt-1\" [isOpen]=\"isSavedViewsDropdownOpen\"\n [dropdownReference]=\"savedViewsRef()\" [items]=\"savedViewsOptions()\"\n [shouldCloseOnOutsideClick]=\"true\" (isOpenChange)=\"isSavedViewsDropdownOpen = $event\"\n [minWidth]=\"350\" (selectedItem)=\"selectSavedView($event)\">\n @if (savedViewsOptions().length < 1) {\n <span class=\"m-2\">{{ t('NoSavedViews') }}</span>\n }\n </upd-dropdown>\n }\n </div>\n </ng-template>\n</ng-container>", styles: [".fixed{table-layout:fixed!important}.fixed td,.fixed th{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.checkbox-selector{width:52px!important}.custom-actions{width:56px!important}.ca-item{transition:all,.5s}.ca-item:hover{width:400px}.grow-left{direction:rtl}.ca-dropdown-content{display:none;background:var(--upd-secondary-lt)}.grow-left:hover .ca-dropdown-content{display:block}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$1.TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "component", type: i3.IconComponent, selector: "upd-icon", inputs: ["model", "wrapperClasses", "color", "colorClass", "removeDefaultClasses", "customClasses", "tablerIcon", "tablerIconWeight", "tablerIconType", "tablerIconSize", "heroIcon", "heroIconSize", "heroIconType"] }, { kind: "component", type: i4.ButtonComponent, selector: "upd-button", inputs: ["model", "text", "brandColorStyle", "customClasses", "isOutline", "isGhost", "isSquare", "isPill", "isIcon", "isLoading", "isList", "isFloating", "isAction", "isNavigationLink", "isLink", "shouldIgnoreBtnClass", "iconModel", "iconPosition", "isDisabled", "isActive", "badgeConfig", "colorStyle", "size", "title", "stopPropagation"], outputs: ["clicked"] }, { kind: "component", type: i5$1.PaginatorComponent, selector: "upd-paginator", inputs: ["startPageIndex", "currentPage", "wrapperClasses", "availablePageSizes", "defaultInitPageSize", "pageSize", "shouldDisplayFirstIcon", "shouldDisplayFirstText", "shouldDisplayPreviousIcon", "shouldDisplayPreviousText", "shouldDisplayNextIcon", "shouldDisplayNextText", "shouldDisplayLastIcon", "shouldDisplayLastText", "previousDescription", "nextDescription", "totalRecords"], outputs: ["changed", "currentPageChange", "pageSizeChange"] }, { kind: "component", type: i6.CheckboxComponent, selector: "upd-checkbox", inputs: ["wrapperClasses", "value", "customClasses", "isChecked", "isInline", "isSwitch", "isIndeterminate"], outputs: ["changed", "isCheckedChange", "isIndeterminateChange"] }, { kind: "component", type: i7.DropdownComponent, selector: "upd-dropdown", inputs: ["items", "header", "isOpen", "shouldCloseOnOutsideClick", "arrowType", "wrapperClasses", "elementsExcludedFromOutsideClick", "minHeight", "maxHeight", "minWidth", "maxWidth", "dropdownReference", "dropdownReferencePosition", "textOverflowStrategy"], outputs: ["isOpenChange", "selectedItem", "checkboxChanged"] }, { kind: "directive", type: i8.PopoverDirective, selector: "[updPopover]", inputs: ["updPopover", "updPopoverTitle", "updPopoverTitleTemplate", "updPopoverTemplate", "updPopoverPlacement", "updPopoverCustomClasses", "updPopoverActAsTooltip"] }, { kind: "component", type: SearchSectionComponent, selector: "upd-search-section", inputs: ["columns", "config", "actionsTpl"] }, { kind: "directive", type: TableColumnDirective, selector: "[updTableColumn]", inputs: ["record", "config"] }] }); }
1540
1513
  }
1541
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: TableComponent, decorators: [{
1514
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: TableComponent, decorators: [{
1542
1515
  type: Component,
1543
- args: [{ selector: 'upd-table', providers: [CurrentSearchRequestService], template: "<ng-container *transloco=\"let t; prefix: 'UpDevs.Table'\">\n <div class=\"card\">\n @if (!!configModel().title || !configModel().canSearch) {\n <div class=\"card-header\">\n @if (!!configModel().title) {\n <h3 class=\"card-title\">{{ textService.getText(configModel().title) }}</h3>\n }\n <ng-template [ngTemplateOutlet]=\"actionsTpl\"></ng-template>\n </div>\n }\n\n @if (configModel().customHeaderActions.length > 0) {\n <div class=\"card-body py-3 d-flex flex-column gap-2\">\n <div class=\"ms-auto d-flex gap-2\">\n @for (btn of configModel().customHeaderActions; track btn) {\n <upd-button customClasses=\"gap-2\" [model]=\"btn\"></upd-button>\n }\n </div>\n </div>\n }\n\n @if (configModel().canSearch) {\n <upd-search-section [actionsTpl]=\"!configModel().title ? actionsTpl : undefined\" [config]=\"configModel()\"\n [columns]=\"columns()\">\n </upd-search-section>\n }\n\n <div [class.table-responsive]=\"configModel().isResponsive\">\n <!-- TODO: implement pixel sized table -->\n <table class=\"table card-table table-vcenter table-nowrap\" [class.fixed]=\"hasWidth\"\n [class.pixel-sized]=\"isWidthInPixels\">\n <thead [class.sticky-top]=\"configModel().hasStickyHeader\">\n <tr>\n @if (configModel().hasCheckboxColumn) {\n <th class=\"checkbox-selector\">\n <upd-checkbox customClasses=\"m-0 ps-0\" (changed)=\"toggleAllSelection($event)\"\n [(isChecked)]=\"isMainCheckboxChecked\"\n [(isIndeterminate)]=\"isMainCheckboxIndeterminate\"></upd-checkbox>\n </th>\n }\n\n @for (col of columns(); track col) {\n <th [ngClass]=\"col.widthClass\" [style.width.px]=\"col.pixelsSize\">\n {{ textService.getText(col.title) }}\n @if (canSortColumn(col.name)) {\n <upd-icon [tablerIcon]=\"getSortingIcon(col.name)\" tablerIconWeight=\"bold\"\n colorClass=\"text-body-tertiary\" [tablerIconSize]=\"16\"\n (click)=\"sortByColumn(col.name)\">\n </upd-icon>\n }\n </th>\n }\n\n @if (!!pendingWidthColClass) {\n <th [ngClass]=\"pendingWidthColClass\"></th>\n }\n\n @if (configModel().customActions.length > 0) {\n <th class=\"custom-actions\"></th>\n }\n </tr>\n </thead>\n\n <tbody>\n @if (currentSearchRequestService.isSearching()) {\n <tr>\n <td [colSpan]=\"numberOfColumns\">\n <div class=\"empty\">\n <h1 class=\"text-body-tertiary\">{{ t('Loading') }}...</h1>\n <div class=\"progress progress-sm w-25\">\n <div class=\"progress-bar progress-bar-indeterminate bg-body-tertiary\"></div>\n </div>\n </div>\n </td>\n </tr>\n } @else {\n @for (record of data(); track record) {\n <tr>\n @if (configModel().hasCheckboxColumn) {\n <td class=\"checkbox-selector\">\n <upd-checkbox customClasses=\"m-0 ps-0\" (changed)=\"toggleItemSelection(record)\"\n [isChecked]=\"selectionModel().isSelected(record)\"></upd-checkbox>\n </td>\n }\n\n @for (col of columns(); track col) {\n <td [style.width.px]=\"col.pixelsSize\">\n <ng-container updTableColumn [record]=\"record\" [config]=\"col\"></ng-container>\n </td>\n }\n\n @if (!!pendingWidthColClass) {\n <td></td>\n }\n\n @if (configModel().customActions.length > 0) {\n <td style=\"overflow: unset\">\n <div class=\"grow-left d-flex\">\n @if (configModel().customActions.length > 1) {\n <upd-button customClasses=\"ca-item\" [iconModel]=\"{tablerIcon:'dots'}\"\n [isIcon]=\"true\" [isLink]=\"true\" size=\"small\"></upd-button>\n\n <div class=\"ca-dropdown-content rounded shadow-sm\">\n @for (btn of configModel().customActions; track btn) {\n <upd-button\n [model]=\"adaptCustomAction(btn, record)\"></upd-button>\n }\n </div>\n } @else {\n <upd-button\n [model]=\"adaptCustomAction(configModel().customActions[0], record)\">\n </upd-button>\n }\n </div>\n </td>\n }\n </tr>\n } @empty {\n <tr>\n <td [colSpan]=\"numberOfColumns\">\n <div class=\"empty\">\n <p class=\"empty-title\">{{ t('NoRecordsFoundTitle') }}</p>\n <p class=\"empty-subtitle text-secondary\">{{ t('NoRecordsFoundSubtitle') }}</p>\n </div>\n </td>\n </tr>\n }\n }\n </tbody>\n </table>\n </div>\n <upd-paginator wrapperClasses=\"card-footer\" [shouldDisplayPreviousText]=\"false\" [shouldDisplayNextText]=\"false\"\n [(pageSize)]=\"pageSize\" [shouldDisplayFirstText]=\"false\" [shouldDisplayLastText]=\"false\"\n [(currentPage)]=\"currentPage\" [totalRecords]=\"totalRecords()\" (changed)=\"onPageSettingsChanged()\">\n </upd-paginator>\n </div>\n\n <ng-template #actionsTpl>\n <div class=\"ms-auto d-flex gap-2\">\n @if (!!activeSavedView()) {\n @if (activeSavedView()!.isDefault) {\n <div class=\"ribbon ribbon-top ribbon-start\">\n <upd-icon tablerIcon=\"heart\" [tablerIconSize]=\"20\"></upd-icon>\n </div>\n }\n <div class=\"tag align-self-center py-3 text-primary bg-primary-lt border-primary\"\n updPopover=\"{{ t('CurrentSavedView') }}\" [updPopoverActAsTooltip]=\"true\">\n <upd-icon tablerIcon=\"list-details\" [tablerIconSize]=\"20\"></upd-icon>\n <span class=\"me-1\">{{ activeSavedView()!.name }}</span>\n </div>\n }\n @if (hiddenColumns() > 0) {\n <div class=\"tag align-self-center py-3 text-orange bg-orange-lt border-orange\"\n updPopover=\"{{ t('HiddenColumnsTooltip') }}\" [updPopoverActAsTooltip]=\"true\">\n <upd-icon tablerIcon=\"eye-off\" [tablerIconSize]=\"20\"></upd-icon>\n <span class=\"me-1\">{{ hiddenColumns() }}</span>\n </div>\n }\n @if (!!activeSavedView() || hiddenColumns() > 0) {\n <upd-button (clicked)=\"resetViewState()\" colorStyle=\"danger\" updPopover=\"{{ t('ResetView') }}\"\n [updPopoverActAsTooltip]=\"true\" [isIcon]=\"true\" [isOutline]=\"true\">\n <upd-icon tablerIcon=\"restore\" [tablerIconSize]=\"20\"></upd-icon>\n </upd-button>\n }\n @if (configModel().canSaveViews) {\n <upd-button customClasses=\"gap-2\" [isDisabled]=\"!currentSearchRequestService.hasChanges()\"\n (clicked)=\"openSaveSearchModal()\" updPopover=\"{{ t('SaveCurrentView') }}\"\n [updPopoverActAsTooltip]=\"true\" [isIcon]=\"true\">\n <upd-icon tablerIcon=\"device-floppy\" [tablerIconSize]=\"20\"></upd-icon>\n </upd-button>\n }\n @if (configModel().canManageColumns) {\n <upd-button customClasses=\"gap-2\" (clicked)=\"openColumnsManagerModal()\">\n <upd-icon tablerIcon=\"columns\" [tablerIconSize]=\"20\"></upd-icon>\n {{ t('ColumnsManagerButton') }}\n </upd-button>\n }\n @if (configModel().canSaveViews || configModel().canLoadSavedViews) {\n <upd-button customClasses=\"gap-2\" (clicked)=\"isSavedViewsDropdownOpen = true\" #savedViewsBtn>\n <upd-icon tablerIcon=\"folders\" [tablerIconSize]=\"20\"></upd-icon>\n {{ t('SavedViews.ButtonTitle') }}\n </upd-button>\n <upd-dropdown wrapperClasses=\"overflow-x-hidden mt-1\" [isOpen]=\"isSavedViewsDropdownOpen\"\n [dropdownReference]=\"savedViewsRef()\" [items]=\"savedViewsOptions()\"\n [shouldCloseOnOutsideClick]=\"true\" (isOpenChange)=\"isSavedViewsDropdownOpen = $event\"\n [minWidth]=\"350\" (selectedItem)=\"selectSavedView($event)\">\n @if (savedViewsOptions().length < 1) {\n <span class=\"m-2\">{{ t('NoSavedViews') }}</span>\n }\n </upd-dropdown>\n }\n </div>\n </ng-template>\n</ng-container>", styles: [".fixed{table-layout:fixed!important}.fixed td,.fixed th{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.checkbox-selector{width:52px!important}.custom-actions{width:56px!important}.ca-item{transition:all,.5s}.ca-item:hover{width:400px}.grow-left{direction:rtl}.ca-dropdown-content{display:none;background:var(--upd-secondary-lt)}.grow-left:hover .ca-dropdown-content{display:block}\n"] }]
1544
- }], ctorParameters: () => [] });
1516
+ args: [{ standalone: false, selector: 'upd-table', providers: [CurrentSearchRequestService], template: "<ng-container *transloco=\"let t; prefix: 'UpDevs.Table'\">\n <div class=\"card\">\n @if (!!configModel().title || !configModel().canSearch) {\n <div class=\"card-header\">\n @if (!!configModel().title) {\n <h3 class=\"card-title\">{{ textService.getText(configModel().title) }}</h3>\n }\n <ng-template [ngTemplateOutlet]=\"actionsTpl\"></ng-template>\n </div>\n }\n\n @if (configModel().customHeaderActions.length > 0) {\n <div class=\"card-body py-3 d-flex flex-column gap-2\">\n <div class=\"ms-auto d-flex gap-2\">\n @for (btn of configModel().customHeaderActions; track btn) {\n <upd-button customClasses=\"gap-2\" [model]=\"btn\"></upd-button>\n }\n </div>\n </div>\n }\n\n @if (configModel().canSearch) {\n <upd-search-section [actionsTpl]=\"!configModel().title ? actionsTpl : undefined\" [config]=\"configModel()\"\n [columns]=\"columns()\">\n </upd-search-section>\n }\n\n <div [class.table-responsive]=\"configModel().isResponsive\">\n <!-- TODO: implement pixel sized table -->\n <table class=\"table card-table table-vcenter table-nowrap\" [class.fixed]=\"hasWidth\"\n [class.pixel-sized]=\"isWidthInPixels\">\n <thead [class.sticky-top]=\"configModel().hasStickyHeader\">\n <tr>\n @if (configModel().hasCheckboxColumn) {\n <th class=\"checkbox-selector\">\n <upd-checkbox customClasses=\"m-0 ps-0\" (changed)=\"toggleAllSelection($event)\"\n [(isChecked)]=\"isMainCheckboxChecked\"\n [(isIndeterminate)]=\"isMainCheckboxIndeterminate\"></upd-checkbox>\n </th>\n }\n\n @for (col of columns(); track col) {\n <th [ngClass]=\"col.widthClass\" [style.width.px]=\"col.pixelsSize\">\n {{ textService.getText(col.title) }}\n @if (canSortColumn(col.name)) {\n <upd-icon [tablerIcon]=\"getSortingIcon(col.name)\" tablerIconWeight=\"bold\"\n colorClass=\"text-body-tertiary\" [tablerIconSize]=\"16\"\n (click)=\"sortByColumn(col.name)\">\n </upd-icon>\n }\n </th>\n }\n\n @if (!!pendingWidthColClass) {\n <th [ngClass]=\"pendingWidthColClass\"></th>\n }\n\n @if (configModel().customActions.length > 0) {\n <th class=\"custom-actions\"></th>\n }\n </tr>\n </thead>\n\n <tbody>\n @if (currentSearchRequestService.isSearching()) {\n <tr>\n <td [colSpan]=\"numberOfColumns\">\n <div class=\"empty\">\n <h1 class=\"text-body-tertiary\">{{ t('Loading') }}...</h1>\n <div class=\"progress progress-sm w-25\">\n <div class=\"progress-bar progress-bar-indeterminate bg-body-tertiary\"></div>\n </div>\n </div>\n </td>\n </tr>\n } @else {\n @for (record of data(); track record) {\n <tr>\n @if (configModel().hasCheckboxColumn) {\n <td class=\"checkbox-selector\">\n <upd-checkbox customClasses=\"m-0 ps-0\" (changed)=\"toggleItemSelection(record)\"\n [isChecked]=\"selectionModel().isSelected(record)\"></upd-checkbox>\n </td>\n }\n\n @for (col of columns(); track col) {\n <td [style.width.px]=\"col.pixelsSize\">\n <ng-container updTableColumn [record]=\"record\" [config]=\"col\"></ng-container>\n </td>\n }\n\n @if (!!pendingWidthColClass) {\n <td></td>\n }\n\n @if (configModel().customActions.length > 0) {\n <td style=\"overflow: unset\">\n <div class=\"grow-left d-flex\">\n @if (configModel().customActions.length > 1) {\n <upd-button customClasses=\"ca-item\" [iconModel]=\"{tablerIcon:'dots'}\"\n [isIcon]=\"true\" [isLink]=\"true\" size=\"small\"></upd-button>\n\n <div class=\"ca-dropdown-content rounded shadow-sm\">\n @for (btn of configModel().customActions; track btn) {\n <upd-button\n [model]=\"adaptCustomAction(btn, record)\"></upd-button>\n }\n </div>\n } @else {\n <upd-button\n [model]=\"adaptCustomAction(configModel().customActions[0], record)\">\n </upd-button>\n }\n </div>\n </td>\n }\n </tr>\n } @empty {\n <tr>\n <td [colSpan]=\"numberOfColumns\">\n <div class=\"empty\">\n <p class=\"empty-title\">{{ t('NoRecordsFoundTitle') }}</p>\n <p class=\"empty-subtitle text-secondary\">{{ t('NoRecordsFoundSubtitle') }}</p>\n </div>\n </td>\n </tr>\n }\n }\n </tbody>\n </table>\n </div>\n <upd-paginator wrapperClasses=\"card-footer\" [shouldDisplayPreviousText]=\"false\" [shouldDisplayNextText]=\"false\"\n [(pageSize)]=\"pageSize\" [shouldDisplayFirstText]=\"false\" [shouldDisplayLastText]=\"false\"\n [(currentPage)]=\"currentPage\" [totalRecords]=\"totalRecords()\" (changed)=\"onPageSettingsChanged()\">\n </upd-paginator>\n </div>\n\n <ng-template #actionsTpl>\n <div class=\"ms-auto d-flex gap-2\">\n @if (!!activeSavedView()) {\n @if (activeSavedView()!.isDefault) {\n <div class=\"ribbon ribbon-top ribbon-start\">\n <upd-icon tablerIcon=\"heart\" [tablerIconSize]=\"20\"></upd-icon>\n </div>\n }\n <div class=\"tag align-self-center py-3 text-primary bg-primary-lt border-primary\"\n updPopover=\"{{ t('CurrentSavedView') }}\" [updPopoverActAsTooltip]=\"true\">\n <upd-icon tablerIcon=\"list-details\" [tablerIconSize]=\"20\"></upd-icon>\n <span class=\"me-1\">{{ activeSavedView()!.name }}</span>\n </div>\n }\n @if (hiddenColumns() > 0) {\n <div class=\"tag align-self-center py-3 text-orange bg-orange-lt border-orange\"\n updPopover=\"{{ t('HiddenColumnsTooltip') }}\" [updPopoverActAsTooltip]=\"true\">\n <upd-icon tablerIcon=\"eye-off\" [tablerIconSize]=\"20\"></upd-icon>\n <span class=\"me-1\">{{ hiddenColumns() }}</span>\n </div>\n }\n @if (!!activeSavedView() || hiddenColumns() > 0) {\n <upd-button (clicked)=\"resetViewState()\" colorStyle=\"danger\" updPopover=\"{{ t('ResetView') }}\"\n [updPopoverActAsTooltip]=\"true\" [isIcon]=\"true\" [isOutline]=\"true\">\n <upd-icon tablerIcon=\"restore\" [tablerIconSize]=\"20\"></upd-icon>\n </upd-button>\n }\n @if (configModel().canSaveViews) {\n <upd-button customClasses=\"gap-2\" [isDisabled]=\"!currentSearchRequestService.hasChanges()\"\n (clicked)=\"openSaveSearchModal()\" updPopover=\"{{ t('SaveCurrentView') }}\"\n [updPopoverActAsTooltip]=\"true\" [isIcon]=\"true\">\n <upd-icon tablerIcon=\"device-floppy\" [tablerIconSize]=\"20\"></upd-icon>\n </upd-button>\n }\n @if (configModel().canManageColumns) {\n <upd-button customClasses=\"gap-2\" (clicked)=\"openColumnsManagerModal()\">\n <upd-icon tablerIcon=\"columns\" [tablerIconSize]=\"20\"></upd-icon>\n {{ t('ColumnsManagerButton') }}\n </upd-button>\n }\n @if (configModel().canSaveViews || configModel().canLoadSavedViews) {\n <upd-button customClasses=\"gap-2\" (clicked)=\"isSavedViewsDropdownOpen = true\" #savedViewsBtn>\n <upd-icon tablerIcon=\"folders\" [tablerIconSize]=\"20\"></upd-icon>\n {{ t('SavedViews.ButtonTitle') }}\n </upd-button>\n <upd-dropdown wrapperClasses=\"overflow-x-hidden mt-1\" [isOpen]=\"isSavedViewsDropdownOpen\"\n [dropdownReference]=\"savedViewsRef()\" [items]=\"savedViewsOptions()\"\n [shouldCloseOnOutsideClick]=\"true\" (isOpenChange)=\"isSavedViewsDropdownOpen = $event\"\n [minWidth]=\"350\" (selectedItem)=\"selectSavedView($event)\">\n @if (savedViewsOptions().length < 1) {\n <span class=\"m-2\">{{ t('NoSavedViews') }}</span>\n }\n </upd-dropdown>\n }\n </div>\n </ng-template>\n</ng-container>", styles: [".fixed{table-layout:fixed!important}.fixed td,.fixed th{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.checkbox-selector{width:52px!important}.custom-actions{width:56px!important}.ca-item{transition:all,.5s}.ca-item:hover{width:400px}.grow-left{direction:rtl}.ca-dropdown-content{display:none;background:var(--upd-secondary-lt)}.grow-left:hover .ca-dropdown-content{display:block}\n"] }]
1517
+ }], ctorParameters: () => [], propDecorators: { savedViewsRef: [{ type: i0.ViewChild, args: ['savedViewsBtn', { ...{ read: ElementRef }, isSignal: true }] }], config: [{ type: i0.Input, args: [{ isSignal: true, alias: "config", required: true }] }, { type: i0.Output, args: ["configChange"] }], currentPage: [{ type: i0.Input, args: [{ isSignal: true, alias: "currentPage", required: false }] }, { type: i0.Output, args: ["currentPageChange"] }], pageSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "pageSize", required: false }] }, { type: i0.Output, args: ["pageSizeChange"] }] } });
1545
1518
 
1546
1519
  var UpDevs$1 = {
1547
1520
  Table: {
@@ -1714,10 +1687,10 @@ class FiltersOperandsStore extends BaseStore {
1714
1687
  load(fieldType) {
1715
1688
  return this._requestService.makeGet(this.getRequestModel(fieldType.toString()));
1716
1689
  }
1717
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: FiltersOperandsStore, deps: [{ token: UpdTableConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
1718
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: FiltersOperandsStore }); }
1690
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: FiltersOperandsStore, deps: [{ token: UpdTableConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
1691
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: FiltersOperandsStore }); }
1719
1692
  }
1720
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: FiltersOperandsStore, decorators: [{
1693
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: FiltersOperandsStore, decorators: [{
1721
1694
  type: Injectable
1722
1695
  }], ctorParameters: () => [{ type: UpdTableConfigService }] });
1723
1696
 
@@ -1958,10 +1931,10 @@ class DefaultFiltersOperandsService extends FiltersOperandsService {
1958
1931
  getAllOperands() {
1959
1932
  return this.cachedData;
1960
1933
  }
1961
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: DefaultFiltersOperandsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1962
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: DefaultFiltersOperandsService }); }
1934
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: DefaultFiltersOperandsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1935
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: DefaultFiltersOperandsService }); }
1963
1936
  }
1964
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: DefaultFiltersOperandsService, decorators: [{
1937
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: DefaultFiltersOperandsService, decorators: [{
1965
1938
  type: Injectable
1966
1939
  }], ctorParameters: () => [] });
1967
1940
 
@@ -1990,8 +1963,8 @@ class UpdTableModule {
1990
1963
  ]
1991
1964
  };
1992
1965
  }
1993
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: UpdTableModule, deps: [{ token: i1$1.TranslocoService }], target: i0.ɵɵFactoryTarget.NgModule }); }
1994
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.0", ngImport: i0, type: UpdTableModule, declarations: [TableComponent,
1966
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: UpdTableModule, deps: [{ token: i1$1.TranslocoService }], target: i0.ɵɵFactoryTarget.NgModule }); }
1967
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.4", ngImport: i0, type: UpdTableModule, declarations: [TableComponent,
1995
1968
  SearchSectionComponent,
1996
1969
  FilterRowComponent,
1997
1970
  TableColumnDirective,
@@ -2016,7 +1989,7 @@ class UpdTableModule {
2016
1989
  UpdBadgeModule,
2017
1990
  UpdPopoverModule], exports: [TableComponent,
2018
1991
  TableColumnDirective] }); }
2019
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: UpdTableModule, providers: [
1992
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: UpdTableModule, providers: [
2020
1993
  UpdTableConfigService,
2021
1994
  FiltersOperandsStore,
2022
1995
  SavedViewsStorage
@@ -2035,7 +2008,7 @@ class UpdTableModule {
2035
2008
  UpdBadgeModule,
2036
2009
  UpdPopoverModule] }); }
2037
2010
  }
2038
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: UpdTableModule, decorators: [{
2011
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: UpdTableModule, decorators: [{
2039
2012
  type: NgModule,
2040
2013
  args: [{
2041
2014
  imports: [