@alauda-fe/common 1.3.0 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (539) hide show
  1. package/api/helpers.d.ts +8 -16
  2. package/array-form-table/form/component.d.ts +2 -2
  3. package/authorization/interceptor.service.d.ts +0 -1
  4. package/authorization/state.service.d.ts +13 -13
  5. package/business/resource-select/internals/namespace-list/component.d.ts +3 -1
  6. package/business/resource-select/module.d.ts +2 -1
  7. package/core/abstract/base-nested-form-control.d.ts +1 -1
  8. package/core/components/tree/toggle.d.ts +3 -3
  9. package/core/constants/constants.d.ts +4 -1
  10. package/core/constants/patterns.d.ts +12 -0
  11. package/core/constants/status-icons.d.ts +2 -1
  12. package/core/directives/scroll-to-first-invalid.directive.d.ts +1 -1
  13. package/core/module.d.ts +21 -21
  14. package/core/pipes/time.pipe.d.ts +1 -1
  15. package/core/services/context.service.d.ts +3 -4
  16. package/core/services/encode-url-param.interceptor.d.ts +12 -0
  17. package/core/services/feature-gate.service.d.ts +1 -1
  18. package/core/services/public-api.d.ts +1 -0
  19. package/core/services/time.service.d.ts +1 -0
  20. package/core/services/workspace-helper.service.d.ts +3 -1
  21. package/core/types/k8s/crd.d.ts +11 -5
  22. package/core/types/k8s/raw.d.ts +25 -38
  23. package/core/types/resource-definitions.d.ts +57 -71
  24. package/core/utils/common.d.ts +5 -13
  25. package/core/utils/disabled-state.d.ts +20 -0
  26. package/core/utils/public-api.d.ts +3 -0
  27. package/core/utils/router.d.ts +3 -0
  28. package/core/utils/version.d.ts +1 -1
  29. package/core/utils/workload.d.ts +66 -0
  30. package/editable/editable.component.d.ts +23 -0
  31. package/editable/editable.directive.d.ts +9 -0
  32. package/editable/editable.type.d.ts +5 -0
  33. package/editable/public-api.d.ts +2 -0
  34. package/esm2022/abnormal-page/abnormal-page.component.mjs +5 -4
  35. package/esm2022/abnormal-page/abnormal-page.module.mjs +2 -2
  36. package/esm2022/api/acp-common-api.service.mjs +3 -3
  37. package/esm2022/api/api-compatible.interceptor.mjs +1 -1
  38. package/esm2022/api/api-gateway.interceptor.mjs +3 -3
  39. package/esm2022/api/api-gateway.service.mjs +2 -2
  40. package/esm2022/api/cluster-version.service.mjs +3 -3
  41. package/esm2022/api/crypto.interceptor.mjs +4 -4
  42. package/esm2022/api/helpers.mjs +1 -1
  43. package/esm2022/api/k8s-api-resource.service.mjs +4 -4
  44. package/esm2022/api/k8s-api.service.mjs +6 -6
  45. package/esm2022/api/page-visibility.service.mjs +2 -2
  46. package/esm2022/api/platform-ui.service.mjs +2 -2
  47. package/esm2022/api/product.service.mjs +3 -3
  48. package/esm2022/api/project-api.service.mjs +3 -3
  49. package/esm2022/api/resource-update.service.mjs +3 -3
  50. package/esm2022/array-form-table/base-string-map-form.component.mjs +3 -3
  51. package/esm2022/array-form-table/form/component.mjs +104 -111
  52. package/esm2022/array-form-table/form/module.mjs +2 -2
  53. package/esm2022/array-form-table/key-value-form/component.mjs +53 -58
  54. package/esm2022/array-form-table/key-value-table/component.mjs +7 -7
  55. package/esm2022/array-form-table/string-array-form/component.mjs +48 -52
  56. package/esm2022/async-data/async-data-loader.mjs +1 -1
  57. package/esm2022/async-data/async-data.module.mjs +2 -2
  58. package/esm2022/async-data/error-page/component.mjs +21 -22
  59. package/esm2022/async-data/page-state/component.mjs +16 -15
  60. package/esm2022/authorization/app-init-url.mjs +1 -1
  61. package/esm2022/authorization/guard.service.mjs +5 -5
  62. package/esm2022/authorization/interceptor.service.mjs +10 -25
  63. package/esm2022/authorization/session-manage.service.mjs +5 -5
  64. package/esm2022/authorization/state.service.mjs +59 -93
  65. package/esm2022/authorization/storage-token.mjs +2 -2
  66. package/esm2022/business/module-info/api.service.mjs +3 -3
  67. package/esm2022/business/notification-disabled-container/component.mjs +14 -14
  68. package/esm2022/business/resource-select/base-list.mjs +3 -3
  69. package/esm2022/business/resource-select/context.service.mjs +3 -3
  70. package/esm2022/business/resource-select/exports/cluster-selector/component.mjs +22 -20
  71. package/esm2022/business/resource-select/exports/mesh-group-selector/component.mjs +22 -20
  72. package/esm2022/business/resource-select/exports/namespace-page/component.mjs +6 -5
  73. package/esm2022/business/resource-select/exports/namespace-selector/component.mjs +37 -35
  74. package/esm2022/business/resource-select/exports/project-page/component.mjs +6 -5
  75. package/esm2022/business/resource-select/exports/project-selector/component.mjs +23 -22
  76. package/esm2022/business/resource-select/helpers.directive.mjs +2 -2
  77. package/esm2022/business/resource-select/internals/cluster-list/component.mjs +7 -6
  78. package/esm2022/business/resource-select/internals/data-grid/component.mjs +173 -176
  79. package/esm2022/business/resource-select/internals/icon/component.mjs +3 -2
  80. package/esm2022/business/resource-select/internals/meshgroup-list/component.mjs +5 -4
  81. package/esm2022/business/resource-select/internals/namespace-list/component.mjs +145 -100
  82. package/esm2022/business/resource-select/internals/no-data/component.mjs +12 -14
  83. package/esm2022/business/resource-select/internals/project-list/component.mjs +5 -4
  84. package/esm2022/business/resource-select/internals/resource-dashboard/component.mjs +7 -6
  85. package/esm2022/business/resource-select/internals/selector-popup/component.mjs +6 -5
  86. package/esm2022/business/resource-select/internals/selector-popup/ref.mjs +1 -1
  87. package/esm2022/business/resource-select/internals/selector-popup/service.mjs +3 -3
  88. package/esm2022/business/resource-select/module.mjs +17 -14
  89. package/esm2022/business/resource-select/project.service.mjs +3 -3
  90. package/esm2022/business/resource-select/utils.mjs +1 -1
  91. package/esm2022/chart/chart.module.mjs +2 -2
  92. package/esm2022/chart/chart.service.mjs +4 -4
  93. package/esm2022/chart/common/axis/axis-label.component.mjs +4 -3
  94. package/esm2022/chart/common/axis/x-axis-ticks.component.mjs +27 -27
  95. package/esm2022/chart/common/axis/x-axis.component.mjs +6 -5
  96. package/esm2022/chart/common/axis/x-plot-lines.component.mjs +7 -6
  97. package/esm2022/chart/common/axis/y-axis-ticks.component.mjs +35 -35
  98. package/esm2022/chart/common/axis/y-axis.component.mjs +9 -8
  99. package/esm2022/chart/common/axis/y-plot-lines.component.mjs +6 -5
  100. package/esm2022/chart/common/chart/chart.component.mjs +41 -43
  101. package/esm2022/chart/common/legend/legend.component.mjs +62 -65
  102. package/esm2022/chart/common/range-area/range-area.component.mjs +13 -11
  103. package/esm2022/chart/common/reference-area/reference-area.component.mjs +4 -3
  104. package/esm2022/chart/common/series/area-series.component.mjs +15 -14
  105. package/esm2022/chart/common/series/bar-path.component.mjs +20 -21
  106. package/esm2022/chart/common/series/bar-series.component.mjs +8 -7
  107. package/esm2022/chart/common/series/line-series.component.mjs +7 -6
  108. package/esm2022/chart/common/series/series.component.mjs +3 -3
  109. package/esm2022/chart/common/tooltip/tooltip.component.mjs +73 -81
  110. package/esm2022/chart/custom-template/dropdown-legend.mjs +23 -25
  111. package/esm2022/chart/utils.mjs +1 -1
  112. package/esm2022/code/code-display-dialog/component.mjs +9 -8
  113. package/esm2022/code/code-editor-configs.mjs +2 -2
  114. package/esm2022/code/code.module.mjs +2 -2
  115. package/esm2022/code/k8s-yaml-display-dialog/component.mjs +9 -8
  116. package/esm2022/code/resource-yaml-display/component.mjs +21 -22
  117. package/esm2022/core/abstract/base-form-container.mjs +3 -3
  118. package/esm2022/core/abstract/base-nested-form-control.mjs +5 -5
  119. package/esm2022/core/components/tree/module.mjs +2 -2
  120. package/esm2022/core/components/tree/node/component.mjs +7 -6
  121. package/esm2022/core/components/tree/outlet.mjs +4 -4
  122. package/esm2022/core/components/tree/padding.mjs +6 -6
  123. package/esm2022/core/components/tree/toggle.mjs +9 -9
  124. package/esm2022/core/components/tree/tree/component.mjs +4 -3
  125. package/esm2022/core/constants/constants.mjs +4 -1
  126. package/esm2022/core/constants/patterns.mjs +15 -4
  127. package/esm2022/core/constants/status-icons.mjs +2 -1
  128. package/esm2022/core/constants/tokens.mjs +1 -1
  129. package/esm2022/core/directives/aui-code-editor.directive.mjs +3 -3
  130. package/esm2022/core/directives/click-outside.directive.mjs +4 -4
  131. package/esm2022/core/directives/declare.directive.mjs +2 -2
  132. package/esm2022/core/directives/disabled.directive.mjs +4 -4
  133. package/esm2022/core/directives/feature-gate.directive.mjs +4 -4
  134. package/esm2022/core/directives/intercept-deactivate.directive.mjs +4 -4
  135. package/esm2022/core/directives/last-form-item.directive.mjs +3 -3
  136. package/esm2022/core/directives/page-header-content.directive.mjs +3 -3
  137. package/esm2022/core/directives/readonly-field.directive.mjs +8 -7
  138. package/esm2022/core/directives/resize.directive.mjs +3 -3
  139. package/esm2022/core/directives/scroll-border-observer.directive.mjs +4 -4
  140. package/esm2022/core/directives/scroll-to-first-invalid.directive.mjs +5 -5
  141. package/esm2022/core/guards/feature.guard.mjs +4 -4
  142. package/esm2022/core/guards/intercept-deactivate.guard.mjs +3 -3
  143. package/esm2022/core/guards/leave-edit-page.guard.mjs +3 -3
  144. package/esm2022/core/guards/project-namespace.guard.mjs +5 -5
  145. package/esm2022/core/module.mjs +8 -13
  146. package/esm2022/core/pipes/calc.pipe.mjs +2 -2
  147. package/esm2022/core/pipes/cron-human-readable.pipe.mjs +2 -2
  148. package/esm2022/core/pipes/crontab-next.pipe.mjs +3 -3
  149. package/esm2022/core/pipes/duration.pipe.mjs +3 -3
  150. package/esm2022/core/pipes/field-not-available.pipe.mjs +2 -2
  151. package/esm2022/core/pipes/img-header.pipe.mjs +2 -2
  152. package/esm2022/core/pipes/img-theme.pipe.mjs +3 -3
  153. package/esm2022/core/pipes/k8s-util.pipe.mjs +24 -24
  154. package/esm2022/core/pipes/k8s-util.pipe.module.mjs +2 -2
  155. package/esm2022/core/pipes/keyvalue.pipe.mjs +3 -3
  156. package/esm2022/core/pipes/marked.pipe.mjs +2 -2
  157. package/esm2022/core/pipes/minimum-format.pipe.mjs +3 -3
  158. package/esm2022/core/pipes/page-env.pipe.mjs +5 -5
  159. package/esm2022/core/pipes/parse-json-translate.pipe.mjs +3 -3
  160. package/esm2022/core/pipes/parse-json.pipe.mjs +2 -2
  161. package/esm2022/core/pipes/pure.pipe.mjs +2 -2
  162. package/esm2022/core/pipes/pure.pipe.module.mjs +2 -2
  163. package/esm2022/core/pipes/safe.pipe.mjs +3 -3
  164. package/esm2022/core/pipes/sanitize.pipe.mjs +3 -3
  165. package/esm2022/core/pipes/time.pipe.mjs +11 -11
  166. package/esm2022/core/pipes/timezone-display.pipe.mjs +2 -2
  167. package/esm2022/core/services/aui-paginator-intl.service.mjs +3 -3
  168. package/esm2022/core/services/aui-tooltip-copy-intl.service.mjs +3 -3
  169. package/esm2022/core/services/context.service.mjs +10 -13
  170. package/esm2022/core/services/custom-code-editor-intl.service.mjs +3 -3
  171. package/esm2022/core/services/encode-url-param.interceptor.mjs +32 -0
  172. package/esm2022/core/services/feature-gate.service.mjs +3 -3
  173. package/esm2022/core/services/form-row-duplicate/form-row-duplicate.service.mjs +3 -3
  174. package/esm2022/core/services/intercept-deactivate.service.mjs +3 -3
  175. package/esm2022/core/services/k8s-util.service.mjs +3 -3
  176. package/esm2022/core/services/on-resize.service.mjs +5 -5
  177. package/esm2022/core/services/public-api.mjs +2 -1
  178. package/esm2022/core/services/silently-navigate.service.mjs +3 -3
  179. package/esm2022/core/services/time.service.mjs +4 -3
  180. package/esm2022/core/services/ui-state.service.mjs +2 -2
  181. package/esm2022/core/services/workspace-helper.service.mjs +8 -2
  182. package/esm2022/core/services/yaml-util.service.mjs +4 -4
  183. package/esm2022/core/types/k8s/crd.mjs +1 -1
  184. package/esm2022/core/types/k8s/raw.mjs +1 -1
  185. package/esm2022/core/types/resource-definitions.mjs +42 -65
  186. package/esm2022/core/utils/cache-store.mjs +1 -1
  187. package/esm2022/core/utils/common.mjs +3 -12
  188. package/esm2022/core/utils/create-recursive-filter.mjs +1 -1
  189. package/esm2022/core/utils/cron-util.mjs +1 -1
  190. package/esm2022/core/utils/decorators.mjs +1 -1
  191. package/esm2022/core/utils/disabled-state.mjs +47 -0
  192. package/esm2022/core/utils/format-number.mjs +1 -1
  193. package/esm2022/core/utils/k8s-util.mjs +1 -1
  194. package/esm2022/core/utils/observable.mjs +1 -1
  195. package/esm2022/core/utils/operators.mjs +1 -1
  196. package/esm2022/core/utils/public-api.mjs +4 -1
  197. package/esm2022/core/utils/request-pool.mjs +1 -1
  198. package/esm2022/core/utils/resources.mjs +1 -1
  199. package/esm2022/core/utils/router.mjs +20 -0
  200. package/esm2022/core/utils/sort-fn.mjs +1 -1
  201. package/esm2022/core/utils/tree.mjs +1 -1
  202. package/esm2022/core/utils/unit.mjs +1 -1
  203. package/esm2022/core/utils/version.mjs +1 -1
  204. package/esm2022/core/utils/workload.mjs +183 -0
  205. package/esm2022/core/utils/workspace.mjs +1 -1
  206. package/esm2022/core/utils/yaml.mjs +1 -1
  207. package/esm2022/custom-columns-setting/component.mjs +30 -23
  208. package/esm2022/disabled-container/disabled-container.component.mjs +4 -3
  209. package/esm2022/disabled-container/disabled-container.module.mjs +2 -2
  210. package/esm2022/editable/editable.component.mjs +136 -0
  211. package/esm2022/editable/editable.directive.mjs +25 -0
  212. package/esm2022/editable/editable.type.mjs +6 -0
  213. package/esm2022/editable/public-api.mjs +3 -0
  214. package/esm2022/editable-text/component.mjs +14 -12
  215. package/esm2022/editable-text/module.mjs +2 -2
  216. package/esm2022/effect-directive/coerce-number.directive.mjs +4 -4
  217. package/esm2022/effect-directive/e2e-attribute-binding.directive.mjs +3 -3
  218. package/esm2022/effect-directive/event.directive.mjs +3 -3
  219. package/esm2022/effect-directive/min-max.directive.mjs +3 -3
  220. package/esm2022/effect-directive/module.mjs +2 -2
  221. package/esm2022/effect-directive/trim.directive.mjs +3 -3
  222. package/esm2022/effect-directive/validators.directive.mjs +3 -3
  223. package/esm2022/exec/module.mjs +2 -2
  224. package/esm2022/exec/placeholder/component.mjs +4 -3
  225. package/esm2022/exec/service.mjs +3 -3
  226. package/esm2022/exec/terminal/component.mjs +87 -86
  227. package/esm2022/exec/terminal-group/component.mjs +42 -44
  228. package/esm2022/feature-gate-forbidden/component/component.mjs +9 -8
  229. package/esm2022/feature-gate-forbidden/module.mjs +2 -2
  230. package/esm2022/form/directives/value-trace.directive.mjs +4 -4
  231. package/esm2022/form/errors-mapper/base-errors-mapper.mjs +3 -3
  232. package/esm2022/form/errors-mapper/default-errors-mapper.service.mjs +3 -3
  233. package/esm2022/form/errors-mapper/errors-mapper-component/component.mjs +6 -5
  234. package/esm2022/form/errors-mapper/errors-mapper.directive.mjs +7 -6
  235. package/esm2022/form/errors-mapper/errors-mapper.module.mjs +2 -2
  236. package/esm2022/form/labels-editor/component.mjs +36 -36
  237. package/esm2022/form/taints-editor/component.mjs +42 -42
  238. package/esm2022/form/upload-file/component.mjs +9 -7
  239. package/esm2022/form/utils.mjs +1 -1
  240. package/esm2022/form/validators/async-function-validator.directive.mjs +4 -3
  241. package/esm2022/form/validators/dns1123-subdomain.mjs +1 -1
  242. package/esm2022/form/validators/function-validator.directive.mjs +4 -3
  243. package/esm2022/form/validators/maxlength-minlength-validator.directive.mjs +9 -7
  244. package/esm2022/form/validators/module.mjs +7 -8
  245. package/esm2022/form/validators/not-be-validator.directive.mjs +4 -3
  246. package/esm2022/form/validators/one-of-validator.directive.mjs +4 -3
  247. package/esm2022/form/validators/resource-limit.mjs +1 -1
  248. package/esm2022/form/validators/strong-password/strong-password-tooltip/component.mjs +30 -28
  249. package/esm2022/form/validators/strong-password/strong-password-validator.directive.mjs +3 -3
  250. package/esm2022/form/validators/strong-password/strong-password-validator.module.mjs +6 -7
  251. package/esm2022/form/validators/utils.mjs +1 -1
  252. package/esm2022/graph-canvas/components/graph-actions.component.mjs +3 -2
  253. package/esm2022/graph-canvas/components/graph-canvas.component.mjs +25 -23
  254. package/esm2022/graph-canvas/components/graph-link.component.mjs +12 -13
  255. package/esm2022/graph-canvas/components/graph-links.component.mjs +3 -2
  256. package/esm2022/graph-canvas/components/graph-node.directive.mjs +4 -4
  257. package/esm2022/graph-canvas/graph-canvas.module.mjs +2 -2
  258. package/esm2022/graph-canvas/graph-store.service.mjs +2 -2
  259. package/esm2022/grid-layout/components/grid/component.mjs +5 -4
  260. package/esm2022/grid-layout/components/grid-items/component.mjs +8 -7
  261. package/esm2022/grid-layout/directives/drag-handler.directive.mjs +3 -3
  262. package/esm2022/grid-layout/directives/placeholder.directive.mjs +3 -3
  263. package/esm2022/grid-layout/directives/remove-handler.directive.mjs +3 -3
  264. package/esm2022/grid-layout/directives/resize-handler.directive.mjs +3 -3
  265. package/esm2022/grid-layout/grid-layout.service.mjs +2 -2
  266. package/esm2022/grid-layout/grid-placeholder.service.mjs +3 -3
  267. package/esm2022/grid-layout/module.mjs +2 -2
  268. package/esm2022/grid-layout/utils/grid.utils.mjs +1 -1
  269. package/esm2022/grid-layout/utils/react-grid-layout.utils.mjs +1 -1
  270. package/esm2022/grid-layout/utils/scroll.utils.mjs +1 -1
  271. package/esm2022/help-document/component.mjs +18 -16
  272. package/esm2022/help-document/directive.mjs +4 -4
  273. package/esm2022/help-document/module.mjs +2 -2
  274. package/esm2022/help-document/service.mjs +4 -4
  275. package/esm2022/iframe-config/config.service.mjs +3 -3
  276. package/esm2022/k8s-resource-list/footer/component.mjs +103 -65
  277. package/esm2022/k8s-resource-list/k8s-resource-list.mjs +3 -6
  278. package/esm2022/k8s-resource-list/k8s-resource-list.module.mjs +19 -7
  279. package/esm2022/k8s-resource-list/k8s-resource-paged-list.mjs +1 -1
  280. package/esm2022/k8s-resource-list/utils.mjs +7 -3
  281. package/esm2022/k8s-shared/constants.mjs +53 -0
  282. package/esm2022/k8s-shared/k8s-resource-translate-key.pipe.mjs +30 -0
  283. package/esm2022/k8s-shared/k8s-shared-util.service.mjs +3 -3
  284. package/esm2022/k8s-shared/public-api.mjs +2 -1
  285. package/esm2022/k8s-shared/update-description-dialog/component.mjs +10 -9
  286. package/esm2022/k8s-shared/update-display-name-dialog/component.mjs +22 -20
  287. package/esm2022/k8s-shared/update-key-value-dialog/component.mjs +13 -11
  288. package/esm2022/lazy-component/lazy-load-component.mjs +25 -26
  289. package/esm2022/lazy-component/visibility.service.mjs +2 -2
  290. package/esm2022/license/license-api.mjs +3 -3
  291. package/esm2022/license/license-error/component.mjs +25 -25
  292. package/esm2022/license/license-error/module.mjs +2 -2
  293. package/esm2022/license/license.guard.mjs +4 -4
  294. package/esm2022/license/license.service.mjs +4 -4
  295. package/esm2022/list-display/component.mjs +39 -40
  296. package/esm2022/metric-chart/common-chart.service.mjs +3 -3
  297. package/esm2022/metric-chart/helpers.mjs +1 -1
  298. package/esm2022/metric-chart/metric-chart.component.mjs +6 -5
  299. package/esm2022/metric-chart/metric-chart.module.mjs +2 -2
  300. package/esm2022/metric-chart/metric-time-pick.mjs +20 -17
  301. package/esm2022/metric-chart/utils.mjs +1 -1
  302. package/esm2022/multi-search/action-input/component.mjs +180 -181
  303. package/esm2022/multi-search/form/component.mjs +26 -22
  304. package/esm2022/multi-search/multi-search-tags/component.mjs +33 -31
  305. package/esm2022/mutable/element.mjs +1 -1
  306. package/esm2022/mutable/mosaic/mosaic.component.mjs +6 -5
  307. package/esm2022/mutable/mosaic/mosaic.directive.mjs +3 -3
  308. package/esm2022/mutable/mutable.directive.mjs +4 -4
  309. package/esm2022/mutable/mutable.module.mjs +2 -2
  310. package/esm2022/notification/feedback-notification/component.mjs +22 -23
  311. package/esm2022/notification/notification-util.service.mjs +3 -3
  312. package/esm2022/notification/resource-error.interceptor.mjs +3 -3
  313. package/esm2022/overview-banner/overview-banner.component.mjs +3 -2
  314. package/esm2022/overview-banner/overview-banner.module.mjs +2 -2
  315. package/esm2022/page-guard/component/component.mjs +70 -78
  316. package/esm2022/page-guard/component/helper-directives.mjs +5 -5
  317. package/esm2022/page-guard/module.mjs +2 -2
  318. package/esm2022/page-scaffold/module.mjs +2 -2
  319. package/esm2022/page-scaffold/navigation/breadcrumb/breadcrumb-slot.directive.mjs +3 -3
  320. package/esm2022/page-scaffold/navigation/breadcrumb/breadcrumb.component.mjs +182 -91
  321. package/esm2022/page-scaffold/navigation/breadcrumb/breadcrumb.service.mjs +2 -2
  322. package/esm2022/page-scaffold/navigation/breadcrumb/module.mjs +2 -2
  323. package/esm2022/page-scaffold/navigation/lottie-icons/animation-data.mjs +1 -3
  324. package/esm2022/page-scaffold/navigation/lottie-icons/lottie-icon.directive.mjs +3 -3
  325. package/esm2022/page-scaffold/navigation/lottie-icons/module.mjs +2 -2
  326. package/esm2022/page-scaffold/navigation/lottie-icons/replace-lottie-colors.mjs +11 -11
  327. package/esm2022/page-scaffold/navigation/module.mjs +2 -2
  328. package/esm2022/page-scaffold/navigation/nav-menu/nav-item-li/nav-item-li.component.mjs +128 -99
  329. package/esm2022/page-scaffold/navigation/nav-menu/nav-item-ul/nav-item-ul.component.mjs +30 -32
  330. package/esm2022/page-scaffold/navigation/nav-menu/nav-menu.component.mjs +21 -19
  331. package/esm2022/page-scaffold/navigation/nav-menu/nav-menu.module.mjs +4 -4
  332. package/esm2022/page-scaffold/navigation/nav-menu/nav-menu.types.mjs +1 -1
  333. package/esm2022/page-scaffold/navigation/navconfig-loader/navconfig-loader.service.mjs +9 -8
  334. package/esm2022/page-scaffold/page/context.service.mjs +2 -2
  335. package/esm2022/page-scaffold/page/helper-directives.mjs +10 -10
  336. package/esm2022/page-scaffold/page/notices/maintenance.component.mjs +11 -11
  337. package/esm2022/page-scaffold/page/notices/notice.component.mjs +15 -15
  338. package/esm2022/page-scaffold/page/page.component.mjs +20 -20
  339. package/esm2022/page-scaffold/page/page.module.mjs +2 -2
  340. package/esm2022/page-scaffold/page-header/account-menu/component/component.mjs +40 -39
  341. package/esm2022/page-scaffold/page-header/account-menu/module.mjs +2 -2
  342. package/esm2022/page-scaffold/page-header/common-layout/common-layout.module.mjs +2 -2
  343. package/esm2022/page-scaffold/page-header/common-layout/context.service.mjs +4 -4
  344. package/esm2022/page-scaffold/page-header/common-layout/namespace-select/component.mjs +58 -59
  345. package/esm2022/page-scaffold/page-header/common-layout/product-select/component.mjs +68 -73
  346. package/esm2022/page-scaffold/page-header/common-layout/product-select/service.mjs +2 -2
  347. package/esm2022/page-scaffold/page-header/common-layout/project-select/base-selection.mjs +3 -3
  348. package/esm2022/page-scaffold/page-header/common-layout/store.service.mjs +3 -3
  349. package/esm2022/page-scaffold/page-header/component.mjs +24 -25
  350. package/esm2022/page-scaffold/page-header/enterprise-support-status/component.mjs +15 -14
  351. package/esm2022/page-scaffold/page-header/header-notify/component/header-notify.component.mjs +27 -27
  352. package/esm2022/page-scaffold/page-header/header-notify/component/notification-list/notification-list.component.mjs +22 -21
  353. package/esm2022/page-scaffold/page-header/header-notify/header-notify.module.mjs +2 -2
  354. package/esm2022/page-scaffold/page-header/header-notify/notify.service.mjs +5 -5
  355. package/esm2022/page-scaffold/page-header/help-menu/component/component.mjs +59 -62
  356. package/esm2022/page-scaffold/page-header/help-menu/module.mjs +2 -2
  357. package/esm2022/page-scaffold/page-header/module.mjs +2 -2
  358. package/esm2022/permission/helpers.mjs +1 -1
  359. package/esm2022/permission/k8s-permission.service.mjs +3 -3
  360. package/esm2022/permission/permission.guard.mjs +3 -3
  361. package/esm2022/pie-derivative-chart/donut-status/component.mjs +29 -28
  362. package/esm2022/pie-derivative-chart/indicator-color.directive.mjs +3 -3
  363. package/esm2022/pie-derivative-chart/numerical-limit.pipe.mjs +3 -3
  364. package/esm2022/pie-derivative-chart/pie-derivative-chart.module.mjs +7 -7
  365. package/esm2022/pie-derivative-chart/radial-bar/radial-bar-chart.component.mjs +84 -78
  366. package/esm2022/pie-derivative-chart/units.mjs +14 -0
  367. package/esm2022/pod-status/component.mjs +167 -0
  368. package/esm2022/pod-status/public-api.mjs +4 -0
  369. package/esm2022/pod-status/status.mjs +84 -0
  370. package/esm2022/pod-status/typings.mjs +19 -0
  371. package/esm2022/public-api.mjs +4 -1
  372. package/esm2022/searchable-selector/component.mjs +73 -75
  373. package/esm2022/searchable-selector/module.mjs +2 -2
  374. package/esm2022/skeleton/item/component.mjs +4 -3
  375. package/esm2022/skeleton/module.mjs +2 -2
  376. package/esm2022/skeleton/nav-skeleton/component.mjs +8 -7
  377. package/esm2022/table/component.mjs +275 -276
  378. package/esm2022/table/helper.mjs +1 -1
  379. package/esm2022/table/helpers.directive.mjs +3 -3
  380. package/esm2022/table/module.mjs +40 -31
  381. package/esm2022/table/util.service.mjs +4 -4
  382. package/esm2022/translate/helpers.mjs +1 -1
  383. package/esm2022/translate/i18n-config.mjs +3 -8
  384. package/esm2022/translate/translate.directive.mjs +9 -9
  385. package/esm2022/translate/translate.module.mjs +2 -2
  386. package/esm2022/translate/translate.pipe.mjs +3 -3
  387. package/esm2022/translate/translate.service.mjs +4 -4
  388. package/esm2022/view-chart/custom-template/dropdown-legend.mjs +24 -26
  389. package/esm2022/view-chart/legend/legend.component.mjs +66 -70
  390. package/esm2022/view-chart/view-chart.component.mjs +94 -105
  391. package/esm2022/view-chart/view-chart.module.mjs +2 -2
  392. package/esm2022/view-zchart/custom-template/dropdown-legend.mjs +24 -26
  393. package/esm2022/view-zchart/legend/legend.component.mjs +77 -82
  394. package/esm2022/view-zchart/units.mjs +1 -1
  395. package/esm2022/view-zchart/view-zchart.component.mjs +111 -120
  396. package/esm2022/view-zchart/view-zchart.module.mjs +2 -2
  397. package/esm2022/widget/card-section/card-section.component.mjs +13 -12
  398. package/esm2022/widget/confirm-delete/confirm-delete.component.mjs +45 -46
  399. package/esm2022/widget/current-time/component.mjs +4 -3
  400. package/esm2022/widget/date-range-picker/component.mjs +42 -40
  401. package/esm2022/widget/field-set/column/component.mjs +5 -3
  402. package/esm2022/widget/field-set/group/component.mjs +3 -2
  403. package/esm2022/widget/field-set/item/component.mjs +8 -7
  404. package/esm2022/widget/foldable-block/component.mjs +25 -24
  405. package/esm2022/widget/foldable-item-in-table/component.mjs +41 -42
  406. package/esm2022/widget/loading-mask/loading-mask.component.mjs +9 -9
  407. package/esm2022/widget/password-input/component.mjs +72 -71
  408. package/esm2022/widget/public-api.mjs +2 -1
  409. package/esm2022/widget/relative-time/component.mjs +4 -3
  410. package/esm2022/widget/resource-label/component.mjs +131 -0
  411. package/esm2022/widget/resource-multi-select/component.mjs +20 -19
  412. package/esm2022/widget/resource-multi-select/util.mjs +1 -1
  413. package/esm2022/widget/search-panel/component.mjs +3 -2
  414. package/esm2022/widget/search-panel/helper.directive.mjs +2 -2
  415. package/esm2022/widget/search-panel/search-item/component.mjs +3 -2
  416. package/esm2022/widget/select-prefix-label/directive.mjs +4 -4
  417. package/esm2022/widget/status-icon/status-icon.component.mjs +16 -15
  418. package/esm2022/widget/tags-label/component.mjs +61 -62
  419. package/esm2022/widget/terminating-tag/component.mjs +4 -3
  420. package/esm2022/widget/text-ellipsis/component.mjs +11 -11
  421. package/esm2022/widget/text-tooltip/directive.mjs +3 -3
  422. package/esm2022/widget/text-with-url/component.mjs +8 -8
  423. package/esm2022/widget/widget.module.mjs +2 -2
  424. package/esm2022/widget/zero-state/zero-state.component.mjs +45 -30
  425. package/esm2022/window-channel/base-window-channel.mjs +1 -1
  426. package/esm2022/window-channel/directives/host-link.directive.mjs +2 -2
  427. package/esm2022/window-channel/host-window-channel.service.mjs +3 -3
  428. package/esm2022/window-channel/plugin-window-channel.service.mjs +3 -3
  429. package/esm2022/workload-status-icon/component.mjs +72 -0
  430. package/esm2022/workload-status-icon/public-api.mjs +2 -0
  431. package/esm2022/xterm/xterm-terminal/xterm-terminal.component.mjs +68 -71
  432. package/esm2022/xterm/xterm-terminal/xterm-terminal.directive.mjs +3 -3
  433. package/esm2022/xterm/xterm.component.mjs +5 -4
  434. package/exec/terminal/component.d.ts +1 -4
  435. package/form/validators/async-function-validator.directive.d.ts +1 -1
  436. package/form/validators/function-validator.directive.d.ts +1 -1
  437. package/form/validators/maxlength-minlength-validator.directive.d.ts +2 -2
  438. package/form/validators/module.d.ts +8 -8
  439. package/form/validators/not-be-validator.directive.d.ts +1 -1
  440. package/form/validators/one-of-validator.directive.d.ts +1 -1
  441. package/form/validators/resource-limit.d.ts +1 -1
  442. package/form/validators/strong-password/strong-password-validator.module.d.ts +2 -2
  443. package/graph-canvas/components/graph-canvas.component.d.ts +2 -2
  444. package/k8s-resource-list/footer/component.d.ts +9 -1
  445. package/k8s-resource-list/k8s-resource-list.module.d.ts +1 -1
  446. package/k8s-resource-list/k8s-resource-paged-list.d.ts +2 -2
  447. package/k8s-shared/constants.d.ts +7 -0
  448. package/k8s-shared/k8s-resource-translate-key.pipe.d.ts +9 -0
  449. package/k8s-shared/public-api.d.ts +1 -0
  450. package/license/license-api.d.ts +1 -1
  451. package/license/license-error/component.d.ts +1 -1
  452. package/metric-chart/helpers.d.ts +1 -1
  453. package/package.json +2 -1
  454. package/page-guard/component/component.d.ts +1 -1
  455. package/page-scaffold/navigation/breadcrumb/breadcrumb.component.d.ts +2 -0
  456. package/page-scaffold/navigation/nav-menu/nav-item-li/nav-item-li.component.d.ts +1 -0
  457. package/page-scaffold/navigation/nav-menu/nav-menu.types.d.ts +8 -1
  458. package/page-scaffold/navigation/navconfig-loader/navconfig-loader.service.d.ts +2 -1
  459. package/page-scaffold/page-header/common-layout/product-select/component.d.ts +1 -3
  460. package/page-scaffold/page-header/header-notify/utils.d.ts +3 -3
  461. package/pie-derivative-chart/radial-bar/radial-bar-chart.component.d.ts +4 -0
  462. package/pie-derivative-chart/units.d.ts +2 -0
  463. package/pod-status/component.d.ts +27 -0
  464. package/pod-status/public-api.d.ts +3 -0
  465. package/pod-status/status.d.ts +4 -0
  466. package/pod-status/typings.d.ts +16 -0
  467. package/public-api.d.ts +3 -0
  468. package/styles/ansi-color.scss +131 -0
  469. package/styles/global.scss +4 -1
  470. package/styles/tailwind-preset.scss +1 -1
  471. package/table/component.d.ts +6 -4
  472. package/table/helper.d.ts +1 -1
  473. package/table/module.d.ts +23 -7
  474. package/widget/public-api.d.ts +1 -0
  475. package/widget/resource-label/component.d.ts +25 -0
  476. package/widget/zero-state/zero-state.component.d.ts +5 -2
  477. package/workload-status-icon/component.d.ts +36 -0
  478. package/workload-status-icon/public-api.d.ts +1 -0
  479. package/a-chart/a-chart.module.d.ts +0 -16
  480. package/a-chart/base-chart.d.ts +0 -24
  481. package/a-chart/chart-status.component.d.ts +0 -15
  482. package/a-chart/chart.component.d.ts +0 -56
  483. package/a-chart/components/base-component.d.ts +0 -12
  484. package/a-chart/components/legend/base-legend.component.d.ts +0 -31
  485. package/a-chart/components/legend/dropdown-legend.d.ts +0 -17
  486. package/a-chart/components/legend/legend.component.d.ts +0 -17
  487. package/a-chart/components/legend/public-api.d.ts +0 -3
  488. package/a-chart/components/public-api.d.ts +0 -3
  489. package/a-chart/components/title.component.d.ts +0 -17
  490. package/a-chart/constant.d.ts +0 -6
  491. package/a-chart/public-api.d.ts +0 -12
  492. package/a-chart/types.d.ts +0 -38
  493. package/a-chart/utils.d.ts +0 -13
  494. package/a-metric-chart/a-metric-chart.component.d.ts +0 -154
  495. package/a-metric-chart/a-metric-chart.module.d.ts +0 -16
  496. package/a-metric-chart/bar-gauge/bar-gauge.component.d.ts +0 -25
  497. package/a-metric-chart/base-chart.component.d.ts +0 -14
  498. package/a-metric-chart/metric-chart-refresh.service.d.ts +0 -8
  499. package/a-metric-chart/public-api.d.ts +0 -14
  500. package/a-metric-chart/stat-chart/stat-chart.component.d.ts +0 -11
  501. package/a-metric-chart/table-chart/table-chart.component.d.ts +0 -29
  502. package/a-metric-chart/types.d.ts +0 -130
  503. package/a-metric-chart/utils/public-api.d.ts +0 -3
  504. package/a-metric-chart/utils/range.d.ts +0 -1
  505. package/a-metric-chart/utils/unit.d.ts +0 -48
  506. package/a-metric-chart/utils/util.d.ts +0 -45
  507. package/api/monitor-api.service.d.ts +0 -104
  508. package/esm2022/a-chart/a-chart.module.mjs +0 -76
  509. package/esm2022/a-chart/base-chart.mjs +0 -98
  510. package/esm2022/a-chart/chart-status.component.mjs +0 -195
  511. package/esm2022/a-chart/chart.component.mjs +0 -307
  512. package/esm2022/a-chart/components/base-component.mjs +0 -23
  513. package/esm2022/a-chart/components/legend/base-legend.component.mjs +0 -111
  514. package/esm2022/a-chart/components/legend/dropdown-legend.mjs +0 -199
  515. package/esm2022/a-chart/components/legend/legend.component.mjs +0 -102
  516. package/esm2022/a-chart/components/legend/public-api.mjs +0 -4
  517. package/esm2022/a-chart/components/public-api.mjs +0 -4
  518. package/esm2022/a-chart/components/title.component.mjs +0 -99
  519. package/esm2022/a-chart/constant.mjs +0 -24
  520. package/esm2022/a-chart/public-api.mjs +0 -13
  521. package/esm2022/a-chart/types.mjs +0 -7
  522. package/esm2022/a-chart/utils.mjs +0 -37
  523. package/esm2022/a-metric-chart/a-metric-chart.component.mjs +0 -937
  524. package/esm2022/a-metric-chart/a-metric-chart.module.mjs +0 -74
  525. package/esm2022/a-metric-chart/bar-gauge/bar-gauge.component.mjs +0 -166
  526. package/esm2022/a-metric-chart/base-chart.component.mjs +0 -30
  527. package/esm2022/a-metric-chart/metric-chart-refresh.service.mjs +0 -18
  528. package/esm2022/a-metric-chart/public-api.mjs +0 -15
  529. package/esm2022/a-metric-chart/stat-chart/stat-chart.component.mjs +0 -122
  530. package/esm2022/a-metric-chart/table-chart/table-chart.component.mjs +0 -201
  531. package/esm2022/a-metric-chart/types.mjs +0 -26
  532. package/esm2022/a-metric-chart/utils/public-api.mjs +0 -4
  533. package/esm2022/a-metric-chart/utils/range.mjs +0 -35
  534. package/esm2022/a-metric-chart/utils/unit.mjs +0 -83
  535. package/esm2022/a-metric-chart/utils/util.mjs +0 -243
  536. package/esm2022/api/monitor-api.service.mjs +0 -158
  537. package/esm2022/notification/notification-util.module.mjs +0 -32
  538. package/esm2022/page-scaffold/navigation/lottie-icons/animations/dashboard.json +0 -1
  539. package/notification/notification-util.module.d.ts +0 -10
@@ -1,53 +1,58 @@
1
1
  import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, } from '@angular/core';
2
2
  import { arc } from 'd3';
3
+ import { NumericalLimitPipe } from '../numerical-limit.pipe';
4
+ import { measureText } from '../units';
3
5
  import * as i0 from "@angular/core";
6
+ import * as i1 from "../numerical-limit.pipe";
7
+ const _c0 = (a0, a1) => ({ index: a0, arc: a1 });
4
8
  function RadialBarChartComponent__svg_g_2__svg_text_3_Template(rf, ctx) { if (rf & 1) {
5
9
  i0.ɵɵnamespaceSVG();
6
10
  i0.ɵɵelementStart(0, "text", 9);
7
- i0.ɵɵtext(1);
8
- i0.ɵɵpipe(2, "translate");
9
- i0.ɵɵpipe(3, "aclFieldNotAvailable");
11
+ i0.ɵɵpipe(1, "pure");
12
+ i0.ɵɵtext(2);
13
+ i0.ɵɵpipe(3, "translate");
10
14
  i0.ɵɵpipe(4, "aclNumericalLimit");
15
+ i0.ɵɵpipe(5, "aclFieldNotAvailable");
11
16
  i0.ɵɵelementEnd();
12
17
  } if (rf & 2) {
13
- const label_r7 = ctx.$implicit;
14
- const labelIndex_r8 = ctx.index;
15
- const arc_r4 = i0.ɵɵnextContext().$implicit;
16
- i0.ɵɵproperty("indicator", labelIndex_r8 || (arc_r4 == null ? null : arc_r4.hideIndicator) ? 0 : label_r7);
17
- i0.ɵɵattribute("dx", arc_r4.labelCoord.dx - 50 * labelIndex_r8)("dy", arc_r4.labelCoord.dy);
18
- i0.ɵɵadvance(1);
19
- i0.ɵɵtextInterpolate2(" ", labelIndex_r8 ? i0.ɵɵpipeBind1(2, 5, label_r7) : i0.ɵɵpipeBind1(3, 7, i0.ɵɵpipeBind1(4, 9, +label_r7)), "", labelIndex_r8 ? "" : "%", " ");
18
+ const label_r1 = ctx.$implicit;
19
+ const labelIndex_r2 = ctx.index;
20
+ const arc_r3 = i0.ɵɵnextContext().$implicit;
21
+ const ctx_r3 = i0.ɵɵnextContext();
22
+ i0.ɵɵproperty("indicator", labelIndex_r2 || (arc_r3 == null ? null : arc_r3.hideIndicator) ? 0 : label_r1);
23
+ i0.ɵɵattribute("dx", i0.ɵɵpipeBind4(1, 5, arc_r3.labelCoord.dx, ctx_r3.getLabelDx, arc_r3.labels[labelIndex_r2 ? labelIndex_r2 - 1 : labelIndex_r2], labelIndex_r2))("dy", arc_r3.labelCoord.dy);
24
+ i0.ɵɵadvance(2);
25
+ i0.ɵɵtextInterpolate2(" ", labelIndex_r2 ? i0.ɵɵpipeBind1(3, 10, label_r1) : i0.ɵɵpipeBind1(5, 14, i0.ɵɵpipeBind1(4, 12, +label_r1)), "", labelIndex_r2 ? "" : "%", " ");
20
26
  } }
21
- const _c0 = function (a0, a1) { return { index: a0, arc: a1 }; };
22
27
  function RadialBarChartComponent__svg_g_2_Template(rf, ctx) { if (rf & 1) {
23
28
  i0.ɵɵnamespaceSVG();
24
29
  i0.ɵɵelementStart(0, "g");
25
30
  i0.ɵɵelement(1, "path", 6)(2, "path", 7);
26
- i0.ɵɵtemplate(3, RadialBarChartComponent__svg_g_2__svg_text_3_Template, 5, 11, "text", 8);
31
+ i0.ɵɵtemplate(3, RadialBarChartComponent__svg_g_2__svg_text_3_Template, 6, 16, "text", 8);
27
32
  i0.ɵɵelementEnd();
28
33
  } if (rf & 2) {
29
- const arc_r4 = ctx.$implicit;
34
+ const arc_r3 = ctx.$implicit;
30
35
  const i_r5 = ctx.index;
31
36
  i0.ɵɵnextContext();
32
- const _r2 = i0.ɵɵreference(13);
33
- i0.ɵɵadvance(1);
34
- i0.ɵɵproperty("auiTooltip", _r2)("auiTooltipContext", i0.ɵɵpureFunction2(12, _c0, i_r5, arc_r4));
35
- i0.ɵɵattribute("d", arc_r4.backgroundArcPath);
36
- i0.ɵɵadvance(1);
37
- i0.ɵɵstyleProp("color", arc_r4.color)("opacity", arc_r4.fractionArcOpacity);
38
- i0.ɵɵproperty("auiTooltip", _r2)("auiTooltipContext", i0.ɵɵpureFunction2(15, _c0, i_r5, arc_r4));
39
- i0.ɵɵattribute("fill", arc_r4.color)("d", arc_r4.fractionArcPath);
40
- i0.ɵɵadvance(1);
41
- i0.ɵɵproperty("ngForOf", arc_r4.labels);
37
+ const tooltipTemplate_r6 = i0.ɵɵreference(13);
38
+ i0.ɵɵadvance();
39
+ i0.ɵɵproperty("auiTooltip", tooltipTemplate_r6)("auiTooltipContext", i0.ɵɵpureFunction2(12, _c0, i_r5, arc_r3));
40
+ i0.ɵɵattribute("d", arc_r3.backgroundArcPath);
41
+ i0.ɵɵadvance();
42
+ i0.ɵɵstyleProp("color", arc_r3.color)("opacity", arc_r3.fractionArcOpacity);
43
+ i0.ɵɵproperty("auiTooltip", tooltipTemplate_r6)("auiTooltipContext", i0.ɵɵpureFunction2(15, _c0, i_r5, arc_r3));
44
+ i0.ɵɵattribute("fill", arc_r3.color)("d", arc_r3.fractionArcPath);
45
+ i0.ɵɵadvance();
46
+ i0.ɵɵproperty("ngForOf", arc_r3.labels);
42
47
  } }
43
48
  function RadialBarChartComponent_div_11_div_1_Template(rf, ctx) { if (rf & 1) {
44
- const _r13 = i0.ɵɵgetCurrentView();
49
+ const _r7 = i0.ɵɵgetCurrentView();
45
50
  i0.ɵɵelementStart(0, "div", 13);
46
51
  i0.ɵɵelement(1, "aui-icon", 14);
47
52
  i0.ɵɵtext(2);
48
53
  i0.ɵɵpipe(3, "translate");
49
54
  i0.ɵɵelementStart(4, "button", 15);
50
- i0.ɵɵlistener("click", function RadialBarChartComponent_div_11_div_1_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r13); const ctx_r12 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r12.onRefresh()); });
55
+ i0.ɵɵlistener("click", function RadialBarChartComponent_div_11_div_1_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r7); const ctx_r3 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r3.onRefresh()); });
51
56
  i0.ɵɵtext(5);
52
57
  i0.ɵɵpipe(6, "translate");
53
58
  i0.ɵɵelementEnd()();
@@ -68,41 +73,52 @@ function RadialBarChartComponent_div_11_div_2_Template(rf, ctx) { if (rf & 1) {
68
73
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 1, "loading"), " ");
69
74
  } }
70
75
  function RadialBarChartComponent_div_11_Template(rf, ctx) { if (rf & 1) {
71
- i0.ɵɵnamespaceSVG();
72
- i0.ɵɵnamespaceHTML();
73
76
  i0.ɵɵelementStart(0, "div", 10);
74
- i0.ɵɵtemplate(1, RadialBarChartComponent_div_11_div_1_Template, 7, 6, "div", 11);
75
- i0.ɵɵtemplate(2, RadialBarChartComponent_div_11_div_2_Template, 4, 3, "div", 12);
77
+ i0.ɵɵtemplate(1, RadialBarChartComponent_div_11_div_1_Template, 7, 6, "div", 11)(2, RadialBarChartComponent_div_11_div_2_Template, 4, 3, "div", 12);
76
78
  i0.ɵɵelementEnd();
77
79
  } if (rf & 2) {
78
- const ctx_r1 = i0.ɵɵnextContext();
79
- i0.ɵɵadvance(1);
80
- i0.ɵɵproperty("ngIf", ctx_r1.failed && !ctx_r1.loading);
81
- i0.ɵɵadvance(1);
82
- i0.ɵɵproperty("ngIf", ctx_r1.loading);
80
+ const ctx_r3 = i0.ɵɵnextContext();
81
+ i0.ɵɵadvance();
82
+ i0.ɵɵproperty("ngIf", ctx_r3.failed && !ctx_r3.loading);
83
+ i0.ɵɵadvance();
84
+ i0.ɵɵproperty("ngIf", ctx_r3.loading);
83
85
  } }
84
86
  function RadialBarChartComponent_ng_template_12_Template(rf, ctx) { if (rf & 1) {
85
- i0.ɵɵnamespaceSVG();
86
- i0.ɵɵnamespaceHTML();
87
87
  i0.ɵɵelement(0, "i", 18);
88
88
  i0.ɵɵtext(1);
89
89
  i0.ɵɵpipe(2, "translate");
90
- i0.ɵɵpipe(3, "aclFieldNotAvailable");
91
- i0.ɵɵpipe(4, "aclNumericalLimit");
92
- i0.ɵɵpipe(5, "aclFieldNotAvailable");
93
- i0.ɵɵpipe(6, "aclNumericalLimit");
90
+ i0.ɵɵpipe(3, "aclNumericalLimit");
91
+ i0.ɵɵpipe(4, "aclFieldNotAvailable");
92
+ i0.ɵɵpipe(5, "aclNumericalLimit");
93
+ i0.ɵɵpipe(6, "aclFieldNotAvailable");
94
94
  i0.ɵɵpipe(7, "translate");
95
95
  } if (rf & 2) {
96
- const arc_r15 = ctx.arc;
96
+ const arc_r8 = ctx.arc;
97
97
  const ctx_r3 = i0.ɵɵnextContext();
98
- i0.ɵɵstyleProp("background", arc_r15.color);
99
- i0.ɵɵadvance(1);
100
- i0.ɵɵtextInterpolate4(" ", i0.ɵɵpipeBind1(2, 6, arc_r15.labels[1]), ": ", i0.ɵɵpipeBind1(3, 8, i0.ɵɵpipeBind1(4, 10, +arc_r15.labels[0])), "% (", i0.ɵɵpipeBind1(5, 12, i0.ɵɵpipeBind1(6, 14, +arc_r15.value)), " ", i0.ɵɵpipeBind1(7, 16, ctx_r3.unit), ")\n");
98
+ i0.ɵɵstyleProp("background", arc_r8.color);
99
+ i0.ɵɵadvance();
100
+ i0.ɵɵtextInterpolate4(" ", i0.ɵɵpipeBind1(2, 6, arc_r8.labels[1]), ": ", i0.ɵɵpipeBind1(4, 10, i0.ɵɵpipeBind1(3, 8, +arc_r8.labels[0])), "% (", i0.ɵɵpipeBind1(6, 14, i0.ɵɵpipeBind1(5, 12, +arc_r8.value)), " ", i0.ɵɵpipeBind1(7, 16, ctx_r3.unit), ")\n");
101
101
  } }
102
- const MAX_VALUE = 999999;
102
+ const MAX_VALUE = 999_999;
103
103
  const DECIMAL_MAX_VALUE = 999.99;
104
104
  export class RadialBarChartComponent {
105
- constructor() {
105
+ ngOnChanges() {
106
+ this.arcs = this.getArcs();
107
+ }
108
+ get transform() {
109
+ return `translate(${(this.size + this.offset) / 2}, ${this.size / 2})`;
110
+ }
111
+ get outerRadius() {
112
+ return this.size / 2 - this.margin;
113
+ }
114
+ get innerRadius() {
115
+ return this.outerRadius - this.pieSize;
116
+ }
117
+ arcTrackByFn(index) {
118
+ return index;
119
+ }
120
+ constructor(numericalLimitPipe) {
121
+ this.numericalLimitPipe = numericalLimitPipe;
106
122
  this.refresh = new EventEmitter();
107
123
  this.size = 160;
108
124
  this.offset = 120;
@@ -125,21 +141,11 @@ export class RadialBarChartComponent {
125
141
  hideIndicator,
126
142
  };
127
143
  };
128
- }
129
- ngOnChanges() {
130
- this.arcs = this.getArcs();
131
- }
132
- get transform() {
133
- return `translate(${(this.size + this.offset) / 2}, ${this.size / 2})`;
134
- }
135
- get outerRadius() {
136
- return this.size / 2 - this.margin;
137
- }
138
- get innerRadius() {
139
- return this.outerRadius - this.pieSize;
140
- }
141
- arcTrackByFn(index) {
142
- return index;
144
+ this.getLabelDx = (x, text, index) => {
145
+ return index
146
+ ? x - (measureText(this.numericalLimitPipe.transform(+text)).width + 20)
147
+ : x;
148
+ };
143
149
  }
144
150
  getArcs() {
145
151
  let arcs = [];
@@ -183,42 +189,41 @@ export class RadialBarChartComponent {
183
189
  dy: -(this.outerRadius - shrink - 5),
184
190
  };
185
191
  }
186
- static { this.ɵfac = function RadialBarChartComponent_Factory(t) { return new (t || RadialBarChartComponent)(); }; }
187
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: RadialBarChartComponent, selectors: [["acl-radial-bar-chart"]], inputs: { limitsFraction: "limitsFraction", requestsFraction: "requestsFraction", capacity: "capacity", data: "data", unit: "unit", color: "color", usage: "usage", request: "request", loading: "loading", failed: "failed" }, outputs: { refresh: "refresh" }, features: [i0.ɵɵNgOnChangesFeature], decls: 14, vars: 16, consts: [[4, "ngFor", "ngForOf", "ngForTrackBy"], ["dy", "-5", 1, "center-text"], ["text-anchor", "middle", 1, "center-text__main"], ["text-anchor", "middle", "dy", "20", 1, "center-text__sub"], ["class", "status-container", 4, "ngIf"], ["tooltipTemplate", ""], [1, "full-arc-path", 3, "auiTooltip", "auiTooltipContext"], ["nodeName", "", 1, "fraction-arc-path", 3, "auiTooltip", "auiTooltipContext"], ["class", "fraction-label-text", "text-anchor", "end", "aclIndicatorColor", "", 3, "indicator", 4, "ngFor", "ngForOf"], ["text-anchor", "end", "aclIndicatorColor", "", 1, "fraction-label-text", 3, "indicator"], [1, "status-container"], ["class", "status failed", 4, "ngIf"], ["class", "status loading", 4, "ngIf"], [1, "status", "failed"], ["icon", "exclamation_triangle_s", "background", "triangle"], ["aui-button", "text", 3, "click"], [1, "status", "loading"], ["icon", "spinner"], [1, "dot"]], template: function RadialBarChartComponent_Template(rf, ctx) { if (rf & 1) {
192
+ static { this.ɵfac = function RadialBarChartComponent_Factory(t) { return new (t || RadialBarChartComponent)(i0.ɵɵdirectiveInject(i1.NumericalLimitPipe)); }; }
193
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: RadialBarChartComponent, selectors: [["acl-radial-bar-chart"]], inputs: { limitsFraction: "limitsFraction", requestsFraction: "requestsFraction", capacity: "capacity", data: "data", unit: "unit", color: "color", usage: "usage", request: "request", loading: "loading", failed: "failed" }, outputs: { refresh: "refresh" }, features: [i0.ɵɵProvidersFeature([NumericalLimitPipe]), i0.ɵɵNgOnChangesFeature], decls: 14, vars: 16, consts: [["tooltipTemplate", ""], [4, "ngFor", "ngForOf", "ngForTrackBy"], ["dy", "-5", 1, "center-text"], ["text-anchor", "middle", 1, "center-text__main"], ["text-anchor", "middle", "dy", "20", 1, "center-text__sub"], ["class", "status-container", 4, "ngIf"], [1, "full-arc-path", 3, "auiTooltip", "auiTooltipContext"], ["nodeName", "", 1, "fraction-arc-path", 3, "auiTooltip", "auiTooltipContext"], ["class", "fraction-label-text", "text-anchor", "end", "aclIndicatorColor", "", 3, "indicator", 4, "ngFor", "ngForOf"], ["text-anchor", "end", "aclIndicatorColor", "", 1, "fraction-label-text", 3, "indicator"], [1, "status-container"], ["class", "status failed", 4, "ngIf"], ["class", "status loading", 4, "ngIf"], [1, "status", "failed"], ["icon", "exclamation_triangle_s", "background", "triangle"], ["aui-button", "text", 3, "click"], [1, "status", "loading"], ["icon", "spinner"], [1, "dot"]], template: function RadialBarChartComponent_Template(rf, ctx) { if (rf & 1) {
188
194
  i0.ɵɵnamespaceSVG();
189
195
  i0.ɵɵelementStart(0, "svg")(1, "g");
190
- i0.ɵɵtemplate(2, RadialBarChartComponent__svg_g_2_Template, 4, 18, "g", 0);
191
- i0.ɵɵelementStart(3, "g", 1)(4, "text", 2);
196
+ i0.ɵɵtemplate(2, RadialBarChartComponent__svg_g_2_Template, 4, 18, "g", 1);
197
+ i0.ɵɵelementStart(3, "g", 2)(4, "text", 3);
192
198
  i0.ɵɵtext(5);
193
- i0.ɵɵpipe(6, "aclFieldNotAvailable");
194
- i0.ɵɵpipe(7, "aclNumericalLimit");
199
+ i0.ɵɵpipe(6, "aclNumericalLimit");
200
+ i0.ɵɵpipe(7, "aclFieldNotAvailable");
195
201
  i0.ɵɵelementEnd();
196
- i0.ɵɵelementStart(8, "text", 3);
202
+ i0.ɵɵelementStart(8, "text", 4);
197
203
  i0.ɵɵtext(9);
198
204
  i0.ɵɵpipe(10, "translate");
199
205
  i0.ɵɵelementEnd()()()();
200
- i0.ɵɵtemplate(11, RadialBarChartComponent_div_11_Template, 3, 2, "div", 4);
201
- i0.ɵɵtemplate(12, RadialBarChartComponent_ng_template_12_Template, 8, 18, "ng-template", null, 5, i0.ɵɵtemplateRefExtractor);
206
+ i0.ɵɵtemplate(11, RadialBarChartComponent_div_11_Template, 3, 2, "div", 5)(12, RadialBarChartComponent_ng_template_12_Template, 8, 18, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
202
207
  } if (rf & 2) {
203
208
  i0.ɵɵattribute("width", ctx.size + ctx.offset)("height", ctx.size);
204
- i0.ɵɵadvance(1);
209
+ i0.ɵɵadvance();
205
210
  i0.ɵɵattribute("transform", ctx.transform);
206
- i0.ɵɵadvance(1);
211
+ i0.ɵɵadvance();
207
212
  i0.ɵɵproperty("ngForOf", ctx.arcs)("ngForTrackBy", ctx.arcTrackByFn);
208
213
  i0.ɵɵadvance(2);
209
214
  i0.ɵɵstyleProp("font-size", ctx.capacity > 9999 || (ctx.arcs == null ? null : ctx.arcs.length) > 2 ? "16px" : "24px");
210
- i0.ɵɵadvance(1);
211
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(6, 10, i0.ɵɵpipeBind1(7, 12, +ctx.capacity)), " ");
215
+ i0.ɵɵadvance();
216
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(7, 12, i0.ɵɵpipeBind1(6, 10, +ctx.capacity)), " ");
212
217
  i0.ɵɵadvance(4);
213
218
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(10, 14, "total_number"), " ");
214
219
  i0.ɵɵadvance(2);
215
220
  i0.ɵɵproperty("ngIf", ctx.loading || ctx.failed);
216
221
  } }, styles: ["[_nghost-%COMP%]{position:relative}text[_ngcontent-%COMP%]{dominant-baseline:middle}.center-text__main[_ngcontent-%COMP%]{font-size:24px;font-weight:500;fill:rgb(var(--aui-color-main-text))}.center-text__sub[_ngcontent-%COMP%]{font-size:12px;fill:rgb(var(--aui-color-secondary-text))}.full-arc-path[_ngcontent-%COMP%]{fill:rgb(var(--aui-color-n-8))}.fraction-arc-path[_ngcontent-%COMP%]{cursor:pointer}.fraction-arc-path[_ngcontent-%COMP%]:hover{stroke:currentcolor;stroke-width:2px}.fraction-label-text[_ngcontent-%COMP%]{font-size:12px;fill:rgb(var(--aui-color-secondary-text))}.total-text[_ngcontent-%COMP%]{font-size:20px;font-weight:500}.dot[_ngcontent-%COMP%]{width:6px;height:6px;display:inline-block;border-radius:50%;margin-right:5px}.status-container[_ngcontent-%COMP%]{left:50%;position:absolute;top:50%;white-space:nowrap;transform:translate(-50%,-50%)}.status[_ngcontent-%COMP%]{padding:6px 16px;display:flex;align-items:center;justify-content:center;background-color:rgb(var(--aui-color-n-8));color:rgb(var(--aui-color-n-4));border-radius:2px}.status[_ngcontent-%COMP%] aui-icon[_ngcontent-%COMP%]{font-size:14px;margin-right:4px}.loading[_ngcontent-%COMP%] aui-icon[_ngcontent-%COMP%]{color:rgb(var(--aui-color-primary))}.failed[_ngcontent-%COMP%] aui-icon[_ngcontent-%COMP%]{color:rgb(var(--aui-color-red))}.hide[_ngcontent-%COMP%]{display:none}"], changeDetection: 0 }); }
217
222
  }
218
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(RadialBarChartComponent, [{
223
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(RadialBarChartComponent, [{
219
224
  type: Component,
220
- args: [{ selector: 'acl-radial-bar-chart', changeDetection: ChangeDetectionStrategy.OnPush, template: "<svg\n [attr.width]=\"size + offset\"\n [attr.height]=\"size\"\n>\n <svg:g [attr.transform]=\"transform\">\n <svg:g *ngFor=\"let arc of arcs; trackBy: arcTrackByFn; index as i\">\n <svg:path\n class=\"full-arc-path\"\n [auiTooltip]=\"tooltipTemplate\"\n [auiTooltipContext]=\"{ index: i, arc: arc }\"\n [attr.d]=\"arc.backgroundArcPath\"\n ></svg:path>\n <svg:path\n [style.color]=\"arc.color\"\n [auiTooltip]=\"tooltipTemplate\"\n [auiTooltipContext]=\"{ index: i, arc: arc }\"\n class=\"fraction-arc-path\"\n [attr.fill]=\"arc.color\"\n [style.opacity]=\"arc.fractionArcOpacity\"\n [attr.d]=\"arc.fractionArcPath\"\n nodeName\n ></svg:path>\n <svg:text\n *ngFor=\"let label of arc.labels; index as labelIndex\"\n class=\"fraction-label-text\"\n [attr.dx]=\"arc.labelCoord.dx - 50 * labelIndex\"\n [attr.dy]=\"arc.labelCoord.dy\"\n text-anchor=\"end\"\n aclIndicatorColor\n [indicator]=\"labelIndex || arc?.hideIndicator ? 0 : label\"\n >\n {{\n labelIndex\n ? (label | translate)\n : (+label | aclNumericalLimit | aclFieldNotAvailable)\n }}{{ labelIndex ? '' : '%' }}\n </svg:text>\n </svg:g>\n\n <svg:g\n class=\"center-text\"\n dy=\"-5\"\n >\n <svg:text\n [style.font-size]=\"\n capacity > 9999 || arcs?.length > 2 ? '16px' : '24px'\n \"\n text-anchor=\"middle\"\n class=\"center-text__main\"\n >\n {{ +capacity | aclNumericalLimit | aclFieldNotAvailable }}\n </svg:text>\n <svg:text\n text-anchor=\"middle\"\n dy=\"20\"\n class=\"center-text__sub\"\n >\n {{ 'total_number' | translate }}\n </svg:text>\n </svg:g>\n </svg:g>\n</svg>\n\n<div\n class=\"status-container\"\n *ngIf=\"loading || failed\"\n>\n <div\n *ngIf=\"failed && !loading\"\n class=\"status failed\"\n >\n <aui-icon\n icon=\"exclamation_triangle_s\"\n background=\"triangle\"\n ></aui-icon>\n {{ 'failed_load_please' | translate }}\n <button\n aui-button=\"text\"\n (click)=\"onRefresh()\"\n >\n {{ 'refresh' | translate }}\n </button>\n </div>\n <div\n *ngIf=\"loading\"\n class=\"status loading\"\n >\n <aui-icon icon=\"spinner\"></aui-icon> {{ 'loading' | translate }}\n </div>\n</div>\n\n<ng-template\n #tooltipTemplate\n let-index=\"index\"\n let-arc=\"arc\"\n>\n <i\n class=\"dot\"\n [style.background]=\"arc.color\"\n ></i>\n {{ arc.labels[1] | translate }}:\n {{ +arc.labels[0] | aclNumericalLimit | aclFieldNotAvailable }}% ({{\n +arc.value | aclNumericalLimit | aclFieldNotAvailable\n }}\n {{ unit | translate }})\n</ng-template>\n", styles: [":host{position:relative}text{dominant-baseline:middle}.center-text__main{font-size:24px;font-weight:500;fill:rgb(var(--aui-color-main-text))}.center-text__sub{font-size:12px;fill:rgb(var(--aui-color-secondary-text))}.full-arc-path{fill:rgb(var(--aui-color-n-8))}.fraction-arc-path{cursor:pointer}.fraction-arc-path:hover{stroke:currentcolor;stroke-width:2px}.fraction-label-text{font-size:12px;fill:rgb(var(--aui-color-secondary-text))}.total-text{font-size:20px;font-weight:500}.dot{width:6px;height:6px;display:inline-block;border-radius:50%;margin-right:5px}.status-container{left:50%;position:absolute;top:50%;white-space:nowrap;transform:translate(-50%,-50%)}.status{padding:6px 16px;display:flex;align-items:center;justify-content:center;background-color:rgb(var(--aui-color-n-8));color:rgb(var(--aui-color-n-4));border-radius:2px}.status aui-icon{font-size:14px;margin-right:4px}.loading aui-icon{color:rgb(var(--aui-color-primary))}.failed aui-icon{color:rgb(var(--aui-color-red))}.hide{display:none}\n"] }]
221
- }], null, { limitsFraction: [{
225
+ args: [{ selector: 'acl-radial-bar-chart', changeDetection: ChangeDetectionStrategy.OnPush, providers: [NumericalLimitPipe], template: "<svg\n [attr.width]=\"size + offset\"\n [attr.height]=\"size\"\n>\n <svg:g [attr.transform]=\"transform\">\n <svg:g *ngFor=\"let arc of arcs; trackBy: arcTrackByFn; index as i\">\n <svg:path\n class=\"full-arc-path\"\n [auiTooltip]=\"tooltipTemplate\"\n [auiTooltipContext]=\"{ index: i, arc: arc }\"\n [attr.d]=\"arc.backgroundArcPath\"\n ></svg:path>\n <svg:path\n [style.color]=\"arc.color\"\n [auiTooltip]=\"tooltipTemplate\"\n [auiTooltipContext]=\"{ index: i, arc: arc }\"\n class=\"fraction-arc-path\"\n [attr.fill]=\"arc.color\"\n [style.opacity]=\"arc.fractionArcOpacity\"\n [attr.d]=\"arc.fractionArcPath\"\n nodeName\n ></svg:path>\n <svg:text\n *ngFor=\"let label of arc.labels; index as labelIndex\"\n class=\"fraction-label-text\"\n [attr.dx]=\"\n arc.labelCoord.dx\n | pure\n : getLabelDx\n : $any(arc.labels[labelIndex ? labelIndex - 1 : labelIndex])\n : labelIndex\n \"\n [attr.dy]=\"arc.labelCoord.dy\"\n text-anchor=\"end\"\n aclIndicatorColor\n [indicator]=\"labelIndex || arc?.hideIndicator ? 0 : label\"\n >\n {{\n labelIndex\n ? (label | translate)\n : (+label | aclNumericalLimit | aclFieldNotAvailable)\n }}{{ labelIndex ? '' : '%' }}\n </svg:text>\n </svg:g>\n\n <svg:g\n class=\"center-text\"\n dy=\"-5\"\n >\n <svg:text\n [style.font-size]=\"\n capacity > 9999 || arcs?.length > 2 ? '16px' : '24px'\n \"\n text-anchor=\"middle\"\n class=\"center-text__main\"\n >\n {{ +capacity | aclNumericalLimit | aclFieldNotAvailable }}\n </svg:text>\n <svg:text\n text-anchor=\"middle\"\n dy=\"20\"\n class=\"center-text__sub\"\n >\n {{ 'total_number' | translate }}\n </svg:text>\n </svg:g>\n </svg:g>\n</svg>\n\n<div\n class=\"status-container\"\n *ngIf=\"loading || failed\"\n>\n <div\n *ngIf=\"failed && !loading\"\n class=\"status failed\"\n >\n <aui-icon\n icon=\"exclamation_triangle_s\"\n background=\"triangle\"\n ></aui-icon>\n {{ 'failed_load_please' | translate }}\n <button\n aui-button=\"text\"\n (click)=\"onRefresh()\"\n >\n {{ 'refresh' | translate }}\n </button>\n </div>\n <div\n *ngIf=\"loading\"\n class=\"status loading\"\n >\n <aui-icon icon=\"spinner\"></aui-icon> {{ 'loading' | translate }}\n </div>\n</div>\n\n<ng-template\n #tooltipTemplate\n let-index=\"index\"\n let-arc=\"arc\"\n>\n <i\n class=\"dot\"\n [style.background]=\"arc.color\"\n ></i>\n {{ arc.labels[1] | translate }}:\n {{ +arc.labels[0] | aclNumericalLimit | aclFieldNotAvailable }}% ({{\n +arc.value | aclNumericalLimit | aclFieldNotAvailable\n }}\n {{ unit | translate }})\n</ng-template>\n", styles: [":host{position:relative}text{dominant-baseline:middle}.center-text__main{font-size:24px;font-weight:500;fill:rgb(var(--aui-color-main-text))}.center-text__sub{font-size:12px;fill:rgb(var(--aui-color-secondary-text))}.full-arc-path{fill:rgb(var(--aui-color-n-8))}.fraction-arc-path{cursor:pointer}.fraction-arc-path:hover{stroke:currentcolor;stroke-width:2px}.fraction-label-text{font-size:12px;fill:rgb(var(--aui-color-secondary-text))}.total-text{font-size:20px;font-weight:500}.dot{width:6px;height:6px;display:inline-block;border-radius:50%;margin-right:5px}.status-container{left:50%;position:absolute;top:50%;white-space:nowrap;transform:translate(-50%,-50%)}.status{padding:6px 16px;display:flex;align-items:center;justify-content:center;background-color:rgb(var(--aui-color-n-8));color:rgb(var(--aui-color-n-4));border-radius:2px}.status aui-icon{font-size:14px;margin-right:4px}.loading aui-icon{color:rgb(var(--aui-color-primary))}.failed aui-icon{color:rgb(var(--aui-color-red))}.hide{display:none}\n"] }]
226
+ }], () => [{ type: i1.NumericalLimitPipe }], { limitsFraction: [{
222
227
  type: Input
223
228
  }], requestsFraction: [{
224
229
  type: Input
@@ -241,4 +246,5 @@ export class RadialBarChartComponent {
241
246
  }], refresh: [{
242
247
  type: Output
243
248
  }] }); })();
244
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaWFsLWJhci1jaGFydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvcGllLWRlcml2YXRpdmUtY2hhcnQvcmFkaWFsLWJhci9yYWRpYWwtYmFyLWNoYXJ0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9waWUtZGVyaXZhdGl2ZS1jaGFydC9yYWRpYWwtYmFyL3JhZGlhbC1iYXItY2hhcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLElBQUksQ0FBQzs7OztJQ2NuQiwrQkFRQztJQUNDLFlBS0Y7Ozs7SUFBQSxpQkFBVzs7Ozs7SUFQVCwwR0FBMEQ7SUFKMUQsK0RBQStDLDRCQUFBO0lBTS9DLGVBS0Y7SUFMRSxxS0FLRjs7Ozs7SUEvQkYseUJBQW1FO0lBQ2pFLDBCQUtZLGNBQUE7SUFXWix5RkFjVztJQUNiLGlCQUFROzs7Ozs7SUE3QkosZUFBOEI7SUFBOUIsZ0NBQThCLGdFQUFBO0lBRTlCLDZDQUFnQztJQUdoQyxlQUF5QjtJQUF6QixxQ0FBeUIsc0NBQUE7SUFDekIsZ0NBQThCLGdFQUFBO0lBRzlCLG9DQUF1Qiw2QkFBQTtJQU1MLGVBQWU7SUFBZix1Q0FBZTs7OztJQTRDdkMsK0JBR0M7SUFDQywrQkFHWTtJQUNaLFlBQ0E7O0lBQUEsa0NBR0M7SUFEQyw4S0FBUyxlQUFBLG1CQUFXLENBQUEsSUFBQztJQUVyQixZQUNGOztJQUFBLGlCQUFTLEVBQUE7O0lBTlQsZUFDQTtJQURBLDJFQUNBO0lBSUUsZUFDRjtJQURFLGdFQUNGOzs7SUFFRiwrQkFHQztJQUNDLCtCQUFvQztJQUFDLFlB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SCxlQUF1QjtZQUF2QixnREFBdUI7Ozt1RkRqQ2IsdUJBQXVCO2NBTm5DLFNBQVM7MkJBQ0Usc0JBQXNCLG1CQUdmLHVCQUF1QixDQUFDLE1BQU07Z0JBSS9DLGNBQWM7a0JBRGIsS0FBSztZQUlOLGdCQUFnQjtrQkFEZixLQUFLO1lBSU4sUUFBUTtrQkFEUCxLQUFLO1lBSU4sSUFBSTtrQkFESCxLQUFLO1lBU0csSUFBSTtrQkFBWixLQUFLO1lBRUcsS0FBSztrQkFBYixLQUFLO1lBRUcsS0FBSztrQkFBYixLQUFLO1lBRUcsT0FBTztrQkFBZixLQUFLO1lBRUcsT0FBTztrQkFBZixLQUFLO1lBRUcsTUFBTTtrQkFBZCxLQUFLO1lBRUksT0FBTztrQkFBaEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGFyYyB9IGZyb20gJ2QzJztcblxuY29uc3QgTUFYX1ZBTFVFID0gOTk5Xzk5OTtcblxuY29uc3QgREVDSU1BTF9NQVhfVkFMVUUgPSA5OTkuOTk7XG5cbmludGVyZmFjZSBOb2RlRnJhY3Rpb25BcmMge1xuICBiYWNrZ3JvdW5kQXJjUGF0aDogYW55O1xuICBmcmFjdGlvbkFyY1BhdGg6IGFueTtcbiAgbGFiZWxzOiBzdHJpbmdbXTtcbiAgbGFiZWxDb29yZDogYW55O1xuICBmcmFjdGlvbkFyY09wYWNpdHk6IG51bWJlcjtcbiAgZnJhY3Rpb246IGFueTtcbiAgY29sb3I6IHN0cmluZztcbiAgdmFsdWU6IHN0cmluZztcbiAgaGlkZUluZGljYXRvcj86IGJvb2xlYW47XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FjbC1yYWRpYWwtYmFyLWNoYXJ0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JhZGlhbC1iYXItY2hhcnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yYWRpYWwtYmFyLWNoYXJ0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBSYWRpYWxCYXJDaGFydENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpXG4gIGxpbWl0c0ZyYWN0aW9uOiBudW1iZXI7XG5cbiAgQElucHV0KClcbiAgcmVxdWVzdHNGcmFjdGlvbjogbnVtYmVyO1xuXG4gIEBJbnB1dCgpXG4gIGNhcGFjaXR5OiBudW1iZXI7XG5cbiAgQElucHV0KClcbiAgZGF0YTogQXJyYXk8e1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgdmFsdWU6IHN0cmluZztcbiAgICBmcmFjdGlvbjogbnVtYmVyO1xuICAgIGhpZGVJbmRpY2F0b3I6IGJvb2xlYW47XG4gICAgY29sb3I/OiBzdHJpbmc7XG4gIH0+O1xuXG4gIEBJbnB1dCgpIHVuaXQ6IHN0cmluZztcblxuICBASW5wdXQoKSBjb2xvcjogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIHVzYWdlOiBzdHJpbmc7XG5cbiAgQElucHV0KCkgcmVxdWVzdDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIGxvYWRpbmc6IGJvb2xlYW47XG5cbiAgQElucHV0KCkgZmFpbGVkOiBib29sZWFuO1xuXG4gIEBPdXRwdXQoKSByZWZyZXNoID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHJlYWRvbmx5IHNpemUgPSAxNjA7XG5cbiAgcmVhZG9ubHkgb2Zmc2V0ID0gMTIwO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgcGllU2l6ZSA9IDEwO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbWFyZ2luID0gNTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGlubmVyU2hyaW5rID0gMTU7XG5cbiAgcmVhZG9ubHkgbWF4VmFsdWUgPSBNQVhfVkFMVUU7XG5cbiAgcmVhZG9ubHkgZGVjaW1hbE1heFZhbHVlID0gREVDSU1BTF9NQVhfVkFMVUU7XG5cbiAgYXJjczogTm9kZUZyYWN0aW9uQXJjW107XG5cbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5hcmNzID0gdGhpcy5nZXRBcmNzKCk7XG4gIH1cblxuICBnZXQgdHJhbnNmb3JtKCkge1xuICAgIHJldHVybiBgdHJhbnNsYXRlKCR7KHRoaXMuc2l6ZSArIHRoaXMub2Zmc2V0KSAvIDJ9LCAke3RoaXMuc2l6ZSAvIDJ9KWA7XG4gIH1cblxuICBnZXQgb3V0ZXJSYWRpdXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuc2l6ZSAvIDIgLSB0aGlzLm1hcmdpbjtcbiAgfVxuXG4gIGdldCBpbm5lclJhZGl1cygpIHtcbiAgICByZXR1cm4gdGhpcy5vdXRlclJhZGl1cyAtIHRoaXMucGllU2l6ZTtcbiAgfVxuXG4gIGFyY1RyYWNrQnlGbihpbmRleDogbnVtYmVyKSB7XG4gICAgcmV0dXJuIGluZGV4O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRBcmNzKCk6IE5vZGVGcmFjdGlvbkFyY1tdIHtcbiAgICBsZXQgYXJjczogTm9kZUZyYWN0aW9uQXJjW10gPSBbXTtcbiAgICBjb25zdCBsaW1pdHNBcmMgPSB0aGlzLmdldEFyYyhcbiAgICAgIDAsXG4gICAgICB0aGlzLnJlcXVlc3RzRnJhY3Rpb24sXG4gICAgICAncmVxdWVzdF9yYXRlJyxcbiAgICAgIDEsXG4gICAgICB0aGlzLnJlcXVlc3QsXG4gICAgKTtcbiAgICBjb25zdCByZXF1ZXN0c0FyYyA9IHRoaXMuZ2V0QXJjKFxuICAgICAgMSxcbiAgICAgIHRoaXMubGltaXRzRnJhY3Rpb24sXG4gICAgICAndXNhZ2VfcmF0ZScsXG4gICAgICAwLjcsXG4gICAgICB0aGlzLnVzYWdlLFxuICAgICk7XG4gICAgYXJjcyA9IFtyZXF1ZXN0c0FyYywgbGltaXRzQXJjXTtcblxuICAgIGlmICh0aGlzLmRhdGEpIHtcbiAgICAgIGFyY3MgPSB0aGlzLmhhbmRlbERhdGEoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gYXJjcztcbiAgfVxuXG4gIGdldEFyYyA9IChcbiAgICBsZXZlbDogbnVtYmVyLFxuICAgIGZyYWN0aW9uOiBudW1iZXIsXG4gICAgbGFiZWw6IHN0cmluZyxcbiAgICBvcGFjaXR5OiBudW1iZXIsXG4gICAgdmFsdWU6IHN0cmluZyxcbiAgICBoaWRlSW5kaWNhdG9yID0gZmFsc2UsXG4gICAgY29sb3IgPSB0aGlzLmNvbG9yLFxuICApOiBOb2RlRnJhY3Rpb25BcmMgPT4ge1xuICAgIGZyYWN0aW9uID0gZnJhY3Rpb24gfHwgMDtcbiAgICByZXR1cm4ge1xuICAgICAgYmFja2dyb3VuZEFyY1BhdGg6IHRoaXMuZ2V0QmFja2dyb3VuZEFyY1BhdGgobGV2ZWwpLFxuICAgICAgZnJhY3Rpb25BcmNQYXRoOiB0aGlzLmdldEZyYWN0aW9uQXJjUGF0aChmcmFjdGlvbiB8fCAwLCBsZXZlbCksXG4gICAgICBsYWJlbHM6IFtmcmFjdGlvbiA/ICcnICsgZnJhY3Rpb24gOiBudWxsLCBsYWJlbF0sXG4gICAgICBsYWJlbENvb3JkOiB0aGlzLmdldFRleHRDb29yZChsZXZlbCksXG4gICAgICBmcmFjdGlvbkFyY09wYWNpdHk6IG9wYWNpdHksXG4gICAgICBmcmFjdGlvbixcbiAgICAgIGNvbG9yLFxuICAgICAgdmFsdWUsXG4gICAgICBoaWRlSW5kaWNhdG9yLFxuICAgIH07XG4gIH07XG5cbiAgaGFuZGVsRGF0YSgpIHtcbiAgICByZXR1cm4gdGhpcy5kYXRhLm1hcCgoaXRlbSwgaW5kZXgpID0+XG4gICAgICB0aGlzLmdldEFyYyhcbiAgICAgICAgaW5kZXgsXG4gICAgICAgIGl0ZW0uZnJhY3Rpb24sXG4gICAgICAgIGl0ZW0udGl0bGUsXG4gICAgICAgIGl0ZW0uY29sb3IgPyAxIDogKygxIC8gKGluZGV4ICsgMSkpLnRvRml4ZWQoMiksXG4gICAgICAgIGl0ZW0udmFsdWUsXG4gICAgICAgIGl0ZW0uaGlkZUluZGljYXRvcixcbiAgICAgICAgaXRlbS5jb2xvcixcbiAgICAgICksXG4gICAgKTtcbiAgfVxuXG4gIGdldEJhY2tncm91bmRBcmNQYXRoKGxldmVsID0gMCkge1xuICAgIGNvbnN0IHNocmluayA9IGxldmVsICogdGhpcy5pbm5lclNocmluaztcbiAgICByZXR1cm4gYXJjKCkuY29ybmVyUmFkaXVzKDIwKSh7XG4gICAgICBzdGFydEFuZ2xlOiAwLFxuICAgICAgZW5kQW5nbGU6IE1hdGguUEkgKiAxLjUsXG4gICAgICBpbm5lclJhZGl1czogdGhpcy5pbm5lclJhZGl1cyAtIHNocmluayxcbiAgICAgIG91dGVyUmFkaXVzOiB0aGlzLm91dGVyUmFkaXVzIC0gc2hyaW5rLFxuICAgIH0pO1xuICB9XG5cbiAgb25SZWZyZXNoKCkge1xuICAgIHRoaXMucmVmcmVzaC5uZXh0KG51bGwpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRGcmFjdGlvbkFyY1BhdGgoZnJhY3Rpb246IG51bWJlciwgbGV2ZWwgPSAwKSB7XG4gICAgY29uc3Qgc2hyaW5rID0gbGV2ZWwgKiB0aGlzLmlubmVyU2hyaW5rO1xuICAgIGZyYWN0aW9uID0gTWF0aC5taW4oMTAwLCBmcmFjdGlvbik7XG4gICAgcmV0dXJuIGFyYygpLmNvcm5lclJhZGl1cygyMCkoe1xuICAgICAgc3RhcnRBbmdsZTogMCxcbiAgICAgIGVuZEFuZ2xlOiAoTWF0aC5QSSAqIDEuNSAqIGZyYWN0aW9uKSAvIDEwMCxcbiAgICAgIGlubmVyUmFkaXVzOiB0aGlzLmlubmVyUmFkaXVzIC0gc2hyaW5rLFxuICAgICAgb3V0ZXJSYWRpdXM6IHRoaXMub3V0ZXJSYWRpdXMgLSBzaHJpbmssXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGdldFRleHRDb29yZChsZXZlbCA9IDApOiB7IGR4OiBudW1iZXI7IGR5OiBudW1iZXIgfSB7XG4gICAgY29uc3Qgc2hyaW5rID0gbGV2ZWwgKiB0aGlzLmlubmVyU2hyaW5rO1xuICAgIHJldHVybiB7XG4gICAgICBkeDogLTQsXG4gICAgICBkeTogLSh0aGlzLm91dGVyUmFkaXVzIC0gc2hyaW5rIC0gNSksXG4gICAgfTtcbiAgfVxufVxuIiwiPHN2Z1xuICBbYXR0ci53aWR0aF09XCJzaXplICsgb2Zmc2V0XCJcbiAgW2F0dHIuaGVpZ2h0XT1cInNpemVcIlxuPlxuICA8c3ZnOmcgW2F0dHIudHJhbnNmb3JtXT1cInRyYW5zZm9ybVwiPlxuICAgIDxzdmc6ZyAqbmdGb3I9XCJsZXQgYXJjIG9mIGFyY3M7IHRyYWNrQnk6IGFyY1RyYWNrQnlGbjsgaW5kZXggYXMgaVwiPlxuICAgICAgPHN2ZzpwYXRoXG4gICAgICAgIGNsYXNzPVwiZnVsbC1hcmMtcGF0aFwiXG4gICAgICAgIFthdWlUb29sdGlwXT1cInRvb2x0aXBUZW1wbGF0ZVwiXG4gICAgICAgIFthdWlUb29sdGlwQ29udGV4dF09XCJ7IGluZGV4OiBpLCBhcmM6IGFyYyB9XCJcbiAgICAgICAgW2F0dHIuZF09XCJhcmMuYmFja2dyb3VuZEFyY1BhdGhcIlxuICAgICAgPjwvc3ZnOnBhdGg+XG4gICAgICA8c3ZnOnBhdGhcbiAgICAgICAgW3N0eWxlLmNvbG9yXT1cImFyYy5jb2xvclwiXG4gICAgICAgIFthdWlUb29sdGlwXT1cInRvb2x0aXBUZW1wbGF0ZVwiXG4gICAgICAgIFthdWlUb29sdGlwQ29udGV4dF09XCJ7IGluZGV4OiBpLCBhcmM6IGFyYyB9XCJcbiAgICAgICAgY2xhc3M9XCJmcmFjdGlvbi1hcmMtcGF0aFwiXG4gICAgICAgIFthdHRyLmZpbGxdPVwiYXJjLmNvbG9yXCJcbiAgICAgICAgW3N0eWxlLm9wYWNpdHldPVwiYXJjLmZyYWN0aW9uQXJjT3BhY2l0eVwiXG4gICAgICAgIFthdHRyLmRdPVwiYXJjLmZyYWN0aW9uQXJjUGF0aFwiXG4gICAgICAgIG5vZGVOYW1lXG4gICAgICA+PC9zdmc6cGF0aD5cbiAgICAgIDxzdmc6dGV4dFxuICAgICAgICAqbmdGb3I9XCJsZXQgbGFiZWwgb2YgYXJjLmxhYmVsczsgaW5kZXggYXMgbGFiZWxJbmRleFwiXG4gICAgICAgIGNsYXNzPVwiZnJhY3Rpb24tbGFiZWwtdGV4dFwiXG4gICAgICAgIFthdHRyLmR4XT1cImFyYy5sYWJlbENvb3JkLmR4IC0gNTAgKiBsYWJlbEluZGV4XCJcbiAgICAgICAgW2F0dHIuZHldPVwiYXJjLmxhYmVsQ29vcmQuZHlcIlxuICAgICAgICB0ZXh0LWFuY2hvcj1cImVuZFwiXG4gICAgICAgIGFjbEluZGljYXRvckNvbG9yXG4gICAgICAgIFtpbmRpY2F0b3JdPVwibGFiZWxJbmRleCB8fCBhcmM/LmhpZGVJbmRpY2F0b3IgPyAwIDogbGFiZWxcIlxuICAgICAgPlxuICAgICAgICB7e1xuICAgICAgICAgIGxhYmVsSW5kZXhcbiAgICAgICAgICAgID8gKGxhYmVsIHwgdHJhbnNsYXRlKVxuICAgICAgICAgICAgOiAoK2xhYmVsIHwgYWNsTnVtZXJpY2FsTGltaXQgfCBhY2xGaWVsZE5vdEF2YWlsYWJsZSlcbiAgICAgICAgfX17eyBsYWJlbEluZGV4ID8gJycgOiAnJScgfX1cbiAgICAgIDwvc3ZnOnRleHQ+XG4gICAgPC9zdmc6Zz5cblxuICAgIDxzdmc6Z1xuICAgICAgY2xhc3M9XCJjZW50ZXItdGV4dFwiXG4gICAgICBkeT1cIi01XCJcbiAgICA+XG4gICAgICA8c3ZnOnRleHRcbiAgICAgICAgW3N0eWxlLmZvbnQtc2l6ZV09XCJcbiAgICAgICAgICBjYXBhY2l0eSA+IDk5OTkgfHwgYXJjcz8ubGVuZ3RoID4gMiA/ICcxNnB4JyA6ICcyNHB4J1xuICAgICAgICBcIlxuICAgICAgICB0ZXh0LWFuY2hvcj1cIm1pZGRsZVwiXG4gICAgICAgIGNsYXNzPVwiY2VudGVyLXRleHRfX21haW5cIlxuICAgICAgPlxuICAgICAgICB7eyArY2FwYWNpdHkgfCBhY2xOdW1lcmljYWxMaW1pdCB8IGFjbEZpZWxkTm90QXZhaWxhYmxlIH19XG4gICAgICA8L3N2Zzp0ZXh0PlxuICAgICAgPHN2Zzp0ZXh0XG4gICAgICAgIHRleHQtYW5jaG9yPVwibWlkZGxlXCJcbiAgICAgICAgZHk9XCIyMFwiXG4gICAgICAgIGNsYXNzPVwiY2VudGVyLXRleHRfX3N1YlwiXG4gICAgICA+XG4gICAgICAgIHt7ICd0b3RhbF9udW1iZXInIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L3N2Zzp0ZXh0PlxuICAgIDwvc3ZnOmc+XG4gIDwvc3ZnOmc+XG48L3N2Zz5cblxuPGRpdlxuICBjbGFzcz1cInN0YXR1cy1jb250YWluZXJcIlxuICAqbmdJZj1cImxvYWRpbmcgfHwgZmFpbGVkXCJcbj5cbiAgPGRpdlxuICAgICpuZ0lmPVwiZmFpbGVkICYmICFsb2FkaW5nXCJcbiAgICBjbGFzcz1cInN0YXR1cyBmYWlsZWRcIlxuICA+XG4gICAgPGF1aS1pY29uXG4gICAgICBpY29uPVwiZXhjbGFtYXRpb25fdHJpYW5nbGVfc1wiXG4gICAgICBiYWNrZ3JvdW5kPVwidHJpYW5nbGVcIlxuICAgID48L2F1aS1pY29uPlxuICAgIHt7ICdmYWlsZWRfbG9hZF9wbGVhc2UnIHwgdHJhbnNsYXRlIH19XG4gICAgPGJ1dHRvblxuICAgICAgYXVpLWJ1dHRvbj1cInRleHRcIlxuICAgICAgKGNsaWNrKT1cIm9uUmVmcmVzaCgpXCJcbiAgICA+XG4gICAgICB7eyAncmVmcmVzaCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG4gIDxkaXZcbiAgICAqbmdJZj1cImxvYWRpbmdcIlxuICAgIGNsYXNzPVwic3RhdHVzIGxvYWRpbmdcIlxuICA+XG4gICAgPGF1aS1pY29uIGljb249XCJzcGlubmVyXCI+PC9hdWktaWNvbj4ge3sgJ2xvYWRpbmcnIHwgdHJhbnNsYXRlIH19XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZVxuICAjdG9vbHRpcFRlbXBsYXRlXG4gIGxldC1pbmRleD1cImluZGV4XCJcbiAgbGV0LWFyYz1cImFyY1wiXG4+XG4gIDxpXG4gICAgY2xhc3M9XCJkb3RcIlxuICAgIFtzdHlsZS5iYWNrZ3JvdW5kXT1cImFyYy5jb2xvclwiXG4gID48L2k+XG4gIHt7IGFyYy5sYWJlbHNbMV0gfCB0cmFuc2xhdGUgfX06XG4gIHt7ICthcmMubGFiZWxzWzBdIHwgYWNsTnVtZXJpY2FsTGltaXQgfCBhY2xGaWVsZE5vdEF2YWlsYWJsZSB9fSUgKHt7XG4gICAgK2FyYy52YWx1ZSB8IGFjbE51bWVyaWNhbExpbWl0IHwgYWNsRmllbGROb3RBdmFpbGFibGVcbiAgfX1cbiAge3sgdW5pdCB8IHRyYW5zbGF0ZSB9fSlcbjwvbmctdGVtcGxhdGU+XG4iXX0=
249
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(RadialBarChartComponent, { className: "RadialBarChartComponent" }); })();
250
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaWFsLWJhci1jaGFydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvcGllLWRlcml2YXRpdmUtY2hhcnQvcmFkaWFsLWJhci9yYWRpYWwtYmFyLWNoYXJ0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9waWUtZGVyaXZhdGl2ZS1jaGFydC9yYWRpYWwtYmFyL3JhZGlhbC1iYXItY2hhcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLElBQUksQ0FBQztBQUV6QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sVUFBVSxDQUFDOzs7Ozs7SUNXakMsK0JBY0M7O0lBQ0MsWUFLRjs7OztJQUFBLGlCQUFXOzs7Ozs7SUFQVCwwR0FBMEQ7O0lBRTFELGVBS0Y7SUFMRSx3S0FLRjs7OztJQXJDRix5QkFBbUU7SUFPakUsQUFOQSwwQkFLWSxjQVVBO0lBQ1oseUZBY0M7SUFPSCxpQkFBUTs7Ozs7O0lBbkNKLGNBQThCO0lBQzlCLEFBREEsK0NBQThCLGdFQUNjOztJQUk1QyxjQUF5QjtJQUt6QixBQUxBLHFDQUF5QixzQ0FLZTtJQUh4QyxBQURBLCtDQUE4QixnRUFDYzs7SUFRMUIsY0FBZTtJQUFmLHVDQUFlOzs7O0lBa0R2QywrQkFHQztJQUNDLCtCQUdZO0lBQ1osWUFDQTs7SUFBQSxrQ0FHQztJQURDLDJMQUFTLGtCQUFXLEtBQUM7SUFFckIsWUFDRjs7SUFDRixBQURFLGlCQUFTLEVBQ0w7O0lBUEosZUFDQTtJQURBLDJF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O0lBQ0osQ0FBQzt3RkFuS1UsdUJBQXVCO29FQUF2Qix1QkFBdUIsMlVBRnZCLENBQUMsa0JBQWtCLENBQUM7O1lDOUIvQixBQUpGLDJCQUdDLFFBQ3FDO1lBQ2xDLDBFQUFtRTtZQTRDakUsQUFKRiw0QkFHQyxjQU9FO1lBQ0MsWUFDRjs7O1lBQUEsaUJBQVc7WUFDWCwrQkFJQztZQUNDLFlBQ0Y7O1lBR04sQUFERSxBQURFLEFBREUsaUJBQVcsRUFDTCxFQUNGLEVBQ0o7WUE4Qk4sQUE1QkEsMEVBR0MsK0dBNkJBOzs7WUFqR1EsY0FBNEI7O1lBQ1YsY0FBUztZQUFBLEFBQVQsa0NBQVMsa0NBQXVCO1lBNkNuRCxlQUVDO1lBRkQscUhBRUM7WUFJRCxjQUNGO1lBREUsNEZBQ0Y7WUFNRSxlQUNGO1lBREUsdUVBQ0Y7WUFPSCxlQUF1QjtZQUF2QixnREFBdUI7OztpRkRuQ2IsdUJBQXVCO2NBUG5DLFNBQVM7MkJBQ0Usc0JBQXNCLG1CQUdmLHVCQUF1QixDQUFDLE1BQU0sYUFDcEMsQ0FBQyxrQkFBa0IsQ0FBQzttREFJL0IsY0FBYztrQkFEYixLQUFLO1lBSU4sZ0JBQWdCO2tCQURmLEtBQUs7WUFJTixRQUFRO2tCQURQLEtBQUs7WUFJTixJQUFJO2tCQURILEtBQUs7WUFTRyxJQUFJO2tCQUFaLEtBQUs7WUFFRyxLQUFLO2tCQUFiLEtBQUs7WUFFRyxLQUFLO2tCQUFiLEtBQUs7WUFFRyxPQUFPO2tCQUFmLEtBQUs7WUFFRyxPQUFPO2tCQUFmLEtBQUs7WUFFRyxNQUFNO2tCQUFkLEtBQUs7WUFFSSxPQUFPO2tCQUFoQixNQUFNOztrRkEvQkksdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgYXJjIH0gZnJvbSAnZDMnO1xuXG5pbXBvcnQgeyBOdW1lcmljYWxMaW1pdFBpcGUgfSBmcm9tICcuLi9udW1lcmljYWwtbGltaXQucGlwZSc7XG5pbXBvcnQgeyBtZWFzdXJlVGV4dCB9IGZyb20gJy4uL3VuaXRzJztcblxuY29uc3QgTUFYX1ZBTFVFID0gOTk5Xzk5OTtcblxuY29uc3QgREVDSU1BTF9NQVhfVkFMVUUgPSA5OTkuOTk7XG5cbmludGVyZmFjZSBOb2RlRnJhY3Rpb25BcmMge1xuICBiYWNrZ3JvdW5kQXJjUGF0aDogYW55O1xuICBmcmFjdGlvbkFyY1BhdGg6IGFueTtcbiAgbGFiZWxzOiBzdHJpbmdbXTtcbiAgbGFiZWxDb29yZDogYW55O1xuICBmcmFjdGlvbkFyY09wYWNpdHk6IG51bWJlcjtcbiAgZnJhY3Rpb246IGFueTtcbiAgY29sb3I6IHN0cmluZztcbiAgdmFsdWU6IHN0cmluZztcbiAgaGlkZUluZGljYXRvcj86IGJvb2xlYW47XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FjbC1yYWRpYWwtYmFyLWNoYXJ0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JhZGlhbC1iYXItY2hhcnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yYWRpYWwtYmFyLWNoYXJ0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtOdW1lcmljYWxMaW1pdFBpcGVdLFxufSlcbmV4cG9ydCBjbGFzcyBSYWRpYWxCYXJDaGFydENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpXG4gIGxpbWl0c0ZyYWN0aW9uOiBudW1iZXI7XG5cbiAgQElucHV0KClcbiAgcmVxdWVzdHNGcmFjdGlvbjogbnVtYmVyO1xuXG4gIEBJbnB1dCgpXG4gIGNhcGFjaXR5OiBudW1iZXI7XG5cbiAgQElucHV0KClcbiAgZGF0YTogQXJyYXk8e1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgdmFsdWU6IHN0cmluZztcbiAgICBmcmFjdGlvbjogbnVtYmVyO1xuICAgIGhpZGVJbmRpY2F0b3I6IGJvb2xlYW47XG4gICAgY29sb3I/OiBzdHJpbmc7XG4gIH0+O1xuXG4gIEBJbnB1dCgpIHVuaXQ6IHN0cmluZztcblxuICBASW5wdXQoKSBjb2xvcjogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIHVzYWdlOiBzdHJpbmc7XG5cbiAgQElucHV0KCkgcmVxdWVzdDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIGxvYWRpbmc6IGJvb2xlYW47XG5cbiAgQElucHV0KCkgZmFpbGVkOiBib29sZWFuO1xuXG4gIEBPdXRwdXQoKSByZWZyZXNoID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHJlYWRvbmx5IHNpemUgPSAxNjA7XG5cbiAgcmVhZG9ubHkgb2Zmc2V0ID0gMTIwO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgcGllU2l6ZSA9IDEwO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbWFyZ2luID0gNTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGlubmVyU2hyaW5rID0gMTU7XG5cbiAgcmVhZG9ubHkgbWF4VmFsdWUgPSBNQVhfVkFMVUU7XG5cbiAgcmVhZG9ubHkgZGVjaW1hbE1heFZhbHVlID0gREVDSU1BTF9NQVhfVkFMVUU7XG5cbiAgYXJjczogTm9kZUZyYWN0aW9uQXJjW107XG5cbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5hcmNzID0gdGhpcy5nZXRBcmNzKCk7XG4gIH1cblxuICBnZXQgdHJhbnNmb3JtKCkge1xuICAgIHJldHVybiBgdHJhbnNsYXRlKCR7KHRoaXMuc2l6ZSArIHRoaXMub2Zmc2V0KSAvIDJ9LCAke3RoaXMuc2l6ZSAvIDJ9KWA7XG4gIH1cblxuICBnZXQgb3V0ZXJSYWRpdXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuc2l6ZSAvIDIgLSB0aGlzLm1hcmdpbjtcbiAgfVxuXG4gIGdldCBpbm5lclJhZGl1cygpIHtcbiAgICByZXR1cm4gdGhpcy5vdXRlclJhZGl1cyAtIHRoaXMucGllU2l6ZTtcbiAgfVxuXG4gIGFyY1RyYWNrQnlGbihpbmRleDogbnVtYmVyKSB7XG4gICAgcmV0dXJuIGluZGV4O1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBudW1lcmljYWxMaW1pdFBpcGU6IE51bWVyaWNhbExpbWl0UGlwZSkge31cblxuICBwcml2YXRlIGdldEFyY3MoKTogTm9kZUZyYWN0aW9uQXJjW10ge1xuICAgIGxldCBhcmNzOiBOb2RlRnJhY3Rpb25BcmNbXSA9IFtdO1xuICAgIGNvbnN0IGxpbWl0c0FyYyA9IHRoaXMuZ2V0QXJjKFxuICAgICAgMCxcbiAgICAgIHRoaXMucmVxdWVzdHNGcmFjdGlvbixcbiAgICAgICdyZXF1ZXN0X3JhdGUnLFxuICAgICAgMSxcbiAgICAgIHRoaXMucmVxdWVzdCxcbiAgICApO1xuICAgIGNvbnN0IHJlcXVlc3RzQXJjID0gdGhpcy5nZXRBcmMoXG4gICAgICAxLFxuICAgICAgdGhpcy5saW1pdHNGcmFjdGlvbixcbiAgICAgICd1c2FnZV9yYXRlJyxcbiAgICAgIDAuNyxcbiAgICAgIHRoaXMudXNhZ2UsXG4gICAgKTtcbiAgICBhcmNzID0gW3JlcXVlc3RzQXJjLCBsaW1pdHNBcmNdO1xuXG4gICAgaWYgKHRoaXMuZGF0YSkge1xuICAgICAgYXJjcyA9IHRoaXMuaGFuZGVsRGF0YSgpO1xuICAgIH1cbiAgICByZXR1cm4gYXJjcztcbiAgfVxuXG4gIGdldEFyYyA9IChcbiAgICBsZXZlbDogbnVtYmVyLFxuICAgIGZyYWN0aW9uOiBudW1iZXIsXG4gICAgbGFiZWw6IHN0cmluZyxcbiAgICBvcGFjaXR5OiBudW1iZXIsXG4gICAgdmFsdWU6IHN0cmluZyxcbiAgICBoaWRlSW5kaWNhdG9yID0gZmFsc2UsXG4gICAgY29sb3IgPSB0aGlzLmNvbG9yLFxuICApOiBOb2RlRnJhY3Rpb25BcmMgPT4ge1xuICAgIGZyYWN0aW9uID0gZnJhY3Rpb24gfHwgMDtcbiAgICByZXR1cm4ge1xuICAgICAgYmFja2dyb3VuZEFyY1BhdGg6IHRoaXMuZ2V0QmFja2dyb3VuZEFyY1BhdGgobGV2ZWwpLFxuICAgICAgZnJhY3Rpb25BcmNQYXRoOiB0aGlzLmdldEZyYWN0aW9uQXJjUGF0aChmcmFjdGlvbiB8fCAwLCBsZXZlbCksXG4gICAgICBsYWJlbHM6IFtmcmFjdGlvbiA/ICcnICsgZnJhY3Rpb24gOiBudWxsLCBsYWJlbF0sXG4gICAgICBsYWJlbENvb3JkOiB0aGlzLmdldFRleHRDb29yZChsZXZlbCksXG4gICAgICBmcmFjdGlvbkFyY09wYWNpdHk6IG9wYWNpdHksXG4gICAgICBmcmFjdGlvbixcbiAgICAgIGNvbG9yLFxuICAgICAgdmFsdWUsXG4gICAgICBoaWRlSW5kaWNhdG9yLFxuICAgIH07XG4gIH07XG5cbiAgaGFuZGVsRGF0YSgpIHtcbiAgICByZXR1cm4gdGhpcy5kYXRhLm1hcCgoaXRlbSwgaW5kZXgpID0+XG4gICAgICB0aGlzLmdldEFyYyhcbiAgICAgICAgaW5kZXgsXG4gICAgICAgIGl0ZW0uZnJhY3Rpb24sXG4gICAgICAgIGl0ZW0udGl0bGUsXG4gICAgICAgIGl0ZW0uY29sb3IgPyAxIDogKygxIC8gKGluZGV4ICsgMSkpLnRvRml4ZWQoMiksXG4gICAgICAgIGl0ZW0udmFsdWUsXG4gICAgICAgIGl0ZW0uaGlkZUluZGljYXRvcixcbiAgICAgICAgaXRlbS5jb2xvcixcbiAgICAgICksXG4gICAgKTtcbiAgfVxuXG4gIGdldEJhY2tncm91bmRBcmNQYXRoKGxldmVsID0gMCkge1xuICAgIGNvbnN0IHNocmluayA9IGxldmVsICogdGhpcy5pbm5lclNocmluaztcbiAgICByZXR1cm4gYXJjKCkuY29ybmVyUmFkaXVzKDIwKSh7XG4gICAgICBzdGFydEFuZ2xlOiAwLFxuICAgICAgZW5kQW5nbGU6IE1hdGguUEkgKiAxLjUsXG4gICAgICBpbm5lclJhZGl1czogdGhpcy5pbm5lclJhZGl1cyAtIHNocmluayxcbiAgICAgIG91dGVyUmFkaXVzOiB0aGlzLm91dGVyUmFkaXVzIC0gc2hyaW5rLFxuICAgIH0pO1xuICB9XG5cbiAgb25SZWZyZXNoKCkge1xuICAgIHRoaXMucmVmcmVzaC5uZXh0KG51bGwpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRGcmFjdGlvbkFyY1BhdGgoZnJhY3Rpb246IG51bWJlciwgbGV2ZWwgPSAwKSB7XG4gICAgY29uc3Qgc2hyaW5rID0gbGV2ZWwgKiB0aGlzLmlubmVyU2hyaW5rO1xuICAgIGZyYWN0aW9uID0gTWF0aC5taW4oMTAwLCBmcmFjdGlvbik7XG4gICAgcmV0dXJuIGFyYygpLmNvcm5lclJhZGl1cygyMCkoe1xuICAgICAgc3RhcnRBbmdsZTogMCxcbiAgICAgIGVuZEFuZ2xlOiAoTWF0aC5QSSAqIDEuNSAqIGZyYWN0aW9uKSAvIDEwMCxcbiAgICAgIGlubmVyUmFkaXVzOiB0aGlzLmlubmVyUmFkaXVzIC0gc2hyaW5rLFxuICAgICAgb3V0ZXJSYWRpdXM6IHRoaXMub3V0ZXJSYWRpdXMgLSBzaHJpbmssXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGdldFRleHRDb29yZChsZXZlbCA9IDApOiB7IGR4OiBudW1iZXI7IGR5OiBudW1iZXIgfSB7XG4gICAgY29uc3Qgc2hyaW5rID0gbGV2ZWwgKiB0aGlzLmlubmVyU2hyaW5rO1xuICAgIHJldHVybiB7XG4gICAgICBkeDogLTQsXG4gICAgICBkeTogLSh0aGlzLm91dGVyUmFkaXVzIC0gc2hyaW5rIC0gNSksXG4gICAgfTtcbiAgfVxuXG4gIGdldExhYmVsRHggPSAoeDogbnVtYmVyLCB0ZXh0OiBudW1iZXIsIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICByZXR1cm4gaW5kZXhcbiAgICAgID8geCAtIChtZWFzdXJlVGV4dCh0aGlzLm51bWVyaWNhbExpbWl0UGlwZS50cmFuc2Zvcm0oK3RleHQpKS53aWR0aCArIDIwKVxuICAgICAgOiB4O1xuICB9O1xufVxuIiwiPHN2Z1xuICBbYXR0ci53aWR0aF09XCJzaXplICsgb2Zmc2V0XCJcbiAgW2F0dHIuaGVpZ2h0XT1cInNpemVcIlxuPlxuICA8c3ZnOmcgW2F0dHIudHJhbnNmb3JtXT1cInRyYW5zZm9ybVwiPlxuICAgIDxzdmc6ZyAqbmdGb3I9XCJsZXQgYXJjIG9mIGFyY3M7IHRyYWNrQnk6IGFyY1RyYWNrQnlGbjsgaW5kZXggYXMgaVwiPlxuICAgICAgPHN2ZzpwYXRoXG4gICAgICAgIGNsYXNzPVwiZnVsbC1hcmMtcGF0aFwiXG4gICAgICAgIFthdWlUb29sdGlwXT1cInRvb2x0aXBUZW1wbGF0ZVwiXG4gICAgICAgIFthdWlUb29sdGlwQ29udGV4dF09XCJ7IGluZGV4OiBpLCBhcmM6IGFyYyB9XCJcbiAgICAgICAgW2F0dHIuZF09XCJhcmMuYmFja2dyb3VuZEFyY1BhdGhcIlxuICAgICAgPjwvc3ZnOnBhdGg+XG4gICAgICA8c3ZnOnBhdGhcbiAgICAgICAgW3N0eWxlLmNvbG9yXT1cImFyYy5jb2xvclwiXG4gICAgICAgIFthdWlUb29sdGlwXT1cInRvb2x0aXBUZW1wbGF0ZVwiXG4gICAgICAgIFthdWlUb29sdGlwQ29udGV4dF09XCJ7IGluZGV4OiBpLCBhcmM6IGFyYyB9XCJcbiAgICAgICAgY2xhc3M9XCJmcmFjdGlvbi1hcmMtcGF0aFwiXG4gICAgICAgIFthdHRyLmZpbGxdPVwiYXJjLmNvbG9yXCJcbiAgICAgICAgW3N0eWxlLm9wYWNpdHldPVwiYXJjLmZyYWN0aW9uQXJjT3BhY2l0eVwiXG4gICAgICAgIFthdHRyLmRdPVwiYXJjLmZyYWN0aW9uQXJjUGF0aFwiXG4gICAgICAgIG5vZGVOYW1lXG4gICAgICA+PC9zdmc6cGF0aD5cbiAgICAgIDxzdmc6dGV4dFxuICAgICAgICAqbmdGb3I9XCJsZXQgbGFiZWwgb2YgYXJjLmxhYmVsczsgaW5kZXggYXMgbGFiZWxJbmRleFwiXG4gICAgICAgIGNsYXNzPVwiZnJhY3Rpb24tbGFiZWwtdGV4dFwiXG4gICAgICAgIFthdHRyLmR4XT1cIlxuICAgICAgICAgIGFyYy5sYWJlbENvb3JkLmR4XG4gICAgICAgICAgICB8IHB1cmVcbiAgICAgICAgICAgICAgOiBnZXRMYWJlbER4XG4gICAgICAgICAgICAgIDogJGFueShhcmMubGFiZWxzW2xhYmVsSW5kZXggPyBsYWJlbEluZGV4IC0gMSA6IGxhYmVsSW5kZXhdKVxuICAgICAgICAgICAgICA6IGxhYmVsSW5kZXhcbiAgICAgICAgXCJcbiAgICAgICAgW2F0dHIuZHldPVwiYXJjLmxhYmVsQ29vcmQuZHlcIlxuICAgICAgICB0ZXh0LWFuY2hvcj1cImVuZFwiXG4gICAgICAgIGFjbEluZGljYXRvckNvbG9yXG4gICAgICAgIFtpbmRpY2F0b3JdPVwibGFiZWxJbmRleCB8fCBhcmM/LmhpZGVJbmRpY2F0b3IgPyAwIDogbGFiZWxcIlxuICAgICAgPlxuICAgICAgICB7e1xuICAgICAgICAgIGxhYmVsSW5kZXhcbiAgICAgICAgICAgID8gKGxhYmVsIHwgdHJhbnNsYXRlKVxuICAgICAgICAgICAgOiAoK2xhYmVsIHwgYWNsTnVtZXJpY2FsTGltaXQgfCBhY2xGaWVsZE5vdEF2YWlsYWJsZSlcbiAgICAgICAgfX17eyBsYWJlbEluZGV4ID8gJycgOiAnJScgfX1cbiAgICAgIDwvc3ZnOnRleHQ+XG4gICAgPC9zdmc6Zz5cblxuICAgIDxzdmc6Z1xuICAgICAgY2xhc3M9XCJjZW50ZXItdGV4dFwiXG4gICAgICBkeT1cIi01XCJcbiAgICA+XG4gICAgICA8c3ZnOnRleHRcbiAgICAgICAgW3N0eWxlLmZvbnQtc2l6ZV09XCJcbiAgICAgICAgICBjYXBhY2l0eSA+IDk5OTkgfHwgYXJjcz8ubGVuZ3RoID4gMiA/ICcxNnB4JyA6ICcyNHB4J1xuICAgICAgICBcIlxuICAgICAgICB0ZXh0LWFuY2hvcj1cIm1pZGRsZVwiXG4gICAgICAgIGNsYXNzPVwiY2VudGVyLXRleHRfX21haW5cIlxuICAgICAgPlxuICAgICAgICB7eyArY2FwYWNpdHkgfCBhY2xOdW1lcmljYWxMaW1pdCB8IGFjbEZpZWxkTm90QXZhaWxhYmxlIH19XG4gICAgICA8L3N2Zzp0ZXh0PlxuICAgICAgPHN2Zzp0ZXh0XG4gICAgICAgIHRleHQtYW5jaG9yPVwibWlkZGxlXCJcbiAgICAgICAgZHk9XCIyMFwiXG4gICAgICAgIGNsYXNzPVwiY2VudGVyLXRleHRfX3N1YlwiXG4gICAgICA+XG4gICAgICAgIHt7ICd0b3RhbF9udW1iZXInIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L3N2Zzp0ZXh0PlxuICAgIDwvc3ZnOmc+XG4gIDwvc3ZnOmc+XG48L3N2Zz5cblxuPGRpdlxuICBjbGFzcz1cInN0YXR1cy1jb250YWluZXJcIlxuICAqbmdJZj1cImxvYWRpbmcgfHwgZmFpbGVkXCJcbj5cbiAgPGRpdlxuICAgICpuZ0lmPVwiZmFpbGVkICYmICFsb2FkaW5nXCJcbiAgICBjbGFzcz1cInN0YXR1cyBmYWlsZWRcIlxuICA+XG4gICAgPGF1aS1pY29uXG4gICAgICBpY29uPVwiZXhjbGFtYXRpb25fdHJpYW5nbGVfc1wiXG4gICAgICBiYWNrZ3JvdW5kPVwidHJpYW5nbGVcIlxuICAgID48L2F1aS1pY29uPlxuICAgIHt7ICdmYWlsZWRfbG9hZF9wbGVhc2UnIHwgdHJhbnNsYXRlIH19XG4gICAgPGJ1dHRvblxuICAgICAgYXVpLWJ1dHRvbj1cInRleHRcIlxuICAgICAgKGNsaWNrKT1cIm9uUmVmcmVzaCgpXCJcbiAgICA+XG4gICAgICB7eyAncmVmcmVzaCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG4gIDxkaXZcbiAgICAqbmdJZj1cImxvYWRpbmdcIlxuICAgIGNsYXNzPVwic3RhdHVzIGxvYWRpbmdcIlxuICA+XG4gICAgPGF1aS1pY29uIGljb249XCJzcGlubmVyXCI+PC9hdWktaWNvbj4ge3sgJ2xvYWRpbmcnIHwgdHJhbnNsYXRlIH19XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZVxuICAjdG9vbHRpcFRlbXBsYXRlXG4gIGxldC1pbmRleD1cImluZGV4XCJcbiAgbGV0LWFyYz1cImFyY1wiXG4+XG4gIDxpXG4gICAgY2xhc3M9XCJkb3RcIlxuICAgIFtzdHlsZS5iYWNrZ3JvdW5kXT1cImFyYy5jb2xvclwiXG4gID48L2k+XG4gIHt7IGFyYy5sYWJlbHNbMV0gfCB0cmFuc2xhdGUgfX06XG4gIHt7ICthcmMubGFiZWxzWzBdIHwgYWNsTnVtZXJpY2FsTGltaXQgfCBhY2xGaWVsZE5vdEF2YWlsYWJsZSB9fSUgKHt7XG4gICAgK2FyYy52YWx1ZSB8IGFjbE51bWVyaWNhbExpbWl0IHwgYWNsRmllbGROb3RBdmFpbGFibGVcbiAgfX1cbiAge3sgdW5pdCB8IHRyYW5zbGF0ZSB9fSlcbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -0,0 +1,14 @@
1
+ let _context;
2
+ export function getCanvasContext() {
3
+ if (!_context) {
4
+ _context = document.createElement('canvas').getContext('2d');
5
+ }
6
+ return _context;
7
+ }
8
+ export function measureText(text, fontSize = 12) {
9
+ const fontStyle = `${fontSize}px`;
10
+ const context = getCanvasContext();
11
+ context.font = fontStyle;
12
+ return context.measureText(text);
13
+ }
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvcGllLWRlcml2YXRpdmUtY2hhcnQvdW5pdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsSUFBSSxRQUFrQyxDQUFDO0FBQ3ZDLE1BQU0sVUFBVSxnQkFBZ0I7SUFDOUIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2QsUUFBUSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBRSxDQUFDO0lBQ2hFLENBQUM7SUFDRCxPQUFPLFFBQVEsQ0FBQztBQUNsQixDQUFDO0FBRUQsTUFBTSxVQUFVLFdBQVcsQ0FBQyxJQUFZLEVBQUUsUUFBUSxHQUFHLEVBQUU7SUFDckQsTUFBTSxTQUFTLEdBQUcsR0FBRyxRQUFRLElBQUksQ0FBQztJQUNsQyxNQUFNLE9BQU8sR0FBRyxnQkFBZ0IsRUFBRSxDQUFDO0lBQ25DLE9BQU8sQ0FBQyxJQUFJLEdBQUcsU0FBUyxDQUFDO0lBQ3pCLE9BQU8sT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNuQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsibGV0IF9jb250ZXh0OiBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ7XG5leHBvcnQgZnVuY3Rpb24gZ2V0Q2FudmFzQ29udGV4dCgpIHtcbiAgaWYgKCFfY29udGV4dCkge1xuICAgIF9jb250ZXh0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJykuZ2V0Q29udGV4dCgnMmQnKSE7XG4gIH1cbiAgcmV0dXJuIF9jb250ZXh0O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWVhc3VyZVRleHQodGV4dDogc3RyaW5nLCBmb250U2l6ZSA9IDEyKTogVGV4dE1ldHJpY3Mge1xuICBjb25zdCBmb250U3R5bGUgPSBgJHtmb250U2l6ZX1weGA7XG4gIGNvbnN0IGNvbnRleHQgPSBnZXRDYW52YXNDb250ZXh0KCk7XG4gIGNvbnRleHQuZm9udCA9IGZvbnRTdHlsZTtcbiAgcmV0dXJuIGNvbnRleHQubWVhc3VyZVRleHQodGV4dCk7XG59XG4iXX0=
@@ -0,0 +1,167 @@
1
+ import { IconModule, TooltipModule } from '@alauda/ui';
2
+ import { NgClass, NgFor, NgIf, NgStyle, NgTemplateOutlet, } from '@angular/common';
3
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
4
+ import { PurePipe } from '../core/public-api';
5
+ import { StatusIconComponent } from '../widget/public-api';
6
+ import { getPodAggregatedStatus, getPodStatus } from './status';
7
+ import { PodStatusColorMapper, PodStatusIconMapper } from './typings';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@alauda/ui";
10
+ const _c0 = () => ({ "margin-right": 0 });
11
+ const _c1 = a0 => ({ "tw-flex": a0 });
12
+ const _c2 = a0 => ({ $implicit: a0 });
13
+ const _c3 = a0 => ({ messages: a0 });
14
+ function PodStatusComponent_ng_container_0_div_5_Template(rf, ctx) { if (rf & 1) {
15
+ i0.ɵɵelementStart(0, "div", 12);
16
+ i0.ɵɵtext(1);
17
+ i0.ɵɵelementEnd();
18
+ } if (rf & 2) {
19
+ const ctx_r0 = i0.ɵɵnextContext(2);
20
+ i0.ɵɵadvance();
21
+ i0.ɵɵtextInterpolate1(" ", ctx_r0.pod == null ? null : ctx_r0.pod.status == null ? null : ctx_r0.pod.status.phase, " - ");
22
+ } }
23
+ function PodStatusComponent_ng_container_0_ng_template_10_Template(rf, ctx) { if (rf & 1) {
24
+ i0.ɵɵtext(0);
25
+ } if (rf & 2) {
26
+ const data_r2 = ctx.$implicit;
27
+ i0.ɵɵtextInterpolate2(" (", data_r2.ready, "/", data_r2.all, ") ");
28
+ } }
29
+ function PodStatusComponent_ng_container_0_ng_container_12_aui_icon_1_Template(rf, ctx) { if (rf & 1) {
30
+ i0.ɵɵelement(0, "aui-icon", 14);
31
+ } if (rf & 2) {
32
+ const messages_r3 = i0.ɵɵnextContext().ngIf;
33
+ i0.ɵɵnextContext(2);
34
+ const podMessages_r4 = i0.ɵɵreference(5);
35
+ const onlyOnePodMessage_r5 = i0.ɵɵreference(7);
36
+ i0.ɵɵproperty("auiTooltip", messages_r3.length === 1 ? onlyOnePodMessage_r5 : podMessages_r4)("auiTooltipContext", i0.ɵɵpureFunction1(2, _c3, messages_r3));
37
+ } }
38
+ function PodStatusComponent_ng_container_0_ng_container_12_Template(rf, ctx) { if (rf & 1) {
39
+ i0.ɵɵelementContainerStart(0);
40
+ i0.ɵɵtemplate(1, PodStatusComponent_ng_container_0_ng_container_12_aui_icon_1_Template, 1, 4, "aui-icon", 13);
41
+ i0.ɵɵelementContainerEnd();
42
+ } if (rf & 2) {
43
+ const messages_r3 = ctx.ngIf;
44
+ const ctx_r0 = i0.ɵɵnextContext(2);
45
+ i0.ɵɵadvance();
46
+ i0.ɵɵproperty("ngIf", (messages_r3 == null ? null : messages_r3.length) && !ctx_r0.disableMessageOverview);
47
+ } }
48
+ function PodStatusComponent_ng_container_0_Template(rf, ctx) { if (rf & 1) {
49
+ i0.ɵɵelementContainerStart(0);
50
+ i0.ɵɵelementStart(1, "div", 5);
51
+ i0.ɵɵelement(2, "acl-status-icon", 6);
52
+ i0.ɵɵpipe(3, "pure");
53
+ i0.ɵɵelementStart(4, "div", 7);
54
+ i0.ɵɵtemplate(5, PodStatusComponent_ng_container_0_div_5_Template, 2, 1, "div", 8);
55
+ i0.ɵɵelementStart(6, "div", 9);
56
+ i0.ɵɵtext(7);
57
+ i0.ɵɵelementContainer(8, 10);
58
+ i0.ɵɵpipe(9, "pure");
59
+ i0.ɵɵtemplate(10, PodStatusComponent_ng_container_0_ng_template_10_Template, 1, 2, "ng-template", null, 3, i0.ɵɵtemplateRefExtractor)(12, PodStatusComponent_ng_container_0_ng_container_12_Template, 2, 1, "ng-container", 11);
60
+ i0.ɵɵpipe(13, "pure");
61
+ i0.ɵɵelementEnd()()();
62
+ i0.ɵɵelementContainerEnd();
63
+ } if (rf & 2) {
64
+ const status_r6 = ctx.ngIf;
65
+ const readyContainerTmpl_r7 = i0.ɵɵreference(11);
66
+ const ctx_r0 = i0.ɵɵnextContext();
67
+ i0.ɵɵadvance(2);
68
+ i0.ɵɵproperty("status", i0.ɵɵpipeBind2(3, 11, status_r6, ctx_r0.getPodAggregatedStatus))("colorMapper", ctx_r0.PodStatusColorMapper)("iconMapper", ctx_r0.PodStatusIconMapper)("withText", false)("ngStyle", i0.ɵɵpureFunction0(20, _c0));
69
+ i0.ɵɵadvance(2);
70
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(21, _c1, ctx_r0.showNativeStatusWrap));
71
+ i0.ɵɵadvance();
72
+ i0.ɵɵproperty("ngIf", ctx_r0.showNativeStatus && (ctx_r0.pod == null ? null : ctx_r0.pod.status == null ? null : ctx_r0.pod.status.phase) !== status_r6);
73
+ i0.ɵɵadvance(2);
74
+ i0.ɵɵtextInterpolate1(" ", status_r6, " ");
75
+ i0.ɵɵadvance();
76
+ i0.ɵɵproperty("ngTemplateOutlet", readyContainerTmpl_r7)("ngTemplateOutletContext", i0.ɵɵpureFunction1(23, _c2, i0.ɵɵpipeBind2(9, 14, ctx_r0.pod, ctx_r0.getReadyContainer)));
77
+ i0.ɵɵadvance(4);
78
+ i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind2(13, 17, ctx_r0.pod, ctx_r0.getPodErrorMessages));
79
+ } }
80
+ function PodStatusComponent_ng_template_2_Template(rf, ctx) { if (rf & 1) {
81
+ i0.ɵɵtext(0, "-");
82
+ } }
83
+ function PodStatusComponent_ng_template_4_li_1_Template(rf, ctx) { if (rf & 1) {
84
+ i0.ɵɵelementStart(0, "li")(1, "em");
85
+ i0.ɵɵtext(2, "\u2022");
86
+ i0.ɵɵelementEnd();
87
+ i0.ɵɵtext(3);
88
+ i0.ɵɵelementEnd();
89
+ } if (rf & 2) {
90
+ const msg_r8 = ctx.$implicit;
91
+ i0.ɵɵadvance(3);
92
+ i0.ɵɵtextInterpolate(msg_r8);
93
+ } }
94
+ function PodStatusComponent_ng_template_4_Template(rf, ctx) { if (rf & 1) {
95
+ i0.ɵɵelementStart(0, "ul", 15);
96
+ i0.ɵɵtemplate(1, PodStatusComponent_ng_template_4_li_1_Template, 4, 1, "li", 16);
97
+ i0.ɵɵelementEnd();
98
+ } if (rf & 2) {
99
+ const messages_r9 = ctx.messages;
100
+ i0.ɵɵadvance();
101
+ i0.ɵɵproperty("ngForOf", messages_r9);
102
+ } }
103
+ function PodStatusComponent_ng_template_6_Template(rf, ctx) { if (rf & 1) {
104
+ i0.ɵɵtext(0);
105
+ } if (rf & 2) {
106
+ const messages_r10 = ctx.messages;
107
+ i0.ɵɵtextInterpolate1(" ", messages_r10[0], "\n");
108
+ } }
109
+ export class PodStatusComponent {
110
+ constructor() {
111
+ this.getPodErrorMessages = (pod) => getPodStatus(pod).includes('Pending')
112
+ ? pod.status.conditions?.map(item => item.message).filter(msg => !!msg)
113
+ : pod.status.containerStatuses
114
+ ?.filter(c => !c.ready)
115
+ .map(c => c.state?.waiting?.message)
116
+ .filter(msg => !!msg);
117
+ this.getPodAggregatedStatus = getPodAggregatedStatus;
118
+ this.getPodStatus = getPodStatus;
119
+ this.PodStatusColorMapper = PodStatusColorMapper;
120
+ this.PodStatusIconMapper = PodStatusIconMapper;
121
+ }
122
+ getReadyContainer(pod) {
123
+ return {
124
+ ready: (pod.status.containerStatuses || []).filter(i => i.ready).length,
125
+ all: pod.spec.containers.length,
126
+ };
127
+ }
128
+ static { this.ɵfac = function PodStatusComponent_Factory(t) { return new (t || PodStatusComponent)(); }; }
129
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PodStatusComponent, selectors: [["acl-pod-status"]], inputs: { pod: "pod", showNativeStatus: "showNativeStatus", showNativeStatusWrap: "showNativeStatusWrap", disableMessageOverview: "disableMessageOverview" }, standalone: true, features: [i0.ɵɵStandaloneFeature], decls: 8, vars: 5, consts: [["nodata", ""], ["podMessages", ""], ["onlyOnePodMessage", ""], ["readyContainerTmpl", ""], [4, "ngIf", "ngIfElse"], [1, "status-wrapper"], [3, "status", "colorMapper", "iconMapper", "withText", "ngStyle"], [3, "ngClass"], ["class", "tw-mb-4 tw-mr-4", 4, "ngIf"], [1, "tw-flex"], [3, "ngTemplateOutlet", "ngTemplateOutletContext"], [4, "ngIf"], [1, "tw-mb-4", "tw-mr-4"], ["icon", "file_magnifier", "class", "message-tip-icon", "size", "14", "auiTooltipClass", "condition-message-tip", 3, "auiTooltip", "auiTooltipContext", 4, "ngIf"], ["icon", "file_magnifier", "size", "14", "auiTooltipClass", "condition-message-tip", 1, "message-tip-icon", 3, "auiTooltip", "auiTooltipContext"], [1, "pod-messages"], [4, "ngFor", "ngForOf"]], template: function PodStatusComponent_Template(rf, ctx) { if (rf & 1) {
130
+ i0.ɵɵtemplate(0, PodStatusComponent_ng_container_0_Template, 14, 25, "ng-container", 4);
131
+ i0.ɵɵpipe(1, "pure");
132
+ i0.ɵɵtemplate(2, PodStatusComponent_ng_template_2_Template, 1, 0, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor)(4, PodStatusComponent_ng_template_4_Template, 2, 1, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor)(6, PodStatusComponent_ng_template_6_Template, 1, 1, "ng-template", null, 2, i0.ɵɵtemplateRefExtractor);
133
+ } if (rf & 2) {
134
+ const nodata_r11 = i0.ɵɵreference(3);
135
+ i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind2(1, 2, ctx.pod, ctx.getPodStatus))("ngIfElse", nodata_r11);
136
+ } }, dependencies: [StatusIconComponent,
137
+ NgIf,
138
+ IconModule, i1.IconComponent, TooltipModule, i1.TooltipDirective, NgStyle,
139
+ NgClass,
140
+ NgTemplateOutlet,
141
+ PurePipe,
142
+ NgFor], styles: ["[_nghost-%COMP%]{display:flex}[_nghost-%COMP%] .condition-message-tip{white-space:pre-line}[_nghost-%COMP%] .message-tip-icon[_ngcontent-%COMP%]{margin-left:6px}[_nghost-%COMP%] .status-wrapper[_ngcontent-%COMP%]{display:flex;overflow:hidden;text-overflow:ellipsis}.pod-messages[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{padding-left:8px}.pod-messages[_ngcontent-%COMP%] li[_ngcontent-%COMP%] em[_ngcontent-%COMP%]{color:rgb(var(--aui-color-n-4));margin-right:4px;margin-left:-8px;font-size:14px}"], changeDetection: 0 }); }
143
+ }
144
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PodStatusComponent, [{
145
+ type: Component,
146
+ args: [{ selector: 'acl-pod-status', standalone: true, imports: [
147
+ StatusIconComponent,
148
+ NgIf,
149
+ IconModule,
150
+ TooltipModule,
151
+ NgStyle,
152
+ NgClass,
153
+ NgTemplateOutlet,
154
+ PurePipe,
155
+ NgFor,
156
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"pod | pure: getPodStatus as status; else nodata\">\n <div class=\"status-wrapper\">\n <acl-status-icon\n [status]=\"status | pure: getPodAggregatedStatus\"\n [colorMapper]=\"PodStatusColorMapper\"\n [iconMapper]=\"PodStatusIconMapper\"\n [withText]=\"false\"\n [ngStyle]=\"{ 'margin-right': 0 }\"\n ></acl-status-icon>\n <div [ngClass]=\"{ 'tw-flex': showNativeStatusWrap }\">\n <div\n class=\"tw-mb-4 tw-mr-4\"\n *ngIf=\"showNativeStatus && pod?.status?.phase !== status\"\n >\n {{ pod?.status?.phase }} -\n </div>\n <div class=\"tw-flex\">\n {{ status }}\n <ng-container\n [ngTemplateOutlet]=\"readyContainerTmpl\"\n [ngTemplateOutletContext]=\"{\n $implicit: pod | pure: getReadyContainer\n }\"\n ></ng-container>\n <ng-template\n #readyContainerTmpl\n let-data\n >\n ({{ data.ready }}/{{ data.all }})\n </ng-template>\n <ng-container *ngIf=\"pod | pure: getPodErrorMessages as messages\">\n <aui-icon\n icon=\"file_magnifier\"\n *ngIf=\"messages?.length && !disableMessageOverview\"\n class=\"message-tip-icon\"\n [auiTooltip]=\"\n messages.length === 1 ? onlyOnePodMessage : podMessages\n \"\n [auiTooltipContext]=\"{ messages: messages }\"\n size=\"14\"\n auiTooltipClass=\"condition-message-tip\"\n ></aui-icon>\n </ng-container>\n </div>\n </div>\n </div>\n</ng-container>\n<ng-template #nodata>-</ng-template>\n<ng-template\n #podMessages\n let-messages=\"messages\"\n>\n <ul class=\"pod-messages\">\n <li *ngFor=\"let msg of messages\"><em>&bull;</em>{{ msg }}</li>\n </ul>\n</ng-template>\n<ng-template\n #onlyOnePodMessage\n let-messages=\"messages\"\n>\n {{ messages[0] }}\n</ng-template>\n", styles: [":host{display:flex}:host ::ng-deep .condition-message-tip{white-space:pre-line}:host .message-tip-icon{margin-left:6px}:host .status-wrapper{display:flex;overflow:hidden;text-overflow:ellipsis}.pod-messages li{padding-left:8px}.pod-messages li em{color:rgb(var(--aui-color-n-4));margin-right:4px;margin-left:-8px;font-size:14px}\n"] }]
157
+ }], null, { pod: [{
158
+ type: Input
159
+ }], showNativeStatus: [{
160
+ type: Input
161
+ }], showNativeStatusWrap: [{
162
+ type: Input
163
+ }], disableMessageOverview: [{
164
+ type: Input
165
+ }] }); })();
166
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PodStatusComponent, { className: "PodStatusComponent" }); })();
167
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL3BvZC1zdGF0dXMvY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL3BvZC1zdGF0dXMvdGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN2RCxPQUFPLEVBQ0wsT0FBTyxFQUNQLEtBQUssRUFDTCxJQUFJLEVBQ0osT0FBTyxFQUNQLGdCQUFnQixHQUNqQixNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFFLE9BQU8sRUFBTyxRQUFRLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUUzRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsWUFBWSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7Ozs7Ozs7SUNKaEUsK0JBR0M7SUFDQyxZQUNGO0lBQUEsaUJBQU07OztJQURKLGNBQ0Y7SUFERSx5SEFDRjs7O0lBYUksWUFDRjs7O0lBREUsa0VBQ0Y7OztJQUVFLCtCQVVZOzs7Ozs7SUFIVixBQUhBLDZGQUVDLDhEQUMyQzs7O0lBUmhELDZCQUFrRTtJQUNoRSw2R0FVQzs7Ozs7SUFSRSxjQUFpRDtJQUFqRCwwR0FBaUQ7OztJQWpDOUQsNkJBQXNFO0lBQ3BFLDhCQUE0QjtJQUMxQixxQ0FNbUI7O0lBQ25CLDhCQUFxRDtJQUNuRCxrRkFHQztJQUdELDhCQUFxQjtJQUNuQixZQUNBO0lBQUEsNEJBS2dCOztJQU9oQixBQU5BLHFJQUdD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O2tCQURyQixLQUFLOztrRkFWSyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJY29uTW9kdWxlLCBUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFsYXVkYS91aSc7XG5pbXBvcnQge1xuICBOZ0NsYXNzLFxuICBOZ0ZvcixcbiAgTmdJZixcbiAgTmdTdHlsZSxcbiAgTmdUZW1wbGF0ZU91dGxldCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFBvZCwgUHVyZVBpcGUgfSBmcm9tICcuLi9jb3JlL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgU3RhdHVzSWNvbkNvbXBvbmVudCB9IGZyb20gJy4uL3dpZGdldC9wdWJsaWMtYXBpJztcblxuaW1wb3J0IHsgZ2V0UG9kQWdncmVnYXRlZFN0YXR1cywgZ2V0UG9kU3RhdHVzIH0gZnJvbSAnLi9zdGF0dXMnO1xuaW1wb3J0IHsgUG9kU3RhdHVzQ29sb3JNYXBwZXIsIFBvZFN0YXR1c0ljb25NYXBwZXIgfSBmcm9tICcuL3R5cGluZ3MnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhY2wtcG9kLXN0YXR1cycsXG4gIHRlbXBsYXRlVXJsOiAndGVtcGxhdGUuaHRtbCcsXG4gIHN0eWxlVXJsczogWydzdHlsZS5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBTdGF0dXNJY29uQ29tcG9uZW50LFxuICAgIE5nSWYsXG4gICAgSWNvbk1vZHVsZSxcbiAgICBUb29sdGlwTW9kdWxlLFxuICAgIE5nU3R5bGUsXG4gICAgTmdDbGFzcyxcbiAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgIFB1cmVQaXBlLFxuICAgIE5nRm9yLFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgUG9kU3RhdHVzQ29tcG9uZW50IHtcbiAgQElucHV0KClcbiAgcG9kOiBQb2Q7XG5cbiAgQElucHV0KClcbiAgc2hvd05hdGl2ZVN0YXR1czogYm9vbGVhbjtcblxuICBASW5wdXQoKVxuICBzaG93TmF0aXZlU3RhdHVzV3JhcDogYm9vbGVhbjtcblxuICBASW5wdXQoKVxuICBkaXNhYmxlTWVzc2FnZU92ZXJ2aWV3OiBib29sZWFuO1xuXG4gIGdldFJlYWR5Q29udGFpbmVyKHBvZDogUG9kKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHJlYWR5OiAocG9kLnN0YXR1cy5jb250YWluZXJTdGF0dXNlcyB8fCBbXSkuZmlsdGVyKGkgPT4gaS5yZWFkeSkubGVuZ3RoLFxuICAgICAgYWxsOiBwb2Quc3BlYy5jb250YWluZXJzLmxlbmd0aCxcbiAgICB9O1xuICB9XG5cbiAgZ2V0UG9kRXJyb3JNZXNzYWdlcyA9IChwb2Q6IFBvZCkgPT5cbiAgICBnZXRQb2RTdGF0dXMocG9kKS5pbmNsdWRlcygnUGVuZGluZycpXG4gICAgICA/IHBvZC5zdGF0dXMuY29uZGl0aW9ucz8ubWFwKGl0ZW0gPT4gaXRlbS5tZXNzYWdlKS5maWx0ZXIobXNnID0+ICEhbXNnKVxuICAgICAgOiBwb2Quc3RhdHVzLmNvbnRhaW5lclN0YXR1c2VzXG4gICAgICAgICAgPy5maWx0ZXIoYyA9PiAhYy5yZWFkeSlcbiAgICAgICAgICAubWFwKGMgPT4gYy5zdGF0ZT8ud2FpdGluZz8ubWVzc2FnZSlcbiAgICAgICAgICAuZmlsdGVyKG1zZyA9PiAhIW1zZyk7XG5cbiAgZ2V0UG9kQWdncmVnYXRlZFN0YXR1cyA9IGdldFBvZEFnZ3JlZ2F0ZWRTdGF0dXM7XG4gIGdldFBvZFN0YXR1cyA9IGdldFBvZFN0YXR1cztcbiAgUG9kU3RhdHVzQ29sb3JNYXBwZXIgPSBQb2RTdGF0dXNDb2xvck1hcHBlcjtcbiAgUG9kU3RhdHVzSWNvbk1hcHBlciA9IFBvZFN0YXR1c0ljb25NYXBwZXI7XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwicG9kIHwgcHVyZTogZ2V0UG9kU3RhdHVzIGFzIHN0YXR1czsgZWxzZSBub2RhdGFcIj5cbiAgPGRpdiBjbGFzcz1cInN0YXR1cy13cmFwcGVyXCI+XG4gICAgPGFjbC1zdGF0dXMtaWNvblxuICAgICAgW3N0YXR1c109XCJzdGF0dXMgfCBwdXJlOiBnZXRQb2RBZ2dyZWdhdGVkU3RhdHVzXCJcbiAgICAgIFtjb2xvck1hcHBlcl09XCJQb2RTdGF0dXNDb2xvck1hcHBlclwiXG4gICAgICBbaWNvbk1hcHBlcl09XCJQb2RTdGF0dXNJY29uTWFwcGVyXCJcbiAgICAgIFt3aXRoVGV4dF09XCJmYWxzZVwiXG4gICAgICBbbmdTdHlsZV09XCJ7ICdtYXJnaW4tcmlnaHQnOiAwIH1cIlxuICAgID48L2FjbC1zdGF0dXMtaWNvbj5cbiAgICA8ZGl2IFtuZ0NsYXNzXT1cInsgJ3R3LWZsZXgnOiBzaG93TmF0aXZlU3RhdHVzV3JhcCB9XCI+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwidHctbWItNCB0dy1tci00XCJcbiAgICAgICAgKm5nSWY9XCJzaG93TmF0aXZlU3RhdHVzICYmIHBvZD8uc3RhdHVzPy5waGFzZSAhPT0gc3RhdHVzXCJcbiAgICAgID5cbiAgICAgICAge3sgcG9kPy5zdGF0dXM/LnBoYXNlIH19IC1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInR3LWZsZXhcIj5cbiAgICAgICAge3sgc3RhdHVzIH19XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJyZWFkeUNvbnRhaW5lclRtcGxcIlxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7XG4gICAgICAgICAgICAkaW1wbGljaXQ6IHBvZCB8IHB1cmU6IGdldFJlYWR5Q29udGFpbmVyXG4gICAgICAgICAgfVwiXG4gICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgI3JlYWR5Q29udGFpbmVyVG1wbFxuICAgICAgICAgIGxldC1kYXRhXG4gICAgICAgID5cbiAgICAgICAgICAoe3sgZGF0YS5yZWFkeSB9fS97eyBkYXRhLmFsbCB9fSlcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInBvZCB8IHB1cmU6IGdldFBvZEVycm9yTWVzc2FnZXMgYXMgbWVzc2FnZXNcIj5cbiAgICAgICAgICA8YXVpLWljb25cbiAgICAgICAgICAgIGljb249XCJmaWxlX21hZ25pZmllclwiXG4gICAgICAgICAgICAqbmdJZj1cIm1lc3NhZ2VzPy5sZW5ndGggJiYgIWRpc2FibGVNZXNzYWdlT3ZlcnZpZXdcIlxuICAgICAgICAgICAgY2xhc3M9XCJtZXNzYWdlLXRpcC1pY29uXCJcbiAgICAgICAgICAgIFthdWlUb29sdGlwXT1cIlxuICAgICAgICAgICAgICBtZXNzYWdlcy5sZW5ndGggPT09IDEgPyBvbmx5T25lUG9kTWVzc2FnZSA6IHBvZE1lc3NhZ2VzXG4gICAgICAgICAgICBcIlxuICAgICAgICAgICAgW2F1aVRvb2x0aXBDb250ZXh0XT1cInsgbWVzc2FnZXM6IG1lc3NhZ2VzIH1cIlxuICAgICAgICAgICAgc2l6ZT1cIjE0XCJcbiAgICAgICAgICAgIGF1aVRvb2x0aXBDbGFzcz1cImNvbmRpdGlvbi1tZXNzYWdlLXRpcFwiXG4gICAgICAgICAgPjwvYXVpLWljb24+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG48bmctdGVtcGxhdGUgI25vZGF0YT4tPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZVxuICAjcG9kTWVzc2FnZXNcbiAgbGV0LW1lc3NhZ2VzPVwibWVzc2FnZXNcIlxuPlxuICA8dWwgY2xhc3M9XCJwb2QtbWVzc2FnZXNcIj5cbiAgICA8bGkgKm5nRm9yPVwibGV0IG1zZyBvZiBtZXNzYWdlc1wiPjxlbT4mYnVsbDs8L2VtPnt7IG1zZyB9fTwvbGk+XG4gIDwvdWw+XG48L25nLXRlbXBsYXRlPlxuPG5nLXRlbXBsYXRlXG4gICNvbmx5T25lUG9kTWVzc2FnZVxuICBsZXQtbWVzc2FnZXM9XCJtZXNzYWdlc1wiXG4+XG4gIHt7IG1lc3NhZ2VzWzBdIH19XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -0,0 +1,4 @@
1
+ export * from './typings';
2
+ export * from './status';
3
+ export * from './component';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9wb2Qtc3RhdHVzL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3R5cGluZ3MnO1xuZXhwb3J0ICogZnJvbSAnLi9zdGF0dXMnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnQnO1xuIl19