@updevs/components 1.0.0-alpha.9 → 1.0.0-alpha.90

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 (1151) hide show
  1. package/README.md +1 -1
  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/_hero.scss +70 -0
  20. package/assets/styles/marketing/_pricing.scss +111 -0
  21. package/assets/styles/marketing/_sections.scss +124 -0
  22. package/assets/styles/marketing/_shape.scss +31 -0
  23. package/assets/styles/mixins/_functions.scss +53 -0
  24. package/assets/styles/mixins/_mixins.scss +9 -9
  25. package/assets/styles/ui/_accordion.scss +165 -11
  26. package/assets/styles/ui/_alerts.scss +80 -38
  27. package/assets/styles/ui/_avatars.scss +36 -9
  28. package/assets/styles/ui/_badges.scss +47 -13
  29. package/assets/styles/ui/_button-group.scss +1 -1
  30. package/assets/styles/ui/_buttons.scss +33 -37
  31. package/assets/styles/ui/_calendars.scss +2 -2
  32. package/assets/styles/ui/_cards.scss +9 -0
  33. package/assets/styles/ui/_carousel.scss +1 -1
  34. package/assets/styles/ui/_charts.scss +1 -1
  35. package/assets/styles/ui/_chat.scss +38 -0
  36. package/assets/styles/ui/_close.scss +54 -1
  37. package/assets/styles/ui/_datagrid.scss +1 -1
  38. package/assets/styles/ui/_dropdowns.scss +3 -0
  39. package/assets/styles/ui/_empty.scss +0 -5
  40. package/assets/styles/ui/_flags.scss +2 -2
  41. package/assets/styles/ui/_forms.scss +33 -7
  42. package/assets/styles/ui/_grid.scss +1 -1
  43. package/assets/styles/ui/_icons.scss +1 -1
  44. package/assets/styles/ui/_images.scss +4 -0
  45. package/assets/styles/ui/_lists.scss +12 -16
  46. package/assets/styles/ui/_loaders.scss +1 -1
  47. package/assets/styles/ui/_markdown.scss +15 -4
  48. package/assets/styles/ui/_modals.scss +2 -2
  49. package/assets/styles/ui/_nav.scss +17 -3
  50. package/assets/styles/ui/_offcanvas.scss +2 -2
  51. package/assets/styles/ui/_pagination.scss +2 -0
  52. package/assets/styles/ui/_payments.scss +1 -1
  53. package/assets/styles/ui/_placeholder.scss +1 -1
  54. package/assets/styles/ui/_progress.scss +1 -1
  55. package/assets/styles/ui/_ribbons.scss +1 -0
  56. package/assets/styles/ui/_segmented.scss +101 -0
  57. package/assets/styles/ui/_signature.scss +15 -0
  58. package/assets/styles/ui/_social.scss +52 -0
  59. package/assets/styles/ui/_status.scss +1 -1
  60. package/assets/styles/ui/_steps.scss +5 -1
  61. package/assets/styles/ui/_switch-icon.scss +1 -1
  62. package/assets/styles/ui/_tables.scss +27 -1
  63. package/assets/styles/ui/_tags.scss +1 -1
  64. package/assets/styles/ui/_timeline.scss +1 -1
  65. package/assets/styles/ui/_toasts.scss +0 -1
  66. package/assets/styles/ui/_tracking.scss +1 -1
  67. package/assets/styles/ui/_type.scss +169 -8
  68. package/assets/styles/ui/forms/_form-check.scss +1 -1
  69. package/assets/styles/ui/forms/_form-colorinput.scss +1 -1
  70. package/assets/styles/ui/forms/_form-custom.scss +1 -1
  71. package/assets/styles/ui/forms/_form-imagecheck.scss +6 -5
  72. package/assets/styles/ui/forms/_form-selectgroup.scss +2 -2
  73. package/assets/styles/ui/typo/_hr.scss +4 -2
  74. package/assets/styles/utils/_colors.scss +72 -11
  75. package/assets/styles/utils/_opacity.scss +1 -1
  76. package/assets/styles/utils/_scroll.scss +0 -2
  77. package/assets/styles/utils/_sizing.scss +1 -1
  78. package/assets/styles/utils/_text.scss +1 -2
  79. package/assets/styles/vendor/_apexcharts.scss +52 -0
  80. package/assets/styles/vendor/_coloris.scss +72 -0
  81. package/assets/styles/vendor/_dropzone.scss +27 -0
  82. package/assets/styles/vendor/_fslightbox.scss +13 -0
  83. package/assets/styles/vendor/_jsvectormap.scss +47 -0
  84. package/assets/styles/vendor/_litepicker.scss +69 -0
  85. package/assets/styles/vendor/_nouislider.scss +49 -0
  86. package/assets/styles/vendor/_plyr.scss +3 -0
  87. package/assets/styles/vendor/_stars-rating.scss +22 -0
  88. package/assets/styles/vendor/_tom-select.scss +81 -0
  89. package/assets/styles/vendor/_turbo.scss +3 -0
  90. package/assets/styles/vendor/_typed.scss +4 -0
  91. package/assets/styles/vendor/_wysiwyg.scss +46 -0
  92. package/badge/badge-config.model.d.ts +14 -0
  93. package/badge/badge.component.d.ts +23 -0
  94. package/badge/badge.config.d.ts +12 -0
  95. package/badge/upd-badge.module.d.ts +8 -0
  96. package/button/button.component.d.ts +61 -0
  97. package/button/upd-button.module.d.ts +10 -0
  98. package/calendar/calendar.component.d.ts +63 -0
  99. package/calendar/models/calendar-date.model.d.ts +10 -0
  100. package/calendar/models/calendar-month.model.d.ts +7 -0
  101. package/calendar/models/calendar-selected.model.d.ts +5 -0
  102. package/calendar/models/calendar-year.model.d.ts +6 -0
  103. package/calendar/models/date-range.model.d.ts +22 -0
  104. package/calendar/models/enums/calendar-view.enum.d.ts +5 -0
  105. package/calendar/models/public-api.d.ts +7 -0
  106. package/calendar/services/calendar-range-strategy.service.d.ts +35 -0
  107. package/calendar/services/calendar-signals.service.d.ts +24 -0
  108. package/calendar/upd-calendar.module.d.ts +13 -0
  109. package/card/card.component.d.ts +54 -0
  110. package/card/directives/card-actions.directive.d.ts +7 -0
  111. package/card/directives/card-footer.directive.d.ts +7 -0
  112. package/card/directives/card-header.directive.d.ts +7 -0
  113. package/card/directives/card-image.directive.d.ts +7 -0
  114. package/card/public-api.d.ts +4 -0
  115. package/card/upd-card.module.d.ts +14 -0
  116. package/drag-and-drop/drag-and-drop.component.d.ts +26 -0
  117. package/drag-and-drop/models/drag-and-drop-column.config.d.ts +8 -0
  118. package/drag-and-drop/models/drag-and-drop-column.model.d.ts +10 -0
  119. package/drag-and-drop/models/drag-and-drop-item.d.ts +7 -0
  120. package/drag-and-drop/models/drag-and-drop-item.model.d.ts +13 -0
  121. package/drag-and-drop/models/drag-and-drop.config.d.ts +6 -0
  122. package/drag-and-drop/upd-drag-and-drop.module.d.ts +9 -0
  123. package/dropdown/dropdown.component.d.ts +80 -0
  124. package/dropdown/models/dropdown-action-clicked.model.d.ts +6 -0
  125. package/dropdown/models/dropdown-item.d.ts +25 -0
  126. package/dropdown/upd-dropdown.module.d.ts +12 -0
  127. package/esm2022/badge/badge-config.model.mjs +14 -0
  128. package/esm2022/badge/badge.component.mjs +48 -0
  129. package/esm2022/badge/badge.config.mjs +2 -0
  130. package/esm2022/badge/index.mjs +2 -0
  131. package/esm2022/badge/public-api.mjs +4 -0
  132. package/esm2022/badge/upd-badge.module.mjs +24 -0
  133. package/esm2022/badge/updevs-components-badge.mjs +5 -0
  134. package/esm2022/button/button.component.mjs +157 -0
  135. package/esm2022/button/index.mjs +2 -0
  136. package/esm2022/button/public-api.mjs +3 -0
  137. package/esm2022/button/upd-button.module.mjs +32 -0
  138. package/esm2022/button/updevs-components-button.mjs +5 -0
  139. package/esm2022/calendar/calendar.component.mjs +318 -0
  140. package/esm2022/calendar/index.mjs +2 -0
  141. package/esm2022/calendar/models/calendar-date.model.mjs +2 -0
  142. package/esm2022/calendar/models/calendar-month.model.mjs +2 -0
  143. package/esm2022/calendar/models/calendar-selected.model.mjs +2 -0
  144. package/esm2022/calendar/models/calendar-user-event.model.mjs +2 -0
  145. package/esm2022/calendar/models/calendar-year.model.mjs +2 -0
  146. package/esm2022/calendar/models/date-range.model.mjs +18 -0
  147. package/esm2022/calendar/models/enums/calendar-view.enum.mjs +7 -0
  148. package/esm2022/calendar/models/public-api.mjs +8 -0
  149. package/esm2022/calendar/public-api.mjs +6 -0
  150. package/esm2022/calendar/services/calendar-range-strategy.service.mjs +99 -0
  151. package/esm2022/calendar/services/calendar-signals.service.mjs +47 -0
  152. package/esm2022/calendar/services/public-api.mjs +2 -0
  153. package/esm2022/calendar/types/calendar-view.type.mjs +2 -0
  154. package/esm2022/calendar/types/public-api.mjs +2 -0
  155. package/esm2022/calendar/upd-calendar.module.mjs +52 -0
  156. package/esm2022/calendar/updevs-components-calendar.mjs +5 -0
  157. package/esm2022/card/card.component.mjs +136 -0
  158. package/esm2022/card/directives/card-actions.directive.mjs +16 -0
  159. package/esm2022/card/directives/card-footer.directive.mjs +16 -0
  160. package/esm2022/card/directives/card-header.directive.mjs +16 -0
  161. package/esm2022/card/directives/card-image.directive.mjs +16 -0
  162. package/esm2022/card/directives/public-api.mjs +5 -0
  163. package/esm2022/card/index.mjs +2 -0
  164. package/esm2022/card/public-api.mjs +5 -0
  165. package/esm2022/card/types/card-state.type.mjs +2 -0
  166. package/esm2022/card/types/card-style.type.mjs +2 -0
  167. package/esm2022/card/types/hover-effect.type.mjs +2 -0
  168. package/esm2022/card/types/public-api.mjs +6 -0
  169. package/esm2022/card/types/ribbon-style.type.mjs +2 -0
  170. package/esm2022/card/types/status-position.type.mjs +2 -0
  171. package/esm2022/card/upd-card.module.mjs +50 -0
  172. package/esm2022/card/updevs-components-card.mjs +5 -0
  173. package/esm2022/drag-and-drop/drag-and-drop.component.mjs +134 -0
  174. package/esm2022/drag-and-drop/index.mjs +2 -0
  175. package/esm2022/drag-and-drop/models/drag-and-drop-column.config.mjs +2 -0
  176. package/esm2022/drag-and-drop/models/drag-and-drop-column.model.mjs +9 -0
  177. package/esm2022/drag-and-drop/models/drag-and-drop-item.mjs +2 -0
  178. package/esm2022/drag-and-drop/models/drag-and-drop-item.model.mjs +14 -0
  179. package/esm2022/drag-and-drop/models/drag-and-drop.config.mjs +2 -0
  180. package/esm2022/drag-and-drop/models/public-api.mjs +5 -0
  181. package/esm2022/drag-and-drop/public-api.mjs +4 -0
  182. package/esm2022/drag-and-drop/upd-drag-and-drop.module.mjs +28 -0
  183. package/esm2022/drag-and-drop/updevs-components-drag-and-drop.mjs +5 -0
  184. package/esm2022/dropdown/dropdown.component.mjs +203 -0
  185. package/esm2022/dropdown/index.mjs +2 -0
  186. package/esm2022/dropdown/models/dropdown-action-clicked.model.mjs +2 -0
  187. package/esm2022/dropdown/models/dropdown-item.mjs +2 -0
  188. package/esm2022/dropdown/models/dropdown-item.type.mjs +2 -0
  189. package/esm2022/dropdown/models/public-api.mjs +5 -0
  190. package/esm2022/dropdown/models/toolbar.type.mjs +2 -0
  191. package/esm2022/dropdown/public-api.mjs +4 -0
  192. package/esm2022/dropdown/upd-dropdown.module.mjs +40 -0
  193. package/esm2022/dropdown/updevs-components-dropdown.mjs +5 -0
  194. package/esm2022/form/components/dynamic-field/dynamic-field.component.mjs +180 -0
  195. package/esm2022/form/form.component.mjs +180 -0
  196. package/esm2022/form/index.mjs +2 -0
  197. package/esm2022/form/models/attachment-rule.model.mjs +2 -0
  198. package/esm2022/form/models/button-field.model.mjs +2 -0
  199. package/esm2022/form/models/button-group-field.model.mjs +2 -0
  200. package/esm2022/form/models/checkbox-field.model.mjs +2 -0
  201. package/esm2022/form/models/checkbox-group-field.model.mjs +2 -0
  202. package/esm2022/form/models/dynamic-field.model.mjs +2 -0
  203. package/esm2022/form/models/enums/attachment-type.enum.mjs +15 -0
  204. package/esm2022/form/models/enums/dynamic-field.type.mjs +17 -0
  205. package/esm2022/form/models/enums/public-api.mjs +3 -0
  206. package/esm2022/form/models/file-upload-field.model.mjs +2 -0
  207. package/esm2022/form/models/form-config.mjs +2 -0
  208. package/esm2022/form/models/form-row.model.mjs +2 -0
  209. package/esm2022/form/models/form-update-on.type.mjs +2 -0
  210. package/esm2022/form/models/input-field.model.mjs +2 -0
  211. package/esm2022/form/models/masked-input-field.model.mjs +2 -0
  212. package/esm2022/form/models/public-api.mjs +19 -0
  213. package/esm2022/form/models/radio-field.model.mjs +2 -0
  214. package/esm2022/form/models/radio-group-field.model.mjs +2 -0
  215. package/esm2022/form/models/select-field.model.mjs +2 -0
  216. package/esm2022/form/models/single-select-field.model.mjs +2 -0
  217. package/esm2022/form/models/textarea-field.model.mjs +2 -0
  218. package/esm2022/form/models/validator-config.mjs +2 -0
  219. package/esm2022/form/public-api.mjs +4 -0
  220. package/esm2022/form/tools/errors-helper.mjs +54 -0
  221. package/esm2022/form/upd-form.module.mjs +84 -0
  222. package/esm2022/form/updevs-components-form.mjs +5 -0
  223. package/esm2022/form-controls/abstractions/base-control.mjs +99 -0
  224. package/esm2022/form-controls/abstractions/index.mjs +2 -0
  225. package/esm2022/form-controls/abstractions/public-api.mjs +2 -0
  226. package/esm2022/form-controls/abstractions/updevs-components-form-controls-abstractions.mjs +5 -0
  227. package/esm2022/form-controls/checkbox/checkbox.component.mjs +63 -0
  228. package/esm2022/form-controls/checkbox/index.mjs +2 -0
  229. package/esm2022/form-controls/checkbox/public-api.mjs +3 -0
  230. package/esm2022/form-controls/checkbox/upd-checkbox.module.mjs +32 -0
  231. package/esm2022/form-controls/checkbox/updevs-components-form-controls-checkbox.mjs +5 -0
  232. package/esm2022/form-controls/date-picker/date-picker.component.mjs +132 -0
  233. package/esm2022/form-controls/date-picker/index.mjs +2 -0
  234. package/esm2022/form-controls/date-picker/public-api.mjs +3 -0
  235. package/esm2022/form-controls/date-picker/upd-date-picker.module.mjs +40 -0
  236. package/esm2022/form-controls/date-picker/updevs-components-form-controls-date-picker.mjs +5 -0
  237. package/esm2022/form-controls/file-upload/assets/i18n/en.json +15 -0
  238. package/esm2022/form-controls/file-upload/assets/i18n/pt.json +15 -0
  239. package/esm2022/form-controls/file-upload/file-upload-changed.event.mjs +2 -0
  240. package/esm2022/form-controls/file-upload/file-upload.component.mjs +177 -0
  241. package/esm2022/form-controls/file-upload/index.mjs +2 -0
  242. package/esm2022/form-controls/file-upload/public-api.mjs +4 -0
  243. package/esm2022/form-controls/file-upload/upd-file-upload.module.mjs +48 -0
  244. package/esm2022/form-controls/file-upload/updevs-components-form-controls-file-upload.mjs +5 -0
  245. package/esm2022/form-controls/input/directives/input-append.directive.mjs +16 -0
  246. package/esm2022/form-controls/input/directives/input-prepend.directive.mjs +16 -0
  247. package/esm2022/form-controls/input/directives/public-api.mjs +3 -0
  248. package/esm2022/form-controls/input/index.mjs +2 -0
  249. package/esm2022/form-controls/input/input.component.mjs +205 -0
  250. package/esm2022/form-controls/input/public-api.mjs +5 -0
  251. package/esm2022/form-controls/input/types/input.type.mjs +2 -0
  252. package/esm2022/form-controls/input/types/loader-position.type.mjs +2 -0
  253. package/esm2022/form-controls/input/types/public-api.mjs +3 -0
  254. package/esm2022/form-controls/input/upd-input.module.mjs +46 -0
  255. package/esm2022/form-controls/input/updevs-components-form-controls-input.mjs +5 -0
  256. package/esm2022/form-controls/radio/index.mjs +2 -0
  257. package/esm2022/form-controls/radio/public-api.mjs +3 -0
  258. package/esm2022/form-controls/radio/radio.component.mjs +62 -0
  259. package/esm2022/form-controls/radio/upd-radio.module.mjs +32 -0
  260. package/esm2022/form-controls/radio/updevs-components-form-controls-radio.mjs +5 -0
  261. package/esm2022/form-controls/select/components/multiple/select-multiple.component.mjs +109 -0
  262. package/esm2022/form-controls/select/components/single/select.component.mjs +179 -0
  263. package/esm2022/form-controls/select/index.mjs +2 -0
  264. package/esm2022/form-controls/select/models/abstractions/base-select.component.mjs +246 -0
  265. package/esm2022/form-controls/select/models/defaults.mjs +8 -0
  266. package/esm2022/form-controls/select/models/public-api.mjs +4 -0
  267. package/esm2022/form-controls/select/models/select-item.mjs +2 -0
  268. package/esm2022/form-controls/select/models/types.mjs +2 -0
  269. package/esm2022/form-controls/select/public-api.mjs +5 -0
  270. package/esm2022/form-controls/select/upd-select.module.mjs +57 -0
  271. package/esm2022/form-controls/select/updevs-components-form-controls-select.mjs +5 -0
  272. package/esm2022/form-controls/textarea/index.mjs +2 -0
  273. package/esm2022/form-controls/textarea/public-api.mjs +3 -0
  274. package/esm2022/form-controls/textarea/textarea.component.mjs +51 -0
  275. package/esm2022/form-controls/textarea/upd-textarea.module.mjs +24 -0
  276. package/esm2022/form-controls/textarea/updevs-components-form-controls-textarea.mjs +5 -0
  277. package/esm2022/form-controls/time-picker/index.mjs +2 -0
  278. package/esm2022/form-controls/time-picker/public-api.mjs +4 -0
  279. package/esm2022/form-controls/time-picker/time-picker.component.mjs +130 -0
  280. package/esm2022/form-controls/time-picker/time-selector/time-selector.component.mjs +124 -0
  281. package/esm2022/form-controls/time-picker/upd-time-picker.module.mjs +61 -0
  282. package/esm2022/form-controls/time-picker/updevs-components-form-controls-time-picker.mjs +5 -0
  283. package/esm2022/index.mjs +2 -0
  284. package/esm2022/layout/abstractions/base-page.component.mjs +23 -0
  285. package/esm2022/layout/abstractions/base.layout.mjs +31 -0
  286. package/esm2022/layout/abstractions/public-api.mjs +2 -0
  287. package/esm2022/layout/assets/i18n/en.json +27 -0
  288. package/esm2022/layout/assets/i18n/pt.json +27 -0
  289. package/esm2022/layout/index.mjs +2 -0
  290. package/esm2022/layout/layouts/blank-layout/blank-layout.component.mjs +22 -0
  291. package/esm2022/layout/layouts/blank-layout/blank-layout.module.mjs +50 -0
  292. package/esm2022/layout/layouts/public-api.mjs +5 -0
  293. package/esm2022/layout/layouts/vertical-sidebar-layout/vertical-sidebar-layout.component.mjs +17 -0
  294. package/esm2022/layout/layouts/vertical-sidebar-layout/vertical-sidebar-layout.module.mjs +78 -0
  295. package/esm2022/layout/models/login-page-config.model.mjs +20 -0
  296. package/esm2022/layout/models/login-page.config.mjs +2 -0
  297. package/esm2022/layout/models/public-api.mjs +3 -0
  298. package/esm2022/layout/models/security-layout-config.model.mjs +10 -0
  299. package/esm2022/layout/models/security-layout.config.mjs +2 -0
  300. package/esm2022/layout/models/upd-layout-config.model.mjs +24 -0
  301. package/esm2022/layout/models/upd-layout.config.mjs +2 -0
  302. package/esm2022/layout/pages/auth-flow/auth-flow-routing.module.mjs +28 -0
  303. package/esm2022/layout/pages/auth-flow/auth-flow.module.mjs +73 -0
  304. package/esm2022/layout/pages/auth-flow/logged-out/logged-out.component.mjs +11 -0
  305. package/esm2022/layout/pages/auth-flow/login/login.component.mjs +110 -0
  306. package/esm2022/layout/pages/auth-flow/oauth-callback/oauth-callback.component.mjs +11 -0
  307. package/esm2022/layout/pages/auth-flow/public-api.mjs +6 -0
  308. package/esm2022/layout/pages/public-api.mjs +2 -0
  309. package/esm2022/layout/partials/footer/footer.component.mjs +52 -0
  310. package/esm2022/layout/partials/footer/footer.module.mjs +28 -0
  311. package/esm2022/layout/partials/footer/public-api.mjs +3 -0
  312. package/esm2022/layout/partials/header/header-style.type.mjs +2 -0
  313. package/esm2022/layout/partials/header/header.component.mjs +140 -0
  314. package/esm2022/layout/partials/header/header.module.mjs +40 -0
  315. package/esm2022/layout/partials/header/public-api.mjs +4 -0
  316. package/esm2022/layout/partials/page-header/page-header.component.mjs +15 -0
  317. package/esm2022/layout/partials/page-header/public-api.mjs +2 -0
  318. package/esm2022/layout/partials/public-api.mjs +5 -0
  319. package/esm2022/layout/partials/sidebar/public-api.mjs +2 -0
  320. package/esm2022/layout/partials/sidebar/sidebar.component.mjs +234 -0
  321. package/esm2022/layout/public-api.mjs +8 -0
  322. package/esm2022/layout/services/public-api.mjs +2 -0
  323. package/esm2022/layout/services/upd-layout-config.service.mjs +21 -0
  324. package/esm2022/layout/tools/layout.constants.mjs +15 -0
  325. package/esm2022/layout/upd-layout.module.mjs +47 -0
  326. package/esm2022/layout/updevs-components-layout.mjs +5 -0
  327. package/esm2022/lib/index.mjs +2 -0
  328. package/esm2022/lib/models/public-api.mjs +2 -0
  329. package/esm2022/lib/models/row-column-size.mjs +2 -0
  330. package/esm2022/lib/public-api.mjs +5 -0
  331. package/esm2022/lib/tools/column-size.helper.mjs +12 -0
  332. package/esm2022/lib/tools/public-api.mjs +2 -0
  333. package/esm2022/lib/types/component-size.type.mjs +2 -0
  334. package/esm2022/lib/types/horizontal-vertical.type.mjs +2 -0
  335. package/esm2022/lib/types/public-api.mjs +4 -0
  336. package/esm2022/lib/types/validation-status.type.mjs +2 -0
  337. package/esm2022/lib/upd-components.module.mjs +14 -0
  338. package/esm2022/link/index.mjs +2 -0
  339. package/esm2022/link/link.component.mjs +51 -0
  340. package/esm2022/link/public-api.mjs +4 -0
  341. package/esm2022/link/target.type.mjs +2 -0
  342. package/esm2022/link/upd-link.module.mjs +24 -0
  343. package/esm2022/link/updevs-components-link.mjs +5 -0
  344. package/esm2022/list/index.mjs +2 -0
  345. package/esm2022/list/list.component.mjs +114 -0
  346. package/esm2022/list/models/badge-position.type.mjs +2 -0
  347. package/esm2022/list/models/list-item.mjs +2 -0
  348. package/esm2022/list/models/list-item.model.mjs +20 -0
  349. package/esm2022/list/models/public-api.mjs +3 -0
  350. package/esm2022/list/public-api.mjs +4 -0
  351. package/esm2022/list/upd-list.module.mjs +44 -0
  352. package/esm2022/list/updevs-components-list.mjs +5 -0
  353. package/esm2022/modal/components/modal-container/modal-container.component.mjs +216 -0
  354. package/esm2022/modal/index.mjs +2 -0
  355. package/esm2022/modal/models/base.modal.mjs +14 -0
  356. package/esm2022/modal/models/modal-config.model.mjs +20 -0
  357. package/esm2022/modal/models/modal-ref.mjs +2 -0
  358. package/esm2022/modal/models/modal.config.mjs +2 -0
  359. package/esm2022/modal/models/public-api.mjs +4 -0
  360. package/esm2022/modal/public-api.mjs +4 -0
  361. package/esm2022/modal/services/modal-alert.service.mjs +99 -0
  362. package/esm2022/modal/services/modal.service.mjs +30 -0
  363. package/esm2022/modal/services/public-api.mjs +3 -0
  364. package/esm2022/modal/types/modal-footer-style.type.mjs +2 -0
  365. package/esm2022/modal/types/modal-size.type.mjs +2 -0
  366. package/esm2022/modal/upd-modal.module.mjs +90 -0
  367. package/esm2022/modal/updevs-components-modal.mjs +5 -0
  368. package/esm2022/paginator/index.mjs +2 -0
  369. package/esm2022/paginator/paginator.component.mjs +66 -0
  370. package/esm2022/paginator/public-api.mjs +3 -0
  371. package/esm2022/paginator/upd-paginator.module.mjs +47 -0
  372. package/esm2022/paginator/updevs-components-paginator.mjs +5 -0
  373. package/esm2022/popover/index.mjs +2 -0
  374. package/esm2022/popover/popover.component.mjs +65 -0
  375. package/esm2022/popover/popover.directive.mjs +120 -0
  376. package/esm2022/popover/public-api.mjs +4 -0
  377. package/esm2022/popover/upd-popover.module.mjs +29 -0
  378. package/esm2022/popover/updevs-components-popover.mjs +5 -0
  379. package/esm2022/pricing/index.mjs +2 -0
  380. package/esm2022/pricing/models/price-item-feature.model.mjs +2 -0
  381. package/esm2022/pricing/models/price-item-features-group.model.mjs +2 -0
  382. package/esm2022/pricing/models/price-item-tag.model.mjs +2 -0
  383. package/esm2022/pricing/models/price-item.model.mjs +2 -0
  384. package/esm2022/pricing/models/public-api.mjs +5 -0
  385. package/esm2022/pricing/pricing-cards/pricing-cards.component.mjs +27 -0
  386. package/esm2022/pricing/pricing-table/pricing-table.component.mjs +57 -0
  387. package/esm2022/pricing/public-api.mjs +5 -0
  388. package/esm2022/pricing/upd-pricing.module.mjs +49 -0
  389. package/esm2022/pricing/updevs-components-pricing.mjs +5 -0
  390. package/esm2022/public-api.mjs +2 -0
  391. package/esm2022/table/abstractions/base-column.model.mjs +52 -0
  392. package/esm2022/table/abstractions/base.column.mjs +84 -0
  393. package/esm2022/table/abstractions/filters-operands.service.mjs +3 -0
  394. package/esm2022/table/abstractions/public-api.mjs +3 -0
  395. package/esm2022/table/components/columns/boolean-column/boolean-column.component.mjs +26 -0
  396. package/esm2022/table/components/columns/date-time-column/date-time-column.component.mjs +13 -0
  397. package/esm2022/table/components/columns/number-column/number-column.component.mjs +13 -0
  398. package/esm2022/table/components/columns/text-column/text-column.component.mjs +31 -0
  399. package/esm2022/table/components/columns-manager/columns-manager.component.mjs +36 -0
  400. package/esm2022/table/components/filter-row/filter-row.component.mjs +114 -0
  401. package/esm2022/table/components/save-search/save-search.component.mjs +72 -0
  402. package/esm2022/table/components/search-section/search-section.component.mjs +93 -0
  403. package/esm2022/table/directives/public-api.mjs +2 -0
  404. package/esm2022/table/directives/table-column.directive.mjs +52 -0
  405. package/esm2022/table/index.mjs +2 -0
  406. package/esm2022/table/models/columns/boolean-column.model.mjs +22 -0
  407. package/esm2022/table/models/columns/date-time-column.model.mjs +16 -0
  408. package/esm2022/table/models/columns/guid-column.model.mjs +13 -0
  409. package/esm2022/table/models/columns/image-column.model.mjs +11 -0
  410. package/esm2022/table/models/columns/number-column.model.mjs +17 -0
  411. package/esm2022/table/models/columns/public-api.mjs +7 -0
  412. package/esm2022/table/models/columns/text-column.model.mjs +11 -0
  413. package/esm2022/table/models/enums/column-type.enum.mjs +15 -0
  414. package/esm2022/table/models/enums/public-api.mjs +2 -0
  415. package/esm2022/table/models/filter-item.model.mjs +2 -0
  416. package/esm2022/table/models/filter-operand.config.mjs +2 -0
  417. package/esm2022/table/models/operands-lists/boolean-filter-operands-list.model.mjs +25 -0
  418. package/esm2022/table/models/operands-lists/date-filter-operands-list.model.mjs +25 -0
  419. package/esm2022/table/models/operands-lists/date-or-number-operands-list.config.mjs +31 -0
  420. package/esm2022/table/models/operands-lists/filter-operands-list.config.mjs +31 -0
  421. package/esm2022/table/models/operands-lists/guid-filter-operands-list.model.mjs +16 -0
  422. package/esm2022/table/models/operands-lists/number-filter-operands-list.model.mjs +25 -0
  423. package/esm2022/table/models/operands-lists/string-filter-operands-list.model.mjs +45 -0
  424. package/esm2022/table/models/public-api.mjs +5 -0
  425. package/esm2022/table/models/saved-view.model.mjs +2 -0
  426. package/esm2022/table/models/table-config.model.mjs +29 -0
  427. package/esm2022/table/models/table.config.mjs +2 -0
  428. package/esm2022/table/models/upd-table-config.model.mjs +9 -0
  429. package/esm2022/table/models/upd-table.config.mjs +2 -0
  430. package/esm2022/table/public-api.mjs +6 -0
  431. package/esm2022/table/services/default-filters-operands.service.mjs +60 -0
  432. package/esm2022/table/services/storages/saved-views.storage.mjs +56 -0
  433. package/esm2022/table/services/stores/filters-operands.store.mjs +19 -0
  434. package/esm2022/table/services/upd-table-config.service.mjs +18 -0
  435. package/esm2022/table/table.component.mjs +439 -0
  436. package/esm2022/table/tools/filters.tools.mjs +48 -0
  437. package/esm2022/table/tools/table.constants.mjs +15 -0
  438. package/esm2022/table/upd-table.module.mjs +150 -0
  439. package/esm2022/table/updevs-components-table.mjs +5 -0
  440. package/esm2022/updevs-components.mjs +5 -0
  441. package/fesm2022/updevs-components-badge.mjs +89 -0
  442. package/fesm2022/updevs-components-badge.mjs.map +1 -0
  443. package/fesm2022/updevs-components-button.mjs +193 -0
  444. package/fesm2022/updevs-components-button.mjs.map +1 -0
  445. package/fesm2022/updevs-components-calendar.mjs +582 -0
  446. package/fesm2022/updevs-components-calendar.mjs.map +1 -0
  447. package/fesm2022/updevs-components-card.mjs +238 -0
  448. package/fesm2022/updevs-components-card.mjs.map +1 -0
  449. package/fesm2022/updevs-components-drag-and-drop.mjs +185 -0
  450. package/fesm2022/updevs-components-drag-and-drop.mjs.map +1 -0
  451. package/fesm2022/updevs-components-dropdown.mjs +247 -0
  452. package/fesm2022/updevs-components-dropdown.mjs.map +1 -0
  453. package/fesm2022/updevs-components-form-controls-abstractions.mjs +106 -0
  454. package/fesm2022/updevs-components-form-controls-abstractions.mjs.map +1 -0
  455. package/fesm2022/updevs-components-form-controls-checkbox.mjs +99 -0
  456. package/fesm2022/updevs-components-form-controls-checkbox.mjs.map +1 -0
  457. package/fesm2022/updevs-components-form-controls-date-picker.mjs +175 -0
  458. package/fesm2022/updevs-components-form-controls-date-picker.mjs.map +1 -0
  459. package/fesm2022/updevs-components-form-controls-file-upload.mjs +272 -0
  460. package/fesm2022/updevs-components-form-controls-file-upload.mjs.map +1 -0
  461. package/fesm2022/updevs-components-form-controls-input.mjs +279 -0
  462. package/fesm2022/updevs-components-form-controls-input.mjs.map +1 -0
  463. package/fesm2022/updevs-components-form-controls-radio.mjs +98 -0
  464. package/fesm2022/updevs-components-form-controls-radio.mjs.map +1 -0
  465. package/fesm2022/updevs-components-form-controls-select.mjs +588 -0
  466. package/fesm2022/updevs-components-form-controls-select.mjs.map +1 -0
  467. package/fesm2022/updevs-components-form-controls-textarea.mjs +79 -0
  468. package/fesm2022/updevs-components-form-controls-textarea.mjs.map +1 -0
  469. package/fesm2022/updevs-components-form-controls-time-picker.mjs +345 -0
  470. package/fesm2022/updevs-components-form-controls-time-picker.mjs.map +1 -0
  471. package/fesm2022/updevs-components-form.mjs +562 -0
  472. package/fesm2022/updevs-components-form.mjs.map +1 -0
  473. package/fesm2022/updevs-components-layout.mjs +1052 -0
  474. package/fesm2022/updevs-components-layout.mjs.map +1 -0
  475. package/fesm2022/updevs-components-link.mjs +79 -0
  476. package/fesm2022/updevs-components-link.mjs.map +1 -0
  477. package/fesm2022/updevs-components-list.mjs +212 -0
  478. package/fesm2022/updevs-components-list.mjs.map +1 -0
  479. package/fesm2022/updevs-components-modal.mjs +504 -0
  480. package/fesm2022/updevs-components-modal.mjs.map +1 -0
  481. package/fesm2022/updevs-components-paginator.mjs +160 -0
  482. package/fesm2022/updevs-components-paginator.mjs.map +1 -0
  483. package/fesm2022/updevs-components-popover.mjs +214 -0
  484. package/fesm2022/updevs-components-popover.mjs.map +1 -0
  485. package/fesm2022/updevs-components-pricing.mjs +130 -0
  486. package/fesm2022/updevs-components-pricing.mjs.map +1 -0
  487. package/fesm2022/updevs-components-table.mjs +1754 -0
  488. package/fesm2022/updevs-components-table.mjs.map +1 -0
  489. package/fesm2022/updevs-components.mjs +33 -0
  490. package/fesm2022/updevs-components.mjs.map +1 -0
  491. package/form/components/dynamic-field/dynamic-field.component.d.ts +65 -0
  492. package/form/form.component.d.ts +64 -0
  493. package/form/models/attachment-rule.model.d.ts +35 -0
  494. package/form/models/button-field.model.d.ts +5 -0
  495. package/form/models/button-group-field.model.d.ts +5 -0
  496. package/form/models/checkbox-field.model.d.ts +4 -0
  497. package/form/models/checkbox-group-field.model.d.ts +6 -0
  498. package/form/models/dynamic-field.model.d.ts +56 -0
  499. package/form/models/enums/attachment-type.enum.d.ts +13 -0
  500. package/form/models/enums/dynamic-field.type.d.ts +15 -0
  501. package/form/models/enums/public-api.d.ts +2 -0
  502. package/form/models/file-upload-field.model.d.ts +16 -0
  503. package/form/models/form-config.d.ts +2 -0
  504. package/form/models/form-row.model.d.ts +10 -0
  505. package/form/models/form-update-on.type.d.ts +1 -0
  506. package/form/models/input-field.model.d.ts +9 -0
  507. package/form/models/masked-input-field.model.d.ts +6 -0
  508. package/form/models/public-api.d.ts +18 -0
  509. package/form/models/radio-field.model.d.ts +4 -0
  510. package/form/models/radio-group-field.model.d.ts +6 -0
  511. package/form/models/select-field.model.d.ts +29 -0
  512. package/form/models/single-select-field.model.d.ts +4 -0
  513. package/form/models/textarea-field.model.d.ts +10 -0
  514. package/form/tools/errors-helper.d.ts +11 -0
  515. package/form/upd-form.module.d.ts +22 -0
  516. package/form-controls/abstractions/base-control.d.ts +47 -0
  517. package/form-controls/abstractions/index.d.ts +2 -0
  518. package/form-controls/abstractions/public-api.d.ts +2 -0
  519. package/form-controls/checkbox/checkbox.component.d.ts +21 -0
  520. package/form-controls/checkbox/public-api.d.ts +2 -0
  521. package/form-controls/checkbox/upd-checkbox.module.d.ts +10 -0
  522. package/form-controls/date-picker/date-picker.component.d.ts +66 -0
  523. package/form-controls/date-picker/upd-date-picker.module.d.ts +12 -0
  524. package/form-controls/file-upload/file-upload-changed.event.d.ts +4 -0
  525. package/form-controls/file-upload/file-upload.component.d.ts +48 -0
  526. package/form-controls/file-upload/public-api.d.ts +3 -0
  527. package/form-controls/file-upload/upd-file-upload.module.d.ts +14 -0
  528. package/form-controls/input/directives/input-append.directive.d.ts +7 -0
  529. package/form-controls/input/directives/input-prepend.directive.d.ts +7 -0
  530. package/form-controls/input/input.component.d.ts +69 -0
  531. package/form-controls/input/upd-input.module.d.ts +13 -0
  532. package/form-controls/radio/radio.component.d.ts +20 -0
  533. package/form-controls/radio/upd-radio.module.d.ts +10 -0
  534. package/form-controls/select/components/multiple/select-multiple.component.d.ts +31 -0
  535. package/form-controls/select/components/single/select.component.d.ts +35 -0
  536. package/form-controls/select/models/abstractions/base-select.component.d.ts +88 -0
  537. package/form-controls/select/models/defaults.d.ts +8 -0
  538. package/form-controls/select/models/public-api.d.ts +3 -0
  539. package/form-controls/select/models/select-item.d.ts +25 -0
  540. package/form-controls/select/models/types.d.ts +4 -0
  541. package/form-controls/select/upd-select.module.d.ts +16 -0
  542. package/form-controls/textarea/textarea.component.d.ts +21 -0
  543. package/form-controls/textarea/upd-textarea.module.d.ts +8 -0
  544. package/form-controls/time-picker/time-picker.component.d.ts +78 -0
  545. package/form-controls/time-picker/time-selector/time-selector.component.d.ts +69 -0
  546. package/form-controls/time-picker/upd-time-picker.module.d.ts +17 -0
  547. package/index.d.ts +2 -0
  548. package/layout/abstractions/base-page.component.d.ts +12 -0
  549. package/layout/abstractions/base.layout.d.ts +15 -0
  550. package/layout/layouts/blank-layout/blank-layout.component.d.ts +9 -0
  551. package/layout/layouts/blank-layout/blank-layout.module.d.ts +15 -0
  552. package/layout/layouts/vertical-sidebar-layout/vertical-sidebar-layout.component.d.ts +6 -0
  553. package/layout/layouts/vertical-sidebar-layout/vertical-sidebar-layout.module.d.ts +21 -0
  554. package/layout/models/login-page-config.model.d.ts +46 -0
  555. package/layout/models/login-page.config.d.ts +44 -0
  556. package/layout/models/security-layout-config.model.d.ts +12 -0
  557. package/layout/models/security-layout.config.d.ts +10 -0
  558. package/layout/models/upd-layout-config.model.d.ts +48 -0
  559. package/layout/models/upd-layout.config.d.ts +46 -0
  560. package/layout/pages/auth-flow/auth-flow-routing.module.d.ts +12 -0
  561. package/layout/pages/auth-flow/auth-flow.module.d.ts +20 -0
  562. package/layout/pages/auth-flow/logged-out/logged-out.component.d.ts +5 -0
  563. package/layout/pages/auth-flow/login/login.component.d.ts +26 -0
  564. package/layout/pages/auth-flow/oauth-callback/oauth-callback.component.d.ts +5 -0
  565. package/layout/partials/footer/footer.component.d.ts +34 -0
  566. package/layout/partials/footer/footer.module.d.ts +9 -0
  567. package/layout/partials/footer/public-api.d.ts +2 -0
  568. package/layout/partials/header/header.component.d.ts +51 -0
  569. package/layout/partials/header/header.module.d.ts +12 -0
  570. package/layout/partials/header/public-api.d.ts +3 -0
  571. package/layout/partials/page-header/page-header.component.d.ts +7 -0
  572. package/layout/partials/sidebar/sidebar.component.d.ts +46 -0
  573. package/layout/services/upd-layout-config.service.d.ts +15 -0
  574. package/layout/tools/layout.constants.d.ts +15 -0
  575. package/layout/upd-layout.module.d.ts +19 -0
  576. package/lib/index.d.ts +2 -0
  577. package/lib/models/public-api.d.ts +2 -0
  578. package/lib/models/row-column-size.d.ts +23 -0
  579. package/lib/public-api.d.ts +5 -0
  580. package/lib/tools/column-size.helper.d.ts +6 -0
  581. package/lib/tools/public-api.d.ts +2 -0
  582. package/lib/types/component-size.type.d.ts +2 -0
  583. package/lib/types/horizontal-vertical.type.d.ts +2 -0
  584. package/lib/types/public-api.d.ts +4 -0
  585. package/lib/types/validation-status.type.d.ts +2 -0
  586. package/lib/upd-components.module.d.ts +7 -0
  587. package/link/link.component.d.ts +22 -0
  588. package/link/upd-link.module.d.ts +8 -0
  589. package/list/list.component.d.ts +46 -0
  590. package/list/models/list-item.d.ts +21 -0
  591. package/list/models/list-item.model.d.ts +26 -0
  592. package/list/upd-list.module.d.ts +13 -0
  593. package/modal/components/modal-container/modal-container.component.d.ts +74 -0
  594. package/modal/models/base.modal.d.ts +8 -0
  595. package/modal/models/modal-config.model.d.ts +32 -0
  596. package/modal/models/modal-ref.d.ts +6 -0
  597. package/modal/models/modal.config.d.ts +30 -0
  598. package/modal/services/modal-alert.service.d.ts +22 -0
  599. package/modal/services/modal.service.d.ts +12 -0
  600. package/modal/upd-modal.module.d.ts +18 -0
  601. package/package.json +175 -20
  602. package/paginator/paginator.component.d.ts +42 -0
  603. package/paginator/upd-paginator.module.d.ts +14 -0
  604. package/popover/popover.component.d.ts +22 -0
  605. package/popover/popover.directive.d.ts +33 -0
  606. package/popover/upd-popover.module.d.ts +9 -0
  607. package/pricing/models/price-item-feature.model.d.ts +7 -0
  608. package/pricing/models/price-item-features-group.model.d.ts +5 -0
  609. package/pricing/models/price-item-tag.model.d.ts +6 -0
  610. package/pricing/models/price-item.model.d.ts +22 -0
  611. package/pricing/models/public-api.d.ts +4 -0
  612. package/pricing/pricing-cards/pricing-cards.component.d.ts +12 -0
  613. package/pricing/pricing-table/pricing-table.component.d.ts +30 -0
  614. package/pricing/public-api.d.ts +4 -0
  615. package/pricing/upd-pricing.module.d.ts +14 -0
  616. package/public-api.d.ts +2 -0
  617. package/table/abstractions/base-column.model.d.ts +31 -0
  618. package/table/abstractions/base.column.d.ts +26 -0
  619. package/table/abstractions/filters-operands.service.d.ts +8 -0
  620. package/table/components/columns/boolean-column/boolean-column.component.d.ts +9 -0
  621. package/table/components/columns/date-time-column/date-time-column.component.d.ts +7 -0
  622. package/table/components/columns/number-column/number-column.component.d.ts +7 -0
  623. package/table/components/columns/text-column/text-column.component.d.ts +9 -0
  624. package/table/components/columns-manager/columns-manager.component.d.ts +15 -0
  625. package/table/components/filter-row/filter-row.component.d.ts +40 -0
  626. package/table/components/save-search/save-search.component.d.ts +17 -0
  627. package/table/components/search-section/search-section.component.d.ts +36 -0
  628. package/table/directives/table-column.directive.d.ts +14 -0
  629. package/table/models/columns/boolean-column.model.d.ts +15 -0
  630. package/table/models/columns/date-time-column.model.d.ts +8 -0
  631. package/table/models/columns/guid-column.model.d.ts +4 -0
  632. package/table/models/columns/image-column.model.d.ts +6 -0
  633. package/table/models/columns/number-column.model.d.ts +8 -0
  634. package/table/models/columns/text-column.model.d.ts +6 -0
  635. package/table/models/enums/column-type.enum.d.ts +13 -0
  636. package/table/models/filter-item.model.d.ts +6 -0
  637. package/table/models/filter-operand.config.d.ts +9 -0
  638. package/table/models/operands-lists/boolean-filter-operands-list.model.d.ts +6 -0
  639. package/table/models/operands-lists/date-filter-operands-list.model.d.ts +6 -0
  640. package/table/models/operands-lists/date-or-number-operands-list.config.d.ts +5 -0
  641. package/table/models/operands-lists/filter-operands-list.config.d.ts +5 -0
  642. package/table/models/operands-lists/guid-filter-operands-list.model.d.ts +6 -0
  643. package/table/models/operands-lists/number-filter-operands-list.model.d.ts +6 -0
  644. package/table/models/operands-lists/string-filter-operands-list.model.d.ts +6 -0
  645. package/table/models/saved-view.model.d.ts +11 -0
  646. package/table/models/table-config.model.d.ts +33 -0
  647. package/table/models/table.config.d.ts +31 -0
  648. package/table/models/upd-table-config.model.d.ts +6 -0
  649. package/table/models/upd-table.config.d.ts +6 -0
  650. package/table/services/default-filters-operands.service.d.ts +17 -0
  651. package/table/services/storages/saved-views.storage.d.ts +19 -0
  652. package/table/services/stores/filters-operands.store.d.ts +11 -0
  653. package/table/services/upd-table-config.service.d.ts +12 -0
  654. package/table/table.component.d.ts +81 -0
  655. package/table/tools/filters.tools.d.ts +9 -0
  656. package/table/tools/table.constants.d.ts +15 -0
  657. package/table/upd-table.module.d.ts +40 -0
  658. package/.eslintrc.json +0 -39
  659. package/badge/index.ts +0 -1
  660. package/badge/ng-package.json +0 -6
  661. package/badge/src/badge-config.model.ts +0 -21
  662. package/badge/src/badge.component.html +0 -5
  663. package/badge/src/badge.component.scss +0 -1
  664. package/badge/src/badge.component.spec.ts +0 -21
  665. package/badge/src/badge.component.ts +0 -54
  666. package/badge/src/badge.config.ts +0 -13
  667. package/badge/src/upd-badge.module.ts +0 -17
  668. package/button/index.ts +0 -1
  669. package/button/ng-package.json +0 -6
  670. package/button/src/button.component.html +0 -45
  671. package/button/src/button.component.scss +0 -5
  672. package/button/src/button.component.spec.ts +0 -23
  673. package/button/src/button.component.ts +0 -176
  674. package/button/src/upd-button.module.ts +0 -21
  675. package/calendar/index.ts +0 -1
  676. package/calendar/ng-package.json +0 -6
  677. package/calendar/src/calendar.component.html +0 -34
  678. package/calendar/src/calendar.component.scss +0 -1
  679. package/calendar/src/calendar.component.spec.ts +0 -21
  680. package/calendar/src/calendar.component.ts +0 -290
  681. package/calendar/src/components/calendar-body/calendar-body.component.html +0 -75
  682. package/calendar/src/components/calendar-body/calendar-body.component.scss +0 -1
  683. package/calendar/src/components/calendar-body/calendar-body.component.spec.ts +0 -21
  684. package/calendar/src/components/calendar-body/calendar-body.component.ts +0 -665
  685. package/calendar/src/components/calendar-header/calendar-header.component.html +0 -27
  686. package/calendar/src/components/calendar-header/calendar-header.component.scss +0 -1
  687. package/calendar/src/components/calendar-header/calendar-header.component.spec.ts +0 -21
  688. package/calendar/src/components/calendar-header/calendar-header.component.ts +0 -175
  689. package/calendar/src/components/calendar-month-view/calendar-month-view.component.html +0 -19
  690. package/calendar/src/components/calendar-month-view/calendar-month-view.component.scss +0 -1
  691. package/calendar/src/components/calendar-month-view/calendar-month-view.component.spec.ts +0 -21
  692. package/calendar/src/components/calendar-month-view/calendar-month-view.component.ts +0 -540
  693. package/calendar/src/components/calendar-multi-year-view/calendar-multi-year-view.component.html +0 -1
  694. package/calendar/src/components/calendar-multi-year-view/calendar-multi-year-view.component.scss +0 -1
  695. package/calendar/src/components/calendar-multi-year-view/calendar-multi-year-view.component.spec.ts +0 -21
  696. package/calendar/src/components/calendar-multi-year-view/calendar-multi-year-view.component.ts +0 -19
  697. package/calendar/src/components/calendar-year-view/calendar-year-view.component.html +0 -1
  698. package/calendar/src/components/calendar-year-view/calendar-year-view.component.scss +0 -1
  699. package/calendar/src/components/calendar-year-view/calendar-year-view.component.spec.ts +0 -21
  700. package/calendar/src/components/calendar-year-view/calendar-year-view.component.ts +0 -17
  701. package/calendar/src/models/calendar-cell.model.ts +0 -22
  702. package/calendar/src/models/date-range.model.ts +0 -22
  703. package/calendar/src/models/public-api.ts +0 -2
  704. package/calendar/src/services/calendar-range-strategy.service.spec.ts +0 -16
  705. package/calendar/src/services/calendar-range-strategy.service.ts +0 -103
  706. package/calendar/src/services/calendar-signals.service.spec.ts +0 -16
  707. package/calendar/src/services/calendar-signals.service.ts +0 -45
  708. package/calendar/src/services/calendar.service.spec.ts +0 -16
  709. package/calendar/src/services/calendar.service.ts +0 -42
  710. package/calendar/src/tools/events-options.ts +0 -16
  711. package/calendar/src/tools/keyboard-tools.ts +0 -16
  712. package/calendar/src/tools/passive-listeners.ts +0 -36
  713. package/calendar/src/types/calendar-cell-class-function.type.ts +0 -4
  714. package/calendar/src/types/calendar-cell-css-classes.type.ts +0 -1
  715. package/calendar/src/types/modifier-key.type.ts +0 -1
  716. package/calendar/src/upd-calendar.module.ts +0 -48
  717. package/card/index.ts +0 -1
  718. package/card/ng-package.json +0 -6
  719. package/card/src/card.component.html +0 -105
  720. package/card/src/card.component.scss +0 -47
  721. package/card/src/card.component.spec.ts +0 -23
  722. package/card/src/card.component.ts +0 -112
  723. package/card/src/directives/card-actions.directive.spec.ts +0 -8
  724. package/card/src/directives/card-actions.directive.ts +0 -8
  725. package/card/src/directives/card-footer.directive.spec.ts +0 -8
  726. package/card/src/directives/card-footer.directive.ts +0 -8
  727. package/card/src/directives/card-header.directive.spec.ts +0 -8
  728. package/card/src/directives/card-header.directive.ts +0 -8
  729. package/card/src/directives/card-image.directive.spec.ts +0 -8
  730. package/card/src/directives/card-image.directive.ts +0 -8
  731. package/card/src/public-api.ts +0 -3
  732. package/card/src/upd-card.module.ts +0 -32
  733. package/drag-and-drop/index.ts +0 -1
  734. package/drag-and-drop/ng-package.json +0 -6
  735. package/drag-and-drop/src/drag-and-drop.component.html +0 -24
  736. package/drag-and-drop/src/drag-and-drop.component.scss +0 -4
  737. package/drag-and-drop/src/drag-and-drop.component.spec.ts +0 -22
  738. package/drag-and-drop/src/drag-and-drop.component.ts +0 -164
  739. package/drag-and-drop/src/models/drag-and-drop-column.config.ts +0 -10
  740. package/drag-and-drop/src/models/drag-and-drop-column.model.ts +0 -16
  741. package/drag-and-drop/src/models/drag-and-drop-item.model.ts +0 -21
  742. package/drag-and-drop/src/models/drag-and-drop-item.ts +0 -8
  743. package/drag-and-drop/src/models/drag-and-drop.config.ts +0 -7
  744. package/drag-and-drop/src/upd-drag-and-drop.module.ts +0 -19
  745. package/dropdown/index.ts +0 -1
  746. package/dropdown/ng-package.json +0 -6
  747. package/dropdown/src/dropdown.component.html +0 -70
  748. package/dropdown/src/dropdown.component.scss +0 -19
  749. package/dropdown/src/dropdown.component.spec.ts +0 -23
  750. package/dropdown/src/dropdown.component.ts +0 -233
  751. package/dropdown/src/models/dropdown-action-clicked.model.ts +0 -8
  752. package/dropdown/src/models/dropdown-item.ts +0 -26
  753. package/dropdown/src/upd-dropdown.module.ts +0 -25
  754. package/form/index.ts +0 -1
  755. package/form/ng-package.json +0 -6
  756. package/form/src/components/dynamic-field/dynamic-field.component.html +0 -83
  757. package/form/src/components/dynamic-field/dynamic-field.component.scss +0 -1
  758. package/form/src/components/dynamic-field/dynamic-field.component.spec.ts +0 -21
  759. package/form/src/components/dynamic-field/dynamic-field.component.ts +0 -102
  760. package/form/src/form.component.html +0 -26
  761. package/form/src/form.component.scss +0 -1
  762. package/form/src/form.component.spec.ts +0 -21
  763. package/form/src/form.component.ts +0 -110
  764. package/form/src/models/checkbox-field.model.ts +0 -5
  765. package/form/src/models/checkbox-group-field.model.ts +0 -8
  766. package/form/src/models/dynamic-field.model.ts +0 -32
  767. package/form/src/models/enums/dynamic-field.type.ts +0 -12
  768. package/form/src/models/enums/public-api.ts +0 -1
  769. package/form/src/models/form-config.ts +0 -3
  770. package/form/src/models/form-row.model.ts +0 -10
  771. package/form/src/models/public-api.ts +0 -5
  772. package/form/src/models/radio-field.model.ts +0 -5
  773. package/form/src/models/radio-group-field.model.ts +0 -8
  774. package/form/src/models/select-field.model.ts +0 -30
  775. package/form/src/models/single-select-field.model.ts +0 -5
  776. package/form/src/models/textarea-field.model.ts +0 -11
  777. package/form/src/tools/errors-helper.ts +0 -60
  778. package/form/src/upd-form.module.ts +0 -48
  779. package/form-controls/abstractions/index.ts +0 -1
  780. package/form-controls/abstractions/ng-package.json +0 -6
  781. package/form-controls/abstractions/src/base-control.ts +0 -34
  782. package/form-controls/abstractions/src/public-api.ts +0 -1
  783. package/form-controls/checkbox/index.ts +0 -1
  784. package/form-controls/checkbox/ng-package.json +0 -6
  785. package/form-controls/checkbox/src/checkbox.component.html +0 -34
  786. package/form-controls/checkbox/src/checkbox.component.spec.ts +0 -23
  787. package/form-controls/checkbox/src/checkbox.component.ts +0 -60
  788. package/form-controls/checkbox/src/public-api.ts +0 -3
  789. package/form-controls/checkbox/src/upd-checkbox.module.ts +0 -21
  790. package/form-controls/date-picker/index.ts +0 -1
  791. package/form-controls/date-picker/ng-package.json +0 -6
  792. package/form-controls/date-picker/src/date-picker.component.html +0 -36
  793. package/form-controls/date-picker/src/date-picker.component.scss +0 -26
  794. package/form-controls/date-picker/src/date-picker.component.spec.ts +0 -22
  795. package/form-controls/date-picker/src/date-picker.component.ts +0 -177
  796. package/form-controls/date-picker/src/upd-date-picker.module.ts +0 -25
  797. package/form-controls/input/index.ts +0 -1
  798. package/form-controls/input/ng-package.json +0 -6
  799. package/form-controls/input/src/directives/input-append.directive.spec.ts +0 -8
  800. package/form-controls/input/src/directives/input-append.directive.ts +0 -8
  801. package/form-controls/input/src/directives/input-prepend.directive.spec.ts +0 -8
  802. package/form-controls/input/src/directives/input-prepend.directive.ts +0 -8
  803. package/form-controls/input/src/input.component.html +0 -124
  804. package/form-controls/input/src/input.component.scss +0 -13
  805. package/form-controls/input/src/input.component.spec.ts +0 -23
  806. package/form-controls/input/src/input.component.ts +0 -161
  807. package/form-controls/input/src/upd-input.module.ts +0 -29
  808. package/form-controls/radio/index.ts +0 -1
  809. package/form-controls/radio/ng-package.json +0 -6
  810. package/form-controls/radio/src/radio.component.html +0 -35
  811. package/form-controls/radio/src/radio.component.scss +0 -0
  812. package/form-controls/radio/src/radio.component.spec.ts +0 -23
  813. package/form-controls/radio/src/radio.component.ts +0 -42
  814. package/form-controls/radio/src/upd-radio.module.ts +0 -21
  815. package/form-controls/select/index.ts +0 -1
  816. package/form-controls/select/ng-package.json +0 -6
  817. package/form-controls/select/src/components/multiple/select-multiple.component.html +0 -61
  818. package/form-controls/select/src/components/multiple/select-multiple.component.scss +0 -6
  819. package/form-controls/select/src/components/multiple/select-multiple.component.spec.ts +0 -21
  820. package/form-controls/select/src/components/multiple/select-multiple.component.ts +0 -80
  821. package/form-controls/select/src/components/shared.scss +0 -44
  822. package/form-controls/select/src/components/single/select.component.html +0 -118
  823. package/form-controls/select/src/components/single/select.component.scss +0 -3
  824. package/form-controls/select/src/components/single/select.component.spec.ts +0 -23
  825. package/form-controls/select/src/components/single/select.component.ts +0 -75
  826. package/form-controls/select/src/models/abstractions/base-select.component.ts +0 -286
  827. package/form-controls/select/src/models/defaults.ts +0 -9
  828. package/form-controls/select/src/models/public-api.ts +0 -2
  829. package/form-controls/select/src/models/select-item.ts +0 -26
  830. package/form-controls/select/src/upd-select.module.ts +0 -34
  831. package/form-controls/textarea/index.ts +0 -1
  832. package/form-controls/textarea/ng-package.json +0 -6
  833. package/form-controls/textarea/src/textarea.component.html +0 -13
  834. package/form-controls/textarea/src/textarea.component.scss +0 -0
  835. package/form-controls/textarea/src/textarea.component.spec.ts +0 -23
  836. package/form-controls/textarea/src/textarea.component.ts +0 -45
  837. package/form-controls/textarea/src/upd-textarea.module.ts +0 -17
  838. package/form-controls/time-picker/index.ts +0 -1
  839. package/form-controls/time-picker/ng-package.json +0 -6
  840. package/form-controls/time-picker/src/time-picker.component.html +0 -17
  841. package/form-controls/time-picker/src/time-picker.component.scss +0 -10
  842. package/form-controls/time-picker/src/time-picker.component.spec.ts +0 -21
  843. package/form-controls/time-picker/src/time-picker.component.ts +0 -110
  844. package/form-controls/time-picker/src/time-selector/time-selector.component.html +0 -50
  845. package/form-controls/time-picker/src/time-selector/time-selector.component.scss +0 -47
  846. package/form-controls/time-picker/src/time-selector/time-selector.component.spec.ts +0 -21
  847. package/form-controls/time-picker/src/time-selector/time-selector.component.ts +0 -107
  848. package/form-controls/time-picker/src/upd-time-picker.module.ts +0 -39
  849. package/jest.config.ts +0 -22
  850. package/layout/index.ts +0 -1
  851. package/layout/ng-package.json +0 -6
  852. package/layout/src/abstractions/base-page.component.ts +0 -16
  853. package/layout/src/abstractions/base.layout.ts +0 -27
  854. package/layout/src/assets/i18n/en.json +0 -20
  855. package/layout/src/assets/i18n/pt.json +0 -20
  856. package/layout/src/layouts/blank-layout/blank-layout.component.html +0 -1
  857. package/layout/src/layouts/blank-layout/blank-layout.component.scss +0 -0
  858. package/layout/src/layouts/blank-layout/blank-layout.component.spec.ts +0 -23
  859. package/layout/src/layouts/blank-layout/blank-layout.component.ts +0 -10
  860. package/layout/src/layouts/blank-layout/blank-layout.module.ts +0 -17
  861. package/layout/src/layouts/vertical-sidebar-layout/vertical-sidebar-layout.component.html +0 -16
  862. package/layout/src/layouts/vertical-sidebar-layout/vertical-sidebar-layout.component.scss +0 -0
  863. package/layout/src/layouts/vertical-sidebar-layout/vertical-sidebar-layout.component.spec.ts +0 -23
  864. package/layout/src/layouts/vertical-sidebar-layout/vertical-sidebar-layout.component.ts +0 -30
  865. package/layout/src/layouts/vertical-sidebar-layout/vertical-sidebar-layout.module.ts +0 -51
  866. package/layout/src/models/login-page-config.model.ts +0 -57
  867. package/layout/src/models/login-page.config.ts +0 -42
  868. package/layout/src/models/security-layout-config.model.ts +0 -16
  869. package/layout/src/models/security-layout.config.ts +0 -11
  870. package/layout/src/models/upd-layout-config.model.ts +0 -69
  871. package/layout/src/models/upd-layout.config.ts +0 -47
  872. package/layout/src/pages/auth-flow/auth-flow-routing.module.ts +0 -21
  873. package/layout/src/pages/auth-flow/auth-flow.module.ts +0 -40
  874. package/layout/src/pages/auth-flow/logged-out/logged-out.component.html +0 -1
  875. package/layout/src/pages/auth-flow/logged-out/logged-out.component.scss +0 -0
  876. package/layout/src/pages/auth-flow/logged-out/logged-out.component.spec.ts +0 -23
  877. package/layout/src/pages/auth-flow/logged-out/logged-out.component.ts +0 -10
  878. package/layout/src/pages/auth-flow/login/login.component.html +0 -103
  879. package/layout/src/pages/auth-flow/login/login.component.scss +0 -0
  880. package/layout/src/pages/auth-flow/login/login.component.spec.ts +0 -23
  881. package/layout/src/pages/auth-flow/login/login.component.ts +0 -97
  882. package/layout/src/pages/auth-flow/oauth-callback/oauth-callback.component.html +0 -1
  883. package/layout/src/pages/auth-flow/oauth-callback/oauth-callback.component.scss +0 -0
  884. package/layout/src/pages/auth-flow/oauth-callback/oauth-callback.component.spec.ts +0 -23
  885. package/layout/src/pages/auth-flow/oauth-callback/oauth-callback.component.ts +0 -10
  886. package/layout/src/partials/footer/footer-copyright.directive.spec.ts +0 -8
  887. package/layout/src/partials/footer/footer-copyright.directive.ts +0 -6
  888. package/layout/src/partials/footer/footer.component.html +0 -35
  889. package/layout/src/partials/footer/footer.component.scss +0 -0
  890. package/layout/src/partials/footer/footer.component.spec.ts +0 -23
  891. package/layout/src/partials/footer/footer.component.ts +0 -64
  892. package/layout/src/partials/footer/public-api.ts +0 -2
  893. package/layout/src/partials/header/header.component.html +0 -173
  894. package/layout/src/partials/header/header.component.scss +0 -0
  895. package/layout/src/partials/header/header.component.spec.ts +0 -23
  896. package/layout/src/partials/header/header.component.ts +0 -82
  897. package/layout/src/partials/header/public-api.ts +0 -2
  898. package/layout/src/partials/page-header/page-header.component.html +0 -23
  899. package/layout/src/partials/page-header/page-header.component.scss +0 -0
  900. package/layout/src/partials/page-header/page-header.component.spec.ts +0 -23
  901. package/layout/src/partials/page-header/page-header.component.ts +0 -11
  902. package/layout/src/partials/sidebar/sidebar.component.html +0 -72
  903. package/layout/src/partials/sidebar/sidebar.component.scss +0 -0
  904. package/layout/src/partials/sidebar/sidebar.component.spec.ts +0 -23
  905. package/layout/src/partials/sidebar/sidebar.component.ts +0 -129
  906. package/layout/src/services/upd-layout-config.service.spec.ts +0 -16
  907. package/layout/src/services/upd-layout-config.service.ts +0 -20
  908. package/layout/src/tools/layout.constants.ts +0 -18
  909. package/layout/src/upd-layout.module.ts +0 -34
  910. package/link/index.ts +0 -1
  911. package/link/ng-package.json +0 -6
  912. package/link/src/link.component.html +0 -3
  913. package/link/src/link.component.scss +0 -3
  914. package/link/src/link.component.spec.ts +0 -23
  915. package/link/src/link.component.ts +0 -48
  916. package/link/src/upd-link.module.ts +0 -17
  917. package/list/index.ts +0 -1
  918. package/list/ng-package.json +0 -6
  919. package/list/src/list.component.html +0 -67
  920. package/list/src/list.component.scss +0 -22
  921. package/list/src/list.component.spec.ts +0 -23
  922. package/list/src/list.component.ts +0 -129
  923. package/list/src/models/list-item.model.ts +0 -36
  924. package/list/src/models/list-item.ts +0 -22
  925. package/list/src/upd-list.module.ts +0 -30
  926. package/modal/index.ts +0 -1
  927. package/modal/ng-package.json +0 -6
  928. package/modal/src/components/modal-container/modal-container.component.html +0 -116
  929. package/modal/src/components/modal-container/modal-container.component.scss +0 -1
  930. package/modal/src/components/modal-container/modal-container.component.spec.ts +0 -22
  931. package/modal/src/components/modal-container/modal-container.component.ts +0 -243
  932. package/modal/src/models/base.modal.ts +0 -9
  933. package/modal/src/models/modal-config.model.ts +0 -39
  934. package/modal/src/models/modal-ref.ts +0 -9
  935. package/modal/src/models/modal.config.ts +0 -32
  936. package/modal/src/services/modal-alert.service.spec.ts +0 -16
  937. package/modal/src/services/modal-alert.service.ts +0 -167
  938. package/modal/src/services/modal.service.spec.ts +0 -16
  939. package/modal/src/services/modal.service.ts +0 -38
  940. package/modal/src/upd-modal.module.ts +0 -74
  941. package/ng-package.json +0 -10
  942. package/paginator/index.ts +0 -1
  943. package/paginator/ng-package.json +0 -6
  944. package/paginator/src/paginator.component.html +0 -83
  945. package/paginator/src/paginator.component.scss +0 -1
  946. package/paginator/src/paginator.component.spec.ts +0 -21
  947. package/paginator/src/paginator.component.ts +0 -62
  948. package/paginator/src/upd-paginator.module.ts +0 -32
  949. package/popover/index.ts +0 -1
  950. package/popover/ng-package.json +0 -6
  951. package/popover/src/popover.component.html +0 -21
  952. package/popover/src/popover.component.scss +0 -8
  953. package/popover/src/popover.component.spec.ts +0 -23
  954. package/popover/src/popover.component.ts +0 -53
  955. package/popover/src/popover.directive.spec.ts +0 -8
  956. package/popover/src/popover.directive.ts +0 -125
  957. package/popover/src/upd-popover.module.ts +0 -20
  958. package/project.json +0 -40
  959. package/src/lib/models/public-api.ts +0 -1
  960. package/src/lib/models/row-column-size.ts +0 -5
  961. package/src/lib/public-api.ts +0 -4
  962. package/src/lib/tools/column-size.helper.ts +0 -19
  963. package/src/lib/tools/public-api.ts +0 -1
  964. package/src/lib/types/component-size.type.ts +0 -1
  965. package/src/lib/types/horizontal-vertical.type.ts +0 -1
  966. package/src/lib/types/public-api.ts +0 -3
  967. package/src/lib/types/validation-status.type.ts +0 -1
  968. package/src/lib/upd-components.module.ts +0 -6
  969. package/src/public-api.ts +0 -1
  970. package/src/test-setup.ts +0 -8
  971. package/table/index.ts +0 -1
  972. package/table/ng-package.json +0 -6
  973. package/table/src/abstractions/base-column.model.ts +0 -69
  974. package/table/src/abstractions/base.column.ts +0 -99
  975. package/table/src/abstractions/filters-operands.service.ts +0 -10
  976. package/table/src/components/columns/boolean-column/boolean-column.component.html +0 -15
  977. package/table/src/components/columns/boolean-column/boolean-column.component.scss +0 -1
  978. package/table/src/components/columns/boolean-column/boolean-column.component.spec.ts +0 -21
  979. package/table/src/components/columns/boolean-column/boolean-column.component.ts +0 -26
  980. package/table/src/components/columns/date-time-column/date-time-column.component.html +0 -1
  981. package/table/src/components/columns/date-time-column/date-time-column.component.scss +0 -1
  982. package/table/src/components/columns/date-time-column/date-time-column.component.spec.ts +0 -21
  983. package/table/src/components/columns/date-time-column/date-time-column.component.ts +0 -11
  984. package/table/src/components/columns/number-column/number-column.component.html +0 -1
  985. package/table/src/components/columns/number-column/number-column.component.scss +0 -1
  986. package/table/src/components/columns/number-column/number-column.component.spec.ts +0 -21
  987. package/table/src/components/columns/number-column/number-column.component.ts +0 -11
  988. package/table/src/components/columns/public-api.ts +0 -0
  989. package/table/src/components/columns/text-column/text-column.component.html +0 -1
  990. package/table/src/components/columns/text-column/text-column.component.scss +0 -1
  991. package/table/src/components/columns/text-column/text-column.component.spec.ts +0 -21
  992. package/table/src/components/columns/text-column/text-column.component.ts +0 -31
  993. package/table/src/components/columns-manager/columns-manager.component.html +0 -3
  994. package/table/src/components/columns-manager/columns-manager.component.scss +0 -1
  995. package/table/src/components/columns-manager/columns-manager.component.spec.ts +0 -21
  996. package/table/src/components/columns-manager/columns-manager.component.ts +0 -37
  997. package/table/src/components/filter-row/filter-row.component.html +0 -29
  998. package/table/src/components/filter-row/filter-row.component.scss +0 -1
  999. package/table/src/components/filter-row/filter-row.component.spec.ts +0 -21
  1000. package/table/src/components/filter-row/filter-row.component.ts +0 -127
  1001. package/table/src/components/public-api.ts +0 -0
  1002. package/table/src/components/save-search/save-search.component.html +0 -16
  1003. package/table/src/components/save-search/save-search.component.scss +0 -1
  1004. package/table/src/components/save-search/save-search.component.spec.ts +0 -21
  1005. package/table/src/components/save-search/save-search.component.ts +0 -73
  1006. package/table/src/components/search-section/search-section.component.html +0 -37
  1007. package/table/src/components/search-section/search-section.component.scss +0 -1
  1008. package/table/src/components/search-section/search-section.component.spec.ts +0 -21
  1009. package/table/src/components/search-section/search-section.component.ts +0 -111
  1010. package/table/src/directives/table-column.directive.spec.ts +0 -8
  1011. package/table/src/directives/table-column.directive.ts +0 -52
  1012. package/table/src/index.ts +0 -1
  1013. package/table/src/models/columns/boolean-column.model.ts +0 -29
  1014. package/table/src/models/columns/date-time-column.model.ts +0 -20
  1015. package/table/src/models/columns/guid-column.model.ts +0 -16
  1016. package/table/src/models/columns/image-column.model.ts +0 -15
  1017. package/table/src/models/columns/number-column.model.ts +0 -19
  1018. package/table/src/models/columns/text-column.model.ts +0 -16
  1019. package/table/src/models/enums/column-type.enum.ts +0 -13
  1020. package/table/src/models/filter-item.model.ts +0 -7
  1021. package/table/src/models/filter-operand.config.ts +0 -10
  1022. package/table/src/models/operands-lists/boolean-filter-operands-list.model.ts +0 -29
  1023. package/table/src/models/operands-lists/date-filter-operands-list.model.ts +0 -28
  1024. package/table/src/models/operands-lists/date-or-number-operands-list.config.ts +0 -35
  1025. package/table/src/models/operands-lists/filter-operands-list.config.ts +0 -35
  1026. package/table/src/models/operands-lists/guid-filter-operands-list.model.ts +0 -19
  1027. package/table/src/models/operands-lists/number-filter-operands-list.model.ts +0 -28
  1028. package/table/src/models/operands-lists/string-filter-operands-list.model.ts +0 -49
  1029. package/table/src/models/saved-view.model.ts +0 -13
  1030. package/table/src/models/table-config.model.ts +0 -32
  1031. package/table/src/models/table.config.ts +0 -24
  1032. package/table/src/models/upd-table-config.model.ts +0 -12
  1033. package/table/src/models/upd-table.config.ts +0 -7
  1034. package/table/src/services/default-filters-operands.service.spec.ts +0 -16
  1035. package/table/src/services/default-filters-operands.service.ts +0 -62
  1036. package/table/src/services/storages/saved-views.storage.spec.ts +0 -16
  1037. package/table/src/services/storages/saved-views.storage.ts +0 -76
  1038. package/table/src/services/stores/filters-operands.store.spec.ts +0 -16
  1039. package/table/src/services/stores/filters-operands.store.ts +0 -17
  1040. package/table/src/services/upd-table-config.service.spec.ts +0 -16
  1041. package/table/src/services/upd-table-config.service.ts +0 -17
  1042. package/table/src/table.component.html +0 -155
  1043. package/table/src/table.component.scss +0 -14
  1044. package/table/src/table.component.spec.ts +0 -21
  1045. package/table/src/table.component.ts +0 -434
  1046. package/table/src/tools/filters.tools.ts +0 -67
  1047. package/table/src/tools/table.constants.ts +0 -18
  1048. package/table/src/upd-table.module.ts +0 -104
  1049. package/tsconfig.json +0 -29
  1050. package/tsconfig.lib.json +0 -18
  1051. package/tsconfig.lib.prod.json +0 -9
  1052. package/tsconfig.spec.json +0 -16
  1053. /package/{form-controls/checkbox/src/checkbox.component.scss → assets/styles/marketing/_filters.scss} +0 -0
  1054. /package/badge/{src/index.ts → index.d.ts} +0 -0
  1055. /package/badge/{src/public-api.ts → public-api.d.ts} +0 -0
  1056. /package/button/{src/index.ts → index.d.ts} +0 -0
  1057. /package/button/{src/public-api.ts → public-api.d.ts} +0 -0
  1058. /package/calendar/{src/index.ts → index.d.ts} +0 -0
  1059. /package/calendar/{src/models/calendar-user-event.model.ts → models/calendar-user-event.model.d.ts} +0 -0
  1060. /package/calendar/{src/public-api.ts → public-api.d.ts} +0 -0
  1061. /package/calendar/{src/services/public-api.ts → services/public-api.d.ts} +0 -0
  1062. /package/calendar/{src/types/calendar-view.type.ts → types/calendar-view.type.d.ts} +0 -0
  1063. /package/calendar/{src/types/public-api.ts → types/public-api.d.ts} +0 -0
  1064. /package/card/{src/directives/public-api.ts → directives/public-api.d.ts} +0 -0
  1065. /package/card/{src/index.ts → index.d.ts} +0 -0
  1066. /package/card/{src/types/card-state.type.ts → types/card-state.type.d.ts} +0 -0
  1067. /package/card/{src/types/card-style.type.ts → types/card-style.type.d.ts} +0 -0
  1068. /package/card/{src/types/hover-effect.type.ts → types/hover-effect.type.d.ts} +0 -0
  1069. /package/card/{src/types/public-api.ts → types/public-api.d.ts} +0 -0
  1070. /package/card/{src/types/ribbon-style.type.ts → types/ribbon-style.type.d.ts} +0 -0
  1071. /package/card/{src/types/status-position.type.ts → types/status-position.type.d.ts} +0 -0
  1072. /package/drag-and-drop/{src/index.ts → index.d.ts} +0 -0
  1073. /package/drag-and-drop/{src/models/public-api.ts → models/public-api.d.ts} +0 -0
  1074. /package/drag-and-drop/{src/public-api.ts → public-api.d.ts} +0 -0
  1075. /package/dropdown/{src/index.ts → index.d.ts} +0 -0
  1076. /package/dropdown/{src/models/dropdown-item.type.ts → models/dropdown-item.type.d.ts} +0 -0
  1077. /package/dropdown/{src/models/public-api.ts → models/public-api.d.ts} +0 -0
  1078. /package/dropdown/{src/models/toolbar.type.ts → models/toolbar.type.d.ts} +0 -0
  1079. /package/dropdown/{src/public-api.ts → public-api.d.ts} +0 -0
  1080. /package/{calendar/src → esm2022/calendar}/assets/i18n/en.json +0 -0
  1081. /package/{calendar/src → esm2022/calendar}/assets/i18n/pt.json +0 -0
  1082. /package/{form/src → esm2022/form}/assets/i18n/en.json +0 -0
  1083. /package/{form/src → esm2022/form}/assets/i18n/pt.json +0 -0
  1084. /package/{form-controls/time-picker/src → esm2022/form-controls/time-picker}/assets/i18n/en.json +0 -0
  1085. /package/{form-controls/time-picker/src → esm2022/form-controls/time-picker}/assets/i18n/pt.json +0 -0
  1086. /package/{list/src → esm2022/list}/assets/i18n/en.json +0 -0
  1087. /package/{list/src → esm2022/list}/assets/i18n/pt.json +0 -0
  1088. /package/{modal/src → esm2022/modal}/assets/i18n/en.json +0 -0
  1089. /package/{modal/src → esm2022/modal}/assets/i18n/pt.json +0 -0
  1090. /package/{paginator/src → esm2022/paginator}/assets/i18n/en.json +0 -0
  1091. /package/{paginator/src → esm2022/paginator}/assets/i18n/pt.json +0 -0
  1092. /package/{table/src → esm2022/table}/assets/i18n/en.json +0 -0
  1093. /package/{table/src → esm2022/table}/assets/i18n/pt.json +0 -0
  1094. /package/form/{src/index.ts → index.d.ts} +0 -0
  1095. /package/form/{src/models/validator-config.ts → models/validator-config.d.ts} +0 -0
  1096. /package/form/{src/public-api.ts → public-api.d.ts} +0 -0
  1097. /package/form-controls/{abstractions/src/index.ts → checkbox/index.d.ts} +0 -0
  1098. /package/form-controls/{checkbox/src/index.ts → date-picker/index.d.ts} +0 -0
  1099. /package/form-controls/date-picker/{src/public-api.ts → public-api.d.ts} +0 -0
  1100. /package/form-controls/{date-picker/src/index.ts → file-upload/index.d.ts} +0 -0
  1101. /package/form-controls/input/{src/directives/public-api.ts → directives/public-api.d.ts} +0 -0
  1102. /package/form-controls/input/{src/index.ts → index.d.ts} +0 -0
  1103. /package/form-controls/input/{src/public-api.ts → public-api.d.ts} +0 -0
  1104. /package/form-controls/input/{src/types/input.type.ts → types/input.type.d.ts} +0 -0
  1105. /package/form-controls/input/{src/types/loader-position.type.ts → types/loader-position.type.d.ts} +0 -0
  1106. /package/form-controls/input/{src/types/public-api.ts → types/public-api.d.ts} +0 -0
  1107. /package/form-controls/radio/{src/index.ts → index.d.ts} +0 -0
  1108. /package/form-controls/radio/{src/public-api.ts → public-api.d.ts} +0 -0
  1109. /package/form-controls/select/{src/index.ts → index.d.ts} +0 -0
  1110. /package/form-controls/select/{src/public-api.ts → public-api.d.ts} +0 -0
  1111. /package/form-controls/textarea/{src/index.ts → index.d.ts} +0 -0
  1112. /package/form-controls/textarea/{src/public-api.ts → public-api.d.ts} +0 -0
  1113. /package/form-controls/time-picker/{src/index.ts → index.d.ts} +0 -0
  1114. /package/form-controls/time-picker/{src/public-api.ts → public-api.d.ts} +0 -0
  1115. /package/layout/{src/abstractions/public-api.ts → abstractions/public-api.d.ts} +0 -0
  1116. /package/layout/{src/index.ts → index.d.ts} +0 -0
  1117. /package/layout/{src/layouts/public-api.ts → layouts/public-api.d.ts} +0 -0
  1118. /package/layout/{src/models/public-api.ts → models/public-api.d.ts} +0 -0
  1119. /package/layout/{src/pages/auth-flow/public-api.ts → pages/auth-flow/public-api.d.ts} +0 -0
  1120. /package/layout/{src/pages/public-api.ts → pages/public-api.d.ts} +0 -0
  1121. /package/layout/{src/partials/header/header-style.type.ts → partials/header/header-style.type.d.ts} +0 -0
  1122. /package/layout/{src/partials/page-header/public-api.ts → partials/page-header/public-api.d.ts} +0 -0
  1123. /package/layout/{src/partials/public-api.ts → partials/public-api.d.ts} +0 -0
  1124. /package/layout/{src/partials/sidebar/public-api.ts → partials/sidebar/public-api.d.ts} +0 -0
  1125. /package/layout/{src/public-api.ts → public-api.d.ts} +0 -0
  1126. /package/layout/{src/services/public-api.ts → services/public-api.d.ts} +0 -0
  1127. /package/link/{src/index.ts → index.d.ts} +0 -0
  1128. /package/link/{src/public-api.ts → public-api.d.ts} +0 -0
  1129. /package/link/{src/target.type.ts → target.type.d.ts} +0 -0
  1130. /package/list/{src/index.ts → index.d.ts} +0 -0
  1131. /package/list/{src/models/badge-position.type.ts → models/badge-position.type.d.ts} +0 -0
  1132. /package/list/{src/models/public-api.ts → models/public-api.d.ts} +0 -0
  1133. /package/list/{src/public-api.ts → public-api.d.ts} +0 -0
  1134. /package/modal/{src/index.ts → index.d.ts} +0 -0
  1135. /package/modal/{src/models/public-api.ts → models/public-api.d.ts} +0 -0
  1136. /package/modal/{src/public-api.ts → public-api.d.ts} +0 -0
  1137. /package/modal/{src/services/public-api.ts → services/public-api.d.ts} +0 -0
  1138. /package/modal/{src/types/modal-footer-style.type.ts → types/modal-footer-style.type.d.ts} +0 -0
  1139. /package/modal/{src/types/modal-size.type.ts → types/modal-size.type.d.ts} +0 -0
  1140. /package/paginator/{src/index.ts → index.d.ts} +0 -0
  1141. /package/paginator/{src/public-api.ts → public-api.d.ts} +0 -0
  1142. /package/popover/{src/index.ts → index.d.ts} +0 -0
  1143. /package/popover/{src/public-api.ts → public-api.d.ts} +0 -0
  1144. /package/{src/index.ts → pricing/index.d.ts} +0 -0
  1145. /package/table/{src/abstractions/public-api.ts → abstractions/public-api.d.ts} +0 -0
  1146. /package/table/{src/directives/public-api.ts → directives/public-api.d.ts} +0 -0
  1147. /package/{src/lib/index.ts → table/index.d.ts} +0 -0
  1148. /package/table/{src/models/columns/public-api.ts → models/columns/public-api.d.ts} +0 -0
  1149. /package/table/{src/models/enums/public-api.ts → models/enums/public-api.d.ts} +0 -0
  1150. /package/table/{src/models/public-api.ts → models/public-api.d.ts} +0 -0
  1151. /package/table/{src/public-api.ts → public-api.d.ts} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updevs-components-drag-and-drop.mjs","sources":["../../../../libs/components/drag-and-drop/src/models/drag-and-drop-item.model.ts","../../../../libs/components/drag-and-drop/src/models/drag-and-drop-column.model.ts","../../../../libs/components/drag-and-drop/src/drag-and-drop.component.ts","../../../../libs/components/drag-and-drop/src/drag-and-drop.component.html","../../../../libs/components/drag-and-drop/src/upd-drag-and-drop.module.ts","../../../../libs/components/drag-and-drop/src/updevs-components-drag-and-drop.ts"],"sourcesContent":["import { signal } from '@angular/core';\nimport { TextModel } from '@updevs/sdk';\n\nimport { DragAndDropItem } from './drag-and-drop-item';\n\nexport class DragAndDropItemModel implements DragAndDropItem {\n name!: string;\n text!: TextModel;\n isDisabled = false;\n canDrag = true;\n canBeEmpty = true; // TODO: implement\n isBeingDragged = signal(false);\n origin?: string;\n get isDraggable(): boolean {\n return this.canDrag && !this.isDisabled;\n }\n\n constructor(init: DragAndDropItem) {\n Object.assign(this, init);\n }\n}\n","import { WritableSignal, signal } from '@angular/core';\nimport { TextModel } from '@updevs/sdk';\n\nimport { DragAndDropColumnConfig } from './drag-and-drop-column.config';\nimport { DragAndDropItemModel } from './drag-and-drop-item.model';\n\nexport class DragAndDropColumnModel {\n name!: string;\n title?: TextModel;\n items!: WritableSignal<DragAndDropItemModel[]>;\n\n constructor(init: DragAndDropColumnConfig) {\n Object.assign(this, init);\n this.items = signal(init.items.map(i => new DragAndDropItemModel(i)));\n }\n}\n","import { Component, input, inject, computed, signal, model, OnInit } from '@angular/core';\nimport { TextService } from '@updevs/sdk';\nimport { OptionalType } from '@updevs/sdk/types';\n\nimport { DragAndDropItemModel } from './models/drag-and-drop-item.model';\nimport { DragAndDropColumnModel } from './models/drag-and-drop-column.model';\nimport { DragAndDropConfig } from './models/drag-and-drop.config';\n\n@Component({\n selector: 'upd-drag-and-drop',\n templateUrl: './drag-and-drop.component.html',\n styleUrl: './drag-and-drop.component.scss'\n})\nexport class DragAndDropComponent implements OnInit {\n config = input.required<DragAndDropConfig>();\n columns = model<DragAndDropColumnModel[]>([]);\n\n readonly showHandler = computed(() => this.config().showHandler || false);\n readonly canReorder = computed(() => this.config().canReorder || false);\n readonly textService = inject(TextService);\n\n private readonly isReordering = signal(false);\n private readonly draggedItem = signal<OptionalType<DragAndDropItemModel>>(undefined);\n private dragEnterCounter = 0;\n\n ngOnInit(): void {\n this.columns.set(this.config().columns.map(c => new DragAndDropColumnModel(c)));\n }\n\n canShowHandler(item: DragAndDropItemModel): boolean {\n return this.showHandler() && item.isDraggable;\n }\n\n startDrag(event: DragEvent, item: DragAndDropItemModel, origin: string): void {\n item.origin = origin;\n\n this.draggedItem.set(item);\n item.isBeingDragged.set(true);\n\n event.dataTransfer!.effectAllowed = 'move';\n }\n\n endDrag(item: DragAndDropItemModel): void {\n item.isBeingDragged.set(false);\n this.draggedItem.set(undefined);\n }\n\n drop(event: DragEvent, destination: string): void {\n event.preventDefault();\n\n this.dragEnterCounter = 0;\n const dataTransfer = event.dataTransfer!;\n dataTransfer.dropEffect = 'move';\n const itemName = this.draggedItem()?.name;\n const origin = this.draggedItem()?.origin;\n const item = this.columns().find(c => c.name === origin)?.items().find(i => i.name === itemName);\n\n if (!!item && (this.canReorder() || destination !== origin)) {\n const destinationColumn = this.columns().find(c => c.name === destination);\n const originColumn = this.columns().find(c => c.name === origin)!;\n\n if (!!destinationColumn) {\n item.isBeingDragged.set(false);\n this.draggedItem.set(undefined);\n\n // We only move items if it's a move between containers, if it's a reorder, nothing needs to be done.\n // The item was correctly replaced during dragOver.\n if (destination !== origin) {\n const originIdx = originColumn.items().findIndex(i => i.name === itemName);\n const destinationIdx = destinationColumn.items().findIndex(i => i.name === itemName);\n\n originColumn.items().splice(originIdx, 1);\n\n // This is required, because the item may have been added during dragOver. TODO: check\n if (destinationIdx >= 0) {\n dataTransfer.clearData();\n return;\n }\n\n destinationColumn.items().push(item);\n\n const destinationColumnIdx = this.columns().findIndex(c => c.name === destination);\n\n this.columns.update(curr => {\n curr[destinationColumnIdx] = destinationColumn;\n return [...curr];\n });\n }\n\n dataTransfer.clearData();\n }\n }\n }\n\n dragOver(event: DragEvent, destination: string): void {\n event.preventDefault();\n const destinationColumn = this.columns().find(c => c.name === destination)!;\n\n if (this.isReordering() || destinationColumn.items().length === 0) {\n return;\n }\n\n event.dataTransfer!.dropEffect = 'move';\n\n this.isReordering.set(true);\n const element = event.target as HTMLElement;\n\n if (!!element.id && !!this.draggedItem() && element.id !== this.draggedItem()!.name) {\n const destinationHoverIdx = destinationColumn.items().findIndex(i => i.name === element.id);\n const rect = element.getBoundingClientRect();\n const y = event.clientY - rect.top;\n const newOverZone = y <= rect.height / 2 ? 'top' : 'bottom';\n\n destinationColumn.items.update(curr => {\n const originalArray = [...curr];\n\n if (destinationHoverIdx >= 0) {\n if (destinationHoverIdx === 0 && newOverZone === 'top') {\n originalArray.unshift(this.draggedItem()!);\n } else if (destinationHoverIdx === curr.length - 1 && newOverZone === 'bottom') {\n originalArray.push(this.draggedItem()!);\n } else {\n const originalItem = curr[destinationHoverIdx];\n originalArray.splice(destinationHoverIdx, 1);\n originalArray.splice(destinationHoverIdx + (newOverZone === 'top' ? -1 : 1), 0, originalItem);\n }\n } else if (!!this.draggedItem()) {\n originalArray.push(this.draggedItem()!);\n }\n\n return originalArray;\n });\n\n const destinationColumnIdx = this.columns().findIndex(c => c.name === destination);\n\n this.columns.update(curr => {\n curr[destinationColumnIdx] = destinationColumn;\n return [...curr];\n });\n }\n\n this.isReordering.set(false);\n }\n\n dragEnter(): void {\n this.dragEnterCounter++;\n }\n\n dragLeave(columnName: string): void {\n this.dragEnterCounter--;\n\n if (this.dragEnterCounter === 0 && !!this.draggedItem()?.origin && this.draggedItem()?.origin !== columnName) {\n const column = this.columns().find(c => c.name === columnName)!;\n const idx = column.items().findIndex(i => i.name === this.draggedItem()?.name);\n\n if (idx >= 0) {\n column.items.update(curr => {\n curr.splice(idx, 1);\n return [...curr];\n });\n }\n }\n }\n}\n","<div class=\"d-flex w-100\">\n @for (col of columns(); track col.name) {\n <div class=\"d-flex flex-column w-100 me-2 bg-body p-4 rounded\" (drop)=\"drop($event, col.name)\"\n (dragover)=\"dragOver($event, col.name)\" (dragenter)=\"dragEnter()\" (dragleave)=\"dragLeave(col.name)\">\n @if (!!col.title) {\n <div class=\"mb-2\">\n <h1>{{ textService.getText(col.title) }}</h1>\n </div>\n }\n @for (item of col.items(); track item.name) {\n <div class=\"d-flex border p-2 mb-1 bg-muted-lt rounded\" [attr.draggable]=\"item.isDraggable\" [attr.id]=\"item.name\"\n [class.draggable]=\"item.isDraggable\" [class.opacity-25]=\"item.isBeingDragged()\"\n (dragstart)=\"startDrag($event, item, col.name)\" (dragend)=\"endDrag(item)\">\n @if (canShowHandler(item)) {\n <upd-icon tablerIcon=\"grip-vertical\" customClasses=\"me-2\"></upd-icon>\n }\n <div class=\"flex-grow-1 align-content-center\">\n <span>{{ textService.getText(item.text) }}</span>\n </div>\n </div>\n }\n </div>\n }\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { UpdIconsModule } from '@updevs/icons';\n\nimport { DragAndDropComponent } from './drag-and-drop.component';\n\n@NgModule({\n imports: [\n CommonModule,\n UpdIconsModule\n ],\n declarations: [\n DragAndDropComponent\n ],\n exports: [\n DragAndDropComponent\n ]\n})\nexport class UpdDragAndDropModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,247 @@
1
+ import * as i0 from '@angular/core';
2
+ import { EventEmitter, input, inject, NgZone, ElementRef, Renderer2, Injector, RendererStyleFlags2, afterNextRender, Output, Input, HostBinding, ViewEncapsulation, Component, NgModule } from '@angular/core';
3
+ import { BaseComponent, PositioningService, DomEventsService } from '@updevs/sdk/layout';
4
+ import { TextService } from '@updevs/sdk';
5
+ import * as i1 from '@angular/common';
6
+ import { CommonModule } from '@angular/common';
7
+ import * as i2 from '@updevs/icons';
8
+ import { UpdIconsModule } from '@updevs/icons';
9
+ import * as i3 from '@updevs/components/form-controls/radio';
10
+ import { UpdRadioModule } from '@updevs/components/form-controls/radio';
11
+ import * as i4 from '@updevs/components/form-controls/checkbox';
12
+ import { UpdCheckboxModule } from '@updevs/components/form-controls/checkbox';
13
+ import * as i5 from '@updevs/components/button';
14
+ import { UpdButtonModule } from '@updevs/components/button';
15
+
16
+ class DropdownComponent extends BaseComponent {
17
+ set isOpen(value) {
18
+ this.updateOpenState(value);
19
+ if (this.shouldCloseOnOutsideClick) {
20
+ this.closeOnOutsideClick();
21
+ }
22
+ }
23
+ get isOpen() {
24
+ return this._isOpen;
25
+ }
26
+ get overflowClass() {
27
+ switch (this.textOverflowStrategy()) {
28
+ case 'no-wrap':
29
+ return 'text-nowrap';
30
+ case 'wrap':
31
+ return 'text-wrap';
32
+ case 'word-break':
33
+ return 'text-break';
34
+ default:
35
+ return 'text-truncate';
36
+ }
37
+ }
38
+ constructor() {
39
+ super();
40
+ this.localWrapperClasses = '';
41
+ this.items = [];
42
+ this.shouldCloseOnOutsideClick = false;
43
+ this.wrapperClasses = '';
44
+ /**
45
+ * If a reference is provided, this will be the position of the dropdown in relation to that reference.
46
+ */
47
+ this.dropdownReferencePosition = 'bottom';
48
+ this.isOpenChange = new EventEmitter();
49
+ this.selectedItem = new EventEmitter();
50
+ this.checkboxChanged = new EventEmitter();
51
+ this.textOverflowStrategy = input('wrap');
52
+ this.textService = inject(TextService);
53
+ this.baseWrapperClasses = 'dropdown-menu';
54
+ this._isOpen = false;
55
+ this.ngZone = inject(NgZone);
56
+ this.elementRef = inject(ElementRef);
57
+ this.renderer = inject(Renderer2);
58
+ this.positioningService = inject(PositioningService);
59
+ this.domEventsService = inject(DomEventsService);
60
+ this.injector = inject(Injector);
61
+ this.dropdownElement = this.elementRef.nativeElement;
62
+ }
63
+ ngOnInit() {
64
+ this.updateStyle();
65
+ }
66
+ ngOnChanges() {
67
+ this.updateStyle();
68
+ }
69
+ onSelect(item) {
70
+ this.selectedItem.emit(item);
71
+ }
72
+ onCheckboxChange(item, isChecked) {
73
+ item.isChecked = isChecked;
74
+ this.checkboxChanged.emit(item);
75
+ }
76
+ adaptAction(btn, item) {
77
+ const defaultFunction = btn.clickFunction;
78
+ btn.clickFunction = (evt) => {
79
+ evt.event?.preventDefault();
80
+ evt.event?.stopPropagation();
81
+ if (!!defaultFunction) {
82
+ defaultFunction({ event: evt.event, data: { item, button: btn } });
83
+ }
84
+ };
85
+ return btn;
86
+ }
87
+ trackByItemId(index, item) {
88
+ return item.id ?? index;
89
+ }
90
+ getButtonClasses(item) {
91
+ const classes = ['dropdown-item'];
92
+ if (item.isDisabled) {
93
+ classes.push('disabled');
94
+ }
95
+ if (item.isActive) {
96
+ classes.push('active');
97
+ }
98
+ return classes.join(' ');
99
+ }
100
+ closeOnOutsideClick() {
101
+ if (!!this.dropdownOutsideClickSub) {
102
+ this.dropdownOutsideClickSub.unsubscribe();
103
+ }
104
+ const excludedElements = [this.dropdownElement];
105
+ if (!!this.dropdownReference) {
106
+ excludedElements.push(this.dropdownReference.nativeElement);
107
+ }
108
+ this.dropdownOutsideClickSub = this.domEventsService.startOutsideClickListener(() => this.ngZone.run(() => {
109
+ this.updateOpenState(false);
110
+ this.updateWrapperClasses();
111
+ }), this.dropdownElement, true, ...excludedElements);
112
+ this.addSubscriptions(this.dropdownOutsideClickSub);
113
+ }
114
+ updateStyle() {
115
+ this.updateWrapperClasses();
116
+ this.updateMaxHeight();
117
+ if (this.isOpen) {
118
+ this.startPositionUpdate();
119
+ }
120
+ }
121
+ updateWrapperClasses() {
122
+ this.localWrapperClasses = this.baseWrapperClasses + ' ' + this.wrapperClasses;
123
+ if (this.isOpen) {
124
+ this.localWrapperClasses += ' dropdown-show';
125
+ }
126
+ if (!!this.arrowType) {
127
+ this.localWrapperClasses += ' dropdown-menu-arrow' + (this.arrowType === 'right' ? ' dropdown-menu-end' : '');
128
+ }
129
+ if (!!this.maxHeight) {
130
+ this.localWrapperClasses += ' dropdown-overflow';
131
+ }
132
+ }
133
+ updateOpenState(isOpen) {
134
+ this._isOpen = isOpen;
135
+ this.isOpenChange.emit(isOpen);
136
+ }
137
+ updateMaxHeight() {
138
+ this.renderer.setStyle(this.dropdownElement, 'max-height', `${this.maxHeight}px`, RendererStyleFlags2.Important);
139
+ }
140
+ startPositionUpdate() {
141
+ if (!this.dropdownReference) {
142
+ return;
143
+ }
144
+ afterNextRender(() => {
145
+ this.ngZone.runOutsideAngular(() => this.positioningService
146
+ .computePosition(this.dropdownReference, this.elementRef, { placement: this.dropdownReferencePosition }, undefined, undefined, true)
147
+ .subscribe(resp => this.updatePosition(resp)));
148
+ }, { injector: this.injector });
149
+ }
150
+ updatePosition(result) {
151
+ const reference = this.dropdownReference.nativeElement.getBoundingClientRect();
152
+ const ddElement = this.dropdownElement;
153
+ const width = Math.abs(reference.width);
154
+ let widthOffset = 0;
155
+ if (!!this.maxWidth) {
156
+ this.renderer.setStyle(ddElement, 'max-width', `${this.maxWidth}px`, RendererStyleFlags2.Important);
157
+ }
158
+ if (!!this.minWidth) {
159
+ this.renderer.setStyle(ddElement, 'min-width', `${this.minWidth}px`, RendererStyleFlags2.Important);
160
+ widthOffset = (this.minWidth > width ? this.minWidth - width : 0) / 2; // TODO: check logic
161
+ }
162
+ this.renderer.setStyle(ddElement, 'position', result.strategy, RendererStyleFlags2.Important);
163
+ this.renderer.setStyle(ddElement, 'width', `${width}px`, RendererStyleFlags2.Important);
164
+ this.renderer.setStyle(ddElement, 'left', `${result.x - widthOffset}px`, RendererStyleFlags2.Important);
165
+ this.renderer.setStyle(ddElement, 'top', `${result.y}px`, RendererStyleFlags2.Important);
166
+ }
167
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: DropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
168
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: DropdownComponent, selector: "upd-dropdown", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: false, isRequired: false, transformFunction: null }, header: { classPropertyName: "header", publicName: "header", isSignal: false, isRequired: false, transformFunction: null }, isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: false, isRequired: false, transformFunction: null }, shouldCloseOnOutsideClick: { classPropertyName: "shouldCloseOnOutsideClick", publicName: "shouldCloseOnOutsideClick", isSignal: false, isRequired: false, transformFunction: null }, arrowType: { classPropertyName: "arrowType", publicName: "arrowType", isSignal: false, isRequired: false, transformFunction: null }, wrapperClasses: { classPropertyName: "wrapperClasses", publicName: "wrapperClasses", isSignal: false, isRequired: false, transformFunction: null }, elementsExcludedFromOutsideClick: { classPropertyName: "elementsExcludedFromOutsideClick", publicName: "elementsExcludedFromOutsideClick", isSignal: false, isRequired: false, transformFunction: null }, minHeight: { classPropertyName: "minHeight", publicName: "minHeight", isSignal: false, isRequired: false, transformFunction: null }, maxHeight: { classPropertyName: "maxHeight", publicName: "maxHeight", isSignal: false, isRequired: false, transformFunction: null }, minWidth: { classPropertyName: "minWidth", publicName: "minWidth", isSignal: false, isRequired: false, transformFunction: null }, maxWidth: { classPropertyName: "maxWidth", publicName: "maxWidth", isSignal: false, isRequired: false, transformFunction: null }, dropdownReference: { classPropertyName: "dropdownReference", publicName: "dropdownReference", isSignal: false, isRequired: false, transformFunction: null }, dropdownReferencePosition: { classPropertyName: "dropdownReferencePosition", publicName: "dropdownReferencePosition", isSignal: false, isRequired: false, transformFunction: null }, textOverflowStrategy: { classPropertyName: "textOverflowStrategy", publicName: "textOverflowStrategy", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isOpenChange: "isOpenChange", selectedItem: "selectedItem", checkboxChanged: "checkboxChanged" }, host: { properties: { "class": "this.localWrapperClasses" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@if (!!header) {\n <h6 class=\"dropdown-header\">{{ header }}</h6>\n}\n\n@for (item of items; track trackByItemId($index, item)) {\n @switch (item.type) {\n @case ('divider') {\n <div class=\"dropdown-divider\"></div>\n }\n @case ('default') {\n <upd-button [customClasses]=\"getButtonClasses(item)\"\n [shouldIgnoreBtnClass]=\"true\" (clicked)=\"onSelect(item)\">\n @if (!!item.icon) {\n <upd-icon [model]=\"item.icon\" customClasses=\"dropdown-item-icon\"></upd-icon>\n }\n\n @if (!!item.leftBoxText || !!item.leftBoxImage) {\n <span style=\"background-image: url({{item.leftBoxImage}})\"\n class=\"avatar avatar-xs rounded me-2\">{{ item.leftBoxText }}</span>\n }\n\n {{ textService.getText(item.text) }}\n\n @if (!!item.badgeColor) {\n <span class=\"badge bg-{{item.badgeColor}} ms-auto\">{{ item.badgeText }}</span>\n }\n </upd-button>\n }\n @case ('radio') {\n <upd-radio (selected)=\"onSelect(item)\" [label]=\"item.text\" [isChecked]=\"item.isChecked || false\"\n [wrapperClasses]=\"'dropdown-item' + (item.isDisabled ? ' disabled' : '') + (item.isActive ? ' active' : '')\"></upd-radio>\n }\n @case ('checkbox') {\n <upd-checkbox (changed)=\"onCheckboxChange(item, $event)\" [label]=\"item.text\" [isChecked]=\"item.isChecked || false\"\n [isSwitch]=\"item.isSwitch || false\"\n [wrapperClasses]=\"'dropdown-item' + (item.isDisabled ? ' disabled' : '') + (item.isActive ? ' active' : '')\"></upd-checkbox>\n }\n @case ('with-toolbar') {\n <div class=\"dropdown-item\" [class.disabled]=\"item.isDisabled\" [class.active]=\"item.isActive\" (click)=\"onSelect(item)\">\n @if (!!item.icon) {\n <upd-icon [model]=\"item.icon\" customClasses=\"dropdown-item-icon\"></upd-icon>\n }\n\n @if (!!item.leftBoxText || !!item.leftBoxImage) {\n <span style=\"background-image: url({{item.leftBoxImage}})\"\n class=\"avatar avatar-xs rounded me-2\">{{ item.leftBoxText }}</span>\n }\n\n <span [ngClass]=\"overflowClass\">\n {{ textService.getText(item.text) }}\n </span>\n\n @if ((item.actionButtons?.length || 0) > 0) {\n <div class=\"ms-auto d-flex\" [class.btn-group]=\"item.toolbarType === 'grouped'\"\n [class.gap-1]=\"item.toolbarType === 'spaced'\">\n @for (btn of item.actionButtons; track btn) {\n <upd-button [model]=\"adaptAction(btn, item)\"></upd-button>\n }\n </div>\n }\n\n @if (!!item.badgeColor) {\n <span class=\"badge bg-{{item.badgeColor}} ms-auto\">{{ item.badgeText }}</span>\n }\n </div>\n }\n }\n}\n\n<ng-content></ng-content>\n", styles: [".dropdown-show{display:inline-block!important;width:100%!important;position:relative;top:0!important;margin-bottom:1rem!important}.dropdown-item>.form-check{margin-bottom:0!important}.dropdown-item{cursor:pointer!important}.dropdown-overflow{overflow-y:auto!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.IconComponent, selector: "upd-icon", inputs: ["model", "wrapperClasses", "color", "colorClass", "removeDefaultClasses", "customClasses", "tablerIcon", "tablerIconWeight", "tablerIconType", "tablerIconSize", "heroIcon", "heroIconSize", "heroIconType"] }, { kind: "component", type: i3.RadioComponent, selector: "upd-radio", inputs: ["wrapperClasses", "value", "customClasses", "isChecked", "isInline"], outputs: ["selected"] }, { kind: "component", type: i4.CheckboxComponent, selector: "upd-checkbox", inputs: ["wrapperClasses", "value", "customClasses", "isChecked", "isInline", "isSwitch", "isIndeterminate"], outputs: ["changed", "isCheckedChange", "isIndeterminateChange"] }, { kind: "component", type: i5.ButtonComponent, selector: "upd-button", inputs: ["model", "text", "brandColorStyle", "customClasses", "isOutline", "isGhost", "isSquare", "isPill", "isIcon", "isLoading", "isList", "isFloating", "isAction", "isNavigationLink", "isLink", "shouldIgnoreBtnClass", "iconModel", "iconPosition", "isDisabled", "isActive", "badgeConfig", "colorStyle", "size", "title"], outputs: ["clicked"] }], encapsulation: i0.ViewEncapsulation.None }); }
169
+ }
170
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: DropdownComponent, decorators: [{
171
+ type: Component,
172
+ args: [{ selector: 'upd-dropdown', encapsulation: ViewEncapsulation.None, template: "@if (!!header) {\n <h6 class=\"dropdown-header\">{{ header }}</h6>\n}\n\n@for (item of items; track trackByItemId($index, item)) {\n @switch (item.type) {\n @case ('divider') {\n <div class=\"dropdown-divider\"></div>\n }\n @case ('default') {\n <upd-button [customClasses]=\"getButtonClasses(item)\"\n [shouldIgnoreBtnClass]=\"true\" (clicked)=\"onSelect(item)\">\n @if (!!item.icon) {\n <upd-icon [model]=\"item.icon\" customClasses=\"dropdown-item-icon\"></upd-icon>\n }\n\n @if (!!item.leftBoxText || !!item.leftBoxImage) {\n <span style=\"background-image: url({{item.leftBoxImage}})\"\n class=\"avatar avatar-xs rounded me-2\">{{ item.leftBoxText }}</span>\n }\n\n {{ textService.getText(item.text) }}\n\n @if (!!item.badgeColor) {\n <span class=\"badge bg-{{item.badgeColor}} ms-auto\">{{ item.badgeText }}</span>\n }\n </upd-button>\n }\n @case ('radio') {\n <upd-radio (selected)=\"onSelect(item)\" [label]=\"item.text\" [isChecked]=\"item.isChecked || false\"\n [wrapperClasses]=\"'dropdown-item' + (item.isDisabled ? ' disabled' : '') + (item.isActive ? ' active' : '')\"></upd-radio>\n }\n @case ('checkbox') {\n <upd-checkbox (changed)=\"onCheckboxChange(item, $event)\" [label]=\"item.text\" [isChecked]=\"item.isChecked || false\"\n [isSwitch]=\"item.isSwitch || false\"\n [wrapperClasses]=\"'dropdown-item' + (item.isDisabled ? ' disabled' : '') + (item.isActive ? ' active' : '')\"></upd-checkbox>\n }\n @case ('with-toolbar') {\n <div class=\"dropdown-item\" [class.disabled]=\"item.isDisabled\" [class.active]=\"item.isActive\" (click)=\"onSelect(item)\">\n @if (!!item.icon) {\n <upd-icon [model]=\"item.icon\" customClasses=\"dropdown-item-icon\"></upd-icon>\n }\n\n @if (!!item.leftBoxText || !!item.leftBoxImage) {\n <span style=\"background-image: url({{item.leftBoxImage}})\"\n class=\"avatar avatar-xs rounded me-2\">{{ item.leftBoxText }}</span>\n }\n\n <span [ngClass]=\"overflowClass\">\n {{ textService.getText(item.text) }}\n </span>\n\n @if ((item.actionButtons?.length || 0) > 0) {\n <div class=\"ms-auto d-flex\" [class.btn-group]=\"item.toolbarType === 'grouped'\"\n [class.gap-1]=\"item.toolbarType === 'spaced'\">\n @for (btn of item.actionButtons; track btn) {\n <upd-button [model]=\"adaptAction(btn, item)\"></upd-button>\n }\n </div>\n }\n\n @if (!!item.badgeColor) {\n <span class=\"badge bg-{{item.badgeColor}} ms-auto\">{{ item.badgeText }}</span>\n }\n </div>\n }\n }\n}\n\n<ng-content></ng-content>\n", styles: [".dropdown-show{display:inline-block!important;width:100%!important;position:relative;top:0!important;margin-bottom:1rem!important}.dropdown-item>.form-check{margin-bottom:0!important}.dropdown-item{cursor:pointer!important}.dropdown-overflow{overflow-y:auto!important}\n"] }]
173
+ }], ctorParameters: () => [], propDecorators: { localWrapperClasses: [{
174
+ type: HostBinding,
175
+ args: ['class']
176
+ }], items: [{
177
+ type: Input
178
+ }], header: [{
179
+ type: Input
180
+ }], isOpen: [{
181
+ type: Input
182
+ }], shouldCloseOnOutsideClick: [{
183
+ type: Input
184
+ }], arrowType: [{
185
+ type: Input
186
+ }], wrapperClasses: [{
187
+ type: Input
188
+ }], elementsExcludedFromOutsideClick: [{
189
+ type: Input
190
+ }], minHeight: [{
191
+ type: Input
192
+ }], maxHeight: [{
193
+ type: Input
194
+ }], minWidth: [{
195
+ type: Input
196
+ }], maxWidth: [{
197
+ type: Input
198
+ }], dropdownReference: [{
199
+ type: Input
200
+ }], dropdownReferencePosition: [{
201
+ type: Input
202
+ }], isOpenChange: [{
203
+ type: Output
204
+ }], selectedItem: [{
205
+ type: Output
206
+ }], checkboxChanged: [{
207
+ type: Output
208
+ }] } });
209
+
210
+ class UpdDropdownModule {
211
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: UpdDropdownModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
212
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.0", ngImport: i0, type: UpdDropdownModule, declarations: [DropdownComponent], imports: [CommonModule,
213
+ UpdIconsModule,
214
+ UpdRadioModule,
215
+ UpdCheckboxModule,
216
+ UpdButtonModule], exports: [DropdownComponent] }); }
217
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: UpdDropdownModule, imports: [CommonModule,
218
+ UpdIconsModule,
219
+ UpdRadioModule,
220
+ UpdCheckboxModule,
221
+ UpdButtonModule] }); }
222
+ }
223
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: UpdDropdownModule, decorators: [{
224
+ type: NgModule,
225
+ args: [{
226
+ imports: [
227
+ CommonModule,
228
+ UpdIconsModule,
229
+ UpdRadioModule,
230
+ UpdCheckboxModule,
231
+ UpdButtonModule
232
+ ],
233
+ declarations: [
234
+ DropdownComponent
235
+ ],
236
+ exports: [
237
+ DropdownComponent
238
+ ]
239
+ }]
240
+ }] });
241
+
242
+ /**
243
+ * Generated bundle index. Do not edit.
244
+ */
245
+
246
+ export { DropdownComponent, UpdDropdownModule };
247
+ //# sourceMappingURL=updevs-components-dropdown.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updevs-components-dropdown.mjs","sources":["../../../../libs/components/dropdown/src/dropdown.component.ts","../../../../libs/components/dropdown/src/dropdown.component.html","../../../../libs/components/dropdown/src/upd-dropdown.module.ts","../../../../libs/components/dropdown/src/updevs-components-dropdown.ts"],"sourcesContent":["import {\n Component,\n HostBinding,\n ViewEncapsulation,\n Input,\n OnInit,\n OnChanges,\n Output,\n EventEmitter,\n NgZone,\n ElementRef,\n Renderer2,\n RendererStyleFlags2,\n inject, input,\n Injector,\n afterNextRender\n} from '@angular/core';\nimport { BaseComponent, PositioningService, ComputePositionResult, DomEventsService, ButtonModel } from '@updevs/sdk/layout';\nimport { TopBottomLeftRightType, LeftRightType, OverflowStrategyType } from '@updevs/sdk/types';\nimport { TextService } from '@updevs/sdk';\nimport { Subscription } from 'rxjs';\n\nimport { DropdownItem } from './models/dropdown-item';\nimport { DropdownActionClickedModel } from './models/dropdown-action-clicked.model';\n\n@Component({\n selector: 'upd-dropdown',\n templateUrl: './dropdown.component.html',\n styleUrls: ['./dropdown.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class DropdownComponent extends BaseComponent implements OnInit, OnChanges {\n @HostBinding('class') localWrapperClasses = '';\n\n @Input() items: DropdownItem[] = [];\n @Input() header?: string;\n\n @Input()\n set isOpen(value: boolean) {\n this.updateOpenState(value);\n\n if (this.shouldCloseOnOutsideClick) {\n this.closeOnOutsideClick();\n }\n }\n\n @Input() shouldCloseOnOutsideClick = false;\n @Input() arrowType?: LeftRightType;\n @Input() wrapperClasses = '';\n /**\n * Elements that won't trigger the close of the dropdown if clicked upon.\n * Only works when `shouldCloseOnOutsideClick` is set to true.\n */\n @Input() elementsExcludedFromOutsideClick?: HTMLElement[];\n /**\n * Minimum height of the component.\n */\n @Input() minHeight?: number;\n /**\n * Maximum height of the component.\n * If set, scroll bars will be used when the content's size is bigger than the component's.\n */\n @Input() maxHeight?: number;\n /**\n * Minimum width of the component.\n */\n @Input() minWidth?: number;\n /**\n * Maximum width of the component.\n * If set, scroll bars will be used when the content's size is bigger than the component's.\n */\n @Input() maxWidth?: number;\n /**\n * If set, the position of the dropdown will be set according to this element.\n */\n @Input() dropdownReference?: ElementRef;\n /**\n * If a reference is provided, this will be the position of the dropdown in relation to that reference.\n */\n @Input() dropdownReferencePosition: TopBottomLeftRightType = 'bottom';\n\n @Output() readonly isOpenChange = new EventEmitter<boolean>();\n @Output() readonly selectedItem = new EventEmitter<DropdownItem>();\n @Output() readonly checkboxChanged = new EventEmitter<DropdownItem>();\n\n textOverflowStrategy = input<OverflowStrategyType>('wrap');\n\n readonly textService = inject(TextService);\n\n get isOpen(): boolean {\n return this._isOpen;\n }\n\n get overflowClass(): string {\n switch (this.textOverflowStrategy()) {\n case 'no-wrap':\n return 'text-nowrap';\n case 'wrap':\n return 'text-wrap';\n case 'word-break':\n return 'text-break';\n default:\n return 'text-truncate';\n }\n }\n\n private baseWrapperClasses = 'dropdown-menu';\n private _isOpen = false;\n private dropdownOutsideClickSub?: Subscription;\n private readonly dropdownElement: HTMLElement;\n private readonly ngZone = inject(NgZone);\n private readonly elementRef = inject(ElementRef);\n private readonly renderer = inject(Renderer2);\n private readonly positioningService = inject(PositioningService);\n private readonly domEventsService = inject(DomEventsService);\n private readonly injector = inject(Injector);\n\n constructor() {\n super();\n this.dropdownElement = this.elementRef.nativeElement;\n }\n\n ngOnInit(): void {\n this.updateStyle();\n }\n\n ngOnChanges(): void {\n this.updateStyle();\n }\n\n onSelect(item: DropdownItem): void {\n this.selectedItem.emit(item);\n }\n\n onCheckboxChange(item: DropdownItem, isChecked: boolean): void {\n item.isChecked = isChecked;\n this.checkboxChanged.emit(item);\n }\n\n adaptAction(btn: ButtonModel, item: DropdownItem): ButtonModel {\n const defaultFunction = btn.clickFunction;\n btn.clickFunction = (evt) => {\n evt.event?.preventDefault();\n evt.event?.stopPropagation();\n\n if (!!defaultFunction) {\n defaultFunction({ event: evt.event, data: { item, button: btn } as DropdownActionClickedModel });\n }\n };\n\n return btn;\n }\n\n trackByItemId(index: number, item: DropdownItem): any {\n return item.id ?? index;\n }\n\n getButtonClasses(item: DropdownItem): string {\n const classes = ['dropdown-item'];\n\n if (item.isDisabled) {\n classes.push('disabled');\n }\n\n if (item.isActive) {\n classes.push('active');\n }\n\n return classes.join(' ');\n }\n\n private closeOnOutsideClick(): void {\n if (!!this.dropdownOutsideClickSub) {\n this.dropdownOutsideClickSub.unsubscribe();\n }\n\n const excludedElements = [this.dropdownElement];\n\n if (!!this.dropdownReference) {\n excludedElements.push(this.dropdownReference.nativeElement);\n }\n\n this.dropdownOutsideClickSub = this.domEventsService.startOutsideClickListener(\n () => this.ngZone.run(() => {\n this.updateOpenState(false);\n this.updateWrapperClasses();\n }),\n this.dropdownElement,\n true,\n ...excludedElements\n );\n this.addSubscriptions(this.dropdownOutsideClickSub);\n }\n\n private updateStyle(): void {\n this.updateWrapperClasses();\n this.updateMaxHeight();\n\n if (this.isOpen) {\n this.startPositionUpdate();\n }\n }\n\n private updateWrapperClasses(): void {\n this.localWrapperClasses = this.baseWrapperClasses + ' ' + this.wrapperClasses;\n\n if (this.isOpen) {\n this.localWrapperClasses += ' dropdown-show';\n }\n\n if (!!this.arrowType) {\n this.localWrapperClasses += ' dropdown-menu-arrow' + (this.arrowType === 'right' ? ' dropdown-menu-end' : '');\n }\n\n if (!!this.maxHeight) {\n this.localWrapperClasses += ' dropdown-overflow';\n }\n }\n\n private updateOpenState(isOpen: boolean): void {\n this._isOpen = isOpen;\n this.isOpenChange.emit(isOpen);\n }\n\n private updateMaxHeight(): void {\n this.renderer.setStyle(this.dropdownElement, 'max-height', `${this.maxHeight}px`, RendererStyleFlags2.Important);\n }\n\n private startPositionUpdate(): void {\n if (!this.dropdownReference) {\n return;\n }\n\n afterNextRender(() => {\n this.ngZone.runOutsideAngular(() =>\n this.positioningService\n .computePosition(\n this.dropdownReference!,\n this.elementRef,\n { placement: this.dropdownReferencePosition },\n undefined,\n undefined,\n true\n )\n .subscribe(resp => this.updatePosition(resp))\n );\n }, { injector: this.injector });\n }\n\n private updatePosition(result: ComputePositionResult): void {\n const reference = this.dropdownReference!.nativeElement.getBoundingClientRect();\n const ddElement = this.dropdownElement;\n const width = Math.abs(reference.width);\n let widthOffset = 0;\n\n if (!!this.maxWidth) {\n this.renderer.setStyle(ddElement, 'max-width', `${this.maxWidth}px`, RendererStyleFlags2.Important);\n }\n\n if (!!this.minWidth) {\n this.renderer.setStyle(ddElement, 'min-width', `${this.minWidth}px`, RendererStyleFlags2.Important);\n widthOffset = (this.minWidth > width ? this.minWidth - width : 0) / 2; // TODO: check logic\n }\n\n this.renderer.setStyle(ddElement, 'position', result.strategy, RendererStyleFlags2.Important);\n this.renderer.setStyle(ddElement, 'width', `${width}px`, RendererStyleFlags2.Important);\n this.renderer.setStyle(ddElement, 'left', `${result.x - widthOffset}px`, RendererStyleFlags2.Important);\n this.renderer.setStyle(ddElement, 'top', `${result.y}px`, RendererStyleFlags2.Important);\n }\n}\n","@if (!!header) {\n <h6 class=\"dropdown-header\">{{ header }}</h6>\n}\n\n@for (item of items; track trackByItemId($index, item)) {\n @switch (item.type) {\n @case ('divider') {\n <div class=\"dropdown-divider\"></div>\n }\n @case ('default') {\n <upd-button [customClasses]=\"getButtonClasses(item)\"\n [shouldIgnoreBtnClass]=\"true\" (clicked)=\"onSelect(item)\">\n @if (!!item.icon) {\n <upd-icon [model]=\"item.icon\" customClasses=\"dropdown-item-icon\"></upd-icon>\n }\n\n @if (!!item.leftBoxText || !!item.leftBoxImage) {\n <span style=\"background-image: url({{item.leftBoxImage}})\"\n class=\"avatar avatar-xs rounded me-2\">{{ item.leftBoxText }}</span>\n }\n\n {{ textService.getText(item.text) }}\n\n @if (!!item.badgeColor) {\n <span class=\"badge bg-{{item.badgeColor}} ms-auto\">{{ item.badgeText }}</span>\n }\n </upd-button>\n }\n @case ('radio') {\n <upd-radio (selected)=\"onSelect(item)\" [label]=\"item.text\" [isChecked]=\"item.isChecked || false\"\n [wrapperClasses]=\"'dropdown-item' + (item.isDisabled ? ' disabled' : '') + (item.isActive ? ' active' : '')\"></upd-radio>\n }\n @case ('checkbox') {\n <upd-checkbox (changed)=\"onCheckboxChange(item, $event)\" [label]=\"item.text\" [isChecked]=\"item.isChecked || false\"\n [isSwitch]=\"item.isSwitch || false\"\n [wrapperClasses]=\"'dropdown-item' + (item.isDisabled ? ' disabled' : '') + (item.isActive ? ' active' : '')\"></upd-checkbox>\n }\n @case ('with-toolbar') {\n <div class=\"dropdown-item\" [class.disabled]=\"item.isDisabled\" [class.active]=\"item.isActive\" (click)=\"onSelect(item)\">\n @if (!!item.icon) {\n <upd-icon [model]=\"item.icon\" customClasses=\"dropdown-item-icon\"></upd-icon>\n }\n\n @if (!!item.leftBoxText || !!item.leftBoxImage) {\n <span style=\"background-image: url({{item.leftBoxImage}})\"\n class=\"avatar avatar-xs rounded me-2\">{{ item.leftBoxText }}</span>\n }\n\n <span [ngClass]=\"overflowClass\">\n {{ textService.getText(item.text) }}\n </span>\n\n @if ((item.actionButtons?.length || 0) > 0) {\n <div class=\"ms-auto d-flex\" [class.btn-group]=\"item.toolbarType === 'grouped'\"\n [class.gap-1]=\"item.toolbarType === 'spaced'\">\n @for (btn of item.actionButtons; track btn) {\n <upd-button [model]=\"adaptAction(btn, item)\"></upd-button>\n }\n </div>\n }\n\n @if (!!item.badgeColor) {\n <span class=\"badge bg-{{item.badgeColor}} ms-auto\">{{ item.badgeText }}</span>\n }\n </div>\n }\n }\n}\n\n<ng-content></ng-content>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { UpdIconsModule } from '@updevs/icons';\nimport { UpdButtonModule } from '@updevs/components/button';\nimport { UpdRadioModule } from '@updevs/components/form-controls/radio';\nimport { UpdCheckboxModule } from '@updevs/components/form-controls/checkbox';\n\nimport { DropdownComponent } from './dropdown.component';\n\n@NgModule({\n imports: [\n CommonModule,\n UpdIconsModule,\n UpdRadioModule,\n UpdCheckboxModule,\n UpdButtonModule\n ],\n declarations: [\n DropdownComponent\n ],\n exports: [\n DropdownComponent\n ]\n})\nexport class UpdDropdownModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,106 @@
1
+ import * as i0 from '@angular/core';
2
+ import { input, model, inject, DestroyRef, effect, Directive } from '@angular/core';
3
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
4
+ import { TextService } from '@updevs/sdk';
5
+ import { Tools } from '@updevs/sdk/core';
6
+ import { BaseComponent } from '@updevs/sdk/layout';
7
+
8
+ class BaseControl extends BaseComponent {
9
+ get placeholderText() {
10
+ return this._textService.getText(this.placeholder());
11
+ }
12
+ get labelText() {
13
+ return this._textService.getText(this.label());
14
+ }
15
+ get descriptionText() {
16
+ return this._textService.getText(this.description());
17
+ }
18
+ get validationStatusTexts() {
19
+ return this.validationStatusDescriptions().map(desc => this._textService.getText(desc));
20
+ }
21
+ get hintText() {
22
+ return this._textService.getText(this.hint());
23
+ }
24
+ constructor() {
25
+ super();
26
+ this.name = input(Tools.Guid.generate());
27
+ this.placeholder = input();
28
+ this.label = input();
29
+ this.description = input();
30
+ this.validationStatusDescriptions = input([]);
31
+ this.labelColSize = input();
32
+ this.showValidStatus = input(false);
33
+ this.isRequired = input(false);
34
+ this.isDisabled = model(false);
35
+ this.hint = input();
36
+ this.hintTemplate = input();
37
+ this.hintAsTooltip = input(false);
38
+ this.validationStatus = input();
39
+ this.control = input();
40
+ this._textService = inject(TextService);
41
+ this.destroyRef = inject(DestroyRef);
42
+ // Sync FormControl.disabled <-> isDisabled
43
+ effect(() => {
44
+ const control = this.control();
45
+ if (!!control) {
46
+ this.isDisabled.set(control.disabled);
47
+ control.statusChanges
48
+ .pipe(takeUntilDestroyed(this.destroyRef))
49
+ .subscribe(() => this.isDisabled.set(control.disabled));
50
+ }
51
+ });
52
+ // Sync isDisabled -> FormControl
53
+ effect(() => {
54
+ const control = this.control();
55
+ const isDisabled = this.isDisabled();
56
+ if (!!control) {
57
+ if (isDisabled && !control.disabled) {
58
+ control.disable({ emitEvent: false });
59
+ }
60
+ else if (!isDisabled && control.disabled) {
61
+ control.enable({ emitEvent: false });
62
+ }
63
+ }
64
+ });
65
+ // Sync FormControl.value <-> component value
66
+ effect(() => {
67
+ const control = this.control();
68
+ if (!!control) {
69
+ control.valueChanges
70
+ .pipe(takeUntilDestroyed(this.destroyRef))
71
+ .subscribe(value => {
72
+ if (this._getValue() !== value) {
73
+ this._updateValue(value);
74
+ }
75
+ });
76
+ if (control.value !== undefined && control.value !== this._getValue()) {
77
+ this._updateValue(control.value);
78
+ }
79
+ }
80
+ });
81
+ }
82
+ /**
83
+ * Updates the value in the form control.
84
+ * @param value The value to set in the form control.
85
+ * @param emitEvent Whether to emit the valueChanges event.
86
+ */
87
+ _updateFormControl(value, emitEvent = false) {
88
+ const control = this.control();
89
+ if (!!control && control.value !== value) {
90
+ control.setValue(value, { emitEvent });
91
+ }
92
+ }
93
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BaseControl, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
94
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.1.0", type: BaseControl, inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: false, transformFunction: null }, validationStatusDescriptions: { classPropertyName: "validationStatusDescriptions", publicName: "validationStatusDescriptions", isSignal: true, isRequired: false, transformFunction: null }, labelColSize: { classPropertyName: "labelColSize", publicName: "labelColSize", isSignal: true, isRequired: false, transformFunction: null }, showValidStatus: { classPropertyName: "showValidStatus", publicName: "showValidStatus", isSignal: true, isRequired: false, transformFunction: null }, isRequired: { classPropertyName: "isRequired", publicName: "isRequired", isSignal: true, isRequired: false, transformFunction: null }, isDisabled: { classPropertyName: "isDisabled", publicName: "isDisabled", isSignal: true, isRequired: false, transformFunction: null }, hint: { classPropertyName: "hint", publicName: "hint", isSignal: true, isRequired: false, transformFunction: null }, hintTemplate: { classPropertyName: "hintTemplate", publicName: "hintTemplate", isSignal: true, isRequired: false, transformFunction: null }, hintAsTooltip: { classPropertyName: "hintAsTooltip", publicName: "hintAsTooltip", isSignal: true, isRequired: false, transformFunction: null }, validationStatus: { classPropertyName: "validationStatus", publicName: "validationStatus", isSignal: true, isRequired: false, transformFunction: null }, control: { classPropertyName: "control", publicName: "control", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isDisabled: "isDisabledChange" }, usesInheritance: true, ngImport: i0 }); }
95
+ }
96
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BaseControl, decorators: [{
97
+ type: Directive,
98
+ args: [{}]
99
+ }], ctorParameters: () => [] });
100
+
101
+ /**
102
+ * Generated bundle index. Do not edit.
103
+ */
104
+
105
+ export { BaseControl };
106
+ //# sourceMappingURL=updevs-components-form-controls-abstractions.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updevs-components-form-controls-abstractions.mjs","sources":["../../../../libs/components/form-controls/abstractions/src/base-control.ts","../../../../libs/components/form-controls/abstractions/src/updevs-components-form-controls-abstractions.ts"],"sourcesContent":["import { Directive, inject, TemplateRef, input, effect, model, DestroyRef } from '@angular/core';\nimport { AbstractControl } from '@angular/forms';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { TextModel, TextService } from '@updevs/sdk';\nimport { Tools } from '@updevs/sdk/core';\nimport { BaseComponent } from '@updevs/sdk/layout';\nimport { RowColumnSize, ValidationStatusType } from '@updevs/components';\n\n@Directive({})\nexport abstract class BaseControl extends BaseComponent {\n readonly name = input<string>(Tools.Guid.generate());\n readonly placeholder = input<TextModel>();\n readonly label = input<TextModel>();\n readonly description = input<TextModel>();\n readonly validationStatusDescriptions = input<TextModel[]>([]);\n readonly labelColSize = input<RowColumnSize>();\n readonly showValidStatus = input(false);\n readonly isRequired = input(false);\n readonly isDisabled = model<boolean>(false);\n readonly hint = input<TextModel>();\n readonly hintTemplate = input<TemplateRef<any>>();\n readonly hintAsTooltip = input(false);\n readonly validationStatus = input<ValidationStatusType>();\n readonly control = input<AbstractControl>();\n\n protected readonly _textService = inject(TextService);\n\n private readonly destroyRef = inject(DestroyRef);\n\n get placeholderText(): string {\n return this._textService.getText(this.placeholder());\n }\n get labelText(): string {\n return this._textService.getText(this.label());\n }\n get descriptionText(): string {\n return this._textService.getText(this.description());\n }\n get validationStatusTexts(): string[] {\n return this.validationStatusDescriptions().map(desc => this._textService.getText(desc));\n }\n get hintText(): string {\n return this._textService.getText(this.hint());\n }\n\n constructor() {\n super();\n\n // Sync FormControl.disabled <-> isDisabled\n effect(() => {\n const control = this.control();\n\n if (!!control) {\n this.isDisabled.set(control.disabled);\n control.statusChanges\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(() => this.isDisabled.set(control.disabled));\n }\n });\n\n // Sync isDisabled -> FormControl\n effect(() => {\n const control = this.control();\n const isDisabled = this.isDisabled();\n\n if (!!control) {\n if (isDisabled && !control.disabled) {\n control.disable({ emitEvent: false });\n } else if (!isDisabled && control.disabled) {\n control.enable({ emitEvent: false });\n }\n }\n });\n\n // Sync FormControl.value <-> component value\n effect(() => {\n const control = this.control();\n\n if (!!control) {\n control.valueChanges\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(value => {\n if (this._getValue() !== value) {\n this._updateValue(value);\n }\n });\n\n if (control.value !== undefined && control.value !== this._getValue()) {\n this._updateValue(control.value);\n }\n }\n });\n }\n\n /**\n * Updates the value in the form control.\n * @param value The value to set in the form control.\n * @param emitEvent Whether to emit the valueChanges event.\n */\n protected _updateFormControl(value: any, emitEvent = false): void {\n const control = this.control();\n\n if (!!control && control.value !== value) {\n control.setValue(value, { emitEvent });\n }\n }\n\n /**\n * Updates the component's value.\n */\n protected abstract _updateValue(value: any): void;\n\n /**\n * Gets the current component value.\n */\n protected abstract _getValue(): any;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;AASM,MAAgB,WAAY,SAAQ,aAAa,CAAA;AAoBnD,IAAA,IAAI,eAAe,GAAA;QACf,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;;AAExD,IAAA,IAAI,SAAS,GAAA;QACT,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;;AAElD,IAAA,IAAI,eAAe,GAAA;QACf,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;;AAExD,IAAA,IAAI,qBAAqB,GAAA;QACrB,OAAO,IAAI,CAAC,4BAA4B,EAAE,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;;AAE3F,IAAA,IAAI,QAAQ,GAAA;QACR,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;;AAGjD,IAAA,WAAA,GAAA;AACI,QAAA,KAAK,EAAE;QApCF,IAAI,CAAA,IAAA,GAAG,KAAK,CAAS,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC3C,IAAW,CAAA,WAAA,GAAG,KAAK,EAAa;QAChC,IAAK,CAAA,KAAA,GAAG,KAAK,EAAa;QAC1B,IAAW,CAAA,WAAA,GAAG,KAAK,EAAa;AAChC,QAAA,IAAA,CAAA,4BAA4B,GAAG,KAAK,CAAc,EAAE,CAAC;QACrD,IAAY,CAAA,YAAA,GAAG,KAAK,EAAiB;AACrC,QAAA,IAAA,CAAA,eAAe,GAAG,KAAK,CAAC,KAAK,CAAC;AAC9B,QAAA,IAAA,CAAA,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC;AACzB,QAAA,IAAA,CAAA,UAAU,GAAG,KAAK,CAAU,KAAK,CAAC;QAClC,IAAI,CAAA,IAAA,GAAG,KAAK,EAAa;QACzB,IAAY,CAAA,YAAA,GAAG,KAAK,EAAoB;AACxC,QAAA,IAAA,CAAA,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC;QAC5B,IAAgB,CAAA,gBAAA,GAAG,KAAK,EAAwB;QAChD,IAAO,CAAA,OAAA,GAAG,KAAK,EAAmB;AAExB,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC;AAEpC,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;;QAsB5C,MAAM,CAAC,MAAK;AACR,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE;AAE9B,YAAA,IAAI,CAAC,CAAC,OAAO,EAAE;gBACX,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC;AACrC,gBAAA,OAAO,CAAC;AACH,qBAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC;AACxC,qBAAA,SAAS,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;;AAEnE,SAAC,CAAC;;QAGF,MAAM,CAAC,MAAK;AACR,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE;AAC9B,YAAA,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE;AAEpC,YAAA,IAAI,CAAC,CAAC,OAAO,EAAE;AACX,gBAAA,IAAI,UAAU,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;oBACjC,OAAO,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;;AAClC,qBAAA,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,QAAQ,EAAE;oBACxC,OAAO,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;;;AAGhD,SAAC,CAAC;;QAGF,MAAM,CAAC,MAAK;AACR,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE;AAE9B,YAAA,IAAI,CAAC,CAAC,OAAO,EAAE;AACX,gBAAA,OAAO,CAAC;AACH,qBAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC;qBACxC,SAAS,CAAC,KAAK,IAAG;AACf,oBAAA,IAAI,IAAI,CAAC,SAAS,EAAE,KAAK,KAAK,EAAE;AAC5B,wBAAA,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;;AAEhC,iBAAC,CAAC;AAEN,gBAAA,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,CAAC,SAAS,EAAE,EAAE;AACnE,oBAAA,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC;;;AAG5C,SAAC,CAAC;;AAGN;;;;AAIG;AACO,IAAA,kBAAkB,CAAC,KAAU,EAAE,SAAS,GAAG,KAAK,EAAA;AACtD,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE;QAE9B,IAAI,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK,EAAE;YACtC,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,CAAC;;;8GA9F5B,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAX,WAAW,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,4BAAA,EAAA,EAAA,iBAAA,EAAA,8BAAA,EAAA,UAAA,EAAA,8BAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,eAAA,EAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,gBAAA,EAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAX,WAAW,EAAA,UAAA,EAAA,CAAA;kBADhC,SAAS;mBAAC,EAAE;;;ACRb;;AAEG;;;;"}
@@ -0,0 +1,99 @@
1
+ import * as i0 from '@angular/core';
2
+ import { EventEmitter, input, model, computed, effect, ElementRef, Output, ViewChild, HostBinding, Input, ViewEncapsulation, Component, NgModule } from '@angular/core';
3
+ import { BaseControl } from '@updevs/components/form-controls/abstractions';
4
+ import * as i1 from '@angular/common';
5
+ import { CommonModule } from '@angular/common';
6
+ import * as i2 from '@angular/forms';
7
+ import { FormsModule } from '@angular/forms';
8
+ import * as i3 from '@updevs/components/popover';
9
+ import { UpdPopoverModule } from '@updevs/components/popover';
10
+
11
+ class CheckboxComponent extends BaseControl {
12
+ constructor() {
13
+ super();
14
+ this.wrapperClasses = '';
15
+ this.changed = new EventEmitter();
16
+ this.value = input();
17
+ this.customClasses = input();
18
+ this.isChecked = model(false);
19
+ this.isInline = input(false);
20
+ this.isSwitch = input(false);
21
+ this.isIndeterminate = model(false);
22
+ this.classes = computed(() => {
23
+ const lClasses = ['form-check-input'];
24
+ if (!!this.validationStatus()) {
25
+ const statusCls = `is-${this.validationStatus()}`;
26
+ lClasses.push(statusCls);
27
+ }
28
+ return [...lClasses, ...(this.customClasses() || '').split(' ')];
29
+ });
30
+ effect(() => {
31
+ this.isIndeterminate();
32
+ if (!!this.checkboxInput) {
33
+ this.checkboxInput.nativeElement.indeterminate = !!this.isIndeterminate();
34
+ }
35
+ });
36
+ }
37
+ onSelectChange(event) {
38
+ this.isIndeterminate.set(false);
39
+ const isChecked = event.target.checked;
40
+ this.isChecked.set(isChecked);
41
+ this._updateFormControl(isChecked, true);
42
+ this.changed.emit(isChecked);
43
+ }
44
+ _getValue() {
45
+ return this.isChecked();
46
+ }
47
+ _updateValue(value) {
48
+ this.isChecked.set(!!value);
49
+ }
50
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: CheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
51
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: CheckboxComponent, selector: "upd-checkbox", inputs: { wrapperClasses: { classPropertyName: "wrapperClasses", publicName: "wrapperClasses", isSignal: false, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, customClasses: { classPropertyName: "customClasses", publicName: "customClasses", isSignal: true, isRequired: false, transformFunction: null }, isChecked: { classPropertyName: "isChecked", publicName: "isChecked", isSignal: true, isRequired: false, transformFunction: null }, isInline: { classPropertyName: "isInline", publicName: "isInline", isSignal: true, isRequired: false, transformFunction: null }, isSwitch: { classPropertyName: "isSwitch", publicName: "isSwitch", isSignal: true, isRequired: false, transformFunction: null }, isIndeterminate: { classPropertyName: "isIndeterminate", publicName: "isIndeterminate", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { changed: "changed", isChecked: "isCheckedChange", isIndeterminate: "isIndeterminateChange" }, host: { properties: { "class": "this.wrapperClasses" } }, viewQueries: [{ propertyName: "checkboxInput", first: true, predicate: ["checkboxInput"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<label class=\"form-check\" [class.form-check-inline]=\"isInline()\" [class.form-switch]=\"isSwitch()\" [ngClass]=\"customClasses()\">\n @if (!!hintText || !!hintTemplate()) {\n <div class=\"row g-2\">\n <div class=\"col-auto\">\n <ng-template [ngTemplateOutlet]=\"contentTpl\"></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 } @else {\n <ng-template [ngTemplateOutlet]=\"contentTpl\"></ng-template>\n }\n</label>\n\n<ng-template #contentTpl>\n <input #checkboxInput type=\"checkbox\" [disabled]=\"isDisabled()\" [ngClass]=\"classes()\" [value]=\"value()\" [attr.name]=\"name()\"\n [attr.readonly]=\"isDisabled() ? '' : undefined\" [(ngModel)]=\"isChecked\" (change)=\"onSelectChange($event)\">\n\n @if (!!labelText) {\n <span class=\"form-check-label\">{{ labelText }}</span>\n }\n\n @if (!!descriptionText) {\n <span class=\"form-check-description\">{{ descriptionText }}</span>\n }\n\n @if (validationStatus() === 'invalid' && !!validationStatusTexts) {\n <div class=\"invalid-feedback\">{{ validationStatusTexts }}</div>\n }\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: i2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.PopoverDirective, selector: "[updPopover]", inputs: ["updPopover", "updPopoverTitle", "updPopoverTitleTemplate", "updPopoverTemplate", "updPopoverPlacement", "updPopoverCustomClasses", "updPopoverActAsTooltip"] }], encapsulation: i0.ViewEncapsulation.None }); }
52
+ }
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: CheckboxComponent, decorators: [{
54
+ type: Component,
55
+ args: [{ selector: 'upd-checkbox', encapsulation: ViewEncapsulation.None, template: "<label class=\"form-check\" [class.form-check-inline]=\"isInline()\" [class.form-switch]=\"isSwitch()\" [ngClass]=\"customClasses()\">\n @if (!!hintText || !!hintTemplate()) {\n <div class=\"row g-2\">\n <div class=\"col-auto\">\n <ng-template [ngTemplateOutlet]=\"contentTpl\"></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 } @else {\n <ng-template [ngTemplateOutlet]=\"contentTpl\"></ng-template>\n }\n</label>\n\n<ng-template #contentTpl>\n <input #checkboxInput type=\"checkbox\" [disabled]=\"isDisabled()\" [ngClass]=\"classes()\" [value]=\"value()\" [attr.name]=\"name()\"\n [attr.readonly]=\"isDisabled() ? '' : undefined\" [(ngModel)]=\"isChecked\" (change)=\"onSelectChange($event)\">\n\n @if (!!labelText) {\n <span class=\"form-check-label\">{{ labelText }}</span>\n }\n\n @if (!!descriptionText) {\n <span class=\"form-check-description\">{{ descriptionText }}</span>\n }\n\n @if (validationStatus() === 'invalid' && !!validationStatusTexts) {\n <div class=\"invalid-feedback\">{{ validationStatusTexts }}</div>\n }\n</ng-template>\n" }]
56
+ }], ctorParameters: () => [], propDecorators: { wrapperClasses: [{
57
+ type: HostBinding,
58
+ args: ['class']
59
+ }, {
60
+ type: Input
61
+ }], checkboxInput: [{
62
+ type: ViewChild,
63
+ args: ['checkboxInput', { read: ElementRef }]
64
+ }], changed: [{
65
+ type: Output
66
+ }] } });
67
+
68
+ class UpdCheckboxModule {
69
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: UpdCheckboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
70
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.0", ngImport: i0, type: UpdCheckboxModule, declarations: [CheckboxComponent], imports: [CommonModule,
71
+ FormsModule,
72
+ UpdPopoverModule], exports: [CheckboxComponent] }); }
73
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: UpdCheckboxModule, imports: [CommonModule,
74
+ FormsModule,
75
+ UpdPopoverModule] }); }
76
+ }
77
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: UpdCheckboxModule, decorators: [{
78
+ type: NgModule,
79
+ args: [{
80
+ imports: [
81
+ CommonModule,
82
+ FormsModule,
83
+ UpdPopoverModule
84
+ ],
85
+ declarations: [
86
+ CheckboxComponent
87
+ ],
88
+ exports: [
89
+ CheckboxComponent
90
+ ]
91
+ }]
92
+ }] });
93
+
94
+ /**
95
+ * Generated bundle index. Do not edit.
96
+ */
97
+
98
+ export { CheckboxComponent, UpdCheckboxModule };
99
+ //# sourceMappingURL=updevs-components-form-controls-checkbox.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updevs-components-form-controls-checkbox.mjs","sources":["../../../../libs/components/form-controls/checkbox/src/checkbox.component.ts","../../../../libs/components/form-controls/checkbox/src/checkbox.component.html","../../../../libs/components/form-controls/checkbox/src/upd-checkbox.module.ts","../../../../libs/components/form-controls/checkbox/src/updevs-components-form-controls-checkbox.ts"],"sourcesContent":["import {\n Component,\n Input,\n ViewEncapsulation,\n HostBinding,\n Output,\n EventEmitter,\n ViewChild,\n ElementRef,\n effect,\n input,\n model,\n computed\n} from '@angular/core';\nimport { BaseControl } from '@updevs/components/form-controls/abstractions';\n\n@Component({\n selector: 'upd-checkbox',\n templateUrl: './checkbox.component.html',\n styleUrls: ['./checkbox.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class CheckboxComponent extends BaseControl {\n @HostBinding('class') @Input() wrapperClasses = '';\n @ViewChild('checkboxInput', { read: ElementRef }) checkboxInput?: ElementRef;\n\n @Output() readonly changed = new EventEmitter<boolean>();\n\n value = input<any>();\n customClasses = input<string>();\n isChecked = model<boolean>(false);\n isInline = input<boolean>(false);\n isSwitch = input<boolean>(false);\n isIndeterminate = model<boolean>(false);\n classes = computed(() => {\n const lClasses: string[] = ['form-check-input'];\n\n if (!!this.validationStatus()) {\n const statusCls = `is-${this.validationStatus()}`;\n lClasses.push(statusCls);\n }\n\n return [...lClasses, ...(this.customClasses() || '').split(' ')];\n });\n\n constructor() {\n super();\n\n effect(() => {\n this.isIndeterminate();\n\n if (!!this.checkboxInput) {\n this.checkboxInput.nativeElement.indeterminate = !!this.isIndeterminate();\n }\n });\n }\n\n onSelectChange(event: Event): void {\n this.isIndeterminate.set(false);\n\n const isChecked = (event.target as HTMLInputElement).checked;\n\n this.isChecked.set(isChecked);\n this._updateFormControl(isChecked, true);\n this.changed.emit(isChecked);\n }\n\n protected _getValue(): any {\n return this.isChecked();\n }\n\n protected _updateValue(value: any): void {\n this.isChecked.set(!!value);\n }\n}\n","<label class=\"form-check\" [class.form-check-inline]=\"isInline()\" [class.form-switch]=\"isSwitch()\" [ngClass]=\"customClasses()\">\n @if (!!hintText || !!hintTemplate()) {\n <div class=\"row g-2\">\n <div class=\"col-auto\">\n <ng-template [ngTemplateOutlet]=\"contentTpl\"></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 } @else {\n <ng-template [ngTemplateOutlet]=\"contentTpl\"></ng-template>\n }\n</label>\n\n<ng-template #contentTpl>\n <input #checkboxInput type=\"checkbox\" [disabled]=\"isDisabled()\" [ngClass]=\"classes()\" [value]=\"value()\" [attr.name]=\"name()\"\n [attr.readonly]=\"isDisabled() ? '' : undefined\" [(ngModel)]=\"isChecked\" (change)=\"onSelectChange($event)\">\n\n @if (!!labelText) {\n <span class=\"form-check-label\">{{ labelText }}</span>\n }\n\n @if (!!descriptionText) {\n <span class=\"form-check-description\">{{ descriptionText }}</span>\n }\n\n @if (validationStatus() === 'invalid' && !!validationStatusTexts) {\n <div class=\"invalid-feedback\">{{ validationStatusTexts }}</div>\n }\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { UpdPopoverModule } from '@updevs/components/popover';\n\nimport { CheckboxComponent } from './checkbox.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n UpdPopoverModule\n ],\n declarations: [\n CheckboxComponent\n ],\n exports: [\n CheckboxComponent\n ]\n})\nexport class UpdCheckboxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}