@koalarx/ui 14.0.6 → 14.0.9

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 (346) hide show
  1. package/alert/esm2020/index.mjs +6 -6
  2. package/alert/esm2020/koalarx-ui-alert.mjs +4 -4
  3. package/alert/esm2020/lib/dialog-alert.component.mjs +48 -48
  4. package/alert/esm2020/lib/koala.alert-config.interface.mjs +1 -1
  5. package/alert/esm2020/lib/koala.alert.enum.mjs +8 -8
  6. package/alert/esm2020/lib/koala.alert.module.mjs +46 -46
  7. package/alert/esm2020/lib/koala.alert.service.mjs +19 -19
  8. package/alert/esm2020/lib/koala.request-code-to-alert-enum.translate.mjs +17 -17
  9. package/alert/fesm2015/koalarx-ui-alert.mjs +111 -111
  10. package/alert/fesm2015/koalarx-ui-alert.mjs.map +1 -1
  11. package/alert/fesm2020/koalarx-ui-alert.mjs +109 -109
  12. package/alert/fesm2020/koalarx-ui-alert.mjs.map +1 -1
  13. package/alert/index.d.ts +6 -6
  14. package/alert/lib/dialog-alert.component.d.ts +10 -10
  15. package/alert/lib/koala.alert-config.interface.d.ts +14 -14
  16. package/alert/lib/koala.alert.enum.d.ts +7 -7
  17. package/alert/lib/koala.alert.module.d.ts +12 -12
  18. package/alert/lib/koala.alert.service.d.ts +10 -10
  19. package/alert/lib/koala.request-code-to-alert-enum.translate.d.ts +4 -4
  20. package/button/esm2020/index.mjs +2 -2
  21. package/button/esm2020/koalarx-ui-button.mjs +4 -4
  22. package/button/esm2020/lib/button.component.mjs +44 -44
  23. package/button/esm2020/lib/koala.button.module.mjs +40 -40
  24. package/button/fesm2015/koalarx-ui-button.mjs +67 -67
  25. package/button/fesm2015/koalarx-ui-button.mjs.map +1 -1
  26. package/button/fesm2020/koalarx-ui-button.mjs +67 -67
  27. package/button/fesm2020/koalarx-ui-button.mjs.map +1 -1
  28. package/button/index.d.ts +2 -2
  29. package/button/lib/button.component.d.ts +18 -18
  30. package/button/lib/koala.button.module.d.ts +12 -12
  31. package/common/esm2020/index.mjs +4 -4
  32. package/common/esm2020/koalarx-ui-common.mjs +4 -4
  33. package/common/esm2020/lib/mask-options.mjs +3 -3
  34. package/common/esm2020/lib/services/csv/koala.csv.service.mjs +36 -36
  35. package/common/esm2020/lib/services/xlsx/koala.xlsx-config.interface.mjs +1 -1
  36. package/common/esm2020/lib/services/xlsx/koala.xlsx.service.mjs +127 -127
  37. package/common/fesm2015/koalarx-ui-common.mjs +160 -160
  38. package/common/fesm2015/koalarx-ui-common.mjs.map +1 -1
  39. package/common/fesm2020/koalarx-ui-common.mjs +155 -155
  40. package/common/fesm2020/koalarx-ui-common.mjs.map +1 -1
  41. package/common/index.d.ts +4 -4
  42. package/common/lib/mask-options.d.ts +2 -2
  43. package/common/lib/services/csv/koala.csv.service.d.ts +10 -10
  44. package/common/lib/services/xlsx/koala.xlsx-config.interface.d.ts +11 -11
  45. package/common/lib/services/xlsx/koala.xlsx.service.d.ts +12 -12
  46. package/core/esm2020/index.mjs +36 -36
  47. package/core/esm2020/koalarx-ui-core.mjs +4 -4
  48. package/core/esm2020/lib/environments/koalaEnvironment.mjs +3 -3
  49. package/core/esm2020/lib/helpers/mat-form-field.helper.mjs +16 -16
  50. package/core/esm2020/lib/loader/loader-bar-page.component.mjs +24 -24
  51. package/core/esm2020/lib/loader/loader-bar-page.interface.mjs +1 -1
  52. package/core/esm2020/lib/loader/loader-config.interface.mjs +1 -1
  53. package/core/esm2020/lib/ngx-koala.module.mjs +47 -47
  54. package/core/esm2020/lib/page/koala-language.helper.mjs +113 -113
  55. package/core/esm2020/lib/page/koala-page-pallet-colors.interface.mjs +1 -1
  56. package/core/esm2020/lib/page/koala.page.module.mjs +76 -76
  57. package/core/esm2020/lib/page/koala.user-menu-options.interface.mjs +1 -1
  58. package/core/esm2020/lib/page/notifications/koala.notification.interface.mjs +1 -1
  59. package/core/esm2020/lib/page/notifications/notification.component.mjs +43 -43
  60. package/core/esm2020/lib/page/page.component.mjs +302 -302
  61. package/core/esm2020/lib/router/koala.parameter-hash-location-stategy.mjs +18 -18
  62. package/core/esm2020/lib/services/api-requester/factory/koala.response.factory.mjs +43 -43
  63. package/core/esm2020/lib/services/api-requester/helpers/error/koala.client.error.mjs +2 -2
  64. package/core/esm2020/lib/services/api-requester/helpers/error/koala.errors.helper.mjs +45 -45
  65. package/core/esm2020/lib/services/api-requester/helpers/error/koala.not-found.error.mjs +2 -2
  66. package/core/esm2020/lib/services/api-requester/helpers/error/koala.success.error.mjs +2 -2
  67. package/core/esm2020/lib/services/api-requester/helpers/error/koala.unhautorized.error.mjs +2 -2
  68. package/core/esm2020/lib/services/api-requester/helpers/service/koala.request-header.helper.mjs +14 -14
  69. package/core/esm2020/lib/services/api-requester/koala.api-requester.base.mjs +86 -86
  70. package/core/esm2020/lib/services/api-requester/koala.api-requester.cache.mjs +37 -37
  71. package/core/esm2020/lib/services/api-requester/koala.api-requester.service.mjs +158 -158
  72. package/core/esm2020/lib/services/loader/koala.loader.service.mjs +34 -34
  73. package/core/esm2020/lib/services/openid/koala-oauth2-config.interface.mjs +1 -1
  74. package/core/esm2020/lib/services/openid/koala.oauth.config.mjs +29 -29
  75. package/core/esm2020/lib/services/openid/koala.oauth2.service.mjs +188 -188
  76. package/core/esm2020/lib/services/request/koala.request.service.mjs +52 -52
  77. package/core/esm2020/lib/services/token/koala.token.service.mjs +55 -55
  78. package/core/esm2020/lib/services/token/token.factory.mjs +26 -26
  79. package/core/fesm2015/koalarx-ui-core.mjs +1294 -1294
  80. package/core/fesm2015/koalarx-ui-core.mjs.map +1 -1
  81. package/core/fesm2020/koalarx-ui-core.mjs +1256 -1256
  82. package/core/fesm2020/koalarx-ui-core.mjs.map +1 -1
  83. package/core/index.d.ts +30 -30
  84. package/core/lib/environments/koalaEnvironment.d.ts +15 -15
  85. package/core/lib/helpers/mat-form-field.helper.d.ts +3 -3
  86. package/core/lib/loader/loader-bar-page.component.d.ts +9 -9
  87. package/core/lib/loader/loader-bar-page.interface.d.ts +5 -5
  88. package/core/lib/loader/loader-config.interface.d.ts +7 -7
  89. package/core/lib/ngx-koala.module.d.ts +12 -12
  90. package/core/lib/page/koala-language.helper.d.ts +19 -19
  91. package/core/lib/page/koala-page-pallet-colors.interface.d.ts +38 -38
  92. package/core/lib/page/koala.page.module.d.ts +21 -21
  93. package/core/lib/page/koala.user-menu-options.interface.d.ts +5 -5
  94. package/core/lib/page/notifications/koala.notification.interface.d.ts +6 -6
  95. package/core/lib/page/notifications/notification.component.d.ts +15 -15
  96. package/core/lib/page/page.component.d.ts +58 -58
  97. package/core/lib/router/koala.parameter-hash-location-stategy.d.ts +7 -7
  98. package/core/lib/services/api-requester/factory/koala.response.factory.d.ts +5 -5
  99. package/core/lib/services/api-requester/helpers/error/koala.client.error.d.ts +2 -2
  100. package/core/lib/services/api-requester/helpers/error/koala.errors.helper.d.ts +13 -13
  101. package/core/lib/services/api-requester/helpers/error/koala.not-found.error.d.ts +2 -2
  102. package/core/lib/services/api-requester/helpers/error/koala.success.error.d.ts +2 -2
  103. package/core/lib/services/api-requester/helpers/error/koala.unhautorized.error.d.ts +2 -2
  104. package/core/lib/services/api-requester/helpers/service/koala.request-header.helper.d.ts +4 -4
  105. package/core/lib/services/api-requester/koala.api-requester.base.d.ts +19 -19
  106. package/core/lib/services/api-requester/koala.api-requester.cache.d.ts +13 -13
  107. package/core/lib/services/api-requester/koala.api-requester.service.d.ts +24 -24
  108. package/core/lib/services/loader/koala.loader.service.d.ts +14 -14
  109. package/core/lib/services/openid/koala-oauth2-config.interface.d.ts +11 -11
  110. package/core/lib/services/openid/koala.oauth.config.d.ts +9 -9
  111. package/core/lib/services/openid/koala.oauth2.service.d.ts +82 -82
  112. package/core/lib/services/request/koala.request.service.d.ts +11 -11
  113. package/core/lib/services/token/koala.token.service.d.ts +26 -26
  114. package/core/lib/services/token/token.factory.d.ts +9 -9
  115. package/dialog/esm2020/index.mjs +3 -3
  116. package/dialog/esm2020/koalarx-ui-dialog.mjs +4 -4
  117. package/dialog/esm2020/lib/dialog.component.mjs +25 -25
  118. package/dialog/esm2020/lib/koala.dialog-template.interface.mjs +1 -1
  119. package/dialog/esm2020/lib/koala.dialog.module.mjs +36 -36
  120. package/dialog/esm2020/lib/koala.dialog.service.mjs +57 -57
  121. package/dialog/fesm2015/koalarx-ui-dialog.mjs +96 -96
  122. package/dialog/fesm2015/koalarx-ui-dialog.mjs.map +1 -1
  123. package/dialog/fesm2020/koalarx-ui-dialog.mjs +96 -96
  124. package/dialog/fesm2020/koalarx-ui-dialog.mjs.map +1 -1
  125. package/dialog/index.d.ts +3 -3
  126. package/dialog/lib/dialog.component.d.ts +11 -11
  127. package/dialog/lib/koala.dialog-template.interface.d.ts +9 -9
  128. package/dialog/lib/koala.dialog.module.d.ts +11 -11
  129. package/dialog/lib/koala.dialog.service.d.ts +14 -14
  130. package/dynamic-component/esm2020/index.mjs +5 -5
  131. package/dynamic-component/esm2020/koalarx-ui-dynamic-component.mjs +4 -4
  132. package/dynamic-component/esm2020/lib/koala-dynamic-component.component.mjs +1 -1
  133. package/dynamic-component/esm2020/lib/koala-dynamic-component.directive.mjs +16 -16
  134. package/dynamic-component/esm2020/lib/koala-dynamic-component.factory.mjs +40 -40
  135. package/dynamic-component/esm2020/lib/koala-dynamic-component.mjs +6 -6
  136. package/dynamic-component/esm2020/lib/koala-dynamic-component.module.mjs +23 -23
  137. package/dynamic-component/fesm2015/koalarx-ui-dynamic-component.mjs +71 -71
  138. package/dynamic-component/fesm2015/koalarx-ui-dynamic-component.mjs.map +1 -1
  139. package/dynamic-component/fesm2020/koalarx-ui-dynamic-component.mjs +70 -70
  140. package/dynamic-component/fesm2020/koalarx-ui-dynamic-component.mjs.map +1 -1
  141. package/dynamic-component/index.d.ts +5 -5
  142. package/dynamic-component/lib/koala-dynamic-component.component.d.ts +3 -3
  143. package/dynamic-component/lib/koala-dynamic-component.d.ts +6 -6
  144. package/dynamic-component/lib/koala-dynamic-component.directive.d.ts +8 -8
  145. package/dynamic-component/lib/koala-dynamic-component.factory.d.ts +14 -14
  146. package/dynamic-component/lib/koala-dynamic-component.module.d.ts +8 -8
  147. package/file-button/esm2020/index.mjs +4 -4
  148. package/file-button/esm2020/koalarx-ui-file-button.mjs +4 -4
  149. package/file-button/esm2020/lib/file-button.component.mjs +125 -125
  150. package/file-button/esm2020/lib/koala.btn-file.service.mjs +25 -25
  151. package/file-button/esm2020/lib/koala.file-button.module.mjs +36 -36
  152. package/file-button/esm2020/lib/koala.file.interface.mjs +1 -1
  153. package/file-button/fesm2015/koalarx-ui-file-button.mjs +174 -174
  154. package/file-button/fesm2015/koalarx-ui-file-button.mjs.map +1 -1
  155. package/file-button/fesm2020/koalarx-ui-file-button.mjs +165 -165
  156. package/file-button/fesm2020/koalarx-ui-file-button.mjs.map +1 -1
  157. package/file-button/index.d.ts +4 -4
  158. package/file-button/lib/file-button.component.d.ts +29 -29
  159. package/file-button/lib/koala.btn-file.service.d.ts +11 -11
  160. package/file-button/lib/koala.file-button.module.d.ts +11 -11
  161. package/file-button/lib/koala.file.interface.d.ts +5 -5
  162. package/folder-page/esm2020/index.mjs +3 -3
  163. package/folder-page/esm2020/koalarx-ui-folder-page.mjs +4 -4
  164. package/folder-page/esm2020/lib/folder.component.mjs +70 -70
  165. package/folder-page/esm2020/lib/koala-navigate-history.interface.mjs +1 -1
  166. package/folder-page/esm2020/lib/koala.folder-page.module.mjs +40 -40
  167. package/folder-page/fesm2015/koalarx-ui-folder-page.mjs +95 -95
  168. package/folder-page/fesm2015/koalarx-ui-folder-page.mjs.map +1 -1
  169. package/folder-page/fesm2020/koalarx-ui-folder-page.mjs +94 -94
  170. package/folder-page/fesm2020/koalarx-ui-folder-page.mjs.map +1 -1
  171. package/folder-page/index.d.ts +3 -3
  172. package/folder-page/lib/folder.component.d.ts +21 -21
  173. package/folder-page/lib/koala-navigate-history.interface.d.ts +4 -4
  174. package/folder-page/lib/koala.folder-page.module.d.ts +12 -12
  175. package/form/esm2020/index.mjs +19 -19
  176. package/form/esm2020/koalarx-ui-form.mjs +4 -4
  177. package/form/esm2020/lib/btn-submit/btn-submit.component.mjs +49 -49
  178. package/form/esm2020/lib/directives/koala-autofocus.directive.mjs +25 -25
  179. package/form/esm2020/lib/dynamic-form/builder/dynamic-form.builder.mjs +139 -138
  180. package/form/esm2020/lib/dynamic-form/builder/fields/autocomplete.builder.mjs +37 -37
  181. package/form/esm2020/lib/dynamic-form/builder/fields/field.base.mjs +147 -147
  182. package/form/esm2020/lib/dynamic-form/builder/fields/field.builder.mjs +6 -6
  183. package/form/esm2020/lib/dynamic-form/builder/fields/more-items.builder.mjs +56 -56
  184. package/form/esm2020/lib/dynamic-form/dynamic-form.component.mjs +598 -598
  185. package/form/esm2020/lib/dynamic-form/enums/dynamic-form-type-field.enum.mjs +34 -34
  186. package/form/esm2020/lib/dynamic-form/interfaces/koala-custom-validator-fn.interface.mjs +1 -1
  187. package/form/esm2020/lib/dynamic-form/interfaces/koala.dynamic-autocomplete-options.interface.mjs +1 -1
  188. package/form/esm2020/lib/dynamic-form/interfaces/koala.dynamic-form-autocomplete-multiple-config.interface.mjs +1 -1
  189. package/form/esm2020/lib/dynamic-form/interfaces/koala.dynamic-form-config.interface.mjs +2 -2
  190. package/form/esm2020/lib/dynamic-form/interfaces/koala.dynamic-form-field.interface.mjs +1 -1
  191. package/form/esm2020/lib/dynamic-form/interfaces/koala.dynamic-form-more-itens-show-field-config.interface.mjs +1 -1
  192. package/form/esm2020/lib/dynamic-form/interfaces/koala.dynamic-form-show-field.interface.mjs +1 -1
  193. package/form/esm2020/lib/dynamic-form/interfaces/koala.dynamic-set-value.interface.mjs +1 -1
  194. package/form/esm2020/lib/dynamic-form/koala.dynamic-form.service.mjs +212 -212
  195. package/form/esm2020/lib/dynamic-form/validators/autocomplete-selected.validator.mjs +9 -9
  196. package/form/esm2020/lib/dynamic-form/validators/cnpj.validator.mjs +9 -9
  197. package/form/esm2020/lib/dynamic-form/validators/cpf.validator.mjs +9 -9
  198. package/form/esm2020/lib/dynamic-form/validators/date-max.validator.mjs +10 -10
  199. package/form/esm2020/lib/dynamic-form/validators/date-min.validator.mjs +10 -10
  200. package/form/esm2020/lib/dynamic-form/validators/koala-dynamic-form-validator-result.helper.mjs +9 -9
  201. package/form/esm2020/lib/dynamic-form/validators/validation.helper.mjs +85 -85
  202. package/form/esm2020/lib/form.abstract.mjs +41 -41
  203. package/form/esm2020/lib/koala.form.module.mjs +132 -132
  204. package/form/esm2020/lib/show-invalid-fields/show-invalid-fields.mjs +8 -8
  205. package/form/fesm2015/koalarx-ui-form.mjs +1517 -1516
  206. package/form/fesm2015/koalarx-ui-form.mjs.map +1 -1
  207. package/form/fesm2020/koalarx-ui-form.mjs +1499 -1498
  208. package/form/fesm2020/koalarx-ui-form.mjs.map +1 -1
  209. package/form/index.d.ts +19 -19
  210. package/form/lib/btn-submit/btn-submit.component.d.ts +20 -20
  211. package/form/lib/directives/koala-autofocus.directive.d.ts +10 -10
  212. package/form/lib/dynamic-form/builder/dynamic-form.builder.d.ts +21 -21
  213. package/form/lib/dynamic-form/builder/fields/autocomplete.builder.d.ts +16 -16
  214. package/form/lib/dynamic-form/builder/fields/field.base.d.ts +42 -42
  215. package/form/lib/dynamic-form/builder/fields/field.builder.d.ts +8 -8
  216. package/form/lib/dynamic-form/builder/fields/more-items.builder.d.ts +17 -17
  217. package/form/lib/dynamic-form/dynamic-form.component.d.ts +54 -54
  218. package/form/lib/dynamic-form/enums/dynamic-form-type-field.enum.d.ts +33 -33
  219. package/form/lib/dynamic-form/interfaces/koala-custom-validator-fn.interface.d.ts +4 -4
  220. package/form/lib/dynamic-form/interfaces/koala.dynamic-autocomplete-options.interface.d.ts +4 -4
  221. package/form/lib/dynamic-form/interfaces/koala.dynamic-form-autocomplete-multiple-config.interface.d.ts +4 -4
  222. package/form/lib/dynamic-form/interfaces/koala.dynamic-form-config.interface.d.ts +12 -11
  223. package/form/lib/dynamic-form/interfaces/koala.dynamic-form-field.interface.d.ts +69 -69
  224. package/form/lib/dynamic-form/interfaces/koala.dynamic-form-more-itens-show-field-config.interface.d.ts +8 -8
  225. package/form/lib/dynamic-form/interfaces/koala.dynamic-form-show-field.interface.d.ts +5 -5
  226. package/form/lib/dynamic-form/interfaces/koala.dynamic-set-value.interface.d.ts +4 -4
  227. package/form/lib/dynamic-form/koala.dynamic-form.service.d.ts +28 -28
  228. package/form/lib/dynamic-form/validators/autocomplete-selected.validator.d.ts +4 -4
  229. package/form/lib/dynamic-form/validators/cnpj.validator.d.ts +4 -4
  230. package/form/lib/dynamic-form/validators/cpf.validator.d.ts +4 -4
  231. package/form/lib/dynamic-form/validators/date-max.validator.d.ts +2 -2
  232. package/form/lib/dynamic-form/validators/date-min.validator.d.ts +2 -2
  233. package/form/lib/dynamic-form/validators/koala-dynamic-form-validator-result.helper.d.ts +7 -7
  234. package/form/lib/dynamic-form/validators/validation.helper.d.ts +4 -4
  235. package/form/lib/form.abstract.d.ts +16 -16
  236. package/form/lib/koala.form.module.d.ts +25 -25
  237. package/form/lib/show-invalid-fields/show-invalid-fields.d.ts +6 -6
  238. package/icon/esm2020/index.mjs +3 -3
  239. package/icon/esm2020/koalarx-ui-icon.mjs +4 -4
  240. package/icon/esm2020/lib/icon.component.mjs +41 -41
  241. package/icon/esm2020/lib/koala.icon.module.mjs +24 -24
  242. package/icon/esm2020/lib/koala.icon.type.mjs +1 -1
  243. package/icon/fesm2015/koalarx-ui-icon.mjs +56 -56
  244. package/icon/fesm2015/koalarx-ui-icon.mjs.map +1 -1
  245. package/icon/fesm2020/koalarx-ui-icon.mjs +55 -55
  246. package/icon/fesm2020/koalarx-ui-icon.mjs.map +1 -1
  247. package/icon/index.d.ts +3 -3
  248. package/icon/lib/icon.component.d.ts +14 -14
  249. package/icon/lib/koala.icon.module.d.ts +8 -8
  250. package/icon/lib/koala.icon.type.d.ts +1 -1
  251. package/icons-animated/esm2020/index.mjs +4 -4
  252. package/icons-animated/esm2020/koalarx-ui-icons-animated.mjs +4 -4
  253. package/icons-animated/esm2020/lib/icons/downloading/downloading-icon-animated.component.mjs +23 -23
  254. package/icons-animated/esm2020/lib/icons/loading/loading-icon-animated.component.mjs +23 -23
  255. package/icons-animated/esm2020/lib/icons-animated.component.mjs +20 -20
  256. package/icons-animated/esm2020/lib/icons-animated.service.mjs +27 -27
  257. package/icons-animated/esm2020/lib/koala-icons-animated.module.mjs +30 -30
  258. package/icons-animated/fesm2015/koalarx-ui-icons-animated.mjs +95 -95
  259. package/icons-animated/fesm2015/koalarx-ui-icons-animated.mjs.map +1 -1
  260. package/icons-animated/fesm2020/koalarx-ui-icons-animated.mjs +93 -93
  261. package/icons-animated/fesm2020/koalarx-ui-icons-animated.mjs.map +1 -1
  262. package/icons-animated/index.d.ts +4 -4
  263. package/icons-animated/lib/icons/downloading/downloading-icon-animated.component.d.ts +12 -12
  264. package/icons-animated/lib/icons/loading/loading-icon-animated.component.d.ts +12 -12
  265. package/icons-animated/lib/icons-animated.component.d.ts +8 -8
  266. package/icons-animated/lib/icons-animated.service.d.ts +9 -9
  267. package/icons-animated/lib/koala-icons-animated.module.d.ts +10 -10
  268. package/list/esm2020/index.mjs +11 -11
  269. package/list/esm2020/koalarx-ui-list.mjs +4 -4
  270. package/list/esm2020/lib/koala-list-btn-collapse-sub-list-config.interface.mjs +1 -1
  271. package/list/esm2020/lib/koala-list-filter.interface.mjs +1 -1
  272. package/list/esm2020/lib/koala-list-form-filter.interface.mjs +1 -1
  273. package/list/esm2020/lib/koala-list-item-menu-option.interface.mjs +1 -1
  274. package/list/esm2020/lib/koala-list-item.interface.mjs +1 -1
  275. package/list/esm2020/lib/koala.list-config.interface.mjs +1 -1
  276. package/list/esm2020/lib/koala.list.module.mjs +68 -68
  277. package/list/esm2020/lib/koala.list.service.mjs +15 -15
  278. package/list/esm2020/lib/list-builder/list.builder.mjs +104 -104
  279. package/list/esm2020/lib/list.abstract.mjs +163 -163
  280. package/list/esm2020/lib/list.component.mjs +172 -172
  281. package/list/esm2020/lib/providers/pagination/pagination.provider.mjs +32 -32
  282. package/list/fesm2015/koalarx-ui-list.mjs +521 -521
  283. package/list/fesm2015/koalarx-ui-list.mjs.map +1 -1
  284. package/list/fesm2020/koalarx-ui-list.mjs +491 -491
  285. package/list/fesm2020/koalarx-ui-list.mjs.map +1 -1
  286. package/list/index.d.ts +11 -11
  287. package/list/lib/koala-list-btn-collapse-sub-list-config.interface.d.ts +8 -8
  288. package/list/lib/koala-list-filter.interface.d.ts +10 -10
  289. package/list/lib/koala-list-form-filter.interface.d.ts +8 -8
  290. package/list/lib/koala-list-item-menu-option.interface.d.ts +7 -7
  291. package/list/lib/koala-list-item.interface.d.ts +13 -13
  292. package/list/lib/koala.list-config.interface.d.ts +37 -37
  293. package/list/lib/koala.list.module.d.ts +17 -17
  294. package/list/lib/koala.list.service.d.ts +7 -7
  295. package/list/lib/list-builder/list.builder.d.ts +32 -32
  296. package/list/lib/list.abstract.d.ts +44 -44
  297. package/list/lib/list.component.d.ts +54 -54
  298. package/list/lib/providers/pagination/pagination.provider.d.ts +9 -9
  299. package/menu/esm2020/index.mjs +5 -5
  300. package/menu/esm2020/koalarx-ui-menu.mjs +4 -4
  301. package/menu/esm2020/lib/koala.menu-module.interface.mjs +1 -1
  302. package/menu/esm2020/lib/koala.menu-tool.interface.mjs +1 -1
  303. package/menu/esm2020/lib/koala.menu.module.mjs +36 -36
  304. package/menu/esm2020/lib/koala.menu.service.mjs +24 -24
  305. package/menu/esm2020/lib/menu.component.mjs +100 -100
  306. package/menu/fesm2015/koalarx-ui-menu.mjs +139 -139
  307. package/menu/fesm2015/koalarx-ui-menu.mjs.map +1 -1
  308. package/menu/fesm2020/koalarx-ui-menu.mjs +135 -135
  309. package/menu/fesm2020/koalarx-ui-menu.mjs.map +1 -1
  310. package/menu/index.d.ts +5 -5
  311. package/menu/lib/koala.menu-module.interface.d.ts +12 -12
  312. package/menu/lib/koala.menu-tool.interface.d.ts +6 -6
  313. package/menu/lib/koala.menu.module.d.ts +11 -11
  314. package/menu/lib/koala.menu.service.d.ts +10 -10
  315. package/menu/lib/menu.component.d.ts +22 -22
  316. package/package.json +2 -2
  317. package/question/esm2020/index.mjs +4 -4
  318. package/question/esm2020/koalarx-ui-question.mjs +4 -4
  319. package/question/esm2020/lib/dialog-question.component.mjs +25 -25
  320. package/question/esm2020/lib/koala-question-config.interface.mjs +1 -1
  321. package/question/esm2020/lib/koala.question.module.mjs +40 -40
  322. package/question/esm2020/lib/koala.question.service.mjs +26 -26
  323. package/question/fesm2015/koalarx-ui-question.mjs +68 -68
  324. package/question/fesm2015/koalarx-ui-question.mjs.map +1 -1
  325. package/question/fesm2020/koalarx-ui-question.mjs +66 -66
  326. package/question/fesm2020/koalarx-ui-question.mjs.map +1 -1
  327. package/question/index.d.ts +4 -4
  328. package/question/lib/dialog-question.component.d.ts +10 -10
  329. package/question/lib/koala-question-config.interface.d.ts +5 -5
  330. package/question/lib/koala.question.module.d.ts +12 -12
  331. package/question/lib/koala.question.service.d.ts +10 -10
  332. package/snackbar/esm2020/index.mjs +4 -4
  333. package/snackbar/esm2020/koalarx-ui-snackbar.mjs +4 -4
  334. package/snackbar/esm2020/lib/koala.snackbar.component.mjs +22 -22
  335. package/snackbar/esm2020/lib/koala.snackbar.interface.mjs +1 -1
  336. package/snackbar/esm2020/lib/koala.snackbar.module.mjs +36 -36
  337. package/snackbar/esm2020/lib/koala.snackbar.service.mjs +35 -35
  338. package/snackbar/fesm2015/koalarx-ui-snackbar.mjs +74 -74
  339. package/snackbar/fesm2015/koalarx-ui-snackbar.mjs.map +1 -1
  340. package/snackbar/fesm2020/koalarx-ui-snackbar.mjs +72 -72
  341. package/snackbar/fesm2020/koalarx-ui-snackbar.mjs.map +1 -1
  342. package/snackbar/index.d.ts +4 -4
  343. package/snackbar/lib/koala.snackbar.component.d.ts +10 -10
  344. package/snackbar/lib/koala.snackbar.interface.d.ts +4 -4
  345. package/snackbar/lib/koala.snackbar.module.d.ts +10 -10
  346. package/snackbar/lib/koala.snackbar.service.d.ts +12 -12
@@ -1,127 +1,127 @@
1
- import * as Excel from "exceljs/dist/exceljs.min.js";
2
- import * as fs from 'file-saver';
3
- import { Injectable } from "@angular/core";
4
- import { koala } from "@koalarx/utils";
5
- import * as i0 from "@angular/core";
6
- export class KoalaXlsxService {
7
- async convertJsonToXlsx(json, config) {
8
- const title = config.title;
9
- const header = [];
10
- Object.keys(json[0]).forEach(name => {
11
- header.push((config.normalizeHeader === true || config.normalizeHeader === null || config.normalizeHeader === undefined ?
12
- koala(name).string().normalize().getValue().toUpperCase() :
13
- name));
14
- });
15
- const workbook = new Excel.Workbook();
16
- const worksheet = workbook.addWorksheet(config.sheetName);
17
- if (config.password) {
18
- await worksheet.protect(config.password, {
19
- selectLockedCells: false,
20
- selectUnlockedCells: false,
21
- scenarios: false
22
- });
23
- }
24
- if (config.title) {
25
- const titleRow = worksheet.addRow([title]);
26
- titleRow.alignment = { horizontal: 'center' };
27
- if (config.titleFontColor) {
28
- titleRow.font = { bold: true, color: { argb: config.titleFontColor.replace('#', '') } };
29
- }
30
- if (config.titleBackgroundColor) {
31
- titleRow.fill = {
32
- type: 'pattern',
33
- pattern: 'solid',
34
- fgColor: { argb: config.titleBackgroundColor.replace('#', '') },
35
- bgColor: { argb: config.titleBackgroundColor.replace('#', '') }
36
- };
37
- }
38
- worksheet.mergeCells(`A1:${worksheet.getCell(1, Object.keys(json[0]).length).address}`);
39
- }
40
- const headerRow = worksheet.addRow(header);
41
- headerRow.eachCell((cell, number) => {
42
- if (config.headerBackgroundColor) {
43
- cell.fill = {
44
- type: 'pattern',
45
- pattern: 'solid',
46
- fgColor: { argb: config.headerBackgroundColor.replace('#', '') },
47
- bgColor: { argb: config.headerBackgroundColor.replace('#', '') }
48
- };
49
- }
50
- if (config.headerFontColor) {
51
- cell.font = {
52
- color: { argb: config.headerFontColor.replace('#', '') }
53
- };
54
- }
55
- });
56
- json.forEach(item => {
57
- const data = [];
58
- Object.values(item).forEach(value => data.push(value));
59
- worksheet.addRow(data);
60
- });
61
- workbook.xlsx.writeBuffer().then((data) => {
62
- const blob = new Blob([data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });
63
- fs.saveAs(blob, config.filename + '.xlsx');
64
- });
65
- }
66
- async convertJsonToXlsxWithTabs(tabs, config) {
67
- const header = [];
68
- const workbook = new Excel.Workbook();
69
- tabs.forEach(tab => {
70
- const title = tab?.titleName ?? config.title;
71
- Object.keys(tab.json[0]).forEach(name => {
72
- header.push((config.normalizeHeader === true || config.normalizeHeader === null || config.normalizeHeader === undefined ?
73
- koala(name).string().normalize().getValue().toUpperCase() :
74
- name));
75
- });
76
- const worksheet = workbook.addWorksheet(tab?.sheetName ?? config.sheetName);
77
- if (config.title) {
78
- const titleRow = worksheet.addRow([title]);
79
- titleRow.alignment = { horizontal: 'center' };
80
- if (config.titleFontColor) {
81
- titleRow.font = { bold: true, color: { argb: config.titleFontColor.replace('#', '') } };
82
- }
83
- if (config.titleBackgroundColor) {
84
- titleRow.fill = {
85
- type: 'pattern',
86
- pattern: 'solid',
87
- fgColor: { argb: config.titleBackgroundColor.replace('#', '') },
88
- bgColor: { argb: config.titleBackgroundColor.replace('#', '') }
89
- };
90
- }
91
- worksheet.mergeCells(`A1:${worksheet.getCell(1, Object.keys(tab.json[0]).length).address}`);
92
- }
93
- const headerRow = worksheet.addRow(header);
94
- headerRow.eachCell((cell, number) => {
95
- if (config.headerBackgroundColor) {
96
- cell.fill = {
97
- type: 'pattern',
98
- pattern: 'solid',
99
- fgColor: { argb: config.headerBackgroundColor.replace('#', '') },
100
- bgColor: { argb: config.headerBackgroundColor.replace('#', '') }
101
- };
102
- }
103
- if (config.headerFontColor) {
104
- cell.font = {
105
- color: { argb: config.headerFontColor.replace('#', '') }
106
- };
107
- }
108
- });
109
- tab.json.forEach(item => {
110
- const data = [];
111
- Object.values(item).forEach(value => data.push(value));
112
- worksheet.addRow(data);
113
- });
114
- });
115
- workbook.xlsx.writeBuffer().then((data) => {
116
- const blob = new Blob([data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });
117
- fs.saveAs(blob, config.filename + '.xlsx');
118
- });
119
- }
120
- }
121
- KoalaXlsxService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: KoalaXlsxService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
122
- KoalaXlsxService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: KoalaXlsxService, providedIn: "any" });
123
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: KoalaXlsxService, decorators: [{
124
- type: Injectable,
125
- args: [{ providedIn: "any" }]
126
- }] });
127
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia29hbGEueGxzeC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tbW9uL3NyYy9saWIvc2VydmljZXMveGxzeC9rb2FsYS54bHN4LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEtBQUssTUFBTSw2QkFBNkIsQ0FBQztBQUVyRCxPQUFPLEtBQUssRUFBRSxNQUFNLFlBQVksQ0FBQztBQUVqQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFHdkMsTUFBTSxPQUFPLGdCQUFnQjtJQUVwQixLQUFLLENBQUMsaUJBQWlCLENBQUMsSUFBVyxFQUFFLE1BQWdDO1FBQzFFLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFDM0IsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBRWxCLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ2xDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FDVixNQUFNLENBQUMsZUFBZSxLQUFLLElBQUksSUFBSSxNQUFNLENBQUMsZUFBZSxLQUFLLElBQUksSUFBSSxNQUFNLENBQUMsZUFBZSxLQUFLLFNBQVMsQ0FBQyxDQUFDO2dCQUM1RyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztnQkFDM0QsSUFBSSxDQUNMLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxRQUFRLEdBQXlCLElBQUksS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzVELE1BQU0sU0FBUyxHQUFHLFFBQVEs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QUN4QyxNQUFNLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUMsSUFBSSxFQUFFLG1FQUFtRSxFQUFDLENBQUMsQ0FBQztZQUMzRyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxDQUFDO1FBQzdDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7OEdBdklVLGdCQUFnQjtrSEFBaEIsZ0JBQWdCLGNBREosS0FBSzs0RkFDakIsZ0JBQWdCO2tCQUQ1QixVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLEtBQUssRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIEV4Y2VsIGZyb20gXCJleGNlbGpzL2Rpc3QvZXhjZWxqcy5taW4uanNcIjtcbmltcG9ydCAqIGFzIEV4Y2VsUHJvcGVyIGZyb20gXCJleGNlbGpzXCI7XG5pbXBvcnQgKiBhcyBmcyBmcm9tICdmaWxlLXNhdmVyJztcblxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBLb2FsYVhsc3hDb25maWdJbnRlcmZhY2UgfSBmcm9tIFwiLi9rb2FsYS54bHN4LWNvbmZpZy5pbnRlcmZhY2VcIjtcbmltcG9ydCB7IGtvYWxhIH0gZnJvbSBcIkBrb2FsYXJ4L3V0aWxzXCI7XG5cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiBcImFueVwifSlcbmV4cG9ydCBjbGFzcyBLb2FsYVhsc3hTZXJ2aWNlIHtcblxuICBwdWJsaWMgYXN5bmMgY29udmVydEpzb25Ub1hsc3goanNvbjogYW55W10sIGNvbmZpZzogS29hbGFYbHN4Q29uZmlnSW50ZXJmYWNlKSB7XG4gICAgY29uc3QgdGl0bGUgPSBjb25maWcudGl0bGU7XG4gICAgY29uc3QgaGVhZGVyID0gW107XG5cbiAgICBPYmplY3Qua2V5cyhqc29uWzBdKS5mb3JFYWNoKG5hbWUgPT4ge1xuICAgICAgaGVhZGVyLnB1c2goKFxuICAgICAgICBjb25maWcubm9ybWFsaXplSGVhZGVyID09PSB0cnVlIHx8IGNvbmZpZy5ub3JtYWxpemVIZWFkZXIgPT09IG51bGwgfHwgY29uZmlnLm5vcm1hbGl6ZUhlYWRlciA9PT0gdW5kZWZpbmVkID9cbiAgICAgICAga29hbGEobmFtZSkuc3RyaW5nKCkubm9ybWFsaXplKCkuZ2V0VmFsdWUoKS50b1VwcGVyQ2FzZSgpIDpcbiAgICAgICAgbmFtZVxuICAgICAgKSk7XG4gICAgfSk7XG5cbiAgICBjb25zdCB3b3JrYm9vazogRXhjZWxQcm9wZXIuV29ya2Jvb2sgPSBuZXcgRXhjZWwuV29ya2Jvb2soKTtcbiAgICBjb25zdCB3b3Jrc2hlZXQgPSB3b3JrYm9vay5hZGRXb3Jrc2hlZXQoY29uZmlnLnNoZWV0TmFtZSk7XG4gICAgaWYgKGNvbmZpZy5wYXNzd29yZCkge1xuICAgICAgYXdhaXQgd29ya3NoZWV0LnByb3RlY3QoY29uZmlnLnBhc3N3b3JkLCB7XG4gICAgICAgIHNlbGVjdExvY2tlZENlbGxzOiBmYWxzZSxcbiAgICAgICAgc2VsZWN0VW5sb2NrZWRDZWxsczogZmFsc2UsXG4gICAgICAgIHNjZW5hcmlvczogZmFsc2VcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChjb25maWcudGl0bGUpIHtcbiAgICAgIGNvbnN0IHRpdGxlUm93ID0gd29ya3NoZWV0LmFkZFJvdyhbdGl0bGVdKTtcbiAgICAgIHRpdGxlUm93LmFsaWdubWVudCA9IHtob3Jpem9udGFsOiAnY2VudGVyJ307XG4gICAgICBpZiAoY29uZmlnLnRpdGxlRm9udENvbG9yKSB7XG4gICAgICAgIHRpdGxlUm93LmZvbnQgPSB7Ym9sZDogdHJ1ZSwgY29sb3I6IHthcmdiOiBjb25maWcudGl0bGVGb250Q29sb3IucmVwbGFjZSgnIycsICcnKX19O1xuICAgICAgfVxuICAgICAgaWYgKGNvbmZpZy50aXRsZUJhY2tncm91bmRDb2xvcikge1xuICAgICAgICB0aXRsZVJvdy5maWxsID0ge1xuICAgICAgICAgIHR5cGU6ICdwYXR0ZXJuJyxcbiAgICAgICAgICBwYXR0ZXJuOiAnc29saWQnLFxuICAgICAgICAgIGZnQ29sb3I6IHthcmdiOiBjb25maWcudGl0bGVCYWNrZ3JvdW5kQ29sb3IucmVwbGFjZSgnIycsICcnKX0sXG4gICAgICAgICAgYmdDb2xvcjoge2FyZ2I6IGNvbmZpZy50aXRsZUJhY2tncm91bmRDb2xvci5yZXBsYWNlKCcjJywgJycpfVxuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgd29ya3NoZWV0Lm1lcmdlQ2VsbHMoYEExOiR7d29ya3NoZWV0LmdldENlbGwoMSwgT2JqZWN0LmtleXMoanNvblswXSkubGVuZ3RoKS5hZGRyZXNzfWApO1xuICAgIH1cblxuICAgIGNvbnN0IGhlYWRlclJvdyA9IHdvcmtzaGVldC5hZGRSb3coaGVhZGVyKTtcbiAgICBoZWFkZXJSb3cuZWFjaENlbGwoKGNlbGwsIG51bWJlcikgPT4ge1xuICAgICAgaWYgKGNvbmZpZy5oZWFkZXJCYWNrZ3JvdW5kQ29sb3IpIHtcbiAgICAgICAgY2VsbC5maWxsID0ge1xuICAgICAgICAgIHR5cGU6ICdwYXR0ZXJuJyxcbiAgICAgICAgICBwYXR0ZXJuOiAnc29saWQnLFxuICAgICAgICAgIGZnQ29sb3I6IHthcmdiOiBjb25maWcuaGVhZGVyQmFja2dyb3VuZENvbG9yLnJlcGxhY2UoJyMnLCAnJyl9LFxuICAgICAgICAgIGJnQ29sb3I6IHthcmdiOiBjb25maWcuaGVhZGVyQmFja2dyb3VuZENvbG9yLnJlcGxhY2UoJyMnLCAnJyl9XG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICBpZiAoY29uZmlnLmhlYWRlckZvbnRDb2xvcikge1xuICAgICAgICBjZWxsLmZvbnQgPSB7XG4gICAgICAgICAgY29sb3I6IHthcmdiOiBjb25maWcuaGVhZGVyRm9udENvbG9yLnJlcGxhY2UoJyMnLCAnJyl9XG4gICAgICAgIH07XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBqc29uLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICBjb25zdCBkYXRhID0gW107XG4gICAgICBPYmplY3QudmFsdWVzKGl0ZW0pLmZvckVhY2godmFsdWUgPT4gZGF0YS5wdXNoKHZhbHVlKSk7XG4gICAgICB3b3Jrc2hlZXQuYWRkUm93KGRhdGEpO1xuICAgIH0pO1xuXG4gICAgd29ya2Jvb2sueGxzeC53cml0ZUJ1ZmZlcigpLnRoZW4oKGRhdGEpID0+IHtcbiAgICAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihbZGF0YV0sIHt0eXBlOiAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXQnfSk7XG4gICAgICBmcy5zYXZlQXMoYmxvYiwgY29uZmlnLmZpbGVuYW1lICsgJy54bHN4Jyk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgY29udmVydEpzb25Ub1hsc3hXaXRoVGFicyh0YWJzOiB7XG4gICAgdGl0bGVOYW1lPzogc3RyaW5nO1xuICAgIHNoZWV0TmFtZT86IHN0cmluZztcbiAgICBqc29uOiBhbnlbXVxuICB9W10sIGNvbmZpZzogS29hbGFYbHN4Q29uZmlnSW50ZXJmYWNlKSB7XG4gICAgY29uc3QgaGVhZGVyID0gW107XG4gICAgY29uc3Qgd29ya2Jvb2s6IEV4Y2VsUHJvcGVyLldvcmtib29rID0gbmV3IEV4Y2VsLldvcmtib29rKCk7XG5cbiAgICB0YWJzLmZvckVhY2godGFiID0+IHtcbiAgICAgIGNvbnN0IHRpdGxlID0gdGFiPy50aXRsZU5hbWUgPz8gY29uZmlnLnRpdGxlO1xuICAgICAgT2JqZWN0LmtleXModGFiLmpzb25bMF0pLmZvckVhY2gobmFtZSA9PiB7XG4gICAgICAgIGhlYWRlci5wdXNoKChcbiAgICAgICAgICBjb25maWcubm9ybWFsaXplSGVhZGVyID09PSB0cnVlIHx8IGNvbmZpZy5ub3JtYWxpemVIZWFkZXIgPT09IG51bGwgfHwgY29uZmlnLm5vcm1hbGl6ZUhlYWRlciA9PT0gdW5kZWZpbmVkID9cbiAgICAgICAgICAgIGtvYWxhKG5hbWUpLnN0cmluZygpLm5vcm1hbGl6ZSgpLmdldFZhbHVlKCkudG9VcHBlckNhc2UoKSA6XG4gICAgICAgICAgICBuYW1lXG4gICAgICAgICkpO1xuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IHdvcmtzaGVldCA9IHdvcmtib29rLmFkZFdvcmtzaGVldCh0YWI/LnNoZWV0TmFtZSA/PyBjb25maWcuc2hlZXROYW1lKTtcblxuICAgICAgaWYgKGNvbmZpZy50aXRsZSkge1xuICAgICAgICBjb25zdCB0aXRsZVJvdyA9IHdvcmtzaGVldC5hZGRSb3coW3RpdGxlXSk7XG4gICAgICAgIHRpdGxlUm93LmFsaWdubWVudCA9IHtob3Jpem9udGFsOiAnY2VudGVyJ307XG4gICAgICAgIGlmIChjb25maWcudGl0bGVGb250Q29sb3IpIHtcbiAgICAgICAgICB0aXRsZVJvdy5mb250ID0ge2JvbGQ6IHRydWUsIGNvbG9yOiB7YXJnYjogY29uZmlnLnRpdGxlRm9udENvbG9yLnJlcGxhY2UoJyMnLCAnJyl9fTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY29uZmlnLnRpdGxlQmFja2dyb3VuZENvbG9yKSB7XG4gICAgICAgICAgdGl0bGVSb3cuZmlsbCA9IHtcbiAgICAgICAgICAgIHR5cGU6ICdwYXR0ZXJuJyxcbiAgICAgICAgICAgIHBhdHRlcm46ICdzb2xpZCcsXG4gICAgICAgICAgICBmZ0NvbG9yOiB7YXJnYjogY29uZmlnLnRpdGxlQmFja2dyb3VuZENvbG9yLnJlcGxhY2UoJyMnLCAnJyl9LFxuICAgICAgICAgICAgYmdDb2xvcjoge2FyZ2I6IGNvbmZpZy50aXRsZUJhY2tncm91bmRDb2xvci5yZXBsYWNlKCcjJywgJycpfVxuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgd29ya3NoZWV0Lm1lcmdlQ2VsbHMoYEExOiR7d29ya3NoZWV0LmdldENlbGwoMSwgT2JqZWN0LmtleXModGFiLmpzb25bMF0pLmxlbmd0aCkuYWRkcmVzc31gKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgaGVhZGVyUm93ID0gd29ya3NoZWV0LmFkZFJvdyhoZWFkZXIpO1xuICAgICAgaGVhZGVyUm93LmVhY2hDZWxsKChjZWxsLCBudW1iZXIpID0+IHtcbiAgICAgICAgaWYgKGNvbmZpZy5oZWFkZXJCYWNrZ3JvdW5kQ29sb3IpIHtcbiAgICAgICAgICBjZWxsLmZpbGwgPSB7XG4gICAgICAgICAgICB0eXBlOiAncGF0dGVybicsXG4gICAgICAgICAgICBwYXR0ZXJuOiAnc29saWQnLFxuICAgICAgICAgICAgZmdDb2xvcjoge2FyZ2I6IGNvbmZpZy5oZWFkZXJCYWNrZ3JvdW5kQ29sb3IucmVwbGFjZSgnIycsICcnKX0sXG4gICAgICAgICAgICBiZ0NvbG9yOiB7YXJnYjogY29uZmlnLmhlYWRlckJhY2tncm91bmRDb2xvci5yZXBsYWNlKCcjJywgJycpfVxuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNvbmZpZy5oZWFkZXJGb250Q29sb3IpIHtcbiAgICAgICAgICBjZWxsLmZvbnQgPSB7XG4gICAgICAgICAgICBjb2xvcjoge2FyZ2I6IGNvbmZpZy5oZWFkZXJGb250Q29sb3IucmVwbGFjZSgnIycsICcnKX1cbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgdGFiLmpzb24uZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgY29uc3QgZGF0YSA9IFtdO1xuICAgICAgICBPYmplY3QudmFsdWVzKGl0ZW0pLmZvckVhY2godmFsdWUgPT4gZGF0YS5wdXNoKHZhbHVlKSk7XG4gICAgICAgIHdvcmtzaGVldC5hZGRSb3coZGF0YSk7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIHdvcmtib29rLnhsc3gud3JpdGVCdWZmZXIoKS50aGVuKChkYXRhKSA9PiB7XG4gICAgICBjb25zdCBibG9iID0gbmV3IEJsb2IoW2RhdGFdLCB7dHlwZTogJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0J30pO1xuICAgICAgZnMuc2F2ZUFzKGJsb2IsIGNvbmZpZy5maWxlbmFtZSArICcueGxzeCcpO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
1
+ import * as Excel from "exceljs/dist/exceljs.min.js";
2
+ import * as fs from 'file-saver';
3
+ import { Injectable } from "@angular/core";
4
+ import { koala } from "@koalarx/utils";
5
+ import * as i0 from "@angular/core";
6
+ export class KoalaXlsxService {
7
+ async convertJsonToXlsx(json, config) {
8
+ const title = config.title;
9
+ const header = [];
10
+ Object.keys(json[0]).forEach(name => {
11
+ header.push((config.normalizeHeader === true || config.normalizeHeader === null || config.normalizeHeader === undefined ?
12
+ koala(name).string().normalize().getValue().toUpperCase() :
13
+ name));
14
+ });
15
+ const workbook = new Excel.Workbook();
16
+ const worksheet = workbook.addWorksheet(config.sheetName);
17
+ if (config.password) {
18
+ await worksheet.protect(config.password, {
19
+ selectLockedCells: false,
20
+ selectUnlockedCells: false,
21
+ scenarios: false
22
+ });
23
+ }
24
+ if (config.title) {
25
+ const titleRow = worksheet.addRow([title]);
26
+ titleRow.alignment = { horizontal: 'center' };
27
+ if (config.titleFontColor) {
28
+ titleRow.font = { bold: true, color: { argb: config.titleFontColor.replace('#', '') } };
29
+ }
30
+ if (config.titleBackgroundColor) {
31
+ titleRow.fill = {
32
+ type: 'pattern',
33
+ pattern: 'solid',
34
+ fgColor: { argb: config.titleBackgroundColor.replace('#', '') },
35
+ bgColor: { argb: config.titleBackgroundColor.replace('#', '') }
36
+ };
37
+ }
38
+ worksheet.mergeCells(`A1:${worksheet.getCell(1, Object.keys(json[0]).length).address}`);
39
+ }
40
+ const headerRow = worksheet.addRow(header);
41
+ headerRow.eachCell((cell, number) => {
42
+ if (config.headerBackgroundColor) {
43
+ cell.fill = {
44
+ type: 'pattern',
45
+ pattern: 'solid',
46
+ fgColor: { argb: config.headerBackgroundColor.replace('#', '') },
47
+ bgColor: { argb: config.headerBackgroundColor.replace('#', '') }
48
+ };
49
+ }
50
+ if (config.headerFontColor) {
51
+ cell.font = {
52
+ color: { argb: config.headerFontColor.replace('#', '') }
53
+ };
54
+ }
55
+ });
56
+ json.forEach(item => {
57
+ const data = [];
58
+ Object.values(item).forEach(value => data.push(value));
59
+ worksheet.addRow(data);
60
+ });
61
+ workbook.xlsx.writeBuffer().then((data) => {
62
+ const blob = new Blob([data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });
63
+ fs.saveAs(blob, config.filename + '.xlsx');
64
+ });
65
+ }
66
+ async convertJsonToXlsxWithTabs(tabs, config) {
67
+ const header = [];
68
+ const workbook = new Excel.Workbook();
69
+ tabs.forEach(tab => {
70
+ const title = tab?.titleName ?? config.title;
71
+ Object.keys(tab.json[0]).forEach(name => {
72
+ header.push((config.normalizeHeader === true || config.normalizeHeader === null || config.normalizeHeader === undefined ?
73
+ koala(name).string().normalize().getValue().toUpperCase() :
74
+ name));
75
+ });
76
+ const worksheet = workbook.addWorksheet(tab?.sheetName ?? config.sheetName);
77
+ if (config.title) {
78
+ const titleRow = worksheet.addRow([title]);
79
+ titleRow.alignment = { horizontal: 'center' };
80
+ if (config.titleFontColor) {
81
+ titleRow.font = { bold: true, color: { argb: config.titleFontColor.replace('#', '') } };
82
+ }
83
+ if (config.titleBackgroundColor) {
84
+ titleRow.fill = {
85
+ type: 'pattern',
86
+ pattern: 'solid',
87
+ fgColor: { argb: config.titleBackgroundColor.replace('#', '') },
88
+ bgColor: { argb: config.titleBackgroundColor.replace('#', '') }
89
+ };
90
+ }
91
+ worksheet.mergeCells(`A1:${worksheet.getCell(1, Object.keys(tab.json[0]).length).address}`);
92
+ }
93
+ const headerRow = worksheet.addRow(header);
94
+ headerRow.eachCell((cell, number) => {
95
+ if (config.headerBackgroundColor) {
96
+ cell.fill = {
97
+ type: 'pattern',
98
+ pattern: 'solid',
99
+ fgColor: { argb: config.headerBackgroundColor.replace('#', '') },
100
+ bgColor: { argb: config.headerBackgroundColor.replace('#', '') }
101
+ };
102
+ }
103
+ if (config.headerFontColor) {
104
+ cell.font = {
105
+ color: { argb: config.headerFontColor.replace('#', '') }
106
+ };
107
+ }
108
+ });
109
+ tab.json.forEach(item => {
110
+ const data = [];
111
+ Object.values(item).forEach(value => data.push(value));
112
+ worksheet.addRow(data);
113
+ });
114
+ });
115
+ workbook.xlsx.writeBuffer().then((data) => {
116
+ const blob = new Blob([data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });
117
+ fs.saveAs(blob, config.filename + '.xlsx');
118
+ });
119
+ }
120
+ }
121
+ KoalaXlsxService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: KoalaXlsxService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
122
+ KoalaXlsxService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: KoalaXlsxService, providedIn: "any" });
123
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: KoalaXlsxService, decorators: [{
124
+ type: Injectable,
125
+ args: [{ providedIn: "any" }]
126
+ }] });
127
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia29hbGEueGxzeC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tbW9uL3NyYy9saWIvc2VydmljZXMveGxzeC9rb2FsYS54bHN4LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEtBQUssTUFBTSw2QkFBNkIsQ0FBQztBQUVyRCxPQUFPLEtBQUssRUFBRSxNQUFNLFlBQVksQ0FBQztBQUVqQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFHdkMsTUFBTSxPQUFPLGdCQUFnQjtJQUVwQixLQUFLLENBQUMsaUJBQWlCLENBQUMsSUFBVyxFQUFFLE1BQWdDO1FBQzFFLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFDM0IsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBRWxCLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ2xDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FDVixNQUFNLENBQUMsZUFBZSxLQUFLLElBQUksSUFBSSxNQUFNLENBQUMsZUFBZSxLQUFLLElBQUksSUFBSSxNQUFNLENBQUMsZUFBZSxLQUFLLFNBQVMsQ0FBQyxDQUFDO2dCQUM1RyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztnQkFDM0QsSUFBSSxDQUNMLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxRQUFRLEdBQXlCLElBQUksS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzVELE1BQU0sU0FBUyxHQUFHLFFBQVEs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QUN4QyxNQUFNLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUMsSUFBSSxFQUFFLG1FQUFtRSxFQUFDLENBQUMsQ0FBQztZQUMzRyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxDQUFDO1FBQzdDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7NkdBdklVLGdCQUFnQjtpSEFBaEIsZ0JBQWdCLGNBREosS0FBSzsyRkFDakIsZ0JBQWdCO2tCQUQ1QixVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLEtBQUssRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIEV4Y2VsIGZyb20gXCJleGNlbGpzL2Rpc3QvZXhjZWxqcy5taW4uanNcIjtcbmltcG9ydCAqIGFzIEV4Y2VsUHJvcGVyIGZyb20gXCJleGNlbGpzXCI7XG5pbXBvcnQgKiBhcyBmcyBmcm9tICdmaWxlLXNhdmVyJztcblxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBLb2FsYVhsc3hDb25maWdJbnRlcmZhY2UgfSBmcm9tIFwiLi9rb2FsYS54bHN4LWNvbmZpZy5pbnRlcmZhY2VcIjtcbmltcG9ydCB7IGtvYWxhIH0gZnJvbSBcIkBrb2FsYXJ4L3V0aWxzXCI7XG5cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiBcImFueVwifSlcbmV4cG9ydCBjbGFzcyBLb2FsYVhsc3hTZXJ2aWNlIHtcblxuICBwdWJsaWMgYXN5bmMgY29udmVydEpzb25Ub1hsc3goanNvbjogYW55W10sIGNvbmZpZzogS29hbGFYbHN4Q29uZmlnSW50ZXJmYWNlKSB7XG4gICAgY29uc3QgdGl0bGUgPSBjb25maWcudGl0bGU7XG4gICAgY29uc3QgaGVhZGVyID0gW107XG5cbiAgICBPYmplY3Qua2V5cyhqc29uWzBdKS5mb3JFYWNoKG5hbWUgPT4ge1xuICAgICAgaGVhZGVyLnB1c2goKFxuICAgICAgICBjb25maWcubm9ybWFsaXplSGVhZGVyID09PSB0cnVlIHx8IGNvbmZpZy5ub3JtYWxpemVIZWFkZXIgPT09IG51bGwgfHwgY29uZmlnLm5vcm1hbGl6ZUhlYWRlciA9PT0gdW5kZWZpbmVkID9cbiAgICAgICAga29hbGEobmFtZSkuc3RyaW5nKCkubm9ybWFsaXplKCkuZ2V0VmFsdWUoKS50b1VwcGVyQ2FzZSgpIDpcbiAgICAgICAgbmFtZVxuICAgICAgKSk7XG4gICAgfSk7XG5cbiAgICBjb25zdCB3b3JrYm9vazogRXhjZWxQcm9wZXIuV29ya2Jvb2sgPSBuZXcgRXhjZWwuV29ya2Jvb2soKTtcbiAgICBjb25zdCB3b3Jrc2hlZXQgPSB3b3JrYm9vay5hZGRXb3Jrc2hlZXQoY29uZmlnLnNoZWV0TmFtZSk7XG4gICAgaWYgKGNvbmZpZy5wYXNzd29yZCkge1xuICAgICAgYXdhaXQgd29ya3NoZWV0LnByb3RlY3QoY29uZmlnLnBhc3N3b3JkLCB7XG4gICAgICAgIHNlbGVjdExvY2tlZENlbGxzOiBmYWxzZSxcbiAgICAgICAgc2VsZWN0VW5sb2NrZWRDZWxsczogZmFsc2UsXG4gICAgICAgIHNjZW5hcmlvczogZmFsc2VcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChjb25maWcudGl0bGUpIHtcbiAgICAgIGNvbnN0IHRpdGxlUm93ID0gd29ya3NoZWV0LmFkZFJvdyhbdGl0bGVdKTtcbiAgICAgIHRpdGxlUm93LmFsaWdubWVudCA9IHtob3Jpem9udGFsOiAnY2VudGVyJ307XG4gICAgICBpZiAoY29uZmlnLnRpdGxlRm9udENvbG9yKSB7XG4gICAgICAgIHRpdGxlUm93LmZvbnQgPSB7Ym9sZDogdHJ1ZSwgY29sb3I6IHthcmdiOiBjb25maWcudGl0bGVGb250Q29sb3IucmVwbGFjZSgnIycsICcnKX19O1xuICAgICAgfVxuICAgICAgaWYgKGNvbmZpZy50aXRsZUJhY2tncm91bmRDb2xvcikge1xuICAgICAgICB0aXRsZVJvdy5maWxsID0ge1xuICAgICAgICAgIHR5cGU6ICdwYXR0ZXJuJyxcbiAgICAgICAgICBwYXR0ZXJuOiAnc29saWQnLFxuICAgICAgICAgIGZnQ29sb3I6IHthcmdiOiBjb25maWcudGl0bGVCYWNrZ3JvdW5kQ29sb3IucmVwbGFjZSgnIycsICcnKX0sXG4gICAgICAgICAgYmdDb2xvcjoge2FyZ2I6IGNvbmZpZy50aXRsZUJhY2tncm91bmRDb2xvci5yZXBsYWNlKCcjJywgJycpfVxuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgd29ya3NoZWV0Lm1lcmdlQ2VsbHMoYEExOiR7d29ya3NoZWV0LmdldENlbGwoMSwgT2JqZWN0LmtleXMoanNvblswXSkubGVuZ3RoKS5hZGRyZXNzfWApO1xuICAgIH1cblxuICAgIGNvbnN0IGhlYWRlclJvdyA9IHdvcmtzaGVldC5hZGRSb3coaGVhZGVyKTtcbiAgICBoZWFkZXJSb3cuZWFjaENlbGwoKGNlbGwsIG51bWJlcikgPT4ge1xuICAgICAgaWYgKGNvbmZpZy5oZWFkZXJCYWNrZ3JvdW5kQ29sb3IpIHtcbiAgICAgICAgY2VsbC5maWxsID0ge1xuICAgICAgICAgIHR5cGU6ICdwYXR0ZXJuJyxcbiAgICAgICAgICBwYXR0ZXJuOiAnc29saWQnLFxuICAgICAgICAgIGZnQ29sb3I6IHthcmdiOiBjb25maWcuaGVhZGVyQmFja2dyb3VuZENvbG9yLnJlcGxhY2UoJyMnLCAnJyl9LFxuICAgICAgICAgIGJnQ29sb3I6IHthcmdiOiBjb25maWcuaGVhZGVyQmFja2dyb3VuZENvbG9yLnJlcGxhY2UoJyMnLCAnJyl9XG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICBpZiAoY29uZmlnLmhlYWRlckZvbnRDb2xvcikge1xuICAgICAgICBjZWxsLmZvbnQgPSB7XG4gICAgICAgICAgY29sb3I6IHthcmdiOiBjb25maWcuaGVhZGVyRm9udENvbG9yLnJlcGxhY2UoJyMnLCAnJyl9XG4gICAgICAgIH07XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBqc29uLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICBjb25zdCBkYXRhID0gW107XG4gICAgICBPYmplY3QudmFsdWVzKGl0ZW0pLmZvckVhY2godmFsdWUgPT4gZGF0YS5wdXNoKHZhbHVlKSk7XG4gICAgICB3b3Jrc2hlZXQuYWRkUm93KGRhdGEpO1xuICAgIH0pO1xuXG4gICAgd29ya2Jvb2sueGxzeC53cml0ZUJ1ZmZlcigpLnRoZW4oKGRhdGEpID0+IHtcbiAgICAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihbZGF0YV0sIHt0eXBlOiAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXQnfSk7XG4gICAgICBmcy5zYXZlQXMoYmxvYiwgY29uZmlnLmZpbGVuYW1lICsgJy54bHN4Jyk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgY29udmVydEpzb25Ub1hsc3hXaXRoVGFicyh0YWJzOiB7XG4gICAgdGl0bGVOYW1lPzogc3RyaW5nO1xuICAgIHNoZWV0TmFtZT86IHN0cmluZztcbiAgICBqc29uOiBhbnlbXVxuICB9W10sIGNvbmZpZzogS29hbGFYbHN4Q29uZmlnSW50ZXJmYWNlKSB7XG4gICAgY29uc3QgaGVhZGVyID0gW107XG4gICAgY29uc3Qgd29ya2Jvb2s6IEV4Y2VsUHJvcGVyLldvcmtib29rID0gbmV3IEV4Y2VsLldvcmtib29rKCk7XG5cbiAgICB0YWJzLmZvckVhY2godGFiID0+IHtcbiAgICAgIGNvbnN0IHRpdGxlID0gdGFiPy50aXRsZU5hbWUgPz8gY29uZmlnLnRpdGxlO1xuICAgICAgT2JqZWN0LmtleXModGFiLmpzb25bMF0pLmZvckVhY2gobmFtZSA9PiB7XG4gICAgICAgIGhlYWRlci5wdXNoKChcbiAgICAgICAgICBjb25maWcubm9ybWFsaXplSGVhZGVyID09PSB0cnVlIHx8IGNvbmZpZy5ub3JtYWxpemVIZWFkZXIgPT09IG51bGwgfHwgY29uZmlnLm5vcm1hbGl6ZUhlYWRlciA9PT0gdW5kZWZpbmVkID9cbiAgICAgICAgICAgIGtvYWxhKG5hbWUpLnN0cmluZygpLm5vcm1hbGl6ZSgpLmdldFZhbHVlKCkudG9VcHBlckNhc2UoKSA6XG4gICAgICAgICAgICBuYW1lXG4gICAgICAgICkpO1xuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IHdvcmtzaGVldCA9IHdvcmtib29rLmFkZFdvcmtzaGVldCh0YWI/LnNoZWV0TmFtZSA/PyBjb25maWcuc2hlZXROYW1lKTtcblxuICAgICAgaWYgKGNvbmZpZy50aXRsZSkge1xuICAgICAgICBjb25zdCB0aXRsZVJvdyA9IHdvcmtzaGVldC5hZGRSb3coW3RpdGxlXSk7XG4gICAgICAgIHRpdGxlUm93LmFsaWdubWVudCA9IHtob3Jpem9udGFsOiAnY2VudGVyJ307XG4gICAgICAgIGlmIChjb25maWcudGl0bGVGb250Q29sb3IpIHtcbiAgICAgICAgICB0aXRsZVJvdy5mb250ID0ge2JvbGQ6IHRydWUsIGNvbG9yOiB7YXJnYjogY29uZmlnLnRpdGxlRm9udENvbG9yLnJlcGxhY2UoJyMnLCAnJyl9fTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY29uZmlnLnRpdGxlQmFja2dyb3VuZENvbG9yKSB7XG4gICAgICAgICAgdGl0bGVSb3cuZmlsbCA9IHtcbiAgICAgICAgICAgIHR5cGU6ICdwYXR0ZXJuJyxcbiAgICAgICAgICAgIHBhdHRlcm46ICdzb2xpZCcsXG4gICAgICAgICAgICBmZ0NvbG9yOiB7YXJnYjogY29uZmlnLnRpdGxlQmFja2dyb3VuZENvbG9yLnJlcGxhY2UoJyMnLCAnJyl9LFxuICAgICAgICAgICAgYmdDb2xvcjoge2FyZ2I6IGNvbmZpZy50aXRsZUJhY2tncm91bmRDb2xvci5yZXBsYWNlKCcjJywgJycpfVxuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgd29ya3NoZWV0Lm1lcmdlQ2VsbHMoYEExOiR7d29ya3NoZWV0LmdldENlbGwoMSwgT2JqZWN0LmtleXModGFiLmpzb25bMF0pLmxlbmd0aCkuYWRkcmVzc31gKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgaGVhZGVyUm93ID0gd29ya3NoZWV0LmFkZFJvdyhoZWFkZXIpO1xuICAgICAgaGVhZGVyUm93LmVhY2hDZWxsKChjZWxsLCBudW1iZXIpID0+IHtcbiAgICAgICAgaWYgKGNvbmZpZy5oZWFkZXJCYWNrZ3JvdW5kQ29sb3IpIHtcbiAgICAgICAgICBjZWxsLmZpbGwgPSB7XG4gICAgICAgICAgICB0eXBlOiAncGF0dGVybicsXG4gICAgICAgICAgICBwYXR0ZXJuOiAnc29saWQnLFxuICAgICAgICAgICAgZmdDb2xvcjoge2FyZ2I6IGNvbmZpZy5oZWFkZXJCYWNrZ3JvdW5kQ29sb3IucmVwbGFjZSgnIycsICcnKX0sXG4gICAgICAgICAgICBiZ0NvbG9yOiB7YXJnYjogY29uZmlnLmhlYWRlckJhY2tncm91bmRDb2xvci5yZXBsYWNlKCcjJywgJycpfVxuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNvbmZpZy5oZWFkZXJGb250Q29sb3IpIHtcbiAgICAgICAgICBjZWxsLmZvbnQgPSB7XG4gICAgICAgICAgICBjb2xvcjoge2FyZ2I6IGNvbmZpZy5oZWFkZXJGb250Q29sb3IucmVwbGFjZSgnIycsICcnKX1cbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgdGFiLmpzb24uZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgY29uc3QgZGF0YSA9IFtdO1xuICAgICAgICBPYmplY3QudmFsdWVzKGl0ZW0pLmZvckVhY2godmFsdWUgPT4gZGF0YS5wdXNoKHZhbHVlKSk7XG4gICAgICAgIHdvcmtzaGVldC5hZGRSb3coZGF0YSk7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIHdvcmtib29rLnhsc3gud3JpdGVCdWZmZXIoKS50aGVuKChkYXRhKSA9PiB7XG4gICAgICBjb25zdCBibG9iID0gbmV3IEJsb2IoW2RhdGFdLCB7dHlwZTogJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0J30pO1xuICAgICAgZnMuc2F2ZUFzKGJsb2IsIGNvbmZpZy5maWxlbmFtZSArICcueGxzeCcpO1xuICAgIH0pO1xuICB9XG59XG4iXX0=