@sebgroup/green-angular 6.0.4 → 6.1.0-rc.20250730100346703

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 (1323) hide show
  1. package/.eslintrc.json +39 -0
  2. package/.storybook/designlibrary.json +452 -0
  3. package/.storybook/main.ts +15 -0
  4. package/.storybook/manager.ts +2 -0
  5. package/.storybook/preview.ts +17 -0
  6. package/.storybook/tsconfig.json +18 -0
  7. package/CHANGELOG.md +1398 -0
  8. package/jest.config.ts +31 -0
  9. package/ng-package.json +12 -0
  10. package/package.json +4 -270
  11. package/project.json +113 -0
  12. package/src/index.ts +17 -0
  13. package/src/lib/Get-started.mdx +78 -0
  14. package/src/lib/Testing.mdx +74 -0
  15. package/src/lib/accordion/accordion-list-item.component.html +41 -0
  16. package/src/lib/accordion/accordion-list-item.component.spec.ts +97 -0
  17. package/src/lib/accordion/accordion-list-item.component.ts +41 -0
  18. package/src/lib/accordion/accordion.component.html +3 -0
  19. package/src/lib/accordion/accordion.component.spec.ts +172 -0
  20. package/src/lib/accordion/accordion.component.ts +78 -0
  21. package/src/lib/accordion/accordion.module.ts +12 -0
  22. package/src/lib/accordion/accordion.stories.ts +108 -0
  23. package/src/lib/accordion/documentation.mdx +145 -0
  24. package/src/lib/accordion/index.ts +3 -0
  25. package/src/lib/accordion/ng-package.json +5 -0
  26. package/src/lib/badge/badge.component.ts +66 -0
  27. package/src/lib/badge/badge.module.ts +11 -0
  28. package/src/lib/badge/badge.stories.ts +59 -0
  29. package/src/lib/badge/documentation.mdx +79 -0
  30. package/src/lib/badge/index.ts +2 -0
  31. package/src/lib/badge/ng-package.json +5 -0
  32. package/src/lib/button/button.component.ts +25 -0
  33. package/src/lib/button/button.module.ts +11 -0
  34. package/src/lib/button/button.stories.ts +66 -0
  35. package/src/lib/button/documentation.mdx +31 -0
  36. package/src/lib/button/index.ts +2 -0
  37. package/src/lib/button/ng-package.json +5 -0
  38. package/src/lib/cell-table/cell-table-item.component.ts +54 -0
  39. package/src/lib/cell-table/cell-table.component.html +91 -0
  40. package/src/lib/cell-table/cell-table.component.scss +41 -0
  41. package/src/lib/cell-table/cell-table.component.ts +106 -0
  42. package/src/lib/cell-table/cell-table.module.ts +17 -0
  43. package/src/lib/cell-table/cell-table.stories.ts +92 -0
  44. package/src/lib/cell-table/cell-table.types.ts +51 -0
  45. package/src/lib/cell-table/cell-underline.directive.ts +68 -0
  46. package/src/lib/cell-table/documentation.mdx +128 -0
  47. package/src/lib/cell-table/index.ts +3 -0
  48. package/src/lib/cell-table/ng-package.json +5 -0
  49. package/src/lib/context-menu/context-menu.component.html +30 -0
  50. package/src/lib/context-menu/context-menu.component.spec.ts +43 -0
  51. package/src/lib/context-menu/context-menu.component.ts +84 -0
  52. package/src/lib/context-menu/context-menu.module.ts +13 -0
  53. package/src/lib/context-menu/context-menu.stories.ts +142 -0
  54. package/src/lib/context-menu/documentation.mdx +96 -0
  55. package/src/lib/context-menu/index.ts +2 -0
  56. package/src/lib/context-menu/ng-package.json +5 -0
  57. package/src/lib/datepicker/datepicker.component.html +22 -0
  58. package/src/lib/datepicker/datepicker.component.ts +182 -0
  59. package/src/lib/datepicker/datepicker.module.ts +13 -0
  60. package/src/lib/datepicker/datepicker.stories.ts +147 -0
  61. package/src/lib/datepicker/documentation.mdx +188 -0
  62. package/src/lib/datepicker/index.ts +2 -0
  63. package/src/lib/datepicker/ng-package.json +5 -0
  64. package/src/lib/dropdown/documentation.mdx +355 -0
  65. package/src/lib/dropdown/dropdown-button.directive.ts +8 -0
  66. package/src/lib/dropdown/dropdown-option.directive.ts +8 -0
  67. package/src/lib/dropdown/dropdown.component.html +61 -0
  68. package/src/lib/dropdown/dropdown.component.scss +6 -0
  69. package/src/lib/dropdown/dropdown.component.ts +288 -0
  70. package/src/lib/dropdown/dropdown.module.ts +23 -0
  71. package/src/lib/dropdown/dropdown.spec.ts +48 -0
  72. package/src/lib/dropdown/dropdown.stories.ts +419 -0
  73. package/src/lib/dropdown/index.ts +4 -0
  74. package/src/lib/dropdown/ng-package.json +5 -0
  75. package/src/lib/filter-chips/filter-chips.docs.mdx +73 -0
  76. package/src/lib/filter-chips/filter-chips.stories.ts +39 -0
  77. package/src/lib/green-angular.module.ts +39 -0
  78. package/src/lib/grouped-list/grouped-list.docs.mdx +63 -0
  79. package/src/lib/grouped-list/grouped-list.stories.ts +38 -0
  80. package/src/lib/in-page-wizard/documentation.mdx +112 -0
  81. package/src/lib/in-page-wizard/in-page-wizard-step-card.component.html +118 -0
  82. package/src/lib/in-page-wizard/in-page-wizard-step-card.component.ts +49 -0
  83. package/src/lib/in-page-wizard/in-page-wizard-step-card.spec.ts +471 -0
  84. package/src/lib/in-page-wizard/in-page-wizard-step-card.stories.ts +136 -0
  85. package/src/lib/in-page-wizard/in-page-wizard.module.ts +11 -0
  86. package/src/lib/in-page-wizard/index.ts +2 -0
  87. package/src/lib/in-page-wizard/ng-package.json +5 -0
  88. package/src/lib/modal/documentation.mdx +92 -0
  89. package/src/lib/modal/index.ts +4 -0
  90. package/src/lib/modal/modal-footer.directive.ts +8 -0
  91. package/src/lib/modal/modal-header.directive.ts +8 -0
  92. package/src/lib/modal/modal.component.html +90 -0
  93. package/src/lib/modal/modal.component.scss +34 -0
  94. package/src/lib/modal/modal.component.spec.ts +453 -0
  95. package/src/lib/modal/modal.component.ts +298 -0
  96. package/src/lib/modal/modal.module.ts +34 -0
  97. package/src/lib/modal/modal.stories.ts +114 -0
  98. package/src/lib/modal/ng-package.json +5 -0
  99. package/src/lib/pagination/documentation.mdx +64 -0
  100. package/src/lib/pagination/index.ts +2 -0
  101. package/src/lib/pagination/ng-package.json +5 -0
  102. package/src/lib/pagination/pagination.component.html +91 -0
  103. package/src/lib/pagination/pagination.component.ts +196 -0
  104. package/src/lib/pagination/pagination.module.ts +11 -0
  105. package/src/lib/pagination/pagination.spec.ts +147 -0
  106. package/src/lib/pagination/pagination.stories.ts +41 -0
  107. package/src/lib/progress-circle/documentation.mdx +56 -0
  108. package/src/lib/progress-circle/index.ts +2 -0
  109. package/src/lib/progress-circle/ng-package.json +5 -0
  110. package/src/lib/progress-circle/progress-circle.component.html +18 -0
  111. package/src/lib/progress-circle/progress-circle.component.ts +29 -0
  112. package/src/lib/progress-circle/progress-circle.module.ts +11 -0
  113. package/src/lib/progress-circle/progress-circle.stories.ts +56 -0
  114. package/src/lib/segmented-control/index.ts +2 -0
  115. package/src/lib/segmented-control/ng-package.json +5 -0
  116. package/src/lib/segmented-control/segmented-control.component.ts +26 -0
  117. package/src/lib/segmented-control/segmented-control.module.ts +12 -0
  118. package/src/lib/segmented-control/segmented-control.stories.ts +64 -0
  119. package/src/lib/shared/core-control/core-checkbox.directive.ts +32 -0
  120. package/src/lib/shared/core-control/core-checkbox.spec.ts +59 -0
  121. package/src/lib/shared/core-control/core-control.directive.ts +98 -0
  122. package/src/lib/shared/core-control/core-control.module.ts +13 -0
  123. package/src/lib/shared/core-control/core-control.spec.ts +157 -0
  124. package/src/lib/shared/core-control/index.ts +3 -0
  125. package/src/lib/shared/core-element/core-element.directive.ts +41 -0
  126. package/src/lib/shared/core-element/core-element.module.ts +11 -0
  127. package/src/lib/shared/core-element/core-element.spec.ts +31 -0
  128. package/src/lib/shared/core-element/index.ts +2 -0
  129. package/src/lib/shared/core-renderer/core-renderer.spec.ts +59 -0
  130. package/src/lib/shared/core-renderer/core-renderer.ts +182 -0
  131. package/src/lib/shared/core-renderer/index.ts +1 -0
  132. package/src/lib/shared/core-router-link/core-router-link.directive.ts +57 -0
  133. package/src/lib/shared/core-router-link/core-router-link.module.ts +9 -0
  134. package/src/lib/shared/core-router-link/core-router-link.spec.ts +87 -0
  135. package/src/lib/shared/core-router-link/index.ts +2 -0
  136. package/src/lib/shared/index.ts +6 -0
  137. package/src/lib/shared/ng-package.json +5 -0
  138. package/src/lib/shared/on-scroll.directive.spec.ts +50 -0
  139. package/src/lib/shared/on-scroll.directive.ts +47 -0
  140. package/src/lib/shared/shared.module.ts +11 -0
  141. package/src/lib/slider/documentation.mdx +87 -0
  142. package/src/lib/slider/index.ts +2 -0
  143. package/src/lib/slider/ng-package.json +5 -0
  144. package/src/lib/slider/slider.component.html +53 -0
  145. package/src/lib/slider/slider.component.ts +117 -0
  146. package/src/lib/slider/slider.module.ts +12 -0
  147. package/src/lib/slider/slider.stories.ts +137 -0
  148. package/src/lib/sortable-list/documentation.mdx +165 -0
  149. package/src/lib/sortable-list/index.ts +2 -0
  150. package/src/lib/sortable-list/ng-package.json +5 -0
  151. package/src/lib/sortable-list/sortable-list.component.html +89 -0
  152. package/src/lib/sortable-list/sortable-list.component.scss +121 -0
  153. package/src/lib/sortable-list/sortable-list.component.spec.ts +155 -0
  154. package/src/lib/sortable-list/sortable-list.component.ts +236 -0
  155. package/src/lib/sortable-list/sortable-list.module.ts +13 -0
  156. package/src/lib/sortable-list/sortable-list.stories.ts +261 -0
  157. package/src/test-setup.ts +5 -0
  158. package/src/v-angular/README.md +30 -0
  159. package/src/v-angular/account-number/account-number.module.ts +11 -0
  160. package/src/v-angular/account-number/account-number.pipe.spec.ts +59 -0
  161. package/src/v-angular/account-number/account-number.pipe.ts +65 -0
  162. package/src/v-angular/account-number/account-number.stories.ts +52 -0
  163. package/src/v-angular/account-number/index.ts +2 -0
  164. package/src/v-angular/account-number/ng-package.json +5 -0
  165. package/src/v-angular/alert/alert.component.html +77 -0
  166. package/src/v-angular/alert/alert.component.scss +50 -0
  167. package/src/v-angular/alert/alert.component.spec.ts +21 -0
  168. package/src/v-angular/alert/alert.component.ts +34 -0
  169. package/src/v-angular/alert/alert.models.ts +14 -0
  170. package/src/v-angular/alert/alert.module.ts +11 -0
  171. package/src/v-angular/alert/alert.stories.ts +81 -0
  172. package/src/v-angular/alert/index.ts +3 -0
  173. package/src/v-angular/alert/ng-package.json +5 -0
  174. package/src/v-angular/base-control-value-accessor/base-control-value-accessor.component.ts +337 -0
  175. package/src/v-angular/base-control-value-accessor/base-control-value-accessor.module.ts +10 -0
  176. package/src/v-angular/base-control-value-accessor/index.ts +2 -0
  177. package/src/v-angular/base-control-value-accessor/ng-package.json +5 -0
  178. package/src/v-angular/breadcrumbs/breadcrumbs.component.html +25 -0
  179. package/src/v-angular/breadcrumbs/breadcrumbs.component.scss +18 -0
  180. package/src/v-angular/breadcrumbs/breadcrumbs.component.spec.ts +36 -0
  181. package/src/v-angular/breadcrumbs/breadcrumbs.component.ts +24 -0
  182. package/src/v-angular/breadcrumbs/breadcrumbs.module.ts +13 -0
  183. package/src/v-angular/breadcrumbs/breadcrumbs.stories.ts +45 -0
  184. package/src/v-angular/breadcrumbs/index.ts +2 -0
  185. package/src/v-angular/breadcrumbs/ng-package.json +5 -0
  186. package/src/v-angular/button/button.component.html +37 -0
  187. package/src/v-angular/button/button.component.scss +44 -0
  188. package/src/v-angular/button/button.component.spec.ts +45 -0
  189. package/src/v-angular/button/button.component.ts +116 -0
  190. package/src/v-angular/button/button.module.ts +13 -0
  191. package/src/v-angular/button/button.stories.ts +144 -0
  192. package/src/v-angular/button/index.ts +2 -0
  193. package/src/v-angular/button/ng-package.json +5 -0
  194. package/src/v-angular/card/card.component.scss +53 -0
  195. package/src/v-angular/card/card.component.ts +8 -0
  196. package/src/v-angular/card/card.module.ts +11 -0
  197. package/src/v-angular/card/card.stories.ts +71 -0
  198. package/src/v-angular/card/index.ts +2 -0
  199. package/src/v-angular/card/ng-package.json +5 -0
  200. package/src/v-angular/character-countdown/character-countdown.directive.ts +49 -0
  201. package/src/v-angular/character-countdown/character-countdown.module.ts +11 -0
  202. package/src/v-angular/character-countdown/index.ts +2 -0
  203. package/src/v-angular/character-countdown/ng-package.json +5 -0
  204. package/src/v-angular/checkbox/checkbox.component.html +100 -0
  205. package/src/v-angular/checkbox/checkbox.component.scss +54 -0
  206. package/src/v-angular/checkbox/checkbox.component.spec.ts +88 -0
  207. package/src/v-angular/checkbox/checkbox.component.ts +89 -0
  208. package/src/v-angular/checkbox/checkbox.module.ts +14 -0
  209. package/src/v-angular/checkbox/checkbox.stories.ts +243 -0
  210. package/src/v-angular/checkbox/index.ts +2 -0
  211. package/src/v-angular/checkbox/ng-package.json +5 -0
  212. package/src/v-angular/core/core.globals.ts +30 -0
  213. package/src/v-angular/core/core.utils.ts +84 -0
  214. package/src/v-angular/core/index.ts +2 -0
  215. package/src/v-angular/core/ng-package.json +5 -0
  216. package/src/v-angular/datepicker/components/calendar/calendar.component.html +19 -0
  217. package/src/v-angular/datepicker/components/calendar/calendar.component.scss +88 -0
  218. package/src/v-angular/datepicker/components/calendar/calendar.component.spec.ts +162 -0
  219. package/src/v-angular/datepicker/components/calendar/calendar.component.ts +237 -0
  220. package/src/v-angular/datepicker/components/calendar-control/calendar-control.component.html +49 -0
  221. package/src/v-angular/datepicker/components/calendar-control/calendar-control.component.scss +66 -0
  222. package/src/v-angular/datepicker/components/calendar-control/calendar-control.component.spec.ts +32 -0
  223. package/src/v-angular/datepicker/components/calendar-control/calendar-control.component.ts +148 -0
  224. package/src/v-angular/datepicker/components/date-input/date-input.component.html +186 -0
  225. package/src/v-angular/datepicker/components/date-input/date-input.component.scss +229 -0
  226. package/src/v-angular/datepicker/components/date-input/date-input.component.spec.ts +182 -0
  227. package/src/v-angular/datepicker/components/date-input/date-input.component.ts +223 -0
  228. package/src/v-angular/datepicker/components/date-mixins.scss +18 -0
  229. package/src/v-angular/datepicker/components/datepicker/datepicker.component.html +56 -0
  230. package/src/v-angular/datepicker/components/datepicker/datepicker.component.scss +51 -0
  231. package/src/v-angular/datepicker/components/datepicker/datepicker.component.spec.ts +117 -0
  232. package/src/v-angular/datepicker/components/datepicker/datepicker.component.ts +164 -0
  233. package/src/v-angular/datepicker/date-control-value-accessor/date-control-value-accessor.component.ts +490 -0
  234. package/src/v-angular/datepicker/datepicker.globals.ts +30 -0
  235. package/src/v-angular/datepicker/datepicker.mocks.ts +64 -0
  236. package/src/v-angular/datepicker/datepicker.models.ts +88 -0
  237. package/src/v-angular/datepicker/datepicker.module.ts +39 -0
  238. package/src/v-angular/datepicker/datepicker.stories.ts +566 -0
  239. package/src/v-angular/datepicker/datepicker.utils.ts +233 -0
  240. package/src/v-angular/datepicker/directives/calendar-date.directive.spec.ts +101 -0
  241. package/src/v-angular/datepicker/directives/calendar-date.directive.ts +46 -0
  242. package/src/v-angular/datepicker/index.ts +16 -0
  243. package/src/v-angular/datepicker/models/dates.ts +314 -0
  244. package/src/v-angular/datepicker/ng-package.json +5 -0
  245. package/src/v-angular/datepicker/pipes/date-thook.pipe.spec.ts +31 -0
  246. package/src/v-angular/datepicker/pipes/date-thook.pipe.ts +31 -0
  247. package/src/v-angular/datepicker/pipes/is-disabled.pipe.spec.ts +218 -0
  248. package/src/v-angular/datepicker/pipes/is-disabled.pipe.ts +46 -0
  249. package/src/v-angular/datepicker/pipes/matches.pipe.spec.ts +31 -0
  250. package/src/v-angular/datepicker/pipes/matches.pipe.ts +12 -0
  251. package/src/v-angular/datepicker/test/datepicker-testing.module.ts +38 -0
  252. package/src/v-angular/datepicker/test/stubs.ts +90 -0
  253. package/src/v-angular/drag-drop/drag-drop.component.html +305 -0
  254. package/src/v-angular/drag-drop/drag-drop.component.scss +318 -0
  255. package/src/v-angular/drag-drop/drag-drop.component.spec.ts +50 -0
  256. package/src/v-angular/drag-drop/drag-drop.component.ts +643 -0
  257. package/src/v-angular/drag-drop/drag-drop.mock.ts +254 -0
  258. package/src/v-angular/drag-drop/drag-drop.models.ts +75 -0
  259. package/src/v-angular/drag-drop/drag-drop.module.ts +29 -0
  260. package/src/v-angular/drag-drop/drag-drop.pipes.ts +100 -0
  261. package/src/v-angular/drag-drop/drag-drop.stories.ts +111 -0
  262. package/src/v-angular/drag-drop/drag-drop.utils.ts +114 -0
  263. package/src/v-angular/drag-drop/i18n/en.json +22 -0
  264. package/src/v-angular/drag-drop/i18n/i18n.babel +418 -0
  265. package/src/v-angular/drag-drop/i18n/sv.json +22 -0
  266. package/src/v-angular/drag-drop/index.ts +4 -0
  267. package/src/v-angular/drag-drop/ng-package.json +5 -0
  268. package/src/v-angular/dropdown/dropdown-list/dropdown-list.component.html +126 -0
  269. package/src/v-angular/dropdown/dropdown-list/dropdown-list.component.scss +139 -0
  270. package/src/v-angular/dropdown/dropdown-list/dropdown-list.component.spec.ts +93 -0
  271. package/src/v-angular/dropdown/dropdown-list/dropdown-list.component.ts +419 -0
  272. package/src/v-angular/dropdown/dropdown-list/dropdown-list.stories.ts_ +105 -0
  273. package/src/v-angular/dropdown/dropdown-list/index.ts +1 -0
  274. package/src/v-angular/dropdown/dropdown.component.html +148 -0
  275. package/src/v-angular/dropdown/dropdown.component.scss +159 -0
  276. package/src/v-angular/dropdown/dropdown.component.spec.ts +156 -0
  277. package/src/v-angular/dropdown/dropdown.component.ts +309 -0
  278. package/src/v-angular/dropdown/dropdown.module.ts +23 -0
  279. package/src/v-angular/dropdown/dropdown.stories.ts +745 -0
  280. package/src/v-angular/dropdown/index.ts +5 -0
  281. package/src/v-angular/dropdown/ng-package.json +5 -0
  282. package/src/v-angular/dropdown/typeahead/README.md +108 -0
  283. package/src/v-angular/dropdown/typeahead/index.ts +5 -0
  284. package/src/v-angular/dropdown/typeahead/typeahead-dropdown-list/typeahead-dropdown-list.component.scss +6 -0
  285. package/src/v-angular/dropdown/typeahead/typeahead-dropdown-list/typeahead-dropdown-list.component.spec.ts +114 -0
  286. package/src/v-angular/dropdown/typeahead/typeahead-dropdown-list/typeahead-dropdown-list.component.ts +134 -0
  287. package/src/v-angular/dropdown/typeahead/typeahead-highlight/typeahead-highlight.component.html +6 -0
  288. package/src/v-angular/dropdown/typeahead/typeahead-highlight/typeahead-highlight.component.scss +5 -0
  289. package/src/v-angular/dropdown/typeahead/typeahead-highlight/typeahead-highlight.component.spec.ts +121 -0
  290. package/src/v-angular/dropdown/typeahead/typeahead-highlight/typeahead-highlight.component.ts +93 -0
  291. package/src/v-angular/dropdown/typeahead/typeahead-input/typeahead-input.component.html +41 -0
  292. package/src/v-angular/dropdown/typeahead/typeahead-input/typeahead-input.component.scss +35 -0
  293. package/src/v-angular/dropdown/typeahead/typeahead-input/typeahead-input.component.spec.ts +177 -0
  294. package/src/v-angular/dropdown/typeahead/typeahead-input/typeahead-input.component.ts +160 -0
  295. package/src/v-angular/dropdown/typeahead/typeahead-input/typeahead-input.stories.ts_ +175 -0
  296. package/src/v-angular/dropdown/typeahead/typeahead.directive.ts +235 -0
  297. package/src/v-angular/dropdown/typeahead/typeahead.module.ts +22 -0
  298. package/src/v-angular/external-link/external-link.directive.ts +27 -0
  299. package/src/v-angular/external-link/external-link.module.ts +11 -0
  300. package/src/v-angular/external-link/index.ts +2 -0
  301. package/src/v-angular/external-link/ng-package.json +5 -0
  302. package/src/v-angular/i18n/i18n.json +13 -0
  303. package/src/v-angular/i18n/i18n.module.ts +81 -0
  304. package/src/v-angular/i18n/i18n.test.module.ts +68 -0
  305. package/src/v-angular/i18n/index.ts +2 -0
  306. package/src/v-angular/i18n/ng-package.json +5 -0
  307. package/src/v-angular/index.ts +28 -0
  308. package/src/v-angular/info-circle/index.ts +2 -0
  309. package/src/v-angular/info-circle/info-circle.component.html +16 -0
  310. package/src/v-angular/info-circle/info-circle.component.scss +63 -0
  311. package/src/v-angular/info-circle/info-circle.component.spec.ts +30 -0
  312. package/src/v-angular/info-circle/info-circle.component.ts +26 -0
  313. package/src/v-angular/info-circle/info-circle.module.ts +14 -0
  314. package/src/v-angular/info-circle/info-circle.stories.ts +35 -0
  315. package/src/v-angular/info-circle/ng-package.json +5 -0
  316. package/src/v-angular/input/index.ts +2 -0
  317. package/src/v-angular/input/input.component.html +178 -0
  318. package/src/v-angular/input/input.component.scss +280 -0
  319. package/src/v-angular/input/input.component.spec.ts +170 -0
  320. package/src/v-angular/input/input.component.ts +228 -0
  321. package/src/v-angular/input/input.module.ts +24 -0
  322. package/src/v-angular/input/input.stories.ts +747 -0
  323. package/src/v-angular/input/ng-package.json +5 -0
  324. package/src/v-angular/input-mask/config.ts +10 -0
  325. package/src/v-angular/input-mask/constants.ts +6 -0
  326. package/src/v-angular/input-mask/index.ts +5 -0
  327. package/src/v-angular/input-mask/input-mask-format.pipe.spec.ts +78 -0
  328. package/src/v-angular/input-mask/input-mask-format.pipe.ts +20 -0
  329. package/src/v-angular/input-mask/input-mask.directive.spec.ts +313 -0
  330. package/src/v-angular/input-mask/input-mask.directive.ts +208 -0
  331. package/src/v-angular/input-mask/input-mask.globals.ts +30 -0
  332. package/src/v-angular/input-mask/input-mask.module.ts +26 -0
  333. package/src/v-angular/input-mask/input-mask.stories.ts +200 -0
  334. package/src/v-angular/input-mask/input-mask.types.ts +22 -0
  335. package/src/v-angular/input-mask/ng-package.json +5 -0
  336. package/src/v-angular/modal/dialog/dialog.component.html +73 -0
  337. package/src/v-angular/modal/dialog/dialog.component.scss +81 -0
  338. package/src/v-angular/modal/dialog/dialog.component.spec.ts +57 -0
  339. package/src/v-angular/modal/dialog/dialog.component.ts +244 -0
  340. package/src/v-angular/modal/dialog/dialog.stories.ts +100 -0
  341. package/src/v-angular/modal/fold-out/fold-out.component.html +45 -0
  342. package/src/v-angular/modal/fold-out/fold-out.component.scss +120 -0
  343. package/src/v-angular/modal/fold-out/fold-out.component.spec.ts +185 -0
  344. package/src/v-angular/modal/fold-out/fold-out.component.ts +200 -0
  345. package/src/v-angular/modal/fold-out/fold-out.directive.ts +8 -0
  346. package/src/v-angular/modal/fold-out/fold-out.examples.ts +31 -0
  347. package/src/v-angular/modal/fold-out/fold-out.stories.scss +7 -0
  348. package/src/v-angular/modal/fold-out/fold-out.stories.ts +119 -0
  349. package/src/v-angular/modal/fold-out/keyboard-key.enum.ts +8 -0
  350. package/src/v-angular/modal/index.ts +5 -0
  351. package/src/v-angular/modal/modal.globals.ts +30 -0
  352. package/src/v-angular/modal/modal.module.ts +35 -0
  353. package/src/v-angular/modal/modal.types.ts +6 -0
  354. package/src/v-angular/modal/ng-package.json +5 -0
  355. package/src/v-angular/modal/slide-out/slide-out.component.html +87 -0
  356. package/src/v-angular/modal/slide-out/slide-out.component.scss +88 -0
  357. package/src/v-angular/modal/slide-out/slide-out.component.spec.ts +73 -0
  358. package/src/v-angular/modal/slide-out/slide-out.component.ts +274 -0
  359. package/src/v-angular/modal/slide-out/slide-out.stories.ts +167 -0
  360. package/src/v-angular/pagination/index.ts +2 -0
  361. package/src/v-angular/pagination/ng-package.json +5 -0
  362. package/src/v-angular/pagination/pagination.component.html +145 -0
  363. package/src/v-angular/pagination/pagination.component.scss +138 -0
  364. package/src/v-angular/pagination/pagination.component.spec.ts +343 -0
  365. package/src/v-angular/pagination/pagination.component.ts +141 -0
  366. package/src/v-angular/pagination/pagination.module.ts +22 -0
  367. package/src/v-angular/pagination/pagination.stories.ts +70 -0
  368. package/src/v-angular/radio/index.ts +2 -0
  369. package/src/v-angular/radio/ng-package.json +5 -0
  370. package/src/v-angular/radio/radio.component.html +84 -0
  371. package/src/v-angular/radio/radio.component.scss +86 -0
  372. package/src/v-angular/radio/radio.component.spec.ts +55 -0
  373. package/src/v-angular/radio/radio.component.ts +149 -0
  374. package/src/v-angular/radio/radio.module.ts +14 -0
  375. package/src/v-angular/radio/radio.stories.ts +175 -0
  376. package/src/v-angular/slug/index.ts +2 -0
  377. package/src/v-angular/slug/ng-package.json +5 -0
  378. package/src/v-angular/slug/slug.module.ts +11 -0
  379. package/src/v-angular/slug/slug.pipe.spec.ts +13 -0
  380. package/src/v-angular/slug/slug.pipe.ts +21 -0
  381. package/src/v-angular/slug/slug.stories.ts +45 -0
  382. package/src/v-angular/table/index.ts +9 -0
  383. package/src/v-angular/table/jest.config.ts +11 -0
  384. package/src/v-angular/table/ng-package.json +5 -0
  385. package/src/v-angular/table/table.component.html +260 -0
  386. package/src/v-angular/table/table.component.scss +268 -0
  387. package/src/v-angular/table/table.component.spec.ts +97 -0
  388. package/src/v-angular/table/table.component.ts +520 -0
  389. package/src/v-angular/table/table.directive.spec.ts +69 -0
  390. package/src/v-angular/table/table.directive.ts +75 -0
  391. package/src/v-angular/table/table.examples.ts +215 -0
  392. package/src/v-angular/table/table.mock.ts +309 -0
  393. package/src/v-angular/table/table.models.ts +88 -0
  394. package/src/v-angular/table/table.module.ts +31 -0
  395. package/src/v-angular/table/table.stories.ts +294 -0
  396. package/src/v-angular/table/table.tools.ts +37 -0
  397. package/src/v-angular/table/tr-thook.pipe.spec.ts +30 -0
  398. package/src/v-angular/table/tr-thook.pipe.ts +21 -0
  399. package/src/v-angular/tabs/index.ts +8 -0
  400. package/src/v-angular/tabs/ng-package.json +5 -0
  401. package/src/v-angular/tabs/tab.directive.ts +49 -0
  402. package/src/v-angular/tabs/tabs.component.html +33 -0
  403. package/src/v-angular/tabs/tabs.component.scss +34 -0
  404. package/src/v-angular/tabs/tabs.component.spec.ts +48 -0
  405. package/src/v-angular/tabs/tabs.component.ts +284 -0
  406. package/src/v-angular/tabs/tabs.models.ts +30 -0
  407. package/src/v-angular/tabs/tabs.module.ts +14 -0
  408. package/src/v-angular/tabs/tabs.stories.ts +94 -0
  409. package/src/v-angular/textarea/index.ts +2 -0
  410. package/src/v-angular/textarea/ng-package.json +5 -0
  411. package/src/v-angular/textarea/textarea.component.html +131 -0
  412. package/src/v-angular/textarea/textarea.component.scss +123 -0
  413. package/src/v-angular/textarea/textarea.component.spec.ts +63 -0
  414. package/src/v-angular/textarea/textarea.component.ts +114 -0
  415. package/src/v-angular/textarea/textarea.module.ts +22 -0
  416. package/src/v-angular/textarea/textarea.stories.ts +150 -0
  417. package/src/v-angular/toast/index.ts +8 -0
  418. package/src/v-angular/toast/ng-package.json +5 -0
  419. package/src/v-angular/toast/toast-message.service.spec.ts +227 -0
  420. package/src/v-angular/toast/toast-message.service.ts +118 -0
  421. package/src/v-angular/toast/toast.component.html +89 -0
  422. package/src/v-angular/toast/toast.component.scss +111 -0
  423. package/src/v-angular/toast/toast.component.spec.ts +118 -0
  424. package/src/v-angular/toast/toast.component.ts +68 -0
  425. package/src/v-angular/toast/toast.models.ts +20 -0
  426. package/src/v-angular/toast/toast.module.ts +14 -0
  427. package/src/v-angular/toast/toast.stories.ts +106 -0
  428. package/src/v-angular/tooltip/index.ts +2 -0
  429. package/src/v-angular/tooltip/ng-package.json +5 -0
  430. package/src/v-angular/tooltip/tooltip.directive.spec.ts +7 -0
  431. package/src/v-angular/tooltip/tooltip.directive.ts +364 -0
  432. package/src/v-angular/tooltip/tooltip.module.ts +11 -0
  433. package/src/v-angular/tooltip/tooltip.stories.ts +99 -0
  434. package/src/v-angular/tooltip/tooltip.styles.ts +64 -0
  435. package/src/v-angular/v-angular.module.ts +63 -0
  436. package/tsconfig.json +19 -0
  437. package/tsconfig.lib.json +22 -0
  438. package/tsconfig.lib.prod.json +12 -0
  439. package/tsconfig.spec.json +11 -0
  440. package/v-angular/ng-package.json +5 -0
  441. package/esm2022/index.mjs +0 -18
  442. package/esm2022/lib/accordion/accordion-list-item.component.mjs +0 -50
  443. package/esm2022/lib/accordion/accordion.component.mjs +0 -72
  444. package/esm2022/lib/accordion/accordion.module.mjs +0 -19
  445. package/esm2022/lib/accordion/index.mjs +0 -4
  446. package/esm2022/lib/badge/badge.component.mjs +0 -80
  447. package/esm2022/lib/badge/badge.module.mjs +0 -18
  448. package/esm2022/lib/badge/index.mjs +0 -3
  449. package/esm2022/lib/button/button.component.mjs +0 -28
  450. package/esm2022/lib/button/button.module.mjs +0 -18
  451. package/esm2022/lib/button/index.mjs +0 -3
  452. package/esm2022/lib/cell-table/cell-table-item.component.mjs +0 -91
  453. package/esm2022/lib/cell-table/cell-table.component.mjs +0 -97
  454. package/esm2022/lib/cell-table/cell-table.module.mjs +0 -26
  455. package/esm2022/lib/cell-table/cell-table.types.mjs +0 -7
  456. package/esm2022/lib/cell-table/cell-underline.directive.mjs +0 -55
  457. package/esm2022/lib/cell-table/index.mjs +0 -4
  458. package/esm2022/lib/context-menu/context-menu.component.mjs +0 -74
  459. package/esm2022/lib/context-menu/context-menu.module.mjs +0 -20
  460. package/esm2022/lib/context-menu/index.mjs +0 -3
  461. package/esm2022/lib/datepicker/datepicker.component.mjs +0 -139
  462. package/esm2022/lib/datepicker/datepicker.module.mjs +0 -20
  463. package/esm2022/lib/datepicker/index.mjs +0 -3
  464. package/esm2022/lib/dropdown/dropdown-button.directive.mjs +0 -16
  465. package/esm2022/lib/dropdown/dropdown-option.directive.mjs +0 -16
  466. package/esm2022/lib/dropdown/dropdown.component.mjs +0 -243
  467. package/esm2022/lib/dropdown/dropdown.module.mjs +0 -34
  468. package/esm2022/lib/dropdown/index.mjs +0 -5
  469. package/esm2022/lib/green-angular.module.mjs +0 -72
  470. package/esm2022/lib/in-page-wizard/in-page-wizard-step-card.component.mjs +0 -61
  471. package/esm2022/lib/in-page-wizard/in-page-wizard.module.mjs +0 -18
  472. package/esm2022/lib/in-page-wizard/index.mjs +0 -3
  473. package/esm2022/lib/modal/index.mjs +0 -5
  474. package/esm2022/lib/modal/modal-footer.directive.mjs +0 -16
  475. package/esm2022/lib/modal/modal-header.directive.mjs +0 -16
  476. package/esm2022/lib/modal/modal.component.mjs +0 -314
  477. package/esm2022/lib/modal/modal.module.mjs +0 -41
  478. package/esm2022/lib/pagination/index.mjs +0 -3
  479. package/esm2022/lib/pagination/pagination.component.mjs +0 -175
  480. package/esm2022/lib/pagination/pagination.module.mjs +0 -18
  481. package/esm2022/lib/progress-circle/index.mjs +0 -3
  482. package/esm2022/lib/progress-circle/progress-circle.component.mjs +0 -41
  483. package/esm2022/lib/progress-circle/progress-circle.module.mjs +0 -18
  484. package/esm2022/lib/segmented-control/index.mjs +0 -3
  485. package/esm2022/lib/segmented-control/segmented-control.component.mjs +0 -35
  486. package/esm2022/lib/segmented-control/segmented-control.module.mjs +0 -19
  487. package/esm2022/lib/shared/core-control/core-checkbox.directive.mjs +0 -39
  488. package/esm2022/lib/shared/core-control/core-control.directive.mjs +0 -80
  489. package/esm2022/lib/shared/core-control/core-control.module.mjs +0 -20
  490. package/esm2022/lib/shared/core-control/index.mjs +0 -4
  491. package/esm2022/lib/shared/core-element/core-element.directive.mjs +0 -36
  492. package/esm2022/lib/shared/core-element/core-element.module.mjs +0 -18
  493. package/esm2022/lib/shared/core-element/index.mjs +0 -3
  494. package/esm2022/lib/shared/core-renderer/core-renderer.mjs +0 -135
  495. package/esm2022/lib/shared/core-renderer/index.mjs +0 -2
  496. package/esm2022/lib/shared/core-router-link/core-router-link.directive.mjs +0 -53
  497. package/esm2022/lib/shared/core-router-link/core-router-link.module.mjs +0 -16
  498. package/esm2022/lib/shared/core-router-link/index.mjs +0 -3
  499. package/esm2022/lib/shared/index.mjs +0 -7
  500. package/esm2022/lib/shared/on-scroll.directive.mjs +0 -47
  501. package/esm2022/lib/shared/shared.module.mjs +0 -18
  502. package/esm2022/lib/slider/index.mjs +0 -3
  503. package/esm2022/lib/slider/slider.component.mjs +0 -113
  504. package/esm2022/lib/slider/slider.module.mjs +0 -19
  505. package/esm2022/lib/sortable-list/index.mjs +0 -3
  506. package/esm2022/lib/sortable-list/sortable-list.component.mjs +0 -181
  507. package/esm2022/lib/sortable-list/sortable-list.module.mjs +0 -20
  508. package/esm2022/sebgroup-green-angular.mjs +0 -5
  509. package/esm2022/src/lib/accordion/accordion-list-item.component.mjs +0 -50
  510. package/esm2022/src/lib/accordion/accordion.component.mjs +0 -72
  511. package/esm2022/src/lib/accordion/accordion.module.mjs +0 -19
  512. package/esm2022/src/lib/accordion/index.mjs +0 -4
  513. package/esm2022/src/lib/accordion/sebgroup-green-angular-src-lib-accordion.mjs +0 -5
  514. package/esm2022/src/lib/badge/badge.component.mjs +0 -80
  515. package/esm2022/src/lib/badge/badge.module.mjs +0 -18
  516. package/esm2022/src/lib/badge/index.mjs +0 -3
  517. package/esm2022/src/lib/badge/sebgroup-green-angular-src-lib-badge.mjs +0 -5
  518. package/esm2022/src/lib/button/button.component.mjs +0 -28
  519. package/esm2022/src/lib/button/button.module.mjs +0 -18
  520. package/esm2022/src/lib/button/index.mjs +0 -3
  521. package/esm2022/src/lib/button/sebgroup-green-angular-src-lib-button.mjs +0 -5
  522. package/esm2022/src/lib/cell-table/cell-table-item.component.mjs +0 -91
  523. package/esm2022/src/lib/cell-table/cell-table.component.mjs +0 -97
  524. package/esm2022/src/lib/cell-table/cell-table.module.mjs +0 -26
  525. package/esm2022/src/lib/cell-table/cell-table.types.mjs +0 -7
  526. package/esm2022/src/lib/cell-table/cell-underline.directive.mjs +0 -55
  527. package/esm2022/src/lib/cell-table/index.mjs +0 -4
  528. package/esm2022/src/lib/cell-table/sebgroup-green-angular-src-lib-cell-table.mjs +0 -5
  529. package/esm2022/src/lib/context-menu/context-menu.component.mjs +0 -74
  530. package/esm2022/src/lib/context-menu/context-menu.module.mjs +0 -20
  531. package/esm2022/src/lib/context-menu/index.mjs +0 -3
  532. package/esm2022/src/lib/context-menu/sebgroup-green-angular-src-lib-context-menu.mjs +0 -5
  533. package/esm2022/src/lib/datepicker/datepicker.component.mjs +0 -139
  534. package/esm2022/src/lib/datepicker/datepicker.module.mjs +0 -20
  535. package/esm2022/src/lib/datepicker/index.mjs +0 -3
  536. package/esm2022/src/lib/datepicker/sebgroup-green-angular-src-lib-datepicker.mjs +0 -5
  537. package/esm2022/src/lib/dropdown/dropdown-button.directive.mjs +0 -16
  538. package/esm2022/src/lib/dropdown/dropdown-option.directive.mjs +0 -16
  539. package/esm2022/src/lib/dropdown/dropdown.component.mjs +0 -243
  540. package/esm2022/src/lib/dropdown/dropdown.module.mjs +0 -34
  541. package/esm2022/src/lib/dropdown/index.mjs +0 -5
  542. package/esm2022/src/lib/dropdown/sebgroup-green-angular-src-lib-dropdown.mjs +0 -5
  543. package/esm2022/src/lib/in-page-wizard/in-page-wizard-step-card.component.mjs +0 -61
  544. package/esm2022/src/lib/in-page-wizard/in-page-wizard.module.mjs +0 -18
  545. package/esm2022/src/lib/in-page-wizard/index.mjs +0 -3
  546. package/esm2022/src/lib/in-page-wizard/sebgroup-green-angular-src-lib-in-page-wizard.mjs +0 -5
  547. package/esm2022/src/lib/modal/index.mjs +0 -5
  548. package/esm2022/src/lib/modal/modal-footer.directive.mjs +0 -16
  549. package/esm2022/src/lib/modal/modal-header.directive.mjs +0 -16
  550. package/esm2022/src/lib/modal/modal.component.mjs +0 -314
  551. package/esm2022/src/lib/modal/modal.module.mjs +0 -41
  552. package/esm2022/src/lib/modal/sebgroup-green-angular-src-lib-modal.mjs +0 -5
  553. package/esm2022/src/lib/pagination/index.mjs +0 -3
  554. package/esm2022/src/lib/pagination/pagination.component.mjs +0 -175
  555. package/esm2022/src/lib/pagination/pagination.module.mjs +0 -18
  556. package/esm2022/src/lib/pagination/sebgroup-green-angular-src-lib-pagination.mjs +0 -5
  557. package/esm2022/src/lib/progress-circle/index.mjs +0 -3
  558. package/esm2022/src/lib/progress-circle/progress-circle.component.mjs +0 -41
  559. package/esm2022/src/lib/progress-circle/progress-circle.module.mjs +0 -18
  560. package/esm2022/src/lib/progress-circle/sebgroup-green-angular-src-lib-progress-circle.mjs +0 -5
  561. package/esm2022/src/lib/segmented-control/index.mjs +0 -3
  562. package/esm2022/src/lib/segmented-control/sebgroup-green-angular-src-lib-segmented-control.mjs +0 -5
  563. package/esm2022/src/lib/segmented-control/segmented-control.component.mjs +0 -35
  564. package/esm2022/src/lib/segmented-control/segmented-control.module.mjs +0 -19
  565. package/esm2022/src/lib/shared/core-control/core-checkbox.directive.mjs +0 -39
  566. package/esm2022/src/lib/shared/core-control/core-control.directive.mjs +0 -80
  567. package/esm2022/src/lib/shared/core-control/core-control.module.mjs +0 -20
  568. package/esm2022/src/lib/shared/core-control/index.mjs +0 -4
  569. package/esm2022/src/lib/shared/core-element/core-element.directive.mjs +0 -36
  570. package/esm2022/src/lib/shared/core-element/core-element.module.mjs +0 -18
  571. package/esm2022/src/lib/shared/core-element/index.mjs +0 -3
  572. package/esm2022/src/lib/shared/core-renderer/core-renderer.mjs +0 -135
  573. package/esm2022/src/lib/shared/core-renderer/index.mjs +0 -2
  574. package/esm2022/src/lib/shared/core-router-link/core-router-link.directive.mjs +0 -53
  575. package/esm2022/src/lib/shared/core-router-link/core-router-link.module.mjs +0 -16
  576. package/esm2022/src/lib/shared/core-router-link/index.mjs +0 -3
  577. package/esm2022/src/lib/shared/index.mjs +0 -7
  578. package/esm2022/src/lib/shared/on-scroll.directive.mjs +0 -47
  579. package/esm2022/src/lib/shared/sebgroup-green-angular-src-lib-shared.mjs +0 -5
  580. package/esm2022/src/lib/shared/shared.module.mjs +0 -18
  581. package/esm2022/src/lib/slider/index.mjs +0 -3
  582. package/esm2022/src/lib/slider/sebgroup-green-angular-src-lib-slider.mjs +0 -5
  583. package/esm2022/src/lib/slider/slider.component.mjs +0 -113
  584. package/esm2022/src/lib/slider/slider.module.mjs +0 -19
  585. package/esm2022/src/lib/sortable-list/index.mjs +0 -3
  586. package/esm2022/src/lib/sortable-list/sebgroup-green-angular-src-lib-sortable-list.mjs +0 -5
  587. package/esm2022/src/lib/sortable-list/sortable-list.component.mjs +0 -181
  588. package/esm2022/src/lib/sortable-list/sortable-list.module.mjs +0 -20
  589. package/esm2022/src/v-angular/account-number/account-number.module.mjs +0 -18
  590. package/esm2022/src/v-angular/account-number/account-number.pipe.mjs +0 -55
  591. package/esm2022/src/v-angular/account-number/index.mjs +0 -3
  592. package/esm2022/src/v-angular/account-number/sebgroup-green-angular-src-v-angular-account-number.mjs +0 -5
  593. package/esm2022/src/v-angular/alert/alert.component.mjs +0 -49
  594. package/esm2022/src/v-angular/alert/alert.models.mjs +0 -8
  595. package/esm2022/src/v-angular/alert/alert.module.mjs +0 -18
  596. package/esm2022/src/v-angular/alert/index.mjs +0 -4
  597. package/esm2022/src/v-angular/alert/sebgroup-green-angular-src-v-angular-alert.mjs +0 -5
  598. package/esm2022/src/v-angular/base-control-value-accessor/base-control-value-accessor.component.mjs +0 -300
  599. package/esm2022/src/v-angular/base-control-value-accessor/base-control-value-accessor.module.mjs +0 -17
  600. package/esm2022/src/v-angular/base-control-value-accessor/index.mjs +0 -3
  601. package/esm2022/src/v-angular/base-control-value-accessor/sebgroup-green-angular-src-v-angular-base-control-value-accessor.mjs +0 -5
  602. package/esm2022/src/v-angular/breadcrumbs/breadcrumbs.component.mjs +0 -25
  603. package/esm2022/src/v-angular/breadcrumbs/breadcrumbs.module.mjs +0 -20
  604. package/esm2022/src/v-angular/breadcrumbs/index.mjs +0 -3
  605. package/esm2022/src/v-angular/breadcrumbs/sebgroup-green-angular-src-v-angular-breadcrumbs.mjs +0 -5
  606. package/esm2022/src/v-angular/button/button.component.mjs +0 -108
  607. package/esm2022/src/v-angular/button/button.module.mjs +0 -20
  608. package/esm2022/src/v-angular/button/index.mjs +0 -3
  609. package/esm2022/src/v-angular/button/sebgroup-green-angular-src-v-angular-button.mjs +0 -5
  610. package/esm2022/src/v-angular/card/card.component.mjs +0 -11
  611. package/esm2022/src/v-angular/card/card.module.mjs +0 -18
  612. package/esm2022/src/v-angular/card/index.mjs +0 -3
  613. package/esm2022/src/v-angular/card/sebgroup-green-angular-src-v-angular-card.mjs +0 -5
  614. package/esm2022/src/v-angular/character-countdown/character-countdown.directive.mjs +0 -51
  615. package/esm2022/src/v-angular/character-countdown/character-countdown.module.mjs +0 -18
  616. package/esm2022/src/v-angular/character-countdown/index.mjs +0 -3
  617. package/esm2022/src/v-angular/character-countdown/sebgroup-green-angular-src-v-angular-character-countdown.mjs +0 -5
  618. package/esm2022/src/v-angular/checkbox/checkbox.component.mjs +0 -94
  619. package/esm2022/src/v-angular/checkbox/checkbox.module.mjs +0 -21
  620. package/esm2022/src/v-angular/checkbox/index.mjs +0 -3
  621. package/esm2022/src/v-angular/checkbox/sebgroup-green-angular-src-v-angular-checkbox.mjs +0 -5
  622. package/esm2022/src/v-angular/core/core.globals.mjs +0 -20
  623. package/esm2022/src/v-angular/core/core.utils.mjs +0 -62
  624. package/esm2022/src/v-angular/core/index.mjs +0 -3
  625. package/esm2022/src/v-angular/core/sebgroup-green-angular-src-v-angular-core.mjs +0 -5
  626. package/esm2022/src/v-angular/datepicker/components/calendar/calendar.component.mjs +0 -200
  627. package/esm2022/src/v-angular/datepicker/components/calendar-control/calendar-control.component.mjs +0 -115
  628. package/esm2022/src/v-angular/datepicker/components/date-input/date-input.component.mjs +0 -220
  629. package/esm2022/src/v-angular/datepicker/components/datepicker/datepicker.component.mjs +0 -135
  630. package/esm2022/src/v-angular/datepicker/date-control-value-accessor/date-control-value-accessor.component.mjs +0 -411
  631. package/esm2022/src/v-angular/datepicker/datepicker.globals.mjs +0 -20
  632. package/esm2022/src/v-angular/datepicker/datepicker.models.mjs +0 -56
  633. package/esm2022/src/v-angular/datepicker/datepicker.module.mjs +0 -63
  634. package/esm2022/src/v-angular/datepicker/datepicker.utils.mjs +0 -196
  635. package/esm2022/src/v-angular/datepicker/directives/calendar-date.directive.mjs +0 -47
  636. package/esm2022/src/v-angular/datepicker/index.mjs +0 -17
  637. package/esm2022/src/v-angular/datepicker/models/dates.mjs +0 -291
  638. package/esm2022/src/v-angular/datepicker/pipes/date-thook.pipe.mjs +0 -30
  639. package/esm2022/src/v-angular/datepicker/pipes/is-disabled.pipe.mjs +0 -37
  640. package/esm2022/src/v-angular/datepicker/pipes/matches.pipe.mjs +0 -17
  641. package/esm2022/src/v-angular/datepicker/sebgroup-green-angular-src-v-angular-datepicker.mjs +0 -5
  642. package/esm2022/src/v-angular/drag-drop/drag-drop.component.mjs +0 -497
  643. package/esm2022/src/v-angular/drag-drop/drag-drop.models.mjs +0 -2
  644. package/esm2022/src/v-angular/drag-drop/drag-drop.module.mjs +0 -49
  645. package/esm2022/src/v-angular/drag-drop/drag-drop.pipes.mjs +0 -70
  646. package/esm2022/src/v-angular/drag-drop/drag-drop.utils.mjs +0 -76
  647. package/esm2022/src/v-angular/drag-drop/index.mjs +0 -5
  648. package/esm2022/src/v-angular/drag-drop/sebgroup-green-angular-src-v-angular-drag-drop.mjs +0 -5
  649. package/esm2022/src/v-angular/dropdown/dropdown-list/dropdown-list.component.mjs +0 -312
  650. package/esm2022/src/v-angular/dropdown/dropdown-list/index.mjs +0 -2
  651. package/esm2022/src/v-angular/dropdown/dropdown.component.mjs +0 -283
  652. package/esm2022/src/v-angular/dropdown/dropdown.module.mjs +0 -38
  653. package/esm2022/src/v-angular/dropdown/index.mjs +0 -6
  654. package/esm2022/src/v-angular/dropdown/sebgroup-green-angular-src-v-angular-dropdown.mjs +0 -5
  655. package/esm2022/src/v-angular/dropdown/typeahead/index.mjs +0 -6
  656. package/esm2022/src/v-angular/dropdown/typeahead/typeahead-dropdown-list/typeahead-dropdown-list.component.mjs +0 -110
  657. package/esm2022/src/v-angular/dropdown/typeahead/typeahead-highlight/typeahead-highlight.component.mjs +0 -85
  658. package/esm2022/src/v-angular/dropdown/typeahead/typeahead-input/typeahead-input.component.mjs +0 -138
  659. package/esm2022/src/v-angular/dropdown/typeahead/typeahead.directive.mjs +0 -186
  660. package/esm2022/src/v-angular/dropdown/typeahead/typeahead.module.mjs +0 -33
  661. package/esm2022/src/v-angular/external-link/external-link.directive.mjs +0 -37
  662. package/esm2022/src/v-angular/external-link/external-link.module.mjs +0 -18
  663. package/esm2022/src/v-angular/external-link/index.mjs +0 -3
  664. package/esm2022/src/v-angular/external-link/sebgroup-green-angular-src-v-angular-external-link.mjs +0 -5
  665. package/esm2022/src/v-angular/i18n/i18n.json +0 -12
  666. package/esm2022/src/v-angular/i18n/i18n.module.mjs +0 -89
  667. package/esm2022/src/v-angular/i18n/i18n.test.module.mjs +0 -89
  668. package/esm2022/src/v-angular/i18n/index.mjs +0 -3
  669. package/esm2022/src/v-angular/i18n/sebgroup-green-angular-src-v-angular-i18n.mjs +0 -5
  670. package/esm2022/src/v-angular/info-circle/index.mjs +0 -3
  671. package/esm2022/src/v-angular/info-circle/info-circle.component.mjs +0 -28
  672. package/esm2022/src/v-angular/info-circle/info-circle.module.mjs +0 -21
  673. package/esm2022/src/v-angular/info-circle/sebgroup-green-angular-src-v-angular-info-circle.mjs +0 -5
  674. package/esm2022/src/v-angular/input/index.mjs +0 -3
  675. package/esm2022/src/v-angular/input/input.component.mjs +0 -248
  676. package/esm2022/src/v-angular/input/input.module.mjs +0 -41
  677. package/esm2022/src/v-angular/input/sebgroup-green-angular-src-v-angular-input.mjs +0 -5
  678. package/esm2022/src/v-angular/input-mask/config.mjs +0 -9
  679. package/esm2022/src/v-angular/input-mask/constants.mjs +0 -2
  680. package/esm2022/src/v-angular/input-mask/index.mjs +0 -6
  681. package/esm2022/src/v-angular/input-mask/input-mask-format.pipe.mjs +0 -21
  682. package/esm2022/src/v-angular/input-mask/input-mask.directive.mjs +0 -165
  683. package/esm2022/src/v-angular/input-mask/input-mask.module.mjs +0 -35
  684. package/esm2022/src/v-angular/input-mask/input-mask.types.mjs +0 -2
  685. package/esm2022/src/v-angular/input-mask/sebgroup-green-angular-src-v-angular-input-mask.mjs +0 -5
  686. package/esm2022/src/v-angular/modal/dialog/dialog.component.mjs +0 -236
  687. package/esm2022/src/v-angular/modal/fold-out/fold-out.component.mjs +0 -163
  688. package/esm2022/src/v-angular/modal/fold-out/fold-out.directive.mjs +0 -19
  689. package/esm2022/src/v-angular/modal/fold-out/keyboard-key.enum.mjs +0 -10
  690. package/esm2022/src/v-angular/modal/index.mjs +0 -6
  691. package/esm2022/src/v-angular/modal/modal.globals.mjs +0 -20
  692. package/esm2022/src/v-angular/modal/modal.module.mjs +0 -53
  693. package/esm2022/src/v-angular/modal/modal.types.mjs +0 -2
  694. package/esm2022/src/v-angular/modal/sebgroup-green-angular-src-v-angular-modal.mjs +0 -5
  695. package/esm2022/src/v-angular/modal/slide-out/slide-out.component.mjs +0 -253
  696. package/esm2022/src/v-angular/pagination/index.mjs +0 -3
  697. package/esm2022/src/v-angular/pagination/pagination.component.mjs +0 -144
  698. package/esm2022/src/v-angular/pagination/pagination.module.mjs +0 -37
  699. package/esm2022/src/v-angular/pagination/sebgroup-green-angular-src-v-angular-pagination.mjs +0 -5
  700. package/esm2022/src/v-angular/radio/index.mjs +0 -3
  701. package/esm2022/src/v-angular/radio/radio.component.mjs +0 -143
  702. package/esm2022/src/v-angular/radio/radio.module.mjs +0 -21
  703. package/esm2022/src/v-angular/radio/sebgroup-green-angular-src-v-angular-radio.mjs +0 -5
  704. package/esm2022/src/v-angular/slug/index.mjs +0 -3
  705. package/esm2022/src/v-angular/slug/sebgroup-green-angular-src-v-angular-slug.mjs +0 -5
  706. package/esm2022/src/v-angular/slug/slug.module.mjs +0 -18
  707. package/esm2022/src/v-angular/slug/slug.pipe.mjs +0 -27
  708. package/esm2022/src/v-angular/table/index.mjs +0 -9
  709. package/esm2022/src/v-angular/table/sebgroup-green-angular-src-v-angular-table.mjs +0 -5
  710. package/esm2022/src/v-angular/table/table.component.mjs +0 -407
  711. package/esm2022/src/v-angular/table/table.directive.mjs +0 -110
  712. package/esm2022/src/v-angular/table/table.models.mjs +0 -2
  713. package/esm2022/src/v-angular/table/table.module.mjs +0 -40
  714. package/esm2022/src/v-angular/table/table.tools.mjs +0 -29
  715. package/esm2022/src/v-angular/table/tr-thook.pipe.mjs +0 -22
  716. package/esm2022/src/v-angular/tabs/index.mjs +0 -8
  717. package/esm2022/src/v-angular/tabs/sebgroup-green-angular-src-v-angular-tabs.mjs +0 -5
  718. package/esm2022/src/v-angular/tabs/tab.directive.mjs +0 -81
  719. package/esm2022/src/v-angular/tabs/tabs.component.mjs +0 -262
  720. package/esm2022/src/v-angular/tabs/tabs.models.mjs +0 -2
  721. package/esm2022/src/v-angular/tabs/tabs.module.mjs +0 -21
  722. package/esm2022/src/v-angular/textarea/index.mjs +0 -3
  723. package/esm2022/src/v-angular/textarea/sebgroup-green-angular-src-v-angular-textarea.mjs +0 -5
  724. package/esm2022/src/v-angular/textarea/textarea.component.mjs +0 -129
  725. package/esm2022/src/v-angular/textarea/textarea.module.mjs +0 -34
  726. package/esm2022/src/v-angular/toast/index.mjs +0 -8
  727. package/esm2022/src/v-angular/toast/sebgroup-green-angular-src-v-angular-toast.mjs +0 -5
  728. package/esm2022/src/v-angular/toast/toast-message.service.mjs +0 -82
  729. package/esm2022/src/v-angular/toast/toast.component.mjs +0 -66
  730. package/esm2022/src/v-angular/toast/toast.models.mjs +0 -8
  731. package/esm2022/src/v-angular/toast/toast.module.mjs +0 -21
  732. package/esm2022/src/v-angular/tooltip/index.mjs +0 -3
  733. package/esm2022/src/v-angular/tooltip/sebgroup-green-angular-src-v-angular-tooltip.mjs +0 -5
  734. package/esm2022/src/v-angular/tooltip/tooltip.directive.mjs +0 -293
  735. package/esm2022/src/v-angular/tooltip/tooltip.module.mjs +0 -18
  736. package/esm2022/src/v-angular/tooltip/tooltip.styles.mjs +0 -60
  737. package/esm2022/v-angular/account-number/account-number.module.mjs +0 -18
  738. package/esm2022/v-angular/account-number/account-number.pipe.mjs +0 -55
  739. package/esm2022/v-angular/account-number/index.mjs +0 -3
  740. package/esm2022/v-angular/alert/alert.component.mjs +0 -49
  741. package/esm2022/v-angular/alert/alert.models.mjs +0 -8
  742. package/esm2022/v-angular/alert/alert.module.mjs +0 -18
  743. package/esm2022/v-angular/alert/index.mjs +0 -4
  744. package/esm2022/v-angular/base-control-value-accessor/base-control-value-accessor.component.mjs +0 -300
  745. package/esm2022/v-angular/base-control-value-accessor/base-control-value-accessor.module.mjs +0 -17
  746. package/esm2022/v-angular/base-control-value-accessor/index.mjs +0 -3
  747. package/esm2022/v-angular/breadcrumbs/breadcrumbs.component.mjs +0 -25
  748. package/esm2022/v-angular/breadcrumbs/breadcrumbs.module.mjs +0 -20
  749. package/esm2022/v-angular/breadcrumbs/index.mjs +0 -3
  750. package/esm2022/v-angular/button/button.component.mjs +0 -108
  751. package/esm2022/v-angular/button/button.module.mjs +0 -20
  752. package/esm2022/v-angular/button/index.mjs +0 -3
  753. package/esm2022/v-angular/card/card.component.mjs +0 -11
  754. package/esm2022/v-angular/card/card.module.mjs +0 -18
  755. package/esm2022/v-angular/card/index.mjs +0 -3
  756. package/esm2022/v-angular/character-countdown/character-countdown.directive.mjs +0 -51
  757. package/esm2022/v-angular/character-countdown/character-countdown.module.mjs +0 -18
  758. package/esm2022/v-angular/character-countdown/index.mjs +0 -3
  759. package/esm2022/v-angular/checkbox/checkbox.component.mjs +0 -94
  760. package/esm2022/v-angular/checkbox/checkbox.module.mjs +0 -21
  761. package/esm2022/v-angular/checkbox/index.mjs +0 -3
  762. package/esm2022/v-angular/core/core.globals.mjs +0 -20
  763. package/esm2022/v-angular/core/core.utils.mjs +0 -62
  764. package/esm2022/v-angular/core/index.mjs +0 -3
  765. package/esm2022/v-angular/datepicker/components/calendar/calendar.component.mjs +0 -200
  766. package/esm2022/v-angular/datepicker/components/calendar-control/calendar-control.component.mjs +0 -115
  767. package/esm2022/v-angular/datepicker/components/date-input/date-input.component.mjs +0 -220
  768. package/esm2022/v-angular/datepicker/components/datepicker/datepicker.component.mjs +0 -135
  769. package/esm2022/v-angular/datepicker/date-control-value-accessor/date-control-value-accessor.component.mjs +0 -411
  770. package/esm2022/v-angular/datepicker/datepicker.globals.mjs +0 -20
  771. package/esm2022/v-angular/datepicker/datepicker.models.mjs +0 -56
  772. package/esm2022/v-angular/datepicker/datepicker.module.mjs +0 -63
  773. package/esm2022/v-angular/datepicker/datepicker.utils.mjs +0 -196
  774. package/esm2022/v-angular/datepicker/directives/calendar-date.directive.mjs +0 -47
  775. package/esm2022/v-angular/datepicker/index.mjs +0 -17
  776. package/esm2022/v-angular/datepicker/models/dates.mjs +0 -291
  777. package/esm2022/v-angular/datepicker/pipes/date-thook.pipe.mjs +0 -30
  778. package/esm2022/v-angular/datepicker/pipes/is-disabled.pipe.mjs +0 -37
  779. package/esm2022/v-angular/datepicker/pipes/matches.pipe.mjs +0 -17
  780. package/esm2022/v-angular/drag-drop/drag-drop.component.mjs +0 -497
  781. package/esm2022/v-angular/drag-drop/drag-drop.models.mjs +0 -2
  782. package/esm2022/v-angular/drag-drop/drag-drop.module.mjs +0 -49
  783. package/esm2022/v-angular/drag-drop/drag-drop.pipes.mjs +0 -70
  784. package/esm2022/v-angular/drag-drop/drag-drop.utils.mjs +0 -76
  785. package/esm2022/v-angular/drag-drop/index.mjs +0 -5
  786. package/esm2022/v-angular/dropdown/dropdown-list/dropdown-list.component.mjs +0 -312
  787. package/esm2022/v-angular/dropdown/dropdown-list/index.mjs +0 -2
  788. package/esm2022/v-angular/dropdown/dropdown.component.mjs +0 -283
  789. package/esm2022/v-angular/dropdown/dropdown.module.mjs +0 -38
  790. package/esm2022/v-angular/dropdown/index.mjs +0 -6
  791. package/esm2022/v-angular/dropdown/typeahead/index.mjs +0 -6
  792. package/esm2022/v-angular/dropdown/typeahead/typeahead-dropdown-list/typeahead-dropdown-list.component.mjs +0 -110
  793. package/esm2022/v-angular/dropdown/typeahead/typeahead-highlight/typeahead-highlight.component.mjs +0 -85
  794. package/esm2022/v-angular/dropdown/typeahead/typeahead-input/typeahead-input.component.mjs +0 -138
  795. package/esm2022/v-angular/dropdown/typeahead/typeahead.directive.mjs +0 -186
  796. package/esm2022/v-angular/dropdown/typeahead/typeahead.module.mjs +0 -33
  797. package/esm2022/v-angular/external-link/external-link.directive.mjs +0 -37
  798. package/esm2022/v-angular/external-link/external-link.module.mjs +0 -18
  799. package/esm2022/v-angular/external-link/index.mjs +0 -3
  800. package/esm2022/v-angular/i18n/i18n.json +0 -12
  801. package/esm2022/v-angular/i18n/i18n.module.mjs +0 -89
  802. package/esm2022/v-angular/i18n/i18n.test.module.mjs +0 -89
  803. package/esm2022/v-angular/i18n/index.mjs +0 -3
  804. package/esm2022/v-angular/index.mjs +0 -29
  805. package/esm2022/v-angular/info-circle/index.mjs +0 -3
  806. package/esm2022/v-angular/info-circle/info-circle.component.mjs +0 -28
  807. package/esm2022/v-angular/info-circle/info-circle.module.mjs +0 -21
  808. package/esm2022/v-angular/input/index.mjs +0 -3
  809. package/esm2022/v-angular/input/input.component.mjs +0 -248
  810. package/esm2022/v-angular/input/input.module.mjs +0 -41
  811. package/esm2022/v-angular/input-mask/config.mjs +0 -9
  812. package/esm2022/v-angular/input-mask/constants.mjs +0 -2
  813. package/esm2022/v-angular/input-mask/index.mjs +0 -6
  814. package/esm2022/v-angular/input-mask/input-mask-format.pipe.mjs +0 -21
  815. package/esm2022/v-angular/input-mask/input-mask.directive.mjs +0 -165
  816. package/esm2022/v-angular/input-mask/input-mask.module.mjs +0 -35
  817. package/esm2022/v-angular/input-mask/input-mask.types.mjs +0 -2
  818. package/esm2022/v-angular/modal/dialog/dialog.component.mjs +0 -236
  819. package/esm2022/v-angular/modal/fold-out/fold-out.component.mjs +0 -163
  820. package/esm2022/v-angular/modal/fold-out/fold-out.directive.mjs +0 -19
  821. package/esm2022/v-angular/modal/fold-out/keyboard-key.enum.mjs +0 -10
  822. package/esm2022/v-angular/modal/index.mjs +0 -6
  823. package/esm2022/v-angular/modal/modal.globals.mjs +0 -20
  824. package/esm2022/v-angular/modal/modal.module.mjs +0 -53
  825. package/esm2022/v-angular/modal/modal.types.mjs +0 -2
  826. package/esm2022/v-angular/modal/slide-out/slide-out.component.mjs +0 -253
  827. package/esm2022/v-angular/pagination/index.mjs +0 -3
  828. package/esm2022/v-angular/pagination/pagination.component.mjs +0 -144
  829. package/esm2022/v-angular/pagination/pagination.module.mjs +0 -37
  830. package/esm2022/v-angular/radio/index.mjs +0 -3
  831. package/esm2022/v-angular/radio/radio.component.mjs +0 -143
  832. package/esm2022/v-angular/radio/radio.module.mjs +0 -21
  833. package/esm2022/v-angular/sebgroup-green-angular-v-angular.mjs +0 -5
  834. package/esm2022/v-angular/slug/index.mjs +0 -3
  835. package/esm2022/v-angular/slug/slug.module.mjs +0 -18
  836. package/esm2022/v-angular/slug/slug.pipe.mjs +0 -27
  837. package/esm2022/v-angular/table/index.mjs +0 -9
  838. package/esm2022/v-angular/table/table.component.mjs +0 -407
  839. package/esm2022/v-angular/table/table.directive.mjs +0 -110
  840. package/esm2022/v-angular/table/table.models.mjs +0 -2
  841. package/esm2022/v-angular/table/table.module.mjs +0 -40
  842. package/esm2022/v-angular/table/table.tools.mjs +0 -29
  843. package/esm2022/v-angular/table/tr-thook.pipe.mjs +0 -22
  844. package/esm2022/v-angular/tabs/index.mjs +0 -8
  845. package/esm2022/v-angular/tabs/tab.directive.mjs +0 -81
  846. package/esm2022/v-angular/tabs/tabs.component.mjs +0 -262
  847. package/esm2022/v-angular/tabs/tabs.models.mjs +0 -2
  848. package/esm2022/v-angular/tabs/tabs.module.mjs +0 -21
  849. package/esm2022/v-angular/textarea/index.mjs +0 -3
  850. package/esm2022/v-angular/textarea/textarea.component.mjs +0 -129
  851. package/esm2022/v-angular/textarea/textarea.module.mjs +0 -34
  852. package/esm2022/v-angular/toast/index.mjs +0 -8
  853. package/esm2022/v-angular/toast/toast-message.service.mjs +0 -82
  854. package/esm2022/v-angular/toast/toast.component.mjs +0 -66
  855. package/esm2022/v-angular/toast/toast.models.mjs +0 -8
  856. package/esm2022/v-angular/toast/toast.module.mjs +0 -21
  857. package/esm2022/v-angular/tooltip/index.mjs +0 -3
  858. package/esm2022/v-angular/tooltip/tooltip.directive.mjs +0 -293
  859. package/esm2022/v-angular/tooltip/tooltip.module.mjs +0 -18
  860. package/esm2022/v-angular/tooltip/tooltip.styles.mjs +0 -60
  861. package/esm2022/v-angular/v-angular.module.mjs +0 -120
  862. package/fesm2022/sebgroup-green-angular-src-lib-accordion.mjs +0 -141
  863. package/fesm2022/sebgroup-green-angular-src-lib-accordion.mjs.map +0 -1
  864. package/fesm2022/sebgroup-green-angular-src-lib-badge.mjs +0 -102
  865. package/fesm2022/sebgroup-green-angular-src-lib-badge.mjs.map +0 -1
  866. package/fesm2022/sebgroup-green-angular-src-lib-button.mjs +0 -50
  867. package/fesm2022/sebgroup-green-angular-src-lib-button.mjs.map +0 -1
  868. package/fesm2022/sebgroup-green-angular-src-lib-cell-table.mjs +0 -270
  869. package/fesm2022/sebgroup-green-angular-src-lib-cell-table.mjs.map +0 -1
  870. package/fesm2022/sebgroup-green-angular-src-lib-context-menu.mjs +0 -98
  871. package/fesm2022/sebgroup-green-angular-src-lib-context-menu.mjs.map +0 -1
  872. package/fesm2022/sebgroup-green-angular-src-lib-datepicker.mjs +0 -163
  873. package/fesm2022/sebgroup-green-angular-src-lib-datepicker.mjs.map +0 -1
  874. package/fesm2022/sebgroup-green-angular-src-lib-dropdown.mjs +0 -305
  875. package/fesm2022/sebgroup-green-angular-src-lib-dropdown.mjs.map +0 -1
  876. package/fesm2022/sebgroup-green-angular-src-lib-in-page-wizard.mjs +0 -83
  877. package/fesm2022/sebgroup-green-angular-src-lib-in-page-wizard.mjs.map +0 -1
  878. package/fesm2022/sebgroup-green-angular-src-lib-modal.mjs +0 -382
  879. package/fesm2022/sebgroup-green-angular-src-lib-modal.mjs.map +0 -1
  880. package/fesm2022/sebgroup-green-angular-src-lib-pagination.mjs +0 -197
  881. package/fesm2022/sebgroup-green-angular-src-lib-pagination.mjs.map +0 -1
  882. package/fesm2022/sebgroup-green-angular-src-lib-progress-circle.mjs +0 -63
  883. package/fesm2022/sebgroup-green-angular-src-lib-progress-circle.mjs.map +0 -1
  884. package/fesm2022/sebgroup-green-angular-src-lib-segmented-control.mjs +0 -58
  885. package/fesm2022/sebgroup-green-angular-src-lib-segmented-control.mjs.map +0 -1
  886. package/fesm2022/sebgroup-green-angular-src-lib-shared.mjs +0 -437
  887. package/fesm2022/sebgroup-green-angular-src-lib-shared.mjs.map +0 -1
  888. package/fesm2022/sebgroup-green-angular-src-lib-slider.mjs +0 -135
  889. package/fesm2022/sebgroup-green-angular-src-lib-slider.mjs.map +0 -1
  890. package/fesm2022/sebgroup-green-angular-src-lib-sortable-list.mjs +0 -204
  891. package/fesm2022/sebgroup-green-angular-src-lib-sortable-list.mjs.map +0 -1
  892. package/fesm2022/sebgroup-green-angular-src-v-angular-account-number.mjs +0 -77
  893. package/fesm2022/sebgroup-green-angular-src-v-angular-account-number.mjs.map +0 -1
  894. package/fesm2022/sebgroup-green-angular-src-v-angular-alert.mjs +0 -78
  895. package/fesm2022/sebgroup-green-angular-src-v-angular-alert.mjs.map +0 -1
  896. package/fesm2022/sebgroup-green-angular-src-v-angular-base-control-value-accessor.mjs +0 -321
  897. package/fesm2022/sebgroup-green-angular-src-v-angular-base-control-value-accessor.mjs.map +0 -1
  898. package/fesm2022/sebgroup-green-angular-src-v-angular-breadcrumbs.mjs +0 -49
  899. package/fesm2022/sebgroup-green-angular-src-v-angular-breadcrumbs.mjs.map +0 -1
  900. package/fesm2022/sebgroup-green-angular-src-v-angular-button.mjs +0 -131
  901. package/fesm2022/sebgroup-green-angular-src-v-angular-button.mjs.map +0 -1
  902. package/fesm2022/sebgroup-green-angular-src-v-angular-card.mjs +0 -33
  903. package/fesm2022/sebgroup-green-angular-src-v-angular-card.mjs.map +0 -1
  904. package/fesm2022/sebgroup-green-angular-src-v-angular-character-countdown.mjs +0 -73
  905. package/fesm2022/sebgroup-green-angular-src-v-angular-character-countdown.mjs.map +0 -1
  906. package/fesm2022/sebgroup-green-angular-src-v-angular-checkbox.mjs +0 -118
  907. package/fesm2022/sebgroup-green-angular-src-v-angular-checkbox.mjs.map +0 -1
  908. package/fesm2022/sebgroup-green-angular-src-v-angular-core.mjs +0 -88
  909. package/fesm2022/sebgroup-green-angular-src-v-angular-core.mjs.map +0 -1
  910. package/fesm2022/sebgroup-green-angular-src-v-angular-datepicker.mjs +0 -1780
  911. package/fesm2022/sebgroup-green-angular-src-v-angular-datepicker.mjs.map +0 -1
  912. package/fesm2022/sebgroup-green-angular-src-v-angular-drag-drop.mjs +0 -687
  913. package/fesm2022/sebgroup-green-angular-src-v-angular-drag-drop.mjs.map +0 -1
  914. package/fesm2022/sebgroup-green-angular-src-v-angular-dropdown.mjs +0 -1142
  915. package/fesm2022/sebgroup-green-angular-src-v-angular-dropdown.mjs.map +0 -1
  916. package/fesm2022/sebgroup-green-angular-src-v-angular-external-link.mjs +0 -58
  917. package/fesm2022/sebgroup-green-angular-src-v-angular-external-link.mjs.map +0 -1
  918. package/fesm2022/sebgroup-green-angular-src-v-angular-i18n.mjs +0 -198
  919. package/fesm2022/sebgroup-green-angular-src-v-angular-i18n.mjs.map +0 -1
  920. package/fesm2022/sebgroup-green-angular-src-v-angular-info-circle.mjs +0 -53
  921. package/fesm2022/sebgroup-green-angular-src-v-angular-info-circle.mjs.map +0 -1
  922. package/fesm2022/sebgroup-green-angular-src-v-angular-input-mask.mjs +0 -227
  923. package/fesm2022/sebgroup-green-angular-src-v-angular-input-mask.mjs.map +0 -1
  924. package/fesm2022/sebgroup-green-angular-src-v-angular-input.mjs +0 -292
  925. package/fesm2022/sebgroup-green-angular-src-v-angular-input.mjs.map +0 -1
  926. package/fesm2022/sebgroup-green-angular-src-v-angular-modal.mjs +0 -742
  927. package/fesm2022/sebgroup-green-angular-src-v-angular-modal.mjs.map +0 -1
  928. package/fesm2022/sebgroup-green-angular-src-v-angular-pagination.mjs +0 -185
  929. package/fesm2022/sebgroup-green-angular-src-v-angular-pagination.mjs.map +0 -1
  930. package/fesm2022/sebgroup-green-angular-src-v-angular-radio.mjs +0 -167
  931. package/fesm2022/sebgroup-green-angular-src-v-angular-radio.mjs.map +0 -1
  932. package/fesm2022/sebgroup-green-angular-src-v-angular-slug.mjs +0 -49
  933. package/fesm2022/sebgroup-green-angular-src-v-angular-slug.mjs.map +0 -1
  934. package/fesm2022/sebgroup-green-angular-src-v-angular-table.mjs +0 -605
  935. package/fesm2022/sebgroup-green-angular-src-v-angular-table.mjs.map +0 -1
  936. package/fesm2022/sebgroup-green-angular-src-v-angular-tabs.mjs +0 -367
  937. package/fesm2022/sebgroup-green-angular-src-v-angular-tabs.mjs.map +0 -1
  938. package/fesm2022/sebgroup-green-angular-src-v-angular-textarea.mjs +0 -165
  939. package/fesm2022/sebgroup-green-angular-src-v-angular-textarea.mjs.map +0 -1
  940. package/fesm2022/sebgroup-green-angular-src-v-angular-toast.mjs +0 -180
  941. package/fesm2022/sebgroup-green-angular-src-v-angular-toast.mjs.map +0 -1
  942. package/fesm2022/sebgroup-green-angular-src-v-angular-tooltip.mjs +0 -374
  943. package/fesm2022/sebgroup-green-angular-src-v-angular-tooltip.mjs.map +0 -1
  944. package/fesm2022/sebgroup-green-angular-v-angular.mjs +0 -7966
  945. package/fesm2022/sebgroup-green-angular-v-angular.mjs.map +0 -1
  946. package/fesm2022/sebgroup-green-angular.mjs +0 -2578
  947. package/fesm2022/sebgroup-green-angular.mjs.map +0 -1
  948. package/index.d.ts +0 -17
  949. package/lib/accordion/accordion-list-item.component.d.ts +0 -16
  950. package/lib/accordion/accordion.component.d.ts +0 -16
  951. package/lib/accordion/accordion.module.d.ts +0 -9
  952. package/lib/accordion/index.d.ts +0 -3
  953. package/lib/badge/badge.component.d.ts +0 -25
  954. package/lib/badge/badge.module.d.ts +0 -8
  955. package/lib/badge/index.d.ts +0 -2
  956. package/lib/button/button.component.d.ts +0 -9
  957. package/lib/button/button.module.d.ts +0 -8
  958. package/lib/button/index.d.ts +0 -2
  959. package/lib/cell-table/cell-table-item.component.d.ts +0 -14
  960. package/lib/cell-table/cell-table.component.d.ts +0 -44
  961. package/lib/cell-table/cell-table.module.d.ts +0 -10
  962. package/lib/cell-table/cell-table.types.d.ts +0 -34
  963. package/lib/cell-table/cell-underline.directive.d.ts +0 -14
  964. package/lib/cell-table/index.d.ts +0 -3
  965. package/lib/context-menu/context-menu.component.d.ts +0 -43
  966. package/lib/context-menu/context-menu.module.d.ts +0 -9
  967. package/lib/context-menu/index.d.ts +0 -2
  968. package/lib/datepicker/datepicker.component.d.ts +0 -58
  969. package/lib/datepicker/datepicker.module.d.ts +0 -9
  970. package/lib/datepicker/index.d.ts +0 -2
  971. package/lib/dropdown/dropdown-button.directive.d.ts +0 -8
  972. package/lib/dropdown/dropdown-option.directive.d.ts +0 -8
  973. package/lib/dropdown/dropdown.component.d.ts +0 -82
  974. package/lib/dropdown/dropdown.module.d.ts +0 -11
  975. package/lib/dropdown/index.d.ts +0 -4
  976. package/lib/green-angular.module.d.ts +0 -21
  977. package/lib/in-page-wizard/in-page-wizard-step-card.component.d.ts +0 -19
  978. package/lib/in-page-wizard/in-page-wizard.module.d.ts +0 -8
  979. package/lib/in-page-wizard/index.d.ts +0 -2
  980. package/lib/modal/index.d.ts +0 -4
  981. package/lib/modal/modal-footer.directive.d.ts +0 -8
  982. package/lib/modal/modal-header.directive.d.ts +0 -8
  983. package/lib/modal/modal.component.d.ts +0 -69
  984. package/lib/modal/modal.module.d.ts +0 -11
  985. package/lib/pagination/index.d.ts +0 -2
  986. package/lib/pagination/pagination.component.d.ts +0 -42
  987. package/lib/pagination/pagination.module.d.ts +0 -8
  988. package/lib/progress-circle/index.d.ts +0 -2
  989. package/lib/progress-circle/progress-circle.component.d.ts +0 -14
  990. package/lib/progress-circle/progress-circle.module.d.ts +0 -8
  991. package/lib/segmented-control/index.d.ts +0 -2
  992. package/lib/segmented-control/segmented-control.component.d.ts +0 -11
  993. package/lib/segmented-control/segmented-control.module.d.ts +0 -9
  994. package/lib/shared/core-control/core-checkbox.directive.d.ts +0 -10
  995. package/lib/shared/core-control/core-control.directive.d.ts +0 -19
  996. package/lib/shared/core-control/core-control.module.d.ts +0 -10
  997. package/lib/shared/core-control/index.d.ts +0 -3
  998. package/lib/shared/core-element/core-element.directive.d.ts +0 -13
  999. package/lib/shared/core-element/core-element.module.d.ts +0 -8
  1000. package/lib/shared/core-element/index.d.ts +0 -2
  1001. package/lib/shared/core-renderer/core-renderer.d.ts +0 -81
  1002. package/lib/shared/core-renderer/index.d.ts +0 -1
  1003. package/lib/shared/core-router-link/core-router-link.directive.d.ts +0 -16
  1004. package/lib/shared/core-router-link/core-router-link.module.d.ts +0 -7
  1005. package/lib/shared/core-router-link/index.d.ts +0 -2
  1006. package/lib/shared/index.d.ts +0 -6
  1007. package/lib/shared/on-scroll.directive.d.ts +0 -14
  1008. package/lib/shared/shared.module.d.ts +0 -8
  1009. package/lib/slider/index.d.ts +0 -2
  1010. package/lib/slider/slider.component.d.ts +0 -38
  1011. package/lib/slider/slider.module.d.ts +0 -9
  1012. package/lib/sortable-list/index.d.ts +0 -2
  1013. package/lib/sortable-list/sortable-list.component.d.ts +0 -91
  1014. package/lib/sortable-list/sortable-list.module.d.ts +0 -10
  1015. package/src/lib/accordion/accordion-list-item.component.d.ts +0 -16
  1016. package/src/lib/accordion/accordion.component.d.ts +0 -16
  1017. package/src/lib/accordion/accordion.module.d.ts +0 -9
  1018. package/src/lib/accordion/index.d.ts +0 -3
  1019. package/src/lib/badge/badge.component.d.ts +0 -25
  1020. package/src/lib/badge/badge.module.d.ts +0 -8
  1021. package/src/lib/badge/index.d.ts +0 -2
  1022. package/src/lib/button/button.component.d.ts +0 -9
  1023. package/src/lib/button/button.module.d.ts +0 -8
  1024. package/src/lib/button/index.d.ts +0 -2
  1025. package/src/lib/cell-table/cell-table-item.component.d.ts +0 -14
  1026. package/src/lib/cell-table/cell-table.component.d.ts +0 -44
  1027. package/src/lib/cell-table/cell-table.module.d.ts +0 -10
  1028. package/src/lib/cell-table/cell-table.types.d.ts +0 -34
  1029. package/src/lib/cell-table/cell-underline.directive.d.ts +0 -14
  1030. package/src/lib/cell-table/index.d.ts +0 -3
  1031. package/src/lib/context-menu/context-menu.component.d.ts +0 -43
  1032. package/src/lib/context-menu/context-menu.module.d.ts +0 -9
  1033. package/src/lib/context-menu/index.d.ts +0 -2
  1034. package/src/lib/datepicker/datepicker.component.d.ts +0 -58
  1035. package/src/lib/datepicker/datepicker.module.d.ts +0 -9
  1036. package/src/lib/datepicker/index.d.ts +0 -2
  1037. package/src/lib/dropdown/dropdown-button.directive.d.ts +0 -8
  1038. package/src/lib/dropdown/dropdown-option.directive.d.ts +0 -8
  1039. package/src/lib/dropdown/dropdown.component.d.ts +0 -82
  1040. package/src/lib/dropdown/dropdown.module.d.ts +0 -11
  1041. package/src/lib/dropdown/index.d.ts +0 -4
  1042. package/src/lib/in-page-wizard/in-page-wizard-step-card.component.d.ts +0 -19
  1043. package/src/lib/in-page-wizard/in-page-wizard.module.d.ts +0 -8
  1044. package/src/lib/in-page-wizard/index.d.ts +0 -2
  1045. package/src/lib/modal/index.d.ts +0 -4
  1046. package/src/lib/modal/modal-footer.directive.d.ts +0 -8
  1047. package/src/lib/modal/modal-header.directive.d.ts +0 -8
  1048. package/src/lib/modal/modal.component.d.ts +0 -69
  1049. package/src/lib/modal/modal.module.d.ts +0 -11
  1050. package/src/lib/pagination/index.d.ts +0 -2
  1051. package/src/lib/pagination/pagination.component.d.ts +0 -42
  1052. package/src/lib/pagination/pagination.module.d.ts +0 -8
  1053. package/src/lib/progress-circle/index.d.ts +0 -2
  1054. package/src/lib/progress-circle/progress-circle.component.d.ts +0 -14
  1055. package/src/lib/progress-circle/progress-circle.module.d.ts +0 -8
  1056. package/src/lib/segmented-control/index.d.ts +0 -2
  1057. package/src/lib/segmented-control/segmented-control.component.d.ts +0 -11
  1058. package/src/lib/segmented-control/segmented-control.module.d.ts +0 -9
  1059. package/src/lib/shared/core-control/core-checkbox.directive.d.ts +0 -10
  1060. package/src/lib/shared/core-control/core-control.directive.d.ts +0 -19
  1061. package/src/lib/shared/core-control/core-control.module.d.ts +0 -10
  1062. package/src/lib/shared/core-control/index.d.ts +0 -3
  1063. package/src/lib/shared/core-element/core-element.directive.d.ts +0 -13
  1064. package/src/lib/shared/core-element/core-element.module.d.ts +0 -8
  1065. package/src/lib/shared/core-element/index.d.ts +0 -2
  1066. package/src/lib/shared/core-renderer/core-renderer.d.ts +0 -81
  1067. package/src/lib/shared/core-renderer/index.d.ts +0 -1
  1068. package/src/lib/shared/core-router-link/core-router-link.directive.d.ts +0 -16
  1069. package/src/lib/shared/core-router-link/core-router-link.module.d.ts +0 -7
  1070. package/src/lib/shared/core-router-link/index.d.ts +0 -2
  1071. package/src/lib/shared/index.d.ts +0 -6
  1072. package/src/lib/shared/on-scroll.directive.d.ts +0 -14
  1073. package/src/lib/shared/shared.module.d.ts +0 -8
  1074. package/src/lib/slider/index.d.ts +0 -2
  1075. package/src/lib/slider/slider.component.d.ts +0 -38
  1076. package/src/lib/slider/slider.module.d.ts +0 -9
  1077. package/src/lib/sortable-list/index.d.ts +0 -2
  1078. package/src/lib/sortable-list/sortable-list.component.d.ts +0 -91
  1079. package/src/lib/sortable-list/sortable-list.module.d.ts +0 -10
  1080. package/src/v-angular/account-number/account-number.module.d.ts +0 -8
  1081. package/src/v-angular/account-number/account-number.pipe.d.ts +0 -32
  1082. package/src/v-angular/account-number/index.d.ts +0 -2
  1083. package/src/v-angular/alert/alert.component.d.ts +0 -20
  1084. package/src/v-angular/alert/alert.models.d.ts +0 -13
  1085. package/src/v-angular/alert/alert.module.d.ts +0 -8
  1086. package/src/v-angular/alert/index.d.ts +0 -3
  1087. package/src/v-angular/base-control-value-accessor/base-control-value-accessor.component.d.ts +0 -134
  1088. package/src/v-angular/base-control-value-accessor/base-control-value-accessor.module.d.ts +0 -7
  1089. package/src/v-angular/base-control-value-accessor/index.d.ts +0 -2
  1090. package/src/v-angular/breadcrumbs/breadcrumbs.component.d.ts +0 -18
  1091. package/src/v-angular/breadcrumbs/breadcrumbs.module.d.ts +0 -10
  1092. package/src/v-angular/breadcrumbs/index.d.ts +0 -2
  1093. package/src/v-angular/button/button.component.d.ts +0 -62
  1094. package/src/v-angular/button/button.module.d.ts +0 -10
  1095. package/src/v-angular/button/index.d.ts +0 -2
  1096. package/src/v-angular/card/card.component.d.ts +0 -5
  1097. package/src/v-angular/card/card.module.d.ts +0 -8
  1098. package/src/v-angular/card/index.d.ts +0 -2
  1099. package/src/v-angular/character-countdown/character-countdown.directive.d.ts +0 -17
  1100. package/src/v-angular/character-countdown/character-countdown.module.d.ts +0 -8
  1101. package/src/v-angular/character-countdown/index.d.ts +0 -2
  1102. package/src/v-angular/checkbox/checkbox.component.d.ts +0 -36
  1103. package/src/v-angular/checkbox/checkbox.module.d.ts +0 -10
  1104. package/src/v-angular/checkbox/index.d.ts +0 -2
  1105. package/src/v-angular/core/core.globals.d.ts +0 -13
  1106. package/src/v-angular/core/core.utils.d.ts +0 -23
  1107. package/src/v-angular/core/index.d.ts +0 -2
  1108. package/src/v-angular/datepicker/components/calendar/calendar.component.d.ts +0 -36
  1109. package/src/v-angular/datepicker/components/calendar-control/calendar-control.component.d.ts +0 -30
  1110. package/src/v-angular/datepicker/components/date-input/date-input.component.d.ts +0 -108
  1111. package/src/v-angular/datepicker/components/datepicker/datepicker.component.d.ts +0 -62
  1112. package/src/v-angular/datepicker/date-control-value-accessor/date-control-value-accessor.component.d.ts +0 -169
  1113. package/src/v-angular/datepicker/datepicker.globals.d.ts +0 -13
  1114. package/src/v-angular/datepicker/datepicker.models.d.ts +0 -50
  1115. package/src/v-angular/datepicker/datepicker.module.d.ts +0 -19
  1116. package/src/v-angular/datepicker/datepicker.utils.d.ts +0 -39
  1117. package/src/v-angular/datepicker/directives/calendar-date.directive.d.ts +0 -21
  1118. package/src/v-angular/datepicker/index.d.ts +0 -13
  1119. package/src/v-angular/datepicker/models/dates.d.ts +0 -15
  1120. package/src/v-angular/datepicker/pipes/date-thook.pipe.d.ts +0 -8
  1121. package/src/v-angular/datepicker/pipes/is-disabled.pipe.d.ts +0 -8
  1122. package/src/v-angular/datepicker/pipes/matches.pipe.d.ts +0 -7
  1123. package/src/v-angular/drag-drop/drag-drop.component.d.ts +0 -131
  1124. package/src/v-angular/drag-drop/drag-drop.models.d.ts +0 -49
  1125. package/src/v-angular/drag-drop/drag-drop.module.d.ts +0 -13
  1126. package/src/v-angular/drag-drop/drag-drop.pipes.d.ts +0 -40
  1127. package/src/v-angular/drag-drop/drag-drop.utils.d.ts +0 -33
  1128. package/src/v-angular/drag-drop/index.d.ts +0 -4
  1129. package/src/v-angular/dropdown/dropdown-list/dropdown-list.component.d.ts +0 -111
  1130. package/src/v-angular/dropdown/dropdown-list/index.d.ts +0 -1
  1131. package/src/v-angular/dropdown/dropdown.component.d.ts +0 -124
  1132. package/src/v-angular/dropdown/dropdown.module.d.ts +0 -13
  1133. package/src/v-angular/dropdown/index.d.ts +0 -5
  1134. package/src/v-angular/dropdown/typeahead/index.d.ts +0 -5
  1135. package/src/v-angular/dropdown/typeahead/typeahead-dropdown-list/typeahead-dropdown-list.component.d.ts +0 -40
  1136. package/src/v-angular/dropdown/typeahead/typeahead-highlight/typeahead-highlight.component.d.ts +0 -34
  1137. package/src/v-angular/dropdown/typeahead/typeahead-input/typeahead-input.component.d.ts +0 -61
  1138. package/src/v-angular/dropdown/typeahead/typeahead.directive.d.ts +0 -78
  1139. package/src/v-angular/dropdown/typeahead/typeahead.module.d.ts +0 -11
  1140. package/src/v-angular/external-link/external-link.directive.d.ts +0 -17
  1141. package/src/v-angular/external-link/external-link.module.d.ts +0 -8
  1142. package/src/v-angular/external-link/index.d.ts +0 -2
  1143. package/src/v-angular/i18n/i18n.module.d.ts +0 -15
  1144. package/src/v-angular/i18n/i18n.test.module.d.ts +0 -27
  1145. package/src/v-angular/i18n/index.d.ts +0 -2
  1146. package/src/v-angular/info-circle/index.d.ts +0 -2
  1147. package/src/v-angular/info-circle/info-circle.component.d.ts +0 -16
  1148. package/src/v-angular/info-circle/info-circle.module.d.ts +0 -10
  1149. package/src/v-angular/input/index.d.ts +0 -2
  1150. package/src/v-angular/input/input.component.d.ts +0 -112
  1151. package/src/v-angular/input/input.module.d.ts +0 -13
  1152. package/src/v-angular/input-mask/config.d.ts +0 -6
  1153. package/src/v-angular/input-mask/constants.d.ts +0 -2
  1154. package/src/v-angular/input-mask/index.d.ts +0 -5
  1155. package/src/v-angular/input-mask/input-mask-format.pipe.d.ts +0 -8
  1156. package/src/v-angular/input-mask/input-mask.directive.d.ts +0 -39
  1157. package/src/v-angular/input-mask/input-mask.module.d.ts +0 -11
  1158. package/src/v-angular/input-mask/input-mask.types.d.ts +0 -20
  1159. package/src/v-angular/modal/dialog/dialog.component.d.ts +0 -71
  1160. package/src/v-angular/modal/fold-out/fold-out.component.d.ts +0 -49
  1161. package/src/v-angular/modal/fold-out/fold-out.directive.d.ts +0 -6
  1162. package/src/v-angular/modal/fold-out/keyboard-key.enum.d.ts +0 -8
  1163. package/src/v-angular/modal/index.d.ts +0 -5
  1164. package/src/v-angular/modal/modal.globals.d.ts +0 -13
  1165. package/src/v-angular/modal/modal.module.d.ts +0 -15
  1166. package/src/v-angular/modal/modal.types.d.ts +0 -5
  1167. package/src/v-angular/modal/slide-out/slide-out.component.d.ts +0 -83
  1168. package/src/v-angular/pagination/index.d.ts +0 -2
  1169. package/src/v-angular/pagination/pagination.component.d.ts +0 -64
  1170. package/src/v-angular/pagination/pagination.module.d.ts +0 -12
  1171. package/src/v-angular/radio/index.d.ts +0 -2
  1172. package/src/v-angular/radio/radio.component.d.ts +0 -57
  1173. package/src/v-angular/radio/radio.module.d.ts +0 -10
  1174. package/src/v-angular/slug/index.d.ts +0 -2
  1175. package/src/v-angular/slug/slug.module.d.ts +0 -8
  1176. package/src/v-angular/slug/slug.pipe.d.ts +0 -12
  1177. package/src/v-angular/table/index.d.ts +0 -5
  1178. package/src/v-angular/table/table.component.d.ts +0 -239
  1179. package/src/v-angular/table/table.directive.d.ts +0 -36
  1180. package/src/v-angular/table/table.models.d.ts +0 -73
  1181. package/src/v-angular/table/table.module.d.ts +0 -12
  1182. package/src/v-angular/table/table.tools.d.ts +0 -5
  1183. package/src/v-angular/table/tr-thook.pipe.d.ts +0 -7
  1184. package/src/v-angular/tabs/index.d.ts +0 -4
  1185. package/src/v-angular/tabs/tab.directive.d.ts +0 -37
  1186. package/src/v-angular/tabs/tabs.component.d.ts +0 -65
  1187. package/src/v-angular/tabs/tabs.models.d.ts +0 -25
  1188. package/src/v-angular/tabs/tabs.module.d.ts +0 -11
  1189. package/src/v-angular/textarea/index.d.ts +0 -2
  1190. package/src/v-angular/textarea/textarea.component.d.ts +0 -57
  1191. package/src/v-angular/textarea/textarea.module.d.ts +0 -12
  1192. package/src/v-angular/toast/index.d.ts +0 -4
  1193. package/src/v-angular/toast/toast-message.service.d.ts +0 -19
  1194. package/src/v-angular/toast/toast.component.d.ts +0 -20
  1195. package/src/v-angular/toast/toast.models.d.ts +0 -18
  1196. package/src/v-angular/toast/toast.module.d.ts +0 -10
  1197. package/src/v-angular/tooltip/index.d.ts +0 -2
  1198. package/src/v-angular/tooltip/tooltip.directive.d.ts +0 -108
  1199. package/src/v-angular/tooltip/tooltip.module.d.ts +0 -8
  1200. package/src/v-angular/tooltip/tooltip.styles.d.ts +0 -11
  1201. package/v-angular/account-number/account-number.module.d.ts +0 -8
  1202. package/v-angular/account-number/account-number.pipe.d.ts +0 -32
  1203. package/v-angular/account-number/index.d.ts +0 -2
  1204. package/v-angular/alert/alert.component.d.ts +0 -20
  1205. package/v-angular/alert/alert.models.d.ts +0 -13
  1206. package/v-angular/alert/alert.module.d.ts +0 -8
  1207. package/v-angular/alert/index.d.ts +0 -3
  1208. package/v-angular/base-control-value-accessor/base-control-value-accessor.component.d.ts +0 -134
  1209. package/v-angular/base-control-value-accessor/base-control-value-accessor.module.d.ts +0 -7
  1210. package/v-angular/base-control-value-accessor/index.d.ts +0 -2
  1211. package/v-angular/breadcrumbs/breadcrumbs.component.d.ts +0 -18
  1212. package/v-angular/breadcrumbs/breadcrumbs.module.d.ts +0 -10
  1213. package/v-angular/breadcrumbs/index.d.ts +0 -2
  1214. package/v-angular/button/button.component.d.ts +0 -62
  1215. package/v-angular/button/button.module.d.ts +0 -10
  1216. package/v-angular/button/index.d.ts +0 -2
  1217. package/v-angular/card/card.component.d.ts +0 -5
  1218. package/v-angular/card/card.module.d.ts +0 -8
  1219. package/v-angular/card/index.d.ts +0 -2
  1220. package/v-angular/character-countdown/character-countdown.directive.d.ts +0 -17
  1221. package/v-angular/character-countdown/character-countdown.module.d.ts +0 -8
  1222. package/v-angular/character-countdown/index.d.ts +0 -2
  1223. package/v-angular/checkbox/checkbox.component.d.ts +0 -36
  1224. package/v-angular/checkbox/checkbox.module.d.ts +0 -10
  1225. package/v-angular/checkbox/index.d.ts +0 -2
  1226. package/v-angular/core/core.globals.d.ts +0 -13
  1227. package/v-angular/core/core.utils.d.ts +0 -23
  1228. package/v-angular/core/index.d.ts +0 -2
  1229. package/v-angular/datepicker/components/calendar/calendar.component.d.ts +0 -36
  1230. package/v-angular/datepicker/components/calendar-control/calendar-control.component.d.ts +0 -30
  1231. package/v-angular/datepicker/components/date-input/date-input.component.d.ts +0 -108
  1232. package/v-angular/datepicker/components/datepicker/datepicker.component.d.ts +0 -62
  1233. package/v-angular/datepicker/date-control-value-accessor/date-control-value-accessor.component.d.ts +0 -169
  1234. package/v-angular/datepicker/datepicker.globals.d.ts +0 -13
  1235. package/v-angular/datepicker/datepicker.models.d.ts +0 -50
  1236. package/v-angular/datepicker/datepicker.module.d.ts +0 -19
  1237. package/v-angular/datepicker/datepicker.utils.d.ts +0 -39
  1238. package/v-angular/datepicker/directives/calendar-date.directive.d.ts +0 -21
  1239. package/v-angular/datepicker/index.d.ts +0 -13
  1240. package/v-angular/datepicker/models/dates.d.ts +0 -15
  1241. package/v-angular/datepicker/pipes/date-thook.pipe.d.ts +0 -8
  1242. package/v-angular/datepicker/pipes/is-disabled.pipe.d.ts +0 -8
  1243. package/v-angular/datepicker/pipes/matches.pipe.d.ts +0 -7
  1244. package/v-angular/drag-drop/drag-drop.component.d.ts +0 -131
  1245. package/v-angular/drag-drop/drag-drop.models.d.ts +0 -49
  1246. package/v-angular/drag-drop/drag-drop.module.d.ts +0 -13
  1247. package/v-angular/drag-drop/drag-drop.pipes.d.ts +0 -40
  1248. package/v-angular/drag-drop/drag-drop.utils.d.ts +0 -33
  1249. package/v-angular/drag-drop/index.d.ts +0 -4
  1250. package/v-angular/dropdown/dropdown-list/dropdown-list.component.d.ts +0 -111
  1251. package/v-angular/dropdown/dropdown-list/index.d.ts +0 -1
  1252. package/v-angular/dropdown/dropdown.component.d.ts +0 -124
  1253. package/v-angular/dropdown/dropdown.module.d.ts +0 -13
  1254. package/v-angular/dropdown/index.d.ts +0 -5
  1255. package/v-angular/dropdown/typeahead/index.d.ts +0 -5
  1256. package/v-angular/dropdown/typeahead/typeahead-dropdown-list/typeahead-dropdown-list.component.d.ts +0 -40
  1257. package/v-angular/dropdown/typeahead/typeahead-highlight/typeahead-highlight.component.d.ts +0 -34
  1258. package/v-angular/dropdown/typeahead/typeahead-input/typeahead-input.component.d.ts +0 -61
  1259. package/v-angular/dropdown/typeahead/typeahead.directive.d.ts +0 -78
  1260. package/v-angular/dropdown/typeahead/typeahead.module.d.ts +0 -11
  1261. package/v-angular/external-link/external-link.directive.d.ts +0 -17
  1262. package/v-angular/external-link/external-link.module.d.ts +0 -8
  1263. package/v-angular/external-link/index.d.ts +0 -2
  1264. package/v-angular/i18n/i18n.module.d.ts +0 -15
  1265. package/v-angular/i18n/i18n.test.module.d.ts +0 -27
  1266. package/v-angular/i18n/index.d.ts +0 -2
  1267. package/v-angular/index.d.ts +0 -28
  1268. package/v-angular/info-circle/index.d.ts +0 -2
  1269. package/v-angular/info-circle/info-circle.component.d.ts +0 -16
  1270. package/v-angular/info-circle/info-circle.module.d.ts +0 -10
  1271. package/v-angular/input/index.d.ts +0 -2
  1272. package/v-angular/input/input.component.d.ts +0 -112
  1273. package/v-angular/input/input.module.d.ts +0 -13
  1274. package/v-angular/input-mask/config.d.ts +0 -6
  1275. package/v-angular/input-mask/constants.d.ts +0 -2
  1276. package/v-angular/input-mask/index.d.ts +0 -5
  1277. package/v-angular/input-mask/input-mask-format.pipe.d.ts +0 -8
  1278. package/v-angular/input-mask/input-mask.directive.d.ts +0 -39
  1279. package/v-angular/input-mask/input-mask.module.d.ts +0 -11
  1280. package/v-angular/input-mask/input-mask.types.d.ts +0 -20
  1281. package/v-angular/modal/dialog/dialog.component.d.ts +0 -71
  1282. package/v-angular/modal/fold-out/fold-out.component.d.ts +0 -49
  1283. package/v-angular/modal/fold-out/fold-out.directive.d.ts +0 -6
  1284. package/v-angular/modal/fold-out/keyboard-key.enum.d.ts +0 -8
  1285. package/v-angular/modal/index.d.ts +0 -5
  1286. package/v-angular/modal/modal.globals.d.ts +0 -13
  1287. package/v-angular/modal/modal.module.d.ts +0 -15
  1288. package/v-angular/modal/modal.types.d.ts +0 -5
  1289. package/v-angular/modal/slide-out/slide-out.component.d.ts +0 -83
  1290. package/v-angular/pagination/index.d.ts +0 -2
  1291. package/v-angular/pagination/pagination.component.d.ts +0 -64
  1292. package/v-angular/pagination/pagination.module.d.ts +0 -12
  1293. package/v-angular/radio/index.d.ts +0 -2
  1294. package/v-angular/radio/radio.component.d.ts +0 -57
  1295. package/v-angular/radio/radio.module.d.ts +0 -10
  1296. package/v-angular/slug/index.d.ts +0 -2
  1297. package/v-angular/slug/slug.module.d.ts +0 -8
  1298. package/v-angular/slug/slug.pipe.d.ts +0 -12
  1299. package/v-angular/table/index.d.ts +0 -5
  1300. package/v-angular/table/table.component.d.ts +0 -239
  1301. package/v-angular/table/table.directive.d.ts +0 -36
  1302. package/v-angular/table/table.models.d.ts +0 -73
  1303. package/v-angular/table/table.module.d.ts +0 -12
  1304. package/v-angular/table/table.tools.d.ts +0 -5
  1305. package/v-angular/table/tr-thook.pipe.d.ts +0 -7
  1306. package/v-angular/tabs/index.d.ts +0 -4
  1307. package/v-angular/tabs/tab.directive.d.ts +0 -37
  1308. package/v-angular/tabs/tabs.component.d.ts +0 -65
  1309. package/v-angular/tabs/tabs.models.d.ts +0 -25
  1310. package/v-angular/tabs/tabs.module.d.ts +0 -11
  1311. package/v-angular/textarea/index.d.ts +0 -2
  1312. package/v-angular/textarea/textarea.component.d.ts +0 -57
  1313. package/v-angular/textarea/textarea.module.d.ts +0 -12
  1314. package/v-angular/toast/index.d.ts +0 -4
  1315. package/v-angular/toast/toast-message.service.d.ts +0 -19
  1316. package/v-angular/toast/toast.component.d.ts +0 -20
  1317. package/v-angular/toast/toast.models.d.ts +0 -18
  1318. package/v-angular/toast/toast.module.d.ts +0 -10
  1319. package/v-angular/tooltip/index.d.ts +0 -2
  1320. package/v-angular/tooltip/tooltip.directive.d.ts +0 -108
  1321. package/v-angular/tooltip/tooltip.module.d.ts +0 -8
  1322. package/v-angular/tooltip/tooltip.styles.d.ts +0 -11
  1323. package/v-angular/v-angular.module.d.ts +0 -33
@@ -1,497 +0,0 @@
1
- /* eslint-disable no-console */
2
- import { HttpEventType } from '@angular/common/http';
3
- import { Component, EventEmitter, HostBinding, HostListener, Input, Output, ViewChild, } from '@angular/core';
4
- import { timer } from 'rxjs';
5
- import { filter, retryWhen, switchMap, take, tap } from 'rxjs/operators';
6
- import { NggvDialogComponent, } from '@sebgroup/green-angular/src/v-angular/modal';
7
- import { extendFile, isDragDropAvailable, pick, retryStrategy, verifyAccept, } from './drag-drop.utils';
8
- import '@sebgroup/green-core/components/icon/icons/cloud-upload.js';
9
- import '@sebgroup/green-core/components/icon/icons/cross-small.js';
10
- import '@sebgroup/green-core/components/icon/icons/checkmark.js';
11
- import * as i0 from "@angular/core";
12
- import * as i1 from "@jsverse/transloco";
13
- import * as i2 from "@sebgroup/green-angular/src/v-angular/modal";
14
- import * as i3 from "@sebgroup/green-angular/src/lib/shared";
15
- import * as i4 from "@angular/common";
16
- import * as i5 from "./drag-drop.pipes";
17
- export class NggvDragDropComponent {
18
- constructor() {
19
- /** Special property used for selecting DOM elements during automated UI testing. */
20
- this.thook = 'drag-drop';
21
- /** Disables deletion or cancellation during defined states [local | uploading | aborted | uploaded | validating | error | deleted | done]. */
22
- this.disableRemove = [];
23
- /** File size limit in mega bytes. */
24
- this.fileLimit = 250 * 1024 * 1024;
25
- /** Allowing selecting or dropping multiple files. */
26
- this.multiple = true;
27
- /** Determines if list should be shown under upload, disabling list disables multiple upload. */
28
- this.list = true;
29
- /** Frequency of requests which to send to the API requesting status updates. */
30
- this.throttle = 5000;
31
- /** Maximum number of attempts to request a status update from the API if service is unreachable. */
32
- this.retryAttempts = 5;
33
- /** If selection of multiple file should be possible with a checkbox.
34
- * @experimental work in progress and should not yet be used.
35
- * @internal
36
- */
37
- this.selectable = false;
38
- /** Allows multiple values from `apiFile.status` to be mapped to a single file upload state. */
39
- this.stateMap = {
40
- local: 'local',
41
- uploading: 'uploading',
42
- aborted: 'aborted',
43
- uploaded: 'uploaded',
44
- validating: 'validating',
45
- error: 'error',
46
- deleted: 'deleted',
47
- done: 'done',
48
- };
49
- /** Statuses allowed to be fetch during the initial load. Used to hide "done" states from list. */
50
- this.fetchStatuses = [];
51
- /** Statuses allowed be shown when status is "rejected". Will fallback to generic message. `null` allows all. */
52
- this.errorCodes = null;
53
- /** Event triggered on initialization and every time the "uploadState" for a file changes. */
54
- this.stateChange = new EventEmitter();
55
- /** Event triggered when view details is clicked. */
56
- this.detailsClick = new EventEmitter();
57
- /** @internal */
58
- this.isDragDropAvailable = isDragDropAvailable();
59
- /** @internal */
60
- this.componentState = 'normal';
61
- /** @internal */
62
- this.files = new Map();
63
- /** @internal */
64
- this.selected = [];
65
- /** @internal */
66
- this.loading = false;
67
- }
68
- /**
69
- * Initialize the component and warn if service is not defined. Will also fetch files for the list if enabled.
70
- */
71
- ngOnInit() {
72
- if (!this.service) {
73
- return console.error('Drag and drop component will not work without the [service] property defined!');
74
- }
75
- if (this.list) {
76
- this.service.fetchFiles(this.fetchStatuses).subscribe((apiFiles) => {
77
- for (const apiFile of apiFiles) {
78
- const extendedFile = extendFile(undefined, apiFile, {
79
- progress: 100,
80
- uploadState: this.determineUploadState(apiFile.status),
81
- internalStatusReasonCode: this.fallbackError(apiFile.internalStatusReasonCode),
82
- });
83
- this.files.set(extendedFile.id, extendedFile);
84
- this.stateChange.emit(pick(extendedFile, 'uploadState', 'fileName', 'id', 'status', 'internalStatusReasonCode', 'statusReasonInformation'));
85
- // Check if validation is required, then start polling
86
- if (extendedFile.uploadState === 'uploaded' ||
87
- extendedFile.uploadState === 'validating') {
88
- this.checkValidity(extendedFile, this.throttle);
89
- }
90
- }
91
- });
92
- }
93
- }
94
- /** Destroy all event listeners and polling running */
95
- ngOnDestroy() {
96
- this.files.forEach((file) => {
97
- file.uploadRequests?.unsubscribe();
98
- if (file.uploadState === 'uploading') {
99
- file.uploadState = 'aborted';
100
- file.internalStatusReasonCode = 'MFEFHM004';
101
- this.stateChange.emit(pick(file, 'uploadState', 'fileName', 'status', 'internalStatusReasonCode'));
102
- }
103
- });
104
- }
105
- /** @internal Warn user trying to leave page before all uploads are done. Custom message only works in older browsers. */
106
- onBeforeUnload(event) {
107
- if (!this.allUploadingDone(this.files)) {
108
- const confirmationMessage = `You still have files uploading, are you sure you want to leave this page?`;
109
- (event || window.event).returnValue =
110
- confirmationMessage;
111
- return confirmationMessage;
112
- }
113
- return;
114
- }
115
- /* Drag & Drop Events */
116
- /** @internal Event handler for when a file is held over the drop area */
117
- onDragEnter(event) {
118
- if (!this.service)
119
- return;
120
- event.preventDefault();
121
- // Update the visual state
122
- this.componentState = 'over';
123
- }
124
- /** @internal Event handler for when a file leaves the drop area */
125
- onDragLeave(event) {
126
- if (!this.service)
127
- return;
128
- event.preventDefault();
129
- this.componentState = 'normal';
130
- }
131
- /** @internal Event handler for when a file is dropped on the drop area or when `input` files are selected */
132
- onDrop(event) {
133
- if (!this.service)
134
- return;
135
- event.preventDefault();
136
- this.componentState = 'normal';
137
- let files;
138
- // Determine if files are from the drop event or input element
139
- if (event instanceof DragEvent && event.dataTransfer) {
140
- files = event.dataTransfer.files;
141
- }
142
- else if (event.target &&
143
- event.target instanceof HTMLInputElement &&
144
- event.target.files) {
145
- files = event.target.files;
146
- }
147
- if (files) {
148
- const extendedFiles = Array.from(files, (file) => {
149
- let abort = false;
150
- let statusCode = null;
151
- // Check if file size is larger than limit
152
- if (file.size > this.fileLimit) {
153
- abort = true;
154
- statusCode = 'MFEFHM003';
155
- }
156
- // Check if file type is not acceptable
157
- if (!verifyAccept(file.type, this.accept)) {
158
- abort = true;
159
- statusCode = 'MFEFHM002';
160
- }
161
- // Add default values expected by the API
162
- const extendedFile = extendFile(file, {
163
- internalStatusReasonCode: statusCode,
164
- uploadState: (abort ? 'aborted' : 'local'),
165
- });
166
- // Emit initial local upload event
167
- this.stateChange.emit({
168
- uploadState: 'local',
169
- fileName: extendedFile.fileName,
170
- });
171
- if (abort) {
172
- // Emit aborted upload event
173
- this.stateChange.emit({
174
- uploadState: 'aborted',
175
- fileName: extendedFile.fileName,
176
- status: 'aborted',
177
- internalStatusReasonCode: statusCode,
178
- });
179
- }
180
- return extendedFile;
181
- });
182
- // Append to previous files
183
- let i = 0;
184
- for (const file of extendedFiles) {
185
- // If multiple or list is false append only file then break loop
186
- if ((!this.multiple || !this.list) && i >= 1)
187
- break;
188
- this.lastFile = file;
189
- this.files.set(file.id, file);
190
- i++;
191
- }
192
- // Clear file input so that same file can be uploaded
193
- if (event.target &&
194
- event.target instanceof HTMLInputElement &&
195
- event.target.files) {
196
- event.target.value = '';
197
- }
198
- this.onSubmit();
199
- }
200
- }
201
- /** @internal Event trigger for when delete button is pressed */
202
- onRemove(id, state) {
203
- // Only allow removal in certain states
204
- if (!this.service || this.disableRemove.includes(state))
205
- return;
206
- const file = this.files.get(id);
207
- if (!file)
208
- return;
209
- // Skip confirmation for aborted and deleted files
210
- if (file.uploadState === 'error' ||
211
- file.uploadState === 'aborted' ||
212
- file.uploadState === 'deleted') {
213
- this.onConfirmRemove({ original: undefined, payload: file });
214
- }
215
- else {
216
- this.markedForDeletion = file;
217
- this.deleteModalRef.open();
218
- }
219
- }
220
- /** @internal */
221
- onConfirmRemove(event) {
222
- const { payload: file } = event;
223
- if (!file || !this.service)
224
- return;
225
- // Abort upload and set local state to aborted to inform user
226
- switch (file.uploadState) {
227
- case 'local':
228
- case 'uploading':
229
- file.uploadRequests?.unsubscribe();
230
- file.uploadState = 'aborted';
231
- file.internalStatusReasonCode = 'MFEFHM004';
232
- this.stateChange.emit(pick(file, 'uploadState', 'fileName', 'status', 'internalStatusReasonCode'));
233
- break;
234
- // Remove file from service then set local state to aborted to inform user
235
- case 'uploaded':
236
- case 'validating':
237
- this.service
238
- .removeFile(file.id)
239
- .subscribe({
240
- error: console.warn,
241
- })
242
- .add(() => {
243
- // Abort regardless of response from server
244
- file.uploadRequests?.unsubscribe();
245
- file.uploadState = 'aborted';
246
- file.internalStatusReasonCode = 'MFEFHM005';
247
- this.stateChange.emit(pick(file, 'uploadState', 'fileName', 'status', 'internalStatusReasonCode'));
248
- });
249
- break;
250
- // Remove file from service then locally for "completed" states
251
- case 'error':
252
- case 'done':
253
- ;
254
- (this.service.removeFileFor
255
- ? this.service.removeFileFor(file)
256
- : this.service.removeFile(file.id))
257
- .subscribe({
258
- error: console.warn,
259
- })
260
- .add(() => {
261
- // Remove regardless of response from server
262
- this.files.delete(file.id);
263
- const event = pick(file, 'uploadState', 'fileName', 'id', 'status', 'internalStatusReasonCode', 'statusReasonInformation');
264
- event.uploadState = 'deleted';
265
- this.stateChange.emit(event);
266
- });
267
- break;
268
- // Just remove the file locally to clean up
269
- case 'aborted':
270
- case 'deleted':
271
- default:
272
- this.files.delete(file.id);
273
- this.stateChange.emit({
274
- ...pick(file, 'uploadState', 'fileName', 'id', 'status', 'internalStatusReasonCode', 'statusReasonInformation'),
275
- uploadState: 'deleted',
276
- });
277
- break;
278
- }
279
- }
280
- /** @internal Event handler for when the files should be uploaded */
281
- onSubmit() {
282
- if (!this.files || !this.service)
283
- return;
284
- // If list is not enabled update the component state to show progress
285
- if (!this.list)
286
- this.componentState = 'uploading';
287
- this.loading = true;
288
- this.files.forEach((file) => {
289
- // Filter out all files that aren't currently considered local
290
- if (!file.raw || file.uploadState !== 'local')
291
- return;
292
- file.uploadRequests = this.service.uploadFile(file.raw).subscribe({
293
- next: (event) => {
294
- switch (event.type) {
295
- case HttpEventType.UploadProgress:
296
- // Update upload progress
297
- if (file.uploadState !== 'uploading') {
298
- file.uploadState = 'uploading';
299
- this.stateChange.emit(pick(file, 'uploadState', 'fileName'));
300
- }
301
- file.progress = Math.round((100 * event.loaded) / (event.total || 100));
302
- file.uploadState = 'uploading';
303
- break;
304
- case HttpEventType.Response:
305
- if (event.body?.id) {
306
- // Remove old file id
307
- this.files.delete(file.id);
308
- // Update file with information from the API
309
- Object.assign(file, event.body);
310
- file.progress = 100;
311
- file.uploadState = this.determineUploadState(file.status);
312
- // Update with new file id
313
- this.files.set(file.id, file);
314
- }
315
- this.stateChange.emit(pick(file, 'uploadState', 'fileName', 'id', 'status', 'statusReasonInformation'));
316
- // Check if validation is required, then start polling
317
- if (file.uploadState === 'uploaded' ||
318
- file.uploadState === 'validating') {
319
- this.checkValidity(file, this.throttle);
320
- }
321
- else
322
- this.setComponentStateDone();
323
- this.loading = false;
324
- break;
325
- }
326
- },
327
- error: (error) => {
328
- console.warn(error);
329
- file.uploadState = 'aborted';
330
- file.status = 'aborted';
331
- // todo: wrong
332
- file.statusReasonInformation = [
333
- { originatorId: 'local', reason: 'dragDrop.error.MFEFHM001' },
334
- ];
335
- this.stateChange.emit(pick(file, 'uploadState', 'fileName', 'id', 'status', 'statusReasonInformation'));
336
- this.loading = false;
337
- },
338
- });
339
- });
340
- }
341
- /**
342
- * @internal
343
- * Using the state map convert `apiFile.state` to one of {@link UploadState}
344
- * @param apiState the state given by the file to be used for mapping
345
- */
346
- determineUploadState(apiState) {
347
- // Reverse so that later states override earlier
348
- const stateEntries = Object.entries(this.stateMap).reverse();
349
- for (const [uploadState, apiStates] of stateEntries) {
350
- if (this.uploadStateIsArray(apiStates)) {
351
- if (apiStates.includes(apiState))
352
- return uploadState;
353
- }
354
- else {
355
- if (apiStates === apiState)
356
- return uploadState;
357
- }
358
- }
359
- return 'error';
360
- }
361
- /** @internal */
362
- uploadStateIsArray(state) {
363
- return Array.isArray(state);
364
- }
365
- /** @internal used for translation templating parameters */
366
- translateParams(file) {
367
- return { ...file, fileLimit: (this.fileLimit / 1024 / 1024).toFixed(3) };
368
- }
369
- /**
370
- * Poll the status endpoint to determine when file is valid
371
- * @param file file used to check state and update
372
- * @param delay how long each interval should wait before sending a request
373
- */
374
- checkValidity(file, delay) {
375
- if (!this.service)
376
- return;
377
- file.uploadRequests = timer(0, delay)
378
- .pipe(switchMap(() => {
379
- const asyncFetchStatus = this.service && this.service.fetchStatusFor
380
- ? this.service.fetchStatusFor(file)
381
- : this.service.fetchStatus(file.id);
382
- return asyncFetchStatus;
383
- }), retryWhen(retryStrategy({
384
- maxRetryAttempts: this.retryAttempts,
385
- })), tap((fileStatus) => {
386
- // Continuously update file state to show step progress
387
- if (fileStatus) {
388
- // Emit event when status changes
389
- if (file.status !== fileStatus.status) {
390
- file.status = fileStatus.status;
391
- file.internalStatusReasonCode = this.fallbackError(fileStatus.internalStatusReasonCode);
392
- file.statusReasonInformation = fileStatus.statusReasonInformation;
393
- file.uploadState = this.determineUploadState(fileStatus.status);
394
- this.stateChange.emit(pick(file, 'uploadState', 'fileName', 'id', 'status', 'internalStatusReasonCode', 'statusReasonInformation'));
395
- }
396
- }
397
- }),
398
- // Remove validation state
399
- filter((apiFile) => !!apiFile &&
400
- this.determineUploadState(apiFile.status) !== 'uploaded' &&
401
- this.determineUploadState(apiFile.status) !== 'validating'),
402
- // Take first state after validation
403
- take(1))
404
- .subscribe({
405
- next: () => {
406
- if (this.allValidationDone(this.files)) {
407
- this.setComponentStateDone();
408
- }
409
- },
410
- error: (err) => {
411
- console.warn(err);
412
- file.uploadState = 'aborted';
413
- file.status = 'aborted';
414
- file.internalStatusReasonCode = 'MFEFHM001';
415
- this.stateChange.emit(pick(file, 'uploadState', 'fileName', 'id', 'status', 'internalStatusReasonCode'));
416
- this.setComponentStateDone();
417
- },
418
- });
419
- }
420
- fallbackError(code) {
421
- if (this.errorCodes == null || (code && this.errorCodes.includes(code))) {
422
- return code ?? null;
423
- }
424
- else {
425
- return 'MFEFHM001';
426
- }
427
- }
428
- /**
429
- * Check so that no files are still validating
430
- */
431
- allValidationDone(files) {
432
- return Array.from(files.values()).every((file) => file.uploadState !== 'validating');
433
- }
434
- /**
435
- * Check so that no files are still uploading
436
- */
437
- allUploadingDone(files) {
438
- return Array.from(files.values()).every((file) => file.uploadState !== 'uploading');
439
- }
440
- /**
441
- * Helper to update the component state to done and then back to normal
442
- */
443
- setComponentStateDone() {
444
- if (!this.list)
445
- this.componentState = 'done';
446
- setTimeout(() => {
447
- if (this.componentState === 'done')
448
- this.componentState = 'normal';
449
- }, 3000);
450
- }
451
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NggvDragDropComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
452
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: NggvDragDropComponent, selector: "nggv-drag-drop", inputs: { thook: "thook", service: "service", accept: "accept", disableRemove: "disableRemove", fileLimit: "fileLimit", multiple: "multiple", list: "list", throttle: "throttle", retryAttempts: "retryAttempts", selectable: "selectable", stateMap: "stateMap", fetchStatuses: "fetchStatuses", errorCodes: "errorCodes" }, outputs: { stateChange: "stateChange", detailsClick: "detailsClick" }, host: { listeners: { "window:beforeunload": "onBeforeUnload($event)" }, properties: { "attr.data-thook": "this.thook" } }, viewQueries: [{ propertyName: "deleteModalRef", first: true, predicate: ["deleteModalRef"], descendants: true }], ngImport: i0, template: "<ng-container *transloco=\"let t\">\n <form enctype=\"multipart/form-data\" #dragDropForm>\n <div class=\"gds-drag-drop\">\n <input\n class=\"gds-drag-drop__input\"\n id=\"drag-drop\"\n type=\"file\"\n [accept]=\"accept\"\n [multiple]=\"multiple && list\"\n (change)=\"onDrop($event)\"\n />\n <label\n [ngClass]=\"{\n 'gds-drag-drop__label': true,\n 'gds-drag-drop__label--above': componentState === 'over',\n }\"\n for=\"drag-drop\"\n [attr.data-thook]=\"thook + '-picker'\"\n [attr.aria-busy]=\"loading\"\n (dragenter)=\"onDragEnter($event)\"\n (dragover)=\"onDragEnter($event)\"\n (dragleave)=\"onDragLeave($event)\"\n (dragend)=\"onDragLeave($event)\"\n (drop)=\"onDrop($event)\"\n [ngSwitch]=\"componentState\"\n >\n <!-- COMPONENT STATE NORMAL -->\n <ng-template [ngSwitchCase]=\"'normal'\">\n <gds-icon-cloud-upload *nggCoreElement></gds-icon-cloud-upload\n ><em>{{ t('dragDrop.label.fileChoose') }}</em>\n <ng-template [ngIf]=\"isDragDropAvailable\">\n {{ t('dragDrop.label.fileDrag') }}</ng-template\n >\n </ng-template>\n\n <!-- COMPONENT STATE OVER -->\n <ng-template [ngSwitchCase]=\"'over'\">\n <gds-icon-cloud-upload *nggCoreElement></gds-icon-cloud-upload\n >{{ t('dragDrop.label.fileDrop') }}\n </ng-template>\n\n <!-- COMPONENT STATE UPLOADING -->\n <ng-template [ngSwitchCase]=\"'uploading'\">\n <strong class=\"filename\">{{ lastFile?.fileName }}</strong>\n\n <!-- UPLOADING STATE -->\n <ng-template [ngIf]=\"lastFile?.uploadState === 'uploading'\">\n <ng-template\n [ngTemplateOutlet]=\"progressTemplate\"\n [ngTemplateOutletContext]=\"{\n file: lastFile,\n }\"\n ></ng-template>\n </ng-template>\n\n <!-- UPLOADED STATE -->\n <ng-template [ngIf]=\"lastFile?.uploadState === 'uploaded'\">\n <ng-template\n [ngTemplateOutlet]=\"progressTemplate\"\n [ngTemplateOutletContext]=\"{\n file: lastFile,\n text: t('dragDrop.text.fileStateUploaded'),\n }\"\n ></ng-template>\n </ng-template>\n\n <!-- VALIDATING STATE -->\n <ng-template [ngIf]=\"lastFile?.uploadState === 'validating'\">\n <ng-template\n [ngTemplateOutlet]=\"progressTemplate\"\n [ngTemplateOutletContext]=\"{\n file: lastFile,\n text: t('dragDrop.text.fileStateValidating'),\n }\"\n ></ng-template>\n </ng-template>\n </ng-template>\n\n <!-- COMPONENT STATE DONE -->\n <ng-template [ngSwitchCase]=\"'done'\">\n {{ t('dragDrop.label.fileUploaded', { filename: lastFile?.fileName })\n }}<gds-icon-checkmark *nggCoreElement></gds-icon-checkmark>\n </ng-template>\n </label>\n\n <!-- LIST -->\n <table\n class=\"gds-table file-list\"\n [attr.data-thook]=\"thook + '-file-list'\"\n *ngIf=\"list\"\n >\n <thead>\n <tr>\n <th *ngIf=\"selectable\">\n <div class=\"gds-field-checkbox-wrap\">\n <input\n type=\"checkbox\"\n aria-label=\"Field label\"\n id=\"select-all\"\n />\n <label for=\"select-all\"></label>\n </div>\n </th>\n <th class=\"gds-table__primary-col col-name\">\n {{ t('dragDrop.label.fileName') }}\n </th>\n <th class=\"col-status\">\n {{ t('dragDrop.label.fileStatus') }}\n </th>\n <th class=\"col-actions\"></th>\n </tr>\n </thead>\n <tbody>\n <tr\n [attr.data-thook]=\"thook + '-file'\"\n *ngFor=\"let file of files | value\"\n >\n <td *ngIf=\"selectable\">\n <div class=\"gds-field-checkbox-wrap\">\n <input\n type=\"checkbox\"\n aria-label=\"Field label\"\n [id]=\"'file-checkbox-' + file.id\"\n />\n <label [for]=\"'file-checkbox-' + file.id\"></label>\n </div>\n </td>\n <td\n class=\"gds-table__primary-col\"\n [attr.data-thook]=\"thook + '-file-name'\"\n >\n {{ file.fileName }}\n </td>\n <td\n [attr.data-thook]=\"thook + '-file-status'\"\n [ngSwitch]=\"file.uploadState\"\n >\n <!-- UPLOADING STATE -->\n <ng-template [ngSwitchCase]=\"'uploading'\">\n <ng-template\n [ngTemplateOutlet]=\"progressTemplate\"\n [ngTemplateOutletContext]=\"{\n file: file,\n }\"\n ></ng-template>\n </ng-template>\n\n <!-- UPLOADED STATE -->\n <ng-template [ngSwitchCase]=\"'uploaded'\">\n <ng-template\n [ngTemplateOutlet]=\"progressTemplate\"\n [ngTemplateOutletContext]=\"{\n file: file,\n text: t('dragDrop.text.fileStateUploaded'),\n }\"\n ></ng-template>\n </ng-template>\n\n <!-- VALIDATING STATE -->\n <ng-template [ngSwitchCase]=\"'validating'\">\n <ng-template\n [ngTemplateOutlet]=\"progressTemplate\"\n [ngTemplateOutletContext]=\"{\n file: file,\n text: t('dragDrop.text.fileStateValidating'),\n }\"\n ></ng-template>\n </ng-template>\n\n <!-- ABORTED STATE -->\n <ng-template [ngSwitchCase]=\"'aborted'\">\n <span\n class=\"error-text\"\n [transloco]=\"\n 'dragDrop.error.' + file.internalStatusReasonCode\n \"\n [translocoParams]=\"translateParams(file)\"\n *ngIf=\"file.internalStatusReasonCode\"\n ></span>\n </ng-template>\n\n <!-- ERROR STATE -->\n <ng-template [ngSwitchCase]=\"'error'\">\n <span\n class=\"error-text\"\n [transloco]=\"\n 'dragDrop.error.' + file.internalStatusReasonCode\n \"\n [translocoParams]=\"translateParams(file)\"\n *ngIf=\"file.internalStatusReasonCode\"\n ></span>\n <br />\n <a\n (click)=\"detailsClick.emit(file)\"\n style=\"cursor: pointer\"\n *ngIf=\"\n file.statusReasonInformation &&\n file.statusReasonInformation.length\n \"\n >\n {{ t('dragDrop.link.viewDetails') }}\n </a>\n </ng-template>\n\n <!-- DONE STATE -->\n <ng-template [ngSwitchCase]=\"'done'\">\n <span class=\"success-text\">{{\n t('dragDrop.text.fileStateDone')\n }}</span>\n </ng-template>\n </td>\n\n <td class=\"gds-table__numeric-col\">\n <a\n class=\"remove\"\n tabindex=\"0\"\n (click)=\"onRemove(file.id, file.uploadState)\"\n *ngIf=\"!disableRemove.includes(file.uploadState)\"\n >\n <gds-icon-cross-small *nggCoreElement></gds-icon-cross-small>\n </a>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n </form>\n\n <nggv-dialog\n #deleteModalRef\n [title]=\"t('dragDrop.text.fileCancelModalTitle')\"\n [content]=\"\n t('dragDrop.text.fileCancelModalContent', {\n name: markedForDeletion?.fileName,\n })\n \"\n [payload]=\"markedForDeletion\"\n [buttons]=\"{\n negative: 'dragDrop.text.fileCancelConfirm',\n positive: 'dragDrop.text.fileCancelDeny',\n }\"\n (nggvNegativeEvent)=\"onConfirmRemove($any($event))\"\n ></nggv-dialog>\n\n <!-- PROGRESS TEMPLATE -->\n\n <ng-template\n #progressTemplate\n let-file=\"\n file\"\n let-text=\"text\"\n >\n <div class=\"progress-wrapper\">\n <progress\n class=\"gds-progress-bar progress\"\n max=\"100\"\n [value]=\"file.progress\"\n >\n {{\n t('dragDrop.text.fileStateUploading', {\n uploaded:\n (file.raw?.size * (file.progress / 100)) / 1024 | number: '0.0-0',\n size: file.raw?.size / 1024 | number: '0.0-0',\n progress: file.progress,\n unit: 'kB',\n })\n }}\n </progress>\n <ng-template [ngIf]=\"stateMap.validating.length\">\n <div\n class=\"gds-progress-indicator indicator\"\n *ngIf=\"uploadStateIsArray(stateMap.validating); else singleValidation\"\n >\n <div\n class=\"gds-progress-indicator__step\"\n [class.-done]=\"i <= stateMap.validating.indexOf(file.status)\"\n *ngFor=\"let state of stateMap.validating; let i = index\"\n ></div>\n </div>\n </ng-template>\n <ng-template #singleValidation>\n <div class=\"gds-progress-indicator indicator\">\n <!-- eslint-disable @angular-eslint/template/eqeqeq -->\n <div\n class=\"gds-progress-indicator__step\"\n [class.-done]=\"file.status == stateMap.validating\"\n ></div>\n <!-- eslint-enable @angular-eslint/template/eqeqeq -->\n </div>\n </ng-template>\n </div>\n <span class=\"progress-text\">\n {{\n text ||\n t('dragDrop.text.fileStateUploading', {\n uploaded:\n (file.raw?.size * (file.progress / 100)) / 1024 | number: '0.0-0',\n size: file.raw?.size / 1024 | number: '0.0-0',\n progress: file.progress,\n unit: 'kB',\n })\n }}\n </span>\n </ng-template>\n</ng-container>\n", styles: [":host .gds-drag-drop{width:100%}:host .gds-drag-drop__input{width:.1px;height:.1px;opacity:0;overflow:hidden;position:absolute;z-index:-1}:host .gds-drag-drop__label{display:flex;justify-content:center;align-items:center;gap:.5rem;border:2px dashed #868686;font-weight:500;padding:2.25em 1.5em;overflow-wrap:anywhere}:host .gds-drag-drop__input+.gds-drag-drop__label em{font-style:normal;color:#0092e1;cursor:pointer}:host .gds-drag-drop table,:host .gds-drag-drop .gds-table{margin-top:2.25em}:host .gds-table{width:100%;font-family:SEBSansSerif,Arial,sans-serif;border-spacing:0}:host .gds-table th,:host .gds-table td{text-align:left;border-bottom:1px solid #e9e9e9}:host .gds-table thead{color:#333;font-size:1em}:host .gds-table thead tr{min-height:2em}:host .gds-table thead th,:host .gds-table thead td{border-bottom:1px solid #cecece;font-weight:500}:host .gds-table tbody{font-size:1em}:host .gds-table tbody tr{height:2.5em;border-bottom:1px solid #adadad}:host .gds-table tbody tr:hover td,:host .gds-table tbody tr:hover th{background-color:#f8f8f8}:host .gds-table tfoot{font-weight:500;font-size:1em}:host .gds-table tfoot tr{height:2.5em}:host .gds-table tfoot td{border-top:1px solid #cecece;border-bottom-width:0}:host tr .gds-table__numeric-col{text-align:right}:host tr .gds-table__negative-col{color:#bb000c}:host tr .gds-table__primary-col{color:#000}:host .gds-table__sortable-col{cursor:pointer;white-space:nowrap;margin-left:.5em}:host .gds-table__sortable-col:after{content:\"\";display:inline-block;background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 644'%3E%3Cpath fill='%23adadad' transform='translate(0 260)' d='M207.029 381.476L12.686 187.132c-9.373-9.373-9.373-24.569 0-33.941l22.667-22.667c9.357-9.357 24.522-9.375 33.901-.04L224 284.505l154.745-154.021c9.379-9.335 24.544-9.317 33.901.04l22.667 22.667c9.373 9.373 9.373 24.569 0 33.941L240.971 381.476c-9.373 9.372-24.569 9.372-33.942 0z'/%3E%3Cpath fill='%23adadad' transform='translate(0 -120)' d='M240.971 130.524l194.343 194.343c9.373 9.373 9.373 24.569 0 33.941l-22.667 22.667c-9.357 9.357-24.522 9.375-33.901.04L224 227.495 69.255 381.516c-9.379 9.335-24.544 9.317-33.901-.04l-22.667-22.667c-9.373-9.373-9.373-24.569 0-33.941L207.03 130.525c9.372-9.373 24.568-9.373 33.941-.001z'/%3E%3C/svg%3E\");background-repeat:no-repeat;margin-left:.25rem;width:.625rem;height:1rem;vertical-align:text-bottom}:host .gds-table__sortable-col:hover:after{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 644'%3E%3Cpath fill='%23cecece' transform='translate(0 260)' d='M207.029 381.476L12.686 187.132c-9.373-9.373-9.373-24.569 0-33.941l22.667-22.667c9.357-9.357 24.522-9.375 33.901-.04L224 284.505l154.745-154.021c9.379-9.335 24.544-9.317 33.901.04l22.667 22.667c9.373 9.373 9.373 24.569 0 33.941L240.971 381.476c-9.373 9.372-24.569 9.372-33.942 0z'/%3E%3Cpath fill='%23cecece' transform='translate(0 -120)' d='M240.971 130.524l194.343 194.343c9.373 9.373 9.373 24.569 0 33.941l-22.667 22.667c-9.357 9.357-24.522 9.375-33.901.04L224 227.495 69.255 381.516c-9.379 9.335-24.544 9.317-33.901-.04l-22.667-22.667c-9.373-9.373-9.373-24.569 0-33.941L207.03 130.525c9.372-9.373 24.568-9.373 33.941-.001z'/%3E%3C/svg%3E\")}:host .gds-table__sortable-col--asc:after{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 644'%3E%3Cpath fill='%23adadad' transform='translate(0 260)' d='M207.029 381.476L12.686 187.132c-9.373-9.373-9.373-24.569 0-33.941l22.667-22.667c9.357-9.357 24.522-9.375 33.901-.04L224 284.505l154.745-154.021c9.379-9.335 24.544-9.317 33.901.04l22.667 22.667c9.373 9.373 9.373 24.569 0 33.941L240.971 381.476c-9.373 9.372-24.569 9.372-33.942 0z'/%3E%3Cpath fill='%23007ac7' transform='translate(0 -120)' d='M240.971 130.524l194.343 194.343c9.373 9.373 9.373 24.569 0 33.941l-22.667 22.667c-9.357 9.357-24.522 9.375-33.901.04L224 227.495 69.255 381.516c-9.379 9.335-24.544 9.317-33.901-.04l-22.667-22.667c-9.373-9.373-9.373-24.569 0-33.941L207.03 130.525c9.372-9.373 24.568-9.373 33.941-.001z'/%3E%3C/svg%3E\")}:host .gds-table__sortable-col--asc:hover:after{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 644'%3E%3Cpath fill='%23cecece' transform='translate(0 260)' d='M207.029 381.476L12.686 187.132c-9.373-9.373-9.373-24.569 0-33.941l22.667-22.667c9.357-9.357 24.522-9.375 33.901-.04L224 284.505l154.745-154.021c9.379-9.335 24.544-9.317 33.901.04l22.667 22.667c9.373 9.373 9.373 24.569 0 33.941L240.971 381.476c-9.373 9.372-24.569 9.372-33.942 0z'/%3E%3Cpath fill='%2341b0ee' transform='translate(0 -120)' d='M240.971 130.524l194.343 194.343c9.373 9.373 9.373 24.569 0 33.941l-22.667 22.667c-9.357 9.357-24.522 9.375-33.901.04L224 227.495 69.255 381.516c-9.379 9.335-24.544 9.317-33.901-.04l-22.667-22.667c-9.373-9.373-9.373-24.569 0-33.941L207.03 130.525c9.372-9.373 24.568-9.373 33.941-.001z'/%3E%3C/svg%3E\")}:host .gds-table__sortable-col--desc:after{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 644'%3E%3Cpath fill='%23007ac7' transform='translate(0 260)' d='M207.029 381.476L12.686 187.132c-9.373-9.373-9.373-24.569 0-33.941l22.667-22.667c9.357-9.357 24.522-9.375 33.901-.04L224 284.505l154.745-154.021c9.379-9.335 24.544-9.317 33.901.04l22.667 22.667c9.373 9.373 9.373 24.569 0 33.941L240.971 381.476c-9.373 9.372-24.569 9.372-33.942 0z'/%3E%3Cpath fill='%23adadad' transform='translate(0 -120)' d='M240.971 130.524l194.343 194.343c9.373 9.373 9.373 24.569 0 33.941l-22.667 22.667c-9.357 9.357-24.522 9.375-33.901.04L224 227.495 69.255 381.516c-9.379 9.335-24.544 9.317-33.901-.04l-22.667-22.667c-9.373-9.373-9.373-24.569 0-33.941L207.03 130.525c9.372-9.373 24.568-9.373 33.941-.001z'/%3E%3C/svg%3E\")}:host .gds-table__sortable-col--desc:hover:after{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 644'%3E%3Cpath fill='%2341b0ee' transform='translate(0 260)' d='M207.029 381.476L12.686 187.132c-9.373-9.373-9.373-24.569 0-33.941l22.667-22.667c9.357-9.357 24.522-9.375 33.901-.04L224 284.505l154.745-154.021c9.379-9.335 24.544-9.317 33.901.04l22.667 22.667c9.373 9.373 9.373 24.569 0 33.941L240.971 381.476c-9.373 9.372-24.569 9.372-33.942 0z'/%3E%3Cpath fill='%23cecece' transform='translate(0 -120)' d='M240.971 130.524l194.343 194.343c9.373 9.373 9.373 24.569 0 33.941l-22.667 22.667c-9.357 9.357-24.522 9.375-33.901.04L224 227.495 69.255 381.516c-9.379 9.335-24.544 9.317-33.901-.04l-22.667-22.667c-9.373-9.373-9.373-24.569 0-33.941L207.03 130.525c9.372-9.373 24.568-9.373 33.941-.001z'/%3E%3C/svg%3E\")}:host .gds-table .gds-field-checkbox-wrap{width:2.5rem}:host .gds-table .gds-field-checkbox-wrap label{box-shadow:none!important}:host .gds-table--fixed-l-col{overflow:auto;display:block;position:relative;max-width:100%}:host .gds-table--fixed-l-col td,:host .gds-table--fixed-l-col th{width:auto!important;min-width:150px}:host .gds-table--fixed-l-col td:first-child,:host .gds-table--fixed-l-col th:first-child{position:sticky;left:0;background-color:#fff;border-right:1px solid #e9e9e9}:host .gds-table--fixed-l-col thead th{top:0;z-index:1;position:sticky;background-color:#fff}:host .gds-table--fixed-l-col thead th:first-child{z-index:2}:host .gds-progress-bar{appearance:none;height:.3125rem;width:100%;position:relative;overflow:hidden;color:#45b400;border-width:0;background-color:#e9e9e9}:host .gds-progress-bar:before{display:block;position:absolute;content:\"\";left:-200px;width:200px;height:.3125rem;background-color:#45b400;animation:gds-progressbar-loading 2s linear infinite}:host .gds-progress-bar::-webkit-progress-value{background-color:transparent}:host .gds-progress-bar::-moz-progress-bar{background-color:transparent}:host .gds-progress-bar::-ms-fill{background-color:transparent;border-width:0}:host .gds-progress-bar::-webkit-progress-bar{background-color:#e9e9e9}@keyframes gds-progressbar-loading{0%{left:-30%;width:30%}50%{width:30%}70%{width:70%}80%{left:50%}95%{left:120%}to{left:100%}}:host .gds-progress-bar[value]:before{content:none}:host .gds-progress-bar[value]::-webkit-progress-value{background-color:#45b400}:host .gds-progress-bar[value]::-moz-progress-bar{background-color:#45b400}:host .gds-progress-bar[value]::-ms-fill{background-color:#45b400}:host .gds-progress-indicator{display:flex;width:100%}:host .gds-progress-indicator__step{flex-grow:1;height:.5rem;margin-right:.125rem;background-color:#e9e9e9}:host .gds-progress-indicator__step.-done{background-color:#45b400}:host .gds-progress-indicator__step:last-child{margin-right:0}:host .file-list th:first-child,:host .file-list td:first-child{width:auto}:host .filename{display:block;margin-bottom:.5rem}:host .col-name{width:40%}:host .col-status{width:30%}:host .col-actions{width:.1%}:host .progress-wrapper{display:flex}:host .progress,:host .indicator{height:.5rem}:host .gds-progress-indicator__step{margin-right:0}:host .progress{color:#45b400}:host .progress::-webkit-progress-value{background-color:#45b400}:host .progress::-moz-progress-bar{background-color:#45b400}:host .progress::-ms-fill{background-color:#45b400}:host .progress-text{display:block;margin-top:.125rem}:host .error-text{color:#bb000c}:host .success-text{color:#308800}:host .remove{padding:0 .5rem;font-size:1.5em;color:#868686;cursor:pointer;display:grid;place-content:center}:host .remove:hover,:host .remove:focus{color:#bb000c}\n"], dependencies: [{ kind: "directive", type: i1.TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "component", type: i2.NggvDialogComponent, selector: "nggv-dialog", inputs: ["thook", "shown", "initiallyShown", "heading", "title", "content", "autoClose", "payload", "dialogTitleId", "dialogBodyId", "closeModalOnEscape", "closeButtonAriaLabel", "buttons"], outputs: ["nggvCloseEvent", "nggvPositiveEvent", "nggvNeutralEvent", "nggvNegativeEvent"], exportAs: ["dialog"] }, { kind: "directive", type: i3.NggCoreElementDirective, selector: "[nggCoreElement]" }, { kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i4.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i4.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "pipe", type: i4.DecimalPipe, name: "number" }, { kind: "pipe", type: i5.ValuePipe, name: "value" }] }); }
453
- }
454
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NggvDragDropComponent, decorators: [{
455
- type: Component,
456
- args: [{ selector: 'nggv-drag-drop', template: "<ng-container *transloco=\"let t\">\n <form enctype=\"multipart/form-data\" #dragDropForm>\n <div class=\"gds-drag-drop\">\n <input\n class=\"gds-drag-drop__input\"\n id=\"drag-drop\"\n type=\"file\"\n [accept]=\"accept\"\n [multiple]=\"multiple && list\"\n (change)=\"onDrop($event)\"\n />\n <label\n [ngClass]=\"{\n 'gds-drag-drop__label': true,\n 'gds-drag-drop__label--above': componentState === 'over',\n }\"\n for=\"drag-drop\"\n [attr.data-thook]=\"thook + '-picker'\"\n [attr.aria-busy]=\"loading\"\n (dragenter)=\"onDragEnter($event)\"\n (dragover)=\"onDragEnter($event)\"\n (dragleave)=\"onDragLeave($event)\"\n (dragend)=\"onDragLeave($event)\"\n (drop)=\"onDrop($event)\"\n [ngSwitch]=\"componentState\"\n >\n <!-- COMPONENT STATE NORMAL -->\n <ng-template [ngSwitchCase]=\"'normal'\">\n <gds-icon-cloud-upload *nggCoreElement></gds-icon-cloud-upload\n ><em>{{ t('dragDrop.label.fileChoose') }}</em>\n <ng-template [ngIf]=\"isDragDropAvailable\">\n {{ t('dragDrop.label.fileDrag') }}</ng-template\n >\n </ng-template>\n\n <!-- COMPONENT STATE OVER -->\n <ng-template [ngSwitchCase]=\"'over'\">\n <gds-icon-cloud-upload *nggCoreElement></gds-icon-cloud-upload\n >{{ t('dragDrop.label.fileDrop') }}\n </ng-template>\n\n <!-- COMPONENT STATE UPLOADING -->\n <ng-template [ngSwitchCase]=\"'uploading'\">\n <strong class=\"filename\">{{ lastFile?.fileName }}</strong>\n\n <!-- UPLOADING STATE -->\n <ng-template [ngIf]=\"lastFile?.uploadState === 'uploading'\">\n <ng-template\n [ngTemplateOutlet]=\"progressTemplate\"\n [ngTemplateOutletContext]=\"{\n file: lastFile,\n }\"\n ></ng-template>\n </ng-template>\n\n <!-- UPLOADED STATE -->\n <ng-template [ngIf]=\"lastFile?.uploadState === 'uploaded'\">\n <ng-template\n [ngTemplateOutlet]=\"progressTemplate\"\n [ngTemplateOutletContext]=\"{\n file: lastFile,\n text: t('dragDrop.text.fileStateUploaded'),\n }\"\n ></ng-template>\n </ng-template>\n\n <!-- VALIDATING STATE -->\n <ng-template [ngIf]=\"lastFile?.uploadState === 'validating'\">\n <ng-template\n [ngTemplateOutlet]=\"progressTemplate\"\n [ngTemplateOutletContext]=\"{\n file: lastFile,\n text: t('dragDrop.text.fileStateValidating'),\n }\"\n ></ng-template>\n </ng-template>\n </ng-template>\n\n <!-- COMPONENT STATE DONE -->\n <ng-template [ngSwitchCase]=\"'done'\">\n {{ t('dragDrop.label.fileUploaded', { filename: lastFile?.fileName })\n }}<gds-icon-checkmark *nggCoreElement></gds-icon-checkmark>\n </ng-template>\n </label>\n\n <!-- LIST -->\n <table\n class=\"gds-table file-list\"\n [attr.data-thook]=\"thook + '-file-list'\"\n *ngIf=\"list\"\n >\n <thead>\n <tr>\n <th *ngIf=\"selectable\">\n <div class=\"gds-field-checkbox-wrap\">\n <input\n type=\"checkbox\"\n aria-label=\"Field label\"\n id=\"select-all\"\n />\n <label for=\"select-all\"></label>\n </div>\n </th>\n <th class=\"gds-table__primary-col col-name\">\n {{ t('dragDrop.label.fileName') }}\n </th>\n <th class=\"col-status\">\n {{ t('dragDrop.label.fileStatus') }}\n </th>\n <th class=\"col-actions\"></th>\n </tr>\n </thead>\n <tbody>\n <tr\n [attr.data-thook]=\"thook + '-file'\"\n *ngFor=\"let file of files | value\"\n >\n <td *ngIf=\"selectable\">\n <div class=\"gds-field-checkbox-wrap\">\n <input\n type=\"checkbox\"\n aria-label=\"Field label\"\n [id]=\"'file-checkbox-' + file.id\"\n />\n <label [for]=\"'file-checkbox-' + file.id\"></label>\n </div>\n </td>\n <td\n class=\"gds-table__primary-col\"\n [attr.data-thook]=\"thook + '-file-name'\"\n >\n {{ file.fileName }}\n </td>\n <td\n [attr.data-thook]=\"thook + '-file-status'\"\n [ngSwitch]=\"file.uploadState\"\n >\n <!-- UPLOADING STATE -->\n <ng-template [ngSwitchCase]=\"'uploading'\">\n <ng-template\n [ngTemplateOutlet]=\"progressTemplate\"\n [ngTemplateOutletContext]=\"{\n file: file,\n }\"\n ></ng-template>\n </ng-template>\n\n <!-- UPLOADED STATE -->\n <ng-template [ngSwitchCase]=\"'uploaded'\">\n <ng-template\n [ngTemplateOutlet]=\"progressTemplate\"\n [ngTemplateOutletContext]=\"{\n file: file,\n text: t('dragDrop.text.fileStateUploaded'),\n }\"\n ></ng-template>\n </ng-template>\n\n <!-- VALIDATING STATE -->\n <ng-template [ngSwitchCase]=\"'validating'\">\n <ng-template\n [ngTemplateOutlet]=\"progressTemplate\"\n [ngTemplateOutletContext]=\"{\n file: file,\n text: t('dragDrop.text.fileStateValidating'),\n }\"\n ></ng-template>\n </ng-template>\n\n <!-- ABORTED STATE -->\n <ng-template [ngSwitchCase]=\"'aborted'\">\n <span\n class=\"error-text\"\n [transloco]=\"\n 'dragDrop.error.' + file.internalStatusReasonCode\n \"\n [translocoParams]=\"translateParams(file)\"\n *ngIf=\"file.internalStatusReasonCode\"\n ></span>\n </ng-template>\n\n <!-- ERROR STATE -->\n <ng-template [ngSwitchCase]=\"'error'\">\n <span\n class=\"error-text\"\n [transloco]=\"\n 'dragDrop.error.' + file.internalStatusReasonCode\n \"\n [translocoParams]=\"translateParams(file)\"\n *ngIf=\"file.internalStatusReasonCode\"\n ></span>\n <br />\n <a\n (click)=\"detailsClick.emit(file)\"\n style=\"cursor: pointer\"\n *ngIf=\"\n file.statusReasonInformation &&\n file.statusReasonInformation.length\n \"\n >\n {{ t('dragDrop.link.viewDetails') }}\n </a>\n </ng-template>\n\n <!-- DONE STATE -->\n <ng-template [ngSwitchCase]=\"'done'\">\n <span class=\"success-text\">{{\n t('dragDrop.text.fileStateDone')\n }}</span>\n </ng-template>\n </td>\n\n <td class=\"gds-table__numeric-col\">\n <a\n class=\"remove\"\n tabindex=\"0\"\n (click)=\"onRemove(file.id, file.uploadState)\"\n *ngIf=\"!disableRemove.includes(file.uploadState)\"\n >\n <gds-icon-cross-small *nggCoreElement></gds-icon-cross-small>\n </a>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n </form>\n\n <nggv-dialog\n #deleteModalRef\n [title]=\"t('dragDrop.text.fileCancelModalTitle')\"\n [content]=\"\n t('dragDrop.text.fileCancelModalContent', {\n name: markedForDeletion?.fileName,\n })\n \"\n [payload]=\"markedForDeletion\"\n [buttons]=\"{\n negative: 'dragDrop.text.fileCancelConfirm',\n positive: 'dragDrop.text.fileCancelDeny',\n }\"\n (nggvNegativeEvent)=\"onConfirmRemove($any($event))\"\n ></nggv-dialog>\n\n <!-- PROGRESS TEMPLATE -->\n\n <ng-template\n #progressTemplate\n let-file=\"\n file\"\n let-text=\"text\"\n >\n <div class=\"progress-wrapper\">\n <progress\n class=\"gds-progress-bar progress\"\n max=\"100\"\n [value]=\"file.progress\"\n >\n {{\n t('dragDrop.text.fileStateUploading', {\n uploaded:\n (file.raw?.size * (file.progress / 100)) / 1024 | number: '0.0-0',\n size: file.raw?.size / 1024 | number: '0.0-0',\n progress: file.progress,\n unit: 'kB',\n })\n }}\n </progress>\n <ng-template [ngIf]=\"stateMap.validating.length\">\n <div\n class=\"gds-progress-indicator indicator\"\n *ngIf=\"uploadStateIsArray(stateMap.validating); else singleValidation\"\n >\n <div\n class=\"gds-progress-indicator__step\"\n [class.-done]=\"i <= stateMap.validating.indexOf(file.status)\"\n *ngFor=\"let state of stateMap.validating; let i = index\"\n ></div>\n </div>\n </ng-template>\n <ng-template #singleValidation>\n <div class=\"gds-progress-indicator indicator\">\n <!-- eslint-disable @angular-eslint/template/eqeqeq -->\n <div\n class=\"gds-progress-indicator__step\"\n [class.-done]=\"file.status == stateMap.validating\"\n ></div>\n <!-- eslint-enable @angular-eslint/template/eqeqeq -->\n </div>\n </ng-template>\n </div>\n <span class=\"progress-text\">\n {{\n text ||\n t('dragDrop.text.fileStateUploading', {\n uploaded:\n (file.raw?.size * (file.progress / 100)) / 1024 | number: '0.0-0',\n size: file.raw?.size / 1024 | number: '0.0-0',\n progress: file.progress,\n unit: 'kB',\n })\n }}\n </span>\n </ng-template>\n</ng-container>\n", styles: [":host .gds-drag-drop{width:100%}:host .gds-drag-drop__input{width:.1px;height:.1px;opacity:0;overflow:hidden;position:absolute;z-index:-1}:host .gds-drag-drop__label{display:flex;justify-content:center;align-items:center;gap:.5rem;border:2px dashed #868686;font-weight:500;padding:2.25em 1.5em;overflow-wrap:anywhere}:host .gds-drag-drop__input+.gds-drag-drop__label em{font-style:normal;color:#0092e1;cursor:pointer}:host .gds-drag-drop table,:host .gds-drag-drop .gds-table{margin-top:2.25em}:host .gds-table{width:100%;font-family:SEBSansSerif,Arial,sans-serif;border-spacing:0}:host .gds-table th,:host .gds-table td{text-align:left;border-bottom:1px solid #e9e9e9}:host .gds-table thead{color:#333;font-size:1em}:host .gds-table thead tr{min-height:2em}:host .gds-table thead th,:host .gds-table thead td{border-bottom:1px solid #cecece;font-weight:500}:host .gds-table tbody{font-size:1em}:host .gds-table tbody tr{height:2.5em;border-bottom:1px solid #adadad}:host .gds-table tbody tr:hover td,:host .gds-table tbody tr:hover th{background-color:#f8f8f8}:host .gds-table tfoot{font-weight:500;font-size:1em}:host .gds-table tfoot tr{height:2.5em}:host .gds-table tfoot td{border-top:1px solid #cecece;border-bottom-width:0}:host tr .gds-table__numeric-col{text-align:right}:host tr .gds-table__negative-col{color:#bb000c}:host tr .gds-table__primary-col{color:#000}:host .gds-table__sortable-col{cursor:pointer;white-space:nowrap;margin-left:.5em}:host .gds-table__sortable-col:after{content:\"\";display:inline-block;background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 644'%3E%3Cpath fill='%23adadad' transform='translate(0 260)' d='M207.029 381.476L12.686 187.132c-9.373-9.373-9.373-24.569 0-33.941l22.667-22.667c9.357-9.357 24.522-9.375 33.901-.04L224 284.505l154.745-154.021c9.379-9.335 24.544-9.317 33.901.04l22.667 22.667c9.373 9.373 9.373 24.569 0 33.941L240.971 381.476c-9.373 9.372-24.569 9.372-33.942 0z'/%3E%3Cpath fill='%23adadad' transform='translate(0 -120)' d='M240.971 130.524l194.343 194.343c9.373 9.373 9.373 24.569 0 33.941l-22.667 22.667c-9.357 9.357-24.522 9.375-33.901.04L224 227.495 69.255 381.516c-9.379 9.335-24.544 9.317-33.901-.04l-22.667-22.667c-9.373-9.373-9.373-24.569 0-33.941L207.03 130.525c9.372-9.373 24.568-9.373 33.941-.001z'/%3E%3C/svg%3E\");background-repeat:no-repeat;margin-left:.25rem;width:.625rem;height:1rem;vertical-align:text-bottom}:host .gds-table__sortable-col:hover:after{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 644'%3E%3Cpath fill='%23cecece' transform='translate(0 260)' d='M207.029 381.476L12.686 187.132c-9.373-9.373-9.373-24.569 0-33.941l22.667-22.667c9.357-9.357 24.522-9.375 33.901-.04L224 284.505l154.745-154.021c9.379-9.335 24.544-9.317 33.901.04l22.667 22.667c9.373 9.373 9.373 24.569 0 33.941L240.971 381.476c-9.373 9.372-24.569 9.372-33.942 0z'/%3E%3Cpath fill='%23cecece' transform='translate(0 -120)' d='M240.971 130.524l194.343 194.343c9.373 9.373 9.373 24.569 0 33.941l-22.667 22.667c-9.357 9.357-24.522 9.375-33.901.04L224 227.495 69.255 381.516c-9.379 9.335-24.544 9.317-33.901-.04l-22.667-22.667c-9.373-9.373-9.373-24.569 0-33.941L207.03 130.525c9.372-9.373 24.568-9.373 33.941-.001z'/%3E%3C/svg%3E\")}:host .gds-table__sortable-col--asc:after{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 644'%3E%3Cpath fill='%23adadad' transform='translate(0 260)' d='M207.029 381.476L12.686 187.132c-9.373-9.373-9.373-24.569 0-33.941l22.667-22.667c9.357-9.357 24.522-9.375 33.901-.04L224 284.505l154.745-154.021c9.379-9.335 24.544-9.317 33.901.04l22.667 22.667c9.373 9.373 9.373 24.569 0 33.941L240.971 381.476c-9.373 9.372-24.569 9.372-33.942 0z'/%3E%3Cpath fill='%23007ac7' transform='translate(0 -120)' d='M240.971 130.524l194.343 194.343c9.373 9.373 9.373 24.569 0 33.941l-22.667 22.667c-9.357 9.357-24.522 9.375-33.901.04L224 227.495 69.255 381.516c-9.379 9.335-24.544 9.317-33.901-.04l-22.667-22.667c-9.373-9.373-9.373-24.569 0-33.941L207.03 130.525c9.372-9.373 24.568-9.373 33.941-.001z'/%3E%3C/svg%3E\")}:host .gds-table__sortable-col--asc:hover:after{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 644'%3E%3Cpath fill='%23cecece' transform='translate(0 260)' d='M207.029 381.476L12.686 187.132c-9.373-9.373-9.373-24.569 0-33.941l22.667-22.667c9.357-9.357 24.522-9.375 33.901-.04L224 284.505l154.745-154.021c9.379-9.335 24.544-9.317 33.901.04l22.667 22.667c9.373 9.373 9.373 24.569 0 33.941L240.971 381.476c-9.373 9.372-24.569 9.372-33.942 0z'/%3E%3Cpath fill='%2341b0ee' transform='translate(0 -120)' d='M240.971 130.524l194.343 194.343c9.373 9.373 9.373 24.569 0 33.941l-22.667 22.667c-9.357 9.357-24.522 9.375-33.901.04L224 227.495 69.255 381.516c-9.379 9.335-24.544 9.317-33.901-.04l-22.667-22.667c-9.373-9.373-9.373-24.569 0-33.941L207.03 130.525c9.372-9.373 24.568-9.373 33.941-.001z'/%3E%3C/svg%3E\")}:host .gds-table__sortable-col--desc:after{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 644'%3E%3Cpath fill='%23007ac7' transform='translate(0 260)' d='M207.029 381.476L12.686 187.132c-9.373-9.373-9.373-24.569 0-33.941l22.667-22.667c9.357-9.357 24.522-9.375 33.901-.04L224 284.505l154.745-154.021c9.379-9.335 24.544-9.317 33.901.04l22.667 22.667c9.373 9.373 9.373 24.569 0 33.941L240.971 381.476c-9.373 9.372-24.569 9.372-33.942 0z'/%3E%3Cpath fill='%23adadad' transform='translate(0 -120)' d='M240.971 130.524l194.343 194.343c9.373 9.373 9.373 24.569 0 33.941l-22.667 22.667c-9.357 9.357-24.522 9.375-33.901.04L224 227.495 69.255 381.516c-9.379 9.335-24.544 9.317-33.901-.04l-22.667-22.667c-9.373-9.373-9.373-24.569 0-33.941L207.03 130.525c9.372-9.373 24.568-9.373 33.941-.001z'/%3E%3C/svg%3E\")}:host .gds-table__sortable-col--desc:hover:after{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 644'%3E%3Cpath fill='%2341b0ee' transform='translate(0 260)' d='M207.029 381.476L12.686 187.132c-9.373-9.373-9.373-24.569 0-33.941l22.667-22.667c9.357-9.357 24.522-9.375 33.901-.04L224 284.505l154.745-154.021c9.379-9.335 24.544-9.317 33.901.04l22.667 22.667c9.373 9.373 9.373 24.569 0 33.941L240.971 381.476c-9.373 9.372-24.569 9.372-33.942 0z'/%3E%3Cpath fill='%23cecece' transform='translate(0 -120)' d='M240.971 130.524l194.343 194.343c9.373 9.373 9.373 24.569 0 33.941l-22.667 22.667c-9.357 9.357-24.522 9.375-33.901.04L224 227.495 69.255 381.516c-9.379 9.335-24.544 9.317-33.901-.04l-22.667-22.667c-9.373-9.373-9.373-24.569 0-33.941L207.03 130.525c9.372-9.373 24.568-9.373 33.941-.001z'/%3E%3C/svg%3E\")}:host .gds-table .gds-field-checkbox-wrap{width:2.5rem}:host .gds-table .gds-field-checkbox-wrap label{box-shadow:none!important}:host .gds-table--fixed-l-col{overflow:auto;display:block;position:relative;max-width:100%}:host .gds-table--fixed-l-col td,:host .gds-table--fixed-l-col th{width:auto!important;min-width:150px}:host .gds-table--fixed-l-col td:first-child,:host .gds-table--fixed-l-col th:first-child{position:sticky;left:0;background-color:#fff;border-right:1px solid #e9e9e9}:host .gds-table--fixed-l-col thead th{top:0;z-index:1;position:sticky;background-color:#fff}:host .gds-table--fixed-l-col thead th:first-child{z-index:2}:host .gds-progress-bar{appearance:none;height:.3125rem;width:100%;position:relative;overflow:hidden;color:#45b400;border-width:0;background-color:#e9e9e9}:host .gds-progress-bar:before{display:block;position:absolute;content:\"\";left:-200px;width:200px;height:.3125rem;background-color:#45b400;animation:gds-progressbar-loading 2s linear infinite}:host .gds-progress-bar::-webkit-progress-value{background-color:transparent}:host .gds-progress-bar::-moz-progress-bar{background-color:transparent}:host .gds-progress-bar::-ms-fill{background-color:transparent;border-width:0}:host .gds-progress-bar::-webkit-progress-bar{background-color:#e9e9e9}@keyframes gds-progressbar-loading{0%{left:-30%;width:30%}50%{width:30%}70%{width:70%}80%{left:50%}95%{left:120%}to{left:100%}}:host .gds-progress-bar[value]:before{content:none}:host .gds-progress-bar[value]::-webkit-progress-value{background-color:#45b400}:host .gds-progress-bar[value]::-moz-progress-bar{background-color:#45b400}:host .gds-progress-bar[value]::-ms-fill{background-color:#45b400}:host .gds-progress-indicator{display:flex;width:100%}:host .gds-progress-indicator__step{flex-grow:1;height:.5rem;margin-right:.125rem;background-color:#e9e9e9}:host .gds-progress-indicator__step.-done{background-color:#45b400}:host .gds-progress-indicator__step:last-child{margin-right:0}:host .file-list th:first-child,:host .file-list td:first-child{width:auto}:host .filename{display:block;margin-bottom:.5rem}:host .col-name{width:40%}:host .col-status{width:30%}:host .col-actions{width:.1%}:host .progress-wrapper{display:flex}:host .progress,:host .indicator{height:.5rem}:host .gds-progress-indicator__step{margin-right:0}:host .progress{color:#45b400}:host .progress::-webkit-progress-value{background-color:#45b400}:host .progress::-moz-progress-bar{background-color:#45b400}:host .progress::-ms-fill{background-color:#45b400}:host .progress-text{display:block;margin-top:.125rem}:host .error-text{color:#bb000c}:host .success-text{color:#308800}:host .remove{padding:0 .5rem;font-size:1.5em;color:#868686;cursor:pointer;display:grid;place-content:center}:host .remove:hover,:host .remove:focus{color:#bb000c}\n"] }]
457
- }], propDecorators: { deleteModalRef: [{
458
- type: ViewChild,
459
- args: ['deleteModalRef']
460
- }], thook: [{
461
- type: HostBinding,
462
- args: ['attr.data-thook']
463
- }, {
464
- type: Input
465
- }], service: [{
466
- type: Input
467
- }], accept: [{
468
- type: Input
469
- }], disableRemove: [{
470
- type: Input
471
- }], fileLimit: [{
472
- type: Input
473
- }], multiple: [{
474
- type: Input
475
- }], list: [{
476
- type: Input
477
- }], throttle: [{
478
- type: Input
479
- }], retryAttempts: [{
480
- type: Input
481
- }], selectable: [{
482
- type: Input
483
- }], stateMap: [{
484
- type: Input
485
- }], fetchStatuses: [{
486
- type: Input
487
- }], errorCodes: [{
488
- type: Input
489
- }], stateChange: [{
490
- type: Output
491
- }], detailsClick: [{
492
- type: Output
493
- }], onBeforeUnload: [{
494
- type: HostListener,
495
- args: ['window:beforeunload', ['$event']]
496
- }] } });
497
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1kcm9wLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvdi1hbmd1bGFyL2RyYWctZHJvcC9kcmFnLWRyb3AuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy92LWFuZ3VsYXIvZHJhZy1kcm9wL2RyYWctZHJvcC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQkFBK0I7QUFDL0IsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQ3BELE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUM1QixPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBRXhFLE9BQU8sRUFFTCxtQkFBbUIsR0FDcEIsTUFBTSw2Q0FBNkMsQ0FBQTtBQUNwRCxPQUFPLEVBQ0wsVUFBVSxFQUNWLG1CQUFtQixFQUNuQixJQUFJLEVBQ0osYUFBYSxFQUNiLFlBQVksR0FDYixNQUFNLG1CQUFtQixDQUFBO0FBVzFCLE9BQU8sNERBQTRELENBQUE7QUFDbkUsT0FBTywyREFBMkQsQ0FBQTtBQUNsRSxPQUFPLHlEQUF5RCxDQUFBOzs7Ozs7O0FBU2hFLE1BQU0sT0FBTyxxQkFBcUI7SUFMbEM7UUFTRSxvRkFBb0Y7UUFDM0MsVUFBSyxHQUM1QyxXQUFXLENBQUE7UUFRYiw4SUFBOEk7UUFDckksa0JBQWEsR0FBa0IsRUFBRSxDQUFBO1FBRTFDLHFDQUFxQztRQUM1QixjQUFTLEdBQVcsR0FBRyxHQUFHLElB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TTtnQkFBRSxJQUFJLENBQUMsY0FBYyxHQUFHLFFBQVEsQ0FBQTtRQUNwRSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUE7SUFDVixDQUFDOytHQWpsQlUscUJBQXFCO21HQUFyQixxQkFBcUIsd3FCQ2hEbEMsZzJVQWlUQTs7NEZEalFhLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDRSxnQkFBZ0I7OEJBTUcsY0FBYztzQkFBMUMsU0FBUzt1QkFBQyxnQkFBZ0I7Z0JBR2MsS0FBSztzQkFBN0MsV0FBVzt1QkFBQyxpQkFBaUI7O3NCQUFHLEtBQUs7Z0JBSTdCLE9BQU87c0JBQWYsS0FBSztnQkFHRyxNQUFNO3NCQUFkLEtBQUs7Z0JBR0csYUFBYTtzQkFBckIsS0FBSztnQkFHRyxTQUFTO3NCQUFqQixLQUFLO2dCQUdHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBR0csSUFBSTtzQkFBWixLQUFLO2dCQUdHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBR0csYUFBYTtzQkFBckIsS0FBSztnQkFNRyxVQUFVO3NCQUFsQixLQUFLO2dCQUdHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBWUcsYUFBYTtzQkFBckIsS0FBSztnQkFHRyxVQUFVO3NCQUFsQixLQUFLO2dCQUdJLFdBQVc7c0JBQXBCLE1BQU07Z0JBR0csWUFBWTtzQkFBckIsTUFBTTtnQkFvRlAsY0FBYztzQkFEYixZQUFZO3VCQUFDLHFCQUFxQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tY29uc29sZSAqL1xuaW1wb3J0IHsgSHR0cEV2ZW50VHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJ1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RCaW5kaW5nLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyB0aW1lciB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBmaWx0ZXIsIHJldHJ5V2hlbiwgc3dpdGNoTWFwLCB0YWtlLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcblxuaW1wb3J0IHtcbiAgRGlhbG9nRXZlbnQsXG4gIE5nZ3ZEaWFsb2dDb21wb25lbnQsXG59IGZyb20gJ0BzZWJncm91cC9ncmVlbi1hbmd1bGFyL3NyYy92LWFuZ3VsYXIvbW9kYWwnXG5pbXBvcnQge1xuICBleHRlbmRGaWxlLFxuICBpc0RyYWdEcm9wQXZhaWxhYmxlLFxuICBwaWNrLFxuICByZXRyeVN0cmF0ZWd5LFxuICB2ZXJpZnlBY2NlcHQsXG59IGZyb20gJy4vZHJhZy1kcm9wLnV0aWxzJ1xuXG5pbXBvcnQgdHlwZSB7XG4gIEFQSUZpbGUsXG4gIEV2ZW50U3RhdGVDaGFuZ2UsXG4gIEZpbGVTZXJ2aWNlLFxuICBMb2NhbEZpbGUsXG4gIFN0YXRlTWFwLFxuICBVcGxvYWRTdGF0ZSxcbn0gZnJvbSAnLi9kcmFnLWRyb3AubW9kZWxzJ1xuXG5pbXBvcnQgJ0BzZWJncm91cC9ncmVlbi1jb3JlL2NvbXBvbmVudHMvaWNvbi9pY29ucy9jbG91ZC11cGxvYWQuanMnXG5pbXBvcnQgJ0BzZWJncm91cC9ncmVlbi1jb3JlL2NvbXBvbmVudHMvaWNvbi9pY29ucy9jcm9zcy1zbWFsbC5qcydcbmltcG9ydCAnQHNlYmdyb3VwL2dyZWVuLWNvcmUvY29tcG9uZW50cy9pY29uL2ljb25zL2NoZWNrbWFyay5qcydcblxuZXhwb3J0IHR5cGUgRHJhZ0Ryb3BTdGF0ZSA9ICdub3JtYWwnIHwgJ292ZXInIHwgJ3VwbG9hZGluZycgfCAnZG9uZSdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmdndi1kcmFnLWRyb3AnLFxuICB0ZW1wbGF0ZVVybDogJy4vZHJhZy1kcm9wLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZHJhZy1kcm9wLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIE5nZ3ZEcmFnRHJvcENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBAVmlld0NoaWxkKCdkZWxldGVNb2RhbFJlZicpIGRlbGV0ZU1vZGFsUmVmITogTmdndkRpYWxvZ0NvbXBvbmVudFxuXG4gIC8qKiBTcGVjaWFsIHByb3BlcnR5IHVzZWQgZm9yIHNlbGVjdGluZyBET00gZWxlbWVudHMgZHVyaW5nIGF1dG9tYXRlZCBVSSB0ZXN0aW5nLiAqL1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS10aG9vaycpIEBJbnB1dCgpIHRob29rOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkID1cbiAgICAnZHJhZy1kcm9wJ1xuXG4gIC8qKiBBbGxvd2luZyBzZWxlY3Rpbmcgb3IgZHJvcHBpbmcgbXVsdGlwbGUgZmlsZXMuICovXG4gIEBJbnB1dCgpIHNlcnZpY2U6IEZpbGVTZXJ2aWNlIHwgdW5kZWZpbmVkXG5cbiAgLyoqIE1pbWUgdHlwZXMgYWxsb3dlZC4gKi9cbiAgQElucHV0KCkgYWNjZXB0Pzogc3RyaW5nXG5cbiAgLyoqIERpc2FibGVzIGRlbGV0aW9uIG9yIGNhbmNlbGxhdGlvbiBkdXJpbmcgZGVmaW5lZCBzdGF0ZXMgW2xvY2FsIHwgdXBsb2FkaW5nIHwgYWJvcnRlZCB8IHVwbG9hZGVkIHwgdmFsaWRhdGluZyB8IGVycm9yIHwgZGVsZXRlZCB8IGRvbmVdLiAqL1xuICBASW5wdXQoKSBkaXNhYmxlUmVtb3ZlOiBVcGxvYWRTdGF0ZVtdID0gW11cblxuICAvKiogRmlsZSBzaXplIGxpbWl0IGluIG1lZ2EgYnl0ZXMuICovXG4gIEBJbnB1dCgpIGZpbGVMaW1pdDogbnVtYmVyID0gMjUwICogMTAyNCAqIDEwMjRcblxuICAvKiogQWxsb3dpbmcgc2VsZWN0aW5nIG9yIGRyb3BwaW5nIG11bHRpcGxlIGZpbGVzLiAqL1xuICBASW5wdXQoKSBtdWx0aXBsZSA9IHRydWVcblxuICAvKiogRGV0ZXJtaW5lcyBpZiBsaXN0IHNob3VsZCBiZSBzaG93biB1bmRlciB1cGxvYWQsIGRpc2FibGluZyBsaXN0IGRpc2FibGVzIG11bHRpcGxlIHVwbG9hZC4gKi9cbiAgQElucHV0KCkgbGlzdCA9IHRydWVcblxuICAvKiogRnJlcXVlbmN5IG9mIHJlcXVlc3RzIHdoaWNoIHRvIHNlbmQgdG8gdGhlIEFQSSByZXF1ZXN0aW5nIHN0YXR1cyB1cGRhdGVzLiAqL1xuICBASW5wdXQoKSB0aHJvdHRsZSA9IDUwMDBcblxuICAvKiogTWF4aW11bSBudW1iZXIgb2YgYXR0ZW1wdHMgdG8gcmVxdWVzdCBhIHN0YXR1cyB1cGRhdGUgZnJvbSB0aGUgQVBJIGlmIHNlcnZpY2UgaXMgdW5yZWFjaGFibGUuICovXG4gIEBJbnB1dCgpIHJldHJ5QXR0ZW1wdHMgPSA1XG5cbiAgLyoqIElmIHNlbGVjdGlvbiBvZiBtdWx0aXBsZSBmaWxlIHNob3VsZCBiZSBwb3NzaWJsZSB3aXRoIGEgY2hlY2tib3guXG4gICAqIEBleHBlcmltZW50YWwgd29yayBpbiBwcm9ncmVzcyBhbmQgc2hvdWxkIG5vdCB5ZXQgYmUgdXNlZC5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBASW5wdXQoKSBzZWxlY3RhYmxlID0gZmFsc2VcblxuICAvKiogQWxsb3dzIG11bHRpcGxlIHZhbHVlcyBmcm9tIGBhcGlGaWxlLnN0YXR1c2AgdG8gYmUgbWFwcGVkIHRvIGEgc2luZ2xlIGZpbGUgdXBsb2FkIHN0YXRlLiAqL1xuICBASW5wdXQoKSBzdGF0ZU1hcDogU3RhdGVNYXAgPSB7XG4gICAgbG9jYWw6ICdsb2NhbCcsXG4gICAgdXBsb2FkaW5nOiAndXBsb2FkaW5nJyxcbiAgICBhYm9ydGVkOiAnYWJvcnRlZCcsXG4gICAgdXBsb2FkZWQ6ICd1cGxvYWRlZCcsXG4gICAgdmFsaWRhdGluZzogJ3ZhbGlkYXRpbmcnLFxuICAgIGVycm9yOiAnZXJyb3InLFxuICAgIGRlbGV0ZWQ6ICdkZWxldGVkJyxcbiAgICBkb25lOiAnZG9uZScsXG4gIH1cblxuICAvKiogU3RhdHVzZXMgYWxsb3dlZCB0byBiZSBmZXRjaCBkdXJpbmcgdGhlIGluaXRpYWwgbG9hZC4gVXNlZCB0byBoaWRlIFwiZG9uZVwiIHN0YXRlcyBmcm9tIGxpc3QuICovXG4gIEBJbnB1dCgpIGZldGNoU3RhdHVzZXM6IHN0cmluZ1tdID0gW11cblxuICAvKiogU3RhdHVzZXMgYWxsb3dlZCBiZSBzaG93biB3aGVuIHN0YXR1cyBpcyBcInJlamVjdGVkXCIuIFdpbGwgZmFsbGJhY2sgdG8gZ2VuZXJpYyBtZXNzYWdlLiBgbnVsbGAgYWxsb3dzIGFsbC4gKi9cbiAgQElucHV0KCkgZXJyb3JDb2Rlczogc3RyaW5nW10gfCBudWxsID0gbnVsbFxuXG4gIC8qKiBFdmVudCB0cmlnZ2VyZWQgb24gaW5pdGlhbGl6YXRpb24gYW5kIGV2ZXJ5IHRpbWUgdGhlIFwidXBsb2FkU3RhdGVcIiBmb3IgYSBmaWxlIGNoYW5nZXMuICovXG4gIEBPdXRwdXQoKSBzdGF0ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnRTdGF0ZUNoYW5nZT4oKVxuXG4gIC8qKiBFdmVudCB0cmlnZ2VyZWQgd2hlbiB2aWV3IGRldGFpbHMgaXMgY2xpY2tlZC4gKi9cbiAgQE91dHB1dCgpIGRldGFpbHNDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8TG9jYWxGaWxlICYgQVBJRmlsZT4oKVxuXG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgaXNEcmFnRHJvcEF2YWlsYWJsZSA9IGlzRHJhZ0Ryb3BBdmFpbGFibGUoKVxuICAvKiogQGludGVybmFsICovXG4gIGNvbXBvbmVudFN0YXRlOiBEcmFnRHJvcFN0YXRlID0gJ25vcm1hbCdcbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBmaWxlczogTWFwPHN0cmluZywgTG9jYWxGaWxlICYgQVBJRmlsZT4gPSBuZXcgTWFwKClcbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBsYXN0RmlsZTogKExvY2FsRmlsZSAmIEFQSUZpbGUpIHwgdW5kZWZpbmVkXG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgc2VsZWN0ZWQ6IHN0cmluZ1tdID0gW11cbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBsb2FkaW5nID0gZmFsc2VcbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBtYXJrZWRGb3JEZWxldGlvbjogQVBJRmlsZSB8IHVuZGVmaW5lZFxuXG4gIC8qKlxuICAgKiBJbml0aWFsaXplIHRoZSBjb21wb25lbnQgYW5kIHdhcm4gaWYgc2VydmljZSBpcyBub3QgZGVmaW5lZC4gV2lsbCBhbHNvIGZldGNoIGZpbGVzIGZvciB0aGUgbGlzdCBpZiBlbmFibGVkLlxuICAgKi9cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKCF0aGlzLnNlcnZpY2UpIHtcbiAgICAgIHJldHVybiBjb25zb2xlLmVycm9yKFxuICAgICAgICAnRHJhZyBhbmQgZHJvcCBjb21wb25lbnQgd2lsbCBub3Qgd29yayB3aXRob3V0IHRoZSBbc2VydmljZV0gcHJvcGVydHkgZGVmaW5lZCEnLFxuICAgICAgKVxuICAgIH1cblxuICAgIGlmICh0aGlzLmxpc3QpIHtcbiAgICAgIHRoaXMuc2VydmljZS5mZXRjaEZpbGVzKHRoaXMuZmV0Y2hTdGF0dXNlcykuc3Vic2NyaWJlKChhcGlGaWxlcykgPT4ge1xuICAgICAgICBmb3IgKGNvbnN0IGFwaUZpbGUgb2YgYXBpRmlsZXMpIHtcbiAgICAgICAgICBjb25zdCBleHRlbmRlZEZpbGUgPSBleHRlbmRGaWxlKHVuZGVmaW5lZCwgYXBpRmlsZSwge1xuICAgICAgICAgICAgcHJvZ3Jlc3M6IDEwMCxcbiAgICAgICAgICAgIHVwbG9hZFN0YXRlOiB0aGlzLmRldGVybWluZVVwbG9hZFN0YXRlKGFwaUZpbGUuc3RhdHVzKSxcbiAgICAgICAgICAgIGludGVybmFsU3RhdHVzUmVhc29uQ29kZTogdGhpcy5mYWxsYmFja0Vycm9yKFxuICAgICAgICAgICAgICBhcGlGaWxlLmludGVybmFsU3RhdHVzUmVhc29uQ29kZSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgfSlcbiAgICAgICAgICB0aGlzLmZpbGVzLnNldChleHRlbmRlZEZpbGUuaWQsIGV4dGVuZGVkRmlsZSlcbiAgICAgICAgICB0aGlzLnN0YXRlQ2hhbmdlLmVtaXQoXG4gICAgICAgICAgICBwaWNrKFxuICAgICAgICAgICAgICBleHRlbmRlZEZpbGUsXG4gICAgICAgICAgICAgICd1cGxvYWRTdGF0ZScsXG4gICAgICAgICAgICAgICdmaWxlTmFtZScsXG4gICAgICAgICAgICAgICdpZCcsXG4gICAgICAgICAgICAgICdzdGF0dXMnLFxuICAgICAgICAgICAgICAnaW50ZXJuYWxTdGF0dXNSZWFzb25Db2RlJyxcbiAgICAgICAgICAgICAgJ3N0YXR1c1JlYXNvbkluZm9ybWF0aW9uJyxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgKVxuXG4gICAgICAgICAgLy8gQ2hlY2sgaWYgdmFsaWRhdGlvbiBpcyByZXF1aXJlZCwgdGhlbiBzdGFydCBwb2xsaW5nXG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgZXh0ZW5kZWRGaWxlLnVwbG9hZFN0YXRlID09PSAndXBsb2FkZWQnIHx8XG4gICAgICAgICAgICBleHRlbmRlZEZpbGUudXBsb2FkU3RhdGUgPT09ICd2YWxpZGF0aW5nJ1xuICAgICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5jaGVja1ZhbGlkaXR5KGV4dGVuZGVkRmlsZSwgdGhpcy50aHJvdHRsZSlcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfVxuICB9XG5cbiAgLyoqIERlc3Ryb3kgYWxsIGV2ZW50IGxpc3RlbmVycyBhbmQgcG9sbGluZyBydW5uaW5nICovXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuZmlsZXMuZm9yRWFjaCgoZmlsZSkgPT4ge1xuICAgICAgZmlsZS51cGxvYWRSZXF1ZXN0cz8udW5zdWJzY3JpYmUoKVxuICAgICAgaWYgKGZpbGUudXBsb2FkU3RhdGUgPT09ICd1cGxvYWRpbmcnKSB7XG4gICAgICAgIGZpbGUudXBsb2FkU3RhdGUgPSAnYWJvcnRlZCdcbiAgICAgICAgZmlsZS5pbnRlcm5hbFN0YXR1c1JlYXNvbkNvZGUgPSAnTUZFRkhNMDA0J1xuICAgICAgICB0aGlzLnN0YXRlQ2hhbmdlLmVtaXQoXG4gICAgICAgICAgcGljayhcbiAgICAgICAgICAgIGZpbGUsXG4gICAgICAgICAgICAndXBsb2FkU3RhdGUnLFxuICAgICAgICAgICAgJ2ZpbGVOYW1lJyxcbiAgICAgICAgICAgICdzdGF0dXMnLFxuICAgICAgICAgICAgJ2ludGVybmFsU3RhdHVzUmVhc29uQ29kZScsXG4gICAgICAgICAgKSxcbiAgICAgICAgKVxuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICAvKiogQGludGVybmFsIFdhcm4gdXNlciB0cnlpbmcgdG8gbGVhdmUgcGFnZSBiZWZvcmUgYWxsIHVwbG9hZHMgYXJlIGRvbmUuIEN1c3RvbSBtZXNzYWdlIG9ubHkgd29ya3MgaW4gb2xkZXIgYnJvd3NlcnMuICovXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpiZWZvcmV1bmxvYWQnLCBbJyRldmVudCddKVxuICBvbkJlZm9yZVVubG9hZChldmVudDogRXZlbnQpIHtcbiAgICBpZiAoIXRoaXMuYWxsVXBsb2FkaW5nRG9uZSh0aGlzLmZpbGVzKSkge1xuICAgICAgY29uc3QgY29uZmlybWF0aW9uTWVzc2FnZSA9IGBZb3Ugc3RpbGwgaGF2ZSBmaWxlcyB1cGxvYWRpbmcsIGFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBsZWF2ZSB0aGlzIHBhZ2U/YFxuICAgICAgOygoZXZlbnQgYXMgYW55KSB8fCAod2luZG93LmV2ZW50IGFzIGFueSkpLnJldHVyblZhbHVlID1cbiAgICAgICAgY29uZmlybWF0aW9uTWVzc2FnZVxuICAgICAgcmV0dXJuIGNvbmZpcm1hdGlvbk1lc3NhZ2VcbiAgICB9XG4gICAgcmV0dXJuXG4gIH1cblxuICAvKiBEcmFnICYgRHJvcCBFdmVudHMgKi9cblxuICAvKiogQGludGVybmFsIEV2ZW50IGhhbmRsZXIgZm9yIHdoZW4gYSBmaWxlIGlzIGhlbGQgb3ZlciB0aGUgZHJvcCBhcmVhICovXG4gIG9uRHJhZ0VudGVyKGV2ZW50OiBEcmFnRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuc2VydmljZSkgcmV0dXJuXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgIC8vIFVwZGF0ZSB0aGUgdmlzdWFsIHN0YXRlXG4gICAgdGhpcy5jb21wb25lbnRTdGF0ZSA9ICdvdmVyJ1xuICB9XG5cbiAgLyoqIEBpbnRlcm5hbCBFdmVudCBoYW5kbGVyIGZvciB3aGVuIGEgZmlsZSBsZWF2ZXMgdGhlIGRyb3AgYXJlYSAqL1xuICBvbkRyYWdMZWF2ZShldmVudDogRHJhZ0V2ZW50KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnNlcnZpY2UpIHJldHVyblxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICB0aGlzLmNvbXBvbmVudFN0YXRlID0gJ25vcm1hbCdcbiAgfVxuXG4gIC8qKiBAaW50ZXJuYWwgRXZlbnQgaGFuZGxlciBmb3Igd2hlbiBhIGZpbGUgaXMgZHJvcHBlZCBvbiB0aGUgZHJvcCBhcmVhIG9yIHdoZW4gYGlucHV0YCBmaWxlcyBhcmUgc2VsZWN0ZWQgKi9cbiAgb25Ecm9wKGV2ZW50OiBEcmFnRXZlbnQgfCBFdmVudCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5zZXJ2aWNlKSByZXR1cm5cbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgdGhpcy5jb21wb25lbnRTdGF0ZSA9ICdub3JtYWwnXG5cbiAgICBsZXQgZmlsZXM6IEZpbGVMaXN0IHwgdW5kZWZpbmVkXG5cbiAgICAvLyBEZXRlcm1pbmUgaWYgZmlsZXMgYXJlIGZyb20gdGhlIGRyb3AgZXZlbnQgb3IgaW5wdXQgZWxlbWVudFxuICAgIGlmIChldmVudCBpbnN0YW5jZW9mIERyYWdFdmVudCAmJiBldmVudC5kYXRhVHJhbnNmZXIpIHtcbiAgICAgIGZpbGVzID0gZXZlbnQuZGF0YVRyYW5zZmVyLmZpbGVzXG4gICAgfSBlbHNlIGlmIChcbiAgICAgIGV2ZW50LnRhcmdldCAmJlxuICAgICAgZXZlbnQudGFyZ2V0IGluc3RhbmNlb2YgSFRNTElucHV0RWxlbWVudCAmJlxuICAgICAgZXZlbnQudGFyZ2V0LmZpbGVzXG4gICAgKSB7XG4gICAgICBmaWxlcyA9IGV2ZW50LnRhcmdldC5maWxlc1xuICAgIH1cblxuICAgIGlmIChmaWxlcykge1xuICAgICAgY29uc3QgZXh0ZW5kZWRGaWxlcyA9IEFycmF5LmZyb20oZmlsZXMsIChmaWxlKSA9PiB7XG4gICAgICAgIGxldCBhYm9ydCA9IGZhbHNlXG4gICAgICAgIGxldCBzdGF0dXNDb2RlOiBzdHJpbmcgfCBudWxsID0gbnVsbFxuICAgICAgICAvLyBDaGVjayBpZiBmaWxlIHNpemUgaXMgbGFyZ2VyIHRoYW4gbGltaXRcbiAgICAgICAgaWYgKGZpbGUuc2l6ZSA+IHRoaXMuZmlsZUxpbWl0KSB7XG4gICAgICAgICAgYWJvcnQgPSB0cnVlXG4gICAgICAgICAgc3RhdHVzQ29kZSA9ICdNRkVGSE0wMDMnXG4gICAgICAgIH1cbiAgICAgICAgLy8gQ2hlY2sgaWYgZmlsZSB0eXBlIGlzIG5vdCBhY2NlcHRhYmxlXG4gICAgICAgIGlmICghdmVyaWZ5QWNjZXB0KGZpbGUudHlwZSwgdGhpcy5hY2NlcHQpKSB7XG4gICAgICAgICAgYWJvcnQgPSB0cnVlXG4gICAgICAgICAgc3RhdHVzQ29kZSA9ICdNRkVGSE0wMDInXG4gICAgICAgIH1cbiAgICAgICAgLy8gQWRkIGRlZmF1bHQgdmFsdWVzIGV4cGVjdGVkIGJ5IHRoZSBBUElcbiAgICAgICAgY29uc3QgZXh0ZW5kZWRGaWxlID0gZXh0ZW5kRmlsZShmaWxlLCB7XG4gICAgICAgICAgaW50ZXJuYWxTdGF0dXNSZWFzb25Db2RlOiBzdGF0dXNDb2RlLFxuICAgICAgICAgIHVwbG9hZFN0YXRlOiAoYWJvcnQgPyAnYWJvcnRlZCcgOiAnbG9jYWwnKSBhcyBVcGxvYWRTdGF0ZSxcbiAgICAgICAgfSlcblxuICAgICAgICAvLyBFbWl0IGluaXRpYWwgbG9jYWwgdXBsb2FkIGV2ZW50XG4gICAgICAgIHRoaXMuc3RhdGVDaGFuZ2UuZW1pdCh7XG4gICAgICAgICAgdXBsb2FkU3RhdGU6ICdsb2NhbCcsXG4gICAgICAgICAgZmlsZU5hbWU6IGV4dGVuZGVkRmlsZS5maWxlTmFtZSxcbiAgICAgICAgfSlcblxuICAgICAgICBpZiAoYWJvcnQpIHtcbiAgICAgICAgICAvLyBFbWl0IGFib3J0ZWQgdXBsb2FkIGV2ZW50XG4gICAgICAgICAgdGhpcy5zdGF0ZUNoYW5nZS5lbWl0KHtcbiAgICAgICAgICAgIHVwbG9hZFN0YXRlOiAnYWJvcnRlZCcsXG4gICAgICAgICAgICBmaWxlTmFtZTogZXh0ZW5kZWRGaWxlLmZpbGVOYW1lLFxuICAgICAgICAgICAgc3RhdHVzOiAnYWJvcnRlZCcsXG4gICAgICAgICAgICBpbnRlcm5hbFN0YXR1c1JlYXNvbkNvZGU6IHN0YXR1c0NvZGUsXG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBleHRlbmRlZEZpbGVcbiAgICAgIH0pXG5cbiAgICAgIC8vIEFwcGVuZCB0byBwcmV2aW91cyBmaWxlc1xuICAgICAgbGV0IGkgPSAwXG4gICAgICBmb3IgKGNvbnN0IGZpbGUgb2YgZXh0ZW5kZWRGaWxlcykge1xuICAgICAgICAvLyBJZiBtdWx0aXBsZSBvciBsaXN0IGlzIGZhbHNlIGFwcGVuZCBvbmx5IGZpbGUgdGhlbiBicmVhayBsb29wXG4gICAgICAgIGlmICgoIXRoaXMubXVsdGlwbGUgfHwgIXRoaXMubGlzdCkgJiYgaSA+PSAxKSBicmVha1xuICAgICAgICB0aGlzLmxhc3RGaWxlID0gZmlsZVxuICAgICAgICB0aGlzLmZpbGVzLnNldChmaWxlLmlkLCBmaWxlKVxuICAgICAgICBpKytcbiAgICAgIH1cblxuICAgICAgLy8gQ2xlYXIgZmlsZSBpbnB1dCBzbyB0aGF0IHNhbWUgZmlsZSBjYW4gYmUgdXBsb2FkZWRcbiAgICAgIGlmIChcbiAgICAgICAgZXZlbnQudGFyZ2V0ICYmXG4gICAgICAgIGV2ZW50LnRhcmdldCBpbnN0YW5jZW9mIEhUTUxJbnB1dEVsZW1lbnQgJiZcbiAgICAgICAgZXZlbnQudGFyZ2V0LmZpbGVzXG4gICAgICApIHtcbiAgICAgICAgZXZlbnQudGFyZ2V0LnZhbHVlID0gJydcbiAgICAgIH1cblxuICAgICAgdGhpcy5vblN1Ym1pdCgpXG4gICAgfVxuICB9XG5cbiAgLyoqIEBpbnRlcm5hbCBFdmVudCB0cmlnZ2VyIGZvciB3aGVuIGRlbGV0ZSBidXR0b24gaXMgcHJlc3NlZCAqL1xuICBvblJlbW92ZShpZDogc3RyaW5nLCBzdGF0ZTogVXBsb2FkU3RhdGUpOiB2b2lkIHtcbiAgICAvLyBPbmx5IGFsbG93IHJlbW92YWwgaW4gY2VydGFpbiBzdGF0ZXNcbiAgICBpZiAoIXRoaXMuc2VydmljZSB8fCB0aGlzLmRpc2FibGVSZW1vdmUuaW5jbHVkZXMoc3RhdGUpKSByZXR1cm5cbiAgICBjb25zdCBmaWxlID0gdGhpcy5maWxlcy5nZXQoaWQpXG4gICAgaWYgKCFmaWxlKSByZXR1cm5cbiAgICAvLyBTa2lwIGNvbmZpcm1hdGlvbiBmb3IgYWJvcnRlZCBhbmQgZGVsZXRlZCBmaWxlc1xuICAgIGlmIChcbiAgICAgIGZpbGUudXBsb2FkU3RhdGUgPT09ICdlcnJvcicgfHxcbiAgICAgIGZpbGUudXBsb2FkU3RhdGUgPT09ICdhYm9ydGVkJyB8fFxuICAgICAgZmlsZS51cGxvYWRTdGF0ZSA9PT0gJ2RlbGV0ZWQnXG4gICAgKSB7XG4gICAgICB0aGlzLm9uQ29uZmlybVJlbW92ZSh7IG9yaWdpbmFsOiB1bmRlZmluZWQsIHBheWxvYWQ6IGZpbGUgfSlcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5tYXJrZWRGb3JEZWxldGlvbiA9IGZpbGVcbiAgICAgIHRoaXMuZGVsZXRlTW9kYWxSZWYub3BlbigpXG4gICAgfVxuICB9XG5cbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBvbkNvbmZpcm1SZW1vdmUoZXZlbnQ6IERpYWxvZ0V2ZW50PExvY2FsRmlsZSAmIEFQSUZpbGU+KSB7XG4gICAgY29uc3QgeyBwYXlsb2FkOiBmaWxlIH0gPSBldmVudFxuICAgIGlmICghZmlsZSB8fCAhdGhpcy5zZXJ2aWNlKSByZXR1cm5cblxuICAgIC8vIEFib3J0IHVwbG9hZCBhbmQgc2V0IGxvY2FsIHN0YXRlIHRvIGFib3J0ZWQgdG8gaW5mb3JtIHVzZXJcbiAgICBzd2l0Y2ggKGZpbGUudXBsb2FkU3RhdGUpIHtcbiAgICAgIGNhc2UgJ2xvY2FsJzpcbiAgICAgIGNhc2UgJ3VwbG9hZGluZyc6XG4gICAgICAgIGZpbGUudXBsb2FkUmVxdWVzdHM/LnVuc3Vic2NyaWJlKClcbiAgICAgICAgZmlsZS51cGxvYWRTdGF0ZSA9ICdhYm9ydGVkJ1xuICAgICAgICBmaWxlLmludGVybmFsU3RhdHVzUmVhc29uQ29kZSA9ICdNRkVGSE0wMDQnXG4gICAgICAgIHRoaXMuc3RhdGVDaGFuZ2UuZW1pdChcbiAgICAgICAgICBwaWNrKFxuICAgICAgICAgICAgZmlsZSxcbiAgICAgICAgICAgICd1cGxvYWRTdGF0ZScsXG4gICAgICAgICAgICAnZmlsZU5hbWUnLFxuICAgICAgICAgICAgJ3N0YXR1cycsXG4gICAgICAgICAgICAnaW50ZXJuYWxTdGF0dXNSZWFzb25Db2RlJyxcbiAgICAgICAgICApLFxuICAgICAgICApXG4gICAgICAgIGJyZWFrXG5cbiAgICAgIC8vIFJlbW92ZSBmaWxlIGZyb20gc2VydmljZSB0aGVuIHNldCBsb2NhbCBzdGF0ZSB0byBhYm9ydGVkIHRvIGluZm9ybSB1c2VyXG4gICAgICBjYXNlICd1cGxvYWRlZCc6XG4gICAgICBjYXNlICd2YWxpZGF0aW5nJzpcbiAgICAgICAgdGhpcy5zZXJ2aWNlXG4gICAgICAgICAgLnJlbW92ZUZpbGUoZmlsZS5pZClcbiAgICAgICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgICAgIGVycm9yOiBjb25zb2xlLndhcm4sXG4gICAgICAgICAgfSlcbiAgICAgICAgICAuYWRkKCgpID0+IHtcbiAgICAgICAgICAgIC8vIEFib3J0IHJlZ2FyZGxlc3Mgb2YgcmVzcG9uc2UgZnJvbSBzZXJ2ZXJcbiAgICAgICAgICAgIGZpbGUudXBsb2FkUmVxdWVzdHM/LnVuc3Vic2NyaWJlKClcbiAgICAgICAgICAgIGZpbGUudXBsb2FkU3RhdGUgPSAnYWJvcnRlZCdcbiAgICAgICAgICAgIGZpbGUuaW50ZXJuYWxTdGF0dXNSZWFzb25Db2RlID0gJ01GRUZITTAwNSdcbiAgICAgICAgICAgIHRoaXMuc3RhdGVDaGFuZ2UuZW1pdChcbiAgICAgICAgICAgICAgcGljayhcbiAgICAgICAgICAgICAgICBmaWxlLFxuICAgICAgICAgICAgICAgICd1cGxvYWRTdGF0ZScsXG4gICAgICAgICAgICAgICAgJ2ZpbGVOYW1lJyxcbiAgICAgICAgICAgICAgICAnc3RhdHVzJyxcbiAgICAgICAgICAgICAgICAnaW50ZXJuYWxTdGF0dXNSZWFzb25Db2RlJyxcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICB9KVxuICAgICAgICBicmVha1xuXG4gICAgICAvLyBSZW1vdmUgZmlsZSBmcm9tIHNlcnZpY2UgdGhlbiBsb2NhbGx5IGZvciBcImNvbXBsZXRlZFwiIHN0YXRlc1xuICAgICAgY2FzZSAnZXJyb3InOlxuICAgICAgY2FzZSAnZG9uZSc6XG4gICAgICAgIDsodGhpcy5zZXJ2aWNlLnJlbW92ZUZpbGVGb3JcbiAgICAgICAgICA/IHRoaXMuc2VydmljZS5yZW1vdmVGaWxlRm9yKGZpbGUpXG4gICAgICAgICAgOiB0aGlzLnNlcnZpY2UucmVtb3ZlRmlsZShmaWxlLmlkKVxuICAgICAgICApXG4gICAgICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgICAgICBlcnJvcjogY29uc29sZS53YXJuLFxuICAgICAgICAgIH0pXG4gICAgICAgICAgLmFkZCgoKSA9PiB7XG4gICAgICAgICAgICAvLyBSZW1vdmUgcmVnYXJkbGVzcyBvZiByZXNwb25zZSBmcm9tIHNlcnZlclxuICAgICAgICAgICAgdGhpcy5maWxlcy5kZWxldGUoZmlsZS5pZClcbiAgICAgICAgICAgIGNvbnN0IGV2ZW50ID0gcGljayhcbiAgICAgICAgICAgICAgZmlsZSxcbiAgICAgICAgICAgICAgJ3VwbG9hZFN0YXRlJyxcbiAgICAgICAgICAgICAgJ2ZpbGVOYW1lJyxcbiAgICAgICAgICAgICAgJ2lkJyxcbiAgICAgICAgICAgICAgJ3N0YXR1cycsXG4gICAgICAgICAgICAgICdpbnRlcm5hbFN0YXR1c1JlYXNvbkNvZGUnLFxuICAgICAgICAgICAgICAnc3RhdHVzUmVhc29uSW5mb3JtYXRpb24nLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgZXZlbnQudXBsb2FkU3RhdGUgPSAnZGVsZXRlZCdcbiAgICAgICAgICAgIHRoaXMuc3RhdGVDaGFuZ2UuZW1pdChldmVudClcbiAgICAgICAgICB9KVxuICAgICAgICBicmVha1xuXG4gICAgICAvLyBKdXN0IHJlbW92ZSB0aGUgZmlsZSBsb2NhbGx5IHRvIGNsZWFuIHVwXG4gICAgICBjYXNlICdhYm9ydGVkJzpcbiAgICAgIGNhc2UgJ2RlbGV0ZWQnOlxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhpcy5maWxlcy5kZWxldGUoZmlsZS5pZClcbiAgICAgICAgdGhpcy5zdGF0ZUNoYW5nZS5lbWl0KHtcbiAgICAgICAgICAuLi5waWNrKFxuICAgICAgICAgICAgZmlsZSxcbiAgICAgICAgICAgICd1cGxvYWRTdGF0ZScsXG4gICAgICAgICAgICAnZmlsZU5hbWUnLFxuICAgICAgICAgICAgJ2lkJyxcbiAgICAgICAgICAgICdzdGF0dXMnLFxuICAgICAgICAgICAgJ2ludGVybmFsU3RhdHVzUmVhc29uQ29kZScsXG4gICAgICAgICAgICAnc3RhdHVzUmVhc29uSW5mb3JtYXRpb24nLFxuICAgICAgICAgICksXG4gICAgICAgICAgdXBsb2FkU3RhdGU6ICdkZWxldGVkJyxcbiAgICAgICAgfSlcbiAgICAgICAgYnJlYWtcbiAgICB9XG4gIH1cblxuICAvKiogQGludGVybmFsIEV2ZW50IGhhbmRsZXIgZm9yIHdoZW4gdGhlIGZpbGVzIHNob3VsZCBiZSB1cGxvYWRlZCAqL1xuICBvblN1Ym1pdCgpIHtcbiAgICBpZiAoIXRoaXMuZmlsZXMgfHwgIXRoaXMuc2VydmljZSkgcmV0dXJuXG4gICAgLy8gSWYgbGlzdCBpcyBub3QgZW5hYmxlZCB1cGRhdGUgdGhlIGNvbXBvbmVudCBzdGF0ZSB0byBzaG93IHByb2dyZXNzXG4gICAgaWYgKCF0aGlzLmxpc3QpIHRoaXMuY29tcG9uZW50U3RhdGUgPSAndXBsb2FkaW5nJ1xuICAgIHRoaXMubG9hZGluZyA9IHRydWVcbiAgICB0aGlzLmZpbGVzLmZvckVhY2goKGZpbGUpID0+IHtcbiAgICAgIC8vIEZpbHRlciBvdXQgYWxsIGZpbGVzIHRoYXQgYXJlbid0IGN1cnJlbnRseSBjb25zaWRlcmVkIGxvY2FsXG4gICAgICBpZiAoIWZpbGUucmF3IHx8IGZpbGUudXBsb2FkU3RhdGUgIT09ICdsb2NhbCcpIHJldHVyblxuICAgICAgZmlsZS51cGxvYWRSZXF1ZXN0cyA9IHRoaXMuc2VydmljZSEudXBsb2FkRmlsZShmaWxlLnJhdyEpLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6IChldmVudCkgPT4ge1xuICAgICAgICAgIHN3aXRjaCAoZXZlbnQudHlwZSkge1xuICAgICAgICAgICAgY2FzZSBIdHRwRXZlbnRUeXBlLlVwbG9hZFByb2dyZXNzOlxuICAgICAgICAgICAgICAvLyBVcGRhdGUgdXBsb2FkIHByb2dyZXNzXG4gICAgICAgICAgICAgIGlmIChmaWxlLnVwbG9hZFN0YXRlICE9PSAndXBsb2FkaW5nJykge1xuICAgICAgICAgICAgICAgIGZpbGUudXBsb2FkU3RhdGUgPSAndXBsb2FkaW5nJ1xuICAgICAgICAgICAgICAgIHRoaXMuc3RhdGVDaGFuZ2UuZW1pdChwaWNrKGZpbGUsICd1cGxvYWRTdGF0ZScsICdmaWxlTmFtZScpKVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGZpbGUucHJvZ3Jlc3MgPSBNYXRoLnJvdW5kKFxuICAgICAgICAgICAgICAgICgxMDAgKiBldmVudC5sb2FkZWQpIC8gKGV2ZW50LnRvdGFsIHx8IDEwMCksXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgZmlsZS51cGxvYWRTdGF0ZSA9ICd1cGxvYWRpbmcnXG4gICAgICAgICAgICAgIGJyZWFrXG5cbiAgICAgICAgICAgIGNhc2UgSHR0cEV2ZW50VHlwZS5SZXNwb25zZTpcbiAgICAgICAgICAgICAgaWYgKGV2ZW50LmJvZHk/LmlkKSB7XG4gICAgICAgICAgICAgICAgLy8gUmVtb3ZlIG9sZCBmaWxlIGlkXG4gICAgICAgICAgICAgICAgdGhpcy5maWxlcy5kZWxldGUoZmlsZS5pZClcbiAgICAgICAgICAgICAgICAvLyBVcGRhdGUgZmlsZSB3aXRoIGluZm9ybWF0aW9uIGZyb20gdGhlIEFQSVxuICAgICAgICAgICAgICAgIE9iamVjdC5hc3NpZ24oZmlsZSwgZXZlbnQuYm9keSlcbiAgICAgICAgICAgICAgICBmaWxlLnByb2dyZXNzID0gMTAwXG4gICAgICAgICAgICAgICAgZmlsZS51cGxvYWRTdGF0ZSA9IHRoaXMuZGV0ZXJtaW5lVXBsb2FkU3RhdGUoZmlsZS5zdGF0dXMpXG4gICAgICAgICAgICAgICAgLy8gVXBkYXRlIHdpdGggbmV3IGZpbGUgaWRcbiAgICAgICAgICAgICAgICB0aGlzLmZpbGVzLnNldChmaWxlLmlkLCBmaWxlKVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgdGhpcy5zdGF0ZUNoYW5nZS5lbWl0KFxuICAgICAgICAgICAgICAgIHBpY2soXG4gICAgICAgICAgICAgICAgICBmaWxlLFxuICAgICAgICAgICAgICAgICAgJ3VwbG9hZFN0YXRlJyxcbiAgICAgICAgICAgICAgICAgICdmaWxlTmFtZScsXG4gICAgICAgICAgICAgICAgICAnaWQnLFxuICAgICAgICAgICAgICAgICAgJ3N0YXR1cycsXG4gICAgICAgICAgICAgICAgICAnc3RhdHVzUmVhc29uSW5mb3JtYXRpb24nLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIClcblxuICAgICAgICAgICAgICAvLyBDaGVjayBpZiB2YWxpZGF0aW9uIGlzIHJlcXVpcmVkLCB0aGVuIHN0YXJ0IHBvbGxpbmdcbiAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgIGZpbGUudXBsb2FkU3RhdGUgPT09ICd1cGxvYWRlZCcgfHxcbiAgICAgICAgICAgICAgICBmaWxlLnVwbG9hZFN0YXRlID09PSAndmFsaWRhdGluZydcbiAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jaGVja1ZhbGlkaXR5KGZpbGUsIHRoaXMudGhyb3R0bGUpXG4gICAgICAgICAgICAgIH0gZWxzZSB0aGlzLnNldENvbXBvbmVudFN0YXRlRG9uZSgpXG4gICAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlXG4gICAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBlcnJvcjogKGVycm9yKSA9PiB7XG4gICAgICAgICAgY29uc29sZS53YXJuKGVycm9yKVxuICAgICAgICAgIGZpbGUudXBsb2FkU3RhdGUgPSAnYWJvcnRlZCdcbiAgICAgICAgICBmaWxlLnN0YXR1cyA9ICdhYm9ydGVkJ1xuICAgICAgICAgIC8vIHRvZG86IHdyb25nXG4gICAgICAgICAgZmlsZS5zdGF0dXNSZWFzb25JbmZvcm1hdGlvbiA9IFtcbiAgICAgICAgICAgIHsgb3JpZ2luYXRvcklkOiAnbG9jYWwnLCByZWFzb246ICdkcmFnRHJvcC5lcnJvci5NRkVGSE0wMDEnIH0sXG4gICAgICAgICAgXVxuICAgICAgICAgIHRoaXMuc3RhdGVDaGFuZ2UuZW1pdChcbiAgICAgICAgICAgIHBpY2soXG4gICAgICAgICAgICAgIGZpbGUsXG4gICAgICAgICAgICAgICd1cGxvYWRTdGF0ZScsXG4gICAgICAgICAgICAgICdmaWxlTmFtZScsXG4gICAgICAgICAgICAgICdpZCcsXG4gICAgICAgICAgICAgICdzdGF0dXMnLFxuICAgICAgICAgICAgICAnc3RhdHVzUmVhc29uSW5mb3JtYXRpb24nLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICApXG4gICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2VcbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICogVXNpbmcgdGhlIHN0YXRlIG1hcCBjb252ZXJ0IGBhcGlGaWxlLnN0YXRlYCB0byBvbmUgb2Yge0BsaW5rIFVwbG9hZFN0YXRlfVxuICAgKiBAcGFyYW0gYXBpU3RhdGUgdGhlIHN0YXRlIGdpdmVuIGJ5IHRoZSBmaWxlIHRvIGJlIHVzZWQgZm9yIG1hcHBpbmdcbiAgICovXG4gIGRldGVybWluZVVwbG9hZFN0YXRlKGFwaVN0YXRlOiBzdHJpbmcpOiBVcGxvYWRTdGF0ZSB7XG4gICAgLy8gUmV2ZXJzZSBzbyB0aGF0IGxhdGVyIHN0YXRlcyBvdmVycmlkZSBlYXJsaWVyXG4gICAgY29uc3Qgc3RhdGVFbnRyaWVzID0gT2JqZWN0LmVudHJpZXModGhpcy5zdGF0ZU1hcCkucmV2ZXJzZSgpXG4gICAgZm9yIChjb25zdCBbdXBsb2FkU3RhdGUsIGFwaVN0YXRlc10gb2Ygc3RhdGVFbnRyaWVzKSB7XG4gICAgICBpZiAodGhpcy51cGxvYWRTdGF0ZUlzQXJyYXkoYXBpU3RhdGVzKSkge1xuICAgICAgICBpZiAoYXBpU3RhdGVzLmluY2x1ZGVzKGFwaVN0YXRlKSkgcmV0dXJuIHVwbG9hZFN0YXRlIGFzIGFueVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKGFwaVN0YXRlcyA9PT0gYXBpU3RhdGUpIHJldHVybiB1cGxvYWRTdGF0ZSBhcyBhbnlcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuICdlcnJvcidcbiAgfVxuXG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgdXBsb2FkU3RhdGVJc0FycmF5KHN0YXRlOiBzdHJpbmcgfCBzdHJpbmdbXSk6IHN0YXRlIGlzIHN0cmluZ1tdIHtcbiAgICByZXR1cm4gQXJyYXkuaXNBcnJheShzdGF0ZSlcbiAgfVxuXG4gIC8qKiBAaW50ZXJuYWwgdXNlZCBmb3IgdHJhbnNsYXRpb24gdGVtcGxhdGluZyBwYXJhbWV0ZXJzICovXG4gIHRyYW5zbGF0ZVBhcmFtcyhmaWxlOiBMb2NhbEZpbGUgJiBBUElGaWxlKSB7XG4gICAgcmV0dXJuIHsgLi4uZmlsZSwgZmlsZUxpbWl0OiAodGhpcy5maWxlTGltaXQgLyAxMDI0IC8gMTAyNCkudG9GaXhlZCgzKSB9XG4gIH1cblxuICAvKipcbiAgICogUG9sbCB0aGUgc3RhdHVzIGVuZHBvaW50IHRvIGRldGVybWluZSB3aGVuIGZpbGUgaXMgdmFsaWRcbiAgICogQHBhcmFtIGZpbGUgZmlsZSB1c2VkIHRvIGNoZWNrIHN0YXRlIGFuZCB1cGRhdGVcbiAgICogQHBhcmFtIGRlbGF5IGhvdyBsb25nIGVhY2ggaW50ZXJ2YWwgc2hvdWxkIHdhaXQgYmVmb3JlIHNlbmRpbmcgYSByZXF1ZXN0XG4gICAqL1xuICBwcml2YXRlIGNoZWNrVmFsaWRpdHkoZmlsZTogTG9jYWxGaWxlICYgQVBJRmlsZSwgZGVsYXk6IG51bWJlcikge1xuICAgIGlmICghdGhpcy5zZXJ2aWNlKSByZXR1cm5cbiAgICBmaWxlLnVwbG9hZFJlcXVlc3RzID0gdGltZXIoMCwgZGVsYXkpXG4gICAgICAucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+IHtcbiAgICAgICAgICBjb25zdCBhc3luY0ZldGNoU3RhdHVzID1cbiAgICAgICAgICAgIHRoaXMuc2VydmljZSAmJiB0aGlzLnNlcnZpY2UuZmV0Y2hTdGF0dXNGb3JcbiAgICAgICAgICAgICAgPyB0aGlzLnNlcnZpY2UuZmV0Y2hTdGF0dXNGb3IoZmlsZSlcbiAgICAgICAgICAgICAgOiB0aGlzLnNlcnZpY2UhLmZldGNoU3RhdHVzKGZpbGUuaWQpXG4gICAgICAgICAgcmV0dXJuIGFzeW5jRmV0Y2hTdGF0dXNcbiAgICAgICAgfSksXG4gICAgICAgIHJldHJ5V2hlbihcbiAgICAgICAgICByZXRyeVN0cmF0ZWd5KHtcbiAgICAgICAgICAgIG1heFJldHJ5QXR0ZW1wdHM6IHRoaXMucmV0cnlBdHRlbXB0cyxcbiAgICAgICAgICB9KSxcbiAgICAgICAgKSxcbiAgICAgICAgdGFwKChmaWxlU3RhdHVzKSA9PiB7XG4gICAgICAgICAgLy8gQ29udGludW91c2x5IHVwZGF0ZSBmaWxlIHN0YXRlIHRvIHNob3cgc3RlcCBwcm9ncmVzc1xuICAgICAgICAgIGlmIChmaWxlU3RhdHVzKSB7XG4gICAgICAgICAgICAvLyBFbWl0IGV2ZW50IHdoZW4gc3RhdHVzIGNoYW5nZXNcbiAgICAgICAgICAgIGlmIChmaWxlLnN0YXR1cyAhPT0gZmlsZVN0YXR1cy5zdGF0dXMpIHtcbiAgICAgICAgICAgICAgZmlsZS5zdGF0dXMgPSBmaWxlU3RhdHVzLnN0YXR1c1xuICAgICAgICAgICAgICBmaWxlLmludGVybmFsU3RhdHVzUmVhc29uQ29kZSA9IHRoaXMuZmFsbGJhY2tFcnJvcihcbiAgICAgICAgICAgICAgICBmaWxlU3RhdHVzLmludGVybmFsU3RhdHVzUmVhc29uQ29kZSxcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICBmaWxlLnN0YXR1c1JlYXNvbkluZm9ybWF0aW9uID0gZmlsZVN0YXR1cy5zdGF0dXNSZWFzb25JbmZvcm1hdGlvblxuICAgICAgICAgICAgICBmaWxlLnVwbG9hZFN0YXRlID0gdGhpcy5kZXRlcm1pbmVVcGxvYWRTdGF0ZShmaWxlU3RhdHVzLnN0YXR1cylcbiAgICAgICAgICAgICAgdGhpcy5zdGF0ZUNoYW5nZS5lbWl0KFxuICAgICAgICAgICAgICAgIHBpY2soXG4gICAgICAgICAgICAgICAgICBmaWxlLFxuICAgICAgICAgICAgICAgICAgJ3VwbG9hZFN0YXRlJyxcbiAgICAgICAgICAgICAgICAgICdmaWxlTmFtZScsXG4gICAgICAgICAgICAgICAgICAnaWQnLFxuICAgICAgICAgICAgICAgICAgJ3N0YXR1cycsXG4gICAgICAgICAgICAgICAgICAnaW50ZXJuYWxTdGF0dXNSZWFzb25Db2RlJyxcbiAgICAgICAgICAgICAgICAgICdzdGF0dXNSZWFzb25JbmZvcm1hdGlvbicsXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICAgIC8vIFJlbW92ZSB2YWxpZGF0aW9uIHN0YXRlXG4gICAgICAgIGZpbHRlcihcbiAgICAgICAgICAoYXBpRmlsZSkgPT5cbiAgICAgICAgICAgICEhYXBpRmlsZSAmJlxuICAgICAgICAgICAgdGhpcy5kZXRlcm1pbmVVcGxvYWRTdGF0ZShhcGlGaWxlLnN0YXR1cykgIT09ICd1cGxvYWRlZCcgJiZcbiAgICAgICAgICAgIHRoaXMuZGV0ZXJtaW5lVXBsb2FkU3RhdGUoYXBpRmlsZS5zdGF0dXMpICE9PSAndmFsaWRhdGluZycsXG4gICAgICAgICksXG4gICAgICAgIC8vIFRha2UgZmlyc3Qgc3RhdGUgYWZ0ZXIgdmFsaWRhdGlvblxuICAgICAgICB0YWtlKDEpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6ICgpID0+IHtcbiAgICAgICAgICBpZiAodGhpcy5hbGxWYWxpZGF0aW9uRG9uZSh0aGlzLmZpbGVzKSkge1xuICAgICAgICAgICAgdGhpcy5zZXRDb21wb25lbnRTdGF0ZURvbmUoKVxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgZXJyb3I6IChlcnIpID0+IHtcbiAgICAgICAgICBjb25zb2xlLndhcm4oZXJyKVxuICAgICAgICAgIGZpbGUudXBsb2FkU3RhdGUgPSAnYWJvcnRlZCdcbiAgICAgICAgICBmaWxlLnN0YXR1cyA9ICdhYm9ydGVkJ1xuICAgICAgICAgIGZpbGUuaW50ZXJuYWxTdGF0dXNSZWFzb25Db2RlID0gJ01GRUZITTAwMSdcbiAgICAgICAgICB0aGlzLnN0YXRlQ2hhbmdlLmVtaXQoXG4gICAgICAgICAgICBwaWNrKFxuICAgICAgICAgICAgICBmaWxlLFxuICAgICAgICAgICAgICAndXBsb2FkU3RhdGUnLFxuICAgICAgICAgICAgICAnZmlsZU5hbWUnLFxuICAgICAgICAgICAgICAnaWQnLFxuICAgICAgICAgICAgICAnc3RhdHVzJyxcbiAgICAgICAgICAgICAgJ2ludGVybmFsU3RhdHVzUmVhc29uQ29kZScsXG4gICAgICAgICAgICApLFxuICAgICAgICAgIClcbiAgICAgICAgICB0aGlzLnNldENvbXBvbmVudFN0YXRlRG9uZSgpXG4gICAgICAgIH0sXG4gICAgICB9KVxuICB9XG5cbiAgcHJpdmF0ZSBmYWxsYmFja0Vycm9yKGNvZGU6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQpOiBzdHJpbmcgfCBudWxsIHtcbiAgICBpZiAodGhpcy5lcnJvckNvZGVzID09IG51bGwgfHwgKGNvZGUgJiYgdGhpcy5lcnJvckNvZGVzLmluY2x1ZGVzKGNvZGUpKSkge1xuICAgICAgcmV0dXJuIGNvZGUgPz8gbnVsbFxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gJ01GRUZITTAwMSdcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgc28gdGhhdCBubyBmaWxlcyBhcmUgc3RpbGwgdmFsaWRhdGluZ1xuICAgKi9cbiAgcHJpdmF0ZSBhbGxWYWxpZGF0aW9uRG9uZShmaWxlczogTWFwPHN0cmluZywgTG9jYWxGaWxlPikge1xuICAgIHJldHVybiBBcnJheS5mcm9tKGZpbGVzLnZhbHVlcygpKS5ldmVyeShcbiAgICAgIChmaWxlKSA9PiBmaWxlLnVwbG9hZFN0YXRlICE9PSAndmFsaWRhdGluZycsXG4gICAgKVxuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIHNvIHRoYXQgbm8gZmlsZXMgYXJlIHN0aWxsIHVwbG9hZGluZ1xuICAgKi9cbiAgcHJpdmF0ZSBhbGxVcGxvYWRpbmdEb25lKGZpbGVzOiBNYXA8c3RyaW5nLCBMb2NhbEZpbGU+KSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20oZmlsZXMudmFsdWVzKCkpLmV2ZXJ5KFxuICAgICAgKGZpbGUpID0+IGZpbGUudXBsb2FkU3RhdGUgIT09ICd1cGxvYWRpbmcnLFxuICAgIClcbiAgfVxuXG4gIC8qKlxuICAgKiBIZWxwZXIgdG8gdXBkYXRlIHRoZSBjb21wb25lbnQgc3RhdGUgdG8gZG9uZSBhbmQgdGhlbiBiYWNrIHRvIG5vcm1hbFxuICAgKi9cbiAgcHJpdmF0ZSBzZXRDb21wb25lbnRTdGF0ZURvbmUoKSB7XG4gICAgaWYgKCF0aGlzLmxpc3QpIHRoaXMuY29tcG9uZW50U3RhdGUgPSAnZG9uZSdcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICh0aGlzLmNvbXBvbmVudFN0YXRlID09PSAnZG9uZScpIHRoaXMuY29tcG9uZW50U3RhdGUgPSAnbm9ybWFsJ1xuICAgIH0sIDMwMDApXG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKnRyYW5zbG9jbz1cImxldCB0XCI+XG4gIDxmb3JtIGVuY3R5cGU9XCJtdWx0aXBhcnQvZm9ybS1kYXRhXCIgI2RyYWdEcm9wRm9ybT5cbiAgICA8ZGl2IGNsYXNzPVwiZ2RzLWRyYWctZHJvcFwiPlxuICAgICAgPGlucHV0XG4gICAgICAgIGNsYXNzPVwiZ2RzLWRyYWctZHJvcF9faW5wdXRcIlxuICAgICAgICBpZD1cImRyYWctZHJvcFwiXG4gICAgICAgIHR5cGU9XCJmaWxlXCJcbiAgICAgICAgW2FjY2VwdF09XCJhY2NlcHRcIlxuICAgICAgICBbbXVsdGlwbGVdPVwibXVsdGlwbGUgJiYgbGlzdFwiXG4gICAgICAgIChjaGFuZ2UpPVwib25Ecm9wKCRldmVudClcIlxuICAgICAgLz5cbiAgICAgIDxsYWJlbFxuICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgJ2dkcy1kcmFnLWRyb3BfX2xhYmVsJzogdHJ1ZSxcbiAgICAgICAgICAnZ2RzLWRyYWctZHJvcF9fbGFiZWwtLWFib3ZlJzogY29tcG9uZW50U3RhdGUgPT09ICdvdmVyJyxcbiAgICAgICAgfVwiXG4gICAgICAgIGZvcj1cImRyYWctZHJvcFwiXG4gICAgICAgIFthdHRyLmRhdGEtdGhvb2tdPVwidGhvb2sgKyAnLXBpY2tlcidcIlxuICAgICAgICBbYXR0ci5hcmlhLWJ1c3ldPVwibG9hZGluZ1wiXG4gICAgICAgIChkcmFnZW50ZXIpPVwib25EcmFnRW50ZXIoJGV2ZW50KVwiXG4gICAgICAgIChkcmFnb3Zlcik9XCJvbkRyYWdFbnRlcigkZXZlbnQpXCJcbiAgICAgICAgKGRyYWdsZWF2ZSk9XCJvbkRyYWdMZWF2ZSgkZXZlbnQpXCJcbiAgICAgICAgKGRyYWdlbmQpPVwib25EcmFnTGVhdmUoJGV2ZW50KVwiXG4gICAgICAgIChkcm9wKT1cIm9uRHJvcCgkZXZlbnQpXCJcbiAgICAgICAgW25nU3dpdGNoXT1cImNvbXBvbmVudFN0YXRlXCJcbiAgICAgID5cbiAgICAgICAgPCEtLSBDT01QT05FTlQgU1RBVEUgTk9STUFMIC0tPlxuICAgICAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09XCInbm9ybWFsJ1wiPlxuICAgICAgICAgIDxnZHMtaWNvbi1jbG91ZC11cGxvYWQgKm5nZ0NvcmVFbGVtZW50PjwvZ2RzLWljb24tY2xvdWQtdXBsb2FkXG4gICAgICAgICAgPjxlbT57eyB0KCdkcmFnRHJvcC5sYWJlbC5maWxlQ2hvb3NlJykgfX08L2VtPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdJZl09XCJpc0RyYWdEcm9wQXZhaWxhYmxlXCI+XG4gICAgICAgICAgICB7eyB0KCdkcmFnRHJvcC5sYWJlbC5maWxlRHJhZycpIH19PC9uZy10ZW1wbGF0ZVxuICAgICAgICAgID5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICA8IS0tIENPTVBPTkVOVCBTVEFURSBPVkVSIC0tPlxuICAgICAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09XCInb3ZlcidcIj5cbiAgICAgICAgICA8Z2RzLWljb24tY2xvdWQtdXBsb2FkICpuZ2dDb3JlRWxlbWVudD48L2dkcy1pY29uLWNsb3VkLXVwbG9hZFxuICAgICAgICAgID57eyB0KCdkcmFnRHJvcC5sYWJlbC5maWxlRHJvcCcpIH19XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgICAgPCEtLSBDT01QT05FTlQgU1RBVEUgVVBMT0FESU5HIC0tPlxuICAgICAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09XCIndXBsb2FkaW5nJ1wiPlxuICAgICAgICAgIDxzdHJvbmcgY2xhc3M9XCJmaWxlbmFtZVwiPnt7IGxhc3RGaWxlPy5maWxlTmFtZSB9fTwvc3Ryb25nPlxuXG4gICAgICAgICAgPCEtLSBVUExPQURJTkcgU1RBVEUgLS0+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ0lmXT1cImxhc3RGaWxlPy51cGxvYWRTdGF0ZSA9PT0gJ3VwbG9hZGluZydcIj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJwcm9ncmVzc1RlbXBsYXRlXCJcbiAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntcbiAgICAgICAgICAgICAgICBmaWxlOiBsYXN0RmlsZSxcbiAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgICAgPCEtLSBVUExPQURFRCBTVEFURSAtLT5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgW25nSWZdPVwibGFzdEZpbGU/LnVwbG9hZFN0YXRlID09PSAndXBsb2FkZWQnXCI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwicHJvZ3Jlc3NUZW1wbGF0ZVwiXG4gICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7XG4gICAgICAgICAgICAgICAgZmlsZTogbGFzdEZpbGUsXG4gICAgICAgICAgICAgICAgdGV4dDogdCgnZHJhZ0Ryb3AudGV4dC5maWxlU3RhdGVVcGxvYWRlZCcpLFxuICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgID48L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgICAgICA8IS0tIFZBTElEQVRJTkcgU1RBVEUgLS0+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ0lmXT1cImxhc3RGaWxlPy51cGxvYWRTdGF0ZSA9PT0gJ3ZhbGlkYXRpbmcnXCI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwicHJvZ3Jlc3NUZW1wbGF0ZVwiXG4gICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7XG4gICAgICAgICAgICAgICAgZmlsZTogbGFzdEZpbGUsXG4gICAgICAgICAgICAgICAgdGV4dDogdCgnZHJhZ0Ryb3AudGV4dC5maWxlU3RhdGVWYWxpZGF0aW5nJyksXG4gICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICA8IS0tIENPTVBPTkVOVCBTVEFURSBET05FIC0tPlxuICAgICAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09XCInZG9uZSdcIj5cbiAgICAgICAgICB7eyB0KCdkcmFnRHJvcC5sYWJlbC5maWxlVXBsb2FkZWQnLCB7IGZpbGVuYW1lOiBsYXN0RmlsZT8uZmlsZU5hbWUgfSlcbiAgICAgICAgICB9fTxnZHMtaWNvbi1jaGVja21hcmsgKm5nZ0NvcmVFbGVtZW50PjwvZ2RzLWljb24tY2hlY2ttYXJrPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9sYWJlbD5cblxuICAgICAgPCEtLSBMSVNUIC0tPlxuICAgICAgPHRhYmxlXG4gICAgICAgIGNsYXNzPVwiZ2RzLXRhYmxlIGZpbGUtbGlzdFwiXG4gICAgICAgIFthdHRyLmRhdGEtdGhvb2tdPVwidGhvb2sgKyAnLWZpbGUtbGlzdCdcIlxuICAgICAgICAqbmdJZj1cImxpc3RcIlxuICAgICAgPlxuICAgICAgICA8dGhlYWQ+XG4gICAgICAgICAgPHRyPlxuICAgICAgICAgICAgPHRoICpuZ0lmPVwic2VsZWN0YWJsZVwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ2RzLWZpZWxkLWNoZWNrYm94LXdyYXBcIj5cbiAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiRmllbGQgbGFiZWxcIlxuICAgICAgICAgICAgICAgICAgaWQ9XCJzZWxlY3QtYWxsXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJzZWxlY3QtYWxsXCI+PC9sYWJlbD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L3RoPlxuICAgICAgICAgICAgPHRoIGNsYXNzPVwiZ2RzLXRhYmxlX19wcmltYXJ5LWNvbCBjb2wtbmFtZVwiPlxuICAgICAgICAgICAgICB7eyB0KCdkcmFnRHJvcC5sYWJlbC5maWxlTmFtZScpIH19XG4gICAgICAgICAgICA8L3RoPlxuICAgICAgICAgICAgPHRoIGNsYXNzPVwiY29sLXN0YXR1c1wiPlxuICAgICAgICAgICAgICB7eyB0KCdkcmFnRHJvcC5sYWJlbC5maWxlU3RhdHVzJykgfX1cbiAgICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgICA8dGggY2xhc3M9XCJjb2wtYWN0aW9uc1wiPjwvdGg+XG4gICAgICAgICAgPC90cj5cbiAgICAgICAgPC90aGVhZD5cbiAgICAgICAgPHRib2R5PlxuICAgICAgICAgIDx0clxuICAgICAgICAgICAgW2F0dHIuZGF0YS10aG9va109XCJ0aG9vayArICctZmlsZSdcIlxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IGZpbGUgb2YgZmlsZXMgfCB2YWx1ZVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHRkICpuZ0lmPVwic2VsZWN0YWJsZVwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ2RzLWZpZWxkLWNoZWNrYm94LXdyYXBcIj5cbiAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiRmllbGQgbGFiZWxcIlxuICAgICAgICAgICAgICAgICAgW2lkXT1cIidmaWxlLWNoZWNrYm94LScgKyBmaWxlLmlkXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDxsYWJlbCBbZm9yXT1cIidmaWxlLWNoZWNrYm94LScgKyBmaWxlLmlkXCI+PC9sYWJlbD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgPHRkXG4gICAgICAgICAgICAgIGNsYXNzPVwiZ2RzLXRhYmxlX19wcmltYXJ5LWNvbFwiXG4gICAgICAgICAgICAgIFthdHRyLmRhdGEtdGhvb2tdPVwidGhvb2sgKyAnLWZpbGUtbmFtZSdcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7eyBmaWxlLmZpbGVOYW1lIH19XG4gICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgPHRkXG4gICAgICAgICAgICAgIFthdHRyLmRhdGEtdGhvb2tdPVwidGhvb2sgKyAnLWZpbGUtc3RhdHVzJ1wiXG4gICAgICAgICAgICAgIFtuZ1N3aXRjaF09XCJmaWxlLnVwbG9hZFN0YXRlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPCEtLSBVUExPQURJTkcgU1RBVEUgLS0+XG4gICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdTd2l0Y2hDYXNlXT1cIid1cGxvYWRpbmcnXCI+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJwcm9ncmVzc1RlbXBsYXRlXCJcbiAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7XG4gICAgICAgICAgICAgICAgICAgIGZpbGU6IGZpbGUsXG4gICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICAgICAgICA8IS0tIFVQTE9BREVEIFNUQVRFIC0tPlxuICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09XCIndXBsb2FkZWQnXCI+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJwcm9ncmVzc1RlbXBsYXRlXCJcbiAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7XG4gICAgICAgICAgICAgICAgICAgIGZpbGU6IGZpbGUsXG4gICAgICAgICAgICAgICAgICAgIHRleHQ6IHQoJ2RyYWdEcm9wLnRleHQuZmlsZVN0YXRlVXBsb2FkZWQnKSxcbiAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgID48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgICAgICAgIDwhLS0gVkFMSURBVElORyBTVEFURSAtLT5cbiAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1N3aXRjaENhc2VdPVwiJ3ZhbGlkYXRpbmcnXCI+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJwcm9ncmVzc1RlbXBsYXRlXCJcbiAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7XG4gICAgICAgICAgICAgICAgICAgIGZpbGU6IGZpbGUsXG4gICAgICAgICAgICAgICAgICAgIHRleHQ6IHQoJ2RyYWdEcm9wLnRleHQuZmlsZVN0YXRlVmFsaWRhdGluZycpLFxuICAgICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgICAgPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgICAgICAgICAgPCEtLSBBQk9SVEVEIFNUQVRFIC0tPlxuICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09XCInYWJvcnRlZCdcIj5cbiAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJlcnJvci10ZXh0XCJcbiAgICAgICAgICAgICAgICAgIFt0cmFuc2xvY29dPVwiXG4gICAgICAgICAgICAgICAgICAgICdkcmFnRHJvcC5lcnJvci4nICsgZmlsZS5pbnRlcm5hbFN0YXR1c1JlYXNvbkNvZGVcbiAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICBbdHJhbnNsb2NvUGFyYW1zXT1cInRyYW5zbGF0ZVBhcmFtcyhmaWxlKVwiXG4gICAgICAgICAgICAgICAgICAqbmdJZj1cImZpbGUuaW50ZXJuYWxTdGF0dXNSZWFzb25Db2RlXCJcbiAgICAgICAgICAgICAgICA+PC9zcGFuPlxuICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgICAgICAgIDwhLS0gRVJST1IgU1RBVEUgLS0+XG4gICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdTd2l0Y2hDYXNlXT1cIidlcnJvcidcIj5cbiAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJlcnJvci10ZXh0XCJcbiAgICAgICAgICAgICAgICAgIFt0cmFuc2xvY29dPVwiXG4gICAgICAgICAgICAgICAgICAgICdkcmFnRHJvcC5lcnJvci4nICsgZmlsZS5pbnRlcm5hbFN0YXR1c1JlYXNvbkNvZGVcbiAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICBbdHJhbnNsb2NvUGFyYW1zXT1cInRyYW5zbGF0ZVBhcmFtcyhmaWxlKVwiXG4gICAgICAgICAgICAgICAgICAqbmdJZj1cImZpbGUuaW50ZXJuYWxTdGF0dXNSZWFzb25Db2RlXCJcbiAgICAgICAgICAgICAgICA+PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxiciAvPlxuICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZGV0YWlsc0NsaWNrLmVtaXQoZmlsZSlcIlxuICAgICAgICAgICAgICAgICAgc3R5bGU9XCJjdXJzb3I6IHBvaW50ZXJcIlxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgICAgICAgICAgZmlsZS5zdGF0dXNSZWFzb25JbmZvcm1hdGlvbiAmJlxuICAgICAgICAgICAgICAgICAgICBmaWxlLnN0YXR1c1JlYXNvbkluZm9ybWF0aW9uLmxlbmd0aFxuICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7eyB0KCdkcmFnRHJvcC5saW5rLnZpZXdEZXRhaWxzJykgfX1cbiAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgICAgICAgICAgPCEtLSBET05FIFNUQVRFIC0tPlxuICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09XCInZG9uZSdcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN1Y2Nlc3MtdGV4dFwiPnt7XG4gICAgICAgICAgICAgICAgICB0KCdkcmFnRHJvcC50ZXh0LmZpbGVTdGF0ZURvbmUnKVxuICAgICAgICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC90ZD5cblxuICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ2RzLXRhYmxlX19udW1lcmljLWNvbFwiPlxuICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgIGNsYXNzPVwicmVtb3ZlXCJcbiAgICAgICAgICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvblJlbW92ZShmaWxlLmlkLCBmaWxlLnVwbG9hZFN0YXRlKVwiXG4gICAgICAgICAgICAgICAgKm5nSWY9XCIhZGlzYWJsZVJlbW92ZS5pbmNsdWRlcyhmaWxlLnVwbG9hZFN0YXRlKVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8Z2RzLWljb24tY3Jvc3Mtc21hbGwgKm5nZ0NvcmVFbGVtZW50PjwvZ2RzLWljb24tY3Jvc3Mtc21hbGw+XG4gICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgPC90cj5cbiAgICAgICAgPC90Ym9keT5cbiAgICAgIDwvdGFibGU+XG4gICAgPC9kaXY+XG4gIDwvZm9ybT5cblxuICA8bmdndi1kaWFsb2dcbiAgICAjZGVsZXRlTW9kYWxSZWZcbiAgICBbdGl0bGVdPVwidCgnZHJhZ0Ryb3AudGV4dC5maWxlQ2FuY2VsTW9kYWxUaXRsZScpXCJcbiAgICBbY29udGVudF09XCJcbiAgICAgIHQoJ2RyYWdEcm9wLnRleHQuZmlsZUNhbmNlbE1vZGFsQ29udGVudCcsIHtcbiAgICAgICAgbmFtZTogbWFya2VkRm9yRGVsZXRpb24/LmZpbGVOYW1lLFxuICAgICAgfSlcbiAgICBcIlxuICAgIFtwYXlsb2FkXT1cIm1hcmtlZEZvckRlbGV0aW9uXCJcbiAgICBbYnV0dG9uc109XCJ7XG4gICAgICBuZWdhdGl2ZTogJ2RyYWdEcm9wLnRleHQuZmlsZUNhbmNlbENvbmZpcm0nLFxuICAgICAgcG9zaXRpdmU6ICdkcmFnRHJvcC50ZXh0LmZpbGVDYW5jZWxEZW55JyxcbiAgICB9XCJcbiAgICAobmdndk5lZ2F0aXZlRXZlbnQpPVwib25Db25maXJtUmVtb3ZlKCRhbnkoJGV2ZW50KSlcIlxuICA+PC9uZ2d2LWRpYWxvZz5cblxuICA8IS0tIFBST0dSRVNTIFRFTVBMQVRFIC0tPlxuXG4gIDxuZy10ZW1wbGF0ZVxuICAgICNwcm9ncmVzc1RlbXBsYXRlXG4gICAgbGV0LWZpbGU9XCJcbiAgICBmaWxlXCJcbiAgICBsZXQtdGV4dD1cInRleHRcIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cInByb2dyZXNzLXdyYXBwZXJcIj5cbiAgICAgIDxwcm9ncmVzc1xuICAgICAgICBjbGFzcz1cImdkcy1wcm9ncmVzcy1iYXIgcHJvZ3Jlc3NcIlxuICAgICAgICBtYXg9XCIxMDBcIlxuICAgICAgICBbdmFsdWVdPVwiZmlsZS5wcm9ncmVzc1wiXG4gICAgICA+XG4gICAgICAgIHt7XG4gICAgICAgICAgdCgnZHJhZ0Ryb3AudGV4dC5maWxlU3RhdGVVcGxvYWRpbmcnLCB7XG4gICAgICAgICAgICB1cGxvYWRlZDpcbiAgICAgICAgICAgICAgKGZpbGUucmF3Py5zaXplICogKGZpbGUucHJvZ3Jlc3MgLyAxMDApKSAvIDEwMjQgfCBudW1iZXI6ICcwLjAtMCcsXG4gICAgICAgICAgICBzaXplOiBmaWxlLnJhdz8uc2l6ZSAvIDEwMjQgfCBudW1iZXI6ICcwLjAtMCcsXG4gICAgICAgICAgICBwcm9ncmVzczogZmlsZS5wcm9ncmVzcyxcbiAgICAgICAgICAgIHVuaXQ6ICdrQicsXG4gICAgICAgICAgfSlcbiAgICAgICAgfX1cbiAgICAgIDwvcHJvZ3Jlc3M+XG4gICAgICA8bmctdGVtcGxhdGUgW25nSWZdPVwic3RhdGVNYXAudmFsaWRhdGluZy5sZW5ndGhcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwiZ2RzLXByb2dyZXNzLWluZGljYXRvciBpbmRpY2F0b3JcIlxuICAgICAgICAgICpuZ0lmPVwidXBsb2FkU3RhdGVJc0FycmF5KHN0YXRlTWFwLnZhbGlkYXRpbmcpOyBlbHNlIHNpbmdsZVZhbGlkYXRpb25cIlxuICAgICAgICA+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJnZHMtcHJvZ3Jlc3MtaW5kaWNhdG9yX19zdGVwXCJcbiAgICAgICAgICAgIFtjbGFzcy4tZG9uZV09XCJpIDw9IHN0YXRlTWFwLnZhbGlkYXRpbmcuaW5kZXhPZihmaWxlLnN0YXR1cylcIlxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IHN0YXRlIG9mIHN0YXRlTWFwLnZhbGlkYXRpbmc7IGxldCBpID0gaW5kZXhcIlxuICAgICAgICAgID48L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlICNzaW5nbGVWYWxpZGF0aW9uPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ2RzLXByb2dyZXNzLWluZGljYXRvciBpbmRpY2F0b3JcIj5cbiAgICAgICAgICA8IS0tIGVzbGludC1kaXNhYmxlIEBhbmd1bGFyLWVzbGludC90ZW1wbGF0ZS9lcWVxZXEgLS0+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJnZHMtcHJvZ3Jlc3MtaW5kaWNhdG9yX19zdGVwXCJcbiAgICAgICAgICAgIFtjbGFzcy4tZG9uZV09XCJmaWxlLnN0YXR1cyA9PSBzdGF0ZU1hcC52YWxpZGF0aW5nXCJcbiAgICAgICAgICA+PC9kaXY+XG4gICAgICAgICAgPCEtLSBlc2xpbnQtZW5hYmxlIEBhbmd1bGFyLWVzbGludC90ZW1wbGF0ZS9lcWVxZXEgLS0+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2Rpdj5cbiAgICA8c3BhbiBjbGFzcz1cInByb2dyZXNzLXRleHRcIj5cbiAgICAgIHt7XG4gICAgICAgIHRleHQgfHxcbiAgICAgICAgICB0KCdkcmFnRHJvcC50ZXh0LmZpbGVTdGF0ZVVwbG9hZGluZycsIHtcbiAgICAgICAgICAgIHVwbG9hZGVkOlxuICAgICAgICAgICAgICAoZmlsZS5yYXc/LnNpemUgKiAoZmlsZS5wcm9ncmVzcyAvIDEwMCkpIC8gMTAyNCB8IG51bWJlcjogJzAuMC0wJyxcbiAgICAgICAgICAgIHNpemU6IGZpbGUucmF3Py5zaXplIC8gMTAyNCB8IG51bWJlcjogJzAuMC0wJyxcbiAgICAgICAgICAgIHByb2dyZXNzOiBmaWxlLnByb2dyZXNzLFxuICAgICAgICAgICAgdW5pdDogJ2tCJyxcbiAgICAgICAgICB9KVxuICAgICAgfX1cbiAgICA8L3NwYW4+XG4gIDwvbmctdGVtcGxhdGU+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==