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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (375) hide show
  1. package/fesm2022/gravitee-ui-particles-angular-gio-asciidoctor.mjs +11 -11
  2. package/fesm2022/gravitee-ui-particles-angular-gio-asciidoctor.mjs.map +1 -1
  3. package/fesm2022/gravitee-ui-particles-angular-gio-el.mjs +74 -80
  4. package/fesm2022/gravitee-ui-particles-angular-gio-el.mjs.map +1 -1
  5. package/fesm2022/gravitee-ui-particles-angular-testing.mjs.map +1 -1
  6. package/fesm2022/gravitee-ui-particles-angular.mjs +641 -537
  7. package/fesm2022/gravitee-ui-particles-angular.mjs.map +1 -1
  8. package/gio-asciidoctor/index.d.ts +49 -5
  9. package/gio-el/index.d.ts +146 -5
  10. package/index.d.ts +1822 -3
  11. package/package.json +11 -19
  12. package/src/scss/gio-mat-theme.scss +2 -1
  13. package/testing/index.d.ts +47 -5
  14. package/esm2022/gio-asciidoctor/gio-asciidoctor.component.mjs +0 -104
  15. package/esm2022/gio-asciidoctor/gio-asciidoctor.module.mjs +0 -33
  16. package/esm2022/gio-asciidoctor/gio-asciidoctor.service.mjs +0 -48
  17. package/esm2022/gio-asciidoctor/gravitee-ui-particles-angular-gio-asciidoctor.mjs +0 -5
  18. package/esm2022/gio-asciidoctor/public-api.mjs +0 -19
  19. package/esm2022/gio-el/gio-el-editor/gio-el-editor-condition-group/gio-el-editor-condition-group.component.mjs +0 -127
  20. package/esm2022/gio-el/gio-el-editor/gio-el-editor-condition-group/gio-el-editor-condition-group.harness.mjs +0 -158
  21. package/esm2022/gio-el/gio-el-editor/gio-el-editor.component.mjs +0 -131
  22. package/esm2022/gio-el/gio-el-editor/gio-el-editor.harness.mjs +0 -28
  23. package/esm2022/gio-el/gio-el-editor/gio-el-field/gio-el-field.component.mjs +0 -271
  24. package/esm2022/gio-el/gio-el-editor/gio-el-field/gio-el-field.harness.mjs +0 -53
  25. package/esm2022/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-boolean/gio-el-editor-type-boolean.component.mjs +0 -57
  26. package/esm2022/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-boolean/gio-el-editor-type-boolean.harness.mjs +0 -31
  27. package/esm2022/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-date/gio-el-editor-type-date.component.mjs +0 -74
  28. package/esm2022/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-date/gio-el-editor-type-date.harness.mjs +0 -29
  29. package/esm2022/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-number/gio-el-editor-type-number.component.mjs +0 -70
  30. package/esm2022/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-number/gio-el-editor-type-number.harness.mjs +0 -29
  31. package/esm2022/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-string/gio-el-editor-type-string.component.mjs +0 -73
  32. package/esm2022/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-string/gio-el-editor-type-string.harness.mjs +0 -29
  33. package/esm2022/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type.harness.mjs +0 -38
  34. package/esm2022/gio-el/gravitee-ui-particles-angular-gio-el.mjs +0 -5
  35. package/esm2022/gio-el/models/Condition.mjs +0 -9
  36. package/esm2022/gio-el/models/ConditionGroup.mjs +0 -7
  37. package/esm2022/gio-el/models/ConditionModel.mjs +0 -17
  38. package/esm2022/gio-el/models/ConditionsModel.mjs +0 -4
  39. package/esm2022/gio-el/models/ExpressionLanguageBuilder.mjs +0 -97
  40. package/esm2022/gio-el/models/Operator.mjs +0 -2
  41. package/esm2022/gio-el/models/public-api.mjs +0 -21
  42. package/esm2022/gio-el/public-api.mjs +0 -19
  43. package/esm2022/gravitee-ui-particles-angular.mjs +0 -5
  44. package/esm2022/lib/gio-avatar/gio-avatar.component.mjs +0 -74
  45. package/esm2022/lib/gio-avatar/gio-avatar.module.mjs +0 -33
  46. package/esm2022/lib/gio-avatar/index.mjs +0 -18
  47. package/esm2022/lib/gio-banner/gio-banner.component.mjs +0 -120
  48. package/esm2022/lib/gio-banner/gio-banner.module.mjs +0 -64
  49. package/esm2022/lib/gio-breadcrumb/gio-breadcrumb-item.directive.mjs +0 -32
  50. package/esm2022/lib/gio-breadcrumb/gio-breadcrumb.component.mjs +0 -32
  51. package/esm2022/lib/gio-breadcrumb/gio-breadcrumb.module.mjs +0 -35
  52. package/esm2022/lib/gio-breadcrumb/index.mjs +0 -19
  53. package/esm2022/lib/gio-card-empty-state/gio-card-empty-state.component.mjs +0 -35
  54. package/esm2022/lib/gio-card-empty-state/gio-card-empty-state.module.mjs +0 -36
  55. package/esm2022/lib/gio-card-empty-state/index.mjs +0 -18
  56. package/esm2022/lib/gio-clipboard/gio-clipboard-copy-icon.component.mjs +0 -67
  57. package/esm2022/lib/gio-clipboard/gio-clipboard-copy-wrapper.component.mjs +0 -71
  58. package/esm2022/lib/gio-clipboard/gio-clipboard.base.component.mjs +0 -64
  59. package/esm2022/lib/gio-clipboard/gio-clipboard.module.mjs +0 -39
  60. package/esm2022/lib/gio-confirm-and-validate-dialog/gio-confirm-and-validate-dialog.component.mjs +0 -61
  61. package/esm2022/lib/gio-confirm-and-validate-dialog/gio-confirm-and-validate-dialog.harness.mjs +0 -40
  62. package/esm2022/lib/gio-confirm-and-validate-dialog/gio-confirm-and-validate-dialog.module.mjs +0 -40
  63. package/esm2022/lib/gio-confirm-dialog/gio-confirm-dialog.component.mjs +0 -54
  64. package/esm2022/lib/gio-confirm-dialog/gio-confirm-dialog.harness.mjs +0 -34
  65. package/esm2022/lib/gio-confirm-dialog/gio-confirm-dialog.module.mjs +0 -36
  66. package/esm2022/lib/gio-dialog/gio-dialog.constant.mjs +0 -21
  67. package/esm2022/lib/gio-el/gio-el-assistant/gio-el-assistant.component.mjs +0 -62
  68. package/esm2022/lib/gio-el/gio-el-prompt/gio-el-prompt.component.mjs +0 -112
  69. package/esm2022/lib/gio-el/gio-el.service.mjs +0 -60
  70. package/esm2022/lib/gio-el/index.mjs +0 -20
  71. package/esm2022/lib/gio-el/models/ElAiPromptState.mjs +0 -23
  72. package/esm2022/lib/gio-el/public-api.mjs +0 -20
  73. package/esm2022/lib/gio-form-cron/gio-form-cron-hint.component.mjs +0 -30
  74. package/esm2022/lib/gio-form-cron/gio-form-cron-label.component.mjs +0 -30
  75. package/esm2022/lib/gio-form-cron/gio-form-cron.adapter.mjs +0 -218
  76. package/esm2022/lib/gio-form-cron/gio-form-cron.component.mjs +0 -211
  77. package/esm2022/lib/gio-form-cron/gio-form-cron.harness.mjs +0 -77
  78. package/esm2022/lib/gio-form-cron/gio-form-cron.module.mjs +0 -69
  79. package/esm2022/lib/gio-form-file-picker/gio-form-file-picker-add-button/gio-form-file-picker-add-button.component.mjs +0 -29
  80. package/esm2022/lib/gio-form-file-picker/gio-form-file-picker-empty/gio-form-file-picker-empty.component.mjs +0 -27
  81. package/esm2022/lib/gio-form-file-picker/gio-form-file-picker-label/gio-form-file-picker-label.component.mjs +0 -26
  82. package/esm2022/lib/gio-form-file-picker/gio-form-file-picker.component.harness.mjs +0 -95
  83. package/esm2022/lib/gio-form-file-picker/gio-form-file-picker.component.mjs +0 -167
  84. package/esm2022/lib/gio-form-file-picker/gio-form-file-picker.model.mjs +0 -23
  85. package/esm2022/lib/gio-form-file-picker/gio-form-file-picker.module.mjs +0 -57
  86. package/esm2022/lib/gio-form-file-picker/index.mjs +0 -23
  87. package/esm2022/lib/gio-form-focus-first-invalid/gio-form-focus-first-invalid-ignore.directive.mjs +0 -31
  88. package/esm2022/lib/gio-form-focus-first-invalid/gio-form-focus-first-invalid.directive.mjs +0 -96
  89. package/esm2022/lib/gio-form-focus-first-invalid/gio-form-focus-first-invalid.module.mjs +0 -32
  90. package/esm2022/lib/gio-form-headers/gio-form-headers-label.component.mjs +0 -30
  91. package/esm2022/lib/gio-form-headers/gio-form-headers.component.mjs +0 -284
  92. package/esm2022/lib/gio-form-headers/gio-form-headers.harness.mjs +0 -73
  93. package/esm2022/lib/gio-form-headers/gio-form-headers.module.mjs +0 -77
  94. package/esm2022/lib/gio-form-json-schema/gio-form-json-schema.component.mjs +0 -209
  95. package/esm2022/lib/gio-form-json-schema/gio-form-json-schema.module.mjs +0 -244
  96. package/esm2022/lib/gio-form-json-schema/gio-formly-json-schema.service.mjs +0 -261
  97. package/esm2022/lib/gio-form-json-schema/model/GioJsonSchema.mjs +0 -17
  98. package/esm2022/lib/gio-form-json-schema/model/GioJsonSchemaContext.mjs +0 -2
  99. package/esm2022/lib/gio-form-json-schema/type-component/array-type.component.mjs +0 -109
  100. package/esm2022/lib/gio-form-json-schema/type-component/code-editor-type.component.mjs +0 -47
  101. package/esm2022/lib/gio-form-json-schema/type-component/cron-type.component.mjs +0 -42
  102. package/esm2022/lib/gio-form-json-schema/type-component/headers-type.component.mjs +0 -108
  103. package/esm2022/lib/gio-form-json-schema/type-component/multischema-type.component.mjs +0 -66
  104. package/esm2022/lib/gio-form-json-schema/type-component/null-type.component.mjs +0 -31
  105. package/esm2022/lib/gio-form-json-schema/type-component/object-type.component.mjs +0 -62
  106. package/esm2022/lib/gio-form-json-schema/type-component/toggle-type.component.mjs +0 -60
  107. package/esm2022/lib/gio-form-json-schema/util/validation-message.util.mjs +0 -38
  108. package/esm2022/lib/gio-form-json-schema/wrappers/gio-banner-extension.mjs +0 -10
  109. package/esm2022/lib/gio-form-json-schema/wrappers/gio-banner-wrapper.component.mjs +0 -28
  110. package/esm2022/lib/gio-form-json-schema/wrappers/gio-el-helper-wrapper.component.mjs +0 -61
  111. package/esm2022/lib/gio-form-json-schema/wrappers/gio-password-eye.component.mjs +0 -74
  112. package/esm2022/lib/gio-form-selection-inline/gio-form-selection-inline-card-content/gio-form-selection-inline-card-content.component.mjs +0 -79
  113. package/esm2022/lib/gio-form-selection-inline/gio-form-selection-inline-card.component.mjs +0 -86
  114. package/esm2022/lib/gio-form-selection-inline/gio-form-selection-inline-card.harness.mjs +0 -44
  115. package/esm2022/lib/gio-form-selection-inline/gio-form-selection-inline.component.mjs +0 -103
  116. package/esm2022/lib/gio-form-selection-inline/gio-form-selection-inline.harness.mjs +0 -65
  117. package/esm2022/lib/gio-form-selection-inline/gio-form-selection-inline.module.mjs +0 -59
  118. package/esm2022/lib/gio-form-selection-inline/public-api.mjs +0 -22
  119. package/esm2022/lib/gio-form-slide-toggle/gio-form-label.directive.mjs +0 -52
  120. package/esm2022/lib/gio-form-slide-toggle/gio-form-slide-toggle.component.mjs +0 -69
  121. package/esm2022/lib/gio-form-slide-toggle/gio-form-slide-toggle.module.mjs +0 -34
  122. package/esm2022/lib/gio-form-tags-input/gio-form-tags-input.component.mjs +0 -316
  123. package/esm2022/lib/gio-form-tags-input/gio-form-tags-input.harness.mjs +0 -82
  124. package/esm2022/lib/gio-form-tags-input/gio-form-tags-input.module.mjs +0 -67
  125. package/esm2022/lib/gio-icons/gio-icons.module.mjs +0 -37
  126. package/esm2022/lib/gio-license/gio-license-dialog/gio-license-dialog.component.mjs +0 -43
  127. package/esm2022/lib/gio-license/gio-license-dialog/gio-license-dialog.module.mjs +0 -37
  128. package/esm2022/lib/gio-license/gio-license.directive.mjs +0 -92
  129. package/esm2022/lib/gio-license/gio-license.module.mjs +0 -35
  130. package/esm2022/lib/gio-license/gio-license.service.mjs +0 -101
  131. package/esm2022/lib/gio-license/gio-license.testing.module.mjs +0 -107
  132. package/esm2022/lib/gio-license-expiration-notification/gio-license-expiration-notification.component.mjs +0 -77
  133. package/esm2022/lib/gio-license-expiration-notification/gio-license-expiration-notification.harness.mjs +0 -44
  134. package/esm2022/lib/gio-license-expiration-notification/gio-license-expiration-notification.module.mjs +0 -36
  135. package/esm2022/lib/gio-loader/gio-loader.component.mjs +0 -27
  136. package/esm2022/lib/gio-loader/gio-loader.module.mjs +0 -34
  137. package/esm2022/lib/gio-mat-config/gio-mat-config.module.mjs +0 -30
  138. package/esm2022/lib/gio-mat-config/index.mjs +0 -17
  139. package/esm2022/lib/gio-monaco-editor/gio-monaco-clipboard-copy.component.mjs +0 -44
  140. package/esm2022/lib/gio-monaco-editor/gio-monaco-editor-form-field.directive.mjs +0 -150
  141. package/esm2022/lib/gio-monaco-editor/gio-monaco-editor.component.mjs +0 -314
  142. package/esm2022/lib/gio-monaco-editor/gio-monaco-editor.harness.mjs +0 -70
  143. package/esm2022/lib/gio-monaco-editor/gio-monaco-editor.module.mjs +0 -60
  144. package/esm2022/lib/gio-monaco-editor/gio-monaco-editor.testing.component.mjs +0 -42
  145. package/esm2022/lib/gio-monaco-editor/models/GioMonacoEditorConfig.mjs +0 -18
  146. package/esm2022/lib/gio-monaco-editor/models/JSONSchemaAutoComplete.mjs +0 -115
  147. package/esm2022/lib/gio-monaco-editor/models/MonacoEditorTheme.mjs +0 -2
  148. package/esm2022/lib/gio-monaco-editor/services/gio-language-el.service.mjs +0 -226
  149. package/esm2022/lib/gio-monaco-editor/services/gio-language-json.service.mjs +0 -72
  150. package/esm2022/lib/gio-monaco-editor/services/gio-monaco-editor.service.mjs +0 -72
  151. package/esm2022/lib/gio-pipe/gio.pipe.module.mjs +0 -32
  152. package/esm2022/lib/gio-pipe/safe.pipe.mjs +0 -53
  153. package/esm2022/lib/gio-popover/gio-popover-trigger.directive.mjs +0 -46
  154. package/esm2022/lib/gio-popover/gio-popover.component.mjs +0 -83
  155. package/esm2022/lib/gio-popover/index.mjs +0 -18
  156. package/esm2022/lib/gio-popover/public-api.mjs +0 -18
  157. package/esm2022/lib/gio-prismjs/gio-prismjs.service.mjs +0 -80
  158. package/esm2022/lib/gio-save-bar/gio-save-bar.component.mjs +0 -142
  159. package/esm2022/lib/gio-save-bar/gio-save-bar.harness.mjs +0 -54
  160. package/esm2022/lib/gio-save-bar/gio-save-bar.module.mjs +0 -35
  161. package/esm2022/lib/oem-theme/gio-menu/gio-menu-footer/gio-menu-footer.component.mjs +0 -26
  162. package/esm2022/lib/oem-theme/gio-menu/gio-menu-header/gio-menu-header.component.mjs +0 -26
  163. package/esm2022/lib/oem-theme/gio-menu/gio-menu-item/gio-menu-item.component.mjs +0 -85
  164. package/esm2022/lib/oem-theme/gio-menu/gio-menu-license-expiration-notification/gio-menu-license-expiration-notification.component.mjs +0 -26
  165. package/esm2022/lib/oem-theme/gio-menu/gio-menu-list/gio-menu-list.component.mjs +0 -26
  166. package/esm2022/lib/oem-theme/gio-menu/gio-menu-search/gio-menu-search.component.mjs +0 -62
  167. package/esm2022/lib/oem-theme/gio-menu/gio-menu-search/gio-menu-search.harness.mjs +0 -41
  168. package/esm2022/lib/oem-theme/gio-menu/gio-menu-search/gio-menu-search.service.mjs +0 -41
  169. package/esm2022/lib/oem-theme/gio-menu/gio-menu-selector/gio-menu-selector.component.mjs +0 -49
  170. package/esm2022/lib/oem-theme/gio-menu/gio-menu-selector/gio-menu-selector.harness.mjs +0 -41
  171. package/esm2022/lib/oem-theme/gio-menu/gio-menu.component.mjs +0 -50
  172. package/esm2022/lib/oem-theme/gio-menu/gio-menu.module.mjs +0 -78
  173. package/esm2022/lib/oem-theme/gio-menu/gio-menu.service.mjs +0 -45
  174. package/esm2022/lib/oem-theme/gio-menu/index.mjs +0 -29
  175. package/esm2022/lib/oem-theme/gio-submenu/gio-submenu-group/gio-submenu-group.component.mjs +0 -34
  176. package/esm2022/lib/oem-theme/gio-submenu/gio-submenu-item/gio-submenu-item.component.mjs +0 -46
  177. package/esm2022/lib/oem-theme/gio-submenu/gio-submenu.component.mjs +0 -112
  178. package/esm2022/lib/oem-theme/gio-submenu/gio-submenu.module.mjs +0 -37
  179. package/esm2022/lib/oem-theme/gio-submenu/index.mjs +0 -20
  180. package/esm2022/lib/oem-theme/gio-top-bar/gio-top-bar-content/gio-top-bar-content.component.mjs +0 -35
  181. package/esm2022/lib/oem-theme/gio-top-bar/gio-top-bar-link/gio-top-bar-link.component.mjs +0 -35
  182. package/esm2022/lib/oem-theme/gio-top-bar/gio-top-bar-link/gio-top-bar-link.module.mjs +0 -35
  183. package/esm2022/lib/oem-theme/gio-top-bar/gio-top-bar-menu/gio-top-bar-menu.component.mjs +0 -26
  184. package/esm2022/lib/oem-theme/gio-top-bar/gio-top-bar-menu/gio-top-bar-menu.module.mjs +0 -33
  185. package/esm2022/lib/oem-theme/gio-top-bar/gio-top-bar.component.mjs +0 -34
  186. package/esm2022/lib/oem-theme/gio-top-bar/gio-top-bar.module.mjs +0 -36
  187. package/esm2022/lib/oem-theme/gio-top-bar/index.mjs +0 -23
  188. package/esm2022/lib/oem-theme/oem-theme.service.mjs +0 -83
  189. package/esm2022/lib/oem-theme/public-api.mjs +0 -20
  190. package/esm2022/lib/public-api.mjs +0 -85
  191. package/esm2022/public-api.mjs +0 -20
  192. package/esm2022/testing/gravitee-ui-particles-angular-testing.mjs +0 -5
  193. package/esm2022/testing/harnesses/div.harness.mjs +0 -42
  194. package/esm2022/testing/harnesses/index.mjs +0 -18
  195. package/esm2022/testing/harnesses/span.harness.mjs +0 -42
  196. package/esm2022/testing/public-api.mjs +0 -17
  197. package/gio-asciidoctor/gio-asciidoctor.component.d.ts +0 -26
  198. package/gio-asciidoctor/gio-asciidoctor.module.d.ts +0 -8
  199. package/gio-asciidoctor/gio-asciidoctor.service.d.ts +0 -14
  200. package/gio-asciidoctor/public-api.d.ts +0 -3
  201. package/gio-el/gio-el-editor/gio-el-editor-condition-group/gio-el-editor-condition-group.component.d.ts +0 -25
  202. package/gio-el/gio-el-editor/gio-el-editor-condition-group/gio-el-editor-condition-group.harness.d.ts +0 -36
  203. package/gio-el/gio-el-editor/gio-el-editor.component.d.ts +0 -25
  204. package/gio-el/gio-el-editor/gio-el-editor.harness.d.ts +0 -7
  205. package/gio-el/gio-el-editor/gio-el-field/gio-el-field.component.d.ts +0 -70
  206. package/gio-el/gio-el-editor/gio-el-field/gio-el-field.harness.d.ts +0 -14
  207. package/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-boolean/gio-el-editor-type-boolean.component.d.ts +0 -15
  208. package/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-boolean/gio-el-editor-type-boolean.harness.d.ts +0 -6
  209. package/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-date/gio-el-editor-type-date.component.d.ts +0 -17
  210. package/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-date/gio-el-editor-type-date.harness.d.ts +0 -6
  211. package/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-number/gio-el-editor-type-number.component.d.ts +0 -17
  212. package/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-number/gio-el-editor-type-number.harness.d.ts +0 -6
  213. package/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-string/gio-el-editor-type-string.component.d.ts +0 -23
  214. package/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-string/gio-el-editor-type-string.harness.d.ts +0 -6
  215. package/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type.harness.d.ts +0 -10
  216. package/gio-el/models/Condition.d.ts +0 -19
  217. package/gio-el/models/ConditionGroup.d.ts +0 -7
  218. package/gio-el/models/ConditionModel.d.ts +0 -32
  219. package/gio-el/models/ConditionsModel.d.ts +0 -8
  220. package/gio-el/models/ExpressionLanguageBuilder.d.ts +0 -12
  221. package/gio-el/models/Operator.d.ts +0 -1
  222. package/gio-el/models/public-api.d.ts +0 -5
  223. package/gio-el/public-api.d.ts +0 -3
  224. package/lib/gio-avatar/gio-avatar.component.d.ts +0 -21
  225. package/lib/gio-avatar/gio-avatar.module.d.ts +0 -8
  226. package/lib/gio-avatar/index.d.ts +0 -2
  227. package/lib/gio-banner/gio-banner.component.d.ts +0 -43
  228. package/lib/gio-banner/gio-banner.module.d.ts +0 -11
  229. package/lib/gio-breadcrumb/gio-breadcrumb-item.directive.d.ts +0 -8
  230. package/lib/gio-breadcrumb/gio-breadcrumb.component.d.ts +0 -8
  231. package/lib/gio-breadcrumb/gio-breadcrumb.module.d.ts +0 -10
  232. package/lib/gio-breadcrumb/index.d.ts +0 -3
  233. package/lib/gio-card-empty-state/gio-card-empty-state.component.d.ts +0 -8
  234. package/lib/gio-card-empty-state/gio-card-empty-state.module.d.ts +0 -11
  235. package/lib/gio-card-empty-state/index.d.ts +0 -2
  236. package/lib/gio-clipboard/gio-clipboard-copy-icon.component.d.ts +0 -6
  237. package/lib/gio-clipboard/gio-clipboard-copy-wrapper.component.d.ts +0 -6
  238. package/lib/gio-clipboard/gio-clipboard.base.component.d.ts +0 -18
  239. package/lib/gio-clipboard/gio-clipboard.module.d.ts +0 -14
  240. package/lib/gio-confirm-and-validate-dialog/gio-confirm-and-validate-dialog.component.d.ts +0 -33
  241. package/lib/gio-confirm-and-validate-dialog/gio-confirm-and-validate-dialog.harness.d.ts +0 -9
  242. package/lib/gio-confirm-and-validate-dialog/gio-confirm-and-validate-dialog.module.d.ts +0 -15
  243. package/lib/gio-confirm-dialog/gio-confirm-dialog.component.d.ts +0 -29
  244. package/lib/gio-confirm-dialog/gio-confirm-dialog.harness.d.ts +0 -8
  245. package/lib/gio-confirm-dialog/gio-confirm-dialog.module.d.ts +0 -11
  246. package/lib/gio-dialog/gio-dialog.constant.d.ts +0 -5
  247. package/lib/gio-el/gio-el-assistant/gio-el-assistant.component.d.ts +0 -7
  248. package/lib/gio-el/gio-el-prompt/gio-el-prompt.component.d.ts +0 -28
  249. package/lib/gio-el/gio-el.service.d.ts +0 -19
  250. package/lib/gio-el/index.d.ts +0 -4
  251. package/lib/gio-el/models/ElAiPromptState.d.ts +0 -15
  252. package/lib/gio-el/public-api.d.ts +0 -4
  253. package/lib/gio-form-cron/gio-form-cron-hint.component.d.ts +0 -5
  254. package/lib/gio-form-cron/gio-form-cron-label.component.d.ts +0 -5
  255. package/lib/gio-form-cron/gio-form-cron.adapter.d.ts +0 -18
  256. package/lib/gio-form-cron/gio-form-cron.component.d.ts +0 -42
  257. package/lib/gio-form-cron/gio-form-cron.harness.d.ts +0 -23
  258. package/lib/gio-form-cron/gio-form-cron.module.d.ts +0 -18
  259. package/lib/gio-form-file-picker/gio-form-file-picker-add-button/gio-form-file-picker-add-button.component.d.ts +0 -5
  260. package/lib/gio-form-file-picker/gio-form-file-picker-empty/gio-form-file-picker-empty.component.d.ts +0 -5
  261. package/lib/gio-form-file-picker/gio-form-file-picker-label/gio-form-file-picker-label.component.d.ts +0 -5
  262. package/lib/gio-form-file-picker/gio-form-file-picker.component.d.ts +0 -43
  263. package/lib/gio-form-file-picker/gio-form-file-picker.component.harness.d.ts +0 -30
  264. package/lib/gio-form-file-picker/gio-form-file-picker.model.d.ts +0 -6
  265. package/lib/gio-form-file-picker/gio-form-file-picker.module.d.ts +0 -16
  266. package/lib/gio-form-file-picker/index.d.ts +0 -7
  267. package/lib/gio-form-focus-first-invalid/gio-form-focus-first-invalid-ignore.directive.d.ts +0 -6
  268. package/lib/gio-form-focus-first-invalid/gio-form-focus-first-invalid.directive.d.ts +0 -22
  269. package/lib/gio-form-focus-first-invalid/gio-form-focus-first-invalid.module.d.ts +0 -8
  270. package/lib/gio-form-headers/gio-form-headers-label.component.d.ts +0 -5
  271. package/lib/gio-form-headers/gio-form-headers.component.d.ts +0 -46
  272. package/lib/gio-form-headers/gio-form-headers.harness.d.ts +0 -39
  273. package/lib/gio-form-headers/gio-form-headers.module.d.ts +0 -20
  274. package/lib/gio-form-json-schema/gio-form-json-schema.component.d.ts +0 -43
  275. package/lib/gio-form-json-schema/gio-form-json-schema.module.d.ts +0 -35
  276. package/lib/gio-form-json-schema/gio-formly-json-schema.service.d.ts +0 -26
  277. package/lib/gio-form-json-schema/model/GioJsonSchema.d.ts +0 -47
  278. package/lib/gio-form-json-schema/model/GioJsonSchemaContext.d.ts +0 -1
  279. package/lib/gio-form-json-schema/type-component/array-type.component.d.ts +0 -10
  280. package/lib/gio-form-json-schema/type-component/code-editor-type.component.d.ts +0 -16
  281. package/lib/gio-form-json-schema/type-component/cron-type.component.d.ts +0 -9
  282. package/lib/gio-form-json-schema/type-component/headers-type.component.d.ts +0 -18
  283. package/lib/gio-form-json-schema/type-component/multischema-type.component.d.ts +0 -13
  284. package/lib/gio-form-json-schema/type-component/null-type.component.d.ts +0 -6
  285. package/lib/gio-form-json-schema/type-component/object-type.component.d.ts +0 -9
  286. package/lib/gio-form-json-schema/type-component/toggle-type.component.d.ts +0 -8
  287. package/lib/gio-form-json-schema/util/validation-message.util.d.ts +0 -15
  288. package/lib/gio-form-json-schema/wrappers/gio-banner-extension.d.ts +0 -2
  289. package/lib/gio-form-json-schema/wrappers/gio-banner-wrapper.component.d.ts +0 -6
  290. package/lib/gio-form-json-schema/wrappers/gio-el-helper-wrapper.component.d.ts +0 -11
  291. package/lib/gio-form-json-schema/wrappers/gio-password-eye.component.d.ts +0 -12
  292. package/lib/gio-form-selection-inline/gio-form-selection-inline-card-content/gio-form-selection-inline-card-content.component.d.ts +0 -15
  293. package/lib/gio-form-selection-inline/gio-form-selection-inline-card.component.d.ts +0 -17
  294. package/lib/gio-form-selection-inline/gio-form-selection-inline-card.harness.d.ts +0 -19
  295. package/lib/gio-form-selection-inline/gio-form-selection-inline.component.d.ts +0 -20
  296. package/lib/gio-form-selection-inline/gio-form-selection-inline.harness.d.ts +0 -26
  297. package/lib/gio-form-selection-inline/gio-form-selection-inline.module.d.ts +0 -14
  298. package/lib/gio-form-selection-inline/public-api.d.ts +0 -6
  299. package/lib/gio-form-slide-toggle/gio-form-label.directive.d.ts +0 -13
  300. package/lib/gio-form-slide-toggle/gio-form-slide-toggle.component.d.ts +0 -15
  301. package/lib/gio-form-slide-toggle/gio-form-slide-toggle.module.d.ts +0 -9
  302. package/lib/gio-form-tags-input/gio-form-tags-input.component.d.ts +0 -95
  303. package/lib/gio-form-tags-input/gio-form-tags-input.harness.d.ts +0 -23
  304. package/lib/gio-form-tags-input/gio-form-tags-input.module.d.ts +0 -16
  305. package/lib/gio-icons/gio-icons.module.d.ts +0 -11
  306. package/lib/gio-license/gio-license-dialog/gio-license-dialog.component.d.ts +0 -16
  307. package/lib/gio-license/gio-license-dialog/gio-license-dialog.module.d.ts +0 -12
  308. package/lib/gio-license/gio-license.directive.d.ts +0 -24
  309. package/lib/gio-license/gio-license.module.d.ts +0 -10
  310. package/lib/gio-license/gio-license.service.d.ts +0 -58
  311. package/lib/gio-license/gio-license.testing.module.d.ts +0 -24
  312. package/lib/gio-license-expiration-notification/gio-license-expiration-notification.component.d.ts +0 -17
  313. package/lib/gio-license-expiration-notification/gio-license-expiration-notification.harness.d.ts +0 -13
  314. package/lib/gio-license-expiration-notification/gio-license-expiration-notification.module.d.ts +0 -11
  315. package/lib/gio-loader/gio-loader.component.d.ts +0 -5
  316. package/lib/gio-loader/gio-loader.module.d.ts +0 -9
  317. package/lib/gio-mat-config/gio-mat-config.module.d.ts +0 -6
  318. package/lib/gio-mat-config/index.d.ts +0 -1
  319. package/lib/gio-monaco-editor/gio-monaco-clipboard-copy.component.d.ts +0 -7
  320. package/lib/gio-monaco-editor/gio-monaco-editor-form-field.directive.d.ts +0 -45
  321. package/lib/gio-monaco-editor/gio-monaco-editor.component.d.ts +0 -67
  322. package/lib/gio-monaco-editor/gio-monaco-editor.harness.d.ts +0 -19
  323. package/lib/gio-monaco-editor/gio-monaco-editor.module.d.ts +0 -20
  324. package/lib/gio-monaco-editor/gio-monaco-editor.testing.component.d.ts +0 -12
  325. package/lib/gio-monaco-editor/models/GioMonacoEditorConfig.d.ts +0 -7
  326. package/lib/gio-monaco-editor/models/JSONSchemaAutoComplete.d.ts +0 -39
  327. package/lib/gio-monaco-editor/models/MonacoEditorTheme.d.ts +0 -1
  328. package/lib/gio-monaco-editor/services/gio-language-el.service.d.ts +0 -18
  329. package/lib/gio-monaco-editor/services/gio-language-json.service.d.ts +0 -18
  330. package/lib/gio-monaco-editor/services/gio-monaco-editor.service.d.ts +0 -19
  331. package/lib/gio-pipe/gio.pipe.module.d.ts +0 -7
  332. package/lib/gio-pipe/safe.pipe.d.ts +0 -10
  333. package/lib/gio-popover/gio-popover-trigger.directive.d.ts +0 -12
  334. package/lib/gio-popover/gio-popover.component.d.ts +0 -15
  335. package/lib/gio-popover/index.d.ts +0 -2
  336. package/lib/gio-popover/public-api.d.ts +0 -2
  337. package/lib/gio-prismjs/gio-prismjs.service.d.ts +0 -14
  338. package/lib/gio-save-bar/gio-save-bar.component.d.ts +0 -30
  339. package/lib/gio-save-bar/gio-save-bar.harness.d.ts +0 -15
  340. package/lib/gio-save-bar/gio-save-bar.module.d.ts +0 -10
  341. package/lib/oem-theme/gio-menu/gio-menu-footer/gio-menu-footer.component.d.ts +0 -5
  342. package/lib/oem-theme/gio-menu/gio-menu-header/gio-menu-header.component.d.ts +0 -5
  343. package/lib/oem-theme/gio-menu/gio-menu-item/gio-menu-item.component.d.ts +0 -19
  344. package/lib/oem-theme/gio-menu/gio-menu-license-expiration-notification/gio-menu-license-expiration-notification.component.d.ts +0 -5
  345. package/lib/oem-theme/gio-menu/gio-menu-list/gio-menu-list.component.d.ts +0 -5
  346. package/lib/oem-theme/gio-menu/gio-menu-search/gio-menu-search.component.d.ts +0 -25
  347. package/lib/oem-theme/gio-menu/gio-menu-search/gio-menu-search.harness.d.ts +0 -10
  348. package/lib/oem-theme/gio-menu/gio-menu-search/gio-menu-search.service.d.ts +0 -9
  349. package/lib/oem-theme/gio-menu/gio-menu-selector/gio-menu-selector.component.d.ts +0 -17
  350. package/lib/oem-theme/gio-menu/gio-menu-selector/gio-menu-selector.harness.d.ts +0 -8
  351. package/lib/oem-theme/gio-menu/gio-menu.component.d.ts +0 -14
  352. package/lib/oem-theme/gio-menu/gio-menu.module.d.ts +0 -21
  353. package/lib/oem-theme/gio-menu/gio-menu.service.d.ts +0 -18
  354. package/lib/oem-theme/gio-menu/index.d.ts +0 -13
  355. package/lib/oem-theme/gio-submenu/gio-submenu-group/gio-submenu-group.component.d.ts +0 -8
  356. package/lib/oem-theme/gio-submenu/gio-submenu-item/gio-submenu-item.component.d.ts +0 -9
  357. package/lib/oem-theme/gio-submenu/gio-submenu.component.d.ts +0 -28
  358. package/lib/oem-theme/gio-submenu/gio-submenu.module.d.ts +0 -12
  359. package/lib/oem-theme/gio-submenu/index.d.ts +0 -4
  360. package/lib/oem-theme/gio-top-bar/gio-top-bar-content/gio-top-bar-content.component.d.ts +0 -8
  361. package/lib/oem-theme/gio-top-bar/gio-top-bar-link/gio-top-bar-link.component.d.ts +0 -7
  362. package/lib/oem-theme/gio-top-bar/gio-top-bar-link/gio-top-bar-link.module.d.ts +0 -10
  363. package/lib/oem-theme/gio-top-bar/gio-top-bar-menu/gio-top-bar-menu.component.d.ts +0 -5
  364. package/lib/oem-theme/gio-top-bar/gio-top-bar-menu/gio-top-bar-menu.module.d.ts +0 -8
  365. package/lib/oem-theme/gio-top-bar/gio-top-bar.component.d.ts +0 -8
  366. package/lib/oem-theme/gio-top-bar/gio-top-bar.module.d.ts +0 -11
  367. package/lib/oem-theme/gio-top-bar/index.d.ts +0 -7
  368. package/lib/oem-theme/oem-theme.service.d.ts +0 -22
  369. package/lib/oem-theme/public-api.d.ts +0 -4
  370. package/lib/public-api.d.ts +0 -66
  371. package/public-api.d.ts +0 -1
  372. package/testing/harnesses/div.harness.d.ts +0 -21
  373. package/testing/harnesses/index.d.ts +0 -2
  374. package/testing/harnesses/span.harness.d.ts +0 -21
  375. package/testing/public-api.d.ts +0 -1
@@ -1,73 +0,0 @@
1
- /*
2
- * Copyright (C) 2015 The Gravitee team (http://gravitee.io)
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- import { ComponentHarness, HarnessPredicate, parallel } from '@angular/cdk/testing';
17
- import { MatButtonHarness } from '@angular/material/button/testing';
18
- import { MatInputHarness } from '@angular/material/input/testing';
19
- import { MatAutocompleteHarness } from '@angular/material/autocomplete/testing';
20
- export class GioFormHeadersHarness extends ComponentHarness {
21
- constructor() {
22
- super(...arguments);
23
- this.getHeaderRowsElement = this.locatorForAll('tr.gio-form-headers__table__header-row');
24
- this.getHeaderRowInputKey = (rowIndex) => this.locatorFor(MatInputHarness.with({ ancestor: `[ng-reflect-name="${rowIndex}"]`, selector: '[formControlName=key]' }));
25
- this.getHeaderRowInputKeyAutocomplete = (rowIndex) => this.locatorFor(MatAutocompleteHarness.with({ ancestor: `tr[ng-reflect-name="${rowIndex}"]` }));
26
- this.getHeaderRowInputValue = (rowIndex) => this.locatorFor(MatInputHarness.with({ ancestor: `tr[ng-reflect-name="${rowIndex}"]`, selector: '[formControlName=value]' }));
27
- this.getHeaderRowRemoveButton = (rowIndex) => this.locatorForOptional(MatButtonHarness.with({ ancestor: `tr[ng-reflect-name="${rowIndex}"]`, selector: '[aria-label="Delete"]' }));
28
- }
29
- static { this.hostSelector = 'gio-form-headers'; }
30
- /**
31
- * Gets a `HarnessPredicate` that can be used to search for a `GioFormColorInputHarness` that meets
32
- * certain criteria.
33
- *
34
- * @param options Options for filtering which input instances are considered a match.
35
- * @return a `HarnessPredicate` configured with the given options.
36
- */
37
- static with(options = {}) {
38
- return new HarnessPredicate(GioFormHeadersHarness, options);
39
- }
40
- async getHeaderRows() {
41
- const rows = await this.getHeaderRowsElement();
42
- return Promise.all(rows.map(async (_, rowIndex) => ({
43
- keyInput: await this.getHeaderRowInputKey(rowIndex)(),
44
- keyAutocomplete: await this.getHeaderRowInputKeyAutocomplete(rowIndex)(),
45
- valueInput: await this.getHeaderRowInputValue(rowIndex)(),
46
- removeButton: await this.getHeaderRowRemoveButton(rowIndex)(),
47
- })));
48
- }
49
- async getLastHeaderRow() {
50
- const rows = await this.getHeaderRowsElement();
51
- return {
52
- keyInput: await this.getHeaderRowInputKey(rows.length - 1)(),
53
- valueInput: await this.getHeaderRowInputValue(rows.length - 1)(),
54
- };
55
- }
56
- async addHeader({ key, value }) {
57
- const { keyInput, valueInput } = await this.getLastHeaderRow();
58
- await keyInput.setValue(key);
59
- await valueInput.setValue(value);
60
- }
61
- async isDisabled() {
62
- return (await this.host()).hasClass('disabled');
63
- }
64
- async getValue() {
65
- const rows = await this.getHeaderRows();
66
- if (!(await this.isDisabled())) {
67
- // Remove last empty value
68
- rows.pop();
69
- }
70
- return parallel(() => rows.map(async (r) => ({ key: await r.keyInput.getValue(), value: await r.valueInput.getValue() })));
71
- }
72
- }
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLWZvcm0taGVhZGVycy5oYXJuZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktcGFydGljbGVzLWFuZ3VsYXIvc3JjL2xpYi9naW8tZm9ybS1oZWFkZXJzL2dpby1mb3JtLWhlYWRlcnMuaGFybmVzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBc0MsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEgsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDcEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRWhGLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxnQkFBZ0I7SUFBM0Q7O1FBY1UseUJBQW9CLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFDO1FBRXBGLHlCQUFvQixHQUFHLENBQUMsUUFBZ0IsRUFBbUMsRUFBRSxDQUNuRixJQUFJLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsRUFBRSxRQUFRLEVBQUUscUJBQXFCLFFBQVEsSUFBSSxFQUFFLFFBQVEsRUFBRSx1QkFBdUIsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUVwSCxxQ0FBZ0MsR0FBRyxDQUFDLFFBQWdCLEVBQTBDLEVBQUUsQ0FDdEcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxRQUFRLEVBQUUsdUJBQXVCLFFBQVEsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRTFGLDJCQUFzQixHQUFHLENBQUMsUUFBZ0IsRUFBbUMsRUFBRSxDQUNyRixJQUFJLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxJQUFJ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LFVBQVUsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChDKSAyMDE1IFRoZSBHcmF2aXRlZSB0ZWFtIChodHRwOi8vZ3Jhdml0ZWUuaW8pXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBBc3luY0ZhY3RvcnlGbiwgQmFzZUhhcm5lc3NGaWx0ZXJzLCBDb21wb25lbnRIYXJuZXNzLCBIYXJuZXNzUHJlZGljYXRlLCBwYXJhbGxlbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXN0aW5nJztcbmltcG9ydCB7IE1hdEJ1dHRvbkhhcm5lc3MgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24vdGVzdGluZyc7XG5pbXBvcnQgeyBNYXRJbnB1dEhhcm5lc3MgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dC90ZXN0aW5nJztcbmltcG9ydCB7IE1hdEF1dG9jb21wbGV0ZUhhcm5lc3MgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9hdXRvY29tcGxldGUvdGVzdGluZyc7XG5cbmV4cG9ydCBjbGFzcyBHaW9Gb3JtSGVhZGVyc0hhcm5lc3MgZXh0ZW5kcyBDb21wb25lbnRIYXJuZXNzIHtcbiAgcHVibGljIHN0YXRpYyBob3N0U2VsZWN0b3IgPSAnZ2lvLWZvcm0taGVhZGVycyc7XG5cbiAgLyoqXG4gICAqIEdldHMgYSBgSGFybmVzc1ByZWRpY2F0ZWAgdGhhdCBjYW4gYmUgdXNlZCB0byBzZWFyY2ggZm9yIGEgYEdpb0Zvcm1Db2xvcklucHV0SGFybmVzc2AgdGhhdCBtZWV0c1xuICAgKiBjZXJ0YWluIGNyaXRlcmlhLlxuICAgKlxuICAgKiBAcGFyYW0gb3B0aW9ucyBPcHRpb25zIGZvciBmaWx0ZXJpbmcgd2hpY2ggaW5wdXQgaW5zdGFuY2VzIGFyZSBjb25zaWRlcmVkIGEgbWF0Y2guXG4gICAqIEByZXR1cm4gYSBgSGFybmVzc1ByZWRpY2F0ZWAgY29uZmlndXJlZCB3aXRoIHRoZSBnaXZlbiBvcHRpb25zLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyB3aXRoKG9wdGlvbnM6IEJhc2VIYXJuZXNzRmlsdGVycyA9IHt9KTogSGFybmVzc1ByZWRpY2F0ZTxHaW9Gb3JtSGVhZGVyc0hhcm5lc3M+IHtcbiAgICByZXR1cm4gbmV3IEhhcm5lc3NQcmVkaWNhdGUoR2lvRm9ybUhlYWRlcnNIYXJuZXNzLCBvcHRpb25zKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0SGVhZGVyUm93c0VsZW1lbnQgPSB0aGlzLmxvY2F0b3JGb3JBbGwoJ3RyLmdpby1mb3JtLWhlYWRlcnNfX3RhYmxlX19oZWFkZXItcm93Jyk7XG5cbiAgcHJpdmF0ZSBnZXRIZWFkZXJSb3dJbnB1dEtleSA9IChyb3dJbmRleDogbnVtYmVyKTogQXN5bmNGYWN0b3J5Rm48TWF0SW5wdXRIYXJuZXNzPiA9PlxuICAgIHRoaXMubG9jYXRvckZvcihNYXRJbnB1dEhhcm5lc3Mud2l0aCh7IGFuY2VzdG9yOiBgW25nLXJlZmxlY3QtbmFtZT1cIiR7cm93SW5kZXh9XCJdYCwgc2VsZWN0b3I6ICdbZm9ybUNvbnRyb2xOYW1lPWtleV0nIH0pKTtcblxuICBwcml2YXRlIGdldEhlYWRlclJvd0lucHV0S2V5QXV0b2NvbXBsZXRlID0gKHJvd0luZGV4OiBudW1iZXIpOiBBc3luY0ZhY3RvcnlGbjxNYXRBdXRvY29tcGxldGVIYXJuZXNzPiA9PlxuICAgIHRoaXMubG9jYXRvckZvcihNYXRBdXRvY29tcGxldGVIYXJuZXNzLndpdGgoeyBhbmNlc3RvcjogYHRyW25nLXJlZmxlY3QtbmFtZT1cIiR7cm93SW5kZXh9XCJdYCB9KSk7XG5cbiAgcHJpdmF0ZSBnZXRIZWFkZXJSb3dJbnB1dFZhbHVlID0gKHJvd0luZGV4OiBudW1iZXIpOiBBc3luY0ZhY3RvcnlGbjxNYXRJbnB1dEhhcm5lc3M+ID0+XG4gICAgdGhpcy5sb2NhdG9yRm9yKE1hdElucHV0SGFybmVzcy53aXRoKHsgYW5jZXN0b3I6IGB0cltuZy1yZWZsZWN0LW5hbWU9XCIke3Jvd0luZGV4fVwiXWAsIHNlbGVjdG9yOiAnW2Zvcm1Db250cm9sTmFtZT12YWx1ZV0nIH0pKTtcblxuICBwcml2YXRlIGdldEhlYWRlclJvd1JlbW92ZUJ1dHRvbiA9IChyb3dJbmRleDogbnVtYmVyKTogQXN5bmNGYWN0b3J5Rm48TWF0QnV0dG9uSGFybmVzcyB8IG51bGw+ID0+XG4gICAgdGhpcy5sb2NhdG9yRm9yT3B0aW9uYWwoTWF0QnV0dG9uSGFybmVzcy53aXRoKHsgYW5jZXN0b3I6IGB0cltuZy1yZWZsZWN0LW5hbWU9XCIke3Jvd0luZGV4fVwiXWAsIHNlbGVjdG9yOiAnW2FyaWEtbGFiZWw9XCJEZWxldGVcIl0nIH0pKTtcblxuICBwdWJsaWMgYXN5bmMgZ2V0SGVhZGVyUm93cygpOiBQcm9taXNlPFxuICAgIHtcbiAgICAgIGtleUlucHV0OiBNYXRJbnB1dEhhcm5lc3M7XG4gICAgICBrZXlBdXRvY29tcGxldGU6IE1hdEF1dG9jb21wbGV0ZUhhcm5lc3M7XG4gICAgICB2YWx1ZUlucHV0OiBNYXRJbnB1dEhhcm5lc3M7XG4gICAgICByZW1vdmVCdXR0b246IE1hdEJ1dHRvbkhhcm5lc3MgfCBudWxsO1xuICAgIH1bXVxuICA+IHtcbiAgICBjb25zdCByb3dzID0gYXdhaXQgdGhpcy5nZXRIZWFkZXJSb3dzRWxlbWVudCgpO1xuXG4gICAgcmV0dXJuIFByb21pc2UuYWxsKFxuICAgICAgcm93cy5tYXAoYXN5bmMgKF8sIHJvd0luZGV4KSA9PiAoe1xuICAgICAgICBrZXlJbnB1dDogYXdhaXQgdGhpcy5nZXRIZWFkZXJSb3dJbnB1dEtleShyb3dJbmRleCkoKSxcbiAgICAgICAga2V5QXV0b2NvbXBsZXRlOiBhd2FpdCB0aGlzLmdldEhlYWRlclJvd0lucHV0S2V5QXV0b2NvbXBsZXRlKHJvd0luZGV4KSgpLFxuICAgICAgICB2YWx1ZUlucHV0OiBhd2FpdCB0aGlzLmdldEhlYWRlclJvd0lucHV0VmFsdWUocm93SW5kZXgpKCksXG4gICAgICAgIHJlbW92ZUJ1dHRvbjogYXdhaXQgdGhpcy5nZXRIZWFkZXJSb3dSZW1vdmVCdXR0b24ocm93SW5kZXgpKCksXG4gICAgICB9KSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBnZXRMYXN0SGVhZGVyUm93KCk6IFByb21pc2U8eyBrZXlJbnB1dDogTWF0SW5wdXRIYXJuZXNzOyB2YWx1ZUlucHV0OiBNYXRJbnB1dEhhcm5lc3MgfT4ge1xuICAgIGNvbnN0IHJvd3MgPSBhd2FpdCB0aGlzLmdldEhlYWRlclJvd3NFbGVtZW50KCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAga2V5SW5wdXQ6IGF3YWl0IHRoaXMuZ2V0SGVhZGVyUm93SW5wdXRLZXkocm93cy5sZW5ndGggLSAxKSgpLFxuICAgICAgdmFsdWVJbnB1dDogYXdhaXQgdGhpcy5nZXRIZWFkZXJSb3dJbnB1dFZhbHVlKHJvd3MubGVuZ3RoIC0gMSkoKSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGFkZEhlYWRlcih7IGtleSwgdmFsdWUgfTogeyBrZXk6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgeyBrZXlJbnB1dCwgdmFsdWVJbnB1dCB9ID0gYXdhaXQgdGhpcy5nZXRMYXN0SGVhZGVyUm93KCk7XG5cbiAgICBhd2FpdCBrZXlJbnB1dC5zZXRWYWx1ZShrZXkpO1xuICAgIGF3YWl0IHZhbHVlSW5wdXQuc2V0VmFsdWUodmFsdWUpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGlzRGlzYWJsZWQoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLmhvc3QoKSkuaGFzQ2xhc3MoJ2Rpc2FibGVkJyk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZ2V0VmFsdWUoKTogUHJvbWlzZTx7IGtleTogc3RyaW5nOyB2YWx1ZTogc3RyaW5nIH1bXT4ge1xuICAgIGNvbnN0IHJvd3MgPSBhd2FpdCB0aGlzLmdldEhlYWRlclJvd3MoKTtcblxuICAgIGlmICghKGF3YWl0IHRoaXMuaXNEaXNhYmxlZCgpKSkge1xuICAgICAgLy8gUmVtb3ZlIGxhc3QgZW1wdHkgdmFsdWVcbiAgICAgIHJvd3MucG9wKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBhcmFsbGVsKCgpID0+IHJvd3MubWFwKGFzeW5jIHIgPT4gKHsga2V5OiBhd2FpdCByLmtleUlucHV0LmdldFZhbHVlKCksIHZhbHVlOiBhd2FpdCByLnZhbHVlSW5wdXQuZ2V0VmFsdWUoKSB9KSkpO1xuICB9XG59XG4iXX0=
@@ -1,77 +0,0 @@
1
- /*
2
- * Copyright (C) 2015 The Gravitee team (http://gravitee.io)
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- import { CommonModule } from '@angular/common';
17
- import { NgModule } from '@angular/core';
18
- import { ReactiveFormsModule } from '@angular/forms';
19
- import { MatButtonModule } from '@angular/material/button';
20
- import { MatFormFieldModule } from '@angular/material/form-field';
21
- import { MatInputModule } from '@angular/material/input';
22
- import { MatAutocompleteModule } from '@angular/material/autocomplete';
23
- import { MatOptionModule } from '@angular/material/core';
24
- import { GioIconsModule } from '../gio-icons/gio-icons.module';
25
- import { GioElAssistantComponent, GioElPromptComponent } from '../gio-el';
26
- import { GioPopoverComponent, PopoverTriggerDirective } from '../gio-popover';
27
- import { GioFormHeadersComponent } from './gio-form-headers.component';
28
- import { GioFormHeadersLabelComponent } from './gio-form-headers-label.component';
29
- import * as i0 from "@angular/core";
30
- export class GioFormHeadersModule {
31
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: GioFormHeadersModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
32
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.4", ngImport: i0, type: GioFormHeadersModule, declarations: [GioFormHeadersComponent, GioFormHeadersLabelComponent], imports: [CommonModule,
33
- MatInputModule,
34
- MatFormFieldModule,
35
- ReactiveFormsModule,
36
- GioIconsModule,
37
- MatButtonModule,
38
- MatAutocompleteModule,
39
- MatOptionModule,
40
- GioElPromptComponent,
41
- GioPopoverComponent,
42
- PopoverTriggerDirective,
43
- GioElAssistantComponent], exports: [GioFormHeadersComponent, GioFormHeadersLabelComponent] }); }
44
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: GioFormHeadersModule, imports: [CommonModule,
45
- MatInputModule,
46
- MatFormFieldModule,
47
- ReactiveFormsModule,
48
- GioIconsModule,
49
- MatButtonModule,
50
- MatAutocompleteModule,
51
- MatOptionModule,
52
- GioElPromptComponent,
53
- GioPopoverComponent,
54
- GioElAssistantComponent] }); }
55
- }
56
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: GioFormHeadersModule, decorators: [{
57
- type: NgModule,
58
- args: [{
59
- imports: [
60
- CommonModule,
61
- MatInputModule,
62
- MatFormFieldModule,
63
- ReactiveFormsModule,
64
- GioIconsModule,
65
- MatButtonModule,
66
- MatAutocompleteModule,
67
- MatOptionModule,
68
- GioElPromptComponent,
69
- GioPopoverComponent,
70
- PopoverTriggerDirective,
71
- GioElAssistantComponent,
72
- ],
73
- declarations: [GioFormHeadersComponent, GioFormHeadersLabelComponent],
74
- exports: [GioFormHeadersComponent, GioFormHeadersLabelComponent],
75
- }]
76
- }] });
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLWZvcm0taGVhZGVycy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1wYXJ0aWNsZXMtYW5ndWxhci9zcmMvbGliL2dpby1mb3JtLWhlYWRlcnMvZ2lvLWZvcm0taGVhZGVycy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV6RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLG9CQUFvQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTlFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOztBQW9CbEYsTUFBTSxPQUFPLG9CQUFvQjs4R0FBcEIsb0JBQW9COytHQUFwQixvQkFBb0IsaUJBSGhCLHVCQUF1QixFQUFFLDRCQUE0QixhQWJsRSxZQUFZO1lBQ1osY0FBYztZQUNkLGtCQUFrQjtZQUNsQixtQkFBbUI7WUFDbkIsY0FBYztZQUNkLGVBQWU7WUFDZixxQkFBcUI7WUFDckIsZUFBZTtZQUNmLG9CQUFvQjtZQUNwQixtQkFBbUI7WUFDbkIsdUJBQXVCO1lBQ3ZCLHVCQUF1QixhQUdmLHVCQUF1QixFQUFFLDRCQUE0QjsrR0FFcEQsb0JBQW9CLFlBaEI3QixZQUFZO1lBQ1osY0FBYztZQUNkLGtCQUFrQjtZQUNsQixtQkFBbUI7WUFDbkIsY0FBYztZQUNkLGVBQWU7WUFDZixxQkFBcUI7WUFDckIsZUFBZTtZQUNmLG9CQUFvQjtZQUNwQixtQkFBbUI7WUFFbkIsdUJBQXVCOzsyRkFLZCxvQkFBb0I7a0JBbEJoQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGNBQWM7d0JBQ2Qsa0JBQWtCO3dCQUNsQixtQkFBbUI7d0JBQ25CLGNBQWM7d0JBQ2QsZUFBZTt3QkFDZixxQkFBcUI7d0JBQ3JCLGVBQWU7d0JBQ2Ysb0JBQW9CO3dCQUNwQixtQkFBbUI7d0JBQ25CLHVCQUF1Qjt3QkFDdkIsdUJBQXVCO3FCQUN4QjtvQkFDRCxZQUFZLEVBQUUsQ0FBQyx1QkFBdUIsRUFBRSw0QkFBNEIsQ0FBQztvQkFDckUsT0FBTyxFQUFFLENBQUMsdUJBQXVCLEVBQUUsNEJBQTRCLENBQUM7aUJBQ2pFIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoQykgMjAxNSBUaGUgR3Jhdml0ZWUgdGVhbSAoaHR0cDovL2dyYXZpdGVlLmlvKVxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgTWF0QXV0b2NvbXBsZXRlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcbmltcG9ydCB7IE1hdE9wdGlvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuXG5pbXBvcnQgeyBHaW9JY29uc01vZHVsZSB9IGZyb20gJy4uL2dpby1pY29ucy9naW8taWNvbnMubW9kdWxlJztcbmltcG9ydCB7IEdpb0VsQXNzaXN0YW50Q29tcG9uZW50LCBHaW9FbFByb21wdENvbXBvbmVudCB9IGZyb20gJy4uL2dpby1lbCc7XG5pbXBvcnQgeyBHaW9Qb3BvdmVyQ29tcG9uZW50LCBQb3BvdmVyVHJpZ2dlckRpcmVjdGl2ZSB9IGZyb20gJy4uL2dpby1wb3BvdmVyJztcblxuaW1wb3J0IHsgR2lvRm9ybUhlYWRlcnNDb21wb25lbnQgfSBmcm9tICcuL2dpby1mb3JtLWhlYWRlcnMuY29tcG9uZW50JztcbmltcG9ydCB7IEdpb0Zvcm1IZWFkZXJzTGFiZWxDb21wb25lbnQgfSBmcm9tICcuL2dpby1mb3JtLWhlYWRlcnMtbGFiZWwuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBHaW9JY29uc01vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTWF0QXV0b2NvbXBsZXRlTW9kdWxlLFxuICAgIE1hdE9wdGlvbk1vZHVsZSxcbiAgICBHaW9FbFByb21wdENvbXBvbmVudCxcbiAgICBHaW9Qb3BvdmVyQ29tcG9uZW50LFxuICAgIFBvcG92ZXJUcmlnZ2VyRGlyZWN0aXZlLFxuICAgIEdpb0VsQXNzaXN0YW50Q29tcG9uZW50LFxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtHaW9Gb3JtSGVhZGVyc0NvbXBvbmVudCwgR2lvRm9ybUhlYWRlcnNMYWJlbENvbXBvbmVudF0sXG4gIGV4cG9ydHM6IFtHaW9Gb3JtSGVhZGVyc0NvbXBvbmVudCwgR2lvRm9ybUhlYWRlcnNMYWJlbENvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIEdpb0Zvcm1IZWFkZXJzTW9kdWxlIHt9XG4iXX0=
@@ -1,209 +0,0 @@
1
- /*
2
- * Copyright (C) 2023 The Gravitee team (http://gravitee.io)
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- import { ChangeDetectionStrategy, Component, EventEmitter, Host, HostBinding, Input, Optional, Output, } from '@angular/core';
17
- import { UntypedFormGroup } from '@angular/forms';
18
- import { cloneDeep, isEmpty, isEqual, isObject, set } from 'lodash';
19
- import { debounceTime, delay, distinctUntilChanged, filter, map, startWith, take, takeUntil, tap } from 'rxjs/operators';
20
- import { merge, ReplaySubject, Subject } from 'rxjs';
21
- import { GIO_FORM_FOCUS_INVALID_IGNORE_SELECTOR } from '../gio-form-focus-first-invalid/gio-form-focus-first-invalid-ignore.directive';
22
- import * as i0 from "@angular/core";
23
- import * as i1 from "./gio-formly-json-schema.service";
24
- import * as i2 from "@angular/cdk/a11y";
25
- import * as i3 from "@angular/forms";
26
- import * as i4 from "@angular/common";
27
- import * as i5 from "@ngx-formly/core";
28
- export class GioFormJsonSchemaComponent {
29
- static isDisplayable(jsonSchema) {
30
- const properties = ['properties', 'oneOf', 'anyOf', 'allOf', '$ref', 'items'];
31
- return isObject(jsonSchema) && properties.some(property => !isEmpty(jsonSchema[property]));
32
- }
33
- constructor(gioFormlyJsonSchema, elRef, fm, changeDetectorRef, ngControl) {
34
- this.gioFormlyJsonSchema = gioFormlyJsonSchema;
35
- this.elRef = elRef;
36
- this.fm = fm;
37
- this.changeDetectorRef = changeDetectorRef;
38
- this.ngControl = ngControl;
39
- this.unsubscribe$ = new Subject();
40
- this.gioFormFocusInvalidIgnore = true;
41
- this.formGroup = new UntypedFormGroup({});
42
- this.options = {};
43
- // When true the form is ready and control status are up-to-date
44
- // Useful to know when initial control status can be used
45
- this.ready = new EventEmitter();
46
- this.isReady = false;
47
- this.model = {};
48
- this.fields = [];
49
- this.isDisabled = false;
50
- this._onChange = () => ({});
51
- this._onTouched = () => ({});
52
- this.touched = false;
53
- this.isValid$ = new ReplaySubject(1); // Wait JsonSchema to be loaded to check if it's valid
54
- this.stateChanges$ = new Subject();
55
- if (ngControl) {
56
- // Setting the value accessor directly (instead of using
57
- // the providers `NG_VALUE_ACCESSOR`) to avoid running into a circular import.
58
- ngControl.valueAccessor = this;
59
- }
60
- // When the user interact with the form, mark it as touched
61
- fm.monitor(elRef.nativeElement, true)
62
- .pipe(takeUntil(this.unsubscribe$))
63
- .subscribe(() => {
64
- if (this.isDisabled) {
65
- return;
66
- }
67
- this._onTouched();
68
- this.touched = true;
69
- });
70
- }
71
- ngOnChanges(changes) {
72
- if (changes.jsonSchema) {
73
- this.isReady = false;
74
- this.ready.next(false);
75
- }
76
- if (changes.jsonSchema || changes.context) {
77
- if (!isEmpty(this.jsonSchema)) {
78
- this.fields = [this.gioFormlyJsonSchema.toFormlyFieldConfig(this.jsonSchema, this.context)];
79
- }
80
- }
81
- }
82
- ngOnInit() {
83
- // When the parent form is touched, mark all the sub formGroup as touched if not already touched
84
- const parentControl = this.ngControl?.control?.parent;
85
- parentControl?.statusChanges
86
- ?.pipe(map(() => parentControl?.touched), filter(touched => touched === true), distinctUntilChanged(), takeUntil(this.unsubscribe$))
87
- .subscribe(() => {
88
- if (this.isDisabled) {
89
- return;
90
- }
91
- this.formGroup.markAllAsTouched();
92
- this.stateChanges$.next();
93
- });
94
- // Add async validator to the parent
95
- this.ngControl?.control?.addAsyncValidators(() => {
96
- return this.isValid$.pipe(take(1), map(isValid => (isValid ? null : { invalid: true })), takeUntil(this.unsubscribe$));
97
- });
98
- // Sync control value with default value (without emit event) as long as the component is not ready
99
- // When formly is initialised, it emits several values as it builds up step by step.
100
- this.formGroup.valueChanges
101
- .pipe(distinctUntilChanged(isEqual), tap(value => {
102
- this.ngControl?.control?.reset(value, { emitEvent: false });
103
- }), takeUntil(this.ready), takeUntil(this.unsubscribe$))
104
- .subscribe();
105
- // Avoid ExpressionChangedAfterItHasBeenCheckedError on project
106
- this.changeDetectorRef.markForCheck();
107
- this.changeDetectorRef.detectChanges();
108
- // Subscribe to state changes to manage touches, status and value
109
- this.stateChanges$
110
- .pipe(tap(() => {
111
- const { status, value, touched } = this.formGroup;
112
- if (this.isDisabled) {
113
- return;
114
- }
115
- if (status === 'VALID') {
116
- this.isValid$.next(true);
117
- }
118
- if (status === 'INVALID') {
119
- this.isValid$.next(false);
120
- }
121
- if (touched && !this.touched) {
122
- this._onTouched();
123
- this.touched = true;
124
- }
125
- if (this.touched) {
126
- this._onChange(value);
127
- }
128
- }), delay(0),
129
- // Keep at the end
130
- takeUntil(this.unsubscribe$))
131
- .subscribe(() => {
132
- this.changeDetectorRef.markForCheck();
133
- this.changeDetectorRef.detectChanges();
134
- this.ngControl?.control?.updateValueAndValidity({
135
- emitEvent: false,
136
- });
137
- // After the first state change, the form is ready
138
- if (!this.isReady) {
139
- this.isReady = true;
140
- this.ready.emit(true);
141
- }
142
- });
143
- }
144
- ngAfterViewInit() {
145
- // Group all valueChanges events emit by formly in a single one
146
- merge(this.formGroup.statusChanges, this.formGroup.valueChanges)
147
- .pipe(
148
- // Force fist stateChanges$
149
- startWith({}), debounceTime(100), takeUntil(this.unsubscribe$))
150
- .subscribe(() => {
151
- this.stateChanges$.next();
152
- });
153
- }
154
- ngOnDestroy() {
155
- this.unsubscribe$.next();
156
- this.unsubscribe$.unsubscribe();
157
- this.fm.stopMonitoring(this.elRef.nativeElement);
158
- }
159
- // From ControlValueAccessor
160
- writeValue(value) {
161
- this.model = cloneDeep(value) ?? {};
162
- }
163
- // From ControlValueAccessor
164
- registerOnChange(fn) {
165
- this._onChange = fn;
166
- }
167
- // From ControlValueAccessor
168
- registerOnTouched(fn) {
169
- this._onTouched = fn;
170
- }
171
- // From ControlValueAccessor
172
- setDisabledState(isDisabled) {
173
- if (this.isDisabled === isDisabled) {
174
- return;
175
- }
176
- this.isDisabled = isDisabled;
177
- set(this.options, 'formState.parentDisabled', isDisabled);
178
- setTimeout(() => {
179
- isDisabled ? this.formGroup.disable({ emitEvent: false }) : this.formGroup.enable({ emitEvent: false });
180
- this.changeDetectorRef.markForCheck();
181
- this.changeDetectorRef.detectChanges();
182
- this.stateChanges$.next();
183
- }, 0);
184
- this.stateChanges$.next();
185
- }
186
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: GioFormJsonSchemaComponent, deps: [{ token: i1.GioFormlyJsonSchemaService }, { token: i0.ElementRef }, { token: i2.FocusMonitor }, { token: i0.ChangeDetectorRef }, { token: i3.NgControl, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
187
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.4", type: GioFormJsonSchemaComponent, isStandalone: false, selector: "gio-form-json-schema", inputs: { jsonSchema: "jsonSchema", context: "context", options: "options" }, outputs: { ready: "ready" }, host: { properties: { "attr.gioFormFocusInvalidIgnore": "this.gioFormFocusInvalidIgnore" } }, usesOnChanges: true, ngImport: i0, template: `<formly-form *ngIf="formGroup" [fields]="fields" [options]="options" [form]="formGroup" [model]="model"></formly-form>`, isInline: true, styles: [""], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.FormlyForm, selector: "formly-form", inputs: ["form", "model", "fields", "options"], outputs: ["modelChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
188
- }
189
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: GioFormJsonSchemaComponent, decorators: [{
190
- type: Component,
191
- args: [{ selector: 'gio-form-json-schema', template: `<formly-form *ngIf="formGroup" [fields]="fields" [options]="options" [form]="formGroup" [model]="model"></formly-form>`, changeDetection: ChangeDetectionStrategy.OnPush, standalone: false }]
192
- }], ctorParameters: () => [{ type: i1.GioFormlyJsonSchemaService }, { type: i0.ElementRef }, { type: i2.FocusMonitor }, { type: i0.ChangeDetectorRef }, { type: i3.NgControl, decorators: [{
193
- type: Host
194
- }, {
195
- type: Optional
196
- }] }], propDecorators: { gioFormFocusInvalidIgnore: [{
197
- type: HostBinding,
198
- args: [`attr.${GIO_FORM_FOCUS_INVALID_IGNORE_SELECTOR}`]
199
- }], jsonSchema: [{
200
- type: Input,
201
- args: [{ required: true }]
202
- }], context: [{
203
- type: Input
204
- }], options: [{
205
- type: Input
206
- }], ready: [{
207
- type: Output
208
- }] } });
209
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLWZvcm0tanNvbi1zY2hlbWEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktcGFydGljbGVzLWFuZ3VsYXIvc3JjL2xpYi9naW8tZm9ybS1qc29uLXNjaGVtYS9naW8tZm9ybS1qc29uLXNjaGVtYS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxPQUFPLEVBRUwsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVCxZQUFZLEVBQ1osSUFBSSxFQUNKLFdBQVcsRUFDWCxLQUFLLEVBSUwsUUFBUSxFQUNSLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGdCQUFnQixFQUFhLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkYsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDcEUsT0FBTyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6SCxPQUFPLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHckQsT0FBTyxFQUFFLHNDQUFzQyxFQUFFLE1BQU0sK0VBQStFLENBQUM7Ozs7Ozs7QUFhdkksTUFBTSxPQUFPLDBCQUEwQjtJQUM5QixNQUFNLENBQUMsYUFBYSxDQUFDLFVBQXlCO1FBQ25ELE1BQU0sVUFBVSxHQUFHLENBQUMsWUFBWSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQVUsQ0FBQztRQUV2RixPQUFPLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxV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LG1CQUVqSCx1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLEtBQUs7OzBCQW9EZCxJQUFJOzswQkFBSSxRQUFRO3lDQXpDWCx5QkFBeUI7c0JBRGhDLFdBQVc7dUJBQUMsUUFBUSxzQ0FBc0MsRUFBRTtnQkFJdEQsVUFBVTtzQkFEaEIsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBSWxCLE9BQU87c0JBRGIsS0FBSztnQkFNQyxPQUFPO3NCQURiLEtBQUs7Z0JBTUMsS0FBSztzQkFEWCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoQykgMjAyMyBUaGUgR3Jhdml0ZWUgdGVhbSAoaHR0cDovL2dyYXZpdGVlLmlvKVxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3QsXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgVW50eXBlZEZvcm1Hcm91cCwgTmdDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRm9ybWx5RmllbGRDb25maWcsIEZvcm1seUZvcm1PcHRpb25zIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XG5pbXBvcnQgeyBjbG9uZURlZXAsIGlzRW1wdHksIGlzRXF1YWwsIGlzT2JqZWN0LCBzZXQgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBkZWxheSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciwgbWFwLCBzdGFydFdpdGgsIHRha2UsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgbWVyZ2UsIFJlcGxheVN1YmplY3QsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZvY3VzTW9uaXRvciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcblxuaW1wb3J0IHsgR0lPX0ZPUk1fRk9DVVNfSU5WQUxJRF9JR05PUkVfU0VMRUNUT1IgfSBmcm9tICcuLi9naW8tZm9ybS1mb2N1cy1maXJzdC1pbnZhbGlkL2dpby1mb3JtLWZvY3VzLWZpcnN0LWludmFsaWQtaWdub3JlLmRpcmVjdGl2ZSc7XG5cbmltcG9ydCB7IEdpb0pzb25TY2hlbWEgfSBmcm9tICcuL21vZGVsL0dpb0pzb25TY2hlbWEnO1xuaW1wb3J0IHsgR2lvRm9ybWx5SnNvblNjaGVtYVNlcnZpY2UgfSBmcm9tICcuL2dpby1mb3JtbHktanNvbi1zY2hlbWEuc2VydmljZSc7XG5pbXBvcnQgeyBHaW9Kc29uU2NoZW1hQ29udGV4dCB9IGZyb20gJy4vbW9kZWwvR2lvSnNvblNjaGVtYUNvbnRleHQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnaW8tZm9ybS1qc29uLXNjaGVtYScsXG4gIHRlbXBsYXRlOiBgPGZvcm1seS1mb3JtICpuZ0lmPVwiZm9ybUdyb3VwXCIgW2ZpZWxkc109XCJmaWVsZHNcIiBbb3B0aW9uc109XCJvcHRpb25zXCIgW2Zvcm1dPVwiZm9ybUdyb3VwXCIgW21vZGVsXT1cIm1vZGVsXCI+PC9mb3JtbHktZm9ybT5gLFxuICBzdHlsZVVybHM6IFsnLi9naW8tZm9ybS1qc29uLXNjaGVtYS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIEdpb0Zvcm1Kc29uU2NoZW1hQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uQ2hhbmdlcywgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICBwdWJsaWMgc3RhdGljIGlzRGlzcGxheWFibGUoanNvblNjaGVtYTogR2lvSnNvblNjaGVtYSk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHByb3BlcnRpZXMgPSBbJ3Byb3BlcnRpZXMnLCAnb25lT2YnLCAnYW55T2YnLCAnYWxsT2YnLCAnJHJlZicsICdpdGVtcyddIGFzIGNvbnN0O1xuXG4gICAgcmV0dXJuIGlzT2JqZWN0KGpzb25TY2hlbWEpICYmIHByb3BlcnRpZXMuc29tZShwcm9wZXJ0eSA9PiAhaXNFbXB0eShqc29uU2NoZW1hW3Byb3BlcnR5XSkpO1xuICB9XG4gIHByaXZhdGUgdW5zdWJzY3JpYmUkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBASG9zdEJpbmRpbmcoYGF0dHIuJHtHSU9fRk9STV9GT0NVU19JTlZBTElEX0lHTk9SRV9TRUxFQ1RPUn1gKVxuICBwcml2YXRlIGdpb0Zvcm1Gb2N1c0ludmFsaWRJZ25vcmUgPSB0cnVlO1xuXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pXG4gIHB1YmxpYyBqc29uU2NoZW1hITogR2lvSnNvblNjaGVtYTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgY29udGV4dD86IEdpb0pzb25TY2hlbWFDb250ZXh0O1xuXG4gIHB1YmxpYyBmb3JtR3JvdXA6IFVudHlwZWRGb3JtR3JvdXAgPSBuZXcgVW50eXBlZEZvcm1Hcm91cCh7fSk7XG5cbiAgQElucHV0KClcbiAgcHVibGljIG9wdGlvbnM6IEZvcm1seUZvcm1PcHRpb25zID0ge307XG5cbiAgLy8gV2hlbiB0cnVlIHRoZSBmb3JtIGlzIHJlYWR5IGFuZCBjb250cm9sIHN0YXR1cyBhcmUgdXAtdG8tZGF0ZVxuICAvLyBVc2VmdWwgdG8ga25vdyB3aGVuIGluaXRpYWwgY29udHJvbCBzdGF0dXMgY2FuIGJlIHVzZWRcbiAgQE91dHB1dCgpXG4gIHB1YmxpYyByZWFkeSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBwcml2YXRlIGlzUmVhZHkgPSBmYWxzZTtcblxuICBwdWJsaWMgbW9kZWw6IHVua25vd24gPSB7fTtcblxuICBwdWJsaWMgZmllbGRzOiBGb3JtbHlGaWVsZENvbmZpZ1tdID0gW107XG5cbiAgcHVibGljIGlzRGlzYWJsZWQgPSBmYWxzZTtcblxuICBwdWJsaWMgX29uQ2hhbmdlOiAodmFsdWU6IHVua25vd24gfCBudWxsKSA9PiB2b2lkID0gKCkgPT4gKHt9KTtcblxuICBwdWJsaWMgX29uVG91Y2hlZDogKCkgPT4gdm9pZCA9ICgpID0+ICh7fSk7XG5cbiAgcHJpdmF0ZSB0b3VjaGVkID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBpc1ZhbGlkJCA9IG5ldyBSZXBsYXlTdWJqZWN0KDEpOyAvLyBXYWl0IEpzb25TY2hlbWEgdG8gYmUgbG9hZGVkIHRvIGNoZWNrIGlmIGl0J3MgdmFsaWRcblxuICBwcml2YXRlIHN0YXRlQ2hhbmdlcyQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZ2lvRm9ybWx5SnNvblNjaGVtYTogR2lvRm9ybWx5SnNvblNjaGVtYVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBlbFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZtOiBGb2N1c01vbml0b3IsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQEhvc3QoKSBAT3B0aW9uYWwoKSBwdWJsaWMgcmVhZG9ubHkgbmdDb250cm9sPzogTmdDb250cm9sLFxuICApIHtcbiAgICBpZiAobmdDb250cm9sKSB7XG4gICAgICAvLyBTZXR0aW5nIHRoZSB2YWx1ZSBhY2Nlc3NvciBkaXJlY3RseSAoaW5zdGVhZCBvZiB1c2luZ1xuICAgICAgLy8gdGhlIHByb3ZpZGVycyBgTkdfVkFMVUVfQUNDRVNTT1JgKSB0byBhdm9pZCBydW5uaW5nIGludG8gYSBjaXJjdWxhciBpbXBvcnQuXG4gICAgICBuZ0NvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXM7XG4gICAgfVxuXG4gICAgLy8gV2hlbiB0aGUgdXNlciBpbnRlcmFjdCB3aXRoIHRoZSBmb3JtLCBtYXJrIGl0IGFzIHRvdWNoZWRcbiAgICBmbS5tb25pdG9yKGVsUmVmLm5hdGl2ZUVsZW1lbnQsIHRydWUpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSQpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmlzRGlzYWJsZWQpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fb25Ub3VjaGVkKCk7XG4gICAgICAgIHRoaXMudG91Y2hlZCA9IHRydWU7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXMuanNvblNjaGVtYSkge1xuICAgICAgdGhpcy5pc1JlYWR5ID0gZmFsc2U7XG4gICAgICB0aGlzLnJlYWR5Lm5leHQoZmFsc2UpO1xuICAgIH1cblxuICAgIGlmIChjaGFuZ2VzLmpzb25TY2hlbWEgfHwgY2hhbmdlcy5jb250ZXh0KSB7XG4gICAgICBpZiAoIWlzRW1wdHkodGhpcy5qc29uU2NoZW1hKSkge1xuICAgICAgICB0aGlzLmZpZWxkcyA9IFt0aGlzLmdpb0Zvcm1seUpzb25TY2hlbWEudG9Gb3JtbHlGaWVsZENvbmZpZyh0aGlzLmpzb25TY2hlbWEsIHRoaXMuY29udGV4dCldO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvLyBXaGVuIHRoZSBwYXJlbnQgZm9ybSBpcyB0b3VjaGVkLCBtYXJrIGFsbCB0aGUgc3ViIGZvcm1Hcm91cCBhcyB0b3VjaGVkIGlmIG5vdCBhbHJlYWR5IHRvdWNoZWRcbiAgICBjb25zdCBwYXJlbnRDb250cm9sID0gdGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2w/LnBhcmVudDtcbiAgICBwYXJlbnRDb250cm9sPy5zdGF0dXNDaGFuZ2VzXG4gICAgICA/LnBpcGUoXG4gICAgICAgIG1hcCgoKSA9PiBwYXJlbnRDb250cm9sPy50b3VjaGVkKSxcbiAgICAgICAgZmlsdGVyKHRvdWNoZWQgPT4gdG91Y2hlZCA9PT0gdHJ1ZSksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuaXNEaXNhYmxlZCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmZvcm1Hcm91cC5tYXJrQWxsQXNUb3VjaGVkKCk7XG4gICAgICAgIHRoaXMuc3RhdGVDaGFuZ2VzJC5uZXh0KCk7XG4gICAgICB9KTtcbiAgICAvLyBBZGQgYXN5bmMgdmFsaWRhdG9yIHRvIHRoZSBwYXJlbnRcbiAgICB0aGlzLm5nQ29udHJvbD8uY29udHJvbD8uYWRkQXN5bmNWYWxpZGF0b3JzKCgpID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmlzVmFsaWQkLnBpcGUoXG4gICAgICAgIHRha2UoMSksXG4gICAgICAgIG1hcChpc1ZhbGlkID0+IChpc1ZhbGlkID8gbnVsbCA6IHsgaW52YWxpZDogdHJ1ZSB9KSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCksXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgLy8gU3luYyBjb250cm9sIHZhbHVlIHdpdGggZGVmYXVsdCB2YWx1ZSAod2l0aG91dCBlbWl0IGV2ZW50KSBhcyBsb25nIGFzIHRoZSBjb21wb25lbnQgaXMgbm90IHJlYWR5XG4gICAgLy8gV2hlbiBmb3JtbHkgaXMgaW5pdGlhbGlzZWQsIGl0IGVtaXRzIHNldmVyYWwgdmFsdWVzIGFzIGl0IGJ1aWxkcyB1cCBzdGVwIGJ5IHN0ZXAuXG4gICAgdGhpcy5mb3JtR3JvdXAudmFsdWVDaGFuZ2VzXG4gICAgICAucGlwZShcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoaXNFcXVhbCksXG4gICAgICAgIHRhcCh2YWx1ZSA9PiB7XG4gICAgICAgICAgdGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2w/LnJlc2V0KHZhbHVlLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICAgIH0pLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5yZWFkeSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG5cbiAgICAvLyBBdm9pZCBFeHByZXNzaW9uQ2hhbmdlZEFmdGVySXRIYXNCZWVuQ2hlY2tlZEVycm9yIG9uIHByb2plY3RcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgLy8gU3Vic2NyaWJlIHRvIHN0YXRlIGNoYW5nZXMgdG8gbWFuYWdlIHRvdWNoZXMsIHN0YXR1cyBhbmQgdmFsdWVcbiAgICB0aGlzLnN0YXRlQ2hhbmdlcyRcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHsgc3RhdHVzLCB2YWx1ZSwgdG91Y2hlZCB9ID0gdGhpcy5mb3JtR3JvdXA7XG4gICAgICAgICAgaWYgKHRoaXMuaXNEaXNhYmxlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChzdGF0dXMgPT09ICdWQUxJRCcpIHtcbiAgICAgICAgICAgIHRoaXMuaXNWYWxpZCQubmV4dCh0cnVlKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHN0YXR1cyA9PT0gJ0lOVkFMSUQnKSB7XG4gICAgICAgICAgICB0aGlzLmlzVmFsaWQkLm5leHQoZmFsc2UpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICh0b3VjaGVkICYmICF0aGlzLnRvdWNoZWQpIHtcbiAgICAgICAgICAgIHRoaXMuX29uVG91Y2hlZCgpO1xuICAgICAgICAgICAgdGhpcy50b3VjaGVkID0gdHJ1ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAodGhpcy50b3VjaGVkKSB7XG4gICAgICAgICAgICB0aGlzLl9vbkNoYW5nZSh2YWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KSxcbiAgICAgICAgZGVsYXkoMCksXG4gICAgICAgIC8vIEtlZXAgYXQgdGhlIGVuZFxuICAgICAgICB0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB0aGlzLm5nQ29udHJvbD8uY29udHJvbD8udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSh7XG4gICAgICAgICAgZW1pdEV2ZW50OiBmYWxzZSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gQWZ0ZXIgdGhlIGZpcnN0IHN0YXRlIGNoYW5nZSwgdGhlIGZvcm0gaXMgcmVhZHlcbiAgICAgICAgaWYgKCF0aGlzLmlzUmVhZHkpIHtcbiAgICAgICAgICB0aGlzLmlzUmVhZHkgPSB0cnVlO1xuICAgICAgICAgIHRoaXMucmVhZHkuZW1pdCh0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIC8vIEdyb3VwIGFsbCB2YWx1ZUNoYW5nZXMgZXZlbnRzIGVtaXQgYnkgZm9ybWx5IGluIGEgc2luZ2xlIG9uZVxuICAgIG1lcmdlKHRoaXMuZm9ybUdyb3VwLnN0YXR1c0NoYW5nZXMsIHRoaXMuZm9ybUdyb3VwLnZhbHVlQ2hhbmdlcylcbiAgICAgIC5waXBlKFxuICAgICAgICAvLyBGb3JjZSBmaXN0IHN0YXRlQ2hhbmdlcyRcbiAgICAgICAgc3RhcnRXaXRoKHt9KSxcbiAgICAgICAgZGVib3VuY2VUaW1lKDEwMCksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5zdGF0ZUNoYW5nZXMkLm5leHQoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMudW5zdWJzY3JpYmUkLm5leHQoKTtcbiAgICB0aGlzLnVuc3Vic2NyaWJlJC51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuZm0uc3RvcE1vbml0b3JpbmcodGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgfVxuXG4gIC8vIEZyb20gQ29udHJvbFZhbHVlQWNjZXNzb3JcbiAgcHVibGljIHdyaXRlVmFsdWUodmFsdWU6IHVua25vd24pOiB2b2lkIHtcbiAgICB0aGlzLm1vZGVsID0gY2xvbmVEZWVwKHZhbHVlKSA/PyB7fTtcbiAgfVxuXG4gIC8vIEZyb20gQ29udHJvbFZhbHVlQWNjZXNzb3JcbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogdW5rbm93biB8IG51bGwpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLl9vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgLy8gRnJvbSBDb250cm9sVmFsdWVBY2Nlc3NvclxuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLl9vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIC8vIEZyb20gQ29udHJvbFZhbHVlQWNjZXNzb3JcbiAgcHVibGljIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc0Rpc2FibGVkID09PSBpc0Rpc2FibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5pc0Rpc2FibGVkID0gaXNEaXNhYmxlZDtcblxuICAgIHNldCh0aGlzLm9wdGlvbnMsICdmb3JtU3RhdGUucGFyZW50RGlzYWJsZWQnLCBpc0Rpc2FibGVkKTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlzRGlzYWJsZWQgPyB0aGlzLmZvcm1Hcm91cC5kaXNhYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KSA6IHRoaXMuZm9ybUdyb3VwLmVuYWJsZSh7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB0aGlzLnN0YXRlQ2hhbmdlcyQubmV4dCgpO1xuICAgIH0sIDApO1xuXG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMkLm5leHQoKTtcbiAgfVxufVxuIl19