@gravitee/ui-particles-angular 4.13.0 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. package/{esm2015/gravitee-ui-particles-angular.js → esm2020/gravitee-ui-particles-angular.mjs} +0 -0
  2. package/{esm2015/lib/gio-avatar/gio-avatar.component.js → esm2020/lib/gio-avatar/gio-avatar.component.mjs} +5 -9
  3. package/{esm2015/lib/gio-avatar/gio-avatar.module.js → esm2020/lib/gio-avatar/gio-avatar.module.mjs} +5 -6
  4. package/{esm2015/lib/gio-avatar/index.js → esm2020/lib/gio-avatar/index.mjs} +0 -0
  5. package/esm2020/lib/gio-banner/gio-banner.component.mjs +101 -0
  6. package/{esm2015/lib/gio-banner/gio-banner.module.js → esm2020/lib/gio-banner/gio-banner.module.mjs} +5 -12
  7. package/{esm2015/lib/gio-breadcrumb/gio-breadcrumb-item.directive.js → esm2020/lib/gio-breadcrumb/gio-breadcrumb-item.directive.mjs} +3 -3
  8. package/esm2020/lib/gio-breadcrumb/gio-breadcrumb.component.mjs +32 -0
  9. package/{esm2015/lib/gio-breadcrumb/gio-breadcrumb.module.js → esm2020/lib/gio-breadcrumb/gio-breadcrumb.module.mjs} +5 -6
  10. package/{esm2015/lib/gio-breadcrumb/index.js → esm2020/lib/gio-breadcrumb/index.mjs} +0 -0
  11. package/esm2020/lib/gio-confirm-and-validate-dialog/gio-confirm-and-validate-dialog.component.mjs +55 -0
  12. package/esm2020/lib/gio-confirm-and-validate-dialog/gio-confirm-and-validate-dialog.harness.mjs +40 -0
  13. package/{esm2015/lib/gio-confirm-and-validate-dialog/gio-confirm-and-validate-dialog.module.js → esm2020/lib/gio-confirm-and-validate-dialog/gio-confirm-and-validate-dialog.module.mjs} +5 -6
  14. package/esm2020/lib/gio-confirm-dialog/gio-confirm-dialog.component.mjs +40 -0
  15. package/esm2020/lib/gio-confirm-dialog/gio-confirm-dialog.harness.mjs +34 -0
  16. package/{esm2015/lib/gio-confirm-dialog/gio-confirm-dialog.module.js → esm2020/lib/gio-confirm-dialog/gio-confirm-dialog.module.mjs} +5 -6
  17. package/esm2020/lib/gio-form-file-picker/gio-form-file-picker-add-button/gio-form-file-picker-add-button.component.mjs +29 -0
  18. package/esm2020/lib/gio-form-file-picker/gio-form-file-picker-empty/gio-form-file-picker-empty.component.mjs +27 -0
  19. package/esm2020/lib/gio-form-file-picker/gio-form-file-picker-label/gio-form-file-picker-label.component.mjs +26 -0
  20. package/esm2020/lib/gio-form-file-picker/gio-form-file-picker.component.harness.mjs +95 -0
  21. package/esm2020/lib/gio-form-file-picker/gio-form-file-picker.component.mjs +167 -0
  22. package/{esm2015/lib/gio-form-file-picker/gio-form-file-picker.model.js → esm2020/lib/gio-form-file-picker/gio-form-file-picker.model.mjs} +0 -0
  23. package/{esm2015/lib/gio-form-file-picker/gio-form-file-picker.module.js → esm2020/lib/gio-form-file-picker/gio-form-file-picker.module.mjs} +4 -4
  24. package/{esm2015/lib/gio-form-file-picker/index.js → esm2020/lib/gio-form-file-picker/index.mjs} +0 -0
  25. package/esm2020/lib/gio-form-headers/gio-form-headers.component.mjs +233 -0
  26. package/esm2020/lib/gio-form-headers/gio-form-headers.harness.mjs +65 -0
  27. package/{esm2015/lib/gio-form-headers/gio-form-headers.module.js → esm2020/lib/gio-form-headers/gio-form-headers.module.mjs} +5 -6
  28. package/esm2020/lib/gio-form-tags-input/gio-form-tags-input.component.mjs +243 -0
  29. package/esm2020/lib/gio-form-tags-input/gio-form-tags-input.harness.mjs +67 -0
  30. package/{esm2015/lib/gio-form-tags-input/gio-form-tags-input.module.js → esm2020/lib/gio-form-tags-input/gio-form-tags-input.module.mjs} +5 -6
  31. package/{esm2015/lib/gio-icons/gio-icons.module.js → esm2020/lib/gio-icons/gio-icons.module.mjs} +5 -6
  32. package/esm2020/lib/gio-menu/gio-menu-footer/gio-menu-footer.component.mjs +26 -0
  33. package/esm2020/lib/gio-menu/gio-menu-header/gio-menu-header.component.mjs +26 -0
  34. package/{esm2015/lib/gio-menu/gio-menu-item/gio-menu-item.component.js → esm2020/lib/gio-menu/gio-menu-item/gio-menu-item.component.mjs} +5 -9
  35. package/esm2020/lib/gio-menu/gio-menu-list/gio-menu-list.component.mjs +26 -0
  36. package/esm2020/lib/gio-menu/gio-menu-selector/gio-menu-selector.component.mjs +53 -0
  37. package/esm2020/lib/gio-menu/gio-menu-selector/gio-menu-selector.harness.mjs +41 -0
  38. package/esm2020/lib/gio-menu/gio-menu.component.mjs +50 -0
  39. package/{esm2015/lib/gio-menu/gio-menu.module.js → esm2020/lib/gio-menu/gio-menu.module.mjs} +4 -4
  40. package/{esm2015/lib/gio-menu/gio-menu.service.js → esm2020/lib/gio-menu/gio-menu.service.mjs} +3 -3
  41. package/{esm2015/lib/gio-menu/index.js → esm2020/lib/gio-menu/index.mjs} +0 -0
  42. package/esm2020/lib/gio-save-bar/gio-save-bar.component.mjs +129 -0
  43. package/esm2020/lib/gio-save-bar/gio-save-bar.harness.mjs +49 -0
  44. package/{esm2015/lib/gio-save-bar/gio-save-bar.module.js → esm2020/lib/gio-save-bar/gio-save-bar.module.mjs} +5 -6
  45. package/esm2020/lib/gio-submenu/gio-submenu-group/gio-submenu-group.component.mjs +31 -0
  46. package/esm2020/lib/gio-submenu/gio-submenu-item/gio-submenu-item.component.mjs +42 -0
  47. package/{esm2015/lib/gio-submenu/gio-submenu.component.js → esm2020/lib/gio-submenu/gio-submenu.component.mjs} +9 -13
  48. package/{esm2015/lib/gio-submenu/gio-submenu.module.js → esm2020/lib/gio-submenu/gio-submenu.module.mjs} +4 -4
  49. package/{esm2015/lib/gio-submenu/index.js → esm2020/lib/gio-submenu/index.mjs} +0 -0
  50. package/esm2020/lib/gio-top-bar/gio-top-bar-content/gio-top-bar-content.component.mjs +35 -0
  51. package/esm2020/lib/gio-top-bar/gio-top-bar-link/gio-top-bar-link.component.mjs +35 -0
  52. package/{esm2015/lib/gio-top-bar/gio-top-bar-link/gio-top-bar-link.module.js → esm2020/lib/gio-top-bar/gio-top-bar-link/gio-top-bar-link.module.mjs} +4 -4
  53. package/esm2020/lib/gio-top-bar/gio-top-bar-menu/gio-top-bar-menu.component.mjs +26 -0
  54. package/{esm2015/lib/gio-top-bar/gio-top-bar-menu/gio-top-bar-menu.module.js → esm2020/lib/gio-top-bar/gio-top-bar-menu/gio-top-bar-menu.module.mjs} +4 -4
  55. package/esm2020/lib/gio-top-bar/gio-top-bar.component.mjs +34 -0
  56. package/{esm2015/lib/gio-top-bar/gio-top-bar.module.js → esm2020/lib/gio-top-bar/gio-top-bar.module.mjs} +4 -4
  57. package/{esm2015/lib/gio-top-bar/index.js → esm2020/lib/gio-top-bar/index.mjs} +0 -0
  58. package/{esm2015/lib/public-api.js → esm2020/lib/public-api.mjs} +0 -0
  59. package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
  60. package/fesm2015/{gravitee-ui-particles-angular.js → gravitee-ui-particles-angular.mjs} +223 -413
  61. package/fesm2015/gravitee-ui-particles-angular.mjs.map +1 -0
  62. package/fesm2020/gravitee-ui-particles-angular.mjs +2754 -0
  63. package/fesm2020/gravitee-ui-particles-angular.mjs.map +1 -0
  64. package/package.json +25 -12
  65. package/bundles/gravitee-ui-particles-angular.umd.js +0 -3727
  66. package/bundles/gravitee-ui-particles-angular.umd.js.map +0 -1
  67. package/esm2015/lib/gio-banner/gio-banner.component.js +0 -121
  68. package/esm2015/lib/gio-breadcrumb/gio-breadcrumb.component.js +0 -36
  69. package/esm2015/lib/gio-confirm-and-validate-dialog/gio-confirm-and-validate-dialog.component.js +0 -60
  70. package/esm2015/lib/gio-confirm-and-validate-dialog/gio-confirm-and-validate-dialog.harness.js +0 -45
  71. package/esm2015/lib/gio-confirm-dialog/gio-confirm-dialog.component.js +0 -45
  72. package/esm2015/lib/gio-confirm-dialog/gio-confirm-dialog.harness.js +0 -39
  73. package/esm2015/lib/gio-form-file-picker/gio-form-file-picker-add-button/gio-form-file-picker-add-button.component.js +0 -34
  74. package/esm2015/lib/gio-form-file-picker/gio-form-file-picker-empty/gio-form-file-picker-empty.component.js +0 -31
  75. package/esm2015/lib/gio-form-file-picker/gio-form-file-picker-label/gio-form-file-picker-label.component.js +0 -31
  76. package/esm2015/lib/gio-form-file-picker/gio-form-file-picker.component.harness.js +0 -114
  77. package/esm2015/lib/gio-form-file-picker/gio-form-file-picker.component.js +0 -177
  78. package/esm2015/lib/gio-form-headers/gio-form-headers.component.js +0 -237
  79. package/esm2015/lib/gio-form-headers/gio-form-headers.harness.js +0 -76
  80. package/esm2015/lib/gio-form-tags-input/gio-form-tags-input.component.js +0 -255
  81. package/esm2015/lib/gio-form-tags-input/gio-form-tags-input.harness.js +0 -78
  82. package/esm2015/lib/gio-menu/gio-menu-footer/gio-menu-footer.component.js +0 -30
  83. package/esm2015/lib/gio-menu/gio-menu-header/gio-menu-header.component.js +0 -30
  84. package/esm2015/lib/gio-menu/gio-menu-list/gio-menu-list.component.js +0 -30
  85. package/esm2015/lib/gio-menu/gio-menu-selector/gio-menu-selector.component.js +0 -57
  86. package/esm2015/lib/gio-menu/gio-menu-selector/gio-menu-selector.harness.js +0 -48
  87. package/esm2015/lib/gio-menu/gio-menu.component.js +0 -55
  88. package/esm2015/lib/gio-save-bar/gio-save-bar.component.js +0 -135
  89. package/esm2015/lib/gio-save-bar/gio-save-bar.harness.js +0 -60
  90. package/esm2015/lib/gio-submenu/gio-submenu-group/gio-submenu-group.component.js +0 -35
  91. package/esm2015/lib/gio-submenu/gio-submenu-item/gio-submenu-item.component.js +0 -47
  92. package/esm2015/lib/gio-top-bar/gio-top-bar-content/gio-top-bar-content.component.js +0 -39
  93. package/esm2015/lib/gio-top-bar/gio-top-bar-link/gio-top-bar-link.component.js +0 -39
  94. package/esm2015/lib/gio-top-bar/gio-top-bar-menu/gio-top-bar-menu.component.js +0 -30
  95. package/esm2015/lib/gio-top-bar/gio-top-bar.component.js +0 -38
  96. package/fesm2015/gravitee-ui-particles-angular.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"gravitee-ui-particles-angular.umd.js","sources":["../../../projects/ui-particles-angular/src/lib/gio-save-bar/gio-save-bar.component.ts","../../../projects/ui-particles-angular/src/lib/gio-save-bar/gio-save-bar.component.html","../../../projects/ui-particles-angular/src/lib/gio-save-bar/gio-save-bar.module.ts","../../../../node_modules/tslib/tslib.es6.js","../../../projects/ui-particles-angular/src/lib/gio-save-bar/gio-save-bar.harness.ts","../../../projects/ui-particles-angular/src/lib/gio-form-tags-input/gio-form-tags-input.component.ts","../../../projects/ui-particles-angular/src/lib/gio-form-tags-input/gio-form-tags-input.component.html","../../../projects/ui-particles-angular/src/lib/gio-form-tags-input/gio-form-tags-input.module.ts","../../../projects/ui-particles-angular/src/lib/gio-form-tags-input/gio-form-tags-input.harness.ts","../../../projects/ui-particles-angular/src/lib/gio-banner/gio-banner.component.ts","../../../projects/ui-particles-angular/src/lib/gio-banner/gio-banner.component.html","../../../projects/ui-particles-angular/src/lib/gio-icons/gio-icons.module.ts","../../../projects/ui-particles-angular/src/lib/gio-banner/gio-banner.module.ts","../../../projects/ui-particles-angular/src/lib/gio-confirm-dialog/gio-confirm-dialog.component.ts","../../../projects/ui-particles-angular/src/lib/gio-confirm-dialog/gio-confirm-dialog.component.html","../../../projects/ui-particles-angular/src/lib/gio-confirm-dialog/gio-confirm-dialog.module.ts","../../../projects/ui-particles-angular/src/lib/gio-confirm-dialog/gio-confirm-dialog.harness.ts","../../../projects/ui-particles-angular/src/lib/gio-confirm-and-validate-dialog/gio-confirm-and-validate-dialog.component.ts","../../../projects/ui-particles-angular/src/lib/gio-confirm-and-validate-dialog/gio-confirm-and-validate-dialog.component.html","../../../projects/ui-particles-angular/src/lib/gio-confirm-and-validate-dialog/gio-confirm-and-validate-dialog.module.ts","../../../projects/ui-particles-angular/src/lib/gio-confirm-and-validate-dialog/gio-confirm-and-validate-dialog.harness.ts","../../../projects/ui-particles-angular/src/lib/gio-form-headers/gio-form-headers.component.ts","../../../projects/ui-particles-angular/src/lib/gio-form-headers/gio-form-headers.component.html","../../../projects/ui-particles-angular/src/lib/gio-form-headers/gio-form-headers.module.ts","../../../projects/ui-particles-angular/src/lib/gio-form-headers/gio-form-headers.harness.ts","../../../projects/ui-particles-angular/src/lib/gio-form-file-picker/gio-form-file-picker-add-button/gio-form-file-picker-add-button.component.ts","../../../projects/ui-particles-angular/src/lib/gio-form-file-picker/gio-form-file-picker-add-button/gio-form-file-picker-add-button.component.html","../../../projects/ui-particles-angular/src/lib/gio-form-file-picker/gio-form-file-picker-empty/gio-form-file-picker-empty.component.ts","../../../projects/ui-particles-angular/src/lib/gio-form-file-picker/gio-form-file-picker-empty/gio-form-file-picker-empty.component.html","../../../projects/ui-particles-angular/src/lib/gio-form-file-picker/gio-form-file-picker-label/gio-form-file-picker-label.component.ts","../../../projects/ui-particles-angular/src/lib/gio-form-file-picker/gio-form-file-picker-label/gio-form-file-picker-label.component.html","../../../projects/ui-particles-angular/src/lib/gio-form-file-picker/gio-form-file-picker.model.ts","../../../projects/ui-particles-angular/src/lib/gio-form-file-picker/gio-form-file-picker.component.ts","../../../projects/ui-particles-angular/src/lib/gio-form-file-picker/gio-form-file-picker.component.html","../../../projects/ui-particles-angular/src/lib/gio-form-file-picker/gio-form-file-picker.module.ts","../../../projects/ui-particles-angular/src/lib/gio-form-file-picker/gio-form-file-picker.component.harness.ts","../../../projects/ui-particles-angular/src/lib/gio-form-file-picker/index.ts","../../../projects/ui-particles-angular/src/lib/gio-menu/gio-menu.service.ts","../../../projects/ui-particles-angular/src/lib/gio-menu/gio-menu-item/gio-menu-item.component.ts","../../../projects/ui-particles-angular/src/lib/gio-menu/gio-menu-item/gio-menu-item.component.html","../../../projects/ui-particles-angular/src/lib/gio-menu/gio-menu-footer/gio-menu-footer.component.ts","../../../projects/ui-particles-angular/src/lib/gio-menu/gio-menu-footer/gio-menu-footer.component.html","../../../projects/ui-particles-angular/src/lib/gio-menu/gio-menu.component.ts","../../../projects/ui-particles-angular/src/lib/gio-menu/gio-menu.component.html","../../../projects/ui-particles-angular/src/lib/gio-menu/gio-menu-list/gio-menu-list.component.ts","../../../projects/ui-particles-angular/src/lib/gio-menu/gio-menu-list/gio-menu-list.component.html","../../../projects/ui-particles-angular/src/lib/gio-menu/gio-menu-selector/gio-menu-selector.component.ts","../../../projects/ui-particles-angular/src/lib/gio-menu/gio-menu-selector/gio-menu-selector.component.html","../../../projects/ui-particles-angular/src/lib/gio-menu/gio-menu-header/gio-menu-header.component.ts","../../../projects/ui-particles-angular/src/lib/gio-menu/gio-menu-header/gio-menu-header.component.html","../../../projects/ui-particles-angular/src/lib/gio-menu/gio-menu.module.ts","../../../projects/ui-particles-angular/src/lib/gio-menu/gio-menu-selector/gio-menu-selector.harness.ts","../../../projects/ui-particles-angular/src/lib/gio-menu/index.ts","../../../projects/ui-particles-angular/src/lib/gio-submenu/gio-submenu.component.ts","../../../projects/ui-particles-angular/src/lib/gio-submenu/gio-submenu.component.html","../../../projects/ui-particles-angular/src/lib/gio-submenu/gio-submenu-group/gio-submenu-group.component.ts","../../../projects/ui-particles-angular/src/lib/gio-submenu/gio-submenu-group/gio-submenu-group.component.html","../../../projects/ui-particles-angular/src/lib/gio-submenu/gio-submenu-item/gio-submenu-item.component.ts","../../../projects/ui-particles-angular/src/lib/gio-submenu/gio-submenu-item/gio-submenu-item.component.html","../../../projects/ui-particles-angular/src/lib/gio-submenu/gio-submenu.module.ts","../../../projects/ui-particles-angular/src/lib/gio-submenu/index.ts","../../../projects/ui-particles-angular/src/lib/gio-top-bar/gio-top-bar.component.ts","../../../projects/ui-particles-angular/src/lib/gio-top-bar/gio-top-bar.component.html","../../../projects/ui-particles-angular/src/lib/gio-top-bar/gio-top-bar-content/gio-top-bar-content.component.ts","../../../projects/ui-particles-angular/src/lib/gio-top-bar/gio-top-bar-content/gio-top-bar-content.component.html","../../../projects/ui-particles-angular/src/lib/gio-top-bar/gio-top-bar.module.ts","../../../projects/ui-particles-angular/src/lib/gio-top-bar/gio-top-bar-menu/gio-top-bar-menu.component.ts","../../../projects/ui-particles-angular/src/lib/gio-top-bar/gio-top-bar-menu/gio-top-bar-menu.component.html","../../../projects/ui-particles-angular/src/lib/gio-top-bar/gio-top-bar-menu/gio-top-bar-menu.module.ts","../../../projects/ui-particles-angular/src/lib/gio-top-bar/gio-top-bar-link/gio-top-bar-link.component.ts","../../../projects/ui-particles-angular/src/lib/gio-top-bar/gio-top-bar-link/gio-top-bar-link.component.html","../../../projects/ui-particles-angular/src/lib/gio-top-bar/gio-top-bar-link/gio-top-bar-link.module.ts","../../../projects/ui-particles-angular/src/lib/gio-top-bar/index.ts","../../../projects/ui-particles-angular/src/lib/gio-avatar/gio-avatar.component.ts","../../../projects/ui-particles-angular/src/lib/gio-avatar/gio-avatar.component.html","../../../projects/ui-particles-angular/src/lib/gio-avatar/gio-avatar.module.ts","../../../projects/ui-particles-angular/src/lib/gio-avatar/index.ts","../../../projects/ui-particles-angular/src/lib/gio-breadcrumb/gio-breadcrumb-item.directive.ts","../../../projects/ui-particles-angular/src/lib/gio-breadcrumb/gio-breadcrumb.component.ts","../../../projects/ui-particles-angular/src/lib/gio-breadcrumb/gio-breadcrumb.component.html","../../../projects/ui-particles-angular/src/lib/gio-breadcrumb/gio-breadcrumb.module.ts","../../../projects/ui-particles-angular/src/lib/gio-breadcrumb/index.ts","../../../projects/ui-particles-angular/src/lib/public-api.ts","../../../projects/ui-particles-angular/src/public-api.ts","../../../projects/ui-particles-angular/src/gravitee-ui-particles-angular.ts"],"sourcesContent":["/*\n * Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { animate, style, transition, trigger } from '@angular/animations';\nimport { Component, EventEmitter, HostBinding, HostListener, Input, Output } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { timer } from 'rxjs';\n\n@Component({\n selector: 'gio-save-bar',\n templateUrl: './gio-save-bar.component.html',\n styleUrls: ['./gio-save-bar.component.scss'],\n animations: [\n trigger('slideUpDown', [\n transition(':enter', [\n style({ transform: 'translateY(40vh)', opacity: '0' }),\n animate('300ms cubic-bezier(0.4, 0.0, 0.2, 1)', style({ transform: 'translateY(0)', opacity: '1' })),\n ]),\n transition(':leave', [\n style({ transform: 'translateY(0)', opacity: '1' }),\n animate('300ms cubic-bezier(0.4, 0.0, 0.2, 1)', style({ transform: 'translateY(40vh)', opacity: '0' })),\n ]),\n ]),\n ],\n})\nexport class GioSaveBarComponent {\n public isSubmitted = false;\n\n @HostBinding('class.save-bar-sticky')\n public get isSticky(): boolean {\n return !this.creationMode;\n }\n\n @Input()\n public opened = false;\n\n /**\n * When true, the submit button have invalidate display\n * And on submit clicked the output event is emit on submitInvalidState (and not on submit)\n */\n @Input()\n public invalidState?: boolean = false;\n\n @Input()\n public creationMode = false;\n\n @Input()\n public form?: FormGroup;\n\n private hasSubmitLock = true;\n\n @Input()\n public formInitialValues?: unknown;\n\n @Output()\n public resetClicked = new EventEmitter<void>();\n\n @Output()\n public submitted = new EventEmitter<void>();\n\n @Output()\n public submittedInvalidState = new EventEmitter();\n\n @HostBinding('class.is-open')\n public get isOpen(): boolean {\n if (this.creationMode) {\n return true;\n }\n\n if (this.form) {\n return this.form.dirty;\n }\n return this.opened;\n }\n\n public onResetClicked(): void {\n if (this.form) {\n this.form.reset(this.formInitialValues);\n this.form.markAsPristine();\n }\n this.resetClicked.emit();\n }\n\n @HostListener('disable-submit-lock')\n public onDisableSubmitLock(): void {\n this.hasSubmitLock = false;\n }\n\n public onSubmitClicked(): void {\n if ((this.form && this.form.invalid) || this.invalidState) {\n this.form?.markAllAsTouched();\n this.submittedInvalidState.emit();\n return;\n }\n\n if (this.isSubmitted) {\n return;\n }\n\n this.submitted.emit();\n if (this.hasSubmitLock) {\n this.isSubmitted = true;\n timer(2000).subscribe(() => (this.isSubmitted = false));\n }\n }\n}\n","<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n\n<div *ngIf=\"isOpen\" [@slideUpDown] [@.disabled]=\"creationMode\">\n <mat-card class=\"save-bar__content\" [class.mat-elevation-z3]=\"creationMode\" [class.mat-elevation-z6]=\"!creationMode\">\n <div class=\"save-bar__content__label\">{{ creationMode ? '' : 'You have unsaved changes' }}</div>\n <div>\n <button *ngIf=\"!creationMode\" class=\"save-bar__content__reset-button\" mat-button type=\"button\" (click)=\"onResetClicked()\">\n Discard\n </button>\n <button\n class=\"save-bar__content__submit-button\"\n [class.invalid]=\"(form && form.invalid) || invalidState\"\n mat-flat-button\n color=\"primary\"\n [type]=\"form ? 'submit' : 'button'\"\n (click)=\"onSubmitClicked()\"\n >\n {{ creationMode ? 'Create' : 'Save' }}\n </button>\n </div>\n </mat-card>\n</div>\n","/*\n * Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatCardModule } from '@angular/material/card';\nimport { MatButtonModule } from '@angular/material/button';\n\nimport { GioSaveBarComponent } from './gio-save-bar.component';\n\n@NgModule({\n imports: [CommonModule, MatCardModule, MatButtonModule],\n declarations: [GioSaveBarComponent],\n exports: [GioSaveBarComponent],\n entryComponents: [GioSaveBarComponent],\n})\nexport class GioSaveBarModule {}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","/*\n * Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ComponentHarness } from '@angular/cdk/testing';\n\nexport class GioSaveBarHarness extends ComponentHarness {\n public static hostSelector = 'gio-save-bar';\n\n private readonly resetButtonSelector = '.save-bar__content__reset-button';\n private readonly submitButtonSelector = '.save-bar__content__submit-button';\n\n protected getSubmitButton = this.locatorFor(this.submitButtonSelector);\n protected getResetButton = this.locatorFor(this.resetButtonSelector);\n\n public async isVisible(): Promise<boolean> {\n const submitButton = await this.locatorForOptional(this.submitButtonSelector)();\n return submitButton !== null;\n }\n\n public async clickSubmit(): Promise<void> {\n const host = await this.host();\n await host.dispatchEvent('disable-submit-lock');\n const submitButton = await this.getSubmitButton();\n return submitButton.click();\n }\n\n public async isSubmitButtonInvalid(): Promise<boolean> {\n const submitButton = await this.getSubmitButton();\n return submitButton.hasClass('invalid');\n }\n\n public async isResetButtonVisible(): Promise<boolean> {\n const submitButton = await this.locatorForOptional(this.resetButtonSelector)();\n return submitButton !== null;\n }\n\n public async clickReset(): Promise<void> {\n const resetButton = await this.getResetButton();\n return resetButton.click();\n }\n}\n","/*\n * Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n// eslint-disable-next-line @typescript-eslint/explicit-member-accessibility\n\nimport { FocusMonitor } from '@angular/cdk/a11y';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { ChangeDetectorRef, Component, DoCheck, ElementRef, HostBinding, Input, OnDestroy, Optional, Self, ViewChild } from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { MatAutocompleteSelectedEvent } from '@angular/material/autocomplete';\nimport { MatFormFieldControl } from '@angular/material/form-field';\nimport { isEmpty } from 'lodash';\nimport { fromEvent, Observable, Subject } from 'rxjs';\nimport { distinctUntilChanged, map, startWith } from 'rxjs/operators';\n\nexport type Tags = Array<string>;\n\n@Component({\n selector: 'gio-form-tags-input',\n templateUrl: './gio-form-tags-input.component.html',\n styleUrls: ['./gio-form-tags-input.component.scss'],\n providers: [\n {\n provide: MatFormFieldControl,\n useExisting: GioFormTagsInputComponent,\n },\n ],\n})\nexport class GioFormTagsInputComponent implements MatFormFieldControl<Tags>, ControlValueAccessor, DoCheck, OnDestroy {\n private static nextId = 0;\n\n public _onChange: (_tags: Tags | null) => void = () => ({});\n\n public _onTouched: () => void = () => ({});\n private touched = false;\n\n @Input('aria-label')\n public ariaLabel = '';\n\n @Input()\n public addOnBlur = true;\n\n /**\n * Function called each time a tag is added, it can be used to hook inside the\n * addition process to, for instance, have custom validation in the components\n * using `gio-form-tags-input`.\n *\n * Parameters are:\n * - `tag`: The value of the tag to add\n * - `validationCb`: The callback function to call when validation is done. If\n * called with `true` it will add the tag, otherwise it will just ignore it\n */\n @Input()\n public tagValidationHook: ((tag: string, validationCb: (shouldAddTag: boolean) => void) => void) | undefined = undefined;\n\n @Input()\n public set autocompleteOptions(v: string[] | undefined) {\n this._autocompleteOptions = v;\n this.initAutocomplete();\n }\n public _autocompleteOptions?: string[];\n\n @ViewChild('tagInput')\n public set tagInput(v: ElementRef<HTMLInputElement> | null) {\n this._tagInput = v;\n this.initAutocomplete();\n }\n private _tagInput: ElementRef<HTMLInputElement> | null = null;\n\n // From ControlValueAccessor interface\n public get value(): Tags | null {\n return this._value;\n }\n\n public set value(_tags: Tags | null) {\n this._value = _tags;\n this._onChange(_tags);\n this.stateChanges.next();\n }\n\n private _value: Tags | null = null;\n\n // From ControlValueAccessor interface\n public stateChanges = new Subject<void>();\n\n // From ControlValueAccessor interface\n @HostBinding('id')\n public id = `gio-form-tags-input-${GioFormTagsInputComponent.nextId++}`;\n\n // From ControlValueAccessor interface\n @Input()\n public get placeholder(): string {\n return this._placeholder;\n }\n\n public set placeholder(plh: string) {\n this._placeholder = plh;\n this.stateChanges.next();\n }\n\n private _placeholder = '';\n\n public autocompleteFilteredOptions$?: Observable<string[]>;\n\n // From ControlValueAccessor interface\n public focused = false;\n\n // From ControlValueAccessor interface\n public get empty(): boolean {\n return isEmpty(this.value) && isEmpty(this._tagInput?.nativeElement?.value);\n }\n\n // From ControlValueAccessor interface\n @HostBinding('class.floating')\n public get shouldLabelFloat(): boolean {\n return this.focused || !this.empty;\n }\n\n // From ControlValueAccessor interface\n @Input()\n public get required(): boolean {\n return this._required;\n }\n\n public set required(req: boolean) {\n this._required = coerceBooleanProperty(req);\n this.stateChanges.next();\n }\n\n private _required = false;\n\n // From ControlValueAccessor interface\n @Input()\n public get disabled(): boolean {\n return this._disabled || (this.ngControl && this.ngControl.disabled === true);\n }\n\n public set disabled(dis: boolean) {\n this._disabled = coerceBooleanProperty(dis);\n this.stateChanges.next();\n }\n\n private _disabled = false;\n\n // From ControlValueAccessor interface\n public get errorState(): boolean {\n return (\n this.touched &&\n // if required check if is empty\n ((this.required && this.empty) ||\n // if there is a touched control check if there is an error\n (this.ngControl && this.ngControl.touched === true && !!this.ngControl.errors))\n );\n }\n\n // From ControlValueAccessor interface\n public controlType?: string;\n\n // From ControlValueAccessor interface\n public autofilled?: boolean;\n\n // From ControlValueAccessor interface\n public userAriaDescribedBy?: string;\n\n constructor(\n // From ControlValueAccessor interface\n @Optional() @Self() public readonly ngControl: NgControl,\n private readonly elRef: ElementRef,\n private readonly fm: FocusMonitor,\n private changeDetectorRef: ChangeDetectorRef,\n ) {\n // Replace the provider from above with this.\n if (this.ngControl != null) {\n // Setting the value accessor directly (instead of using\n // the providers) to avoid running into a circular import.\n this.ngControl.valueAccessor = this;\n }\n\n fm.monitor(elRef.nativeElement, true).subscribe(origin => {\n this.focused = !!origin;\n this._onTouched();\n this.touched = true;\n this.stateChanges.next();\n });\n }\n\n public ngDoCheck(): void {\n // sync control touched with local touched\n if (this.ngControl != null && this.touched !== this.ngControl.touched) {\n this.touched = this.ngControl.touched === true;\n this.stateChanges.next();\n }\n }\n\n public ngOnDestroy(): void {\n this.stateChanges.complete();\n this.fm.stopMonitoring(this.elRef.nativeElement);\n }\n\n // From ControlValueAccessor interface\n public writeValue(value: string[]): void {\n this._value = value;\n }\n\n // From ControlValueAccessor interface\n public registerOnChange(fn: (tags: Tags | null) => void): void {\n this._onChange = fn;\n }\n\n // From ControlValueAccessor interface\n public registerOnTouched(fn: () => void): void {\n this._onTouched = fn;\n }\n\n // From ControlValueAccessor interface\n @HostBinding('attr.aria-describedby')\n public describedBy = '';\n\n public setDescribedByIds(ids: string[]): void {\n this.describedBy = ids.join(' ');\n }\n\n // From ControlValueAccessor interface\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/no-empty-function\n public onContainerClick(_event: MouseEvent): void {}\n\n public addChipToFormControl(event: { value: string }): void {\n const input = this._tagInput?.nativeElement;\n const tagToAdd = (event.value ?? '').trim();\n\n if (isEmpty(tagToAdd)) {\n return;\n }\n\n // Add the tag only if shouldAddTag in validationCb return true\n // Set default callback if not defined\n const tagValidationHook = this.tagValidationHook ?? ((_, validationCb) => validationCb(true));\n\n const validationCb = (shouldAddTag: boolean) => {\n // Add new Tag in form control\n if (shouldAddTag) {\n // Delete Tag if already existing\n const formControlValue = [...(this.value ?? [])].filter(v => v !== tagToAdd);\n\n this.value = [...formControlValue, tagToAdd];\n }\n };\n\n // Reset the input value\n if (input) {\n input.value = '';\n }\n\n tagValidationHook(tagToAdd, validationCb);\n }\n\n public removeChipToFormControl(tag: string): void {\n this.value = [...(this.value ?? [])].filter(v => v !== tag);\n }\n\n public onAutocompleteSelect(event: MatAutocompleteSelectedEvent): void {\n this.addChipToFormControl({ value: event.option.value });\n }\n\n public onMatChipTokenEnd(): void {\n // Give priority to the `onAutocompleteSelect` when validating with the blur event\n setTimeout(() => {\n this.addChipToFormControl({ value: this._tagInput?.nativeElement.value ?? '' });\n }, 100);\n }\n\n private initAutocomplete(): void {\n if (this._autocompleteOptions && this._tagInput?.nativeElement) {\n this.autocompleteFilteredOptions$ = fromEvent(this._tagInput.nativeElement, 'keyup').pipe(\n startWith([] as string[]),\n map(() => {\n return (this._autocompleteOptions ?? []).filter(defaultHeader =>\n defaultHeader.toLowerCase().includes((this._tagInput?.nativeElement.value ?? '').toLowerCase()),\n );\n }),\n distinctUntilChanged(),\n );\n this.changeDetectorRef.detectChanges();\n }\n }\n}\n","<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<mat-chip-list #tagChipList [attr.aria-label]=\"ariaLabel\" multiple [disabled]=\"disabled\">\n <mat-chip *ngFor=\"let tag of value\" [selectable]=\"false\" [removable]=\"!disabled\" (removed)=\"removeChipToFormControl(tag)\">\n {{ tag }}\n <mat-icon matChipRemove>cancel</mat-icon>\n </mat-chip>\n <input\n *ngIf=\"!disabled\"\n #tagInput\n [matAutocompleteDisabled]=\"!_autocompleteOptions\"\n [matAutocomplete]=\"auto\"\n [placeholder]=\"placeholder\"\n [matChipInputFor]=\"tagChipList\"\n [matChipInputAddOnBlur]=\"addOnBlur\"\n (matChipInputTokenEnd)=\"onMatChipTokenEnd()\"\n />\n <mat-autocomplete #auto=\"matAutocomplete\" (optionSelected)=\"onAutocompleteSelect($event)\">\n <mat-option *ngFor=\"let value of autocompleteFilteredOptions$ | async\" [value]=\"value\">\n {{ value }}\n </mat-option>\n </mat-autocomplete>\n</mat-chip-list>\n","/*\n * Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatSelectModule } from '@angular/material/select';\n\nimport { GioFormTagsInputComponent } from './gio-form-tags-input.component';\n\n@NgModule({\n imports: [CommonModule, A11yModule, MatChipsModule, MatInputModule, FormsModule, MatIconModule, MatAutocompleteModule, MatSelectModule],\n declarations: [GioFormTagsInputComponent],\n exports: [GioFormTagsInputComponent],\n entryComponents: [GioFormTagsInputComponent],\n})\nexport class GioFormTagsInputModule {}\n","/*\n * Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { BaseHarnessFilters, ComponentHarness, HarnessPredicate, parallel, TestKey } from '@angular/cdk/testing';\nimport { MatAutocompleteHarness } from '@angular/material/autocomplete/testing';\nimport { MatChipListHarness } from '@angular/material/chips/testing';\n\nexport type GioFormTagsInputHarnessFilters = BaseHarnessFilters;\n\nexport class GioFormTagsInputHarness extends ComponentHarness {\n public static hostSelector = 'gio-form-tags-input';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a `GioFormColorInputHarness` that meets\n * certain criteria.\n *\n * @param options Options for filtering which input instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n public static with(options: GioFormTagsInputHarnessFilters = {}): HarnessPredicate<GioFormTagsInputHarness> {\n return new HarnessPredicate(GioFormTagsInputHarness, options);\n }\n\n protected getMatChipListHarness = this.locatorFor(MatChipListHarness);\n\n public async isDisabled(): Promise<boolean> {\n const matChipList = await this.getMatChipListHarness();\n return matChipList.isDisabled();\n }\n\n public async getTags(): Promise<string[]> {\n const matChipList = await this.getMatChipListHarness();\n\n const chips = await matChipList.getChips();\n\n return parallel(() => chips.map(async chip => await chip.getText()));\n }\n\n public async addTag(tag: string, separatorKey: TestKey | 'blur' = TestKey.ENTER): Promise<void> {\n const matChipList = await this.getMatChipListHarness();\n\n const chipInput = await matChipList.getInput();\n await chipInput.setValue(tag);\n if (separatorKey === 'blur') {\n await chipInput.blur();\n } else {\n await chipInput.sendSeparatorKey(separatorKey);\n }\n }\n\n public async removeTag(tag: string): Promise<void> {\n const matChipList = await this.getMatChipListHarness();\n\n const chips = await matChipList.getChips({ text: tag });\n if (chips[0]) {\n await chips[0].remove();\n }\n }\n\n public async getMatAutocompleteHarness(): Promise<MatAutocompleteHarness | null> {\n const matAutocompleteHarness = await this.locatorForOptional(MatAutocompleteHarness)();\n\n return matAutocompleteHarness;\n }\n}\n","/*\n * Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { Component, Directive, Input } from '@angular/core';\n\nexport type GioBannerTypes = 'error' | 'info' | 'success' | 'warning';\n\n@Component({\n selector: 'gio-banner',\n templateUrl: './gio-banner.component.html',\n styleUrls: ['./gio-banner.component.scss'],\n})\nexport class GioBannerComponent {\n @Input()\n public type: GioBannerTypes = 'info';\n}\n\n@Directive({\n selector: '[gioBannerBody]',\n})\nexport class GioBannerBodyDirective {}\n\n@Directive({\n selector: '[gioBannerAction]',\n})\nexport class GioBannerActionDirective {}\n\n@Component({\n selector: 'gio-banner-error',\n templateUrl: './gio-banner.component.html',\n styleUrls: ['./gio-banner.component.scss'],\n})\nexport class GioBannerErrorComponent extends GioBannerComponent {\n public type = 'error' as GioBannerTypes;\n}\n\n@Component({\n selector: 'gio-banner-info',\n templateUrl: './gio-banner.component.html',\n styleUrls: ['./gio-banner.component.scss'],\n})\nexport class GioBannerInfoComponent extends GioBannerComponent {\n public type = 'info' as GioBannerTypes;\n}\n\n@Component({\n selector: 'gio-banner-success',\n templateUrl: './gio-banner.component.html',\n styleUrls: ['./gio-banner.component.scss'],\n})\nexport class GioBannerSuccessComponent extends GioBannerComponent {\n public type = 'success' as GioBannerTypes;\n}\n\n@Component({\n selector: 'gio-banner-warning',\n templateUrl: './gio-banner.component.html',\n styleUrls: ['./gio-banner.component.scss'],\n})\nexport class GioBannerWarningComponent extends GioBannerComponent {\n public type = 'warning' as GioBannerTypes;\n}\n","<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div\n class=\"banner\"\n [class.info]=\"type === 'info'\"\n [class.error]=\"type === 'error'\"\n [class.warning]=\"type === 'warning'\"\n [class.success]=\"type === 'success'\"\n>\n <div class=\"banner__wrapper\">\n <div class=\"banner__wrapper__icon\" [ngSwitch]=\"type\">\n <mat-icon *ngSwitchCase=\"'info'\" svgIcon=\"gio:chat-lines\"></mat-icon>\n <mat-icon *ngSwitchCase=\"'error'\" svgIcon=\"gio:chat-bubble-error\"></mat-icon>\n <mat-icon *ngSwitchCase=\"'warning'\" svgIcon=\"gio:chat-bubble-warning\"></mat-icon>\n <mat-icon *ngSwitchCase=\"'success'\" svgIcon=\"gio:chat-bubble-check\"></mat-icon>\n </div>\n <div class=\"banner__wrapper__head\">\n <div class=\"banner__wrapper__title\">\n <ng-content></ng-content>\n </div>\n <div #body class=\"banner__wrapper__body\" [class.hide]=\"!body.children.length\">\n <ng-content select=\"[gioBannerBody]\"></ng-content>\n </div>\n </div>\n <div #action class=\"banner__wrapper__action\" [class.hide]=\"!action.children.length\">\n <ng-content select=\"[gioBannerAction]\"></ng-content>\n </div>\n </div>\n</div>\n","/*\n * Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { CommonModule } from '@angular/common';\nimport { HttpClientModule } from '@angular/common/http';\nimport { NgModule } from '@angular/core';\nimport { MatIconModule, MatIconRegistry } from '@angular/material/icon';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n@NgModule({\n imports: [CommonModule, HttpClientModule, MatIconModule],\n exports: [MatIconModule],\n entryComponents: [],\n})\nexport class GioIconsModule {\n constructor(matIconRegistry: MatIconRegistry, sanitizer: DomSanitizer) {\n matIconRegistry.addSvgIconSetInNamespace('gio', sanitizer.bypassSecurityTrustResourceUrl('assets/gio-icons.svg'));\n }\n}\n","/*\n * Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { GioIconsModule } from '../gio-icons/gio-icons.module';\n\nimport {\n GioBannerComponent,\n GioBannerBodyDirective,\n GioBannerErrorComponent,\n GioBannerInfoComponent,\n GioBannerSuccessComponent,\n GioBannerWarningComponent,\n GioBannerActionDirective,\n} from './gio-banner.component';\n\n@NgModule({\n imports: [CommonModule, MatIconModule, GioIconsModule],\n declarations: [\n GioBannerComponent,\n GioBannerErrorComponent,\n GioBannerInfoComponent,\n GioBannerSuccessComponent,\n GioBannerWarningComponent,\n GioBannerBodyDirective,\n GioBannerActionDirective,\n ],\n exports: [\n GioBannerComponent,\n GioBannerErrorComponent,\n GioBannerInfoComponent,\n GioBannerSuccessComponent,\n GioBannerWarningComponent,\n GioBannerBodyDirective,\n GioBannerActionDirective,\n ],\n entryComponents: [\n GioBannerComponent,\n GioBannerErrorComponent,\n GioBannerInfoComponent,\n GioBannerSuccessComponent,\n GioBannerWarningComponent,\n ],\n})\nexport class GioBannerModule {}\n","/*\n * Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { Component, Inject } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\n\nexport type GioConfirmDialogData = {\n title?: string;\n content?: string;\n confirmButton?: string;\n cancelButton?: string;\n};\n\n@Component({\n selector: 'gio-confirm-dialog',\n templateUrl: './gio-confirm-dialog.component.html',\n styleUrls: ['./gio-confirm-dialog.component.scss'],\n})\nexport class GioConfirmDialogComponent {\n public title: string;\n public content?: string;\n public confirmButton: string;\n public cancelButton: string;\n\n constructor(public dialogRef: MatDialogRef<GioConfirmDialogComponent>, @Inject(MAT_DIALOG_DATA) confirmDialogData: GioConfirmDialogData) {\n this.title = confirmDialogData?.title ?? 'Are you sure?';\n this.content = confirmDialogData?.content;\n this.confirmButton = confirmDialogData?.confirmButton ?? 'Confirm';\n this.cancelButton = confirmDialogData?.cancelButton ?? 'Cancel';\n }\n}\n","<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<h2 mat-dialog-title class=\"confirm-dialog__title\">{{ title }}</h2>\n\n<mat-dialog-content *ngIf=\"content\" class=\"confirm-dialog__content\">\n <p [innerHTML]=\"content\"></p>\n</mat-dialog-content>\n\n<mat-dialog-actions align=\"end\" class=\"confirm-dialog__actions\">\n <button class=\"confirm-dialog__cancel-button\" mat-flat-button [mat-dialog-close]=\"false\">\n {{ cancelButton }}\n </button>\n <button\n class=\"confirm-dialog__confirm-button\"\n color=\"warn\"\n mat-raised-button\n [mat-dialog-close]=\"true\"\n cdkFocusInitial\n data-testid=\"confirm-dialog\"\n >\n {{ confirmButton }}\n </button>\n</mat-dialog-actions>\n","/*\n * Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialogModule } from '@angular/material/dialog';\n\nimport { GioConfirmDialogComponent } from './gio-confirm-dialog.component';\n\n@NgModule({\n imports: [CommonModule, MatButtonModule, MatDialogModule, A11yModule],\n declarations: [GioConfirmDialogComponent],\n exports: [GioConfirmDialogComponent],\n entryComponents: [GioConfirmDialogComponent],\n})\nexport class GioConfirmDialogModule {}\n","/*\n * Copyright (C) 2022 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 */\nimport { ComponentHarness } from '@angular/cdk/testing';\nimport { MatButtonHarness } from '@angular/material/button/testing';\n\nexport class GioConfirmDialogHarness extends ComponentHarness {\n public static hostSelector = 'gio-confirm-dialog';\n\n private getConfirmBtn = this.locatorFor(MatButtonHarness.with({ selector: '.confirm-dialog__confirm-button' }));\n private getCancelBtn = this.locatorFor(MatButtonHarness.with({ selector: '.confirm-dialog__cancel-button' }));\n\n public async confirm(): Promise<void> {\n const button = await this.getConfirmBtn();\n await button.click();\n }\n\n public async cancel(): Promise<void> {\n const button = await this.getCancelBtn();\n await button.click();\n }\n}\n","/*\n * Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { Component, Inject } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { toLower } from 'lodash';\n\nexport type GioConfirmAndValidateDialogData = {\n title?: string;\n warning?: string;\n content?: string;\n validationMessage?: string;\n validationValue?: string;\n confirmButton?: string;\n cancelButton?: string;\n};\n\n@Component({\n selector: 'gio-confirm-and-validate-dialog',\n templateUrl: './gio-confirm-and-validate-dialog.component.html',\n styleUrls: ['./gio-confirm-and-validate-dialog.component.scss'],\n})\nexport class GioConfirmAndValidateDialogComponent {\n public title: string;\n public warning?: string;\n public content?: string;\n public validationMessage?: string;\n public validationValue: string;\n public confirmButton: string;\n public cancelButton: string;\n\n public confirmValue?: string;\n public isValid = false;\n\n constructor(\n public dialogRef: MatDialogRef<GioConfirmAndValidateDialogComponent>,\n @Inject(MAT_DIALOG_DATA) confirmDialogData: GioConfirmAndValidateDialogData,\n ) {\n this.title = confirmDialogData?.title ?? 'Are you sure?';\n this.warning = confirmDialogData?.warning;\n this.content = confirmDialogData?.content;\n this.validationMessage = extendValidationMessage(\n confirmDialogData?.validationMessage ?? 'Please, type <code>confirm</code> to confirm.',\n );\n this.validationValue = confirmDialogData?.validationValue ?? 'confirm';\n this.confirmButton = confirmDialogData?.confirmButton ?? 'Confirm';\n this.cancelButton = confirmDialogData?.cancelButton ?? 'Cancel';\n }\n\n public onConfirmChange(confirmValue: string): void {\n this.isValid = toLower(confirmValue) === toLower(this.validationValue);\n }\n}\n\nconst extendValidationMessage = (validationMessage: string) => {\n return validationMessage.replace('<code>', '<code class=\"gio-badge-warning\">');\n};\n","<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<h2 mat-dialog-title class=\"confirm-dialog__title\">{{ title }}</h2>\n\n<mat-dialog-content class=\"confirm-dialog__body\">\n <gio-banner-warning *ngIf=\"warning\"><span [innerHTML]=\"warning\"></span></gio-banner-warning>\n <p class=\"confirm-dialog__body__content\" *ngIf=\"content\" [innerHTML]=\"content\"></p>\n <p class=\"confirm-dialog__body__validate-message\" [innerHTML]=\"validationMessage\"></p>\n <mat-form-field class=\"confirm-dialog__body__validate-input\" appearance=\"outline\" floatLabel=\"always\">\n <mat-label>Confirm</mat-label>\n <input\n matInput\n cdkFocusInitial\n type=\"text\"\n [placeholder]=\"validationValue\"\n [ngModel]=\"confirmValue\"\n (ngModelChange)=\"onConfirmChange($event)\"\n required\n data-testid=\"confirm-input-dialog\"\n />\n </mat-form-field>\n</mat-dialog-content>\n\n<mat-dialog-actions align=\"end\" class=\"confirm-dialog__actions\">\n <button\n class=\"confirm-dialog__confirm-button\"\n [disabled]=\"!isValid\"\n color=\"warn\"\n mat-raised-button\n [mat-dialog-close]=\"true\"\n data-testid=\"confirm-dialog\"\n >\n {{ confirmButton }}\n </button>\n <button class=\"confirm-dialog__cancel-button\" mat-flat-button [mat-dialog-close]=\"false\">\n {{ cancelButton }}\n </button>\n</mat-dialog-actions>\n","/*\n * Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\n\nimport { GioBannerModule } from '../public-api';\n\nimport { GioConfirmAndValidateDialogComponent } from './gio-confirm-and-validate-dialog.component';\n\n@NgModule({\n imports: [CommonModule, FormsModule, MatButtonModule, MatDialogModule, MatInputModule, MatFormFieldModule, A11yModule, GioBannerModule],\n declarations: [GioConfirmAndValidateDialogComponent],\n exports: [GioConfirmAndValidateDialogComponent],\n entryComponents: [GioConfirmAndValidateDialogComponent],\n})\nexport class GioConfirmAndValidateDialogModule {}\n","/*\n * Copyright (C) 2022 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 */\nimport { ComponentHarness } from '@angular/cdk/testing';\nimport { MatButtonHarness } from '@angular/material/button/testing';\nimport { MatInputHarness } from '@angular/material/input/testing';\n\nexport class GioConfirmAndValidateDialogHarness extends ComponentHarness {\n public static hostSelector = 'gio-confirm-and-validate-dialog';\n\n private getConfirmBtn = this.locatorFor(MatButtonHarness.with({ selector: '.confirm-dialog__confirm-button' }));\n private getCancelBtn = this.locatorFor(MatButtonHarness.with({ selector: '.confirm-dialog__cancel-button' }));\n private getConfirmInput = this.locatorFor(MatInputHarness);\n\n public async confirm(): Promise<void> {\n const confirmInput = await this.getConfirmInput();\n await confirmInput.setValue(await confirmInput.getPlaceholder());\n\n const button = await this.getConfirmBtn();\n if (!(await button.isDisabled())) {\n await button.click();\n }\n }\n\n public async cancel(): Promise<void> {\n const button = await this.getCancelBtn();\n await button.click();\n }\n}\n","/*\n * Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FocusMonitor } from '@angular/cdk/a11y';\nimport { Component, ElementRef, forwardRef, HostBinding, OnInit } from '@angular/core';\nimport { ControlValueAccessor, FormArray, FormControl, FormGroup, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { dropRight, isEmpty } from 'lodash';\nimport { map, startWith, tap } from 'rxjs/operators';\nimport { Observable, of } from 'rxjs';\n\nexport type Header = { key: string; value: string };\nconst HEADER_NAMES = [\n 'Accept',\n 'Accept-Charset',\n 'Accept-Encoding',\n 'Accept-Language',\n 'Accept-Ranges',\n 'Access-Control-Allow-Credentials',\n 'Access-Control-Allow-Headers',\n 'Access-Control-Allow-Methods',\n 'Access-Control-Allow-Origin',\n 'Access-Control-Expose-Headers',\n 'Access-Control-Max-Age',\n 'Access-Control-Request-Headers',\n 'Access-Control-Request-Method',\n 'Age',\n 'Allow',\n 'Authorization',\n 'Cache-Control',\n 'Connection',\n 'Content-Disposition',\n 'Content-Encoding',\n 'Content-ID',\n 'Content-Language',\n 'Content-Length',\n 'Content-Location',\n 'Content-MD5',\n 'Content-Range',\n 'Content-Type',\n 'Cookie',\n 'Date',\n 'ETag',\n 'Expires',\n 'Expect',\n 'Forwarded',\n 'From',\n 'Host',\n 'If-Match',\n 'If-Modified-Since',\n 'If-None-Match',\n 'If-Unmodified-Since',\n 'Keep-Alive',\n 'Last-Modified',\n 'Location',\n 'Link',\n 'Max-Forwards',\n 'MIME-Version',\n 'Origin',\n 'Pragma',\n 'Proxy-Authenticate',\n 'Proxy-Authorization',\n 'Proxy-Connection',\n 'Range',\n 'Referer',\n 'Retry-After',\n 'Server',\n 'Set-Cookie',\n 'Set-Cookie2',\n 'TE',\n 'Trailer',\n 'Transfer-Encoding',\n 'Upgrade',\n 'User-Agent',\n 'Vary',\n 'Via',\n 'Warning',\n 'WWW-Authenticate',\n 'X-Forwarded-For',\n 'X-Forwarded-Proto',\n 'X-Forwarded-Server',\n 'X-Forwarded-Host',\n 'X-Forwarded-Port',\n 'X-Forwarded-Prefix',\n];\n\n@Component({\n selector: 'gio-form-headers',\n templateUrl: './gio-form-headers.component.html',\n styleUrls: ['./gio-form-headers.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => GioFormHeadersComponent),\n multi: true,\n },\n ],\n})\nexport class GioFormHeadersComponent implements OnInit, ControlValueAccessor {\n public mainForm: FormGroup;\n public headersFormArray = new FormArray([\n new FormGroup({\n key: new FormControl(''),\n value: new FormControl(''),\n }),\n ]);\n\n @HostBinding('class.disabled')\n public disabled = false;\n\n private headers: Header[] = [];\n\n private _onChange: (_headers: Header[] | null) => void = () => ({});\n\n private _onTouched: () => void = () => ({});\n\n private filteredHeaderNames: Observable<string[]>[] = [];\n\n constructor(private readonly fm: FocusMonitor, private readonly elRef: ElementRef) {\n this.mainForm = new FormGroup({\n headers: this.headersFormArray,\n });\n }\n\n // From ControlValueAccessor interface\n public writeValue(value: Header[] | null): void {\n if (!value) {\n return;\n }\n\n this.headers = value ?? [];\n this.initHeadersForm();\n }\n\n // From ControlValueAccessor interface\n public registerOnChange(fn: (headers: Header[] | null) => void): void {\n this._onChange = fn;\n }\n\n // From ControlValueAccessor interface\n public registerOnTouched(fn: () => void): void {\n this._onTouched = fn;\n }\n\n // From ControlValueAccessor interface\n public setDisabledState(isDisabled: boolean): void {\n if (isDisabled === this.disabled) {\n // do nothing if the disabled state is not changed\n return;\n }\n\n this.disabled = isDisabled;\n if (isDisabled) {\n this.headersFormArray.disable({ emitEvent: false });\n this.removeLastHeader();\n return;\n }\n this.headersFormArray.enable({ emitEvent: false });\n this.addEmptyHeader();\n }\n\n public ngOnInit(): void {\n // When user start to complete last header add new empty one a the end\n this.headersFormArray?.valueChanges\n .pipe(\n tap(headers => headers.length > 0 && this._onChange(removeLastEmptyHeader(headers))),\n tap((headers: Header[]) => {\n if (headers.length > 0 && (headers[headers.length - 1].key !== '' || headers[headers.length - 1].value !== '')) {\n this.addEmptyHeader();\n }\n }),\n )\n .subscribe();\n\n this.fm.monitor(this.elRef.nativeElement, true).subscribe(() => {\n this._onTouched();\n });\n }\n\n public initHeadersForm(): void {\n // Clear all previous headers\n this.headersFormArray.clear();\n\n // Populate headers array from headers\n this.headers.forEach(({ key, value }, headerIndex) => {\n this.headersFormArray.push(\n new FormGroup({\n key: this.initKeyFormControl(key, headerIndex),\n value: new FormControl({ value, disabled: this.disabled }),\n }),\n {\n emitEvent: false,\n },\n );\n });\n\n // add one empty header a the end\n this.addEmptyHeader();\n }\n\n public getFilteredHeaderNames(headerIndex: number, header: Header): Observable<string[]> {\n if (!this.filteredHeaderNames[headerIndex]) {\n return this.filteredHeaderNames[headerIndex];\n }\n if (header.key != null && header.key != '') {\n this.filteredHeaderNames[headerIndex] = of(header.key).pipe(map(value => this._filter(value)));\n return this.filteredHeaderNames[headerIndex];\n }\n return of(HEADER_NAMES);\n }\n\n private initKeyFormControl(key: string, headerIndex: number) {\n const control = new FormControl({ value: key, disabled: this.disabled });\n const filteredKeys = control.valueChanges.pipe(\n startWith(''),\n map(value => this._filter(value)),\n );\n this.filteredHeaderNames.splice(headerIndex, 0, filteredKeys);\n return control;\n }\n\n public onDeleteHeader(headerIndex: number): void {\n this._onTouched();\n this.headersFormArray.removeAt(headerIndex);\n }\n\n private addEmptyHeader() {\n if (this.disabled) {\n return;\n }\n\n this.headersFormArray.push(\n new FormGroup({\n key: this.initKeyFormControl('', this.headersFormArray.length),\n value: new FormControl(''),\n }),\n { emitEvent: false },\n );\n }\n\n private removeLastHeader() {\n this.headersFormArray.removeAt(this.headersFormArray.length - 1, { emitEvent: false });\n }\n\n private _filter(value: string): string[] {\n const filterValue = value.toLowerCase();\n return HEADER_NAMES.filter(option => option.toLowerCase().includes(filterValue));\n }\n}\n\nconst removeLastEmptyHeader = (headers: Header[]) => {\n const lastHeader = headers[headers.length - 1];\n\n if (lastHeader && isEmpty(lastHeader.key) && isEmpty(lastHeader.value)) {\n return dropRight(headers);\n }\n return headers;\n};\n","<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<table class=\"gio-form-headers__table gio-table-light\" [formGroup]=\"mainForm\">\n <thead>\n <tr>\n <th>KEY</th>\n <th>VALUE</th>\n </tr>\n </thead>\n <tbody formArrayName=\"headers\">\n <tr\n *ngFor=\"let control of headersFormArray.controls; index as headerIndex\"\n class=\"gio-form-headers__table__header-row\"\n [formGroupName]=\"headerIndex\"\n >\n <td class=\"gio-form-headers__table__header-row__td-key\">\n <mat-form-field class=\"gio-form-headers__table__header-row__td-key__field\" [floatLabel]=\"'never'\">\n <textarea\n formControlName=\"key\"\n matInput\n placeholder=\"Name...\"\n cdkTextareaAutosize\n cdkAutosizeMinRows=\"1\"\n [matAutocomplete]=\"headerNamesAutocomplete\"\n ></textarea>\n </mat-form-field>\n <mat-autocomplete #headerNamesAutocomplete=\"matAutocomplete\">\n <mat-option *ngFor=\"let headerName of getFilteredHeaderNames(headerIndex, control.value) | async\" [value]=\"headerName\">{{\n headerName\n }}</mat-option>\n </mat-autocomplete>\n </td>\n <td class=\"gio-form-headers__table__header-row__td-value\">\n <mat-form-field class=\"gio-form-headers__table__header-row__td-value__field\" [floatLabel]=\"'never'\">\n <textarea formControlName=\"value\" matInput placeholder=\"Value...\" cdkTextareaAutosize cdkAutosizeMinRows=\"1\"></textarea>\n </mat-form-field>\n <button\n class=\"gio-form-headers__table__header-row__td-value__button\"\n *ngIf=\"headersFormArray.controls.length - 1 !== headerIndex\"\n mat-icon-button\n aria-label=\"Delete\"\n (click)=\"onDeleteHeader(headerIndex)\"\n >\n <mat-icon svgIcon=\"gio:cancel\"></mat-icon>\n </button>\n </td>\n </tr>\n </tbody>\n</table>\n","/*\n * Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { MatOptionModule } from '@angular/material/core';\n\nimport { GioIconsModule } from '../gio-icons/gio-icons.module';\n\nimport { GioFormHeadersComponent } from './gio-form-headers.component';\n\n@NgModule({\n imports: [\n CommonModule,\n MatInputModule,\n MatFormFieldModule,\n ReactiveFormsModule,\n GioIconsModule,\n MatButtonModule,\n MatAutocompleteModule,\n MatOptionModule,\n ],\n declarations: [GioFormHeadersComponent],\n exports: [GioFormHeadersComponent],\n entryComponents: [GioFormHeadersComponent],\n})\nexport class GioFormHeadersModule {}\n","/*\n * Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { AsyncFactoryFn, BaseHarnessFilters, ComponentHarness, HarnessPredicate } from '@angular/cdk/testing';\nimport { MatButtonHarness } from '@angular/material/button/testing';\nimport { MatInputHarness } from '@angular/material/input/testing';\nimport { MatAutocompleteHarness } from '@angular/material/autocomplete/testing';\n\nexport class GioFormHeadersHarness extends ComponentHarness {\n public static hostSelector = 'gio-form-headers';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a `GioFormColorInputHarness` that meets\n * certain criteria.\n *\n * @param options Options for filtering which input instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n public static with(options: BaseHarnessFilters = {}): HarnessPredicate<GioFormHeadersHarness> {\n return new HarnessPredicate(GioFormHeadersHarness, options);\n }\n\n private getHeaderRowsElement = this.locatorForAll('tr.gio-form-headers__table__header-row');\n\n private getHeaderRowInputKey = (rowIndex: number): AsyncFactoryFn<MatInputHarness> =>\n this.locatorFor(MatInputHarness.with({ ancestor: `[ng-reflect-name=\"${rowIndex}\"]`, selector: '[formControlName=key]' }));\n\n private getHeaderRowInputKeyAutocomplete = (rowIndex: number): AsyncFactoryFn<MatAutocompleteHarness> =>\n this.locatorFor(MatAutocompleteHarness.with({ ancestor: `tr[ng-reflect-name=\"${rowIndex}\"]`, selector: '.mat-autocomplete-trigger' }));\n\n private getHeaderRowInputValue = (rowIndex: number): AsyncFactoryFn<MatInputHarness> =>\n this.locatorFor(MatInputHarness.with({ ancestor: `tr[ng-reflect-name=\"${rowIndex}\"]`, selector: '[formControlName=value]' }));\n\n private getHeaderRowRemoveButton = (rowIndex: number): AsyncFactoryFn<MatButtonHarness | null> =>\n this.locatorForOptional(MatButtonHarness.with({ ancestor: `tr[ng-reflect-name=\"${rowIndex}\"]`, selector: '[aria-label=\"Delete\"]' }));\n\n public async getHeaderRows(): Promise<\n {\n keyInput: MatInputHarness;\n keyAutocomplete: MatAutocompleteHarness;\n valueInput: MatInputHarness;\n removeButton: MatButtonHarness | null;\n }[]\n > {\n const rows = await this.getHeaderRowsElement();\n\n return Promise.all(\n rows.map(async (_, rowIndex) => ({\n keyInput: await this.getHeaderRowInputKey(rowIndex)(),\n keyAutocomplete: await this.getHeaderRowInputKeyAutocomplete(rowIndex)(),\n valueInput: await this.getHeaderRowInputValue(rowIndex)(),\n removeButton: await this.getHeaderRowRemoveButton(rowIndex)(),\n })),\n );\n }\n\n public async getLastHeaderRow(): Promise<{ keyInput: MatInputHarness; valueInput: MatInputHarness }> {\n const rows = await this.getHeaderRowsElement();\n\n return {\n keyInput: await this.getHeaderRowInputKey(rows.length - 1)(),\n valueInput: await this.getHeaderRowInputValue(rows.length - 1)(),\n };\n }\n\n public async addHeader({ key, value }: { key: string; value: string }): Promise<void> {\n const { keyInput, valueInput } = await this.getLastHeaderRow();\n\n await keyInput.setValue(key);\n await valueInput.setValue(value);\n }\n\n public async isDisabled(): Promise<boolean> {\n return (await this.host()).hasClass('disabled');\n }\n}\n","/*\n * Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n selector: 'gio-form-file-picker-add-button',\n templateUrl: './gio-form-file-picker-add-button.component.html',\n styleUrls: ['./gio-form-file-picker-add-button.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class GioFormFilePickerAddButtonComponent {}\n","<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n \n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div class=\"add-button\" matRipple>\n <div #content><ng-content></ng-content></div>\n <span *ngIf=\"!content.children.length\">\n <mat-icon class=\"add-button__image\" svgIcon=\"gio:upload\"></mat-icon>\n <span class=\"add-button__content\">Drag your file</span>\n </span>\n</div>\n","/*\n * Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n selector: 'gio-form-file-picker-empty',\n templateUrl: './gio-form-file-picker-empty.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class GioFormFilePickerEmptyComponent {}\n","<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n \n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div #content><ng-content></ng-content></div>\n<span *ngIf=\"!content.children.length\"> No file defined </span>\n","/*\n * Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n selector: 'gio-form-file-picker-label',\n templateUrl: './gio-form-file-picker-label.component.html',\n styleUrls: ['./gio-form-file-picker-label.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class GioFormFilePickerLabelComponent {}\n","<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n \n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div class=\"mat-caption\"><ng-content></ng-content></div>\n","/*\n * Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport class NewFile {\n constructor(public readonly name: string, public readonly dataUrl: string, public readonly file?: File) {}\n}\n","/*\n * Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, OnInit, Optional, Self } from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { isArray, isNil, remove } from 'lodash';\nimport { ReadFile, ReadMode } from 'ngx-file-helpers';\nimport { tap } from 'rxjs/operators';\n\nimport { NewFile } from './gio-form-file-picker.model';\n\ntype FileValue = {\n name: string;\n isNew: boolean;\n dataUrl: string;\n file?: File;\n isImage: boolean;\n};\n\n@Component({\n selector: 'gio-form-file-picker',\n templateUrl: './gio-form-file-picker.component.html',\n styleUrls: ['./gio-form-file-picker.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class GioFormFilePickerComponent implements OnInit, ControlValueAccessor {\n @Input()\n public multiple = false;\n\n @Input()\n public accept = '*';\n\n @Input()\n public set disabled(disabled: boolean) {\n this.setDisabledState(disabled);\n }\n\n public fileValues: FileValue[] = [];\n public readMode: ReadMode = ReadMode.dataURL;\n public dragHover = false;\n public isDisabled = false;\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n private onChangeCallback: (files: (string | NewFile)[]) => void = () => {};\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n private onTouchedCallback = () => {};\n\n constructor(private changeDetectorRef: ChangeDetectorRef, @Self() @Optional() public ngControl?: NgControl) {\n if (ngControl) {\n // Setting the value accessor directly (instead of using\n // the providers `NG_VALUE_ACCESSOR`) to avoid running into a circular import.\n ngControl.valueAccessor = this;\n }\n }\n\n public ngOnInit(): void {\n if (this.ngControl && this.ngControl.statusChanges) {\n // As the change detection is OnPush we have to markForCheck the component after a validation change because no input/output or values have changed\n this.ngControl.statusChanges.pipe(tap(() => this.changeDetectorRef.markForCheck())).subscribe();\n }\n }\n\n public get isComplete(): boolean {\n return (!this.multiple && this.fileValues.length === 1) || false;\n }\n\n public get isValid(): boolean | null {\n return !this.ngControl || !this.ngControl.touched || this.ngControl.valid;\n }\n\n // implement by ControlValueAccessor\n public async writeValue(inputs?: string[]): Promise<void> {\n if (isNil(inputs) || !isArray(inputs)) {\n this.fileValues = [];\n return Promise.resolve();\n }\n\n this.fileValues = await Promise.all(\n inputs.map(async input => ({\n isNew: false,\n name: input,\n dataUrl: input,\n isImage: await isImgUrl(input),\n })),\n );\n this.changeDetectorRef.markForCheck();\n }\n\n // implement by ControlValueAccessor\n public registerOnChange(fn: (v: unknown) => void): void {\n this.onChangeCallback = fn;\n }\n\n // implement by ControlValueAccessor\n public registerOnTouched(fn: () => void): void {\n this.onTouchedCallback = fn;\n }\n\n // implement by ControlValueAccessor\n public setDisabledState(isDisabled: boolean): void {\n this.isDisabled = isDisabled;\n }\n\n public onFilePicked(event: ReadFile): void {\n this.handleReceivedFileEvent(event);\n }\n\n public onFileDropped(event: ReadFile): void {\n this.handleReceivedFileEvent(event);\n }\n\n public onRemoveFile(file: FileValue): void {\n this.onTouchedCallback();\n this.dragHover = false;\n\n remove(this.fileValues, { name: file.name });\n\n this.emitFileValue();\n }\n\n public onTouched(): void {\n this.onTouchedCallback();\n this.dragHover = false;\n }\n\n public onDragEnter($event: DragEvent): void {\n const el = $event.target as HTMLElement | null;\n if (el) {\n this.dragHover = true;\n this.onTouchedCallback();\n }\n }\n\n public onDragOver($event: DragEvent): void {\n const el = $event.target as HTMLElement | null;\n\n if (el) {\n this.dragHover = false;\n this.onTouchedCallback();\n }\n }\n\n private handleReceivedFileEvent(event: ReadFile) {\n this.onTouchedCallback();\n\n this.dragHover = false;\n\n if (!this.multiple) {\n this.fileValues = [];\n }\n\n this.fileValues.push({\n name: event.name,\n isNew: true,\n dataUrl: event.content,\n file: event.underlyingFile,\n isImage: event.type.startsWith('image/'),\n });\n\n this.emitFileValue();\n }\n\n private emitFileValue() {\n this.onChangeCallback(\n this.fileValues.map(fileValue =>\n fileValue.isNew ? new NewFile(fileValue.name, fileValue.dataUrl, fileValue.file) : fileValue.dataUrl,\n ),\n );\n }\n}\n\nconst isImgUrl = (url: string): Promise<boolean> => {\n try {\n const img = new Image();\n img.src = url;\n return new Promise(resolve => {\n img.onerror = () => resolve(false);\n img.onload = () => resolve(true);\n });\n } catch (error) {\n return Promise.resolve(false);\n }\n};\n","<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n \n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<ng-content select=\"gio-form-file-picker-label\"></ng-content>\n<div\n *ngIf=\"!isDisabled; else disabledTpl\"\n class=\"file-picker\"\n ngxFileDropzone\n [readMode]=\"readMode\"\n (fileDrop)=\"onFileDropped($event)\"\n (dragenter)=\"onDragEnter($event)\"\n (dragleave)=\"onDragOver($event)\"\n (blur)=\"dragHover = false\"\n>\n <div\n *ngIf=\"!isComplete\"\n class=\"file-picker__add-button\"\n [class.complete]=\"isComplete\"\n [class.error]=\"!isValid\"\n [class.drag-hover]=\"dragHover\"\n ngxFilePicker\n [accept]=\"accept\"\n [readMode]=\"readMode\"\n [multiple]=\"multiple\"\n (filePick)=\"onFilePicked($event)\"\n (click)=\"onTouched()\"\n >\n <div #addButton class=\"file-picker__add-button__content\"><ng-content select=\"gio-form-file-picker-add-button\"></ng-content></div>\n <gio-form-file-picker-add-button *ngIf=\"addButton.children.length === 0\"></gio-form-file-picker-add-button>\n </div>\n <div *ngFor=\"let fileValue of fileValues\" class=\"file-picker__preview\" [class.drag-hover]=\"dragHover\" [class.error]=\"!isValid\">\n <a class=\"file-picker__preview__delete\" (click)=\"onRemoveFile(fileValue)\">\n <mat-icon svgIcon=\"gio:cancel\"></mat-icon>\n </a>\n\n <ng-container *ngTemplateOutlet=\"filePreview; context: { fileValue: this.fileValue }\"></ng-container>\n </div>\n</div>\n\n<ng-template #disabledTpl>\n <div class=\"file-picker disabled\">\n <ng-container *ngIf=\"fileValues.length === 0\">\n <span #previewEmpty class=\"file-picker__preview-empty disabled\">\n <ng-content select=\"gio-form-file-picker-empty\"></ng-content>\n <gio-form-file-picker-empty\n *ngIf=\"previewEmpty.children.length === 0\"\n class=\"file-picker__preview-empty__default\"\n ></gio-form-file-picker-empty>\n </span>\n </ng-container>\n\n <div class=\"file-picker__preview disabled\" *ngFor=\"let fileValue of fileValues\">\n <ng-container *ngTemplateOutlet=\"filePreview; context: { fileValue: this.fileValue }\"></ng-container>\n </div>\n </div>\n</ng-template>\n\n<ng-template #filePreview let-fileValue=\"fileValue\">\n <div class=\"file-picker__preview__image\" *ngIf=\"fileValue.isImage\" [style.background-image]=\"'url(' + fileValue.dataUrl + ')'\"></div>\n <div class=\"file-picker__preview__file\" *ngIf=\"!fileValue.isImage\">\n <p>{{ fileValue.name }}</p>\n </div>\n</ng-template>\n","/*\n * Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { MatRippleModule } from '@angular/material/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { NgxFileHelpersModule } from 'ngx-file-helpers';\n\nimport { GioIconsModule } from '../gio-icons/gio-icons.module';\n\nimport { GioFormFilePickerAddButtonComponent } from './gio-form-file-picker-add-button/gio-form-file-picker-add-button.component';\nimport { GioFormFilePickerEmptyComponent } from './gio-form-file-picker-empty/gio-form-file-picker-empty.component';\nimport { GioFormFilePickerLabelComponent } from './gio-form-file-picker-label/gio-form-file-picker-label.component';\nimport { GioFormFilePickerComponent } from './gio-form-file-picker.component';\n\n@NgModule({\n declarations: [\n GioFormFilePickerComponent,\n GioFormFilePickerAddButtonComponent,\n GioFormFilePickerEmptyComponent,\n GioFormFilePickerLabelComponent,\n ],\n exports: [\n GioFormFilePickerComponent,\n GioFormFilePickerAddButtonComponent,\n GioFormFilePickerEmptyComponent,\n GioFormFilePickerLabelComponent,\n ],\n imports: [CommonModule, ReactiveFormsModule, NgxFileHelpersModule, MatRippleModule, MatIconModule, GioIconsModule],\n})\nexport class GioFormFilePickerModule {}\n","/*\n * Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { BaseHarnessFilters, ComponentHarness, HarnessPredicate } from '@angular/cdk/testing';\n\ninterface GioFormFilePickerHarnessFilters extends BaseHarnessFilters {\n /** Filters based on the formControlName */\n formControlName?: string;\n}\n\nexport class GioFormFilePickerInputHarness extends ComponentHarness {\n public static hostSelector = 'gio-form-file-picker';\n\n public static with(options: GioFormFilePickerHarnessFilters): HarnessPredicate<GioFormFilePickerInputHarness> {\n return new HarnessPredicate(GioFormFilePickerInputHarness, options).addOption(\n 'formControlName',\n options.formControlName,\n (harness, text) => HarnessPredicate.stringMatches(harness.getFormControlName(), text),\n );\n }\n\n /**\n * Hack force onload on Image Object\n * GioFormFilePickerComponent use a Image Object to check if the file is an image.\n * This method allow to force onload event on the Image Object.\n * @param excludeSrc call onerror instead of onload for this src\n */\n public static forceImageOnload(excludeSrc: string[] = []): void {\n Object.defineProperties(Image.prototype, {\n src: {\n get: function () {\n return this._src;\n },\n set: function (src) {\n this._src = src;\n },\n },\n onload: {\n get: function () {\n return this._onload;\n },\n set: function (fn) {\n this._onload = fn;\n\n excludeSrc.includes(this._src) ? this.onerror() : this.onload();\n },\n },\n });\n }\n\n protected _mainDiv = this.locatorFor('.file-picker__add-button');\n protected _hasErrorClass = this.locatorForOptional('[class=\"file-picker__add-button error\"]');\n protected _inputFile = this.locatorFor('input[type=\"file\"]');\n protected _getDisabledElement = this.locatorForOptional('.disabled');\n\n private async getFormControlName(): Promise<string | null> {\n const filePickerInputHarness = await this.host();\n return filePickerInputHarness.getAttribute('formControlName');\n }\n\n public async hasErrorClass(): Promise<boolean> {\n return !!(await this._hasErrorClass());\n }\n\n public async clickInside(): Promise<void> {\n await (await this._mainDiv()).click();\n }\n\n public async getInputFileAccept(): Promise<string | null> {\n return await (await this._inputFile()).getAttribute('accept');\n }\n\n public async getPreviews(): Promise<(string | null)[]> {\n const previewImages = await this.locatorForAll('.file-picker__preview__image')();\n const previewFiles = await this.locatorForAll('.file-picker__preview__file')();\n\n return Promise.all([\n ...previewImages.map(previewImage => previewImage.getAttribute('style')),\n ...previewFiles.map(previewFile => previewFile.text()),\n ]);\n }\n\n public async isAddButtonPresent(): Promise<boolean> {\n return (await this.locatorForOptional('gio-form-file-picker-add-button')()) !== null;\n }\n\n public async isDisabled(): Promise<boolean> {\n return !!(await this._getDisabledElement());\n }\n\n public async deleteFile(fileIndex = 0): Promise<void> {\n const deleteButtons = await this.locatorForAll('.file-picker__preview__delete')();\n\n return deleteButtons[fileIndex].click();\n }\n\n public async dropFiles(files: File[]): Promise<void> {\n const filePickerDropZone = await this.locatorFor('.file-picker')();\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n await filePickerDropZone.dispatchEvent('drop', { dataTransfer: { files } } as any);\n\n // Wait event is dispatched\n await new Promise(resolve => setTimeout(resolve, 50));\n }\n}\n","/*\n * Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nexport * from './gio-form-file-picker.module';\nexport * from './gio-form-file-picker.component';\nexport * from './gio-form-file-picker.model';\nexport * from './gio-form-file-picker-add-button/gio-form-file-picker-add-button.component';\nexport * from './gio-form-file-picker-empty/gio-form-file-picker-empty.component';\nexport * from './gio-form-file-picker-label/gio-form-file-picker-label.component';\n\nexport * from './gio-form-file-picker.component.harness';\n","/*\n * Copyright (C) 2022 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 */\nimport { Injectable } from '@angular/core';\nimport { BehaviorSubject, timer } from 'rxjs';\nimport { debounce, distinctUntilChanged } from 'rxjs/operators';\n\nexport interface OverlayOptions {\n top?: number;\n parent?: HTMLElement;\n open: boolean;\n focus?: boolean;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class GioMenuService {\n private reduceSource = new BehaviorSubject<boolean>(false);\n private overlaySource = new BehaviorSubject<OverlayOptions>({ open: false });\n public reduce = this.reduceSource.asObservable();\n public overlayObservable = this.overlaySource.asObservable().pipe(\n distinctUntilChanged((prev, curr) => prev.open === curr.open),\n debounce(overlayOptions => timer(overlayOptions.open ? 150 : 500)),\n );\n\n public reduced(reduced: boolean): void {\n this.reduceSource.next(reduced);\n }\n\n public overlay(overlayOptions: OverlayOptions): void {\n this.overlaySource.next(overlayOptions);\n }\n}\n","/*\n * Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { Component, HostListener, Input, OnDestroy } from '@angular/core';\nimport { of, Subject } from 'rxjs';\nimport { delay, filter, switchMap, takeUntil, tap } from 'rxjs/operators';\n\nimport { GioMenuService } from '../gio-menu.service';\n\n@Component({\n selector: 'gio-menu-item',\n templateUrl: './gio-menu-item.component.html',\n styleUrls: ['./gio-menu-item.component.scss'],\n})\nexport class GioMenuItemComponent implements OnDestroy {\n @Input() public icon = '';\n @Input() public active = false;\n @Input() public outlined = false;\n\n private unsubscribe$ = new Subject();\n\n constructor(private readonly gioMenuService: GioMenuService) {}\n\n public ngOnDestroy(): void {\n this.unsubscribe$.next();\n this.unsubscribe$.unsubscribe();\n }\n\n public onMouseLeave(): void {\n if (this.active) {\n this.gioMenuService.overlay({ open: false });\n }\n }\n\n public onMouseEnter($event: MouseEvent): void {\n if (this.active) {\n const menuItem = $event.target as HTMLInputElement;\n this.gioMenuService.overlay({ open: true, top: menuItem.getBoundingClientRect().top, parent: menuItem });\n }\n }\n\n @HostListener('click', ['$event'])\n public onClick($event: MouseEvent): void {\n of(true)\n .pipe(\n takeUntil(this.unsubscribe$),\n delay(0),\n tap(() => this.onMouseEnter($event)),\n )\n .subscribe();\n }\n\n @HostListener('keydown', ['$event'])\n public onKeydownHandler($event: KeyboardEvent): void {\n of($event.key === 'Enter' && $event.target)\n .pipe(\n takeUntil(this.unsubscribe$),\n filter(enterKey => !!enterKey),\n switchMap(() => of($event.target as HTMLElement)),\n tap(menuItem => {\n this.gioMenuService.overlay({ open: false });\n if (this.active) {\n this.gioMenuService.overlay({ open: true, top: menuItem.getBoundingClientRect().top, parent: menuItem, focus: true });\n } else {\n menuItem.click();\n }\n }),\n )\n .subscribe();\n }\n}\n","<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div\n class=\"gio-menu-item\"\n [class.gio-menu-item__active]=\"active\"\n [class.gio-menu-item__outlined]=\"outlined\"\n (click)=\"onClick($event)\"\n (mouseenter)=\"onMouseEnter($event)\"\n (mouseleave)=\"onMouseLeave()\"\n>\n <mat-icon *ngIf=\"icon\" class=\"gio-menu-item__icon\" [svgIcon]=\"icon\"></mat-icon>\n <span class=\"gio-menu-item__title\"><ng-content></ng-content></span>\n</div>\n","/*\n * Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { Component } from '@angular/core';\n\n@Component({\n selector: 'gio-menu-footer',\n templateUrl: './gio-menu-footer.component.html',\n styleUrls: ['./gio-menu-footer.component.scss'],\n})\nexport class GioMenuFooterComponent {}\n","<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n \n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div class=\"gio-menu-footer\">\n <div class=\"gio-menu-footer__content\">\n <ng-content></ng-content>\n </div>\n</div>\n","/*\n * Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { Component, Input, OnInit, ViewEncapsulation } from '@angular/core';\n\nimport { GioMenuService } from './gio-menu.service';\n\n@Component({\n selector: 'gio-menu',\n templateUrl: './gio-menu.component.html',\n styleUrls: ['./gio-menu.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class GioMenuComponent implements OnInit {\n @Input() public reduced = false;\n\n constructor(private readonly gioMenuService: GioMenuService) {}\n\n public ngOnInit(): void {\n this.gioMenuService.reduced(this.reduced);\n }\n\n public reduceMenu(): void {\n this.reduced = !this.reduced;\n this.gioMenuService.reduced(this.reduced);\n }\n\n public getCollapseButtonIcon(): string {\n return this.reduced ? 'gio:expande' : 'gio:collapse';\n }\n\n public onMouseLeave(): void {\n if (this.reduced) {\n this.gioMenuService.overlay({ open: false });\n }\n }\n}\n","<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div class=\"gio-menu\" [class.gio-menu__reduced]=\"reduced\" (mouseleave)=\"onMouseLeave()\">\n <ng-content select=\"gio-menu-header\"></ng-content>\n <ng-content select=\"gio-menu-list\"></ng-content>\n <ng-content select=\"gio-menu-footer\"></ng-content>\n <gio-menu-footer>\n <gio-menu-item\n tabIndex=\"1\"\n type=\"button\"\n class=\"gio-menu-footer__collapse\"\n [icon]=\"getCollapseButtonIcon()\"\n (click)=\"reduceMenu()\"\n [outlined]=\"true\"\n >Collapse menu</gio-menu-item\n >\n </gio-menu-footer>\n</div>\n","/*\n * Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { Component } from '@angular/core';\n\n@Component({\n selector: 'gio-menu-list',\n templateUrl: './gio-menu-list.component.html',\n styleUrls: ['./gio-menu-list.component.scss'],\n})\nexport class GioMenuListComponent {}\n","<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n \n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div class=\"gio-menu-list\">\n <ng-content></ng-content>\n</div>\n","/*\n * Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { MatSelectChange } from '@angular/material/select';\n\nexport type SelectorItem = {\n value: string;\n displayValue: string;\n};\n\n@Component({\n selector: 'gio-menu-selector',\n templateUrl: './gio-menu-selector.component.html',\n styleUrls: ['./gio-menu-selector.component.scss'],\n})\nexport class GioMenuSelectorComponent {\n @Input()\n public selectorTitle = '';\n\n @Input()\n public selectorItems: SelectorItem[] = [];\n\n @Input()\n public selectedItemValue = '';\n\n @Input()\n public tabIndex = 1;\n\n @Output()\n public selectChange: EventEmitter<string> = new EventEmitter<string>();\n\n public onSelectionChange($event: MatSelectChange): void {\n this.selectChange.emit($event.value);\n }\n\n public isDisabled(): boolean {\n return this.selectorItems.length <= 1;\n }\n}\n","<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div class=\"gio-menu-selector\">\n <mat-form-field class=\"gio-menu-selector__mat-form-field\">\n <mat-label>{{ selectorTitle }}</mat-label>\n <mat-select [tabIndex]=\"tabIndex\" [value]=\"selectedItemValue\" (selectionChange)=\"onSelectionChange($event)\" [disabled]=\"isDisabled()\">\n <mat-option *ngFor=\"let item of selectorItems\" [value]=\"item.value\">\n {{ item.displayValue }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n</div>\n","/*\n * Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { Component } from '@angular/core';\n\n@Component({\n selector: 'gio-menu-header',\n templateUrl: './gio-menu-header.component.html',\n styleUrls: ['./gio-menu-header.component.scss'],\n})\nexport class GioMenuHeaderComponent {}\n","<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n \n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div class=\"gio-menu-header\">\n <ng-content></ng-content>\n</div>\n","/*\n * Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatSelectModule } from '@angular/material/select';\n\nimport { GioIconsModule } from '../gio-icons/gio-icons.module';\n\nimport { GioMenuItemComponent } from './gio-menu-item/gio-menu-item.component';\nimport { GioMenuComponent } from './gio-menu.component';\nimport { GioMenuFooterComponent } from './gio-menu-footer/gio-menu-footer.component';\nimport { GioMenuListComponent } from './gio-menu-list/gio-menu-list.component';\nimport { GioMenuSelectorComponent } from './gio-menu-selector/gio-menu-selector.component';\nimport { GioMenuHeaderComponent } from './gio-menu-header/gio-menu-header.component';\n\n@NgModule({\n declarations: [\n GioMenuComponent,\n GioMenuItemComponent,\n GioMenuFooterComponent,\n GioMenuListComponent,\n GioMenuHeaderComponent,\n GioMenuSelectorComponent,\n ],\n exports: [\n GioMenuComponent,\n GioMenuItemComponent,\n GioMenuFooterComponent,\n GioMenuListComponent,\n GioMenuHeaderComponent,\n GioMenuSelectorComponent,\n ],\n imports: [CommonModule, MatIconModule, GioIconsModule, MatSelectModule],\n})\nexport class GioMenuModule {}\n","/*\n * Copyright (C) 2022 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\nimport { ComponentHarness } from '@angular/cdk/testing';\nimport { MatSelectHarness } from '@angular/material/select/testing';\n\nexport class GioMenuSelectorHarness extends ComponentHarness {\n public static hostSelector = 'gio-menu-selector';\n\n private getSelect = this.locatorFor(MatSelectHarness);\n\n public async availableOptions(): Promise<string[]> {\n const select = await this.getSelect();\n await select.open();\n const options = await select.getOptions();\n\n return Promise.all(options.map(o => o.getText()));\n }\n\n public async selectedOption(): Promise<string> {\n const select = await this.getSelect();\n return select.getValueText();\n }\n\n public async selectOptionByIndex(index: number): Promise<void> {\n const select = await this.getSelect();\n await select.open();\n const options = await select.getOptions();\n\n return options[index].click();\n }\n}\n","/*\n * Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './gio-menu.module';\nexport * from './gio-menu.service';\nexport * from './gio-menu.component';\nexport * from './gio-menu-item/gio-menu-item.component';\nexport * from './gio-menu-list/gio-menu-list.component';\nexport * from './gio-menu-footer/gio-menu-footer.component';\nexport * from './gio-menu-header/gio-menu-header.component';\nexport * from './gio-menu-selector/gio-menu-selector.component';\nexport * from './gio-menu-selector/gio-menu-selector.harness';\n","/*\n * Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { AfterViewInit, Component, Directive, ElementRef, HostListener, OnDestroy, ViewChild } from '@angular/core';\nimport { of, Subject } from 'rxjs';\nimport { delay, filter, switchMap, takeUntil, tap } from 'rxjs/operators';\n\nimport { GioMenuService, OverlayOptions } from '../gio-menu/gio-menu.service';\n\n@Directive({\n selector: '[gioSubmenuTitle]',\n})\nexport class GioSubmenuTitleDirective {}\n\n@Component({\n selector: 'gio-submenu',\n templateUrl: './gio-submenu.component.html',\n styleUrls: ['./gio-submenu.component.scss'],\n})\nexport class GioSubmenuComponent implements AfterViewInit, OnDestroy {\n public reduced = false;\n public loaded = false;\n public overlayOptions: OverlayOptions = { open: false };\n private hover = false;\n @ViewChild('gioSubmenu', { static: false })\n private gioSubmenu!: ElementRef<HTMLDivElement>;\n private unsubscribe$ = new Subject();\n\n constructor(private readonly gioMenuService: GioMenuService) {}\n\n public ngAfterViewInit(): void {\n this.gioMenuService.reduce\n .pipe(\n takeUntil(this.unsubscribe$),\n filter(reduced => reduced),\n tap(() => {\n this.reduced = true;\n this.loaded = true;\n }),\n switchMap(() => this.gioMenuService.overlayObservable),\n tap(overlayOptions => {\n const top = overlayOptions.top || 0;\n this.overlayOptions = overlayOptions;\n this.gioSubmenu.nativeElement.style.top = `${top}px`;\n this.gioSubmenu.nativeElement.style.height = 'auto';\n this.gioSubmenu.nativeElement.style.maxHeight = `calc(100vh - ${top + 8}px)`;\n }),\n filter(overlayOptions => !!overlayOptions.focus),\n delay(200),\n switchMap(() => of(this.gioSubmenu.nativeElement.querySelectorAll<HTMLElement>('gio-submenu-item'))),\n filter(submenuItems => submenuItems.length > 0),\n tap(submenuItems => submenuItems[0].focus()),\n )\n .subscribe();\n\n this.gioMenuService.reduce\n .pipe(\n takeUntil(this.unsubscribe$),\n filter(reduced => !reduced),\n tap(() => {\n this.reduced = false;\n this.loaded = true;\n this.gioSubmenu.nativeElement.style.height = '100%';\n this.gioSubmenu.nativeElement.style.maxHeight = 'none';\n }),\n )\n .subscribe();\n }\n\n public ngOnDestroy(): void {\n this.unsubscribe$.next();\n this.unsubscribe$.unsubscribe();\n }\n\n public onMouseEnter(): void {\n this.hover = true;\n this.gioMenuService.overlay(this.overlayOptions);\n }\n\n public onMouseLeave(): void {\n this.hover = false;\n this.gioMenuService.overlay({ open: false });\n }\n\n @HostListener('keydown', ['$event'])\n public onKeydownHandler(event: KeyboardEvent): void {\n of(this.reduced && event.key === 'Escape')\n .pipe(\n filter(reducedAndEcape => reducedAndEcape),\n tap(() => this.gioMenuService.overlay({ open: false })),\n delay(100),\n tap(() => this.overlayOptions.parent?.focus()),\n )\n .subscribe();\n }\n}\n","<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div\n #gioSubmenu\n class=\"gio-submenu\"\n [class.gio-submenu__loaded]=\"loaded\"\n [class.gio-submenu__reduced]=\"reduced\"\n [class.gio-submenu__overlay]=\"overlayOptions.open\"\n (mouseenter)=\"onMouseEnter()\"\n (mouseleave)=\"onMouseLeave()\"\n>\n <div #title class=\"gio-submenu__title\" [class.hide]=\"!title.children.length || reduced\">\n <ng-content select=\"[gioSubmenuTitle]\"></ng-content>\n </div>\n <ng-content></ng-content>\n</div>\n","/*\n * Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'gio-submenu-group',\n templateUrl: './gio-submenu-group.component.html',\n styleUrls: ['./gio-submenu-group.component.scss'],\n})\nexport class GioSubmenuGroupComponent {\n @Input() public title = '';\n}\n","<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n \n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div class=\"gio-submenu-group\">\n <div class=\"gio-submenu-group__title\">{{ title }}</div>\n <ng-content></ng-content>\n</div>\n","/*\n * Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { Component, ElementRef, HostListener, Input, ViewChild } from '@angular/core';\n\n@Component({\n selector: 'gio-submenu-item',\n templateUrl: './gio-submenu-item.component.html',\n styleUrls: ['./gio-submenu-item.component.scss'],\n})\nexport class GioSubmenuItemComponent {\n @Input() public active = false;\n\n @ViewChild('gioSubmenuItem', { static: false })\n private gioSubmenuItem: ElementRef<HTMLDivElement> | undefined;\n\n @HostListener('keydown', ['$event'])\n public onKeydownHandler(event: KeyboardEvent): void {\n if (event.key === 'Enter') {\n this.gioSubmenuItem?.nativeElement.click();\n }\n }\n}\n","<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div #gioSubmenuItem class=\"gio-submenu-item\" [class.gio-submenu-item__active]=\"active\">\n <span class=\"gio-submenu-item__title\"><ng-content></ng-content></span>\n</div>\n","/*\n * Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { GioIconsModule } from '../gio-icons/gio-icons.module';\n\nimport { GioSubmenuGroupComponent } from './gio-submenu-group/gio-submenu-group.component';\nimport { GioSubmenuComponent, GioSubmenuTitleDirective } from './gio-submenu.component';\nimport { GioSubmenuItemComponent } from './gio-submenu-item/gio-submenu-item.component';\n\n@NgModule({\n declarations: [GioSubmenuComponent, GioSubmenuGroupComponent, GioSubmenuItemComponent, GioSubmenuTitleDirective],\n exports: [GioSubmenuComponent, GioSubmenuGroupComponent, GioSubmenuItemComponent, GioSubmenuTitleDirective],\n imports: [CommonModule, MatIconModule, GioIconsModule],\n})\nexport class GioSubmenuModule {}\n","/*\n * Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './gio-submenu.component';\nexport * from './gio-submenu.module';\nexport * from './gio-submenu-group/gio-submenu-group.component';\nexport * from './gio-submenu-item/gio-submenu-item.component';\n","/*\n * Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { Component, Input } from '@angular/core';\n\nexport type GioTopBarTypes = 'am' | 'apim' | 'cockpit';\n\n@Component({\n selector: 'gio-top-bar',\n templateUrl: './gio-top-bar.component.html',\n styleUrls: ['./gio-top-bar.component.scss'],\n})\nexport class GioTopBarComponent {\n @Input() public type: GioTopBarTypes = 'am';\n\n @Input() public productName = '';\n}\n","<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div class=\"gio-top-bar\">\n <ng-content></ng-content>\n</div>\n","/*\n * Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { Component, Input } from '@angular/core';\n\nexport type GioTopBarProductTypes = 'am' | 'apim' | 'cockpit';\n\n@Component({\n selector: 'gio-top-bar-content',\n templateUrl: './gio-top-bar-content.component.html',\n styleUrls: ['./gio-top-bar-content.component.scss'],\n})\nexport class GioTopBarContentComponent {\n @Input()\n public type: GioTopBarProductTypes = 'am';\n @Input()\n public productName = 'Access Management';\n}\n","<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div class=\"gio-top-bar-content\" [class]=\"type\">\n <mat-icon [svgIcon]=\"'gio:product-' + type\"></mat-icon>\n <span>{{ productName }}</span>\n</div>\n","/*\n * Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { GioIconsModule } from '../gio-icons/gio-icons.module';\n\nimport { GioTopBarComponent } from './gio-top-bar.component';\nimport { GioTopBarContentComponent } from './gio-top-bar-content/gio-top-bar-content.component';\n\n@NgModule({\n declarations: [GioTopBarComponent, GioTopBarContentComponent],\n exports: [GioTopBarComponent, GioTopBarContentComponent],\n imports: [CommonModule, MatIconModule, GioIconsModule],\n})\nexport class GioTopBarModule {}\n","/*\n * Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { Component } from '@angular/core';\n\n@Component({\n selector: 'gio-top-bar-menu',\n templateUrl: './gio-top-bar-menu.component.html',\n styleUrls: ['./gio-top-bar-menu.component.scss'],\n})\nexport class GioTopBarMenuComponent {}\n","<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n \n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div class=\"gio-top-bar-menu\">\n <ng-content></ng-content>\n</div>\n","/*\n * Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { GioTopBarMenuComponent } from './gio-top-bar-menu.component';\n\n@NgModule({\n declarations: [GioTopBarMenuComponent],\n exports: [GioTopBarMenuComponent],\n imports: [CommonModule],\n})\nexport class GioTopBarMenuModule {}\n","/*\n * Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'gio-top-bar-link',\n templateUrl: './gio-top-bar-link.component.html',\n styleUrls: ['./gio-top-bar-link.component.scss'],\n})\nexport class GioTopBarLinkComponent {\n @Input() public url = '';\n @Input() public name = '';\n}\n","<!--\n\n Copyright (C) 2022 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<a mat-button [href]=\"url\" target=\"_blank\" class=\"gio-top-bar-link\">\n <div class=\"gio-top-bar-link__content\">\n <span>{{ name }}</span>\n <mat-icon svgIcon=\"gio:external-link\"></mat-icon>\n </div>\n</a>\n","/*\n * Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { GioIconsModule } from '../../gio-icons/gio-icons.module';\n\nimport { GioTopBarLinkComponent } from './gio-top-bar-link.component';\n\n@NgModule({\n declarations: [GioTopBarLinkComponent],\n exports: [GioTopBarLinkComponent],\n imports: [CommonModule, MatIconModule, GioIconsModule],\n})\nexport class GioTopBarLinkModule {}\n","/*\n * Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './gio-top-bar.module';\nexport * from './gio-top-bar.component';\nexport * from './gio-top-bar-menu/gio-top-bar-menu.module';\nexport * from './gio-top-bar-menu/gio-top-bar-menu.component';\nexport * from './gio-top-bar-link/gio-top-bar-link.module';\nexport * from './gio-top-bar-link/gio-top-bar-link.component';\nexport * from './gio-top-bar-content/gio-top-bar-content.component';\n","/*\n * Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { AfterViewInit, Component, ElementRef, HostBinding, Input, OnChanges, ViewChild } from '@angular/core';\nimport { toSvg } from 'jdenticon';\n\n@Component({\n selector: 'gio-avatar',\n templateUrl: './gio-avatar.component.html',\n styleUrls: ['./gio-avatar.component.scss'],\n})\nexport class GioAvatarComponent implements AfterViewInit, OnChanges {\n public imgSrc: string | null = null;\n public defaultSize: number;\n public finalSize!: number;\n\n @Input()\n public set src(src: string | null) {\n this.imgSrc = src || null;\n }\n @Input()\n public name = '';\n @Input()\n public size!: number;\n @Input()\n public roundedBorder = false;\n\n @ViewChild('avatarContainer') public avatarContainerEleRef!: ElementRef;\n\n @HostBinding('style.width.px') public width = this.size;\n @HostBinding('style.height.px') public height = this.size;\n\n constructor(private hostEl: ElementRef) {\n this.defaultSize = Math.min(Number(this.hostEl.nativeElement.offsetWidth), Number(this.hostEl.nativeElement.offsetHeight)) || 110;\n }\n\n public ngOnChanges(): void {\n this.finalSize = this.size || this.defaultSize;\n }\n\n public ngAfterViewInit(): void {\n if (this.imgSrc != null) {\n return;\n }\n if (this.avatarContainerEleRef) {\n this.avatarContainerEleRef.nativeElement.innerHTML = toSvg(this.name, this.finalSize, { backColor: '#FFF', padding: 0 });\n }\n }\n\n public onImgError(): void {\n this.imgSrc = null;\n this.ngAfterViewInit();\n }\n}\n","<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div #avatarContainer class=\"gio-avatar\" [class.rounded]=\"roundedBorder\">\n <img *ngIf=\"imgSrc\" class=\"gio-avatar__img\" [src]=\"imgSrc\" alt=\"Avatar picture\" [width]=\"finalSize\" (error)=\"onImgError()\" />\n</div>\n","/*\n * Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { GioAvatarComponent } from './gio-avatar.component';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [GioAvatarComponent],\n exports: [GioAvatarComponent],\n entryComponents: [GioAvatarComponent],\n})\nexport class GioAvatarModule {}\n","/*\n * Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './gio-avatar.component';\nexport * from './gio-avatar.module';\n","/*\n * Copyright (C) 2022 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 */\nimport { Directive, TemplateRef } from '@angular/core';\n\n@Directive({\n selector: '[gioBreadcrumbItem]',\n})\nexport class GioBreadcrumbItemDirective {\n constructor(public templateRef: TemplateRef<unknown>) {}\n}\n","/*\n * Copyright (C) 2022 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 */\nimport { Component, ContentChildren, QueryList } from '@angular/core';\n\nimport { GioBreadcrumbItemDirective } from './gio-breadcrumb-item.directive';\n\n@Component({\n selector: 'gio-breadcrumb',\n templateUrl: './gio-breadcrumb.component.html',\n styleUrls: ['./gio-breadcrumb.component.scss'],\n})\nexport class GioBreadcrumbComponent {\n @ContentChildren(GioBreadcrumbItemDirective)\n public itemDirectives!: QueryList<GioBreadcrumbItemDirective>;\n}\n","<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div class=\"gio-breadcrumb\">\n <ng-container *ngFor=\"let item of itemDirectives; let first = first\">\n <mat-icon *ngIf=\"!first\" svgIcon=\"gio:nav-arrow-right\" class=\"gio-breadcrumb__icon\"></mat-icon>\n <ng-container *ngTemplateOutlet=\"item.templateRef\"></ng-container>\n </ng-container>\n</div>\n","/*\n * Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { GioIconsModule } from '../gio-icons/gio-icons.module';\n\nimport { GioBreadcrumbComponent } from './gio-breadcrumb.component';\nimport { GioBreadcrumbItemDirective } from './gio-breadcrumb-item.directive';\n\n@NgModule({\n imports: [CommonModule, GioIconsModule],\n declarations: [GioBreadcrumbComponent, GioBreadcrumbItemDirective],\n exports: [GioBreadcrumbComponent, GioBreadcrumbItemDirective],\n entryComponents: [GioBreadcrumbComponent],\n})\nexport class GioBreadcrumbModule {}\n","/*\n * Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './gio-breadcrumb.module';\nexport * from './gio-breadcrumb.component';\nexport * from './gio-breadcrumb-item.directive';\n","/*\n * Copyright (C) 2021 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 * Public API Surface\n */\n\nexport * from './gio-save-bar/gio-save-bar.component';\nexport * from './gio-save-bar/gio-save-bar.module';\nexport * from './gio-save-bar/gio-save-bar.harness';\n\nexport * from './gio-form-tags-input/gio-form-tags-input.component';\nexport * from './gio-form-tags-input/gio-form-tags-input.module';\nexport * from './gio-form-tags-input/gio-form-tags-input.harness';\n\nexport * from './gio-banner/gio-banner.component';\nexport * from './gio-banner/gio-banner.module';\n\nexport * from './gio-confirm-dialog/gio-confirm-dialog.component';\nexport * from './gio-confirm-dialog/gio-confirm-dialog.module';\nexport * from './gio-confirm-dialog/gio-confirm-dialog.harness';\n\nexport * from './gio-confirm-and-validate-dialog/gio-confirm-and-validate-dialog.component';\nexport * from './gio-confirm-and-validate-dialog/gio-confirm-and-validate-dialog.module';\nexport * from './gio-confirm-and-validate-dialog/gio-confirm-and-validate-dialog.harness';\n\nexport * from './gio-icons/gio-icons.module';\n\nexport * from './gio-form-headers/gio-form-headers.component';\nexport * from './gio-form-headers/gio-form-headers.module';\nexport * from './gio-form-headers/gio-form-headers.harness';\n\nexport * from './gio-form-file-picker';\n\nexport * from './gio-menu';\nexport * from './gio-submenu';\nexport * from './gio-top-bar';\nexport * from './gio-avatar';\n\nexport * from './gio-breadcrumb';\n","/*\n * Copyright (C) 2021 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 * Public API Surface of ui-particles-angular\n */\n\nexport * from './lib/public-api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["EventEmitter","timer","trigger","transition","style","animate","Component","HostBinding","Input","Output","HostListener","CommonModule","MatCardModule","MatButtonModule","NgModule","ComponentHarness","Subject","isEmpty","coerceBooleanProperty","fromEvent","startWith","map","distinctUntilChanged","MatFormFieldControl","Optional","Self","ViewChild","A11yModule","MatChipsModule","MatInputModule","FormsModule","MatIconModule","MatAutocompleteModule","MatSelectModule","MatChipListHarness","HarnessPredicate","parallel","TestKey","MatAutocompleteHarness","Directive","HttpClientModule","MAT_DIALOG_DATA","Inject","MatDialogModule","MatButtonHarness","toLower","MatFormFieldModule","MatInputHarness","FormArray","FormGroup","FormControl","tap","of","NG_VALUE_ACCESSOR","forwardRef","dropRight","ReactiveFormsModule","MatOptionModule","ChangeDetectionStrategy","ReadMode","isNil","isArray","remove","NgxFileHelpersModule","MatRippleModule","BehaviorSubject","debounce","Injectable","takeUntil","delay","filter","switchMap","ViewEncapsulation","MatSelectHarness","toSvg","ContentChildren"],"mappings":"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"}