@updevs/components 1.0.0-alpha.6 → 1.0.0-alpha.61

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 (693) hide show
  1. package/README.md +1 -11
  2. package/assets/styles/_bootstrap-components.scss +18 -1
  3. package/assets/styles/_core.scss +9 -0
  4. package/assets/styles/_debug.scss +49 -0
  5. package/assets/styles/_props.scss +91 -0
  6. package/assets/styles/_seven-columns.scss +73 -0
  7. package/assets/styles/_updevs.scss +16 -0
  8. package/assets/styles/_utilities-marketing.scss +209 -0
  9. package/assets/styles/_utilities.scss +127 -92
  10. package/assets/styles/_variables-dark.scss +8 -6
  11. package/assets/styles/_variables.scss +325 -256
  12. package/assets/styles/helpers/_index.scss +143 -0
  13. package/assets/styles/layout/_core.scss +3 -2
  14. package/assets/styles/layout/_dark.scss +40 -35
  15. package/assets/styles/layout/_footer.scss +1 -1
  16. package/assets/styles/layout/_navbar.scss +31 -19
  17. package/assets/styles/layout/_page.scss +6 -5
  18. package/assets/styles/layout/_root.scss +26 -34
  19. package/assets/styles/marketing/_browser.scss +67 -0
  20. package/assets/styles/marketing/_core.scss +8 -0
  21. package/assets/styles/marketing/_filters.scss +0 -0
  22. package/assets/styles/marketing/_hero.scss +70 -0
  23. package/assets/styles/marketing/_pricing.scss +111 -0
  24. package/assets/styles/marketing/_sections.scss +124 -0
  25. package/assets/styles/marketing/_shape.scss +31 -0
  26. package/assets/styles/mixins/_functions.scss +53 -0
  27. package/assets/styles/mixins/_mixins.scss +9 -9
  28. package/assets/styles/ui/_accordion.scss +165 -11
  29. package/assets/styles/ui/_alerts.scss +80 -38
  30. package/assets/styles/ui/_avatars.scss +36 -9
  31. package/assets/styles/ui/_badges.scss +47 -13
  32. package/assets/styles/ui/_button-group.scss +1 -1
  33. package/assets/styles/ui/_buttons.scss +33 -37
  34. package/assets/styles/ui/_calendars.scss +2 -2
  35. package/assets/styles/ui/_cards.scss +9 -0
  36. package/assets/styles/ui/_carousel.scss +1 -1
  37. package/assets/styles/ui/_charts.scss +1 -1
  38. package/assets/styles/ui/_chat.scss +38 -0
  39. package/assets/styles/ui/_close.scss +54 -1
  40. package/assets/styles/ui/_datagrid.scss +1 -1
  41. package/assets/styles/ui/_dropdowns.scss +3 -0
  42. package/assets/styles/ui/_empty.scss +0 -5
  43. package/assets/styles/ui/_flags.scss +2 -2
  44. package/assets/styles/ui/_forms.scss +33 -7
  45. package/assets/styles/ui/_grid.scss +1 -1
  46. package/assets/styles/ui/_icons.scss +1 -1
  47. package/assets/styles/ui/_images.scss +4 -0
  48. package/assets/styles/ui/_lists.scss +12 -16
  49. package/assets/styles/ui/_loaders.scss +1 -1
  50. package/assets/styles/ui/_markdown.scss +15 -4
  51. package/assets/styles/ui/_modals.scss +2 -2
  52. package/assets/styles/ui/_nav.scss +17 -3
  53. package/assets/styles/ui/_offcanvas.scss +2 -2
  54. package/assets/styles/ui/_pagination.scss +2 -0
  55. package/assets/styles/ui/_payments.scss +1 -1
  56. package/assets/styles/ui/_placeholder.scss +1 -1
  57. package/assets/styles/ui/_progress.scss +1 -1
  58. package/assets/styles/ui/_ribbons.scss +1 -0
  59. package/assets/styles/ui/_segmented.scss +101 -0
  60. package/assets/styles/ui/_signature.scss +15 -0
  61. package/assets/styles/ui/_social.scss +52 -0
  62. package/assets/styles/ui/_status.scss +1 -1
  63. package/assets/styles/ui/_steps.scss +5 -1
  64. package/assets/styles/ui/_switch-icon.scss +1 -1
  65. package/assets/styles/ui/_tables.scss +27 -1
  66. package/assets/styles/ui/_tags.scss +1 -1
  67. package/assets/styles/ui/_timeline.scss +1 -1
  68. package/assets/styles/ui/_toasts.scss +0 -1
  69. package/assets/styles/ui/_tracking.scss +1 -1
  70. package/assets/styles/ui/_type.scss +169 -8
  71. package/assets/styles/ui/forms/_form-check.scss +1 -1
  72. package/assets/styles/ui/forms/_form-colorinput.scss +1 -1
  73. package/assets/styles/ui/forms/_form-custom.scss +1 -1
  74. package/assets/styles/ui/forms/_form-imagecheck.scss +6 -5
  75. package/assets/styles/ui/forms/_form-selectgroup.scss +2 -2
  76. package/assets/styles/ui/typo/_hr.scss +4 -2
  77. package/assets/styles/utils/_colors.scss +72 -11
  78. package/assets/styles/utils/_opacity.scss +1 -1
  79. package/assets/styles/utils/_scroll.scss +0 -2
  80. package/assets/styles/utils/_sizing.scss +1 -1
  81. package/assets/styles/utils/_text.scss +1 -2
  82. package/assets/styles/vendor/_apexcharts.scss +52 -0
  83. package/assets/styles/vendor/_coloris.scss +72 -0
  84. package/assets/styles/vendor/_dropzone.scss +27 -0
  85. package/assets/styles/vendor/_fslightbox.scss +13 -0
  86. package/assets/styles/vendor/_jsvectormap.scss +47 -0
  87. package/assets/styles/vendor/_litepicker.scss +69 -0
  88. package/assets/styles/vendor/_nouislider.scss +49 -0
  89. package/assets/styles/vendor/_plyr.scss +3 -0
  90. package/assets/styles/vendor/_stars-rating.scss +22 -0
  91. package/assets/styles/vendor/_tom-select.scss +81 -0
  92. package/assets/styles/vendor/_turbo.scss +3 -0
  93. package/assets/styles/vendor/_typed.scss +4 -0
  94. package/assets/styles/vendor/_wysiwyg.scss +46 -0
  95. package/badge/badge-config.model.d.ts +14 -0
  96. package/badge/badge.component.d.ts +23 -0
  97. package/badge/badge.config.d.ts +12 -0
  98. package/badge/index.d.ts +1 -0
  99. package/badge/public-api.d.ts +3 -0
  100. package/badge/upd-badge.module.d.ts +8 -0
  101. package/button/button.component.d.ts +51 -33
  102. package/button/upd-button.module.d.ts +3 -1
  103. package/calendar/calendar.component.d.ts +63 -0
  104. package/calendar/index.d.ts +1 -0
  105. package/calendar/models/calendar-date.model.d.ts +10 -0
  106. package/calendar/models/calendar-month.model.d.ts +7 -0
  107. package/calendar/models/calendar-selected.model.d.ts +5 -0
  108. package/calendar/models/calendar-user-event.model.d.ts +4 -0
  109. package/calendar/models/calendar-year.model.d.ts +6 -0
  110. package/calendar/models/date-range.model.d.ts +22 -0
  111. package/calendar/models/enums/calendar-view.enum.d.ts +5 -0
  112. package/calendar/models/public-api.d.ts +7 -0
  113. package/calendar/public-api.d.ts +5 -0
  114. package/calendar/services/calendar-range-strategy.service.d.ts +35 -0
  115. package/calendar/services/calendar-signals.service.d.ts +24 -0
  116. package/calendar/services/public-api.d.ts +1 -0
  117. package/calendar/types/calendar-view.type.d.ts +1 -0
  118. package/calendar/types/public-api.d.ts +1 -0
  119. package/calendar/upd-calendar.module.d.ts +13 -0
  120. package/card/card.component.d.ts +2 -2
  121. package/card/directives/card-actions.directive.d.ts +1 -2
  122. package/card/directives/card-footer.directive.d.ts +1 -2
  123. package/card/directives/card-header.directive.d.ts +1 -2
  124. package/card/directives/card-image.directive.d.ts +1 -2
  125. package/card/public-api.d.ts +1 -0
  126. package/card/types/public-api.d.ts +5 -0
  127. package/drag-and-drop/drag-and-drop.component.d.ts +26 -0
  128. package/drag-and-drop/index.d.ts +1 -0
  129. package/drag-and-drop/models/drag-and-drop-column.config.d.ts +8 -0
  130. package/drag-and-drop/models/drag-and-drop-column.model.d.ts +10 -0
  131. package/drag-and-drop/models/drag-and-drop-item.d.ts +7 -0
  132. package/drag-and-drop/models/drag-and-drop-item.model.d.ts +13 -0
  133. package/drag-and-drop/models/drag-and-drop.config.d.ts +6 -0
  134. package/drag-and-drop/models/public-api.d.ts +4 -0
  135. package/drag-and-drop/public-api.d.ts +3 -0
  136. package/drag-and-drop/upd-drag-and-drop.module.d.ts +9 -0
  137. package/dropdown/dropdown.component.d.ts +23 -6
  138. package/dropdown/models/dropdown-action-clicked.model.d.ts +6 -0
  139. package/dropdown/models/dropdown-item.d.ts +7 -2
  140. package/dropdown/models/dropdown-item.type.d.ts +1 -1
  141. package/dropdown/models/public-api.d.ts +2 -0
  142. package/dropdown/models/toolbar.type.d.ts +1 -0
  143. package/esm2022/badge/badge-config.model.mjs +14 -0
  144. package/esm2022/badge/badge.component.mjs +48 -0
  145. package/esm2022/badge/badge.config.mjs +2 -0
  146. package/esm2022/badge/index.mjs +2 -0
  147. package/esm2022/badge/public-api.mjs +4 -0
  148. package/esm2022/badge/upd-badge.module.mjs +24 -0
  149. package/esm2022/badge/updevs-components-badge.mjs +5 -0
  150. package/esm2022/button/button.component.mjs +126 -132
  151. package/esm2022/button/index.mjs +1 -1
  152. package/esm2022/button/public-api.mjs +1 -1
  153. package/esm2022/button/upd-button.module.mjs +14 -6
  154. package/esm2022/button/updevs-components-button.mjs +1 -1
  155. package/esm2022/calendar/assets/i18n/en.json +16 -0
  156. package/esm2022/calendar/assets/i18n/pt.json +16 -0
  157. package/esm2022/calendar/calendar.component.mjs +318 -0
  158. package/esm2022/calendar/index.mjs +2 -0
  159. package/esm2022/calendar/models/calendar-date.model.mjs +2 -0
  160. package/esm2022/calendar/models/calendar-month.model.mjs +2 -0
  161. package/esm2022/calendar/models/calendar-selected.model.mjs +2 -0
  162. package/esm2022/calendar/models/calendar-user-event.model.mjs +2 -0
  163. package/esm2022/calendar/models/calendar-year.model.mjs +2 -0
  164. package/esm2022/calendar/models/date-range.model.mjs +18 -0
  165. package/esm2022/calendar/models/enums/calendar-view.enum.mjs +7 -0
  166. package/esm2022/calendar/models/public-api.mjs +8 -0
  167. package/esm2022/calendar/public-api.mjs +6 -0
  168. package/esm2022/calendar/services/calendar-range-strategy.service.mjs +99 -0
  169. package/esm2022/calendar/services/calendar-signals.service.mjs +47 -0
  170. package/esm2022/calendar/services/public-api.mjs +2 -0
  171. package/esm2022/calendar/types/calendar-view.type.mjs +2 -0
  172. package/esm2022/calendar/types/public-api.mjs +2 -0
  173. package/esm2022/calendar/upd-calendar.module.mjs +52 -0
  174. package/esm2022/calendar/updevs-components-calendar.mjs +5 -0
  175. package/esm2022/card/card.component.mjs +4 -4
  176. package/esm2022/card/directives/card-actions.directive.mjs +8 -8
  177. package/esm2022/card/directives/card-footer.directive.mjs +8 -8
  178. package/esm2022/card/directives/card-header.directive.mjs +8 -8
  179. package/esm2022/card/directives/card-image.directive.mjs +8 -8
  180. package/esm2022/card/directives/public-api.mjs +1 -1
  181. package/esm2022/card/index.mjs +1 -1
  182. package/esm2022/card/public-api.mjs +2 -1
  183. package/esm2022/card/types/card-state.type.mjs +1 -1
  184. package/esm2022/card/types/card-style.type.mjs +1 -1
  185. package/esm2022/card/types/hover-effect.type.mjs +1 -1
  186. package/esm2022/card/types/public-api.mjs +6 -0
  187. package/esm2022/card/types/ribbon-style.type.mjs +1 -1
  188. package/esm2022/card/types/status-position.type.mjs +1 -1
  189. package/esm2022/card/upd-card.module.mjs +5 -5
  190. package/esm2022/card/updevs-components-card.mjs +1 -1
  191. package/esm2022/drag-and-drop/drag-and-drop.component.mjs +134 -0
  192. package/esm2022/drag-and-drop/index.mjs +2 -0
  193. package/esm2022/drag-and-drop/models/drag-and-drop-column.config.mjs +2 -0
  194. package/esm2022/drag-and-drop/models/drag-and-drop-column.model.mjs +9 -0
  195. package/esm2022/drag-and-drop/models/drag-and-drop-item.mjs +2 -0
  196. package/esm2022/drag-and-drop/models/drag-and-drop-item.model.mjs +14 -0
  197. package/esm2022/drag-and-drop/models/drag-and-drop.config.mjs +2 -0
  198. package/esm2022/drag-and-drop/models/public-api.mjs +5 -0
  199. package/esm2022/drag-and-drop/public-api.mjs +4 -0
  200. package/esm2022/drag-and-drop/upd-drag-and-drop.module.mjs +28 -0
  201. package/esm2022/drag-and-drop/updevs-components-drag-and-drop.mjs +5 -0
  202. package/esm2022/dropdown/dropdown.component.mjs +75 -18
  203. package/esm2022/dropdown/index.mjs +1 -1
  204. package/esm2022/dropdown/models/dropdown-action-clicked.model.mjs +2 -0
  205. package/esm2022/dropdown/models/dropdown-item.mjs +1 -1
  206. package/esm2022/dropdown/models/dropdown-item.type.mjs +1 -1
  207. package/esm2022/dropdown/models/public-api.mjs +3 -1
  208. package/esm2022/dropdown/models/toolbar.type.mjs +2 -0
  209. package/esm2022/dropdown/public-api.mjs +1 -1
  210. package/esm2022/dropdown/upd-dropdown.module.mjs +5 -5
  211. package/esm2022/dropdown/updevs-components-dropdown.mjs +1 -1
  212. package/esm2022/form/assets/i18n/en.json +17 -0
  213. package/esm2022/form/assets/i18n/pt.json +17 -0
  214. package/esm2022/form/components/dynamic-field/dynamic-field.component.mjs +174 -0
  215. package/esm2022/form/form.component.mjs +180 -0
  216. package/esm2022/form/index.mjs +1 -1
  217. package/esm2022/form/models/attachment-rule.model.mjs +2 -0
  218. package/esm2022/form/models/button-field.model.mjs +2 -0
  219. package/esm2022/form/models/button-group-field.model.mjs +2 -0
  220. package/esm2022/form/models/checkbox-field.model.mjs +2 -0
  221. package/esm2022/form/models/checkbox-group-field.model.mjs +2 -0
  222. package/esm2022/form/models/dynamic-field.model.mjs +2 -0
  223. package/esm2022/form/models/enums/attachment-type.enum.mjs +15 -0
  224. package/esm2022/form/models/enums/dynamic-field.type.mjs +17 -0
  225. package/esm2022/form/models/enums/public-api.mjs +3 -0
  226. package/esm2022/form/models/file-upload-field.model.mjs +2 -0
  227. package/esm2022/form/models/form-config.mjs +2 -0
  228. package/esm2022/form/models/form-row.model.mjs +2 -0
  229. package/esm2022/form/models/form-update-on.type.mjs +2 -0
  230. package/esm2022/form/models/input-field.model.mjs +2 -0
  231. package/esm2022/form/models/masked-input-field.model.mjs +2 -0
  232. package/esm2022/form/models/public-api.mjs +19 -0
  233. package/esm2022/form/models/radio-field.model.mjs +2 -0
  234. package/esm2022/form/models/radio-group-field.model.mjs +2 -0
  235. package/esm2022/form/models/select-field.model.mjs +2 -0
  236. package/esm2022/form/models/single-select-field.model.mjs +2 -0
  237. package/esm2022/form/models/textarea-field.model.mjs +2 -0
  238. package/esm2022/form/models/validator-config.mjs +2 -0
  239. package/esm2022/form/public-api.mjs +4 -2
  240. package/esm2022/form/tools/errors-helper.mjs +54 -0
  241. package/esm2022/form/upd-form.module.mjs +84 -0
  242. package/esm2022/form/updevs-components-form.mjs +1 -1
  243. package/esm2022/form-controls/abstractions/base-control.mjs +46 -0
  244. package/esm2022/form-controls/abstractions/index.mjs +2 -0
  245. package/esm2022/form-controls/abstractions/public-api.mjs +2 -0
  246. package/esm2022/form-controls/abstractions/updevs-components-form-controls-abstractions.mjs +5 -0
  247. package/esm2022/form-controls/checkbox/checkbox.component.mjs +37 -51
  248. package/esm2022/form-controls/checkbox/index.mjs +1 -1
  249. package/esm2022/form-controls/checkbox/public-api.mjs +1 -1
  250. package/esm2022/form-controls/checkbox/upd-checkbox.module.mjs +12 -8
  251. package/esm2022/form-controls/checkbox/updevs-components-form-controls-checkbox.mjs +1 -1
  252. package/esm2022/form-controls/date-picker/date-picker.component.mjs +132 -0
  253. package/esm2022/form-controls/date-picker/index.mjs +2 -0
  254. package/esm2022/form-controls/date-picker/public-api.mjs +3 -0
  255. package/esm2022/form-controls/date-picker/upd-date-picker.module.mjs +40 -0
  256. package/esm2022/form-controls/date-picker/updevs-components-form-controls-date-picker.mjs +5 -0
  257. package/esm2022/form-controls/file-upload/assets/i18n/en.json +15 -0
  258. package/esm2022/form-controls/file-upload/assets/i18n/pt.json +15 -0
  259. package/esm2022/form-controls/file-upload/file-upload-changed.event.mjs +2 -0
  260. package/esm2022/form-controls/file-upload/file-upload.component.mjs +169 -0
  261. package/esm2022/form-controls/file-upload/index.mjs +2 -0
  262. package/esm2022/form-controls/file-upload/public-api.mjs +4 -0
  263. package/esm2022/form-controls/file-upload/upd-file-upload.module.mjs +48 -0
  264. package/esm2022/form-controls/file-upload/updevs-components-form-controls-file-upload.mjs +5 -0
  265. package/esm2022/form-controls/input/directives/input-append.directive.mjs +8 -8
  266. package/esm2022/form-controls/input/directives/input-prepend.directive.mjs +8 -8
  267. package/esm2022/form-controls/input/directives/public-api.mjs +1 -1
  268. package/esm2022/form-controls/input/index.mjs +1 -1
  269. package/esm2022/form-controls/input/input.component.mjs +64 -34
  270. package/esm2022/form-controls/input/public-api.mjs +1 -1
  271. package/esm2022/form-controls/input/types/input.type.mjs +1 -1
  272. package/esm2022/form-controls/input/types/loader-position.type.mjs +1 -1
  273. package/esm2022/form-controls/input/types/public-api.mjs +1 -1
  274. package/esm2022/form-controls/input/upd-input.module.mjs +5 -5
  275. package/esm2022/form-controls/input/updevs-components-form-controls-input.mjs +1 -1
  276. package/esm2022/form-controls/radio/index.mjs +1 -1
  277. package/esm2022/form-controls/radio/public-api.mjs +1 -1
  278. package/esm2022/form-controls/radio/radio.component.mjs +12 -25
  279. package/esm2022/form-controls/radio/upd-radio.module.mjs +14 -6
  280. package/esm2022/form-controls/radio/updevs-components-form-controls-radio.mjs +1 -1
  281. package/esm2022/form-controls/select/components/multiple/select-multiple.component.mjs +33 -10
  282. package/esm2022/form-controls/select/components/single/select.component.mjs +31 -8
  283. package/esm2022/form-controls/select/index.mjs +1 -1
  284. package/esm2022/form-controls/select/models/abstractions/base-select.component.mjs +109 -88
  285. package/esm2022/form-controls/select/models/defaults.mjs +8 -0
  286. package/esm2022/form-controls/select/models/public-api.mjs +2 -1
  287. package/esm2022/form-controls/select/models/select-item.mjs +1 -1
  288. package/esm2022/form-controls/select/public-api.mjs +1 -1
  289. package/esm2022/form-controls/select/upd-select.module.mjs +10 -6
  290. package/esm2022/form-controls/select/updevs-components-form-controls-select.mjs +1 -1
  291. package/esm2022/form-controls/textarea/index.mjs +1 -1
  292. package/esm2022/form-controls/textarea/public-api.mjs +1 -1
  293. package/esm2022/form-controls/textarea/textarea.component.mjs +18 -36
  294. package/esm2022/form-controls/textarea/upd-textarea.module.mjs +5 -5
  295. package/esm2022/form-controls/textarea/updevs-components-form-controls-textarea.mjs +1 -1
  296. package/esm2022/form-controls/time-picker/index.mjs +1 -1
  297. package/esm2022/form-controls/time-picker/public-api.mjs +1 -1
  298. package/esm2022/form-controls/time-picker/time-picker.component.mjs +4 -4
  299. package/esm2022/form-controls/time-picker/time-selector/time-selector.component.mjs +7 -8
  300. package/esm2022/form-controls/time-picker/upd-time-picker.module.mjs +9 -8
  301. package/esm2022/form-controls/time-picker/updevs-components-form-controls-time-picker.mjs +1 -1
  302. package/esm2022/index.mjs +2 -0
  303. package/esm2022/layout/abstractions/base-page.component.mjs +8 -9
  304. package/esm2022/layout/abstractions/base.layout.mjs +31 -0
  305. package/esm2022/layout/abstractions/public-api.mjs +1 -1
  306. package/esm2022/layout/assets/i18n/en.json +24 -2
  307. package/esm2022/layout/assets/i18n/pt.json +24 -2
  308. package/esm2022/layout/index.mjs +1 -1
  309. package/esm2022/layout/layouts/blank-layout/blank-layout.component.mjs +18 -7
  310. package/esm2022/layout/layouts/blank-layout/blank-layout.module.mjs +32 -6
  311. package/esm2022/layout/layouts/public-api.mjs +1 -1
  312. package/esm2022/layout/layouts/vertical-sidebar-layout/vertical-sidebar-layout.component.mjs +13 -29
  313. package/esm2022/layout/layouts/vertical-sidebar-layout/vertical-sidebar-layout.module.mjs +25 -28
  314. package/esm2022/layout/models/login-page-config.model.mjs +20 -0
  315. package/esm2022/layout/models/login-page.config.mjs +2 -0
  316. package/esm2022/layout/models/public-api.mjs +2 -1
  317. package/esm2022/layout/models/security-layout-config.model.mjs +10 -0
  318. package/esm2022/layout/models/security-layout.config.mjs +2 -0
  319. package/esm2022/layout/models/upd-layout-config.model.mjs +11 -17
  320. package/esm2022/layout/models/upd-layout.config.mjs +1 -1
  321. package/esm2022/layout/pages/auth-flow/auth-flow-routing.module.mjs +5 -5
  322. package/esm2022/layout/pages/auth-flow/auth-flow.module.mjs +36 -9
  323. package/esm2022/layout/pages/auth-flow/logged-out/logged-out.component.mjs +4 -4
  324. package/esm2022/layout/pages/auth-flow/login/login.component.mjs +95 -12
  325. package/esm2022/layout/pages/auth-flow/oauth-callback/oauth-callback.component.mjs +4 -4
  326. package/esm2022/layout/pages/auth-flow/public-api.mjs +1 -1
  327. package/esm2022/layout/pages/public-api.mjs +1 -1
  328. package/esm2022/layout/partials/footer/footer.component.mjs +13 -27
  329. package/esm2022/layout/partials/footer/footer.module.mjs +28 -0
  330. package/esm2022/layout/partials/footer/public-api.mjs +2 -2
  331. package/esm2022/layout/partials/header/header-style.type.mjs +1 -1
  332. package/esm2022/layout/partials/header/header.component.mjs +121 -60
  333. package/esm2022/layout/partials/header/header.module.mjs +40 -0
  334. package/esm2022/layout/partials/header/public-api.mjs +2 -1
  335. package/esm2022/layout/partials/page-header/page-header.component.mjs +11 -11
  336. package/esm2022/layout/partials/page-header/public-api.mjs +1 -1
  337. package/esm2022/layout/partials/public-api.mjs +1 -1
  338. package/esm2022/layout/partials/sidebar/public-api.mjs +1 -1
  339. package/esm2022/layout/partials/sidebar/sidebar.component.mjs +185 -95
  340. package/esm2022/layout/public-api.mjs +1 -1
  341. package/esm2022/layout/services/public-api.mjs +1 -1
  342. package/esm2022/layout/services/upd-layout-config.service.mjs +6 -6
  343. package/esm2022/layout/tools/layout.constants.mjs +1 -1
  344. package/esm2022/layout/upd-layout.module.mjs +12 -8
  345. package/esm2022/layout/updevs-components-layout.mjs +1 -1
  346. package/esm2022/lib/index.mjs +1 -1
  347. package/esm2022/lib/models/public-api.mjs +2 -0
  348. package/esm2022/lib/models/row-column-size.mjs +2 -0
  349. package/esm2022/lib/public-api.mjs +3 -1
  350. package/esm2022/lib/tools/column-size.helper.mjs +12 -0
  351. package/esm2022/lib/tools/public-api.mjs +2 -0
  352. package/esm2022/lib/types/component-size.type.mjs +1 -1
  353. package/esm2022/lib/types/horizontal-vertical.type.mjs +2 -0
  354. package/esm2022/lib/types/public-api.mjs +2 -1
  355. package/esm2022/lib/types/validation-status.type.mjs +1 -1
  356. package/esm2022/lib/upd-components.module.mjs +5 -5
  357. package/esm2022/link/index.mjs +1 -1
  358. package/esm2022/link/link.component.mjs +4 -4
  359. package/esm2022/link/public-api.mjs +1 -1
  360. package/esm2022/link/target.type.mjs +1 -1
  361. package/esm2022/link/upd-link.module.mjs +5 -5
  362. package/esm2022/link/updevs-components-link.mjs +1 -1
  363. package/esm2022/list/assets/i18n/en.json +7 -3
  364. package/esm2022/list/assets/i18n/pt.json +7 -3
  365. package/esm2022/list/index.mjs +1 -1
  366. package/esm2022/list/list.component.mjs +14 -34
  367. package/esm2022/list/models/badge-position.type.mjs +1 -1
  368. package/esm2022/list/models/list-item.mjs +1 -1
  369. package/esm2022/list/models/list-item.model.mjs +7 -2
  370. package/esm2022/list/models/public-api.mjs +1 -1
  371. package/esm2022/list/public-api.mjs +1 -1
  372. package/esm2022/list/upd-list.module.mjs +9 -8
  373. package/esm2022/list/updevs-components-list.mjs +1 -1
  374. package/esm2022/modal/assets/i18n/en.json +17 -0
  375. package/esm2022/modal/assets/i18n/pt.json +17 -0
  376. package/esm2022/modal/components/modal-container/modal-container.component.mjs +216 -0
  377. package/esm2022/modal/index.mjs +2 -0
  378. package/esm2022/modal/models/base.modal.mjs +14 -0
  379. package/esm2022/modal/models/modal-config.model.mjs +20 -0
  380. package/esm2022/modal/models/modal-ref.mjs +2 -0
  381. package/esm2022/modal/models/modal.config.mjs +2 -0
  382. package/esm2022/modal/models/public-api.mjs +4 -0
  383. package/esm2022/modal/public-api.mjs +4 -0
  384. package/esm2022/modal/services/modal-alert.service.mjs +99 -0
  385. package/esm2022/modal/services/modal.service.mjs +30 -0
  386. package/esm2022/modal/services/public-api.mjs +3 -0
  387. package/esm2022/modal/types/modal-footer-style.type.mjs +2 -0
  388. package/esm2022/modal/types/modal-size.type.mjs +2 -0
  389. package/esm2022/modal/upd-modal.module.mjs +90 -0
  390. package/esm2022/modal/updevs-components-modal.mjs +5 -0
  391. package/esm2022/paginator/assets/i18n/en.json +15 -0
  392. package/esm2022/paginator/assets/i18n/pt.json +15 -0
  393. package/esm2022/paginator/index.mjs +2 -0
  394. package/esm2022/paginator/paginator.component.mjs +66 -0
  395. package/esm2022/paginator/public-api.mjs +3 -0
  396. package/esm2022/paginator/upd-paginator.module.mjs +47 -0
  397. package/esm2022/paginator/updevs-components-paginator.mjs +5 -0
  398. package/esm2022/popover/index.mjs +1 -1
  399. package/esm2022/popover/popover.component.mjs +7 -7
  400. package/esm2022/popover/popover.directive.mjs +33 -42
  401. package/esm2022/popover/public-api.mjs +1 -1
  402. package/esm2022/popover/upd-popover.module.mjs +5 -5
  403. package/esm2022/popover/updevs-components-popover.mjs +1 -1
  404. package/esm2022/pricing-cards/index.mjs +2 -0
  405. package/esm2022/pricing-cards/models/price-item-feature.model.mjs +2 -0
  406. package/esm2022/pricing-cards/models/price-item-features-group.model.mjs +2 -0
  407. package/esm2022/pricing-cards/models/price-item-tag.model.mjs +2 -0
  408. package/esm2022/pricing-cards/models/price-item.model.mjs +2 -0
  409. package/esm2022/pricing-cards/models/public-api.mjs +5 -0
  410. package/esm2022/pricing-cards/pricing-cards.component.mjs +25 -0
  411. package/esm2022/pricing-cards/public-api.mjs +4 -0
  412. package/esm2022/pricing-cards/upd-pricing-cards.module.mjs +40 -0
  413. package/esm2022/pricing-cards/updevs-components-pricing-cards.mjs +5 -0
  414. package/esm2022/public-api.mjs +1 -1
  415. package/esm2022/table/abstractions/base-column.model.mjs +52 -0
  416. package/esm2022/table/abstractions/base.column.mjs +84 -0
  417. package/esm2022/table/abstractions/filters-operands.service.mjs +3 -0
  418. package/esm2022/table/abstractions/public-api.mjs +3 -0
  419. package/esm2022/table/assets/i18n/en.json +74 -0
  420. package/esm2022/table/assets/i18n/pt.json +74 -0
  421. package/esm2022/table/components/columns/boolean-column/boolean-column.component.mjs +26 -0
  422. package/esm2022/table/components/columns/date-time-column/date-time-column.component.mjs +13 -0
  423. package/esm2022/table/components/columns/number-column/number-column.component.mjs +13 -0
  424. package/esm2022/table/components/columns/text-column/text-column.component.mjs +31 -0
  425. package/esm2022/table/components/columns-manager/columns-manager.component.mjs +36 -0
  426. package/esm2022/table/components/filter-row/filter-row.component.mjs +114 -0
  427. package/esm2022/table/components/save-search/save-search.component.mjs +72 -0
  428. package/esm2022/table/components/search-section/search-section.component.mjs +93 -0
  429. package/esm2022/table/directives/public-api.mjs +2 -0
  430. package/esm2022/table/directives/table-column.directive.mjs +52 -0
  431. package/esm2022/table/index.mjs +2 -0
  432. package/esm2022/table/models/columns/boolean-column.model.mjs +22 -0
  433. package/esm2022/table/models/columns/date-time-column.model.mjs +16 -0
  434. package/esm2022/table/models/columns/guid-column.model.mjs +13 -0
  435. package/esm2022/table/models/columns/image-column.model.mjs +11 -0
  436. package/esm2022/table/models/columns/number-column.model.mjs +17 -0
  437. package/esm2022/table/models/columns/public-api.mjs +7 -0
  438. package/esm2022/table/models/columns/text-column.model.mjs +11 -0
  439. package/esm2022/table/models/enums/column-type.enum.mjs +15 -0
  440. package/esm2022/table/models/enums/public-api.mjs +2 -0
  441. package/esm2022/table/models/filter-item.model.mjs +2 -0
  442. package/esm2022/table/models/filter-operand.config.mjs +2 -0
  443. package/esm2022/table/models/operands-lists/boolean-filter-operands-list.model.mjs +25 -0
  444. package/esm2022/table/models/operands-lists/date-filter-operands-list.model.mjs +25 -0
  445. package/esm2022/table/models/operands-lists/date-or-number-operands-list.config.mjs +31 -0
  446. package/esm2022/table/models/operands-lists/filter-operands-list.config.mjs +31 -0
  447. package/esm2022/table/models/operands-lists/guid-filter-operands-list.model.mjs +16 -0
  448. package/esm2022/table/models/operands-lists/number-filter-operands-list.model.mjs +25 -0
  449. package/esm2022/table/models/operands-lists/string-filter-operands-list.model.mjs +45 -0
  450. package/esm2022/table/models/public-api.mjs +5 -0
  451. package/esm2022/table/models/saved-view.model.mjs +2 -0
  452. package/esm2022/table/models/table-config.model.mjs +29 -0
  453. package/esm2022/table/models/table.config.mjs +2 -0
  454. package/esm2022/table/models/upd-table-config.model.mjs +9 -0
  455. package/esm2022/table/models/upd-table.config.mjs +2 -0
  456. package/esm2022/table/public-api.mjs +6 -0
  457. package/esm2022/table/services/default-filters-operands.service.mjs +60 -0
  458. package/esm2022/table/services/storages/saved-views.storage.mjs +56 -0
  459. package/esm2022/table/services/stores/filters-operands.store.mjs +19 -0
  460. package/esm2022/table/services/upd-table-config.service.mjs +18 -0
  461. package/esm2022/table/table.component.mjs +439 -0
  462. package/esm2022/table/tools/filters.tools.mjs +48 -0
  463. package/esm2022/table/tools/table.constants.mjs +15 -0
  464. package/esm2022/table/upd-table.module.mjs +150 -0
  465. package/esm2022/table/updevs-components-table.mjs +5 -0
  466. package/esm2022/updevs-components.mjs +2 -2
  467. package/fesm2022/updevs-components-badge.mjs +89 -0
  468. package/fesm2022/updevs-components-badge.mjs.map +1 -0
  469. package/fesm2022/updevs-components-button.mjs +138 -136
  470. package/fesm2022/updevs-components-button.mjs.map +1 -1
  471. package/fesm2022/updevs-components-calendar.mjs +582 -0
  472. package/fesm2022/updevs-components-calendar.mjs.map +1 -0
  473. package/fesm2022/updevs-components-card.mjs +32 -32
  474. package/fesm2022/updevs-components-card.mjs.map +1 -1
  475. package/fesm2022/updevs-components-drag-and-drop.mjs +185 -0
  476. package/fesm2022/updevs-components-drag-and-drop.mjs.map +1 -0
  477. package/fesm2022/updevs-components-dropdown.mjs +78 -21
  478. package/fesm2022/updevs-components-dropdown.mjs.map +1 -1
  479. package/fesm2022/updevs-components-form-controls-abstractions.mjs +53 -0
  480. package/fesm2022/updevs-components-form-controls-abstractions.mjs.map +1 -0
  481. package/fesm2022/updevs-components-form-controls-checkbox.mjs +47 -57
  482. package/fesm2022/updevs-components-form-controls-checkbox.mjs.map +1 -1
  483. package/fesm2022/updevs-components-form-controls-date-picker.mjs +175 -0
  484. package/fesm2022/updevs-components-form-controls-date-picker.mjs.map +1 -0
  485. package/fesm2022/updevs-components-form-controls-file-upload.mjs +264 -0
  486. package/fesm2022/updevs-components-form-controls-file-upload.mjs.map +1 -0
  487. package/fesm2022/updevs-components-form-controls-input.mjs +80 -50
  488. package/fesm2022/updevs-components-form-controls-input.mjs.map +1 -1
  489. package/fesm2022/updevs-components-form-controls-radio.mjs +25 -30
  490. package/fesm2022/updevs-components-form-controls-radio.mjs.map +1 -1
  491. package/fesm2022/updevs-components-form-controls-select.mjs +185 -108
  492. package/fesm2022/updevs-components-form-controls-select.mjs.map +1 -1
  493. package/fesm2022/updevs-components-form-controls-textarea.mjs +21 -39
  494. package/fesm2022/updevs-components-form-controls-textarea.mjs.map +1 -1
  495. package/fesm2022/updevs-components-form-controls-time-picker.mjs +18 -18
  496. package/fesm2022/updevs-components-form-controls-time-picker.mjs.map +1 -1
  497. package/fesm2022/updevs-components-form.mjs +541 -10
  498. package/fesm2022/updevs-components-form.mjs.map +1 -1
  499. package/fesm2022/updevs-components-layout.mjs +774 -395
  500. package/fesm2022/updevs-components-layout.mjs.map +1 -1
  501. package/fesm2022/updevs-components-link.mjs +8 -8
  502. package/fesm2022/updevs-components-link.mjs.map +1 -1
  503. package/fesm2022/updevs-components-list.mjs +44 -58
  504. package/fesm2022/updevs-components-list.mjs.map +1 -1
  505. package/fesm2022/updevs-components-modal.mjs +504 -0
  506. package/fesm2022/updevs-components-modal.mjs.map +1 -0
  507. package/fesm2022/updevs-components-paginator.mjs +160 -0
  508. package/fesm2022/updevs-components-paginator.mjs.map +1 -0
  509. package/fesm2022/updevs-components-popover.mjs +41 -50
  510. package/fesm2022/updevs-components-popover.mjs.map +1 -1
  511. package/fesm2022/updevs-components-pricing-cards.mjs +69 -0
  512. package/fesm2022/updevs-components-pricing-cards.mjs.map +1 -0
  513. package/fesm2022/updevs-components-table.mjs +1754 -0
  514. package/fesm2022/updevs-components-table.mjs.map +1 -0
  515. package/fesm2022/updevs-components.mjs +17 -5
  516. package/fesm2022/updevs-components.mjs.map +1 -1
  517. package/form/components/dynamic-field/dynamic-field.component.d.ts +63 -0
  518. package/form/form.component.d.ts +64 -0
  519. package/form/models/attachment-rule.model.d.ts +35 -0
  520. package/form/models/button-field.model.d.ts +5 -0
  521. package/form/models/button-group-field.model.d.ts +5 -0
  522. package/form/models/checkbox-field.model.d.ts +4 -0
  523. package/form/models/checkbox-group-field.model.d.ts +6 -0
  524. package/form/models/dynamic-field.model.d.ts +50 -0
  525. package/form/models/enums/attachment-type.enum.d.ts +13 -0
  526. package/form/models/enums/dynamic-field.type.d.ts +15 -0
  527. package/form/models/enums/public-api.d.ts +2 -0
  528. package/form/models/file-upload-field.model.d.ts +16 -0
  529. package/form/models/form-config.d.ts +2 -0
  530. package/form/models/form-row.model.d.ts +10 -0
  531. package/form/models/form-update-on.type.d.ts +1 -0
  532. package/form/models/input-field.model.d.ts +9 -0
  533. package/form/models/masked-input-field.model.d.ts +6 -0
  534. package/form/models/public-api.d.ts +18 -0
  535. package/form/models/radio-field.model.d.ts +4 -0
  536. package/form/models/radio-group-field.model.d.ts +6 -0
  537. package/form/models/select-field.model.d.ts +29 -0
  538. package/form/models/single-select-field.model.d.ts +4 -0
  539. package/form/models/textarea-field.model.d.ts +10 -0
  540. package/form/models/validator-config.d.ts +5 -0
  541. package/form/public-api.d.ts +3 -1
  542. package/form/tools/errors-helper.d.ts +11 -0
  543. package/form/upd-form.module.d.ts +22 -0
  544. package/form-controls/abstractions/base-control.d.ts +29 -0
  545. package/form-controls/abstractions/index.d.ts +2 -0
  546. package/form-controls/abstractions/public-api.d.ts +2 -0
  547. package/form-controls/checkbox/checkbox.component.d.ts +14 -20
  548. package/form-controls/checkbox/upd-checkbox.module.d.ts +2 -1
  549. package/form-controls/date-picker/date-picker.component.d.ts +66 -0
  550. package/form-controls/date-picker/index.d.ts +1 -0
  551. package/form-controls/date-picker/public-api.d.ts +2 -0
  552. package/form-controls/date-picker/upd-date-picker.module.d.ts +12 -0
  553. package/form-controls/file-upload/file-upload-changed.event.d.ts +4 -0
  554. package/form-controls/file-upload/file-upload.component.d.ts +46 -0
  555. package/form-controls/file-upload/index.d.ts +1 -0
  556. package/form-controls/file-upload/public-api.d.ts +3 -0
  557. package/form-controls/file-upload/upd-file-upload.module.d.ts +14 -0
  558. package/form-controls/input/directives/input-append.directive.d.ts +1 -2
  559. package/form-controls/input/directives/input-prepend.directive.d.ts +1 -2
  560. package/form-controls/input/input.component.d.ts +24 -14
  561. package/form-controls/radio/radio.component.d.ts +5 -12
  562. package/form-controls/radio/upd-radio.module.d.ts +3 -1
  563. package/form-controls/select/components/multiple/select-multiple.component.d.ts +13 -2
  564. package/form-controls/select/components/single/select.component.d.ts +10 -2
  565. package/form-controls/select/models/abstractions/base-select.component.d.ts +35 -31
  566. package/form-controls/select/models/defaults.d.ts +8 -0
  567. package/form-controls/select/models/public-api.d.ts +1 -0
  568. package/form-controls/select/upd-select.module.d.ts +3 -2
  569. package/form-controls/textarea/textarea.component.d.ts +11 -15
  570. package/form-controls/time-picker/upd-time-picker.module.d.ts +2 -2
  571. package/index.d.ts +1 -4
  572. package/layout/abstractions/base-page.component.d.ts +1 -2
  573. package/layout/abstractions/base.layout.d.ts +15 -0
  574. package/layout/layouts/blank-layout/blank-layout.component.d.ts +5 -1
  575. package/layout/layouts/blank-layout/blank-layout.module.d.ts +8 -1
  576. package/layout/layouts/vertical-sidebar-layout/vertical-sidebar-layout.component.d.ts +2 -9
  577. package/layout/layouts/vertical-sidebar-layout/vertical-sidebar-layout.module.d.ts +14 -13
  578. package/layout/models/login-page-config.model.d.ts +46 -0
  579. package/layout/models/login-page.config.d.ts +44 -0
  580. package/layout/models/public-api.d.ts +1 -0
  581. package/layout/models/security-layout-config.model.d.ts +12 -0
  582. package/layout/models/security-layout.config.d.ts +10 -0
  583. package/layout/models/upd-layout-config.model.d.ts +9 -0
  584. package/layout/models/upd-layout.config.d.ts +9 -0
  585. package/layout/pages/auth-flow/auth-flow.module.d.ts +9 -2
  586. package/layout/pages/auth-flow/login/login.component.d.ts +20 -6
  587. package/layout/partials/footer/footer.component.d.ts +4 -15
  588. package/layout/partials/footer/footer.module.d.ts +9 -0
  589. package/layout/partials/footer/public-api.d.ts +1 -1
  590. package/layout/partials/header/header.component.d.ts +44 -26
  591. package/layout/partials/header/header.module.d.ts +12 -0
  592. package/layout/partials/header/public-api.d.ts +1 -0
  593. package/layout/partials/page-header/page-header.component.d.ts +2 -2
  594. package/layout/partials/sidebar/sidebar.component.d.ts +29 -4
  595. package/layout/upd-layout.module.d.ts +2 -1
  596. package/lib/index.d.ts +1 -0
  597. package/lib/models/public-api.d.ts +2 -0
  598. package/lib/models/row-column-size.d.ts +23 -0
  599. package/lib/public-api.d.ts +3 -0
  600. package/lib/tools/column-size.helper.d.ts +6 -0
  601. package/lib/tools/public-api.d.ts +2 -0
  602. package/lib/types/component-size.type.d.ts +1 -0
  603. package/lib/types/horizontal-vertical.type.d.ts +2 -0
  604. package/lib/types/public-api.d.ts +2 -0
  605. package/lib/types/validation-status.type.d.ts +1 -0
  606. package/lib/upd-components.module.d.ts +1 -0
  607. package/list/list.component.d.ts +4 -20
  608. package/list/models/list-item.d.ts +4 -2
  609. package/list/models/list-item.model.d.ts +4 -2
  610. package/list/upd-list.module.d.ts +2 -2
  611. package/modal/components/modal-container/modal-container.component.d.ts +74 -0
  612. package/modal/index.d.ts +1 -0
  613. package/modal/models/base.modal.d.ts +8 -0
  614. package/modal/models/modal-config.model.d.ts +32 -0
  615. package/modal/models/modal-ref.d.ts +6 -0
  616. package/modal/models/modal.config.d.ts +30 -0
  617. package/modal/models/public-api.d.ts +3 -0
  618. package/modal/public-api.d.ts +3 -0
  619. package/modal/services/modal-alert.service.d.ts +22 -0
  620. package/modal/services/modal.service.d.ts +12 -0
  621. package/modal/services/public-api.d.ts +2 -0
  622. package/modal/types/modal-footer-style.type.d.ts +1 -0
  623. package/modal/types/modal-size.type.d.ts +1 -0
  624. package/modal/upd-modal.module.d.ts +18 -0
  625. package/package.json +72 -11
  626. package/paginator/index.d.ts +1 -0
  627. package/paginator/paginator.component.d.ts +42 -0
  628. package/paginator/public-api.d.ts +2 -0
  629. package/paginator/upd-paginator.module.d.ts +14 -0
  630. package/popover/popover.component.d.ts +2 -2
  631. package/popover/popover.directive.d.ts +8 -10
  632. package/pricing-cards/index.d.ts +1 -0
  633. package/pricing-cards/models/price-item-feature.model.d.ts +5 -0
  634. package/pricing-cards/models/price-item-features-group.model.d.ts +5 -0
  635. package/pricing-cards/models/price-item-tag.model.d.ts +6 -0
  636. package/pricing-cards/models/price-item.model.d.ts +20 -0
  637. package/pricing-cards/models/public-api.d.ts +4 -0
  638. package/pricing-cards/pricing-cards.component.d.ts +11 -0
  639. package/pricing-cards/public-api.d.ts +3 -0
  640. package/pricing-cards/upd-pricing-cards.module.d.ts +12 -0
  641. package/public-api.d.ts +1 -0
  642. package/table/abstractions/base-column.model.d.ts +31 -0
  643. package/table/abstractions/base.column.d.ts +26 -0
  644. package/table/abstractions/filters-operands.service.d.ts +8 -0
  645. package/table/abstractions/public-api.d.ts +2 -0
  646. package/table/components/columns/boolean-column/boolean-column.component.d.ts +9 -0
  647. package/table/components/columns/date-time-column/date-time-column.component.d.ts +7 -0
  648. package/table/components/columns/number-column/number-column.component.d.ts +7 -0
  649. package/table/components/columns/text-column/text-column.component.d.ts +9 -0
  650. package/table/components/columns-manager/columns-manager.component.d.ts +15 -0
  651. package/table/components/filter-row/filter-row.component.d.ts +40 -0
  652. package/table/components/save-search/save-search.component.d.ts +17 -0
  653. package/table/components/search-section/search-section.component.d.ts +36 -0
  654. package/table/directives/public-api.d.ts +1 -0
  655. package/table/directives/table-column.directive.d.ts +14 -0
  656. package/table/index.d.ts +1 -0
  657. package/table/models/columns/boolean-column.model.d.ts +15 -0
  658. package/table/models/columns/date-time-column.model.d.ts +8 -0
  659. package/table/models/columns/guid-column.model.d.ts +4 -0
  660. package/table/models/columns/image-column.model.d.ts +6 -0
  661. package/table/models/columns/number-column.model.d.ts +8 -0
  662. package/table/models/columns/public-api.d.ts +6 -0
  663. package/table/models/columns/text-column.model.d.ts +6 -0
  664. package/table/models/enums/column-type.enum.d.ts +13 -0
  665. package/table/models/enums/public-api.d.ts +1 -0
  666. package/table/models/filter-item.model.d.ts +6 -0
  667. package/table/models/filter-operand.config.d.ts +9 -0
  668. package/table/models/operands-lists/boolean-filter-operands-list.model.d.ts +6 -0
  669. package/table/models/operands-lists/date-filter-operands-list.model.d.ts +6 -0
  670. package/table/models/operands-lists/date-or-number-operands-list.config.d.ts +5 -0
  671. package/table/models/operands-lists/filter-operands-list.config.d.ts +5 -0
  672. package/table/models/operands-lists/guid-filter-operands-list.model.d.ts +6 -0
  673. package/table/models/operands-lists/number-filter-operands-list.model.d.ts +6 -0
  674. package/table/models/operands-lists/string-filter-operands-list.model.d.ts +6 -0
  675. package/table/models/public-api.d.ts +4 -0
  676. package/table/models/saved-view.model.d.ts +11 -0
  677. package/table/models/table-config.model.d.ts +33 -0
  678. package/table/models/table.config.d.ts +31 -0
  679. package/table/models/upd-table-config.model.d.ts +6 -0
  680. package/table/models/upd-table.config.d.ts +6 -0
  681. package/table/public-api.d.ts +5 -0
  682. package/table/services/default-filters-operands.service.d.ts +17 -0
  683. package/table/services/storages/saved-views.storage.d.ts +19 -0
  684. package/table/services/stores/filters-operands.store.d.ts +11 -0
  685. package/table/services/upd-table-config.service.d.ts +12 -0
  686. package/table/table.component.d.ts +81 -0
  687. package/table/tools/filters.tools.d.ts +9 -0
  688. package/table/tools/table.constants.d.ts +15 -0
  689. package/table/upd-table.module.d.ts +40 -0
  690. package/esm2022/form/form.module.mjs +0 -18
  691. package/esm2022/layout/partials/footer/footer-copyright.directive.mjs +0 -15
  692. package/form/form.module.d.ts +0 -7
  693. package/layout/partials/footer/footer-copyright.directive.d.ts +0 -6
@@ -0,0 +1,90 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { UpdCoreLayoutModule } from '@updevs/sdk/layout';
4
+ import { UpdIconsModule } from '@updevs/icons';
5
+ import { UpdMessagesModule, MessagesService, MessageTypeEnum } from '@updevs/sdk/messages';
6
+ import { UpdButtonModule } from '@updevs/components/button';
7
+ import { TranslocoService, TranslocoDirective } from '@jsverse/transloco';
8
+ import * as en from './assets/i18n/en.json';
9
+ import * as pt from './assets/i18n/pt.json';
10
+ import { ModalService } from './services/modal.service';
11
+ import { ModalContainerComponent } from './components/modal-container/modal-container.component';
12
+ import { ModalAlertService } from './services/modal-alert.service';
13
+ import * as i0 from "@angular/core";
14
+ import * as i1 from "@jsverse/transloco";
15
+ import * as i2 from "./services/modal-alert.service";
16
+ import * as i3 from "@updevs/sdk/messages";
17
+ export class UpdModalModule {
18
+ constructor(translocoService, modalAlertService, messagesService) {
19
+ translocoService.setFallbackLangForMissingTranslation({ fallbackLang: 'en' });
20
+ translocoService.setTranslation(en, 'en');
21
+ translocoService.setTranslation(pt, 'pt');
22
+ this.setupMessagesService(modalAlertService, messagesService);
23
+ }
24
+ setupMessagesService(modalAlertService, messagesService) {
25
+ messagesService.onNewMessage.subscribe(msg => {
26
+ if (msg.isModal) {
27
+ if (!!msg.onShown) {
28
+ msg.onShown();
29
+ }
30
+ let modalRef;
31
+ switch (msg.type) {
32
+ case MessageTypeEnum.Warning:
33
+ modalRef = modalAlertService.showWarning(msg.message, msg.title);
34
+ break;
35
+ case MessageTypeEnum.Info:
36
+ modalRef = modalAlertService.showInfo(msg.message, msg.title);
37
+ break;
38
+ case MessageTypeEnum.Error:
39
+ modalRef = modalAlertService.showError(msg.message, msg.title);
40
+ break;
41
+ case MessageTypeEnum.Success:
42
+ modalRef = modalAlertService.showSuccess(msg.message, msg.title);
43
+ break;
44
+ case MessageTypeEnum.Confirm:
45
+ modalAlertService.showConfirm(msg.message, msg.title);
46
+ break;
47
+ }
48
+ if (!!modalRef && !!msg.onHidden) {
49
+ modalRef.afterClose = msg.onHidden;
50
+ }
51
+ }
52
+ });
53
+ }
54
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: UpdModalModule, deps: [{ token: i1.TranslocoService }, { token: i2.ModalAlertService }, { token: i3.MessagesService }], target: i0.ɵɵFactoryTarget.NgModule }); }
55
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.0", ngImport: i0, type: UpdModalModule, declarations: [ModalContainerComponent], imports: [CommonModule,
56
+ UpdCoreLayoutModule,
57
+ UpdButtonModule,
58
+ UpdIconsModule,
59
+ UpdMessagesModule,
60
+ TranslocoDirective] }); }
61
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: UpdModalModule, providers: [
62
+ ModalService,
63
+ ModalAlertService
64
+ ], imports: [CommonModule,
65
+ UpdCoreLayoutModule,
66
+ UpdButtonModule,
67
+ UpdIconsModule,
68
+ UpdMessagesModule] }); }
69
+ }
70
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: UpdModalModule, decorators: [{
71
+ type: NgModule,
72
+ args: [{
73
+ imports: [
74
+ CommonModule,
75
+ UpdCoreLayoutModule,
76
+ UpdButtonModule,
77
+ UpdIconsModule,
78
+ UpdMessagesModule,
79
+ TranslocoDirective
80
+ ],
81
+ declarations: [
82
+ ModalContainerComponent
83
+ ],
84
+ providers: [
85
+ ModalService,
86
+ ModalAlertService
87
+ ]
88
+ }]
89
+ }], ctorParameters: () => [{ type: i1.TranslocoService }, { type: i2.ModalAlertService }, { type: i3.MessagesService }] });
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkLW1vZGFsLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tb2RhbC9zcmMvdXBkLW1vZGFsLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFM0YsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTFFLE9BQU8sS0FBSyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDNUMsT0FBTyxLQUFLLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDeEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFDakcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7O0FBb0JuRSxNQUFNLE9BQU8sY0FBYztJQUN2QixZQUFZLGdCQUFrQyxFQUFFLGlCQUFvQyxFQUFFLGVBQWdDO1FBQ2xILGdCQUFnQixDQUFDLG9DQUFvQyxDQUFDLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDOUUsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMxQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxpQkFBaUIsRUFBRSxlQUFlLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRU8sb0JBQW9CLENBQUMsaUJBQW9DLEVBQUUsZUFBZ0M7UUFDL0YsZUFBZSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDekMsSUFBSSxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2QsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDO29CQUNoQixHQUFHLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2xCLENBQUM7Z0JBRUQsSUFBSSxRQUFnQyxDQUFDO2dCQUVyQyxRQUFRLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztvQkFDZixLQUFLLGVBQWUsQ0FBQyxPQUFPO3dCQUN4QixRQUFRLEdBQUcsaUJBQWlCLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO3dCQUNqRSxNQUFNO29CQUNWLEtBQUssZUFBZSxDQUFDLElBQUk7d0JBQ3JCLFFBQVEsR0FBRyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7d0JBQzlELE1BQU07b0JBQ1YsS0FBSyxlQUFlLENBQUMsS0FBSzt3QkFDdEIsUUFBUSxHQUFHLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQzt3QkFDL0QsTUFBTTtvQkFDVixLQUFLLGVBQWUsQ0FBQyxPQUFPO3dCQUN4QixRQUFRLEdBQUcsaUJBQWlCLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO3dCQUNqRSxNQUFNO29CQUNWLEtBQUssZUFBZSxDQUFDLE9BQU87d0JBQ3hCLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQzt3QkFDdEQsTUFBTTtnQkFDZCxDQUFDO2dCQUVELElBQUksQ0FBQyxDQUFDLFFBQVEsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDO29CQUMvQixRQUFRLENBQUMsVUFBVSxHQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUM7Z0JBQ3ZDLENBQUM7WUFDTCxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzhHQXhDUSxjQUFjOytHQUFkLGNBQWMsaUJBUG5CLHVCQUF1QixhQVJ2QixZQUFZO1lBQ1osbUJBQW1CO1lBQ25CLGVBQWU7WUFDZixjQUFjO1lBQ2QsaUJBQWlCO1lBQ2pCLGtCQUFrQjsrR0FVYixjQUFjLGFBTFo7WUFDUCxZQUFZO1lBQ1osaUJBQWlCO1NBQ3BCLFlBYkcsWUFBWTtZQUNaLG1CQUFtQjtZQUNuQixlQUFlO1lBQ2YsY0FBYztZQUNkLGlCQUFpQjs7MkZBV1osY0FBYztrQkFqQjFCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFO3dCQUNMLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQixlQUFlO3dCQUNmLGNBQWM7d0JBQ2QsaUJBQWlCO3dCQUNqQixrQkFBa0I7cUJBQ3JCO29CQUNELFlBQVksRUFBRTt3QkFDVix1QkFBdUI7cUJBQzFCO29CQUNELFNBQVMsRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGlCQUFpQjtxQkFDcEI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFVwZENvcmVMYXlvdXRNb2R1bGUgfSBmcm9tICdAdXBkZXZzL3Nkay9sYXlvdXQnO1xuaW1wb3J0IHsgVXBkSWNvbnNNb2R1bGUgfSBmcm9tICdAdXBkZXZzL2ljb25zJztcbmltcG9ydCB7IFVwZE1lc3NhZ2VzTW9kdWxlLCBNZXNzYWdlc1NlcnZpY2UsIE1lc3NhZ2VUeXBlRW51bSB9IGZyb20gJ0B1cGRldnMvc2RrL21lc3NhZ2VzJztcbmltcG9ydCB7IE9wdGlvbmFsVHlwZSB9IGZyb20gJ0B1cGRldnMvc2RrL3R5cGVzJztcbmltcG9ydCB7IFVwZEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0B1cGRldnMvY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHsgVHJhbnNsb2NvU2VydmljZSwgVHJhbnNsb2NvRGlyZWN0aXZlIH0gZnJvbSAnQGpzdmVyc2UvdHJhbnNsb2NvJztcblxuaW1wb3J0ICogYXMgZW4gZnJvbSAnLi9hc3NldHMvaTE4bi9lbi5qc29uJztcbmltcG9ydCAqIGFzIHB0IGZyb20gJy4vYXNzZXRzL2kxOG4vcHQuanNvbic7XG5pbXBvcnQgeyBNb2RhbFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL21vZGFsLnNlcnZpY2UnO1xuaW1wb3J0IHsgTW9kYWxDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbW9kYWwtY29udGFpbmVyL21vZGFsLWNvbnRhaW5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTW9kYWxBbGVydFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL21vZGFsLWFsZXJ0LnNlcnZpY2UnO1xuaW1wb3J0IHsgTW9kYWxSZWYgfSBmcm9tICcuL21vZGVscy9tb2RhbC1yZWYnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBVcGRDb3JlTGF5b3V0TW9kdWxlLFxuICAgICAgICBVcGRCdXR0b25Nb2R1bGUsXG4gICAgICAgIFVwZEljb25zTW9kdWxlLFxuICAgICAgICBVcGRNZXNzYWdlc01vZHVsZSxcbiAgICAgICAgVHJhbnNsb2NvRGlyZWN0aXZlXG4gICAgXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtcbiAgICAgICAgTW9kYWxDb250YWluZXJDb21wb25lbnRcbiAgICBdLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBNb2RhbFNlcnZpY2UsXG4gICAgICAgIE1vZGFsQWxlcnRTZXJ2aWNlXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBVcGRNb2RhbE1vZHVsZSB7XG4gICAgY29uc3RydWN0b3IodHJhbnNsb2NvU2VydmljZTogVHJhbnNsb2NvU2VydmljZSwgbW9kYWxBbGVydFNlcnZpY2U6IE1vZGFsQWxlcnRTZXJ2aWNlLCBtZXNzYWdlc1NlcnZpY2U6IE1lc3NhZ2VzU2VydmljZSkge1xuICAgICAgICB0cmFuc2xvY29TZXJ2aWNlLnNldEZhbGxiYWNrTGFuZ0Zvck1pc3NpbmdUcmFuc2xhdGlvbih7IGZhbGxiYWNrTGFuZzogJ2VuJyB9KTtcbiAgICAgICAgdHJhbnNsb2NvU2VydmljZS5zZXRUcmFuc2xhdGlvbihlbiwgJ2VuJyk7XG4gICAgICAgIHRyYW5zbG9jb1NlcnZpY2Uuc2V0VHJhbnNsYXRpb24ocHQsICdwdCcpO1xuICAgICAgICB0aGlzLnNldHVwTWVzc2FnZXNTZXJ2aWNlKG1vZGFsQWxlcnRTZXJ2aWNlLCBtZXNzYWdlc1NlcnZpY2UpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0dXBNZXNzYWdlc1NlcnZpY2UobW9kYWxBbGVydFNlcnZpY2U6IE1vZGFsQWxlcnRTZXJ2aWNlLCBtZXNzYWdlc1NlcnZpY2U6IE1lc3NhZ2VzU2VydmljZSk6IHZvaWQge1xuICAgICAgICBtZXNzYWdlc1NlcnZpY2Uub25OZXdNZXNzYWdlLnN1YnNjcmliZShtc2cgPT4ge1xuICAgICAgICAgICAgaWYgKG1zZy5pc01vZGFsKSB7XG4gICAgICAgICAgICAgICAgaWYgKCEhbXNnLm9uU2hvd24pIHtcbiAgICAgICAgICAgICAgICAgICAgbXNnLm9uU2hvd24oKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBsZXQgbW9kYWxSZWY6IE9wdGlvbmFsVHlwZTxNb2RhbFJlZj47XG5cbiAgICAgICAgICAgICAgICBzd2l0Y2ggKG1zZy50eXBlKSB7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgTWVzc2FnZVR5cGVFbnVtLldhcm5pbmc6XG4gICAgICAgICAgICAgICAgICAgICAgICBtb2RhbFJlZiA9IG1vZGFsQWxlcnRTZXJ2aWNlLnNob3dXYXJuaW5nKG1zZy5tZXNzYWdlLCBtc2cudGl0bGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgTWVzc2FnZVR5cGVFbnVtLkluZm86XG4gICAgICAgICAgICAgICAgICAgICAgICBtb2RhbFJlZiA9IG1vZGFsQWxlcnRTZXJ2aWNlLnNob3dJbmZvKG1zZy5tZXNzYWdlLCBtc2cudGl0bGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgTWVzc2FnZVR5cGVFbnVtLkVycm9yOlxuICAgICAgICAgICAgICAgICAgICAgICAgbW9kYWxSZWYgPSBtb2RhbEFsZXJ0U2VydmljZS5zaG93RXJyb3IobXNnLm1lc3NhZ2UsIG1zZy50aXRsZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBNZXNzYWdlVHlwZUVudW0uU3VjY2VzczpcbiAgICAgICAgICAgICAgICAgICAgICAgIG1vZGFsUmVmID0gbW9kYWxBbGVydFNlcnZpY2Uuc2hvd1N1Y2Nlc3MobXNnLm1lc3NhZ2UsIG1zZy50aXRsZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBNZXNzYWdlVHlwZUVudW0uQ29uZmlybTpcbiAgICAgICAgICAgICAgICAgICAgICAgIG1vZGFsQWxlcnRTZXJ2aWNlLnNob3dDb25maXJtKG1zZy5tZXNzYWdlLCBtc2cudGl0bGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKCEhbW9kYWxSZWYgJiYgISFtc2cub25IaWRkZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgbW9kYWxSZWYuYWZ0ZXJDbG9zZSA9IG1zZy5vbkhpZGRlbjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkZXZzLWNvbXBvbmVudHMtbW9kYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbW9kYWwvc3JjL3VwZGV2cy1jb21wb25lbnRzLW1vZGFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
@@ -0,0 +1,15 @@
1
+ {
2
+ "UpDevs": {
3
+ "Paginator": {
4
+ "Previous": "Previous",
5
+ "Next": "Next",
6
+ "PreviousShort": "prev",
7
+ "NextShort": "next",
8
+ "First": "first",
9
+ "Last": "last",
10
+ "FromToOf": "{{first}} - {{last}} of {{totalRecords}}",
11
+ "ItemsPerPage": "Items per page:",
12
+ "NoRecords": "no records"
13
+ }
14
+ }
15
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "UpDevs": {
3
+ "Paginator": {
4
+ "Previous": "Anterior",
5
+ "Next": "Próximo",
6
+ "PreviousShort": "próx",
7
+ "NextShort": "ant",
8
+ "First": "primeira",
9
+ "Last": "última",
10
+ "FromToOf": "{{first}} - {{last}} de {{totalRecords}}",
11
+ "ItemsPerPage": "Itens por página:",
12
+ "NoRecords": "sem registros"
13
+ }
14
+ }
15
+ }
@@ -0,0 +1,2 @@
1
+ export * from './public-api';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvcGFnaW5hdG9yL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0=
@@ -0,0 +1,66 @@
1
+ import { Component, inject, HostBinding, effect, input, computed, model, Output, EventEmitter } from '@angular/core';
2
+ import { TextService } from '@updevs/sdk';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@updevs/icons";
5
+ import * as i2 from "@updevs/components/button";
6
+ import * as i3 from "@updevs/components/form-controls/select";
7
+ import * as i4 from "@jsverse/transloco";
8
+ export class PaginatorComponent {
9
+ constructor() {
10
+ this.hostClasses = '';
11
+ this.changed = new EventEmitter();
12
+ this.startPageIndex = input(0);
13
+ this.currentPage = model(this.startPageIndex());
14
+ this.wrapperClasses = input('');
15
+ this.availablePageSizes = input([5, 10, 15, 25, 50]);
16
+ this.defaultInitPageSize = input(10);
17
+ this.pageSize = model(this.defaultInitPageSize());
18
+ this.shouldDisplayFirstIcon = input(true);
19
+ this.shouldDisplayFirstText = input(true);
20
+ this.shouldDisplayPreviousIcon = input(true);
21
+ this.shouldDisplayPreviousText = input(true);
22
+ this.shouldDisplayNextIcon = input(true);
23
+ this.shouldDisplayNextText = input(true);
24
+ this.shouldDisplayLastIcon = input(true);
25
+ this.shouldDisplayLastText = input(true);
26
+ this.previousDescription = input();
27
+ this.nextDescription = input();
28
+ this.totalRecords = input(0);
29
+ this.isFirstDisabled = computed(() => this.currentPage() === this.startPageIndex() || this.totalRecords() === 0);
30
+ this.isPreviousDisabled = computed(() => this.currentPage() === this.startPageIndex() || this.totalRecords() === 0);
31
+ this.isNextDisabled = computed(() => this.currentPage() + 1 === this.totalPages() || this.totalRecords() === 0);
32
+ this.isLastDisabled = computed(() => this.currentPage() + 1 === this.totalPages() || this.totalRecords() === 0);
33
+ this.pageOptions = computed(() => this.availablePageSizes().map(ps => ({ value: ps, text: ps.toString() })));
34
+ this.selectedPageSize = computed(() => this.pageOptions().find(po => po.value === this.pageSize()));
35
+ this.totalPages = computed(() => Math.ceil(this.totalRecords() / this.pageSize()));
36
+ this.currentFirstDisplayed = computed(() => ((this.currentPage() - this.startPageIndex()) * this.pageSize()) + 1);
37
+ this.currentLastDisplayed = computed(() => (this.expectedLast() > this.totalRecords() ? this.totalRecords() : this.expectedLast()));
38
+ this.textService = inject(TextService);
39
+ this.expectedLast = computed(() => (this.currentPage() + (this.startPageIndex() === 1 ? 0 : 1)) * this.pageSize());
40
+ this.defaultWrapperClasses = 'd-flex align-items-center';
41
+ effect(() => {
42
+ this.hostClasses = `${this.defaultWrapperClasses} ${this.wrapperClasses()}`;
43
+ });
44
+ }
45
+ onSelectPageSize(page) {
46
+ console.log('page', page);
47
+ this.pageSize.set(page?.value || 1);
48
+ this.changed.emit();
49
+ }
50
+ selectPage(page) {
51
+ this.currentPage.set(page);
52
+ this.changed.emit();
53
+ }
54
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: PaginatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
55
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: PaginatorComponent, selector: "upd-paginator", inputs: { startPageIndex: { classPropertyName: "startPageIndex", publicName: "startPageIndex", isSignal: true, isRequired: false, transformFunction: null }, currentPage: { classPropertyName: "currentPage", publicName: "currentPage", isSignal: true, isRequired: false, transformFunction: null }, wrapperClasses: { classPropertyName: "wrapperClasses", publicName: "wrapperClasses", isSignal: true, isRequired: false, transformFunction: null }, availablePageSizes: { classPropertyName: "availablePageSizes", publicName: "availablePageSizes", isSignal: true, isRequired: false, transformFunction: null }, defaultInitPageSize: { classPropertyName: "defaultInitPageSize", publicName: "defaultInitPageSize", isSignal: true, isRequired: false, transformFunction: null }, pageSize: { classPropertyName: "pageSize", publicName: "pageSize", isSignal: true, isRequired: false, transformFunction: null }, shouldDisplayFirstIcon: { classPropertyName: "shouldDisplayFirstIcon", publicName: "shouldDisplayFirstIcon", isSignal: true, isRequired: false, transformFunction: null }, shouldDisplayFirstText: { classPropertyName: "shouldDisplayFirstText", publicName: "shouldDisplayFirstText", isSignal: true, isRequired: false, transformFunction: null }, shouldDisplayPreviousIcon: { classPropertyName: "shouldDisplayPreviousIcon", publicName: "shouldDisplayPreviousIcon", isSignal: true, isRequired: false, transformFunction: null }, shouldDisplayPreviousText: { classPropertyName: "shouldDisplayPreviousText", publicName: "shouldDisplayPreviousText", isSignal: true, isRequired: false, transformFunction: null }, shouldDisplayNextIcon: { classPropertyName: "shouldDisplayNextIcon", publicName: "shouldDisplayNextIcon", isSignal: true, isRequired: false, transformFunction: null }, shouldDisplayNextText: { classPropertyName: "shouldDisplayNextText", publicName: "shouldDisplayNextText", isSignal: true, isRequired: false, transformFunction: null }, shouldDisplayLastIcon: { classPropertyName: "shouldDisplayLastIcon", publicName: "shouldDisplayLastIcon", isSignal: true, isRequired: false, transformFunction: null }, shouldDisplayLastText: { classPropertyName: "shouldDisplayLastText", publicName: "shouldDisplayLastText", isSignal: true, isRequired: false, transformFunction: null }, previousDescription: { classPropertyName: "previousDescription", publicName: "previousDescription", isSignal: true, isRequired: false, transformFunction: null }, nextDescription: { classPropertyName: "nextDescription", publicName: "nextDescription", isSignal: true, isRequired: false, transformFunction: null }, totalRecords: { classPropertyName: "totalRecords", publicName: "totalRecords", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { changed: "changed", currentPage: "currentPageChange", pageSize: "pageSizeChange" }, host: { properties: { "class": "this.hostClasses" } }, ngImport: i0, template: "<ng-container *transloco=\"let t; prefix: 'UpDevs.Paginator'\">\n <div class=\"d-flex m-0 ms-auto align-items-center\">\n <div class=\"text-secondary me-2\">\n {{ t('ItemsPerPage') }}\n </div>\n <upd-select [items]=\"pageOptions()\" [selected]=\"selectedPageSize()\" (selectedItem)=\"onSelectPageSize($event)\"\n [shouldShowClearButton]=\"false\" [isCompact]=\"true\" [useSystemStyle]=\"true\"></upd-select>\n <p class=\"m-0 text-secondary ms-4\">\n @if (totalRecords() > 0) {\n {{ t('FromToOf', { first: currentFirstDisplayed(), last: currentLastDisplayed(), totalRecords: totalRecords() }) }}\n } @else {\n {{ t('NoRecords') }}\n }\n </p>\n <ul class=\"pagination m-0 ms-4\">\n @if (!previousDescription()) {\n <li class=\"page-item\">\n <upd-button customClasses=\"page-link\" [isLink]=\"true\" [isIcon]=\"!shouldDisplayFirstText()\" colorStyle=\"secondary\"\n [attr.tabindex]=\"isFirstDisabled() ? -1 : 0\" [attr.aria-disabled]=\"isFirstDisabled()\"\n [isDisabled]=\"isPreviousDisabled()\" (clicked)=\"selectPage(startPageIndex())\">\n @if (shouldDisplayFirstIcon()) {\n <upd-icon tablerIcon=\"chevron-left-pipe\"></upd-icon>\n }\n @if (shouldDisplayFirstText()) {\n {{ t('First') }}\n }\n </upd-button>\n </li>\n }\n\n <li class=\"page-item\" [class.page-prev]=\"!!previousDescription()\">\n <upd-button customClasses=\"page-link\" [isLink]=\"true\" [isIcon]=\"!shouldDisplayPreviousText()\" colorStyle=\"secondary\"\n [attr.tabindex]=\"isPreviousDisabled() ? -1 : 0\" [attr.aria-disabled]=\"isPreviousDisabled()\"\n [isDisabled]=\"isPreviousDisabled()\" (clicked)=\"selectPage(currentPage() - 1)\">\n @if (!!previousDescription()) {\n <div class=\"page-item-subtitle\">{{ t('Previous') }}</div>\n <div class=\"page-item-title\">{{ textService.getText(previousDescription()) }}</div>\n } @else {\n @if (shouldDisplayPreviousIcon()) {\n <upd-icon tablerIcon=\"chevron-left\"></upd-icon>\n }\n @if (shouldDisplayPreviousText()) {\n {{ t('PreviousShort') }}\n }\n }\n </upd-button>\n </li>\n\n <li class=\"page-item\" [class.page-next]=\"!!nextDescription()\">\n <upd-button customClasses=\"page-link\" [isLink]=\"true\" [isIcon]=\"!shouldDisplayNextText()\" colorStyle=\"secondary\"\n [attr.tabindex]=\"isNextDisabled() ? -1 : 0\" [attr.aria-disabled]=\"isNextDisabled()\" [isDisabled]=\"isNextDisabled()\"\n (clicked)=\"selectPage(currentPage() + 1)\">\n @if (!!nextDescription()) {\n <div class=\"page-item-subtitle\">{{ t('Next') }}</div>\n <div class=\"page-item-title\">{{ textService.getText(nextDescription()) }}</div>\n } @else {\n @if (shouldDisplayNextText()) {\n {{ t('NextShort') }}\n }\n @if (shouldDisplayNextIcon()) {\n <upd-icon tablerIcon=\"chevron-right\"></upd-icon>\n }\n }\n </upd-button>\n </li>\n\n @if (!nextDescription()) {\n <li class=\"page-item\">\n <upd-button customClasses=\"page-link\" [isLink]=\"true\" [isIcon]=\"!shouldDisplayLastText()\" colorStyle=\"secondary\"\n [attr.tabindex]=\"isLastDisabled() ? -1 : 0\" [attr.aria-disabled]=\"isLastDisabled()\" [isDisabled]=\"isNextDisabled()\"\n (clicked)=\"selectPage(totalPages() - (startPageIndex() === 0 ? 1 : 0))\">\n @if (shouldDisplayLastText()) {\n {{ t('Last') }}\n }\n @if (shouldDisplayLastIcon()) {\n <upd-icon tablerIcon=\"chevron-right-pipe\"></upd-icon>\n }\n </upd-button>\n </li>\n }\n </ul>\n </div>\n</ng-container>\n", styles: [""], dependencies: [{ kind: "component", type: i1.IconComponent, selector: "upd-icon", inputs: ["model", "wrapperClasses", "color", "colorClass", "removeDefaultClasses", "customClasses", "tablerIcon", "tablerIconWeight", "tablerIconType", "tablerIconSize", "heroIcon", "heroIconSize", "heroIconType"] }, { kind: "component", type: i2.ButtonComponent, selector: "upd-button", inputs: ["model", "text", "brandColorStyle", "customClasses", "isOutline", "isGhost", "isSquare", "isPill", "isIcon", "isLoading", "isList", "isFloating", "isAction", "isNavigationLink", "isLink", "shouldIgnoreBtnClass", "iconModel", "iconPosition", "isDisabled", "isActive", "badgeConfig", "colorStyle", "size", "title"], outputs: ["clicked"] }, { kind: "component", type: i3.SelectComponent, selector: "upd-select", inputs: ["useSystemStyle", "shouldShowClearButton", "shouldTruncateSelectedText", "isCompact", "selected"], outputs: ["selectedItem"] }, { kind: "directive", type: i4.TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }] }); }
56
+ }
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: PaginatorComponent, decorators: [{
58
+ type: Component,
59
+ args: [{ selector: 'upd-paginator', template: "<ng-container *transloco=\"let t; prefix: 'UpDevs.Paginator'\">\n <div class=\"d-flex m-0 ms-auto align-items-center\">\n <div class=\"text-secondary me-2\">\n {{ t('ItemsPerPage') }}\n </div>\n <upd-select [items]=\"pageOptions()\" [selected]=\"selectedPageSize()\" (selectedItem)=\"onSelectPageSize($event)\"\n [shouldShowClearButton]=\"false\" [isCompact]=\"true\" [useSystemStyle]=\"true\"></upd-select>\n <p class=\"m-0 text-secondary ms-4\">\n @if (totalRecords() > 0) {\n {{ t('FromToOf', { first: currentFirstDisplayed(), last: currentLastDisplayed(), totalRecords: totalRecords() }) }}\n } @else {\n {{ t('NoRecords') }}\n }\n </p>\n <ul class=\"pagination m-0 ms-4\">\n @if (!previousDescription()) {\n <li class=\"page-item\">\n <upd-button customClasses=\"page-link\" [isLink]=\"true\" [isIcon]=\"!shouldDisplayFirstText()\" colorStyle=\"secondary\"\n [attr.tabindex]=\"isFirstDisabled() ? -1 : 0\" [attr.aria-disabled]=\"isFirstDisabled()\"\n [isDisabled]=\"isPreviousDisabled()\" (clicked)=\"selectPage(startPageIndex())\">\n @if (shouldDisplayFirstIcon()) {\n <upd-icon tablerIcon=\"chevron-left-pipe\"></upd-icon>\n }\n @if (shouldDisplayFirstText()) {\n {{ t('First') }}\n }\n </upd-button>\n </li>\n }\n\n <li class=\"page-item\" [class.page-prev]=\"!!previousDescription()\">\n <upd-button customClasses=\"page-link\" [isLink]=\"true\" [isIcon]=\"!shouldDisplayPreviousText()\" colorStyle=\"secondary\"\n [attr.tabindex]=\"isPreviousDisabled() ? -1 : 0\" [attr.aria-disabled]=\"isPreviousDisabled()\"\n [isDisabled]=\"isPreviousDisabled()\" (clicked)=\"selectPage(currentPage() - 1)\">\n @if (!!previousDescription()) {\n <div class=\"page-item-subtitle\">{{ t('Previous') }}</div>\n <div class=\"page-item-title\">{{ textService.getText(previousDescription()) }}</div>\n } @else {\n @if (shouldDisplayPreviousIcon()) {\n <upd-icon tablerIcon=\"chevron-left\"></upd-icon>\n }\n @if (shouldDisplayPreviousText()) {\n {{ t('PreviousShort') }}\n }\n }\n </upd-button>\n </li>\n\n <li class=\"page-item\" [class.page-next]=\"!!nextDescription()\">\n <upd-button customClasses=\"page-link\" [isLink]=\"true\" [isIcon]=\"!shouldDisplayNextText()\" colorStyle=\"secondary\"\n [attr.tabindex]=\"isNextDisabled() ? -1 : 0\" [attr.aria-disabled]=\"isNextDisabled()\" [isDisabled]=\"isNextDisabled()\"\n (clicked)=\"selectPage(currentPage() + 1)\">\n @if (!!nextDescription()) {\n <div class=\"page-item-subtitle\">{{ t('Next') }}</div>\n <div class=\"page-item-title\">{{ textService.getText(nextDescription()) }}</div>\n } @else {\n @if (shouldDisplayNextText()) {\n {{ t('NextShort') }}\n }\n @if (shouldDisplayNextIcon()) {\n <upd-icon tablerIcon=\"chevron-right\"></upd-icon>\n }\n }\n </upd-button>\n </li>\n\n @if (!nextDescription()) {\n <li class=\"page-item\">\n <upd-button customClasses=\"page-link\" [isLink]=\"true\" [isIcon]=\"!shouldDisplayLastText()\" colorStyle=\"secondary\"\n [attr.tabindex]=\"isLastDisabled() ? -1 : 0\" [attr.aria-disabled]=\"isLastDisabled()\" [isDisabled]=\"isNextDisabled()\"\n (clicked)=\"selectPage(totalPages() - (startPageIndex() === 0 ? 1 : 0))\">\n @if (shouldDisplayLastText()) {\n {{ t('Last') }}\n }\n @if (shouldDisplayLastIcon()) {\n <upd-icon tablerIcon=\"chevron-right-pipe\"></upd-icon>\n }\n </upd-button>\n </li>\n }\n </ul>\n </div>\n</ng-container>\n" }]
60
+ }], ctorParameters: () => [], propDecorators: { hostClasses: [{
61
+ type: HostBinding,
62
+ args: ['class']
63
+ }], changed: [{
64
+ type: Output
65
+ }] } });
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9wYWdpbmF0b3Ivc3JjL3BhZ2luYXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvcGFnaW5hdG9yL3NyYy9wYWdpbmF0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFVLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdILE9BQU8sRUFBYSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7Ozs7OztBQVFyRCxNQUFNLE9BQU8sa0JBQWtCO0lBb0MzQjtRQW5Dc0IsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFDcEIsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFFdEQsbUJBQWMsR0FBRyxLQUFLLENBQVEsQ0FBQyxDQUFDLENBQUM7UUFDakMsZ0JBQVcsR0FBRyxLQUFLLENBQVMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7UUFDbkQsbUJBQWMsR0FBRyxLQUFLLENBQVMsRUFBRSxDQUFDLENBQUM7UUFDbkMsdUJBQWtCLEdBQUcsS0FBSyxDQUFXLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDMUQsd0JBQW1CLEdBQUcsS0FBSyxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ3hDLGFBQVEsR0FBRyxLQUFLLENBQVMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUMsQ0FBQztRQUNyRCwyQkFBc0IsR0FBRyxLQUFLLENBQVUsSUFBSSxDQUFDLENBQUM7UUFDOUMsMkJBQXNCLEdBQUcsS0FBSyxD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RSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ3JHLDBCQUFxQixHQUFHLDJCQUEyQixDQUFDO1FBR2pFLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDUixJQUFJLENBQUMsV0FBVyxHQUFHLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDO1FBQ2hGLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELGdCQUFnQixDQUFDLElBQWlCO1FBQzlCLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsVUFBVSxDQUFDLElBQVk7UUFDbkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN4QixDQUFDOzhHQW5EUSxrQkFBa0I7a0dBQWxCLGtCQUFrQiw0MkZDVC9CLDhsSkFtRkE7OzJGRDFFYSxrQkFBa0I7a0JBTDlCLFNBQVM7K0JBQ0ksZUFBZTt3REFLSCxXQUFXO3NCQUFoQyxXQUFXO3VCQUFDLE9BQU87Z0JBQ0QsT0FBTztzQkFBekIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBIb3N0QmluZGluZywgZWZmZWN0LCBpbnB1dCwgY29tcHV0ZWQsIFNpZ25hbCwgbW9kZWwsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUZXh0TW9kZWwsIFRleHRTZXJ2aWNlIH0gZnJvbSAnQHVwZGV2cy9zZGsnO1xuaW1wb3J0IHsgU2VsZWN0SXRlbSB9IGZyb20gJ0B1cGRldnMvY29tcG9uZW50cy9mb3JtLWNvbnRyb2xzL3NlbGVjdCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndXBkLXBhZ2luYXRvcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3BhZ2luYXRvci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL3BhZ2luYXRvci5jb21wb25lbnQuc2Nzcydcbn0pXG5leHBvcnQgY2xhc3MgUGFnaW5hdG9yQ29tcG9uZW50IHtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgaG9zdENsYXNzZXMgPSAnJztcbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgY2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIHN0YXJ0UGFnZUluZGV4ID0gaW5wdXQ8MCB8IDE+KDApO1xuICAgIGN1cnJlbnRQYWdlID0gbW9kZWw8bnVtYmVyPih0aGlzLnN0YXJ0UGFnZUluZGV4KCkpO1xuICAgIHdyYXBwZXJDbGFzc2VzID0gaW5wdXQ8c3RyaW5nPignJyk7XG4gICAgYXZhaWxhYmxlUGFnZVNpemVzID0gaW5wdXQ8bnVtYmVyW10+KFs1LCAxMCwgMTUsIDI1LCA1MF0pO1xuICAgIGRlZmF1bHRJbml0UGFnZVNpemUgPSBpbnB1dDxudW1iZXI+KDEwKTtcbiAgICBwYWdlU2l6ZSA9IG1vZGVsPG51bWJlcj4odGhpcy5kZWZhdWx0SW5pdFBhZ2VTaXplKCkpO1xuICAgIHNob3VsZERpc3BsYXlGaXJzdEljb24gPSBpbnB1dDxib29sZWFuPih0cnVlKTtcbiAgICBzaG91bGREaXNwbGF5Rmlyc3RUZXh0ID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XG4gICAgc2hvdWxkRGlzcGxheVByZXZpb3VzSWNvbiA9IGlucHV0PGJvb2xlYW4+KHRydWUpO1xuICAgIHNob3VsZERpc3BsYXlQcmV2aW91c1RleHQgPSBpbnB1dDxib29sZWFuPih0cnVlKTtcbiAgICBzaG91bGREaXNwbGF5TmV4dEljb24gPSBpbnB1dDxib29sZWFuPih0cnVlKTtcbiAgICBzaG91bGREaXNwbGF5TmV4dFRleHQgPSBpbnB1dDxib29sZWFuPih0cnVlKTtcbiAgICBzaG91bGREaXNwbGF5TGFzdEljb24gPSBpbnB1dDxib29sZWFuPih0cnVlKTtcbiAgICBzaG91bGREaXNwbGF5TGFzdFRleHQgPSBpbnB1dDxib29sZWFuPih0cnVlKTtcbiAgICBwcmV2aW91c0Rlc2NyaXB0aW9uID0gaW5wdXQ8VGV4dE1vZGVsPigpO1xuICAgIG5leHREZXNjcmlwdGlvbiA9IGlucHV0PFRleHRNb2RlbD4oKTtcbiAgICB0b3RhbFJlY29yZHMgPSBpbnB1dDxudW1iZXI+KDApO1xuICAgIGlzRmlyc3REaXNhYmxlZCA9IGNvbXB1dGVkKCgpID0+IHRoaXMuY3VycmVudFBhZ2UoKSA9PT0gdGhpcy5zdGFydFBhZ2VJbmRleCgpIHx8IHRoaXMudG90YWxSZWNvcmRzKCkgPT09IDApO1xuICAgIGlzUHJldmlvdXNEaXNhYmxlZCA9IGNvbXB1dGVkKCgpID0+IHRoaXMuY3VycmVudFBhZ2UoKSA9PT0gdGhpcy5zdGFydFBhZ2VJbmRleCgpIHx8IHRoaXMudG90YWxSZWNvcmRzKCkgPT09IDApO1xuICAgIGlzTmV4dERpc2FibGVkID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5jdXJyZW50UGFnZSgpICsgMSA9PT0gdGhpcy50b3RhbFBhZ2VzKCkgfHwgdGhpcy50b3RhbFJlY29yZHMoKSA9PT0gMCk7XG4gICAgaXNMYXN0RGlzYWJsZWQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmN1cnJlbnRQYWdlKCkgKyAxID09PSB0aGlzLnRvdGFsUGFnZXMoKSB8fCB0aGlzLnRvdGFsUmVjb3JkcygpID09PSAwKTtcbiAgICBwYWdlT3B0aW9uczogU2lnbmFsPFNlbGVjdEl0ZW1bXT4gPSBjb21wdXRlZCgoKSA9PiB0aGlzLmF2YWlsYWJsZVBhZ2VTaXplcygpLm1hcChwcyA9PiAoeyB2YWx1ZTogcHMsIHRleHQ6IHBzLnRvU3RyaW5nKCkgfSkpKTtcbiAgICBzZWxlY3RlZFBhZ2VTaXplID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5wYWdlT3B0aW9ucygpLmZpbmQocG8gPT4gcG8udmFsdWUgPT09IHRoaXMucGFnZVNpemUoKSkpO1xuICAgIHRvdGFsUGFnZXMgPSBjb21wdXRlZCgoKSA9PiBNYXRoLmNlaWwodGhpcy50b3RhbFJlY29yZHMoKSAvIHRoaXMucGFnZVNpemUoKSkpO1xuICAgIGN1cnJlbnRGaXJzdERpc3BsYXllZCA9IGNvbXB1dGVkKCgpID0+ICgodGhpcy5jdXJyZW50UGFnZSgpIC0gdGhpcy5zdGFydFBhZ2VJbmRleCgpKSAqIHRoaXMucGFnZVNpemUoKSkgKyAxKTtcbiAgICBjdXJyZW50TGFzdERpc3BsYXllZCA9IGNvbXB1dGVkKCgpID0+ICh0aGlzLmV4cGVjdGVkTGFzdCgpID4gdGhpcy50b3RhbFJlY29yZHMoKSA/IHRoaXMudG90YWxSZWNvcmRzKCkgOiB0aGlzLmV4cGVjdGVkTGFzdCgpKSk7XG5cbiAgICByZWFkb25seSB0ZXh0U2VydmljZSA9IGluamVjdChUZXh0U2VydmljZSk7XG5cbiAgICBwcml2YXRlIGV4cGVjdGVkTGFzdCA9IGNvbXB1dGVkKCgpID0+ICh0aGlzLmN1cnJlbnRQYWdlKCkgKyAodGhpcy5zdGFydFBhZ2VJbmRleCgpID09PSAxID8gMCA6IDEpKSAqIHRoaXMucGFnZVNpemUoKSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkZWZhdWx0V3JhcHBlckNsYXNzZXMgPSAnZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlcic7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgZWZmZWN0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaG9zdENsYXNzZXMgPSBgJHt0aGlzLmRlZmF1bHRXcmFwcGVyQ2xhc3Nlc30gJHt0aGlzLndyYXBwZXJDbGFzc2VzKCl9YDtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25TZWxlY3RQYWdlU2l6ZShwYWdlPzogU2VsZWN0SXRlbSk6IHZvaWQge1xuICAgICAgICBjb25zb2xlLmxvZygncGFnZScsIHBhZ2UpO1xuICAgICAgICB0aGlzLnBhZ2VTaXplLnNldChwYWdlPy52YWx1ZSB8fCAxKTtcbiAgICAgICAgdGhpcy5jaGFuZ2VkLmVtaXQoKTtcbiAgICB9XG5cbiAgICBzZWxlY3RQYWdlKHBhZ2U6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLmN1cnJlbnRQYWdlLnNldChwYWdlKTtcbiAgICAgICAgdGhpcy5jaGFuZ2VkLmVtaXQoKTtcbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyICp0cmFuc2xvY289XCJsZXQgdDsgcHJlZml4OiAnVXBEZXZzLlBhZ2luYXRvcidcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IG0tMCBtcy1hdXRvIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1zZWNvbmRhcnkgbWUtMlwiPlxuICAgICAgICAgICAge3sgdCgnSXRlbXNQZXJQYWdlJykgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDx1cGQtc2VsZWN0IFtpdGVtc109XCJwYWdlT3B0aW9ucygpXCIgW3NlbGVjdGVkXT1cInNlbGVjdGVkUGFnZVNpemUoKVwiIChzZWxlY3RlZEl0ZW0pPVwib25TZWxlY3RQYWdlU2l6ZSgkZXZlbnQpXCJcbiAgICAgICAgICAgIFtzaG91bGRTaG93Q2xlYXJCdXR0b25dPVwiZmFsc2VcIiBbaXNDb21wYWN0XT1cInRydWVcIiBbdXNlU3lzdGVtU3R5bGVdPVwidHJ1ZVwiPjwvdXBkLXNlbGVjdD5cbiAgICAgICAgPHAgY2xhc3M9XCJtLTAgdGV4dC1zZWNvbmRhcnkgbXMtNFwiPlxuICAgICAgICAgICAgQGlmICh0b3RhbFJlY29yZHMoKSA+IDApIHtcbiAgICAgICAgICAgICAgICB7eyB0KCdGcm9tVG9PZicsIHsgZmlyc3Q6IGN1cnJlbnRGaXJzdERpc3BsYXllZCgpLCBsYXN0OiBjdXJyZW50TGFzdERpc3BsYXllZCgpLCB0b3RhbFJlY29yZHM6IHRvdGFsUmVjb3JkcygpIH0pIH19XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICB7eyB0KCdOb1JlY29yZHMnKSB9fVxuICAgICAgICAgICAgfVxuICAgICAgICA8L3A+XG4gICAgICAgIDx1bCBjbGFzcz1cInBhZ2luYXRpb24gbS0wIG1zLTRcIj5cbiAgICAgICAgICAgIEBpZiAoIXByZXZpb3VzRGVzY3JpcHRpb24oKSkge1xuICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cInBhZ2UtaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICA8dXBkLWJ1dHRvbiBjdXN0b21DbGFzc2VzPVwicGFnZS1saW5rXCIgW2lzTGlua109XCJ0cnVlXCIgW2lzSWNvbl09XCIhc2hvdWxkRGlzcGxheUZpcnN0VGV4dCgpXCIgY29sb3JTdHlsZT1cInNlY29uZGFyeVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci50YWJpbmRleF09XCJpc0ZpcnN0RGlzYWJsZWQoKSA/IC0xIDogMFwiIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiaXNGaXJzdERpc2FibGVkKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2lzRGlzYWJsZWRdPVwiaXNQcmV2aW91c0Rpc2FibGVkKClcIiAoY2xpY2tlZCk9XCJzZWxlY3RQYWdlKHN0YXJ0UGFnZUluZGV4KCkpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgKHNob3VsZERpc3BsYXlGaXJzdEljb24oKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1cGQtaWNvbiB0YWJsZXJJY29uPVwiY2hldnJvbi1sZWZ0LXBpcGVcIj48L3VwZC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChzaG91bGREaXNwbGF5Rmlyc3RUZXh0KCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyB0KCdGaXJzdCcpIH19XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDwvdXBkLWJ1dHRvbj5cbiAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA8bGkgY2xhc3M9XCJwYWdlLWl0ZW1cIiBbY2xhc3MucGFnZS1wcmV2XT1cIiEhcHJldmlvdXNEZXNjcmlwdGlvbigpXCI+XG4gICAgICAgICAgICAgICAgPHVwZC1idXR0b24gY3VzdG9tQ2xhc3Nlcz1cInBhZ2UtbGlua1wiIFtpc0xpbmtdPVwidHJ1ZVwiIFtpc0ljb25dPVwiIXNob3VsZERpc3BsYXlQcmV2aW91c1RleHQoKVwiIGNvbG9yU3R5bGU9XCJzZWNvbmRhcnlcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci50YWJpbmRleF09XCJpc1ByZXZpb3VzRGlzYWJsZWQoKSA/IC0xIDogMFwiIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiaXNQcmV2aW91c0Rpc2FibGVkKClcIlxuICAgICAgICAgICAgICAgICAgICBbaXNEaXNhYmxlZF09XCJpc1ByZXZpb3VzRGlzYWJsZWQoKVwiIChjbGlja2VkKT1cInNlbGVjdFBhZ2UoY3VycmVudFBhZ2UoKSAtIDEpXCI+XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoISFwcmV2aW91c0Rlc2NyaXB0aW9uKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwYWdlLWl0ZW0tc3VidGl0bGVcIj57eyB0KCdQcmV2aW91cycpIH19PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGFnZS1pdGVtLXRpdGxlXCI+e3sgdGV4dFNlcnZpY2UuZ2V0VGV4dChwcmV2aW91c0Rlc2NyaXB0aW9uKCkpIH19PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChzaG91bGREaXNwbGF5UHJldmlvdXNJY29uKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXBkLWljb24gdGFibGVySWNvbj1cImNoZXZyb24tbGVmdFwiPjwvdXBkLWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgKHNob3VsZERpc3BsYXlQcmV2aW91c1RleHQoKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHQoJ1ByZXZpb3VzU2hvcnQnKSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPC91cGQtYnV0dG9uPlxuICAgICAgICAgICAgPC9saT5cblxuICAgICAgICAgICAgPGxpIGNsYXNzPVwicGFnZS1pdGVtXCIgW2NsYXNzLnBhZ2UtbmV4dF09XCIhIW5leHREZXNjcmlwdGlvbigpXCI+XG4gICAgICAgICAgICAgICAgPHVwZC1idXR0b24gY3VzdG9tQ2xhc3Nlcz1cInBhZ2UtbGlua1wiIFtpc0xpbmtdPVwidHJ1ZVwiIFtpc0ljb25dPVwiIXNob3VsZERpc3BsYXlOZXh0VGV4dCgpXCIgY29sb3JTdHlsZT1cInNlY29uZGFyeVwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLnRhYmluZGV4XT1cImlzTmV4dERpc2FibGVkKCkgPyAtMSA6IDBcIiBbYXR0ci5hcmlhLWRpc2FibGVkXT1cImlzTmV4dERpc2FibGVkKClcIiBbaXNEaXNhYmxlZF09XCJpc05leHREaXNhYmxlZCgpXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrZWQpPVwic2VsZWN0UGFnZShjdXJyZW50UGFnZSgpICsgMSlcIj5cbiAgICAgICAgICAgICAgICAgICAgQGlmICghIW5leHREZXNjcmlwdGlvbigpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGFnZS1pdGVtLXN1YnRpdGxlXCI+e3sgdCgnTmV4dCcpIH19PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGFnZS1pdGVtLXRpdGxlXCI+e3sgdGV4dFNlcnZpY2UuZ2V0VGV4dChuZXh0RGVzY3JpcHRpb24oKSkgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgKHNob3VsZERpc3BsYXlOZXh0VGV4dCgpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgdCgnTmV4dFNob3J0JykgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoc2hvdWxkRGlzcGxheU5leHRJY29uKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXBkLWljb24gdGFibGVySWNvbj1cImNoZXZyb24tcmlnaHRcIj48L3VwZC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPC91cGQtYnV0dG9uPlxuICAgICAgICAgICAgPC9saT5cblxuICAgICAgICAgICAgQGlmICghbmV4dERlc2NyaXB0aW9uKCkpIHtcbiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJwYWdlLWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgPHVwZC1idXR0b24gY3VzdG9tQ2xhc3Nlcz1cInBhZ2UtbGlua1wiIFtpc0xpbmtdPVwidHJ1ZVwiIFtpc0ljb25dPVwiIXNob3VsZERpc3BsYXlMYXN0VGV4dCgpXCIgY29sb3JTdHlsZT1cInNlY29uZGFyeVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci50YWJpbmRleF09XCJpc0xhc3REaXNhYmxlZCgpID8gLTEgOiAwXCIgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJpc0xhc3REaXNhYmxlZCgpXCIgW2lzRGlzYWJsZWRdPVwiaXNOZXh0RGlzYWJsZWQoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2tlZCk9XCJzZWxlY3RQYWdlKHRvdGFsUGFnZXMoKSAtIChzdGFydFBhZ2VJbmRleCgpID09PSAwID8gMSA6IDApKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChzaG91bGREaXNwbGF5TGFzdFRleHQoKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHQoJ0xhc3QnKSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChzaG91bGREaXNwbGF5TGFzdEljb24oKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1cGQtaWNvbiB0YWJsZXJJY29uPVwiY2hldnJvbi1yaWdodC1waXBlXCI+PC91cGQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPC91cGQtYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvdWw+XG4gICAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
@@ -0,0 +1,3 @@
1
+ export * from './paginator.component';
2
+ export * from './upd-paginator.module';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9wYWdpbmF0b3Ivc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHdCQUF3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9wYWdpbmF0b3IuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vdXBkLXBhZ2luYXRvci5tb2R1bGUnO1xuIl19
@@ -0,0 +1,47 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { UpdIconsModule } from '@updevs/icons';
4
+ import { UpdButtonModule } from '@updevs/components/button';
5
+ import { UpdSelectModule } from '@updevs/components/form-controls/select';
6
+ import { TranslocoDirective, TranslocoService } from '@jsverse/transloco';
7
+ import * as en from './assets/i18n/en.json';
8
+ import * as pt from './assets/i18n/pt.json';
9
+ import { PaginatorComponent } from './paginator.component';
10
+ import * as i0 from "@angular/core";
11
+ import * as i1 from "@jsverse/transloco";
12
+ export class UpdPaginatorModule {
13
+ constructor(translocoService) {
14
+ translocoService.setFallbackLangForMissingTranslation({ fallbackLang: 'en' });
15
+ translocoService.setTranslation(en, 'en');
16
+ translocoService.setTranslation(pt, 'pt');
17
+ }
18
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: UpdPaginatorModule, deps: [{ token: i1.TranslocoService }], target: i0.ɵɵFactoryTarget.NgModule }); }
19
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.0", ngImport: i0, type: UpdPaginatorModule, declarations: [PaginatorComponent], imports: [CommonModule,
20
+ UpdIconsModule,
21
+ UpdButtonModule,
22
+ UpdSelectModule,
23
+ TranslocoDirective], exports: [PaginatorComponent] }); }
24
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: UpdPaginatorModule, imports: [CommonModule,
25
+ UpdIconsModule,
26
+ UpdButtonModule,
27
+ UpdSelectModule] }); }
28
+ }
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: UpdPaginatorModule, decorators: [{
30
+ type: NgModule,
31
+ args: [{
32
+ imports: [
33
+ CommonModule,
34
+ UpdIconsModule,
35
+ UpdButtonModule,
36
+ UpdSelectModule,
37
+ TranslocoDirective
38
+ ],
39
+ declarations: [
40
+ PaginatorComponent
41
+ ],
42
+ exports: [
43
+ PaginatorComponent
44
+ ]
45
+ }]
46
+ }], ctorParameters: () => [{ type: i1.TranslocoService }] });
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkLXBhZ2luYXRvci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvcGFnaW5hdG9yL3NyYy91cGQtcGFnaW5hdG9yLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFMUUsT0FBTyxLQUFLLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1QyxPQUFPLEtBQUssRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzVDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7QUFpQjNELE1BQU0sT0FBTyxrQkFBa0I7SUFDM0IsWUFBWSxnQkFBa0M7UUFDMUMsZ0JBQWdCLENBQUMsb0NBQW9DLENBQUMsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUM5RSxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzFDLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDOUMsQ0FBQzs4R0FMUSxrQkFBa0I7K0dBQWxCLGtCQUFrQixpQkFOdkIsa0JBQWtCLGFBUGxCLFlBQVk7WUFDWixjQUFjO1lBQ2QsZUFBZTtZQUNmLGVBQWU7WUFDZixrQkFBa0IsYUFNbEIsa0JBQWtCOytHQUdiLGtCQUFrQixZQWJ2QixZQUFZO1lBQ1osY0FBYztZQUNkLGVBQWU7WUFDZixlQUFlOzsyRkFVVixrQkFBa0I7a0JBZjlCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFO3dCQUNMLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCxlQUFlO3dCQUNmLGVBQWU7d0JBQ2Ysa0JBQWtCO3FCQUNyQjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1Ysa0JBQWtCO3FCQUNyQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsa0JBQWtCO3FCQUNyQjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVXBkSWNvbnNNb2R1bGUgfSBmcm9tICdAdXBkZXZzL2ljb25zJztcbmltcG9ydCB7IFVwZEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0B1cGRldnMvY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHsgVXBkU2VsZWN0TW9kdWxlIH0gZnJvbSAnQHVwZGV2cy9jb21wb25lbnRzL2Zvcm0tY29udHJvbHMvc2VsZWN0JztcbmltcG9ydCB7IFRyYW5zbG9jb0RpcmVjdGl2ZSwgVHJhbnNsb2NvU2VydmljZSB9IGZyb20gJ0Bqc3ZlcnNlL3RyYW5zbG9jbyc7XG5cbmltcG9ydCAqIGFzIGVuIGZyb20gJy4vYXNzZXRzL2kxOG4vZW4uanNvbic7XG5pbXBvcnQgKiBhcyBwdCBmcm9tICcuL2Fzc2V0cy9pMThuL3B0Lmpzb24nO1xuaW1wb3J0IHsgUGFnaW5hdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9wYWdpbmF0b3IuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgVXBkSWNvbnNNb2R1bGUsXG4gICAgICAgIFVwZEJ1dHRvbk1vZHVsZSxcbiAgICAgICAgVXBkU2VsZWN0TW9kdWxlLFxuICAgICAgICBUcmFuc2xvY29EaXJlY3RpdmVcbiAgICBdLFxuICAgIGRlY2xhcmF0aW9uczogW1xuICAgICAgICBQYWdpbmF0b3JDb21wb25lbnRcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgUGFnaW5hdG9yQ29tcG9uZW50XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBVcGRQYWdpbmF0b3JNb2R1bGUge1xuICAgIGNvbnN0cnVjdG9yKHRyYW5zbG9jb1NlcnZpY2U6IFRyYW5zbG9jb1NlcnZpY2UpIHtcbiAgICAgICAgdHJhbnNsb2NvU2VydmljZS5zZXRGYWxsYmFja0xhbmdGb3JNaXNzaW5nVHJhbnNsYXRpb24oeyBmYWxsYmFja0xhbmc6ICdlbicgfSk7XG4gICAgICAgIHRyYW5zbG9jb1NlcnZpY2Uuc2V0VHJhbnNsYXRpb24oZW4sICdlbicpO1xuICAgICAgICB0cmFuc2xvY29TZXJ2aWNlLnNldFRyYW5zbGF0aW9uKHB0LCAncHQnKTtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkZXZzLWNvbXBvbmVudHMtcGFnaW5hdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3BhZ2luYXRvci9zcmMvdXBkZXZzLWNvbXBvbmVudHMtcGFnaW5hdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
@@ -1,2 +1,2 @@
1
1
  export * from './public-api';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91cGRldnMvY29tcG9uZW50cy9wb3BvdmVyL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvcG9wb3Zlci9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
@@ -1,4 +1,4 @@
1
- import { Component, Input, HostBinding, ViewEncapsulation } from '@angular/core';
1
+ import { Component, Input, HostBinding, ViewEncapsulation, TemplateRef } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  import * as i1 from "@angular/common";
4
4
  export class PopoverComponent {
@@ -15,7 +15,7 @@ export class PopoverComponent {
15
15
  ngOnInit() {
16
16
  this.updateClasses();
17
17
  }
18
- ngOnChanges(changes) {
18
+ ngOnChanges() {
19
19
  this.updateClasses();
20
20
  }
21
21
  setVisible(isVisible) {
@@ -34,12 +34,12 @@ export class PopoverComponent {
34
34
  ...(this.customClasses?.split(' ') || [])
35
35
  ].join(' ');
36
36
  }
37
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: PopoverComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
38
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.11", 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<ng-container *ngIf=\"!!title || !!titleTemplate\">\n <h3 *ngIf=\"title; else titleTpl\" [innerHTML]=\"title\" class=\"popover-header\"></h3>\n <ng-template #titleTpl>\n <div class=\"popover-header\">\n <ng-template [ngTemplateOutlet]=\"titleTemplate!\"></ng-template>\n </div>\n </ng-template>\n</ng-container>\n<div class=\"popover-body\">\n <ng-container *ngIf=\"!!text; else contentTpl\">\n <span [innerHTML]=\"text\"></span>\n </ng-container>\n <ng-template #contentTpl>\n <ng-container *ngIf=\"!template; else customContentTpl\">\n <ng-content></ng-content>\n </ng-container>\n <ng-template #customContentTpl [ngTemplateOutlet]=\"template!\"></ng-template>\n </ng-template>\n</div>\n", styles: [".upd-popover{position:absolute;margin:0}.upd-popover-arrow{position:absolute}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], encapsulation: i0.ViewEncapsulation.None }); }
37
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: PopoverComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
38
+ 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 }); }
39
39
  }
40
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: PopoverComponent, decorators: [{
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: PopoverComponent, decorators: [{
41
41
  type: Component,
42
- args: [{ selector: 'upd-popover', encapsulation: ViewEncapsulation.None, template: "<div class=\"popover-arrow upd-popover-arrow -{{placement}}\"></div>\n<ng-container *ngIf=\"!!title || !!titleTemplate\">\n <h3 *ngIf=\"title; else titleTpl\" [innerHTML]=\"title\" class=\"popover-header\"></h3>\n <ng-template #titleTpl>\n <div class=\"popover-header\">\n <ng-template [ngTemplateOutlet]=\"titleTemplate!\"></ng-template>\n </div>\n </ng-template>\n</ng-container>\n<div class=\"popover-body\">\n <ng-container *ngIf=\"!!text; else contentTpl\">\n <span [innerHTML]=\"text\"></span>\n </ng-container>\n <ng-template #contentTpl>\n <ng-container *ngIf=\"!template; else customContentTpl\">\n <ng-content></ng-content>\n </ng-container>\n <ng-template #customContentTpl [ngTemplateOutlet]=\"template!\"></ng-template>\n </ng-template>\n</div>\n", styles: [".upd-popover{position:absolute;margin:0}.upd-popover-arrow{position:absolute}\n"] }]
42
+ 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"] }]
43
43
  }], propDecorators: { classes: [{
44
44
  type: HostBinding,
45
45
  args: ['class']
@@ -62,4 +62,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImpo
62
62
  }], customClasses: [{
63
63
  type: Input
64
64
  }] } });
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91cGRldnMvY29tcG9uZW50cy9wb3BvdmVyL3NyYy9wb3BvdmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VwZGV2cy9jb21wb25lbnRzL3BvcG92ZXIvc3JjL3BvcG92ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFvQyxpQkFBaUIsRUFBZSxNQUFNLGVBQWUsQ0FBQzs7O0FBU2hJLE1BQU0sT0FBTyxnQkFBZ0I7SUFON0I7UUFPMEIsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUNRLG9CQUFlLEdBQUcsRUFBRSxDQUFDO1FBQ2xDLFNBQUksR0FBRyxTQUFTLENBQUM7UUFNdEMsY0FBUyxHQUEyQixLQUFLLENBQUM7UUFPM0MsZUFBVSxHQUFHLEtBQUssQ0FBQztLQTJCOUI7SUEvQkcsSUFBSSxTQUFTO1FBQ1QsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQzNCLENBQUM7SUFJRCxRQUFRO1FBQ0osSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDOUIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxVQUFVLENBQUMsU0FBa0I7UUFDekIsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7UUFDNUIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFTyxhQUFhO1FBQ2pCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUN0QyxJQUFJLENBQUMsT0FBTyxHQUFHO1lBQ1gsU0FBUztZQUNULGlCQUFpQjtZQUNqQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUM5QixJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDN0IsYUFBYTtZQUNiLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNwQixHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO1NBQzVDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2hCLENBQUM7K0dBMUNRLGdCQUFnQjttR0FBaEIsZ0JBQWdCLDhWQ1Q3Qiw4MEJBb0JBOzs0RkRYYSxnQkFBZ0I7a0JBTjVCLFNBQVM7K0JBQ0ksYUFBYSxpQkFHUixpQkFBaUIsQ0FBQyxJQUFJOzhCQUdmLE9BQU87c0JBQTVCLFdBQVc7dUJBQUMsT0FBTztnQkFDdUIsZUFBZTtzQkFBekQsV0FBVzt1QkFBQyw0QkFBNEI7Z0JBQ1gsSUFBSTtzQkFBakMsV0FBVzt1QkFBQyxNQUFNO2dCQUVWLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIEhvc3RCaW5kaW5nLCBTaW1wbGVDaGFuZ2VzLCBPbkluaXQsIE9uQ2hhbmdlcywgVmlld0VuY2Fwc3VsYXRpb24sIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUb3BCb3R0b21MZWZ0UmlnaHRUeXBlIH0gZnJvbSAnQHVwZGV2cy9zZGsvdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3VwZC1wb3BvdmVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcG9wb3Zlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vcG9wb3Zlci5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgUG9wb3ZlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgY2xhc3NlcyA9ICcnO1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLXBvcHBlci1wbGFjZW1lbnQnKSBwb3BwZXJQbGFjZW1lbnQgPSAnJztcbiAgICBASG9zdEJpbmRpbmcoJ3JvbGUnKSByZWFkb25seSByb2xlID0gJ3Rvb2x0aXAnO1xuXG4gICAgQElucHV0KCkgdGl0bGU/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgdGV4dD86IHN0cmluZztcbiAgICBASW5wdXQoKSB0aXRsZVRlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PjtcbiAgICBASW5wdXQoKSB0ZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT47XG4gICAgQElucHV0KCkgcGxhY2VtZW50OiBUb3BCb3R0b21MZWZ0UmlnaHRUeXBlID0gJ3RvcCc7XG4gICAgQElucHV0KCkgY3VzdG9tQ2xhc3Nlcz86IHN0cmluZztcblxuICAgIGdldCBpc1Zpc2libGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc1Zpc2libGU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfaXNWaXNpYmxlID0gZmFsc2U7XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVDbGFzc2VzKCk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUNsYXNzZXMoKTtcbiAgICB9XG5cbiAgICBzZXRWaXNpYmxlKGlzVmlzaWJsZTogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLl9pc1Zpc2libGUgPSBpc1Zpc2libGU7XG4gICAgICAgIHRoaXMudXBkYXRlQ2xhc3NlcygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlQ2xhc3NlcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wb3BwZXJQbGFjZW1lbnQgPSB0aGlzLnBsYWNlbWVudDtcbiAgICAgICAgdGhpcy5jbGFzc2VzID0gW1xuICAgICAgICAgICAgJ3BvcG92ZXInLFxuICAgICAgICAgICAgJ2JzLXBvcG92ZXItYXV0bycsXG4gICAgICAgICAgICAhdGhpcy5faXNWaXNpYmxlID8gJ2ZhZGUnIDogJycsXG4gICAgICAgICAgICB0aGlzLl9pc1Zpc2libGUgPyAnc2hvdycgOiAnJyxcbiAgICAgICAgICAgICd1cGQtcG9wb3ZlcicsXG4gICAgICAgICAgICBgLSR7dGhpcy5wbGFjZW1lbnR9YCxcbiAgICAgICAgICAgIC4uLih0aGlzLmN1c3RvbUNsYXNzZXM/LnNwbGl0KCcgJykgfHwgW10pXG4gICAgICAgIF0uam9pbignICcpO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJwb3BvdmVyLWFycm93IHVwZC1wb3BvdmVyLWFycm93IC17e3BsYWNlbWVudH19XCI+PC9kaXY+XG48bmctY29udGFpbmVyICpuZ0lmPVwiISF0aXRsZSB8fCAhIXRpdGxlVGVtcGxhdGVcIj5cbiAgICA8aDMgKm5nSWY9XCJ0aXRsZTsgZWxzZSB0aXRsZVRwbFwiIFtpbm5lckhUTUxdPVwidGl0bGVcIiBjbGFzcz1cInBvcG92ZXItaGVhZGVyXCI+PC9oMz5cbiAgICA8bmctdGVtcGxhdGUgI3RpdGxlVHBsPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicG9wb3Zlci1oZWFkZXJcIj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJ0aXRsZVRlbXBsYXRlIVwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG48L25nLWNvbnRhaW5lcj5cbjxkaXYgY2xhc3M9XCJwb3BvdmVyLWJvZHlcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiISF0ZXh0OyBlbHNlIGNvbnRlbnRUcGxcIj5cbiAgICAgICAgPHNwYW4gW2lubmVySFRNTF09XCJ0ZXh0XCI+PC9zcGFuPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy10ZW1wbGF0ZSAjY29udGVudFRwbD5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiF0ZW1wbGF0ZTsgZWxzZSBjdXN0b21Db250ZW50VHBsXCI+XG4gICAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctdGVtcGxhdGUgI2N1c3RvbUNvbnRlbnRUcGwgW25nVGVtcGxhdGVPdXRsZXRdPVwidGVtcGxhdGUhXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLXRlbXBsYXRlPlxuPC9kaXY+XG4iXX0=
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvcG9wb3Zlci9zcmMvcG9wb3Zlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvcG9wb3Zlci9zcmMvcG9wb3Zlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQXFCLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBU2pILE1BQU0sT0FBTyxnQkFBZ0I7SUFON0I7UUFPMEIsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUNRLG9CQUFlLEdBQUcsRUFBRSxDQUFDO1FBQ2xDLFNBQUksR0FBRyxTQUFTLENBQUM7UUFNdEMsY0FBUyxHQUEyQixLQUFLLENBQUM7UUFPM0MsZUFBVSxHQUFHLEtBQUssQ0FBQztLQTJCOUI7SUEvQkcsSUFBSSxTQUFTO1FBQ1QsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQzNCLENBQUM7SUFJRCxRQUFRO1FBQ0osSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxVQUFVLENBQUMsU0FBa0I7UUFDekIsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7UUFDNUIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFTyxhQUFhO1FBQ2pCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUN0QyxJQUFJLENBQUMsT0FBTyxHQUFHO1lBQ1gsU0FBUztZQUNULGlCQUFpQjtZQUNqQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUM5QixJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDN0IsYUFBYTtZQUNiLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNwQixHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO1NBQzVDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2hCLENBQUM7OEdBMUNRLGdCQUFnQjtrR0FBaEIsZ0JBQWdCLDhWQ1Q3Qix5b0JBcUJBOzsyRkRaYSxnQkFBZ0I7a0JBTjVCLFNBQVM7K0JBQ0ksYUFBYSxpQkFHUixpQkFBaUIsQ0FBQyxJQUFJOzhCQUdmLE9BQU87c0JBQTVCLFdBQVc7dUJBQUMsT0FBTztnQkFDdUIsZUFBZTtzQkFBekQsV0FBVzt1QkFBQyw0QkFBNEI7Z0JBQ1gsSUFBSTtzQkFBakMsV0FBVzt1QkFBQyxNQUFNO2dCQUVWLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIEhvc3RCaW5kaW5nLCBPbkluaXQsIE9uQ2hhbmdlcywgVmlld0VuY2Fwc3VsYXRpb24sIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUb3BCb3R0b21MZWZ0UmlnaHRUeXBlIH0gZnJvbSAnQHVwZGV2cy9zZGsvdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3VwZC1wb3BvdmVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcG9wb3Zlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vcG9wb3Zlci5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgUG9wb3ZlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgY2xhc3NlcyA9ICcnO1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLXBvcHBlci1wbGFjZW1lbnQnKSBwb3BwZXJQbGFjZW1lbnQgPSAnJztcbiAgICBASG9zdEJpbmRpbmcoJ3JvbGUnKSByZWFkb25seSByb2xlID0gJ3Rvb2x0aXAnO1xuXG4gICAgQElucHV0KCkgdGl0bGU/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgdGV4dD86IHN0cmluZztcbiAgICBASW5wdXQoKSB0aXRsZVRlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PjtcbiAgICBASW5wdXQoKSB0ZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT47XG4gICAgQElucHV0KCkgcGxhY2VtZW50OiBUb3BCb3R0b21MZWZ0UmlnaHRUeXBlID0gJ3RvcCc7XG4gICAgQElucHV0KCkgY3VzdG9tQ2xhc3Nlcz86IHN0cmluZztcblxuICAgIGdldCBpc1Zpc2libGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc1Zpc2libGU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfaXNWaXNpYmxlID0gZmFsc2U7XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVDbGFzc2VzKCk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlQ2xhc3NlcygpO1xuICAgIH1cblxuICAgIHNldFZpc2libGUoaXNWaXNpYmxlOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2lzVmlzaWJsZSA9IGlzVmlzaWJsZTtcbiAgICAgICAgdGhpcy51cGRhdGVDbGFzc2VzKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVDbGFzc2VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnBvcHBlclBsYWNlbWVudCA9IHRoaXMucGxhY2VtZW50O1xuICAgICAgICB0aGlzLmNsYXNzZXMgPSBbXG4gICAgICAgICAgICAncG9wb3ZlcicsXG4gICAgICAgICAgICAnYnMtcG9wb3Zlci1hdXRvJyxcbiAgICAgICAgICAgICF0aGlzLl9pc1Zpc2libGUgPyAnZmFkZScgOiAnJyxcbiAgICAgICAgICAgIHRoaXMuX2lzVmlzaWJsZSA/ICdzaG93JyA6ICcnLFxuICAgICAgICAgICAgJ3VwZC1wb3BvdmVyJyxcbiAgICAgICAgICAgIGAtJHt0aGlzLnBsYWNlbWVudH1gLFxuICAgICAgICAgICAgLi4uKHRoaXMuY3VzdG9tQ2xhc3Nlcz8uc3BsaXQoJyAnKSB8fCBbXSlcbiAgICAgICAgXS5qb2luKCcgJyk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInBvcG92ZXItYXJyb3cgdXBkLXBvcG92ZXItYXJyb3cgLXt7cGxhY2VtZW50fX1cIj48L2Rpdj5cbkBpZiAoISF0aXRsZSB8fCAhIXRpdGxlVGVtcGxhdGUpIHtcbiAgICBAaWYgKCEhdGl0bGUpIHtcbiAgICAgICAgPGgzIFtpbm5lckhUTUxdPVwidGl0bGVcIiBjbGFzcz1cInBvcG92ZXItaGVhZGVyXCI+PC9oMz5cbiAgICB9IEBlbHNlIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cInBvcG92ZXItaGVhZGVyXCI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwidGl0bGVUZW1wbGF0ZSFcIj48L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2Rpdj5cbiAgICB9XG59XG48ZGl2IGNsYXNzPVwicG9wb3Zlci1ib2R5XCI+XG4gICAgQGlmICghIXRleHQpIHtcbiAgICAgICAgPHNwYW4gW2lubmVySFRNTF09XCJ0ZXh0XCI+PC9zcGFuPlxuICAgIH0gQGVsc2Uge1xuICAgICAgICBAaWYgKCF0ZW1wbGF0ZSkge1xuICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJ0ZW1wbGF0ZSFcIj48L25nLXRlbXBsYXRlPlxuICAgICAgICB9XG4gICAgfVxuPC9kaXY+XG4iXX0=
@@ -1,22 +1,22 @@
1
- import { Directive, Input, HostListener } from '@angular/core';
1
+ import { Directive, Input, TemplateRef, ViewContainerRef, Renderer2, ElementRef, Injector, NgZone, HostListener, inject, afterNextRender } from '@angular/core';
2
+ import { PositioningService, DynamicComponentLoaderService } from '@updevs/sdk/layout';
2
3
  import { PopoverComponent } from './popover.component';
3
4
  import * as i0 from "@angular/core";
4
- import * as i1 from "@updevs/sdk/layout";
5
5
  export class PopoverDirective {
6
- constructor(elementRef, renderer, viewContainerRef, ngZone, injector, positioningService, dynamicComponentLoaderService) {
7
- this.elementRef = elementRef;
8
- this.renderer = renderer;
9
- this.viewContainerRef = viewContainerRef;
10
- this.ngZone = ngZone;
11
- this.injector = injector;
12
- this.positioningService = positioningService;
13
- this.dynamicComponentLoaderService = dynamicComponentLoaderService;
6
+ constructor() {
14
7
  this.placement = 'top';
15
8
  /**
16
9
  * This makes the popover behave like a tooltip.
17
10
  * It means it'll show/hide depending on whether the mouse is over or not the element.
18
11
  */
19
12
  this.actAsTooltip = false;
13
+ this.elementRef = inject(ElementRef);
14
+ this.renderer = inject(Renderer2);
15
+ this.viewContainerRef = inject(ViewContainerRef);
16
+ this.ngZone = inject(NgZone);
17
+ this.injector = inject(Injector);
18
+ this.positioningService = inject(PositioningService);
19
+ this.dynamicComponentLoaderService = inject(DynamicComponentLoaderService);
20
20
  }
21
21
  onMouseEnter() {
22
22
  if (this.actAsTooltip) {
@@ -41,9 +41,13 @@ export class PopoverDirective {
41
41
  initPopover() {
42
42
  this.setupPopover();
43
43
  this.popoverComponentRef.instance.setVisible(true);
44
- this.ngZone.runOutsideAngular(() => this.positioningService
45
- .computePosition(this.elementRef, this.popoverComponentRef.location, { placement: this.placement })
46
- .subscribe(resp => this.updatePosition(resp)));
44
+ this.popoverComponentRef.changeDetectorRef.detectChanges();
45
+ const arrowElement = this.popoverComponentRef.location.nativeElement.querySelector('.popover-arrow');
46
+ afterNextRender(() => {
47
+ this.ngZone.runOutsideAngular(() => this.positioningService
48
+ .computePosition(this.elementRef, this.popoverComponentRef.location, { placement: this.placement }, arrowElement)
49
+ .subscribe(resp => this.updatePosition(resp)));
50
+ }, { injector: this.injector });
47
51
  }
48
52
  disposePopover() {
49
53
  this.viewContainerRef.clear();
@@ -61,41 +65,28 @@ export class PopoverDirective {
61
65
  }
62
66
  updatePosition(result) {
63
67
  const nativeElement = this.popoverComponentRef.location.nativeElement;
64
- const arrowElement = this.popoverComponentRef.location.nativeElement.querySelector('.popover-arrow');
65
- const popoverBox = nativeElement.getBoundingClientRect();
66
- const arrowBox = arrowElement.getBoundingClientRect();
67
- switch (this.placement) {
68
- case 'top':
69
- this.renderer.setStyle(nativeElement, 'top', `${result.y - arrowBox.height}px`);
70
- this.renderer.setStyle(nativeElement, 'left', `${result.x}px`);
71
- this.renderer.setStyle(arrowElement, 'left', `${(popoverBox.width / 2) - (arrowBox.width / 2)}px`);
72
- break;
73
- case 'bottom':
74
- this.renderer.setStyle(nativeElement, 'top', `${result.y + arrowBox.height}px`);
75
- this.renderer.setStyle(nativeElement, 'left', `${result.x}px`);
76
- this.renderer.setStyle(arrowElement, 'left', `${(popoverBox.width / 2) - (arrowBox.width / 2)}px`);
77
- break;
78
- case 'left':
79
- this.renderer.setStyle(nativeElement, 'top', `${result.y}px`);
80
- this.renderer.setStyle(nativeElement, 'left', `${result.x - arrowBox.width}px`);
81
- this.renderer.setStyle(arrowElement, 'top', `${(popoverBox.height / 2) - (arrowBox.height / 2)}px`);
82
- break;
83
- case 'right':
84
- this.renderer.setStyle(nativeElement, 'top', `${result.y}px`);
85
- this.renderer.setStyle(nativeElement, 'left', `${result.x + arrowBox.width}px`);
86
- this.renderer.setStyle(arrowElement, 'top', `${(popoverBox.height / 2) - (arrowBox.height / 2)}px`);
87
- break;
68
+ const arrowElement = nativeElement?.querySelector('.popover-arrow');
69
+ if (!arrowElement) {
70
+ console.warn('Popover arrow element not found. Positioning may be incorrect.');
71
+ return;
72
+ }
73
+ this.renderer.setStyle(nativeElement, 'left', `${result.x}px`);
74
+ this.renderer.setStyle(nativeElement, 'top', `${result.y}px`);
75
+ if (arrowElement && result.middlewareData.arrow) {
76
+ const { x: arrowX, y: arrowY } = result.middlewareData.arrow;
77
+ this.renderer.setStyle(arrowElement, 'left', arrowX !== undefined ? `${arrowX}px` : '');
78
+ this.renderer.setStyle(arrowElement, 'top', arrowY !== undefined ? `${arrowY}px` : '');
88
79
  }
89
80
  }
90
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: PopoverDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ViewContainerRef }, { token: i0.NgZone }, { token: i0.Injector }, { token: i1.PositioningService }, { token: i1.DynamicComponentLoaderService }], target: i0.ɵɵFactoryTarget.Directive }); }
91
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.11", 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 }); }
81
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: PopoverDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
82
+ 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 }); }
92
83
  }
93
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: PopoverDirective, decorators: [{
84
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: PopoverDirective, decorators: [{
94
85
  type: Directive,
95
86
  args: [{
96
87
  selector: '[updPopover]'
97
88
  }]
98
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ViewContainerRef }, { type: i0.NgZone }, { type: i0.Injector }, { type: i1.PositioningService }, { type: i1.DynamicComponentLoaderService }]; }, propDecorators: { text: [{
89
+ }], propDecorators: { text: [{
99
90
  type: Input,
100
91
  args: ['updPopover']
101
92
  }], title: [{
@@ -126,4 +117,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImpo
126
117
  type: HostListener,
127
118
  args: ['click']
128
119
  }] } });
129
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91cGRldnMvY29tcG9uZW50cy9wb3BvdmVyL3NyYy9wb3BvdmVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULEtBQUssRUFRTCxZQUFZLEVBQ2YsTUFBTSxlQUFlLENBQUM7QUFJdkIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7OztBQUt2RCxNQUFNLE9BQU8sZ0JBQWdCO0lBZXpCLFlBQ1ksVUFBc0IsRUFDdEIsUUFBbUIsRUFDbkIsZ0JBQWtDLEVBQ2xDLE1BQWMsRUFDZCxRQUFrQixFQUNsQixrQkFBc0MsRUFDdEMsNkJBQTREO1FBTjVELGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMsa0NBQTZCLEdBQTdCLDZCQUE2QixDQUErQjtRQWpCMUMsY0FBUyxHQUEyQixLQUFLLENBQUM7UUFFeEU7OztXQUdHO1FBQzhCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO0lBYXRELENBQUM7SUFHRCxZQUFZO1FBQ1IsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ25CLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUN0QjtJQUNMLENBQUM7SUFHRCxZQUFZO1FBQ1IsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ25CLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztTQUN6QjtJQUNMLENBQUM7SUFHRCxPQUFPO1FBQ0gsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDcEIsSUFBSSxJ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SUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLEtBQUssRUFBRSxHQUFHLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUM5RCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLENBQUMsR0FBRyxRQUFRLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQztnQkFDaEYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNwRyxNQUFNO1NBQ2I7SUFDTCxDQUFDOytHQTFHUSxnQkFBZ0I7bUdBQWhCLGdCQUFnQjs7NEZBQWhCLGdCQUFnQjtrQkFINUIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsY0FBYztpQkFDM0I7aVJBRXdCLElBQUk7c0JBQXhCLEtBQUs7dUJBQUMsWUFBWTtnQkFDTyxLQUFLO3NCQUE5QixLQUFLO3VCQUFDLGlCQUFpQjtnQkFDVSxvQkFBb0I7c0JBQXJELEtBQUs7dUJBQUMseUJBQXlCO2dCQUNILGVBQWU7c0JBQTNDLEtBQUs7dUJBQUMsb0JBQW9CO2dCQUNHLFNBQVM7c0JBQXRDLEtBQUs7dUJBQUMscUJBQXFCO2dCQUNNLGFBQWE7c0JBQTlDLEtBQUs7dUJBQUMseUJBQXlCO2dCQUtDLFlBQVk7c0JBQTVDLEtBQUs7dUJBQUMsd0JBQXdCO2dCQWdCL0IsWUFBWTtzQkFEWCxZQUFZO3VCQUFDLFlBQVk7Z0JBUTFCLFlBQVk7c0JBRFgsWUFBWTt1QkFBQyxZQUFZO2dCQVExQixPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgRGlyZWN0aXZlLFxuICAgIElucHV0LFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDb250YWluZXJSZWYsXG4gICAgUmVuZGVyZXIyLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSW5qZWN0b3IsXG4gICAgTmdab25lLFxuICAgIENvbXBvbmVudFJlZixcbiAgICBIb3N0TGlzdGVuZXJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUb3BCb3R0b21MZWZ0UmlnaHRUeXBlIH0gZnJvbSAnQHVwZGV2cy9zZGsvdHlwZXMnO1xuaW1wb3J0IHsgUG9zaXRpb25pbmdTZXJ2aWNlLCBDb21wdXRlUG9zaXRpb25SZXN1bHQsIER5bmFtaWNDb21wb25lbnRMb2FkZXJTZXJ2aWNlIH0gZnJvbSAnQHVwZGV2cy9zZGsvbGF5b3V0JztcblxuaW1wb3J0IHsgUG9wb3ZlckNvbXBvbmVudCB9IGZyb20gJy4vcG9wb3Zlci5jb21wb25lbnQnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1t1cGRQb3BvdmVyXSdcbn0pXG5leHBvcnQgY2xhc3MgUG9wb3ZlckRpcmVjdGl2ZSB7XG4gICAgQElucHV0KCd1cGRQb3BvdmVyJykgdGV4dD86IHN0cmluZztcbiAgICBASW5wdXQoJ3VwZFBvcG92ZXJUaXRsZScpIHRpdGxlPzogc3RyaW5nO1xuICAgIEBJbnB1dCgndXBkUG9wb3ZlclRpdGxlVGVtcGxhdGUnKSBwb3BvdmVyVGl0bGVUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT47XG4gICAgQElucHV0KCd1cGRQb3BvdmVyVGVtcGxhdGUnKSBwb3BvdmVyVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIEBJbnB1dCgndXBkUG9wb3ZlclBsYWNlbWVudCcpIHBsYWNlbWVudDogVG9wQm90dG9tTGVmdFJpZ2h0VHlwZSA9ICd0b3AnO1xuICAgIEBJbnB1dCgndXBkUG9wb3ZlckN1c3RvbUNsYXNzZXMnKSBjdXN0b21DbGFzc2VzPzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIFRoaXMgbWFrZXMgdGhlIHBvcG92ZXIgYmVoYXZlIGxpa2UgYSB0b29sdGlwLlxuICAgICAqIEl0IG1lYW5zIGl0J2xsIHNob3cvaGlkZSBkZXBlbmRpbmcgb24gd2hldGhlciB0aGUgbW91c2UgaXMgb3ZlciBvciBub3QgdGhlIGVsZW1lbnQuXG4gICAgICovXG4gICAgQElucHV0KCd1cGRQb3BvdmVyQWN0QXNUb29sdGlwJykgYWN0QXNUb29sdGlwID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIHBvcG92ZXJDb21wb25lbnRSZWY/OiBDb21wb25lbnRSZWY8UG9wb3ZlckNvbXBvbmVudD47XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIHByaXZhdGUgcG9zaXRpb25pbmdTZXJ2aWNlOiBQb3NpdGlvbmluZ1NlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgZHluYW1pY0NvbXBvbmVudExvYWRlclNlcnZpY2U6IER5bmFtaWNDb21wb25lbnRMb2FkZXJTZXJ2aWNlXG4gICAgKSB7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignbW91c2VlbnRlcicpXG4gICAgb25Nb3VzZUVudGVyKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5hY3RBc1Rvb2x0aXApIHtcbiAgICAgICAgICAgIHRoaXMuaW5pdFBvcG92ZXIoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ21vdXNlbGVhdmUnKVxuICAgIG9uTW91c2VMZWF2ZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuYWN0QXNUb29sdGlwKSB7XG4gICAgICAgICAgICB0aGlzLmRpc3Bvc2VQb3BvdmVyKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycpXG4gICAgb25DbGljaygpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmFjdEFzVG9vbHRpcCkge1xuICAgICAgICAgICAgaWYgKHRoaXMucG9wb3ZlckNvbXBvbmVudFJlZj8uaW5zdGFuY2UuaXNWaXNpYmxlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kaXNwb3NlUG9wb3ZlcigpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmluaXRQb3BvdmVyKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRQb3BvdmVyKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNldHVwUG9wb3ZlcigpO1xuICAgICAgICB0aGlzLnBvcG92ZXJDb21wb25lbnRSZWYhLmluc3RhbmNlLnNldFZpc2libGUodHJ1ZSk7XG4gICAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+XG4gICAgICAgICAgICB0aGlzLnBvc2l0aW9uaW5nU2VydmljZVxuICAgICAgICAgICAgICAgIC5jb21wdXRlUG9zaXRpb24odGhpcy5lbGVtZW50UmVmLCB0aGlzLnBvcG92ZXJDb21wb25lbnRSZWYhLmxvY2F0aW9uLCB7IHBsYWNlbWVudDogdGhpcy5wbGFjZW1lbnQgfSlcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKHJlc3AgPT4gdGhpcy51cGRhdGVQb3NpdGlvbihyZXNwKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGRpc3Bvc2VQb3BvdmVyKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnZpZXdDb250YWluZXJSZWYuY2xlYXIoKTtcbiAgICAgICAgdGhpcy5wb3BvdmVyQ29tcG9uZW50UmVmIS5pbnN0YW5jZS5zZXRWaXNpYmxlKGZhbHNlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldHVwUG9wb3ZlcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyUmVmLmNsZWFyKCk7XG5cbiAgICAgICAgdGhpcy5wb3BvdmVyQ29tcG9uZW50UmVmID0gdGhpcy5keW5hbWljQ29tcG9uZW50TG9hZGVyU2VydmljZS5sb2FkKFBvcG92ZXJDb21wb25lbnQsIHRoaXMudmlld0NvbnRhaW5lclJlZiwgdGhpcy5pbmplY3Rvcik7XG4gICAgICAgIHRoaXMucG9wb3ZlckNvbXBvbmVudFJlZiEuaW5zdGFuY2UudGl0bGUgPSB0aGlzLnRpdGxlO1xuICAgICAgICB0aGlzLnBvcG92ZXJDb21wb25lbnRSZWYhLmluc3RhbmNlLnRleHQgPSB0aGlzLnRleHQ7XG4gICAgICAgIHRoaXMucG9wb3ZlckNvbXBvbmVudFJlZiEuaW5zdGFuY2UudGl0bGVUZW1wbGF0ZSA9IHRoaXMucG9wb3ZlclRpdGxlVGVtcGxhdGU7XG4gICAgICAgIHRoaXMucG9wb3ZlckNvbXBvbmVudFJlZiEuaW5zdGFuY2UudGVtcGxhdGUgPSB0aGlzLnBvcG92ZXJUZW1wbGF0ZTtcbiAgICAgICAgdGhpcy5wb3BvdmVyQ29tcG9uZW50UmVmIS5pbnN0YW5jZS5wbGFjZW1lbnQgPSB0aGlzLnBsYWNlbWVudDtcbiAgICAgICAgdGhpcy5wb3BvdmVyQ29tcG9uZW50UmVmIS5pbnN0YW5jZS5jdXN0b21DbGFzc2VzID0gdGhpcy5jdXN0b21DbGFzc2VzO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlUG9zaXRpb24ocmVzdWx0OiBDb21wdXRlUG9zaXRpb25SZXN1bHQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgbmF0aXZlRWxlbWVudCA9IHRoaXMucG9wb3ZlckNvbXBvbmVudFJlZiEubG9jYXRpb24ubmF0aXZlRWxlbWVudDtcbiAgICAgICAgY29uc3QgYXJyb3dFbGVtZW50ID0gdGhpcy5wb3BvdmVyQ29tcG9uZW50UmVmIS5sb2NhdGlvbi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5wb3BvdmVyLWFycm93Jyk7XG4gICAgICAgIGNvbnN0IHBvcG92ZXJCb3ggPSBuYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICBjb25zdCBhcnJvd0JveCA9IGFycm93RWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgICAgICBzd2l0Y2ggKHRoaXMucGxhY2VtZW50KSB7XG4gICAgICAgICAgICBjYXNlICd0b3AnOlxuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUobmF0aXZlRWxlbWVudCwgJ3RvcCcsIGAke3Jlc3VsdC55IC0gYXJyb3dCb3guaGVpZ2h0fXB4YCk7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShuYXRpdmVFbGVtZW50LCAnbGVmdCcsIGAke3Jlc3VsdC54fXB4YCk7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShhcnJvd0VsZW1lbnQsICdsZWZ0JywgYCR7KHBvcG92ZXJCb3gud2lkdGggLyAyKSAtIChhcnJvd0JveC53aWR0aCAvIDIpfXB4YCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdib3R0b20nOlxuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUobmF0aXZlRWxlbWVudCwgJ3RvcCcsIGAke3Jlc3VsdC55ICsgYXJyb3dCb3guaGVpZ2h0fXB4YCk7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShuYXRpdmVFbGVtZW50LCAnbGVmdCcsIGAke3Jlc3VsdC54fXB4YCk7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShhcnJvd0VsZW1lbnQsICdsZWZ0JywgYCR7KHBvcG92ZXJCb3gud2lkdGggLyAyKSAtIChhcnJvd0JveC53aWR0aCAvIDIpfXB4YCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdsZWZ0JzpcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKG5hdGl2ZUVsZW1lbnQsICd0b3AnLCBgJHtyZXN1bHQueX1weGApO1xuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUobmF0aXZlRWxlbWVudCwgJ2xlZnQnLCBgJHtyZXN1bHQueCAtIGFycm93Qm94LndpZHRofXB4YCk7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShhcnJvd0VsZW1lbnQsICd0b3AnLCBgJHsocG9wb3ZlckJveC5oZWlnaHQgLyAyKSAtIChhcnJvd0JveC5oZWlnaHQgLyAyKX1weGApO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAncmlnaHQnOlxuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUobmF0aXZlRWxlbWVudCwgJ3RvcCcsIGAke3Jlc3VsdC55fXB4YCk7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShuYXRpdmVFbGVtZW50LCAnbGVmdCcsIGAke3Jlc3VsdC54ICsgYXJyb3dCb3gud2lkdGh9cHhgKTtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGFycm93RWxlbWVudCwgJ3RvcCcsIGAkeyhwb3BvdmVyQm94LmhlaWdodCAvIDIpIC0gKGFycm93Qm94LmhlaWdodCAvIDIpfXB4YCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
120
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvcG9wb3Zlci9zcmMvcG9wb3Zlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxLQUFLLEVBQ0wsV0FBVyxFQUNYLGdCQUFnQixFQUNoQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFFBQVEsRUFDUixNQUFNLEVBRU4sWUFBWSxFQUFFLE1BQU0sRUFDcEIsZUFBZSxFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsa0JBQWtCLEVBQXlCLDZCQUE2QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFOUcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBS3ZELE1BQU0sT0FBTyxnQkFBZ0I7SUFIN0I7UUFVa0MsY0FBUyxHQUEyQixLQUFLLENBQUM7UUFFeEU7OztXQUdHO1FBQzhCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBSXJDLGVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDaEMsYUFBUSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM3QixxQkFBZ0IsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUM1QyxXQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3hCLGFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDNUIsdUJBQWtCLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDaEQsa0NBQTZCLEdBQUcsTUFBTSxDQUFDLDZCQUE2QixDQUFDLENBQUM7S0E4RTFGO0lBM0VHLFlBQVk7UUFDUixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDdkIsQ0FBQztJ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O3VCQUFDLHlCQUF5QjtnQkFFSCxlQUFlO3NCQUEzQyxLQUFLO3VCQUFDLG9CQUFvQjtnQkFDRyxTQUFTO3NCQUF0QyxLQUFLO3VCQUFDLHFCQUFxQjtnQkFDTSxhQUFhO3NCQUE5QyxLQUFLO3VCQUFDLHlCQUF5QjtnQkFLQyxZQUFZO3NCQUE1QyxLQUFLO3VCQUFDLHdCQUF3QjtnQkFhL0IsWUFBWTtzQkFEWCxZQUFZO3VCQUFDLFlBQVk7Z0JBUTFCLFlBQVk7c0JBRFgsWUFBWTt1QkFBQyxZQUFZO2dCQVExQixPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgRGlyZWN0aXZlLFxuICAgIElucHV0LFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDb250YWluZXJSZWYsXG4gICAgUmVuZGVyZXIyLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSW5qZWN0b3IsXG4gICAgTmdab25lLFxuICAgIENvbXBvbmVudFJlZixcbiAgICBIb3N0TGlzdGVuZXIsIGluamVjdCxcbiAgICBhZnRlck5leHRSZW5kZXJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUb3BCb3R0b21MZWZ0UmlnaHRUeXBlIH0gZnJvbSAnQHVwZGV2cy9zZGsvdHlwZXMnO1xuaW1wb3J0IHsgUG9zaXRpb25pbmdTZXJ2aWNlLCBDb21wdXRlUG9zaXRpb25SZXN1bHQsIER5bmFtaWNDb21wb25lbnRMb2FkZXJTZXJ2aWNlIH0gZnJvbSAnQHVwZGV2cy9zZGsvbGF5b3V0JztcblxuaW1wb3J0IHsgUG9wb3ZlckNvbXBvbmVudCB9IGZyb20gJy4vcG9wb3Zlci5jb21wb25lbnQnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1t1cGRQb3BvdmVyXSdcbn0pXG5leHBvcnQgY2xhc3MgUG9wb3ZlckRpcmVjdGl2ZSB7XG4gICAgQElucHV0KCd1cGRQb3BvdmVyJykgdGV4dD86IHN0cmluZztcbiAgICBASW5wdXQoJ3VwZFBvcG92ZXJUaXRsZScpIHRpdGxlPzogc3RyaW5nO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lXG4gICAgQElucHV0KCd1cGRQb3BvdmVyVGl0bGVUZW1wbGF0ZScpIHBvcG92ZXJUaXRsZVRlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PjtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZVxuICAgIEBJbnB1dCgndXBkUG9wb3ZlclRlbXBsYXRlJykgcG9wb3ZlclRlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PjtcbiAgICBASW5wdXQoJ3VwZFBvcG92ZXJQbGFjZW1lbnQnKSBwbGFjZW1lbnQ6IFRvcEJvdHRvbUxlZnRSaWdodFR5cGUgPSAndG9wJztcbiAgICBASW5wdXQoJ3VwZFBvcG92ZXJDdXN0b21DbGFzc2VzJykgY3VzdG9tQ2xhc3Nlcz86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBUaGlzIG1ha2VzIHRoZSBwb3BvdmVyIGJlaGF2ZSBsaWtlIGEgdG9vbHRpcC5cbiAgICAgKiBJdCBtZWFucyBpdCdsbCBzaG93L2hpZGUgZGVwZW5kaW5nIG9uIHdoZXRoZXIgdGhlIG1vdXNlIGlzIG92ZXIgb3Igbm90IHRoZSBlbGVtZW50LlxuICAgICAqL1xuICAgIEBJbnB1dCgndXBkUG9wb3ZlckFjdEFzVG9vbHRpcCcpIGFjdEFzVG9vbHRpcCA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSBwb3BvdmVyQ29tcG9uZW50UmVmPzogQ29tcG9uZW50UmVmPFBvcG92ZXJDb21wb25lbnQ+O1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVuZGVyZXIgPSBpbmplY3QoUmVuZGVyZXIyKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHZpZXdDb250YWluZXJSZWYgPSBpbmplY3QoVmlld0NvbnRhaW5lclJlZik7XG4gICAgcHJpdmF0ZSByZWFkb25seSBuZ1pvbmUgPSBpbmplY3QoTmdab25lKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGluamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBvc2l0aW9uaW5nU2VydmljZSA9IGluamVjdChQb3NpdGlvbmluZ1NlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZHluYW1pY0NvbXBvbmVudExvYWRlclNlcnZpY2UgPSBpbmplY3QoRHluYW1pY0NvbXBvbmVudExvYWRlclNlcnZpY2UpO1xuXG4gICAgQEhvc3RMaXN0ZW5lcignbW91c2VlbnRlcicpXG4gICAgb25Nb3VzZUVudGVyKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5hY3RBc1Rvb2x0aXApIHtcbiAgICAgICAgICAgIHRoaXMuaW5pdFBvcG92ZXIoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ21vdXNlbGVhdmUnKVxuICAgIG9uTW91c2VMZWF2ZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuYWN0QXNUb29sdGlwKSB7XG4gICAgICAgICAgICB0aGlzLmRpc3Bvc2VQb3BvdmVyKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycpXG4gICAgb25DbGljaygpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmFjdEFzVG9vbHRpcCkge1xuICAgICAgICAgICAgaWYgKHRoaXMucG9wb3ZlckNvbXBvbmVudFJlZj8uaW5zdGFuY2UuaXNWaXNpYmxlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kaXNwb3NlUG9wb3ZlcigpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmluaXRQb3BvdmVyKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRQb3BvdmVyKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNldHVwUG9wb3ZlcigpO1xuICAgICAgICB0aGlzLnBvcG92ZXJDb21wb25lbnRSZWYhLmluc3RhbmNlLnNldFZpc2libGUodHJ1ZSk7XG4gICAgICAgIHRoaXMucG9wb3ZlckNvbXBvbmVudFJlZiEuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgICAgIGNvbnN0IGFycm93RWxlbWVudCA9IHRoaXMucG9wb3ZlckNvbXBvbmVudFJlZiEubG9jYXRpb24ubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcucG9wb3Zlci1hcnJvdycpO1xuXG4gICAgICAgIGFmdGVyTmV4dFJlbmRlcigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PlxuICAgICAgICAgICAgICAgIHRoaXMucG9zaXRpb25pbmdTZXJ2aWNlXG4gICAgICAgICAgICAgICAgICAgIC5jb21wdXRlUG9zaXRpb24odGhpcy5lbGVtZW50UmVmLCB0aGlzLnBvcG92ZXJDb21wb25lbnRSZWYhLmxvY2F0aW9uLCB7IHBsYWNlbWVudDogdGhpcy5wbGFjZW1lbnQgfSwgYXJyb3dFbGVtZW50KVxuICAgICAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKHJlc3AgPT4gdGhpcy51cGRhdGVQb3NpdGlvbihyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0sIHsgaW5qZWN0b3I6IHRoaXMuaW5qZWN0b3IgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBkaXNwb3NlUG9wb3ZlcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyUmVmLmNsZWFyKCk7XG4gICAgICAgIHRoaXMucG9wb3ZlckNvbXBvbmVudFJlZiEuaW5zdGFuY2Uuc2V0VmlzaWJsZShmYWxzZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXR1cFBvcG92ZXIoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudmlld0NvbnRhaW5lclJlZi5jbGVhcigpO1xuXG4gICAgICAgIHRoaXMucG9wb3ZlckNvbXBvbmVudFJlZiA9IHRoaXMuZHluYW1pY0NvbXBvbmVudExvYWRlclNlcnZpY2UubG9hZChQb3BvdmVyQ29tcG9uZW50LCB0aGlzLnZpZXdDb250YWluZXJSZWYsIHRoaXMuaW5qZWN0b3IpO1xuICAgICAgICB0aGlzLnBvcG92ZXJDb21wb25lbnRSZWYhLmluc3RhbmNlLnRpdGxlID0gdGhpcy50aXRsZTtcbiAgICAgICAgdGhpcy5wb3BvdmVyQ29tcG9uZW50UmVmIS5pbnN0YW5jZS50ZXh0ID0gdGhpcy50ZXh0O1xuICAgICAgICB0aGlzLnBvcG92ZXJDb21wb25lbnRSZWYhLmluc3RhbmNlLnRpdGxlVGVtcGxhdGUgPSB0aGlzLnBvcG92ZXJUaXRsZVRlbXBsYXRlO1xuICAgICAgICB0aGlzLnBvcG92ZXJDb21wb25lbnRSZWYhLmluc3RhbmNlLnRlbXBsYXRlID0gdGhpcy5wb3BvdmVyVGVtcGxhdGU7XG4gICAgICAgIHRoaXMucG9wb3ZlckNvbXBvbmVudFJlZiEuaW5zdGFuY2UucGxhY2VtZW50ID0gdGhpcy5wbGFjZW1lbnQ7XG4gICAgICAgIHRoaXMucG9wb3ZlckNvbXBvbmVudFJlZiEuaW5zdGFuY2UuY3VzdG9tQ2xhc3NlcyA9IHRoaXMuY3VzdG9tQ2xhc3NlcztcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVBvc2l0aW9uKHJlc3VsdDogQ29tcHV0ZVBvc2l0aW9uUmVzdWx0KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IG5hdGl2ZUVsZW1lbnQgPSB0aGlzLnBvcG92ZXJDb21wb25lbnRSZWYhLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IGFycm93RWxlbWVudCA9IG5hdGl2ZUVsZW1lbnQ/LnF1ZXJ5U2VsZWN0b3IoJy5wb3BvdmVyLWFycm93Jyk7XG5cbiAgICAgICAgaWYgKCFhcnJvd0VsZW1lbnQpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybignUG9wb3ZlciBhcnJvdyBlbGVtZW50IG5vdCBmb3VuZC4gUG9zaXRpb25pbmcgbWF5IGJlIGluY29ycmVjdC4nKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUobmF0aXZlRWxlbWVudCwgJ2xlZnQnLCBgJHtyZXN1bHQueH1weGApO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKG5hdGl2ZUVsZW1lbnQsICd0b3AnLCBgJHtyZXN1bHQueX1weGApO1xuXG4gICAgICAgIGlmIChhcnJvd0VsZW1lbnQgJiYgcmVzdWx0Lm1pZGRsZXdhcmVEYXRhLmFycm93KSB7XG4gICAgICAgICAgICBjb25zdCB7IHg6IGFycm93WCwgeTogYXJyb3dZIH0gPSByZXN1bHQubWlkZGxld2FyZURhdGEuYXJyb3c7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGFycm93RWxlbWVudCwgJ2xlZnQnLCBhcnJvd1ggIT09IHVuZGVmaW5lZCA/IGAke2Fycm93WH1weGAgOiAnJyk7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGFycm93RWxlbWVudCwgJ3RvcCcsIGFycm93WSAhPT0gdW5kZWZpbmVkID8gYCR7YXJyb3dZfXB4YCA6ICcnKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==