@gravitee/ui-particles-angular 15.13.0-angular-20-f024970 → 15.13.0-test-npm-publish-aaef706

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 (375) hide show
  1. package/esm2022/gio-asciidoctor/gio-asciidoctor.component.mjs +104 -0
  2. package/esm2022/gio-asciidoctor/gio-asciidoctor.module.mjs +33 -0
  3. package/esm2022/gio-asciidoctor/gio-asciidoctor.service.mjs +48 -0
  4. package/esm2022/gio-asciidoctor/gravitee-ui-particles-angular-gio-asciidoctor.mjs +5 -0
  5. package/esm2022/gio-asciidoctor/public-api.mjs +19 -0
  6. package/esm2022/gio-el/gio-el-editor/gio-el-editor-condition-group/gio-el-editor-condition-group.component.mjs +127 -0
  7. package/esm2022/gio-el/gio-el-editor/gio-el-editor-condition-group/gio-el-editor-condition-group.harness.mjs +158 -0
  8. package/esm2022/gio-el/gio-el-editor/gio-el-editor.component.mjs +131 -0
  9. package/esm2022/gio-el/gio-el-editor/gio-el-editor.harness.mjs +28 -0
  10. package/esm2022/gio-el/gio-el-editor/gio-el-field/gio-el-field.component.mjs +271 -0
  11. package/esm2022/gio-el/gio-el-editor/gio-el-field/gio-el-field.harness.mjs +53 -0
  12. package/esm2022/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-boolean/gio-el-editor-type-boolean.component.mjs +57 -0
  13. package/esm2022/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-boolean/gio-el-editor-type-boolean.harness.mjs +31 -0
  14. package/esm2022/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-date/gio-el-editor-type-date.component.mjs +74 -0
  15. package/esm2022/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-date/gio-el-editor-type-date.harness.mjs +29 -0
  16. package/esm2022/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-number/gio-el-editor-type-number.component.mjs +70 -0
  17. package/esm2022/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-number/gio-el-editor-type-number.harness.mjs +29 -0
  18. package/esm2022/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-string/gio-el-editor-type-string.component.mjs +73 -0
  19. package/esm2022/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-string/gio-el-editor-type-string.harness.mjs +29 -0
  20. package/esm2022/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type.harness.mjs +38 -0
  21. package/esm2022/gio-el/gravitee-ui-particles-angular-gio-el.mjs +5 -0
  22. package/esm2022/gio-el/models/Condition.mjs +9 -0
  23. package/esm2022/gio-el/models/ConditionGroup.mjs +7 -0
  24. package/esm2022/gio-el/models/ConditionModel.mjs +17 -0
  25. package/esm2022/gio-el/models/ConditionsModel.mjs +4 -0
  26. package/esm2022/gio-el/models/ExpressionLanguageBuilder.mjs +97 -0
  27. package/esm2022/gio-el/models/Operator.mjs +2 -0
  28. package/esm2022/gio-el/models/public-api.mjs +21 -0
  29. package/esm2022/gio-el/public-api.mjs +19 -0
  30. package/esm2022/gravitee-ui-particles-angular.mjs +5 -0
  31. package/esm2022/lib/gio-avatar/gio-avatar.component.mjs +74 -0
  32. package/esm2022/lib/gio-avatar/gio-avatar.module.mjs +33 -0
  33. package/esm2022/lib/gio-avatar/index.mjs +18 -0
  34. package/esm2022/lib/gio-banner/gio-banner.component.mjs +120 -0
  35. package/esm2022/lib/gio-banner/gio-banner.module.mjs +64 -0
  36. package/esm2022/lib/gio-breadcrumb/gio-breadcrumb-item.directive.mjs +32 -0
  37. package/esm2022/lib/gio-breadcrumb/gio-breadcrumb.component.mjs +32 -0
  38. package/esm2022/lib/gio-breadcrumb/gio-breadcrumb.module.mjs +35 -0
  39. package/esm2022/lib/gio-breadcrumb/index.mjs +19 -0
  40. package/esm2022/lib/gio-card-empty-state/gio-card-empty-state.component.mjs +35 -0
  41. package/esm2022/lib/gio-card-empty-state/gio-card-empty-state.module.mjs +36 -0
  42. package/esm2022/lib/gio-card-empty-state/index.mjs +18 -0
  43. package/esm2022/lib/gio-clipboard/gio-clipboard-copy-icon.component.mjs +67 -0
  44. package/esm2022/lib/gio-clipboard/gio-clipboard-copy-wrapper.component.mjs +71 -0
  45. package/esm2022/lib/gio-clipboard/gio-clipboard.base.component.mjs +64 -0
  46. package/esm2022/lib/gio-clipboard/gio-clipboard.module.mjs +39 -0
  47. package/esm2022/lib/gio-confirm-and-validate-dialog/gio-confirm-and-validate-dialog.component.mjs +61 -0
  48. package/esm2022/lib/gio-confirm-and-validate-dialog/gio-confirm-and-validate-dialog.harness.mjs +40 -0
  49. package/esm2022/lib/gio-confirm-and-validate-dialog/gio-confirm-and-validate-dialog.module.mjs +40 -0
  50. package/esm2022/lib/gio-confirm-dialog/gio-confirm-dialog.component.mjs +54 -0
  51. package/esm2022/lib/gio-confirm-dialog/gio-confirm-dialog.harness.mjs +34 -0
  52. package/esm2022/lib/gio-confirm-dialog/gio-confirm-dialog.module.mjs +36 -0
  53. package/esm2022/lib/gio-dialog/gio-dialog.constant.mjs +21 -0
  54. package/esm2022/lib/gio-el/gio-el-assistant/gio-el-assistant.component.mjs +62 -0
  55. package/esm2022/lib/gio-el/gio-el-prompt/gio-el-prompt.component.mjs +112 -0
  56. package/esm2022/lib/gio-el/gio-el.service.mjs +60 -0
  57. package/esm2022/lib/gio-el/index.mjs +20 -0
  58. package/esm2022/lib/gio-el/models/ElAiPromptState.mjs +23 -0
  59. package/esm2022/lib/gio-el/public-api.mjs +20 -0
  60. package/esm2022/lib/gio-form-cron/gio-form-cron-hint.component.mjs +30 -0
  61. package/esm2022/lib/gio-form-cron/gio-form-cron-label.component.mjs +30 -0
  62. package/esm2022/lib/gio-form-cron/gio-form-cron.adapter.mjs +218 -0
  63. package/esm2022/lib/gio-form-cron/gio-form-cron.component.mjs +211 -0
  64. package/esm2022/lib/gio-form-cron/gio-form-cron.harness.mjs +77 -0
  65. package/esm2022/lib/gio-form-cron/gio-form-cron.module.mjs +69 -0
  66. package/esm2022/lib/gio-form-file-picker/gio-form-file-picker-add-button/gio-form-file-picker-add-button.component.mjs +29 -0
  67. package/esm2022/lib/gio-form-file-picker/gio-form-file-picker-empty/gio-form-file-picker-empty.component.mjs +27 -0
  68. package/esm2022/lib/gio-form-file-picker/gio-form-file-picker-label/gio-form-file-picker-label.component.mjs +26 -0
  69. package/esm2022/lib/gio-form-file-picker/gio-form-file-picker.component.harness.mjs +95 -0
  70. package/esm2022/lib/gio-form-file-picker/gio-form-file-picker.component.mjs +167 -0
  71. package/esm2022/lib/gio-form-file-picker/gio-form-file-picker.model.mjs +23 -0
  72. package/esm2022/lib/gio-form-file-picker/gio-form-file-picker.module.mjs +57 -0
  73. package/esm2022/lib/gio-form-file-picker/index.mjs +23 -0
  74. package/esm2022/lib/gio-form-focus-first-invalid/gio-form-focus-first-invalid-ignore.directive.mjs +31 -0
  75. package/esm2022/lib/gio-form-focus-first-invalid/gio-form-focus-first-invalid.directive.mjs +96 -0
  76. package/esm2022/lib/gio-form-focus-first-invalid/gio-form-focus-first-invalid.module.mjs +32 -0
  77. package/esm2022/lib/gio-form-headers/gio-form-headers-label.component.mjs +30 -0
  78. package/esm2022/lib/gio-form-headers/gio-form-headers.component.mjs +284 -0
  79. package/esm2022/lib/gio-form-headers/gio-form-headers.harness.mjs +73 -0
  80. package/esm2022/lib/gio-form-headers/gio-form-headers.module.mjs +77 -0
  81. package/esm2022/lib/gio-form-json-schema/gio-form-json-schema.component.mjs +209 -0
  82. package/esm2022/lib/gio-form-json-schema/gio-form-json-schema.module.mjs +244 -0
  83. package/esm2022/lib/gio-form-json-schema/gio-formly-json-schema.service.mjs +261 -0
  84. package/esm2022/lib/gio-form-json-schema/model/GioJsonSchema.mjs +17 -0
  85. package/esm2022/lib/gio-form-json-schema/model/GioJsonSchemaContext.mjs +2 -0
  86. package/esm2022/lib/gio-form-json-schema/type-component/array-type.component.mjs +109 -0
  87. package/esm2022/lib/gio-form-json-schema/type-component/code-editor-type.component.mjs +47 -0
  88. package/esm2022/lib/gio-form-json-schema/type-component/cron-type.component.mjs +42 -0
  89. package/esm2022/lib/gio-form-json-schema/type-component/headers-type.component.mjs +108 -0
  90. package/esm2022/lib/gio-form-json-schema/type-component/multischema-type.component.mjs +66 -0
  91. package/esm2022/lib/gio-form-json-schema/type-component/null-type.component.mjs +31 -0
  92. package/esm2022/lib/gio-form-json-schema/type-component/object-type.component.mjs +62 -0
  93. package/esm2022/lib/gio-form-json-schema/type-component/toggle-type.component.mjs +60 -0
  94. package/esm2022/lib/gio-form-json-schema/util/validation-message.util.mjs +38 -0
  95. package/esm2022/lib/gio-form-json-schema/wrappers/gio-banner-extension.mjs +10 -0
  96. package/esm2022/lib/gio-form-json-schema/wrappers/gio-banner-wrapper.component.mjs +28 -0
  97. package/esm2022/lib/gio-form-json-schema/wrappers/gio-el-helper-wrapper.component.mjs +61 -0
  98. package/esm2022/lib/gio-form-json-schema/wrappers/gio-password-eye.component.mjs +74 -0
  99. package/esm2022/lib/gio-form-selection-inline/gio-form-selection-inline-card-content/gio-form-selection-inline-card-content.component.mjs +79 -0
  100. package/esm2022/lib/gio-form-selection-inline/gio-form-selection-inline-card.component.mjs +86 -0
  101. package/esm2022/lib/gio-form-selection-inline/gio-form-selection-inline-card.harness.mjs +44 -0
  102. package/esm2022/lib/gio-form-selection-inline/gio-form-selection-inline.component.mjs +103 -0
  103. package/esm2022/lib/gio-form-selection-inline/gio-form-selection-inline.harness.mjs +65 -0
  104. package/esm2022/lib/gio-form-selection-inline/gio-form-selection-inline.module.mjs +59 -0
  105. package/esm2022/lib/gio-form-selection-inline/public-api.mjs +22 -0
  106. package/esm2022/lib/gio-form-slide-toggle/gio-form-label.directive.mjs +52 -0
  107. package/esm2022/lib/gio-form-slide-toggle/gio-form-slide-toggle.component.mjs +69 -0
  108. package/esm2022/lib/gio-form-slide-toggle/gio-form-slide-toggle.module.mjs +34 -0
  109. package/esm2022/lib/gio-form-tags-input/gio-form-tags-input.component.mjs +316 -0
  110. package/esm2022/lib/gio-form-tags-input/gio-form-tags-input.harness.mjs +82 -0
  111. package/esm2022/lib/gio-form-tags-input/gio-form-tags-input.module.mjs +67 -0
  112. package/esm2022/lib/gio-icons/gio-icons.module.mjs +37 -0
  113. package/esm2022/lib/gio-license/gio-license-dialog/gio-license-dialog.component.mjs +43 -0
  114. package/esm2022/lib/gio-license/gio-license-dialog/gio-license-dialog.module.mjs +37 -0
  115. package/esm2022/lib/gio-license/gio-license.directive.mjs +92 -0
  116. package/esm2022/lib/gio-license/gio-license.module.mjs +35 -0
  117. package/esm2022/lib/gio-license/gio-license.service.mjs +101 -0
  118. package/esm2022/lib/gio-license/gio-license.testing.module.mjs +107 -0
  119. package/esm2022/lib/gio-license-expiration-notification/gio-license-expiration-notification.component.mjs +77 -0
  120. package/esm2022/lib/gio-license-expiration-notification/gio-license-expiration-notification.harness.mjs +44 -0
  121. package/esm2022/lib/gio-license-expiration-notification/gio-license-expiration-notification.module.mjs +36 -0
  122. package/esm2022/lib/gio-loader/gio-loader.component.mjs +27 -0
  123. package/esm2022/lib/gio-loader/gio-loader.module.mjs +34 -0
  124. package/esm2022/lib/gio-mat-config/gio-mat-config.module.mjs +30 -0
  125. package/esm2022/lib/gio-mat-config/index.mjs +17 -0
  126. package/esm2022/lib/gio-monaco-editor/gio-monaco-clipboard-copy.component.mjs +44 -0
  127. package/esm2022/lib/gio-monaco-editor/gio-monaco-editor-form-field.directive.mjs +150 -0
  128. package/esm2022/lib/gio-monaco-editor/gio-monaco-editor.component.mjs +314 -0
  129. package/esm2022/lib/gio-monaco-editor/gio-monaco-editor.harness.mjs +70 -0
  130. package/esm2022/lib/gio-monaco-editor/gio-monaco-editor.module.mjs +60 -0
  131. package/esm2022/lib/gio-monaco-editor/gio-monaco-editor.testing.component.mjs +42 -0
  132. package/esm2022/lib/gio-monaco-editor/models/GioMonacoEditorConfig.mjs +18 -0
  133. package/esm2022/lib/gio-monaco-editor/models/JSONSchemaAutoComplete.mjs +115 -0
  134. package/esm2022/lib/gio-monaco-editor/models/MonacoEditorTheme.mjs +2 -0
  135. package/esm2022/lib/gio-monaco-editor/services/gio-language-el.service.mjs +226 -0
  136. package/esm2022/lib/gio-monaco-editor/services/gio-language-json.service.mjs +72 -0
  137. package/esm2022/lib/gio-monaco-editor/services/gio-monaco-editor.service.mjs +72 -0
  138. package/esm2022/lib/gio-pipe/gio.pipe.module.mjs +32 -0
  139. package/esm2022/lib/gio-pipe/safe.pipe.mjs +53 -0
  140. package/esm2022/lib/gio-popover/gio-popover-trigger.directive.mjs +46 -0
  141. package/esm2022/lib/gio-popover/gio-popover.component.mjs +83 -0
  142. package/esm2022/lib/gio-popover/index.mjs +18 -0
  143. package/esm2022/lib/gio-popover/public-api.mjs +18 -0
  144. package/esm2022/lib/gio-prismjs/gio-prismjs.service.mjs +80 -0
  145. package/esm2022/lib/gio-save-bar/gio-save-bar.component.mjs +142 -0
  146. package/esm2022/lib/gio-save-bar/gio-save-bar.harness.mjs +54 -0
  147. package/esm2022/lib/gio-save-bar/gio-save-bar.module.mjs +35 -0
  148. package/esm2022/lib/oem-theme/gio-menu/gio-menu-footer/gio-menu-footer.component.mjs +26 -0
  149. package/esm2022/lib/oem-theme/gio-menu/gio-menu-header/gio-menu-header.component.mjs +26 -0
  150. package/esm2022/lib/oem-theme/gio-menu/gio-menu-item/gio-menu-item.component.mjs +85 -0
  151. package/esm2022/lib/oem-theme/gio-menu/gio-menu-license-expiration-notification/gio-menu-license-expiration-notification.component.mjs +26 -0
  152. package/esm2022/lib/oem-theme/gio-menu/gio-menu-list/gio-menu-list.component.mjs +26 -0
  153. package/esm2022/lib/oem-theme/gio-menu/gio-menu-search/gio-menu-search.component.mjs +62 -0
  154. package/esm2022/lib/oem-theme/gio-menu/gio-menu-search/gio-menu-search.harness.mjs +41 -0
  155. package/esm2022/lib/oem-theme/gio-menu/gio-menu-search/gio-menu-search.service.mjs +41 -0
  156. package/esm2022/lib/oem-theme/gio-menu/gio-menu-selector/gio-menu-selector.component.mjs +49 -0
  157. package/esm2022/lib/oem-theme/gio-menu/gio-menu-selector/gio-menu-selector.harness.mjs +41 -0
  158. package/esm2022/lib/oem-theme/gio-menu/gio-menu.component.mjs +50 -0
  159. package/esm2022/lib/oem-theme/gio-menu/gio-menu.module.mjs +78 -0
  160. package/esm2022/lib/oem-theme/gio-menu/gio-menu.service.mjs +45 -0
  161. package/esm2022/lib/oem-theme/gio-menu/index.mjs +29 -0
  162. package/esm2022/lib/oem-theme/gio-submenu/gio-submenu-group/gio-submenu-group.component.mjs +34 -0
  163. package/esm2022/lib/oem-theme/gio-submenu/gio-submenu-item/gio-submenu-item.component.mjs +46 -0
  164. package/esm2022/lib/oem-theme/gio-submenu/gio-submenu.component.mjs +112 -0
  165. package/esm2022/lib/oem-theme/gio-submenu/gio-submenu.module.mjs +37 -0
  166. package/esm2022/lib/oem-theme/gio-submenu/index.mjs +20 -0
  167. package/esm2022/lib/oem-theme/gio-top-bar/gio-top-bar-content/gio-top-bar-content.component.mjs +35 -0
  168. package/esm2022/lib/oem-theme/gio-top-bar/gio-top-bar-link/gio-top-bar-link.component.mjs +35 -0
  169. package/esm2022/lib/oem-theme/gio-top-bar/gio-top-bar-link/gio-top-bar-link.module.mjs +35 -0
  170. package/esm2022/lib/oem-theme/gio-top-bar/gio-top-bar-menu/gio-top-bar-menu.component.mjs +26 -0
  171. package/esm2022/lib/oem-theme/gio-top-bar/gio-top-bar-menu/gio-top-bar-menu.module.mjs +33 -0
  172. package/esm2022/lib/oem-theme/gio-top-bar/gio-top-bar.component.mjs +34 -0
  173. package/esm2022/lib/oem-theme/gio-top-bar/gio-top-bar.module.mjs +36 -0
  174. package/esm2022/lib/oem-theme/gio-top-bar/index.mjs +23 -0
  175. package/esm2022/lib/oem-theme/oem-theme.service.mjs +83 -0
  176. package/esm2022/lib/oem-theme/public-api.mjs +20 -0
  177. package/esm2022/lib/public-api.mjs +85 -0
  178. package/esm2022/public-api.mjs +20 -0
  179. package/esm2022/testing/gravitee-ui-particles-angular-testing.mjs +5 -0
  180. package/esm2022/testing/harnesses/div.harness.mjs +42 -0
  181. package/esm2022/testing/harnesses/index.mjs +18 -0
  182. package/esm2022/testing/harnesses/span.harness.mjs +42 -0
  183. package/esm2022/testing/public-api.mjs +17 -0
  184. package/fesm2022/gravitee-ui-particles-angular-gio-asciidoctor.mjs +11 -11
  185. package/fesm2022/gravitee-ui-particles-angular-gio-asciidoctor.mjs.map +1 -1
  186. package/fesm2022/gravitee-ui-particles-angular-gio-el.mjs +80 -74
  187. package/fesm2022/gravitee-ui-particles-angular-gio-el.mjs.map +1 -1
  188. package/fesm2022/gravitee-ui-particles-angular-testing.mjs.map +1 -1
  189. package/fesm2022/gravitee-ui-particles-angular.mjs +536 -636
  190. package/fesm2022/gravitee-ui-particles-angular.mjs.map +1 -1
  191. package/gio-asciidoctor/gio-asciidoctor.component.d.ts +26 -0
  192. package/gio-asciidoctor/gio-asciidoctor.module.d.ts +8 -0
  193. package/gio-asciidoctor/gio-asciidoctor.service.d.ts +14 -0
  194. package/gio-asciidoctor/index.d.ts +5 -49
  195. package/gio-asciidoctor/public-api.d.ts +3 -0
  196. package/gio-el/gio-el-editor/gio-el-editor-condition-group/gio-el-editor-condition-group.component.d.ts +25 -0
  197. package/gio-el/gio-el-editor/gio-el-editor-condition-group/gio-el-editor-condition-group.harness.d.ts +36 -0
  198. package/gio-el/gio-el-editor/gio-el-editor.component.d.ts +25 -0
  199. package/gio-el/gio-el-editor/gio-el-editor.harness.d.ts +7 -0
  200. package/gio-el/gio-el-editor/gio-el-field/gio-el-field.component.d.ts +70 -0
  201. package/gio-el/gio-el-editor/gio-el-field/gio-el-field.harness.d.ts +14 -0
  202. package/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-boolean/gio-el-editor-type-boolean.component.d.ts +15 -0
  203. package/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-boolean/gio-el-editor-type-boolean.harness.d.ts +6 -0
  204. package/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-date/gio-el-editor-type-date.component.d.ts +17 -0
  205. package/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-date/gio-el-editor-type-date.harness.d.ts +6 -0
  206. package/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-number/gio-el-editor-type-number.component.d.ts +17 -0
  207. package/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-number/gio-el-editor-type-number.harness.d.ts +6 -0
  208. package/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-string/gio-el-editor-type-string.component.d.ts +23 -0
  209. package/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-string/gio-el-editor-type-string.harness.d.ts +6 -0
  210. package/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type.harness.d.ts +10 -0
  211. package/gio-el/index.d.ts +5 -146
  212. package/gio-el/models/Condition.d.ts +19 -0
  213. package/gio-el/models/ConditionGroup.d.ts +7 -0
  214. package/gio-el/models/ConditionModel.d.ts +32 -0
  215. package/gio-el/models/ConditionsModel.d.ts +8 -0
  216. package/gio-el/models/ExpressionLanguageBuilder.d.ts +12 -0
  217. package/gio-el/models/Operator.d.ts +1 -0
  218. package/gio-el/models/public-api.d.ts +5 -0
  219. package/gio-el/public-api.d.ts +3 -0
  220. package/index.d.ts +3 -1822
  221. package/lib/gio-avatar/gio-avatar.component.d.ts +21 -0
  222. package/lib/gio-avatar/gio-avatar.module.d.ts +8 -0
  223. package/lib/gio-avatar/index.d.ts +2 -0
  224. package/lib/gio-banner/gio-banner.component.d.ts +43 -0
  225. package/lib/gio-banner/gio-banner.module.d.ts +11 -0
  226. package/lib/gio-breadcrumb/gio-breadcrumb-item.directive.d.ts +8 -0
  227. package/lib/gio-breadcrumb/gio-breadcrumb.component.d.ts +8 -0
  228. package/lib/gio-breadcrumb/gio-breadcrumb.module.d.ts +10 -0
  229. package/lib/gio-breadcrumb/index.d.ts +3 -0
  230. package/lib/gio-card-empty-state/gio-card-empty-state.component.d.ts +8 -0
  231. package/lib/gio-card-empty-state/gio-card-empty-state.module.d.ts +11 -0
  232. package/lib/gio-card-empty-state/index.d.ts +2 -0
  233. package/lib/gio-clipboard/gio-clipboard-copy-icon.component.d.ts +6 -0
  234. package/lib/gio-clipboard/gio-clipboard-copy-wrapper.component.d.ts +6 -0
  235. package/lib/gio-clipboard/gio-clipboard.base.component.d.ts +18 -0
  236. package/lib/gio-clipboard/gio-clipboard.module.d.ts +14 -0
  237. package/lib/gio-confirm-and-validate-dialog/gio-confirm-and-validate-dialog.component.d.ts +33 -0
  238. package/lib/gio-confirm-and-validate-dialog/gio-confirm-and-validate-dialog.harness.d.ts +9 -0
  239. package/lib/gio-confirm-and-validate-dialog/gio-confirm-and-validate-dialog.module.d.ts +15 -0
  240. package/lib/gio-confirm-dialog/gio-confirm-dialog.component.d.ts +29 -0
  241. package/lib/gio-confirm-dialog/gio-confirm-dialog.harness.d.ts +8 -0
  242. package/lib/gio-confirm-dialog/gio-confirm-dialog.module.d.ts +11 -0
  243. package/lib/gio-dialog/gio-dialog.constant.d.ts +5 -0
  244. package/lib/gio-el/gio-el-assistant/gio-el-assistant.component.d.ts +7 -0
  245. package/lib/gio-el/gio-el-prompt/gio-el-prompt.component.d.ts +28 -0
  246. package/lib/gio-el/gio-el.service.d.ts +19 -0
  247. package/lib/gio-el/index.d.ts +4 -0
  248. package/lib/gio-el/models/ElAiPromptState.d.ts +15 -0
  249. package/lib/gio-el/public-api.d.ts +4 -0
  250. package/lib/gio-form-cron/gio-form-cron-hint.component.d.ts +5 -0
  251. package/lib/gio-form-cron/gio-form-cron-label.component.d.ts +5 -0
  252. package/lib/gio-form-cron/gio-form-cron.adapter.d.ts +18 -0
  253. package/lib/gio-form-cron/gio-form-cron.component.d.ts +42 -0
  254. package/lib/gio-form-cron/gio-form-cron.harness.d.ts +23 -0
  255. package/lib/gio-form-cron/gio-form-cron.module.d.ts +18 -0
  256. package/lib/gio-form-file-picker/gio-form-file-picker-add-button/gio-form-file-picker-add-button.component.d.ts +5 -0
  257. package/lib/gio-form-file-picker/gio-form-file-picker-empty/gio-form-file-picker-empty.component.d.ts +5 -0
  258. package/lib/gio-form-file-picker/gio-form-file-picker-label/gio-form-file-picker-label.component.d.ts +5 -0
  259. package/lib/gio-form-file-picker/gio-form-file-picker.component.d.ts +43 -0
  260. package/lib/gio-form-file-picker/gio-form-file-picker.component.harness.d.ts +30 -0
  261. package/lib/gio-form-file-picker/gio-form-file-picker.model.d.ts +6 -0
  262. package/lib/gio-form-file-picker/gio-form-file-picker.module.d.ts +16 -0
  263. package/lib/gio-form-file-picker/index.d.ts +7 -0
  264. package/lib/gio-form-focus-first-invalid/gio-form-focus-first-invalid-ignore.directive.d.ts +6 -0
  265. package/lib/gio-form-focus-first-invalid/gio-form-focus-first-invalid.directive.d.ts +22 -0
  266. package/lib/gio-form-focus-first-invalid/gio-form-focus-first-invalid.module.d.ts +8 -0
  267. package/lib/gio-form-headers/gio-form-headers-label.component.d.ts +5 -0
  268. package/lib/gio-form-headers/gio-form-headers.component.d.ts +46 -0
  269. package/lib/gio-form-headers/gio-form-headers.harness.d.ts +39 -0
  270. package/lib/gio-form-headers/gio-form-headers.module.d.ts +20 -0
  271. package/lib/gio-form-json-schema/gio-form-json-schema.component.d.ts +43 -0
  272. package/lib/gio-form-json-schema/gio-form-json-schema.module.d.ts +35 -0
  273. package/lib/gio-form-json-schema/gio-formly-json-schema.service.d.ts +26 -0
  274. package/lib/gio-form-json-schema/model/GioJsonSchema.d.ts +47 -0
  275. package/lib/gio-form-json-schema/model/GioJsonSchemaContext.d.ts +1 -0
  276. package/lib/gio-form-json-schema/type-component/array-type.component.d.ts +10 -0
  277. package/lib/gio-form-json-schema/type-component/code-editor-type.component.d.ts +16 -0
  278. package/lib/gio-form-json-schema/type-component/cron-type.component.d.ts +9 -0
  279. package/lib/gio-form-json-schema/type-component/headers-type.component.d.ts +18 -0
  280. package/lib/gio-form-json-schema/type-component/multischema-type.component.d.ts +13 -0
  281. package/lib/gio-form-json-schema/type-component/null-type.component.d.ts +6 -0
  282. package/lib/gio-form-json-schema/type-component/object-type.component.d.ts +9 -0
  283. package/lib/gio-form-json-schema/type-component/toggle-type.component.d.ts +8 -0
  284. package/lib/gio-form-json-schema/util/validation-message.util.d.ts +15 -0
  285. package/lib/gio-form-json-schema/wrappers/gio-banner-extension.d.ts +2 -0
  286. package/lib/gio-form-json-schema/wrappers/gio-banner-wrapper.component.d.ts +6 -0
  287. package/lib/gio-form-json-schema/wrappers/gio-el-helper-wrapper.component.d.ts +11 -0
  288. package/lib/gio-form-json-schema/wrappers/gio-password-eye.component.d.ts +12 -0
  289. package/lib/gio-form-selection-inline/gio-form-selection-inline-card-content/gio-form-selection-inline-card-content.component.d.ts +15 -0
  290. package/lib/gio-form-selection-inline/gio-form-selection-inline-card.component.d.ts +17 -0
  291. package/lib/gio-form-selection-inline/gio-form-selection-inline-card.harness.d.ts +19 -0
  292. package/lib/gio-form-selection-inline/gio-form-selection-inline.component.d.ts +20 -0
  293. package/lib/gio-form-selection-inline/gio-form-selection-inline.harness.d.ts +26 -0
  294. package/lib/gio-form-selection-inline/gio-form-selection-inline.module.d.ts +14 -0
  295. package/lib/gio-form-selection-inline/public-api.d.ts +6 -0
  296. package/lib/gio-form-slide-toggle/gio-form-label.directive.d.ts +13 -0
  297. package/lib/gio-form-slide-toggle/gio-form-slide-toggle.component.d.ts +15 -0
  298. package/lib/gio-form-slide-toggle/gio-form-slide-toggle.module.d.ts +9 -0
  299. package/lib/gio-form-tags-input/gio-form-tags-input.component.d.ts +95 -0
  300. package/lib/gio-form-tags-input/gio-form-tags-input.harness.d.ts +23 -0
  301. package/lib/gio-form-tags-input/gio-form-tags-input.module.d.ts +16 -0
  302. package/lib/gio-icons/gio-icons.module.d.ts +11 -0
  303. package/lib/gio-license/gio-license-dialog/gio-license-dialog.component.d.ts +16 -0
  304. package/lib/gio-license/gio-license-dialog/gio-license-dialog.module.d.ts +12 -0
  305. package/lib/gio-license/gio-license.directive.d.ts +24 -0
  306. package/lib/gio-license/gio-license.module.d.ts +10 -0
  307. package/lib/gio-license/gio-license.service.d.ts +58 -0
  308. package/lib/gio-license/gio-license.testing.module.d.ts +24 -0
  309. package/lib/gio-license-expiration-notification/gio-license-expiration-notification.component.d.ts +17 -0
  310. package/lib/gio-license-expiration-notification/gio-license-expiration-notification.harness.d.ts +13 -0
  311. package/lib/gio-license-expiration-notification/gio-license-expiration-notification.module.d.ts +11 -0
  312. package/lib/gio-loader/gio-loader.component.d.ts +5 -0
  313. package/lib/gio-loader/gio-loader.module.d.ts +9 -0
  314. package/lib/gio-mat-config/gio-mat-config.module.d.ts +6 -0
  315. package/lib/gio-mat-config/index.d.ts +1 -0
  316. package/lib/gio-monaco-editor/gio-monaco-clipboard-copy.component.d.ts +7 -0
  317. package/lib/gio-monaco-editor/gio-monaco-editor-form-field.directive.d.ts +45 -0
  318. package/lib/gio-monaco-editor/gio-monaco-editor.component.d.ts +67 -0
  319. package/lib/gio-monaco-editor/gio-monaco-editor.harness.d.ts +19 -0
  320. package/lib/gio-monaco-editor/gio-monaco-editor.module.d.ts +20 -0
  321. package/lib/gio-monaco-editor/gio-monaco-editor.testing.component.d.ts +12 -0
  322. package/lib/gio-monaco-editor/models/GioMonacoEditorConfig.d.ts +7 -0
  323. package/lib/gio-monaco-editor/models/JSONSchemaAutoComplete.d.ts +39 -0
  324. package/lib/gio-monaco-editor/models/MonacoEditorTheme.d.ts +1 -0
  325. package/lib/gio-monaco-editor/services/gio-language-el.service.d.ts +18 -0
  326. package/lib/gio-monaco-editor/services/gio-language-json.service.d.ts +18 -0
  327. package/lib/gio-monaco-editor/services/gio-monaco-editor.service.d.ts +19 -0
  328. package/lib/gio-pipe/gio.pipe.module.d.ts +7 -0
  329. package/lib/gio-pipe/safe.pipe.d.ts +10 -0
  330. package/lib/gio-popover/gio-popover-trigger.directive.d.ts +12 -0
  331. package/lib/gio-popover/gio-popover.component.d.ts +15 -0
  332. package/lib/gio-popover/index.d.ts +2 -0
  333. package/lib/gio-popover/public-api.d.ts +2 -0
  334. package/lib/gio-prismjs/gio-prismjs.service.d.ts +14 -0
  335. package/lib/gio-save-bar/gio-save-bar.component.d.ts +30 -0
  336. package/lib/gio-save-bar/gio-save-bar.harness.d.ts +15 -0
  337. package/lib/gio-save-bar/gio-save-bar.module.d.ts +10 -0
  338. package/lib/oem-theme/gio-menu/gio-menu-footer/gio-menu-footer.component.d.ts +5 -0
  339. package/lib/oem-theme/gio-menu/gio-menu-header/gio-menu-header.component.d.ts +5 -0
  340. package/lib/oem-theme/gio-menu/gio-menu-item/gio-menu-item.component.d.ts +19 -0
  341. package/lib/oem-theme/gio-menu/gio-menu-license-expiration-notification/gio-menu-license-expiration-notification.component.d.ts +5 -0
  342. package/lib/oem-theme/gio-menu/gio-menu-list/gio-menu-list.component.d.ts +5 -0
  343. package/lib/oem-theme/gio-menu/gio-menu-search/gio-menu-search.component.d.ts +25 -0
  344. package/lib/oem-theme/gio-menu/gio-menu-search/gio-menu-search.harness.d.ts +10 -0
  345. package/lib/oem-theme/gio-menu/gio-menu-search/gio-menu-search.service.d.ts +9 -0
  346. package/lib/oem-theme/gio-menu/gio-menu-selector/gio-menu-selector.component.d.ts +17 -0
  347. package/lib/oem-theme/gio-menu/gio-menu-selector/gio-menu-selector.harness.d.ts +8 -0
  348. package/lib/oem-theme/gio-menu/gio-menu.component.d.ts +14 -0
  349. package/lib/oem-theme/gio-menu/gio-menu.module.d.ts +21 -0
  350. package/lib/oem-theme/gio-menu/gio-menu.service.d.ts +18 -0
  351. package/lib/oem-theme/gio-menu/index.d.ts +13 -0
  352. package/lib/oem-theme/gio-submenu/gio-submenu-group/gio-submenu-group.component.d.ts +8 -0
  353. package/lib/oem-theme/gio-submenu/gio-submenu-item/gio-submenu-item.component.d.ts +9 -0
  354. package/lib/oem-theme/gio-submenu/gio-submenu.component.d.ts +28 -0
  355. package/lib/oem-theme/gio-submenu/gio-submenu.module.d.ts +12 -0
  356. package/lib/oem-theme/gio-submenu/index.d.ts +4 -0
  357. package/lib/oem-theme/gio-top-bar/gio-top-bar-content/gio-top-bar-content.component.d.ts +8 -0
  358. package/lib/oem-theme/gio-top-bar/gio-top-bar-link/gio-top-bar-link.component.d.ts +7 -0
  359. package/lib/oem-theme/gio-top-bar/gio-top-bar-link/gio-top-bar-link.module.d.ts +10 -0
  360. package/lib/oem-theme/gio-top-bar/gio-top-bar-menu/gio-top-bar-menu.component.d.ts +5 -0
  361. package/lib/oem-theme/gio-top-bar/gio-top-bar-menu/gio-top-bar-menu.module.d.ts +8 -0
  362. package/lib/oem-theme/gio-top-bar/gio-top-bar.component.d.ts +8 -0
  363. package/lib/oem-theme/gio-top-bar/gio-top-bar.module.d.ts +11 -0
  364. package/lib/oem-theme/gio-top-bar/index.d.ts +7 -0
  365. package/lib/oem-theme/oem-theme.service.d.ts +22 -0
  366. package/lib/oem-theme/public-api.d.ts +4 -0
  367. package/lib/public-api.d.ts +66 -0
  368. package/package.json +19 -11
  369. package/public-api.d.ts +1 -0
  370. package/src/scss/gio-mat-theme.scss +1 -2
  371. package/testing/harnesses/div.harness.d.ts +21 -0
  372. package/testing/harnesses/index.d.ts +2 -0
  373. package/testing/harnesses/span.harness.d.ts +21 -0
  374. package/testing/index.d.ts +5 -47
  375. package/testing/public-api.d.ts +1 -0
@@ -0,0 +1,43 @@
1
+ /*
2
+ * Copyright (C) 2015 The Gravitee team (http://gravitee.io)
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { Component, Inject } from '@angular/core';
17
+ import { MAT_DIALOG_DATA } from '@angular/material/dialog';
18
+ import * as i0 from "@angular/core";
19
+ import * as i1 from "@angular/material/dialog";
20
+ import * as i2 from "@angular/common";
21
+ import * as i3 from "@angular/material/icon";
22
+ import * as i4 from "@angular/material/button";
23
+ import * as i5 from "../../gio-pipe/safe.pipe";
24
+ export class GioLicenseDialogComponent {
25
+ constructor(dialogRef, dialogData) {
26
+ this.dialogRef = dialogRef;
27
+ this.featureInfo = dialogData?.featureInfo;
28
+ this.trialURL = dialogData?.trialURL;
29
+ }
30
+ onClose() {
31
+ this.dialogRef.close();
32
+ }
33
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: GioLicenseDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
34
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.4", type: GioLicenseDialogComponent, isStandalone: false, selector: "gio-license-dialog", ngImport: i0, template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div class=\"gio-license-dialog__title\">\n <mat-icon class=\"gio-license-dialog__title__cancel\"></mat-icon>\n <button mat-icon-button [attr.aria-label]=\"'Close'\" (click)=\"onClose()\">\n <mat-icon class=\"gio-license-dialog__title__cancel\" svgIcon=\"gio:cancel\"> </mat-icon>\n </button>\n</div>\n\n<mat-dialog-content class=\"gio-license-dialog__content\">\n <img class=\"gio-license-dialog__content__image\" [src]=\"featureInfo.image\" [alt]=\"featureInfo.title || 'Unlock Gravitee Enterprise'\" />\n <h2 class=\"gio-license-dialog__content__title\" [innerHTML]=\"featureInfo.title || 'Unlock Gravitee Enterprise' | safe: 'html'\"></h2>\n <div class=\"gio-license-dialog__content__description\" [innerHTML]=\"featureInfo.description | safe: 'html'\"></div>\n <div class=\"gio-license-dialog__content__action\">\n <a class=\"gio-license-dialog__content__action__button\" mat-stroked-button color=\"primary\" target=\"_blank\" [href]=\"trialURL\">\n {{ featureInfo.trialButtonLabel || 'Request an enterprise license' }} <mat-icon svgIcon=\"gio:external-link\"></mat-icon>\n </a>\n <div *ngIf=\"!featureInfo.hideDays\" class=\"gio-license-dialog__content__action__info\">14 days trial</div>\n </div>\n</mat-dialog-content>\n", styles: ["@charset \"UTF-8\";.gio-top-bar-menu .gio-badge-accent{background-color:var(--gio-oem-palette--active, #ffc2ac);color:var(--gio-oem-palette--active-contrast, #1e1b1b)}.gio-license-dialog__title{display:flex;justify-content:space-between}.gio-license-dialog__title__cancel{width:24px;height:24px;color:#8a8383}.gio-license-dialog__content{display:flex;width:600px;flex-direction:column;align-items:center;justify-content:center;padding:0}.gio-license-dialog__content__title{margin:0 0 24px;font-size:26px;font-weight:600;line-height:36px;font-family:Kanit,Helvetica Neue,sans-serif;letter-spacing:normal}.gio-license-dialog__content__description{padding:0 50px 32px;color:#322f2f;font-weight:500;line-height:24px;text-align:center}.gio-license-dialog__content__action{display:flex;flex-direction:column;align-items:center;padding:0 40px 16px}.gio-license-dialog__content__action__button{width:250px}.gio-license-dialog__content__action__info{margin-top:10px;color:#322f2f;text-align:center}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.MatAnchor, selector: "a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "pipe", type: i5.SafePipe, name: "safe" }] }); }
35
+ }
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: GioLicenseDialogComponent, decorators: [{
37
+ type: Component,
38
+ args: [{ selector: 'gio-license-dialog', standalone: false, template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div class=\"gio-license-dialog__title\">\n <mat-icon class=\"gio-license-dialog__title__cancel\"></mat-icon>\n <button mat-icon-button [attr.aria-label]=\"'Close'\" (click)=\"onClose()\">\n <mat-icon class=\"gio-license-dialog__title__cancel\" svgIcon=\"gio:cancel\"> </mat-icon>\n </button>\n</div>\n\n<mat-dialog-content class=\"gio-license-dialog__content\">\n <img class=\"gio-license-dialog__content__image\" [src]=\"featureInfo.image\" [alt]=\"featureInfo.title || 'Unlock Gravitee Enterprise'\" />\n <h2 class=\"gio-license-dialog__content__title\" [innerHTML]=\"featureInfo.title || 'Unlock Gravitee Enterprise' | safe: 'html'\"></h2>\n <div class=\"gio-license-dialog__content__description\" [innerHTML]=\"featureInfo.description | safe: 'html'\"></div>\n <div class=\"gio-license-dialog__content__action\">\n <a class=\"gio-license-dialog__content__action__button\" mat-stroked-button color=\"primary\" target=\"_blank\" [href]=\"trialURL\">\n {{ featureInfo.trialButtonLabel || 'Request an enterprise license' }} <mat-icon svgIcon=\"gio:external-link\"></mat-icon>\n </a>\n <div *ngIf=\"!featureInfo.hideDays\" class=\"gio-license-dialog__content__action__info\">14 days trial</div>\n </div>\n</mat-dialog-content>\n", styles: ["@charset \"UTF-8\";.gio-top-bar-menu .gio-badge-accent{background-color:var(--gio-oem-palette--active, #ffc2ac);color:var(--gio-oem-palette--active-contrast, #1e1b1b)}.gio-license-dialog__title{display:flex;justify-content:space-between}.gio-license-dialog__title__cancel{width:24px;height:24px;color:#8a8383}.gio-license-dialog__content{display:flex;width:600px;flex-direction:column;align-items:center;justify-content:center;padding:0}.gio-license-dialog__content__title{margin:0 0 24px;font-size:26px;font-weight:600;line-height:36px;font-family:Kanit,Helvetica Neue,sans-serif;letter-spacing:normal}.gio-license-dialog__content__description{padding:0 50px 32px;color:#322f2f;font-weight:500;line-height:24px;text-align:center}.gio-license-dialog__content__action{display:flex;flex-direction:column;align-items:center;padding:0 40px 16px}.gio-license-dialog__content__action__button{width:250px}.gio-license-dialog__content__action__info{margin-top:10px;color:#322f2f;text-align:center}\n"] }]
39
+ }], ctorParameters: () => [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
40
+ type: Inject,
41
+ args: [MAT_DIALOG_DATA]
42
+ }] }] });
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLWxpY2Vuc2UtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLXBhcnRpY2xlcy1hbmd1bGFyL3NyYy9saWIvZ2lvLWxpY2Vuc2UvZ2lvLWxpY2Vuc2UtZGlhbG9nL2dpby1saWNlbnNlLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1wYXJ0aWNsZXMtYW5ndWxhci9zcmMvbGliL2dpby1saWNlbnNlL2dpby1saWNlbnNlLWRpYWxvZy9naW8tbGljZW5zZS1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQWdCLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7O0FBZXpFLE1BQU0sT0FBTyx5QkFBeUI7SUFJcEMsWUFDbUIsU0FBNkMsRUFDckMsVUFBZ0M7UUFEeEMsY0FBUyxHQUFULFNBQVMsQ0FBb0M7UUFHOUQsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLEVBQUUsV0FBVyxDQUFDO1FBQzNDLElBQUksQ0FBQyxRQUFRLEdBQUcsVUFBVSxFQUFFLFFBQVEsQ0FBQztJQUN2QyxDQUFDO0lBRU0sT0FBTztRQUNaLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDekIsQ0FBQzs4R0FkVSx5QkFBeUIsOENBTTFCLGVBQWU7a0dBTmQseUJBQXlCLCtFQy9CdEMsMDNEQW1DQTs7MkZESmEseUJBQXlCO2tCQU5yQyxTQUFTOytCQUNFLG9CQUFvQixjQUdsQixLQUFLOzswQkFRZCxNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChDKSAyMDE1IFRoZSBHcmF2aXRlZSB0ZWFtIChodHRwOi8vZ3Jhdml0ZWUuaW8pXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcblxuaW1wb3J0IHsgRmVhdHVyZUluZm8gfSBmcm9tICcuLi9naW8tbGljZW5zZS5zZXJ2aWNlJztcblxuZXhwb3J0IHR5cGUgR2lvTGljZW5zZURpYWxvZ0RhdGEgPSB7XG4gIGZlYXR1cmVJbmZvOiBGZWF0dXJlSW5mbztcbiAgdHJpYWxVUkw6IHN0cmluZztcbn07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2dpby1saWNlbnNlLWRpYWxvZycsXG4gIHRlbXBsYXRlVXJsOiAnLi9naW8tbGljZW5zZS1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9naW8tbGljZW5zZS1kaWFsb2cuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIEdpb0xpY2Vuc2VEaWFsb2dDb21wb25lbnQge1xuICBwdWJsaWMgZmVhdHVyZUluZm86IEZlYXR1cmVJbmZvO1xuICBwdWJsaWMgdHJpYWxVUkw6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPEdpb0xpY2Vuc2VEaWFsb2dEYXRhPixcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgZGlhbG9nRGF0YTogR2lvTGljZW5zZURpYWxvZ0RhdGEsXG4gICkge1xuICAgIHRoaXMuZmVhdHVyZUluZm8gPSBkaWFsb2dEYXRhPy5mZWF0dXJlSW5mbztcbiAgICB0aGlzLnRyaWFsVVJMID0gZGlhbG9nRGF0YT8udHJpYWxVUkw7XG4gIH1cblxuICBwdWJsaWMgb25DbG9zZSgpIHtcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpO1xuICB9XG59XG4iLCI8IS0tXG5cbiAgICBDb3B5cmlnaHQgKEMpIDIwMTUgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcblxuICAgIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gICAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICAgIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuXG4tLT5cbjxkaXYgY2xhc3M9XCJnaW8tbGljZW5zZS1kaWFsb2dfX3RpdGxlXCI+XG4gIDxtYXQtaWNvbiBjbGFzcz1cImdpby1saWNlbnNlLWRpYWxvZ19fdGl0bGVfX2NhbmNlbFwiPjwvbWF0LWljb24+XG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0Nsb3NlJ1wiIChjbGljayk9XCJvbkNsb3NlKClcIj5cbiAgICA8bWF0LWljb24gY2xhc3M9XCJnaW8tbGljZW5zZS1kaWFsb2dfX3RpdGxlX19jYW5jZWxcIiBzdmdJY29uPVwiZ2lvOmNhbmNlbFwiPiA8L21hdC1pY29uPlxuICA8L2J1dHRvbj5cbjwvZGl2PlxuXG48bWF0LWRpYWxvZy1jb250ZW50IGNsYXNzPVwiZ2lvLWxpY2Vuc2UtZGlhbG9nX19jb250ZW50XCI+XG4gIDxpbWcgY2xhc3M9XCJnaW8tbGljZW5zZS1kaWFsb2dfX2NvbnRlbnRfX2ltYWdlXCIgW3NyY109XCJmZWF0dXJlSW5mby5pbWFnZVwiIFthbHRdPVwiZmVhdHVyZUluZm8udGl0bGUgfHwgJ1VubG9jayBHcmF2aXRlZSBFbnRlcnByaXNlJ1wiIC8+XG4gIDxoMiBjbGFzcz1cImdpby1saWNlbnNlLWRpYWxvZ19fY29udGVudF9fdGl0bGVcIiBbaW5uZXJIVE1MXT1cImZlYXR1cmVJbmZvLnRpdGxlIHx8ICdVbmxvY2sgR3Jhdml0ZWUgRW50ZXJwcmlzZScgfCBzYWZlOiAnaHRtbCdcIj48L2gyPlxuICA8ZGl2IGNsYXNzPVwiZ2lvLWxpY2Vuc2UtZGlhbG9nX19jb250ZW50X19kZXNjcmlwdGlvblwiIFtpbm5lckhUTUxdPVwiZmVhdHVyZUluZm8uZGVzY3JpcHRpb24gfCBzYWZlOiAnaHRtbCdcIj48L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImdpby1saWNlbnNlLWRpYWxvZ19fY29udGVudF9fYWN0aW9uXCI+XG4gICAgPGEgY2xhc3M9XCJnaW8tbGljZW5zZS1kaWFsb2dfX2NvbnRlbnRfX2FjdGlvbl9fYnV0dG9uXCIgbWF0LXN0cm9rZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIHRhcmdldD1cIl9ibGFua1wiIFtocmVmXT1cInRyaWFsVVJMXCI+XG4gICAgICB7eyBmZWF0dXJlSW5mby50cmlhbEJ1dHRvbkxhYmVsIHx8ICdSZXF1ZXN0IGFuIGVudGVycHJpc2UgbGljZW5zZScgfX0gPG1hdC1pY29uIHN2Z0ljb249XCJnaW86ZXh0ZXJuYWwtbGlua1wiPjwvbWF0LWljb24+XG4gICAgPC9hPlxuICAgIDxkaXYgKm5nSWY9XCIhZmVhdHVyZUluZm8uaGlkZURheXNcIiBjbGFzcz1cImdpby1saWNlbnNlLWRpYWxvZ19fY29udGVudF9fYWN0aW9uX19pbmZvXCI+MTQgZGF5cyB0cmlhbDwvZGl2PlxuICA8L2Rpdj5cbjwvbWF0LWRpYWxvZy1jb250ZW50PlxuIl19
@@ -0,0 +1,37 @@
1
+ /*
2
+ * Copyright (C) 2015 The Gravitee team (http://gravitee.io)
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { CommonModule } from '@angular/common';
17
+ import { NgModule } from '@angular/core';
18
+ import { MatDialogModule } from '@angular/material/dialog';
19
+ import { MatButtonModule } from '@angular/material/button';
20
+ import { GioSafePipeModule } from '../../gio-pipe/gio.pipe.module';
21
+ import { GioIconsModule } from '../../gio-icons/gio-icons.module';
22
+ import { GioLicenseDialogComponent } from './gio-license-dialog.component';
23
+ import * as i0 from "@angular/core";
24
+ export class GioLicenseDialogModule {
25
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: GioLicenseDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
26
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.4", ngImport: i0, type: GioLicenseDialogModule, declarations: [GioLicenseDialogComponent], imports: [CommonModule, MatDialogModule, GioIconsModule, MatButtonModule, GioSafePipeModule], exports: [GioLicenseDialogComponent] }); }
27
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: GioLicenseDialogModule, imports: [CommonModule, MatDialogModule, GioIconsModule, MatButtonModule, GioSafePipeModule] }); }
28
+ }
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: GioLicenseDialogModule, decorators: [{
30
+ type: NgModule,
31
+ args: [{
32
+ imports: [CommonModule, MatDialogModule, GioIconsModule, MatButtonModule, GioSafePipeModule],
33
+ declarations: [GioLicenseDialogComponent],
34
+ exports: [GioLicenseDialogComponent],
35
+ }]
36
+ }] });
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLWxpY2Vuc2UtZGlhbG9nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLXBhcnRpY2xlcy1hbmd1bGFyL3NyYy9saWIvZ2lvLWxpY2Vuc2UvZ2lvLWxpY2Vuc2UtZGlhbG9nL2dpby1saWNlbnNlLWRpYWxvZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUVsRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7QUFPM0UsTUFBTSxPQUFPLHNCQUFzQjs4R0FBdEIsc0JBQXNCOytHQUF0QixzQkFBc0IsaUJBSGxCLHlCQUF5QixhQUQ5QixZQUFZLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLGFBRWpGLHlCQUF5QjsrR0FFeEIsc0JBQXNCLFlBSnZCLFlBQVksRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLGVBQWUsRUFBRSxpQkFBaUI7OzJGQUloRixzQkFBc0I7a0JBTGxDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLGlCQUFpQixDQUFDO29CQUM1RixZQUFZLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztvQkFDekMsT0FBTyxFQUFFLENBQUMseUJBQXlCLENBQUM7aUJBQ3JDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoQykgMjAxNSBUaGUgR3Jhdml0ZWUgdGVhbSAoaHR0cDovL2dyYXZpdGVlLmlvKVxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5cbmltcG9ydCB7IEdpb1NhZmVQaXBlTW9kdWxlIH0gZnJvbSAnLi4vLi4vZ2lvLXBpcGUvZ2lvLnBpcGUubW9kdWxlJztcbmltcG9ydCB7IEdpb0ljb25zTW9kdWxlIH0gZnJvbSAnLi4vLi4vZ2lvLWljb25zL2dpby1pY29ucy5tb2R1bGUnO1xuXG5pbXBvcnQgeyBHaW9MaWNlbnNlRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9naW8tbGljZW5zZS1kaWFsb2cuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTWF0RGlhbG9nTW9kdWxlLCBHaW9JY29uc01vZHVsZSwgTWF0QnV0dG9uTW9kdWxlLCBHaW9TYWZlUGlwZU1vZHVsZV0sXG4gIGRlY2xhcmF0aW9uczogW0dpb0xpY2Vuc2VEaWFsb2dDb21wb25lbnRdLFxuICBleHBvcnRzOiBbR2lvTGljZW5zZURpYWxvZ0NvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIEdpb0xpY2Vuc2VEaWFsb2dNb2R1bGUge31cbiJdfQ==
@@ -0,0 +1,92 @@
1
+ /*
2
+ * Copyright (C) 2015 The Gravitee team (http://gravitee.io)
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { Directive, Input } from '@angular/core';
17
+ import { filter, map, takeUntil, tap } from 'rxjs/operators';
18
+ import { of, Subject } from 'rxjs';
19
+ import { isNil } from 'lodash';
20
+ import { isLicensePluginOptions } from './gio-license.service';
21
+ import { GioLicenseDialogComponent } from './gio-license-dialog/gio-license-dialog.component';
22
+ import * as i0 from "@angular/core";
23
+ import * as i1 from "./gio-license.service";
24
+ import * as i2 from "@angular/material/dialog";
25
+ export class GioLicenseDirective {
26
+ constructor(licenseService, matDialog, elRef) {
27
+ this.licenseService = licenseService;
28
+ this.matDialog = matDialog;
29
+ this.elRef = elRef;
30
+ this.featureInfo = {};
31
+ this.trialURL = '';
32
+ this.unsubscribe$ = new Subject();
33
+ this.onClick = this.click.bind(this);
34
+ }
35
+ ngOnInit() {
36
+ const gioLicense = this.gioLicense;
37
+ // If the license is not defined, we do not need to check anything
38
+ if (isNil(gioLicense)) {
39
+ return;
40
+ }
41
+ this.isNotAllowed$(gioLicense)
42
+ .pipe(tap(() => {
43
+ this.elRef.nativeElement.removeEventListener('click', this.onClick, true);
44
+ }), filter(notAllowed => notAllowed), map(() => this.licenseService.getFeatureInfo(gioLicense)), tap(featureInfo => {
45
+ this.featureInfo = featureInfo;
46
+ this.elRef.nativeElement.addEventListener('click', this.onClick, true);
47
+ }), takeUntil(this.unsubscribe$))
48
+ .subscribe();
49
+ if (gioLicense.feature) {
50
+ this.trialURL = this.licenseService.getTrialURL(gioLicense);
51
+ }
52
+ }
53
+ isNotAllowed$(gioLicense) {
54
+ if (isLicensePluginOptions(gioLicense)) {
55
+ return of(!gioLicense.deployed);
56
+ }
57
+ return this.licenseService.isMissingFeature$(gioLicense.feature);
58
+ }
59
+ ngOnDestroy() {
60
+ this.elRef.nativeElement.removeEventListener('click', this.onClick, true);
61
+ this.unsubscribe$.next(false);
62
+ this.unsubscribe$.unsubscribe();
63
+ }
64
+ click($event) {
65
+ $event.preventDefault();
66
+ $event.stopPropagation();
67
+ this.matDialog
68
+ .open(GioLicenseDialogComponent, {
69
+ data: {
70
+ featureInfo: this.featureInfo,
71
+ trialURL: this.trialURL,
72
+ },
73
+ role: 'alertdialog',
74
+ id: 'gioLicenseDialog',
75
+ })
76
+ .afterClosed()
77
+ .subscribe();
78
+ return false;
79
+ }
80
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: GioLicenseDirective, deps: [{ token: i1.GioLicenseService }, { token: i2.MatDialog }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
81
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.4", type: GioLicenseDirective, isStandalone: false, selector: "[gioLicense]", inputs: { gioLicense: "gioLicense" }, ngImport: i0 }); }
82
+ }
83
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: GioLicenseDirective, decorators: [{
84
+ type: Directive,
85
+ args: [{
86
+ selector: '[gioLicense]',
87
+ standalone: false,
88
+ }]
89
+ }], ctorParameters: () => [{ type: i1.GioLicenseService }, { type: i2.MatDialog }, { type: i0.ElementRef }], propDecorators: { gioLicense: [{
90
+ type: Input
91
+ }] } });
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLWxpY2Vuc2UuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktcGFydGljbGVzLWFuZ3VsYXIvc3JjL2xpYi9naW8tbGljZW5zZS9naW8tbGljZW5zZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxPQUFPLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdELE9BQU8sRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ25DLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFL0IsT0FBTyxFQUFrQyxzQkFBc0IsRUFBd0MsTUFBTSx1QkFBdUIsQ0FBQztBQUNySSxPQUFPLEVBQUUseUJBQXlCLEVBQXdCLE1BQU0sbURBQW1ELENBQUM7Ozs7QUFNcEgsTUFBTSxPQUFPLG1CQUFtQjtJQWE5QixZQUNtQixjQUFpQyxFQUNqQyxTQUFvQixFQUM3QixLQUFpQjtRQUZSLG1CQUFjLEdBQWQsY0FBYyxDQUFtQjtRQUNqQyxjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQzdCLFVBQUssR0FBTCxLQUFLLENBQVk7UUFUbkIsZ0JBQVcsR0FBZ0IsRUFBRSxDQUFDO1FBQzlCLGFBQVEsR0FBRyxFQUFFLENBQUM7UUFFZCxpQkFBWSxHQUFxQixJQUFJLE9BQU8sRUFBVyxDQUFDO1FBQ3hELFlBQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQU1yQyxDQUFDO0lBRUcsUUFBUTtRQUNiLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7UUFFbkMsa0VBQWtFO1FBQ2xFLElBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDdEIsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQzthQUMzQixJQUFJLENBQ0gsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNQLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzVFLENBQUMsQ0FBQyxFQUNGLE1BQU0sQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUNoQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLENBQUMsRUFDekQsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1lBQy9CLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3pFLENBQUMsQ0FBQyxFQUNGLFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQzdCO2FBQ0EsU0FBUyxFQUFFLENBQUM7UUFFZixJQUFJLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzlELENBQUM7SUFDSCxDQUFDO0lBRU8sYUFBYSxDQUFDLFVBQWlEO1FBQ3JFLElBQUksc0JBQXNCLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUN2QyxPQUFPLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNsQyxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMxRSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QixJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFTyxLQUFLLENBQUMsTUFBb0I7UUFDaEMsTUFBTSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3hCLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUV6QixJQUFJLENBQUMsU0FBUzthQUNYLElBQUksQ0FBMkQseUJBQXlCLEVBQUU7WUFDekYsSUFBSSxFQUFFO2dCQUNKLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztnQkFDN0IsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO2FBQ3hCO1lBQ0QsSUFBSSxFQUFFLGFBQWE7WUFDbkIsRUFBRSxFQUFFLGtCQUFrQjtTQUN2QixDQUFDO2FBQ0QsV0FBVyxFQUFFO2FBQ2IsU0FBUyxFQUFFLENBQUM7UUFDZixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7OEdBNUVVLG1CQUFtQjtrR0FBbkIsbUJBQW1COzsyRkFBbkIsbUJBQW1CO2tCQUovQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxjQUFjO29CQUN4QixVQUFVLEVBQUUsS0FBSztpQkFDbEI7dUlBTVEsVUFBVTtzQkFEaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZmlsdGVyLCBtYXAsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IG9mLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBpc05pbCB9IGZyb20gJ2xvZGFzaCc7XG5cbmltcG9ydCB7IEZlYXR1cmVJbmZvLCBHaW9MaWNlbnNlU2VydmljZSwgaXNMaWNlbnNlUGx1Z2luT3B0aW9ucywgTGljZW5zZU9wdGlvbnMsIExpY2Vuc2VQbHVnaW5PcHRpb25zIH0gZnJvbSAnLi9naW8tbGljZW5zZS5zZXJ2aWNlJztcbmltcG9ydCB7IEdpb0xpY2Vuc2VEaWFsb2dDb21wb25lbnQsIEdpb0xpY2Vuc2VEaWFsb2dEYXRhIH0gZnJvbSAnLi9naW8tbGljZW5zZS1kaWFsb2cvZ2lvLWxpY2Vuc2UtZGlhbG9nLmNvbXBvbmVudCc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tnaW9MaWNlbnNlXScsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxufSlcbmV4cG9ydCBjbGFzcyBHaW9MaWNlbnNlRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAvKipcbiAgICogVGhlIGxpY2Vuc2UgdG8gY2hlY2suIE11c3QgYmUgZGVmaW5lZCB3aGVuIHRoZSBkaXJlY3RpdmUgaXMgaW5pdGlhbGlzZWQsIG90aGVyd2lzZSB0aGUgdmFsdWUgd2lsbCBub3QgYmUgdGFrZW4gaW50byBhY2NvdW50LlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGdpb0xpY2Vuc2U/OiBMaWNlbnNlT3B0aW9ucyB8IExpY2Vuc2VQbHVnaW5PcHRpb25zO1xuXG4gIHByaXZhdGUgZmVhdHVyZUluZm86IEZlYXR1cmVJbmZvID0ge307XG4gIHByaXZhdGUgdHJpYWxVUkwgPSAnJztcblxuICBwcml2YXRlIHVuc3Vic2NyaWJlJDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG4gIHByaXZhdGUgb25DbGljayA9IHRoaXMuY2xpY2suYmluZCh0aGlzKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxpY2Vuc2VTZXJ2aWNlOiBHaW9MaWNlbnNlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IG1hdERpYWxvZzogTWF0RGlhbG9nLFxuICAgIHByaXZhdGUgZWxSZWY6IEVsZW1lbnRSZWYsXG4gICkge31cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgY29uc3QgZ2lvTGljZW5zZSA9IHRoaXMuZ2lvTGljZW5zZTtcblxuICAgIC8vIElmIHRoZSBsaWNlbnNlIGlzIG5vdCBkZWZpbmVkLCB3ZSBkbyBub3QgbmVlZCB0byBjaGVjayBhbnl0aGluZ1xuICAgIGlmIChpc05pbChnaW9MaWNlbnNlKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuaXNOb3RBbGxvd2VkJChnaW9MaWNlbnNlKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5vbkNsaWNrLCB0cnVlKTtcbiAgICAgICAgfSksXG4gICAgICAgIGZpbHRlcihub3RBbGxvd2VkID0+IG5vdEFsbG93ZWQpLFxuICAgICAgICBtYXAoKCkgPT4gdGhpcy5saWNlbnNlU2VydmljZS5nZXRGZWF0dXJlSW5mbyhnaW9MaWNlbnNlKSksXG4gICAgICAgIHRhcChmZWF0dXJlSW5mbyA9PiB7XG4gICAgICAgICAgdGhpcy5mZWF0dXJlSW5mbyA9IGZlYXR1cmVJbmZvO1xuICAgICAgICAgIHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMub25DbGljaywgdHJ1ZSk7XG4gICAgICAgIH0pLFxuICAgICAgICB0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuXG4gICAgaWYgKGdpb0xpY2Vuc2UuZmVhdHVyZSkge1xuICAgICAgdGhpcy50cmlhbFVSTCA9IHRoaXMubGljZW5zZVNlcnZpY2UuZ2V0VHJpYWxVUkwoZ2lvTGljZW5zZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpc05vdEFsbG93ZWQkKGdpb0xpY2Vuc2U6IExpY2Vuc2VPcHRpb25zIHwgTGljZW5zZVBsdWdpbk9wdGlvbnMpIHtcbiAgICBpZiAoaXNMaWNlbnNlUGx1Z2luT3B0aW9ucyhnaW9MaWNlbnNlKSkge1xuICAgICAgcmV0dXJuIG9mKCFnaW9MaWNlbnNlLmRlcGxveWVkKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMubGljZW5zZVNlcnZpY2UuaXNNaXNzaW5nRmVhdHVyZSQoZ2lvTGljZW5zZS5mZWF0dXJlKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLm9uQ2xpY2ssIHRydWUpO1xuICAgIHRoaXMudW5zdWJzY3JpYmUkLm5leHQoZmFsc2UpO1xuICAgIHRoaXMudW5zdWJzY3JpYmUkLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcml2YXRlIGNsaWNrKCRldmVudDogUG9pbnRlckV2ZW50KSB7XG4gICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgdGhpcy5tYXREaWFsb2dcbiAgICAgIC5vcGVuPEdpb0xpY2Vuc2VEaWFsb2dDb21wb25lbnQsIEdpb0xpY2Vuc2VEaWFsb2dEYXRhLCBib29sZWFuPihHaW9MaWNlbnNlRGlhbG9nQ29tcG9uZW50LCB7XG4gICAgICAgIGRhdGE6IHtcbiAgICAgICAgICBmZWF0dXJlSW5mbzogdGhpcy5mZWF0dXJlSW5mbyxcbiAgICAgICAgICB0cmlhbFVSTDogdGhpcy50cmlhbFVSTCxcbiAgICAgICAgfSxcbiAgICAgICAgcm9sZTogJ2FsZXJ0ZGlhbG9nJyxcbiAgICAgICAgaWQ6ICdnaW9MaWNlbnNlRGlhbG9nJyxcbiAgICAgIH0pXG4gICAgICAuYWZ0ZXJDbG9zZWQoKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuIl19
@@ -0,0 +1,35 @@
1
+ /*
2
+ * Copyright (C) 2015 The Gravitee team (http://gravitee.io)
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { NgModule } from '@angular/core';
17
+ import { CommonModule } from '@angular/common';
18
+ import { MatDialogModule } from '@angular/material/dialog';
19
+ import { GioLicenseDirective } from './gio-license.directive';
20
+ import { GioLicenseDialogModule } from './gio-license-dialog/gio-license-dialog.module';
21
+ import * as i0 from "@angular/core";
22
+ export class GioLicenseModule {
23
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: GioLicenseModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
24
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.4", ngImport: i0, type: GioLicenseModule, declarations: [GioLicenseDirective], imports: [CommonModule, MatDialogModule, GioLicenseDialogModule], exports: [GioLicenseDirective] }); }
25
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: GioLicenseModule, imports: [CommonModule, MatDialogModule, GioLicenseDialogModule] }); }
26
+ }
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: GioLicenseModule, decorators: [{
28
+ type: NgModule,
29
+ args: [{
30
+ imports: [CommonModule, MatDialogModule, GioLicenseDialogModule],
31
+ declarations: [GioLicenseDirective],
32
+ exports: [GioLicenseDirective],
33
+ }]
34
+ }] });
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLWxpY2Vuc2UubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktcGFydGljbGVzLWFuZ3VsYXIvc3JjL2xpYi9naW8tbGljZW5zZS9naW8tbGljZW5zZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFM0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7O0FBT3hGLE1BQU0sT0FBTyxnQkFBZ0I7OEdBQWhCLGdCQUFnQjsrR0FBaEIsZ0JBQWdCLGlCQUhaLG1CQUFtQixhQUR4QixZQUFZLEVBQUUsZUFBZSxFQUFFLHNCQUFzQixhQUVyRCxtQkFBbUI7K0dBRWxCLGdCQUFnQixZQUpqQixZQUFZLEVBQUUsZUFBZSxFQUFFLHNCQUFzQjs7MkZBSXBELGdCQUFnQjtrQkFMNUIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsZUFBZSxFQUFFLHNCQUFzQixDQUFDO29CQUNoRSxZQUFZLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztvQkFDbkMsT0FBTyxFQUFFLENBQUMsbUJBQW1CLENBQUM7aUJBQy9CIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoQykgMjAxNSBUaGUgR3Jhdml0ZWUgdGVhbSAoaHR0cDovL2dyYXZpdGVlLmlvKVxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTWF0RGlhbG9nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcblxuaW1wb3J0IHsgR2lvTGljZW5zZURpcmVjdGl2ZSB9IGZyb20gJy4vZ2lvLWxpY2Vuc2UuZGlyZWN0aXZlJztcbmltcG9ydCB7IEdpb0xpY2Vuc2VEaWFsb2dNb2R1bGUgfSBmcm9tICcuL2dpby1saWNlbnNlLWRpYWxvZy9naW8tbGljZW5zZS1kaWFsb2cubW9kdWxlJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTWF0RGlhbG9nTW9kdWxlLCBHaW9MaWNlbnNlRGlhbG9nTW9kdWxlXSxcbiAgZGVjbGFyYXRpb25zOiBbR2lvTGljZW5zZURpcmVjdGl2ZV0sXG4gIGV4cG9ydHM6IFtHaW9MaWNlbnNlRGlyZWN0aXZlXSxcbn0pXG5leHBvcnQgY2xhc3MgR2lvTGljZW5zZU1vZHVsZSB7fVxuIl19
@@ -0,0 +1,101 @@
1
+ import { Inject, Injectable } from '@angular/core';
2
+ import { of } from 'rxjs';
3
+ import { map, shareReplay, switchMap } from 'rxjs/operators';
4
+ import { has, isEmpty } from 'lodash';
5
+ import { GioLicenseDialogComponent } from './gio-license-dialog/gio-license-dialog.component';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/common/http";
8
+ import * as i2 from "@angular/material/dialog";
9
+ export const isLicensePluginOptions = (licenseOptions) => has(licenseOptions, 'deployed');
10
+ export class GioLicenseService {
11
+ constructor(http, licenseConfiguration, matDialog) {
12
+ this.http = http;
13
+ this.licenseConfiguration = licenseConfiguration;
14
+ this.matDialog = matDialog;
15
+ this.loadLicense$ = this.http.get(licenseConfiguration.resourceURL).pipe(shareReplay(1));
16
+ }
17
+ getLicense$() {
18
+ return this.loadLicense$;
19
+ }
20
+ isMissingFeature$(feature) {
21
+ if (feature == null) {
22
+ return of(false);
23
+ }
24
+ return this.isExpired$().pipe(switchMap(isExpired => {
25
+ if (isExpired) {
26
+ return of(isExpired);
27
+ }
28
+ return this.getLicense$().pipe(map(license => license == null || !license.features.some(feat => feat === feature)));
29
+ }));
30
+ }
31
+ hasAllFeatures$(licenseOptions) {
32
+ if (!licenseOptions || isEmpty(licenseOptions)) {
33
+ return of(true);
34
+ }
35
+ return this.isExpired$().pipe(switchMap(isExpired => {
36
+ const featuresDefined = licenseOptions.some(o => !!o.feature);
37
+ if (isExpired && featuresDefined) {
38
+ return of(false);
39
+ }
40
+ return this.getLicense$().pipe(map(license => license != null && licenseOptions.every(o => license.features.some(feat => feat === o.feature))));
41
+ }));
42
+ }
43
+ getFeatureInfo(licenseOptions) {
44
+ if (!licenseOptions.feature) {
45
+ throw new Error(`feature is undefined`);
46
+ }
47
+ const featureInfo = this.licenseConfiguration.featureInfoData[licenseOptions.feature];
48
+ if (!featureInfo) {
49
+ throw new Error(`Unknown Feature value ${licenseOptions.feature}. Expected one of ${Object.keys(this.licenseConfiguration.featureInfoData)}`);
50
+ }
51
+ return featureInfo;
52
+ }
53
+ getTrialURL(licenseOptions) {
54
+ if (!licenseOptions.feature) {
55
+ throw new Error(`feature is undefined`);
56
+ }
57
+ const urlParams = this.licenseConfiguration.utmSource || this.licenseConfiguration.utmCampaign
58
+ ? `?utm_source=${this.licenseConfiguration.utmSource}&utm_medium=${licenseOptions.feature}&utm_campaign=${this.licenseConfiguration.utmCampaign}`
59
+ : '';
60
+ const context = urlParams.length > 0 && licenseOptions.context ? `&utm_content=${licenseOptions.context}` : '';
61
+ return `${this.licenseConfiguration.trialResourceURL}${urlParams}${context}`;
62
+ }
63
+ isOEM$() {
64
+ return this.getLicense$().pipe(map(license => license !== null && license.features.includes('oem-customization')));
65
+ }
66
+ openDialog(licenseOptions, event) {
67
+ event?.stopPropagation();
68
+ event?.preventDefault();
69
+ const featureInfo = this.getFeatureInfo(licenseOptions);
70
+ const trialURL = this.getTrialURL(licenseOptions);
71
+ return this.matDialog
72
+ .open(GioLicenseDialogComponent, {
73
+ data: {
74
+ featureInfo,
75
+ trialURL,
76
+ },
77
+ role: 'alertdialog',
78
+ id: 'gioLicenseDialog',
79
+ })
80
+ .afterClosed()
81
+ .subscribe();
82
+ }
83
+ getExpiresAt$() {
84
+ return this.getLicense$().pipe(map(license => (license.expiresAt ? new Date(license.expiresAt) : undefined)));
85
+ }
86
+ isExpired$() {
87
+ return this.getLicense$().pipe(map(license => license?.isExpired === true));
88
+ }
89
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: GioLicenseService, deps: [{ token: i1.HttpClient }, { token: 'LicenseConfiguration' }, { token: i2.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable }); }
90
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: GioLicenseService, providedIn: 'root' }); }
91
+ }
92
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: GioLicenseService, decorators: [{
93
+ type: Injectable,
94
+ args: [{
95
+ providedIn: 'root',
96
+ }]
97
+ }], ctorParameters: () => [{ type: i1.HttpClient }, { type: undefined, decorators: [{
98
+ type: Inject,
99
+ args: ['LicenseConfiguration']
100
+ }] }, { type: i2.MatDialog }] });
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLWxpY2Vuc2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLXBhcnRpY2xlcy1hbmd1bGFyL3NyYy9saWIvZ2lvLWxpY2Vuc2UvZ2lvLWxpY2Vuc2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFnQkEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3RCxPQUFPLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUV0QyxPQUFPLEVBQUUseUJBQXlCLEVBQXdCLE1BQU0sbURBQW1ELENBQUM7Ozs7QUF1Q3BILE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLENBQUMsY0FBOEIsRUFBMEMsRUFBRSxDQUMvRyxHQUFHLENBQUMsY0FBYyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0FBYWxDLE1BQU0sT0FBTyxpQkFBaUI7SUFHNUIsWUFDbUIsSUFBZ0IsRUFFaEIsb0JBQTBDLEVBQzFDLFNBQW9CO1FBSHBCLFNBQUksR0FBSixJQUFJLENBQVk7UUFFaEIseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQUMxQyxjQUFTLEdBQVQsU0FBUyxDQUFXO1FBRXJDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQVUsb0JBQW9CLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BHLENBQUM7SUFFTSxXQUFXO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBRU0saUJBQWlCLENBQUMsT0FBMkI7UUFDbEQsSUFBSSxPQUFPLElBQUksSUFBSSxFQUFFLENBQUM7WUFDcEIsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbkIsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLElBQUksQ0FDM0IsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ3BCLElBQUksU0FBUyxFQUFFLENBQUM7Z0JBQ2QsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDdkIsQ0FBQztZQUNELE9BQU8sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLElBQUksSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RILENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRU0sZUFBZSxDQUFDLGNBQTRDO1FBQ2pFLElBQUksQ0FBQyxjQUFjLElBQUksT0FBTyxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUM7WUFDL0MsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEIsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLElBQUksQ0FDM0IsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ3BCLE1BQU0sZUFBZSxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzlELElBQUksU0FBUyxJQUFJLGVBQWUsRUFBRSxDQUFDO2dCQUNqQyxPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNuQixDQUFDO1lBQ0QsT0FBTyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsSUFBSSxDQUM1QixHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLElBQUksSUFBSSxJQUFJLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUNoSCxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFTSxjQUFjLENBQUMsY0FBOEI7UUFDbEQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUM1QixNQUFNLElBQUksS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDMUMsQ0FBQztRQUNELE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3RGLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNqQixNQUFNLElBQUksS0FBSyxDQUNiLHlCQUF5QixjQUFjLENBQUMsT0FBTyxxQkFBcUIsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FDN0gsQ0FBQztRQUNKLENBQUM7UUFDRCxPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDO0lBRU0sV0FBVyxDQUFDLGNBQThCO1FBQy9DLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDNUIsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQzFDLENBQUM7UUFDRCxNQUFNLFNBQVMsR0FDYixJQUFJLENBQUMsb0JBQW9CLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxXQUFXO1lBQzFFLENBQUMsQ0FBQyxlQUFlLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLGVBQWUsY0FBYyxDQUFDLE9BQU8saUJBQWlCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxXQUFXLEVBQUU7WUFDakosQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNULE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixjQUFjLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUMvRyxPQUFPLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGdCQUFnQixHQUFHLFNBQVMsR0FBRyxPQUFPLEVBQUUsQ0FBQztJQUMvRSxDQUFDO0lBRU0sTUFBTTtRQUNYLE9BQU8sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLEtBQUssSUFBSSxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3JILENBQUM7SUFFTSxVQUFVLENBQUMsY0FBOEIsRUFBRSxLQUFhO1FBQzdELEtBQUssRUFBRSxlQUFlLEVBQUUsQ0FBQztRQUN6QixLQUFLLEVBQUUsY0FBYyxFQUFFLENBQUM7UUFDeEIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN4RCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ2xELE9BQU8sSUFBSSxDQUFDLFNBQVM7YUFDbEIsSUFBSSxDQUEyRCx5QkFBeUIsRUFBRTtZQUN6RixJQUFJLEVBQUU7Z0JBQ0osV0FBVztnQkFDWCxRQUFRO2FBQ1Q7WUFDRCxJQUFJLEVBQUUsYUFBYTtZQUNuQixFQUFFLEVBQUUsa0JBQWtCO1NBQ3ZCLENBQUM7YUFDRCxXQUFXLEVBQUU7YUFDYixTQUFTLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRU0sYUFBYTtRQUNsQixPQUFPLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNoSCxDQUFDO0lBRU0sVUFBVTtRQUNmLE9BQU8sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsU0FBUyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDOUUsQ0FBQzs4R0FwR1UsaUJBQWlCLDRDQUtsQixzQkFBc0I7a0hBTHJCLGlCQUFpQixjQUZoQixNQUFNOzsyRkFFUCxpQkFBaUI7a0JBSDdCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFNSSxNQUFNOzJCQUFDLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwLCBzaGFyZVJlcGxheSwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IGhhcywgaXNFbXB0eSB9IGZyb20gJ2xvZGFzaCc7XG5cbmltcG9ydCB7IEdpb0xpY2Vuc2VEaWFsb2dDb21wb25lbnQsIEdpb0xpY2Vuc2VEaWFsb2dEYXRhIH0gZnJvbSAnLi9naW8tbGljZW5zZS1kaWFsb2cvZ2lvLWxpY2Vuc2UtZGlhbG9nLmNvbXBvbmVudCc7XG5cbmV4cG9ydCB0eXBlIExpY2Vuc2UgPSB7XG4gIHRpZXI6IHN0cmluZztcbiAgcGFja3M6IEFycmF5PHN0cmluZz47XG4gIGZlYXR1cmVzOiBBcnJheTxzdHJpbmc+O1xuICBleHBpcmVzQXQ/OiBEYXRlO1xuICBzY29wZT86IHN0cmluZztcbiAgaXNFeHBpcmVkPzogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGljZW5zZUNvbmZpZ3VyYXRpb24ge1xuICByZXNvdXJjZVVSTDogc3RyaW5nO1xuICBmZWF0dXJlSW5mb0RhdGE6IFJlY29yZDxzdHJpbmcsIEZlYXR1cmVJbmZvPjtcbiAgdHJpYWxSZXNvdXJjZVVSTDogc3RyaW5nO1xuICB1dG1Tb3VyY2U/OiBzdHJpbmc7XG4gIHV0bUNhbXBhaWduPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVUTSB7XG4gIHNvdXJjZTogc3RyaW5nO1xuICBtZWRpdW06IHN0cmluZztcbiAgY2FtcGFpZ246IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgTGljZW5zZU9wdGlvbnNCYXNlID0ge1xuICAvLyBXZSB1c2VkIGZlYXR1cmUgbmFtZSBhcyB1dG1fbWVkaXVtXG4gIGZlYXR1cmU/OiBzdHJpbmc7XG4gIC8vIE9wdGlvbmFsLCB1c2VmdWwgaWYgbmVlZCBhIGNvbnRleHQgaW4gdXRtIGNhbXBhaWduICh1dG1fY29udGVudClcbiAgY29udGV4dD86IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIExpY2Vuc2VQbHVnaW5PcHRpb25zID0gTGljZW5zZU9wdGlvbnNCYXNlICYge1xuICAvLyBXaGVuIGlzIGRlcGxveWVkLCB0aGUgcGx1Z2luIGlzIGluY2x1ZGVkIGluIGxpY2Vuc2VcbiAgZGVwbG95ZWQ6IGJvb2xlYW47XG59O1xuXG5leHBvcnQgdHlwZSBMaWNlbnNlT3B0aW9ucyA9IExpY2Vuc2VPcHRpb25zQmFzZSB8IExpY2Vuc2VQbHVnaW5PcHRpb25zO1xuXG5leHBvcnQgY29uc3QgaXNMaWNlbnNlUGx1Z2luT3B0aW9ucyA9IChsaWNlbnNlT3B0aW9uczogTGljZW5zZU9wdGlvbnMpOiBsaWNlbnNlT3B0aW9ucyBpcyBMaWNlbnNlUGx1Z2luT3B0aW9ucyA9PlxuICBoYXMobGljZW5zZU9wdGlvbnMsICdkZXBsb3llZCcpO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZlYXR1cmVJbmZvIHtcbiAgaW1hZ2U/OiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICB0aXRsZT86IHN0cmluZztcbiAgdHJpYWxCdXR0b25MYWJlbD86IHN0cmluZztcbiAgaGlkZURheXM/OiBib29sZWFuO1xufVxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgR2lvTGljZW5zZVNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IGxvYWRMaWNlbnNlJDogT2JzZXJ2YWJsZTxMaWNlbnNlPjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGh0dHA6IEh0dHBDbGllbnQsXG4gICAgQEluamVjdCgnTGljZW5zZUNvbmZpZ3VyYXRpb24nKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgbGljZW5zZUNvbmZpZ3VyYXRpb246IExpY2Vuc2VDb25maWd1cmF0aW9uLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbWF0RGlhbG9nOiBNYXREaWFsb2csXG4gICkge1xuICAgIHRoaXMubG9hZExpY2Vuc2UkID0gdGhpcy5odHRwLmdldDxMaWNlbnNlPihsaWNlbnNlQ29uZmlndXJhdGlvbi5yZXNvdXJjZVVSTCkucGlwZShzaGFyZVJlcGxheSgxKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TGljZW5zZSQoKTogT2JzZXJ2YWJsZTxMaWNlbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMubG9hZExpY2Vuc2UkO1xuICB9XG5cbiAgcHVibGljIGlzTWlzc2luZ0ZlYXR1cmUkKGZlYXR1cmU6IHN0cmluZyB8IHVuZGVmaW5lZCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIGlmIChmZWF0dXJlID09IG51bGwpIHtcbiAgICAgIHJldHVybiBvZihmYWxzZSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmlzRXhwaXJlZCQoKS5waXBlKFxuICAgICAgc3dpdGNoTWFwKGlzRXhwaXJlZCA9PiB7XG4gICAgICAgIGlmIChpc0V4cGlyZWQpIHtcbiAgICAgICAgICByZXR1cm4gb2YoaXNFeHBpcmVkKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5nZXRMaWNlbnNlJCgpLnBpcGUobWFwKGxpY2Vuc2UgPT4gbGljZW5zZSA9PSBudWxsIHx8ICFsaWNlbnNlLmZlYXR1cmVzLnNvbWUoZmVhdCA9PiBmZWF0ID09PSBmZWF0dXJlKSkpO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBoYXNBbGxGZWF0dXJlcyQobGljZW5zZU9wdGlvbnM6IExpY2Vuc2VPcHRpb25zW10gfCB1bmRlZmluZWQpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICBpZiAoIWxpY2Vuc2VPcHRpb25zIHx8IGlzRW1wdHkobGljZW5zZU9wdGlvbnMpKSB7XG4gICAgICByZXR1cm4gb2YodHJ1ZSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmlzRXhwaXJlZCQoKS5waXBlKFxuICAgICAgc3dpdGNoTWFwKGlzRXhwaXJlZCA9PiB7XG4gICAgICAgIGNvbnN0IGZlYXR1cmVzRGVmaW5lZCA9IGxpY2Vuc2VPcHRpb25zLnNvbWUobyA9PiAhIW8uZmVhdHVyZSk7XG4gICAgICAgIGlmIChpc0V4cGlyZWQgJiYgZmVhdHVyZXNEZWZpbmVkKSB7XG4gICAgICAgICAgcmV0dXJuIG9mKGZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5nZXRMaWNlbnNlJCgpLnBpcGUoXG4gICAgICAgICAgbWFwKGxpY2Vuc2UgPT4gbGljZW5zZSAhPSBudWxsICYmIGxpY2Vuc2VPcHRpb25zLmV2ZXJ5KG8gPT4gbGljZW5zZS5mZWF0dXJlcy5zb21lKGZlYXQgPT4gZmVhdCA9PT0gby5mZWF0dXJlKSkpLFxuICAgICAgICApO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRGZWF0dXJlSW5mbyhsaWNlbnNlT3B0aW9uczogTGljZW5zZU9wdGlvbnMpOiBGZWF0dXJlSW5mbyB7XG4gICAgaWYgKCFsaWNlbnNlT3B0aW9ucy5mZWF0dXJlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYGZlYXR1cmUgaXMgdW5kZWZpbmVkYCk7XG4gICAgfVxuICAgIGNvbnN0IGZlYXR1cmVJbmZvID0gdGhpcy5saWNlbnNlQ29uZmlndXJhdGlvbi5mZWF0dXJlSW5mb0RhdGFbbGljZW5zZU9wdGlvbnMuZmVhdHVyZV07XG4gICAgaWYgKCFmZWF0dXJlSW5mbykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgVW5rbm93biBGZWF0dXJlIHZhbHVlICR7bGljZW5zZU9wdGlvbnMuZmVhdHVyZX0uIEV4cGVjdGVkIG9uZSBvZiAke09iamVjdC5rZXlzKHRoaXMubGljZW5zZUNvbmZpZ3VyYXRpb24uZmVhdHVyZUluZm9EYXRhKX1gLFxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIGZlYXR1cmVJbmZvO1xuICB9XG5cbiAgcHVibGljIGdldFRyaWFsVVJMKGxpY2Vuc2VPcHRpb25zOiBMaWNlbnNlT3B0aW9ucyk6IHN0cmluZyB7XG4gICAgaWYgKCFsaWNlbnNlT3B0aW9ucy5mZWF0dXJlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYGZlYXR1cmUgaXMgdW5kZWZpbmVkYCk7XG4gICAgfVxuICAgIGNvbnN0IHVybFBhcmFtcyA9XG4gICAgICB0aGlzLmxpY2Vuc2VDb25maWd1cmF0aW9uLnV0bVNvdXJjZSB8fCB0aGlzLmxpY2Vuc2VDb25maWd1cmF0aW9uLnV0bUNhbXBhaWduXG4gICAgICAgID8gYD91dG1fc291cmNlPSR7dGhpcy5saWNlbnNlQ29uZmlndXJhdGlvbi51dG1Tb3VyY2V9JnV0bV9tZWRpdW09JHtsaWNlbnNlT3B0aW9ucy5mZWF0dXJlfSZ1dG1fY2FtcGFpZ249JHt0aGlzLmxpY2Vuc2VDb25maWd1cmF0aW9uLnV0bUNhbXBhaWdufWBcbiAgICAgICAgOiAnJztcbiAgICBjb25zdCBjb250ZXh0ID0gdXJsUGFyYW1zLmxlbmd0aCA+IDAgJiYgbGljZW5zZU9wdGlvbnMuY29udGV4dCA/IGAmdXRtX2NvbnRlbnQ9JHtsaWNlbnNlT3B0aW9ucy5jb250ZXh0fWAgOiAnJztcbiAgICByZXR1cm4gYCR7dGhpcy5saWNlbnNlQ29uZmlndXJhdGlvbi50cmlhbFJlc291cmNlVVJMfSR7dXJsUGFyYW1zfSR7Y29udGV4dH1gO1xuICB9XG5cbiAgcHVibGljIGlzT0VNJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5nZXRMaWNlbnNlJCgpLnBpcGUobWFwKGxpY2Vuc2UgPT4gbGljZW5zZSAhPT0gbnVsbCAmJiBsaWNlbnNlLmZlYXR1cmVzLmluY2x1ZGVzKCdvZW0tY3VzdG9taXphdGlvbicpKSk7XG4gIH1cblxuICBwdWJsaWMgb3BlbkRpYWxvZyhsaWNlbnNlT3B0aW9uczogTGljZW5zZU9wdGlvbnMsIGV2ZW50PzogRXZlbnQpIHtcbiAgICBldmVudD8uc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgZXZlbnQ/LnByZXZlbnREZWZhdWx0KCk7XG4gICAgY29uc3QgZmVhdHVyZUluZm8gPSB0aGlzLmdldEZlYXR1cmVJbmZvKGxpY2Vuc2VPcHRpb25zKTtcbiAgICBjb25zdCB0cmlhbFVSTCA9IHRoaXMuZ2V0VHJpYWxVUkwobGljZW5zZU9wdGlvbnMpO1xuICAgIHJldHVybiB0aGlzLm1hdERpYWxvZ1xuICAgICAgLm9wZW48R2lvTGljZW5zZURpYWxvZ0NvbXBvbmVudCwgR2lvTGljZW5zZURpYWxvZ0RhdGEsIGJvb2xlYW4+KEdpb0xpY2Vuc2VEaWFsb2dDb21wb25lbnQsIHtcbiAgICAgICAgZGF0YToge1xuICAgICAgICAgIGZlYXR1cmVJbmZvLFxuICAgICAgICAgIHRyaWFsVVJMLFxuICAgICAgICB9LFxuICAgICAgICByb2xlOiAnYWxlcnRkaWFsb2cnLFxuICAgICAgICBpZDogJ2dpb0xpY2Vuc2VEaWFsb2cnLFxuICAgICAgfSlcbiAgICAgIC5hZnRlckNsb3NlZCgpXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0RXhwaXJlc0F0JCgpOiBPYnNlcnZhYmxlPERhdGUgfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gdGhpcy5nZXRMaWNlbnNlJCgpLnBpcGUobWFwKGxpY2Vuc2UgPT4gKGxpY2Vuc2UuZXhwaXJlc0F0ID8gbmV3IERhdGUobGljZW5zZS5leHBpcmVzQXQpIDogdW5kZWZpbmVkKSkpO1xuICB9XG5cbiAgcHVibGljIGlzRXhwaXJlZCQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0TGljZW5zZSQoKS5waXBlKG1hcChsaWNlbnNlID0+IGxpY2Vuc2U/LmlzRXhwaXJlZCA9PT0gdHJ1ZSkpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,107 @@
1
+ /*
2
+ * Copyright (C) 2015 The Gravitee team (http://gravitee.io)
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { NgModule } from '@angular/core';
17
+ import { of } from 'rxjs';
18
+ import { GioLicenseService } from './gio-license.service';
19
+ import * as i0 from "@angular/core";
20
+ export const LICENSE_CONFIGURATION_TESTING = {
21
+ resourceURL: 'https://url.test:3000/license',
22
+ trialResourceURL: 'https://url.test:3000/trial',
23
+ utmSource: 'oss_utm_source_test',
24
+ utmCampaign: 'oss_utm_campaign_test',
25
+ featureInfoData: {
26
+ foobar: {
27
+ image: 'assets/gio-icons.svg',
28
+ description: 'Foobar feature description',
29
+ title: 'FOOBAR',
30
+ },
31
+ },
32
+ };
33
+ export const OEM_LICENSE_CONFIGURATION_TESTING = {
34
+ resourceURL: 'https://oem.test:3000/license',
35
+ trialResourceURL: 'https://oem.test:3000/trial',
36
+ featureInfoData: {
37
+ foobar: {
38
+ image: 'assets/gio-icons.svg',
39
+ description: 'Foobar feature description',
40
+ title: 'FOOBAR',
41
+ },
42
+ },
43
+ };
44
+ export class GioLicenseTestingModule {
45
+ static with(license) {
46
+ return {
47
+ ngModule: GioLicenseTestingModule,
48
+ providers: [
49
+ {
50
+ provide: 'LicenseConfiguration',
51
+ useValue: LICENSE_CONFIGURATION_TESTING,
52
+ },
53
+ {
54
+ provide: GioLicenseService,
55
+ useValue: {
56
+ isMissingFeature$: () => of(!license),
57
+ getFeatureInfo: () => ({}),
58
+ getTrialURL: () => '',
59
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
60
+ openDialog: () => { },
61
+ },
62
+ },
63
+ ],
64
+ };
65
+ }
66
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: GioLicenseTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
67
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.4", ngImport: i0, type: GioLicenseTestingModule }); }
68
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: GioLicenseTestingModule, providers: [
69
+ {
70
+ provide: 'LicenseConfiguration',
71
+ useValue: LICENSE_CONFIGURATION_TESTING,
72
+ },
73
+ {
74
+ provide: GioLicenseService,
75
+ useValue: {
76
+ isMissingFeature$: () => of(true),
77
+ getFeatureInfo: () => ({}),
78
+ getTrialURL: () => '',
79
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
80
+ openDialog: () => { },
81
+ },
82
+ },
83
+ ] }); }
84
+ }
85
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: GioLicenseTestingModule, decorators: [{
86
+ type: NgModule,
87
+ args: [{
88
+ imports: [],
89
+ providers: [
90
+ {
91
+ provide: 'LicenseConfiguration',
92
+ useValue: LICENSE_CONFIGURATION_TESTING,
93
+ },
94
+ {
95
+ provide: GioLicenseService,
96
+ useValue: {
97
+ isMissingFeature$: () => of(true),
98
+ getFeatureInfo: () => ({}),
99
+ getTrialURL: () => '',
100
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
101
+ openDialog: () => { },
102
+ },
103
+ },
104
+ ],
105
+ }]
106
+ }] });
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLWxpY2Vuc2UudGVzdGluZy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1wYXJ0aWNsZXMtYW5ndWxhci9zcmMvbGliL2dpby1saWNlbnNlL2dpby1saWNlbnNlLnRlc3RpbmcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0gsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTFCLE9BQU8sRUFBRSxpQkFBaUIsRUFBd0IsTUFBTSx1QkFBdUIsQ0FBQzs7QUFFaEYsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQXlCO0lBQ2pFLFdBQVcsRUFBRSwrQkFBK0I7SUFDNUMsZ0JBQWdCLEVBQUUsNkJBQTZCO0lBQy9DLFNBQVMsRUFBRSxxQkFBcUI7SUFDaEMsV0FBVyxFQUFFLHVCQUF1QjtJQUNwQyxlQUFlLEVBQUU7UUFDZixNQUFNLEVBQUU7WUFDTixLQUFLLEVBQUUsc0JBQXNCO1lBQzdCLFdBQVcsRUFBRSw0QkFBNEI7WUFDekMsS0FBSyxFQUFFLFFBQVE7U0FDaEI7S0FDRjtDQUNGLENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSxpQ0FBaUMsR0FBeUI7SUFDckUsV0FBVyxFQUFFLCtCQUErQjtJQUM1QyxnQkFBZ0IsRUFBRSw2QkFBNkI7SUFDL0MsZUFBZSxFQUFFO1FBQ2YsTUFBTSxFQUFFO1lBQ04sS0FBSyxFQUFFLHNCQUFzQjtZQUM3QixXQUFXLEVBQUUsNEJBQTRCO1lBQ3pDLEtBQUssRUFBRSxRQUFRO1NBQ2hCO0tBQ0Y7Q0FDRixDQUFDO0FBcUJGLE1BQU0sT0FBTyx1QkFBdUI7SUFDM0IsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFnQjtRQUNqQyxPQUFPO1lBQ0wsUUFBUSxFQUFFLHVCQUF1QjtZQUNqQyxTQUFTLEVBQUU7Z0JBQ1Q7b0JBQ0UsT0FBTyxFQUFFLHNCQUFzQjtvQkFDL0IsUUFBUSxFQUFFLDZCQUE2QjtpQkFDeEM7Z0JBQ0Q7b0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtvQkFDMUIsUUFBUSxFQUFFO3dCQUNSLGlCQUFpQixFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQzt3QkFDckMsY0FBYyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDO3dCQUMxQixXQUFXLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRTt3QkFDckIsZ0VBQWdFO3dCQUNoRSxVQUFVLEVBQUUsR0FBRyxFQUFFLEdBQUUsQ0FBQztxQkFDckI7aUJBQ0Y7YUFDRjtTQUNGLENBQUM7SUFDSixDQUFDOzhHQXJCVSx1QkFBdUI7K0dBQXZCLHVCQUF1QjsrR0FBdkIsdUJBQXVCLGFBakJ2QjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxzQkFBc0I7Z0JBQy9CLFFBQVEsRUFBRSw2QkFBNkI7YUFDeEM7WUFDRDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixRQUFRLEVBQUU7b0JBQ1IsaUJBQWlCLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQztvQkFDakMsY0FBYyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDO29CQUMxQixXQUFXLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRTtvQkFDckIsZ0VBQWdFO29CQUNoRSxVQUFVLEVBQUUsR0FBRyxFQUFFLEdBQUUsQ0FBQztpQkFDckI7YUFDRjtTQUNGOzsyRkFFVSx1QkFBdUI7a0JBbkJuQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxFQUFFO29CQUNYLFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsc0JBQXNCOzRCQUMvQixRQUFRLEVBQUUsNkJBQTZCO3lCQUN4Qzt3QkFDRDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixRQUFRLEVBQUU7Z0NBQ1IsaUJBQWlCLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQztnQ0FDakMsY0FBYyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDO2dDQUMxQixXQUFXLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRTtnQ0FDckIsZ0VBQWdFO2dDQUNoRSxVQUFVLEVBQUUsR0FBRyxFQUFFLEdBQUUsQ0FBQzs2QkFDckI7eUJBQ0Y7cUJBQ0Y7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChDKSAyMDE1IFRoZSBHcmF2aXRlZSB0ZWFtIChodHRwOi8vZ3Jhdml0ZWUuaW8pXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IG9mIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEdpb0xpY2Vuc2VTZXJ2aWNlLCBMaWNlbnNlQ29uZmlndXJhdGlvbiB9IGZyb20gJy4vZ2lvLWxpY2Vuc2Uuc2VydmljZSc7XG5cbmV4cG9ydCBjb25zdCBMSUNFTlNFX0NPTkZJR1VSQVRJT05fVEVTVElORzogTGljZW5zZUNvbmZpZ3VyYXRpb24gPSB7XG4gIHJlc291cmNlVVJMOiAnaHR0cHM6Ly91cmwudGVzdDozMDAwL2xpY2Vuc2UnLFxuICB0cmlhbFJlc291cmNlVVJMOiAnaHR0cHM6Ly91cmwudGVzdDozMDAwL3RyaWFsJyxcbiAgdXRtU291cmNlOiAnb3NzX3V0bV9zb3VyY2VfdGVzdCcsXG4gIHV0bUNhbXBhaWduOiAnb3NzX3V0bV9jYW1wYWlnbl90ZXN0JyxcbiAgZmVhdHVyZUluZm9EYXRhOiB7XG4gICAgZm9vYmFyOiB7XG4gICAgICBpbWFnZTogJ2Fzc2V0cy9naW8taWNvbnMuc3ZnJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnRm9vYmFyIGZlYXR1cmUgZGVzY3JpcHRpb24nLFxuICAgICAgdGl0bGU6ICdGT09CQVInLFxuICAgIH0sXG4gIH0sXG59O1xuZXhwb3J0IGNvbnN0IE9FTV9MSUNFTlNFX0NPTkZJR1VSQVRJT05fVEVTVElORzogTGljZW5zZUNvbmZpZ3VyYXRpb24gPSB7XG4gIHJlc291cmNlVVJMOiAnaHR0cHM6Ly9vZW0udGVzdDozMDAwL2xpY2Vuc2UnLFxuICB0cmlhbFJlc291cmNlVVJMOiAnaHR0cHM6Ly9vZW0udGVzdDozMDAwL3RyaWFsJyxcbiAgZmVhdHVyZUluZm9EYXRhOiB7XG4gICAgZm9vYmFyOiB7XG4gICAgICBpbWFnZTogJ2Fzc2V0cy9naW8taWNvbnMuc3ZnJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnRm9vYmFyIGZlYXR1cmUgZGVzY3JpcHRpb24nLFxuICAgICAgdGl0bGU6ICdGT09CQVInLFxuICAgIH0sXG4gIH0sXG59O1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogJ0xpY2Vuc2VDb25maWd1cmF0aW9uJyxcbiAgICAgIHVzZVZhbHVlOiBMSUNFTlNFX0NPTkZJR1VSQVRJT05fVEVTVElORyxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IEdpb0xpY2Vuc2VTZXJ2aWNlLFxuICAgICAgdXNlVmFsdWU6IHtcbiAgICAgICAgaXNNaXNzaW5nRmVhdHVyZSQ6ICgpID0+IG9mKHRydWUpLFxuICAgICAgICBnZXRGZWF0dXJlSW5mbzogKCkgPT4gKHt9KSxcbiAgICAgICAgZ2V0VHJpYWxVUkw6ICgpID0+ICcnLFxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gICAgICAgIG9wZW5EaWFsb2c6ICgpID0+IHt9LFxuICAgICAgfSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBHaW9MaWNlbnNlVGVzdGluZ01vZHVsZSB7XG4gIHB1YmxpYyBzdGF0aWMgd2l0aChsaWNlbnNlOiBib29sZWFuKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBHaW9MaWNlbnNlVGVzdGluZ01vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogJ0xpY2Vuc2VDb25maWd1cmF0aW9uJyxcbiAgICAgICAgICB1c2VWYWx1ZTogTElDRU5TRV9DT05GSUdVUkFUSU9OX1RFU1RJTkcsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBHaW9MaWNlbnNlU2VydmljZSxcbiAgICAgICAgICB1c2VWYWx1ZToge1xuICAgICAgICAgICAgaXNNaXNzaW5nRmVhdHVyZSQ6ICgpID0+IG9mKCFsaWNlbnNlKSxcbiAgICAgICAgICAgIGdldEZlYXR1cmVJbmZvOiAoKSA9PiAoe30pLFxuICAgICAgICAgICAgZ2V0VHJpYWxVUkw6ICgpID0+ICcnLFxuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblxuICAgICAgICAgICAgb3BlbkRpYWxvZzogKCkgPT4ge30sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfTtcbiAgfVxufVxuIl19
@@ -0,0 +1,77 @@
1
+ /*
2
+ * Copyright (C) 2024 The Gravitee team (http://gravitee.io)
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { Component, Input } from '@angular/core';
17
+ import * as i0 from "@angular/core";
18
+ import * as i1 from "@angular/common";
19
+ import * as i2 from "@angular/material/icon";
20
+ export class GioLicenseExpirationNotificationComponent {
21
+ constructor() {
22
+ this.showCallToAction = true;
23
+ this.inError = false;
24
+ this.title = '';
25
+ this.daysRemaining = 0;
26
+ this.statusColor = 'blue';
27
+ }
28
+ ngOnInit() {
29
+ if (!this.expirationDate) {
30
+ return;
31
+ }
32
+ if (this.inError) {
33
+ this.title = "There's an issue with your license";
34
+ return;
35
+ }
36
+ const date = new Date();
37
+ const timeRemaining = this.transformDateWithoutHours(this.expirationDate) - this.transformDateWithoutHours(date);
38
+ this.daysRemaining = Math.round(timeRemaining / (1000 * 3600 * 24));
39
+ if (this.expirationDate.getTime() - date.getTime() < 0) {
40
+ this.title = 'Your license has expired';
41
+ this.statusColor = 'red';
42
+ }
43
+ else if (this.daysRemaining === 0) {
44
+ this.title = `Your license will expire today`;
45
+ this.statusColor = 'orange';
46
+ }
47
+ else {
48
+ this.title = `Your license will expire in ${this.daysRemaining} day${this.daysRemaining === 1 ? '' : 's'}`;
49
+ this.statusColor = this.daysRemaining > 5 ? 'blue' : 'orange';
50
+ }
51
+ }
52
+ ngOnChanges(changes) {
53
+ if (changes.expirationDate) {
54
+ this.ngOnInit();
55
+ }
56
+ }
57
+ transformDateWithoutHours(date) {
58
+ return new Date(date.toDateString()).valueOf();
59
+ }
60
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: GioLicenseExpirationNotificationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
61
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.4", type: GioLicenseExpirationNotificationComponent, isStandalone: false, selector: "gio-license-expiration-notification", inputs: { expirationDate: "expirationDate", showCallToAction: "showCallToAction", callToActionMessage: "callToActionMessage", link: "link", inError: "inError" }, usesOnChanges: true, ngImport: i0, template: "<!--\n\n Copyright (C) 2024 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div *ngIf=\"expirationDate && daysRemaining <= 30\" class=\"status\" rel=\"noopener\">\n <div [ngClass]=\"'status__title ' + statusColor\">\n <div class=\"status__title__text\">\n {{ title }}\n <img src=\"assets/license-expiration-notification-background.svg\" />\n </div>\n </div>\n <a *ngIf=\"showCallToAction\" class=\"status__action\" [href]=\"link ?? 'https://www.gravitee.io/contact-us-licence'\" target=\"_blank\">\n <div class=\"status__action__text\">{{ callToActionMessage ?? 'Contact Gravitee' }}</div>\n <mat-icon svgIcon=\"gio:right-circle\" class=\"status__action__icon\"></mat-icon>\n </a>\n</div>\n", styles: ["@charset \"UTF-8\";.gio-top-bar-menu .gio-badge-accent{background-color:var(--gio-oem-palette--active, #ffc2ac);color:var(--gio-oem-palette--active-contrast, #1e1b1b)}.status{position:relative;display:flex;width:192px;height:152px;flex-direction:column;padding:0;border-radius:4px;color:#1e1b1b;box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f;border:none;background:#fff;text-decoration:none}.status--disabled{cursor:not-allowed}.status__sub-tile{height:56px;margin-top:16px}.status__title img{position:absolute;top:0;right:0}.status__title.red{display:flex;width:inherit;flex:1 1 100%;align-items:center;border-radius:4px;background:#ffcfd0;color:#881d1e}.status__title.red img{filter:invert(21%) sepia(96%) saturate(2923%) hue-rotate(316deg) brightness(75%) contrast(116%)}.status__title.blue{display:flex;width:inherit;flex:1 1 100%;align-items:center;border-radius:4px;background:#e9f6ff;color:#006fb9}.status__title.blue img{filter:invert(27%) sepia(98%) saturate(1450%) hue-rotate(183deg) brightness(91%) contrast(102%)}.status__title.orange{display:flex;width:inherit;flex:1 1 100%;align-items:center;border-radius:4px;background:#ffd8aa;color:#a5610f}.status__title.orange img{filter:invert(23%) sepia(92%) saturate(1610%) hue-rotate(357deg) brightness(103%) contrast(94%)}.status__title__text{font-size:14px;font-weight:500;line-height:22px;font-family:Manrope,sans-serif;letter-spacing:.4px;margin:24px 12px;text-align:left}.status__action{font-size:12px;font-weight:400;line-height:16px;font-family:Manrope,sans-serif;letter-spacing:normal;display:flex;width:100%;align-items:center;justify-content:space-between;padding:20px 12px;color:#1e1b1b;font-weight:700;text-decoration:none}.status__action__icon{width:20px;height:20px}:host-context(.gio-menu__reduced) .status{display:none}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
62
+ }
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: GioLicenseExpirationNotificationComponent, decorators: [{
64
+ type: Component,
65
+ args: [{ selector: 'gio-license-expiration-notification', standalone: false, template: "<!--\n\n Copyright (C) 2024 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div *ngIf=\"expirationDate && daysRemaining <= 30\" class=\"status\" rel=\"noopener\">\n <div [ngClass]=\"'status__title ' + statusColor\">\n <div class=\"status__title__text\">\n {{ title }}\n <img src=\"assets/license-expiration-notification-background.svg\" />\n </div>\n </div>\n <a *ngIf=\"showCallToAction\" class=\"status__action\" [href]=\"link ?? 'https://www.gravitee.io/contact-us-licence'\" target=\"_blank\">\n <div class=\"status__action__text\">{{ callToActionMessage ?? 'Contact Gravitee' }}</div>\n <mat-icon svgIcon=\"gio:right-circle\" class=\"status__action__icon\"></mat-icon>\n </a>\n</div>\n", styles: ["@charset \"UTF-8\";.gio-top-bar-menu .gio-badge-accent{background-color:var(--gio-oem-palette--active, #ffc2ac);color:var(--gio-oem-palette--active-contrast, #1e1b1b)}.status{position:relative;display:flex;width:192px;height:152px;flex-direction:column;padding:0;border-radius:4px;color:#1e1b1b;box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f;border:none;background:#fff;text-decoration:none}.status--disabled{cursor:not-allowed}.status__sub-tile{height:56px;margin-top:16px}.status__title img{position:absolute;top:0;right:0}.status__title.red{display:flex;width:inherit;flex:1 1 100%;align-items:center;border-radius:4px;background:#ffcfd0;color:#881d1e}.status__title.red img{filter:invert(21%) sepia(96%) saturate(2923%) hue-rotate(316deg) brightness(75%) contrast(116%)}.status__title.blue{display:flex;width:inherit;flex:1 1 100%;align-items:center;border-radius:4px;background:#e9f6ff;color:#006fb9}.status__title.blue img{filter:invert(27%) sepia(98%) saturate(1450%) hue-rotate(183deg) brightness(91%) contrast(102%)}.status__title.orange{display:flex;width:inherit;flex:1 1 100%;align-items:center;border-radius:4px;background:#ffd8aa;color:#a5610f}.status__title.orange img{filter:invert(23%) sepia(92%) saturate(1610%) hue-rotate(357deg) brightness(103%) contrast(94%)}.status__title__text{font-size:14px;font-weight:500;line-height:22px;font-family:Manrope,sans-serif;letter-spacing:.4px;margin:24px 12px;text-align:left}.status__action{font-size:12px;font-weight:400;line-height:16px;font-family:Manrope,sans-serif;letter-spacing:normal;display:flex;width:100%;align-items:center;justify-content:space-between;padding:20px 12px;color:#1e1b1b;font-weight:700;text-decoration:none}.status__action__icon{width:20px;height:20px}:host-context(.gio-menu__reduced) .status{display:none}\n"] }]
66
+ }], propDecorators: { expirationDate: [{
67
+ type: Input
68
+ }], showCallToAction: [{
69
+ type: Input
70
+ }], callToActionMessage: [{
71
+ type: Input
72
+ }], link: [{
73
+ type: Input
74
+ }], inError: [{
75
+ type: Input
76
+ }] } });
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLWxpY2Vuc2UtZXhwaXJhdGlvbi1ub3RpZmljYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktcGFydGljbGVzLWFuZ3VsYXIvc3JjL2xpYi9naW8tbGljZW5zZS1leHBpcmF0aW9uLW5vdGlmaWNhdGlvbi9naW8tbGljZW5zZS1leHBpcmF0aW9uLW5vdGlmaWNhdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1wYXJ0aWNsZXMtYW5ndWxhci9zcmMvbGliL2dpby1saWNlbnNlLWV4cGlyYXRpb24tbm90aWZpY2F0aW9uL2dpby1saWNlbnNlLWV4cGlyYXRpb24tbm90aWZpY2F0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0gsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQW9DLE1BQU0sZUFBZSxDQUFDOzs7O0FBUW5GLE1BQU0sT0FBTyx5Q0FBeUM7SUFOdEQ7UUFXUyxxQkFBZ0IsR0FBRyxJQUFJLENBQUM7UUFTeEIsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUVoQixVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1gsa0JBQWEsR0FBRyxDQUFDLENBQUM7UUFDbEIsZ0JBQVcsR0FBRyxNQUFNLENBQUM7S0FxQzdCO0lBbkNRLFFBQVE7UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3pCLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLEtBQUssR0FBRyxvQ0FBb0MsQ0FBQztZQUNsRCxPQUFPO1FBQ1QsQ0FBQztRQUVELE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFDeEIsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxJQUFJLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakgsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsR0FBRyxDQUFDLElBQUksR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUVwRSxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3ZELElBQUksQ0FBQyxLQUFLLEdBQUcsMEJBQTBCLENBQUM7WUFDeEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFDM0IsQ0FBQzthQUFNLElBQUksSUFBSSxDQUFDLGFBQWEsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNwQyxJQUFJLENBQUMsS0FBSyxHQUFHLGdDQUFnQyxDQUFDO1lBQzlDLElBQUksQ0FBQyxXQUFXLEdBQUcsUUFBUSxDQUFDO1FBQzlCLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLEtBQUssR0FBRywrQkFBK0IsSUFBSSxDQUFDLGFBQWEsT0FBTyxJQUFJLENBQUMsYUFBYSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUMzRyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztRQUNoRSxDQUFDO0lBQ0gsQ0FBQztJQUVNLFdBQVcsQ0FBQyxPQUFzQjtRQUN2QyxJQUFJLE9BQU8sQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDbEIsQ0FBQztJQUNILENBQUM7SUFFTyx5QkFBeUIsQ0FBQyxJQUFVO1FBQzFDLE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDakQsQ0FBQzs4R0F0RFUseUNBQXlDO2tHQUF6Qyx5Q0FBeUMsdVJDdkJ0RCxzeENBNkJBOzsyRkROYSx5Q0FBeUM7a0JBTnJELFNBQVM7K0JBQ0UscUNBQXFDLGNBR25DLEtBQUs7OEJBSVYsY0FBYztzQkFEcEIsS0FBSztnQkFJQyxnQkFBZ0I7c0JBRHRCLEtBQUs7Z0JBSUMsbUJBQW1CO3NCQUR6QixLQUFLO2dCQUlDLElBQUk7c0JBRFYsS0FBSztnQkFJQyxPQUFPO3NCQURiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChDKSAyMDI0IFRoZSBHcmF2aXRlZSB0ZWFtIChodHRwOi8vZ3Jhdml0ZWUuaW8pXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ2lvLWxpY2Vuc2UtZXhwaXJhdGlvbi1ub3RpZmljYXRpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vZ2lvLWxpY2Vuc2UtZXhwaXJhdGlvbi1ub3RpZmljYXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9naW8tbGljZW5zZS1leHBpcmF0aW9uLW5vdGlmaWNhdGlvbi5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbn0pXG5leHBvcnQgY2xhc3MgR2lvTGljZW5zZUV4cGlyYXRpb25Ob3RpZmljYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBleHBpcmF0aW9uRGF0ZTogRGF0ZSB8IHVuZGVmaW5lZDtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2hvd0NhbGxUb0FjdGlvbiA9IHRydWU7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNhbGxUb0FjdGlvbk1lc3NhZ2U6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgbGluazogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpbkVycm9yID0gZmFsc2U7XG5cbiAgcHVibGljIHRpdGxlID0gJyc7XG4gIHB1YmxpYyBkYXlzUmVtYWluaW5nID0gMDtcbiAgcHVibGljIHN0YXR1c0NvbG9yID0gJ2JsdWUnO1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZXhwaXJhdGlvbkRhdGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pbkVycm9yKSB7XG4gICAgICB0aGlzLnRpdGxlID0gXCJUaGVyZSdzIGFuIGlzc3VlIHdpdGggeW91ciBsaWNlbnNlXCI7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKCk7XG4gICAgY29uc3QgdGltZVJlbWFpbmluZyA9IHRoaXMudHJhbnNmb3JtRGF0ZVdpdGhvdXRIb3Vycyh0aGlzLmV4cGlyYXRpb25EYXRlKSAtIHRoaXMudHJhbnNmb3JtRGF0ZVdpdGhvdXRIb3VycyhkYXRlKTtcbiAgICB0aGlzLmRheXNSZW1haW5pbmcgPSBNYXRoLnJvdW5kKHRpbWVSZW1haW5pbmcgLyAoMTAwMCAqIDM2MDAgKiAyNCkpO1xuXG4gICAgaWYgKHRoaXMuZXhwaXJhdGlvbkRhdGUuZ2V0VGltZSgpIC0gZGF0ZS5nZXRUaW1lKCkgPCAwKSB7XG4gICAgICB0aGlzLnRpdGxlID0gJ1lvdXIgbGljZW5zZSBoYXMgZXhwaXJlZCc7XG4gICAgICB0aGlzLnN0YXR1c0NvbG9yID0gJ3JlZCc7XG4gICAgfSBlbHNlIGlmICh0aGlzLmRheXNSZW1haW5pbmcgPT09IDApIHtcbiAgICAgIHRoaXMudGl0bGUgPSBgWW91ciBsaWNlbnNlIHdpbGwgZXhwaXJlIHRvZGF5YDtcbiAgICAgIHRoaXMuc3RhdHVzQ29sb3IgPSAnb3JhbmdlJztcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy50aXRsZSA9IGBZb3VyIGxpY2Vuc2Ugd2lsbCBleHBpcmUgaW4gJHt0aGlzLmRheXNSZW1haW5pbmd9IGRheSR7dGhpcy5kYXlzUmVtYWluaW5nID09PSAxID8gJycgOiAncyd9YDtcbiAgICAgIHRoaXMuc3RhdHVzQ29sb3IgPSB0aGlzLmRheXNSZW1haW5pbmcgPiA1ID8gJ2JsdWUnIDogJ29yYW5nZSc7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlcy5leHBpcmF0aW9uRGF0ZSkge1xuICAgICAgdGhpcy5uZ09uSW5pdCgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdHJhbnNmb3JtRGF0ZVdpdGhvdXRIb3VycyhkYXRlOiBEYXRlKTogbnVtYmVyIHtcbiAgICByZXR1cm4gbmV3IERhdGUoZGF0ZS50b0RhdGVTdHJpbmcoKSkudmFsdWVPZigpO1xuICB9XG59XG4iLCI8IS0tXG5cbiAgICBDb3B5cmlnaHQgKEMpIDIwMjQgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcblxuICAgIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gICAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICAgIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuXG4tLT5cbjxkaXYgKm5nSWY9XCJleHBpcmF0aW9uRGF0ZSAmJiBkYXlzUmVtYWluaW5nIDw9IDMwXCIgY2xhc3M9XCJzdGF0dXNcIiByZWw9XCJub29wZW5lclwiPlxuICA8ZGl2IFtuZ0NsYXNzXT1cIidzdGF0dXNfX3RpdGxlICcgKyBzdGF0dXNDb2xvclwiPlxuICAgIDxkaXYgY2xhc3M9XCJzdGF0dXNfX3RpdGxlX190ZXh0XCI+XG4gICAgICB7eyB0aXRsZSB9fVxuICAgICAgPGltZyBzcmM9XCJhc3NldHMvbGljZW5zZS1leHBpcmF0aW9uLW5vdGlmaWNhdGlvbi1iYWNrZ3JvdW5kLnN2Z1wiIC8+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8YSAqbmdJZj1cInNob3dDYWxsVG9BY3Rpb25cIiBjbGFzcz1cInN0YXR1c19fYWN0aW9uXCIgW2hyZWZdPVwibGluayA/PyAnaHR0cHM6Ly93d3cuZ3Jhdml0ZWUuaW8vY29udGFjdC11cy1saWNlbmNlJ1wiIHRhcmdldD1cIl9ibGFua1wiPlxuICAgIDxkaXYgY2xhc3M9XCJzdGF0dXNfX2FjdGlvbl9fdGV4dFwiPnt7IGNhbGxUb0FjdGlvbk1lc3NhZ2UgPz8gJ0NvbnRhY3QgR3Jhdml0ZWUnIH19PC9kaXY+XG4gICAgPG1hdC1pY29uIHN2Z0ljb249XCJnaW86cmlnaHQtY2lyY2xlXCIgY2xhc3M9XCJzdGF0dXNfX2FjdGlvbl9faWNvblwiPjwvbWF0LWljb24+XG4gIDwvYT5cbjwvZGl2PlxuIl19