@updevs/components 1.0.0-alpha.4 → 1.0.0-alpha.40

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 (827) hide show
  1. package/README.md +4 -7
  2. package/assets/styles/_bootstrap-components.scss +18 -1
  3. package/assets/styles/_seven-columns.scss +73 -0
  4. package/assets/styles/_updevs.scss +4 -0
  5. package/assets/styles/_variables.scss +1 -1
  6. package/assets/styles/utils/_colors.scss +1 -1
  7. package/badge/badge-config.model.d.ts +14 -0
  8. package/badge/badge.component.d.ts +24 -0
  9. package/badge/badge.config.d.ts +12 -0
  10. package/badge/public-api.d.ts +3 -0
  11. package/badge/upd-badge.module.d.ts +8 -0
  12. package/button/button.component.d.ts +61 -0
  13. package/button/upd-button.module.d.ts +10 -0
  14. package/calendar/calendar.component.d.ts +127 -0
  15. package/calendar/components/calendar-body/calendar-body.component.d.ts +263 -0
  16. package/calendar/components/calendar-header/calendar-header.component.d.ts +57 -0
  17. package/calendar/components/calendar-month-view/calendar-month-view.component.d.ts +151 -0
  18. package/calendar/components/calendar-multi-year-view/calendar-multi-year-view.component.d.ts +10 -0
  19. package/calendar/components/calendar-year-view/calendar-year-view.component.d.ts +9 -0
  20. package/calendar/models/calendar-cell.model.d.ts +16 -0
  21. package/calendar/models/calendar-user-event.model.d.ts +4 -0
  22. package/calendar/models/date-range.model.d.ts +26 -0
  23. package/calendar/models/public-api.d.ts +2 -0
  24. package/calendar/public-api.d.ts +5 -0
  25. package/calendar/services/calendar-range-strategy.service.d.ts +35 -0
  26. package/calendar/services/calendar-signals.service.d.ts +24 -0
  27. package/calendar/services/calendar.service.d.ts +15 -0
  28. package/calendar/services/public-api.d.ts +1 -0
  29. package/calendar/tools/events-options.d.ts +12 -0
  30. package/calendar/tools/keyboard-tools.d.ts +9 -0
  31. package/calendar/tools/passive-listeners.d.ts +16 -0
  32. package/calendar/types/calendar-cell-class-function.type.d.ts +3 -0
  33. package/calendar/types/calendar-cell-css-classes.type.d.ts +3 -0
  34. package/calendar/types/calendar-view.type.d.ts +1 -0
  35. package/calendar/types/modifier-key.type.d.ts +1 -0
  36. package/calendar/types/public-api.d.ts +1 -0
  37. package/calendar/upd-calendar.module.d.ts +18 -0
  38. package/card/card.component.d.ts +54 -0
  39. package/card/directives/card-actions.directive.d.ts +7 -0
  40. package/card/directives/card-footer.directive.d.ts +7 -0
  41. package/card/directives/card-header.directive.d.ts +7 -0
  42. package/card/directives/card-image.directive.d.ts +7 -0
  43. package/card/upd-card.module.d.ts +14 -0
  44. package/drag-and-drop/drag-and-drop.component.d.ts +26 -0
  45. package/drag-and-drop/models/drag-and-drop-column.config.d.ts +8 -0
  46. package/drag-and-drop/models/drag-and-drop-column.model.d.ts +10 -0
  47. package/drag-and-drop/models/drag-and-drop-item.d.ts +7 -0
  48. package/drag-and-drop/models/drag-and-drop-item.model.d.ts +13 -0
  49. package/drag-and-drop/models/drag-and-drop.config.d.ts +6 -0
  50. package/drag-and-drop/models/public-api.d.ts +4 -0
  51. package/drag-and-drop/public-api.d.ts +3 -0
  52. package/drag-and-drop/upd-drag-and-drop.module.d.ts +9 -0
  53. package/dropdown/dropdown.component.d.ts +76 -0
  54. package/dropdown/models/dropdown-action-clicked.model.d.ts +6 -0
  55. package/dropdown/{src/models/dropdown-item.ts → models/dropdown-item.d.ts} +7 -4
  56. package/dropdown/{src/models/dropdown-item.type.ts → models/dropdown-item.type.d.ts} +1 -1
  57. package/dropdown/models/public-api.d.ts +4 -0
  58. package/dropdown/models/toolbar.type.d.ts +1 -0
  59. package/dropdown/upd-dropdown.module.d.ts +12 -0
  60. package/esm2022/badge/badge-config.model.mjs +14 -0
  61. package/esm2022/badge/badge.component.mjs +50 -0
  62. package/esm2022/badge/badge.config.mjs +2 -0
  63. package/esm2022/badge/index.mjs +2 -0
  64. package/esm2022/badge/public-api.mjs +4 -0
  65. package/esm2022/badge/upd-badge.module.mjs +24 -0
  66. package/esm2022/badge/updevs-components-badge.mjs +5 -0
  67. package/esm2022/button/button.component.mjs +157 -0
  68. package/esm2022/button/index.mjs +2 -0
  69. package/esm2022/button/public-api.mjs +3 -0
  70. package/esm2022/button/upd-button.module.mjs +32 -0
  71. package/esm2022/button/updevs-components-button.mjs +5 -0
  72. package/esm2022/calendar/assets/i18n/en.json +16 -0
  73. package/esm2022/calendar/assets/i18n/pt.json +16 -0
  74. package/esm2022/calendar/calendar.component.mjs +247 -0
  75. package/esm2022/calendar/components/calendar-body/calendar-body.component.mjs +515 -0
  76. package/esm2022/calendar/components/calendar-header/calendar-header.component.mjs +144 -0
  77. package/esm2022/calendar/components/calendar-month-view/calendar-month-view.component.mjs +423 -0
  78. package/esm2022/calendar/components/calendar-multi-year-view/calendar-multi-year-view.component.mjs +18 -0
  79. package/esm2022/calendar/components/calendar-year-view/calendar-year-view.component.mjs +17 -0
  80. package/esm2022/calendar/index.mjs +2 -0
  81. package/esm2022/calendar/models/calendar-cell.model.mjs +18 -0
  82. package/esm2022/calendar/models/calendar-user-event.model.mjs +2 -0
  83. package/esm2022/calendar/models/date-range.model.mjs +18 -0
  84. package/esm2022/calendar/models/public-api.mjs +3 -0
  85. package/esm2022/calendar/public-api.mjs +6 -0
  86. package/esm2022/calendar/services/calendar-range-strategy.service.mjs +99 -0
  87. package/esm2022/calendar/services/calendar-signals.service.mjs +47 -0
  88. package/esm2022/calendar/services/calendar.service.mjs +40 -0
  89. package/esm2022/calendar/services/public-api.mjs +2 -0
  90. package/esm2022/calendar/tools/events-options.mjs +14 -0
  91. package/esm2022/calendar/tools/keyboard-tools.mjs +14 -0
  92. package/esm2022/calendar/tools/passive-listeners.mjs +29 -0
  93. package/esm2022/calendar/types/calendar-cell-class-function.type.mjs +2 -0
  94. package/esm2022/calendar/types/calendar-cell-css-classes.type.mjs +2 -0
  95. package/esm2022/calendar/types/calendar-view.type.mjs +2 -0
  96. package/esm2022/calendar/types/modifier-key.type.mjs +2 -0
  97. package/esm2022/calendar/types/public-api.mjs +2 -0
  98. package/esm2022/calendar/upd-calendar.module.mjs +70 -0
  99. package/esm2022/calendar/updevs-components-calendar.mjs +5 -0
  100. package/esm2022/card/card.component.mjs +136 -0
  101. package/esm2022/card/directives/card-actions.directive.mjs +16 -0
  102. package/esm2022/card/directives/card-footer.directive.mjs +16 -0
  103. package/esm2022/card/directives/card-header.directive.mjs +16 -0
  104. package/esm2022/card/directives/card-image.directive.mjs +16 -0
  105. package/esm2022/card/directives/public-api.mjs +5 -0
  106. package/esm2022/card/index.mjs +2 -0
  107. package/esm2022/card/public-api.mjs +4 -0
  108. package/esm2022/card/types/card-state.type.mjs +2 -0
  109. package/esm2022/card/types/card-style.type.mjs +2 -0
  110. package/esm2022/card/types/hover-effect.type.mjs +2 -0
  111. package/esm2022/card/types/ribbon-style.type.mjs +2 -0
  112. package/esm2022/card/types/status-position.type.mjs +2 -0
  113. package/esm2022/card/upd-card.module.mjs +50 -0
  114. package/esm2022/card/updevs-components-card.mjs +5 -0
  115. package/esm2022/drag-and-drop/drag-and-drop.component.mjs +134 -0
  116. package/esm2022/drag-and-drop/index.mjs +2 -0
  117. package/esm2022/drag-and-drop/models/drag-and-drop-column.config.mjs +2 -0
  118. package/esm2022/drag-and-drop/models/drag-and-drop-column.model.mjs +9 -0
  119. package/esm2022/drag-and-drop/models/drag-and-drop-item.mjs +2 -0
  120. package/esm2022/drag-and-drop/models/drag-and-drop-item.model.mjs +14 -0
  121. package/esm2022/drag-and-drop/models/drag-and-drop.config.mjs +2 -0
  122. package/esm2022/drag-and-drop/models/public-api.mjs +5 -0
  123. package/esm2022/drag-and-drop/public-api.mjs +4 -0
  124. package/esm2022/drag-and-drop/upd-drag-and-drop.module.mjs +28 -0
  125. package/esm2022/drag-and-drop/updevs-components-drag-and-drop.mjs +5 -0
  126. package/esm2022/dropdown/dropdown.component.mjs +182 -0
  127. package/esm2022/dropdown/index.mjs +2 -0
  128. package/esm2022/dropdown/models/dropdown-action-clicked.model.mjs +2 -0
  129. package/esm2022/dropdown/models/dropdown-item.mjs +2 -0
  130. package/esm2022/dropdown/models/dropdown-item.type.mjs +2 -0
  131. package/esm2022/dropdown/models/public-api.mjs +5 -0
  132. package/esm2022/dropdown/models/toolbar.type.mjs +2 -0
  133. package/esm2022/dropdown/public-api.mjs +4 -0
  134. package/esm2022/dropdown/upd-dropdown.module.mjs +40 -0
  135. package/esm2022/dropdown/updevs-components-dropdown.mjs +5 -0
  136. package/esm2022/form/assets/i18n/en.json +17 -0
  137. package/esm2022/form/assets/i18n/pt.json +17 -0
  138. package/esm2022/form/components/dynamic-field/dynamic-field.component.mjs +127 -0
  139. package/esm2022/form/form.component.mjs +122 -0
  140. package/esm2022/form/index.mjs +2 -0
  141. package/esm2022/form/models/checkbox-field.model.mjs +2 -0
  142. package/esm2022/form/models/checkbox-group-field.model.mjs +2 -0
  143. package/esm2022/form/models/dynamic-field.model.mjs +2 -0
  144. package/esm2022/form/models/enums/dynamic-field.type.mjs +14 -0
  145. package/esm2022/form/models/enums/public-api.mjs +2 -0
  146. package/esm2022/form/models/file-upload-field.model.mjs +2 -0
  147. package/esm2022/form/models/form-config.mjs +2 -0
  148. package/esm2022/form/models/form-row.model.mjs +2 -0
  149. package/esm2022/form/models/input-field.model.mjs +2 -0
  150. package/esm2022/form/models/public-api.mjs +15 -0
  151. package/esm2022/form/models/radio-field.model.mjs +2 -0
  152. package/esm2022/form/models/radio-group-field.model.mjs +2 -0
  153. package/esm2022/form/models/select-field.model.mjs +2 -0
  154. package/esm2022/form/models/single-select-field.model.mjs +2 -0
  155. package/esm2022/form/models/textarea-field.model.mjs +2 -0
  156. package/esm2022/form/models/validator-config.mjs +2 -0
  157. package/esm2022/form/public-api.mjs +4 -0
  158. package/esm2022/form/tools/errors-helper.mjs +54 -0
  159. package/esm2022/form/upd-form.module.mjs +84 -0
  160. package/esm2022/form/updevs-components-form.mjs +5 -0
  161. package/esm2022/form-controls/abstractions/base-control.mjs +46 -0
  162. package/esm2022/form-controls/abstractions/index.mjs +2 -0
  163. package/esm2022/form-controls/abstractions/public-api.mjs +2 -0
  164. package/esm2022/form-controls/abstractions/updevs-components-form-controls-abstractions.mjs +5 -0
  165. package/esm2022/form-controls/checkbox/checkbox.component.mjs +51 -0
  166. package/esm2022/form-controls/checkbox/index.mjs +2 -0
  167. package/esm2022/form-controls/checkbox/public-api.mjs +3 -0
  168. package/esm2022/form-controls/checkbox/upd-checkbox.module.mjs +32 -0
  169. package/esm2022/form-controls/checkbox/updevs-components-form-controls-checkbox.mjs +5 -0
  170. package/esm2022/form-controls/date-picker/date-picker.component.mjs +147 -0
  171. package/esm2022/form-controls/date-picker/index.mjs +2 -0
  172. package/esm2022/form-controls/date-picker/public-api.mjs +3 -0
  173. package/esm2022/form-controls/date-picker/upd-date-picker.module.mjs +40 -0
  174. package/esm2022/form-controls/date-picker/updevs-components-form-controls-date-picker.mjs +5 -0
  175. package/esm2022/form-controls/file-upload/assets/i18n/en.json +15 -0
  176. package/esm2022/form-controls/file-upload/assets/i18n/pt.json +15 -0
  177. package/esm2022/form-controls/file-upload/file-upload-changed.event.mjs +2 -0
  178. package/esm2022/form-controls/file-upload/file-upload.component.mjs +169 -0
  179. package/esm2022/form-controls/file-upload/index.mjs +2 -0
  180. package/esm2022/form-controls/file-upload/public-api.mjs +4 -0
  181. package/esm2022/form-controls/file-upload/upd-file-upload.module.mjs +48 -0
  182. package/esm2022/form-controls/file-upload/updevs-components-form-controls-file-upload.mjs +5 -0
  183. package/esm2022/form-controls/input/directives/input-append.directive.mjs +16 -0
  184. package/esm2022/form-controls/input/directives/input-prepend.directive.mjs +16 -0
  185. package/esm2022/form-controls/input/directives/public-api.mjs +3 -0
  186. package/esm2022/form-controls/input/index.mjs +2 -0
  187. package/esm2022/form-controls/input/input.component.mjs +185 -0
  188. package/esm2022/form-controls/input/public-api.mjs +5 -0
  189. package/esm2022/form-controls/input/types/input.type.mjs +2 -0
  190. package/esm2022/form-controls/input/types/loader-position.type.mjs +2 -0
  191. package/esm2022/form-controls/input/types/public-api.mjs +3 -0
  192. package/esm2022/form-controls/input/upd-input.module.mjs +46 -0
  193. package/esm2022/form-controls/input/updevs-components-form-controls-input.mjs +5 -0
  194. package/esm2022/form-controls/radio/index.mjs +2 -0
  195. package/esm2022/form-controls/radio/public-api.mjs +3 -0
  196. package/esm2022/form-controls/radio/radio.component.mjs +51 -0
  197. package/esm2022/form-controls/radio/upd-radio.module.mjs +32 -0
  198. package/esm2022/form-controls/radio/updevs-components-form-controls-radio.mjs +5 -0
  199. package/esm2022/form-controls/select/components/multiple/select-multiple.component.mjs +76 -0
  200. package/esm2022/form-controls/select/components/single/select.component.mjs +72 -0
  201. package/esm2022/form-controls/select/index.mjs +2 -0
  202. package/esm2022/form-controls/select/models/abstractions/base-select.component.mjs +215 -0
  203. package/esm2022/form-controls/select/models/defaults.mjs +8 -0
  204. package/esm2022/form-controls/select/models/public-api.mjs +3 -0
  205. package/esm2022/form-controls/select/models/select-item.mjs +2 -0
  206. package/esm2022/form-controls/select/public-api.mjs +5 -0
  207. package/esm2022/form-controls/select/upd-select.module.mjs +57 -0
  208. package/esm2022/form-controls/select/updevs-components-form-controls-select.mjs +5 -0
  209. package/esm2022/form-controls/textarea/index.mjs +2 -0
  210. package/esm2022/form-controls/textarea/public-api.mjs +3 -0
  211. package/esm2022/form-controls/textarea/textarea.component.mjs +44 -0
  212. package/esm2022/form-controls/textarea/upd-textarea.module.mjs +24 -0
  213. package/esm2022/form-controls/textarea/updevs-components-form-controls-textarea.mjs +5 -0
  214. package/esm2022/form-controls/time-picker/index.mjs +2 -0
  215. package/esm2022/form-controls/time-picker/public-api.mjs +4 -0
  216. package/esm2022/form-controls/time-picker/time-picker.component.mjs +130 -0
  217. package/esm2022/form-controls/time-picker/time-selector/time-selector.component.mjs +124 -0
  218. package/esm2022/form-controls/time-picker/upd-time-picker.module.mjs +61 -0
  219. package/esm2022/form-controls/time-picker/updevs-components-form-controls-time-picker.mjs +5 -0
  220. package/esm2022/index.mjs +2 -0
  221. package/esm2022/layout/abstractions/base-page.component.mjs +23 -0
  222. package/esm2022/layout/abstractions/base.layout.mjs +31 -0
  223. package/esm2022/layout/abstractions/public-api.mjs +2 -0
  224. package/esm2022/layout/assets/i18n/en.json +27 -0
  225. package/esm2022/layout/assets/i18n/pt.json +27 -0
  226. package/esm2022/layout/index.mjs +2 -0
  227. package/esm2022/layout/layouts/blank-layout/blank-layout.component.mjs +22 -0
  228. package/esm2022/layout/layouts/blank-layout/blank-layout.module.mjs +50 -0
  229. package/esm2022/layout/layouts/public-api.mjs +5 -0
  230. package/esm2022/layout/layouts/vertical-sidebar-layout/vertical-sidebar-layout.component.mjs +17 -0
  231. package/esm2022/layout/layouts/vertical-sidebar-layout/vertical-sidebar-layout.module.mjs +78 -0
  232. package/esm2022/layout/models/login-page-config.model.mjs +20 -0
  233. package/esm2022/layout/models/login-page.config.mjs +2 -0
  234. package/esm2022/layout/models/public-api.mjs +3 -0
  235. package/esm2022/layout/models/security-layout-config.model.mjs +10 -0
  236. package/esm2022/layout/models/security-layout.config.mjs +2 -0
  237. package/esm2022/layout/models/upd-layout-config.model.mjs +24 -0
  238. package/esm2022/layout/models/upd-layout.config.mjs +2 -0
  239. package/esm2022/layout/pages/auth-flow/auth-flow-routing.module.mjs +28 -0
  240. package/esm2022/layout/pages/auth-flow/auth-flow.module.mjs +73 -0
  241. package/esm2022/layout/pages/auth-flow/logged-out/logged-out.component.mjs +11 -0
  242. package/esm2022/layout/pages/auth-flow/login/login.component.mjs +110 -0
  243. package/esm2022/layout/pages/auth-flow/oauth-callback/oauth-callback.component.mjs +11 -0
  244. package/esm2022/layout/pages/auth-flow/public-api.mjs +6 -0
  245. package/esm2022/layout/pages/public-api.mjs +2 -0
  246. package/esm2022/layout/partials/footer/footer.component.mjs +52 -0
  247. package/esm2022/layout/partials/footer/footer.module.mjs +28 -0
  248. package/esm2022/layout/partials/footer/public-api.mjs +3 -0
  249. package/esm2022/layout/partials/header/header-style.type.mjs +2 -0
  250. package/esm2022/layout/partials/header/header.component.mjs +130 -0
  251. package/esm2022/layout/partials/header/header.module.mjs +40 -0
  252. package/esm2022/layout/partials/header/public-api.mjs +4 -0
  253. package/esm2022/layout/partials/page-header/page-header.component.mjs +15 -0
  254. package/esm2022/layout/partials/page-header/public-api.mjs +2 -0
  255. package/esm2022/layout/partials/public-api.mjs +5 -0
  256. package/esm2022/layout/partials/sidebar/public-api.mjs +2 -0
  257. package/esm2022/layout/partials/sidebar/sidebar.component.mjs +123 -0
  258. package/esm2022/layout/public-api.mjs +8 -0
  259. package/esm2022/layout/services/public-api.mjs +2 -0
  260. package/esm2022/layout/services/upd-layout-config.service.mjs +21 -0
  261. package/esm2022/layout/tools/layout.constants.mjs +15 -0
  262. package/esm2022/layout/upd-layout.module.mjs +47 -0
  263. package/esm2022/layout/updevs-components-layout.mjs +5 -0
  264. package/esm2022/lib/index.mjs +2 -0
  265. package/esm2022/lib/models/public-api.mjs +2 -0
  266. package/esm2022/lib/models/row-column-size.mjs +2 -0
  267. package/esm2022/lib/public-api.mjs +5 -0
  268. package/esm2022/lib/tools/column-size.helper.mjs +12 -0
  269. package/esm2022/lib/tools/public-api.mjs +2 -0
  270. package/esm2022/lib/types/component-size.type.mjs +2 -0
  271. package/esm2022/lib/types/horizontal-vertical.type.mjs +2 -0
  272. package/esm2022/lib/types/public-api.mjs +4 -0
  273. package/esm2022/lib/types/validation-status.type.mjs +2 -0
  274. package/esm2022/lib/upd-components.module.mjs +14 -0
  275. package/esm2022/link/index.mjs +2 -0
  276. package/esm2022/link/link.component.mjs +51 -0
  277. package/esm2022/link/public-api.mjs +4 -0
  278. package/esm2022/link/target.type.mjs +2 -0
  279. package/esm2022/link/upd-link.module.mjs +24 -0
  280. package/esm2022/link/updevs-components-link.mjs +5 -0
  281. package/esm2022/list/assets/i18n/en.json +9 -0
  282. package/esm2022/list/assets/i18n/pt.json +9 -0
  283. package/esm2022/list/index.mjs +2 -0
  284. package/esm2022/list/list.component.mjs +113 -0
  285. package/esm2022/list/models/badge-position.type.mjs +2 -0
  286. package/esm2022/list/models/list-item.mjs +2 -0
  287. package/esm2022/list/models/list-item.model.mjs +15 -0
  288. package/esm2022/list/models/public-api.mjs +3 -0
  289. package/esm2022/list/public-api.mjs +4 -0
  290. package/esm2022/list/upd-list.module.mjs +44 -0
  291. package/esm2022/list/updevs-components-list.mjs +5 -0
  292. package/esm2022/modal/assets/i18n/en.json +17 -0
  293. package/esm2022/modal/assets/i18n/pt.json +17 -0
  294. package/esm2022/modal/components/modal-container/modal-container.component.mjs +216 -0
  295. package/esm2022/modal/index.mjs +2 -0
  296. package/esm2022/modal/models/base.modal.mjs +14 -0
  297. package/esm2022/modal/models/modal-config.model.mjs +20 -0
  298. package/esm2022/modal/models/modal-ref.mjs +2 -0
  299. package/esm2022/modal/models/modal.config.mjs +2 -0
  300. package/esm2022/modal/models/public-api.mjs +4 -0
  301. package/esm2022/modal/public-api.mjs +4 -0
  302. package/esm2022/modal/services/modal-alert.service.mjs +99 -0
  303. package/esm2022/modal/services/modal.service.mjs +30 -0
  304. package/esm2022/modal/services/public-api.mjs +3 -0
  305. package/esm2022/modal/types/modal-footer-style.type.mjs +2 -0
  306. package/esm2022/modal/types/modal-size.type.mjs +2 -0
  307. package/esm2022/modal/upd-modal.module.mjs +90 -0
  308. package/esm2022/modal/updevs-components-modal.mjs +5 -0
  309. package/esm2022/paginator/assets/i18n/en.json +15 -0
  310. package/esm2022/paginator/assets/i18n/pt.json +15 -0
  311. package/esm2022/paginator/index.mjs +2 -0
  312. package/esm2022/paginator/paginator.component.mjs +66 -0
  313. package/esm2022/paginator/public-api.mjs +3 -0
  314. package/esm2022/paginator/upd-paginator.module.mjs +47 -0
  315. package/esm2022/paginator/updevs-components-paginator.mjs +5 -0
  316. package/esm2022/popover/index.mjs +2 -0
  317. package/esm2022/popover/popover.component.mjs +65 -0
  318. package/esm2022/popover/popover.directive.mjs +129 -0
  319. package/esm2022/popover/public-api.mjs +4 -0
  320. package/esm2022/popover/upd-popover.module.mjs +29 -0
  321. package/esm2022/popover/updevs-components-popover.mjs +5 -0
  322. package/esm2022/public-api.mjs +2 -0
  323. package/esm2022/table/abstractions/base-column.model.mjs +52 -0
  324. package/esm2022/table/abstractions/base.column.mjs +98 -0
  325. package/esm2022/table/abstractions/filters-operands.service.mjs +3 -0
  326. package/esm2022/table/abstractions/public-api.mjs +3 -0
  327. package/esm2022/table/assets/i18n/en.json +74 -0
  328. package/esm2022/table/assets/i18n/pt.json +74 -0
  329. package/esm2022/table/components/columns/boolean-column/boolean-column.component.mjs +26 -0
  330. package/esm2022/table/components/columns/date-time-column/date-time-column.component.mjs +13 -0
  331. package/esm2022/table/components/columns/number-column/number-column.component.mjs +13 -0
  332. package/esm2022/table/components/columns/text-column/text-column.component.mjs +31 -0
  333. package/esm2022/table/components/columns-manager/columns-manager.component.mjs +36 -0
  334. package/esm2022/table/components/filter-row/filter-row.component.mjs +114 -0
  335. package/esm2022/table/components/save-search/save-search.component.mjs +72 -0
  336. package/esm2022/table/components/search-section/search-section.component.mjs +93 -0
  337. package/esm2022/table/directives/public-api.mjs +2 -0
  338. package/esm2022/table/directives/table-column.directive.mjs +52 -0
  339. package/esm2022/table/index.mjs +2 -0
  340. package/esm2022/table/models/columns/boolean-column.model.mjs +22 -0
  341. package/esm2022/table/models/columns/date-time-column.model.mjs +16 -0
  342. package/esm2022/table/models/columns/guid-column.model.mjs +13 -0
  343. package/esm2022/table/models/columns/image-column.model.mjs +11 -0
  344. package/esm2022/table/models/columns/number-column.model.mjs +17 -0
  345. package/esm2022/table/models/columns/public-api.mjs +7 -0
  346. package/esm2022/table/models/columns/text-column.model.mjs +11 -0
  347. package/esm2022/table/models/enums/column-type.enum.mjs +15 -0
  348. package/esm2022/table/models/enums/public-api.mjs +2 -0
  349. package/esm2022/table/models/filter-item.model.mjs +2 -0
  350. package/esm2022/table/models/filter-operand.config.mjs +2 -0
  351. package/esm2022/table/models/operands-lists/boolean-filter-operands-list.model.mjs +25 -0
  352. package/esm2022/table/models/operands-lists/date-filter-operands-list.model.mjs +25 -0
  353. package/esm2022/table/models/operands-lists/date-or-number-operands-list.config.mjs +31 -0
  354. package/esm2022/table/models/operands-lists/filter-operands-list.config.mjs +31 -0
  355. package/esm2022/table/models/operands-lists/guid-filter-operands-list.model.mjs +16 -0
  356. package/esm2022/table/models/operands-lists/number-filter-operands-list.model.mjs +25 -0
  357. package/esm2022/table/models/operands-lists/string-filter-operands-list.model.mjs +45 -0
  358. package/esm2022/table/models/public-api.mjs +5 -0
  359. package/esm2022/table/models/saved-view.model.mjs +2 -0
  360. package/esm2022/table/models/table-config.model.mjs +29 -0
  361. package/esm2022/table/models/table.config.mjs +2 -0
  362. package/esm2022/table/models/upd-table-config.model.mjs +9 -0
  363. package/esm2022/table/models/upd-table.config.mjs +2 -0
  364. package/esm2022/table/public-api.mjs +6 -0
  365. package/esm2022/table/services/default-filters-operands.service.mjs +60 -0
  366. package/esm2022/table/services/storages/saved-views.storage.mjs +56 -0
  367. package/esm2022/table/services/stores/filters-operands.store.mjs +19 -0
  368. package/esm2022/table/services/upd-table-config.service.mjs +18 -0
  369. package/esm2022/table/table.component.mjs +442 -0
  370. package/esm2022/table/tools/filters.tools.mjs +48 -0
  371. package/esm2022/table/tools/table.constants.mjs +15 -0
  372. package/esm2022/table/upd-table.module.mjs +150 -0
  373. package/esm2022/table/updevs-components-table.mjs +5 -0
  374. package/esm2022/updevs-components.mjs +5 -0
  375. package/fesm2022/updevs-components-badge.mjs +91 -0
  376. package/fesm2022/updevs-components-badge.mjs.map +1 -0
  377. package/fesm2022/updevs-components-button.mjs +193 -0
  378. package/fesm2022/updevs-components-button.mjs.map +1 -0
  379. package/fesm2022/updevs-components-calendar.mjs +1712 -0
  380. package/fesm2022/updevs-components-calendar.mjs.map +1 -0
  381. package/fesm2022/updevs-components-card.mjs +238 -0
  382. package/fesm2022/updevs-components-card.mjs.map +1 -0
  383. package/fesm2022/updevs-components-drag-and-drop.mjs +185 -0
  384. package/fesm2022/updevs-components-drag-and-drop.mjs.map +1 -0
  385. package/fesm2022/updevs-components-dropdown.mjs +226 -0
  386. package/fesm2022/updevs-components-dropdown.mjs.map +1 -0
  387. package/fesm2022/updevs-components-form-controls-abstractions.mjs +53 -0
  388. package/fesm2022/updevs-components-form-controls-abstractions.mjs.map +1 -0
  389. package/fesm2022/updevs-components-form-controls-checkbox.mjs +87 -0
  390. package/fesm2022/updevs-components-form-controls-checkbox.mjs.map +1 -0
  391. package/fesm2022/updevs-components-form-controls-date-picker.mjs +190 -0
  392. package/fesm2022/updevs-components-form-controls-date-picker.mjs.map +1 -0
  393. package/fesm2022/updevs-components-form-controls-file-upload.mjs +264 -0
  394. package/fesm2022/updevs-components-form-controls-file-upload.mjs.map +1 -0
  395. package/fesm2022/updevs-components-form-controls-input.mjs +259 -0
  396. package/fesm2022/updevs-components-form-controls-input.mjs.map +1 -0
  397. package/fesm2022/updevs-components-form-controls-radio.mjs +87 -0
  398. package/fesm2022/updevs-components-form-controls-radio.mjs.map +1 -0
  399. package/fesm2022/updevs-components-form-controls-select.mjs +417 -0
  400. package/fesm2022/updevs-components-form-controls-select.mjs.map +1 -0
  401. package/fesm2022/updevs-components-form-controls-textarea.mjs +72 -0
  402. package/fesm2022/updevs-components-form-controls-textarea.mjs.map +1 -0
  403. package/fesm2022/updevs-components-form-controls-time-picker.mjs +345 -0
  404. package/fesm2022/updevs-components-form-controls-time-picker.mjs.map +1 -0
  405. package/fesm2022/updevs-components-form.mjs +436 -0
  406. package/fesm2022/updevs-components-form.mjs.map +1 -0
  407. package/fesm2022/updevs-components-layout.mjs +933 -0
  408. package/fesm2022/updevs-components-layout.mjs.map +1 -0
  409. package/fesm2022/updevs-components-link.mjs +79 -0
  410. package/fesm2022/updevs-components-link.mjs.map +1 -0
  411. package/fesm2022/updevs-components-list.mjs +206 -0
  412. package/fesm2022/updevs-components-list.mjs.map +1 -0
  413. package/fesm2022/updevs-components-modal.mjs +504 -0
  414. package/fesm2022/updevs-components-modal.mjs.map +1 -0
  415. package/fesm2022/updevs-components-paginator.mjs +160 -0
  416. package/fesm2022/updevs-components-paginator.mjs.map +1 -0
  417. package/fesm2022/updevs-components-popover.mjs +223 -0
  418. package/fesm2022/updevs-components-popover.mjs.map +1 -0
  419. package/fesm2022/updevs-components-table.mjs +1771 -0
  420. package/fesm2022/updevs-components-table.mjs.map +1 -0
  421. package/fesm2022/updevs-components.mjs +33 -0
  422. package/fesm2022/updevs-components.mjs.map +1 -0
  423. package/form/components/dynamic-field/dynamic-field.component.d.ts +55 -0
  424. package/form/form.component.d.ts +60 -0
  425. package/form/models/checkbox-field.model.d.ts +4 -0
  426. package/form/models/checkbox-group-field.model.d.ts +6 -0
  427. package/form/models/dynamic-field.model.d.ts +28 -0
  428. package/form/models/enums/dynamic-field.type.d.ts +12 -0
  429. package/form/models/enums/public-api.d.ts +1 -0
  430. package/form/models/file-upload-field.model.d.ts +16 -0
  431. package/form/models/form-config.d.ts +2 -0
  432. package/form/models/form-row.model.d.ts +10 -0
  433. package/form/models/input-field.model.d.ts +9 -0
  434. package/form/models/public-api.d.ts +14 -0
  435. package/form/models/radio-field.model.d.ts +4 -0
  436. package/form/models/radio-group-field.model.d.ts +6 -0
  437. package/form/models/select-field.model.d.ts +28 -0
  438. package/form/models/single-select-field.model.d.ts +4 -0
  439. package/form/models/textarea-field.model.d.ts +10 -0
  440. package/form/models/validator-config.d.ts +5 -0
  441. package/form/public-api.d.ts +3 -0
  442. package/form/tools/errors-helper.d.ts +11 -0
  443. package/form/upd-form.module.d.ts +22 -0
  444. package/form-controls/abstractions/base-control.d.ts +29 -0
  445. package/form-controls/abstractions/index.d.ts +2 -0
  446. package/form-controls/abstractions/public-api.d.ts +2 -0
  447. package/form-controls/checkbox/checkbox.component.d.ts +19 -0
  448. package/form-controls/checkbox/{src/public-api.ts → public-api.d.ts} +0 -1
  449. package/form-controls/checkbox/upd-checkbox.module.d.ts +10 -0
  450. package/form-controls/date-picker/date-picker.component.d.ts +87 -0
  451. package/form-controls/date-picker/public-api.d.ts +2 -0
  452. package/form-controls/date-picker/upd-date-picker.module.d.ts +12 -0
  453. package/form-controls/file-upload/file-upload-changed.event.d.ts +4 -0
  454. package/form-controls/file-upload/file-upload.component.d.ts +46 -0
  455. package/form-controls/file-upload/public-api.d.ts +3 -0
  456. package/form-controls/file-upload/upd-file-upload.module.d.ts +14 -0
  457. package/form-controls/input/directives/input-append.directive.d.ts +7 -0
  458. package/form-controls/input/directives/input-prepend.directive.d.ts +7 -0
  459. package/form-controls/input/input.component.d.ts +64 -0
  460. package/form-controls/input/upd-input.module.d.ts +13 -0
  461. package/form-controls/radio/radio.component.d.ts +17 -0
  462. package/form-controls/radio/upd-radio.module.d.ts +10 -0
  463. package/form-controls/select/components/multiple/select-multiple.component.d.ts +25 -0
  464. package/form-controls/select/components/single/select.component.d.ts +26 -0
  465. package/form-controls/select/models/abstractions/base-select.component.d.ts +77 -0
  466. package/form-controls/select/models/defaults.d.ts +8 -0
  467. package/form-controls/select/{src/models/public-api.ts → models/public-api.d.ts} +1 -0
  468. package/form-controls/select/{src/models/select-item.ts → models/select-item.d.ts} +0 -1
  469. package/form-controls/select/upd-select.module.d.ts +16 -0
  470. package/form-controls/textarea/textarea.component.d.ts +19 -0
  471. package/form-controls/textarea/upd-textarea.module.d.ts +8 -0
  472. package/form-controls/time-picker/time-picker.component.d.ts +78 -0
  473. package/form-controls/time-picker/time-selector/time-selector.component.d.ts +69 -0
  474. package/form-controls/time-picker/upd-time-picker.module.d.ts +17 -0
  475. package/index.d.ts +2 -0
  476. package/layout/abstractions/base-page.component.d.ts +12 -0
  477. package/layout/abstractions/base.layout.d.ts +15 -0
  478. package/layout/index.d.ts +1 -0
  479. package/layout/layouts/blank-layout/blank-layout.component.d.ts +9 -0
  480. package/layout/layouts/blank-layout/blank-layout.module.d.ts +15 -0
  481. package/layout/layouts/vertical-sidebar-layout/vertical-sidebar-layout.component.d.ts +6 -0
  482. package/layout/layouts/vertical-sidebar-layout/vertical-sidebar-layout.module.d.ts +21 -0
  483. package/layout/models/login-page-config.model.d.ts +46 -0
  484. package/layout/models/login-page.config.d.ts +44 -0
  485. package/layout/{src/models/public-api.ts → models/public-api.d.ts} +1 -0
  486. package/layout/models/security-layout-config.model.d.ts +12 -0
  487. package/layout/models/security-layout.config.d.ts +10 -0
  488. package/layout/models/upd-layout-config.model.d.ts +48 -0
  489. package/layout/{src/models/upd-layout.config.ts → models/upd-layout.config.d.ts} +9 -0
  490. package/layout/pages/auth-flow/auth-flow-routing.module.d.ts +12 -0
  491. package/layout/pages/auth-flow/auth-flow.module.d.ts +20 -0
  492. package/layout/pages/auth-flow/logged-out/logged-out.component.d.ts +5 -0
  493. package/layout/pages/auth-flow/login/login.component.d.ts +26 -0
  494. package/layout/pages/auth-flow/oauth-callback/oauth-callback.component.d.ts +5 -0
  495. package/layout/partials/footer/footer.component.d.ts +34 -0
  496. package/layout/partials/footer/footer.module.d.ts +9 -0
  497. package/layout/partials/footer/public-api.d.ts +2 -0
  498. package/layout/partials/header/header.component.d.ts +48 -0
  499. package/layout/partials/header/header.module.d.ts +12 -0
  500. package/layout/{src/partials/header/public-api.ts → partials/header/public-api.d.ts} +1 -0
  501. package/layout/partials/page-header/page-header.component.d.ts +7 -0
  502. package/layout/partials/sidebar/sidebar.component.d.ts +25 -0
  503. package/layout/services/upd-layout-config.service.d.ts +15 -0
  504. package/layout/{src/tools/layout.constants.ts → tools/layout.constants.d.ts} +3 -6
  505. package/layout/upd-layout.module.d.ts +19 -0
  506. package/lib/index.d.ts +2 -0
  507. package/lib/models/public-api.d.ts +2 -0
  508. package/lib/models/row-column-size.d.ts +6 -0
  509. package/lib/public-api.d.ts +5 -0
  510. package/lib/tools/column-size.helper.d.ts +6 -0
  511. package/lib/tools/public-api.d.ts +2 -0
  512. package/{src/lib/types/component-size.type.ts → lib/types/component-size.type.d.ts} +1 -0
  513. package/lib/types/horizontal-vertical.type.d.ts +2 -0
  514. package/lib/types/public-api.d.ts +4 -0
  515. package/lib/types/validation-status.type.d.ts +2 -0
  516. package/lib/upd-components.module.d.ts +7 -0
  517. package/link/index.d.ts +1 -0
  518. package/link/link.component.d.ts +22 -0
  519. package/link/upd-link.module.d.ts +8 -0
  520. package/list/index.d.ts +1 -0
  521. package/list/list.component.d.ts +46 -0
  522. package/list/{src/models/list-item.ts → models/list-item.d.ts} +3 -4
  523. package/list/models/list-item.model.d.ts +25 -0
  524. package/list/upd-list.module.d.ts +13 -0
  525. package/modal/components/modal-container/modal-container.component.d.ts +74 -0
  526. package/modal/index.d.ts +1 -0
  527. package/modal/models/base.modal.d.ts +8 -0
  528. package/modal/models/modal-config.model.d.ts +32 -0
  529. package/modal/models/modal-ref.d.ts +6 -0
  530. package/modal/models/modal.config.d.ts +30 -0
  531. package/modal/models/public-api.d.ts +3 -0
  532. package/modal/public-api.d.ts +3 -0
  533. package/modal/services/modal-alert.service.d.ts +22 -0
  534. package/modal/services/modal.service.d.ts +12 -0
  535. package/modal/services/public-api.d.ts +2 -0
  536. package/modal/types/modal-footer-style.type.d.ts +1 -0
  537. package/modal/types/modal-size.type.d.ts +1 -0
  538. package/modal/upd-modal.module.d.ts +18 -0
  539. package/package.json +169 -21
  540. package/paginator/index.d.ts +1 -0
  541. package/paginator/paginator.component.d.ts +42 -0
  542. package/paginator/public-api.d.ts +2 -0
  543. package/paginator/upd-paginator.module.d.ts +14 -0
  544. package/popover/index.d.ts +1 -0
  545. package/popover/popover.component.d.ts +22 -0
  546. package/popover/popover.directive.d.ts +33 -0
  547. package/popover/upd-popover.module.d.ts +9 -0
  548. package/public-api.d.ts +2 -0
  549. package/table/abstractions/base-column.model.d.ts +31 -0
  550. package/table/abstractions/base.column.d.ts +22 -0
  551. package/table/abstractions/filters-operands.service.d.ts +8 -0
  552. package/table/abstractions/public-api.d.ts +2 -0
  553. package/table/components/columns/boolean-column/boolean-column.component.d.ts +9 -0
  554. package/table/components/columns/date-time-column/date-time-column.component.d.ts +7 -0
  555. package/table/components/columns/number-column/number-column.component.d.ts +7 -0
  556. package/table/components/columns/text-column/text-column.component.d.ts +9 -0
  557. package/table/components/columns-manager/columns-manager.component.d.ts +15 -0
  558. package/table/components/filter-row/filter-row.component.d.ts +40 -0
  559. package/table/components/save-search/save-search.component.d.ts +17 -0
  560. package/table/components/search-section/search-section.component.d.ts +36 -0
  561. package/table/directives/public-api.d.ts +1 -0
  562. package/table/directives/table-column.directive.d.ts +14 -0
  563. package/table/index.d.ts +1 -0
  564. package/table/models/columns/boolean-column.model.d.ts +15 -0
  565. package/table/models/columns/date-time-column.model.d.ts +8 -0
  566. package/table/models/columns/guid-column.model.d.ts +4 -0
  567. package/table/models/columns/image-column.model.d.ts +6 -0
  568. package/table/models/columns/number-column.model.d.ts +8 -0
  569. package/table/models/columns/public-api.d.ts +6 -0
  570. package/table/models/columns/text-column.model.d.ts +6 -0
  571. package/table/models/enums/column-type.enum.d.ts +13 -0
  572. package/table/models/enums/public-api.d.ts +1 -0
  573. package/table/models/filter-item.model.d.ts +6 -0
  574. package/table/models/filter-operand.config.d.ts +9 -0
  575. package/table/models/operands-lists/boolean-filter-operands-list.model.d.ts +6 -0
  576. package/table/models/operands-lists/date-filter-operands-list.model.d.ts +6 -0
  577. package/table/models/operands-lists/date-or-number-operands-list.config.d.ts +5 -0
  578. package/table/models/operands-lists/filter-operands-list.config.d.ts +5 -0
  579. package/table/models/operands-lists/guid-filter-operands-list.model.d.ts +6 -0
  580. package/table/models/operands-lists/number-filter-operands-list.model.d.ts +6 -0
  581. package/table/models/operands-lists/string-filter-operands-list.model.d.ts +6 -0
  582. package/table/models/public-api.d.ts +4 -0
  583. package/table/models/saved-view.model.d.ts +11 -0
  584. package/table/models/table-config.model.d.ts +33 -0
  585. package/table/models/table.config.d.ts +31 -0
  586. package/table/models/upd-table-config.model.d.ts +6 -0
  587. package/table/models/upd-table.config.d.ts +6 -0
  588. package/table/public-api.d.ts +5 -0
  589. package/table/services/default-filters-operands.service.d.ts +17 -0
  590. package/table/services/storages/saved-views.storage.d.ts +19 -0
  591. package/table/services/stores/filters-operands.store.d.ts +11 -0
  592. package/table/services/upd-table-config.service.d.ts +12 -0
  593. package/table/table.component.d.ts +81 -0
  594. package/table/tools/filters.tools.d.ts +9 -0
  595. package/table/tools/table.constants.d.ts +15 -0
  596. package/table/upd-table.module.d.ts +40 -0
  597. package/CHANGELOG.md +0 -8
  598. package/button/index.ts +0 -1
  599. package/button/ng-package.json +0 -7
  600. package/button/src/button.component.html +0 -8
  601. package/button/src/button.component.scss +0 -5
  602. package/button/src/button.component.spec.ts +0 -23
  603. package/button/src/button.component.ts +0 -154
  604. package/button/src/upd-button.module.ts +0 -17
  605. package/card/index.ts +0 -1
  606. package/card/ng-package.json +0 -7
  607. package/card/src/card.component.html +0 -105
  608. package/card/src/card.component.scss +0 -47
  609. package/card/src/card.component.spec.ts +0 -23
  610. package/card/src/card.component.ts +0 -112
  611. package/card/src/directives/card-actions.directive.spec.ts +0 -8
  612. package/card/src/directives/card-actions.directive.ts +0 -11
  613. package/card/src/directives/card-footer.directive.spec.ts +0 -8
  614. package/card/src/directives/card-footer.directive.ts +0 -11
  615. package/card/src/directives/card-header.directive.spec.ts +0 -8
  616. package/card/src/directives/card-header.directive.ts +0 -11
  617. package/card/src/directives/card-image.directive.spec.ts +0 -8
  618. package/card/src/directives/card-image.directive.ts +0 -11
  619. package/card/src/types/public-api.ts +0 -5
  620. package/card/src/upd-card.module.ts +0 -32
  621. package/dropdown/index.ts +0 -1
  622. package/dropdown/ng-package.json +0 -7
  623. package/dropdown/src/dropdown.component.html +0 -32
  624. package/dropdown/src/dropdown.component.scss +0 -19
  625. package/dropdown/src/dropdown.component.spec.ts +0 -23
  626. package/dropdown/src/dropdown.component.ts +0 -182
  627. package/dropdown/src/models/public-api.ts +0 -2
  628. package/dropdown/src/upd-dropdown.module.ts +0 -25
  629. package/form/index.ts +0 -1
  630. package/form/ng-package.json +0 -7
  631. package/form/src/form.module.ts +0 -10
  632. package/form/src/public-api.ts +0 -1
  633. package/form-controls/checkbox/index.ts +0 -1
  634. package/form-controls/checkbox/ng-package.json +0 -7
  635. package/form-controls/checkbox/src/checkbox.component.html +0 -7
  636. package/form-controls/checkbox/src/checkbox.component.scss +0 -0
  637. package/form-controls/checkbox/src/checkbox.component.spec.ts +0 -23
  638. package/form-controls/checkbox/src/checkbox.component.ts +0 -48
  639. package/form-controls/checkbox/src/upd-checkbox.module.ts +0 -19
  640. package/form-controls/input/index.ts +0 -1
  641. package/form-controls/input/ng-package.json +0 -7
  642. package/form-controls/input/src/directives/input-append.directive.spec.ts +0 -8
  643. package/form-controls/input/src/directives/input-append.directive.ts +0 -11
  644. package/form-controls/input/src/directives/input-prepend.directive.spec.ts +0 -8
  645. package/form-controls/input/src/directives/input-prepend.directive.ts +0 -11
  646. package/form-controls/input/src/input.component.html +0 -82
  647. package/form-controls/input/src/input.component.scss +0 -13
  648. package/form-controls/input/src/input.component.spec.ts +0 -23
  649. package/form-controls/input/src/input.component.ts +0 -124
  650. package/form-controls/input/src/upd-input.module.ts +0 -29
  651. package/form-controls/radio/index.ts +0 -1
  652. package/form-controls/radio/ng-package.json +0 -7
  653. package/form-controls/radio/src/radio.component.html +0 -7
  654. package/form-controls/radio/src/radio.component.scss +0 -0
  655. package/form-controls/radio/src/radio.component.spec.ts +0 -23
  656. package/form-controls/radio/src/radio.component.ts +0 -47
  657. package/form-controls/radio/src/upd-radio.module.ts +0 -17
  658. package/form-controls/select/index.ts +0 -1
  659. package/form-controls/select/ng-package.json +0 -7
  660. package/form-controls/select/src/components/multiple/select-multiple.component.html +0 -41
  661. package/form-controls/select/src/components/multiple/select-multiple.component.scss +0 -6
  662. package/form-controls/select/src/components/multiple/select-multiple.component.spec.ts +0 -21
  663. package/form-controls/select/src/components/multiple/select-multiple.component.ts +0 -69
  664. package/form-controls/select/src/components/shared.scss +0 -40
  665. package/form-controls/select/src/components/single/select.component.html +0 -53
  666. package/form-controls/select/src/components/single/select.component.scss +0 -3
  667. package/form-controls/select/src/components/single/select.component.spec.ts +0 -23
  668. package/form-controls/select/src/components/single/select.component.ts +0 -58
  669. package/form-controls/select/src/models/abstractions/base-select.component.ts +0 -259
  670. package/form-controls/select/src/upd-select.module.ts +0 -32
  671. package/form-controls/textarea/index.ts +0 -1
  672. package/form-controls/textarea/ng-package.json +0 -7
  673. package/form-controls/textarea/src/textarea.component.html +0 -8
  674. package/form-controls/textarea/src/textarea.component.scss +0 -0
  675. package/form-controls/textarea/src/textarea.component.spec.ts +0 -23
  676. package/form-controls/textarea/src/textarea.component.ts +0 -47
  677. package/form-controls/textarea/src/upd-textarea.module.ts +0 -17
  678. package/form-controls/time-picker/index.ts +0 -1
  679. package/form-controls/time-picker/ng-package.json +0 -7
  680. package/form-controls/time-picker/src/time-picker.component.html +0 -17
  681. package/form-controls/time-picker/src/time-picker.component.scss +0 -10
  682. package/form-controls/time-picker/src/time-picker.component.spec.ts +0 -21
  683. package/form-controls/time-picker/src/time-picker.component.ts +0 -110
  684. package/form-controls/time-picker/src/time-selector/time-selector.component.html +0 -44
  685. package/form-controls/time-picker/src/time-selector/time-selector.component.scss +0 -47
  686. package/form-controls/time-picker/src/time-selector/time-selector.component.spec.ts +0 -21
  687. package/form-controls/time-picker/src/time-selector/time-selector.component.ts +0 -107
  688. package/form-controls/time-picker/src/upd-time-picker.module.ts +0 -39
  689. package/index.ts +0 -1
  690. package/layout/index.ts +0 -1
  691. package/layout/ng-package.json +0 -7
  692. package/layout/src/abstractions/base-page.component.ts +0 -21
  693. package/layout/src/assets/i18n/en.json +0 -5
  694. package/layout/src/assets/i18n/pt.json +0 -5
  695. package/layout/src/layouts/blank-layout/blank-layout.component.html +0 -1
  696. package/layout/src/layouts/blank-layout/blank-layout.component.scss +0 -0
  697. package/layout/src/layouts/blank-layout/blank-layout.component.spec.ts +0 -23
  698. package/layout/src/layouts/blank-layout/blank-layout.component.ts +0 -10
  699. package/layout/src/layouts/blank-layout/blank-layout.module.ts +0 -17
  700. package/layout/src/layouts/vertical-sidebar-layout/vertical-sidebar-layout.component.html +0 -14
  701. package/layout/src/layouts/vertical-sidebar-layout/vertical-sidebar-layout.component.scss +0 -0
  702. package/layout/src/layouts/vertical-sidebar-layout/vertical-sidebar-layout.component.spec.ts +0 -23
  703. package/layout/src/layouts/vertical-sidebar-layout/vertical-sidebar-layout.component.ts +0 -31
  704. package/layout/src/layouts/vertical-sidebar-layout/vertical-sidebar-layout.module.ts +0 -52
  705. package/layout/src/models/upd-layout-config.model.ts +0 -71
  706. package/layout/src/pages/auth-flow/auth-flow-routing.module.ts +0 -21
  707. package/layout/src/pages/auth-flow/auth-flow.module.ts +0 -29
  708. package/layout/src/pages/auth-flow/logged-out/logged-out.component.html +0 -1
  709. package/layout/src/pages/auth-flow/logged-out/logged-out.component.scss +0 -0
  710. package/layout/src/pages/auth-flow/logged-out/logged-out.component.spec.ts +0 -23
  711. package/layout/src/pages/auth-flow/logged-out/logged-out.component.ts +0 -10
  712. package/layout/src/pages/auth-flow/login/login.component.html +0 -96
  713. package/layout/src/pages/auth-flow/login/login.component.scss +0 -0
  714. package/layout/src/pages/auth-flow/login/login.component.spec.ts +0 -23
  715. package/layout/src/pages/auth-flow/login/login.component.ts +0 -26
  716. package/layout/src/pages/auth-flow/oauth-callback/oauth-callback.component.html +0 -1
  717. package/layout/src/pages/auth-flow/oauth-callback/oauth-callback.component.scss +0 -0
  718. package/layout/src/pages/auth-flow/oauth-callback/oauth-callback.component.spec.ts +0 -23
  719. package/layout/src/pages/auth-flow/oauth-callback/oauth-callback.component.ts +0 -10
  720. package/layout/src/partials/footer/footer-copyright.directive.spec.ts +0 -8
  721. package/layout/src/partials/footer/footer-copyright.directive.ts +0 -9
  722. package/layout/src/partials/footer/footer.component.html +0 -30
  723. package/layout/src/partials/footer/footer.component.scss +0 -0
  724. package/layout/src/partials/footer/footer.component.spec.ts +0 -23
  725. package/layout/src/partials/footer/footer.component.ts +0 -73
  726. package/layout/src/partials/footer/public-api.ts +0 -2
  727. package/layout/src/partials/header/header.component.html +0 -163
  728. package/layout/src/partials/header/header.component.scss +0 -0
  729. package/layout/src/partials/header/header.component.spec.ts +0 -23
  730. package/layout/src/partials/header/header.component.ts +0 -86
  731. package/layout/src/partials/page-header/page-header.component.html +0 -19
  732. package/layout/src/partials/page-header/page-header.component.scss +0 -0
  733. package/layout/src/partials/page-header/page-header.component.spec.ts +0 -23
  734. package/layout/src/partials/page-header/page-header.component.ts +0 -11
  735. package/layout/src/partials/sidebar/sidebar.component.html +0 -62
  736. package/layout/src/partials/sidebar/sidebar.component.scss +0 -0
  737. package/layout/src/partials/sidebar/sidebar.component.spec.ts +0 -23
  738. package/layout/src/partials/sidebar/sidebar.component.ts +0 -161
  739. package/layout/src/services/upd-layout-config.service.spec.ts +0 -16
  740. package/layout/src/services/upd-layout-config.service.ts +0 -20
  741. package/layout/src/upd-layout.module.ts +0 -34
  742. package/link/index.ts +0 -1
  743. package/link/ng-package.json +0 -7
  744. package/link/src/link.component.html +0 -3
  745. package/link/src/link.component.scss +0 -3
  746. package/link/src/link.component.spec.ts +0 -23
  747. package/link/src/link.component.ts +0 -48
  748. package/link/src/upd-link.module.ts +0 -17
  749. package/list/index.ts +0 -1
  750. package/list/ng-package.json +0 -7
  751. package/list/src/assets/i18n/en.json +0 -5
  752. package/list/src/assets/i18n/pt.json +0 -5
  753. package/list/src/list.component.html +0 -58
  754. package/list/src/list.component.scss +0 -21
  755. package/list/src/list.component.spec.ts +0 -23
  756. package/list/src/list.component.ts +0 -147
  757. package/list/src/models/list-item.model.ts +0 -35
  758. package/list/src/upd-list.module.ts +0 -30
  759. package/ng-package.json +0 -10
  760. package/popover/index.ts +0 -1
  761. package/popover/ng-package.json +0 -7
  762. package/popover/src/popover.component.html +0 -20
  763. package/popover/src/popover.component.scss +0 -8
  764. package/popover/src/popover.component.spec.ts +0 -23
  765. package/popover/src/popover.component.ts +0 -53
  766. package/popover/src/popover.directive.spec.ts +0 -8
  767. package/popover/src/popover.directive.ts +0 -128
  768. package/popover/src/upd-popover.module.ts +0 -20
  769. package/src/lib/public-api.ts +0 -2
  770. package/src/lib/types/public-api.ts +0 -2
  771. package/src/lib/types/validation-status.type.ts +0 -1
  772. package/src/lib/upd-components.module.ts +0 -6
  773. package/src/public-api.ts +0 -1
  774. package/tsconfig.lib.json +0 -14
  775. package/tsconfig.lib.prod.json +0 -10
  776. package/tsconfig.spec.json +0 -14
  777. /package/{button/src/index.ts → badge/index.d.ts} +0 -0
  778. /package/{card/src/index.ts → button/index.d.ts} +0 -0
  779. /package/button/{src/public-api.ts → public-api.d.ts} +0 -0
  780. /package/{dropdown/src/index.ts → calendar/index.d.ts} +0 -0
  781. /package/card/{src/directives/public-api.ts → directives/public-api.d.ts} +0 -0
  782. /package/{form-controls/checkbox/src/index.ts → card/index.d.ts} +0 -0
  783. /package/card/{src/public-api.ts → public-api.d.ts} +0 -0
  784. /package/card/{src/types/card-state.type.ts → types/card-state.type.d.ts} +0 -0
  785. /package/card/{src/types/card-style.type.ts → types/card-style.type.d.ts} +0 -0
  786. /package/card/{src/types/hover-effect.type.ts → types/hover-effect.type.d.ts} +0 -0
  787. /package/card/{src/types/ribbon-style.type.ts → types/ribbon-style.type.d.ts} +0 -0
  788. /package/card/{src/types/status-position.type.ts → types/status-position.type.d.ts} +0 -0
  789. /package/{form-controls/input/src/index.ts → drag-and-drop/index.d.ts} +0 -0
  790. /package/{form-controls/radio/src/index.ts → dropdown/index.d.ts} +0 -0
  791. /package/dropdown/{src/public-api.ts → public-api.d.ts} +0 -0
  792. /package/{form-controls/time-picker/src → esm2022/form-controls/time-picker}/assets/i18n/en.json +0 -0
  793. /package/{form-controls/time-picker/src → esm2022/form-controls/time-picker}/assets/i18n/pt.json +0 -0
  794. /package/{src/lib/index.ts → form/index.d.ts} +0 -0
  795. /package/form-controls/{select/src/index.ts → checkbox/index.d.ts} +0 -0
  796. /package/form-controls/{textarea/src/index.ts → date-picker/index.d.ts} +0 -0
  797. /package/form-controls/{time-picker/src/index.ts → file-upload/index.d.ts} +0 -0
  798. /package/form-controls/input/{src/directives/public-api.ts → directives/public-api.d.ts} +0 -0
  799. /package/{form/src/index.ts → form-controls/input/index.d.ts} +0 -0
  800. /package/form-controls/input/{src/public-api.ts → public-api.d.ts} +0 -0
  801. /package/form-controls/input/{src/types/input.type.ts → types/input.type.d.ts} +0 -0
  802. /package/form-controls/input/{src/types/loader-position.type.ts → types/loader-position.type.d.ts} +0 -0
  803. /package/form-controls/input/{src/types/public-api.ts → types/public-api.d.ts} +0 -0
  804. /package/{layout/src/index.ts → form-controls/radio/index.d.ts} +0 -0
  805. /package/form-controls/radio/{src/public-api.ts → public-api.d.ts} +0 -0
  806. /package/{link/src/index.ts → form-controls/select/index.d.ts} +0 -0
  807. /package/form-controls/select/{src/public-api.ts → public-api.d.ts} +0 -0
  808. /package/{list/src/index.ts → form-controls/textarea/index.d.ts} +0 -0
  809. /package/form-controls/textarea/{src/public-api.ts → public-api.d.ts} +0 -0
  810. /package/{popover/src/index.ts → form-controls/time-picker/index.d.ts} +0 -0
  811. /package/form-controls/time-picker/{src/public-api.ts → public-api.d.ts} +0 -0
  812. /package/layout/{src/abstractions/public-api.ts → abstractions/public-api.d.ts} +0 -0
  813. /package/layout/{src/layouts/public-api.ts → layouts/public-api.d.ts} +0 -0
  814. /package/layout/{src/pages/auth-flow/public-api.ts → pages/auth-flow/public-api.d.ts} +0 -0
  815. /package/layout/{src/pages/public-api.ts → pages/public-api.d.ts} +0 -0
  816. /package/layout/{src/partials/header/header-style.type.ts → partials/header/header-style.type.d.ts} +0 -0
  817. /package/layout/{src/partials/page-header/public-api.ts → partials/page-header/public-api.d.ts} +0 -0
  818. /package/layout/{src/partials/public-api.ts → partials/public-api.d.ts} +0 -0
  819. /package/layout/{src/partials/sidebar/public-api.ts → partials/sidebar/public-api.d.ts} +0 -0
  820. /package/layout/{src/public-api.ts → public-api.d.ts} +0 -0
  821. /package/layout/{src/services/public-api.ts → services/public-api.d.ts} +0 -0
  822. /package/link/{src/public-api.ts → public-api.d.ts} +0 -0
  823. /package/link/{src/target.type.ts → target.type.d.ts} +0 -0
  824. /package/list/{src/models/badge-position.type.ts → models/badge-position.type.d.ts} +0 -0
  825. /package/list/{src/models/public-api.ts → models/public-api.d.ts} +0 -0
  826. /package/list/{src/public-api.ts → public-api.d.ts} +0 -0
  827. /package/popover/{src/public-api.ts → public-api.d.ts} +0 -0
@@ -0,0 +1,26 @@
1
+ import { Component } from '@angular/core';
2
+ import { BaseColumn } from '../../../abstractions/base.column';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ import * as i2 from "@updevs/icons";
6
+ export class BooleanColumnComponent extends BaseColumn {
7
+ getClasses() {
8
+ return [
9
+ ...super.getClasses(),
10
+ this.colorClass
11
+ ];
12
+ }
13
+ get colorClass() {
14
+ if (!this.config.shouldColorHighlight) {
15
+ return '';
16
+ }
17
+ return `text-${(!!this.value ? this.config.trueColor : this.config.falseColor)}`;
18
+ }
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BooleanColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
20
+ 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: i2.IconComponent, selector: "upd-icon", inputs: ["model", "wrapperClasses", "color", "colorClass", "removeDefaultClasses", "customClasses", "tablerIcon", "tablerIconWeight", "tablerIconType", "tablerIconSize", "heroIcon", "heroIconSize", "heroIconType"] }] }); }
21
+ }
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BooleanColumnComponent, decorators: [{
23
+ type: Component,
24
+ 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" }]
25
+ }] });
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vbGVhbi1jb2x1bW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3RhYmxlL3NyYy9jb21wb25lbnRzL2NvbHVtbnMvYm9vbGVhbi1jb2x1bW4vYm9vbGVhbi1jb2x1bW4uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3RhYmxlL3NyYy9jb21wb25lbnRzL2NvbHVtbnMvYm9vbGVhbi1jb2x1bW4vYm9vbGVhbi1jb2x1bW4uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7Ozs7QUFRL0QsTUFBTSxPQUFPLHNCQUF1QixTQUFRLFVBQThCO0lBQzdELFVBQVU7UUFDZixPQUFPO1lBQ0gsR0FBRyxLQUFLLENBQUMsVUFBVSxFQUFFO1lBQ3JCLElBQUksQ0FBQyxVQUFVO1NBQ2xCLENBQUM7SUFDTixDQUFDO0lBRUQsSUFBWSxVQUFVO1FBQ2xCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLG9CQUFvQixFQUFFLENBQUM7WUFDcEMsT0FBTyxFQUFFLENBQUM7UUFDZCxDQUFDO1FBRUQsT0FBTyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7SUFDckYsQ0FBQzs4R0FkUSxzQkFBc0I7a0dBQXRCLHNCQUFzQixpRkNWbkMscXJCQWVBOzsyRkRMYSxzQkFBc0I7a0JBTGxDLFNBQVM7K0JBQ0ksb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEJhc2VDb2x1bW4gfSBmcm9tICcuLi8uLi8uLi9hYnN0cmFjdGlvbnMvYmFzZS5jb2x1bW4nO1xuaW1wb3J0IHsgQm9vbGVhbkNvbHVtbk1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2NvbHVtbnMvYm9vbGVhbi1jb2x1bW4ubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3VwZC1ib29sZWFuLWNvbHVtbicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2Jvb2xlYW4tY29sdW1uLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vYm9vbGVhbi1jb2x1bW4uY29tcG9uZW50LnNjc3MnXG59KVxuZXhwb3J0IGNsYXNzIEJvb2xlYW5Db2x1bW5Db21wb25lbnQgZXh0ZW5kcyBCYXNlQ29sdW1uPEJvb2xlYW5Db2x1bW5Nb2RlbD4ge1xuICAgIG92ZXJyaWRlIGdldENsYXNzZXMoKTogc3RyaW5nW10ge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgLi4uc3VwZXIuZ2V0Q2xhc3NlcygpLFxuICAgICAgICAgICAgdGhpcy5jb2xvckNsYXNzXG4gICAgICAgIF07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgY29sb3JDbGFzcygpOiBzdHJpbmcge1xuICAgICAgICBpZiAoIXRoaXMuY29uZmlnLnNob3VsZENvbG9ySGlnaGxpZ2h0KSB7XG4gICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYHRleHQtJHsoISF0aGlzLnZhbHVlID8gdGhpcy5jb25maWcudHJ1ZUNvbG9yIDogdGhpcy5jb25maWcuZmFsc2VDb2xvcil9YDtcbiAgICB9XG59XG4iLCI8ZGl2IFtuZ0NsYXNzXT1cImdldENsYXNzZXMoKVwiPlxuICAgIEBzd2l0Y2ggKGNvbmZpZy5kaXNwbGF5VHlwZSkge1xuICAgICAgICBAY2FzZSAoJ3RleHQnKSB7XG4gICAgICAgICAgICB7eyBwcmVmaXggfX17eyBwcmVmaXhTcGFjZSB9fXt7ICEhdmFsdWUgPyB0ZXh0U2VydmljZS5nZXRUZXh0KGNvbmZpZy50cnVlVGV4dCkgOiB0ZXh0U2VydmljZS5nZXRUZXh0KGNvbmZpZy5mYWxzZVRleHQpIH19e3sgc3VmZml4U3BhY2UgfX17eyBzdWZmaXggfX1cbiAgICAgICAgfVxuICAgICAgICBAY2FzZSAoJ3RvZ2dsZScpIHtcbiAgICAgICAgICAgIHt7IHByZWZpeCB9fXt7IHByZWZpeFNwYWNlIH19XG4gICAgICAgICAgICA8dXBkLWljb24gW3RhYmxlckljb25dPVwiISF2YWx1ZSA/ICd0b2dnbGUtcmlnaHQnIDogJ3RvZ2dsZS1sZWZ0J1wiPjwvdXBkLWljb24+e3sgc3VmZml4U3BhY2UgfX17eyBzdWZmaXggfX1cbiAgICAgICAgfVxuICAgICAgICBAY2FzZSAoJ2ljb24nKSB7XG4gICAgICAgICAgICB7eyBwcmVmaXggfX17eyBwcmVmaXhTcGFjZSB9fVxuICAgICAgICAgICAgPHVwZC1pY29uIFttb2RlbF09XCIhIXZhbHVlID8gY29uZmlnLnRydWVJY29uIDogY29uZmlnLmZhbHNlSWNvblwiPjwvdXBkLWljb24+e3sgc3VmZml4U3BhY2UgfX17eyBzdWZmaXggfX1cbiAgICAgICAgfVxuICAgIH1cbjwvZGl2PlxuIl19
@@ -0,0 +1,13 @@
1
+ import { Component } from '@angular/core';
2
+ import { BaseColumn } from '../../../abstractions/base.column';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ export class DateTimeColumnComponent extends BaseColumn {
6
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: DateTimeColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
7
+ 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" }] }); }
8
+ }
9
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: DateTimeColumnComponent, decorators: [{
10
+ type: Component,
11
+ args: [{ selector: 'upd-date-time-column', template: "<span [ngClass]=\"getClasses()\">{{ prefix }}{{ prefixSpace }}{{ value | date:config.dateTimeFormat }}{{ suffixSpace }}{{ suffix }}</span>\n" }]
12
+ }] });
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLWNvbHVtbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdGFibGUvc3JjL2NvbXBvbmVudHMvY29sdW1ucy9kYXRlLXRpbWUtY29sdW1uL2RhdGUtdGltZS1jb2x1bW4uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3RhYmxlL3NyYy9jb21wb25lbnRzL2NvbHVtbnMvZGF0ZS10aW1lLWNvbHVtbi9kYXRlLXRpbWUtY29sdW1uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7QUFRL0QsTUFBTSxPQUFPLHVCQUF3QixTQUFRLFVBQStCOzhHQUEvRCx1QkFBdUI7a0dBQXZCLHVCQUF1QixtRkNWcEMsOElBQ0E7OzJGRFNhLHVCQUF1QjtrQkFMbkMsU0FBUzsrQkFDSSxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQmFzZUNvbHVtbiB9IGZyb20gJy4uLy4uLy4uL2Fic3RyYWN0aW9ucy9iYXNlLmNvbHVtbic7XG5pbXBvcnQgeyBEYXRlVGltZUNvbHVtbk1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2NvbHVtbnMvZGF0ZS10aW1lLWNvbHVtbi5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndXBkLWRhdGUtdGltZS1jb2x1bW4nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kYXRlLXRpbWUtY29sdW1uLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vZGF0ZS10aW1lLWNvbHVtbi5jb21wb25lbnQuc2Nzcydcbn0pXG5leHBvcnQgY2xhc3MgRGF0ZVRpbWVDb2x1bW5Db21wb25lbnQgZXh0ZW5kcyBCYXNlQ29sdW1uPERhdGVUaW1lQ29sdW1uTW9kZWw+IHt9XG4iLCI8c3BhbiBbbmdDbGFzc109XCJnZXRDbGFzc2VzKClcIj57eyBwcmVmaXggfX17eyBwcmVmaXhTcGFjZSB9fXt7IHZhbHVlIHwgZGF0ZTpjb25maWcuZGF0ZVRpbWVGb3JtYXQgfX17eyBzdWZmaXhTcGFjZSB9fXt7IHN1ZmZpeCB9fTwvc3Bhbj5cbiJdfQ==
@@ -0,0 +1,13 @@
1
+ import { Component } from '@angular/core';
2
+ import { BaseColumn } from '../../../abstractions/base.column';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ export class NumberColumnComponent extends BaseColumn {
6
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NumberColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
7
+ 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" }] }); }
8
+ }
9
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NumberColumnComponent, decorators: [{
10
+ type: Component,
11
+ args: [{ selector: 'upd-number-column', template: "<span [ngClass]=\"getClasses()\">{{ prefix }}{{ prefixSpace }}{{ value | number:config.numberFormat }}{{ suffixSpace }}{{ suffix }}</span>\n" }]
12
+ }] });
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWNvbHVtbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdGFibGUvc3JjL2NvbXBvbmVudHMvY29sdW1ucy9udW1iZXItY29sdW1uL251bWJlci1jb2x1bW4uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3RhYmxlL3NyYy9jb21wb25lbnRzL2NvbHVtbnMvbnVtYmVyLWNvbHVtbi9udW1iZXItY29sdW1uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7QUFRL0QsTUFBTSxPQUFPLHFCQUFzQixTQUFRLFVBQTZCOzhHQUEzRCxxQkFBcUI7a0dBQXJCLHFCQUFxQixnRkNWbEMsOElBQ0E7OzJGRFNhLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDSSxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQmFzZUNvbHVtbiB9IGZyb20gJy4uLy4uLy4uL2Fic3RyYWN0aW9ucy9iYXNlLmNvbHVtbic7XG5pbXBvcnQgeyBOdW1iZXJDb2x1bW5Nb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9jb2x1bW5zL251bWJlci1jb2x1bW4ubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3VwZC1udW1iZXItY29sdW1uJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbnVtYmVyLWNvbHVtbi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL251bWJlci1jb2x1bW4uY29tcG9uZW50LnNjc3MnXG59KVxuZXhwb3J0IGNsYXNzIE51bWJlckNvbHVtbkNvbXBvbmVudCBleHRlbmRzIEJhc2VDb2x1bW48TnVtYmVyQ29sdW1uTW9kZWw+IHt9XG4iLCI8c3BhbiBbbmdDbGFzc109XCJnZXRDbGFzc2VzKClcIj57eyBwcmVmaXggfX17eyBwcmVmaXhTcGFjZSB9fXt7IHZhbHVlIHwgbnVtYmVyOmNvbmZpZy5udW1iZXJGb3JtYXQgfX17eyBzdWZmaXhTcGFjZSB9fXt7IHN1ZmZpeCB9fTwvc3Bhbj5cbiJdfQ==
@@ -0,0 +1,31 @@
1
+ import { Component } from '@angular/core';
2
+ import { BaseColumn } from '../../../abstractions/base.column';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ export class TextColumnComponent extends BaseColumn {
6
+ getClasses() {
7
+ return [
8
+ ...super.getClasses(),
9
+ this.transformClass
10
+ ];
11
+ }
12
+ get transformClass() {
13
+ switch (this.config.transform) {
14
+ case 'capitalize':
15
+ return 'text-capitalize';
16
+ case 'lowercase':
17
+ return 'text-lowercase';
18
+ case 'uppercase':
19
+ return 'text-uppercase';
20
+ default:
21
+ return '';
22
+ }
23
+ }
24
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: TextColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
25
+ 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"] }] }); }
26
+ }
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: TextColumnComponent, decorators: [{
28
+ type: Component,
29
+ args: [{ selector: 'upd-text-column', template: "<span [ngClass]=\"getClasses()\">{{ prefix }}{{ prefixSpace }}{{ value }}{{ suffixSpace }}{{ suffix }}</span>\n" }]
30
+ }] });
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1jb2x1bW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3RhYmxlL3NyYy9jb21wb25lbnRzL2NvbHVtbnMvdGV4dC1jb2x1bW4vdGV4dC1jb2x1bW4uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3RhYmxlL3NyYy9jb21wb25lbnRzL2NvbHVtbnMvdGV4dC1jb2x1bW4vdGV4dC1jb2x1bW4uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7OztBQVEvRCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsVUFBMkI7SUFDdkQsVUFBVTtRQUNmLE9BQU87WUFDSCxHQUFHLEtBQUssQ0FBQyxVQUFVLEVBQUU7WUFDckIsSUFBSSxDQUFDLGNBQWM7U0FDdEIsQ0FBQztJQUNOLENBQUM7SUFFRCxJQUFZLGNBQWM7UUFDdEIsUUFBUSxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQzVCLEtBQUssWUFBWTtnQkFDYixPQUFPLGlCQUFpQixDQUFDO1lBQzdCLEtBQUssV0FBVztnQkFDWixPQUFPLGdCQUFnQixDQUFDO1lBQzVCLEtBQUssV0FBVztnQkFDWixPQUFPLGdCQUFnQixDQUFDO1lBQzVCO2dCQUNJLE9BQU8sRUFBRSxDQUFDO1FBQ2xCLENBQUM7SUFDTCxDQUFDOzhHQW5CUSxtQkFBbUI7a0dBQW5CLG1CQUFtQiw4RUNWaEMsaUhBQ0E7OzJGRFNhLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDSSxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQmFzZUNvbHVtbiB9IGZyb20gJy4uLy4uLy4uL2Fic3RyYWN0aW9ucy9iYXNlLmNvbHVtbic7XG5pbXBvcnQgeyBUZXh0Q29sdW1uTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvY29sdW1ucy90ZXh0LWNvbHVtbi5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndXBkLXRleHQtY29sdW1uJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdGV4dC1jb2x1bW4uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi90ZXh0LWNvbHVtbi5jb21wb25lbnQuc2Nzcydcbn0pXG5leHBvcnQgY2xhc3MgVGV4dENvbHVtbkNvbXBvbmVudCBleHRlbmRzIEJhc2VDb2x1bW48VGV4dENvbHVtbk1vZGVsPiB7XG4gICAgb3ZlcnJpZGUgZ2V0Q2xhc3NlcygpOiBzdHJpbmdbXSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAuLi5zdXBlci5nZXRDbGFzc2VzKCksXG4gICAgICAgICAgICB0aGlzLnRyYW5zZm9ybUNsYXNzXG4gICAgICAgIF07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgdHJhbnNmb3JtQ2xhc3MoKTogc3RyaW5nIHtcbiAgICAgICAgc3dpdGNoICh0aGlzLmNvbmZpZy50cmFuc2Zvcm0pIHtcbiAgICAgICAgICAgIGNhc2UgJ2NhcGl0YWxpemUnOlxuICAgICAgICAgICAgICAgIHJldHVybiAndGV4dC1jYXBpdGFsaXplJztcbiAgICAgICAgICAgIGNhc2UgJ2xvd2VyY2FzZSc6XG4gICAgICAgICAgICAgICAgcmV0dXJuICd0ZXh0LWxvd2VyY2FzZSc7XG4gICAgICAgICAgICBjYXNlICd1cHBlcmNhc2UnOlxuICAgICAgICAgICAgICAgIHJldHVybiAndGV4dC11cHBlcmNhc2UnO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8c3BhbiBbbmdDbGFzc109XCJnZXRDbGFzc2VzKClcIj57eyBwcmVmaXggfX17eyBwcmVmaXhTcGFjZSB9fXt7IHZhbHVlIH19e3sgc3VmZml4U3BhY2UgfX17eyBzdWZmaXggfX08L3NwYW4+XG4iXX0=
@@ -0,0 +1,36 @@
1
+ import { Component, computed, signal } from '@angular/core';
2
+ import { BaseModal } from '@updevs/components/modal';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@jsverse/transloco";
5
+ import * as i2 from "@updevs/components/drag-and-drop";
6
+ export class ColumnsManagerComponent extends BaseModal {
7
+ constructor() {
8
+ super(...arguments);
9
+ this.config = computed(() => ({ columns: [this.visibleColumn(), this.hiddenColumn()], canReorder: true }));
10
+ this.columns = signal([]);
11
+ this.visibleColumn = computed(() => ({
12
+ name: 'visible',
13
+ title: { text: 'UpDevs.Table.VisibleColumns', isTranslated: false },
14
+ canBeEmpty: false,
15
+ items: this.data().columns.filter(c => !c.isHidden).map(c => ({
16
+ name: c.name,
17
+ text: c.title || { text: 'UpDevs.Table.ColumnTitleNotSet', isTranslated: false }
18
+ }))
19
+ }));
20
+ this.hiddenColumn = computed(() => ({
21
+ name: 'hidden',
22
+ title: { text: 'UpDevs.Table.HiddenColumns', isTranslated: false },
23
+ items: this.data().columns.filter(c => c.isHidden).map(c => ({
24
+ name: c.name,
25
+ text: c.title || { text: 'UpDevs.Table.ColumnTitleNotSet', isTranslated: false }
26
+ }))
27
+ }));
28
+ }
29
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: ColumnsManagerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
30
+ 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.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"] }] }); }
31
+ }
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: ColumnsManagerComponent, decorators: [{
33
+ type: Component,
34
+ 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" }]
35
+ }] });
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1ucy1tYW5hZ2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90YWJsZS9zcmMvY29tcG9uZW50cy9jb2x1bW5zLW1hbmFnZXIvY29sdW1ucy1tYW5hZ2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90YWJsZS9zcmMvY29tcG9uZW50cy9jb2x1bW5zLW1hbmFnZXIvY29sdW1ucy1tYW5hZ2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU1RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7QUFTckQsTUFBTSxPQUFPLHVCQUEyQixTQUFRLFNBQXlCO0lBTHpFOztRQU1JLFdBQU0sR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3RHLFlBQU8sR0FBRyxNQUFNLENBQTJCLEVBQUUsQ0FBQyxDQUFDO1FBRTlCLGtCQUFhLEdBQUcsUUFBUSxDQUEwQixHQUFHLEVBQUUsQ0FDcEUsQ0FBQztZQUNHLElBQUksRUFBRSxTQUFTO1lBQ2YsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLDZCQUE2QixFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUU7WUFDbkUsVUFBVSxFQUFFLEtBQUs7WUFDakIsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDMUQsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJO2dCQUNaLElBQUksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsSUFBSSxFQUFFLGdDQUFnQyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUU7YUFDbkYsQ0FBQyxDQUFDO1NBQ04sQ0FBQyxDQUNMLENBQUM7UUFDZSxpQkFBWSxHQUFHLFFBQVEsQ0FBMEIsR0FBRyxFQUFFLENBQ25FLENBQUM7WUFDRyxJQUFJLEVBQUUsUUFBUTtZQUNkLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSw0QkFBNEIsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFO1lBQ2xFLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUN6RCxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUk7Z0JBQ1osSUFBSSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxJQUFJLEVBQUUsZ0NBQWdDLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRTthQUNuRixDQUFDLENBQUM7U0FDTixDQUFDLENBQ0wsQ0FBQztLQUNMOzhHQXpCWSx1QkFBdUI7a0dBQXZCLHVCQUF1QixrRkNYcEMsMExBR0E7OzJGRFFhLHVCQUF1QjtrQkFMbkMsU0FBUzsrQkFDSSxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERyYWdBbmREcm9wQ29sdW1uQ29uZmlnLCBEcmFnQW5kRHJvcENvbHVtbk1vZGVsIH0gZnJvbSAnQHVwZGV2cy9jb21wb25lbnRzL2RyYWctYW5kLWRyb3AnO1xuaW1wb3J0IHsgQmFzZU1vZGFsIH0gZnJvbSAnQHVwZGV2cy9jb21wb25lbnRzL21vZGFsJztcblxuaW1wb3J0IHsgVGFibGVDb25maWcgfSBmcm9tICcuLi8uLi9tb2RlbHMvdGFibGUuY29uZmlnJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd1cGQtY29sdW1ucy1tYW5hZ2VyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY29sdW1ucy1tYW5hZ2VyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vY29sdW1ucy1tYW5hZ2VyLmNvbXBvbmVudC5zY3NzJ1xufSlcbmV4cG9ydCBjbGFzcyBDb2x1bW5zTWFuYWdlckNvbXBvbmVudDxUPiBleHRlbmRzIEJhc2VNb2RhbDxUYWJsZUNvbmZpZzxUPj4ge1xuICAgIGNvbmZpZyA9IGNvbXB1dGVkKCgpID0+ICh7IGNvbHVtbnM6IFt0aGlzLnZpc2libGVDb2x1bW4oKSwgdGhpcy5oaWRkZW5Db2x1bW4oKV0sIGNhblJlb3JkZXI6IHRydWUgfSkpO1xuICAgIGNvbHVtbnMgPSBzaWduYWw8RHJhZ0FuZERyb3BDb2x1bW5Nb2RlbFtdPihbXSk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IHZpc2libGVDb2x1bW4gPSBjb21wdXRlZDxEcmFnQW5kRHJvcENvbHVtbkNvbmZpZz4oKCkgPT5cbiAgICAgICAgKHtcbiAgICAgICAgICAgIG5hbWU6ICd2aXNpYmxlJyxcbiAgICAgICAgICAgIHRpdGxlOiB7IHRleHQ6ICdVcERldnMuVGFibGUuVmlzaWJsZUNvbHVtbnMnLCBpc1RyYW5zbGF0ZWQ6IGZhbHNlIH0sXG4gICAgICAgICAgICBjYW5CZUVtcHR5OiBmYWxzZSxcbiAgICAgICAgICAgIGl0ZW1zOiB0aGlzLmRhdGEoKS5jb2x1bW5zLmZpbHRlcihjID0+ICFjLmlzSGlkZGVuKS5tYXAoYyA9PiAoe1xuICAgICAgICAgICAgICAgIG5hbWU6IGMubmFtZSxcbiAgICAgICAgICAgICAgICB0ZXh0OiBjLnRpdGxlIHx8IHsgdGV4dDogJ1VwRGV2cy5UYWJsZS5Db2x1bW5UaXRsZU5vdFNldCcsIGlzVHJhbnNsYXRlZDogZmFsc2UgfVxuICAgICAgICAgICAgfSkpXG4gICAgICAgIH0pXG4gICAgKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGhpZGRlbkNvbHVtbiA9IGNvbXB1dGVkPERyYWdBbmREcm9wQ29sdW1uQ29uZmlnPigoKSA9PlxuICAgICAgICAoe1xuICAgICAgICAgICAgbmFtZTogJ2hpZGRlbicsXG4gICAgICAgICAgICB0aXRsZTogeyB0ZXh0OiAnVXBEZXZzLlRhYmxlLkhpZGRlbkNvbHVtbnMnLCBpc1RyYW5zbGF0ZWQ6IGZhbHNlIH0sXG4gICAgICAgICAgICBpdGVtczogdGhpcy5kYXRhKCkuY29sdW1ucy5maWx0ZXIoYyA9PiBjLmlzSGlkZGVuKS5tYXAoYyA9PiAoe1xuICAgICAgICAgICAgICAgIG5hbWU6IGMubmFtZSxcbiAgICAgICAgICAgICAgICB0ZXh0OiBjLnRpdGxlIHx8IHsgdGV4dDogJ1VwRGV2cy5UYWJsZS5Db2x1bW5UaXRsZU5vdFNldCcsIGlzVHJhbnNsYXRlZDogZmFsc2UgfVxuICAgICAgICAgICAgfSkpXG4gICAgICAgIH0pXG4gICAgKTtcbn1cbiIsIjxuZy1jb250YWluZXIgKnRyYW5zbG9jbz1cImxldCB0OyBwcmVmaXg6ICdVcERldnMuVGFibGUuQ29sdW1uc01hbmFnZXInXCI+XG4gICAgPHVwZC1kcmFnLWFuZC1kcm9wIFtjb25maWddPVwiY29uZmlnKClcIiBbKGNvbHVtbnMpXT1cImNvbHVtbnNcIj48L3VwZC1kcmFnLWFuZC1kcm9wPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
@@ -0,0 +1,114 @@
1
+ import { Component, signal, inject, input, model, HostBinding, Output, EventEmitter } from '@angular/core';
2
+ import { TextService } from '@updevs/sdk';
3
+ import { DataTypeEnum } from '@updevs/sdk/stores';
4
+ import { BaseComponent } from '@updevs/sdk/layout';
5
+ import { UpdTableConfigService } from '../../services/upd-table-config.service';
6
+ import { FiltersOperandsService } from '../../abstractions/filters-operands.service';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@updevs/components/button";
9
+ import * as i2 from "@updevs/components/form-controls/input";
10
+ import * as i3 from "@updevs/components/form-controls/select";
11
+ export class FilterRowComponent extends BaseComponent {
12
+ constructor() {
13
+ super(...arguments);
14
+ this.wrapperClasses = 'd-flex gap-2';
15
+ this.removed = new EventEmitter();
16
+ this.DataTypeEnum = DataTypeEnum;
17
+ this.activeFilters = model.required();
18
+ this.rowIndex = input.required();
19
+ this.columns = input.required();
20
+ this.isDisabled = input.required();
21
+ this.store = input();
22
+ this.currentFilter = input();
23
+ this.currentField = signal(undefined);
24
+ this.currentOperand = signal(undefined);
25
+ this.fieldsOptions = signal([]);
26
+ this.comparisonOperatorOptions = signal([]);
27
+ this.isValueSectionEnabled = signal(true);
28
+ this.currentOperands = [];
29
+ this.configService = inject(UpdTableConfigService);
30
+ this.filtersOperandsService = inject(FiltersOperandsService);
31
+ this.textService = inject(TextService);
32
+ }
33
+ get fieldType() {
34
+ return this.currentField()?.objectData || DataTypeEnum.String;
35
+ }
36
+ get selectedField() {
37
+ const currentFilter = this.currentFilter();
38
+ return !!currentFilter?.name
39
+ ? this.fieldsOptions().find(f => f.value === currentFilter.name)
40
+ : undefined;
41
+ }
42
+ get selectedOperand() {
43
+ const currentFilter = this.currentFilter();
44
+ return !!currentFilter?.name
45
+ ? this.comparisonOperatorOptions().find(co => co.value === currentFilter.operandConfig?.operand)
46
+ : undefined;
47
+ }
48
+ get selectedValue() {
49
+ const currentFilter = this.currentFilter();
50
+ return !!currentFilter?.name ? currentFilter.value : undefined;
51
+ }
52
+ ngOnInit() {
53
+ if (!!this.store() && this.configService.config.shouldLoadFieldsFromServer) {
54
+ this.store().getFilterableFields().subscribe(fields => this.fieldsOptions.set(fields.map(f => ({ value: f.name, text: f.description, objectData: f.type }))));
55
+ }
56
+ else {
57
+ this.fieldsOptions.set(this.columns().filter(c => !!c.title).map(c => ({ value: c.name, text: this.textService.getText(c.title), objectData: c.dataType })));
58
+ }
59
+ if (!!this.selectedField) {
60
+ if (!!this.selectedOperand) {
61
+ this.onSelectOperand(this.selectedOperand);
62
+ }
63
+ this.onSelectField(this.selectedField);
64
+ }
65
+ }
66
+ onSelectField(item) {
67
+ this.currentField.set(item);
68
+ const dataType = item?.objectData;
69
+ if (!!dataType) {
70
+ this.currentOperands = this.filtersOperandsService.getOperands(dataType);
71
+ this.comparisonOperatorOptions.set(this.currentOperands.map(o => ({ value: o.operand, text: this.textService.getText(o.text), listItem: { icon: o.icon } })));
72
+ }
73
+ else {
74
+ this.comparisonOperatorOptions.set([]);
75
+ }
76
+ this.activeFilters.update(curr => {
77
+ curr[this.rowIndex()].name = this.currentField()?.value;
78
+ return [...curr];
79
+ });
80
+ }
81
+ onSelectOperand(item) {
82
+ this.currentOperand.set(this.currentOperands.find(co => co.operand === item?.value));
83
+ this.isValueSectionEnabled.set(!!this.currentOperand()?.requiresValue);
84
+ this.activeFilters.update(curr => {
85
+ curr[this.rowIndex()].operandConfig = this.currentOperand();
86
+ return [...curr];
87
+ });
88
+ }
89
+ updateValue(value) {
90
+ this.activeFilters.update(curr => {
91
+ curr[this.rowIndex()].value = value;
92
+ return [...curr];
93
+ });
94
+ }
95
+ removeFilterItem() {
96
+ this.activeFilters.update(curr => {
97
+ curr.splice(this.rowIndex(), 1);
98
+ return [...curr];
99
+ });
100
+ this.removed.emit();
101
+ }
102
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: FilterRowComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
103
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: FilterRowComponent, selector: "upd-filter-row", inputs: { activeFilters: { classPropertyName: "activeFilters", publicName: "activeFilters", isSignal: true, isRequired: true, transformFunction: null }, 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 }, currentFilter: { classPropertyName: "currentFilter", publicName: "currentFilter", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { removed: "removed", activeFilters: "activeFiltersChange" }, host: { properties: { "class": "this.wrapperClasses" } }, usesInheritance: true, ngImport: i0, template: "<upd-select class=\"w-100\" [isDisabled]=\"isDisabled()\" [items]=\"fieldsOptions()\" (selectedItem)=\"onSelectField($event)\"\n [selected]=\"selectedField\">\n</upd-select>\n<upd-select class=\"w-100\" [isDisabled]=\"isDisabled()\" [items]=\"comparisonOperatorOptions()\" (selectedItem)=\"onSelectOperand($event)\"\n [selected]=\"selectedOperand\">\n</upd-select>\n\n@if (isValueSectionEnabled()) {\n @switch (fieldType) {\n @case (DataTypeEnum.Number) {\n <upd-input wrapperClasses=\"w-100\" customClasses=\"h-100\" type=\"number\" (valueChange)=\"updateValue($event)\"\n [value]=\"selectedValue\"></upd-input>\n }\n @case (DataTypeEnum.Date) {\n\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>\n", styles: [""], dependencies: [{ kind: "component", type: i1.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"], outputs: ["clicked"] }, { kind: "component", type: i2.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.SelectComponent, selector: "upd-select", inputs: ["useSystemStyle", "shouldShowClearButton", "isCompact", "selected"], outputs: ["selectedItem"] }] }); }
104
+ }
105
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: FilterRowComponent, decorators: [{
106
+ type: Component,
107
+ args: [{ selector: 'upd-filter-row', template: "<upd-select class=\"w-100\" [isDisabled]=\"isDisabled()\" [items]=\"fieldsOptions()\" (selectedItem)=\"onSelectField($event)\"\n [selected]=\"selectedField\">\n</upd-select>\n<upd-select class=\"w-100\" [isDisabled]=\"isDisabled()\" [items]=\"comparisonOperatorOptions()\" (selectedItem)=\"onSelectOperand($event)\"\n [selected]=\"selectedOperand\">\n</upd-select>\n\n@if (isValueSectionEnabled()) {\n @switch (fieldType) {\n @case (DataTypeEnum.Number) {\n <upd-input wrapperClasses=\"w-100\" customClasses=\"h-100\" type=\"number\" (valueChange)=\"updateValue($event)\"\n [value]=\"selectedValue\"></upd-input>\n }\n @case (DataTypeEnum.Date) {\n\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>\n" }]
108
+ }], propDecorators: { wrapperClasses: [{
109
+ type: HostBinding,
110
+ args: ['class']
111
+ }], removed: [{
112
+ type: Output
113
+ }] } });
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLXJvdy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdGFibGUvc3JjL2NvbXBvbmVudHMvZmlsdGVyLXJvdy9maWx0ZXItcm93LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90YWJsZS9zcmMvY29tcG9uZW50cy9maWx0ZXItcm93L2ZpbHRlci1yb3cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFVLEtBQUssRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkgsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMxQyxPQUFPLEVBQW1CLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBR25FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVuRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNoRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQzs7Ozs7QUFVckYsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGFBQWE7SUFMckQ7O1FBTTBCLG1CQUFjLEdBQUcsY0FBYyxDQUFDO1FBRW5DLFlBQU8sR0FBdUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUVwRSxpQkFBWSxHQUFHLFlBQVksQ0FBQztRQUU1QixrQkFBYSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQXFCLENBQUM7UUFDcEQsYUFBUSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVUsQ0FBQztRQUNwQyxZQUFPLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBcUIsQ0FBQztRQUM5QyxlQUFVLEdBQUcsS0FBSyxD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O1FBQ1osSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDN0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDaEMsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDckIsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3hCLENBQUM7OEdBM0dRLGtCQUFrQjtrR0FBbEIsa0JBQWtCLG8vQkNsQi9CLDJ2Q0E2QkE7OzJGRFhhLGtCQUFrQjtrQkFMOUIsU0FBUzsrQkFDSSxnQkFBZ0I7OEJBS0osY0FBYztzQkFBbkMsV0FBVzt1QkFBQyxPQUFPO2dCQUVELE9BQU87c0JBQXpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIHNpZ25hbCwgaW5qZWN0LCBPbkluaXQsIGlucHV0LCBtb2RlbCwgSG9zdEJpbmRpbmcsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUZXh0U2VydmljZSB9IGZyb20gJ0B1cGRldnMvc2RrJztcbmltcG9ydCB7IEJhc2VTZWFyY2hTdG9yZSwgRGF0YVR5cGVFbnVtIH0gZnJvbSAnQHVwZGV2cy9zZGsvc3RvcmVzJztcbmltcG9ydCB7IE9wdGlvbmFsVHlwZSB9IGZyb20gJ0B1cGRldnMvc2RrL3R5cGVzJztcbmltcG9ydCB7IFNlbGVjdEl0ZW0gfSBmcm9tICdAdXBkZXZzL2NvbXBvbmVudHMvZm9ybS1jb250cm9scy9zZWxlY3QnO1xuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gJ0B1cGRldnMvc2RrL2xheW91dCc7XG5cbmltcG9ydCB7IFVwZFRhYmxlQ29uZmlnU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3VwZC10YWJsZS1jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBGaWx0ZXJzT3BlcmFuZHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vYWJzdHJhY3Rpb25zL2ZpbHRlcnMtb3BlcmFuZHMuc2VydmljZSc7XG5pbXBvcnQgeyBGaWx0ZXJJdGVtTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZmlsdGVyLWl0ZW0ubW9kZWwnO1xuaW1wb3J0IHsgQmFzZUNvbHVtbk1vZGVsIH0gZnJvbSAnLi4vLi4vYWJzdHJhY3Rpb25zL2Jhc2UtY29sdW1uLm1vZGVsJztcbmltcG9ydCB7IEZpbHRlck9wZXJhbmRDb25maWcgfSBmcm9tICcuLi8uLi9tb2RlbHMvZmlsdGVyLW9wZXJhbmQuY29uZmlnJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd1cGQtZmlsdGVyLXJvdycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ZpbHRlci1yb3cuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9maWx0ZXItcm93LmNvbXBvbmVudC5zY3NzJ1xufSlcbmV4cG9ydCBjbGFzcyBGaWx0ZXJSb3dDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgd3JhcHBlckNsYXNzZXMgPSAnZC1mbGV4IGdhcC0yJztcblxuICAgIEBPdXRwdXQoKSByZWFkb25seSByZW1vdmVkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBEYXRhVHlwZUVudW0gPSBEYXRhVHlwZUVudW07XG5cbiAgICBhY3RpdmVGaWx0ZXJzID0gbW9kZWwucmVxdWlyZWQ8RmlsdGVySXRlbU1vZGVsW10+KCk7XG4gICAgcm93SW5kZXggPSBpbnB1dC5yZXF1aXJlZDxudW1iZXI+KCk7XG4gICAgY29sdW1ucyA9IGlucHV0LnJlcXVpcmVkPEJhc2VDb2x1bW5Nb2RlbFtdPigpO1xuICAgIGlzRGlzYWJsZWQgPSBpbnB1dC5yZXF1aXJlZDxib29sZWFuPigpO1xuICAgIHN0b3JlID0gaW5wdXQ8QmFzZVNlYXJjaFN0b3JlPigpO1xuICAgIGN1cnJlbnRGaWx0ZXIgPSBpbnB1dDxGaWx0ZXJJdGVtTW9kZWw+KCk7XG4gICAgY3VycmVudEZpZWxkID0gc2lnbmFsPE9wdGlvbmFsVHlwZTxTZWxlY3RJdGVtPj4odW5kZWZpbmVkKTtcbiAgICBjdXJyZW50T3BlcmFuZCA9IHNpZ25hbDxPcHRpb25hbFR5cGU8RmlsdGVyT3BlcmFuZENvbmZpZz4+KHVuZGVmaW5lZCk7XG4gICAgZmllbGRzT3B0aW9ucyA9IHNpZ25hbDxTZWxlY3RJdGVtW10+KFtdKTtcbiAgICBjb21wYXJpc29uT3BlcmF0b3JPcHRpb25zID0gc2lnbmFsPFNlbGVjdEl0ZW1bXT4oW10pO1xuICAgIGlzVmFsdWVTZWN0aW9uRW5hYmxlZCA9IHNpZ25hbDxib29sZWFuPih0cnVlKTtcblxuICAgIGdldCBmaWVsZFR5cGUoKTogRGF0YVR5cGVFbnVtIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudEZpZWxkKCk/Lm9iamVjdERhdGEgfHwgRGF0YVR5cGVFbnVtLlN0cmluZztcbiAgICB9XG4gICAgZ2V0IHNlbGVjdGVkRmllbGQoKTogT3B0aW9uYWxUeXBlPFNlbGVjdEl0ZW0+IHtcbiAgICAgICAgY29uc3QgY3VycmVudEZpbHRlciA9IHRoaXMuY3VycmVudEZpbHRlcigpO1xuICAgICAgICByZXR1cm4gISFjdXJyZW50RmlsdGVyPy5uYW1lXG4gICAgICAgICAgICA/IHRoaXMuZmllbGRzT3B0aW9ucygpLmZpbmQoZiA9PiBmLnZhbHVlID09PSBjdXJyZW50RmlsdGVyLm5hbWUpXG4gICAgICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICB9XG4gICAgZ2V0IHNlbGVjdGVkT3BlcmFuZCgpOiBPcHRpb25hbFR5cGU8U2VsZWN0SXRlbT4ge1xuICAgICAgICBjb25zdCBjdXJyZW50RmlsdGVyID0gdGhpcy5jdXJyZW50RmlsdGVyKCk7XG4gICAgICAgIHJldHVybiAhIWN1cnJlbnRGaWx0ZXI/Lm5hbWVcbiAgICAgICAgICAgID8gdGhpcy5jb21wYXJpc29uT3BlcmF0b3JPcHRpb25zKCkuZmluZChjbyA9PiBjby52YWx1ZSA9PT0gY3VycmVudEZpbHRlci5vcGVyYW5kQ29uZmlnPy5vcGVyYW5kKVxuICAgICAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGdldCBzZWxlY3RlZFZhbHVlKCk6IE9wdGlvbmFsVHlwZTxhbnk+IHtcbiAgICAgICAgY29uc3QgY3VycmVudEZpbHRlciA9IHRoaXMuY3VycmVudEZpbHRlcigpO1xuICAgICAgICByZXR1cm4gISFjdXJyZW50RmlsdGVyPy5uYW1lID8gY3VycmVudEZpbHRlci52YWx1ZSA6IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGN1cnJlbnRPcGVyYW5kczogRmlsdGVyT3BlcmFuZENvbmZpZ1tdID0gW107XG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25maWdTZXJ2aWNlID0gaW5qZWN0KFVwZFRhYmxlQ29uZmlnU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBmaWx0ZXJzT3BlcmFuZHNTZXJ2aWNlID0gaW5qZWN0KEZpbHRlcnNPcGVyYW5kc1NlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdGV4dFNlcnZpY2UgPSBpbmplY3QoVGV4dFNlcnZpY2UpO1xuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICghIXRoaXMuc3RvcmUoKSAmJiB0aGlzLmNvbmZpZ1NlcnZpY2UuY29uZmlnLnNob3VsZExvYWRGaWVsZHNGcm9tU2VydmVyKSB7XG4gICAgICAgICAgICB0aGlzLnN0b3JlKCkhLmdldEZpbHRlcmFibGVGaWVsZHMoKS5zdWJzY3JpYmUoZmllbGRzID0+XG4gICAgICAgICAgICAgICAgdGhpcy5maWVsZHNPcHRpb25zLnNldChmaWVsZHMubWFwKGYgPT4gKHsgdmFsdWU6IGYubmFtZSEsIHRleHQ6IGYuZGVzY3JpcHRpb24hLCBvYmplY3REYXRhOiBmLnR5cGUgfSkpKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZmllbGRzT3B0aW9ucy5zZXQoXG4gICAgICAgICAgICAgICAgdGhpcy5jb2x1bW5zKCkuZmlsdGVyKGMgPT4gISFjLnRpdGxlKS5tYXAoYyA9PlxuICAgICAgICAgICAgICAgICAgICAoeyB2YWx1ZTogYy5uYW1lLCB0ZXh0OiB0aGlzLnRleHRTZXJ2aWNlLmdldFRleHQoYy50aXRsZSksIG9iamVjdERhdGE6IGMuZGF0YVR5cGUgfSkpXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCEhdGhpcy5zZWxlY3RlZEZpZWxkKSB7XG4gICAgICAgICAgICBpZiAoISF0aGlzLnNlbGVjdGVkT3BlcmFuZCkge1xuICAgICAgICAgICAgICAgIHRoaXMub25TZWxlY3RPcGVyYW5kKHRoaXMuc2VsZWN0ZWRPcGVyYW5kKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5vblNlbGVjdEZpZWxkKHRoaXMuc2VsZWN0ZWRGaWVsZCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblNlbGVjdEZpZWxkKGl0ZW0/OiBTZWxlY3RJdGVtKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY3VycmVudEZpZWxkLnNldChpdGVtKTtcblxuICAgICAgICBjb25zdCBkYXRhVHlwZSA9IGl0ZW0/Lm9iamVjdERhdGE7XG5cbiAgICAgICAgaWYgKCEhZGF0YVR5cGUpIHtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudE9wZXJhbmRzID0gdGhpcy5maWx0ZXJzT3BlcmFuZHNTZXJ2aWNlLmdldE9wZXJhbmRzKGRhdGFUeXBlKTtcbiAgICAgICAgICAgIHRoaXMuY29tcGFyaXNvbk9wZXJhdG9yT3B0aW9ucy5zZXQoXG4gICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50T3BlcmFuZHMubWFwKG8gPT4gKHsgdmFsdWU6IG8ub3BlcmFuZCwgdGV4dDogdGhpcy50ZXh0U2VydmljZS5nZXRUZXh0KG8udGV4dCksIGxpc3RJdGVtOiB7IGljb246IG8uaWNvbiB9IH0pKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuY29tcGFyaXNvbk9wZXJhdG9yT3B0aW9ucy5zZXQoW10pO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5hY3RpdmVGaWx0ZXJzLnVwZGF0ZShjdXJyID0+IHtcbiAgICAgICAgICAgIGN1cnJbdGhpcy5yb3dJbmRleCgpXS5uYW1lID0gdGhpcy5jdXJyZW50RmllbGQoKT8udmFsdWU7XG4gICAgICAgICAgICByZXR1cm4gWy4uLmN1cnJdO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvblNlbGVjdE9wZXJhbmQoaXRlbT86IFNlbGVjdEl0ZW0pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jdXJyZW50T3BlcmFuZC5zZXQodGhpcy5jdXJyZW50T3BlcmFuZHMuZmluZChjbyA9PiBjby5vcGVyYW5kID09PSBpdGVtPy52YWx1ZSkpO1xuICAgICAgICB0aGlzLmlzVmFsdWVTZWN0aW9uRW5hYmxlZC5zZXQoISF0aGlzLmN1cnJlbnRPcGVyYW5kKCk/LnJlcXVpcmVzVmFsdWUpO1xuICAgICAgICB0aGlzLmFjdGl2ZUZpbHRlcnMudXBkYXRlKGN1cnIgPT4ge1xuICAgICAgICAgICAgY3Vyclt0aGlzLnJvd0luZGV4KCldLm9wZXJhbmRDb25maWcgPSB0aGlzLmN1cnJlbnRPcGVyYW5kKCk7XG4gICAgICAgICAgICByZXR1cm4gWy4uLmN1cnJdO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICB1cGRhdGVWYWx1ZSh2YWx1ZT86IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLmFjdGl2ZUZpbHRlcnMudXBkYXRlKGN1cnIgPT4ge1xuICAgICAgICAgICAgY3Vyclt0aGlzLnJvd0luZGV4KCldLnZhbHVlID0gdmFsdWU7XG4gICAgICAgICAgICByZXR1cm4gWy4uLmN1cnJdO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICByZW1vdmVGaWx0ZXJJdGVtKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmFjdGl2ZUZpbHRlcnMudXBkYXRlKGN1cnIgPT4ge1xuICAgICAgICAgICAgY3Vyci5zcGxpY2UodGhpcy5yb3dJbmRleCgpLCAxKTtcbiAgICAgICAgICAgIHJldHVybiBbLi4uY3Vycl07XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnJlbW92ZWQuZW1pdCgpO1xuICAgIH1cbn1cbiIsIjx1cGQtc2VsZWN0IGNsYXNzPVwidy0xMDBcIiBbaXNEaXNhYmxlZF09XCJpc0Rpc2FibGVkKClcIiBbaXRlbXNdPVwiZmllbGRzT3B0aW9ucygpXCIgKHNlbGVjdGVkSXRlbSk9XCJvblNlbGVjdEZpZWxkKCRldmVudClcIlxuICAgIFtzZWxlY3RlZF09XCJzZWxlY3RlZEZpZWxkXCI+XG48L3VwZC1zZWxlY3Q+XG48dXBkLXNlbGVjdCBjbGFzcz1cInctMTAwXCIgW2lzRGlzYWJsZWRdPVwiaXNEaXNhYmxlZCgpXCIgW2l0ZW1zXT1cImNvbXBhcmlzb25PcGVyYXRvck9wdGlvbnMoKVwiIChzZWxlY3RlZEl0ZW0pPVwib25TZWxlY3RPcGVyYW5kKCRldmVudClcIlxuICAgIFtzZWxlY3RlZF09XCJzZWxlY3RlZE9wZXJhbmRcIj5cbjwvdXBkLXNlbGVjdD5cblxuQGlmIChpc1ZhbHVlU2VjdGlvbkVuYWJsZWQoKSkge1xuICAgIEBzd2l0Y2ggKGZpZWxkVHlwZSkge1xuICAgICAgICBAY2FzZSAoRGF0YVR5cGVFbnVtLk51bWJlcikge1xuICAgICAgICAgICAgPHVwZC1pbnB1dCB3cmFwcGVyQ2xhc3Nlcz1cInctMTAwXCIgY3VzdG9tQ2xhc3Nlcz1cImgtMTAwXCIgdHlwZT1cIm51bWJlclwiICh2YWx1ZUNoYW5nZSk9XCJ1cGRhdGVWYWx1ZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICBbdmFsdWVdPVwic2VsZWN0ZWRWYWx1ZVwiPjwvdXBkLWlucHV0PlxuICAgICAgICB9XG4gICAgICAgIEBjYXNlIChEYXRhVHlwZUVudW0uRGF0ZSkge1xuXG4gICAgICAgIH1cbiAgICAgICAgQGRlZmF1bHQge1xuICAgICAgICAgICAgPHVwZC1pbnB1dCB3cmFwcGVyQ2xhc3Nlcz1cInctMTAwXCIgY3VzdG9tQ2xhc3Nlcz1cImgtMTAwXCIgdHlwZT1cInRleHRcIiAodmFsdWVDaGFuZ2UpPVwidXBkYXRlVmFsdWUoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgW3ZhbHVlXT1cInNlbGVjdGVkVmFsdWVcIj48L3VwZC1pbnB1dD5cbiAgICAgICAgfVxuICAgIH1cbn0gQGVsc2Uge1xuICAgIDxkaXYgY2xhc3M9XCJ3LTEwMFwiPlxuICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbCBoLTEwMFwiIGRpc2FibGVkPlxuICAgIDwvZGl2PlxufVxuXG48dXBkLWJ1dHRvbiBjbGFzcz1cImZsZXgtc2hyaW5rLTFcIiBjb2xvclN0eWxlPVwiZGFuZ2VyXCIgW2lzRGlzYWJsZWRdPVwiaXNEaXNhYmxlZCgpXCIgW2lzT3V0bGluZV09XCJ0cnVlXCIgW2lzSWNvbl09XCJ0cnVlXCJcbiAgICBbaWNvbk1vZGVsXT1cInt0YWJsZXJJY29uOid4J31cIiAoY2xpY2tlZCk9XCJyZW1vdmVGaWx0ZXJJdGVtKClcIj48L3VwZC1idXR0b24+XG4iXX0=
@@ -0,0 +1,72 @@
1
+ import { Component, model, inject } from '@angular/core';
2
+ import { Validators, FormGroup } from '@angular/forms';
3
+ import { DynamicFieldType } from '@updevs/components/form';
4
+ import { BaseModal } from '@updevs/components/modal';
5
+ import { SavedViewsStorage } from '../../services/storages/saved-views.storage';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@jsverse/transloco";
8
+ import * as i2 from "@updevs/components/button";
9
+ import * as i3 from "@updevs/components/form";
10
+ export class SaveSearchComponent extends BaseModal {
11
+ constructor() {
12
+ super(...arguments);
13
+ this.formGroup = model(new FormGroup({}));
14
+ this.formRows = [];
15
+ this.savedViewsStorage = inject(SavedViewsStorage);
16
+ this.uniqueNameValidator = () => (control) => {
17
+ const existingRecord = this.savedViewsStorage.getByName(this.data().tableName, control.value);
18
+ return !!existingRecord
19
+ ? { nameNotUnique: { errorText: { text: 'UpDevs.Table.SavedViews.NameNotUnique', isTranslated: false } } }
20
+ // eslint-disable-next-line no-null/no-null
21
+ : null;
22
+ };
23
+ }
24
+ ngOnInit() {
25
+ this.formRows = [
26
+ {
27
+ fields: [
28
+ {
29
+ name: 'name',
30
+ type: DynamicFieldType.Input,
31
+ colSize: { default: 12 },
32
+ label: { text: 'UpDevs.Table.SaveSearch.Name', isTranslated: false },
33
+ validators: [Validators.required, Validators.minLength(3), this.uniqueNameValidator()],
34
+ initValue: this.data().name
35
+ }
36
+ ]
37
+ },
38
+ {
39
+ fields: [
40
+ {
41
+ name: 'isDefault',
42
+ type: DynamicFieldType.Checkbox,
43
+ colSize: { default: 6 },
44
+ label: { text: 'UpDevs.Table.SaveSearch.IsDefault', isTranslated: false },
45
+ hint: { text: 'UpDevs.Table.SaveSearch.IsDefaultHint', isTranslated: false },
46
+ hintAsTooltip: true,
47
+ initValue: this.data().isDefault || false
48
+ }
49
+ ]
50
+ }
51
+ ];
52
+ }
53
+ cancel() {
54
+ this.modalRef().close();
55
+ }
56
+ save() {
57
+ const formValue = this.formGroup().value;
58
+ const data = { ...this.data(), name: formValue.name, isDefault: formValue.isDefault };
59
+ if (data.isDefault) {
60
+ this.savedViewsStorage.resetAllIsDefault(this.data().tableName);
61
+ }
62
+ this.savedViewsStorage.saveView(data);
63
+ this.modalRef().close();
64
+ }
65
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: SaveSearchComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
66
+ 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.TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "component", type: i2.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"], outputs: ["clicked"] }, { kind: "component", type: i3.FormComponent, selector: "upd-form", inputs: ["rows", "layout", "title", "hasActionsSection", "isCard", "isDisabled", "isLoading", "isSaving", "formData", "formGroup"], outputs: ["initialized", "dataLoaded", "submitted", "formDataChange", "formGroupChange"] }] }); }
67
+ }
68
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: SaveSearchComponent, decorators: [{
69
+ type: Component,
70
+ 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" }]
71
+ }] });
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2F2ZS1zZWFyY2guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3RhYmxlL3NyYy9jb21wb25lbnRzL3NhdmUtc2VhcmNoL3NhdmUtc2VhcmNoLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90YWJsZS9zcmMvY29tcG9uZW50cy9zYXZlLXNlYXJjaC9zYXZlLXNlYXJjaC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQWtELE1BQU0sZ0JBQWdCLENBQUM7QUFDdkcsT0FBTyxFQUFnQixnQkFBZ0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUdyRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQzs7Ozs7QUFPaEYsTUFBTSxPQUFPLG1CQUFvQixTQUFRLFNBQXlCO0lBTGxFOztRQU1JLGNBQVMsR0FBRyxLQUFLLENBQUMsSUFBSSxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNyQyxhQUFRLEdBQW1CLEVBQUUsQ0FBQztRQUViLHNCQUFpQixHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBZ0R2RCx3QkFBbUIsR0FBRyxHQUFnQixFQUFFLENBQUMsQ0FBQyxPQUF3QixFQUEyQixFQUFFO1lBQ25HLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDOUYsT0FBTyxDQUFDLENBQUMsY0FBYztnQkFDbkIsQ0FBQyxDQUFDLEVBQUUsYUFBYSxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsSUFBSSxFQUFFLHVDQUF1QyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFO2dCQUMxRywyQ0FBMkM7Z0JBQzNDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDZixDQUFDLENBQUM7S0FDTDtJQXJERyxRQUFRO1FBQ0osSUFBSSxDQUFDLFFBQVEsR0FBRztZQUNaO2dCQUNJLE1BQU0sRUFBRTtvQkFDSjt3QkFDSSxJQUFJLEVBQUUsTUFBTTt3QkFDWixJQUFJLEVBQUUsZ0JBQWdCLENBQUMsS0FBSzt3QkFDNUIsT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRTt3QkFDeEIsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLDhCQUE4QixFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUU7d0JBQ3BFLFVBQVUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQzt3QkFDdEYsU0FBUyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJO3FCQUM5QjtpQkFDSjthQUNKO1lBQ0Q7Z0JBQ0ksTUFBTSxFQUFFO29CQUNKO3dCQUNJLElBQUksRUFBRSxXQUFXO3dCQUNqQixJQUFJLEVBQUUsZ0JBQWdCLENBQUMsUUFBUTt3QkFDL0IsT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRTt3QkFDdkIsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLG1DQUFtQyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUU7d0JBQ3pFLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSx1Q0FBdUMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFO3dCQUM1RSxhQUFhLEVBQUUsSUFBSTt3QkFDbkIsU0FBUyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxTQUFTLElBQUksS0FBSztxQkFDNUM7aUJBQ0o7YUFDSjtTQUNKLENBQUM7SUFDTixDQUFDO0lBRUQsTUFBTTtRQUNGLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBSTtRQUNBLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxLQUFZLENBQUM7UUFDaEQsTUFBTSxJQUFJLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsU0FBUyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBRXRGLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDcEUsQ0FBQztRQUVELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzVCLENBQUM7OEdBbERRLG1CQUFtQjtrR0FBbkIsbUJBQW1CLHlRQ2JoQyxtdUJBZ0JBOzsyRkRIYSxtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0ksaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBtb2RlbCwgaW5qZWN0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFZhbGlkYXRvcnMsIEZvcm1Hcm91cCwgVmFsaWRhdG9yRm4sIEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEZvcm1Sb3dNb2RlbCwgRHluYW1pY0ZpZWxkVHlwZSB9IGZyb20gJ0B1cGRldnMvY29tcG9uZW50cy9mb3JtJztcbmltcG9ydCB7IEJhc2VNb2RhbCB9IGZyb20gJ0B1cGRldnMvY29tcG9uZW50cy9tb2RhbCc7XG5cbmltcG9ydCB7IFNhdmVkVmlld01vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3NhdmVkLXZpZXcubW9kZWwnO1xuaW1wb3J0IHsgU2F2ZWRWaWV3c1N0b3JhZ2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zdG9yYWdlcy9zYXZlZC12aWV3cy5zdG9yYWdlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd1cGQtc2F2ZS1zZWFyY2gnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zYXZlLXNlYXJjaC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL3NhdmUtc2VhcmNoLmNvbXBvbmVudC5zY3NzJ1xufSlcbmV4cG9ydCBjbGFzcyBTYXZlU2VhcmNoQ29tcG9uZW50IGV4dGVuZHMgQmFzZU1vZGFsPFNhdmVkVmlld01vZGVsPiBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgZm9ybUdyb3VwID0gbW9kZWwobmV3IEZvcm1Hcm91cCh7fSkpO1xuICAgIGZvcm1Sb3dzOiBGb3JtUm93TW9kZWxbXSA9IFtdO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBzYXZlZFZpZXdzU3RvcmFnZSA9IGluamVjdChTYXZlZFZpZXdzU3RvcmFnZSk7XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5mb3JtUm93cyA9IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBmaWVsZHM6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ25hbWUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogRHluYW1pY0ZpZWxkVHlwZS5JbnB1dCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbFNpemU6IHsgZGVmYXVsdDogMTIgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiB7IHRleHQ6ICdVcERldnMuVGFibGUuU2F2ZVNlYXJjaC5OYW1lJywgaXNUcmFuc2xhdGVkOiBmYWxzZSB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWRhdG9yczogW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWluTGVuZ3RoKDMpLCB0aGlzLnVuaXF1ZU5hbWVWYWxpZGF0b3IoKV0sXG4gICAgICAgICAgICAgICAgICAgICAgICBpbml0VmFsdWU6IHRoaXMuZGF0YSgpLm5hbWVcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZmllbGRzOiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdpc0RlZmF1bHQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogRHluYW1pY0ZpZWxkVHlwZS5DaGVja2JveCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbFNpemU6IHsgZGVmYXVsdDogNiB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHsgdGV4dDogJ1VwRGV2cy5UYWJsZS5TYXZlU2VhcmNoLklzRGVmYXVsdCcsIGlzVHJhbnNsYXRlZDogZmFsc2UgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGhpbnQ6IHsgdGV4dDogJ1VwRGV2cy5UYWJsZS5TYXZlU2VhcmNoLklzRGVmYXVsdEhpbnQnLCBpc1RyYW5zbGF0ZWQ6IGZhbHNlIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBoaW50QXNUb29sdGlwOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgaW5pdFZhbHVlOiB0aGlzLmRhdGEoKS5pc0RlZmF1bHQgfHwgZmFsc2VcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH1cbiAgICAgICAgXTtcbiAgICB9XG5cbiAgICBjYW5jZWwoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubW9kYWxSZWYoKS5jbG9zZSgpO1xuICAgIH1cblxuICAgIHNhdmUoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGZvcm1WYWx1ZSA9IHRoaXMuZm9ybUdyb3VwKCkudmFsdWUgYXMgYW55O1xuICAgICAgICBjb25zdCBkYXRhID0geyAuLi50aGlzLmRhdGEoKSwgbmFtZTogZm9ybVZhbHVlLm5hbWUsIGlzRGVmYXVsdDogZm9ybVZhbHVlLmlzRGVmYXVsdCB9O1xuXG4gICAgICAgIGlmIChkYXRhLmlzRGVmYXVsdCkge1xuICAgICAgICAgICAgdGhpcy5zYXZlZFZpZXdzU3RvcmFnZS5yZXNldEFsbElzRGVmYXVsdCh0aGlzLmRhdGEoKS50YWJsZU5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zYXZlZFZpZXdzU3RvcmFnZS5zYXZlVmlldyhkYXRhKTtcbiAgICAgICAgdGhpcy5tb2RhbFJlZigpLmNsb3NlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1bmlxdWVOYW1lVmFsaWRhdG9yID0gKCk6IFZhbGlkYXRvckZuID0+IChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XG4gICAgICAgIGNvbnN0IGV4aXN0aW5nUmVjb3JkID0gdGhpcy5zYXZlZFZpZXdzU3RvcmFnZS5nZXRCeU5hbWUodGhpcy5kYXRhKCkudGFibGVOYW1lLCBjb250cm9sLnZhbHVlKTtcbiAgICAgICAgcmV0dXJuICEhZXhpc3RpbmdSZWNvcmRcbiAgICAgICAgICAgID8geyBuYW1lTm90VW5pcXVlOiB7IGVycm9yVGV4dDogeyB0ZXh0OiAnVXBEZXZzLlRhYmxlLlNhdmVkVmlld3MuTmFtZU5vdFVuaXF1ZScsIGlzVHJhbnNsYXRlZDogZmFsc2UgfSB9IH1cbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1udWxsL25vLW51bGxcbiAgICAgICAgICAgIDogbnVsbDtcbiAgICB9O1xufVxuIiwiPG5nLWNvbnRhaW5lciAqdHJhbnNsb2NvPVwibGV0IHQ7IHByZWZpeDogJ1VwRGV2cy5UYWJsZS5TYXZlU2VhcmNoJ1wiPlxuICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1oZWFkZXJcIj5cbiAgICAgICAgPGg1IGNsYXNzPVwibW9kYWwtdGl0bGVcIj57eyB0KCdUaXRsZScpIH19PC9oNT5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwibW9kYWwtYm9keSBweS00XCI+XG4gICAgICAgIDx1cGQtZm9ybSBbcm93c109XCJmb3JtUm93c1wiIFtoYXNBY3Rpb25zU2VjdGlvbl09XCJmYWxzZVwiIFsoZm9ybUdyb3VwKV09XCJmb3JtR3JvdXBcIj48L3VwZC1mb3JtPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1mb290ZXJcIj5cbiAgICAgICAgPHVwZC1idXR0b24gY29sb3JTdHlsZT1cInNlY29uZGFyeVwiIFtpc0xpbmtdPVwidHJ1ZVwiIChjbGlja2VkKT1cImNhbmNlbCgpXCI+XG4gICAgICAgICAgICB7eyB0KCdDYW5jZWwnKSB9fVxuICAgICAgICA8L3VwZC1idXR0b24+XG4gICAgICAgIDx1cGQtYnV0dG9uIGNvbG9yU3R5bGU9XCJwcmltYXJ5XCIgW2ljb25Nb2RlbF09XCJ7dGFibGVySWNvbjonZGV2aWNlLWZsb3BweSd9XCIgKGNsaWNrZWQpPVwic2F2ZSgpXCIgW2lzRGlzYWJsZWRdPVwiIWZvcm1Hcm91cCgpLnZhbGlkXCI+XG4gICAgICAgICAgICB7eyB0KCdTYXZlJykgfX1cbiAgICAgICAgPC91cGQtYnV0dG9uPlxuICAgIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG4iXX0=
@@ -0,0 +1,93 @@
1
+ import { Component, input, HostBinding, signal, computed, model, effect, inject } from '@angular/core';
2
+ import { BaseComponent } from '@updevs/sdk/layout';
3
+ import { Subject, distinctUntilChanged, debounceTime } from 'rxjs';
4
+ import { FilterTools } from '../../tools/filters.tools';
5
+ import { FiltersOperandsService } from '../../abstractions/filters-operands.service';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/common";
8
+ import * as i2 from "@jsverse/transloco";
9
+ import * as i3 from "@updevs/icons";
10
+ import * as i4 from "@updevs/components/button";
11
+ import * as i5 from "@updevs/components/form-controls/input";
12
+ import * as i6 from "../filter-row/filter-row.component";
13
+ export class SearchSectionComponent extends BaseComponent {
14
+ constructor() {
15
+ super();
16
+ this.wrapperClass = 'card-body border-bottom py-3 d-flex flex-column gap-2';
17
+ this.searchRequest = model.required();
18
+ this.hasChanges = model.required();
19
+ this.columns = input.required();
20
+ this.isSearching = input.required();
21
+ this.searchRequestSubject = input.required();
22
+ this.config = input.required();
23
+ this.actionsTpl = input();
24
+ this.activeFilters = signal([]);
25
+ this.isFilterSectionOpen = signal(false);
26
+ this.canApplyFilters = computed(() => this.activeFilters().length > 0
27
+ && this.activeFilters().every(af => !!af.name && !!af.operandConfig?.operand && (!af.operandConfig?.requiresValue || !!af.value)));
28
+ this.canPerformActions = computed(() => this.canApplyFilters() && !this.isSearching());
29
+ this.badgeConfig = computed(() => (this.searchRequest().filters?.length || 0) > 0
30
+ ? ({
31
+ isNotification: true,
32
+ isPill: true,
33
+ bgColor: 'primary-lt',
34
+ text: { text: this.searchRequest().filters.length.toString(), isTranslated: true }
35
+ })
36
+ : undefined);
37
+ this.filterSectionBtnColor = computed(() => this.isFilterSectionOpen() ? 'primary' : undefined);
38
+ this.searchSubject = new Subject();
39
+ this.filtersOperandsService = inject(FiltersOperandsService);
40
+ effect(() => {
41
+ if ((this.searchRequest().filters?.length || 0) > 0) {
42
+ this.activeFilters.set([...FilterTools.convertToFilterItem(this.searchRequest().filters || [], this.filtersOperandsService.getAllOperands())]);
43
+ }
44
+ else {
45
+ this.activeFilters.set([]);
46
+ this.isFilterSectionOpen.set(false);
47
+ }
48
+ }, { allowSignalWrites: true });
49
+ }
50
+ ngOnInit() {
51
+ const searchSub = this.searchSubject
52
+ .pipe(distinctUntilChanged(), debounceTime(this.config().searchInputDebounceTime))
53
+ .subscribe(term => this.searchRequestSubject().next({
54
+ ...this.searchRequest(),
55
+ description: term
56
+ }));
57
+ this.addSubscriptions(searchSub);
58
+ }
59
+ search() {
60
+ this.searchRequestSubject().next({
61
+ ...this.searchRequest(),
62
+ filters: FilterTools.convertToRequestFilter(this.activeFilters(), this.config().columns)
63
+ });
64
+ }
65
+ toggleFilterSection() {
66
+ if (this.activeFilters().length === 0) {
67
+ this.addEmptyFilterRow();
68
+ }
69
+ this.isFilterSectionOpen.update(isOpen => !isOpen);
70
+ }
71
+ onRowRemoved() {
72
+ if (this.activeFilters().length === 0) {
73
+ this.isFilterSectionOpen.set(false);
74
+ }
75
+ this.search();
76
+ }
77
+ addEmptyFilterRow() {
78
+ this.activeFilters.update(curr => {
79
+ curr.push({});
80
+ return [...curr];
81
+ });
82
+ }
83
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: SearchSectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
84
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: SearchSectionComponent, selector: "upd-search-section", inputs: { searchRequest: { classPropertyName: "searchRequest", publicName: "searchRequest", isSignal: true, isRequired: true, transformFunction: null }, hasChanges: { classPropertyName: "hasChanges", publicName: "hasChanges", isSignal: true, isRequired: true, transformFunction: null }, columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: true, transformFunction: null }, isSearching: { classPropertyName: "isSearching", publicName: "isSearching", isSignal: true, isRequired: true, transformFunction: null }, searchRequestSubject: { classPropertyName: "searchRequestSubject", publicName: "searchRequestSubject", 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 } }, outputs: { searchRequest: "searchRequestChange", hasChanges: "hasChangesChange" }, 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}\" [isAppendButton]=\"true\"\n (valueChange)=\"searchSubject.next($event)\" [value]=\"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'\" [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; let i = $index) {\n <upd-filter-row [store]=\"config().store\" [currentFilter]=\"row\" [(activeFilters)]=\"activeFilters\" [columns]=\"columns()\"\n [rowIndex]=\"i\" (removed)=\"onRowRemoved()\" [isDisabled]=\"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()\" (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>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.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"], 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: i6.FilterRowComponent, selector: "upd-filter-row", inputs: ["activeFilters", "rowIndex", "columns", "isDisabled", "store", "currentFilter"], outputs: ["removed", "activeFiltersChange"] }] }); }
85
+ }
86
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: SearchSectionComponent, decorators: [{
87
+ type: Component,
88
+ 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}\" [isAppendButton]=\"true\"\n (valueChange)=\"searchSubject.next($event)\" [value]=\"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'\" [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; let i = $index) {\n <upd-filter-row [store]=\"config().store\" [currentFilter]=\"row\" [(activeFilters)]=\"activeFilters\" [columns]=\"columns()\"\n [rowIndex]=\"i\" (removed)=\"onRowRemoved()\" [isDisabled]=\"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()\" (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>\n" }]
89
+ }], ctorParameters: () => [], propDecorators: { wrapperClass: [{
90
+ type: HostBinding,
91
+ args: ['class']
92
+ }] } });
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXNlY3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3RhYmxlL3NyYy9jb21wb25lbnRzL3NlYXJjaC1zZWN0aW9uL3NlYXJjaC1zZWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90YWJsZS9zcmMvY29tcG9uZW50cy9zZWFyY2gtc2VjdGlvbi9zZWFyY2gtc2VjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBZSxXQUFXLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU1SCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFHbkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJbkUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRXhELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDOzs7Ozs7OztBQU9yRixNQUFNLE9BQU8sc0JBQTBCLFNBQVEsYUFBYTtJQWdDeEQ7UUFDSSxLQUFLLEVBQUUsQ0FBQztRQWhDVSxpQkFBWSxHQUFHLHVEQUF1RCxDQUFDO1FBRTdGLGtCQUFhLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBc0IsQ0FBQztRQUNyRCxlQUFVLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBVyxDQUFDO1FBQ3ZDLFlBQU8sR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFxQixDQUFDO1FBQzlDLGdCQUFXLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBVyxDQUFDO1FBQ3hDLHlCQUFvQixHQUFHLEtBQUss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OzhHQTNGUSxzQkFBc0I7a0dBQXRCLHNCQUFzQix3cUNDbEJuQyx3Z0VBcUNBOzsyRkRuQmEsc0JBQXNCO2tCQUxsQyxTQUFTOytCQUNJLG9CQUFvQjt3REFLUixZQUFZO3NCQUFqQyxXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGlucHV0LCBUZW1wbGF0ZVJlZiwgSG9zdEJpbmRpbmcsIHNpZ25hbCwgY29tcHV0ZWQsIG1vZGVsLCBPbkluaXQsIGVmZmVjdCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTZWFyY2hSZXF1ZXN0TW9kZWwgfSBmcm9tICdAdXBkZXZzL3Nkay9zdG9yZXMnO1xuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gJ0B1cGRldnMvc2RrL2xheW91dCc7XG5pbXBvcnQgeyBPcHRpb25hbFR5cGUsIEJnQ29sb3JTdHlsZVR5cGUgfSBmcm9tICdAdXBkZXZzL3Nkay90eXBlcyc7XG5pbXBvcnQgeyBCYWRnZUNvbmZpZyB9IGZyb20gJ0B1cGRldnMvY29tcG9uZW50cy9iYWRnZSc7XG5pbXBvcnQgeyBTdWJqZWN0LCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEZpbHRlckl0ZW1Nb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9maWx0ZXItaXRlbS5tb2RlbCc7XG5pbXBvcnQgeyBUYWJsZUNvbmZpZ01vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3RhYmxlLWNvbmZpZy5tb2RlbCc7XG5pbXBvcnQgeyBGaWx0ZXJUb29scyB9IGZyb20gJy4uLy4uL3Rvb2xzL2ZpbHRlcnMudG9vbHMnO1xuaW1wb3J0IHsgQmFzZUNvbHVtbk1vZGVsIH0gZnJvbSAnLi4vLi4vYWJzdHJhY3Rpb25zL2Jhc2UtY29sdW1uLm1vZGVsJztcbmltcG9ydCB7IEZpbHRlcnNPcGVyYW5kc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9hYnN0cmFjdGlvbnMvZmlsdGVycy1vcGVyYW5kcy5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd1cGQtc2VhcmNoLXNlY3Rpb24nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2gtc2VjdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL3NlYXJjaC1zZWN0aW9uLmNvbXBvbmVudC5zY3NzJ1xufSlcbmV4cG9ydCBjbGFzcyBTZWFyY2hTZWN0aW9uQ29tcG9uZW50PFQ+IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIHdyYXBwZXJDbGFzcyA9ICdjYXJkLWJvZHkgYm9yZGVyLWJvdHRvbSBweS0zIGQtZmxleCBmbGV4LWNvbHVtbiBnYXAtMic7XG5cbiAgICBzZWFyY2hSZXF1ZXN0ID0gbW9kZWwucmVxdWlyZWQ8U2VhcmNoUmVxdWVzdE1vZGVsPigpO1xuICAgIGhhc0NoYW5nZXMgPSBtb2RlbC5yZXF1aXJlZDxib29sZWFuPigpO1xuICAgIGNvbHVtbnMgPSBpbnB1dC5yZXF1aXJlZDxCYXNlQ29sdW1uTW9kZWxbXT4oKTtcbiAgICBpc1NlYXJjaGluZyA9IGlucHV0LnJlcXVpcmVkPGJvb2xlYW4+KCk7XG4gICAgc2VhcmNoUmVxdWVzdFN1YmplY3QgPSBpbnB1dC5yZXF1aXJlZDxTdWJqZWN0PFNlYXJjaFJlcXVlc3RNb2RlbD4+KCk7XG4gICAgY29uZmlnID0gaW5wdXQucmVxdWlyZWQ8VGFibGVDb25maWdNb2RlbDxUPj4oKTtcbiAgICBhY3Rpb25zVHBsID0gaW5wdXQ8VGVtcGxhdGVSZWY8YW55Pj4oKTtcbiAgICBhY3RpdmVGaWx0ZXJzID0gc2lnbmFsPEZpbHRlckl0ZW1Nb2RlbFtdPihbXSk7XG4gICAgaXNGaWx0ZXJTZWN0aW9uT3BlbiA9IHNpZ25hbChmYWxzZSk7XG4gICAgY2FuQXBwbHlGaWx0ZXJzID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5hY3RpdmVGaWx0ZXJzKCkubGVuZ3RoID4gMFxuICAgICAgICAmJiB0aGlzLmFjdGl2ZUZpbHRlcnMoKS5ldmVyeShhZiA9PiAhIWFmLm5hbWUgJiYgISFhZi5vcGVyYW5kQ29uZmlnPy5vcGVyYW5kICYmICghYWYub3BlcmFuZENvbmZpZz8ucmVxdWlyZXNWYWx1ZSB8fCAhIWFmLnZhbHVlKSlcbiAgICApO1xuICAgIGNhblBlcmZvcm1BY3Rpb25zID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5jYW5BcHBseUZpbHRlcnMoKSAmJiAhdGhpcy5pc1NlYXJjaGluZygpKTtcbiAgICBiYWRnZUNvbmZpZyA9IGNvbXB1dGVkPE9wdGlvbmFsVHlwZTxCYWRnZUNvbmZpZz4+KCgpID0+XG4gICAgICAgICh0aGlzLnNlYXJjaFJlcXVlc3QoKS5maWx0ZXJzPy5sZW5ndGggfHwgMCkgPiAwXG4gICAgICAgICAgICA/ICh7XG4gICAgICAgICAgICAgICAgaXNOb3RpZmljYXRpb246IHRydWUsXG4gICAgICAgICAgICAgICAgaXNQaWxsOiB0cnVlLFxuICAgICAgICAgICAgICAgIGJnQ29sb3I6ICdwcmltYXJ5LWx0JyxcbiAgICAgICAgICAgICAgICB0ZXh0OiB7IHRleHQ6IHRoaXMuc2VhcmNoUmVxdWVzdCgpLmZpbHRlcnMhLmxlbmd0aC50b1N0cmluZygpLCBpc1RyYW5zbGF0ZWQ6IHRydWUgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIDogdW5kZWZpbmVkXG4gICAgKTtcbiAgICBmaWx0ZXJTZWN0aW9uQnRuQ29sb3IgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmlzRmlsdGVyU2VjdGlvbk9wZW4oKSA/IDxCZ0NvbG9yU3R5bGVUeXBlPidwcmltYXJ5JyA6IHVuZGVmaW5lZCk7XG5cbiAgICByZWFkb25seSBzZWFyY2hTdWJqZWN0ID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBmaWx0ZXJzT3BlcmFuZHNTZXJ2aWNlID0gaW5qZWN0KEZpbHRlcnNPcGVyYW5kc1NlcnZpY2UpO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCk7XG5cbiAgICAgICAgZWZmZWN0KCgpID0+IHtcbiAgICAgICAgICAgIGlmICgodGhpcy5zZWFyY2hSZXF1ZXN0KCkuZmlsdGVycz8ubGVuZ3RoIHx8IDApID4gMCkge1xuICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlRmlsdGVycy5zZXQoXG4gICAgICAgICAgICAgICAgICAgIFsuLi5GaWx0ZXJUb29scy5jb252ZXJ0VG9GaWx0ZXJJdGVtKHRoaXMuc2VhcmNoUmVxdWVzdCgpLmZpbHRlcnMgfHwgW10sIHRoaXMuZmlsdGVyc09wZXJhbmRzU2VydmljZS5nZXRBbGxPcGVyYW5kcygpKV1cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFjdGl2ZUZpbHRlcnMuc2V0KFtdKTtcbiAgICAgICAgICAgICAgICB0aGlzLmlzRmlsdGVyU2VjdGlvbk9wZW4uc2V0KGZhbHNlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSwgeyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9KTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgc2VhcmNoU3ViID0gdGhpcy5zZWFyY2hTdWJqZWN0XG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICAgICAgICAgIGRlYm91bmNlVGltZSh0aGlzLmNvbmZpZygpLnNlYXJjaElucHV0RGVib3VuY2VUaW1lKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSh0ZXJtID0+XG4gICAgICAgICAgICAgICAgdGhpcy5zZWFyY2hSZXF1ZXN0U3ViamVjdCgpLm5leHQoe1xuICAgICAgICAgICAgICAgICAgICAuLi50aGlzLnNlYXJjaFJlcXVlc3QoKSxcbiAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IHRlcm1cbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcblxuICAgICAgICB0aGlzLmFkZFN1YnNjcmlwdGlvbnMoc2VhcmNoU3ViKTtcbiAgICB9XG5cbiAgICBzZWFyY2goKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VhcmNoUmVxdWVzdFN1YmplY3QoKS5uZXh0KHtcbiAgICAgICAgICAgIC4uLnRoaXMuc2VhcmNoUmVxdWVzdCgpLFxuICAgICAgICAgICAgZmlsdGVyczogRmlsdGVyVG9vbHMuY29udmVydFRvUmVxdWVzdEZpbHRlcih0aGlzLmFjdGl2ZUZpbHRlcnMoKSwgdGhpcy5jb25maWcoKS5jb2x1bW5zKVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICB0b2dnbGVGaWx0ZXJTZWN0aW9uKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5hY3RpdmVGaWx0ZXJzKCkubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICB0aGlzLmFkZEVtcHR5RmlsdGVyUm93KCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmlzRmlsdGVyU2VjdGlvbk9wZW4udXBkYXRlKGlzT3BlbiA9PiAhaXNPcGVuKTtcbiAgICB9XG5cbiAgICBvblJvd1JlbW92ZWQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmFjdGl2ZUZpbHRlcnMoKS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHRoaXMuaXNGaWx0ZXJTZWN0aW9uT3Blbi5zZXQoZmFsc2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zZWFyY2goKTtcbiAgICB9XG5cbiAgICBhZGRFbXB0eUZpbHRlclJvdygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hY3RpdmVGaWx0ZXJzLnVwZGF0ZShjdXJyID0+IHtcbiAgICAgICAgICAgIGN1cnIucHVzaCh7fSk7XG4gICAgICAgICAgICByZXR1cm4gWy4uLmN1cnJdO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyICp0cmFuc2xvY289XCJsZXQgdDsgcHJlZml4OiAnVXBEZXZzLlRhYmxlJ1wiPlxuICAgIEBpZiAoISFhY3Rpb25zVHBsKCkpIHtcbiAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImFjdGlvbnNUcGwoKSFcIj48L25nLXRlbXBsYXRlPlxuICAgIH1cblxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yXCI+XG4gICAgICAgIDx1cGQtaW5wdXQgd3JhcHBlckNsYXNzZXM9XCJ3LTEwMFwiIFtwbGFjZWhvbGRlcl09XCJ7dGV4dDonVXBEZXZzLlRhYmxlLlNlYXJjaCcsIGlzVHJhbnNsYXRlZDpmYWxzZX1cIiBbaXNBcHBlbmRCdXR0b25dPVwidHJ1ZVwiXG4gICAgICAgICAgICAodmFsdWVDaGFuZ2UpPVwic2VhcmNoU3ViamVjdC5uZXh0KCRldmVudClcIiBbdmFsdWVdPVwic2VhcmNoUmVxdWVzdCgpLmRlc2NyaXB0aW9uXCI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgdXBkSW5wdXRBcHBlbmQ+XG4gICAgICAgICAgICAgICAgPHVwZC1idXR0b24gW2lzSWNvbl09XCJ0cnVlXCIgW2NvbG9yU3R5bGVdPVwiZmlsdGVyU2VjdGlvbkJ0bkNvbG9yKClcIiAoY2xpY2tlZCk9XCJ0b2dnbGVGaWx0ZXJTZWN0aW9uKClcIlxuICAgICAgICAgICAgICAgICAgICBbYmFkZ2VDb25maWddPVwiYmFkZ2VDb25maWcoKVwiPlxuICAgICAgICAgICAgICAgICAgICA8dXBkLWljb24gW3RhYmxlckljb25dPVwiaXNGaWx0ZXJTZWN0aW9uT3BlbigpID8gJ2ZpbHRlci11cCcgOiAnZmlsdGVyLWRvd24nXCIgW3RhYmxlckljb25TaXplXT1cIjIwXCI+PC91cGQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L3VwZC1idXR0b24+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L3VwZC1pbnB1dD5cbiAgICA8L2Rpdj5cblxuICAgIEBpZiAoaXNGaWx0ZXJTZWN0aW9uT3BlbigpKSB7XG4gICAgICAgIEBmb3IgKHJvdyBvZiBhY3RpdmVGaWx0ZXJzKCk7IHRyYWNrIHJvdzsgbGV0IGkgPSAkaW5kZXgpIHtcbiAgICAgICAgICAgIDx1cGQtZmlsdGVyLXJvdyBbc3RvcmVdPVwiY29uZmlnKCkuc3RvcmVcIiBbY3VycmVudEZpbHRlcl09XCJyb3dcIiBbKGFjdGl2ZUZpbHRlcnMpXT1cImFjdGl2ZUZpbHRlcnNcIiBbY29sdW1uc109XCJjb2x1bW5zKClcIlxuICAgICAgICAgICAgICAgIFtyb3dJbmRleF09XCJpXCIgKHJlbW92ZWQpPVwib25Sb3dSZW1vdmVkKClcIiBbaXNEaXNhYmxlZF09XCJpc1NlYXJjaGluZygpXCI+XG4gICAgICAgICAgICA8L3VwZC1maWx0ZXItcm93PlxuICAgICAgICB9XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1zLWF1dG8gZC1mbGV4IGdhcC0yXCI+XG4gICAgICAgICAgICA8dXBkLWJ1dHRvbiBjdXN0b21DbGFzc2VzPVwiZ2FwLTJcIiBjb2xvclN0eWxlPVwicHJpbWFyeVwiIFtpc091dGxpbmVdPVwidHJ1ZVwiIChjbGlja2VkKT1cImFkZEVtcHR5RmlsdGVyUm93KClcIlxuICAgICAgICAgICAgICAgIFtpc0Rpc2FibGVkXT1cIiFjYW5QZXJmb3JtQWN0aW9ucygpXCI+XG4gICAgICAgICAgICAgICAgPHVwZC1pY29uIHRhYmxlckljb249XCJwbHVzXCIgdGFibGVySWNvbldlaWdodD1cImJvbGRcIiBbdGFibGVySWNvblNpemVdPVwiMjBcIj48L3VwZC1pY29uPlxuICAgICAgICAgICAgICAgIHt7IHQoJ0FkZE5ld0ZpbHRlcicpIH19XG4gICAgICAgICAgICA8L3VwZC1idXR0b24+XG4gICAgICAgICAgICA8dXBkLWJ1dHRvbiBjdXN0b21DbGFzc2VzPVwiZ2FwLTJcIiBjb2xvclN0eWxlPVwic3VjY2Vzc1wiIFtpc0Rpc2FibGVkXT1cIiFjYW5QZXJmb3JtQWN0aW9ucygpXCIgKGNsaWNrZWQpPVwic2VhcmNoKClcIj5cbiAgICAgICAgICAgICAgICA8dXBkLWljb24gdGFibGVySWNvbj1cImNoZWNrc1wiIHRhYmxlckljb25XZWlnaHQ9XCJib2xkXCIgW3RhYmxlckljb25TaXplXT1cIjIwXCI+PC91cGQtaWNvbj5cbiAgICAgICAgICAgICAgICB7eyB0KCdBcHBseUZpbHRlcnMnKSB9fVxuICAgICAgICAgICAgPC91cGQtYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICB9XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export * from './table-column.directive';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90YWJsZS9zcmMvZGlyZWN0aXZlcy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMEJBQTBCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3RhYmxlLWNvbHVtbi5kaXJlY3RpdmUnO1xuIl19