@perses-dev/gauge-chart-plugin 0.12.1 → 0.13.0-beta.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 (200) hide show
  1. package/__mf/css/async/236.85c2cbf6.css +1 -0
  2. package/__mf/font/inter-cyrillic-300-normal.432f2b21.woff +0 -0
  3. package/__mf/font/inter-cyrillic-300-normal.9da91009.woff2 +0 -0
  4. package/__mf/font/inter-cyrillic-400-normal.372704ff.woff2 +0 -0
  5. package/__mf/font/inter-cyrillic-400-normal.a6b6ef6f.woff +0 -0
  6. package/__mf/font/inter-cyrillic-500-normal.7c15bba8.woff2 +0 -0
  7. package/__mf/font/inter-cyrillic-500-normal.b9f8c929.woff +0 -0
  8. package/__mf/font/inter-cyrillic-600-normal.2f42892a.woff2 +0 -0
  9. package/__mf/font/inter-cyrillic-600-normal.c3987adc.woff +0 -0
  10. package/__mf/font/inter-cyrillic-700-normal.93eba3c3.woff +0 -0
  11. package/__mf/font/inter-cyrillic-700-normal.e9e5b2dc.woff2 +0 -0
  12. package/__mf/font/inter-cyrillic-900-normal.f285bd7a.woff2 +0 -0
  13. package/__mf/font/inter-cyrillic-900-normal.ffbd8a3a.woff +0 -0
  14. package/__mf/font/inter-cyrillic-ext-300-normal.95bb9038.woff2 +0 -0
  15. package/__mf/font/inter-cyrillic-ext-300-normal.cfc143a9.woff +0 -0
  16. package/__mf/font/inter-cyrillic-ext-400-normal.2a31c04b.woff +0 -0
  17. package/__mf/font/inter-cyrillic-ext-400-normal.f572b170.woff2 +0 -0
  18. package/__mf/font/inter-cyrillic-ext-500-normal.5a6bb1da.woff +0 -0
  19. package/__mf/font/inter-cyrillic-ext-500-normal.fe0d9b14.woff2 +0 -0
  20. package/__mf/font/inter-cyrillic-ext-600-normal.ecbdecad.woff +0 -0
  21. package/__mf/font/inter-cyrillic-ext-600-normal.f7b3c15b.woff2 +0 -0
  22. package/__mf/font/inter-cyrillic-ext-700-normal.4b4022a6.woff +0 -0
  23. package/__mf/font/inter-cyrillic-ext-700-normal.74b516d2.woff2 +0 -0
  24. package/__mf/font/inter-cyrillic-ext-900-normal.9970ddb5.woff +0 -0
  25. package/__mf/font/inter-cyrillic-ext-900-normal.a0d59adc.woff2 +0 -0
  26. package/__mf/font/inter-greek-300-normal.0d7be683.woff2 +0 -0
  27. package/__mf/font/inter-greek-300-normal.8f0b988e.woff +0 -0
  28. package/__mf/font/inter-greek-400-normal.cc58c11b.woff +0 -0
  29. package/__mf/font/inter-greek-400-normal.d7020e3c.woff2 +0 -0
  30. package/__mf/font/inter-greek-500-normal.d9a33207.woff +0 -0
  31. package/__mf/font/inter-greek-500-normal.f41f43db.woff2 +0 -0
  32. package/__mf/font/inter-greek-600-normal.4ec0c1c1.woff +0 -0
  33. package/__mf/font/inter-greek-600-normal.cc532937.woff2 +0 -0
  34. package/__mf/font/inter-greek-700-normal.5ec6c758.woff +0 -0
  35. package/__mf/font/inter-greek-700-normal.97f0eeeb.woff2 +0 -0
  36. package/__mf/font/inter-greek-900-normal.46b66369.woff2 +0 -0
  37. package/__mf/font/inter-greek-900-normal.9ae3a3c5.woff +0 -0
  38. package/__mf/font/inter-greek-ext-300-normal.10247a66.woff2 +0 -0
  39. package/__mf/font/inter-greek-ext-300-normal.4668e5cb.woff +0 -0
  40. package/__mf/font/inter-greek-ext-400-normal.4ce1df5d.woff2 +0 -0
  41. package/__mf/font/inter-greek-ext-400-normal.88ede1ea.woff +0 -0
  42. package/__mf/font/inter-greek-ext-500-normal.7a4aa726.woff +0 -0
  43. package/__mf/font/inter-greek-ext-500-normal.cbd51e2d.woff2 +0 -0
  44. package/__mf/font/inter-greek-ext-600-normal.089a95ee.woff +0 -0
  45. package/__mf/font/inter-greek-ext-600-normal.1f33d317.woff2 +0 -0
  46. package/__mf/font/inter-greek-ext-700-normal.31f1075d.woff +0 -0
  47. package/__mf/font/inter-greek-ext-700-normal.827cd618.woff2 +0 -0
  48. package/__mf/font/inter-greek-ext-900-normal.531bcee7.woff +0 -0
  49. package/__mf/font/inter-greek-ext-900-normal.8a9b36b9.woff2 +0 -0
  50. package/__mf/font/inter-latin-300-normal.15fb600d.woff2 +0 -0
  51. package/__mf/font/inter-latin-300-normal.6f95f590.woff +0 -0
  52. package/__mf/font/inter-latin-400-normal.2c7a775c.woff +0 -0
  53. package/__mf/font/inter-latin-400-normal.ef6d3f52.woff2 +0 -0
  54. package/__mf/font/inter-latin-500-normal.b7b43ace.woff2 +0 -0
  55. package/__mf/font/inter-latin-500-normal.cb4c8ceb.woff +0 -0
  56. package/__mf/font/inter-latin-600-normal.8fb1a964.woff2 +0 -0
  57. package/__mf/font/inter-latin-600-normal.ce0f5f43.woff +0 -0
  58. package/__mf/font/inter-latin-700-normal.953b7aa5.woff2 +0 -0
  59. package/__mf/font/inter-latin-700-normal.9c21d4dc.woff +0 -0
  60. package/__mf/font/inter-latin-900-normal.2a8028ec.woff2 +0 -0
  61. package/__mf/font/inter-latin-900-normal.fa252135.woff +0 -0
  62. package/__mf/font/inter-latin-ext-300-normal.167cc8c9.woff2 +0 -0
  63. package/__mf/font/inter-latin-ext-300-normal.f695be66.woff +0 -0
  64. package/__mf/font/inter-latin-ext-400-normal.32a25442.woff2 +0 -0
  65. package/__mf/font/inter-latin-ext-400-normal.4edcaace.woff +0 -0
  66. package/__mf/font/inter-latin-ext-500-normal.a19a84a6.woff +0 -0
  67. package/__mf/font/inter-latin-ext-500-normal.d9b491de.woff2 +0 -0
  68. package/__mf/font/inter-latin-ext-600-normal.38b075d8.woff2 +0 -0
  69. package/__mf/font/inter-latin-ext-600-normal.49faa47a.woff +0 -0
  70. package/__mf/font/inter-latin-ext-700-normal.93534b50.woff +0 -0
  71. package/__mf/font/inter-latin-ext-700-normal.b63daa1a.woff2 +0 -0
  72. package/__mf/font/inter-latin-ext-900-normal.0efdb307.woff +0 -0
  73. package/__mf/font/inter-latin-ext-900-normal.9c0fc2c7.woff2 +0 -0
  74. package/__mf/font/inter-vietnamese-300-normal.aad496d8.woff +0 -0
  75. package/__mf/font/inter-vietnamese-300-normal.ad9ef503.woff2 +0 -0
  76. package/__mf/font/inter-vietnamese-400-normal.a9dd2faf.woff +0 -0
  77. package/__mf/font/inter-vietnamese-400-normal.de4fc44f.woff2 +0 -0
  78. package/__mf/font/inter-vietnamese-500-normal.7c0a695f.woff2 +0 -0
  79. package/__mf/font/inter-vietnamese-500-normal.a3a73b95.woff +0 -0
  80. package/__mf/font/inter-vietnamese-600-normal.9d518599.woff2 +0 -0
  81. package/__mf/font/inter-vietnamese-600-normal.c5ce3fcb.woff +0 -0
  82. package/__mf/font/inter-vietnamese-700-normal.bc68b199.woff +0 -0
  83. package/__mf/font/inter-vietnamese-700-normal.faf12809.woff2 +0 -0
  84. package/__mf/font/inter-vietnamese-900-normal.2b782045.woff +0 -0
  85. package/__mf/font/inter-vietnamese-900-normal.e639b65a.woff2 +0 -0
  86. package/__mf/js/GaugeChart.bad14568.js +7 -0
  87. package/__mf/js/async/1.ba1e7b30.js +30 -0
  88. package/__mf/js/async/{181.c020220f.js.LICENSE.txt → 1.ba1e7b30.js.LICENSE.txt} +17 -1
  89. package/__mf/js/async/121.f54c0cd0.js +2 -0
  90. package/__mf/js/async/172.eae65503.js +110 -0
  91. package/__mf/js/async/177.9bd5b404.js +1 -0
  92. package/__mf/js/async/192.7917eb7e.js +1 -0
  93. package/__mf/js/async/235.ccb953ba.js +1 -0
  94. package/__mf/js/async/236.f2a0aa21.js +7 -0
  95. package/__mf/js/async/{901.82adc0d0.js.LICENSE.txt → 236.f2a0aa21.js.LICENSE.txt} +19 -1
  96. package/__mf/js/async/274.f21ae591.js +2 -0
  97. package/__mf/js/async/356.0f768c5a.js +1 -0
  98. package/__mf/js/async/377.63df1710.js +1 -0
  99. package/__mf/js/async/392.fe3b02d2.js +2 -0
  100. package/__mf/js/async/403.82cf743c.js +2 -0
  101. package/__mf/js/async/410.145953d4.js +1 -0
  102. package/__mf/js/async/{77.429aab8d.js → 458.7044e4bd.js} +1 -1
  103. package/__mf/js/async/470.fb62dc61.js +2 -0
  104. package/__mf/js/async/496.5f6f5973.js +1 -0
  105. package/__mf/js/async/558.05181330.js +1 -0
  106. package/__mf/js/async/568.d6d1abb7.js +24 -0
  107. package/__mf/js/async/{634.15a57760.js.LICENSE.txt → 568.d6d1abb7.js.LICENSE.txt} +0 -16
  108. package/__mf/js/async/587.ee9de63b.js +1 -0
  109. package/__mf/js/async/588.484c07dd.js +1 -0
  110. package/__mf/js/async/616.63ed457a.js +1 -0
  111. package/__mf/js/async/71.2e72589f.js +1 -0
  112. package/__mf/js/async/756.d0f359e2.js +1 -0
  113. package/__mf/js/async/77.627b9458.js +1 -0
  114. package/__mf/js/async/823.16520e98.js +10 -0
  115. package/__mf/js/async/{204.368d6115.js.LICENSE.txt → 823.16520e98.js.LICENSE.txt} +1 -1
  116. package/__mf/js/async/854.046f5bd5.js +1 -0
  117. package/__mf/js/async/873.66154697.js +1 -0
  118. package/__mf/js/async/941.75c3a449.js +2 -0
  119. package/__mf/js/async/963.8c43a346.js +1 -0
  120. package/__mf/js/async/968.a27c5193.js +1 -0
  121. package/__mf/js/async/978.0139c7c4.js +1 -0
  122. package/__mf/js/async/__federation_expose_GaugeChart.014110ba.js +1 -0
  123. package/__mf/js/async/lib-router.cf7b1bc1.js +2 -0
  124. package/__mf/js/main.dcca1bf3.js +7 -0
  125. package/lib/GaugeChartBase.d.ts +1 -1
  126. package/lib/GaugeChartBase.d.ts.map +1 -1
  127. package/lib/GaugeChartBase.js +1 -2
  128. package/lib/GaugeChartBase.js.map +1 -1
  129. package/lib/GaugeChartOptionsEditorSettings.js.map +1 -1
  130. package/lib/GaugeChartPanel.d.ts +1 -1
  131. package/lib/GaugeChartPanel.d.ts.map +1 -1
  132. package/lib/GaugeChartPanel.js +2 -2
  133. package/lib/GaugeChartPanel.js.map +1 -1
  134. package/lib/cjs/GaugeChartBase.js +3 -4
  135. package/lib/cjs/GaugeChartPanel.js +5 -5
  136. package/lib/gauge-chart-model.d.ts +3 -2
  137. package/lib/gauge-chart-model.d.ts.map +1 -1
  138. package/lib/gauge-chart-model.js.map +1 -1
  139. package/lib/thresholds.d.ts +1 -1
  140. package/lib/thresholds.d.ts.map +1 -1
  141. package/lib/thresholds.js.map +1 -1
  142. package/mf-manifest.json +76 -62
  143. package/mf-stats.json +90 -62
  144. package/package.json +4 -4
  145. package/__mf/css/async/442.d3010b86.css +0 -1
  146. package/__mf/css/async/61.d3010b86.css +0 -1
  147. package/__mf/css/async/823.d3010b86.css +0 -1
  148. package/__mf/font/lato-all-300-normal.322bdf14.woff +0 -0
  149. package/__mf/font/lato-all-400-normal.63513b00.woff +0 -0
  150. package/__mf/font/lato-all-700-normal.bb27db94.woff +0 -0
  151. package/__mf/font/lato-all-900-normal.a27049a3.woff +0 -0
  152. package/__mf/font/lato-latin-300-normal.c5195215.woff2 +0 -0
  153. package/__mf/font/lato-latin-400-normal.b7ffde23.woff2 +0 -0
  154. package/__mf/font/lato-latin-700-normal.d5eb20bc.woff2 +0 -0
  155. package/__mf/font/lato-latin-900-normal.d884a71c.woff2 +0 -0
  156. package/__mf/font/lato-latin-ext-300-normal.abcc64a9.woff2 +0 -0
  157. package/__mf/font/lato-latin-ext-400-normal.6ebed106.woff2 +0 -0
  158. package/__mf/font/lato-latin-ext-700-normal.8697d1d5.woff2 +0 -0
  159. package/__mf/font/lato-latin-ext-900-normal.20a2b415.woff2 +0 -0
  160. package/__mf/js/GaugeChart.4c263174.js +0 -6
  161. package/__mf/js/async/121.0385c285.js +0 -2
  162. package/__mf/js/async/177.4d5022bb.js +0 -1
  163. package/__mf/js/async/181.c020220f.js +0 -111
  164. package/__mf/js/async/192.8bf7cec4.js +0 -1
  165. package/__mf/js/async/204.368d6115.js +0 -10
  166. package/__mf/js/async/235.675ef806.js +0 -1
  167. package/__mf/js/async/274.07ee62ee.js +0 -2
  168. package/__mf/js/async/350.26d75fbf.js +0 -1
  169. package/__mf/js/async/356.a480b281.js +0 -1
  170. package/__mf/js/async/377.9f5a442b.js +0 -1
  171. package/__mf/js/async/392.32210944.js +0 -2
  172. package/__mf/js/async/403.4dee4df3.js +0 -2
  173. package/__mf/js/async/410.839d386d.js +0 -1
  174. package/__mf/js/async/458.2a1e1dfe.js +0 -1
  175. package/__mf/js/async/470.9855b786.js +0 -2
  176. package/__mf/js/async/496.63537c05.js +0 -1
  177. package/__mf/js/async/587.e32d2906.js +0 -1
  178. package/__mf/js/async/588.7dda8aa9.js +0 -1
  179. package/__mf/js/async/616.1b1bb2ba.js +0 -1
  180. package/__mf/js/async/634.15a57760.js +0 -24
  181. package/__mf/js/async/71.773ab397.js +0 -1
  182. package/__mf/js/async/756.ae22d123.js +0 -1
  183. package/__mf/js/async/828.f4781483.js +0 -29
  184. package/__mf/js/async/854.0822db86.js +0 -1
  185. package/__mf/js/async/873.dca7db8d.js +0 -1
  186. package/__mf/js/async/901.82adc0d0.js +0 -7
  187. package/__mf/js/async/941.9ebff559.js +0 -2
  188. package/__mf/js/async/963.c04e5fd0.js +0 -1
  189. package/__mf/js/async/968.be22fbda.js +0 -1
  190. package/__mf/js/async/978.26163709.js +0 -1
  191. package/__mf/js/async/__federation_expose_GaugeChart.13a73d91.js +0 -1
  192. package/__mf/js/async/lib-router.9df6ec87.js +0 -2
  193. package/__mf/js/main.91b0662c.js +0 -6
  194. /package/__mf/js/async/{121.0385c285.js.LICENSE.txt → 121.f54c0cd0.js.LICENSE.txt} +0 -0
  195. /package/__mf/js/async/{274.07ee62ee.js.LICENSE.txt → 274.f21ae591.js.LICENSE.txt} +0 -0
  196. /package/__mf/js/async/{392.32210944.js.LICENSE.txt → 392.fe3b02d2.js.LICENSE.txt} +0 -0
  197. /package/__mf/js/async/{403.4dee4df3.js.LICENSE.txt → 403.82cf743c.js.LICENSE.txt} +0 -0
  198. /package/__mf/js/async/{470.9855b786.js.LICENSE.txt → 470.fb62dc61.js.LICENSE.txt} +0 -0
  199. /package/__mf/js/async/{941.9ebff559.js.LICENSE.txt → 941.75c3a449.js.LICENSE.txt} +0 -0
  200. /package/__mf/js/async/{lib-router.9df6ec87.js.LICENSE.txt → lib-router.cf7b1bc1.js.LICENSE.txt} +0 -0
@@ -0,0 +1,7 @@
1
+ (()=>{var __webpack_modules__={23362(e,t,r){Promise.all([r.e("312"),r.e("4"),r.e("941")]).then(r.bind(r,86604))},89095(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});let o=r(3958);t.logAndReport=function(e,t,r,n,a,i){return n(o.getShortErrorMsg(e,t,r,a))}},84990(e,t,r){let o=r(44528),n={[o.RUNTIME_001]:"Failed to get remoteEntry exports.",[o.RUNTIME_002]:'The remote entry interface does not contain "init"',[o.RUNTIME_003]:"Failed to get manifest.",[o.RUNTIME_004]:"Failed to locate remote.",[o.RUNTIME_005]:"Invalid loadShareSync function call from bundler runtime",[o.RUNTIME_006]:"Invalid loadShareSync function call from runtime",[o.RUNTIME_007]:"Failed to get remote snapshot.",[o.RUNTIME_008]:"Failed to load script resources.",[o.RUNTIME_009]:"Please call createInstance first.",[o.RUNTIME_010]:'The name option cannot be changed after initialization. If you want to create a new instance with a different name, please use "createInstance" api.',[o.RUNTIME_011]:"The remoteEntry URL is missing from the remote snapshot.",[o.RUNTIME_012]:'The getter for the shared module is not a function. This may be caused by setting "shared.import: false" without the host providing the corresponding lib.'},a={[o.TYPE_001]:"Failed to generate type declaration. Execute the below cmd to reproduce and fix the error."},i={[o.BUILD_001]:"Failed to find expose module.",[o.BUILD_002]:"PublicPath is required in prod mode."},s={...n,...a,...i};t.buildDescMap=i,t.errorDescMap=s,t.runtimeDescMap=n,t.typeDescMap=a},44528(e,t){let r="RUNTIME-001",o="RUNTIME-002",n="RUNTIME-003",a="RUNTIME-004",i="RUNTIME-005",s="RUNTIME-006",l="RUNTIME-007",u="RUNTIME-008",c="RUNTIME-009",d="RUNTIME-010",f="RUNTIME-011",h="RUNTIME-012",p="TYPE-001",m="BUILD-002";t.BUILD_001="BUILD-001",t.BUILD_002=m,t.RUNTIME_001=r,t.RUNTIME_002=o,t.RUNTIME_003=n,t.RUNTIME_004=a,t.RUNTIME_005=i,t.RUNTIME_006=s,t.RUNTIME_007=l,t.RUNTIME_008=u,t.RUNTIME_009=c,t.RUNTIME_010=d,t.RUNTIME_011=f,t.RUNTIME_012=h,t.TYPE_001=p},3958(e,t){let r=e=>`View the docs to see how to solve: https://module-federation.io/guide/troubleshooting/${e.split("-")[0].toLowerCase()}#${e.toLowerCase()}`;t.getShortErrorMsg=(e,t,o,n)=>{let a=[`${[t[e]]} #${e}`];return o&&a.push(`args: ${JSON.stringify(o)}`),a.push(r(e)),n&&a.push(`Original Error Message:
2
+ ${n}`),a.join("\n")}},4071(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});let o=r(44528),n=r(3958),a=r(84990);t.BUILD_001=o.BUILD_001,t.BUILD_002=o.BUILD_002,t.RUNTIME_001=o.RUNTIME_001,t.RUNTIME_002=o.RUNTIME_002,t.RUNTIME_003=o.RUNTIME_003,t.RUNTIME_004=o.RUNTIME_004,t.RUNTIME_005=o.RUNTIME_005,t.RUNTIME_006=o.RUNTIME_006,t.RUNTIME_007=o.RUNTIME_007,t.RUNTIME_008=o.RUNTIME_008,t.RUNTIME_009=o.RUNTIME_009,t.RUNTIME_010=o.RUNTIME_010,t.RUNTIME_011=o.RUNTIME_011,t.RUNTIME_012=o.RUNTIME_012,t.TYPE_001=o.TYPE_001,t.buildDescMap=a.buildDescMap,t.errorDescMap=a.errorDescMap,t.getShortErrorMsg=n.getShortErrorMsg,t.runtimeDescMap=a.runtimeDescMap,t.typeDescMap=a.typeDescMap},36568(e,t){var r=Object.defineProperty;t.__exportAll=(e,t)=>{let o={};for(var n in e)r(o,n,{get:e[n],enumerable:!0});return t||r(o,Symbol.toStringTag,{value:"Module"}),o}},45818(e,t){let r="default";t.DEFAULT_REMOTE_TYPE="global",t.DEFAULT_SCOPE=r},97795(e,t,r){let o=r(85968),n=r(45818),a=r(7269),i=r(90537),s=r(8349),l=r(84616);r(87728);let u=r(11415),c=r(14007),d=r(25344),f=r(69757),h=r(11767),p=r(27185);r(7353);let m=r(62648),g=r(88170),y=r(36292),E=r(39032),b=r(61949),S=r(89850),_=r(4071);t.ModuleFederation=class{initOptions(e){e.name&&e.name!==this.options.name&&o.error((0,_.getShortErrorMsg)(_.RUNTIME_010,_.runtimeDescMap)),this.registerPlugins(e.plugins);let t=this.formatOptions(this.options,e);return this.options=t,t}async loadShare(e,t){return this.sharedHandler.loadShare(e,t)}loadShareSync(e,t){return this.sharedHandler.loadShareSync(e,t)}initializeSharing(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:n.DEFAULT_SCOPE,t=arguments.length>1?arguments[1]:void 0;return this.sharedHandler.initializeSharing(e,t)}initRawContainer(e,t,r){let o=l.getRemoteInfo({name:e,entry:t}),n=new u.Module({host:this,remoteInfo:o});return n.remoteEntryExports=r,this.moduleCache.set(e,n),n}async loadRemote(e,t){return this.remoteHandler.loadRemote(e,t)}async preloadRemote(e){return this.remoteHandler.preloadRemote(e)}initShareScopeMap(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.sharedHandler.initShareScopeMap(e,t,r)}formatOptions(e,t){let{allShareInfos:r}=a.formatShareConfigs(e,t),{userOptions:o,options:n}=this.hooks.lifecycle.beforeInit.emit({origin:this,userOptions:t,options:e,shareInfo:r}),i=this.remoteHandler.formatAndRegisterRemote(n,o),{allShareInfos:s}=this.sharedHandler.registerShared(n,o),l=[...n.plugins];o.plugins&&o.plugins.forEach(e=>{l.includes(e)||l.push(e)});let u={...e,...t,plugins:l,remotes:i,shared:s,id:o.id||e.id};return this.hooks.lifecycle.init.emit({origin:this,options:u}),u}registerPlugins(e){let t=s.registerPlugins(e,this);this.options.plugins=this.options.plugins.reduce((e,t)=>(t&&e&&!e.find(e=>e.name===t.name)&&e.push(t),e),t||[])}registerRemotes(e,t){return this.remoteHandler.registerRemotes(e,t)}registerShared(e){this.sharedHandler.registerShared(this.options,{...this.options,shared:e})}constructor(e){this.hooks=new p.PluginSystem({beforeInit:new f.SyncWaterfallHook("beforeInit"),init:new c.SyncHook,beforeInitContainer:new h.AsyncWaterfallHook("beforeInitContainer"),initContainer:new h.AsyncWaterfallHook("initContainer")}),this.version="2.4.0",this.moduleCache=new Map,this.loaderHook=new p.PluginSystem({getModuleInfo:new c.SyncHook,createScript:new c.SyncHook,createLink:new c.SyncHook,fetch:new d.AsyncHook,loadEntryError:new d.AsyncHook,getModuleFactory:new d.AsyncHook}),this.bridgeHook=new p.PluginSystem({beforeBridgeRender:new c.SyncHook,afterBridgeRender:new c.SyncHook,beforeBridgeDestroy:new c.SyncHook,afterBridgeDestroy:new c.SyncHook});const t=[m.snapshotPlugin(),g.generatePreloadAssetsPlugin()],r={id:i.getBuilderId(),name:e.name,plugins:t,remotes:[],shared:{},inBrowser:S.isBrowserEnvValue};this.name=e.name,this.options=r,this.snapshotHandler=new y.SnapshotHandler(this),this.sharedHandler=new E.SharedHandler(this),this.remoteHandler=new b.RemoteHandler(this),this.shareScopeMap=this.sharedHandler.shareScopeMap,this.registerPlugins([...r.plugins,...e.plugins||[]]),this.options=this.formatOptions(r,e)}}},74331(e,t,r){let o=r(85968),n=r(95018),a=r(89850),i="object"==typeof globalThis?globalThis:window,s=(()=>{try{return document.defaultView}catch{return i}})(),l=s;function u(e,t,r){Object.defineProperty(e,t,{value:r,configurable:!1,writable:!0})}function c(e,t){return Object.hasOwnProperty.call(e,t)}c(i,"__GLOBAL_LOADING_REMOTE_ENTRY__")||u(i,"__GLOBAL_LOADING_REMOTE_ENTRY__",{});let d=i.__GLOBAL_LOADING_REMOTE_ENTRY__;function f(e){var t,r,o,n,a,i;c(e,"__VMOK__")&&!c(e,"__FEDERATION__")&&u(e,"__FEDERATION__",e.__VMOK__),c(e,"__FEDERATION__")||(u(e,"__FEDERATION__",{__GLOBAL_PLUGIN__:[],__INSTANCES__:[],moduleInfo:{},__SHARE__:{},__MANIFEST_LOADING__:{},__PRELOADED_MAP__:new Map}),u(e,"__VMOK__",e.__FEDERATION__)),(t=e.__FEDERATION__).__GLOBAL_PLUGIN__??(t.__GLOBAL_PLUGIN__=[]),(r=e.__FEDERATION__).__INSTANCES__??(r.__INSTANCES__=[]),(o=e.__FEDERATION__).moduleInfo??(o.moduleInfo={}),(n=e.__FEDERATION__).__SHARE__??(n.__SHARE__={}),(a=e.__FEDERATION__).__MANIFEST_LOADING__??(a.__MANIFEST_LOADING__={}),(i=e.__FEDERATION__).__PRELOADED_MAP__??(i.__PRELOADED_MAP__=new Map)}function h(){i.__FEDERATION__.__GLOBAL_PLUGIN__=[],i.__FEDERATION__.__INSTANCES__=[],i.__FEDERATION__.moduleInfo={},i.__FEDERATION__.__SHARE__={},i.__FEDERATION__.__MANIFEST_LOADING__={},Object.keys(d).forEach(e=>{delete d[e]})}function p(e){i.__FEDERATION__.__INSTANCES__.push(e)}function m(){return i.__FEDERATION__.__DEBUG_CONSTRUCTOR__}function g(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:(0,a.isDebugMode)();t&&(i.__FEDERATION__.__DEBUG_CONSTRUCTOR__=e,i.__FEDERATION__.__DEBUG_CONSTRUCTOR_VERSION__="2.4.0")}function y(e,t){if("string"==typeof t)if(e[t])return{value:e[t],key:t};else{for(let r of Object.keys(e)){let[o,n]=r.split(":"),a=`${o}:${t}`,i=e[a];if(i)return{value:i,key:a}}return{value:void 0,key:t}}o.error(`getInfoWithoutType: "key" must be a string, got ${typeof t} (${JSON.stringify(t)}).`)}f(i),f(s);let E=()=>s.__FEDERATION__.moduleInfo,b=(e,t)=>{let r=y(t,n.getFMId(e)).value;if(r&&!r.version&&"version"in e&&e.version&&(r.version=e.version),r)return r;if("version"in e&&e.version){let{version:t,...r}=e,o=n.getFMId(r),a=y(s.__FEDERATION__.moduleInfo,o).value;if((null==a?void 0:a.version)===t)return a}},S=e=>b(e,s.__FEDERATION__.moduleInfo),_=(e,t)=>{let r=n.getFMId(e);return s.__FEDERATION__.moduleInfo[r]=t,s.__FEDERATION__.moduleInfo},v=e=>(s.__FEDERATION__.moduleInfo={...s.__FEDERATION__.moduleInfo,...e},()=>{for(let t of Object.keys(e))delete s.__FEDERATION__.moduleInfo[t]}),R=(e,t)=>{let r=t||`__FEDERATION_${e}:custom__`;return{remoteEntryKey:r,entryExports:i[r]}},I=e=>{let{__GLOBAL_PLUGIN__:t}=s.__FEDERATION__;e.forEach(e=>{-1===t.findIndex(t=>t.name===e.name)?t.push(e):o.warn(`The plugin ${e.name} has been registered.`)})},N=()=>s.__FEDERATION__.__GLOBAL_PLUGIN__,T=e=>i.__FEDERATION__.__PRELOADED_MAP__.get(e),M=e=>i.__FEDERATION__.__PRELOADED_MAP__.set(e,!0);t.CurrentGlobal=i,t.Global=l,t.addGlobalSnapshot=v,t.getGlobalFederationConstructor=m,t.getGlobalHostPlugins=N,t.getGlobalSnapshot=E,t.getGlobalSnapshotInfoByModuleInfo=S,t.getInfoWithoutType=y,t.getPreloaded=T,t.getRemoteEntryExports=R,t.getTargetSnapshotInfoByModuleInfo=b,t.globalLoading=d,t.nativeGlobal=s,t.registerGlobalPlugins=I,t.resetFederationGlobalInfo=h,t.setGlobalFederationConstructor=g,t.setGlobalFederationInstance=p,t.setGlobalSnapshotInfoByModuleInfo=_,t.setPreloaded=M},4697(e,t,r){let o=r(74331),n=r(7269),a=r(28395),i=r(84616);r(87728);let s=r(3371),l={getRegisteredShare:n.getRegisteredShare,getGlobalShareScope:n.getGlobalShareScope};t.default={global:{Global:o.Global,nativeGlobal:o.nativeGlobal,resetFederationGlobalInfo:o.resetFederationGlobalInfo,setGlobalFederationInstance:o.setGlobalFederationInstance,getGlobalFederationConstructor:o.getGlobalFederationConstructor,setGlobalFederationConstructor:o.setGlobalFederationConstructor,getInfoWithoutType:o.getInfoWithoutType,getGlobalSnapshot:o.getGlobalSnapshot,getTargetSnapshotInfoByModuleInfo:o.getTargetSnapshotInfoByModuleInfo,getGlobalSnapshotInfoByModuleInfo:o.getGlobalSnapshotInfoByModuleInfo,setGlobalSnapshotInfoByModuleInfo:o.setGlobalSnapshotInfoByModuleInfo,addGlobalSnapshot:o.addGlobalSnapshot,getRemoteEntryExports:o.getRemoteEntryExports,registerGlobalPlugins:o.registerGlobalPlugins,getGlobalHostPlugins:o.getGlobalHostPlugins,getPreloaded:o.getPreloaded,setPreloaded:o.setPreloaded},share:l,utils:{matchRemoteWithNameAndExpose:a.matchRemoteWithNameAndExpose,preloadAssets:s.preloadAssets,getRemoteInfo:i.getRemoteInfo}}},6614(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});let o=r(85968),n=r(95018),a=r(74331),i=r(51209),s=r(7269),l=r(28395),u=r(84616);r(87728);let c=r(4697),d=r(11415),f=r(97795),h=r(94219),p=r(89850),m=c.default;t.CurrentGlobal=a.CurrentGlobal,t.Global=a.Global,t.Module=d.Module,t.ModuleFederation=f.ModuleFederation,t.addGlobalSnapshot=a.addGlobalSnapshot,t.assert=o.assert,t.error=o.error,t.getGlobalFederationConstructor=a.getGlobalFederationConstructor,t.getGlobalSnapshot=a.getGlobalSnapshot,t.getInfoWithoutType=a.getInfoWithoutType,t.getRegisteredShare=s.getRegisteredShare,t.getRemoteEntry=u.getRemoteEntry,t.getRemoteInfo=u.getRemoteInfo,t.helpers=m,t.isStaticResourcesEqual=n.isStaticResourcesEqual,Object.defineProperty(t,"loadScript",{enumerable:!0,get:function(){return p.loadScript}}),Object.defineProperty(t,"loadScriptNode",{enumerable:!0,get:function(){return p.loadScriptNode}}),t.matchRemoteWithNameAndExpose=l.matchRemoteWithNameAndExpose,t.registerGlobalPlugins=a.registerGlobalPlugins,t.resetFederationGlobalInfo=a.resetFederationGlobalInfo,t.safeWrapper=n.safeWrapper,t.satisfy=i.satisfy,t.setGlobalFederationConstructor=a.setGlobalFederationConstructor,t.setGlobalFederationInstance=a.setGlobalFederationInstance,Object.defineProperty(t,"types",{enumerable:!0,get:function(){return h.type_exports}})},11415(e,t,r){let o=r(85968),n=r(95018),a=r(84616),i=r(53565);r(87728);let s=r(89850),l=r(4071);function u(e,t,r){let o=t,n=Array.isArray(e.shareScope)?e.shareScope:[e.shareScope];n.length||n.push("default"),n.forEach(e=>{o[e]||(o[e]={})});let a={version:e.version||"",shareScopeKeys:Array.isArray(e.shareScope)?n:e.shareScope||"default"};return Object.defineProperty(a,"shareScopeMap",{value:o,enumerable:!1}),{remoteEntryInitOptions:a,shareScope:o[n[0]],initScope:r??[]}}t.Module=class{async getEntry(){if(this.remoteEntryExports)return this.remoteEntryExports;let e=await a.getRemoteEntry({origin:this.host,remoteInfo:this.remoteInfo,remoteEntryExports:this.remoteEntryExports});return o.assert(e,`remoteEntryExports is undefined
3
+ ${(0,s.safeToString)(this.remoteInfo)}`),this.remoteEntryExports=e,this.remoteEntryExports}async init(e,t,r){let n=await this.getEntry();if(this.inited)return n;if(this.initPromise)return await this.initPromise,n;this.initing=!0,this.initPromise=(async()=>{let{remoteEntryInitOptions:a,shareScope:s,initScope:c}=u(this.remoteInfo,this.host.shareScopeMap,r),d=await this.host.hooks.lifecycle.beforeInitContainer.emit({shareScope:s,remoteEntryInitOptions:a,initScope:c,remoteInfo:this.remoteInfo,origin:this.host});void 0===(null==n?void 0:n.init)&&o.error(l.RUNTIME_002,l.runtimeDescMap,{hostName:this.host.name,remoteName:this.remoteInfo.name,remoteEntryUrl:this.remoteInfo.entry,remoteEntryKey:this.remoteInfo.entryGlobalName},void 0,i.optionsToMFContext(this.host.options)),await n.init(d.shareScope,d.initScope,d.remoteEntryInitOptions),await this.host.hooks.lifecycle.initContainer.emit({...d,id:e,remoteSnapshot:t,remoteEntryExports:n}),this.inited=!0})();try{await this.initPromise}finally{this.initing=!1,this.initPromise=void 0}return n}async get(e,t,r,a){let i,{loadFactory:s=!0}=r||{loadFactory:!0},l=await this.init(e,a);this.lib=l,(i=await this.host.loaderHook.lifecycle.getModuleFactory.emit({remoteEntryExports:l,expose:t,moduleInfo:this.remoteInfo}))||(i=await l.get(t)),o.assert(i,`${n.getFMId(this.remoteInfo)} remote don't export ${t}.`);let u=n.processModuleAlias(this.remoteInfo.name,t),c=this.wraperFactory(i,u);return s?await c():c}wraperFactory(e,t){function r(e,t){e&&"object"==typeof e&&Object.isExtensible(e)&&!Object.getOwnPropertyDescriptor(e,Symbol.for("mf_module_id"))&&Object.defineProperty(e,Symbol.for("mf_module_id"),{value:t,enumerable:!1})}return e instanceof Promise?async()=>{let o=await e();return r(o,t),o}:()=>{let o=e();return r(o,t),o}}constructor({remoteInfo:e,host:t}){this.inited=!1,this.initing=!1,this.lib=void 0,this.remoteInfo=e,this.host=t}}},88170(e,t,r){let o=r(95018),n=r(74331),a=r(7269);r(87728);let i=r(3371),s=r(62648),l=r(89850);function u(e){let t=e.split(":");return 1===t.length?{name:t[0],version:void 0}:2===t.length?{name:t[0],version:t[1]}:{name:t[1],version:t[2]}}function c(e,t,r,a){let i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},s=arguments.length>5?arguments[5]:void 0,{value:d}=n.getInfoWithoutType(e,o.getFMId(t)),f=s||d;if(f&&!(0,l.isManifestProvider)(f)&&(r(f,t,a),f.remotesInfo))for(let t of Object.keys(f.remotesInfo)){if(i[t])continue;i[t]=!0;let o=u(t),n=f.remotesInfo[t];c(e,{name:o.name,version:n.matchedVersion},r,!1,i,void 0)}}let d=(e,t)=>document.querySelector(`${e}[${"link"===e?"href":"src"}="${t}"]`);function f(e,t,r,s,u){let f=[],h=[],p=[],m=new Set,g=new Set,{options:y}=e,{preloadConfig:E}=t,{depsRemote:b}=E;if(c(s,r,(t,r,a)=>{var s;let u;if(a)u=E;else if(Array.isArray(b)){let e=b.find(e=>e.nameOrAlias===r.name||e.nameOrAlias===r.alias);if(!e)return;u=i.defaultPreloadArgs(e)}else{if(!0!==b)return;u=E}let c=(0,l.getResourceUrl)(t,o.getRemoteEntryInfoFromSnapshot(t).url);c&&p.push({name:r.name,moduleInfo:{name:r.name,entry:c,type:"remoteEntryType"in t?t.remoteEntryType:"global",entryGlobalName:"globalName"in t?t.globalName:r.name,shareScope:"",version:"version"in t?t.version:void 0},url:c});let d="modules"in t?t.modules:[],m=i.normalizePreloadExposes(u.exposes);function g(e){let r=e.map(e=>(0,l.getResourceUrl)(t,e));return u.filter?r.filter(u.filter):r}if(m.length&&"modules"in t&&(d=null==t||null==(s=t.modules)?void 0:s.reduce((e,t)=>((null==m?void 0:m.indexOf(t.moduleName))!==-1&&e.push(t),e),[])),d){let o=d.length;for(let a=0;a<o;a++){let o=d[a],i=`${r.name}/${o.moduleName}`;e.remoteHandler.hooks.lifecycle.handlePreloadModule.emit({id:"."===o.moduleName?r.name:i,name:r.name,remoteSnapshot:t,preloadConfig:u,remote:r,origin:e}),n.getPreloaded(i)||("all"===u.resourceCategory?(f.push(...g(o.assets.css.async)),f.push(...g(o.assets.css.sync)),h.push(...g(o.assets.js.async)),h.push(...g(o.assets.js.sync))):"sync"===u.resourceCategory&&(f.push(...g(o.assets.css.sync)),h.push(...g(o.assets.js.sync))),n.setPreloaded(i))}}},!0,{},u),u.shared&&u.shared.length>0){let t=(t,r)=>{let{shared:o}=a.getRegisteredShare(e.shareScopeMap,r.sharedName,t,e.sharedHandler.hooks.lifecycle.resolveShare)||{};o&&"function"==typeof o.lib&&(r.assets.js.sync.forEach(e=>{m.add(e)}),r.assets.css.sync.forEach(e=>{g.add(e)}))};u.shared.forEach(e=>{var r;let n=null==(r=y.shared)?void 0:r[e.sharedName];if(!n)return;let a=e.version?n.find(t=>t.version===e.version):n;a&&o.arrayOptions(a).forEach(r=>{t(r,e)})})}let S=h.filter(e=>!m.has(e)&&!d("script",e));return{cssAssets:f.filter(e=>!g.has(e)&&!d("link",e)),jsAssetsWithoutEntry:S,entryAssets:p.filter(e=>!d("script",e.url))}}t.generatePreloadAssetsPlugin=function(){return{name:"generate-preload-assets-plugin",async generatePreloadAssets(e){let{origin:t,preloadOptions:r,remoteInfo:n,remote:a,globalSnapshot:i,remoteSnapshot:u}=e;return l.isBrowserEnvValue?o.isRemoteInfoWithEntry(a)&&o.isPureRemoteEntry(a)?{cssAssets:[],jsAssetsWithoutEntry:[],entryAssets:[{name:a.name,url:a.entry,moduleInfo:{name:n.name,entry:a.entry,type:n.type||"global",entryGlobalName:"",shareScope:""}}]}:(s.assignRemoteInfo(n,u),f(t,r,n,i,u)):{cssAssets:[],jsAssetsWithoutEntry:[],entryAssets:[]}}}}},36292(e,t,r){let o=r(85968),n=r(95018),a=r(74331),i=r(84616),s=r(53565);r(87728);let l=r(25344),u=r(11767),c=r(27185);r(7353);let d=r(89850),f=r(4071);function h(e,t){let r=a.getGlobalSnapshotInfoByModuleInfo({name:t.name,version:t.options.version}),o=r&&"remotesInfo"in r&&r.remotesInfo&&a.getInfoWithoutType(r.remotesInfo,e.name).value;return o&&o.matchedVersion?{hostGlobalSnapshot:r,globalSnapshot:a.getGlobalSnapshot(),remoteSnapshot:a.getGlobalSnapshotInfoByModuleInfo({name:e.name,version:o.matchedVersion})}:{hostGlobalSnapshot:void 0,globalSnapshot:a.getGlobalSnapshot(),remoteSnapshot:a.getGlobalSnapshotInfoByModuleInfo({name:e.name,version:"version"in e?e.version:void 0})}}t.SnapshotHandler=class{async loadRemoteSnapshotInfo(e){let t,r,{moduleInfo:i,id:l,expose:u}=e,{options:c}=this.HostInstance;await this.hooks.lifecycle.beforeLoadRemoteSnapshot.emit({options:c,moduleInfo:i});let h=a.getGlobalSnapshotInfoByModuleInfo({name:this.HostInstance.options.name,version:this.HostInstance.options.version});h||(h={version:this.HostInstance.options.version||"",remoteEntry:"",remotesInfo:{}},a.addGlobalSnapshot({[this.HostInstance.options.name]:h})),h&&"remotesInfo"in h&&!a.getInfoWithoutType(h.remotesInfo,i.name).value&&("version"in i||"entry"in i)&&(h.remotesInfo={...null==h?void 0:h.remotesInfo,[i.name]:{matchedVersion:"version"in i?i.version:i.entry}});let{hostGlobalSnapshot:p,remoteSnapshot:m,globalSnapshot:g}=this.getGlobalRemoteInfo(i),{remoteSnapshot:y,globalSnapshot:E}=await this.hooks.lifecycle.loadSnapshot.emit({options:c,moduleInfo:i,hostGlobalSnapshot:p,remoteSnapshot:m,globalSnapshot:g});if(y)if((0,d.isManifestProvider)(y)){let e=d.isBrowserEnvValue?y.remoteEntry:y.ssrRemoteEntry||y.remoteEntry||"",o=await this.getManifestJson(e,i,{}),n=a.setGlobalSnapshotInfoByModuleInfo({...i,entry:e},o);t=o,r=n}else{let{remoteSnapshot:e}=await this.hooks.lifecycle.loadRemoteSnapshot.emit({options:this.HostInstance.options,moduleInfo:i,remoteSnapshot:y,from:"global"});t=e,r=E}else if(n.isRemoteInfoWithEntry(i)){let e=await this.getManifestJson(i.entry,i,{}),o=a.setGlobalSnapshotInfoByModuleInfo(i,e),{remoteSnapshot:n}=await this.hooks.lifecycle.loadRemoteSnapshot.emit({options:this.HostInstance.options,moduleInfo:i,remoteSnapshot:e,from:"global"});t=n,r=o}else o.error(f.RUNTIME_007,f.runtimeDescMap,{remoteName:i.name,remoteVersion:i.version,hostName:this.HostInstance.options.name,globalSnapshot:JSON.stringify(E)},void 0,s.optionsToMFContext(this.HostInstance.options));return await this.hooks.lifecycle.afterLoadSnapshot.emit({id:l,host:this.HostInstance,options:c,moduleInfo:i,remoteSnapshot:t}),{remoteSnapshot:t,globalSnapshot:r}}getGlobalRemoteInfo(e){return h(e,this.HostInstance)}async getManifestJson(e,t,r){let n=async()=>{let r=this.manifestCache.get(e);if(r)return r;try{let o=await this.loaderHook.lifecycle.fetch.emit(e,{},i.getRemoteInfo(t));o&&o instanceof Response||(o=await fetch(e,{})),r=await o.json()}catch(n){(r=await this.HostInstance.remoteHandler.hooks.lifecycle.errorLoadRemote.emit({id:e,error:n,from:"runtime",lifecycle:"afterResolve",origin:this.HostInstance}))||(delete this.manifestLoading[e],o.error(f.RUNTIME_003,f.runtimeDescMap,{manifestUrl:e,moduleName:t.name,hostName:this.HostInstance.options.name},`${n}`,s.optionsToMFContext(this.HostInstance.options)))}return o.assert(r.metaData&&r.exposes&&r.shared,`"${e}" is not a valid federation manifest for remote "${t.name}". Missing required fields: ${[!r.metaData&&"metaData",!r.exposes&&"exposes",!r.shared&&"shared"].filter(Boolean).join(", ")}.`),this.manifestCache.set(e,r),r},a=async()=>{let r=await n(),o=(0,d.generateSnapshotFromManifest)(r,{version:e}),{remoteSnapshot:a}=await this.hooks.lifecycle.loadRemoteSnapshot.emit({options:this.HostInstance.options,moduleInfo:t,manifestJson:r,remoteSnapshot:o,manifestUrl:e,from:"manifest"});return a};return this.manifestLoading[e]||(this.manifestLoading[e]=a().then(e=>e)),this.manifestLoading[e]}constructor(e){this.loadingHostSnapshot=null,this.manifestCache=new Map,this.hooks=new c.PluginSystem({beforeLoadRemoteSnapshot:new l.AsyncHook("beforeLoadRemoteSnapshot"),loadSnapshot:new u.AsyncWaterfallHook("loadGlobalSnapshot"),loadRemoteSnapshot:new u.AsyncWaterfallHook("loadRemoteSnapshot"),afterLoadSnapshot:new u.AsyncWaterfallHook("afterLoadSnapshot")}),this.manifestLoading=a.Global.__FEDERATION__.__MANIFEST_LOADING__,this.HostInstance=e,this.loaderHook=e.loaderHook}},t.getGlobalRemoteInfo=h},62648(e,t,r){let o=r(85968),n=r(95018);r(87728);let a=r(3371),i=r(89850),s=r(4071);function l(e,t){let r=n.getRemoteEntryInfoFromSnapshot(t);r.url||o.error(s.RUNTIME_011,s.runtimeDescMap,{remoteName:e.name});let a=(0,i.getResourceUrl)(t,r.url);i.isBrowserEnvValue||a.startsWith("http")||(a=`https:${a}`),e.type=r.type,e.entryGlobalName=r.globalName,e.entry=a,e.version=t.version,e.buildVersion=t.buildVersion}function u(){return{name:"snapshot-plugin",async afterResolve(e){let{remote:t,pkgNameOrAlias:r,expose:o,origin:i,remoteInfo:s,id:u}=e;if(!n.isRemoteInfoWithEntry(t)||!n.isPureRemoteEntry(t)){let{remoteSnapshot:n,globalSnapshot:c}=await i.snapshotHandler.loadRemoteSnapshotInfo({moduleInfo:t,id:u});l(s,n);let d={remote:t,preloadConfig:{nameOrAlias:r,exposes:[o],resourceCategory:"sync",share:!1,depsRemote:!1}},f=await i.remoteHandler.hooks.lifecycle.generatePreloadAssets.emit({origin:i,preloadOptions:d,remoteInfo:s,remote:t,remoteSnapshot:n,globalSnapshot:c});return f&&a.preloadAssets(s,i,f,!1),{...e,remoteSnapshot:n}}return e}}}t.assignRemoteInfo=l,t.snapshotPlugin=u},61949(e,t,r){let o=r(85968),n=r(74331),a=r(45818),i=r(7269),s=r(28395),l=r(84616),u=r(53565);r(87728);let c=r(3371),d=r(11415),f=r(14007),h=r(25344),p=r(69757),m=r(11767),g=r(27185);r(7353);let y=r(36292),E=r(89850),b=r(4071);t.RemoteHandler=class{formatAndRegisterRemote(e,t){return(t.remotes||[]).reduce((e,t)=>(this.registerRemote(t,e,{force:!1}),e),e.remotes)}setIdToRemoteMap(e,t){let{remote:r,expose:o}=t,{name:n,alias:a}=r;if(this.idToRemoteMap[e]={name:r.name,expose:o},a&&e.startsWith(n)){let t=e.replace(n,a);this.idToRemoteMap[t]={name:r.name,expose:o};return}if(a&&e.startsWith(a)){let t=e.replace(a,n);this.idToRemoteMap[t]={name:r.name,expose:o}}}async loadRemote(e,t){let{host:r}=this;try{let{loadFactory:o=!0}=t||{loadFactory:!0},{module:n,moduleOptions:a,remoteMatchInfo:i}=await this.getRemoteModuleAndOptions({id:e}),{pkgNameOrAlias:s,remote:l,expose:u,id:c,remoteSnapshot:d}=i,f=await n.get(c,u,t,d),h=await this.hooks.lifecycle.onLoad.emit({id:c,pkgNameOrAlias:s,expose:u,exposeModule:o?f:void 0,exposeModuleFactory:o?void 0:f,remote:l,options:a,moduleInstance:n,origin:r});if(this.setIdToRemoteMap(e,i),"function"==typeof h)return h;return f}catch(a){let{from:o="runtime"}=t||{from:"runtime"},n=await this.hooks.lifecycle.errorLoadRemote.emit({id:e,error:a,from:o,lifecycle:"onLoad",origin:r});if(!n)throw a;return n}}async preloadRemote(e){let{host:t}=this;await this.hooks.lifecycle.beforePreloadRemote.emit({preloadOps:e,options:t.options,origin:t});let r=c.formatPreloadArgs(t.options.remotes,e);await Promise.all(r.map(async e=>{let{remote:r}=e,o=l.getRemoteInfo(r),{globalSnapshot:n,remoteSnapshot:a}=await t.snapshotHandler.loadRemoteSnapshotInfo({moduleInfo:r}),i=await this.hooks.lifecycle.generatePreloadAssets.emit({origin:t,preloadOptions:e,remote:r,remoteInfo:o,globalSnapshot:n,remoteSnapshot:a});i&&c.preloadAssets(o,t,i)}))}registerRemotes(e,t){let{host:r}=this;e.forEach(e=>{this.registerRemote(e,r.options.remotes,{force:null==t?void 0:t.force})})}async getRemoteModuleAndOptions(e){let t,{host:r}=this,{id:n}=e;try{t=await this.hooks.lifecycle.beforeRequest.emit({id:n,options:r.options,origin:r})}catch(e){if(!(t=await this.hooks.lifecycle.errorLoadRemote.emit({id:n,options:r.options,origin:r,from:"runtime",error:e,lifecycle:"beforeRequest"})))throw e}let{id:a}=t,i=s.matchRemoteWithNameAndExpose(r.options.remotes,a);i||o.error(b.RUNTIME_004,b.runtimeDescMap,{hostName:r.options.name,requestId:a},void 0,u.optionsToMFContext(r.options));let{remote:c}=i,f=l.getRemoteInfo(c),h=await r.sharedHandler.hooks.lifecycle.afterResolve.emit({id:a,...i,options:r.options,origin:r,remoteInfo:f}),{remote:p,expose:m}=h;o.assert(p&&m,`The 'beforeRequest' hook was executed, but it failed to return the correct 'remote' and 'expose' values while loading ${a}.`);let g=r.moduleCache.get(p.name),y={host:r,remoteInfo:f};return g||(g=new d.Module(y),r.moduleCache.set(p.name,g)),{module:g,moduleOptions:y,remoteMatchInfo:h}}registerRemote(e,t,r){let{host:n}=this,i=()=>{if(e.alias){let r=t.find(t=>{var r;return e.alias&&(t.name.startsWith(e.alias)||(null==(r=t.alias)?void 0:r.startsWith(e.alias)))});o.assert(!r,`The alias ${e.alias} of remote ${e.name} is not allowed to be the prefix of ${r&&r.name} name or alias`)}"entry"in e&&E.isBrowserEnvValue&&"u">typeof window&&!e.entry.startsWith("http")&&(e.entry=new URL(e.entry,window.location.origin).href),e.shareScope||(e.shareScope=a.DEFAULT_SCOPE),e.type||(e.type=a.DEFAULT_REMOTE_TYPE)};this.hooks.lifecycle.beforeRegisterRemote.emit({remote:e,origin:n});let s=t.find(t=>t.name===e.name);if(s){let o=[`The remote "${e.name}" is already registered.`,"Please note that overriding it may cause unexpected errors."];(null==r?void 0:r.force)&&(this.removeRemote(s),i(),t.push(e),this.hooks.lifecycle.registerRemote.emit({remote:e,origin:n}),(0,E.warn)(o.join(" ")))}else i(),t.push(e),this.hooks.lifecycle.registerRemote.emit({remote:e,origin:n})}removeRemote(e){try{let{host:r}=this,{name:o}=e,a=r.options.remotes.findIndex(e=>e.name===o);-1!==a&&r.options.remotes.splice(a,1);let s=r.moduleCache.get(e.name);if(s){var t;let o=s.remoteInfo,a=o.entryGlobalName;n.CurrentGlobal[a]&&((null==(t=Object.getOwnPropertyDescriptor(n.CurrentGlobal,a))?void 0:t.configurable)?delete n.CurrentGlobal[a]:n.CurrentGlobal[a]=void 0);let u=l.getRemoteEntryUniqueKey(s.remoteInfo);n.globalLoading[u]&&delete n.globalLoading[u],r.snapshotHandler.manifestCache.delete(o.entry);let c=o.buildVersion?(0,E.composeKeyWithSeparator)(o.name,o.buildVersion):o.name,d=n.CurrentGlobal.__FEDERATION__.__INSTANCES__.findIndex(e=>o.buildVersion?e.options.id===c:e.name===c);if(-1!==d){let e=n.CurrentGlobal.__FEDERATION__.__INSTANCES__[d];c=e.options.id||c;let t=i.getGlobalShareScope(),r=!0,a=[];Object.keys(t).forEach(e=>{let n=t[e];n&&Object.keys(n).forEach(t=>{let i=n[t];i&&Object.keys(i).forEach(n=>{let s=i[n];s&&Object.keys(s).forEach(i=>{let l=s[i];l&&"object"==typeof l&&l.from===o.name&&(l.loaded||l.loading?(l.useIn=l.useIn.filter(e=>e!==o.name),l.useIn.length?r=!1:a.push([e,t,n,i])):a.push([e,t,n,i]))})})})}),r&&(e.shareScopeMap={},delete t[c]),a.forEach(e=>{var r,o,n;let[a,i,s,l]=e;null==(n=t[a])||null==(o=n[i])||null==(r=o[s])||delete r[l]}),n.CurrentGlobal.__FEDERATION__.__INSTANCES__.splice(d,1)}let{hostGlobalSnapshot:f}=y.getGlobalRemoteInfo(e,r);if(f){let t=f&&"remotesInfo"in f&&f.remotesInfo&&n.getInfoWithoutType(f.remotesInfo,e.name).key;t&&(delete f.remotesInfo[t],n.Global.__FEDERATION__.__MANIFEST_LOADING__[t]&&delete n.Global.__FEDERATION__.__MANIFEST_LOADING__[t])}r.moduleCache.delete(e.name)}}catch(e){o.logger.error(`removeRemote failed: ${e instanceof Error?e.message:String(e)}`)}}constructor(e){this.hooks=new g.PluginSystem({beforeRegisterRemote:new p.SyncWaterfallHook("beforeRegisterRemote"),registerRemote:new p.SyncWaterfallHook("registerRemote"),beforeRequest:new m.AsyncWaterfallHook("beforeRequest"),onLoad:new h.AsyncHook("onLoad"),handlePreloadModule:new f.SyncHook("handlePreloadModule"),errorLoadRemote:new h.AsyncHook("errorLoadRemote"),beforePreloadRemote:new h.AsyncHook("beforePreloadRemote"),generatePreloadAssets:new h.AsyncHook("generatePreloadAssets"),afterPreloadRemote:new h.AsyncHook,loadEntry:new h.AsyncHook}),this.host=e,this.idToRemoteMap={}}}},39032(e,t,r){let o=r(85968),n=r(45818),a=r(7269),i=r(53565);r(87728);let s=r(25344),l=r(69757),u=r(11767),c=r(27185);r(7353);let d=r(4071);t.SharedHandler=class{registerShared(e,t){let{newShareInfos:r,allShareInfos:o}=a.formatShareConfigs(e,t);return Object.keys(r).forEach(e=>{r[e].forEach(r=>{r.scope.forEach(o=>{var n;this.hooks.lifecycle.beforeRegisterShare.emit({origin:this.host,pkgName:e,shared:r}),(null==(n=this.shareScopeMap[o])?void 0:n[e])||this.setShared({pkgName:e,lib:r.lib,get:r.get,loaded:r.loaded||!!r.lib,shared:r,from:t.name})})})}),{newShareInfos:r,allShareInfos:o}}async loadShare(e,t){let{host:r}=this,n=a.getTargetSharedOptions({pkgName:e,extraOptions:t,shareInfos:r.options.shared});(null==n?void 0:n.scope)&&await Promise.all(n.scope.map(async e=>{await Promise.all(this.initializeSharing(e,{strategy:n.strategy}))}));let{shareInfo:i}=await this.hooks.lifecycle.beforeLoadShare.emit({pkgName:e,shareInfo:n,shared:r.options.shared,origin:r});o.assert(i,`Cannot find shared "${e}" in host "${r.options.name}". Ensure the shared config for "${e}" is declared in the federation plugin options and the host has been initialized before loading shares.`);let{shared:s,useTreesShaking:l}=a.getRegisteredShare(this.shareScopeMap,e,i,this.hooks.lifecycle.resolveShare)||{};if(s){let t=a.directShare(s,l);if(t.lib)return a.addUseIn(t,r.options.name),t.lib;if(t.loading&&!t.loaded){let e=await t.loading;return t.loaded=!0,t.lib||(t.lib=e),a.addUseIn(t,r.options.name),e}{let o=(async()=>{let e=await t.get();return a.addUseIn(t,r.options.name),t.loaded=!0,t.lib=e,e})();return this.setShared({pkgName:e,loaded:!1,shared:s,from:r.options.name,lib:null,loading:o,treeShaking:l?t:void 0}),o}}{if(null==t?void 0:t.customShareInfo)return!1;let o=a.shouldUseTreeShaking(i.treeShaking),n=a.directShare(i,o),s=(async()=>{let t=await n.get();n.lib=t,n.loaded=!0,a.addUseIn(n,r.options.name);let{shared:o,useTreesShaking:s}=a.getRegisteredShare(this.shareScopeMap,e,i,this.hooks.lifecycle.resolveShare)||{};if(o){let e=a.directShare(o,s);e.lib=t,e.loaded=!0,o.from=i.from}return t})();return this.setShared({pkgName:e,loaded:!1,shared:i,from:r.options.name,lib:null,loading:s,treeShaking:o?n:void 0}),s}}initializeSharing(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:n.DEFAULT_SCOPE,t=arguments.length>1?arguments[1]:void 0,{host:r}=this,o=null==t?void 0:t.from,i=null==t?void 0:t.strategy,s=null==t?void 0:t.initScope,l=[];if("build"!==o){let{initTokens:t}=this;s||(s=[]);let r=t[e];if(r||(r=t[e]={from:this.host.name}),s.indexOf(r)>=0)return l;s.push(r)}let u=this.shareScopeMap,c=r.options.name;u[e]||(u[e]={});let d=u[e],f=(e,t)=>{var r;let{version:o,eager:n}=t;d[e]=d[e]||{};let i=d[e],s=i[o]&&a.directShare(i[o]),l=!!(s&&("eager"in s&&s.eager||"shareConfig"in s&&(null==(r=s.shareConfig)?void 0:r.eager)));(!s||"loaded-first"!==s.strategy&&!s.loaded&&(!n!=!l?n:c>i[o].from))&&(i[o]=t)},h=async e=>{let t,{module:o}=await r.remoteHandler.getRemoteModuleAndOptions({id:e});try{t=await o.getEntry()}catch(o){if(!(t=await r.remoteHandler.hooks.lifecycle.errorLoadRemote.emit({id:e,error:o,from:"runtime",lifecycle:"beforeLoadShare",origin:r})))return}finally{(null==t?void 0:t.init)&&!o.initing&&(o.remoteEntryExports=t,await o.init(void 0,void 0,s))}};return Object.keys(r.options.shared).forEach(t=>{r.options.shared[t].forEach(r=>{r.scope.includes(e)&&f(t,r)})}),("version-first"===r.options.shareStrategy||"version-first"===i)&&r.options.remotes.forEach(t=>{t.shareScope===e&&l.push(h(t.name))}),l}loadShareSync(e,t){let{host:r}=this,n=a.getTargetSharedOptions({pkgName:e,extraOptions:t,shareInfos:r.options.shared});(null==n?void 0:n.scope)&&n.scope.forEach(e=>{this.initializeSharing(e,{strategy:n.strategy})});let{shared:s,useTreesShaking:l}=a.getRegisteredShare(this.shareScopeMap,e,n,this.hooks.lifecycle.resolveShare)||{};if(s){if("function"==typeof s.lib)return a.addUseIn(s,r.options.name),s.loaded||(s.loaded=!0,s.from===r.options.name&&(n.loaded=!0)),s.lib;if("function"==typeof s.get){let t=s.get();if(!(t instanceof Promise))return a.addUseIn(s,r.options.name),this.setShared({pkgName:e,loaded:!0,from:r.options.name,lib:t,shared:s}),t}}if(n.lib)return n.loaded||(n.loaded=!0),n.lib;if(n.get){let a=n.get();return a instanceof Promise&&o.error((null==t?void 0:t.from)==="build"?d.RUNTIME_005:d.RUNTIME_006,d.runtimeDescMap,{hostName:r.options.name,sharedPkgName:e},void 0,i.optionsToMFContext(r.options)),n.lib=a,this.setShared({pkgName:e,loaded:!0,from:r.options.name,lib:n.lib,shared:n}),n.lib}o.error(d.RUNTIME_006,d.runtimeDescMap,{hostName:r.options.name,sharedPkgName:e},void 0,i.optionsToMFContext(r.options))}initShareScopeMap(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{host:o}=this;this.shareScopeMap[e]=t,this.hooks.lifecycle.initContainerShareScopeMap.emit({shareScope:t,options:o.options,origin:o,scopeName:e,hostShareScopeMap:r.hostShareScopeMap})}setShared(e){let{pkgName:t,shared:r,from:o,lib:n,loading:a,loaded:i,get:s,treeShaking:l}=e,{version:u,scope:c="default",...d}=r,f=Array.isArray(c)?c:[c],h=e=>{let t=(e,t,r)=>{r&&!e[t]&&(e[t]=r)},r=l?e.treeShaking:e;t(r,"loaded",i),t(r,"loading",a),t(r,"get",s)};f.forEach(e=>{this.shareScopeMap[e]||(this.shareScopeMap[e]={}),this.shareScopeMap[e][t]||(this.shareScopeMap[e][t]={}),this.shareScopeMap[e][t][u]||(this.shareScopeMap[e][t][u]={version:u,scope:[e],...d,lib:n});let r=this.shareScopeMap[e][t][u];h(r),o&&r.from!==o&&(r.from=o)})}_setGlobalShareScopeMap(e){let t=a.getGlobalShareScope(),r=e.id||e.name;r&&!t[r]&&(t[r]=this.shareScopeMap)}constructor(e){this.hooks=new c.PluginSystem({beforeRegisterShare:new l.SyncWaterfallHook("beforeRegisterShare"),afterResolve:new u.AsyncWaterfallHook("afterResolve"),beforeLoadShare:new u.AsyncWaterfallHook("beforeLoadShare"),loadShare:new s.AsyncHook,resolveShare:new l.SyncWaterfallHook("resolveShare"),initContainerShareScopeMap:new l.SyncWaterfallHook("initContainerShareScopeMap")}),this.host=e,this.shareScopeMap={},this.initTokens={},this._setGlobalShareScopeMap(e.options)}}},94219(e,t,r){var o=r(36568).__exportAll({});Object.defineProperty(t,"type_exports",{enumerable:!0,get:function(){return o}})},53565(e,t){function r(e){return{name:e.name,alias:e.alias,entry:"entry"in e?e.entry:void 0,version:"version"in e?e.version:void 0,type:e.type,entryGlobalName:e.entryGlobalName,shareScope:e.shareScope}}t.optionsToMFContext=function(e){var t,o,n,a,i,s;let l={};for(let[t,r]of Object.entries(e.shared)){let e=r[0];e&&(l[t]={version:e.version,singleton:null==(n=e.shareConfig)?void 0:n.singleton,requiredVersion:(null==(a=e.shareConfig)?void 0:a.requiredVersion)!==!1&&(null==(i=e.shareConfig)?void 0:i.requiredVersion),eager:e.eager,strictVersion:null==(s=e.shareConfig)?void 0:s.strictVersion})}return{project:{name:e.name,mfRole:(null==(t=e.remotes)?void 0:t.length)>0?"host":"unknown"},mfConfig:{name:e.name,remotes:(null==(o=e.remotes)?void 0:o.map(r))??[],shared:l}}}},90537(e,t,r){r(89850),t.getBuilderId=function(){return"GaugeChart:0.13.0-beta.0"}},25344(e,t,r){let o=r(14007);t.AsyncHook=class extends o.SyncHook{emit(){let e;for(var t=arguments.length,r=Array(t),o=0;o<t;o++)r[o]=arguments[o];let n=Array.from(this.listeners);if(n.length>0){let t=0,o=e=>!1!==e&&(t<n.length?Promise.resolve(n[t++].apply(null,r)).then(o):e);e=o()}return Promise.resolve(e)}}},11767(e,t,r){let o=r(85968),n=r(95018),a=r(14007),i=r(69757);t.AsyncWaterfallHook=class extends a.SyncHook{emit(e){n.isObject(e)||o.error(`The response data for the "${this.type}" hook must be an object.`);let t=Array.from(this.listeners);if(t.length>0){let r=0,n=t=>(o.warn(t),this.onerror(t),e),a=o=>{if(i.checkReturnData(e,o)){if(e=o,r<t.length)try{return Promise.resolve(t[r++](e)).then(a,n)}catch(e){return n(e)}}else this.onerror(`A plugin returned an incorrect value for the "${this.type}" type.`);return e};return Promise.resolve(a(e))}return Promise.resolve(e)}constructor(e){super(),this.onerror=o.error,this.type=e}}},7353(e,t,r){r(14007),r(25344),r(69757),r(11767),r(27185)},27185(e,t,r){let o=r(85968),n=r(95018);r(87728),t.PluginSystem=class{applyPlugin(e,t){o.assert(n.isPlainObject(e),"Plugin configuration is invalid.");let r=e.name;if(o.assert(r,"A name must be provided by the plugin."),!this.registerPlugins[r]){var a;this.registerPlugins[r]=e,null==(a=e.apply)||a.call(e,t),Object.keys(this.lifecycle).forEach(t=>{let r=e[t];r&&this.lifecycle[t].on(r)})}}removePlugin(e){o.assert(e,"A name is required.");let t=this.registerPlugins[e];o.assert(t,`The plugin "${e}" is not registered.`),Object.keys(t).forEach(e=>{"name"!==e&&this.lifecycle[e].remove(t[e])})}constructor(e){this.registerPlugins={},this.lifecycle=e,this.lifecycleKeys=Object.keys(e)}}},14007(e,t){t.SyncHook=class{on(e){"function"==typeof e&&this.listeners.add(e)}once(e){let t=this;this.on(function r(){for(var o=arguments.length,n=Array(o),a=0;a<o;a++)n[a]=arguments[a];return t.remove(r),e.apply(null,n)})}emit(){let e;for(var t=arguments.length,r=Array(t),o=0;o<t;o++)r[o]=arguments[o];return this.listeners.size>0&&this.listeners.forEach(t=>{e=t(...r)}),e}remove(e){this.listeners.delete(e)}removeAll(){this.listeners.clear()}constructor(e){this.type="",this.listeners=new Set,e&&(this.type=e)}}},69757(e,t,r){let o=r(85968),n=r(95018),a=r(14007);function i(e,t){if(!n.isObject(t))return!1;if(e!==t){for(let r in e)if(!(r in t))return!1}return!0}t.SyncWaterfallHook=class extends a.SyncHook{emit(e){for(let t of(n.isObject(e)||o.error(`The data for the "${this.type}" hook should be an object.`),this.listeners))try{let r=t(e);if(i(e,r))e=r;else{this.onerror(`A plugin returned an unacceptable value for the "${this.type}" type.`);break}}catch(e){o.warn(e),this.onerror(e)}return e}constructor(e){super(),this.onerror=o.error,this.type=e}},t.checkReturnData=i},87728(e,t,r){r(85968),r(95018),r(90537),r(28395),r(8349),r(84616),r(53565),r(89850)},84616(e,t,r){let o=r(85968),n=r(74331),a=r(45818),i=r(89850),s=r(4071),l=".then(callbacks[0]).catch(callbacks[1])";async function u(e){let{entry:t,remoteEntryExports:r}=e;return new Promise((e,n)=>{try{r?e(r):"u">typeof FEDERATION_ALLOW_NEW_FUNCTION?Function("callbacks",`import("${t}")${l}`)([e,n]):import(t).then(e).catch(n)}catch(e){o.error(`Failed to load ESM entry from "${t}". ${e instanceof Error?e.message:String(e)}`)}})}async function c(e){let{entry:t,remoteEntryExports:r}=e;return new Promise((e,n)=>{try{r?e(r):Function("callbacks",`System.import("${t}")${l}`)([e,n])}catch(e){o.error(`Failed to load SystemJS entry from "${t}". ${e instanceof Error?e.message:String(e)}`)}})}function d(e,t,r){let{remoteEntryKey:a,entryExports:i}=n.getRemoteEntryExports(e,t);return i||o.error(s.RUNTIME_001,s.runtimeDescMap,{remoteName:e,remoteEntryUrl:r,remoteEntryKey:a}),i}async function f(e){let{name:t,globalName:r,entry:a,remoteInfo:l,loaderHook:u,getEntryUrl:c}=e,{entryExports:f}=n.getRemoteEntryExports(t,r);if(f)return f;let h=c?c(a):a;return(0,i.loadScript)(h,{attrs:{},createScriptHook:(e,t)=>{let r=u.lifecycle.createScript.emit({url:e,attrs:t,remoteInfo:l});if(r&&(r instanceof HTMLScriptElement||"script"in r||"timeout"in r))return r}}).then(()=>d(t,r,a),e=>{let r=e instanceof Error?e.message:String(e);o.error(s.RUNTIME_008,s.runtimeDescMap,{remoteName:t,resourceUrl:h},r)})}async function h(e){let{remoteInfo:t,remoteEntryExports:r,loaderHook:o,getEntryUrl:n}=e,{entry:a,entryGlobalName:i,name:s,type:l}=t;switch(l){case"esm":case"module":return u({entry:a,remoteEntryExports:r});case"system":return c({entry:a,remoteEntryExports:r});default:return f({entry:a,globalName:i,name:s,remoteInfo:t,loaderHook:o,getEntryUrl:n})}}async function p(e){let{remoteInfo:t,loaderHook:r}=e,{entry:a,entryGlobalName:s,name:l,type:u}=t,{entryExports:c}=n.getRemoteEntryExports(l,s);return c||(0,i.loadScriptNode)(a,{attrs:{name:l,globalName:s,type:u},loaderHook:{createScriptHook:function(e){let o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=r.lifecycle.createScript.emit({url:e,attrs:o,remoteInfo:t});if(n&&"url"in n)return n}}}).then(()=>d(l,s,a)).catch(e=>{o.error(`Failed to load Node.js entry for remote "${l}" from "${a}". ${e instanceof Error?e.message:String(e)}`)})}function m(e){let{entry:t,name:r}=e;return(0,i.composeKeyWithSeparator)(r,t)}async function g(e){let{origin:t,remoteEntryExports:r,remoteInfo:o,getEntryUrl:a,_inErrorHandling:l=!1}=e,u=m(o);if(r)return r;if(!n.globalLoading[u]){let e=t.remoteHandler.hooks.lifecycle.loadEntry,c=t.loaderHook;n.globalLoading[u]=e.emit({loaderHook:c,remoteInfo:o,remoteEntryExports:r}).then(e=>e||(("u">typeof ENV_TARGET?"web"===ENV_TARGET:i.isBrowserEnvValue)?h({remoteInfo:o,remoteEntryExports:r,loaderHook:c,getEntryUrl:a}):p({remoteInfo:o,loaderHook:c}))).catch(async e=>{let a=m(o),i=e instanceof Error&&e.message.includes("ScriptExecutionError");if(e instanceof Error&&e.message.includes(s.RUNTIME_008)&&!i&&!l){let e=e=>g({...e,_inErrorHandling:!0}),i=await t.loaderHook.lifecycle.loadEntryError.emit({getRemoteEntry:e,origin:t,remoteInfo:o,remoteEntryExports:r,globalLoading:n.globalLoading,uniqueKey:a});if(i)return i}throw e})}return n.globalLoading[u]}function y(e){return{...e,entry:"entry"in e?e.entry:"",type:e.type||a.DEFAULT_REMOTE_TYPE,entryGlobalName:e.entryGlobalName||e.name,shareScope:e.shareScope||a.DEFAULT_SCOPE}}t.getRemoteEntry=g,t.getRemoteEntryUniqueKey=m,t.getRemoteInfo=y},85968(e,t,r){let o=r(89850),n=r(89095),a="[ Federation Runtime ]",i=(0,o.createLogger)(a);function s(e,t,r,o,i){if(void 0!==t)return(0,n.logAndReport)(e,t,r??{},e=>{throw Error(`${a}: ${e}`)},o,i);let s=e;if(s instanceof Error)throw s.message.startsWith(a)||(s.message=`${a}: ${s.message}`),s;throw Error(`${a}: ${s}`)}function l(e){e instanceof Error&&(e.message.startsWith(a)||(e.message=`${a}: ${e.message}`)),i.warn(e)}t.assert=function(e,t,r,o,n){e||(void 0!==r?s(t,r,o,void 0,n):s(t))},t.error=s,t.logger=i,t.warn=l},28395(e,t){function r(e,t){for(let r of e){let e=t.startsWith(r.name),o=t.replace(r.name,"");if(e){if(o.startsWith("/"))return{pkgNameOrAlias:r.name,expose:o=`.${o}`,remote:r};else if(""===o)return{pkgNameOrAlias:r.name,expose:".",remote:r}}let n=r.alias&&t.startsWith(r.alias),a=r.alias&&t.replace(r.alias,"");if(r.alias&&n){if(a&&a.startsWith("/"))return{pkgNameOrAlias:r.alias,expose:a=`.${a}`,remote:r};else if(""===a)return{pkgNameOrAlias:r.alias,expose:".",remote:r}}}}t.matchRemote=function(e,t){for(let r of e)if(t===r.name||r.alias&&t===r.alias)return r},t.matchRemoteWithNameAndExpose=r},8349(e,t,r){let o=r(74331);t.registerPlugins=function(e,t){let r=o.getGlobalHostPlugins(),n=[t.hooks,t.remoteHandler.hooks,t.sharedHandler.hooks,t.snapshotHandler.hooks,t.loaderHook,t.bridgeHook];return r.length>0&&r.forEach(t=>{(null==e?void 0:e.find(e=>e.name!==t.name))&&e.push(t)}),e&&e.length>0&&e.forEach(e=>{n.forEach(r=>{r.applyPlugin(e,t)})}),e}},3371(e,t,r){let o=r(85968),n=r(28395),a=r(84616),i=r(89850);function s(e){return{resourceCategory:"sync",share:!0,depsRemote:!0,...e}}function l(e,t){return t.map(t=>{let r=n.matchRemote(e,t.nameOrAlias);return o.assert(r,`Unable to preload ${t.nameOrAlias} as it is not included in ${!r&&(0,i.safeToString)({remoteInfo:r,remotes:e})}`),{remote:r,preloadConfig:s(t)}})}function u(e){return e?e.map(e=>"."===e?e:e.startsWith("./")?e.replace("./",""):e):[]}function c(e,t,r){let o=!(arguments.length>3)||void 0===arguments[3]||arguments[3],{cssAssets:n,jsAssetsWithoutEntry:s,entryAssets:l}=r;if(t.options.inBrowser){if(l.forEach(r=>{let{moduleInfo:o}=r,n=t.moduleCache.get(e.name);n?a.getRemoteEntry({origin:t,remoteInfo:o,remoteEntryExports:n.remoteEntryExports}):a.getRemoteEntry({origin:t,remoteInfo:o,remoteEntryExports:void 0})}),o){let r={rel:"preload",as:"style"};n.forEach(o=>{let{link:n,needAttach:a}=(0,i.createLink)({url:o,cb:()=>{},attrs:r,createLinkHook:(r,o)=>{let n=t.loaderHook.lifecycle.createLink.emit({url:r,attrs:o,remoteInfo:e});if(n instanceof HTMLLinkElement)return n}});a&&document.head.appendChild(n)})}else{let r={rel:"stylesheet",type:"text/css"};n.forEach(o=>{let{link:n,needAttach:a}=(0,i.createLink)({url:o,cb:()=>{},attrs:r,createLinkHook:(r,o)=>{let n=t.loaderHook.lifecycle.createLink.emit({url:r,attrs:o,remoteInfo:e});if(n instanceof HTMLLinkElement)return n},needDeleteLink:!1});a&&document.head.appendChild(n)})}if(o){let r={rel:"preload",as:"script"};s.forEach(o=>{let{link:n,needAttach:a}=(0,i.createLink)({url:o,cb:()=>{},attrs:r,createLinkHook:(r,o)=>{let n=t.loaderHook.lifecycle.createLink.emit({url:r,attrs:o,remoteInfo:e});if(n instanceof HTMLLinkElement)return n}});a&&document.head.appendChild(n)})}else{let r={fetchpriority:"high",type:(null==e?void 0:e.type)==="module"?"module":"text/javascript"};s.forEach(o=>{let{script:n,needAttach:a}=(0,i.createScript)({url:o,cb:()=>{},attrs:r,createScriptHook:(r,o)=>{let n=t.loaderHook.lifecycle.createScript.emit({url:r,attrs:o,remoteInfo:e});if(n instanceof HTMLScriptElement)return n},needDeleteScript:!0});a&&document.head.appendChild(n)})}}}t.defaultPreloadArgs=s,t.formatPreloadArgs=l,t.normalizePreloadExposes=u,t.preloadAssets=c},17564(e,t){function r(e,t){return(e=Number(e)||e)>(t=Number(t)||t)?1:e===t?0:-1}function o(e,t){let{preRelease:o}=e,{preRelease:n}=t;if(void 0===o&&n)return 1;if(o&&void 0===n)return -1;if(void 0===o&&void 0===n)return 0;for(let e=0,t=o.length;e<=t;e++){let t=o[e],a=n[e];if(t!==a){if(void 0===t&&void 0===a)return 0;if(!t)return 1;if(!a)return -1;return r(t,a)}}return 0}function n(e,t){return r(e.major,t.major)||r(e.minor,t.minor)||r(e.patch,t.patch)||o(e,t)}function a(e,t){return e.version===t.version}t.compare=function(e,t){switch(e.operator){case"":case"=":return a(e,t);case">":return 0>n(e,t);case">=":return a(e,t)||0>n(e,t);case"<":return n(e,t)>0;case"<=":return a(e,t)||n(e,t)>0;case void 0:return!0;default:return!1}}},8950(e,t){let r="[0-9A-Za-z-]+",o=`(?:\\+(${r}(?:\\.${r})*))`,n="0|[1-9]\\d*",a="[0-9]+",i="\\d*[a-zA-Z-][a-zA-Z0-9-]*",s=`(?:${a}|${i})`,l=`(?:-?(${s}(?:\\.${s})*))`,u=`(?:${n}|${i})`,c=`(?:-(${u}(?:\\.${u})*))`,d=`${n}|x|X|\\*`,f=`[v=\\s]*(${d})(?:\\.(${d})(?:\\.(${d})(?:${c})?${o}?)?)?`,h=`^\\s*(${f})\\s+-\\s+(${f})\\s*$`,p=`[v=\\s]*${`(${a})\\.(${a})\\.(${a})`}${l}?${o}?`,m="((?:<|>)?=?)",g=`(\\s*)${m}\\s*(${p}|${f})`,y="(?:~>?)",E=`(\\s*)${y}\\s+`,b="(?:\\^)",S=`(\\s*)${b}\\s+`,_="(<|>)?=?\\s*\\*",v=`^${b}${f}$`,R=`v?${`(${n})\\.(${n})\\.(${n})`}${c}?${o}?`,I=`^${y}${f}$`,N=`^${m}\\s*${f}$`,T=`^${m}\\s*(${R})$|^$`,M="^\\s*>=\\s*0.0.0\\s*$";t.caret=v,t.caretTrim=S,t.comparator=T,t.comparatorTrim=g,t.gte0=M,t.hyphenRange=h,t.star=_,t.tilde=I,t.tildeTrim=E,t.xRange=N},51209(e,t,r){let o=r(13842),n=r(92190),a=r(17564);function i(e){return o.pipe(n.parseCarets,n.parseTildes,n.parseXRanges,n.parseStar)(e)}function s(e){return o.pipe(n.parseHyphen,n.parseComparatorTrim,n.parseTildeTrim,n.parseCaretTrim)(e.trim()).split(/\s+/).join(" ")}t.satisfy=function(e,t){if(!e)return!1;let r=o.extractComparator(e);if(!r)return!1;let[,l,,u,c,d,f]=r,h={operator:l,version:o.combineVersion(u,c,d,f),major:u,minor:c,patch:d,preRelease:null==f?void 0:f.split(".")};for(let e of t.split("||")){let t=e.trim();if(!t||"*"===t||"x"===t)return!0;try{let e=s(t);if(!e.trim())return!0;let r=e.split(" ").map(e=>i(e)).join(" ");if(!r.trim())return!0;let l=r.split(/\s+/).map(e=>n.parseGTE0(e)).filter(Boolean);if(0===l.length)continue;let u=!0;for(let e of l){let t=o.extractComparator(e);if(!t){u=!1;break}let[,r,,n,i,s,l]=t;if(!a.compare({operator:r,version:o.combineVersion(n,i,s,l),major:n,minor:i,patch:s,preRelease:null==l?void 0:l.split(".")},h)){u=!1;break}}if(u)return!0}catch(e){console.error(`[semver] Error processing range part "${t}":`,e);continue}}return!1}},92190(e,t,r){let o=r(8950),n=r(13842);function a(e){return e.replace(n.parseRegex(o.hyphenRange),(e,t,r,o,a,i,s,l,u,c,d,f)=>(t=n.isXVersion(r)?"":n.isXVersion(o)?`>=${r}.0.0`:n.isXVersion(a)?`>=${r}.${o}.0`:`>=${t}`,l=n.isXVersion(u)?"":n.isXVersion(c)?`<${Number(u)+1}.0.0-0`:n.isXVersion(d)?`<${u}.${Number(c)+1}.0-0`:f?`<=${u}.${c}.${d}-${f}`:`<=${l}`,`${t} ${l}`.trim()))}function i(e){return e.replace(n.parseRegex(o.comparatorTrim),"$1$2$3")}function s(e){return e.replace(n.parseRegex(o.tildeTrim),"$1~")}function l(e){return e.trim().split(/\s+/).map(e=>e.replace(n.parseRegex(o.caret),(e,t,r,o,a)=>{if(n.isXVersion(t))return"";if(n.isXVersion(r))return`>=${t}.0.0 <${Number(t)+1}.0.0-0`;if(n.isXVersion(o))if("0"===t)return`>=${t}.${r}.0 <${t}.${Number(r)+1}.0-0`;else return`>=${t}.${r}.0 <${Number(t)+1}.0.0-0`;if(a)if("0"!==t)return`>=${t}.${r}.${o}-${a} <${Number(t)+1}.0.0-0`;else if("0"===r)return`>=${t}.${r}.${o}-${a} <${t}.${r}.${Number(o)+1}-0`;else return`>=${t}.${r}.${o}-${a} <${t}.${Number(r)+1}.0-0`;if("0"===t)if("0"===r)return`>=${t}.${r}.${o} <${t}.${r}.${Number(o)+1}-0`;else return`>=${t}.${r}.${o} <${t}.${Number(r)+1}.0-0`;return`>=${t}.${r}.${o} <${Number(t)+1}.0.0-0`})).join(" ")}function u(e){return e.trim().split(/\s+/).map(e=>e.replace(n.parseRegex(o.tilde),(e,t,r,o,a)=>n.isXVersion(t)?"":n.isXVersion(r)?`>=${t}.0.0 <${Number(t)+1}.0.0-0`:n.isXVersion(o)?`>=${t}.${r}.0 <${t}.${Number(r)+1}.0-0`:a?`>=${t}.${r}.${o}-${a} <${t}.${Number(r)+1}.0-0`:`>=${t}.${r}.${o} <${t}.${Number(r)+1}.0-0`)).join(" ")}function c(e){return e.split(/\s+/).map(e=>e.trim().replace(n.parseRegex(o.xRange),(e,t,r,o,a,i)=>{let s=n.isXVersion(r),l=s||n.isXVersion(o),u=l||n.isXVersion(a);if("="===t&&u&&(t=""),i="",s)if(">"===t||"<"===t)return"<0.0.0-0";else return"*";return t&&u?(l&&(o=0),a=0,">"===t?(t=">=",l?(r=Number(r)+1,o=0):o=Number(o)+1,a=0):"<="===t&&(t="<",l?r=Number(r)+1:o=Number(o)+1),"<"===t&&(i="-0"),`${t+r}.${o}.${a}${i}`):l?`>=${r}.0.0${i} <${Number(r)+1}.0.0-0`:u?`>=${r}.${o}.0${i} <${r}.${Number(o)+1}.0-0`:e})).join(" ")}function d(e){return e.trim().replace(n.parseRegex(o.star),"")}function f(e){return e.trim().replace(n.parseRegex(o.gte0),"")}t.parseCaretTrim=function(e){return e.replace(n.parseRegex(o.caretTrim),"$1^")},t.parseCarets=l,t.parseComparatorTrim=i,t.parseGTE0=f,t.parseHyphen=a,t.parseStar=d,t.parseTildeTrim=s,t.parseTildes=u,t.parseXRanges=c},13842(e,t,r){let o=r(8950);function n(e){return new RegExp(e)}function a(e){return!e||"x"===e.toLowerCase()||"*"===e}function i(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return e=>t.reduce((e,t)=>t(e),e)}function s(e){return e.match(n(o.comparator))}t.combineVersion=function(e,t,r,o){let n=`${e}.${t}.${r}`;return o?`${n}-${o}`:n},t.extractComparator=s,t.isXVersion=a,t.parseRegex=n,t.pipe=i},7269(e,t,r){let o=r(85968),n=r(95018),a=r(74331),i=r(45818),s=r(51209),l=r(89850);function u(e,t,r,n){var a,i;let s;return s="get"in e?e.get:"lib"in e?()=>Promise.resolve(e.lib):()=>Promise.resolve(()=>{o.error(`Cannot get shared "${r}" from "${t}": neither "get" nor "lib" is provided in the share config.`)}),(null==(a=e.shareConfig)?void 0:a.eager)&&(null==(i=e.treeShaking)?void 0:i.mode)&&o.error(`Invalid shared config for "${r}" from "${t}": cannot use both "eager: true" and "treeShaking.mode" simultaneously. Choose one strategy.`),{deps:[],useIn:[],from:t,loading:null,...e,shareConfig:{requiredVersion:`^${e.version}`,singleton:!1,eager:!1,strictVersion:!1,...e.shareConfig},get:s,loaded:null!=e&&!!e.loaded||"lib"in e||void 0,version:e.version??"0",scope:Array.isArray(e.scope)?e.scope:[e.scope??"default"],strategy:(e.strategy??n)||"version-first",treeShaking:e.treeShaking?{...e.treeShaking,mode:e.treeShaking.mode??"server-calc",status:e.treeShaking.status??l.TreeShakingStatus.UNKNOWN,useIn:[]}:void 0}}function c(e,t){let r=t.shared||{},o=t.name,a=Object.keys(r).reduce((e,a)=>{let i=n.arrayOptions(r[a]);return e[a]=e[a]||[],i.forEach(r=>{e[a].push(u(r,o,a,t.shareStrategy))}),e},{}),i={...e.shared};return Object.keys(a).forEach(e=>{i[e]?a[e].forEach(t=>{i[e].find(e=>e.version===t.version)||i[e].push(t)}):i[e]=a[e]}),{allShareInfos:i,newShareInfos:a}}function d(e,t){if(!e)return!1;let{status:r,mode:o}=e;return r!==l.TreeShakingStatus.NO_USE&&(r===l.TreeShakingStatus.CALCULATED||"runtime-infer"===o&&(!t||g(e,t)))}function f(e,t){let r=e=>{if(!Number.isNaN(Number(e))){let t=e.split("."),r=e;for(let e=0;e<3-t.length;e++)r+=".0";return r}return e};return!!s.satisfy(r(e),`<=${r(t)}`)}let h=(e,t)=>{let r=t||function(e,t){return f(e,t)};return Object.keys(e).reduce((e,t)=>!e||r(e,t)||"0"===e?t:e,0)},p=e=>!!e.loaded||"function"==typeof e.lib,m=e=>!!e.loading,g=(e,t)=>{if(!e||!t)return!1;let{usedExports:r}=e;return!!r&&!!t.every(e=>r.includes(e))};function y(e,t,r,o){let n=e[t][r],a="",i=d(o),s=function(e,t){return i?!n[e].treeShaking||!!n[t].treeShaking&&!p(n[e].treeShaking)&&f(e,t):!p(n[e])&&f(e,t)};if(i){if(a=h(e[t][r],s))return{version:a,useTreesShaking:i};i=!1}return{version:h(e[t][r],s),useTreesShaking:i}}let E=e=>p(e)||m(e);function b(e,t,r,o){let n=e[t][r],a="",i=d(o),s=function(e,t){if(i){if(!n[e].treeShaking)return!0;if(!n[t].treeShaking)return!1;if(E(n[t].treeShaking))if(E(n[e].treeShaking))return!!f(e,t);else return!0;if(E(n[e].treeShaking))return!1}if(E(n[t]))if(E(n[e]))return!!f(e,t);else return!0;return!E(n[e])&&f(e,t)};if(i){if(a=h(e[t][r],s))return{version:a,useTreesShaking:i};i=!1}return{version:h(e[t][r],s),useTreesShaking:i}}function S(e){return"loaded-first"===e?b:y}function _(e,t,r,n){if(!e)return;let{shareConfig:l,scope:u=i.DEFAULT_SCOPE,strategy:c,treeShaking:f}=r;for(let i of Array.isArray(u)?u:[u])if(l&&e[i]&&e[i][t]){let{requiredVersion:u}=l,{version:h,useTreesShaking:p}=S(c)(e,i,t,f),m=()=>{let n=e[i][t][h];if(l.singleton){if("string"==typeof u&&!s.satisfy(h,u)){let e=`Version ${h} from ${h&&n.from} of shared singleton module ${t} does not satisfy the requirement of ${r.from} which needs ${u})`;l.strictVersion?o.error(e):o.warn(e)}return{shared:n,useTreesShaking:p}}{if(!1===u||"*"===u||s.satisfy(h,u))return{shared:n,useTreesShaking:p};let r=d(f);if(r){for(let[o,n]of Object.entries(e[i][t]))if(d(n.treeShaking,null==f?void 0:f.usedExports)&&s.satisfy(o,u))return{shared:n,useTreesShaking:r}}for(let[r,o]of Object.entries(e[i][t]))if(s.satisfy(r,u))return{shared:o,useTreesShaking:!1}}},g={shareScopeMap:e,scope:i,pkgName:t,version:h,GlobalFederation:a.Global.__FEDERATION__,shareInfo:r,resolver:m};return(n.emit(g)||g).resolver()}}function v(){return a.Global.__FEDERATION__.__SHARE__}function R(e){let{pkgName:t,extraOptions:r,shareInfos:o}=e,n=e=>{if(!e)return;let t={};e.forEach(e=>{t[e.version]=e});let r=function(e,r){return!p(t[e])&&f(e,r)};return t[h(t,r)]},a=(null==r?void 0:r.resolver)??n,i=e=>null!==e&&"object"==typeof e&&!Array.isArray(e),s=function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];let o={};for(let e of t)if(e)for(let[t,r]of Object.entries(e)){let e=o[t];i(e)&&i(r)?o[t]=s(e,r):void 0!==r&&(o[t]=r)}return o};return s(a(o[t]),null==r?void 0:r.customShareInfo)}function I(e,t){return t&&e.treeShaking?e.treeShaking:e}t.addUseIn=(e,t)=>{e.useIn||(e.useIn=[]),n.addUniqueItem(e.useIn,t)},t.directShare=I,t.formatShareConfigs=c,t.getGlobalShareScope=v,t.getRegisteredShare=_,t.getTargetSharedOptions=R,t.shouldUseTreeShaking=d},95018(e,t,r){let o=r(85968),n=r(89850);function a(e,t){return -1===e.findIndex(e=>e===t)&&e.push(t),e}function i(e){return"version"in e&&e.version?`${e.name}:${e.version}`:"entry"in e&&e.entry?`${e.name}:${e.entry}`:`${e.name}`}function s(e){return void 0!==e.entry}function l(e){return!e.entry.includes(".json")}async function u(e,t){try{return await e()}catch(e){t||o.warn(e);return}}function c(e){return e&&"object"==typeof e}let d=Object.prototype.toString;function f(e){return"[object Object]"===d.call(e)}function h(e,t){let r=/^(https?:)?\/\//i;return e.replace(r,"").replace(/\/$/,"")===t.replace(r,"").replace(/\/$/,"")}function p(e){return Array.isArray(e)?e:[e]}function m(e){let t={url:"",type:"global",globalName:""};return n.isBrowserEnvValue||(0,n.isReactNativeEnv)()||!("ssrRemoteEntry"in e)?"remoteEntry"in e?{url:e.remoteEntry,type:e.remoteEntryType,globalName:e.globalName}:t:"ssrRemoteEntry"in e?{url:e.ssrRemoteEntry||t.url,type:e.ssrRemoteEntryType||t.type,globalName:e.globalName}:t}let g=(e,t)=>{let r;return r=e.endsWith("/")?e.slice(0,-1):e,t.startsWith(".")&&(t=t.slice(1)),r+=t};t.addUniqueItem=a,t.arrayOptions=p,t.getFMId=i,t.getRemoteEntryInfoFromSnapshot=m,t.isObject=c,t.isPlainObject=f,t.isPureRemoteEntry=l,t.isRemoteInfoWithEntry=s,t.isStaticResourcesEqual=h,t.objectToString=d,t.processModuleAlias=g,t.safeWrapper=u},66396(e,t){var r=Object.create,o=Object.defineProperty,n=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,i=Object.getPrototypeOf,s=Object.prototype.hasOwnProperty,l=(e,t,r,i)=>{if(t&&"object"==typeof t||"function"==typeof t)for(var l,u=a(t),c=0,d=u.length;c<d;c++)l=u[c],s.call(e,l)||l===r||o(e,l,{get:(e=>t[e]).bind(null,l),enumerable:!(i=n(t,l))||i.enumerable});return e};t.__toESM=(e,t,n)=>(n=null!=e?r(i(e)):{},l(!t&&e&&e.__esModule?n:o(n,"default",{value:e,enumerable:!0}),e))},86173(e,t,r){Object.defineProperties(t,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}}),r(66396);let o=r(45229),n=r(6614),a={...n.helpers.global,getGlobalFederationInstance:o.getGlobalFederationInstance},i=n.helpers.share,s=n.helpers.utils;t.default={global:a,share:i,utils:s},t.global=a,t.share=i,t.utils=s},79706(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),r(66396);let o=r(45229),n=r(6614),a=r(4071);function i(e){let t=new((0,n.getGlobalFederationConstructor)()||n.ModuleFederation)({id:`${e.name}@${e.version||Date.now()}`,...e});return(0,n.setGlobalFederationInstance)(t),t}let s=null;function l(e){let t=o.getGlobalFederationInstance(e.name,e.version),r={...e,id:e.id||""};return t?(t.initOptions(r),s||(s=t),t):s=i(r)}function u(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return(0,n.assert)(s,a.RUNTIME_009,a.runtimeDescMap),s.loadRemote.apply(s,t)}function c(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return(0,n.assert)(s,a.RUNTIME_009,a.runtimeDescMap),s.loadShare.apply(s,t)}function d(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return(0,n.assert)(s,a.RUNTIME_009,a.runtimeDescMap),s.loadShareSync.apply(s,t)}function f(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return(0,n.assert)(s,a.RUNTIME_009,a.runtimeDescMap),s.preloadRemote.apply(s,t)}function h(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return(0,n.assert)(s,a.RUNTIME_009,a.runtimeDescMap),s.registerRemotes.apply(s,t)}function p(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return(0,n.assert)(s,a.RUNTIME_009,a.runtimeDescMap),s.registerPlugins.apply(s,t)}function m(){return s}function g(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return(0,n.assert)(s,a.RUNTIME_009,a.runtimeDescMap),s.registerShared.apply(s,t)}(0,n.setGlobalFederationConstructor)(n.ModuleFederation),Object.defineProperty(t,"Module",{enumerable:!0,get:function(){return n.Module}}),t.ModuleFederation=n.ModuleFederation,t.createInstance=i,t.getInstance=m,Object.defineProperty(t,"getRemoteEntry",{enumerable:!0,get:function(){return n.getRemoteEntry}}),Object.defineProperty(t,"getRemoteInfo",{enumerable:!0,get:function(){return n.getRemoteInfo}}),t.init=l,t.loadRemote=u,Object.defineProperty(t,"loadScript",{enumerable:!0,get:function(){return n.loadScript}}),Object.defineProperty(t,"loadScriptNode",{enumerable:!0,get:function(){return n.loadScriptNode}}),t.loadShare=c,t.loadShareSync=d,t.preloadRemote=f,Object.defineProperty(t,"registerGlobalPlugins",{enumerable:!0,get:function(){return n.registerGlobalPlugins}}),t.registerPlugins=p,t.registerRemotes=h,t.registerShared=g},45229(e,t,r){r(66396);let o=r(6614);function n(){return"GaugeChart:0.13.0-beta.0"}t.getGlobalFederationInstance=function(e,t){let r=n();return o.CurrentGlobal.__FEDERATION__.__INSTANCES__.find(o=>!!r&&o.options.id===r||o.options.name===e&&!o.options.version&&!t||o.options.name===e&&!!t&&o.options.version===t)}},21820(e,t){var r=Object.defineProperty;t.__exportAll=(e,t)=>{let o={};for(var n in e)r(o,n,{get:e[n],enumerable:!0});return t||r(o,Symbol.toStringTag,{value:"Module"}),o}},38342(e,t){let r="federation-manifest.json",o=".json",n="FEDERATION_DEBUG",a={AT:"@",HYPHEN:"-",SLASH:"/"},i={[a.AT]:"scope_",[a.HYPHEN]:"_",[a.SLASH]:"__"},s={[i[a.AT]]:a.AT,[i[a.HYPHEN]]:a.HYPHEN,[i[a.SLASH]]:a.SLASH},l=":",u="mf-manifest.json",c="mf-stats.json",d={NPM:"npm",APP:"app"},f="__MF_DEVTOOLS_MODULE_INFO__",h="ENCODE_NAME_PREFIX",p=".federation",m=function(e){return e[e.UNKNOWN=1]="UNKNOWN",e[e.CALCULATED=2]="CALCULATED",e[e.NO_USE=0]="NO_USE",e}({});t.BROWSER_LOG_KEY=n,t.ENCODE_NAME_PREFIX=h,t.EncodedNameTransformMap=s,t.FederationModuleManifest=r,t.MANIFEST_EXT=o,t.MFModuleType=d,t.MODULE_DEVTOOL_IDENTIFIER=f,t.ManifestFileName=u,t.NameTransformMap=i,t.NameTransformSymbol=a,t.SEPARATOR=l,t.StatsFileName=c,t.TEMP_DIR=p,t.TreeShakingStatus=m},94975(e,t){t.createModuleFederationConfig=e=>e},72802(e,t,r){let o=r(33901);async function n(e,t){try{return await e()}catch(e){t||o.warn(e);return}}function a(e,t){let r=/^(https?:)?\/\//i;return e.replace(r,"").replace(/\/$/,"")===t.replace(r,"").replace(/\/$/,"")}function i(e){let t,r=null,o=!0,i=2e4,s=document.getElementsByTagName("script");for(let t=0;t<s.length;t++){let n=s[t],i=n.getAttribute("src");if(i&&a(i,e.url)){r=n,o=!1;break}}if(!r){let t,o=e.attrs;(r=document.createElement("script")).type=(null==o?void 0:o.type)==="module"?"module":"text/javascript",e.createScriptHook&&((t=e.createScriptHook(e.url,e.attrs))instanceof HTMLScriptElement?r=t:"object"==typeof t&&("script"in t&&t.script&&(r=t.script),"timeout"in t&&t.timeout&&(i=t.timeout))),r.src||(r.src=e.url),o&&!t&&Object.keys(o).forEach(e=>{r&&("async"===e||"defer"===e?r[e]=o[e]:r.getAttribute(e)||r.setAttribute(e,o[e]))})}let l=null,u="u">typeof window?t=>{if(t.filename&&a(t.filename,e.url)){let r=Error(`ScriptExecutionError: Script "${e.url}" loaded but threw a runtime error during execution: ${t.message} (${t.filename}:${t.lineno}:${t.colno})`);r.name="ScriptExecutionError",l=r}}:null;u&&window.addEventListener("error",u);let c=async(o,a)=>{clearTimeout(t),u&&window.removeEventListener("error",u);let i=()=>{if((null==a?void 0:a.type)==="error"){let t=Error((null==a?void 0:a.isTimeout)?`ScriptNetworkError: Script "${e.url}" timed out.`:`ScriptNetworkError: Failed to load script "${e.url}" - the script URL is unreachable or the server returned an error (network failure, 404, CORS, etc.)`);t.name="ScriptNetworkError",(null==e?void 0:e.onErrorCallback)&&(null==e||e.onErrorCallback(t))}else l?(null==e?void 0:e.onErrorCallback)&&(null==e||e.onErrorCallback(l)):(null==e?void 0:e.cb)&&(null==e||e.cb())};if(r&&(r.onerror=null,r.onload=null,n(()=>{let{needDeleteScript:t=!0}=e;t&&(null==r?void 0:r.parentNode)&&r.parentNode.removeChild(r)}),o&&"function"==typeof o)){let e=o(a);if(e instanceof Promise){let t=await e;return i(),t}return i(),e}i()};return r.onerror=c.bind(null,r.onerror),r.onload=c.bind(null,r.onload),t=setTimeout(()=>{c(null,{type:"error",isTimeout:!0})},i),{script:r,needAttach:o}}function s(e,t){let{attrs:r={},createScriptHook:o}=t;return new Promise((t,n)=>{let{script:a,needAttach:s}=i({url:e,cb:t,onErrorCallback:n,attrs:{fetchpriority:"high",...r},createScriptHook:o,needDeleteScript:!0});s&&document.head.appendChild(a)})}t.createLink=function(e){let t=null,r=!0,o=document.getElementsByTagName("link");for(let n=0;n<o.length;n++){let i=o[n],s=i.getAttribute("href"),l=i.getAttribute("rel");if(s&&a(s,e.url)&&l===e.attrs.rel){t=i,r=!1;break}}if(!t){let r;(t=document.createElement("link")).setAttribute("href",e.url);let o=e.attrs;e.createLinkHook&&(r=e.createLinkHook(e.url,o))instanceof HTMLLinkElement&&(t=r),o&&!r&&Object.keys(o).forEach(e=>{t&&!t.getAttribute(e)&&t.setAttribute(e,o[e])})}let i=(r,o)=>{let a=()=>{(null==o?void 0:o.type)==="error"?(null==e?void 0:e.onErrorCallback)&&(null==e||e.onErrorCallback(o)):(null==e?void 0:e.cb)&&(null==e||e.cb())};if(t&&(t.onerror=null,t.onload=null,n(()=>{let{needDeleteLink:r=!0}=e;r&&(null==t?void 0:t.parentNode)&&t.parentNode.removeChild(t)}),r)){let e=r(o);return a(),e}a()};return t.onerror=i.bind(null,t.onerror),t.onload=i.bind(null,t.onload),{link:t,needAttach:r}},t.createScript=i,t.isStaticResourcesEqual=a,t.loadScript=s,t.safeWrapper=n},47799(e,t,r){let o=r(38342),n="u">typeof ENV_TARGET?"web"===ENV_TARGET:"u">typeof window&&void 0!==window.document;function a(){return n}function i(){var e;return"u">typeof navigator&&(null==(e=navigator)?void 0:e.product)==="ReactNative"}function s(){try{if(a()&&window.localStorage)return!!localStorage.getItem(o.BROWSER_LOG_KEY)}catch(e){}return!1}function l(){return"u">typeof process&&process.env&&process.env.FEDERATION_DEBUG?!!process.env.FEDERATION_DEBUG:!!("u">typeof FEDERATION_DEBUG&&FEDERATION_DEBUG)||s()}t.getProcessEnv=function(){return"u">typeof process&&process.env?process.env:{}},t.isBrowserEnv=a,t.isBrowserEnvValue=n,t.isDebugMode=l,t.isReactNativeEnv=i},66244(e,t,r){let o=r(38342),n=(e,t)=>{if(!e)return t;let r=(e=>{if("."===e)return"";if(e.startsWith("./"))return e.replace("./","");if(e.startsWith("/")){let t=e.slice(1);return t.endsWith("/")?t.slice(0,-1):t}return e})(e);return r?r.endsWith("/")?`${r}${t}`:`${r}/${t}`:t};function a(e){return e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/")}function i(e){return!!("remoteEntry"in e&&e.remoteEntry.includes(o.MANIFEST_EXT))}function s(e){if(!e)return{statsFileName:o.StatsFileName,manifestFileName:o.ManifestFileName};let t="boolean"==typeof e?"":e.filePath||"",r="boolean"==typeof e?"":e.fileName||"",a=".json",i=e=>e.endsWith(a)?e:`${e}${a}`,s=(e,t)=>e.replace(a,`${t}${a}`),l=r?i(r):o.ManifestFileName;return{statsFileName:n(t,r?s(l,"-stats"):o.StatsFileName),manifestFileName:n(t,l)}}t.generateSnapshotFromManifest=function(e){var t;let r,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{remotes:i={},overrides:s={},version:l}=o,u=()=>"publicPath"in e.metaData?("auto"===e.metaData.publicPath||""===e.metaData.publicPath)&&l?a(l):e.metaData.publicPath:e.metaData.getPublicPath,c=Object.keys(s),d={};Object.keys(i).length||(d=(null==(t=e.remotes)?void 0:t.reduce((e,t)=>{let r,o=t.federationContainerName;return r=c.includes(o)?s[o]:"version"in t?t.version:t.entry,e[o]={matchedVersion:r},e},{}))||{}),Object.keys(i).forEach(e=>d[e]={matchedVersion:c.includes(e)?s[e]:i[e]});let{remoteEntry:{path:f,name:h,type:p},types:m={path:"",name:"",zip:"",api:""},buildInfo:{buildVersion:g},globalName:y,ssrRemoteEntry:E}=e.metaData,{exposes:b}=e,S={version:l||"",buildVersion:g,globalName:y,remoteEntry:n(f,h),remoteEntryType:p,remoteTypes:n(m.path,m.name),remoteTypesZip:m.zip||"",remoteTypesAPI:m.api||"",remotesInfo:d,shared:null==e?void 0:e.shared.map(e=>({assets:e.assets,sharedName:e.name,version:e.version,usedExports:e.referenceExports||[]})),modules:null==b?void 0:b.map(e=>({moduleName:e.name,modulePath:e.path,assets:e.assets}))};if("publicPath"in e.metaData?(r={...S,publicPath:u()},"string"==typeof e.metaData.ssrPublicPath&&(r.ssrPublicPath=e.metaData.ssrPublicPath)):r={...S,getPublicPath:u()},E){let e=n(E.path,E.name);r.ssrRemoteEntry=e,r.ssrRemoteEntryType=E.type||"commonjs-module"}return r},t.getManifestFileName=s,t.inferAutoPublicPath=a,t.isManifestProvider=i,t.simpleJoinRemoteEntry=n},89850(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});let o=r(38342),n=r(2413),a=r(70858),i=r(74945),s=r(38861),l=r(84101),u=r(2820),c=r(47799),d=r(33901),f=r(66244),h=r(72290),p=r(72802),m=r(60914),g=r(63651),y=r(94975);t.BROWSER_LOG_KEY=o.BROWSER_LOG_KEY,t.ENCODE_NAME_PREFIX=o.ENCODE_NAME_PREFIX,t.EncodedNameTransformMap=o.EncodedNameTransformMap,t.FederationModuleManifest=o.FederationModuleManifest,t.MANIFEST_EXT=o.MANIFEST_EXT,t.MFModuleType=o.MFModuleType,t.MODULE_DEVTOOL_IDENTIFIER=o.MODULE_DEVTOOL_IDENTIFIER,t.ManifestFileName=o.ManifestFileName,t.NameTransformMap=o.NameTransformMap,t.NameTransformSymbol=o.NameTransformSymbol,t.SEPARATOR=o.SEPARATOR,t.StatsFileName=o.StatsFileName,t.TEMP_DIR=o.TEMP_DIR,t.TreeShakingStatus=o.TreeShakingStatus,t.assert=d.assert,t.bindLoggerToCompiler=h.bindLoggerToCompiler,t.composeKeyWithSeparator=d.composeKeyWithSeparator,Object.defineProperty(t,"consumeSharedPlugin",{enumerable:!0,get:function(){return l.ConsumeSharedPlugin_exports}}),Object.defineProperty(t,"containerPlugin",{enumerable:!0,get:function(){return n.ContainerPlugin_exports}}),Object.defineProperty(t,"containerReferencePlugin",{enumerable:!0,get:function(){return a.ContainerReferencePlugin_exports}}),t.createInfrastructureLogger=h.createInfrastructureLogger,t.createLink=p.createLink,t.createLogger=h.createLogger,t.createModuleFederationConfig=y.createModuleFederationConfig,t.createScript=p.createScript,t.createScriptNode=m.createScriptNode,t.decodeName=d.decodeName,t.encodeName=d.encodeName,t.error=d.error,t.generateExposeFilename=d.generateExposeFilename,t.generateShareFilename=d.generateShareFilename,t.generateSnapshotFromManifest=f.generateSnapshotFromManifest,t.getManifestFileName=f.getManifestFileName,t.getProcessEnv=c.getProcessEnv,t.getResourceUrl=d.getResourceUrl,t.inferAutoPublicPath=f.inferAutoPublicPath,t.infrastructureLogger=h.infrastructureLogger,t.isBrowserEnv=c.isBrowserEnv,t.isBrowserEnvValue=c.isBrowserEnvValue,t.isDebugMode=c.isDebugMode,t.isManifestProvider=f.isManifestProvider,t.isReactNativeEnv=c.isReactNativeEnv,t.isRequiredVersion=d.isRequiredVersion,t.isStaticResourcesEqual=p.isStaticResourcesEqual,t.loadScript=p.loadScript,t.loadScriptNode=m.loadScriptNode,t.logger=h.logger,Object.defineProperty(t,"moduleFederationPlugin",{enumerable:!0,get:function(){return i.ModuleFederationPlugin_exports}}),t.normalizeOptions=g.normalizeOptions,t.parseEntry=d.parseEntry,Object.defineProperty(t,"provideSharedPlugin",{enumerable:!0,get:function(){return u.ProvideSharedPlugin_exports}}),t.safeToString=d.safeToString,t.safeWrapper=p.safeWrapper,Object.defineProperty(t,"sharePlugin",{enumerable:!0,get:function(){return s.SharePlugin_exports}}),t.simpleJoinRemoteEntry=f.simpleJoinRemoteEntry,t.warn=d.warn},72290(e,t,r){let o=r(47799),n="[ Module Federation ]",a=console,i=["logger.ts","logger.js","captureStackTrace","Logger.emit","Logger.log","Logger.info","Logger.warn","Logger.error","Logger.debug"];function s(){try{let e=Error().stack;if(!e)return;let[,...t]=e.split("\n"),r=t.filter(e=>!i.some(t=>e.includes(t)));if(!r.length)return;return`Stack trace:
4
+ ${r.slice(0,5).join("\n")}`}catch{return}}var l=class{setPrefix(e){this.prefix=e}setDelegate(e){this.delegate=e??a}emit(e,t){let r=this.delegate,n=o.isDebugMode()?s():void 0,i=n?[...t,n]:t,l=(()=>{switch(e){case"log":return["log","info"];case"info":return["info","log"];case"warn":return["warn","info","log"];case"error":return["error","warn","log"];default:return["debug","log"]}})();for(let e of l){let t=r[e];if("function"==typeof t)return void t.call(r,this.prefix,...i)}for(let e of l){let t=a[e];if("function"==typeof t)return void t.call(a,this.prefix,...i)}}log(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];this.emit("log",t)}warn(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];this.emit("warn",t)}error(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];this.emit("error",t)}success(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];this.emit("info",t)}info(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];this.emit("info",t)}ready(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];this.emit("info",t)}debug(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];o.isDebugMode()&&this.emit("debug",t)}constructor(e,t=a){this.prefix=e,this.delegate=t??a}};function u(e){return new l(e)}function c(e){let t=new l(e);return Object.defineProperty(t,"__mf_infrastructure_logger__",{value:!0,enumerable:!1,configurable:!1}),t}function d(e,t,r){if(e.__mf_infrastructure_logger__&&(null==t?void 0:t.getInfrastructureLogger))try{let o=t.getInfrastructureLogger(r);o&&"object"==typeof o&&("function"==typeof o.log||"function"==typeof o.info||"function"==typeof o.warn||"function"==typeof o.error)&&e.setDelegate(o)}catch{e.setDelegate(void 0)}}let f=u(n),h=c(n);t.bindLoggerToCompiler=d,t.createInfrastructureLogger=c,t.createLogger=u,t.infrastructureLogger=h,t.logger=f},60914(__unused_rspack_module,exports){let sdkImportCache=new Map;function importNodeModule(e){if(!e)throw Error("import specifier is required");if(sdkImportCache.has(e))return sdkImportCache.get(e);let t=Function("name","return import(name)")(e).then(e=>e).catch(t=>{throw console.error(`Error importing module ${e}:`,t),sdkImportCache.delete(e),t});return sdkImportCache.set(e,t),t}let loadNodeFetch=async()=>{let e=await importNodeModule("node-fetch");return e.default||e},lazyLoaderHookFetch=async(e,t,r)=>{let o=(e,t)=>r.lifecycle.fetch.emit(e,t),n=await o(e,t||{});return n&&n instanceof Response?n:("u"<typeof fetch?await loadNodeFetch():fetch)(e,t||{})},createScriptNode="u"<typeof ENV_TARGET||"web"!==ENV_TARGET?(url,cb,attrs,loaderHook)=>{let urlObj;if(null==loaderHook?void 0:loaderHook.createScriptHook){let hookResult=loaderHook.createScriptHook(url);hookResult&&"object"==typeof hookResult&&"url"in hookResult&&(url=hookResult.url)}try{urlObj=new URL(url)}catch(e){console.error("Error constructing URL:",e),cb(Error(`Invalid URL: ${e}`));return}let getFetch=async()=>(null==loaderHook?void 0:loaderHook.fetch)?(e,t)=>lazyLoaderHookFetch(e,t,loaderHook):"u"<typeof fetch?loadNodeFetch():fetch,handleScriptFetch=async(f,urlObj)=>{try{var _vm_constants;let requireFn,res=await f(urlObj.href),data=await res.text(),[path,vm]=await Promise.all([importNodeModule("path"),importNodeModule("vm")]),scriptContext={exports:{},module:{exports:{}}},urlDirname=urlObj.pathname.split("/").slice(0,-1).join("/"),filename=path.basename(urlObj.pathname),script=new vm.Script(`(function(exports, module, require, __dirname, __filename) {${data}
5
+ })`,{filename,importModuleDynamically:(null==(_vm_constants=vm.constants)?void 0:_vm_constants.USE_MAIN_CONTEXT_DEFAULT_LOADER)??importNodeModule});requireFn=eval("require"),script.runInThisContext()(scriptContext.exports,scriptContext.module,requireFn,urlDirname,filename);let exportedInterface=scriptContext.module.exports||scriptContext.exports;if(attrs&&exportedInterface&&attrs.globalName)return void cb(void 0,exportedInterface[attrs.globalName]||exportedInterface);cb(void 0,exportedInterface)}catch(e){cb(e instanceof Error?e:Error(`Script execution error: ${e}`))}};getFetch().then(async e=>{if((null==attrs?void 0:attrs.type)==="esm"||(null==attrs?void 0:attrs.type)==="module")return loadModule(urlObj.href,{fetch:e,vm:await importNodeModule("vm")}).then(async e=>{await e.evaluate(),cb(void 0,e.namespace)}).catch(e=>{cb(e instanceof Error?e:Error(`Script execution error: ${e}`))});handleScriptFetch(e,urlObj)}).catch(e=>{cb(e)})}:(e,t,r,o)=>{t(Error("createScriptNode is disabled in non-Node.js environment"))},loadScriptNode="u"<typeof ENV_TARGET||"web"!==ENV_TARGET?(e,t)=>new Promise((r,o)=>{createScriptNode(e,(e,n)=>{if(e)o(e);else{var a,i;let e=(null==t||null==(a=t.attrs)?void 0:a.globalName)||`__FEDERATION_${null==t||null==(i=t.attrs)?void 0:i.name}:custom__`;r(globalThis[e]=n)}},t.attrs,t.loaderHook)}):(e,t)=>{throw Error("loadScriptNode is disabled in non-Node.js environment")},esmModuleCache=new Map;async function loadModule(e,t){if(esmModuleCache.has(e))return esmModuleCache.get(e);let{fetch:r,vm:o}=t,n=await (await r(e)).text(),a=new o.SourceTextModule(n,{importModuleDynamically:async(r,o)=>loadModule(new URL(r,e).href,t)});return esmModuleCache.set(e,a),await a.link(async r=>{let o=new URL(r,e).href;return await loadModule(o,t)}),a}exports.createScriptNode=createScriptNode,exports.loadScriptNode=loadScriptNode},63651(e,t){t.normalizeOptions=function(e,t,r){return function(o){if(!1===o)return!1;if(void 0===o)if(e)return t;else return!1;if(!0===o)return t;if(o&&"object"==typeof o)return{...t,...o};throw Error(`Unexpected type for \`${r}\`, expect boolean/undefined/object, got: ${typeof o}`)}}},84101(e,t,r){var o=r(21820).__exportAll({});Object.defineProperty(t,"ConsumeSharedPlugin_exports",{enumerable:!0,get:function(){return o}})},2413(e,t,r){var o=r(21820).__exportAll({});Object.defineProperty(t,"ContainerPlugin_exports",{enumerable:!0,get:function(){return o}})},70858(e,t,r){var o=r(21820).__exportAll({});Object.defineProperty(t,"ContainerReferencePlugin_exports",{enumerable:!0,get:function(){return o}})},74945(e,t,r){var o=r(21820).__exportAll({});Object.defineProperty(t,"ModuleFederationPlugin_exports",{enumerable:!0,get:function(){return o}})},2820(e,t,r){var o=r(21820).__exportAll({});Object.defineProperty(t,"ProvideSharedPlugin_exports",{enumerable:!0,get:function(){return o}})},38861(e,t,r){var o=r(21820).__exportAll({});Object.defineProperty(t,"SharePlugin_exports",{enumerable:!0,get:function(){return o}})},33901(e,t,r){let o=r(38342),n=r(47799),a="[ Federation Runtime ]",i=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:o.SEPARATOR,a=e.split(r),i="development"===n.getProcessEnv().NODE_ENV&&t,s="*",l=e=>e.startsWith("http")||e.includes(o.MANIFEST_EXT);if(a.length>=2){let[t,...o]=a;e.startsWith(r)&&(t=a.slice(0,2).join(r),o=[i||a.slice(2).join(r)]);let n=i||o.join(r);return l(n)?{name:t,entry:n}:{name:t,version:n||s}}if(1===a.length){let[e]=a;return i&&l(i)?{name:e,entry:i}:{name:e,version:i||s}}throw`Invalid entry value: ${e}`},s=function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return t.length?t.reduce((e,t)=>t?e?`${e}${o.SEPARATOR}${t}`:t:e,""):""},l=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];try{let n=r?".js":"";return`${t}${e.replace(RegExp(`${o.NameTransformSymbol.AT}`,"g"),o.NameTransformMap[o.NameTransformSymbol.AT]).replace(RegExp(`${o.NameTransformSymbol.HYPHEN}`,"g"),o.NameTransformMap[o.NameTransformSymbol.HYPHEN]).replace(RegExp(`${o.NameTransformSymbol.SLASH}`,"g"),o.NameTransformMap[o.NameTransformSymbol.SLASH])}${n}`}catch(e){throw e}},u=function(e,t,r){try{let n=e;if(t){if(!n.startsWith(t))return n;n=n.replace(RegExp(t,"g"),"")}return n=n.replace(RegExp(`${o.NameTransformMap[o.NameTransformSymbol.AT]}`,"g"),o.EncodedNameTransformMap[o.NameTransformMap[o.NameTransformSymbol.AT]]).replace(RegExp(`${o.NameTransformMap[o.NameTransformSymbol.SLASH]}`,"g"),o.EncodedNameTransformMap[o.NameTransformMap[o.NameTransformSymbol.SLASH]]).replace(RegExp(`${o.NameTransformMap[o.NameTransformSymbol.HYPHEN]}`,"g"),o.EncodedNameTransformMap[o.NameTransformMap[o.NameTransformSymbol.HYPHEN]]),r&&(n=n.replace(".js","")),n}catch(e){throw e}},c=(e,t)=>{if(!e)return"";let r=e;return"."===r&&(r="default_export"),r.startsWith("./")&&(r=r.replace("./","")),l(r,"__federation_expose_",t)},d=(e,t)=>e?l(e,"__federation_shared_",t):"",f=(e,t)=>{if("getPublicPath"in e){let r;return r=e.getPublicPath.startsWith("function")?Function("return "+e.getPublicPath)()():Function(e.getPublicPath)(),`${r}${t}`}return"publicPath"in e?!n.isBrowserEnv()&&!n.isReactNativeEnv()&&"ssrPublicPath"in e&&"string"==typeof e.ssrPublicPath?`${e.ssrPublicPath}${t}`:`${e.publicPath}${t}`:(console.warn("Cannot get resource URL. If in debug mode, please ignore.",e,t),"")},h=e=>{throw Error(`${a}: ${e}`)},p=e=>{console.warn(`${a}: ${e}`)};function m(e){try{return JSON.stringify(e,null,2)}catch(e){return""}}let g=/^([\d^=v<>~]|[*xX]$)/;function y(e){return g.test(e)}t.assert=(e,t)=>{e||h(t)},t.composeKeyWithSeparator=s,t.decodeName=u,t.encodeName=l,t.error=h,t.generateExposeFilename=c,t.generateShareFilename=d,t.getResourceUrl=f,t.isRequiredVersion=y,t.parseEntry=i,t.safeToString=m,t.warn=p},64975(e,t){var r=Object.create,o=Object.defineProperty,n=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,i=Object.getPrototypeOf,s=Object.prototype.hasOwnProperty,l=(e,t,r,i)=>{if(t&&"object"==typeof t||"function"==typeof t)for(var l,u=a(t),c=0,d=u.length;c<d;c++)l=u[c],s.call(e,l)||l===r||o(e,l,{get:(e=>t[e]).bind(null,l),enumerable:!(i=n(t,l))||i.enumerable});return e};t.__toESM=(e,t,n)=>(n=null!=e?r(i(e)):{},l(!t&&e&&e.__esModule?n:o(n,"default",{value:e,enumerable:!0}),e))},98057(e,t){t.attachShareScopeMap=function(e){e.S&&!e.federation.hasAttachShareScopeMap&&e.federation.instance&&e.federation.instance.shareScopeMap&&(e.S=e.federation.instance.shareScopeMap,e.federation.hasAttachShareScopeMap=!0)}},45509(e,t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),t.FEDERATION_SUPPORTED_TYPES=["script"]},52664(e,t,r){let o=r(98057),n=r(47188),a=r(13957),i=r(15589),s=r(76077);t.consumes=function(e){n.updateConsumeOptions(e);let{chunkId:t,promises:r,installedModules:l,webpackRequire:u,chunkMapping:c,moduleToHandlerMapping:d}=e;o.attachShareScopeMap(u),u.o(c,t)&&c[t].forEach(e=>{if(u.o(l,e))return r.push(l[e]);let t=t=>{l[e]=0,u.m[e]=r=>{var o;delete u.c[e];let n=t(),{shareInfo:a}=d[e];if((null==a||null==(o=a.shareConfig)?void 0:o.layer)&&n&&"object"==typeof n)try{n.hasOwnProperty("layer")&&void 0!==n.layer||(n.layer=a.shareConfig.layer)}catch(e){}r.exports=n}},o=t=>{delete l[e],u.m[e]=r=>{throw delete u.c[e],t}};try{let n=u.federation.instance;if(!n)throw Error("Federation instance not found!");let{shareKey:c,getter:f,shareInfo:h,treeShakingGetter:p}=d[e],m=a.getUsedExports(u,c),g={...h};Array.isArray(g.scope)&&Array.isArray(g.scope[0])&&(g.scope=g.scope[0]),m&&(g.treeShaking={usedExports:m,useIn:[n.options.name]});let y=n.loadShare(c,{customShareInfo:g}).then(e=>{if(!1===e){if("function"!=typeof f)throw Error(s.getShortErrorMsg(i.RUNTIME_012,{[i.RUNTIME_012]:'The getter for the shared module is not a function. This may be caused by setting "shared.import: false" without the host providing the corresponding lib.'},{shareKey:c}));return(null==p?void 0:p())||f()}return e});y.then?r.push(l[e]=y.then(t).catch(o)):t(y)}catch(e){o(e)}})}},15589(e,t){t.RUNTIME_012="RUNTIME-012"},76077(e,t){let r=e=>`View the docs to see how to solve: https://module-federation.io/guide/troubleshooting/${e.split("-")[0].toLowerCase()}#${e.toLowerCase()}`;t.getShortErrorMsg=(e,t,o,n)=>{let a=[`${[t[e]]} #${e}`];return o&&a.push(`args: ${JSON.stringify(o)}`),a.push(r(e)),n&&a.push(`Original Error Message:
6
+ ${n}`),a.join("\n")}},59651(e,t){t.getSharedFallbackGetter=e=>{let{shareKey:t,factory:r,version:o,webpackRequire:n,libraryType:a="global"}=e,{runtime:i,instance:s,bundlerRuntime:l,sharedFallback:u}=n.federation;if(!u)return r;let c=u[t];if(!c)return r;let d=o?c.find(e=>e[1]===o):c[0];if(!d)throw Error(`No fallback item found for shareKey: ${t} and version: ${o}`);return()=>i.getRemoteEntry({origin:n.federation.instance,remoteInfo:{name:d[2],entry:`${n.p}${d[0]}`,type:a,entryGlobalName:d[2],shareScope:"default"}}).then(e=>{if(!e)throw Error(`Failed to load fallback entry for shareKey: ${t} and version: ${o}`);return e.init(n.federation.instance,l).then(()=>e.get())})}},13957(e,t){t.getUsedExports=function(e,t){let r=e.federation.usedExports;if(r)return r[t]}},31531(e,t,r){Object.defineProperties(t,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});let o=r(64975),n=r(98057),a=r(39490),i=r(52664),s=r(47501),l=r(55331),u=r(34476),c=r(47391),d=r(59651),f=r(79706),h={runtime:f=o.__toESM(f),instance:void 0,initOptions:void 0,bundlerRuntime:{remotes:a.remotes,consumes:i.consumes,I:s.initializeSharing,S:{},installInitialConsumes:l.installInitialConsumes,initContainerEntry:u.initContainerEntry,init:c.init,getSharedFallbackGetter:d.getSharedFallbackGetter},attachShareScopeMap:n.attachShareScopeMap,bundlerRuntimeOptions:{}},p=h.instance,m=h.initOptions,g=h.bundlerRuntime,y=h.bundlerRuntimeOptions;t.attachShareScopeMap=n.attachShareScopeMap,t.bundlerRuntime=g,t.bundlerRuntimeOptions=y,t.default=h,t.initOptions=m,t.instance=p,Object.defineProperty(t,"runtime",{enumerable:!0,get:function(){return f}})},47391(e,t,r){let o=r(64975),n=r(79706),a=r(86173);a=o.__toESM(a),t.init=function(e){var t;let{webpackRequire:o}=e,{initOptions:i,runtime:s,sharedFallback:l,bundlerRuntime:u,libraryType:c}=o.federation;if(!i)throw Error("initOptions is required!");let d=function(){return{name:"tree-shake-plugin",beforeInit(e){let{userOptions:t,origin:i,options:s}=e,d=t.version||s.version;if(!l)return e;let f=t.shared||{},h=[];Object.keys(f).forEach(e=>{(Array.isArray(f[e])?f[e]:[f[e]]).forEach(t=>{if(h.push([e,t]),"get"in t){var r;(r=t).treeShaking||(r.treeShaking={}),t.treeShaking.get=t.get,t.get=u.getSharedFallbackGetter({shareKey:e,factory:t.get,webpackRequire:o,libraryType:c,version:t.version})}})});let p=a.default.global.getGlobalSnapshotInfoByModuleInfo({name:i.name,version:d});if(!p||!("shared"in p))return e;Object.keys(s.shared||{}).forEach(e=>{s.shared[e].forEach(t=>{h.push([e,t])})});let m=(e,t)=>{let o=p.shared.find(t=>t.sharedName===e);if(!o)return;let{treeShaking:a}=t;if(!a)return;let{secondarySharedTreeShakingName:s,secondarySharedTreeShakingEntry:l,treeShakingStatus:u}=o;a.status!==u&&(a.status=u,l&&c&&s&&(a.get=async()=>{let e=await (0,n.getRemoteEntry)({origin:i,remoteInfo:{name:s,entry:l,type:c,entryGlobalName:s,shareScope:"default"}});return await e.init(i,r.federation.bundlerRuntime),e.get()}))};return h.forEach(e=>{let[t,r]=e;m(t,r)}),e}}};return(t=i).plugins||(t.plugins=[]),i.plugins.push(d()),s.init(i)}},34476(e,t){t.initContainerEntry=function(e){let{webpackRequire:t,shareScope:r,initScope:o,shareScopeKey:n,remoteEntryInitOptions:a}=e;if(!t.S||!t.federation||!t.federation.instance||!t.federation.initOptions)return;let i=t.federation.instance;i.initOptions({name:t.federation.initOptions.name,remotes:[],...a});let s=null==a?void 0:a.shareScopeKeys,l=null==a?void 0:a.shareScopeMap;if(n&&"string"!=typeof n)n.forEach(e=>{if(!s||!l)return void i.initShareScopeMap(e,r,{hostShareScopeMap:(null==a?void 0:a.shareScopeMap)||{}});l[e]||(l[e]={});let t=l[e];i.initShareScopeMap(e,t,{hostShareScopeMap:(null==a?void 0:a.shareScopeMap)||{}})});else{let e=n||"default";Array.isArray(s)?s.forEach(e=>{l[e]||(l[e]={});let t=l[e];i.initShareScopeMap(e,t,{hostShareScopeMap:(null==a?void 0:a.shareScopeMap)||{}})}):i.initShareScopeMap(e,r,{hostShareScopeMap:(null==a?void 0:a.shareScopeMap)||{}})}return(t.federation.attachShareScopeMap&&t.federation.attachShareScopeMap(t),Array.isArray(n))?t.federation.initOptions.shared?t.I(n,o):Promise.all(n.map(e=>t.I(e,o))).then(()=>!0):t.I(n||"default",o)}},47501(e,t,r){let o=r(98057),n=r(45509);t.initializeSharing=function(e){let{shareScopeName:t,webpackRequire:r,initPromises:a,initTokens:i,initScope:s}=e,l=Array.isArray(t)?t:[t];var u=[],c=function(e){s||(s=[]);let l=r.federation.instance;var u=i[e];if(u||(u=i[e]={from:l.name}),s.indexOf(u)>=0)return;s.push(u);let c=a[e];if(c)return c;var d=e=>"u">typeof console&&console.warn&&console.warn(e),f=o=>{var n=e=>d("Initialization of sharing external failed: "+e);try{var a=r(o);if(!a)return;var i=o=>o&&o.init&&o.init(r.S[e],s,{shareScopeMap:r.S||{},shareScopeKeys:t});if(a.then)return h.push(a.then(i,n));var l=i(a);if(l&&"boolean"!=typeof l&&l.then)return h.push(l.catch(n))}catch(e){n(e)}};let h=l.initializeSharing(e,{strategy:l.options.shareStrategy,initScope:s,from:"build"});o.attachShareScopeMap(r);let p=r.federation.bundlerRuntimeOptions.remotes;return(p&&Object.keys(p.idToRemoteMap).forEach(e=>{let t=p.idToRemoteMap[e],r=p.idToExternalAndNameMapping[e][2];if(t.length>1)f(r);else if(1===t.length){let e=t[0];n.FEDERATION_SUPPORTED_TYPES.includes(e.externalType)||f(r)}}),h.length)?a[e]=Promise.all(h).then(()=>a[e]=!0):a[e]=!0};return l.forEach(e=>{u.push(c(e))}),Promise.all(u).then(()=>!0)}},55331(e,t,r){let o=r(47188),n=r(13957);function a(e){let{moduleId:t,moduleToHandlerMapping:r,webpackRequire:o,asyncLoad:a}=e,i=o.federation.instance;if(!i)throw Error("Federation instance not found!");let{shareKey:s,shareInfo:l}=r[t];try{let e=n.getUsedExports(o,s),t={...l};if(e&&(t.treeShaking={usedExports:e,useIn:[i.options.name]}),a)return i.loadShare(s,{customShareInfo:t});return i.loadShareSync(s,{customShareInfo:t})}catch(e){throw console.error('loadShareSync failed! The function should not be called unless you set "eager:true". If you do not set it, and encounter this issue, you can check whether an async boundary is implemented.'),console.error("The original error message is as follows: "),e}}t.installInitialConsumes=function(e){o.updateConsumeOptions(e);let{moduleToHandlerMapping:t,webpackRequire:r,installedModules:n,initialConsumes:i,asyncLoad:s}=e,l=[];i.forEach(e=>{let o=()=>a({moduleId:e,moduleToHandlerMapping:t,webpackRequire:r,asyncLoad:s});l.push([e,o])});let u=(e,o)=>{r.m[e]=a=>{var i;n[e]=0,delete r.c[e];let s=o();if("function"!=typeof s)throw Error(`Shared module is not available for eager consumption: ${e}`);let l=s(),{shareInfo:u}=t[e];if((null==u||null==(i=u.shareConfig)?void 0:i.layer)&&l&&"object"==typeof l)try{l.hasOwnProperty("layer")&&void 0!==l.layer||(l.layer=u.shareConfig.layer)}catch(e){}a.exports=l}};if(s)return Promise.all(l.map(async e=>{let[t,r]=e,o=await r();u(t,()=>o)}));l.forEach(e=>{let[t,r]=e;u(t,r)})}},39490(e,t,r){r(64975);let o=r(98057),n=r(45509),a=r(47188),i=r(89850);t.remotes=function(e){a.updateRemoteOptions(e);let{chunkId:t,promises:r,webpackRequire:s,chunkMapping:l,idToExternalAndNameMapping:u,idToRemoteMap:c}=e;o.attachShareScopeMap(s),s.o(l,t)&&l[t].forEach(e=>{let t=s.R;t||(t=[]);let o=u[e],a=c[e]||[];if(t.indexOf(o)>=0)return;if(t.push(o),o.p)return r.push(o.p);let l=t=>{t||(t=Error("Container missing")),"string"==typeof t.message&&(t.message+=`
7
+ while loading "${o[1]}" from ${o[2]}`),s.m[e]=()=>{throw t},o.p=0},d=(e,t,n,a,i,s)=>{try{let u=e(t,n);if(!u||!u.then)return i(u,a,s);{let e=u.then(e=>i(e,a),l);if(!s)return e;r.push(o.p=e)}}catch(e){l(e)}},f=(e,t,r)=>e?d(s.I,o[0],0,e,h,r):l();var h=(e,r,n)=>d(r.get,o[1],t,0,p,n),p=t=>{o.p=1,s.m[e]=e=>{e.exports=t()}};let m=()=>{try{let e=(0,i.decodeName)(a[0].name,i.ENCODE_NAME_PREFIX)+o[1].slice(1),t=s.federation.instance,r=()=>s.federation.instance.loadRemote(e,{loadFactory:!1,from:"build"});if("version-first"===t.options.shareStrategy){let e=Array.isArray(o[0])?o[0]:[o[0]];return Promise.all(e.map(e=>t.sharedHandler.initializeSharing(e))).then(()=>r())}return r()}catch(e){l(e)}};1===a.length&&n.FEDERATION_SUPPORTED_TYPES.includes(a[0].externalType)&&a[0].name?d(m,o[2],0,0,p,1):d(s,o[2],0,0,f,1)})}},47188(e,t){function r(e){var t,r,o,n,a;let{webpackRequire:i,idToExternalAndNameMapping:s={},idToRemoteMap:l={},chunkMapping:u={}}=e,{remotesLoadingData:c}=i,d=null==(o=i.federation)||null==(r=o.bundlerRuntimeOptions)||null==(t=r.remotes)?void 0:t.remoteInfos;if(!c||c._updated||!d)return;let{chunkMapping:f,moduleIdToRemoteDataMapping:h}=c;if(f&&h){for(let[e,t]of Object.entries(h))if(s[e]||(s[e]=[t.shareScope,t.name,t.externalModuleId]),!l[e]&&d[t.remoteName]){let r=d[t.remoteName];(n=l)[a=e]||(n[a]=[]),r.forEach(t=>{l[e].includes(t)||l[e].push(t)})}u&&Object.entries(f).forEach(e=>{let[t,r]=e;u[t]||(u[t]=[]),r.forEach(e=>{u[t].includes(e)||u[t].push(e)})}),c._updated=1}}t.updateConsumeOptions=function(e){let{webpackRequire:t,moduleToHandlerMapping:r}=e,{consumesLoadingData:o,initializeSharingData:n}=t,{sharedFallback:a,bundlerRuntime:i,libraryType:s}=t.federation;if(o&&!o._updated){let{moduleIdToConsumeDataMapping:n={},initialConsumes:l=[],chunkMapping:u={}}=o;if(Object.entries(n).forEach(e=>{let[o,n]=e;r[o]||(r[o]={getter:a?null==i?void 0:i.getSharedFallbackGetter({shareKey:n.shareKey,factory:n.fallback,webpackRequire:t,libraryType:s}):n.fallback,treeShakingGetter:a?n.fallback:void 0,shareInfo:{shareConfig:{requiredVersion:n.requiredVersion,strictVersion:n.strictVersion,singleton:n.singleton,eager:n.eager,layer:n.layer},scope:Array.isArray(n.shareScope)?n.shareScope:[n.shareScope||"default"],treeShaking:a?{get:n.fallback,mode:n.treeShakingMode}:void 0},shareKey:n.shareKey})}),"initialConsumes"in e){let{initialConsumes:t=[]}=e;l.forEach(e=>{t.includes(e)||t.push(e)})}if("chunkMapping"in e){let{chunkMapping:t={}}=e;Object.entries(u).forEach(e=>{let[r,o]=e;t[r]||(t[r]=[]),o.forEach(e=>{t[r].includes(e)||t[r].push(e)})})}o._updated=1}if(n&&!n._updated){let{federation:e}=t;if(!e.instance||!n.scopeToSharingDataMapping)return;let r={};for(let[e,t]of Object.entries(n.scopeToSharingDataMapping))for(let o of t)if("object"==typeof o&&null!==o){let{name:t,version:n,factory:a,eager:i,singleton:s,requiredVersion:l,strictVersion:u}=o,c={requiredVersion:`^${n}`},d=function(e){return void 0!==e};d(s)&&(c.singleton=s),d(l)&&(c.requiredVersion=l),d(i)&&(c.eager=i),d(u)&&(c.strictVersion=u);let f={version:n,scope:[e],shareConfig:c,get:a};r[t]?r[t].push(f):r[t]=[f]}e.instance.registerShared(r),n._updated=1}},t.updateRemoteOptions=r},74390(e,t,r){"use strict";var o,n,a,i,s,l,u,c,d,f,h,p,m=r(31531),g=r.n(m);let y=[].filter(e=>{let{plugin:t}=e;return t}).map(e=>{let{plugin:t,params:r}=e;return t(r)}),E={},b="GaugeChart",S="version-first";if((r.initializeSharingData||r.initializeExposesData)&&r.federation){let e=(e,t,r)=>{e&&e[t]&&(e[t]=r)},t=(e,t,r)=>{var o,n,a,i,s,l;let u=r();Array.isArray(u)?(null!=(a=(o=e)[n=t])||(o[n]=[]),e[t].push(...u)):"object"==typeof u&&null!==u&&(null!=(l=(i=e)[s=t])||(i[s]={}),Object.assign(e[t],u))},m=(e,t,r)=>{var o,n,a;null!=(a=(o=e)[n=t])||(o[n]=r())},_=null!=(o=null==(l=r.remotesLoadingData)?void 0:l.chunkMapping)?o:{},v=null!=(n=null==(u=r.remotesLoadingData)?void 0:u.moduleIdToRemoteDataMapping)?n:{},R=null!=(a=null==(c=r.initializeSharingData)?void 0:c.scopeToSharingDataMapping)?a:{},I=null!=(i=null==(d=r.consumesLoadingData)?void 0:d.chunkMapping)?i:{},N=null!=(s=null==(f=r.consumesLoadingData)?void 0:f.moduleIdToConsumeDataMapping)?s:{},T={},M=[],O={},A=null==(h=r.initializeExposesData)?void 0:h.shareScope;for(let e in g())r.federation[e]=g()[e];m(r.federation,"consumesLoadingModuleToHandlerMapping",()=>{let e={};for(let[t,r]of Object.entries(N))e[t]={getter:r.fallback,shareInfo:{shareConfig:{fixedDependencies:!1,requiredVersion:r.requiredVersion,strictVersion:r.strictVersion,singleton:r.singleton,eager:r.eager},scope:[r.shareScope]},shareKey:r.shareKey};return e}),m(r.federation,"initOptions",()=>({})),m(r.federation.initOptions,"name",()=>b),m(r.federation.initOptions,"shareStrategy",()=>S),m(r.federation.initOptions,"shared",()=>{let e={};for(let[t,r]of Object.entries(R))for(let o of r)if("object"==typeof o&&null!==o){let{name:r,version:n,factory:a,eager:i,singleton:s,requiredVersion:l,strictVersion:u}=o,c={},d=function(e){return void 0!==e};d(s)&&(c.singleton=s),d(l)&&(c.requiredVersion=l),d(i)&&(c.eager=i),d(u)&&(c.strictVersion=u);let f={version:n,scope:[t],shareConfig:c,get:a};e[r]?e[r].push(f):e[r]=[f]}return e}),t(r.federation.initOptions,"remotes",()=>Object.values(E).flat().filter(e=>"script"===e.externalType)),t(r.federation.initOptions,"plugins",()=>y),m(r.federation,"bundlerRuntimeOptions",()=>({})),m(r.federation.bundlerRuntimeOptions,"remotes",()=>({})),m(r.federation.bundlerRuntimeOptions.remotes,"chunkMapping",()=>_),m(r.federation.bundlerRuntimeOptions.remotes,"remoteInfos",()=>E),m(r.federation.bundlerRuntimeOptions.remotes,"idToExternalAndNameMapping",()=>{let e={};for(let[t,r]of Object.entries(v))e[t]=[r.shareScope,r.name,r.externalModuleId,r.remoteName];return e}),m(r.federation.bundlerRuntimeOptions.remotes,"webpackRequire",()=>r),t(r.federation.bundlerRuntimeOptions.remotes,"idToRemoteMap",()=>{let e={};for(let[t,r]of Object.entries(v)){let o=E[r.remoteName];o&&(e[t]=o)}return e}),e(r,"S",r.federation.bundlerRuntime.S),r.federation.attachShareScopeMap&&r.federation.attachShareScopeMap(r),e(r.f,"remotes",(e,t)=>r.federation.bundlerRuntime.remotes({chunkId:e,promises:t,chunkMapping:_,idToExternalAndNameMapping:r.federation.bundlerRuntimeOptions.remotes.idToExternalAndNameMapping,idToRemoteMap:r.federation.bundlerRuntimeOptions.remotes.idToRemoteMap,webpackRequire:r})),e(r.f,"consumes",(e,t)=>r.federation.bundlerRuntime.consumes({chunkId:e,promises:t,chunkMapping:I,moduleToHandlerMapping:r.federation.consumesLoadingModuleToHandlerMapping,installedModules:T,webpackRequire:r})),e(r,"I",(e,t)=>r.federation.bundlerRuntime.I({shareScopeName:e,initScope:t,initPromises:M,initTokens:O,webpackRequire:r})),e(r,"initContainer",(e,t,o)=>r.federation.bundlerRuntime.initContainerEntry({shareScope:e,initScope:t,remoteEntryInitOptions:o,shareScopeKey:A,webpackRequire:r})),e(r,"getContainer",(e,t)=>{var o=r.initializeExposesData.moduleMap;return r.R=t,t=Object.prototype.hasOwnProperty.call(o,e)?o[e]():Promise.resolve().then(()=>{throw Error('Module "'+e+'" does not exist in container.')}),r.R=void 0,t}),r.federation.instance=r.federation.runtime.init(r.federation.initOptions),(null==(p=r.consumesLoadingData)?void 0:p.initialConsumes)&&r.federation.bundlerRuntime.installInitialConsumes({webpackRequire:r,installedModules:T,initialConsumes:r.consumesLoadingData.initialConsumes,moduleToHandlerMapping:r.federation.consumesLoadingModuleToHandlerMapping})}}},__webpack_module_cache__={};function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var r=__webpack_module_cache__[e]={id:e,loaded:!1,exports:{}};return __webpack_modules__[e].call(r.exports,r,r.exports,__webpack_require__),r.loaded=!0,r.exports}__webpack_require__.m=__webpack_modules__,__webpack_require__.c=__webpack_module_cache__,__webpack_require__.x=()=>__webpack_require__(23362),(()=>{__webpack_require__.federation||(__webpack_require__.federation={chunkMatcher:function(e){return!/^((31|60|80)2|221|367|4|413|70)$/.test(e)},rootOutputDir:"../../"})})(),(()=>{__webpack_require__.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(t,{a:t}),t}})(),(()=>{__webpack_require__.d=(e,t)=>{for(var r in t)__webpack_require__.o(t,r)&&!__webpack_require__.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}})(),(()=>{__webpack_require__.f={},__webpack_require__.e=e=>Promise.all(Object.keys(__webpack_require__.f).reduce((t,r)=>(__webpack_require__.f[r](e,t),t),[]))})(),(()=>{__webpack_require__.u=e=>"__mf/js/async/"+("535"===e?"lib-router":e)+"."+({1:"ba1e7b30",121:"f54c0cd0",172:"eae65503",192:"7917eb7e",235:"ccb953ba",236:"f2a0aa21",274:"f21ae591",356:"0f768c5a",377:"63df1710",392:"fe3b02d2",403:"82cf743c",410:"145953d4",458:"7044e4bd",470:"fb62dc61",496:"5f6f5973",535:"cf7b1bc1",558:"05181330",568:"d6d1abb7",587:"ee9de63b",588:"484c07dd",616:"63ed457a",71:"2e72589f",756:"d0f359e2",77:"627b9458",823:"16520e98",854:"046f5bd5",873:"66154697",941:"75c3a449",963:"8c43a346",968:"a27c5193",978:"0139c7c4"})[e]+".js"})(),(()=>{__webpack_require__.miniCssF=e=>"__mf/css/async/"+e+".85c2cbf6.css"})(),(()=>{__webpack_require__.g=(()=>{if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}})()})(),(()=>{__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})(),(()=>{var e={},t="GaugeChart:";__webpack_require__.l=function(r,o,n,a){if(e[r])return void e[r].push(o);if(void 0!==n)for(var i,s,l=document.getElementsByTagName("script"),u=0;u<l.length;u++){var c=l[u];if(c.getAttribute("src")==r||c.getAttribute("data-rspack")==t+n){i=c;break}}i||(s=!0,(i=document.createElement("script")).timeout=120,__webpack_require__.nc&&i.setAttribute("nonce",__webpack_require__.nc),i.setAttribute("data-rspack",t+n),i.src=r),e[r]=[o];var d=function(t,o){i.onerror=i.onload=null,clearTimeout(f);var n=e[r];if(delete e[r],i.parentNode&&i.parentNode.removeChild(i),n&&n.forEach(function(e){return e(o)}),t)return t(o)},f=setTimeout(d.bind(null,void 0,{type:"timeout",target:i}),12e4);i.onerror=d.bind(null,i.onerror),i.onload=d.bind(null,i.onload),s&&document.head.appendChild(i)}})(),(()=>{__webpack_require__.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})(),(()=>{__webpack_require__.nmd=e=>(e.paths=[],e.children||(e.children=[]),e)})(),(()=>{__webpack_require__.nc=void 0})(),(()=>{__webpack_require__.S={},__webpack_require__.initializeSharingData={scopeToSharingDataMapping:{default:[{name:"@emotion/react",version:"11.14.0",factory:()=>Promise.all([__webpack_require__.e("274"),__webpack_require__.e("312"),__webpack_require__.e("377")]).then(()=>()=>__webpack_require__(67449)),eager:0,singleton:1,requiredVersion:"^11.11.3"},{name:"@emotion/styled",version:"11.14.1",factory:()=>Promise.all([__webpack_require__.e("312"),__webpack_require__.e("367"),__webpack_require__.e("616")]).then(()=>()=>__webpack_require__(63859)),eager:0,singleton:1},{name:"@hookform/resolvers",version:"3.10.0",factory:()=>Promise.all([__webpack_require__.e("356"),__webpack_require__.e("312"),__webpack_require__.e("587")]).then(()=>()=>__webpack_require__(75150)),eager:0,singleton:1},{name:"@perses-dev/components",version:"0.54.0-beta.3",factory:()=>Promise.all([__webpack_require__.e("588"),__webpack_require__.e("356"),__webpack_require__.e("71"),__webpack_require__.e("403"),__webpack_require__.e("1"),__webpack_require__.e("410"),__webpack_require__.e("823"),__webpack_require__.e("236"),__webpack_require__.e("172"),__webpack_require__.e("756"),__webpack_require__.e("312"),__webpack_require__.e("367"),__webpack_require__.e("802"),__webpack_require__.e("4"),__webpack_require__.e("221"),__webpack_require__.e("602")]).then(()=>()=>__webpack_require__(6599)),eager:0,singleton:1},{name:"@perses-dev/plugin-system",version:"0.54.0-beta.3",factory:()=>Promise.all([__webpack_require__.e("535"),__webpack_require__.e("356"),__webpack_require__.e("1"),__webpack_require__.e("823"),__webpack_require__.e("172"),__webpack_require__.e("568"),__webpack_require__.e("312"),__webpack_require__.e("367"),__webpack_require__.e("802"),__webpack_require__.e("4"),__webpack_require__.e("221"),__webpack_require__.e("602"),__webpack_require__.e("413"),__webpack_require__.e("558")]).then(()=>()=>__webpack_require__(93843)),eager:0,singleton:1},{name:"date-fns",version:"4.1.0",factory:()=>Promise.all([__webpack_require__.e("588"),__webpack_require__.e("71"),__webpack_require__.e("192")]).then(()=>()=>__webpack_require__(89227)),eager:0,singleton:1},{name:"echarts",version:"5.5.0",factory:()=>Promise.all([__webpack_require__.e("403"),__webpack_require__.e("410"),__webpack_require__.e("873")]).then(()=>()=>__webpack_require__(83824)),eager:0,singleton:1},{name:"immer",version:"10.2.0",factory:()=>__webpack_require__.e("963").then(()=>()=>__webpack_require__(38662)),eager:0,singleton:1},{name:"lodash",version:"4.18.1",factory:()=>__webpack_require__.e("392").then(()=>()=>__webpack_require__(17243)),eager:0,singleton:1},{name:"mdi-material-ui",version:"7.9.4",factory:()=>Promise.all([__webpack_require__.e("823"),__webpack_require__.e("496"),__webpack_require__.e("312"),__webpack_require__.e("367"),__webpack_require__.e("221")]).then(()=>()=>__webpack_require__(64531)),eager:0,singleton:1,requiredVersion:"7.4.0"},{name:"react-dom",version:"18.3.1",factory:()=>Promise.all([__webpack_require__.e("470"),__webpack_require__.e("312")]).then(()=>()=>__webpack_require__(78325)),eager:0,singleton:1,requiredVersion:"18.2.0"},{name:"react",version:"18.3.1",factory:()=>__webpack_require__.e("121").then(()=>()=>__webpack_require__(63696)),eager:0,singleton:1,requiredVersion:"18.2.0"},{name:"use-resize-observer",version:"9.1.0",factory:()=>Promise.all([__webpack_require__.e("312"),__webpack_require__.e("77")]).then(()=>()=>__webpack_require__(85180)),eager:0,singleton:1,requiredVersion:"9.1.0"}]},uniqueName:"GaugeChart"},__webpack_require__.I=__webpack_require__.I||function(){throw Error("should have __webpack_require__.I")}})(),(()=>{__webpack_require__.g.importScripts&&(e=__webpack_require__.g.location+"");var e,t=__webpack_require__.g.document;if(!e&&t&&(t.currentScript&&"SCRIPT"===t.currentScript.tagName.toUpperCase()&&(e=t.currentScript.src),!e)){var r=t.getElementsByTagName("script");if(r.length)for(var o=r.length-1;o>-1&&(!e||!/^http(s?):/.test(e));)e=r[o--].src}if(!e)throw Error("Automatic publicPath is not supported in this browser");__webpack_require__.p=(e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"))+"../../"})(),(()=>{__webpack_require__.consumesLoadingData={chunkMapping:{802:["26422","40224","94461"],367:["69402"],4:["20231"],602:["43945"],70:["31829"],413:["49544","25511","77830","58662","84899","63682","64198","51035","28669","71935","43513"],312:["70451"],221:["42292"]},moduleIdToConsumeDataMapping:{43513:{shareScope:"default",shareKey:"immer",import:"immer",requiredVersion:">=8.0.0",strictVersion:!1,singleton:!0,eager:!1,fallback:()=>__webpack_require__.e("963").then(()=>()=>__webpack_require__(38662))},40224:{shareScope:"default",shareKey:"lodash",import:"lodash",requiredVersion:"^4.17.21",strictVersion:!1,singleton:!0,eager:!1,fallback:()=>__webpack_require__.e("392").then(()=>()=>__webpack_require__(17243))},51035:{shareScope:"default",shareKey:"lodash",import:"lodash",requiredVersion:"*",strictVersion:!1,singleton:!0,eager:!1,fallback:()=>__webpack_require__.e("392").then(()=>()=>__webpack_require__(17243))},31829:{shareScope:"default",shareKey:"date-fns",import:"date-fns",requiredVersion:"^3.0.0 || ^4.0.0",strictVersion:!1,singleton:!0,eager:!1,fallback:()=>Promise.all([__webpack_require__.e("588"),__webpack_require__.e("192")]).then(()=>()=>__webpack_require__(89227))},64198:{shareScope:"default",shareKey:"echarts",import:"echarts",requiredVersion:"*",strictVersion:!1,singleton:!0,eager:!1,fallback:()=>Promise.all([__webpack_require__.e("403"),__webpack_require__.e("410"),__webpack_require__.e("873")]).then(()=>()=>__webpack_require__(83824))},71935:{shareScope:"default",shareKey:"@perses-dev/plugin-system",import:"@perses-dev/plugin-system",requiredVersion:"*",strictVersion:!1,singleton:!0,eager:!1,fallback:()=>()=>__webpack_require__(93843)},26422:{shareScope:"default",shareKey:"use-resize-observer",import:"use-resize-observer",requiredVersion:"9.1.0",strictVersion:!1,singleton:!0,eager:!1,fallback:()=>__webpack_require__.e("458").then(()=>()=>__webpack_require__(85180))},63682:{shareScope:"default",shareKey:"date-fns-tz",import:"date-fns-tz",requiredVersion:"^3.2.0",strictVersion:!1,singleton:!0,eager:!1,fallback:()=>Promise.all([__webpack_require__.e("71"),__webpack_require__.e("978"),__webpack_require__.e("70")]).then(()=>()=>__webpack_require__(61153))},70451:{shareScope:"default",shareKey:"react",import:"react",requiredVersion:"18.2.0",strictVersion:!1,singleton:!0,eager:!1,fallback:()=>__webpack_require__.e("121").then(()=>()=>__webpack_require__(63696))},28669:{shareScope:"default",shareKey:"@emotion/styled",import:"@emotion/styled",requiredVersion:"^11.14.1",strictVersion:!1,singleton:!0,eager:!1,fallback:()=>__webpack_require__.e("235").then(()=>()=>__webpack_require__(63859))},94461:{shareScope:"default",shareKey:"date-fns",import:"date-fns",requiredVersion:"^4.1.0",strictVersion:!1,singleton:!0,eager:!1,fallback:()=>Promise.all([__webpack_require__.e("588"),__webpack_require__.e("71"),__webpack_require__.e("192")]).then(()=>()=>__webpack_require__(89227))},49544:{shareScope:"default",shareKey:"immer",import:"immer",requiredVersion:">=9.0.6",strictVersion:!1,singleton:!0,eager:!1,fallback:()=>__webpack_require__.e("963").then(()=>()=>__webpack_require__(38662))},43945:{shareScope:"default",shareKey:"immer",import:"immer",requiredVersion:"^10.1.1",strictVersion:!1,singleton:!0,eager:!1,fallback:()=>__webpack_require__.e("963").then(()=>()=>__webpack_require__(38662))},25511:{shareScope:"default",shareKey:"@hookform/resolvers",import:"@hookform/resolvers",requiredVersion:"^2.0.0",strictVersion:!1,singleton:!0,eager:!1,fallback:()=>__webpack_require__.e("968").then(()=>()=>__webpack_require__(75150))},84899:{shareScope:"default",shareKey:"mdi-material-ui",import:"mdi-material-ui",requiredVersion:"7.4.0",strictVersion:!1,singleton:!0,eager:!1,fallback:()=>__webpack_require__.e("496").then(()=>()=>__webpack_require__(64531))},77830:{shareScope:"default",shareKey:"@perses-dev/plugin-system",import:"@perses-dev/plugin-system",requiredVersion:"0.54.0-beta.3",strictVersion:!1,singleton:!0,eager:!1,fallback:()=>()=>__webpack_require__(93843)},69402:{shareScope:"default",shareKey:"@emotion/react",import:"@emotion/react",requiredVersion:"^11.11.3",strictVersion:!1,singleton:!0,eager:!1,fallback:()=>__webpack_require__.e("274").then(()=>()=>__webpack_require__(67449))},58662:{shareScope:"default",shareKey:"@perses-dev/components",import:"@perses-dev/components",requiredVersion:"0.54.0-beta.3",strictVersion:!1,singleton:!0,eager:!1,fallback:()=>Promise.all([__webpack_require__.e("588"),__webpack_require__.e("71"),__webpack_require__.e("403"),__webpack_require__.e("410"),__webpack_require__.e("236"),__webpack_require__.e("756")]).then(()=>()=>__webpack_require__(6599))},42292:{shareScope:"default",shareKey:"@emotion/styled",import:"@emotion/styled",requiredVersion:"^11.3.0",strictVersion:!1,singleton:!0,eager:!1,fallback:()=>__webpack_require__.e("854").then(()=>()=>__webpack_require__(63859))},20231:{shareScope:"default",shareKey:"react-dom",import:"react-dom",requiredVersion:"18.2.0",strictVersion:!1,singleton:!0,eager:!1,fallback:()=>__webpack_require__.e("470").then(()=>()=>__webpack_require__(78325))}},initialConsumes:[]},__webpack_require__.f.consumes=__webpack_require__.f.consumes||function(){throw Error("should have __webpack_require__.f.consumes")}})(),(()=>{if("u">typeof document){var e=function(e,t,r,o,n){var a=document.createElement("link");a.rel="stylesheet",a.type="text/css",__webpack_require__.nc&&(a.nonce=__webpack_require__.nc),a.href=t;var i=function(r){if(a.onerror=a.onload=null,"load"===r.type)o();else{var i=r&&("load"===r.type?"missing":r.type),s=r&&r.target&&r.target.href||t,l=Error("Loading CSS chunk "+e+" failed.\\n("+s+")");l.code="CSS_CHUNK_LOAD_FAILED",l.type=i,l.request=s,a.parentNode&&a.parentNode.removeChild(a),n(l)}};return a.onerror=a.onload=i,r?r.parentNode.insertBefore(a,r.nextSibling):document.head.appendChild(a),a},t=function(e,t){for(var r=document.getElementsByTagName("link"),o=0;o<r.length;o++){var n=r[o],a=n.getAttribute("data-href")||n.getAttribute("href");if(a&&(a=a.split("?")[0]),"stylesheet"===n.rel&&(a===e||a===t))return n}for(var i=document.getElementsByTagName("style"),o=0;o<i.length;o++){var n=i[o],a=n.getAttribute("data-href");if(a===e||a===t)return n}},r=function(r){return new Promise(function(o,n){var a=__webpack_require__.miniCssF(r),i=__webpack_require__.p+a;if(t(a,i))return o();e(r,i,null,o,n)})},o={889:0};__webpack_require__.f.miniCss=function(e,t){var n={236:1};o[e]?t.push(o[e]):0!==o[e]&&n[e]&&t.push(o[e]=r(e).then(function(){o[e]=0},function(t){throw delete o[e],t}))}}})(),(()=>{var e={889:0};__webpack_require__.f.j=function(t,r){var o=__webpack_require__.o(e,t)?e[t]:void 0;if(0!==o)if(o)r.push(o[2]);else if(/^((31|60|80)2|221|367|4|413|70)$/.test(t))e[t]=0;else{var n=new Promise((r,n)=>o=e[t]=[r,n]);r.push(o[2]=n);var a=__webpack_require__.p+__webpack_require__.u(t),i=Error(),s=function(r){if(__webpack_require__.o(e,t)&&(0!==(o=e[t])&&(e[t]=void 0),o)){var n=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;i.message="Loading chunk "+t+" failed.\n("+n+": "+a+")",i.name="ChunkLoadError",i.type=n,i.request=a,o[1](i)}};__webpack_require__.l(a,s,"chunk-"+t,t)}};var t=(t,r)=>{var o,n,[a,i,s]=r,l=0;if(a.some(t=>0!==e[t])){for(o in i)__webpack_require__.o(i,o)&&(__webpack_require__.m[o]=i[o]);s&&s(__webpack_require__)}for(t&&t(r);l<a.length;l++)n=a[l],__webpack_require__.o(e,n)&&e[n]&&e[n][0](),e[n]=0},r=self["chunk_GaugeChart "]=self["chunk_GaugeChart "]||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),(()=>{var e=__webpack_require__.x,t=!1;__webpack_require__.x=function(){if(t||(t=!0,__webpack_require__(74390)),"function"==typeof e)return e();console.warn("[MF] Invalid prevStartup")}})();var __webpack_exports__=__webpack_require__.x()})();
@@ -1,4 +1,4 @@
1
- import { FormatOptions } from '@perses-dev/core';
1
+ import { FormatOptions } from '@perses-dev/components';
2
2
  import { GaugeSeriesOption } from 'echarts/charts';
3
3
  import { ReactElement } from 'react';
4
4
  export type GaugeChartValue = number | null | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"GaugeChartBase.d.ts","sourceRoot":"","sources":["../../src/GaugeChartBase.tsx"],"names":[],"mappings":"AAcA,OAAO,EAAe,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAE9D,OAAO,EAAmC,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGpF,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAOrC,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;AAExD,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,eAAe,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,WAAW,CAAC;IAClB,MAAM,EAAE,aAAa,CAAC;IACtB,QAAQ,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC;IACxC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,YAAY,CA4IvE"}
1
+ {"version":3,"file":"GaugeChartBase.d.ts","sourceRoot":"","sources":["../../src/GaugeChartBase.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAU,aAAa,EAA4C,MAAM,wBAAwB,CAAC;AAEzG,OAAO,EAAmC,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGpF,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAOrC,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;AAExD,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,eAAe,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,WAAW,CAAC;IAClB,MAAM,EAAE,aAAa,CAAC;IACtB,QAAQ,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC;IACxC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,YAAY,CA4IvE"}
@@ -11,8 +11,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
11
11
  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
12
  // See the License for the specific language governing permissions and
13
13
  // limitations under the License.
14
- import { EChart, useChartsTheme, useDeepMemo } from '@perses-dev/components';
15
- import { formatValue } from '@perses-dev/core';
14
+ import { EChart, formatValue, useChartsTheme, useDeepMemo } from '@perses-dev/components';
16
15
  import { use } from 'echarts/core';
17
16
  import { GaugeChart as EChartsGaugeChart } from 'echarts/charts';
18
17
  import { GridComponent, TitleComponent, TooltipComponent } from 'echarts/components';
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/GaugeChartBase.tsx"],"sourcesContent":["// Copyright The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nimport { EChart, useChartsTheme, useDeepMemo } from '@perses-dev/components';\nimport { formatValue, FormatOptions } from '@perses-dev/core';\nimport { use, EChartsCoreOption } from 'echarts/core';\nimport { GaugeChart as EChartsGaugeChart, GaugeSeriesOption } from 'echarts/charts';\nimport { GridComponent, TitleComponent, TooltipComponent } from 'echarts/components';\nimport { CanvasRenderer } from 'echarts/renderers';\nimport { ReactElement } from 'react';\n\nuse([EChartsGaugeChart, GridComponent, TitleComponent, TooltipComponent, CanvasRenderer]);\n\n// adjusts when to show pointer icon\nconst GAUGE_SMALL_BREAKPOINT = 170;\n\nexport type GaugeChartValue = number | null | undefined;\n\nexport type GaugeSeries = {\n value: GaugeChartValue;\n label: string;\n};\n\nexport interface GaugeChartBaseProps {\n width: number;\n height: number;\n data: GaugeSeries;\n format: FormatOptions;\n axisLine: GaugeSeriesOption['axisLine'];\n max?: number;\n valueFontSize: string;\n progressWidth: number;\n titleFontSize: number;\n}\n\nexport function GaugeChartBase(props: GaugeChartBaseProps): ReactElement {\n const { width, height, data, format, axisLine, max, valueFontSize, progressWidth, titleFontSize } = props;\n const chartsTheme = useChartsTheme();\n\n // useDeepMemo ensures value size util does not rerun everytime you hover on the chart\n const option: EChartsCoreOption = useDeepMemo(() => {\n if (data.value === undefined) return chartsTheme.noDataOption;\n\n // Base configuration shared by both series (= progress & scale)\n const baseGaugeConfig = {\n type: 'gauge' as const,\n center: ['50%', '65%'] as [string, string],\n startAngle: 200,\n endAngle: -20,\n min: 0,\n max: max,\n axisTick: {\n show: false,\n },\n splitLine: {\n show: false,\n },\n axisLabel: {\n show: false,\n },\n data: [\n {\n value: data.value,\n },\n ],\n };\n\n return {\n title: {\n show: false,\n },\n tooltip: {\n show: false,\n },\n series: [\n // Inner gauge (progress)\n {\n ...baseGaugeConfig,\n radius: '90%',\n silent: true,\n progress: {\n show: true,\n width: progressWidth,\n itemStyle: {\n color: 'auto',\n },\n },\n axisLine: {\n lineStyle: {\n color: [[1, 'rgba(127,127,127,0.35)']], // TODO (sjcobb): use future chart theme colors\n width: progressWidth,\n },\n },\n pointer: {\n show: false,\n },\n anchor: {\n show: false,\n },\n title: {\n show: false,\n },\n detail: {\n show: false,\n },\n },\n // Outer gauge (scale & display)\n {\n ...baseGaugeConfig,\n radius: '100%',\n pointer: {\n show: true,\n // pointer hidden for small panels, path taken from ex: https://echarts.apache.org/examples/en/editor.html?c=gauge-grade\n icon: width > GAUGE_SMALL_BREAKPOINT ? 'path://M12.8,0.7l12,40.1H0.7L12.8,0.7z' : 'none',\n length: 10,\n width: 5,\n offsetCenter: [0, '-49%'],\n itemStyle: {\n color: 'auto',\n },\n },\n axisLine: axisLine,\n // `detail` is the text displayed in the middle\n detail: {\n show: true,\n width: '60%',\n borderRadius: 8,\n offsetCenter: [0, '-9%'],\n color: 'inherit', // allows value color to match active threshold color\n fontSize: valueFontSize,\n formatter:\n data.value === null\n ? // We use a different function when we *know* the value is null\n // at this level because the `formatter` function argument is `NaN`\n // when the value is `null`, making it difficult to differentiate\n // `null` from a true `NaN` case.\n (): string => 'null'\n : (value: number): string | undefined => {\n return formatValue(value, format);\n },\n },\n data: [\n {\n value: data.value,\n name: data.label,\n // TODO: new UX for series names, create separate React component or reuse ListLegendItem\n // https://echarts.apache.org/en/option.html#series-gauge.data.title\n title: {\n show: true,\n color: chartsTheme.echartsTheme.textStyle?.color ?? 'inherit', // series name font color\n offsetCenter: [0, '55%'],\n overflow: 'truncate',\n fontSize: titleFontSize,\n width: width * 0.8,\n },\n },\n ],\n },\n ],\n };\n }, [data, width, height, chartsTheme, format, axisLine, max, valueFontSize, progressWidth, titleFontSize]);\n\n return (\n <EChart\n style={{\n width: width,\n height: height,\n }}\n sx={{\n padding: `${chartsTheme.container.padding.default}px`,\n }}\n option={option}\n theme={chartsTheme.echartsTheme}\n />\n );\n}\n"],"names":["EChart","useChartsTheme","useDeepMemo","formatValue","use","GaugeChart","EChartsGaugeChart","GridComponent","TitleComponent","TooltipComponent","CanvasRenderer","GAUGE_SMALL_BREAKPOINT","GaugeChartBase","props","width","height","data","format","axisLine","max","valueFontSize","progressWidth","titleFontSize","chartsTheme","option","value","undefined","noDataOption","baseGaugeConfig","type","center","startAngle","endAngle","min","axisTick","show","splitLine","axisLabel","title","tooltip","series","radius","silent","progress","itemStyle","color","lineStyle","pointer","anchor","detail","icon","length","offsetCenter","borderRadius","fontSize","formatter","name","label","echartsTheme","textStyle","overflow","style","sx","padding","container","default","theme"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/GaugeChartBase.tsx"],"sourcesContent":["// Copyright The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nimport { EChart, FormatOptions, formatValue, useChartsTheme, useDeepMemo } from '@perses-dev/components';\nimport { use, EChartsCoreOption } from 'echarts/core';\nimport { GaugeChart as EChartsGaugeChart, GaugeSeriesOption } from 'echarts/charts';\nimport { GridComponent, TitleComponent, TooltipComponent } from 'echarts/components';\nimport { CanvasRenderer } from 'echarts/renderers';\nimport { ReactElement } from 'react';\n\nuse([EChartsGaugeChart, GridComponent, TitleComponent, TooltipComponent, CanvasRenderer]);\n\n// adjusts when to show pointer icon\nconst GAUGE_SMALL_BREAKPOINT = 170;\n\nexport type GaugeChartValue = number | null | undefined;\n\nexport type GaugeSeries = {\n value: GaugeChartValue;\n label: string;\n};\n\nexport interface GaugeChartBaseProps {\n width: number;\n height: number;\n data: GaugeSeries;\n format: FormatOptions;\n axisLine: GaugeSeriesOption['axisLine'];\n max?: number;\n valueFontSize: string;\n progressWidth: number;\n titleFontSize: number;\n}\n\nexport function GaugeChartBase(props: GaugeChartBaseProps): ReactElement {\n const { width, height, data, format, axisLine, max, valueFontSize, progressWidth, titleFontSize } = props;\n const chartsTheme = useChartsTheme();\n\n // useDeepMemo ensures value size util does not rerun everytime you hover on the chart\n const option: EChartsCoreOption = useDeepMemo(() => {\n if (data.value === undefined) return chartsTheme.noDataOption;\n\n // Base configuration shared by both series (= progress & scale)\n const baseGaugeConfig = {\n type: 'gauge' as const,\n center: ['50%', '65%'] as [string, string],\n startAngle: 200,\n endAngle: -20,\n min: 0,\n max: max,\n axisTick: {\n show: false,\n },\n splitLine: {\n show: false,\n },\n axisLabel: {\n show: false,\n },\n data: [\n {\n value: data.value,\n },\n ],\n };\n\n return {\n title: {\n show: false,\n },\n tooltip: {\n show: false,\n },\n series: [\n // Inner gauge (progress)\n {\n ...baseGaugeConfig,\n radius: '90%',\n silent: true,\n progress: {\n show: true,\n width: progressWidth,\n itemStyle: {\n color: 'auto',\n },\n },\n axisLine: {\n lineStyle: {\n color: [[1, 'rgba(127,127,127,0.35)']], // TODO (sjcobb): use future chart theme colors\n width: progressWidth,\n },\n },\n pointer: {\n show: false,\n },\n anchor: {\n show: false,\n },\n title: {\n show: false,\n },\n detail: {\n show: false,\n },\n },\n // Outer gauge (scale & display)\n {\n ...baseGaugeConfig,\n radius: '100%',\n pointer: {\n show: true,\n // pointer hidden for small panels, path taken from ex: https://echarts.apache.org/examples/en/editor.html?c=gauge-grade\n icon: width > GAUGE_SMALL_BREAKPOINT ? 'path://M12.8,0.7l12,40.1H0.7L12.8,0.7z' : 'none',\n length: 10,\n width: 5,\n offsetCenter: [0, '-49%'],\n itemStyle: {\n color: 'auto',\n },\n },\n axisLine: axisLine,\n // `detail` is the text displayed in the middle\n detail: {\n show: true,\n width: '60%',\n borderRadius: 8,\n offsetCenter: [0, '-9%'],\n color: 'inherit', // allows value color to match active threshold color\n fontSize: valueFontSize,\n formatter:\n data.value === null\n ? // We use a different function when we *know* the value is null\n // at this level because the `formatter` function argument is `NaN`\n // when the value is `null`, making it difficult to differentiate\n // `null` from a true `NaN` case.\n (): string => 'null'\n : (value: number): string | undefined => {\n return formatValue(value, format);\n },\n },\n data: [\n {\n value: data.value,\n name: data.label,\n // TODO: new UX for series names, create separate React component or reuse ListLegendItem\n // https://echarts.apache.org/en/option.html#series-gauge.data.title\n title: {\n show: true,\n color: chartsTheme.echartsTheme.textStyle?.color ?? 'inherit', // series name font color\n offsetCenter: [0, '55%'],\n overflow: 'truncate',\n fontSize: titleFontSize,\n width: width * 0.8,\n },\n },\n ],\n },\n ],\n };\n }, [data, width, height, chartsTheme, format, axisLine, max, valueFontSize, progressWidth, titleFontSize]);\n\n return (\n <EChart\n style={{\n width: width,\n height: height,\n }}\n sx={{\n padding: `${chartsTheme.container.padding.default}px`,\n }}\n option={option}\n theme={chartsTheme.echartsTheme}\n />\n );\n}\n"],"names":["EChart","formatValue","useChartsTheme","useDeepMemo","use","GaugeChart","EChartsGaugeChart","GridComponent","TitleComponent","TooltipComponent","CanvasRenderer","GAUGE_SMALL_BREAKPOINT","GaugeChartBase","props","width","height","data","format","axisLine","max","valueFontSize","progressWidth","titleFontSize","chartsTheme","option","value","undefined","noDataOption","baseGaugeConfig","type","center","startAngle","endAngle","min","axisTick","show","splitLine","axisLabel","title","tooltip","series","radius","silent","progress","itemStyle","color","lineStyle","pointer","anchor","detail","icon","length","offsetCenter","borderRadius","fontSize","formatter","name","label","echartsTheme","textStyle","overflow","style","sx","padding","container","default","theme"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/GaugeChartOptionsEditorSettings.tsx"],"sourcesContent":["// Copyright The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nimport { Switch, TextField } from '@mui/material';\nimport {\n FormatControls,\n FormatControlsProps,\n OptionsEditorColumn,\n OptionsEditorControl,\n OptionsEditorGrid,\n OptionsEditorGroup,\n ThresholdsEditor,\n} from '@perses-dev/components';\nimport { ThresholdOptions } from '@perses-dev/core';\nimport { CalculationSelector, CalculationSelectorProps } from '@perses-dev/plugin-system';\nimport { produce } from 'immer';\nimport merge from 'lodash/merge';\nimport { ReactElement } from 'react';\nimport {\n DEFAULT_FORMAT,\n DEFAULT_MAX_PERCENT,\n DEFAULT_MAX_PERCENT_DECIMAL,\n GaugeChartOptions,\n GaugeChartOptionsEditorProps,\n} from './gauge-chart-model';\n\nexport function GaugeChartOptionsEditorSettings(props: GaugeChartOptionsEditorProps): ReactElement {\n const { onChange, value } = props;\n /* If legend setting doesn't exist (because it is optional), the legend should show by default \n This is for the records before the legend option was added\n */\n const showLegend = value?.legend?.show ?? true;\n\n const handleCalculationChange: CalculationSelectorProps['onChange'] = (newCalculation) => {\n onChange(\n produce(value, (draft: GaugeChartOptions) => {\n draft.calculation = newCalculation;\n })\n );\n };\n\n const handleUnitChange: FormatControlsProps['onChange'] = (newFormat) => {\n onChange(\n produce(value, (draft: GaugeChartOptions) => {\n draft.format = newFormat;\n })\n );\n };\n\n // ensures decimalPlaces defaults to correct value\n const format = merge({}, DEFAULT_FORMAT, value.format);\n\n // max only needs to be set explicitly for units other than percent and percent-decimal\n let maxPlaceholder = 'Enter value';\n if (format.unit === 'percent') {\n maxPlaceholder = DEFAULT_MAX_PERCENT.toString();\n } else if (format.unit === 'percent-decimal') {\n maxPlaceholder = DEFAULT_MAX_PERCENT_DECIMAL.toString();\n }\n\n const handleThresholdsChange = (thresholds: ThresholdOptions): void => {\n onChange(\n produce(value, (draft: GaugeChartOptions) => {\n draft.thresholds = thresholds;\n })\n );\n };\n\n return (\n <OptionsEditorGrid>\n <OptionsEditorColumn>\n <OptionsEditorGroup title=\"Misc\">\n <FormatControls value={format} onChange={handleUnitChange} />\n <CalculationSelector value={value.calculation} onChange={handleCalculationChange} />\n <OptionsEditorControl\n label=\"Max\"\n control={\n <TextField\n type=\"number\"\n value={value.max ?? ''}\n onChange={(e) => {\n // ensure empty value resets to undef to allow chart to calculate max\n const newValue = e.target.value ? Number(e.target.value) : undefined;\n onChange(\n produce(value, (draft: GaugeChartOptions) => {\n draft.max = newValue;\n })\n );\n }}\n placeholder={maxPlaceholder}\n />\n }\n />\n </OptionsEditorGroup>\n </OptionsEditorColumn>\n <OptionsEditorColumn>\n <ThresholdsEditor thresholds={value.thresholds} onChange={handleThresholdsChange} />\n <OptionsEditorControl\n label=\"Show legend\"\n control={\n <Switch\n onChange={(): void => {\n onChange(\n produce(value, (draft: GaugeChartOptions) => {\n draft.legend = { ...draft.legend, show: !showLegend };\n })\n );\n }}\n checked={showLegend}\n />\n }\n />\n </OptionsEditorColumn>\n </OptionsEditorGrid>\n );\n}\n"],"names":["Switch","TextField","FormatControls","OptionsEditorColumn","OptionsEditorControl","OptionsEditorGrid","OptionsEditorGroup","ThresholdsEditor","CalculationSelector","produce","merge","DEFAULT_FORMAT","DEFAULT_MAX_PERCENT","DEFAULT_MAX_PERCENT_DECIMAL","GaugeChartOptionsEditorSettings","props","onChange","value","showLegend","legend","show","handleCalculationChange","newCalculation","draft","calculation","handleUnitChange","newFormat","format","maxPlaceholder","unit","toString","handleThresholdsChange","thresholds","title","label","control","type","max","e","newValue","target","Number","undefined","placeholder","checked"],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,SAASA,MAAM,EAAEC,SAAS,QAAQ,gBAAgB;AAClD,SACEC,cAAc,EAEdC,mBAAmB,EACnBC,oBAAoB,EACpBC,iBAAiB,EACjBC,kBAAkB,EAClBC,gBAAgB,QACX,yBAAyB;AAEhC,SAASC,mBAAmB,QAAkC,4BAA4B;AAC1F,SAASC,OAAO,QAAQ,QAAQ;AAChC,OAAOC,WAAW,eAAe;AAEjC,SACEC,cAAc,EACdC,mBAAmB,EACnBC,2BAA2B,QAGtB,sBAAsB;AAE7B,OAAO,SAASC,gCAAgCC,KAAmC;IACjF,MAAM,EAAEC,QAAQ,EAAEC,KAAK,EAAE,GAAGF;IAC5B;;EAEA,GACA,MAAMG,aAAaD,OAAOE,QAAQC,QAAQ;IAE1C,MAAMC,0BAAgE,CAACC;QACrEN,SACEP,QAAQQ,OAAO,CAACM;YACdA,MAAMC,WAAW,GAAGF;QACtB;IAEJ;IAEA,MAAMG,mBAAoD,CAACC;QACzDV,SACEP,QAAQQ,OAAO,CAACM;YACdA,MAAMI,MAAM,GAAGD;QACjB;IAEJ;IAEA,kDAAkD;IAClD,MAAMC,SAASjB,MAAM,CAAC,GAAGC,gBAAgBM,MAAMU,MAAM;IAErD,uFAAuF;IACvF,IAAIC,iBAAiB;IACrB,IAAID,OAAOE,IAAI,KAAK,WAAW;QAC7BD,iBAAiBhB,oBAAoBkB,QAAQ;IAC/C,OAAO,IAAIH,OAAOE,IAAI,KAAK,mBAAmB;QAC5CD,iBAAiBf,4BAA4BiB,QAAQ;IACvD;IAEA,MAAMC,yBAAyB,CAACC;QAC9BhB,SACEP,QAAQQ,OAAO,CAACM;YACdA,MAAMS,UAAU,GAAGA;QACrB;IAEJ;IAEA,qBACE,MAAC3B;;0BACC,KAACF;0BACC,cAAA,MAACG;oBAAmB2B,OAAM;;sCACxB,KAAC/B;4BAAee,OAAOU;4BAAQX,UAAUS;;sCACzC,KAACjB;4BAAoBS,OAAOA,MAAMO,WAAW;4BAAER,UAAUK;;sCACzD,KAACjB;4BACC8B,OAAM;4BACNC,uBACE,KAAClC;gCACCmC,MAAK;gCACLnB,OAAOA,MAAMoB,GAAG,IAAI;gCACpBrB,UAAU,CAACsB;oCACT,qEAAqE;oCACrE,MAAMC,WAAWD,EAAEE,MAAM,CAACvB,KAAK,GAAGwB,OAAOH,EAAEE,MAAM,CAACvB,KAAK,IAAIyB;oCAC3D1B,SACEP,QAAQQ,OAAO,CAACM;wCACdA,MAAMc,GAAG,GAAGE;oCACd;gCAEJ;gCACAI,aAAaf;;;;;;0BAMvB,MAACzB;;kCACC,KAACI;wBAAiByB,YAAYf,MAAMe,UAAU;wBAAEhB,UAAUe;;kCAC1D,KAAC3B;wBACC8B,OAAM;wBACNC,uBACE,KAACnC;4BACCgB,UAAU;gCACRA,SACEP,QAAQQ,OAAO,CAACM;oCACdA,MAAMJ,MAAM,GAAG;wCAAE,GAAGI,MAAMJ,MAAM;wCAAEC,MAAM,CAACF;oCAAW;gCACtD;4BAEJ;4BACA0B,SAAS1B;;;;;;;AAOvB"}
1
+ {"version":3,"sources":["../../src/GaugeChartOptionsEditorSettings.tsx"],"sourcesContent":["// Copyright The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nimport { Switch, TextField } from '@mui/material';\nimport {\n FormatControls,\n FormatControlsProps,\n OptionsEditorColumn,\n OptionsEditorControl,\n OptionsEditorGrid,\n OptionsEditorGroup,\n ThresholdOptions,\n ThresholdsEditor,\n} from '@perses-dev/components';\nimport { CalculationSelector, CalculationSelectorProps } from '@perses-dev/plugin-system';\nimport { produce } from 'immer';\nimport merge from 'lodash/merge';\nimport { ReactElement } from 'react';\nimport {\n DEFAULT_FORMAT,\n DEFAULT_MAX_PERCENT,\n DEFAULT_MAX_PERCENT_DECIMAL,\n GaugeChartOptions,\n GaugeChartOptionsEditorProps,\n} from './gauge-chart-model';\n\nexport function GaugeChartOptionsEditorSettings(props: GaugeChartOptionsEditorProps): ReactElement {\n const { onChange, value } = props;\n /* If legend setting doesn't exist (because it is optional), the legend should show by default \n This is for the records before the legend option was added\n */\n const showLegend = value?.legend?.show ?? true;\n\n const handleCalculationChange: CalculationSelectorProps['onChange'] = (newCalculation) => {\n onChange(\n produce(value, (draft: GaugeChartOptions) => {\n draft.calculation = newCalculation;\n })\n );\n };\n\n const handleUnitChange: FormatControlsProps['onChange'] = (newFormat) => {\n onChange(\n produce(value, (draft: GaugeChartOptions) => {\n draft.format = newFormat;\n })\n );\n };\n\n // ensures decimalPlaces defaults to correct value\n const format = merge({}, DEFAULT_FORMAT, value.format);\n\n // max only needs to be set explicitly for units other than percent and percent-decimal\n let maxPlaceholder = 'Enter value';\n if (format.unit === 'percent') {\n maxPlaceholder = DEFAULT_MAX_PERCENT.toString();\n } else if (format.unit === 'percent-decimal') {\n maxPlaceholder = DEFAULT_MAX_PERCENT_DECIMAL.toString();\n }\n\n const handleThresholdsChange = (thresholds: ThresholdOptions): void => {\n onChange(\n produce(value, (draft: GaugeChartOptions) => {\n draft.thresholds = thresholds;\n })\n );\n };\n\n return (\n <OptionsEditorGrid>\n <OptionsEditorColumn>\n <OptionsEditorGroup title=\"Misc\">\n <FormatControls value={format} onChange={handleUnitChange} />\n <CalculationSelector value={value.calculation} onChange={handleCalculationChange} />\n <OptionsEditorControl\n label=\"Max\"\n control={\n <TextField\n type=\"number\"\n value={value.max ?? ''}\n onChange={(e) => {\n // ensure empty value resets to undef to allow chart to calculate max\n const newValue = e.target.value ? Number(e.target.value) : undefined;\n onChange(\n produce(value, (draft: GaugeChartOptions) => {\n draft.max = newValue;\n })\n );\n }}\n placeholder={maxPlaceholder}\n />\n }\n />\n </OptionsEditorGroup>\n </OptionsEditorColumn>\n <OptionsEditorColumn>\n <ThresholdsEditor thresholds={value.thresholds} onChange={handleThresholdsChange} />\n <OptionsEditorControl\n label=\"Show legend\"\n control={\n <Switch\n onChange={(): void => {\n onChange(\n produce(value, (draft: GaugeChartOptions) => {\n draft.legend = { ...draft.legend, show: !showLegend };\n })\n );\n }}\n checked={showLegend}\n />\n }\n />\n </OptionsEditorColumn>\n </OptionsEditorGrid>\n );\n}\n"],"names":["Switch","TextField","FormatControls","OptionsEditorColumn","OptionsEditorControl","OptionsEditorGrid","OptionsEditorGroup","ThresholdsEditor","CalculationSelector","produce","merge","DEFAULT_FORMAT","DEFAULT_MAX_PERCENT","DEFAULT_MAX_PERCENT_DECIMAL","GaugeChartOptionsEditorSettings","props","onChange","value","showLegend","legend","show","handleCalculationChange","newCalculation","draft","calculation","handleUnitChange","newFormat","format","maxPlaceholder","unit","toString","handleThresholdsChange","thresholds","title","label","control","type","max","e","newValue","target","Number","undefined","placeholder","checked"],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,SAASA,MAAM,EAAEC,SAAS,QAAQ,gBAAgB;AAClD,SACEC,cAAc,EAEdC,mBAAmB,EACnBC,oBAAoB,EACpBC,iBAAiB,EACjBC,kBAAkB,EAElBC,gBAAgB,QACX,yBAAyB;AAChC,SAASC,mBAAmB,QAAkC,4BAA4B;AAC1F,SAASC,OAAO,QAAQ,QAAQ;AAChC,OAAOC,WAAW,eAAe;AAEjC,SACEC,cAAc,EACdC,mBAAmB,EACnBC,2BAA2B,QAGtB,sBAAsB;AAE7B,OAAO,SAASC,gCAAgCC,KAAmC;IACjF,MAAM,EAAEC,QAAQ,EAAEC,KAAK,EAAE,GAAGF;IAC5B;;EAEA,GACA,MAAMG,aAAaD,OAAOE,QAAQC,QAAQ;IAE1C,MAAMC,0BAAgE,CAACC;QACrEN,SACEP,QAAQQ,OAAO,CAACM;YACdA,MAAMC,WAAW,GAAGF;QACtB;IAEJ;IAEA,MAAMG,mBAAoD,CAACC;QACzDV,SACEP,QAAQQ,OAAO,CAACM;YACdA,MAAMI,MAAM,GAAGD;QACjB;IAEJ;IAEA,kDAAkD;IAClD,MAAMC,SAASjB,MAAM,CAAC,GAAGC,gBAAgBM,MAAMU,MAAM;IAErD,uFAAuF;IACvF,IAAIC,iBAAiB;IACrB,IAAID,OAAOE,IAAI,KAAK,WAAW;QAC7BD,iBAAiBhB,oBAAoBkB,QAAQ;IAC/C,OAAO,IAAIH,OAAOE,IAAI,KAAK,mBAAmB;QAC5CD,iBAAiBf,4BAA4BiB,QAAQ;IACvD;IAEA,MAAMC,yBAAyB,CAACC;QAC9BhB,SACEP,QAAQQ,OAAO,CAACM;YACdA,MAAMS,UAAU,GAAGA;QACrB;IAEJ;IAEA,qBACE,MAAC3B;;0BACC,KAACF;0BACC,cAAA,MAACG;oBAAmB2B,OAAM;;sCACxB,KAAC/B;4BAAee,OAAOU;4BAAQX,UAAUS;;sCACzC,KAACjB;4BAAoBS,OAAOA,MAAMO,WAAW;4BAAER,UAAUK;;sCACzD,KAACjB;4BACC8B,OAAM;4BACNC,uBACE,KAAClC;gCACCmC,MAAK;gCACLnB,OAAOA,MAAMoB,GAAG,IAAI;gCACpBrB,UAAU,CAACsB;oCACT,qEAAqE;oCACrE,MAAMC,WAAWD,EAAEE,MAAM,CAACvB,KAAK,GAAGwB,OAAOH,EAAEE,MAAM,CAACvB,KAAK,IAAIyB;oCAC3D1B,SACEP,QAAQQ,OAAO,CAACM;wCACdA,MAAMc,GAAG,GAAGE;oCACd;gCAEJ;gCACAI,aAAaf;;;;;;0BAMvB,MAACzB;;kCACC,KAACI;wBAAiByB,YAAYf,MAAMe,UAAU;wBAAEhB,UAAUe;;kCAC1D,KAAC3B;wBACC8B,OAAM;wBACNC,uBACE,KAACnC;4BACCgB,UAAU;gCACRA,SACEP,QAAQQ,OAAO,CAACM;oCACdA,MAAMJ,MAAM,GAAG;wCAAE,GAAGI,MAAMJ,MAAM;wCAAEC,MAAM,CAACF;oCAAW;gCACtD;4BAEJ;4BACA0B,SAAS1B;;;;;;;AAOvB"}
@@ -1,6 +1,6 @@
1
- import { TimeSeriesData } from '@perses-dev/core';
2
1
  import { PanelProps } from '@perses-dev/plugin-system';
3
2
  import { ReactElement } from 'react';
3
+ import { TimeSeriesData } from '@perses-dev/spec';
4
4
  import { GaugeChartOptions } from './gauge-chart-model';
5
5
  export type GaugeChartPanelProps = PanelProps<GaugeChartOptions, TimeSeriesData>;
6
6
  export declare function GaugeChartPanel(props: GaugeChartPanelProps): ReactElement | null;
@@ -1 +1 @@
1
- {"version":3,"file":"GaugeChartPanel.d.ts","sourceRoot":"","sources":["../../src/GaugeChartPanel.tsx"],"names":[],"mappings":"AAeA,OAAO,EAAoE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACpH,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAGvD,OAAO,EAAE,YAAY,EAAW,MAAM,OAAO,CAAC;AAC9C,OAAO,EAIL,iBAAiB,EAClB,MAAM,qBAAqB,CAAC;AAyD7B,MAAM,MAAM,oBAAoB,GAAG,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAC;AAEjF,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,GAAG,YAAY,GAAG,IAAI,CA8HhF;AAED,wBAAgB,iBAAiB,CAAC,EAAE,iBAAiB,EAAE,EAAE,oBAAoB,GAAG,KAAK,CAAC,YAAY,GAAG,IAAI,CAUxG"}
1
+ {"version":3,"file":"GaugeChartPanel.d.ts","sourceRoot":"","sources":["../../src/GaugeChartPanel.tsx"],"names":[],"mappings":"AAeA,OAAO,EAAwC,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAG7F,OAAO,EAAE,YAAY,EAAW,MAAM,OAAO,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAIL,iBAAiB,EAClB,MAAM,qBAAqB,CAAC;AAyD7B,MAAM,MAAM,oBAAoB,GAAG,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAC;AAEjF,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,GAAG,YAAY,GAAG,IAAI,CA8HhF;AAED,wBAAgB,iBAAiB,CAAC,EAAE,iBAAiB,EAAE,EAAE,oBAAoB,GAAG,KAAK,CAAC,YAAY,GAAG,IAAI,CAUxG"}
@@ -12,8 +12,8 @@ import { jsx as _jsx } from "react/jsx-runtime";
12
12
  // See the License for the specific language governing permissions and
13
13
  // limitations under the License.
14
14
  import { Box, Skeleton, Stack } from '@mui/material';
15
- import { useChartsTheme } from '@perses-dev/components';
16
- import { CalculationsMap, DEFAULT_CALCULATION, formatValue } from '@perses-dev/core';
15
+ import { formatValue, useChartsTheme } from '@perses-dev/components';
16
+ import { CalculationsMap, DEFAULT_CALCULATION } from '@perses-dev/plugin-system';
17
17
  import merge from 'lodash/merge';
18
18
  import { useMemo } from 'react';
19
19
  import { DEFAULT_FORMAT, DEFAULT_MAX_PERCENT, DEFAULT_MAX_PERCENT_DECIMAL } from './gauge-chart-model';
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/GaugeChartPanel.tsx"],"sourcesContent":["// Copyright The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nimport { Box, Skeleton, Stack } from '@mui/material';\nimport { useChartsTheme } from '@perses-dev/components';\nimport { CalculationsMap, DEFAULT_CALCULATION, FormatOptions, formatValue, TimeSeriesData } from '@perses-dev/core';\nimport { PanelProps } from '@perses-dev/plugin-system';\nimport type { GaugeSeriesOption } from 'echarts';\nimport merge from 'lodash/merge';\nimport { ReactElement, useMemo } from 'react';\nimport {\n DEFAULT_FORMAT,\n DEFAULT_MAX_PERCENT,\n DEFAULT_MAX_PERCENT_DECIMAL,\n GaugeChartOptions,\n} from './gauge-chart-model';\nimport { convertThresholds, defaultThresholdInput } from './thresholds';\nimport { GaugeChartBase, GaugeSeries } from './GaugeChartBase';\n\nconst EMPTY_GAUGE_SERIES: GaugeSeries = { label: '', value: undefined };\nconst GAUGE_MIN_WIDTH = 90;\nconst PANEL_PADDING_OFFSET = 20;\n\n/**\n * Calculate responsive progress width based on panel dimensions\n */\nfunction getResponsiveProgressWidth(width: number, height: number): number {\n const MIN_WIDTH = 10;\n const MAX_WIDTH = 48;\n const RATIO = 0.1; // 10% of the smaller dimension\n\n const minSize = Math.min(width, height);\n // Use RATIO of the smaller dimension as base, with reasonable min/max bounds\n return Math.max(MIN_WIDTH, Math.min(MAX_WIDTH, Math.round(minSize * RATIO)));\n}\n\n/**\n * Responsive font size depending on number of characters and panel dimensions.\n * Uses clamp to ensure the text never overflows and scales appropriately with panel size.\n * (Value refers to the main number value displayed inside the gauge)\n */\nfunction getResponsiveValueFontSize(\n value: number | null,\n format: FormatOptions,\n width: number,\n height: number\n): string {\n const MIN_SIZE = 8;\n const MAX_SIZE = 64;\n const formattedValue = typeof value === 'number' ? formatValue(value, format) : `${value}`;\n\n const valueTextLength = Math.max(formattedValue.length, 6); // Ensure a minimum length to avoid overly large text for short values\n const availableSpace = Math.min(width, height);\n const fontSize = availableSpace / valueTextLength;\n\n return `clamp(${MIN_SIZE}px, ${fontSize}px, ${MAX_SIZE}px)`;\n}\n\n/**\n * Calculate responsive title font size based on panel dimensions\n * (Title refers to the text displayed below the gauge as a legend)\n */\nfunction getResponsiveTitleFontSize(width: number, height: number): number {\n const MIN_SIZE = 10;\n const MAX_SIZE = 16;\n const RATIO = 0.06; // Use 6% of the smaller dimension as base\n\n const size = Math.round(Math.min(width, height) * RATIO);\n // Scale based on panel size, with reasonable min/max bounds\n return Math.max(MIN_SIZE, Math.min(MAX_SIZE, size));\n}\n\nexport type GaugeChartPanelProps = PanelProps<GaugeChartOptions, TimeSeriesData>;\n\nexport function GaugeChartPanel(props: GaugeChartPanelProps): ReactElement | null {\n const { spec: pluginSpec, contentDimensions, queryResults } = props;\n const { calculation, max, legend } = pluginSpec;\n\n const { thresholds: thresholdsColors } = useChartsTheme();\n\n /* Legend setting just added to the cue schema\n This line assures that if legend setting doesn't exist (for old gauge setting records),\n The legend shows normally as before. If it exists, then it checks the show property.\n */\n const showLegend = legend?.show ?? true;\n\n // ensures all default format properties set if undef\n const format = merge({}, DEFAULT_FORMAT, pluginSpec.format);\n\n const thresholds = pluginSpec.thresholds ?? defaultThresholdInput;\n\n const gaugeData = useMemo((): GaugeSeries[] => {\n const seriesData: GaugeSeries[] = [];\n\n if (!CalculationsMap[calculation]) {\n console.warn(`Invalid GaugeChart panel calculation ${calculation}, fallback to ${DEFAULT_CALCULATION}`);\n }\n\n const calculate = CalculationsMap[calculation] ?? CalculationsMap[DEFAULT_CALCULATION];\n\n for (const result of queryResults) {\n for (const timeSeries of result.data.series) {\n seriesData.push({\n value: calculate(timeSeries.values),\n label: showLegend ? (timeSeries.formattedName ?? '') : '',\n });\n }\n }\n return seriesData;\n }, [queryResults, calculation, showLegend]);\n\n if (!contentDimensions) return null;\n\n // needed for end value of last threshold color segment\n let thresholdMax = max;\n if (thresholdMax === undefined) {\n thresholdMax = format.unit === 'percent' ? DEFAULT_MAX_PERCENT : DEFAULT_MAX_PERCENT_DECIMAL;\n }\n const axisLineColors = convertThresholds(thresholds, format, thresholdMax, thresholdsColors);\n\n // accounts for showing a separate chart for each time series\n let chartWidth = contentDimensions.width / gaugeData.length - PANEL_PADDING_OFFSET;\n if (chartWidth < GAUGE_MIN_WIDTH && gaugeData.length > 1) {\n // enables horizontal scroll when charts overflow outside of panel\n chartWidth = GAUGE_MIN_WIDTH;\n }\n\n // Calculate responsive values based on chart dimensions\n const progressWidth = getResponsiveProgressWidth(chartWidth, contentDimensions.height);\n const axisLineWidth = Math.round(progressWidth * 0.2); // Axis line width is 20% of progress width\n const titleFontSize = getResponsiveTitleFontSize(chartWidth, contentDimensions.height);\n\n const axisLine: GaugeSeriesOption['axisLine'] = {\n show: true,\n lineStyle: {\n width: axisLineWidth,\n color: axisLineColors,\n },\n };\n\n // no data message handled inside chart component\n if (!gaugeData.length) {\n const emptyValueFontSize = getResponsiveValueFontSize(\n null,\n format,\n contentDimensions.width,\n contentDimensions.height\n );\n const emptyProgressWidth = getResponsiveProgressWidth(contentDimensions.width, contentDimensions.height);\n const emptyTitleFontSize = getResponsiveTitleFontSize(contentDimensions.width, contentDimensions.height);\n\n return (\n <GaugeChartBase\n width={contentDimensions.width}\n height={contentDimensions.height}\n data={EMPTY_GAUGE_SERIES}\n format={format}\n axisLine={axisLine}\n max={thresholdMax}\n valueFontSize={emptyValueFontSize}\n progressWidth={emptyProgressWidth}\n titleFontSize={emptyTitleFontSize}\n />\n );\n }\n\n const hasMultipleCharts = gaugeData.length > 1;\n\n return (\n <Stack\n direction=\"row\"\n spacing={hasMultipleCharts ? 2 : 0}\n justifyContent={hasMultipleCharts ? 'left' : 'center'}\n alignItems=\"center\"\n sx={{\n // so scrollbar only shows when necessary\n overflowX: gaugeData.length > 1 ? 'scroll' : 'auto',\n }}\n >\n {gaugeData.map((series, seriesIndex) => {\n const fontSize = getResponsiveValueFontSize(series.value ?? null, format, chartWidth, contentDimensions.height);\n\n return (\n <Box key={`gauge-series-${seriesIndex}`}>\n <GaugeChartBase\n width={chartWidth}\n height={contentDimensions.height}\n data={series}\n format={format}\n axisLine={axisLine}\n max={thresholdMax}\n valueFontSize={fontSize}\n progressWidth={progressWidth}\n titleFontSize={titleFontSize}\n />\n </Box>\n );\n })}\n </Stack>\n );\n}\n\nexport function GaugeChartLoading({ contentDimensions }: GaugeChartPanelProps): React.ReactElement | null {\n if (!contentDimensions) return null;\n return (\n <Skeleton\n sx={{ margin: '0 auto' }}\n variant=\"circular\"\n width={contentDimensions.width > contentDimensions.height ? contentDimensions.height : contentDimensions.width}\n height={contentDimensions.height}\n />\n );\n}\n"],"names":["Box","Skeleton","Stack","useChartsTheme","CalculationsMap","DEFAULT_CALCULATION","formatValue","merge","useMemo","DEFAULT_FORMAT","DEFAULT_MAX_PERCENT","DEFAULT_MAX_PERCENT_DECIMAL","convertThresholds","defaultThresholdInput","GaugeChartBase","EMPTY_GAUGE_SERIES","label","value","undefined","GAUGE_MIN_WIDTH","PANEL_PADDING_OFFSET","getResponsiveProgressWidth","width","height","MIN_WIDTH","MAX_WIDTH","RATIO","minSize","Math","min","max","round","getResponsiveValueFontSize","format","MIN_SIZE","MAX_SIZE","formattedValue","valueTextLength","length","availableSpace","fontSize","getResponsiveTitleFontSize","size","GaugeChartPanel","props","spec","pluginSpec","contentDimensions","queryResults","calculation","legend","thresholds","thresholdsColors","showLegend","show","gaugeData","seriesData","console","warn","calculate","result","timeSeries","data","series","push","values","formattedName","thresholdMax","unit","axisLineColors","chartWidth","progressWidth","axisLineWidth","titleFontSize","axisLine","lineStyle","color","emptyValueFontSize","emptyProgressWidth","emptyTitleFontSize","valueFontSize","hasMultipleCharts","direction","spacing","justifyContent","alignItems","sx","overflowX","map","seriesIndex","GaugeChartLoading","margin","variant"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/GaugeChartPanel.tsx"],"sourcesContent":["// Copyright The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nimport { Box, Skeleton, Stack } from '@mui/material';\nimport { FormatOptions, formatValue, useChartsTheme } from '@perses-dev/components';\nimport { CalculationsMap, DEFAULT_CALCULATION, PanelProps } from '@perses-dev/plugin-system';\nimport type { GaugeSeriesOption } from 'echarts';\nimport merge from 'lodash/merge';\nimport { ReactElement, useMemo } from 'react';\nimport { TimeSeriesData } from '@perses-dev/spec';\nimport {\n DEFAULT_FORMAT,\n DEFAULT_MAX_PERCENT,\n DEFAULT_MAX_PERCENT_DECIMAL,\n GaugeChartOptions,\n} from './gauge-chart-model';\nimport { convertThresholds, defaultThresholdInput } from './thresholds';\nimport { GaugeChartBase, GaugeSeries } from './GaugeChartBase';\n\nconst EMPTY_GAUGE_SERIES: GaugeSeries = { label: '', value: undefined };\nconst GAUGE_MIN_WIDTH = 90;\nconst PANEL_PADDING_OFFSET = 20;\n\n/**\n * Calculate responsive progress width based on panel dimensions\n */\nfunction getResponsiveProgressWidth(width: number, height: number): number {\n const MIN_WIDTH = 10;\n const MAX_WIDTH = 48;\n const RATIO = 0.1; // 10% of the smaller dimension\n\n const minSize = Math.min(width, height);\n // Use RATIO of the smaller dimension as base, with reasonable min/max bounds\n return Math.max(MIN_WIDTH, Math.min(MAX_WIDTH, Math.round(minSize * RATIO)));\n}\n\n/**\n * Responsive font size depending on number of characters and panel dimensions.\n * Uses clamp to ensure the text never overflows and scales appropriately with panel size.\n * (Value refers to the main number value displayed inside the gauge)\n */\nfunction getResponsiveValueFontSize(\n value: number | null,\n format: FormatOptions,\n width: number,\n height: number\n): string {\n const MIN_SIZE = 8;\n const MAX_SIZE = 64;\n const formattedValue = typeof value === 'number' ? formatValue(value, format) : `${value}`;\n\n const valueTextLength = Math.max(formattedValue.length, 6); // Ensure a minimum length to avoid overly large text for short values\n const availableSpace = Math.min(width, height);\n const fontSize = availableSpace / valueTextLength;\n\n return `clamp(${MIN_SIZE}px, ${fontSize}px, ${MAX_SIZE}px)`;\n}\n\n/**\n * Calculate responsive title font size based on panel dimensions\n * (Title refers to the text displayed below the gauge as a legend)\n */\nfunction getResponsiveTitleFontSize(width: number, height: number): number {\n const MIN_SIZE = 10;\n const MAX_SIZE = 16;\n const RATIO = 0.06; // Use 6% of the smaller dimension as base\n\n const size = Math.round(Math.min(width, height) * RATIO);\n // Scale based on panel size, with reasonable min/max bounds\n return Math.max(MIN_SIZE, Math.min(MAX_SIZE, size));\n}\n\nexport type GaugeChartPanelProps = PanelProps<GaugeChartOptions, TimeSeriesData>;\n\nexport function GaugeChartPanel(props: GaugeChartPanelProps): ReactElement | null {\n const { spec: pluginSpec, contentDimensions, queryResults } = props;\n const { calculation, max, legend } = pluginSpec;\n\n const { thresholds: thresholdsColors } = useChartsTheme();\n\n /* Legend setting just added to the cue schema\n This line assures that if legend setting doesn't exist (for old gauge setting records),\n The legend shows normally as before. If it exists, then it checks the show property.\n */\n const showLegend = legend?.show ?? true;\n\n // ensures all default format properties set if undef\n const format = merge({}, DEFAULT_FORMAT, pluginSpec.format);\n\n const thresholds = pluginSpec.thresholds ?? defaultThresholdInput;\n\n const gaugeData = useMemo((): GaugeSeries[] => {\n const seriesData: GaugeSeries[] = [];\n\n if (!CalculationsMap[calculation]) {\n console.warn(`Invalid GaugeChart panel calculation ${calculation}, fallback to ${DEFAULT_CALCULATION}`);\n }\n\n const calculate = CalculationsMap[calculation] ?? CalculationsMap[DEFAULT_CALCULATION];\n\n for (const result of queryResults) {\n for (const timeSeries of result.data.series) {\n seriesData.push({\n value: calculate(timeSeries.values),\n label: showLegend ? (timeSeries.formattedName ?? '') : '',\n });\n }\n }\n return seriesData;\n }, [queryResults, calculation, showLegend]);\n\n if (!contentDimensions) return null;\n\n // needed for end value of last threshold color segment\n let thresholdMax = max;\n if (thresholdMax === undefined) {\n thresholdMax = format.unit === 'percent' ? DEFAULT_MAX_PERCENT : DEFAULT_MAX_PERCENT_DECIMAL;\n }\n const axisLineColors = convertThresholds(thresholds, format, thresholdMax, thresholdsColors);\n\n // accounts for showing a separate chart for each time series\n let chartWidth = contentDimensions.width / gaugeData.length - PANEL_PADDING_OFFSET;\n if (chartWidth < GAUGE_MIN_WIDTH && gaugeData.length > 1) {\n // enables horizontal scroll when charts overflow outside of panel\n chartWidth = GAUGE_MIN_WIDTH;\n }\n\n // Calculate responsive values based on chart dimensions\n const progressWidth = getResponsiveProgressWidth(chartWidth, contentDimensions.height);\n const axisLineWidth = Math.round(progressWidth * 0.2); // Axis line width is 20% of progress width\n const titleFontSize = getResponsiveTitleFontSize(chartWidth, contentDimensions.height);\n\n const axisLine: GaugeSeriesOption['axisLine'] = {\n show: true,\n lineStyle: {\n width: axisLineWidth,\n color: axisLineColors,\n },\n };\n\n // no data message handled inside chart component\n if (!gaugeData.length) {\n const emptyValueFontSize = getResponsiveValueFontSize(\n null,\n format,\n contentDimensions.width,\n contentDimensions.height\n );\n const emptyProgressWidth = getResponsiveProgressWidth(contentDimensions.width, contentDimensions.height);\n const emptyTitleFontSize = getResponsiveTitleFontSize(contentDimensions.width, contentDimensions.height);\n\n return (\n <GaugeChartBase\n width={contentDimensions.width}\n height={contentDimensions.height}\n data={EMPTY_GAUGE_SERIES}\n format={format}\n axisLine={axisLine}\n max={thresholdMax}\n valueFontSize={emptyValueFontSize}\n progressWidth={emptyProgressWidth}\n titleFontSize={emptyTitleFontSize}\n />\n );\n }\n\n const hasMultipleCharts = gaugeData.length > 1;\n\n return (\n <Stack\n direction=\"row\"\n spacing={hasMultipleCharts ? 2 : 0}\n justifyContent={hasMultipleCharts ? 'left' : 'center'}\n alignItems=\"center\"\n sx={{\n // so scrollbar only shows when necessary\n overflowX: gaugeData.length > 1 ? 'scroll' : 'auto',\n }}\n >\n {gaugeData.map((series, seriesIndex) => {\n const fontSize = getResponsiveValueFontSize(series.value ?? null, format, chartWidth, contentDimensions.height);\n\n return (\n <Box key={`gauge-series-${seriesIndex}`}>\n <GaugeChartBase\n width={chartWidth}\n height={contentDimensions.height}\n data={series}\n format={format}\n axisLine={axisLine}\n max={thresholdMax}\n valueFontSize={fontSize}\n progressWidth={progressWidth}\n titleFontSize={titleFontSize}\n />\n </Box>\n );\n })}\n </Stack>\n );\n}\n\nexport function GaugeChartLoading({ contentDimensions }: GaugeChartPanelProps): React.ReactElement | null {\n if (!contentDimensions) return null;\n return (\n <Skeleton\n sx={{ margin: '0 auto' }}\n variant=\"circular\"\n width={contentDimensions.width > contentDimensions.height ? contentDimensions.height : contentDimensions.width}\n height={contentDimensions.height}\n />\n );\n}\n"],"names":["Box","Skeleton","Stack","formatValue","useChartsTheme","CalculationsMap","DEFAULT_CALCULATION","merge","useMemo","DEFAULT_FORMAT","DEFAULT_MAX_PERCENT","DEFAULT_MAX_PERCENT_DECIMAL","convertThresholds","defaultThresholdInput","GaugeChartBase","EMPTY_GAUGE_SERIES","label","value","undefined","GAUGE_MIN_WIDTH","PANEL_PADDING_OFFSET","getResponsiveProgressWidth","width","height","MIN_WIDTH","MAX_WIDTH","RATIO","minSize","Math","min","max","round","getResponsiveValueFontSize","format","MIN_SIZE","MAX_SIZE","formattedValue","valueTextLength","length","availableSpace","fontSize","getResponsiveTitleFontSize","size","GaugeChartPanel","props","spec","pluginSpec","contentDimensions","queryResults","calculation","legend","thresholds","thresholdsColors","showLegend","show","gaugeData","seriesData","console","warn","calculate","result","timeSeries","data","series","push","values","formattedName","thresholdMax","unit","axisLineColors","chartWidth","progressWidth","axisLineWidth","titleFontSize","axisLine","lineStyle","color","emptyValueFontSize","emptyProgressWidth","emptyTitleFontSize","valueFontSize","hasMultipleCharts","direction","spacing","justifyContent","alignItems","sx","overflowX","map","seriesIndex","GaugeChartLoading","margin","variant"],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,SAASA,GAAG,EAAEC,QAAQ,EAAEC,KAAK,QAAQ,gBAAgB;AACrD,SAAwBC,WAAW,EAAEC,cAAc,QAAQ,yBAAyB;AACpF,SAASC,eAAe,EAAEC,mBAAmB,QAAoB,4BAA4B;AAE7F,OAAOC,WAAW,eAAe;AACjC,SAAuBC,OAAO,QAAQ,QAAQ;AAE9C,SACEC,cAAc,EACdC,mBAAmB,EACnBC,2BAA2B,QAEtB,sBAAsB;AAC7B,SAASC,iBAAiB,EAAEC,qBAAqB,QAAQ,eAAe;AACxE,SAASC,cAAc,QAAqB,mBAAmB;AAE/D,MAAMC,qBAAkC;IAAEC,OAAO;IAAIC,OAAOC;AAAU;AACtE,MAAMC,kBAAkB;AACxB,MAAMC,uBAAuB;AAE7B;;CAEC,GACD,SAASC,2BAA2BC,KAAa,EAAEC,MAAc;IAC/D,MAAMC,YAAY;IAClB,MAAMC,YAAY;IAClB,MAAMC,QAAQ,KAAK,+BAA+B;IAElD,MAAMC,UAAUC,KAAKC,GAAG,CAACP,OAAOC;IAChC,6EAA6E;IAC7E,OAAOK,KAAKE,GAAG,CAACN,WAAWI,KAAKC,GAAG,CAACJ,WAAWG,KAAKG,KAAK,CAACJ,UAAUD;AACtE;AAEA;;;;CAIC,GACD,SAASM,2BACPf,KAAoB,EACpBgB,MAAqB,EACrBX,KAAa,EACbC,MAAc;IAEd,MAAMW,WAAW;IACjB,MAAMC,WAAW;IACjB,MAAMC,iBAAiB,OAAOnB,UAAU,WAAWd,YAAYc,OAAOgB,UAAU,GAAGhB,OAAO;IAE1F,MAAMoB,kBAAkBT,KAAKE,GAAG,CAACM,eAAeE,MAAM,EAAE,IAAI,sEAAsE;IAClI,MAAMC,iBAAiBX,KAAKC,GAAG,CAACP,OAAOC;IACvC,MAAMiB,WAAWD,iBAAiBF;IAElC,OAAO,CAAC,MAAM,EAAEH,SAAS,IAAI,EAAEM,SAAS,IAAI,EAAEL,SAAS,GAAG,CAAC;AAC7D;AAEA;;;CAGC,GACD,SAASM,2BAA2BnB,KAAa,EAAEC,MAAc;IAC/D,MAAMW,WAAW;IACjB,MAAMC,WAAW;IACjB,MAAMT,QAAQ,MAAM,0CAA0C;IAE9D,MAAMgB,OAAOd,KAAKG,KAAK,CAACH,KAAKC,GAAG,CAACP,OAAOC,UAAUG;IAClD,4DAA4D;IAC5D,OAAOE,KAAKE,GAAG,CAACI,UAAUN,KAAKC,GAAG,CAACM,UAAUO;AAC/C;AAIA,OAAO,SAASC,gBAAgBC,KAA2B;IACzD,MAAM,EAAEC,MAAMC,UAAU,EAAEC,iBAAiB,EAAEC,YAAY,EAAE,GAAGJ;IAC9D,MAAM,EAAEK,WAAW,EAAEnB,GAAG,EAAEoB,MAAM,EAAE,GAAGJ;IAErC,MAAM,EAAEK,YAAYC,gBAAgB,EAAE,GAAGhD;IAEzC;;;EAGA,GACA,MAAMiD,aAAaH,QAAQI,QAAQ;IAEnC,qDAAqD;IACrD,MAAMrB,SAAS1B,MAAM,CAAC,GAAGE,gBAAgBqC,WAAWb,MAAM;IAE1D,MAAMkB,aAAaL,WAAWK,UAAU,IAAItC;IAE5C,MAAM0C,YAAY/C,QAAQ;QACxB,MAAMgD,aAA4B,EAAE;QAEpC,IAAI,CAACnD,eAAe,CAAC4C,YAAY,EAAE;YACjCQ,QAAQC,IAAI,CAAC,CAAC,qCAAqC,EAAET,YAAY,cAAc,EAAE3C,qBAAqB;QACxG;QAEA,MAAMqD,YAAYtD,eAAe,CAAC4C,YAAY,IAAI5C,eAAe,CAACC,oBAAoB;QAEtF,KAAK,MAAMsD,UAAUZ,aAAc;YACjC,KAAK,MAAMa,cAAcD,OAAOE,IAAI,CAACC,MAAM,CAAE;gBAC3CP,WAAWQ,IAAI,CAAC;oBACd/C,OAAO0C,UAAUE,WAAWI,MAAM;oBAClCjD,OAAOqC,aAAcQ,WAAWK,aAAa,IAAI,KAAM;gBACzD;YACF;QACF;QACA,OAAOV;IACT,GAAG;QAACR;QAAcC;QAAaI;KAAW;IAE1C,IAAI,CAACN,mBAAmB,OAAO;IAE/B,uDAAuD;IACvD,IAAIoB,eAAerC;IACnB,IAAIqC,iBAAiBjD,WAAW;QAC9BiD,eAAelC,OAAOmC,IAAI,KAAK,YAAY1D,sBAAsBC;IACnE;IACA,MAAM0D,iBAAiBzD,kBAAkBuC,YAAYlB,QAAQkC,cAAcf;IAE3E,6DAA6D;IAC7D,IAAIkB,aAAavB,kBAAkBzB,KAAK,GAAGiC,UAAUjB,MAAM,GAAGlB;IAC9D,IAAIkD,aAAanD,mBAAmBoC,UAAUjB,MAAM,GAAG,GAAG;QACxD,kEAAkE;QAClEgC,aAAanD;IACf;IAEA,wDAAwD;IACxD,MAAMoD,gBAAgBlD,2BAA2BiD,YAAYvB,kBAAkBxB,MAAM;IACrF,MAAMiD,gBAAgB5C,KAAKG,KAAK,CAACwC,gBAAgB,MAAM,2CAA2C;IAClG,MAAME,gBAAgBhC,2BAA2B6B,YAAYvB,kBAAkBxB,MAAM;IAErF,MAAMmD,WAA0C;QAC9CpB,MAAM;QACNqB,WAAW;YACTrD,OAAOkD;YACPI,OAAOP;QACT;IACF;IAEA,iDAAiD;IACjD,IAAI,CAACd,UAAUjB,MAAM,EAAE;QACrB,MAAMuC,qBAAqB7C,2BACzB,MACAC,QACAc,kBAAkBzB,KAAK,EACvByB,kBAAkBxB,MAAM;QAE1B,MAAMuD,qBAAqBzD,2BAA2B0B,kBAAkBzB,KAAK,EAAEyB,kBAAkBxB,MAAM;QACvG,MAAMwD,qBAAqBtC,2BAA2BM,kBAAkBzB,KAAK,EAAEyB,kBAAkBxB,MAAM;QAEvG,qBACE,KAACT;YACCQ,OAAOyB,kBAAkBzB,KAAK;YAC9BC,QAAQwB,kBAAkBxB,MAAM;YAChCuC,MAAM/C;YACNkB,QAAQA;YACRyC,UAAUA;YACV5C,KAAKqC;YACLa,eAAeH;YACfN,eAAeO;YACfL,eAAeM;;IAGrB;IAEA,MAAME,oBAAoB1B,UAAUjB,MAAM,GAAG;IAE7C,qBACE,KAACpC;QACCgF,WAAU;QACVC,SAASF,oBAAoB,IAAI;QACjCG,gBAAgBH,oBAAoB,SAAS;QAC7CI,YAAW;QACXC,IAAI;YACF,yCAAyC;YACzCC,WAAWhC,UAAUjB,MAAM,GAAG,IAAI,WAAW;QAC/C;kBAECiB,UAAUiC,GAAG,CAAC,CAACzB,QAAQ0B;YACtB,MAAMjD,WAAWR,2BAA2B+B,OAAO9C,KAAK,IAAI,MAAMgB,QAAQqC,YAAYvB,kBAAkBxB,MAAM;YAE9G,qBACE,KAACvB;0BACC,cAAA,KAACc;oBACCQ,OAAOgD;oBACP/C,QAAQwB,kBAAkBxB,MAAM;oBAChCuC,MAAMC;oBACN9B,QAAQA;oBACRyC,UAAUA;oBACV5C,KAAKqC;oBACLa,eAAexC;oBACf+B,eAAeA;oBACfE,eAAeA;;eAVT,CAAC,aAAa,EAAEgB,aAAa;QAc3C;;AAGN;AAEA,OAAO,SAASC,kBAAkB,EAAE3C,iBAAiB,EAAwB;IAC3E,IAAI,CAACA,mBAAmB,OAAO;IAC/B,qBACE,KAAC9C;QACCqF,IAAI;YAAEK,QAAQ;QAAS;QACvBC,SAAQ;QACRtE,OAAOyB,kBAAkBzB,KAAK,GAAGyB,kBAAkBxB,MAAM,GAAGwB,kBAAkBxB,MAAM,GAAGwB,kBAAkBzB,KAAK;QAC9GC,QAAQwB,kBAAkBxB,MAAM;;AAGtC"}
@@ -22,12 +22,11 @@ Object.defineProperty(exports, "GaugeChartBase", {
22
22
  });
23
23
  const _jsxruntime = require("react/jsx-runtime");
24
24
  const _components = require("@perses-dev/components");
25
- const _core = require("@perses-dev/core");
26
- const _core1 = require("echarts/core");
25
+ const _core = require("echarts/core");
27
26
  const _charts = require("echarts/charts");
28
27
  const _components1 = require("echarts/components");
29
28
  const _renderers = require("echarts/renderers");
30
- (0, _core1.use)([
29
+ (0, _core.use)([
31
30
  _charts.GaugeChart,
32
31
  _components1.GridComponent,
33
32
  _components1.TitleComponent,
@@ -146,7 +145,7 @@ function GaugeChartBase(props) {
146
145
  // when the value is `null`, making it difficult to differentiate
147
146
  // `null` from a true `NaN` case.
148
147
  ()=>'null' : (value)=>{
149
- return (0, _core.formatValue)(value, format);
148
+ return (0, _components.formatValue)(value, format);
150
149
  }
151
150
  },
152
151
  data: [
@@ -31,7 +31,7 @@ _export(exports, {
31
31
  const _jsxruntime = require("react/jsx-runtime");
32
32
  const _material = require("@mui/material");
33
33
  const _components = require("@perses-dev/components");
34
- const _core = require("@perses-dev/core");
34
+ const _pluginsystem = require("@perses-dev/plugin-system");
35
35
  const _merge = /*#__PURE__*/ _interop_require_default(require("lodash/merge"));
36
36
  const _react = require("react");
37
37
  const _gaugechartmodel = require("./gauge-chart-model");
@@ -65,7 +65,7 @@ const PANEL_PADDING_OFFSET = 20;
65
65
  */ function getResponsiveValueFontSize(value, format, width, height) {
66
66
  const MIN_SIZE = 8;
67
67
  const MAX_SIZE = 64;
68
- const formattedValue = typeof value === 'number' ? (0, _core.formatValue)(value, format) : `${value}`;
68
+ const formattedValue = typeof value === 'number' ? (0, _components.formatValue)(value, format) : `${value}`;
69
69
  const valueTextLength = Math.max(formattedValue.length, 6); // Ensure a minimum length to avoid overly large text for short values
70
70
  const availableSpace = Math.min(width, height);
71
71
  const fontSize = availableSpace / valueTextLength;
@@ -95,10 +95,10 @@ function GaugeChartPanel(props) {
95
95
  const thresholds = pluginSpec.thresholds ?? _thresholds.defaultThresholdInput;
96
96
  const gaugeData = (0, _react.useMemo)(()=>{
97
97
  const seriesData = [];
98
- if (!_core.CalculationsMap[calculation]) {
99
- console.warn(`Invalid GaugeChart panel calculation ${calculation}, fallback to ${_core.DEFAULT_CALCULATION}`);
98
+ if (!_pluginsystem.CalculationsMap[calculation]) {
99
+ console.warn(`Invalid GaugeChart panel calculation ${calculation}, fallback to ${_pluginsystem.DEFAULT_CALCULATION}`);
100
100
  }
101
- const calculate = _core.CalculationsMap[calculation] ?? _core.CalculationsMap[_core.DEFAULT_CALCULATION];
101
+ const calculate = _pluginsystem.CalculationsMap[calculation] ?? _pluginsystem.CalculationsMap[_pluginsystem.DEFAULT_CALCULATION];
102
102
  for (const result of queryResults){
103
103
  for (const timeSeries of result.data.series){
104
104
  seriesData.push({
@@ -1,5 +1,6 @@
1
- import { CalculationType, Definition, ThresholdOptions, FormatOptions } from '@perses-dev/core';
2
- import { OptionsEditorProps } from '@perses-dev/plugin-system';
1
+ import { FormatOptions, ThresholdOptions } from '@perses-dev/components';
2
+ import { CalculationType, OptionsEditorProps } from '@perses-dev/plugin-system';
3
+ import { Definition } from '@perses-dev/spec';
3
4
  export declare const DEFAULT_FORMAT: FormatOptions;
4
5
  export declare const DEFAULT_MAX_PERCENT = 100;
5
6
  export declare const DEFAULT_MAX_PERCENT_DECIMAL = 1;