@next-bricks/data-view 1.6.2 → 1.7.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.
- package/dist/bricks.json +11 -7
- package/dist/chunks/{3910.4e6c75b8.js → 6565.de76a169.js} +2 -2
- package/dist/chunks/6565.de76a169.js.map +1 -0
- package/dist/chunks/bubbles-indicator.56727686.js +2 -0
- package/dist/chunks/bubbles-indicator.56727686.js.map +1 -0
- package/dist/chunks/crystal-ball-indicator.7d4537b8.js +2 -0
- package/dist/chunks/crystal-ball-indicator.7d4537b8.js.map +1 -0
- package/dist/chunks/globe-with-gear-indicator.e8196cc6.js +2 -0
- package/dist/chunks/globe-with-gear-indicator.e8196cc6.js.map +1 -0
- package/dist/chunks/globe-with-halo-indicator.0762631d.js +2 -0
- package/dist/chunks/globe-with-halo-indicator.0762631d.js.map +1 -0
- package/dist/chunks/globe-with-orbit-indicator.36fcd0e1.js +2 -0
- package/dist/chunks/globe-with-orbit-indicator.36fcd0e1.js.map +1 -0
- package/dist/chunks/{main.f5a25c33.js → main.a5af19c9.js} +2 -2
- package/dist/chunks/{main.f5a25c33.js.map → main.a5af19c9.js.map} +1 -1
- package/dist/examples.json +12 -9
- package/dist/images/15af7907.png +0 -0
- package/dist/images/43f65465.png +0 -0
- package/dist/images/7ddba157.png +0 -0
- package/dist/images/923db8f8.png +0 -0
- package/dist/index.477c735f.js +2 -0
- package/dist/index.477c735f.js.map +1 -0
- package/dist/manifest.json +142 -108
- package/dist/media/8023ccd1.mp4 +0 -0
- package/dist/types.json +615 -483
- package/dist-types/bootstrap.d.ts +1 -0
- package/dist-types/bubbles-indicator/index.d.ts +4 -0
- package/dist-types/globe-with-halo-indicator/RotatingArc.d.ts +7 -1
- package/dist-types/globe-with-orbit-indicator/index.d.ts +46 -0
- package/dist-types/globe-with-orbit-indicator/index.spec.d.ts +1 -0
- package/dist-types/shared/CornerIndicator.d.ts +10 -0
- package/dist-types/shared/formatValue.d.ts +9 -0
- package/dist-types/shared/useCenterScale.d.ts +4 -0
- package/dist-types/shared/useContainerScale.d.ts +10 -0
- package/docs/globe-with-orbit-indicator.md +44 -0
- package/package.json +2 -2
- package/dist/chunks/3910.4e6c75b8.js.map +0 -1
- package/dist/chunks/bubbles-indicator.0568641b.js +0 -2
- package/dist/chunks/bubbles-indicator.0568641b.js.map +0 -1
- package/dist/chunks/crystal-ball-indicator.d8cd86a8.js +0 -2
- package/dist/chunks/crystal-ball-indicator.d8cd86a8.js.map +0 -1
- package/dist/chunks/globe-with-gear-indicator.25c9901b.js +0 -2
- package/dist/chunks/globe-with-gear-indicator.25c9901b.js.map +0 -1
- package/dist/chunks/globe-with-halo-indicator.5491f30c.js +0 -2
- package/dist/chunks/globe-with-halo-indicator.5491f30c.js.map +0 -1
- package/dist/images/0fec7781.png +0 -0
- package/dist/index.e4bffdda.js +0 -2
- package/dist/index.e4bffdda.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,a)=>{a.r(t),a.d(t,{BubblesIndicator:()=>V,BubblesIndicatorComponent:()=>Q});var n,r=a(70918),i=a(86121),o=a(70829),l=a(62740),s=a(18769),c=a.n(s),u=a(67391),p=a(11945),b=a(99418),m=a(85292),g=a(57931),h=a(43854),d=a(10300),x=a(24295),f=(a(44291),a(99126)),v=(a(95178),a(29837),a(35331));let A,y,w,k,S,E,N,M,D;const R=800,T=640,z=196,$=81,L=40,_=12,B=10,U=22,I=18,P=new Intl.NumberFormat("zh-CN",{useGrouping:!0}),C=(0,x.wrapBrick)("eo-tag"),{defineElement:F,property:W}=(0,d.createDecorators)();let V;var H=new WeakMap,Z=new WeakMap,j=new WeakMap,q=new WeakMap;class G extends x.ReactNextElement{constructor(){super(...arguments),(0,r.A)(this,H,y(this)),(0,r.A)(this,Z,(w(this),k(this))),(0,r.A)(this,j,(S(this),E(this))),(0,r.A)(this,q,(N(this),M(this))),D(this)}get dataSource(){return(0,o.A)(H,this)}set dataSource(e){(0,i.A)(H,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)(j,this)}set cornerDataSource(e){(0,i.A)(j,this,e)}get maxScale(){return(0,o.A)(q,this)}set maxScale(e){(0,i.A)(q,this,e)}render(){return c().createElement(Q,{root:this,dataSource:this.dataSource,centerDataSource:this.centerDataSource,cornerDataSource:this.cornerDataSource,maxScale:this.maxScale})}}function Q(e){let{root:t,dataSource:a,centerDataSource:n,cornerDataSource:r,maxScale:i}=e;const[o,l]=(0,s.useState)(null);(0,s.useEffect)((()=>{const e=new f.A((e=>{for(const a of e)if(a.target===t){const{width:e,height:t}=a.contentRect;l(Math.min(null!=i?i:1,e/R,t/T))}}));return e.observe(t),()=>e.disconnect()}),[i,t]);const d=(0,s.useMemo)((()=>{var e,t;const r=null!==(e=null==a||null===(t=a.slice(0,12))||void 0===t?void 0:t.map((e=>({...e,positiveNumberValue:Math.abs("number"==typeof e.value?e.value:parseFloat(e.value))}))))&&void 0!==e?e:[],i=r.map((e=>e.positiveNumberValue)),o=Math.max(...i),l=[n,...r].map(((e,t)=>0===t?{r:z,fx:0,fy:0}:{r:Math.max(L,Math.min($,Math.sqrt(e.positiveNumberValue/o)*$))})),s=I-l.length,c=Array.from({length:s},((e,t)=>({isRandom:!0,r:B+t*(U-B)/s})));l.push(...c);const d=(0,u.A)(l).alphaTarget(.3).velocityDecay(.1).force("x",(0,p.A)().strength(.01)).force("y",(0,b.A)().strength(.02)).force("center",(0,m.A)(0,0).strength(.5)).force("collide",(0,g.A)().radius((e=>e.r+_)).iterations(3)).force("charge",(0,h.A)().strength(-84));return d.stop(),function(e){e.tick(Math.ceil(Math.log(e.alphaMin())/Math.log(1-e.alphaDecay())))}(d),l.slice(1).map(((e,t)=>({...e.isRandom?{isRandom:!0,label:"",value:""}:a[t],x:e.x,y:e.y,r:e.r})))}),[n,a]);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==n?void 0:n.label),c().createElement("div",{className:"center-value"},J(null==n?void 0:n.value))),c().createElement("div",{className:"light"}),c().createElement("div",{className:"bubbles"},null==d?void 0:d.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"},J(e.value)))))))),c().createElement("div",{className:"corner"},null==r?void 0:r.map(((e,t)=>c().createElement("div",{key:t,className:"corner-item"},c().createElement("div",{className:"corner-label"},e.label),c().createElement(C,{className:"corner-value",outline:!0,color:e.color,tagStyle:{fontSize:18,padding:"2px 16px"}},J(e.value)))))))}function J(e){return"number"==typeof e?P.format(e):e}n=G,({e:[y,w,k,S,E,N,M,D],c:[V,A]}=(0,l.A)(n,[F("data-view.bubbles-indicator",{styleTexts:[v.A]})],[[W({attribute:!1}),1,"dataSource"],[W({attribute:!1}),1,"centerDataSource"],[W({attribute:!1}),1,"cornerDataSource"],[W({type:Number}),1,"maxScale"]],0,void 0,x.ReactNextElement)),A()},97136:(e,t,a)=>{a.d(t,{A:()=>b});var n=a(36758),r=a.n(n),i=a(40935),o=a.n(i),l=a(20062),s=a.n(l),c=new URL(a(17577),a.b),u=o()(r()),p=s()(c);u.push([e.id,`@font-face{font-family:ALiBaBaPuHuiTi;src:url(${p})}`,""]);const b=u},59291:(e,t,a)=>{a.d(t,{A:()=>b});var n=a(36758),r=a.n(n),i=a(40935),o=a.n(i),l=a(20062),s=a.n(l),c=new URL(a(59552),a.b),u=o()(r()),p=s()(c);u.push([e.id,`@font-face{font-family:PangMenZhengDaoBiaoTiTi;src:url(${p})}`,""]);const b=u},35331:(e,t,a)=>{a.d(t,{A:()=>w});var n=a(36758),r=a.n(n),i=a(40935),o=a.n(i),l=a(20062),s=a.n(l),c=new URL(a(12356),a.b),u=new URL(a(22921),a.b),p=new URL(a(71570),a.b),b=new URL(a(64827),a.b),m=new URL(a(20681),a.b),g=new URL(a(84796),a.b),h=o()(r()),d=s()(c),x=s()(u),f=s()(p),v=s()(b),A=s()(m),y=s()(g);h.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(${d})}.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}.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=h.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,a)=>{var n=a(72591),r=a.n(n),i=a(1740),o=a.n(i),l=a(88128),s=a.n(l),c=a(30855),u=a.n(c),p=a(93051),b=a.n(p),m=a(73656),g=a.n(m),h=a(97136),d={};d.styleTagTransform=g(),d.setAttributes=u(),d.insert=s().bind(null,"head"),d.domAPI=o(),d.insertStyleElement=b(),r()(h.A,d),h.A&&h.A.locals&&h.A.locals},29837:(e,t,a)=>{var n=a(72591),r=a.n(n),i=a(1740),o=a.n(i),l=a(88128),s=a.n(l),c=a(30855),u=a.n(c),p=a(93051),b=a.n(p),m=a(73656),g=a.n(m),h=a(59291),d={};d.styleTagTransform=g(),d.setAttributes=u(),d.insert=s().bind(null,"head"),d.domAPI=o(),d.insertStyleElement=b(),r()(h.A,d),h.A&&h.A.locals&&h.A.locals},12356:(e,t,a)=>{e.exports=a.p+"images/b91eed9d.png"},64827:(e,t,a)=>{e.exports=a.p+"images/45a4740b.png"},71570:(e,t,a)=>{e.exports=a.p+"images/86a2105c.png"},20681:(e,t,a)=>{e.exports=a.p+"images/81f40f95.png"},84796:(e,t,a)=>{e.exports=a.p+"images/0fec7781.png"},22921:(e,t,a)=>{e.exports=a.p+"images/a457f803.png"},17577:(e,t,a)=>{e.exports=a.p+"media/792b07b2.ttf"},59552:(e,t,a)=>{e.exports=a.p+"media/78c4b1bd.ttf"}}]);
|
|
2
|
-
//# sourceMappingURL=bubbles-indicator.0568641b.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/bubbles-indicator.0568641b.js","mappings":"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","sources":["webpack:///./src/bubbles-indicator/index.tsx","webpack:///./src/fonts/ALiBaBaPuHuiTi.css","webpack:///./src/fonts/PangMenZhengDaoBiaoTiTi.css","webpack:///./src/bubbles-indicator/styles.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, { useEffect, useMemo, useState } 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, wrapBrick } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport ResizeObserver from \"resize-observer-polyfill\";\nimport type { Tag, TagProps } from \"@next-bricks/basic/tag\";\nimport \"../fonts/ALiBaBaPuHuiTi.css\";\nimport \"../fonts/PangMenZhengDaoBiaoTiTi.css\";\nimport styleText from \"./styles.shadow.css\";\n\nconst BASE_WIDTH = 800;\nconst BASE_HEIGHT = 640;\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 numberFormatter = new Intl.NumberFormat(\"zh-CN\", {\n useGrouping: true,\n});\n\nconst WrappedTag = wrapBrick<Tag, TagProps>(\"eo-tag\");\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\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],\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, 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 // 宽度大于高度,因为有水平方向排列的标签文字\n setScale(\n Math.min(maxScale ?? 1, width / BASE_WIDTH, height / BASE_HEIGHT)\n );\n }\n }\n });\n observer.observe(root);\n return () => observer.disconnect();\n }, [maxScale, root]);\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 typeof item.value === \"number\" ? item.value : 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 className=\"center-value\">\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 <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}\n\nfunction formatValue(value: string | number): string {\n return typeof value === \"number\" ? numberFormatter.format(value) : value;\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","// 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}.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","\"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","numberFormatter","Intl","NumberFormat","useGrouping","WrappedTag","wrapBrick","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","setScale","useState","useEffect","observer","ResizeObserver","entries","entry","target","width","height","contentRect","Math","min","observe","disconnect","labels","useMemo","_dataSource$slice$map","_dataSource$slice","numberedDataSource","slice","map","item","positiveNumberValue","abs","value","parseFloat","positiveNumberValues","maxPositiveNumberValue","max","nodes","index","r","fx","fy","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","formatValue","key","transform","zIndex","outline","color","tagStyle","fontSize","padding","format","_BubblesIndicator2","e","c","_initClass","_applyDecs","styleTexts","styleText","attribute","type","Number","___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([[1335],{9557:(e,t,n)=>{n.r(t),n.d(t,{CrystalBallIndicator:()=>C,CrystalBallIndicatorComponent:()=>_});var a,r=n(70918),i=n(86121),o=n(70829),s=n(62740),c=n(18769),l=n.n(c),u=n(10300),p=n(24295),d=(n(44291),n(99126)),m=n(93652),h=(n(95178),n(29837),n(7178));let f,g,v,b,x,y,w,S,A;const E=572,k=16,N=new Intl.NumberFormat("zh-CN",{useGrouping:!0}),M=(0,p.wrapBrick)("eo-tag"),{defineElement:T,property:D}=(0,u.createDecorators)();let C;var I=new WeakMap,z=new WeakMap,L=new WeakMap,P=new WeakMap;class R extends p.ReactNextElement{constructor(){super(...arguments),(0,r.A)(this,I,g(this)),(0,r.A)(this,z,(v(this),b(this))),(0,r.A)(this,L,(x(this),y(this))),(0,r.A)(this,P,(w(this),S(this))),A(this)}get dataSource(){return(0,o.A)(I,this)}set dataSource(e){(0,i.A)(I,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)(L,this)}set cornerDataSource(e){(0,i.A)(L,this,e)}get maxScale(){return(0,o.A)(P,this)}set maxScale(e){(0,i.A)(P,this,e)}render(){return l().createElement(_,{root:this,dataSource:this.dataSource,centerDataSource:this.centerDataSource,cornerDataSource:this.cornerDataSource,maxScale:this.maxScale})}}function _(e){let{root:t,dataSource:n,centerDataSource:a,cornerDataSource:r,maxScale:i}=e;const[o,s]=(0,c.useState)(null);(0,c.useEffect)((()=>{const e=new d.A((e=>{for(const n of e)if(n.target===t){const{width:e,height:t}=n.contentRect;s(Math.min(null!=i?i:1,e/810,t/604))}}));return e.observe(t),()=>e.disconnect()}),[i,t]);const u=(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 a=Math.ceil(t.length/2),r=t.length%2==0,i=Math.PI/(a+1),o=E/2,s=o+k;let c,l,u,p=0;const d=[];for(;p<t.length;){const e=t[p];if(p%2==0)u=i*(p/2+1)-Math.PI/2,c=s+o*Math.cos(u),l=s+o*Math.sin(u),d.push({...e,x:c,y:l});else if(r)d.push({...e,x:2*s-c,y:l});else{const t=Math.PI-(u+i/2);d.push({...e,x:s+o*Math.cos(t),y:s+o*Math.sin(t)})}p++}return d}),[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:m,type:"video/mp4"})))),l().createElement("div",{className:"ring-labels"},u.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"},B(e.value)))))),l().createElement("div",{className:"center"},l().createElement("div",{className:"center-label"},null==a?void 0:a.label),l().createElement("div",{className:"center-value"},B(null==a?void 0:a.value)))),l().createElement("div",{className:"corner"},null==r?void 0:r.map(((e,t)=>l().createElement("div",{key:t,className:"corner-item"},l().createElement("div",{className:"corner-label"},e.label),l().createElement(M,{className:"corner-value",outline:!0,color:e.color,tagStyle:{fontSize:18,padding:"2px 16px"}},B(e.value)))))))}function B(e){return"number"==typeof e?N.format(e):e}a=R,({e:[g,v,b,x,y,w,S,A],c:[C,f]}=(0,s.A)(a,[T("data-view.crystal-ball-indicator",{styleTexts:[h.A]})],[[D({attribute:!1}),1,"dataSource"],[D({attribute:!1}),1,"centerDataSource"],[D({attribute:!1}),1,"cornerDataSource"],[D({type:Number}),1,"maxScale"]],0,void 0,p.ReactNextElement)),f()},97136:(e,t,n)=>{n.d(t,{A:()=>d});var a=n(36758),r=n.n(a),i=n(40935),o=n.n(i),s=n(20062),c=n.n(s),l=new URL(n(17577),n.b),u=o()(r()),p=c()(l);u.push([e.id,`@font-face{font-family:ALiBaBaPuHuiTi;src:url(${p})}`,""]);const d=u},59291:(e,t,n)=>{n.d(t,{A:()=>d});var a=n(36758),r=n.n(a),i=n(40935),o=n.n(i),s=n(20062),c=n.n(s),l=new URL(n(59552),n.b),u=o()(r()),p=c()(l);u.push([e.id,`@font-face{font-family:PangMenZhengDaoBiaoTiTi;src:url(${p})}`,""]);const d=u},7178:(e,t,n)=>{n.d(t,{A:()=>b});var a=n(36758),r=n.n(a),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),p=new URL(n(93893),n.b),d=new URL(n(21949),n.b),m=o()(r()),h=c()(l),f=c()(u),g=c()(p),v=c()(d);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:#c8e2ff;font-size:18px}.ring-value{font-family:ALiBaBaPuHuiTi;font-size:28px;text-shadow:0px 4px 7px #514af7}.center{position:absolute;width:100%;height:100%;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}.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 ring-rotate{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}`,""]);const b=m.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),s=n(88128),c=n.n(s),l=n(30855),u=n.n(l),p=n(93051),d=n.n(p),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=d(),r()(f.A,g),f.A&&f.A.locals&&f.A.locals},29837:(e,t,n)=>{var a=n(72591),r=n.n(a),i=n(1740),o=n.n(i),s=n(88128),c=n.n(s),l=n(30855),u=n.n(l),p=n(93051),d=n.n(p),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=d(),r()(f.A,g),f.A&&f.A.locals&&f.A.locals},72591:e=>{var t=[];function n(e){for(var n=-1,a=0;a<t.length;a++)if(t[a].identifier===e){n=a;break}return n}function a(e,a){for(var i={},o=[],s=0;s<e.length;s++){var c=e[s],l=a.base?c[0]+a.base:c[0],u=i[l]||0,p="".concat(l," ").concat(u);i[l]=u+1;var d=n(p),m={css:c[1],media:c[2],sourceMap:c[3],supports:c[4],layer:c[5]};if(-1!==d)t[d].references++,t[d].updater(m);else{var h=r(m,a);a.byIndex=s,t.splice(s,0,{identifier:p,updater:h,references:1})}o.push(p)}return o}function r(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,r){var i=a(e=e||[],r=r||{});return function(e){e=e||[];for(var o=0;o<i.length;o++){var s=n(i[o]);t[s].references--}for(var c=a(e,r),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 a=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(!a)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");a.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 a="";n.supports&&(a+="@supports (".concat(n.supports,") {")),n.media&&(a+="@media ".concat(n.media," {"));var r=void 0!==n.layer;r&&(a+="@layer".concat(n.layer.length>0?" ".concat(n.layer):""," {")),a+=n.css,r&&(a+="}"),n.media&&(a+="}"),n.supports&&(a+="}");var i=n.sourceMap;i&&"undefined"!=typeof btoa&&(a+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(i))))," */")),t.styleTagTransform(a,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.d8cd86a8.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/crystal-ball-indicator.d8cd86a8.js","mappings":"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","sources":["webpack:///./src/crystal-ball-indicator/index.tsx","webpack:///./src/fonts/ALiBaBaPuHuiTi.css","webpack:///./src/fonts/PangMenZhengDaoBiaoTiTi.css","webpack:///./src/crystal-ball-indicator/styles.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, { useEffect, useMemo, useState } from \"react\";\nimport { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport ResizeObserver from \"resize-observer-polyfill\";\nimport type { Tag, TagProps } from \"@next-bricks/basic/tag\";\nimport crystalBallVideo from \"./assets/crystal-ball.mp4\";\nimport \"../fonts/ALiBaBaPuHuiTi.css\";\nimport \"../fonts/PangMenZhengDaoBiaoTiTi.css\";\nimport styleText from \"./styles.shadow.css\";\n\nconst RING_SIZE = 572;\nconst RING_OFFSET = 16;\n\nconst numberFormatter = new Intl.NumberFormat(\"zh-CN\", {\n useGrouping: true,\n});\n\nconst WrappedTag = wrapBrick<Tag, TagProps>(\"eo-tag\");\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],\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, 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 // 宽度大于高度,因为有水平方向排列的标签文字\n setScale(Math.min(maxScale ?? 1, width / 810, height / 604));\n }\n }\n });\n observer.observe(root);\n return () => observer.disconnect();\n }, [maxScale, root]);\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 className=\"center-value\">\n {formatValue(centerDataSource?.value)}\n </div>\n </div>\n </div>\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}\n\nfunction formatValue(value: string | number): string {\n return typeof value === \"number\" ? numberFormatter.format(value) : value;\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:#c8e2ff;font-size:18px}.ring-value{font-family:ALiBaBaPuHuiTi;font-size:28px;text-shadow:0px 4px 7px #514af7}.center{position:absolute;width:100%;height:100%;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}.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 ring-rotate{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}`, \"\"]);\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","numberFormatter","Intl","NumberFormat","useGrouping","WrappedTag","wrapBrick","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","setScale","useState","useEffect","observer","ResizeObserver","entries","entry","target","width","height","contentRect","Math","min","observe","disconnect","labels","useMemo","_dataSource$slice","clampedData","slice","length","half","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","outline","color","tagStyle","fontSize","padding","format","_CrystalBallIndicator2","e","c","_initClass","_applyDecs","styleTexts","styleText","attribute","Number","___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:()=>z,GlobeWithGearIndicatorComponent:()=>W});var a,n=r(70918),o=r(86121),i=r(70829),s=r(62740),l=r(18769),c=r.n(l),d=r(10300),p=r(24295),u=(r(44291),r(99126)),h=(r(95178),r(77293),r(70102));let m,f,g,b,x,v,y,w,E;const S=930,M=590,A=M-2,k=150,N=["#83F5E1","#FE8328","#296DFF","#214ED2","#9CC5FF","#67E0D8","#BF145B","#4FAAFF","#5245E2","#9281EE","#F8AB05","#2C9966"],I=229,$=465,D=317,F=new Intl.NumberFormat("zh-CN",{useGrouping:!0}),P=(0,p.wrapBrick)("eo-tag"),T=(0,p.wrapBrick)("data-view.gear-background"),{defineElement:C,property:L}=(0,d.createDecorators)();let z;var R=new WeakMap,B=new WeakMap,_=new WeakMap,H=new WeakMap;class U extends p.ReactNextElement{constructor(){super(...arguments),(0,n.A)(this,R,f(this)),(0,n.A)(this,B,(g(this),b(this))),(0,n.A)(this,_,(x(this),v(this))),(0,n.A)(this,H,(y(this),w(this))),E(this)}get dataSource(){return(0,i.A)(R,this)}set dataSource(e){(0,o.A)(R,this,e)}get centerDataSource(){return(0,i.A)(B,this)}set centerDataSource(e){(0,o.A)(B,this,e)}get cornerDataSource(){return(0,i.A)(_,this)}set cornerDataSource(e){(0,o.A)(_,this,e)}get maxScale(){return(0,i.A)(H,this)}set maxScale(e){(0,o.A)(H,this,e)}render(){return c().createElement(W,{root:this,dataSource:this.dataSource,centerDataSource:this.centerDataSource,cornerDataSource:this.cornerDataSource,maxScale:this.maxScale})}}function W(e){let{root:t,dataSource:r,centerDataSource:a,cornerDataSource:n,maxScale:o}=e;const[i,s]=(0,l.useState)(null);(0,l.useEffect)((()=>{const e=new u.A((e=>{for(const r of e)if(r.target===t){const{width:e,height:t}=r.contentRect;s(Math.min(null!=o?o:1,e/S,t/M))}}));return e.observe(t),()=>e.disconnect()}),[o,t]);const d=(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 a=Math.ceil(t.length/2),n=t.length%2==0,o=Math.PI/(a+1);let i,s=0;const l=[];for(;s<t.length;){const e=t[s],r=N[s%N.length];if(s%2==0)i=o*(s/2+1)-Math.PI/2,l.push({...e,color:r,...O(i,!0)});else{const t=n?Math.PI-i:Math.PI-(i+o/2);l.push({...e,color:r,...O(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(T,{color:"#3366FF",className:"gear"}),c().createElement("div",{className:"center"},c().createElement("div",{className:"dots"}),c().createElement("div",{className:"radar"}),c().createElement("div",{className:"globe"}),a&&c().createElement("div",{className:"center-border level-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"},G(null==a?void 0:a.value)),c().createElement("div",{className:"center-label"},null==a?void 0:a.label))))),c().createElement("div",{className:"light"})),c().createElement("svg",{className:"ring-lines",width:S,height:M,viewBox:`0 0 ${S} ${M}`},d.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"},d.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"},G(e.value)))))))),c().createElement("div",{className:"corner"},null==n?void 0:n.map(((e,t)=>c().createElement("div",{key:t,className:"corner-item"},c().createElement("div",{className:"corner-label"},e.label),c().createElement(P,{className:"corner-value",outline:!0,color:e.color,tagStyle:{fontSize:18,padding:"2px 16px"}},G(e.value)))))))}function G(e){return"number"==typeof e?F.format(e):e}function O(e,t){const r=$+I*Math.cos(e),a=D+I*Math.sin(e);let n,o,i;const s=(t?1:-1)*k;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=a+d*Math.sin(c),o>A?(o=A,n=r+(o-a)/Math.tan(c)):n=r+d*Math.cos(c),i=n+l}else{const l=s,c=t?-Math.PI/6:7*Math.PI/6,d=72/Math.cos(e-c);n=r+d*Math.cos(c),o=a+d*Math.sin(c),i=n+l}return{x:r,y:a,x2:n,y2:o,x3:i}}a=U,({e:[f,g,b,x,v,y,w,E],c:[z,m]}=(0,s.A)(a,[C("data-view.globe-with-gear-indicator",{styleTexts:[h.A]})],[[L({attribute:!1}),1,"dataSource"],[L({attribute:!1}),1,"centerDataSource"],[L({attribute:!1}),1,"cornerDataSource"],[L({type:Number}),1,"maxScale"]],0,void 0,p.ReactNextElement)),m()},97136:(e,t,r)=>{r.d(t,{A:()=>u});var a=r(36758),n=r.n(a),o=r(40935),i=r.n(o),s=r(20062),l=r.n(s),c=new URL(r(17577),r.b),d=i()(n()),p=l()(c);d.push([e.id,`@font-face{font-family:ALiBaBaPuHuiTi;src:url(${p})}`,""]);const u=d},40703:(e,t,r)=>{r.d(t,{A:()=>m});var a=r(36758),n=r.n(a),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),p=i()(n()),u=l()(c),h=l()(d);p.push([e.id,`@font-face{font-family:HarmonyOSSans;src:url(${u});font-weight:normal}@font-face{font-family:HarmonyOSSans;src:url(${h});font-weight:bold}`,""]);const m=p},70102:(e,t,r)=>{r.d(t,{A:()=>x});var a=r(36758),n=r.n(a),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),p=new URL(r(1342),r.b),u=new URL(r(34318),r.b),h=i()(n()),m=l()(c),f=l()(d),g=l()(p),b=l()(u);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{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}.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{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()},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 a=r(72591),n=r.n(a),o=r(1740),i=r.n(o),s=r(88128),l=r.n(s),c=r(30855),d=r.n(c),p=r(93051),u=r.n(p),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=u(),n()(f.A,g),f.A&&f.A.locals&&f.A.locals},77293:(e,t,r)=>{var a=r(72591),n=r.n(a),o=r(1740),i=r.n(o),s=r(88128),l=r.n(s),c=r(30855),d=r.n(c),p=r(93051),u=r.n(p),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=u(),n()(f.A,g),f.A&&f.A.locals&&f.A.locals},72591:e=>{var t=[];function r(e){for(var r=-1,a=0;a<t.length;a++)if(t[a].identifier===e){r=a;break}return r}function a(e,a){for(var o={},i=[],s=0;s<e.length;s++){var l=e[s],c=a.base?l[0]+a.base:l[0],d=o[c]||0,p="".concat(c," ").concat(d);o[c]=d+1;var u=r(p),h={css:l[1],media:l[2],sourceMap:l[3],supports:l[4],layer:l[5]};if(-1!==u)t[u].references++,t[u].updater(h);else{var m=n(h,a);a.byIndex=s,t.splice(s,0,{identifier:p,updater:m,references:1})}i.push(p)}return i}function n(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,n){var o=a(e=e||[],n=n||{});return function(e){e=e||[];for(var i=0;i<o.length;i++){var s=r(o[i]);t[s].references--}for(var l=a(e,n),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 a=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(!a)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");a.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 a="";r.supports&&(a+="@supports (".concat(r.supports,") {")),r.media&&(a+="@media ".concat(r.media," {"));var n=void 0!==r.layer;n&&(a+="@layer".concat(r.layer.length>0?" ".concat(r.layer):""," {")),a+=r.css,n&&(a+="}"),r.media&&(a+="}"),r.supports&&(a+="}");var o=r.sourceMap;o&&"undefined"!=typeof btoa&&(a+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(o))))," */")),t.styleTagTransform(a,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.25c9901b.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/globe-with-gear-indicator.25c9901b.js","mappings":"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","sources":["webpack:///./src/globe-with-gear-indicator/index.tsx","webpack:///./src/fonts/ALiBaBaPuHuiTi.css","webpack:///./src/fonts/HarmonyOSSans.css","webpack:///./src/globe-with-gear-indicator/styles.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, { useEffect, useMemo, useState } from \"react\";\nimport { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport ResizeObserver from \"resize-observer-polyfill\";\nimport type { Tag, TagProps } from \"@next-bricks/basic/tag\";\nimport \"../fonts/ALiBaBaPuHuiTi.css\";\nimport \"../fonts/HarmonyOSSans.css\";\nimport styleText from \"./styles.shadow.css\";\nimport type { GearBackground, GearBackgroundProps } from \"../gear-background\";\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 numberFormatter = new Intl.NumberFormat(\"zh-CN\", {\n useGrouping: true,\n});\n\nconst WrappedTag = wrapBrick<Tag, TagProps>(\"eo-tag\");\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],\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, 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 // 宽度大于高度,因为有水平方向排列的标签文字\n setScale(\n Math.min(maxScale ?? 1, width / BASE_WIDTH, height / BASE_HEIGHT)\n );\n }\n }\n });\n observer.observe(root);\n return () => observer.disconnect();\n }, [maxScale, root]);\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 className=\"center-border level-1\">\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 <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}\n\nfunction formatValue(value: string | number): string {\n return typeof value === \"number\" ? numberFormatter.format(value) : value;\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","// 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{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}.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{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","\"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","numberFormatter","Intl","NumberFormat","useGrouping","WrappedTag","wrapBrick","WrappedGearBackground","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","setScale","useState","useEffect","observer","ResizeObserver","entries","entry","target","width","height","contentRect","Math","min","observe","disconnect","labels","useMemo","_dataSource$slice","clampedData","slice","length","half","ceil","even","arc","PI","angle","index","result","item","color","push","getLinePosition","oddAngle","className","style","visibility","formatValue","value","label","viewBox","map","key","strokeWidth","fill","d","x","y","x2","y2","x3","stroke","abs","left","top","background","outline","tagStyle","fontSize","padding","format","cos","sin","baseWidth","lineAngle","lineRadius","tan","_GlobeWithGearIndicator","e","c","_initClass","_applyDecs","styleTexts","styleText","attribute","type","Number","___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":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";(globalThis.webpackChunk_next_bricks_data_view=globalThis.webpackChunk_next_bricks_data_view||[]).push([[7666],{88952:(e,t,a)=>{a.d(t,{x:()=>o});var n=a(18769),r=a.n(n);function o(){const[e,t]=(0,n.useState)("M 0 0");return(0,n.useEffect)((()=>{let e,a;return a=requestAnimationFrame((function n(r){void 0===e&&(e=r);const o=-(r-e)/1e3/2.6*Math.PI*2+1.1*Math.PI,i=o-.6*Math.PI,s=413+412.4*Math.cos(o),l=89.5+88.9*Math.sin(o),c=413+412.4*Math.cos(i),u=89.5+88.9*Math.sin(i);t(`M ${s} ${l} A 412.4 88.9 0 0 0 ${c} ${u}`),a=requestAnimationFrame(n)})),()=>{cancelAnimationFrame(a)}}),[]),r().createElement("path",{d:e,strokeWidth:4,stroke:"url(#rotating-arc)",fill:"none"})}},88517:(e,t,a)=>{a.d(t,{s:()=>o});var n=a(18769),r=a.n(n);function o(){return r().createElement("svg",{className:"ring",width:"928px",height:"534px",viewBox:"0 0 928 534"},r().createElement("defs",null,r().createElement("linearGradient",{x1:"50%",y1:"14.8555832%",x2:"50%",y2:"100%",id:"linearGradient-1"},r().createElement("stop",{stopColor:"#00E8FF",stopOpacity:"0",offset:"0%"}),r().createElement("stop",{stopColor:"#00CCFF",offset:"100%"})),r().createElement("linearGradient",{x1:"50%",y1:"14.8555832%",x2:"50%",y2:"100%",id:"linearGradient-2"},r().createElement("stop",{stopColor:"#00CCFF",offset:"0%"}),r().createElement("stop",{stopColor:"#00E8FF",stopOpacity:"0",offset:"100%"}))),r().createElement("g",{transform:"translate(51 304)",stroke:"1",fill:"none",opacity:.5},r().createElement("ellipse",{cx:"413",cy:"-136",rx:"164",ry:"94.5",stroke:"url(#linearGradient-1)"},r().createElement("animateTransform",{attributeName:"transform",type:"rotate",from:"0 413 -136",to:"360 413 -136",dur:"2.6s",repeatCount:"indefinite"})),r().createElement("ellipse",{cx:"413",cy:"-136",rx:"164",ry:"94.5",stroke:"url(#linearGradient-2)"},r().createElement("animateTransform",{attributeName:"transform",type:"rotate",from:"210 413 -136",to:"-150 413 -136",dur:"2.6s",repeatCount:"indefinite"}))))}},23396:(e,t,a)=>{a.r(t),a.d(t,{GlobeWithHaloIndicator:()=>T,GlobeWithHaloIndicatorComponent:()=>B});var n,r=a(70918),o=a(86121),i=a(70829),s=a(62740),l=a(18769),c=a.n(l),u=a(10300),p=a(24295),d=(a(44291),a(99126)),m=a(88952),f=a(88517),h=a(65482),g=(a(95178),a(83761));let b,x,v,y,E,w,k,M,S;const A=new Intl.NumberFormat("zh-CN",{useGrouping:!0}),N=(0,p.wrapBrick)("eo-tag"),{defineElement:C,property:$}=(0,u.createDecorators)();let T;var I=new WeakMap,D=new WeakMap,F=new WeakMap,P=new WeakMap;class z extends p.ReactNextElement{constructor(){super(...arguments),(0,r.A)(this,I,x(this)),(0,r.A)(this,D,(v(this),y(this))),(0,r.A)(this,F,(E(this),w(this))),(0,r.A)(this,P,(k(this),M(this))),S(this)}get dataSource(){return(0,i.A)(I,this)}set dataSource(e){(0,o.A)(I,this,e)}get centerDataSource(){return(0,i.A)(D,this)}set centerDataSource(e){(0,o.A)(D,this,e)}get cornerDataSource(){return(0,i.A)(F,this)}set cornerDataSource(e){(0,o.A)(F,this,e)}get maxScale(){return(0,i.A)(P,this)}set maxScale(e){(0,o.A)(P,this,e)}render(){return c().createElement(B,{root:this,dataSource:this.dataSource,centerDataSource:this.centerDataSource,cornerDataSource:this.cornerDataSource,maxScale:this.maxScale})}}function B(e){let{root:t,dataSource:a,centerDataSource:n,cornerDataSource:r,maxScale:o}=e;const[i,s]=(0,l.useState)(null);(0,l.useEffect)((()=>{const e=new d.A((e=>{for(const a of e)if(a.target===t){const{width:e,height:t}=a.contentRect;s(Math.min(null!=o?o:1,e/878,t/575))}}));return e.observe(t),()=>e.disconnect()}),[o,t]);const u=(0,l.useMemo)((()=>{var e;const t=null!==(e=null==a?void 0:a.slice(0,8))&&void 0!==e?e:[];if(0===t.length)return[];const n=t.length%2==0,r=Math.ceil(t.length/2)+1,o=G(r),i=-Math.PI/3,s=(Math.PI/4-i)/o;let l,c,u,p,d,m,f,h=0;const g=[];for(;h<t.length;){const e=t[h];if(h%2==0){const t=h/2+1;m=i+s*G(t),f=Math.PI/3*(2-t/r),d=340-(r>2?170*h/2/(r-2):0),l=413+292.4*Math.cos(m),c=65.5+59.4*Math.sin(m),u=l+Math.cos(f)*d,p=c-Math.sin(f)*d;const a=`M ${l} ${c} A ${d} ${d} 0 0 0 ${u} ${p}`;g.push({...e,x:l,y:c,x2:u,y2:p,d:a})}else if(n){const t=826-l,a=826-u;g.push({...e,x:t,y:c,x2:a,y2:p,d:`M ${t} ${c} A ${d} ${d} 0 0 1 ${a} ${p}`})}else{const t=Math.PI-(m+s*(h+1)/2),a=Math.PI-f,n=413+292.4*Math.cos(t),o=65.5+59.4*Math.sin(t),i=d-85/(r-2),l=n+Math.cos(a)*i,c=o-Math.sin(a)*i;g.push({...e,x:n,y:o,x2:l,y2:c,d:`M ${n} ${o} A ${i} ${i} 0 0 1 ${l} ${c}`})}h++}return g}),[a]);return c().createElement(c().Fragment,null,c().createElement("div",{className:"container",style:{visibility:null===i?"hidden":"visible","--scale":i}},c().createElement("div",{className:"base"}),c().createElement("svg",{className:"ring",width:928,height:534,viewBox:"0 0 928 534"},c().createElement("defs",null,c().createElement("linearGradient",{id:"rotating-arc",gradientTransform:"rotate(48)",x1:"0",y1:"0",x2:"830px",y2:"183px",gradientUnits:"userSpaceOnUse"},c().createElement("stop",{offset:"0%",stopColor:"rgba(132, 253, 253, 0)"}),c().createElement("stop",{offset:"25%",stopColor:"rgba(132, 253, 253, 1)"}),c().createElement("stop",{offset:"50%",stopColor:"rgba(132, 253, 253, 1)"}),c().createElement("stop",{offset:"75%",stopColor:"rgba(248, 255, 255, 1)"}))),c().createElement("g",{transform:"translate(51 304)"},c().createElement("ellipse",{cx:"413",cy:"89.5",rx:"412.4",ry:"88.9",fill:"none",stroke:"rgba(123,212,235,255)",strokeWidth:"1.2"},c().createElement("animate",{attributeName:"rx",values:"412.4;0",dur:"2.6s",repeatCount:"indefinite"}),c().createElement("animate",{attributeName:"ry",values:"88.9;0",dur:"2.6s",repeatCount:"indefinite"}),c().createElement("animate",{attributeName:"cy",values:"89.5;10",dur:"2.6s",repeatCount:"indefinite"}),c().createElement("animate",{attributeName:"stroke",values:"rgba(123,212,235,255);rgba(123,212,235,255);rgba(123,212,235,25)",keyTimes:"0;0.53846;1",dur:"2.6s",repeatCount:"indefinite"})),c().createElement(m.x,null),u.map(((e,t)=>c().createElement("path",{key:t,d:e.d,fill:"none",stroke:"#3889B6",strokeWidth:2,strokeDasharray:"6 4"}))))),c().createElement("div",{className:"globe"}),c().createElement(f.s,null),c().createElement("video",{className:"particles",width:197,height:246,autoPlay:!0,muted:!0,loop:!0,playsInline:!0},c().createElement("source",{src:h,type:"video/webm"})),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:{left:e.x2+51,top:e.y2+304}},c().createElement("div",{className:"ring-icon"}),c().createElement("div",{className:"ring-label"},e.label),c().createElement("div",{className:"ring-value"},L(e.value)))))),c().createElement("div",{className:"center"},c().createElement("div",{className:"center-label"},null==n?void 0:n.label),c().createElement("div",{className:"center-value"},L(null==n?void 0:n.value)))),c().createElement("div",{className:"corner"},null==r?void 0:r.map(((e,t)=>c().createElement("div",{key:t,className:"corner-item"},c().createElement("div",{className:"corner-label"},e.label),c().createElement(N,{className:"corner-value",outline:!0,color:e.color,tagStyle:{fontSize:18,padding:"2px 16px"}},L(e.value)))))))}function G(e){return e*(e+1)/2}function L(e){return"number"==typeof e?A.format(e):e}n=z,({e:[x,v,y,E,w,k,M,S],c:[T,b]}=(0,s.A)(n,[C("data-view.globe-with-halo-indicator",{styleTexts:[g.A]})],[[$({attribute:!1}),1,"dataSource"],[$({attribute:!1}),1,"centerDataSource"],[$({attribute:!1}),1,"cornerDataSource"],[$({type:Number}),1,"maxScale"]],0,void 0,p.ReactNextElement)),b()},97136:(e,t,a)=>{a.d(t,{A:()=>d});var n=a(36758),r=a.n(n),o=a(40935),i=a.n(o),s=a(20062),l=a.n(s),c=new URL(a(17577),a.b),u=i()(r()),p=l()(c);u.push([e.id,`@font-face{font-family:ALiBaBaPuHuiTi;src:url(${p})}`,""]);const d=u},83761:(e,t,a)=>{a.d(t,{A:()=>g});var n=a(36758),r=a.n(n),o=a(40935),i=a.n(o),s=a(20062),l=a.n(s),c=new URL(a(63240),a.b),u=new URL(a(89152),a.b),p=new URL(a(93893),a.b),d=i()(r()),m=l()(c),f=l()(u),h=l()(p);d.push([e.id,`:host{display:flex;align-items:center;justify-content:center;height:100%;color:#fff}:host([hidden]){display:none}.container{width:928px;height:534px;position:relative;transform-origin:center;transform:scale(var(--scale));--scale:1}.base,\n.globe,\n.ring,\n.ring-labels{position:absolute;left:50%;transform:translate(-50%,0)}.base{width:1312px;height:575px;bottom:0;background-image:url(${m});background-repeat:no-repeat;background-position:center bottom -173px;background-size:100%}.globe{width:272px;height:272px;background-image:url(${f});background-repeat:no-repeat;background-size:100% 100%;background-position:center;bottom:228px}.ring{top:0}.particles{mix-blend-mode:screen;position:absolute;bottom:204px;left:50%;transform:translate(-50%,0)}.ring-labels{top:0;width:928px}.ring-label-container{position:absolute;padding:0 35px;margin-top:-14px;width:max-content}.ring-icon{position:absolute;width:36px;height:36px;background-image:url(${h});background-repeat:no-repeat;background-size:100%;background-position:0 0;top:-4px}.odd{transform:translate(-100%,0);text-align:right}.odd .ring-icon{right:-18px}.even .ring-icon{left:-18px}.ring-label{color:#c8e2ff;font-size:18px}.ring-value{font-family:ALiBaBaPuHuiTi;font-size:28px;text-shadow:0px 4px 7px #514af7}.center{position:absolute;top:120px;width:100%;height:272px;text-align:center;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;line-height:33px}.center-value{font-family:ALiBaBaPuHuiTi;font-weight:bold;font-size:60px;line-height:82px}.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}`,""]);const g=d.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,a)=>{var n=a(72591),r=a.n(n),o=a(1740),i=a.n(o),s=a(88128),l=a.n(s),c=a(30855),u=a.n(c),p=a(93051),d=a.n(p),m=a(73656),f=a.n(m),h=a(97136),g={};g.styleTagTransform=f(),g.setAttributes=u(),g.insert=l().bind(null,"head"),g.domAPI=i(),g.insertStyleElement=d(),r()(h.A,g),h.A&&h.A.locals&&h.A.locals},72591:e=>{var t=[];function a(e){for(var a=-1,n=0;n<t.length;n++)if(t[n].identifier===e){a=n;break}return a}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],u=o[c]||0,p="".concat(c," ").concat(u);o[c]=u+1;var d=a(p),m={css:l[1],media:l[2],sourceMap:l[3],supports:l[4],layer:l[5]};if(-1!==d)t[d].references++,t[d].updater(m);else{var f=r(m,n);n.byIndex=s,t.splice(s,0,{identifier:p,updater:f,references:1})}i.push(p)}return i}function r(e,t){var a=t.domAPI(t);return a.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;a.update(e=t)}else a.remove()}}e.exports=function(e,r){var o=n(e=e||[],r=r||{});return function(e){e=e||[];for(var i=0;i<o.length;i++){var s=a(o[i]);t[s].references--}for(var l=n(e,r),c=0;c<o.length;c++){var u=a(o[c]);0===t[u].references&&(t[u].updater(),t.splice(u,1))}o=l}}},88128:e=>{var t={};e.exports=function(e,a){var n=function(e){if(void 0===t[e]){var a=document.querySelector(e);if(window.HTMLIFrameElement&&a instanceof window.HTMLIFrameElement)try{a=a.contentDocument.head}catch(e){a=null}t[e]=a}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(a)}},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,a)=>{e.exports=function(e){var t=a.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(a){!function(e,t,a){var n="";a.supports&&(n+="@supports (".concat(a.supports,") {")),a.media&&(n+="@media ".concat(a.media," {"));var r=void 0!==a.layer;r&&(n+="@layer".concat(a.layer.length>0?" ".concat(a.layer):""," {")),n+=a.css,r&&(n+="}"),a.media&&(n+="}"),a.supports&&(n+="}");var o=a.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,a)},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))}}},93893:(e,t,a)=>{e.exports=a.p+"images/9111af40.png"},17577:(e,t,a)=>{e.exports=a.p+"media/792b07b2.ttf"},63240:(e,t,a)=>{e.exports=a.p+"images/698229b4.png"},89152:(e,t,a)=>{e.exports=a.p+"images/1056eac3.png"},65482:(e,t,a)=>{e.exports=a.p+"media/0c649f21.webm"}}]);
|
|
2
|
-
//# sourceMappingURL=globe-with-halo-indicator.5491f30c.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/globe-with-halo-indicator.5491f30c.js","mappings":"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","sources":["webpack:///./src/globe-with-halo-indicator/RotatingArc.tsx","webpack:///./src/globe-with-halo-indicator/SatelliteRing.tsx","webpack:///./src/globe-with-halo-indicator/index.tsx","webpack:///./src/fonts/ALiBaBaPuHuiTi.css","webpack:///./src/globe-with-halo-indicator/styles.shadow.css","webpack:///../../node_modules/css-loader/dist/runtime/getUrl.js","webpack:///./src/fonts/ALiBaBaPuHuiTi.css?7885","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, { useEffect, useState } from \"react\";\n\nexport function RotatingArc() {\n const durationPerCircle = 2.6;\n const [path, setPath] = useState(\"M 0 0\");\n\n useEffect(() => {\n let start: number;\n let timer: number;\n\n function step(timestamp: number) {\n if (start === undefined) {\n start = timestamp;\n }\n const elapsed = timestamp - start;\n\n const startAngle =\n -(elapsed / 1000 / durationPerCircle) * Math.PI * 2 + Math.PI * 1.1;\n // A bit more than a quarter circle\n const endAngle = startAngle - Math.PI * 0.6;\n const rx = 412.4;\n const ry = 88.9;\n const cx = 413;\n const cy = 89.5;\n const x1 = cx + rx * Math.cos(startAngle);\n const y1 = cy + ry * Math.sin(startAngle);\n const x2 = cx + rx * Math.cos(endAngle);\n const y2 = cy + ry * Math.sin(endAngle);\n setPath(`M ${x1} ${y1} A ${rx} ${ry} 0 0 0 ${x2} ${y2}`);\n timer = requestAnimationFrame(step);\n }\n\n timer = requestAnimationFrame(step);\n\n return () => {\n cancelAnimationFrame(timer);\n };\n }, []);\n\n return (\n <path\n d={path}\n // d=\"M 0.6 89.5 A 412.4 88.9 0 0 0 825.4 88.9\"\n strokeWidth={4}\n stroke=\"url(#rotating-arc)\"\n fill=\"none\"\n ></path>\n );\n}\n","import React from \"react\";\n\nexport function SatelliteRing() {\n return (\n <svg className=\"ring\" width=\"928px\" height=\"534px\" viewBox=\"0 0 928 534\">\n <defs>\n <linearGradient\n x1=\"50%\"\n y1=\"14.8555832%\"\n x2=\"50%\"\n y2=\"100%\"\n id=\"linearGradient-1\"\n >\n <stop stopColor=\"#00E8FF\" stopOpacity=\"0\" offset=\"0%\"></stop>\n <stop stopColor=\"#00CCFF\" offset=\"100%\"></stop>\n </linearGradient>\n <linearGradient\n x1=\"50%\"\n y1=\"14.8555832%\"\n x2=\"50%\"\n y2=\"100%\"\n id=\"linearGradient-2\"\n >\n <stop stopColor=\"#00CCFF\" offset=\"0%\"></stop>\n <stop stopColor=\"#00E8FF\" stopOpacity=\"0\" offset=\"100%\"></stop>\n </linearGradient>\n </defs>\n <g transform=\"translate(51 304)\" stroke=\"1\" fill=\"none\" opacity={0.5}>\n <ellipse\n cx=\"413\"\n cy=\"-136\"\n rx=\"164\"\n ry=\"94.5\"\n stroke=\"url(#linearGradient-1)\"\n >\n <animateTransform\n attributeName=\"transform\"\n type=\"rotate\"\n from=\"0 413 -136\"\n to=\"360 413 -136\"\n dur=\"2.6s\"\n repeatCount=\"indefinite\"\n />\n </ellipse>\n <ellipse\n cx=\"413\"\n cy=\"-136\"\n rx=\"164\"\n ry=\"94.5\"\n stroke=\"url(#linearGradient-2)\"\n >\n <animateTransform\n attributeName=\"transform\"\n type=\"rotate\"\n from=\"210 413 -136\"\n to=\"-150 413 -136\"\n dur=\"2.6s\"\n repeatCount=\"indefinite\"\n />\n </ellipse>\n </g>\n </svg>\n );\n}\n","import React, { useEffect, useMemo, useState } from \"react\";\nimport { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport ResizeObserver from \"resize-observer-polyfill\";\nimport type { Tag, TagProps } from \"@next-bricks/basic/tag\";\nimport { RotatingArc } from \"./RotatingArc\";\nimport { SatelliteRing } from \"./SatelliteRing\";\nimport particlesWebm from \"./assets/particles.webm\";\nimport \"../fonts/ALiBaBaPuHuiTi.css\";\nimport styleText from \"./styles.shadow.css\";\n\nconst numberFormatter = new Intl.NumberFormat(\"zh-CN\", {\n useGrouping: true,\n});\n\nconst WrappedTag = wrapBrick<Tag, TagProps>(\"eo-tag\");\n\nconst { defineElement, property } = createDecorators();\n\nexport interface GlobeWithHaloIndicatorProps {\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 d: string;\n x2: number;\n y2: number;\n}\n\n/**\n * 地球加光环的数据展示构件。\n */\nexport\n@defineElement(\"data-view.globe-with-halo-indicator\", {\n styleTexts: [styleText],\n})\nclass GlobeWithHaloIndicator\n extends ReactNextElement\n implements GlobeWithHaloIndicatorProps\n{\n /**\n * 指标数据列表(显示在环上)\n *\n * 注意:最多显示8项数据\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 <GlobeWithHaloIndicatorComponent\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 GlobeWithHaloIndicatorComponentProps\n extends GlobeWithHaloIndicatorProps {\n root: GlobeWithHaloIndicator;\n}\n\nexport function GlobeWithHaloIndicatorComponent({\n root,\n dataSource,\n centerDataSource,\n cornerDataSource,\n maxScale,\n}: GlobeWithHaloIndicatorComponentProps) {\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(Math.min(maxScale ?? 1, width / 878, height / 575));\n }\n }\n });\n observer.observe(root);\n return () => observer.disconnect();\n }, [maxScale, root]);\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, 8) ?? [];\n if (clampedData.length === 0) {\n return [];\n }\n\n const rx = 292.4;\n const ry = 59.4;\n const cx = 413;\n const cy = 65.5;\n const lineBaseDiameter = 340;\n\n const even = clampedData.length % 2 === 0;\n const m = Math.ceil(clampedData.length / 2) + 1;\n const fractions = getSequenceSum(m);\n const startAngle = -Math.PI / 3;\n const endAngle = Math.PI / 4;\n const arc = (endAngle - startAngle) / fractions;\n\n let index = 0;\n let x: number;\n let y: number;\n let x2: number;\n let y2: number;\n let r: number;\n let angle: number;\n let lineAngle: number;\n const result: DataItemWithPosition[] = [];\n while (index < clampedData.length) {\n const item = clampedData[index];\n if (index % 2 === 0) {\n const n = index / 2 + 1;\n angle = startAngle + arc * getSequenceSum(n);\n lineAngle = (Math.PI / 3) * (2 - n / m);\n r =\n lineBaseDiameter -\n (m > 2 ? ((lineBaseDiameter / 2) * index) / 2 / (m - 2) : 0);\n x = cx + rx * Math.cos(angle);\n y = cy + ry * Math.sin(angle);\n x2 = x + Math.cos(lineAngle) * r;\n y2 = y - Math.sin(lineAngle) * r;\n const d = `M ${x} ${y} A ${r} ${r} 0 0 0 ${x2} ${y2}`;\n result.push({ ...item, x, y, x2, y2, d });\n } else if (even) {\n const oddX = cx * 2 - x;\n const oddX2 = cx * 2 - x2;\n result.push({\n ...item,\n x: oddX,\n y,\n x2: oddX2,\n y2: y2,\n d: `M ${oddX} ${y} A ${r} ${r} 0 0 1 ${oddX2} ${y2}`,\n });\n } else {\n const oddAngle = Math.PI - (angle + (arc * (index + 1)) / 2);\n const oddLineAngle = Math.PI - lineAngle;\n const oddX = cx + rx * Math.cos(oddAngle);\n const oddY = cy + ry * Math.sin(oddAngle);\n // Assert: m > 2 here\n const oddR = r - lineBaseDiameter / 4 / (m - 2);\n const oddX2 = oddX + Math.cos(oddLineAngle) * oddR;\n const oddY2 = oddY - Math.sin(oddLineAngle) * oddR;\n result.push({\n ...item,\n x: oddX,\n y: oddY,\n x2: oddX2,\n y2: oddY2,\n d: `M ${oddX} ${oddY} A ${oddR} ${oddR} 0 0 1 ${oddX2} ${oddY2}`,\n });\n }\n index++;\n }\n return result;\n }, [dataSource]);\n\n return (\n <>\n <div\n className=\"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 <svg className=\"ring\" width={928} height={534} viewBox=\"0 0 928 534\">\n <defs>\n <linearGradient\n id=\"rotating-arc\"\n gradientTransform=\"rotate(48)\"\n x1=\"0\"\n y1=\"0\"\n x2=\"830px\"\n y2=\"183px\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop offset=\"0%\" stopColor=\"rgba(132, 253, 253, 0)\" />\n <stop offset=\"25%\" stopColor=\"rgba(132, 253, 253, 1)\" />\n <stop offset=\"50%\" stopColor=\"rgba(132, 253, 253, 1)\" />\n <stop offset=\"75%\" stopColor=\"rgba(248, 255, 255, 1)\" />\n </linearGradient>\n </defs>\n <g transform=\"translate(51 304)\">\n <ellipse\n cx=\"413\"\n cy=\"89.5\"\n rx=\"412.4\"\n ry=\"88.9\"\n fill=\"none\"\n stroke=\"rgba(123,212,235,255)\"\n strokeWidth=\"1.2\"\n >\n <animate\n attributeName=\"rx\"\n values=\"412.4;0\"\n dur=\"2.6s\"\n repeatCount=\"indefinite\"\n />\n <animate\n attributeName=\"ry\"\n values=\"88.9;0\"\n dur=\"2.6s\"\n repeatCount=\"indefinite\"\n />\n <animate\n attributeName=\"cy\"\n values=\"89.5;10\"\n dur=\"2.6s\"\n repeatCount=\"indefinite\"\n />\n <animate\n attributeName=\"stroke\"\n values=\"rgba(123,212,235,255);rgba(123,212,235,255);rgba(123,212,235,25)\"\n keyTimes=\"0;0.53846;1\"\n dur=\"2.6s\"\n repeatCount=\"indefinite\"\n />\n </ellipse>\n <RotatingArc />\n {labels.map((label, index) => (\n <path\n key={index}\n d={label.d}\n fill=\"none\"\n stroke=\"#3889B6\"\n strokeWidth={2}\n strokeDasharray=\"6 4\"\n ></path>\n ))}\n </g>\n </svg>\n\n <div className=\"globe\"></div>\n\n <SatelliteRing />\n\n <video\n className=\"particles\"\n width={197}\n height={246}\n autoPlay\n muted\n loop\n playsInline\n >\n <source src={particlesWebm} type=\"video/webm\" />\n </video>\n\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.x2 + 51,\n top: item.y2 + 304,\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\n <div className=\"center\">\n <div className=\"center-label\">{centerDataSource?.label}</div>\n <div className=\"center-value\">\n {formatValue(centerDataSource?.value)}\n </div>\n </div>\n </div>\n\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}\n\nfunction getSequenceSum(n: number) {\n return (n * (n + 1)) / 2;\n}\n\nfunction formatValue(value: string | number): string {\n return typeof value === \"number\" ? numberFormatter.format(value) : value;\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(\"./assets/base.png\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_1___ = new URL(\"./assets/globe.png\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_2___ = new URL(\"../crystal-ball-indicator/assets/green-dot.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___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:flex;align-items:center;justify-content:center;height:100%;color:#fff}:host([hidden]){display:none}.container{width:928px;height:534px;position:relative;transform-origin:center;transform:scale(var(--scale));--scale:1}.base,\n.globe,\n.ring,\n.ring-labels{position:absolute;left:50%;transform:translate(-50%,0)}.base{width:1312px;height:575px;bottom:0;background-image:url(${___CSS_LOADER_URL_REPLACEMENT_0___});background-repeat:no-repeat;background-position:center bottom -173px;background-size:100%}.globe{width:272px;height:272px;background-image:url(${___CSS_LOADER_URL_REPLACEMENT_1___});background-repeat:no-repeat;background-size:100% 100%;background-position:center;bottom:228px}.ring{top:0}.particles{mix-blend-mode:screen;position:absolute;bottom:204px;left:50%;transform:translate(-50%,0)}.ring-labels{top:0;width:928px}.ring-label-container{position:absolute;padding:0 35px;margin-top:-14px;width:max-content}.ring-icon{position:absolute;width:36px;height:36px;background-image:url(${___CSS_LOADER_URL_REPLACEMENT_2___});background-repeat:no-repeat;background-size:100%;background-position:0 0;top:-4px}.odd{transform:translate(-100%,0);text-align:right}.odd .ring-icon{right:-18px}.even .ring-icon{left:-18px}.ring-label{color:#c8e2ff;font-size:18px}.ring-value{font-family:ALiBaBaPuHuiTi;font-size:28px;text-shadow:0px 4px 7px #514af7}.center{position:absolute;top:120px;width:100%;height:272px;text-align:center;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;line-height:33px}.center-value{font-family:ALiBaBaPuHuiTi;font-weight:bold;font-size:60px;line-height:82px}.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}`, \"\"]);\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","\"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":["RotatingArc","path","setPath","useState","useEffect","start","timer","requestAnimationFrame","step","timestamp","undefined","startAngle","Math","PI","endAngle","x1","cos","y1","sin","x2","y2","cancelAnimationFrame","React","d","strokeWidth","stroke","fill","SatelliteRing","className","width","height","viewBox","id","stopColor","stopOpacity","offset","transform","opacity","cx","cy","rx","ry","attributeName","type","from","to","dur","repeatCount","numberFormatter","Intl","NumberFormat","useGrouping","WrappedTag","wrapBrick","defineElement","property","createDecorators","_GlobeWithHaloIndicat","_A","WeakMap","_B","_C","_D","GlobeWithHaloIndicator","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","GlobeWithHaloIndicatorComponent","root","this","_ref","scale","setScale","observer","ResizeObserver","entries","entry","target","contentRect","min","observe","disconnect","labels","useMemo","_dataSource$slice","clampedData","slice","length","even","m","ceil","fractions","getSequenceSum","arc","x","y","r","angle","lineAngle","index","result","item","n","lineBaseDiameter","push","oddX","oddX2","oddAngle","oddLineAngle","oddY","oddR","oddY2","style","visibility","gradientTransform","gradientUnits","values","keyTimes","map","label","key","strokeDasharray","autoPlay","muted","loop","playsInline","src","particlesWebm","left","top","formatValue","value","outline","color","tagStyle","fontSize","padding","format","_GlobeWithHaloIndicator","e","c","_initClass","_applyDecs","styleTexts","styleText","attribute","Number","___CSS_LOADER_URL_IMPORT_0___","URL","___CSS_LOADER_EXPORT___","___CSS_LOADER_URL_REPLACEMENT_0___","module","___CSS_LOADER_URL_IMPORT_1___","___CSS_LOADER_URL_IMPORT_2___","___CSS_LOADER_URL_REPLACEMENT_1___","___CSS_LOADER_URL_REPLACEMENT_2___","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":""}
|
package/dist/images/0fec7781.png
DELETED
|
Binary file
|