@tilde-nlp/ngx-translate 1.0.0

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 (541) hide show
  1. package/README.md +2 -0
  2. package/esm2020/lib/components/shared/extension-dialog/components/index.mjs +2 -0
  3. package/esm2020/lib/components/shared/extension-dialog/components/open-extension-dialog/open-extension-dialog.component.mjs +24 -0
  4. package/esm2020/lib/components/shared/extension-dialog/extension-dialog.component.mjs +133 -0
  5. package/esm2020/lib/components/shared/extension-dialog/extension-dialog.module.mjs +51 -0
  6. package/esm2020/lib/components/shared/extension-dialog/index.mjs +6 -0
  7. package/esm2020/lib/components/shared/extension-dialog/models/enums/file-categories.enum.mjs +9 -0
  8. package/esm2020/lib/components/shared/extension-dialog/models/enums/file-extensions.enum.mjs +35 -0
  9. package/esm2020/lib/components/shared/extension-dialog/models/enums/file-type-icons.enum.mjs +13 -0
  10. package/esm2020/lib/components/shared/extension-dialog/models/enums/file-types.enum.mjs +13 -0
  11. package/esm2020/lib/components/shared/extension-dialog/models/enums/index.mjs +5 -0
  12. package/esm2020/lib/components/shared/extension-dialog/models/index.mjs +3 -0
  13. package/esm2020/lib/components/shared/extension-dialog/models/interfaces/config.mjs +2 -0
  14. package/esm2020/lib/components/shared/extension-dialog/models/interfaces/dialog-data.model.mjs +2 -0
  15. package/esm2020/lib/components/shared/extension-dialog/models/interfaces/index.mjs +3 -0
  16. package/esm2020/lib/components/shared/extension-dialog/services/extension-dialog.service.mjs +22 -0
  17. package/esm2020/lib/components/shared/extension-dialog/services/index.mjs +2 -0
  18. package/esm2020/lib/components/shared/text-to-speech/index.mjs +3 -0
  19. package/esm2020/lib/components/shared/text-to-speech/models/text-to-speech-settings.model.mjs +2 -0
  20. package/esm2020/lib/components/shared/text-to-speech/text-to-speech.component.mjs +62 -0
  21. package/esm2020/lib/components/shared/text-to-speech/text-to-speech.module.mjs +36 -0
  22. package/esm2020/lib/components/shared/vendor-disclaimer/vendor-disclaimer.component.mjs +39 -0
  23. package/esm2020/lib/components/shared/vendor-disclaimer/vendor-disclaimer.module.mjs +28 -0
  24. package/esm2020/lib/factories/file-api-service.factory.mjs +12 -0
  25. package/esm2020/lib/factories/system-service.factory.mjs +12 -0
  26. package/esm2020/lib/factories/text-api-service.factory.mjs +12 -0
  27. package/esm2020/lib/i18n/available-languages.mjs +19 -0
  28. package/esm2020/lib/i18n/de.mjs +378 -0
  29. package/esm2020/lib/i18n/en.mjs +426 -0
  30. package/esm2020/lib/i18n/et.mjs +378 -0
  31. package/esm2020/lib/i18n/fi.mjs +383 -0
  32. package/esm2020/lib/i18n/lt.mjs +378 -0
  33. package/esm2020/lib/i18n/lv.mjs +391 -0
  34. package/esm2020/lib/i18n/models/available-languages.model.mjs +2 -0
  35. package/esm2020/lib/i18n/pl.mjs +378 -0
  36. package/esm2020/lib/i18n/sv.mjs +242 -0
  37. package/esm2020/lib/injection-tokens/file-api-service.token.mjs +2 -0
  38. package/esm2020/lib/injection-tokens/index.mjs +6 -0
  39. package/esm2020/lib/injection-tokens/system-service.token.mjs +2 -0
  40. package/esm2020/lib/injection-tokens/text-api-service.token.mjs +2 -0
  41. package/esm2020/lib/injection-tokens/tld-translate-config.token.mjs +2 -0
  42. package/esm2020/lib/injection-tokens/translation-api-version.token.mjs +2 -0
  43. package/esm2020/lib/modules/material.module.mjs +97 -0
  44. package/esm2020/lib/modules/tld-audio/index.mjs +4 -0
  45. package/esm2020/lib/modules/tld-audio/models/audio-error-case.model.mjs +13 -0
  46. package/esm2020/lib/modules/tld-audio/models/dictate-configurationi.model.mjs +2 -0
  47. package/esm2020/lib/modules/tld-audio/models/index.mjs +3 -0
  48. package/esm2020/lib/modules/tld-audio/models/transcription-update.model.mjs +2 -0
  49. package/esm2020/lib/modules/tld-audio/services/audio-record.service.mjs +116 -0
  50. package/esm2020/lib/modules/tld-audio/services/index.mjs +4 -0
  51. package/esm2020/lib/modules/tld-audio/services/tld-voice-input-api.service.mjs +48 -0
  52. package/esm2020/lib/modules/tld-audio/services/tld-voice-input.service.mjs +60 -0
  53. package/esm2020/lib/modules/tld-audio/tld-audio.module.mjs +41 -0
  54. package/esm2020/lib/modules/tld-audio/tld-dictate/tld-dictate.component.mjs +151 -0
  55. package/esm2020/lib/modules/tld-audio/tld-record/tld-record.component.mjs +87 -0
  56. package/esm2020/lib/modules/tld-common/animations/pulse.animation.mjs +11 -0
  57. package/esm2020/lib/modules/tld-common/components/index.mjs +10 -0
  58. package/esm2020/lib/modules/tld-common/components/open-close-button/open-close-button.component.mjs +41 -0
  59. package/esm2020/lib/modules/tld-common/components/source-and-target-wrapper/source-and-target-wrapper.component.mjs +44 -0
  60. package/esm2020/lib/modules/tld-common/components/tld-file-upload/tld-file-upload.component.mjs +103 -0
  61. package/esm2020/lib/modules/tld-common/components/tld-lang-list/tld-lang-list.component.mjs +193 -0
  62. package/esm2020/lib/modules/tld-common/components/tld-list-menu/tld-list-menu.component.mjs +60 -0
  63. package/esm2020/lib/modules/tld-common/components/tld-loader/tld-loader.component.mjs +12 -0
  64. package/esm2020/lib/modules/tld-common/components/tld-message/tld-message.component.mjs +49 -0
  65. package/esm2020/lib/modules/tld-common/components/tld-translate-achievement/tld-translate-achievement.component.mjs +17 -0
  66. package/esm2020/lib/modules/tld-common/components/translate-button/tld-translate-button.service.mjs +30 -0
  67. package/esm2020/lib/modules/tld-common/components/translate-button/translate-button.component.mjs +59 -0
  68. package/esm2020/lib/modules/tld-common/directives/drag-and-drop.directive.mjs +57 -0
  69. package/esm2020/lib/modules/tld-common/directives/index.mjs +2 -0
  70. package/esm2020/lib/modules/tld-common/index.mjs +2 -0
  71. package/esm2020/lib/modules/tld-common/models/auth-options.model.mjs +2 -0
  72. package/esm2020/lib/modules/tld-common/models/common.mjs +107 -0
  73. package/esm2020/lib/modules/tld-common/models/configs/tld-audio-config.model.mjs +2 -0
  74. package/esm2020/lib/modules/tld-common/models/configs/tld-term-config.model.mjs +2 -0
  75. package/esm2020/lib/modules/tld-common/models/configs/tld-text-to-speech-config.model.mjs +2 -0
  76. package/esm2020/lib/modules/tld-common/models/configs/tld-translate-api-v2-config.model.mjs +2 -0
  77. package/esm2020/lib/modules/tld-common/models/configs/tld-translate-config.model.mjs +2 -0
  78. package/esm2020/lib/modules/tld-common/models/configs/tld-translate-core-config.model.mjs +2 -0
  79. package/esm2020/lib/modules/tld-common/models/configs/tld-translate-file-config.model.mjs +2 -0
  80. package/esm2020/lib/modules/tld-common/models/configs/tld-translate-text-config.model.mjs +2 -0
  81. package/esm2020/lib/modules/tld-common/models/configs/tld-translate-web-config.model.mjs +2 -0
  82. package/esm2020/lib/modules/tld-common/models/core/index.mjs +3 -0
  83. package/esm2020/lib/modules/tld-common/models/core/language-menu-version.enum.mjs +6 -0
  84. package/esm2020/lib/modules/tld-common/models/core/translation-api-version.model.mjs +6 -0
  85. package/esm2020/lib/modules/tld-common/models/errors/error-codes.enum.mjs +27 -0
  86. package/esm2020/lib/modules/tld-common/models/errors/error-codes.type.mjs +2 -0
  87. package/esm2020/lib/modules/tld-common/models/errors/error.model.mjs +2 -0
  88. package/esm2020/lib/modules/tld-common/models/file-upload.model.mjs +10 -0
  89. package/esm2020/lib/modules/tld-common/models/index.mjs +22 -0
  90. package/esm2020/lib/modules/tld-common/models/lang-list-item.model.mjs +2 -0
  91. package/esm2020/lib/modules/tld-common/models/language-with-translation.model.mjs +2 -0
  92. package/esm2020/lib/modules/tld-common/models/message.model.mjs +7 -0
  93. package/esm2020/lib/modules/tld-common/models/selected-language.model.mjs +2 -0
  94. package/esm2020/lib/modules/tld-common/models/services/file-api/download-file-params.model.mjs +2 -0
  95. package/esm2020/lib/modules/tld-common/models/services/file-api/file-api-service.model.mjs +2 -0
  96. package/esm2020/lib/modules/tld-common/models/services/file-api/file-meta.model.mjs +2 -0
  97. package/esm2020/lib/modules/tld-common/models/services/file-api/file-translation-substatus.model.mjs +9 -0
  98. package/esm2020/lib/modules/tld-common/models/services/file-api/get-file-status-params.model.mjs +2 -0
  99. package/esm2020/lib/modules/tld-common/models/services/file-api/get-file-translation-status-response.model.mjs +2 -0
  100. package/esm2020/lib/modules/tld-common/models/services/file-api/remove-file-params.model.mjs +2 -0
  101. package/esm2020/lib/modules/tld-common/models/services/file-api/source-file-preview-response.model.mjs +2 -0
  102. package/esm2020/lib/modules/tld-common/models/services/file-api/start-file-translation-params.model.mjs +2 -0
  103. package/esm2020/lib/modules/tld-common/models/services/file-api/translated-document-preview-params.model.mjs +2 -0
  104. package/esm2020/lib/modules/tld-common/models/services/index.mjs +19 -0
  105. package/esm2020/lib/modules/tld-common/models/services/system/system.model.mjs +2 -0
  106. package/esm2020/lib/modules/tld-common/models/services/system/tld-system-api-service.model.mjs +2 -0
  107. package/esm2020/lib/modules/tld-common/models/services/text-api/check-grammar-response.model.mjs +2 -0
  108. package/esm2020/lib/modules/tld-common/models/services/text-api/tld-translate-text-api-service.model.mjs +2 -0
  109. package/esm2020/lib/modules/tld-common/models/services/text-api/translate-paragraph-request-params.model.mjs +2 -0
  110. package/esm2020/lib/modules/tld-common/models/services/voice-to-text/voice-to-text-job-state.model.mjs +7 -0
  111. package/esm2020/lib/modules/tld-common/models/services/voice-to-text/voice-to-text-job.model.mjs +2 -0
  112. package/esm2020/lib/modules/tld-common/models/services/voice-to-text/voice-to-text-start-job-request-params.model.mjs +2 -0
  113. package/esm2020/lib/modules/tld-common/pipes/index.mjs +2 -0
  114. package/esm2020/lib/modules/tld-common/pipes/translate-domain.pipe.mjs +27 -0
  115. package/esm2020/lib/modules/tld-common/services/icon-service/icon.service.mjs +30 -0
  116. package/esm2020/lib/modules/tld-common/services/icon-service/icons/file-types/excel.icon.mjs +22 -0
  117. package/esm2020/lib/modules/tld-common/services/icon-service/icons/file-types/index.mjs +10 -0
  118. package/esm2020/lib/modules/tld-common/services/icon-service/icons/file-types/interchange.icon.mjs +6 -0
  119. package/esm2020/lib/modules/tld-common/services/icon-service/icons/file-types/office-other.icon.mjs +6 -0
  120. package/esm2020/lib/modules/tld-common/services/icon-service/icons/file-types/other.icon.mjs +6 -0
  121. package/esm2020/lib/modules/tld-common/services/icon-service/icons/file-types/pdf.icon.mjs +12 -0
  122. package/esm2020/lib/modules/tld-common/services/icon-service/icons/file-types/powerpoint.icon.mjs +10 -0
  123. package/esm2020/lib/modules/tld-common/services/icon-service/icons/file-types/scanned.icon.mjs +6 -0
  124. package/esm2020/lib/modules/tld-common/services/icon-service/icons/file-types/web.icon.mjs +6 -0
  125. package/esm2020/lib/modules/tld-common/services/icon-service/icons/file-types/word.icon.mjs +11 -0
  126. package/esm2020/lib/modules/tld-common/services/icon-service/icons.mjs +52 -0
  127. package/esm2020/lib/modules/tld-common/services/index.mjs +5 -0
  128. package/esm2020/lib/modules/tld-common/services/scroll/tld-scroll.service.mjs +43 -0
  129. package/esm2020/lib/modules/tld-common/services/tld-alert.service.mjs +139 -0
  130. package/esm2020/lib/modules/tld-common/services/tld-highlight.service.mjs +25 -0
  131. package/esm2020/lib/modules/tld-common/services/tld-translate-config.service.mjs +226 -0
  132. package/esm2020/lib/modules/tld-common/services/wtw-link-params.service.mjs +33 -0
  133. package/esm2020/lib/modules/tld-common/tld-common.module.mjs +97 -0
  134. package/esm2020/lib/modules/tld-document/download-button/download-button.component.mjs +78 -0
  135. package/esm2020/lib/modules/tld-document/image-conversion-help/image-conversion-help.component.mjs +32 -0
  136. package/esm2020/lib/modules/tld-document/index.mjs +8 -0
  137. package/esm2020/lib/modules/tld-document/models/file-conversion-types.model.mjs +6 -0
  138. package/esm2020/lib/modules/tld-document/models/index.mjs +6 -0
  139. package/esm2020/lib/modules/tld-document/models/start-translation.model.mjs +2 -0
  140. package/esm2020/lib/modules/tld-document/models/translate-file.model.mjs +2 -0
  141. package/esm2020/lib/modules/tld-document/models/translation-statuss.model.mjs +15 -0
  142. package/esm2020/lib/modules/tld-document/models/upload-response.model.mjs +2 -0
  143. package/esm2020/lib/modules/tld-document/pdf-conversion-help/pdf-conversion-help.component.mjs +32 -0
  144. package/esm2020/lib/modules/tld-document/services/api/file-api.service.mjs +166 -0
  145. package/esm2020/lib/modules/tld-document/services/api/models/file-preview-v1-progress-response.model.mjs +2 -0
  146. package/esm2020/lib/modules/tld-document/services/api/models/file-preview-v1-response-body.model.mjs +2 -0
  147. package/esm2020/lib/modules/tld-document/services/api/models/get-file-translation-status-v1-response.model.mjs +2 -0
  148. package/esm2020/lib/modules/tld-document/services/api-v2/file-api-v2.service.mjs +87 -0
  149. package/esm2020/lib/modules/tld-document/services/api-v2/models/file-category-v2.model.mjs +6 -0
  150. package/esm2020/lib/modules/tld-document/services/api-v2/models/file-translation-status-v2-response.model.mjs +2 -0
  151. package/esm2020/lib/modules/tld-document/services/index.mjs +3 -0
  152. package/esm2020/lib/modules/tld-document/services/tld-translate-file.service.mjs +398 -0
  153. package/esm2020/lib/modules/tld-document/tld-document.module.mjs +70 -0
  154. package/esm2020/lib/modules/tld-document/tld-file-translate-base.component.mjs +76 -0
  155. package/esm2020/lib/modules/tld-document/tld-translate-file-multiple/tld-translate-file-multiple.component.mjs +94 -0
  156. package/esm2020/lib/modules/tld-term/index.mjs +7 -0
  157. package/esm2020/lib/modules/tld-term/models/converted-collection-tooltip-key.model.mjs +7 -0
  158. package/esm2020/lib/modules/tld-term/models/converted-collection-type.model.mjs +9 -0
  159. package/esm2020/lib/modules/tld-term/models/index.mjs +7 -0
  160. package/esm2020/lib/modules/tld-term/models/mt-api/tld-mt-term-collection.model.mjs +2 -0
  161. package/esm2020/lib/modules/tld-term/models/mt-collection-status.model.mjs +7 -0
  162. package/esm2020/lib/modules/tld-term/models/term-api/tld-term-collection-languages.model.mjs +2 -0
  163. package/esm2020/lib/modules/tld-term/models/term-api/tld-term-collection.model.mjs +2 -0
  164. package/esm2020/lib/modules/tld-term/models/tld-converted-collection.model.mjs +114 -0
  165. package/esm2020/lib/modules/tld-term/services/index.mjs +4 -0
  166. package/esm2020/lib/modules/tld-term/services/mt-collections-api.service.mjs +33 -0
  167. package/esm2020/lib/modules/tld-term/services/term-api.service.mjs +34 -0
  168. package/esm2020/lib/modules/tld-term/services/tld-term-collections.service.mjs +253 -0
  169. package/esm2020/lib/modules/tld-term/tld-term-collection/tld-term-collection.component.mjs +19 -0
  170. package/esm2020/lib/modules/tld-term/tld-term-collection-list/tld-term-collection-list.component.mjs +99 -0
  171. package/esm2020/lib/modules/tld-term/tld-term-create-collection-dialog/tld-term-create-collection-dialog.component.mjs +47 -0
  172. package/esm2020/lib/modules/tld-term/tld-term-menu/tld-term-menu.component.mjs +36 -0
  173. package/esm2020/lib/modules/tld-term/tld-term-promotion/tld-term-promotion.component.mjs +35 -0
  174. package/esm2020/lib/modules/tld-term/tld-term.module.mjs +67 -0
  175. package/esm2020/lib/modules/tld-text/components/highlight-tree/highlight-tree.component.mjs +109 -0
  176. package/esm2020/lib/modules/tld-text/components/progress-indicator/progress-indicator.component.mjs +35 -0
  177. package/esm2020/lib/modules/tld-text/components/textarea-with-background/textarea-with-background.component.mjs +153 -0
  178. package/esm2020/lib/modules/tld-text/components/tld-dictionary/tld-dictionary.component.mjs +56 -0
  179. package/esm2020/lib/modules/tld-text/components/tld-translate-source/tld-translate-source.component.mjs +60 -0
  180. package/esm2020/lib/modules/tld-text/components/tld-translate-suggest/dialog/suggest-translation.model.mjs +2 -0
  181. package/esm2020/lib/modules/tld-text/components/tld-translate-suggest/dialog/tld-translate-suggest-dialog.component.mjs +92 -0
  182. package/esm2020/lib/modules/tld-text/components/tld-translate-suggest/tld-translate-suggest.component.mjs +60 -0
  183. package/esm2020/lib/modules/tld-text/components/tld-translate-text/tld-translate-text.component.mjs +272 -0
  184. package/esm2020/lib/modules/tld-text/index.mjs +9 -0
  185. package/esm2020/lib/modules/tld-text/models/check-grammar-response-v2.model.mjs +2 -0
  186. package/esm2020/lib/modules/tld-text/models/dictionary.model.mjs +2 -0
  187. package/esm2020/lib/modules/tld-text/models/get-sentence-v1-response.model.mjs +2 -0
  188. package/esm2020/lib/modules/tld-text/models/grammar-check-base.model.mjs +2 -0
  189. package/esm2020/lib/modules/tld-text/models/grammar-check-meta.model.mjs +2 -0
  190. package/esm2020/lib/modules/tld-text/models/grammar-check-replacement.model.mjs +2 -0
  191. package/esm2020/lib/modules/tld-text/models/grammar-correction-v2.model.mjs +2 -0
  192. package/esm2020/lib/modules/tld-text/models/highlight-params.model.mjs +11 -0
  193. package/esm2020/lib/modules/tld-text/models/highlight-tree-type.model.mjs +12 -0
  194. package/esm2020/lib/modules/tld-text/models/highlight-tree.model.mjs +2 -0
  195. package/esm2020/lib/modules/tld-text/models/highlight.model.mjs +2 -0
  196. package/esm2020/lib/modules/tld-text/models/index.mjs +11 -0
  197. package/esm2020/lib/modules/tld-text/models/retranslate-params.model.mjs +2 -0
  198. package/esm2020/lib/modules/tld-text/models/source-text-changed.model.mjs +2 -0
  199. package/esm2020/lib/modules/tld-text/models/translate-paragraph-params.model.mjs +2 -0
  200. package/esm2020/lib/modules/tld-text/models/translate-paragraph-response-v1.model.mjs +2 -0
  201. package/esm2020/lib/modules/tld-text/models/translate-paragraph-response-v2.model.mjs +2 -0
  202. package/esm2020/lib/modules/tld-text/models/translate-paragraph-response.model.mjs +2 -0
  203. package/esm2020/lib/modules/tld-text/models/untranslated-paragraph.model.mjs +2 -0
  204. package/esm2020/lib/modules/tld-text/services/api/tld-translate-text-api.service.mjs +187 -0
  205. package/esm2020/lib/modules/tld-text/services/api-v2/tld-translate-text-api-v2.service.mjs +110 -0
  206. package/esm2020/lib/modules/tld-text/services/index.mjs +2 -0
  207. package/esm2020/lib/modules/tld-text/services/tld-translate-text.service.mjs +380 -0
  208. package/esm2020/lib/modules/tld-text/tld-text.module.mjs +95 -0
  209. package/esm2020/lib/modules/tld-text/utils/index.mjs +2 -0
  210. package/esm2020/lib/modules/tld-text/utils/models/existing-paragraph-info.model.mjs +2 -0
  211. package/esm2020/lib/modules/tld-text/utils/models/index.mjs +2 -0
  212. package/esm2020/lib/modules/tld-text/utils/tld-translate-text.utils.mjs +56 -0
  213. package/esm2020/lib/modules/tld-tooltip/index.mjs +5 -0
  214. package/esm2020/lib/modules/tld-tooltip/models/active-data.model.mjs +2 -0
  215. package/esm2020/lib/modules/tld-tooltip/models/domain.model.mjs +2 -0
  216. package/esm2020/lib/modules/tld-tooltip/models/index.mjs +5 -0
  217. package/esm2020/lib/modules/tld-tooltip/models/switcher-options.model.mjs +2 -0
  218. package/esm2020/lib/modules/tld-tooltip/models/system-metadata-keys.model.mjs +7 -0
  219. package/esm2020/lib/modules/tld-tooltip/models/vendor.model.mjs +2 -0
  220. package/esm2020/lib/modules/tld-tooltip/services/api/models/description.model.mjs +2 -0
  221. package/esm2020/lib/modules/tld-tooltip/services/api/models/language.model.mjs +2 -0
  222. package/esm2020/lib/modules/tld-tooltip/services/api/models/metadata.model.mjs +2 -0
  223. package/esm2020/lib/modules/tld-tooltip/services/api/models/name.model.mjs +2 -0
  224. package/esm2020/lib/modules/tld-tooltip/services/api/models/system.model.mjs +2 -0
  225. package/esm2020/lib/modules/tld-tooltip/services/api/tld-system-api.service.mjs +57 -0
  226. package/esm2020/lib/modules/tld-tooltip/services/api-v2/models/error.model.mjs +2 -0
  227. package/esm2020/lib/modules/tld-tooltip/services/api-v2/models/get-langauge-direction.mjs +2 -0
  228. package/esm2020/lib/modules/tld-tooltip/services/api-v2/models/language-direction.model.mjs +2 -0
  229. package/esm2020/lib/modules/tld-tooltip/services/api-v2/tld-system-api-v2.service.mjs +60 -0
  230. package/esm2020/lib/modules/tld-tooltip/services/index.mjs +2 -0
  231. package/esm2020/lib/modules/tld-tooltip/services/tld-system.service.mjs +302 -0
  232. package/esm2020/lib/modules/tld-tooltip/tld-domain-list/tld-domain-list.component.mjs +69 -0
  233. package/esm2020/lib/modules/tld-tooltip/tld-tooltip.module.mjs +95 -0
  234. package/esm2020/lib/modules/tld-tooltip/tld-translate-switcher/tld-translate-switcher.component.mjs +188 -0
  235. package/esm2020/lib/modules/tld-tooltip/translation-system-picker/dropdown/translation-system-picker-dropdown.component.mjs +179 -0
  236. package/esm2020/lib/modules/tld-tooltip/translation-system-picker/dropdown-body/translation-system-picker-dropdown-body.component.mjs +209 -0
  237. package/esm2020/lib/modules/tld-tooltip/translation-system-picker/filter/translation-system-picker-filter.component.mjs +48 -0
  238. package/esm2020/lib/modules/tld-tooltip/translation-system-picker/index.mjs +8 -0
  239. package/esm2020/lib/modules/tld-tooltip/translation-system-picker/language-list/translation-system-picker-language-list.component.mjs +31 -0
  240. package/esm2020/lib/modules/tld-tooltip/translation-system-picker/models/dropdown-body-config.model.mjs +2 -0
  241. package/esm2020/lib/modules/tld-tooltip/translation-system-picker/models/grouped-language-item.mjs +3 -0
  242. package/esm2020/lib/modules/tld-tooltip/translation-system-picker/models/index.mjs +6 -0
  243. package/esm2020/lib/modules/tld-tooltip/translation-system-picker/models/opened-menu.mjs +7 -0
  244. package/esm2020/lib/modules/tld-tooltip/translation-system-picker/models/translated-language.model.mjs +2 -0
  245. package/esm2020/lib/modules/tld-tooltip/translation-system-picker/models/translated-system.model.mjs +2 -0
  246. package/esm2020/lib/modules/tld-tooltip/translation-system-picker/services/index.mjs +2 -0
  247. package/esm2020/lib/modules/tld-tooltip/translation-system-picker/services/translation-system-picker.service.mjs +58 -0
  248. package/esm2020/lib/modules/tld-tooltip/translation-system-picker/system-list/translation-system-picker-system-list.component.mjs +31 -0
  249. package/esm2020/lib/modules/tld-tooltip/translation-system-picker/system-picker-button/translation-system-picker-button.component.mjs +27 -0
  250. package/esm2020/lib/modules/tld-tooltip/translation-system-picker/translation-system-picker.component.mjs +79 -0
  251. package/esm2020/lib/modules/tld-translate-file/tld-translate-file.component.mjs +65 -0
  252. package/esm2020/lib/modules/tld-web/index.mjs +3 -0
  253. package/esm2020/lib/modules/tld-web/tld-translate-web/tld-translate-web.component.mjs +499 -0
  254. package/esm2020/lib/modules/tld-web/tld-translate-web.service.mjs +16 -0
  255. package/esm2020/lib/modules/tld-web/tld-web.module.mjs +52 -0
  256. package/esm2020/lib/tld-translate-body/tld-translate-body.component.mjs +60 -0
  257. package/esm2020/lib/tld-translate.component.mjs +229 -0
  258. package/esm2020/lib/tld-translate.module.mjs +118 -0
  259. package/esm2020/public-api.mjs +43 -0
  260. package/esm2020/tilde-nlp-ngx-translate.mjs +5 -0
  261. package/fesm2015/tilde-nlp-ngx-translate.mjs +11019 -0
  262. package/fesm2015/tilde-nlp-ngx-translate.mjs.map +1 -0
  263. package/fesm2020/tilde-nlp-ngx-translate.mjs +10912 -0
  264. package/fesm2020/tilde-nlp-ngx-translate.mjs.map +1 -0
  265. package/index.d.ts +5 -0
  266. package/lib/components/shared/extension-dialog/components/index.d.ts +1 -0
  267. package/lib/components/shared/extension-dialog/components/open-extension-dialog/open-extension-dialog.component.d.ts +12 -0
  268. package/lib/components/shared/extension-dialog/extension-dialog.component.d.ts +15 -0
  269. package/lib/components/shared/extension-dialog/extension-dialog.module.d.ts +15 -0
  270. package/lib/components/shared/extension-dialog/index.d.ts +5 -0
  271. package/lib/components/shared/extension-dialog/models/enums/file-categories.enum.d.ts +7 -0
  272. package/lib/components/shared/extension-dialog/models/enums/file-extensions.enum.d.ts +33 -0
  273. package/lib/components/shared/extension-dialog/models/enums/file-type-icons.enum.d.ts +11 -0
  274. package/lib/components/shared/extension-dialog/models/enums/file-types.enum.d.ts +11 -0
  275. package/lib/components/shared/extension-dialog/models/enums/index.d.ts +4 -0
  276. package/lib/components/shared/extension-dialog/models/index.d.ts +2 -0
  277. package/lib/components/shared/extension-dialog/models/interfaces/config.d.ts +18 -0
  278. package/lib/components/shared/extension-dialog/models/interfaces/dialog-data.model.d.ts +3 -0
  279. package/lib/components/shared/extension-dialog/models/interfaces/index.d.ts +2 -0
  280. package/lib/components/shared/extension-dialog/services/extension-dialog.service.d.ts +9 -0
  281. package/lib/components/shared/extension-dialog/services/index.d.ts +1 -0
  282. package/lib/components/shared/text-to-speech/index.d.ts +2 -0
  283. package/lib/components/shared/text-to-speech/models/text-to-speech-settings.model.d.ts +23 -0
  284. package/lib/components/shared/text-to-speech/text-to-speech.component.d.ts +18 -0
  285. package/lib/components/shared/text-to-speech/text-to-speech.module.d.ts +11 -0
  286. package/lib/components/shared/vendor-disclaimer/vendor-disclaimer.component.d.ts +17 -0
  287. package/lib/components/shared/vendor-disclaimer/vendor-disclaimer.module.d.ts +9 -0
  288. package/lib/factories/file-api-service.factory.d.ts +7 -0
  289. package/lib/factories/system-service.factory.d.ts +6 -0
  290. package/lib/factories/text-api-service.factory.d.ts +6 -0
  291. package/lib/i18n/available-languages.d.ts +2 -0
  292. package/lib/i18n/de.d.ts +377 -0
  293. package/lib/i18n/en.d.ts +425 -0
  294. package/lib/i18n/et.d.ts +377 -0
  295. package/lib/i18n/fi.d.ts +382 -0
  296. package/lib/i18n/lt.d.ts +377 -0
  297. package/lib/i18n/lv.d.ts +390 -0
  298. package/lib/i18n/models/available-languages.model.d.ts +10 -0
  299. package/lib/i18n/pl.d.ts +377 -0
  300. package/lib/i18n/sv.d.ts +241 -0
  301. package/lib/injection-tokens/file-api-service.token.d.ts +1 -0
  302. package/lib/injection-tokens/index.d.ts +5 -0
  303. package/lib/injection-tokens/system-service.token.d.ts +1 -0
  304. package/lib/injection-tokens/text-api-service.token.d.ts +1 -0
  305. package/lib/injection-tokens/tld-translate-config.token.d.ts +1 -0
  306. package/lib/injection-tokens/translation-api-version.token.d.ts +1 -0
  307. package/lib/modules/material.module.d.ts +27 -0
  308. package/lib/modules/tld-audio/index.d.ts +3 -0
  309. package/lib/modules/tld-audio/models/audio-error-case.model.d.ts +11 -0
  310. package/lib/modules/tld-audio/models/dictate-configurationi.model.d.ts +6 -0
  311. package/lib/modules/tld-audio/models/index.d.ts +2 -0
  312. package/lib/modules/tld-audio/models/transcription-update.model.d.ts +4 -0
  313. package/lib/modules/tld-audio/services/audio-record.service.d.ts +35 -0
  314. package/lib/modules/tld-audio/services/index.d.ts +3 -0
  315. package/lib/modules/tld-audio/services/tld-voice-input-api.service.d.ts +16 -0
  316. package/lib/modules/tld-audio/services/tld-voice-input.service.d.ts +20 -0
  317. package/lib/modules/tld-audio/tld-audio.module.d.ts +14 -0
  318. package/lib/modules/tld-audio/tld-dictate/tld-dictate.component.d.ts +43 -0
  319. package/lib/modules/tld-audio/tld-record/tld-record.component.d.ts +32 -0
  320. package/lib/modules/tld-common/animations/pulse.animation.d.ts +1 -0
  321. package/lib/modules/tld-common/components/index.d.ts +9 -0
  322. package/lib/modules/tld-common/components/open-close-button/open-close-button.component.d.ts +15 -0
  323. package/lib/modules/tld-common/components/source-and-target-wrapper/source-and-target-wrapper.component.d.ts +19 -0
  324. package/lib/modules/tld-common/components/tld-file-upload/tld-file-upload.component.d.ts +28 -0
  325. package/lib/modules/tld-common/components/tld-lang-list/tld-lang-list.component.d.ts +52 -0
  326. package/lib/modules/tld-common/components/tld-list-menu/tld-list-menu.component.d.ts +24 -0
  327. package/lib/modules/tld-common/components/tld-loader/tld-loader.component.d.ts +5 -0
  328. package/lib/modules/tld-common/components/tld-message/tld-message.component.d.ts +18 -0
  329. package/lib/modules/tld-common/components/tld-translate-achievement/tld-translate-achievement.component.d.ts +6 -0
  330. package/lib/modules/tld-common/components/translate-button/tld-translate-button.service.d.ts +12 -0
  331. package/lib/modules/tld-common/components/translate-button/translate-button.component.d.ts +22 -0
  332. package/lib/modules/tld-common/directives/drag-and-drop.directive.d.ts +14 -0
  333. package/lib/modules/tld-common/directives/index.d.ts +1 -0
  334. package/lib/modules/tld-common/index.d.ts +1 -0
  335. package/lib/modules/tld-common/models/auth-options.model.d.ts +4 -0
  336. package/lib/modules/tld-common/models/common.d.ts +28 -0
  337. package/lib/modules/tld-common/models/configs/tld-audio-config.model.d.ts +22 -0
  338. package/lib/modules/tld-common/models/configs/tld-term-config.model.d.ts +27 -0
  339. package/lib/modules/tld-common/models/configs/tld-text-to-speech-config.model.d.ts +11 -0
  340. package/lib/modules/tld-common/models/configs/tld-translate-api-v2-config.model.d.ts +11 -0
  341. package/lib/modules/tld-common/models/configs/tld-translate-config.model.d.ts +18 -0
  342. package/lib/modules/tld-common/models/configs/tld-translate-core-config.model.d.ts +42 -0
  343. package/lib/modules/tld-common/models/configs/tld-translate-file-config.model.d.ts +25 -0
  344. package/lib/modules/tld-common/models/configs/tld-translate-text-config.model.d.ts +39 -0
  345. package/lib/modules/tld-common/models/configs/tld-translate-web-config.model.d.ts +10 -0
  346. package/lib/modules/tld-common/models/core/index.d.ts +2 -0
  347. package/lib/modules/tld-common/models/core/language-menu-version.enum.d.ts +4 -0
  348. package/lib/modules/tld-common/models/core/translation-api-version.model.d.ts +4 -0
  349. package/lib/modules/tld-common/models/errors/error-codes.enum.d.ts +21 -0
  350. package/lib/modules/tld-common/models/errors/error-codes.type.d.ts +4 -0
  351. package/lib/modules/tld-common/models/errors/error.model.d.ts +3 -0
  352. package/lib/modules/tld-common/models/file-upload.model.d.ts +13 -0
  353. package/lib/modules/tld-common/models/index.d.ts +21 -0
  354. package/lib/modules/tld-common/models/lang-list-item.model.d.ts +6 -0
  355. package/lib/modules/tld-common/models/language-with-translation.model.d.ts +6 -0
  356. package/lib/modules/tld-common/models/message.model.d.ts +11 -0
  357. package/lib/modules/tld-common/models/selected-language.model.d.ts +4 -0
  358. package/lib/modules/tld-common/models/services/file-api/download-file-params.model.d.ts +5 -0
  359. package/lib/modules/tld-common/models/services/file-api/file-api-service.model.d.ts +17 -0
  360. package/lib/modules/tld-common/models/services/file-api/file-meta.model.d.ts +8 -0
  361. package/lib/modules/tld-common/models/services/file-api/file-translation-substatus.model.d.ts +7 -0
  362. package/lib/modules/tld-common/models/services/file-api/get-file-status-params.model.d.ts +6 -0
  363. package/lib/modules/tld-common/models/services/file-api/get-file-translation-status-response.model.d.ts +13 -0
  364. package/lib/modules/tld-common/models/services/file-api/remove-file-params.model.d.ts +4 -0
  365. package/lib/modules/tld-common/models/services/file-api/source-file-preview-response.model.d.ts +8 -0
  366. package/lib/modules/tld-common/models/services/file-api/start-file-translation-params.model.d.ts +6 -0
  367. package/lib/modules/tld-common/models/services/file-api/translated-document-preview-params.model.d.ts +4 -0
  368. package/lib/modules/tld-common/models/services/index.d.ts +18 -0
  369. package/lib/modules/tld-common/models/services/system/system.model.d.ts +17 -0
  370. package/lib/modules/tld-common/models/services/system/tld-system-api-service.model.d.ts +5 -0
  371. package/lib/modules/tld-common/models/services/text-api/check-grammar-response.model.d.ts +6 -0
  372. package/lib/modules/tld-common/models/services/text-api/tld-translate-text-api-service.model.d.ts +26 -0
  373. package/lib/modules/tld-common/models/services/text-api/translate-paragraph-request-params.model.d.ts +6 -0
  374. package/lib/modules/tld-common/models/services/voice-to-text/voice-to-text-job-state.model.d.ts +5 -0
  375. package/lib/modules/tld-common/models/services/voice-to-text/voice-to-text-job.model.d.ts +21 -0
  376. package/lib/modules/tld-common/models/services/voice-to-text/voice-to-text-start-job-request-params.model.d.ts +7 -0
  377. package/lib/modules/tld-common/pipes/index.d.ts +1 -0
  378. package/lib/modules/tld-common/pipes/translate-domain.pipe.d.ts +13 -0
  379. package/lib/modules/tld-common/services/icon-service/icon.service.d.ts +12 -0
  380. package/lib/modules/tld-common/services/icon-service/icons/file-types/excel.icon.d.ts +1 -0
  381. package/lib/modules/tld-common/services/icon-service/icons/file-types/index.d.ts +9 -0
  382. package/lib/modules/tld-common/services/icon-service/icons/file-types/interchange.icon.d.ts +1 -0
  383. package/lib/modules/tld-common/services/icon-service/icons/file-types/office-other.icon.d.ts +1 -0
  384. package/lib/modules/tld-common/services/icon-service/icons/file-types/other.icon.d.ts +1 -0
  385. package/lib/modules/tld-common/services/icon-service/icons/file-types/pdf.icon.d.ts +1 -0
  386. package/lib/modules/tld-common/services/icon-service/icons/file-types/powerpoint.icon.d.ts +1 -0
  387. package/lib/modules/tld-common/services/icon-service/icons/file-types/scanned.icon.d.ts +1 -0
  388. package/lib/modules/tld-common/services/icon-service/icons/file-types/web.icon.d.ts +1 -0
  389. package/lib/modules/tld-common/services/icon-service/icons/file-types/word.icon.d.ts +1 -0
  390. package/lib/modules/tld-common/services/icon-service/icons.d.ts +3 -0
  391. package/lib/modules/tld-common/services/index.d.ts +4 -0
  392. package/lib/modules/tld-common/services/scroll/tld-scroll.service.d.ts +12 -0
  393. package/lib/modules/tld-common/services/tld-alert.service.d.ts +33 -0
  394. package/lib/modules/tld-common/services/tld-highlight.service.d.ts +14 -0
  395. package/lib/modules/tld-common/services/tld-translate-config.service.d.ts +39 -0
  396. package/lib/modules/tld-common/services/wtw-link-params.service.d.ts +13 -0
  397. package/lib/modules/tld-common/tld-common.module.d.ts +23 -0
  398. package/lib/modules/tld-document/download-button/download-button.component.d.ts +30 -0
  399. package/lib/modules/tld-document/image-conversion-help/image-conversion-help.component.d.ts +21 -0
  400. package/lib/modules/tld-document/index.d.ts +7 -0
  401. package/lib/modules/tld-document/models/file-conversion-types.model.d.ts +4 -0
  402. package/lib/modules/tld-document/models/index.d.ts +5 -0
  403. package/lib/modules/tld-document/models/start-translation.model.d.ts +16 -0
  404. package/lib/modules/tld-document/models/translate-file.model.d.ts +33 -0
  405. package/lib/modules/tld-document/models/translation-statuss.model.d.ts +12 -0
  406. package/lib/modules/tld-document/models/upload-response.model.d.ts +8 -0
  407. package/lib/modules/tld-document/pdf-conversion-help/pdf-conversion-help.component.d.ts +21 -0
  408. package/lib/modules/tld-document/services/api/file-api.service.d.ts +26 -0
  409. package/lib/modules/tld-document/services/api/models/file-preview-v1-progress-response.model.d.ts +6 -0
  410. package/lib/modules/tld-document/services/api/models/file-preview-v1-response-body.model.d.ts +8 -0
  411. package/lib/modules/tld-document/services/api/models/get-file-translation-status-v1-response.model.d.ts +11 -0
  412. package/lib/modules/tld-document/services/api-v2/file-api-v2.service.d.ts +22 -0
  413. package/lib/modules/tld-document/services/api-v2/models/file-category-v2.model.d.ts +4 -0
  414. package/lib/modules/tld-document/services/api-v2/models/file-translation-status-v2-response.model.d.ts +20 -0
  415. package/lib/modules/tld-document/services/index.d.ts +2 -0
  416. package/lib/modules/tld-document/services/tld-translate-file.service.d.ts +60 -0
  417. package/lib/modules/tld-document/tld-document.module.d.ts +19 -0
  418. package/lib/modules/tld-document/tld-file-translate-base.component.d.ts +29 -0
  419. package/lib/modules/tld-document/tld-translate-file-multiple/tld-translate-file-multiple.component.d.ts +40 -0
  420. package/lib/modules/tld-term/index.d.ts +6 -0
  421. package/lib/modules/tld-term/models/converted-collection-tooltip-key.model.d.ts +5 -0
  422. package/lib/modules/tld-term/models/converted-collection-type.model.d.ts +7 -0
  423. package/lib/modules/tld-term/models/index.d.ts +6 -0
  424. package/lib/modules/tld-term/models/mt-api/tld-mt-term-collection.model.d.ts +15 -0
  425. package/lib/modules/tld-term/models/mt-collection-status.model.d.ts +5 -0
  426. package/lib/modules/tld-term/models/term-api/tld-term-collection-languages.model.d.ts +11 -0
  427. package/lib/modules/tld-term/models/term-api/tld-term-collection.model.d.ts +46 -0
  428. package/lib/modules/tld-term/models/tld-converted-collection.model.d.ts +43 -0
  429. package/lib/modules/tld-term/services/index.d.ts +3 -0
  430. package/lib/modules/tld-term/services/mt-collections-api.service.d.ts +13 -0
  431. package/lib/modules/tld-term/services/term-api.service.d.ts +15 -0
  432. package/lib/modules/tld-term/services/tld-term-collections.service.d.ts +57 -0
  433. package/lib/modules/tld-term/tld-term-collection/tld-term-collection.component.d.ts +9 -0
  434. package/lib/modules/tld-term/tld-term-collection-list/tld-term-collection-list.component.d.ts +39 -0
  435. package/lib/modules/tld-term/tld-term-create-collection-dialog/tld-term-create-collection-dialog.component.d.ts +20 -0
  436. package/lib/modules/tld-term/tld-term-menu/tld-term-menu.component.d.ts +13 -0
  437. package/lib/modules/tld-term/tld-term-promotion/tld-term-promotion.component.d.ts +17 -0
  438. package/lib/modules/tld-term/tld-term.module.d.ts +22 -0
  439. package/lib/modules/tld-text/components/highlight-tree/highlight-tree.component.d.ts +27 -0
  440. package/lib/modules/tld-text/components/progress-indicator/progress-indicator.component.d.ts +20 -0
  441. package/lib/modules/tld-text/components/textarea-with-background/textarea-with-background.component.d.ts +40 -0
  442. package/lib/modules/tld-text/components/tld-dictionary/tld-dictionary.component.d.ts +24 -0
  443. package/lib/modules/tld-text/components/tld-translate-source/tld-translate-source.component.d.ts +36 -0
  444. package/lib/modules/tld-text/components/tld-translate-suggest/dialog/suggest-translation.model.d.ts +11 -0
  445. package/lib/modules/tld-text/components/tld-translate-suggest/dialog/tld-translate-suggest-dialog.component.d.ts +33 -0
  446. package/lib/modules/tld-text/components/tld-translate-suggest/tld-translate-suggest.component.d.ts +24 -0
  447. package/lib/modules/tld-text/components/tld-translate-text/tld-translate-text.component.d.ts +104 -0
  448. package/lib/modules/tld-text/index.d.ts +8 -0
  449. package/lib/modules/tld-text/models/check-grammar-response-v2.model.d.ts +4 -0
  450. package/lib/modules/tld-text/models/dictionary.model.d.ts +28 -0
  451. package/lib/modules/tld-text/models/get-sentence-v1-response.model.d.ts +5 -0
  452. package/lib/modules/tld-text/models/grammar-check-base.model.d.ts +6 -0
  453. package/lib/modules/tld-text/models/grammar-check-meta.model.d.ts +5 -0
  454. package/lib/modules/tld-text/models/grammar-check-replacement.model.d.ts +5 -0
  455. package/lib/modules/tld-text/models/grammar-correction-v2.model.d.ts +9 -0
  456. package/lib/modules/tld-text/models/highlight-params.model.d.ts +10 -0
  457. package/lib/modules/tld-text/models/highlight-tree-type.model.d.ts +10 -0
  458. package/lib/modules/tld-text/models/highlight-tree.model.d.ts +22 -0
  459. package/lib/modules/tld-text/models/highlight.model.d.ts +10 -0
  460. package/lib/modules/tld-text/models/index.d.ts +10 -0
  461. package/lib/modules/tld-text/models/retranslate-params.model.d.ts +4 -0
  462. package/lib/modules/tld-text/models/source-text-changed.model.d.ts +6 -0
  463. package/lib/modules/tld-text/models/translate-paragraph-params.model.d.ts +6 -0
  464. package/lib/modules/tld-text/models/translate-paragraph-response-v1.model.d.ts +15 -0
  465. package/lib/modules/tld-text/models/translate-paragraph-response-v2.model.d.ts +9 -0
  466. package/lib/modules/tld-text/models/translate-paragraph-response.model.d.ts +7 -0
  467. package/lib/modules/tld-text/models/untranslated-paragraph.model.d.ts +4 -0
  468. package/lib/modules/tld-text/services/api/tld-translate-text-api.service.d.ts +24 -0
  469. package/lib/modules/tld-text/services/api-v2/tld-translate-text-api-v2.service.d.ts +17 -0
  470. package/lib/modules/tld-text/services/index.d.ts +1 -0
  471. package/lib/modules/tld-text/services/tld-translate-text.service.d.ts +104 -0
  472. package/lib/modules/tld-text/tld-text.module.d.ts +27 -0
  473. package/lib/modules/tld-text/utils/index.d.ts +1 -0
  474. package/lib/modules/tld-text/utils/models/existing-paragraph-info.model.d.ts +5 -0
  475. package/lib/modules/tld-text/utils/models/index.d.ts +1 -0
  476. package/lib/modules/tld-text/utils/tld-translate-text.utils.d.ts +9 -0
  477. package/lib/modules/tld-tooltip/index.d.ts +4 -0
  478. package/lib/modules/tld-tooltip/models/active-data.model.d.ts +24 -0
  479. package/lib/modules/tld-tooltip/models/domain.model.d.ts +8 -0
  480. package/lib/modules/tld-tooltip/models/index.d.ts +4 -0
  481. package/lib/modules/tld-tooltip/models/switcher-options.model.d.ts +14 -0
  482. package/lib/modules/tld-tooltip/models/system-metadata-keys.model.d.ts +5 -0
  483. package/lib/modules/tld-tooltip/models/vendor.model.d.ts +4 -0
  484. package/lib/modules/tld-tooltip/services/api/models/description.model.d.ts +4 -0
  485. package/lib/modules/tld-tooltip/services/api/models/language.model.d.ts +5 -0
  486. package/lib/modules/tld-tooltip/services/api/models/metadata.model.d.ts +4 -0
  487. package/lib/modules/tld-tooltip/services/api/models/name.model.d.ts +4 -0
  488. package/lib/modules/tld-tooltip/services/api/models/system.model.d.ts +14 -0
  489. package/lib/modules/tld-tooltip/services/api/tld-system-api.service.d.ts +15 -0
  490. package/lib/modules/tld-tooltip/services/api-v2/models/error.model.d.ts +4 -0
  491. package/lib/modules/tld-tooltip/services/api-v2/models/get-langauge-direction.d.ts +6 -0
  492. package/lib/modules/tld-tooltip/services/api-v2/models/language-direction.model.d.ts +7 -0
  493. package/lib/modules/tld-tooltip/services/api-v2/tld-system-api-v2.service.d.ts +15 -0
  494. package/lib/modules/tld-tooltip/services/index.d.ts +1 -0
  495. package/lib/modules/tld-tooltip/services/tld-system.service.d.ts +57 -0
  496. package/lib/modules/tld-tooltip/tld-domain-list/tld-domain-list.component.d.ts +33 -0
  497. package/lib/modules/tld-tooltip/tld-tooltip.module.d.ts +25 -0
  498. package/lib/modules/tld-tooltip/tld-translate-switcher/tld-translate-switcher.component.d.ts +64 -0
  499. package/lib/modules/tld-tooltip/translation-system-picker/dropdown/translation-system-picker-dropdown.component.d.ts +44 -0
  500. package/lib/modules/tld-tooltip/translation-system-picker/dropdown-body/translation-system-picker-dropdown-body.component.d.ts +65 -0
  501. package/lib/modules/tld-tooltip/translation-system-picker/filter/translation-system-picker-filter.component.d.ts +17 -0
  502. package/lib/modules/tld-tooltip/translation-system-picker/index.d.ts +7 -0
  503. package/lib/modules/tld-tooltip/translation-system-picker/language-list/translation-system-picker-language-list.component.d.ts +14 -0
  504. package/lib/modules/tld-tooltip/translation-system-picker/models/dropdown-body-config.model.d.ts +11 -0
  505. package/lib/modules/tld-tooltip/translation-system-picker/models/grouped-language-item.d.ts +8 -0
  506. package/lib/modules/tld-tooltip/translation-system-picker/models/index.d.ts +5 -0
  507. package/lib/modules/tld-tooltip/translation-system-picker/models/opened-menu.d.ts +5 -0
  508. package/lib/modules/tld-tooltip/translation-system-picker/models/translated-language.model.d.ts +4 -0
  509. package/lib/modules/tld-tooltip/translation-system-picker/models/translated-system.model.d.ts +4 -0
  510. package/lib/modules/tld-tooltip/translation-system-picker/services/index.d.ts +1 -0
  511. package/lib/modules/tld-tooltip/translation-system-picker/services/translation-system-picker.service.d.ts +24 -0
  512. package/lib/modules/tld-tooltip/translation-system-picker/system-list/translation-system-picker-system-list.component.d.ts +13 -0
  513. package/lib/modules/tld-tooltip/translation-system-picker/system-picker-button/translation-system-picker-button.component.d.ts +10 -0
  514. package/lib/modules/tld-tooltip/translation-system-picker/translation-system-picker.component.d.ts +34 -0
  515. package/lib/modules/tld-translate-file/tld-translate-file.component.d.ts +37 -0
  516. package/lib/modules/tld-web/index.d.ts +2 -0
  517. package/lib/modules/tld-web/tld-translate-web/tld-translate-web.component.d.ts +85 -0
  518. package/lib/modules/tld-web/tld-translate-web.service.d.ts +7 -0
  519. package/lib/modules/tld-web/tld-web.module.d.ts +14 -0
  520. package/lib/tld-translate-body/tld-translate-body.component.d.ts +23 -0
  521. package/lib/tld-translate.component.d.ts +65 -0
  522. package/lib/tld-translate.module.d.ts +23 -0
  523. package/package.json +40 -0
  524. package/public-api.d.ts +28 -0
  525. package/src/assets/webcomponent/styles.css +1 -0
  526. package/src/assets/webcomponent/tld-translate.js +3 -0
  527. package/src/assets/webtranslate/page-translate-widget.js +4934 -0
  528. package/src/assets/webtranslate/remove.png +0 -0
  529. package/src/assets/webtranslate/tilde_logo.png +0 -0
  530. package/src/assets/webtranslate/translate-website.js +393 -0
  531. package/src/assets/webtranslate/widget.css +139 -0
  532. package/src/styles/colors.scss +15 -0
  533. package/src/styles/fonts.scss +3 -0
  534. package/src/styles/mixin/border-default.scss +10 -0
  535. package/src/styles/mixin/tld-translate-accent-colors.scss +46 -0
  536. package/src/styles/mixin/tld-translate-colors.scss +7 -0
  537. package/src/styles/mixin/tld-translate-placeholders.scss +5 -0
  538. package/src/styles/mixin/tld-translate-primary-colors.scss +5 -0
  539. package/src/styles/styles.scss +377 -0
  540. package/src/styles/translator-borders.scss +28 -0
  541. package/tilde-nlp-ngx-translate-1.0.0.tgz +0 -0
@@ -0,0 +1,87 @@
1
+ import { Component, EventEmitter, Output } from '@angular/core';
2
+ import { Common } from '../../tld-common/models';
3
+ import { AudioErrorCase } from '../models';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../services/audio-record.service";
6
+ import * as i2 from "../../tld-tooltip/services";
7
+ import * as i3 from "../../tld-common/services";
8
+ import * as i4 from "../services/tld-voice-input.service";
9
+ import * as i5 from "@angular/common";
10
+ import * as i6 from "@angular/material/tooltip";
11
+ import * as i7 from "@angular/flex-layout/flex";
12
+ import * as i8 from "@angular/material/button";
13
+ import * as i9 from "@ngx-translate/core";
14
+ export class TldRecordComponent {
15
+ constructor(audioRecorderService, systemService, configService, voiceProcessingService, alert) {
16
+ this.audioRecorderService = audioRecorderService;
17
+ this.systemService = systemService;
18
+ this.configService = configService;
19
+ this.voiceProcessingService = voiceProcessingService;
20
+ this.alert = alert;
21
+ /**
22
+ * Successfuly recorded BLOB
23
+ */
24
+ this.record = new EventEmitter();
25
+ }
26
+ get isRecording() {
27
+ return this.audioRecorderService.isRecording;
28
+ }
29
+ get recordTimeDate() { return this.audioRecorderService.recordTimeDate; }
30
+ get isProcessing() { return this.voiceProcessingService.isProcessing; }
31
+ ngOnInit() {
32
+ this.recordErrorSubscription = this.audioRecorderService.onError.subscribe((error) => {
33
+ if (error === AudioErrorCase.MAX_SIZE_EXCEEDED) {
34
+ this.alert.unhandeledError({ ErrorCode: error }, { maxSizeMb: Common.bytesToMb(this.configService.audioConfig.audioMaxSizeBytes) });
35
+ this.stopRecording();
36
+ }
37
+ else {
38
+ this.alert.unhandeledError({ ErrorCode: error });
39
+ }
40
+ });
41
+ this.findMic();
42
+ }
43
+ ngOnDestroy() {
44
+ this.recordErrorSubscription.unsubscribe();
45
+ }
46
+ startRecording() {
47
+ this.audioRecorderService.startRecording(this.configService.audioConfig.dataUpdateTimeFrame, this.configService.audioConfig.audioMaxSizeBytes);
48
+ }
49
+ stopRecording() {
50
+ this.audioRecorderService.stopRecording().then((output) => {
51
+ this.record.next(output);
52
+ this.processVoiceRecord(output);
53
+ });
54
+ }
55
+ cancel() {
56
+ if (this.audioRecorderService.isRecording) {
57
+ this.audioRecorderService.stopRecording();
58
+ }
59
+ if (this.voiceProcessingService.isProcessing) {
60
+ this.voiceProcessingService.stopProcessing();
61
+ }
62
+ }
63
+ processVoiceRecord(file) {
64
+ const language = this.systemService.getActiveSystemObj().sourceLanguage;
65
+ this.voiceProcessingService.startTranscribtion({ file, language });
66
+ }
67
+ findMic() {
68
+ navigator.mediaDevices.enumerateDevices().then((devices) => {
69
+ this.hasAnyMicrophone = false;
70
+ for (const device of devices) {
71
+ if (device.kind === "audioinput") {
72
+ this.hasAnyMicrophone = true;
73
+ return;
74
+ }
75
+ }
76
+ });
77
+ }
78
+ }
79
+ TldRecordComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TldRecordComponent, deps: [{ token: i1.AudioRecordService }, { token: i2.TldSystemService }, { token: i3.TldTranslateConfigService }, { token: i4.TldVoiceInputService }, { token: i3.TldAlertService }], target: i0.ɵɵFactoryTarget.Component });
80
+ TldRecordComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: TldRecordComponent, selector: "tld-record", outputs: { record: "record" }, ngImport: i0, template: "<div fxLayout=\"row\" fxFlex>\r\n <ng-container *ngIf=\"!(isRecording || isProcessing)\">\r\n <button [disabled]=\"!hasAnyMicrophone\" mat-button mat-icon-button fxLayoutAlign=\"center center\"\r\n (click)=\"startRecording()\" color=\"accent\" [attr.aria-label]=\"(hasAnyMicrophone?'AUDIO.START':'AUDIO.MIC_NOT_FOUND') | translate\">\r\n <span class=\"material-icons\" *ngIf=\"hasAnyMicrophone\" color=\"accent\" \r\n [matTooltip]=\"'AUDIO.START' | translate\">\r\n mic\r\n </span>\r\n <span class=\"material-icons\" [matTooltip]=\"'AUDIO.MIC_NOT_FOUND' | translate\"\r\n *ngIf=\"!hasAnyMicrophone\">\r\n mic_off\r\n </span>\r\n </button>\r\n </ng-container>\r\n <ng-container *ngIf=\"isRecording || isProcessing\">\r\n <div fxLayout=\"column\">\r\n <button mat-button mat-icon-button fxLayoutAlign=\"center center\" [disabled]=\"!isRecording\"\r\n (click)=\"stopRecording()\" color=\"accent\" [matTooltip]=\"'AUDIO.STOP' | translate\" [attr.aria-label]=\"'AUDIO.STOP' | translate\">\r\n <span class=\"material-icons\">\r\n stop\r\n </span>\r\n </button>\r\n <div class=\"tld-audio-timer\" fxLayoutAlign=\"center center\">\r\n {{recordTimeDate | date:'mm:ss'}}\r\n </div>\r\n </div>\r\n <div fxLayout=\"row\" fxFlex fxLayoutAlign=\"center center\">\r\n <div fxFlex fxLayoutAlign=\"center center\" data-test-id=\"voice-input-info\">\r\n <span *ngIf=\"isRecording\">{{'AUDIO.DESCRIBE_STATE_RECORDING' | translate}}</span>\r\n <span *ngIf=\"isProcessing\">{{'AUDIO.DESCRIBE_STATE_PROCESSING' | translate}}</span>\r\n </div>\r\n <button mat-flat-button color=\"accent\" (click)=\"cancel()\">{{'AUDIO.CANCEL' | translate}}</button>\r\n </div>\r\n </ng-container>\r\n</div>", styles: ["button{border:1px solid rgba(0,0,0,.12)}.tld-audio-timer{font-size:10px}\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: i7.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i7.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i7.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i8.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "pipe", type: i5.DatePipe, name: "date" }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }] });
81
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TldRecordComponent, decorators: [{
82
+ type: Component,
83
+ args: [{ selector: 'tld-record', template: "<div fxLayout=\"row\" fxFlex>\r\n <ng-container *ngIf=\"!(isRecording || isProcessing)\">\r\n <button [disabled]=\"!hasAnyMicrophone\" mat-button mat-icon-button fxLayoutAlign=\"center center\"\r\n (click)=\"startRecording()\" color=\"accent\" [attr.aria-label]=\"(hasAnyMicrophone?'AUDIO.START':'AUDIO.MIC_NOT_FOUND') | translate\">\r\n <span class=\"material-icons\" *ngIf=\"hasAnyMicrophone\" color=\"accent\" \r\n [matTooltip]=\"'AUDIO.START' | translate\">\r\n mic\r\n </span>\r\n <span class=\"material-icons\" [matTooltip]=\"'AUDIO.MIC_NOT_FOUND' | translate\"\r\n *ngIf=\"!hasAnyMicrophone\">\r\n mic_off\r\n </span>\r\n </button>\r\n </ng-container>\r\n <ng-container *ngIf=\"isRecording || isProcessing\">\r\n <div fxLayout=\"column\">\r\n <button mat-button mat-icon-button fxLayoutAlign=\"center center\" [disabled]=\"!isRecording\"\r\n (click)=\"stopRecording()\" color=\"accent\" [matTooltip]=\"'AUDIO.STOP' | translate\" [attr.aria-label]=\"'AUDIO.STOP' | translate\">\r\n <span class=\"material-icons\">\r\n stop\r\n </span>\r\n </button>\r\n <div class=\"tld-audio-timer\" fxLayoutAlign=\"center center\">\r\n {{recordTimeDate | date:'mm:ss'}}\r\n </div>\r\n </div>\r\n <div fxLayout=\"row\" fxFlex fxLayoutAlign=\"center center\">\r\n <div fxFlex fxLayoutAlign=\"center center\" data-test-id=\"voice-input-info\">\r\n <span *ngIf=\"isRecording\">{{'AUDIO.DESCRIBE_STATE_RECORDING' | translate}}</span>\r\n <span *ngIf=\"isProcessing\">{{'AUDIO.DESCRIBE_STATE_PROCESSING' | translate}}</span>\r\n </div>\r\n <button mat-flat-button color=\"accent\" (click)=\"cancel()\">{{'AUDIO.CANCEL' | translate}}</button>\r\n </div>\r\n </ng-container>\r\n</div>", styles: ["button{border:1px solid rgba(0,0,0,.12)}.tld-audio-timer{font-size:10px}\n"] }]
84
+ }], ctorParameters: function () { return [{ type: i1.AudioRecordService }, { type: i2.TldSystemService }, { type: i3.TldTranslateConfigService }, { type: i4.TldVoiceInputService }, { type: i3.TldAlertService }]; }, propDecorators: { record: [{
85
+ type: Output
86
+ }] } });
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGxkLXJlY29yZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90bGQtdHJhbnNsYXRlL3NyYy9saWIvbW9kdWxlcy90bGQtYXVkaW8vdGxkLXJlY29yZC90bGQtcmVjb3JkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RsZC10cmFuc2xhdGUvc3JjL2xpYi9tb2R1bGVzL3RsZC1hdWRpby90bGQtcmVjb3JkL3RsZC1yZWNvcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQXFCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFHakQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7Ozs7Ozs7Ozs7QUFTM0MsTUFBTSxPQUFPLGtCQUFrQjtJQWtCN0IsWUFBNkIsb0JBQXdDLEVBQ2xELGFBQStCLEVBQy9CLGFBQXdDLEVBQ3hDLHNCQUE0QyxFQUM1QyxLQUFzQjtRQUpaLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBb0I7UUFDbEQsa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBQy9CLGtCQUFhLEdBQWIsYUFBYSxDQUEyQjtRQUN4QywyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXNCO1FBQzVDLFVBQUssR0FBTCxLQUFLLENBQWlCO1FBWHpDOztXQUVHO1FBQ08sV0FBTSxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO0lBU2hFLENBQUM7SUFyQkQsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsV0FBVyxDQUFDO0lBQy9DLENBQUM7SUFFRCxJQUFJLGNBQWMsS0FBSyxPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFD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bkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBDb21tb24gfSBmcm9tICcuLi8uLi90bGQtY29tbW9uL21vZGVscyc7XHJcbmltcG9ydCB7IFRsZEFsZXJ0U2VydmljZSwgVGxkVHJhbnNsYXRlQ29uZmlnU2VydmljZSB9IGZyb20gJy4uLy4uL3RsZC1jb21tb24vc2VydmljZXMnO1xyXG5pbXBvcnQgeyBUbGRTeXN0ZW1TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdGxkLXRvb2x0aXAvc2VydmljZXMnO1xyXG5pbXBvcnQgeyBBdWRpb0Vycm9yQ2FzZSB9IGZyb20gJy4uL21vZGVscyc7XHJcbmltcG9ydCB7IEF1ZGlvUmVjb3JkU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2F1ZGlvLXJlY29yZC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVGxkVm9pY2VJbnB1dFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy90bGQtdm9pY2UtaW5wdXQuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3RsZC1yZWNvcmQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90bGQtcmVjb3JkLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90bGQtcmVjb3JkLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFRsZFJlY29yZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuXHJcbiAgZ2V0IGlzUmVjb3JkaW5nKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYXVkaW9SZWNvcmRlclNlcnZpY2UuaXNSZWNvcmRpbmc7XHJcbiAgfVxyXG5cclxuICBnZXQgcmVjb3JkVGltZURhdGUoKSB7IHJldHVybiB0aGlzLmF1ZGlvUmVjb3JkZXJTZXJ2aWNlLnJlY29yZFRpbWVEYXRlOyB9XHJcbiAgZ2V0IGlzUHJvY2Vzc2luZygpIHsgcmV0dXJuIHRoaXMudm9pY2VQcm9jZXNzaW5nU2VydmljZS5pc1Byb2Nlc3Npbmc7IH1cclxuXHJcbiAgaGFzQW55TWljcm9waG9uZTogYm9vbGVhbjtcclxuXHJcbiAgLyoqXHJcbiAgICogU3VjY2Vzc2Z1bHkgcmVjb3JkZWQgQkxPQlxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSByZWNvcmQ6IEV2ZW50RW1pdHRlcjxCbG9iPiA9IG5ldyBFdmVudEVtaXR0ZXI8QmxvYj4oKTtcclxuXHJcbiAgcHJpdmF0ZSByZWNvcmRFcnJvclN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGF1ZGlvUmVjb3JkZXJTZXJ2aWNlOiBBdWRpb1JlY29yZFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN5c3RlbVNlcnZpY2U6IFRsZFN5c3RlbVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZ1NlcnZpY2U6IFRsZFRyYW5zbGF0ZUNvbmZpZ1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHZvaWNlUHJvY2Vzc2luZ1NlcnZpY2U6IFRsZFZvaWNlSW5wdXRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBhbGVydDogVGxkQWxlcnRTZXJ2aWNlKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMucmVjb3JkRXJyb3JTdWJzY3JpcHRpb24gPSB0aGlzLmF1ZGlvUmVjb3JkZXJTZXJ2aWNlLm9uRXJyb3Iuc3Vic2NyaWJlKChlcnJvcjogQXVkaW9FcnJvckNhc2UpID0+IHtcclxuICAgICAgaWYgKGVycm9yID09PSBBdWRpb0Vycm9yQ2FzZS5NQVhfU0laRV9FWENFRURFRCkge1xyXG4gICAgICAgIHRoaXMuYWxlcnQudW5oYW5kZWxlZEVycm9yKHsgRXJyb3JDb2RlOiBlcnJvciB9LCB7IG1heFNpemVNYjogQ29tbW9uLmJ5dGVzVG9NYih0aGlzLmNvbmZpZ1NlcnZpY2UuYXVkaW9Db25maWcuYXVkaW9NYXhTaXplQnl0ZXMpIH0pXHJcbiAgICAgICAgdGhpcy5zdG9wUmVjb3JkaW5nKCk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgdGhpcy5hbGVydC51bmhhbmRlbGVkRXJyb3IoeyBFcnJvckNvZGU6IGVycm9yIH0pO1xyXG4gICAgICB9XHJcbiAgICB9KVxyXG5cclxuICAgIHRoaXMuZmluZE1pYygpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLnJlY29yZEVycm9yU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBzdGFydFJlY29yZGluZygpIHtcclxuICAgIHRoaXMuYXVkaW9SZWNvcmRlclNlcnZpY2Uuc3RhcnRSZWNvcmRpbmcodGhpcy5jb25maWdTZXJ2aWNlLmF1ZGlvQ29uZmlnLmRhdGFVcGRhdGVUaW1lRnJhbWUsIHRoaXMuY29uZmlnU2VydmljZS5hdWRpb0NvbmZpZy5hdWRpb01heFNpemVCeXRlcyk7XHJcbiAgfVxyXG5cclxuICBzdG9wUmVjb3JkaW5nKCkge1xyXG4gICAgdGhpcy5hdWRpb1JlY29yZGVyU2VydmljZS5zdG9wUmVjb3JkaW5nKCkudGhlbigob3V0cHV0OiBCbG9iKSA9PiB7XHJcbiAgICAgIHRoaXMucmVjb3JkLm5leHQob3V0cHV0KTtcclxuICAgICAgdGhpcy5wcm9jZXNzVm9pY2VSZWNvcmQob3V0cHV0KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgY2FuY2VsKCkge1xyXG4gICAgaWYgKHRoaXMuYXVkaW9SZWNvcmRlclNlcnZpY2UuaXNSZWNvcmRpbmcpIHtcclxuICAgICAgdGhpcy5hdWRpb1JlY29yZGVyU2VydmljZS5zdG9wUmVjb3JkaW5nKCk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy52b2ljZVByb2Nlc3NpbmdTZXJ2aWNlLmlzUHJvY2Vzc2luZykge1xyXG4gICAgICB0aGlzLnZvaWNlUHJvY2Vzc2luZ1NlcnZpY2Uuc3RvcFByb2Nlc3NpbmcoKVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJvY2Vzc1ZvaWNlUmVjb3JkKGZpbGU6IEJsb2IpIHtcclxuICAgIGNvbnN0IGxhbmd1YWdlID0gdGhpcy5zeXN0ZW1TZXJ2aWNlLmdldEFjdGl2ZVN5c3RlbU9iaigpLnNvdXJjZUxhbmd1YWdlO1xyXG4gICAgdGhpcy52b2ljZVByb2Nlc3NpbmdTZXJ2aWNlLnN0YXJ0VHJhbnNjcmlidGlvbih7IGZpbGUsIGxhbmd1YWdlIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmaW5kTWljKCkge1xyXG4gICAgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5lbnVtZXJhdGVEZXZpY2VzKCkudGhlbigoZGV2aWNlczogTWVkaWFEZXZpY2VJbmZvW10pID0+IHtcclxuICAgICAgdGhpcy5oYXNBbnlNaWNyb3Bob25lID0gZmFsc2U7XHJcbiAgICAgIGZvciAoY29uc3QgZGV2aWNlIG9mIGRldmljZXMpIHtcclxuICAgICAgICBpZiAoZGV2aWNlLmtpbmQgPT09IFwiYXVkaW9pbnB1dFwiKSB7XHJcbiAgICAgICAgICB0aGlzLmhhc0FueU1pY3JvcGhvbmUgPSB0cnVlO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeEZsZXg+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIShpc1JlY29yZGluZyB8fCBpc1Byb2Nlc3NpbmcpXCI+XHJcbiAgICAgICAgPGJ1dHRvbiBbZGlzYWJsZWRdPVwiIWhhc0FueU1pY3JvcGhvbmVcIiBtYXQtYnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJzdGFydFJlY29yZGluZygpXCIgY29sb3I9XCJhY2NlbnRcIiAgW2F0dHIuYXJpYS1sYWJlbF09XCIoaGFzQW55TWljcm9waG9uZT8nQVVESU8uU1RBUlQnOidBVURJTy5NSUNfTk9UX0ZPVU5EJykgfCB0cmFuc2xhdGVcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29uc1wiICpuZ0lmPVwiaGFzQW55TWljcm9waG9uZVwiIGNvbG9yPVwiYWNjZW50XCIgXHJcbiAgICAgICAgICAgIFttYXRUb29sdGlwXT1cIidBVURJTy5TVEFSVCcgfCB0cmFuc2xhdGVcIj5cclxuICAgICAgICAgICAgICAgIG1pY1xyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcIiBbbWF0VG9vbHRpcF09XCInQVVESU8uTUlDX05PVF9GT1VORCcgfCB0cmFuc2xhdGVcIlxyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCIhaGFzQW55TWljcm9waG9uZVwiPlxyXG4gICAgICAgICAgICAgICAgbWljX29mZlxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc1JlY29yZGluZyB8fCBpc1Byb2Nlc3NpbmdcIj5cclxuICAgICAgICA8ZGl2IGZ4TGF5b3V0PVwiY29sdW1uXCI+XHJcbiAgICAgICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiBtYXQtaWNvbi1idXR0b24gZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIiBbZGlzYWJsZWRdPVwiIWlzUmVjb3JkaW5nXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJzdG9wUmVjb3JkaW5nKClcIiBjb2xvcj1cImFjY2VudFwiIFttYXRUb29sdGlwXT1cIidBVURJTy5TVE9QJyB8IHRyYW5zbGF0ZVwiIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0FVRElPLlNUT1AnIHwgdHJhbnNsYXRlXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgc3RvcFxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRsZC1hdWRpby10aW1lclwiIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICB7e3JlY29yZFRpbWVEYXRlIHwgZGF0ZTonbW06c3MnfX1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBmeExheW91dD1cInJvd1wiIGZ4RmxleCBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGZ4RmxleCBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiIGRhdGEtdGVzdC1pZD1cInZvaWNlLWlucHV0LWluZm9cIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaXNSZWNvcmRpbmdcIj57eydBVURJTy5ERVNDUklCRV9TVEFURV9SRUNPUkRJTkcnIHwgdHJhbnNsYXRlfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImlzUHJvY2Vzc2luZ1wiPnt7J0FVRElPLkRFU0NSSUJFX1NUQVRFX1BST0NFU1NJTkcnIHwgdHJhbnNsYXRlfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1mbGF0LWJ1dHRvbiBjb2xvcj1cImFjY2VudFwiIChjbGljayk9XCJjYW5jZWwoKVwiPnt7J0FVRElPLkNBTkNFTCcgfCB0cmFuc2xhdGV9fTwvYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbjwvZGl2PiJdfQ==
@@ -0,0 +1,11 @@
1
+ import { animate, keyframes, state, style, transition, trigger } from "@angular/animations";
2
+ export const pulseAnimation = trigger('pulse', [
3
+ state("true", style({})),
4
+ state("false", style({})),
5
+ transition('false <=> true', animate('1.5s ease', keyframes([
6
+ style({ offset: 0 }),
7
+ style({ boxShadow: '0 0 0 15px rgb(173, 35, 74, 10%)', offset: 0.7 }),
8
+ style({ boxShadow: '0 0 0 0', offset: 1 }),
9
+ ])))
10
+ ]);
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVsc2UuYW5pbWF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGxkLXRyYW5zbGF0ZS9zcmMvbGliL21vZHVsZXMvdGxkLWNvbW1vbi9hbmltYXRpb25zL3B1bHNlLmFuaW1hdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUU1RixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsT0FBTyxDQUFDLE9BQU8sRUFBRTtJQUMzQyxLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN4QixLQUFLLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN6QixVQUFVLENBQUMsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLFdBQVcsRUFBRSxTQUFTLENBQ3ZEO1FBQ0ksS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQ3BCLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUM7UUFDckUsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUM7S0FDN0MsQ0FDSixDQUFDLENBQUM7Q0FDTixDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmltYXRlLCBrZXlmcmFtZXMsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gXCJAYW5ndWxhci9hbmltYXRpb25zXCI7XHJcblxyXG5leHBvcnQgY29uc3QgcHVsc2VBbmltYXRpb24gPSB0cmlnZ2VyKCdwdWxzZScsIFtcclxuICAgIHN0YXRlKFwidHJ1ZVwiLCBzdHlsZSh7fSkpLFxyXG4gICAgc3RhdGUoXCJmYWxzZVwiLCBzdHlsZSh7fSkpLFxyXG4gICAgdHJhbnNpdGlvbignZmFsc2UgPD0+IHRydWUnLCBhbmltYXRlKCcxLjVzIGVhc2UnLCBrZXlmcmFtZXMoXHJcbiAgICAgICAgW1xyXG4gICAgICAgICAgICBzdHlsZSh7IG9mZnNldDogMCB9KSxcclxuICAgICAgICAgICAgc3R5bGUoeyBib3hTaGFkb3c6ICcwIDAgMCAxNXB4IHJnYigxNzMsIDM1LCA3NCwgMTAlKScsIG9mZnNldDogMC43IH0pLFxyXG4gICAgICAgICAgICBzdHlsZSh7IGJveFNoYWRvdzogJzAgMCAwIDAnLCBvZmZzZXQ6IDEgfSksXHJcbiAgICAgICAgXVxyXG4gICAgKSkpXHJcbl0pIl19
@@ -0,0 +1,10 @@
1
+ export * from './tld-translate-achievement/tld-translate-achievement.component';
2
+ export * from './tld-loader/tld-loader.component';
3
+ export * from './tld-lang-list/tld-lang-list.component';
4
+ export * from './tld-file-upload/tld-file-upload.component';
5
+ export * from './tld-message/tld-message.component';
6
+ export * from './open-close-button/open-close-button.component';
7
+ export * from './translate-button/translate-button.component';
8
+ export * from './tld-list-menu/tld-list-menu.component';
9
+ export * from './source-and-target-wrapper/source-and-target-wrapper.component';
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90bGQtdHJhbnNsYXRlL3NyYy9saWIvbW9kdWxlcy90bGQtY29tbW9uL2NvbXBvbmVudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpRUFBaUUsQ0FBQztBQUNoRixjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsaUVBQWlFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3RsZC10cmFuc2xhdGUtYWNoaWV2ZW1lbnQvdGxkLXRyYW5zbGF0ZS1hY2hpZXZlbWVudC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3RsZC1sb2FkZXIvdGxkLWxvYWRlci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3RsZC1sYW5nLWxpc3QvdGxkLWxhbmctbGlzdC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3RsZC1maWxlLXVwbG9hZC90bGQtZmlsZS11cGxvYWQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi90bGQtbWVzc2FnZS90bGQtbWVzc2FnZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL29wZW4tY2xvc2UtYnV0dG9uL29wZW4tY2xvc2UtYnV0dG9uLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdHJhbnNsYXRlLWJ1dHRvbi90cmFuc2xhdGUtYnV0dG9uLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdGxkLWxpc3QtbWVudS90bGQtbGlzdC1tZW51LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc291cmNlLWFuZC10YXJnZXQtd3JhcHBlci9zb3VyY2UtYW5kLXRhcmdldC13cmFwcGVyLmNvbXBvbmVudCc7Il19
@@ -0,0 +1,41 @@
1
+ import { Component, Input, ViewChild } from '@angular/core';
2
+ import { MatButton } from '@angular/material/button';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ import * as i2 from "@angular/material/button";
6
+ import * as i3 from "@angular/flex-layout/flex";
7
+ import * as i4 from "@angular/flex-layout/extended";
8
+ import * as i5 from "@ngx-translate/core";
9
+ export class TldOpenCloseButtonComponent {
10
+ get isOpened() { return this._isOpened; }
11
+ set isOpened(value) {
12
+ if (this._isOpened && !value && !this.disableFocusOnAction) {
13
+ this.focus();
14
+ }
15
+ this._isOpened = value;
16
+ }
17
+ ;
18
+ focus() {
19
+ this.button.focus();
20
+ }
21
+ }
22
+ TldOpenCloseButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TldOpenCloseButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
23
+ TldOpenCloseButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: TldOpenCloseButtonComponent, selector: "tld-open-close-button", inputs: { disableFocusOnAction: "disableFocusOnAction", isOpened: "isOpened", disabled: "disabled", isIcon: "isIcon", ariaLabelCode: "ariaLabelCode" }, viewQueries: [{ propertyName: "button", first: true, predicate: MatButton, descendants: true }], ngImport: i0, template: "<button [disableRipple]=\"true\" [ngClass.lt-md]=\"'open-close-button-tablet'\" mat-button [disabled]=\"disabled\" *ngIf=\"!isIcon\"\r\n [attr.aria-label]=\"ariaLabelCode | translate\">\r\n <span fxLayout=\"row\" fxLayoutAlign=\"center center\">\r\n <span class=\"open-close-button-content\" fxLayoutAlign=\"center center\">\r\n <ng-content></ng-content>\r\n </span>\r\n <span class=\"material-icons\">\r\n {{isOpened?'arrow_drop_up':'arrow_drop_down'}}\r\n </span>\r\n </span>\r\n</button>\r\n<button mat-icon-button [disabled]=\"disabled\" *ngIf=\"isIcon\" fxLayoutAlign=\"center center\"\r\n [attr.aria-label]=\"ariaLabelCode | translate\">\r\n <span class=\"material-icons\">\r\n {{isOpened?'arrow_drop_up':'arrow_drop_down'}}\r\n </span>\r\n</button>\r\n", styles: ["button{font-size:16px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i3.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i3.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i4.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] });
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TldOpenCloseButtonComponent, decorators: [{
25
+ type: Component,
26
+ args: [{ selector: 'tld-open-close-button', template: "<button [disableRipple]=\"true\" [ngClass.lt-md]=\"'open-close-button-tablet'\" mat-button [disabled]=\"disabled\" *ngIf=\"!isIcon\"\r\n [attr.aria-label]=\"ariaLabelCode | translate\">\r\n <span fxLayout=\"row\" fxLayoutAlign=\"center center\">\r\n <span class=\"open-close-button-content\" fxLayoutAlign=\"center center\">\r\n <ng-content></ng-content>\r\n </span>\r\n <span class=\"material-icons\">\r\n {{isOpened?'arrow_drop_up':'arrow_drop_down'}}\r\n </span>\r\n </span>\r\n</button>\r\n<button mat-icon-button [disabled]=\"disabled\" *ngIf=\"isIcon\" fxLayoutAlign=\"center center\"\r\n [attr.aria-label]=\"ariaLabelCode | translate\">\r\n <span class=\"material-icons\">\r\n {{isOpened?'arrow_drop_up':'arrow_drop_down'}}\r\n </span>\r\n</button>\r\n", styles: ["button{font-size:16px}\n"] }]
27
+ }], propDecorators: { button: [{
28
+ type: ViewChild,
29
+ args: [MatButton]
30
+ }], disableFocusOnAction: [{
31
+ type: Input
32
+ }], isOpened: [{
33
+ type: Input
34
+ }], disabled: [{
35
+ type: Input
36
+ }], isIcon: [{
37
+ type: Input
38
+ }], ariaLabelCode: [{
39
+ type: Input
40
+ }] } });
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3Blbi1jbG9zZS1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGxkLXRyYW5zbGF0ZS9zcmMvbGliL21vZHVsZXMvdGxkLWNvbW1vbi9jb21wb25lbnRzL29wZW4tY2xvc2UtYnV0dG9uL29wZW4tY2xvc2UtYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RsZC10cmFuc2xhdGUvc3JjL2xpYi9tb2R1bGVzL3RsZC1jb21tb24vY29tcG9uZW50cy9vcGVuLWNsb3NlLWJ1dHRvbi9vcGVuLWNsb3NlLWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7O0FBT3JELE1BQU0sT0FBTywyQkFBMkI7SUFLdEMsSUFBSSxRQUFRLEtBQUssT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUV6QyxJQUFhLFFBQVEsQ0FBQyxLQUFjO1FBQ2xDLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRTtZQUMxRCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDZDtRQUNELElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLENBQUM7SUFBQSxDQUFDO0lBS0YsS0FBSztRQUNILElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDdEIsQ0FBQzs7d0hBbkJVLDJCQUEyQjs0R0FBM0IsMkJBQTJCLDZQQUUzQixTQUFTLGdEQ1Z0QixvMEJBaUJBOzJGRFRhLDJCQUEyQjtrQkFMdkMsU0FBUzsrQkFDRSx1QkFBdUI7OEJBTVgsTUFBTTtzQkFBM0IsU0FBUzt1QkFBQyxTQUFTO2dCQUlYLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFDTyxRQUFRO3NCQUFwQixLQUFLO2dCQU1HLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0QnV0dG9uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndGxkLW9wZW4tY2xvc2UtYnV0dG9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vb3Blbi1jbG9zZS1idXR0b24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL29wZW4tY2xvc2UtYnV0dG9uLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFRsZE9wZW5DbG9zZUJ1dHRvbkNvbXBvbmVudCB7XHJcblxyXG4gIEBWaWV3Q2hpbGQoTWF0QnV0dG9uKSBidXR0b246IE1hdEJ1dHRvbjtcclxuXHJcbiAgcHJpdmF0ZSBfaXNPcGVuZWQ7XHJcbiAgZ2V0IGlzT3BlbmVkKCkgeyByZXR1cm4gdGhpcy5faXNPcGVuZWQ7IH1cclxuICBASW5wdXQoKSBkaXNhYmxlRm9jdXNPbkFjdGlvbjogYm9vbGVhbjtcclxuICBASW5wdXQoKSBzZXQgaXNPcGVuZWQodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIGlmICh0aGlzLl9pc09wZW5lZCAmJiAhdmFsdWUgJiYgIXRoaXMuZGlzYWJsZUZvY3VzT25BY3Rpb24pIHtcclxuICAgICAgdGhpcy5mb2N1cygpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5faXNPcGVuZWQgPSB2YWx1ZTtcclxuICB9O1xyXG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGlzSWNvbjogYm9vbGVhbjtcclxuICBASW5wdXQoKSBhcmlhTGFiZWxDb2RlOiBzdHJpbmc7XHJcblxyXG4gIGZvY3VzKCkge1xyXG4gICAgdGhpcy5idXR0b24uZm9jdXMoKTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxidXR0b24gW2Rpc2FibGVSaXBwbGVdPVwidHJ1ZVwiIFtuZ0NsYXNzLmx0LW1kXT1cIidvcGVuLWNsb3NlLWJ1dHRvbi10YWJsZXQnXCIgbWF0LWJ1dHRvbiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiAqbmdJZj1cIiFpc0ljb25cIlxyXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWxDb2RlIHwgdHJhbnNsYXRlXCI+XHJcbiAgICA8c3BhbiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJvcGVuLWNsb3NlLWJ1dHRvbi1jb250ZW50XCIgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zXCI+XHJcbiAgICAgICAgICAgIHt7aXNPcGVuZWQ/J2Fycm93X2Ryb3BfdXAnOidhcnJvd19kcm9wX2Rvd24nfX1cclxuICAgICAgICA8L3NwYW4+XHJcbiAgICA8L3NwYW4+XHJcbjwvYnV0dG9uPlxyXG48YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiAqbmdJZj1cImlzSWNvblwiIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCJcclxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsQ29kZSB8IHRyYW5zbGF0ZVwiPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29uc1wiPlxyXG4gICAgICAgIHt7aXNPcGVuZWQ/J2Fycm93X2Ryb3BfdXAnOidhcnJvd19kcm9wX2Rvd24nfX1cclxuICAgIDwvc3Bhbj5cclxuPC9idXR0b24+XHJcbiJdfQ==
@@ -0,0 +1,44 @@
1
+ import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ import * as i2 from "@angular/cdk/scrolling";
5
+ import * as i3 from "@angular/flex-layout/flex";
6
+ import * as i4 from "@angular/flex-layout/extended";
7
+ import * as i5 from "@tilde-nlp/ngx-common";
8
+ import * as i6 from "../../../../components/shared/text-to-speech/text-to-speech.component";
9
+ import * as i7 from "../tld-translate-achievement/tld-translate-achievement.component";
10
+ export class SourceAndTargetWrapperComponent {
11
+ constructor() {
12
+ this.onSourceClear = new EventEmitter();
13
+ }
14
+ ngOnInit() {
15
+ }
16
+ clearSource() {
17
+ this.onSourceClear.emit();
18
+ }
19
+ focusClearButton() {
20
+ this.clearButton?.clearButton.focus();
21
+ }
22
+ }
23
+ SourceAndTargetWrapperComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SourceAndTargetWrapperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
24
+ SourceAndTargetWrapperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: SourceAndTargetWrapperComponent, selector: "tld-source-and-target-wrapper", inputs: { clearSourceVisible: "clearSourceVisible", clearSourceTooltip: "clearSourceTooltip", clearDisabled: "clearDisabled", hideAchievement: "hideAchievement", textToSpeechSourceSettings: "textToSpeechSourceSettings" }, outputs: { onSourceClear: "onSourceClear" }, viewQueries: [{ propertyName: "clearButton", first: true, predicate: ["clearButton"], descendants: true }], ngImport: i0, template: "<div fxLayout=\"row\" class=\"source-target-wrapper\" fxLayout.lt-md=\"column\">\r\n <div class=\"source-wrapper\" [ngClass.gt-sm]=\"'tld-default-border-right'\" [ngClass.lt-md]=\"'tld-default-border-bottom'\"\r\n fxFlex fxLayout=\"column\">\r\n <div fxLayout=\"column\" class=\"source-wrapper-action-buttons\">\r\n <tld-close-button [tooltip]=\"clearSourceTooltip\" #clearButton (tldClick)=\"clearSource()\"\r\n *ngIf=\"clearSourceVisible\" [disabled]=\"clearDisabled\"></tld-close-button>\r\n <tld-text-to-speech *ngIf=\"textToSpeechSourceSettings\" [settings]=\"textToSpeechSourceSettings\">\r\n </tld-text-to-speech>\r\n </div>\r\n <div class=\"source-container\" fxFlex>\r\n <ng-content select=\"[sourceMain]\"></ng-content>\r\n </div>\r\n <div class=\"source-action-wrapper\">\r\n <ng-content select=\"[sourceActions]\"></ng-content>\r\n </div>\r\n </div>\r\n <div class=\"target-wrapper\" fxLayout=\"column\" fxFlex=\"50\">\r\n <div class=\"target-container\" fxFlex cdkScrollable>\r\n <ng-content select=\"[targetMain]\"></ng-content>\r\n </div>\r\n <div class=\"target-action-wrapper\">\r\n <ng-content select=\"[targetActions]\"></ng-content>\r\n </div>\r\n <tld-translate-achievement *ngIf=\"!hideAchievement\"></tld-translate-achievement>\r\n </div>\r\n</div>\r\n", styles: [".source-wrapper{position:relative}.source-wrapper .source-wrapper-action-buttons{position:absolute;top:0;right:0;z-index:2}tld-translate-achievement{padding:1em}.target-container,.source-container{flex:1 1 0!important}.source-container-wrapper,.target-container-wrapper,.source-target-wrapper{height:100%}.source-container,.target-container{overflow-y:auto}.target-wrapper{background:#ffffff;position:relative}:host{height:100%;max-height:100%}:host.empty-target .target-wrapper{background:#ffffff}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "directive", type: i3.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i3.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i4.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "component", type: i5.CloseButtonComponent, selector: "tld-close-button", inputs: ["ariaCode", "disabled", "tooltip"], outputs: ["tldClick"] }, { kind: "component", type: i6.TextToSpeechComponent, selector: "tld-text-to-speech", inputs: ["settings"] }, { kind: "component", type: i7.TldTranslateAchievementComponent, selector: "tld-translate-achievement" }] });
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SourceAndTargetWrapperComponent, decorators: [{
26
+ type: Component,
27
+ args: [{ selector: 'tld-source-and-target-wrapper', template: "<div fxLayout=\"row\" class=\"source-target-wrapper\" fxLayout.lt-md=\"column\">\r\n <div class=\"source-wrapper\" [ngClass.gt-sm]=\"'tld-default-border-right'\" [ngClass.lt-md]=\"'tld-default-border-bottom'\"\r\n fxFlex fxLayout=\"column\">\r\n <div fxLayout=\"column\" class=\"source-wrapper-action-buttons\">\r\n <tld-close-button [tooltip]=\"clearSourceTooltip\" #clearButton (tldClick)=\"clearSource()\"\r\n *ngIf=\"clearSourceVisible\" [disabled]=\"clearDisabled\"></tld-close-button>\r\n <tld-text-to-speech *ngIf=\"textToSpeechSourceSettings\" [settings]=\"textToSpeechSourceSettings\">\r\n </tld-text-to-speech>\r\n </div>\r\n <div class=\"source-container\" fxFlex>\r\n <ng-content select=\"[sourceMain]\"></ng-content>\r\n </div>\r\n <div class=\"source-action-wrapper\">\r\n <ng-content select=\"[sourceActions]\"></ng-content>\r\n </div>\r\n </div>\r\n <div class=\"target-wrapper\" fxLayout=\"column\" fxFlex=\"50\">\r\n <div class=\"target-container\" fxFlex cdkScrollable>\r\n <ng-content select=\"[targetMain]\"></ng-content>\r\n </div>\r\n <div class=\"target-action-wrapper\">\r\n <ng-content select=\"[targetActions]\"></ng-content>\r\n </div>\r\n <tld-translate-achievement *ngIf=\"!hideAchievement\"></tld-translate-achievement>\r\n </div>\r\n</div>\r\n", styles: [".source-wrapper{position:relative}.source-wrapper .source-wrapper-action-buttons{position:absolute;top:0;right:0;z-index:2}tld-translate-achievement{padding:1em}.target-container,.source-container{flex:1 1 0!important}.source-container-wrapper,.target-container-wrapper,.source-target-wrapper{height:100%}.source-container,.target-container{overflow-y:auto}.target-wrapper{background:#ffffff;position:relative}:host{height:100%;max-height:100%}:host.empty-target .target-wrapper{background:#ffffff}\n"] }]
28
+ }], ctorParameters: function () { return []; }, propDecorators: { clearButton: [{
29
+ type: ViewChild,
30
+ args: ["clearButton"]
31
+ }], clearSourceVisible: [{
32
+ type: Input
33
+ }], clearSourceTooltip: [{
34
+ type: Input
35
+ }], clearDisabled: [{
36
+ type: Input
37
+ }], hideAchievement: [{
38
+ type: Input
39
+ }], textToSpeechSourceSettings: [{
40
+ type: Input
41
+ }], onSourceClear: [{
42
+ type: Output
43
+ }] } });
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlLWFuZC10YXJnZXQtd3JhcHBlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90bGQtdHJhbnNsYXRlL3NyYy9saWIvbW9kdWxlcy90bGQtY29tbW9uL2NvbXBvbmVudHMvc291cmNlLWFuZC10YXJnZXQtd3JhcHBlci9zb3VyY2UtYW5kLXRhcmdldC13cmFwcGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RsZC10cmFuc2xhdGUvc3JjL2xpYi9tb2R1bGVzL3RsZC1jb21tb24vY29tcG9uZW50cy9zb3VyY2UtYW5kLXRhcmdldC13cmFwcGVyL3NvdXJjZS1hbmQtdGFyZ2V0LXdyYXBwZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7OztBQVMxRixNQUFNLE9BQU8sK0JBQStCO0lBVzFDO1FBRFUsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBQ2xDLENBQUM7SUFFakIsUUFBUTtJQUNSLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsSUFBSSxDQUFDLFdBQVcsRUFBRSxXQUFXLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDeEMsQ0FBQzs7NEhBdEJVLCtCQUErQjtnSEFBL0IsK0JBQStCLDRiQ1Q1Qyw2MENBMEJBOzJGRGpCYSwrQkFBK0I7a0JBTDNDLFNBQVM7K0JBQ0UsK0JBQStCOzBFQU1mLFdBQVc7c0JBQXBDLFNBQVM7dUJBQUMsYUFBYTtnQkFFZixrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRywwQkFBMEI7c0JBQWxDLEtBQUs7Z0JBRUksYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDbG9zZUJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJ0B0aWxkZS1ubHAvbmd4LWNvbW1vbic7XHJcbmltcG9ydCB7IFRleHRUb1NwZWVjaFNldHRpbmdzIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29tcG9uZW50cy9zaGFyZWQvdGV4dC10by1zcGVlY2gvbW9kZWxzL3RleHQtdG8tc3BlZWNoLXNldHRpbmdzLm1vZGVsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndGxkLXNvdXJjZS1hbmQtdGFyZ2V0LXdyYXBwZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zb3VyY2UtYW5kLXRhcmdldC13cmFwcGVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zb3VyY2UtYW5kLXRhcmdldC13cmFwcGVyLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFNvdXJjZUFuZFRhcmdldFdyYXBwZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBAVmlld0NoaWxkKFwiY2xlYXJCdXR0b25cIikgY2xlYXJCdXR0b246IENsb3NlQnV0dG9uQ29tcG9uZW50O1xyXG5cclxuICBASW5wdXQoKSBjbGVhclNvdXJjZVZpc2libGU6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgY2xlYXJTb3VyY2VUb29sdGlwOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgY2xlYXJEaXNhYmxlZDogYm9vbGVhbjtcclxuICBASW5wdXQoKSBoaWRlQWNoaWV2ZW1lbnQ6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgdGV4dFRvU3BlZWNoU291cmNlU2V0dGluZ3M6IFRleHRUb1NwZWVjaFNldHRpbmdzO1xyXG5cclxuICBAT3V0cHV0KCkgb25Tb3VyY2VDbGVhciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gIH1cclxuXHJcbiAgY2xlYXJTb3VyY2UoKXtcclxuICAgIHRoaXMub25Tb3VyY2VDbGVhci5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBmb2N1c0NsZWFyQnV0dG9uKCl7XHJcbiAgICB0aGlzLmNsZWFyQnV0dG9uPy5jbGVhckJ1dHRvbi5mb2N1cygpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGZ4TGF5b3V0PVwicm93XCIgY2xhc3M9XCJzb3VyY2UtdGFyZ2V0LXdyYXBwZXJcIiBmeExheW91dC5sdC1tZD1cImNvbHVtblwiPlxyXG4gIDxkaXYgY2xhc3M9XCJzb3VyY2Utd3JhcHBlclwiIFtuZ0NsYXNzLmd0LXNtXT1cIid0bGQtZGVmYXVsdC1ib3JkZXItcmlnaHQnXCIgW25nQ2xhc3MubHQtbWRdPVwiJ3RsZC1kZWZhdWx0LWJvcmRlci1ib3R0b20nXCJcclxuICAgIGZ4RmxleCBmeExheW91dD1cImNvbHVtblwiPlxyXG4gICAgPGRpdiBmeExheW91dD1cImNvbHVtblwiIGNsYXNzPVwic291cmNlLXdyYXBwZXItYWN0aW9uLWJ1dHRvbnNcIj5cclxuICAgICAgPHRsZC1jbG9zZS1idXR0b24gW3Rvb2x0aXBdPVwiY2xlYXJTb3VyY2VUb29sdGlwXCIgI2NsZWFyQnV0dG9uICh0bGRDbGljayk9XCJjbGVhclNvdXJjZSgpXCJcclxuICAgICAgKm5nSWY9XCJjbGVhclNvdXJjZVZpc2libGVcIiBbZGlzYWJsZWRdPVwiY2xlYXJEaXNhYmxlZFwiPjwvdGxkLWNsb3NlLWJ1dHRvbj5cclxuICAgICAgPHRsZC10ZXh0LXRvLXNwZWVjaCAqbmdJZj1cInRleHRUb1NwZWVjaFNvdXJjZVNldHRpbmdzXCIgW3NldHRpbmdzXT1cInRleHRUb1NwZWVjaFNvdXJjZVNldHRpbmdzXCI+XHJcbiAgICAgIDwvdGxkLXRleHQtdG8tc3BlZWNoPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwic291cmNlLWNvbnRhaW5lclwiIGZ4RmxleD5cclxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3NvdXJjZU1haW5dXCI+PC9uZy1jb250ZW50PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwic291cmNlLWFjdGlvbi13cmFwcGVyXCI+XHJcbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltzb3VyY2VBY3Rpb25zXVwiPjwvbmctY29udGVudD5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJ0YXJnZXQtd3JhcHBlclwiIGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhGbGV4PVwiNTBcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJ0YXJnZXQtY29udGFpbmVyXCIgZnhGbGV4IGNka1Njcm9sbGFibGU+XHJcbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIlt0YXJnZXRNYWluXVwiPjwvbmctY29udGVudD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInRhcmdldC1hY3Rpb24td3JhcHBlclwiPlxyXG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbdGFyZ2V0QWN0aW9uc11cIj48L25nLWNvbnRlbnQ+XHJcbiAgICA8L2Rpdj5cclxuICAgIDx0bGQtdHJhbnNsYXRlLWFjaGlldmVtZW50ICpuZ0lmPVwiIWhpZGVBY2hpZXZlbWVudFwiPjwvdGxkLXRyYW5zbGF0ZS1hY2hpZXZlbWVudD5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -0,0 +1,103 @@
1
+ import { Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
+ import { FileUploadErrorTypeEnum } from '../../models';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ import * as i2 from "@angular/material/button";
6
+ import * as i3 from "@angular/material/progress-bar";
7
+ import * as i4 from "@angular/flex-layout/extended";
8
+ import * as i5 from "../../directives/drag-and-drop.directive";
9
+ export class TldFileUploadComponent {
10
+ constructor() {
11
+ this.fileChange = new EventEmitter();
12
+ this.onError = new EventEmitter();
13
+ this._accept = [];
14
+ this.multiple = false;
15
+ }
16
+ set accept(val) {
17
+ this._accept = val;
18
+ this.allowedExtensions = val ? val.join(",") : "";
19
+ }
20
+ ;
21
+ get accept() { return this._accept; }
22
+ ;
23
+ handleFileInput(event) {
24
+ this.validate(event.target.files);
25
+ }
26
+ onFileDrop(files) {
27
+ this.validate(files);
28
+ }
29
+ emit(files) {
30
+ if (files && files.length > 0) {
31
+ this.fileChange.emit(files);
32
+ }
33
+ }
34
+ emitError(error) {
35
+ this.onError.emit(error);
36
+ }
37
+ validate(files) {
38
+ //let size = 0;
39
+ const validFiles = [];
40
+ for (let i = 0; i < files.length; i++) {
41
+ const file = files[i];
42
+ if (!this.allowEmpty && file.size == 0) {
43
+ this.emitError({ code: FileUploadErrorTypeEnum.FILE_EMPTY, error: "File is empty", fileName: file.name });
44
+ return;
45
+ }
46
+ //size += file.size;
47
+ const extensionErrorCode = this.getExtensionErrorCode(file.name);
48
+ if (extensionErrorCode) {
49
+ const error = { code: extensionErrorCode, error: "Not valid extension.", fileName: file.name };
50
+ this.emitError(error);
51
+ }
52
+ else if (this.maxSize && file.size > this.maxSize) {
53
+ const error = { code: FileUploadErrorTypeEnum.MAX_SIZE, error: "Maximum allowed file size exceeded.", fileName: file.name };
54
+ this.emitError(error);
55
+ }
56
+ else {
57
+ validFiles.push(file);
58
+ }
59
+ }
60
+ this.emit(validFiles);
61
+ this.fileInput.nativeElement.value = '';
62
+ }
63
+ getExtensionErrorCode(fileName) {
64
+ const extension = fileName.slice(fileName.lastIndexOf('.')).toLowerCase();
65
+ if (this.accept.length == 0 || (this.accept.length == 1 && this.accept[0] == '*') || this.accept.includes(extension)) {
66
+ return null;
67
+ }
68
+ else {
69
+ return this.extendedAcceptList?.includes(extension) ? FileUploadErrorTypeEnum.FILE_UPLOAD_UNSUPPORTED_FORMAT_REGISTER : FileUploadErrorTypeEnum.FILE_UPLOAD_UNSUPPORTED_FORMAT;
70
+ }
71
+ }
72
+ }
73
+ TldFileUploadComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TldFileUploadComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
74
+ TldFileUploadComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: TldFileUploadComponent, selector: "tld-file-upload", inputs: { accept: "accept", maxSize: "maxSize", multiple: "multiple", filePreviewProgress: "filePreviewProgress", allowEmpty: "allowEmpty", disabled: "disabled", extendedAcceptList: "extendedAcceptList" }, outputs: { fileChange: "fileChange", onError: "onError" }, viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true }, { propertyName: "inputButton", first: true, predicate: ["inputButton"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div class=\"file-upload\" [ngClass.lt-sm]=\"'file-upload-mobile'\">\r\n <mat-progress-bar class=\"tld-file-upload-progress\" color=\"primary\" [value]=\"filePreviewProgress\"\r\n *ngIf=\"filePreviewProgress\"></mat-progress-bar>\r\n <button tldDragAndDrop #inputButton mat-button (fileDropped)=\"onFileDrop($event)\" [disabled]=\"disabled\" type=\"button\"\r\n (click)=\"fileInput.click()\" class=\"upload-button\">\r\n <ng-content></ng-content>\r\n </button>\r\n</div>\r\n<input #fileInput type=\"file\" (change)=\"handleFileInput($event)\" name=\"files\" class=\"native-file-input\"\r\n [accept]=\"allowedExtensions\" [multiple]=\"multiple\" />", styles: [".file-name-list{margin-left:15px}.file-name-label{word-break:break-all}.file-upload{max-width:100%;width:100%}.file-upload .upload-button{width:100%;font-size:1em;border:1px dashed #9aa5b1;border-radius:16px;background-color:#fff;font-family:Inter,sans-serif;padding:1em;white-space:normal;line-height:normal;text-align:left}.file-upload-mobile .upload-button{border-top:2px solid var(--base-70);border-bottom:2px solid var(--base-70);border-right:2px solid var(--base-70);border-left:2px solid var(--base-70);padding:.5em 1em!important}.tld-file-over{background-color:#e5e7e8!important;border-color:#00f!important}.mat-stroked-button .mat-button-wrapper{pointer-events:none}.native-file-input{display:none}.tld-file-upload-progress ::ng-deep .mat-progress-bar-fill:after{background-color:#1e457c}.tld-file-upload-progress ::ng-deep .mat-progress-bar-buffer{background:white}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i3.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "directive", type: i4.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "directive", type: i5.DragAndDropDirective, selector: "[tldDragAndDrop]", outputs: ["fileDropped"] }] });
75
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TldFileUploadComponent, decorators: [{
76
+ type: Component,
77
+ args: [{ selector: 'tld-file-upload', template: "<div class=\"file-upload\" [ngClass.lt-sm]=\"'file-upload-mobile'\">\r\n <mat-progress-bar class=\"tld-file-upload-progress\" color=\"primary\" [value]=\"filePreviewProgress\"\r\n *ngIf=\"filePreviewProgress\"></mat-progress-bar>\r\n <button tldDragAndDrop #inputButton mat-button (fileDropped)=\"onFileDrop($event)\" [disabled]=\"disabled\" type=\"button\"\r\n (click)=\"fileInput.click()\" class=\"upload-button\">\r\n <ng-content></ng-content>\r\n </button>\r\n</div>\r\n<input #fileInput type=\"file\" (change)=\"handleFileInput($event)\" name=\"files\" class=\"native-file-input\"\r\n [accept]=\"allowedExtensions\" [multiple]=\"multiple\" />", styles: [".file-name-list{margin-left:15px}.file-name-label{word-break:break-all}.file-upload{max-width:100%;width:100%}.file-upload .upload-button{width:100%;font-size:1em;border:1px dashed #9aa5b1;border-radius:16px;background-color:#fff;font-family:Inter,sans-serif;padding:1em;white-space:normal;line-height:normal;text-align:left}.file-upload-mobile .upload-button{border-top:2px solid var(--base-70);border-bottom:2px solid var(--base-70);border-right:2px solid var(--base-70);border-left:2px solid var(--base-70);padding:.5em 1em!important}.tld-file-over{background-color:#e5e7e8!important;border-color:#00f!important}.mat-stroked-button .mat-button-wrapper{pointer-events:none}.native-file-input{display:none}.tld-file-upload-progress ::ng-deep .mat-progress-bar-fill:after{background-color:#1e457c}.tld-file-upload-progress ::ng-deep .mat-progress-bar-buffer{background:white}\n"] }]
78
+ }], propDecorators: { fileInput: [{
79
+ type: ViewChild,
80
+ args: ['fileInput']
81
+ }], inputButton: [{
82
+ type: ViewChild,
83
+ args: ['inputButton', { read: ElementRef }]
84
+ }], fileChange: [{
85
+ type: Output
86
+ }], onError: [{
87
+ type: Output
88
+ }], accept: [{
89
+ type: Input
90
+ }], maxSize: [{
91
+ type: Input
92
+ }], multiple: [{
93
+ type: Input
94
+ }], filePreviewProgress: [{
95
+ type: Input
96
+ }], allowEmpty: [{
97
+ type: Input
98
+ }], disabled: [{
99
+ type: Input
100
+ }], extendedAcceptList: [{
101
+ type: Input
102
+ }] } });
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGxkLWZpbGUtdXBsb2FkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RsZC10cmFuc2xhdGUvc3JjL2xpYi9tb2R1bGVzL3RsZC1jb21tb24vY29tcG9uZW50cy90bGQtZmlsZS11cGxvYWQvdGxkLWZpbGUtdXBsb2FkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RsZC10cmFuc2xhdGUvc3JjL2xpYi9tb2R1bGVzL3RsZC1jb21tb24vY29tcG9uZW50cy90bGQtZmlsZS11cGxvYWQvdGxkLWZpbGUtdXBsb2FkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RixPQUFPLEVBQW9CLHVCQUF1QixFQUFFLE1BQU0sY0FBYyxDQUFDOzs7Ozs7O0FBT3pFLE1BQU0sT0FBTyxzQkFBc0I7SUFMbkM7UUFVWSxlQUFVLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFDOUQsWUFBTyxHQUFtQyxJQUFJLFlBQVksRUFBb0IsQ0FBQztRQUNqRixZQUFPLEdBQWEsRUFBRSxDQUFDO1FBT3RCLGFBQVEsR0FBRyxLQUFLLENBQUM7S0FvRTNCO0lBMUVDLElBQWEsTUFBTSxDQUFDLEdBQWE7UUFDL0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUM7UUFDbkIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ3BELENBQUM7SUFBQSxDQUFDO0lBQ0YsSUFBSSxNQUFNLEtBQUssT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFB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STtZQUNILE9BQU8sSUFBSSxDQUFDLGtCQUFrQixFQUFFLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsdUJBQXVCLENBQUMsdUNBQXVDLENBQUMsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLDhCQUE4QixDQUFDO1NBQ2hMO0lBQ0gsQ0FBQzs7bUhBaEZVLHNCQUFzQjt1R0FBdEIsc0JBQXNCLGdmQUdDLFVBQVUsNkJDWDlDLHNwQkFTdUQ7MkZERDFDLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDRSxpQkFBaUI7OEJBTUgsU0FBUztzQkFBaEMsU0FBUzt1QkFBQyxXQUFXO2dCQUMwQixXQUFXO3NCQUExRCxTQUFTO3VCQUFDLGFBQWEsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBRXBDLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csT0FBTztzQkFBaEIsTUFBTTtnQkFFTSxNQUFNO3NCQUFsQixLQUFLO2dCQUtHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBR0csa0JBQWtCO3NCQUExQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBJRmlsZVVwbG9hZEVycm9yLCBGaWxlVXBsb2FkRXJyb3JUeXBlRW51bSB9IGZyb20gJy4uLy4uL21vZGVscyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3RsZC1maWxlLXVwbG9hZCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RsZC1maWxlLXVwbG9hZC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdGxkLWZpbGUtdXBsb2FkLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFRsZEZpbGVVcGxvYWRDb21wb25lbnQge1xyXG5cclxuICBAVmlld0NoaWxkKCdmaWxlSW5wdXQnKSBmaWxlSW5wdXQ6IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZCgnaW5wdXRCdXR0b24nLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSkgaW5wdXRCdXR0b246IEVsZW1lbnRSZWY7XHJcblxyXG4gIEBPdXRwdXQoKSBmaWxlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8RmlsZVtdPiA9IG5ldyBFdmVudEVtaXR0ZXI8RmlsZVtdPigpO1xyXG4gIEBPdXRwdXQoKSBvbkVycm9yOiBFdmVudEVtaXR0ZXI8SUZpbGVVcGxvYWRFcnJvcj4gPSBuZXcgRXZlbnRFbWl0dGVyPElGaWxlVXBsb2FkRXJyb3I+KCk7XHJcbiAgcHJpdmF0ZSBfYWNjZXB0OiBzdHJpbmdbXSA9IFtdO1xyXG4gIEBJbnB1dCgpIHNldCBhY2NlcHQodmFsOiBzdHJpbmdbXSkge1xyXG4gICAgdGhpcy5fYWNjZXB0ID0gdmFsO1xyXG4gICAgdGhpcy5hbGxvd2VkRXh0ZW5zaW9ucyA9IHZhbCA/IHZhbC5qb2luKFwiLFwiKSA6IFwiXCI7XHJcbiAgfTtcclxuICBnZXQgYWNjZXB0KCkgeyByZXR1cm4gdGhpcy5fYWNjZXB0IH07XHJcbiAgQElucHV0KCkgbWF4U2l6ZTogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIG11bHRpcGxlID0gZmFsc2U7XHJcbiAgQElucHV0KCkgZmlsZVByZXZpZXdQcm9ncmVzczogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIGFsbG93RW1wdHk6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47XHJcblxyXG4gIC8qKiBzYW1lIGFzIGFjY2VwdCBidXQgZm9yIHJlZ2lzdGVyZWQgdXNlcnMuIEl0IGNoYW5nZXMgZXJyb3IgbWVzc2FnZSBpZiBleHRlbnNpb24gaXMgc3VwcG9ydGVkIGZvciByZWdpc3RlcmVkIHVzZXJzLiAqL1xyXG4gIEBJbnB1dCgpIGV4dGVuZGVkQWNjZXB0TGlzdDogc3RyaW5nW107XHJcblxyXG4gIGFsbG93ZWRFeHRlbnNpb25zOiBzdHJpbmc7XHJcblxyXG4gIGhhbmRsZUZpbGVJbnB1dChldmVudDogYW55KSB7XHJcbiAgICB0aGlzLnZhbGlkYXRlKGV2ZW50LnRhcmdldC5maWxlcyk7XHJcbiAgfVxyXG5cclxuXHJcbiAgb25GaWxlRHJvcChmaWxlczogRmlsZUxpc3QpIHtcclxuICAgIHRoaXMudmFsaWRhdGUoZmlsZXMpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBlbWl0KGZpbGVzOiBGaWxlW10pIHtcclxuICAgIGlmIChmaWxlcyAmJiBmaWxlcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMuZmlsZUNoYW5nZS5lbWl0KGZpbGVzKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZW1pdEVycm9yKGVycm9yOiBJRmlsZVVwbG9hZEVycm9yKSB7XHJcbiAgICB0aGlzLm9uRXJyb3IuZW1pdChlcnJvcik7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHZhbGlkYXRlKGZpbGVzOiBGaWxlTGlzdCkge1xyXG4gICAgLy9sZXQgc2l6ZSA9IDA7XHJcbiAgICBjb25zdCB2YWxpZEZpbGVzOiBGaWxlW10gPSBbXTtcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZmlsZXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgY29uc3QgZmlsZSA9IGZpbGVzW2ldO1xyXG4gICAgICBpZiAoIXRoaXMuYWxsb3dFbXB0eSAmJiBmaWxlLnNpemUgPT0gMCkge1xyXG4gICAgICAgIHRoaXMuZW1pdEVycm9yKHsgY29kZTogRmlsZVVwbG9hZEVycm9yVHlwZUVudW0uRklMRV9FTVBUWSwgZXJyb3I6IFwiRmlsZSBpcyBlbXB0eVwiLCBmaWxlTmFtZTogZmlsZS5uYW1lIH0pO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICAvL3NpemUgKz0gZmlsZS5zaXplO1xyXG4gICAgICBjb25zdCBleHRlbnNpb25FcnJvckNvZGUgPSB0aGlzLmdldEV4dGVuc2lvbkVycm9yQ29kZShmaWxlLm5hbWUpO1xyXG4gICAgICBpZiAoZXh0ZW5zaW9uRXJyb3JDb2RlKSB7XHJcbiAgICAgICAgY29uc3QgZXJyb3IgPSB7IGNvZGU6IGV4dGVuc2lvbkVycm9yQ29kZSwgZXJyb3I6IFwiTm90IHZhbGlkIGV4dGVuc2lvbi5cIiwgZmlsZU5hbWU6IGZpbGUubmFtZSB9O1xyXG4gICAgICAgIHRoaXMuZW1pdEVycm9yKGVycm9yKTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmICh0aGlzLm1heFNpemUgJiYgZmlsZS5zaXplID4gdGhpcy5tYXhTaXplKSB7XHJcbiAgICAgICAgY29uc3QgZXJyb3IgPSB7IGNvZGU6IEZpbGVVcGxvYWRFcnJvclR5cGVFbnVtLk1BWF9TSVpFLCBlcnJvcjogXCJNYXhpbXVtIGFsbG93ZWQgZmlsZSBzaXplIGV4Y2VlZGVkLlwiLCBmaWxlTmFtZTogZmlsZS5uYW1lIH07XHJcbiAgICAgICAgdGhpcy5lbWl0RXJyb3IoZXJyb3IpO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2V7XHJcbiAgICAgICAgdmFsaWRGaWxlcy5wdXNoKGZpbGUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5lbWl0KHZhbGlkRmlsZXMpO1xyXG4gICAgdGhpcy5maWxlSW5wdXQubmF0aXZlRWxlbWVudC52YWx1ZSA9ICcnO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRFeHRlbnNpb25FcnJvckNvZGUoZmlsZU5hbWU6IHN0cmluZyk6IEZpbGVVcGxvYWRFcnJvclR5cGVFbnVtIHtcclxuICAgIGNvbnN0IGV4dGVuc2lvbiA9IGZpbGVOYW1lLnNsaWNlKGZpbGVOYW1lLmxhc3RJbmRleE9mKCcuJykpLnRvTG93ZXJDYXNlKClcclxuICAgIGlmIChcclxuICAgICAgdGhpcy5hY2NlcHQubGVuZ3RoID09IDAgfHwgKHRoaXMuYWNjZXB0Lmxlbmd0aCA9PSAxICYmIHRoaXMuYWNjZXB0WzBdID09ICcqJykgfHwgdGhpcy5hY2NlcHQuaW5jbHVkZXMoZXh0ZW5zaW9uKSkge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICByZXR1cm4gdGhpcy5leHRlbmRlZEFjY2VwdExpc3Q/LmluY2x1ZGVzKGV4dGVuc2lvbikgPyBGaWxlVXBsb2FkRXJyb3JUeXBlRW51bS5GSUxFX1VQTE9BRF9VTlNVUFBPUlRFRF9GT1JNQVRfUkVHSVNURVIgOiBGaWxlVXBsb2FkRXJyb3JUeXBlRW51bS5GSUxFX1VQTE9BRF9VTlNVUFBPUlRFRF9GT1JNQVQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiZmlsZS11cGxvYWRcIiBbbmdDbGFzcy5sdC1zbV09XCInZmlsZS11cGxvYWQtbW9iaWxlJ1wiPlxyXG4gIDxtYXQtcHJvZ3Jlc3MtYmFyIGNsYXNzPVwidGxkLWZpbGUtdXBsb2FkLXByb2dyZXNzXCIgY29sb3I9XCJwcmltYXJ5XCIgW3ZhbHVlXT1cImZpbGVQcmV2aWV3UHJvZ3Jlc3NcIlxyXG4gICAgKm5nSWY9XCJmaWxlUHJldmlld1Byb2dyZXNzXCI+PC9tYXQtcHJvZ3Jlc3MtYmFyPlxyXG4gIDxidXR0b24gdGxkRHJhZ0FuZERyb3AgI2lucHV0QnV0dG9uIG1hdC1idXR0b24gKGZpbGVEcm9wcGVkKT1cIm9uRmlsZURyb3AoJGV2ZW50KVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIHR5cGU9XCJidXR0b25cIlxyXG4gICAgKGNsaWNrKT1cImZpbGVJbnB1dC5jbGljaygpXCIgY2xhc3M9XCJ1cGxvYWQtYnV0dG9uXCI+XHJcbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgPC9idXR0b24+XHJcbjwvZGl2PlxyXG48aW5wdXQgI2ZpbGVJbnB1dCB0eXBlPVwiZmlsZVwiIChjaGFuZ2UpPVwiaGFuZGxlRmlsZUlucHV0KCRldmVudClcIiBuYW1lPVwiZmlsZXNcIiBjbGFzcz1cIm5hdGl2ZS1maWxlLWlucHV0XCJcclxuICBbYWNjZXB0XT1cImFsbG93ZWRFeHRlbnNpb25zXCIgW211bHRpcGxlXT1cIm11bHRpcGxlXCIgLz4iXX0=