@updevs/components 1.0.0-alpha.8 → 1.0.0-alpha.81

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 (687) hide show
  1. package/README.md +1 -11
  2. package/assets/styles/_bootstrap-components.scss +18 -1
  3. package/assets/styles/_core.scss +9 -0
  4. package/assets/styles/_debug.scss +49 -0
  5. package/assets/styles/_props.scss +91 -0
  6. package/assets/styles/_seven-columns.scss +73 -0
  7. package/assets/styles/_updevs.scss +16 -0
  8. package/assets/styles/_utilities-marketing.scss +209 -0
  9. package/assets/styles/_utilities.scss +127 -92
  10. package/assets/styles/_variables-dark.scss +8 -6
  11. package/assets/styles/_variables.scss +325 -256
  12. package/assets/styles/helpers/_index.scss +143 -0
  13. package/assets/styles/layout/_core.scss +3 -2
  14. package/assets/styles/layout/_dark.scss +40 -35
  15. package/assets/styles/layout/_footer.scss +1 -1
  16. package/assets/styles/layout/_navbar.scss +31 -19
  17. package/assets/styles/layout/_page.scss +6 -5
  18. package/assets/styles/layout/_root.scss +26 -34
  19. package/assets/styles/marketing/_browser.scss +67 -0
  20. package/assets/styles/marketing/_core.scss +8 -0
  21. package/assets/styles/marketing/_filters.scss +0 -0
  22. package/assets/styles/marketing/_hero.scss +70 -0
  23. package/assets/styles/marketing/_pricing.scss +111 -0
  24. package/assets/styles/marketing/_sections.scss +124 -0
  25. package/assets/styles/marketing/_shape.scss +31 -0
  26. package/assets/styles/mixins/_functions.scss +53 -0
  27. package/assets/styles/mixins/_mixins.scss +9 -9
  28. package/assets/styles/ui/_accordion.scss +165 -11
  29. package/assets/styles/ui/_alerts.scss +80 -38
  30. package/assets/styles/ui/_avatars.scss +36 -9
  31. package/assets/styles/ui/_badges.scss +47 -13
  32. package/assets/styles/ui/_button-group.scss +1 -1
  33. package/assets/styles/ui/_buttons.scss +33 -37
  34. package/assets/styles/ui/_calendars.scss +2 -2
  35. package/assets/styles/ui/_cards.scss +9 -0
  36. package/assets/styles/ui/_carousel.scss +1 -1
  37. package/assets/styles/ui/_charts.scss +1 -1
  38. package/assets/styles/ui/_chat.scss +38 -0
  39. package/assets/styles/ui/_close.scss +54 -1
  40. package/assets/styles/ui/_datagrid.scss +1 -1
  41. package/assets/styles/ui/_dropdowns.scss +3 -0
  42. package/assets/styles/ui/_empty.scss +0 -5
  43. package/assets/styles/ui/_flags.scss +2 -2
  44. package/assets/styles/ui/_forms.scss +33 -7
  45. package/assets/styles/ui/_grid.scss +1 -1
  46. package/assets/styles/ui/_icons.scss +1 -1
  47. package/assets/styles/ui/_images.scss +4 -0
  48. package/assets/styles/ui/_lists.scss +12 -16
  49. package/assets/styles/ui/_loaders.scss +1 -1
  50. package/assets/styles/ui/_markdown.scss +15 -4
  51. package/assets/styles/ui/_modals.scss +2 -2
  52. package/assets/styles/ui/_nav.scss +17 -3
  53. package/assets/styles/ui/_offcanvas.scss +2 -2
  54. package/assets/styles/ui/_pagination.scss +2 -0
  55. package/assets/styles/ui/_payments.scss +1 -1
  56. package/assets/styles/ui/_placeholder.scss +1 -1
  57. package/assets/styles/ui/_progress.scss +1 -1
  58. package/assets/styles/ui/_ribbons.scss +1 -0
  59. package/assets/styles/ui/_segmented.scss +101 -0
  60. package/assets/styles/ui/_signature.scss +15 -0
  61. package/assets/styles/ui/_social.scss +52 -0
  62. package/assets/styles/ui/_status.scss +1 -1
  63. package/assets/styles/ui/_steps.scss +5 -1
  64. package/assets/styles/ui/_switch-icon.scss +1 -1
  65. package/assets/styles/ui/_tables.scss +27 -1
  66. package/assets/styles/ui/_tags.scss +1 -1
  67. package/assets/styles/ui/_timeline.scss +1 -1
  68. package/assets/styles/ui/_toasts.scss +0 -1
  69. package/assets/styles/ui/_tracking.scss +1 -1
  70. package/assets/styles/ui/_type.scss +169 -8
  71. package/assets/styles/ui/forms/_form-check.scss +1 -1
  72. package/assets/styles/ui/forms/_form-colorinput.scss +1 -1
  73. package/assets/styles/ui/forms/_form-custom.scss +1 -1
  74. package/assets/styles/ui/forms/_form-imagecheck.scss +6 -5
  75. package/assets/styles/ui/forms/_form-selectgroup.scss +2 -2
  76. package/assets/styles/ui/typo/_hr.scss +4 -2
  77. package/assets/styles/utils/_colors.scss +72 -11
  78. package/assets/styles/utils/_opacity.scss +1 -1
  79. package/assets/styles/utils/_scroll.scss +0 -2
  80. package/assets/styles/utils/_sizing.scss +1 -1
  81. package/assets/styles/utils/_text.scss +1 -2
  82. package/assets/styles/vendor/_apexcharts.scss +52 -0
  83. package/assets/styles/vendor/_coloris.scss +72 -0
  84. package/assets/styles/vendor/_dropzone.scss +27 -0
  85. package/assets/styles/vendor/_fslightbox.scss +13 -0
  86. package/assets/styles/vendor/_jsvectormap.scss +47 -0
  87. package/assets/styles/vendor/_litepicker.scss +69 -0
  88. package/assets/styles/vendor/_nouislider.scss +49 -0
  89. package/assets/styles/vendor/_plyr.scss +3 -0
  90. package/assets/styles/vendor/_stars-rating.scss +22 -0
  91. package/assets/styles/vendor/_tom-select.scss +81 -0
  92. package/assets/styles/vendor/_turbo.scss +3 -0
  93. package/assets/styles/vendor/_typed.scss +4 -0
  94. package/assets/styles/vendor/_wysiwyg.scss +46 -0
  95. package/badge/badge-config.model.d.ts +14 -0
  96. package/badge/badge.component.d.ts +23 -0
  97. package/badge/badge.config.d.ts +12 -0
  98. package/badge/index.d.ts +1 -0
  99. package/badge/public-api.d.ts +3 -0
  100. package/badge/upd-badge.module.d.ts +8 -0
  101. package/button/button.component.d.ts +51 -33
  102. package/button/upd-button.module.d.ts +3 -1
  103. package/calendar/calendar.component.d.ts +63 -0
  104. package/calendar/index.d.ts +1 -0
  105. package/calendar/models/calendar-date.model.d.ts +10 -0
  106. package/calendar/models/calendar-month.model.d.ts +7 -0
  107. package/calendar/models/calendar-selected.model.d.ts +5 -0
  108. package/calendar/models/calendar-user-event.model.d.ts +4 -0
  109. package/calendar/models/calendar-year.model.d.ts +6 -0
  110. package/calendar/models/date-range.model.d.ts +22 -0
  111. package/calendar/models/enums/calendar-view.enum.d.ts +5 -0
  112. package/calendar/models/public-api.d.ts +7 -0
  113. package/calendar/public-api.d.ts +5 -0
  114. package/calendar/services/calendar-range-strategy.service.d.ts +35 -0
  115. package/calendar/services/calendar-signals.service.d.ts +24 -0
  116. package/calendar/services/public-api.d.ts +1 -0
  117. package/calendar/types/calendar-view.type.d.ts +1 -0
  118. package/calendar/types/public-api.d.ts +1 -0
  119. package/calendar/upd-calendar.module.d.ts +13 -0
  120. package/card/card.component.d.ts +2 -2
  121. package/card/public-api.d.ts +1 -0
  122. package/card/types/public-api.d.ts +5 -0
  123. package/drag-and-drop/drag-and-drop.component.d.ts +26 -0
  124. package/drag-and-drop/index.d.ts +1 -0
  125. package/drag-and-drop/models/drag-and-drop-column.config.d.ts +8 -0
  126. package/drag-and-drop/models/drag-and-drop-column.model.d.ts +10 -0
  127. package/drag-and-drop/models/drag-and-drop-item.d.ts +7 -0
  128. package/drag-and-drop/models/drag-and-drop-item.model.d.ts +13 -0
  129. package/drag-and-drop/models/drag-and-drop.config.d.ts +6 -0
  130. package/drag-and-drop/models/public-api.d.ts +4 -0
  131. package/drag-and-drop/public-api.d.ts +3 -0
  132. package/drag-and-drop/upd-drag-and-drop.module.d.ts +9 -0
  133. package/dropdown/dropdown.component.d.ts +23 -6
  134. package/dropdown/models/dropdown-action-clicked.model.d.ts +6 -0
  135. package/dropdown/models/dropdown-item.d.ts +7 -2
  136. package/dropdown/models/dropdown-item.type.d.ts +1 -1
  137. package/dropdown/models/public-api.d.ts +2 -0
  138. package/dropdown/models/toolbar.type.d.ts +1 -0
  139. package/esm2022/badge/badge-config.model.mjs +14 -0
  140. package/esm2022/badge/badge.component.mjs +48 -0
  141. package/esm2022/badge/badge.config.mjs +2 -0
  142. package/esm2022/badge/index.mjs +2 -0
  143. package/esm2022/badge/public-api.mjs +4 -0
  144. package/esm2022/badge/upd-badge.module.mjs +24 -0
  145. package/esm2022/badge/updevs-components-badge.mjs +5 -0
  146. package/esm2022/button/button.component.mjs +126 -132
  147. package/esm2022/button/index.mjs +1 -1
  148. package/esm2022/button/public-api.mjs +1 -1
  149. package/esm2022/button/upd-button.module.mjs +14 -6
  150. package/esm2022/button/updevs-components-button.mjs +1 -1
  151. package/esm2022/calendar/assets/i18n/en.json +16 -0
  152. package/esm2022/calendar/assets/i18n/pt.json +16 -0
  153. package/esm2022/calendar/calendar.component.mjs +318 -0
  154. package/esm2022/calendar/index.mjs +2 -0
  155. package/esm2022/calendar/models/calendar-date.model.mjs +2 -0
  156. package/esm2022/calendar/models/calendar-month.model.mjs +2 -0
  157. package/esm2022/calendar/models/calendar-selected.model.mjs +2 -0
  158. package/esm2022/calendar/models/calendar-user-event.model.mjs +2 -0
  159. package/esm2022/calendar/models/calendar-year.model.mjs +2 -0
  160. package/esm2022/calendar/models/date-range.model.mjs +18 -0
  161. package/esm2022/calendar/models/enums/calendar-view.enum.mjs +7 -0
  162. package/esm2022/calendar/models/public-api.mjs +8 -0
  163. package/esm2022/calendar/public-api.mjs +6 -0
  164. package/esm2022/calendar/services/calendar-range-strategy.service.mjs +99 -0
  165. package/esm2022/calendar/services/calendar-signals.service.mjs +47 -0
  166. package/esm2022/calendar/services/public-api.mjs +2 -0
  167. package/esm2022/calendar/types/calendar-view.type.mjs +2 -0
  168. package/esm2022/calendar/types/public-api.mjs +2 -0
  169. package/esm2022/calendar/upd-calendar.module.mjs +52 -0
  170. package/esm2022/calendar/updevs-components-calendar.mjs +5 -0
  171. package/esm2022/card/card.component.mjs +4 -4
  172. package/esm2022/card/directives/card-actions.directive.mjs +4 -4
  173. package/esm2022/card/directives/card-footer.directive.mjs +4 -4
  174. package/esm2022/card/directives/card-header.directive.mjs +4 -4
  175. package/esm2022/card/directives/card-image.directive.mjs +4 -4
  176. package/esm2022/card/directives/public-api.mjs +1 -1
  177. package/esm2022/card/index.mjs +1 -1
  178. package/esm2022/card/public-api.mjs +2 -1
  179. package/esm2022/card/types/card-state.type.mjs +1 -1
  180. package/esm2022/card/types/card-style.type.mjs +1 -1
  181. package/esm2022/card/types/hover-effect.type.mjs +1 -1
  182. package/esm2022/card/types/public-api.mjs +6 -0
  183. package/esm2022/card/types/ribbon-style.type.mjs +1 -1
  184. package/esm2022/card/types/status-position.type.mjs +1 -1
  185. package/esm2022/card/upd-card.module.mjs +5 -5
  186. package/esm2022/card/updevs-components-card.mjs +1 -1
  187. package/esm2022/drag-and-drop/drag-and-drop.component.mjs +134 -0
  188. package/esm2022/drag-and-drop/index.mjs +2 -0
  189. package/esm2022/drag-and-drop/models/drag-and-drop-column.config.mjs +2 -0
  190. package/esm2022/drag-and-drop/models/drag-and-drop-column.model.mjs +9 -0
  191. package/esm2022/drag-and-drop/models/drag-and-drop-item.mjs +2 -0
  192. package/esm2022/drag-and-drop/models/drag-and-drop-item.model.mjs +14 -0
  193. package/esm2022/drag-and-drop/models/drag-and-drop.config.mjs +2 -0
  194. package/esm2022/drag-and-drop/models/public-api.mjs +5 -0
  195. package/esm2022/drag-and-drop/public-api.mjs +4 -0
  196. package/esm2022/drag-and-drop/upd-drag-and-drop.module.mjs +28 -0
  197. package/esm2022/drag-and-drop/updevs-components-drag-and-drop.mjs +5 -0
  198. package/esm2022/dropdown/dropdown.component.mjs +79 -21
  199. package/esm2022/dropdown/index.mjs +1 -1
  200. package/esm2022/dropdown/models/dropdown-action-clicked.model.mjs +2 -0
  201. package/esm2022/dropdown/models/dropdown-item.mjs +1 -1
  202. package/esm2022/dropdown/models/dropdown-item.type.mjs +1 -1
  203. package/esm2022/dropdown/models/public-api.mjs +3 -1
  204. package/esm2022/dropdown/models/toolbar.type.mjs +2 -0
  205. package/esm2022/dropdown/public-api.mjs +1 -1
  206. package/esm2022/dropdown/upd-dropdown.module.mjs +5 -5
  207. package/esm2022/dropdown/updevs-components-dropdown.mjs +1 -1
  208. package/esm2022/form/assets/i18n/en.json +17 -0
  209. package/esm2022/form/assets/i18n/pt.json +17 -0
  210. package/esm2022/form/components/dynamic-field/dynamic-field.component.mjs +166 -0
  211. package/esm2022/form/form.component.mjs +180 -0
  212. package/esm2022/form/index.mjs +1 -1
  213. package/esm2022/form/models/attachment-rule.model.mjs +2 -0
  214. package/esm2022/form/models/button-field.model.mjs +2 -0
  215. package/esm2022/form/models/button-group-field.model.mjs +2 -0
  216. package/esm2022/form/models/checkbox-field.model.mjs +2 -0
  217. package/esm2022/form/models/checkbox-group-field.model.mjs +2 -0
  218. package/esm2022/form/models/dynamic-field.model.mjs +2 -0
  219. package/esm2022/form/models/enums/attachment-type.enum.mjs +15 -0
  220. package/esm2022/form/models/enums/dynamic-field.type.mjs +17 -0
  221. package/esm2022/form/models/enums/public-api.mjs +3 -0
  222. package/esm2022/form/models/file-upload-field.model.mjs +2 -0
  223. package/esm2022/form/models/form-config.mjs +2 -0
  224. package/esm2022/form/models/form-row.model.mjs +2 -0
  225. package/esm2022/form/models/form-update-on.type.mjs +2 -0
  226. package/esm2022/form/models/input-field.model.mjs +2 -0
  227. package/esm2022/form/models/masked-input-field.model.mjs +2 -0
  228. package/esm2022/form/models/public-api.mjs +19 -0
  229. package/esm2022/form/models/radio-field.model.mjs +2 -0
  230. package/esm2022/form/models/radio-group-field.model.mjs +2 -0
  231. package/esm2022/form/models/select-field.model.mjs +2 -0
  232. package/esm2022/form/models/single-select-field.model.mjs +2 -0
  233. package/esm2022/form/models/textarea-field.model.mjs +2 -0
  234. package/esm2022/form/models/validator-config.mjs +2 -0
  235. package/esm2022/form/public-api.mjs +4 -2
  236. package/esm2022/form/tools/errors-helper.mjs +54 -0
  237. package/esm2022/form/upd-form.module.mjs +84 -0
  238. package/esm2022/form/updevs-components-form.mjs +1 -1
  239. package/esm2022/form-controls/abstractions/base-control.mjs +46 -0
  240. package/esm2022/form-controls/abstractions/index.mjs +2 -0
  241. package/esm2022/form-controls/abstractions/public-api.mjs +2 -0
  242. package/esm2022/form-controls/abstractions/updevs-components-form-controls-abstractions.mjs +5 -0
  243. package/esm2022/form-controls/checkbox/checkbox.component.mjs +37 -51
  244. package/esm2022/form-controls/checkbox/index.mjs +1 -1
  245. package/esm2022/form-controls/checkbox/public-api.mjs +1 -1
  246. package/esm2022/form-controls/checkbox/upd-checkbox.module.mjs +12 -8
  247. package/esm2022/form-controls/checkbox/updevs-components-form-controls-checkbox.mjs +1 -1
  248. package/esm2022/form-controls/date-picker/date-picker.component.mjs +132 -0
  249. package/esm2022/form-controls/date-picker/index.mjs +2 -0
  250. package/esm2022/form-controls/date-picker/public-api.mjs +3 -0
  251. package/esm2022/form-controls/date-picker/upd-date-picker.module.mjs +40 -0
  252. package/esm2022/form-controls/date-picker/updevs-components-form-controls-date-picker.mjs +5 -0
  253. package/esm2022/form-controls/file-upload/assets/i18n/en.json +15 -0
  254. package/esm2022/form-controls/file-upload/assets/i18n/pt.json +15 -0
  255. package/esm2022/form-controls/file-upload/file-upload-changed.event.mjs +2 -0
  256. package/esm2022/form-controls/file-upload/file-upload.component.mjs +169 -0
  257. package/esm2022/form-controls/file-upload/index.mjs +2 -0
  258. package/esm2022/form-controls/file-upload/public-api.mjs +4 -0
  259. package/esm2022/form-controls/file-upload/upd-file-upload.module.mjs +48 -0
  260. package/esm2022/form-controls/file-upload/updevs-components-form-controls-file-upload.mjs +5 -0
  261. package/esm2022/form-controls/input/directives/input-append.directive.mjs +4 -4
  262. package/esm2022/form-controls/input/directives/input-prepend.directive.mjs +4 -4
  263. package/esm2022/form-controls/input/directives/public-api.mjs +1 -1
  264. package/esm2022/form-controls/input/index.mjs +1 -1
  265. package/esm2022/form-controls/input/input.component.mjs +75 -35
  266. package/esm2022/form-controls/input/public-api.mjs +1 -1
  267. package/esm2022/form-controls/input/types/input.type.mjs +1 -1
  268. package/esm2022/form-controls/input/types/loader-position.type.mjs +1 -1
  269. package/esm2022/form-controls/input/types/public-api.mjs +1 -1
  270. package/esm2022/form-controls/input/upd-input.module.mjs +5 -5
  271. package/esm2022/form-controls/input/updevs-components-form-controls-input.mjs +1 -1
  272. package/esm2022/form-controls/radio/index.mjs +1 -1
  273. package/esm2022/form-controls/radio/public-api.mjs +1 -1
  274. package/esm2022/form-controls/radio/radio.component.mjs +12 -25
  275. package/esm2022/form-controls/radio/upd-radio.module.mjs +14 -6
  276. package/esm2022/form-controls/radio/updevs-components-form-controls-radio.mjs +1 -1
  277. package/esm2022/form-controls/select/components/multiple/select-multiple.component.mjs +38 -14
  278. package/esm2022/form-controls/select/components/single/select.component.mjs +45 -21
  279. package/esm2022/form-controls/select/index.mjs +1 -1
  280. package/esm2022/form-controls/select/models/abstractions/base-select.component.mjs +129 -106
  281. package/esm2022/form-controls/select/models/defaults.mjs +8 -0
  282. package/esm2022/form-controls/select/models/public-api.mjs +2 -1
  283. package/esm2022/form-controls/select/models/select-item.mjs +1 -1
  284. package/esm2022/form-controls/select/public-api.mjs +1 -1
  285. package/esm2022/form-controls/select/upd-select.module.mjs +10 -6
  286. package/esm2022/form-controls/select/updevs-components-form-controls-select.mjs +1 -1
  287. package/esm2022/form-controls/textarea/index.mjs +1 -1
  288. package/esm2022/form-controls/textarea/public-api.mjs +1 -1
  289. package/esm2022/form-controls/textarea/textarea.component.mjs +18 -36
  290. package/esm2022/form-controls/textarea/upd-textarea.module.mjs +5 -5
  291. package/esm2022/form-controls/textarea/updevs-components-form-controls-textarea.mjs +1 -1
  292. package/esm2022/form-controls/time-picker/index.mjs +1 -1
  293. package/esm2022/form-controls/time-picker/public-api.mjs +1 -1
  294. package/esm2022/form-controls/time-picker/time-picker.component.mjs +4 -4
  295. package/esm2022/form-controls/time-picker/time-selector/time-selector.component.mjs +5 -5
  296. package/esm2022/form-controls/time-picker/upd-time-picker.module.mjs +8 -7
  297. package/esm2022/form-controls/time-picker/updevs-components-form-controls-time-picker.mjs +1 -1
  298. package/esm2022/index.mjs +2 -0
  299. package/esm2022/layout/abstractions/base-page.component.mjs +6 -7
  300. package/esm2022/layout/abstractions/base.layout.mjs +31 -0
  301. package/esm2022/layout/abstractions/public-api.mjs +1 -1
  302. package/esm2022/layout/assets/i18n/en.json +24 -2
  303. package/esm2022/layout/assets/i18n/pt.json +24 -2
  304. package/esm2022/layout/index.mjs +1 -1
  305. package/esm2022/layout/layouts/blank-layout/blank-layout.component.mjs +18 -7
  306. package/esm2022/layout/layouts/blank-layout/blank-layout.module.mjs +32 -6
  307. package/esm2022/layout/layouts/public-api.mjs +1 -1
  308. package/esm2022/layout/layouts/vertical-sidebar-layout/vertical-sidebar-layout.component.mjs +8 -22
  309. package/esm2022/layout/layouts/vertical-sidebar-layout/vertical-sidebar-layout.module.mjs +24 -27
  310. package/esm2022/layout/models/login-page-config.model.mjs +20 -0
  311. package/esm2022/layout/models/login-page.config.mjs +2 -0
  312. package/esm2022/layout/models/public-api.mjs +2 -1
  313. package/esm2022/layout/models/security-layout-config.model.mjs +10 -0
  314. package/esm2022/layout/models/security-layout.config.mjs +2 -0
  315. package/esm2022/layout/models/upd-layout-config.model.mjs +11 -17
  316. package/esm2022/layout/models/upd-layout.config.mjs +1 -1
  317. package/esm2022/layout/pages/auth-flow/auth-flow-routing.module.mjs +5 -5
  318. package/esm2022/layout/pages/auth-flow/auth-flow.module.mjs +36 -9
  319. package/esm2022/layout/pages/auth-flow/logged-out/logged-out.component.mjs +4 -4
  320. package/esm2022/layout/pages/auth-flow/login/login.component.mjs +95 -12
  321. package/esm2022/layout/pages/auth-flow/oauth-callback/oauth-callback.component.mjs +4 -4
  322. package/esm2022/layout/pages/auth-flow/public-api.mjs +1 -1
  323. package/esm2022/layout/pages/public-api.mjs +1 -1
  324. package/esm2022/layout/partials/footer/footer.component.mjs +9 -24
  325. package/esm2022/layout/partials/footer/footer.module.mjs +28 -0
  326. package/esm2022/layout/partials/footer/public-api.mjs +2 -2
  327. package/esm2022/layout/partials/header/header-style.type.mjs +1 -1
  328. package/esm2022/layout/partials/header/header.component.mjs +115 -52
  329. package/esm2022/layout/partials/header/header.module.mjs +40 -0
  330. package/esm2022/layout/partials/header/public-api.mjs +2 -1
  331. package/esm2022/layout/partials/page-header/page-header.component.mjs +10 -9
  332. package/esm2022/layout/partials/page-header/public-api.mjs +1 -1
  333. package/esm2022/layout/partials/public-api.mjs +1 -1
  334. package/esm2022/layout/partials/sidebar/public-api.mjs +1 -1
  335. package/esm2022/layout/partials/sidebar/sidebar.component.mjs +177 -86
  336. package/esm2022/layout/public-api.mjs +1 -1
  337. package/esm2022/layout/services/public-api.mjs +1 -1
  338. package/esm2022/layout/services/upd-layout-config.service.mjs +4 -4
  339. package/esm2022/layout/tools/layout.constants.mjs +1 -1
  340. package/esm2022/layout/upd-layout.module.mjs +12 -8
  341. package/esm2022/layout/updevs-components-layout.mjs +1 -1
  342. package/esm2022/lib/index.mjs +1 -1
  343. package/esm2022/lib/models/public-api.mjs +2 -0
  344. package/esm2022/lib/models/row-column-size.mjs +2 -0
  345. package/esm2022/lib/public-api.mjs +3 -1
  346. package/esm2022/lib/tools/column-size.helper.mjs +12 -0
  347. package/esm2022/lib/tools/public-api.mjs +2 -0
  348. package/esm2022/lib/types/component-size.type.mjs +1 -1
  349. package/esm2022/lib/types/horizontal-vertical.type.mjs +2 -0
  350. package/esm2022/lib/types/public-api.mjs +2 -1
  351. package/esm2022/lib/types/validation-status.type.mjs +1 -1
  352. package/esm2022/lib/upd-components.module.mjs +5 -5
  353. package/esm2022/link/index.mjs +1 -1
  354. package/esm2022/link/link.component.mjs +4 -4
  355. package/esm2022/link/public-api.mjs +1 -1
  356. package/esm2022/link/target.type.mjs +1 -1
  357. package/esm2022/link/upd-link.module.mjs +5 -5
  358. package/esm2022/link/updevs-components-link.mjs +1 -1
  359. package/esm2022/list/assets/i18n/en.json +7 -3
  360. package/esm2022/list/assets/i18n/pt.json +7 -3
  361. package/esm2022/list/index.mjs +1 -1
  362. package/esm2022/list/list.component.mjs +9 -29
  363. package/esm2022/list/models/badge-position.type.mjs +1 -1
  364. package/esm2022/list/models/list-item.mjs +1 -1
  365. package/esm2022/list/models/list-item.model.mjs +7 -2
  366. package/esm2022/list/models/public-api.mjs +1 -1
  367. package/esm2022/list/public-api.mjs +1 -1
  368. package/esm2022/list/upd-list.module.mjs +8 -7
  369. package/esm2022/list/updevs-components-list.mjs +1 -1
  370. package/esm2022/modal/assets/i18n/en.json +17 -0
  371. package/esm2022/modal/assets/i18n/pt.json +17 -0
  372. package/esm2022/modal/components/modal-container/modal-container.component.mjs +216 -0
  373. package/esm2022/modal/index.mjs +2 -0
  374. package/esm2022/modal/models/base.modal.mjs +14 -0
  375. package/esm2022/modal/models/modal-config.model.mjs +20 -0
  376. package/esm2022/modal/models/modal-ref.mjs +2 -0
  377. package/esm2022/modal/models/modal.config.mjs +2 -0
  378. package/esm2022/modal/models/public-api.mjs +4 -0
  379. package/esm2022/modal/public-api.mjs +4 -0
  380. package/esm2022/modal/services/modal-alert.service.mjs +99 -0
  381. package/esm2022/modal/services/modal.service.mjs +30 -0
  382. package/esm2022/modal/services/public-api.mjs +3 -0
  383. package/esm2022/modal/types/modal-footer-style.type.mjs +2 -0
  384. package/esm2022/modal/types/modal-size.type.mjs +2 -0
  385. package/esm2022/modal/upd-modal.module.mjs +90 -0
  386. package/esm2022/modal/updevs-components-modal.mjs +5 -0
  387. package/esm2022/paginator/assets/i18n/en.json +15 -0
  388. package/esm2022/paginator/assets/i18n/pt.json +15 -0
  389. package/esm2022/paginator/index.mjs +2 -0
  390. package/esm2022/paginator/paginator.component.mjs +66 -0
  391. package/esm2022/paginator/public-api.mjs +3 -0
  392. package/esm2022/paginator/upd-paginator.module.mjs +47 -0
  393. package/esm2022/paginator/updevs-components-paginator.mjs +5 -0
  394. package/esm2022/popover/index.mjs +1 -1
  395. package/esm2022/popover/popover.component.mjs +6 -6
  396. package/esm2022/popover/popover.directive.mjs +23 -32
  397. package/esm2022/popover/public-api.mjs +1 -1
  398. package/esm2022/popover/upd-popover.module.mjs +5 -5
  399. package/esm2022/popover/updevs-components-popover.mjs +1 -1
  400. package/esm2022/pricing/index.mjs +2 -0
  401. package/esm2022/pricing/models/price-item-feature.model.mjs +2 -0
  402. package/esm2022/pricing/models/price-item-features-group.model.mjs +2 -0
  403. package/esm2022/pricing/models/price-item-tag.model.mjs +2 -0
  404. package/esm2022/pricing/models/price-item.model.mjs +2 -0
  405. package/esm2022/pricing/models/public-api.mjs +5 -0
  406. package/esm2022/pricing/pricing-cards/pricing-cards.component.mjs +27 -0
  407. package/esm2022/pricing/pricing-table/pricing-table.component.mjs +57 -0
  408. package/esm2022/pricing/public-api.mjs +5 -0
  409. package/esm2022/pricing/upd-pricing.module.mjs +49 -0
  410. package/esm2022/pricing/updevs-components-pricing.mjs +5 -0
  411. package/esm2022/public-api.mjs +1 -1
  412. package/esm2022/table/abstractions/base-column.model.mjs +52 -0
  413. package/esm2022/table/abstractions/base.column.mjs +84 -0
  414. package/esm2022/table/abstractions/filters-operands.service.mjs +3 -0
  415. package/esm2022/table/abstractions/public-api.mjs +3 -0
  416. package/esm2022/table/assets/i18n/en.json +74 -0
  417. package/esm2022/table/assets/i18n/pt.json +74 -0
  418. package/esm2022/table/components/columns/boolean-column/boolean-column.component.mjs +26 -0
  419. package/esm2022/table/components/columns/date-time-column/date-time-column.component.mjs +13 -0
  420. package/esm2022/table/components/columns/number-column/number-column.component.mjs +13 -0
  421. package/esm2022/table/components/columns/text-column/text-column.component.mjs +31 -0
  422. package/esm2022/table/components/columns-manager/columns-manager.component.mjs +36 -0
  423. package/esm2022/table/components/filter-row/filter-row.component.mjs +114 -0
  424. package/esm2022/table/components/save-search/save-search.component.mjs +72 -0
  425. package/esm2022/table/components/search-section/search-section.component.mjs +93 -0
  426. package/esm2022/table/directives/public-api.mjs +2 -0
  427. package/esm2022/table/directives/table-column.directive.mjs +52 -0
  428. package/esm2022/table/index.mjs +2 -0
  429. package/esm2022/table/models/columns/boolean-column.model.mjs +22 -0
  430. package/esm2022/table/models/columns/date-time-column.model.mjs +16 -0
  431. package/esm2022/table/models/columns/guid-column.model.mjs +13 -0
  432. package/esm2022/table/models/columns/image-column.model.mjs +11 -0
  433. package/esm2022/table/models/columns/number-column.model.mjs +17 -0
  434. package/esm2022/table/models/columns/public-api.mjs +7 -0
  435. package/esm2022/table/models/columns/text-column.model.mjs +11 -0
  436. package/esm2022/table/models/enums/column-type.enum.mjs +15 -0
  437. package/esm2022/table/models/enums/public-api.mjs +2 -0
  438. package/esm2022/table/models/filter-item.model.mjs +2 -0
  439. package/esm2022/table/models/filter-operand.config.mjs +2 -0
  440. package/esm2022/table/models/operands-lists/boolean-filter-operands-list.model.mjs +25 -0
  441. package/esm2022/table/models/operands-lists/date-filter-operands-list.model.mjs +25 -0
  442. package/esm2022/table/models/operands-lists/date-or-number-operands-list.config.mjs +31 -0
  443. package/esm2022/table/models/operands-lists/filter-operands-list.config.mjs +31 -0
  444. package/esm2022/table/models/operands-lists/guid-filter-operands-list.model.mjs +16 -0
  445. package/esm2022/table/models/operands-lists/number-filter-operands-list.model.mjs +25 -0
  446. package/esm2022/table/models/operands-lists/string-filter-operands-list.model.mjs +45 -0
  447. package/esm2022/table/models/public-api.mjs +5 -0
  448. package/esm2022/table/models/saved-view.model.mjs +2 -0
  449. package/esm2022/table/models/table-config.model.mjs +29 -0
  450. package/esm2022/table/models/table.config.mjs +2 -0
  451. package/esm2022/table/models/upd-table-config.model.mjs +9 -0
  452. package/esm2022/table/models/upd-table.config.mjs +2 -0
  453. package/esm2022/table/public-api.mjs +6 -0
  454. package/esm2022/table/services/default-filters-operands.service.mjs +60 -0
  455. package/esm2022/table/services/storages/saved-views.storage.mjs +56 -0
  456. package/esm2022/table/services/stores/filters-operands.store.mjs +19 -0
  457. package/esm2022/table/services/upd-table-config.service.mjs +18 -0
  458. package/esm2022/table/table.component.mjs +439 -0
  459. package/esm2022/table/tools/filters.tools.mjs +48 -0
  460. package/esm2022/table/tools/table.constants.mjs +15 -0
  461. package/esm2022/table/upd-table.module.mjs +150 -0
  462. package/esm2022/table/updevs-components-table.mjs +5 -0
  463. package/esm2022/updevs-components.mjs +2 -2
  464. package/fesm2022/updevs-components-badge.mjs +89 -0
  465. package/fesm2022/updevs-components-badge.mjs.map +1 -0
  466. package/fesm2022/updevs-components-button.mjs +138 -136
  467. package/fesm2022/updevs-components-button.mjs.map +1 -1
  468. package/fesm2022/updevs-components-calendar.mjs +582 -0
  469. package/fesm2022/updevs-components-calendar.mjs.map +1 -0
  470. package/fesm2022/updevs-components-card.mjs +20 -20
  471. package/fesm2022/updevs-components-card.mjs.map +1 -1
  472. package/fesm2022/updevs-components-drag-and-drop.mjs +185 -0
  473. package/fesm2022/updevs-components-drag-and-drop.mjs.map +1 -0
  474. package/fesm2022/updevs-components-dropdown.mjs +83 -25
  475. package/fesm2022/updevs-components-dropdown.mjs.map +1 -1
  476. package/fesm2022/updevs-components-form-controls-abstractions.mjs +53 -0
  477. package/fesm2022/updevs-components-form-controls-abstractions.mjs.map +1 -0
  478. package/fesm2022/updevs-components-form-controls-checkbox.mjs +47 -57
  479. package/fesm2022/updevs-components-form-controls-checkbox.mjs.map +1 -1
  480. package/fesm2022/updevs-components-form-controls-date-picker.mjs +175 -0
  481. package/fesm2022/updevs-components-form-controls-date-picker.mjs.map +1 -0
  482. package/fesm2022/updevs-components-form-controls-file-upload.mjs +264 -0
  483. package/fesm2022/updevs-components-form-controls-file-upload.mjs.map +1 -0
  484. package/fesm2022/updevs-components-form-controls-input.mjs +84 -44
  485. package/fesm2022/updevs-components-form-controls-input.mjs.map +1 -1
  486. package/fesm2022/updevs-components-form-controls-radio.mjs +25 -30
  487. package/fesm2022/updevs-components-form-controls-radio.mjs.map +1 -1
  488. package/fesm2022/updevs-components-form-controls-select.mjs +219 -139
  489. package/fesm2022/updevs-components-form-controls-select.mjs.map +1 -1
  490. package/fesm2022/updevs-components-form-controls-textarea.mjs +21 -39
  491. package/fesm2022/updevs-components-form-controls-textarea.mjs.map +1 -1
  492. package/fesm2022/updevs-components-form-controls-time-picker.mjs +14 -13
  493. package/fesm2022/updevs-components-form-controls-time-picker.mjs.map +1 -1
  494. package/fesm2022/updevs-components-form.mjs +533 -10
  495. package/fesm2022/updevs-components-form.mjs.map +1 -1
  496. package/fesm2022/updevs-components-layout.mjs +757 -375
  497. package/fesm2022/updevs-components-layout.mjs.map +1 -1
  498. package/fesm2022/updevs-components-link.mjs +8 -8
  499. package/fesm2022/updevs-components-link.mjs.map +1 -1
  500. package/fesm2022/updevs-components-list.mjs +39 -53
  501. package/fesm2022/updevs-components-list.mjs.map +1 -1
  502. package/fesm2022/updevs-components-modal.mjs +504 -0
  503. package/fesm2022/updevs-components-modal.mjs.map +1 -0
  504. package/fesm2022/updevs-components-paginator.mjs +160 -0
  505. package/fesm2022/updevs-components-paginator.mjs.map +1 -0
  506. package/fesm2022/updevs-components-popover.mjs +30 -39
  507. package/fesm2022/updevs-components-popover.mjs.map +1 -1
  508. package/fesm2022/updevs-components-pricing.mjs +130 -0
  509. package/fesm2022/updevs-components-pricing.mjs.map +1 -0
  510. package/fesm2022/updevs-components-table.mjs +1754 -0
  511. package/fesm2022/updevs-components-table.mjs.map +1 -0
  512. package/fesm2022/updevs-components.mjs +17 -5
  513. package/fesm2022/updevs-components.mjs.map +1 -1
  514. package/form/components/dynamic-field/dynamic-field.component.d.ts +63 -0
  515. package/form/form.component.d.ts +64 -0
  516. package/form/models/attachment-rule.model.d.ts +35 -0
  517. package/form/models/button-field.model.d.ts +5 -0
  518. package/form/models/button-group-field.model.d.ts +5 -0
  519. package/form/models/checkbox-field.model.d.ts +4 -0
  520. package/form/models/checkbox-group-field.model.d.ts +6 -0
  521. package/form/models/dynamic-field.model.d.ts +49 -0
  522. package/form/models/enums/attachment-type.enum.d.ts +13 -0
  523. package/form/models/enums/dynamic-field.type.d.ts +15 -0
  524. package/form/models/enums/public-api.d.ts +2 -0
  525. package/form/models/file-upload-field.model.d.ts +16 -0
  526. package/form/models/form-config.d.ts +2 -0
  527. package/form/models/form-row.model.d.ts +10 -0
  528. package/form/models/form-update-on.type.d.ts +1 -0
  529. package/form/models/input-field.model.d.ts +9 -0
  530. package/form/models/masked-input-field.model.d.ts +6 -0
  531. package/form/models/public-api.d.ts +18 -0
  532. package/form/models/radio-field.model.d.ts +4 -0
  533. package/form/models/radio-group-field.model.d.ts +6 -0
  534. package/form/models/select-field.model.d.ts +29 -0
  535. package/form/models/single-select-field.model.d.ts +4 -0
  536. package/form/models/textarea-field.model.d.ts +10 -0
  537. package/form/models/validator-config.d.ts +5 -0
  538. package/form/public-api.d.ts +3 -1
  539. package/form/tools/errors-helper.d.ts +11 -0
  540. package/form/upd-form.module.d.ts +22 -0
  541. package/form-controls/abstractions/base-control.d.ts +29 -0
  542. package/form-controls/abstractions/index.d.ts +2 -0
  543. package/form-controls/abstractions/public-api.d.ts +2 -0
  544. package/form-controls/checkbox/checkbox.component.d.ts +14 -20
  545. package/form-controls/checkbox/upd-checkbox.module.d.ts +2 -1
  546. package/form-controls/date-picker/date-picker.component.d.ts +66 -0
  547. package/form-controls/date-picker/index.d.ts +1 -0
  548. package/form-controls/date-picker/public-api.d.ts +2 -0
  549. package/form-controls/date-picker/upd-date-picker.module.d.ts +12 -0
  550. package/form-controls/file-upload/file-upload-changed.event.d.ts +4 -0
  551. package/form-controls/file-upload/file-upload.component.d.ts +46 -0
  552. package/form-controls/file-upload/index.d.ts +1 -0
  553. package/form-controls/file-upload/public-api.d.ts +3 -0
  554. package/form-controls/file-upload/upd-file-upload.module.d.ts +14 -0
  555. package/form-controls/input/input.component.d.ts +27 -14
  556. package/form-controls/radio/radio.component.d.ts +5 -12
  557. package/form-controls/radio/upd-radio.module.d.ts +3 -1
  558. package/form-controls/select/components/multiple/select-multiple.component.d.ts +13 -2
  559. package/form-controls/select/components/single/select.component.d.ts +12 -4
  560. package/form-controls/select/models/abstractions/base-select.component.d.ts +36 -32
  561. package/form-controls/select/models/defaults.d.ts +8 -0
  562. package/form-controls/select/models/public-api.d.ts +1 -0
  563. package/form-controls/select/upd-select.module.d.ts +3 -2
  564. package/form-controls/textarea/textarea.component.d.ts +11 -15
  565. package/form-controls/time-picker/upd-time-picker.module.d.ts +2 -2
  566. package/index.d.ts +1 -4
  567. package/layout/abstractions/base.layout.d.ts +15 -0
  568. package/layout/layouts/blank-layout/blank-layout.component.d.ts +5 -1
  569. package/layout/layouts/blank-layout/blank-layout.module.d.ts +8 -1
  570. package/layout/layouts/vertical-sidebar-layout/vertical-sidebar-layout.component.d.ts +2 -8
  571. package/layout/layouts/vertical-sidebar-layout/vertical-sidebar-layout.module.d.ts +14 -13
  572. package/layout/models/login-page-config.model.d.ts +46 -0
  573. package/layout/models/login-page.config.d.ts +44 -0
  574. package/layout/models/public-api.d.ts +1 -0
  575. package/layout/models/security-layout-config.model.d.ts +12 -0
  576. package/layout/models/security-layout.config.d.ts +10 -0
  577. package/layout/models/upd-layout-config.model.d.ts +9 -0
  578. package/layout/models/upd-layout.config.d.ts +9 -0
  579. package/layout/pages/auth-flow/auth-flow.module.d.ts +9 -2
  580. package/layout/pages/auth-flow/login/login.component.d.ts +20 -6
  581. package/layout/partials/footer/footer.component.d.ts +4 -13
  582. package/layout/partials/footer/footer.module.d.ts +9 -0
  583. package/layout/partials/footer/public-api.d.ts +1 -1
  584. package/layout/partials/header/header.component.d.ts +41 -21
  585. package/layout/partials/header/header.module.d.ts +12 -0
  586. package/layout/partials/header/public-api.d.ts +1 -0
  587. package/layout/partials/page-header/page-header.component.d.ts +2 -2
  588. package/layout/partials/sidebar/sidebar.component.d.ts +28 -1
  589. package/layout/upd-layout.module.d.ts +2 -1
  590. package/lib/index.d.ts +1 -0
  591. package/lib/models/public-api.d.ts +2 -0
  592. package/lib/models/row-column-size.d.ts +23 -0
  593. package/lib/public-api.d.ts +3 -0
  594. package/lib/tools/column-size.helper.d.ts +6 -0
  595. package/lib/tools/public-api.d.ts +2 -0
  596. package/lib/types/component-size.type.d.ts +1 -0
  597. package/lib/types/horizontal-vertical.type.d.ts +2 -0
  598. package/lib/types/public-api.d.ts +2 -0
  599. package/lib/types/validation-status.type.d.ts +1 -0
  600. package/lib/upd-components.module.d.ts +1 -0
  601. package/list/list.component.d.ts +1 -16
  602. package/list/models/list-item.d.ts +4 -2
  603. package/list/models/list-item.model.d.ts +4 -2
  604. package/list/upd-list.module.d.ts +2 -2
  605. package/modal/components/modal-container/modal-container.component.d.ts +74 -0
  606. package/modal/index.d.ts +1 -0
  607. package/modal/models/base.modal.d.ts +8 -0
  608. package/modal/models/modal-config.model.d.ts +32 -0
  609. package/modal/models/modal-ref.d.ts +6 -0
  610. package/modal/models/modal.config.d.ts +30 -0
  611. package/modal/models/public-api.d.ts +3 -0
  612. package/modal/public-api.d.ts +3 -0
  613. package/modal/services/modal-alert.service.d.ts +22 -0
  614. package/modal/services/modal.service.d.ts +12 -0
  615. package/modal/services/public-api.d.ts +2 -0
  616. package/modal/types/modal-footer-style.type.d.ts +1 -0
  617. package/modal/types/modal-size.type.d.ts +1 -0
  618. package/modal/upd-modal.module.d.ts +18 -0
  619. package/package.json +67 -6
  620. package/paginator/index.d.ts +1 -0
  621. package/paginator/paginator.component.d.ts +42 -0
  622. package/paginator/public-api.d.ts +2 -0
  623. package/paginator/upd-paginator.module.d.ts +14 -0
  624. package/popover/popover.component.d.ts +2 -2
  625. package/pricing/index.d.ts +1 -0
  626. package/pricing/models/price-item-feature.model.d.ts +7 -0
  627. package/pricing/models/price-item-features-group.model.d.ts +5 -0
  628. package/pricing/models/price-item-tag.model.d.ts +6 -0
  629. package/pricing/models/price-item.model.d.ts +22 -0
  630. package/pricing/models/public-api.d.ts +4 -0
  631. package/pricing/pricing-cards/pricing-cards.component.d.ts +12 -0
  632. package/pricing/pricing-table/pricing-table.component.d.ts +30 -0
  633. package/pricing/public-api.d.ts +4 -0
  634. package/pricing/upd-pricing.module.d.ts +14 -0
  635. package/public-api.d.ts +1 -0
  636. package/table/abstractions/base-column.model.d.ts +31 -0
  637. package/table/abstractions/base.column.d.ts +26 -0
  638. package/table/abstractions/filters-operands.service.d.ts +8 -0
  639. package/table/abstractions/public-api.d.ts +2 -0
  640. package/table/components/columns/boolean-column/boolean-column.component.d.ts +9 -0
  641. package/table/components/columns/date-time-column/date-time-column.component.d.ts +7 -0
  642. package/table/components/columns/number-column/number-column.component.d.ts +7 -0
  643. package/table/components/columns/text-column/text-column.component.d.ts +9 -0
  644. package/table/components/columns-manager/columns-manager.component.d.ts +15 -0
  645. package/table/components/filter-row/filter-row.component.d.ts +40 -0
  646. package/table/components/save-search/save-search.component.d.ts +17 -0
  647. package/table/components/search-section/search-section.component.d.ts +36 -0
  648. package/table/directives/public-api.d.ts +1 -0
  649. package/table/directives/table-column.directive.d.ts +14 -0
  650. package/table/index.d.ts +1 -0
  651. package/table/models/columns/boolean-column.model.d.ts +15 -0
  652. package/table/models/columns/date-time-column.model.d.ts +8 -0
  653. package/table/models/columns/guid-column.model.d.ts +4 -0
  654. package/table/models/columns/image-column.model.d.ts +6 -0
  655. package/table/models/columns/number-column.model.d.ts +8 -0
  656. package/table/models/columns/public-api.d.ts +6 -0
  657. package/table/models/columns/text-column.model.d.ts +6 -0
  658. package/table/models/enums/column-type.enum.d.ts +13 -0
  659. package/table/models/enums/public-api.d.ts +1 -0
  660. package/table/models/filter-item.model.d.ts +6 -0
  661. package/table/models/filter-operand.config.d.ts +9 -0
  662. package/table/models/operands-lists/boolean-filter-operands-list.model.d.ts +6 -0
  663. package/table/models/operands-lists/date-filter-operands-list.model.d.ts +6 -0
  664. package/table/models/operands-lists/date-or-number-operands-list.config.d.ts +5 -0
  665. package/table/models/operands-lists/filter-operands-list.config.d.ts +5 -0
  666. package/table/models/operands-lists/guid-filter-operands-list.model.d.ts +6 -0
  667. package/table/models/operands-lists/number-filter-operands-list.model.d.ts +6 -0
  668. package/table/models/operands-lists/string-filter-operands-list.model.d.ts +6 -0
  669. package/table/models/public-api.d.ts +4 -0
  670. package/table/models/saved-view.model.d.ts +11 -0
  671. package/table/models/table-config.model.d.ts +33 -0
  672. package/table/models/table.config.d.ts +31 -0
  673. package/table/models/upd-table-config.model.d.ts +6 -0
  674. package/table/models/upd-table.config.d.ts +6 -0
  675. package/table/public-api.d.ts +5 -0
  676. package/table/services/default-filters-operands.service.d.ts +17 -0
  677. package/table/services/storages/saved-views.storage.d.ts +19 -0
  678. package/table/services/stores/filters-operands.store.d.ts +11 -0
  679. package/table/services/upd-table-config.service.d.ts +12 -0
  680. package/table/table.component.d.ts +81 -0
  681. package/table/tools/filters.tools.d.ts +9 -0
  682. package/table/tools/table.constants.d.ts +15 -0
  683. package/table/upd-table.module.d.ts +40 -0
  684. package/esm2022/form/form.module.mjs +0 -18
  685. package/esm2022/layout/partials/footer/footer-copyright.directive.mjs +0 -13
  686. package/form/form.module.d.ts +0 -7
  687. package/layout/partials/footer/footer-copyright.directive.d.ts +0 -5
@@ -1,82 +1,137 @@
1
- import { Directive, HostBinding, ViewChild, ElementRef, Input, Output, EventEmitter, inject, NgZone, Renderer2, RendererStyleFlags2 } from '@angular/core';
2
- import { BaseComponent, DomEventsService, PositioningService } from '@updevs/sdk/layout';
1
+ import { Directive, HostBinding, ElementRef, inject, NgZone, Renderer2, RendererStyleFlags2, input, viewChild, computed, effect, afterNextRender, Injector, output, signal } from '@angular/core';
2
+ import { DomEventsService, PositioningService } from '@updevs/sdk/layout';
3
3
  import { Tools } from '@updevs/sdk/core';
4
- import { SearchRequestModel } from '@updevs/sdk/stores';
4
+ import { ColumnSizeHelper } from '@updevs/components';
5
+ import { BaseControl } from '@updevs/components/form-controls/abstractions';
5
6
  import { tap, debounceTime, Subject } from 'rxjs';
7
+ import { Defaults } from '../defaults';
6
8
  var Utils = Tools.Utils;
7
9
  import * as i0 from "@angular/core";
8
- export class BaseSelectComponent extends BaseComponent {
10
+ export class BaseSelectComponent extends BaseControl {
11
+ get wrapperClasses() {
12
+ return this.hostWrapperClasses();
13
+ }
14
+ get isDropdownOpen() {
15
+ return this._isDropdownOpen;
16
+ }
17
+ set isDropdownOpen(value) {
18
+ this._isDropdownOpen = value;
19
+ this.dropdownOpenStatusChange.emit(value);
20
+ if (value) {
21
+ this.dropdownClasses += ' select-dropdown-content-open';
22
+ }
23
+ else {
24
+ this.dropdownClasses = this.dropdownClasses.replace(' select-dropdown-content-open', '');
25
+ }
26
+ }
27
+ get labelSizeClasses() {
28
+ if (this.layout() !== 'horizontal') {
29
+ return 'form-label';
30
+ }
31
+ return ColumnSizeHelper.getClasses('col-form-label', ColumnSizeHelper.getSizeClasses(this.labelColSize(), 3));
32
+ }
9
33
  constructor() {
10
- super(...arguments);
11
- this.wrapperClasses = '';
34
+ super();
35
+ this.componentBox = viewChild('componentBox', { read: ElementRef });
36
+ this.searchBox = viewChild('searchBox', { read: ElementRef });
37
+ this.searchBoxChild = viewChild('searchBoxChild', { read: ElementRef });
38
+ this.list = viewChild('list', { read: ElementRef });
39
+ this.dropdownOpenStatusChange = output();
40
+ /**
41
+ * Select items.
42
+ * If provided, the select will be considered static.
43
+ */
44
+ this.items = input();
12
45
  /**
13
- * Placeholder.
46
+ * Store used to load/filter the items.
14
47
  */
15
- this.placeholder = '';
48
+ this.store = input();
49
+ /**
50
+ * Observable used to load/filter the items.
51
+ */
52
+ this.observable = input();
53
+ /**
54
+ * Name of the property in the object that represents the ID/key of the option.
55
+ * **Note:** used only for remote data.
56
+ */
57
+ this.itemKey = input();
58
+ /**
59
+ * Name of the property in the object that represents the value/description of the option.
60
+ * **Note:** used only for remote data.
61
+ */
62
+ this.itemValue = input();
16
63
  /**
17
64
  * Maximum height of the dropdown.
18
65
  */
19
- this.dropdownMaxHeight = 300;
20
- this.typeaheadDebounce = 200;
21
- this.shouldAutoSearch = true;
22
- this.shouldCloseOnOutsideClick = true;
23
- this.dropdownOpenStatusChange = new EventEmitter();
66
+ this.dropdownMaxHeight = input(Defaults.dropdownMaxHeight);
67
+ this.typeaheadDebounce = input(Defaults.typeaheadDebounce);
68
+ this.shouldAutoSearch = input(Defaults.shouldAutoSearch);
69
+ this.shouldCloseOnOutsideClick = input(Defaults.shouldCloseOnOutsideClick);
70
+ this.layout = input(Defaults.layout);
71
+ /**
72
+ * Value coming from a parent field when the rule `AttachmentTypeEnum.ParentLoad` is active.
73
+ * `upd-select` can use it to fetch the dependent list.
74
+ */
75
+ this.parentValue = input();
76
+ this.layoutClasses = computed(() => this.layout() === 'horizontal' ? ['col', 'align-self-center'] : []);
24
77
  this.isLoading = false;
25
- this.localItems = [];
78
+ this.localItems = signal([]);
26
79
  this.listItems = [];
27
80
  this.dropdownClasses = 'select-dropdown-content remove-top-radius';
28
81
  this._localBackupItems = [];
29
- this.isStaticList = false;
82
+ this.hasExternalList = false;
30
83
  this._isDropdownOpen = false;
84
+ this.hostWrapperClasses = computed(() => this.layout() === 'horizontal' ? 'row' : '');
31
85
  this.searchInputSubject = new Subject();
32
86
  this.renderer = inject(Renderer2);
33
87
  this.ngZone = inject(NgZone);
34
88
  this.domEventsService = inject(DomEventsService);
35
89
  this.positioningService = inject(PositioningService);
36
- }
37
- get isDropdownOpen() {
38
- return this._isDropdownOpen;
39
- }
40
- set isDropdownOpen(value) {
41
- this._isDropdownOpen = value;
42
- this.dropdownOpenStatusChange.emit(value);
43
- if (value) {
44
- this.dropdownClasses += ' select-dropdown-content-open';
45
- }
46
- else {
47
- this.dropdownClasses = this.dropdownClasses.replace(' select-dropdown-content-open', '');
48
- }
90
+ this.injector = inject(Injector);
91
+ effect(() => {
92
+ if (!!this.items()) {
93
+ this._setupLocalItems(this.items());
94
+ }
95
+ if (this.parentValue() !== this.previousParentValue) {
96
+ this.previousParentValue = this.parentValue();
97
+ this.clearSelection();
98
+ this.search();
99
+ }
100
+ }, { allowSignalWrites: true });
49
101
  }
50
102
  ngOnInit() {
51
- this.isStaticList = (this.items?.length || 0) > 0;
52
- if (this.shouldAutoSearch) {
53
- if (this.isStaticList) {
54
- this._setupLocalItems(this.items);
103
+ this.hasExternalList = !this.observable() && !this.store();
104
+ if (this.shouldAutoSearch()) {
105
+ if (this.hasExternalList) {
106
+ this._setupLocalItems(this.items());
55
107
  }
56
108
  else {
57
109
  this.searchRemote();
58
110
  }
59
111
  }
60
- if (this.isStaticList) {
112
+ if (this.hasExternalList) {
61
113
  return;
62
114
  }
63
115
  const typeaheadSubscription = this.searchInputSubject
64
- .pipe(tap(value => this._currentTerm = value), debounceTime(this.typeaheadDebounce))
116
+ .pipe(tap(value => this._currentTerm = value), debounceTime(this.typeaheadDebounce()))
65
117
  .subscribe(() => this.searchRemote());
66
118
  this.addSubscriptions(typeaheadSubscription);
67
119
  }
68
120
  openDropdown() {
69
121
  this.isDropdownOpen = true;
70
- if (this.shouldCloseOnOutsideClick) {
71
- const outsideClickSub = this.domEventsService.startOutsideClickListener(() => this.ngZone.run(() => this.isDropdownOpen = false), this.list?.nativeElement, true, this.componentBox?.nativeElement, this.searchBox?.nativeElement);
122
+ if (this.shouldCloseOnOutsideClick()) {
123
+ const outsideClickSub = this.domEventsService.startOutsideClickListener(() => this.ngZone.run(() => this.isDropdownOpen = false), this.list()?.nativeElement, true, this.componentBox()?.nativeElement, this.searchBox()?.nativeElement);
72
124
  this.addSubscriptions(outsideClickSub);
73
125
  }
74
- this.ngZone.runOutsideAngular(() => this.positioningService
75
- .computePosition(this.componentBox, this.list, { placement: 'bottom' })
76
- .subscribe(resp => this.updatePosition(resp)));
126
+ afterNextRender(() => {
127
+ this.ngZone.runOutsideAngular(() => this.positioningService
128
+ .computePosition(this.componentBox(), this.list(), { placement: 'bottom' })
129
+ .subscribe(resp => this.updatePosition(resp)));
130
+ }, { injector: this.injector });
77
131
  }
78
132
  search(term) {
79
- if (this.isStaticList) {
133
+ if (this.hasExternalList) {
134
+ this._currentTerm = term;
80
135
  this.searchLocal();
81
136
  }
82
137
  else {
@@ -84,11 +139,12 @@ export class BaseSelectComponent extends BaseComponent {
84
139
  }
85
140
  }
86
141
  _setupLocalItems(items) {
87
- this.localItems = Utils.deepCopy(items);
142
+ const copiedItems = Utils.deepCopy(items);
143
+ this.localItems.set(copiedItems);
88
144
  this._localBackupItems = Utils.deepCopy(items);
89
145
  const tempItems = [];
90
146
  for (const item of this._localBackupItems) {
91
- let listItem = this.getListItem(item);
147
+ const listItem = this.getListItem(item);
92
148
  item.listItem = Object.assign(listItem, {});
93
149
  tempItems.push(listItem);
94
150
  }
@@ -98,35 +154,38 @@ export class BaseSelectComponent extends BaseComponent {
98
154
  searchLocal() {
99
155
  if (!this._currentTerm) {
100
156
  this.listItems = Utils.deepCopy(this._localBackupItems.map(li => li.listItem));
101
- this.localItems = Utils.deepCopy(this._localBackupItems);
157
+ this.localItems.set(Utils.deepCopy(this._localBackupItems));
102
158
  return;
103
159
  }
104
- this.ngZone.run(() => {
105
- this.listItems = Utils.deepCopy(this._localBackupItems).filter(si => {
106
- let hasChildrenInSearch = false;
107
- if ((si.children?.length || 0) > 0) {
108
- hasChildrenInSearch = si.children.filter(ci => ci.text.toLowerCase().includes(this._currentTerm.toLowerCase())).length > 0;
109
- }
110
- return si.text.toLowerCase().includes(this._currentTerm.toLowerCase()) || hasChildrenInSearch;
111
- }).map(si => {
112
- const bkpItem = this._localBackupItems.find(lbi => lbi.value === si.value);
113
- if ((bkpItem?.children?.length || 0) > 0) {
114
- si.children = [...bkpItem.children].filter(ci => ci.text.toLowerCase().includes(this._currentTerm.toLowerCase()));
115
- }
116
- return this.getListItem(si);
117
- });
118
- });
160
+ this.ngZone.run(() => this.listItems = Utils
161
+ .deepCopy(this._localBackupItems)
162
+ .filter(si => {
163
+ let hasChildrenInSearch = false;
164
+ if ((si.children?.length || 0) > 0) {
165
+ hasChildrenInSearch = si.children.filter(ci => ci.text.toLowerCase().includes(this._currentTerm.toLowerCase())).length > 0;
166
+ }
167
+ return si.text.toLowerCase().includes(this._currentTerm.toLowerCase()) || hasChildrenInSearch;
168
+ })
169
+ .map(si => {
170
+ const bkpItem = this._localBackupItems.find(lbi => lbi.value === si.value);
171
+ if ((bkpItem?.children?.length || 0) > 0) {
172
+ si.children = [...bkpItem.children].filter(ci => ci.text.toLowerCase().includes(this._currentTerm.toLowerCase()));
173
+ }
174
+ return this.getListItem(si);
175
+ }));
119
176
  }
120
177
  searchRemote() {
121
178
  this.isLoading = true;
122
- const request = new SearchRequestModel({ description: this._currentTerm });
123
- const observable = !!this.observable ? this.observable(request) : this.store.search(request);
179
+ const request = { description: this._currentTerm };
180
+ const observable = !!this.observable()
181
+ ? this.observable()(request, this.parentValue())
182
+ : this.store().search(request, this.parentValue());
124
183
  observable.subscribe(r => {
125
184
  const items = [];
126
185
  r.records.forEach(item => {
127
186
  items.push({
128
- value: item[this.itemKey],
129
- text: item[this.itemValue],
187
+ value: item[this.itemKey()],
188
+ text: item[this.itemValue()],
130
189
  objectData: item
131
190
  });
132
191
  });
@@ -152,57 +211,21 @@ export class BaseSelectComponent extends BaseComponent {
152
211
  return listItem;
153
212
  }
154
213
  updatePosition(result) {
155
- const componentBox = this.componentBox.nativeElement.getBoundingClientRect();
156
- const searchBoxChildElement = this.searchBoxChild?.nativeElement;
157
- const ddElement = this.list.nativeElement;
214
+ const componentBox = this.componentBox().nativeElement.getBoundingClientRect();
215
+ const searchBoxChildElement = this.searchBoxChild()?.nativeElement;
216
+ const ddElement = this.list().nativeElement;
158
217
  this.renderer.setStyle(searchBoxChildElement, 'width', `${Math.abs(componentBox.width)}px`, RendererStyleFlags2.Important);
159
218
  this.renderer.setStyle(ddElement, 'top', `${result.y + searchBoxChildElement.scrollHeight}px`, RendererStyleFlags2.Important);
160
219
  this.renderer.setStyle(ddElement, 'left', 0, RendererStyleFlags2.Important);
161
220
  this.renderer.setStyle(ddElement, 'width', `${Math.abs(componentBox.width)}px`, RendererStyleFlags2.Important);
162
221
  }
163
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: BaseSelectComponent, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
164
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.1", type: BaseSelectComponent, inputs: { items: "items", store: "store", observable: "observable", itemKey: "itemKey", itemValue: "itemValue", label: "label", placeholder: "placeholder", dropdownMaxHeight: "dropdownMaxHeight", typeaheadDebounce: "typeaheadDebounce", shouldAutoSearch: "shouldAutoSearch", shouldCloseOnOutsideClick: "shouldCloseOnOutsideClick" }, outputs: { dropdownOpenStatusChange: "dropdownOpenStatusChange" }, host: { properties: { "class": "this.wrapperClasses" } }, viewQueries: [{ propertyName: "componentBox", first: true, predicate: ["componentBox"], descendants: true, read: ElementRef }, { propertyName: "searchBox", first: true, predicate: ["searchBox"], descendants: true, read: ElementRef }, { propertyName: "searchBoxChild", first: true, predicate: ["searchBoxChild"], descendants: true, read: ElementRef }, { propertyName: "list", first: true, predicate: ["list"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0 }); }
222
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BaseSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
223
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "18.1.0", type: BaseSelectComponent, inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, store: { classPropertyName: "store", publicName: "store", isSignal: true, isRequired: false, transformFunction: null }, observable: { classPropertyName: "observable", publicName: "observable", isSignal: true, isRequired: false, transformFunction: null }, itemKey: { classPropertyName: "itemKey", publicName: "itemKey", isSignal: true, isRequired: false, transformFunction: null }, itemValue: { classPropertyName: "itemValue", publicName: "itemValue", isSignal: true, isRequired: false, transformFunction: null }, dropdownMaxHeight: { classPropertyName: "dropdownMaxHeight", publicName: "dropdownMaxHeight", isSignal: true, isRequired: false, transformFunction: null }, typeaheadDebounce: { classPropertyName: "typeaheadDebounce", publicName: "typeaheadDebounce", isSignal: true, isRequired: false, transformFunction: null }, shouldAutoSearch: { classPropertyName: "shouldAutoSearch", publicName: "shouldAutoSearch", isSignal: true, isRequired: false, transformFunction: null }, shouldCloseOnOutsideClick: { classPropertyName: "shouldCloseOnOutsideClick", publicName: "shouldCloseOnOutsideClick", isSignal: true, isRequired: false, transformFunction: null }, layout: { classPropertyName: "layout", publicName: "layout", isSignal: true, isRequired: false, transformFunction: null }, parentValue: { classPropertyName: "parentValue", publicName: "parentValue", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dropdownOpenStatusChange: "dropdownOpenStatusChange" }, host: { properties: { "class": "this.wrapperClasses" } }, viewQueries: [{ propertyName: "componentBox", first: true, predicate: ["componentBox"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "searchBox", first: true, predicate: ["searchBox"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "searchBoxChild", first: true, predicate: ["searchBoxChild"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "list", first: true, predicate: ["list"], descendants: true, read: ElementRef, isSignal: true }], usesInheritance: true, ngImport: i0 }); }
165
224
  }
166
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: BaseSelectComponent, decorators: [{
225
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BaseSelectComponent, decorators: [{
167
226
  type: Directive
168
- }], propDecorators: { wrapperClasses: [{
227
+ }], ctorParameters: () => [], propDecorators: { wrapperClasses: [{
169
228
  type: HostBinding,
170
229
  args: ['class']
171
- }], componentBox: [{
172
- type: ViewChild,
173
- args: ['componentBox', { read: ElementRef }]
174
- }], searchBox: [{
175
- type: ViewChild,
176
- args: ['searchBox', { read: ElementRef }]
177
- }], searchBoxChild: [{
178
- type: ViewChild,
179
- args: ['searchBoxChild', { read: ElementRef }]
180
- }], list: [{
181
- type: ViewChild,
182
- args: ['list', { read: ElementRef }]
183
- }], items: [{
184
- type: Input
185
- }], store: [{
186
- type: Input
187
- }], observable: [{
188
- type: Input
189
- }], itemKey: [{
190
- type: Input
191
- }], itemValue: [{
192
- type: Input
193
- }], label: [{
194
- type: Input
195
- }], placeholder: [{
196
- type: Input
197
- }], dropdownMaxHeight: [{
198
- type: Input
199
- }], typeaheadDebounce: [{
200
- type: Input
201
- }], shouldAutoSearch: [{
202
- type: Input
203
- }], shouldCloseOnOutsideClick: [{
204
- type: Input
205
- }], dropdownOpenStatusChange: [{
206
- type: Output
207
230
  }] } });
208
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1zZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdXBkZXZzL2NvbXBvbmVudHMvZm9ybS1jb250cm9scy9zZWxlY3Qvc3JjL21vZGVscy9hYnN0cmFjdGlvbnMvYmFzZS1zZWxlY3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsV0FBVyxFQUNYLFNBQVMsRUFDVCxVQUFVLEVBRVYsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQ1osTUFBTSxFQUNOLE1BQU0sRUFDTixTQUFTLEVBQUUsbUJBQW1CLEVBQ2pDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQXlCLE1BQU0sb0JBQW9CLENBQUM7QUFFaEgsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxrQkFBa0IsRUFBd0MsTUFBTSxvQkFBb0IsQ0FBQztBQUM5RixPQUFPLEVBQUUsR0FBRyxFQUFFLFlBQVksRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJOUQsSUFBTyxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQzs7QUFHM0IsTUFBTSxPQUFnQixtQkFBb0IsU0FBUSxhQUFhO0lBRC9EOztRQUUwQixtQkFBYyxHQUFHLEVBQUUsQ0FBQztRQWlDMUM7O1dBRUc7UUFDTSxnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQUMxQjs7V0FFRztRQUNNLHNCQUFpQixHQUFHLEdBQUcsQ0FBQztRQUN4QixzQkFBaUIsR0FBRyxHQUFHLENBQUM7UUFDeEIscUJBQWdCLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLDhCQUF5QixHQUFHLElBQUksQ0FBQztRQUV2Qiw2QkFBd0IsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBRTFFLGNB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RUFBRTtnQkFDTyxjQUFjO3NCQUFoRSxTQUFTO3VCQUFDLGdCQUFnQixFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFDUixJQUFJO3NCQUE1QyxTQUFTO3VCQUFDLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBTTlCLEtBQUs7c0JBQWIsS0FBSztnQkFJRyxLQUFLO3NCQUFiLEtBQUs7Z0JBSUcsVUFBVTtzQkFBbEIsS0FBSztnQkFLRyxPQUFPO3NCQUFmLEtBQUs7Z0JBS0csU0FBUztzQkFBakIsS0FBSztnQkFJRyxLQUFLO3NCQUFiLEtBQUs7Z0JBSUcsV0FBVztzQkFBbkIsS0FBSztnQkFJRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyx5QkFBeUI7c0JBQWpDLEtBQUs7Z0JBRWEsd0JBQXdCO3NCQUExQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBEaXJlY3RpdmUsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgVmlld0NoaWxkLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgT25Jbml0LFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgaW5qZWN0LFxuICAgIE5nWm9uZSxcbiAgICBSZW5kZXJlcjIsIFJlbmRlcmVyU3R5bGVGbGFnczJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50LCBEb21FdmVudHNTZXJ2aWNlLCBQb3NpdGlvbmluZ1NlcnZpY2UsIENvbXB1dGVQb3NpdGlvblJlc3VsdCB9IGZyb20gJ0B1cGRldnMvc2RrL2xheW91dCc7XG5pbXBvcnQgeyBMaXN0SXRlbSB9IGZyb20gJ0B1cGRldnMvY29tcG9uZW50cy9saXN0JztcbmltcG9ydCB7IFRvb2xzIH0gZnJvbSAnQHVwZGV2cy9zZGsvY29yZSc7XG5pbXBvcnQgeyBTZWFyY2hSZXF1ZXN0TW9kZWwsIFNlYXJjaFJlc3BvbnNlTW9kZWwsIEJhc2VTZWFyY2hTdG9yZSB9IGZyb20gJ0B1cGRldnMvc2RrL3N0b3Jlcyc7XG5pbXBvcnQgeyB0YXAsIGRlYm91bmNlVGltZSwgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBTZWxlY3RJdGVtIH0gZnJvbSAnLi4vc2VsZWN0LWl0ZW0nO1xuXG5pbXBvcnQgVXRpbHMgPSBUb29scy5VdGlscztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZVNlbGVjdENvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKSB3cmFwcGVyQ2xhc3NlcyA9ICcnO1xuICAgIEBWaWV3Q2hpbGQoJ2NvbXBvbmVudEJveCcsIHsgcmVhZDogRWxlbWVudFJlZiB9KSBjb21wb25lbnRCb3g/OiBFbGVtZW50UmVmO1xuICAgIEBWaWV3Q2hpbGQoJ3NlYXJjaEJveCcsIHsgcmVhZDogRWxlbWVudFJlZiB9KSBzZWFyY2hCb3g/OiBFbGVtZW50UmVmO1xuICAgIEBWaWV3Q2hpbGQoJ3NlYXJjaEJveENoaWxkJywgeyByZWFkOiBFbGVtZW50UmVmIH0pIHNlYXJjaEJveENoaWxkPzogRWxlbWVudFJlZjtcbiAgICBAVmlld0NoaWxkKCdsaXN0JywgeyByZWFkOiBFbGVtZW50UmVmIH0pIGxpc3Q/OiBFbGVtZW50UmVmO1xuXG4gICAgLyoqXG4gICAgICogU2VsZWN0IGl0ZW1zLlxuICAgICAqIElmIHByb3ZpZGVkLCB0aGUgc2VsZWN0IHdpbGwgYmUgY29uc2lkZXJlZCBzdGF0aWMuXG4gICAgICovXG4gICAgQElucHV0KCkgaXRlbXM/OiBTZWxlY3RJdGVtW107XG4gICAgLyoqXG4gICAgICogU3RvcmUgdXNlZCB0byBsb2FkL2ZpbHRlciB0aGUgaXRlbXMuXG4gICAgICovXG4gICAgQElucHV0KCkgc3RvcmU/OiBCYXNlU2VhcmNoU3RvcmU8YW55PjtcbiAgICAvKipcbiAgICAgKiBPYnNlcnZhYmxlIHVzZWQgdG8gbG9hZC9maWx0ZXIgdGhlIGl0ZW1zLlxuICAgICAqL1xuICAgIEBJbnB1dCgpIG9ic2VydmFibGU/OiAocmVxdWVzdD86IFNlYXJjaFJlcXVlc3RNb2RlbCwgbWFzdGVySWQ/OiBhbnkpID0+IE9ic2VydmFibGU8U2VhcmNoUmVzcG9uc2VNb2RlbDxhbnk+PjtcbiAgICAvKipcbiAgICAgKiBOYW1lIG9mIHRoZSBwcm9wZXJ0eSBpbiB0aGUgb2JqZWN0IHRoYXQgcmVwcmVzZW50cyB0aGUgSUQva2V5IG9mIHRoZSBvcHRpb24uXG4gICAgICogKipOb3RlOioqIHVzZWQgb25seSBmb3IgcmVtb3RlIGRhdGEuXG4gICAgICovXG4gICAgQElucHV0KCkgaXRlbUtleT86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBOYW1lIG9mIHRoZSBwcm9wZXJ0eSBpbiB0aGUgb2JqZWN0IHRoYXQgcmVwcmVzZW50cyB0aGUgdmFsdWUvZGVzY3JpcHRpb24gb2YgdGhlIG9wdGlvbi5cbiAgICAgKiAqKk5vdGU6KiogdXNlZCBvbmx5IGZvciByZW1vdGUgZGF0YS5cbiAgICAgKi9cbiAgICBASW5wdXQoKSBpdGVtVmFsdWU/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogRGVzY3JpcHRpb24gb2YgdGhlIGZpZWxkLlxuICAgICAqL1xuICAgIEBJbnB1dCgpIGxhYmVsPzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIFBsYWNlaG9sZGVyLlxuICAgICAqL1xuICAgIEBJbnB1dCgpIHBsYWNlaG9sZGVyID0gJyc7XG4gICAgLyoqXG4gICAgICogTWF4aW11bSBoZWlnaHQgb2YgdGhlIGRyb3Bkb3duLlxuICAgICAqL1xuICAgIEBJbnB1dCgpIGRyb3Bkb3duTWF4SGVpZ2h0ID0gMzAwO1xuICAgIEBJbnB1dCgpIHR5cGVhaGVhZERlYm91bmNlID0gMjAwO1xuICAgIEBJbnB1dCgpIHNob3VsZEF1dG9TZWFyY2ggPSB0cnVlO1xuICAgIEBJbnB1dCgpIHNob3VsZENsb3NlT25PdXRzaWRlQ2xpY2sgPSB0cnVlO1xuXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IGRyb3Bkb3duT3BlblN0YXR1c0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIGlzTG9hZGluZyA9IGZhbHNlO1xuICAgIGxvY2FsSXRlbXM6IFNlbGVjdEl0ZW1bXSA9IFtdO1xuICAgIGxpc3RJdGVtczogTGlzdEl0ZW1bXSA9IFtdO1xuICAgIGRyb3Bkb3duQ2xhc3NlcyA9ICdzZWxlY3QtZHJvcGRvd24tY29udGVudCByZW1vdmUtdG9wLXJhZGl1cyc7XG4gICAgZ2V0IGlzRHJvcGRvd25PcGVuKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNEcm9wZG93bk9wZW47XG4gICAgfVxuICAgIHNldCBpc0Ryb3Bkb3duT3Blbih2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9pc0Ryb3Bkb3duT3BlbiA9IHZhbHVlO1xuXG4gICAgICAgIHRoaXMuZHJvcGRvd25PcGVuU3RhdHVzQ2hhbmdlLmVtaXQodmFsdWUpO1xuXG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5kcm9wZG93bkNsYXNzZXMgKz0gJyBzZWxlY3QtZHJvcGRvd24tY29udGVudC1vcGVuJztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZHJvcGRvd25DbGFzc2VzID0gdGhpcy5kcm9wZG93bkNsYXNzZXMucmVwbGFjZSgnIHNlbGVjdC1kcm9wZG93bi1jb250ZW50LW9wZW4nLCAnJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgX2N1cnJlbnRUZXJtPzogc3RyaW5nO1xuICAgIHByb3RlY3RlZCBfbG9jYWxCYWNrdXBJdGVtczogU2VsZWN0SXRlbVtdID0gW107XG5cbiAgICBwcml2YXRlIGlzU3RhdGljTGlzdCA9IGZhbHNlO1xuICAgIHByaXZhdGUgX2lzRHJvcGRvd25PcGVuID0gZmFsc2U7XG4gICAgcHJpdmF0ZSByZWFkb25seSBzZWFyY2hJbnB1dFN1YmplY3QgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSByZW5kZXJlciA9IGluamVjdChSZW5kZXJlcjIpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbmdab25lID0gaW5qZWN0KE5nWm9uZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkb21FdmVudHNTZXJ2aWNlID0gaW5qZWN0KERvbUV2ZW50c1NlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcG9zaXRpb25pbmdTZXJ2aWNlID0gaW5qZWN0KFBvc2l0aW9uaW5nU2VydmljZSk7XG5cbiAgICBhYnN0cmFjdCBjbGVhclNlbGVjdGlvbigpOiB2b2lkO1xuICAgIGFic3RyYWN0IG9uU2VsZWN0SXRlbShpdGVtOiBMaXN0SXRlbSk6IHZvaWQ7XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc1N0YXRpY0xpc3QgPSAodGhpcy5pdGVtcz8ubGVuZ3RoIHx8IDApID4gMDtcblxuICAgICAgICBpZiAodGhpcy5zaG91bGRBdXRvU2VhcmNoKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5pc1N0YXRpY0xpc3QpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9zZXR1cExvY2FsSXRlbXModGhpcy5pdGVtcyEpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlYXJjaFJlbW90ZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuaXNTdGF0aWNMaXN0KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB0eXBlYWhlYWRTdWJzY3JpcHRpb24gPSB0aGlzLnNlYXJjaElucHV0U3ViamVjdFxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgdGFwKHZhbHVlID0+IHRoaXMuX2N1cnJlbnRUZXJtID0gdmFsdWUpLFxuICAgICAgICAgICAgICAgIGRlYm91bmNlVGltZSh0aGlzLnR5cGVhaGVhZERlYm91bmNlKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLnNlYXJjaFJlbW90ZSgpKTtcblxuICAgICAgICB0aGlzLmFkZFN1YnNjcmlwdGlvbnModHlwZWFoZWFkU3Vic2NyaXB0aW9uKTtcbiAgICB9XG5cbiAgICBvcGVuRHJvcGRvd24oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNEcm9wZG93bk9wZW4gPSB0cnVlO1xuXG4gICAgICAgIGlmICh0aGlzLnNob3VsZENsb3NlT25PdXRzaWRlQ2xpY2spIHtcbiAgICAgICAgICAgIGNvbnN0IG91dHNpZGVDbGlja1N1YiA9IHRoaXMuZG9tRXZlbnRzU2VydmljZS5zdGFydE91dHNpZGVDbGlja0xpc3RlbmVyKFxuICAgICAgICAgICAgICAgICgpID0+IHRoaXMubmdab25lLnJ1bigoKSA9PiB0aGlzLmlzRHJvcGRvd25PcGVuID0gZmFsc2UpLFxuICAgICAgICAgICAgICAgIHRoaXMubGlzdD8ubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgICB0cnVlLFxuICAgICAgICAgICAgICAgIHRoaXMuY29tcG9uZW50Qm94Py5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgICAgIHRoaXMuc2VhcmNoQm94Py5uYXRpdmVFbGVtZW50XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgdGhpcy5hZGRTdWJzY3JpcHRpb25zKG91dHNpZGVDbGlja1N1Yik7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PlxuICAgICAgICAgICAgdGhpcy5wb3NpdGlvbmluZ1NlcnZpY2VcbiAgICAgICAgICAgICAgICAuY29tcHV0ZVBvc2l0aW9uKHRoaXMuY29tcG9uZW50Qm94ISwgdGhpcy5saXN0ISwgeyBwbGFjZW1lbnQ6ICdib3R0b20nIH0pXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZShyZXNwID0+IHRoaXMudXBkYXRlUG9zaXRpb24ocmVzcCkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgc2VhcmNoKHRlcm0/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNTdGF0aWNMaXN0KSB7XG4gICAgICAgICAgICB0aGlzLnNlYXJjaExvY2FsKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNlYXJjaElucHV0U3ViamVjdC5uZXh0KHRlcm0gfHwgJycpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIF9zZXR1cExvY2FsSXRlbXMoaXRlbXM6IFNlbGVjdEl0ZW1bXSk6IHZvaWQge1xuICAgICAgICB0aGlzLmxvY2FsSXRlbXMgPSBVdGlscy5kZWVwQ29weShpdGVtcyk7XG4gICAgICAgIHRoaXMuX2xvY2FsQmFja3VwSXRlbXMgPSBVdGlscy5kZWVwQ29weShpdGVtcyk7XG4gICAgICAgIGNvbnN0IHRlbXBJdGVtczogTGlzdEl0ZW1bXSA9IFtdO1xuXG4gICAgICAgIGZvciAoY29uc3QgaXRlbSBvZiB0aGlzLl9sb2NhbEJhY2t1cEl0ZW1zKSB7XG4gICAgICAgICAgICBsZXQgbGlzdEl0ZW0gPSB0aGlzLmdldExpc3RJdGVtKGl0ZW0pO1xuICAgICAgICAgICAgaXRlbS5saXN0SXRlbSA9IE9iamVjdC5hc3NpZ24obGlzdEl0ZW0sIHt9KTtcblxuICAgICAgICAgICAgdGVtcEl0ZW1zLnB1c2gobGlzdEl0ZW0pO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5saXN0SXRlbXMgPSBbLi4udGVtcEl0ZW1zXTtcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNlYXJjaExvY2FsKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuX2N1cnJlbnRUZXJtKSB7XG4gICAgICAgICAgICB0aGlzLmxpc3RJdGVtcyA9IFV0aWxzLmRlZXBDb3B5KHRoaXMuX2xvY2FsQmFja3VwSXRlbXMubWFwKGxpID0+IGxpLmxpc3RJdGVtISkpO1xuICAgICAgICAgICAgdGhpcy5sb2NhbEl0ZW1zID0gVXRpbHMuZGVlcENvcHkodGhpcy5fbG9jYWxCYWNrdXBJdGVtcyk7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmxpc3RJdGVtcyA9IFV0aWxzLmRlZXBDb3B5PFNlbGVjdEl0ZW1bXT4odGhpcy5fbG9jYWxCYWNrdXBJdGVtcykuZmlsdGVyKHNpID0+IHtcbiAgICAgICAgICAgICAgICBsZXQgaGFzQ2hpbGRyZW5JblNlYXJjaCA9IGZhbHNlO1xuXG4gICAgICAgICAgICAgICAgaWYgKChzaS5jaGlsZHJlbj8ubGVuZ3RoIHx8IDApID4gMCkge1xuICAgICAgICAgICAgICAgICAgICBoYXNDaGlsZHJlbkluU2VhcmNoID0gc2kuY2hpbGRyZW4hLmZpbHRlcihcbiAgICAgICAgICAgICAgICAgICAgICAgIGNpID0+IGNpLnRleHQhLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModGhpcy5fY3VycmVudFRlcm0hLnRvTG93ZXJDYXNlKCkpXG4gICAgICAgICAgICAgICAgICAgICkubGVuZ3RoID4gMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gc2kudGV4dCEudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0aGlzLl9jdXJyZW50VGVybSEudG9Mb3dlckNhc2UoKSkgfHwgaGFzQ2hpbGRyZW5JblNlYXJjaDtcbiAgICAgICAgICAgIH0pLm1hcChzaSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgYmtwSXRlbSA9IHRoaXMuX2xvY2FsQmFja3VwSXRlbXMuZmluZChsYmkgPT4gbGJpLnZhbHVlID09PSBzaS52YWx1ZSk7XG5cbiAgICAgICAgICAgICAgICBpZiAoKGJrcEl0ZW0/LmNoaWxkcmVuPy5sZW5ndGggfHwgMCkgPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHNpLmNoaWxkcmVuID0gWy4uLmJrcEl0ZW0hLmNoaWxkcmVuIV0uZmlsdGVyKFxuICAgICAgICAgICAgICAgICAgICAgICAgY2kgPT4gY2kudGV4dCEudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0aGlzLl9jdXJyZW50VGVybSEudG9Mb3dlckNhc2UoKSlcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRMaXN0SXRlbShzaSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZWFyY2hSZW1vdGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9IG5ldyBTZWFyY2hSZXF1ZXN0TW9kZWwoeyBkZXNjcmlwdGlvbjogdGhpcy5fY3VycmVudFRlcm0gfSk7XG4gICAgICAgIGNvbnN0IG9ic2VydmFibGUgPSAhIXRoaXMub2JzZXJ2YWJsZSA/IHRoaXMub2JzZXJ2YWJsZShyZXF1ZXN0KSA6IHRoaXMuc3RvcmUhLnNlYXJjaChyZXF1ZXN0KTtcblxuICAgICAgICBvYnNlcnZhYmxlLnN1YnNjcmliZShyID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGl0ZW1zOiBTZWxlY3RJdGVtW10gPSBbXTtcblxuICAgICAgICAgICAgci5yZWNvcmRzLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgICAgICAgICAgaXRlbXMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBpdGVtW3RoaXMuaXRlbUtleSFdLFxuICAgICAgICAgICAgICAgICAgICB0ZXh0OiBpdGVtW3RoaXMuaXRlbVZhbHVlIV0sXG4gICAgICAgICAgICAgICAgICAgIG9iamVjdERhdGE6IGl0ZW1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5fc2V0dXBMb2NhbEl0ZW1zKGl0ZW1zKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRMaXN0SXRlbShpdGVtOiBTZWxlY3RJdGVtKTogTGlzdEl0ZW0ge1xuICAgICAgICBsZXQgbGlzdEl0ZW06IExpc3RJdGVtO1xuXG4gICAgICAgIGlmICghIWl0ZW0ubGlzdEl0ZW0pIHtcbiAgICAgICAgICAgIGxpc3RJdGVtID0gaXRlbS5saXN0SXRlbTtcbiAgICAgICAgICAgIGxpc3RJdGVtLmlkID0gaXRlbS52YWx1ZTtcbiAgICAgICAgICAgIGxpc3RJdGVtLnRleHQgPSBpdGVtLnRleHQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBsaXN0SXRlbSA9IHtcbiAgICAgICAgICAgICAgICBpZDogaXRlbS52YWx1ZSxcbiAgICAgICAgICAgICAgICB0ZXh0OiBpdGVtLnRleHRcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoKGl0ZW0uY2hpbGRyZW4/Lmxlbmd0aCB8fCAwKSA+IDApIHtcbiAgICAgICAgICAgIGxpc3RJdGVtLmNoaWxkcmVuID0gWy4uLml0ZW0uY2hpbGRyZW4hXS5tYXAoYyA9PiB0aGlzLmdldExpc3RJdGVtKGMpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBsaXN0SXRlbTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVBvc2l0aW9uKHJlc3VsdDogQ29tcHV0ZVBvc2l0aW9uUmVzdWx0KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudEJveCA9IHRoaXMuY29tcG9uZW50Qm94IS5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICBjb25zdCBzZWFyY2hCb3hDaGlsZEVsZW1lbnQgPSB0aGlzLnNlYXJjaEJveENoaWxkPy5uYXRpdmVFbGVtZW50O1xuICAgICAgICBjb25zdCBkZEVsZW1lbnQgPSB0aGlzLmxpc3QhLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShzZWFyY2hCb3hDaGlsZEVsZW1lbnQsICd3aWR0aCcsIGAke01hdGguYWJzKGNvbXBvbmVudEJveC53aWR0aCl9cHhgLCBSZW5kZXJlclN0eWxlRmxhZ3MyLkltcG9ydGFudCk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZGRFbGVtZW50LCAndG9wJywgYCR7cmVzdWx0LnkgKyBzZWFyY2hCb3hDaGlsZEVsZW1lbnQuc2Nyb2xsSGVpZ2h0fXB4YCwgUmVuZGVyZXJTdHlsZUZsYWdzMi5JbXBvcnRhbnQpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGRkRWxlbWVudCwgJ2xlZnQnLCAwLCBSZW5kZXJlclN0eWxlRmxhZ3MyLkltcG9ydGFudCk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZGRFbGVtZW50LCAnd2lkdGgnLCBgJHtNYXRoLmFicyhjb21wb25lbnRCb3gud2lkdGgpfXB4YCwgUmVuZGVyZXJTdHlsZUZsYWdzMi5JbXBvcnRhbnQpO1xuICAgIH1cbn1cbiJdfQ==
231
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1zZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Zvcm0tY29udHJvbHMvc2VsZWN0L3NyYy9tb2RlbHMvYWJzdHJhY3Rpb25zL2Jhc2Utc2VsZWN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULFdBQVcsRUFDWCxVQUFVLEVBRVYsTUFBTSxFQUNOLE1BQU0sRUFDTixTQUFTLEVBQ1QsbUJBQW1CLEVBQ25CLEtBQUssRUFDTCxTQUFTLEVBQ1QsUUFBUSxFQUNSLE1BQU0sRUFDTixlQUFlLEVBQ2YsUUFBUSxFQUNSLE1BQU0sRUFDTixNQUFNLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixFQUF5QixNQUFNLG9CQUFvQixDQUFDO0FBQ2pHLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUV6QyxPQUFPLEVBQTBCLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFOUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUdsRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXZDLElBQU8sS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7O0FBRzNCLE1BQU0sT0FBZ0IsbUJBQW9CLFNBQVEsV0FBVztJQUN6RCxJQUEwQixjQUFjO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDckMsQ0FBQztJQWtERCxJQUFJLGNBQWM7UUFDZCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDaEMsQ0FBQztJQUNELElBQUksY0FBYyxD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QUFuQixtQkFBbUIsK3ZEQUtxQixVQUFVLGlIQUNoQixVQUFVLDJIQUNBLFVBQVUsdUdBQzlCLFVBQVU7OzJGQVJsQyxtQkFBbUI7a0JBRHhDLFNBQVM7d0RBRW9CLGNBQWM7c0JBQXZDLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgRGlyZWN0aXZlLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgT25Jbml0LFxuICAgIGluamVjdCxcbiAgICBOZ1pvbmUsXG4gICAgUmVuZGVyZXIyLFxuICAgIFJlbmRlcmVyU3R5bGVGbGFnczIsXG4gICAgaW5wdXQsXG4gICAgdmlld0NoaWxkLFxuICAgIGNvbXB1dGVkLFxuICAgIGVmZmVjdCxcbiAgICBhZnRlck5leHRSZW5kZXIsXG4gICAgSW5qZWN0b3IsXG4gICAgb3V0cHV0LFxuICAgIHNpZ25hbFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERvbUV2ZW50c1NlcnZpY2UsIFBvc2l0aW9uaW5nU2VydmljZSwgQ29tcHV0ZVBvc2l0aW9uUmVzdWx0IH0gZnJvbSAnQHVwZGV2cy9zZGsvbGF5b3V0JztcbmltcG9ydCB7IFRvb2xzIH0gZnJvbSAnQHVwZGV2cy9zZGsvY29yZSc7XG5pbXBvcnQgeyBCYXNlU2VhcmNoU3RvcmUsIE9ic2VydmFibGVTZWFyY2hUeXBlIH0gZnJvbSAnQHVwZGV2cy9zZGsvc3RvcmVzJztcbmltcG9ydCB7IEhvcml6b250YWxWZXJ0aWNhbFR5cGUsIENvbHVtblNpemVIZWxwZXIgfSBmcm9tICdAdXBkZXZzL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgTGlzdEl0ZW0gfSBmcm9tICdAdXBkZXZzL2NvbXBvbmVudHMvbGlzdCc7XG5pbXBvcnQgeyBCYXNlQ29udHJvbCB9IGZyb20gJ0B1cGRldnMvY29tcG9uZW50cy9mb3JtLWNvbnRyb2xzL2Fic3RyYWN0aW9ucyc7XG5pbXBvcnQgeyB0YXAsIGRlYm91bmNlVGltZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBTZWxlY3RJdGVtIH0gZnJvbSAnLi4vc2VsZWN0LWl0ZW0nO1xuaW1wb3J0IHsgRGVmYXVsdHMgfSBmcm9tICcuLi9kZWZhdWx0cyc7XG5cbmltcG9ydCBVdGlscyA9IFRvb2xzLlV0aWxzO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlU2VsZWN0Q29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbnRyb2wgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKSBnZXQgd3JhcHBlckNsYXNzZXMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmhvc3RXcmFwcGVyQ2xhc3NlcygpO1xuICAgIH1cblxuICAgIHJlYWRvbmx5IGNvbXBvbmVudEJveCA9IHZpZXdDaGlsZCgnY29tcG9uZW50Qm94JywgeyByZWFkOiBFbGVtZW50UmVmIH0pO1xuICAgIHJlYWRvbmx5IHNlYXJjaEJveCA9IHZpZXdDaGlsZCgnc2VhcmNoQm94JywgeyByZWFkOiBFbGVtZW50UmVmIH0pO1xuICAgIHJlYWRvbmx5IHNlYXJjaEJveENoaWxkID0gdmlld0NoaWxkKCdzZWFyY2hCb3hDaGlsZCcsIHsgcmVhZDogRWxlbWVudFJlZiB9KTtcbiAgICByZWFkb25seSBsaXN0ID0gdmlld0NoaWxkKCdsaXN0JywgeyByZWFkOiBFbGVtZW50UmVmIH0pO1xuXG4gICAgcmVhZG9ubHkgZHJvcGRvd25PcGVuU3RhdHVzQ2hhbmdlID0gb3V0cHV0PGJvb2xlYW4+KCk7XG4gICAgLyoqXG4gICAgICogU2VsZWN0IGl0ZW1zLlxuICAgICAqIElmIHByb3ZpZGVkLCB0aGUgc2VsZWN0IHdpbGwgYmUgY29uc2lkZXJlZCBzdGF0aWMuXG4gICAgICovXG4gICAgcmVhZG9ubHkgaXRlbXMgPSBpbnB1dDxTZWxlY3RJdGVtW10+KCk7XG4gICAgLyoqXG4gICAgICogU3RvcmUgdXNlZCB0byBsb2FkL2ZpbHRlciB0aGUgaXRlbXMuXG4gICAgICovXG4gICAgcmVhZG9ubHkgc3RvcmUgPSBpbnB1dDxCYXNlU2VhcmNoU3RvcmU+KCk7XG4gICAgLyoqXG4gICAgICogT2JzZXJ2YWJsZSB1c2VkIHRvIGxvYWQvZmlsdGVyIHRoZSBpdGVtcy5cbiAgICAgKi9cbiAgICByZWFkb25seSBvYnNlcnZhYmxlID0gaW5wdXQ8T2JzZXJ2YWJsZVNlYXJjaFR5cGU+KCk7XG4gICAgLyoqXG4gICAgICogTmFtZSBvZiB0aGUgcHJvcGVydHkgaW4gdGhlIG9iamVjdCB0aGF0IHJlcHJlc2VudHMgdGhlIElEL2tleSBvZiB0aGUgb3B0aW9uLlxuICAgICAqICoqTm90ZToqKiB1c2VkIG9ubHkgZm9yIHJlbW90ZSBkYXRhLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGl0ZW1LZXkgPSBpbnB1dDxzdHJpbmc+KCk7XG4gICAgLyoqXG4gICAgICogTmFtZSBvZiB0aGUgcHJvcGVydHkgaW4gdGhlIG9iamVjdCB0aGF0IHJlcHJlc2VudHMgdGhlIHZhbHVlL2Rlc2NyaXB0aW9uIG9mIHRoZSBvcHRpb24uXG4gICAgICogKipOb3RlOioqIHVzZWQgb25seSBmb3IgcmVtb3RlIGRhdGEuXG4gICAgICovXG4gICAgcmVhZG9ubHkgaXRlbVZhbHVlID0gaW5wdXQ8c3RyaW5nPigpO1xuICAgIC8qKlxuICAgICAqIE1heGltdW0gaGVpZ2h0IG9mIHRoZSBkcm9wZG93bi5cbiAgICAgKi9cbiAgICByZWFkb25seSBkcm9wZG93bk1heEhlaWdodCA9IGlucHV0KERlZmF1bHRzLmRyb3Bkb3duTWF4SGVpZ2h0KTtcbiAgICByZWFkb25seSB0eXBlYWhlYWREZWJvdW5jZSA9IGlucHV0KERlZmF1bHRzLnR5cGVhaGVhZERlYm91bmNlKTtcbiAgICByZWFkb25seSBzaG91bGRBdXRvU2VhcmNoID0gaW5wdXQoRGVmYXVsdHMuc2hvdWxkQXV0b1NlYXJjaCk7XG4gICAgcmVhZG9ubHkgc2hvdWxkQ2xvc2VPbk91dHNpZGVDbGljayA9IGlucHV0KERlZmF1bHRzLnNob3VsZENsb3NlT25PdXRzaWRlQ2xpY2spO1xuICAgIHJlYWRvbmx5IGxheW91dCA9IGlucHV0PEhvcml6b250YWxWZXJ0aWNhbFR5cGU+KERlZmF1bHRzLmxheW91dCk7XG4gICAgLyoqXG4gICAgICogVmFsdWUgY29taW5nIGZyb20gYSBwYXJlbnQgZmllbGQgd2hlbiB0aGUgcnVsZSBgQXR0YWNobWVudFR5cGVFbnVtLlBhcmVudExvYWRgIGlzIGFjdGl2ZS5cbiAgICAgKiBgdXBkLXNlbGVjdGAgY2FuIHVzZSBpdCB0byBmZXRjaCB0aGUgZGVwZW5kZW50IGxpc3QuXG4gICAgICovXG4gICAgcmVhZG9ubHkgcGFyZW50VmFsdWUgPSBpbnB1dCgpO1xuXG4gICAgbGF5b3V0Q2xhc3NlcyA9IGNvbXB1dGVkKCgpID0+IHRoaXMubGF5b3V0KCkgPT09ICdob3Jpem9udGFsJyA/IFsnY29sJywgJ2FsaWduLXNlbGYtY2VudGVyJ10gOiBbXSk7XG4gICAgaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgbG9jYWxJdGVtcyA9IHNpZ25hbDxTZWxlY3RJdGVtW10+KFtdKTtcbiAgICBsaXN0SXRlbXM6IExpc3RJdGVtW10gPSBbXTtcbiAgICBkcm9wZG93bkNsYXNzZXMgPSAnc2VsZWN0LWRyb3Bkb3duLWNvbnRlbnQgcmVtb3ZlLXRvcC1yYWRpdXMnO1xuICAgIGdldCBpc0Ryb3Bkb3duT3BlbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzRHJvcGRvd25PcGVuO1xuICAgIH1cbiAgICBzZXQgaXNEcm9wZG93bk9wZW4odmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5faXNEcm9wZG93bk9wZW4gPSB2YWx1ZTtcblxuICAgICAgICB0aGlzLmRyb3Bkb3duT3BlblN0YXR1c0NoYW5nZS5lbWl0KHZhbHVlKTtcblxuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuZHJvcGRvd25DbGFzc2VzICs9ICcgc2VsZWN0LWRyb3Bkb3duLWNvbnRlbnQtb3Blbic7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmRyb3Bkb3duQ2xhc3NlcyA9IHRoaXMuZHJvcGRvd25DbGFzc2VzLnJlcGxhY2UoJyBzZWxlY3QtZHJvcGRvd24tY29udGVudC1vcGVuJywgJycpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGdldCBsYWJlbFNpemVDbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgICAgIGlmICh0aGlzLmxheW91dCgpICE9PSAnaG9yaXpvbnRhbCcpIHtcbiAgICAgICAgICAgIHJldHVybiAnZm9ybS1sYWJlbCc7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gQ29sdW1uU2l6ZUhlbHBlci5nZXRDbGFzc2VzKFxuICAgICAgICAgICAgJ2NvbC1mb3JtLWxhYmVsJyxcbiAgICAgICAgICAgIENvbHVtblNpemVIZWxwZXIuZ2V0U2l6ZUNsYXNzZXModGhpcy5sYWJlbENvbFNpemUoKSwgMylcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgX2N1cnJlbnRUZXJtPzogc3RyaW5nO1xuICAgIHByb3RlY3RlZCBfbG9jYWxCYWNrdXBJdGVtczogU2VsZWN0SXRlbVtdID0gW107XG5cbiAgICBwcml2YXRlIGhhc0V4dGVybmFsTGlzdCA9IGZhbHNlO1xuICAgIHByaXZhdGUgX2lzRHJvcGRvd25PcGVuID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBob3N0V3JhcHBlckNsYXNzZXMgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmxheW91dCgpID09PSAnaG9yaXpvbnRhbCcgPyAncm93JyA6ICcnKTtcbiAgICBwcml2YXRlIHByZXZpb3VzUGFyZW50VmFsdWU/OiBhbnk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBzZWFyY2hJbnB1dFN1YmplY3QgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSByZW5kZXJlciA9IGluamVjdChSZW5kZXJlcjIpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbmdab25lID0gaW5qZWN0KE5nWm9uZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkb21FdmVudHNTZXJ2aWNlID0gaW5qZWN0KERvbUV2ZW50c1NlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcG9zaXRpb25pbmdTZXJ2aWNlID0gaW5qZWN0KFBvc2l0aW9uaW5nU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBpbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG5cbiAgICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCk7XG5cbiAgICAgICAgZWZmZWN0KCgpID0+IHtcbiAgICAgICAgICAgIGlmICghIXRoaXMuaXRlbXMoKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX3NldHVwTG9jYWxJdGVtcyh0aGlzLml0ZW1zKCkhKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHRoaXMucGFyZW50VmFsdWUoKSAhPT0gdGhpcy5wcmV2aW91c1BhcmVudFZhbHVlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wcmV2aW91c1BhcmVudFZhbHVlID0gdGhpcy5wYXJlbnRWYWx1ZSgpO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5jbGVhclNlbGVjdGlvbigpO1xuICAgICAgICAgICAgICAgIHRoaXMuc2VhcmNoKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIHsgYWxsb3dTaWduYWxXcml0ZXM6IHRydWUgfSk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaGFzRXh0ZXJuYWxMaXN0ID0gIXRoaXMub2JzZXJ2YWJsZSgpICYmICF0aGlzLnN0b3JlKCk7XG5cbiAgICAgICAgaWYgKHRoaXMuc2hvdWxkQXV0b1NlYXJjaCgpKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5oYXNFeHRlcm5hbExpc3QpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9zZXR1cExvY2FsSXRlbXModGhpcy5pdGVtcygpISk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VhcmNoUmVtb3RlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5oYXNFeHRlcm5hbExpc3QpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHR5cGVhaGVhZFN1YnNjcmlwdGlvbiA9IHRoaXMuc2VhcmNoSW5wdXRTdWJqZWN0XG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICB0YXAodmFsdWUgPT4gdGhpcy5fY3VycmVudFRlcm0gPSB2YWx1ZSksXG4gICAgICAgICAgICAgICAgZGVib3VuY2VUaW1lKHRoaXMudHlwZWFoZWFkRGVib3VuY2UoKSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5zZWFyY2hSZW1vdGUoKSk7XG5cbiAgICAgICAgdGhpcy5hZGRTdWJzY3JpcHRpb25zKHR5cGVhaGVhZFN1YnNjcmlwdGlvbik7XG4gICAgfVxuXG4gICAgb3BlbkRyb3Bkb3duKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzRHJvcGRvd25PcGVuID0gdHJ1ZTtcblxuICAgICAgICBpZiAodGhpcy5zaG91bGRDbG9zZU9uT3V0c2lkZUNsaWNrKCkpIHtcbiAgICAgICAgICAgIGNvbnN0IG91dHNpZGVDbGlja1N1YiA9IHRoaXMuZG9tRXZlbnRzU2VydmljZS5zdGFydE91dHNpZGVDbGlja0xpc3RlbmVyKFxuICAgICAgICAgICAgICAgICgpID0+IHRoaXMubmdab25lLnJ1bigoKSA9PiB0aGlzLmlzRHJvcGRvd25PcGVuID0gZmFsc2UpLFxuICAgICAgICAgICAgICAgIHRoaXMubGlzdCgpPy5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgICAgIHRydWUsXG4gICAgICAgICAgICAgICAgdGhpcy5jb21wb25lbnRCb3goKT8ubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgICB0aGlzLnNlYXJjaEJveCgpPy5uYXRpdmVFbGVtZW50XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgdGhpcy5hZGRTdWJzY3JpcHRpb25zKG91dHNpZGVDbGlja1N1Yik7XG4gICAgICAgIH1cblxuICAgICAgICBhZnRlck5leHRSZW5kZXIoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT5cbiAgICAgICAgICAgICAgICB0aGlzLnBvc2l0aW9uaW5nU2VydmljZVxuICAgICAgICAgICAgICAgICAgICAuY29tcHV0ZVBvc2l0aW9uKHRoaXMuY29tcG9uZW50Qm94KCkhLCB0aGlzLmxpc3QoKSEsIHsgcGxhY2VtZW50OiAnYm90dG9tJyB9KVxuICAgICAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKHJlc3AgPT4gdGhpcy51cGRhdGVQb3NpdGlvbihyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0sIHsgaW5qZWN0b3I6IHRoaXMuaW5qZWN0b3IgfSk7XG4gICAgfVxuXG4gICAgc2VhcmNoKHRlcm0/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaGFzRXh0ZXJuYWxMaXN0KSB7XG4gICAgICAgICAgICB0aGlzLl9jdXJyZW50VGVybSA9IHRlcm07XG4gICAgICAgICAgICB0aGlzLnNlYXJjaExvY2FsKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNlYXJjaElucHV0U3ViamVjdC5uZXh0KHRlcm0gfHwgJycpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIF9zZXR1cExvY2FsSXRlbXMoaXRlbXM6IFNlbGVjdEl0ZW1bXSk6IHZvaWQge1xuICAgICAgICBjb25zdCBjb3BpZWRJdGVtczogU2VsZWN0SXRlbVtdID0gVXRpbHMuZGVlcENvcHkoaXRlbXMpO1xuXG4gICAgICAgIHRoaXMubG9jYWxJdGVtcy5zZXQoY29waWVkSXRlbXMpO1xuXG4gICAgICAgIHRoaXMuX2xvY2FsQmFja3VwSXRlbXMgPSBVdGlscy5kZWVwQ29weShpdGVtcyk7XG4gICAgICAgIGNvbnN0IHRlbXBJdGVtczogTGlzdEl0ZW1bXSA9IFtdO1xuXG4gICAgICAgIGZvciAoY29uc3QgaXRlbSBvZiB0aGlzLl9sb2NhbEJhY2t1cEl0ZW1zKSB7XG4gICAgICAgICAgICBjb25zdCBsaXN0SXRlbSA9IHRoaXMuZ2V0TGlzdEl0ZW0oaXRlbSk7XG4gICAgICAgICAgICBpdGVtLmxpc3RJdGVtID0gT2JqZWN0LmFzc2lnbihsaXN0SXRlbSwge30pO1xuXG4gICAgICAgICAgICB0ZW1wSXRlbXMucHVzaChsaXN0SXRlbSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmxpc3RJdGVtcyA9IFsuLi50ZW1wSXRlbXNdO1xuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2VhcmNoTG9jYWwoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5fY3VycmVudFRlcm0pIHtcbiAgICAgICAgICAgIHRoaXMubGlzdEl0ZW1zID0gVXRpbHMuZGVlcENvcHkodGhpcy5fbG9jYWxCYWNrdXBJdGVtcy5tYXAobGkgPT4gbGkubGlzdEl0ZW0hKSk7XG4gICAgICAgICAgICB0aGlzLmxvY2FsSXRlbXMuc2V0KFV0aWxzLmRlZXBDb3B5KHRoaXMuX2xvY2FsQmFja3VwSXRlbXMpKTtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+XG4gICAgICAgICAgICB0aGlzLmxpc3RJdGVtcyA9IFV0aWxzXG4gICAgICAgICAgICAgICAgLmRlZXBDb3B5PFNlbGVjdEl0ZW1bXT4odGhpcy5fbG9jYWxCYWNrdXBJdGVtcylcbiAgICAgICAgICAgICAgICAuZmlsdGVyKHNpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGhhc0NoaWxkcmVuSW5TZWFyY2ggPSBmYWxzZTtcblxuICAgICAgICAgICAgICAgICAgICBpZiAoKHNpLmNoaWxkcmVuPy5sZW5ndGggfHwgMCkgPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBoYXNDaGlsZHJlbkluU2VhcmNoID0gc2kuY2hpbGRyZW4hLmZpbHRlcihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaSA9PiBjaS50ZXh0IS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHRoaXMuX2N1cnJlbnRUZXJtIS50b0xvd2VyQ2FzZSgpKVxuICAgICAgICAgICAgICAgICAgICAgICAgKS5sZW5ndGggPiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNpLnRleHQhLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModGhpcy5fY3VycmVudFRlcm0hLnRvTG93ZXJDYXNlKCkpIHx8IGhhc0NoaWxkcmVuSW5TZWFyY2g7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAubWFwKHNpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYmtwSXRlbSA9IHRoaXMuX2xvY2FsQmFja3VwSXRlbXMuZmluZChsYmkgPT4gbGJpLnZhbHVlID09PSBzaS52YWx1ZSk7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKChia3BJdGVtPy5jaGlsZHJlbj8ubGVuZ3RoIHx8IDApID4gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2kuY2hpbGRyZW4gPSBbLi4uYmtwSXRlbSEuY2hpbGRyZW4hXS5maWx0ZXIoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2kgPT4gY2kudGV4dCEudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0aGlzLl9jdXJyZW50VGVybSEudG9Mb3dlckNhc2UoKSlcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRMaXN0SXRlbShzaSk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNlYXJjaFJlbW90ZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0geyBkZXNjcmlwdGlvbjogdGhpcy5fY3VycmVudFRlcm0gfTtcbiAgICAgICAgY29uc3Qgb2JzZXJ2YWJsZSA9ICEhdGhpcy5vYnNlcnZhYmxlKClcbiAgICAgICAgICAgID8gdGhpcy5vYnNlcnZhYmxlKCkhKHJlcXVlc3QsIHRoaXMucGFyZW50VmFsdWUoKSlcbiAgICAgICAgICAgIDogdGhpcy5zdG9yZSgpIS5zZWFyY2gocmVxdWVzdCwgdGhpcy5wYXJlbnRWYWx1ZSgpKTtcblxuICAgICAgICBvYnNlcnZhYmxlLnN1YnNjcmliZShyID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGl0ZW1zOiBTZWxlY3RJdGVtW10gPSBbXTtcblxuICAgICAgICAgICAgci5yZWNvcmRzLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgICAgICAgICAgaXRlbXMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBpdGVtW3RoaXMuaXRlbUtleSgpIV0sXG4gICAgICAgICAgICAgICAgICAgIHRleHQ6IGl0ZW1bdGhpcy5pdGVtVmFsdWUoKSFdLFxuICAgICAgICAgICAgICAgICAgICBvYmplY3REYXRhOiBpdGVtXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuX3NldHVwTG9jYWxJdGVtcyhpdGVtcyk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0TGlzdEl0ZW0oaXRlbTogU2VsZWN0SXRlbSk6IExpc3RJdGVtIHtcbiAgICAgICAgbGV0IGxpc3RJdGVtOiBMaXN0SXRlbTtcblxuICAgICAgICBpZiAoISFpdGVtLmxpc3RJdGVtKSB7XG4gICAgICAgICAgICBsaXN0SXRlbSA9IGl0ZW0ubGlzdEl0ZW07XG4gICAgICAgICAgICBsaXN0SXRlbS5pZCA9IGl0ZW0udmFsdWU7XG4gICAgICAgICAgICBsaXN0SXRlbS50ZXh0ID0gaXRlbS50ZXh0O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbGlzdEl0ZW0gPSB7XG4gICAgICAgICAgICAgICAgaWQ6IGl0ZW0udmFsdWUsXG4gICAgICAgICAgICAgICAgdGV4dDogaXRlbS50ZXh0XG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKChpdGVtLmNoaWxkcmVuPy5sZW5ndGggfHwgMCkgPiAwKSB7XG4gICAgICAgICAgICBsaXN0SXRlbS5jaGlsZHJlbiA9IFsuLi5pdGVtLmNoaWxkcmVuIV0ubWFwKGMgPT4gdGhpcy5nZXRMaXN0SXRlbShjKSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbGlzdEl0ZW07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVQb3NpdGlvbihyZXN1bHQ6IENvbXB1dGVQb3NpdGlvblJlc3VsdCk6IHZvaWQge1xuICAgICAgICBjb25zdCBjb21wb25lbnRCb3ggPSB0aGlzLmNvbXBvbmVudEJveCgpIS5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICBjb25zdCBzZWFyY2hCb3hDaGlsZEVsZW1lbnQgPSB0aGlzLnNlYXJjaEJveENoaWxkKCk/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IGRkRWxlbWVudCA9IHRoaXMubGlzdCgpIS5uYXRpdmVFbGVtZW50O1xuXG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoc2VhcmNoQm94Q2hpbGRFbGVtZW50LCAnd2lkdGgnLCBgJHtNYXRoLmFicyhjb21wb25lbnRCb3gud2lkdGgpfXB4YCwgUmVuZGVyZXJTdHlsZUZsYWdzMi5JbXBvcnRhbnQpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGRkRWxlbWVudCwgJ3RvcCcsIGAke3Jlc3VsdC55ICsgc2VhcmNoQm94Q2hpbGRFbGVtZW50LnNjcm9sbEhlaWdodH1weGAsIFJlbmRlcmVyU3R5bGVGbGFnczIuSW1wb3J0YW50KTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShkZEVsZW1lbnQsICdsZWZ0JywgMCwgUmVuZGVyZXJTdHlsZUZsYWdzMi5JbXBvcnRhbnQpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGRkRWxlbWVudCwgJ3dpZHRoJywgYCR7TWF0aC5hYnMoY29tcG9uZW50Qm94LndpZHRoKX1weGAsIFJlbmRlcmVyU3R5bGVGbGFnczIuSW1wb3J0YW50KTtcbiAgICB9XG5cbiAgICBhYnN0cmFjdCBjbGVhclNlbGVjdGlvbigpOiB2b2lkO1xuICAgIGFic3RyYWN0IG9uU2VsZWN0SXRlbShpdGVtOiBMaXN0SXRlbSk6IHZvaWQ7XG59XG4iXX0=
@@ -0,0 +1,8 @@
1
+ export class Defaults {
2
+ static { this.dropdownMaxHeight = 300; }
3
+ static { this.typeaheadDebounce = 200; }
4
+ static { this.shouldAutoSearch = true; }
5
+ static { this.shouldCloseOnOutsideClick = true; }
6
+ static { this.layout = 'vertical'; }
7
+ }
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybS1jb250cm9scy9zZWxlY3Qvc3JjL21vZGVscy9kZWZhdWx0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sUUFBUTthQUNWLHNCQUFpQixHQUFHLEdBQUcsQ0FBQzthQUN4QixzQkFBaUIsR0FBRyxHQUFHLENBQUM7YUFDeEIscUJBQWdCLEdBQUcsSUFBSSxDQUFDO2FBQ3hCLDhCQUF5QixHQUFHLElBQUksQ0FBQzthQUNqQyxXQUFNLEdBQTJCLFVBQVUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEhvcml6b250YWxWZXJ0aWNhbFR5cGUgfSBmcm9tICdAdXBkZXZzL2NvbXBvbmVudHMnO1xuXG5leHBvcnQgY2xhc3MgRGVmYXVsdHMge1xuICAgIHN0YXRpYyBkcm9wZG93bk1heEhlaWdodCA9IDMwMDtcbiAgICBzdGF0aWMgdHlwZWFoZWFkRGVib3VuY2UgPSAyMDA7XG4gICAgc3RhdGljIHNob3VsZEF1dG9TZWFyY2ggPSB0cnVlO1xuICAgIHN0YXRpYyBzaG91bGRDbG9zZU9uT3V0c2lkZUNsaWNrID0gdHJ1ZTtcbiAgICBzdGF0aWMgbGF5b3V0OiBIb3Jpem9udGFsVmVydGljYWxUeXBlID0gJ3ZlcnRpY2FsJztcbn1cbiJdfQ==
@@ -1,2 +1,3 @@
1
+ export * from './defaults';
1
2
  export * from './select-item';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VwZGV2cy9jb21wb25lbnRzL2Zvcm0tY29udHJvbHMvc2VsZWN0L3NyYy9tb2RlbHMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2VsZWN0LWl0ZW0nO1xuIl19
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3JtLWNvbnRyb2xzL3NlbGVjdC9zcmMvbW9kZWxzL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2RlZmF1bHRzJztcbmV4cG9ydCAqIGZyb20gJy4vc2VsZWN0LWl0ZW0nO1xuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91cGRldnMvY29tcG9uZW50cy9mb3JtLWNvbnRyb2xzL3NlbGVjdC9zcmMvbW9kZWxzL3NlbGVjdC1pdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMaXN0SXRlbSB9IGZyb20gJ0B1cGRldnMvY29tcG9uZW50cy9saXN0JztcblxuZXhwb3J0IGludGVyZmFjZSBTZWxlY3RJdGVtIHtcbiAgICAvKipcbiAgICAgKiBWYWx1ZSBvZiB0aGUgc2luZ2xlIGl0ZW0gaWYgc2VsZWN0ZWQuXG4gICAgICogSWYgZ3JvdXBlZCwgd2lsbCBiZSB0aGUgZ3JvdXAga2V5LlxuICAgICAqL1xuICAgIHZhbHVlPzogYW55O1xuICAgIC8qKlxuICAgICAqIERlc2NyaXB0aW9uIG9mIHRoZSBzaW5nbGUgaXRlbS5cbiAgICAgKiBJZiBncm91cGVkLCB3aWxsIGJlIHRoZSBncm91cCBuYW1lLlxuICAgICAqL1xuICAgIHRleHQ6IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBGdWxsIG9iamVjdCdzIGRhdGEuXG4gICAgICovXG4gICAgb2JqZWN0RGF0YT86IGFueTtcbiAgICAvKipcbiAgICAgKiBBbGxvd3MgdG8gY3VzdG9taXplIHRoZSBsaXN0IGl0ZW0uXG4gICAgICovXG4gICAgbGlzdEl0ZW0/OiBMaXN0SXRlbTtcbiAgICAvKipcbiAgICAgKiBDaGlsZHJlbi5cbiAgICAgKi9cbiAgICBjaGlsZHJlbj86IFNlbGVjdEl0ZW1bXTtcbn1cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybS1jb250cm9scy9zZWxlY3Qvc3JjL21vZGVscy9zZWxlY3QtaXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTGlzdEl0ZW0gfSBmcm9tICdAdXBkZXZzL2NvbXBvbmVudHMvbGlzdCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VsZWN0SXRlbSB7XG4gICAgLyoqXG4gICAgICogVmFsdWUgb2YgdGhlIHNpbmdsZSBpdGVtIGlmIHNlbGVjdGVkLlxuICAgICAqIElmIGdyb3VwZWQsIHdpbGwgYmUgdGhlIGdyb3VwIGtleS5cbiAgICAgKi9cbiAgICB2YWx1ZT86IGFueTtcbiAgICAvKipcbiAgICAgKiBEZXNjcmlwdGlvbiBvZiB0aGUgc2luZ2xlIGl0ZW0uXG4gICAgICogSWYgZ3JvdXBlZCwgd2lsbCBiZSB0aGUgZ3JvdXAgbmFtZS5cbiAgICAgKi9cbiAgICB0ZXh0OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogRnVsbCBvYmplY3QncyBkYXRhLlxuICAgICAqL1xuICAgIG9iamVjdERhdGE/OiBhbnk7XG4gICAgLyoqXG4gICAgICogQWxsb3dzIHRvIGN1c3RvbWl6ZSB0aGUgbGlzdCBpdGVtLlxuICAgICAqL1xuICAgIGxpc3RJdGVtPzogTGlzdEl0ZW07XG4gICAgLyoqXG4gICAgICogQ2hpbGRyZW4uXG4gICAgICovXG4gICAgY2hpbGRyZW4/OiBTZWxlY3RJdGVtW107XG59XG4iXX0=
@@ -2,4 +2,4 @@ export * from './models/public-api';
2
2
  export * from './components/single/select.component';
3
3
  export * from './components/multiple/select-multiple.component';
4
4
  export * from './upd-select.module';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VwZGV2cy9jb21wb25lbnRzL2Zvcm0tY29udHJvbHMvc2VsZWN0L3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMscUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL21vZGVscy9wdWJsaWMtYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9zaW5nbGUvc2VsZWN0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvbXVsdGlwbGUvc2VsZWN0LW11bHRpcGxlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3VwZC1zZWxlY3QubW9kdWxlJztcbiJdfQ==
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3JtLWNvbnRyb2xzL3NlbGVjdC9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvcHVibGljLWFwaSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvc2luZ2xlL3NlbGVjdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL211bHRpcGxlL3NlbGVjdC1tdWx0aXBsZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi91cGQtc2VsZWN0Lm1vZHVsZSc7XG4iXX0=
@@ -1,34 +1,37 @@
1
1
  import { NgModule } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
- import { TranslocoModule } from '@ngneat/transloco';
3
+ import { TranslocoModule } from '@jsverse/transloco';
4
4
  import { UpdIconsModule } from '@updevs/icons';
5
5
  import { UpdCoreLayoutModule } from '@updevs/sdk/layout';
6
6
  import { UpdListModule } from '@updevs/components/list';
7
7
  import { UpdButtonModule } from '@updevs/components/button';
8
8
  import { UpdInputModule } from '@updevs/components/form-controls/input';
9
+ import { UpdPopoverModule } from '@updevs/components/popover';
9
10
  import { SelectComponent } from './components/single/select.component';
10
11
  import { SelectMultipleComponent } from './components/multiple/select-multiple.component';
11
12
  import * as i0 from "@angular/core";
12
13
  export class UpdSelectModule {
13
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: UpdSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
14
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.1", ngImport: i0, type: UpdSelectModule, declarations: [SelectComponent,
14
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: UpdSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
15
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.0", ngImport: i0, type: UpdSelectModule, declarations: [SelectComponent,
15
16
  SelectMultipleComponent], imports: [CommonModule,
16
17
  UpdCoreLayoutModule,
17
18
  UpdListModule,
18
19
  UpdInputModule,
19
20
  UpdIconsModule,
20
21
  UpdButtonModule,
22
+ UpdPopoverModule,
21
23
  TranslocoModule], exports: [SelectComponent,
22
24
  SelectMultipleComponent] }); }
23
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: UpdSelectModule, imports: [CommonModule,
25
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: UpdSelectModule, imports: [CommonModule,
24
26
  UpdCoreLayoutModule,
25
27
  UpdListModule,
26
28
  UpdInputModule,
27
29
  UpdIconsModule,
28
30
  UpdButtonModule,
31
+ UpdPopoverModule,
29
32
  TranslocoModule] }); }
30
33
  }
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: UpdSelectModule, decorators: [{
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: UpdSelectModule, decorators: [{
32
35
  type: NgModule,
33
36
  args: [{
34
37
  imports: [
@@ -38,6 +41,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImpor
38
41
  UpdInputModule,
39
42
  UpdIconsModule,
40
43
  UpdButtonModule,
44
+ UpdPopoverModule,
41
45
  TranslocoModule
42
46
  ],
43
47
  declarations: [
@@ -50,4 +54,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImpor
50
54
  ]
51
55
  }]
52
56
  }] });
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkLXNlbGVjdC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91cGRldnMvY29tcG9uZW50cy9mb3JtLWNvbnRyb2xzL3NlbGVjdC9zcmMvdXBkLXNlbGVjdC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFeEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDOztBQXFCMUYsTUFBTSxPQUFPLGVBQWU7OEdBQWYsZUFBZTsrR0FBZixlQUFlLGlCQVJwQixlQUFlO1lBQ2YsdUJBQXVCLGFBVnZCLFlBQVk7WUFDWixtQkFBbUI7WUFDbkIsYUFBYTtZQUNiLGNBQWM7WUFDZCxjQUFjO1lBQ2QsZUFBZTtZQUNmLGVBQWUsYUFPZixlQUFlO1lBQ2YsdUJBQXVCOytHQUdsQixlQUFlLFlBakJwQixZQUFZO1lBQ1osbUJBQW1CO1lBQ25CLGFBQWE7WUFDYixjQUFjO1lBQ2QsY0FBYztZQUNkLGVBQWU7WUFDZixlQUFlOzsyRkFXVixlQUFlO2tCQW5CM0IsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWixtQkFBbUI7d0JBQ25CLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCxjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsZUFBZTtxQkFDbEI7b0JBQ0QsWUFBWSxFQUFFO3dCQUNWLGVBQWU7d0JBQ2YsdUJBQXVCO3FCQUMxQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsZUFBZTt3QkFDZix1QkFBdUI7cUJBQzFCO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBUcmFuc2xvY29Nb2R1bGUgfSBmcm9tICdAbmduZWF0L3RyYW5zbG9jbyc7XG5pbXBvcnQgeyBVcGRJY29uc01vZHVsZSB9IGZyb20gJ0B1cGRldnMvaWNvbnMnO1xuaW1wb3J0IHsgVXBkQ29yZUxheW91dE1vZHVsZSB9IGZyb20gJ0B1cGRldnMvc2RrL2xheW91dCc7XG5pbXBvcnQgeyBVcGRMaXN0TW9kdWxlIH0gZnJvbSAnQHVwZGV2cy9jb21wb25lbnRzL2xpc3QnO1xuaW1wb3J0IHsgVXBkQnV0dG9uTW9kdWxlIH0gZnJvbSAnQHVwZGV2cy9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQgeyBVcGRJbnB1dE1vZHVsZSB9IGZyb20gJ0B1cGRldnMvY29tcG9uZW50cy9mb3JtLWNvbnRyb2xzL2lucHV0JztcblxuaW1wb3J0IHsgU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NpbmdsZS9zZWxlY3QuY29tcG9uZW50JztcbmltcG9ydCB7IFNlbGVjdE11bHRpcGxlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL211bHRpcGxlL3NlbGVjdC1tdWx0aXBsZS5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBVcGRDb3JlTGF5b3V0TW9kdWxlLFxuICAgICAgICBVcGRMaXN0TW9kdWxlLFxuICAgICAgICBVcGRJbnB1dE1vZHVsZSxcbiAgICAgICAgVXBkSWNvbnNNb2R1bGUsXG4gICAgICAgIFVwZEJ1dHRvbk1vZHVsZSxcbiAgICAgICAgVHJhbnNsb2NvTW9kdWxlXG4gICAgXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtcbiAgICAgICAgU2VsZWN0Q29tcG9uZW50LFxuICAgICAgICBTZWxlY3RNdWx0aXBsZUNvbXBvbmVudFxuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBTZWxlY3RDb21wb25lbnQsXG4gICAgICAgIFNlbGVjdE11bHRpcGxlQ29tcG9uZW50XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBVcGRTZWxlY3RNb2R1bGUge31cbiJdfQ==
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkLXNlbGVjdC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybS1jb250cm9scy9zZWxlY3Qvc3JjL3VwZC1zZWxlY3QubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRTlELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQzs7QUFzQjFGLE1BQU0sT0FBTyxlQUFlOzhHQUFmLGVBQWU7K0dBQWYsZUFBZSxpQkFScEIsZUFBZTtZQUNmLHVCQUF1QixhQVh2QixZQUFZO1lBQ1osbUJBQW1CO1lBQ25CLGFBQWE7WUFDYixjQUFjO1lBQ2QsY0FBYztZQUNkLGVBQWU7WUFDZixnQkFBZ0I7WUFDaEIsZUFBZSxhQU9mLGVBQWU7WUFDZix1QkFBdUI7K0dBR2xCLGVBQWUsWUFsQnBCLFlBQVk7WUFDWixtQkFBbUI7WUFDbkIsYUFBYTtZQUNiLGNBQWM7WUFDZCxjQUFjO1lBQ2QsZUFBZTtZQUNmLGdCQUFnQjtZQUNoQixlQUFlOzsyRkFXVixlQUFlO2tCQXBCM0IsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWixtQkFBbUI7d0JBQ25CLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCxjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixlQUFlO3FCQUNsQjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1YsZUFBZTt3QkFDZix1QkFBdUI7cUJBQzFCO29CQUNELE9BQU8sRUFBRTt3QkFDTCxlQUFlO3dCQUNmLHVCQUF1QjtxQkFDMUI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFRyYW5zbG9jb01vZHVsZSB9IGZyb20gJ0Bqc3ZlcnNlL3RyYW5zbG9jbyc7XG5pbXBvcnQgeyBVcGRJY29uc01vZHVsZSB9IGZyb20gJ0B1cGRldnMvaWNvbnMnO1xuaW1wb3J0IHsgVXBkQ29yZUxheW91dE1vZHVsZSB9IGZyb20gJ0B1cGRldnMvc2RrL2xheW91dCc7XG5pbXBvcnQgeyBVcGRMaXN0TW9kdWxlIH0gZnJvbSAnQHVwZGV2cy9jb21wb25lbnRzL2xpc3QnO1xuaW1wb3J0IHsgVXBkQnV0dG9uTW9kdWxlIH0gZnJvbSAnQHVwZGV2cy9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQgeyBVcGRJbnB1dE1vZHVsZSB9IGZyb20gJ0B1cGRldnMvY29tcG9uZW50cy9mb3JtLWNvbnRyb2xzL2lucHV0JztcbmltcG9ydCB7IFVwZFBvcG92ZXJNb2R1bGUgfSBmcm9tICdAdXBkZXZzL2NvbXBvbmVudHMvcG9wb3Zlcic7XG5cbmltcG9ydCB7IFNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zaW5nbGUvc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZWxlY3RNdWx0aXBsZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9tdWx0aXBsZS9zZWxlY3QtbXVsdGlwbGUuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgVXBkQ29yZUxheW91dE1vZHVsZSxcbiAgICAgICAgVXBkTGlzdE1vZHVsZSxcbiAgICAgICAgVXBkSW5wdXRNb2R1bGUsXG4gICAgICAgIFVwZEljb25zTW9kdWxlLFxuICAgICAgICBVcGRCdXR0b25Nb2R1bGUsXG4gICAgICAgIFVwZFBvcG92ZXJNb2R1bGUsXG4gICAgICAgIFRyYW5zbG9jb01vZHVsZVxuICAgIF0sXG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIFNlbGVjdENvbXBvbmVudCxcbiAgICAgICAgU2VsZWN0TXVsdGlwbGVDb21wb25lbnRcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgU2VsZWN0Q29tcG9uZW50LFxuICAgICAgICBTZWxlY3RNdWx0aXBsZUNvbXBvbmVudFxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgVXBkU2VsZWN0TW9kdWxlIHt9XG4iXX0=
@@ -2,4 +2,4 @@
2
2
  * Generated bundle index. Do not edit.
3
3
  */
4
4
  export * from './index';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkZXZzLWNvbXBvbmVudHMtZm9ybS1jb250cm9scy1zZWxlY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91cGRldnMvY29tcG9uZW50cy9mb3JtLWNvbnRyb2xzL3NlbGVjdC9zcmMvdXBkZXZzLWNvbXBvbmVudHMtZm9ybS1jb250cm9scy1zZWxlY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkZXZzLWNvbXBvbmVudHMtZm9ybS1jb250cm9scy1zZWxlY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybS1jb250cm9scy9zZWxlY3Qvc3JjL3VwZGV2cy1jb21wb25lbnRzLWZvcm0tY29udHJvbHMtc2VsZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
@@ -1,2 +1,2 @@
1
1
  export * from './public-api';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91cGRldnMvY29tcG9uZW50cy9mb3JtLWNvbnRyb2xzL3RleHRhcmVhL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybS1jb250cm9scy90ZXh0YXJlYS9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
@@ -1,3 +1,3 @@
1
1
  export * from './textarea.component';
2
2
  export * from './upd-textarea.module';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VwZGV2cy9jb21wb25lbnRzL2Zvcm0tY29udHJvbHMvdGV4dGFyZWEvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi90ZXh0YXJlYS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi91cGQtdGV4dGFyZWEubW9kdWxlJztcbiJdfQ==
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3JtLWNvbnRyb2xzL3RleHRhcmVhL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyx1QkFBdUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vdGV4dGFyZWEuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vdXBkLXRleHRhcmVhLm1vZHVsZSc7XG4iXX0=