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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (736) hide show
  1. package/README.md +1 -8
  2. package/assets/styles/_core.scss +9 -0
  3. package/assets/styles/_debug.scss +49 -0
  4. package/assets/styles/_props.scss +91 -0
  5. package/assets/styles/_updevs.scss +12 -0
  6. package/assets/styles/_utilities-marketing.scss +209 -0
  7. package/assets/styles/_utilities.scss +127 -92
  8. package/assets/styles/_variables-dark.scss +8 -6
  9. package/assets/styles/_variables.scss +326 -257
  10. package/assets/styles/helpers/_index.scss +143 -0
  11. package/assets/styles/layout/_core.scss +3 -2
  12. package/assets/styles/layout/_dark.scss +40 -35
  13. package/assets/styles/layout/_footer.scss +1 -1
  14. package/assets/styles/layout/_navbar.scss +31 -19
  15. package/assets/styles/layout/_page.scss +6 -5
  16. package/assets/styles/layout/_root.scss +26 -34
  17. package/assets/styles/marketing/_browser.scss +67 -0
  18. package/assets/styles/marketing/_core.scss +8 -0
  19. package/assets/styles/marketing/_filters.scss +0 -0
  20. package/assets/styles/marketing/_hero.scss +70 -0
  21. package/assets/styles/marketing/_pricing.scss +111 -0
  22. package/assets/styles/marketing/_sections.scss +124 -0
  23. package/assets/styles/marketing/_shape.scss +31 -0
  24. package/assets/styles/mixins/_functions.scss +53 -0
  25. package/assets/styles/mixins/_mixins.scss +9 -9
  26. package/assets/styles/ui/_accordion.scss +165 -11
  27. package/assets/styles/ui/_alerts.scss +80 -38
  28. package/assets/styles/ui/_avatars.scss +36 -9
  29. package/assets/styles/ui/_badges.scss +47 -13
  30. package/assets/styles/ui/_button-group.scss +1 -1
  31. package/assets/styles/ui/_buttons.scss +33 -37
  32. package/assets/styles/ui/_calendars.scss +2 -2
  33. package/assets/styles/ui/_cards.scss +9 -0
  34. package/assets/styles/ui/_carousel.scss +1 -1
  35. package/assets/styles/ui/_charts.scss +1 -1
  36. package/assets/styles/ui/_chat.scss +38 -0
  37. package/assets/styles/ui/_close.scss +54 -1
  38. package/assets/styles/ui/_datagrid.scss +1 -1
  39. package/assets/styles/ui/_dropdowns.scss +3 -0
  40. package/assets/styles/ui/_empty.scss +0 -5
  41. package/assets/styles/ui/_flags.scss +2 -2
  42. package/assets/styles/ui/_forms.scss +33 -7
  43. package/assets/styles/ui/_grid.scss +1 -1
  44. package/assets/styles/ui/_icons.scss +1 -1
  45. package/assets/styles/ui/_images.scss +4 -0
  46. package/assets/styles/ui/_lists.scss +12 -16
  47. package/assets/styles/ui/_loaders.scss +1 -1
  48. package/assets/styles/ui/_markdown.scss +15 -4
  49. package/assets/styles/ui/_modals.scss +2 -2
  50. package/assets/styles/ui/_nav.scss +17 -3
  51. package/assets/styles/ui/_offcanvas.scss +2 -2
  52. package/assets/styles/ui/_pagination.scss +2 -0
  53. package/assets/styles/ui/_payments.scss +1 -1
  54. package/assets/styles/ui/_placeholder.scss +1 -1
  55. package/assets/styles/ui/_progress.scss +1 -1
  56. package/assets/styles/ui/_ribbons.scss +1 -0
  57. package/assets/styles/ui/_segmented.scss +101 -0
  58. package/assets/styles/ui/_signature.scss +15 -0
  59. package/assets/styles/ui/_social.scss +52 -0
  60. package/assets/styles/ui/_status.scss +1 -1
  61. package/assets/styles/ui/_steps.scss +5 -1
  62. package/assets/styles/ui/_switch-icon.scss +1 -1
  63. package/assets/styles/ui/_tables.scss +27 -1
  64. package/assets/styles/ui/_tags.scss +1 -1
  65. package/assets/styles/ui/_timeline.scss +1 -1
  66. package/assets/styles/ui/_toasts.scss +0 -1
  67. package/assets/styles/ui/_tracking.scss +1 -1
  68. package/assets/styles/ui/_type.scss +169 -8
  69. package/assets/styles/ui/forms/_form-check.scss +1 -1
  70. package/assets/styles/ui/forms/_form-colorinput.scss +1 -1
  71. package/assets/styles/ui/forms/_form-custom.scss +1 -1
  72. package/assets/styles/ui/forms/_form-imagecheck.scss +6 -5
  73. package/assets/styles/ui/forms/_form-selectgroup.scss +2 -2
  74. package/assets/styles/ui/typo/_hr.scss +4 -2
  75. package/assets/styles/utils/_colors.scss +72 -11
  76. package/assets/styles/utils/_opacity.scss +1 -1
  77. package/assets/styles/utils/_scroll.scss +0 -2
  78. package/assets/styles/utils/_sizing.scss +1 -1
  79. package/assets/styles/utils/_text.scss +1 -2
  80. package/assets/styles/vendor/_apexcharts.scss +52 -0
  81. package/assets/styles/vendor/_coloris.scss +72 -0
  82. package/assets/styles/vendor/_dropzone.scss +27 -0
  83. package/assets/styles/vendor/_fslightbox.scss +13 -0
  84. package/assets/styles/vendor/_jsvectormap.scss +47 -0
  85. package/assets/styles/vendor/_litepicker.scss +69 -0
  86. package/assets/styles/vendor/_nouislider.scss +49 -0
  87. package/assets/styles/vendor/_plyr.scss +3 -0
  88. package/assets/styles/vendor/_stars-rating.scss +22 -0
  89. package/assets/styles/vendor/_tom-select.scss +81 -0
  90. package/assets/styles/vendor/_turbo.scss +3 -0
  91. package/assets/styles/vendor/_typed.scss +4 -0
  92. package/assets/styles/vendor/_wysiwyg.scss +46 -0
  93. package/fesm2022/updevs-components-badge.mjs +29 -31
  94. package/fesm2022/updevs-components-badge.mjs.map +1 -1
  95. package/fesm2022/updevs-components-button.mjs +41 -41
  96. package/fesm2022/updevs-components-button.mjs.map +1 -1
  97. package/fesm2022/updevs-components-calendar.mjs +327 -1456
  98. package/fesm2022/updevs-components-calendar.mjs.map +1 -1
  99. package/fesm2022/updevs-components-card.mjs +25 -21
  100. package/fesm2022/updevs-components-card.mjs.map +1 -1
  101. package/fesm2022/updevs-components-drag-and-drop.mjs +17 -17
  102. package/fesm2022/updevs-components-drag-and-drop.mjs.map +1 -1
  103. package/fesm2022/updevs-components-dropdown.mjs +41 -20
  104. package/fesm2022/updevs-components-dropdown.mjs.map +1 -1
  105. package/fesm2022/updevs-components-form-controls-abstractions.mjs +77 -18
  106. package/fesm2022/updevs-components-form-controls-abstractions.mjs.map +1 -1
  107. package/fesm2022/updevs-components-form-controls-checkbox.mjs +31 -21
  108. package/fesm2022/updevs-components-form-controls-checkbox.mjs.map +1 -1
  109. package/fesm2022/updevs-components-form-controls-date-picker.mjs +51 -66
  110. package/fesm2022/updevs-components-form-controls-date-picker.mjs.map +1 -1
  111. package/fesm2022/updevs-components-form-controls-file-upload.mjs +272 -0
  112. package/fesm2022/updevs-components-form-controls-file-upload.mjs.map +1 -0
  113. package/fesm2022/updevs-components-form-controls-input.mjs +46 -28
  114. package/fesm2022/updevs-components-form-controls-input.mjs.map +1 -1
  115. package/fesm2022/updevs-components-form-controls-radio.mjs +20 -14
  116. package/fesm2022/updevs-components-form-controls-radio.mjs.map +1 -1
  117. package/fesm2022/updevs-components-form-controls-select.mjs +288 -111
  118. package/fesm2022/updevs-components-form-controls-select.mjs.map +1 -1
  119. package/fesm2022/updevs-components-form-controls-textarea.mjs +25 -20
  120. package/fesm2022/updevs-components-form-controls-textarea.mjs.map +1 -1
  121. package/fesm2022/updevs-components-form-controls-time-picker.mjs +14 -13
  122. package/fesm2022/updevs-components-form-controls-time-picker.mjs.map +1 -1
  123. package/fesm2022/updevs-components-form.mjs +255 -71
  124. package/fesm2022/updevs-components-form.mjs.map +1 -1
  125. package/fesm2022/updevs-components-layout.mjs +597 -330
  126. package/fesm2022/updevs-components-layout.mjs.map +1 -1
  127. package/fesm2022/updevs-components-link.mjs +9 -9
  128. package/fesm2022/updevs-components-link.mjs.map +1 -1
  129. package/fesm2022/updevs-components-list.mjs +20 -10
  130. package/fesm2022/updevs-components-list.mjs.map +1 -1
  131. package/fesm2022/updevs-components-modal.mjs +27 -25
  132. package/fesm2022/updevs-components-modal.mjs.map +1 -1
  133. package/fesm2022/updevs-components-paginator.mjs +38 -37
  134. package/fesm2022/updevs-components-paginator.mjs.map +1 -1
  135. package/fesm2022/updevs-components-popover.mjs +32 -40
  136. package/fesm2022/updevs-components-popover.mjs.map +1 -1
  137. package/fesm2022/updevs-components-pricing.mjs +130 -0
  138. package/fesm2022/updevs-components-pricing.mjs.map +1 -0
  139. package/fesm2022/updevs-components-table.mjs +678 -333
  140. package/fesm2022/updevs-components-table.mjs.map +1 -1
  141. package/fesm2022/updevs-components.mjs +5 -5
  142. package/fesm2022/updevs-components.mjs.map +1 -1
  143. package/package.json +70 -101
  144. package/types/updevs-components-badge.d.ts +44 -0
  145. package/types/updevs-components-button.d.ts +75 -0
  146. package/types/updevs-components-calendar.d.ts +175 -0
  147. package/{card/card.component.d.ts → types/updevs-components-card.d.ts} +52 -14
  148. package/types/updevs-components-drag-and-drop.d.ts +74 -0
  149. package/{dropdown/dropdown.component.d.ts → types/updevs-components-dropdown.d.ts} +56 -8
  150. package/types/updevs-components-form-controls-abstractions.d.ts +49 -0
  151. package/types/updevs-components-form-controls-checkbox.d.ts +33 -0
  152. package/types/updevs-components-form-controls-date-picker.d.ts +80 -0
  153. package/types/updevs-components-form-controls-file-upload.d.ts +69 -0
  154. package/types/updevs-components-form-controls-input.d.ts +95 -0
  155. package/types/updevs-components-form-controls-radio.d.ts +32 -0
  156. package/types/updevs-components-form-controls-select.d.ts +200 -0
  157. package/types/updevs-components-form-controls-textarea.d.ts +31 -0
  158. package/types/updevs-components-form-controls-time-picker.d.ts +164 -0
  159. package/types/updevs-components-form.d.ts +356 -0
  160. package/types/updevs-components-layout.d.ts +490 -0
  161. package/{link/link.component.d.ts → types/updevs-components-link.d.ts} +16 -4
  162. package/types/updevs-components-list.d.ts +107 -0
  163. package/types/updevs-components-modal.d.ts +155 -0
  164. package/types/updevs-components-paginator.d.ts +58 -0
  165. package/types/updevs-components-popover.d.ts +63 -0
  166. package/types/updevs-components-pricing.d.ts +91 -0
  167. package/types/updevs-components-table.d.ts +619 -0
  168. package/types/updevs-components.d.ts +44 -0
  169. package/badge/badge-config.model.d.ts +0 -14
  170. package/badge/badge.component.d.ts +0 -24
  171. package/badge/badge.config.d.ts +0 -12
  172. package/badge/index.d.ts +0 -1
  173. package/badge/public-api.d.ts +0 -3
  174. package/badge/upd-badge.module.d.ts +0 -8
  175. package/button/button.component.d.ts +0 -61
  176. package/button/index.d.ts +0 -1
  177. package/button/public-api.d.ts +0 -2
  178. package/button/upd-button.module.d.ts +0 -10
  179. package/calendar/calendar.component.d.ts +0 -127
  180. package/calendar/components/calendar-body/calendar-body.component.d.ts +0 -263
  181. package/calendar/components/calendar-header/calendar-header.component.d.ts +0 -57
  182. package/calendar/components/calendar-month-view/calendar-month-view.component.d.ts +0 -151
  183. package/calendar/components/calendar-multi-year-view/calendar-multi-year-view.component.d.ts +0 -10
  184. package/calendar/components/calendar-year-view/calendar-year-view.component.d.ts +0 -9
  185. package/calendar/index.d.ts +0 -1
  186. package/calendar/models/calendar-cell.model.d.ts +0 -16
  187. package/calendar/models/calendar-user-event.model.d.ts +0 -4
  188. package/calendar/models/date-range.model.d.ts +0 -26
  189. package/calendar/models/public-api.d.ts +0 -2
  190. package/calendar/public-api.d.ts +0 -5
  191. package/calendar/services/calendar-range-strategy.service.d.ts +0 -35
  192. package/calendar/services/calendar-signals.service.d.ts +0 -24
  193. package/calendar/services/calendar.service.d.ts +0 -15
  194. package/calendar/services/public-api.d.ts +0 -1
  195. package/calendar/tools/events-options.d.ts +0 -12
  196. package/calendar/tools/keyboard-tools.d.ts +0 -9
  197. package/calendar/tools/passive-listeners.d.ts +0 -16
  198. package/calendar/types/calendar-cell-class-function.type.d.ts +0 -3
  199. package/calendar/types/calendar-cell-css-classes.type.d.ts +0 -3
  200. package/calendar/types/calendar-view.type.d.ts +0 -1
  201. package/calendar/types/modifier-key.type.d.ts +0 -1
  202. package/calendar/types/public-api.d.ts +0 -1
  203. package/calendar/upd-calendar.module.d.ts +0 -18
  204. package/card/directives/card-actions.directive.d.ts +0 -7
  205. package/card/directives/card-footer.directive.d.ts +0 -7
  206. package/card/directives/card-header.directive.d.ts +0 -7
  207. package/card/directives/card-image.directive.d.ts +0 -7
  208. package/card/directives/public-api.d.ts +0 -4
  209. package/card/index.d.ts +0 -1
  210. package/card/public-api.d.ts +0 -3
  211. package/card/types/card-state.type.d.ts +0 -1
  212. package/card/types/card-style.type.d.ts +0 -1
  213. package/card/types/hover-effect.type.d.ts +0 -1
  214. package/card/types/ribbon-style.type.d.ts +0 -1
  215. package/card/types/status-position.type.d.ts +0 -1
  216. package/card/upd-card.module.d.ts +0 -14
  217. package/drag-and-drop/drag-and-drop.component.d.ts +0 -26
  218. package/drag-and-drop/index.d.ts +0 -1
  219. package/drag-and-drop/models/drag-and-drop-column.config.d.ts +0 -8
  220. package/drag-and-drop/models/drag-and-drop-column.model.d.ts +0 -10
  221. package/drag-and-drop/models/drag-and-drop-item.d.ts +0 -7
  222. package/drag-and-drop/models/drag-and-drop-item.model.d.ts +0 -13
  223. package/drag-and-drop/models/drag-and-drop.config.d.ts +0 -6
  224. package/drag-and-drop/models/public-api.d.ts +0 -4
  225. package/drag-and-drop/public-api.d.ts +0 -3
  226. package/drag-and-drop/upd-drag-and-drop.module.d.ts +0 -9
  227. package/dropdown/index.d.ts +0 -1
  228. package/dropdown/models/dropdown-action-clicked.model.d.ts +0 -6
  229. package/dropdown/models/dropdown-item.d.ts +0 -24
  230. package/dropdown/models/dropdown-item.type.d.ts +0 -1
  231. package/dropdown/models/public-api.d.ts +0 -4
  232. package/dropdown/models/toolbar.type.d.ts +0 -1
  233. package/dropdown/public-api.d.ts +0 -3
  234. package/dropdown/upd-dropdown.module.d.ts +0 -12
  235. package/esm2022/badge/badge-config.model.mjs +0 -14
  236. package/esm2022/badge/badge.component.mjs +0 -50
  237. package/esm2022/badge/badge.config.mjs +0 -2
  238. package/esm2022/badge/index.mjs +0 -2
  239. package/esm2022/badge/public-api.mjs +0 -4
  240. package/esm2022/badge/upd-badge.module.mjs +0 -24
  241. package/esm2022/badge/updevs-components-badge.mjs +0 -5
  242. package/esm2022/button/button.component.mjs +0 -157
  243. package/esm2022/button/index.mjs +0 -2
  244. package/esm2022/button/public-api.mjs +0 -3
  245. package/esm2022/button/upd-button.module.mjs +0 -32
  246. package/esm2022/button/updevs-components-button.mjs +0 -5
  247. package/esm2022/calendar/assets/i18n/en.json +0 -16
  248. package/esm2022/calendar/assets/i18n/pt.json +0 -16
  249. package/esm2022/calendar/calendar.component.mjs +0 -247
  250. package/esm2022/calendar/components/calendar-body/calendar-body.component.mjs +0 -515
  251. package/esm2022/calendar/components/calendar-header/calendar-header.component.mjs +0 -144
  252. package/esm2022/calendar/components/calendar-month-view/calendar-month-view.component.mjs +0 -423
  253. package/esm2022/calendar/components/calendar-multi-year-view/calendar-multi-year-view.component.mjs +0 -18
  254. package/esm2022/calendar/components/calendar-year-view/calendar-year-view.component.mjs +0 -17
  255. package/esm2022/calendar/index.mjs +0 -2
  256. package/esm2022/calendar/models/calendar-cell.model.mjs +0 -18
  257. package/esm2022/calendar/models/calendar-user-event.model.mjs +0 -2
  258. package/esm2022/calendar/models/date-range.model.mjs +0 -18
  259. package/esm2022/calendar/models/public-api.mjs +0 -3
  260. package/esm2022/calendar/public-api.mjs +0 -6
  261. package/esm2022/calendar/services/calendar-range-strategy.service.mjs +0 -99
  262. package/esm2022/calendar/services/calendar-signals.service.mjs +0 -47
  263. package/esm2022/calendar/services/calendar.service.mjs +0 -40
  264. package/esm2022/calendar/services/public-api.mjs +0 -2
  265. package/esm2022/calendar/tools/events-options.mjs +0 -14
  266. package/esm2022/calendar/tools/keyboard-tools.mjs +0 -14
  267. package/esm2022/calendar/tools/passive-listeners.mjs +0 -29
  268. package/esm2022/calendar/types/calendar-cell-class-function.type.mjs +0 -2
  269. package/esm2022/calendar/types/calendar-cell-css-classes.type.mjs +0 -2
  270. package/esm2022/calendar/types/calendar-view.type.mjs +0 -2
  271. package/esm2022/calendar/types/modifier-key.type.mjs +0 -2
  272. package/esm2022/calendar/types/public-api.mjs +0 -2
  273. package/esm2022/calendar/upd-calendar.module.mjs +0 -69
  274. package/esm2022/calendar/updevs-components-calendar.mjs +0 -5
  275. package/esm2022/card/card.component.mjs +0 -136
  276. package/esm2022/card/directives/card-actions.directive.mjs +0 -16
  277. package/esm2022/card/directives/card-footer.directive.mjs +0 -16
  278. package/esm2022/card/directives/card-header.directive.mjs +0 -16
  279. package/esm2022/card/directives/card-image.directive.mjs +0 -16
  280. package/esm2022/card/directives/public-api.mjs +0 -5
  281. package/esm2022/card/index.mjs +0 -2
  282. package/esm2022/card/public-api.mjs +0 -4
  283. package/esm2022/card/types/card-state.type.mjs +0 -2
  284. package/esm2022/card/types/card-style.type.mjs +0 -2
  285. package/esm2022/card/types/hover-effect.type.mjs +0 -2
  286. package/esm2022/card/types/ribbon-style.type.mjs +0 -2
  287. package/esm2022/card/types/status-position.type.mjs +0 -2
  288. package/esm2022/card/upd-card.module.mjs +0 -50
  289. package/esm2022/card/updevs-components-card.mjs +0 -5
  290. package/esm2022/drag-and-drop/drag-and-drop.component.mjs +0 -134
  291. package/esm2022/drag-and-drop/index.mjs +0 -2
  292. package/esm2022/drag-and-drop/models/drag-and-drop-column.config.mjs +0 -2
  293. package/esm2022/drag-and-drop/models/drag-and-drop-column.model.mjs +0 -9
  294. package/esm2022/drag-and-drop/models/drag-and-drop-item.mjs +0 -2
  295. package/esm2022/drag-and-drop/models/drag-and-drop-item.model.mjs +0 -14
  296. package/esm2022/drag-and-drop/models/drag-and-drop.config.mjs +0 -2
  297. package/esm2022/drag-and-drop/models/public-api.mjs +0 -5
  298. package/esm2022/drag-and-drop/public-api.mjs +0 -4
  299. package/esm2022/drag-and-drop/upd-drag-and-drop.module.mjs +0 -28
  300. package/esm2022/drag-and-drop/updevs-components-drag-and-drop.mjs +0 -5
  301. package/esm2022/dropdown/dropdown.component.mjs +0 -182
  302. package/esm2022/dropdown/index.mjs +0 -2
  303. package/esm2022/dropdown/models/dropdown-action-clicked.model.mjs +0 -2
  304. package/esm2022/dropdown/models/dropdown-item.mjs +0 -2
  305. package/esm2022/dropdown/models/dropdown-item.type.mjs +0 -2
  306. package/esm2022/dropdown/models/public-api.mjs +0 -5
  307. package/esm2022/dropdown/models/toolbar.type.mjs +0 -2
  308. package/esm2022/dropdown/public-api.mjs +0 -4
  309. package/esm2022/dropdown/upd-dropdown.module.mjs +0 -40
  310. package/esm2022/dropdown/updevs-components-dropdown.mjs +0 -5
  311. package/esm2022/form/assets/i18n/en.json +0 -17
  312. package/esm2022/form/assets/i18n/pt.json +0 -17
  313. package/esm2022/form/components/dynamic-field/dynamic-field.component.mjs +0 -96
  314. package/esm2022/form/form.component.mjs +0 -102
  315. package/esm2022/form/index.mjs +0 -2
  316. package/esm2022/form/models/checkbox-field.model.mjs +0 -2
  317. package/esm2022/form/models/checkbox-group-field.model.mjs +0 -2
  318. package/esm2022/form/models/dynamic-field.model.mjs +0 -2
  319. package/esm2022/form/models/enums/dynamic-field.type.mjs +0 -14
  320. package/esm2022/form/models/enums/public-api.mjs +0 -2
  321. package/esm2022/form/models/form-row.model.mjs +0 -2
  322. package/esm2022/form/models/public-api.mjs +0 -6
  323. package/esm2022/form/models/radio-field.model.mjs +0 -2
  324. package/esm2022/form/models/radio-group-field.model.mjs +0 -2
  325. package/esm2022/form/models/select-field.model.mjs +0 -2
  326. package/esm2022/form/models/single-select-field.model.mjs +0 -2
  327. package/esm2022/form/models/textarea-field.model.mjs +0 -2
  328. package/esm2022/form/models/validator-config.mjs +0 -2
  329. package/esm2022/form/public-api.mjs +0 -4
  330. package/esm2022/form/tools/errors-helper.mjs +0 -54
  331. package/esm2022/form/upd-form.module.mjs +0 -75
  332. package/esm2022/form/updevs-components-form.mjs +0 -5
  333. package/esm2022/form-controls/abstractions/base-control.mjs +0 -40
  334. package/esm2022/form-controls/abstractions/index.mjs +0 -2
  335. package/esm2022/form-controls/abstractions/public-api.mjs +0 -2
  336. package/esm2022/form-controls/abstractions/updevs-components-form-controls-abstractions.mjs +0 -5
  337. package/esm2022/form-controls/checkbox/checkbox.component.mjs +0 -53
  338. package/esm2022/form-controls/checkbox/index.mjs +0 -2
  339. package/esm2022/form-controls/checkbox/public-api.mjs +0 -3
  340. package/esm2022/form-controls/checkbox/upd-checkbox.module.mjs +0 -32
  341. package/esm2022/form-controls/checkbox/updevs-components-form-controls-checkbox.mjs +0 -5
  342. package/esm2022/form-controls/date-picker/date-picker.component.mjs +0 -147
  343. package/esm2022/form-controls/date-picker/index.mjs +0 -2
  344. package/esm2022/form-controls/date-picker/public-api.mjs +0 -3
  345. package/esm2022/form-controls/date-picker/upd-date-picker.module.mjs +0 -40
  346. package/esm2022/form-controls/date-picker/updevs-components-form-controls-date-picker.mjs +0 -5
  347. package/esm2022/form-controls/input/directives/input-append.directive.mjs +0 -16
  348. package/esm2022/form-controls/input/directives/input-prepend.directive.mjs +0 -16
  349. package/esm2022/form-controls/input/directives/public-api.mjs +0 -3
  350. package/esm2022/form-controls/input/index.mjs +0 -2
  351. package/esm2022/form-controls/input/input.component.mjs +0 -189
  352. package/esm2022/form-controls/input/public-api.mjs +0 -5
  353. package/esm2022/form-controls/input/types/input.type.mjs +0 -2
  354. package/esm2022/form-controls/input/types/loader-position.type.mjs +0 -2
  355. package/esm2022/form-controls/input/types/public-api.mjs +0 -3
  356. package/esm2022/form-controls/input/upd-input.module.mjs +0 -46
  357. package/esm2022/form-controls/input/updevs-components-form-controls-input.mjs +0 -5
  358. package/esm2022/form-controls/radio/index.mjs +0 -2
  359. package/esm2022/form-controls/radio/public-api.mjs +0 -3
  360. package/esm2022/form-controls/radio/radio.component.mjs +0 -56
  361. package/esm2022/form-controls/radio/upd-radio.module.mjs +0 -32
  362. package/esm2022/form-controls/radio/updevs-components-form-controls-radio.mjs +0 -5
  363. package/esm2022/form-controls/select/components/multiple/select-multiple.component.mjs +0 -76
  364. package/esm2022/form-controls/select/components/single/select.component.mjs +0 -72
  365. package/esm2022/form-controls/select/index.mjs +0 -2
  366. package/esm2022/form-controls/select/models/abstractions/base-select.component.mjs +0 -221
  367. package/esm2022/form-controls/select/models/defaults.mjs +0 -8
  368. package/esm2022/form-controls/select/models/public-api.mjs +0 -3
  369. package/esm2022/form-controls/select/models/select-item.mjs +0 -2
  370. package/esm2022/form-controls/select/public-api.mjs +0 -5
  371. package/esm2022/form-controls/select/upd-select.module.mjs +0 -57
  372. package/esm2022/form-controls/select/updevs-components-form-controls-select.mjs +0 -5
  373. package/esm2022/form-controls/textarea/index.mjs +0 -2
  374. package/esm2022/form-controls/textarea/public-api.mjs +0 -3
  375. package/esm2022/form-controls/textarea/textarea.component.mjs +0 -46
  376. package/esm2022/form-controls/textarea/upd-textarea.module.mjs +0 -24
  377. package/esm2022/form-controls/textarea/updevs-components-form-controls-textarea.mjs +0 -5
  378. package/esm2022/form-controls/time-picker/assets/i18n/en.json +0 -5
  379. package/esm2022/form-controls/time-picker/assets/i18n/pt.json +0 -5
  380. package/esm2022/form-controls/time-picker/index.mjs +0 -2
  381. package/esm2022/form-controls/time-picker/public-api.mjs +0 -4
  382. package/esm2022/form-controls/time-picker/time-picker.component.mjs +0 -130
  383. package/esm2022/form-controls/time-picker/time-selector/time-selector.component.mjs +0 -124
  384. package/esm2022/form-controls/time-picker/upd-time-picker.module.mjs +0 -60
  385. package/esm2022/form-controls/time-picker/updevs-components-form-controls-time-picker.mjs +0 -5
  386. package/esm2022/index.mjs +0 -2
  387. package/esm2022/layout/abstractions/base-page.component.mjs +0 -23
  388. package/esm2022/layout/abstractions/base.layout.mjs +0 -31
  389. package/esm2022/layout/abstractions/public-api.mjs +0 -2
  390. package/esm2022/layout/assets/i18n/en.json +0 -20
  391. package/esm2022/layout/assets/i18n/pt.json +0 -20
  392. package/esm2022/layout/index.mjs +0 -2
  393. package/esm2022/layout/layouts/blank-layout/blank-layout.component.mjs +0 -11
  394. package/esm2022/layout/layouts/blank-layout/blank-layout.module.mjs +0 -24
  395. package/esm2022/layout/layouts/public-api.mjs +0 -5
  396. package/esm2022/layout/layouts/vertical-sidebar-layout/vertical-sidebar-layout.component.mjs +0 -31
  397. package/esm2022/layout/layouts/vertical-sidebar-layout/vertical-sidebar-layout.module.mjs +0 -80
  398. package/esm2022/layout/models/login-page-config.model.mjs +0 -20
  399. package/esm2022/layout/models/login-page.config.mjs +0 -2
  400. package/esm2022/layout/models/public-api.mjs +0 -3
  401. package/esm2022/layout/models/security-layout-config.model.mjs +0 -10
  402. package/esm2022/layout/models/security-layout.config.mjs +0 -2
  403. package/esm2022/layout/models/upd-layout-config.model.mjs +0 -24
  404. package/esm2022/layout/models/upd-layout.config.mjs +0 -2
  405. package/esm2022/layout/pages/auth-flow/auth-flow-routing.module.mjs +0 -28
  406. package/esm2022/layout/pages/auth-flow/auth-flow.module.mjs +0 -65
  407. package/esm2022/layout/pages/auth-flow/logged-out/logged-out.component.mjs +0 -11
  408. package/esm2022/layout/pages/auth-flow/login/login.component.mjs +0 -99
  409. package/esm2022/layout/pages/auth-flow/oauth-callback/oauth-callback.component.mjs +0 -11
  410. package/esm2022/layout/pages/auth-flow/public-api.mjs +0 -6
  411. package/esm2022/layout/pages/public-api.mjs +0 -2
  412. package/esm2022/layout/partials/footer/footer-copyright.directive.mjs +0 -13
  413. package/esm2022/layout/partials/footer/footer.component.mjs +0 -55
  414. package/esm2022/layout/partials/footer/public-api.mjs +0 -3
  415. package/esm2022/layout/partials/header/header-style.type.mjs +0 -2
  416. package/esm2022/layout/partials/header/header.component.mjs +0 -77
  417. package/esm2022/layout/partials/header/public-api.mjs +0 -3
  418. package/esm2022/layout/partials/page-header/page-header.component.mjs +0 -15
  419. package/esm2022/layout/partials/page-header/public-api.mjs +0 -2
  420. package/esm2022/layout/partials/public-api.mjs +0 -5
  421. package/esm2022/layout/partials/sidebar/public-api.mjs +0 -2
  422. package/esm2022/layout/partials/sidebar/sidebar.component.mjs +0 -112
  423. package/esm2022/layout/public-api.mjs +0 -8
  424. package/esm2022/layout/services/public-api.mjs +0 -2
  425. package/esm2022/layout/services/upd-layout-config.service.mjs +0 -21
  426. package/esm2022/layout/tools/layout.constants.mjs +0 -15
  427. package/esm2022/layout/upd-layout.module.mjs +0 -43
  428. package/esm2022/layout/updevs-components-layout.mjs +0 -5
  429. package/esm2022/lib/index.mjs +0 -2
  430. package/esm2022/lib/models/public-api.mjs +0 -2
  431. package/esm2022/lib/models/row-column-size.mjs +0 -2
  432. package/esm2022/lib/public-api.mjs +0 -5
  433. package/esm2022/lib/tools/column-size.helper.mjs +0 -12
  434. package/esm2022/lib/tools/public-api.mjs +0 -2
  435. package/esm2022/lib/types/component-size.type.mjs +0 -2
  436. package/esm2022/lib/types/horizontal-vertical.type.mjs +0 -2
  437. package/esm2022/lib/types/public-api.mjs +0 -4
  438. package/esm2022/lib/types/validation-status.type.mjs +0 -2
  439. package/esm2022/lib/upd-components.module.mjs +0 -14
  440. package/esm2022/link/index.mjs +0 -2
  441. package/esm2022/link/link.component.mjs +0 -51
  442. package/esm2022/link/public-api.mjs +0 -4
  443. package/esm2022/link/target.type.mjs +0 -2
  444. package/esm2022/link/upd-link.module.mjs +0 -24
  445. package/esm2022/link/updevs-components-link.mjs +0 -5
  446. package/esm2022/list/assets/i18n/en.json +0 -9
  447. package/esm2022/list/assets/i18n/pt.json +0 -9
  448. package/esm2022/list/index.mjs +0 -2
  449. package/esm2022/list/list.component.mjs +0 -113
  450. package/esm2022/list/models/badge-position.type.mjs +0 -2
  451. package/esm2022/list/models/list-item.mjs +0 -2
  452. package/esm2022/list/models/list-item.model.mjs +0 -15
  453. package/esm2022/list/models/public-api.mjs +0 -3
  454. package/esm2022/list/public-api.mjs +0 -4
  455. package/esm2022/list/upd-list.module.mjs +0 -43
  456. package/esm2022/list/updevs-components-list.mjs +0 -5
  457. package/esm2022/modal/assets/i18n/en.json +0 -17
  458. package/esm2022/modal/assets/i18n/pt.json +0 -17
  459. package/esm2022/modal/components/modal-container/modal-container.component.mjs +0 -216
  460. package/esm2022/modal/index.mjs +0 -2
  461. package/esm2022/modal/models/base.modal.mjs +0 -14
  462. package/esm2022/modal/models/modal-config.model.mjs +0 -20
  463. package/esm2022/modal/models/modal-ref.mjs +0 -2
  464. package/esm2022/modal/models/modal.config.mjs +0 -2
  465. package/esm2022/modal/models/public-api.mjs +0 -4
  466. package/esm2022/modal/public-api.mjs +0 -4
  467. package/esm2022/modal/services/modal-alert.service.mjs +0 -99
  468. package/esm2022/modal/services/modal.service.mjs +0 -30
  469. package/esm2022/modal/services/public-api.mjs +0 -3
  470. package/esm2022/modal/types/modal-footer-style.type.mjs +0 -2
  471. package/esm2022/modal/types/modal-size.type.mjs +0 -2
  472. package/esm2022/modal/upd-modal.module.mjs +0 -89
  473. package/esm2022/modal/updevs-components-modal.mjs +0 -5
  474. package/esm2022/paginator/assets/i18n/en.json +0 -15
  475. package/esm2022/paginator/assets/i18n/pt.json +0 -15
  476. package/esm2022/paginator/index.mjs +0 -2
  477. package/esm2022/paginator/paginator.component.mjs +0 -66
  478. package/esm2022/paginator/public-api.mjs +0 -3
  479. package/esm2022/paginator/upd-paginator.module.mjs +0 -46
  480. package/esm2022/paginator/updevs-components-paginator.mjs +0 -5
  481. package/esm2022/popover/index.mjs +0 -2
  482. package/esm2022/popover/popover.component.mjs +0 -65
  483. package/esm2022/popover/popover.directive.mjs +0 -129
  484. package/esm2022/popover/public-api.mjs +0 -4
  485. package/esm2022/popover/upd-popover.module.mjs +0 -29
  486. package/esm2022/popover/updevs-components-popover.mjs +0 -5
  487. package/esm2022/public-api.mjs +0 -2
  488. package/esm2022/table/abstractions/base-column.model.mjs +0 -52
  489. package/esm2022/table/abstractions/base.column.mjs +0 -98
  490. package/esm2022/table/abstractions/filters-operands.service.mjs +0 -3
  491. package/esm2022/table/abstractions/public-api.mjs +0 -3
  492. package/esm2022/table/assets/i18n/en.json +0 -74
  493. package/esm2022/table/assets/i18n/pt.json +0 -74
  494. package/esm2022/table/components/columns/boolean-column/boolean-column.component.mjs +0 -26
  495. package/esm2022/table/components/columns/date-time-column/date-time-column.component.mjs +0 -13
  496. package/esm2022/table/components/columns/number-column/number-column.component.mjs +0 -13
  497. package/esm2022/table/components/columns/text-column/text-column.component.mjs +0 -31
  498. package/esm2022/table/components/columns-manager/columns-manager.component.mjs +0 -36
  499. package/esm2022/table/components/filter-row/filter-row.component.mjs +0 -114
  500. package/esm2022/table/components/save-search/save-search.component.mjs +0 -72
  501. package/esm2022/table/components/search-section/search-section.component.mjs +0 -93
  502. package/esm2022/table/directives/public-api.mjs +0 -2
  503. package/esm2022/table/directives/table-column.directive.mjs +0 -51
  504. package/esm2022/table/index.mjs +0 -2
  505. package/esm2022/table/models/columns/boolean-column.model.mjs +0 -22
  506. package/esm2022/table/models/columns/date-time-column.model.mjs +0 -16
  507. package/esm2022/table/models/columns/guid-column.model.mjs +0 -13
  508. package/esm2022/table/models/columns/image-column.model.mjs +0 -11
  509. package/esm2022/table/models/columns/number-column.model.mjs +0 -17
  510. package/esm2022/table/models/columns/public-api.mjs +0 -7
  511. package/esm2022/table/models/columns/text-column.model.mjs +0 -11
  512. package/esm2022/table/models/enums/column-type.enum.mjs +0 -15
  513. package/esm2022/table/models/enums/public-api.mjs +0 -2
  514. package/esm2022/table/models/filter-item.model.mjs +0 -2
  515. package/esm2022/table/models/filter-operand.config.mjs +0 -2
  516. package/esm2022/table/models/operands-lists/boolean-filter-operands-list.model.mjs +0 -25
  517. package/esm2022/table/models/operands-lists/date-filter-operands-list.model.mjs +0 -25
  518. package/esm2022/table/models/operands-lists/date-or-number-operands-list.config.mjs +0 -31
  519. package/esm2022/table/models/operands-lists/filter-operands-list.config.mjs +0 -31
  520. package/esm2022/table/models/operands-lists/guid-filter-operands-list.model.mjs +0 -16
  521. package/esm2022/table/models/operands-lists/number-filter-operands-list.model.mjs +0 -25
  522. package/esm2022/table/models/operands-lists/string-filter-operands-list.model.mjs +0 -45
  523. package/esm2022/table/models/public-api.mjs +0 -5
  524. package/esm2022/table/models/saved-view.model.mjs +0 -2
  525. package/esm2022/table/models/table-config.model.mjs +0 -21
  526. package/esm2022/table/models/table.config.mjs +0 -2
  527. package/esm2022/table/models/upd-table-config.model.mjs +0 -9
  528. package/esm2022/table/models/upd-table.config.mjs +0 -2
  529. package/esm2022/table/public-api.mjs +0 -6
  530. package/esm2022/table/services/default-filters-operands.service.mjs +0 -60
  531. package/esm2022/table/services/storages/saved-views.storage.mjs +0 -63
  532. package/esm2022/table/services/stores/filters-operands.store.mjs +0 -19
  533. package/esm2022/table/services/upd-table-config.service.mjs +0 -18
  534. package/esm2022/table/table.component.mjs +0 -382
  535. package/esm2022/table/tools/filters.tools.mjs +0 -48
  536. package/esm2022/table/tools/table.constants.mjs +0 -15
  537. package/esm2022/table/upd-table.module.mjs +0 -149
  538. package/esm2022/table/updevs-components-table.mjs +0 -5
  539. package/esm2022/updevs-components.mjs +0 -5
  540. package/form/components/dynamic-field/dynamic-field.component.d.ts +0 -45
  541. package/form/form.component.d.ts +0 -60
  542. package/form/index.d.ts +0 -1
  543. package/form/models/checkbox-field.model.d.ts +0 -4
  544. package/form/models/checkbox-group-field.model.d.ts +0 -6
  545. package/form/models/dynamic-field.model.d.ts +0 -30
  546. package/form/models/enums/dynamic-field.type.d.ts +0 -12
  547. package/form/models/enums/public-api.d.ts +0 -1
  548. package/form/models/form-row.model.d.ts +0 -8
  549. package/form/models/public-api.d.ts +0 -5
  550. package/form/models/radio-field.model.d.ts +0 -4
  551. package/form/models/radio-group-field.model.d.ts +0 -6
  552. package/form/models/select-field.model.d.ts +0 -28
  553. package/form/models/single-select-field.model.d.ts +0 -4
  554. package/form/models/textarea-field.model.d.ts +0 -10
  555. package/form/models/validator-config.d.ts +0 -5
  556. package/form/public-api.d.ts +0 -3
  557. package/form/tools/errors-helper.d.ts +0 -11
  558. package/form/upd-form.module.d.ts +0 -20
  559. package/form-controls/abstractions/base-control.d.ts +0 -24
  560. package/form-controls/abstractions/index.d.ts +0 -2
  561. package/form-controls/abstractions/public-api.d.ts +0 -2
  562. package/form-controls/checkbox/checkbox.component.d.ts +0 -21
  563. package/form-controls/checkbox/index.d.ts +0 -1
  564. package/form-controls/checkbox/public-api.d.ts +0 -2
  565. package/form-controls/checkbox/upd-checkbox.module.d.ts +0 -10
  566. package/form-controls/date-picker/date-picker.component.d.ts +0 -87
  567. package/form-controls/date-picker/index.d.ts +0 -1
  568. package/form-controls/date-picker/public-api.d.ts +0 -2
  569. package/form-controls/date-picker/upd-date-picker.module.d.ts +0 -12
  570. package/form-controls/input/directives/input-append.directive.d.ts +0 -7
  571. package/form-controls/input/directives/input-prepend.directive.d.ts +0 -7
  572. package/form-controls/input/directives/public-api.d.ts +0 -2
  573. package/form-controls/input/index.d.ts +0 -1
  574. package/form-controls/input/input.component.d.ts +0 -66
  575. package/form-controls/input/public-api.d.ts +0 -4
  576. package/form-controls/input/types/input.type.d.ts +0 -1
  577. package/form-controls/input/types/loader-position.type.d.ts +0 -1
  578. package/form-controls/input/types/public-api.d.ts +0 -2
  579. package/form-controls/input/upd-input.module.d.ts +0 -13
  580. package/form-controls/radio/index.d.ts +0 -1
  581. package/form-controls/radio/public-api.d.ts +0 -2
  582. package/form-controls/radio/radio.component.d.ts +0 -19
  583. package/form-controls/radio/upd-radio.module.d.ts +0 -10
  584. package/form-controls/select/components/multiple/select-multiple.component.d.ts +0 -25
  585. package/form-controls/select/components/single/select.component.d.ts +0 -26
  586. package/form-controls/select/index.d.ts +0 -1
  587. package/form-controls/select/models/abstractions/base-select.component.d.ts +0 -83
  588. package/form-controls/select/models/defaults.d.ts +0 -8
  589. package/form-controls/select/models/public-api.d.ts +0 -2
  590. package/form-controls/select/models/select-item.d.ts +0 -25
  591. package/form-controls/select/public-api.d.ts +0 -4
  592. package/form-controls/select/upd-select.module.d.ts +0 -16
  593. package/form-controls/textarea/index.d.ts +0 -1
  594. package/form-controls/textarea/public-api.d.ts +0 -2
  595. package/form-controls/textarea/textarea.component.d.ts +0 -21
  596. package/form-controls/textarea/upd-textarea.module.d.ts +0 -8
  597. package/form-controls/time-picker/index.d.ts +0 -1
  598. package/form-controls/time-picker/public-api.d.ts +0 -3
  599. package/form-controls/time-picker/time-picker.component.d.ts +0 -78
  600. package/form-controls/time-picker/time-selector/time-selector.component.d.ts +0 -69
  601. package/form-controls/time-picker/upd-time-picker.module.d.ts +0 -17
  602. package/index.d.ts +0 -2
  603. package/layout/abstractions/base-page.component.d.ts +0 -12
  604. package/layout/abstractions/base.layout.d.ts +0 -15
  605. package/layout/abstractions/public-api.d.ts +0 -1
  606. package/layout/index.d.ts +0 -1
  607. package/layout/layouts/blank-layout/blank-layout.component.d.ts +0 -5
  608. package/layout/layouts/blank-layout/blank-layout.module.d.ts +0 -8
  609. package/layout/layouts/public-api.d.ts +0 -4
  610. package/layout/layouts/vertical-sidebar-layout/vertical-sidebar-layout.component.d.ts +0 -12
  611. package/layout/layouts/vertical-sidebar-layout/vertical-sidebar-layout.module.d.ts +0 -21
  612. package/layout/models/login-page-config.model.d.ts +0 -37
  613. package/layout/models/login-page.config.d.ts +0 -35
  614. package/layout/models/public-api.d.ts +0 -2
  615. package/layout/models/security-layout-config.model.d.ts +0 -12
  616. package/layout/models/security-layout.config.d.ts +0 -10
  617. package/layout/models/upd-layout-config.model.d.ts +0 -48
  618. package/layout/models/upd-layout.config.d.ts +0 -46
  619. package/layout/pages/auth-flow/auth-flow-routing.module.d.ts +0 -12
  620. package/layout/pages/auth-flow/auth-flow.module.d.ts +0 -18
  621. package/layout/pages/auth-flow/logged-out/logged-out.component.d.ts +0 -5
  622. package/layout/pages/auth-flow/login/login.component.d.ts +0 -23
  623. package/layout/pages/auth-flow/oauth-callback/oauth-callback.component.d.ts +0 -5
  624. package/layout/pages/auth-flow/public-api.d.ts +0 -5
  625. package/layout/pages/public-api.d.ts +0 -1
  626. package/layout/partials/footer/footer-copyright.directive.d.ts +0 -5
  627. package/layout/partials/footer/footer.component.d.ts +0 -34
  628. package/layout/partials/footer/public-api.d.ts +0 -2
  629. package/layout/partials/header/header-style.type.d.ts +0 -1
  630. package/layout/partials/header/header.component.d.ts +0 -31
  631. package/layout/partials/header/public-api.d.ts +0 -2
  632. package/layout/partials/page-header/page-header.component.d.ts +0 -7
  633. package/layout/partials/page-header/public-api.d.ts +0 -1
  634. package/layout/partials/public-api.d.ts +0 -4
  635. package/layout/partials/sidebar/public-api.d.ts +0 -1
  636. package/layout/partials/sidebar/sidebar.component.d.ts +0 -22
  637. package/layout/public-api.d.ts +0 -7
  638. package/layout/services/public-api.d.ts +0 -1
  639. package/layout/services/upd-layout-config.service.d.ts +0 -15
  640. package/layout/tools/layout.constants.d.ts +0 -15
  641. package/layout/upd-layout.module.d.ts +0 -18
  642. package/lib/index.d.ts +0 -2
  643. package/lib/models/public-api.d.ts +0 -2
  644. package/lib/models/row-column-size.d.ts +0 -6
  645. package/lib/public-api.d.ts +0 -5
  646. package/lib/tools/column-size.helper.d.ts +0 -6
  647. package/lib/tools/public-api.d.ts +0 -2
  648. package/lib/types/component-size.type.d.ts +0 -2
  649. package/lib/types/horizontal-vertical.type.d.ts +0 -2
  650. package/lib/types/public-api.d.ts +0 -4
  651. package/lib/types/validation-status.type.d.ts +0 -2
  652. package/lib/upd-components.module.d.ts +0 -7
  653. package/link/index.d.ts +0 -1
  654. package/link/public-api.d.ts +0 -3
  655. package/link/target.type.d.ts +0 -1
  656. package/link/upd-link.module.d.ts +0 -8
  657. package/list/index.d.ts +0 -1
  658. package/list/list.component.d.ts +0 -46
  659. package/list/models/badge-position.type.d.ts +0 -1
  660. package/list/models/list-item.d.ts +0 -20
  661. package/list/models/list-item.model.d.ts +0 -25
  662. package/list/models/public-api.d.ts +0 -2
  663. package/list/public-api.d.ts +0 -3
  664. package/list/upd-list.module.d.ts +0 -13
  665. package/modal/components/modal-container/modal-container.component.d.ts +0 -74
  666. package/modal/index.d.ts +0 -1
  667. package/modal/models/base.modal.d.ts +0 -8
  668. package/modal/models/modal-config.model.d.ts +0 -32
  669. package/modal/models/modal-ref.d.ts +0 -6
  670. package/modal/models/modal.config.d.ts +0 -30
  671. package/modal/models/public-api.d.ts +0 -3
  672. package/modal/public-api.d.ts +0 -3
  673. package/modal/services/modal-alert.service.d.ts +0 -22
  674. package/modal/services/modal.service.d.ts +0 -12
  675. package/modal/services/public-api.d.ts +0 -2
  676. package/modal/types/modal-footer-style.type.d.ts +0 -1
  677. package/modal/types/modal-size.type.d.ts +0 -1
  678. package/modal/upd-modal.module.d.ts +0 -18
  679. package/paginator/index.d.ts +0 -1
  680. package/paginator/paginator.component.d.ts +0 -42
  681. package/paginator/public-api.d.ts +0 -2
  682. package/paginator/upd-paginator.module.d.ts +0 -14
  683. package/popover/index.d.ts +0 -1
  684. package/popover/popover.component.d.ts +0 -22
  685. package/popover/popover.directive.d.ts +0 -33
  686. package/popover/public-api.d.ts +0 -3
  687. package/popover/upd-popover.module.d.ts +0 -9
  688. package/public-api.d.ts +0 -2
  689. package/table/abstractions/base-column.model.d.ts +0 -31
  690. package/table/abstractions/base.column.d.ts +0 -22
  691. package/table/abstractions/filters-operands.service.d.ts +0 -8
  692. package/table/abstractions/public-api.d.ts +0 -2
  693. package/table/components/columns/boolean-column/boolean-column.component.d.ts +0 -9
  694. package/table/components/columns/date-time-column/date-time-column.component.d.ts +0 -7
  695. package/table/components/columns/number-column/number-column.component.d.ts +0 -7
  696. package/table/components/columns/text-column/text-column.component.d.ts +0 -9
  697. package/table/components/columns-manager/columns-manager.component.d.ts +0 -15
  698. package/table/components/filter-row/filter-row.component.d.ts +0 -40
  699. package/table/components/save-search/save-search.component.d.ts +0 -17
  700. package/table/components/search-section/search-section.component.d.ts +0 -36
  701. package/table/directives/public-api.d.ts +0 -1
  702. package/table/directives/table-column.directive.d.ts +0 -14
  703. package/table/index.d.ts +0 -1
  704. package/table/models/columns/boolean-column.model.d.ts +0 -15
  705. package/table/models/columns/date-time-column.model.d.ts +0 -8
  706. package/table/models/columns/guid-column.model.d.ts +0 -4
  707. package/table/models/columns/image-column.model.d.ts +0 -6
  708. package/table/models/columns/number-column.model.d.ts +0 -8
  709. package/table/models/columns/public-api.d.ts +0 -6
  710. package/table/models/columns/text-column.model.d.ts +0 -6
  711. package/table/models/enums/column-type.enum.d.ts +0 -13
  712. package/table/models/enums/public-api.d.ts +0 -1
  713. package/table/models/filter-item.model.d.ts +0 -6
  714. package/table/models/filter-operand.config.d.ts +0 -9
  715. package/table/models/operands-lists/boolean-filter-operands-list.model.d.ts +0 -6
  716. package/table/models/operands-lists/date-filter-operands-list.model.d.ts +0 -6
  717. package/table/models/operands-lists/date-or-number-operands-list.config.d.ts +0 -5
  718. package/table/models/operands-lists/filter-operands-list.config.d.ts +0 -5
  719. package/table/models/operands-lists/guid-filter-operands-list.model.d.ts +0 -6
  720. package/table/models/operands-lists/number-filter-operands-list.model.d.ts +0 -6
  721. package/table/models/operands-lists/string-filter-operands-list.model.d.ts +0 -6
  722. package/table/models/public-api.d.ts +0 -4
  723. package/table/models/saved-view.model.d.ts +0 -11
  724. package/table/models/table-config.model.d.ts +0 -24
  725. package/table/models/table.config.d.ts +0 -22
  726. package/table/models/upd-table-config.model.d.ts +0 -6
  727. package/table/models/upd-table.config.d.ts +0 -6
  728. package/table/public-api.d.ts +0 -5
  729. package/table/services/default-filters-operands.service.d.ts +0 -17
  730. package/table/services/storages/saved-views.storage.d.ts +0 -22
  731. package/table/services/stores/filters-operands.store.d.ts +0 -11
  732. package/table/services/upd-table-config.service.d.ts +0 -12
  733. package/table/table.component.d.ts +0 -78
  734. package/table/tools/filters.tools.d.ts +0 -9
  735. package/table/tools/table.constants.d.ts +0 -15
  736. package/table/upd-table.module.d.ts +0 -40
@@ -1,182 +0,0 @@
1
- import { Component, HostBinding, ViewEncapsulation, Input, Output, EventEmitter, NgZone, ElementRef, Renderer2, RendererStyleFlags2, inject, input } from '@angular/core';
2
- import { BaseComponent, PositioningService, DomEventsService } from '@updevs/sdk/layout';
3
- import { TextService } from '@updevs/sdk';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/common";
6
- import * as i2 from "@updevs/icons";
7
- import * as i3 from "@updevs/components/form-controls/radio";
8
- import * as i4 from "@updevs/components/form-controls/checkbox";
9
- import * as i5 from "@updevs/components/button";
10
- export class DropdownComponent extends BaseComponent {
11
- set isOpen(value) {
12
- this.updateOpenState(value);
13
- if (this.shouldCloseOnOutsideClick) {
14
- this.closeOnOutsideClick();
15
- }
16
- }
17
- get isOpen() {
18
- return this._isOpen;
19
- }
20
- get overflowClass() {
21
- switch (this.textOverflowStrategy()) {
22
- case 'no-wrap':
23
- return 'text-nowrap';
24
- case 'wrap':
25
- return 'text-wrap';
26
- case 'word-break':
27
- return 'text-break';
28
- default:
29
- return 'text-truncate';
30
- }
31
- }
32
- constructor() {
33
- super();
34
- this.localWrapperClasses = '';
35
- this.items = [];
36
- this.shouldCloseOnOutsideClick = false;
37
- this.wrapperClasses = '';
38
- /**
39
- * If a reference is provided, this will be the position of the dropdown in relation to that reference.
40
- */
41
- this.dropdownReferencePosition = 'bottom';
42
- this.isOpenChange = new EventEmitter();
43
- this.selectedItem = new EventEmitter();
44
- this.checkboxChanged = new EventEmitter();
45
- this.textOverflowStrategy = input('wrap');
46
- this.textService = inject(TextService);
47
- this.baseWrapperClasses = 'dropdown-menu';
48
- this._isOpen = false;
49
- this.ngZone = inject(NgZone);
50
- this.elementRef = inject(ElementRef);
51
- this.renderer = inject(Renderer2);
52
- this.positioningService = inject(PositioningService);
53
- this.domEventsService = inject(DomEventsService);
54
- this.dropdownElement = this.elementRef.nativeElement;
55
- }
56
- ngOnInit() {
57
- this.updateStyle();
58
- }
59
- ngOnChanges() {
60
- this.updateStyle();
61
- }
62
- onSelect(item) {
63
- this.selectedItem.emit(item);
64
- }
65
- onCheckboxChange(item, isChecked) {
66
- item.isChecked = isChecked;
67
- this.checkboxChanged.emit(item);
68
- }
69
- adaptAction(btn, item) {
70
- const defaultFunction = btn.clickFunction;
71
- btn.clickFunction = (evt) => {
72
- evt.event?.preventDefault();
73
- evt.event?.stopPropagation();
74
- if (!!defaultFunction) {
75
- defaultFunction({ event: evt.event, data: { item, button: btn } });
76
- }
77
- };
78
- return btn;
79
- }
80
- closeOnOutsideClick() {
81
- const excludedElements = [];
82
- if (!!this.dropdownReference) {
83
- excludedElements.push(this.dropdownReference.nativeElement);
84
- }
85
- const outsideClickSub = this.domEventsService.startOutsideClickListener(() => this.ngZone.run(() => {
86
- this.updateOpenState(false);
87
- this.ngZone.run(() => this.updateWrapperClasses());
88
- }), this.dropdownElement, true, ...excludedElements);
89
- this.addSubscriptions(outsideClickSub);
90
- }
91
- updateStyle() {
92
- this.updateWrapperClasses();
93
- this.updateMaxHeight();
94
- this.startPositionUpdate();
95
- }
96
- updateWrapperClasses() {
97
- this.localWrapperClasses = this.baseWrapperClasses + ' ' + this.wrapperClasses;
98
- if (this.isOpen) {
99
- this.localWrapperClasses += ' dropdown-show';
100
- }
101
- if (!!this.arrowType) {
102
- this.localWrapperClasses += ' dropdown-menu-arrow' + (this.arrowType === 'right' ? ' dropdown-menu-end' : '');
103
- }
104
- if (!!this.maxHeight) {
105
- this.localWrapperClasses += ' dropdown-overflow';
106
- }
107
- }
108
- updateOpenState(isOpen) {
109
- this._isOpen = isOpen;
110
- this.isOpenChange.emit(isOpen);
111
- }
112
- updateMaxHeight() {
113
- this.renderer.setStyle(this.dropdownElement, 'max-height', `${this.maxHeight}px`, RendererStyleFlags2.Important);
114
- }
115
- startPositionUpdate() {
116
- if (!this.dropdownReference) {
117
- return;
118
- }
119
- this.ngZone.runOutsideAngular(() => this.positioningService
120
- .computePosition(this.dropdownReference, this.elementRef, { placement: this.dropdownReferencePosition })
121
- .subscribe(resp => this.updatePosition(resp)));
122
- }
123
- updatePosition(result) {
124
- const reference = this.dropdownReference.nativeElement.getBoundingClientRect();
125
- const ddElement = this.dropdownElement;
126
- const width = Math.abs(reference.width);
127
- let widthOffset = 0;
128
- if (!!this.maxWidth) {
129
- this.renderer.setStyle(ddElement, 'max-width', `${this.maxWidth}px`, RendererStyleFlags2.Important);
130
- }
131
- if (!!this.minWidth) {
132
- this.renderer.setStyle(ddElement, 'min-width', `${this.minWidth}px`, RendererStyleFlags2.Important);
133
- widthOffset = (this.minWidth > width ? this.minWidth - width : 0) / 2;
134
- }
135
- this.renderer.setStyle(ddElement, 'position', result.strategy, RendererStyleFlags2.Important);
136
- this.renderer.setStyle(ddElement, 'width', `${width}px`, RendererStyleFlags2.Important);
137
- this.renderer.setStyle(ddElement, 'left', `${result.x - widthOffset}px`, RendererStyleFlags2.Important);
138
- this.renderer.setStyle(ddElement, 'top', `${result.y}px`, RendererStyleFlags2.Important);
139
- }
140
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: DropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
141
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: DropdownComponent, selector: "upd-dropdown", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: false, isRequired: false, transformFunction: null }, header: { classPropertyName: "header", publicName: "header", isSignal: false, isRequired: false, transformFunction: null }, isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: false, isRequired: false, transformFunction: null }, shouldCloseOnOutsideClick: { classPropertyName: "shouldCloseOnOutsideClick", publicName: "shouldCloseOnOutsideClick", isSignal: false, isRequired: false, transformFunction: null }, arrowType: { classPropertyName: "arrowType", publicName: "arrowType", isSignal: false, isRequired: false, transformFunction: null }, wrapperClasses: { classPropertyName: "wrapperClasses", publicName: "wrapperClasses", isSignal: false, isRequired: false, transformFunction: null }, elementsExcludedFromOutsideClick: { classPropertyName: "elementsExcludedFromOutsideClick", publicName: "elementsExcludedFromOutsideClick", isSignal: false, isRequired: false, transformFunction: null }, minHeight: { classPropertyName: "minHeight", publicName: "minHeight", isSignal: false, isRequired: false, transformFunction: null }, maxHeight: { classPropertyName: "maxHeight", publicName: "maxHeight", isSignal: false, isRequired: false, transformFunction: null }, minWidth: { classPropertyName: "minWidth", publicName: "minWidth", isSignal: false, isRequired: false, transformFunction: null }, maxWidth: { classPropertyName: "maxWidth", publicName: "maxWidth", isSignal: false, isRequired: false, transformFunction: null }, dropdownReference: { classPropertyName: "dropdownReference", publicName: "dropdownReference", isSignal: false, isRequired: false, transformFunction: null }, dropdownReferencePosition: { classPropertyName: "dropdownReferencePosition", publicName: "dropdownReferencePosition", isSignal: false, isRequired: false, transformFunction: null }, textOverflowStrategy: { classPropertyName: "textOverflowStrategy", publicName: "textOverflowStrategy", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isOpenChange: "isOpenChange", selectedItem: "selectedItem", checkboxChanged: "checkboxChanged" }, host: { properties: { "class": "this.localWrapperClasses" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@if (!!header) {\n <h6 class=\"dropdown-header\">{{ header }}</h6>\n}\n\n@for (item of items; track item) {\n @switch (item.type) {\n @case ('divider') {\n <div class=\"dropdown-divider\"></div>\n }\n @case ('default') {\n <upd-button [customClasses]=\"'dropdown-item' + (item.isDisabled ? ' disabled' : '') + (item.isActive ? ' active' : '')\"\n [shouldIgnoreBtnClass]=\"true\" (clicked)=\"onSelect(item)\">\n @if (!!item.icon) {\n <upd-icon [model]=\"item.icon\" customClasses=\"dropdown-item-icon\"></upd-icon>\n }\n\n @if (!!item.leftBoxText || !!item.leftBoxImage) {\n <span style=\"background-image: url({{item.leftBoxImage}})\"\n class=\"avatar avatar-xs rounded me-2\">{{ item.leftBoxText }}</span>\n }\n\n {{ textService.getText(item.text) }}\n\n @if (!!item.badgeColor) {\n <span class=\"badge bg-{{item.badgeColor}} ms-auto\">{{ item.badgeText }}</span>\n }\n </upd-button>\n }\n @case ('radio') {\n <upd-radio (selected)=\"onSelect(item)\" [label]=\"item.text\" [isChecked]=\"item.isChecked || false\"\n [wrapperClasses]=\"'dropdown-item' + (item.isDisabled ? ' disabled' : '') + (item.isActive ? ' active' : '')\"></upd-radio>\n }\n @case ('checkbox') {\n <upd-checkbox (changed)=\"onCheckboxChange(item, $event)\" [label]=\"item.text\" [isChecked]=\"item.isChecked || false\"\n [isSwitch]=\"item.isSwitch || false\"\n [wrapperClasses]=\"'dropdown-item' + (item.isDisabled ? ' disabled' : '') + (item.isActive ? ' active' : '')\"></upd-checkbox>\n }\n @case ('with-toolbar') {\n <div class=\"dropdown-item\" [class.disabled]=\"item.isDisabled\" [class.active]=\"item.isActive\" (click)=\"onSelect(item)\">\n @if (!!item.icon) {\n <upd-icon [model]=\"item.icon\" customClasses=\"dropdown-item-icon\"></upd-icon>\n }\n\n @if (!!item.leftBoxText || !!item.leftBoxImage) {\n <span style=\"background-image: url({{item.leftBoxImage}})\"\n class=\"avatar avatar-xs rounded me-2\">{{ item.leftBoxText }}</span>\n }\n\n <span [ngClass]=\"overflowClass\">\n {{ textService.getText(item.text) }}\n </span>\n\n @if ((item.actionButtons?.length || 0) > 0) {\n <div class=\"ms-auto d-flex\" [class.btn-group]=\"item.toolbarType === 'grouped'\"\n [class.gap-1]=\"item.toolbarType === 'spaced'\">\n @for (btn of item.actionButtons; track btn) {\n <upd-button [model]=\"adaptAction(btn, item)\"></upd-button>\n }\n </div>\n }\n\n @if (!!item.badgeColor) {\n <span class=\"badge bg-{{item.badgeColor}} ms-auto\">{{ item.badgeText }}</span>\n }\n </div>\n }\n }\n}\n\n<ng-content></ng-content>\n", styles: [".dropdown-show{display:inline-block!important;width:100%!important;position:relative;top:0!important;margin-bottom:1rem!important}.dropdown-item>.form-check{margin-bottom:0!important}.dropdown-item{cursor:pointer!important}.dropdown-overflow{overflow-y:auto!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.IconComponent, selector: "upd-icon", inputs: ["model", "wrapperClasses", "color", "colorClass", "removeDefaultClasses", "customClasses", "tablerIcon", "tablerIconWeight", "tablerIconType", "tablerIconSize", "heroIcon", "heroIconSize", "heroIconType"] }, { kind: "component", type: i3.RadioComponent, selector: "upd-radio", inputs: ["wrapperClasses", "value", "customClasses", "name", "isDisabled", "isChecked", "isInline"], outputs: ["selected"] }, { kind: "component", type: i4.CheckboxComponent, selector: "upd-checkbox", inputs: ["wrapperClasses", "value", "customClasses", "name", "isDisabled", "isChecked", "isInline", "isSwitch", "isIndeterminate"], outputs: ["changed", "isCheckedChange", "isIndeterminateChange"] }, { kind: "component", type: i5.ButtonComponent, selector: "upd-button", inputs: ["model", "text", "brandColorStyle", "customClasses", "isOutline", "isGhost", "isSquare", "isPill", "isIcon", "isLoading", "isList", "isFloating", "isAction", "isNavigationLink", "isLink", "shouldIgnoreBtnClass", "iconModel", "iconPosition", "isDisabled", "isActive", "badgeConfig", "colorStyle", "size", "title"], outputs: ["clicked"] }], encapsulation: i0.ViewEncapsulation.None }); }
142
- }
143
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: DropdownComponent, decorators: [{
144
- type: Component,
145
- args: [{ selector: 'upd-dropdown', encapsulation: ViewEncapsulation.None, template: "@if (!!header) {\n <h6 class=\"dropdown-header\">{{ header }}</h6>\n}\n\n@for (item of items; track item) {\n @switch (item.type) {\n @case ('divider') {\n <div class=\"dropdown-divider\"></div>\n }\n @case ('default') {\n <upd-button [customClasses]=\"'dropdown-item' + (item.isDisabled ? ' disabled' : '') + (item.isActive ? ' active' : '')\"\n [shouldIgnoreBtnClass]=\"true\" (clicked)=\"onSelect(item)\">\n @if (!!item.icon) {\n <upd-icon [model]=\"item.icon\" customClasses=\"dropdown-item-icon\"></upd-icon>\n }\n\n @if (!!item.leftBoxText || !!item.leftBoxImage) {\n <span style=\"background-image: url({{item.leftBoxImage}})\"\n class=\"avatar avatar-xs rounded me-2\">{{ item.leftBoxText }}</span>\n }\n\n {{ textService.getText(item.text) }}\n\n @if (!!item.badgeColor) {\n <span class=\"badge bg-{{item.badgeColor}} ms-auto\">{{ item.badgeText }}</span>\n }\n </upd-button>\n }\n @case ('radio') {\n <upd-radio (selected)=\"onSelect(item)\" [label]=\"item.text\" [isChecked]=\"item.isChecked || false\"\n [wrapperClasses]=\"'dropdown-item' + (item.isDisabled ? ' disabled' : '') + (item.isActive ? ' active' : '')\"></upd-radio>\n }\n @case ('checkbox') {\n <upd-checkbox (changed)=\"onCheckboxChange(item, $event)\" [label]=\"item.text\" [isChecked]=\"item.isChecked || false\"\n [isSwitch]=\"item.isSwitch || false\"\n [wrapperClasses]=\"'dropdown-item' + (item.isDisabled ? ' disabled' : '') + (item.isActive ? ' active' : '')\"></upd-checkbox>\n }\n @case ('with-toolbar') {\n <div class=\"dropdown-item\" [class.disabled]=\"item.isDisabled\" [class.active]=\"item.isActive\" (click)=\"onSelect(item)\">\n @if (!!item.icon) {\n <upd-icon [model]=\"item.icon\" customClasses=\"dropdown-item-icon\"></upd-icon>\n }\n\n @if (!!item.leftBoxText || !!item.leftBoxImage) {\n <span style=\"background-image: url({{item.leftBoxImage}})\"\n class=\"avatar avatar-xs rounded me-2\">{{ item.leftBoxText }}</span>\n }\n\n <span [ngClass]=\"overflowClass\">\n {{ textService.getText(item.text) }}\n </span>\n\n @if ((item.actionButtons?.length || 0) > 0) {\n <div class=\"ms-auto d-flex\" [class.btn-group]=\"item.toolbarType === 'grouped'\"\n [class.gap-1]=\"item.toolbarType === 'spaced'\">\n @for (btn of item.actionButtons; track btn) {\n <upd-button [model]=\"adaptAction(btn, item)\"></upd-button>\n }\n </div>\n }\n\n @if (!!item.badgeColor) {\n <span class=\"badge bg-{{item.badgeColor}} ms-auto\">{{ item.badgeText }}</span>\n }\n </div>\n }\n }\n}\n\n<ng-content></ng-content>\n", styles: [".dropdown-show{display:inline-block!important;width:100%!important;position:relative;top:0!important;margin-bottom:1rem!important}.dropdown-item>.form-check{margin-bottom:0!important}.dropdown-item{cursor:pointer!important}.dropdown-overflow{overflow-y:auto!important}\n"] }]
146
- }], ctorParameters: () => [], propDecorators: { localWrapperClasses: [{
147
- type: HostBinding,
148
- args: ['class']
149
- }], items: [{
150
- type: Input
151
- }], header: [{
152
- type: Input
153
- }], isOpen: [{
154
- type: Input
155
- }], shouldCloseOnOutsideClick: [{
156
- type: Input
157
- }], arrowType: [{
158
- type: Input
159
- }], wrapperClasses: [{
160
- type: Input
161
- }], elementsExcludedFromOutsideClick: [{
162
- type: Input
163
- }], minHeight: [{
164
- type: Input
165
- }], maxHeight: [{
166
- type: Input
167
- }], minWidth: [{
168
- type: Input
169
- }], maxWidth: [{
170
- type: Input
171
- }], dropdownReference: [{
172
- type: Input
173
- }], dropdownReferencePosition: [{
174
- type: Input
175
- }], isOpenChange: [{
176
- type: Output
177
- }], selectedItem: [{
178
- type: Output
179
- }], checkboxChanged: [{
180
- type: Output
181
- }] } });
182
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Ryb3Bkb3duL3NyYy9kcm9wZG93bi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZHJvcGRvd24vc3JjL2Ryb3Bkb3duLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsV0FBVyxFQUNYLGlCQUFpQixFQUNqQixLQUFLLEVBR0wsTUFBTSxFQUNOLFlBQVksRUFDWixNQUFNLEVBQ04sVUFBVSxFQUNWLFNBQVMsRUFDVCxtQkFBbUIsRUFDbkIsTUFBTSxFQUFFLEtBQUssRUFDaEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILGFBQWEsRUFDYixrQkFBa0IsRUFFbEIsZ0JBQWdCLEVBR25CLE1BQU0sb0JBQW9CLENBQUM7QUFFNUIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7Ozs7OztBQVcxQyxNQUFNLE9BQU8saUJBQWtCLFNBQVEsYUFBYTtJQUtoRCxJQUNJLE1BQU0sQ0FBQyxLQUFjO1FBQ3JCLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFNUIsSUFBSSxJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQztZQUNqQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUMvQixDQUFDO0lBQ0wsQ0FBQztJQTJDRCxJQUFJLE1BQU07UUFDTixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDeEIsQ0FBQztJQUNELElBQUksYUFBYTtRQUNiLFFBQVEsSUFBSSxDQUFDLG9CQUFvQixFQUFFLEVBQUUsQ0FBQztZQUNsQyxLQUFLLFNBQVM7Z0JBQ1YsT0FBTyxhQUFhLENBQUM7WUFDekIsS0FBSyxNQUFNO2dCQUNQLE9BQU8sV0FBVyxDQUFDO1lBQ3ZCLEtBQUssWUFB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O2dCQUVYLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBRUYsTUFBTTtzQkFEVCxLQUFLO2dCQVFHLHlCQUF5QjtzQkFBakMsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBS0csZ0NBQWdDO3NCQUF4QyxLQUFLO2dCQUlHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBS0csU0FBUztzQkFBakIsS0FBSztnQkFJRyxRQUFRO3NCQUFoQixLQUFLO2dCQUtHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBSUcsaUJBQWlCO3NCQUF6QixLQUFLO2dCQUlHLHlCQUF5QjtzQkFBakMsS0FBSztnQkFFYSxZQUFZO3NCQUE5QixNQUFNO2dCQUNZLFlBQVk7c0JBQTlCLE1BQU07Z0JBQ1ksZUFBZTtzQkFBakMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIElucHV0LFxuICAgIE9uSW5pdCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT3V0cHV0LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBOZ1pvbmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBSZW5kZXJlcjIsXG4gICAgUmVuZGVyZXJTdHlsZUZsYWdzMixcbiAgICBpbmplY3QsIGlucHV0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBCYXNlQ29tcG9uZW50LFxuICAgIFBvc2l0aW9uaW5nU2VydmljZSxcbiAgICBDb21wdXRlUG9zaXRpb25SZXN1bHQsXG4gICAgRG9tRXZlbnRzU2VydmljZSxcbiAgICBCdXR0b25Nb2RlbCxcbiAgICBPdmVyZmxvd1N0cmF0ZWd5VHlwZVxufSBmcm9tICdAdXBkZXZzL3Nkay9sYXlvdXQnO1xuaW1wb3J0IHsgVG9wQm90dG9tTGVmdFJpZ2h0VHlwZSwgTGVmdFJpZ2h0VHlwZSB9IGZyb20gJ0B1cGRldnMvc2RrL3R5cGVzJztcbmltcG9ydCB7IFRleHRTZXJ2aWNlIH0gZnJvbSAnQHVwZGV2cy9zZGsnO1xuXG5pbXBvcnQgeyBEcm9wZG93bkl0ZW0gfSBmcm9tICcuL21vZGVscy9kcm9wZG93bi1pdGVtJztcbmltcG9ydCB7IERyb3Bkb3duQWN0aW9uQ2xpY2tlZE1vZGVsIH0gZnJvbSAnLi9tb2RlbHMvZHJvcGRvd24tYWN0aW9uLWNsaWNrZWQubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3VwZC1kcm9wZG93bicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2Ryb3Bkb3duLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9kcm9wZG93bi5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgRHJvcGRvd25Db21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKSBsb2NhbFdyYXBwZXJDbGFzc2VzID0gJyc7XG5cbiAgICBASW5wdXQoKSBpdGVtczogRHJvcGRvd25JdGVtW10gPSBbXTtcbiAgICBASW5wdXQoKSBoZWFkZXI/OiBzdHJpbmc7XG4gICAgQElucHV0KClcbiAgICBzZXQgaXNPcGVuKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMudXBkYXRlT3BlblN0YXRlKHZhbHVlKTtcblxuICAgICAgICBpZiAodGhpcy5zaG91bGRDbG9zZU9uT3V0c2lkZUNsaWNrKSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlT25PdXRzaWRlQ2xpY2soKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBASW5wdXQoKSBzaG91bGRDbG9zZU9uT3V0c2lkZUNsaWNrID0gZmFsc2U7XG4gICAgQElucHV0KCkgYXJyb3dUeXBlPzogTGVmdFJpZ2h0VHlwZTtcbiAgICBASW5wdXQoKSB3cmFwcGVyQ2xhc3NlcyA9ICcnO1xuICAgIC8qKlxuICAgICAqIEVsZW1lbnRzIHRoYXQgd29uJ3QgdHJpZ2dlciB0aGUgY2xvc2Ugb2YgdGhlIGRyb3Bkb3duIGlmIGNsaWNrZWQgdXBvbi5cbiAgICAgKiBPbmx5IHdvcmtzIHdoZW4gYHNob3VsZENsb3NlT25PdXRzaWRlQ2xpY2tgIGlzIHNldCB0byB0cnVlLlxuICAgICAqL1xuICAgIEBJbnB1dCgpIGVsZW1lbnRzRXhjbHVkZWRGcm9tT3V0c2lkZUNsaWNrPzogSFRNTEVsZW1lbnRbXTtcbiAgICAvKipcbiAgICAgKiBNaW5pbXVtIGhlaWdodCBvZiB0aGUgY29tcG9uZW50LlxuICAgICAqL1xuICAgIEBJbnB1dCgpIG1pbkhlaWdodD86IG51bWJlcjtcbiAgICAvKipcbiAgICAgKiBNYXhpbXVtIGhlaWdodCBvZiB0aGUgY29tcG9uZW50LlxuICAgICAqIElmIHNldCwgc2Nyb2xsIGJhcnMgd2lsbCBiZSB1c2VkIHdoZW4gdGhlIGNvbnRlbnQncyBzaXplIGlzIGJpZ2dlciB0aGFuIHRoZSBjb21wb25lbnQncy5cbiAgICAgKi9cbiAgICBASW5wdXQoKSBtYXhIZWlnaHQ/OiBudW1iZXI7XG4gICAgLyoqXG4gICAgICogTWluaW11bSB3aWR0aCBvZiB0aGUgY29tcG9uZW50LlxuICAgICAqL1xuICAgIEBJbnB1dCgpIG1pbldpZHRoPzogbnVtYmVyO1xuICAgIC8qKlxuICAgICAqIE1heGltdW0gd2lkdGggb2YgdGhlIGNvbXBvbmVudC5cbiAgICAgKiBJZiBzZXQsIHNjcm9sbCBiYXJzIHdpbGwgYmUgdXNlZCB3aGVuIHRoZSBjb250ZW50J3Mgc2l6ZSBpcyBiaWdnZXIgdGhhbiB0aGUgY29tcG9uZW50J3MuXG4gICAgICovXG4gICAgQElucHV0KCkgbWF4V2lkdGg/OiBudW1iZXI7XG4gICAgLyoqXG4gICAgICogSWYgc2V0LCB0aGUgcG9zaXRpb24gb2YgdGhlIGRyb3Bkb3duIHdpbGwgYmUgc2V0IGFjY29yZGluZyB0byB0aGlzIGVsZW1lbnQuXG4gICAgICovXG4gICAgQElucHV0KCkgZHJvcGRvd25SZWZlcmVuY2U/OiBFbGVtZW50UmVmO1xuICAgIC8qKlxuICAgICAqIElmIGEgcmVmZXJlbmNlIGlzIHByb3ZpZGVkLCB0aGlzIHdpbGwgYmUgdGhlIHBvc2l0aW9uIG9mIHRoZSBkcm9wZG93biBpbiByZWxhdGlvbiB0byB0aGF0IHJlZmVyZW5jZS5cbiAgICAgKi9cbiAgICBASW5wdXQoKSBkcm9wZG93blJlZmVyZW5jZVBvc2l0aW9uOiBUb3BCb3R0b21MZWZ0UmlnaHRUeXBlID0gJ2JvdHRvbSc7XG5cbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgaXNPcGVuQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICAgIEBPdXRwdXQoKSByZWFkb25seSBzZWxlY3RlZEl0ZW0gPSBuZXcgRXZlbnRFbWl0dGVyPERyb3Bkb3duSXRlbT4oKTtcbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgY2hlY2tib3hDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxEcm9wZG93bkl0ZW0+KCk7XG5cbiAgICB0ZXh0T3ZlcmZsb3dTdHJhdGVneSA9IGlucHV0PE92ZXJmbG93U3RyYXRlZ3lUeXBlPignd3JhcCcpO1xuXG4gICAgcmVhZG9ubHkgdGV4dFNlcnZpY2UgPSBpbmplY3QoVGV4dFNlcnZpY2UpO1xuICAgIGdldCBpc09wZW4oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc09wZW47XG4gICAgfVxuICAgIGdldCBvdmVyZmxvd0NsYXNzKCk6IHN0cmluZyB7XG4gICAgICAgIHN3aXRjaCAodGhpcy50ZXh0T3ZlcmZsb3dTdHJhdGVneSgpKSB7XG4gICAgICAgICAgICBjYXNlICduby13cmFwJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gJ3RleHQtbm93cmFwJztcbiAgICAgICAgICAgIGNhc2UgJ3dyYXAnOlxuICAgICAgICAgICAgICAgIHJldHVybiAndGV4dC13cmFwJztcbiAgICAgICAgICAgIGNhc2UgJ3dvcmQtYnJlYWsnOlxuICAgICAgICAgICAgICAgIHJldHVybiAndGV4dC1icmVhayc7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiAndGV4dC10cnVuY2F0ZSc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGJhc2VXcmFwcGVyQ2xhc3NlcyA9ICdkcm9wZG93bi1tZW51JztcbiAgICBwcml2YXRlIF9pc09wZW4gPSBmYWxzZTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRyb3Bkb3duRWxlbWVudDogSFRNTEVsZW1lbnQ7XG4gICAgcHJpdmF0ZSByZWFkb25seSBuZ1pvbmUgPSBpbmplY3QoTmdab25lKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XG4gICAgcHJpdmF0ZSByZWFkb25seSByZW5kZXJlciA9IGluamVjdChSZW5kZXJlcjIpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcG9zaXRpb25pbmdTZXJ2aWNlID0gaW5qZWN0KFBvc2l0aW9uaW5nU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkb21FdmVudHNTZXJ2aWNlID0gaW5qZWN0KERvbUV2ZW50c1NlcnZpY2UpO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuZHJvcGRvd25FbGVtZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlU3R5bGUoKTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVTdHlsZSgpO1xuICAgIH1cblxuICAgIG9uU2VsZWN0KGl0ZW06IERyb3Bkb3duSXRlbSk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbS5lbWl0KGl0ZW0pO1xuICAgIH1cblxuICAgIG9uQ2hlY2tib3hDaGFuZ2UoaXRlbTogRHJvcGRvd25JdGVtLCBpc0NoZWNrZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgaXRlbS5pc0NoZWNrZWQgPSBpc0NoZWNrZWQ7XG4gICAgICAgIHRoaXMuY2hlY2tib3hDaGFuZ2VkLmVtaXQoaXRlbSk7XG4gICAgfVxuXG4gICAgYWRhcHRBY3Rpb24oYnRuOiBCdXR0b25Nb2RlbCwgaXRlbTogRHJvcGRvd25JdGVtKTogQnV0dG9uTW9kZWwge1xuICAgICAgICBjb25zdCBkZWZhdWx0RnVuY3Rpb24gPSBidG4uY2xpY2tGdW5jdGlvbjtcbiAgICAgICAgYnRuLmNsaWNrRnVuY3Rpb24gPSAoZXZ0KSA9PiB7XG4gICAgICAgICAgICBldnQuZXZlbnQ/LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBldnQuZXZlbnQ/LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgICAgICAgICBpZiAoISFkZWZhdWx0RnVuY3Rpb24pIHtcbiAgICAgICAgICAgICAgICBkZWZhdWx0RnVuY3Rpb24oeyBldmVudDogZXZ0LmV2ZW50LCBkYXRhOiB7IGl0ZW0sIGJ1dHRvbjogYnRuIH0gYXMgRHJvcGRvd25BY3Rpb25DbGlja2VkTW9kZWwgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiBidG47XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjbG9zZU9uT3V0c2lkZUNsaWNrKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBleGNsdWRlZEVsZW1lbnRzID0gW107XG5cbiAgICAgICAgaWYgKCEhdGhpcy5kcm9wZG93blJlZmVyZW5jZSkge1xuICAgICAgICAgICAgZXhjbHVkZWRFbGVtZW50cy5wdXNoKHRoaXMuZHJvcGRvd25SZWZlcmVuY2UubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBvdXRzaWRlQ2xpY2tTdWIgPSB0aGlzLmRvbUV2ZW50c1NlcnZpY2Uuc3RhcnRPdXRzaWRlQ2xpY2tMaXN0ZW5lcihcbiAgICAgICAgICAgICgpID0+IHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVPcGVuU3RhdGUoZmFsc2UpO1xuICAgICAgICAgICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB0aGlzLnVwZGF0ZVdyYXBwZXJDbGFzc2VzKCkpO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB0aGlzLmRyb3Bkb3duRWxlbWVudCxcbiAgICAgICAgICAgIHRydWUsXG4gICAgICAgICAgICAuLi5leGNsdWRlZEVsZW1lbnRzXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuYWRkU3Vic2NyaXB0aW9ucyhvdXRzaWRlQ2xpY2tTdWIpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlU3R5bGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlV3JhcHBlckNsYXNzZXMoKTtcbiAgICAgICAgdGhpcy51cGRhdGVNYXhIZWlnaHQoKTtcbiAgICAgICAgdGhpcy5zdGFydFBvc2l0aW9uVXBkYXRlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVXcmFwcGVyQ2xhc3NlcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5sb2NhbFdyYXBwZXJDbGFzc2VzID0gdGhpcy5iYXNlV3JhcHBlckNsYXNzZXMgKyAnICcgKyB0aGlzLndyYXBwZXJDbGFzc2VzO1xuXG4gICAgICAgIGlmICh0aGlzLmlzT3Blbikge1xuICAgICAgICAgICAgdGhpcy5sb2NhbFdyYXBwZXJDbGFzc2VzICs9ICcgZHJvcGRvd24tc2hvdyc7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoISF0aGlzLmFycm93VHlwZSkge1xuICAgICAgICAgICAgdGhpcy5sb2NhbFdyYXBwZXJDbGFzc2VzICs9ICcgZHJvcGRvd24tbWVudS1hcnJvdycgKyAodGhpcy5hcnJvd1R5cGUgPT09ICdyaWdodCcgPyAnIGRyb3Bkb3duLW1lbnUtZW5kJyA6ICcnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghIXRoaXMubWF4SGVpZ2h0KSB7XG4gICAgICAgICAgICB0aGlzLmxvY2FsV3JhcHBlckNsYXNzZXMgKz0gJyBkcm9wZG93bi1vdmVyZmxvdyc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZU9wZW5TdGF0ZShpc09wZW46IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5faXNPcGVuID0gaXNPcGVuO1xuICAgICAgICB0aGlzLmlzT3BlbkNoYW5nZS5lbWl0KGlzT3Blbik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVNYXhIZWlnaHQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5kcm9wZG93bkVsZW1lbnQsICdtYXgtaGVpZ2h0JywgYCR7dGhpcy5tYXhIZWlnaHR9cHhgLCBSZW5kZXJlclN0eWxlRmxhZ3MyLkltcG9ydGFudCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGFydFBvc2l0aW9uVXBkYXRlKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuZHJvcGRvd25SZWZlcmVuY2UpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+XG4gICAgICAgICAgICB0aGlzLnBvc2l0aW9uaW5nU2VydmljZVxuICAgICAgICAgICAgICAgIC5jb21wdXRlUG9zaXRpb24odGhpcy5kcm9wZG93blJlZmVyZW5jZSEsIHRoaXMuZWxlbWVudFJlZiwgeyBwbGFjZW1lbnQ6IHRoaXMuZHJvcGRvd25SZWZlcmVuY2VQb3NpdGlvbiB9KVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUocmVzcCA9PiB0aGlzLnVwZGF0ZVBvc2l0aW9uKHJlc3ApKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlUG9zaXRpb24ocmVzdWx0OiBDb21wdXRlUG9zaXRpb25SZXN1bHQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcmVmZXJlbmNlID0gdGhpcy5kcm9wZG93blJlZmVyZW5jZSEubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgY29uc3QgZGRFbGVtZW50ID0gdGhpcy5kcm9wZG93bkVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IHdpZHRoID0gTWF0aC5hYnMocmVmZXJlbmNlLndpZHRoKTtcbiAgICAgICAgbGV0IHdpZHRoT2Zmc2V0ID0gMDtcblxuICAgICAgICBpZiAoISF0aGlzLm1heFdpZHRoKSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGRkRWxlbWVudCwgJ21heC13aWR0aCcsIGAke3RoaXMubWF4V2lkdGh9cHhgLCBSZW5kZXJlclN0eWxlRmxhZ3MyLkltcG9ydGFudCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoISF0aGlzLm1pbldpZHRoKSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGRkRWxlbWVudCwgJ21pbi13aWR0aCcsIGAke3RoaXMubWluV2lkdGh9cHhgLCBSZW5kZXJlclN0eWxlRmxhZ3MyLkltcG9ydGFudCk7XG4gICAgICAgICAgICB3aWR0aE9mZnNldCA9ICh0aGlzLm1pbldpZHRoID4gd2lkdGggPyB0aGlzLm1pbldpZHRoIC0gd2lkdGggOiAwKSAvIDI7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGRkRWxlbWVudCwgJ3Bvc2l0aW9uJywgcmVzdWx0LnN0cmF0ZWd5LCBSZW5kZXJlclN0eWxlRmxhZ3MyLkltcG9ydGFudCk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZGRFbGVtZW50LCAnd2lkdGgnLCBgJHt3aWR0aH1weGAsIFJlbmRlcmVyU3R5bGVGbGFnczIuSW1wb3J0YW50KTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShkZEVsZW1lbnQsICdsZWZ0JywgYCR7cmVzdWx0LnggLSB3aWR0aE9mZnNldH1weGAsIFJlbmRlcmVyU3R5bGVGbGFnczIuSW1wb3J0YW50KTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShkZEVsZW1lbnQsICd0b3AnLCBgJHtyZXN1bHQueX1weGAsIFJlbmRlcmVyU3R5bGVGbGFnczIuSW1wb3J0YW50KTtcbiAgICB9XG59XG4iLCJAaWYgKCEhaGVhZGVyKSB7XG4gICAgPGg2IGNsYXNzPVwiZHJvcGRvd24taGVhZGVyXCI+e3sgaGVhZGVyIH19PC9oNj5cbn1cblxuQGZvciAoaXRlbSBvZiBpdGVtczsgdHJhY2sgaXRlbSkge1xuICAgIEBzd2l0Y2ggKGl0ZW0udHlwZSkge1xuICAgICAgICBAY2FzZSAoJ2RpdmlkZXInKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24tZGl2aWRlclwiPjwvZGl2PlxuICAgICAgICB9XG4gICAgICAgIEBjYXNlICgnZGVmYXVsdCcpIHtcbiAgICAgICAgICAgIDx1cGQtYnV0dG9uIFtjdXN0b21DbGFzc2VzXT1cIidkcm9wZG93bi1pdGVtJyArIChpdGVtLmlzRGlzYWJsZWQgPyAnIGRpc2FibGVkJyA6ICcnKSArIChpdGVtLmlzQWN0aXZlID8gJyBhY3RpdmUnIDogJycpXCJcbiAgICAgICAgICAgICAgICBbc2hvdWxkSWdub3JlQnRuQ2xhc3NdPVwidHJ1ZVwiIChjbGlja2VkKT1cIm9uU2VsZWN0KGl0ZW0pXCI+XG4gICAgICAgICAgICAgICAgQGlmICghIWl0ZW0uaWNvbikge1xuICAgICAgICAgICAgICAgICAgICA8dXBkLWljb24gW21vZGVsXT1cIml0ZW0uaWNvblwiIGN1c3RvbUNsYXNzZXM9XCJkcm9wZG93bi1pdGVtLWljb25cIj48L3VwZC1pY29uPlxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpZiAoISFpdGVtLmxlZnRCb3hUZXh0IHx8ICEhaXRlbS5sZWZ0Qm94SW1hZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9XCJiYWNrZ3JvdW5kLWltYWdlOiB1cmwoe3tpdGVtLmxlZnRCb3hJbWFnZX19KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImF2YXRhciBhdmF0YXIteHMgcm91bmRlZCBtZS0yXCI+e3sgaXRlbS5sZWZ0Qm94VGV4dCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB7eyB0ZXh0U2VydmljZS5nZXRUZXh0KGl0ZW0udGV4dCkgfX1cblxuICAgICAgICAgICAgICAgIEBpZiAoISFpdGVtLmJhZGdlQ29sb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJiYWRnZSBiZy17e2l0ZW0uYmFkZ2VDb2xvcn19IG1zLWF1dG9cIj57eyBpdGVtLmJhZGdlVGV4dCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L3VwZC1idXR0b24+XG4gICAgICAgIH1cbiAgICAgICAgQGNhc2UgKCdyYWRpbycpIHtcbiAgICAgICAgICAgIDx1cGQtcmFkaW8gKHNlbGVjdGVkKT1cIm9uU2VsZWN0KGl0ZW0pXCIgW2xhYmVsXT1cIml0ZW0udGV4dFwiIFtpc0NoZWNrZWRdPVwiaXRlbS5pc0NoZWNrZWQgfHwgZmFsc2VcIlxuICAgICAgICAgICAgICAgIFt3cmFwcGVyQ2xhc3Nlc109XCInZHJvcGRvd24taXRlbScgKyAoaXRlbS5pc0Rpc2FibGVkID8gJyBkaXNhYmxlZCcgOiAnJykgKyAoaXRlbS5pc0FjdGl2ZSA/ICcgYWN0aXZlJyA6ICcnKVwiPjwvdXBkLXJhZGlvPlxuICAgICAgICB9XG4gICAgICAgIEBjYXNlICgnY2hlY2tib3gnKSB7XG4gICAgICAgICAgICA8dXBkLWNoZWNrYm94IChjaGFuZ2VkKT1cIm9uQ2hlY2tib3hDaGFuZ2UoaXRlbSwgJGV2ZW50KVwiIFtsYWJlbF09XCJpdGVtLnRleHRcIiBbaXNDaGVja2VkXT1cIml0ZW0uaXNDaGVja2VkIHx8IGZhbHNlXCJcbiAgICAgICAgICAgICAgICBbaXNTd2l0Y2hdPVwiaXRlbS5pc1N3aXRjaCB8fCBmYWxzZVwiXG4gICAgICAgICAgICAgICAgW3dyYXBwZXJDbGFzc2VzXT1cIidkcm9wZG93bi1pdGVtJyArIChpdGVtLmlzRGlzYWJsZWQgPyAnIGRpc2FibGVkJyA6ICcnKSArIChpdGVtLmlzQWN0aXZlID8gJyBhY3RpdmUnIDogJycpXCI+PC91cGQtY2hlY2tib3g+XG4gICAgICAgIH1cbiAgICAgICAgQGNhc2UgKCd3aXRoLXRvb2xiYXInKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24taXRlbVwiIFtjbGFzcy5kaXNhYmxlZF09XCJpdGVtLmlzRGlzYWJsZWRcIiBbY2xhc3MuYWN0aXZlXT1cIml0ZW0uaXNBY3RpdmVcIiAoY2xpY2spPVwib25TZWxlY3QoaXRlbSlcIj5cbiAgICAgICAgICAgICAgICBAaWYgKCEhaXRlbS5pY29uKSB7XG4gICAgICAgICAgICAgICAgICAgIDx1cGQtaWNvbiBbbW9kZWxdPVwiaXRlbS5pY29uXCIgY3VzdG9tQ2xhc3Nlcz1cImRyb3Bkb3duLWl0ZW0taWNvblwiPjwvdXBkLWljb24+XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGlmICghIWl0ZW0ubGVmdEJveFRleHQgfHwgISFpdGVtLmxlZnRCb3hJbWFnZSkge1xuICAgICAgICAgICAgICAgICAgICA8c3BhbiBzdHlsZT1cImJhY2tncm91bmQtaW1hZ2U6IHVybCh7e2l0ZW0ubGVmdEJveEltYWdlfX0pXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYXZhdGFyIGF2YXRhci14cyByb3VuZGVkIG1lLTJcIj57eyBpdGVtLmxlZnRCb3hUZXh0IH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIDxzcGFuIFtuZ0NsYXNzXT1cIm92ZXJmbG93Q2xhc3NcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgdGV4dFNlcnZpY2UuZ2V0VGV4dChpdGVtLnRleHQpIH19XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgICAgICAgICAgQGlmICgoaXRlbS5hY3Rpb25CdXR0b25zPy5sZW5ndGggfHwgMCkgPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcy1hdXRvIGQtZmxleFwiIFtjbGFzcy5idG4tZ3JvdXBdPVwiaXRlbS50b29sYmFyVHlwZSA9PT0gJ2dyb3VwZWQnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5nYXAtMV09XCJpdGVtLnRvb2xiYXJUeXBlID09PSAnc3BhY2VkJ1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgQGZvciAoYnRuIG9mIGl0ZW0uYWN0aW9uQnV0dG9uczsgdHJhY2sgYnRuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVwZC1idXR0b24gW21vZGVsXT1cImFkYXB0QWN0aW9uKGJ0biwgaXRlbSlcIj48L3VwZC1idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpZiAoISFpdGVtLmJhZGdlQ29sb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJiYWRnZSBiZy17e2l0ZW0uYmFkZ2VDb2xvcn19IG1zLWF1dG9cIj57eyBpdGVtLmJhZGdlVGV4dCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgIH1cbn1cblxuPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuIl19
@@ -1,2 +0,0 @@
1
- export * from './public-api';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZHJvcGRvd24vc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tYWN0aW9uLWNsaWNrZWQubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZHJvcGRvd24vc3JjL21vZGVscy9kcm9wZG93bi1hY3Rpb24tY2xpY2tlZC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQnV0dG9uTW9kZWwgfSBmcm9tICdAdXBkZXZzL3Nkay9sYXlvdXQnO1xuXG5pbXBvcnQgeyBEcm9wZG93bkl0ZW0gfSBmcm9tICcuL2Ryb3Bkb3duLWl0ZW0nO1xuXG5leHBvcnQgaW50ZXJmYWNlIERyb3Bkb3duQWN0aW9uQ2xpY2tlZE1vZGVsIHtcbiAgICBidXR0b246IEJ1dHRvbk1vZGVsO1xuICAgIGl0ZW06IERyb3Bkb3duSXRlbTtcbn1cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24taXRlbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9kcm9wZG93bi9zcmMvbW9kZWxzL2Ryb3Bkb3duLWl0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJnQ29sb3JTdHlsZVR5cGUsIEJ1dHRvbk1vZGVsIH0gZnJvbSAnQHVwZGV2cy9zZGsvbGF5b3V0JztcbmltcG9ydCB7IEljb25Nb2RlbCB9IGZyb20gJ0B1cGRldnMvaWNvbnMnO1xuaW1wb3J0IHsgVGV4dE1vZGVsIH0gZnJvbSAnQHVwZGV2cy9zZGsnO1xuXG5pbXBvcnQgeyBEcm9wZG93bkl0ZW1UeXBlIH0gZnJvbSAnLi9kcm9wZG93bi1pdGVtLnR5cGUnO1xuaW1wb3J0IHsgVG9vbGJhclR5cGUgfSBmcm9tICcuL3Rvb2xiYXIudHlwZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRHJvcGRvd25JdGVtIHtcbiAgICBpZD86IGFueTtcbiAgICB0ZXh0PzogVGV4dE1vZGVsO1xuICAgIGljb24/OiBJY29uTW9kZWw7XG4gICAgdHlwZTogRHJvcGRvd25JdGVtVHlwZTtcbiAgICB0b29sYmFyVHlwZT86IFRvb2xiYXJUeXBlO1xuICAgIC8qKlxuICAgICAqIElmIHR5cGUgaXMgY2hlY2tib3gsIGFuZCB0aGlzIGlzIHNldCwgdGhlIHN3aXRjaCBzdHlsZSB3aWxsIGJlIHVzZWQuXG4gICAgICovXG4gICAgaXNTd2l0Y2g/OiBib29sZWFuO1xuICAgIGlzRGlzYWJsZWQ/OiBib29sZWFuO1xuICAgIGlzQWN0aXZlPzogYm9vbGVhbjtcbiAgICBsZWZ0Qm94VGV4dD86IHN0cmluZztcbiAgICBsZWZ0Qm94SW1hZ2U/OiBzdHJpbmc7XG4gICAgYmFkZ2VDb2xvcj86IEJnQ29sb3JTdHlsZVR5cGU7XG4gICAgYmFkZ2VUZXh0Pzogc3RyaW5nO1xuICAgIGlzQ2hlY2tlZD86IGJvb2xlYW47XG4gICAgYWN0aW9uQnV0dG9ucz86IEJ1dHRvbk1vZGVsW107XG59XG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24taXRlbS50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Ryb3Bkb3duL3NyYy9tb2RlbHMvZHJvcGRvd24taXRlbS50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBEcm9wZG93bkl0ZW1UeXBlID0gJ2RlZmF1bHQnIHwgJ3JhZGlvJyB8ICdjaGVja2JveCcgfCAnZGl2aWRlcicgfCAnd2l0aC10b29sYmFyJztcbiJdfQ==
@@ -1,5 +0,0 @@
1
- export * from './dropdown-action-clicked.model';
2
- export * from './dropdown-item';
3
- export * from './dropdown-item.type';
4
- export * from './toolbar.type';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9kcm9wZG93bi9zcmMvbW9kZWxzL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZHJvcGRvd24tYWN0aW9uLWNsaWNrZWQubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9kcm9wZG93bi1pdGVtJztcbmV4cG9ydCAqIGZyb20gJy4vZHJvcGRvd24taXRlbS50eXBlJztcbmV4cG9ydCAqIGZyb20gJy4vdG9vbGJhci50eXBlJztcbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Ryb3Bkb3duL3NyYy9tb2RlbHMvdG9vbGJhci50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBUb29sYmFyVHlwZSA9ICdncm91cGVkJyB8ICdzcGFjZWQnO1xuIl19
@@ -1,4 +0,0 @@
1
- export * from './models/public-api';
2
- export * from './dropdown.component';
3
- export * from './upd-dropdown.module';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9kcm9wZG93bi9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyx1QkFBdUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL3B1YmxpYy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9kcm9wZG93bi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi91cGQtZHJvcGRvd24ubW9kdWxlJztcbiJdfQ==
@@ -1,40 +0,0 @@
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 { UpdRadioModule } from '@updevs/components/form-controls/radio';
6
- import { UpdCheckboxModule } from '@updevs/components/form-controls/checkbox';
7
- import { DropdownComponent } from './dropdown.component';
8
- import * as i0 from "@angular/core";
9
- export class UpdDropdownModule {
10
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: UpdDropdownModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
11
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.0", ngImport: i0, type: UpdDropdownModule, declarations: [DropdownComponent], imports: [CommonModule,
12
- UpdIconsModule,
13
- UpdRadioModule,
14
- UpdCheckboxModule,
15
- UpdButtonModule], exports: [DropdownComponent] }); }
16
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: UpdDropdownModule, imports: [CommonModule,
17
- UpdIconsModule,
18
- UpdRadioModule,
19
- UpdCheckboxModule,
20
- UpdButtonModule] }); }
21
- }
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: UpdDropdownModule, decorators: [{
23
- type: NgModule,
24
- args: [{
25
- imports: [
26
- CommonModule,
27
- UpdIconsModule,
28
- UpdRadioModule,
29
- UpdCheckboxModule,
30
- UpdButtonModule
31
- ],
32
- declarations: [
33
- DropdownComponent
34
- ],
35
- exports: [
36
- DropdownComponent
37
- ]
38
- }]
39
- }] });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkLWRyb3Bkb3duLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9kcm9wZG93bi9zcmMvdXBkLWRyb3Bkb3duLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFFOUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBaUJ6RCxNQUFNLE9BQU8saUJBQWlCOzhHQUFqQixpQkFBaUI7K0dBQWpCLGlCQUFpQixpQkFOdEIsaUJBQWlCLGFBUGpCLFlBQVk7WUFDWixjQUFjO1lBQ2QsY0FBYztZQUNkLGlCQUFpQjtZQUNqQixlQUFlLGFBTWYsaUJBQWlCOytHQUdaLGlCQUFpQixZQWJ0QixZQUFZO1lBQ1osY0FBYztZQUNkLGNBQWM7WUFDZCxpQkFBaUI7WUFDakIsZUFBZTs7MkZBU1YsaUJBQWlCO2tCQWY3QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLGNBQWM7d0JBQ2QsY0FBYzt3QkFDZCxpQkFBaUI7d0JBQ2pCLGVBQWU7cUJBQ2xCO29CQUNELFlBQVksRUFBRTt3QkFDVixpQkFBaUI7cUJBQ3BCO29CQUNELE9BQU8sRUFBRTt3QkFDTCxpQkFBaUI7cUJBQ3BCO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBVcGRJY29uc01vZHVsZSB9IGZyb20gJ0B1cGRldnMvaWNvbnMnO1xuaW1wb3J0IHsgVXBkQnV0dG9uTW9kdWxlIH0gZnJvbSAnQHVwZGV2cy9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQgeyBVcGRSYWRpb01vZHVsZSB9IGZyb20gJ0B1cGRldnMvY29tcG9uZW50cy9mb3JtLWNvbnRyb2xzL3JhZGlvJztcbmltcG9ydCB7IFVwZENoZWNrYm94TW9kdWxlIH0gZnJvbSAnQHVwZGV2cy9jb21wb25lbnRzL2Zvcm0tY29udHJvbHMvY2hlY2tib3gnO1xuXG5pbXBvcnQgeyBEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4vZHJvcGRvd24uY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgVXBkSWNvbnNNb2R1bGUsXG4gICAgICAgIFVwZFJhZGlvTW9kdWxlLFxuICAgICAgICBVcGRDaGVja2JveE1vZHVsZSxcbiAgICAgICAgVXBkQnV0dG9uTW9kdWxlXG4gICAgXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtcbiAgICAgICAgRHJvcGRvd25Db21wb25lbnRcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgRHJvcGRvd25Db21wb25lbnRcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIFVwZERyb3Bkb3duTW9kdWxlIHt9XG4iXX0=
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './index';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkZXZzLWNvbXBvbmVudHMtZHJvcGRvd24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZHJvcGRvd24vc3JjL3VwZGV2cy1jb21wb25lbnRzLWRyb3Bkb3duLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
@@ -1,17 +0,0 @@
1
- {
2
- "UpDevs": {
3
- "Form": {
4
- "Submit": "Submit",
5
- "ErrorMessages": {
6
- "Generic": "Error",
7
- "Email": "Invalid email",
8
- "Max": "Value should not be greater than {{value}}",
9
- "Min": "Value should not be lower than {{value}}",
10
- "MaxLength": "Maximum length: {{value}}",
11
- "MinLength": "Minimum length: {{value}}",
12
- "Required": "Required field",
13
- "RequiredTrue": "This field must be selected"
14
- }
15
- }
16
- }
17
- }
@@ -1,17 +0,0 @@
1
- {
2
- "UpDevs": {
3
- "Form": {
4
- "Submit": "Enviar",
5
- "ErrorMessages": {
6
- "Generic": "Erro",
7
- "Email": "E-mail inválido",
8
- "Max": "O valor não pode ser maior do que {{value}}",
9
- "Min": "O valor não pode ser menor do que {{value}}",
10
- "MaxLength": "Tamanho máximo permitido: {{value}}",
11
- "MinLength": "Tamanho mínimo permitido: {{value}}",
12
- "Required": "Campo obrigatório",
13
- "RequiredTrue": "Este campo deve ser selecionado"
14
- }
15
- }
16
- }
17
- }
@@ -1,96 +0,0 @@
1
- import { Component, HostBinding, inject, input } from '@angular/core';
2
- import { TextService } from '@updevs/sdk';
3
- import { BaseComponent } from '@updevs/sdk/layout';
4
- import { ColumnSizeHelper } from '@updevs/components';
5
- import { Defaults as SelectDefaults } from '@updevs/components/form-controls/select';
6
- import { ErrorsHelper } from '../../tools/errors-helper';
7
- import { DynamicFieldType } from '../../models/enums/dynamic-field.type';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "@updevs/components/form-controls/input";
10
- import * as i2 from "@updevs/components/form-controls/checkbox";
11
- import * as i3 from "@updevs/components/form-controls/radio";
12
- import * as i4 from "@updevs/components/form-controls/select";
13
- import * as i5 from "@updevs/components/form-controls/textarea";
14
- export class DynamicFieldComponent extends BaseComponent {
15
- constructor() {
16
- super(...arguments);
17
- this.wrapperClasses = '';
18
- this.DynamicFieldType = DynamicFieldType;
19
- this.SelectDefaults = SelectDefaults;
20
- this.formGroup = input.required();
21
- this.field = input.required();
22
- this.layout = input.required();
23
- this.validationStatusDescriptions = [];
24
- this.errorsHelper = inject(ErrorsHelper);
25
- this.textService = inject(TextService);
26
- }
27
- get formControl() {
28
- return this.formGroup().controls[this.field().name];
29
- }
30
- get checkboxField() {
31
- return this.field();
32
- }
33
- get checkboxGroupField() {
34
- return this.field();
35
- }
36
- get radioField() {
37
- return this.field();
38
- }
39
- get radioGroupField() {
40
- return this.field();
41
- }
42
- get selectField() {
43
- return this.field();
44
- }
45
- get singleSelectField() {
46
- return this.field();
47
- }
48
- get textareaField() {
49
- return this.field();
50
- }
51
- get checkboxGroupOptionsKeys() {
52
- return Object.keys(this.checkboxGroupField.options);
53
- }
54
- get radioGroupOptionsKeys() {
55
- return Object.keys(this.radioGroupField.options);
56
- }
57
- ngOnInit() {
58
- const statusSub = this.formControl.statusChanges.subscribe(status => {
59
- if (status === 'INVALID') {
60
- this.validationStatusDescriptions = this.errorsHelper.getMessages(this.formControl)
61
- .map(t => ({ text: t, isTranslated: true }));
62
- this.validationStatus = 'invalid';
63
- }
64
- else {
65
- this.validationStatusDescriptions = [];
66
- this.validationStatus = this.field().showValidStatus ? 'valid' : undefined;
67
- }
68
- });
69
- this.setupWrapperClasses();
70
- this.addSubscriptions(statusSub);
71
- }
72
- onBlur() {
73
- if (this.field().shouldValidateOnBlur) {
74
- this.formControl.updateValueAndValidity();
75
- }
76
- }
77
- getText(textModel) {
78
- return this.textService.getText(textModel);
79
- }
80
- getOptionDescription(key, type) {
81
- return type === 'checkbox' ? this.checkboxGroupField.options[key] : this.radioGroupField.options[key];
82
- }
83
- setupWrapperClasses() {
84
- this.wrapperClasses = ColumnSizeHelper.getSizeClasses(this.field().colSize);
85
- }
86
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: DynamicFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
87
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: DynamicFieldComponent, selector: "upd-dynamic-field", inputs: { formGroup: { classPropertyName: "formGroup", publicName: "formGroup", isSignal: true, isRequired: true, transformFunction: null }, field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, layout: { classPropertyName: "layout", publicName: "layout", isSignal: true, isRequired: true, transformFunction: null } }, host: { properties: { "class": "this.wrapperClasses" } }, usesInheritance: true, ngImport: i0, template: "@switch (field().type) {\n @case (DynamicFieldType.Input) {\n <upd-input [name]=\"field().name\" [label]=\"field().label\" [placeholder]=\"field().placeholder\" [hint]=\"field().hint\"\n [hintAsTooltip]=\"field().hintAsTooltip || false\" [validationStatus]=\"validationStatus\"\n [validationStatusDescriptions]=\"validationStatusDescriptions\" [layout]=\"layout()\" [isDisabled]=\"field().isDisabled || false\"\n [type]=\"field().inputType || 'text'\" [labelColSize]=\"field().labelColSize\" [value]=\"formControl.value\"\n (valueChange)=\"formControl.setValue($event)\" (blurred)=\"onBlur()\"></upd-input>\n }\n @case (DynamicFieldType.Checkbox) {\n <upd-checkbox [name]=\"field().name\" [label]=\"field().label\" [hint]=\"field().hint\" [hintAsTooltip]=\"field().hintAsTooltip || false\"\n [validationStatus]=\"validationStatus\" [validationStatusDescriptions]=\"validationStatusDescriptions\" [value]=\"true\"\n [isDisabled]=\"field().isDisabled || false\" [isChecked]=\"formControl.value\" [isInline]=\"checkboxField.isInline || false\"\n [isSwitch]=\"checkboxField.isSwitch || false\" (changed)=\"formControl.setValue($event)\"></upd-checkbox>\n }\n @case (DynamicFieldType.CheckboxGroup) {\n @if (!!field().label) {\n <label class=\"form-label\">{{ getText(field().label) }}</label>\n }\n\n @for (option of checkboxGroupOptionsKeys; track option) {\n <upd-checkbox [name]=\"field().name\" [label]=\"getOptionDescription(option, 'checkbox')\" [hint]=\"field().hint\"\n [hintAsTooltip]=\"field().hintAsTooltip || false\" [validationStatus]=\"validationStatus\"\n [validationStatusDescriptions]=\"validationStatusDescriptions\" [value]=\"option\" [isDisabled]=\"field().isDisabled || false\"\n [isChecked]=\"formControl.value\" [isInline]=\"checkboxField.isInline || false\" [isSwitch]=\"checkboxField.isSwitch || false\"\n (changed)=\"formControl.setValue(option)\"></upd-checkbox>\n }\n }\n @case (DynamicFieldType.Radio) {\n <upd-radio [name]=\"field().name\" [label]=\"field().label\" [hint]=\"field().hint\" [hintAsTooltip]=\"field().hintAsTooltip || false\"\n [validationStatus]=\"validationStatus\" [validationStatusDescriptions]=\"validationStatusDescriptions\" [value]=\"true\"\n [isChecked]=\"formControl.value\" [isDisabled]=\"field().isDisabled || false\" [isInline]=\"radioField.isInline || false\"\n (selected)=\"formControl.setValue($event)\">\n </upd-radio>\n }\n @case (DynamicFieldType.RadioGroup) {\n @if (!!field().label) {\n <label class=\"form-label\">{{ getText(field().label) }}</label>\n }\n\n @for (option of radioGroupOptionsKeys; track option) {\n <upd-radio [name]=\"field().name\" [label]=\"getOptionDescription(option, 'radio')\" [hint]=\"field().hint\"\n [hintAsTooltip]=\"field().hintAsTooltip || false\" [validationStatus]=\"validationStatus\"\n [validationStatusDescriptions]=\"validationStatusDescriptions\" [value]=\"option\" [isDisabled]=\"field().isDisabled || false\"\n [isChecked]=\"formControl.value\" [isInline]=\"checkboxField.isInline || false\"\n (selected)=\"formControl.setValue(option)\"></upd-radio>\n }\n }\n @case (DynamicFieldType.Select) {\n <upd-select [name]=\"field().name\" [label]=\"field().label\" [hint]=\"field().hint\" [hintAsTooltip]=\"field().hintAsTooltip || false\"\n [validationStatus]=\"validationStatus\" [validationStatusDescriptions]=\"validationStatusDescriptions\"\n [useSystemStyle]=\"singleSelectField.useSystemStyle || false\" [isDisabled]=\"field().isDisabled || false\"\n [items]=\"selectField.items\" [layout]=\"layout()\" [labelColSize]=\"field().labelColSize\" [store]=\"selectField.store!\"\n [observable]=\"selectField.observable\" [itemKey]=\"selectField.itemKey\" [itemValue]=\"selectField.itemValue\"\n [dropdownMaxHeight]=\"selectField.dropdownMaxHeight || SelectDefaults.dropdownMaxHeight\"\n [typeaheadDebounce]=\"selectField.typeaheadDebounce || SelectDefaults.typeaheadDebounce\"\n [shouldAutoSearch]=\"selectField.shouldAutoSearch || SelectDefaults.shouldAutoSearch\"\n [shouldCloseOnOutsideClick]=\"selectField.shouldCloseOnOutsideClick || SelectDefaults.shouldCloseOnOutsideClick\"\n (selectedItem)=\"formControl.setValue($event?.value)\"></upd-select>\n }\n @case (DynamicFieldType.SelectMultiple) {\n <upd-select-multiple [name]=\"field().name\" [label]=\"field().label\" [hint]=\"field().hint\"\n [hintAsTooltip]=\"field().hintAsTooltip || false\" [validationStatus]=\"validationStatus\"\n [validationStatusDescriptions]=\"validationStatusDescriptions\" [isDisabled]=\"field().isDisabled || false\"\n [items]=\"selectField.items\" [layout]=\"layout()\" [labelColSize]=\"field().labelColSize\" [store]=\"selectField.store!\"\n [observable]=\"selectField.observable\" [itemKey]=\"selectField.itemKey\" [itemValue]=\"selectField.itemValue\"\n [dropdownMaxHeight]=\"selectField.dropdownMaxHeight || SelectDefaults.dropdownMaxHeight\"\n [typeaheadDebounce]=\"selectField.typeaheadDebounce || SelectDefaults.typeaheadDebounce\"\n [shouldAutoSearch]=\"selectField.shouldAutoSearch || SelectDefaults.shouldAutoSearch\"\n [shouldCloseOnOutsideClick]=\"selectField.shouldCloseOnOutsideClick || SelectDefaults.shouldCloseOnOutsideClick\"\n (selectedIds)=\"formControl.setValue($event)\"></upd-select-multiple>\n }\n @case (DynamicFieldType.Label) {\n <label class=\"form-label\">{{ getText(field().label) }}</label>\n }\n @case (DynamicFieldType.TextArea) {\n <upd-textarea [name]=\"field().name\" [label]=\"field().label\" [placeholder]=\"field().placeholder\" [hint]=\"field().hint\"\n [hintAsTooltip]=\"field().hintAsTooltip || false\" [validationStatus]=\"validationStatus\"\n [validationStatusDescriptions]=\"validationStatusDescriptions\" [isDisabled]=\"field().isDisabled || false\"\n [value]=\"formControl.value\" [customClasses]=\"textareaField.customClasses\" [wrapperClasses]=\"textareaField.wrapperClasses\"\n [maxLength]=\"textareaField.maxLength\" [rows]=\"textareaField.rows\"\n [displayCharactersCount]=\"textareaField.displayCharactersCount || false\"></upd-textarea>\n }\n}\n", styles: [""], dependencies: [{ kind: "component", type: i1.InputComponent, selector: "upd-input", inputs: ["type", "mask", "maskConfig", "value", "size", "customClasses", "wrapperClasses", "name", "maxLength", "isDisabled", "isPlainText", "isReadOnly", "isLoading", "isRound", "isFlush", "isInputGroupFlat", "isPrependButton", "isAppendButton", "isFloating", "isRequired", "loaderPosition", "prependIconModel", "appendIconModel", "isValidationStatusLight", "layout", "labelColSize"], outputs: ["valueChange", "blurred", "keyDown", "keyDownEsc", "keyUpEnter"] }, { kind: "component", type: i2.CheckboxComponent, selector: "upd-checkbox", inputs: ["wrapperClasses", "value", "customClasses", "name", "isDisabled", "isChecked", "isInline", "isSwitch", "isIndeterminate"], outputs: ["changed", "isCheckedChange", "isIndeterminateChange"] }, { kind: "component", type: i3.RadioComponent, selector: "upd-radio", inputs: ["wrapperClasses", "value", "customClasses", "name", "isDisabled", "isChecked", "isInline"], outputs: ["selected"] }, { kind: "component", type: i4.SelectComponent, selector: "upd-select", inputs: ["useSystemStyle", "shouldShowClearButton", "isCompact", "selected"], outputs: ["selectedItem"] }, { kind: "component", type: i4.SelectMultipleComponent, selector: "upd-select-multiple", outputs: ["selectedItems", "selectedIds"] }, { kind: "component", type: i5.TextareaComponent, selector: "upd-textarea", inputs: ["value", "customClasses", "wrapperClasses", "name", "maxLength", "rows", "isDisabled", "displayCharactersCount"], outputs: ["valueChange"] }] }); }
88
- }
89
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: DynamicFieldComponent, decorators: [{
90
- type: Component,
91
- args: [{ selector: 'upd-dynamic-field', template: "@switch (field().type) {\n @case (DynamicFieldType.Input) {\n <upd-input [name]=\"field().name\" [label]=\"field().label\" [placeholder]=\"field().placeholder\" [hint]=\"field().hint\"\n [hintAsTooltip]=\"field().hintAsTooltip || false\" [validationStatus]=\"validationStatus\"\n [validationStatusDescriptions]=\"validationStatusDescriptions\" [layout]=\"layout()\" [isDisabled]=\"field().isDisabled || false\"\n [type]=\"field().inputType || 'text'\" [labelColSize]=\"field().labelColSize\" [value]=\"formControl.value\"\n (valueChange)=\"formControl.setValue($event)\" (blurred)=\"onBlur()\"></upd-input>\n }\n @case (DynamicFieldType.Checkbox) {\n <upd-checkbox [name]=\"field().name\" [label]=\"field().label\" [hint]=\"field().hint\" [hintAsTooltip]=\"field().hintAsTooltip || false\"\n [validationStatus]=\"validationStatus\" [validationStatusDescriptions]=\"validationStatusDescriptions\" [value]=\"true\"\n [isDisabled]=\"field().isDisabled || false\" [isChecked]=\"formControl.value\" [isInline]=\"checkboxField.isInline || false\"\n [isSwitch]=\"checkboxField.isSwitch || false\" (changed)=\"formControl.setValue($event)\"></upd-checkbox>\n }\n @case (DynamicFieldType.CheckboxGroup) {\n @if (!!field().label) {\n <label class=\"form-label\">{{ getText(field().label) }}</label>\n }\n\n @for (option of checkboxGroupOptionsKeys; track option) {\n <upd-checkbox [name]=\"field().name\" [label]=\"getOptionDescription(option, 'checkbox')\" [hint]=\"field().hint\"\n [hintAsTooltip]=\"field().hintAsTooltip || false\" [validationStatus]=\"validationStatus\"\n [validationStatusDescriptions]=\"validationStatusDescriptions\" [value]=\"option\" [isDisabled]=\"field().isDisabled || false\"\n [isChecked]=\"formControl.value\" [isInline]=\"checkboxField.isInline || false\" [isSwitch]=\"checkboxField.isSwitch || false\"\n (changed)=\"formControl.setValue(option)\"></upd-checkbox>\n }\n }\n @case (DynamicFieldType.Radio) {\n <upd-radio [name]=\"field().name\" [label]=\"field().label\" [hint]=\"field().hint\" [hintAsTooltip]=\"field().hintAsTooltip || false\"\n [validationStatus]=\"validationStatus\" [validationStatusDescriptions]=\"validationStatusDescriptions\" [value]=\"true\"\n [isChecked]=\"formControl.value\" [isDisabled]=\"field().isDisabled || false\" [isInline]=\"radioField.isInline || false\"\n (selected)=\"formControl.setValue($event)\">\n </upd-radio>\n }\n @case (DynamicFieldType.RadioGroup) {\n @if (!!field().label) {\n <label class=\"form-label\">{{ getText(field().label) }}</label>\n }\n\n @for (option of radioGroupOptionsKeys; track option) {\n <upd-radio [name]=\"field().name\" [label]=\"getOptionDescription(option, 'radio')\" [hint]=\"field().hint\"\n [hintAsTooltip]=\"field().hintAsTooltip || false\" [validationStatus]=\"validationStatus\"\n [validationStatusDescriptions]=\"validationStatusDescriptions\" [value]=\"option\" [isDisabled]=\"field().isDisabled || false\"\n [isChecked]=\"formControl.value\" [isInline]=\"checkboxField.isInline || false\"\n (selected)=\"formControl.setValue(option)\"></upd-radio>\n }\n }\n @case (DynamicFieldType.Select) {\n <upd-select [name]=\"field().name\" [label]=\"field().label\" [hint]=\"field().hint\" [hintAsTooltip]=\"field().hintAsTooltip || false\"\n [validationStatus]=\"validationStatus\" [validationStatusDescriptions]=\"validationStatusDescriptions\"\n [useSystemStyle]=\"singleSelectField.useSystemStyle || false\" [isDisabled]=\"field().isDisabled || false\"\n [items]=\"selectField.items\" [layout]=\"layout()\" [labelColSize]=\"field().labelColSize\" [store]=\"selectField.store!\"\n [observable]=\"selectField.observable\" [itemKey]=\"selectField.itemKey\" [itemValue]=\"selectField.itemValue\"\n [dropdownMaxHeight]=\"selectField.dropdownMaxHeight || SelectDefaults.dropdownMaxHeight\"\n [typeaheadDebounce]=\"selectField.typeaheadDebounce || SelectDefaults.typeaheadDebounce\"\n [shouldAutoSearch]=\"selectField.shouldAutoSearch || SelectDefaults.shouldAutoSearch\"\n [shouldCloseOnOutsideClick]=\"selectField.shouldCloseOnOutsideClick || SelectDefaults.shouldCloseOnOutsideClick\"\n (selectedItem)=\"formControl.setValue($event?.value)\"></upd-select>\n }\n @case (DynamicFieldType.SelectMultiple) {\n <upd-select-multiple [name]=\"field().name\" [label]=\"field().label\" [hint]=\"field().hint\"\n [hintAsTooltip]=\"field().hintAsTooltip || false\" [validationStatus]=\"validationStatus\"\n [validationStatusDescriptions]=\"validationStatusDescriptions\" [isDisabled]=\"field().isDisabled || false\"\n [items]=\"selectField.items\" [layout]=\"layout()\" [labelColSize]=\"field().labelColSize\" [store]=\"selectField.store!\"\n [observable]=\"selectField.observable\" [itemKey]=\"selectField.itemKey\" [itemValue]=\"selectField.itemValue\"\n [dropdownMaxHeight]=\"selectField.dropdownMaxHeight || SelectDefaults.dropdownMaxHeight\"\n [typeaheadDebounce]=\"selectField.typeaheadDebounce || SelectDefaults.typeaheadDebounce\"\n [shouldAutoSearch]=\"selectField.shouldAutoSearch || SelectDefaults.shouldAutoSearch\"\n [shouldCloseOnOutsideClick]=\"selectField.shouldCloseOnOutsideClick || SelectDefaults.shouldCloseOnOutsideClick\"\n (selectedIds)=\"formControl.setValue($event)\"></upd-select-multiple>\n }\n @case (DynamicFieldType.Label) {\n <label class=\"form-label\">{{ getText(field().label) }}</label>\n }\n @case (DynamicFieldType.TextArea) {\n <upd-textarea [name]=\"field().name\" [label]=\"field().label\" [placeholder]=\"field().placeholder\" [hint]=\"field().hint\"\n [hintAsTooltip]=\"field().hintAsTooltip || false\" [validationStatus]=\"validationStatus\"\n [validationStatusDescriptions]=\"validationStatusDescriptions\" [isDisabled]=\"field().isDisabled || false\"\n [value]=\"formControl.value\" [customClasses]=\"textareaField.customClasses\" [wrapperClasses]=\"textareaField.wrapperClasses\"\n [maxLength]=\"textareaField.maxLength\" [rows]=\"textareaField.rows\"\n [displayCharactersCount]=\"textareaField.displayCharactersCount || false\"></upd-textarea>\n }\n}\n" }]
92
- }], propDecorators: { wrapperClasses: [{
93
- type: HostBinding,
94
- args: ['class']
95
- }] } });
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybS9zcmMvY29tcG9uZW50cy9keW5hbWljLWZpZWxkL2R5bmFtaWMtZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Zvcm0vc3JjL2NvbXBvbmVudHMvZHluYW1pYy1maWVsZC9keW5hbWljLWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsV0FBVyxFQUFFLE1BQU0sRUFBZSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0YsT0FBTyxFQUFhLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbkQsT0FBTyxFQUFFLGdCQUFnQixFQUFnRCxNQUFNLG9CQUFvQixDQUFDO0FBQ3BHLE9BQU8sRUFBRSxRQUFRLElBQUksY0FBYyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFFckYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOzs7Ozs7O0FBZXpFLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxhQUFhO0lBTHhEOztRQU0wQixtQkFBYyxHQUFHLEVBQUUsQ0FBQztRQUUxQyxxQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQztRQUNwQyxtQkFBYyxHQUFHLGNBQWMsQ0FBQztRQUNoQyxjQUFTLEdBQTJCLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNyRCxVQUFLLEdBQW1DLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN6RCxXQUFNLEdBQXdDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztR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Q0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDMUcsQ0FBQztJQUVPLG1CQUFtQjtRQUN2QixJQUFJLENBQUMsY0FBYyxHQUFHLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEYsQ0FBQzs4R0E1RVEscUJBQXFCO2tHQUFyQixxQkFBcUIsMGdCQ3hCbEMsc2hOQW1GQTs7MkZEM0RhLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDSSxtQkFBbUI7OEJBS1AsY0FBYztzQkFBbkMsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIEhvc3RCaW5kaW5nLCBpbmplY3QsIElucHV0U2lnbmFsLCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwLCBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRleHRNb2RlbCwgVGV4dFNlcnZpY2UgfSBmcm9tICdAdXBkZXZzL3Nkayc7XG5pbXBvcnQgeyBPcHRpb25hbFR5cGUgfSBmcm9tICdAdXBkZXZzL3Nkay90eXBlcyc7XG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50IH0gZnJvbSAnQHVwZGV2cy9zZGsvbGF5b3V0JztcbmltcG9ydCB7IENvbHVtblNpemVIZWxwZXIsIEhvcml6b250YWxWZXJ0aWNhbFR5cGUsIFZhbGlkYXRpb25TdGF0dXNUeXBlIH0gZnJvbSAnQHVwZGV2cy9jb21wb25lbnRzJztcbmltcG9ydCB7IERlZmF1bHRzIGFzIFNlbGVjdERlZmF1bHRzIH0gZnJvbSAnQHVwZGV2cy9jb21wb25lbnRzL2Zvcm0tY29udHJvbHMvc2VsZWN0JztcblxuaW1wb3J0IHsgRXJyb3JzSGVscGVyIH0gZnJvbSAnLi4vLi4vdG9vbHMvZXJyb3JzLWhlbHBlcic7XG5pbXBvcnQgeyBEeW5hbWljRmllbGRUeXBlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2VudW1zL2R5bmFtaWMtZmllbGQudHlwZSc7XG5pbXBvcnQgeyBEeW5hbWljRmllbGRNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9keW5hbWljLWZpZWxkLm1vZGVsJztcbmltcG9ydCB7IENoZWNrYm94RmllbGRNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9jaGVja2JveC1maWVsZC5tb2RlbCc7XG5pbXBvcnQgeyBSYWRpb0ZpZWxkTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvcmFkaW8tZmllbGQubW9kZWwnO1xuaW1wb3J0IHsgU2VsZWN0RmllbGRNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9zZWxlY3QtZmllbGQubW9kZWwnO1xuaW1wb3J0IHsgU2luZ2xlU2VsZWN0RmllbGRNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9zaW5nbGUtc2VsZWN0LWZpZWxkLm1vZGVsJztcbmltcG9ydCB7IENoZWNrYm94R3JvdXBGaWVsZE1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2NoZWNrYm94LWdyb3VwLWZpZWxkLm1vZGVsJztcbmltcG9ydCB7IFJhZGlvR3JvdXBGaWVsZE1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3JhZGlvLWdyb3VwLWZpZWxkLm1vZGVsJztcbmltcG9ydCB7IFRleHRhcmVhRmllbGRNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy90ZXh0YXJlYS1maWVsZC5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndXBkLWR5bmFtaWMtZmllbGQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9keW5hbWljLWZpZWxkLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vZHluYW1pYy1maWVsZC5jb21wb25lbnQuc2Nzcydcbn0pXG5leHBvcnQgY2xhc3MgRHluYW1pY0ZpZWxkQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIHdyYXBwZXJDbGFzc2VzID0gJyc7XG5cbiAgICBEeW5hbWljRmllbGRUeXBlID0gRHluYW1pY0ZpZWxkVHlwZTtcbiAgICBTZWxlY3REZWZhdWx0cyA9IFNlbGVjdERlZmF1bHRzO1xuICAgIGZvcm1Hcm91cDogSW5wdXRTaWduYWw8Rm9ybUdyb3VwPiA9IGlucHV0LnJlcXVpcmVkKCk7XG4gICAgZmllbGQ6IElucHV0U2lnbmFsPER5bmFtaWNGaWVsZE1vZGVsPiA9IGlucHV0LnJlcXVpcmVkKCk7XG4gICAgbGF5b3V0OiBJbnB1dFNpZ25hbDxIb3Jpem9udGFsVmVydGljYWxUeXBlPiA9IGlucHV0LnJlcXVpcmVkKCk7XG4gICAgdmFsaWRhdGlvblN0YXR1cz86IFZhbGlkYXRpb25TdGF0dXNUeXBlO1xuICAgIHZhbGlkYXRpb25TdGF0dXNEZXNjcmlwdGlvbnM6IFRleHRNb2RlbFtdID0gW107XG4gICAgZ2V0IGZvcm1Db250cm9sKCk6IEZvcm1Db250cm9sIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybUdyb3VwKCkuY29udHJvbHNbdGhpcy5maWVsZCgpLm5hbWVdIGFzIEZvcm1Db250cm9sO1xuICAgIH1cbiAgICBnZXQgY2hlY2tib3hGaWVsZCgpOiBDaGVja2JveEZpZWxkTW9kZWwge1xuICAgICAgICByZXR1cm4gdGhpcy5maWVsZCgpIGFzIENoZWNrYm94RmllbGRNb2RlbDtcbiAgICB9XG4gICAgZ2V0IGNoZWNrYm94R3JvdXBGaWVsZCgpOiBDaGVja2JveEdyb3VwRmllbGRNb2RlbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmZpZWxkKCkgYXMgQ2hlY2tib3hHcm91cEZpZWxkTW9kZWw7XG4gICAgfVxuICAgIGdldCByYWRpb0ZpZWxkKCk6IENoZWNrYm94RmllbGRNb2RlbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmZpZWxkKCkgYXMgUmFkaW9GaWVsZE1vZGVsO1xuICAgIH1cbiAgICBnZXQgcmFkaW9Hcm91cEZpZWxkKCk6IFJhZGlvR3JvdXBGaWVsZE1vZGVsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmllbGQoKSBhcyBSYWRpb0dyb3VwRmllbGRNb2RlbDtcbiAgICB9XG4gICAgZ2V0IHNlbGVjdEZpZWxkKCk6IFNlbGVjdEZpZWxkTW9kZWwge1xuICAgICAgICByZXR1cm4gdGhpcy5maWVsZCgpIGFzIFNlbGVjdEZpZWxkTW9kZWw7XG4gICAgfVxuICAgIGdldCBzaW5nbGVTZWxlY3RGaWVsZCgpOiBTaW5nbGVTZWxlY3RGaWVsZE1vZGVsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmllbGQoKSBhcyBTaW5nbGVTZWxlY3RGaWVsZE1vZGVsO1xuICAgIH1cbiAgICBnZXQgdGV4dGFyZWFGaWVsZCgpOiBUZXh0YXJlYUZpZWxkTW9kZWwge1xuICAgICAgICByZXR1cm4gdGhpcy5maWVsZCgpIGFzIFRleHRhcmVhRmllbGRNb2RlbDtcbiAgICB9XG4gICAgZ2V0IGNoZWNrYm94R3JvdXBPcHRpb25zS2V5cygpOiBzdHJpbmdbXSB7XG4gICAgICAgIHJldHVybiBPYmplY3Qua2V5cyh0aGlzLmNoZWNrYm94R3JvdXBGaWVsZC5vcHRpb25zKTtcbiAgICB9XG4gICAgZ2V0IHJhZGlvR3JvdXBPcHRpb25zS2V5cygpOiBzdHJpbmdbXSB7XG4gICAgICAgIHJldHVybiBPYmplY3Qua2V5cyh0aGlzLnJhZGlvR3JvdXBGaWVsZC5vcHRpb25zKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGVycm9yc0hlbHBlciA9IGluamVjdChFcnJvcnNIZWxwZXIpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdGV4dFNlcnZpY2UgPSBpbmplY3QoVGV4dFNlcnZpY2UpO1xuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHN0YXR1c1N1YiA9IHRoaXMuZm9ybUNvbnRyb2wuc3RhdHVzQ2hhbmdlcy5zdWJzY3JpYmUoc3RhdHVzID0+IHtcbiAgICAgICAgICAgIGlmIChzdGF0dXMgPT09ICdJTlZBTElEJykge1xuICAgICAgICAgICAgICAgIHRoaXMudmFsaWRhdGlvblN0YXR1c0Rlc2NyaXB0aW9ucyA9IHRoaXMuZXJyb3JzSGVscGVyLmdldE1lc3NhZ2VzKHRoaXMuZm9ybUNvbnRyb2wpXG4gICAgICAgICAgICAgICAgICAgIC5tYXAodCA9PiAoeyB0ZXh0OiB0LCBpc1RyYW5zbGF0ZWQ6IHRydWUgfSkpO1xuICAgICAgICAgICAgICAgIHRoaXMudmFsaWRhdGlvblN0YXR1cyA9ICdpbnZhbGlkJztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy52YWxpZGF0aW9uU3RhdHVzRGVzY3JpcHRpb25zID0gW107XG4gICAgICAgICAgICAgICAgdGhpcy52YWxpZGF0aW9uU3RhdHVzID0gdGhpcy5maWVsZCgpLnNob3dWYWxpZFN0YXR1cyA/ICd2YWxpZCcgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuc2V0dXBXcmFwcGVyQ2xhc3NlcygpO1xuICAgICAgICB0aGlzLmFkZFN1YnNjcmlwdGlvbnMoc3RhdHVzU3ViKTtcbiAgICB9XG5cbiAgICBvbkJsdXIoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmZpZWxkKCkuc2hvdWxkVmFsaWRhdGVPbkJsdXIpIHtcbiAgICAgICAgICAgIHRoaXMuZm9ybUNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0VGV4dCh0ZXh0TW9kZWw/OiBUZXh0TW9kZWwpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy50ZXh0U2VydmljZS5nZXRUZXh0KHRleHRNb2RlbCk7XG4gICAgfVxuXG4gICAgZ2V0T3B0aW9uRGVzY3JpcHRpb24oa2V5OiBzdHJpbmcsIHR5cGU6ICdjaGVja2JveCcgfCAncmFkaW8nKTogT3B0aW9uYWxUeXBlPFRleHRNb2RlbD4ge1xuICAgICAgICByZXR1cm4gdHlwZSA9PT0gJ2NoZWNrYm94JyA/IHRoaXMuY2hlY2tib3hHcm91cEZpZWxkLm9wdGlvbnNba2V5XSA6IHRoaXMucmFkaW9Hcm91cEZpZWxkLm9wdGlvbnNba2V5XTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldHVwV3JhcHBlckNsYXNzZXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMud3JhcHBlckNsYXNzZXMgPSBDb2x1bW5TaXplSGVscGVyLmdldFNpemVDbGFzc2VzKHRoaXMuZmllbGQoKS5jb2xTaXplKTtcbiAgICB9XG59XG4iLCJAc3dpdGNoIChmaWVsZCgpLnR5cGUpIHtcbiAgICBAY2FzZSAoRHluYW1pY0ZpZWxkVHlwZS5JbnB1dCkge1xuICAgICAgICA8dXBkLWlucHV0IFtuYW1lXT1cImZpZWxkKCkubmFtZVwiIFtsYWJlbF09XCJmaWVsZCgpLmxhYmVsXCIgW3BsYWNlaG9sZGVyXT1cImZpZWxkKCkucGxhY2Vob2xkZXJcIiBbaGludF09XCJmaWVsZCgpLmhpbnRcIlxuICAgICAgICAgICAgW2hpbnRBc1Rvb2x0aXBdPVwiZmllbGQoKS5oaW50QXNUb29sdGlwIHx8IGZhbHNlXCIgW3ZhbGlkYXRpb25TdGF0dXNdPVwidmFsaWRhdGlvblN0YXR1c1wiXG4gICAgICAgICAgICBbdmFsaWRhdGlvblN0YXR1c0Rlc2NyaXB0aW9uc109XCJ2YWxpZGF0aW9uU3RhdHVzRGVzY3JpcHRpb25zXCIgW2xheW91dF09XCJsYXlvdXQoKVwiIFtpc0Rpc2FibGVkXT1cImZpZWxkKCkuaXNEaXNhYmxlZCB8fCBmYWxzZVwiXG4gICAgICAgICAgICBbdHlwZV09XCJmaWVsZCgpLmlucHV0VHlwZSB8fCAndGV4dCdcIiBbbGFiZWxDb2xTaXplXT1cImZpZWxkKCkubGFiZWxDb2xTaXplXCIgW3ZhbHVlXT1cImZvcm1Db250cm9sLnZhbHVlXCJcbiAgICAgICAgICAgICh2YWx1ZUNoYW5nZSk9XCJmb3JtQ29udHJvbC5zZXRWYWx1ZSgkZXZlbnQpXCIgKGJsdXJyZWQpPVwib25CbHVyKClcIj48L3VwZC1pbnB1dD5cbiAgICB9XG4gICAgQGNhc2UgKER5bmFtaWNGaWVsZFR5cGUuQ2hlY2tib3gpIHtcbiAgICAgICAgPHVwZC1jaGVja2JveCBbbmFtZV09XCJmaWVsZCgpLm5hbWVcIiBbbGFiZWxdPVwiZmllbGQoKS5sYWJlbFwiIFtoaW50XT1cImZpZWxkKCkuaGludFwiIFtoaW50QXNUb29sdGlwXT1cImZpZWxkKCkuaGludEFzVG9vbHRpcCB8fCBmYWxzZVwiXG4gICAgICAgICAgICBbdmFsaWRhdGlvblN0YXR1c109XCJ2YWxpZGF0aW9uU3RhdHVzXCIgW3ZhbGlkYXRpb25TdGF0dXNEZXNjcmlwdGlvbnNdPVwidmFsaWRhdGlvblN0YXR1c0Rlc2NyaXB0aW9uc1wiIFt2YWx1ZV09XCJ0cnVlXCJcbiAgICAgICAgICAgIFtpc0Rpc2FibGVkXT1cImZpZWxkKCkuaXNEaXNhYmxlZCB8fCBmYWxzZVwiIFtpc0NoZWNrZWRdPVwiZm9ybUNvbnRyb2wudmFsdWVcIiBbaXNJbmxpbmVdPVwiY2hlY2tib3hGaWVsZC5pc0lubGluZSB8fCBmYWxzZVwiXG4gICAgICAgICAgICBbaXNTd2l0Y2hdPVwiY2hlY2tib3hGaWVsZC5pc1N3aXRjaCB8fCBmYWxzZVwiIChjaGFuZ2VkKT1cImZvcm1Db250cm9sLnNldFZhbHVlKCRldmVudClcIj48L3VwZC1jaGVja2JveD5cbiAgICB9XG4gICAgQGNhc2UgKER5bmFtaWNGaWVsZFR5cGUuQ2hlY2tib3hHcm91cCkge1xuICAgICAgICBAaWYgKCEhZmllbGQoKS5sYWJlbCkge1xuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiPnt7IGdldFRleHQoZmllbGQoKS5sYWJlbCkgfX08L2xhYmVsPlxuICAgICAgICB9XG5cbiAgICAgICAgQGZvciAob3B0aW9uIG9mIGNoZWNrYm94R3JvdXBPcHRpb25zS2V5czsgdHJhY2sgb3B0aW9uKSB7XG4gICAgICAgICAgICA8dXBkLWNoZWNrYm94IFtuYW1lXT1cImZpZWxkKCkubmFtZVwiIFtsYWJlbF09XCJnZXRPcHRpb25EZXNjcmlwdGlvbihvcHRpb24sICdjaGVja2JveCcpXCIgW2hpbnRdPVwiZmllbGQoKS5oaW50XCJcbiAgICAgICAgICAgICAgICBbaGludEFzVG9vbHRpcF09XCJmaWVsZCgpLmhpbnRBc1Rvb2x0aXAgfHwgZmFsc2VcIiBbdmFsaWRhdGlvblN0YXR1c109XCJ2YWxpZGF0aW9uU3RhdHVzXCJcbiAgICAgICAgICAgICAgICBbdmFsaWRhdGlvblN0YXR1c0Rlc2NyaXB0aW9uc109XCJ2YWxpZGF0aW9uU3RhdHVzRGVzY3JpcHRpb25zXCIgW3ZhbHVlXT1cIm9wdGlvblwiIFtpc0Rpc2FibGVkXT1cImZpZWxkKCkuaXNEaXNhYmxlZCB8fCBmYWxzZVwiXG4gICAgICAgICAgICAgICAgW2lzQ2hlY2tlZF09XCJmb3JtQ29udHJvbC52YWx1ZVwiIFtpc0lubGluZV09XCJjaGVja2JveEZpZWxkLmlzSW5saW5lIHx8IGZhbHNlXCIgW2lzU3dpdGNoXT1cImNoZWNrYm94RmllbGQuaXNTd2l0Y2ggfHwgZmFsc2VcIlxuICAgICAgICAgICAgICAgIChjaGFuZ2VkKT1cImZvcm1Db250cm9sLnNldFZhbHVlKG9wdGlvbilcIj48L3VwZC1jaGVja2JveD5cbiAgICAgICAgfVxuICAgIH1cbiAgICBAY2FzZSAoRHluYW1pY0ZpZWxkVHlwZS5SYWRpbykge1xuICAgICAgICA8dXBkLXJhZGlvIFtuYW1lXT1cImZpZWxkKCkubmFtZVwiIFtsYWJlbF09XCJmaWVsZCgpLmxhYmVsXCIgW2hpbnRdPVwiZmllbGQoKS5oaW50XCIgW2hpbnRBc1Rvb2x0aXBdPVwiZmllbGQoKS5oaW50QXNUb29sdGlwIHx8IGZhbHNlXCJcbiAgICAgICAgICAgIFt2YWxpZGF0aW9uU3RhdHVzXT1cInZhbGlkYXRpb25TdGF0dXNcIiBbdmFsaWRhdGlvblN0YXR1c0Rlc2NyaXB0aW9uc109XCJ2YWxpZGF0aW9uU3RhdHVzRGVzY3JpcHRpb25zXCIgW3ZhbHVlXT1cInRydWVcIlxuICAgICAgICAgICAgW2lzQ2hlY2tlZF09XCJmb3JtQ29udHJvbC52YWx1ZVwiIFtpc0Rpc2FibGVkXT1cImZpZWxkKCkuaXNEaXNhYmxlZCB8fCBmYWxzZVwiIFtpc0lubGluZV09XCJyYWRpb0ZpZWxkLmlzSW5saW5lIHx8IGZhbHNlXCJcbiAgICAgICAgICAgIChzZWxlY3RlZCk9XCJmb3JtQ29udHJvbC5zZXRWYWx1ZSgkZXZlbnQpXCI+XG4gICAgICAgIDwvdXBkLXJhZGlvPlxuICAgIH1cbiAgICBAY2FzZSAoRHluYW1pY0ZpZWxkVHlwZS5SYWRpb0dyb3VwKSB7XG4gICAgICAgIEBpZiAoISFmaWVsZCgpLmxhYmVsKSB7XG4gICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCI+e3sgZ2V0VGV4dChmaWVsZCgpLmxhYmVsKSB9fTwvbGFiZWw+XG4gICAgICAgIH1cblxuICAgICAgICBAZm9yIChvcHRpb24gb2YgcmFkaW9Hcm91cE9wdGlvbnNLZXlzOyB0cmFjayBvcHRpb24pIHtcbiAgICAgICAgICAgIDx1cGQtcmFkaW8gW25hbWVdPVwiZmllbGQoKS5uYW1lXCIgW2xhYmVsXT1cImdldE9wdGlvbkRlc2NyaXB0aW9uKG9wdGlvbiwgJ3JhZGlvJylcIiBbaGludF09XCJmaWVsZCgpLmhpbnRcIlxuICAgICAgICAgICAgICAgIFtoaW50QXNUb29sdGlwXT1cImZpZWxkKCkuaGludEFzVG9vbHRpcCB8fCBmYWxzZVwiIFt2YWxpZGF0aW9uU3RhdHVzXT1cInZhbGlkYXRpb25TdGF0dXNcIlxuICAgICAgICAgICAgICAgIFt2YWxpZGF0aW9uU3RhdHVzRGVzY3JpcHRpb25zXT1cInZhbGlkYXRpb25TdGF0dXNEZXNjcmlwdGlvbnNcIiBbdmFsdWVdPVwib3B0aW9uXCIgW2lzRGlzYWJsZWRdPVwiZmllbGQoKS5pc0Rpc2FibGVkIHx8IGZhbHNlXCJcbiAgICAgICAgICAgICAgICBbaXNDaGVja2VkXT1cImZvcm1Db250cm9sLnZhbHVlXCIgW2lzSW5saW5lXT1cImNoZWNrYm94RmllbGQuaXNJbmxpbmUgfHwgZmFsc2VcIlxuICAgICAgICAgICAgICAgIChzZWxlY3RlZCk9XCJmb3JtQ29udHJvbC5zZXRWYWx1ZShvcHRpb24pXCI+PC91cGQtcmFkaW8+XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGNhc2UgKER5bmFtaWNGaWVsZFR5cGUuU2VsZWN0KSB7XG4gICAgICAgIDx1cGQtc2VsZWN0IFtuYW1lXT1cImZpZWxkKCkubmFtZVwiIFtsYWJlbF09XCJmaWVsZCgpLmxhYmVsXCIgW2hpbnRdPVwiZmllbGQoKS5oaW50XCIgW2hpbnRBc1Rvb2x0aXBdPVwiZmllbGQoKS5oaW50QXNUb29sdGlwIHx8IGZhbHNlXCJcbiAgICAgICAgICAgIFt2YWxpZGF0aW9uU3RhdHVzXT1cInZhbGlkYXRpb25TdGF0dXNcIiBbdmFsaWRhdGlvblN0YXR1c0Rlc2NyaXB0aW9uc109XCJ2YWxpZGF0aW9uU3RhdHVzRGVzY3JpcHRpb25zXCJcbiAgICAgICAgICAgIFt1c2VTeXN0ZW1TdHlsZV09XCJzaW5nbGVTZWxlY3RGaWVsZC51c2VTeXN0ZW1TdHlsZSB8fCBmYWxzZVwiIFtpc0Rpc2FibGVkXT1cImZpZWxkKCkuaXNEaXNhYmxlZCB8fCBmYWxzZVwiXG4gICAgICAgICAgICBbaXRlbXNdPVwic2VsZWN0RmllbGQuaXRlbXNcIiBbbGF5b3V0XT1cImxheW91dCgpXCIgW2xhYmVsQ29sU2l6ZV09XCJmaWVsZCgpLmxhYmVsQ29sU2l6ZVwiIFtzdG9yZV09XCJzZWxlY3RGaWVsZC5zdG9yZSFcIlxuICAgICAgICAgICAgW29ic2VydmFibGVdPVwic2VsZWN0RmllbGQub2JzZXJ2YWJsZVwiIFtpdGVtS2V5XT1cInNlbGVjdEZpZWxkLml0ZW1LZXlcIiBbaXRlbVZhbHVlXT1cInNlbGVjdEZpZWxkLml0ZW1WYWx1ZVwiXG4gICAgICAgICAgICBbZHJvcGRvd25NYXhIZWlnaHRdPVwic2VsZWN0RmllbGQuZHJvcGRvd25NYXhIZWlnaHQgfHwgU2VsZWN0RGVmYXVsdHMuZHJvcGRvd25NYXhIZWlnaHRcIlxuICAgICAgICAgICAgW3R5cGVhaGVhZERlYm91bmNlXT1cInNlbGVjdEZpZWxkLnR5cGVhaGVhZERlYm91bmNlIHx8IFNlbGVjdERlZmF1bHRzLnR5cGVhaGVhZERlYm91bmNlXCJcbiAgICAgICAgICAgIFtzaG91bGRBdXRvU2VhcmNoXT1cInNlbGVjdEZpZWxkLnNob3VsZEF1dG9TZWFyY2ggfHwgU2VsZWN0RGVmYXVsdHMuc2hvdWxkQXV0b1NlYXJjaFwiXG4gICAgICAgICAgICBbc2hvdWxkQ2xvc2VPbk91dHNpZGVDbGlja109XCJzZWxlY3RGaWVsZC5zaG91bGRDbG9zZU9uT3V0c2lkZUNsaWNrIHx8IFNlbGVjdERlZmF1bHRzLnNob3VsZENsb3NlT25PdXRzaWRlQ2xpY2tcIlxuICAgICAgICAgICAgKHNlbGVjdGVkSXRlbSk9XCJmb3JtQ29udHJvbC5zZXRWYWx1ZSgkZXZlbnQ/LnZhbHVlKVwiPjwvdXBkLXNlbGVjdD5cbiAgICB9XG4gICAgQGNhc2UgKER5bmFtaWNGaWVsZFR5cGUuU2VsZWN0TXVsdGlwbGUpIHtcbiAgICAgICAgPHVwZC1zZWxlY3QtbXVsdGlwbGUgW25hbWVdPVwiZmllbGQoKS5uYW1lXCIgW2xhYmVsXT1cImZpZWxkKCkubGFiZWxcIiBbaGludF09XCJmaWVsZCgpLmhpbnRcIlxuICAgICAgICAgICAgW2hpbnRBc1Rvb2x0aXBdPVwiZmllbGQoKS5oaW50QXNUb29sdGlwIHx8IGZhbHNlXCIgW3ZhbGlkYXRpb25TdGF0dXNdPVwidmFsaWRhdGlvblN0YXR1c1wiXG4gICAgICAgICAgICBbdmFsaWRhdGlvblN0YXR1c0Rlc2NyaXB0aW9uc109XCJ2YWxpZGF0aW9uU3RhdHVzRGVzY3JpcHRpb25zXCIgW2lzRGlzYWJsZWRdPVwiZmllbGQoKS5pc0Rpc2FibGVkIHx8IGZhbHNlXCJcbiAgICAgICAgICAgIFtpdGVtc109XCJzZWxlY3RGaWVsZC5pdGVtc1wiIFtsYXlvdXRdPVwibGF5b3V0KClcIiBbbGFiZWxDb2xTaXplXT1cImZpZWxkKCkubGFiZWxDb2xTaXplXCIgW3N0b3JlXT1cInNlbGVjdEZpZWxkLnN0b3JlIVwiXG4gICAgICAgICAgICBbb2JzZXJ2YWJsZV09XCJzZWxlY3RGaWVsZC5vYnNlcnZhYmxlXCIgW2l0ZW1LZXldPVwic2VsZWN0RmllbGQuaXRlbUtleVwiIFtpdGVtVmFsdWVdPVwic2VsZWN0RmllbGQuaXRlbVZhbHVlXCJcbiAgICAgICAgICAgIFtkcm9wZG93bk1heEhlaWdodF09XCJzZWxlY3RGaWVsZC5kcm9wZG93bk1heEhlaWdodCB8fCBTZWxlY3REZWZhdWx0cy5kcm9wZG93bk1heEhlaWdodFwiXG4gICAgICAgICAgICBbdHlwZWFoZWFkRGVib3VuY2VdPVwic2VsZWN0RmllbGQudHlwZWFoZWFkRGVib3VuY2UgfHwgU2VsZWN0RGVmYXVsdHMudHlwZWFoZWFkRGVib3VuY2VcIlxuICAgICAgICAgICAgW3Nob3VsZEF1dG9TZWFyY2hdPVwic2VsZWN0RmllbGQuc2hvdWxkQXV0b1NlYXJjaCB8fCBTZWxlY3REZWZhdWx0cy5zaG91bGRBdXRvU2VhcmNoXCJcbiAgICAgICAgICAgIFtzaG91bGRDbG9zZU9uT3V0c2lkZUNsaWNrXT1cInNlbGVjdEZpZWxkLnNob3VsZENsb3NlT25PdXRzaWRlQ2xpY2sgfHwgU2VsZWN0RGVmYXVsdHMuc2hvdWxkQ2xvc2VPbk91dHNpZGVDbGlja1wiXG4gICAgICAgICAgICAoc2VsZWN0ZWRJZHMpPVwiZm9ybUNvbnRyb2wuc2V0VmFsdWUoJGV2ZW50KVwiPjwvdXBkLXNlbGVjdC1tdWx0aXBsZT5cbiAgICB9XG4gICAgQGNhc2UgKER5bmFtaWNGaWVsZFR5cGUuTGFiZWwpIHtcbiAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiPnt7IGdldFRleHQoZmllbGQoKS5sYWJlbCkgfX08L2xhYmVsPlxuICAgIH1cbiAgICBAY2FzZSAoRHluYW1pY0ZpZWxkVHlwZS5UZXh0QXJlYSkge1xuICAgICAgICA8dXBkLXRleHRhcmVhIFtuYW1lXT1cImZpZWxkKCkubmFtZVwiIFtsYWJlbF09XCJmaWVsZCgpLmxhYmVsXCIgW3BsYWNlaG9sZGVyXT1cImZpZWxkKCkucGxhY2Vob2xkZXJcIiBbaGludF09XCJmaWVsZCgpLmhpbnRcIlxuICAgICAgICAgICAgW2hpbnRBc1Rvb2x0aXBdPVwiZmllbGQoKS5oaW50QXNUb29sdGlwIHx8IGZhbHNlXCIgW3ZhbGlkYXRpb25TdGF0dXNdPVwidmFsaWRhdGlvblN0YXR1c1wiXG4gICAgICAgICAgICBbdmFsaWRhdGlvblN0YXR1c0Rlc2NyaXB0aW9uc109XCJ2YWxpZGF0aW9uU3RhdHVzRGVzY3JpcHRpb25zXCIgW2lzRGlzYWJsZWRdPVwiZmllbGQoKS5pc0Rpc2FibGVkIHx8IGZhbHNlXCJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJmb3JtQ29udHJvbC52YWx1ZVwiIFtjdXN0b21DbGFzc2VzXT1cInRleHRhcmVhRmllbGQuY3VzdG9tQ2xhc3Nlc1wiIFt3cmFwcGVyQ2xhc3Nlc109XCJ0ZXh0YXJlYUZpZWxkLndyYXBwZXJDbGFzc2VzXCJcbiAgICAgICAgICAgIFttYXhMZW5ndGhdPVwidGV4dGFyZWFGaWVsZC5tYXhMZW5ndGhcIiBbcm93c109XCJ0ZXh0YXJlYUZpZWxkLnJvd3NcIlxuICAgICAgICAgICAgW2Rpc3BsYXlDaGFyYWN0ZXJzQ291bnRdPVwidGV4dGFyZWFGaWVsZC5kaXNwbGF5Q2hhcmFjdGVyc0NvdW50IHx8IGZhbHNlXCI+PC91cGQtdGV4dGFyZWE+XG4gICAgfVxufVxuIl19