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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (736) hide show
  1. package/README.md +1 -8
  2. package/assets/styles/_core.scss +9 -0
  3. package/assets/styles/_debug.scss +49 -0
  4. package/assets/styles/_props.scss +91 -0
  5. package/assets/styles/_updevs.scss +12 -0
  6. package/assets/styles/_utilities-marketing.scss +209 -0
  7. package/assets/styles/_utilities.scss +127 -92
  8. package/assets/styles/_variables-dark.scss +8 -6
  9. package/assets/styles/_variables.scss +326 -257
  10. package/assets/styles/helpers/_index.scss +143 -0
  11. package/assets/styles/layout/_core.scss +3 -2
  12. package/assets/styles/layout/_dark.scss +40 -35
  13. package/assets/styles/layout/_footer.scss +1 -1
  14. package/assets/styles/layout/_navbar.scss +31 -19
  15. package/assets/styles/layout/_page.scss +6 -5
  16. package/assets/styles/layout/_root.scss +26 -34
  17. package/assets/styles/marketing/_browser.scss +67 -0
  18. package/assets/styles/marketing/_core.scss +8 -0
  19. package/assets/styles/marketing/_filters.scss +0 -0
  20. package/assets/styles/marketing/_hero.scss +70 -0
  21. package/assets/styles/marketing/_pricing.scss +111 -0
  22. package/assets/styles/marketing/_sections.scss +124 -0
  23. package/assets/styles/marketing/_shape.scss +31 -0
  24. package/assets/styles/mixins/_functions.scss +53 -0
  25. package/assets/styles/mixins/_mixins.scss +9 -9
  26. package/assets/styles/ui/_accordion.scss +165 -11
  27. package/assets/styles/ui/_alerts.scss +80 -38
  28. package/assets/styles/ui/_avatars.scss +36 -9
  29. package/assets/styles/ui/_badges.scss +47 -13
  30. package/assets/styles/ui/_button-group.scss +1 -1
  31. package/assets/styles/ui/_buttons.scss +33 -37
  32. package/assets/styles/ui/_calendars.scss +2 -2
  33. package/assets/styles/ui/_cards.scss +9 -0
  34. package/assets/styles/ui/_carousel.scss +1 -1
  35. package/assets/styles/ui/_charts.scss +1 -1
  36. package/assets/styles/ui/_chat.scss +38 -0
  37. package/assets/styles/ui/_close.scss +54 -1
  38. package/assets/styles/ui/_datagrid.scss +1 -1
  39. package/assets/styles/ui/_dropdowns.scss +3 -0
  40. package/assets/styles/ui/_empty.scss +0 -5
  41. package/assets/styles/ui/_flags.scss +2 -2
  42. package/assets/styles/ui/_forms.scss +33 -7
  43. package/assets/styles/ui/_grid.scss +1 -1
  44. package/assets/styles/ui/_icons.scss +1 -1
  45. package/assets/styles/ui/_images.scss +4 -0
  46. package/assets/styles/ui/_lists.scss +12 -16
  47. package/assets/styles/ui/_loaders.scss +1 -1
  48. package/assets/styles/ui/_markdown.scss +15 -4
  49. package/assets/styles/ui/_modals.scss +2 -2
  50. package/assets/styles/ui/_nav.scss +17 -3
  51. package/assets/styles/ui/_offcanvas.scss +2 -2
  52. package/assets/styles/ui/_pagination.scss +2 -0
  53. package/assets/styles/ui/_payments.scss +1 -1
  54. package/assets/styles/ui/_placeholder.scss +1 -1
  55. package/assets/styles/ui/_progress.scss +1 -1
  56. package/assets/styles/ui/_ribbons.scss +1 -0
  57. package/assets/styles/ui/_segmented.scss +101 -0
  58. package/assets/styles/ui/_signature.scss +15 -0
  59. package/assets/styles/ui/_social.scss +52 -0
  60. package/assets/styles/ui/_status.scss +1 -1
  61. package/assets/styles/ui/_steps.scss +5 -1
  62. package/assets/styles/ui/_switch-icon.scss +1 -1
  63. package/assets/styles/ui/_tables.scss +27 -1
  64. package/assets/styles/ui/_tags.scss +1 -1
  65. package/assets/styles/ui/_timeline.scss +1 -1
  66. package/assets/styles/ui/_toasts.scss +0 -1
  67. package/assets/styles/ui/_tracking.scss +1 -1
  68. package/assets/styles/ui/_type.scss +169 -8
  69. package/assets/styles/ui/forms/_form-check.scss +1 -1
  70. package/assets/styles/ui/forms/_form-colorinput.scss +1 -1
  71. package/assets/styles/ui/forms/_form-custom.scss +1 -1
  72. package/assets/styles/ui/forms/_form-imagecheck.scss +6 -5
  73. package/assets/styles/ui/forms/_form-selectgroup.scss +2 -2
  74. package/assets/styles/ui/typo/_hr.scss +4 -2
  75. package/assets/styles/utils/_colors.scss +72 -11
  76. package/assets/styles/utils/_opacity.scss +1 -1
  77. package/assets/styles/utils/_scroll.scss +0 -2
  78. package/assets/styles/utils/_sizing.scss +1 -1
  79. package/assets/styles/utils/_text.scss +1 -2
  80. package/assets/styles/vendor/_apexcharts.scss +52 -0
  81. package/assets/styles/vendor/_coloris.scss +72 -0
  82. package/assets/styles/vendor/_dropzone.scss +27 -0
  83. package/assets/styles/vendor/_fslightbox.scss +13 -0
  84. package/assets/styles/vendor/_jsvectormap.scss +47 -0
  85. package/assets/styles/vendor/_litepicker.scss +69 -0
  86. package/assets/styles/vendor/_nouislider.scss +49 -0
  87. package/assets/styles/vendor/_plyr.scss +3 -0
  88. package/assets/styles/vendor/_stars-rating.scss +22 -0
  89. package/assets/styles/vendor/_tom-select.scss +81 -0
  90. package/assets/styles/vendor/_turbo.scss +3 -0
  91. package/assets/styles/vendor/_typed.scss +4 -0
  92. package/assets/styles/vendor/_wysiwyg.scss +46 -0
  93. package/fesm2022/updevs-components-badge.mjs +29 -31
  94. package/fesm2022/updevs-components-badge.mjs.map +1 -1
  95. package/fesm2022/updevs-components-button.mjs +41 -41
  96. package/fesm2022/updevs-components-button.mjs.map +1 -1
  97. package/fesm2022/updevs-components-calendar.mjs +327 -1456
  98. package/fesm2022/updevs-components-calendar.mjs.map +1 -1
  99. package/fesm2022/updevs-components-card.mjs +25 -21
  100. package/fesm2022/updevs-components-card.mjs.map +1 -1
  101. package/fesm2022/updevs-components-drag-and-drop.mjs +17 -17
  102. package/fesm2022/updevs-components-drag-and-drop.mjs.map +1 -1
  103. package/fesm2022/updevs-components-dropdown.mjs +41 -20
  104. package/fesm2022/updevs-components-dropdown.mjs.map +1 -1
  105. package/fesm2022/updevs-components-form-controls-abstractions.mjs +77 -18
  106. package/fesm2022/updevs-components-form-controls-abstractions.mjs.map +1 -1
  107. package/fesm2022/updevs-components-form-controls-checkbox.mjs +31 -21
  108. package/fesm2022/updevs-components-form-controls-checkbox.mjs.map +1 -1
  109. package/fesm2022/updevs-components-form-controls-date-picker.mjs +51 -66
  110. package/fesm2022/updevs-components-form-controls-date-picker.mjs.map +1 -1
  111. package/fesm2022/updevs-components-form-controls-file-upload.mjs +272 -0
  112. package/fesm2022/updevs-components-form-controls-file-upload.mjs.map +1 -0
  113. package/fesm2022/updevs-components-form-controls-input.mjs +46 -28
  114. package/fesm2022/updevs-components-form-controls-input.mjs.map +1 -1
  115. package/fesm2022/updevs-components-form-controls-radio.mjs +20 -14
  116. package/fesm2022/updevs-components-form-controls-radio.mjs.map +1 -1
  117. package/fesm2022/updevs-components-form-controls-select.mjs +288 -111
  118. package/fesm2022/updevs-components-form-controls-select.mjs.map +1 -1
  119. package/fesm2022/updevs-components-form-controls-textarea.mjs +25 -20
  120. package/fesm2022/updevs-components-form-controls-textarea.mjs.map +1 -1
  121. package/fesm2022/updevs-components-form-controls-time-picker.mjs +14 -13
  122. package/fesm2022/updevs-components-form-controls-time-picker.mjs.map +1 -1
  123. package/fesm2022/updevs-components-form.mjs +255 -71
  124. package/fesm2022/updevs-components-form.mjs.map +1 -1
  125. package/fesm2022/updevs-components-layout.mjs +597 -330
  126. package/fesm2022/updevs-components-layout.mjs.map +1 -1
  127. package/fesm2022/updevs-components-link.mjs +9 -9
  128. package/fesm2022/updevs-components-link.mjs.map +1 -1
  129. package/fesm2022/updevs-components-list.mjs +20 -10
  130. package/fesm2022/updevs-components-list.mjs.map +1 -1
  131. package/fesm2022/updevs-components-modal.mjs +27 -25
  132. package/fesm2022/updevs-components-modal.mjs.map +1 -1
  133. package/fesm2022/updevs-components-paginator.mjs +38 -37
  134. package/fesm2022/updevs-components-paginator.mjs.map +1 -1
  135. package/fesm2022/updevs-components-popover.mjs +32 -40
  136. package/fesm2022/updevs-components-popover.mjs.map +1 -1
  137. package/fesm2022/updevs-components-pricing.mjs +130 -0
  138. package/fesm2022/updevs-components-pricing.mjs.map +1 -0
  139. package/fesm2022/updevs-components-table.mjs +678 -333
  140. package/fesm2022/updevs-components-table.mjs.map +1 -1
  141. package/fesm2022/updevs-components.mjs +5 -5
  142. package/fesm2022/updevs-components.mjs.map +1 -1
  143. package/package.json +70 -101
  144. package/types/updevs-components-badge.d.ts +44 -0
  145. package/types/updevs-components-button.d.ts +75 -0
  146. package/types/updevs-components-calendar.d.ts +175 -0
  147. package/{card/card.component.d.ts → types/updevs-components-card.d.ts} +52 -14
  148. package/types/updevs-components-drag-and-drop.d.ts +74 -0
  149. package/{dropdown/dropdown.component.d.ts → types/updevs-components-dropdown.d.ts} +56 -8
  150. package/types/updevs-components-form-controls-abstractions.d.ts +49 -0
  151. package/types/updevs-components-form-controls-checkbox.d.ts +33 -0
  152. package/types/updevs-components-form-controls-date-picker.d.ts +80 -0
  153. package/types/updevs-components-form-controls-file-upload.d.ts +69 -0
  154. package/types/updevs-components-form-controls-input.d.ts +95 -0
  155. package/types/updevs-components-form-controls-radio.d.ts +32 -0
  156. package/types/updevs-components-form-controls-select.d.ts +200 -0
  157. package/types/updevs-components-form-controls-textarea.d.ts +31 -0
  158. package/types/updevs-components-form-controls-time-picker.d.ts +164 -0
  159. package/types/updevs-components-form.d.ts +356 -0
  160. package/types/updevs-components-layout.d.ts +490 -0
  161. package/{link/link.component.d.ts → types/updevs-components-link.d.ts} +16 -4
  162. package/types/updevs-components-list.d.ts +107 -0
  163. package/types/updevs-components-modal.d.ts +155 -0
  164. package/types/updevs-components-paginator.d.ts +58 -0
  165. package/types/updevs-components-popover.d.ts +63 -0
  166. package/types/updevs-components-pricing.d.ts +91 -0
  167. package/types/updevs-components-table.d.ts +619 -0
  168. package/types/updevs-components.d.ts +44 -0
  169. package/badge/badge-config.model.d.ts +0 -14
  170. package/badge/badge.component.d.ts +0 -24
  171. package/badge/badge.config.d.ts +0 -12
  172. package/badge/index.d.ts +0 -1
  173. package/badge/public-api.d.ts +0 -3
  174. package/badge/upd-badge.module.d.ts +0 -8
  175. package/button/button.component.d.ts +0 -61
  176. package/button/index.d.ts +0 -1
  177. package/button/public-api.d.ts +0 -2
  178. package/button/upd-button.module.d.ts +0 -10
  179. package/calendar/calendar.component.d.ts +0 -127
  180. package/calendar/components/calendar-body/calendar-body.component.d.ts +0 -263
  181. package/calendar/components/calendar-header/calendar-header.component.d.ts +0 -57
  182. package/calendar/components/calendar-month-view/calendar-month-view.component.d.ts +0 -151
  183. package/calendar/components/calendar-multi-year-view/calendar-multi-year-view.component.d.ts +0 -10
  184. package/calendar/components/calendar-year-view/calendar-year-view.component.d.ts +0 -9
  185. package/calendar/index.d.ts +0 -1
  186. package/calendar/models/calendar-cell.model.d.ts +0 -16
  187. package/calendar/models/calendar-user-event.model.d.ts +0 -4
  188. package/calendar/models/date-range.model.d.ts +0 -26
  189. package/calendar/models/public-api.d.ts +0 -2
  190. package/calendar/public-api.d.ts +0 -5
  191. package/calendar/services/calendar-range-strategy.service.d.ts +0 -35
  192. package/calendar/services/calendar-signals.service.d.ts +0 -24
  193. package/calendar/services/calendar.service.d.ts +0 -15
  194. package/calendar/services/public-api.d.ts +0 -1
  195. package/calendar/tools/events-options.d.ts +0 -12
  196. package/calendar/tools/keyboard-tools.d.ts +0 -9
  197. package/calendar/tools/passive-listeners.d.ts +0 -16
  198. package/calendar/types/calendar-cell-class-function.type.d.ts +0 -3
  199. package/calendar/types/calendar-cell-css-classes.type.d.ts +0 -3
  200. package/calendar/types/calendar-view.type.d.ts +0 -1
  201. package/calendar/types/modifier-key.type.d.ts +0 -1
  202. package/calendar/types/public-api.d.ts +0 -1
  203. package/calendar/upd-calendar.module.d.ts +0 -18
  204. package/card/directives/card-actions.directive.d.ts +0 -7
  205. package/card/directives/card-footer.directive.d.ts +0 -7
  206. package/card/directives/card-header.directive.d.ts +0 -7
  207. package/card/directives/card-image.directive.d.ts +0 -7
  208. package/card/directives/public-api.d.ts +0 -4
  209. package/card/index.d.ts +0 -1
  210. package/card/public-api.d.ts +0 -3
  211. package/card/types/card-state.type.d.ts +0 -1
  212. package/card/types/card-style.type.d.ts +0 -1
  213. package/card/types/hover-effect.type.d.ts +0 -1
  214. package/card/types/ribbon-style.type.d.ts +0 -1
  215. package/card/types/status-position.type.d.ts +0 -1
  216. package/card/upd-card.module.d.ts +0 -14
  217. package/drag-and-drop/drag-and-drop.component.d.ts +0 -26
  218. package/drag-and-drop/index.d.ts +0 -1
  219. package/drag-and-drop/models/drag-and-drop-column.config.d.ts +0 -8
  220. package/drag-and-drop/models/drag-and-drop-column.model.d.ts +0 -10
  221. package/drag-and-drop/models/drag-and-drop-item.d.ts +0 -7
  222. package/drag-and-drop/models/drag-and-drop-item.model.d.ts +0 -13
  223. package/drag-and-drop/models/drag-and-drop.config.d.ts +0 -6
  224. package/drag-and-drop/models/public-api.d.ts +0 -4
  225. package/drag-and-drop/public-api.d.ts +0 -3
  226. package/drag-and-drop/upd-drag-and-drop.module.d.ts +0 -9
  227. package/dropdown/index.d.ts +0 -1
  228. package/dropdown/models/dropdown-action-clicked.model.d.ts +0 -6
  229. package/dropdown/models/dropdown-item.d.ts +0 -24
  230. package/dropdown/models/dropdown-item.type.d.ts +0 -1
  231. package/dropdown/models/public-api.d.ts +0 -4
  232. package/dropdown/models/toolbar.type.d.ts +0 -1
  233. package/dropdown/public-api.d.ts +0 -3
  234. package/dropdown/upd-dropdown.module.d.ts +0 -12
  235. package/esm2022/badge/badge-config.model.mjs +0 -14
  236. package/esm2022/badge/badge.component.mjs +0 -50
  237. package/esm2022/badge/badge.config.mjs +0 -2
  238. package/esm2022/badge/index.mjs +0 -2
  239. package/esm2022/badge/public-api.mjs +0 -4
  240. package/esm2022/badge/upd-badge.module.mjs +0 -24
  241. package/esm2022/badge/updevs-components-badge.mjs +0 -5
  242. package/esm2022/button/button.component.mjs +0 -157
  243. package/esm2022/button/index.mjs +0 -2
  244. package/esm2022/button/public-api.mjs +0 -3
  245. package/esm2022/button/upd-button.module.mjs +0 -32
  246. package/esm2022/button/updevs-components-button.mjs +0 -5
  247. package/esm2022/calendar/assets/i18n/en.json +0 -16
  248. package/esm2022/calendar/assets/i18n/pt.json +0 -16
  249. package/esm2022/calendar/calendar.component.mjs +0 -247
  250. package/esm2022/calendar/components/calendar-body/calendar-body.component.mjs +0 -515
  251. package/esm2022/calendar/components/calendar-header/calendar-header.component.mjs +0 -144
  252. package/esm2022/calendar/components/calendar-month-view/calendar-month-view.component.mjs +0 -423
  253. package/esm2022/calendar/components/calendar-multi-year-view/calendar-multi-year-view.component.mjs +0 -18
  254. package/esm2022/calendar/components/calendar-year-view/calendar-year-view.component.mjs +0 -17
  255. package/esm2022/calendar/index.mjs +0 -2
  256. package/esm2022/calendar/models/calendar-cell.model.mjs +0 -18
  257. package/esm2022/calendar/models/calendar-user-event.model.mjs +0 -2
  258. package/esm2022/calendar/models/date-range.model.mjs +0 -18
  259. package/esm2022/calendar/models/public-api.mjs +0 -3
  260. package/esm2022/calendar/public-api.mjs +0 -6
  261. package/esm2022/calendar/services/calendar-range-strategy.service.mjs +0 -99
  262. package/esm2022/calendar/services/calendar-signals.service.mjs +0 -47
  263. package/esm2022/calendar/services/calendar.service.mjs +0 -40
  264. package/esm2022/calendar/services/public-api.mjs +0 -2
  265. package/esm2022/calendar/tools/events-options.mjs +0 -14
  266. package/esm2022/calendar/tools/keyboard-tools.mjs +0 -14
  267. package/esm2022/calendar/tools/passive-listeners.mjs +0 -29
  268. package/esm2022/calendar/types/calendar-cell-class-function.type.mjs +0 -2
  269. package/esm2022/calendar/types/calendar-cell-css-classes.type.mjs +0 -2
  270. package/esm2022/calendar/types/calendar-view.type.mjs +0 -2
  271. package/esm2022/calendar/types/modifier-key.type.mjs +0 -2
  272. package/esm2022/calendar/types/public-api.mjs +0 -2
  273. package/esm2022/calendar/upd-calendar.module.mjs +0 -69
  274. package/esm2022/calendar/updevs-components-calendar.mjs +0 -5
  275. package/esm2022/card/card.component.mjs +0 -136
  276. package/esm2022/card/directives/card-actions.directive.mjs +0 -16
  277. package/esm2022/card/directives/card-footer.directive.mjs +0 -16
  278. package/esm2022/card/directives/card-header.directive.mjs +0 -16
  279. package/esm2022/card/directives/card-image.directive.mjs +0 -16
  280. package/esm2022/card/directives/public-api.mjs +0 -5
  281. package/esm2022/card/index.mjs +0 -2
  282. package/esm2022/card/public-api.mjs +0 -4
  283. package/esm2022/card/types/card-state.type.mjs +0 -2
  284. package/esm2022/card/types/card-style.type.mjs +0 -2
  285. package/esm2022/card/types/hover-effect.type.mjs +0 -2
  286. package/esm2022/card/types/ribbon-style.type.mjs +0 -2
  287. package/esm2022/card/types/status-position.type.mjs +0 -2
  288. package/esm2022/card/upd-card.module.mjs +0 -50
  289. package/esm2022/card/updevs-components-card.mjs +0 -5
  290. package/esm2022/drag-and-drop/drag-and-drop.component.mjs +0 -134
  291. package/esm2022/drag-and-drop/index.mjs +0 -2
  292. package/esm2022/drag-and-drop/models/drag-and-drop-column.config.mjs +0 -2
  293. package/esm2022/drag-and-drop/models/drag-and-drop-column.model.mjs +0 -9
  294. package/esm2022/drag-and-drop/models/drag-and-drop-item.mjs +0 -2
  295. package/esm2022/drag-and-drop/models/drag-and-drop-item.model.mjs +0 -14
  296. package/esm2022/drag-and-drop/models/drag-and-drop.config.mjs +0 -2
  297. package/esm2022/drag-and-drop/models/public-api.mjs +0 -5
  298. package/esm2022/drag-and-drop/public-api.mjs +0 -4
  299. package/esm2022/drag-and-drop/upd-drag-and-drop.module.mjs +0 -28
  300. package/esm2022/drag-and-drop/updevs-components-drag-and-drop.mjs +0 -5
  301. package/esm2022/dropdown/dropdown.component.mjs +0 -182
  302. package/esm2022/dropdown/index.mjs +0 -2
  303. package/esm2022/dropdown/models/dropdown-action-clicked.model.mjs +0 -2
  304. package/esm2022/dropdown/models/dropdown-item.mjs +0 -2
  305. package/esm2022/dropdown/models/dropdown-item.type.mjs +0 -2
  306. package/esm2022/dropdown/models/public-api.mjs +0 -5
  307. package/esm2022/dropdown/models/toolbar.type.mjs +0 -2
  308. package/esm2022/dropdown/public-api.mjs +0 -4
  309. package/esm2022/dropdown/upd-dropdown.module.mjs +0 -40
  310. package/esm2022/dropdown/updevs-components-dropdown.mjs +0 -5
  311. package/esm2022/form/assets/i18n/en.json +0 -17
  312. package/esm2022/form/assets/i18n/pt.json +0 -17
  313. package/esm2022/form/components/dynamic-field/dynamic-field.component.mjs +0 -96
  314. package/esm2022/form/form.component.mjs +0 -102
  315. package/esm2022/form/index.mjs +0 -2
  316. package/esm2022/form/models/checkbox-field.model.mjs +0 -2
  317. package/esm2022/form/models/checkbox-group-field.model.mjs +0 -2
  318. package/esm2022/form/models/dynamic-field.model.mjs +0 -2
  319. package/esm2022/form/models/enums/dynamic-field.type.mjs +0 -14
  320. package/esm2022/form/models/enums/public-api.mjs +0 -2
  321. package/esm2022/form/models/form-row.model.mjs +0 -2
  322. package/esm2022/form/models/public-api.mjs +0 -6
  323. package/esm2022/form/models/radio-field.model.mjs +0 -2
  324. package/esm2022/form/models/radio-group-field.model.mjs +0 -2
  325. package/esm2022/form/models/select-field.model.mjs +0 -2
  326. package/esm2022/form/models/single-select-field.model.mjs +0 -2
  327. package/esm2022/form/models/textarea-field.model.mjs +0 -2
  328. package/esm2022/form/models/validator-config.mjs +0 -2
  329. package/esm2022/form/public-api.mjs +0 -4
  330. package/esm2022/form/tools/errors-helper.mjs +0 -54
  331. package/esm2022/form/upd-form.module.mjs +0 -75
  332. package/esm2022/form/updevs-components-form.mjs +0 -5
  333. package/esm2022/form-controls/abstractions/base-control.mjs +0 -40
  334. package/esm2022/form-controls/abstractions/index.mjs +0 -2
  335. package/esm2022/form-controls/abstractions/public-api.mjs +0 -2
  336. package/esm2022/form-controls/abstractions/updevs-components-form-controls-abstractions.mjs +0 -5
  337. package/esm2022/form-controls/checkbox/checkbox.component.mjs +0 -53
  338. package/esm2022/form-controls/checkbox/index.mjs +0 -2
  339. package/esm2022/form-controls/checkbox/public-api.mjs +0 -3
  340. package/esm2022/form-controls/checkbox/upd-checkbox.module.mjs +0 -32
  341. package/esm2022/form-controls/checkbox/updevs-components-form-controls-checkbox.mjs +0 -5
  342. package/esm2022/form-controls/date-picker/date-picker.component.mjs +0 -147
  343. package/esm2022/form-controls/date-picker/index.mjs +0 -2
  344. package/esm2022/form-controls/date-picker/public-api.mjs +0 -3
  345. package/esm2022/form-controls/date-picker/upd-date-picker.module.mjs +0 -40
  346. package/esm2022/form-controls/date-picker/updevs-components-form-controls-date-picker.mjs +0 -5
  347. package/esm2022/form-controls/input/directives/input-append.directive.mjs +0 -16
  348. package/esm2022/form-controls/input/directives/input-prepend.directive.mjs +0 -16
  349. package/esm2022/form-controls/input/directives/public-api.mjs +0 -3
  350. package/esm2022/form-controls/input/index.mjs +0 -2
  351. package/esm2022/form-controls/input/input.component.mjs +0 -189
  352. package/esm2022/form-controls/input/public-api.mjs +0 -5
  353. package/esm2022/form-controls/input/types/input.type.mjs +0 -2
  354. package/esm2022/form-controls/input/types/loader-position.type.mjs +0 -2
  355. package/esm2022/form-controls/input/types/public-api.mjs +0 -3
  356. package/esm2022/form-controls/input/upd-input.module.mjs +0 -46
  357. package/esm2022/form-controls/input/updevs-components-form-controls-input.mjs +0 -5
  358. package/esm2022/form-controls/radio/index.mjs +0 -2
  359. package/esm2022/form-controls/radio/public-api.mjs +0 -3
  360. package/esm2022/form-controls/radio/radio.component.mjs +0 -56
  361. package/esm2022/form-controls/radio/upd-radio.module.mjs +0 -32
  362. package/esm2022/form-controls/radio/updevs-components-form-controls-radio.mjs +0 -5
  363. package/esm2022/form-controls/select/components/multiple/select-multiple.component.mjs +0 -76
  364. package/esm2022/form-controls/select/components/single/select.component.mjs +0 -72
  365. package/esm2022/form-controls/select/index.mjs +0 -2
  366. package/esm2022/form-controls/select/models/abstractions/base-select.component.mjs +0 -221
  367. package/esm2022/form-controls/select/models/defaults.mjs +0 -8
  368. package/esm2022/form-controls/select/models/public-api.mjs +0 -3
  369. package/esm2022/form-controls/select/models/select-item.mjs +0 -2
  370. package/esm2022/form-controls/select/public-api.mjs +0 -5
  371. package/esm2022/form-controls/select/upd-select.module.mjs +0 -57
  372. package/esm2022/form-controls/select/updevs-components-form-controls-select.mjs +0 -5
  373. package/esm2022/form-controls/textarea/index.mjs +0 -2
  374. package/esm2022/form-controls/textarea/public-api.mjs +0 -3
  375. package/esm2022/form-controls/textarea/textarea.component.mjs +0 -46
  376. package/esm2022/form-controls/textarea/upd-textarea.module.mjs +0 -24
  377. package/esm2022/form-controls/textarea/updevs-components-form-controls-textarea.mjs +0 -5
  378. package/esm2022/form-controls/time-picker/assets/i18n/en.json +0 -5
  379. package/esm2022/form-controls/time-picker/assets/i18n/pt.json +0 -5
  380. package/esm2022/form-controls/time-picker/index.mjs +0 -2
  381. package/esm2022/form-controls/time-picker/public-api.mjs +0 -4
  382. package/esm2022/form-controls/time-picker/time-picker.component.mjs +0 -130
  383. package/esm2022/form-controls/time-picker/time-selector/time-selector.component.mjs +0 -124
  384. package/esm2022/form-controls/time-picker/upd-time-picker.module.mjs +0 -60
  385. package/esm2022/form-controls/time-picker/updevs-components-form-controls-time-picker.mjs +0 -5
  386. package/esm2022/index.mjs +0 -2
  387. package/esm2022/layout/abstractions/base-page.component.mjs +0 -23
  388. package/esm2022/layout/abstractions/base.layout.mjs +0 -31
  389. package/esm2022/layout/abstractions/public-api.mjs +0 -2
  390. package/esm2022/layout/assets/i18n/en.json +0 -20
  391. package/esm2022/layout/assets/i18n/pt.json +0 -20
  392. package/esm2022/layout/index.mjs +0 -2
  393. package/esm2022/layout/layouts/blank-layout/blank-layout.component.mjs +0 -11
  394. package/esm2022/layout/layouts/blank-layout/blank-layout.module.mjs +0 -24
  395. package/esm2022/layout/layouts/public-api.mjs +0 -5
  396. package/esm2022/layout/layouts/vertical-sidebar-layout/vertical-sidebar-layout.component.mjs +0 -31
  397. package/esm2022/layout/layouts/vertical-sidebar-layout/vertical-sidebar-layout.module.mjs +0 -80
  398. package/esm2022/layout/models/login-page-config.model.mjs +0 -20
  399. package/esm2022/layout/models/login-page.config.mjs +0 -2
  400. package/esm2022/layout/models/public-api.mjs +0 -3
  401. package/esm2022/layout/models/security-layout-config.model.mjs +0 -10
  402. package/esm2022/layout/models/security-layout.config.mjs +0 -2
  403. package/esm2022/layout/models/upd-layout-config.model.mjs +0 -24
  404. package/esm2022/layout/models/upd-layout.config.mjs +0 -2
  405. package/esm2022/layout/pages/auth-flow/auth-flow-routing.module.mjs +0 -28
  406. package/esm2022/layout/pages/auth-flow/auth-flow.module.mjs +0 -65
  407. package/esm2022/layout/pages/auth-flow/logged-out/logged-out.component.mjs +0 -11
  408. package/esm2022/layout/pages/auth-flow/login/login.component.mjs +0 -99
  409. package/esm2022/layout/pages/auth-flow/oauth-callback/oauth-callback.component.mjs +0 -11
  410. package/esm2022/layout/pages/auth-flow/public-api.mjs +0 -6
  411. package/esm2022/layout/pages/public-api.mjs +0 -2
  412. package/esm2022/layout/partials/footer/footer-copyright.directive.mjs +0 -13
  413. package/esm2022/layout/partials/footer/footer.component.mjs +0 -55
  414. package/esm2022/layout/partials/footer/public-api.mjs +0 -3
  415. package/esm2022/layout/partials/header/header-style.type.mjs +0 -2
  416. package/esm2022/layout/partials/header/header.component.mjs +0 -77
  417. package/esm2022/layout/partials/header/public-api.mjs +0 -3
  418. package/esm2022/layout/partials/page-header/page-header.component.mjs +0 -15
  419. package/esm2022/layout/partials/page-header/public-api.mjs +0 -2
  420. package/esm2022/layout/partials/public-api.mjs +0 -5
  421. package/esm2022/layout/partials/sidebar/public-api.mjs +0 -2
  422. package/esm2022/layout/partials/sidebar/sidebar.component.mjs +0 -112
  423. package/esm2022/layout/public-api.mjs +0 -8
  424. package/esm2022/layout/services/public-api.mjs +0 -2
  425. package/esm2022/layout/services/upd-layout-config.service.mjs +0 -21
  426. package/esm2022/layout/tools/layout.constants.mjs +0 -15
  427. package/esm2022/layout/upd-layout.module.mjs +0 -43
  428. package/esm2022/layout/updevs-components-layout.mjs +0 -5
  429. package/esm2022/lib/index.mjs +0 -2
  430. package/esm2022/lib/models/public-api.mjs +0 -2
  431. package/esm2022/lib/models/row-column-size.mjs +0 -2
  432. package/esm2022/lib/public-api.mjs +0 -5
  433. package/esm2022/lib/tools/column-size.helper.mjs +0 -12
  434. package/esm2022/lib/tools/public-api.mjs +0 -2
  435. package/esm2022/lib/types/component-size.type.mjs +0 -2
  436. package/esm2022/lib/types/horizontal-vertical.type.mjs +0 -2
  437. package/esm2022/lib/types/public-api.mjs +0 -4
  438. package/esm2022/lib/types/validation-status.type.mjs +0 -2
  439. package/esm2022/lib/upd-components.module.mjs +0 -14
  440. package/esm2022/link/index.mjs +0 -2
  441. package/esm2022/link/link.component.mjs +0 -51
  442. package/esm2022/link/public-api.mjs +0 -4
  443. package/esm2022/link/target.type.mjs +0 -2
  444. package/esm2022/link/upd-link.module.mjs +0 -24
  445. package/esm2022/link/updevs-components-link.mjs +0 -5
  446. package/esm2022/list/assets/i18n/en.json +0 -9
  447. package/esm2022/list/assets/i18n/pt.json +0 -9
  448. package/esm2022/list/index.mjs +0 -2
  449. package/esm2022/list/list.component.mjs +0 -113
  450. package/esm2022/list/models/badge-position.type.mjs +0 -2
  451. package/esm2022/list/models/list-item.mjs +0 -2
  452. package/esm2022/list/models/list-item.model.mjs +0 -15
  453. package/esm2022/list/models/public-api.mjs +0 -3
  454. package/esm2022/list/public-api.mjs +0 -4
  455. package/esm2022/list/upd-list.module.mjs +0 -43
  456. package/esm2022/list/updevs-components-list.mjs +0 -5
  457. package/esm2022/modal/assets/i18n/en.json +0 -17
  458. package/esm2022/modal/assets/i18n/pt.json +0 -17
  459. package/esm2022/modal/components/modal-container/modal-container.component.mjs +0 -216
  460. package/esm2022/modal/index.mjs +0 -2
  461. package/esm2022/modal/models/base.modal.mjs +0 -14
  462. package/esm2022/modal/models/modal-config.model.mjs +0 -20
  463. package/esm2022/modal/models/modal-ref.mjs +0 -2
  464. package/esm2022/modal/models/modal.config.mjs +0 -2
  465. package/esm2022/modal/models/public-api.mjs +0 -4
  466. package/esm2022/modal/public-api.mjs +0 -4
  467. package/esm2022/modal/services/modal-alert.service.mjs +0 -99
  468. package/esm2022/modal/services/modal.service.mjs +0 -30
  469. package/esm2022/modal/services/public-api.mjs +0 -3
  470. package/esm2022/modal/types/modal-footer-style.type.mjs +0 -2
  471. package/esm2022/modal/types/modal-size.type.mjs +0 -2
  472. package/esm2022/modal/upd-modal.module.mjs +0 -89
  473. package/esm2022/modal/updevs-components-modal.mjs +0 -5
  474. package/esm2022/paginator/assets/i18n/en.json +0 -15
  475. package/esm2022/paginator/assets/i18n/pt.json +0 -15
  476. package/esm2022/paginator/index.mjs +0 -2
  477. package/esm2022/paginator/paginator.component.mjs +0 -66
  478. package/esm2022/paginator/public-api.mjs +0 -3
  479. package/esm2022/paginator/upd-paginator.module.mjs +0 -46
  480. package/esm2022/paginator/updevs-components-paginator.mjs +0 -5
  481. package/esm2022/popover/index.mjs +0 -2
  482. package/esm2022/popover/popover.component.mjs +0 -65
  483. package/esm2022/popover/popover.directive.mjs +0 -129
  484. package/esm2022/popover/public-api.mjs +0 -4
  485. package/esm2022/popover/upd-popover.module.mjs +0 -29
  486. package/esm2022/popover/updevs-components-popover.mjs +0 -5
  487. package/esm2022/public-api.mjs +0 -2
  488. package/esm2022/table/abstractions/base-column.model.mjs +0 -52
  489. package/esm2022/table/abstractions/base.column.mjs +0 -98
  490. package/esm2022/table/abstractions/filters-operands.service.mjs +0 -3
  491. package/esm2022/table/abstractions/public-api.mjs +0 -3
  492. package/esm2022/table/assets/i18n/en.json +0 -74
  493. package/esm2022/table/assets/i18n/pt.json +0 -74
  494. package/esm2022/table/components/columns/boolean-column/boolean-column.component.mjs +0 -26
  495. package/esm2022/table/components/columns/date-time-column/date-time-column.component.mjs +0 -13
  496. package/esm2022/table/components/columns/number-column/number-column.component.mjs +0 -13
  497. package/esm2022/table/components/columns/text-column/text-column.component.mjs +0 -31
  498. package/esm2022/table/components/columns-manager/columns-manager.component.mjs +0 -36
  499. package/esm2022/table/components/filter-row/filter-row.component.mjs +0 -114
  500. package/esm2022/table/components/save-search/save-search.component.mjs +0 -72
  501. package/esm2022/table/components/search-section/search-section.component.mjs +0 -93
  502. package/esm2022/table/directives/public-api.mjs +0 -2
  503. package/esm2022/table/directives/table-column.directive.mjs +0 -51
  504. package/esm2022/table/index.mjs +0 -2
  505. package/esm2022/table/models/columns/boolean-column.model.mjs +0 -22
  506. package/esm2022/table/models/columns/date-time-column.model.mjs +0 -16
  507. package/esm2022/table/models/columns/guid-column.model.mjs +0 -13
  508. package/esm2022/table/models/columns/image-column.model.mjs +0 -11
  509. package/esm2022/table/models/columns/number-column.model.mjs +0 -17
  510. package/esm2022/table/models/columns/public-api.mjs +0 -7
  511. package/esm2022/table/models/columns/text-column.model.mjs +0 -11
  512. package/esm2022/table/models/enums/column-type.enum.mjs +0 -15
  513. package/esm2022/table/models/enums/public-api.mjs +0 -2
  514. package/esm2022/table/models/filter-item.model.mjs +0 -2
  515. package/esm2022/table/models/filter-operand.config.mjs +0 -2
  516. package/esm2022/table/models/operands-lists/boolean-filter-operands-list.model.mjs +0 -25
  517. package/esm2022/table/models/operands-lists/date-filter-operands-list.model.mjs +0 -25
  518. package/esm2022/table/models/operands-lists/date-or-number-operands-list.config.mjs +0 -31
  519. package/esm2022/table/models/operands-lists/filter-operands-list.config.mjs +0 -31
  520. package/esm2022/table/models/operands-lists/guid-filter-operands-list.model.mjs +0 -16
  521. package/esm2022/table/models/operands-lists/number-filter-operands-list.model.mjs +0 -25
  522. package/esm2022/table/models/operands-lists/string-filter-operands-list.model.mjs +0 -45
  523. package/esm2022/table/models/public-api.mjs +0 -5
  524. package/esm2022/table/models/saved-view.model.mjs +0 -2
  525. package/esm2022/table/models/table-config.model.mjs +0 -21
  526. package/esm2022/table/models/table.config.mjs +0 -2
  527. package/esm2022/table/models/upd-table-config.model.mjs +0 -9
  528. package/esm2022/table/models/upd-table.config.mjs +0 -2
  529. package/esm2022/table/public-api.mjs +0 -6
  530. package/esm2022/table/services/default-filters-operands.service.mjs +0 -60
  531. package/esm2022/table/services/storages/saved-views.storage.mjs +0 -63
  532. package/esm2022/table/services/stores/filters-operands.store.mjs +0 -19
  533. package/esm2022/table/services/upd-table-config.service.mjs +0 -18
  534. package/esm2022/table/table.component.mjs +0 -382
  535. package/esm2022/table/tools/filters.tools.mjs +0 -48
  536. package/esm2022/table/tools/table.constants.mjs +0 -15
  537. package/esm2022/table/upd-table.module.mjs +0 -149
  538. package/esm2022/table/updevs-components-table.mjs +0 -5
  539. package/esm2022/updevs-components.mjs +0 -5
  540. package/form/components/dynamic-field/dynamic-field.component.d.ts +0 -45
  541. package/form/form.component.d.ts +0 -60
  542. package/form/index.d.ts +0 -1
  543. package/form/models/checkbox-field.model.d.ts +0 -4
  544. package/form/models/checkbox-group-field.model.d.ts +0 -6
  545. package/form/models/dynamic-field.model.d.ts +0 -30
  546. package/form/models/enums/dynamic-field.type.d.ts +0 -12
  547. package/form/models/enums/public-api.d.ts +0 -1
  548. package/form/models/form-row.model.d.ts +0 -8
  549. package/form/models/public-api.d.ts +0 -5
  550. package/form/models/radio-field.model.d.ts +0 -4
  551. package/form/models/radio-group-field.model.d.ts +0 -6
  552. package/form/models/select-field.model.d.ts +0 -28
  553. package/form/models/single-select-field.model.d.ts +0 -4
  554. package/form/models/textarea-field.model.d.ts +0 -10
  555. package/form/models/validator-config.d.ts +0 -5
  556. package/form/public-api.d.ts +0 -3
  557. package/form/tools/errors-helper.d.ts +0 -11
  558. package/form/upd-form.module.d.ts +0 -20
  559. package/form-controls/abstractions/base-control.d.ts +0 -24
  560. package/form-controls/abstractions/index.d.ts +0 -2
  561. package/form-controls/abstractions/public-api.d.ts +0 -2
  562. package/form-controls/checkbox/checkbox.component.d.ts +0 -21
  563. package/form-controls/checkbox/index.d.ts +0 -1
  564. package/form-controls/checkbox/public-api.d.ts +0 -2
  565. package/form-controls/checkbox/upd-checkbox.module.d.ts +0 -10
  566. package/form-controls/date-picker/date-picker.component.d.ts +0 -87
  567. package/form-controls/date-picker/index.d.ts +0 -1
  568. package/form-controls/date-picker/public-api.d.ts +0 -2
  569. package/form-controls/date-picker/upd-date-picker.module.d.ts +0 -12
  570. package/form-controls/input/directives/input-append.directive.d.ts +0 -7
  571. package/form-controls/input/directives/input-prepend.directive.d.ts +0 -7
  572. package/form-controls/input/directives/public-api.d.ts +0 -2
  573. package/form-controls/input/index.d.ts +0 -1
  574. package/form-controls/input/input.component.d.ts +0 -66
  575. package/form-controls/input/public-api.d.ts +0 -4
  576. package/form-controls/input/types/input.type.d.ts +0 -1
  577. package/form-controls/input/types/loader-position.type.d.ts +0 -1
  578. package/form-controls/input/types/public-api.d.ts +0 -2
  579. package/form-controls/input/upd-input.module.d.ts +0 -13
  580. package/form-controls/radio/index.d.ts +0 -1
  581. package/form-controls/radio/public-api.d.ts +0 -2
  582. package/form-controls/radio/radio.component.d.ts +0 -19
  583. package/form-controls/radio/upd-radio.module.d.ts +0 -10
  584. package/form-controls/select/components/multiple/select-multiple.component.d.ts +0 -25
  585. package/form-controls/select/components/single/select.component.d.ts +0 -26
  586. package/form-controls/select/index.d.ts +0 -1
  587. package/form-controls/select/models/abstractions/base-select.component.d.ts +0 -83
  588. package/form-controls/select/models/defaults.d.ts +0 -8
  589. package/form-controls/select/models/public-api.d.ts +0 -2
  590. package/form-controls/select/models/select-item.d.ts +0 -25
  591. package/form-controls/select/public-api.d.ts +0 -4
  592. package/form-controls/select/upd-select.module.d.ts +0 -16
  593. package/form-controls/textarea/index.d.ts +0 -1
  594. package/form-controls/textarea/public-api.d.ts +0 -2
  595. package/form-controls/textarea/textarea.component.d.ts +0 -21
  596. package/form-controls/textarea/upd-textarea.module.d.ts +0 -8
  597. package/form-controls/time-picker/index.d.ts +0 -1
  598. package/form-controls/time-picker/public-api.d.ts +0 -3
  599. package/form-controls/time-picker/time-picker.component.d.ts +0 -78
  600. package/form-controls/time-picker/time-selector/time-selector.component.d.ts +0 -69
  601. package/form-controls/time-picker/upd-time-picker.module.d.ts +0 -17
  602. package/index.d.ts +0 -2
  603. package/layout/abstractions/base-page.component.d.ts +0 -12
  604. package/layout/abstractions/base.layout.d.ts +0 -15
  605. package/layout/abstractions/public-api.d.ts +0 -1
  606. package/layout/index.d.ts +0 -1
  607. package/layout/layouts/blank-layout/blank-layout.component.d.ts +0 -5
  608. package/layout/layouts/blank-layout/blank-layout.module.d.ts +0 -8
  609. package/layout/layouts/public-api.d.ts +0 -4
  610. package/layout/layouts/vertical-sidebar-layout/vertical-sidebar-layout.component.d.ts +0 -12
  611. package/layout/layouts/vertical-sidebar-layout/vertical-sidebar-layout.module.d.ts +0 -21
  612. package/layout/models/login-page-config.model.d.ts +0 -37
  613. package/layout/models/login-page.config.d.ts +0 -35
  614. package/layout/models/public-api.d.ts +0 -2
  615. package/layout/models/security-layout-config.model.d.ts +0 -12
  616. package/layout/models/security-layout.config.d.ts +0 -10
  617. package/layout/models/upd-layout-config.model.d.ts +0 -48
  618. package/layout/models/upd-layout.config.d.ts +0 -46
  619. package/layout/pages/auth-flow/auth-flow-routing.module.d.ts +0 -12
  620. package/layout/pages/auth-flow/auth-flow.module.d.ts +0 -18
  621. package/layout/pages/auth-flow/logged-out/logged-out.component.d.ts +0 -5
  622. package/layout/pages/auth-flow/login/login.component.d.ts +0 -23
  623. package/layout/pages/auth-flow/oauth-callback/oauth-callback.component.d.ts +0 -5
  624. package/layout/pages/auth-flow/public-api.d.ts +0 -5
  625. package/layout/pages/public-api.d.ts +0 -1
  626. package/layout/partials/footer/footer-copyright.directive.d.ts +0 -5
  627. package/layout/partials/footer/footer.component.d.ts +0 -34
  628. package/layout/partials/footer/public-api.d.ts +0 -2
  629. package/layout/partials/header/header-style.type.d.ts +0 -1
  630. package/layout/partials/header/header.component.d.ts +0 -31
  631. package/layout/partials/header/public-api.d.ts +0 -2
  632. package/layout/partials/page-header/page-header.component.d.ts +0 -7
  633. package/layout/partials/page-header/public-api.d.ts +0 -1
  634. package/layout/partials/public-api.d.ts +0 -4
  635. package/layout/partials/sidebar/public-api.d.ts +0 -1
  636. package/layout/partials/sidebar/sidebar.component.d.ts +0 -22
  637. package/layout/public-api.d.ts +0 -7
  638. package/layout/services/public-api.d.ts +0 -1
  639. package/layout/services/upd-layout-config.service.d.ts +0 -15
  640. package/layout/tools/layout.constants.d.ts +0 -15
  641. package/layout/upd-layout.module.d.ts +0 -18
  642. package/lib/index.d.ts +0 -2
  643. package/lib/models/public-api.d.ts +0 -2
  644. package/lib/models/row-column-size.d.ts +0 -6
  645. package/lib/public-api.d.ts +0 -5
  646. package/lib/tools/column-size.helper.d.ts +0 -6
  647. package/lib/tools/public-api.d.ts +0 -2
  648. package/lib/types/component-size.type.d.ts +0 -2
  649. package/lib/types/horizontal-vertical.type.d.ts +0 -2
  650. package/lib/types/public-api.d.ts +0 -4
  651. package/lib/types/validation-status.type.d.ts +0 -2
  652. package/lib/upd-components.module.d.ts +0 -7
  653. package/link/index.d.ts +0 -1
  654. package/link/public-api.d.ts +0 -3
  655. package/link/target.type.d.ts +0 -1
  656. package/link/upd-link.module.d.ts +0 -8
  657. package/list/index.d.ts +0 -1
  658. package/list/list.component.d.ts +0 -46
  659. package/list/models/badge-position.type.d.ts +0 -1
  660. package/list/models/list-item.d.ts +0 -20
  661. package/list/models/list-item.model.d.ts +0 -25
  662. package/list/models/public-api.d.ts +0 -2
  663. package/list/public-api.d.ts +0 -3
  664. package/list/upd-list.module.d.ts +0 -13
  665. package/modal/components/modal-container/modal-container.component.d.ts +0 -74
  666. package/modal/index.d.ts +0 -1
  667. package/modal/models/base.modal.d.ts +0 -8
  668. package/modal/models/modal-config.model.d.ts +0 -32
  669. package/modal/models/modal-ref.d.ts +0 -6
  670. package/modal/models/modal.config.d.ts +0 -30
  671. package/modal/models/public-api.d.ts +0 -3
  672. package/modal/public-api.d.ts +0 -3
  673. package/modal/services/modal-alert.service.d.ts +0 -22
  674. package/modal/services/modal.service.d.ts +0 -12
  675. package/modal/services/public-api.d.ts +0 -2
  676. package/modal/types/modal-footer-style.type.d.ts +0 -1
  677. package/modal/types/modal-size.type.d.ts +0 -1
  678. package/modal/upd-modal.module.d.ts +0 -18
  679. package/paginator/index.d.ts +0 -1
  680. package/paginator/paginator.component.d.ts +0 -42
  681. package/paginator/public-api.d.ts +0 -2
  682. package/paginator/upd-paginator.module.d.ts +0 -14
  683. package/popover/index.d.ts +0 -1
  684. package/popover/popover.component.d.ts +0 -22
  685. package/popover/popover.directive.d.ts +0 -33
  686. package/popover/public-api.d.ts +0 -3
  687. package/popover/upd-popover.module.d.ts +0 -9
  688. package/public-api.d.ts +0 -2
  689. package/table/abstractions/base-column.model.d.ts +0 -31
  690. package/table/abstractions/base.column.d.ts +0 -22
  691. package/table/abstractions/filters-operands.service.d.ts +0 -8
  692. package/table/abstractions/public-api.d.ts +0 -2
  693. package/table/components/columns/boolean-column/boolean-column.component.d.ts +0 -9
  694. package/table/components/columns/date-time-column/date-time-column.component.d.ts +0 -7
  695. package/table/components/columns/number-column/number-column.component.d.ts +0 -7
  696. package/table/components/columns/text-column/text-column.component.d.ts +0 -9
  697. package/table/components/columns-manager/columns-manager.component.d.ts +0 -15
  698. package/table/components/filter-row/filter-row.component.d.ts +0 -40
  699. package/table/components/save-search/save-search.component.d.ts +0 -17
  700. package/table/components/search-section/search-section.component.d.ts +0 -36
  701. package/table/directives/public-api.d.ts +0 -1
  702. package/table/directives/table-column.directive.d.ts +0 -14
  703. package/table/index.d.ts +0 -1
  704. package/table/models/columns/boolean-column.model.d.ts +0 -15
  705. package/table/models/columns/date-time-column.model.d.ts +0 -8
  706. package/table/models/columns/guid-column.model.d.ts +0 -4
  707. package/table/models/columns/image-column.model.d.ts +0 -6
  708. package/table/models/columns/number-column.model.d.ts +0 -8
  709. package/table/models/columns/public-api.d.ts +0 -6
  710. package/table/models/columns/text-column.model.d.ts +0 -6
  711. package/table/models/enums/column-type.enum.d.ts +0 -13
  712. package/table/models/enums/public-api.d.ts +0 -1
  713. package/table/models/filter-item.model.d.ts +0 -6
  714. package/table/models/filter-operand.config.d.ts +0 -9
  715. package/table/models/operands-lists/boolean-filter-operands-list.model.d.ts +0 -6
  716. package/table/models/operands-lists/date-filter-operands-list.model.d.ts +0 -6
  717. package/table/models/operands-lists/date-or-number-operands-list.config.d.ts +0 -5
  718. package/table/models/operands-lists/filter-operands-list.config.d.ts +0 -5
  719. package/table/models/operands-lists/guid-filter-operands-list.model.d.ts +0 -6
  720. package/table/models/operands-lists/number-filter-operands-list.model.d.ts +0 -6
  721. package/table/models/operands-lists/string-filter-operands-list.model.d.ts +0 -6
  722. package/table/models/public-api.d.ts +0 -4
  723. package/table/models/saved-view.model.d.ts +0 -11
  724. package/table/models/table-config.model.d.ts +0 -24
  725. package/table/models/table.config.d.ts +0 -22
  726. package/table/models/upd-table-config.model.d.ts +0 -6
  727. package/table/models/upd-table.config.d.ts +0 -6
  728. package/table/public-api.d.ts +0 -5
  729. package/table/services/default-filters-operands.service.d.ts +0 -17
  730. package/table/services/storages/saved-views.storage.d.ts +0 -22
  731. package/table/services/stores/filters-operands.store.d.ts +0 -11
  732. package/table/services/upd-table-config.service.d.ts +0 -12
  733. package/table/table.component.d.ts +0 -78
  734. package/table/tools/filters.tools.d.ts +0 -9
  735. package/table/tools/table.constants.d.ts +0 -15
  736. package/table/upd-table.module.d.ts +0 -40
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Component, ViewEncapsulation, HostBinding, Input, inject, ElementRef, Renderer2, ViewContainerRef, NgZone, Injector, Directive, HostListener, NgModule } from '@angular/core';
2
+ import { Input, HostBinding, ViewEncapsulation, Component, inject, ElementRef, Renderer2, ViewContainerRef, NgZone, Injector, afterNextRender, HostListener, Directive, NgModule } from '@angular/core';
3
3
  import * as i1 from '@angular/common';
4
4
  import { CommonModule } from '@angular/common';
5
5
  import { PositioningService, DynamicComponentLoaderService } from '@updevs/sdk/layout';
@@ -37,12 +37,12 @@ class PopoverComponent {
37
37
  ...(this.customClasses?.split(' ') || [])
38
38
  ].join(' ');
39
39
  }
40
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: PopoverComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
41
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: PopoverComponent, selector: "upd-popover", inputs: { title: "title", text: "text", titleTemplate: "titleTemplate", template: "template", placement: "placement", customClasses: "customClasses" }, host: { properties: { "class": "this.classes", "attr.data-popper-placement": "this.popperPlacement", "role": "this.role" } }, usesOnChanges: true, ngImport: i0, template: "<div class=\"popover-arrow upd-popover-arrow -{{placement}}\"></div>\n@if (!!title || !!titleTemplate) {\n @if (!!title) {\n <h3 [innerHTML]=\"title\" class=\"popover-header\"></h3>\n } @else {\n <div class=\"popover-header\">\n <ng-template [ngTemplateOutlet]=\"titleTemplate!\"></ng-template>\n </div>\n }\n}\n<div class=\"popover-body\">\n @if (!!text) {\n <span [innerHTML]=\"text\"></span>\n } @else {\n @if (!template) {\n <ng-content></ng-content>\n } @else {\n <ng-template [ngTemplateOutlet]=\"template!\"></ng-template>\n }\n }\n</div>\n", styles: [".upd-popover{position:absolute;margin:0}.upd-popover-arrow{position:absolute}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], encapsulation: i0.ViewEncapsulation.None }); }
40
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: PopoverComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
41
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.4", type: PopoverComponent, isStandalone: false, selector: "upd-popover", inputs: { title: "title", text: "text", titleTemplate: "titleTemplate", template: "template", placement: "placement", customClasses: "customClasses" }, host: { properties: { "class": "this.classes", "attr.data-popper-placement": "this.popperPlacement", "attr.role": "this.role" } }, usesOnChanges: true, ngImport: i0, template: "<div class=\"popover-arrow upd-popover-arrow -{{placement}}\"></div>\n@if (!!title || !!titleTemplate) {\n @if (!!title) {\n <h3 [innerHTML]=\"title\" class=\"popover-header\"></h3>\n } @else {\n <div class=\"popover-header\">\n <ng-template [ngTemplateOutlet]=\"titleTemplate!\"></ng-template>\n </div>\n }\n}\n<div class=\"popover-body\">\n @if (!!text) {\n <span [innerHTML]=\"text\"></span>\n } @else {\n @if (!template) {\n <ng-content></ng-content>\n } @else {\n <ng-template [ngTemplateOutlet]=\"template!\"></ng-template>\n }\n }\n</div>\n", styles: [".upd-popover{position:absolute;margin:0}.upd-popover-arrow{position:absolute}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], encapsulation: i0.ViewEncapsulation.None }); }
42
42
  }
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: PopoverComponent, decorators: [{
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: PopoverComponent, decorators: [{
44
44
  type: Component,
45
- args: [{ selector: 'upd-popover', encapsulation: ViewEncapsulation.None, template: "<div class=\"popover-arrow upd-popover-arrow -{{placement}}\"></div>\n@if (!!title || !!titleTemplate) {\n @if (!!title) {\n <h3 [innerHTML]=\"title\" class=\"popover-header\"></h3>\n } @else {\n <div class=\"popover-header\">\n <ng-template [ngTemplateOutlet]=\"titleTemplate!\"></ng-template>\n </div>\n }\n}\n<div class=\"popover-body\">\n @if (!!text) {\n <span [innerHTML]=\"text\"></span>\n } @else {\n @if (!template) {\n <ng-content></ng-content>\n } @else {\n <ng-template [ngTemplateOutlet]=\"template!\"></ng-template>\n }\n }\n</div>\n", styles: [".upd-popover{position:absolute;margin:0}.upd-popover-arrow{position:absolute}\n"] }]
45
+ args: [{ standalone: false, selector: 'upd-popover', encapsulation: ViewEncapsulation.None, template: "<div class=\"popover-arrow upd-popover-arrow -{{placement}}\"></div>\n@if (!!title || !!titleTemplate) {\n @if (!!title) {\n <h3 [innerHTML]=\"title\" class=\"popover-header\"></h3>\n } @else {\n <div class=\"popover-header\">\n <ng-template [ngTemplateOutlet]=\"titleTemplate!\"></ng-template>\n </div>\n }\n}\n<div class=\"popover-body\">\n @if (!!text) {\n <span [innerHTML]=\"text\"></span>\n } @else {\n @if (!template) {\n <ng-content></ng-content>\n } @else {\n <ng-template [ngTemplateOutlet]=\"template!\"></ng-template>\n }\n }\n</div>\n", styles: [".upd-popover{position:absolute;margin:0}.upd-popover-arrow{position:absolute}\n"] }]
46
46
  }], propDecorators: { classes: [{
47
47
  type: HostBinding,
48
48
  args: ['class']
@@ -51,7 +51,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
51
51
  args: ['attr.data-popper-placement']
52
52
  }], role: [{
53
53
  type: HostBinding,
54
- args: ['role']
54
+ args: ['attr.role']
55
55
  }], title: [{
56
56
  type: Input
57
57
  }], text: [{
@@ -105,9 +105,13 @@ class PopoverDirective {
105
105
  initPopover() {
106
106
  this.setupPopover();
107
107
  this.popoverComponentRef.instance.setVisible(true);
108
- this.ngZone.runOutsideAngular(() => this.positioningService
109
- .computePosition(this.elementRef, this.popoverComponentRef.location, { placement: this.placement })
110
- .subscribe(resp => this.updatePosition(resp)));
108
+ this.popoverComponentRef.changeDetectorRef.detectChanges();
109
+ const arrowElement = this.popoverComponentRef.location.nativeElement.querySelector('.popover-arrow');
110
+ afterNextRender(() => {
111
+ this.ngZone.runOutsideAngular(() => this.positioningService
112
+ .computePosition(this.elementRef, this.popoverComponentRef.location, { placement: this.placement }, arrowElement)
113
+ .subscribe(resp => this.updatePosition(resp)));
114
+ }, { injector: this.injector });
111
115
  }
112
116
  disposePopover() {
113
117
  this.viewContainerRef.clear();
@@ -125,38 +129,26 @@ class PopoverDirective {
125
129
  }
126
130
  updatePosition(result) {
127
131
  const nativeElement = this.popoverComponentRef.location.nativeElement;
128
- const arrowElement = this.popoverComponentRef.location.nativeElement.querySelector('.popover-arrow');
129
- const popoverBox = nativeElement.getBoundingClientRect();
130
- const arrowBox = arrowElement.getBoundingClientRect();
131
- switch (this.placement) {
132
- case 'top':
133
- this.renderer.setStyle(nativeElement, 'top', `${result.y - arrowBox.height}px`);
134
- this.renderer.setStyle(nativeElement, 'left', `${result.x}px`);
135
- this.renderer.setStyle(arrowElement, 'left', `${(popoverBox.width / 2) - (arrowBox.width / 2)}px`);
136
- break;
137
- case 'bottom':
138
- this.renderer.setStyle(nativeElement, 'top', `${result.y + arrowBox.height}px`);
139
- this.renderer.setStyle(nativeElement, 'left', `${result.x}px`);
140
- this.renderer.setStyle(arrowElement, 'left', `${(popoverBox.width / 2) - (arrowBox.width / 2)}px`);
141
- break;
142
- case 'left':
143
- this.renderer.setStyle(nativeElement, 'top', `${result.y}px`);
144
- this.renderer.setStyle(nativeElement, 'left', `${result.x - arrowBox.width}px`);
145
- this.renderer.setStyle(arrowElement, 'top', `${(popoverBox.height / 2) - (arrowBox.height / 2)}px`);
146
- break;
147
- case 'right':
148
- this.renderer.setStyle(nativeElement, 'top', `${result.y}px`);
149
- this.renderer.setStyle(nativeElement, 'left', `${result.x + arrowBox.width}px`);
150
- this.renderer.setStyle(arrowElement, 'top', `${(popoverBox.height / 2) - (arrowBox.height / 2)}px`);
151
- break;
132
+ const arrowElement = nativeElement?.querySelector('.popover-arrow');
133
+ if (!arrowElement) {
134
+ console.warn('Popover arrow element not found. Positioning may be incorrect.');
135
+ return;
136
+ }
137
+ this.renderer.setStyle(nativeElement, 'left', `${result.x}px`);
138
+ this.renderer.setStyle(nativeElement, 'top', `${result.y}px`);
139
+ if (arrowElement && result.middlewareData.arrow) {
140
+ const { x: arrowX, y: arrowY } = result.middlewareData.arrow;
141
+ this.renderer.setStyle(arrowElement, 'left', arrowX !== undefined ? `${arrowX}px` : '');
142
+ this.renderer.setStyle(arrowElement, 'top', arrowY !== undefined ? `${arrowY}px` : '');
152
143
  }
153
144
  }
154
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: PopoverDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
155
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.0", type: PopoverDirective, selector: "[updPopover]", inputs: { text: ["updPopover", "text"], title: ["updPopoverTitle", "title"], popoverTitleTemplate: ["updPopoverTitleTemplate", "popoverTitleTemplate"], popoverTemplate: ["updPopoverTemplate", "popoverTemplate"], placement: ["updPopoverPlacement", "placement"], customClasses: ["updPopoverCustomClasses", "customClasses"], actAsTooltip: ["updPopoverActAsTooltip", "actAsTooltip"] }, host: { listeners: { "mouseenter": "onMouseEnter()", "mouseleave": "onMouseLeave()", "click": "onClick()" } }, ngImport: i0 }); }
145
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: PopoverDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
146
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.4", type: PopoverDirective, isStandalone: false, selector: "[updPopover]", inputs: { text: ["updPopover", "text"], title: ["updPopoverTitle", "title"], popoverTitleTemplate: ["updPopoverTitleTemplate", "popoverTitleTemplate"], popoverTemplate: ["updPopoverTemplate", "popoverTemplate"], placement: ["updPopoverPlacement", "placement"], customClasses: ["updPopoverCustomClasses", "customClasses"], actAsTooltip: ["updPopoverActAsTooltip", "actAsTooltip"] }, host: { listeners: { "mouseenter": "onMouseEnter()", "mouseleave": "onMouseLeave()", "click": "onClick()" } }, ngImport: i0 }); }
156
147
  }
157
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: PopoverDirective, decorators: [{
148
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: PopoverDirective, decorators: [{
158
149
  type: Directive,
159
150
  args: [{
151
+ standalone: false,
160
152
  selector: '[updPopover]'
161
153
  }]
162
154
  }], propDecorators: { text: [{
@@ -192,13 +184,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
192
184
  }] } });
193
185
 
194
186
  class UpdPopoverModule {
195
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: UpdPopoverModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
196
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.0", ngImport: i0, type: UpdPopoverModule, declarations: [PopoverComponent,
187
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: UpdPopoverModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
188
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.4", ngImport: i0, type: UpdPopoverModule, declarations: [PopoverComponent,
197
189
  PopoverDirective], imports: [CommonModule], exports: [PopoverComponent,
198
190
  PopoverDirective] }); }
199
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: UpdPopoverModule, imports: [CommonModule] }); }
191
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: UpdPopoverModule, imports: [CommonModule] }); }
200
192
  }
201
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: UpdPopoverModule, decorators: [{
193
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: UpdPopoverModule, decorators: [{
202
194
  type: NgModule,
203
195
  args: [{
204
196
  imports: [
@@ -1 +1 @@
1
- {"version":3,"file":"updevs-components-popover.mjs","sources":["../../../../libs/components/popover/src/popover.component.ts","../../../../libs/components/popover/src/popover.component.html","../../../../libs/components/popover/src/popover.directive.ts","../../../../libs/components/popover/src/upd-popover.module.ts","../../../../libs/components/popover/src/updevs-components-popover.ts"],"sourcesContent":["import { Component, Input, HostBinding, OnInit, OnChanges, ViewEncapsulation, TemplateRef } from '@angular/core';\nimport { TopBottomLeftRightType } from '@updevs/sdk/types';\n\n@Component({\n selector: 'upd-popover',\n templateUrl: './popover.component.html',\n styleUrls: ['./popover.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class PopoverComponent implements OnInit, OnChanges {\n @HostBinding('class') classes = '';\n @HostBinding('attr.data-popper-placement') popperPlacement = '';\n @HostBinding('role') readonly role = 'tooltip';\n\n @Input() title?: string;\n @Input() text?: string;\n @Input() titleTemplate?: TemplateRef<any>;\n @Input() template?: TemplateRef<any>;\n @Input() placement: TopBottomLeftRightType = 'top';\n @Input() customClasses?: string;\n\n get isVisible(): boolean {\n return this._isVisible;\n }\n\n private _isVisible = false;\n\n ngOnInit(): void {\n this.updateClasses();\n }\n\n ngOnChanges(): void {\n this.updateClasses();\n }\n\n setVisible(isVisible: boolean): void {\n this._isVisible = isVisible;\n this.updateClasses();\n }\n\n private updateClasses(): void {\n this.popperPlacement = this.placement;\n this.classes = [\n 'popover',\n 'bs-popover-auto',\n !this._isVisible ? 'fade' : '',\n this._isVisible ? 'show' : '',\n 'upd-popover',\n `-${this.placement}`,\n ...(this.customClasses?.split(' ') || [])\n ].join(' ');\n }\n}\n","<div class=\"popover-arrow upd-popover-arrow -{{placement}}\"></div>\n@if (!!title || !!titleTemplate) {\n @if (!!title) {\n <h3 [innerHTML]=\"title\" class=\"popover-header\"></h3>\n } @else {\n <div class=\"popover-header\">\n <ng-template [ngTemplateOutlet]=\"titleTemplate!\"></ng-template>\n </div>\n }\n}\n<div class=\"popover-body\">\n @if (!!text) {\n <span [innerHTML]=\"text\"></span>\n } @else {\n @if (!template) {\n <ng-content></ng-content>\n } @else {\n <ng-template [ngTemplateOutlet]=\"template!\"></ng-template>\n }\n }\n</div>\n","import {\n Directive,\n Input,\n TemplateRef,\n ViewContainerRef,\n Renderer2,\n ElementRef,\n Injector,\n NgZone,\n ComponentRef,\n HostListener, inject\n} from '@angular/core';\nimport { TopBottomLeftRightType } from '@updevs/sdk/types';\nimport { PositioningService, ComputePositionResult, DynamicComponentLoaderService } from '@updevs/sdk/layout';\n\nimport { PopoverComponent } from './popover.component';\n\n@Directive({\n selector: '[updPopover]'\n})\nexport class PopoverDirective {\n @Input('updPopover') text?: string;\n @Input('updPopoverTitle') title?: string;\n @Input('updPopoverTitleTemplate') popoverTitleTemplate?: TemplateRef<any>;\n @Input('updPopoverTemplate') popoverTemplate?: TemplateRef<any>;\n @Input('updPopoverPlacement') placement: TopBottomLeftRightType = 'top';\n @Input('updPopoverCustomClasses') customClasses?: string;\n /**\n * This makes the popover behave like a tooltip.\n * It means it'll show/hide depending on whether the mouse is over or not the element.\n */\n @Input('updPopoverActAsTooltip') actAsTooltip = false;\n\n private popoverComponentRef?: ComponentRef<PopoverComponent>;\n\n private readonly elementRef = inject(ElementRef);\n private readonly renderer = inject(Renderer2);\n private readonly viewContainerRef = inject(ViewContainerRef);\n private readonly ngZone = inject(NgZone);\n private readonly injector = inject(Injector);\n private readonly positioningService = inject(PositioningService);\n private readonly dynamicComponentLoaderService = inject(DynamicComponentLoaderService);\n\n @HostListener('mouseenter')\n onMouseEnter(): void {\n if (this.actAsTooltip) {\n this.initPopover();\n }\n }\n\n @HostListener('mouseleave')\n onMouseLeave(): void {\n if (this.actAsTooltip) {\n this.disposePopover();\n }\n }\n\n @HostListener('click')\n onClick(): void {\n if (!this.actAsTooltip) {\n if (this.popoverComponentRef?.instance.isVisible) {\n this.disposePopover();\n } else {\n this.initPopover();\n }\n }\n }\n\n private initPopover(): void {\n this.setupPopover();\n this.popoverComponentRef!.instance.setVisible(true);\n this.ngZone.runOutsideAngular(() =>\n this.positioningService\n .computePosition(this.elementRef, this.popoverComponentRef!.location, { placement: this.placement })\n .subscribe(resp => this.updatePosition(resp))\n );\n }\n\n private disposePopover(): void {\n this.viewContainerRef.clear();\n this.popoverComponentRef!.instance.setVisible(false);\n }\n\n private setupPopover(): void {\n this.viewContainerRef.clear();\n\n this.popoverComponentRef = this.dynamicComponentLoaderService.load(PopoverComponent, this.viewContainerRef, this.injector);\n this.popoverComponentRef!.instance.title = this.title;\n this.popoverComponentRef!.instance.text = this.text;\n this.popoverComponentRef!.instance.titleTemplate = this.popoverTitleTemplate;\n this.popoverComponentRef!.instance.template = this.popoverTemplate;\n this.popoverComponentRef!.instance.placement = this.placement;\n this.popoverComponentRef!.instance.customClasses = this.customClasses;\n }\n\n private updatePosition(result: ComputePositionResult): void {\n const nativeElement = this.popoverComponentRef!.location.nativeElement;\n const arrowElement = this.popoverComponentRef!.location.nativeElement.querySelector('.popover-arrow');\n const popoverBox = nativeElement.getBoundingClientRect();\n const arrowBox = arrowElement.getBoundingClientRect();\n\n switch (this.placement) {\n case 'top':\n this.renderer.setStyle(nativeElement, 'top', `${result.y - arrowBox.height}px`);\n this.renderer.setStyle(nativeElement, 'left', `${result.x}px`);\n this.renderer.setStyle(arrowElement, 'left', `${(popoverBox.width / 2) - (arrowBox.width / 2)}px`);\n break;\n case 'bottom':\n this.renderer.setStyle(nativeElement, 'top', `${result.y + arrowBox.height}px`);\n this.renderer.setStyle(nativeElement, 'left', `${result.x}px`);\n this.renderer.setStyle(arrowElement, 'left', `${(popoverBox.width / 2) - (arrowBox.width / 2)}px`);\n break;\n case 'left':\n this.renderer.setStyle(nativeElement, 'top', `${result.y}px`);\n this.renderer.setStyle(nativeElement, 'left', `${result.x - arrowBox.width}px`);\n this.renderer.setStyle(arrowElement, 'top', `${(popoverBox.height / 2) - (arrowBox.height / 2)}px`);\n break;\n case 'right':\n this.renderer.setStyle(nativeElement, 'top', `${result.y}px`);\n this.renderer.setStyle(nativeElement, 'left', `${result.x + arrowBox.width}px`);\n this.renderer.setStyle(arrowElement, 'top', `${(popoverBox.height / 2) - (arrowBox.height / 2)}px`);\n break;\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { PopoverComponent } from './popover.component';\nimport { PopoverDirective } from './popover.directive';\n\n@NgModule({\n imports: [\n CommonModule\n ],\n declarations: [\n PopoverComponent,\n PopoverDirective\n ],\n exports: [\n PopoverComponent,\n PopoverDirective\n ]\n})\nexport class UpdPopoverModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"updevs-components-popover.mjs","sources":["../../../../libs/components/popover/src/popover.component.ts","../../../../libs/components/popover/src/popover.component.html","../../../../libs/components/popover/src/popover.directive.ts","../../../../libs/components/popover/src/upd-popover.module.ts","../../../../libs/components/popover/src/updevs-components-popover.ts"],"sourcesContent":["import { Component, Input, HostBinding, OnInit, OnChanges, ViewEncapsulation, TemplateRef } from '@angular/core';\nimport { TopBottomLeftRightType } from '@updevs/sdk/types';\n\n@Component({\n standalone: false,\n selector: 'upd-popover',\n templateUrl: './popover.component.html',\n styleUrls: ['./popover.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class PopoverComponent implements OnInit, OnChanges {\n @HostBinding('class') classes = '';\n @HostBinding('attr.data-popper-placement') popperPlacement = '';\n @HostBinding('attr.role') readonly role = 'tooltip';\n\n @Input() title?: string;\n @Input() text?: string;\n @Input() titleTemplate?: TemplateRef<any>;\n @Input() template?: TemplateRef<any>;\n @Input() placement: TopBottomLeftRightType = 'top';\n @Input() customClasses?: string;\n\n get isVisible(): boolean {\n return this._isVisible;\n }\n\n private _isVisible = false;\n\n ngOnInit(): void {\n this.updateClasses();\n }\n\n ngOnChanges(): void {\n this.updateClasses();\n }\n\n setVisible(isVisible: boolean): void {\n this._isVisible = isVisible;\n this.updateClasses();\n }\n\n private updateClasses(): void {\n this.popperPlacement = this.placement;\n this.classes = [\n 'popover',\n 'bs-popover-auto',\n !this._isVisible ? 'fade' : '',\n this._isVisible ? 'show' : '',\n 'upd-popover',\n `-${this.placement}`,\n ...(this.customClasses?.split(' ') || [])\n ].join(' ');\n }\n}\n","<div class=\"popover-arrow upd-popover-arrow -{{placement}}\"></div>\n@if (!!title || !!titleTemplate) {\n @if (!!title) {\n <h3 [innerHTML]=\"title\" class=\"popover-header\"></h3>\n } @else {\n <div class=\"popover-header\">\n <ng-template [ngTemplateOutlet]=\"titleTemplate!\"></ng-template>\n </div>\n }\n}\n<div class=\"popover-body\">\n @if (!!text) {\n <span [innerHTML]=\"text\"></span>\n } @else {\n @if (!template) {\n <ng-content></ng-content>\n } @else {\n <ng-template [ngTemplateOutlet]=\"template!\"></ng-template>\n }\n }\n</div>\n","import {\n Directive,\n Input,\n TemplateRef,\n ViewContainerRef,\n Renderer2,\n ElementRef,\n Injector,\n NgZone,\n ComponentRef,\n HostListener, inject,\n afterNextRender\n} from '@angular/core';\nimport { TopBottomLeftRightType } from '@updevs/sdk/types';\nimport { PositioningService, ComputePositionResult, DynamicComponentLoaderService } from '@updevs/sdk/layout';\n\nimport { PopoverComponent } from './popover.component';\n\n@Directive({\n standalone: false,\n selector: '[updPopover]'\n})\nexport class PopoverDirective {\n @Input('updPopover') text?: string;\n @Input('updPopoverTitle') title?: string;\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('updPopoverTitleTemplate') popoverTitleTemplate?: TemplateRef<any>;\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('updPopoverTemplate') popoverTemplate?: TemplateRef<any>;\n @Input('updPopoverPlacement') placement: TopBottomLeftRightType = 'top';\n @Input('updPopoverCustomClasses') customClasses?: string;\n /**\n * This makes the popover behave like a tooltip.\n * It means it'll show/hide depending on whether the mouse is over or not the element.\n */\n @Input('updPopoverActAsTooltip') actAsTooltip = false;\n\n private popoverComponentRef?: ComponentRef<PopoverComponent>;\n\n private readonly elementRef = inject(ElementRef);\n private readonly renderer = inject(Renderer2);\n private readonly viewContainerRef = inject(ViewContainerRef);\n private readonly ngZone = inject(NgZone);\n private readonly injector = inject(Injector);\n private readonly positioningService = inject(PositioningService);\n private readonly dynamicComponentLoaderService = inject(DynamicComponentLoaderService);\n\n @HostListener('mouseenter')\n onMouseEnter(): void {\n if (this.actAsTooltip) {\n this.initPopover();\n }\n }\n\n @HostListener('mouseleave')\n onMouseLeave(): void {\n if (this.actAsTooltip) {\n this.disposePopover();\n }\n }\n\n @HostListener('click')\n onClick(): void {\n if (!this.actAsTooltip) {\n if (this.popoverComponentRef?.instance.isVisible) {\n this.disposePopover();\n } else {\n this.initPopover();\n }\n }\n }\n\n private initPopover(): void {\n this.setupPopover();\n this.popoverComponentRef!.instance.setVisible(true);\n this.popoverComponentRef!.changeDetectorRef.detectChanges();\n\n const arrowElement = this.popoverComponentRef!.location.nativeElement.querySelector('.popover-arrow');\n\n afterNextRender(() => {\n this.ngZone.runOutsideAngular(() =>\n this.positioningService\n .computePosition(this.elementRef, this.popoverComponentRef!.location, { placement: this.placement }, arrowElement)\n .subscribe(resp => this.updatePosition(resp))\n );\n }, { injector: this.injector });\n }\n\n private disposePopover(): void {\n this.viewContainerRef.clear();\n this.popoverComponentRef!.instance.setVisible(false);\n }\n\n private setupPopover(): void {\n this.viewContainerRef.clear();\n\n this.popoverComponentRef = this.dynamicComponentLoaderService.load(PopoverComponent, this.viewContainerRef, this.injector);\n this.popoverComponentRef!.instance.title = this.title;\n this.popoverComponentRef!.instance.text = this.text;\n this.popoverComponentRef!.instance.titleTemplate = this.popoverTitleTemplate;\n this.popoverComponentRef!.instance.template = this.popoverTemplate;\n this.popoverComponentRef!.instance.placement = this.placement;\n this.popoverComponentRef!.instance.customClasses = this.customClasses;\n }\n\n private updatePosition(result: ComputePositionResult): void {\n const nativeElement = this.popoverComponentRef!.location.nativeElement;\n const arrowElement = nativeElement?.querySelector('.popover-arrow');\n\n if (!arrowElement) {\n console.warn('Popover arrow element not found. Positioning may be incorrect.');\n return;\n }\n\n this.renderer.setStyle(nativeElement, 'left', `${result.x}px`);\n this.renderer.setStyle(nativeElement, 'top', `${result.y}px`);\n\n if (arrowElement && result.middlewareData.arrow) {\n const { x: arrowX, y: arrowY } = result.middlewareData.arrow;\n this.renderer.setStyle(arrowElement, 'left', arrowX !== undefined ? `${arrowX}px` : '');\n this.renderer.setStyle(arrowElement, 'top', arrowY !== undefined ? `${arrowY}px` : '');\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { PopoverComponent } from './popover.component';\nimport { PopoverDirective } from './popover.directive';\n\n@NgModule({\n imports: [\n CommonModule\n ],\n declarations: [\n PopoverComponent,\n PopoverDirective\n ],\n exports: [\n PopoverComponent,\n PopoverDirective\n ]\n})\nexport class UpdPopoverModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,130 @@
1
+ import * as i0 from '@angular/core';
2
+ import { input, output, inject, ChangeDetectionStrategy, Component, computed, NgModule } from '@angular/core';
3
+ import { TextService } from '@updevs/sdk';
4
+ import * as i1 from '@angular/common';
5
+ import { CommonModule } from '@angular/common';
6
+ import * as i2 from '@updevs/components/card';
7
+ import { UpdCardModule } from '@updevs/components/card';
8
+ import * as i3 from '@updevs/icons';
9
+ import { UpdIconsModule } from '@updevs/icons';
10
+ import * as i4 from '@updevs/components/button';
11
+ import { UpdButtonModule } from '@updevs/components/button';
12
+ import * as i5 from '@updevs/components/badge';
13
+ import { UpdBadgeModule } from '@updevs/components/badge';
14
+ import * as i6 from '@updevs/components/popover';
15
+ import { UpdPopoverModule } from '@updevs/components/popover';
16
+
17
+ class PricingCardsComponent {
18
+ constructor() {
19
+ this.isLoading = input(false, ...(ngDevMode ? [{ debugName: "isLoading" }] : []));
20
+ this.items = input.required(...(ngDevMode ? [{ debugName: "items" }] : []));
21
+ this.selected = output();
22
+ this.textService = inject(TextService);
23
+ }
24
+ selectOption(item) {
25
+ this.selected.emit(item);
26
+ }
27
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: PricingCardsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
28
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.4", type: PricingCardsComponent, isStandalone: false, selector: "upd-pricing-cards", inputs: { isLoading: { classPropertyName: "isLoading", publicName: "isLoading", isSignal: true, isRequired: false, transformFunction: null }, items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { selected: "selected" }, ngImport: i0, template: "<div class=\"row row-cards\">\n @for (item of items(); track item.id) {\n <div class=\"col-lg col-sm-6\">\n <upd-card [ribbonBackground]=\"!!item.ribbonIcon ? item.highlightColor : undefined\" [ribbonIcon]=\"item.ribbonIcon\"\n [ribbonStyle]=\"item.ribbonStyle || 'top'\" [statusBackground]=\"item.highlightColor\" [useLightHeader]=\"true\">\n <ng-template updCardHeader>\n <div class=\"text-uppercase text-secondary fw-bold\">{{ item.title }}</div>\n <div [class.me-6]=\"!!item.ribbonIcon\" class=\"ms-auto d-flex gap-1\">\n @for (tag of item.tags; track tag.text.text) {\n <upd-badge [bgColor]=\"tag.backgroundColor\" [text]=\"tag.text\"></upd-badge>\n }\n </div>\n </ng-template>\n\n <div class=\"d-flex flex-column h-100\">\n <div>\n <div class=\"display-5 fw-bold mb-3\" [class.text-center]=\"item.isPriceCentered\" [innerHTML]=\"item.price\"></div>\n\n @if ((item.groupedFeatures?.length || 0) > 0) {\n @for (group of item.groupedFeatures; track group.name) {\n <div class=\"bg-surface-tertiary\">\n <span class=\"subheader\">{{ group.name }}</span>\n </div>\n <ng-container [ngTemplateOutlet]=\"featuresTpl\"\n [ngTemplateOutletContext]=\"{features: group.features}\"></ng-container>\n }\n } @else {\n <ng-container [ngTemplateOutlet]=\"featuresTpl\"\n [ngTemplateOutletContext]=\"{features: item.features}\"></ng-container>\n }\n </div>\n\n <div class=\"flex-grow-1\"></div>\n\n @if (!!item.description) {\n <div class=\"text-secondary mb-3\" [class.text-center]=\"item.isPriceCentered\"\n [innerHTML]=\"item.description\"></div>\n }\n\n <div class=\"text-center mt-4\">\n <upd-button (clicked)=\"selectOption(item)\" customClasses=\"w-100\" [isLoading]=\"isLoading()\"\n [colorStyle]=\"!!item.highlightColor ? item.highlightColor : undefined\" [isDisabled]=\"!!item.currentText\">\n {{ textService.getText(!!item.currentText ? item.currentText : item.chooseThisText) }}\n </upd-button>\n </div>\n </div>\n </upd-card>\n </div>\n }\n</div>\n\n<ng-template #featuresTpl let-features=\"features\">\n <ul class=\"list-unstyled lh-lg\">\n @for (feature of features; track feature.text) {\n <li [class.fw-bold]=\"feature.isHighlighted\">\n @if (feature.isIncluded) {\n <upd-icon tablerIcon=\"check\" tablerIconWeight=\"bold\" colorClass=\"text-success\"></upd-icon>\n } @else {\n <upd-icon tablerIcon=\"minus\" tablerIconWeight=\"bold\" colorClass=\"text-secondary\"></upd-icon>\n }\n\n <span class=\"ms-2\" [innerHTML]=\"feature.text\" [class.text-secondary]=\"!feature.isIncluded\"></span>\n\n @if (!!feature.extraInfo) {\n <span [updPopover]=\"feature.extraInfo\" [updPopoverActAsTooltip]=\"true\">\n <upd-icon tablerIcon=\"info-circle\" />\n </span>\n }\n </li>\n }\n </ul>\n</ng-template>\n", styles: [":host{display:flex}.row-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));width:100%}.col-lg{display:flex;flex-direction:column;height:100%;width:100%}upd-card{display:flex;flex-direction:column;height:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.CardComponent, selector: "upd-card", inputs: ["wrapperClasses", "title", "subtitle", "hoverEffect", "state", "type", "imagePosition", "bgColor", "stampIcon", "stampBackground", "statusBackground", "statusPosition", "ribbonBackground", "ribbonStyle", "ribbonIcon", "ribbonText", "rotate", "removeBorder", "useLightHeader", "showHeader", "isFooterTransparent", "footerText", "showProgressBar", "progress", "actions"] }, { kind: "directive", type: i2.CardHeaderDirective, selector: "ng-template[updCardHeader]" }, { kind: "component", type: i3.IconComponent, selector: "upd-icon", inputs: ["model", "wrapperClasses", "color", "colorClass", "removeDefaultClasses", "customClasses", "tablerIcon", "tablerIconWeight", "tablerIconType", "tablerIconSize", "heroIcon", "heroIconSize", "heroIconType"] }, { kind: "component", type: i4.ButtonComponent, selector: "upd-button", inputs: ["model", "text", "brandColorStyle", "customClasses", "isOutline", "isGhost", "isSquare", "isPill", "isIcon", "isLoading", "isList", "isFloating", "isAction", "isNavigationLink", "isLink", "shouldIgnoreBtnClass", "iconModel", "iconPosition", "isDisabled", "isActive", "badgeConfig", "colorStyle", "size", "title", "stopPropagation"], outputs: ["clicked"] }, { kind: "component", type: i5.BadgeComponent, selector: "upd-badge", inputs: ["config", "bgColor", "textColor", "text", "isOutline", "isPill", "isNotification", "isBlinking", "customClasses"] }, { kind: "directive", type: i6.PopoverDirective, selector: "[updPopover]", inputs: ["updPopover", "updPopoverTitle", "updPopoverTitleTemplate", "updPopoverTemplate", "updPopoverPlacement", "updPopoverCustomClasses", "updPopoverActAsTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
29
+ }
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: PricingCardsComponent, decorators: [{
31
+ type: Component,
32
+ args: [{ standalone: false, selector: 'upd-pricing-cards', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"row row-cards\">\n @for (item of items(); track item.id) {\n <div class=\"col-lg col-sm-6\">\n <upd-card [ribbonBackground]=\"!!item.ribbonIcon ? item.highlightColor : undefined\" [ribbonIcon]=\"item.ribbonIcon\"\n [ribbonStyle]=\"item.ribbonStyle || 'top'\" [statusBackground]=\"item.highlightColor\" [useLightHeader]=\"true\">\n <ng-template updCardHeader>\n <div class=\"text-uppercase text-secondary fw-bold\">{{ item.title }}</div>\n <div [class.me-6]=\"!!item.ribbonIcon\" class=\"ms-auto d-flex gap-1\">\n @for (tag of item.tags; track tag.text.text) {\n <upd-badge [bgColor]=\"tag.backgroundColor\" [text]=\"tag.text\"></upd-badge>\n }\n </div>\n </ng-template>\n\n <div class=\"d-flex flex-column h-100\">\n <div>\n <div class=\"display-5 fw-bold mb-3\" [class.text-center]=\"item.isPriceCentered\" [innerHTML]=\"item.price\"></div>\n\n @if ((item.groupedFeatures?.length || 0) > 0) {\n @for (group of item.groupedFeatures; track group.name) {\n <div class=\"bg-surface-tertiary\">\n <span class=\"subheader\">{{ group.name }}</span>\n </div>\n <ng-container [ngTemplateOutlet]=\"featuresTpl\"\n [ngTemplateOutletContext]=\"{features: group.features}\"></ng-container>\n }\n } @else {\n <ng-container [ngTemplateOutlet]=\"featuresTpl\"\n [ngTemplateOutletContext]=\"{features: item.features}\"></ng-container>\n }\n </div>\n\n <div class=\"flex-grow-1\"></div>\n\n @if (!!item.description) {\n <div class=\"text-secondary mb-3\" [class.text-center]=\"item.isPriceCentered\"\n [innerHTML]=\"item.description\"></div>\n }\n\n <div class=\"text-center mt-4\">\n <upd-button (clicked)=\"selectOption(item)\" customClasses=\"w-100\" [isLoading]=\"isLoading()\"\n [colorStyle]=\"!!item.highlightColor ? item.highlightColor : undefined\" [isDisabled]=\"!!item.currentText\">\n {{ textService.getText(!!item.currentText ? item.currentText : item.chooseThisText) }}\n </upd-button>\n </div>\n </div>\n </upd-card>\n </div>\n }\n</div>\n\n<ng-template #featuresTpl let-features=\"features\">\n <ul class=\"list-unstyled lh-lg\">\n @for (feature of features; track feature.text) {\n <li [class.fw-bold]=\"feature.isHighlighted\">\n @if (feature.isIncluded) {\n <upd-icon tablerIcon=\"check\" tablerIconWeight=\"bold\" colorClass=\"text-success\"></upd-icon>\n } @else {\n <upd-icon tablerIcon=\"minus\" tablerIconWeight=\"bold\" colorClass=\"text-secondary\"></upd-icon>\n }\n\n <span class=\"ms-2\" [innerHTML]=\"feature.text\" [class.text-secondary]=\"!feature.isIncluded\"></span>\n\n @if (!!feature.extraInfo) {\n <span [updPopover]=\"feature.extraInfo\" [updPopoverActAsTooltip]=\"true\">\n <upd-icon tablerIcon=\"info-circle\" />\n </span>\n }\n </li>\n }\n </ul>\n</ng-template>\n", styles: [":host{display:flex}.row-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));width:100%}.col-lg{display:flex;flex-direction:column;height:100%;width:100%}upd-card{display:flex;flex-direction:column;height:100%}\n"] }]
33
+ }], propDecorators: { isLoading: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLoading", required: false }] }], items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: true }] }], selected: [{ type: i0.Output, args: ["selected"] }] } });
34
+
35
+ class PricingTableComponent {
36
+ constructor() {
37
+ this.isLoading = input(false, ...(ngDevMode ? [{ debugName: "isLoading" }] : []));
38
+ this.shouldRemoveCardStyle = input(false, ...(ngDevMode ? [{ debugName: "shouldRemoveCardStyle" }] : []));
39
+ this.title = input(...(ngDevMode ? [undefined, { debugName: "title" }] : []));
40
+ this.description = input(...(ngDevMode ? [undefined, { debugName: "description" }] : []));
41
+ this.items = input.required(...(ngDevMode ? [{ debugName: "items" }] : []));
42
+ this.selected = output();
43
+ this.tableBodyRows = computed(() => {
44
+ const plans = this.items();
45
+ if (!plans || plans.length === 0) {
46
+ return [];
47
+ }
48
+ const displayRows = [];
49
+ const featureTemplate = plans[0].groupedFeatures || [];
50
+ for (const group of featureTemplate) {
51
+ displayRows.push({ isHeader: true, name: group.name });
52
+ for (const feature of group.features) {
53
+ displayRows.push({
54
+ isHeader: false,
55
+ text: feature.text,
56
+ extraInfo: feature.extraInfo,
57
+ cells: plans.map(plan => {
58
+ const planFeature = this.findFeature(plan, group.name, feature.text);
59
+ return {
60
+ isIncluded: !!planFeature?.isIncluded,
61
+ itemDescription: planFeature?.itemDescription
62
+ };
63
+ })
64
+ });
65
+ }
66
+ }
67
+ return displayRows;
68
+ }, ...(ngDevMode ? [{ debugName: "tableBodyRows" }] : []));
69
+ this.textService = inject(TextService);
70
+ }
71
+ selectOption(item) {
72
+ this.selected.emit(item);
73
+ }
74
+ findFeature(item, groupName, featureText) {
75
+ const group = item.groupedFeatures?.find(g => g.name === groupName);
76
+ return group?.features.find(f => f.text === featureText);
77
+ }
78
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: PricingTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
79
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.4", type: PricingTableComponent, isStandalone: false, selector: "upd-pricing-table", inputs: { isLoading: { classPropertyName: "isLoading", publicName: "isLoading", isSignal: true, isRequired: false, transformFunction: null }, shouldRemoveCardStyle: { classPropertyName: "shouldRemoveCardStyle", publicName: "shouldRemoveCardStyle", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: false, transformFunction: null }, items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { selected: "selected" }, ngImport: i0, template: "<div [class.card]=\"!shouldRemoveCardStyle()\">\n <div class=\"table-responsive\">\n <table class=\"table table-vcenter table-bordered table-nowrap card-table\">\n <thead>\n <tr>\n <td class=\"w-50\">\n @if (!!title() || !!description()) {\n @if (!!title()) {\n <h2 [innerHTML]=\"title()\"></h2>\n }\n\n @if (!!description()) {\n <div class=\"text-secondary text-wrap\" [innerHTML]=\"description()\"></div>\n }\n }\n </td>\n @for (item of items(); track item.id) {\n <td class=\"text-center\">\n <div class=\"text-uppercase text-secondary font-weight-medium\" [innerHTML]=\"item.title\"></div>\n <div class=\"display-6 fw-bold my-3\" [innerHTML]=\"item.price\"></div>\n <upd-button (clicked)=\"selectOption(item)\" customClasses=\"w-100\" [isLoading]=\"isLoading()\"\n [colorStyle]=\"!!item.highlightColor ? item.highlightColor : undefined\" [isDisabled]=\"!!item.currentText\">\n {{ textService.getText(!!item.currentText ? item.currentText : item.chooseThisText) }}\n </upd-button>\n </td>\n }\n </tr>\n </thead>\n <tbody>\n @for (row of tableBodyRows(); track row.isHeader ? row.name : row.text) {\n @if (row.isHeader) {\n <tr class=\"bg-surface-tertiary\">\n <th [attr.colspan]=\"items().length + 1\" class=\"subheader\" [innerHTML]=\"row.name\"></th>\n </tr>\n } @else {\n <tr>\n <td>\n <span [innerHTML]=\"row.text\"></span>\n @if (!!row.extraInfo) {\n <span [updPopover]=\"row.extraInfo\" [updPopoverActAsTooltip]=\"true\">\n <upd-icon tablerIcon=\"info-circle\" />\n </span>\n }\n </td>\n @for (cell of row.cells; track $index) {\n <td class=\"text-center\">\n @if (!cell.itemDescription) {\n <upd-icon [tablerIcon]=\"cell.isIncluded ? 'check' : 'minus'\" tablerIconWeight=\"bold\"\n [colorClass]=\"cell.isIncluded ? 'text-success' : 'text-secondary'\">\n </upd-icon>\n } @else {\n <span [innerHTML]=\"cell.itemDescription\" [class.text-secondary]=\"!cell.isIncluded\"></span>\n }\n </td>\n }\n </tr>\n }\n }\n </tbody>\n <tfoot>\n <tr>\n <td></td>\n @for (item of items(); track item.id) {\n <td>\n <upd-button (clicked)=\"selectOption(item)\" customClasses=\"w-100\" [isLoading]=\"isLoading()\"\n [colorStyle]=\"!!item.highlightColor ? item.highlightColor : undefined\" [isDisabled]=\"!!item.currentText\">\n {{ textService.getText(!!item.currentText ? item.currentText : item.chooseThisText) }}\n </upd-button>\n </td>\n }\n </tr>\n </tfoot>\n </table>\n </div>\n</div>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "component", type: i3.IconComponent, selector: "upd-icon", inputs: ["model", "wrapperClasses", "color", "colorClass", "removeDefaultClasses", "customClasses", "tablerIcon", "tablerIconWeight", "tablerIconType", "tablerIconSize", "heroIcon", "heroIconSize", "heroIconType"] }, { kind: "component", type: i4.ButtonComponent, selector: "upd-button", inputs: ["model", "text", "brandColorStyle", "customClasses", "isOutline", "isGhost", "isSquare", "isPill", "isIcon", "isLoading", "isList", "isFloating", "isAction", "isNavigationLink", "isLink", "shouldIgnoreBtnClass", "iconModel", "iconPosition", "isDisabled", "isActive", "badgeConfig", "colorStyle", "size", "title", "stopPropagation"], outputs: ["clicked"] }, { kind: "directive", type: i6.PopoverDirective, selector: "[updPopover]", inputs: ["updPopover", "updPopoverTitle", "updPopoverTitleTemplate", "updPopoverTemplate", "updPopoverPlacement", "updPopoverCustomClasses", "updPopoverActAsTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
80
+ }
81
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: PricingTableComponent, decorators: [{
82
+ type: Component,
83
+ args: [{ standalone: false, selector: 'upd-pricing-table', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [class.card]=\"!shouldRemoveCardStyle()\">\n <div class=\"table-responsive\">\n <table class=\"table table-vcenter table-bordered table-nowrap card-table\">\n <thead>\n <tr>\n <td class=\"w-50\">\n @if (!!title() || !!description()) {\n @if (!!title()) {\n <h2 [innerHTML]=\"title()\"></h2>\n }\n\n @if (!!description()) {\n <div class=\"text-secondary text-wrap\" [innerHTML]=\"description()\"></div>\n }\n }\n </td>\n @for (item of items(); track item.id) {\n <td class=\"text-center\">\n <div class=\"text-uppercase text-secondary font-weight-medium\" [innerHTML]=\"item.title\"></div>\n <div class=\"display-6 fw-bold my-3\" [innerHTML]=\"item.price\"></div>\n <upd-button (clicked)=\"selectOption(item)\" customClasses=\"w-100\" [isLoading]=\"isLoading()\"\n [colorStyle]=\"!!item.highlightColor ? item.highlightColor : undefined\" [isDisabled]=\"!!item.currentText\">\n {{ textService.getText(!!item.currentText ? item.currentText : item.chooseThisText) }}\n </upd-button>\n </td>\n }\n </tr>\n </thead>\n <tbody>\n @for (row of tableBodyRows(); track row.isHeader ? row.name : row.text) {\n @if (row.isHeader) {\n <tr class=\"bg-surface-tertiary\">\n <th [attr.colspan]=\"items().length + 1\" class=\"subheader\" [innerHTML]=\"row.name\"></th>\n </tr>\n } @else {\n <tr>\n <td>\n <span [innerHTML]=\"row.text\"></span>\n @if (!!row.extraInfo) {\n <span [updPopover]=\"row.extraInfo\" [updPopoverActAsTooltip]=\"true\">\n <upd-icon tablerIcon=\"info-circle\" />\n </span>\n }\n </td>\n @for (cell of row.cells; track $index) {\n <td class=\"text-center\">\n @if (!cell.itemDescription) {\n <upd-icon [tablerIcon]=\"cell.isIncluded ? 'check' : 'minus'\" tablerIconWeight=\"bold\"\n [colorClass]=\"cell.isIncluded ? 'text-success' : 'text-secondary'\">\n </upd-icon>\n } @else {\n <span [innerHTML]=\"cell.itemDescription\" [class.text-secondary]=\"!cell.isIncluded\"></span>\n }\n </td>\n }\n </tr>\n }\n }\n </tbody>\n <tfoot>\n <tr>\n <td></td>\n @for (item of items(); track item.id) {\n <td>\n <upd-button (clicked)=\"selectOption(item)\" customClasses=\"w-100\" [isLoading]=\"isLoading()\"\n [colorStyle]=\"!!item.highlightColor ? item.highlightColor : undefined\" [isDisabled]=\"!!item.currentText\">\n {{ textService.getText(!!item.currentText ? item.currentText : item.chooseThisText) }}\n </upd-button>\n </td>\n }\n </tr>\n </tfoot>\n </table>\n </div>\n</div>\n", styles: [":host{display:block}\n"] }]
84
+ }], propDecorators: { isLoading: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLoading", required: false }] }], shouldRemoveCardStyle: [{ type: i0.Input, args: [{ isSignal: true, alias: "shouldRemoveCardStyle", required: false }] }], title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: false }] }], description: [{ type: i0.Input, args: [{ isSignal: true, alias: "description", required: false }] }], items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: true }] }], selected: [{ type: i0.Output, args: ["selected"] }] } });
85
+
86
+ class UpdPricingModule {
87
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: UpdPricingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
88
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.4", ngImport: i0, type: UpdPricingModule, declarations: [PricingCardsComponent,
89
+ PricingTableComponent], imports: [CommonModule,
90
+ UpdCardModule,
91
+ UpdIconsModule,
92
+ UpdButtonModule,
93
+ UpdBadgeModule,
94
+ UpdPopoverModule], exports: [PricingCardsComponent,
95
+ PricingTableComponent] }); }
96
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: UpdPricingModule, imports: [CommonModule,
97
+ UpdCardModule,
98
+ UpdIconsModule,
99
+ UpdButtonModule,
100
+ UpdBadgeModule,
101
+ UpdPopoverModule] }); }
102
+ }
103
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: UpdPricingModule, decorators: [{
104
+ type: NgModule,
105
+ args: [{
106
+ imports: [
107
+ CommonModule,
108
+ UpdCardModule,
109
+ UpdIconsModule,
110
+ UpdButtonModule,
111
+ UpdBadgeModule,
112
+ UpdPopoverModule
113
+ ],
114
+ declarations: [
115
+ PricingCardsComponent,
116
+ PricingTableComponent
117
+ ],
118
+ exports: [
119
+ PricingCardsComponent,
120
+ PricingTableComponent
121
+ ]
122
+ }]
123
+ }] });
124
+
125
+ /**
126
+ * Generated bundle index. Do not edit.
127
+ */
128
+
129
+ export { PricingCardsComponent, PricingTableComponent, UpdPricingModule };
130
+ //# sourceMappingURL=updevs-components-pricing.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updevs-components-pricing.mjs","sources":["../../../../libs/components/pricing/src/pricing-cards/pricing-cards.component.ts","../../../../libs/components/pricing/src/pricing-cards/pricing-cards.component.html","../../../../libs/components/pricing/src/pricing-table/pricing-table.component.ts","../../../../libs/components/pricing/src/pricing-table/pricing-table.component.html","../../../../libs/components/pricing/src/upd-pricing.module.ts","../../../../libs/components/pricing/src/updevs-components-pricing.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, inject, input, output } from '@angular/core';\nimport { TextService } from '@updevs/sdk';\n\nimport { PriceItemModel } from '../models/price-item.model';\n\n@Component({\n standalone: false,\n selector: 'upd-pricing-cards',\n templateUrl: './pricing-cards.component.html',\n styleUrl: './pricing-cards.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class PricingCardsComponent {\n readonly isLoading = input<boolean>(false);\n readonly items = input.required<PriceItemModel[]>();\n readonly selected = output<PriceItemModel>();\n\n readonly textService = inject(TextService);\n\n selectOption(item: PriceItemModel): void {\n this.selected.emit(item);\n }\n}\n","<div class=\"row row-cards\">\n @for (item of items(); track item.id) {\n <div class=\"col-lg col-sm-6\">\n <upd-card [ribbonBackground]=\"!!item.ribbonIcon ? item.highlightColor : undefined\" [ribbonIcon]=\"item.ribbonIcon\"\n [ribbonStyle]=\"item.ribbonStyle || 'top'\" [statusBackground]=\"item.highlightColor\" [useLightHeader]=\"true\">\n <ng-template updCardHeader>\n <div class=\"text-uppercase text-secondary fw-bold\">{{ item.title }}</div>\n <div [class.me-6]=\"!!item.ribbonIcon\" class=\"ms-auto d-flex gap-1\">\n @for (tag of item.tags; track tag.text.text) {\n <upd-badge [bgColor]=\"tag.backgroundColor\" [text]=\"tag.text\"></upd-badge>\n }\n </div>\n </ng-template>\n\n <div class=\"d-flex flex-column h-100\">\n <div>\n <div class=\"display-5 fw-bold mb-3\" [class.text-center]=\"item.isPriceCentered\" [innerHTML]=\"item.price\"></div>\n\n @if ((item.groupedFeatures?.length || 0) > 0) {\n @for (group of item.groupedFeatures; track group.name) {\n <div class=\"bg-surface-tertiary\">\n <span class=\"subheader\">{{ group.name }}</span>\n </div>\n <ng-container [ngTemplateOutlet]=\"featuresTpl\"\n [ngTemplateOutletContext]=\"{features: group.features}\"></ng-container>\n }\n } @else {\n <ng-container [ngTemplateOutlet]=\"featuresTpl\"\n [ngTemplateOutletContext]=\"{features: item.features}\"></ng-container>\n }\n </div>\n\n <div class=\"flex-grow-1\"></div>\n\n @if (!!item.description) {\n <div class=\"text-secondary mb-3\" [class.text-center]=\"item.isPriceCentered\"\n [innerHTML]=\"item.description\"></div>\n }\n\n <div class=\"text-center mt-4\">\n <upd-button (clicked)=\"selectOption(item)\" customClasses=\"w-100\" [isLoading]=\"isLoading()\"\n [colorStyle]=\"!!item.highlightColor ? item.highlightColor : undefined\" [isDisabled]=\"!!item.currentText\">\n {{ textService.getText(!!item.currentText ? item.currentText : item.chooseThisText) }}\n </upd-button>\n </div>\n </div>\n </upd-card>\n </div>\n }\n</div>\n\n<ng-template #featuresTpl let-features=\"features\">\n <ul class=\"list-unstyled lh-lg\">\n @for (feature of features; track feature.text) {\n <li [class.fw-bold]=\"feature.isHighlighted\">\n @if (feature.isIncluded) {\n <upd-icon tablerIcon=\"check\" tablerIconWeight=\"bold\" colorClass=\"text-success\"></upd-icon>\n } @else {\n <upd-icon tablerIcon=\"minus\" tablerIconWeight=\"bold\" colorClass=\"text-secondary\"></upd-icon>\n }\n\n <span class=\"ms-2\" [innerHTML]=\"feature.text\" [class.text-secondary]=\"!feature.isIncluded\"></span>\n\n @if (!!feature.extraInfo) {\n <span [updPopover]=\"feature.extraInfo\" [updPopoverActAsTooltip]=\"true\">\n <upd-icon tablerIcon=\"info-circle\" />\n </span>\n }\n </li>\n }\n </ul>\n</ng-template>\n","import { ChangeDetectionStrategy, Component, computed, inject, input, output } from '@angular/core';\nimport { TextService } from '@updevs/sdk';\n\nimport { PriceItemModel } from '../models/price-item.model';\n\ntype DisplayRow =\n | { isHeader: true; name: string }\n | { isHeader: false; text: string; extraInfo?: string; cells: { isIncluded: boolean; itemDescription?: string }[] };\n\n@Component({\n standalone: false,\n selector: 'upd-pricing-table',\n templateUrl: './pricing-table.component.html',\n styleUrl: './pricing-table.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class PricingTableComponent {\n readonly isLoading = input<boolean>(false);\n readonly shouldRemoveCardStyle = input<boolean>(false);\n readonly title = input<string>();\n readonly description = input<string>();\n readonly items = input.required<PriceItemModel[]>();\n readonly selected = output<PriceItemModel>();\n\n readonly tableBodyRows = computed<DisplayRow[]>(() => {\n const plans = this.items();\n\n if (!plans || plans.length === 0) {\n return [];\n }\n\n const displayRows: DisplayRow[] = [];\n const featureTemplate = plans[0].groupedFeatures || [];\n\n for (const group of featureTemplate) {\n displayRows.push({ isHeader: true, name: group.name });\n\n for (const feature of group.features) {\n displayRows.push({\n isHeader: false,\n text: feature.text,\n extraInfo: feature.extraInfo,\n cells: plans.map(plan => {\n const planFeature = this.findFeature(plan, group.name, feature.text);\n return {\n isIncluded: !!planFeature?.isIncluded,\n itemDescription: planFeature?.itemDescription\n };\n })\n });\n }\n }\n\n return displayRows;\n });\n readonly textService = inject(TextService);\n\n selectOption(item: PriceItemModel): void {\n this.selected.emit(item);\n }\n\n private findFeature(item: PriceItemModel, groupName: string, featureText: string) {\n const group = item.groupedFeatures?.find(g => g.name === groupName);\n return group?.features.find(f => f.text === featureText);\n }\n}\n","<div [class.card]=\"!shouldRemoveCardStyle()\">\n <div class=\"table-responsive\">\n <table class=\"table table-vcenter table-bordered table-nowrap card-table\">\n <thead>\n <tr>\n <td class=\"w-50\">\n @if (!!title() || !!description()) {\n @if (!!title()) {\n <h2 [innerHTML]=\"title()\"></h2>\n }\n\n @if (!!description()) {\n <div class=\"text-secondary text-wrap\" [innerHTML]=\"description()\"></div>\n }\n }\n </td>\n @for (item of items(); track item.id) {\n <td class=\"text-center\">\n <div class=\"text-uppercase text-secondary font-weight-medium\" [innerHTML]=\"item.title\"></div>\n <div class=\"display-6 fw-bold my-3\" [innerHTML]=\"item.price\"></div>\n <upd-button (clicked)=\"selectOption(item)\" customClasses=\"w-100\" [isLoading]=\"isLoading()\"\n [colorStyle]=\"!!item.highlightColor ? item.highlightColor : undefined\" [isDisabled]=\"!!item.currentText\">\n {{ textService.getText(!!item.currentText ? item.currentText : item.chooseThisText) }}\n </upd-button>\n </td>\n }\n </tr>\n </thead>\n <tbody>\n @for (row of tableBodyRows(); track row.isHeader ? row.name : row.text) {\n @if (row.isHeader) {\n <tr class=\"bg-surface-tertiary\">\n <th [attr.colspan]=\"items().length + 1\" class=\"subheader\" [innerHTML]=\"row.name\"></th>\n </tr>\n } @else {\n <tr>\n <td>\n <span [innerHTML]=\"row.text\"></span>\n @if (!!row.extraInfo) {\n <span [updPopover]=\"row.extraInfo\" [updPopoverActAsTooltip]=\"true\">\n <upd-icon tablerIcon=\"info-circle\" />\n </span>\n }\n </td>\n @for (cell of row.cells; track $index) {\n <td class=\"text-center\">\n @if (!cell.itemDescription) {\n <upd-icon [tablerIcon]=\"cell.isIncluded ? 'check' : 'minus'\" tablerIconWeight=\"bold\"\n [colorClass]=\"cell.isIncluded ? 'text-success' : 'text-secondary'\">\n </upd-icon>\n } @else {\n <span [innerHTML]=\"cell.itemDescription\" [class.text-secondary]=\"!cell.isIncluded\"></span>\n }\n </td>\n }\n </tr>\n }\n }\n </tbody>\n <tfoot>\n <tr>\n <td></td>\n @for (item of items(); track item.id) {\n <td>\n <upd-button (clicked)=\"selectOption(item)\" customClasses=\"w-100\" [isLoading]=\"isLoading()\"\n [colorStyle]=\"!!item.highlightColor ? item.highlightColor : undefined\" [isDisabled]=\"!!item.currentText\">\n {{ textService.getText(!!item.currentText ? item.currentText : item.chooseThisText) }}\n </upd-button>\n </td>\n }\n </tr>\n </tfoot>\n </table>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { UpdIconsModule } from '@updevs/icons';\nimport { UpdCardModule } from '@updevs/components/card';\nimport { UpdButtonModule } from '@updevs/components/button';\nimport { UpdBadgeModule } from '@updevs/components/badge';\nimport { UpdPopoverModule } from '@updevs/components/popover';\n\nimport { PricingCardsComponent } from './pricing-cards/pricing-cards.component';\nimport { PricingTableComponent } from './pricing-table/pricing-table.component';\n\n@NgModule({\n imports: [\n CommonModule,\n UpdCardModule,\n UpdIconsModule,\n UpdButtonModule,\n UpdBadgeModule,\n UpdPopoverModule\n ],\n declarations: [\n PricingCardsComponent,\n PricingTableComponent\n ],\n exports: [\n PricingCardsComponent,\n PricingTableComponent\n ]\n})\nexport class UpdPricingModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","i3"],"mappings":"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"}