@next-bricks/data-view 1.7.0 → 1.8.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 (46) hide show
  1. package/dist/bricks.json +9 -9
  2. package/dist/chunks/3035.c14dd436.js +2 -0
  3. package/dist/chunks/3035.c14dd436.js.map +1 -0
  4. package/dist/chunks/{6565.de76a169.js → 5214.6fb670ee.js} +2 -2
  5. package/dist/chunks/5214.6fb670ee.js.map +1 -0
  6. package/dist/chunks/bubbles-indicator.9c56af44.js +2 -0
  7. package/dist/chunks/bubbles-indicator.9c56af44.js.map +1 -0
  8. package/dist/chunks/china-map-chart.d1e8b843.js +2 -0
  9. package/dist/chunks/china-map-chart.d1e8b843.js.map +1 -0
  10. package/dist/chunks/crystal-ball-indicator.67278de8.js +2 -0
  11. package/dist/chunks/crystal-ball-indicator.67278de8.js.map +1 -0
  12. package/dist/chunks/globe-with-gear-indicator.a35ef0d2.js +2 -0
  13. package/dist/chunks/globe-with-gear-indicator.a35ef0d2.js.map +1 -0
  14. package/dist/chunks/{globe-with-halo-indicator.0762631d.js → globe-with-halo-indicator.ed913008.js} +2 -2
  15. package/dist/chunks/globe-with-halo-indicator.ed913008.js.map +1 -0
  16. package/dist/chunks/globe-with-orbit-indicator.14c59388.js +2 -0
  17. package/dist/chunks/globe-with-orbit-indicator.14c59388.js.map +1 -0
  18. package/dist/chunks/{main.a5af19c9.js → main.f2f04361.js} +2 -2
  19. package/dist/chunks/{main.a5af19c9.js.map → main.f2f04361.js.map} +1 -1
  20. package/dist/examples.json +18 -18
  21. package/dist/images/eae6fa62.png +0 -0
  22. package/dist/index.1906baf6.js +2 -0
  23. package/dist/index.1906baf6.js.map +1 -0
  24. package/dist/manifest.json +219 -214
  25. package/dist/types.json +291 -284
  26. package/dist-types/china-map-chart/index.d.ts +9 -1
  27. package/dist-types/shared/useContainerScale.d.ts +2 -1
  28. package/docs/china-map-chart.md +31 -2
  29. package/package.json +2 -2
  30. package/dist/chunks/2938.1d24bf3a.js +0 -2
  31. package/dist/chunks/2938.1d24bf3a.js.map +0 -1
  32. package/dist/chunks/6565.de76a169.js.map +0 -1
  33. package/dist/chunks/bubbles-indicator.56727686.js +0 -2
  34. package/dist/chunks/bubbles-indicator.56727686.js.map +0 -1
  35. package/dist/chunks/china-map-chart.eb43bf10.js +0 -2
  36. package/dist/chunks/china-map-chart.eb43bf10.js.map +0 -1
  37. package/dist/chunks/crystal-ball-indicator.7d4537b8.js +0 -2
  38. package/dist/chunks/crystal-ball-indicator.7d4537b8.js.map +0 -1
  39. package/dist/chunks/globe-with-gear-indicator.e8196cc6.js +0 -2
  40. package/dist/chunks/globe-with-gear-indicator.e8196cc6.js.map +0 -1
  41. package/dist/chunks/globe-with-halo-indicator.0762631d.js.map +0 -1
  42. package/dist/chunks/globe-with-orbit-indicator.36fcd0e1.js +0 -2
  43. package/dist/chunks/globe-with-orbit-indicator.36fcd0e1.js.map +0 -1
  44. package/dist/images/698229b4.png +0 -0
  45. package/dist/index.477c735f.js +0 -2
  46. package/dist/index.477c735f.js.map +0 -1
@@ -1,2 +0,0 @@
1
- "use strict";(globalThis.webpackChunk_next_bricks_data_view=globalThis.webpackChunk_next_bricks_data_view||[]).push([[1104],{98594:(e,t,n)=>{n.r(t),n.d(t,{BubblesIndicator:()=>Z,BubblesIndicatorComponent:()=>K});var a,r=n(70918),i=n(86121),o=n(70829),l=n(62740),s=n(18769),c=n.n(s),u=n(67391),p=n(11945),m=n(99418),b=n(85292),h=n(57931),d=n(43854),g=n(10300),x=n(24295),f=(n(44291),n(82650)),v=n(57384),A=n(47906),y=n(11752),w=(n(95178),n(29837),n(35331)),S=n(92481);let k,E,N,D,M,R,T,z,L;const $=900,F=700,_=196,B=81,U=40,I=12,P=10,W=22,C=18,{defineElement:V,property:H}=(0,g.createDecorators)();let Z;var j=new WeakMap,q=new WeakMap,G=new WeakMap,Q=new WeakMap;class J extends x.ReactNextElement{constructor(){super(...arguments),(0,r.A)(this,j,E(this)),(0,r.A)(this,q,(N(this),D(this))),(0,r.A)(this,G,(M(this),R(this))),(0,r.A)(this,Q,(T(this),z(this))),L(this)}get dataSource(){return(0,o.A)(j,this)}set dataSource(e){(0,i.A)(j,this,e)}get centerDataSource(){return(0,o.A)(q,this)}set centerDataSource(e){(0,i.A)(q,this,e)}get cornerDataSource(){return(0,o.A)(G,this)}set cornerDataSource(e){(0,i.A)(G,this,e)}get maxScale(){return(0,o.A)(Q,this)}set maxScale(e){(0,i.A)(Q,this,e)}render(){return c().createElement(K,{root:this,dataSource:this.dataSource,centerDataSource:this.centerDataSource,cornerDataSource:this.cornerDataSource,maxScale:this.maxScale})}}function K(e){let{root:t,dataSource:n,centerDataSource:a,cornerDataSource:r,maxScale:i}=e;const o=(0,A.D)({width:$,height:F,root:t,maxScale:i}),[l,g]=(0,y.L)(280),x=(0,s.useMemo)((()=>{var e,t;const r=null!==(e=null==n||null===(t=n.slice(0,12))||void 0===t?void 0:t.map((e=>{var t;return{...e,positiveNumberValue:Math.abs(null!==(t=e.numberValue)&&void 0!==t?t:"number"==typeof e.value?e.value:parseFloat(e.value))}})))&&void 0!==e?e:[],i=r.map((e=>e.positiveNumberValue)),o=Math.max(...i),l=[a,...r].map(((e,t)=>0===t?{r:_,fx:0,fy:0}:{r:Math.max(U,Math.min(B,Math.sqrt(e.positiveNumberValue/o)*B))})),s=C-l.length,c=Array.from({length:s},((e,t)=>({isRandom:!0,r:P+t*(W-P)/s})));l.push(...c);const g=(0,u.A)(l).alphaTarget(.3).velocityDecay(.1).force("x",(0,p.A)().strength(.01)).force("y",(0,m.A)().strength(.02)).force("center",(0,b.A)(0,0).strength(.5)).force("collide",(0,h.A)().radius((e=>e.r+I)).iterations(3)).force("charge",(0,d.A)().strength(-84));return g.stop(),function(e){e.tick(Math.ceil(Math.log(e.alphaMin())/Math.log(1-e.alphaDecay())))}(g),l.slice(1).map(((e,t)=>({...e.isRandom?{isRandom:!0,label:"",value:""}:n[t],x:e.x,y:e.y,r:e.r})))}),[a,n]);return c().createElement(c().Fragment,null,c().createElement("div",{className:"bubbles-container",style:{visibility:null===o?"hidden":"visible","--scale":o}},c().createElement("div",{className:"bg"}),c().createElement("div",{className:"outer-ring"}),c().createElement("div",{className:"inner-ring"}),c().createElement("div",{className:"center"},c().createElement("div",{className:"center-label"},null==a?void 0:a.label),c().createElement("div",{className:"center-value",ref:g,style:{visibility:null===l?"hidden":"visible",transform:`scale(${null!=l?l:1})`}},(0,f.F)(null==a?void 0:a.value))),c().createElement("div",{className:"light"}),c().createElement("div",{className:"bubbles"},null==x?void 0:x.map(((e,t)=>c().createElement("div",{key:t,className:"bubble",style:{transform:`translate(${e.x}px, ${e.y}px)`,width:2*e.r,height:2*e.r,zIndex:e.isRandom?-1:0}},!e.isRandom&&c().createElement(c().Fragment,null,c().createElement("div",{className:"bubble-label"},e.label),c().createElement("div",{className:"bubble-value"},(0,f.F)(e.value)))))))),c().createElement(v.x,{cornerDataSource:r}))}a=J,({e:[E,N,D,M,R,T,z,L],c:[Z,k]}=(0,l.A)(a,[V("data-view.bubbles-indicator",{styleTexts:[w.A,S.A]})],[[H({attribute:!1}),1,"dataSource"],[H({attribute:!1}),1,"centerDataSource"],[H({attribute:!1}),1,"cornerDataSource"],[H({type:Number}),1,"maxScale"]],0,void 0,x.ReactNextElement)),k()},57384:(e,t,n)=>{n.d(t,{x:()=>s});var a=n(18769),r=n.n(a),i=n(24295),o=n(82650);const l=(0,i.wrapBrick)("eo-tag");function s(e){let{cornerDataSource:t}=e;return r().createElement("div",{className:"corner"},null==t?void 0:t.map(((e,t)=>r().createElement("div",{key:t,className:"corner-item"},r().createElement("div",{className:"corner-label"},e.label),r().createElement(l,{className:"corner-value",outline:!0,color:e.color,tagStyle:{fontSize:18,padding:"2px 16px"}},(0,o.F)(e.value))))))}},82650:(e,t,n)=>{n.d(t,{F:()=>r});const a=new Intl.NumberFormat("zh-CN",{useGrouping:!0});function r(e){return function(e){return"number"==typeof e?e-e==0:"string"==typeof e&&""!==e.trim()&&(null!==(t=Number.isFinite)&&void 0!==t?t:isFinite)(+e);var t}(e)?a.format(+e):e}},11752:(e,t,n)=>{n.d(t,{L:()=>i});var a=n(18769),r=n(99126);function i(e){const[t,n]=(0,a.useState)(null),i=(0,a.useRef)(null);return(0,a.useEffect)((()=>{const t=i.current;if(!t)return;const a=new r.A((()=>{const a=t.clientWidth;n(Math.min(1,Math.max(.3,e/a)))}));return a.observe(t),()=>a.disconnect()}),[e]),[t,i]}},47906:(e,t,n)=>{n.d(t,{D:()=>i});var a=n(18769),r=n(99126);function i(e){let{width:t,height:n,root:i,maxScale:o}=e;const[l,s]=(0,a.useState)(null);return(0,a.useEffect)((()=>{const e=new r.A((e=>{for(const a of e)if(a.target===i){const{width:e,height:r}=a.contentRect;s(Math.min(null!=o?o:1,e/t,r/n))}}));return e.observe(i),()=>e.disconnect()}),[n,t,o,i]),l}},97136:(e,t,n)=>{n.d(t,{A:()=>m});var a=n(36758),r=n.n(a),i=n(40935),o=n.n(i),l=n(20062),s=n.n(l),c=new URL(n(17577),n.b),u=o()(r()),p=s()(c);u.push([e.id,`@font-face{font-family:ALiBaBaPuHuiTi;src:url(${p})}`,""]);const m=u},59291:(e,t,n)=>{n.d(t,{A:()=>m});var a=n(36758),r=n.n(a),i=n(40935),o=n.n(i),l=n(20062),s=n.n(l),c=new URL(n(59552),n.b),u=o()(r()),p=s()(c);u.push([e.id,`@font-face{font-family:PangMenZhengDaoBiaoTiTi;src:url(${p})}`,""]);const m=u},35331:(e,t,n)=>{n.d(t,{A:()=>w});var a=n(36758),r=n.n(a),i=n(40935),o=n.n(i),l=n(20062),s=n.n(l),c=new URL(n(12356),n.b),u=new URL(n(22921),n.b),p=new URL(n(71570),n.b),m=new URL(n(64827),n.b),b=new URL(n(20681),n.b),h=new URL(n(84796),n.b),d=o()(r()),g=s()(c),x=s()(u),f=s()(p),v=s()(m),A=s()(b),y=s()(h);d.push([e.id,`:host,\n.center,\n.bubble{display:flex;align-items:center;justify-content:center}:host{position:relative;color:#fff;height:100%}:host([hidden]){display:none}*{box-sizing:border-box}.bubbles-container{width:800px;height:640px;position:relative;transform:scale(var(--scale));--scale:1}.bg,\n.outer-ring,\n.inner-ring,\n.center,\n.light,\n.bubbles,\n.bubble{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.bg,\n.outer-ring,\n.inner-ring,\n.center{background-repeat:no-repeat;background-position:center;background-size:100%}.bg{width:572px;height:572px;background-image:url(${g})}.outer-ring{width:529px;height:529px;background-image:url(${x});animation:rotating-outer-ring 2s ease-in infinite}.inner-ring{width:487px;height:487px;background-image:url(${f});animation:rotating-inner-ring 2s ease-in infinite}.center{flex-direction:column;width:292px;height:292px;background-image:url(${v});text-shadow:0px 2px 4px rgba(0,0,0,0.5)}.light{width:292px;height:292px;border-radius:292px;background:url(${A}) no-repeat;background-size:338px 478px;animation:moving-light 3s linear infinite;pointer-events:none}.bubbles{width:0;height:0}.bubble{flex-direction:column;border-radius:9999px;background-image:url(${y});background-size:100%}.bubble-label{font-size:16px;font-weight:500;line-height:22px;color:#c8e2ff}.bubble-value{font-family:ALiBaBaPuHuiTi;font-size:24px;line-height:33px;text-shadow:0px 4px 7px #514af7}.center-label{font-size:24px;line-height:33px;font-weight:600;margin-top:13px;text-shadow:0px 2px 4px rgba(0,0,0,0.5)}.center-value{font-family:PangMenZhengDaoBiaoTiTi;font-size:64px;line-height:73px}.corner{position:absolute;top:13px;left:31px;font-size:18px}.corner-item{display:flex;margin-bottom:15px}.corner-label{font-weight:500;line-height:25px}.corner-value{display:block;margin-left:19px}@keyframes rotating-outer-ring{0%{transform:translate(-50%,-50%) rotate(0deg)}100%{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes rotating-inner-ring{0%{transform:translate(-50%,-50%) rotate(360deg)}100%{transform:translate(-50%,-50%) rotate(0deg)}}@keyframes moving-light{0%,\n 73.3333%{background-position:-122px -332px}100%{background-position:100px 100px}}`,""]);const w=d.toString()},92481:(e,t,n)=>{n.d(t,{A:()=>l});var a=n(36758),r=n.n(a),i=n(40935),o=n.n(i)()(r());o.push([e.id,".corner{position:absolute;top:13px;left:31px;font-size:18px}.corner-item{display:flex;margin-bottom:15px}.corner-label{font-weight:500;line-height:25px;color:rgba(255,255,255,0.85)}.corner-value{display:block;margin-left:19px}",""]);const l=o.toString()},20062:e=>{e.exports=function(e,t){return t||(t={}),e?(e=String(e.__esModule?e.default:e),/^['"].*['"]$/.test(e)&&(e=e.slice(1,-1)),t.hash&&(e+=t.hash),/["'() \t\n]|(%20)/.test(e)||t.needQuotes?'"'.concat(e.replace(/"/g,'\\"').replace(/\n/g,"\\n"),'"'):e):e}},95178:(e,t,n)=>{var a=n(72591),r=n.n(a),i=n(1740),o=n.n(i),l=n(88128),s=n.n(l),c=n(30855),u=n.n(c),p=n(93051),m=n.n(p),b=n(73656),h=n.n(b),d=n(97136),g={};g.styleTagTransform=h(),g.setAttributes=u(),g.insert=s().bind(null,"head"),g.domAPI=o(),g.insertStyleElement=m(),r()(d.A,g),d.A&&d.A.locals&&d.A.locals},29837:(e,t,n)=>{var a=n(72591),r=n.n(a),i=n(1740),o=n.n(i),l=n(88128),s=n.n(l),c=n(30855),u=n.n(c),p=n(93051),m=n.n(p),b=n(73656),h=n.n(b),d=n(59291),g={};g.styleTagTransform=h(),g.setAttributes=u(),g.insert=s().bind(null,"head"),g.domAPI=o(),g.insertStyleElement=m(),r()(d.A,g),d.A&&d.A.locals&&d.A.locals},12356:(e,t,n)=>{e.exports=n.p+"images/b91eed9d.png"},64827:(e,t,n)=>{e.exports=n.p+"images/45a4740b.png"},71570:(e,t,n)=>{e.exports=n.p+"images/86a2105c.png"},20681:(e,t,n)=>{e.exports=n.p+"images/81f40f95.png"},84796:(e,t,n)=>{e.exports=n.p+"images/15af7907.png"},22921:(e,t,n)=>{e.exports=n.p+"images/a457f803.png"},17577:(e,t,n)=>{e.exports=n.p+"media/792b07b2.ttf"},59552:(e,t,n)=>{e.exports=n.p+"media/78c4b1bd.ttf"}}]);
2
- //# sourceMappingURL=bubbles-indicator.56727686.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chunks/bubbles-indicator.56727686.js","mappings":"yeAwBA,MAAMA,EAAa,IACbC,EAAc,IACdC,EAAuB,IACvBC,EAA0B,GAC1BC,EAA0B,GAC1BC,EAAiB,GACjBC,EAA2B,GAC3BC,EAA2B,GAC3BC,EAAqB,IAErB,cAAEC,EAAa,SAAEC,IAAaC,EAAAA,EAAAA,oBAAmB,IAAAC,EAAA,IAAAC,EAAA,IAAAC,QAAAC,EAAA,IAAAD,QAAAE,EAAA,IAAAF,QAAAG,EAAA,IAAAH,QA0CvD,MAAAI,UAIUC,EAAAA,iBAEVC,WAAAA,GAAA,SAAAC,YACEC,EAAAA,EAAAA,GAAA,KAAAT,EAAAU,EAAA,QAOAD,EAAAA,EAAAA,GAAA,KAAAP,GAAAS,EAAA,MAAAC,EAAA,SAIAH,EAAAA,EAAAA,GAAA,KAAAN,GAAAU,EAAA,MAAAC,EAAA,SAMAL,EAAAA,EAAAA,GAAA,KAAAL,GAAAW,EAAA,MAAAC,EAAA,QAAAC,EAAA,oBAZSC,GAAU,OAAAC,EAAAA,EAAAA,GAAAnB,EAAA,oBAAVkB,CAAUE,IAAAC,EAAAA,EAAAA,GAAArB,EAAA,KAAAoB,EAAA,qBAIVE,GAAgB,OAAAH,EAAAA,EAAAA,GAAAjB,EAAA,0BAAhBoB,CAAgBF,IAAAC,EAAAA,EAAAA,GAAAnB,EAAA,KAAAkB,EAAA,qBAMhBG,GAAgB,OAAAJ,EAAAA,EAAAA,GAAAhB,EAAA,0BAAhBoB,CAAgBH,IAAAC,EAAAA,EAAAA,GAAAlB,EAAA,KAAAiB,EAAA,aAQhBI,GAAQ,OAAAL,EAAAA,EAAAA,GAAAf,EAAA,kBAARoB,CAAQJ,IAAAC,EAAAA,EAAAA,GAAAjB,EAAA,KAAAgB,EAAA,CAEjBK,MAAAA,GACE,OACEC,IAAAA,cAACC,EAAyB,CACxBC,KAAMC,KACNX,WAAYW,KAAKX,WACjBI,iBAAkBO,KAAKP,iBACvBC,iBAAkBM,KAAKN,iBACvBC,SAAUK,KAAKL,UAGrB,EAOK,SAASG,EAAyBG,GAMN,IANO,KACxCF,EAAI,WACJV,EAAU,iBACVI,EAAgB,iBAChBC,EAAgB,SAChBC,GAC+BM,EAC/B,MAAMC,GAAQC,EAAAA,EAAAA,GAAkB,CAC9BC,MAAO9C,EACP+C,OAAQ9C,EACRwC,OACAJ,cAEKW,EAAkBC,IAAkBC,EAAAA,EAAAA,GAAe,KAGpDC,GAASC,EAAAA,EAAAA,UAAQ,KAAM,IAAAC,EAAAC,EAC3B,MAAMC,EASD,QATuCF,EAC1CtB,SAAwB,QAAduB,EAAVvB,EAAYyB,MAAM,EAAG,WAAG,IAAAF,OAAA,EAAxBA,EAA0BG,KAAKC,IAAI,IAAAC,EAAA,MAAM,IACpCD,EACHE,oBAAqBC,KAAKC,IACR,QADWH,EAC3BD,EAAKK,mBAAW,IAAAJ,EAAAA,EACS,iBAAfD,EAAKM,MACTN,EAAKM,MACLC,WAAWP,EAAKM,QAEzB,WAAE,IAAAX,EAAAA,EAAI,GACHa,EAAuBX,EAAmBE,KAC7CC,GAASA,EAAKE,sBAEXO,EAAyBN,KAAKO,OAAOF,GAErCG,EAAQ,CAAClC,KAAqBoB,GAAoBE,KACtD,CAACC,EAAMY,IACK,IAAVA,EACI,CACEC,EAAGrE,EACHsE,GAAI,EACJC,GAAI,GAEN,CACEF,EAAGV,KAAKO,IACNhE,EACAyD,KAAKa,IACHvE,EACA0D,KAAKc,KACFjB,EAA0BE,oBACzBO,GACAhE,OAOZyE,EAAcpE,EAAqB6D,EAAMQ,OACzCC,EAAcC,MAAMC,KACxB,CAAEH,OAAQD,IACV,CAACK,EAAIC,KAAM,CACTC,UAAU,EACVZ,EACEjE,EACC4E,GAAK3E,EAA2BD,GAC/BsE,MAIRP,EAAMe,QAAQN,GAEd,MAAMO,GAAaC,EAAAA,EAAAA,GAAgBjB,GAChCkB,YAAY,IACZC,cAAc,IACdC,MAAM,KAAKC,EAAAA,EAAAA,KAASC,SAAS,MAC7BF,MAAM,KAAKG,EAAAA,EAAAA,KAASD,SAAS,MAC7BF,MAAM,UAAUI,EAAAA,EAAAA,GAAY,EAAG,GAAGF,SAAS,KAC3CF,MACC,WACAK,EAAAA,EAAAA,KACGC,QAAQC,GAAMA,EAAEzB,EAAIlE,IACpB4F,WAAW,IAEfR,MACC,UACAS,EAAAA,EAAAA,KAEGP,UAAU,KAMjB,OAHAN,EAAWc,OAuEf,SACEd,GAGAA,EAAWe,KACTvC,KAAKwC,KACHxC,KAAKyC,IAAIjB,EAAWkB,YAAc1C,KAAKyC,IAAI,EAAIjB,EAAWmB,eAGhE,CA/EIC,CAAqBpB,GAEdhB,EAAMb,MAAM,GAAGC,KAA0B,CAACiD,EAAMpC,KAAU,IAC3DoC,EAAKvB,SACL,CAAEA,UAAU,EAAMwB,MAAO,GAAI3C,MAAO,IACpCjC,EAAWuC,GACfsC,EAAGF,EAAKE,EACRC,EAAGH,EAAKG,EACRtC,EAAGmC,EAAKnC,KACP,GACF,CAACpC,EAAkBJ,IAEtB,OACEQ,IAAAA,cAAAA,IAAAA,SAAA,KACEA,IAAAA,cAAA,OACEuE,UAAU,oBACVC,MACE,CACEC,WAAsB,OAAVpE,EAAiB,SAAW,UACxC,UAAWA,IAMfL,IAAAA,cAAA,OAAKuE,UAAU,OACfvE,IAAAA,cAAA,OAAKuE,UAAU,eACfvE,IAAAA,cAAA,OAAKuE,UAAU,eACfvE,IAAAA,cAAA,OAAKuE,UAAU,UACbvE,IAAAA,cAAA,OAAKuE,UAAU,gBAAgB3E,aAAgB,EAAhBA,EAAkBwE,OACjDpE,IAAAA,cAAA,OACEuE,UAAU,eACVG,IAAKhE,EACL8D,MAAO,CACLC,WAAiC,OAArBhE,EAA4B,SAAW,UACnDkE,UAAW,SAASlE,QAAAA,EAAoB,QAGzCmE,EAAAA,EAAAA,GAAYhF,aAAgB,EAAhBA,EAAkB6B,SAGnCzB,IAAAA,cAAA,OAAKuE,UAAU,UACfvE,IAAAA,cAAA,OAAKuE,UAAU,WACZ3D,aAAM,EAANA,EAAQM,KAAI,CAACC,EAAMY,IAClB/B,IAAAA,cAAA,OACE6E,IAAK9C,EACLwC,UAAU,SACVC,MAAO,CACLG,UAAW,aAAaxD,EAAKkD,QAAQlD,EAAKmD,OAC1C/D,MAAgB,EAATY,EAAKa,EACZxB,OAAiB,EAATW,EAAKa,EAEb8C,OAAQ3D,EAAKyB,UAAY,EAAI,KAG7BzB,EAAKyB,UACL5C,IAAAA,cAAAA,IAAAA,SAAA,KACEA,IAAAA,cAAA,OAAKuE,UAAU,gBAAgBpD,EAAKiD,OACpCpE,IAAAA,cAAA,OAAKuE,UAAU,iBAAgBK,EAAAA,EAAAA,GAAYzD,EAAKM,cAO5DzB,IAAAA,cAAC+E,EAAAA,EAAe,CAAClF,iBAAkBA,IAGzC,CAnKCmF,EAAArG,IAAAsG,GAAAjG,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,GAAA2F,GAAA7G,EAAA8G,KAAAC,EAAAA,EAAAA,GAAAJ,EAAA,CA3CA9G,EAAc,8BAA+B,CAC5CmH,WAAY,CAACC,EAAAA,EAAWC,EAAAA,MACxB,EASCpH,EAAS,CAAEqH,WAAW,IAAQ,iBAI9BrH,EAAS,CAAEqH,WAAW,IAAQ,uBAM9BrH,EAAS,CAAEqH,WAAW,IAAQ,uBAQ9BrH,EAAS,CAAEsH,KAAMC,SAAS,wBAzBnB9G,EAAAA,mBAAgBuG,G,iFC3E1B,MAAMQ,GAAaC,EAAAA,EAAAA,WAAyB,UAYrC,SAASb,EAAe3E,GAA6C,IAA5C,iBAAEP,GAAwCO,EACxE,OACEJ,IAAAA,cAAA,OAAKuE,UAAU,UACZ1E,aAAgB,EAAhBA,EAAkBqB,KAAI,CAACC,EAAMY,IAC5B/B,IAAAA,cAAA,OAAK6E,IAAK9C,EAAOwC,UAAU,eACzBvE,IAAAA,cAAA,OAAKuE,UAAU,gBAAgBpD,EAAKiD,OACpCpE,IAAAA,cAAC2F,EAAU,CACTpB,UAAU,eACVsB,SAAO,EACPC,MAAO3E,EAAK2E,MACZC,SAAU,CACRC,SAAU,GACVC,QAAS,cAGVrB,EAAAA,EAAAA,GAAYzD,EAAKM,WAM9B,C,mCCtCA,MAAMyE,EAAkB,IAAIC,KAAKC,aAAa,QAAS,CACrDC,aAAa,IAGR,SAASzB,EAAYnD,GAC1B,OAUK,SAA4BA,GACjC,MAAqB,iBAAVA,EACFA,EAAQA,GAAU,EAEN,iBAAVA,GAAuC,KAAjBA,EAAM6E,SACa,QAAhBC,EAACb,OAAOc,gBAAQ,IAAAD,EAAAA,EAAIC,WAAW/E,GADb,IAAA8E,CAIxD,CAlBSE,CAAmBhF,GAASyE,EAAgBQ,QAAQjF,GAASA,CACtE,C,6DCAO,SAASd,EAAegG,GAC7B,MAAOC,EAAaC,IAAkBC,EAAAA,EAAAA,UAAwB,MACxDC,GAAYC,EAAAA,EAAAA,QAAuB,MAezC,OAbAC,EAAAA,EAAAA,YAAU,KACR,MAAMC,EAAqBH,EAAUI,QACrC,IAAKD,EACH,OAEF,MAAME,EAAW,IAAIC,EAAAA,GAAe,KAClC,MAAM9G,EAAQ2G,EAAmBI,YACjCT,EAAevF,KAAKa,IAAI,EAAGb,KAAKO,IAAI,GAAK8E,EAAWpG,IAAQ,IAG9D,OADA6G,EAASG,QAAQL,GACV,IAAME,EAASI,YAAY,GACjC,CAACb,IAEG,CAACC,EAAaG,EACvB,C,6DClBO,SAASzG,EAAiBF,GAWf,IAVhBG,MAAOkH,EACPjH,OAAQkH,EAAU,KAClBxH,EAAI,SACJJ,GAODM,EACC,MAAOC,EAAOsH,IAAYb,EAAAA,EAAAA,UAAwB,MAkBlD,OAhBAG,EAAAA,EAAAA,YAAU,KAER,MAAMG,EAAW,IAAIC,EAAAA,GAAgBO,IACnC,IAAK,MAAMC,KAASD,EAClB,GAAIC,EAAMC,SAAW5H,EAAM,CACzB,MAAM,MAAEK,EAAK,OAAEC,GAAWqH,EAAME,YAChCJ,EACErG,KAAKa,IAAIrC,QAAAA,EAAY,EAAGS,EAAQkH,EAAWjH,EAASkH,GAExD,CACF,IAGF,OADAN,EAASG,QAAQrH,GACV,IAAMkH,EAASI,YAAY,GACjC,CAACE,EAAYD,EAAW3H,EAAUI,IAE9BG,CACT,C,mGCjCI2H,EAAgC,IAAIC,IAAI,cACxCC,EAA0B,IAA4B,KACtDC,EAAqC,IAAgCH,GAEzEE,EAAwBrF,KAAK,CAACuF,EAAOC,GAAI,iDAAiDF,MAAwC,KAElI,S,mGCNIH,EAAgC,IAAIC,IAAI,cACxCC,EAA0B,IAA4B,KACtDC,EAAqC,IAAgCH,GAEzEE,EAAwBrF,KAAK,CAACuF,EAAOC,GAAI,0DAA0DF,MAAwC,KAE3I,S,mGCNIH,EAAgC,IAAIC,IAAI,cACxCK,EAAgC,IAAIL,IAAI,cACxCM,EAAgC,IAAIN,IAAI,cACxCO,EAAgC,IAAIP,IAAI,cACxCQ,EAAgC,IAAIR,IAAI,cACxCS,EAAgC,IAAIT,IAAI,cACxCC,EAA0B,IAA4B,KACtDC,EAAqC,IAAgCH,GACrEW,EAAqC,IAAgCL,GACrEM,EAAqC,IAAgCL,GACrEM,EAAqC,IAAgCL,GACrEM,EAAqC,IAAgCL,GACrEM,EAAqC,IAAgCL,GAEzER,EAAwBrF,KAAK,CAACuF,EAAOC,GAAI,glBAW+FF,gEAAiGQ,kHAAmJC,oIAAqKC,iHAAkJC,4MAA6OC,i9BAC10B,KAEtF,QAAeb,EAAwBc,U,sEC7BnCd,E,MAA0B,GAA4B,KAE1DA,EAAwBrF,KAAK,CAACuF,EAAOC,GAAI,qOAAsO,KAE/Q,QAAeH,EAAwBc,U,YCLvCZ,EAAOa,QAAU,SAAUC,EAAKC,GAI9B,OAHKA,IACHA,EAAU,CAAC,GAERD,GAGLA,EAAME,OAAOF,EAAIG,WAAaH,EAAII,QAAUJ,GAGxC,eAAeK,KAAKL,KACtBA,EAAMA,EAAIjI,MAAM,GAAI,IAElBkI,EAAQK,OACVN,GAAOC,EAAQK,MAKb,oBAAoBD,KAAKL,IAAQC,EAAQM,WACpC,IAAKC,OAAOR,EAAIS,QAAQ,KAAM,OAAOA,QAAQ,MAAO,OAAQ,KAE9DT,GAjBEA,CAkBX,C,wJCdIC,EAAU,CAAC,EAEfA,EAAQS,kBAAoB,IAC5BT,EAAQU,cAAgB,IACxBV,EAAQW,OAAS,SAAc,KAAM,QACrCX,EAAQY,OAAS,IACjBZ,EAAQa,mBAAqB,IAEhB,IAAI,IAASb,GAKJ,KAAW,IAAQc,QAAS,IAAQA,M,wJCbtDd,EAAU,CAAC,EAEfA,EAAQS,kBAAoB,IAC5BT,EAAQU,cAAgB,IACxBV,EAAQW,OAAS,SAAc,KAAM,QACrCX,EAAQY,OAAS,IACjBZ,EAAQa,mBAAqB,IAEhB,IAAI,IAASb,GAKJ,KAAW,IAAQc,QAAS,IAAQA,M","sources":["webpack:///./src/bubbles-indicator/index.tsx","webpack:///./src/shared/CornerIndicator.tsx","webpack:///./src/shared/formatValue.ts","webpack:///./src/shared/useCenterScale.ts","webpack:///./src/shared/useContainerScale.ts","webpack:///./src/fonts/ALiBaBaPuHuiTi.css","webpack:///./src/fonts/PangMenZhengDaoBiaoTiTi.css","webpack:///./src/bubbles-indicator/styles.shadow.css","webpack:///./src/shared/CornerIndicator.shadow.css","webpack:///../../node_modules/css-loader/dist/runtime/getUrl.js","webpack:///./src/fonts/ALiBaBaPuHuiTi.css?7885","webpack:///./src/fonts/PangMenZhengDaoBiaoTiTi.css?e8bb"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport {\n forceSimulation,\n forceCollide,\n forceManyBody,\n forceX,\n forceY,\n forceCenter,\n type Simulation,\n type SimulationNodeDatum,\n type SimulationLinkDatum,\n} from \"d3-force\";\nimport { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport { formatValue } from \"../shared/formatValue\";\nimport { CornerIndicator } from \"../shared/CornerIndicator\";\nimport { useContainerScale } from \"../shared/useContainerScale\";\nimport { useCenterScale } from \"../shared/useCenterScale\";\nimport \"../fonts/ALiBaBaPuHuiTi.css\";\nimport \"../fonts/PangMenZhengDaoBiaoTiTi.css\";\nimport styleText from \"./styles.shadow.css\";\nimport cornerStyleText from \"../shared/CornerIndicator.shadow.css\";\n\nconst BASE_WIDTH = 900;\nconst BASE_HEIGHT = 700;\nconst CENTER_BUBBLE_RADIUS = 196;\nconst OTHER_BUBBLE_MAX_RADIUS = 81;\nconst OTHER_BUBBLE_MIN_RADIUS = 40;\nconst BUBBLE_PADDING = 12;\nconst RANDOM_BUBBLE_MIN_RADIUS = 10;\nconst RANDOM_BUBBLE_MAX_RADIUS = 22;\nconst TOTAL_BUBBLE_COUNT = 18;\n\nconst { defineElement, property } = createDecorators();\n\nexport interface BubblesIndicatorProps {\n dataSource?: DataItem[];\n centerDataSource?: DataItem;\n cornerDataSource?: CornerDataItem[];\n maxScale?: number;\n}\n\nexport interface DataItem {\n label: string;\n value: string | number;\n /**\n * 用于计算气泡相对大小的数值。\n */\n numberValue?: number;\n}\n\nexport interface CornerDataItem extends DataItem {\n color?: string;\n}\n\ninterface DataItemWithPosition extends DataItem {\n x: number;\n y: number;\n r: number;\n isRandom?: boolean;\n}\n\ninterface ForceNode extends SimulationNodeDatum {\n r: number;\n isRandom?: boolean;\n}\n\ninterface NumberedDataItem extends DataItem {\n positiveNumberValue: number;\n}\n\n/**\n * 气泡样式的数据展示构件。\n */\nexport\n@defineElement(\"data-view.bubbles-indicator\", {\n styleTexts: [styleText, cornerStyleText],\n})\nclass BubblesIndicator\n extends ReactNextElement\n implements BubblesIndicatorProps\n{\n /** 指标数据列表(显示在环上)\n *\n * 注意:最多显示12项数据\n */\n @property({ attribute: false })\n accessor dataSource: DataItem[] | undefined;\n\n /** 中心数据(显示在中心水晶球内) */\n @property({ attribute: false })\n accessor centerDataSource: DataItem | undefined;\n\n /**\n * 左上角指标数据列表\n */\n @property({ attribute: false })\n accessor cornerDataSource: CornerDataItem[] | undefined;\n\n /**\n * 最大缩放比例\n *\n * @default 1\n */\n @property({ type: Number })\n accessor maxScale: number | undefined;\n\n render() {\n return (\n <BubblesIndicatorComponent\n root={this}\n dataSource={this.dataSource}\n centerDataSource={this.centerDataSource}\n cornerDataSource={this.cornerDataSource}\n maxScale={this.maxScale}\n />\n );\n }\n}\n\nexport interface BubblesIndicatorComponentProps extends BubblesIndicatorProps {\n root: BubblesIndicator;\n}\n\nexport function BubblesIndicatorComponent({\n root,\n dataSource,\n centerDataSource,\n cornerDataSource,\n maxScale,\n}: BubblesIndicatorComponentProps) {\n const scale = useContainerScale({\n width: BASE_WIDTH,\n height: BASE_HEIGHT,\n root,\n maxScale,\n });\n const [centerValueScale, centerValueRef] = useCenterScale(280);\n\n // 使用 d3 力学布局计算气泡位置,将普通数据排列在中心数据周围,并填充一些小的气泡\n const labels = useMemo(() => {\n const numberedDataSource: NumberedDataItem[] =\n dataSource?.slice(0, 12)?.map((item) => ({\n ...item,\n positiveNumberValue: Math.abs(\n item.numberValue ??\n (typeof item.value === \"number\"\n ? item.value\n : parseFloat(item.value))\n ),\n })) ?? [];\n const positiveNumberValues = numberedDataSource.map(\n (item) => item.positiveNumberValue\n );\n const maxPositiveNumberValue = Math.max(...positiveNumberValues);\n\n const nodes = [centerDataSource, ...numberedDataSource].map<ForceNode>(\n (item, index) =>\n index === 0\n ? {\n r: CENTER_BUBBLE_RADIUS,\n fx: 0,\n fy: 0,\n }\n : {\n r: Math.max(\n OTHER_BUBBLE_MIN_RADIUS,\n Math.min(\n OTHER_BUBBLE_MAX_RADIUS,\n Math.sqrt(\n (item as NumberedDataItem).positiveNumberValue /\n maxPositiveNumberValue\n ) * OTHER_BUBBLE_MAX_RADIUS\n )\n ),\n }\n );\n\n // 补齐气泡数量,新增的随机气泡大小在指定范围内均匀分布,而不是使用随机数,以便对于同一份数据得到相同的布局结果。\n const randomCount = TOTAL_BUBBLE_COUNT - nodes.length;\n const randomNodes = Array.from<unknown, ForceNode>(\n { length: randomCount },\n (_v, i) => ({\n isRandom: true,\n r:\n RANDOM_BUBBLE_MIN_RADIUS +\n (i * (RANDOM_BUBBLE_MAX_RADIUS - RANDOM_BUBBLE_MIN_RADIUS)) /\n randomCount,\n })\n );\n\n nodes.push(...randomNodes);\n\n const simulation = forceSimulation(nodes)\n .alphaTarget(0.3) // stay hot\n .velocityDecay(0.1) // low friction\n .force(\"x\", forceX().strength(0.01))\n .force(\"y\", forceY().strength(0.02))\n .force(\"center\", forceCenter(0, 0).strength(0.5))\n .force(\n \"collide\",\n forceCollide<ForceNode>()\n .radius((d) => d.r + BUBBLE_PADDING)\n .iterations(3)\n )\n .force(\n \"charge\",\n forceManyBody()\n //.strength((_d, i) => (/* i ? 0 : */ (-BASE_WIDTH * 1) / 3))\n .strength(-84)\n );\n\n simulation.stop();\n manuallyTickToTheEnd(simulation);\n\n return nodes.slice(1).map<DataItemWithPosition>((node, index) => ({\n ...(node.isRandom\n ? { isRandom: true, label: \"\", value: \"\" }\n : dataSource[index]),\n x: node.x!,\n y: node.y!,\n r: node.r,\n }));\n }, [centerDataSource, dataSource]);\n\n return (\n <>\n <div\n className=\"bubbles-container\"\n style={\n {\n visibility: scale === null ? \"hidden\" : \"visible\",\n \"--scale\": scale,\n } as React.CSSProperties & {\n \"--scale\": number;\n }\n }\n >\n <div className=\"bg\"></div>\n <div className=\"outer-ring\"></div>\n <div className=\"inner-ring\"></div>\n <div className=\"center\">\n <div className=\"center-label\">{centerDataSource?.label}</div>\n <div\n className=\"center-value\"\n ref={centerValueRef}\n style={{\n visibility: centerValueScale === null ? \"hidden\" : \"visible\",\n transform: `scale(${centerValueScale ?? 1})`,\n }}\n >\n {formatValue(centerDataSource?.value)}\n </div>\n </div>\n <div className=\"light\"></div>\n <div className=\"bubbles\">\n {labels?.map((item, index) => (\n <div\n key={index}\n className=\"bubble\"\n style={{\n transform: `translate(${item.x}px, ${item.y}px)`,\n width: item.r * 2,\n height: item.r * 2,\n // Put extra random bubbles to the back layer.\n zIndex: item.isRandom ? -1 : 0,\n }}\n >\n {!item.isRandom && (\n <>\n <div className=\"bubble-label\">{item.label}</div>\n <div className=\"bubble-value\">{formatValue(item.value)}</div>\n </>\n )}\n </div>\n ))}\n </div>\n </div>\n <CornerIndicator cornerDataSource={cornerDataSource} />\n </>\n );\n}\n\nfunction manuallyTickToTheEnd(\n simulation: Simulation<ForceNode, SimulationLinkDatum<ForceNode>>\n): void {\n // Manually tick to the end.\n simulation.tick(\n Math.ceil(\n Math.log(simulation.alphaMin()) / Math.log(1 - simulation.alphaDecay())\n )\n );\n}\n","import React from \"react\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport type { Tag, TagProps } from \"@next-bricks/basic/tag\";\nimport { formatValue } from \"./formatValue\";\n\nconst WrappedTag = wrapBrick<Tag, TagProps>(\"eo-tag\");\n\nexport interface CornerDataItem {\n label: string;\n value: string | number;\n color?: string;\n}\n\nexport interface CornerIndicatorProps {\n cornerDataSource?: CornerDataItem[];\n}\n\nexport function CornerIndicator({ cornerDataSource }: CornerIndicatorProps) {\n return (\n <div className=\"corner\">\n {cornerDataSource?.map((item, index) => (\n <div key={index} className=\"corner-item\">\n <div className=\"corner-label\">{item.label}</div>\n <WrappedTag\n className=\"corner-value\"\n outline\n color={item.color}\n tagStyle={{\n fontSize: 18,\n padding: \"2px 16px\",\n }}\n >\n {formatValue(item.value)}\n </WrappedTag>\n </div>\n ))}\n </div>\n );\n}\n","const numberFormatter = new Intl.NumberFormat(\"zh-CN\", {\n useGrouping: true,\n});\n\nexport function formatValue(value: string | number): string {\n return isMeaningfulNumber(value) ? numberFormatter.format(+value) : value;\n}\n\n/**\n * 判断一个值是否是有意义的数字,包括数字和可以转换为数字的字符串。\n *\n * 但不包括 NaN、Infinity、-Infinity 等。\n *\n * Ref https://github.com/jonschlinkert/is-number/blob/master/index.js\n */\nexport function isMeaningfulNumber(value: unknown): value is number | string {\n if (typeof value === \"number\") {\n return value - value === 0;\n }\n if (typeof value === \"string\" && value.trim() !== \"\") {\n return /* istanbul ignore next */ (Number.isFinite ?? isFinite)(+value);\n }\n return false;\n}\n","import { useEffect, useRef, useState } from \"react\";\nimport ResizeObserver from \"resize-observer-polyfill\";\n\n/**\n * 让中心数据值不要超过球体范围,但缩放值最低不小于 0.3\n */\nexport function useCenterScale(maxWidth: number) {\n const [centerScale, setCenterScale] = useState<number | null>(null);\n const centerRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n const centerValueElement = centerRef.current;\n if (!centerValueElement) {\n return;\n }\n const observer = new ResizeObserver(() => {\n const width = centerValueElement.clientWidth;\n setCenterScale(Math.min(1, Math.max(0.3, maxWidth / width)));\n });\n observer.observe(centerValueElement);\n return () => observer.disconnect();\n }, [maxWidth]);\n\n return [centerScale, centerRef] as const;\n}\n","import { useEffect, useState } from \"react\";\nimport ResizeObserver from \"resize-observer-polyfill\";\n\n/**\n * 根据容器尺寸进行缩放\n */\nexport function useContainerScale({\n width: baseWidth,\n height: baseHeight,\n root,\n maxScale,\n}: {\n width: number;\n height: number;\n root: HTMLElement;\n /** 最大缩放比例,默认为 1 */\n maxScale?: number;\n}): number | null {\n const [scale, setScale] = useState<number | null>(null);\n\n useEffect(() => {\n // 当容器宽高低于预设值时,图形会自动缩小\n const observer = new ResizeObserver((entries) => {\n for (const entry of entries) {\n if (entry.target === root) {\n const { width, height } = entry.contentRect;\n setScale(\n Math.min(maxScale ?? 1, width / baseWidth, height / baseHeight)\n );\n }\n }\n });\n observer.observe(root);\n return () => observer.disconnect();\n }, [baseHeight, baseWidth, maxScale, root]);\n\n return scale;\n}\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"./ALiBaBaPuHuiTi.ttf\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `@font-face{font-family:ALiBaBaPuHuiTi;src:url(${___CSS_LOADER_URL_REPLACEMENT_0___})}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"./PangMenZhengDaoBiaoTiTi-3.0.ttf\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `@font-face{font-family:PangMenZhengDaoBiaoTiTi;src:url(${___CSS_LOADER_URL_REPLACEMENT_0___})}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"./assets/bg.png\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_1___ = new URL(\"./assets/outer-ring.png\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_2___ = new URL(\"./assets/inner-ring.png\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_3___ = new URL(\"./assets/center-bubble.png\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_4___ = new URL(\"./assets/light.png\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_5___ = new URL(\"./assets/other-bubble.png\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);\nvar ___CSS_LOADER_URL_REPLACEMENT_2___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_2___);\nvar ___CSS_LOADER_URL_REPLACEMENT_3___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_3___);\nvar ___CSS_LOADER_URL_REPLACEMENT_4___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_4___);\nvar ___CSS_LOADER_URL_REPLACEMENT_5___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_5___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host,\n.center,\n.bubble{display:flex;align-items:center;justify-content:center}:host{position:relative;color:#fff;height:100%}:host([hidden]){display:none}*{box-sizing:border-box}.bubbles-container{width:800px;height:640px;position:relative;transform:scale(var(--scale));--scale:1}.bg,\n.outer-ring,\n.inner-ring,\n.center,\n.light,\n.bubbles,\n.bubble{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.bg,\n.outer-ring,\n.inner-ring,\n.center{background-repeat:no-repeat;background-position:center;background-size:100%}.bg{width:572px;height:572px;background-image:url(${___CSS_LOADER_URL_REPLACEMENT_0___})}.outer-ring{width:529px;height:529px;background-image:url(${___CSS_LOADER_URL_REPLACEMENT_1___});animation:rotating-outer-ring 2s ease-in infinite}.inner-ring{width:487px;height:487px;background-image:url(${___CSS_LOADER_URL_REPLACEMENT_2___});animation:rotating-inner-ring 2s ease-in infinite}.center{flex-direction:column;width:292px;height:292px;background-image:url(${___CSS_LOADER_URL_REPLACEMENT_3___});text-shadow:0px 2px 4px rgba(0,0,0,0.5)}.light{width:292px;height:292px;border-radius:292px;background:url(${___CSS_LOADER_URL_REPLACEMENT_4___}) no-repeat;background-size:338px 478px;animation:moving-light 3s linear infinite;pointer-events:none}.bubbles{width:0;height:0}.bubble{flex-direction:column;border-radius:9999px;background-image:url(${___CSS_LOADER_URL_REPLACEMENT_5___});background-size:100%}.bubble-label{font-size:16px;font-weight:500;line-height:22px;color:#c8e2ff}.bubble-value{font-family:ALiBaBaPuHuiTi;font-size:24px;line-height:33px;text-shadow:0px 4px 7px #514af7}.center-label{font-size:24px;line-height:33px;font-weight:600;margin-top:13px;text-shadow:0px 2px 4px rgba(0,0,0,0.5)}.center-value{font-family:PangMenZhengDaoBiaoTiTi;font-size:64px;line-height:73px}.corner{position:absolute;top:13px;left:31px;font-size:18px}.corner-item{display:flex;margin-bottom:15px}.corner-label{font-weight:500;line-height:25px}.corner-value{display:block;margin-left:19px}@keyframes rotating-outer-ring{0%{transform:translate(-50%,-50%) rotate(0deg)}100%{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes rotating-inner-ring{0%{transform:translate(-50%,-50%) rotate(360deg)}100%{transform:translate(-50%,-50%) rotate(0deg)}}@keyframes moving-light{0%,\n 73.3333%{background-position:-122px -332px}100%{background-position:100px 100px}}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.corner{position:absolute;top:13px;left:31px;font-size:18px}.corner-item{display:flex;margin-bottom:15px}.corner-label{font-weight:500;line-height:25px;color:rgba(255,255,255,0.85)}.corner-value{display:block;margin-left:19px}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","\"use strict\";\n\nmodule.exports = function (url, options) {\n if (!options) {\n options = {};\n }\n if (!url) {\n return url;\n }\n url = String(url.__esModule ? url.default : url);\n\n // If url is already wrapped in quotes, remove them\n if (/^['\"].*['\"]$/.test(url)) {\n url = url.slice(1, -1);\n }\n if (options.hash) {\n url += options.hash;\n }\n\n // Should url be wrapped?\n // See https://drafts.csswg.org/css-values-3/#urls\n if (/[\"'() \\t\\n]|(%20)/.test(url) || options.needQuotes) {\n return \"\\\"\".concat(url.replace(/\"/g, '\\\\\"').replace(/\\n/g, \"\\\\n\"), \"\\\"\");\n }\n return url;\n};","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./ALiBaBaPuHuiTi.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./ALiBaBaPuHuiTi.css\";\n export default content && content.locals ? content.locals : undefined;\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./PangMenZhengDaoBiaoTiTi.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./PangMenZhengDaoBiaoTiTi.css\";\n export default content && content.locals ? content.locals : undefined;\n"],"names":["BASE_WIDTH","BASE_HEIGHT","CENTER_BUBBLE_RADIUS","OTHER_BUBBLE_MAX_RADIUS","OTHER_BUBBLE_MIN_RADIUS","BUBBLE_PADDING","RANDOM_BUBBLE_MIN_RADIUS","RANDOM_BUBBLE_MAX_RADIUS","TOTAL_BUBBLE_COUNT","defineElement","property","createDecorators","_BubblesIndicator","_A","WeakMap","_B","_C","_D","BubblesIndicator","ReactNextElement","constructor","arguments","_classPrivateFieldInitSpec","_init_dataSource","_init_extra_dataSource","_init_centerDataSource","_init_extra_centerDataSource","_init_cornerDataSource","_init_extra_cornerDataSource","_init_maxScale","_init_extra_maxScale","dataSource","_classPrivateFieldGet","v","_classPrivateFieldSet","centerDataSource","cornerDataSource","maxScale","render","React","BubblesIndicatorComponent","root","this","_ref","scale","useContainerScale","width","height","centerValueScale","centerValueRef","useCenterScale","labels","useMemo","_dataSource$slice$map","_dataSource$slice","numberedDataSource","slice","map","item","_item$numberValue","positiveNumberValue","Math","abs","numberValue","value","parseFloat","positiveNumberValues","maxPositiveNumberValue","max","nodes","index","r","fx","fy","min","sqrt","randomCount","length","randomNodes","Array","from","_v","i","isRandom","push","simulation","forceSimulation","alphaTarget","velocityDecay","force","forceX","strength","forceY","forceCenter","forceCollide","radius","d","iterations","forceManyBody","stop","tick","ceil","log","alphaMin","alphaDecay","manuallyTickToTheEnd","node","label","x","y","className","style","visibility","ref","transform","formatValue","key","zIndex","CornerIndicator","_BubblesIndicator2","e","c","_initClass","_applyDecs","styleTexts","styleText","cornerStyleText","attribute","type","Number","WrappedTag","wrapBrick","outline","color","tagStyle","fontSize","padding","numberFormatter","Intl","NumberFormat","useGrouping","trim","_Number$isFinite","isFinite","isMeaningfulNumber","format","maxWidth","centerScale","setCenterScale","useState","centerRef","useRef","useEffect","centerValueElement","current","observer","ResizeObserver","clientWidth","observe","disconnect","baseWidth","baseHeight","setScale","entries","entry","target","contentRect","___CSS_LOADER_URL_IMPORT_0___","URL","___CSS_LOADER_EXPORT___","___CSS_LOADER_URL_REPLACEMENT_0___","module","id","___CSS_LOADER_URL_IMPORT_1___","___CSS_LOADER_URL_IMPORT_2___","___CSS_LOADER_URL_IMPORT_3___","___CSS_LOADER_URL_IMPORT_4___","___CSS_LOADER_URL_IMPORT_5___","___CSS_LOADER_URL_REPLACEMENT_1___","___CSS_LOADER_URL_REPLACEMENT_2___","___CSS_LOADER_URL_REPLACEMENT_3___","___CSS_LOADER_URL_REPLACEMENT_4___","___CSS_LOADER_URL_REPLACEMENT_5___","toString","exports","url","options","String","__esModule","default","test","hash","needQuotes","concat","replace","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals"],"sourceRoot":""}
@@ -1,2 +0,0 @@
1
- "use strict";(globalThis.webpackChunk_next_bricks_data_view=globalThis.webpackChunk_next_bricks_data_view||[]).push([[8038,2052],{60680:(e,t,n)=>{n.r(t),n.d(t,{ChinaMapChart:()=>I,ChinaMapChartComponent:()=>$});var r,a=n(74635),i=n(70918),o=n(26902),s=n(5536),c=n(86121),l=n(70829),u=n(62740),d=n(18769),p=n.n(d),f=n(10300),h=n(24295),g=(n(44291),n(48458)),y=n(25337),m=n(72445),v=n(10177),b=n(68429),w=n(98418),A=n(39123),x=n(3861);let S,E,L,k,C,H,z,T,j;const{defineElement:O,property:q,event:F}=(0,f.createDecorators)();let I;var D=new WeakMap,P=new WeakMap,M=new WeakMap,N=new WeakSet,_=new WeakMap;class R extends h.ReactNextElement{constructor(){super(...arguments),(0,a.A)(this,N),(0,i.A)(this,D,E(this)),(0,i.A)(this,P,(L(this),k(this))),(0,i.A)(this,M,(C(this),H(this))),(0,i.A)(this,_,(j(this),(e,t)=>{(0,s.A)(N,this,z).emit({open:e,data:t})}))}get dataSource(){return(0,l.A)(D,this)}set dataSource(e){(0,c.A)(D,this,e)}get detailContentStyle(){return(0,l.A)(P,this)}set detailContentStyle(e){(0,c.A)(P,this,e)}render(){return p().createElement($,{dataSource:this.dataSource,onDetailOpenChange:(0,l.A)(_,this),detailContentStyle:this.detailContentStyle})}}function $(e){const{onDetailOpenChange:t,dataSource:n=[],detailContentStyle:r={}}=e,a=(0,d.useRef)(),i=(0,d.useRef)(),[o,s]=(0,d.useState)(),c=(0,d.useRef)(),[l,u]=(0,d.useState)();return(0,d.useEffect)((()=>{const e=new g.Z5({id:a.current,logoVisible:!1,map:new y.A({center:[90.268,40.3628],pitch:35,zoom:1})});e.setMapStatus({doubleClickZoom:!1,zoomEnable:!1});const t=new Image;t.src=v;const r=new Image;return r.src=b,e.addImage("default",t),e.addImage("selected",r),e.addImage("chinaBg",w),e.on("loaded",(()=>{const t={...A,features:A.features.slice(0,A.features.length-2)},r={...A,features:A.features.slice(A.features.length-2,A.features.length)},a=new g.qH({autoFit:!1}).source(t);a.shape("extrude").color("rgba(84, 239, 241, 0.20)").style({heightfixed:!0,pickLight:!0,opacity:1,raisingHeight:-13e5});const i=new g.qH({autoFit:!1}).source(t);i.shape("extrude").color("rgba(14, 11, 75, 0.58)").style({heightfixed:!0,pickLight:!0,opacity:1,raisingHeight:-11e5});const o=new g.qH({autoFit:!1}).source(t);o.shape("extrude").color("rgba(190, 225, 226, 1)").style({heightfixed:!0,pickLight:!0,opacity:1,raisingHeight:-9e5});const l=new g.qH({autoFit:!1}).source(t);l.shape("extrude").color("rgba(18, 26, 45, 1)").style({heightfixed:!0,pickLight:!0,opacity:1,raisingHeight:-7e5});const d=new g.qH({autoFit:!1}).source(t);d.shape("extrude").color("#111D3C").style({heightfixed:!0,pickLight:!0,opacity:1,raisingHeight:-5e5});const p=new g.qH({autoFit:!1}).source(t);p.shape("extrude").color("#121A2D").style({heightfixed:!0,pickLight:!0,opacity:1,raisingHeight:-3e5});const f=new g.qH({autoFit:!0}).source(t);f.shape("fill").color("rgba(8, 77, 255, 0.60)");const h=new g.PQ({autoFit:!1,zIndex:1}).source(w,{parser:{type:"image",extent:[73.33,17.9,134.85,53.73]}});h.shape("img").style({opacity:1});const y=(new g.S6).source(t).shape("line").color("rgba(43, 100, 255, 1)").size(1).style({raisingHeight:-16e5}),b=(new g.S6).source(t).shape("line").color("rgba(84, 239, 241, 1)").size(1).style({raisingHeight:-12e5}),x=(new g.S6).source(t).shape("line").color("rgba(43, 100, 255, 1)").size(1).style({raisingHeight:-6e5}),S=new g.S6({zIndex:2}).source(t).shape("line").color("#3DC6FF").size(1).style({raisingHeight:0}).scale("density",{type:"quantile"});e.addLayer(a),e.addLayer(i),e.addLayer(o),e.addLayer(l),e.addLayer(d),e.addLayer(p),e.addLayer(h),e.addLayer(f),e.addLayer(y),e.addLayer(b),e.addLayer(x),e.addLayer(S);const E=new g.qH({autoFit:!1}).source(r);E.shape("fill").color("black");const L=new g.S6({zIndex:2}).source(r).shape("line").color("rgba(30, 144, 255, 1)").size(.5).style({raisingHeight:0}).scale("density",{type:"quantile"});e.addLayer(E),e.addLayer(L),n.map((n=>{const r=document.createElement("div");let a="text";r.textContent=n.text;const i=t.features.find((e=>e.properties.name.includes(n.city)));["410000","820000","140000","110000","420000","430000","450000","500000","520000","530000","510000","610000","640000","150000","630000","540000","340000"].includes(i.id)&&(a=`${a} leftText`,n.isLeftOffset=!0),["620000","640000","450000","440000","120000","340000","510000","150000","320000"].includes(i.id)&&(a=`${a} topText`,n.isTopOffset=!0),r.className=a,r.onclick=e=>{n.width=r.getBoundingClientRect().width,((e,t)=>{e.stopPropagation(),(0,m.isEqual)(t,c.current)?s(null):(s(t),u({left:`${(0,m.toNumber)(e.target.style.left.replace("px",""))+24}px`,top:`${(0,m.toNumber)(e.target.style.top.replace("px",""))+28}px`}))})(e,n)};const o=document.createElement("img");o.src=v,o.className="iconImg";const l=i.properties.center;let d=l[1];["530000","520000","430000","360000","330000","610000","370000","130000"].includes(i.id)&&(d-=1);const p=new g.pH({element:r}).setLnglat({lng:l[0],lat:d}),f=new g.pH({element:o}).setLnglat({lng:l[0],lat:d});e.addMarker(p),e.addMarker(f)}))})),()=>{e.destroy()}}),[]),(0,d.useEffect)((()=>{var e;const t=e=>{i.current&&e.composedPath().includes(i.current)||s(null)};return null===(e=document)||void 0===e||e.addEventListener("click",t),()=>{var e;null===(e=document)||void 0===e||e.removeEventListener("click",t)}}),[]),(0,d.useEffect)((()=>{c.current=(0,m.cloneDeep)(o),t(!(0,m.isEmpty)(o),o)}),[o]),p().createElement("div",null,p().createElement("div",{id:"map",ref:a,className:"map"}),o&&p().createElement("div",{className:"detailContent",onClick:e=>{e.stopPropagation()},style:{..."textBottom"===o.detailDisplayLocation?{left:l.left,top:l.top,transform:`translate(${o.isLeftOffset?-o.width:0}px, ${o.isTopOffset?-50:-40}px)`}:{transform:"translate(-50%, 0%)",top:"50%",left:"50%"},...r}},p().createElement("slot",{name:"detail",ref:i})))}r=R,({e:[E,L,k,C,H,z,T,j],c:[I,S]}=(0,u.A)(r,[O("data-view.china-map-chart",{styleTexts:[x.A]})],[[q({attribute:!1}),1,"dataSource"],[q({attribute:!1}),1,"detailContentStyle"],[F({type:"detail.open.change"}),1,"openChangeEvent",e=>(0,l.A)(M,e),(e,t)=>(0,c.A)(M,e,t)]],0,(e=>_.has((0,o.A)(e))),h.ReactNextElement)),S()},40935:e=>{e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n="",r=void 0!==t[5];return t[4]&&(n+="@supports (".concat(t[4],") {")),t[2]&&(n+="@media ".concat(t[2]," {")),r&&(n+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),n+=e(t),r&&(n+="}"),t[2]&&(n+="}"),t[4]&&(n+="}"),n})).join("")},t.i=function(e,n,r,a,i){"string"==typeof e&&(e=[[null,e,void 0]]);var o={};if(r)for(var s=0;s<this.length;s++){var c=this[s][0];null!=c&&(o[c]=!0)}for(var l=0;l<e.length;l++){var u=[].concat(e[l]);r&&o[u[0]]||(void 0!==i&&(void 0===u[5]||(u[1]="@layer".concat(u[5].length>0?" ".concat(u[5]):""," {").concat(u[1],"}")),u[5]=i),n&&(u[2]?(u[1]="@media ".concat(u[2]," {").concat(u[1],"}"),u[2]=n):u[2]=n),a&&(u[4]?(u[1]="@supports (".concat(u[4],") {").concat(u[1],"}"),u[4]=a):u[4]="".concat(a)),t.push(u))}},t}},36758:e=>{e.exports=function(e){return e[1]}},62740:(e,t,n)=>{n.d(t,{A:()=>s});var r=n(17545),a=n(26902);function i(e,t,n){"symbol"==(0,r.A)(t)&&(t=(t=t.description)?"["+t+"]":"");try{Object.defineProperty(e,"name",{configurable:!0,value:n?n+" "+t:t})}catch(e){}return e}var o=n(11369);function s(e,t,n,s,c,l){var u,d,p,f,h,g,y,m=Symbol.metadata||Symbol.for("Symbol.metadata"),v=Object.defineProperty,b=Object.create,w=[b(null),b(null)],A=t.length;function x(t,n,r){return function(a,i){n&&(i=a,a=e);for(var o=0;o<t.length;o++)i=t[o].apply(a,r?[i]:[]);return r?i:a}}function S(e,t,n,r){if("function"!=typeof e&&(r||void 0!==e))throw new TypeError(t+" must "+(n||"be")+" a function"+(r?"":" or undefined"));return e}function E(e,t,n,a,o,s,c,l,p,f,h){function g(e){if(!h(e))throw new TypeError("Attempted to access private element on non-instance")}var y=[].concat(t[0]),m=t[3],b=!c,A=1===o,E=3===o,L=4===o,k=2===o;function C(t,n,r){return function(a,i){return n&&(i=a,a=e),r&&r(a),H[t].call(a,i)}}if(!b){var H={},z=[],T=E?"get":L||A?"set":"value";if(p?(f||A?H={get:i((function(){return m(this)}),a,"get"),set:function(e){t[4](this,e)}}:H[T]=m,f||i(H[T],a,k?"":T)):f||(H=Object.getOwnPropertyDescriptor(e,a)),!f&&!p){if((d=w[+l][a])&&7!=(d^o))throw Error("Decorating two elements with the same name ("+H[T].name+") is not supported yet");w[+l][a]=o<3?1:o}}for(var j=e,O=y.length-1;O>=0;O-=n?2:1){var q=S(y[O],"A decorator","be",!0),F=n?y[O-1]:void 0,I={},D={kind:["field","accessor","method","getter","setter","class"][o],name:a,metadata:u,addInitializer:function(e,t){if(e.v)throw Error("attempted to call addInitializer after decoration was finished");S(t,"An initializer","be",!0),s.push(t)}.bind(null,I)};if(b)d=q.call(F,j,D),I.v=1,S(d,"class decorators","return")&&(j=d);else if(D.static=l,D.private=p,d=D.access={has:p?h.bind():function(e){return a in e}},L||(d.get=p?k?function(e){return g(e),H.value}:C("get",0,g):function(e){return e[a]}),k||E||(d.set=p?C("set",0,g):function(e,t){e[a]=t}),j=q.call(F,A?{get:H.get,set:H.set}:H[T],D),I.v=1,A){if("object"==(0,r.A)(j)&&j)(d=S(j.get,"accessor.get"))&&(H.get=d),(d=S(j.set,"accessor.set"))&&(H.set=d),(d=S(j.init,"accessor.init"))&&z.unshift(d);else if(void 0!==j)throw new TypeError("accessor decorators must return an object with get, set, or init properties or undefined")}else S(j,(f?"field":"method")+" decorators","return")&&(f?z.unshift(j):H[T]=j)}return o<2&&c.push(x(z,l,1),x(s,l,0)),f||b||(p?A?c.splice(-1,0,C("get",l),C("set",l)):c.push(k?H[T]:S.call.bind(H[T])):v(e,a,H)),j}function L(e){return v(e,m,{configurable:!0,enumerable:!0,value:u})}return void 0!==l&&(u=l[m]),u=b(null==u?null:u),h=[],g=function(e){e&&h.push(x(e))},y=function(t,r){for(var i=0;i<n.length;i++){var s=n[i],l=s[1],u=7&l;if((8&l)==t&&!u==r){var d=s[2],g=!!s[3],y=16&l;E(t?e:e.prototype,s,y,g?"#"+d:(0,o.A)(d),u,u<2?[]:t?f=f||[]:p=p||[],h,!!t,g,r,t&&g?function(t){return(0,a.A)(t)===e}:c)}}},y(8,0),y(0,0),y(8,1),y(0,1),g(p),g(f),d=h,A||L(e),{e:d,get c(){var n=[];return A&&[L(e=E(e,[t],s,e.name,5,n)),x(n,1)]}}}},12559:(e,t,n)=>{function r(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}n.d(t,{A:()=>r})},26902:(e,t,n)=>{n.d(t,{A:()=>a});var r=n(17545);function a(e){if(Object(e)!==e)throw TypeError("right-hand side of 'in' should be an object, got "+(null!==e?(0,r.A)(e):"null"));return e}},72016:(e,t,n)=>{function r(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}n.d(t,{A:()=>r})},70829:(e,t,n)=>{n.d(t,{A:()=>a});var r=n(12559);function a(e,t){return e.get((0,r.A)(e,t))}},70918:(e,t,n)=>{n.d(t,{A:()=>a});var r=n(72016);function a(e,t,n){(0,r.A)(e,t),t.set(e,n)}},86121:(e,t,n)=>{n.d(t,{A:()=>a});var r=n(12559);function a(e,t,n){return e.set((0,r.A)(e,t),n),n}},11369:(e,t,n)=>{n.d(t,{A:()=>a});var r=n(17545);function a(e){var t=function(e,t){if("object"!=(0,r.A)(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var a=n.call(e,"string");if("object"!=(0,r.A)(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==(0,r.A)(t)?t:t+""}},17545:(e,t,n)=>{function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}n.d(t,{A:()=>r})}}]);
2
- //# sourceMappingURL=china-map-chart.eb43bf10.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chunks/china-map-chart.eb43bf10.js","mappings":"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","sources":["webpack:///./src/china-map-chart/index.tsx","webpack:///../../node_modules/css-loader/dist/runtime/api.js","webpack:///../../node_modules/css-loader/dist/runtime/noSourceMaps.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/setFunctionName.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/applyDecs2311.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/assertClassBrand.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/checkInRHS.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/checkPrivateRedeclaration.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldGet2.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldInitSpec.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldSet2.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/typeof.js"],"sourcesContent":["import React, { useEffect, useRef, useState, CSSProperties } from \"react\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport { Scene, PolygonLayer, LineLayer, Marker, ImageLayer } from \"@antv/l7\";\nimport { Map } from \"@antv/l7-maps\";\nimport { cloneDeep, isEmpty, isEqual, toNumber } from \"lodash\";\nimport defaultSvg from \"./assets/default.svg?url\";\nimport selectedSvg from \"./assets/selected.svg?url\";\nimport chinaPng from \"./assets/china.png\";\nimport CHINA from \"./map.json\";\nimport styleText from \"./styles.shadow.css\";\n\nconst { defineElement, property, event } = createDecorators();\n\n/**\n * 中国地图图表构件,可以显示省级指标数据\n */\nexport\n@defineElement(\"data-view.china-map-chart\", {\n styleTexts: [styleText],\n})\nclass ChinaMapChart extends ReactNextElement {\n /**\n * 数据源\n */\n @property({ attribute: false })\n accessor dataSource: DataSource[] | undefined;\n\n /**\n * 数据源\n */\n @property({ attribute: false })\n accessor detailContentStyle: CSSProperties | undefined;\n\n /**\n * 当提示可见性开始变化时触发\n * @detail 当前是否可见\n */\n @event({ type: \"detail.open.change\" })\n accessor #openChangeEvent!: EventEmitter<{\n open: boolean;\n data: Record<string, any>;\n }>;\n #handleOpenChange = (open: boolean, data: Record<string, any>): void => {\n this.#openChangeEvent.emit({ open, data });\n };\n\n render() {\n return (\n <ChinaMapChartComponent\n dataSource={this.dataSource}\n onDetailOpenChange={this.#handleOpenChange}\n detailContentStyle={this.detailContentStyle}\n />\n );\n }\n}\n\ninterface DataSource {\n /** 省级行政区域名,例如:四川、北京 */\n city: string;\n detailDisplayLocation: \"pageCenter\" | \"textBottom\";\n text: string;\n [x: string]: any;\n}\n\nexport interface ChinaMapChartProps {\n onDetailOpenChange: (open: boolean, data: Record<string, any>) => void;\n dataSource: DataSource[];\n detailContentStyle?: CSSProperties;\n // Define props here.\n}\n\nexport function ChinaMapChartComponent(props: ChinaMapChartProps) {\n const {\n onDetailOpenChange,\n dataSource = [],\n detailContentStyle = {},\n } = props;\n const mapRef = useRef<HTMLDivElement>();\n const slotRef = useRef<HTMLSlotElement>();\n const [showData, setShowData] = useState<DataSource>();\n const showDataRef = useRef<DataSource>();\n const [textPosition, setTextPosition] = useState<{\n left: string;\n top: string;\n }>();\n\n const textClick = (e: MouseEvent, data: any) => {\n e.stopPropagation();\n if (isEqual(data, showDataRef.current)) {\n setShowData(null);\n return;\n }\n setShowData(data);\n setTextPosition({\n left: `${toNumber((e.target as any).style.left.replace(\"px\", \"\")) + 24}px`,\n top: `${toNumber((e.target as any).style.top.replace(\"px\", \"\")) + 28}px`,\n });\n };\n useEffect(() => {\n const scene = new Scene({\n id: mapRef.current,\n logoVisible: false,\n map: new Map({\n center: [90.268, 40.3628],\n pitch: 35,\n zoom: 1,\n }),\n });\n scene.setMapStatus({ doubleClickZoom: false, zoomEnable: false });\n const defaultImg = new Image();\n defaultImg.src = defaultSvg;\n\n const selectedImg = new Image();\n selectedImg.src = selectedSvg;\n\n scene.addImage(\"default\", defaultImg);\n scene.addImage(\"selected\", selectedImg);\n scene.addImage(\"chinaBg\", chinaPng);\n\n scene.on(\"loaded\", () => {\n const data = {\n ...CHINA,\n features: CHINA.features.slice(0, CHINA.features.length - 2),\n };\n const southSeaData = {\n ...CHINA,\n features: CHINA.features.slice(\n CHINA.features.length - 2,\n CHINA.features.length\n ),\n };\n const seventhPolygonLayer = new PolygonLayer({\n autoFit: false,\n }).source(data);\n\n seventhPolygonLayer\n .shape(\"extrude\")\n .color(\"rgba(84, 239, 241, 0.20)\")\n .style({\n heightfixed: true,\n pickLight: true,\n opacity: 1,\n raisingHeight: -1300000,\n });\n\n const sixthPolygonLayer = new PolygonLayer({\n autoFit: false,\n }).source(data);\n\n sixthPolygonLayer.shape(\"extrude\").color(\"rgba(14, 11, 75, 0.58)\").style({\n heightfixed: true,\n pickLight: true,\n opacity: 1,\n raisingHeight: -1100000,\n });\n\n const fifthPolygonLayer = new PolygonLayer({\n autoFit: false,\n }).source(data);\n\n fifthPolygonLayer.shape(\"extrude\").color(\"rgba(190, 225, 226, 1)\").style({\n heightfixed: true,\n pickLight: true,\n opacity: 1,\n raisingHeight: -900000,\n });\n const fourthPolygonLayer = new PolygonLayer({\n autoFit: false,\n }).source(data);\n\n fourthPolygonLayer.shape(\"extrude\").color(\"rgba(18, 26, 45, 1)\").style({\n heightfixed: true,\n pickLight: true,\n opacity: 1,\n raisingHeight: -700000,\n });\n\n const thirdPolygonLayer = new PolygonLayer({\n autoFit: false,\n }).source(data);\n\n thirdPolygonLayer.shape(\"extrude\").color(\"#111D3C\").style({\n heightfixed: true,\n pickLight: true,\n opacity: 1,\n raisingHeight: -500000,\n });\n const secondPolygonLayer = new PolygonLayer({\n autoFit: false,\n }).source(data);\n\n secondPolygonLayer.shape(\"extrude\").color(\"#121A2D\").style({\n heightfixed: true,\n pickLight: true,\n opacity: 1,\n raisingHeight: -300000,\n });\n\n const firstPolygonLayer = new PolygonLayer({\n autoFit: true,\n }).source(data);\n\n firstPolygonLayer.shape(\"fill\").color(\"rgba(8, 77, 255, 0.60)\");\n // .select({\n // color: \"rgba(177, 254, 254, 1)\",\n // });//编排上层缩放会影响到高亮功能,还不知道怎么解决,暂时不实现。\n\n const chinaImgLayer = new ImageLayer({\n autoFit: false,\n zIndex: 1,\n }).source(chinaPng, {\n parser: {\n type: \"image\",\n extent: [73.33, 17.9, 134.85, 53.73],\n },\n });\n\n chinaImgLayer.shape(\"img\").style({\n opacity: 1,\n });\n\n const fourthLineLayer = new LineLayer()\n .source(data)\n .shape(\"line\")\n .color(\"rgba(43, 100, 255, 1)\")\n .size(1)\n .style({\n raisingHeight: -1600000,\n });\n\n const thirdLineLayer = new LineLayer()\n .source(data)\n .shape(\"line\")\n .color(\"rgba(84, 239, 241, 1)\")\n .size(1)\n .style({\n raisingHeight: -1200000,\n });\n\n const secondLineLayer = new LineLayer()\n .source(data)\n .shape(\"line\")\n .color(\"rgba(43, 100, 255, 1)\")\n .size(1)\n .style({\n raisingHeight: -600000,\n });\n\n const firstLineLayer = new LineLayer({ zIndex: 2 })\n .source(data)\n .shape(\"line\")\n .color(\"#3DC6FF\")\n .size(1)\n .style({\n raisingHeight: 0,\n })\n .scale(\"density\", {\n type: \"quantile\",\n });\n\n // const hightLayer = new LineLayer({\n // zIndex: 10, // 设置显示层级\n // name: \"hightlight\",\n // })\n // .source({\n // type: \"FeatureCollection\",\n // features: [],\n // })\n // .shape(\"line\")\n // .size(2)\n // .color(\"rgba(177, 254, 254, 1)\")\n // .style({\n // opacity: 1,\n // });\n // const hightPolygonLayer = new PolygonLayer({zIndex: 10})\n // .source({\n // type: \"FeatureCollection\",\n // features: [],\n // })\n // .shape(\"fill\")\n // .color(\"rgba(177, 254, 254, 1)\")\n // .style({\n // heightfixed: true,\n // pickLight: true,\n // opacity: 1,\n // raisingHeight: 0,\n // }); //自定义选择高亮\n\n scene.addLayer(seventhPolygonLayer);\n scene.addLayer(sixthPolygonLayer);\n scene.addLayer(fifthPolygonLayer);\n scene.addLayer(fourthPolygonLayer);\n scene.addLayer(thirdPolygonLayer);\n scene.addLayer(secondPolygonLayer);\n scene.addLayer(chinaImgLayer);\n // scene.addLayer(hightLayer);\n // scene.addLayer(hightPolygonLayer);\n scene.addLayer(firstPolygonLayer);\n\n scene.addLayer(fourthLineLayer);\n scene.addLayer(thirdLineLayer);\n scene.addLayer(secondLineLayer);\n scene.addLayer(firstLineLayer);\n\n // firstPolygonLayer.on(\"click\", (e) => {\n // const { feature } = e;\n // hightPolygonLayer.setData({\n // type: \"FeatureCollection\",\n // features: [feature],\n // });\n // hightLayer.setData({\n // type: \"FeatureCollection\",\n // features: [feature],\n // });\n // });\n\n const southSeaPolygonLayer = new PolygonLayer({\n autoFit: false,\n }).source(southSeaData);\n\n southSeaPolygonLayer.shape(\"fill\").color(\"black\");\n\n const southSeaLineLayer = new LineLayer({ zIndex: 2 })\n .source(southSeaData)\n .shape(\"line\")\n .color(\"rgba(30, 144, 255, 1)\")\n .size(0.5)\n .style({\n raisingHeight: 0,\n })\n .scale(\"density\", {\n type: \"quantile\",\n });\n scene.addLayer(southSeaPolygonLayer);\n scene.addLayer(southSeaLineLayer);\n\n dataSource.map((i) => {\n const el = document.createElement(\"div\");\n let classNameText = \"text\";\n el.textContent = i.text;\n const city = data.features.find((f) =>\n f.properties.name.includes(i.city)\n );\n //先手动调整位置,缓解重叠的问题\n if (\n [\n \"410000\",\n \"820000\",\n \"140000\",\n \"110000\",\n \"420000\",\n \"430000\",\n \"450000\",\n \"500000\",\n \"520000\",\n \"530000\",\n \"510000\",\n \"610000\",\n \"640000\",\n \"150000\",\n \"630000\",\n \"540000\",\n \"340000\",\n ].includes(city.id)\n ) {\n classNameText = `${classNameText} leftText`;\n i.isLeftOffset = true;\n }\n if (\n [\n \"620000\",\n \"640000\",\n \"450000\",\n \"440000\",\n \"120000\",\n \"340000\",\n \"510000\",\n \"150000\",\n \"320000\",\n ].includes(city.id)\n ) {\n classNameText = `${classNameText} topText`;\n i.isTopOffset = true;\n }\n el.className = classNameText;\n\n el.onclick = (e) => {\n i.width = el.getBoundingClientRect().width;\n textClick(e, i);\n };\n\n const imgEl = document.createElement(\"img\");\n imgEl.src = defaultSvg;\n imgEl.className = \"iconImg\";\n\n const center = city.properties.center;\n let lat = center[1];\n if (\n [\n \"530000\",\n \"520000\",\n \"430000\",\n \"360000\",\n \"330000\",\n \"610000\",\n \"370000\",\n \"130000\",\n ].includes(city.id)\n ) {\n lat -= 1;\n }\n\n const marker = new Marker({\n element: el,\n }).setLnglat({ lng: center[0], lat });\n const imgMarker = new Marker({\n element: imgEl,\n }).setLnglat({ lng: center[0], lat });\n scene.addMarker(marker);\n scene.addMarker(imgMarker);\n });\n });\n\n return () => {\n scene.destroy();\n };\n }, []);\n\n useEffect(() => {\n const handleClick = (e: MouseEvent) => {\n if (slotRef.current && e.composedPath().includes(slotRef.current)) return;\n setShowData(null);\n };\n document?.addEventListener(\"click\", handleClick);\n return () => {\n document?.removeEventListener(\"click\", handleClick);\n };\n }, []);\n\n useEffect(() => {\n showDataRef.current = cloneDeep(showData);\n onDetailOpenChange(!isEmpty(showData), showData);\n }, [showData]);\n return (\n <div>\n <div id=\"map\" ref={mapRef} className=\"map\"></div>\n {showData && (\n <div\n className=\"detailContent\"\n onClick={(e) => {\n e.stopPropagation();\n }}\n style={{\n ...(showData.detailDisplayLocation === \"textBottom\"\n ? {\n left: textPosition.left,\n top: textPosition.top,\n transform: `translate(${showData.isLeftOffset ? -showData.width : 0}px, ${showData.isTopOffset ? -50 : -40}px)`,\n }\n : {\n transform: \"translate(-50%, 0%)\",\n top: \"50%\",\n left: \"50%\",\n }),\n ...detailContentStyle,\n }}\n >\n <slot name=\"detail\" ref={slotRef}></slot>\n </div>\n )}\n </div>\n );\n}\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n content += cssWithMappingToString(item);\n if (needLayer) {\n content += \"}\";\n }\n if (item[2]) {\n content += \"}\";\n }\n if (item[4]) {\n content += \"}\";\n }\n return content;\n }).join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n list.push(item);\n }\n };\n return list;\n};","\"use strict\";\n\nmodule.exports = function (i) {\n return i[1];\n};","import _typeof from \"./typeof.js\";\nexport default function setFunctionName(e, t, n) {\n \"symbol\" == _typeof(t) && (t = (t = t.description) ? \"[\" + t + \"]\" : \"\");\n try {\n Object.defineProperty(e, \"name\", {\n configurable: !0,\n value: n ? n + \" \" + t : t\n });\n } catch (e) {}\n return e;\n}","import _typeof from \"./typeof.js\";\nimport checkInRHS from \"./checkInRHS.js\";\nimport setFunctionName from \"./setFunctionName.js\";\nimport toPropertyKey from \"./toPropertyKey.js\";\nexport default function applyDecs2311(e, t, n, r, o, i) {\n var a,\n c,\n u,\n s,\n f,\n l,\n p,\n d = Symbol.metadata || Symbol[\"for\"](\"Symbol.metadata\"),\n m = Object.defineProperty,\n h = Object.create,\n y = [h(null), h(null)],\n v = t.length;\n function g(t, n, r) {\n return function (o, i) {\n n && (i = o, o = e);\n for (var a = 0; a < t.length; a++) i = t[a].apply(o, r ? [i] : []);\n return r ? i : o;\n };\n }\n function b(e, t, n, r) {\n if (\"function\" != typeof e && (r || void 0 !== e)) throw new TypeError(t + \" must \" + (n || \"be\") + \" a function\" + (r ? \"\" : \" or undefined\"));\n return e;\n }\n function applyDec(e, t, n, r, o, i, u, s, f, l, p) {\n function d(e) {\n if (!p(e)) throw new TypeError(\"Attempted to access private element on non-instance\");\n }\n var h = [].concat(t[0]),\n v = t[3],\n w = !u,\n D = 1 === o,\n S = 3 === o,\n j = 4 === o,\n E = 2 === o;\n function I(t, n, r) {\n return function (o, i) {\n return n && (i = o, o = e), r && r(o), P[t].call(o, i);\n };\n }\n if (!w) {\n var P = {},\n k = [],\n F = S ? \"get\" : j || D ? \"set\" : \"value\";\n if (f ? (l || D ? P = {\n get: setFunctionName(function () {\n return v(this);\n }, r, \"get\"),\n set: function set(e) {\n t[4](this, e);\n }\n } : P[F] = v, l || setFunctionName(P[F], r, E ? \"\" : F)) : l || (P = Object.getOwnPropertyDescriptor(e, r)), !l && !f) {\n if ((c = y[+s][r]) && 7 != (c ^ o)) throw Error(\"Decorating two elements with the same name (\" + P[F].name + \") is not supported yet\");\n y[+s][r] = o < 3 ? 1 : o;\n }\n }\n for (var N = e, O = h.length - 1; O >= 0; O -= n ? 2 : 1) {\n var z = b(h[O], \"A decorator\", \"be\", !0),\n A = n ? h[O - 1] : void 0,\n H = {},\n K = {\n kind: [\"field\", \"accessor\", \"method\", \"getter\", \"setter\", \"class\"][o],\n name: r,\n metadata: a,\n addInitializer: function (e, t) {\n if (e.v) throw Error(\"attempted to call addInitializer after decoration was finished\");\n b(t, \"An initializer\", \"be\", !0), i.push(t);\n }.bind(null, H)\n };\n if (w) c = z.call(A, N, K), H.v = 1, b(c, \"class decorators\", \"return\") && (N = c);else if (K[\"static\"] = s, K[\"private\"] = f, c = K.access = {\n has: f ? p.bind() : function (e) {\n return r in e;\n }\n }, j || (c.get = f ? E ? function (e) {\n return d(e), P.value;\n } : I(\"get\", 0, d) : function (e) {\n return e[r];\n }), E || S || (c.set = f ? I(\"set\", 0, d) : function (e, t) {\n e[r] = t;\n }), N = z.call(A, D ? {\n get: P.get,\n set: P.set\n } : P[F], K), H.v = 1, D) {\n if (\"object\" == _typeof(N) && N) (c = b(N.get, \"accessor.get\")) && (P.get = c), (c = b(N.set, \"accessor.set\")) && (P.set = c), (c = b(N.init, \"accessor.init\")) && k.unshift(c);else if (void 0 !== N) throw new TypeError(\"accessor decorators must return an object with get, set, or init properties or undefined\");\n } else b(N, (l ? \"field\" : \"method\") + \" decorators\", \"return\") && (l ? k.unshift(N) : P[F] = N);\n }\n return o < 2 && u.push(g(k, s, 1), g(i, s, 0)), l || w || (f ? D ? u.splice(-1, 0, I(\"get\", s), I(\"set\", s)) : u.push(E ? P[F] : b.call.bind(P[F])) : m(e, r, P)), N;\n }\n function w(e) {\n return m(e, d, {\n configurable: !0,\n enumerable: !0,\n value: a\n });\n }\n return void 0 !== i && (a = i[d]), a = h(null == a ? null : a), f = [], l = function l(e) {\n e && f.push(g(e));\n }, p = function p(t, r) {\n for (var i = 0; i < n.length; i++) {\n var a = n[i],\n c = a[1],\n l = 7 & c;\n if ((8 & c) == t && !l == r) {\n var p = a[2],\n d = !!a[3],\n m = 16 & c;\n applyDec(t ? e : e.prototype, a, m, d ? \"#\" + p : toPropertyKey(p), l, l < 2 ? [] : t ? s = s || [] : u = u || [], f, !!t, d, r, t && d ? function (t) {\n return checkInRHS(t) === e;\n } : o);\n }\n }\n }, p(8, 0), p(0, 0), p(8, 1), p(0, 1), l(u), l(s), c = f, v || w(e), {\n e: c,\n get c() {\n var n = [];\n return v && [w(e = applyDec(e, [t], r, e.name, 5, n)), g(n, 1)];\n }\n };\n}","export default function _assertClassBrand(e, t, n) {\n if (\"function\" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n;\n throw new TypeError(\"Private element is not present on this object\");\n}","import _typeof from \"./typeof.js\";\nexport default function _checkInRHS(e) {\n if (Object(e) !== e) throw TypeError(\"right-hand side of 'in' should be an object, got \" + (null !== e ? _typeof(e) : \"null\"));\n return e;\n}","export default function _checkPrivateRedeclaration(obj, privateCollection) {\n if (privateCollection.has(obj)) {\n throw new TypeError(\"Cannot initialize the same private elements twice on an object\");\n }\n}","import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateFieldGet2(s, a) {\n return s.get(assertClassBrand(s, a));\n}","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateFieldInitSpec(obj, privateMap, value) {\n checkPrivateRedeclaration(obj, privateMap);\n privateMap.set(obj, value);\n}","import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateFieldSet2(s, a, r) {\n return s.set(assertClassBrand(s, a), r), r;\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}","import _typeof from \"./typeof.js\";\nexport default function toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}","export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}"],"names":["defineElement","property","event","createDecorators","_ChinaMapChart","_A","WeakMap","_B","_C","_ChinaMapChart_brand","WeakSet","_handleOpenChange","ChinaMapChart","ReactNextElement","constructor","arguments","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","_init_dataSource","_init_extra_dataSource","_init_detailContentStyle","_init_extra_detailContentStyle","_init_openChangeEvent","_init_extra_openChangeEvent","open","data","_classPrivateGetter","this","_get_openChangeEvent","emit","dataSource","_classPrivateFieldGet","v","_classPrivateFieldSet","detailContentStyle","render","React","ChinaMapChartComponent","onDetailOpenChange","props","mapRef","useRef","slotRef","showData","setShowData","useState","showDataRef","textPosition","setTextPosition","useEffect","scene","Scene","id","current","logoVisible","map","Map","center","pitch","zoom","setMapStatus","doubleClickZoom","zoomEnable","defaultImg","Image","src","defaultSvg","selectedImg","selectedSvg","addImage","chinaPng","on","CHINA","features","slice","length","southSeaData","seventhPolygonLayer","PolygonLayer","autoFit","source","shape","color","style","heightfixed","pickLight","opacity","raisingHeight","sixthPolygonLayer","fifthPolygonLayer","fourthPolygonLayer","thirdPolygonLayer","secondPolygonLayer","firstPolygonLayer","chinaImgLayer","ImageLayer","zIndex","parser","type","extent","fourthLineLayer","LineLayer","size","thirdLineLayer","secondLineLayer","firstLineLayer","scale","addLayer","southSeaPolygonLayer","southSeaLineLayer","i","el","document","createElement","classNameText","textContent","text","city","find","f","properties","name","includes","isLeftOffset","isTopOffset","className","onclick","e","width","getBoundingClientRect","textClick","stopPropagation","isEqual","left","toNumber","target","replace","top","imgEl","lat","marker","Marker","element","setLnglat","lng","imgMarker","addMarker","destroy","_document","handleClick","composedPath","addEventListener","_document2","removeEventListener","cloneDeep","isEmpty","ref","onClick","detailDisplayLocation","transform","_ChinaMapChart2","_set_openChangeEvent","c","_initClass","_applyDecs","styleTexts","styleText","attribute","o","_","has","_checkInRHS","module","exports","cssWithMappingToString","list","toString","item","content","needLayer","concat","join","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","k","_k","push","setFunctionName","t","n","description","Object","defineProperty","configurable","value","applyDecs2311","r","a","u","s","l","p","d","Symbol","metadata","m","h","create","y","g","apply","b","TypeError","applyDec","w","D","S","j","E","I","P","call","F","get","set","getOwnPropertyDescriptor","Error","N","O","z","A","H","K","kind","addInitializer","bind","access","init","unshift","splice","enumerable","prototype","toPropertyKey","checkInRHS","_assertClassBrand","_checkPrivateRedeclaration","obj","privateCollection","_classPrivateFieldGet2","privateMap","_classPrivateFieldSet2","toPrimitive","String","_typeof","iterator"],"sourceRoot":""}
@@ -1,2 +0,0 @@
1
- "use strict";(globalThis.webpackChunk_next_bricks_data_view=globalThis.webpackChunk_next_bricks_data_view||[]).push([[1335],{9557:(e,t,n)=>{n.r(t),n.d(t,{CrystalBallIndicator:()=>L,CrystalBallIndicatorComponent:()=>B});var r,a=n(70918),i=n(86121),o=n(70829),s=n(62740),c=n(18769),l=n.n(c),u=n(10300),d=n(24295),p=(n(44291),n(82650)),m=n(57384),h=n(47906),f=n(11752),g=n(93652),v=(n(95178),n(29837),n(7178)),b=n(92481);let x,y,S,w,A,E,k,N,M;const D=572,T=16,{defineElement:C,property:I}=(0,u.createDecorators)();let L;var R=new WeakMap,z=new WeakMap,P=new WeakMap,F=new WeakMap;class _ extends d.ReactNextElement{constructor(){super(...arguments),(0,a.A)(this,R,y(this)),(0,a.A)(this,z,(S(this),w(this))),(0,a.A)(this,P,(A(this),E(this))),(0,a.A)(this,F,(k(this),N(this))),M(this)}get dataSource(){return(0,o.A)(R,this)}set dataSource(e){(0,i.A)(R,this,e)}get centerDataSource(){return(0,o.A)(z,this)}set centerDataSource(e){(0,i.A)(z,this,e)}get cornerDataSource(){return(0,o.A)(P,this)}set cornerDataSource(e){(0,i.A)(P,this,e)}get maxScale(){return(0,o.A)(F,this)}set maxScale(e){(0,i.A)(F,this,e)}render(){return l().createElement(B,{root:this,dataSource:this.dataSource,centerDataSource:this.centerDataSource,cornerDataSource:this.cornerDataSource,maxScale:this.maxScale})}}function B(e){let{root:t,dataSource:n,centerDataSource:r,cornerDataSource:a,maxScale:i}=e;const o=(0,h.D)({width:810,height:604,root:t,maxScale:i}),[s,u]=(0,f.L)(280),d=(0,c.useMemo)((()=>{var e;const t=null!==(e=null==n?void 0:n.slice(0,12))&&void 0!==e?e:[];if(0===t.length)return[];const r=Math.ceil(t.length/2),a=t.length%2==0,i=Math.PI/(r+1),o=D/2,s=o+T;let c,l,u,d=0;const p=[];for(;d<t.length;){const e=t[d];if(d%2==0)u=i*(d/2+1)-Math.PI/2,c=s+o*Math.cos(u),l=s+o*Math.sin(u),p.push({...e,x:c,y:l});else if(a)p.push({...e,x:2*s-c,y:l});else{const t=Math.PI-(u+i/2);p.push({...e,x:s+o*Math.cos(t),y:s+o*Math.sin(t)})}d++}return p}),[n]);return l().createElement(l().Fragment,null,l().createElement("div",{className:"circle-container",style:{visibility:null===o?"hidden":"visible","--scale":o}},l().createElement("div",{className:"base"}),l().createElement("div",{className:"ring-container"},l().createElement("div",{className:"ring"}),l().createElement("div",{className:"video-container"},l().createElement("video",{width:352,height:352,autoPlay:!0,muted:!0,loop:!0,playsInline:!0},l().createElement("source",{src:g,type:"video/mp4"})))),l().createElement("div",{className:"ring-labels"},d.map(((e,t)=>l().createElement("div",{key:t,className:"ring-label-container "+(t%2==0?"even":"odd"),style:{left:e.x,top:e.y}},l().createElement("div",{className:"ring-icon"}),l().createElement("div",{className:"ring-label"},e.label),l().createElement("div",{className:"ring-value"},(0,p.F)(e.value)))))),l().createElement("div",{className:"center"},l().createElement("div",{className:"center-label"},null==r?void 0:r.label),l().createElement("div",{className:"center-value",ref:u,style:{visibility:null===s?"hidden":"visible",transform:`scale(${null!=s?s:1})`}},(0,p.F)(null==r?void 0:r.value)))),l().createElement(m.x,{cornerDataSource:a}))}r=_,({e:[y,S,w,A,E,k,N,M],c:[L,x]}=(0,s.A)(r,[C("data-view.crystal-ball-indicator",{styleTexts:[v.A,b.A]})],[[I({attribute:!1}),1,"dataSource"],[I({attribute:!1}),1,"centerDataSource"],[I({attribute:!1}),1,"cornerDataSource"],[I({type:Number}),1,"maxScale"]],0,void 0,d.ReactNextElement)),x()},57384:(e,t,n)=>{n.d(t,{x:()=>c});var r=n(18769),a=n.n(r),i=n(24295),o=n(82650);const s=(0,i.wrapBrick)("eo-tag");function c(e){let{cornerDataSource:t}=e;return a().createElement("div",{className:"corner"},null==t?void 0:t.map(((e,t)=>a().createElement("div",{key:t,className:"corner-item"},a().createElement("div",{className:"corner-label"},e.label),a().createElement(s,{className:"corner-value",outline:!0,color:e.color,tagStyle:{fontSize:18,padding:"2px 16px"}},(0,o.F)(e.value))))))}},82650:(e,t,n)=>{n.d(t,{F:()=>a});const r=new Intl.NumberFormat("zh-CN",{useGrouping:!0});function a(e){return function(e){return"number"==typeof e?e-e==0:"string"==typeof e&&""!==e.trim()&&(null!==(t=Number.isFinite)&&void 0!==t?t:isFinite)(+e);var t}(e)?r.format(+e):e}},11752:(e,t,n)=>{n.d(t,{L:()=>i});var r=n(18769),a=n(99126);function i(e){const[t,n]=(0,r.useState)(null),i=(0,r.useRef)(null);return(0,r.useEffect)((()=>{const t=i.current;if(!t)return;const r=new a.A((()=>{const r=t.clientWidth;n(Math.min(1,Math.max(.3,e/r)))}));return r.observe(t),()=>r.disconnect()}),[e]),[t,i]}},47906:(e,t,n)=>{n.d(t,{D:()=>i});var r=n(18769),a=n(99126);function i(e){let{width:t,height:n,root:i,maxScale:o}=e;const[s,c]=(0,r.useState)(null);return(0,r.useEffect)((()=>{const e=new a.A((e=>{for(const r of e)if(r.target===i){const{width:e,height:a}=r.contentRect;c(Math.min(null!=o?o:1,e/t,a/n))}}));return e.observe(i),()=>e.disconnect()}),[n,t,o,i]),s}},97136:(e,t,n)=>{n.d(t,{A:()=>p});var r=n(36758),a=n.n(r),i=n(40935),o=n.n(i),s=n(20062),c=n.n(s),l=new URL(n(17577),n.b),u=o()(a()),d=c()(l);u.push([e.id,`@font-face{font-family:ALiBaBaPuHuiTi;src:url(${d})}`,""]);const p=u},59291:(e,t,n)=>{n.d(t,{A:()=>p});var r=n(36758),a=n.n(r),i=n(40935),o=n.n(i),s=n(20062),c=n.n(s),l=new URL(n(59552),n.b),u=o()(a()),d=c()(l);u.push([e.id,`@font-face{font-family:PangMenZhengDaoBiaoTiTi;src:url(${d})}`,""]);const p=u},7178:(e,t,n)=>{n.d(t,{A:()=>b});var r=n(36758),a=n.n(r),i=n(40935),o=n.n(i),s=n(20062),c=n.n(s),l=new URL(n(48362),n.b),u=new URL(n(5578),n.b),d=new URL(n(93893),n.b),p=new URL(n(21949),n.b),m=o()(a()),h=c()(l),f=c()(u),g=c()(d),v=c()(p);m.push([e.id,`:host,\n.circle-container,\n.ring-container,\n.video-container,\n.center{display:flex;align-items:center;justify-content:center}:host{position:relative;color:#fff;height:100%}:host([hidden]){display:none}*{box-sizing:border-box}.circle-container,\n.base,\n.ring-labels{width:604px;height:604px}.circle-container{padding:16px;position:relative;transform:scale(var(--scale));--scale:1}.base,\n.ring-labels{position:absolute;left:50%;transform:translate(-50%,0);top:0}.base{background:url(${h}) no-repeat;background-position:center;background-size:572px}.ring-label-container{position:absolute;padding:0 35px;margin-top:-14px;width:max-content}.ring-icon{position:absolute;width:36px;height:36px;background-repeat:no-repeat;background-size:100%;background-position:0 0;top:-4px}.odd{transform:translate(-100%,0);text-align:right}.odd .ring-icon{background-image:url(${f});right:-18px}.even .ring-icon{background-image:url(${g});left:-18px}.ring-label{color:rgba(200,226,255,0.8);font-size:18px}.ring-value{font-family:ALiBaBaPuHuiTi;font-size:28px;text-shadow:0px 4px 7px #514af7}.center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:292px;height:292px;flex-direction:column;text-shadow:0px 2px 4px rgba(0,0,0,0.5)}.center-label:empty,\n.center-value:empty{display:none}.center-label{font-size:24px;font-weight:600}.center-value{font-family:PangMenZhengDaoBiaoTiTi;font-size:64px}.ring-container{position:relative;width:408px;height:408px}.video-container{border-radius:9999px;width:292px;height:292px;overflow:hidden}.ring{position:absolute;width:100%;height:100%;top:0;left:0;background:url(${v}) no-repeat;background-size:100% 100%;background-position:0 0;animation:ring-rotate 5s linear infinite}@keyframes ring-rotate{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}`,""]);const b=m.toString()},92481:(e,t,n)=>{n.d(t,{A:()=>s});var r=n(36758),a=n.n(r),i=n(40935),o=n.n(i)()(a());o.push([e.id,".corner{position:absolute;top:13px;left:31px;font-size:18px}.corner-item{display:flex;margin-bottom:15px}.corner-label{font-weight:500;line-height:25px;color:rgba(255,255,255,0.85)}.corner-value{display:block;margin-left:19px}",""]);const s=o.toString()},20062:e=>{e.exports=function(e,t){return t||(t={}),e?(e=String(e.__esModule?e.default:e),/^['"].*['"]$/.test(e)&&(e=e.slice(1,-1)),t.hash&&(e+=t.hash),/["'() \t\n]|(%20)/.test(e)||t.needQuotes?'"'.concat(e.replace(/"/g,'\\"').replace(/\n/g,"\\n"),'"'):e):e}},95178:(e,t,n)=>{var r=n(72591),a=n.n(r),i=n(1740),o=n.n(i),s=n(88128),c=n.n(s),l=n(30855),u=n.n(l),d=n(93051),p=n.n(d),m=n(73656),h=n.n(m),f=n(97136),g={};g.styleTagTransform=h(),g.setAttributes=u(),g.insert=c().bind(null,"head"),g.domAPI=o(),g.insertStyleElement=p(),a()(f.A,g),f.A&&f.A.locals&&f.A.locals},29837:(e,t,n)=>{var r=n(72591),a=n.n(r),i=n(1740),o=n.n(i),s=n(88128),c=n.n(s),l=n(30855),u=n.n(l),d=n(93051),p=n.n(d),m=n(73656),h=n.n(m),f=n(59291),g={};g.styleTagTransform=h(),g.setAttributes=u(),g.insert=c().bind(null,"head"),g.domAPI=o(),g.insertStyleElement=p(),a()(f.A,g),f.A&&f.A.locals&&f.A.locals},72591:e=>{var t=[];function n(e){for(var n=-1,r=0;r<t.length;r++)if(t[r].identifier===e){n=r;break}return n}function r(e,r){for(var i={},o=[],s=0;s<e.length;s++){var c=e[s],l=r.base?c[0]+r.base:c[0],u=i[l]||0,d="".concat(l," ").concat(u);i[l]=u+1;var p=n(d),m={css:c[1],media:c[2],sourceMap:c[3],supports:c[4],layer:c[5]};if(-1!==p)t[p].references++,t[p].updater(m);else{var h=a(m,r);r.byIndex=s,t.splice(s,0,{identifier:d,updater:h,references:1})}o.push(d)}return o}function a(e,t){var n=t.domAPI(t);return n.update(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap&&t.supports===e.supports&&t.layer===e.layer)return;n.update(e=t)}else n.remove()}}e.exports=function(e,a){var i=r(e=e||[],a=a||{});return function(e){e=e||[];for(var o=0;o<i.length;o++){var s=n(i[o]);t[s].references--}for(var c=r(e,a),l=0;l<i.length;l++){var u=n(i[l]);0===t[u].references&&(t[u].updater(),t.splice(u,1))}i=c}}},88128:e=>{var t={};e.exports=function(e,n){var r=function(e){if(void 0===t[e]){var n=document.querySelector(e);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}t[e]=n}return t[e]}(e);if(!r)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");r.appendChild(n)}},93051:e=>{e.exports=function(e){var t=document.createElement("style");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}},30855:(e,t,n)=>{e.exports=function(e){var t=n.nc;t&&e.setAttribute("nonce",t)}},1740:e=>{e.exports=function(e){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var t=e.insertStyleElement(e);return{update:function(n){!function(e,t,n){var r="";n.supports&&(r+="@supports (".concat(n.supports,") {")),n.media&&(r+="@media ".concat(n.media," {"));var a=void 0!==n.layer;a&&(r+="@layer".concat(n.layer.length>0?" ".concat(n.layer):""," {")),r+=n.css,a&&(r+="}"),n.media&&(r+="}"),n.supports&&(r+="}");var i=n.sourceMap;i&&"undefined"!=typeof btoa&&(r+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(i))))," */")),t.styleTagTransform(r,e,t.options)}(t,e,n)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}},73656:e=>{e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}},5578:(e,t,n)=>{e.exports=n.p+"images/9514fc4d.png"},48362:(e,t,n)=>{e.exports=n.p+"images/c5f34792.png"},93652:(e,t,n)=>{e.exports=n.p+"media/b43f5418.mp4"},93893:(e,t,n)=>{e.exports=n.p+"images/9111af40.png"},21949:(e,t,n)=>{e.exports=n.p+"images/e4eec39c.png"},17577:(e,t,n)=>{e.exports=n.p+"media/792b07b2.ttf"},59552:(e,t,n)=>{e.exports=n.p+"media/78c4b1bd.ttf"}}]);
2
- //# sourceMappingURL=crystal-ball-indicator.7d4537b8.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chunks/crystal-ball-indicator.7d4537b8.js","mappings":"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","sources":["webpack:///./src/crystal-ball-indicator/index.tsx","webpack:///./src/shared/CornerIndicator.tsx","webpack:///./src/shared/formatValue.ts","webpack:///./src/shared/useCenterScale.ts","webpack:///./src/shared/useContainerScale.ts","webpack:///./src/fonts/ALiBaBaPuHuiTi.css","webpack:///./src/fonts/PangMenZhengDaoBiaoTiTi.css","webpack:///./src/crystal-ball-indicator/styles.shadow.css","webpack:///./src/shared/CornerIndicator.shadow.css","webpack:///../../node_modules/css-loader/dist/runtime/getUrl.js","webpack:///./src/fonts/ALiBaBaPuHuiTi.css?7885","webpack:///./src/fonts/PangMenZhengDaoBiaoTiTi.css?e8bb","webpack:///../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack:///../../node_modules/style-loader/dist/runtime/insertBySelector.js","webpack:///../../node_modules/style-loader/dist/runtime/insertStyleElement.js","webpack:///../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js","webpack:///../../node_modules/style-loader/dist/runtime/styleDomAPI.js","webpack:///../../node_modules/style-loader/dist/runtime/styleTagTransform.js"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport { formatValue } from \"../shared/formatValue\";\nimport { CornerIndicator } from \"../shared/CornerIndicator\";\nimport { useContainerScale } from \"../shared/useContainerScale\";\nimport { useCenterScale } from \"../shared/useCenterScale\";\nimport crystalBallVideo from \"./assets/crystal-ball.mp4\";\nimport \"../fonts/ALiBaBaPuHuiTi.css\";\nimport \"../fonts/PangMenZhengDaoBiaoTiTi.css\";\nimport styleText from \"./styles.shadow.css\";\nimport cornerStyleText from \"../shared/CornerIndicator.shadow.css\";\n\nconst RING_SIZE = 572;\nconst RING_OFFSET = 16;\n\nconst { defineElement, property } = createDecorators();\n\nexport interface CrystalBallIndicatorProps {\n dataSource?: DataItem[];\n centerDataSource?: DataItem;\n cornerDataSource?: CornerDataItem[];\n maxScale?: number;\n}\n\nexport interface DataItem {\n label: string;\n value: string | number;\n}\n\nexport interface CornerDataItem extends DataItem {\n color?: string;\n}\n\ninterface DataItemWithPosition extends DataItem {\n x: number;\n y: number;\n}\n\n/**\n * 有水晶球动画的数据展示构件。\n */\nexport\n@defineElement(\"data-view.crystal-ball-indicator\", {\n styleTexts: [styleText, cornerStyleText],\n})\nclass CrystalBallIndicator\n extends ReactNextElement\n implements CrystalBallIndicatorProps\n{\n /** 指标数据列表(显示在环上)\n *\n * 注意:最多显示12项数据\n */\n @property({ attribute: false })\n accessor dataSource: DataItem[] | undefined;\n\n /** 中心数据(显示在中心水晶球内) */\n @property({ attribute: false })\n accessor centerDataSource: DataItem | undefined;\n\n /**\n * 左上角指标数据列表\n */\n @property({ attribute: false })\n accessor cornerDataSource: CornerDataItem[] | undefined;\n\n /**\n * 最大缩放比例\n *\n * @default 1\n */\n @property({ type: Number })\n accessor maxScale: number | undefined;\n\n render() {\n return (\n <CrystalBallIndicatorComponent\n root={this}\n dataSource={this.dataSource}\n centerDataSource={this.centerDataSource}\n cornerDataSource={this.cornerDataSource}\n maxScale={this.maxScale}\n />\n );\n }\n}\n\nexport interface CrystalBallIndicatorComponentProps\n extends CrystalBallIndicatorProps {\n root: CrystalBallIndicator;\n}\n\nexport function CrystalBallIndicatorComponent({\n root,\n dataSource,\n centerDataSource,\n cornerDataSource,\n maxScale,\n}: CrystalBallIndicatorComponentProps) {\n const scale = useContainerScale({ width: 810, height: 604, root, maxScale });\n const [centerValueScale, centerValueRef] = useCenterScale(280);\n\n // 计算环上标签的位置\n // 1. 将数据分为两组,分别在环的两侧\n // 2. 索引(从 0 开始)为偶数的数据在右侧,索引为奇数的数据在左侧\n // 3. 总数为偶数时,两侧数据对称,每组数据按照角度均匀分布\n // 4. 总数为奇数时,右侧数据比左侧数据多一个,右侧数据按照角度均匀分布,\n // 左侧第 N 个数据的角度为右侧第 N 个和第 N + 1 个数据的角度的中分角\n const labels = useMemo(() => {\n const clampedData = dataSource?.slice(0, 12) ?? [];\n if (clampedData.length === 0) {\n return [];\n }\n\n const half = Math.ceil(clampedData.length / 2);\n const even = clampedData.length % 2 === 0;\n const arc = Math.PI / (half + 1);\n const radius = RING_SIZE / 2;\n const center = radius + RING_OFFSET;\n\n let index = 0;\n let x: number;\n let y: number;\n let angle: number;\n const result: DataItemWithPosition[] = [];\n while (index < clampedData.length) {\n const item = clampedData[index];\n if (index % 2 === 0) {\n angle = arc * (index / 2 + 1) - Math.PI / 2;\n x = center + radius * Math.cos(angle);\n y = center + radius * Math.sin(angle);\n result.push({ ...item, x, y });\n } else if (even) {\n result.push({ ...item, x: center * 2 - x, y });\n } else {\n const oddAngle = Math.PI - (angle + arc / 2);\n result.push({\n ...item,\n x: center + radius * Math.cos(oddAngle),\n y: center + radius * Math.sin(oddAngle),\n });\n }\n index++;\n }\n return result;\n }, [dataSource]);\n\n return (\n <>\n <div\n className=\"circle-container\"\n style={\n {\n visibility: scale === null ? \"hidden\" : \"visible\",\n \"--scale\": scale,\n } as React.CSSProperties & {\n \"--scale\": number;\n }\n }\n >\n <div className=\"base\"></div>\n <div className=\"ring-container\">\n <div className=\"ring\"></div>\n <div className=\"video-container\">\n <video width={352} height={352} autoPlay muted loop playsInline>\n <source src={crystalBallVideo} type=\"video/mp4\" />\n </video>\n </div>\n </div>\n <div className=\"ring-labels\">\n {labels.map((item, index) => (\n <div\n key={index}\n className={`ring-label-container ${index % 2 === 0 ? \"even\" : \"odd\"}`}\n style={{\n left: item.x,\n top: item.y,\n }}\n >\n <div className=\"ring-icon\"></div>\n <div className=\"ring-label\">{item.label}</div>\n <div className=\"ring-value\">{formatValue(item.value)}</div>\n </div>\n ))}\n </div>\n <div className=\"center\">\n <div className=\"center-label\">{centerDataSource?.label}</div>\n <div\n className=\"center-value\"\n ref={centerValueRef}\n style={{\n visibility: centerValueScale === null ? \"hidden\" : \"visible\",\n transform: `scale(${centerValueScale ?? 1})`,\n }}\n >\n {formatValue(centerDataSource?.value)}\n </div>\n </div>\n </div>\n <CornerIndicator cornerDataSource={cornerDataSource} />\n </>\n );\n}\n","import React from \"react\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport type { Tag, TagProps } from \"@next-bricks/basic/tag\";\nimport { formatValue } from \"./formatValue\";\n\nconst WrappedTag = wrapBrick<Tag, TagProps>(\"eo-tag\");\n\nexport interface CornerDataItem {\n label: string;\n value: string | number;\n color?: string;\n}\n\nexport interface CornerIndicatorProps {\n cornerDataSource?: CornerDataItem[];\n}\n\nexport function CornerIndicator({ cornerDataSource }: CornerIndicatorProps) {\n return (\n <div className=\"corner\">\n {cornerDataSource?.map((item, index) => (\n <div key={index} className=\"corner-item\">\n <div className=\"corner-label\">{item.label}</div>\n <WrappedTag\n className=\"corner-value\"\n outline\n color={item.color}\n tagStyle={{\n fontSize: 18,\n padding: \"2px 16px\",\n }}\n >\n {formatValue(item.value)}\n </WrappedTag>\n </div>\n ))}\n </div>\n );\n}\n","const numberFormatter = new Intl.NumberFormat(\"zh-CN\", {\n useGrouping: true,\n});\n\nexport function formatValue(value: string | number): string {\n return isMeaningfulNumber(value) ? numberFormatter.format(+value) : value;\n}\n\n/**\n * 判断一个值是否是有意义的数字,包括数字和可以转换为数字的字符串。\n *\n * 但不包括 NaN、Infinity、-Infinity 等。\n *\n * Ref https://github.com/jonschlinkert/is-number/blob/master/index.js\n */\nexport function isMeaningfulNumber(value: unknown): value is number | string {\n if (typeof value === \"number\") {\n return value - value === 0;\n }\n if (typeof value === \"string\" && value.trim() !== \"\") {\n return /* istanbul ignore next */ (Number.isFinite ?? isFinite)(+value);\n }\n return false;\n}\n","import { useEffect, useRef, useState } from \"react\";\nimport ResizeObserver from \"resize-observer-polyfill\";\n\n/**\n * 让中心数据值不要超过球体范围,但缩放值最低不小于 0.3\n */\nexport function useCenterScale(maxWidth: number) {\n const [centerScale, setCenterScale] = useState<number | null>(null);\n const centerRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n const centerValueElement = centerRef.current;\n if (!centerValueElement) {\n return;\n }\n const observer = new ResizeObserver(() => {\n const width = centerValueElement.clientWidth;\n setCenterScale(Math.min(1, Math.max(0.3, maxWidth / width)));\n });\n observer.observe(centerValueElement);\n return () => observer.disconnect();\n }, [maxWidth]);\n\n return [centerScale, centerRef] as const;\n}\n","import { useEffect, useState } from \"react\";\nimport ResizeObserver from \"resize-observer-polyfill\";\n\n/**\n * 根据容器尺寸进行缩放\n */\nexport function useContainerScale({\n width: baseWidth,\n height: baseHeight,\n root,\n maxScale,\n}: {\n width: number;\n height: number;\n root: HTMLElement;\n /** 最大缩放比例,默认为 1 */\n maxScale?: number;\n}): number | null {\n const [scale, setScale] = useState<number | null>(null);\n\n useEffect(() => {\n // 当容器宽高低于预设值时,图形会自动缩小\n const observer = new ResizeObserver((entries) => {\n for (const entry of entries) {\n if (entry.target === root) {\n const { width, height } = entry.contentRect;\n setScale(\n Math.min(maxScale ?? 1, width / baseWidth, height / baseHeight)\n );\n }\n }\n });\n observer.observe(root);\n return () => observer.disconnect();\n }, [baseHeight, baseWidth, maxScale, root]);\n\n return scale;\n}\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"./ALiBaBaPuHuiTi.ttf\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `@font-face{font-family:ALiBaBaPuHuiTi;src:url(${___CSS_LOADER_URL_REPLACEMENT_0___})}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"./PangMenZhengDaoBiaoTiTi-3.0.ttf\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `@font-face{font-family:PangMenZhengDaoBiaoTiTi;src:url(${___CSS_LOADER_URL_REPLACEMENT_0___})}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"./assets/circle-bg.png\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_1___ = new URL(\"./assets/blue-dot.png\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_2___ = new URL(\"./assets/green-dot.png\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_3___ = new URL(\"./assets/ring-arc.png\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);\nvar ___CSS_LOADER_URL_REPLACEMENT_2___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_2___);\nvar ___CSS_LOADER_URL_REPLACEMENT_3___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_3___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host,\n.circle-container,\n.ring-container,\n.video-container,\n.center{display:flex;align-items:center;justify-content:center}:host{position:relative;color:#fff;height:100%}:host([hidden]){display:none}*{box-sizing:border-box}.circle-container,\n.base,\n.ring-labels{width:604px;height:604px}.circle-container{padding:16px;position:relative;transform:scale(var(--scale));--scale:1}.base,\n.ring-labels{position:absolute;left:50%;transform:translate(-50%,0);top:0}.base{background:url(${___CSS_LOADER_URL_REPLACEMENT_0___}) no-repeat;background-position:center;background-size:572px}.ring-label-container{position:absolute;padding:0 35px;margin-top:-14px;width:max-content}.ring-icon{position:absolute;width:36px;height:36px;background-repeat:no-repeat;background-size:100%;background-position:0 0;top:-4px}.odd{transform:translate(-100%,0);text-align:right}.odd .ring-icon{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_1___});right:-18px}.even .ring-icon{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_2___});left:-18px}.ring-label{color:rgba(200,226,255,0.8);font-size:18px}.ring-value{font-family:ALiBaBaPuHuiTi;font-size:28px;text-shadow:0px 4px 7px #514af7}.center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:292px;height:292px;flex-direction:column;text-shadow:0px 2px 4px rgba(0,0,0,0.5)}.center-label:empty,\n.center-value:empty{display:none}.center-label{font-size:24px;font-weight:600}.center-value{font-family:PangMenZhengDaoBiaoTiTi;font-size:64px}.ring-container{position:relative;width:408px;height:408px}.video-container{border-radius:9999px;width:292px;height:292px;overflow:hidden}.ring{position:absolute;width:100%;height:100%;top:0;left:0;background:url(${___CSS_LOADER_URL_REPLACEMENT_3___}) no-repeat;background-size:100% 100%;background-position:0 0;animation:ring-rotate 5s linear infinite}@keyframes ring-rotate{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.corner{position:absolute;top:13px;left:31px;font-size:18px}.corner-item{display:flex;margin-bottom:15px}.corner-label{font-weight:500;line-height:25px;color:rgba(255,255,255,0.85)}.corner-value{display:block;margin-left:19px}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","\"use strict\";\n\nmodule.exports = function (url, options) {\n if (!options) {\n options = {};\n }\n if (!url) {\n return url;\n }\n url = String(url.__esModule ? url.default : url);\n\n // If url is already wrapped in quotes, remove them\n if (/^['\"].*['\"]$/.test(url)) {\n url = url.slice(1, -1);\n }\n if (options.hash) {\n url += options.hash;\n }\n\n // Should url be wrapped?\n // See https://drafts.csswg.org/css-values-3/#urls\n if (/[\"'() \\t\\n]|(%20)/.test(url) || options.needQuotes) {\n return \"\\\"\".concat(url.replace(/\"/g, '\\\\\"').replace(/\\n/g, \"\\\\n\"), \"\\\"\");\n }\n return url;\n};","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./ALiBaBaPuHuiTi.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./ALiBaBaPuHuiTi.css\";\n export default content && content.locals ? content.locals : undefined;\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./PangMenZhengDaoBiaoTiTi.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./PangMenZhengDaoBiaoTiTi.css\";\n export default content && content.locals ? content.locals : undefined;\n","\"use strict\";\n\nvar stylesInDOM = [];\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n for (var i = 0; i < stylesInDOM.length; i++) {\n if (stylesInDOM[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n return result;\n}\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var indexByIdentifier = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3],\n supports: item[4],\n layer: item[5]\n };\n if (indexByIdentifier !== -1) {\n stylesInDOM[indexByIdentifier].references++;\n stylesInDOM[indexByIdentifier].updater(obj);\n } else {\n var updater = addElementStyle(obj, options);\n options.byIndex = i;\n stylesInDOM.splice(i, 0, {\n identifier: identifier,\n updater: updater,\n references: 1\n });\n }\n identifiers.push(identifier);\n }\n return identifiers;\n}\nfunction addElementStyle(obj, options) {\n var api = options.domAPI(options);\n api.update(obj);\n var updater = function updater(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) {\n return;\n }\n api.update(obj = newObj);\n } else {\n api.remove();\n }\n };\n return updater;\n}\nmodule.exports = function (list, options) {\n options = options || {};\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDOM[index].references--;\n }\n var newLastIdentifiers = modulesToDom(newList, options);\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n var _index = getIndexByIdentifier(_identifier);\n if (stylesInDOM[_index].references === 0) {\n stylesInDOM[_index].updater();\n stylesInDOM.splice(_index, 1);\n }\n }\n lastIdentifiers = newLastIdentifiers;\n };\n};","\"use strict\";\n\nvar memo = {};\n\n/* istanbul ignore next */\nfunction getTarget(target) {\n if (typeof memo[target] === \"undefined\") {\n var styleTarget = document.querySelector(target);\n\n // Special case to return head of iframe instead of iframe itself\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n memo[target] = styleTarget;\n }\n return memo[target];\n}\n\n/* istanbul ignore next */\nfunction insertBySelector(insert, style) {\n var target = getTarget(insert);\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n target.appendChild(style);\n}\nmodule.exports = insertBySelector;","\"use strict\";\n\n/* istanbul ignore next */\nfunction insertStyleElement(options) {\n var element = document.createElement(\"style\");\n options.setAttributes(element, options.attributes);\n options.insert(element, options.options);\n return element;\n}\nmodule.exports = insertStyleElement;","\"use strict\";\n\n/* istanbul ignore next */\nfunction setAttributesWithoutAttributes(styleElement) {\n var nonce = typeof __webpack_nonce__ !== \"undefined\" ? __webpack_nonce__ : null;\n if (nonce) {\n styleElement.setAttribute(\"nonce\", nonce);\n }\n}\nmodule.exports = setAttributesWithoutAttributes;","\"use strict\";\n\n/* istanbul ignore next */\nfunction apply(styleElement, options, obj) {\n var css = \"\";\n if (obj.supports) {\n css += \"@supports (\".concat(obj.supports, \") {\");\n }\n if (obj.media) {\n css += \"@media \".concat(obj.media, \" {\");\n }\n var needLayer = typeof obj.layer !== \"undefined\";\n if (needLayer) {\n css += \"@layer\".concat(obj.layer.length > 0 ? \" \".concat(obj.layer) : \"\", \" {\");\n }\n css += obj.css;\n if (needLayer) {\n css += \"}\";\n }\n if (obj.media) {\n css += \"}\";\n }\n if (obj.supports) {\n css += \"}\";\n }\n var sourceMap = obj.sourceMap;\n if (sourceMap && typeof btoa !== \"undefined\") {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n }\n\n // For old IE\n /* istanbul ignore if */\n options.styleTagTransform(css, styleElement, options.options);\n}\nfunction removeStyleElement(styleElement) {\n // istanbul ignore if\n if (styleElement.parentNode === null) {\n return false;\n }\n styleElement.parentNode.removeChild(styleElement);\n}\n\n/* istanbul ignore next */\nfunction domAPI(options) {\n if (typeof document === \"undefined\") {\n return {\n update: function update() {},\n remove: function remove() {}\n };\n }\n var styleElement = options.insertStyleElement(options);\n return {\n update: function update(obj) {\n apply(styleElement, options, obj);\n },\n remove: function remove() {\n removeStyleElement(styleElement);\n }\n };\n}\nmodule.exports = domAPI;","\"use strict\";\n\n/* istanbul ignore next */\nfunction styleTagTransform(css, styleElement) {\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css;\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild);\n }\n styleElement.appendChild(document.createTextNode(css));\n }\n}\nmodule.exports = styleTagTransform;"],"names":["RING_SIZE","RING_OFFSET","defineElement","property","createDecorators","_CrystalBallIndicator","_A","WeakMap","_B","_C","_D","CrystalBallIndicator","ReactNextElement","constructor","arguments","_classPrivateFieldInitSpec","_init_dataSource","_init_extra_dataSource","_init_centerDataSource","_init_extra_centerDataSource","_init_cornerDataSource","_init_extra_cornerDataSource","_init_maxScale","_init_extra_maxScale","dataSource","_classPrivateFieldGet","v","_classPrivateFieldSet","centerDataSource","cornerDataSource","maxScale","render","React","CrystalBallIndicatorComponent","root","this","_ref","scale","useContainerScale","width","height","centerValueScale","centerValueRef","useCenterScale","labels","useMemo","_dataSource$slice","clampedData","slice","length","half","Math","ceil","even","arc","PI","radius","center","x","y","angle","index","result","item","cos","sin","push","oddAngle","className","style","visibility","autoPlay","muted","loop","playsInline","src","crystalBallVideo","type","map","key","left","top","label","formatValue","value","ref","transform","CornerIndicator","_CrystalBallIndicator2","e","c","_initClass","_applyDecs","styleTexts","styleText","cornerStyleText","attribute","Number","WrappedTag","wrapBrick","outline","color","tagStyle","fontSize","padding","numberFormatter","Intl","NumberFormat","useGrouping","trim","_Number$isFinite","isFinite","isMeaningfulNumber","format","maxWidth","centerScale","setCenterScale","useState","centerRef","useRef","useEffect","centerValueElement","current","observer","ResizeObserver","clientWidth","min","max","observe","disconnect","baseWidth","baseHeight","setScale","entries","entry","target","contentRect","___CSS_LOADER_URL_IMPORT_0___","URL","___CSS_LOADER_EXPORT___","___CSS_LOADER_URL_REPLACEMENT_0___","module","id","___CSS_LOADER_URL_IMPORT_1___","___CSS_LOADER_URL_IMPORT_2___","___CSS_LOADER_URL_IMPORT_3___","___CSS_LOADER_URL_REPLACEMENT_1___","___CSS_LOADER_URL_REPLACEMENT_2___","___CSS_LOADER_URL_REPLACEMENT_3___","toString","exports","url","options","String","__esModule","default","test","hash","needQuotes","concat","replace","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","stylesInDOM","getIndexByIdentifier","identifier","i","modulesToDom","list","idCountMap","identifiers","base","count","indexByIdentifier","obj","css","media","sourceMap","supports","layer","references","updater","addElementStyle","byIndex","splice","api","update","newObj","remove","lastIdentifiers","newList","newLastIdentifiers","_i","_index","memo","styleTarget","document","querySelector","window","HTMLIFrameElement","contentDocument","head","getTarget","Error","appendChild","element","createElement","attributes","styleElement","nonce","setAttribute","needLayer","btoa","unescape","encodeURIComponent","JSON","stringify","apply","parentNode","removeChild","removeStyleElement","styleSheet","cssText","firstChild","createTextNode"],"sourceRoot":""}
@@ -1,2 +0,0 @@
1
- "use strict";(globalThis.webpackChunk_next_bricks_data_view=globalThis.webpackChunk_next_bricks_data_view||[]).push([[7889],{77687:(e,t,r)=>{r.r(t),r.d(t,{GlobeWithGearIndicator:()=>B,GlobeWithGearIndicatorComponent:()=>O});var n,a=r(70918),o=r(86121),i=r(70829),s=r(62740),l=r(18769),c=r.n(l),d=r(10300),u=r(24295),p=(r(44291),r(82650)),h=r(57384),m=r(47906),f=r(11752),g=(r(95178),r(77293),r(70102)),b=r(92481);let x,v,y,w,S,E,M,A,k;const N=930,F=590,D=F-2,I=150,$=["#83F5E1","#FE8328","#296DFF","#214ED2","#9CC5FF","#67E0D8","#BF145B","#4FAAFF","#5245E2","#9281EE","#F8AB05","#2C9966"],P=229,T=465,C=317,L=(0,u.wrapBrick)("data-view.gear-background"),{defineElement:z,property:R}=(0,d.createDecorators)();let B;var _=new WeakMap,H=new WeakMap,U=new WeakMap,W=new WeakMap;class G extends u.ReactNextElement{constructor(){super(...arguments),(0,a.A)(this,_,v(this)),(0,a.A)(this,H,(y(this),w(this))),(0,a.A)(this,U,(S(this),E(this))),(0,a.A)(this,W,(M(this),A(this))),k(this)}get dataSource(){return(0,i.A)(_,this)}set dataSource(e){(0,o.A)(_,this,e)}get centerDataSource(){return(0,i.A)(H,this)}set centerDataSource(e){(0,o.A)(H,this,e)}get cornerDataSource(){return(0,i.A)(U,this)}set cornerDataSource(e){(0,o.A)(U,this,e)}get maxScale(){return(0,i.A)(W,this)}set maxScale(e){(0,o.A)(W,this,e)}render(){return c().createElement(O,{root:this,dataSource:this.dataSource,centerDataSource:this.centerDataSource,cornerDataSource:this.cornerDataSource,maxScale:this.maxScale})}}function O(e){let{root:t,dataSource:r,centerDataSource:n,cornerDataSource:a,maxScale:o}=e;const i=(0,m.D)({width:N,height:F,root:t,maxScale:o}),[s,d]=(0,f.L)(360),u=(0,l.useMemo)((()=>{var e;const t=null!==(e=null==r?void 0:r.slice(0,12))&&void 0!==e?e:[];if(0===t.length)return[];const n=Math.ceil(t.length/2),a=t.length%2==0,o=Math.PI/(n+1);let i,s=0;const l=[];for(;s<t.length;){const e=t[s],r=$[s%$.length];if(s%2==0)i=o*(s/2+1)-Math.PI/2,l.push({...e,color:r,...j(i,!0)});else{const t=a?Math.PI-i:Math.PI-(i+o/2);l.push({...e,color:r,...j(t,!1)})}s++}return l}),[r]);return c().createElement(c().Fragment,null,c().createElement("div",{className:"gear-container",style:{visibility:null===i?"hidden":"visible","--scale":i}},c().createElement(L,{color:"#3366FF",className:"gear"}),c().createElement("div",{className:"center"},c().createElement("div",{className:"dots"}),c().createElement("div",{className:"radar"}),c().createElement("div",{className:"globe"}),n&&c().createElement("div",{className:"center-border level-1",ref:d,style:{visibility:null===s?"hidden":"visible",transform:`scale(${null!=s?s:1})`}},c().createElement("div",{className:"center-border level-2"},c().createElement("div",{className:"center-border level-3"},c().createElement("div",{className:"center-border level-4"},c().createElement("div",{className:"center-value"},(0,p.F)(null==n?void 0:n.value)),c().createElement("div",{className:"center-label"},null==n?void 0:n.label))))),c().createElement("div",{className:"light"})),c().createElement("svg",{className:"ring-lines",width:N,height:F,viewBox:`0 0 ${N} ${F}`},u.map(((e,t)=>c().createElement("g",{key:t,strokeWidth:2,fill:"none"},c().createElement("path",{d:`M ${e.x} ${e.y} L ${e.x2} ${e.y2} H ${e.x3}`,stroke:"rgba(255,255,255,0.2)"}),c().createElement("path",{d:`M ${e.x3} ${e.y2} h ${13*(t%2==0?1:-1)}`,stroke:e.color}))))),c().createElement("div",{className:"ring-labels"},u.map(((e,t)=>c().createElement("div",{key:t,className:"ring-label-container "+(t%2==0?"even":"odd"),style:{width:Math.abs(e.x3-e.x2),left:t%2==0?e.x2:e.x3,top:e.y2-60}},c().createElement("div",{className:"ring-label-box"},c().createElement("div",{className:"ring-icon",style:{background:e.color}}),c().createElement("div",{className:"ring-label"},e.label),c().createElement("div",{className:"ring-value"},(0,p.F)(e.value)))))))),c().createElement(h.x,{cornerDataSource:a}))}function j(e,t){const r=T+P*Math.cos(e),n=C+P*Math.sin(e);let a,o,i;const s=(t?1:-1)*I;if(t?e>0:e<Math.PI){const l=s*((t?e<Math.PI/4:e>3*Math.PI/4)?2*(1+(t?-1:1)*Math.cos(e)/2):1),c=t?Math.PI/6:5*Math.PI/6,d=72/Math.cos(e-c)/((t?1:-1)*Math.cos(e));o=n+d*Math.sin(c),o>D?(o=D,a=r+(o-n)/Math.tan(c)):a=r+d*Math.cos(c),i=a+l}else{const l=s,c=t?-Math.PI/6:7*Math.PI/6,d=72/Math.cos(e-c);a=r+d*Math.cos(c),o=n+d*Math.sin(c),i=a+l}return{x:r,y:n,x2:a,y2:o,x3:i}}n=G,({e:[v,y,w,S,E,M,A,k],c:[B,x]}=(0,s.A)(n,[z("data-view.globe-with-gear-indicator",{styleTexts:[g.A,b.A]})],[[R({attribute:!1}),1,"dataSource"],[R({attribute:!1}),1,"centerDataSource"],[R({attribute:!1}),1,"cornerDataSource"],[R({type:Number}),1,"maxScale"]],0,void 0,u.ReactNextElement)),x()},57384:(e,t,r)=>{r.d(t,{x:()=>l});var n=r(18769),a=r.n(n),o=r(24295),i=r(82650);const s=(0,o.wrapBrick)("eo-tag");function l(e){let{cornerDataSource:t}=e;return a().createElement("div",{className:"corner"},null==t?void 0:t.map(((e,t)=>a().createElement("div",{key:t,className:"corner-item"},a().createElement("div",{className:"corner-label"},e.label),a().createElement(s,{className:"corner-value",outline:!0,color:e.color,tagStyle:{fontSize:18,padding:"2px 16px"}},(0,i.F)(e.value))))))}},82650:(e,t,r)=>{r.d(t,{F:()=>a});const n=new Intl.NumberFormat("zh-CN",{useGrouping:!0});function a(e){return function(e){return"number"==typeof e?e-e==0:"string"==typeof e&&""!==e.trim()&&(null!==(t=Number.isFinite)&&void 0!==t?t:isFinite)(+e);var t}(e)?n.format(+e):e}},11752:(e,t,r)=>{r.d(t,{L:()=>o});var n=r(18769),a=r(99126);function o(e){const[t,r]=(0,n.useState)(null),o=(0,n.useRef)(null);return(0,n.useEffect)((()=>{const t=o.current;if(!t)return;const n=new a.A((()=>{const n=t.clientWidth;r(Math.min(1,Math.max(.3,e/n)))}));return n.observe(t),()=>n.disconnect()}),[e]),[t,o]}},47906:(e,t,r)=>{r.d(t,{D:()=>o});var n=r(18769),a=r(99126);function o(e){let{width:t,height:r,root:o,maxScale:i}=e;const[s,l]=(0,n.useState)(null);return(0,n.useEffect)((()=>{const e=new a.A((e=>{for(const n of e)if(n.target===o){const{width:e,height:a}=n.contentRect;l(Math.min(null!=i?i:1,e/t,a/r))}}));return e.observe(o),()=>e.disconnect()}),[r,t,i,o]),s}},97136:(e,t,r)=>{r.d(t,{A:()=>p});var n=r(36758),a=r.n(n),o=r(40935),i=r.n(o),s=r(20062),l=r.n(s),c=new URL(r(17577),r.b),d=i()(a()),u=l()(c);d.push([e.id,`@font-face{font-family:ALiBaBaPuHuiTi;src:url(${u})}`,""]);const p=d},40703:(e,t,r)=>{r.d(t,{A:()=>m});var n=r(36758),a=r.n(n),o=r(40935),i=r.n(o),s=r(20062),l=r.n(s),c=new URL(r(81026),r.b),d=new URL(r(9239),r.b),u=i()(a()),p=l()(c),h=l()(d);u.push([e.id,`@font-face{font-family:HarmonyOSSans;src:url(${p});font-weight:normal}@font-face{font-family:HarmonyOSSans;src:url(${h});font-weight:bold}`,""]);const m=u},70102:(e,t,r)=>{r.d(t,{A:()=>x});var n=r(36758),a=r.n(n),o=r(40935),i=r.n(o),s=r(20062),l=r.n(s),c=new URL(r(42600),r.b),d=new URL(r(32346),r.b),u=new URL(r(1342),r.b),p=new URL(r(34318),r.b),h=i()(a()),m=l()(c),f=l()(d),g=l()(u),b=l()(p);h.push([e.id,`:host,\n.center{display:flex;align-items:center;justify-content:center}:host{position:relative;color:#fff;height:100%}:host([hidden]){display:none}*{box-sizing:border-box}.gear-container{width:930px;height:590px;position:relative;transform:scale(var(--scale));--scale:1}.gear,\n.dots,\n.radar,\n.globe,\n.light,\n.ring-lines,\n.ring-labels{position:absolute;left:50%;transform:translate(-50%,0)}.gear,\n.radar{bottom:-42px;width:630px;height:630px}.dots{width:542px;height:542px;border-radius:542px;overflow:hidden;background:url(${m}) no-repeat;background-position:center;background-size:542px}.radar{background:url(${f}) no-repeat;background-position:center;background-size:458px;animation:rotating-radar 2.6s linear infinite}.globe{width:455px;height:458px;background:url(${g}) no-repeat;background-position:center;background-size:100%}.light{pointer-events:none;bottom:98px;width:207px;height:208px;background:url(${b}) no-repeat;background-position:center;background-size:100%;animation:flash-light 0.5s linear infinite alternate-reverse}.center{position:absolute;bottom:0;width:100%;height:546px;text-align:center}.center-border{border-width:1px;border-style:solid;border-radius:16px}.center-border.level-1{position:relative;padding:12px;border-color:rgb(68,219,242,0.2)}.center-border.level-2{padding:10px;border-color:rgb(68,219,242,0.4)}.center-border.level-3{padding:9px;border-color:rgb(68,219,242,0.6)}.center-border.level-4{padding:18px;border-radius:13px;border-color:rgb(68,219,242,0.8)}.center-label:empty,\n.center-value:empty{display:none}.center-label{font-size:24px;line-height:33px;font-weight:600;margin-top:13px;color:rgba(255,255,255,0.65)}.center-value{font-family:HarmonyOSSans;font-weight:bold;font-size:50px;line-height:60px;text-shadow:0px 2px 4px #296dff}.corner{position:absolute;top:13px;left:31px;font-size:18px}.corner-item{display:flex;margin-bottom:15px}.corner-label{font-weight:500;line-height:25px}.corner-value{display:block;margin-left:19px}.ring-lines{top:0;pointer-events:none}.ring-labels{width:930px;top:0}.ring-label-container{position:absolute;display:flex;justify-content:center}.ring-label-box{position:relative;padding:0 18px;width:max-content}.ring-icon{position:absolute;top:5px;left:0;width:11px;height:11px;border-radius:0px 4px}.ring-label{color:rgba(255,255,255,0.65);font-family:ALiBaBaPuHuiTi;font-size:14px;line-height:20px}.ring-value{font-family:HarmonyOSSans;font-size:23px;line-height:34px}@keyframes rotating-radar{from{transform:translate(-50%,0) rotate(0deg)}to{transform:translate(-50%,0) rotate(360deg)}}@keyframes flash-light{from{opacity:0}to{opacity:1}}`,""]);const x=h.toString()},92481:(e,t,r)=>{r.d(t,{A:()=>s});var n=r(36758),a=r.n(n),o=r(40935),i=r.n(o)()(a());i.push([e.id,".corner{position:absolute;top:13px;left:31px;font-size:18px}.corner-item{display:flex;margin-bottom:15px}.corner-label{font-weight:500;line-height:25px;color:rgba(255,255,255,0.85)}.corner-value{display:block;margin-left:19px}",""]);const s=i.toString()},20062:e=>{e.exports=function(e,t){return t||(t={}),e?(e=String(e.__esModule?e.default:e),/^['"].*['"]$/.test(e)&&(e=e.slice(1,-1)),t.hash&&(e+=t.hash),/["'() \t\n]|(%20)/.test(e)||t.needQuotes?'"'.concat(e.replace(/"/g,'\\"').replace(/\n/g,"\\n"),'"'):e):e}},95178:(e,t,r)=>{var n=r(72591),a=r.n(n),o=r(1740),i=r.n(o),s=r(88128),l=r.n(s),c=r(30855),d=r.n(c),u=r(93051),p=r.n(u),h=r(73656),m=r.n(h),f=r(97136),g={};g.styleTagTransform=m(),g.setAttributes=d(),g.insert=l().bind(null,"head"),g.domAPI=i(),g.insertStyleElement=p(),a()(f.A,g),f.A&&f.A.locals&&f.A.locals},77293:(e,t,r)=>{var n=r(72591),a=r.n(n),o=r(1740),i=r.n(o),s=r(88128),l=r.n(s),c=r(30855),d=r.n(c),u=r(93051),p=r.n(u),h=r(73656),m=r.n(h),f=r(40703),g={};g.styleTagTransform=m(),g.setAttributes=d(),g.insert=l().bind(null,"head"),g.domAPI=i(),g.insertStyleElement=p(),a()(f.A,g),f.A&&f.A.locals&&f.A.locals},72591:e=>{var t=[];function r(e){for(var r=-1,n=0;n<t.length;n++)if(t[n].identifier===e){r=n;break}return r}function n(e,n){for(var o={},i=[],s=0;s<e.length;s++){var l=e[s],c=n.base?l[0]+n.base:l[0],d=o[c]||0,u="".concat(c," ").concat(d);o[c]=d+1;var p=r(u),h={css:l[1],media:l[2],sourceMap:l[3],supports:l[4],layer:l[5]};if(-1!==p)t[p].references++,t[p].updater(h);else{var m=a(h,n);n.byIndex=s,t.splice(s,0,{identifier:u,updater:m,references:1})}i.push(u)}return i}function a(e,t){var r=t.domAPI(t);return r.update(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap&&t.supports===e.supports&&t.layer===e.layer)return;r.update(e=t)}else r.remove()}}e.exports=function(e,a){var o=n(e=e||[],a=a||{});return function(e){e=e||[];for(var i=0;i<o.length;i++){var s=r(o[i]);t[s].references--}for(var l=n(e,a),c=0;c<o.length;c++){var d=r(o[c]);0===t[d].references&&(t[d].updater(),t.splice(d,1))}o=l}}},88128:e=>{var t={};e.exports=function(e,r){var n=function(e){if(void 0===t[e]){var r=document.querySelector(e);if(window.HTMLIFrameElement&&r instanceof window.HTMLIFrameElement)try{r=r.contentDocument.head}catch(e){r=null}t[e]=r}return t[e]}(e);if(!n)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");n.appendChild(r)}},93051:e=>{e.exports=function(e){var t=document.createElement("style");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}},30855:(e,t,r)=>{e.exports=function(e){var t=r.nc;t&&e.setAttribute("nonce",t)}},1740:e=>{e.exports=function(e){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var t=e.insertStyleElement(e);return{update:function(r){!function(e,t,r){var n="";r.supports&&(n+="@supports (".concat(r.supports,") {")),r.media&&(n+="@media ".concat(r.media," {"));var a=void 0!==r.layer;a&&(n+="@layer".concat(r.layer.length>0?" ".concat(r.layer):""," {")),n+=r.css,a&&(n+="}"),r.media&&(n+="}"),r.supports&&(n+="}");var o=r.sourceMap;o&&"undefined"!=typeof btoa&&(n+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(o))))," */")),t.styleTagTransform(n,e,t.options)}(t,e,r)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}},73656:e=>{e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}},17577:(e,t,r)=>{e.exports=r.p+"media/792b07b2.ttf"},81026:(e,t,r)=>{e.exports=r.p+"media/cc0a5a55.ttf"},9239:(e,t,r)=>{e.exports=r.p+"media/2978c0ae.ttf"},42600:(e,t,r)=>{e.exports=r.p+"images/f1a78578.png"},1342:(e,t,r)=>{e.exports=r.p+"images/12997c2b.png"},34318:(e,t,r)=>{e.exports=r.p+"images/2235938c.png"},32346:(e,t,r)=>{e.exports=r.p+"images/73baf989.png"}}]);
2
- //# sourceMappingURL=globe-with-gear-indicator.e8196cc6.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chunks/globe-with-gear-indicator.e8196cc6.js","mappings":"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","sources":["webpack:///./src/globe-with-gear-indicator/index.tsx","webpack:///./src/shared/CornerIndicator.tsx","webpack:///./src/shared/formatValue.ts","webpack:///./src/shared/useCenterScale.ts","webpack:///./src/shared/useContainerScale.ts","webpack:///./src/fonts/ALiBaBaPuHuiTi.css","webpack:///./src/fonts/HarmonyOSSans.css","webpack:///./src/globe-with-gear-indicator/styles.shadow.css","webpack:///./src/shared/CornerIndicator.shadow.css","webpack:///../../node_modules/css-loader/dist/runtime/getUrl.js","webpack:///./src/fonts/ALiBaBaPuHuiTi.css?7885","webpack:///./src/fonts/HarmonyOSSans.css?a0fb","webpack:///../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack:///../../node_modules/style-loader/dist/runtime/insertBySelector.js","webpack:///../../node_modules/style-loader/dist/runtime/insertStyleElement.js","webpack:///../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js","webpack:///../../node_modules/style-loader/dist/runtime/styleDomAPI.js","webpack:///../../node_modules/style-loader/dist/runtime/styleTagTransform.js"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport { formatValue } from \"../shared/formatValue\";\nimport { CornerIndicator } from \"../shared/CornerIndicator\";\nimport { useContainerScale } from \"../shared/useContainerScale\";\nimport { useCenterScale } from \"../shared/useCenterScale\";\nimport type { GearBackground, GearBackgroundProps } from \"../gear-background\";\nimport \"../fonts/ALiBaBaPuHuiTi.css\";\nimport \"../fonts/HarmonyOSSans.css\";\nimport styleText from \"./styles.shadow.css\";\nimport cornerStyleText from \"../shared/CornerIndicator.shadow.css\";\n\nconst BASE_WIDTH = 930;\nconst BASE_HEIGHT = 590;\nconst MAX_LINE_Y = BASE_HEIGHT - 2;\nconst BASE_LINE_WIDTH = 150;\n\nconst PALETTE: string[] = [\n \"#83F5E1\",\n \"#FE8328\",\n \"#296DFF\",\n \"#214ED2\",\n \"#9CC5FF\",\n \"#67E0D8\",\n \"#BF145B\",\n \"#4FAAFF\",\n \"#5245E2\",\n \"#9281EE\",\n \"#F8AB05\",\n \"#2C9966\",\n // \"#CAD1DB\",\n // \"#88909B\",\n // \"#00A7CC\",\n // \"#50FFFF\",\n // \"#3366FF\",\n // \"#99CCFF\",\n // \"#6600FF\",\n // \"#9999FF\",\n];\n\nconst RING_RADIUS = 229;\nconst RING_CX = 465;\nconst RING_CY = 317;\n\nconst WrappedGearBackground = wrapBrick<GearBackground, GearBackgroundProps>(\n \"data-view.gear-background\"\n);\n\nconst { defineElement, property } = createDecorators();\n\nexport interface GlobeWithGearIndicatorProps {\n dataSource?: DataItem[];\n centerDataSource?: DataItem;\n cornerDataSource?: CornerDataItem[];\n maxScale?: number;\n}\n\nexport interface DataItem {\n label: string;\n value: string | number;\n}\n\nexport interface CornerDataItem extends DataItem {\n color?: string;\n}\n\ninterface DataItemWithPosition extends DataItem {\n color: string;\n x: number;\n y: number;\n x2: number;\n y2: number;\n x3: number;\n}\n\n/**\n * 地球加轮盘的数据展示构件。\n */\nexport\n@defineElement(\"data-view.globe-with-gear-indicator\", {\n styleTexts: [styleText, cornerStyleText],\n})\nclass GlobeWithGearIndicator\n extends ReactNextElement\n implements GlobeWithGearIndicatorProps\n{\n /** 指标数据列表(显示在环上)\n *\n * 注意:最多显示12项数据\n */\n @property({ attribute: false })\n accessor dataSource: DataItem[] | undefined;\n\n /** 中心数据(显示在中心水晶球内) */\n @property({ attribute: false })\n accessor centerDataSource: DataItem | undefined;\n\n /**\n * 左上角指标数据列表\n */\n @property({ attribute: false })\n accessor cornerDataSource: CornerDataItem[] | undefined;\n\n /**\n * 最大缩放比例\n *\n * @default 1\n */\n @property({ type: Number })\n accessor maxScale: number | undefined;\n\n render() {\n return (\n <GlobeWithGearIndicatorComponent\n root={this}\n dataSource={this.dataSource}\n centerDataSource={this.centerDataSource}\n cornerDataSource={this.cornerDataSource}\n maxScale={this.maxScale}\n />\n );\n }\n}\n\nexport interface GlobeWithGearIndicatorComponentProps\n extends GlobeWithGearIndicatorProps {\n root: GlobeWithGearIndicator;\n}\n\nexport function GlobeWithGearIndicatorComponent({\n root,\n dataSource,\n centerDataSource,\n cornerDataSource,\n maxScale,\n}: GlobeWithGearIndicatorComponentProps) {\n const scale = useContainerScale({\n width: BASE_WIDTH,\n height: BASE_HEIGHT,\n root,\n maxScale,\n });\n const [centerValueScale, centerValueRef] = useCenterScale(360);\n\n // 计算环上标签的位置\n // 1. 将数据分为两组,分别在环的两侧\n // 2. 索引(从 0 开始)为偶数的数据在右侧,索引为奇数的数据在左侧\n // 3. 总数为偶数时,两侧数据对称,每组数据按照角度均匀分布\n // 4. 总数为奇数时,右侧数据比左侧数据多一个,右侧数据按照角度均匀分布,\n // 左侧第 N 个数据的角度为右侧第 N 个和第 N + 1 个数据的角度的中分角\n const labels = useMemo(() => {\n const clampedData = dataSource?.slice(0, 12) ?? [];\n if (clampedData.length === 0) {\n return [];\n }\n\n const half = Math.ceil(clampedData.length / 2);\n const even = clampedData.length % 2 === 0;\n const arc = Math.PI / (half + 1);\n\n let index = 0;\n let angle: number;\n const result: DataItemWithPosition[] = [];\n while (index < clampedData.length) {\n const item = clampedData[index];\n const color = PALETTE[index % PALETTE.length];\n if (index % 2 === 0) {\n angle = arc * (index / 2 + 1) - Math.PI / 2;\n result.push({ ...item, color, ...getLinePosition(angle, true) });\n } else {\n const oddAngle = even ? Math.PI - angle : Math.PI - (angle + arc / 2);\n result.push({ ...item, color, ...getLinePosition(oddAngle, false) });\n }\n index++;\n }\n return result;\n }, [dataSource]);\n\n return (\n <>\n <div\n className=\"gear-container\"\n style={\n {\n visibility: scale === null ? \"hidden\" : \"visible\",\n \"--scale\": scale,\n } as React.CSSProperties & {\n \"--scale\": number;\n }\n }\n >\n <WrappedGearBackground color=\"#3366FF\" className=\"gear\" />\n <div className=\"center\">\n <div className=\"dots\"></div>\n <div className=\"radar\"></div>\n <div className=\"globe\"></div>\n {centerDataSource && (\n <div\n className=\"center-border level-1\"\n ref={centerValueRef}\n style={{\n visibility: centerValueScale === null ? \"hidden\" : \"visible\",\n transform: `scale(${centerValueScale ?? 1})`,\n }}\n >\n <div className=\"center-border level-2\">\n <div className=\"center-border level-3\">\n <div className=\"center-border level-4\">\n <div className=\"center-value\">\n {formatValue(centerDataSource?.value)}\n </div>\n <div className=\"center-label\">\n {centerDataSource?.label}\n </div>\n </div>\n </div>\n </div>\n </div>\n )}\n <div className=\"light\"></div>\n </div>\n <svg\n className=\"ring-lines\"\n width={BASE_WIDTH}\n height={BASE_HEIGHT}\n viewBox={`0 0 ${BASE_WIDTH} ${BASE_HEIGHT}`}\n >\n {labels.map((item, index) => (\n <g key={index} strokeWidth={2} fill=\"none\">\n <path\n d={`M ${item.x} ${item.y} L ${item.x2} ${item.y2} H ${item.x3}`}\n stroke=\"rgba(255,255,255,0.2)\"\n />\n <path\n d={`M ${item.x3} ${item.y2} h ${(index % 2 === 0 ? 1 : -1) * 13}`}\n stroke={item.color}\n />\n </g>\n ))}\n </svg>\n <div className=\"ring-labels\">\n {labels.map((item, index) => (\n <div\n key={index}\n className={`ring-label-container ${index % 2 === 0 ? \"even\" : \"odd\"}`}\n style={{\n width: Math.abs(item.x3 - item.x2),\n left: index % 2 === 0 ? item.x2 : item.x3,\n top: item.y2 - 60,\n }}\n >\n <div className=\"ring-label-box\">\n <div\n className=\"ring-icon\"\n style={{ background: item.color }}\n ></div>\n <div className=\"ring-label\">{item.label}</div>\n <div className=\"ring-value\">{formatValue(item.value)}</div>\n </div>\n </div>\n ))}\n </div>\n </div>\n <CornerIndicator cornerDataSource={cornerDataSource} />\n </>\n );\n}\n\nfunction getLinePosition(angle: number, even: boolean) {\n const x = RING_CX + RING_RADIUS * Math.cos(angle);\n const y = RING_CY + RING_RADIUS * Math.sin(angle);\n let x2: number;\n let y2: number;\n let x3: number;\n const baseWidth = (even ? 1 : -1) * BASE_LINE_WIDTH;\n if (even ? angle > 0 : angle < Math.PI) {\n const width =\n baseWidth *\n ((even ? angle < Math.PI / 4 : angle > (Math.PI * 3) / 4)\n ? 2 * (1 + ((even ? -1 : 1) * Math.cos(angle)) / 2)\n : 1);\n const lineAngle = even ? Math.PI / 6 : (Math.PI * 5) / 6;\n const lineRadius =\n 72 / Math.cos(angle - lineAngle) / ((even ? 1 : -1) * Math.cos(angle));\n y2 = y + lineRadius * Math.sin(lineAngle);\n if (y2 > MAX_LINE_Y) {\n y2 = MAX_LINE_Y;\n x2 = x + (y2 - y) / Math.tan(lineAngle);\n } else {\n x2 = x + lineRadius * Math.cos(lineAngle);\n }\n x3 = x2 + width;\n } else {\n const width = baseWidth;\n const lineAngle = even ? -Math.PI / 6 : (Math.PI * 7) / 6;\n const lineRadius = 72 / Math.cos(angle - lineAngle);\n x2 = x + lineRadius * Math.cos(lineAngle);\n y2 = y + lineRadius * Math.sin(lineAngle);\n x3 = x2 + width;\n }\n return { x, y, x2, y2, x3 };\n}\n","import React from \"react\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport type { Tag, TagProps } from \"@next-bricks/basic/tag\";\nimport { formatValue } from \"./formatValue\";\n\nconst WrappedTag = wrapBrick<Tag, TagProps>(\"eo-tag\");\n\nexport interface CornerDataItem {\n label: string;\n value: string | number;\n color?: string;\n}\n\nexport interface CornerIndicatorProps {\n cornerDataSource?: CornerDataItem[];\n}\n\nexport function CornerIndicator({ cornerDataSource }: CornerIndicatorProps) {\n return (\n <div className=\"corner\">\n {cornerDataSource?.map((item, index) => (\n <div key={index} className=\"corner-item\">\n <div className=\"corner-label\">{item.label}</div>\n <WrappedTag\n className=\"corner-value\"\n outline\n color={item.color}\n tagStyle={{\n fontSize: 18,\n padding: \"2px 16px\",\n }}\n >\n {formatValue(item.value)}\n </WrappedTag>\n </div>\n ))}\n </div>\n );\n}\n","const numberFormatter = new Intl.NumberFormat(\"zh-CN\", {\n useGrouping: true,\n});\n\nexport function formatValue(value: string | number): string {\n return isMeaningfulNumber(value) ? numberFormatter.format(+value) : value;\n}\n\n/**\n * 判断一个值是否是有意义的数字,包括数字和可以转换为数字的字符串。\n *\n * 但不包括 NaN、Infinity、-Infinity 等。\n *\n * Ref https://github.com/jonschlinkert/is-number/blob/master/index.js\n */\nexport function isMeaningfulNumber(value: unknown): value is number | string {\n if (typeof value === \"number\") {\n return value - value === 0;\n }\n if (typeof value === \"string\" && value.trim() !== \"\") {\n return /* istanbul ignore next */ (Number.isFinite ?? isFinite)(+value);\n }\n return false;\n}\n","import { useEffect, useRef, useState } from \"react\";\nimport ResizeObserver from \"resize-observer-polyfill\";\n\n/**\n * 让中心数据值不要超过球体范围,但缩放值最低不小于 0.3\n */\nexport function useCenterScale(maxWidth: number) {\n const [centerScale, setCenterScale] = useState<number | null>(null);\n const centerRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n const centerValueElement = centerRef.current;\n if (!centerValueElement) {\n return;\n }\n const observer = new ResizeObserver(() => {\n const width = centerValueElement.clientWidth;\n setCenterScale(Math.min(1, Math.max(0.3, maxWidth / width)));\n });\n observer.observe(centerValueElement);\n return () => observer.disconnect();\n }, [maxWidth]);\n\n return [centerScale, centerRef] as const;\n}\n","import { useEffect, useState } from \"react\";\nimport ResizeObserver from \"resize-observer-polyfill\";\n\n/**\n * 根据容器尺寸进行缩放\n */\nexport function useContainerScale({\n width: baseWidth,\n height: baseHeight,\n root,\n maxScale,\n}: {\n width: number;\n height: number;\n root: HTMLElement;\n /** 最大缩放比例,默认为 1 */\n maxScale?: number;\n}): number | null {\n const [scale, setScale] = useState<number | null>(null);\n\n useEffect(() => {\n // 当容器宽高低于预设值时,图形会自动缩小\n const observer = new ResizeObserver((entries) => {\n for (const entry of entries) {\n if (entry.target === root) {\n const { width, height } = entry.contentRect;\n setScale(\n Math.min(maxScale ?? 1, width / baseWidth, height / baseHeight)\n );\n }\n }\n });\n observer.observe(root);\n return () => observer.disconnect();\n }, [baseHeight, baseWidth, maxScale, root]);\n\n return scale;\n}\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"./ALiBaBaPuHuiTi.ttf\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `@font-face{font-family:ALiBaBaPuHuiTi;src:url(${___CSS_LOADER_URL_REPLACEMENT_0___})}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"./HarmonyOSSans.ttf\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_1___ = new URL(\"./HarmonyOSSansBold.ttf\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `@font-face{font-family:HarmonyOSSans;src:url(${___CSS_LOADER_URL_REPLACEMENT_0___});font-weight:normal}@font-face{font-family:HarmonyOSSans;src:url(${___CSS_LOADER_URL_REPLACEMENT_1___});font-weight:bold}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"./assets/dots.png\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_1___ = new URL(\"./assets/radar.png\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_2___ = new URL(\"./assets/earth.png\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_3___ = new URL(\"./assets/light.png\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);\nvar ___CSS_LOADER_URL_REPLACEMENT_2___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_2___);\nvar ___CSS_LOADER_URL_REPLACEMENT_3___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_3___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host,\n.center{display:flex;align-items:center;justify-content:center}:host{position:relative;color:#fff;height:100%}:host([hidden]){display:none}*{box-sizing:border-box}.gear-container{width:930px;height:590px;position:relative;transform:scale(var(--scale));--scale:1}.gear,\n.dots,\n.radar,\n.globe,\n.light,\n.ring-lines,\n.ring-labels{position:absolute;left:50%;transform:translate(-50%,0)}.gear,\n.radar{bottom:-42px;width:630px;height:630px}.dots{width:542px;height:542px;border-radius:542px;overflow:hidden;background:url(${___CSS_LOADER_URL_REPLACEMENT_0___}) no-repeat;background-position:center;background-size:542px}.radar{background:url(${___CSS_LOADER_URL_REPLACEMENT_1___}) no-repeat;background-position:center;background-size:458px;animation:rotating-radar 2.6s linear infinite}.globe{width:455px;height:458px;background:url(${___CSS_LOADER_URL_REPLACEMENT_2___}) no-repeat;background-position:center;background-size:100%}.light{pointer-events:none;bottom:98px;width:207px;height:208px;background:url(${___CSS_LOADER_URL_REPLACEMENT_3___}) no-repeat;background-position:center;background-size:100%;animation:flash-light 0.5s linear infinite alternate-reverse}.center{position:absolute;bottom:0;width:100%;height:546px;text-align:center}.center-border{border-width:1px;border-style:solid;border-radius:16px}.center-border.level-1{position:relative;padding:12px;border-color:rgb(68,219,242,0.2)}.center-border.level-2{padding:10px;border-color:rgb(68,219,242,0.4)}.center-border.level-3{padding:9px;border-color:rgb(68,219,242,0.6)}.center-border.level-4{padding:18px;border-radius:13px;border-color:rgb(68,219,242,0.8)}.center-label:empty,\n.center-value:empty{display:none}.center-label{font-size:24px;line-height:33px;font-weight:600;margin-top:13px;color:rgba(255,255,255,0.65)}.center-value{font-family:HarmonyOSSans;font-weight:bold;font-size:50px;line-height:60px;text-shadow:0px 2px 4px #296dff}.corner{position:absolute;top:13px;left:31px;font-size:18px}.corner-item{display:flex;margin-bottom:15px}.corner-label{font-weight:500;line-height:25px}.corner-value{display:block;margin-left:19px}.ring-lines{top:0;pointer-events:none}.ring-labels{width:930px;top:0}.ring-label-container{position:absolute;display:flex;justify-content:center}.ring-label-box{position:relative;padding:0 18px;width:max-content}.ring-icon{position:absolute;top:5px;left:0;width:11px;height:11px;border-radius:0px 4px}.ring-label{color:rgba(255,255,255,0.65);font-family:ALiBaBaPuHuiTi;font-size:14px;line-height:20px}.ring-value{font-family:HarmonyOSSans;font-size:23px;line-height:34px}@keyframes rotating-radar{from{transform:translate(-50%,0) rotate(0deg)}to{transform:translate(-50%,0) rotate(360deg)}}@keyframes flash-light{from{opacity:0}to{opacity:1}}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.corner{position:absolute;top:13px;left:31px;font-size:18px}.corner-item{display:flex;margin-bottom:15px}.corner-label{font-weight:500;line-height:25px;color:rgba(255,255,255,0.85)}.corner-value{display:block;margin-left:19px}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","\"use strict\";\n\nmodule.exports = function (url, options) {\n if (!options) {\n options = {};\n }\n if (!url) {\n return url;\n }\n url = String(url.__esModule ? url.default : url);\n\n // If url is already wrapped in quotes, remove them\n if (/^['\"].*['\"]$/.test(url)) {\n url = url.slice(1, -1);\n }\n if (options.hash) {\n url += options.hash;\n }\n\n // Should url be wrapped?\n // See https://drafts.csswg.org/css-values-3/#urls\n if (/[\"'() \\t\\n]|(%20)/.test(url) || options.needQuotes) {\n return \"\\\"\".concat(url.replace(/\"/g, '\\\\\"').replace(/\\n/g, \"\\\\n\"), \"\\\"\");\n }\n return url;\n};","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./ALiBaBaPuHuiTi.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./ALiBaBaPuHuiTi.css\";\n export default content && content.locals ? content.locals : undefined;\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./HarmonyOSSans.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./HarmonyOSSans.css\";\n export default content && content.locals ? content.locals : undefined;\n","\"use strict\";\n\nvar stylesInDOM = [];\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n for (var i = 0; i < stylesInDOM.length; i++) {\n if (stylesInDOM[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n return result;\n}\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var indexByIdentifier = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3],\n supports: item[4],\n layer: item[5]\n };\n if (indexByIdentifier !== -1) {\n stylesInDOM[indexByIdentifier].references++;\n stylesInDOM[indexByIdentifier].updater(obj);\n } else {\n var updater = addElementStyle(obj, options);\n options.byIndex = i;\n stylesInDOM.splice(i, 0, {\n identifier: identifier,\n updater: updater,\n references: 1\n });\n }\n identifiers.push(identifier);\n }\n return identifiers;\n}\nfunction addElementStyle(obj, options) {\n var api = options.domAPI(options);\n api.update(obj);\n var updater = function updater(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) {\n return;\n }\n api.update(obj = newObj);\n } else {\n api.remove();\n }\n };\n return updater;\n}\nmodule.exports = function (list, options) {\n options = options || {};\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDOM[index].references--;\n }\n var newLastIdentifiers = modulesToDom(newList, options);\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n var _index = getIndexByIdentifier(_identifier);\n if (stylesInDOM[_index].references === 0) {\n stylesInDOM[_index].updater();\n stylesInDOM.splice(_index, 1);\n }\n }\n lastIdentifiers = newLastIdentifiers;\n };\n};","\"use strict\";\n\nvar memo = {};\n\n/* istanbul ignore next */\nfunction getTarget(target) {\n if (typeof memo[target] === \"undefined\") {\n var styleTarget = document.querySelector(target);\n\n // Special case to return head of iframe instead of iframe itself\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n memo[target] = styleTarget;\n }\n return memo[target];\n}\n\n/* istanbul ignore next */\nfunction insertBySelector(insert, style) {\n var target = getTarget(insert);\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n target.appendChild(style);\n}\nmodule.exports = insertBySelector;","\"use strict\";\n\n/* istanbul ignore next */\nfunction insertStyleElement(options) {\n var element = document.createElement(\"style\");\n options.setAttributes(element, options.attributes);\n options.insert(element, options.options);\n return element;\n}\nmodule.exports = insertStyleElement;","\"use strict\";\n\n/* istanbul ignore next */\nfunction setAttributesWithoutAttributes(styleElement) {\n var nonce = typeof __webpack_nonce__ !== \"undefined\" ? __webpack_nonce__ : null;\n if (nonce) {\n styleElement.setAttribute(\"nonce\", nonce);\n }\n}\nmodule.exports = setAttributesWithoutAttributes;","\"use strict\";\n\n/* istanbul ignore next */\nfunction apply(styleElement, options, obj) {\n var css = \"\";\n if (obj.supports) {\n css += \"@supports (\".concat(obj.supports, \") {\");\n }\n if (obj.media) {\n css += \"@media \".concat(obj.media, \" {\");\n }\n var needLayer = typeof obj.layer !== \"undefined\";\n if (needLayer) {\n css += \"@layer\".concat(obj.layer.length > 0 ? \" \".concat(obj.layer) : \"\", \" {\");\n }\n css += obj.css;\n if (needLayer) {\n css += \"}\";\n }\n if (obj.media) {\n css += \"}\";\n }\n if (obj.supports) {\n css += \"}\";\n }\n var sourceMap = obj.sourceMap;\n if (sourceMap && typeof btoa !== \"undefined\") {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n }\n\n // For old IE\n /* istanbul ignore if */\n options.styleTagTransform(css, styleElement, options.options);\n}\nfunction removeStyleElement(styleElement) {\n // istanbul ignore if\n if (styleElement.parentNode === null) {\n return false;\n }\n styleElement.parentNode.removeChild(styleElement);\n}\n\n/* istanbul ignore next */\nfunction domAPI(options) {\n if (typeof document === \"undefined\") {\n return {\n update: function update() {},\n remove: function remove() {}\n };\n }\n var styleElement = options.insertStyleElement(options);\n return {\n update: function update(obj) {\n apply(styleElement, options, obj);\n },\n remove: function remove() {\n removeStyleElement(styleElement);\n }\n };\n}\nmodule.exports = domAPI;","\"use strict\";\n\n/* istanbul ignore next */\nfunction styleTagTransform(css, styleElement) {\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css;\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild);\n }\n styleElement.appendChild(document.createTextNode(css));\n }\n}\nmodule.exports = styleTagTransform;"],"names":["BASE_WIDTH","BASE_HEIGHT","MAX_LINE_Y","BASE_LINE_WIDTH","PALETTE","RING_RADIUS","RING_CX","RING_CY","WrappedGearBackground","wrapBrick","defineElement","property","createDecorators","_GlobeWithGearIndicat","_A","WeakMap","_B","_C","_D","GlobeWithGearIndicator","ReactNextElement","constructor","arguments","_classPrivateFieldInitSpec","_init_dataSource","_init_extra_dataSource","_init_centerDataSource","_init_extra_centerDataSource","_init_cornerDataSource","_init_extra_cornerDataSource","_init_maxScale","_init_extra_maxScale","dataSource","_classPrivateFieldGet","v","_classPrivateFieldSet","centerDataSource","cornerDataSource","maxScale","render","React","GlobeWithGearIndicatorComponent","root","this","_ref","scale","useContainerScale","width","height","centerValueScale","centerValueRef","useCenterScale","labels","useMemo","_dataSource$slice","clampedData","slice","length","half","Math","ceil","even","arc","PI","angle","index","result","item","color","push","getLinePosition","oddAngle","className","style","visibility","ref","transform","formatValue","value","label","viewBox","map","key","strokeWidth","fill","d","x","y","x2","y2","x3","stroke","abs","left","top","background","CornerIndicator","cos","sin","baseWidth","lineAngle","lineRadius","tan","_GlobeWithGearIndicator","e","c","_initClass","_applyDecs","styleTexts","styleText","cornerStyleText","attribute","type","Number","WrappedTag","outline","tagStyle","fontSize","padding","numberFormatter","Intl","NumberFormat","useGrouping","trim","_Number$isFinite","isFinite","isMeaningfulNumber","format","maxWidth","centerScale","setCenterScale","useState","centerRef","useRef","useEffect","centerValueElement","current","observer","ResizeObserver","clientWidth","min","max","observe","disconnect","baseHeight","setScale","entries","entry","target","contentRect","___CSS_LOADER_URL_IMPORT_0___","URL","___CSS_LOADER_EXPORT___","___CSS_LOADER_URL_REPLACEMENT_0___","module","id","___CSS_LOADER_URL_IMPORT_1___","___CSS_LOADER_URL_REPLACEMENT_1___","___CSS_LOADER_URL_IMPORT_2___","___CSS_LOADER_URL_IMPORT_3___","___CSS_LOADER_URL_REPLACEMENT_2___","___CSS_LOADER_URL_REPLACEMENT_3___","toString","exports","url","options","String","__esModule","default","test","hash","needQuotes","concat","replace","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","stylesInDOM","getIndexByIdentifier","identifier","i","modulesToDom","list","idCountMap","identifiers","base","count","indexByIdentifier","obj","css","media","sourceMap","supports","layer","references","updater","addElementStyle","byIndex","splice","api","update","newObj","remove","lastIdentifiers","newList","newLastIdentifiers","_i","_index","memo","styleTarget","document","querySelector","window","HTMLIFrameElement","contentDocument","head","getTarget","Error","appendChild","element","createElement","attributes","styleElement","nonce","setAttribute","needLayer","btoa","unescape","encodeURIComponent","JSON","stringify","apply","parentNode","removeChild","removeStyleElement","styleSheet","cssText","firstChild","createTextNode"],"sourceRoot":""}