@updevs/components 1.0.0-alpha.10 → 1.0.0-alpha.100

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 (736) hide show
  1. package/README.md +1 -8
  2. package/assets/styles/_core.scss +9 -0
  3. package/assets/styles/_debug.scss +49 -0
  4. package/assets/styles/_props.scss +91 -0
  5. package/assets/styles/_updevs.scss +12 -0
  6. package/assets/styles/_utilities-marketing.scss +209 -0
  7. package/assets/styles/_utilities.scss +127 -92
  8. package/assets/styles/_variables-dark.scss +8 -6
  9. package/assets/styles/_variables.scss +326 -257
  10. package/assets/styles/helpers/_index.scss +143 -0
  11. package/assets/styles/layout/_core.scss +3 -2
  12. package/assets/styles/layout/_dark.scss +40 -35
  13. package/assets/styles/layout/_footer.scss +1 -1
  14. package/assets/styles/layout/_navbar.scss +31 -19
  15. package/assets/styles/layout/_page.scss +6 -5
  16. package/assets/styles/layout/_root.scss +26 -34
  17. package/assets/styles/marketing/_browser.scss +67 -0
  18. package/assets/styles/marketing/_core.scss +8 -0
  19. package/assets/styles/marketing/_filters.scss +0 -0
  20. package/assets/styles/marketing/_hero.scss +70 -0
  21. package/assets/styles/marketing/_pricing.scss +111 -0
  22. package/assets/styles/marketing/_sections.scss +124 -0
  23. package/assets/styles/marketing/_shape.scss +31 -0
  24. package/assets/styles/mixins/_functions.scss +53 -0
  25. package/assets/styles/mixins/_mixins.scss +9 -9
  26. package/assets/styles/ui/_accordion.scss +165 -11
  27. package/assets/styles/ui/_alerts.scss +80 -38
  28. package/assets/styles/ui/_avatars.scss +36 -9
  29. package/assets/styles/ui/_badges.scss +47 -13
  30. package/assets/styles/ui/_button-group.scss +1 -1
  31. package/assets/styles/ui/_buttons.scss +33 -37
  32. package/assets/styles/ui/_calendars.scss +2 -2
  33. package/assets/styles/ui/_cards.scss +9 -0
  34. package/assets/styles/ui/_carousel.scss +1 -1
  35. package/assets/styles/ui/_charts.scss +1 -1
  36. package/assets/styles/ui/_chat.scss +38 -0
  37. package/assets/styles/ui/_close.scss +54 -1
  38. package/assets/styles/ui/_datagrid.scss +1 -1
  39. package/assets/styles/ui/_dropdowns.scss +3 -0
  40. package/assets/styles/ui/_empty.scss +0 -5
  41. package/assets/styles/ui/_flags.scss +2 -2
  42. package/assets/styles/ui/_forms.scss +33 -7
  43. package/assets/styles/ui/_grid.scss +1 -1
  44. package/assets/styles/ui/_icons.scss +1 -1
  45. package/assets/styles/ui/_images.scss +4 -0
  46. package/assets/styles/ui/_lists.scss +12 -16
  47. package/assets/styles/ui/_loaders.scss +1 -1
  48. package/assets/styles/ui/_markdown.scss +15 -4
  49. package/assets/styles/ui/_modals.scss +2 -2
  50. package/assets/styles/ui/_nav.scss +17 -3
  51. package/assets/styles/ui/_offcanvas.scss +2 -2
  52. package/assets/styles/ui/_pagination.scss +2 -0
  53. package/assets/styles/ui/_payments.scss +1 -1
  54. package/assets/styles/ui/_placeholder.scss +1 -1
  55. package/assets/styles/ui/_progress.scss +1 -1
  56. package/assets/styles/ui/_ribbons.scss +1 -0
  57. package/assets/styles/ui/_segmented.scss +101 -0
  58. package/assets/styles/ui/_signature.scss +15 -0
  59. package/assets/styles/ui/_social.scss +52 -0
  60. package/assets/styles/ui/_status.scss +1 -1
  61. package/assets/styles/ui/_steps.scss +5 -1
  62. package/assets/styles/ui/_switch-icon.scss +1 -1
  63. package/assets/styles/ui/_tables.scss +27 -1
  64. package/assets/styles/ui/_tags.scss +1 -1
  65. package/assets/styles/ui/_timeline.scss +1 -1
  66. package/assets/styles/ui/_toasts.scss +0 -1
  67. package/assets/styles/ui/_tracking.scss +1 -1
  68. package/assets/styles/ui/_type.scss +169 -8
  69. package/assets/styles/ui/forms/_form-check.scss +1 -1
  70. package/assets/styles/ui/forms/_form-colorinput.scss +1 -1
  71. package/assets/styles/ui/forms/_form-custom.scss +1 -1
  72. package/assets/styles/ui/forms/_form-imagecheck.scss +6 -5
  73. package/assets/styles/ui/forms/_form-selectgroup.scss +2 -2
  74. package/assets/styles/ui/typo/_hr.scss +4 -2
  75. package/assets/styles/utils/_colors.scss +72 -11
  76. package/assets/styles/utils/_opacity.scss +1 -1
  77. package/assets/styles/utils/_scroll.scss +0 -2
  78. package/assets/styles/utils/_sizing.scss +1 -1
  79. package/assets/styles/utils/_text.scss +1 -2
  80. package/assets/styles/vendor/_apexcharts.scss +52 -0
  81. package/assets/styles/vendor/_coloris.scss +72 -0
  82. package/assets/styles/vendor/_dropzone.scss +27 -0
  83. package/assets/styles/vendor/_fslightbox.scss +13 -0
  84. package/assets/styles/vendor/_jsvectormap.scss +47 -0
  85. package/assets/styles/vendor/_litepicker.scss +69 -0
  86. package/assets/styles/vendor/_nouislider.scss +49 -0
  87. package/assets/styles/vendor/_plyr.scss +3 -0
  88. package/assets/styles/vendor/_stars-rating.scss +22 -0
  89. package/assets/styles/vendor/_tom-select.scss +81 -0
  90. package/assets/styles/vendor/_turbo.scss +3 -0
  91. package/assets/styles/vendor/_typed.scss +4 -0
  92. package/assets/styles/vendor/_wysiwyg.scss +46 -0
  93. package/fesm2022/updevs-components-badge.mjs +29 -31
  94. package/fesm2022/updevs-components-badge.mjs.map +1 -1
  95. package/fesm2022/updevs-components-button.mjs +41 -41
  96. package/fesm2022/updevs-components-button.mjs.map +1 -1
  97. package/fesm2022/updevs-components-calendar.mjs +327 -1456
  98. package/fesm2022/updevs-components-calendar.mjs.map +1 -1
  99. package/fesm2022/updevs-components-card.mjs +25 -21
  100. package/fesm2022/updevs-components-card.mjs.map +1 -1
  101. package/fesm2022/updevs-components-drag-and-drop.mjs +17 -17
  102. package/fesm2022/updevs-components-drag-and-drop.mjs.map +1 -1
  103. package/fesm2022/updevs-components-dropdown.mjs +41 -20
  104. package/fesm2022/updevs-components-dropdown.mjs.map +1 -1
  105. package/fesm2022/updevs-components-form-controls-abstractions.mjs +77 -18
  106. package/fesm2022/updevs-components-form-controls-abstractions.mjs.map +1 -1
  107. package/fesm2022/updevs-components-form-controls-checkbox.mjs +31 -21
  108. package/fesm2022/updevs-components-form-controls-checkbox.mjs.map +1 -1
  109. package/fesm2022/updevs-components-form-controls-date-picker.mjs +51 -66
  110. package/fesm2022/updevs-components-form-controls-date-picker.mjs.map +1 -1
  111. package/fesm2022/updevs-components-form-controls-file-upload.mjs +272 -0
  112. package/fesm2022/updevs-components-form-controls-file-upload.mjs.map +1 -0
  113. package/fesm2022/updevs-components-form-controls-input.mjs +46 -28
  114. package/fesm2022/updevs-components-form-controls-input.mjs.map +1 -1
  115. package/fesm2022/updevs-components-form-controls-radio.mjs +20 -14
  116. package/fesm2022/updevs-components-form-controls-radio.mjs.map +1 -1
  117. package/fesm2022/updevs-components-form-controls-select.mjs +288 -111
  118. package/fesm2022/updevs-components-form-controls-select.mjs.map +1 -1
  119. package/fesm2022/updevs-components-form-controls-textarea.mjs +25 -20
  120. package/fesm2022/updevs-components-form-controls-textarea.mjs.map +1 -1
  121. package/fesm2022/updevs-components-form-controls-time-picker.mjs +14 -13
  122. package/fesm2022/updevs-components-form-controls-time-picker.mjs.map +1 -1
  123. package/fesm2022/updevs-components-form.mjs +255 -71
  124. package/fesm2022/updevs-components-form.mjs.map +1 -1
  125. package/fesm2022/updevs-components-layout.mjs +597 -330
  126. package/fesm2022/updevs-components-layout.mjs.map +1 -1
  127. package/fesm2022/updevs-components-link.mjs +9 -9
  128. package/fesm2022/updevs-components-link.mjs.map +1 -1
  129. package/fesm2022/updevs-components-list.mjs +20 -10
  130. package/fesm2022/updevs-components-list.mjs.map +1 -1
  131. package/fesm2022/updevs-components-modal.mjs +27 -25
  132. package/fesm2022/updevs-components-modal.mjs.map +1 -1
  133. package/fesm2022/updevs-components-paginator.mjs +38 -37
  134. package/fesm2022/updevs-components-paginator.mjs.map +1 -1
  135. package/fesm2022/updevs-components-popover.mjs +32 -40
  136. package/fesm2022/updevs-components-popover.mjs.map +1 -1
  137. package/fesm2022/updevs-components-pricing.mjs +130 -0
  138. package/fesm2022/updevs-components-pricing.mjs.map +1 -0
  139. package/fesm2022/updevs-components-table.mjs +678 -333
  140. package/fesm2022/updevs-components-table.mjs.map +1 -1
  141. package/fesm2022/updevs-components.mjs +5 -5
  142. package/fesm2022/updevs-components.mjs.map +1 -1
  143. package/package.json +70 -101
  144. package/types/updevs-components-badge.d.ts +44 -0
  145. package/types/updevs-components-button.d.ts +75 -0
  146. package/types/updevs-components-calendar.d.ts +175 -0
  147. package/{card/card.component.d.ts → types/updevs-components-card.d.ts} +52 -14
  148. package/types/updevs-components-drag-and-drop.d.ts +74 -0
  149. package/{dropdown/dropdown.component.d.ts → types/updevs-components-dropdown.d.ts} +56 -8
  150. package/types/updevs-components-form-controls-abstractions.d.ts +49 -0
  151. package/types/updevs-components-form-controls-checkbox.d.ts +33 -0
  152. package/types/updevs-components-form-controls-date-picker.d.ts +80 -0
  153. package/types/updevs-components-form-controls-file-upload.d.ts +69 -0
  154. package/types/updevs-components-form-controls-input.d.ts +95 -0
  155. package/types/updevs-components-form-controls-radio.d.ts +32 -0
  156. package/types/updevs-components-form-controls-select.d.ts +200 -0
  157. package/types/updevs-components-form-controls-textarea.d.ts +31 -0
  158. package/types/updevs-components-form-controls-time-picker.d.ts +164 -0
  159. package/types/updevs-components-form.d.ts +356 -0
  160. package/types/updevs-components-layout.d.ts +490 -0
  161. package/{link/link.component.d.ts → types/updevs-components-link.d.ts} +16 -4
  162. package/types/updevs-components-list.d.ts +107 -0
  163. package/types/updevs-components-modal.d.ts +155 -0
  164. package/types/updevs-components-paginator.d.ts +58 -0
  165. package/types/updevs-components-popover.d.ts +63 -0
  166. package/types/updevs-components-pricing.d.ts +91 -0
  167. package/types/updevs-components-table.d.ts +619 -0
  168. package/types/updevs-components.d.ts +44 -0
  169. package/badge/badge-config.model.d.ts +0 -14
  170. package/badge/badge.component.d.ts +0 -24
  171. package/badge/badge.config.d.ts +0 -12
  172. package/badge/index.d.ts +0 -1
  173. package/badge/public-api.d.ts +0 -3
  174. package/badge/upd-badge.module.d.ts +0 -8
  175. package/button/button.component.d.ts +0 -61
  176. package/button/index.d.ts +0 -1
  177. package/button/public-api.d.ts +0 -2
  178. package/button/upd-button.module.d.ts +0 -10
  179. package/calendar/calendar.component.d.ts +0 -127
  180. package/calendar/components/calendar-body/calendar-body.component.d.ts +0 -263
  181. package/calendar/components/calendar-header/calendar-header.component.d.ts +0 -57
  182. package/calendar/components/calendar-month-view/calendar-month-view.component.d.ts +0 -151
  183. package/calendar/components/calendar-multi-year-view/calendar-multi-year-view.component.d.ts +0 -10
  184. package/calendar/components/calendar-year-view/calendar-year-view.component.d.ts +0 -9
  185. package/calendar/index.d.ts +0 -1
  186. package/calendar/models/calendar-cell.model.d.ts +0 -16
  187. package/calendar/models/calendar-user-event.model.d.ts +0 -4
  188. package/calendar/models/date-range.model.d.ts +0 -26
  189. package/calendar/models/public-api.d.ts +0 -2
  190. package/calendar/public-api.d.ts +0 -5
  191. package/calendar/services/calendar-range-strategy.service.d.ts +0 -35
  192. package/calendar/services/calendar-signals.service.d.ts +0 -24
  193. package/calendar/services/calendar.service.d.ts +0 -15
  194. package/calendar/services/public-api.d.ts +0 -1
  195. package/calendar/tools/events-options.d.ts +0 -12
  196. package/calendar/tools/keyboard-tools.d.ts +0 -9
  197. package/calendar/tools/passive-listeners.d.ts +0 -16
  198. package/calendar/types/calendar-cell-class-function.type.d.ts +0 -3
  199. package/calendar/types/calendar-cell-css-classes.type.d.ts +0 -3
  200. package/calendar/types/calendar-view.type.d.ts +0 -1
  201. package/calendar/types/modifier-key.type.d.ts +0 -1
  202. package/calendar/types/public-api.d.ts +0 -1
  203. package/calendar/upd-calendar.module.d.ts +0 -18
  204. package/card/directives/card-actions.directive.d.ts +0 -7
  205. package/card/directives/card-footer.directive.d.ts +0 -7
  206. package/card/directives/card-header.directive.d.ts +0 -7
  207. package/card/directives/card-image.directive.d.ts +0 -7
  208. package/card/directives/public-api.d.ts +0 -4
  209. package/card/index.d.ts +0 -1
  210. package/card/public-api.d.ts +0 -3
  211. package/card/types/card-state.type.d.ts +0 -1
  212. package/card/types/card-style.type.d.ts +0 -1
  213. package/card/types/hover-effect.type.d.ts +0 -1
  214. package/card/types/ribbon-style.type.d.ts +0 -1
  215. package/card/types/status-position.type.d.ts +0 -1
  216. package/card/upd-card.module.d.ts +0 -14
  217. package/drag-and-drop/drag-and-drop.component.d.ts +0 -26
  218. package/drag-and-drop/index.d.ts +0 -1
  219. package/drag-and-drop/models/drag-and-drop-column.config.d.ts +0 -8
  220. package/drag-and-drop/models/drag-and-drop-column.model.d.ts +0 -10
  221. package/drag-and-drop/models/drag-and-drop-item.d.ts +0 -7
  222. package/drag-and-drop/models/drag-and-drop-item.model.d.ts +0 -13
  223. package/drag-and-drop/models/drag-and-drop.config.d.ts +0 -6
  224. package/drag-and-drop/models/public-api.d.ts +0 -4
  225. package/drag-and-drop/public-api.d.ts +0 -3
  226. package/drag-and-drop/upd-drag-and-drop.module.d.ts +0 -9
  227. package/dropdown/index.d.ts +0 -1
  228. package/dropdown/models/dropdown-action-clicked.model.d.ts +0 -6
  229. package/dropdown/models/dropdown-item.d.ts +0 -24
  230. package/dropdown/models/dropdown-item.type.d.ts +0 -1
  231. package/dropdown/models/public-api.d.ts +0 -4
  232. package/dropdown/models/toolbar.type.d.ts +0 -1
  233. package/dropdown/public-api.d.ts +0 -3
  234. package/dropdown/upd-dropdown.module.d.ts +0 -12
  235. package/esm2022/badge/badge-config.model.mjs +0 -14
  236. package/esm2022/badge/badge.component.mjs +0 -50
  237. package/esm2022/badge/badge.config.mjs +0 -2
  238. package/esm2022/badge/index.mjs +0 -2
  239. package/esm2022/badge/public-api.mjs +0 -4
  240. package/esm2022/badge/upd-badge.module.mjs +0 -24
  241. package/esm2022/badge/updevs-components-badge.mjs +0 -5
  242. package/esm2022/button/button.component.mjs +0 -157
  243. package/esm2022/button/index.mjs +0 -2
  244. package/esm2022/button/public-api.mjs +0 -3
  245. package/esm2022/button/upd-button.module.mjs +0 -32
  246. package/esm2022/button/updevs-components-button.mjs +0 -5
  247. package/esm2022/calendar/assets/i18n/en.json +0 -16
  248. package/esm2022/calendar/assets/i18n/pt.json +0 -16
  249. package/esm2022/calendar/calendar.component.mjs +0 -247
  250. package/esm2022/calendar/components/calendar-body/calendar-body.component.mjs +0 -515
  251. package/esm2022/calendar/components/calendar-header/calendar-header.component.mjs +0 -144
  252. package/esm2022/calendar/components/calendar-month-view/calendar-month-view.component.mjs +0 -423
  253. package/esm2022/calendar/components/calendar-multi-year-view/calendar-multi-year-view.component.mjs +0 -18
  254. package/esm2022/calendar/components/calendar-year-view/calendar-year-view.component.mjs +0 -17
  255. package/esm2022/calendar/index.mjs +0 -2
  256. package/esm2022/calendar/models/calendar-cell.model.mjs +0 -18
  257. package/esm2022/calendar/models/calendar-user-event.model.mjs +0 -2
  258. package/esm2022/calendar/models/date-range.model.mjs +0 -18
  259. package/esm2022/calendar/models/public-api.mjs +0 -3
  260. package/esm2022/calendar/public-api.mjs +0 -6
  261. package/esm2022/calendar/services/calendar-range-strategy.service.mjs +0 -99
  262. package/esm2022/calendar/services/calendar-signals.service.mjs +0 -47
  263. package/esm2022/calendar/services/calendar.service.mjs +0 -40
  264. package/esm2022/calendar/services/public-api.mjs +0 -2
  265. package/esm2022/calendar/tools/events-options.mjs +0 -14
  266. package/esm2022/calendar/tools/keyboard-tools.mjs +0 -14
  267. package/esm2022/calendar/tools/passive-listeners.mjs +0 -29
  268. package/esm2022/calendar/types/calendar-cell-class-function.type.mjs +0 -2
  269. package/esm2022/calendar/types/calendar-cell-css-classes.type.mjs +0 -2
  270. package/esm2022/calendar/types/calendar-view.type.mjs +0 -2
  271. package/esm2022/calendar/types/modifier-key.type.mjs +0 -2
  272. package/esm2022/calendar/types/public-api.mjs +0 -2
  273. package/esm2022/calendar/upd-calendar.module.mjs +0 -69
  274. package/esm2022/calendar/updevs-components-calendar.mjs +0 -5
  275. package/esm2022/card/card.component.mjs +0 -136
  276. package/esm2022/card/directives/card-actions.directive.mjs +0 -16
  277. package/esm2022/card/directives/card-footer.directive.mjs +0 -16
  278. package/esm2022/card/directives/card-header.directive.mjs +0 -16
  279. package/esm2022/card/directives/card-image.directive.mjs +0 -16
  280. package/esm2022/card/directives/public-api.mjs +0 -5
  281. package/esm2022/card/index.mjs +0 -2
  282. package/esm2022/card/public-api.mjs +0 -4
  283. package/esm2022/card/types/card-state.type.mjs +0 -2
  284. package/esm2022/card/types/card-style.type.mjs +0 -2
  285. package/esm2022/card/types/hover-effect.type.mjs +0 -2
  286. package/esm2022/card/types/ribbon-style.type.mjs +0 -2
  287. package/esm2022/card/types/status-position.type.mjs +0 -2
  288. package/esm2022/card/upd-card.module.mjs +0 -50
  289. package/esm2022/card/updevs-components-card.mjs +0 -5
  290. package/esm2022/drag-and-drop/drag-and-drop.component.mjs +0 -134
  291. package/esm2022/drag-and-drop/index.mjs +0 -2
  292. package/esm2022/drag-and-drop/models/drag-and-drop-column.config.mjs +0 -2
  293. package/esm2022/drag-and-drop/models/drag-and-drop-column.model.mjs +0 -9
  294. package/esm2022/drag-and-drop/models/drag-and-drop-item.mjs +0 -2
  295. package/esm2022/drag-and-drop/models/drag-and-drop-item.model.mjs +0 -14
  296. package/esm2022/drag-and-drop/models/drag-and-drop.config.mjs +0 -2
  297. package/esm2022/drag-and-drop/models/public-api.mjs +0 -5
  298. package/esm2022/drag-and-drop/public-api.mjs +0 -4
  299. package/esm2022/drag-and-drop/upd-drag-and-drop.module.mjs +0 -28
  300. package/esm2022/drag-and-drop/updevs-components-drag-and-drop.mjs +0 -5
  301. package/esm2022/dropdown/dropdown.component.mjs +0 -182
  302. package/esm2022/dropdown/index.mjs +0 -2
  303. package/esm2022/dropdown/models/dropdown-action-clicked.model.mjs +0 -2
  304. package/esm2022/dropdown/models/dropdown-item.mjs +0 -2
  305. package/esm2022/dropdown/models/dropdown-item.type.mjs +0 -2
  306. package/esm2022/dropdown/models/public-api.mjs +0 -5
  307. package/esm2022/dropdown/models/toolbar.type.mjs +0 -2
  308. package/esm2022/dropdown/public-api.mjs +0 -4
  309. package/esm2022/dropdown/upd-dropdown.module.mjs +0 -40
  310. package/esm2022/dropdown/updevs-components-dropdown.mjs +0 -5
  311. package/esm2022/form/assets/i18n/en.json +0 -17
  312. package/esm2022/form/assets/i18n/pt.json +0 -17
  313. package/esm2022/form/components/dynamic-field/dynamic-field.component.mjs +0 -96
  314. package/esm2022/form/form.component.mjs +0 -102
  315. package/esm2022/form/index.mjs +0 -2
  316. package/esm2022/form/models/checkbox-field.model.mjs +0 -2
  317. package/esm2022/form/models/checkbox-group-field.model.mjs +0 -2
  318. package/esm2022/form/models/dynamic-field.model.mjs +0 -2
  319. package/esm2022/form/models/enums/dynamic-field.type.mjs +0 -14
  320. package/esm2022/form/models/enums/public-api.mjs +0 -2
  321. package/esm2022/form/models/form-row.model.mjs +0 -2
  322. package/esm2022/form/models/public-api.mjs +0 -6
  323. package/esm2022/form/models/radio-field.model.mjs +0 -2
  324. package/esm2022/form/models/radio-group-field.model.mjs +0 -2
  325. package/esm2022/form/models/select-field.model.mjs +0 -2
  326. package/esm2022/form/models/single-select-field.model.mjs +0 -2
  327. package/esm2022/form/models/textarea-field.model.mjs +0 -2
  328. package/esm2022/form/models/validator-config.mjs +0 -2
  329. package/esm2022/form/public-api.mjs +0 -4
  330. package/esm2022/form/tools/errors-helper.mjs +0 -54
  331. package/esm2022/form/upd-form.module.mjs +0 -75
  332. package/esm2022/form/updevs-components-form.mjs +0 -5
  333. package/esm2022/form-controls/abstractions/base-control.mjs +0 -40
  334. package/esm2022/form-controls/abstractions/index.mjs +0 -2
  335. package/esm2022/form-controls/abstractions/public-api.mjs +0 -2
  336. package/esm2022/form-controls/abstractions/updevs-components-form-controls-abstractions.mjs +0 -5
  337. package/esm2022/form-controls/checkbox/checkbox.component.mjs +0 -53
  338. package/esm2022/form-controls/checkbox/index.mjs +0 -2
  339. package/esm2022/form-controls/checkbox/public-api.mjs +0 -3
  340. package/esm2022/form-controls/checkbox/upd-checkbox.module.mjs +0 -32
  341. package/esm2022/form-controls/checkbox/updevs-components-form-controls-checkbox.mjs +0 -5
  342. package/esm2022/form-controls/date-picker/date-picker.component.mjs +0 -147
  343. package/esm2022/form-controls/date-picker/index.mjs +0 -2
  344. package/esm2022/form-controls/date-picker/public-api.mjs +0 -3
  345. package/esm2022/form-controls/date-picker/upd-date-picker.module.mjs +0 -40
  346. package/esm2022/form-controls/date-picker/updevs-components-form-controls-date-picker.mjs +0 -5
  347. package/esm2022/form-controls/input/directives/input-append.directive.mjs +0 -16
  348. package/esm2022/form-controls/input/directives/input-prepend.directive.mjs +0 -16
  349. package/esm2022/form-controls/input/directives/public-api.mjs +0 -3
  350. package/esm2022/form-controls/input/index.mjs +0 -2
  351. package/esm2022/form-controls/input/input.component.mjs +0 -189
  352. package/esm2022/form-controls/input/public-api.mjs +0 -5
  353. package/esm2022/form-controls/input/types/input.type.mjs +0 -2
  354. package/esm2022/form-controls/input/types/loader-position.type.mjs +0 -2
  355. package/esm2022/form-controls/input/types/public-api.mjs +0 -3
  356. package/esm2022/form-controls/input/upd-input.module.mjs +0 -46
  357. package/esm2022/form-controls/input/updevs-components-form-controls-input.mjs +0 -5
  358. package/esm2022/form-controls/radio/index.mjs +0 -2
  359. package/esm2022/form-controls/radio/public-api.mjs +0 -3
  360. package/esm2022/form-controls/radio/radio.component.mjs +0 -56
  361. package/esm2022/form-controls/radio/upd-radio.module.mjs +0 -32
  362. package/esm2022/form-controls/radio/updevs-components-form-controls-radio.mjs +0 -5
  363. package/esm2022/form-controls/select/components/multiple/select-multiple.component.mjs +0 -76
  364. package/esm2022/form-controls/select/components/single/select.component.mjs +0 -72
  365. package/esm2022/form-controls/select/index.mjs +0 -2
  366. package/esm2022/form-controls/select/models/abstractions/base-select.component.mjs +0 -221
  367. package/esm2022/form-controls/select/models/defaults.mjs +0 -8
  368. package/esm2022/form-controls/select/models/public-api.mjs +0 -3
  369. package/esm2022/form-controls/select/models/select-item.mjs +0 -2
  370. package/esm2022/form-controls/select/public-api.mjs +0 -5
  371. package/esm2022/form-controls/select/upd-select.module.mjs +0 -57
  372. package/esm2022/form-controls/select/updevs-components-form-controls-select.mjs +0 -5
  373. package/esm2022/form-controls/textarea/index.mjs +0 -2
  374. package/esm2022/form-controls/textarea/public-api.mjs +0 -3
  375. package/esm2022/form-controls/textarea/textarea.component.mjs +0 -46
  376. package/esm2022/form-controls/textarea/upd-textarea.module.mjs +0 -24
  377. package/esm2022/form-controls/textarea/updevs-components-form-controls-textarea.mjs +0 -5
  378. package/esm2022/form-controls/time-picker/assets/i18n/en.json +0 -5
  379. package/esm2022/form-controls/time-picker/assets/i18n/pt.json +0 -5
  380. package/esm2022/form-controls/time-picker/index.mjs +0 -2
  381. package/esm2022/form-controls/time-picker/public-api.mjs +0 -4
  382. package/esm2022/form-controls/time-picker/time-picker.component.mjs +0 -130
  383. package/esm2022/form-controls/time-picker/time-selector/time-selector.component.mjs +0 -124
  384. package/esm2022/form-controls/time-picker/upd-time-picker.module.mjs +0 -60
  385. package/esm2022/form-controls/time-picker/updevs-components-form-controls-time-picker.mjs +0 -5
  386. package/esm2022/index.mjs +0 -2
  387. package/esm2022/layout/abstractions/base-page.component.mjs +0 -23
  388. package/esm2022/layout/abstractions/base.layout.mjs +0 -31
  389. package/esm2022/layout/abstractions/public-api.mjs +0 -2
  390. package/esm2022/layout/assets/i18n/en.json +0 -20
  391. package/esm2022/layout/assets/i18n/pt.json +0 -20
  392. package/esm2022/layout/index.mjs +0 -2
  393. package/esm2022/layout/layouts/blank-layout/blank-layout.component.mjs +0 -11
  394. package/esm2022/layout/layouts/blank-layout/blank-layout.module.mjs +0 -24
  395. package/esm2022/layout/layouts/public-api.mjs +0 -5
  396. package/esm2022/layout/layouts/vertical-sidebar-layout/vertical-sidebar-layout.component.mjs +0 -31
  397. package/esm2022/layout/layouts/vertical-sidebar-layout/vertical-sidebar-layout.module.mjs +0 -80
  398. package/esm2022/layout/models/login-page-config.model.mjs +0 -20
  399. package/esm2022/layout/models/login-page.config.mjs +0 -2
  400. package/esm2022/layout/models/public-api.mjs +0 -3
  401. package/esm2022/layout/models/security-layout-config.model.mjs +0 -10
  402. package/esm2022/layout/models/security-layout.config.mjs +0 -2
  403. package/esm2022/layout/models/upd-layout-config.model.mjs +0 -24
  404. package/esm2022/layout/models/upd-layout.config.mjs +0 -2
  405. package/esm2022/layout/pages/auth-flow/auth-flow-routing.module.mjs +0 -28
  406. package/esm2022/layout/pages/auth-flow/auth-flow.module.mjs +0 -65
  407. package/esm2022/layout/pages/auth-flow/logged-out/logged-out.component.mjs +0 -11
  408. package/esm2022/layout/pages/auth-flow/login/login.component.mjs +0 -99
  409. package/esm2022/layout/pages/auth-flow/oauth-callback/oauth-callback.component.mjs +0 -11
  410. package/esm2022/layout/pages/auth-flow/public-api.mjs +0 -6
  411. package/esm2022/layout/pages/public-api.mjs +0 -2
  412. package/esm2022/layout/partials/footer/footer-copyright.directive.mjs +0 -13
  413. package/esm2022/layout/partials/footer/footer.component.mjs +0 -55
  414. package/esm2022/layout/partials/footer/public-api.mjs +0 -3
  415. package/esm2022/layout/partials/header/header-style.type.mjs +0 -2
  416. package/esm2022/layout/partials/header/header.component.mjs +0 -77
  417. package/esm2022/layout/partials/header/public-api.mjs +0 -3
  418. package/esm2022/layout/partials/page-header/page-header.component.mjs +0 -15
  419. package/esm2022/layout/partials/page-header/public-api.mjs +0 -2
  420. package/esm2022/layout/partials/public-api.mjs +0 -5
  421. package/esm2022/layout/partials/sidebar/public-api.mjs +0 -2
  422. package/esm2022/layout/partials/sidebar/sidebar.component.mjs +0 -112
  423. package/esm2022/layout/public-api.mjs +0 -8
  424. package/esm2022/layout/services/public-api.mjs +0 -2
  425. package/esm2022/layout/services/upd-layout-config.service.mjs +0 -21
  426. package/esm2022/layout/tools/layout.constants.mjs +0 -15
  427. package/esm2022/layout/upd-layout.module.mjs +0 -43
  428. package/esm2022/layout/updevs-components-layout.mjs +0 -5
  429. package/esm2022/lib/index.mjs +0 -2
  430. package/esm2022/lib/models/public-api.mjs +0 -2
  431. package/esm2022/lib/models/row-column-size.mjs +0 -2
  432. package/esm2022/lib/public-api.mjs +0 -5
  433. package/esm2022/lib/tools/column-size.helper.mjs +0 -12
  434. package/esm2022/lib/tools/public-api.mjs +0 -2
  435. package/esm2022/lib/types/component-size.type.mjs +0 -2
  436. package/esm2022/lib/types/horizontal-vertical.type.mjs +0 -2
  437. package/esm2022/lib/types/public-api.mjs +0 -4
  438. package/esm2022/lib/types/validation-status.type.mjs +0 -2
  439. package/esm2022/lib/upd-components.module.mjs +0 -14
  440. package/esm2022/link/index.mjs +0 -2
  441. package/esm2022/link/link.component.mjs +0 -51
  442. package/esm2022/link/public-api.mjs +0 -4
  443. package/esm2022/link/target.type.mjs +0 -2
  444. package/esm2022/link/upd-link.module.mjs +0 -24
  445. package/esm2022/link/updevs-components-link.mjs +0 -5
  446. package/esm2022/list/assets/i18n/en.json +0 -9
  447. package/esm2022/list/assets/i18n/pt.json +0 -9
  448. package/esm2022/list/index.mjs +0 -2
  449. package/esm2022/list/list.component.mjs +0 -113
  450. package/esm2022/list/models/badge-position.type.mjs +0 -2
  451. package/esm2022/list/models/list-item.mjs +0 -2
  452. package/esm2022/list/models/list-item.model.mjs +0 -15
  453. package/esm2022/list/models/public-api.mjs +0 -3
  454. package/esm2022/list/public-api.mjs +0 -4
  455. package/esm2022/list/upd-list.module.mjs +0 -43
  456. package/esm2022/list/updevs-components-list.mjs +0 -5
  457. package/esm2022/modal/assets/i18n/en.json +0 -17
  458. package/esm2022/modal/assets/i18n/pt.json +0 -17
  459. package/esm2022/modal/components/modal-container/modal-container.component.mjs +0 -216
  460. package/esm2022/modal/index.mjs +0 -2
  461. package/esm2022/modal/models/base.modal.mjs +0 -14
  462. package/esm2022/modal/models/modal-config.model.mjs +0 -20
  463. package/esm2022/modal/models/modal-ref.mjs +0 -2
  464. package/esm2022/modal/models/modal.config.mjs +0 -2
  465. package/esm2022/modal/models/public-api.mjs +0 -4
  466. package/esm2022/modal/public-api.mjs +0 -4
  467. package/esm2022/modal/services/modal-alert.service.mjs +0 -99
  468. package/esm2022/modal/services/modal.service.mjs +0 -30
  469. package/esm2022/modal/services/public-api.mjs +0 -3
  470. package/esm2022/modal/types/modal-footer-style.type.mjs +0 -2
  471. package/esm2022/modal/types/modal-size.type.mjs +0 -2
  472. package/esm2022/modal/upd-modal.module.mjs +0 -89
  473. package/esm2022/modal/updevs-components-modal.mjs +0 -5
  474. package/esm2022/paginator/assets/i18n/en.json +0 -15
  475. package/esm2022/paginator/assets/i18n/pt.json +0 -15
  476. package/esm2022/paginator/index.mjs +0 -2
  477. package/esm2022/paginator/paginator.component.mjs +0 -66
  478. package/esm2022/paginator/public-api.mjs +0 -3
  479. package/esm2022/paginator/upd-paginator.module.mjs +0 -46
  480. package/esm2022/paginator/updevs-components-paginator.mjs +0 -5
  481. package/esm2022/popover/index.mjs +0 -2
  482. package/esm2022/popover/popover.component.mjs +0 -65
  483. package/esm2022/popover/popover.directive.mjs +0 -129
  484. package/esm2022/popover/public-api.mjs +0 -4
  485. package/esm2022/popover/upd-popover.module.mjs +0 -29
  486. package/esm2022/popover/updevs-components-popover.mjs +0 -5
  487. package/esm2022/public-api.mjs +0 -2
  488. package/esm2022/table/abstractions/base-column.model.mjs +0 -52
  489. package/esm2022/table/abstractions/base.column.mjs +0 -98
  490. package/esm2022/table/abstractions/filters-operands.service.mjs +0 -3
  491. package/esm2022/table/abstractions/public-api.mjs +0 -3
  492. package/esm2022/table/assets/i18n/en.json +0 -74
  493. package/esm2022/table/assets/i18n/pt.json +0 -74
  494. package/esm2022/table/components/columns/boolean-column/boolean-column.component.mjs +0 -26
  495. package/esm2022/table/components/columns/date-time-column/date-time-column.component.mjs +0 -13
  496. package/esm2022/table/components/columns/number-column/number-column.component.mjs +0 -13
  497. package/esm2022/table/components/columns/text-column/text-column.component.mjs +0 -31
  498. package/esm2022/table/components/columns-manager/columns-manager.component.mjs +0 -36
  499. package/esm2022/table/components/filter-row/filter-row.component.mjs +0 -114
  500. package/esm2022/table/components/save-search/save-search.component.mjs +0 -72
  501. package/esm2022/table/components/search-section/search-section.component.mjs +0 -93
  502. package/esm2022/table/directives/public-api.mjs +0 -2
  503. package/esm2022/table/directives/table-column.directive.mjs +0 -51
  504. package/esm2022/table/index.mjs +0 -2
  505. package/esm2022/table/models/columns/boolean-column.model.mjs +0 -22
  506. package/esm2022/table/models/columns/date-time-column.model.mjs +0 -16
  507. package/esm2022/table/models/columns/guid-column.model.mjs +0 -13
  508. package/esm2022/table/models/columns/image-column.model.mjs +0 -11
  509. package/esm2022/table/models/columns/number-column.model.mjs +0 -17
  510. package/esm2022/table/models/columns/public-api.mjs +0 -7
  511. package/esm2022/table/models/columns/text-column.model.mjs +0 -11
  512. package/esm2022/table/models/enums/column-type.enum.mjs +0 -15
  513. package/esm2022/table/models/enums/public-api.mjs +0 -2
  514. package/esm2022/table/models/filter-item.model.mjs +0 -2
  515. package/esm2022/table/models/filter-operand.config.mjs +0 -2
  516. package/esm2022/table/models/operands-lists/boolean-filter-operands-list.model.mjs +0 -25
  517. package/esm2022/table/models/operands-lists/date-filter-operands-list.model.mjs +0 -25
  518. package/esm2022/table/models/operands-lists/date-or-number-operands-list.config.mjs +0 -31
  519. package/esm2022/table/models/operands-lists/filter-operands-list.config.mjs +0 -31
  520. package/esm2022/table/models/operands-lists/guid-filter-operands-list.model.mjs +0 -16
  521. package/esm2022/table/models/operands-lists/number-filter-operands-list.model.mjs +0 -25
  522. package/esm2022/table/models/operands-lists/string-filter-operands-list.model.mjs +0 -45
  523. package/esm2022/table/models/public-api.mjs +0 -5
  524. package/esm2022/table/models/saved-view.model.mjs +0 -2
  525. package/esm2022/table/models/table-config.model.mjs +0 -21
  526. package/esm2022/table/models/table.config.mjs +0 -2
  527. package/esm2022/table/models/upd-table-config.model.mjs +0 -9
  528. package/esm2022/table/models/upd-table.config.mjs +0 -2
  529. package/esm2022/table/public-api.mjs +0 -6
  530. package/esm2022/table/services/default-filters-operands.service.mjs +0 -60
  531. package/esm2022/table/services/storages/saved-views.storage.mjs +0 -63
  532. package/esm2022/table/services/stores/filters-operands.store.mjs +0 -19
  533. package/esm2022/table/services/upd-table-config.service.mjs +0 -18
  534. package/esm2022/table/table.component.mjs +0 -382
  535. package/esm2022/table/tools/filters.tools.mjs +0 -48
  536. package/esm2022/table/tools/table.constants.mjs +0 -15
  537. package/esm2022/table/upd-table.module.mjs +0 -149
  538. package/esm2022/table/updevs-components-table.mjs +0 -5
  539. package/esm2022/updevs-components.mjs +0 -5
  540. package/form/components/dynamic-field/dynamic-field.component.d.ts +0 -45
  541. package/form/form.component.d.ts +0 -60
  542. package/form/index.d.ts +0 -1
  543. package/form/models/checkbox-field.model.d.ts +0 -4
  544. package/form/models/checkbox-group-field.model.d.ts +0 -6
  545. package/form/models/dynamic-field.model.d.ts +0 -30
  546. package/form/models/enums/dynamic-field.type.d.ts +0 -12
  547. package/form/models/enums/public-api.d.ts +0 -1
  548. package/form/models/form-row.model.d.ts +0 -8
  549. package/form/models/public-api.d.ts +0 -5
  550. package/form/models/radio-field.model.d.ts +0 -4
  551. package/form/models/radio-group-field.model.d.ts +0 -6
  552. package/form/models/select-field.model.d.ts +0 -28
  553. package/form/models/single-select-field.model.d.ts +0 -4
  554. package/form/models/textarea-field.model.d.ts +0 -10
  555. package/form/models/validator-config.d.ts +0 -5
  556. package/form/public-api.d.ts +0 -3
  557. package/form/tools/errors-helper.d.ts +0 -11
  558. package/form/upd-form.module.d.ts +0 -20
  559. package/form-controls/abstractions/base-control.d.ts +0 -24
  560. package/form-controls/abstractions/index.d.ts +0 -2
  561. package/form-controls/abstractions/public-api.d.ts +0 -2
  562. package/form-controls/checkbox/checkbox.component.d.ts +0 -21
  563. package/form-controls/checkbox/index.d.ts +0 -1
  564. package/form-controls/checkbox/public-api.d.ts +0 -2
  565. package/form-controls/checkbox/upd-checkbox.module.d.ts +0 -10
  566. package/form-controls/date-picker/date-picker.component.d.ts +0 -87
  567. package/form-controls/date-picker/index.d.ts +0 -1
  568. package/form-controls/date-picker/public-api.d.ts +0 -2
  569. package/form-controls/date-picker/upd-date-picker.module.d.ts +0 -12
  570. package/form-controls/input/directives/input-append.directive.d.ts +0 -7
  571. package/form-controls/input/directives/input-prepend.directive.d.ts +0 -7
  572. package/form-controls/input/directives/public-api.d.ts +0 -2
  573. package/form-controls/input/index.d.ts +0 -1
  574. package/form-controls/input/input.component.d.ts +0 -66
  575. package/form-controls/input/public-api.d.ts +0 -4
  576. package/form-controls/input/types/input.type.d.ts +0 -1
  577. package/form-controls/input/types/loader-position.type.d.ts +0 -1
  578. package/form-controls/input/types/public-api.d.ts +0 -2
  579. package/form-controls/input/upd-input.module.d.ts +0 -13
  580. package/form-controls/radio/index.d.ts +0 -1
  581. package/form-controls/radio/public-api.d.ts +0 -2
  582. package/form-controls/radio/radio.component.d.ts +0 -19
  583. package/form-controls/radio/upd-radio.module.d.ts +0 -10
  584. package/form-controls/select/components/multiple/select-multiple.component.d.ts +0 -25
  585. package/form-controls/select/components/single/select.component.d.ts +0 -26
  586. package/form-controls/select/index.d.ts +0 -1
  587. package/form-controls/select/models/abstractions/base-select.component.d.ts +0 -83
  588. package/form-controls/select/models/defaults.d.ts +0 -8
  589. package/form-controls/select/models/public-api.d.ts +0 -2
  590. package/form-controls/select/models/select-item.d.ts +0 -25
  591. package/form-controls/select/public-api.d.ts +0 -4
  592. package/form-controls/select/upd-select.module.d.ts +0 -16
  593. package/form-controls/textarea/index.d.ts +0 -1
  594. package/form-controls/textarea/public-api.d.ts +0 -2
  595. package/form-controls/textarea/textarea.component.d.ts +0 -21
  596. package/form-controls/textarea/upd-textarea.module.d.ts +0 -8
  597. package/form-controls/time-picker/index.d.ts +0 -1
  598. package/form-controls/time-picker/public-api.d.ts +0 -3
  599. package/form-controls/time-picker/time-picker.component.d.ts +0 -78
  600. package/form-controls/time-picker/time-selector/time-selector.component.d.ts +0 -69
  601. package/form-controls/time-picker/upd-time-picker.module.d.ts +0 -17
  602. package/index.d.ts +0 -2
  603. package/layout/abstractions/base-page.component.d.ts +0 -12
  604. package/layout/abstractions/base.layout.d.ts +0 -15
  605. package/layout/abstractions/public-api.d.ts +0 -1
  606. package/layout/index.d.ts +0 -1
  607. package/layout/layouts/blank-layout/blank-layout.component.d.ts +0 -5
  608. package/layout/layouts/blank-layout/blank-layout.module.d.ts +0 -8
  609. package/layout/layouts/public-api.d.ts +0 -4
  610. package/layout/layouts/vertical-sidebar-layout/vertical-sidebar-layout.component.d.ts +0 -12
  611. package/layout/layouts/vertical-sidebar-layout/vertical-sidebar-layout.module.d.ts +0 -21
  612. package/layout/models/login-page-config.model.d.ts +0 -37
  613. package/layout/models/login-page.config.d.ts +0 -35
  614. package/layout/models/public-api.d.ts +0 -2
  615. package/layout/models/security-layout-config.model.d.ts +0 -12
  616. package/layout/models/security-layout.config.d.ts +0 -10
  617. package/layout/models/upd-layout-config.model.d.ts +0 -48
  618. package/layout/models/upd-layout.config.d.ts +0 -46
  619. package/layout/pages/auth-flow/auth-flow-routing.module.d.ts +0 -12
  620. package/layout/pages/auth-flow/auth-flow.module.d.ts +0 -18
  621. package/layout/pages/auth-flow/logged-out/logged-out.component.d.ts +0 -5
  622. package/layout/pages/auth-flow/login/login.component.d.ts +0 -23
  623. package/layout/pages/auth-flow/oauth-callback/oauth-callback.component.d.ts +0 -5
  624. package/layout/pages/auth-flow/public-api.d.ts +0 -5
  625. package/layout/pages/public-api.d.ts +0 -1
  626. package/layout/partials/footer/footer-copyright.directive.d.ts +0 -5
  627. package/layout/partials/footer/footer.component.d.ts +0 -34
  628. package/layout/partials/footer/public-api.d.ts +0 -2
  629. package/layout/partials/header/header-style.type.d.ts +0 -1
  630. package/layout/partials/header/header.component.d.ts +0 -31
  631. package/layout/partials/header/public-api.d.ts +0 -2
  632. package/layout/partials/page-header/page-header.component.d.ts +0 -7
  633. package/layout/partials/page-header/public-api.d.ts +0 -1
  634. package/layout/partials/public-api.d.ts +0 -4
  635. package/layout/partials/sidebar/public-api.d.ts +0 -1
  636. package/layout/partials/sidebar/sidebar.component.d.ts +0 -22
  637. package/layout/public-api.d.ts +0 -7
  638. package/layout/services/public-api.d.ts +0 -1
  639. package/layout/services/upd-layout-config.service.d.ts +0 -15
  640. package/layout/tools/layout.constants.d.ts +0 -15
  641. package/layout/upd-layout.module.d.ts +0 -18
  642. package/lib/index.d.ts +0 -2
  643. package/lib/models/public-api.d.ts +0 -2
  644. package/lib/models/row-column-size.d.ts +0 -6
  645. package/lib/public-api.d.ts +0 -5
  646. package/lib/tools/column-size.helper.d.ts +0 -6
  647. package/lib/tools/public-api.d.ts +0 -2
  648. package/lib/types/component-size.type.d.ts +0 -2
  649. package/lib/types/horizontal-vertical.type.d.ts +0 -2
  650. package/lib/types/public-api.d.ts +0 -4
  651. package/lib/types/validation-status.type.d.ts +0 -2
  652. package/lib/upd-components.module.d.ts +0 -7
  653. package/link/index.d.ts +0 -1
  654. package/link/public-api.d.ts +0 -3
  655. package/link/target.type.d.ts +0 -1
  656. package/link/upd-link.module.d.ts +0 -8
  657. package/list/index.d.ts +0 -1
  658. package/list/list.component.d.ts +0 -46
  659. package/list/models/badge-position.type.d.ts +0 -1
  660. package/list/models/list-item.d.ts +0 -20
  661. package/list/models/list-item.model.d.ts +0 -25
  662. package/list/models/public-api.d.ts +0 -2
  663. package/list/public-api.d.ts +0 -3
  664. package/list/upd-list.module.d.ts +0 -13
  665. package/modal/components/modal-container/modal-container.component.d.ts +0 -74
  666. package/modal/index.d.ts +0 -1
  667. package/modal/models/base.modal.d.ts +0 -8
  668. package/modal/models/modal-config.model.d.ts +0 -32
  669. package/modal/models/modal-ref.d.ts +0 -6
  670. package/modal/models/modal.config.d.ts +0 -30
  671. package/modal/models/public-api.d.ts +0 -3
  672. package/modal/public-api.d.ts +0 -3
  673. package/modal/services/modal-alert.service.d.ts +0 -22
  674. package/modal/services/modal.service.d.ts +0 -12
  675. package/modal/services/public-api.d.ts +0 -2
  676. package/modal/types/modal-footer-style.type.d.ts +0 -1
  677. package/modal/types/modal-size.type.d.ts +0 -1
  678. package/modal/upd-modal.module.d.ts +0 -18
  679. package/paginator/index.d.ts +0 -1
  680. package/paginator/paginator.component.d.ts +0 -42
  681. package/paginator/public-api.d.ts +0 -2
  682. package/paginator/upd-paginator.module.d.ts +0 -14
  683. package/popover/index.d.ts +0 -1
  684. package/popover/popover.component.d.ts +0 -22
  685. package/popover/popover.directive.d.ts +0 -33
  686. package/popover/public-api.d.ts +0 -3
  687. package/popover/upd-popover.module.d.ts +0 -9
  688. package/public-api.d.ts +0 -2
  689. package/table/abstractions/base-column.model.d.ts +0 -31
  690. package/table/abstractions/base.column.d.ts +0 -22
  691. package/table/abstractions/filters-operands.service.d.ts +0 -8
  692. package/table/abstractions/public-api.d.ts +0 -2
  693. package/table/components/columns/boolean-column/boolean-column.component.d.ts +0 -9
  694. package/table/components/columns/date-time-column/date-time-column.component.d.ts +0 -7
  695. package/table/components/columns/number-column/number-column.component.d.ts +0 -7
  696. package/table/components/columns/text-column/text-column.component.d.ts +0 -9
  697. package/table/components/columns-manager/columns-manager.component.d.ts +0 -15
  698. package/table/components/filter-row/filter-row.component.d.ts +0 -40
  699. package/table/components/save-search/save-search.component.d.ts +0 -17
  700. package/table/components/search-section/search-section.component.d.ts +0 -36
  701. package/table/directives/public-api.d.ts +0 -1
  702. package/table/directives/table-column.directive.d.ts +0 -14
  703. package/table/index.d.ts +0 -1
  704. package/table/models/columns/boolean-column.model.d.ts +0 -15
  705. package/table/models/columns/date-time-column.model.d.ts +0 -8
  706. package/table/models/columns/guid-column.model.d.ts +0 -4
  707. package/table/models/columns/image-column.model.d.ts +0 -6
  708. package/table/models/columns/number-column.model.d.ts +0 -8
  709. package/table/models/columns/public-api.d.ts +0 -6
  710. package/table/models/columns/text-column.model.d.ts +0 -6
  711. package/table/models/enums/column-type.enum.d.ts +0 -13
  712. package/table/models/enums/public-api.d.ts +0 -1
  713. package/table/models/filter-item.model.d.ts +0 -6
  714. package/table/models/filter-operand.config.d.ts +0 -9
  715. package/table/models/operands-lists/boolean-filter-operands-list.model.d.ts +0 -6
  716. package/table/models/operands-lists/date-filter-operands-list.model.d.ts +0 -6
  717. package/table/models/operands-lists/date-or-number-operands-list.config.d.ts +0 -5
  718. package/table/models/operands-lists/filter-operands-list.config.d.ts +0 -5
  719. package/table/models/operands-lists/guid-filter-operands-list.model.d.ts +0 -6
  720. package/table/models/operands-lists/number-filter-operands-list.model.d.ts +0 -6
  721. package/table/models/operands-lists/string-filter-operands-list.model.d.ts +0 -6
  722. package/table/models/public-api.d.ts +0 -4
  723. package/table/models/saved-view.model.d.ts +0 -11
  724. package/table/models/table-config.model.d.ts +0 -24
  725. package/table/models/table.config.d.ts +0 -22
  726. package/table/models/upd-table-config.model.d.ts +0 -6
  727. package/table/models/upd-table.config.d.ts +0 -6
  728. package/table/public-api.d.ts +0 -5
  729. package/table/services/default-filters-operands.service.d.ts +0 -17
  730. package/table/services/storages/saved-views.storage.d.ts +0 -22
  731. package/table/services/stores/filters-operands.store.d.ts +0 -11
  732. package/table/services/upd-table-config.service.d.ts +0 -12
  733. package/table/table.component.d.ts +0 -78
  734. package/table/tools/filters.tools.d.ts +0 -9
  735. package/table/tools/table.constants.d.ts +0 -15
  736. package/table/upd-table.module.d.ts +0 -40
@@ -0,0 +1,272 @@
1
+ import * as i0 from '@angular/core';
2
+ import { EventEmitter, input, signal, computed, inject, Output, HostBinding, Component, NgModule } from '@angular/core';
3
+ import { ColumnSizeHelper } from '@updevs/components';
4
+ import { PlatformService, Tools } from '@updevs/sdk/core';
5
+ import { BaseControl } from '@updevs/components/form-controls/abstractions';
6
+ import * as i1 from '@angular/common';
7
+ import { CommonModule } from '@angular/common';
8
+ import * as i1$1 from '@jsverse/transloco';
9
+ import { TranslocoModule } from '@jsverse/transloco';
10
+ import * as i3 from '@updevs/components/button';
11
+ import { UpdButtonModule } from '@updevs/components/button';
12
+ import * as i4 from '@updevs/icons';
13
+ import { UpdIconsModule } from '@updevs/icons';
14
+ import * as i5 from '@updevs/components/popover';
15
+ import { UpdPopoverModule } from '@updevs/components/popover';
16
+
17
+ class FileUploadComponent extends BaseControl {
18
+ constructor() {
19
+ super(...arguments);
20
+ this.hostWrapperClasses = '';
21
+ this.fileChanged = new EventEmitter();
22
+ this.fileName = input(...(ngDevMode ? [undefined, { debugName: "fileName" }] : []));
23
+ this.title = input(...(ngDevMode ? [undefined, { debugName: "title" }] : []));
24
+ this.allowFilesDrop = input(false, ...(ngDevMode ? [{ debugName: "allowFilesDrop" }] : []));
25
+ this.isMultiple = input(false, ...(ngDevMode ? [{ debugName: "isMultiple" }] : [])); // TODO: implement
26
+ this.allowedExtensions = input('*', ...(ngDevMode ? [{ debugName: "allowedExtensions" }] : []));
27
+ this.minFileSize = input(...(ngDevMode ? [undefined, { debugName: "minFileSize" }] : []));
28
+ this.maxFileSize = input(...(ngDevMode ? [undefined, { debugName: "maxFileSize" }] : []));
29
+ this.layout = input('vertical', ...(ngDevMode ? [{ debugName: "layout" }] : []));
30
+ this.isOver = signal(false, ...(ngDevMode ? [{ debugName: "isOver" }] : []));
31
+ this.showValidationStatus = computed(() => !!this.validationStatus() && (this.validationStatus() === 'invalid' || this.showValidStatus()), ...(ngDevMode ? [{ debugName: "showValidationStatus" }] : []));
32
+ this.validationStatusClass = computed(() => {
33
+ if (this.showValidationStatus()) {
34
+ return `is-${this.validationStatus()}`;
35
+ }
36
+ return '';
37
+ }, ...(ngDevMode ? [{ debugName: "validationStatusClass" }] : []));
38
+ this.validationStatusBorderClass = computed(() => {
39
+ if (this.showValidationStatus()) {
40
+ return this.validationStatus() === 'invalid' ? 'border-danger' : 'border-success';
41
+ }
42
+ return '';
43
+ }, ...(ngDevMode ? [{ debugName: "validationStatusBorderClass" }] : []));
44
+ this.errorsList = computed(() => [...this.validationStatusTexts.concat(this.fileUploadErrors())], ...(ngDevMode ? [{ debugName: "errorsList" }] : []));
45
+ this.currentFiles = signal(undefined, ...(ngDevMode ? [{ debugName: "currentFiles" }] : []));
46
+ this.labelSizeClasses = computed(() => {
47
+ if (this.layout() !== 'horizontal') {
48
+ return 'form-label';
49
+ }
50
+ return ColumnSizeHelper.getClasses('col-form-label', ColumnSizeHelper.getSizeClasses(this.labelColSize(), 3));
51
+ }, ...(ngDevMode ? [{ debugName: "labelSizeClasses" }] : []));
52
+ this.firstFileName = computed(() => (this.currentFiles()?.length || 0) > 0 ? this.currentFiles()[0].name : this.fileName(), ...(ngDevMode ? [{ debugName: "firstFileName" }] : []));
53
+ this.defaultMobileDesc = {
54
+ text: 'UpDevs.FormControls.FileUpload.DropzoneMobileDescription',
55
+ isTranslated: false
56
+ };
57
+ this.defaultDesktopDesc = {
58
+ text: 'UpDevs.FormControls.FileUpload.DropzoneDesktopDescription',
59
+ isTranslated: false
60
+ };
61
+ this.fileUploadErrors = signal([], ...(ngDevMode ? [{ debugName: "fileUploadErrors" }] : []));
62
+ this.platformService = inject(PlatformService);
63
+ }
64
+ get titleText() {
65
+ return this._textService.getText(this.title(), { isMultiple: this.isMultiple() });
66
+ }
67
+ get dropDescriptionText() {
68
+ return !!this.descriptionText
69
+ ? this.descriptionText
70
+ : this._textService.getText(this.platformService.isMobile ? this.defaultMobileDesc : this.defaultDesktopDesc, { isMultiple: this.isMultiple() });
71
+ }
72
+ get supportsAdvancedUpload() {
73
+ const div = document.createElement('div');
74
+ return (('draggable' in div) || ('ondragstart' in div && 'ondrop' in div)) && 'FormData' in window && 'FileReader' in window;
75
+ }
76
+ onFileChange(event) {
77
+ event.stopPropagation();
78
+ const files = Array.from(event.target.files);
79
+ if (!!files) {
80
+ this.currentFiles.set([...files]);
81
+ this._updateFormControl([...files], true);
82
+ const errors = files.map(f => this.getFileErrors(f)).reduce((acc, e) => acc.concat(e), []);
83
+ if (errors.length > 0) {
84
+ this.fileUploadErrors.set([...errors]);
85
+ return;
86
+ }
87
+ if (this.isMultiple()) {
88
+ // TODO: implement
89
+ }
90
+ else {
91
+ const file = files[0];
92
+ const reader = new FileReader();
93
+ reader.onload = (fileReader) => this.fileChanged.emit({ file: file, dataUrl: fileReader.target.result });
94
+ reader.readAsDataURL(file);
95
+ }
96
+ }
97
+ }
98
+ removeFile() {
99
+ this.currentFiles.set([]);
100
+ this._updateFormControl([], true);
101
+ this.fileChanged.emit(undefined);
102
+ }
103
+ onDrag(event) {
104
+ event.preventDefault();
105
+ event.stopPropagation();
106
+ }
107
+ onDragStart(event) {
108
+ event.preventDefault();
109
+ event.stopPropagation();
110
+ }
111
+ onDragEnd(event) {
112
+ event.preventDefault();
113
+ event.stopPropagation();
114
+ this.isOver.set(false);
115
+ }
116
+ onDragOver(event) {
117
+ event.preventDefault();
118
+ event.stopPropagation();
119
+ this.isOver.set(true);
120
+ }
121
+ onDragEnter(event) {
122
+ event.preventDefault();
123
+ event.stopPropagation();
124
+ this.isOver.set(true);
125
+ }
126
+ onDragLeave(event) {
127
+ event.preventDefault();
128
+ event.stopPropagation();
129
+ this.isOver.set(false);
130
+ }
131
+ onDrop(event) {
132
+ event.preventDefault();
133
+ event.stopPropagation();
134
+ this.isOver.set(false);
135
+ // TODO: const droppedFiles = event.dataTransfer!.files;
136
+ }
137
+ _getValue() {
138
+ return this.currentFiles();
139
+ }
140
+ _updateValue(value) {
141
+ this.currentFiles.set(value);
142
+ }
143
+ getFileErrors(file) {
144
+ const extension = `.${file.name.split('.').pop() || ''}`;
145
+ const fileSizeInKB = Math.round(file.size / 1024);
146
+ const errors = [];
147
+ if (this.allowedExtensions() !== '*' && !this.allowedExtensions().includes(extension)) {
148
+ errors.push(this._textService.getText({ text: 'UpDevs.FormControls.FileUpload.ExtensionNotAllowed', isTranslated: false }, {
149
+ fileName: file.name,
150
+ extension,
151
+ hasMultipleExt: this.allowedExtensions().includes(','),
152
+ allowedExtensions: this.allowedExtensions()
153
+ }));
154
+ }
155
+ if (!!this.minFileSize() && fileSizeInKB < this.minFileSize()) {
156
+ errors.push(this._textService.getText({ text: 'UpDevs.FormControls.FileUpload.MinSizeNotMet', isTranslated: false }, {
157
+ fileName: file.name,
158
+ fileSize: Tools.Text.formatKilobytes(fileSizeInKB),
159
+ minAllowedSize: Tools.Text.formatKilobytes(this.minFileSize())
160
+ }));
161
+ }
162
+ if (!!this.maxFileSize() && fileSizeInKB > this.maxFileSize()) {
163
+ errors.push(this._textService.getText({ text: 'UpDevs.FormControls.FileUpload.MaxSizeExceeded', isTranslated: false }, {
164
+ fileName: file.name,
165
+ fileSize: Tools.Text.formatKilobytes(fileSizeInKB),
166
+ maxAllowedSize: Tools.Text.formatKilobytes(this.maxFileSize())
167
+ }));
168
+ }
169
+ return errors;
170
+ }
171
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: FileUploadComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
172
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.4", type: FileUploadComponent, isStandalone: false, selector: "upd-file-upload", inputs: { fileName: { classPropertyName: "fileName", publicName: "fileName", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, allowFilesDrop: { classPropertyName: "allowFilesDrop", publicName: "allowFilesDrop", isSignal: true, isRequired: false, transformFunction: null }, isMultiple: { classPropertyName: "isMultiple", publicName: "isMultiple", isSignal: true, isRequired: false, transformFunction: null }, allowedExtensions: { classPropertyName: "allowedExtensions", publicName: "allowedExtensions", isSignal: true, isRequired: false, transformFunction: null }, minFileSize: { classPropertyName: "minFileSize", publicName: "minFileSize", isSignal: true, isRequired: false, transformFunction: null }, maxFileSize: { classPropertyName: "maxFileSize", publicName: "maxFileSize", isSignal: true, isRequired: false, transformFunction: null }, layout: { classPropertyName: "layout", publicName: "layout", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { fileChanged: "fileChanged" }, host: { properties: { "class": "this.hostWrapperClasses" } }, usesInheritance: true, ngImport: i0, template: "<input class=\"d-none\" [attr.id]=\"name()\" [attr.name]=\"name()\" type=\"file\" [attr.multiple]=\"isMultiple() ? true : undefined\"\n [accept]=\"allowedExtensions()\" (change)=\"onFileChange($event)\" />\n\n<div class=\"row\">\n <ng-container *transloco=\"let t; prefix: 'UpDevs.FormControls.FileUpload'\">\n @if (!!labelText) {\n <div [ngClass]=\"labelSizeClasses()\">\n <label [class.required]=\"isRequired()\">{{ labelText }}</label>\n\n @if (!!hintText || !!this.hintTemplate()) {\n <ng-template [ngTemplateOutlet]=\"hintTpl\"></ng-template>\n }\n </div>\n }\n\n @if (supportsAdvancedUpload && allowFilesDrop()) {\n <div class=\"d-flex flex-column border rounded-2 p-2 w-100 h-100\" [ngClass]=\"validationStatusBorderClass()\"\n [class.bg-muted-lt]=\"!isOver()\" [class.bg-primary-lt]=\"isOver()\" (drag)=\"onDrag($event)\" (dragstart)=\"onDragStart($event)\"\n (dragend)=\"onDragEnd($event)\" (dragover)=\"onDragOver($event)\" (dragenter)=\"onDragEnter($event)\"\n (dragleave)=\"onDragLeave($event)\" (drop)=\"onDrop($event)\">\n @if (!!titleText) {\n <span class=\"fw-bold align-self-center cursor-pointer\" [innerHTML]=\"titleText\"></span>\n }\n\n <label [for]=\"name()\" class=\"text-secondary align-self-center cursor-pointer\" [innerHTML]=\"dropDescriptionText\"></label>\n\n @if (!labelText && (!!hintText || !!this.hintTemplate())) {\n <ng-template [ngTemplateOutlet]=\"hintTpl\"></ng-template>\n }\n </div>\n } @else {\n @if (!labelText && (!!hintText || !!this.hintTemplate())) {\n <div class=\"row g-2\">\n <div class=\"col\">\n <ng-template [ngTemplateOutlet]=\"inputTpl\"></ng-template>\n </div>\n <div class=\"col-auto align-self-center\">\n <ng-template [ngTemplateOutlet]=\"hintTpl\"></ng-template>\n </div>\n </div>\n } @else {\n <ng-template [ngTemplateOutlet]=\"inputTpl\"></ng-template>\n }\n }\n @if (validationStatus() === 'invalid' && errorsList().length > 0) {\n @for (desc of errorsList(); track desc) {\n <div class=\"invalid-feedback\">{{ desc }}</div>\n }\n }\n\n <ng-template #inputTpl>\n <div class=\"input-group col\">\n <label class=\"input-group-text cursor-pointer\" [ngClass]=\"validationStatusBorderClass()\" [for]=\"name()\">\n {{ t('SelectFile', { isMultiple: isMultiple() }) }}\n </label>\n <input type=\"text\" class=\"form-control text-truncate\" [class.border-end-0]=\"!!firstFileName()\"\n [value]=\"firstFileName() || ''\"\n [ngClass]=\"validationStatusClass()\" placeholder=\"{{ t('NoFileSelected', { isMultiple: isMultiple() }) }}\"\n [attr.disabled]=\"isDisabled() || undefined\" readonly>\n\n @if (!!firstFileName()) {\n <div class=\"input-group-text bg-transparent\" [ngClass]=\"validationStatusBorderClass()\">\n <upd-button [shouldIgnoreBtnClass]=\"true\" (clicked)=\"removeFile()\" customClasses=\"link-secondary cursor-pointer\">\n <upd-icon tablerIcon=\"trash\" [tablerIconSize]=\"18\"></upd-icon>\n </upd-button>\n </div>\n }\n </div>\n </ng-template>\n </ng-container>\n</div>\n\n<ng-template #hintTpl>\n <span class=\"form-help ms-2\" [updPopover]=\"hintText\" [updPopoverTemplate]=\"hintTemplate()\" [updPopoverActAsTooltip]=\"hintAsTooltip()\">\n ?\n </span>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$1.TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "component", type: i3.ButtonComponent, selector: "upd-button", inputs: ["model", "text", "brandColorStyle", "customClasses", "isOutline", "isGhost", "isSquare", "isPill", "isIcon", "isLoading", "isList", "isFloating", "isAction", "isNavigationLink", "isLink", "shouldIgnoreBtnClass", "iconModel", "iconPosition", "isDisabled", "isActive", "badgeConfig", "colorStyle", "size", "title", "stopPropagation"], outputs: ["clicked"] }, { kind: "component", type: i4.IconComponent, selector: "upd-icon", inputs: ["model", "wrapperClasses", "color", "colorClass", "removeDefaultClasses", "customClasses", "tablerIcon", "tablerIconWeight", "tablerIconType", "tablerIconSize", "heroIcon", "heroIconSize", "heroIconType"] }, { kind: "directive", type: i5.PopoverDirective, selector: "[updPopover]", inputs: ["updPopover", "updPopoverTitle", "updPopoverTitleTemplate", "updPopoverTemplate", "updPopoverPlacement", "updPopoverCustomClasses", "updPopoverActAsTooltip"] }] }); }
173
+ }
174
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: FileUploadComponent, decorators: [{
175
+ type: Component,
176
+ args: [{ standalone: false, selector: 'upd-file-upload', template: "<input class=\"d-none\" [attr.id]=\"name()\" [attr.name]=\"name()\" type=\"file\" [attr.multiple]=\"isMultiple() ? true : undefined\"\n [accept]=\"allowedExtensions()\" (change)=\"onFileChange($event)\" />\n\n<div class=\"row\">\n <ng-container *transloco=\"let t; prefix: 'UpDevs.FormControls.FileUpload'\">\n @if (!!labelText) {\n <div [ngClass]=\"labelSizeClasses()\">\n <label [class.required]=\"isRequired()\">{{ labelText }}</label>\n\n @if (!!hintText || !!this.hintTemplate()) {\n <ng-template [ngTemplateOutlet]=\"hintTpl\"></ng-template>\n }\n </div>\n }\n\n @if (supportsAdvancedUpload && allowFilesDrop()) {\n <div class=\"d-flex flex-column border rounded-2 p-2 w-100 h-100\" [ngClass]=\"validationStatusBorderClass()\"\n [class.bg-muted-lt]=\"!isOver()\" [class.bg-primary-lt]=\"isOver()\" (drag)=\"onDrag($event)\" (dragstart)=\"onDragStart($event)\"\n (dragend)=\"onDragEnd($event)\" (dragover)=\"onDragOver($event)\" (dragenter)=\"onDragEnter($event)\"\n (dragleave)=\"onDragLeave($event)\" (drop)=\"onDrop($event)\">\n @if (!!titleText) {\n <span class=\"fw-bold align-self-center cursor-pointer\" [innerHTML]=\"titleText\"></span>\n }\n\n <label [for]=\"name()\" class=\"text-secondary align-self-center cursor-pointer\" [innerHTML]=\"dropDescriptionText\"></label>\n\n @if (!labelText && (!!hintText || !!this.hintTemplate())) {\n <ng-template [ngTemplateOutlet]=\"hintTpl\"></ng-template>\n }\n </div>\n } @else {\n @if (!labelText && (!!hintText || !!this.hintTemplate())) {\n <div class=\"row g-2\">\n <div class=\"col\">\n <ng-template [ngTemplateOutlet]=\"inputTpl\"></ng-template>\n </div>\n <div class=\"col-auto align-self-center\">\n <ng-template [ngTemplateOutlet]=\"hintTpl\"></ng-template>\n </div>\n </div>\n } @else {\n <ng-template [ngTemplateOutlet]=\"inputTpl\"></ng-template>\n }\n }\n @if (validationStatus() === 'invalid' && errorsList().length > 0) {\n @for (desc of errorsList(); track desc) {\n <div class=\"invalid-feedback\">{{ desc }}</div>\n }\n }\n\n <ng-template #inputTpl>\n <div class=\"input-group col\">\n <label class=\"input-group-text cursor-pointer\" [ngClass]=\"validationStatusBorderClass()\" [for]=\"name()\">\n {{ t('SelectFile', { isMultiple: isMultiple() }) }}\n </label>\n <input type=\"text\" class=\"form-control text-truncate\" [class.border-end-0]=\"!!firstFileName()\"\n [value]=\"firstFileName() || ''\"\n [ngClass]=\"validationStatusClass()\" placeholder=\"{{ t('NoFileSelected', { isMultiple: isMultiple() }) }}\"\n [attr.disabled]=\"isDisabled() || undefined\" readonly>\n\n @if (!!firstFileName()) {\n <div class=\"input-group-text bg-transparent\" [ngClass]=\"validationStatusBorderClass()\">\n <upd-button [shouldIgnoreBtnClass]=\"true\" (clicked)=\"removeFile()\" customClasses=\"link-secondary cursor-pointer\">\n <upd-icon tablerIcon=\"trash\" [tablerIconSize]=\"18\"></upd-icon>\n </upd-button>\n </div>\n }\n </div>\n </ng-template>\n </ng-container>\n</div>\n\n<ng-template #hintTpl>\n <span class=\"form-help ms-2\" [updPopover]=\"hintText\" [updPopoverTemplate]=\"hintTemplate()\" [updPopoverActAsTooltip]=\"hintAsTooltip()\">\n ?\n </span>\n</ng-template>\n" }]
177
+ }], propDecorators: { hostWrapperClasses: [{
178
+ type: HostBinding,
179
+ args: ['class']
180
+ }], fileChanged: [{
181
+ type: Output
182
+ }], fileName: [{ type: i0.Input, args: [{ isSignal: true, alias: "fileName", required: false }] }], title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: false }] }], allowFilesDrop: [{ type: i0.Input, args: [{ isSignal: true, alias: "allowFilesDrop", required: false }] }], isMultiple: [{ type: i0.Input, args: [{ isSignal: true, alias: "isMultiple", required: false }] }], allowedExtensions: [{ type: i0.Input, args: [{ isSignal: true, alias: "allowedExtensions", required: false }] }], minFileSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "minFileSize", required: false }] }], maxFileSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxFileSize", required: false }] }], layout: [{ type: i0.Input, args: [{ isSignal: true, alias: "layout", required: false }] }] } });
183
+
184
+ var UpDevs$1 = {
185
+ FormControls: {
186
+ FileUpload: {
187
+ DropzoneDesktopDescription: "Drop {isMultiple, select, true {files} other {a file}} here or <u>click</u> to select {isMultiple, select, true {them} other {it}}",
188
+ DropzoneMobileDescription: "Touch to select {isMultiple, select, true {files} other {a file}} to upload",
189
+ SelectFile: "Select {isMultiple, select, true {files} other {a file}}",
190
+ NoFileSelected: "No {isMultiple, select, true {files} other {file}} selected",
191
+ ExtensionNotAllowed: "The file ({{fileName}}) with the extension '{{extension}}' is not allowed. Allowed {hasMultipleExt, select, true {extensions are} other {extension is}}: {{allowedExtensions}}.",
192
+ MinSizeNotMet: "The file ({{fileName}}) of size {{fileSize}} is smaller than the allowed of {{minAllowedSize}}.",
193
+ MaxSizeExceeded: "The file ({{fileName}}) of size {{fileSize}} is bigger than the allowed of {{maxAllowedSize}}."
194
+ }
195
+ }
196
+ };
197
+ var en = {
198
+ UpDevs: UpDevs$1
199
+ };
200
+
201
+ var en$1 = /*#__PURE__*/Object.freeze({
202
+ __proto__: null,
203
+ UpDevs: UpDevs$1,
204
+ default: en
205
+ });
206
+
207
+ var UpDevs = {
208
+ FormControls: {
209
+ FileUpload: {
210
+ DropzoneDesktopDescription: "Arraste {isMultiple, select, true {arquivos} other {um arquivo}} para cá ou <u>clique</u> para selecioná-lo{isMultiple, select, true {s} other {}}",
211
+ DropzoneMobileDescription: "Toque para selecionar {isMultiple, select, true {arquivos} other {um arquivo}} to upload",
212
+ SelectFile: "Selecione {isMultiple, select, true {arquivos} other {um arquivo}}",
213
+ NoFileSelected: "Nenhum arquivo selecionado",
214
+ ExtensionNotAllowed: "O arquivo ({{fileName}}) tem a extensão '{{extension}}' que não é permitida. {hasMultipleExt, select, true {As extensões de arquivo permitidas são} other {A extensão de arquivo permitida é}}: {{allowedExtensions}}.",
215
+ MinSizeNotMet: "O arquivo ({{fileName}}) de tamanho {{fileSize}} é menor do que o permitido de {{minAllowedSize}}.",
216
+ MaxSizeExceeded: "O arquivo ({{fileName}}) de tamanho {{fileSize}} é maior do que o permitido de {{maxAllowedSize}}."
217
+ }
218
+ }
219
+ };
220
+ var pt = {
221
+ UpDevs: UpDevs
222
+ };
223
+
224
+ var pt$1 = /*#__PURE__*/Object.freeze({
225
+ __proto__: null,
226
+ UpDevs: UpDevs,
227
+ default: pt
228
+ });
229
+
230
+ class UpdFileUploadModule {
231
+ constructor(translocoService) {
232
+ translocoService.setFallbackLangForMissingTranslation({ fallbackLang: 'en' });
233
+ translocoService.setTranslation(en$1, 'en');
234
+ translocoService.setTranslation(pt$1, 'pt');
235
+ }
236
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: UpdFileUploadModule, deps: [{ token: i1$1.TranslocoService }], target: i0.ɵɵFactoryTarget.NgModule }); }
237
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.4", ngImport: i0, type: UpdFileUploadModule, declarations: [FileUploadComponent], imports: [CommonModule,
238
+ TranslocoModule,
239
+ UpdButtonModule,
240
+ UpdIconsModule,
241
+ UpdPopoverModule], exports: [FileUploadComponent] }); }
242
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: UpdFileUploadModule, imports: [CommonModule,
243
+ TranslocoModule,
244
+ UpdButtonModule,
245
+ UpdIconsModule,
246
+ UpdPopoverModule] }); }
247
+ }
248
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: UpdFileUploadModule, decorators: [{
249
+ type: NgModule,
250
+ args: [{
251
+ imports: [
252
+ CommonModule,
253
+ TranslocoModule,
254
+ UpdButtonModule,
255
+ UpdIconsModule,
256
+ UpdPopoverModule
257
+ ],
258
+ declarations: [
259
+ FileUploadComponent
260
+ ],
261
+ exports: [
262
+ FileUploadComponent
263
+ ]
264
+ }]
265
+ }], ctorParameters: () => [{ type: i1$1.TranslocoService }] });
266
+
267
+ /**
268
+ * Generated bundle index. Do not edit.
269
+ */
270
+
271
+ export { FileUploadComponent, UpdFileUploadModule };
272
+ //# sourceMappingURL=updevs-components-form-controls-file-upload.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updevs-components-form-controls-file-upload.mjs","sources":["../../../../libs/components/form-controls/file-upload/src/file-upload.component.ts","../../../../libs/components/form-controls/file-upload/src/file-upload.component.html","../../../../libs/components/form-controls/file-upload/src/upd-file-upload.module.ts","../../../../libs/components/form-controls/file-upload/src/updevs-components-form-controls-file-upload.ts"],"sourcesContent":["import { Component, computed, EventEmitter, HostBinding, inject, input, Output, signal } from '@angular/core';\nimport { ColumnSizeHelper, HorizontalVerticalType } from '@updevs/components';\nimport { TextModel } from '@updevs/sdk';\nimport { PlatformService, Tools } from '@updevs/sdk/core';\nimport { BaseControl } from '@updevs/components/form-controls/abstractions';\nimport { OptionalType } from '@updevs/sdk/types';\n\nimport { FileUploadChangedEvent } from './file-upload-changed.event';\n\n@Component({\n standalone: false,\n selector: 'upd-file-upload',\n templateUrl: './file-upload.component.html',\n styleUrl: './file-upload.component.scss'\n})\nexport class FileUploadComponent extends BaseControl {\n @HostBinding('class') hostWrapperClasses = '';\n\n @Output() readonly fileChanged = new EventEmitter<OptionalType<FileUploadChangedEvent>>();\n\n readonly fileName = input<string>();\n readonly title = input<TextModel>();\n readonly allowFilesDrop = input(false);\n readonly isMultiple = input(false); // TODO: implement\n readonly allowedExtensions = input('*');\n readonly minFileSize = input<number>();\n readonly maxFileSize = input<number>();\n readonly layout = input<HorizontalVerticalType>('vertical');\n readonly isOver = signal(false);\n readonly showValidationStatus = computed(() =>\n !!this.validationStatus() && (this.validationStatus() === 'invalid' || this.showValidStatus())\n );\n readonly validationStatusClass = computed(() => {\n if (this.showValidationStatus()) {\n return `is-${this.validationStatus()}`;\n }\n\n return '';\n });\n readonly validationStatusBorderClass = computed(() => {\n if (this.showValidationStatus()) {\n return this.validationStatus() === 'invalid' ? 'border-danger' : 'border-success';\n }\n\n return '';\n });\n readonly errorsList = computed(() => [...this.validationStatusTexts.concat(this.fileUploadErrors())]);\n readonly currentFiles = signal<OptionalType<File[]>>(undefined);\n readonly labelSizeClasses = computed(() => {\n if (this.layout() !== 'horizontal') {\n return 'form-label';\n }\n\n return ColumnSizeHelper.getClasses(\n 'col-form-label',\n ColumnSizeHelper.getSizeClasses(this.labelColSize(), 3)\n );\n });\n readonly firstFileName = computed(() => (this.currentFiles()?.length || 0) > 0 ? this.currentFiles()![0].name : this.fileName());\n\n get titleText(): string {\n return this._textService.getText(this.title(), { isMultiple: this.isMultiple() });\n }\n get dropDescriptionText(): string {\n return !!this.descriptionText\n ? this.descriptionText\n : this._textService.getText(\n this.platformService.isMobile ? this.defaultMobileDesc : this.defaultDesktopDesc, { isMultiple: this.isMultiple() }\n );\n }\n get supportsAdvancedUpload(): boolean {\n const div = document.createElement('div');\n return (('draggable' in div) || ('ondragstart' in div && 'ondrop' in div)) && 'FormData' in window && 'FileReader' in window;\n }\n\n private readonly defaultMobileDesc: TextModel = {\n text: 'UpDevs.FormControls.FileUpload.DropzoneMobileDescription',\n isTranslated: false\n };\n private readonly defaultDesktopDesc: TextModel = {\n text: 'UpDevs.FormControls.FileUpload.DropzoneDesktopDescription',\n isTranslated: false\n };\n private readonly fileUploadErrors = signal<string[]>([]);\n private readonly platformService = inject(PlatformService);\n\n onFileChange(event: Event): void {\n event.stopPropagation();\n\n const files = Array.from((event.target as any).files as FileList);\n\n if (!!files) {\n this.currentFiles.set([...files]);\n this._updateFormControl([...files], true);\n\n const errors = files.map(f => this.getFileErrors(f)).reduce((acc, e) => acc.concat(e), []);\n\n if (errors.length > 0) {\n this.fileUploadErrors.set([...errors]);\n return;\n }\n\n if (this.isMultiple()) {\n // TODO: implement\n } else {\n const file = files[0];\n const reader = new FileReader();\n reader.onload = (fileReader: any) => this.fileChanged.emit({ file: file, dataUrl: fileReader.target.result });\n\n reader.readAsDataURL(file);\n }\n }\n }\n\n removeFile(): void {\n this.currentFiles.set([]);\n this._updateFormControl([], true);\n this.fileChanged.emit(undefined);\n }\n\n onDrag(event: DragEvent): void {\n event.preventDefault();\n event.stopPropagation();\n }\n\n onDragStart(event: DragEvent): void {\n event.preventDefault();\n event.stopPropagation();\n }\n\n onDragEnd(event: DragEvent): void {\n event.preventDefault();\n event.stopPropagation();\n this.isOver.set(false);\n }\n\n onDragOver(event: DragEvent): void {\n event.preventDefault();\n event.stopPropagation();\n this.isOver.set(true);\n }\n\n onDragEnter(event: DragEvent): void {\n event.preventDefault();\n event.stopPropagation();\n this.isOver.set(true);\n }\n\n onDragLeave(event: DragEvent): void {\n event.preventDefault();\n event.stopPropagation();\n this.isOver.set(false);\n }\n\n onDrop(event: DragEvent): void {\n event.preventDefault();\n event.stopPropagation();\n this.isOver.set(false);\n\n // TODO: const droppedFiles = event.dataTransfer!.files;\n }\n\n protected _getValue(): any {\n return this.currentFiles();\n }\n\n protected _updateValue(value: any): void {\n this.currentFiles.set(value);\n }\n\n private getFileErrors(file: File): string[] {\n const extension = `.${file.name.split('.').pop() || ''}`;\n const fileSizeInKB = Math.round(file.size / 1024);\n const errors: string[] = [];\n\n if (this.allowedExtensions() !== '*' && !this.allowedExtensions().includes(extension)) {\n errors.push(\n this._textService.getText(\n { text: 'UpDevs.FormControls.FileUpload.ExtensionNotAllowed', isTranslated: false },\n {\n fileName: file.name,\n extension,\n hasMultipleExt: this.allowedExtensions().includes(','),\n allowedExtensions: this.allowedExtensions()\n }\n )\n );\n }\n\n if (!!this.minFileSize() && fileSizeInKB < this.minFileSize()!) {\n errors.push(\n this._textService.getText(\n { text: 'UpDevs.FormControls.FileUpload.MinSizeNotMet', isTranslated: false },\n {\n fileName: file.name,\n fileSize: Tools.Text.formatKilobytes(fileSizeInKB),\n minAllowedSize: Tools.Text.formatKilobytes(this.minFileSize()!)\n }\n )\n );\n }\n\n if (!!this.maxFileSize() && fileSizeInKB > this.maxFileSize()!) {\n errors.push(\n this._textService.getText(\n { text: 'UpDevs.FormControls.FileUpload.MaxSizeExceeded', isTranslated: false },\n {\n fileName: file.name,\n fileSize: Tools.Text.formatKilobytes(fileSizeInKB),\n maxAllowedSize: Tools.Text.formatKilobytes(this.maxFileSize()!)\n }\n )\n );\n }\n\n return errors;\n }\n}\n","<input class=\"d-none\" [attr.id]=\"name()\" [attr.name]=\"name()\" type=\"file\" [attr.multiple]=\"isMultiple() ? true : undefined\"\n [accept]=\"allowedExtensions()\" (change)=\"onFileChange($event)\" />\n\n<div class=\"row\">\n <ng-container *transloco=\"let t; prefix: 'UpDevs.FormControls.FileUpload'\">\n @if (!!labelText) {\n <div [ngClass]=\"labelSizeClasses()\">\n <label [class.required]=\"isRequired()\">{{ labelText }}</label>\n\n @if (!!hintText || !!this.hintTemplate()) {\n <ng-template [ngTemplateOutlet]=\"hintTpl\"></ng-template>\n }\n </div>\n }\n\n @if (supportsAdvancedUpload && allowFilesDrop()) {\n <div class=\"d-flex flex-column border rounded-2 p-2 w-100 h-100\" [ngClass]=\"validationStatusBorderClass()\"\n [class.bg-muted-lt]=\"!isOver()\" [class.bg-primary-lt]=\"isOver()\" (drag)=\"onDrag($event)\" (dragstart)=\"onDragStart($event)\"\n (dragend)=\"onDragEnd($event)\" (dragover)=\"onDragOver($event)\" (dragenter)=\"onDragEnter($event)\"\n (dragleave)=\"onDragLeave($event)\" (drop)=\"onDrop($event)\">\n @if (!!titleText) {\n <span class=\"fw-bold align-self-center cursor-pointer\" [innerHTML]=\"titleText\"></span>\n }\n\n <label [for]=\"name()\" class=\"text-secondary align-self-center cursor-pointer\" [innerHTML]=\"dropDescriptionText\"></label>\n\n @if (!labelText && (!!hintText || !!this.hintTemplate())) {\n <ng-template [ngTemplateOutlet]=\"hintTpl\"></ng-template>\n }\n </div>\n } @else {\n @if (!labelText && (!!hintText || !!this.hintTemplate())) {\n <div class=\"row g-2\">\n <div class=\"col\">\n <ng-template [ngTemplateOutlet]=\"inputTpl\"></ng-template>\n </div>\n <div class=\"col-auto align-self-center\">\n <ng-template [ngTemplateOutlet]=\"hintTpl\"></ng-template>\n </div>\n </div>\n } @else {\n <ng-template [ngTemplateOutlet]=\"inputTpl\"></ng-template>\n }\n }\n @if (validationStatus() === 'invalid' && errorsList().length > 0) {\n @for (desc of errorsList(); track desc) {\n <div class=\"invalid-feedback\">{{ desc }}</div>\n }\n }\n\n <ng-template #inputTpl>\n <div class=\"input-group col\">\n <label class=\"input-group-text cursor-pointer\" [ngClass]=\"validationStatusBorderClass()\" [for]=\"name()\">\n {{ t('SelectFile', { isMultiple: isMultiple() }) }}\n </label>\n <input type=\"text\" class=\"form-control text-truncate\" [class.border-end-0]=\"!!firstFileName()\"\n [value]=\"firstFileName() || ''\"\n [ngClass]=\"validationStatusClass()\" placeholder=\"{{ t('NoFileSelected', { isMultiple: isMultiple() }) }}\"\n [attr.disabled]=\"isDisabled() || undefined\" readonly>\n\n @if (!!firstFileName()) {\n <div class=\"input-group-text bg-transparent\" [ngClass]=\"validationStatusBorderClass()\">\n <upd-button [shouldIgnoreBtnClass]=\"true\" (clicked)=\"removeFile()\" customClasses=\"link-secondary cursor-pointer\">\n <upd-icon tablerIcon=\"trash\" [tablerIconSize]=\"18\"></upd-icon>\n </upd-button>\n </div>\n }\n </div>\n </ng-template>\n </ng-container>\n</div>\n\n<ng-template #hintTpl>\n <span class=\"form-help ms-2\" [updPopover]=\"hintText\" [updPopoverTemplate]=\"hintTemplate()\" [updPopoverActAsTooltip]=\"hintAsTooltip()\">\n ?\n </span>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TranslocoModule, TranslocoService } from '@jsverse/transloco';\nimport { UpdIconsModule } from '@updevs/icons';\nimport { UpdButtonModule } from '@updevs/components/button';\nimport { UpdPopoverModule } from '@updevs/components/popover';\n\nimport * as en from './assets/i18n/en.json';\nimport * as pt from './assets/i18n/pt.json';\nimport { FileUploadComponent } from './file-upload.component';\n\n@NgModule({\n imports: [\n CommonModule,\n TranslocoModule,\n UpdButtonModule,\n UpdIconsModule,\n UpdPopoverModule\n ],\n declarations: [\n FileUploadComponent\n ],\n exports: [\n FileUploadComponent\n ]\n})\nexport class UpdFileUploadModule {\n constructor(translocoService: TranslocoService) {\n translocoService.setFallbackLangForMissingTranslation({ fallbackLang: 'en' });\n translocoService.setTranslation(en, 'en');\n translocoService.setTranslation(pt, 'pt');\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2","en","pt","i1"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { inject, TemplateRef, Directive, EventEmitter, Component, ViewEncapsulation, HostBinding, ContentChild, Input, Output, NgModule } from '@angular/core';
2
+ import { inject, TemplateRef, Directive, EventEmitter, ElementRef, Output, Input, ContentChild, ViewChild, HostBinding, ViewEncapsulation, Component, NgModule } from '@angular/core';
3
3
  import { ColumnSizeHelper } from '@updevs/components';
4
4
  import { BaseControl } from '@updevs/components/form-controls/abstractions';
5
5
  import { Subject } from 'rxjs';
@@ -16,12 +16,13 @@ class InputAppendDirective {
16
16
  constructor() {
17
17
  this.templateRef = inject((TemplateRef));
18
18
  }
19
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: InputAppendDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
20
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.0", type: InputAppendDirective, selector: "ng-template[updInputAppend]", ngImport: i0 }); }
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: InputAppendDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
20
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.4", type: InputAppendDirective, isStandalone: false, selector: "ng-template[updInputAppend]", ngImport: i0 }); }
21
21
  }
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: InputAppendDirective, decorators: [{
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: InputAppendDirective, decorators: [{
23
23
  type: Directive,
24
24
  args: [{
25
+ standalone: false,
25
26
  selector: 'ng-template[updInputAppend]'
26
27
  }]
27
28
  }] });
@@ -30,12 +31,13 @@ class InputPrependDirective {
30
31
  constructor() {
31
32
  this.templateRef = inject((TemplateRef));
32
33
  }
33
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: InputPrependDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
34
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.0", type: InputPrependDirective, selector: "ng-template[updInputPrepend]", ngImport: i0 }); }
34
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: InputPrependDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
35
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.4", type: InputPrependDirective, isStandalone: false, selector: "ng-template[updInputPrepend]", ngImport: i0 }); }
35
36
  }
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: InputPrependDirective, decorators: [{
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: InputPrependDirective, decorators: [{
37
38
  type: Directive,
38
39
  args: [{
40
+ standalone: false,
39
41
  selector: 'ng-template[updInputPrepend]'
40
42
  }]
41
43
  }] });
@@ -46,7 +48,6 @@ class InputComponent extends BaseControl {
46
48
  this.hostWrapperClasses = '';
47
49
  this.type = 'text';
48
50
  this.size = 'default';
49
- this.isDisabled = false;
50
51
  this.isPlainText = false;
51
52
  this.isReadOnly = false;
52
53
  this.isLoading = false;
@@ -56,7 +57,6 @@ class InputComponent extends BaseControl {
56
57
  this.isPrependButton = false;
57
58
  this.isAppendButton = false;
58
59
  this.isFloating = false;
59
- this.isRequired = false;
60
60
  this.loaderPosition = 'append';
61
61
  this.isValidationStatusLight = false;
62
62
  this.layout = 'vertical';
@@ -78,7 +78,7 @@ class InputComponent extends BaseControl {
78
78
  this.valueChangedSub = new Subject();
79
79
  }
80
80
  get shouldDisplayInnerLabel() {
81
- return !!this.label
81
+ return !!this.label()
82
82
  && !this.prependIconModel
83
83
  && !this.appendIconModel
84
84
  && !this.isLoading
@@ -89,7 +89,13 @@ class InputComponent extends BaseControl {
89
89
  if (this.layout !== 'horizontal') {
90
90
  return 'form-label';
91
91
  }
92
- return ColumnSizeHelper.getClasses('col-form-label', ColumnSizeHelper.getSizeClasses(this.labelColSize, 3));
92
+ return ColumnSizeHelper.getClasses('col-form-label', ColumnSizeHelper.getSizeClasses(this.labelColSize(), 3));
93
+ }
94
+ get validationClass() {
95
+ return !!this.validationStatus() ? `is-${this.validationStatus()}` : '';
96
+ }
97
+ get validationBorderClass() {
98
+ return !!this.validationStatus() ? `border-${this.validationStatus() === 'invalid' ? 'danger' : 'success'}` : '';
93
99
  }
94
100
  ngOnInit() {
95
101
  this.updateClasses();
@@ -104,7 +110,21 @@ class InputComponent extends BaseControl {
104
110
  if (!evt.target) {
105
111
  return;
106
112
  }
107
- this.valueChange.emit(evt.target.value);
113
+ const newValue = evt.target.value;
114
+ this.value = newValue;
115
+ this.valueChange.emit(newValue);
116
+ this._updateFormControl(newValue, true);
117
+ }
118
+ focus() {
119
+ this.inputElement?.nativeElement.focus();
120
+ this.maskedInputElement?.nativeElement.focus();
121
+ }
122
+ _getValue() {
123
+ return this.value;
124
+ }
125
+ _updateValue(value) {
126
+ this.value = value || '';
127
+ this.valueChange.emit(this.value);
108
128
  }
109
129
  updateClasses() {
110
130
  const lClasses = !this.isPlainText ? ['form-control'] : ['form-control-plaintext'];
@@ -139,15 +159,21 @@ class InputComponent extends BaseControl {
139
159
  this.layout === 'horizontal' ? 'col' : ''
140
160
  ];
141
161
  }
142
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: InputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
143
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: InputComponent, selector: "upd-input", inputs: { type: "type", mask: "mask", maskConfig: "maskConfig", value: "value", size: "size", customClasses: "customClasses", wrapperClasses: "wrapperClasses", name: "name", maxLength: "maxLength", isDisabled: "isDisabled", isPlainText: "isPlainText", isReadOnly: "isReadOnly", isLoading: "isLoading", isRound: "isRound", isFlush: "isFlush", isInputGroupFlat: "isInputGroupFlat", isPrependButton: "isPrependButton", isAppendButton: "isAppendButton", isFloating: "isFloating", isRequired: "isRequired", loaderPosition: "loaderPosition", prependIconModel: "prependIconModel", appendIconModel: "appendIconModel", isValidationStatusLight: "isValidationStatusLight", layout: "layout", labelColSize: "labelColSize" }, outputs: { valueChange: "valueChange", blurred: "blurred", keyDown: "keyDown", keyDownEsc: "keyDownEsc", keyUpEnter: "keyUpEnter" }, host: { properties: { "class": "this.hostWrapperClasses" } }, queries: [{ propertyName: "appendTemplate", first: true, predicate: InputAppendDirective, descendants: true }, { propertyName: "prependTemplate", first: true, predicate: InputPrependDirective, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@if (!!appendTemplate || !!prependTemplate) {\n <ng-template [ngTemplateOutlet]=\"labelTpl\"></ng-template>\n <div class=\"input-group\" [class.input-group-flat]=\"isInputGroupFlat\">\n @if (!!prependTemplate) {\n @if (!isPrependButton) {\n <div class=\"input-group-text\">\n <ng-template [ngTemplateOutlet]=\"prependTemplate.templateRef\"></ng-template>\n </div>\n } @else {\n <ng-template [ngTemplateOutlet]=\"prependTemplate.templateRef\"></ng-template>\n }\n }\n\n <ng-template [ngTemplateOutlet]=\"inputTpl\"></ng-template>\n\n @if (!!appendTemplate) {\n @if (!isAppendButton) {\n <div class=\"input-group-text\">\n <ng-template [ngTemplateOutlet]=\"appendTemplate.templateRef\"></ng-template>\n </div>\n } @else {\n <ng-template [ngTemplateOutlet]=\"appendTemplate.templateRef\"></ng-template>\n }\n }\n </div>\n} @else if (!!prependIconModel || !!appendIconModel || isLoading) {\n <ng-template [ngTemplateOutlet]=\"inputIconTpl\"></ng-template>\n} @else {\n <ng-template [ngTemplateOutlet]=\"inputTpl\"></ng-template>\n}\n\n<ng-template #inputTpl>\n @if (!hintText && !hintTemplate()) {\n @if (shouldDisplayInnerLabel && !isFloating) {\n <ng-template [ngTemplateOutlet]=\"labelTpl\"></ng-template>\n }\n\n <ng-template [ngTemplateOutlet]=\"basicInputTpl\"></ng-template>\n\n @if (shouldDisplayInnerLabel && isFloating) {\n <ng-template [ngTemplateOutlet]=\"labelTpl\"></ng-template>\n }\n } @else {\n <ng-template [ngTemplateOutlet]=\"labelTpl\"></ng-template>\n <div class=\"row g-2\">\n <div class=\"col\">\n <ng-template [ngTemplateOutlet]=\"basicInputTpl\"></ng-template>\n </div>\n <div class=\"col-auto align-self-center\">\n <span class=\"form-help\" [updPopover]=\"hintText\" [updPopoverTemplate]=\"hintTemplate()\"\n [updPopoverActAsTooltip]=\"hintAsTooltip()\">\n ?\n </span>\n </div>\n </div>\n }\n</ng-template>\n\n<ng-template #inputIconTpl>\n <ng-template [ngTemplateOutlet]=\"labelTpl\"></ng-template>\n <div [class.col]=\"layout === 'horizontal'\" [class.input-icon]=\"layout === 'vertical'\">\n @if (layout === 'horizontal') {\n <div class=\"input-icon\">\n <ng-template [ngTemplateOutlet]=\"inputIconBaseTpl\"></ng-template>\n </div>\n } @else {\n <ng-template [ngTemplateOutlet]=\"inputIconBaseTpl\"></ng-template>\n }\n </div>\n</ng-template>\n\n<ng-template #inputIconBaseTpl>\n @if (!!prependIconModel || (isLoading && loaderPosition === 'prepend')) {\n <span class=\"input-icon-addon\">\n @if (!!prependIconModel) {\n <upd-icon [model]=\"prependIconModel\"></upd-icon>\n } @else {\n <ng-template [ngTemplateOutlet]=\"loaderTpl\"></ng-template>\n }\n </span>\n }\n\n <ng-template [ngTemplateOutlet]=\"inputTpl\"></ng-template>\n\n @if (!!appendIconModel || (isLoading && loaderPosition === 'append')) {\n <span class=\"input-icon-addon\">\n @if (!!appendIconModel) {\n <upd-icon [model]=\"appendIconModel\"></upd-icon>\n } @else {\n <ng-template [ngTemplateOutlet]=\"loaderTpl\"></ng-template>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #loaderTpl>\n <div class=\"spinner-border spinner-border-sm text-muted\" role=\"status\"></div>\n</ng-template>\n\n<ng-template #basicInputTpl>\n @if (!!mask) {\n <input [updMask]=\"mask\" [updMaskConfig]=\"maskConfig\" [updateMaskValueSubject]=\"valueChangedSub\" [attr.type]=\"type\"\n [attr.maxlength]=\"maxLength\" [disabled]=\"isDisabled\" [ngClass]=\"classes\" [placeholder]=\"placeholderText\" [value]=\"value || ''\"\n [attr.name]=\"name\" [attr.readonly]=\"isReadOnly ? '' : undefined\" (input)=\"onInputChange($event)\" (blur)=\"blurred.emit()\"\n (keydown)=\"keyDown.emit($event)\" (keydown.escape)=\"keyDownEsc.emit()\" (keyup.enter)=\"keyUpEnter.emit()\" />\n } @else {\n <input [attr.type]=\"type\" [attr.maxlength]=\"maxLength\" [disabled]=\"isDisabled\" [ngClass]=\"classes\" [placeholder]=\"placeholderText\"\n [value]=\"value || ''\" [attr.name]=\"name\" [attr.readonly]=\"isReadOnly ? '' : undefined\" (input)=\"onInputChange($event)\"\n (blur)=\"blurred.emit()\" (keydown)=\"keyDown.emit($event)\" (keydown.escape)=\"keyDownEsc.emit()\"\n (keyup.enter)=\"keyUpEnter.emit()\" />\n }\n\n @if (validationStatus() === 'invalid' && validationStatusTexts.length > 0) {\n @for (desc of validationStatusTexts; track desc) {\n <div class=\"invalid-feedback\">{{ desc }}</div>\n }\n }\n</ng-template>\n\n<ng-template #labelTpl>\n @if (!!labelText) {\n <label [ngClass]=\"labelSizeClasses\" [class.required]=\"isRequired\">{{ labelText }}</label>\n }\n</ng-template>\n", styles: [".input-group-text .form-check>.form-check-input{margin:0!important}.input-group-text>upd-checkbox{height:16px!important}.input-group-text .form-check{margin:0!important;padding-left:0!important;min-height:16px!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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: "directive", type: i3.MaskDirective, selector: "[updMask]", inputs: ["updMask", "updMaskConfig", "specialCharacters", "patterns", "prefix", "thousandSeparator", "decimalMarker", "suffix", "shownMaskExpression", "removeSpecialCharacters", "placeholderCharacter", "isHiddenInput", "showMaskTyped", "showTemplate", "clearIfNoMatch", "shouldValidate", "shouldTriggerOnMaskChange", "allowNegativeNumbers", "leadZeroDateTime", "separatorLimit", "updateMaskValueSubject"], outputs: ["maskFilled"] }, { kind: "directive", type: i4.PopoverDirective, selector: "[updPopover]", inputs: ["updPopover", "updPopoverTitle", "updPopoverTitleTemplate", "updPopoverTemplate", "updPopoverPlacement", "updPopoverCustomClasses", "updPopoverActAsTooltip"] }], encapsulation: i0.ViewEncapsulation.None }); }
162
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: InputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
163
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.4", type: InputComponent, isStandalone: false, selector: "upd-input", inputs: { type: "type", mask: "mask", maskConfig: "maskConfig", value: "value", size: "size", customClasses: "customClasses", wrapperClasses: "wrapperClasses", maxLength: "maxLength", isPlainText: "isPlainText", isReadOnly: "isReadOnly", isLoading: "isLoading", isRound: "isRound", isFlush: "isFlush", isInputGroupFlat: "isInputGroupFlat", isPrependButton: "isPrependButton", isAppendButton: "isAppendButton", isFloating: "isFloating", loaderPosition: "loaderPosition", prependIconModel: "prependIconModel", appendIconModel: "appendIconModel", isValidationStatusLight: "isValidationStatusLight", layout: "layout" }, outputs: { valueChange: "valueChange", blurred: "blurred", keyDown: "keyDown", keyDownEsc: "keyDownEsc", keyUpEnter: "keyUpEnter" }, host: { properties: { "class": "this.hostWrapperClasses" } }, queries: [{ propertyName: "appendTemplate", first: true, predicate: InputAppendDirective, descendants: true }, { propertyName: "prependTemplate", first: true, predicate: InputPrependDirective, descendants: true }], viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["inputEl"], descendants: true, read: (ElementRef) }, { propertyName: "maskedInputElement", first: true, predicate: ["maskedInputEl"], descendants: true, read: (ElementRef) }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@if (!!appendTemplate || !!prependTemplate) {\n <ng-template [ngTemplateOutlet]=\"labelTpl\"></ng-template>\n <div class=\"input-group\" [class.input-group-flat]=\"isInputGroupFlat\" [ngClass]=\"validationClass\">\n @if (!!prependTemplate) {\n @if (!isPrependButton) {\n <div class=\"input-group-text\" [ngClass]=\"validationBorderClass\">\n <ng-template [ngTemplateOutlet]=\"prependTemplate.templateRef\"></ng-template>\n </div>\n } @else {\n <ng-template [ngTemplateOutlet]=\"prependTemplate.templateRef\"></ng-template>\n }\n }\n\n <ng-template [ngTemplateOutlet]=\"inputTpl\"></ng-template>\n\n @if (!!appendTemplate) {\n @if (!isAppendButton) {\n <div class=\"input-group-text\" [ngClass]=\"validationBorderClass\">\n <ng-template [ngTemplateOutlet]=\"appendTemplate.templateRef\"></ng-template>\n </div>\n } @else {\n <ng-template [ngTemplateOutlet]=\"appendTemplate.templateRef\"></ng-template>\n }\n }\n </div>\n\n <ng-template [ngTemplateOutlet]=\"feedbackTpl\"></ng-template>\n} @else if (!!prependIconModel || !!appendIconModel || isLoading) {\n <ng-template [ngTemplateOutlet]=\"inputIconTpl\"></ng-template>\n} @else {\n <ng-template [ngTemplateOutlet]=\"inputTpl\"></ng-template>\n <ng-template [ngTemplateOutlet]=\"feedbackTpl\"></ng-template>\n}\n\n<ng-template #inputTpl>\n @if (shouldDisplayInnerLabel && !isFloating) {\n <ng-template [ngTemplateOutlet]=\"labelTpl\"></ng-template>\n }\n\n <ng-template [ngTemplateOutlet]=\"basicInputTpl\"></ng-template>\n\n @if (shouldDisplayInnerLabel && isFloating) {\n <ng-template [ngTemplateOutlet]=\"labelTpl\"></ng-template>\n }\n</ng-template>\n\n<ng-template #inputIconTpl>\n <ng-template [ngTemplateOutlet]=\"labelTpl\"></ng-template>\n <div [class.col]=\"layout === 'horizontal'\" [class.input-icon]=\"layout === 'vertical'\">\n @if (layout === 'horizontal') {\n <div class=\"input-icon\">\n <ng-template [ngTemplateOutlet]=\"inputIconBaseTpl\"></ng-template>\n </div>\n } @else {\n <ng-template [ngTemplateOutlet]=\"inputIconBaseTpl\"></ng-template>\n }\n </div>\n</ng-template>\n\n<ng-template #inputIconBaseTpl>\n @if (!!prependIconModel || (isLoading && loaderPosition === 'prepend')) {\n <span class=\"input-icon-addon\">\n @if (!!prependIconModel) {\n <upd-icon [model]=\"prependIconModel\"></upd-icon>\n } @else {\n <ng-template [ngTemplateOutlet]=\"loaderTpl\"></ng-template>\n }\n </span>\n }\n\n <ng-template [ngTemplateOutlet]=\"inputTpl\"></ng-template>\n <ng-template [ngTemplateOutlet]=\"feedbackTpl\"></ng-template>\n\n @if (!!appendIconModel || (isLoading && loaderPosition === 'append')) {\n <span class=\"input-icon-addon\">\n @if (!!appendIconModel) {\n <upd-icon [model]=\"appendIconModel\"></upd-icon>\n } @else {\n <ng-template [ngTemplateOutlet]=\"loaderTpl\"></ng-template>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #loaderTpl>\n <div class=\"spinner-border spinner-border-sm text-muted\" role=\"status\"></div>\n</ng-template>\n\n<ng-template #basicInputTpl>\n @if (!!mask) {\n <input #maskedInputEl [updMask]=\"mask\" [updMaskConfig]=\"maskConfig\" [updateMaskValueSubject]=\"valueChangedSub\" [attr.type]=\"type\"\n [attr.maxlength]=\"maxLength\" [disabled]=\"isDisabled()\" [ngClass]=\"classes\" [placeholder]=\"placeholderText\" [value]=\"value || ''\"\n [attr.name]=\"name()\" [attr.readonly]=\"isReadOnly ? '' : undefined\" (input)=\"onInputChange($event)\" (blur)=\"blurred.emit()\"\n (keydown)=\"keyDown.emit($event)\" (keydown.escape)=\"keyDownEsc.emit()\" (keyup.enter)=\"keyUpEnter.emit()\" />\n } @else {\n <input #inputEl [attr.type]=\"type\" [attr.maxlength]=\"maxLength\" [disabled]=\"isDisabled()\" [ngClass]=\"classes\"\n [placeholder]=\"placeholderText\" [value]=\"value || ''\" [attr.name]=\"name()\" [attr.readonly]=\"isReadOnly ? '' : undefined\"\n (input)=\"onInputChange($event)\" (blur)=\"blurred.emit()\" (keydown)=\"keyDown.emit($event)\" (keydown.escape)=\"keyDownEsc.emit()\"\n (keyup.enter)=\"keyUpEnter.emit()\" />\n }\n</ng-template>\n\n<ng-template #feedbackTpl>\n @if (validationStatus() === 'invalid' && validationStatusTexts.length > 0) {\n @for (desc of validationStatusTexts; track desc) {\n <div class=\"invalid-feedback\">{{ desc }}</div>\n }\n }\n</ng-template>\n\n<ng-template #hintTpl>\n <span class=\"form-help ms-2\" [updPopover]=\"hintText\" [updPopoverTemplate]=\"hintTemplate()\" [updPopoverActAsTooltip]=\"hintAsTooltip()\">\n ?\n </span>\n</ng-template>\n\n<ng-template #labelTpl>\n @if (!!labelText && !isFloating) {\n <div [ngClass]=\"labelSizeClasses\">\n <label [class.required]=\"isRequired()\">{{ labelText }}</label>\n\n @if (!!hintText || !!this.hintTemplate()) {\n <ng-template [ngTemplateOutlet]=\"hintTpl\"></ng-template>\n }\n </div>\n } @else if (!!labelText) {\n <label [ngClass]=\"labelSizeClasses\" [class.required]=\"isRequired()\">{{ labelText }}</label>\n }\n</ng-template>\n", styles: [".input-group-text .form-check>.form-check-input{margin:0!important}.input-group-text>upd-checkbox{height:16px!important}.input-group-text .form-check{margin:0!important;padding-left:0!important;min-height:16px!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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: "directive", type: i3.MaskDirective, selector: "[updMask]", inputs: ["updMask", "updMaskConfig", "specialCharacters", "patterns", "prefix", "thousandSeparator", "decimalMarker", "suffix", "shownMaskExpression", "removeSpecialCharacters", "placeholderCharacter", "isHiddenInput", "showMaskTyped", "showTemplate", "clearIfNoMatch", "shouldValidate", "shouldTriggerOnMaskChange", "allowNegativeNumbers", "leadZeroDateTime", "separatorLimit", "updateMaskValueSubject"], outputs: ["maskFilled"] }, { kind: "directive", type: i4.PopoverDirective, selector: "[updPopover]", inputs: ["updPopover", "updPopoverTitle", "updPopoverTitleTemplate", "updPopoverTemplate", "updPopoverPlacement", "updPopoverCustomClasses", "updPopoverActAsTooltip"] }], encapsulation: i0.ViewEncapsulation.None }); }
144
164
  }
145
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: InputComponent, decorators: [{
165
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: InputComponent, decorators: [{
146
166
  type: Component,
147
- args: [{ selector: 'upd-input', encapsulation: ViewEncapsulation.None, template: "@if (!!appendTemplate || !!prependTemplate) {\n <ng-template [ngTemplateOutlet]=\"labelTpl\"></ng-template>\n <div class=\"input-group\" [class.input-group-flat]=\"isInputGroupFlat\">\n @if (!!prependTemplate) {\n @if (!isPrependButton) {\n <div class=\"input-group-text\">\n <ng-template [ngTemplateOutlet]=\"prependTemplate.templateRef\"></ng-template>\n </div>\n } @else {\n <ng-template [ngTemplateOutlet]=\"prependTemplate.templateRef\"></ng-template>\n }\n }\n\n <ng-template [ngTemplateOutlet]=\"inputTpl\"></ng-template>\n\n @if (!!appendTemplate) {\n @if (!isAppendButton) {\n <div class=\"input-group-text\">\n <ng-template [ngTemplateOutlet]=\"appendTemplate.templateRef\"></ng-template>\n </div>\n } @else {\n <ng-template [ngTemplateOutlet]=\"appendTemplate.templateRef\"></ng-template>\n }\n }\n </div>\n} @else if (!!prependIconModel || !!appendIconModel || isLoading) {\n <ng-template [ngTemplateOutlet]=\"inputIconTpl\"></ng-template>\n} @else {\n <ng-template [ngTemplateOutlet]=\"inputTpl\"></ng-template>\n}\n\n<ng-template #inputTpl>\n @if (!hintText && !hintTemplate()) {\n @if (shouldDisplayInnerLabel && !isFloating) {\n <ng-template [ngTemplateOutlet]=\"labelTpl\"></ng-template>\n }\n\n <ng-template [ngTemplateOutlet]=\"basicInputTpl\"></ng-template>\n\n @if (shouldDisplayInnerLabel && isFloating) {\n <ng-template [ngTemplateOutlet]=\"labelTpl\"></ng-template>\n }\n } @else {\n <ng-template [ngTemplateOutlet]=\"labelTpl\"></ng-template>\n <div class=\"row g-2\">\n <div class=\"col\">\n <ng-template [ngTemplateOutlet]=\"basicInputTpl\"></ng-template>\n </div>\n <div class=\"col-auto align-self-center\">\n <span class=\"form-help\" [updPopover]=\"hintText\" [updPopoverTemplate]=\"hintTemplate()\"\n [updPopoverActAsTooltip]=\"hintAsTooltip()\">\n ?\n </span>\n </div>\n </div>\n }\n</ng-template>\n\n<ng-template #inputIconTpl>\n <ng-template [ngTemplateOutlet]=\"labelTpl\"></ng-template>\n <div [class.col]=\"layout === 'horizontal'\" [class.input-icon]=\"layout === 'vertical'\">\n @if (layout === 'horizontal') {\n <div class=\"input-icon\">\n <ng-template [ngTemplateOutlet]=\"inputIconBaseTpl\"></ng-template>\n </div>\n } @else {\n <ng-template [ngTemplateOutlet]=\"inputIconBaseTpl\"></ng-template>\n }\n </div>\n</ng-template>\n\n<ng-template #inputIconBaseTpl>\n @if (!!prependIconModel || (isLoading && loaderPosition === 'prepend')) {\n <span class=\"input-icon-addon\">\n @if (!!prependIconModel) {\n <upd-icon [model]=\"prependIconModel\"></upd-icon>\n } @else {\n <ng-template [ngTemplateOutlet]=\"loaderTpl\"></ng-template>\n }\n </span>\n }\n\n <ng-template [ngTemplateOutlet]=\"inputTpl\"></ng-template>\n\n @if (!!appendIconModel || (isLoading && loaderPosition === 'append')) {\n <span class=\"input-icon-addon\">\n @if (!!appendIconModel) {\n <upd-icon [model]=\"appendIconModel\"></upd-icon>\n } @else {\n <ng-template [ngTemplateOutlet]=\"loaderTpl\"></ng-template>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #loaderTpl>\n <div class=\"spinner-border spinner-border-sm text-muted\" role=\"status\"></div>\n</ng-template>\n\n<ng-template #basicInputTpl>\n @if (!!mask) {\n <input [updMask]=\"mask\" [updMaskConfig]=\"maskConfig\" [updateMaskValueSubject]=\"valueChangedSub\" [attr.type]=\"type\"\n [attr.maxlength]=\"maxLength\" [disabled]=\"isDisabled\" [ngClass]=\"classes\" [placeholder]=\"placeholderText\" [value]=\"value || ''\"\n [attr.name]=\"name\" [attr.readonly]=\"isReadOnly ? '' : undefined\" (input)=\"onInputChange($event)\" (blur)=\"blurred.emit()\"\n (keydown)=\"keyDown.emit($event)\" (keydown.escape)=\"keyDownEsc.emit()\" (keyup.enter)=\"keyUpEnter.emit()\" />\n } @else {\n <input [attr.type]=\"type\" [attr.maxlength]=\"maxLength\" [disabled]=\"isDisabled\" [ngClass]=\"classes\" [placeholder]=\"placeholderText\"\n [value]=\"value || ''\" [attr.name]=\"name\" [attr.readonly]=\"isReadOnly ? '' : undefined\" (input)=\"onInputChange($event)\"\n (blur)=\"blurred.emit()\" (keydown)=\"keyDown.emit($event)\" (keydown.escape)=\"keyDownEsc.emit()\"\n (keyup.enter)=\"keyUpEnter.emit()\" />\n }\n\n @if (validationStatus() === 'invalid' && validationStatusTexts.length > 0) {\n @for (desc of validationStatusTexts; track desc) {\n <div class=\"invalid-feedback\">{{ desc }}</div>\n }\n }\n</ng-template>\n\n<ng-template #labelTpl>\n @if (!!labelText) {\n <label [ngClass]=\"labelSizeClasses\" [class.required]=\"isRequired\">{{ labelText }}</label>\n }\n</ng-template>\n", styles: [".input-group-text .form-check>.form-check-input{margin:0!important}.input-group-text>upd-checkbox{height:16px!important}.input-group-text .form-check{margin:0!important;padding-left:0!important;min-height:16px!important}\n"] }]
167
+ args: [{ standalone: false, selector: 'upd-input', encapsulation: ViewEncapsulation.None, template: "@if (!!appendTemplate || !!prependTemplate) {\n <ng-template [ngTemplateOutlet]=\"labelTpl\"></ng-template>\n <div class=\"input-group\" [class.input-group-flat]=\"isInputGroupFlat\" [ngClass]=\"validationClass\">\n @if (!!prependTemplate) {\n @if (!isPrependButton) {\n <div class=\"input-group-text\" [ngClass]=\"validationBorderClass\">\n <ng-template [ngTemplateOutlet]=\"prependTemplate.templateRef\"></ng-template>\n </div>\n } @else {\n <ng-template [ngTemplateOutlet]=\"prependTemplate.templateRef\"></ng-template>\n }\n }\n\n <ng-template [ngTemplateOutlet]=\"inputTpl\"></ng-template>\n\n @if (!!appendTemplate) {\n @if (!isAppendButton) {\n <div class=\"input-group-text\" [ngClass]=\"validationBorderClass\">\n <ng-template [ngTemplateOutlet]=\"appendTemplate.templateRef\"></ng-template>\n </div>\n } @else {\n <ng-template [ngTemplateOutlet]=\"appendTemplate.templateRef\"></ng-template>\n }\n }\n </div>\n\n <ng-template [ngTemplateOutlet]=\"feedbackTpl\"></ng-template>\n} @else if (!!prependIconModel || !!appendIconModel || isLoading) {\n <ng-template [ngTemplateOutlet]=\"inputIconTpl\"></ng-template>\n} @else {\n <ng-template [ngTemplateOutlet]=\"inputTpl\"></ng-template>\n <ng-template [ngTemplateOutlet]=\"feedbackTpl\"></ng-template>\n}\n\n<ng-template #inputTpl>\n @if (shouldDisplayInnerLabel && !isFloating) {\n <ng-template [ngTemplateOutlet]=\"labelTpl\"></ng-template>\n }\n\n <ng-template [ngTemplateOutlet]=\"basicInputTpl\"></ng-template>\n\n @if (shouldDisplayInnerLabel && isFloating) {\n <ng-template [ngTemplateOutlet]=\"labelTpl\"></ng-template>\n }\n</ng-template>\n\n<ng-template #inputIconTpl>\n <ng-template [ngTemplateOutlet]=\"labelTpl\"></ng-template>\n <div [class.col]=\"layout === 'horizontal'\" [class.input-icon]=\"layout === 'vertical'\">\n @if (layout === 'horizontal') {\n <div class=\"input-icon\">\n <ng-template [ngTemplateOutlet]=\"inputIconBaseTpl\"></ng-template>\n </div>\n } @else {\n <ng-template [ngTemplateOutlet]=\"inputIconBaseTpl\"></ng-template>\n }\n </div>\n</ng-template>\n\n<ng-template #inputIconBaseTpl>\n @if (!!prependIconModel || (isLoading && loaderPosition === 'prepend')) {\n <span class=\"input-icon-addon\">\n @if (!!prependIconModel) {\n <upd-icon [model]=\"prependIconModel\"></upd-icon>\n } @else {\n <ng-template [ngTemplateOutlet]=\"loaderTpl\"></ng-template>\n }\n </span>\n }\n\n <ng-template [ngTemplateOutlet]=\"inputTpl\"></ng-template>\n <ng-template [ngTemplateOutlet]=\"feedbackTpl\"></ng-template>\n\n @if (!!appendIconModel || (isLoading && loaderPosition === 'append')) {\n <span class=\"input-icon-addon\">\n @if (!!appendIconModel) {\n <upd-icon [model]=\"appendIconModel\"></upd-icon>\n } @else {\n <ng-template [ngTemplateOutlet]=\"loaderTpl\"></ng-template>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #loaderTpl>\n <div class=\"spinner-border spinner-border-sm text-muted\" role=\"status\"></div>\n</ng-template>\n\n<ng-template #basicInputTpl>\n @if (!!mask) {\n <input #maskedInputEl [updMask]=\"mask\" [updMaskConfig]=\"maskConfig\" [updateMaskValueSubject]=\"valueChangedSub\" [attr.type]=\"type\"\n [attr.maxlength]=\"maxLength\" [disabled]=\"isDisabled()\" [ngClass]=\"classes\" [placeholder]=\"placeholderText\" [value]=\"value || ''\"\n [attr.name]=\"name()\" [attr.readonly]=\"isReadOnly ? '' : undefined\" (input)=\"onInputChange($event)\" (blur)=\"blurred.emit()\"\n (keydown)=\"keyDown.emit($event)\" (keydown.escape)=\"keyDownEsc.emit()\" (keyup.enter)=\"keyUpEnter.emit()\" />\n } @else {\n <input #inputEl [attr.type]=\"type\" [attr.maxlength]=\"maxLength\" [disabled]=\"isDisabled()\" [ngClass]=\"classes\"\n [placeholder]=\"placeholderText\" [value]=\"value || ''\" [attr.name]=\"name()\" [attr.readonly]=\"isReadOnly ? '' : undefined\"\n (input)=\"onInputChange($event)\" (blur)=\"blurred.emit()\" (keydown)=\"keyDown.emit($event)\" (keydown.escape)=\"keyDownEsc.emit()\"\n (keyup.enter)=\"keyUpEnter.emit()\" />\n }\n</ng-template>\n\n<ng-template #feedbackTpl>\n @if (validationStatus() === 'invalid' && validationStatusTexts.length > 0) {\n @for (desc of validationStatusTexts; track desc) {\n <div class=\"invalid-feedback\">{{ desc }}</div>\n }\n }\n</ng-template>\n\n<ng-template #hintTpl>\n <span class=\"form-help ms-2\" [updPopover]=\"hintText\" [updPopoverTemplate]=\"hintTemplate()\" [updPopoverActAsTooltip]=\"hintAsTooltip()\">\n ?\n </span>\n</ng-template>\n\n<ng-template #labelTpl>\n @if (!!labelText && !isFloating) {\n <div [ngClass]=\"labelSizeClasses\">\n <label [class.required]=\"isRequired()\">{{ labelText }}</label>\n\n @if (!!hintText || !!this.hintTemplate()) {\n <ng-template [ngTemplateOutlet]=\"hintTpl\"></ng-template>\n }\n </div>\n } @else if (!!labelText) {\n <label [ngClass]=\"labelSizeClasses\" [class.required]=\"isRequired()\">{{ labelText }}</label>\n }\n</ng-template>\n", styles: [".input-group-text .form-check>.form-check-input{margin:0!important}.input-group-text>upd-checkbox{height:16px!important}.input-group-text .form-check{margin:0!important;padding-left:0!important;min-height:16px!important}\n"] }]
148
168
  }], propDecorators: { hostWrapperClasses: [{
149
169
  type: HostBinding,
150
170
  args: ['class']
171
+ }], inputElement: [{
172
+ type: ViewChild,
173
+ args: ['inputEl', { read: (ElementRef) }]
174
+ }], maskedInputElement: [{
175
+ type: ViewChild,
176
+ args: ['maskedInputEl', { read: (ElementRef) }]
151
177
  }], appendTemplate: [{
152
178
  type: ContentChild,
153
179
  args: [InputAppendDirective]
@@ -168,12 +194,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
168
194
  type: Input
169
195
  }], wrapperClasses: [{
170
196
  type: Input
171
- }], name: [{
172
- type: Input
173
197
  }], maxLength: [{
174
198
  type: Input
175
- }], isDisabled: [{
176
- type: Input
177
199
  }], isPlainText: [{
178
200
  type: Input
179
201
  }], isReadOnly: [{
@@ -192,8 +214,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
192
214
  type: Input
193
215
  }], isFloating: [{
194
216
  type: Input
195
- }], isRequired: [{
196
- type: Input
197
217
  }], loaderPosition: [{
198
218
  type: Input
199
219
  }], prependIconModel: [{
@@ -204,8 +224,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
204
224
  type: Input
205
225
  }], layout: [{
206
226
  type: Input
207
- }], labelColSize: [{
208
- type: Input
209
227
  }], valueChange: [{
210
228
  type: Output
211
229
  }], blurred: [{
@@ -219,8 +237,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
219
237
  }] } });
220
238
 
221
239
  class UpdInputModule {
222
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: UpdInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
223
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.0", ngImport: i0, type: UpdInputModule, declarations: [InputComponent,
240
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: UpdInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
241
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.4", ngImport: i0, type: UpdInputModule, declarations: [InputComponent,
224
242
  InputAppendDirective,
225
243
  InputPrependDirective], imports: [CommonModule,
226
244
  UpdIconsModule,
@@ -228,12 +246,12 @@ class UpdInputModule {
228
246
  UpdPopoverModule], exports: [InputComponent,
229
247
  InputAppendDirective,
230
248
  InputPrependDirective] }); }
231
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: UpdInputModule, imports: [CommonModule,
249
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: UpdInputModule, imports: [CommonModule,
232
250
  UpdIconsModule,
233
251
  UpdMaskModule,
234
252
  UpdPopoverModule] }); }
235
253
  }
236
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: UpdInputModule, decorators: [{
254
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: UpdInputModule, decorators: [{
237
255
  type: NgModule,
238
256
  args: [{
239
257
  imports: [