@updevs/components 1.0.0-alpha.3 → 1.0.0-alpha.30

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 (813) hide show
  1. package/README.md +5 -4
  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 +83 -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-copyright.directive.mjs +13 -0
  247. package/esm2022/layout/partials/footer/footer.component.mjs +55 -0
  248. package/esm2022/layout/partials/footer/footer.module.mjs +28 -0
  249. package/esm2022/layout/partials/footer/public-api.mjs +4 -0
  250. package/esm2022/layout/partials/header/header-style.type.mjs +2 -0
  251. package/esm2022/layout/partials/header/header.component.mjs +129 -0
  252. package/esm2022/layout/partials/header/header.module.mjs +40 -0
  253. package/esm2022/layout/partials/header/public-api.mjs +4 -0
  254. package/esm2022/layout/partials/page-header/page-header.component.mjs +15 -0
  255. package/esm2022/layout/partials/page-header/public-api.mjs +2 -0
  256. package/esm2022/layout/partials/public-api.mjs +5 -0
  257. package/esm2022/layout/partials/sidebar/public-api.mjs +2 -0
  258. package/esm2022/layout/partials/sidebar/sidebar.component.mjs +114 -0
  259. package/esm2022/layout/public-api.mjs +8 -0
  260. package/esm2022/layout/services/public-api.mjs +2 -0
  261. package/esm2022/layout/services/upd-layout-config.service.mjs +21 -0
  262. package/esm2022/layout/tools/layout.constants.mjs +15 -0
  263. package/esm2022/layout/upd-layout.module.mjs +47 -0
  264. package/esm2022/layout/updevs-components-layout.mjs +5 -0
  265. package/esm2022/lib/index.mjs +2 -0
  266. package/esm2022/lib/models/public-api.mjs +2 -0
  267. package/esm2022/lib/models/row-column-size.mjs +2 -0
  268. package/esm2022/lib/public-api.mjs +5 -0
  269. package/esm2022/lib/tools/column-size.helper.mjs +12 -0
  270. package/esm2022/lib/tools/public-api.mjs +2 -0
  271. package/esm2022/lib/types/component-size.type.mjs +2 -0
  272. package/esm2022/lib/types/horizontal-vertical.type.mjs +2 -0
  273. package/esm2022/lib/types/public-api.mjs +4 -0
  274. package/esm2022/lib/types/validation-status.type.mjs +2 -0
  275. package/esm2022/lib/upd-components.module.mjs +14 -0
  276. package/esm2022/link/index.mjs +2 -0
  277. package/esm2022/link/link.component.mjs +51 -0
  278. package/esm2022/link/public-api.mjs +4 -0
  279. package/esm2022/link/target.type.mjs +2 -0
  280. package/esm2022/link/upd-link.module.mjs +24 -0
  281. package/esm2022/link/updevs-components-link.mjs +5 -0
  282. package/esm2022/list/assets/i18n/en.json +9 -0
  283. package/esm2022/list/assets/i18n/pt.json +9 -0
  284. package/esm2022/list/index.mjs +2 -0
  285. package/esm2022/list/list.component.mjs +113 -0
  286. package/esm2022/list/models/badge-position.type.mjs +2 -0
  287. package/esm2022/list/models/list-item.mjs +2 -0
  288. package/esm2022/list/models/list-item.model.mjs +15 -0
  289. package/esm2022/list/models/public-api.mjs +3 -0
  290. package/esm2022/list/public-api.mjs +4 -0
  291. package/esm2022/list/upd-list.module.mjs +44 -0
  292. package/esm2022/list/updevs-components-list.mjs +5 -0
  293. package/esm2022/modal/assets/i18n/en.json +17 -0
  294. package/esm2022/modal/assets/i18n/pt.json +17 -0
  295. package/esm2022/modal/components/modal-container/modal-container.component.mjs +216 -0
  296. package/esm2022/modal/index.mjs +2 -0
  297. package/esm2022/modal/models/base.modal.mjs +14 -0
  298. package/esm2022/modal/models/modal-config.model.mjs +20 -0
  299. package/esm2022/modal/models/modal-ref.mjs +2 -0
  300. package/esm2022/modal/models/modal.config.mjs +2 -0
  301. package/esm2022/modal/models/public-api.mjs +4 -0
  302. package/esm2022/modal/public-api.mjs +4 -0
  303. package/esm2022/modal/services/modal-alert.service.mjs +99 -0
  304. package/esm2022/modal/services/modal.service.mjs +30 -0
  305. package/esm2022/modal/services/public-api.mjs +3 -0
  306. package/esm2022/modal/types/modal-footer-style.type.mjs +2 -0
  307. package/esm2022/modal/types/modal-size.type.mjs +2 -0
  308. package/esm2022/modal/upd-modal.module.mjs +90 -0
  309. package/esm2022/modal/updevs-components-modal.mjs +5 -0
  310. package/esm2022/paginator/assets/i18n/en.json +15 -0
  311. package/esm2022/paginator/assets/i18n/pt.json +15 -0
  312. package/esm2022/paginator/index.mjs +2 -0
  313. package/esm2022/paginator/paginator.component.mjs +66 -0
  314. package/esm2022/paginator/public-api.mjs +3 -0
  315. package/esm2022/paginator/upd-paginator.module.mjs +47 -0
  316. package/esm2022/paginator/updevs-components-paginator.mjs +5 -0
  317. package/esm2022/popover/index.mjs +2 -0
  318. package/esm2022/popover/popover.component.mjs +65 -0
  319. package/esm2022/popover/popover.directive.mjs +129 -0
  320. package/esm2022/popover/public-api.mjs +4 -0
  321. package/esm2022/popover/upd-popover.module.mjs +29 -0
  322. package/esm2022/popover/updevs-components-popover.mjs +5 -0
  323. package/esm2022/public-api.mjs +2 -0
  324. package/esm2022/table/abstractions/base-column.model.mjs +52 -0
  325. package/esm2022/table/abstractions/base.column.mjs +98 -0
  326. package/esm2022/table/abstractions/filters-operands.service.mjs +3 -0
  327. package/esm2022/table/abstractions/public-api.mjs +3 -0
  328. package/esm2022/table/assets/i18n/en.json +74 -0
  329. package/esm2022/table/assets/i18n/pt.json +74 -0
  330. package/esm2022/table/components/columns/boolean-column/boolean-column.component.mjs +26 -0
  331. package/esm2022/table/components/columns/date-time-column/date-time-column.component.mjs +13 -0
  332. package/esm2022/table/components/columns/number-column/number-column.component.mjs +13 -0
  333. package/esm2022/table/components/columns/text-column/text-column.component.mjs +31 -0
  334. package/esm2022/table/components/columns-manager/columns-manager.component.mjs +36 -0
  335. package/esm2022/table/components/filter-row/filter-row.component.mjs +114 -0
  336. package/esm2022/table/components/save-search/save-search.component.mjs +72 -0
  337. package/esm2022/table/components/search-section/search-section.component.mjs +93 -0
  338. package/esm2022/table/directives/public-api.mjs +2 -0
  339. package/esm2022/table/directives/table-column.directive.mjs +51 -0
  340. package/esm2022/table/index.mjs +2 -0
  341. package/esm2022/table/models/columns/boolean-column.model.mjs +22 -0
  342. package/esm2022/table/models/columns/date-time-column.model.mjs +16 -0
  343. package/esm2022/table/models/columns/guid-column.model.mjs +13 -0
  344. package/esm2022/table/models/columns/image-column.model.mjs +11 -0
  345. package/esm2022/table/models/columns/number-column.model.mjs +17 -0
  346. package/esm2022/table/models/columns/public-api.mjs +7 -0
  347. package/esm2022/table/models/columns/text-column.model.mjs +11 -0
  348. package/esm2022/table/models/enums/column-type.enum.mjs +15 -0
  349. package/esm2022/table/models/enums/public-api.mjs +2 -0
  350. package/esm2022/table/models/filter-item.model.mjs +2 -0
  351. package/esm2022/table/models/filter-operand.config.mjs +2 -0
  352. package/esm2022/table/models/operands-lists/boolean-filter-operands-list.model.mjs +25 -0
  353. package/esm2022/table/models/operands-lists/date-filter-operands-list.model.mjs +25 -0
  354. package/esm2022/table/models/operands-lists/date-or-number-operands-list.config.mjs +31 -0
  355. package/esm2022/table/models/operands-lists/filter-operands-list.config.mjs +31 -0
  356. package/esm2022/table/models/operands-lists/guid-filter-operands-list.model.mjs +16 -0
  357. package/esm2022/table/models/operands-lists/number-filter-operands-list.model.mjs +25 -0
  358. package/esm2022/table/models/operands-lists/string-filter-operands-list.model.mjs +45 -0
  359. package/esm2022/table/models/public-api.mjs +5 -0
  360. package/esm2022/table/models/saved-view.model.mjs +2 -0
  361. package/esm2022/table/models/table-config.model.mjs +21 -0
  362. package/esm2022/table/models/table.config.mjs +2 -0
  363. package/esm2022/table/models/upd-table-config.model.mjs +9 -0
  364. package/esm2022/table/models/upd-table.config.mjs +2 -0
  365. package/esm2022/table/public-api.mjs +6 -0
  366. package/esm2022/table/services/default-filters-operands.service.mjs +60 -0
  367. package/esm2022/table/services/storages/saved-views.storage.mjs +56 -0
  368. package/esm2022/table/services/stores/filters-operands.store.mjs +19 -0
  369. package/esm2022/table/services/upd-table-config.service.mjs +18 -0
  370. package/esm2022/table/table.component.mjs +382 -0
  371. package/esm2022/table/tools/filters.tools.mjs +48 -0
  372. package/esm2022/table/tools/table.constants.mjs +15 -0
  373. package/esm2022/table/upd-table.module.mjs +150 -0
  374. package/esm2022/table/updevs-components-table.mjs +5 -0
  375. package/esm2022/updevs-components.mjs +5 -0
  376. package/fesm2022/updevs-components-badge.mjs +91 -0
  377. package/fesm2022/updevs-components-badge.mjs.map +1 -0
  378. package/fesm2022/updevs-components-button.mjs +193 -0
  379. package/fesm2022/updevs-components-button.mjs.map +1 -0
  380. package/fesm2022/updevs-components-calendar.mjs +1712 -0
  381. package/fesm2022/updevs-components-calendar.mjs.map +1 -0
  382. package/fesm2022/updevs-components-card.mjs +238 -0
  383. package/fesm2022/updevs-components-card.mjs.map +1 -0
  384. package/fesm2022/updevs-components-drag-and-drop.mjs +185 -0
  385. package/fesm2022/updevs-components-drag-and-drop.mjs.map +1 -0
  386. package/fesm2022/updevs-components-dropdown.mjs +226 -0
  387. package/fesm2022/updevs-components-dropdown.mjs.map +1 -0
  388. package/fesm2022/updevs-components-form-controls-abstractions.mjs +53 -0
  389. package/fesm2022/updevs-components-form-controls-abstractions.mjs.map +1 -0
  390. package/fesm2022/updevs-components-form-controls-checkbox.mjs +87 -0
  391. package/fesm2022/updevs-components-form-controls-checkbox.mjs.map +1 -0
  392. package/fesm2022/updevs-components-form-controls-date-picker.mjs +190 -0
  393. package/fesm2022/updevs-components-form-controls-date-picker.mjs.map +1 -0
  394. package/fesm2022/updevs-components-form-controls-file-upload.mjs +264 -0
  395. package/fesm2022/updevs-components-form-controls-file-upload.mjs.map +1 -0
  396. package/fesm2022/updevs-components-form-controls-input.mjs +259 -0
  397. package/fesm2022/updevs-components-form-controls-input.mjs.map +1 -0
  398. package/fesm2022/updevs-components-form-controls-radio.mjs +87 -0
  399. package/fesm2022/updevs-components-form-controls-radio.mjs.map +1 -0
  400. package/fesm2022/updevs-components-form-controls-select.mjs +417 -0
  401. package/fesm2022/updevs-components-form-controls-select.mjs.map +1 -0
  402. package/fesm2022/updevs-components-form-controls-textarea.mjs +72 -0
  403. package/fesm2022/updevs-components-form-controls-textarea.mjs.map +1 -0
  404. package/fesm2022/updevs-components-form-controls-time-picker.mjs +345 -0
  405. package/fesm2022/updevs-components-form-controls-time-picker.mjs.map +1 -0
  406. package/fesm2022/updevs-components-form.mjs +436 -0
  407. package/fesm2022/updevs-components-form.mjs.map +1 -0
  408. package/fesm2022/updevs-components-layout.mjs +940 -0
  409. package/fesm2022/updevs-components-layout.mjs.map +1 -0
  410. package/fesm2022/updevs-components-link.mjs +79 -0
  411. package/fesm2022/updevs-components-link.mjs.map +1 -0
  412. package/fesm2022/updevs-components-list.mjs +206 -0
  413. package/fesm2022/updevs-components-list.mjs.map +1 -0
  414. package/fesm2022/updevs-components-modal.mjs +504 -0
  415. package/fesm2022/updevs-components-modal.mjs.map +1 -0
  416. package/fesm2022/updevs-components-paginator.mjs +160 -0
  417. package/fesm2022/updevs-components-paginator.mjs.map +1 -0
  418. package/fesm2022/updevs-components-popover.mjs +223 -0
  419. package/fesm2022/updevs-components-popover.mjs.map +1 -0
  420. package/fesm2022/updevs-components-table.mjs +1709 -0
  421. package/fesm2022/updevs-components-table.mjs.map +1 -0
  422. package/fesm2022/updevs-components.mjs +33 -0
  423. package/fesm2022/updevs-components.mjs.map +1 -0
  424. package/form/components/dynamic-field/dynamic-field.component.d.ts +55 -0
  425. package/form/form.component.d.ts +60 -0
  426. package/form/models/checkbox-field.model.d.ts +4 -0
  427. package/form/models/checkbox-group-field.model.d.ts +6 -0
  428. package/form/models/dynamic-field.model.d.ts +28 -0
  429. package/form/models/enums/dynamic-field.type.d.ts +12 -0
  430. package/form/models/enums/public-api.d.ts +1 -0
  431. package/form/models/file-upload-field.model.d.ts +16 -0
  432. package/form/models/form-config.d.ts +2 -0
  433. package/form/models/form-row.model.d.ts +10 -0
  434. package/form/models/input-field.model.d.ts +9 -0
  435. package/form/models/public-api.d.ts +14 -0
  436. package/form/models/radio-field.model.d.ts +4 -0
  437. package/form/models/radio-group-field.model.d.ts +6 -0
  438. package/form/models/select-field.model.d.ts +28 -0
  439. package/form/models/single-select-field.model.d.ts +4 -0
  440. package/form/models/textarea-field.model.d.ts +10 -0
  441. package/form/models/validator-config.d.ts +5 -0
  442. package/form/public-api.d.ts +3 -0
  443. package/form/tools/errors-helper.d.ts +11 -0
  444. package/form/upd-form.module.d.ts +22 -0
  445. package/form-controls/abstractions/base-control.d.ts +29 -0
  446. package/form-controls/abstractions/index.d.ts +2 -0
  447. package/form-controls/abstractions/public-api.d.ts +2 -0
  448. package/form-controls/checkbox/checkbox.component.d.ts +19 -0
  449. package/form-controls/checkbox/{src/public-api.ts → public-api.d.ts} +0 -1
  450. package/form-controls/checkbox/upd-checkbox.module.d.ts +10 -0
  451. package/form-controls/date-picker/date-picker.component.d.ts +87 -0
  452. package/form-controls/date-picker/public-api.d.ts +2 -0
  453. package/form-controls/date-picker/upd-date-picker.module.d.ts +12 -0
  454. package/form-controls/file-upload/file-upload-changed.event.d.ts +4 -0
  455. package/form-controls/file-upload/file-upload.component.d.ts +46 -0
  456. package/form-controls/file-upload/public-api.d.ts +3 -0
  457. package/form-controls/file-upload/upd-file-upload.module.d.ts +14 -0
  458. package/form-controls/input/directives/input-append.directive.d.ts +7 -0
  459. package/form-controls/input/directives/input-prepend.directive.d.ts +7 -0
  460. package/form-controls/input/input.component.d.ts +64 -0
  461. package/form-controls/input/upd-input.module.d.ts +13 -0
  462. package/form-controls/radio/radio.component.d.ts +17 -0
  463. package/form-controls/radio/upd-radio.module.d.ts +10 -0
  464. package/form-controls/select/components/multiple/select-multiple.component.d.ts +25 -0
  465. package/form-controls/select/components/single/select.component.d.ts +26 -0
  466. package/form-controls/select/models/abstractions/base-select.component.d.ts +77 -0
  467. package/form-controls/select/models/defaults.d.ts +8 -0
  468. package/form-controls/select/{src/models/public-api.ts → models/public-api.d.ts} +1 -0
  469. package/form-controls/select/{src/models/select-item.ts → models/select-item.d.ts} +0 -1
  470. package/form-controls/select/upd-select.module.d.ts +16 -0
  471. package/form-controls/textarea/textarea.component.d.ts +19 -0
  472. package/form-controls/textarea/upd-textarea.module.d.ts +8 -0
  473. package/form-controls/time-picker/time-picker.component.d.ts +78 -0
  474. package/form-controls/time-picker/time-selector/time-selector.component.d.ts +69 -0
  475. package/form-controls/time-picker/upd-time-picker.module.d.ts +17 -0
  476. package/index.d.ts +2 -0
  477. package/layout/abstractions/base-page.component.d.ts +12 -0
  478. package/layout/abstractions/base.layout.d.ts +15 -0
  479. package/layout/index.d.ts +1 -0
  480. package/layout/layouts/blank-layout/blank-layout.component.d.ts +9 -0
  481. package/layout/layouts/blank-layout/blank-layout.module.d.ts +15 -0
  482. package/layout/layouts/vertical-sidebar-layout/vertical-sidebar-layout.component.d.ts +6 -0
  483. package/layout/layouts/vertical-sidebar-layout/vertical-sidebar-layout.module.d.ts +22 -0
  484. package/layout/models/login-page-config.model.d.ts +46 -0
  485. package/layout/models/login-page.config.d.ts +44 -0
  486. package/layout/{src/models/public-api.ts → models/public-api.d.ts} +1 -0
  487. package/layout/models/security-layout-config.model.d.ts +12 -0
  488. package/layout/models/security-layout.config.d.ts +10 -0
  489. package/layout/models/upd-layout-config.model.d.ts +48 -0
  490. package/layout/{src/models/upd-layout.config.ts → models/upd-layout.config.d.ts} +9 -0
  491. package/layout/pages/auth-flow/auth-flow-routing.module.d.ts +12 -0
  492. package/layout/pages/auth-flow/auth-flow.module.d.ts +20 -0
  493. package/layout/pages/auth-flow/logged-out/logged-out.component.d.ts +5 -0
  494. package/layout/pages/auth-flow/login/login.component.d.ts +26 -0
  495. package/layout/pages/auth-flow/oauth-callback/oauth-callback.component.d.ts +5 -0
  496. package/layout/partials/footer/footer-copyright.directive.d.ts +5 -0
  497. package/layout/partials/footer/footer.component.d.ts +34 -0
  498. package/layout/partials/footer/footer.module.d.ts +9 -0
  499. package/layout/{src/partials/footer/public-api.ts → partials/footer/public-api.d.ts} +1 -0
  500. package/layout/partials/header/header.component.d.ts +48 -0
  501. package/layout/partials/header/header.module.d.ts +12 -0
  502. package/layout/{src/partials/header/public-api.ts → partials/header/public-api.d.ts} +1 -0
  503. package/layout/partials/page-header/page-header.component.d.ts +7 -0
  504. package/layout/partials/sidebar/sidebar.component.d.ts +24 -0
  505. package/layout/services/upd-layout-config.service.d.ts +15 -0
  506. package/layout/{src/tools/layout.constants.ts → tools/layout.constants.d.ts} +3 -6
  507. package/layout/upd-layout.module.d.ts +19 -0
  508. package/lib/index.d.ts +2 -0
  509. package/lib/models/public-api.d.ts +2 -0
  510. package/lib/models/row-column-size.d.ts +6 -0
  511. package/lib/public-api.d.ts +5 -0
  512. package/lib/tools/column-size.helper.d.ts +6 -0
  513. package/lib/tools/public-api.d.ts +2 -0
  514. package/{src/lib/types/component-size.type.ts → lib/types/component-size.type.d.ts} +1 -0
  515. package/lib/types/horizontal-vertical.type.d.ts +2 -0
  516. package/lib/types/public-api.d.ts +4 -0
  517. package/lib/types/validation-status.type.d.ts +2 -0
  518. package/lib/upd-components.module.d.ts +7 -0
  519. package/link/index.d.ts +1 -0
  520. package/link/link.component.d.ts +22 -0
  521. package/link/upd-link.module.d.ts +8 -0
  522. package/list/index.d.ts +1 -0
  523. package/list/list.component.d.ts +46 -0
  524. package/list/{src/models/list-item.ts → models/list-item.d.ts} +3 -4
  525. package/list/models/list-item.model.d.ts +25 -0
  526. package/list/upd-list.module.d.ts +13 -0
  527. package/modal/components/modal-container/modal-container.component.d.ts +74 -0
  528. package/modal/index.d.ts +1 -0
  529. package/modal/models/base.modal.d.ts +8 -0
  530. package/modal/models/modal-config.model.d.ts +32 -0
  531. package/modal/models/modal-ref.d.ts +6 -0
  532. package/modal/models/modal.config.d.ts +30 -0
  533. package/modal/models/public-api.d.ts +3 -0
  534. package/modal/public-api.d.ts +3 -0
  535. package/modal/services/modal-alert.service.d.ts +22 -0
  536. package/modal/services/modal.service.d.ts +12 -0
  537. package/modal/services/public-api.d.ts +2 -0
  538. package/modal/types/modal-footer-style.type.d.ts +1 -0
  539. package/modal/types/modal-size.type.d.ts +1 -0
  540. package/modal/upd-modal.module.d.ts +18 -0
  541. package/package.json +169 -21
  542. package/paginator/index.d.ts +1 -0
  543. package/paginator/paginator.component.d.ts +42 -0
  544. package/paginator/public-api.d.ts +2 -0
  545. package/paginator/upd-paginator.module.d.ts +14 -0
  546. package/popover/index.d.ts +1 -0
  547. package/popover/popover.component.d.ts +22 -0
  548. package/popover/popover.directive.d.ts +33 -0
  549. package/popover/upd-popover.module.d.ts +9 -0
  550. package/public-api.d.ts +2 -0
  551. package/table/abstractions/base-column.model.d.ts +31 -0
  552. package/table/abstractions/base.column.d.ts +22 -0
  553. package/table/abstractions/filters-operands.service.d.ts +8 -0
  554. package/table/abstractions/public-api.d.ts +2 -0
  555. package/table/components/columns/boolean-column/boolean-column.component.d.ts +9 -0
  556. package/table/components/columns/date-time-column/date-time-column.component.d.ts +7 -0
  557. package/table/components/columns/number-column/number-column.component.d.ts +7 -0
  558. package/table/components/columns/text-column/text-column.component.d.ts +9 -0
  559. package/table/components/columns-manager/columns-manager.component.d.ts +15 -0
  560. package/table/components/filter-row/filter-row.component.d.ts +40 -0
  561. package/table/components/save-search/save-search.component.d.ts +17 -0
  562. package/table/components/search-section/search-section.component.d.ts +36 -0
  563. package/table/directives/public-api.d.ts +1 -0
  564. package/table/directives/table-column.directive.d.ts +14 -0
  565. package/table/index.d.ts +1 -0
  566. package/table/models/columns/boolean-column.model.d.ts +15 -0
  567. package/table/models/columns/date-time-column.model.d.ts +8 -0
  568. package/table/models/columns/guid-column.model.d.ts +4 -0
  569. package/table/models/columns/image-column.model.d.ts +6 -0
  570. package/table/models/columns/number-column.model.d.ts +8 -0
  571. package/table/models/columns/public-api.d.ts +6 -0
  572. package/table/models/columns/text-column.model.d.ts +6 -0
  573. package/table/models/enums/column-type.enum.d.ts +13 -0
  574. package/table/models/enums/public-api.d.ts +1 -0
  575. package/table/models/filter-item.model.d.ts +6 -0
  576. package/table/models/filter-operand.config.d.ts +9 -0
  577. package/table/models/operands-lists/boolean-filter-operands-list.model.d.ts +6 -0
  578. package/table/models/operands-lists/date-filter-operands-list.model.d.ts +6 -0
  579. package/table/models/operands-lists/date-or-number-operands-list.config.d.ts +5 -0
  580. package/table/models/operands-lists/filter-operands-list.config.d.ts +5 -0
  581. package/table/models/operands-lists/guid-filter-operands-list.model.d.ts +6 -0
  582. package/table/models/operands-lists/number-filter-operands-list.model.d.ts +6 -0
  583. package/table/models/operands-lists/string-filter-operands-list.model.d.ts +6 -0
  584. package/table/models/public-api.d.ts +4 -0
  585. package/table/models/saved-view.model.d.ts +11 -0
  586. package/table/models/table-config.model.d.ts +24 -0
  587. package/table/models/table.config.d.ts +22 -0
  588. package/table/models/upd-table-config.model.d.ts +6 -0
  589. package/table/models/upd-table.config.d.ts +6 -0
  590. package/table/public-api.d.ts +5 -0
  591. package/table/services/default-filters-operands.service.d.ts +17 -0
  592. package/table/services/storages/saved-views.storage.d.ts +19 -0
  593. package/table/services/stores/filters-operands.store.d.ts +11 -0
  594. package/table/services/upd-table-config.service.d.ts +12 -0
  595. package/table/table.component.d.ts +78 -0
  596. package/table/tools/filters.tools.d.ts +9 -0
  597. package/table/tools/table.constants.d.ts +15 -0
  598. package/table/upd-table.module.d.ts +40 -0
  599. package/CHANGELOG.md +0 -8
  600. package/button/ng-package.json +0 -7
  601. package/button/src/button.component.html +0 -8
  602. package/button/src/button.component.scss +0 -5
  603. package/button/src/button.component.spec.ts +0 -23
  604. package/button/src/button.component.ts +0 -154
  605. package/button/src/upd-button.module.ts +0 -17
  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/ng-package.json +0 -7
  622. package/dropdown/src/dropdown.component.html +0 -32
  623. package/dropdown/src/dropdown.component.scss +0 -19
  624. package/dropdown/src/dropdown.component.spec.ts +0 -23
  625. package/dropdown/src/dropdown.component.ts +0 -182
  626. package/dropdown/src/models/public-api.ts +0 -2
  627. package/dropdown/src/upd-dropdown.module.ts +0 -25
  628. package/form/ng-package.json +0 -7
  629. package/form/src/form.module.ts +0 -10
  630. package/form/src/public-api.ts +0 -1
  631. package/form-controls/checkbox/ng-package.json +0 -7
  632. package/form-controls/checkbox/src/checkbox.component.html +0 -7
  633. package/form-controls/checkbox/src/checkbox.component.scss +0 -0
  634. package/form-controls/checkbox/src/checkbox.component.spec.ts +0 -23
  635. package/form-controls/checkbox/src/checkbox.component.ts +0 -48
  636. package/form-controls/checkbox/src/upd-checkbox.module.ts +0 -19
  637. package/form-controls/input/ng-package.json +0 -7
  638. package/form-controls/input/src/directives/input-append.directive.spec.ts +0 -8
  639. package/form-controls/input/src/directives/input-append.directive.ts +0 -11
  640. package/form-controls/input/src/directives/input-prepend.directive.spec.ts +0 -8
  641. package/form-controls/input/src/directives/input-prepend.directive.ts +0 -11
  642. package/form-controls/input/src/input.component.html +0 -82
  643. package/form-controls/input/src/input.component.scss +0 -13
  644. package/form-controls/input/src/input.component.spec.ts +0 -23
  645. package/form-controls/input/src/input.component.ts +0 -124
  646. package/form-controls/input/src/upd-input.module.ts +0 -29
  647. package/form-controls/radio/ng-package.json +0 -7
  648. package/form-controls/radio/src/radio.component.html +0 -7
  649. package/form-controls/radio/src/radio.component.scss +0 -0
  650. package/form-controls/radio/src/radio.component.spec.ts +0 -23
  651. package/form-controls/radio/src/radio.component.ts +0 -47
  652. package/form-controls/radio/src/upd-radio.module.ts +0 -17
  653. package/form-controls/select/ng-package.json +0 -7
  654. package/form-controls/select/src/components/multiple/select-multiple.component.html +0 -41
  655. package/form-controls/select/src/components/multiple/select-multiple.component.scss +0 -6
  656. package/form-controls/select/src/components/multiple/select-multiple.component.spec.ts +0 -21
  657. package/form-controls/select/src/components/multiple/select-multiple.component.ts +0 -69
  658. package/form-controls/select/src/components/shared.scss +0 -40
  659. package/form-controls/select/src/components/single/select.component.html +0 -53
  660. package/form-controls/select/src/components/single/select.component.scss +0 -3
  661. package/form-controls/select/src/components/single/select.component.spec.ts +0 -23
  662. package/form-controls/select/src/components/single/select.component.ts +0 -58
  663. package/form-controls/select/src/models/abstractions/base-select.component.ts +0 -259
  664. package/form-controls/select/src/upd-select.module.ts +0 -32
  665. package/form-controls/textarea/ng-package.json +0 -7
  666. package/form-controls/textarea/src/textarea.component.html +0 -8
  667. package/form-controls/textarea/src/textarea.component.scss +0 -0
  668. package/form-controls/textarea/src/textarea.component.spec.ts +0 -23
  669. package/form-controls/textarea/src/textarea.component.ts +0 -47
  670. package/form-controls/textarea/src/upd-textarea.module.ts +0 -17
  671. package/form-controls/time-picker/ng-package.json +0 -7
  672. package/form-controls/time-picker/src/time-picker.component.html +0 -17
  673. package/form-controls/time-picker/src/time-picker.component.scss +0 -10
  674. package/form-controls/time-picker/src/time-picker.component.spec.ts +0 -21
  675. package/form-controls/time-picker/src/time-picker.component.ts +0 -110
  676. package/form-controls/time-picker/src/time-selector/time-selector.component.html +0 -44
  677. package/form-controls/time-picker/src/time-selector/time-selector.component.scss +0 -47
  678. package/form-controls/time-picker/src/time-selector/time-selector.component.spec.ts +0 -21
  679. package/form-controls/time-picker/src/time-selector/time-selector.component.ts +0 -107
  680. package/form-controls/time-picker/src/upd-time-picker.module.ts +0 -39
  681. package/layout/ng-package.json +0 -7
  682. package/layout/src/abstractions/base-page.component.ts +0 -21
  683. package/layout/src/assets/i18n/en.json +0 -5
  684. package/layout/src/assets/i18n/pt.json +0 -5
  685. package/layout/src/layouts/blank-layout/blank-layout.component.html +0 -1
  686. package/layout/src/layouts/blank-layout/blank-layout.component.scss +0 -0
  687. package/layout/src/layouts/blank-layout/blank-layout.component.spec.ts +0 -23
  688. package/layout/src/layouts/blank-layout/blank-layout.component.ts +0 -10
  689. package/layout/src/layouts/blank-layout/blank-layout.module.ts +0 -17
  690. package/layout/src/layouts/vertical-sidebar-layout/vertical-sidebar-layout.component.html +0 -14
  691. package/layout/src/layouts/vertical-sidebar-layout/vertical-sidebar-layout.component.scss +0 -0
  692. package/layout/src/layouts/vertical-sidebar-layout/vertical-sidebar-layout.component.spec.ts +0 -23
  693. package/layout/src/layouts/vertical-sidebar-layout/vertical-sidebar-layout.component.ts +0 -31
  694. package/layout/src/layouts/vertical-sidebar-layout/vertical-sidebar-layout.module.ts +0 -52
  695. package/layout/src/models/upd-layout-config.model.ts +0 -71
  696. package/layout/src/pages/auth-flow/auth-flow-routing.module.ts +0 -21
  697. package/layout/src/pages/auth-flow/auth-flow.module.ts +0 -29
  698. package/layout/src/pages/auth-flow/logged-out/logged-out.component.html +0 -1
  699. package/layout/src/pages/auth-flow/logged-out/logged-out.component.scss +0 -0
  700. package/layout/src/pages/auth-flow/logged-out/logged-out.component.spec.ts +0 -23
  701. package/layout/src/pages/auth-flow/logged-out/logged-out.component.ts +0 -10
  702. package/layout/src/pages/auth-flow/login/login.component.html +0 -96
  703. package/layout/src/pages/auth-flow/login/login.component.scss +0 -0
  704. package/layout/src/pages/auth-flow/login/login.component.spec.ts +0 -23
  705. package/layout/src/pages/auth-flow/login/login.component.ts +0 -26
  706. package/layout/src/pages/auth-flow/oauth-callback/oauth-callback.component.html +0 -1
  707. package/layout/src/pages/auth-flow/oauth-callback/oauth-callback.component.scss +0 -0
  708. package/layout/src/pages/auth-flow/oauth-callback/oauth-callback.component.spec.ts +0 -23
  709. package/layout/src/pages/auth-flow/oauth-callback/oauth-callback.component.ts +0 -10
  710. package/layout/src/partials/footer/footer-copyright.directive.spec.ts +0 -8
  711. package/layout/src/partials/footer/footer-copyright.directive.ts +0 -9
  712. package/layout/src/partials/footer/footer.component.html +0 -30
  713. package/layout/src/partials/footer/footer.component.scss +0 -0
  714. package/layout/src/partials/footer/footer.component.spec.ts +0 -23
  715. package/layout/src/partials/footer/footer.component.ts +0 -73
  716. package/layout/src/partials/header/header.component.html +0 -163
  717. package/layout/src/partials/header/header.component.scss +0 -0
  718. package/layout/src/partials/header/header.component.spec.ts +0 -23
  719. package/layout/src/partials/header/header.component.ts +0 -86
  720. package/layout/src/partials/page-header/page-header.component.html +0 -19
  721. package/layout/src/partials/page-header/page-header.component.scss +0 -0
  722. package/layout/src/partials/page-header/page-header.component.spec.ts +0 -23
  723. package/layout/src/partials/page-header/page-header.component.ts +0 -11
  724. package/layout/src/partials/sidebar/sidebar.component.html +0 -62
  725. package/layout/src/partials/sidebar/sidebar.component.scss +0 -0
  726. package/layout/src/partials/sidebar/sidebar.component.spec.ts +0 -23
  727. package/layout/src/partials/sidebar/sidebar.component.ts +0 -161
  728. package/layout/src/services/upd-layout-config.service.spec.ts +0 -16
  729. package/layout/src/services/upd-layout-config.service.ts +0 -20
  730. package/layout/src/upd-layout.module.ts +0 -34
  731. package/link/ng-package.json +0 -7
  732. package/link/src/link.component.html +0 -3
  733. package/link/src/link.component.scss +0 -3
  734. package/link/src/link.component.spec.ts +0 -23
  735. package/link/src/link.component.ts +0 -48
  736. package/link/src/upd-link.module.ts +0 -17
  737. package/list/ng-package.json +0 -7
  738. package/list/src/assets/i18n/en.json +0 -5
  739. package/list/src/assets/i18n/pt.json +0 -5
  740. package/list/src/list.component.html +0 -58
  741. package/list/src/list.component.scss +0 -21
  742. package/list/src/list.component.spec.ts +0 -23
  743. package/list/src/list.component.ts +0 -147
  744. package/list/src/models/list-item.model.ts +0 -35
  745. package/list/src/upd-list.module.ts +0 -30
  746. package/ng-package.json +0 -10
  747. package/popover/ng-package.json +0 -7
  748. package/popover/src/popover.component.html +0 -20
  749. package/popover/src/popover.component.scss +0 -8
  750. package/popover/src/popover.component.spec.ts +0 -23
  751. package/popover/src/popover.component.ts +0 -53
  752. package/popover/src/popover.directive.spec.ts +0 -8
  753. package/popover/src/popover.directive.ts +0 -128
  754. package/popover/src/upd-popover.module.ts +0 -20
  755. package/src/lib/public-api.ts +0 -2
  756. package/src/lib/types/public-api.ts +0 -2
  757. package/src/lib/types/validation-status.type.ts +0 -1
  758. package/src/lib/upd-components.module.ts +0 -6
  759. package/src/public-api.ts +0 -1
  760. package/tsconfig.lib.json +0 -14
  761. package/tsconfig.lib.prod.json +0 -10
  762. package/tsconfig.spec.json +0 -14
  763. /package/{button/src/index.ts → badge/index.d.ts} +0 -0
  764. /package/{card/src/index.ts → button/index.d.ts} +0 -0
  765. /package/button/{src/public-api.ts → public-api.d.ts} +0 -0
  766. /package/{dropdown/src/index.ts → calendar/index.d.ts} +0 -0
  767. /package/card/{src/directives/public-api.ts → directives/public-api.d.ts} +0 -0
  768. /package/{form-controls/checkbox/src/index.ts → card/index.d.ts} +0 -0
  769. /package/card/{src/public-api.ts → public-api.d.ts} +0 -0
  770. /package/card/{src/types/card-state.type.ts → types/card-state.type.d.ts} +0 -0
  771. /package/card/{src/types/card-style.type.ts → types/card-style.type.d.ts} +0 -0
  772. /package/card/{src/types/hover-effect.type.ts → types/hover-effect.type.d.ts} +0 -0
  773. /package/card/{src/types/ribbon-style.type.ts → types/ribbon-style.type.d.ts} +0 -0
  774. /package/card/{src/types/status-position.type.ts → types/status-position.type.d.ts} +0 -0
  775. /package/{form-controls/input/src/index.ts → drag-and-drop/index.d.ts} +0 -0
  776. /package/{form-controls/radio/src/index.ts → dropdown/index.d.ts} +0 -0
  777. /package/dropdown/{src/public-api.ts → public-api.d.ts} +0 -0
  778. /package/{form-controls/time-picker/src → esm2022/form-controls/time-picker}/assets/i18n/en.json +0 -0
  779. /package/{form-controls/time-picker/src → esm2022/form-controls/time-picker}/assets/i18n/pt.json +0 -0
  780. /package/{src/lib/index.ts → form/index.d.ts} +0 -0
  781. /package/form-controls/{select/src/index.ts → checkbox/index.d.ts} +0 -0
  782. /package/form-controls/{textarea/src/index.ts → date-picker/index.d.ts} +0 -0
  783. /package/form-controls/{time-picker/src/index.ts → file-upload/index.d.ts} +0 -0
  784. /package/form-controls/input/{src/directives/public-api.ts → directives/public-api.d.ts} +0 -0
  785. /package/{form/src/index.ts → form-controls/input/index.d.ts} +0 -0
  786. /package/form-controls/input/{src/public-api.ts → public-api.d.ts} +0 -0
  787. /package/form-controls/input/{src/types/input.type.ts → types/input.type.d.ts} +0 -0
  788. /package/form-controls/input/{src/types/loader-position.type.ts → types/loader-position.type.d.ts} +0 -0
  789. /package/form-controls/input/{src/types/public-api.ts → types/public-api.d.ts} +0 -0
  790. /package/{layout/src/index.ts → form-controls/radio/index.d.ts} +0 -0
  791. /package/form-controls/radio/{src/public-api.ts → public-api.d.ts} +0 -0
  792. /package/{link/src/index.ts → form-controls/select/index.d.ts} +0 -0
  793. /package/form-controls/select/{src/public-api.ts → public-api.d.ts} +0 -0
  794. /package/{list/src/index.ts → form-controls/textarea/index.d.ts} +0 -0
  795. /package/form-controls/textarea/{src/public-api.ts → public-api.d.ts} +0 -0
  796. /package/{popover/src/index.ts → form-controls/time-picker/index.d.ts} +0 -0
  797. /package/form-controls/time-picker/{src/public-api.ts → public-api.d.ts} +0 -0
  798. /package/layout/{src/abstractions/public-api.ts → abstractions/public-api.d.ts} +0 -0
  799. /package/layout/{src/layouts/public-api.ts → layouts/public-api.d.ts} +0 -0
  800. /package/layout/{src/pages/auth-flow/public-api.ts → pages/auth-flow/public-api.d.ts} +0 -0
  801. /package/layout/{src/pages/public-api.ts → pages/public-api.d.ts} +0 -0
  802. /package/layout/{src/partials/header/header-style.type.ts → partials/header/header-style.type.d.ts} +0 -0
  803. /package/layout/{src/partials/page-header/public-api.ts → partials/page-header/public-api.d.ts} +0 -0
  804. /package/layout/{src/partials/public-api.ts → partials/public-api.d.ts} +0 -0
  805. /package/layout/{src/partials/sidebar/public-api.ts → partials/sidebar/public-api.d.ts} +0 -0
  806. /package/layout/{src/public-api.ts → public-api.d.ts} +0 -0
  807. /package/layout/{src/services/public-api.ts → services/public-api.d.ts} +0 -0
  808. /package/link/{src/public-api.ts → public-api.d.ts} +0 -0
  809. /package/link/{src/target.type.ts → target.type.d.ts} +0 -0
  810. /package/list/{src/models/badge-position.type.ts → models/badge-position.type.d.ts} +0 -0
  811. /package/list/{src/models/public-api.ts → models/public-api.d.ts} +0 -0
  812. /package/list/{src/public-api.ts → public-api.d.ts} +0 -0
  813. /package/popover/{src/public-api.ts → public-api.d.ts} +0 -0
@@ -0,0 +1,136 @@
1
+ import { Component, Input, ContentChild, ViewEncapsulation, HostBinding } from '@angular/core';
2
+ import { CardFooterDirective } from './directives/card-footer.directive';
3
+ import { CardHeaderDirective } from './directives/card-header.directive';
4
+ import { CardImageDirective } from './directives/card-image.directive';
5
+ import { CardActionsDirective } from './directives/card-actions.directive';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/common";
8
+ import * as i2 from "@updevs/icons";
9
+ import * as i3 from "@updevs/components/button";
10
+ export class CardComponent {
11
+ constructor() {
12
+ this.wrapperClasses = '';
13
+ this.stampBackground = 'primary';
14
+ this.statusPosition = 'top';
15
+ this.ribbonStyle = 'default';
16
+ this.ribbonIcon = { tablerIcon: 'star' };
17
+ this.removeBorder = false;
18
+ this.useLightHeader = false;
19
+ /**
20
+ * Whether the header should be displayed.
21
+ */
22
+ this.showHeader = true;
23
+ this.isFooterTransparent = false;
24
+ this.showProgressBar = false;
25
+ this.actions = [];
26
+ this.classes = [];
27
+ }
28
+ ngOnInit() {
29
+ this.updateClasses();
30
+ }
31
+ ngOnChanges(changes) {
32
+ this.updateClasses();
33
+ }
34
+ updateClasses() {
35
+ const lClasses = [];
36
+ if (this.removeBorder) {
37
+ lClasses.push('card-borderless');
38
+ }
39
+ if (!!this.hoverEffect) {
40
+ lClasses.push('card-link');
41
+ if (this.hoverEffect !== 'default') {
42
+ lClasses.push(`card-link-${this.hoverEffect}`);
43
+ }
44
+ }
45
+ if (!!this.state) {
46
+ lClasses.push(`card-${this.state}`);
47
+ }
48
+ if (!!this.bgColor) {
49
+ lClasses.push(`bg-${this.bgColor}`);
50
+ }
51
+ if (!!this.rotate) {
52
+ lClasses.push(`card-rotate-${this.rotate}`);
53
+ }
54
+ if (!!this.type) {
55
+ lClasses.push(`card-${this.type}`);
56
+ }
57
+ if (!!this.hoverEffect) {
58
+ this.classes = [...lClasses];
59
+ }
60
+ else {
61
+ this.wrapperClasses = 'card ' + lClasses.join(' ');
62
+ }
63
+ }
64
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: CardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
65
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.0", type: CardComponent, selector: "upd-card", inputs: { wrapperClasses: "wrapperClasses", title: "title", subtitle: "subtitle", hoverEffect: "hoverEffect", state: "state", type: "type", imagePosition: "imagePosition", bgColor: "bgColor", stampIcon: "stampIcon", stampBackground: "stampBackground", statusBackground: "statusBackground", statusPosition: "statusPosition", ribbonBackground: "ribbonBackground", ribbonStyle: "ribbonStyle", ribbonIcon: "ribbonIcon", ribbonText: "ribbonText", rotate: "rotate", removeBorder: "removeBorder", useLightHeader: "useLightHeader", showHeader: "showHeader", isFooterTransparent: "isFooterTransparent", footerText: "footerText", showProgressBar: "showProgressBar", progress: "progress", actions: "actions" }, host: { properties: { "class": "this.wrapperClasses" } }, queries: [{ propertyName: "headerTemplate", first: true, predicate: CardHeaderDirective, descendants: true }, { propertyName: "footerTemplate", first: true, predicate: CardFooterDirective, descendants: true }, { propertyName: "imageTemplate", first: true, predicate: CardImageDirective, descendants: true }, { propertyName: "actionsTemplate", first: true, predicate: CardActionsDirective, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-template *ngIf=\"!hoverEffect; else linkTpl\" [ngTemplateOutlet]=\"structureTpl\"></ng-template>\n\n<!-- Template for cards that are links -->\n<ng-template #linkTpl>\n <a href=\"#\" class=\"card\" [ngClass]=\"classes\">\n <ng-template [ngTemplateOutlet]=\"structureTpl\"></ng-template>\n </a>\n</ng-template>\n\n<ng-template #structureTpl>\n <!-- Ribbon -->\n <div *ngIf=\"!!ribbonBackground\" class=\"ribbon {{ribbonStyle === 'default' ? '' : 'ribbon-' + ribbonStyle}} bg-{{ribbonBackground}}\">\n <span *ngIf=\"!!ribbonText; else ribbonIconTpl\">{{ribbonText}}</span>\n <ng-template #ribbonIconTpl>\n <upd-icon [model]=\"ribbonIcon\" wrapperClasses=\"icon\" [removeDefaultClasses]=\"true\"></upd-icon>\n </ng-template>\n </div>\n\n <!-- Status -->\n <div *ngIf=\"!!statusBackground\" class=\"card-status-{{statusPosition}} bg-{{statusBackground}}\"></div>\n\n <!-- Stamp -->\n <div *ngIf=\"!!stampIcon\" class=\"card-stamp\">\n <div class=\"card-stamp-icon bg-{{stampBackground}}\">\n <upd-icon [model]=\"stampIcon\" wrapperClasses=\"icon\" [removeDefaultClasses]=\"true\"></upd-icon>\n </div>\n </div>\n\n <!-- Header section -->\n <div *ngIf=\"showHeader && (!!title || !!headerTemplate?.templateRef)\" class=\"card-header\" [class.card-header-light]=\"useLightHeader\">\n <ng-container *ngIf=\"!headerTemplate?.templateRef; else customHeaderTpl\">\n <h3 class=\"card-title\">{{title}} <span *ngIf=\"!!subtitle\" class=\"card-subtitle\">{{subtitle}}</span></h3>\n </ng-container>\n <ng-template #customHeaderTpl [ngTemplateOutlet]=\"headerTemplate?.templateRef || null\"></ng-template>\n\n <!-- Actions -->\n <div *ngIf=\"!!actionsTemplate || actions.length > 0\" class=\"card-actions\">\n <ng-container *ngIf=\"actions.length > 0; else customActionsTpl\">\n <upd-button *ngFor=\"let btn of actions\" [model]=\"btn\" customClasses=\"me-1\"></upd-button>\n </ng-container>\n <ng-template #customActionsTpl [ngTemplateOutlet]=\"actionsTemplate?.templateRef || null\"></ng-template>\n </div>\n </div>\n\n <!-- Body -->\n <ng-container *ngIf=\"!!imageTemplate; else bodyTpl\">\n <ng-template *ngIf=\"imagePosition === 'left' || imagePosition === 'right'; else bodyWithTopBottomImageTpl\"\n [ngTemplateOutlet]=\"bodyWithSideImageTpl\"></ng-template>\n </ng-container>\n\n <!-- Footer -->\n <div *ngIf=\"!!footerText || !!footerTemplate\" class=\"card-footer\" [class.card-footer-transparent]=\"isFooterTransparent\">\n <ng-container *ngIf=\"!footerTemplate?.templateRef; else customFooterTpl\">\n <span *ngIf=\"!!footerText\">{{footerText}}</span>\n </ng-container>\n <ng-template #customFooterTpl [ngTemplateOutlet]=\"footerTemplate?.templateRef || null\"></ng-template>\n </div>\n\n <!-- Progress bar -->\n <div *ngIf=\"showProgressBar\" class=\"progress progress-sm card-progress\">\n <div class=\"progress-bar\" [style.width.%]=\"progress\" role=\"progressbar\" [attr.aria-valuenow]=\"progress\" aria-valuemin=\"0\"\n aria-valuemax=\"100\">\n </div>\n </div>\n</ng-template>\n\n<!-- Body with an image on either side -->\n<ng-template #bodyWithSideImageTpl>\n <div class=\"row row-0\">\n <div class=\"col-3\" [class.order-md-last]=\"imagePosition === 'right'\">\n <div class=\"card-image-{{imagePosition}}\">\n <ng-template [ngTemplateOutlet]=\"imageTemplate!.templateRef\"></ng-template>\n </div>\n </div>\n <div class=\"col\">\n <ng-template [ngTemplateOutlet]=\"bodyTpl\"></ng-template>\n </div>\n </div>\n</ng-template>\n\n<!-- Body with an image on top or bottom -->\n<ng-template #bodyWithTopBottomImageTpl>\n <div *ngIf=\"imagePosition === 'top'\" class=\"img-responsive-21x9 card-img-top\">\n <div class=\"card-image-{{imagePosition}}\">\n <ng-template [ngTemplateOutlet]=\"imageTemplate!.templateRef\"></ng-template>\n </div>\n </div>\n <ng-template [ngTemplateOutlet]=\"bodyTpl\"></ng-template>\n <div *ngIf=\"imagePosition === 'bottom'\" class=\"img-responsive-21x9 card-img-bottom\">\n <div class=\"card-image-{{imagePosition}}\">\n <ng-template [ngTemplateOutlet]=\"imageTemplate!.templateRef\"></ng-template>\n </div>\n </div>\n</ng-template>\n\n<!-- Body -->\n<ng-template #bodyTpl>\n <div class=\"card-body\">\n <!-- If title was set, but the header section is hidden, we add the title to the body -->\n <ng-container *ngIf=\"!showHeader && !!title\">\n <h3 class=\"card-title\">{{title}} <span *ngIf=\"!!subtitle\" class=\"card-subtitle\">{{subtitle}}</span></h3>\n </ng-container>\n <ng-content></ng-content>\n </div>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.IconComponent, selector: "upd-icon", inputs: ["model", "wrapperClasses", "color", "colorClass", "removeDefaultClasses", "customClasses", "tablerIcon", "tablerIconWeight", "tablerIconType", "tablerIconSize", "heroIcon", "heroIconSize", "heroIconType"] }, { kind: "component", type: i3.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"] }], encapsulation: i0.ViewEncapsulation.None }); }
66
+ }
67
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: CardComponent, decorators: [{
68
+ type: Component,
69
+ args: [{ selector: 'upd-card', encapsulation: ViewEncapsulation.None, template: "<ng-template *ngIf=\"!hoverEffect; else linkTpl\" [ngTemplateOutlet]=\"structureTpl\"></ng-template>\n\n<!-- Template for cards that are links -->\n<ng-template #linkTpl>\n <a href=\"#\" class=\"card\" [ngClass]=\"classes\">\n <ng-template [ngTemplateOutlet]=\"structureTpl\"></ng-template>\n </a>\n</ng-template>\n\n<ng-template #structureTpl>\n <!-- Ribbon -->\n <div *ngIf=\"!!ribbonBackground\" class=\"ribbon {{ribbonStyle === 'default' ? '' : 'ribbon-' + ribbonStyle}} bg-{{ribbonBackground}}\">\n <span *ngIf=\"!!ribbonText; else ribbonIconTpl\">{{ribbonText}}</span>\n <ng-template #ribbonIconTpl>\n <upd-icon [model]=\"ribbonIcon\" wrapperClasses=\"icon\" [removeDefaultClasses]=\"true\"></upd-icon>\n </ng-template>\n </div>\n\n <!-- Status -->\n <div *ngIf=\"!!statusBackground\" class=\"card-status-{{statusPosition}} bg-{{statusBackground}}\"></div>\n\n <!-- Stamp -->\n <div *ngIf=\"!!stampIcon\" class=\"card-stamp\">\n <div class=\"card-stamp-icon bg-{{stampBackground}}\">\n <upd-icon [model]=\"stampIcon\" wrapperClasses=\"icon\" [removeDefaultClasses]=\"true\"></upd-icon>\n </div>\n </div>\n\n <!-- Header section -->\n <div *ngIf=\"showHeader && (!!title || !!headerTemplate?.templateRef)\" class=\"card-header\" [class.card-header-light]=\"useLightHeader\">\n <ng-container *ngIf=\"!headerTemplate?.templateRef; else customHeaderTpl\">\n <h3 class=\"card-title\">{{title}} <span *ngIf=\"!!subtitle\" class=\"card-subtitle\">{{subtitle}}</span></h3>\n </ng-container>\n <ng-template #customHeaderTpl [ngTemplateOutlet]=\"headerTemplate?.templateRef || null\"></ng-template>\n\n <!-- Actions -->\n <div *ngIf=\"!!actionsTemplate || actions.length > 0\" class=\"card-actions\">\n <ng-container *ngIf=\"actions.length > 0; else customActionsTpl\">\n <upd-button *ngFor=\"let btn of actions\" [model]=\"btn\" customClasses=\"me-1\"></upd-button>\n </ng-container>\n <ng-template #customActionsTpl [ngTemplateOutlet]=\"actionsTemplate?.templateRef || null\"></ng-template>\n </div>\n </div>\n\n <!-- Body -->\n <ng-container *ngIf=\"!!imageTemplate; else bodyTpl\">\n <ng-template *ngIf=\"imagePosition === 'left' || imagePosition === 'right'; else bodyWithTopBottomImageTpl\"\n [ngTemplateOutlet]=\"bodyWithSideImageTpl\"></ng-template>\n </ng-container>\n\n <!-- Footer -->\n <div *ngIf=\"!!footerText || !!footerTemplate\" class=\"card-footer\" [class.card-footer-transparent]=\"isFooterTransparent\">\n <ng-container *ngIf=\"!footerTemplate?.templateRef; else customFooterTpl\">\n <span *ngIf=\"!!footerText\">{{footerText}}</span>\n </ng-container>\n <ng-template #customFooterTpl [ngTemplateOutlet]=\"footerTemplate?.templateRef || null\"></ng-template>\n </div>\n\n <!-- Progress bar -->\n <div *ngIf=\"showProgressBar\" class=\"progress progress-sm card-progress\">\n <div class=\"progress-bar\" [style.width.%]=\"progress\" role=\"progressbar\" [attr.aria-valuenow]=\"progress\" aria-valuemin=\"0\"\n aria-valuemax=\"100\">\n </div>\n </div>\n</ng-template>\n\n<!-- Body with an image on either side -->\n<ng-template #bodyWithSideImageTpl>\n <div class=\"row row-0\">\n <div class=\"col-3\" [class.order-md-last]=\"imagePosition === 'right'\">\n <div class=\"card-image-{{imagePosition}}\">\n <ng-template [ngTemplateOutlet]=\"imageTemplate!.templateRef\"></ng-template>\n </div>\n </div>\n <div class=\"col\">\n <ng-template [ngTemplateOutlet]=\"bodyTpl\"></ng-template>\n </div>\n </div>\n</ng-template>\n\n<!-- Body with an image on top or bottom -->\n<ng-template #bodyWithTopBottomImageTpl>\n <div *ngIf=\"imagePosition === 'top'\" class=\"img-responsive-21x9 card-img-top\">\n <div class=\"card-image-{{imagePosition}}\">\n <ng-template [ngTemplateOutlet]=\"imageTemplate!.templateRef\"></ng-template>\n </div>\n </div>\n <ng-template [ngTemplateOutlet]=\"bodyTpl\"></ng-template>\n <div *ngIf=\"imagePosition === 'bottom'\" class=\"img-responsive-21x9 card-img-bottom\">\n <div class=\"card-image-{{imagePosition}}\">\n <ng-template [ngTemplateOutlet]=\"imageTemplate!.templateRef\"></ng-template>\n </div>\n </div>\n</ng-template>\n\n<!-- Body -->\n<ng-template #bodyTpl>\n <div class=\"card-body\">\n <!-- If title was set, but the header section is hidden, we add the title to the body -->\n <ng-container *ngIf=\"!showHeader && !!title\">\n <h3 class=\"card-title\">{{title}} <span *ngIf=\"!!subtitle\" class=\"card-subtitle\">{{subtitle}}</span></h3>\n </ng-container>\n <ng-content></ng-content>\n </div>\n</ng-template>\n" }]
70
+ }], propDecorators: { wrapperClasses: [{
71
+ type: HostBinding,
72
+ args: ['class']
73
+ }, {
74
+ type: Input
75
+ }], headerTemplate: [{
76
+ type: ContentChild,
77
+ args: [CardHeaderDirective]
78
+ }], footerTemplate: [{
79
+ type: ContentChild,
80
+ args: [CardFooterDirective]
81
+ }], imageTemplate: [{
82
+ type: ContentChild,
83
+ args: [CardImageDirective]
84
+ }], actionsTemplate: [{
85
+ type: ContentChild,
86
+ args: [CardActionsDirective]
87
+ }], title: [{
88
+ type: Input
89
+ }], subtitle: [{
90
+ type: Input
91
+ }], hoverEffect: [{
92
+ type: Input
93
+ }], state: [{
94
+ type: Input
95
+ }], type: [{
96
+ type: Input
97
+ }], imagePosition: [{
98
+ type: Input
99
+ }], bgColor: [{
100
+ type: Input
101
+ }], stampIcon: [{
102
+ type: Input
103
+ }], stampBackground: [{
104
+ type: Input
105
+ }], statusBackground: [{
106
+ type: Input
107
+ }], statusPosition: [{
108
+ type: Input
109
+ }], ribbonBackground: [{
110
+ type: Input
111
+ }], ribbonStyle: [{
112
+ type: Input
113
+ }], ribbonIcon: [{
114
+ type: Input
115
+ }], ribbonText: [{
116
+ type: Input
117
+ }], rotate: [{
118
+ type: Input
119
+ }], removeBorder: [{
120
+ type: Input
121
+ }], useLightHeader: [{
122
+ type: Input
123
+ }], showHeader: [{
124
+ type: Input
125
+ }], isFooterTransparent: [{
126
+ type: Input
127
+ }], footerText: [{
128
+ type: Input
129
+ }], showProgressBar: [{
130
+ type: Input
131
+ }], progress: [{
132
+ type: Input
133
+ }], actions: [{
134
+ type: Input
135
+ }] } });
136
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY2FyZC9zcmMvY2FyZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY2FyZC9zcmMvY2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULEtBQUssRUFDTCxZQUFZLEVBSVosaUJBQWlCLEVBQUUsV0FBVyxFQUNqQyxNQUFNLGVBQWUsQ0FBQztBQUt2QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQU16RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7Ozs7QUFRM0UsTUFBTSxPQUFPLGFBQWE7SUFOMUI7UUFPbUMsbUJBQWMsR0FBRyxFQUFFLENBQUM7UUFjMUMsb0JBQWUsR0FBcUIsU0FBUyxDQUFDO1FBRTlDLG1CQUFjLEdBQXVCLEtBQUssQ0FBQztRQUUzQyxnQkFBVyxHQUFvQixTQUFTLENBQUM7UUFDekMsZUFBVSxHQUFlLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBR2hELGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBQ2hDOztXQUVHO1FBQ00sZUFBVSxHQUFHLElBQUksQ0FBQztRQUNsQix3QkFBbUIsR0FBRyxLQUFLLENBQUM7UUFFNUIsb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFFeEIsWUFBTyxHQUFrQixFQUFFLENBQUM7UUFFckMsWUFBTyxHQUFhLEVBQUUsQ0FBQztLQStDMUI7SUE3Q0csUUFBUTtRQUNKLElBQUksQ0FBQyxhQUFh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LE1BQU07c0JBQWQsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBSUcsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgSW5wdXQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgT25Jbml0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbiwgSG9zdEJpbmRpbmdcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCdXR0b25Nb2RlbCB9IGZyb20gJ0B1cGRldnMvc2RrL2xheW91dCc7XG5pbXBvcnQgeyBUb3BCb3R0b21MZWZ0UmlnaHRUeXBlLCBCZ0NvbG9yU3R5bGVUeXBlIH0gZnJvbSAnQHVwZGV2cy9zZGsvdHlwZXMnO1xuaW1wb3J0IHsgSWNvbk1vZGVsIH0gZnJvbSAnQHVwZGV2cy9pY29ucyc7XG5cbmltcG9ydCB7IENhcmRGb290ZXJEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvY2FyZC1mb290ZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IENhcmRIZWFkZXJEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvY2FyZC1oZWFkZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IEhvdmVyRWZmZWN0VHlwZSB9IGZyb20gJy4vdHlwZXMvaG92ZXItZWZmZWN0LnR5cGUnO1xuaW1wb3J0IHsgQ2FyZFN0YXRlVHlwZSB9IGZyb20gJy4vdHlwZXMvY2FyZC1zdGF0ZS50eXBlJztcbmltcG9ydCB7IFN0YXR1c1Bvc2l0aW9uVHlwZSB9IGZyb20gJy4vdHlwZXMvc3RhdHVzLXBvc2l0aW9uLnR5cGUnO1xuaW1wb3J0IHsgUmliYm9uU3R5bGVUeXBlIH0gZnJvbSAnLi90eXBlcy9yaWJib24tc3R5bGUudHlwZSc7XG5pbXBvcnQgeyBDYXJkU3R5bGVUeXBlIH0gZnJvbSAnLi90eXBlcy9jYXJkLXN0eWxlLnR5cGUnO1xuaW1wb3J0IHsgQ2FyZEltYWdlRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2NhcmQtaW1hZ2UuZGlyZWN0aXZlJztcbmltcG9ydCB7IENhcmRBY3Rpb25zRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2NhcmQtYWN0aW9ucy5kaXJlY3RpdmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3VwZC1jYXJkJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY2FyZC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vY2FyZC5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgQ2FyZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgQElucHV0KCkgd3JhcHBlckNsYXNzZXMgPSAnJztcbiAgICBAQ29udGVudENoaWxkKENhcmRIZWFkZXJEaXJlY3RpdmUpIGhlYWRlclRlbXBsYXRlPzogQ2FyZEhlYWRlckRpcmVjdGl2ZTtcbiAgICBAQ29udGVudENoaWxkKENhcmRGb290ZXJEaXJlY3RpdmUpIGZvb3RlclRlbXBsYXRlPzogQ2FyZEZvb3RlckRpcmVjdGl2ZTtcbiAgICBAQ29udGVudENoaWxkKENhcmRJbWFnZURpcmVjdGl2ZSkgaW1hZ2VUZW1wbGF0ZT86IENhcmRJbWFnZURpcmVjdGl2ZTtcbiAgICBAQ29udGVudENoaWxkKENhcmRBY3Rpb25zRGlyZWN0aXZlKSBhY3Rpb25zVGVtcGxhdGU/OiBDYXJkQWN0aW9uc0RpcmVjdGl2ZTtcblxuICAgIEBJbnB1dCgpIHRpdGxlPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHN1YnRpdGxlPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGhvdmVyRWZmZWN0PzogSG92ZXJFZmZlY3RUeXBlO1xuICAgIEBJbnB1dCgpIHN0YXRlPzogQ2FyZFN0YXRlVHlwZTtcbiAgICBASW5wdXQoKSB0eXBlPzogQ2FyZFN0eWxlVHlwZTtcbiAgICBASW5wdXQoKSBpbWFnZVBvc2l0aW9uPzogVG9wQm90dG9tTGVmdFJpZ2h0VHlwZTtcbiAgICBASW5wdXQoKSBiZ0NvbG9yPzogQmdDb2xvclN0eWxlVHlwZTtcbiAgICBASW5wdXQoKSBzdGFtcEljb24/OiBJY29uTW9kZWw7XG4gICAgQElucHV0KCkgc3RhbXBCYWNrZ3JvdW5kOiBCZ0NvbG9yU3R5bGVUeXBlID0gJ3ByaW1hcnknO1xuICAgIEBJbnB1dCgpIHN0YXR1c0JhY2tncm91bmQ/OiBCZ0NvbG9yU3R5bGVUeXBlO1xuICAgIEBJbnB1dCgpIHN0YXR1c1Bvc2l0aW9uOiBTdGF0dXNQb3NpdGlvblR5cGUgPSAndG9wJztcbiAgICBASW5wdXQoKSByaWJib25CYWNrZ3JvdW5kPzogQmdDb2xvclN0eWxlVHlwZTtcbiAgICBASW5wdXQoKSByaWJib25TdHlsZTogUmliYm9uU3R5bGVUeXBlID0gJ2RlZmF1bHQnO1xuICAgIEBJbnB1dCgpIHJpYmJvbkljb24/OiBJY29uTW9kZWwgPSB7IHRhYmxlckljb246ICdzdGFyJyB9O1xuICAgIEBJbnB1dCgpIHJpYmJvblRleHQ/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgcm90YXRlPzogJ3JpZ2h0JyB8ICdsZWZ0JztcbiAgICBASW5wdXQoKSByZW1vdmVCb3JkZXIgPSBmYWxzZTtcbiAgICBASW5wdXQoKSB1c2VMaWdodEhlYWRlciA9IGZhbHNlO1xuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhlIGhlYWRlciBzaG91bGQgYmUgZGlzcGxheWVkLlxuICAgICAqL1xuICAgIEBJbnB1dCgpIHNob3dIZWFkZXIgPSB0cnVlO1xuICAgIEBJbnB1dCgpIGlzRm9vdGVyVHJhbnNwYXJlbnQgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBmb290ZXJUZXh0Pzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHNob3dQcm9ncmVzc0JhciA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHByb2dyZXNzPzogbnVtYmVyO1xuICAgIEBJbnB1dCgpIGFjdGlvbnM6IEJ1dHRvbk1vZGVsW10gPSBbXTtcblxuICAgIGNsYXNzZXM6IHN0cmluZ1tdID0gW107XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVDbGFzc2VzKCk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUNsYXNzZXMoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUNsYXNzZXMoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGxDbGFzc2VzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgICAgIGlmICh0aGlzLnJlbW92ZUJvcmRlcikge1xuICAgICAgICAgICAgbENsYXNzZXMucHVzaCgnY2FyZC1ib3JkZXJsZXNzJyk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoISF0aGlzLmhvdmVyRWZmZWN0KSB7XG4gICAgICAgICAgICBsQ2xhc3Nlcy5wdXNoKCdjYXJkLWxpbmsnKTtcblxuICAgICAgICAgICAgaWYgKHRoaXMuaG92ZXJFZmZlY3QgIT09ICdkZWZhdWx0Jykge1xuICAgICAgICAgICAgICAgIGxDbGFzc2VzLnB1c2goYGNhcmQtbGluay0ke3RoaXMuaG92ZXJFZmZlY3R9YCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoISF0aGlzLnN0YXRlKSB7XG4gICAgICAgICAgICBsQ2xhc3Nlcy5wdXNoKGBjYXJkLSR7dGhpcy5zdGF0ZX1gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghIXRoaXMuYmdDb2xvcikge1xuICAgICAgICAgICAgbENsYXNzZXMucHVzaChgYmctJHt0aGlzLmJnQ29sb3J9YCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoISF0aGlzLnJvdGF0ZSkge1xuICAgICAgICAgICAgbENsYXNzZXMucHVzaChgY2FyZC1yb3RhdGUtJHt0aGlzLnJvdGF0ZX1gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghIXRoaXMudHlwZSkge1xuICAgICAgICAgICAgbENsYXNzZXMucHVzaChgY2FyZC0ke3RoaXMudHlwZX1gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghIXRoaXMuaG92ZXJFZmZlY3QpIHtcbiAgICAgICAgICAgIHRoaXMuY2xhc3NlcyA9IFsuLi5sQ2xhc3Nlc107XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLndyYXBwZXJDbGFzc2VzID0gJ2NhcmQgJyArIGxDbGFzc2VzLmpvaW4oJyAnKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxuZy10ZW1wbGF0ZSAqbmdJZj1cIiFob3ZlckVmZmVjdDsgZWxzZSBsaW5rVHBsXCIgW25nVGVtcGxhdGVPdXRsZXRdPVwic3RydWN0dXJlVHBsXCI+PC9uZy10ZW1wbGF0ZT5cblxuPCEtLSBUZW1wbGF0ZSBmb3IgY2FyZHMgdGhhdCBhcmUgbGlua3MgLS0+XG48bmctdGVtcGxhdGUgI2xpbmtUcGw+XG4gICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cImNhcmRcIiBbbmdDbGFzc109XCJjbGFzc2VzXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJzdHJ1Y3R1cmVUcGxcIj48L25nLXRlbXBsYXRlPlxuICAgIDwvYT5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjc3RydWN0dXJlVHBsPlxuICAgIDwhLS0gUmliYm9uIC0tPlxuICAgIDxkaXYgKm5nSWY9XCIhIXJpYmJvbkJhY2tncm91bmRcIiBjbGFzcz1cInJpYmJvbiB7e3JpYmJvblN0eWxlID09PSAnZGVmYXVsdCcgPyAnJyA6ICdyaWJib24tJyArIHJpYmJvblN0eWxlfX0gYmcte3tyaWJib25CYWNrZ3JvdW5kfX1cIj5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCIhIXJpYmJvblRleHQ7IGVsc2UgcmliYm9uSWNvblRwbFwiPnt7cmliYm9uVGV4dH19PC9zcGFuPlxuICAgICAgICA8bmctdGVtcGxhdGUgI3JpYmJvbkljb25UcGw+XG4gICAgICAgICAgICA8dXBkLWljb24gW21vZGVsXT1cInJpYmJvbkljb25cIiB3cmFwcGVyQ2xhc3Nlcz1cImljb25cIiBbcmVtb3ZlRGVmYXVsdENsYXNzZXNdPVwidHJ1ZVwiPjwvdXBkLWljb24+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9kaXY+XG5cbiAgICA8IS0tIFN0YXR1cyAtLT5cbiAgICA8ZGl2ICpuZ0lmPVwiISFzdGF0dXNCYWNrZ3JvdW5kXCIgY2xhc3M9XCJjYXJkLXN0YXR1cy17e3N0YXR1c1Bvc2l0aW9ufX0gYmcte3tzdGF0dXNCYWNrZ3JvdW5kfX1cIj48L2Rpdj5cblxuICAgIDwhLS0gU3RhbXAgLS0+XG4gICAgPGRpdiAqbmdJZj1cIiEhc3RhbXBJY29uXCIgY2xhc3M9XCJjYXJkLXN0YW1wXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLXN0YW1wLWljb24gYmcte3tzdGFtcEJhY2tncm91bmR9fVwiPlxuICAgICAgICAgICAgPHVwZC1pY29uIFttb2RlbF09XCJzdGFtcEljb25cIiB3cmFwcGVyQ2xhc3Nlcz1cImljb25cIiBbcmVtb3ZlRGVmYXVsdENsYXNzZXNdPVwidHJ1ZVwiPjwvdXBkLWljb24+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPCEtLSBIZWFkZXIgc2VjdGlvbiAtLT5cbiAgICA8ZGl2ICpuZ0lmPVwic2hvd0hlYWRlciAmJiAoISF0aXRsZSB8fCAhIWhlYWRlclRlbXBsYXRlPy50ZW1wbGF0ZVJlZilcIiBjbGFzcz1cImNhcmQtaGVhZGVyXCIgW2NsYXNzLmNhcmQtaGVhZGVyLWxpZ2h0XT1cInVzZUxpZ2h0SGVhZGVyXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaGVhZGVyVGVtcGxhdGU/LnRlbXBsYXRlUmVmOyBlbHNlIGN1c3RvbUhlYWRlclRwbFwiPlxuICAgICAgICAgICAgPGgzIGNsYXNzPVwiY2FyZC10aXRsZVwiPnt7dGl0bGV9fSA8c3BhbiAqbmdJZj1cIiEhc3VidGl0bGVcIiBjbGFzcz1cImNhcmQtc3VidGl0bGVcIj57e3N1YnRpdGxlfX08L3NwYW4+PC9oMz5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjY3VzdG9tSGVhZGVyVHBsIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImhlYWRlclRlbXBsYXRlPy50ZW1wbGF0ZVJlZiB8fCBudWxsXCI+PC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICA8IS0tIEFjdGlvbnMgLS0+XG4gICAgICAgIDxkaXYgKm5nSWY9XCIhIWFjdGlvbnNUZW1wbGF0ZSB8fCBhY3Rpb25zLmxlbmd0aCA+IDBcIiBjbGFzcz1cImNhcmQtYWN0aW9uc1wiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFjdGlvbnMubGVuZ3RoID4gMDsgZWxzZSBjdXN0b21BY3Rpb25zVHBsXCI+XG4gICAgICAgICAgICAgICAgPHVwZC1idXR0b24gKm5nRm9yPVwibGV0IGJ0biBvZiBhY3Rpb25zXCIgW21vZGVsXT1cImJ0blwiIGN1c3RvbUNsYXNzZXM9XCJtZS0xXCI+PC91cGQtYnV0dG9uPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI2N1c3RvbUFjdGlvbnNUcGwgW25nVGVtcGxhdGVPdXRsZXRdPVwiYWN0aW9uc1RlbXBsYXRlPy50ZW1wbGF0ZVJlZiB8fCBudWxsXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8IS0tIEJvZHkgLS0+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiEhaW1hZ2VUZW1wbGF0ZTsgZWxzZSBib2R5VHBsXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAqbmdJZj1cImltYWdlUG9zaXRpb24gPT09ICdsZWZ0JyB8fCBpbWFnZVBvc2l0aW9uID09PSAncmlnaHQnOyBlbHNlIGJvZHlXaXRoVG9wQm90dG9tSW1hZ2VUcGxcIlxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiYm9keVdpdGhTaWRlSW1hZ2VUcGxcIj48L25nLXRlbXBsYXRlPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPCEtLSBGb290ZXIgLS0+XG4gICAgPGRpdiAqbmdJZj1cIiEhZm9vdGVyVGV4dCB8fCAhIWZvb3RlclRlbXBsYXRlXCIgY2xhc3M9XCJjYXJkLWZvb3RlclwiIFtjbGFzcy5jYXJkLWZvb3Rlci10cmFuc3BhcmVudF09XCJpc0Zvb3RlclRyYW5zcGFyZW50XCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhZm9vdGVyVGVtcGxhdGU/LnRlbXBsYXRlUmVmOyBlbHNlIGN1c3RvbUZvb3RlclRwbFwiPlxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIhIWZvb3RlclRleHRcIj57e2Zvb3RlclRleHR9fTwvc3Bhbj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjY3VzdG9tRm9vdGVyVHBsIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImZvb3RlclRlbXBsYXRlPy50ZW1wbGF0ZVJlZiB8fCBudWxsXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICA8L2Rpdj5cblxuICAgIDwhLS0gUHJvZ3Jlc3MgYmFyIC0tPlxuICAgIDxkaXYgKm5nSWY9XCJzaG93UHJvZ3Jlc3NCYXJcIiBjbGFzcz1cInByb2dyZXNzIHByb2dyZXNzLXNtIGNhcmQtcHJvZ3Jlc3NcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInByb2dyZXNzLWJhclwiIFtzdHlsZS53aWR0aC4lXT1cInByb2dyZXNzXCIgcm9sZT1cInByb2dyZXNzYmFyXCIgW2F0dHIuYXJpYS12YWx1ZW5vd109XCJwcm9ncmVzc1wiIGFyaWEtdmFsdWVtaW49XCIwXCJcbiAgICAgICAgICAgIGFyaWEtdmFsdWVtYXg9XCIxMDBcIj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48IS0tIEJvZHkgd2l0aCBhbiBpbWFnZSBvbiBlaXRoZXIgc2lkZSAtLT5cbjxuZy10ZW1wbGF0ZSAjYm9keVdpdGhTaWRlSW1hZ2VUcGw+XG4gICAgPGRpdiBjbGFzcz1cInJvdyByb3ctMFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTNcIiBbY2xhc3Mub3JkZXItbWQtbGFzdF09XCJpbWFnZVBvc2l0aW9uID09PSAncmlnaHQnXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1pbWFnZS17e2ltYWdlUG9zaXRpb259fVwiPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJpbWFnZVRlbXBsYXRlIS50ZW1wbGF0ZVJlZlwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2xcIj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJib2R5VHBsXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48IS0tIEJvZHkgd2l0aCBhbiBpbWFnZSBvbiB0b3Agb3IgYm90dG9tIC0tPlxuPG5nLXRlbXBsYXRlICNib2R5V2l0aFRvcEJvdHRvbUltYWdlVHBsPlxuICAgIDxkaXYgKm5nSWY9XCJpbWFnZVBvc2l0aW9uID09PSAndG9wJ1wiIGNsYXNzPVwiaW1nLXJlc3BvbnNpdmUtMjF4OSBjYXJkLWltZy10b3BcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaW1hZ2Ute3tpbWFnZVBvc2l0aW9ufX1cIj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJpbWFnZVRlbXBsYXRlIS50ZW1wbGF0ZVJlZlwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJib2R5VHBsXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICA8ZGl2ICpuZ0lmPVwiaW1hZ2VQb3NpdGlvbiA9PT0gJ2JvdHRvbSdcIiBjbGFzcz1cImltZy1yZXNwb25zaXZlLTIxeDkgY2FyZC1pbWctYm90dG9tXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWltYWdlLXt7aW1hZ2VQb3NpdGlvbn19XCI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiaW1hZ2VUZW1wbGF0ZSEudGVtcGxhdGVSZWZcIj48L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjwhLS0gQm9keSAtLT5cbjxuZy10ZW1wbGF0ZSAjYm9keVRwbD5cbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5XCI+XG4gICAgICAgIDwhLS0gSWYgdGl0bGUgd2FzIHNldCwgYnV0IHRoZSBoZWFkZXIgc2VjdGlvbiBpcyBoaWRkZW4sIHdlIGFkZCB0aGUgdGl0bGUgdG8gdGhlIGJvZHkgLS0+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhc2hvd0hlYWRlciAmJiAhIXRpdGxlXCI+XG4gICAgICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlXCI+e3t0aXRsZX19IDxzcGFuICpuZ0lmPVwiISFzdWJ0aXRsZVwiIGNsYXNzPVwiY2FyZC1zdWJ0aXRsZVwiPnt7c3VidGl0bGV9fTwvc3Bhbj48L2gzPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -0,0 +1,16 @@
1
+ import { Directive, TemplateRef, inject } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class CardActionsDirective {
4
+ constructor() {
5
+ this.templateRef = inject((TemplateRef));
6
+ }
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: CardActionsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
8
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.0", type: CardActionsDirective, selector: "ng-template[updCardActions]", ngImport: i0 }); }
9
+ }
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: CardActionsDirective, decorators: [{
11
+ type: Directive,
12
+ args: [{
13
+ selector: 'ng-template[updCardActions]'
14
+ }]
15
+ }] });
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC1hY3Rpb25zLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jYXJkL3NyYy9kaXJlY3RpdmVzL2NhcmQtYWN0aW9ucy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUsvRCxNQUFNLE9BQU8sb0JBQW9CO0lBSGpDO1FBSW9CLGdCQUFXLEdBQUcsTUFBTSxDQUFDLENBQUEsV0FBZ0IsQ0FBQSxDQUFDLENBQUM7S0FDMUQ7OEdBRlksb0JBQW9CO2tHQUFwQixvQkFBb0I7OzJGQUFwQixvQkFBb0I7a0JBSGhDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLDZCQUE2QjtpQkFDMUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIFRlbXBsYXRlUmVmLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICduZy10ZW1wbGF0ZVt1cGRDYXJkQWN0aW9uc10nXG59KVxuZXhwb3J0IGNsYXNzIENhcmRBY3Rpb25zRGlyZWN0aXZlIHtcbiAgICBwdWJsaWMgcmVhZG9ubHkgdGVtcGxhdGVSZWYgPSBpbmplY3QoVGVtcGxhdGVSZWY8YW55Pik7XG59XG4iXX0=
@@ -0,0 +1,16 @@
1
+ import { Directive, TemplateRef, inject } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class CardFooterDirective {
4
+ constructor() {
5
+ this.templateRef = inject((TemplateRef));
6
+ }
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: CardFooterDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
8
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.0", type: CardFooterDirective, selector: "ng-template[updCardFooter]", ngImport: i0 }); }
9
+ }
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: CardFooterDirective, decorators: [{
11
+ type: Directive,
12
+ args: [{
13
+ selector: 'ng-template[updCardFooter]'
14
+ }]
15
+ }] });
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC1mb290ZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NhcmQvc3JjL2RpcmVjdGl2ZXMvY2FyZC1mb290ZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLL0QsTUFBTSxPQUFPLG1CQUFtQjtJQUhoQztRQUlvQixnQkFBVyxHQUFHLE1BQU0sQ0FBQyxDQUFBLFdBQWdCLENBQUEsQ0FBQyxDQUFDO0tBQzFEOzhHQUZZLG1CQUFtQjtrR0FBbkIsbUJBQW1COzsyRkFBbkIsbUJBQW1CO2tCQUgvQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSw0QkFBNEI7aUJBQ3pDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBUZW1wbGF0ZVJlZiwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnbmctdGVtcGxhdGVbdXBkQ2FyZEZvb3Rlcl0nXG59KVxuZXhwb3J0IGNsYXNzIENhcmRGb290ZXJEaXJlY3RpdmUge1xuICAgIHB1YmxpYyByZWFkb25seSB0ZW1wbGF0ZVJlZiA9IGluamVjdChUZW1wbGF0ZVJlZjxhbnk+KTtcbn1cbiJdfQ==
@@ -0,0 +1,16 @@
1
+ import { Directive, TemplateRef, inject } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class CardHeaderDirective {
4
+ constructor() {
5
+ this.templateRef = inject((TemplateRef));
6
+ }
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: CardHeaderDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
8
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.0", type: CardHeaderDirective, selector: "ng-template[updCardHeader]", ngImport: i0 }); }
9
+ }
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: CardHeaderDirective, decorators: [{
11
+ type: Directive,
12
+ args: [{
13
+ selector: 'ng-template[updCardHeader]'
14
+ }]
15
+ }] });
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC1oZWFkZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NhcmQvc3JjL2RpcmVjdGl2ZXMvY2FyZC1oZWFkZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLL0QsTUFBTSxPQUFPLG1CQUFtQjtJQUhoQztRQUlvQixnQkFBVyxHQUFHLE1BQU0sQ0FBQyxDQUFBLFdBQWdCLENBQUEsQ0FBQyxDQUFDO0tBQzFEOzhHQUZZLG1CQUFtQjtrR0FBbkIsbUJBQW1COzsyRkFBbkIsbUJBQW1CO2tCQUgvQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSw0QkFBNEI7aUJBQ3pDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBUZW1wbGF0ZVJlZiwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnbmctdGVtcGxhdGVbdXBkQ2FyZEhlYWRlcl0nXG59KVxuZXhwb3J0IGNsYXNzIENhcmRIZWFkZXJEaXJlY3RpdmUge1xuICAgIHB1YmxpYyByZWFkb25seSB0ZW1wbGF0ZVJlZiA9IGluamVjdChUZW1wbGF0ZVJlZjxhbnk+KTtcbn1cbiJdfQ==
@@ -0,0 +1,16 @@
1
+ import { Directive, TemplateRef, inject } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class CardImageDirective {
4
+ constructor() {
5
+ this.templateRef = inject((TemplateRef));
6
+ }
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: CardImageDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
8
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.0", type: CardImageDirective, selector: "ng-template[updCardImage]", ngImport: i0 }); }
9
+ }
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: CardImageDirective, decorators: [{
11
+ type: Directive,
12
+ args: [{
13
+ selector: 'ng-template[updCardImage]'
14
+ }]
15
+ }] });
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC1pbWFnZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY2FyZC9zcmMvZGlyZWN0aXZlcy9jYXJkLWltYWdlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSy9ELE1BQU0sT0FBTyxrQkFBa0I7SUFIL0I7UUFJb0IsZ0JBQVcsR0FBRyxNQUFNLENBQUMsQ0FBQSxXQUFnQixDQUFBLENBQUMsQ0FBQztLQUMxRDs4R0FGWSxrQkFBa0I7a0dBQWxCLGtCQUFrQjs7MkZBQWxCLGtCQUFrQjtrQkFIOUIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsMkJBQTJCO2lCQUN4QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgVGVtcGxhdGVSZWYsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ25nLXRlbXBsYXRlW3VwZENhcmRJbWFnZV0nXG59KVxuZXhwb3J0IGNsYXNzIENhcmRJbWFnZURpcmVjdGl2ZSB7XG4gICAgcHVibGljIHJlYWRvbmx5IHRlbXBsYXRlUmVmID0gaW5qZWN0KFRlbXBsYXRlUmVmPGFueT4pO1xufVxuIl19
@@ -0,0 +1,5 @@
1
+ export * from './card-actions.directive';
2
+ export * from './card-footer.directive';
3
+ export * from './card-header.directive';
4
+ export * from './card-image.directive';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jYXJkL3NyYy9kaXJlY3RpdmVzL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2FyZC1hY3Rpb25zLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2NhcmQtZm9vdGVyLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2NhcmQtaGVhZGVyLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2NhcmQtaW1hZ2UuZGlyZWN0aXZlJztcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export * from './public-api';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY2FyZC9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
@@ -0,0 +1,4 @@
1
+ export * from './directives/public-api';
2
+ export * from './upd-card.module';
3
+ export * from './card.component';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jYXJkL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzL3B1YmxpYy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi91cGQtY2FyZC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jYXJkLmNvbXBvbmVudCc7XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC1zdGF0ZS50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NhcmQvc3JjL3R5cGVzL2NhcmQtc3RhdGUudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgQ2FyZFN0YXRlVHlwZSA9ICdhY3RpdmUnIHwgJ2luYWN0aXZlJztcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC1zdHlsZS50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NhcmQvc3JjL3R5cGVzL2NhcmQtc3R5bGUudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgQ2FyZFN0eWxlVHlwZSA9ICdzdGFja2VkJztcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG92ZXItZWZmZWN0LnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY2FyZC9zcmMvdHlwZXMvaG92ZXItZWZmZWN0LnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIEhvdmVyRWZmZWN0VHlwZSA9ICdkZWZhdWx0JyB8ICdyb3RhdGUnIHwgJ3BvcCc7XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmliYm9uLXN0eWxlLnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY2FyZC9zcmMvdHlwZXMvcmliYm9uLXN0eWxlLnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIFJpYmJvblN0eWxlVHlwZSA9ICdkZWZhdWx0JyB8ICd0b3AnIHwgJ2JvdHRvbScgfCAnYm9va21hcmsnIHwgJ3N0YXJ0JztcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLXBvc2l0aW9uLnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY2FyZC9zcmMvdHlwZXMvc3RhdHVzLXBvc2l0aW9uLnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIFN0YXR1c1Bvc2l0aW9uVHlwZSA9ICd0b3AnIHwgJ2JvdHRvbScgfCAnc3RhcnQnO1xuIl19
@@ -0,0 +1,50 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { UpdIconsModule } from '@updevs/icons';
4
+ import { UpdButtonModule } from '@updevs/components/button';
5
+ import { CardComponent } from './card.component';
6
+ import { CardHeaderDirective } from './directives/card-header.directive';
7
+ import { CardFooterDirective } from './directives/card-footer.directive';
8
+ import { CardImageDirective } from './directives/card-image.directive';
9
+ import { CardActionsDirective } from './directives/card-actions.directive';
10
+ import * as i0 from "@angular/core";
11
+ export class UpdCardModule {
12
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: UpdCardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
13
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.0", ngImport: i0, type: UpdCardModule, declarations: [CardComponent,
14
+ CardHeaderDirective,
15
+ CardFooterDirective,
16
+ CardImageDirective,
17
+ CardActionsDirective], imports: [CommonModule,
18
+ UpdIconsModule,
19
+ UpdButtonModule], exports: [CardComponent,
20
+ CardHeaderDirective,
21
+ CardFooterDirective,
22
+ CardImageDirective] }); }
23
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: UpdCardModule, imports: [CommonModule,
24
+ UpdIconsModule,
25
+ UpdButtonModule] }); }
26
+ }
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: UpdCardModule, decorators: [{
28
+ type: NgModule,
29
+ args: [{
30
+ imports: [
31
+ CommonModule,
32
+ UpdIconsModule,
33
+ UpdButtonModule
34
+ ],
35
+ declarations: [
36
+ CardComponent,
37
+ CardHeaderDirective,
38
+ CardFooterDirective,
39
+ CardImageDirective,
40
+ CardActionsDirective
41
+ ],
42
+ exports: [
43
+ CardComponent,
44
+ CardHeaderDirective,
45
+ CardFooterDirective,
46
+ CardImageDirective
47
+ ]
48
+ }]
49
+ }] });
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkLWNhcmQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NhcmQvc3JjL3VwZC1jYXJkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU1RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDekUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDekUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdkUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scUNBQXFDLENBQUM7O0FBc0IzRSxNQUFNLE9BQU8sYUFBYTs4R0FBYixhQUFhOytHQUFiLGFBQWEsaUJBYmxCLGFBQWE7WUFDYixtQkFBbUI7WUFDbkIsbUJBQW1CO1lBQ25CLGtCQUFrQjtZQUNsQixvQkFBb0IsYUFUcEIsWUFBWTtZQUNaLGNBQWM7WUFDZCxlQUFlLGFBVWYsYUFBYTtZQUNiLG1CQUFtQjtZQUNuQixtQkFBbUI7WUFDbkIsa0JBQWtCOytHQUdiLGFBQWEsWUFsQmxCLFlBQVk7WUFDWixjQUFjO1lBQ2QsZUFBZTs7MkZBZ0JWLGFBQWE7a0JBcEJ6QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLGNBQWM7d0JBQ2QsZUFBZTtxQkFDbEI7b0JBQ0QsWUFBWSxFQUFFO3dCQUNWLGFBQWE7d0JBQ2IsbUJBQW1CO3dCQUNuQixtQkFBbUI7d0JBQ25CLGtCQUFrQjt3QkFDbEIsb0JBQW9CO3FCQUN2QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsYUFBYTt3QkFDYixtQkFBbUI7d0JBQ25CLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3FCQUNyQjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVXBkSWNvbnNNb2R1bGUgfSBmcm9tICdAdXBkZXZzL2ljb25zJztcbmltcG9ydCB7IFVwZEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0B1cGRldnMvY29tcG9uZW50cy9idXR0b24nO1xuXG5pbXBvcnQgeyBDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9jYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYXJkSGVhZGVyRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2NhcmQtaGVhZGVyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBDYXJkRm9vdGVyRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2NhcmQtZm9vdGVyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBDYXJkSW1hZ2VEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvY2FyZC1pbWFnZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQ2FyZEFjdGlvbnNEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvY2FyZC1hY3Rpb25zLmRpcmVjdGl2ZSc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIFVwZEljb25zTW9kdWxlLFxuICAgICAgICBVcGRCdXR0b25Nb2R1bGVcbiAgICBdLFxuICAgIGRlY2xhcmF0aW9uczogW1xuICAgICAgICBDYXJkQ29tcG9uZW50LFxuICAgICAgICBDYXJkSGVhZGVyRGlyZWN0aXZlLFxuICAgICAgICBDYXJkRm9vdGVyRGlyZWN0aXZlLFxuICAgICAgICBDYXJkSW1hZ2VEaXJlY3RpdmUsXG4gICAgICAgIENhcmRBY3Rpb25zRGlyZWN0aXZlXG4gICAgXSxcbiAgICBleHBvcnRzOiBbXG4gICAgICAgIENhcmRDb21wb25lbnQsXG4gICAgICAgIENhcmRIZWFkZXJEaXJlY3RpdmUsXG4gICAgICAgIENhcmRGb290ZXJEaXJlY3RpdmUsXG4gICAgICAgIENhcmRJbWFnZURpcmVjdGl2ZVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgVXBkQ2FyZE1vZHVsZSB7fVxuIl19
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkZXZzLWNvbXBvbmVudHMtY2FyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jYXJkL3NyYy91cGRldnMtY29tcG9uZW50cy1jYXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
@@ -0,0 +1,134 @@
1
+ import { Component, input, inject, computed, signal, model } from '@angular/core';
2
+ import { TextService } from '@updevs/sdk';
3
+ import { DragAndDropColumnModel } from './models/drag-and-drop-column.model';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@updevs/icons";
6
+ export class DragAndDropComponent {
7
+ constructor() {
8
+ this.config = input.required();
9
+ this.columns = model([]);
10
+ this.showHandler = computed(() => this.config().showHandler || false);
11
+ this.canReorder = computed(() => this.config().canReorder || false);
12
+ this.textService = inject(TextService);
13
+ this.isReordering = signal(false);
14
+ this.draggedItem = signal(undefined);
15
+ this.dragEnterCounter = 0;
16
+ }
17
+ ngOnInit() {
18
+ this.columns.set(this.config().columns.map(c => new DragAndDropColumnModel(c)));
19
+ }
20
+ canShowHandler(item) {
21
+ return this.showHandler() && item.isDraggable;
22
+ }
23
+ startDrag(event, item, origin) {
24
+ item.origin = origin;
25
+ this.draggedItem.set(item);
26
+ item.isBeingDragged.set(true);
27
+ event.dataTransfer.effectAllowed = 'move';
28
+ }
29
+ endDrag(item) {
30
+ item.isBeingDragged.set(false);
31
+ this.draggedItem.set(undefined);
32
+ }
33
+ drop(event, destination) {
34
+ event.preventDefault();
35
+ this.dragEnterCounter = 0;
36
+ const dataTransfer = event.dataTransfer;
37
+ dataTransfer.dropEffect = 'move';
38
+ const itemName = this.draggedItem()?.name;
39
+ const origin = this.draggedItem()?.origin;
40
+ const item = this.columns().find(c => c.name === origin)?.items().find(i => i.name === itemName);
41
+ if (!!item && (this.canReorder() || destination !== origin)) {
42
+ const destinationColumn = this.columns().find(c => c.name === destination);
43
+ const originColumn = this.columns().find(c => c.name === origin);
44
+ if (!!destinationColumn) {
45
+ item.isBeingDragged.set(false);
46
+ this.draggedItem.set(undefined);
47
+ // We only move items if it's a move between containers, if it's a reorder, nothing needs to be done.
48
+ // The item was correctly replaced during dragOver.
49
+ if (destination !== origin) {
50
+ const originIdx = originColumn.items().findIndex(i => i.name === itemName);
51
+ const destinationIdx = destinationColumn.items().findIndex(i => i.name === itemName);
52
+ originColumn.items().splice(originIdx, 1);
53
+ // This is required, because the item may have been added during dragOver. TODO: check
54
+ if (destinationIdx >= 0) {
55
+ dataTransfer.clearData();
56
+ return;
57
+ }
58
+ destinationColumn.items().push(item);
59
+ const destinationColumnIdx = this.columns().findIndex(c => c.name === destination);
60
+ this.columns.update(curr => {
61
+ curr[destinationColumnIdx] = destinationColumn;
62
+ return [...curr];
63
+ });
64
+ }
65
+ dataTransfer.clearData();
66
+ }
67
+ }
68
+ }
69
+ dragOver(event, destination) {
70
+ event.preventDefault();
71
+ const destinationColumn = this.columns().find(c => c.name === destination);
72
+ if (this.isReordering() || destinationColumn.items().length === 0) {
73
+ return;
74
+ }
75
+ event.dataTransfer.dropEffect = 'move';
76
+ this.isReordering.set(true);
77
+ const element = event.target;
78
+ if (!!element.id && !!this.draggedItem() && element.id !== this.draggedItem().name) {
79
+ const destinationHoverIdx = destinationColumn.items().findIndex(i => i.name === element.id);
80
+ const rect = element.getBoundingClientRect();
81
+ const y = event.clientY - rect.top;
82
+ const newOverZone = y <= rect.height / 2 ? 'top' : 'bottom';
83
+ destinationColumn.items.update(curr => {
84
+ const originalArray = [...curr];
85
+ if (destinationHoverIdx >= 0) {
86
+ if (destinationHoverIdx === 0 && newOverZone === 'top') {
87
+ originalArray.unshift(this.draggedItem());
88
+ }
89
+ else if (destinationHoverIdx === curr.length - 1 && newOverZone === 'bottom') {
90
+ originalArray.push(this.draggedItem());
91
+ }
92
+ else {
93
+ const originalItem = curr[destinationHoverIdx];
94
+ originalArray.splice(destinationHoverIdx, 1);
95
+ originalArray.splice(destinationHoverIdx + (newOverZone === 'top' ? -1 : 1), 0, originalItem);
96
+ }
97
+ }
98
+ else if (!!this.draggedItem()) {
99
+ originalArray.push(this.draggedItem());
100
+ }
101
+ return originalArray;
102
+ });
103
+ const destinationColumnIdx = this.columns().findIndex(c => c.name === destination);
104
+ this.columns.update(curr => {
105
+ curr[destinationColumnIdx] = destinationColumn;
106
+ return [...curr];
107
+ });
108
+ }
109
+ this.isReordering.set(false);
110
+ }
111
+ dragEnter() {
112
+ this.dragEnterCounter++;
113
+ }
114
+ dragLeave(columnName) {
115
+ this.dragEnterCounter--;
116
+ if (this.dragEnterCounter === 0 && !!this.draggedItem()?.origin && this.draggedItem()?.origin !== columnName) {
117
+ const column = this.columns().find(c => c.name === columnName);
118
+ const idx = column.items().findIndex(i => i.name === this.draggedItem()?.name);
119
+ if (idx >= 0) {
120
+ column.items.update(curr => {
121
+ curr.splice(idx, 1);
122
+ return [...curr];
123
+ });
124
+ }
125
+ }
126
+ }
127
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: DragAndDropComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
128
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: DragAndDropComponent, selector: "upd-drag-and-drop", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null }, columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { columns: "columnsChange" }, ngImport: i0, template: "<div class=\"d-flex w-100\">\n @for (col of columns(); track col.name) {\n <div class=\"d-flex flex-column w-100 me-2 bg-body p-4 rounded\" (drop)=\"drop($event, col.name)\"\n (dragover)=\"dragOver($event, col.name)\" (dragenter)=\"dragEnter()\" (dragleave)=\"dragLeave(col.name)\">\n @if (!!col.title) {\n <div class=\"mb-2\">\n <h1>{{ textService.getText(col.title) }}</h1>\n </div>\n }\n @for (item of col.items(); track item.name) {\n <div class=\"d-flex border p-2 mb-1 bg-muted-lt rounded\" [attr.draggable]=\"item.isDraggable\" [attr.id]=\"item.name\"\n [class.draggable]=\"item.isDraggable\" [class.opacity-25]=\"item.isBeingDragged()\"\n (dragstart)=\"startDrag($event, item, col.name)\" (dragend)=\"endDrag(item)\">\n @if (canShowHandler(item)) {\n <upd-icon tablerIcon=\"grip-vertical\" customClasses=\"me-2\"></upd-icon>\n }\n <div class=\"flex-grow-1 align-content-center\">\n <span>{{ textService.getText(item.text) }}</span>\n </div>\n </div>\n }\n </div>\n }\n</div>\n", styles: [".draggable{cursor:move;-webkit-user-select:none;user-select:none}\n"], dependencies: [{ kind: "component", type: i1.IconComponent, selector: "upd-icon", inputs: ["model", "wrapperClasses", "color", "colorClass", "removeDefaultClasses", "customClasses", "tablerIcon", "tablerIconWeight", "tablerIconType", "tablerIconSize", "heroIcon", "heroIconSize", "heroIconType"] }] }); }
129
+ }
130
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: DragAndDropComponent, decorators: [{
131
+ type: Component,
132
+ args: [{ selector: 'upd-drag-and-drop', template: "<div class=\"d-flex w-100\">\n @for (col of columns(); track col.name) {\n <div class=\"d-flex flex-column w-100 me-2 bg-body p-4 rounded\" (drop)=\"drop($event, col.name)\"\n (dragover)=\"dragOver($event, col.name)\" (dragenter)=\"dragEnter()\" (dragleave)=\"dragLeave(col.name)\">\n @if (!!col.title) {\n <div class=\"mb-2\">\n <h1>{{ textService.getText(col.title) }}</h1>\n </div>\n }\n @for (item of col.items(); track item.name) {\n <div class=\"d-flex border p-2 mb-1 bg-muted-lt rounded\" [attr.draggable]=\"item.isDraggable\" [attr.id]=\"item.name\"\n [class.draggable]=\"item.isDraggable\" [class.opacity-25]=\"item.isBeingDragged()\"\n (dragstart)=\"startDrag($event, item, col.name)\" (dragend)=\"endDrag(item)\">\n @if (canShowHandler(item)) {\n <upd-icon tablerIcon=\"grip-vertical\" customClasses=\"me-2\"></upd-icon>\n }\n <div class=\"flex-grow-1 align-content-center\">\n <span>{{ textService.getText(item.text) }}</span>\n </div>\n </div>\n }\n </div>\n }\n</div>\n", styles: [".draggable{cursor:move;-webkit-user-select:none;user-select:none}\n"] }]
133
+ }] });
134
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1hbmQtZHJvcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZHJhZy1hbmQtZHJvcC9zcmMvZHJhZy1hbmQtZHJvcC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZHJhZy1hbmQtZHJvcC9zcmMvZHJhZy1hbmQtZHJvcC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUkxQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7O0FBUTdFLE1BQU0sT0FBTyxvQkFBb0I7SUFMakM7UUFNSSxXQUFNLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBcUIsQ0FBQztRQUM3QyxZQUFPLEdBQUcsS0FBSyxDQUEyQixFQUFFLENBQUMsQ0FBQztRQUVyQyxnQkFBVyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsV0FBVyxJQUFJLEtBQUssQ0FBQyxDQUFDO1FBQ2pFLGVBQVUsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLFVBQVUsSUFBSSxLQUFLLENBQUMsQ0FBQztRQUMvRCxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUUxQixpQkFBWSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3QixnQkFBVyxHQUFHLE1BQU0sQ0FBcUMsU0FBUyxDQUFDLENBQUM7UUFDN0UscUJBQWdCLEdBQUcsQ0FBQyxDQUFDO0tBNEloQztJQTFJRyxR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QUM7SUFFRCxTQUFTO1FBQ0wsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELFNBQVMsQ0FBQyxVQUFrQjtRQUN4QixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUV4QixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxNQUFNLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sS0FBSyxVQUFVLEVBQUUsQ0FBQztZQUMzRyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxVQUFVLENBQUUsQ0FBQztZQUNoRSxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFFL0UsSUFBSSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQ1gsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUU7b0JBQ3ZCLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO29CQUNwQixPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztnQkFDckIsQ0FBQyxDQUFDLENBQUM7WUFDUCxDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7OEdBckpRLG9CQUFvQjtrR0FBcEIsb0JBQW9CLG9XQ2JqQyxveENBd0JBOzsyRkRYYSxvQkFBb0I7a0JBTGhDLFNBQVM7K0JBQ0ksbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbnB1dCwgaW5qZWN0LCBjb21wdXRlZCwgc2lnbmFsLCBtb2RlbCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUZXh0U2VydmljZSB9IGZyb20gJ0B1cGRldnMvc2RrJztcbmltcG9ydCB7IE9wdGlvbmFsVHlwZSB9IGZyb20gJ0B1cGRldnMvc2RrL3R5cGVzJztcblxuaW1wb3J0IHsgRHJhZ0FuZERyb3BJdGVtTW9kZWwgfSBmcm9tICcuL21vZGVscy9kcmFnLWFuZC1kcm9wLWl0ZW0ubW9kZWwnO1xuaW1wb3J0IHsgRHJhZ0FuZERyb3BDb2x1bW5Nb2RlbCB9IGZyb20gJy4vbW9kZWxzL2RyYWctYW5kLWRyb3AtY29sdW1uLm1vZGVsJztcbmltcG9ydCB7IERyYWdBbmREcm9wQ29uZmlnIH0gZnJvbSAnLi9tb2RlbHMvZHJhZy1hbmQtZHJvcC5jb25maWcnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3VwZC1kcmFnLWFuZC1kcm9wJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZHJhZy1hbmQtZHJvcC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL2RyYWctYW5kLWRyb3AuY29tcG9uZW50LnNjc3MnXG59KVxuZXhwb3J0IGNsYXNzIERyYWdBbmREcm9wQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBjb25maWcgPSBpbnB1dC5yZXF1aXJlZDxEcmFnQW5kRHJvcENvbmZpZz4oKTtcbiAgICBjb2x1bW5zID0gbW9kZWw8RHJhZ0FuZERyb3BDb2x1bW5Nb2RlbFtdPihbXSk7XG5cbiAgICByZWFkb25seSBzaG93SGFuZGxlciA9IGNvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkuc2hvd0hhbmRsZXIgfHwgZmFsc2UpO1xuICAgIHJlYWRvbmx5IGNhblJlb3JkZXIgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLmNhblJlb3JkZXIgfHwgZmFsc2UpO1xuICAgIHJlYWRvbmx5IHRleHRTZXJ2aWNlID0gaW5qZWN0KFRleHRTZXJ2aWNlKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgaXNSZW9yZGVyaW5nID0gc2lnbmFsKGZhbHNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRyYWdnZWRJdGVtID0gc2lnbmFsPE9wdGlvbmFsVHlwZTxEcmFnQW5kRHJvcEl0ZW1Nb2RlbD4+KHVuZGVmaW5lZCk7XG4gICAgcHJpdmF0ZSBkcmFnRW50ZXJDb3VudGVyID0gMDtcblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbHVtbnMuc2V0KHRoaXMuY29uZmlnKCkuY29sdW1ucy5tYXAoYyA9PiBuZXcgRHJhZ0FuZERyb3BDb2x1bW5Nb2RlbChjKSkpO1xuICAgIH1cblxuICAgIGNhblNob3dIYW5kbGVyKGl0ZW06IERyYWdBbmREcm9wSXRlbU1vZGVsKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNob3dIYW5kbGVyKCkgJiYgaXRlbS5pc0RyYWdnYWJsZTtcbiAgICB9XG5cbiAgICBzdGFydERyYWcoZXZlbnQ6IERyYWdFdmVudCwgaXRlbTogRHJhZ0FuZERyb3BJdGVtTW9kZWwsIG9yaWdpbjogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGl0ZW0ub3JpZ2luID0gb3JpZ2luO1xuXG4gICAgICAgIHRoaXMuZHJhZ2dlZEl0ZW0uc2V0KGl0ZW0pO1xuICAgICAgICBpdGVtLmlzQmVpbmdEcmFnZ2VkLnNldCh0cnVlKTtcblxuICAgICAgICBldmVudC5kYXRhVHJhbnNmZXIhLmVmZmVjdEFsbG93ZWQgPSAnbW92ZSc7XG4gICAgfVxuXG4gICAgZW5kRHJhZyhpdGVtOiBEcmFnQW5kRHJvcEl0ZW1Nb2RlbCk6IHZvaWQge1xuICAgICAgICBpdGVtLmlzQmVpbmdEcmFnZ2VkLnNldChmYWxzZSk7XG4gICAgICAgIHRoaXMuZHJhZ2dlZEl0ZW0uc2V0KHVuZGVmaW5lZCk7XG4gICAgfVxuXG4gICAgZHJvcChldmVudDogRHJhZ0V2ZW50LCBkZXN0aW5hdGlvbjogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgICAgdGhpcy5kcmFnRW50ZXJDb3VudGVyID0gMDtcbiAgICAgICAgY29uc3QgZGF0YVRyYW5zZmVyID0gZXZlbnQuZGF0YVRyYW5zZmVyITtcbiAgICAgICAgZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgPSAnbW92ZSc7XG4gICAgICAgIGNvbnN0IGl0ZW1OYW1lID0gdGhpcy5kcmFnZ2VkSXRlbSgpPy5uYW1lO1xuICAgICAgICBjb25zdCBvcmlnaW4gPSB0aGlzLmRyYWdnZWRJdGVtKCk/Lm9yaWdpbjtcbiAgICAgICAgY29uc3QgaXRlbSA9IHRoaXMuY29sdW1ucygpLmZpbmQoYyA9PiBjLm5hbWUgPT09IG9yaWdpbik/Lml0ZW1zKCkuZmluZChpID0+IGkubmFtZSA9PT0gaXRlbU5hbWUpO1xuXG4gICAgICAgIGlmICghIWl0ZW0gJiYgKHRoaXMuY2FuUmVvcmRlcigpIHx8IGRlc3RpbmF0aW9uICE9PSBvcmlnaW4pKSB7XG4gICAgICAgICAgICBjb25zdCBkZXN0aW5hdGlvbkNvbHVtbiA9IHRoaXMuY29sdW1ucygpLmZpbmQoYyA9PiBjLm5hbWUgPT09IGRlc3RpbmF0aW9uKTtcbiAgICAgICAgICAgIGNvbnN0IG9yaWdpbkNvbHVtbiA9IHRoaXMuY29sdW1ucygpLmZpbmQoYyA9PiBjLm5hbWUgPT09IG9yaWdpbikhO1xuXG4gICAgICAgICAgICBpZiAoISFkZXN0aW5hdGlvbkNvbHVtbikge1xuICAgICAgICAgICAgICAgIGl0ZW0uaXNCZWluZ0RyYWdnZWQuc2V0KGZhbHNlKTtcbiAgICAgICAgICAgICAgICB0aGlzLmRyYWdnZWRJdGVtLnNldCh1bmRlZmluZWQpO1xuXG4gICAgICAgICAgICAgICAgLy8gV2Ugb25seSBtb3ZlIGl0ZW1zIGlmIGl0J3MgYSBtb3ZlIGJldHdlZW4gY29udGFpbmVycywgaWYgaXQncyBhIHJlb3JkZXIsIG5vdGhpbmcgbmVlZHMgdG8gYmUgZG9uZS5cbiAgICAgICAgICAgICAgICAvLyBUaGUgaXRlbSB3YXMgY29ycmVjdGx5IHJlcGxhY2VkIGR1cmluZyBkcmFnT3Zlci5cbiAgICAgICAgICAgICAgICBpZiAoZGVzdGluYXRpb24gIT09IG9yaWdpbikge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBvcmlnaW5JZHggPSBvcmlnaW5Db2x1bW4uaXRlbXMoKS5maW5kSW5kZXgoaSA9PiBpLm5hbWUgPT09IGl0ZW1OYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGVzdGluYXRpb25JZHggPSBkZXN0aW5hdGlvbkNvbHVtbi5pdGVtcygpLmZpbmRJbmRleChpID0+IGkubmFtZSA9PT0gaXRlbU5hbWUpO1xuXG4gICAgICAgICAgICAgICAgICAgIG9yaWdpbkNvbHVtbi5pdGVtcygpLnNwbGljZShvcmlnaW5JZHgsIDEpO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIFRoaXMgaXMgcmVxdWlyZWQsIGJlY2F1c2UgdGhlIGl0ZW0gbWF5IGhhdmUgYmVlbiBhZGRlZCBkdXJpbmcgZHJhZ092ZXIuIFRPRE86IGNoZWNrXG4gICAgICAgICAgICAgICAgICAgIGlmIChkZXN0aW5hdGlvbklkeCA+PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhVHJhbnNmZXIuY2xlYXJEYXRhKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBkZXN0aW5hdGlvbkNvbHVtbi5pdGVtcygpLnB1c2goaXRlbSk7XG5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGVzdGluYXRpb25Db2x1bW5JZHggPSB0aGlzLmNvbHVtbnMoKS5maW5kSW5kZXgoYyA9PiBjLm5hbWUgPT09IGRlc3RpbmF0aW9uKTtcblxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbHVtbnMudXBkYXRlKGN1cnIgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY3VycltkZXN0aW5hdGlvbkNvbHVtbklkeF0gPSBkZXN0aW5hdGlvbkNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBbLi4uY3Vycl07XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGRhdGFUcmFuc2Zlci5jbGVhckRhdGEoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGRyYWdPdmVyKGV2ZW50OiBEcmFnRXZlbnQsIGRlc3RpbmF0aW9uOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgY29uc3QgZGVzdGluYXRpb25Db2x1bW4gPSB0aGlzLmNvbHVtbnMoKS5maW5kKGMgPT4gYy5uYW1lID09PSBkZXN0aW5hdGlvbikhO1xuXG4gICAgICAgIGlmICh0aGlzLmlzUmVvcmRlcmluZygpIHx8IGRlc3RpbmF0aW9uQ29sdW1uLml0ZW1zKCkubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBldmVudC5kYXRhVHJhbnNmZXIhLmRyb3BFZmZlY3QgPSAnbW92ZSc7XG5cbiAgICAgICAgdGhpcy5pc1Jlb3JkZXJpbmcuc2V0KHRydWUpO1xuICAgICAgICBjb25zdCBlbGVtZW50ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xuXG4gICAgICAgIGlmICghIWVsZW1lbnQuaWQgJiYgISF0aGlzLmRyYWdnZWRJdGVtKCkgJiYgZWxlbWVudC5pZCAhPT0gdGhpcy5kcmFnZ2VkSXRlbSgpIS5uYW1lKSB7XG4gICAgICAgICAgICBjb25zdCBkZXN0aW5hdGlvbkhvdmVySWR4ID0gZGVzdGluYXRpb25Db2x1bW4uaXRlbXMoKS5maW5kSW5kZXgoaSA9PiBpLm5hbWUgPT09IGVsZW1lbnQuaWQpO1xuICAgICAgICAgICAgY29uc3QgcmVjdCA9IGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgICAgICBjb25zdCB5ID0gZXZlbnQuY2xpZW50WSAtIHJlY3QudG9wO1xuICAgICAgICAgICAgY29uc3QgbmV3T3ZlclpvbmUgPSB5IDw9IHJlY3QuaGVpZ2h0IC8gMiA/ICd0b3AnIDogJ2JvdHRvbSc7XG5cbiAgICAgICAgICAgIGRlc3RpbmF0aW9uQ29sdW1uLml0ZW1zLnVwZGF0ZShjdXJyID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBvcmlnaW5hbEFycmF5ID0gWy4uLmN1cnJdO1xuXG4gICAgICAgICAgICAgICAgaWYgKGRlc3RpbmF0aW9uSG92ZXJJZHggPj0gMCkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoZGVzdGluYXRpb25Ib3ZlcklkeCA9PT0gMCAmJiBuZXdPdmVyWm9uZSA9PT0gJ3RvcCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9yaWdpbmFsQXJyYXkudW5zaGlmdCh0aGlzLmRyYWdnZWRJdGVtKCkhKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChkZXN0aW5hdGlvbkhvdmVySWR4ID09PSBjdXJyLmxlbmd0aCAtIDEgJiYgbmV3T3ZlclpvbmUgPT09ICdib3R0b20nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcmlnaW5hbEFycmF5LnB1c2godGhpcy5kcmFnZ2VkSXRlbSgpISk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBvcmlnaW5hbEl0ZW0gPSBjdXJyW2Rlc3RpbmF0aW9uSG92ZXJJZHhdO1xuICAgICAgICAgICAgICAgICAgICAgICAgb3JpZ2luYWxBcnJheS5zcGxpY2UoZGVzdGluYXRpb25Ib3ZlcklkeCwgMSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcmlnaW5hbEFycmF5LnNwbGljZShkZXN0aW5hdGlvbkhvdmVySWR4ICsgKG5ld092ZXJab25lID09PSAndG9wJyA/IC0xIDogMSksIDAsIG9yaWdpbmFsSXRlbSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCEhdGhpcy5kcmFnZ2VkSXRlbSgpKSB7XG4gICAgICAgICAgICAgICAgICAgIG9yaWdpbmFsQXJyYXkucHVzaCh0aGlzLmRyYWdnZWRJdGVtKCkhKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gb3JpZ2luYWxBcnJheTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBjb25zdCBkZXN0aW5hdGlvbkNvbHVtbklkeCA9IHRoaXMuY29sdW1ucygpLmZpbmRJbmRleChjID0+IGMubmFtZSA9PT0gZGVzdGluYXRpb24pO1xuXG4gICAgICAgICAgICB0aGlzLmNvbHVtbnMudXBkYXRlKGN1cnIgPT4ge1xuICAgICAgICAgICAgICAgIGN1cnJbZGVzdGluYXRpb25Db2x1bW5JZHhdID0gZGVzdGluYXRpb25Db2x1bW47XG4gICAgICAgICAgICAgICAgcmV0dXJuIFsuLi5jdXJyXTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5pc1Jlb3JkZXJpbmcuc2V0KGZhbHNlKTtcbiAgICB9XG5cbiAgICBkcmFnRW50ZXIoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZHJhZ0VudGVyQ291bnRlcisrO1xuICAgIH1cblxuICAgIGRyYWdMZWF2ZShjb2x1bW5OYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kcmFnRW50ZXJDb3VudGVyLS07XG5cbiAgICAgICAgaWYgKHRoaXMuZHJhZ0VudGVyQ291bnRlciA9PT0gMCAmJiAhIXRoaXMuZHJhZ2dlZEl0ZW0oKT8ub3JpZ2luICYmIHRoaXMuZHJhZ2dlZEl0ZW0oKT8ub3JpZ2luICE9PSBjb2x1bW5OYW1lKSB7XG4gICAgICAgICAgICBjb25zdCBjb2x1bW4gPSB0aGlzLmNvbHVtbnMoKS5maW5kKGMgPT4gYy5uYW1lID09PSBjb2x1bW5OYW1lKSE7XG4gICAgICAgICAgICBjb25zdCBpZHggPSBjb2x1bW4uaXRlbXMoKS5maW5kSW5kZXgoaSA9PiBpLm5hbWUgPT09IHRoaXMuZHJhZ2dlZEl0ZW0oKT8ubmFtZSk7XG5cbiAgICAgICAgICAgIGlmIChpZHggPj0gMCkge1xuICAgICAgICAgICAgICAgIGNvbHVtbi5pdGVtcy51cGRhdGUoY3VyciA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGN1cnIuc3BsaWNlKGlkeCwgMSk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBbLi4uY3Vycl07XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZC1mbGV4IHctMTAwXCI+XG4gICAgQGZvciAoY29sIG9mIGNvbHVtbnMoKTsgdHJhY2sgY29sLm5hbWUpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiB3LTEwMCBtZS0yIGJnLWJvZHkgcC00IHJvdW5kZWRcIiAoZHJvcCk9XCJkcm9wKCRldmVudCwgY29sLm5hbWUpXCJcbiAgICAgICAgICAgIChkcmFnb3Zlcik9XCJkcmFnT3ZlcigkZXZlbnQsIGNvbC5uYW1lKVwiIChkcmFnZW50ZXIpPVwiZHJhZ0VudGVyKClcIiAoZHJhZ2xlYXZlKT1cImRyYWdMZWF2ZShjb2wubmFtZSlcIj5cbiAgICAgICAgICAgIEBpZiAoISFjb2wudGl0bGUpIHtcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItMlwiPlxuICAgICAgICAgICAgICAgICAgICA8aDE+e3sgdGV4dFNlcnZpY2UuZ2V0VGV4dChjb2wudGl0bGUpIH19PC9oMT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBmb3IgKGl0ZW0gb2YgY29sLml0ZW1zKCk7IHRyYWNrIGl0ZW0ubmFtZSkge1xuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYm9yZGVyIHAtMiBtYi0xIGJnLW11dGVkLWx0IHJvdW5kZWRcIiBbYXR0ci5kcmFnZ2FibGVdPVwiaXRlbS5pc0RyYWdnYWJsZVwiIFthdHRyLmlkXT1cIml0ZW0ubmFtZVwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5kcmFnZ2FibGVdPVwiaXRlbS5pc0RyYWdnYWJsZVwiIFtjbGFzcy5vcGFjaXR5LTI1XT1cIml0ZW0uaXNCZWluZ0RyYWdnZWQoKVwiXG4gICAgICAgICAgICAgICAgICAgIChkcmFnc3RhcnQpPVwic3RhcnREcmFnKCRldmVudCwgaXRlbSwgY29sLm5hbWUpXCIgKGRyYWdlbmQpPVwiZW5kRHJhZyhpdGVtKVwiPlxuICAgICAgICAgICAgICAgICAgICBAaWYgKGNhblNob3dIYW5kbGVyKGl0ZW0pKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8dXBkLWljb24gdGFibGVySWNvbj1cImdyaXAtdmVydGljYWxcIiBjdXN0b21DbGFzc2VzPVwibWUtMlwiPjwvdXBkLWljb24+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtZ3Jvdy0xIGFsaWduLWNvbnRlbnQtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyB0ZXh0U2VydmljZS5nZXRUZXh0KGl0ZW0udGV4dCkgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICB9XG48L2Rpdj5cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export * from './public-api';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZHJhZy1hbmQtZHJvcC9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1hbmQtZHJvcC1jb2x1bW4uY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RyYWctYW5kLWRyb3Avc3JjL21vZGVscy9kcmFnLWFuZC1kcm9wLWNvbHVtbi5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRleHRNb2RlbCB9IGZyb20gJ0B1cGRldnMvc2RrJztcblxuaW1wb3J0IHsgRHJhZ0FuZERyb3BJdGVtIH0gZnJvbSAnLi9kcmFnLWFuZC1kcm9wLWl0ZW0nO1xuXG5leHBvcnQgaW50ZXJmYWNlIERyYWdBbmREcm9wQ29sdW1uQ29uZmlnIHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgdGl0bGU/OiBUZXh0TW9kZWw7XG4gICAgaXRlbXM6IERyYWdBbmREcm9wSXRlbVtdO1xuICAgIGNhbkJlRW1wdHk/OiBib29sZWFuO1xufVxuIl19
@@ -0,0 +1,9 @@
1
+ import { signal } from '@angular/core';
2
+ import { DragAndDropItemModel } from './drag-and-drop-item.model';
3
+ export class DragAndDropColumnModel {
4
+ constructor(init) {
5
+ Object.assign(this, init);
6
+ this.items = signal(init.items.map(i => new DragAndDropItemModel(i)));
7
+ }
8
+ }
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1hbmQtZHJvcC1jb2x1bW4ubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZHJhZy1hbmQtZHJvcC9zcmMvbW9kZWxzL2RyYWctYW5kLWRyb3AtY29sdW1uLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBa0IsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSXZELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRWxFLE1BQU0sT0FBTyxzQkFBc0I7SUFLL0IsWUFBWSxJQUE2QjtRQUNyQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMxQixJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksb0JBQW9CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzFFLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFdyaXRhYmxlU2lnbmFsLCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRleHRNb2RlbCB9IGZyb20gJ0B1cGRldnMvc2RrJztcblxuaW1wb3J0IHsgRHJhZ0FuZERyb3BDb2x1bW5Db25maWcgfSBmcm9tICcuL2RyYWctYW5kLWRyb3AtY29sdW1uLmNvbmZpZyc7XG5pbXBvcnQgeyBEcmFnQW5kRHJvcEl0ZW1Nb2RlbCB9IGZyb20gJy4vZHJhZy1hbmQtZHJvcC1pdGVtLm1vZGVsJztcblxuZXhwb3J0IGNsYXNzIERyYWdBbmREcm9wQ29sdW1uTW9kZWwge1xuICAgIG5hbWUhOiBzdHJpbmc7XG4gICAgdGl0bGU/OiBUZXh0TW9kZWw7XG4gICAgaXRlbXMhOiBXcml0YWJsZVNpZ25hbDxEcmFnQW5kRHJvcEl0ZW1Nb2RlbFtdPjtcblxuICAgIGNvbnN0cnVjdG9yKGluaXQ6IERyYWdBbmREcm9wQ29sdW1uQ29uZmlnKSB7XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywgaW5pdCk7XG4gICAgICAgIHRoaXMuaXRlbXMgPSBzaWduYWwoaW5pdC5pdGVtcy5tYXAoaSA9PiBuZXcgRHJhZ0FuZERyb3BJdGVtTW9kZWwoaSkpKTtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1hbmQtZHJvcC1pdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RyYWctYW5kLWRyb3Avc3JjL21vZGVscy9kcmFnLWFuZC1kcm9wLWl0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRleHRNb2RlbCB9IGZyb20gJ0B1cGRldnMvc2RrJztcblxuZXhwb3J0IGludGVyZmFjZSBEcmFnQW5kRHJvcEl0ZW0ge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICB0ZXh0OiBUZXh0TW9kZWw7XG4gICAgaXNEaXNhYmxlZD86IGJvb2xlYW47XG4gICAgY2FuRHJhZz86IGJvb2xlYW47XG59XG4iXX0=
@@ -0,0 +1,14 @@
1
+ import { signal } from '@angular/core';
2
+ export class DragAndDropItemModel {
3
+ get isDraggable() {
4
+ return this.canDrag && !this.isDisabled;
5
+ }
6
+ constructor(init) {
7
+ this.isDisabled = false;
8
+ this.canDrag = true;
9
+ this.canBeEmpty = true; // TODO: implement
10
+ this.isBeingDragged = signal(false);
11
+ Object.assign(this, init);
12
+ }
13
+ }
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1hbmQtZHJvcC1pdGVtLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RyYWctYW5kLWRyb3Avc3JjL21vZGVscy9kcmFnLWFuZC1kcm9wLWl0ZW0ubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUt2QyxNQUFNLE9BQU8sb0JBQW9CO0lBUTdCLElBQUksV0FBVztRQUNYLE9BQU8sSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDNUMsQ0FBQztJQUVELFlBQVksSUFBcUI7UUFUakMsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNuQixZQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ2YsZUFBVSxHQUFHLElBQUksQ0FBQyxDQUFDLGtCQUFrQjtRQUNyQyxtQkFBYyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQU8zQixNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRleHRNb2RlbCB9IGZyb20gJ0B1cGRldnMvc2RrJztcblxuaW1wb3J0IHsgRHJhZ0FuZERyb3BJdGVtIH0gZnJvbSAnLi9kcmFnLWFuZC1kcm9wLWl0ZW0nO1xuXG5leHBvcnQgY2xhc3MgRHJhZ0FuZERyb3BJdGVtTW9kZWwgaW1wbGVtZW50cyBEcmFnQW5kRHJvcEl0ZW0ge1xuICAgIG5hbWUhOiBzdHJpbmc7XG4gICAgdGV4dCE6IFRleHRNb2RlbDtcbiAgICBpc0Rpc2FibGVkID0gZmFsc2U7XG4gICAgY2FuRHJhZyA9IHRydWU7XG4gICAgY2FuQmVFbXB0eSA9IHRydWU7IC8vIFRPRE86IGltcGxlbWVudFxuICAgIGlzQmVpbmdEcmFnZ2VkID0gc2lnbmFsKGZhbHNlKTtcbiAgICBvcmlnaW4/OiBzdHJpbmc7XG4gICAgZ2V0IGlzRHJhZ2dhYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jYW5EcmFnICYmICF0aGlzLmlzRGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoaW5pdDogRHJhZ0FuZERyb3BJdGVtKSB7XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywgaW5pdCk7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1hbmQtZHJvcC5jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZHJhZy1hbmQtZHJvcC9zcmMvbW9kZWxzL2RyYWctYW5kLWRyb3AuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEcmFnQW5kRHJvcENvbHVtbkNvbmZpZyB9IGZyb20gJy4vZHJhZy1hbmQtZHJvcC1jb2x1bW4uY29uZmlnJztcblxuZXhwb3J0IGludGVyZmFjZSBEcmFnQW5kRHJvcENvbmZpZyB7XG4gICAgY29sdW1uczogRHJhZ0FuZERyb3BDb2x1bW5Db25maWdbXTtcbiAgICBzaG93SGFuZGxlcj86IGJvb2xlYW47XG4gICAgY2FuUmVvcmRlcj86IGJvb2xlYW47XG59XG4iXX0=