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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (375) hide show
  1. package/esm2022/gio-asciidoctor/gio-asciidoctor.component.mjs +104 -0
  2. package/esm2022/gio-asciidoctor/gio-asciidoctor.module.mjs +33 -0
  3. package/esm2022/gio-asciidoctor/gio-asciidoctor.service.mjs +48 -0
  4. package/esm2022/gio-asciidoctor/gravitee-ui-particles-angular-gio-asciidoctor.mjs +5 -0
  5. package/esm2022/gio-asciidoctor/public-api.mjs +19 -0
  6. package/esm2022/gio-el/gio-el-editor/gio-el-editor-condition-group/gio-el-editor-condition-group.component.mjs +127 -0
  7. package/esm2022/gio-el/gio-el-editor/gio-el-editor-condition-group/gio-el-editor-condition-group.harness.mjs +158 -0
  8. package/esm2022/gio-el/gio-el-editor/gio-el-editor.component.mjs +131 -0
  9. package/esm2022/gio-el/gio-el-editor/gio-el-editor.harness.mjs +28 -0
  10. package/esm2022/gio-el/gio-el-editor/gio-el-field/gio-el-field.component.mjs +271 -0
  11. package/esm2022/gio-el/gio-el-editor/gio-el-field/gio-el-field.harness.mjs +53 -0
  12. package/esm2022/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-boolean/gio-el-editor-type-boolean.component.mjs +57 -0
  13. package/esm2022/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-boolean/gio-el-editor-type-boolean.harness.mjs +31 -0
  14. package/esm2022/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-date/gio-el-editor-type-date.component.mjs +74 -0
  15. package/esm2022/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-date/gio-el-editor-type-date.harness.mjs +29 -0
  16. package/esm2022/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-number/gio-el-editor-type-number.component.mjs +70 -0
  17. package/esm2022/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-number/gio-el-editor-type-number.harness.mjs +29 -0
  18. package/esm2022/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-string/gio-el-editor-type-string.component.mjs +73 -0
  19. package/esm2022/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-string/gio-el-editor-type-string.harness.mjs +29 -0
  20. package/esm2022/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type.harness.mjs +38 -0
  21. package/esm2022/gio-el/gravitee-ui-particles-angular-gio-el.mjs +5 -0
  22. package/esm2022/gio-el/models/Condition.mjs +9 -0
  23. package/esm2022/gio-el/models/ConditionGroup.mjs +7 -0
  24. package/esm2022/gio-el/models/ConditionModel.mjs +17 -0
  25. package/esm2022/gio-el/models/ConditionsModel.mjs +4 -0
  26. package/esm2022/gio-el/models/ExpressionLanguageBuilder.mjs +97 -0
  27. package/esm2022/gio-el/models/Operator.mjs +2 -0
  28. package/esm2022/gio-el/models/public-api.mjs +21 -0
  29. package/esm2022/gio-el/public-api.mjs +19 -0
  30. package/esm2022/gravitee-ui-particles-angular.mjs +5 -0
  31. package/esm2022/lib/gio-avatar/gio-avatar.component.mjs +74 -0
  32. package/esm2022/lib/gio-avatar/gio-avatar.module.mjs +33 -0
  33. package/esm2022/lib/gio-avatar/index.mjs +18 -0
  34. package/esm2022/lib/gio-banner/gio-banner.component.mjs +120 -0
  35. package/esm2022/lib/gio-banner/gio-banner.module.mjs +64 -0
  36. package/esm2022/lib/gio-breadcrumb/gio-breadcrumb-item.directive.mjs +32 -0
  37. package/esm2022/lib/gio-breadcrumb/gio-breadcrumb.component.mjs +32 -0
  38. package/esm2022/lib/gio-breadcrumb/gio-breadcrumb.module.mjs +35 -0
  39. package/esm2022/lib/gio-breadcrumb/index.mjs +19 -0
  40. package/esm2022/lib/gio-card-empty-state/gio-card-empty-state.component.mjs +35 -0
  41. package/esm2022/lib/gio-card-empty-state/gio-card-empty-state.module.mjs +36 -0
  42. package/esm2022/lib/gio-card-empty-state/index.mjs +18 -0
  43. package/esm2022/lib/gio-clipboard/gio-clipboard-copy-icon.component.mjs +67 -0
  44. package/esm2022/lib/gio-clipboard/gio-clipboard-copy-wrapper.component.mjs +71 -0
  45. package/esm2022/lib/gio-clipboard/gio-clipboard.base.component.mjs +64 -0
  46. package/esm2022/lib/gio-clipboard/gio-clipboard.module.mjs +39 -0
  47. package/esm2022/lib/gio-confirm-and-validate-dialog/gio-confirm-and-validate-dialog.component.mjs +61 -0
  48. package/esm2022/lib/gio-confirm-and-validate-dialog/gio-confirm-and-validate-dialog.harness.mjs +40 -0
  49. package/esm2022/lib/gio-confirm-and-validate-dialog/gio-confirm-and-validate-dialog.module.mjs +40 -0
  50. package/esm2022/lib/gio-confirm-dialog/gio-confirm-dialog.component.mjs +54 -0
  51. package/esm2022/lib/gio-confirm-dialog/gio-confirm-dialog.harness.mjs +34 -0
  52. package/esm2022/lib/gio-confirm-dialog/gio-confirm-dialog.module.mjs +36 -0
  53. package/esm2022/lib/gio-dialog/gio-dialog.constant.mjs +21 -0
  54. package/esm2022/lib/gio-el/gio-el-assistant/gio-el-assistant.component.mjs +62 -0
  55. package/esm2022/lib/gio-el/gio-el-prompt/gio-el-prompt.component.mjs +112 -0
  56. package/esm2022/lib/gio-el/gio-el.service.mjs +60 -0
  57. package/esm2022/lib/gio-el/index.mjs +20 -0
  58. package/esm2022/lib/gio-el/models/ElAiPromptState.mjs +23 -0
  59. package/esm2022/lib/gio-el/public-api.mjs +20 -0
  60. package/esm2022/lib/gio-form-cron/gio-form-cron-hint.component.mjs +30 -0
  61. package/esm2022/lib/gio-form-cron/gio-form-cron-label.component.mjs +30 -0
  62. package/esm2022/lib/gio-form-cron/gio-form-cron.adapter.mjs +218 -0
  63. package/esm2022/lib/gio-form-cron/gio-form-cron.component.mjs +211 -0
  64. package/esm2022/lib/gio-form-cron/gio-form-cron.harness.mjs +77 -0
  65. package/esm2022/lib/gio-form-cron/gio-form-cron.module.mjs +69 -0
  66. package/esm2022/lib/gio-form-file-picker/gio-form-file-picker-add-button/gio-form-file-picker-add-button.component.mjs +29 -0
  67. package/esm2022/lib/gio-form-file-picker/gio-form-file-picker-empty/gio-form-file-picker-empty.component.mjs +27 -0
  68. package/esm2022/lib/gio-form-file-picker/gio-form-file-picker-label/gio-form-file-picker-label.component.mjs +26 -0
  69. package/esm2022/lib/gio-form-file-picker/gio-form-file-picker.component.harness.mjs +95 -0
  70. package/esm2022/lib/gio-form-file-picker/gio-form-file-picker.component.mjs +167 -0
  71. package/esm2022/lib/gio-form-file-picker/gio-form-file-picker.model.mjs +23 -0
  72. package/esm2022/lib/gio-form-file-picker/gio-form-file-picker.module.mjs +57 -0
  73. package/esm2022/lib/gio-form-file-picker/index.mjs +23 -0
  74. package/esm2022/lib/gio-form-focus-first-invalid/gio-form-focus-first-invalid-ignore.directive.mjs +31 -0
  75. package/esm2022/lib/gio-form-focus-first-invalid/gio-form-focus-first-invalid.directive.mjs +96 -0
  76. package/esm2022/lib/gio-form-focus-first-invalid/gio-form-focus-first-invalid.module.mjs +32 -0
  77. package/esm2022/lib/gio-form-headers/gio-form-headers-label.component.mjs +30 -0
  78. package/esm2022/lib/gio-form-headers/gio-form-headers.component.mjs +284 -0
  79. package/esm2022/lib/gio-form-headers/gio-form-headers.harness.mjs +73 -0
  80. package/esm2022/lib/gio-form-headers/gio-form-headers.module.mjs +77 -0
  81. package/esm2022/lib/gio-form-json-schema/gio-form-json-schema.component.mjs +209 -0
  82. package/esm2022/lib/gio-form-json-schema/gio-form-json-schema.module.mjs +244 -0
  83. package/esm2022/lib/gio-form-json-schema/gio-formly-json-schema.service.mjs +261 -0
  84. package/esm2022/lib/gio-form-json-schema/model/GioJsonSchema.mjs +17 -0
  85. package/esm2022/lib/gio-form-json-schema/model/GioJsonSchemaContext.mjs +2 -0
  86. package/esm2022/lib/gio-form-json-schema/type-component/array-type.component.mjs +109 -0
  87. package/esm2022/lib/gio-form-json-schema/type-component/code-editor-type.component.mjs +47 -0
  88. package/esm2022/lib/gio-form-json-schema/type-component/cron-type.component.mjs +42 -0
  89. package/esm2022/lib/gio-form-json-schema/type-component/headers-type.component.mjs +108 -0
  90. package/esm2022/lib/gio-form-json-schema/type-component/multischema-type.component.mjs +66 -0
  91. package/esm2022/lib/gio-form-json-schema/type-component/null-type.component.mjs +31 -0
  92. package/esm2022/lib/gio-form-json-schema/type-component/object-type.component.mjs +62 -0
  93. package/esm2022/lib/gio-form-json-schema/type-component/toggle-type.component.mjs +60 -0
  94. package/esm2022/lib/gio-form-json-schema/util/validation-message.util.mjs +38 -0
  95. package/esm2022/lib/gio-form-json-schema/wrappers/gio-banner-extension.mjs +10 -0
  96. package/esm2022/lib/gio-form-json-schema/wrappers/gio-banner-wrapper.component.mjs +28 -0
  97. package/esm2022/lib/gio-form-json-schema/wrappers/gio-el-helper-wrapper.component.mjs +61 -0
  98. package/esm2022/lib/gio-form-json-schema/wrappers/gio-password-eye.component.mjs +74 -0
  99. package/esm2022/lib/gio-form-selection-inline/gio-form-selection-inline-card-content/gio-form-selection-inline-card-content.component.mjs +79 -0
  100. package/esm2022/lib/gio-form-selection-inline/gio-form-selection-inline-card.component.mjs +86 -0
  101. package/esm2022/lib/gio-form-selection-inline/gio-form-selection-inline-card.harness.mjs +44 -0
  102. package/esm2022/lib/gio-form-selection-inline/gio-form-selection-inline.component.mjs +103 -0
  103. package/esm2022/lib/gio-form-selection-inline/gio-form-selection-inline.harness.mjs +65 -0
  104. package/esm2022/lib/gio-form-selection-inline/gio-form-selection-inline.module.mjs +59 -0
  105. package/esm2022/lib/gio-form-selection-inline/public-api.mjs +22 -0
  106. package/esm2022/lib/gio-form-slide-toggle/gio-form-label.directive.mjs +52 -0
  107. package/esm2022/lib/gio-form-slide-toggle/gio-form-slide-toggle.component.mjs +69 -0
  108. package/esm2022/lib/gio-form-slide-toggle/gio-form-slide-toggle.module.mjs +34 -0
  109. package/esm2022/lib/gio-form-tags-input/gio-form-tags-input.component.mjs +316 -0
  110. package/esm2022/lib/gio-form-tags-input/gio-form-tags-input.harness.mjs +82 -0
  111. package/esm2022/lib/gio-form-tags-input/gio-form-tags-input.module.mjs +67 -0
  112. package/esm2022/lib/gio-icons/gio-icons.module.mjs +37 -0
  113. package/esm2022/lib/gio-license/gio-license-dialog/gio-license-dialog.component.mjs +43 -0
  114. package/esm2022/lib/gio-license/gio-license-dialog/gio-license-dialog.module.mjs +37 -0
  115. package/esm2022/lib/gio-license/gio-license.directive.mjs +92 -0
  116. package/esm2022/lib/gio-license/gio-license.module.mjs +35 -0
  117. package/esm2022/lib/gio-license/gio-license.service.mjs +101 -0
  118. package/esm2022/lib/gio-license/gio-license.testing.module.mjs +107 -0
  119. package/esm2022/lib/gio-license-expiration-notification/gio-license-expiration-notification.component.mjs +77 -0
  120. package/esm2022/lib/gio-license-expiration-notification/gio-license-expiration-notification.harness.mjs +44 -0
  121. package/esm2022/lib/gio-license-expiration-notification/gio-license-expiration-notification.module.mjs +36 -0
  122. package/esm2022/lib/gio-loader/gio-loader.component.mjs +27 -0
  123. package/esm2022/lib/gio-loader/gio-loader.module.mjs +34 -0
  124. package/esm2022/lib/gio-mat-config/gio-mat-config.module.mjs +30 -0
  125. package/esm2022/lib/gio-mat-config/index.mjs +17 -0
  126. package/esm2022/lib/gio-monaco-editor/gio-monaco-clipboard-copy.component.mjs +44 -0
  127. package/esm2022/lib/gio-monaco-editor/gio-monaco-editor-form-field.directive.mjs +150 -0
  128. package/esm2022/lib/gio-monaco-editor/gio-monaco-editor.component.mjs +314 -0
  129. package/esm2022/lib/gio-monaco-editor/gio-monaco-editor.harness.mjs +70 -0
  130. package/esm2022/lib/gio-monaco-editor/gio-monaco-editor.module.mjs +60 -0
  131. package/esm2022/lib/gio-monaco-editor/gio-monaco-editor.testing.component.mjs +42 -0
  132. package/esm2022/lib/gio-monaco-editor/models/GioMonacoEditorConfig.mjs +18 -0
  133. package/esm2022/lib/gio-monaco-editor/models/JSONSchemaAutoComplete.mjs +115 -0
  134. package/esm2022/lib/gio-monaco-editor/models/MonacoEditorTheme.mjs +2 -0
  135. package/esm2022/lib/gio-monaco-editor/services/gio-language-el.service.mjs +226 -0
  136. package/esm2022/lib/gio-monaco-editor/services/gio-language-json.service.mjs +72 -0
  137. package/esm2022/lib/gio-monaco-editor/services/gio-monaco-editor.service.mjs +72 -0
  138. package/esm2022/lib/gio-pipe/gio.pipe.module.mjs +32 -0
  139. package/esm2022/lib/gio-pipe/safe.pipe.mjs +53 -0
  140. package/esm2022/lib/gio-popover/gio-popover-trigger.directive.mjs +46 -0
  141. package/esm2022/lib/gio-popover/gio-popover.component.mjs +83 -0
  142. package/esm2022/lib/gio-popover/index.mjs +18 -0
  143. package/esm2022/lib/gio-popover/public-api.mjs +18 -0
  144. package/esm2022/lib/gio-prismjs/gio-prismjs.service.mjs +80 -0
  145. package/esm2022/lib/gio-save-bar/gio-save-bar.component.mjs +142 -0
  146. package/esm2022/lib/gio-save-bar/gio-save-bar.harness.mjs +54 -0
  147. package/esm2022/lib/gio-save-bar/gio-save-bar.module.mjs +35 -0
  148. package/esm2022/lib/oem-theme/gio-menu/gio-menu-footer/gio-menu-footer.component.mjs +26 -0
  149. package/esm2022/lib/oem-theme/gio-menu/gio-menu-header/gio-menu-header.component.mjs +26 -0
  150. package/esm2022/lib/oem-theme/gio-menu/gio-menu-item/gio-menu-item.component.mjs +85 -0
  151. package/esm2022/lib/oem-theme/gio-menu/gio-menu-license-expiration-notification/gio-menu-license-expiration-notification.component.mjs +26 -0
  152. package/esm2022/lib/oem-theme/gio-menu/gio-menu-list/gio-menu-list.component.mjs +26 -0
  153. package/esm2022/lib/oem-theme/gio-menu/gio-menu-search/gio-menu-search.component.mjs +62 -0
  154. package/esm2022/lib/oem-theme/gio-menu/gio-menu-search/gio-menu-search.harness.mjs +41 -0
  155. package/esm2022/lib/oem-theme/gio-menu/gio-menu-search/gio-menu-search.service.mjs +41 -0
  156. package/esm2022/lib/oem-theme/gio-menu/gio-menu-selector/gio-menu-selector.component.mjs +49 -0
  157. package/esm2022/lib/oem-theme/gio-menu/gio-menu-selector/gio-menu-selector.harness.mjs +41 -0
  158. package/esm2022/lib/oem-theme/gio-menu/gio-menu.component.mjs +50 -0
  159. package/esm2022/lib/oem-theme/gio-menu/gio-menu.module.mjs +78 -0
  160. package/esm2022/lib/oem-theme/gio-menu/gio-menu.service.mjs +45 -0
  161. package/esm2022/lib/oem-theme/gio-menu/index.mjs +29 -0
  162. package/esm2022/lib/oem-theme/gio-submenu/gio-submenu-group/gio-submenu-group.component.mjs +34 -0
  163. package/esm2022/lib/oem-theme/gio-submenu/gio-submenu-item/gio-submenu-item.component.mjs +46 -0
  164. package/esm2022/lib/oem-theme/gio-submenu/gio-submenu.component.mjs +112 -0
  165. package/esm2022/lib/oem-theme/gio-submenu/gio-submenu.module.mjs +37 -0
  166. package/esm2022/lib/oem-theme/gio-submenu/index.mjs +20 -0
  167. package/esm2022/lib/oem-theme/gio-top-bar/gio-top-bar-content/gio-top-bar-content.component.mjs +35 -0
  168. package/esm2022/lib/oem-theme/gio-top-bar/gio-top-bar-link/gio-top-bar-link.component.mjs +35 -0
  169. package/esm2022/lib/oem-theme/gio-top-bar/gio-top-bar-link/gio-top-bar-link.module.mjs +35 -0
  170. package/esm2022/lib/oem-theme/gio-top-bar/gio-top-bar-menu/gio-top-bar-menu.component.mjs +26 -0
  171. package/esm2022/lib/oem-theme/gio-top-bar/gio-top-bar-menu/gio-top-bar-menu.module.mjs +33 -0
  172. package/esm2022/lib/oem-theme/gio-top-bar/gio-top-bar.component.mjs +34 -0
  173. package/esm2022/lib/oem-theme/gio-top-bar/gio-top-bar.module.mjs +36 -0
  174. package/esm2022/lib/oem-theme/gio-top-bar/index.mjs +23 -0
  175. package/esm2022/lib/oem-theme/oem-theme.service.mjs +83 -0
  176. package/esm2022/lib/oem-theme/public-api.mjs +20 -0
  177. package/esm2022/lib/public-api.mjs +85 -0
  178. package/esm2022/public-api.mjs +20 -0
  179. package/esm2022/testing/gravitee-ui-particles-angular-testing.mjs +5 -0
  180. package/esm2022/testing/harnesses/div.harness.mjs +42 -0
  181. package/esm2022/testing/harnesses/index.mjs +18 -0
  182. package/esm2022/testing/harnesses/span.harness.mjs +42 -0
  183. package/esm2022/testing/public-api.mjs +17 -0
  184. package/fesm2022/gravitee-ui-particles-angular-gio-asciidoctor.mjs +11 -11
  185. package/fesm2022/gravitee-ui-particles-angular-gio-asciidoctor.mjs.map +1 -1
  186. package/fesm2022/gravitee-ui-particles-angular-gio-el.mjs +80 -74
  187. package/fesm2022/gravitee-ui-particles-angular-gio-el.mjs.map +1 -1
  188. package/fesm2022/gravitee-ui-particles-angular-testing.mjs.map +1 -1
  189. package/fesm2022/gravitee-ui-particles-angular.mjs +536 -636
  190. package/fesm2022/gravitee-ui-particles-angular.mjs.map +1 -1
  191. package/gio-asciidoctor/gio-asciidoctor.component.d.ts +26 -0
  192. package/gio-asciidoctor/gio-asciidoctor.module.d.ts +8 -0
  193. package/gio-asciidoctor/gio-asciidoctor.service.d.ts +14 -0
  194. package/gio-asciidoctor/index.d.ts +5 -49
  195. package/gio-asciidoctor/public-api.d.ts +3 -0
  196. package/gio-el/gio-el-editor/gio-el-editor-condition-group/gio-el-editor-condition-group.component.d.ts +25 -0
  197. package/gio-el/gio-el-editor/gio-el-editor-condition-group/gio-el-editor-condition-group.harness.d.ts +36 -0
  198. package/gio-el/gio-el-editor/gio-el-editor.component.d.ts +25 -0
  199. package/gio-el/gio-el-editor/gio-el-editor.harness.d.ts +7 -0
  200. package/gio-el/gio-el-editor/gio-el-field/gio-el-field.component.d.ts +70 -0
  201. package/gio-el/gio-el-editor/gio-el-field/gio-el-field.harness.d.ts +14 -0
  202. package/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-boolean/gio-el-editor-type-boolean.component.d.ts +15 -0
  203. package/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-boolean/gio-el-editor-type-boolean.harness.d.ts +6 -0
  204. package/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-date/gio-el-editor-type-date.component.d.ts +17 -0
  205. package/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-date/gio-el-editor-type-date.harness.d.ts +6 -0
  206. package/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-number/gio-el-editor-type-number.component.d.ts +17 -0
  207. package/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-number/gio-el-editor-type-number.harness.d.ts +6 -0
  208. package/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-string/gio-el-editor-type-string.component.d.ts +23 -0
  209. package/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-string/gio-el-editor-type-string.harness.d.ts +6 -0
  210. package/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type.harness.d.ts +10 -0
  211. package/gio-el/index.d.ts +5 -146
  212. package/gio-el/models/Condition.d.ts +19 -0
  213. package/gio-el/models/ConditionGroup.d.ts +7 -0
  214. package/gio-el/models/ConditionModel.d.ts +32 -0
  215. package/gio-el/models/ConditionsModel.d.ts +8 -0
  216. package/gio-el/models/ExpressionLanguageBuilder.d.ts +12 -0
  217. package/gio-el/models/Operator.d.ts +1 -0
  218. package/gio-el/models/public-api.d.ts +5 -0
  219. package/gio-el/public-api.d.ts +3 -0
  220. package/index.d.ts +3 -1822
  221. package/lib/gio-avatar/gio-avatar.component.d.ts +21 -0
  222. package/lib/gio-avatar/gio-avatar.module.d.ts +8 -0
  223. package/lib/gio-avatar/index.d.ts +2 -0
  224. package/lib/gio-banner/gio-banner.component.d.ts +43 -0
  225. package/lib/gio-banner/gio-banner.module.d.ts +11 -0
  226. package/lib/gio-breadcrumb/gio-breadcrumb-item.directive.d.ts +8 -0
  227. package/lib/gio-breadcrumb/gio-breadcrumb.component.d.ts +8 -0
  228. package/lib/gio-breadcrumb/gio-breadcrumb.module.d.ts +10 -0
  229. package/lib/gio-breadcrumb/index.d.ts +3 -0
  230. package/lib/gio-card-empty-state/gio-card-empty-state.component.d.ts +8 -0
  231. package/lib/gio-card-empty-state/gio-card-empty-state.module.d.ts +11 -0
  232. package/lib/gio-card-empty-state/index.d.ts +2 -0
  233. package/lib/gio-clipboard/gio-clipboard-copy-icon.component.d.ts +6 -0
  234. package/lib/gio-clipboard/gio-clipboard-copy-wrapper.component.d.ts +6 -0
  235. package/lib/gio-clipboard/gio-clipboard.base.component.d.ts +18 -0
  236. package/lib/gio-clipboard/gio-clipboard.module.d.ts +14 -0
  237. package/lib/gio-confirm-and-validate-dialog/gio-confirm-and-validate-dialog.component.d.ts +33 -0
  238. package/lib/gio-confirm-and-validate-dialog/gio-confirm-and-validate-dialog.harness.d.ts +9 -0
  239. package/lib/gio-confirm-and-validate-dialog/gio-confirm-and-validate-dialog.module.d.ts +15 -0
  240. package/lib/gio-confirm-dialog/gio-confirm-dialog.component.d.ts +29 -0
  241. package/lib/gio-confirm-dialog/gio-confirm-dialog.harness.d.ts +8 -0
  242. package/lib/gio-confirm-dialog/gio-confirm-dialog.module.d.ts +11 -0
  243. package/lib/gio-dialog/gio-dialog.constant.d.ts +5 -0
  244. package/lib/gio-el/gio-el-assistant/gio-el-assistant.component.d.ts +7 -0
  245. package/lib/gio-el/gio-el-prompt/gio-el-prompt.component.d.ts +28 -0
  246. package/lib/gio-el/gio-el.service.d.ts +19 -0
  247. package/lib/gio-el/index.d.ts +4 -0
  248. package/lib/gio-el/models/ElAiPromptState.d.ts +15 -0
  249. package/lib/gio-el/public-api.d.ts +4 -0
  250. package/lib/gio-form-cron/gio-form-cron-hint.component.d.ts +5 -0
  251. package/lib/gio-form-cron/gio-form-cron-label.component.d.ts +5 -0
  252. package/lib/gio-form-cron/gio-form-cron.adapter.d.ts +18 -0
  253. package/lib/gio-form-cron/gio-form-cron.component.d.ts +42 -0
  254. package/lib/gio-form-cron/gio-form-cron.harness.d.ts +23 -0
  255. package/lib/gio-form-cron/gio-form-cron.module.d.ts +18 -0
  256. package/lib/gio-form-file-picker/gio-form-file-picker-add-button/gio-form-file-picker-add-button.component.d.ts +5 -0
  257. package/lib/gio-form-file-picker/gio-form-file-picker-empty/gio-form-file-picker-empty.component.d.ts +5 -0
  258. package/lib/gio-form-file-picker/gio-form-file-picker-label/gio-form-file-picker-label.component.d.ts +5 -0
  259. package/lib/gio-form-file-picker/gio-form-file-picker.component.d.ts +43 -0
  260. package/lib/gio-form-file-picker/gio-form-file-picker.component.harness.d.ts +30 -0
  261. package/lib/gio-form-file-picker/gio-form-file-picker.model.d.ts +6 -0
  262. package/lib/gio-form-file-picker/gio-form-file-picker.module.d.ts +16 -0
  263. package/lib/gio-form-file-picker/index.d.ts +7 -0
  264. package/lib/gio-form-focus-first-invalid/gio-form-focus-first-invalid-ignore.directive.d.ts +6 -0
  265. package/lib/gio-form-focus-first-invalid/gio-form-focus-first-invalid.directive.d.ts +22 -0
  266. package/lib/gio-form-focus-first-invalid/gio-form-focus-first-invalid.module.d.ts +8 -0
  267. package/lib/gio-form-headers/gio-form-headers-label.component.d.ts +5 -0
  268. package/lib/gio-form-headers/gio-form-headers.component.d.ts +46 -0
  269. package/lib/gio-form-headers/gio-form-headers.harness.d.ts +39 -0
  270. package/lib/gio-form-headers/gio-form-headers.module.d.ts +20 -0
  271. package/lib/gio-form-json-schema/gio-form-json-schema.component.d.ts +43 -0
  272. package/lib/gio-form-json-schema/gio-form-json-schema.module.d.ts +35 -0
  273. package/lib/gio-form-json-schema/gio-formly-json-schema.service.d.ts +26 -0
  274. package/lib/gio-form-json-schema/model/GioJsonSchema.d.ts +47 -0
  275. package/lib/gio-form-json-schema/model/GioJsonSchemaContext.d.ts +1 -0
  276. package/lib/gio-form-json-schema/type-component/array-type.component.d.ts +10 -0
  277. package/lib/gio-form-json-schema/type-component/code-editor-type.component.d.ts +16 -0
  278. package/lib/gio-form-json-schema/type-component/cron-type.component.d.ts +9 -0
  279. package/lib/gio-form-json-schema/type-component/headers-type.component.d.ts +18 -0
  280. package/lib/gio-form-json-schema/type-component/multischema-type.component.d.ts +13 -0
  281. package/lib/gio-form-json-schema/type-component/null-type.component.d.ts +6 -0
  282. package/lib/gio-form-json-schema/type-component/object-type.component.d.ts +9 -0
  283. package/lib/gio-form-json-schema/type-component/toggle-type.component.d.ts +8 -0
  284. package/lib/gio-form-json-schema/util/validation-message.util.d.ts +15 -0
  285. package/lib/gio-form-json-schema/wrappers/gio-banner-extension.d.ts +2 -0
  286. package/lib/gio-form-json-schema/wrappers/gio-banner-wrapper.component.d.ts +6 -0
  287. package/lib/gio-form-json-schema/wrappers/gio-el-helper-wrapper.component.d.ts +11 -0
  288. package/lib/gio-form-json-schema/wrappers/gio-password-eye.component.d.ts +12 -0
  289. package/lib/gio-form-selection-inline/gio-form-selection-inline-card-content/gio-form-selection-inline-card-content.component.d.ts +15 -0
  290. package/lib/gio-form-selection-inline/gio-form-selection-inline-card.component.d.ts +17 -0
  291. package/lib/gio-form-selection-inline/gio-form-selection-inline-card.harness.d.ts +19 -0
  292. package/lib/gio-form-selection-inline/gio-form-selection-inline.component.d.ts +20 -0
  293. package/lib/gio-form-selection-inline/gio-form-selection-inline.harness.d.ts +26 -0
  294. package/lib/gio-form-selection-inline/gio-form-selection-inline.module.d.ts +14 -0
  295. package/lib/gio-form-selection-inline/public-api.d.ts +6 -0
  296. package/lib/gio-form-slide-toggle/gio-form-label.directive.d.ts +13 -0
  297. package/lib/gio-form-slide-toggle/gio-form-slide-toggle.component.d.ts +15 -0
  298. package/lib/gio-form-slide-toggle/gio-form-slide-toggle.module.d.ts +9 -0
  299. package/lib/gio-form-tags-input/gio-form-tags-input.component.d.ts +95 -0
  300. package/lib/gio-form-tags-input/gio-form-tags-input.harness.d.ts +23 -0
  301. package/lib/gio-form-tags-input/gio-form-tags-input.module.d.ts +16 -0
  302. package/lib/gio-icons/gio-icons.module.d.ts +11 -0
  303. package/lib/gio-license/gio-license-dialog/gio-license-dialog.component.d.ts +16 -0
  304. package/lib/gio-license/gio-license-dialog/gio-license-dialog.module.d.ts +12 -0
  305. package/lib/gio-license/gio-license.directive.d.ts +24 -0
  306. package/lib/gio-license/gio-license.module.d.ts +10 -0
  307. package/lib/gio-license/gio-license.service.d.ts +58 -0
  308. package/lib/gio-license/gio-license.testing.module.d.ts +24 -0
  309. package/lib/gio-license-expiration-notification/gio-license-expiration-notification.component.d.ts +17 -0
  310. package/lib/gio-license-expiration-notification/gio-license-expiration-notification.harness.d.ts +13 -0
  311. package/lib/gio-license-expiration-notification/gio-license-expiration-notification.module.d.ts +11 -0
  312. package/lib/gio-loader/gio-loader.component.d.ts +5 -0
  313. package/lib/gio-loader/gio-loader.module.d.ts +9 -0
  314. package/lib/gio-mat-config/gio-mat-config.module.d.ts +6 -0
  315. package/lib/gio-mat-config/index.d.ts +1 -0
  316. package/lib/gio-monaco-editor/gio-monaco-clipboard-copy.component.d.ts +7 -0
  317. package/lib/gio-monaco-editor/gio-monaco-editor-form-field.directive.d.ts +45 -0
  318. package/lib/gio-monaco-editor/gio-monaco-editor.component.d.ts +67 -0
  319. package/lib/gio-monaco-editor/gio-monaco-editor.harness.d.ts +19 -0
  320. package/lib/gio-monaco-editor/gio-monaco-editor.module.d.ts +20 -0
  321. package/lib/gio-monaco-editor/gio-monaco-editor.testing.component.d.ts +12 -0
  322. package/lib/gio-monaco-editor/models/GioMonacoEditorConfig.d.ts +7 -0
  323. package/lib/gio-monaco-editor/models/JSONSchemaAutoComplete.d.ts +39 -0
  324. package/lib/gio-monaco-editor/models/MonacoEditorTheme.d.ts +1 -0
  325. package/lib/gio-monaco-editor/services/gio-language-el.service.d.ts +18 -0
  326. package/lib/gio-monaco-editor/services/gio-language-json.service.d.ts +18 -0
  327. package/lib/gio-monaco-editor/services/gio-monaco-editor.service.d.ts +19 -0
  328. package/lib/gio-pipe/gio.pipe.module.d.ts +7 -0
  329. package/lib/gio-pipe/safe.pipe.d.ts +10 -0
  330. package/lib/gio-popover/gio-popover-trigger.directive.d.ts +12 -0
  331. package/lib/gio-popover/gio-popover.component.d.ts +15 -0
  332. package/lib/gio-popover/index.d.ts +2 -0
  333. package/lib/gio-popover/public-api.d.ts +2 -0
  334. package/lib/gio-prismjs/gio-prismjs.service.d.ts +14 -0
  335. package/lib/gio-save-bar/gio-save-bar.component.d.ts +30 -0
  336. package/lib/gio-save-bar/gio-save-bar.harness.d.ts +15 -0
  337. package/lib/gio-save-bar/gio-save-bar.module.d.ts +10 -0
  338. package/lib/oem-theme/gio-menu/gio-menu-footer/gio-menu-footer.component.d.ts +5 -0
  339. package/lib/oem-theme/gio-menu/gio-menu-header/gio-menu-header.component.d.ts +5 -0
  340. package/lib/oem-theme/gio-menu/gio-menu-item/gio-menu-item.component.d.ts +19 -0
  341. package/lib/oem-theme/gio-menu/gio-menu-license-expiration-notification/gio-menu-license-expiration-notification.component.d.ts +5 -0
  342. package/lib/oem-theme/gio-menu/gio-menu-list/gio-menu-list.component.d.ts +5 -0
  343. package/lib/oem-theme/gio-menu/gio-menu-search/gio-menu-search.component.d.ts +25 -0
  344. package/lib/oem-theme/gio-menu/gio-menu-search/gio-menu-search.harness.d.ts +10 -0
  345. package/lib/oem-theme/gio-menu/gio-menu-search/gio-menu-search.service.d.ts +9 -0
  346. package/lib/oem-theme/gio-menu/gio-menu-selector/gio-menu-selector.component.d.ts +17 -0
  347. package/lib/oem-theme/gio-menu/gio-menu-selector/gio-menu-selector.harness.d.ts +8 -0
  348. package/lib/oem-theme/gio-menu/gio-menu.component.d.ts +14 -0
  349. package/lib/oem-theme/gio-menu/gio-menu.module.d.ts +21 -0
  350. package/lib/oem-theme/gio-menu/gio-menu.service.d.ts +18 -0
  351. package/lib/oem-theme/gio-menu/index.d.ts +13 -0
  352. package/lib/oem-theme/gio-submenu/gio-submenu-group/gio-submenu-group.component.d.ts +8 -0
  353. package/lib/oem-theme/gio-submenu/gio-submenu-item/gio-submenu-item.component.d.ts +9 -0
  354. package/lib/oem-theme/gio-submenu/gio-submenu.component.d.ts +28 -0
  355. package/lib/oem-theme/gio-submenu/gio-submenu.module.d.ts +12 -0
  356. package/lib/oem-theme/gio-submenu/index.d.ts +4 -0
  357. package/lib/oem-theme/gio-top-bar/gio-top-bar-content/gio-top-bar-content.component.d.ts +8 -0
  358. package/lib/oem-theme/gio-top-bar/gio-top-bar-link/gio-top-bar-link.component.d.ts +7 -0
  359. package/lib/oem-theme/gio-top-bar/gio-top-bar-link/gio-top-bar-link.module.d.ts +10 -0
  360. package/lib/oem-theme/gio-top-bar/gio-top-bar-menu/gio-top-bar-menu.component.d.ts +5 -0
  361. package/lib/oem-theme/gio-top-bar/gio-top-bar-menu/gio-top-bar-menu.module.d.ts +8 -0
  362. package/lib/oem-theme/gio-top-bar/gio-top-bar.component.d.ts +8 -0
  363. package/lib/oem-theme/gio-top-bar/gio-top-bar.module.d.ts +11 -0
  364. package/lib/oem-theme/gio-top-bar/index.d.ts +7 -0
  365. package/lib/oem-theme/oem-theme.service.d.ts +22 -0
  366. package/lib/oem-theme/public-api.d.ts +4 -0
  367. package/lib/public-api.d.ts +66 -0
  368. package/package.json +19 -11
  369. package/public-api.d.ts +1 -0
  370. package/src/scss/gio-mat-theme.scss +1 -2
  371. package/testing/harnesses/div.harness.d.ts +21 -0
  372. package/testing/harnesses/index.d.ts +2 -0
  373. package/testing/harnesses/span.harness.d.ts +21 -0
  374. package/testing/index.d.ts +5 -47
  375. package/testing/public-api.d.ts +1 -0
@@ -0,0 +1,244 @@
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 { FormlyModule } from '@ngx-formly/core';
20
+ import { FormlyMaterialModule } from '@ngx-formly/material';
21
+ import { A11yModule } from '@angular/cdk/a11y';
22
+ import { MatSlideToggleModule } from '@angular/material/slide-toggle';
23
+ import { MatButtonModule } from '@angular/material/button';
24
+ import { MatInputModule } from '@angular/material/input';
25
+ import { GioIconsModule } from '../gio-icons/gio-icons.module';
26
+ import { GioFormSlideToggleModule } from '../gio-form-slide-toggle/gio-form-slide-toggle.module';
27
+ import { GioFormHeadersModule } from '../gio-form-headers/gio-form-headers.module';
28
+ import { GioMonacoEditorModule } from '../gio-monaco-editor/gio-monaco-editor.module';
29
+ import { GioFormCronModule } from '../gio-form-cron/gio-form-cron.module';
30
+ import { GioPopoverComponent, PopoverTriggerDirective } from '../gio-popover';
31
+ import { GioElPromptComponent } from '../gio-el/gio-el-prompt/gio-el-prompt.component';
32
+ import { GioElAssistantComponent } from '../gio-el';
33
+ import { GioFjsNullTypeComponent } from './type-component/null-type.component';
34
+ import { GioFjsObjectTypeComponent } from './type-component/object-type.component';
35
+ import { GioFjsArrayTypeComponent } from './type-component/array-type.component';
36
+ import { typeValidationMessage, minLengthValidationMessage, maxLengthValidationMessage, minValidationMessage, maxValidationMessage, multipleOfValidationMessage, exclusiveMinimumValidationMessage, exclusiveMaximumValidationMessage, minItemsValidationMessage, maxItemsValidationMessage, constValidationMessage, patternValidationMessage, } from './util/validation-message.util';
37
+ import { GioFormJsonSchemaComponent } from './gio-form-json-schema.component';
38
+ import { GioBannerWrapperComponent as GioBannerWrapperComponent } from './wrappers/gio-banner-wrapper.component';
39
+ import { bannerExtension } from './wrappers/gio-banner-extension';
40
+ import { GioFjsMultiSchemaTypeComponent } from './type-component/multischema-type.component';
41
+ import { GioFormlyJsonSchemaService } from './gio-formly-json-schema.service';
42
+ import { GioFjsToggleTypeComponent } from './type-component/toggle-type.component';
43
+ import { GioFjsHeadersTypeComponent } from './type-component/headers-type.component';
44
+ import { GioPasswordEyeWrapperComponent, passwordEyeExtension } from './wrappers/gio-password-eye.component';
45
+ import { GioFjsCodeEditorTypeComponent } from './type-component/code-editor-type.component';
46
+ import { GioFjsCronTypeComponent } from './type-component/cron-type.component';
47
+ import { elHelpExtension, GioElHelperWrapperComponent } from './wrappers/gio-el-helper-wrapper.component';
48
+ import * as i0 from "@angular/core";
49
+ import * as i1 from "@ngx-formly/core";
50
+ import * as i2 from "../gio-monaco-editor/gio-monaco-editor.module";
51
+ export class GioFormJsonSchemaModule {
52
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: GioFormJsonSchemaModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
53
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.4", ngImport: i0, type: GioFormJsonSchemaModule, declarations: [GioFormJsonSchemaComponent,
54
+ GioFjsNullTypeComponent,
55
+ GioFjsObjectTypeComponent,
56
+ GioFjsMultiSchemaTypeComponent,
57
+ GioFjsArrayTypeComponent,
58
+ GioFjsToggleTypeComponent,
59
+ GioFjsHeadersTypeComponent,
60
+ GioFjsCodeEditorTypeComponent,
61
+ GioFjsCronTypeComponent,
62
+ GioBannerWrapperComponent,
63
+ GioPasswordEyeWrapperComponent,
64
+ GioElHelperWrapperComponent], imports: [CommonModule,
65
+ A11yModule,
66
+ ReactiveFormsModule, i1.FormlyModule, FormlyMaterialModule,
67
+ MatInputModule,
68
+ GioIconsModule,
69
+ GioFormSlideToggleModule,
70
+ GioFormHeadersModule, i2.GioMonacoEditorModule, GioFormCronModule,
71
+ GioPopoverComponent,
72
+ PopoverTriggerDirective,
73
+ GioElPromptComponent,
74
+ MatSlideToggleModule,
75
+ MatButtonModule,
76
+ GioElAssistantComponent], exports: [GioFormJsonSchemaComponent, FormlyModule] }); }
77
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: GioFormJsonSchemaModule, providers: [GioFormlyJsonSchemaService], imports: [CommonModule,
78
+ A11yModule,
79
+ ReactiveFormsModule,
80
+ FormlyModule.forRoot({
81
+ validationMessages: [
82
+ { name: 'required', message: 'This field is required' },
83
+ { name: 'type', message: typeValidationMessage },
84
+ { name: 'minLength', message: minLengthValidationMessage },
85
+ { name: 'maxLength', message: maxLengthValidationMessage },
86
+ { name: 'min', message: minValidationMessage },
87
+ { name: 'max', message: maxValidationMessage },
88
+ { name: 'multipleOf', message: multipleOfValidationMessage },
89
+ { name: 'exclusiveMinimum', message: exclusiveMinimumValidationMessage },
90
+ { name: 'exclusiveMaximum', message: exclusiveMaximumValidationMessage },
91
+ { name: 'minItems', message: minItemsValidationMessage },
92
+ { name: 'maxItems', message: maxItemsValidationMessage },
93
+ { name: 'uniqueItems', message: 'Should NOT have duplicate items' },
94
+ { name: 'const', message: constValidationMessage },
95
+ { name: 'pattern', message: patternValidationMessage },
96
+ ],
97
+ wrappers: [
98
+ { name: 'gio-with-banner', component: GioBannerWrapperComponent },
99
+ { name: 'gio-password-eye', component: GioPasswordEyeWrapperComponent },
100
+ { name: 'gio-el-help', component: GioElHelperWrapperComponent },
101
+ ],
102
+ types: [
103
+ { name: 'null', component: GioFjsNullTypeComponent, wrappers: ['form-field'] },
104
+ { name: 'array', component: GioFjsArrayTypeComponent },
105
+ { name: 'object', component: GioFjsObjectTypeComponent },
106
+ { name: 'multischema', component: GioFjsMultiSchemaTypeComponent },
107
+ {
108
+ name: 'toggle',
109
+ component: GioFjsToggleTypeComponent,
110
+ },
111
+ {
112
+ name: 'gio-code-editor',
113
+ component: GioFjsCodeEditorTypeComponent,
114
+ wrappers: ['form-field'],
115
+ },
116
+ {
117
+ name: 'gio-headers-array',
118
+ component: GioFjsHeadersTypeComponent,
119
+ },
120
+ {
121
+ name: 'gio-cron',
122
+ component: GioFjsCronTypeComponent,
123
+ },
124
+ ],
125
+ extensions: [
126
+ { name: 'banner', extension: { onPopulate: bannerExtension } },
127
+ { name: 'password-eye', extension: { onPopulate: passwordEyeExtension } },
128
+ { name: 'el-help', extension: { onPopulate: elHelpExtension } },
129
+ ],
130
+ extras: {
131
+ checkExpressionOn: 'changeDetectionCheck',
132
+ },
133
+ }),
134
+ FormlyMaterialModule,
135
+ MatInputModule,
136
+ GioIconsModule,
137
+ GioFormSlideToggleModule,
138
+ GioFormHeadersModule,
139
+ GioMonacoEditorModule.forRoot({
140
+ baseUrl: '.',
141
+ }),
142
+ GioFormCronModule,
143
+ GioPopoverComponent,
144
+ GioElPromptComponent,
145
+ MatSlideToggleModule,
146
+ MatButtonModule,
147
+ GioElAssistantComponent, FormlyModule] }); }
148
+ }
149
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: GioFormJsonSchemaModule, decorators: [{
150
+ type: NgModule,
151
+ args: [{
152
+ declarations: [
153
+ GioFormJsonSchemaComponent,
154
+ GioFjsNullTypeComponent,
155
+ GioFjsObjectTypeComponent,
156
+ GioFjsMultiSchemaTypeComponent,
157
+ GioFjsArrayTypeComponent,
158
+ GioFjsToggleTypeComponent,
159
+ GioFjsHeadersTypeComponent,
160
+ GioFjsCodeEditorTypeComponent,
161
+ GioFjsCronTypeComponent,
162
+ GioBannerWrapperComponent,
163
+ GioPasswordEyeWrapperComponent,
164
+ GioElHelperWrapperComponent,
165
+ ],
166
+ imports: [
167
+ CommonModule,
168
+ A11yModule,
169
+ ReactiveFormsModule,
170
+ FormlyModule.forRoot({
171
+ validationMessages: [
172
+ { name: 'required', message: 'This field is required' },
173
+ { name: 'type', message: typeValidationMessage },
174
+ { name: 'minLength', message: minLengthValidationMessage },
175
+ { name: 'maxLength', message: maxLengthValidationMessage },
176
+ { name: 'min', message: minValidationMessage },
177
+ { name: 'max', message: maxValidationMessage },
178
+ { name: 'multipleOf', message: multipleOfValidationMessage },
179
+ { name: 'exclusiveMinimum', message: exclusiveMinimumValidationMessage },
180
+ { name: 'exclusiveMaximum', message: exclusiveMaximumValidationMessage },
181
+ { name: 'minItems', message: minItemsValidationMessage },
182
+ { name: 'maxItems', message: maxItemsValidationMessage },
183
+ { name: 'uniqueItems', message: 'Should NOT have duplicate items' },
184
+ { name: 'const', message: constValidationMessage },
185
+ { name: 'pattern', message: patternValidationMessage },
186
+ ],
187
+ wrappers: [
188
+ { name: 'gio-with-banner', component: GioBannerWrapperComponent },
189
+ { name: 'gio-password-eye', component: GioPasswordEyeWrapperComponent },
190
+ { name: 'gio-el-help', component: GioElHelperWrapperComponent },
191
+ ],
192
+ types: [
193
+ { name: 'null', component: GioFjsNullTypeComponent, wrappers: ['form-field'] },
194
+ { name: 'array', component: GioFjsArrayTypeComponent },
195
+ { name: 'object', component: GioFjsObjectTypeComponent },
196
+ { name: 'multischema', component: GioFjsMultiSchemaTypeComponent },
197
+ {
198
+ name: 'toggle',
199
+ component: GioFjsToggleTypeComponent,
200
+ },
201
+ {
202
+ name: 'gio-code-editor',
203
+ component: GioFjsCodeEditorTypeComponent,
204
+ wrappers: ['form-field'],
205
+ },
206
+ {
207
+ name: 'gio-headers-array',
208
+ component: GioFjsHeadersTypeComponent,
209
+ },
210
+ {
211
+ name: 'gio-cron',
212
+ component: GioFjsCronTypeComponent,
213
+ },
214
+ ],
215
+ extensions: [
216
+ { name: 'banner', extension: { onPopulate: bannerExtension } },
217
+ { name: 'password-eye', extension: { onPopulate: passwordEyeExtension } },
218
+ { name: 'el-help', extension: { onPopulate: elHelpExtension } },
219
+ ],
220
+ extras: {
221
+ checkExpressionOn: 'changeDetectionCheck',
222
+ },
223
+ }),
224
+ FormlyMaterialModule,
225
+ MatInputModule,
226
+ GioIconsModule,
227
+ GioFormSlideToggleModule,
228
+ GioFormHeadersModule,
229
+ GioMonacoEditorModule.forRoot({
230
+ baseUrl: '.',
231
+ }),
232
+ GioFormCronModule,
233
+ GioPopoverComponent,
234
+ PopoverTriggerDirective,
235
+ GioElPromptComponent,
236
+ MatSlideToggleModule,
237
+ MatButtonModule,
238
+ GioElAssistantComponent,
239
+ ],
240
+ exports: [GioFormJsonSchemaComponent, FormlyModule],
241
+ providers: [GioFormlyJsonSchemaService],
242
+ }]
243
+ }] });
244
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLWZvcm0tanNvbi1zY2hlbWEubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktcGFydGljbGVzLWFuZ3VsYXIvc3JjL2xpYi9naW8tZm9ybS1qc29uLXNjaGVtYS9naW8tZm9ybS1qc29uLXNjaGVtYS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFekQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQy9ELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdCQUFnQixD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UyxFQUFFLEVBQUUsVUFBVSxFQUFFLG9CQUFvQixFQUFFLEVBQUU7Z0NBQ3pFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLEVBQUU7NkJBQ2hFOzRCQUNELE1BQU0sRUFBRTtnQ0FDTixpQkFBaUIsRUFBRSxzQkFBc0I7NkJBQzFDO3lCQUNGLENBQUM7d0JBQ0Ysb0JBQW9CO3dCQUVwQixjQUFjO3dCQUNkLGNBQWM7d0JBQ2Qsd0JBQXdCO3dCQUN4QixvQkFBb0I7d0JBQ3BCLHFCQUFxQixDQUFDLE9BQU8sQ0FBQzs0QkFDNUIsT0FBTyxFQUFFLEdBQUc7eUJBQ2IsQ0FBQzt3QkFDRixpQkFBaUI7d0JBQ2pCLG1CQUFtQjt3QkFDbkIsdUJBQXVCO3dCQUN2QixvQkFBb0I7d0JBRXBCLG9CQUFvQjt3QkFDcEIsZUFBZTt3QkFDZix1QkFBdUI7cUJBQ3hCO29CQUNELE9BQU8sRUFBRSxDQUFDLDBCQUEwQixFQUFFLFlBQVksQ0FBQztvQkFDbkQsU0FBUyxFQUFFLENBQUMsMEJBQTBCLENBQUM7aUJBQ3hDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoQykgMjAxNSBUaGUgR3Jhdml0ZWUgdGVhbSAoaHR0cDovL2dyYXZpdGVlLmlvKVxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEZvcm1seU1vZHVsZSB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuaW1wb3J0IHsgRm9ybWx5TWF0ZXJpYWxNb2R1bGUgfSBmcm9tICdAbmd4LWZvcm1seS9tYXRlcmlhbCc7XG5pbXBvcnQgeyBBMTF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgTWF0U2xpZGVUb2dnbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbGlkZS10b2dnbGUnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuXG5pbXBvcnQgeyBHaW9JY29uc01vZHVsZSB9IGZyb20gJy4uL2dpby1pY29ucy9naW8taWNvbnMubW9kdWxlJztcbmltcG9ydCB7IEdpb0Zvcm1TbGlkZVRvZ2dsZU1vZHVsZSB9IGZyb20gJy4uL2dpby1mb3JtLXNsaWRlLXRvZ2dsZS9naW8tZm9ybS1zbGlkZS10b2dnbGUubW9kdWxlJztcbmltcG9ydCB7IEdpb0Zvcm1IZWFkZXJzTW9kdWxlIH0gZnJvbSAnLi4vZ2lvLWZvcm0taGVhZGVycy9naW8tZm9ybS1oZWFkZXJzLm1vZHVsZSc7XG5pbXBvcnQgeyBHaW9Nb25hY29FZGl0b3JNb2R1bGUgfSBmcm9tICcuLi9naW8tbW9uYWNvLWVkaXRvci9naW8tbW9uYWNvLWVkaXRvci5tb2R1bGUnO1xuaW1wb3J0IHsgR2lvRm9ybUNyb25Nb2R1bGUgfSBmcm9tICcuLi9naW8tZm9ybS1jcm9uL2dpby1mb3JtLWNyb24ubW9kdWxlJztcbmltcG9ydCB7IEdpb1BvcG92ZXJDb21wb25lbnQsIFBvcG92ZXJUcmlnZ2VyRGlyZWN0aXZlIH0gZnJvbSAnLi4vZ2lvLXBvcG92ZXInO1xuaW1wb3J0IHsgR2lvRWxQcm9tcHRDb21wb25lbnQgfSBmcm9tICcuLi9naW8tZWwvZ2lvLWVsLXByb21wdC9naW8tZWwtcHJvbXB0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHaW9FbEFzc2lzdGFudENvbXBvbmVudCB9IGZyb20gJy4uL2dpby1lbCc7XG5cbmltcG9ydCB7IEdpb0Zqc051bGxUeXBlQ29tcG9uZW50IH0gZnJvbSAnLi90eXBlLWNvbXBvbmVudC9udWxsLXR5cGUuY29tcG9uZW50JztcbmltcG9ydCB7IEdpb0Zqc09iamVjdFR5cGVDb21wb25lbnQgfSBmcm9tICcuL3R5cGUtY29tcG9uZW50L29iamVjdC10eXBlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHaW9GanNBcnJheVR5cGVDb21wb25lbnQgfSBmcm9tICcuL3R5cGUtY29tcG9uZW50L2FycmF5LXR5cGUuY29tcG9uZW50JztcbmltcG9ydCB7XG4gIHR5cGVWYWxpZGF0aW9uTWVzc2FnZSxcbiAgbWluTGVuZ3RoVmFsaWRhdGlvbk1lc3NhZ2UsXG4gIG1heExlbmd0aFZhbGlkYXRpb25NZXNzYWdlLFxuICBtaW5WYWxpZGF0aW9uTWVzc2FnZSxcbiAgbWF4VmFsaWRhdGlvbk1lc3NhZ2UsXG4gIG11bHRpcGxlT2ZWYWxpZGF0aW9uTWVzc2FnZSxcbiAgZXhjbHVzaXZlTWluaW11bVZhbGlkYXRpb25NZXNzYWdlLFxuICBleGNsdXNpdmVNYXhpbXVtVmFsaWRhdGlvbk1lc3NhZ2UsXG4gIG1pbkl0ZW1zVmFsaWRhdGlvbk1lc3NhZ2UsXG4gIG1heEl0ZW1zVmFsaWRhdGlvbk1lc3NhZ2UsXG4gIGNvbnN0VmFsaWRhdGlvbk1lc3NhZ2UsXG4gIHBhdHRlcm5WYWxpZGF0aW9uTWVzc2FnZSxcbn0gZnJvbSAnLi91dGlsL3ZhbGlkYXRpb24tbWVzc2FnZS51dGlsJztcbmltcG9ydCB7IEdpb0Zvcm1Kc29uU2NoZW1hQ29tcG9uZW50IH0gZnJvbSAnLi9naW8tZm9ybS1qc29uLXNjaGVtYS5jb21wb25lbnQnO1xuaW1wb3J0IHsgR2lvQmFubmVyV3JhcHBlckNvbXBvbmVudCBhcyBHaW9CYW5uZXJXcmFwcGVyQ29tcG9uZW50IH0gZnJvbSAnLi93cmFwcGVycy9naW8tYmFubmVyLXdyYXBwZXIuY29tcG9uZW50JztcbmltcG9ydCB7IGJhbm5lckV4dGVuc2lvbiB9IGZyb20gJy4vd3JhcHBlcnMvZ2lvLWJhbm5lci1leHRlbnNpb24nO1xuaW1wb3J0IHsgR2lvRmpzTXVsdGlTY2hlbWFUeXBlQ29tcG9uZW50IH0gZnJvbSAnLi90eXBlLWNvbXBvbmVudC9tdWx0aXNjaGVtYS10eXBlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHaW9Gb3JtbHlKc29uU2NoZW1hU2VydmljZSB9IGZyb20gJy4vZ2lvLWZvcm1seS1qc29uLXNjaGVtYS5zZXJ2aWNlJztcbmltcG9ydCB7IEdpb0Zqc1RvZ2dsZVR5cGVDb21wb25lbnQgfSBmcm9tICcuL3R5cGUtY29tcG9uZW50L3RvZ2dsZS10eXBlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHaW9GanNIZWFkZXJzVHlwZUNvbXBvbmVudCB9IGZyb20gJy4vdHlwZS1jb21wb25lbnQvaGVhZGVycy10eXBlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHaW9QYXNzd29yZEV5ZVdyYXBwZXJDb21wb25lbnQsIHBhc3N3b3JkRXllRXh0ZW5zaW9uIH0gZnJvbSAnLi93cmFwcGVycy9naW8tcGFzc3dvcmQtZXllLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHaW9GanNDb2RlRWRpdG9yVHlwZUNvbXBvbmVudCB9IGZyb20gJy4vdHlwZS1jb21wb25lbnQvY29kZS1lZGl0b3ItdHlwZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgR2lvRmpzQ3JvblR5cGVDb21wb25lbnQgfSBmcm9tICcuL3R5cGUtY29tcG9uZW50L2Nyb24tdHlwZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgZWxIZWxwRXh0ZW5zaW9uLCBHaW9FbEhlbHBlcldyYXBwZXJDb21wb25lbnQgfSBmcm9tICcuL3dyYXBwZXJzL2dpby1lbC1oZWxwZXItd3JhcHBlci5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBHaW9Gb3JtSnNvblNjaGVtYUNvbXBvbmVudCxcbiAgICBHaW9GanNOdWxsVHlwZUNvbXBvbmVudCxcbiAgICBHaW9GanNPYmplY3RUeXBlQ29tcG9uZW50LFxuICAgIEdpb0Zqc011bHRpU2NoZW1hVHlwZUNvbXBvbmVudCxcbiAgICBHaW9GanNBcnJheVR5cGVDb21wb25lbnQsXG4gICAgR2lvRmpzVG9nZ2xlVHlwZUNvbXBvbmVudCxcbiAgICBHaW9GanNIZWFkZXJzVHlwZUNvbXBvbmVudCxcbiAgICBHaW9GanNDb2RlRWRpdG9yVHlwZUNvbXBvbmVudCxcbiAgICBHaW9GanNDcm9uVHlwZUNvbXBvbmVudCxcbiAgICBHaW9CYW5uZXJXcmFwcGVyQ29tcG9uZW50LFxuICAgIEdpb1Bhc3N3b3JkRXllV3JhcHBlckNvbXBvbmVudCxcbiAgICBHaW9FbEhlbHBlcldyYXBwZXJDb21wb25lbnQsXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQTExeU1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuXG4gICAgRm9ybWx5TW9kdWxlLmZvclJvb3Qoe1xuICAgICAgdmFsaWRhdGlvbk1lc3NhZ2VzOiBbXG4gICAgICAgIHsgbmFtZTogJ3JlcXVpcmVkJywgbWVzc2FnZTogJ1RoaXMgZmllbGQgaXMgcmVxdWlyZWQnIH0sXG4gICAgICAgIHsgbmFtZTogJ3R5cGUnLCBtZXNzYWdlOiB0eXBlVmFsaWRhdGlvbk1lc3NhZ2UgfSxcbiAgICAgICAgeyBuYW1lOiAnbWluTGVuZ3RoJywgbWVzc2FnZTogbWluTGVuZ3RoVmFsaWRhdGlvbk1lc3NhZ2UgfSxcbiAgICAgICAgeyBuYW1lOiAnbWF4TGVuZ3RoJywgbWVzc2FnZTogbWF4TGVuZ3RoVmFsaWRhdGlvbk1lc3NhZ2UgfSxcbiAgICAgICAgeyBuYW1lOiAnbWluJywgbWVzc2FnZTogbWluVmFsaWRhdGlvbk1lc3NhZ2UgfSxcbiAgICAgICAgeyBuYW1lOiAnbWF4JywgbWVzc2FnZTogbWF4VmFsaWRhdGlvbk1lc3NhZ2UgfSxcbiAgICAgICAgeyBuYW1lOiAnbXVsdGlwbGVPZicsIG1lc3NhZ2U6IG11bHRpcGxlT2ZWYWxpZGF0aW9uTWVzc2FnZSB9LFxuICAgICAgICB7IG5hbWU6ICdleGNsdXNpdmVNaW5pbXVtJywgbWVzc2FnZTogZXhjbHVzaXZlTWluaW11bVZhbGlkYXRpb25NZXNzYWdlIH0sXG4gICAgICAgIHsgbmFtZTogJ2V4Y2x1c2l2ZU1heGltdW0nLCBtZXNzYWdlOiBleGNsdXNpdmVNYXhpbXVtVmFsaWRhdGlvbk1lc3NhZ2UgfSxcbiAgICAgICAgeyBuYW1lOiAnbWluSXRlbXMnLCBtZXNzYWdlOiBtaW5JdGVtc1ZhbGlkYXRpb25NZXNzYWdlIH0sXG4gICAgICAgIHsgbmFtZTogJ21heEl0ZW1zJywgbWVzc2FnZTogbWF4SXRlbXNWYWxpZGF0aW9uTWVzc2FnZSB9LFxuICAgICAgICB7IG5hbWU6ICd1bmlxdWVJdGVtcycsIG1lc3NhZ2U6ICdTaG91bGQgTk9UIGhhdmUgZHVwbGljYXRlIGl0ZW1zJyB9LFxuICAgICAgICB7IG5hbWU6ICdjb25zdCcsIG1lc3NhZ2U6IGNvbnN0VmFsaWRhdGlvbk1lc3NhZ2UgfSxcbiAgICAgICAgeyBuYW1lOiAncGF0dGVybicsIG1lc3NhZ2U6IHBhdHRlcm5WYWxpZGF0aW9uTWVzc2FnZSB9LFxuICAgICAgXSxcbiAgICAgIHdyYXBwZXJzOiBbXG4gICAgICAgIHsgbmFtZTogJ2dpby13aXRoLWJhbm5lcicsIGNvbXBvbmVudDogR2lvQmFubmVyV3JhcHBlckNvbXBvbmVudCB9LFxuICAgICAgICB7IG5hbWU6ICdnaW8tcGFzc3dvcmQtZXllJywgY29tcG9uZW50OiBHaW9QYXNzd29yZEV5ZVdyYXBwZXJDb21wb25lbnQgfSxcbiAgICAgICAgeyBuYW1lOiAnZ2lvLWVsLWhlbHAnLCBjb21wb25lbnQ6IEdpb0VsSGVscGVyV3JhcHBlckNvbXBvbmVudCB9LFxuICAgICAgXSxcbiAgICAgIHR5cGVzOiBbXG4gICAgICAgIHsgbmFtZTogJ251bGwnLCBjb21wb25lbnQ6IEdpb0Zqc051bGxUeXBlQ29tcG9uZW50LCB3cmFwcGVyczogWydmb3JtLWZpZWxkJ10gfSxcbiAgICAgICAgeyBuYW1lOiAnYXJyYXknLCBjb21wb25lbnQ6IEdpb0Zqc0FycmF5VHlwZUNvbXBvbmVudCB9LFxuICAgICAgICB7IG5hbWU6ICdvYmplY3QnLCBjb21wb25lbnQ6IEdpb0Zqc09iamVjdFR5cGVDb21wb25lbnQgfSxcbiAgICAgICAgeyBuYW1lOiAnbXVsdGlzY2hlbWEnLCBjb21wb25lbnQ6IEdpb0Zqc011bHRpU2NoZW1hVHlwZUNvbXBvbmVudCB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ3RvZ2dsZScsXG4gICAgICAgICAgY29tcG9uZW50OiBHaW9GanNUb2dnbGVUeXBlQ29tcG9uZW50LFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ2dpby1jb2RlLWVkaXRvcicsXG4gICAgICAgICAgY29tcG9uZW50OiBHaW9GanNDb2RlRWRpdG9yVHlwZUNvbXBvbmVudCxcbiAgICAgICAgICB3cmFwcGVyczogWydmb3JtLWZpZWxkJ10sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAnZ2lvLWhlYWRlcnMtYXJyYXknLFxuICAgICAgICAgIGNvbXBvbmVudDogR2lvRmpzSGVhZGVyc1R5cGVDb21wb25lbnQsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAnZ2lvLWNyb24nLFxuICAgICAgICAgIGNvbXBvbmVudDogR2lvRmpzQ3JvblR5cGVDb21wb25lbnQsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgZXh0ZW5zaW9uczogW1xuICAgICAgICB7IG5hbWU6ICdiYW5uZXInLCBleHRlbnNpb246IHsgb25Qb3B1bGF0ZTogYmFubmVyRXh0ZW5zaW9uIH0gfSxcbiAgICAgICAgeyBuYW1lOiAncGFzc3dvcmQtZXllJywgZXh0ZW5zaW9uOiB7IG9uUG9wdWxhdGU6IHBhc3N3b3JkRXllRXh0ZW5zaW9uIH0gfSxcbiAgICAgICAgeyBuYW1lOiAnZWwtaGVscCcsIGV4dGVuc2lvbjogeyBvblBvcHVsYXRlOiBlbEhlbHBFeHRlbnNpb24gfSB9LFxuICAgICAgXSxcbiAgICAgIGV4dHJhczoge1xuICAgICAgICBjaGVja0V4cHJlc3Npb25PbjogJ2NoYW5nZURldGVjdGlvbkNoZWNrJyxcbiAgICAgIH0sXG4gICAgfSksXG4gICAgRm9ybWx5TWF0ZXJpYWxNb2R1bGUsXG5cbiAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICBHaW9JY29uc01vZHVsZSxcbiAgICBHaW9Gb3JtU2xpZGVUb2dnbGVNb2R1bGUsXG4gICAgR2lvRm9ybUhlYWRlcnNNb2R1bGUsXG4gICAgR2lvTW9uYWNvRWRpdG9yTW9kdWxlLmZvclJvb3Qoe1xuICAgICAgYmFzZVVybDogJy4nLFxuICAgIH0pLFxuICAgIEdpb0Zvcm1Dcm9uTW9kdWxlLFxuICAgIEdpb1BvcG92ZXJDb21wb25lbnQsXG4gICAgUG9wb3ZlclRyaWdnZXJEaXJlY3RpdmUsXG4gICAgR2lvRWxQcm9tcHRDb21wb25lbnQsXG5cbiAgICBNYXRTbGlkZVRvZ2dsZU1vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgR2lvRWxBc3Npc3RhbnRDb21wb25lbnQsXG4gIF0sXG4gIGV4cG9ydHM6IFtHaW9Gb3JtSnNvblNjaGVtYUNvbXBvbmVudCwgRm9ybWx5TW9kdWxlXSxcbiAgcHJvdmlkZXJzOiBbR2lvRm9ybWx5SnNvblNjaGVtYVNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBHaW9Gb3JtSnNvblNjaGVtYU1vZHVsZSB7fVxuIl19
@@ -0,0 +1,261 @@
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 { Injectable } from '@angular/core';
17
+ import { castArray, get, isArray, isEmpty, isNil, isObject, set } from 'lodash';
18
+ import * as i0 from "@angular/core";
19
+ import * as i1 from "@ngx-formly/core/json-schema";
20
+ import * as i2 from "@ngx-formly/core";
21
+ export class GioFormlyJsonSchemaService {
22
+ constructor(formlyJsonschema, builder) {
23
+ this.formlyJsonschema = formlyJsonschema;
24
+ this.builder = builder;
25
+ }
26
+ toFormlyFieldConfig(jsonSchema, context) {
27
+ return this.formlyJsonschema.toFieldConfig(jsonSchema, {
28
+ map: (mappedField, mapSource) => {
29
+ mappedField = this.uiTypeMap(mappedField, mapSource); // Keep first in order to correctly construct tree
30
+ mappedField = this.displayIfMap(mappedField, mapSource, context);
31
+ mappedField = this.uiBorder(mappedField, mapSource);
32
+ mappedField = this.formatMap(mappedField, mapSource);
33
+ mappedField = this.bannerMap(mappedField, mapSource);
34
+ mappedField = this.toggleMap(mappedField, mapSource);
35
+ mappedField = this.disableIfMap(mappedField, mapSource, context);
36
+ mappedField = this.enumLabelMap(mappedField, mapSource);
37
+ mappedField = this.sanitizeOneOf(mappedField, mapSource);
38
+ mappedField = this.deprecatedMap(mappedField, mapSource);
39
+ return mappedField;
40
+ },
41
+ });
42
+ }
43
+ displayIfMap(mappedField, mapSource, context) {
44
+ const displayIf = getGioIf(mapSource.gioConfig?.displayIf);
45
+ if (displayIf) {
46
+ mappedField.expressions = {
47
+ ...mappedField.expressions,
48
+ hide: field => {
49
+ let parentField = field;
50
+ while (parentField.parent) {
51
+ parentField = parentField.parent;
52
+ }
53
+ try {
54
+ return !displayIf({
55
+ value: parentField.model,
56
+ context,
57
+ });
58
+ }
59
+ catch (e) {
60
+ // Ignore the error and display the field
61
+ return false;
62
+ }
63
+ },
64
+ };
65
+ }
66
+ return mappedField;
67
+ }
68
+ uiTypeMap(mappedField, mapSource) {
69
+ if (mapSource.gioConfig?.uiType) {
70
+ // Clean the field to avoid conflict and init simple one with given type
71
+ mappedField = {
72
+ key: mappedField.key,
73
+ type: mapSource.gioConfig?.uiType,
74
+ props: {
75
+ ...mappedField.props,
76
+ ...mapSource.gioConfig?.uiTypeProps,
77
+ },
78
+ };
79
+ }
80
+ return mappedField;
81
+ }
82
+ uiBorder(mappedField, mapSource) {
83
+ if (mapSource.gioConfig?.uiBorder) {
84
+ mappedField = {
85
+ ...mappedField,
86
+ props: {
87
+ ...mappedField.props,
88
+ uiBorder: mapSource.gioConfig?.uiBorder,
89
+ },
90
+ };
91
+ }
92
+ return mappedField;
93
+ }
94
+ formatMap(mappedField, mapSource) {
95
+ if (mapSource.type === 'string' && mapSource.format === 'text') {
96
+ mappedField.type = 'textarea';
97
+ mappedField.props = {
98
+ ...mappedField.props,
99
+ autosize: true,
100
+ };
101
+ }
102
+ else if (mapSource.type === 'string' && mapSource.format === 'password') {
103
+ mappedField.props = {
104
+ ...mappedField.props,
105
+ type: 'password',
106
+ };
107
+ }
108
+ else if (mapSource.type === 'string' && mapSource.format === 'gio-code-editor') {
109
+ mappedField.type = 'gio-code-editor';
110
+ mappedField.props = {
111
+ ...mappedField.props,
112
+ monacoEditorConfig: mapSource.gioConfig?.monacoEditorConfig,
113
+ };
114
+ }
115
+ else if (mapSource.type === 'string' && mapSource.format === 'gio-cron') {
116
+ mappedField.type = 'gio-cron';
117
+ mappedField.props = {
118
+ ...mappedField.props,
119
+ };
120
+ }
121
+ if (mapSource.gioConfig?.el || get(mapSource, ['x-schema-form', 'expression-language'], false)) {
122
+ mappedField.props = {
123
+ ...mappedField.props,
124
+ attributes: {
125
+ ...mappedField.props?.attributes,
126
+ el: 1,
127
+ },
128
+ };
129
+ }
130
+ return mappedField;
131
+ }
132
+ bannerMap(mappedField, mapSource) {
133
+ mappedField.props = {
134
+ ...mappedField.props,
135
+ ...(mapSource.gioConfig?.banner ? getBannerProperties(mapSource.gioConfig.banner) : {}),
136
+ };
137
+ return mappedField;
138
+ }
139
+ toggleMap(mappedField, mapSource) {
140
+ if (mapSource.type === 'boolean') {
141
+ mappedField.type = 'toggle';
142
+ }
143
+ return mappedField;
144
+ }
145
+ disableIfMap(mappedField, mapSource, context) {
146
+ const disableIf = getGioIf(mapSource.gioConfig?.disableIf);
147
+ if (disableIf) {
148
+ const propsDisabled = field => {
149
+ const isReadOnly = field.props?.readonly === true;
150
+ const isParentDisabled = field.options?.formState?.parentDisabled === true;
151
+ if (isParentDisabled || isReadOnly) {
152
+ // Useful when field is readonly to avoid to enable it
153
+ field.formControl?.disable({ emitEvent: false });
154
+ // if the parent is already disabled there is no need to change anything at the child level
155
+ return false;
156
+ }
157
+ let parentField = field;
158
+ while (parentField.parent) {
159
+ parentField = parentField.parent;
160
+ }
161
+ try {
162
+ const isDisabled = disableIf({
163
+ value: parentField.model,
164
+ context,
165
+ });
166
+ // Useful when full form is re-enabled to sync the fromControl enable/disable state
167
+ isDisabled ? field.formControl?.disable({ emitEvent: false }) : field.formControl?.enable({ emitEvent: false });
168
+ return isDisabled;
169
+ }
170
+ catch (e) {
171
+ // Ignore the error and keep default value
172
+ return field.props?.disabled || false;
173
+ }
174
+ };
175
+ mappedField.expressions = {
176
+ ...mappedField.expressions,
177
+ 'props.disabled': propsDisabled,
178
+ };
179
+ }
180
+ return mappedField;
181
+ }
182
+ enumLabelMap(mappedField, mapSource) {
183
+ if (!isArray(mappedField.props?.options)) {
184
+ return mappedField;
185
+ }
186
+ const enumLabelMapInObject = mapSource.enum && !isEmpty(mapSource.enum) && mapSource.gioConfig?.enumLabelMap ? mapSource.gioConfig?.enumLabelMap : null;
187
+ const enumLabelMapInArrayItem = mapSource.items &&
188
+ mapSource.type === 'array' &&
189
+ !isEmpty(mapSource.items.enum) &&
190
+ mapSource.items?.gioConfig?.enumLabelMap
191
+ ? mapSource.items?.gioConfig?.enumLabelMap
192
+ : null;
193
+ if (enumLabelMapInObject || enumLabelMapInArrayItem) {
194
+ mappedField.props = {
195
+ ...mappedField.props,
196
+ options: mappedField.props?.options?.map(({ value }) => {
197
+ return {
198
+ label: (enumLabelMapInObject || enumLabelMapInArrayItem)?.[value] ?? value,
199
+ value: value,
200
+ };
201
+ }),
202
+ };
203
+ }
204
+ return mappedField;
205
+ }
206
+ /**
207
+ * Remove the label of the oneOf fields to avoid to display it twice (with the select and the object title)
208
+ */
209
+ sanitizeOneOf(mappedField, mapSource) {
210
+ if (!mapSource.oneOf || !mappedField.fieldGroup || mappedField.fieldGroup.length < 1) {
211
+ return mappedField;
212
+ }
213
+ const parentFieldGroup = mappedField.fieldGroup[mappedField.fieldGroup.length - 1];
214
+ if (!parentFieldGroup || parentFieldGroup?.type != 'multischema') {
215
+ return mappedField;
216
+ }
217
+ const contentFieldGroup = get(parentFieldGroup, 'fieldGroup[1]');
218
+ if (!contentFieldGroup) {
219
+ return mappedField;
220
+ }
221
+ contentFieldGroup.fieldGroup?.forEach((field) => {
222
+ set(field, 'props.label', undefined);
223
+ });
224
+ return mappedField;
225
+ }
226
+ deprecatedMap(mappedField, mapSource) {
227
+ if (mapSource.deprecated) {
228
+ return {};
229
+ }
230
+ return mappedField;
231
+ }
232
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: GioFormlyJsonSchemaService, deps: [{ token: i1.FormlyJsonschema }, { token: i2.FormlyFormBuilder }], target: i0.ɵɵFactoryTarget.Injectable }); }
233
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: GioFormlyJsonSchemaService }); }
234
+ }
235
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: GioFormlyJsonSchemaService, decorators: [{
236
+ type: Injectable
237
+ }], ctorParameters: () => [{ type: i1.FormlyJsonschema }, { type: i2.FormlyFormBuilder }] });
238
+ const getBannerProperties = (banner) => {
239
+ return {
240
+ bannerText: banner.text,
241
+ bannerTitle: 'title' in banner ? banner.title : undefined,
242
+ };
243
+ };
244
+ const getGioIf = (gioIf) => {
245
+ const $eq = gioIf?.$eq;
246
+ if (isNil($eq) || !isObject($eq)) {
247
+ return undefined;
248
+ }
249
+ return objectToCheck => {
250
+ if (isEmpty(objectToCheck)) {
251
+ return false;
252
+ }
253
+ return Object.entries($eq)
254
+ .map(([k, v]) => ({ path: k, eqValue: castArray(v) }))
255
+ .every(({ path, eqValue }) => {
256
+ const value = get(objectToCheck, path);
257
+ return eqValue.includes(value);
258
+ });
259
+ };
260
+ };
261
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLWZvcm1seS1qc29uLXNjaGVtYS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktcGFydGljbGVzLWFuZ3VsYXIvc3JjL2xpYi9naW8tZm9ybS1qc29uLXNjaGVtYS9naW8tZm9ybWx5LWpzb24tc2NoZW1hLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSTNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsTUFBTSxRQUFRLENBQUM7Ozs7QUFPaEYsTUFBTSxPQUFPLDBCQUEwQjtJQUNyQyxZQUNtQixnQkFBa0MsRUFDbEMsT0FBMEI7UUFEMUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxZQUFPLEdBQVAsT0FBTyxDQUFtQjtJQUMxQyxDQUFDO0lBRUcsbUJBQW1CLENBQUMsVUFBeUIsRUFBRSxPQUE4QjtRQUNsRixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFO1lBQ3JELEdBQUcsRUFBRSxDQUFDLFdBQThCLEVBQUUsU0FBc0IsRUFBRSxFQUFFO2dCQUM5RCxXQUFXLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxrREFBa0Q7Z0JBQ3hHLFdBQVcsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7Z0JBQ2pFLFdBQVcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxTQUFTLENBQUMsQ0FBQztnQkFDcEQsV0FBVyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLFNB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RyxLQUFLLEVBQUUsR0FBRyxDQUFDO0lBQ3ZCLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDakMsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVELE9BQU8sYUFBYSxDQUFDLEVBQUU7UUFDckIsSUFBSSxPQUFPLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztZQUMzQixPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFFRCxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDO2FBQ3ZCLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUNyRCxLQUFLLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFO1lBQzNCLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFFdkMsT0FBTyxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoQykgMjAyMyBUaGUgR3Jhdml0ZWUgdGVhbSAoaHR0cDovL2dyYXZpdGVlLmlvKVxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1seUZpZWxkQ29uZmlnLCBGb3JtbHlGb3JtQnVpbGRlciB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuaW1wb3J0IHsgRm9ybWx5SnNvbnNjaGVtYSB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUvanNvbi1zY2hlbWEnO1xuaW1wb3J0IHsgSlNPTlNjaGVtYTcgfSBmcm9tICdqc29uLXNjaGVtYSc7XG5pbXBvcnQgeyBjYXN0QXJyYXksIGdldCwgaXNBcnJheSwgaXNFbXB0eSwgaXNOaWwsIGlzT2JqZWN0LCBzZXQgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBHaW9JZkNvbmZpZywgR2lvSnNvblNjaGVtYSB9IGZyb20gJy4vbW9kZWwvR2lvSnNvblNjaGVtYSc7XG5pbXBvcnQgeyBHaW9Kc29uU2NoZW1hQ29udGV4dCB9IGZyb20gJy4vbW9kZWwvR2lvSnNvblNjaGVtYUNvbnRleHQnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgR2lvRm9ybWx5SnNvblNjaGVtYVNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZvcm1seUpzb25zY2hlbWE6IEZvcm1seUpzb25zY2hlbWEsXG4gICAgcHJpdmF0ZSByZWFkb25seSBidWlsZGVyOiBGb3JtbHlGb3JtQnVpbGRlcixcbiAgKSB7fVxuXG4gIHB1YmxpYyB0b0Zvcm1seUZpZWxkQ29uZmlnKGpzb25TY2hlbWE6IEdpb0pzb25TY2hlbWEsIGNvbnRleHQ/OiBHaW9Kc29uU2NoZW1hQ29udGV4dCk6IEZvcm1seUZpZWxkQ29uZmlnIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtbHlKc29uc2NoZW1hLnRvRmllbGRDb25maWcoanNvblNjaGVtYSwge1xuICAgICAgbWFwOiAobWFwcGVkRmllbGQ6IEZvcm1seUZpZWxkQ29uZmlnLCBtYXBTb3VyY2U6IEpTT05TY2hlbWE3KSA9PiB7XG4gICAgICAgIG1hcHBlZEZpZWxkID0gdGhpcy51aVR5cGVNYXAobWFwcGVkRmllbGQsIG1hcFNvdXJjZSk7IC8vIEtlZXAgZmlyc3QgaW4gb3JkZXIgdG8gY29ycmVjdGx5IGNvbnN0cnVjdCB0cmVlXG4gICAgICAgIG1hcHBlZEZpZWxkID0gdGhpcy5kaXNwbGF5SWZNYXAobWFwcGVkRmllbGQsIG1hcFNvdXJjZSwgY29udGV4dCk7XG4gICAgICAgIG1hcHBlZEZpZWxkID0gdGhpcy51aUJvcmRlcihtYXBwZWRGaWVsZCwgbWFwU291cmNlKTtcbiAgICAgICAgbWFwcGVkRmllbGQgPSB0aGlzLmZvcm1hdE1hcChtYXBwZWRGaWVsZCwgbWFwU291cmNlKTtcbiAgICAgICAgbWFwcGVkRmllbGQgPSB0aGlzLmJhbm5lck1hcChtYXBwZWRGaWVsZCwgbWFwU291cmNlKTtcbiAgICAgICAgbWFwcGVkRmllbGQgPSB0aGlzLnRvZ2dsZU1hcChtYXBwZWRGaWVsZCwgbWFwU291cmNlKTtcbiAgICAgICAgbWFwcGVkRmllbGQgPSB0aGlzLmRpc2FibGVJZk1hcChtYXBwZWRGaWVsZCwgbWFwU291cmNlLCBjb250ZXh0KTtcbiAgICAgICAgbWFwcGVkRmllbGQgPSB0aGlzLmVudW1MYWJlbE1hcChtYXBwZWRGaWVsZCwgbWFwU291cmNlKTtcbiAgICAgICAgbWFwcGVkRmllbGQgPSB0aGlzLnNhbml0aXplT25lT2YobWFwcGVkRmllbGQsIG1hcFNvdXJjZSk7XG4gICAgICAgIG1hcHBlZEZpZWxkID0gdGhpcy5kZXByZWNhdGVkTWFwKG1hcHBlZEZpZWxkLCBtYXBTb3VyY2UpO1xuXG4gICAgICAgIHJldHVybiBtYXBwZWRGaWVsZDtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGRpc3BsYXlJZk1hcChtYXBwZWRGaWVsZDogRm9ybWx5RmllbGRDb25maWcsIG1hcFNvdXJjZTogSlNPTlNjaGVtYTcsIGNvbnRleHQ/OiBHaW9Kc29uU2NoZW1hQ29udGV4dCk6IEZvcm1seUZpZWxkQ29uZmlnIHtcbiAgICBjb25zdCBkaXNwbGF5SWYgPSBnZXRHaW9JZihtYXBTb3VyY2UuZ2lvQ29uZmlnPy5kaXNwbGF5SWYpO1xuICAgIGlmIChkaXNwbGF5SWYpIHtcbiAgICAgIG1hcHBlZEZpZWxkLmV4cHJlc3Npb25zID0ge1xuICAgICAgICAuLi5tYXBwZWRGaWVsZC5leHByZXNzaW9ucyxcbiAgICAgICAgaGlkZTogZmllbGQgPT4ge1xuICAgICAgICAgIGxldCBwYXJlbnRGaWVsZCA9IGZpZWxkO1xuICAgICAgICAgIHdoaWxlIChwYXJlbnRGaWVsZC5wYXJlbnQpIHtcbiAgICAgICAgICAgIHBhcmVudEZpZWxkID0gcGFyZW50RmllbGQucGFyZW50O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICByZXR1cm4gIWRpc3BsYXlJZih7XG4gICAgICAgICAgICAgIHZhbHVlOiBwYXJlbnRGaWVsZC5tb2RlbCxcbiAgICAgICAgICAgICAgY29udGV4dCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIC8vIElnbm9yZSB0aGUgZXJyb3IgYW5kIGRpc3BsYXkgdGhlIGZpZWxkXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4gbWFwcGVkRmllbGQ7XG4gIH1cblxuICBwcml2YXRlIHVpVHlwZU1hcChtYXBwZWRGaWVsZDogRm9ybWx5RmllbGRDb25maWcsIG1hcFNvdXJjZTogSlNPTlNjaGVtYTcpOiBGb3JtbHlGaWVsZENvbmZpZyB7XG4gICAgaWYgKG1hcFNvdXJjZS5naW9Db25maWc/LnVpVHlwZSkge1xuICAgICAgLy8gQ2xlYW4gdGhlIGZpZWxkIHRvIGF2b2lkIGNvbmZsaWN0IGFuZCBpbml0IHNpbXBsZSBvbmUgd2l0aCBnaXZlbiB0eXBlXG4gICAgICBtYXBwZWRGaWVsZCA9IHtcbiAgICAgICAga2V5OiBtYXBwZWRGaWVsZC5rZXksXG4gICAgICAgIHR5cGU6IG1hcFNvdXJjZS5naW9Db25maWc/LnVpVHlwZSxcbiAgICAgICAgcHJvcHM6IHtcbiAgICAgICAgICAuLi5tYXBwZWRGaWVsZC5wcm9wcyxcbiAgICAgICAgICAuLi5tYXBTb3VyY2UuZ2lvQ29uZmlnPy51aVR5cGVQcm9wcyxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIG1hcHBlZEZpZWxkO1xuICB9XG5cbiAgcHJpdmF0ZSB1aUJvcmRlcihtYXBwZWRGaWVsZDogRm9ybWx5RmllbGRDb25maWcsIG1hcFNvdXJjZTogSlNPTlNjaGVtYTcpOiBGb3JtbHlGaWVsZENvbmZpZyB7XG4gICAgaWYgKG1hcFNvdXJjZS5naW9Db25maWc/LnVpQm9yZGVyKSB7XG4gICAgICBtYXBwZWRGaWVsZCA9IHtcbiAgICAgICAgLi4ubWFwcGVkRmllbGQsXG4gICAgICAgIHByb3BzOiB7XG4gICAgICAgICAgLi4ubWFwcGVkRmllbGQucHJvcHMsXG4gICAgICAgICAgdWlCb3JkZXI6IG1hcFNvdXJjZS5naW9Db25maWc/LnVpQm9yZGVyLFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4gbWFwcGVkRmllbGQ7XG4gIH1cblxuICBwcml2YXRlIGZvcm1hdE1hcChtYXBwZWRGaWVsZDogRm9ybWx5RmllbGRDb25maWcsIG1hcFNvdXJjZTogSlNPTlNjaGVtYTcpOiBGb3JtbHlGaWVsZENvbmZpZyB7XG4gICAgaWYgKG1hcFNvdXJjZS50eXBlID09PSAnc3RyaW5nJyAmJiBtYXBTb3VyY2UuZm9ybWF0ID09PSAndGV4dCcpIHtcbiAgICAgIG1hcHBlZEZpZWxkLnR5cGUgPSAndGV4dGFyZWEnO1xuICAgICAgbWFwcGVkRmllbGQucHJvcHMgPSB7XG4gICAgICAgIC4uLm1hcHBlZEZpZWxkLnByb3BzLFxuICAgICAgICBhdXRvc2l6ZTogdHJ1ZSxcbiAgICAgIH07XG4gICAgfSBlbHNlIGlmIChtYXBTb3VyY2UudHlwZSA9PT0gJ3N0cmluZycgJiYgbWFwU291cmNlLmZvcm1hdCA9PT0gJ3Bhc3N3b3JkJykge1xuICAgICAgbWFwcGVkRmllbGQucHJvcHMgPSB7XG4gICAgICAgIC4uLm1hcHBlZEZpZWxkLnByb3BzLFxuICAgICAgICB0eXBlOiAncGFzc3dvcmQnLFxuICAgICAgfTtcbiAgICB9IGVsc2UgaWYgKG1hcFNvdXJjZS50eXBlID09PSAnc3RyaW5nJyAmJiBtYXBTb3VyY2UuZm9ybWF0ID09PSAnZ2lvLWNvZGUtZWRpdG9yJykge1xuICAgICAgbWFwcGVkRmllbGQudHlwZSA9ICdnaW8tY29kZS1lZGl0b3InO1xuICAgICAgbWFwcGVkRmllbGQucHJvcHMgPSB7XG4gICAgICAgIC4uLm1hcHBlZEZpZWxkLnByb3BzLFxuICAgICAgICBtb25hY29FZGl0b3JDb25maWc6IG1hcFNvdXJjZS5naW9Db25maWc/Lm1vbmFjb0VkaXRvckNvbmZpZyxcbiAgICAgIH07XG4gICAgfSBlbHNlIGlmIChtYXBTb3VyY2UudHlwZSA9PT0gJ3N0cmluZycgJiYgbWFwU291cmNlLmZvcm1hdCA9PT0gJ2dpby1jcm9uJykge1xuICAgICAgbWFwcGVkRmllbGQudHlwZSA9ICdnaW8tY3Jvbic7XG4gICAgICBtYXBwZWRGaWVsZC5wcm9wcyA9IHtcbiAgICAgICAgLi4ubWFwcGVkRmllbGQucHJvcHMsXG4gICAgICB9O1xuICAgIH1cbiAgICBpZiAobWFwU291cmNlLmdpb0NvbmZpZz8uZWwgfHwgZ2V0KG1hcFNvdXJjZSwgWyd4LXNjaGVtYS1mb3JtJywgJ2V4cHJlc3Npb24tbGFuZ3VhZ2UnXSwgZmFsc2UpKSB7XG4gICAgICBtYXBwZWRGaWVsZC5wcm9wcyA9IHtcbiAgICAgICAgLi4ubWFwcGVkRmllbGQucHJvcHMsXG4gICAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgICAuLi5tYXBwZWRGaWVsZC5wcm9wcz8uYXR0cmlidXRlcyxcbiAgICAgICAgICBlbDogMSxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIG1hcHBlZEZpZWxkO1xuICB9XG5cbiAgcHJpdmF0ZSBiYW5uZXJNYXAobWFwcGVkRmllbGQ6IEZvcm1seUZpZWxkQ29uZmlnLCBtYXBTb3VyY2U6IEpTT05TY2hlbWE3KTogRm9ybWx5RmllbGRDb25maWcge1xuICAgIG1hcHBlZEZpZWxkLnByb3BzID0ge1xuICAgICAgLi4ubWFwcGVkRmllbGQucHJvcHMsXG4gICAgICAuLi4obWFwU291cmNlLmdpb0NvbmZpZz8uYmFubmVyID8gZ2V0QmFubmVyUHJvcGVydGllcyhtYXBTb3VyY2UuZ2lvQ29uZmlnLmJhbm5lcikgOiB7fSksXG4gICAgfTtcblxuICAgIHJldHVybiBtYXBwZWRGaWVsZDtcbiAgfVxuXG4gIHByaXZhdGUgdG9nZ2xlTWFwKG1hcHBlZEZpZWxkOiBGb3JtbHlGaWVsZENvbmZpZywgbWFwU291cmNlOiBKU09OU2NoZW1hNyk6IEZvcm1seUZpZWxkQ29uZmlnIHtcbiAgICBpZiAobWFwU291cmNlLnR5cGUgPT09ICdib29sZWFuJykge1xuICAgICAgbWFwcGVkRmllbGQudHlwZSA9ICd0b2dnbGUnO1xuICAgIH1cblxuICAgIHJldHVybiBtYXBwZWRGaWVsZDtcbiAgfVxuXG4gIHByaXZhdGUgZGlzYWJsZUlmTWFwKG1hcHBlZEZpZWxkOiBGb3JtbHlGaWVsZENvbmZpZywgbWFwU291cmNlOiBKU09OU2NoZW1hNywgY29udGV4dD86IEdpb0pzb25TY2hlbWFDb250ZXh0KTogRm9ybWx5RmllbGRDb25maWcge1xuICAgIGNvbnN0IGRpc2FibGVJZiA9IGdldEdpb0lmKG1hcFNvdXJjZS5naW9Db25maWc/LmRpc2FibGVJZik7XG4gICAgaWYgKGRpc2FibGVJZikge1xuICAgICAgY29uc3QgcHJvcHNEaXNhYmxlZDogKChmaWVsZDogRm9ybWx5RmllbGRDb25maWcpID0+IGJvb2xlYW4pIHwgT2JzZXJ2YWJsZTxib29sZWFuPiA9IGZpZWxkID0+IHtcbiAgICAgICAgY29uc3QgaXNSZWFkT25seSA9IGZpZWxkLnByb3BzPy5yZWFkb25seSA9PT0gdHJ1ZTtcbiAgICAgICAgY29uc3QgaXNQYXJlbnREaXNhYmxlZCA9IGZpZWxkLm9wdGlvbnM/LmZvcm1TdGF0ZT8ucGFyZW50RGlzYWJsZWQgPT09IHRydWU7XG4gICAgICAgIGlmIChpc1BhcmVudERpc2FibGVkIHx8IGlzUmVhZE9ubHkpIHtcbiAgICAgICAgICAvLyBVc2VmdWwgd2hlbiBmaWVsZCBpcyByZWFkb25seSB0byBhdm9pZCB0byBlbmFibGUgaXRcbiAgICAgICAgICBmaWVsZC5mb3JtQ29udHJvbD8uZGlzYWJsZSh7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICAgICAgLy8gaWYgdGhlIHBhcmVudCBpcyBhbHJlYWR5IGRpc2FibGVkIHRoZXJlIGlzIG5vIG5lZWQgdG8gY2hhbmdlIGFueXRoaW5nIGF0IHRoZSBjaGlsZCBsZXZlbFxuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBwYXJlbnRGaWVsZCA9IGZpZWxkO1xuICAgICAgICB3aGlsZSAocGFyZW50RmllbGQucGFyZW50KSB7XG4gICAgICAgICAgcGFyZW50RmllbGQgPSBwYXJlbnRGaWVsZC5wYXJlbnQ7XG4gICAgICAgIH1cblxuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IGlzRGlzYWJsZWQgPSBkaXNhYmxlSWYoe1xuICAgICAgICAgICAgdmFsdWU6IHBhcmVudEZpZWxkLm1vZGVsLFxuICAgICAgICAgICAgY29udGV4dCxcbiAgICAgICAgICB9KTtcbiAgICAgICAgICAvLyBVc2VmdWwgd2hlbiBmdWxsIGZvcm0gaXMgcmUtZW5hYmxlZCB0byBzeW5jIHRoZSBmcm9tQ29udHJvbCBlbmFibGUvZGlzYWJsZSBzdGF0ZVxuICAgICAgICAgIGlzRGlzYWJsZWQgPyBmaWVsZC5mb3JtQ29udHJvbD8uZGlzYWJsZSh7IGVtaXRFdmVudDogZmFsc2UgfSkgOiBmaWVsZC5mb3JtQ29udHJvbD8uZW5hYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgICByZXR1cm4gaXNEaXNhYmxlZDtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIC8vIElnbm9yZSB0aGUgZXJyb3IgYW5kIGtlZXAgZGVmYXVsdCB2YWx1ZVxuICAgICAgICAgIHJldHVybiBmaWVsZC5wcm9wcz8uZGlzYWJsZWQgfHwgZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH07XG5cbiAgICAgIG1hcHBlZEZpZWxkLmV4cHJlc3Npb25zID0ge1xuICAgICAgICAuLi5tYXBwZWRGaWVsZC5leHByZXNzaW9ucyxcbiAgICAgICAgJ3Byb3BzLmRpc2FibGVkJzogcHJvcHNEaXNhYmxlZCxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIG1hcHBlZEZpZWxkO1xuICB9XG5cbiAgcHJpdmF0ZSBlbnVtTGFiZWxNYXAobWFwcGVkRmllbGQ6IEZvcm1seUZpZWxkQ29uZmlnLCBtYXBTb3VyY2U6IEpTT05TY2hlbWE3KTogRm9ybWx5RmllbGRDb25maWcge1xuICAgIGlmICghaXNBcnJheShtYXBwZWRGaWVsZC5wcm9wcz8ub3B0aW9ucykpIHtcbiAgICAgIHJldHVybiBtYXBwZWRGaWVsZDtcbiAgICB9XG5cbiAgICBjb25zdCBlbnVtTGFiZWxNYXBJbk9iamVjdCA9XG4gICAgICBtYXBTb3VyY2UuZW51bSAmJiAhaXNFbXB0eShtYXBTb3VyY2UuZW51bSkgJiYgbWFwU291cmNlLmdpb0NvbmZpZz8uZW51bUxhYmVsTWFwID8gbWFwU291cmNlLmdpb0NvbmZpZz8uZW51bUxhYmVsTWFwIDogbnVsbDtcbiAgICBjb25zdCBlbnVtTGFiZWxNYXBJbkFycmF5SXRlbSA9XG4gICAgICBtYXBTb3VyY2UuaXRlbXMgJiZcbiAgICAgIG1hcFNvdXJjZS50eXBlID09PSAnYXJyYXknICYmXG4gICAgICAhaXNFbXB0eSgobWFwU291cmNlLml0ZW1zIGFzIEpTT05TY2hlbWE3KS5lbnVtKSAmJlxuICAgICAgKG1hcFNvdXJjZS5pdGVtcyBhcyBKU09OU2NoZW1hNyk/Lmdpb0NvbmZpZz8uZW51bUxhYmVsTWFwXG4gICAgICAgID8gKG1hcFNvdXJjZS5pdGVtcyBhcyBKU09OU2NoZW1hNyk/Lmdpb0NvbmZpZz8uZW51bUxhYmVsTWFwXG4gICAgICAgIDogbnVsbDtcblxuICAgIGlmIChlbnVtTGFiZWxNYXBJbk9iamVjdCB8fCBlbnVtTGFiZWxNYXBJbkFycmF5SXRlbSkge1xuICAgICAgbWFwcGVkRmllbGQucHJvcHMgPSB7XG4gICAgICAgIC4uLm1hcHBlZEZpZWxkLnByb3BzLFxuICAgICAgICBvcHRpb25zOiBtYXBwZWRGaWVsZC5wcm9wcz8ub3B0aW9ucz8ubWFwKCh7IHZhbHVlIH0pID0+IHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbGFiZWw6IChlbnVtTGFiZWxNYXBJbk9iamVjdCB8fCBlbnVtTGFiZWxNYXBJbkFycmF5SXRlbSk/Llt2YWx1ZV0gPz8gdmFsdWUsXG4gICAgICAgICAgICB2YWx1ZTogdmFsdWUsXG4gICAgICAgICAgfTtcbiAgICAgICAgfSksXG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiBtYXBwZWRGaWVsZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmUgdGhlIGxhYmVsIG9mIHRoZSBvbmVPZiBmaWVsZHMgdG8gYXZvaWQgdG8gZGlzcGxheSBpdCB0d2ljZSAod2l0aCB0aGUgc2VsZWN0IGFuZCB0aGUgb2JqZWN0IHRpdGxlKVxuICAgKi9cbiAgcHJpdmF0ZSBzYW5pdGl6ZU9uZU9mKG1hcHBlZEZpZWxkOiBGb3JtbHlGaWVsZENvbmZpZywgbWFwU291cmNlOiBKU09OU2NoZW1hNyk6IEZvcm1seUZpZWxkQ29uZmlnIHtcbiAgICBpZiAoIW1hcFNvdXJjZS5vbmVPZiB8fCAhbWFwcGVkRmllbGQuZmllbGRHcm91cCB8fCBtYXBwZWRGaWVsZC5maWVsZEdyb3VwLmxlbmd0aCA8IDEpIHtcbiAgICAgIHJldHVybiBtYXBwZWRGaWVsZDtcbiAgICB9XG5cbiAgICBjb25zdCBwYXJlbnRGaWVsZEdyb3VwID0gbWFwcGVkRmllbGQuZmllbGRHcm91cFttYXBwZWRGaWVsZC5maWVsZEdyb3VwLmxlbmd0aCAtIDFdO1xuICAgIGlmICghcGFyZW50RmllbGRHcm91cCB8fCBwYXJlbnRGaWVsZEdyb3VwPy50eXBlICE9ICdtdWx0aXNjaGVtYScpIHtcbiAgICAgIHJldHVybiBtYXBwZWRGaWVsZDtcbiAgICB9XG5cbiAgICBjb25zdCBjb250ZW50RmllbGRHcm91cCA9IGdldChwYXJlbnRGaWVsZEdyb3VwLCAnZmllbGRHcm91cFsxXScpO1xuICAgIGlmICghY29udGVudEZpZWxkR3JvdXApIHtcbiAgICAgIHJldHVybiBtYXBwZWRGaWVsZDtcbiAgICB9XG5cbiAgICBjb250ZW50RmllbGRHcm91cC5maWVsZEdyb3VwPy5mb3JFYWNoKChmaWVsZDogRm9ybWx5RmllbGRDb25maWcpID0+IHtcbiAgICAgIHNldChmaWVsZCwgJ3Byb3BzLmxhYmVsJywgdW5kZWZpbmVkKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBtYXBwZWRGaWVsZDtcbiAgfVxuXG4gIHByaXZhdGUgZGVwcmVjYXRlZE1hcChtYXBwZWRGaWVsZDogRm9ybWx5RmllbGRDb25maWcsIG1hcFNvdXJjZTogSlNPTlNjaGVtYTcpOiBGb3JtbHlGaWVsZENvbmZpZyB7XG4gICAgaWYgKG1hcFNvdXJjZS5kZXByZWNhdGVkKSB7XG4gICAgICByZXR1cm4ge307XG4gICAgfVxuXG4gICAgcmV0dXJuIG1hcHBlZEZpZWxkO1xuICB9XG59XG5cbmNvbnN0IGdldEJhbm5lclByb3BlcnRpZXMgPSAoYmFubmVyOiB7IHRpdGxlOiBzdHJpbmc7IHRleHQ6IHN0cmluZyB9IHwgeyB0ZXh0OiBzdHJpbmcgfSkgPT4ge1xuICByZXR1cm4ge1xuICAgIGJhbm5lclRleHQ6IGJhbm5lci50ZXh0LFxuICAgIGJhbm5lclRpdGxlOiAndGl0bGUnIGluIGJhbm5lciA/IGJhbm5lci50aXRsZSA6IHVuZGVmaW5lZCxcbiAgfTtcbn07XG5cbmNvbnN0IGdldEdpb0lmID0gKFxuICBnaW9JZj86IEdpb0lmQ29uZmlnLFxuKTogKChvYmplY3RUb0NoZWNrPzogeyB2YWx1ZT86IEZvcm1seUZpZWxkQ29uZmlnWydtb2RlbCddOyBjb250ZXh0PzogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfSkgPT4gYm9vbGVhbikgfCB1bmRlZmluZWQgPT4ge1xuICBjb25zdCAkZXEgPSBnaW9JZj8uJGVxO1xuICBpZiAoaXNOaWwoJGVxKSB8fCAhaXNPYmplY3QoJGVxKSkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICByZXR1cm4gb2JqZWN0VG9DaGVjayA9PiB7XG4gICAgaWYgKGlzRW1wdHkob2JqZWN0VG9DaGVjaykpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICByZXR1cm4gT2JqZWN0LmVudHJpZXMoJGVxKVxuICAgICAgLm1hcCgoW2ssIHZdKSA9PiAoeyBwYXRoOiBrLCBlcVZhbHVlOiBjYXN0QXJyYXkodikgfSkpXG4gICAgICAuZXZlcnkoKHsgcGF0aCwgZXFWYWx1ZSB9KSA9PiB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gZ2V0KG9iamVjdFRvQ2hlY2ssIHBhdGgpO1xuXG4gICAgICAgIHJldHVybiBlcVZhbHVlLmluY2x1ZGVzKHZhbHVlKTtcbiAgICAgIH0pO1xuICB9O1xufTtcbiJdfQ==
@@ -0,0 +1,17 @@
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
+ export {};
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR2lvSnNvblNjaGVtYS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLXBhcnRpY2xlcy1hbmd1bGFyL3NyYy9saWIvZ2lvLWZvcm0tanNvbi1zY2hlbWEvbW9kZWwvR2lvSnNvblNjaGVtYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMjMgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IEpTT05TY2hlbWE3IH0gZnJvbSAnanNvbi1zY2hlbWEnO1xuXG5pbXBvcnQgeyBHaW9Nb25hY29FZGl0b3JDb25maWcgfSBmcm9tICcuLi90eXBlLWNvbXBvbmVudC9jb2RlLWVkaXRvci10eXBlLmNvbXBvbmVudCc7XG5cbi8qKlxuICogR2lvQ29uZmlnIGlzIHVzZWQgdG8gYWRkIHNvbWUgY3VzdG9tIGNvbmZpZ3VyYXRpb24gdG8gdGhlIEpTT05TY2hlbWE3XG4gKiDimqDvuI8gS2VlcCB1cGRhdGVkIHdpdGggdGhlIEdpb0pzb25TY2hlbWEuanNvbiB0byBoYXZlIHRoZSBzYW1lIGludGVyZmFjZSDimqDvuI9cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHaW9Db25maWcgZXh0ZW5kcyBHaW9VaVR5cGVDb25maWcge1xuICBkaXNwbGF5SWY/OiBHaW9JZkNvbmZpZztcbiAgZGlzYWJsZUlmPzogR2lvSWZDb25maWc7XG4gIGJhbm5lcj86IEdpb0Jhbm5lckNvbmZpZztcbiAgbW9uYWNvRWRpdG9yQ29uZmlnPzogR2lvTW9uYWNvRWRpdG9yQ29uZmlnO1xuICBlbnVtTGFiZWxNYXA/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICB1aUJvcmRlcj86ICdub25lJyB8ICdmdWxsJztcbiAgZWw/OiBib29sZWFuO1xufVxuXG50eXBlIEdpb0Jhbm5lckNvbmZpZyA9XG4gIHwge1xuICAgICAgdGl0bGU6IHN0cmluZztcbiAgICAgIHRleHQ6IHN0cmluZztcbiAgICB9XG4gIHwge1xuICAgICAgdGV4dDogc3RyaW5nO1xuICAgIH07XG5cbmV4cG9ydCB0eXBlIEVsQ29sdW1ucyA9ICdrZXknIHwgJ3ZhbHVlJyB8ICdib3RoJyB8ICduZWl0aGVyJztcbi8qKlxuICogVXNlZCB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBmb3JtbHkgdHlwZS4gSXQncyB1c2VmdWwgd2hlbiB3ZSB3YW50IHRvIHVzZSBhIGN1c3RvbSBjb21wb25lbnQuXG4gKi9cbmV4cG9ydCB0eXBlIEdpb1VpVHlwZUNvbmZpZyA9IHtcbiAgdWlUeXBlPzogJ2dpby1oZWFkZXJzLWFycmF5JyB8IHN0cmluZztcbiAgdWlUeXBlUHJvcHM/OiB7XG4gICAgZWxDb2x1bW5zPzogRWxDb2x1bW5zO1xuICB9ICYgUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG59O1xuXG4vKlxuICogQ29uZGl0aW9uXG4gKiBUaGUgY29uZGl0aW9uIGlzIGEgSlNPTiBvYmplY3Qgd2l0aCB0aGUgY29udGV4dCBrZXkgYW5kIHRoZSB2YWx1ZSB0byBjb21wYXJlLlxuICogRXhhbXBsZTogeyAkZXE6IHsgJ2ZpZWxkJzogJ3ZhbHVlJyB9IH1cbiAqL1xuZXhwb3J0IHR5cGUgR2lvSWZDb25maWcgPSB7XG4gICRlcTogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB8IEFycmF5PHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4+Pjtcbn07XG5cbi8qKlxuICogT3ZlcnJpZGUgdGhlIEpTT05TY2hlbWE3IGludGVyZmFjZSB0byBhZGQgZ2lvQ29uZmlnXG4gKiBVc2UgdGhpcyB3YXkgYmVjYXVzZSB0aGUgSlNPTlNjaGVtYTcgaW50ZXJmYWNlIGlzIHJlY3Vyc2l2ZVxuICogQW5kIGV4cG9ydCB3aXRoIG5ldyBuYW1lIGBHaW9Kc29uU2NoZW1hYCB0byBtYWtlIGl0IG1vcmUgY2xlYXJcbiAqL1xuZGVjbGFyZSBtb2R1bGUgJ2pzb24tc2NoZW1hJyB7XG4gIGludGVyZmFjZSBKU09OU2NoZW1hNyB7XG4gICAgZ2lvQ29uZmlnPzogR2lvQ29uZmlnO1xuICAgIGRlcHJlY2F0ZWQ/OiBib29sZWFuO1xuICB9XG59XG5cbmV4cG9ydCB0eXBlIEdpb0pzb25TY2hlbWEgPSBKU09OU2NoZW1hNztcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR2lvSnNvblNjaGVtYUNvbnRleHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1wYXJ0aWNsZXMtYW5ndWxhci9zcmMvbGliL2dpby1mb3JtLWpzb24tc2NoZW1hL21vZGVsL0dpb0pzb25TY2hlbWFDb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChDKSAyMDI0IFRoZSBHcmF2aXRlZSB0ZWFtIChodHRwOi8vZ3Jhdml0ZWUuaW8pXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuZXhwb3J0IHR5cGUgR2lvSnNvblNjaGVtYUNvbnRleHQgPSBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiJdfQ==