@tilde-nlp/ngx-common 6.1.93 → 7.0.1

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 (328) hide show
  1. package/fesm2022/tilde-nlp-ngx-common.mjs +153 -146
  2. package/fesm2022/tilde-nlp-ngx-common.mjs.map +1 -1
  3. package/package.json +5 -7
  4. package/styles/tilde-theme.scss +2 -1
  5. package/web-components/3rdpartylicenses.txt +22 -22
  6. package/web-components/index.html +2 -2
  7. package/web-components/main.js +31 -14
  8. package/web-components/polyfills.js +3 -3
  9. package/web-components/prerendered-routes.json +3 -0
  10. package/web-components/styles.css +1 -1
  11. package/esm2022/lib/close-button/close-button.component.mjs +0 -53
  12. package/esm2022/lib/close-button/close-button.module.mjs +0 -37
  13. package/esm2022/lib/close-button/index.mjs +0 -3
  14. package/esm2022/lib/company-product/company-product.component.mjs +0 -34
  15. package/esm2022/lib/company-product/company-product.module.mjs +0 -23
  16. package/esm2022/lib/company-product/index.mjs +0 -3
  17. package/esm2022/lib/confirmation-modal/confirmation-modal.component.mjs +0 -78
  18. package/esm2022/lib/confirmation-modal/confirmation-modal.module.mjs +0 -22
  19. package/esm2022/lib/confirmation-modal/index.mjs +0 -6
  20. package/esm2022/lib/confirmation-modal/models/confirmation-body.model.mjs +0 -2
  21. package/esm2022/lib/confirmation-modal/models/confirmation.enum.mjs +0 -6
  22. package/esm2022/lib/confirmation-modal/services/confirmation.service.mjs +0 -25
  23. package/esm2022/lib/confirmation-modal/services/index.mjs +0 -2
  24. package/esm2022/lib/constants/error-codes.const.mjs +0 -5
  25. package/esm2022/lib/constants/index.mjs +0 -4
  26. package/esm2022/lib/constants/last-used-system-local-storage-key.const.mjs +0 -6
  27. package/esm2022/lib/constants/screen-size.const.mjs +0 -11
  28. package/esm2022/lib/core/auth/addon.model.mjs +0 -2
  29. package/esm2022/lib/core/auth/auth-subscription.model.mjs +0 -2
  30. package/esm2022/lib/core/auth/index.mjs +0 -5
  31. package/esm2022/lib/core/auth/jwt-token.model.mjs +0 -2
  32. package/esm2022/lib/core/auth/subscription-plan.enum.mjs +0 -18
  33. package/esm2022/lib/core/index.mjs +0 -4
  34. package/esm2022/lib/core/localization/index.mjs +0 -3
  35. package/esm2022/lib/core/localization/missing-translation-handler.service.mjs +0 -21
  36. package/esm2022/lib/core/localization/select-language-dialog-component/index.mjs +0 -2
  37. package/esm2022/lib/core/localization/select-language-dialog-component/select-language-dialog.component.mjs +0 -109
  38. package/esm2022/lib/core/title-strategy/custom-title-strategy.provider.mjs +0 -9
  39. package/esm2022/lib/core/title-strategy/custom-title-strategy.service.mjs +0 -41
  40. package/esm2022/lib/core/title-strategy/index.mjs +0 -3
  41. package/esm2022/lib/directives/click-outside/click-outside.directive.mjs +0 -31
  42. package/esm2022/lib/directives/click-outside/click-outside.module.mjs +0 -25
  43. package/esm2022/lib/directives/click-outside/index.mjs +0 -3
  44. package/esm2022/lib/directives/drag-and-drop/drag-and-drop.directive.mjs +0 -66
  45. package/esm2022/lib/directives/drag-and-drop/drag-and-drop.module.mjs +0 -25
  46. package/esm2022/lib/directives/drag-and-drop/index.mjs +0 -3
  47. package/esm2022/lib/directives/index.mjs +0 -4
  48. package/esm2022/lib/directives/mat-button-loading/index.mjs +0 -3
  49. package/esm2022/lib/directives/mat-button-loading/mat-button-loading.directive.mjs +0 -65
  50. package/esm2022/lib/directives/mat-button-loading/mat-button-loading.module.mjs +0 -21
  51. package/esm2022/lib/extension-dialog/components/index.mjs +0 -2
  52. package/esm2022/lib/extension-dialog/components/open-extension-dialog/open-extension-dialog.component.mjs +0 -32
  53. package/esm2022/lib/extension-dialog/extension-dialog.component.mjs +0 -231
  54. package/esm2022/lib/extension-dialog/extension-dialog.module.mjs +0 -52
  55. package/esm2022/lib/extension-dialog/icons/file-types/excel.icon.mjs +0 -22
  56. package/esm2022/lib/extension-dialog/icons/file-types/index.mjs +0 -10
  57. package/esm2022/lib/extension-dialog/icons/file-types/interchange.icon.mjs +0 -6
  58. package/esm2022/lib/extension-dialog/icons/file-types/office-other.icon.mjs +0 -6
  59. package/esm2022/lib/extension-dialog/icons/file-types/other.icon.mjs +0 -6
  60. package/esm2022/lib/extension-dialog/icons/file-types/pdf.icon.mjs +0 -12
  61. package/esm2022/lib/extension-dialog/icons/file-types/powerpoint.icon.mjs +0 -10
  62. package/esm2022/lib/extension-dialog/icons/file-types/scanned.icon.mjs +0 -6
  63. package/esm2022/lib/extension-dialog/icons/file-types/web.icon.mjs +0 -6
  64. package/esm2022/lib/extension-dialog/icons/file-types/word.icon.mjs +0 -11
  65. package/esm2022/lib/extension-dialog/icons/index.mjs +0 -2
  66. package/esm2022/lib/extension-dialog/index.mjs +0 -6
  67. package/esm2022/lib/extension-dialog/models/enums/file-categories.enum.mjs +0 -9
  68. package/esm2022/lib/extension-dialog/models/enums/file-extensions.enum.mjs +0 -36
  69. package/esm2022/lib/extension-dialog/models/enums/file-type-icons.enum.mjs +0 -13
  70. package/esm2022/lib/extension-dialog/models/enums/file-types.enum.mjs +0 -13
  71. package/esm2022/lib/extension-dialog/models/enums/index.mjs +0 -5
  72. package/esm2022/lib/extension-dialog/models/index.mjs +0 -3
  73. package/esm2022/lib/extension-dialog/models/interfaces/config.mjs +0 -2
  74. package/esm2022/lib/extension-dialog/models/interfaces/dialog-data.model.mjs +0 -2
  75. package/esm2022/lib/extension-dialog/models/interfaces/index.mjs +0 -3
  76. package/esm2022/lib/extension-dialog/services/extension-dialog.service.mjs +0 -22
  77. package/esm2022/lib/extension-dialog/services/index.mjs +0 -2
  78. package/esm2022/lib/file-upload/file-upload.component.mjs +0 -254
  79. package/esm2022/lib/file-upload/file-upload.module.mjs +0 -51
  80. package/esm2022/lib/file-upload/index.mjs +0 -4
  81. package/esm2022/lib/file-upload/models/file-upload-error-type.enum.mjs +0 -8
  82. package/esm2022/lib/file-upload/models/file-upload-error.model.mjs +0 -2
  83. package/esm2022/lib/file-upload/models/file-upload.icon.mjs +0 -2
  84. package/esm2022/lib/file-upload/models/index.mjs +0 -3
  85. package/esm2022/lib/filter-bar/filter-bar.component.mjs +0 -409
  86. package/esm2022/lib/filter-bar/filter-bar.module.mjs +0 -72
  87. package/esm2022/lib/filter-bar/index.mjs +0 -4
  88. package/esm2022/lib/filter-bar/models/filter-bar-change-event.model.mjs +0 -2
  89. package/esm2022/lib/filter-bar/models/filter-bar-filter-item.model.mjs +0 -2
  90. package/esm2022/lib/filter-bar/models/filter-bar-filter-search.model.mjs +0 -2
  91. package/esm2022/lib/filter-bar/models/filter-bar-filter-single-selection.model.mjs +0 -2
  92. package/esm2022/lib/filter-bar/models/filter-bar-filter.model.mjs +0 -2
  93. package/esm2022/lib/filter-bar/models/filter-bar-settings.model.mjs +0 -2
  94. package/esm2022/lib/filter-bar/models/index.mjs +0 -5
  95. package/esm2022/lib/footer/footer.component.mjs +0 -143
  96. package/esm2022/lib/footer/footer.module.mjs +0 -35
  97. package/esm2022/lib/footer/index.mjs +0 -3
  98. package/esm2022/lib/global-message/global-message.component.mjs +0 -51
  99. package/esm2022/lib/global-message/index.mjs +0 -2
  100. package/esm2022/lib/helpers/auth-headers.helper.mjs +0 -19
  101. package/esm2022/lib/helpers/conversion.helper.mjs +0 -11
  102. package/esm2022/lib/helpers/custom-paginator-internatioinalization.helper.mjs +0 -56
  103. package/esm2022/lib/helpers/file-extension.helper.mjs +0 -6
  104. package/esm2022/lib/helpers/file-size-label.helper.mjs +0 -27
  105. package/esm2022/lib/helpers/hash.helper.mjs +0 -14
  106. package/esm2022/lib/helpers/html-element-parse.helper.mjs +0 -15
  107. package/esm2022/lib/helpers/html.helper.mjs +0 -57
  108. package/esm2022/lib/helpers/index.mjs +0 -13
  109. package/esm2022/lib/helpers/missing-translation.helper.mjs +0 -7
  110. package/esm2022/lib/helpers/resolution.helper.mjs +0 -7
  111. package/esm2022/lib/helpers/save-file.helper.mjs +0 -14
  112. package/esm2022/lib/helpers/sort.helper.mjs +0 -73
  113. package/esm2022/lib/inline-message/index.mjs +0 -4
  114. package/esm2022/lib/inline-message/inline-message.component.mjs +0 -71
  115. package/esm2022/lib/inline-message/inline-message.module.mjs +0 -33
  116. package/esm2022/lib/inline-message/models/index.mjs +0 -4
  117. package/esm2022/lib/inline-message/models/inline-message-icon-position.enum.mjs +0 -6
  118. package/esm2022/lib/inline-message/models/inline-message-type.enum.mjs +0 -7
  119. package/esm2022/lib/inline-message/models/inline-message.model.mjs +0 -2
  120. package/esm2022/lib/llm/components/llm-rephrase/llm-rephrase.component.mjs +0 -48
  121. package/esm2022/lib/llm/components/llm-summary/llm-summary.component.mjs +0 -48
  122. package/esm2022/lib/llm/components/llm-textarea-with-actions/llm-textarea-with-actions.component.mjs +0 -337
  123. package/esm2022/lib/llm/icons/index.mjs +0 -2
  124. package/esm2022/lib/llm/icons/llm-menu.icon.mjs +0 -14
  125. package/esm2022/lib/llm/index.mjs +0 -4
  126. package/esm2022/lib/llm/llm.component.mjs +0 -122
  127. package/esm2022/lib/llm/llm.module.mjs +0 -86
  128. package/esm2022/lib/llm/models/index.mjs +0 -4
  129. package/esm2022/lib/llm/models/llm-actions.enum.mjs +0 -6
  130. package/esm2022/lib/llm/models/llm-configuration.model.mjs +0 -2
  131. package/esm2022/lib/llm/models/llm-configuration.token.mjs +0 -3
  132. package/esm2022/lib/llm/models/llm-data.model.mjs +0 -2
  133. package/esm2022/lib/llm/models/llm-writing-style.enum.mjs +0 -7
  134. package/esm2022/lib/llm/services/llm-helper.service.mjs +0 -102
  135. package/esm2022/lib/llm/shared/llm-textarea/llm-textarea.component.mjs +0 -111
  136. package/esm2022/lib/multi-functional-table/constants/disable-export-attribute-name.const.mjs +0 -2
  137. package/esm2022/lib/multi-functional-table/constants/index.mjs +0 -2
  138. package/esm2022/lib/multi-functional-table/index.mjs +0 -5
  139. package/esm2022/lib/multi-functional-table/models/batch-config.model.mjs +0 -2
  140. package/esm2022/lib/multi-functional-table/models/column-config.model.mjs +0 -2
  141. package/esm2022/lib/multi-functional-table/models/column-select-config.model.mjs +0 -2
  142. package/esm2022/lib/multi-functional-table/models/export-config.model.mjs +0 -2
  143. package/esm2022/lib/multi-functional-table/models/export-format.enum.mjs +0 -5
  144. package/esm2022/lib/multi-functional-table/models/filter-config.model.mjs +0 -2
  145. package/esm2022/lib/multi-functional-table/models/index.mjs +0 -8
  146. package/esm2022/lib/multi-functional-table/models/multi-functional-table-config.model.mjs +0 -2
  147. package/esm2022/lib/multi-functional-table/models/paginator-config.model.mjs +0 -2
  148. package/esm2022/lib/multi-functional-table/models/selected-column-local-storage-config.model.mjs +0 -2
  149. package/esm2022/lib/multi-functional-table/multi-functional-table.component.mjs +0 -691
  150. package/esm2022/lib/multi-functional-table/multi-functional-table.module.mjs +0 -93
  151. package/esm2022/lib/new-feature-dialog/index.mjs +0 -3
  152. package/esm2022/lib/new-feature-dialog/models/index.mjs +0 -2
  153. package/esm2022/lib/new-feature-dialog/models/mobile-screen-custom-position.model.mjs +0 -2
  154. package/esm2022/lib/new-feature-dialog/new-feature-dialog-wrapper/new-feature-dialog-wrapper.component.mjs +0 -105
  155. package/esm2022/lib/new-feature-dialog/new-feature-dialog-wrapper/new-feature-dialog.service.mjs +0 -37
  156. package/esm2022/lib/new-feature-dialog/new-feature-dialog.component.mjs +0 -40
  157. package/esm2022/lib/notification-message/enums/index.mjs +0 -2
  158. package/esm2022/lib/notification-message/enums/notification-message-type.enum.mjs +0 -9
  159. package/esm2022/lib/notification-message/index.mjs +0 -5
  160. package/esm2022/lib/notification-message/interfaces/index.mjs +0 -2
  161. package/esm2022/lib/notification-message/interfaces/notification-message.model.mjs +0 -2
  162. package/esm2022/lib/notification-message/notification-message.component.mjs +0 -195
  163. package/esm2022/lib/notification-message/notification-message.module.mjs +0 -49
  164. package/esm2022/lib/open-close-button/index.mjs +0 -5
  165. package/esm2022/lib/open-close-button/injection-tokens/index.mjs +0 -2
  166. package/esm2022/lib/open-close-button/injection-tokens/open-close-btn-icons.token.mjs +0 -2
  167. package/esm2022/lib/open-close-button/models/index.mjs +0 -2
  168. package/esm2022/lib/open-close-button/models/open-close-btn-icons.model.mjs +0 -2
  169. package/esm2022/lib/open-close-button/open-close-button.component.mjs +0 -114
  170. package/esm2022/lib/open-close-button/open-close-button.module.mjs +0 -22
  171. package/esm2022/lib/pipes/date-ago/date-ago.module.mjs +0 -29
  172. package/esm2022/lib/pipes/date-ago/date-ago.pipe.mjs +0 -114
  173. package/esm2022/lib/pipes/date-ago/index.mjs +0 -3
  174. package/esm2022/lib/pipes/date-ago/models/date-ago-interval.model.mjs +0 -2
  175. package/esm2022/lib/pipes/date-ago/models/date-ago-settings.model.mjs +0 -2
  176. package/esm2022/lib/pipes/date-ago/models/date-ago-settings.token.mjs +0 -2
  177. package/esm2022/lib/pipes/date-ago/models/date-ago.model.mjs +0 -2
  178. package/esm2022/lib/pipes/date-ago/models/index.mjs +0 -5
  179. package/esm2022/lib/pipes/domain-translate/domain-translate.pipe.mjs +0 -30
  180. package/esm2022/lib/pipes/domain-translate/index.mjs +0 -2
  181. package/esm2022/lib/pipes/file-size-label/enums/file-size-unit.enum.mjs +0 -8
  182. package/esm2022/lib/pipes/file-size-label/enums/index.mjs +0 -2
  183. package/esm2022/lib/pipes/file-size-label/file-size-label.pipe.mjs +0 -22
  184. package/esm2022/lib/pipes/file-size-label/index.mjs +0 -3
  185. package/esm2022/lib/pipes/filter-with-highlight/filter-with-highlight.module.mjs +0 -25
  186. package/esm2022/lib/pipes/filter-with-highlight/filter-with-highlight.pipe.mjs +0 -43
  187. package/esm2022/lib/pipes/filter-with-highlight/index.mjs +0 -3
  188. package/esm2022/lib/pipes/index.mjs +0 -13
  189. package/esm2022/lib/pipes/language-translate/index.mjs +0 -3
  190. package/esm2022/lib/pipes/language-translate/language-translate.module.mjs +0 -19
  191. package/esm2022/lib/pipes/language-translate/language-translate.pipe.mjs +0 -126
  192. package/esm2022/lib/pipes/object-length/index.mjs +0 -3
  193. package/esm2022/lib/pipes/object-length/object-length.module.mjs +0 -19
  194. package/esm2022/lib/pipes/object-length/object-length.pipe.mjs +0 -23
  195. package/esm2022/lib/pipes/sort-alphabetically/index.mjs +0 -3
  196. package/esm2022/lib/pipes/sort-alphabetically/sort-alphabetically.module.mjs +0 -19
  197. package/esm2022/lib/pipes/sort-alphabetically/sort-alphabetically.pipe.mjs +0 -21
  198. package/esm2022/lib/pipes/sort-by-number/index.mjs +0 -2
  199. package/esm2022/lib/pipes/sort-by-number/sort-by-number.pipe.mjs +0 -23
  200. package/esm2022/lib/pipes/sort-domains/index.mjs +0 -2
  201. package/esm2022/lib/pipes/sort-domains/sort-domains.pipe.mjs +0 -51
  202. package/esm2022/lib/pipes/sort-language-list/index.mjs +0 -3
  203. package/esm2022/lib/pipes/sort-language-list/models/index.mjs +0 -2
  204. package/esm2022/lib/pipes/sort-language-list/models/translated-language.model.mjs +0 -2
  205. package/esm2022/lib/pipes/sort-language-list/sort-language-list.pipe.mjs +0 -58
  206. package/esm2022/lib/pipes/sort-translations/index.mjs +0 -3
  207. package/esm2022/lib/pipes/sort-translations/sort-translations.module.mjs +0 -23
  208. package/esm2022/lib/pipes/sort-translations/sort-translations.pipe.mjs +0 -60
  209. package/esm2022/lib/pipes/sort-translations-by-property/index.mjs +0 -3
  210. package/esm2022/lib/pipes/sort-translations-by-property/sort-translations-by-property.module.mjs +0 -19
  211. package/esm2022/lib/pipes/sort-translations-by-property/sort-translations-by-property.pipe.mjs +0 -43
  212. package/esm2022/lib/plausible/index.mjs +0 -5
  213. package/esm2022/lib/plausible/models/index.mjs +0 -2
  214. package/esm2022/lib/plausible/models/plausible-event.model.mjs +0 -2
  215. package/esm2022/lib/plausible/plausible-event.directive.mjs +0 -42
  216. package/esm2022/lib/plausible/plausible.helper.mjs +0 -37
  217. package/esm2022/lib/plausible/plausible.module.mjs +0 -25
  218. package/esm2022/lib/services/alert/alert.service.mjs +0 -172
  219. package/esm2022/lib/services/alert/index.mjs +0 -4
  220. package/esm2022/lib/services/alert/injection-tokens/alert-configuration.token.mjs +0 -2
  221. package/esm2022/lib/services/alert/injection-tokens/index.mjs +0 -2
  222. package/esm2022/lib/services/alert/models/alert-configuration.model.mjs +0 -2
  223. package/esm2022/lib/services/alert/models/index.mjs +0 -2
  224. package/esm2022/lib/services/dom/dom.service.mjs +0 -21
  225. package/esm2022/lib/services/dom/index.mjs +0 -2
  226. package/esm2022/lib/services/icon/icon.service.mjs +0 -35
  227. package/esm2022/lib/services/icon/index.mjs +0 -2
  228. package/esm2022/lib/services/index.mjs +0 -7
  229. package/esm2022/lib/services/language-translate/index.mjs +0 -2
  230. package/esm2022/lib/services/language-translate/language-translate.service.mjs +0 -25
  231. package/esm2022/lib/services/notification/index.mjs +0 -3
  232. package/esm2022/lib/services/notification/models/index.mjs +0 -3
  233. package/esm2022/lib/services/notification/models/notification.model.mjs +0 -2
  234. package/esm2022/lib/services/notification/models/operations.enum.mjs +0 -6
  235. package/esm2022/lib/services/notification/notification.service.mjs +0 -35
  236. package/esm2022/lib/services/system/index.mjs +0 -2
  237. package/esm2022/lib/services/system/system.service.mjs +0 -20
  238. package/esm2022/lib/sidebar/index.mjs +0 -3
  239. package/esm2022/lib/sidebar/services/index.mjs +0 -2
  240. package/esm2022/lib/sidebar/services/sidebar.service.mjs +0 -24
  241. package/esm2022/lib/sidebar/sidebar.component.mjs +0 -30
  242. package/esm2022/lib/status-display/index.mjs +0 -4
  243. package/esm2022/lib/status-display/models/index.mjs +0 -2
  244. package/esm2022/lib/status-display/models/status-display-config.model.mjs +0 -2
  245. package/esm2022/lib/status-display/status-display.component.mjs +0 -71
  246. package/esm2022/lib/status-display/status-display.module.mjs +0 -22
  247. package/esm2022/lib/subscription/chargebee-mount.service.mjs +0 -16
  248. package/esm2022/lib/subscription/index.mjs +0 -3
  249. package/esm2022/lib/subscription/models/chargebee-settings.model.mjs +0 -2
  250. package/esm2022/lib/subscription/models/index.mjs +0 -2
  251. package/esm2022/lib/subscription/models/subscription-quota-display.model.mjs +0 -2
  252. package/esm2022/lib/subscription/models/subscription-state.enum.mjs +0 -8
  253. package/esm2022/lib/subscription/subscription.component.mjs +0 -392
  254. package/esm2022/lib/terminology/components/terminology-panel/terminology-collection-list/terminology-collection-card/terminology-collection-card.component.mjs +0 -279
  255. package/esm2022/lib/terminology/components/terminology-panel/terminology-collection-list/terminology-collection-list.component.mjs +0 -161
  256. package/esm2022/lib/terminology/components/terminology-panel/terminology-create-collection/terminology-create-collection-dialog/terminology-create-collection-dialog.component.mjs +0 -121
  257. package/esm2022/lib/terminology/components/terminology-panel/terminology-create-collection/terminology-create-collection.component.mjs +0 -72
  258. package/esm2022/lib/terminology/components/terminology-panel/terminology-panel.component.mjs +0 -151
  259. package/esm2022/lib/terminology/config/models/index.mjs +0 -2
  260. package/esm2022/lib/terminology/config/models/terminology-config.model.mjs +0 -2
  261. package/esm2022/lib/terminology/config/services/index.mjs +0 -2
  262. package/esm2022/lib/terminology/config/services/terminology-config/terminology-config.service.mjs +0 -47
  263. package/esm2022/lib/terminology/enums/combined-collection-tooltip-key.enum.mjs +0 -6
  264. package/esm2022/lib/terminology/enums/engine-term-collection-scope.enum.mjs +0 -6
  265. package/esm2022/lib/terminology/enums/engine-term-collection-source.enum.mjs +0 -6
  266. package/esm2022/lib/terminology/enums/engine-term-collection-status.enum.mjs +0 -8
  267. package/esm2022/lib/terminology/enums/engine-term-collection-sub-status.enum.mjs +0 -14
  268. package/esm2022/lib/terminology/enums/index.mjs +0 -7
  269. package/esm2022/lib/terminology/enums/mt-collection-status.enum.mjs +0 -11
  270. package/esm2022/lib/terminology/icons/collections-menu.icon.mjs +0 -18
  271. package/esm2022/lib/terminology/icons/index.mjs +0 -2
  272. package/esm2022/lib/terminology/index.mjs +0 -10
  273. package/esm2022/lib/terminology/models/active-data.model.mjs +0 -2
  274. package/esm2022/lib/terminology/models/add-engine-terms-request-params.model.mjs +0 -2
  275. package/esm2022/lib/terminology/models/combined-collection.model.mjs +0 -181
  276. package/esm2022/lib/terminology/models/default-term-collection-order-update.model.mjs +0 -2
  277. package/esm2022/lib/terminology/models/domain.model.mjs +0 -2
  278. package/esm2022/lib/terminology/models/engine-term-collection-access-scope-update.model.mjs +0 -2
  279. package/esm2022/lib/terminology/models/engine-term-collection-access-scope.model.mjs +0 -2
  280. package/esm2022/lib/terminology/models/engine-term-collection-access-update.model.mjs +0 -2
  281. package/esm2022/lib/terminology/models/engine-term-collection-access.model.mjs +0 -2
  282. package/esm2022/lib/terminology/models/engine-term-collection-list.model.mjs +0 -2
  283. package/esm2022/lib/terminology/models/engine-term-collection.model.mjs +0 -2
  284. package/esm2022/lib/terminology/models/index.mjs +0 -19
  285. package/esm2022/lib/terminology/models/lang-list-item.model.mjs +0 -2
  286. package/esm2022/lib/terminology/models/mt-collection.model.mjs +0 -2
  287. package/esm2022/lib/terminology/models/system.model.mjs +0 -2
  288. package/esm2022/lib/terminology/models/terminology-engine.model.mjs +0 -2
  289. package/esm2022/lib/terminology/models/tld-term-collection-languages.model.mjs +0 -2
  290. package/esm2022/lib/terminology/models/tld-term-collection.model.mjs +0 -2
  291. package/esm2022/lib/terminology/models/update-engine-terms-request-params.model.mjs +0 -2
  292. package/esm2022/lib/terminology/models/vendor.model.mjs +0 -2
  293. package/esm2022/lib/terminology/services/engine-term-api/engine-term-api.service.mjs +0 -48
  294. package/esm2022/lib/terminology/services/engine-term-api/index.mjs +0 -2
  295. package/esm2022/lib/terminology/services/index.mjs +0 -5
  296. package/esm2022/lib/terminology/services/system-api-v2/models/engine-deployment.model.mjs +0 -2
  297. package/esm2022/lib/terminology/services/system-api-v2/models/engine-domain-list.model.mjs +0 -2
  298. package/esm2022/lib/terminology/services/system-api-v2/models/engine-domain.model.mjs +0 -2
  299. package/esm2022/lib/terminology/services/system-api-v2/models/engine-list.model.mjs +0 -2
  300. package/esm2022/lib/terminology/services/system-api-v2/models/engine-status.enum.mjs +0 -11
  301. package/esm2022/lib/terminology/services/system-api-v2/models/engine-sub-status.enum.mjs +0 -18
  302. package/esm2022/lib/terminology/services/system-api-v2/models/engine.model.mjs +0 -2
  303. package/esm2022/lib/terminology/services/system-api-v2/models/index.mjs +0 -9
  304. package/esm2022/lib/terminology/services/system-api-v2/models/revision.model.mjs +0 -2
  305. package/esm2022/lib/terminology/services/system-api-v2/models/tilde-vendor.const.mjs +0 -2
  306. package/esm2022/lib/terminology/services/system-api-v2/models/worker-status.model.mjs +0 -2
  307. package/esm2022/lib/terminology/services/system-api-v2/system-api.service.mjs +0 -109
  308. package/esm2022/lib/terminology/services/terminology/terminology.service.mjs +0 -323
  309. package/esm2022/lib/terminology/services/terminology-api/terminology-api.service.mjs +0 -86
  310. package/esm2022/lib/terminology/services/terminology-collection/index.mjs +0 -2
  311. package/esm2022/lib/terminology/services/terminology-collection/terminology-collection.service.mjs +0 -54
  312. package/esm2022/lib/terminology/terminology.component.mjs +0 -241
  313. package/esm2022/lib/terminology/terminology.module.mjs +0 -102
  314. package/esm2022/lib/text-to-speech/index.mjs +0 -3
  315. package/esm2022/lib/text-to-speech/models/index.mjs +0 -2
  316. package/esm2022/lib/text-to-speech/models/voice.model.mjs +0 -2
  317. package/esm2022/lib/text-to-speech/services/tts-api.service.mjs +0 -18
  318. package/esm2022/lib/text-to-speech/text-to-speech.component.mjs +0 -172
  319. package/esm2022/lib/tld-loader/index.mjs +0 -3
  320. package/esm2022/lib/tld-loader/tld-loader.component.mjs +0 -16
  321. package/esm2022/lib/tld-loader/tld-loader.module.mjs +0 -21
  322. package/esm2022/lib/toast/index.mjs +0 -3
  323. package/esm2022/lib/toast/models/toast.model.mjs +0 -2
  324. package/esm2022/lib/toast/toast-service/index.mjs +0 -2
  325. package/esm2022/lib/toast/toast-service/toast-service.service.mjs +0 -42
  326. package/esm2022/lib/toast/toast.component.mjs +0 -57
  327. package/esm2022/public-api.mjs +0 -32
  328. package/esm2022/tilde-nlp-ngx-common.mjs +0 -5
@@ -1,337 +0,0 @@
1
- import { Component, Inject } from '@angular/core';
2
- import { MAT_DIALOG_DATA } from '@angular/material/dialog';
3
- import { LLMRephraseUseCase, LLMSummaryUseCase } from '@tilde-nlp/ngx-services';
4
- import { finalize } from 'rxjs';
5
- import { ERROR_CODES } from '../../../constants';
6
- import { PlausibleHelper } from '../../../plausible';
7
- import { LLMActions } from '../../models/llm-actions.enum';
8
- import { LLMWritingStyle } from '../../models/llm-writing-style.enum';
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "@tilde-nlp/ngx-services";
11
- import * as i2 from "../../services/llm-helper.service";
12
- import * as i3 from "@angular/common";
13
- import * as i4 from "@angular/material/button";
14
- import * as i5 from "@angular/material/dialog";
15
- import * as i6 from "@angular/forms";
16
- import * as i7 from "@angular/material/form-field";
17
- import * as i8 from "@angular/material/select";
18
- import * as i9 from "@angular/material/core";
19
- import * as i10 from "../../../notification-message/notification-message.component";
20
- import * as i11 from "@angular/material/progress-spinner";
21
- import * as i12 from "../../shared/llm-textarea/llm-textarea.component";
22
- import * as i13 from "@ngx-translate/core";
23
- const _c0 = (a0, a1) => ({ limit: a0, subscriptionUrl: a1 });
24
- function LLMTextareaWithActionsComponent_lib_tld_notification_message_6_Template(rf, ctx) { if (rf & 1) {
25
- const _r2 = i0.ɵɵgetCurrentView();
26
- i0.ɵɵelementStart(0, "lib-tld-notification-message", 15);
27
- i0.ɵɵlistener("closeClicked", function LLMTextareaWithActionsComponent_lib_tld_notification_message_6_Template_lib_tld_notification_message_closeClicked_0_listener() { const message_r3 = i0.ɵɵrestoreView(_r2).$implicit; const ctx_r3 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r3.closeMessage(message_r3)); });
28
- i0.ɵɵelementEnd();
29
- } if (rf & 2) {
30
- const message_r3 = ctx.$implicit;
31
- i0.ɵɵproperty("message", message_r3);
32
- } }
33
- function LLMTextareaWithActionsComponent_mat_form_field_7_For_6_Template(rf, ctx) { if (rf & 1) {
34
- i0.ɵɵelementStart(0, "mat-option", 18);
35
- i0.ɵɵtext(1);
36
- i0.ɵɵpipe(2, "uppercase");
37
- i0.ɵɵpipe(3, "translate");
38
- i0.ɵɵelementEnd();
39
- } if (rf & 2) {
40
- const useCase_r6 = ctx.$implicit;
41
- i0.ɵɵproperty("value", useCase_r6);
42
- i0.ɵɵadvance();
43
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 4, "LLM.USE_CASE." + i0.ɵɵpipeBind1(2, 2, useCase_r6)), " ");
44
- } }
45
- function LLMTextareaWithActionsComponent_mat_form_field_7_Template(rf, ctx) { if (rf & 1) {
46
- const _r5 = i0.ɵɵgetCurrentView();
47
- i0.ɵɵelementStart(0, "mat-form-field", 16)(1, "mat-label");
48
- i0.ɵɵtext(2);
49
- i0.ɵɵpipe(3, "translate");
50
- i0.ɵɵelementEnd();
51
- i0.ɵɵelementStart(4, "mat-select", 17);
52
- i0.ɵɵtwoWayListener("ngModelChange", function LLMTextareaWithActionsComponent_mat_form_field_7_Template_mat_select_ngModelChange_4_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r3 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r3.selectedUseCase, $event) || (ctx_r3.selectedUseCase = $event); return i0.ɵɵresetView($event); });
53
- i0.ɵɵrepeaterCreate(5, LLMTextareaWithActionsComponent_mat_form_field_7_For_6_Template, 4, 6, "mat-option", 18, i0.ɵɵrepeaterTrackByIndex);
54
- i0.ɵɵelementEnd()();
55
- } if (rf & 2) {
56
- const ctx_r3 = i0.ɵɵnextContext();
57
- i0.ɵɵadvance(2);
58
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 3, "LLM.USE_CASES_LABEL"));
59
- i0.ɵɵadvance(2);
60
- i0.ɵɵproperty("disabled", ctx_r3.isLoading);
61
- i0.ɵɵtwoWayProperty("ngModel", ctx_r3.selectedUseCase);
62
- i0.ɵɵadvance();
63
- i0.ɵɵrepeater(ctx_r3.useCases);
64
- } }
65
- function LLMTextareaWithActionsComponent_div_10_Template(rf, ctx) { if (rf & 1) {
66
- i0.ɵɵelement(0, "div", 19);
67
- i0.ɵɵpipe(1, "translate");
68
- } if (rf & 2) {
69
- const ctx_r3 = i0.ɵɵnextContext();
70
- i0.ɵɵproperty("innerHTML", i0.ɵɵpipeBind2(1, 1, ctx_r3.localizationKey + "LIMIT", i0.ɵɵpureFunction2(4, _c0, ctx_r3.quotaLeft, ctx_r3.subscriptionUrl)), i0.ɵɵsanitizeHtml);
71
- } }
72
- function LLMTextareaWithActionsComponent_button_12_Template(rf, ctx) { if (rf & 1) {
73
- const _r7 = i0.ɵɵgetCurrentView();
74
- i0.ɵɵelementStart(0, "button", 20);
75
- i0.ɵɵlistener("click", function LLMTextareaWithActionsComponent_button_12_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r7); const ctx_r3 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r3.cancel()); });
76
- i0.ɵɵtext(1);
77
- i0.ɵɵpipe(2, "translate");
78
- i0.ɵɵelementEnd();
79
- } if (rf & 2) {
80
- const ctx_r3 = i0.ɵɵnextContext();
81
- i0.ɵɵadvance();
82
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, ctx_r3.localizationKey + "CANCEL"), " ");
83
- } }
84
- function LLMTextareaWithActionsComponent_ng_template_13_Template(rf, ctx) { if (rf & 1) {
85
- i0.ɵɵelementStart(0, "button", 21);
86
- i0.ɵɵtext(1);
87
- i0.ɵɵpipe(2, "translate");
88
- i0.ɵɵelementEnd();
89
- } if (rf & 2) {
90
- const ctx_r3 = i0.ɵɵnextContext();
91
- i0.ɵɵproperty("mat-dialog-close", null);
92
- i0.ɵɵadvance();
93
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 2, ctx_r3.localizationKey + "CLOSE"), " ");
94
- } }
95
- function LLMTextareaWithActionsComponent_span_16_Template(rf, ctx) { if (rf & 1) {
96
- i0.ɵɵelementStart(0, "span");
97
- i0.ɵɵtext(1);
98
- i0.ɵɵpipe(2, "translate");
99
- i0.ɵɵelementEnd();
100
- } if (rf & 2) {
101
- const ctx_r3 = i0.ɵɵnextContext();
102
- i0.ɵɵadvance();
103
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, !ctx_r3.isSummarized ? "LLM.SUMMARY_MODAL.ACTION" : "LLM.SUMMARY_MODAL.REGENERATE"), " ");
104
- } }
105
- function LLMTextareaWithActionsComponent_ng_template_17_Template(rf, ctx) { if (rf & 1) {
106
- i0.ɵɵtext(0);
107
- i0.ɵɵpipe(1, "translate");
108
- } if (rf & 2) {
109
- const ctx_r3 = i0.ɵɵnextContext();
110
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(1, 1, ctx_r3.localizationKey + "ACTION"), " ");
111
- } }
112
- function LLMTextareaWithActionsComponent_mat_spinner_19_Template(rf, ctx) { if (rf & 1) {
113
- i0.ɵɵelement(0, "mat-spinner", 22);
114
- } if (rf & 2) {
115
- i0.ɵɵproperty("diameter", 20);
116
- } }
117
- export class LLMTextareaWithActionsComponent {
118
- get isDisabled() {
119
- return this.isLoading || !this.initialText || this.quotaLeft < 1;
120
- }
121
- constructor(llmService, llmHelperService, data) {
122
- this.llmService = llmService;
123
- this.llmHelperService = llmHelperService;
124
- this.data = data;
125
- this.selectedWritingStyle = LLMWritingStyle.GENERAL;
126
- this.editedText = '';
127
- this.manuallyEditedText = '';
128
- this.savedRephrasings = [];
129
- this.llmActions = LLMActions;
130
- this.writingStyles = Object.values(LLMWritingStyle);
131
- this.useCases = [];
132
- this.messages = [];
133
- this.showUseCase = false;
134
- }
135
- ngOnInit() {
136
- this.setInitialText();
137
- if (this.llmActionType === LLMActions.REPHRASE) {
138
- this.useCases = this.data.rephraseUseCases ?? Object.values(LLMRephraseUseCase);
139
- this.selectedUseCase = this.useCases[0];
140
- }
141
- else if (this.llmActionType === LLMActions.SUMMARY) {
142
- this.useCases = this.data.summaryUseCases ?? Object.values(LLMSummaryUseCase);
143
- this.selectedUseCase = LLMSummaryUseCase.General;
144
- }
145
- this.showUseCase = (this.llmActionType === LLMActions.REPHRASE && this.data.showUseCaseRephrase) || (this.llmActionType === LLMActions.SUMMARY && this.data.showUseCaseSummary);
146
- }
147
- closeMessage(msg) {
148
- const index = this.messages?.findIndex((message) => JSON.stringify(message) === JSON.stringify(msg));
149
- if (index || index === 0) {
150
- this.messages.splice(index, 1);
151
- }
152
- }
153
- checkRephrasedTextSaves(event) {
154
- if (event.value !== this.selectedWritingStyle) {
155
- this.previousWritingStyle = this.selectedWritingStyle;
156
- this.selectedWritingStyle = event.value;
157
- }
158
- const selectedWritingStyleSave = this.savedRephrasings.find((rephrasing) => rephrasing.style === this.selectedWritingStyle);
159
- const previousWritingStyleSave = this.savedRephrasings.find((save) => save.style === this.previousWritingStyle);
160
- if (previousWritingStyleSave) {
161
- previousWritingStyleSave.text = this.editedText !== '' ? this.editedText : this.initialText;
162
- }
163
- else {
164
- this.savedRephrasings.push({ style: this.previousWritingStyle, text: this.editedText !== '' ? this.editedText : this.initialText });
165
- }
166
- this.editedText = selectedWritingStyleSave?.text ?? this.initialText;
167
- this.manuallyEditedText = '';
168
- this.checkTextLimit();
169
- }
170
- getEditedText() {
171
- this.isLoading = true;
172
- if (this.llmActionType === LLMActions.REPHRASE) {
173
- this.writingStylePlausibleEvent();
174
- }
175
- else {
176
- this.summaryPlausibleEvent();
177
- }
178
- this.subscription = this.getRequest();
179
- }
180
- cancel() {
181
- this.subscription.unsubscribe();
182
- }
183
- textEditEvent(text) {
184
- this.manuallyEditedText = text;
185
- this.initialText = text;
186
- this.editedText = '';
187
- this.checkTextLimit();
188
- }
189
- copyPlausibleEvent() {
190
- PlausibleHelper.customEvent(this.llmActionType.toLowerCase(), { action: 'copy' });
191
- }
192
- dislikePlausibleEvent() {
193
- PlausibleHelper.customEvent(this.llmActionType.toLowerCase(), { action: 'dislike' });
194
- }
195
- setInitialText() {
196
- this.data.text.subscribe((text) => {
197
- this.initialText = text;
198
- this.llmActionType = this.data.action;
199
- this.localizationKey = `LLM.${this.llmActionType}_MODAL.`;
200
- this.subscriptionUrl = this.llmHelperService.llmConfiguration.subscriptionUrl;
201
- this.maxCharLength = this.llmHelperService.llmConfiguration.maxCharLength;
202
- this.refreshQuota();
203
- });
204
- }
205
- checkTextLimit() {
206
- const limit = this.maxCharLength;
207
- const texts = [this.initialText, this.manuallyEditedText, this.editedText];
208
- const longestText = this.editedText && !this.manuallyEditedText ? this.editedText : texts.reduce((a, b) => a.length > b.length ? a : b);
209
- if (longestText.length > limit) {
210
- if (this.exceededLimitMessage) {
211
- this.closeMessage(this.exceededLimitMessage);
212
- }
213
- this.exceededLimitMessage = this.llmHelperService.getExceededLimitMessage(longestText.length);
214
- this.messages.push(this.exceededLimitMessage);
215
- return;
216
- }
217
- this.closeMessage(this.exceededLimitMessage);
218
- }
219
- writingStylePlausibleEvent() {
220
- PlausibleHelper.customEvent(this.llmActionType.toLowerCase(), { writingStyle: this.selectedWritingStyle });
221
- }
222
- summaryPlausibleEvent() {
223
- PlausibleHelper.customEvent(this.llmActionType.toLowerCase(), { action: 'summary' });
224
- }
225
- refreshQuota(decrease) {
226
- this.llmHelperService.getRemainingQuota(decrease).subscribe((remainingQuota) => {
227
- this.quotaLeft = remainingQuota;
228
- this.setQuotaMessage();
229
- });
230
- }
231
- setQuotaMessage() {
232
- if (this.quotaLeft <= this.llmHelperService.trialRequestCount) {
233
- this.remainingQuotaMessageVisible = true;
234
- }
235
- if (this.quotaLeft < 1) {
236
- this.reachedQuotaMessage = this.llmHelperService.getReachedQuotaMessage();
237
- this.messages.push(this.reachedQuotaMessage);
238
- }
239
- }
240
- getRequest() {
241
- let text = this.manuallyEditedText !== ''
242
- ? this.manuallyEditedText
243
- : this.initialText;
244
- if (text.length > this.maxCharLength) {
245
- text = text.substring(0, this.maxCharLength);
246
- }
247
- const method = this.llmActionType === LLMActions.REPHRASE
248
- ? this.llmService.rephrase({ text: text, language: this.data.language, style: this.selectedWritingStyle, useCase: this.selectedUseCase })
249
- : this.llmService.summarize({ text: text, language: this.data.language, useCase: this.selectedUseCase });
250
- return method
251
- .pipe(finalize(() => (this.isLoading = false)))
252
- .subscribe(this.getRequestCallback());
253
- }
254
- getRequestCallback() {
255
- return {
256
- next: (response) => {
257
- if (this.llmActionType === this.llmActions.SUMMARY) {
258
- this.isSummarized = true;
259
- }
260
- this.editedText = response;
261
- this.manuallyEditedText = '';
262
- this.defaultErrorMessage = this.llmHelperService.getDefaultErrorMessage();
263
- this.closeMessage(this.defaultErrorMessage);
264
- this.closeMessage(this.requestTimeoutMessage);
265
- this.isEdited = true;
266
- this.refreshQuota(true);
267
- this.checkTextLimit();
268
- },
269
- error: (error) => {
270
- if (error.status === ERROR_CODES.TIMEOUT) {
271
- this.requestTimeoutMessage = this.llmHelperService.getRequestTimeoutMessage(this.llmActionType);
272
- this.messages.push(this.requestTimeoutMessage);
273
- return;
274
- }
275
- this.messages.push(this.defaultErrorMessage);
276
- }
277
- };
278
- }
279
- static { this.ɵfac = function LLMTextareaWithActionsComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LLMTextareaWithActionsComponent)(i0.ɵɵdirectiveInject(i1.LLMService), i0.ɵɵdirectiveInject(i2.LLMHelperService), i0.ɵɵdirectiveInject(MAT_DIALOG_DATA)); }; }
280
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LLMTextareaWithActionsComponent, selectors: [["lib-llm-textarea-with-actions"]], decls: 20, vars: 22, consts: [["closeButton", ""], ["rephraseAction", ""], ["mat-dialog-title", ""], ["mat-dialog-content", ""], [3, "innerHTML"], [3, "message", "closeClicked", 4, "ngFor", "ngForOf"], ["color", "accent", "class", "w-full llm-writing-style-select", "appearance", "outline", 4, "ngIf"], [3, "textEditEvent", "copyEvent", "dislikeEvent", "text", "disabled", "actionButtonsDisabled"], ["mat-dialog-actions", "", 1, "llm-actions-wrapper"], ["class", "quota-left-message", 3, "innerHTML", 4, "ngIf"], [1, "llm-actions"], ["mat-button", "", "color", "accent", 3, "click", 4, "ngIf", "ngIfElse"], ["mat-flat-button", "", "color", "accent", 3, "click", "disabled"], [4, "ngIf", "ngIfElse"], ["color", "primary-accent-darker", 3, "diameter", 4, "ngIf"], [3, "closeClicked", "message"], ["color", "accent", "appearance", "outline", 1, "w-full", "llm-writing-style-select"], [3, "ngModelChange", "disabled", "ngModel"], [3, "value"], [1, "quota-left-message", 3, "innerHTML"], ["mat-button", "", "color", "accent", 3, "click"], ["mat-button", "", "color", "accent", 3, "mat-dialog-close"], ["color", "primary-accent-darker", 3, "diameter"]], template: function LLMTextareaWithActionsComponent_Template(rf, ctx) { if (rf & 1) {
281
- const _r1 = i0.ɵɵgetCurrentView();
282
- i0.ɵɵelementStart(0, "h1", 2);
283
- i0.ɵɵtext(1);
284
- i0.ɵɵpipe(2, "translate");
285
- i0.ɵɵelementEnd();
286
- i0.ɵɵelementStart(3, "div", 3);
287
- i0.ɵɵelement(4, "p", 4);
288
- i0.ɵɵpipe(5, "translate");
289
- i0.ɵɵtemplate(6, LLMTextareaWithActionsComponent_lib_tld_notification_message_6_Template, 1, 1, "lib-tld-notification-message", 5)(7, LLMTextareaWithActionsComponent_mat_form_field_7_Template, 7, 5, "mat-form-field", 6);
290
- i0.ɵɵelementStart(8, "lib-llm-textarea", 7);
291
- i0.ɵɵlistener("textEditEvent", function LLMTextareaWithActionsComponent_Template_lib_llm_textarea_textEditEvent_8_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.textEditEvent($event)); })("copyEvent", function LLMTextareaWithActionsComponent_Template_lib_llm_textarea_copyEvent_8_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.copyPlausibleEvent()); })("dislikeEvent", function LLMTextareaWithActionsComponent_Template_lib_llm_textarea_dislikeEvent_8_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.dislikePlausibleEvent()); });
292
- i0.ɵɵelementEnd()();
293
- i0.ɵɵelementStart(9, "div", 8);
294
- i0.ɵɵtemplate(10, LLMTextareaWithActionsComponent_div_10_Template, 2, 7, "div", 9);
295
- i0.ɵɵelementStart(11, "div", 10);
296
- i0.ɵɵtemplate(12, LLMTextareaWithActionsComponent_button_12_Template, 3, 3, "button", 11)(13, LLMTextareaWithActionsComponent_ng_template_13_Template, 3, 4, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
297
- i0.ɵɵelementStart(15, "button", 12);
298
- i0.ɵɵlistener("click", function LLMTextareaWithActionsComponent_Template_button_click_15_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.getEditedText()); });
299
- i0.ɵɵtemplate(16, LLMTextareaWithActionsComponent_span_16_Template, 3, 3, "span", 13)(17, LLMTextareaWithActionsComponent_ng_template_17_Template, 2, 3, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor)(19, LLMTextareaWithActionsComponent_mat_spinner_19_Template, 1, 1, "mat-spinner", 14);
300
- i0.ɵɵelementEnd()()();
301
- } if (rf & 2) {
302
- const closeButton_r8 = i0.ɵɵreference(14);
303
- const rephraseAction_r9 = i0.ɵɵreference(18);
304
- i0.ɵɵadvance();
305
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 18, ctx.localizationKey + "TITLE"));
306
- i0.ɵɵadvance(3);
307
- i0.ɵɵproperty("innerHTML", i0.ɵɵpipeBind1(5, 20, ctx.localizationKey + "DESCRIPTION"), i0.ɵɵsanitizeHtml);
308
- i0.ɵɵadvance(2);
309
- i0.ɵɵproperty("ngForOf", ctx.messages);
310
- i0.ɵɵadvance();
311
- i0.ɵɵproperty("ngIf", ctx.showUseCase);
312
- i0.ɵɵadvance();
313
- i0.ɵɵclassProp("rephrase", ctx.llmActionType === ctx.llmActions.REPHRASE);
314
- i0.ɵɵproperty("text", ctx.editedText !== "" ? ctx.editedText : ctx.initialText)("disabled", ctx.isLoading || !ctx.quotaLeft)("actionButtonsDisabled", !ctx.isEdited);
315
- i0.ɵɵadvance(2);
316
- i0.ɵɵproperty("ngIf", ctx.remainingQuotaMessageVisible);
317
- i0.ɵɵadvance();
318
- i0.ɵɵclassProp("w-full", !ctx.remainingQuotaMessageVisible);
319
- i0.ɵɵadvance();
320
- i0.ɵɵproperty("ngIf", ctx.isLoading)("ngIfElse", closeButton_r8);
321
- i0.ɵɵadvance(3);
322
- i0.ɵɵproperty("disabled", ctx.isDisabled);
323
- i0.ɵɵadvance();
324
- i0.ɵɵproperty("ngIf", ctx.llmActionType === ctx.llmActions.SUMMARY)("ngIfElse", rephraseAction_r9);
325
- i0.ɵɵadvance(3);
326
- i0.ɵɵproperty("ngIf", ctx.isLoading);
327
- } }, dependencies: [i3.NgForOf, i3.NgIf, i4.MatButton, i5.MatDialogClose, i5.MatDialogTitle, i5.MatDialogActions, i5.MatDialogContent, i6.NgControlStatus, i6.NgModel, i7.MatFormField, i7.MatLabel, i8.MatSelect, i9.MatOption, i10.NotificationMessageComponent, i11.MatProgressSpinner, i12.LLMTextareaComponent, i3.UpperCasePipe, i13.TranslatePipe], styles: [".info-icon[_ngcontent-%COMP%]{font-size:1rem;margin-left:5px}[_nghost-%COMP%] .message-body{margin:0 2.25rem 0 0!important;font-size:14px}[_nghost-%COMP%] .notification-message-container{margin:0 0 16px;padding:.9em 1em!important;align-items:center!important}[_nghost-%COMP%] .text-container{margin-right:0!important}[_nghost-%COMP%] tld-close-button{top:1px!important} .multiline-tooltip{white-space:pre;min-width:fit-content} .multiline-tooltip .mdc-tooltip__surface{max-width:none!important}[_nghost-%COMP%] .llm-textarea{min-height:240px!important}[_nghost-%COMP%] .rephrase .llm-textarea{min-height:100px!important}[_nghost-%COMP%] .desktop .llm-textarea{min-height:460px!important}[_nghost-%COMP%] .rephrase .desktop .llm-textarea{min-height:330px!important}.llm-writing-style-select[_ngcontent-%COMP%]{margin-top:1.25rem}.llm-writing-style[_ngcontent-%COMP%]{display:flex;align-items:center;margin-bottom:.25rem}.llm-actions-wrapper[_ngcontent-%COMP%]{display:flex;justify-content:space-between;margin:0 1rem .5rem}.llm-actions[_ngcontent-%COMP%]{display:flex;justify-content:end}.w-full[_ngcontent-%COMP%]{width:100%}[_nghost-%COMP%] .mdc-button__label{display:flex!important;align-items:center!important}mat-spinner[_ngcontent-%COMP%]{margin-left:.5rem}.quota-left-message[_ngcontent-%COMP%]{margin-bottom:12px}"] }); }
328
- }
329
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LLMTextareaWithActionsComponent, [{
330
- type: Component,
331
- args: [{ selector: 'lib-llm-textarea-with-actions', template: "<h1 mat-dialog-title>{{ localizationKey + \"TITLE\" | translate }}</h1>\r\n<div mat-dialog-content>\r\n <p [innerHTML]=\"localizationKey + 'DESCRIPTION' | translate\"></p>\r\n\r\n <lib-tld-notification-message *ngFor=\"let message of messages\" [message]=\"message\" (closeClicked)=\"closeMessage(message)\"></lib-tld-notification-message>\r\n\r\n <mat-form-field *ngIf=\"showUseCase\" color=\"accent\" class=\"w-full llm-writing-style-select\" appearance=\"outline\">\r\n <mat-label>{{ 'LLM.USE_CASES_LABEL' | translate }}</mat-label>\r\n <mat-select [disabled]=\"isLoading\" [(ngModel)]=\"selectedUseCase\">\r\n @for (useCase of useCases; track $index) {\r\n\r\n <mat-option [value]=\"useCase\">\r\n {{ 'LLM.USE_CASE.' + (useCase | uppercase) | translate }}\r\n </mat-option>\r\n }\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n\r\n\r\n <lib-llm-textarea [class.rephrase]=\"llmActionType === llmActions.REPHRASE\" [text]=\"editedText !== '' ? editedText : initialText\" [disabled]=\"isLoading || !quotaLeft\" [actionButtonsDisabled]=\"!isEdited\" (textEditEvent)=\"textEditEvent($event)\" (copyEvent)=\"copyPlausibleEvent()\" (dislikeEvent)=\"dislikePlausibleEvent()\"></lib-llm-textarea>\r\n</div>\r\n<div class=\"llm-actions-wrapper\" mat-dialog-actions>\r\n <div *ngIf=\"remainingQuotaMessageVisible\" class=\"quota-left-message\" [innerHTML]=\"localizationKey + 'LIMIT' | translate: { limit: quotaLeft, subscriptionUrl: subscriptionUrl }\"></div>\r\n\r\n <div [class.w-full]=\"!remainingQuotaMessageVisible\" class=\"llm-actions\">\r\n <button *ngIf=\"isLoading; else closeButton\" mat-button color=\"accent\" (click)=\"cancel()\">\r\n {{ localizationKey + \"CANCEL\" | translate }}\r\n </button>\r\n\r\n <ng-template #closeButton>\r\n <button mat-button color=\"accent\" [mat-dialog-close]=\"null\">\r\n {{ localizationKey + \"CLOSE\" | translate }}\r\n </button>\r\n </ng-template>\r\n\r\n <button\r\n mat-flat-button\r\n color=\"accent\"\r\n (click)=\"getEditedText()\"\r\n [disabled]=\"isDisabled\"\r\n >\r\n <span *ngIf=\"llmActionType === llmActions.SUMMARY; else rephraseAction\">\r\n {{\r\n (!isSummarized\r\n ? \"LLM.SUMMARY_MODAL.ACTION\"\r\n : \"LLM.SUMMARY_MODAL.REGENERATE\"\r\n ) | translate\r\n }}\r\n </span>\r\n\r\n <ng-template #rephraseAction>\r\n {{ localizationKey + \"ACTION\" | translate }}\r\n </ng-template>\r\n <mat-spinner *ngIf=\"isLoading\" [diameter]=\"20\" color=\"primary-accent-darker\"></mat-spinner>\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".info-icon{font-size:1rem;margin-left:5px}:host ::ng-deep .message-body{margin:0 2.25rem 0 0!important;font-size:14px}:host ::ng-deep .notification-message-container{margin:0 0 16px;padding:.9em 1em!important;align-items:center!important}:host ::ng-deep .text-container{margin-right:0!important}:host ::ng-deep tld-close-button{top:1px!important}::ng-deep .multiline-tooltip{white-space:pre;min-width:fit-content}::ng-deep .multiline-tooltip .mdc-tooltip__surface{max-width:none!important}:host ::ng-deep .llm-textarea{min-height:240px!important}:host ::ng-deep .rephrase .llm-textarea{min-height:100px!important}:host ::ng-deep .desktop .llm-textarea{min-height:460px!important}:host ::ng-deep .rephrase .desktop .llm-textarea{min-height:330px!important}.llm-writing-style-select{margin-top:1.25rem}.llm-writing-style{display:flex;align-items:center;margin-bottom:.25rem}.llm-actions-wrapper{display:flex;justify-content:space-between;margin:0 1rem .5rem}.llm-actions{display:flex;justify-content:end}.w-full{width:100%}:host ::ng-deep .mdc-button__label{display:flex!important;align-items:center!important}mat-spinner{margin-left:.5rem}.quota-left-message{margin-bottom:12px}\n"] }]
332
- }], () => [{ type: i1.LLMService }, { type: i2.LLMHelperService }, { type: undefined, decorators: [{
333
- type: Inject,
334
- args: [MAT_DIALOG_DATA]
335
- }] }], null); })();
336
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(LLMTextareaWithActionsComponent, { className: "LLMTextareaWithActionsComponent", filePath: "lib\\llm\\components\\llm-textarea-with-actions\\llm-textarea-with-actions.component.ts", lineNumber: 20 }); })();
337
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGxtLXRleHRhcmVhLXdpdGgtYWN0aW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tbW9uL3NyYy9saWIvbGxtL2NvbXBvbmVudHMvbGxtLXRleHRhcmVhLXdpdGgtYWN0aW9ucy9sbG0tdGV4dGFyZWEtd2l0aC1hY3Rpb25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21tb24vc3JjL2xpYi9sbG0vY29tcG9uZW50cy9sbG0tdGV4dGFyZWEtd2l0aC1hY3Rpb25zL2xsbS10ZXh0YXJlYS13aXRoLWFjdGlvbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTNELE9BQU8sRUFBRSxrQkFBa0IsRUFBYyxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzVGLE9BQU8sRUFBZ0IsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRTNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lDUHBFLHdEQUEwSDtJQUF2QyxxUkFBZ0IsK0JBQXFCLEtBQUM7SUFBQyxpQkFBK0I7OztJQUExRixvQ0FBbUI7OztJQU81RSxzQ0FBOEI7SUFDNUIsWUFDRjs7O0lBQUEsaUJBQWE7OztJQUZELGtDQUFpQjtJQUMzQixjQUNGO0lBREUseUdBQ0Y7Ozs7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QUE1QyxtRUFBNEMsK0JBQW1CO1lBWXhELGVBQWU7WUFBZixvQ0FBZTs7O2lGRG5DdEIsK0JBQStCO2NBTDNDLFNBQVM7MkJBQ0UsK0JBQStCOztzQkErQ3RDLE1BQU07dUJBQUMsZUFBZTs7a0ZBM0NkLCtCQUErQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1BVF9ESUFMT0dfREFUQSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IE1hdFNlbGVjdENoYW5nZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XHJcbmltcG9ydCB7IExMTVJlcGhyYXNlVXNlQ2FzZSwgTExNU2VydmljZSwgTExNU3VtbWFyeVVzZUNhc2UgfSBmcm9tICdAdGlsZGUtbmxwL25neC1zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiwgZmluYWxpemUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgRVJST1JfQ09ERVMgfSBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMnO1xyXG5pbXBvcnQgeyBOb3RpZmljYXRpb25NZXNzYWdlIH0gZnJvbSAnLi4vLi4vLi4vbm90aWZpY2F0aW9uLW1lc3NhZ2UnO1xyXG5pbXBvcnQgeyBQbGF1c2libGVIZWxwZXIgfSBmcm9tICcuLi8uLi8uLi9wbGF1c2libGUnO1xyXG5pbXBvcnQgeyBMTE1BY3Rpb25zIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2xsbS1hY3Rpb25zLmVudW0nO1xyXG5pbXBvcnQgeyBMTE1EYXRhIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2xsbS1kYXRhLm1vZGVsJztcclxuaW1wb3J0IHsgTExNV3JpdGluZ1N0eWxlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2xsbS13cml0aW5nLXN0eWxlLmVudW0nO1xyXG5pbXBvcnQgeyBMTE1IZWxwZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbGxtLWhlbHBlci5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWxsbS10ZXh0YXJlYS13aXRoLWFjdGlvbnMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9sbG0tdGV4dGFyZWEtd2l0aC1hY3Rpb25zLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9sbG0tdGV4dGFyZWEtd2l0aC1hY3Rpb25zLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIExMTVRleHRhcmVhV2l0aEFjdGlvbnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGlzTG9hZGluZyE6IGJvb2xlYW47XHJcbiAgaXNTdW1tYXJpemVkITogYm9vbGVhbjtcclxuICBpc0VkaXRlZCE6IGJvb2xlYW47XHJcbiAgcmVtYWluaW5nUXVvdGFNZXNzYWdlVmlzaWJsZSE6IGJvb2xlYW47XHJcbiAgcXVvdGFMZWZ0ITogbnVtYmVyO1xyXG4gIG1heENoYXJMZW5ndGghOiBudW1iZXI7XHJcbiAgc3Vic2NyaXB0aW9uVXJsITogc3RyaW5nO1xyXG4gIHByZXZpb3VzV3JpdGluZ1N0eWxlITogTExNV3JpdGluZ1N0eWxlO1xyXG4gIHNlbGVjdGVkV3JpdGluZ1N0eWxlID0gTExNV3JpdGluZ1N0eWxlLkdFTkVSQUw7XHJcblxyXG4gIHJlYWNoZWRRdW90YU1lc3NhZ2UhOiBOb3RpZmljYXRpb25NZXNzYWdlO1xyXG4gIGV4Y2VlZGVkTGltaXRNZXNzYWdlITogTm90aWZpY2F0aW9uTWVzc2FnZTtcclxuICByZXF1ZXN0VGltZW91dE1lc3NhZ2UhOiBOb3RpZmljYXRpb25NZXNzYWdlO1xyXG4gIGRlZmF1bHRFcnJvck1lc3NhZ2UhOiBOb3RpZmljYXRpb25NZXNzYWdlO1xyXG5cclxuICBzdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIGluaXRpYWxUZXh0ITogc3RyaW5nO1xyXG4gIGVkaXRlZFRleHQgPSAnJztcclxuICBtYW51YWxseUVkaXRlZFRleHQgPSAnJztcclxuXHJcbiAgbG9jYWxpemF0aW9uS2V5ITogc3RyaW5nO1xyXG4gIGxsbUFjdGlvblR5cGUhOiBMTE1BY3Rpb25zO1xyXG4gIHNlbGVjdGVkVXNlQ2FzZSE6IExMTVN1bW1hcnlVc2VDYXNlIHwgTExNUmVwaHJhc2VVc2VDYXNlO1xyXG5cclxuICBwcml2YXRlIHNhdmVkUmVwaHJhc2luZ3M6IHsgc3R5bGU6IExMTVdyaXRpbmdTdHlsZSwgdGV4dDogc3RyaW5nIH1bXSA9IFtdO1xyXG5cclxuICByZWFkb25seSBsbG1BY3Rpb25zID0gTExNQWN0aW9ucztcclxuICByZWFkb25seSB3cml0aW5nU3R5bGVzID0gT2JqZWN0LnZhbHVlcyhMTE1Xcml0aW5nU3R5bGUpO1xyXG4gIHVzZUNhc2VzOiBMTE1TdW1tYXJ5VXNlQ2FzZVtdIHwgTExNUmVwaHJhc2VVc2VDYXNlW10gPSBbXTtcclxuXHJcbiAgcmVhZG9ubHkgbWVzc2FnZXM6IE5vdGlmaWNhdGlvbk1lc3NhZ2VbXSA9IFtdO1xyXG5cclxuICBzaG93VXNlQ2FzZSA9IGZhbHNlO1xyXG5cclxuICBnZXQgaXNEaXNhYmxlZCgpIHtcclxuICAgIHJldHVybiB0aGlzLmlzTG9hZGluZyB8fCAhdGhpcy5pbml0aWFsVGV4dCB8fCB0aGlzLnF1b3RhTGVmdCA8IDE7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgbGxtU2VydmljZTogTExNU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgbGxtSGVscGVyU2VydmljZTogTExNSGVscGVyU2VydmljZSxcclxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwcml2YXRlIHJlYWRvbmx5IGRhdGE6IExMTURhdGFcclxuICApIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc2V0SW5pdGlhbFRleHQoKTtcclxuICAgIGlmKHRoaXMubGxtQWN0aW9uVHlwZSA9PT0gTExNQWN0aW9ucy5SRVBIUkFTRSkge1xyXG4gICAgICB0aGlzLnVzZUNhc2VzICA9IHRoaXMuZGF0YS5yZXBocmFzZVVzZUNhc2VzID8/IE9iamVjdC52YWx1ZXMoTExNUmVwaHJhc2VVc2VDYXNlKSBhcyBMTE1SZXBocmFzZVVzZUNhc2VbXTtcclxuICAgICAgdGhpcy5zZWxlY3RlZFVzZUNhc2UgPSB0aGlzLnVzZUNhc2VzWzBdO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZih0aGlzLmxsbUFjdGlvblR5cGUgPT09IExMTUFjdGlvbnMuU1VNTUFSWSkge1xyXG4gICAgICB0aGlzLnVzZUNhc2VzICA9IHRoaXMuZGF0YS5zdW1tYXJ5VXNlQ2FzZXMgPz8gT2JqZWN0LnZhbHVlcyhMTE1TdW1tYXJ5VXNlQ2FzZSkgYXMgTExNU3VtbWFyeVVzZUNhc2VbXTtcclxuICAgICAgdGhpcy5zZWxlY3RlZFVzZUNhc2UgPSBMTE1TdW1tYXJ5VXNlQ2FzZS5HZW5lcmFsO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc2hvd1VzZUNhc2UgPSAodGhpcy5sbG1BY3Rpb25UeXBlPT09ICBMTE1BY3Rpb25zLlJFUEhSQVNFICYmIHRoaXMuZGF0YS5zaG93VXNlQ2FzZVJlcGhyYXNlKSB8fCAodGhpcy5sbG1BY3Rpb25UeXBlID09PSBMTE1BY3Rpb25zLlNVTU1BUlkgJiYgdGhpcy5kYXRhLnNob3dVc2VDYXNlU3VtbWFyeSk7XHJcbiAgfVxyXG5cclxuICBjbG9zZU1lc3NhZ2UobXNnOiBOb3RpZmljYXRpb25NZXNzYWdlKTogdm9pZCB7XHJcbiAgICBjb25zdCBpbmRleCA9IHRoaXMubWVzc2FnZXM/LmZpbmRJbmRleCgobWVzc2FnZSkgPT4gSlNPTi5zdHJpbmdpZnkobWVzc2FnZSkgPT09IEpTT04uc3RyaW5naWZ5KG1zZykpO1xyXG5cclxuICAgIGlmIChpbmRleCB8fCBpbmRleCA9PT0gMCkge1xyXG4gICAgICB0aGlzLm1lc3NhZ2VzLnNwbGljZShpbmRleCwgMSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjaGVja1JlcGhyYXNlZFRleHRTYXZlcyhldmVudDogTWF0U2VsZWN0Q2hhbmdlKTogdm9pZCB7XHJcbiAgICBpZiAoZXZlbnQudmFsdWUgIT09IHRoaXMuc2VsZWN0ZWRXcml0aW5nU3R5bGUpIHtcclxuICAgICAgdGhpcy5wcmV2aW91c1dyaXRpbmdTdHlsZSA9IHRoaXMuc2VsZWN0ZWRXcml0aW5nU3R5bGU7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRXcml0aW5nU3R5bGUgPSBldmVudC52YWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBzZWxlY3RlZFdyaXRpbmdTdHlsZVNhdmUgPSB0aGlzLnNhdmVkUmVwaHJhc2luZ3MuZmluZCgocmVwaHJhc2luZykgPT4gcmVwaHJhc2luZy5zdHlsZSA9PT0gdGhpcy5zZWxlY3RlZFdyaXRpbmdTdHlsZSk7XHJcbiAgICBjb25zdCBwcmV2aW91c1dyaXRpbmdTdHlsZVNhdmUgPSB0aGlzLnNhdmVkUmVwaHJhc2luZ3MuZmluZCgoc2F2ZSkgPT4gc2F2ZS5zdHlsZSA9PT0gdGhpcy5wcmV2aW91c1dyaXRpbmdTdHlsZSk7XHJcblxyXG4gICAgaWYgKHByZXZpb3VzV3JpdGluZ1N0eWxlU2F2ZSkge1xyXG4gICAgICBwcmV2aW91c1dyaXRpbmdTdHlsZVNhdmUudGV4dCA9IHRoaXMuZWRpdGVkVGV4dCAhPT0gJycgPyB0aGlzLmVkaXRlZFRleHQgOiB0aGlzLmluaXRpYWxUZXh0O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zYXZlZFJlcGhyYXNpbmdzLnB1c2goeyBzdHlsZTogdGhpcy5wcmV2aW91c1dyaXRpbmdTdHlsZSwgdGV4dDogdGhpcy5lZGl0ZWRUZXh0ICE9PSAnJyA/IHRoaXMuZWRpdGVkVGV4dCA6IHRoaXMuaW5pdGlhbFRleHQgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5lZGl0ZWRUZXh0ID0gc2VsZWN0ZWRXcml0aW5nU3R5bGVTYXZlPy50ZXh0ID8/IHRoaXMuaW5pdGlhbFRleHQ7XHJcbiAgICB0aGlzLm1hbnVhbGx5RWRpdGVkVGV4dCA9ICcnO1xyXG5cclxuICAgIHRoaXMuY2hlY2tUZXh0TGltaXQoKTtcclxuICB9XHJcblxyXG4gIGdldEVkaXRlZFRleHQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XHJcblxyXG4gICAgaWYgKHRoaXMubGxtQWN0aW9uVHlwZSA9PT0gTExNQWN0aW9ucy5SRVBIUkFTRSkge1xyXG4gICAgICB0aGlzLndyaXRpbmdTdHlsZVBsYXVzaWJsZUV2ZW50KCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnN1bW1hcnlQbGF1c2libGVFdmVudCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gdGhpcy5nZXRSZXF1ZXN0KCk7XHJcbiAgfVxyXG5cclxuICBjYW5jZWwoKTogdm9pZCB7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgdGV4dEVkaXRFdmVudCh0ZXh0OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMubWFudWFsbHlFZGl0ZWRUZXh0ID0gdGV4dDtcclxuICAgIHRoaXMuaW5pdGlhbFRleHQgPSB0ZXh0O1xyXG4gICAgdGhpcy5lZGl0ZWRUZXh0ID0gJyc7XHJcblxyXG4gICAgdGhpcy5jaGVja1RleHRMaW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgY29weVBsYXVzaWJsZUV2ZW50KCk6IHZvaWQge1xyXG4gICAgUGxhdXNpYmxlSGVscGVyLmN1c3RvbUV2ZW50KHRoaXMubGxtQWN0aW9uVHlwZS50b0xvd2VyQ2FzZSgpLCB7IGFjdGlvbjogJ2NvcHknIH0pO1xyXG4gIH1cclxuXHJcbiAgZGlzbGlrZVBsYXVzaWJsZUV2ZW50KCk6IHZvaWQge1xyXG4gICAgUGxhdXNpYmxlSGVscGVyLmN1c3RvbUV2ZW50KHRoaXMubGxtQWN0aW9uVHlwZS50b0xvd2VyQ2FzZSgpLCB7IGFjdGlvbjogJ2Rpc2xpa2UnIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRJbml0aWFsVGV4dCgpIHtcclxuICAgIHRoaXMuZGF0YS50ZXh0LnN1YnNjcmliZSgodGV4dCkgPT4ge1xyXG4gICAgICB0aGlzLmluaXRpYWxUZXh0ID0gdGV4dDtcclxuICAgICAgdGhpcy5sbG1BY3Rpb25UeXBlID0gdGhpcy5kYXRhLmFjdGlvbjtcclxuICAgICAgdGhpcy5sb2NhbGl6YXRpb25LZXkgPSBgTExNLiR7dGhpcy5sbG1BY3Rpb25UeXBlfV9NT0RBTC5gXHJcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uVXJsID0gdGhpcy5sbG1IZWxwZXJTZXJ2aWNlLmxsbUNvbmZpZ3VyYXRpb24uc3Vic2NyaXB0aW9uVXJsO1xyXG4gICAgICB0aGlzLm1heENoYXJMZW5ndGggPSB0aGlzLmxsbUhlbHBlclNlcnZpY2UubGxtQ29uZmlndXJhdGlvbi5tYXhDaGFyTGVuZ3RoO1xyXG5cclxuICAgICAgdGhpcy5yZWZyZXNoUXVvdGEoKTtcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNoZWNrVGV4dExpbWl0KCk6IHZvaWQge1xyXG4gICAgY29uc3QgbGltaXQgPSB0aGlzLm1heENoYXJMZW5ndGg7XHJcbiAgICBjb25zdCB0ZXh0cyA9IFt0aGlzLmluaXRpYWxUZXh0LCB0aGlzLm1hbnVhbGx5RWRpdGVkVGV4dCwgdGhpcy5lZGl0ZWRUZXh0XTtcclxuICAgIGNvbnN0IGxvbmdlc3RUZXh0ID0gdGhpcy5lZGl0ZWRUZXh0ICYmICF0aGlzLm1hbnVhbGx5RWRpdGVkVGV4dCA/IHRoaXMuZWRpdGVkVGV4dCA6IHRleHRzLnJlZHVjZSgoYSwgYikgPT4gYS5sZW5ndGggPiBiLmxlbmd0aCA/IGEgOiBiKTtcclxuXHJcbiAgICBpZiAobG9uZ2VzdFRleHQubGVuZ3RoID4gbGltaXQpIHtcclxuICAgICAgaWYgKHRoaXMuZXhjZWVkZWRMaW1pdE1lc3NhZ2UpIHtcclxuICAgICAgICB0aGlzLmNsb3NlTWVzc2FnZSh0aGlzLmV4Y2VlZGVkTGltaXRNZXNzYWdlKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5leGNlZWRlZExpbWl0TWVzc2FnZSA9IHRoaXMubGxtSGVscGVyU2VydmljZS5nZXRFeGNlZWRlZExpbWl0TWVzc2FnZShsb25nZXN0VGV4dC5sZW5ndGgpO1xyXG4gICAgICB0aGlzLm1lc3NhZ2VzLnB1c2godGhpcy5leGNlZWRlZExpbWl0TWVzc2FnZSlcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuY2xvc2VNZXNzYWdlKHRoaXMuZXhjZWVkZWRMaW1pdE1lc3NhZ2UpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB3cml0aW5nU3R5bGVQbGF1c2libGVFdmVudCgpOiB2b2lkIHtcclxuICAgIFBsYXVzaWJsZUhlbHBlci5jdXN0b21FdmVudCh0aGlzLmxsbUFjdGlvblR5cGUudG9Mb3dlckNhc2UoKSwgeyB3cml0aW5nU3R5bGU6IHRoaXMuc2VsZWN0ZWRXcml0aW5nU3R5bGUgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN1bW1hcnlQbGF1c2libGVFdmVudCgpOiB2b2lkIHtcclxuICAgIFBsYXVzaWJsZUhlbHBlci5jdXN0b21FdmVudCh0aGlzLmxsbUFjdGlvblR5cGUudG9Mb3dlckNhc2UoKSwgeyBhY3Rpb246ICdzdW1tYXJ5JyB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVmcmVzaFF1b3RhKGRlY3JlYXNlPzogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5sbG1IZWxwZXJTZXJ2aWNlLmdldFJlbWFpbmluZ1F1b3RhKGRlY3JlYXNlKS5zdWJzY3JpYmUoKHJlbWFpbmluZ1F1b3RhKSA9PiB7XHJcbiAgICAgIHRoaXMucXVvdGFMZWZ0ID0gcmVtYWluaW5nUXVvdGE7XHJcbiAgICAgIHRoaXMuc2V0UXVvdGFNZXNzYWdlKCk7XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRRdW90YU1lc3NhZ2UoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5xdW90YUxlZnQgPD0gdGhpcy5sbG1IZWxwZXJTZXJ2aWNlLnRyaWFsUmVxdWVzdENvdW50KSB7XHJcbiAgICAgIHRoaXMucmVtYWluaW5nUXVvdGFNZXNzYWdlVmlzaWJsZSA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMucXVvdGFMZWZ0IDwgMSkge1xyXG4gICAgICB0aGlzLnJlYWNoZWRRdW90YU1lc3NhZ2UgPSB0aGlzLmxsbUhlbHBlclNlcnZpY2UuZ2V0UmVhY2hlZFF1b3RhTWVzc2FnZSgpO1xyXG4gICAgICB0aGlzLm1lc3NhZ2VzLnB1c2godGhpcy5yZWFjaGVkUXVvdGFNZXNzYWdlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0UmVxdWVzdCgpOiBTdWJzY3JpcHRpb24ge1xyXG4gICAgbGV0IHRleHQgPVxyXG4gICAgICB0aGlzLm1hbnVhbGx5RWRpdGVkVGV4dCAhPT0gJydcclxuICAgICAgICA/IHRoaXMubWFudWFsbHlFZGl0ZWRUZXh0XHJcbiAgICAgICAgOiB0aGlzLmluaXRpYWxUZXh0O1xyXG5cclxuICAgIGlmICh0ZXh0Lmxlbmd0aCA+IHRoaXMubWF4Q2hhckxlbmd0aCkge1xyXG4gICAgICB0ZXh0ID0gdGV4dC5zdWJzdHJpbmcoMCwgdGhpcy5tYXhDaGFyTGVuZ3RoKTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBtZXRob2QgPVxyXG4gICAgICB0aGlzLmxsbUFjdGlvblR5cGUgPT09IExMTUFjdGlvbnMuUkVQSFJBU0VcclxuICAgICAgICA/IHRoaXMubGxtU2VydmljZS5yZXBocmFzZSh7IHRleHQ6IHRleHQsIGxhbmd1YWdlOiB0aGlzLmRhdGEubGFuZ3VhZ2UsIHN0eWxlOiB0aGlzLnNlbGVjdGVkV3JpdGluZ1N0eWxlLCB1c2VDYXNlOiB0aGlzLnNlbGVjdGVkVXNlQ2FzZSBhcyBMTE1SZXBocmFzZVVzZUNhc2UgfSlcclxuICAgICAgICA6IHRoaXMubGxtU2VydmljZS5zdW1tYXJpemUoeyB0ZXh0OiB0ZXh0LCBsYW5ndWFnZTogdGhpcy5kYXRhLmxhbmd1YWdlLCB1c2VDYXNlOiB0aGlzLnNlbGVjdGVkVXNlQ2FzZSBhcyBMTE1TdW1tYXJ5VXNlQ2FzZSB9KTtcclxuXHJcbiAgICByZXR1cm4gbWV0aG9kXHJcbiAgICAgIC5waXBlKGZpbmFsaXplKCgpID0+ICh0aGlzLmlzTG9hZGluZyA9IGZhbHNlKSkpXHJcbiAgICAgIC5zdWJzY3JpYmUodGhpcy5nZXRSZXF1ZXN0Q2FsbGJhY2soKSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldFJlcXVlc3RDYWxsYmFjaygpIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIG5leHQ6IChyZXNwb25zZTogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgaWYgKHRoaXMubGxtQWN0aW9uVHlwZSA9PT0gdGhpcy5sbG1BY3Rpb25zLlNVTU1BUlkpIHtcclxuICAgICAgICAgIHRoaXMuaXNTdW1tYXJpemVkID0gdHJ1ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuZWRpdGVkVGV4dCA9IHJlc3BvbnNlO1xyXG4gICAgICAgIHRoaXMubWFudWFsbHlFZGl0ZWRUZXh0ID0gJyc7XHJcbiAgICAgICAgdGhpcy5kZWZhdWx0RXJyb3JNZXNzYWdlID0gdGhpcy5sbG1IZWxwZXJTZXJ2aWNlLmdldERlZmF1bHRFcnJvck1lc3NhZ2UoKTtcclxuICAgICAgICB0aGlzLmNsb3NlTWVzc2FnZSh0aGlzLmRlZmF1bHRFcnJvck1lc3NhZ2UpO1xyXG4gICAgICAgIHRoaXMuY2xvc2VNZXNzYWdlKHRoaXMucmVxdWVzdFRpbWVvdXRNZXNzYWdlKTtcclxuICAgICAgICB0aGlzLmlzRWRpdGVkID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnJlZnJlc2hRdW90YSh0cnVlKTtcclxuICAgICAgICB0aGlzLmNoZWNrVGV4dExpbWl0KCk7XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PT0gRVJST1JfQ09ERVMuVElNRU9VVCkge1xyXG4gICAgICAgICAgdGhpcy5yZXF1ZXN0VGltZW91dE1lc3NhZ2UgPSB0aGlzLmxsbUhlbHBlclNlcnZpY2UuZ2V0UmVxdWVzdFRpbWVvdXRNZXNzYWdlKHRoaXMubGxtQWN0aW9uVHlwZSk7XHJcbiAgICAgICAgICB0aGlzLm1lc3NhZ2VzLnB1c2godGhpcy5yZXF1ZXN0VGltZW91dE1lc3NhZ2UpO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5tZXNzYWdlcy5wdXNoKHRoaXMuZGVmYXVsdEVycm9yTWVzc2FnZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGgxIG1hdC1kaWFsb2ctdGl0bGU+e3sgbG9jYWxpemF0aW9uS2V5ICsgXCJUSVRMRVwiIHwgdHJhbnNsYXRlIH19PC9oMT5cclxuPGRpdiBtYXQtZGlhbG9nLWNvbnRlbnQ+XHJcbiAgPHAgW2lubmVySFRNTF09XCJsb2NhbGl6YXRpb25LZXkgKyAnREVTQ1JJUFRJT04nIHwgdHJhbnNsYXRlXCI+PC9wPlxyXG5cclxuICA8bGliLXRsZC1ub3RpZmljYXRpb24tbWVzc2FnZSAqbmdGb3I9XCJsZXQgbWVzc2FnZSBvZiBtZXNzYWdlc1wiIFttZXNzYWdlXT1cIm1lc3NhZ2VcIiAoY2xvc2VDbGlja2VkKT1cImNsb3NlTWVzc2FnZShtZXNzYWdlKVwiPjwvbGliLXRsZC1ub3RpZmljYXRpb24tbWVzc2FnZT5cclxuXHJcbiAgPG1hdC1mb3JtLWZpZWxkICpuZ0lmPVwic2hvd1VzZUNhc2VcIiBjb2xvcj1cImFjY2VudFwiIGNsYXNzPVwidy1mdWxsIGxsbS13cml0aW5nLXN0eWxlLXNlbGVjdFwiIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCI+XHJcbiAgICA8bWF0LWxhYmVsPnt7ICdMTE0uVVNFX0NBU0VTX0xBQkVMJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxyXG4gICAgPG1hdC1zZWxlY3QgW2Rpc2FibGVkXT1cImlzTG9hZGluZ1wiIFsobmdNb2RlbCldPVwic2VsZWN0ZWRVc2VDYXNlXCI+XHJcbiAgICAgIEBmb3IgKHVzZUNhc2Ugb2YgdXNlQ2FzZXM7IHRyYWNrICRpbmRleCkge1xyXG5cclxuICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwidXNlQ2FzZVwiPlxyXG4gICAgICAgICAge3sgJ0xMTS5VU0VfQ0FTRS4nICsgKHVzZUNhc2UgfCB1cHBlcmNhc2UpIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gICAgICB9XHJcbiAgICA8L21hdC1zZWxlY3Q+XHJcbiAgPC9tYXQtZm9ybS1maWVsZD5cclxuXHJcblxyXG5cclxuICA8bGliLWxsbS10ZXh0YXJlYSBbY2xhc3MucmVwaHJhc2VdPVwibGxtQWN0aW9uVHlwZSA9PT0gbGxtQWN0aW9ucy5SRVBIUkFTRVwiIFt0ZXh0XT1cImVkaXRlZFRleHQgIT09ICcnID8gZWRpdGVkVGV4dCA6IGluaXRpYWxUZXh0XCIgW2Rpc2FibGVkXT1cImlzTG9hZGluZyB8fCAhcXVvdGFMZWZ0XCIgW2FjdGlvbkJ1dHRvbnNEaXNhYmxlZF09XCIhaXNFZGl0ZWRcIiAodGV4dEVkaXRFdmVudCk9XCJ0ZXh0RWRpdEV2ZW50KCRldmVudClcIiAoY29weUV2ZW50KT1cImNvcHlQbGF1c2libGVFdmVudCgpXCIgKGRpc2xpa2VFdmVudCk9XCJkaXNsaWtlUGxhdXNpYmxlRXZlbnQoKVwiPjwvbGliLWxsbS10ZXh0YXJlYT5cclxuPC9kaXY+XHJcbjxkaXYgY2xhc3M9XCJsbG0tYWN0aW9ucy13cmFwcGVyXCIgbWF0LWRpYWxvZy1hY3Rpb25zPlxyXG4gIDxkaXYgKm5nSWY9XCJyZW1haW5pbmdRdW90YU1lc3NhZ2VWaXNpYmxlXCIgY2xhc3M9XCJxdW90YS1sZWZ0LW1lc3NhZ2VcIiBbaW5uZXJIVE1MXT1cImxvY2FsaXphdGlvbktleSArICdMSU1JVCcgfCB0cmFuc2xhdGU6IHsgbGltaXQ6IHF1b3RhTGVmdCwgc3Vic2NyaXB0aW9uVXJsOiBzdWJzY3JpcHRpb25VcmwgfVwiPjwvZGl2PlxyXG5cclxuICA8ZGl2IFtjbGFzcy53LWZ1bGxdPVwiIXJlbWFpbmluZ1F1b3RhTWVzc2FnZVZpc2libGVcIiBjbGFzcz1cImxsbS1hY3Rpb25zXCI+XHJcbiAgICA8YnV0dG9uICpuZ0lmPVwiaXNMb2FkaW5nOyBlbHNlIGNsb3NlQnV0dG9uXCIgbWF0LWJ1dHRvbiBjb2xvcj1cImFjY2VudFwiIChjbGljayk9XCJjYW5jZWwoKVwiPlxyXG4gICAgICB7eyBsb2NhbGl6YXRpb25LZXkgKyBcIkNBTkNFTFwiIHwgdHJhbnNsYXRlIH19XHJcbiAgICA8L2J1dHRvbj5cclxuXHJcbiAgICA8bmctdGVtcGxhdGUgI2Nsb3NlQnV0dG9uPlxyXG4gICAgICA8YnV0dG9uIG1hdC1idXR0b24gY29sb3I9XCJhY2NlbnRcIiBbbWF0LWRpYWxvZy1jbG9zZV09XCJudWxsXCI+XHJcbiAgICAgICAge3sgbG9jYWxpemF0aW9uS2V5ICsgXCJDTE9TRVwiIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICA8YnV0dG9uXHJcbiAgICAgIG1hdC1mbGF0LWJ1dHRvblxyXG4gICAgICBjb2xvcj1cImFjY2VudFwiXHJcbiAgICAgIChjbGljayk9XCJnZXRFZGl0ZWRUZXh0KClcIlxyXG4gICAgICBbZGlzYWJsZWRdPVwiaXNEaXNhYmxlZFwiXHJcbiAgICA+XHJcbiAgICAgIDxzcGFuICpuZ0lmPVwibGxtQWN0aW9uVHlwZSA9PT0gbGxtQWN0aW9ucy5TVU1NQVJZOyBlbHNlIHJlcGhyYXNlQWN0aW9uXCI+XHJcbiAgICAgICAge3tcclxuICAgICAgICAgICghaXNTdW1tYXJpemVkXHJcbiAgICAgICAgICAgID8gXCJMTE0uU1VNTUFSWV9NT0RBTC5BQ1RJT05cIlxyXG4gICAgICAgICAgICA6IFwiTExNLlNVTU1BUllfTU9EQUwuUkVHRU5FUkFURVwiXHJcbiAgICAgICAgICApIHwgdHJhbnNsYXRlXHJcbiAgICAgICAgfX1cclxuICAgICAgPC9zcGFuPlxyXG5cclxuICAgICAgPG5nLXRlbXBsYXRlICNyZXBocmFzZUFjdGlvbj5cclxuICAgICAgICB7eyBsb2NhbGl6YXRpb25LZXkgKyBcIkFDVElPTlwiIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDxtYXQtc3Bpbm5lciAqbmdJZj1cImlzTG9hZGluZ1wiIFtkaWFtZXRlcl09XCIyMFwiIGNvbG9yPVwicHJpbWFyeS1hY2NlbnQtZGFya2VyXCI+PC9tYXQtc3Bpbm5lcj5cclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
@@ -1,2 +0,0 @@
1
- export * from './llm-menu.icon';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tbW9uL3NyYy9saWIvbGxtL2ljb25zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsaUJBQWlCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xsbS1tZW51Lmljb24nIl19
@@ -1,14 +0,0 @@
1
- export const SUMMARIZE = `<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <path d="M4 5H18.6286V6.82857H4V5ZM4 10.4857H18.6286V8.65714H4V10.4857ZM4 14.1429H10.4V12.3143H4V14.1429ZM4 17.8H10.4V15.9714H4V17.8Z" fill="currentColor"/>
3
- <path d="M17.4005 13.3093C17.0801 12.5922 16.0622 12.5922 15.7418 13.3093L15.1052 14.7341L13.6804 15.3707C12.9633 15.6911 12.9633 16.709 13.6804 17.0294L15.1052 17.666L15.7418 19.0908C16.0622 19.8079 17.0801 19.8079 17.4005 19.0908L18.0371 17.666L19.4619 17.0294C20.179 16.709 20.179 15.6911 19.4619 15.3707L18.0371 14.7341L17.4005 13.3093Z" fill="currentColor"/>
4
- <path d="M13.5612 12.0546C13.4438 11.7917 13.0705 11.7917 12.953 12.0546L12.7196 12.577L12.1972 12.8105C11.9343 12.9279 11.9343 13.3012 12.1972 13.4187L12.7196 13.6521L12.953 14.1745C13.0705 14.4374 13.4438 14.4374 13.5612 14.1745L13.7947 13.6521L14.3171 13.4187C14.58 13.3012 14.58 12.9279 14.3171 12.8105L13.7947 12.577L13.5612 12.0546Z" fill="currentColor"/>
5
- </svg>
6
- `;
7
- export const REPHRASE = `<svg width="25" height="25" viewBox="0 0 25 25" fill="none" xmlns="http://www.w3.org/2000/svg">
8
- <path fill-rule="evenodd" clip-rule="evenodd" d="M19.879 4.16166L21.229 5.51166C22.019 6.29166 22.019 7.56166 21.229 8.34166L7.99897 21.5717H3.81897V17.3917L14.219 6.98166L17.049 4.16166C17.829 3.38166 19.099 3.38166 19.879 4.16166ZM5.81897 19.5717L7.22897 19.6317L17.049 9.80166L15.639 8.39166L5.81897 18.2117V19.5717Z" fill="currentColor"/>
9
- <path d="M19.5181 19.798L18.8644 21.261C18.6793 21.6752 18.0913 21.6752 17.9062 21.261L17.2526 19.798C17.1471 19.5621 16.9584 19.3734 16.7225 19.268L15.2595 18.6143C14.8453 18.4292 14.8453 17.8412 15.2595 17.6561L16.7225 17.0024C16.9584 16.897 17.1471 16.7083 17.2526 16.4724L17.9062 15.0094C18.0913 14.5952 18.6793 14.5952 18.8644 15.0094L19.5181 16.4724C19.6235 16.7083 19.8122 16.897 20.0481 17.0024L21.5111 17.6561C21.9253 17.8412 21.9253 18.4292 21.5111 18.6143L20.0481 19.268C19.8122 19.3734 19.6235 19.5621 19.5181 19.798Z" stroke="#474D53"/>
10
- <path d="M9.88502 3.56437C9.75242 3.26761 9.33117 3.26761 9.19857 3.56437L8.93512 4.15399L8.3455 4.41744C8.04874 4.55003 8.04874 4.97129 8.3455 5.10389L8.93512 5.36733L9.19857 5.95696C9.33117 6.25372 9.75242 6.25372 9.88502 5.95696L10.1485 5.36733L10.7381 5.10389C11.0349 4.97129 11.0349 4.55003 10.7381 4.41744L10.1485 4.15399L9.88502 3.56437Z" fill="currentColor"/>
11
- <path d="M6.50947 5.80395C6.31057 5.35881 5.67869 5.35881 5.4798 5.80395L5.08462 6.68839L4.20019 7.08356C3.75505 7.28245 3.75505 7.91434 4.20019 8.11323L5.08462 8.5084L5.4798 9.39284C5.67869 9.83798 6.31057 9.83798 6.50947 9.39284L6.90464 8.5084L7.78907 8.11323C8.23421 7.91434 8.23421 7.28245 7.78907 7.08356L6.90464 6.68839L6.50947 5.80395Z" fill="currentColor"/>
12
- </svg>
13
- `;
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGxtLW1lbnUuaWNvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21tb24vc3JjL2xpYi9sbG0vaWNvbnMvbGxtLW1lbnUuaWNvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUc7Ozs7O0NBS3hCLENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUc7Ozs7OztDQU12QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IFNVTU1BUklaRSA9IGA8c3ZnIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuPHBhdGggZD1cIk00IDVIMTguNjI4NlY2LjgyODU3SDRWNVpNNCAxMC40ODU3SDE4LjYyODZWOC42NTcxNEg0VjEwLjQ4NTdaTTQgMTQuMTQyOUgxMC40VjEyLjMxNDNINFYxNC4xNDI5Wk00IDE3LjhIMTAuNFYxNS45NzE0SDRWMTcuOFpcIiBmaWxsPVwiY3VycmVudENvbG9yXCIvPlxyXG48cGF0aCBkPVwiTTE3LjQwMDUgMTMuMzA5M0MxNy4wODAxIDEyLjU5MjIgMTYuMDYyMiAxMi41OTIyIDE1Ljc0MTggMTMuMzA5M0wxNS4xMDUyIDE0LjczNDFMMTMuNjgwNCAxNS4zNzA3QzEyLjk2MzMgMTUuNjkxMSAxMi45NjMzIDE2LjcwOSAxMy42ODA0IDE3LjAyOTRMMTUuMTA1MiAxNy42NjZMMTUuNzQxOCAxOS4wOTA4QzE2LjA2MjIgMTkuODA3OSAxNy4wODAxIDE5LjgwNzkgMTcuNDAwNSAxOS4wOTA4TDE4LjAzNzEgMTcuNjY2TDE5LjQ2MTkgMTcuMDI5NEMyMC4xNzkgMTYuNzA5IDIwLjE3OSAxNS42OTExIDE5LjQ2MTkgMTUuMzcwN0wxOC4wMzcxIDE0LjczNDFMMTcuNDAwNSAxMy4zMDkzWlwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIi8+XHJcbjxwYXRoIGQ9XCJNMTMuNTYxMiAxMi4wNTQ2QzEzLjQ0MzggMTEuNzkxNyAxMy4wNzA1IDExLjc5MTcgMTIuOTUzIDEyLjA1NDZMMTIuNzE5NiAxMi41NzdMMTIuMTk3MiAxMi44MTA1QzExLjkzNDMgMTIuOTI3OSAxMS45MzQzIDEzLjMwMTIgMTIuMTk3MiAxMy40MTg3TDEyLjcxOTYgMTMuNjUyMUwxMi45NTMgMTQuMTc0NUMxMy4wNzA1IDE0LjQzNzQgMTMuNDQzOCAxNC40Mzc0IDEzLjU2MTIgMTQuMTc0NUwxMy43OTQ3IDEzLjY1MjFMMTQuMzE3MSAxMy40MTg3QzE0LjU4IDEzLjMwMTIgMTQuNTggMTIuOTI3OSAxNC4zMTcxIDEyLjgxMDVMMTMuNzk0NyAxMi41NzdMMTMuNTYxMiAxMi4wNTQ2WlwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIi8+XHJcbjwvc3ZnPlxyXG5gO1xyXG5leHBvcnQgY29uc3QgUkVQSFJBU0UgPSBgPHN2ZyB3aWR0aD1cIjI1XCIgaGVpZ2h0PVwiMjVcIiB2aWV3Qm94PVwiMCAwIDI1IDI1XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbjxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCIgZD1cIk0xOS44NzkgNC4xNjE2NkwyMS4yMjkgNS41MTE2NkMyMi4wMTkgNi4yOTE2NiAyMi4wMTkgNy41NjE2NiAyMS4yMjkgOC4zNDE2Nkw3Ljk5ODk3IDIxLjU3MTdIMy44MTg5N1YxNy4zOTE3TDE0LjIxOSA2Ljk4MTY2TDE3LjA0OSA0LjE2MTY2QzE3LjgyOSAzLjM4MTY2IDE5LjA5OSAzLjM4MTY2IDE5Ljg3OSA0LjE2MTY2Wk01LjgxODk3IDE5LjU3MTdMNy4yMjg5NyAxOS42MzE3TDE3LjA0OSA5LjgwMTY2TDE1LjYzOSA4LjM5MTY2TDUuODE4OTcgMTguMjExN1YxOS41NzE3WlwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIi8+XHJcbjxwYXRoIGQ9XCJNMTkuNTE4MSAxOS43OThMMTguODY0NCAyMS4yNjFDMTguNjc5MyAyMS42NzUyIDE4LjA5MTMgMjEuNjc1MiAxNy45MDYyIDIxLjI2MUwxNy4yNTI2IDE5Ljc5OEMxNy4xNDcxIDE5LjU2MjEgMTYuOTU4NCAxOS4zNzM0IDE2LjcyMjUgMTkuMjY4TDE1LjI1OTUgMTguNjE0M0MxNC44NDUzIDE4LjQyOTIgMTQuODQ1MyAxNy44NDEyIDE1LjI1OTUgMTcuNjU2MUwxNi43MjI1IDE3LjAwMjRDMTYuOTU4NCAxNi44OTcgMTcuMTQ3MSAxNi43MDgzIDE3LjI1MjYgMTYuNDcyNEwxNy45MDYyIDE1LjAwOTRDMTguMDkxMyAxNC41OTUyIDE4LjY3OTMgMTQuNTk1MiAxOC44NjQ0IDE1LjAwOTRMMTkuNTE4MSAxNi40NzI0QzE5LjYyMzUgMTYuNzA4MyAxOS44MTIyIDE2Ljg5NyAyMC4wNDgxIDE3LjAwMjRMMjEuNTExMSAxNy42NTYxQzIxLjkyNTMgMTcuODQxMiAyMS45MjUzIDE4LjQyOTIgMjEuNTExMSAxOC42MTQzTDIwLjA0ODEgMTkuMjY4QzE5LjgxMjIgMTkuMzczNCAxOS42MjM1IDE5LjU2MjEgMTkuNTE4MSAxOS43OThaXCIgc3Ryb2tlPVwiIzQ3NEQ1M1wiLz5cclxuPHBhdGggZD1cIk05Ljg4NTAyIDMuNTY0MzdDOS43NTI0MiAzLjI2NzYxIDkuMzMxMTcgMy4yNjc2MSA5LjE5ODU3IDMuNTY0MzdMOC45MzUxMiA0LjE1Mzk5TDguMzQ1NSA0LjQxNzQ0QzguMDQ4NzQgNC41NTAwMyA4LjA0ODc0IDQuOTcxMjkgOC4zNDU1IDUuMTAzODlMOC45MzUxMiA1LjM2NzMzTDkuMTk4NTcgNS45NTY5NkM5LjMzMTE3IDYuMjUzNzIgOS43NTI0MiA2LjI1MzcyIDkuODg1MDIgNS45NTY5NkwxMC4xNDg1IDUuMzY3MzNMMTAuNzM4MSA1LjEwMzg5QzExLjAzNDkgNC45NzEyOSAxMS4wMzQ5IDQuNTUwMDMgMTAuNzM4MSA0LjQxNzQ0TDEwLjE0ODUgNC4xNTM5OUw5Ljg4NTAyIDMuNTY0MzdaXCIgZmlsbD1cImN1cnJlbnRDb2xvclwiLz5cclxuPHBhdGggZD1cIk02LjUwOTQ3IDUuODAzOTVDNi4zMTA1NyA1LjM1ODgxIDUuNjc4NjkgNS4zNTg4MSA1LjQ3OTggNS44MDM5NUw1LjA4NDYyIDYuNjg4MzlMNC4yMDAxOSA3LjA4MzU2QzMuNzU1MDUgNy4yODI0NSAzLjc1NTA1IDcuOTE0MzQgNC4yMDAxOSA4LjExMzIzTDUuMDg0NjIgOC41MDg0TDUuNDc5OCA5LjM5Mjg0QzUuNjc4NjkgOS44Mzc5OCA2LjMxMDU3IDkuODM3OTggNi41MDk0NyA5LjM5Mjg0TDYuOTA0NjQgOC41MDg0TDcuNzg5MDcgOC4xMTMyM0M4LjIzNDIxIDcuOTE0MzQgOC4yMzQyMSA3LjI4MjQ1IDcuNzg5MDcgNy4wODM1Nkw2LjkwNDY0IDYuNjg4MzlMNi41MDk0NyA1LjgwMzk1WlwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIi8+XHJcbjwvc3ZnPlxyXG5gOyJdfQ==
@@ -1,4 +0,0 @@
1
- export * from './llm.component';
2
- export * from './llm.module';
3
- export * from './models';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tbW9uL3NyYy9saWIvbGxtL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxVQUFVLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xsbS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xsbS5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL21vZGVscyc7Il19
@@ -1,122 +0,0 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import { LLMActions } from './models/llm-actions.enum';
3
- import { LLMTextareaWithActionsComponent } from './components/llm-textarea-with-actions/llm-textarea-with-actions.component';
4
- import * as icons from './icons';
5
- import { of } from 'rxjs';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/material/dialog";
8
- import * as i2 from "../services";
9
- import * as i3 from "@angular/common";
10
- import * as i4 from "@angular/material/tooltip";
11
- import * as i5 from "./components/llm-summary/llm-summary.component";
12
- import * as i6 from "./components/llm-rephrase/llm-rephrase.component";
13
- import * as i7 from "@ngx-translate/core";
14
- function LLMComponent_div_1_Template(rf, ctx) { if (rf & 1) {
15
- const _r1 = i0.ɵɵgetCurrentView();
16
- i0.ɵɵelementStart(0, "div", 2);
17
- i0.ɵɵpipe(1, "translate");
18
- i0.ɵɵelementStart(2, "lib-llm-summary", 3);
19
- i0.ɵɵlistener("openModalEvent", function LLMComponent_div_1_Template_lib_llm_summary_openModalEvent_2_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.openLLMModal($event)); });
20
- i0.ɵɵelementEnd()();
21
- } if (rf & 2) {
22
- const ctx_r1 = i0.ɵɵnextContext();
23
- i0.ɵɵproperty("matTooltipPosition", "left")("matTooltip", !ctx_r1.isTextSummarizable ? i0.ɵɵpipeBind1(1, 4, "LLM.MENU_SUMMARY_DISABLED_TOOLTIP") : "");
24
- i0.ɵɵadvance(2);
25
- i0.ɵɵproperty("isTextSummarizable", !!ctx_r1.isTextSummarizable)("newFeatureLocalStorageKey", ctx_r1.newFeatureLocalStorageKey);
26
- } }
27
- function LLMComponent_div_2_Template(rf, ctx) { if (rf & 1) {
28
- const _r3 = i0.ɵɵgetCurrentView();
29
- i0.ɵɵelementStart(0, "div", 2);
30
- i0.ɵɵpipe(1, "translate");
31
- i0.ɵɵelementStart(2, "lib-llm-rephrase", 4);
32
- i0.ɵɵlistener("openModalEvent", function LLMComponent_div_2_Template_lib_llm_rephrase_openModalEvent_2_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.openLLMModal($event)); });
33
- i0.ɵɵelementEnd()();
34
- } if (rf & 2) {
35
- const ctx_r1 = i0.ɵɵnextContext();
36
- i0.ɵɵproperty("matTooltipPosition", "left")("matTooltip", !ctx_r1.isTargetLanguageRephrasable ? i0.ɵɵpipeBind1(1, 4, "LLM.MENU_REPHRASE_DISABLED_TOOLTIP") : "");
37
- i0.ɵɵadvance(2);
38
- i0.ɵɵproperty("isTargetLanguageRephrasable", !!ctx_r1.isTargetLanguageRephrasable)("newFeatureLocalStorageKey", ctx_r1.newFeatureLocalStorageKey);
39
- } }
40
- export class LLMComponent {
41
- get isTextSummarizable() {
42
- return this.text;
43
- }
44
- get isTargetLanguageRephrasable() {
45
- return !this.rephrasableLanguagesCodeList || (this.language && this.rephrasableLanguagesCodeList.includes(this.languageService.removeRegionFromLanguageCode(this.language)));
46
- }
47
- constructor(dialog, iconService, languageService) {
48
- this.dialog = dialog;
49
- this.iconService = iconService;
50
- this.languageService = languageService;
51
- this.summaryEnabled = true;
52
- this.rephraseEnabled = true;
53
- this.showUseCaseSummary = false;
54
- this.showUseCaseRephrase = false;
55
- this.menuTriggerClick = new EventEmitter();
56
- this.llmAction = LLMActions;
57
- this.iconService.registerIcons(icons);
58
- }
59
- openLLMModal(action) {
60
- let textObservable;
61
- if (!this.text || typeof this.text === "string") {
62
- textObservable = of(this.text ?? "");
63
- }
64
- else {
65
- textObservable = this.text;
66
- }
67
- const data = {
68
- text: textObservable,
69
- language: this.language,
70
- action: action,
71
- showUseCaseSummary: this.showUseCaseSummary,
72
- showUseCaseRephrase: this.showUseCaseRephrase,
73
- summaryUseCases: this.summaryUseCases,
74
- rephraseUseCases: this.rephraseUseCases,
75
- };
76
- this.dialog.open(LLMTextareaWithActionsComponent, {
77
- panelClass: 'responsive-dialog',
78
- maxWidth: '800px',
79
- width: '100%',
80
- data
81
- });
82
- }
83
- static { this.ɵfac = function LLMComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LLMComponent)(i0.ɵɵdirectiveInject(i1.MatDialog), i0.ɵɵdirectiveInject(i2.IconService), i0.ɵɵdirectiveInject(i2.LanguageTranslateService)); }; }
84
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LLMComponent, selectors: [["lib-llm"]], inputs: { text: "text", language: "language", rephrasableLanguagesCodeList: "rephrasableLanguagesCodeList", summaryEnabled: "summaryEnabled", rephraseEnabled: "rephraseEnabled", showUseCaseSummary: "showUseCaseSummary", showUseCaseRephrase: "showUseCaseRephrase", newFeatureLocalStorageKey: "newFeatureLocalStorageKey", rephraseUseCases: "rephraseUseCases", summaryUseCases: "summaryUseCases" }, outputs: { menuTriggerClick: "menuTriggerClick" }, decls: 3, vars: 2, consts: [[1, "llm-wrapper"], [3, "matTooltipPosition", "matTooltip", 4, "ngIf"], [3, "matTooltipPosition", "matTooltip"], [3, "openModalEvent", "isTextSummarizable", "newFeatureLocalStorageKey"], [3, "openModalEvent", "isTargetLanguageRephrasable", "newFeatureLocalStorageKey"]], template: function LLMComponent_Template(rf, ctx) { if (rf & 1) {
85
- i0.ɵɵelementStart(0, "div", 0);
86
- i0.ɵɵtemplate(1, LLMComponent_div_1_Template, 3, 6, "div", 1)(2, LLMComponent_div_2_Template, 3, 6, "div", 1);
87
- i0.ɵɵelementEnd();
88
- } if (rf & 2) {
89
- i0.ɵɵadvance();
90
- i0.ɵɵproperty("ngIf", ctx.summaryEnabled);
91
- i0.ɵɵadvance();
92
- i0.ɵɵproperty("ngIf", ctx.rephraseEnabled);
93
- } }, dependencies: [i3.NgIf, i4.MatTooltip, i5.LLMSummaryComponent, i6.LLMRephraseComponent, i7.TranslatePipe], styles: [".llm-wrapper[_ngcontent-%COMP%]{display:flex;gap:8px}"] }); }
94
- }
95
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LLMComponent, [{
96
- type: Component,
97
- args: [{ selector: 'lib-llm', template: "<div class=\"llm-wrapper\">\r\n\t<div *ngIf=\"summaryEnabled\" [matTooltipPosition]=\"'left'\" [matTooltip]=\"!isTextSummarizable ? ('LLM.MENU_SUMMARY_DISABLED_TOOLTIP' | translate) : ''\">\r\n\t\t<lib-llm-summary [isTextSummarizable]=\"!!isTextSummarizable\" [newFeatureLocalStorageKey]=\"newFeatureLocalStorageKey\" (openModalEvent)=\"openLLMModal($event)\"></lib-llm-summary>\r\n\t</div>\r\n\r\n\t<div *ngIf=\"rephraseEnabled\" [matTooltipPosition]=\"'left'\" [matTooltip]=\"!isTargetLanguageRephrasable ? ('LLM.MENU_REPHRASE_DISABLED_TOOLTIP' | translate) : ''\">\r\n\t\t<lib-llm-rephrase\r\n\t\t\t[isTargetLanguageRephrasable]=\"!!isTargetLanguageRephrasable\"\r\n\t\t\t[newFeatureLocalStorageKey]=\"newFeatureLocalStorageKey\"\r\n\t\t\t(openModalEvent)=\"openLLMModal($event)\"\r\n\t\t></lib-llm-rephrase>\r\n\t</div>\r\n</div>\r\n", styles: [".llm-wrapper{display:flex;gap:8px}\n"] }]
98
- }], () => [{ type: i1.MatDialog }, { type: i2.IconService }, { type: i2.LanguageTranslateService }], { text: [{
99
- type: Input
100
- }], language: [{
101
- type: Input
102
- }], rephrasableLanguagesCodeList: [{
103
- type: Input
104
- }], summaryEnabled: [{
105
- type: Input
106
- }], rephraseEnabled: [{
107
- type: Input
108
- }], showUseCaseSummary: [{
109
- type: Input
110
- }], showUseCaseRephrase: [{
111
- type: Input
112
- }], newFeatureLocalStorageKey: [{
113
- type: Input
114
- }], rephraseUseCases: [{
115
- type: Input
116
- }], summaryUseCases: [{
117
- type: Input
118
- }], menuTriggerClick: [{
119
- type: Output
120
- }] }); })();
121
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(LLMComponent, { className: "LLMComponent", filePath: "lib\\llm\\llm.component.ts", lineNumber: 16 }); })();
122
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGxtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21tb24vc3JjL2xpYi9sbG0vbGxtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21tb24vc3JjL2xpYi9sbG0vbGxtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBR3ZELE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLDRFQUE0RSxDQUFDO0FBQzdILE9BQU8sS0FBSyxLQUFLLE1BQU0sU0FBUyxDQUFDO0FBQ2pDLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7O0lDTHJDLDhCQUFzSjs7SUFDckosMENBQTZKO0lBQXhDLHlNQUFrQiwyQkFBb0IsS0FBQztJQUM3SixBQUQ4SixpQkFBa0IsRUFDMUs7OztJQUZvRCxBQUE5QiwyQ0FBNkIsMkdBQTRGO0lBQ25JLGVBQTJDO0lBQUMsQUFBNUMsZ0VBQTJDLCtEQUF3RDs7OztJQUdySCw4QkFBaUs7O0lBQ2hLLDJDQUlDO0lBREEsME1BQWtCLDJCQUFvQixLQUFDO0lBRXpDLEFBREUsaUJBQW1CLEVBQ2Y7OztJQU5xRCxBQUE5QiwyQ0FBNkIscUhBQXNHO0lBRTlKLGVBQTZEO0lBQzdELEFBREEsa0ZBQTZELCtEQUNOOztBRE8xRCxNQUFNLE9BQU8sWUFBWTtJQWdCdkIsSUFBSSxrQkFBa0I7UUFDcEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ25CLENBQUM7SUFFRCxJQUFJLDJCQUEyQjtRQUM3QixPQUFPLENBQUMsSUFBSSxDQUFDLDRCQUE0QixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsNEJBQTRCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsNEJBQTRCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMvSyxDQUFDO0lBRUQsWUFDUyxNQUFpQixFQUNQLFdBQXdCLEVBQ3hCLGVBQXlDO1FBRm5ELFdBQU0sR0FBTixNQUFNLENBQVc7UUFDUCxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixvQkFBZSxHQUFmLGVBQWUsQ0FBMEI7UUF2Qm5ELG1CQUFjLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLG9CQUFlLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLHVCQUFrQixHQUFHLEtBQUssQ0FBQztRQUMzQix3QkFBbUIsR0FBRyxLQUFLLENBQUM7UUFLM0IscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUU3QyxjQUFTLEdBQUcsVUFBVSxDQUFDO1FBZTlCLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxZQUFZLENBQUMsTUFBa0I7UUFDN0IsSUFBSSxjQUFrQyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUNoRCxjQUFjLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUM7UUFDdkMsQ0FBQzthQUFNLENBQUM7WUFDTixjQUFjLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUM3QixDQUFDO1FBQ0QsTUFBTSxJQUFJLEdBQVk7WUFDcEIsSUFBSSxFQUFFLGNBQWM7WUFDcEIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFTO1lBQ3hCLE1BQU0sRUFBRSxNQUFNO1lBQ2Qsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLGtCQUFrQjtZQUMzQyxtQkFBbUIsRUFBRSxJQUFJLENBQUMsbUJBQW1CO1lBQzdDLGVBQWUsRUFBRSxJQUFJLENBQUMsZUFBZTtZQUNyQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsZ0JBQWdCO1NBQ3hDLENBQUM7UUFFRixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQywrQkFBK0IsRUFBRTtZQUNoRCxVQUFVLEVBQUUsbUJBQW1CO1lBQy9CLFFBQVEsRUFBRSxPQUFPO1lBQ2pCLEtBQUssRUFBRSxNQUFNO1lBQ2IsSUFBSTtTQUNMLENBQUMsQ0FBQztJQUNMLENBQUM7NkdBdkRVLFlBQVk7b0VBQVosWUFBWTtZQ2Z6Qiw4QkFBeUI7WUFLeEIsQUFKQSw2REFBc0osZ0RBSVc7WUFPbEssaUJBQU07O1lBWEMsY0FBb0I7WUFBcEIseUNBQW9CO1lBSXBCLGNBQXFCO1lBQXJCLDBDQUFxQjs7O2lGRFVmLFlBQVk7Y0FMeEIsU0FBUzsyQkFDRSxTQUFTOzJHQUtWLElBQUk7a0JBQVosS0FBSztZQUNHLFFBQVE7a0JBQWhCLEtBQUs7WUFDRyw0QkFBNEI7a0JBQXBDLEtBQUs7WUFDRyxjQUFjO2tCQUF0QixLQUFLO1lBQ0csZUFBZTtrQkFBdkIsS0FBSztZQUNHLGtCQUFrQjtrQkFBMUIsS0FBSztZQUNHLG1CQUFtQjtrQkFBM0IsS0FBSztZQUNHLHlCQUF5QjtrQkFBakMsS0FBSztZQUNHLGdCQUFnQjtrQkFBeEIsS0FBSztZQUNHLGVBQWU7a0JBQXZCLEtBQUs7WUFFSSxnQkFBZ0I7a0JBQXpCLE1BQU07O2tGQVpJLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBMTE1BY3Rpb25zIH0gZnJvbSAnLi9tb2RlbHMvbGxtLWFjdGlvbnMuZW51bSc7XHJcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IEljb25TZXJ2aWNlLCBMYW5ndWFnZVRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IExMTVRleHRhcmVhV2l0aEFjdGlvbnNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbGxtLXRleHRhcmVhLXdpdGgtYWN0aW9ucy9sbG0tdGV4dGFyZWEtd2l0aC1hY3Rpb25zLmNvbXBvbmVudCc7XHJcbmltcG9ydCAqIGFzIGljb25zIGZyb20gJy4vaWNvbnMnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBMTE1EYXRhIH0gZnJvbSAnLi9tb2RlbHMvbGxtLWRhdGEubW9kZWwnO1xyXG5pbXBvcnQgeyBMTE1SZXBocmFzZVVzZUNhc2UsIExMTVN1bW1hcnlVc2VDYXNlIH0gZnJvbSAnQHRpbGRlLW5scC9uZ3gtc2VydmljZXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItbGxtJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbGxtLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9sbG0uY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIExMTUNvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgdGV4dDogc3RyaW5nIHwgT2JzZXJ2YWJsZTxzdHJpbmc+IHwgdW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpIGxhbmd1YWdlITogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpIHJlcGhyYXNhYmxlTGFuZ3VhZ2VzQ29kZUxpc3Q6IHN0cmluZ1tdIHwgdW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpIHN1bW1hcnlFbmFibGVkID0gdHJ1ZTtcclxuICBASW5wdXQoKSByZXBocmFzZUVuYWJsZWQgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHNob3dVc2VDYXNlU3VtbWFyeSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNob3dVc2VDYXNlUmVwaHJhc2UgPSBmYWxzZTtcclxuICBASW5wdXQoKSBuZXdGZWF0dXJlTG9jYWxTdG9yYWdlS2V5ITogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpIHJlcGhyYXNlVXNlQ2FzZXM6IExMTVJlcGhyYXNlVXNlQ2FzZVtdIHwgdW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpIHN1bW1hcnlVc2VDYXNlczogTExNU3VtbWFyeVVzZUNhc2VbXSB8IHVuZGVmaW5lZDtcclxuXHJcbiAgQE91dHB1dCgpIG1lbnVUcmlnZ2VyQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIHJlYWRvbmx5IGxsbUFjdGlvbiA9IExMTUFjdGlvbnM7XHJcblxyXG4gIGdldCBpc1RleHRTdW1tYXJpemFibGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy50ZXh0O1xyXG4gIH1cclxuXHJcbiAgZ2V0IGlzVGFyZ2V0TGFuZ3VhZ2VSZXBocmFzYWJsZSgpIHtcclxuICAgIHJldHVybiAhdGhpcy5yZXBocmFzYWJsZUxhbmd1YWdlc0NvZGVMaXN0IHx8ICh0aGlzLmxhbmd1YWdlICYmIHRoaXMucmVwaHJhc2FibGVMYW5ndWFnZXNDb2RlTGlzdC5pbmNsdWRlcyh0aGlzLmxhbmd1YWdlU2VydmljZS5yZW1vdmVSZWdpb25Gcm9tTGFuZ3VhZ2VDb2RlKHRoaXMubGFuZ3VhZ2UpKSk7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBkaWFsb2c6IE1hdERpYWxvZyxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgaWNvblNlcnZpY2U6IEljb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlVHJhbnNsYXRlU2VydmljZVxyXG4gICkge1xyXG4gICAgdGhpcy5pY29uU2VydmljZS5yZWdpc3Rlckljb25zKGljb25zKTtcclxuICB9XHJcblxyXG4gIG9wZW5MTE1Nb2RhbChhY3Rpb246IExMTUFjdGlvbnMpOiB2b2lkIHtcclxuICAgIGxldCB0ZXh0T2JzZXJ2YWJsZTogT2JzZXJ2YWJsZTxzdHJpbmc+O1xyXG4gICAgaWYgKCF0aGlzLnRleHQgfHwgdHlwZW9mIHRoaXMudGV4dCA9PT0gXCJzdHJpbmdcIikge1xyXG4gICAgICB0ZXh0T2JzZXJ2YWJsZSA9IG9mKHRoaXMudGV4dCA/PyBcIlwiKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRleHRPYnNlcnZhYmxlID0gdGhpcy50ZXh0O1xyXG4gICAgfVxyXG4gICAgY29uc3QgZGF0YTogTExNRGF0YSA9IHtcclxuICAgICAgdGV4dDogdGV4dE9ic2VydmFibGUsXHJcbiAgICAgIGxhbmd1YWdlOiB0aGlzLmxhbmd1YWdlISxcclxuICAgICAgYWN0aW9uOiBhY3Rpb24sXHJcbiAgICAgIHNob3dVc2VDYXNlU3VtbWFyeTogdGhpcy5zaG93VXNlQ2FzZVN1bW1hcnksXHJcbiAgICAgIHNob3dVc2VDYXNlUmVwaHJhc2U6IHRoaXMuc2hvd1VzZUNhc2VSZXBocmFzZSxcclxuICAgICAgc3VtbWFyeVVzZUNhc2VzOiB0aGlzLnN1bW1hcnlVc2VDYXNlcyxcclxuICAgICAgcmVwaHJhc2VVc2VDYXNlczogdGhpcy5yZXBocmFzZVVzZUNhc2VzLFxyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLmRpYWxvZy5vcGVuKExMTVRleHRhcmVhV2l0aEFjdGlvbnNDb21wb25lbnQsIHtcclxuICAgICAgcGFuZWxDbGFzczogJ3Jlc3BvbnNpdmUtZGlhbG9nJyxcclxuICAgICAgbWF4V2lkdGg6ICc4MDBweCcsXHJcbiAgICAgIHdpZHRoOiAnMTAwJScsXHJcbiAgICAgIGRhdGFcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwibGxtLXdyYXBwZXJcIj5cclxuXHQ8ZGl2ICpuZ0lmPVwic3VtbWFyeUVuYWJsZWRcIiBbbWF0VG9vbHRpcFBvc2l0aW9uXT1cIidsZWZ0J1wiIFttYXRUb29sdGlwXT1cIiFpc1RleHRTdW1tYXJpemFibGUgPyAoJ0xMTS5NRU5VX1NVTU1BUllfRElTQUJMRURfVE9PTFRJUCcgfCB0cmFuc2xhdGUpIDogJydcIj5cclxuXHRcdDxsaWItbGxtLXN1bW1hcnkgW2lzVGV4dFN1bW1hcml6YWJsZV09XCIhIWlzVGV4dFN1bW1hcml6YWJsZVwiIFtuZXdGZWF0dXJlTG9jYWxTdG9yYWdlS2V5XT1cIm5ld0ZlYXR1cmVMb2NhbFN0b3JhZ2VLZXlcIiAob3Blbk1vZGFsRXZlbnQpPVwib3BlbkxMTU1vZGFsKCRldmVudClcIj48L2xpYi1sbG0tc3VtbWFyeT5cclxuXHQ8L2Rpdj5cclxuXHJcblx0PGRpdiAqbmdJZj1cInJlcGhyYXNlRW5hYmxlZFwiIFttYXRUb29sdGlwUG9zaXRpb25dPVwiJ2xlZnQnXCIgW21hdFRvb2x0aXBdPVwiIWlzVGFyZ2V0TGFuZ3VhZ2VSZXBocmFzYWJsZSA/ICgnTExNLk1FTlVfUkVQSFJBU0VfRElTQUJMRURfVE9PTFRJUCcgfCB0cmFuc2xhdGUpIDogJydcIj5cclxuXHRcdDxsaWItbGxtLXJlcGhyYXNlXHJcblx0XHRcdFtpc1RhcmdldExhbmd1YWdlUmVwaHJhc2FibGVdPVwiISFpc1RhcmdldExhbmd1YWdlUmVwaHJhc2FibGVcIlxyXG5cdFx0XHRbbmV3RmVhdHVyZUxvY2FsU3RvcmFnZUtleV09XCJuZXdGZWF0dXJlTG9jYWxTdG9yYWdlS2V5XCJcclxuXHRcdFx0KG9wZW5Nb2RhbEV2ZW50KT1cIm9wZW5MTE1Nb2RhbCgkZXZlbnQpXCJcclxuXHRcdD48L2xpYi1sbG0tcmVwaHJhc2U+XHJcblx0PC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=