semiotic 3.5.1 → 3.5.3
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/CLAUDE.md +26 -23
- package/README.md +27 -21
- package/ai/chartSuggestions.cjs +191 -3
- package/ai/componentMetadata.cjs +3 -3
- package/ai/dist/mcp-server.js +266 -48
- package/ai/examples.md +68 -0
- package/ai/schema.json +914 -1
- package/ai/system-prompt.md +4 -1
- package/dist/components/ThemeProvider.d.ts +2 -2
- package/dist/components/Tooltip/FlippingTooltip.d.ts +16 -1
- package/dist/components/charts/geo/FlowMap.d.ts +13 -4
- package/dist/components/charts/index.d.ts +6 -0
- package/dist/components/charts/network/OrbitDiagram.d.ts +5 -5
- package/dist/components/charts/network/ProcessSankey.d.ts +163 -0
- package/dist/components/charts/network/SankeyDiagram.d.ts +5 -1
- package/dist/components/charts/network/processSankey/algorithm.d.ts +193 -0
- package/dist/components/charts/network/processSankey/buildScenes.d.ts +51 -0
- package/dist/components/charts/network/processSankey/ribbonInputs.d.ts +32 -0
- package/dist/components/charts/network/processSankey/streamingLayout.d.ts +71 -0
- package/dist/components/charts/network/processSankey/tooltipUtils.d.ts +41 -0
- package/dist/components/charts/ordinal/BarChart.d.ts +12 -0
- package/dist/components/charts/ordinal/DotPlot.d.ts +9 -0
- package/dist/components/charts/ordinal/GaugeChart.d.ts +20 -0
- package/dist/components/charts/ordinal/SwimlaneChart.d.ts +5 -0
- package/dist/components/charts/realtime/RealtimeHeatmap.d.ts +2 -0
- package/dist/components/charts/realtime/RealtimeHistogram.d.ts +16 -11
- package/dist/components/charts/realtime/RealtimeLineChart.d.ts +2 -0
- package/dist/components/charts/realtime/RealtimeSwarmChart.d.ts +2 -0
- package/dist/components/charts/realtime/RealtimeWaterfallChart.d.ts +2 -0
- package/dist/components/charts/realtime/defaultRealtimeTooltip.d.ts +19 -0
- package/dist/components/charts/shared/axisExtent.d.ts +59 -0
- package/dist/components/charts/shared/chartSpecs.d.ts +75 -0
- package/dist/components/charts/shared/colorUtils.d.ts +8 -2
- package/dist/components/charts/shared/networkUtils.d.ts +3 -5
- package/dist/components/charts/shared/radialGeometry.d.ts +99 -0
- package/dist/components/charts/shared/regressionUtils.d.ts +59 -0
- package/dist/components/charts/shared/selectionUtils.d.ts +8 -1
- package/dist/components/charts/shared/streamPropsHelpers.d.ts +5 -0
- package/dist/components/charts/shared/tooltipUtils.d.ts +11 -0
- package/dist/components/charts/shared/types.d.ts +19 -0
- package/dist/components/charts/shared/useAreaSeriesSetup.d.ts +78 -0
- package/dist/components/charts/shared/useChartSetup.d.ts +2 -0
- package/dist/components/charts/shared/useCustomChartSetup.d.ts +1 -0
- package/dist/components/charts/shared/useEncodingDomain.d.ts +48 -0
- package/dist/components/charts/shared/useFrameImperativeHandle.d.ts +1 -1
- package/dist/components/charts/shared/useNetworkChartSetup.d.ts +150 -0
- package/dist/components/charts/shared/useOrdinalPieceStyle.d.ts +87 -0
- package/dist/components/charts/shared/useSeriesFeatures.d.ts +57 -0
- package/dist/components/charts/shared/useStreamStatus.d.ts +33 -0
- package/dist/components/charts/shared/useXYLineStyle.d.ts +69 -0
- package/dist/components/charts/shared/useXYPointStyle.d.ts +87 -0
- package/dist/components/charts/shared/withChartWrapper.d.ts +10 -3
- package/dist/components/charts/xy/AreaChart.d.ts +36 -2
- package/dist/components/charts/xy/BubbleChart.d.ts +9 -0
- package/dist/components/charts/xy/ConnectedScatterplot.d.ts +16 -0
- package/dist/components/charts/xy/DifferenceChart.d.ts +172 -0
- package/dist/components/charts/xy/LineChart.d.ts +26 -2
- package/dist/components/charts/xy/Scatterplot.d.ts +39 -1
- package/dist/components/geometry/ribbonGeometry.d.ts +76 -0
- package/dist/components/semiotic-ai.d.ts +2 -0
- package/dist/components/semiotic-network.d.ts +4 -0
- package/dist/components/semiotic-realtime.d.ts +2 -0
- package/dist/components/semiotic-utils.d.ts +4 -0
- package/dist/components/semiotic-xy.d.ts +2 -0
- package/dist/components/semiotic.d.ts +4 -4
- package/dist/components/server/renderToStaticSVG.d.ts +2 -1
- package/dist/components/server/serverChartConfigs.d.ts +3 -0
- package/dist/components/server/staticAnnotations.d.ts +1 -1
- package/dist/components/server/themeResolver.d.ts +7 -1
- package/dist/components/store/ThemeStore.d.ts +7 -1
- package/dist/components/stream/AccessibleDataTable.d.ts +2 -2
- package/dist/components/stream/GeoPipelineStore.d.ts +21 -0
- package/dist/components/stream/OrdinalSVGOverlay.d.ts +8 -0
- package/dist/components/stream/PipelineStore.d.ts +25 -13
- package/dist/components/stream/SVGOverlay.d.ts +9 -18
- package/dist/components/stream/accessorUtils.d.ts +2 -1
- package/dist/components/stream/annotationAccessorResolver.d.ts +39 -0
- package/dist/components/stream/geoTypes.d.ts +12 -0
- package/dist/components/stream/layouts/hierarchyLayoutPlugin.d.ts +1 -1
- package/dist/components/stream/networkTypes.d.ts +11 -0
- package/dist/components/stream/ordinalTypes.d.ts +27 -1
- package/dist/components/stream/renderers/cornerRadii.d.ts +33 -0
- package/dist/components/stream/renderers/wedgePathBuilder.d.ts +56 -0
- package/dist/components/stream/types.d.ts +127 -11
- package/dist/components/stream/xySceneBuilders/areaGradient.d.ts +20 -0
- package/dist/components/stream/xySceneBuilders/barScene.d.ts +2 -2
- package/dist/components/stream/xySceneBuilders/candlestickScene.d.ts +2 -2
- package/dist/components/stream/xySceneBuilders/heatmapScene.d.ts +2 -2
- package/dist/components/stream/xySceneBuilders/lineScene.d.ts +4 -3
- package/dist/components/stream/xySceneBuilders/pointScene.d.ts +2 -2
- package/dist/components/stream/xySceneBuilders/ribbonScene.d.ts +107 -0
- package/dist/components/stream/xySceneBuilders/swarmScene.d.ts +2 -2
- package/dist/components/stream/xySceneBuilders/types.d.ts +9 -12
- package/dist/components/stream/xySceneBuilders/waterfallScene.d.ts +2 -2
- package/dist/components/types/legendTypes.d.ts +1 -1
- package/dist/geo.min.js +1 -1
- package/dist/geo.module.min.js +1 -1
- package/dist/network.min.js +1 -1
- package/dist/network.module.min.js +1 -1
- package/dist/ordinal.min.js +1 -1
- package/dist/ordinal.module.min.js +1 -1
- package/dist/realtime.min.js +1 -1
- package/dist/realtime.module.min.js +1 -1
- package/dist/semiotic-ai.d.ts +2 -0
- package/dist/semiotic-ai.min.js +1 -1
- package/dist/semiotic-ai.module.min.js +1 -1
- package/dist/semiotic-data.min.js +1 -1
- package/dist/semiotic-data.module.min.js +1 -1
- package/dist/semiotic-network.d.ts +4 -0
- package/dist/semiotic-realtime.d.ts +2 -0
- package/dist/semiotic-recipes.min.js +1 -1
- package/dist/semiotic-recipes.module.min.js +1 -1
- package/dist/semiotic-themes.min.js +1 -1
- package/dist/semiotic-themes.module.min.js +1 -1
- package/dist/semiotic-utils.d.ts +4 -0
- package/dist/semiotic-utils.min.js +1 -1
- package/dist/semiotic-utils.module.min.js +1 -1
- package/dist/semiotic-xy.d.ts +2 -0
- package/dist/semiotic.d.ts +4 -4
- package/dist/semiotic.min.js +1 -1
- package/dist/semiotic.module.min.js +1 -1
- package/dist/server.min.js +1 -1
- package/dist/server.module.min.js +1 -1
- package/dist/xy.min.js +1 -1
- package/dist/xy.module.min.js +1 -1
- package/package.json +23 -10
- package/dist/components/stream/xySceneBuilders/boundsScene.d.ts +0 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";function e(e,t){const{groupBy:l,value:o,agg:
|
|
1
|
+
"use strict";function e(e,t){const{groupBy:l,value:o,agg:a="sum"}=t,i=new Map;for(const t of e){const e=t[l]+"";i.has(e)||i.set(e,[]),i.get(e).push(Number(t[o]))}const n=[];for(const[e,t]of i){let o;switch(a){case"count":o=t.length;break;case"mean":o=t.reduce((e,t)=>e+t,0)/t.length;break;case"min":o=Math.min(...t);break;case"max":o=Math.max(...t);break;default:o=t.reduce((e,t)=>e+t,0)}n.push({[l]:e,value:o})}return n}function t(e){return Math.round(1e3*e)/1e3+""}function l(e){return"nominal"===e||"ordinal"===e}function o(e){return"quantitative"===e||"temporal"===e}"function"==typeof SuppressedError&&SuppressedError;const a={category10:"category10",category20:"category20",category20b:"category20",category20c:"category20",accent:"accent",dark2:"dark2",paired:"paired",pastel1:"pastel1",pastel2:"pastel2",set1:"set1",set2:"set2",set3:"set3",tableau10:"category10",tableau20:"category20"},i={linear:"linear","monotone-x":"monotoneX","monotone-y":"monotoneY",monotone:"monotoneX",step:"step","step-after":"stepAfter","step-before":"stepBefore",basis:"basis",cardinal:"cardinal","catmull-rom":"catmullRom"},n={sum:"sum",mean:"mean",average:"mean",count:"count",min:"min",max:"max",median:"mean"};function r(e,t,l,o,a){var i,n;(null==e?void 0:e.field)&&(l.xAccessor=o?"value":e.field),(null==t?void 0:t.field)&&(l.yAccessor=a?"value":t.field),(null===(i=null==e?void 0:e.axis)||void 0===i?void 0:i.title)&&(l.xLabel=e.axis.title),(null===(n=null==t?void 0:t.axis)||void 0===n?void 0:n.title)&&(l.yLabel=t.axis.title)}function s(e,t,l){const o={component:e,props:t,version:"1",createdAt:(new Date).toISOString()};if(l.length>0){o.warnings=l;for(const e of l)console.warn("[semiotic/fromVegaLite] "+e)}return o}exports.bin=function(e,l){const{field:o,bins:a=10}=l,i=e.map(e=>Number(e[o])).filter(e=>!isNaN(e));if(0===i.length)return[];const n=l.domain?l.domain[0]:Math.min(...i),r=l.domain?l.domain[1]:Math.max(...i);if(n===r)return[{category:`${n}-${r}`,value:i.length}];const s=(r-n)/a,c=Array(a).fill(0);for(const e of i){let t=Math.floor((e-n)/s);t===a&&(t=a-1),t>=0&&a>t&&c[t]++}return c.map((e,l)=>{const o=n+l*s,a=o+s;return{category:`${t(o)}-${t(a)}`,value:e}})},exports.fromVegaLite=function(t){var c,d,u,v,f,p,y,g,m,b,h,x;const k=[],{type:A,markProps:L}=function(e){if("string"==typeof e)return{type:e,markProps:{}};const{type:t}=e;return{type:t,markProps:function(e,t){var l={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&0>t.indexOf(o)&&(l[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(o=Object.getOwnPropertySymbols(e);o.length>a;a++)0>t.indexOf(o[a])&&Object.prototype.propertyIsEnumerable.call(e,o[a])&&(l[o[a]]=e[o[a]])}return l}(e,["type"])}}(t.mark),w=t.encoding||{},O=w.x,S=w.y,j=w.color,B=w.size,C=w.theta,P=w.opacity;let M;(null===(c=t.data)||void 0===c?void 0:c.values)?M=t.data.values:(null===(d=t.data)||void 0===d?void 0:d.url)&&k.push("data.url is not supported — only inline data.values can be translated. Provide data manually."),t.transform&&t.transform.length>0&&k.push("Vega-Lite transforms are not supported. Pre-transform your data before passing to fromVegaLite()."),t.layer&&k.push('Layered specs ("layer") are not supported. Only single-mark specs can be translated.'),(t.hconcat||t.vconcat||t.concat)&&k.push('Concatenated views ("hconcat"/"vconcat"/"concat") are not supported. Translate each sub-spec individually.'),(t.facet||w.facet||w.row||w.column)&&k.push("Faceted views are not supported. Use Semiotic's LinkedCharts or render multiple charts manually."),t.repeat&&k.push('Repeated views ("repeat") are not supported. Translate each field combination individually.'),(t.params||t.selection)&&k.push("Selections/params are not supported. Use Semiotic's LinkedCharts and selection props for interactivity.");const R={};t.width&&(R.width=t.width),t.height&&(R.height=t.height);const z=function(e){if(e)return"string"==typeof e?e:e.text}(t.title);if(z&&(R.title=z),(null==j?void 0:j.field)&&(R.colorBy=j.field,null===(u=j.scale)||void 0===u?void 0:u.scheme)){const e=a[j.scale.scheme];e&&(R.colorScheme=e)}void 0!==(null==P?void 0:P.value)&&(R.pointOpacity=P.value);const D=null==O?void 0:O.aggregate,$=null==S?void 0:S.aggregate;if(M&&(D||$)){const t=$?S:O,l=$?O:S,o=n[t.aggregate];if(o&&(null==l?void 0:l.field)&&t.field)M=e(M,{groupBy:l.field,value:t.field,agg:o});else if(("count"===o||"count"===t.aggregate)&&(null==l?void 0:l.field)&&M){const e=new Map;for(const t of M){const o=t[l.field]+"";e.set(o,(e.get(o)||0)+1)}M=Array.from(e,([e,t])=>({[l.field]:e,value:t}))}}if((null==O?void 0:O.bin)||(null==S?void 0:S.bin)){const e="Histogram";M&&(R.data=M),(null==O?void 0:O.bin)?(R.valueAccessor=O.field,(null==S?void 0:S.field)&&(R.categoryAccessor=S.field),(null===(v=O.axis)||void 0===v?void 0:v.title)&&(R.valueLabel=O.axis.title)):(null==S?void 0:S.bin)&&(R.valueAccessor=S.field,(null==O?void 0:O.field)&&(R.categoryAccessor=O.field),(null===(f=S.axis)||void 0===f?void 0:f.title)&&(R.valueLabel=S.axis.title));const t=(null==O?void 0:O.bin)||(null==S?void 0:S.bin),l="object"==typeof t?t.maxbins:void 0;return l&&(R.bins=l),s(e,R,k)}let N;switch(A){case"bar":N=function(e,t,a,i,n,r,s){var c,d,u,v,f,p;let y;return(null==a?void 0:a.field)&&!1!==(null==e?void 0:e.stack)&&!1!==(null==t?void 0:t.stack)&&null!==(null==e?void 0:e.stack)&&null!==(null==t?void 0:t.stack)?(y="StackedBarChart",i.stackBy=a.field):y="BarChart",l(null==e?void 0:e.type)&&o(null==t?void 0:t.type)?(i.categoryAccessor=e.field,i.valueAccessor=s?"value":t.field,(null===(c=null==e?void 0:e.axis)||void 0===c?void 0:c.title)&&(i.categoryLabel=e.axis.title),(null===(d=null==t?void 0:t.axis)||void 0===d?void 0:d.title)&&(i.valueLabel=t.axis.title)):o(null==e?void 0:e.type)&&l(null==t?void 0:t.type)?(i.categoryAccessor=t.field,i.valueAccessor=r?"value":e.field,i.orientation="horizontal",(null===(u=null==t?void 0:t.axis)||void 0===u?void 0:u.title)&&(i.categoryLabel=t.axis.title),(null===(v=null==e?void 0:e.axis)||void 0===v?void 0:v.title)&&(i.valueLabel=e.axis.title)):((null==e?void 0:e.field)&&(i.categoryAccessor=e.field),(null==t?void 0:t.field)&&(i.valueAccessor=s?"value":t.field),(null===(f=null==e?void 0:e.axis)||void 0===f?void 0:f.title)&&(i.categoryLabel=e.axis.title),(null===(p=null==t?void 0:t.axis)||void 0===p?void 0:p.title)&&(i.valueLabel=t.axis.title)),n&&(i.data=n),y}(O,S,j,R,M,D,$);break;case"line":if(N="LineChart",r(O,S,R,D,$),(null==j?void 0:j.field)&&(R.lineBy=j.field),L.interpolate){const e=i[L.interpolate];e&&(R.curve=e)}!0===L.point&&(R.showPoints=!0),M&&(R.data=M);break;case"area":if((null==j?void 0:j.field)?(N="StackedAreaChart",R.areaBy=j.field):N="AreaChart",r(O,S,R,D,$),L.interpolate){const e=i[L.interpolate];e&&(R.curve=e)}void 0!==L.opacity&&(R.areaOpacity=L.opacity),M&&(R.data=M);break;case"point":case"circle":case"square":(null==B?void 0:B.field)?(N="BubbleChart",R.sizeBy=B.field,(null===(p=B.scale)||void 0===p?void 0:p.range)&&(R.sizeRange=B.scale.range)):N="Scatterplot",r(O,S,R,D,$),M&&(R.data=M);break;case"rect":N="Heatmap",(null==O?void 0:O.field)&&(R.xAccessor=O.field),(null==S?void 0:S.field)&&(R.yAccessor=S.field),(null==j?void 0:j.field)&&(R.valueAccessor=j.field,delete R.colorBy),(null===(y=null==O?void 0:O.axis)||void 0===y?void 0:y.title)&&(R.xLabel=O.axis.title),(null===(g=null==S?void 0:S.axis)||void 0===g?void 0:g.title)&&(R.yLabel=S.axis.title),M&&(R.data=M);break;case"arc":L.innerRadius&&L.innerRadius>0?(N="DonutChart",R.innerRadius=L.innerRadius):N="PieChart",(null==C?void 0:C.field)?R.valueAccessor=C.field:(null==S?void 0:S.field)&&(R.valueAccessor=$?"value":S.field),(null==j?void 0:j.field)&&(R.categoryAccessor=j.field),(null==O?void 0:O.field)&&!(null==C?void 0:C.field)&&(R.categoryAccessor=O.field),M&&(R.data=M);break;case"tick":N="DotPlot",l(null==O?void 0:O.type)?(R.categoryAccessor=O.field,(null==S?void 0:S.field)&&(R.valueAccessor=$?"value":S.field),(null===(m=null==O?void 0:O.axis)||void 0===m?void 0:m.title)&&(R.categoryLabel=O.axis.title),(null===(b=null==S?void 0:S.axis)||void 0===b?void 0:b.title)&&(R.valueLabel=S.axis.title)):l(null==S?void 0:S.type)?(R.categoryAccessor=S.field,(null==O?void 0:O.field)&&(R.valueAccessor=D?"value":O.field),R.orientation="horizontal",(null===(h=null==S?void 0:S.axis)||void 0===h?void 0:h.title)&&(R.categoryLabel=S.axis.title),(null===(x=null==O?void 0:O.axis)||void 0===x?void 0:x.title)&&(R.valueLabel=O.axis.title)):((null==O?void 0:O.field)&&(R.categoryAccessor=O.field),(null==S?void 0:S.field)&&(R.valueAccessor=$?"value":S.field)),M&&(R.data=M);break;default:k.push(`Unsupported mark type "${A}". Defaulting to Scatterplot.`),N="Scatterplot",r(O,S,R,D,$),M&&(R.data=M)}return s(N,R,k)},exports.groupBy=function(e,t){const{key:l,fields:o}=t,a=new Map;for(const t of e){const e=t[l]+"";if(a.has(e)||a.set(e,[]),o){const l={};for(const e of o)e in t&&(l[e]=t[e]);a.get(e).push(l)}else a.get(e).push(Object.assign({},t))}const i=[];for(const[e,t]of a)i.push({id:e,coordinates:t});return i},exports.mergeData=function(e,t,l){const{featureKey:o,dataKey:a}=l,i=new Map;for(const e of t)i.set(e[a]+"",e);return e.map(e=>{const t=(e=>{const t=o.split(".");let l=e;for(const e of t)l=null==l?void 0:l[e];return(null!=l?l:"")+""})(e),l=i.get(t);return l?Object.assign(Object.assign({},e),{properties:Object.assign(Object.assign({},e.properties),l)}):e})},exports.pivot=function(e,t){const{columns:l,nameField:o="name",valueField:a="value"}=t,i=new Set(l),n=[];for(const t of e){const e={};for(const l of Object.keys(t))i.has(l)||(e[l]=t[l]);for(const i of l)n.push(Object.assign(Object.assign({},e),{[o]:i,[a]:t[i]}))}return n},exports.rollup=e;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function e(e,t){const{field:l,bins:
|
|
1
|
+
function e(e,t){const{field:l,bins:a=10}=t,o=e.map(e=>Number(e[l])).filter(e=>!isNaN(e));if(0===o.length)return[];const n=t.domain?t.domain[0]:Math.min(...o),r=t.domain?t.domain[1]:Math.max(...o);if(n===r)return[{category:`${n}-${r}`,value:o.length}];const s=(r-n)/a,c=Array(a).fill(0);for(const e of o){let t=Math.floor((e-n)/s);t===a&&(t=a-1),t>=0&&a>t&&c[t]++}return c.map((e,t)=>{const l=n+t*s,a=l+s;return{category:`${i(l)}-${i(a)}`,value:e}})}function t(e,t){const{groupBy:l,value:a,agg:i="sum"}=t,o=new Map;for(const t of e){const e=t[l]+"";o.has(e)||o.set(e,[]),o.get(e).push(Number(t[a]))}const n=[];for(const[e,t]of o){let a;switch(i){case"count":a=t.length;break;case"mean":a=t.reduce((e,t)=>e+t,0)/t.length;break;case"min":a=Math.min(...t);break;case"max":a=Math.max(...t);break;default:a=t.reduce((e,t)=>e+t,0)}n.push({[l]:e,value:a})}return n}function l(e,t){const{key:l,fields:a}=t,i=new Map;for(const t of e){const e=t[l]+"";if(i.has(e)||i.set(e,[]),a){const l={};for(const e of a)e in t&&(l[e]=t[e]);i.get(e).push(l)}else i.get(e).push(Object.assign({},t))}const o=[];for(const[e,t]of i)o.push({id:e,coordinates:t});return o}function a(e,t){const{columns:l,nameField:a="name",valueField:i="value"}=t,o=new Set(l),n=[];for(const t of e){const e={};for(const l of Object.keys(t))o.has(l)||(e[l]=t[l]);for(const o of l)n.push(Object.assign(Object.assign({},e),{[a]:o,[i]:t[o]}))}return n}function i(e){return Math.round(1e3*e)/1e3+""}function o(e){return"nominal"===e||"ordinal"===e}function n(e){return"quantitative"===e||"temporal"===e}"function"==typeof SuppressedError&&SuppressedError;const r={category10:"category10",category20:"category20",category20b:"category20",category20c:"category20",accent:"accent",dark2:"dark2",paired:"paired",pastel1:"pastel1",pastel2:"pastel2",set1:"set1",set2:"set2",set3:"set3",tableau10:"category10",tableau20:"category20"},s={linear:"linear","monotone-x":"monotoneX","monotone-y":"monotoneY",monotone:"monotoneX",step:"step","step-after":"stepAfter","step-before":"stepBefore",basis:"basis",cardinal:"cardinal","catmull-rom":"catmullRom"},c={sum:"sum",mean:"mean",average:"mean",count:"count",min:"min",max:"max",median:"mean"};function d(e){var l,a,i,d,f,p,y,g,m,b,h,x;const k=[],{type:A,markProps:L}=function(e){if("string"==typeof e)return{type:e,markProps:{}};const{type:t}=e;return{type:t,markProps:function(e,t){var l={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&0>t.indexOf(a)&&(l[a]=e[a]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(a=Object.getOwnPropertySymbols(e);a.length>i;i++)0>t.indexOf(a[i])&&Object.prototype.propertyIsEnumerable.call(e,a[i])&&(l[a[i]]=e[a[i]])}return l}(e,["type"])}}(e.mark),w=e.encoding||{},O=w.x,S=w.y,j=w.color,B=w.size,C=w.theta,P=w.opacity;let M;(null===(l=e.data)||void 0===l?void 0:l.values)?M=e.data.values:(null===(a=e.data)||void 0===a?void 0:a.url)&&k.push("data.url is not supported — only inline data.values can be translated. Provide data manually."),e.transform&&e.transform.length>0&&k.push("Vega-Lite transforms are not supported. Pre-transform your data before passing to fromVegaLite()."),e.layer&&k.push('Layered specs ("layer") are not supported. Only single-mark specs can be translated.'),(e.hconcat||e.vconcat||e.concat)&&k.push('Concatenated views ("hconcat"/"vconcat"/"concat") are not supported. Translate each sub-spec individually.'),(e.facet||w.facet||w.row||w.column)&&k.push("Faceted views are not supported. Use Semiotic's LinkedCharts or render multiple charts manually."),e.repeat&&k.push('Repeated views ("repeat") are not supported. Translate each field combination individually.'),(e.params||e.selection)&&k.push("Selections/params are not supported. Use Semiotic's LinkedCharts and selection props for interactivity.");const R={};e.width&&(R.width=e.width),e.height&&(R.height=e.height);const z=function(e){if(e)return"string"==typeof e?e:e.text}(e.title);if(z&&(R.title=z),(null==j?void 0:j.field)&&(R.colorBy=j.field,null===(i=j.scale)||void 0===i?void 0:i.scheme)){const e=r[j.scale.scheme];e&&(R.colorScheme=e)}void 0!==(null==P?void 0:P.value)&&(R.pointOpacity=P.value);const $=null==O?void 0:O.aggregate,D=null==S?void 0:S.aggregate;if(M&&($||D)){const e=D?S:O,l=D?O:S,a=c[e.aggregate];if(a&&(null==l?void 0:l.field)&&e.field)M=t(M,{groupBy:l.field,value:e.field,agg:a});else if(("count"===a||"count"===e.aggregate)&&(null==l?void 0:l.field)&&M){const e=new Map;for(const t of M){const a=t[l.field]+"";e.set(a,(e.get(a)||0)+1)}M=Array.from(e,([e,t])=>({[l.field]:e,value:t}))}}if((null==O?void 0:O.bin)||(null==S?void 0:S.bin)){const e="Histogram";M&&(R.data=M),(null==O?void 0:O.bin)?(R.valueAccessor=O.field,(null==S?void 0:S.field)&&(R.categoryAccessor=S.field),(null===(d=O.axis)||void 0===d?void 0:d.title)&&(R.valueLabel=O.axis.title)):(null==S?void 0:S.bin)&&(R.valueAccessor=S.field,(null==O?void 0:O.field)&&(R.categoryAccessor=O.field),(null===(f=S.axis)||void 0===f?void 0:f.title)&&(R.valueLabel=S.axis.title));const t=(null==O?void 0:O.bin)||(null==S?void 0:S.bin),l="object"==typeof t?t.maxbins:void 0;return l&&(R.bins=l),v(e,R,k)}let N;switch(A){case"bar":N=function(e,t,l,a,i,r,s){var c,d,u,v,f,p;let y;return(null==l?void 0:l.field)&&!1!==(null==e?void 0:e.stack)&&!1!==(null==t?void 0:t.stack)&&null!==(null==e?void 0:e.stack)&&null!==(null==t?void 0:t.stack)?(y="StackedBarChart",a.stackBy=l.field):y="BarChart",o(null==e?void 0:e.type)&&n(null==t?void 0:t.type)?(a.categoryAccessor=e.field,a.valueAccessor=s?"value":t.field,(null===(c=null==e?void 0:e.axis)||void 0===c?void 0:c.title)&&(a.categoryLabel=e.axis.title),(null===(d=null==t?void 0:t.axis)||void 0===d?void 0:d.title)&&(a.valueLabel=t.axis.title)):n(null==e?void 0:e.type)&&o(null==t?void 0:t.type)?(a.categoryAccessor=t.field,a.valueAccessor=r?"value":e.field,a.orientation="horizontal",(null===(u=null==t?void 0:t.axis)||void 0===u?void 0:u.title)&&(a.categoryLabel=t.axis.title),(null===(v=null==e?void 0:e.axis)||void 0===v?void 0:v.title)&&(a.valueLabel=e.axis.title)):((null==e?void 0:e.field)&&(a.categoryAccessor=e.field),(null==t?void 0:t.field)&&(a.valueAccessor=s?"value":t.field),(null===(f=null==e?void 0:e.axis)||void 0===f?void 0:f.title)&&(a.categoryLabel=e.axis.title),(null===(p=null==t?void 0:t.axis)||void 0===p?void 0:p.title)&&(a.valueLabel=t.axis.title)),i&&(a.data=i),y}(O,S,j,R,M,$,D);break;case"line":if(N="LineChart",u(O,S,R,$,D),(null==j?void 0:j.field)&&(R.lineBy=j.field),L.interpolate){const e=s[L.interpolate];e&&(R.curve=e)}!0===L.point&&(R.showPoints=!0),M&&(R.data=M);break;case"area":if((null==j?void 0:j.field)?(N="StackedAreaChart",R.areaBy=j.field):N="AreaChart",u(O,S,R,$,D),L.interpolate){const e=s[L.interpolate];e&&(R.curve=e)}void 0!==L.opacity&&(R.areaOpacity=L.opacity),M&&(R.data=M);break;case"point":case"circle":case"square":(null==B?void 0:B.field)?(N="BubbleChart",R.sizeBy=B.field,(null===(p=B.scale)||void 0===p?void 0:p.range)&&(R.sizeRange=B.scale.range)):N="Scatterplot",u(O,S,R,$,D),M&&(R.data=M);break;case"rect":N="Heatmap",(null==O?void 0:O.field)&&(R.xAccessor=O.field),(null==S?void 0:S.field)&&(R.yAccessor=S.field),(null==j?void 0:j.field)&&(R.valueAccessor=j.field,delete R.colorBy),(null===(y=null==O?void 0:O.axis)||void 0===y?void 0:y.title)&&(R.xLabel=O.axis.title),(null===(g=null==S?void 0:S.axis)||void 0===g?void 0:g.title)&&(R.yLabel=S.axis.title),M&&(R.data=M);break;case"arc":L.innerRadius&&L.innerRadius>0?(N="DonutChart",R.innerRadius=L.innerRadius):N="PieChart",(null==C?void 0:C.field)?R.valueAccessor=C.field:(null==S?void 0:S.field)&&(R.valueAccessor=D?"value":S.field),(null==j?void 0:j.field)&&(R.categoryAccessor=j.field),(null==O?void 0:O.field)&&!(null==C?void 0:C.field)&&(R.categoryAccessor=O.field),M&&(R.data=M);break;case"tick":N="DotPlot",o(null==O?void 0:O.type)?(R.categoryAccessor=O.field,(null==S?void 0:S.field)&&(R.valueAccessor=D?"value":S.field),(null===(m=null==O?void 0:O.axis)||void 0===m?void 0:m.title)&&(R.categoryLabel=O.axis.title),(null===(b=null==S?void 0:S.axis)||void 0===b?void 0:b.title)&&(R.valueLabel=S.axis.title)):o(null==S?void 0:S.type)?(R.categoryAccessor=S.field,(null==O?void 0:O.field)&&(R.valueAccessor=$?"value":O.field),R.orientation="horizontal",(null===(h=null==S?void 0:S.axis)||void 0===h?void 0:h.title)&&(R.categoryLabel=S.axis.title),(null===(x=null==O?void 0:O.axis)||void 0===x?void 0:x.title)&&(R.valueLabel=O.axis.title)):((null==O?void 0:O.field)&&(R.categoryAccessor=O.field),(null==S?void 0:S.field)&&(R.valueAccessor=D?"value":S.field)),M&&(R.data=M);break;default:k.push(`Unsupported mark type "${A}". Defaulting to Scatterplot.`),N="Scatterplot",u(O,S,R,$,D),M&&(R.data=M)}return v(N,R,k)}function u(e,t,l,a,i){var o,n;(null==e?void 0:e.field)&&(l.xAccessor=a?"value":e.field),(null==t?void 0:t.field)&&(l.yAccessor=i?"value":t.field),(null===(o=null==e?void 0:e.axis)||void 0===o?void 0:o.title)&&(l.xLabel=e.axis.title),(null===(n=null==t?void 0:t.axis)||void 0===n?void 0:n.title)&&(l.yLabel=t.axis.title)}function v(e,t,l){const a={component:e,props:t,version:"1",createdAt:(new Date).toISOString()};if(l.length>0){a.warnings=l;for(const e of l)console.warn("[semiotic/fromVegaLite] "+e)}return a}function f(e,t,l){const{featureKey:a,dataKey:i}=l,o=new Map;for(const e of t)o.set(e[i]+"",e);return e.map(e=>{const t=(e=>{const t=a.split(".");let l=e;for(const e of t)l=null==l?void 0:l[e];return(null!=l?l:"")+""})(e),l=o.get(t);return l?Object.assign(Object.assign({},e),{properties:Object.assign(Object.assign({},e.properties),l)}):e})}export{e as bin,d as fromVegaLite,l as groupBy,f as mergeData,a as pivot,t as rollup};
|
|
@@ -11,10 +11,12 @@ export { TreeDiagram } from "./components/charts/network/TreeDiagram";
|
|
|
11
11
|
export { Treemap } from "./components/charts/network/Treemap";
|
|
12
12
|
export { CirclePack } from "./components/charts/network/CirclePack";
|
|
13
13
|
export { OrbitDiagram } from "./components/charts/network/OrbitDiagram";
|
|
14
|
+
export { ProcessSankey } from "./components/charts/network/ProcessSankey";
|
|
14
15
|
export { NetworkCustomChart } from "./components/charts/custom/NetworkCustomChart";
|
|
15
16
|
export type { StreamNetworkFrameProps, StreamNetworkFrameHandle, NetworkChartType, NetworkSceneNode, NetworkSceneEdge, NetworkLabel, ThresholdAlertConfig } from "./components/stream/networkTypes";
|
|
16
17
|
export type { ForceDirectedGraphProps } from "./components/charts/network/ForceDirectedGraph";
|
|
17
18
|
export type { SankeyDiagramProps } from "./components/charts/network/SankeyDiagram";
|
|
19
|
+
export type { ProcessSankeyProps, ProcessSankeyTick } from "./components/charts/network/ProcessSankey";
|
|
18
20
|
export type { ChordDiagramProps } from "./components/charts/network/ChordDiagram";
|
|
19
21
|
export type { TreeDiagramProps } from "./components/charts/network/TreeDiagram";
|
|
20
22
|
export type { TreemapProps } from "./components/charts/network/Treemap";
|
|
@@ -22,3 +24,5 @@ export type { CirclePackProps } from "./components/charts/network/CirclePack";
|
|
|
22
24
|
export type { OrbitDiagramProps } from "./components/charts/network/OrbitDiagram";
|
|
23
25
|
export type { NetworkCustomChartProps } from "./components/charts/custom/NetworkCustomChart";
|
|
24
26
|
export type { NetworkCustomLayout, NetworkLayoutContext, NetworkLayoutResult, } from "./components/stream/networkCustomLayout";
|
|
27
|
+
export { validateProcessSankey, formatProcessSankeyIssue, } from "./components/charts/network/processSankey/algorithm";
|
|
28
|
+
export type { ProcessSankeyNode as ProcessSankeyValidatorNode, ProcessSankeyEdge as ProcessSankeyValidatorEdge, ProcessSankeyIssue, } from "./components/charts/network/processSankey/algorithm";
|
|
@@ -20,3 +20,5 @@ export type { RealtimeHeatmapProps } from "./components/charts/realtime/Realtime
|
|
|
20
20
|
export type { ArrowOfTime, WindowMode, ThresholdType, LineStyle, BarStyle, WaterfallStyle, SwarmStyle, AnnotationContext, CrosshairStyle, HoverAnnotationConfig, HoverData } from "./components/realtime/types";
|
|
21
21
|
export type { StreamXYFrameProps, StreamXYFrameHandle, StreamChartType } from "./components/stream/types";
|
|
22
22
|
export type { StreamNetworkFrameProps, StreamNetworkFrameHandle, NetworkChartType } from "./components/stream/networkTypes";
|
|
23
|
+
export { useStreamStatus } from "./components/charts/shared/useStreamStatus";
|
|
24
|
+
export type { StreamStatus, StreamStatusOptions, StreamStatusResult, } from "./components/charts/shared/useStreamStatus";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const e=require("d3-interpolate"),t=require("react"),o=require("d3-scale");function n(e){if(e&&e.__esModule)return e;const t=Object.create(null);if(e)for(const o in e)if("default"!==o){const n=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(t,o,n.get?n:{enumerable:!0,get:function(){return e[o]}})}return t.default=e,Object.freeze(t)}const r=n(t),l=864e5;function s(e){return`${e.getUTCFullYear()}-${i(e.getUTCMonth()+1)}-${i(e.getUTCDate())}`}function i(e){return 10>e?"0"+e:e+""}function c(e){return"function"==typeof e?e:t=>t[e]}function a(e){const t=Object.create(null);return e((e,o)=>{t[e]=o}),t}function u(e,t,o){const n=new Set,r=[];for(const t of e)o(t)&&!n.has(t)&&(n.add(t),r.push(t));for(const e of t)n.has(e)||r.push(e);return r}exports.bulletLayout=e=>{var t,o,n,l,s,i,u,d,h,y,f,m;const g=e.config,{plot:v}=e.dimensions;if(0>=v.width||0>=v.height||0===e.data.length)return{nodes:[]};const p=null!==(t=g.rowHeight)&&void 0!==t?t:28,x=null!==(o=g.rowGap)&&void 0!==o?o:12,b=!1!==g.showLabels,w=b?null!==(n=g.labelWidth)&&void 0!==n?n:120:0,k=!1!==g.showTicks,$=k?14:0,A=null!==(l=g.tickFormat)&&void 0!==l?l:e=>e.toLocaleString(),M=v.x+w,C=Math.max(0,v.width-w);if(0>=C)return{nodes:[]};const F=c(g.categoryAccessor),N=e=>{const t=Number(e);return Number.isFinite(t)&&t>0?t:0},W=e=>N("function"==typeof g.valueAccessor?g.valueAccessor(e):e[g.valueAccessor]),L=e=>N("function"==typeof g.targetAccessor?g.targetAccessor(e):e[g.targetAccessor]),O=e=>{const t="function"==typeof g.rangesAccessor?g.rangesAccessor(e):e[g.rangesAccessor];return Array.isArray(t)?t.map(N).sort((e,t)=>e-t):[]},S="string"==typeof g.categoryAccessor?g.categoryAccessor:"metric",T="string"==typeof g.valueAccessor?g.valueAccessor:"value",D="string"==typeof g.targetAccessor?g.targetAccessor:"target",E=null!==(i=null!==(s=g.actualColor)&&void 0!==s?s:e.theme.semantic.primary)&&void 0!==i?i:"#3b6cb1",j=null!==(u=e.theme.semantic.text)&&void 0!==u?u:"currentColor",z=null!==(d=e.theme.semantic.textSecondary)&&void 0!==d?d:"#888",B=null!==(h=e.theme.semantic.surface)&&void 0!==h?h:"#e8eaed",U=null!==(y=e.theme.semantic.grid)&&void 0!==y?y:"#cdd1d6",P=null!==(f=e.theme.semantic.border)&&void 0!==f?f:"#a3a8af",_=null!==(m=g.targetColor)&&void 0!==m?m:`var(--semiotic-text, ${j})`,V=[`var(--semiotic-surface, ${B})`,`var(--semiotic-grid, ${U})`,`var(--semiotic-border, ${P})`],Y=`var(--semiotic-text, ${j})`,q=`var(--semiotic-text-secondary, ${z})`,H=[],I=[];for(let t=0;e.data.length>t;t++){const o=e.data[t],n=O(o),r=W(o),l=L(o),s=Math.max(r,l,...n.length?n:[0]);if(0>=s)continue;const i=v.y+t*(p+x+$);if(i+p+$>v.y+v.height)break;I.push({yTop:i,label:F(o),actual:r,target:l,maxVal:s});const c=e=>M+e/s*C,u=F(o),d=e=>a(t=>{t("metric",u),"metric"!==S&&t(S,u),e(t)});let h=M;for(let e=0;n.length>e;e++){const t=c(n[e]),o=t-h;o>0&&H.push({type:"rect",x:h,y:i,w:o,h:p,style:{fill:V[Math.min(e,V.length-1)],stroke:"none"},datum:d(t=>{t("range",e),t("rangeValue",n[e]),t("kind","range")}),group:"range-"+e}),h=t}const y=Math.max(6,Math.floor(.45*p));H.push({type:"rect",x:M,y:i+(p-y)/2,w:c(r)-M,h:y,style:{fill:E,stroke:"none"},datum:d(e=>{e("value",r),e("kind","actual"),"value"!==T&&e(T,r)}),group:"actual"});const f=3,m=Math.floor(.8*p);H.push({type:"rect",x:c(l)-f/2,y:i+(p-m)/2,w:f,h:m,style:{fill:_,stroke:"none"},datum:d(e=>{e("target",l),e("kind","target"),"target"!==D&&e(D,l)}),group:"target"})}const R=[];for(let e=0;I.length>e;e++){const t=I[e];if(b&&R.push(r.createElement("text",{key:"bullet-label-"+e,x:v.x+w-8,y:t.yTop+p/2,textAnchor:"end",dominantBaseline:"middle",fontSize:13,fontWeight:500,fill:Y},t.label)),k){const o=5,n=t.yTop+p+2;for(let l=0;o>l;l++){const s=t.maxVal*l/(o-1),i=M+s/t.maxVal*C;R.push(r.createElement("line",{key:`bullet-tick-${e}-${l}`,x1:i,x2:i,y1:n,y2:n+3,stroke:q,strokeWidth:1}),r.createElement("text",{key:`bullet-ticktext-${e}-${l}`,x:i,y:n+12,textAnchor:0===l?"start":l===o-1?"end":"middle",fontSize:10,fill:q},A(s)))}}}return{nodes:H,overlays:R.length>0?r.createElement(r.Fragment,null,...R):null}},exports.calendarLayout=t=>{var o,n,r,i,c,a,u,d;const h=t.config,{plot:y}=t.dimensions;if(0>=y.width||0>=y.height)return{nodes:[]};const f=e=>{const t="function"==typeof h.dateAccessor?h.dateAccessor(e):e[h.dateAccessor];return t instanceof Date?t:new Date(t)},m=e=>{const t="function"==typeof h.valueAccessor?h.valueAccessor(e):e[h.valueAccessor];return Number(t)},g=new Map;let v=null;for(const e of t.data){const t=f(e);if(!isFinite(t.getTime()))continue;null==v&&(v=t.getUTCFullYear());const n=s(t),r=m(e);g.set(n,(null!==(o=g.get(n))&&void 0!==o?o:0)+(Number.isFinite(r)?r:0))}const p=null!==(r=null!==(n=h.year)&&void 0!==n?n:v)&&void 0!==r?r:(new Date).getUTCFullYear();let x=1/0,b=-1/0;for(const e of g.values())x>e&&(x=e),e>b&&(b=e);x===1/0&&(x=0,b=0);const[w,k]=null!==(i=h.colorRamp)&&void 0!==i?i:[null!==(c=t.theme.semantic.surface)&&void 0!==c?c:"#ebedf0",null!==(a=t.theme.semantic.primary)&&void 0!==a?a:"#216e39"],$=t=>{if(b===x)return w;const o=(t-x)/(b-x);return e.interpolateRgb(w,k)(o)},A=null!==(u=h.gutter)&&void 0!==u?u:2,M=null!==(d=h.labelInset)&&void 0!==d?d:0,C=Math.min((y.width-M-53*A)/54,(y.height-6*A)/7);if(0>=C)return{nodes:[]};const F=new Date(Date.UTC(p,0,1)),N=F.getUTCDay(),W=new Date(F.getTime()-N*l),L=[];for(let e=0;54>e;e++)for(let t=0;7>t;t++){const o=new Date(W.getTime()+(7*e+t)*l);if(o.getUTCFullYear()!==p)continue;const n=s(o),r=g.get(n),i=null==r?w:$(r);L.push({type:"rect",x:y.x+M+e*(C+A),y:y.y+t*(C+A),w:C,h:C,style:{fill:i,stroke:"none"},datum:{date:o,value:null!=r?r:0}})}return{nodes:L}},exports.dagreLayout=e=>{var t,o,n,r,l,s,i,c,a;const u=e.config,d=null!==(t=u.nodeWidth)&&void 0!==t?t:100,h=null!==(o=u.nodeHeight)&&void 0!==o?o:36,y=null!==(n=u.edgeStyle)&&void 0!==n?n:"polyline",f=!1!==u.showLabels,m=null!==(r=u.labelAccessor)&&void 0!==r?r:"label",g="function"==typeof m?m:e=>{var t,o;const n=e.data,r=n?n[m]:void 0;return(null!==(o=null!==(t=null!=r?r:e[m])&&void 0!==t?t:e.id)&&void 0!==o?o:"")+""},v=new Map,p=[],x=[],b=e=>{var t,o,n;const r=null!==(t=e.data)&&void 0!==t?t:{};return{x:"number"==typeof r.x?r.x:e.x,y:"number"==typeof r.y?r.y:e.y,w:null!==(o="number"==typeof r.width?r.width:e.width)&&void 0!==o?o:d,h:null!==(n="number"==typeof r.height?r.height:e.height)&&void 0!==n?n:h}};for(const t of e.nodes){const{x:o,y:n,w:r,h:i}=b(t);null!=o&&null!=n&&(v.set(t.id,{x:o,y:n,w:r,h:i}),p.push({type:"rect",x:o-r/2,y:n-i/2,w:r,h:i,style:{fill:null!==(l=u.nodeFill)&&void 0!==l?l:e.resolveColor(t.id),stroke:`var(--semiotic-border, ${null!==(s=e.theme.semantic.border)&&void 0!==s?s:"#888"})`,strokeWidth:1.5},datum:t,id:t.id,label:g(t)+""}),f&&x.push({x:o,y:n,text:g(t)+"",anchor:"middle",baseline:"middle",fontSize:11}))}const w=null!==(i=u.edgeStroke)&&void 0!==i?i:`var(--semiotic-border, ${null!==(c=e.theme.semantic.border)&&void 0!==c?c:"#666"})`,k=[];for(const t of e.edges){const e="string"==typeof t.target?t.target:t.target.id,o=v.get("string"==typeof t.source?t.source:t.source.id),n=v.get(e);if(!o||!n)continue;const r=null!==(a=t.data)&&void 0!==a?a:{},l=Array.isArray(r.points)?r.points:t.points;if(l&&l.length>=2)if("smooth"!==y||3>l.length){const e="M"+l.map(e=>`${e.x},${e.y}`).join(" L ");k.push({type:"curved",pathD:e,style:{stroke:w,strokeWidth:1,fill:"none"},datum:t})}else{let e=`M${l[0].x},${l[0].y}`;for(let t=1;l.length-1>t;t++)e+=` Q${l[t].x},${l[t].y} ${(l[t].x+l[t+1].x)/2},${(l[t].y+l[t+1].y)/2}`;const o=l[l.length-1];e+=` T${o.x},${o.y}`,k.push({type:"curved",pathD:e,style:{stroke:w,strokeWidth:1,fill:"none"},datum:t})}else k.push({type:"line",x1:o.x,y1:o.y,x2:n.x,y2:n.y,style:{stroke:w,strokeWidth:1},datum:t})}return{sceneNodes:p,sceneEdges:k,labels:x}},exports.flextreeLayout=e=>{var t,o,n,r,l,s,i,c,a;const u=e.config,d=null!==(t=u.nodeWidth)&&void 0!==t?t:80,h=null!==(o=u.nodeHeight)&&void 0!==o?o:30,y=null!==(n=u.orientation)&&void 0!==n?n:"vertical",f=null!==(r=u.edgeCurve)&&void 0!==r?r:"curved",m=!1!==u.showLabels,g=null!==(l=u.labelAccessor)&&void 0!==l?l:"id",v="function"==typeof g?g:e=>{var t,o;const n=e.data,r=n?n[g]:void 0;return(null!==(o=null!==(t=null!=r?r:e[g])&&void 0!==t?t:e.id)&&void 0!==o?o:"")+""},p=new Map,x=[],b=[],w=e=>{var t,o,n;const r=null!==(t=e.data)&&void 0!==t?t:{};return{x:"number"==typeof r.x?r.x:e.x,y:"number"==typeof r.y?r.y:e.y,w:null!==(o="number"==typeof r.width?r.width:e.width)&&void 0!==o?o:d,h:null!==(n="number"==typeof r.height?r.height:e.height)&&void 0!==n?n:h}};for(const t of e.nodes){const{x:o,y:n,w:r,h:l}=w(t);null!=o&&null!=n&&(p.set(t.id,{x:o,y:n,w:r,h:l}),x.push({type:"rect",x:o-r/2,y:n-l/2,w:r,h:l,style:{fill:null!==(s=u.nodeFill)&&void 0!==s?s:e.resolveColor(t.id),stroke:`var(--semiotic-surface, ${null!==(i=e.theme.semantic.surface)&&void 0!==i?i:"#fff"})`,strokeWidth:1.5},datum:t,id:t.id,label:v(t)+""}),m&&b.push({x:o,y:n,text:v(t)+"",anchor:"middle",baseline:"middle",fontSize:11}))}const k=[];for(const t of e.edges){const o="string"==typeof t.target?t.target:t.target.id,n=p.get("string"==typeof t.source?t.source:t.source.id),r=p.get(o);if(!n||!r)continue;const l="vertical"===y?{x:n.x,y:n.y+n.h/2}:{x:n.x+n.w/2,y:n.y},s="vertical"===y?{x:r.x,y:r.y-r.h/2}:{x:r.x-r.w/2,y:r.y};if("line"===f)k.push({type:"line",x1:l.x,y1:l.y,x2:s.x,y2:s.y,style:{stroke:`var(--semiotic-border, ${null!==(c=e.theme.semantic.border)&&void 0!==c?c:"#999"})`,strokeWidth:1},datum:t});else{const o=(l.y+s.y)/2,n=(l.x+s.x)/2;k.push({type:"curved",pathD:"vertical"===y?`M${l.x},${l.y} C${l.x},${o} ${s.x},${o} ${s.x},${s.y}`:`M${l.x},${l.y} C${n},${l.y} ${n},${s.y} ${s.x},${s.y}`,style:{stroke:`var(--semiotic-border, ${null!==(a=e.theme.semantic.border)&&void 0!==a?a:"#999"})`,strokeWidth:1,fill:"none"},datum:t})}}return{sceneNodes:x,sceneEdges:k,labels:b}},exports.marimekkoLayout=e=>{var t,o,n,l,s,i,d;const h=e.config,{plot:y}=e.dimensions;if(0>=y.width||0>=y.height)return{nodes:[]};const f=c(h.categoryAccessor),m=c(h.stackBy),g=e=>{const t="function"==typeof h.valueAccessor?h.valueAccessor(e):e[h.valueAccessor],o=Number(t);return Number.isFinite(o)&&o>0?o:0},v=null!==(t=h.gutter)&&void 0!==t?t:2,p="string"==typeof h.categoryAccessor?h.categoryAccessor:"category",x="string"==typeof h.stackBy?h.stackBy:"stack",b="string"==typeof h.valueAccessor?h.valueAccessor:"value",w=(e,t,o)=>a(n=>{n("category",e),n("stack",t),n("value",o),"category"!==p&&n(p,e),"stack"!==x&&n(x,t),"value"!==b&&n(b,o)}),k=!1!==h.showCategoryLabels,$=null!==(o=h.labelPadding)&&void 0!==o?o:k?22:0,A=Math.max(0,y.height-$),M=[],C=new Map,F=[],N=new Set,W=new Map;for(const t of e.data){const e=f(t)+"",o=m(t)+"",r=g(t);C.has(e)||(M.push(e),C.set(e,0),W.set(e,new Map)),N.has(o)||(N.add(o),F.push(o)),C.set(e,(null!==(n=C.get(e))&&void 0!==n?n:0)+r);const s=W.get(e);s.set(o,(null!==(l=s.get(o))&&void 0!==l?l:0)+r)}const L=h.categoryOrder?u(h.categoryOrder,M,e=>C.has(e)):M,O=h.stackOrder?u(h.stackOrder,F,()=>!0):F,S=L.reduce((e,t)=>{var o;return e+(null!==(o=C.get(t))&&void 0!==o?o:0)},0);if(0>=S)return{nodes:[]};const T=Math.max(0,y.width-v*Math.max(0,L.length-1)),D=[],E=[];let j=y.x;for(const t of L){const o=null!==(s=C.get(t))&&void 0!==s?s:0,n=o/S*T;if(0>=n)continue;E.push({cat:t,x:j,w:n});const r=W.get(t);let l=y.y;for(const s of O){const c=null!==(i=r.get(s))&&void 0!==i?i:0;if(0>=c)continue;const a=c/o*A;D.push({type:"rect",x:j,y:l,w:n,h:a,style:{fill:e.resolveColor(s),stroke:"none"},datum:w(t,s,c),group:s}),l+=a}j+=n+v}return{nodes:D,overlays:k&&E.length>0?function(e,t,o){const n=e.map((e,n)=>6.5*e.cat.length>e.w-4?null:r.createElement("text",{key:"marimekko-label-"+n,x:e.x+e.w/2,y:t+12,textAnchor:"middle",fontSize:12,fill:o},e.cat));return r.createElement(r.Fragment,null,...n)}(E,y.y+A+4,`var(--semiotic-text, ${null!==(d=e.theme.semantic.text)&&void 0!==d?d:"currentColor"})`):null}},exports.parallelCoordinatesLayout=e=>{var t,n,l,s,i,c,a,u,d,h,y,f;const m=e.config,{plot:g}=e.dimensions,v=null!==(t=m.fields)&&void 0!==t?t:[];if(2>v.length||0>=g.width||0>=g.height)return{nodes:[]};if(0===e.data.length)return{nodes:[]};const p={};for(const t of v){if(null===(n=m.domains)||void 0===n?void 0:n[t]){p[t]=m.domains[t];continue}let o=1/0,r=-1/0;for(const n of e.data){const e=Number(n[t]);Number.isFinite(e)&&(o>e&&(o=e),e>r&&(r=e))}p[t]=Number.isFinite(o)&&Number.isFinite(r)&&o!==r?[o,r]:[0,1]}const x=!1!==m.showAxes,b=x?null!==(l=m.axisLabelPadding)&&void 0!==l?l:24:8,w=x?18:8,k=v.map(e=>o.scaleLinear().domain(p[e]).range([g.y+g.height-w,g.y+b])),$=v.map((e,t)=>1===v.length?g.x+g.width/2:g.x+t/(v.length-1)*g.width),A=m.colorBy?"function"==typeof m.colorBy?m.colorBy:e=>{var t;return(null!==(t=e[m.colorBy])&&void 0!==t?t:"")+""}:null,M=null!==(s=m.opacity)&&void 0!==s?s:.45,C=null!==(i=m.strokeWidth)&&void 0!==i?i:1.25,F=null!==(c=e.theme.semantic.primary)&&void 0!==c?c:"#3b6cb1",N=null!==(a=m.dimmedOpacity)&&void 0!==a?a:.08,W=m.highlightFn,L=[],O=[];for(const t of e.data){const o=A?e.resolveColor(A(t)+""):F,n=!W||W(t),r=W?n?Math.min(1,M+.4):N:M,l=n?O:L;for(let e=0;v.length-1>e;e++){const s=Number(t[v[e]]),i=Number(t[v[e+1]]);if(!Number.isFinite(s)||!Number.isFinite(i))continue;const c={type:"connector",x1:$[e],y1:k[e](s),x2:$[e+1],y2:k[e+1](i),style:{stroke:o,strokeWidth:W&&n?C+.75:C,opacity:r,fill:"none"},datum:t};l.push(c)}if(m.showPoints)for(let e=0;v.length>e;e++){const n=Number(t[v[e]]);if(!Number.isFinite(n))continue;const s={type:"point",x:$[e],y:k[e](n),r:2.5,style:{fill:o,stroke:"none",opacity:Math.min(1,r+.3)},datum:t};l.push(s)}}let S=null;if(x){const t=`var(--semiotic-border, ${null!==(u=e.theme.semantic.border)&&void 0!==u?u:"#aaa"})`,o=`var(--semiotic-text, ${null!==(d=e.theme.semantic.text)&&void 0!==d?d:"currentColor"})`,n=`var(--semiotic-text-secondary, ${null!==(h=e.theme.semantic.textSecondary)&&void 0!==h?h:"#888"})`,l=g.y+b,s=g.y+g.height-w,i=[];for(let e=0;v.length>e;e++){const c=v[e],a=$[e],u=null!==(f=null===(y=m.tickFormat)||void 0===y?void 0:y[c])&&void 0!==f?f:e=>e.toLocaleString();i.push(r.createElement("line",{key:"pc-axis-line-"+e,x1:a,x2:a,y1:l,y2:s,stroke:t,strokeWidth:1})),i.push(r.createElement("text",{key:"pc-axis-label-"+e,x:a,y:g.y+b-8,textAnchor:"middle",fontSize:12,fontWeight:600,fill:o},c));const[d,h]=p[c],x=5;for(let o=0;x>o;o++){const l=d+(h-d)*o/(x-1),s=k[e](l);i.push(r.createElement("line",{key:`pc-tick-${e}-${o}`,x1:a-3,x2:a+3,y1:s,y2:s,stroke:t,strokeWidth:1}),r.createElement("text",{key:`pc-ticktext-${e}-${o}`,x:a+6,y:s+3,fontSize:10,fill:n},u(l)))}}S=r.createElement(r.Fragment,null,...i)}return{nodes:L.concat(O),overlays:S}},exports.waffleLayout=e=>{var t,o,n,r,l,s;const i=e.config,c=null!==(t=i.rows)&&void 0!==t?t:10,a=null!==(o=i.columns)&&void 0!==o?o:10,u=null!==(n=i.gutter)&&void 0!==n?n:2,d=c*a;if(0>=c||0>=a||0>=d)return{nodes:[]};const{plot:h}=e.dimensions;if(0>=h.width||0>=h.height)return{nodes:[]};const y=(h.width-u*(a-1))/a,f=(h.height-u*(c-1))/c;if(0>=y||0>=f)return{nodes:[]};const m=null!==(r=null==(g=i.categoryAccessor)?null:"function"==typeof g?g:e=>e[g])&&void 0!==r?r:()=>"_default";var g;const v=null!==(l=function(e){return null==e?null:"function"==typeof e?e:t=>Number(t[e])}(i.valueAccessor))&&void 0!==l?l:()=>1,p=new Map,x=[];for(const t of e.data){const e=m(t)+"",o=Number(v(t)),n=Number.isFinite(o)?Math.max(0,o):0;p.has(e)||x.push(e),p.set(e,(null!==(s=p.get(e))&&void 0!==s?s:0)+n)}const b=Array.from(p.values()).reduce((e,t)=>e+t,0);if(0>=b)return{nodes:[]};let w;if(i.categoryOrder&&i.categoryOrder.length>0){const e=new Set,t=[];for(const o of i.categoryOrder)p.has(o)&&!e.has(o)&&(e.add(o),t.push(o));w=[...t,...x.filter(t=>!e.has(t))]}else w=x;if(0===w.length)return{nodes:[]};const k=w.map(e=>{var t;return{cat:e,exact:(null!==(t=p.get(e))&&void 0!==t?t:0)/b*d}}),$=k.map(e=>Object.assign(Object.assign({},e),{count:Math.floor(e.exact)})),A=$.reduce((e,t)=>e+t.count,0),M=$.map((e,t)=>({i:t,rem:e.exact-e.count})).sort((e,t)=>t.rem-e.rem);for(let e=0;d-A>e;e++)$[M[e%M.length].i].count+=1;const C=[];let F=0;for(const t of $){const o=e.resolveColor(t.cat);for(let e=0;t.count>e;e++)C.push({type:"rect",x:h.x+F%a*(y+u),y:h.y+(c-1-Math.floor(F/a))*(f+u),w:y,h:f,style:{fill:o,stroke:"none"},datum:{_waffleCategory:t.cat,_waffleIndex:F},group:t.cat}),F++}return{nodes:C}};
|
|
1
|
+
"use strict";const e=require("d3-interpolate"),t=require("react"),o=require("d3-scale");function n(e){if(e&&e.__esModule)return e;const t=Object.create(null);if(e)for(const o in e)if("default"!==o){const n=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(t,o,n.get?n:{enumerable:!0,get:function(){return e[o]}})}return t.default=e,Object.freeze(t)}const r=n(t);function l(e){return"function"==typeof e?e:t=>t[e]}function s(e){const t=Object.create(null);return e((e,o)=>{t[e]=o}),t}const i=864e5;function c(e){return`${e.getUTCFullYear()}-${a(e.getUTCMonth()+1)}-${a(e.getUTCDate())}`}function a(e){return 10>e?"0"+e:e+""}function u(e,t,o){const n=new Set,r=[];for(const t of e)o(t)&&!n.has(t)&&(n.add(t),r.push(t));for(const e of t)n.has(e)||r.push(e);return r}exports.bulletLayout=e=>{var t,o,n,i,c,a,u,d,y,h,f,g;const m=e.config,{plot:v}=e.dimensions;if(0>=v.width||0>=v.height||0===e.data.length)return{nodes:[]};const p=null!==(t=m.rowHeight)&&void 0!==t?t:28,x=null!==(o=m.rowGap)&&void 0!==o?o:12,b=!1!==m.showLabels,w=b?null!==(n=m.labelWidth)&&void 0!==n?n:120:0,k=!1!==m.showTicks,$=k?14:0,A=null!==(i=m.tickFormat)&&void 0!==i?i:e=>e.toLocaleString(),M=v.x+w,C=Math.max(0,v.width-w);if(0>=C)return{nodes:[]};const F=l(m.categoryAccessor),N=e=>{const t=Number(e);return Number.isFinite(t)&&t>0?t:0},W=e=>N("function"==typeof m.valueAccessor?m.valueAccessor(e):e[m.valueAccessor]),L=e=>N("function"==typeof m.targetAccessor?m.targetAccessor(e):e[m.targetAccessor]),O=e=>{const t="function"==typeof m.rangesAccessor?m.rangesAccessor(e):e[m.rangesAccessor];return Array.isArray(t)?t.map(N).sort((e,t)=>e-t):[]},S="string"==typeof m.categoryAccessor?m.categoryAccessor:"metric",T="string"==typeof m.valueAccessor?m.valueAccessor:"value",D="string"==typeof m.targetAccessor?m.targetAccessor:"target",E=null!==(a=null!==(c=m.actualColor)&&void 0!==c?c:e.theme.semantic.primary)&&void 0!==a?a:"#3b6cb1",j=null!==(u=e.theme.semantic.text)&&void 0!==u?u:"currentColor",z=null!==(d=e.theme.semantic.textSecondary)&&void 0!==d?d:"#888",B=null!==(y=e.theme.semantic.surface)&&void 0!==y?y:"#e8eaed",U=null!==(h=e.theme.semantic.grid)&&void 0!==h?h:"#cdd1d6",P=null!==(f=e.theme.semantic.border)&&void 0!==f?f:"#a3a8af",_=null!==(g=m.targetColor)&&void 0!==g?g:`var(--semiotic-text, ${j})`,V=[`var(--semiotic-surface, ${B})`,`var(--semiotic-grid, ${U})`,`var(--semiotic-border, ${P})`],Y=`var(--semiotic-text, ${j})`,q=`var(--semiotic-text-secondary, ${z})`,H=[],I=[];for(let t=0;e.data.length>t;t++){const o=e.data[t],n=O(o),r=W(o),l=L(o),i=Math.max(r,l,...n.length?n:[0]);if(0>=i)continue;const c=v.y+t*(p+x+$);if(c+p+$>v.y+v.height)break;I.push({yTop:c,label:F(o),actual:r,target:l,maxVal:i});const a=e=>M+e/i*C,u=F(o),d=e=>s(t=>{t("metric",u),"metric"!==S&&t(S,u),e(t)});let y=M;for(let e=0;n.length>e;e++){const t=a(n[e]),o=t-y;o>0&&H.push({type:"rect",x:y,y:c,w:o,h:p,style:{fill:V[Math.min(e,V.length-1)],stroke:"none"},datum:d(t=>{t("range",e),t("rangeValue",n[e]),t("kind","range")}),group:"range-"+e}),y=t}const h=Math.max(6,Math.floor(.45*p));H.push({type:"rect",x:M,y:c+(p-h)/2,w:a(r)-M,h:h,style:{fill:E,stroke:"none"},datum:d(e=>{e("value",r),e("kind","actual"),"value"!==T&&e(T,r)}),group:"actual"});const f=3,g=Math.floor(.8*p);H.push({type:"rect",x:a(l)-f/2,y:c+(p-g)/2,w:f,h:g,style:{fill:_,stroke:"none"},datum:d(e=>{e("target",l),e("kind","target"),"target"!==D&&e(D,l)}),group:"target"})}const R=[];for(let e=0;I.length>e;e++){const t=I[e];if(b&&R.push(r.createElement("text",{key:"bullet-label-"+e,x:v.x+w-8,y:t.yTop+p/2,textAnchor:"end",dominantBaseline:"middle",fontSize:13,fontWeight:500,fill:Y},t.label)),k){const o=5,n=t.yTop+p+2;for(let l=0;o>l;l++){const s=t.maxVal*l/(o-1),i=M+s/t.maxVal*C;R.push(r.createElement("line",{key:`bullet-tick-${e}-${l}`,x1:i,x2:i,y1:n,y2:n+3,stroke:q,strokeWidth:1}),r.createElement("text",{key:`bullet-ticktext-${e}-${l}`,x:i,y:n+12,textAnchor:0===l?"start":l===o-1?"end":"middle",fontSize:10,fill:q},A(s)))}}}return{nodes:H,overlays:R.length>0?r.createElement(r.Fragment,null,...R):null}},exports.calendarLayout=t=>{var o,n,r,l,s,a,u,d;const y=t.config,{plot:h}=t.dimensions;if(0>=h.width||0>=h.height)return{nodes:[]};const f=e=>{const t="function"==typeof y.dateAccessor?y.dateAccessor(e):e[y.dateAccessor];return t instanceof Date?t:new Date(t)},g=e=>{const t="function"==typeof y.valueAccessor?y.valueAccessor(e):e[y.valueAccessor];return Number(t)},m=new Map;let v=null;for(const e of t.data){const t=f(e);if(!isFinite(t.getTime()))continue;null==v&&(v=t.getUTCFullYear());const n=c(t),r=g(e);m.set(n,(null!==(o=m.get(n))&&void 0!==o?o:0)+(Number.isFinite(r)?r:0))}const p=null!==(r=null!==(n=y.year)&&void 0!==n?n:v)&&void 0!==r?r:(new Date).getUTCFullYear();let x=1/0,b=-1/0;for(const e of m.values())x>e&&(x=e),e>b&&(b=e);x===1/0&&(x=0,b=0);const[w,k]=null!==(l=y.colorRamp)&&void 0!==l?l:[null!==(s=t.theme.semantic.surface)&&void 0!==s?s:"#ebedf0",null!==(a=t.theme.semantic.primary)&&void 0!==a?a:"#216e39"],$=t=>{if(b===x)return w;const o=(t-x)/(b-x);return e.interpolateRgb(w,k)(o)},A=null!==(u=y.gutter)&&void 0!==u?u:2,M=null!==(d=y.labelInset)&&void 0!==d?d:0,C=Math.min((h.width-M-53*A)/54,(h.height-6*A)/7);if(0>=C)return{nodes:[]};const F=new Date(Date.UTC(p,0,1)),N=F.getUTCDay(),W=new Date(F.getTime()-N*i),L=[];for(let e=0;54>e;e++)for(let t=0;7>t;t++){const o=new Date(W.getTime()+(7*e+t)*i);if(o.getUTCFullYear()!==p)continue;const n=c(o),r=m.get(n),l=null==r?w:$(r);L.push({type:"rect",x:h.x+M+e*(C+A),y:h.y+t*(C+A),w:C,h:C,style:{fill:l,stroke:"none"},datum:{date:o,value:null!=r?r:0}})}return{nodes:L}},exports.dagreLayout=e=>{var t,o,n,r,l,s,i,c,a;const u=e.config,d=null!==(t=u.nodeWidth)&&void 0!==t?t:100,y=null!==(o=u.nodeHeight)&&void 0!==o?o:36,h=null!==(n=u.edgeStyle)&&void 0!==n?n:"polyline",f=!1!==u.showLabels,g=null!==(r=u.labelAccessor)&&void 0!==r?r:"label",m="function"==typeof g?g:e=>{var t,o;const n=e.data,r=n?n[g]:void 0;return(null!==(o=null!==(t=null!=r?r:e[g])&&void 0!==t?t:e.id)&&void 0!==o?o:"")+""},v=new Map,p=[],x=[],b=e=>{var t,o,n;const r=null!==(t=e.data)&&void 0!==t?t:{};return{x:"number"==typeof r.x?r.x:e.x,y:"number"==typeof r.y?r.y:e.y,w:null!==(o="number"==typeof r.width?r.width:e.width)&&void 0!==o?o:d,h:null!==(n="number"==typeof r.height?r.height:e.height)&&void 0!==n?n:y}};for(const t of e.nodes){const{x:o,y:n,w:r,h:i}=b(t);null!=o&&null!=n&&(v.set(t.id,{x:o,y:n,w:r,h:i}),p.push({type:"rect",x:o-r/2,y:n-i/2,w:r,h:i,style:{fill:null!==(l=u.nodeFill)&&void 0!==l?l:e.resolveColor(t.id),stroke:`var(--semiotic-border, ${null!==(s=e.theme.semantic.border)&&void 0!==s?s:"#888"})`,strokeWidth:1.5},datum:t,id:t.id,label:m(t)+""}),f&&x.push({x:o,y:n,text:m(t)+"",anchor:"middle",baseline:"middle",fontSize:11}))}const w=null!==(i=u.edgeStroke)&&void 0!==i?i:`var(--semiotic-border, ${null!==(c=e.theme.semantic.border)&&void 0!==c?c:"#666"})`,k=[];for(const t of e.edges){const e="string"==typeof t.target?t.target:t.target.id,o=v.get("string"==typeof t.source?t.source:t.source.id),n=v.get(e);if(!o||!n)continue;const r=null!==(a=t.data)&&void 0!==a?a:{},l=Array.isArray(r.points)?r.points:t.points;if(l&&l.length>=2)if("smooth"!==h||3>l.length){const e="M"+l.map(e=>`${e.x},${e.y}`).join(" L ");k.push({type:"curved",pathD:e,style:{stroke:w,strokeWidth:1,fill:"none"},datum:t})}else{let e=`M${l[0].x},${l[0].y}`;for(let t=1;l.length-1>t;t++)e+=` Q${l[t].x},${l[t].y} ${(l[t].x+l[t+1].x)/2},${(l[t].y+l[t+1].y)/2}`;const o=l[l.length-1];e+=` T${o.x},${o.y}`,k.push({type:"curved",pathD:e,style:{stroke:w,strokeWidth:1,fill:"none"},datum:t})}else k.push({type:"line",x1:o.x,y1:o.y,x2:n.x,y2:n.y,style:{stroke:w,strokeWidth:1},datum:t})}return{sceneNodes:p,sceneEdges:k,labels:x}},exports.flextreeLayout=e=>{var t,o,n,r,l,s,i,c,a;const u=e.config,d=null!==(t=u.nodeWidth)&&void 0!==t?t:80,y=null!==(o=u.nodeHeight)&&void 0!==o?o:30,h=null!==(n=u.orientation)&&void 0!==n?n:"vertical",f=null!==(r=u.edgeCurve)&&void 0!==r?r:"curved",g=!1!==u.showLabels,m=null!==(l=u.labelAccessor)&&void 0!==l?l:"id",v="function"==typeof m?m:e=>{var t,o;const n=e.data,r=n?n[m]:void 0;return(null!==(o=null!==(t=null!=r?r:e[m])&&void 0!==t?t:e.id)&&void 0!==o?o:"")+""},p=new Map,x=[],b=[],w=e=>{var t,o,n;const r=null!==(t=e.data)&&void 0!==t?t:{};return{x:"number"==typeof r.x?r.x:e.x,y:"number"==typeof r.y?r.y:e.y,w:null!==(o="number"==typeof r.width?r.width:e.width)&&void 0!==o?o:d,h:null!==(n="number"==typeof r.height?r.height:e.height)&&void 0!==n?n:y}};for(const t of e.nodes){const{x:o,y:n,w:r,h:l}=w(t);null!=o&&null!=n&&(p.set(t.id,{x:o,y:n,w:r,h:l}),x.push({type:"rect",x:o-r/2,y:n-l/2,w:r,h:l,style:{fill:null!==(s=u.nodeFill)&&void 0!==s?s:e.resolveColor(t.id),stroke:`var(--semiotic-surface, ${null!==(i=e.theme.semantic.surface)&&void 0!==i?i:"#fff"})`,strokeWidth:1.5},datum:t,id:t.id,label:v(t)+""}),g&&b.push({x:o,y:n,text:v(t)+"",anchor:"middle",baseline:"middle",fontSize:11}))}const k=[];for(const t of e.edges){const o="string"==typeof t.target?t.target:t.target.id,n=p.get("string"==typeof t.source?t.source:t.source.id),r=p.get(o);if(!n||!r)continue;const l="vertical"===h?{x:n.x,y:n.y+n.h/2}:{x:n.x+n.w/2,y:n.y},s="vertical"===h?{x:r.x,y:r.y-r.h/2}:{x:r.x-r.w/2,y:r.y};if("line"===f)k.push({type:"line",x1:l.x,y1:l.y,x2:s.x,y2:s.y,style:{stroke:`var(--semiotic-border, ${null!==(c=e.theme.semantic.border)&&void 0!==c?c:"#999"})`,strokeWidth:1},datum:t});else{const o=(l.y+s.y)/2,n=(l.x+s.x)/2;k.push({type:"curved",pathD:"vertical"===h?`M${l.x},${l.y} C${l.x},${o} ${s.x},${o} ${s.x},${s.y}`:`M${l.x},${l.y} C${n},${l.y} ${n},${s.y} ${s.x},${s.y}`,style:{stroke:`var(--semiotic-border, ${null!==(a=e.theme.semantic.border)&&void 0!==a?a:"#999"})`,strokeWidth:1,fill:"none"},datum:t})}}return{sceneNodes:x,sceneEdges:k,labels:b}},exports.marimekkoLayout=e=>{var t,o,n,i,c,a,d;const y=e.config,{plot:h}=e.dimensions;if(0>=h.width||0>=h.height)return{nodes:[]};const f=l(y.categoryAccessor),g=l(y.stackBy),m=e=>{const t="function"==typeof y.valueAccessor?y.valueAccessor(e):e[y.valueAccessor],o=Number(t);return Number.isFinite(o)&&o>0?o:0},v=null!==(t=y.gutter)&&void 0!==t?t:2,p="string"==typeof y.categoryAccessor?y.categoryAccessor:"category",x="string"==typeof y.stackBy?y.stackBy:"stack",b="string"==typeof y.valueAccessor?y.valueAccessor:"value",w=(e,t,o)=>s(n=>{n("category",e),n("stack",t),n("value",o),"category"!==p&&n(p,e),"stack"!==x&&n(x,t),"value"!==b&&n(b,o)}),k=!1!==y.showCategoryLabels,$=null!==(o=y.labelPadding)&&void 0!==o?o:k?22:0,A=Math.max(0,h.height-$),M=[],C=new Map,F=[],N=new Set,W=new Map;for(const t of e.data){const e=f(t)+"",o=g(t)+"",r=m(t);C.has(e)||(M.push(e),C.set(e,0),W.set(e,new Map)),N.has(o)||(N.add(o),F.push(o)),C.set(e,(null!==(n=C.get(e))&&void 0!==n?n:0)+r);const l=W.get(e);l.set(o,(null!==(i=l.get(o))&&void 0!==i?i:0)+r)}const L=y.categoryOrder?u(y.categoryOrder,M,e=>C.has(e)):M,O=y.stackOrder?u(y.stackOrder,F,()=>!0):F,S=L.reduce((e,t)=>{var o;return e+(null!==(o=C.get(t))&&void 0!==o?o:0)},0);if(0>=S)return{nodes:[]};const T=Math.max(0,h.width-v*Math.max(0,L.length-1)),D=[],E=[];let j=h.x;for(const t of L){const o=null!==(c=C.get(t))&&void 0!==c?c:0,n=o/S*T;if(0>=n)continue;E.push({cat:t,x:j,w:n});const r=W.get(t);let l=h.y;for(const s of O){const i=null!==(a=r.get(s))&&void 0!==a?a:0;if(0>=i)continue;const c=i/o*A;D.push({type:"rect",x:j,y:l,w:n,h:c,style:{fill:e.resolveColor(s),stroke:"none"},datum:w(t,s,i),group:s}),l+=c}j+=n+v}return{nodes:D,overlays:k&&E.length>0?function(e,t,o){const n=e.map((e,n)=>6.5*e.cat.length>e.w-4?null:r.createElement("text",{key:"marimekko-label-"+n,x:e.x+e.w/2,y:t+12,textAnchor:"middle",fontSize:12,fill:o},e.cat));return r.createElement(r.Fragment,null,...n)}(E,h.y+A+4,`var(--semiotic-text, ${null!==(d=e.theme.semantic.text)&&void 0!==d?d:"currentColor"})`):null}},exports.parallelCoordinatesLayout=e=>{var t,n,l,s,i,c,a,u,d,y,h,f;const g=e.config,{plot:m}=e.dimensions,v=null!==(t=g.fields)&&void 0!==t?t:[];if(2>v.length||0>=m.width||0>=m.height)return{nodes:[]};if(0===e.data.length)return{nodes:[]};const p={};for(const t of v){if(null===(n=g.domains)||void 0===n?void 0:n[t]){p[t]=g.domains[t];continue}let o=1/0,r=-1/0;for(const n of e.data){const e=Number(n[t]);Number.isFinite(e)&&(o>e&&(o=e),e>r&&(r=e))}p[t]=Number.isFinite(o)&&Number.isFinite(r)&&o!==r?[o,r]:[0,1]}const x=!1!==g.showAxes,b=x?null!==(l=g.axisLabelPadding)&&void 0!==l?l:24:8,w=x?18:8,k=v.map(e=>o.scaleLinear().domain(p[e]).range([m.y+m.height-w,m.y+b])),$=v.map((e,t)=>1===v.length?m.x+m.width/2:m.x+t/(v.length-1)*m.width),A=g.colorBy?"function"==typeof g.colorBy?g.colorBy:e=>{var t;return(null!==(t=e[g.colorBy])&&void 0!==t?t:"")+""}:null,M=null!==(s=g.opacity)&&void 0!==s?s:.45,C=null!==(i=g.strokeWidth)&&void 0!==i?i:1.25,F=null!==(c=e.theme.semantic.primary)&&void 0!==c?c:"#3b6cb1",N=null!==(a=g.dimmedOpacity)&&void 0!==a?a:.08,W=g.highlightFn,L=[],O=[];for(const t of e.data){const o=A?e.resolveColor(A(t)+""):F,n=!W||W(t),r=W?n?Math.min(1,M+.4):N:M,l=n?O:L;for(let e=0;v.length-1>e;e++){const s=Number(t[v[e]]),i=Number(t[v[e+1]]);if(!Number.isFinite(s)||!Number.isFinite(i))continue;const c={type:"connector",x1:$[e],y1:k[e](s),x2:$[e+1],y2:k[e+1](i),style:{stroke:o,strokeWidth:W&&n?C+.75:C,opacity:r,fill:"none"},datum:t};l.push(c)}if(g.showPoints)for(let e=0;v.length>e;e++){const n=Number(t[v[e]]);if(!Number.isFinite(n))continue;const s={type:"point",x:$[e],y:k[e](n),r:2.5,style:{fill:o,stroke:"none",opacity:Math.min(1,r+.3)},datum:t};l.push(s)}}let S=null;if(x){const t=`var(--semiotic-border, ${null!==(u=e.theme.semantic.border)&&void 0!==u?u:"#aaa"})`,o=`var(--semiotic-text, ${null!==(d=e.theme.semantic.text)&&void 0!==d?d:"currentColor"})`,n=`var(--semiotic-text-secondary, ${null!==(y=e.theme.semantic.textSecondary)&&void 0!==y?y:"#888"})`,l=m.y+b,s=m.y+m.height-w,i=[];for(let e=0;v.length>e;e++){const c=v[e],a=$[e],u=null!==(f=null===(h=g.tickFormat)||void 0===h?void 0:h[c])&&void 0!==f?f:e=>e.toLocaleString();i.push(r.createElement("line",{key:"pc-axis-line-"+e,x1:a,x2:a,y1:l,y2:s,stroke:t,strokeWidth:1})),i.push(r.createElement("text",{key:"pc-axis-label-"+e,x:a,y:m.y+b-8,textAnchor:"middle",fontSize:12,fontWeight:600,fill:o},c));const[d,y]=p[c],x=5;for(let o=0;x>o;o++){const l=d+(y-d)*o/(x-1),s=k[e](l);i.push(r.createElement("line",{key:`pc-tick-${e}-${o}`,x1:a-3,x2:a+3,y1:s,y2:s,stroke:t,strokeWidth:1}),r.createElement("text",{key:`pc-ticktext-${e}-${o}`,x:a+6,y:s+3,fontSize:10,fill:n},u(l)))}}S=r.createElement(r.Fragment,null,...i)}return{nodes:L.concat(O),overlays:S}},exports.waffleLayout=e=>{var t,o,n,r,l,i;const c=e.config,a=null!==(t=c.rows)&&void 0!==t?t:10,u=null!==(o=c.columns)&&void 0!==o?o:10,d=null!==(n=c.gutter)&&void 0!==n?n:2,y=a*u;if(0>=a||0>=u||0>=y)return{nodes:[]};const{plot:h}=e.dimensions;if(0>=h.width||0>=h.height)return{nodes:[]};const f=(h.width-d*(u-1))/u,g=(h.height-d*(a-1))/a;if(0>=f||0>=g)return{nodes:[]};const m=null!==(r=null==(v=c.categoryAccessor)?null:"function"==typeof v?v:e=>e[v])&&void 0!==r?r:()=>"_default";var v;const p=null!==(l=function(e){return null==e?null:"function"==typeof e?e:t=>Number(t[e])}(c.valueAccessor))&&void 0!==l?l:()=>1,x=new Map,b=[];for(const t of e.data){const e=m(t)+"",o=Number(p(t)),n=Number.isFinite(o)?Math.max(0,o):0;x.has(e)||b.push(e),x.set(e,(null!==(i=x.get(e))&&void 0!==i?i:0)+n)}const w=Array.from(x.values()).reduce((e,t)=>e+t,0);if(0>=w)return{nodes:[]};let k;if(c.categoryOrder&&c.categoryOrder.length>0){const e=new Set,t=[];for(const o of c.categoryOrder)x.has(o)&&!e.has(o)&&(e.add(o),t.push(o));k=[...t,...b.filter(t=>!e.has(t))]}else k=b;if(0===k.length)return{nodes:[]};const $=k.map(e=>{var t;return{cat:e,exact:(null!==(t=x.get(e))&&void 0!==t?t:0)/w*y}}),A=$.map(e=>Object.assign(Object.assign({},e),{count:Math.floor(e.exact)})),M=A.reduce((e,t)=>e+t.count,0),C=A.map((e,t)=>({i:t,rem:e.exact-e.count})).sort((e,t)=>t.rem-e.rem);for(let e=0;y-M>e;e++)A[C[e%C.length].i].count+=1;const F="string"==typeof c.categoryAccessor?c.categoryAccessor:"category",N="string"==typeof c.valueAccessor?c.valueAccessor:"value",W=(e,t,o)=>s(n=>{var r,l;n("category",e),n("value",null!==(r=x.get(e))&&void 0!==r?r:0),"category"!==F&&n(F,e),"value"!==N&&n(N,null!==(l=x.get(e))&&void 0!==l?l:0),n("cells",o),n("_waffleCategory",e),n("_waffleIndex",t)}),L=[];let O=0;for(const t of A){const o=e.resolveColor(t.cat);for(let e=0;t.count>e;e++)L.push({type:"rect",x:h.x+O%u*(f+d),y:h.y+(a-1-Math.floor(O/u))*(g+d),w:f,h:g,style:{fill:o,stroke:"none"},datum:W(t.cat,O,t.count),group:t.cat}),O++}return{nodes:L}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{interpolateRgb as e}from"d3-interpolate";import*as t from"react";import{scaleLinear as o}from"d3-scale";const n=e=>{var t,o,n,r,l,s;const i=e.config,c=null!==(t=i.rows)&&void 0!==t?t:10,a=null!==(o=i.columns)&&void 0!==o?o:10,u=null!==(n=i.gutter)&&void 0!==n?n:2,d=c*a;if(0>=c||0>=a||0>=d)return{nodes:[]};const{plot:h}=e.dimensions;if(0>=h.width||0>=h.height)return{nodes:[]};const y=(h.width-u*(a-1))/a,f=(h.height-u*(c-1))/c;if(0>=y||0>=f)return{nodes:[]};const m=null!==(r=null==(g=i.categoryAccessor)?null:"function"==typeof g?g:e=>e[g])&&void 0!==r?r:()=>"_default";var g;const v=null!==(l=function(e){return null==e?null:"function"==typeof e?e:t=>Number(t[e])}(i.valueAccessor))&&void 0!==l?l:()=>1,p=new Map,x=[];for(const t of e.data){const e=m(t)+"",o=Number(v(t)),n=Number.isFinite(o)?Math.max(0,o):0;p.has(e)||x.push(e),p.set(e,(null!==(s=p.get(e))&&void 0!==s?s:0)+n)}const b=Array.from(p.values()).reduce((e,t)=>e+t,0);if(0>=b)return{nodes:[]};let w;if(i.categoryOrder&&i.categoryOrder.length>0){const e=new Set,t=[];for(const o of i.categoryOrder)p.has(o)&&!e.has(o)&&(e.add(o),t.push(o));w=[...t,...x.filter(t=>!e.has(t))]}else w=x;if(0===w.length)return{nodes:[]};const k=w.map(e=>{var t;return{cat:e,exact:(null!==(t=p.get(e))&&void 0!==t?t:0)/b*d}}),$=k.map(e=>Object.assign(Object.assign({},e),{count:Math.floor(e.exact)})),A=$.reduce((e,t)=>e+t.count,0),M=$.map((e,t)=>({i:t,rem:e.exact-e.count})).sort((e,t)=>t.rem-e.rem);for(let e=0;d-A>e;e++)$[M[e%M.length].i].count+=1;const C=[];let F=0;for(const t of $){const o=e.resolveColor(t.cat);for(let e=0;t.count>e;e++)C.push({type:"rect",x:h.x+F%a*(y+u),y:h.y+(c-1-Math.floor(F/a))*(f+u),w:y,h:f,style:{fill:o,stroke:"none"},datum:{_waffleCategory:t.cat,_waffleIndex:F},group:t.cat}),F++}return{nodes:C}},r=864e5,l=t=>{var o,n,l,i,c,a,u,d;const h=t.config,{plot:y}=t.dimensions;if(0>=y.width||0>=y.height)return{nodes:[]};const f=e=>{const t="function"==typeof h.dateAccessor?h.dateAccessor(e):e[h.dateAccessor];return t instanceof Date?t:new Date(t)},m=e=>{const t="function"==typeof h.valueAccessor?h.valueAccessor(e):e[h.valueAccessor];return Number(t)},g=new Map;let v=null;for(const e of t.data){const t=f(e);if(!isFinite(t.getTime()))continue;null==v&&(v=t.getUTCFullYear());const n=s(t),r=m(e);g.set(n,(null!==(o=g.get(n))&&void 0!==o?o:0)+(Number.isFinite(r)?r:0))}const p=null!==(l=null!==(n=h.year)&&void 0!==n?n:v)&&void 0!==l?l:(new Date).getUTCFullYear();let x=1/0,b=-1/0;for(const e of g.values())x>e&&(x=e),e>b&&(b=e);x===1/0&&(x=0,b=0);const[w,k]=null!==(i=h.colorRamp)&&void 0!==i?i:[null!==(c=t.theme.semantic.surface)&&void 0!==c?c:"#ebedf0",null!==(a=t.theme.semantic.primary)&&void 0!==a?a:"#216e39"],$=t=>{if(b===x)return w;const o=(t-x)/(b-x);return e(w,k)(o)},A=null!==(u=h.gutter)&&void 0!==u?u:2,M=null!==(d=h.labelInset)&&void 0!==d?d:0,C=Math.min((y.width-M-53*A)/54,(y.height-6*A)/7);if(0>=C)return{nodes:[]};const F=new Date(Date.UTC(p,0,1)),N=F.getUTCDay(),W=new Date(F.getTime()-N*r),S=[];for(let e=0;54>e;e++)for(let t=0;7>t;t++){const o=new Date(W.getTime()+(7*e+t)*r);if(o.getUTCFullYear()!==p)continue;const n=s(o),l=g.get(n),i=null==l?w:$(l);S.push({type:"rect",x:y.x+M+e*(C+A),y:y.y+t*(C+A),w:C,h:C,style:{fill:i,stroke:"none"},datum:{date:o,value:null!=l?l:0}})}return{nodes:S}};function s(e){return`${e.getUTCFullYear()}-${i(e.getUTCMonth()+1)}-${i(e.getUTCDate())}`}function i(e){return 10>e?"0"+e:e+""}const c=e=>{var t,o,n,r,l,s,i,c,a;const u=e.config,d=null!==(t=u.nodeWidth)&&void 0!==t?t:80,h=null!==(o=u.nodeHeight)&&void 0!==o?o:30,y=null!==(n=u.orientation)&&void 0!==n?n:"vertical",f=null!==(r=u.edgeCurve)&&void 0!==r?r:"curved",m=!1!==u.showLabels,g=null!==(l=u.labelAccessor)&&void 0!==l?l:"id",v="function"==typeof g?g:e=>{var t,o;const n=e.data,r=n?n[g]:void 0;return(null!==(o=null!==(t=null!=r?r:e[g])&&void 0!==t?t:e.id)&&void 0!==o?o:"")+""},p=new Map,x=[],b=[],w=e=>{var t,o,n;const r=null!==(t=e.data)&&void 0!==t?t:{};return{x:"number"==typeof r.x?r.x:e.x,y:"number"==typeof r.y?r.y:e.y,w:null!==(o="number"==typeof r.width?r.width:e.width)&&void 0!==o?o:d,h:null!==(n="number"==typeof r.height?r.height:e.height)&&void 0!==n?n:h}};for(const t of e.nodes){const{x:o,y:n,w:r,h:l}=w(t);null!=o&&null!=n&&(p.set(t.id,{x:o,y:n,w:r,h:l}),x.push({type:"rect",x:o-r/2,y:n-l/2,w:r,h:l,style:{fill:null!==(s=u.nodeFill)&&void 0!==s?s:e.resolveColor(t.id),stroke:`var(--semiotic-surface, ${null!==(i=e.theme.semantic.surface)&&void 0!==i?i:"#fff"})`,strokeWidth:1.5},datum:t,id:t.id,label:v(t)+""}),m&&b.push({x:o,y:n,text:v(t)+"",anchor:"middle",baseline:"middle",fontSize:11}))}const k=[];for(const t of e.edges){const o="string"==typeof t.target?t.target:t.target.id,n=p.get("string"==typeof t.source?t.source:t.source.id),r=p.get(o);if(!n||!r)continue;const l="vertical"===y?{x:n.x,y:n.y+n.h/2}:{x:n.x+n.w/2,y:n.y},s="vertical"===y?{x:r.x,y:r.y-r.h/2}:{x:r.x-r.w/2,y:r.y};if("line"===f)k.push({type:"line",x1:l.x,y1:l.y,x2:s.x,y2:s.y,style:{stroke:`var(--semiotic-border, ${null!==(c=e.theme.semantic.border)&&void 0!==c?c:"#999"})`,strokeWidth:1},datum:t});else{const o=(l.y+s.y)/2,n=(l.x+s.x)/2;k.push({type:"curved",pathD:"vertical"===y?`M${l.x},${l.y} C${l.x},${o} ${s.x},${o} ${s.x},${s.y}`:`M${l.x},${l.y} C${n},${l.y} ${n},${s.y} ${s.x},${s.y}`,style:{stroke:`var(--semiotic-border, ${null!==(a=e.theme.semantic.border)&&void 0!==a?a:"#999"})`,strokeWidth:1,fill:"none"},datum:t})}}return{sceneNodes:x,sceneEdges:k,labels:b}},a=e=>{var t,o,n,r,l,s,i,c,a;const u=e.config,d=null!==(t=u.nodeWidth)&&void 0!==t?t:100,h=null!==(o=u.nodeHeight)&&void 0!==o?o:36,y=null!==(n=u.edgeStyle)&&void 0!==n?n:"polyline",f=!1!==u.showLabels,m=null!==(r=u.labelAccessor)&&void 0!==r?r:"label",g="function"==typeof m?m:e=>{var t,o;const n=e.data,r=n?n[m]:void 0;return(null!==(o=null!==(t=null!=r?r:e[m])&&void 0!==t?t:e.id)&&void 0!==o?o:"")+""},v=new Map,p=[],x=[],b=e=>{var t,o,n;const r=null!==(t=e.data)&&void 0!==t?t:{};return{x:"number"==typeof r.x?r.x:e.x,y:"number"==typeof r.y?r.y:e.y,w:null!==(o="number"==typeof r.width?r.width:e.width)&&void 0!==o?o:d,h:null!==(n="number"==typeof r.height?r.height:e.height)&&void 0!==n?n:h}};for(const t of e.nodes){const{x:o,y:n,w:r,h:i}=b(t);null!=o&&null!=n&&(v.set(t.id,{x:o,y:n,w:r,h:i}),p.push({type:"rect",x:o-r/2,y:n-i/2,w:r,h:i,style:{fill:null!==(l=u.nodeFill)&&void 0!==l?l:e.resolveColor(t.id),stroke:`var(--semiotic-border, ${null!==(s=e.theme.semantic.border)&&void 0!==s?s:"#888"})`,strokeWidth:1.5},datum:t,id:t.id,label:g(t)+""}),f&&x.push({x:o,y:n,text:g(t)+"",anchor:"middle",baseline:"middle",fontSize:11}))}const w=null!==(i=u.edgeStroke)&&void 0!==i?i:`var(--semiotic-border, ${null!==(c=e.theme.semantic.border)&&void 0!==c?c:"#666"})`,k=[];for(const t of e.edges){const e="string"==typeof t.target?t.target:t.target.id,o=v.get("string"==typeof t.source?t.source:t.source.id),n=v.get(e);if(!o||!n)continue;const r=null!==(a=t.data)&&void 0!==a?a:{},l=Array.isArray(r.points)?r.points:t.points;if(l&&l.length>=2)if("smooth"!==y||3>l.length){const e="M"+l.map(e=>`${e.x},${e.y}`).join(" L ");k.push({type:"curved",pathD:e,style:{stroke:w,strokeWidth:1,fill:"none"},datum:t})}else{let e=`M${l[0].x},${l[0].y}`;for(let t=1;l.length-1>t;t++)e+=` Q${l[t].x},${l[t].y} ${(l[t].x+l[t+1].x)/2},${(l[t].y+l[t+1].y)/2}`;const o=l[l.length-1];e+=` T${o.x},${o.y}`,k.push({type:"curved",pathD:e,style:{stroke:w,strokeWidth:1,fill:"none"},datum:t})}else k.push({type:"line",x1:o.x,y1:o.y,x2:n.x,y2:n.y,style:{stroke:w,strokeWidth:1},datum:t})}return{sceneNodes:p,sceneEdges:k,labels:x}};function u(e){return"function"==typeof e?e:t=>t[e]}function d(e){const t=Object.create(null);return e((e,o)=>{t[e]=o}),t}const h=e=>{var o,n,r,l,s,i,c;const a=e.config,{plot:h}=e.dimensions;if(0>=h.width||0>=h.height)return{nodes:[]};const f=u(a.categoryAccessor),m=u(a.stackBy),g=e=>{const t="function"==typeof a.valueAccessor?a.valueAccessor(e):e[a.valueAccessor],o=Number(t);return Number.isFinite(o)&&o>0?o:0},v=null!==(o=a.gutter)&&void 0!==o?o:2,p="string"==typeof a.categoryAccessor?a.categoryAccessor:"category",x="string"==typeof a.stackBy?a.stackBy:"stack",b="string"==typeof a.valueAccessor?a.valueAccessor:"value",w=(e,t,o)=>d(n=>{n("category",e),n("stack",t),n("value",o),"category"!==p&&n(p,e),"stack"!==x&&n(x,t),"value"!==b&&n(b,o)}),k=!1!==a.showCategoryLabels,$=null!==(n=a.labelPadding)&&void 0!==n?n:k?22:0,A=Math.max(0,h.height-$),M=[],C=new Map,F=[],N=new Set,W=new Map;for(const t of e.data){const e=f(t)+"",o=m(t)+"",n=g(t);C.has(e)||(M.push(e),C.set(e,0),W.set(e,new Map)),N.has(o)||(N.add(o),F.push(o)),C.set(e,(null!==(r=C.get(e))&&void 0!==r?r:0)+n);const s=W.get(e);s.set(o,(null!==(l=s.get(o))&&void 0!==l?l:0)+n)}const S=a.categoryOrder?y(a.categoryOrder,M,e=>C.has(e)):M,T=a.stackOrder?y(a.stackOrder,F,()=>!0):F,E=S.reduce((e,t)=>{var o;return e+(null!==(o=C.get(t))&&void 0!==o?o:0)},0);if(0>=E)return{nodes:[]};const D=Math.max(0,h.width-v*Math.max(0,S.length-1)),O=[],B=[];let L=h.x;for(const t of S){const o=null!==(s=C.get(t))&&void 0!==s?s:0,n=o/E*D;if(0>=n)continue;B.push({cat:t,x:L,w:n});const r=W.get(t);let l=h.y;for(const s of T){const c=null!==(i=r.get(s))&&void 0!==i?i:0;if(0>=c)continue;const a=c/o*A;O.push({type:"rect",x:L,y:l,w:n,h:a,style:{fill:e.resolveColor(s),stroke:"none"},datum:w(t,s,c),group:s}),l+=a}L+=n+v}return{nodes:O,overlays:k&&B.length>0?function(e,o,n){const r=e.map((e,r)=>6.5*e.cat.length>e.w-4?null:t.createElement("text",{key:"marimekko-label-"+r,x:e.x+e.w/2,y:o+12,textAnchor:"middle",fontSize:12,fill:n},e.cat));return t.createElement(t.Fragment,null,...r)}(B,h.y+A+4,`var(--semiotic-text, ${null!==(c=e.theme.semantic.text)&&void 0!==c?c:"currentColor"})`):null}};function y(e,t,o){const n=new Set,r=[];for(const t of e)o(t)&&!n.has(t)&&(n.add(t),r.push(t));for(const e of t)n.has(e)||r.push(e);return r}const f=e=>{var o,n,r,l,s,i,c,a,h,y,f,m;const g=e.config,{plot:v}=e.dimensions;if(0>=v.width||0>=v.height||0===e.data.length)return{nodes:[]};const p=null!==(o=g.rowHeight)&&void 0!==o?o:28,x=null!==(n=g.rowGap)&&void 0!==n?n:12,b=!1!==g.showLabels,w=b?null!==(r=g.labelWidth)&&void 0!==r?r:120:0,k=!1!==g.showTicks,$=k?14:0,A=null!==(l=g.tickFormat)&&void 0!==l?l:e=>e.toLocaleString(),M=v.x+w,C=Math.max(0,v.width-w);if(0>=C)return{nodes:[]};const F=u(g.categoryAccessor),N=e=>{const t=Number(e);return Number.isFinite(t)&&t>0?t:0},W=e=>N("function"==typeof g.valueAccessor?g.valueAccessor(e):e[g.valueAccessor]),S=e=>N("function"==typeof g.targetAccessor?g.targetAccessor(e):e[g.targetAccessor]),T=e=>{const t="function"==typeof g.rangesAccessor?g.rangesAccessor(e):e[g.rangesAccessor];return Array.isArray(t)?t.map(N).sort((e,t)=>e-t):[]},E="string"==typeof g.categoryAccessor?g.categoryAccessor:"metric",D="string"==typeof g.valueAccessor?g.valueAccessor:"value",O="string"==typeof g.targetAccessor?g.targetAccessor:"target",B=null!==(i=null!==(s=g.actualColor)&&void 0!==s?s:e.theme.semantic.primary)&&void 0!==i?i:"#3b6cb1",L=null!==(c=e.theme.semantic.text)&&void 0!==c?c:"currentColor",U=null!==(a=e.theme.semantic.textSecondary)&&void 0!==a?a:"#888",z=null!==(h=e.theme.semantic.surface)&&void 0!==h?h:"#e8eaed",j=null!==(y=e.theme.semantic.grid)&&void 0!==y?y:"#cdd1d6",V=null!==(f=e.theme.semantic.border)&&void 0!==f?f:"#a3a8af",Y=null!==(m=g.targetColor)&&void 0!==m?m:`var(--semiotic-text, ${L})`,H=[`var(--semiotic-surface, ${z})`,`var(--semiotic-grid, ${j})`,`var(--semiotic-border, ${V})`],P=`var(--semiotic-text, ${L})`,_=`var(--semiotic-text-secondary, ${U})`,I=[],G=[];for(let t=0;e.data.length>t;t++){const o=e.data[t],n=T(o),r=W(o),l=S(o),s=Math.max(r,l,...n.length?n:[0]);if(0>=s)continue;const i=v.y+t*(p+x+$);if(i+p+$>v.y+v.height)break;G.push({yTop:i,label:F(o),actual:r,target:l,maxVal:s});const c=e=>M+e/s*C,a=F(o),u=e=>d(t=>{t("metric",a),"metric"!==E&&t(E,a),e(t)});let h=M;for(let e=0;n.length>e;e++){const t=c(n[e]),o=t-h;o>0&&I.push({type:"rect",x:h,y:i,w:o,h:p,style:{fill:H[Math.min(e,H.length-1)],stroke:"none"},datum:u(t=>{t("range",e),t("rangeValue",n[e]),t("kind","range")}),group:"range-"+e}),h=t}const y=Math.max(6,Math.floor(.45*p));I.push({type:"rect",x:M,y:i+(p-y)/2,w:c(r)-M,h:y,style:{fill:B,stroke:"none"},datum:u(e=>{e("value",r),e("kind","actual"),"value"!==D&&e(D,r)}),group:"actual"});const f=3,m=Math.floor(.8*p);I.push({type:"rect",x:c(l)-f/2,y:i+(p-m)/2,w:f,h:m,style:{fill:Y,stroke:"none"},datum:u(e=>{e("target",l),e("kind","target"),"target"!==O&&e(O,l)}),group:"target"})}const Q=[];for(let e=0;G.length>e;e++){const o=G[e];if(b&&Q.push(t.createElement("text",{key:"bullet-label-"+e,x:v.x+w-8,y:o.yTop+p/2,textAnchor:"end",dominantBaseline:"middle",fontSize:13,fontWeight:500,fill:P},o.label)),k){const n=5,r=o.yTop+p+2;for(let l=0;n>l;l++){const s=o.maxVal*l/(n-1),i=M+s/o.maxVal*C;Q.push(t.createElement("line",{key:`bullet-tick-${e}-${l}`,x1:i,x2:i,y1:r,y2:r+3,stroke:_,strokeWidth:1}),t.createElement("text",{key:`bullet-ticktext-${e}-${l}`,x:i,y:r+12,textAnchor:0===l?"start":l===n-1?"end":"middle",fontSize:10,fill:_},A(s)))}}}return{nodes:I,overlays:Q.length>0?t.createElement(t.Fragment,null,...Q):null}},m=e=>{var n,r,l,s,i,c,a,u,d,h,y,f;const m=e.config,{plot:g}=e.dimensions,v=null!==(n=m.fields)&&void 0!==n?n:[];if(2>v.length||0>=g.width||0>=g.height)return{nodes:[]};if(0===e.data.length)return{nodes:[]};const p={};for(const t of v){if(null===(r=m.domains)||void 0===r?void 0:r[t]){p[t]=m.domains[t];continue}let o=1/0,n=-1/0;for(const r of e.data){const e=Number(r[t]);Number.isFinite(e)&&(o>e&&(o=e),e>n&&(n=e))}p[t]=Number.isFinite(o)&&Number.isFinite(n)&&o!==n?[o,n]:[0,1]}const x=!1!==m.showAxes,b=x?null!==(l=m.axisLabelPadding)&&void 0!==l?l:24:8,w=x?18:8,k=v.map(e=>o().domain(p[e]).range([g.y+g.height-w,g.y+b])),$=v.map((e,t)=>1===v.length?g.x+g.width/2:g.x+t/(v.length-1)*g.width),A=m.colorBy?"function"==typeof m.colorBy?m.colorBy:e=>{var t;return(null!==(t=e[m.colorBy])&&void 0!==t?t:"")+""}:null,M=null!==(s=m.opacity)&&void 0!==s?s:.45,C=null!==(i=m.strokeWidth)&&void 0!==i?i:1.25,F=null!==(c=e.theme.semantic.primary)&&void 0!==c?c:"#3b6cb1",N=null!==(a=m.dimmedOpacity)&&void 0!==a?a:.08,W=m.highlightFn,S=[],T=[];for(const t of e.data){const o=A?e.resolveColor(A(t)+""):F,n=!W||W(t),r=W?n?Math.min(1,M+.4):N:M,l=n?T:S;for(let e=0;v.length-1>e;e++){const s=Number(t[v[e]]),i=Number(t[v[e+1]]);if(!Number.isFinite(s)||!Number.isFinite(i))continue;const c={type:"connector",x1:$[e],y1:k[e](s),x2:$[e+1],y2:k[e+1](i),style:{stroke:o,strokeWidth:W&&n?C+.75:C,opacity:r,fill:"none"},datum:t};l.push(c)}if(m.showPoints)for(let e=0;v.length>e;e++){const n=Number(t[v[e]]);if(!Number.isFinite(n))continue;const s={type:"point",x:$[e],y:k[e](n),r:2.5,style:{fill:o,stroke:"none",opacity:Math.min(1,r+.3)},datum:t};l.push(s)}}let E=null;if(x){const o=`var(--semiotic-border, ${null!==(u=e.theme.semantic.border)&&void 0!==u?u:"#aaa"})`,n=`var(--semiotic-text, ${null!==(d=e.theme.semantic.text)&&void 0!==d?d:"currentColor"})`,r=`var(--semiotic-text-secondary, ${null!==(h=e.theme.semantic.textSecondary)&&void 0!==h?h:"#888"})`,l=g.y+b,s=g.y+g.height-w,i=[];for(let e=0;v.length>e;e++){const c=v[e],a=$[e],u=null!==(f=null===(y=m.tickFormat)||void 0===y?void 0:y[c])&&void 0!==f?f:e=>e.toLocaleString();i.push(t.createElement("line",{key:"pc-axis-line-"+e,x1:a,x2:a,y1:l,y2:s,stroke:o,strokeWidth:1})),i.push(t.createElement("text",{key:"pc-axis-label-"+e,x:a,y:g.y+b-8,textAnchor:"middle",fontSize:12,fontWeight:600,fill:n},c));const[d,h]=p[c],x=5;for(let n=0;x>n;n++){const l=d+(h-d)*n/(x-1),s=k[e](l);i.push(t.createElement("line",{key:`pc-tick-${e}-${n}`,x1:a-3,x2:a+3,y1:s,y2:s,stroke:o,strokeWidth:1}),t.createElement("text",{key:`pc-ticktext-${e}-${n}`,x:a+6,y:s+3,fontSize:10,fill:r},u(l)))}}E=t.createElement(t.Fragment,null,...i)}return{nodes:S.concat(T),overlays:E}};export{f as bulletLayout,l as calendarLayout,a as dagreLayout,c as flextreeLayout,h as marimekkoLayout,m as parallelCoordinatesLayout,n as waffleLayout};
|
|
1
|
+
import{interpolateRgb as e}from"d3-interpolate";import*as t from"react";import{scaleLinear as o}from"d3-scale";function n(e){return"function"==typeof e?e:t=>t[e]}function r(e){const t=Object.create(null);return e((e,o)=>{t[e]=o}),t}const l=e=>{var t,o,n,l,s,i;const c=e.config,a=null!==(t=c.rows)&&void 0!==t?t:10,u=null!==(o=c.columns)&&void 0!==o?o:10,d=null!==(n=c.gutter)&&void 0!==n?n:2,h=a*u;if(0>=a||0>=u||0>=h)return{nodes:[]};const{plot:y}=e.dimensions;if(0>=y.width||0>=y.height)return{nodes:[]};const f=(y.width-d*(u-1))/u,m=(y.height-d*(a-1))/a;if(0>=f||0>=m)return{nodes:[]};const g=null!==(l=null==(v=c.categoryAccessor)?null:"function"==typeof v?v:e=>e[v])&&void 0!==l?l:()=>"_default";var v;const p=null!==(s=function(e){return null==e?null:"function"==typeof e?e:t=>Number(t[e])}(c.valueAccessor))&&void 0!==s?s:()=>1,x=new Map,b=[];for(const t of e.data){const e=g(t)+"",o=Number(p(t)),n=Number.isFinite(o)?Math.max(0,o):0;x.has(e)||b.push(e),x.set(e,(null!==(i=x.get(e))&&void 0!==i?i:0)+n)}const w=Array.from(x.values()).reduce((e,t)=>e+t,0);if(0>=w)return{nodes:[]};let k;if(c.categoryOrder&&c.categoryOrder.length>0){const e=new Set,t=[];for(const o of c.categoryOrder)x.has(o)&&!e.has(o)&&(e.add(o),t.push(o));k=[...t,...b.filter(t=>!e.has(t))]}else k=b;if(0===k.length)return{nodes:[]};const $=k.map(e=>{var t;return{cat:e,exact:(null!==(t=x.get(e))&&void 0!==t?t:0)/w*h}}),A=$.map(e=>Object.assign(Object.assign({},e),{count:Math.floor(e.exact)})),M=A.reduce((e,t)=>e+t.count,0),C=A.map((e,t)=>({i:t,rem:e.exact-e.count})).sort((e,t)=>t.rem-e.rem);for(let e=0;h-M>e;e++)A[C[e%C.length].i].count+=1;const F="string"==typeof c.categoryAccessor?c.categoryAccessor:"category",N="string"==typeof c.valueAccessor?c.valueAccessor:"value",W=(e,t,o)=>r(n=>{var r,l;n("category",e),n("value",null!==(r=x.get(e))&&void 0!==r?r:0),"category"!==F&&n(F,e),"value"!==N&&n(N,null!==(l=x.get(e))&&void 0!==l?l:0),n("cells",o),n("_waffleCategory",e),n("_waffleIndex",t)}),S=[];let T=0;for(const t of A){const o=e.resolveColor(t.cat);for(let e=0;t.count>e;e++)S.push({type:"rect",x:y.x+T%u*(f+d),y:y.y+(a-1-Math.floor(T/u))*(m+d),w:f,h:m,style:{fill:o,stroke:"none"},datum:W(t.cat,T,t.count),group:t.cat}),T++}return{nodes:S}},s=864e5,i=t=>{var o,n,r,l,i,a,u,d;const h=t.config,{plot:y}=t.dimensions;if(0>=y.width||0>=y.height)return{nodes:[]};const f=e=>{const t="function"==typeof h.dateAccessor?h.dateAccessor(e):e[h.dateAccessor];return t instanceof Date?t:new Date(t)},m=e=>{const t="function"==typeof h.valueAccessor?h.valueAccessor(e):e[h.valueAccessor];return Number(t)},g=new Map;let v=null;for(const e of t.data){const t=f(e);if(!isFinite(t.getTime()))continue;null==v&&(v=t.getUTCFullYear());const n=c(t),r=m(e);g.set(n,(null!==(o=g.get(n))&&void 0!==o?o:0)+(Number.isFinite(r)?r:0))}const p=null!==(r=null!==(n=h.year)&&void 0!==n?n:v)&&void 0!==r?r:(new Date).getUTCFullYear();let x=1/0,b=-1/0;for(const e of g.values())x>e&&(x=e),e>b&&(b=e);x===1/0&&(x=0,b=0);const[w,k]=null!==(l=h.colorRamp)&&void 0!==l?l:[null!==(i=t.theme.semantic.surface)&&void 0!==i?i:"#ebedf0",null!==(a=t.theme.semantic.primary)&&void 0!==a?a:"#216e39"],$=t=>{if(b===x)return w;const o=(t-x)/(b-x);return e(w,k)(o)},A=null!==(u=h.gutter)&&void 0!==u?u:2,M=null!==(d=h.labelInset)&&void 0!==d?d:0,C=Math.min((y.width-M-53*A)/54,(y.height-6*A)/7);if(0>=C)return{nodes:[]};const F=new Date(Date.UTC(p,0,1)),N=F.getUTCDay(),W=new Date(F.getTime()-N*s),S=[];for(let e=0;54>e;e++)for(let t=0;7>t;t++){const o=new Date(W.getTime()+(7*e+t)*s);if(o.getUTCFullYear()!==p)continue;const n=c(o),r=g.get(n),l=null==r?w:$(r);S.push({type:"rect",x:y.x+M+e*(C+A),y:y.y+t*(C+A),w:C,h:C,style:{fill:l,stroke:"none"},datum:{date:o,value:null!=r?r:0}})}return{nodes:S}};function c(e){return`${e.getUTCFullYear()}-${a(e.getUTCMonth()+1)}-${a(e.getUTCDate())}`}function a(e){return 10>e?"0"+e:e+""}const u=e=>{var t,o,n,r,l,s,i,c,a;const u=e.config,d=null!==(t=u.nodeWidth)&&void 0!==t?t:80,h=null!==(o=u.nodeHeight)&&void 0!==o?o:30,y=null!==(n=u.orientation)&&void 0!==n?n:"vertical",f=null!==(r=u.edgeCurve)&&void 0!==r?r:"curved",m=!1!==u.showLabels,g=null!==(l=u.labelAccessor)&&void 0!==l?l:"id",v="function"==typeof g?g:e=>{var t,o;const n=e.data,r=n?n[g]:void 0;return(null!==(o=null!==(t=null!=r?r:e[g])&&void 0!==t?t:e.id)&&void 0!==o?o:"")+""},p=new Map,x=[],b=[],w=e=>{var t,o,n;const r=null!==(t=e.data)&&void 0!==t?t:{};return{x:"number"==typeof r.x?r.x:e.x,y:"number"==typeof r.y?r.y:e.y,w:null!==(o="number"==typeof r.width?r.width:e.width)&&void 0!==o?o:d,h:null!==(n="number"==typeof r.height?r.height:e.height)&&void 0!==n?n:h}};for(const t of e.nodes){const{x:o,y:n,w:r,h:l}=w(t);null!=o&&null!=n&&(p.set(t.id,{x:o,y:n,w:r,h:l}),x.push({type:"rect",x:o-r/2,y:n-l/2,w:r,h:l,style:{fill:null!==(s=u.nodeFill)&&void 0!==s?s:e.resolveColor(t.id),stroke:`var(--semiotic-surface, ${null!==(i=e.theme.semantic.surface)&&void 0!==i?i:"#fff"})`,strokeWidth:1.5},datum:t,id:t.id,label:v(t)+""}),m&&b.push({x:o,y:n,text:v(t)+"",anchor:"middle",baseline:"middle",fontSize:11}))}const k=[];for(const t of e.edges){const o="string"==typeof t.target?t.target:t.target.id,n=p.get("string"==typeof t.source?t.source:t.source.id),r=p.get(o);if(!n||!r)continue;const l="vertical"===y?{x:n.x,y:n.y+n.h/2}:{x:n.x+n.w/2,y:n.y},s="vertical"===y?{x:r.x,y:r.y-r.h/2}:{x:r.x-r.w/2,y:r.y};if("line"===f)k.push({type:"line",x1:l.x,y1:l.y,x2:s.x,y2:s.y,style:{stroke:`var(--semiotic-border, ${null!==(c=e.theme.semantic.border)&&void 0!==c?c:"#999"})`,strokeWidth:1},datum:t});else{const o=(l.y+s.y)/2,n=(l.x+s.x)/2;k.push({type:"curved",pathD:"vertical"===y?`M${l.x},${l.y} C${l.x},${o} ${s.x},${o} ${s.x},${s.y}`:`M${l.x},${l.y} C${n},${l.y} ${n},${s.y} ${s.x},${s.y}`,style:{stroke:`var(--semiotic-border, ${null!==(a=e.theme.semantic.border)&&void 0!==a?a:"#999"})`,strokeWidth:1,fill:"none"},datum:t})}}return{sceneNodes:x,sceneEdges:k,labels:b}},d=e=>{var t,o,n,r,l,s,i,c,a;const u=e.config,d=null!==(t=u.nodeWidth)&&void 0!==t?t:100,h=null!==(o=u.nodeHeight)&&void 0!==o?o:36,y=null!==(n=u.edgeStyle)&&void 0!==n?n:"polyline",f=!1!==u.showLabels,m=null!==(r=u.labelAccessor)&&void 0!==r?r:"label",g="function"==typeof m?m:e=>{var t,o;const n=e.data,r=n?n[m]:void 0;return(null!==(o=null!==(t=null!=r?r:e[m])&&void 0!==t?t:e.id)&&void 0!==o?o:"")+""},v=new Map,p=[],x=[],b=e=>{var t,o,n;const r=null!==(t=e.data)&&void 0!==t?t:{};return{x:"number"==typeof r.x?r.x:e.x,y:"number"==typeof r.y?r.y:e.y,w:null!==(o="number"==typeof r.width?r.width:e.width)&&void 0!==o?o:d,h:null!==(n="number"==typeof r.height?r.height:e.height)&&void 0!==n?n:h}};for(const t of e.nodes){const{x:o,y:n,w:r,h:i}=b(t);null!=o&&null!=n&&(v.set(t.id,{x:o,y:n,w:r,h:i}),p.push({type:"rect",x:o-r/2,y:n-i/2,w:r,h:i,style:{fill:null!==(l=u.nodeFill)&&void 0!==l?l:e.resolveColor(t.id),stroke:`var(--semiotic-border, ${null!==(s=e.theme.semantic.border)&&void 0!==s?s:"#888"})`,strokeWidth:1.5},datum:t,id:t.id,label:g(t)+""}),f&&x.push({x:o,y:n,text:g(t)+"",anchor:"middle",baseline:"middle",fontSize:11}))}const w=null!==(i=u.edgeStroke)&&void 0!==i?i:`var(--semiotic-border, ${null!==(c=e.theme.semantic.border)&&void 0!==c?c:"#666"})`,k=[];for(const t of e.edges){const e="string"==typeof t.target?t.target:t.target.id,o=v.get("string"==typeof t.source?t.source:t.source.id),n=v.get(e);if(!o||!n)continue;const r=null!==(a=t.data)&&void 0!==a?a:{},l=Array.isArray(r.points)?r.points:t.points;if(l&&l.length>=2)if("smooth"!==y||3>l.length){const e="M"+l.map(e=>`${e.x},${e.y}`).join(" L ");k.push({type:"curved",pathD:e,style:{stroke:w,strokeWidth:1,fill:"none"},datum:t})}else{let e=`M${l[0].x},${l[0].y}`;for(let t=1;l.length-1>t;t++)e+=` Q${l[t].x},${l[t].y} ${(l[t].x+l[t+1].x)/2},${(l[t].y+l[t+1].y)/2}`;const o=l[l.length-1];e+=` T${o.x},${o.y}`,k.push({type:"curved",pathD:e,style:{stroke:w,strokeWidth:1,fill:"none"},datum:t})}else k.push({type:"line",x1:o.x,y1:o.y,x2:n.x,y2:n.y,style:{stroke:w,strokeWidth:1},datum:t})}return{sceneNodes:p,sceneEdges:k,labels:x}},h=e=>{var o,l,s,i,c,a,u;const d=e.config,{plot:h}=e.dimensions;if(0>=h.width||0>=h.height)return{nodes:[]};const f=n(d.categoryAccessor),m=n(d.stackBy),g=e=>{const t="function"==typeof d.valueAccessor?d.valueAccessor(e):e[d.valueAccessor],o=Number(t);return Number.isFinite(o)&&o>0?o:0},v=null!==(o=d.gutter)&&void 0!==o?o:2,p="string"==typeof d.categoryAccessor?d.categoryAccessor:"category",x="string"==typeof d.stackBy?d.stackBy:"stack",b="string"==typeof d.valueAccessor?d.valueAccessor:"value",w=(e,t,o)=>r(n=>{n("category",e),n("stack",t),n("value",o),"category"!==p&&n(p,e),"stack"!==x&&n(x,t),"value"!==b&&n(b,o)}),k=!1!==d.showCategoryLabels,$=null!==(l=d.labelPadding)&&void 0!==l?l:k?22:0,A=Math.max(0,h.height-$),M=[],C=new Map,F=[],N=new Set,W=new Map;for(const t of e.data){const e=f(t)+"",o=m(t)+"",n=g(t);C.has(e)||(M.push(e),C.set(e,0),W.set(e,new Map)),N.has(o)||(N.add(o),F.push(o)),C.set(e,(null!==(s=C.get(e))&&void 0!==s?s:0)+n);const r=W.get(e);r.set(o,(null!==(i=r.get(o))&&void 0!==i?i:0)+n)}const S=d.categoryOrder?y(d.categoryOrder,M,e=>C.has(e)):M,T=d.stackOrder?y(d.stackOrder,F,()=>!0):F,E=S.reduce((e,t)=>{var o;return e+(null!==(o=C.get(t))&&void 0!==o?o:0)},0);if(0>=E)return{nodes:[]};const D=Math.max(0,h.width-v*Math.max(0,S.length-1)),O=[],B=[];let L=h.x;for(const t of S){const o=null!==(c=C.get(t))&&void 0!==c?c:0,n=o/E*D;if(0>=n)continue;B.push({cat:t,x:L,w:n});const r=W.get(t);let l=h.y;for(const s of T){const i=null!==(a=r.get(s))&&void 0!==a?a:0;if(0>=i)continue;const c=i/o*A;O.push({type:"rect",x:L,y:l,w:n,h:c,style:{fill:e.resolveColor(s),stroke:"none"},datum:w(t,s,i),group:s}),l+=c}L+=n+v}return{nodes:O,overlays:k&&B.length>0?function(e,o,n){const r=e.map((e,r)=>6.5*e.cat.length>e.w-4?null:t.createElement("text",{key:"marimekko-label-"+r,x:e.x+e.w/2,y:o+12,textAnchor:"middle",fontSize:12,fill:n},e.cat));return t.createElement(t.Fragment,null,...r)}(B,h.y+A+4,`var(--semiotic-text, ${null!==(u=e.theme.semantic.text)&&void 0!==u?u:"currentColor"})`):null}};function y(e,t,o){const n=new Set,r=[];for(const t of e)o(t)&&!n.has(t)&&(n.add(t),r.push(t));for(const e of t)n.has(e)||r.push(e);return r}const f=e=>{var o,l,s,i,c,a,u,d,h,y,f,m;const g=e.config,{plot:v}=e.dimensions;if(0>=v.width||0>=v.height||0===e.data.length)return{nodes:[]};const p=null!==(o=g.rowHeight)&&void 0!==o?o:28,x=null!==(l=g.rowGap)&&void 0!==l?l:12,b=!1!==g.showLabels,w=b?null!==(s=g.labelWidth)&&void 0!==s?s:120:0,k=!1!==g.showTicks,$=k?14:0,A=null!==(i=g.tickFormat)&&void 0!==i?i:e=>e.toLocaleString(),M=v.x+w,C=Math.max(0,v.width-w);if(0>=C)return{nodes:[]};const F=n(g.categoryAccessor),N=e=>{const t=Number(e);return Number.isFinite(t)&&t>0?t:0},W=e=>N("function"==typeof g.valueAccessor?g.valueAccessor(e):e[g.valueAccessor]),S=e=>N("function"==typeof g.targetAccessor?g.targetAccessor(e):e[g.targetAccessor]),T=e=>{const t="function"==typeof g.rangesAccessor?g.rangesAccessor(e):e[g.rangesAccessor];return Array.isArray(t)?t.map(N).sort((e,t)=>e-t):[]},E="string"==typeof g.categoryAccessor?g.categoryAccessor:"metric",D="string"==typeof g.valueAccessor?g.valueAccessor:"value",O="string"==typeof g.targetAccessor?g.targetAccessor:"target",B=null!==(a=null!==(c=g.actualColor)&&void 0!==c?c:e.theme.semantic.primary)&&void 0!==a?a:"#3b6cb1",L=null!==(u=e.theme.semantic.text)&&void 0!==u?u:"currentColor",U=null!==(d=e.theme.semantic.textSecondary)&&void 0!==d?d:"#888",z=null!==(h=e.theme.semantic.surface)&&void 0!==h?h:"#e8eaed",j=null!==(y=e.theme.semantic.grid)&&void 0!==y?y:"#cdd1d6",V=null!==(f=e.theme.semantic.border)&&void 0!==f?f:"#a3a8af",Y=null!==(m=g.targetColor)&&void 0!==m?m:`var(--semiotic-text, ${L})`,H=[`var(--semiotic-surface, ${z})`,`var(--semiotic-grid, ${j})`,`var(--semiotic-border, ${V})`],P=`var(--semiotic-text, ${L})`,_=`var(--semiotic-text-secondary, ${U})`,I=[],G=[];for(let t=0;e.data.length>t;t++){const o=e.data[t],n=T(o),l=W(o),s=S(o),i=Math.max(l,s,...n.length?n:[0]);if(0>=i)continue;const c=v.y+t*(p+x+$);if(c+p+$>v.y+v.height)break;G.push({yTop:c,label:F(o),actual:l,target:s,maxVal:i});const a=e=>M+e/i*C,u=F(o),d=e=>r(t=>{t("metric",u),"metric"!==E&&t(E,u),e(t)});let h=M;for(let e=0;n.length>e;e++){const t=a(n[e]),o=t-h;o>0&&I.push({type:"rect",x:h,y:c,w:o,h:p,style:{fill:H[Math.min(e,H.length-1)],stroke:"none"},datum:d(t=>{t("range",e),t("rangeValue",n[e]),t("kind","range")}),group:"range-"+e}),h=t}const y=Math.max(6,Math.floor(.45*p));I.push({type:"rect",x:M,y:c+(p-y)/2,w:a(l)-M,h:y,style:{fill:B,stroke:"none"},datum:d(e=>{e("value",l),e("kind","actual"),"value"!==D&&e(D,l)}),group:"actual"});const f=3,m=Math.floor(.8*p);I.push({type:"rect",x:a(s)-f/2,y:c+(p-m)/2,w:f,h:m,style:{fill:Y,stroke:"none"},datum:d(e=>{e("target",s),e("kind","target"),"target"!==O&&e(O,s)}),group:"target"})}const Q=[];for(let e=0;G.length>e;e++){const o=G[e];if(b&&Q.push(t.createElement("text",{key:"bullet-label-"+e,x:v.x+w-8,y:o.yTop+p/2,textAnchor:"end",dominantBaseline:"middle",fontSize:13,fontWeight:500,fill:P},o.label)),k){const n=5,r=o.yTop+p+2;for(let l=0;n>l;l++){const s=o.maxVal*l/(n-1),i=M+s/o.maxVal*C;Q.push(t.createElement("line",{key:`bullet-tick-${e}-${l}`,x1:i,x2:i,y1:r,y2:r+3,stroke:_,strokeWidth:1}),t.createElement("text",{key:`bullet-ticktext-${e}-${l}`,x:i,y:r+12,textAnchor:0===l?"start":l===n-1?"end":"middle",fontSize:10,fill:_},A(s)))}}}return{nodes:I,overlays:Q.length>0?t.createElement(t.Fragment,null,...Q):null}},m=e=>{var n,r,l,s,i,c,a,u,d,h,y,f;const m=e.config,{plot:g}=e.dimensions,v=null!==(n=m.fields)&&void 0!==n?n:[];if(2>v.length||0>=g.width||0>=g.height)return{nodes:[]};if(0===e.data.length)return{nodes:[]};const p={};for(const t of v){if(null===(r=m.domains)||void 0===r?void 0:r[t]){p[t]=m.domains[t];continue}let o=1/0,n=-1/0;for(const r of e.data){const e=Number(r[t]);Number.isFinite(e)&&(o>e&&(o=e),e>n&&(n=e))}p[t]=Number.isFinite(o)&&Number.isFinite(n)&&o!==n?[o,n]:[0,1]}const x=!1!==m.showAxes,b=x?null!==(l=m.axisLabelPadding)&&void 0!==l?l:24:8,w=x?18:8,k=v.map(e=>o().domain(p[e]).range([g.y+g.height-w,g.y+b])),$=v.map((e,t)=>1===v.length?g.x+g.width/2:g.x+t/(v.length-1)*g.width),A=m.colorBy?"function"==typeof m.colorBy?m.colorBy:e=>{var t;return(null!==(t=e[m.colorBy])&&void 0!==t?t:"")+""}:null,M=null!==(s=m.opacity)&&void 0!==s?s:.45,C=null!==(i=m.strokeWidth)&&void 0!==i?i:1.25,F=null!==(c=e.theme.semantic.primary)&&void 0!==c?c:"#3b6cb1",N=null!==(a=m.dimmedOpacity)&&void 0!==a?a:.08,W=m.highlightFn,S=[],T=[];for(const t of e.data){const o=A?e.resolveColor(A(t)+""):F,n=!W||W(t),r=W?n?Math.min(1,M+.4):N:M,l=n?T:S;for(let e=0;v.length-1>e;e++){const s=Number(t[v[e]]),i=Number(t[v[e+1]]);if(!Number.isFinite(s)||!Number.isFinite(i))continue;const c={type:"connector",x1:$[e],y1:k[e](s),x2:$[e+1],y2:k[e+1](i),style:{stroke:o,strokeWidth:W&&n?C+.75:C,opacity:r,fill:"none"},datum:t};l.push(c)}if(m.showPoints)for(let e=0;v.length>e;e++){const n=Number(t[v[e]]);if(!Number.isFinite(n))continue;const s={type:"point",x:$[e],y:k[e](n),r:2.5,style:{fill:o,stroke:"none",opacity:Math.min(1,r+.3)},datum:t};l.push(s)}}let E=null;if(x){const o=`var(--semiotic-border, ${null!==(u=e.theme.semantic.border)&&void 0!==u?u:"#aaa"})`,n=`var(--semiotic-text, ${null!==(d=e.theme.semantic.text)&&void 0!==d?d:"currentColor"})`,r=`var(--semiotic-text-secondary, ${null!==(h=e.theme.semantic.textSecondary)&&void 0!==h?h:"#888"})`,l=g.y+b,s=g.y+g.height-w,i=[];for(let e=0;v.length>e;e++){const c=v[e],a=$[e],u=null!==(f=null===(y=m.tickFormat)||void 0===y?void 0:y[c])&&void 0!==f?f:e=>e.toLocaleString();i.push(t.createElement("line",{key:"pc-axis-line-"+e,x1:a,x2:a,y1:l,y2:s,stroke:o,strokeWidth:1})),i.push(t.createElement("text",{key:"pc-axis-label-"+e,x:a,y:g.y+b-8,textAnchor:"middle",fontSize:12,fontWeight:600,fill:n},c));const[d,h]=p[c],x=5;for(let n=0;x>n;n++){const l=d+(h-d)*n/(x-1),s=k[e](l);i.push(t.createElement("line",{key:`pc-tick-${e}-${n}`,x1:a-3,x2:a+3,y1:s,y2:s,stroke:o,strokeWidth:1}),t.createElement("text",{key:`pc-ticktext-${e}-${n}`,x:a+6,y:s+3,fontSize:10,fill:r},u(l)))}}E=t.createElement(t.Fragment,null,...i)}return{nodes:S.concat(T),overlays:E}};export{f as bulletLayout,i as calendarLayout,d as dagreLayout,u as flextreeLayout,h as marimekkoLayout,m as parallelCoordinatesLayout,l as waffleLayout};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
"use strict";require("react/jsx-runtime");require("react");function e(e){if(!e.accessibility)return e;let a=e;if(e.accessibility.colorBlindSafe&&(a=Object.assign(Object.assign({},a),{colors:Object.assign(Object.assign({},a.colors),{categorical:o})})),e.accessibility.highContrast){const e="dark"===a.mode;a=Object.assign(Object.assign({},a),{colors:Object.assign(Object.assign({},a.colors),{text:e?"#ffffff":"#000000",textSecondary:e?"#cccccc":"#333333",grid:e?"#666666":"#999999",border:e?"#888888":"#000000"})})}return a}const o=["#0072B2","#E69F00","#009E73","#CC79A7","#56B4E9","#D55E00","#F0E442","#000000"],a={mode:"light",colors:{primary:"#00a2ce",secondary:"#6c757d",categorical:["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"],sequential:"blues",diverging:"RdBu",background:"transparent",surface:"#ffffff",text:"#333",textSecondary:"#666",grid:"#e0e0e0",border:"#ccc",selection:"#00a2ce",selectionOpacity:.15,success:"#2ca02c",danger:"#d62728",warning:"#f0ad4e",error:"#b4181b",info:"#00a2ce"},typography:{fontFamily:"sans-serif",titleSize:16,labelSize:12,tickSize:10}},r={mode:"dark",colors:{primary:"#4fc3f7",secondary:"#90a4ae",categorical:["#4fc3f7","#ffb74d","#81c784","#ef5350","#ba68c8","#a1887f","#f06292","#90a4ae","#dce775","#4dd0e1"],sequential:"blues",diverging:"RdBu",background:"#1a1a2e",surface:"#252540",text:"#e0e0e0",textSecondary:"#aaa",grid:"#333",border:"#555",selection:"#4fc3f7",selectionOpacity:.15,success:"#81c784",danger:"#ef5350",warning:"#ffb74d",error:"#d84848",info:"#4fc3f7"},typography:{fontFamily:"sans-serif",titleSize:16,labelSize:12,tickSize:10}},t={mode:"light",colors:{primary:"#0000cc",secondary:"#333333",categorical:o,sequential:"blues",diverging:"RdBu",background:"#ffffff",surface:"#ffffff",text:"#000000",textSecondary:"#333333",grid:"#999999",border:"#000000",focus:"#0000cc",selection:"#0000cc",selectionOpacity:.1,success:"#006400",danger:"#cc0000",warning:"#b15a00",error:"#8b0000",info:"#0000cc"},typography:{fontFamily:"system-ui, sans-serif",titleSize:18,labelSize:14,tickSize:12},tooltip:{background:"#000000",text:"#ffffff",borderRadius:"4px",fontSize:"14px",shadow:"0 2px 8px rgba(0, 0, 0, 0.3)"},borderRadius:"4px"};function i(o,i){if("light"===i)return a;if("dark"===i)return r;if("high-contrast"===i)return t;if("string"==typeof i)return void 0!==console&&console.warn(`[ThemeStore] Unknown theme preset "${i}". Keeping current theme.`),o;if(i.mode&&"auto"!==i.mode){const o="dark"===i.mode?r:a;return e(Object.assign(Object.assign(Object.assign({},o),i),{colors:Object.assign(Object.assign({},o.colors),i.colors||{}),typography:Object.assign(Object.assign({},o.typography),i.typography||{})}))}return e(Object.assign(Object.assign(Object.assign({},o),i),{colors:Object.assign(Object.assign({},o.colors),i.colors||{}),typography:Object.assign(Object.assign({},o.typography),i.typography||{})}))}!function(e,o){const a=new EventTarget;let r=Object.assign(Object.assign({},e(function(e){r=Object.assign(Object.assign({},r),e(r)),a.dispatchEvent(new Event("update"))})),null!=o?o:{})}(e=>({theme:a,setTheme(o){e(e=>({theme:i(e.theme,o)}))}}));const s={mode:"light",colors:{primary:"#c9a0dc",secondary:"#b8a8c8",categorical:["#f0a0c0","#88d4ab","#b0a0e8","#f0c888"],sequential:"purples",background:"#fdf6f0",surface:"#fff5ee",text:"#4a3728",textSecondary:"#8b7355",grid:"#e8d5c4",border:"#e8d5c4",focus:"#c9a0dc",annotation:"#c9a0dc",success:"#9ad4a3",danger:"#e8869a",warning:"#f0c888",error:"#c86070",info:"#9cb8e0"},typography:{fontFamily:"Inter, system-ui, sans-serif",titleSize:16,labelSize:12,tickSize:10},tooltip:{background:"#fff5ee",text:"#4a3728",borderRadius:"8px",shadow:"0 2px 8px rgba(0, 0, 0, 0.12)"},borderRadius:"10px"},c={mode:"dark",colors:{primary:"#c9a0dc",secondary:"#a899c0",categorical:["#f0a0c0","#88d4ab","#b0a0e8","#f0c888"],sequential:"purples",background:"#1a1525",surface:"#251e35",text:"#e8ddf0",textSecondary:"#a899c0",grid:"#3d3455",border:"#3d3455",focus:"#c9a0dc",annotation:"#c9a0dc",success:"#88d4ab",danger:"#f0a0c0",warning:"#f0c888",error:"#e87690",info:"#9cb8e0"},typography:{fontFamily:"Inter, system-ui, sans-serif",titleSize:16,labelSize:12,tickSize:10},tooltip:{background:"#251e35",text:"#e8ddf0",borderRadius:"8px",shadow:"0 4px 12px rgba(0, 0, 0, 0.4)"},borderRadius:"10px"},n={mode:"light",colors:{primary:"#2563eb",secondary:"#6b7280",categorical:["#2563eb","#0d9488","#ea580c","#6b7280"],sequential:"blues",background:"#f5f6f8",surface:"#ffffff",text:"#2c3e50",textSecondary:"#7f8c9b",grid:"#d8dce3",border:"#d8dce3",focus:"#2563eb",annotation:"#2563eb",success:"#10b981",danger:"#ef4444",warning:"#f59e0b",error:"#dc2626",info:"#2563eb"},typography:{fontFamily:"'Segoe UI', -apple-system, BlinkMacSystemFont, sans-serif",titleSize:16,labelSize:12,tickSize:10},tooltip:{background:"#ffffff",text:"#2c3e50",borderRadius:"6px",shadow:"0 2px 8px rgba(0, 0, 0, 0.12)"},borderRadius:"8px"},d={mode:"dark",colors:{primary:"#3b82f6",secondary:"#9ca3af",categorical:["#3b82f6","#14b8a6","#f97316","#9ca3af"],sequential:"blues",background:"#111827",surface:"#1f2937",text:"#f3f4f6",textSecondary:"#9ca3af",grid:"#374151",border:"#374151",focus:"#3b82f6",annotation:"#3b82f6",success:"#34d399",danger:"#f87171",warning:"#fbbf24",error:"#ef4444",info:"#60a5fa"},typography:{fontFamily:"'Segoe UI', -apple-system, BlinkMacSystemFont, sans-serif",titleSize:16,labelSize:12,tickSize:10},tooltip:{background:"#1f2937",text:"#f3f4f6",borderRadius:"6px",shadow:"0 4px 12px rgba(0, 0, 0, 0.4)"},borderRadius:"8px"},l={mode:"light",colors:{primary:"#cc0000",secondary:"#666666",categorical:["#cc0000","#333333","#c8a415","#4682b4"],sequential:"reds",background:"#fafafa",surface:"#ffffff",text:"#1a1a1a",textSecondary:"#666666",grid:"#e0e0e0",border:"#e0e0e0",focus:"#cc0000",annotation:"#cc0000",success:"#556b2f",danger:"#cc0000",warning:"#c8a415",error:"#8b0000",info:"#4682b4"},typography:{fontFamily:"'Helvetica Neue', Helvetica, Arial, sans-serif",titleSize:16,labelSize:12,tickSize:10},tooltip:{background:"#ffffff",text:"#1a1a1a",borderRadius:"2px",shadow:"0 2px 4px rgba(0, 0, 0, 0.15)"},borderRadius:"2px"},f={mode:"dark",colors:{primary:"#ff3333",secondary:"#aaaaaa",categorical:["#ff3333","#aaaaaa","#d4a843","#6aa4d4"],sequential:"reds",background:"#0a0a0a",surface:"#1a1a1a",text:"#f5f5f5",textSecondary:"#aaaaaa",grid:"#333333",border:"#333333",focus:"#ff3333",annotation:"#ff3333",success:"#7a8b5a",danger:"#ff3333",warning:"#d4a843",error:"#cc0000",info:"#6aa4d4"},typography:{fontFamily:"'Helvetica Neue', Helvetica, Arial, sans-serif",titleSize:16,labelSize:12,tickSize:10},tooltip:{background:"#1a1a1a",text:"#f5f5f5",borderRadius:"2px",shadow:"0 2px 8px rgba(0, 0, 0, 0.5)"},borderRadius:"2px"},p={mode:"light",colors:{primary:"#8b0000",secondary:"#555555",categorical:["#8b4513","#556b2f","#4a5568","#800020"],sequential:"oranges",background:"#fffff8",surface:"#fffff8",text:"#111111",textSecondary:"#555555",grid:"#e0ddd0",border:"#e0ddd0",focus:"#8b0000",annotation:"#8b0000",success:"#556b2f",danger:"#8b0000",warning:"#b88700",error:"#6b0000",info:"#4a5568"},typography:{fontFamily:"Georgia, 'Times New Roman', serif",titleSize:16,labelSize:12,tickSize:10,tickFontFamily:"'Courier New', Courier, monospace",legendSize:11},tooltip:{background:"#fffff8",text:"#111111",borderRadius:"2px",shadow:"0 1px 3px rgba(0, 0, 0, 0.1)"},borderRadius:"0px"},u={mode:"dark",colors:{primary:"#c05050",secondary:"#a09880",categorical:["#c08050","#7a8b5a","#8090a0","#a05060"],sequential:"oranges",background:"#1c1b18",surface:"#262520",text:"#e8e4d8",textSecondary:"#a09880",grid:"#3d3c35",border:"#3d3c35",focus:"#c05050",annotation:"#c05050",success:"#7a8b5a",danger:"#c05050",warning:"#c8a060",error:"#a04040",info:"#8090a0"},typography:{fontFamily:"Georgia, 'Times New Roman', serif",titleSize:16,labelSize:12,tickSize:10},tooltip:{background:"#262520",text:"#e8e4d8",borderRadius:"2px",shadow:"0 2px 6px rgba(0, 0, 0, 0.4)"},borderRadius:"0px"},b={mode:"light",colors:{primary:"#e45050",secondary:"#666666",categorical:["#3a86c8","#e45050","#d4a843","#888888"],sequential:"blues",background:"#ffffff",surface:"#f8f8f8",text:"#222222",textSecondary:"#666666",grid:"#d4d4d4",border:"#d4d4d4",focus:"#e45050",annotation:"#e45050",success:"#2d7a3d",danger:"#c8303a",warning:"#d4a843",error:"#a02028",info:"#3a86c8"},typography:{fontFamily:"'Franklin Gothic Medium', 'Libre Franklin', Arial, sans-serif",titleSize:18,labelSize:12,tickSize:10,tickFontFamily:"'Courier New', Courier, monospace",legendSize:11},tooltip:{background:"#f8f8f8",text:"#222222",borderRadius:"4px",shadow:"0 2px 6px rgba(0, 0, 0, 0.12)"},borderRadius:"4px"},g={mode:"dark",colors:{primary:"#ff6b6b",secondary:"#a0a0a0",categorical:["#5a9fd8","#ff6b6b","#e0c060","#aaaaaa"],sequential:"blues",background:"#141414",surface:"#1e1e1e",text:"#ededed",textSecondary:"#a0a0a0",grid:"#383838",border:"#383838",focus:"#ff6b6b",annotation:"#ff6b6b",success:"#6fba78",danger:"#ff6b6b",warning:"#e0c060",error:"#d04040",info:"#5a9fd8"},typography:{fontFamily:"'Franklin Gothic Medium', 'Libre Franklin', Arial, sans-serif",titleSize:16,labelSize:12,tickSize:10},tooltip:{background:"#1e1e1e",text:"#ededed",borderRadius:"4px",shadow:"0 4px 12px rgba(0, 0, 0, 0.4)"},borderRadius:"4px"},y={mode:"light",colors:{primary:"#8b5cf6",secondary:"#7c5a9e",categorical:["#8b5cf6","#ec4899","#06b6d4","#84cc16"],sequential:"viridis",background:"#fdf8ff",surface:"#ffffff",text:"#2d1b4e",textSecondary:"#7c5a9e",grid:"#e8d0f8",border:"#e8d0f8",focus:"#8b5cf6",annotation:"#8b5cf6",success:"#10d870",danger:"#ff4b6e",warning:"#ffaa33",error:"#e11d48",info:"#06b6d4"},typography:{fontFamily:"'Nunito', 'Poppins', system-ui, sans-serif",titleSize:16,labelSize:12,tickSize:10},tooltip:{background:"#ffffff",text:"#2d1b4e",borderRadius:"12px",shadow:"0 4px 12px rgba(139, 92, 246, 0.15)"},borderRadius:"12px"},x={mode:"dark",colors:{primary:"#a78bfa",secondary:"#b8a0d8",categorical:["#a78bfa","#f472b6","#22d3ee","#a3e635"],sequential:"viridis",background:"#150a28",surface:"#1f1138",text:"#f0e8ff",textSecondary:"#b8a0d8",grid:"#3a2560",border:"#3a2560",focus:"#a78bfa",annotation:"#a78bfa",success:"#4ade80",danger:"#fb7185",warning:"#fbbf24",error:"#f43f5e",info:"#22d3ee"},typography:{fontFamily:"'Nunito', 'Poppins', system-ui, sans-serif",titleSize:16,labelSize:12,tickSize:10},tooltip:{background:"#1f1138",text:"#f0e8ff",borderRadius:"12px",shadow:"0 4px 12px rgba(0, 0, 0, 0.4)"},borderRadius:"12px"},m={mode:"light",colors:{primary:"#0f62fe",secondary:"#525252",categorical:["#6929c4","#1192e8","#005d5d","#9f1853"],sequential:"blues",diverging:"RdBu",background:"#ffffff",surface:"#ffffff",text:"#161616",textSecondary:"#525252",grid:"#e0e0e0",border:"#e0e0e0",focus:"#0f62fe",annotation:"#0f62fe",success:"#24a148",danger:"#da1e28",warning:"#f1c21b",error:"#a2191f",info:"#0043ce"},typography:{fontFamily:"'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif",titleSize:16,labelSize:12,tickSize:10},tooltip:{background:"#ffffff",text:"#161616",borderRadius:"2px",shadow:"0 2px 6px rgba(0, 0, 0, 0.2)"},borderRadius:"0px"},h={mode:"dark",colors:{primary:"#4589ff",secondary:"#a8a8a8",categorical:["#a56eff","#33b1ff","#08bdba","#ff7eb6"],sequential:"blues",diverging:"RdBu",background:"#161616",surface:"#262626",text:"#f4f4f4",textSecondary:"#a8a8a8",grid:"#393939",border:"#393939",focus:"#4589ff",annotation:"#4589ff",success:"#42be65",danger:"#fa4d56",warning:"#f1c21b",error:"#da1e28",info:"#4589ff"},typography:{fontFamily:"'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif",titleSize:16,labelSize:12,tickSize:10},tooltip:{background:"#262626",text:"#f4f4f4",borderRadius:"2px",shadow:"0 4px 12px rgba(0, 0, 0, 0.5)"},borderRadius:"0px"},S={light:a,dark:r,"high-contrast":t,pastels:s,"pastels-dark":c,"bi-tool":n,"bi-tool-dark":d,italian:l,"italian-dark":f,tufte:p,"tufte-dark":u,journalist:b,"journalist-dark":g,playful:y,"playful-dark":x,carbon:m,"carbon-dark":h};exports.BI_TOOL_DARK=d,exports.BI_TOOL_LIGHT=n,exports.CARBON_ALERT={danger:"#da1e28",warning:"#f1c21b",success:"#24a148",info:"#0043ce"},exports.CARBON_CATEGORICAL_14=["#6929c4","#1192e8","#005d5d","#9f1853","#fa4d56","#570408","#198038","#002d9c","#ee538b","#b28600","#009d9a","#012749","#8a3800","#a56eff"],exports.CARBON_DARK=h,exports.CARBON_LIGHT=m,exports.COLOR_BLIND_SAFE_CATEGORICAL=o,exports.DARK_THEME=r,exports.HIGH_CONTRAST_THEME=t,exports.ITALIAN_DARK=f,exports.ITALIAN_LIGHT=l,exports.JOURNALIST_DARK=g,exports.JOURNALIST_LIGHT=b,exports.LIGHT_THEME=a,exports.PASTELS_DARK=c,exports.PASTELS_LIGHT=s,exports.PLAYFUL_DARK=x,exports.PLAYFUL_LIGHT=y,exports.THEME_PRESETS=S,exports.TUFTE_DARK=u,exports.TUFTE_LIGHT=p,exports.resolveThemePreset=function(e){return S[e]},exports.themeToCSS=function(e,o=":root"){var a,r,t,i,s;const c=[];return c.push(` --semiotic-bg: ${e.colors.background};`),c.push(` --semiotic-text: ${e.colors.text};`),c.push(` --semiotic-text-secondary: ${e.colors.textSecondary};`),c.push(` --semiotic-grid: ${e.colors.grid};`),c.push(` --semiotic-border: ${e.colors.border};`),c.push(` --semiotic-primary: ${e.colors.primary};`),c.push(` --semiotic-font-family: ${e.typography.fontFamily};`),e.colors.focus&&c.push(` --semiotic-focus: ${e.colors.focus};`),e.colors.selection&&c.push(` --semiotic-selection-color: ${e.colors.selection};`),null!=e.colors.selectionOpacity&&c.push(` --semiotic-selection-opacity: ${e.colors.selectionOpacity};`),e.colors.diverging&&c.push(` --semiotic-diverging: ${e.colors.diverging};`),(null===(a=e.tooltip)||void 0===a?void 0:a.background)&&c.push(` --semiotic-tooltip-bg: ${e.tooltip.background};`),(null===(r=e.tooltip)||void 0===r?void 0:r.text)&&c.push(` --semiotic-tooltip-text: ${e.tooltip.text};`),(null===(t=e.tooltip)||void 0===t?void 0:t.borderRadius)&&c.push(` --semiotic-tooltip-radius: ${e.tooltip.borderRadius};`),(null===(i=e.tooltip)||void 0===i?void 0:i.fontSize)&&c.push(` --semiotic-tooltip-font-size: ${e.tooltip.fontSize};`),(null===(s=e.tooltip)||void 0===s?void 0:s.shadow)&&c.push(` --semiotic-tooltip-shadow: ${e.tooltip.shadow};`),e.borderRadius&&c.push(` --semiotic-border-radius: ${e.borderRadius};`),e.colors.annotation&&c.push(` --semiotic-annotation-color: ${e.colors.annotation};`),null!=e.typography.legendSize&&c.push(` --semiotic-legend-font-size: ${e.typography.legendSize}px;`),null!=e.typography.titleFontSize&&c.push(` --semiotic-title-font-size: ${e.typography.titleFontSize}px;`),null!=e.typography.tickFontFamily&&c.push(` --semiotic-tick-font-family: ${e.typography.tickFontFamily};`),c.push(` --semiotic-secondary: ${e.colors.secondary||e.colors.primary};`),c.push(` --semiotic-surface: ${e.colors.surface||e.colors.background};`),e.colors.success&&c.push(` --semiotic-success: ${e.colors.success};`),e.colors.danger&&c.push(` --semiotic-danger: ${e.colors.danger};`),e.colors.warning&&c.push(` --semiotic-warning: ${e.colors.warning};`),e.colors.error&&c.push(` --semiotic-error: ${e.colors.error};`),e.colors.info&&c.push(` --semiotic-info: ${e.colors.info};`),`${o} {\n${c.join("\n")}\n}`},exports.themeToTokens=function(e){var o,a,r,t,i,s;return{semiotic:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({bg:{$value:e.colors.background,$type:"color"},text:{$value:e.colors.text,$type:"color"},"text-secondary":{$value:e.colors.textSecondary,$type:"color"},grid:{$value:e.colors.grid,$type:"color"},border:{$value:e.colors.border,$type:"color"},primary:{$value:e.colors.primary,$type:"color"},focus:{$value:e.colors.focus||e.colors.primary,$type:"color"},"font-family":{$value:e.typography.fontFamily,$type:"fontFamily"},"border-radius":{$value:e.borderRadius||"8px",$type:"dimension"},tooltip:{bg:{$value:(null===(o=e.tooltip)||void 0===o?void 0:o.background)||e.colors.background,$type:"color"},text:{$value:(null===(a=e.tooltip)||void 0===a?void 0:a.text)||e.colors.text,$type:"color"},radius:{$value:(null===(r=e.tooltip)||void 0===r?void 0:r.borderRadius)||"6px",$type:"dimension"},"font-size":{$value:(null===(t=e.tooltip)||void 0===t?void 0:t.fontSize)||"14px",$type:"dimension"},shadow:{$value:(null===(i=e.tooltip)||void 0===i?void 0:i.shadow)||"0 2px 8px rgba(0,0,0,0.15)",$type:"shadow"}},selection:{color:{$value:e.colors.selection||e.colors.primary,$type:"color"},opacity:{$value:null!==(s=e.colors.selectionOpacity)&&void 0!==s?s:.2,$type:"number"}},categorical:{$value:e.colors.categorical,$type:"color",$description:"Categorical color palette"},sequential:{$value:e.colors.sequential,$type:"string",$description:"d3-scale-chromatic sequential scheme name"}},e.colors.diverging?{diverging:{$value:e.colors.diverging,$type:"string",$description:"d3-scale-chromatic diverging scheme name"}}:{}),e.colors.annotation?{"annotation-color":{$value:e.colors.annotation,$type:"color"}}:{}),null!=e.typography.legendSize?{"legend-font-size":{$value:e.typography.legendSize+"px",$type:"dimension"}}:{}),null!=e.typography.titleFontSize?{"title-font-size":{$value:e.typography.titleFontSize+"px",$type:"dimension"}}:{}),null!=e.typography.tickFontFamily?{"tick-font-family":{$value:e.typography.tickFontFamily,$type:"fontFamily"}}:{}),{secondary:{$value:e.colors.secondary||e.colors.primary,$type:"color"},surface:{$value:e.colors.surface||e.colors.background,$type:"color"}}),e.colors.success?{success:{$value:e.colors.success,$type:"color"}}:{}),e.colors.danger?{danger:{$value:e.colors.danger,$type:"color"}}:{}),e.colors.warning?{warning:{$value:e.colors.warning,$type:"color"}}:{}),e.colors.error?{error:{$value:e.colors.error,$type:"color"}}:{}),e.colors.info?{info:{$value:e.colors.info,$type:"color"}}:{})}};
|
|
2
|
+
"use strict";require("react/jsx-runtime");require("react");function e(e){if(!e.accessibility)return e;let a=e;if(e.accessibility.colorBlindSafe&&(a=Object.assign(Object.assign({},a),{colors:Object.assign(Object.assign({},a.colors),{categorical:o})})),e.accessibility.highContrast){const e="dark"===a.mode;a=Object.assign(Object.assign({},a),{colors:Object.assign(Object.assign({},a.colors),{text:e?"#ffffff":"#000000",textSecondary:e?"#cccccc":"#333333",grid:e?"#666666":"#999999",border:e?"#888888":"#000000"})})}return a}const o=["#0072B2","#E69F00","#009E73","#CC79A7","#56B4E9","#D55E00","#F0E442","#000000"],a={mode:"light",colors:{primary:"#00a2ce",secondary:"#6c757d",categorical:["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"],sequential:"blues",diverging:"RdBu",background:"transparent",surface:"#ffffff",text:"#333",textSecondary:"#666",grid:"#e0e0e0",border:"#ccc",selection:"#00a2ce",selectionOpacity:.15,success:"#2ca02c",danger:"#d62728",warning:"#f0ad4e",error:"#b4181b",info:"#00a2ce"},typography:{fontFamily:"sans-serif",titleSize:16,labelSize:12,tickSize:10}},r={mode:"dark",colors:{primary:"#4fc3f7",secondary:"#90a4ae",categorical:["#4fc3f7","#ffb74d","#81c784","#ef5350","#ba68c8","#a1887f","#f06292","#90a4ae","#dce775","#4dd0e1"],sequential:"blues",diverging:"RdBu",background:"#1a1a2e",surface:"#252540",text:"#e0e0e0",textSecondary:"#aaa",grid:"#333",border:"#555",selection:"#4fc3f7",selectionOpacity:.15,success:"#81c784",danger:"#ef5350",warning:"#ffb74d",error:"#d84848",info:"#4fc3f7"},typography:{fontFamily:"sans-serif",titleSize:16,labelSize:12,tickSize:10}},t={mode:"light",colors:{primary:"#0000cc",secondary:"#333333",categorical:o,sequential:"blues",diverging:"RdBu",background:"#ffffff",surface:"#ffffff",text:"#000000",textSecondary:"#333333",grid:"#999999",border:"#000000",focus:"#0000cc",selection:"#0000cc",selectionOpacity:.1,success:"#006400",danger:"#cc0000",warning:"#b15a00",error:"#8b0000",info:"#0000cc"},typography:{fontFamily:"system-ui, sans-serif",titleSize:18,labelSize:14,tickSize:12},tooltip:{background:"#000000",text:"#ffffff",borderRadius:"4px",fontSize:"14px",shadow:"0 2px 8px rgba(0, 0, 0, 0.3)"},borderRadius:"4px"};function i(o,i){if("light"===i)return a;if("dark"===i)return r;if("high-contrast"===i)return t;if("string"==typeof i)return void 0!==console&&console.warn(`[ThemeStore] Unknown theme preset "${i}". Keeping current theme.`),o;if(i.mode&&"auto"!==i.mode){const o="dark"===i.mode?r:a;return e(Object.assign(Object.assign(Object.assign({},o),i),{colors:Object.assign(Object.assign({},o.colors),i.colors||{}),typography:Object.assign(Object.assign({},o.typography),i.typography||{})}))}return e(Object.assign(Object.assign(Object.assign({},o),i),{colors:Object.assign(Object.assign({},o.colors),i.colors||{}),typography:Object.assign(Object.assign({},o.typography),i.typography||{})}))}!function(e,o){const a=new EventTarget;let r=Object.assign(Object.assign({},e(function(e){r=Object.assign(Object.assign({},r),e(r)),a.dispatchEvent(new Event("update"))})),null!=o?o:{})}(e=>({theme:a,setTheme(o){e(e=>({theme:i(e.theme,o)}))}}));const s={mode:"light",colors:{primary:"#c9a0dc",secondary:"#b8a8c8",categorical:["#f0a0c0","#88d4ab","#b0a0e8","#f0c888"],sequential:"purples",background:"#fdf6f0",surface:"#fff5ee",text:"#4a3728",textSecondary:"#8b7355",grid:"#e8d5c4",border:"#e8d5c4",focus:"#c9a0dc",annotation:"#c9a0dc",success:"#9ad4a3",danger:"#e8869a",warning:"#f0c888",error:"#c86070",info:"#9cb8e0"},typography:{fontFamily:"Inter, system-ui, sans-serif",titleSize:16,labelSize:12,tickSize:10},tooltip:{background:"#fff5ee",text:"#4a3728",borderRadius:"8px",shadow:"0 2px 8px rgba(0, 0, 0, 0.12)"},borderRadius:"10px"},c={mode:"dark",colors:{primary:"#c9a0dc",secondary:"#a899c0",categorical:["#f0a0c0","#88d4ab","#b0a0e8","#f0c888"],sequential:"purples",background:"#1a1525",surface:"#251e35",text:"#e8ddf0",textSecondary:"#a899c0",grid:"#3d3455",border:"#3d3455",focus:"#c9a0dc",annotation:"#c9a0dc",success:"#88d4ab",danger:"#f0a0c0",warning:"#f0c888",error:"#e87690",info:"#9cb8e0"},typography:{fontFamily:"Inter, system-ui, sans-serif",titleSize:16,labelSize:12,tickSize:10},tooltip:{background:"#251e35",text:"#e8ddf0",borderRadius:"8px",shadow:"0 4px 12px rgba(0, 0, 0, 0.4)"},borderRadius:"10px"},n={mode:"light",colors:{primary:"#2563eb",secondary:"#6b7280",categorical:["#2563eb","#0d9488","#ea580c","#6b7280"],sequential:"blues",background:"#f5f6f8",surface:"#ffffff",text:"#2c3e50",textSecondary:"#7f8c9b",grid:"#d8dce3",border:"#d8dce3",focus:"#2563eb",annotation:"#2563eb",success:"#10b981",danger:"#ef4444",warning:"#f59e0b",error:"#dc2626",info:"#2563eb"},typography:{fontFamily:"'Segoe UI', -apple-system, BlinkMacSystemFont, sans-serif",titleSize:16,labelSize:12,tickSize:10},tooltip:{background:"#ffffff",text:"#2c3e50",borderRadius:"6px",shadow:"0 2px 8px rgba(0, 0, 0, 0.12)"},borderRadius:"8px"},l={mode:"dark",colors:{primary:"#3b82f6",secondary:"#9ca3af",categorical:["#3b82f6","#14b8a6","#f97316","#9ca3af"],sequential:"blues",background:"#111827",surface:"#1f2937",text:"#f3f4f6",textSecondary:"#9ca3af",grid:"#374151",border:"#374151",focus:"#3b82f6",annotation:"#3b82f6",success:"#34d399",danger:"#f87171",warning:"#fbbf24",error:"#ef4444",info:"#60a5fa"},typography:{fontFamily:"'Segoe UI', -apple-system, BlinkMacSystemFont, sans-serif",titleSize:16,labelSize:12,tickSize:10},tooltip:{background:"#1f2937",text:"#f3f4f6",borderRadius:"6px",shadow:"0 4px 12px rgba(0, 0, 0, 0.4)"},borderRadius:"8px"},d={mode:"light",colors:{primary:"#cc0000",secondary:"#666666",categorical:["#cc0000","#333333","#c8a415","#4682b4"],sequential:"reds",background:"#fafafa",surface:"#ffffff",text:"#1a1a1a",textSecondary:"#666666",grid:"#e0e0e0",border:"#e0e0e0",focus:"#cc0000",annotation:"#cc0000",success:"#556b2f",danger:"#cc0000",warning:"#c8a415",error:"#8b0000",info:"#4682b4"},typography:{fontFamily:"'Helvetica Neue', Helvetica, Arial, sans-serif",titleSize:16,labelSize:12,tickSize:10},tooltip:{background:"#ffffff",text:"#1a1a1a",borderRadius:"2px",shadow:"0 2px 4px rgba(0, 0, 0, 0.15)"},borderRadius:"2px"},f={mode:"dark",colors:{primary:"#ff3333",secondary:"#aaaaaa",categorical:["#ff3333","#aaaaaa","#d4a843","#6aa4d4"],sequential:"reds",background:"#0a0a0a",surface:"#1a1a1a",text:"#f5f5f5",textSecondary:"#aaaaaa",grid:"#333333",border:"#333333",focus:"#ff3333",annotation:"#ff3333",success:"#7a8b5a",danger:"#ff3333",warning:"#d4a843",error:"#cc0000",info:"#6aa4d4"},typography:{fontFamily:"'Helvetica Neue', Helvetica, Arial, sans-serif",titleSize:16,labelSize:12,tickSize:10},tooltip:{background:"#1a1a1a",text:"#f5f5f5",borderRadius:"2px",shadow:"0 2px 8px rgba(0, 0, 0, 0.5)"},borderRadius:"2px"},p={mode:"light",colors:{primary:"#8b0000",secondary:"#555555",categorical:["#8b4513","#556b2f","#4a5568","#800020"],sequential:"oranges",background:"#fffff8",surface:"#fffff8",text:"#111111",textSecondary:"#555555",grid:"#e0ddd0",border:"#e0ddd0",focus:"#8b0000",annotation:"#8b0000",success:"#556b2f",danger:"#8b0000",warning:"#b88700",error:"#6b0000",info:"#4a5568"},typography:{fontFamily:"Georgia, 'Times New Roman', serif",titleSize:16,labelSize:12,tickSize:10,tickFontFamily:"'Courier New', Courier, monospace",legendSize:11},tooltip:{background:"#fffff8",text:"#111111",borderRadius:"2px",shadow:"0 1px 3px rgba(0, 0, 0, 0.1)"},borderRadius:"0px"},u={mode:"dark",colors:{primary:"#c05050",secondary:"#a09880",categorical:["#c08050","#7a8b5a","#8090a0","#a05060"],sequential:"oranges",background:"#1c1b18",surface:"#262520",text:"#e8e4d8",textSecondary:"#a09880",grid:"#3d3c35",border:"#3d3c35",focus:"#c05050",annotation:"#c05050",success:"#7a8b5a",danger:"#c05050",warning:"#c8a060",error:"#a04040",info:"#8090a0"},typography:{fontFamily:"Georgia, 'Times New Roman', serif",titleSize:16,labelSize:12,tickSize:10},tooltip:{background:"#262520",text:"#e8e4d8",borderRadius:"2px",shadow:"0 2px 6px rgba(0, 0, 0, 0.4)"},borderRadius:"0px"},b={mode:"light",colors:{primary:"#e45050",secondary:"#666666",categorical:["#3a86c8","#e45050","#d4a843","#888888"],sequential:"blues",background:"#ffffff",surface:"#f8f8f8",text:"#222222",textSecondary:"#666666",grid:"#d4d4d4",border:"#d4d4d4",focus:"#e45050",annotation:"#e45050",success:"#2d7a3d",danger:"#c8303a",warning:"#d4a843",error:"#a02028",info:"#3a86c8"},typography:{fontFamily:"'Franklin Gothic Medium', 'Libre Franklin', Arial, sans-serif",titleSize:18,labelSize:12,tickSize:10,tickFontFamily:"'Courier New', Courier, monospace",legendSize:11},tooltip:{background:"#f8f8f8",text:"#222222",borderRadius:"4px",shadow:"0 2px 6px rgba(0, 0, 0, 0.12)"},borderRadius:"4px"},g={mode:"dark",colors:{primary:"#ff6b6b",secondary:"#a0a0a0",categorical:["#5a9fd8","#ff6b6b","#e0c060","#aaaaaa"],sequential:"blues",background:"#141414",surface:"#1e1e1e",text:"#ededed",textSecondary:"#a0a0a0",grid:"#383838",border:"#383838",focus:"#ff6b6b",annotation:"#ff6b6b",success:"#6fba78",danger:"#ff6b6b",warning:"#e0c060",error:"#d04040",info:"#5a9fd8"},typography:{fontFamily:"'Franklin Gothic Medium', 'Libre Franklin', Arial, sans-serif",titleSize:16,labelSize:12,tickSize:10},tooltip:{background:"#1e1e1e",text:"#ededed",borderRadius:"4px",shadow:"0 4px 12px rgba(0, 0, 0, 0.4)"},borderRadius:"4px"},y={mode:"light",colors:{primary:"#8b5cf6",secondary:"#7c5a9e",categorical:["#8b5cf6","#ec4899","#06b6d4","#84cc16"],sequential:"viridis",background:"#fdf8ff",surface:"#ffffff",text:"#2d1b4e",textSecondary:"#7c5a9e",grid:"#e8d0f8",border:"#e8d0f8",focus:"#8b5cf6",annotation:"#8b5cf6",success:"#10d870",danger:"#ff4b6e",warning:"#ffaa33",error:"#e11d48",info:"#06b6d4"},typography:{fontFamily:"'Nunito', 'Poppins', system-ui, sans-serif",titleSize:16,labelSize:12,tickSize:10},tooltip:{background:"#ffffff",text:"#2d1b4e",borderRadius:"12px",shadow:"0 4px 12px rgba(139, 92, 246, 0.15)"},borderRadius:"12px"},x={mode:"dark",colors:{primary:"#a78bfa",secondary:"#b8a0d8",categorical:["#a78bfa","#f472b6","#22d3ee","#a3e635"],sequential:"viridis",background:"#150a28",surface:"#1f1138",text:"#f0e8ff",textSecondary:"#b8a0d8",grid:"#3a2560",border:"#3a2560",focus:"#a78bfa",annotation:"#a78bfa",success:"#4ade80",danger:"#fb7185",warning:"#fbbf24",error:"#f43f5e",info:"#22d3ee"},typography:{fontFamily:"'Nunito', 'Poppins', system-ui, sans-serif",titleSize:16,labelSize:12,tickSize:10},tooltip:{background:"#1f1138",text:"#f0e8ff",borderRadius:"12px",shadow:"0 4px 12px rgba(0, 0, 0, 0.4)"},borderRadius:"12px"},m={mode:"light",colors:{primary:"#0f62fe",secondary:"#525252",categorical:["#6929c4","#1192e8","#005d5d","#9f1853"],sequential:"blues",diverging:"RdBu",background:"#ffffff",surface:"#ffffff",text:"#161616",textSecondary:"#525252",grid:"#e0e0e0",border:"#e0e0e0",focus:"#0f62fe",annotation:"#0f62fe",success:"#24a148",danger:"#da1e28",warning:"#f1c21b",error:"#a2191f",info:"#0043ce"},typography:{fontFamily:"'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif",titleSize:16,labelSize:12,tickSize:10},tooltip:{background:"#ffffff",text:"#161616",borderRadius:"2px",shadow:"0 2px 6px rgba(0, 0, 0, 0.2)"},borderRadius:"0px"},h={mode:"dark",colors:{primary:"#4589ff",secondary:"#a8a8a8",categorical:["#a56eff","#33b1ff","#08bdba","#ff7eb6"],sequential:"blues",diverging:"RdBu",background:"#161616",surface:"#262626",text:"#f4f4f4",textSecondary:"#a8a8a8",grid:"#393939",border:"#393939",focus:"#4589ff",annotation:"#4589ff",success:"#42be65",danger:"#fa4d56",warning:"#f1c21b",error:"#da1e28",info:"#4589ff"},typography:{fontFamily:"'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif",titleSize:16,labelSize:12,tickSize:10},tooltip:{background:"#262626",text:"#f4f4f4",borderRadius:"2px",shadow:"0 4px 12px rgba(0, 0, 0, 0.5)"},borderRadius:"0px"},S={light:a,dark:r,"high-contrast":t,pastels:s,"pastels-dark":c,"bi-tool":n,"bi-tool-dark":l,italian:d,"italian-dark":f,tufte:p,"tufte-dark":u,journalist:b,"journalist-dark":g,playful:y,"playful-dark":x,carbon:m,"carbon-dark":h};exports.BI_TOOL_DARK=l,exports.BI_TOOL_LIGHT=n,exports.CARBON_ALERT={danger:"#da1e28",warning:"#f1c21b",success:"#24a148",info:"#0043ce"},exports.CARBON_CATEGORICAL_14=["#6929c4","#1192e8","#005d5d","#9f1853","#fa4d56","#570408","#198038","#002d9c","#ee538b","#b28600","#009d9a","#012749","#8a3800","#a56eff"],exports.CARBON_DARK=h,exports.CARBON_LIGHT=m,exports.COLOR_BLIND_SAFE_CATEGORICAL=o,exports.DARK_THEME=r,exports.HIGH_CONTRAST_THEME=t,exports.ITALIAN_DARK=f,exports.ITALIAN_LIGHT=d,exports.JOURNALIST_DARK=g,exports.JOURNALIST_LIGHT=b,exports.LIGHT_THEME=a,exports.PASTELS_DARK=c,exports.PASTELS_LIGHT=s,exports.PLAYFUL_DARK=x,exports.PLAYFUL_LIGHT=y,exports.THEME_PRESETS=S,exports.TUFTE_DARK=u,exports.TUFTE_LIGHT=p,exports.resolveThemePreset=function(e){return S[e]},exports.themeToCSS=function(e,o=":root"){var a,r,t,i,s;const c=[];return c.push(` --semiotic-bg: ${e.colors.background};`),c.push(` --semiotic-text: ${e.colors.text};`),c.push(` --semiotic-text-secondary: ${e.colors.textSecondary};`),c.push(` --semiotic-grid: ${e.colors.grid};`),c.push(` --semiotic-border: ${e.colors.border};`),c.push(` --semiotic-primary: ${e.colors.primary};`),c.push(` --semiotic-font-family: ${e.typography.fontFamily};`),e.colors.focus&&c.push(` --semiotic-focus: ${e.colors.focus};`),e.colors.selection&&c.push(` --semiotic-selection-color: ${e.colors.selection};`),null!=e.colors.selectionOpacity&&c.push(` --semiotic-selection-opacity: ${e.colors.selectionOpacity};`),e.colors.diverging&&c.push(` --semiotic-diverging: ${e.colors.diverging};`),(null===(a=e.tooltip)||void 0===a?void 0:a.background)&&c.push(` --semiotic-tooltip-bg: ${e.tooltip.background};`),(null===(r=e.tooltip)||void 0===r?void 0:r.text)&&c.push(` --semiotic-tooltip-text: ${e.tooltip.text};`),(null===(t=e.tooltip)||void 0===t?void 0:t.borderRadius)&&c.push(` --semiotic-tooltip-radius: ${e.tooltip.borderRadius};`),(null===(i=e.tooltip)||void 0===i?void 0:i.fontSize)&&c.push(` --semiotic-tooltip-font-size: ${e.tooltip.fontSize};`),(null===(s=e.tooltip)||void 0===s?void 0:s.shadow)&&c.push(` --semiotic-tooltip-shadow: ${e.tooltip.shadow};`),e.borderRadius&&c.push(` --semiotic-border-radius: ${e.borderRadius};`),e.colors.annotation&&c.push(` --semiotic-annotation-color: ${e.colors.annotation};`),null!=e.typography.legendSize&&c.push(` --semiotic-legend-font-size: ${e.typography.legendSize}px;`),null!=e.typography.titleFontSize&&c.push(` --semiotic-title-font-size: ${e.typography.titleFontSize}px;`),null!=e.typography.tickFontFamily&&c.push(` --semiotic-tick-font-family: ${e.typography.tickFontFamily};`),null!=e.typography.tickSize&&c.push(` --semiotic-tick-font-size: ${e.typography.tickSize}px;`),null!=e.typography.labelSize&&c.push(` --semiotic-axis-label-font-size: ${e.typography.labelSize}px;`),c.push(` --semiotic-secondary: ${e.colors.secondary||e.colors.primary};`),c.push(` --semiotic-surface: ${e.colors.surface||e.colors.background};`),e.colors.success&&c.push(` --semiotic-success: ${e.colors.success};`),e.colors.danger&&c.push(` --semiotic-danger: ${e.colors.danger};`),e.colors.warning&&c.push(` --semiotic-warning: ${e.colors.warning};`),e.colors.error&&c.push(` --semiotic-error: ${e.colors.error};`),e.colors.info&&c.push(` --semiotic-info: ${e.colors.info};`),`${o} {\n${c.join("\n")}\n}`},exports.themeToTokens=function(e){var o,a,r,t,i,s;return{semiotic:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({bg:{$value:e.colors.background,$type:"color"},text:{$value:e.colors.text,$type:"color"},"text-secondary":{$value:e.colors.textSecondary,$type:"color"},grid:{$value:e.colors.grid,$type:"color"},border:{$value:e.colors.border,$type:"color"},primary:{$value:e.colors.primary,$type:"color"},focus:{$value:e.colors.focus||e.colors.primary,$type:"color"},"font-family":{$value:e.typography.fontFamily,$type:"fontFamily"},"border-radius":{$value:e.borderRadius||"8px",$type:"dimension"},tooltip:{bg:{$value:(null===(o=e.tooltip)||void 0===o?void 0:o.background)||e.colors.background,$type:"color"},text:{$value:(null===(a=e.tooltip)||void 0===a?void 0:a.text)||e.colors.text,$type:"color"},radius:{$value:(null===(r=e.tooltip)||void 0===r?void 0:r.borderRadius)||"6px",$type:"dimension"},"font-size":{$value:(null===(t=e.tooltip)||void 0===t?void 0:t.fontSize)||"14px",$type:"dimension"},shadow:{$value:(null===(i=e.tooltip)||void 0===i?void 0:i.shadow)||"0 2px 8px rgba(0,0,0,0.15)",$type:"shadow"}},selection:{color:{$value:e.colors.selection||e.colors.primary,$type:"color"},opacity:{$value:null!==(s=e.colors.selectionOpacity)&&void 0!==s?s:.2,$type:"number"}},categorical:{$value:e.colors.categorical,$type:"color",$description:"Categorical color palette"},sequential:{$value:e.colors.sequential,$type:"string",$description:"d3-scale-chromatic sequential scheme name"}},e.colors.diverging?{diverging:{$value:e.colors.diverging,$type:"string",$description:"d3-scale-chromatic diverging scheme name"}}:{}),e.colors.annotation?{"annotation-color":{$value:e.colors.annotation,$type:"color"}}:{}),null!=e.typography.legendSize?{"legend-font-size":{$value:e.typography.legendSize+"px",$type:"dimension"}}:{}),null!=e.typography.titleFontSize?{"title-font-size":{$value:e.typography.titleFontSize+"px",$type:"dimension"}}:{}),null!=e.typography.tickFontFamily?{"tick-font-family":{$value:e.typography.tickFontFamily,$type:"fontFamily"}}:{}),null!=e.typography.tickSize?{"tick-font-size":{$value:e.typography.tickSize+"px",$type:"dimension"}}:{}),null!=e.typography.labelSize?{"axis-label-font-size":{$value:e.typography.labelSize+"px",$type:"dimension"}}:{}),{secondary:{$value:e.colors.secondary||e.colors.primary,$type:"color"},surface:{$value:e.colors.surface||e.colors.background,$type:"color"}}),e.colors.success?{success:{$value:e.colors.success,$type:"color"}}:{}),e.colors.danger?{danger:{$value:e.colors.danger,$type:"color"}}:{}),e.colors.warning?{warning:{$value:e.colors.warning,$type:"color"}}:{}),e.colors.error?{error:{$value:e.colors.error,$type:"color"}}:{}),e.colors.info?{info:{$value:e.colors.info,$type:"color"}}:{})}};
|