@gravitee/ui-particles-angular 15.13.0 → 16.0.0-angular-20-fixes-a73324e

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/fesm2022/gravitee-ui-particles-angular-gio-asciidoctor.mjs +11 -11
  2. package/fesm2022/gravitee-ui-particles-angular-gio-asciidoctor.mjs.map +1 -1
  3. package/fesm2022/gravitee-ui-particles-angular-gio-el.mjs +74 -80
  4. package/fesm2022/gravitee-ui-particles-angular-gio-el.mjs.map +1 -1
  5. package/fesm2022/gravitee-ui-particles-angular-testing.mjs.map +1 -1
  6. package/fesm2022/gravitee-ui-particles-angular.mjs +641 -537
  7. package/fesm2022/gravitee-ui-particles-angular.mjs.map +1 -1
  8. package/gio-asciidoctor/index.d.ts +49 -5
  9. package/gio-el/index.d.ts +146 -5
  10. package/index.d.ts +1822 -3
  11. package/package.json +7 -15
  12. package/src/scss/gio-mat-theme.scss +2 -1
  13. package/testing/index.d.ts +47 -5
  14. package/esm2022/gio-asciidoctor/gio-asciidoctor.component.mjs +0 -104
  15. package/esm2022/gio-asciidoctor/gio-asciidoctor.module.mjs +0 -33
  16. package/esm2022/gio-asciidoctor/gio-asciidoctor.service.mjs +0 -48
  17. package/esm2022/gio-asciidoctor/gravitee-ui-particles-angular-gio-asciidoctor.mjs +0 -5
  18. package/esm2022/gio-asciidoctor/public-api.mjs +0 -19
  19. package/esm2022/gio-el/gio-el-editor/gio-el-editor-condition-group/gio-el-editor-condition-group.component.mjs +0 -127
  20. package/esm2022/gio-el/gio-el-editor/gio-el-editor-condition-group/gio-el-editor-condition-group.harness.mjs +0 -158
  21. package/esm2022/gio-el/gio-el-editor/gio-el-editor.component.mjs +0 -131
  22. package/esm2022/gio-el/gio-el-editor/gio-el-editor.harness.mjs +0 -28
  23. package/esm2022/gio-el/gio-el-editor/gio-el-field/gio-el-field.component.mjs +0 -271
  24. package/esm2022/gio-el/gio-el-editor/gio-el-field/gio-el-field.harness.mjs +0 -53
  25. package/esm2022/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-boolean/gio-el-editor-type-boolean.component.mjs +0 -57
  26. package/esm2022/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-boolean/gio-el-editor-type-boolean.harness.mjs +0 -31
  27. package/esm2022/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-date/gio-el-editor-type-date.component.mjs +0 -74
  28. package/esm2022/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-date/gio-el-editor-type-date.harness.mjs +0 -29
  29. package/esm2022/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-number/gio-el-editor-type-number.component.mjs +0 -70
  30. package/esm2022/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-number/gio-el-editor-type-number.harness.mjs +0 -29
  31. package/esm2022/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-string/gio-el-editor-type-string.component.mjs +0 -73
  32. package/esm2022/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-string/gio-el-editor-type-string.harness.mjs +0 -29
  33. package/esm2022/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type.harness.mjs +0 -38
  34. package/esm2022/gio-el/gravitee-ui-particles-angular-gio-el.mjs +0 -5
  35. package/esm2022/gio-el/models/Condition.mjs +0 -9
  36. package/esm2022/gio-el/models/ConditionGroup.mjs +0 -7
  37. package/esm2022/gio-el/models/ConditionModel.mjs +0 -17
  38. package/esm2022/gio-el/models/ConditionsModel.mjs +0 -4
  39. package/esm2022/gio-el/models/ExpressionLanguageBuilder.mjs +0 -97
  40. package/esm2022/gio-el/models/Operator.mjs +0 -2
  41. package/esm2022/gio-el/models/public-api.mjs +0 -21
  42. package/esm2022/gio-el/public-api.mjs +0 -19
  43. package/esm2022/gravitee-ui-particles-angular.mjs +0 -5
  44. package/esm2022/lib/gio-avatar/gio-avatar.component.mjs +0 -74
  45. package/esm2022/lib/gio-avatar/gio-avatar.module.mjs +0 -33
  46. package/esm2022/lib/gio-avatar/index.mjs +0 -18
  47. package/esm2022/lib/gio-banner/gio-banner.component.mjs +0 -120
  48. package/esm2022/lib/gio-banner/gio-banner.module.mjs +0 -64
  49. package/esm2022/lib/gio-breadcrumb/gio-breadcrumb-item.directive.mjs +0 -32
  50. package/esm2022/lib/gio-breadcrumb/gio-breadcrumb.component.mjs +0 -32
  51. package/esm2022/lib/gio-breadcrumb/gio-breadcrumb.module.mjs +0 -35
  52. package/esm2022/lib/gio-breadcrumb/index.mjs +0 -19
  53. package/esm2022/lib/gio-card-empty-state/gio-card-empty-state.component.mjs +0 -35
  54. package/esm2022/lib/gio-card-empty-state/gio-card-empty-state.module.mjs +0 -36
  55. package/esm2022/lib/gio-card-empty-state/index.mjs +0 -18
  56. package/esm2022/lib/gio-clipboard/gio-clipboard-copy-icon.component.mjs +0 -67
  57. package/esm2022/lib/gio-clipboard/gio-clipboard-copy-wrapper.component.mjs +0 -71
  58. package/esm2022/lib/gio-clipboard/gio-clipboard.base.component.mjs +0 -64
  59. package/esm2022/lib/gio-clipboard/gio-clipboard.module.mjs +0 -39
  60. package/esm2022/lib/gio-confirm-and-validate-dialog/gio-confirm-and-validate-dialog.component.mjs +0 -61
  61. package/esm2022/lib/gio-confirm-and-validate-dialog/gio-confirm-and-validate-dialog.harness.mjs +0 -40
  62. package/esm2022/lib/gio-confirm-and-validate-dialog/gio-confirm-and-validate-dialog.module.mjs +0 -40
  63. package/esm2022/lib/gio-confirm-dialog/gio-confirm-dialog.component.mjs +0 -54
  64. package/esm2022/lib/gio-confirm-dialog/gio-confirm-dialog.harness.mjs +0 -34
  65. package/esm2022/lib/gio-confirm-dialog/gio-confirm-dialog.module.mjs +0 -36
  66. package/esm2022/lib/gio-dialog/gio-dialog.constant.mjs +0 -21
  67. package/esm2022/lib/gio-el/gio-el-assistant/gio-el-assistant.component.mjs +0 -62
  68. package/esm2022/lib/gio-el/gio-el-prompt/gio-el-prompt.component.mjs +0 -112
  69. package/esm2022/lib/gio-el/gio-el.service.mjs +0 -60
  70. package/esm2022/lib/gio-el/index.mjs +0 -20
  71. package/esm2022/lib/gio-el/models/ElAiPromptState.mjs +0 -23
  72. package/esm2022/lib/gio-el/public-api.mjs +0 -20
  73. package/esm2022/lib/gio-form-cron/gio-form-cron-hint.component.mjs +0 -30
  74. package/esm2022/lib/gio-form-cron/gio-form-cron-label.component.mjs +0 -30
  75. package/esm2022/lib/gio-form-cron/gio-form-cron.adapter.mjs +0 -218
  76. package/esm2022/lib/gio-form-cron/gio-form-cron.component.mjs +0 -211
  77. package/esm2022/lib/gio-form-cron/gio-form-cron.harness.mjs +0 -77
  78. package/esm2022/lib/gio-form-cron/gio-form-cron.module.mjs +0 -69
  79. package/esm2022/lib/gio-form-file-picker/gio-form-file-picker-add-button/gio-form-file-picker-add-button.component.mjs +0 -29
  80. package/esm2022/lib/gio-form-file-picker/gio-form-file-picker-empty/gio-form-file-picker-empty.component.mjs +0 -27
  81. package/esm2022/lib/gio-form-file-picker/gio-form-file-picker-label/gio-form-file-picker-label.component.mjs +0 -26
  82. package/esm2022/lib/gio-form-file-picker/gio-form-file-picker.component.harness.mjs +0 -95
  83. package/esm2022/lib/gio-form-file-picker/gio-form-file-picker.component.mjs +0 -167
  84. package/esm2022/lib/gio-form-file-picker/gio-form-file-picker.model.mjs +0 -23
  85. package/esm2022/lib/gio-form-file-picker/gio-form-file-picker.module.mjs +0 -57
  86. package/esm2022/lib/gio-form-file-picker/index.mjs +0 -23
  87. package/esm2022/lib/gio-form-focus-first-invalid/gio-form-focus-first-invalid-ignore.directive.mjs +0 -31
  88. package/esm2022/lib/gio-form-focus-first-invalid/gio-form-focus-first-invalid.directive.mjs +0 -96
  89. package/esm2022/lib/gio-form-focus-first-invalid/gio-form-focus-first-invalid.module.mjs +0 -32
  90. package/esm2022/lib/gio-form-headers/gio-form-headers-label.component.mjs +0 -30
  91. package/esm2022/lib/gio-form-headers/gio-form-headers.component.mjs +0 -284
  92. package/esm2022/lib/gio-form-headers/gio-form-headers.harness.mjs +0 -73
  93. package/esm2022/lib/gio-form-headers/gio-form-headers.module.mjs +0 -77
  94. package/esm2022/lib/gio-form-json-schema/gio-form-json-schema.component.mjs +0 -209
  95. package/esm2022/lib/gio-form-json-schema/gio-form-json-schema.module.mjs +0 -244
  96. package/esm2022/lib/gio-form-json-schema/gio-formly-json-schema.service.mjs +0 -261
  97. package/esm2022/lib/gio-form-json-schema/model/GioJsonSchema.mjs +0 -17
  98. package/esm2022/lib/gio-form-json-schema/model/GioJsonSchemaContext.mjs +0 -2
  99. package/esm2022/lib/gio-form-json-schema/type-component/array-type.component.mjs +0 -109
  100. package/esm2022/lib/gio-form-json-schema/type-component/code-editor-type.component.mjs +0 -47
  101. package/esm2022/lib/gio-form-json-schema/type-component/cron-type.component.mjs +0 -42
  102. package/esm2022/lib/gio-form-json-schema/type-component/headers-type.component.mjs +0 -108
  103. package/esm2022/lib/gio-form-json-schema/type-component/multischema-type.component.mjs +0 -66
  104. package/esm2022/lib/gio-form-json-schema/type-component/null-type.component.mjs +0 -31
  105. package/esm2022/lib/gio-form-json-schema/type-component/object-type.component.mjs +0 -62
  106. package/esm2022/lib/gio-form-json-schema/type-component/toggle-type.component.mjs +0 -60
  107. package/esm2022/lib/gio-form-json-schema/util/validation-message.util.mjs +0 -38
  108. package/esm2022/lib/gio-form-json-schema/wrappers/gio-banner-extension.mjs +0 -10
  109. package/esm2022/lib/gio-form-json-schema/wrappers/gio-banner-wrapper.component.mjs +0 -28
  110. package/esm2022/lib/gio-form-json-schema/wrappers/gio-el-helper-wrapper.component.mjs +0 -61
  111. package/esm2022/lib/gio-form-json-schema/wrappers/gio-password-eye.component.mjs +0 -74
  112. package/esm2022/lib/gio-form-selection-inline/gio-form-selection-inline-card-content/gio-form-selection-inline-card-content.component.mjs +0 -79
  113. package/esm2022/lib/gio-form-selection-inline/gio-form-selection-inline-card.component.mjs +0 -86
  114. package/esm2022/lib/gio-form-selection-inline/gio-form-selection-inline-card.harness.mjs +0 -44
  115. package/esm2022/lib/gio-form-selection-inline/gio-form-selection-inline.component.mjs +0 -103
  116. package/esm2022/lib/gio-form-selection-inline/gio-form-selection-inline.harness.mjs +0 -65
  117. package/esm2022/lib/gio-form-selection-inline/gio-form-selection-inline.module.mjs +0 -59
  118. package/esm2022/lib/gio-form-selection-inline/public-api.mjs +0 -22
  119. package/esm2022/lib/gio-form-slide-toggle/gio-form-label.directive.mjs +0 -52
  120. package/esm2022/lib/gio-form-slide-toggle/gio-form-slide-toggle.component.mjs +0 -69
  121. package/esm2022/lib/gio-form-slide-toggle/gio-form-slide-toggle.module.mjs +0 -34
  122. package/esm2022/lib/gio-form-tags-input/gio-form-tags-input.component.mjs +0 -316
  123. package/esm2022/lib/gio-form-tags-input/gio-form-tags-input.harness.mjs +0 -82
  124. package/esm2022/lib/gio-form-tags-input/gio-form-tags-input.module.mjs +0 -67
  125. package/esm2022/lib/gio-icons/gio-icons.module.mjs +0 -37
  126. package/esm2022/lib/gio-license/gio-license-dialog/gio-license-dialog.component.mjs +0 -43
  127. package/esm2022/lib/gio-license/gio-license-dialog/gio-license-dialog.module.mjs +0 -37
  128. package/esm2022/lib/gio-license/gio-license.directive.mjs +0 -92
  129. package/esm2022/lib/gio-license/gio-license.module.mjs +0 -35
  130. package/esm2022/lib/gio-license/gio-license.service.mjs +0 -101
  131. package/esm2022/lib/gio-license/gio-license.testing.module.mjs +0 -107
  132. package/esm2022/lib/gio-license-expiration-notification/gio-license-expiration-notification.component.mjs +0 -77
  133. package/esm2022/lib/gio-license-expiration-notification/gio-license-expiration-notification.harness.mjs +0 -44
  134. package/esm2022/lib/gio-license-expiration-notification/gio-license-expiration-notification.module.mjs +0 -36
  135. package/esm2022/lib/gio-loader/gio-loader.component.mjs +0 -27
  136. package/esm2022/lib/gio-loader/gio-loader.module.mjs +0 -34
  137. package/esm2022/lib/gio-mat-config/gio-mat-config.module.mjs +0 -30
  138. package/esm2022/lib/gio-mat-config/index.mjs +0 -17
  139. package/esm2022/lib/gio-monaco-editor/gio-monaco-clipboard-copy.component.mjs +0 -44
  140. package/esm2022/lib/gio-monaco-editor/gio-monaco-editor-form-field.directive.mjs +0 -150
  141. package/esm2022/lib/gio-monaco-editor/gio-monaco-editor.component.mjs +0 -314
  142. package/esm2022/lib/gio-monaco-editor/gio-monaco-editor.harness.mjs +0 -70
  143. package/esm2022/lib/gio-monaco-editor/gio-monaco-editor.module.mjs +0 -60
  144. package/esm2022/lib/gio-monaco-editor/gio-monaco-editor.testing.component.mjs +0 -42
  145. package/esm2022/lib/gio-monaco-editor/models/GioMonacoEditorConfig.mjs +0 -18
  146. package/esm2022/lib/gio-monaco-editor/models/JSONSchemaAutoComplete.mjs +0 -115
  147. package/esm2022/lib/gio-monaco-editor/models/MonacoEditorTheme.mjs +0 -2
  148. package/esm2022/lib/gio-monaco-editor/services/gio-language-el.service.mjs +0 -226
  149. package/esm2022/lib/gio-monaco-editor/services/gio-language-json.service.mjs +0 -72
  150. package/esm2022/lib/gio-monaco-editor/services/gio-monaco-editor.service.mjs +0 -72
  151. package/esm2022/lib/gio-pipe/gio.pipe.module.mjs +0 -32
  152. package/esm2022/lib/gio-pipe/safe.pipe.mjs +0 -53
  153. package/esm2022/lib/gio-popover/gio-popover-trigger.directive.mjs +0 -46
  154. package/esm2022/lib/gio-popover/gio-popover.component.mjs +0 -83
  155. package/esm2022/lib/gio-popover/index.mjs +0 -18
  156. package/esm2022/lib/gio-popover/public-api.mjs +0 -18
  157. package/esm2022/lib/gio-prismjs/gio-prismjs.service.mjs +0 -80
  158. package/esm2022/lib/gio-save-bar/gio-save-bar.component.mjs +0 -142
  159. package/esm2022/lib/gio-save-bar/gio-save-bar.harness.mjs +0 -54
  160. package/esm2022/lib/gio-save-bar/gio-save-bar.module.mjs +0 -35
  161. package/esm2022/lib/oem-theme/gio-menu/gio-menu-footer/gio-menu-footer.component.mjs +0 -26
  162. package/esm2022/lib/oem-theme/gio-menu/gio-menu-header/gio-menu-header.component.mjs +0 -26
  163. package/esm2022/lib/oem-theme/gio-menu/gio-menu-item/gio-menu-item.component.mjs +0 -85
  164. package/esm2022/lib/oem-theme/gio-menu/gio-menu-license-expiration-notification/gio-menu-license-expiration-notification.component.mjs +0 -26
  165. package/esm2022/lib/oem-theme/gio-menu/gio-menu-list/gio-menu-list.component.mjs +0 -26
  166. package/esm2022/lib/oem-theme/gio-menu/gio-menu-search/gio-menu-search.component.mjs +0 -62
  167. package/esm2022/lib/oem-theme/gio-menu/gio-menu-search/gio-menu-search.harness.mjs +0 -41
  168. package/esm2022/lib/oem-theme/gio-menu/gio-menu-search/gio-menu-search.service.mjs +0 -41
  169. package/esm2022/lib/oem-theme/gio-menu/gio-menu-selector/gio-menu-selector.component.mjs +0 -49
  170. package/esm2022/lib/oem-theme/gio-menu/gio-menu-selector/gio-menu-selector.harness.mjs +0 -41
  171. package/esm2022/lib/oem-theme/gio-menu/gio-menu.component.mjs +0 -50
  172. package/esm2022/lib/oem-theme/gio-menu/gio-menu.module.mjs +0 -78
  173. package/esm2022/lib/oem-theme/gio-menu/gio-menu.service.mjs +0 -45
  174. package/esm2022/lib/oem-theme/gio-menu/index.mjs +0 -29
  175. package/esm2022/lib/oem-theme/gio-submenu/gio-submenu-group/gio-submenu-group.component.mjs +0 -34
  176. package/esm2022/lib/oem-theme/gio-submenu/gio-submenu-item/gio-submenu-item.component.mjs +0 -46
  177. package/esm2022/lib/oem-theme/gio-submenu/gio-submenu.component.mjs +0 -112
  178. package/esm2022/lib/oem-theme/gio-submenu/gio-submenu.module.mjs +0 -37
  179. package/esm2022/lib/oem-theme/gio-submenu/index.mjs +0 -20
  180. package/esm2022/lib/oem-theme/gio-top-bar/gio-top-bar-content/gio-top-bar-content.component.mjs +0 -35
  181. package/esm2022/lib/oem-theme/gio-top-bar/gio-top-bar-link/gio-top-bar-link.component.mjs +0 -35
  182. package/esm2022/lib/oem-theme/gio-top-bar/gio-top-bar-link/gio-top-bar-link.module.mjs +0 -35
  183. package/esm2022/lib/oem-theme/gio-top-bar/gio-top-bar-menu/gio-top-bar-menu.component.mjs +0 -26
  184. package/esm2022/lib/oem-theme/gio-top-bar/gio-top-bar-menu/gio-top-bar-menu.module.mjs +0 -33
  185. package/esm2022/lib/oem-theme/gio-top-bar/gio-top-bar.component.mjs +0 -34
  186. package/esm2022/lib/oem-theme/gio-top-bar/gio-top-bar.module.mjs +0 -36
  187. package/esm2022/lib/oem-theme/gio-top-bar/index.mjs +0 -23
  188. package/esm2022/lib/oem-theme/oem-theme.service.mjs +0 -83
  189. package/esm2022/lib/oem-theme/public-api.mjs +0 -20
  190. package/esm2022/lib/public-api.mjs +0 -85
  191. package/esm2022/public-api.mjs +0 -20
  192. package/esm2022/testing/gravitee-ui-particles-angular-testing.mjs +0 -5
  193. package/esm2022/testing/harnesses/div.harness.mjs +0 -42
  194. package/esm2022/testing/harnesses/index.mjs +0 -18
  195. package/esm2022/testing/harnesses/span.harness.mjs +0 -42
  196. package/esm2022/testing/public-api.mjs +0 -17
  197. package/gio-asciidoctor/gio-asciidoctor.component.d.ts +0 -26
  198. package/gio-asciidoctor/gio-asciidoctor.module.d.ts +0 -8
  199. package/gio-asciidoctor/gio-asciidoctor.service.d.ts +0 -14
  200. package/gio-asciidoctor/public-api.d.ts +0 -3
  201. package/gio-el/gio-el-editor/gio-el-editor-condition-group/gio-el-editor-condition-group.component.d.ts +0 -25
  202. package/gio-el/gio-el-editor/gio-el-editor-condition-group/gio-el-editor-condition-group.harness.d.ts +0 -36
  203. package/gio-el/gio-el-editor/gio-el-editor.component.d.ts +0 -25
  204. package/gio-el/gio-el-editor/gio-el-editor.harness.d.ts +0 -7
  205. package/gio-el/gio-el-editor/gio-el-field/gio-el-field.component.d.ts +0 -70
  206. package/gio-el/gio-el-editor/gio-el-field/gio-el-field.harness.d.ts +0 -14
  207. package/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-boolean/gio-el-editor-type-boolean.component.d.ts +0 -15
  208. package/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-boolean/gio-el-editor-type-boolean.harness.d.ts +0 -6
  209. package/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-date/gio-el-editor-type-date.component.d.ts +0 -17
  210. package/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-date/gio-el-editor-type-date.harness.d.ts +0 -6
  211. package/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-number/gio-el-editor-type-number.component.d.ts +0 -17
  212. package/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-number/gio-el-editor-type-number.harness.d.ts +0 -6
  213. package/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-string/gio-el-editor-type-string.component.d.ts +0 -23
  214. package/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-string/gio-el-editor-type-string.harness.d.ts +0 -6
  215. package/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type.harness.d.ts +0 -10
  216. package/gio-el/models/Condition.d.ts +0 -19
  217. package/gio-el/models/ConditionGroup.d.ts +0 -7
  218. package/gio-el/models/ConditionModel.d.ts +0 -32
  219. package/gio-el/models/ConditionsModel.d.ts +0 -8
  220. package/gio-el/models/ExpressionLanguageBuilder.d.ts +0 -12
  221. package/gio-el/models/Operator.d.ts +0 -1
  222. package/gio-el/models/public-api.d.ts +0 -5
  223. package/gio-el/public-api.d.ts +0 -3
  224. package/lib/gio-avatar/gio-avatar.component.d.ts +0 -21
  225. package/lib/gio-avatar/gio-avatar.module.d.ts +0 -8
  226. package/lib/gio-avatar/index.d.ts +0 -2
  227. package/lib/gio-banner/gio-banner.component.d.ts +0 -43
  228. package/lib/gio-banner/gio-banner.module.d.ts +0 -11
  229. package/lib/gio-breadcrumb/gio-breadcrumb-item.directive.d.ts +0 -8
  230. package/lib/gio-breadcrumb/gio-breadcrumb.component.d.ts +0 -8
  231. package/lib/gio-breadcrumb/gio-breadcrumb.module.d.ts +0 -10
  232. package/lib/gio-breadcrumb/index.d.ts +0 -3
  233. package/lib/gio-card-empty-state/gio-card-empty-state.component.d.ts +0 -8
  234. package/lib/gio-card-empty-state/gio-card-empty-state.module.d.ts +0 -11
  235. package/lib/gio-card-empty-state/index.d.ts +0 -2
  236. package/lib/gio-clipboard/gio-clipboard-copy-icon.component.d.ts +0 -6
  237. package/lib/gio-clipboard/gio-clipboard-copy-wrapper.component.d.ts +0 -6
  238. package/lib/gio-clipboard/gio-clipboard.base.component.d.ts +0 -18
  239. package/lib/gio-clipboard/gio-clipboard.module.d.ts +0 -14
  240. package/lib/gio-confirm-and-validate-dialog/gio-confirm-and-validate-dialog.component.d.ts +0 -33
  241. package/lib/gio-confirm-and-validate-dialog/gio-confirm-and-validate-dialog.harness.d.ts +0 -9
  242. package/lib/gio-confirm-and-validate-dialog/gio-confirm-and-validate-dialog.module.d.ts +0 -15
  243. package/lib/gio-confirm-dialog/gio-confirm-dialog.component.d.ts +0 -29
  244. package/lib/gio-confirm-dialog/gio-confirm-dialog.harness.d.ts +0 -8
  245. package/lib/gio-confirm-dialog/gio-confirm-dialog.module.d.ts +0 -11
  246. package/lib/gio-dialog/gio-dialog.constant.d.ts +0 -5
  247. package/lib/gio-el/gio-el-assistant/gio-el-assistant.component.d.ts +0 -7
  248. package/lib/gio-el/gio-el-prompt/gio-el-prompt.component.d.ts +0 -28
  249. package/lib/gio-el/gio-el.service.d.ts +0 -19
  250. package/lib/gio-el/index.d.ts +0 -4
  251. package/lib/gio-el/models/ElAiPromptState.d.ts +0 -15
  252. package/lib/gio-el/public-api.d.ts +0 -4
  253. package/lib/gio-form-cron/gio-form-cron-hint.component.d.ts +0 -5
  254. package/lib/gio-form-cron/gio-form-cron-label.component.d.ts +0 -5
  255. package/lib/gio-form-cron/gio-form-cron.adapter.d.ts +0 -18
  256. package/lib/gio-form-cron/gio-form-cron.component.d.ts +0 -42
  257. package/lib/gio-form-cron/gio-form-cron.harness.d.ts +0 -23
  258. package/lib/gio-form-cron/gio-form-cron.module.d.ts +0 -18
  259. package/lib/gio-form-file-picker/gio-form-file-picker-add-button/gio-form-file-picker-add-button.component.d.ts +0 -5
  260. package/lib/gio-form-file-picker/gio-form-file-picker-empty/gio-form-file-picker-empty.component.d.ts +0 -5
  261. package/lib/gio-form-file-picker/gio-form-file-picker-label/gio-form-file-picker-label.component.d.ts +0 -5
  262. package/lib/gio-form-file-picker/gio-form-file-picker.component.d.ts +0 -43
  263. package/lib/gio-form-file-picker/gio-form-file-picker.component.harness.d.ts +0 -30
  264. package/lib/gio-form-file-picker/gio-form-file-picker.model.d.ts +0 -6
  265. package/lib/gio-form-file-picker/gio-form-file-picker.module.d.ts +0 -16
  266. package/lib/gio-form-file-picker/index.d.ts +0 -7
  267. package/lib/gio-form-focus-first-invalid/gio-form-focus-first-invalid-ignore.directive.d.ts +0 -6
  268. package/lib/gio-form-focus-first-invalid/gio-form-focus-first-invalid.directive.d.ts +0 -22
  269. package/lib/gio-form-focus-first-invalid/gio-form-focus-first-invalid.module.d.ts +0 -8
  270. package/lib/gio-form-headers/gio-form-headers-label.component.d.ts +0 -5
  271. package/lib/gio-form-headers/gio-form-headers.component.d.ts +0 -46
  272. package/lib/gio-form-headers/gio-form-headers.harness.d.ts +0 -39
  273. package/lib/gio-form-headers/gio-form-headers.module.d.ts +0 -20
  274. package/lib/gio-form-json-schema/gio-form-json-schema.component.d.ts +0 -43
  275. package/lib/gio-form-json-schema/gio-form-json-schema.module.d.ts +0 -35
  276. package/lib/gio-form-json-schema/gio-formly-json-schema.service.d.ts +0 -26
  277. package/lib/gio-form-json-schema/model/GioJsonSchema.d.ts +0 -47
  278. package/lib/gio-form-json-schema/model/GioJsonSchemaContext.d.ts +0 -1
  279. package/lib/gio-form-json-schema/type-component/array-type.component.d.ts +0 -10
  280. package/lib/gio-form-json-schema/type-component/code-editor-type.component.d.ts +0 -16
  281. package/lib/gio-form-json-schema/type-component/cron-type.component.d.ts +0 -9
  282. package/lib/gio-form-json-schema/type-component/headers-type.component.d.ts +0 -18
  283. package/lib/gio-form-json-schema/type-component/multischema-type.component.d.ts +0 -13
  284. package/lib/gio-form-json-schema/type-component/null-type.component.d.ts +0 -6
  285. package/lib/gio-form-json-schema/type-component/object-type.component.d.ts +0 -9
  286. package/lib/gio-form-json-schema/type-component/toggle-type.component.d.ts +0 -8
  287. package/lib/gio-form-json-schema/util/validation-message.util.d.ts +0 -15
  288. package/lib/gio-form-json-schema/wrappers/gio-banner-extension.d.ts +0 -2
  289. package/lib/gio-form-json-schema/wrappers/gio-banner-wrapper.component.d.ts +0 -6
  290. package/lib/gio-form-json-schema/wrappers/gio-el-helper-wrapper.component.d.ts +0 -11
  291. package/lib/gio-form-json-schema/wrappers/gio-password-eye.component.d.ts +0 -12
  292. package/lib/gio-form-selection-inline/gio-form-selection-inline-card-content/gio-form-selection-inline-card-content.component.d.ts +0 -15
  293. package/lib/gio-form-selection-inline/gio-form-selection-inline-card.component.d.ts +0 -17
  294. package/lib/gio-form-selection-inline/gio-form-selection-inline-card.harness.d.ts +0 -19
  295. package/lib/gio-form-selection-inline/gio-form-selection-inline.component.d.ts +0 -20
  296. package/lib/gio-form-selection-inline/gio-form-selection-inline.harness.d.ts +0 -26
  297. package/lib/gio-form-selection-inline/gio-form-selection-inline.module.d.ts +0 -14
  298. package/lib/gio-form-selection-inline/public-api.d.ts +0 -6
  299. package/lib/gio-form-slide-toggle/gio-form-label.directive.d.ts +0 -13
  300. package/lib/gio-form-slide-toggle/gio-form-slide-toggle.component.d.ts +0 -15
  301. package/lib/gio-form-slide-toggle/gio-form-slide-toggle.module.d.ts +0 -9
  302. package/lib/gio-form-tags-input/gio-form-tags-input.component.d.ts +0 -95
  303. package/lib/gio-form-tags-input/gio-form-tags-input.harness.d.ts +0 -23
  304. package/lib/gio-form-tags-input/gio-form-tags-input.module.d.ts +0 -16
  305. package/lib/gio-icons/gio-icons.module.d.ts +0 -11
  306. package/lib/gio-license/gio-license-dialog/gio-license-dialog.component.d.ts +0 -16
  307. package/lib/gio-license/gio-license-dialog/gio-license-dialog.module.d.ts +0 -12
  308. package/lib/gio-license/gio-license.directive.d.ts +0 -24
  309. package/lib/gio-license/gio-license.module.d.ts +0 -10
  310. package/lib/gio-license/gio-license.service.d.ts +0 -58
  311. package/lib/gio-license/gio-license.testing.module.d.ts +0 -24
  312. package/lib/gio-license-expiration-notification/gio-license-expiration-notification.component.d.ts +0 -17
  313. package/lib/gio-license-expiration-notification/gio-license-expiration-notification.harness.d.ts +0 -13
  314. package/lib/gio-license-expiration-notification/gio-license-expiration-notification.module.d.ts +0 -11
  315. package/lib/gio-loader/gio-loader.component.d.ts +0 -5
  316. package/lib/gio-loader/gio-loader.module.d.ts +0 -9
  317. package/lib/gio-mat-config/gio-mat-config.module.d.ts +0 -6
  318. package/lib/gio-mat-config/index.d.ts +0 -1
  319. package/lib/gio-monaco-editor/gio-monaco-clipboard-copy.component.d.ts +0 -7
  320. package/lib/gio-monaco-editor/gio-monaco-editor-form-field.directive.d.ts +0 -45
  321. package/lib/gio-monaco-editor/gio-monaco-editor.component.d.ts +0 -67
  322. package/lib/gio-monaco-editor/gio-monaco-editor.harness.d.ts +0 -19
  323. package/lib/gio-monaco-editor/gio-monaco-editor.module.d.ts +0 -20
  324. package/lib/gio-monaco-editor/gio-monaco-editor.testing.component.d.ts +0 -12
  325. package/lib/gio-monaco-editor/models/GioMonacoEditorConfig.d.ts +0 -7
  326. package/lib/gio-monaco-editor/models/JSONSchemaAutoComplete.d.ts +0 -39
  327. package/lib/gio-monaco-editor/models/MonacoEditorTheme.d.ts +0 -1
  328. package/lib/gio-monaco-editor/services/gio-language-el.service.d.ts +0 -18
  329. package/lib/gio-monaco-editor/services/gio-language-json.service.d.ts +0 -18
  330. package/lib/gio-monaco-editor/services/gio-monaco-editor.service.d.ts +0 -19
  331. package/lib/gio-pipe/gio.pipe.module.d.ts +0 -7
  332. package/lib/gio-pipe/safe.pipe.d.ts +0 -10
  333. package/lib/gio-popover/gio-popover-trigger.directive.d.ts +0 -12
  334. package/lib/gio-popover/gio-popover.component.d.ts +0 -15
  335. package/lib/gio-popover/index.d.ts +0 -2
  336. package/lib/gio-popover/public-api.d.ts +0 -2
  337. package/lib/gio-prismjs/gio-prismjs.service.d.ts +0 -14
  338. package/lib/gio-save-bar/gio-save-bar.component.d.ts +0 -30
  339. package/lib/gio-save-bar/gio-save-bar.harness.d.ts +0 -15
  340. package/lib/gio-save-bar/gio-save-bar.module.d.ts +0 -10
  341. package/lib/oem-theme/gio-menu/gio-menu-footer/gio-menu-footer.component.d.ts +0 -5
  342. package/lib/oem-theme/gio-menu/gio-menu-header/gio-menu-header.component.d.ts +0 -5
  343. package/lib/oem-theme/gio-menu/gio-menu-item/gio-menu-item.component.d.ts +0 -19
  344. package/lib/oem-theme/gio-menu/gio-menu-license-expiration-notification/gio-menu-license-expiration-notification.component.d.ts +0 -5
  345. package/lib/oem-theme/gio-menu/gio-menu-list/gio-menu-list.component.d.ts +0 -5
  346. package/lib/oem-theme/gio-menu/gio-menu-search/gio-menu-search.component.d.ts +0 -25
  347. package/lib/oem-theme/gio-menu/gio-menu-search/gio-menu-search.harness.d.ts +0 -10
  348. package/lib/oem-theme/gio-menu/gio-menu-search/gio-menu-search.service.d.ts +0 -9
  349. package/lib/oem-theme/gio-menu/gio-menu-selector/gio-menu-selector.component.d.ts +0 -17
  350. package/lib/oem-theme/gio-menu/gio-menu-selector/gio-menu-selector.harness.d.ts +0 -8
  351. package/lib/oem-theme/gio-menu/gio-menu.component.d.ts +0 -14
  352. package/lib/oem-theme/gio-menu/gio-menu.module.d.ts +0 -21
  353. package/lib/oem-theme/gio-menu/gio-menu.service.d.ts +0 -18
  354. package/lib/oem-theme/gio-menu/index.d.ts +0 -13
  355. package/lib/oem-theme/gio-submenu/gio-submenu-group/gio-submenu-group.component.d.ts +0 -8
  356. package/lib/oem-theme/gio-submenu/gio-submenu-item/gio-submenu-item.component.d.ts +0 -9
  357. package/lib/oem-theme/gio-submenu/gio-submenu.component.d.ts +0 -28
  358. package/lib/oem-theme/gio-submenu/gio-submenu.module.d.ts +0 -12
  359. package/lib/oem-theme/gio-submenu/index.d.ts +0 -4
  360. package/lib/oem-theme/gio-top-bar/gio-top-bar-content/gio-top-bar-content.component.d.ts +0 -8
  361. package/lib/oem-theme/gio-top-bar/gio-top-bar-link/gio-top-bar-link.component.d.ts +0 -7
  362. package/lib/oem-theme/gio-top-bar/gio-top-bar-link/gio-top-bar-link.module.d.ts +0 -10
  363. package/lib/oem-theme/gio-top-bar/gio-top-bar-menu/gio-top-bar-menu.component.d.ts +0 -5
  364. package/lib/oem-theme/gio-top-bar/gio-top-bar-menu/gio-top-bar-menu.module.d.ts +0 -8
  365. package/lib/oem-theme/gio-top-bar/gio-top-bar.component.d.ts +0 -8
  366. package/lib/oem-theme/gio-top-bar/gio-top-bar.module.d.ts +0 -11
  367. package/lib/oem-theme/gio-top-bar/index.d.ts +0 -7
  368. package/lib/oem-theme/oem-theme.service.d.ts +0 -22
  369. package/lib/oem-theme/public-api.d.ts +0 -4
  370. package/lib/public-api.d.ts +0 -66
  371. package/public-api.d.ts +0 -1
  372. package/testing/harnesses/div.harness.d.ts +0 -21
  373. package/testing/harnesses/index.d.ts +0 -2
  374. package/testing/harnesses/span.harness.d.ts +0 -21
  375. package/testing/public-api.d.ts +0 -1
@@ -1,112 +0,0 @@
1
- /*
2
- * Copyright (C) 2025 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 { ChangeDetectionStrategy, Component, Input, signal, computed, inject, ViewChild, } from '@angular/core';
17
- import { FormControl, FormGroup, ReactiveFormsModule, Validators } from '@angular/forms';
18
- import { MatFormFieldModule } from '@angular/material/form-field';
19
- import { MatInput } from '@angular/material/input';
20
- import { MatButton } from '@angular/material/button';
21
- import { MatProgressBarModule } from '@angular/material/progress-bar';
22
- import { MatTooltipModule } from '@angular/material/tooltip';
23
- import { MatIconButton } from '@angular/material/button';
24
- import { GioElService } from '../gio-el.service';
25
- import { isPromptError, isPromptSuccess } from '../models/ElAiPromptState';
26
- import { GioIconsModule } from '../../gio-icons/gio-icons.module';
27
- import { GioBannerModule } from '../../gio-banner/gio-banner.module';
28
- import { GioClipboardModule } from '../../gio-clipboard/gio-clipboard.module';
29
- import * as i0 from "@angular/core";
30
- import * as i1 from "@angular/forms";
31
- import * as i2 from "@angular/material/input";
32
- import * as i3 from "@angular/material/progress-bar";
33
- import * as i4 from "@angular/material/tooltip";
34
- import * as i5 from "@angular/material/icon";
35
- import * as i6 from "../../gio-banner/gio-banner.component";
36
- import * as i7 from "../../gio-clipboard/gio-clipboard-copy-wrapper.component";
37
- export class GioElPromptComponent {
38
- constructor() {
39
- this.maxPromptSize = 256;
40
- this.aiRequestFormGroup = new FormGroup({
41
- prompt: new FormControl('', [Validators.required, Validators.maxLength(this.maxPromptSize)]),
42
- });
43
- this.elService = inject(GioElService);
44
- this.responseState = signal(null);
45
- this.feedbackState = signal(null);
46
- this.el = computed(() => {
47
- const state = this.responseState();
48
- return isPromptSuccess(state) ? state.el : null;
49
- });
50
- this.feedbackRequestId = computed(() => {
51
- const state = this.responseState();
52
- return isPromptSuccess(state) ? state.feedbackRequestId || null : null;
53
- });
54
- this.errorMessage = computed(() => {
55
- const state = this.responseState();
56
- return isPromptError(state) ? state.message : null;
57
- });
58
- this.showFeedback = computed(() => {
59
- const state = this.responseState();
60
- const feedback = this.feedbackState();
61
- return isPromptSuccess(state) && feedback === null;
62
- });
63
- }
64
- get prompt() {
65
- return this.aiRequestFormGroup.get('prompt');
66
- }
67
- ngAfterViewInit() {
68
- setTimeout(() => {
69
- this.myInput.nativeElement.focus();
70
- }, 1000);
71
- }
72
- sendPromptToIA() {
73
- const prompt = this.aiRequestFormGroup.get('prompt')?.value;
74
- if (!prompt) {
75
- return;
76
- }
77
- this.responseState.set('loading');
78
- this.feedbackState.set(null);
79
- this.elService.prompt(prompt).subscribe(reply => this.responseState.set(reply));
80
- }
81
- submitFeedback(feedback) {
82
- this.feedbackState.set(feedback);
83
- const expression = this.el();
84
- const feedbackRequestId = this.feedbackRequestId();
85
- if (expression) {
86
- this.elService.submitFeedback(feedback, feedbackRequestId || undefined).subscribe();
87
- }
88
- }
89
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: GioElPromptComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
90
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.4", type: GioElPromptComponent, isStandalone: true, selector: "gio-el-prompt", inputs: { responseState: "responseState" }, viewQueries: [{ propertyName: "myInput", first: true, predicate: ["promptArea"], descendants: true }], ngImport: i0, template: "<!--\n\n Copyright (C) 2025 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<h5>EL Assistant</h5>\n\n<div class=\"aiRequestForm\" [formGroup]=\"aiRequestFormGroup\">\n <mat-form-field class=\"example-full-width\">\n <mat-label>Describe the EL you want to generate</mat-label>\n <textarea #promptArea matInput formControlName=\"prompt\"></textarea>\n <mat-hint [align]=\"'end'\">{{ prompt?.value?.length || 0 }}/{{ maxPromptSize }}</mat-hint>\n </mat-form-field>\n\n @if (prompt?.touched && prompt?.hasError('maxlength')) {\n <gio-banner-error> Your prompt is too long. It should be less than {{ maxPromptSize }} characters. </gio-banner-error>\n }\n\n <button mat-raised-button [disabled]=\"aiRequestFormGroup.invalid\" (click)=\"sendPromptToIA()\">\n <mat-icon svgIcon=\"gio:magic-wand\" />\n Ask Newt AI\n </button>\n</div>\n\n<div class=\"ai-card__content__response\">\n @if (responseState() === 'loading') {\n <mat-progress-bar mode=\"indeterminate\" class=\"loading\" />\n }\n @if (el(); as expression) {\n <gio-banner-success>\n <code gioClipboardCopyWrapper [contentToCopy]=\"expression\" [alwaysVisible]=\"true\">{{ expression }}</code>\n </gio-banner-success>\n @if (showFeedback()) {\n <gio-banner-info>\n <div class=\"feedback-container\">\n <span class=\"feedback-question\">Was the answer helpful?</span>\n <div class=\"feedback-buttons\">\n <button\n mat-icon-button\n (click)=\"submitFeedback('helpful')\"\n matTooltip=\"Yes, this was helpful\"\n class=\"feedback-button feedback-button--helpful\"\n >\n <mat-icon svgIcon=\"gio:thumbs-up\"></mat-icon>\n </button>\n <button\n mat-icon-button\n (click)=\"submitFeedback('not-helpful')\"\n matTooltip=\"No, this was not helpful\"\n class=\"feedback-button feedback-button--not-helpful\"\n >\n <mat-icon svgIcon=\"gio:thumbs-down\"></mat-icon>\n </button>\n </div>\n </div>\n </gio-banner-info>\n }\n }\n @if (errorMessage(); as message) {\n <gio-banner-error>\n Error\n <span gioBannerBody> {{ message }} </span>\n </gio-banner-error>\n }\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)}:host{display:flex;width:400px;flex-direction:column;padding:12px;border-radius:4px;background-color:#fff;box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}.aiRequestForm{display:flex;flex-direction:column;gap:8px}.banner__wrapper__title{width:100%}.banner-success-content{display:flex;flex-direction:row;align-items:center;justify-content:space-between}code{overflow-wrap:anywhere}gio-banner-error{overflow-wrap:anywhere}.feedback-container{display:flex;width:100%;align-items:center;justify-content:space-between;gap:16px}.feedback-question{flex:1}.feedback-buttons{display:flex;align-items:center;gap:8px}.feedback-button{transition:all .2s ease-in-out}.feedback-button:hover{transform:scale(1.1)}.feedback-button--helpful{color:#22b374}.feedback-button--helpful:hover{background-color:#8dffce66}.feedback-button--not-helpful{color:#dd1d1f}.feedback-button--not-helpful:hover{background-color:#ffcfd066}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatProgressBarModule }, { kind: "component", type: i3.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: GioIconsModule }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: GioBannerModule }, { kind: "component", type: i6.GioBannerErrorComponent, selector: "gio-banner-error" }, { kind: "component", type: i6.GioBannerInfoComponent, selector: "gio-banner-info" }, { kind: "component", type: i6.GioBannerSuccessComponent, selector: "gio-banner-success" }, { kind: "directive", type: i6.GioBannerBodyDirective, selector: "[gioBannerBody]" }, { kind: "ngmodule", type: GioClipboardModule }, { kind: "component", type: i7.GioClipboardCopyWrapperComponent, selector: "[gioClipboardCopyWrapper]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
91
- }
92
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: GioElPromptComponent, decorators: [{
93
- type: Component,
94
- args: [{ selector: 'gio-el-prompt', imports: [
95
- ReactiveFormsModule,
96
- MatFormFieldModule,
97
- MatInput,
98
- MatButton,
99
- MatProgressBarModule,
100
- MatTooltipModule,
101
- MatIconButton,
102
- GioIconsModule,
103
- GioBannerModule,
104
- GioClipboardModule,
105
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\n\n Copyright (C) 2025 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<h5>EL Assistant</h5>\n\n<div class=\"aiRequestForm\" [formGroup]=\"aiRequestFormGroup\">\n <mat-form-field class=\"example-full-width\">\n <mat-label>Describe the EL you want to generate</mat-label>\n <textarea #promptArea matInput formControlName=\"prompt\"></textarea>\n <mat-hint [align]=\"'end'\">{{ prompt?.value?.length || 0 }}/{{ maxPromptSize }}</mat-hint>\n </mat-form-field>\n\n @if (prompt?.touched && prompt?.hasError('maxlength')) {\n <gio-banner-error> Your prompt is too long. It should be less than {{ maxPromptSize }} characters. </gio-banner-error>\n }\n\n <button mat-raised-button [disabled]=\"aiRequestFormGroup.invalid\" (click)=\"sendPromptToIA()\">\n <mat-icon svgIcon=\"gio:magic-wand\" />\n Ask Newt AI\n </button>\n</div>\n\n<div class=\"ai-card__content__response\">\n @if (responseState() === 'loading') {\n <mat-progress-bar mode=\"indeterminate\" class=\"loading\" />\n }\n @if (el(); as expression) {\n <gio-banner-success>\n <code gioClipboardCopyWrapper [contentToCopy]=\"expression\" [alwaysVisible]=\"true\">{{ expression }}</code>\n </gio-banner-success>\n @if (showFeedback()) {\n <gio-banner-info>\n <div class=\"feedback-container\">\n <span class=\"feedback-question\">Was the answer helpful?</span>\n <div class=\"feedback-buttons\">\n <button\n mat-icon-button\n (click)=\"submitFeedback('helpful')\"\n matTooltip=\"Yes, this was helpful\"\n class=\"feedback-button feedback-button--helpful\"\n >\n <mat-icon svgIcon=\"gio:thumbs-up\"></mat-icon>\n </button>\n <button\n mat-icon-button\n (click)=\"submitFeedback('not-helpful')\"\n matTooltip=\"No, this was not helpful\"\n class=\"feedback-button feedback-button--not-helpful\"\n >\n <mat-icon svgIcon=\"gio:thumbs-down\"></mat-icon>\n </button>\n </div>\n </div>\n </gio-banner-info>\n }\n }\n @if (errorMessage(); as message) {\n <gio-banner-error>\n Error\n <span gioBannerBody> {{ message }} </span>\n </gio-banner-error>\n }\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)}:host{display:flex;width:400px;flex-direction:column;padding:12px;border-radius:4px;background-color:#fff;box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}.aiRequestForm{display:flex;flex-direction:column;gap:8px}.banner__wrapper__title{width:100%}.banner-success-content{display:flex;flex-direction:row;align-items:center;justify-content:space-between}code{overflow-wrap:anywhere}gio-banner-error{overflow-wrap:anywhere}.feedback-container{display:flex;width:100%;align-items:center;justify-content:space-between;gap:16px}.feedback-question{flex:1}.feedback-buttons{display:flex;align-items:center;gap:8px}.feedback-button{transition:all .2s ease-in-out}.feedback-button:hover{transform:scale(1.1)}.feedback-button--helpful{color:#22b374}.feedback-button--helpful:hover{background-color:#8dffce66}.feedback-button--not-helpful{color:#dd1d1f}.feedback-button--not-helpful:hover{background-color:#ffcfd066}\n"] }]
106
- }], propDecorators: { responseState: [{
107
- type: Input
108
- }], myInput: [{
109
- type: ViewChild,
110
- args: ['promptArea']
111
- }] } });
112
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLWVsLXByb21wdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1wYXJ0aWNsZXMtYW5ndWxhci9zcmMvbGliL2dpby1lbC9naW8tZWwtcHJvbXB0L2dpby1lbC1wcm9tcHQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktcGFydGljbGVzLWFuZ3VsYXIvc3JjL2xpYi9naW8tZWwvZ2lvLWVsLXByb21wdC9naW8tZWwtcHJvbXB0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0gsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxFQUNMLE1BQU0sRUFHTixRQUFRLEVBQ1IsTUFBTSxFQUNOLFNBQVMsR0FHVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxtQkFBbUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFtQixhQUFhLEVBQUUsZUFBZSxFQUFxQixNQUFNLDJCQUEyQixDQUFDO0FBQy9HLE9BQU8sRUFBRSxjQUFjLEVB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LENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7SUFFTSxjQUFjLENBQUMsUUFBbUM7UUFDdkQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDakMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQzdCLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDbkQsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxpQkFBaUIsSUFBSSxTQUFTLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUN0RixDQUFDO0lBQ0gsQ0FBQzs4R0E3RFUsb0JBQW9CO2tHQUFwQixvQkFBb0IsNE5DL0RqQyw2MUZBNkVBLG1vQ0QzQkksbUJBQW1CLG0yQkFDbkIsa0JBQWtCLG1ZQUNsQixRQUFRLHdWQUNSLFNBQVMsZ0xBQ1Qsb0JBQW9CLHdOQUNwQixnQkFBZ0IsNlRBQ2hCLGFBQWEsNEZBQ2IsY0FBYyxtTEFDZCxlQUFlLDBYQUNmLGtCQUFrQjs7MkZBSVQsb0JBQW9CO2tCQWxCaEMsU0FBUzsrQkFDRSxlQUFlLFdBR2hCO3dCQUNQLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQixRQUFRO3dCQUNSLFNBQVM7d0JBQ1Qsb0JBQW9CO3dCQUNwQixnQkFBZ0I7d0JBQ2hCLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCxlQUFlO3dCQUNmLGtCQUFrQjtxQkFDbkIsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU07OEJBWXhDLGFBQWE7c0JBRG5CLEtBQUs7Z0JBRTBCLE9BQU87c0JBQXRDLFNBQVM7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMjUgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgc2lnbmFsLFxuICBXcml0YWJsZVNpZ25hbCxcbiAgU2lnbmFsLFxuICBjb21wdXRlZCxcbiAgaW5qZWN0LFxuICBWaWV3Q2hpbGQsXG4gIEVsZW1lbnRSZWYsXG4gIEFmdGVyVmlld0luaXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgTWF0SW5wdXQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBNYXRCdXR0b24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NCYXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1iYXInO1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuaW1wb3J0IHsgTWF0SWNvbkJ1dHRvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5cbmltcG9ydCB7IEdpb0VsU2VydmljZSB9IGZyb20gJy4uL2dpby1lbC5zZXJ2aWNlJztcbmltcG9ydCB7IEVsQWlQcm9tcHRTdGF0ZSwgaXNQcm9tcHRFcnJvciwgaXNQcm9tcHRTdWNjZXNzLCBGZWVkYmFja1JlcXVlc3RJZCB9IGZyb20gJy4uL21vZGVscy9FbEFpUHJvbXB0U3RhdGUnO1xuaW1wb3J0IHsgR2lvSWNvbnNNb2R1bGUgfSBmcm9tICcuLi8uLi9naW8taWNvbnMvZ2lvLWljb25zLm1vZHVsZSc7XG5pbXBvcnQgeyBHaW9CYW5uZXJNb2R1bGUgfSBmcm9tICcuLi8uLi9naW8tYmFubmVyL2dpby1iYW5uZXIubW9kdWxlJztcbmltcG9ydCB7IEdpb0NsaXBib2FyZE1vZHVsZSB9IGZyb20gJy4uLy4uL2dpby1jbGlwYm9hcmQvZ2lvLWNsaXBib2FyZC5tb2R1bGUnO1xuXG50eXBlIFByb21wdFN0YXRlID0gJ2xvYWRpbmcnIHwgRWxBaVByb21wdFN0YXRlO1xudHlwZSBGZWVkYmFja1N0YXRlID0gJ2hlbHBmdWwnIHwgJ25vdC1oZWxwZnVsJyB8IG51bGw7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2dpby1lbC1wcm9tcHQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZ2lvLWVsLXByb21wdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9naW8tZWwtcHJvbXB0LmNvbXBvbmVudC5zY3NzJyxcbiAgaW1wb3J0czogW1xuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgIE1hdElucHV0LFxuICAgIE1hdEJ1dHRvbixcbiAgICBNYXRQcm9ncmVzc0Jhck1vZHVsZSxcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxuICAgIE1hdEljb25CdXR0b24sXG4gICAgR2lvSWNvbnNNb2R1bGUsXG4gICAgR2lvQmFubmVyTW9kdWxlLFxuICAgIEdpb0NsaXBib2FyZE1vZHVsZSxcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEdpb0VsUHJvbXB0Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIHB1YmxpYyByZWFkb25seSBtYXhQcm9tcHRTaXplID0gMjU2O1xuICBwdWJsaWMgYWlSZXF1ZXN0Rm9ybUdyb3VwOiBGb3JtR3JvdXA8e1xuICAgIHByb21wdDogRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbD47XG4gIH0+ID0gbmV3IEZvcm1Hcm91cCh7XG4gICAgcHJvbXB0OiBuZXcgRm9ybUNvbnRyb2woJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1heExlbmd0aCh0aGlzLm1heFByb21wdFNpemUpXSksXG4gIH0pO1xuICBwdWJsaWMgZWxTZXJ2aWNlOiBHaW9FbFNlcnZpY2UgPSBpbmplY3QoR2lvRWxTZXJ2aWNlKTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcmVzcG9uc2VTdGF0ZTogV3JpdGFibGVTaWduYWw8UHJvbXB0U3RhdGUgfCBudWxsPiA9IHNpZ25hbChudWxsKTtcbiAgQFZpZXdDaGlsZCgncHJvbXB0QXJlYScpIHB1YmxpYyBteUlucHV0ITogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICBwdWJsaWMgZmVlZGJhY2tTdGF0ZTogV3JpdGFibGVTaWduYWw8RmVlZGJhY2tTdGF0ZT4gPSBzaWduYWwobnVsbCk7XG5cbiAgcHVibGljIGdldCBwcm9tcHQoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWlSZXF1ZXN0Rm9ybUdyb3VwLmdldCgncHJvbXB0Jyk7XG4gIH1cbiAgcHVibGljIGVsOiBTaWduYWw8c3RyaW5nIHwgbnVsbD4gPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3Qgc3RhdGUgPSB0aGlzLnJlc3BvbnNlU3RhdGUoKTtcbiAgICByZXR1cm4gaXNQcm9tcHRTdWNjZXNzKHN0YXRlKSA/IHN0YXRlLmVsIDogbnVsbDtcbiAgfSk7XG5cbiAgcHVibGljIGZlZWRiYWNrUmVxdWVzdElkOiBTaWduYWw8RmVlZGJhY2tSZXF1ZXN0SWQgfCBudWxsPiA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBzdGF0ZSA9IHRoaXMucmVzcG9uc2VTdGF0ZSgpO1xuICAgIHJldHVybiBpc1Byb21wdFN1Y2Nlc3Moc3RhdGUpID8gc3RhdGUuZmVlZGJhY2tSZXF1ZXN0SWQgfHwgbnVsbCA6IG51bGw7XG4gIH0pO1xuICBwdWJsaWMgZXJyb3JNZXNzYWdlOiBTaWduYWw8c3RyaW5nIHwgbnVsbD4gPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3Qgc3RhdGUgPSB0aGlzLnJlc3BvbnNlU3RhdGUoKTtcbiAgICByZXR1cm4gaXNQcm9tcHRFcnJvcihzdGF0ZSkgPyBzdGF0ZS5tZXNzYWdlIDogbnVsbDtcbiAgfSk7XG5cbiAgcHVibGljIHNob3dGZWVkYmFjazogU2lnbmFsPGJvb2xlYW4+ID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IHN0YXRlID0gdGhpcy5yZXNwb25zZVN0YXRlKCk7XG4gICAgY29uc3QgZmVlZGJhY2sgPSB0aGlzLmZlZWRiYWNrU3RhdGUoKTtcbiAgICByZXR1cm4gaXNQcm9tcHRTdWNjZXNzKHN0YXRlKSAmJiBmZWVkYmFjayA9PT0gbnVsbDtcbiAgfSk7XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMubXlJbnB1dC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfSwgMTAwMCk7XG4gIH1cblxuICBwdWJsaWMgc2VuZFByb21wdFRvSUEoKSB7XG4gICAgY29uc3QgcHJvbXB0ID0gdGhpcy5haVJlcXVlc3RGb3JtR3JvdXAuZ2V0KCdwcm9tcHQnKT8udmFsdWU7XG4gICAgaWYgKCFwcm9tcHQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5yZXNwb25zZVN0YXRlLnNldCgnbG9hZGluZycpO1xuICAgIHRoaXMuZmVlZGJhY2tTdGF0ZS5zZXQobnVsbCk7XG4gICAgdGhpcy5lbFNlcnZpY2UucHJvbXB0KHByb21wdCkuc3Vic2NyaWJlKHJlcGx5ID0+IHRoaXMucmVzcG9uc2VTdGF0ZS5zZXQocmVwbHkpKTtcbiAgfVxuXG4gIHB1YmxpYyBzdWJtaXRGZWVkYmFjayhmZWVkYmFjazogJ2hlbHBmdWwnIHwgJ25vdC1oZWxwZnVsJykge1xuICAgIHRoaXMuZmVlZGJhY2tTdGF0ZS5zZXQoZmVlZGJhY2spO1xuICAgIGNvbnN0IGV4cHJlc3Npb24gPSB0aGlzLmVsKCk7XG4gICAgY29uc3QgZmVlZGJhY2tSZXF1ZXN0SWQgPSB0aGlzLmZlZWRiYWNrUmVxdWVzdElkKCk7XG4gICAgaWYgKGV4cHJlc3Npb24pIHtcbiAgICAgIHRoaXMuZWxTZXJ2aWNlLnN1Ym1pdEZlZWRiYWNrKGZlZWRiYWNrLCBmZWVkYmFja1JlcXVlc3RJZCB8fCB1bmRlZmluZWQpLnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxufVxuIiwiPCEtLVxuXG4gICAgQ29weXJpZ2h0IChDKSAyMDI1IFRoZSBHcmF2aXRlZSB0ZWFtIChodHRwOi8vZ3Jhdml0ZWUuaW8pXG5cbiAgICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICAgIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cblxuLS0+XG48aDU+RUwgQXNzaXN0YW50PC9oNT5cblxuPGRpdiBjbGFzcz1cImFpUmVxdWVzdEZvcm1cIiBbZm9ybUdyb3VwXT1cImFpUmVxdWVzdEZvcm1Hcm91cFwiPlxuICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJleGFtcGxlLWZ1bGwtd2lkdGhcIj5cbiAgICA8bWF0LWxhYmVsPkRlc2NyaWJlIHRoZSBFTCB5b3Ugd2FudCB0byBnZW5lcmF0ZTwvbWF0LWxhYmVsPlxuICAgIDx0ZXh0YXJlYSAjcHJvbXB0QXJlYSBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJwcm9tcHRcIj48L3RleHRhcmVhPlxuICAgIDxtYXQtaGludCBbYWxpZ25dPVwiJ2VuZCdcIj57eyBwcm9tcHQ/LnZhbHVlPy5sZW5ndGggfHwgMCB9fS97eyBtYXhQcm9tcHRTaXplIH19PC9tYXQtaGludD5cbiAgPC9tYXQtZm9ybS1maWVsZD5cblxuICBAaWYgKHByb21wdD8udG91Y2hlZCAmJiBwcm9tcHQ/Lmhhc0Vycm9yKCdtYXhsZW5ndGgnKSkge1xuICAgIDxnaW8tYmFubmVyLWVycm9yPiBZb3VyIHByb21wdCBpcyB0b28gbG9uZy4gSXQgc2hvdWxkIGJlIGxlc3MgdGhhbiB7eyBtYXhQcm9tcHRTaXplIH19IGNoYXJhY3RlcnMuIDwvZ2lvLWJhbm5lci1lcnJvcj5cbiAgfVxuXG4gIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gW2Rpc2FibGVkXT1cImFpUmVxdWVzdEZvcm1Hcm91cC5pbnZhbGlkXCIgKGNsaWNrKT1cInNlbmRQcm9tcHRUb0lBKClcIj5cbiAgICA8bWF0LWljb24gc3ZnSWNvbj1cImdpbzptYWdpYy13YW5kXCIgLz5cbiAgICBBc2sgTmV3dCBBSVxuICA8L2J1dHRvbj5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwiYWktY2FyZF9fY29udGVudF9fcmVzcG9uc2VcIj5cbiAgQGlmIChyZXNwb25zZVN0YXRlKCkgPT09ICdsb2FkaW5nJykge1xuICAgIDxtYXQtcHJvZ3Jlc3MtYmFyIG1vZGU9XCJpbmRldGVybWluYXRlXCIgY2xhc3M9XCJsb2FkaW5nXCIgLz5cbiAgfVxuICBAaWYgKGVsKCk7IGFzIGV4cHJlc3Npb24pIHtcbiAgICA8Z2lvLWJhbm5lci1zdWNjZXNzPlxuICAgICAgPGNvZGUgZ2lvQ2xpcGJvYXJkQ29weVdyYXBwZXIgW2NvbnRlbnRUb0NvcHldPVwiZXhwcmVzc2lvblwiIFthbHdheXNWaXNpYmxlXT1cInRydWVcIj57eyBleHByZXNzaW9uIH19PC9jb2RlPlxuICAgIDwvZ2lvLWJhbm5lci1zdWNjZXNzPlxuICAgIEBpZiAoc2hvd0ZlZWRiYWNrKCkpIHtcbiAgICAgIDxnaW8tYmFubmVyLWluZm8+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmZWVkYmFjay1jb250YWluZXJcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImZlZWRiYWNrLXF1ZXN0aW9uXCI+V2FzIHRoZSBhbnN3ZXIgaGVscGZ1bD88L3NwYW4+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZlZWRiYWNrLWJ1dHRvbnNcIj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgIChjbGljayk9XCJzdWJtaXRGZWVkYmFjaygnaGVscGZ1bCcpXCJcbiAgICAgICAgICAgICAgbWF0VG9vbHRpcD1cIlllcywgdGhpcyB3YXMgaGVscGZ1bFwiXG4gICAgICAgICAgICAgIGNsYXNzPVwiZmVlZGJhY2stYnV0dG9uIGZlZWRiYWNrLWJ1dHRvbi0taGVscGZ1bFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBzdmdJY29uPVwiZ2lvOnRodW1icy11cFwiPjwvbWF0LWljb24+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgIChjbGljayk9XCJzdWJtaXRGZWVkYmFjaygnbm90LWhlbHBmdWwnKVwiXG4gICAgICAgICAgICAgIG1hdFRvb2x0aXA9XCJObywgdGhpcyB3YXMgbm90IGhlbHBmdWxcIlxuICAgICAgICAgICAgICBjbGFzcz1cImZlZWRiYWNrLWJ1dHRvbiBmZWVkYmFjay1idXR0b24tLW5vdC1oZWxwZnVsXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIHN2Z0ljb249XCJnaW86dGh1bWJzLWRvd25cIj48L21hdC1pY29uPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9naW8tYmFubmVyLWluZm8+XG4gICAgfVxuICB9XG4gIEBpZiAoZXJyb3JNZXNzYWdlKCk7IGFzIG1lc3NhZ2UpIHtcbiAgICA8Z2lvLWJhbm5lci1lcnJvcj5cbiAgICAgIEVycm9yXG4gICAgICA8c3BhbiBnaW9CYW5uZXJCb2R5PiB7eyBtZXNzYWdlIH19IDwvc3Bhbj5cbiAgICA8L2dpby1iYW5uZXItZXJyb3I+XG4gIH1cbjwvZGl2PlxuIl19
@@ -1,60 +0,0 @@
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 { Injectable } from '@angular/core';
17
- import { of } from 'rxjs';
18
- import * as i0 from "@angular/core";
19
- export class GioElService {
20
- constructor() {
21
- this._promptCallback = undefined;
22
- this._feedbackCallback = undefined;
23
- }
24
- prompt(prompt) {
25
- if (this._promptCallback === undefined) {
26
- return of({
27
- message: `Error: no handler given (input prompt: ${prompt})`,
28
- });
29
- }
30
- return this._promptCallback(prompt);
31
- }
32
- set promptCallback(value) {
33
- this._promptCallback = value;
34
- }
35
- submitFeedback(feedback, feedbackRequestId) {
36
- const feedbackSubmission = {
37
- feedback,
38
- feedbackRequestId,
39
- };
40
- if (this._feedbackCallback === undefined) {
41
- return of(undefined);
42
- }
43
- return this._feedbackCallback(feedbackSubmission);
44
- }
45
- set feedbackCallback(value) {
46
- this._feedbackCallback = value;
47
- }
48
- isEnabled() {
49
- return this._promptCallback !== undefined;
50
- }
51
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: GioElService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
52
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: GioElService, providedIn: 'root' }); }
53
- }
54
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: GioElService, decorators: [{
55
- type: Injectable,
56
- args: [{
57
- providedIn: 'root',
58
- }]
59
- }] });
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLWVsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1wYXJ0aWNsZXMtYW5ndWxhci9zcmMvbGliL2dpby1lbC9naW8tZWwuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFjdEMsTUFBTSxPQUFPLFlBQVk7SUFIekI7UUFJVSxvQkFBZSxHQUFxRCxTQUFTLENBQUM7UUFDOUUsc0JBQWlCLEdBQWtFLFNBQVMsQ0FBQztLQWtDdEc7SUFoQ1EsTUFBTSxDQUFDLE1BQWM7UUFDMUIsSUFBSSxJQUFJLENBQUMsZUFBZSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3ZDLE9BQU8sRUFBRSxDQUFDO2dCQUNSLE9BQU8sRUFBRSwwQ0FBMEMsTUFBTSxHQUFHO2FBQzdELENBQUMsQ0FBQztRQUNMLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQVcsY0FBYyxDQUFDLEtBQXNEO1FBQzlFLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO0lBQy9CLENBQUM7SUFFTSxjQUFjLENBQUMsUUFBc0IsRUFBRSxpQkFBcUM7UUFDakYsTUFBTSxrQkFBa0IsR0FBdUI7WUFDN0MsUUFBUTtZQUNSLGlCQUFpQjtTQUNsQixDQUFDO1FBRUYsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDekMsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdkIsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELElBQVcsZ0JBQWdCLENBQUMsS0FBbUU7UUFDN0YsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQztJQUNqQyxDQUFDO0lBRU0sU0FBUztRQUNkLE9BQU8sSUFBSSxDQUFDLGVBQWUsS0FBSyxTQUFTLENBQUM7SUFDNUMsQ0FBQzs4R0FuQ1UsWUFBWTtrSEFBWixZQUFZLGNBRlgsTUFBTTs7MkZBRVAsWUFBWTtrQkFIeEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChDKSAyMDI0IFRoZSBHcmF2aXRlZSB0ZWFtIChodHRwOi8vZ3Jhdml0ZWUuaW8pXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgRWxBaVByb21wdFN0YXRlLCBGZWVkYmFja1JlcXVlc3RJZCB9IGZyb20gJy4vbW9kZWxzL0VsQWlQcm9tcHRTdGF0ZSc7XG5cbmV4cG9ydCB0eXBlIEZlZWRiYWNrVHlwZSA9ICdoZWxwZnVsJyB8ICdub3QtaGVscGZ1bCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmVlZGJhY2tTdWJtaXNzaW9uIHtcbiAgZmVlZGJhY2s6IEZlZWRiYWNrVHlwZTtcbiAgZmVlZGJhY2tSZXF1ZXN0SWQ/OiBGZWVkYmFja1JlcXVlc3RJZDtcbn1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEdpb0VsU2VydmljZSB7XG4gIHByaXZhdGUgX3Byb21wdENhbGxiYWNrPzogKHByb21wdDogc3RyaW5nKSA9PiBPYnNlcnZhYmxlPEVsQWlQcm9tcHRTdGF0ZT4gPSB1bmRlZmluZWQ7XG4gIHByaXZhdGUgX2ZlZWRiYWNrQ2FsbGJhY2s/OiAoZmVlZGJhY2tTdWJtaXNzaW9uOiBGZWVkYmFja1N1Ym1pc3Npb24pID0+IE9ic2VydmFibGU8dm9pZD4gPSB1bmRlZmluZWQ7XG5cbiAgcHVibGljIHByb21wdChwcm9tcHQ6IHN0cmluZyk6IE9ic2VydmFibGU8RWxBaVByb21wdFN0YXRlPiB7XG4gICAgaWYgKHRoaXMuX3Byb21wdENhbGxiYWNrID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBvZih7XG4gICAgICAgIG1lc3NhZ2U6IGBFcnJvcjogbm8gaGFuZGxlciBnaXZlbiAoaW5wdXQgcHJvbXB0OiAke3Byb21wdH0pYCxcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fcHJvbXB0Q2FsbGJhY2socHJvbXB0KTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgcHJvbXB0Q2FsbGJhY2sodmFsdWU6IChwcm9tcHQ6IHN0cmluZykgPT4gT2JzZXJ2YWJsZTxFbEFpUHJvbXB0U3RhdGU+KSB7XG4gICAgdGhpcy5fcHJvbXB0Q2FsbGJhY2sgPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBzdWJtaXRGZWVkYmFjayhmZWVkYmFjazogRmVlZGJhY2tUeXBlLCBmZWVkYmFja1JlcXVlc3RJZD86IEZlZWRiYWNrUmVxdWVzdElkKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgY29uc3QgZmVlZGJhY2tTdWJtaXNzaW9uOiBGZWVkYmFja1N1Ym1pc3Npb24gPSB7XG4gICAgICBmZWVkYmFjayxcbiAgICAgIGZlZWRiYWNrUmVxdWVzdElkLFxuICAgIH07XG5cbiAgICBpZiAodGhpcy5fZmVlZGJhY2tDYWxsYmFjayA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gb2YodW5kZWZpbmVkKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2ZlZWRiYWNrQ2FsbGJhY2soZmVlZGJhY2tTdWJtaXNzaW9uKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgZmVlZGJhY2tDYWxsYmFjayh2YWx1ZTogKGZlZWRiYWNrU3VibWlzc2lvbjogRmVlZGJhY2tTdWJtaXNzaW9uKSA9PiBPYnNlcnZhYmxlPHZvaWQ+KSB7XG4gICAgdGhpcy5fZmVlZGJhY2tDYWxsYmFjayA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGlzRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fcHJvbXB0Q2FsbGJhY2sgIT09IHVuZGVmaW5lZDtcbiAgfVxufVxuIl19
@@ -1,20 +0,0 @@
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
- export * from './gio-el-prompt/gio-el-prompt.component';
17
- export * from './gio-el-assistant/gio-el-assistant.component';
18
- export * from './models/ElAiPromptState';
19
- export * from './gio-el.service';
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1wYXJ0aWNsZXMtYW5ndWxhci9zcmMvbGliL2dpby1lbC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChDKSAyMDI0IFRoZSBHcmF2aXRlZSB0ZWFtIChodHRwOi8vZ3Jhdml0ZWUuaW8pXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2dpby1lbC1wcm9tcHQvZ2lvLWVsLXByb21wdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9naW8tZWwtYXNzaXN0YW50L2dpby1lbC1hc3Npc3RhbnQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL0VsQWlQcm9tcHRTdGF0ZSc7XG5leHBvcnQgKiBmcm9tICcuL2dpby1lbC5zZXJ2aWNlJztcbiJdfQ==
@@ -1,23 +0,0 @@
1
- /*
2
- * Copyright (C) 2025 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 { get } from 'lodash';
17
- export function isPromptSuccess(value) {
18
- return typeof value === 'object' && value !== null && typeof get(value, 'el') === 'string';
19
- }
20
- export function isPromptError(value) {
21
- return typeof value === 'object' && value !== null && typeof get(value, 'message') === 'string';
22
- }
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWxBaVByb21wdFN0YXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktcGFydGljbGVzLWFuZ3VsYXIvc3JjL2xpYi9naW8tZWwvbW9kZWxzL0VsQWlQcm9tcHRTdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFjN0IsTUFBTSxVQUFVLGVBQWUsQ0FBQyxLQUFjO0lBQzVDLE9BQU8sT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssS0FBSyxJQUFJLElBQUksT0FBTyxHQUFHLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLFFBQVEsQ0FBQztBQUM3RixDQUFDO0FBTUQsTUFBTSxVQUFVLGFBQWEsQ0FBQyxLQUFjO0lBQzFDLE9BQU8sT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssS0FBSyxJQUFJLElBQUksT0FBTyxHQUFHLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLFFBQVEsQ0FBQztBQUNsRyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoQykgMjAyNSBUaGUgR3Jhdml0ZWUgdGVhbSAoaHR0cDovL2dyYXZpdGVlLmlvKVxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7IGdldCB9IGZyb20gJ2xvZGFzaCc7XG5leHBvcnQgdHlwZSBFbEFpUHJvbXB0U3RhdGUgPSBQcm9tcHRTdWNjZXNzIHwgUHJvbXB0RXJyb3I7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvbXB0U3VjY2VzcyB7XG4gIGVsOiBzdHJpbmc7XG4gIGZlZWRiYWNrUmVxdWVzdElkPzogRmVlZGJhY2tSZXF1ZXN0SWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmVlZGJhY2tSZXF1ZXN0SWQge1xuICBjaGF0SWQ6IHN0cmluZztcbiAgdXNlck1lc3NhZ2VJZDogc3RyaW5nO1xuICBhZ2VudE1lc3NhZ2VJZDogc3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNQcm9tcHRTdWNjZXNzKHZhbHVlOiB1bmtub3duKTogdmFsdWUgaXMgUHJvbXB0U3VjY2VzcyB7XG4gIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmIHZhbHVlICE9PSBudWxsICYmIHR5cGVvZiBnZXQodmFsdWUsICdlbCcpID09PSAnc3RyaW5nJztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQcm9tcHRFcnJvciB7XG4gIG1lc3NhZ2U6IHN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzUHJvbXB0RXJyb3IodmFsdWU6IHVua25vd24pOiB2YWx1ZSBpcyBQcm9tcHRFcnJvciB7XG4gIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmIHZhbHVlICE9PSBudWxsICYmIHR5cGVvZiBnZXQodmFsdWUsICdtZXNzYWdlJykgPT09ICdzdHJpbmcnO1xufVxuIl19
@@ -1,20 +0,0 @@
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
- export * from './gio-el-prompt/gio-el-prompt.component';
17
- export * from './gio-el-assistant/gio-el-assistant.component';
18
- export * from './models/ElAiPromptState';
19
- export * from './gio-el.service';
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLXBhcnRpY2xlcy1hbmd1bGFyL3NyYy9saWIvZ2lvLWVsL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoQykgMjAyNCBUaGUgR3Jhdml0ZWUgdGVhbSAoaHR0cDovL2dyYXZpdGVlLmlvKVxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9naW8tZWwtcHJvbXB0L2dpby1lbC1wcm9tcHQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZ2lvLWVsLWFzc2lzdGFudC9naW8tZWwtYXNzaXN0YW50LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9FbEFpUHJvbXB0U3RhdGUnO1xuZXhwb3J0ICogZnJvbSAnLi9naW8tZWwuc2VydmljZSc7XG4iXX0=
@@ -1,30 +0,0 @@
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 } from '@angular/core';
17
- import * as i0 from "@angular/core";
18
- export class GioFormCronHintComponent {
19
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: GioFormCronHintComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
20
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.4", type: GioFormCronHintComponent, isStandalone: false, selector: "gio-form-cron-hint", ngImport: i0, template: `<ng-content></ng-content>`, isInline: true }); }
21
- }
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: GioFormCronHintComponent, decorators: [{
23
- type: Component,
24
- args: [{
25
- selector: 'gio-form-cron-hint',
26
- template: `<ng-content></ng-content>`,
27
- standalone: false,
28
- }]
29
- }] });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLWZvcm0tY3Jvbi1oaW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLXBhcnRpY2xlcy1hbmd1bGFyL3NyYy9saWIvZ2lvLWZvcm0tY3Jvbi9naW8tZm9ybS1jcm9uLWhpbnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0gsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFPMUMsTUFBTSxPQUFPLHdCQUF3Qjs4R0FBeEIsd0JBQXdCO2tHQUF4Qix3QkFBd0IsK0VBSHpCLDJCQUEyQjs7MkZBRzFCLHdCQUF3QjtrQkFMcEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxVQUFVLEVBQUUsS0FBSztpQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChDKSAyMDE1IFRoZSBHcmF2aXRlZSB0ZWFtIChodHRwOi8vZ3Jhdml0ZWUuaW8pXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2dpby1mb3JtLWNyb24taGludCcsXG4gIHRlbXBsYXRlOiBgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PmAsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxufSlcbmV4cG9ydCBjbGFzcyBHaW9Gb3JtQ3JvbkhpbnRDb21wb25lbnQge31cbiJdfQ==
@@ -1,30 +0,0 @@
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 } from '@angular/core';
17
- import * as i0 from "@angular/core";
18
- export class GioFormCronLabelComponent {
19
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: GioFormCronLabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
20
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.4", type: GioFormCronLabelComponent, isStandalone: false, selector: "gio-form-cron-label", ngImport: i0, template: `<ng-content></ng-content>`, isInline: true }); }
21
- }
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: GioFormCronLabelComponent, decorators: [{
23
- type: Component,
24
- args: [{
25
- selector: 'gio-form-cron-label',
26
- template: `<ng-content></ng-content>`,
27
- standalone: false,
28
- }]
29
- }] });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLWZvcm0tY3Jvbi1sYWJlbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1wYXJ0aWNsZXMtYW5ndWxhci9zcmMvbGliL2dpby1mb3JtLWNyb24vZ2lvLWZvcm0tY3Jvbi1sYWJlbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU8xQyxNQUFNLE9BQU8seUJBQXlCOzhHQUF6Qix5QkFBeUI7a0dBQXpCLHlCQUF5QixnRkFIMUIsMkJBQTJCOzsyRkFHMUIseUJBQXlCO2tCQUxyQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLFVBQVUsRUFBRSxLQUFLO2lCQUNsQiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ2lvLWZvcm0tY3Jvbi1sYWJlbCcsXG4gIHRlbXBsYXRlOiBgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PmAsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxufSlcbmV4cG9ydCBjbGFzcyBHaW9Gb3JtQ3JvbkxhYmVsQ29tcG9uZW50IHt9XG4iXX0=
@@ -1,218 +0,0 @@
1
- /*
2
- * Copyright (C) 2023 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 Cronstrue from 'cronstrue/i18n';
17
- import { isEmpty } from 'lodash';
18
- export const CRON_DISPLAY_MODES = ['secondly', 'minutely', 'hourly', 'daily', 'weekly', 'monthly', 'custom'];
19
- const DISPLAY_MODE_LIST = [
20
- {
21
- mode: 'secondly',
22
- default: '*/1 * * * * *',
23
- regex: /^(\*\/\d+\s)(\*\s){4}\*/,
24
- },
25
- {
26
- mode: 'minutely',
27
- default: '0 */1 * * * *',
28
- regex: /^0\s\*\/\d+\s(\*\s){3}\*$/,
29
- },
30
- {
31
- mode: 'hourly',
32
- default: '0 0 */1 * * *',
33
- regex: /^0\s\d+\s\*\/\d+\s(\*\s){2}\*$/,
34
- },
35
- {
36
- mode: 'daily',
37
- default: '0 0 0 */1 * *',
38
- regex: /^0\s\d+\s\d+\s\*\/\d+\s\*\s\*$/,
39
- },
40
- {
41
- mode: 'weekly',
42
- default: '0 0 0 * * 0',
43
- regex: /^(\d{1,2}\s){2,3}(\*\s){2}\d{1,2}$/,
44
- },
45
- {
46
- mode: 'monthly',
47
- default: '0 0 0 1 * *',
48
- regex: /^(\d+\s){3,4}\*\s\*$/,
49
- },
50
- {
51
- mode: 'custom',
52
- default: '* * * * * *',
53
- regex: /^.*$/,
54
- },
55
- ];
56
- export const getDefaultCronDisplay = (mode) => {
57
- const modeFound = DISPLAY_MODE_LIST.find(mf => mf.mode === mode);
58
- if (!modeFound) {
59
- throw new Error('Invalid cron mode.');
60
- }
61
- return parseCronExpression(modeFound.default);
62
- };
63
- export const parseCronExpression = (cronExpression) => {
64
- throwIfInvalid(cronExpression);
65
- const parts = cronExpression.split(' ');
66
- // Normalize cron so that second segment is included.
67
- if (cronExpression && cronExpression.split(' ').length === 6) {
68
- parts.push('');
69
- }
70
- const hourInterval = getHourInterval(parts);
71
- const minuteInterval = getMinuteInterval(parts);
72
- const secondInterval = getSecondInterval(parts);
73
- const dayInterval = getDayInterval(parts);
74
- const dayOfWeek = getDayOfWeek(parts);
75
- const dayOfMonth = getDayOfMonth(parts);
76
- const hours = getHours(parts);
77
- const minutes = getMinutes(parts);
78
- const displayMode = getDisplayMode(cronExpression);
79
- switch (displayMode.mode) {
80
- case 'secondly':
81
- return {
82
- mode: 'secondly',
83
- secondInterval,
84
- };
85
- case 'minutely':
86
- return {
87
- mode: 'minutely',
88
- minuteInterval,
89
- };
90
- case 'hourly':
91
- return {
92
- mode: 'hourly',
93
- hourInterval,
94
- minutes,
95
- };
96
- case 'daily':
97
- return {
98
- mode: 'daily',
99
- dayInterval,
100
- hours,
101
- minutes,
102
- };
103
- case 'weekly':
104
- return {
105
- mode: 'weekly',
106
- dayOfWeek,
107
- hours,
108
- minutes,
109
- };
110
- case 'monthly':
111
- return {
112
- mode: 'monthly',
113
- dayOfMonth,
114
- hours,
115
- minutes,
116
- };
117
- case 'custom':
118
- return {
119
- mode: 'custom',
120
- customExpression: cronExpression,
121
- };
122
- }
123
- };
124
- export const toCronExpression = (cronDisplay) => {
125
- switch (cronDisplay.mode) {
126
- case 'secondly':
127
- return `*/${cronDisplay.secondInterval} * * * * *`;
128
- case 'minutely':
129
- return `0 */${cronDisplay.minuteInterval} * * * *`;
130
- case 'hourly':
131
- return `0 ${cronDisplay.minutes} */${cronDisplay.hourInterval} * * *`;
132
- case 'daily':
133
- return `0 ${cronDisplay.minutes} ${cronDisplay.hours} */${cronDisplay.dayInterval} * *`;
134
- case 'weekly':
135
- return `0 ${cronDisplay.minutes} ${cronDisplay.hours} * * ${cronDisplay.dayOfWeek}`;
136
- case 'monthly':
137
- return `0 ${cronDisplay.minutes} ${cronDisplay.hours} ${cronDisplay.dayOfMonth} * *`;
138
- case 'custom':
139
- return `${cronDisplay.customExpression}`;
140
- }
141
- };
142
- export const toCronDescription = (cronExpression) => {
143
- throwIfInvalid(cronExpression);
144
- if (!isEmpty(cronExpression)) {
145
- return Cronstrue.toString(cronExpression);
146
- }
147
- return '';
148
- };
149
- /**
150
- * Simple validation to ensure that the cron expression has 6 parts.
151
- * Note : The full cron expression validation is done by the backend.
152
- */
153
- const throwIfInvalid = (cronExpression) => {
154
- const parts = cronExpression.trim().split(/\s+/);
155
- if (parts.length != 6) {
156
- throw new Error('Cron expression must have 6 parts.');
157
- }
158
- };
159
- const getDisplayMode = (cronExpression) => {
160
- const modeFound = DISPLAY_MODE_LIST.find(mf => {
161
- const regex = mf.regex;
162
- return regex.test(cronExpression);
163
- });
164
- if (!modeFound) {
165
- throw new Error('Invalid cron expression.');
166
- }
167
- return {
168
- mode: modeFound.mode,
169
- default: modeFound.default,
170
- };
171
- };
172
- const getSecondInterval = (expressionParts) => {
173
- const v = getSegment(expressionParts[0])[0][1];
174
- return typeof v === 'number' ? v : undefined;
175
- };
176
- const getMinuteInterval = (expressionParts) => {
177
- const v = getSegment(expressionParts[1])[0][1];
178
- return typeof v === 'number' ? v : undefined;
179
- };
180
- const getHourInterval = (expressionParts) => {
181
- const v = getSegment(expressionParts[2])[0][1];
182
- return typeof v === 'number' ? v : undefined;
183
- };
184
- const getDayInterval = (expressionParts) => {
185
- const v = getSegment(expressionParts[3])[0][1];
186
- return typeof v === 'number' ? v : undefined;
187
- };
188
- const getDayOfWeek = (expressionParts) => {
189
- const v = getSegment(expressionParts[5])[0][0];
190
- return typeof v === 'number' ? v : undefined;
191
- };
192
- const getDayOfMonth = (expressionParts) => {
193
- const v = getSegment(expressionParts[3])[0][0];
194
- return typeof v === 'number' ? v : undefined;
195
- };
196
- const getMinutes = (expressionParts) => {
197
- const v = getSegment(expressionParts[1])[0][0];
198
- return typeof v === 'number' ? v : undefined;
199
- };
200
- const getHours = (expressionParts) => {
201
- const v = getSegment(expressionParts[2])[0][0];
202
- return typeof v === 'number' ? v : undefined;
203
- };
204
- const getSegment = (value) => {
205
- if (value === undefined) {
206
- value = '*';
207
- }
208
- return value.split(',').map(s => {
209
- if (s === undefined) {
210
- s = '*';
211
- }
212
- return s.split('/').map(p => {
213
- const v = parseInt(p, 10);
214
- return isNaN(v) ? p : v;
215
- });
216
- });
217
- };
218
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLWZvcm0tY3Jvbi5hZGFwdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktcGFydGljbGVzLWFuZ3VsYXIvc3JjL2xpYi9naW8tZm9ybS1jcm9uL2dpby1mb3JtLWNyb24uYWRhcHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE9BQU8sU0FBUyxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFnQmpDLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLENBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsUUFBUSxDQUFVLENBQUM7QUFHdEgsTUFBTSxpQkFBaUIsR0FJakI7SUFDSjtRQUNFLElBQUksRUFBRSxVQUFVO1FBQ2hCLE9BQU8sRUFBRSxlQUFlO1FBQ3hCLEtBQUssRUFBRSx5QkFBeUI7S0FDakM7SUFDRDtRQUNFLElBQUksRUFBRSxVQUFVO1FBQ2hCLE9BQU8sRUFBRSxlQUFlO1FBQ3hCLEtBQUssRUFBRSwyQkFBMkI7S0FDbkM7SUFDRDtRQUNFLElBQUksRUFBRSxRQUFRO1FBQ2QsT0FBTyxFQUFFLGVBQWU7UUFDeEIsS0FBSyxFQUFFLGdDQUFnQztLQUN4QztJQUNEO1FBQ0UsSUFBSSxFQUFFLE9BQU87UUFDYixPQUFPLEVBQUUsZUFBZTtRQUN4QixLQUFLLEVBQUUsZ0NBQWdDO0tBQ3hDO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsUUFBUTtRQUNkLE9BQU8sRUFBRSxhQUFhO1FBQ3RCLEtBQUssRUFBRSxvQ0FBb0M7S0FDNUM7SUFDRDtRQUNFLElBQUksRUFBRSxTQUFTO1FBQ2YsT0FBTyxFQUFFLGFBQWE7UUFDdEIsS0FBSyxFQUFFLHNCQUFzQjtLQUM5QjtJQUNEO1FBQ0UsSUFBSSxFQUFFLFFBQVE7UUFD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QUMsU0FBUyxDQUFDO0FBQy9DLENBQUMsQ0FBQztBQUVGLE1BQU0sZUFBZSxHQUFHLENBQUMsZUFBeUIsRUFBc0IsRUFBRTtJQUN4RSxNQUFNLENBQUMsR0FBRyxVQUFVLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDL0MsT0FBTyxPQUFPLENBQUMsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0FBQy9DLENBQUMsQ0FBQztBQUVGLE1BQU0sY0FBYyxHQUFHLENBQUMsZUFBeUIsRUFBc0IsRUFBRTtJQUN2RSxNQUFNLENBQUMsR0FBRyxVQUFVLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDL0MsT0FBTyxPQUFPLENBQUMsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0FBQy9DLENBQUMsQ0FBQztBQUVGLE1BQU0sWUFBWSxHQUFHLENBQUMsZUFBeUIsRUFBc0IsRUFBRTtJQUNyRSxNQUFNLENBQUMsR0FBRyxVQUFVLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDL0MsT0FBTyxPQUFPLENBQUMsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0FBQy9DLENBQUMsQ0FBQztBQUVGLE1BQU0sYUFBYSxHQUFHLENBQUMsZUFBeUIsRUFBc0IsRUFBRTtJQUN0RSxNQUFNLENBQUMsR0FBRyxVQUFVLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDL0MsT0FBTyxPQUFPLENBQUMsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0FBQy9DLENBQUMsQ0FBQztBQUVGLE1BQU0sVUFBVSxHQUFHLENBQUMsZUFBeUIsRUFBc0IsRUFBRTtJQUNuRSxNQUFNLENBQUMsR0FBRyxVQUFVLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDL0MsT0FBTyxPQUFPLENBQUMsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0FBQy9DLENBQUMsQ0FBQztBQUVGLE1BQU0sUUFBUSxHQUFHLENBQUMsZUFBeUIsRUFBc0IsRUFBRTtJQUNqRSxNQUFNLENBQUMsR0FBRyxVQUFVLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDL0MsT0FBTyxPQUFPLENBQUMsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0FBQy9DLENBQUMsQ0FBQztBQUVGLE1BQU0sVUFBVSxHQUFHLENBQUMsS0FBYSxFQUFpQyxFQUFFO0lBQ2xFLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQ3hCLEtBQUssR0FBRyxHQUFHLENBQUM7SUFDZCxDQUFDO0lBQ0QsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtRQUM5QixJQUFJLENBQUMsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNwQixDQUFDLEdBQUcsR0FBRyxDQUFDO1FBQ1YsQ0FBQztRQUNELE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDMUIsTUFBTSxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUMxQixPQUFPLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMjMgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgQ3JvbnN0cnVlIGZyb20gJ2Nyb25zdHJ1ZS9pMThuJztcbmltcG9ydCB7IGlzRW1wdHkgfSBmcm9tICdsb2Rhc2gnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENyb25EaXNwbGF5IHtcbiAgbW9kZTogQ3JvbkRpc3BsYXlNb2RlO1xuXG4gIHNlY29uZEludGVydmFsPzogbnVtYmVyO1xuICBtaW51dGVJbnRlcnZhbD86IG51bWJlcjtcbiAgaG91ckludGVydmFsPzogbnVtYmVyO1xuICBkYXlJbnRlcnZhbD86IG51bWJlcjtcbiAgZGF5T2ZXZWVrPzogbnVtYmVyO1xuICBkYXlPZk1vbnRoPzogbnVtYmVyO1xuICBjdXN0b21FeHByZXNzaW9uPzogc3RyaW5nO1xuXG4gIGhvdXJzPzogbnVtYmVyO1xuICBtaW51dGVzPzogbnVtYmVyO1xufVxuZXhwb3J0IGNvbnN0IENST05fRElTUExBWV9NT0RFUyA9IFsnc2Vjb25kbHknLCAnbWludXRlbHknLCAnaG91cmx5JywgJ2RhaWx5JywgJ3dlZWtseScsICdtb250aGx5JywgJ2N1c3RvbSddIGFzIGNvbnN0O1xuZXhwb3J0IHR5cGUgQ3JvbkRpc3BsYXlNb2RlID0gKHR5cGVvZiBDUk9OX0RJU1BMQVlfTU9ERVMpW251bWJlcl07XG5cbmNvbnN0IERJU1BMQVlfTU9ERV9MSVNUOiB7XG4gIG1vZGU6IENyb25EaXNwbGF5TW9kZTtcbiAgZGVmYXVsdDogc3RyaW5nO1xuICByZWdleDogUmVnRXhwO1xufVtdID0gW1xuICB7XG4gICAgbW9kZTogJ3NlY29uZGx5JyxcbiAgICBkZWZhdWx0OiAnKi8xICogKiAqICogKicsXG4gICAgcmVnZXg6IC9eKFxcKlxcL1xcZCtcXHMpKFxcKlxccyl7NH1cXCovLFxuICB9LFxuICB7XG4gICAgbW9kZTogJ21pbnV0ZWx5JyxcbiAgICBkZWZhdWx0OiAnMCAqLzEgKiAqICogKicsXG4gICAgcmVnZXg6IC9eMFxcc1xcKlxcL1xcZCtcXHMoXFwqXFxzKXszfVxcKiQvLFxuICB9LFxuICB7XG4gICAgbW9kZTogJ2hvdXJseScsXG4gICAgZGVmYXVsdDogJzAgMCAqLzEgKiAqIConLFxuICAgIHJlZ2V4OiAvXjBcXHNcXGQrXFxzXFwqXFwvXFxkK1xccyhcXCpcXHMpezJ9XFwqJC8sXG4gIH0sXG4gIHtcbiAgICBtb2RlOiAnZGFpbHknLFxuICAgIGRlZmF1bHQ6ICcwIDAgMCAqLzEgKiAqJyxcbiAgICByZWdleDogL14wXFxzXFxkK1xcc1xcZCtcXHNcXCpcXC9cXGQrXFxzXFwqXFxzXFwqJC8sXG4gIH0sXG4gIHtcbiAgICBtb2RlOiAnd2Vla2x5JyxcbiAgICBkZWZhdWx0OiAnMCAwIDAgKiAqIDAnLFxuICAgIHJlZ2V4OiAvXihcXGR7MSwyfVxccyl7MiwzfShcXCpcXHMpezJ9XFxkezEsMn0kLyxcbiAgfSxcbiAge1xuICAgIG1vZGU6ICdtb250aGx5JyxcbiAgICBkZWZhdWx0OiAnMCAwIDAgMSAqIConLFxuICAgIHJlZ2V4OiAvXihcXGQrXFxzKXszLDR9XFwqXFxzXFwqJC8sXG4gIH0sXG4gIHtcbiAgICBtb2RlOiAnY3VzdG9tJyxcbiAgICBkZWZhdWx0OiAnKiAqICogKiAqIConLFxuICAgIHJlZ2V4OiAvXi4qJC8sXG4gIH0sXG5dO1xuXG5leHBvcnQgY29uc3QgZ2V0RGVmYXVsdENyb25EaXNwbGF5ID0gKG1vZGU6IENyb25EaXNwbGF5TW9kZSk6IENyb25EaXNwbGF5ID0+IHtcbiAgY29uc3QgbW9kZUZvdW5kID0gRElTUExBWV9NT0RFX0xJU1QuZmluZChtZiA9PiBtZi5tb2RlID09PSBtb2RlKTtcbiAgaWYgKCFtb2RlRm91bmQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgY3JvbiBtb2RlLicpO1xuICB9XG5cbiAgcmV0dXJuIHBhcnNlQ3JvbkV4cHJlc3Npb24obW9kZUZvdW5kLmRlZmF1bHQpO1xufTtcblxuZXhwb3J0IGNvbnN0IHBhcnNlQ3JvbkV4cHJlc3Npb24gPSAoY3JvbkV4cHJlc3Npb246IHN0cmluZyk6IENyb25EaXNwbGF5ID0+IHtcbiAgdGhyb3dJZkludmFsaWQoY3JvbkV4cHJlc3Npb24pO1xuXG4gIGNvbnN0IHBhcnRzID0gY3JvbkV4cHJlc3Npb24uc3BsaXQoJyAnKTtcblxuICAvLyBOb3JtYWxpemUgY3JvbiBzbyB0aGF0IHNlY29uZCBzZWdtZW50IGlzIGluY2x1ZGVkLlxuICBpZiAoY3JvbkV4cHJlc3Npb24gJiYgY3JvbkV4cHJlc3Npb24uc3BsaXQoJyAnKS5sZW5ndGggPT09IDYpIHtcbiAgICBwYXJ0cy5wdXNoKCcnKTtcbiAgfVxuXG4gIGNvbnN0IGhvdXJJbnRlcnZhbCA9IGdldEhvdXJJbnRlcnZhbChwYXJ0cyk7XG4gIGNvbnN0IG1pbnV0ZUludGVydmFsID0gZ2V0TWludXRlSW50ZXJ2YWwocGFydHMpO1xuICBjb25zdCBzZWNvbmRJbnRlcnZhbCA9IGdldFNlY29uZEludGVydmFsKHBhcnRzKTtcbiAgY29uc3QgZGF5SW50ZXJ2YWwgPSBnZXREYXlJbnRlcnZhbChwYXJ0cyk7XG4gIGNvbnN0IGRheU9mV2VlayA9IGdldERheU9mV2VlayhwYXJ0cyk7XG4gIGNvbnN0IGRheU9mTW9udGggPSBnZXREYXlPZk1vbnRoKHBhcnRzKTtcblxuICBjb25zdCBob3VycyA9IGdldEhvdXJzKHBhcnRzKTtcbiAgY29uc3QgbWludXRlcyA9IGdldE1pbnV0ZXMocGFydHMpO1xuXG4gIGNvbnN0IGRpc3BsYXlNb2RlID0gZ2V0RGlzcGxheU1vZGUoY3JvbkV4cHJlc3Npb24pO1xuXG4gIHN3aXRjaCAoZGlzcGxheU1vZGUubW9kZSkge1xuICAgIGNhc2UgJ3NlY29uZGx5JzpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG1vZGU6ICdzZWNvbmRseScsXG4gICAgICAgIHNlY29uZEludGVydmFsLFxuICAgICAgfTtcbiAgICBjYXNlICdtaW51dGVseSc6XG4gICAgICByZXR1cm4ge1xuICAgICAgICBtb2RlOiAnbWludXRlbHknLFxuICAgICAgICBtaW51dGVJbnRlcnZhbCxcbiAgICAgIH07XG4gICAgY2FzZSAnaG91cmx5JzpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG1vZGU6ICdob3VybHknLFxuICAgICAgICBob3VySW50ZXJ2YWwsXG4gICAgICAgIG1pbnV0ZXMsXG4gICAgICB9O1xuICAgIGNhc2UgJ2RhaWx5JzpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG1vZGU6ICdkYWlseScsXG4gICAgICAgIGRheUludGVydmFsLFxuICAgICAgICBob3VycyxcbiAgICAgICAgbWludXRlcyxcbiAgICAgIH07XG4gICAgY2FzZSAnd2Vla2x5JzpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG1vZGU6ICd3ZWVrbHknLFxuICAgICAgICBkYXlPZldlZWssXG4gICAgICAgIGhvdXJzLFxuICAgICAgICBtaW51dGVzLFxuICAgICAgfTtcbiAgICBjYXNlICdtb250aGx5JzpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG1vZGU6ICdtb250aGx5JyxcbiAgICAgICAgZGF5T2ZNb250aCxcbiAgICAgICAgaG91cnMsXG4gICAgICAgIG1pbnV0ZXMsXG4gICAgICB9O1xuICAgIGNhc2UgJ2N1c3RvbSc6XG4gICAgICByZXR1cm4ge1xuICAgICAgICBtb2RlOiAnY3VzdG9tJyxcbiAgICAgICAgY3VzdG9tRXhwcmVzc2lvbjogY3JvbkV4cHJlc3Npb24sXG4gICAgICB9O1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgdG9Dcm9uRXhwcmVzc2lvbiA9IChjcm9uRGlzcGxheTogT21pdDxDcm9uRGlzcGxheSwgJ2Nyb25EZXNjcmlwdGlvbic+KTogc3RyaW5nID0+IHtcbiAgc3dpdGNoIChjcm9uRGlzcGxheS5tb2RlKSB7XG4gICAgY2FzZSAnc2Vjb25kbHknOlxuICAgICAgcmV0dXJuIGAqLyR7Y3JvbkRpc3BsYXkuc2Vjb25kSW50ZXJ2YWx9ICogKiAqICogKmA7XG4gICAgY2FzZSAnbWludXRlbHknOlxuICAgICAgcmV0dXJuIGAwICovJHtjcm9uRGlzcGxheS5taW51dGVJbnRlcnZhbH0gKiAqICogKmA7XG4gICAgY2FzZSAnaG91cmx5JzpcbiAgICAgIHJldHVybiBgMCAke2Nyb25EaXNwbGF5Lm1pbnV0ZXN9ICovJHtjcm9uRGlzcGxheS5ob3VySW50ZXJ2YWx9ICogKiAqYDtcbiAgICBjYXNlICdkYWlseSc6XG4gICAgICByZXR1cm4gYDAgJHtjcm9uRGlzcGxheS5taW51dGVzfSAke2Nyb25EaXNwbGF5LmhvdXJzfSAqLyR7Y3JvbkRpc3BsYXkuZGF5SW50ZXJ2YWx9ICogKmA7XG4gICAgY2FzZSAnd2Vla2x5JzpcbiAgICAgIHJldHVybiBgMCAke2Nyb25EaXNwbGF5Lm1pbnV0ZXN9ICR7Y3JvbkRpc3BsYXkuaG91cnN9ICogKiAke2Nyb25EaXNwbGF5LmRheU9mV2Vla31gO1xuICAgIGNhc2UgJ21vbnRobHknOlxuICAgICAgcmV0dXJuIGAwICR7Y3JvbkRpc3BsYXkubWludXRlc30gJHtjcm9uRGlzcGxheS5ob3Vyc30gJHtjcm9uRGlzcGxheS5kYXlPZk1vbnRofSAqICpgO1xuICAgIGNhc2UgJ2N1c3RvbSc6XG4gICAgICByZXR1cm4gYCR7Y3JvbkRpc3BsYXkuY3VzdG9tRXhwcmVzc2lvbn1gO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgdG9Dcm9uRGVzY3JpcHRpb24gPSAoY3JvbkV4cHJlc3Npb246IHN0cmluZyk6IHN0cmluZyA9PiB7XG4gIHRocm93SWZJbnZhbGlkKGNyb25FeHByZXNzaW9uKTtcblxuICBpZiAoIWlzRW1wdHkoY3JvbkV4cHJlc3Npb24pKSB7XG4gICAgcmV0dXJuIENyb25zdHJ1ZS50b1N0cmluZyhjcm9uRXhwcmVzc2lvbik7XG4gIH1cblxuICByZXR1cm4gJyc7XG59O1xuXG4vKipcbiAqIFNpbXBsZSB2YWxpZGF0aW9uIHRvIGVuc3VyZSB0aGF0IHRoZSBjcm9uIGV4cHJlc3Npb24gaGFzIDYgcGFydHMuXG4gKiBOb3RlIDogVGhlIGZ1bGwgY3JvbiBleHByZXNzaW9uIHZhbGlkYXRpb24gaXMgZG9uZSBieSB0aGUgYmFja2VuZC5cbiAqL1xuY29uc3QgdGhyb3dJZkludmFsaWQgPSAoY3JvbkV4cHJlc3Npb246IHN0cmluZyk6IHZvaWQgPT4ge1xuICBjb25zdCBwYXJ0cyA9IGNyb25FeHByZXNzaW9uLnRyaW0oKS5zcGxpdCgvXFxzKy8pO1xuXG4gIGlmIChwYXJ0cy5sZW5ndGggIT0gNikge1xuICAgIHRocm93IG5ldyBFcnJvcignQ3JvbiBleHByZXNzaW9uIG11c3QgaGF2ZSA2IHBhcnRzLicpO1xuICB9XG59O1xuXG5jb25zdCBnZXREaXNwbGF5TW9kZSA9IChcbiAgY3JvbkV4cHJlc3Npb246IHN0cmluZyxcbik6IHtcbiAgbW9kZTogQ3JvbkRpc3BsYXlNb2RlO1xuICBkZWZhdWx0OiBzdHJpbmc7XG59ID0+IHtcbiAgY29uc3QgbW9kZUZvdW5kID0gRElTUExBWV9NT0RFX0xJU1QuZmluZChtZiA9PiB7XG4gICAgY29uc3QgcmVnZXggPSBtZi5yZWdleDtcbiAgICByZXR1cm4gcmVnZXgudGVzdChjcm9uRXhwcmVzc2lvbik7XG4gIH0pO1xuXG4gIGlmICghbW9kZUZvdW5kKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGNyb24gZXhwcmVzc2lvbi4nKTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgbW9kZTogbW9kZUZvdW5kLm1vZGUsXG4gICAgZGVmYXVsdDogbW9kZUZvdW5kLmRlZmF1bHQsXG4gIH07XG59O1xuXG5jb25zdCBnZXRTZWNvbmRJbnRlcnZhbCA9IChleHByZXNzaW9uUGFydHM6IHN0cmluZ1tdKTogbnVtYmVyIHwgdW5kZWZpbmVkID0+IHtcbiAgY29uc3QgdiA9IGdldFNlZ21lbnQoZXhwcmVzc2lvblBhcnRzWzBdKVswXVsxXTtcbiAgcmV0dXJuIHR5cGVvZiB2ID09PSAnbnVtYmVyJyA/IHYgOiB1bmRlZmluZWQ7XG59O1xuXG5jb25zdCBnZXRNaW51dGVJbnRlcnZhbCA9IChleHByZXNzaW9uUGFydHM6IHN0cmluZ1tdKTogbnVtYmVyIHwgdW5kZWZpbmVkID0+IHtcbiAgY29uc3QgdiA9IGdldFNlZ21lbnQoZXhwcmVzc2lvblBhcnRzWzFdKVswXVsxXTtcbiAgcmV0dXJuIHR5cGVvZiB2ID09PSAnbnVtYmVyJyA/IHYgOiB1bmRlZmluZWQ7XG59O1xuXG5jb25zdCBnZXRIb3VySW50ZXJ2YWwgPSAoZXhwcmVzc2lvblBhcnRzOiBzdHJpbmdbXSk6IG51bWJlciB8IHVuZGVmaW5lZCA9PiB7XG4gIGNvbnN0IHYgPSBnZXRTZWdtZW50KGV4cHJlc3Npb25QYXJ0c1syXSlbMF1bMV07XG4gIHJldHVybiB0eXBlb2YgdiA9PT0gJ251bWJlcicgPyB2IDogdW5kZWZpbmVkO1xufTtcblxuY29uc3QgZ2V0RGF5SW50ZXJ2YWwgPSAoZXhwcmVzc2lvblBhcnRzOiBzdHJpbmdbXSk6IG51bWJlciB8IHVuZGVmaW5lZCA9PiB7XG4gIGNvbnN0IHYgPSBnZXRTZWdtZW50KGV4cHJlc3Npb25QYXJ0c1szXSlbMF1bMV07XG4gIHJldHVybiB0eXBlb2YgdiA9PT0gJ251bWJlcicgPyB2IDogdW5kZWZpbmVkO1xufTtcblxuY29uc3QgZ2V0RGF5T2ZXZWVrID0gKGV4cHJlc3Npb25QYXJ0czogc3RyaW5nW10pOiBudW1iZXIgfCB1bmRlZmluZWQgPT4ge1xuICBjb25zdCB2ID0gZ2V0U2VnbWVudChleHByZXNzaW9uUGFydHNbNV0pWzBdWzBdO1xuICByZXR1cm4gdHlwZW9mIHYgPT09ICdudW1iZXInID8gdiA6IHVuZGVmaW5lZDtcbn07XG5cbmNvbnN0IGdldERheU9mTW9udGggPSAoZXhwcmVzc2lvblBhcnRzOiBzdHJpbmdbXSk6IG51bWJlciB8IHVuZGVmaW5lZCA9PiB7XG4gIGNvbnN0IHYgPSBnZXRTZWdtZW50KGV4cHJlc3Npb25QYXJ0c1szXSlbMF1bMF07XG4gIHJldHVybiB0eXBlb2YgdiA9PT0gJ251bWJlcicgPyB2IDogdW5kZWZpbmVkO1xufTtcblxuY29uc3QgZ2V0TWludXRlcyA9IChleHByZXNzaW9uUGFydHM6IHN0cmluZ1tdKTogbnVtYmVyIHwgdW5kZWZpbmVkID0+IHtcbiAgY29uc3QgdiA9IGdldFNlZ21lbnQoZXhwcmVzc2lvblBhcnRzWzFdKVswXVswXTtcbiAgcmV0dXJuIHR5cGVvZiB2ID09PSAnbnVtYmVyJyA/IHYgOiB1bmRlZmluZWQ7XG59O1xuXG5jb25zdCBnZXRIb3VycyA9IChleHByZXNzaW9uUGFydHM6IHN0cmluZ1tdKTogbnVtYmVyIHwgdW5kZWZpbmVkID0+IHtcbiAgY29uc3QgdiA9IGdldFNlZ21lbnQoZXhwcmVzc2lvblBhcnRzWzJdKVswXVswXTtcbiAgcmV0dXJuIHR5cGVvZiB2ID09PSAnbnVtYmVyJyA/IHYgOiB1bmRlZmluZWQ7XG59O1xuXG5jb25zdCBnZXRTZWdtZW50ID0gKHZhbHVlOiBzdHJpbmcpOiBBcnJheTxBcnJheTxzdHJpbmcgfCBudW1iZXI+PiA9PiB7XG4gIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgdmFsdWUgPSAnKic7XG4gIH1cbiAgcmV0dXJuIHZhbHVlLnNwbGl0KCcsJykubWFwKHMgPT4ge1xuICAgIGlmIChzID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHMgPSAnKic7XG4gICAgfVxuICAgIHJldHVybiBzLnNwbGl0KCcvJykubWFwKHAgPT4ge1xuICAgICAgY29uc3QgdiA9IHBhcnNlSW50KHAsIDEwKTtcbiAgICAgIHJldHVybiBpc05hTih2KSA/IHAgOiB2O1xuICAgIH0pO1xuICB9KTtcbn07XG4iXX0=