@foodpilot/foods 2.11.40 → 2.11.41
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.
|
@@ -36,5 +36,6 @@ export type PolymorphicChartProps = {
|
|
|
36
36
|
separator?: string;
|
|
37
37
|
aggregation?: AggregationOptions;
|
|
38
38
|
cumulativeDescriptions?: string[];
|
|
39
|
+
chartWidth?: number;
|
|
39
40
|
};
|
|
40
41
|
export declare const PolymorphicChart: (props: PolymorphicChartProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import{jsxs as e,jsx as t}from"react/jsx-runtime";import{useRef as r,useState as a,useMemo as o}from"react";import{useTheme as
|
|
2
|
-
return e(s,{direction:"bottom"===
|
|
3
|
-
/* @__PURE__ */e(s,{sx:"raw"===A?{minHeight:"100%"}:{flex:1},children:[
|
|
4
|
-
/* @__PURE__ */e(l,{position:"relative",margin:"raw"===A?0:"28px auto",sx:{"& *":{outline:"none"},".cell-hovered":{animation:`cell-hovered ${I} ease-in-out forwards`,transformOrigin:"center"},".cell-idle":{transform:"scale(1)",transformOrigin:"center",animation:`cell-idle ${I} ease-in-out forwards`},"@keyframes cell-hovered":{"0%":{transform:"scale(1)"},"100%":{transform:`scale(${1+G/100})`},"@keyframes cell-idle":{"0%":{transform:`scale(${1+G/100})`},"100%":{transform:"scale(1)"}}},height:"raw"===A?"100%":"inherit",width:"100%",pointerEvents:
|
|
5
|
-
/* @__PURE__ */t(b,{chartType:A,data:
|
|
1
|
+
import{jsxs as e,jsx as t}from"react/jsx-runtime";import{useRef as r,useState as a,useMemo as o}from"react";import{useTheme as i,useMediaQuery as n,Stack as s,Box as l,Skeleton as h}from"@mui/material";import{extractPaletteFromTheme as m,createPalette as c}from"../Legend/utils.js";import{prepareChartData as d,calculateSumValues as u,formatDisplayValue as p}from"../DoughnutChart/utils.js";import{useDoughnutChartInteractions as g}from"../DoughnutChart/useDoughnutChartInteractions.js";import{DoughnutChartContent as f}from"../DoughnutChart/DoughnutChartContent.js";import{PolymorphicChartRenderer as b}from"./PolymorphicChartRenderer.js";import v from"i18next";import{ToggleSwitch as y}from"../../ToggleSwitch/ToggleSwitch.js";import{Legend as w}from"../Legend/Legend.js";const x=2,L=0,C=2,T="900px",k=300,I="0.2s",N=["table","cumulative"],j=j=>{const F=i(),{chartType:A,values:E,labels:O,colors:D,legend:M,children:V,valuesUnit:S,className:H,valuesFormatterFn:W=F.numbers.valueFormatterFn,createPalette:$=!0,isLoading:P=!1,displayTotal:z=!0,fullWidthLegend:U=!1,displayTotalVariant:R="number-big",spacing:Y=x,borderWidth:q=L,borderColor:B,hoverOffset:G=C,icons:J,showTooltip:K=!0,width:Q=T,height:X=k,maxScore:Z,separator:_,aggregation:ee,cumulativeDescriptions:te,chartWidth:re}=j,{showAggregateToggle:ae=!1,aggregateToggleLabel:oe="",othersCategoryLabel:ie="",othersThresholdPercent:ne=1}=ee??{},se=r(null),le=r(null),he=!N.includes(A),me=v.language,ce=n(F.breakpoints.down("md")),de=m(F,100,700),ue=M?.position??"bottom",pe=M?{...M,mode:"raw"===A||void 0!==Z?"raw":M.mode}:void 0,[ge,fe]=a(!1),be="raw"!==A&&"table"!==A,{effValues:ve,effLabels:ye,keptIndices:we,hasOthers:xe}=o(()=>{const e=Array.isArray(E)?E:[],t=Array.isArray(O)?O:[];if(!be||!ae||!ge)return{effValues:e,effLabels:t,keptIndices:e.map((e,t)=>t),hasOthers:!1};const r=e.reduce((e,t)=>e+(Number.isFinite(t)?Number(t):0),0);if(r<=0)return{effValues:e,effLabels:t,keptIndices:e.map((e,t)=>t),hasOthers:!1};const a=Math.max(0,ne)/100,o=[],i=[];if(e.forEach((e,t)=>{Math.abs(Number(e))/r<a?o.push(t):i.push(t)}),o.length<2)return{effValues:e,effLabels:t,keptIndices:e.map((e,t)=>t),hasOthers:!1};const n=o.reduce((t,r)=>t+(Number(e[r])||0),0);return{effValues:[...i.map(t=>Number(e[t])||0),n],effLabels:[...i.map(e=>t[e]??""),ie],keptIndices:i,hasOthers:!0}},[be,ae,ge,E,O,ne,ie]),Le=o(()=>{if(!be)return 0;const e=Array.isArray(E)?E:[],t=e.reduce((e,t)=>e+(Number.isFinite(t)?Number(t):0),0);if(t<=0)return 0;const r=Math.max(0,ne)/100;let a=0;return e.forEach(e=>{Math.abs(Number(e))/t<r&&(a+=1)}),a},[be,E,ne]),Ce=D&&D.length?D:de;let Te=[];if(xe){const e=we.map(e=>Ce[e%Ce.length]);Te=[...e,F.custom.dataviz.extra[16].main]}else Te=$?c(Ce,ve):ve.map((e,t)=>Ce[t%Ce.length]);const ke=d(ve,ye,Te),Ie=u(E,z),Ne=p(V,z,Ie,W),{HoveredChartElementIndex:je,tooltipPos:Fe,handleLegendHover:Ae,handleMouseEnter:Ee,handleMouseOut:Oe}=g(ke,se),De="donut"===A,Me=!P&&K,Ve=0===ke.length&&!P;/* @__PURE__ */
|
|
2
|
+
return e(s,{direction:"bottom"===ue||ce?"column":"row",gap:"bottom"===ue?F.spacing(2):F.spacing(4),className:`polymorphic-chart polymorphic-chart-${A} ${H}`,ref:le,sx:{maxWidth:Q,width:"100%",minHeight:"100%"},children:[
|
|
3
|
+
/* @__PURE__ */e(s,{sx:"raw"===A?{minHeight:"100%"}:re?{width:re,minWidth:re,flexShrink:0}:{flex:1},children:[
|
|
4
|
+
/* @__PURE__ */e(l,{position:"relative",margin:"raw"===A?0:"28px auto",sx:{"& *":{outline:"none"},".cell-hovered":{animation:`cell-hovered ${I} ease-in-out forwards`,transformOrigin:"center"},".cell-idle":{transform:"scale(1)",transformOrigin:"center",animation:`cell-idle ${I} ease-in-out forwards`},"@keyframes cell-hovered":{"0%":{transform:"scale(1)"},"100%":{transform:`scale(${1+G/100})`},"@keyframes cell-idle":{"0%":{transform:`scale(${1+G/100})`},"100%":{transform:"scale(1)"}}},height:"raw"===A?"100%":"inherit",width:"100%",pointerEvents:P?"none":"auto"},className:"polymorphic-chart-wrapper",id:"polymorphic-chart-wrapper",ref:se,children:[
|
|
5
|
+
/* @__PURE__ */t(b,{chartType:A,data:ke,HoveredChartElementIndex:je,spacing:Y,borderWidth:q,borderColor:B,showTooltip:Me,tooltipPos:Fe,valuesFormatterFn:W,language:me,valuesUnit:S,icons:J,isLoading:P,height:X,onMouseEnter:Ee,onMouseLeave:Oe,onLegendAction:e=>{M?.actions?.[e]&&M.actions[e]?.()},maxScore:Z,separator:_,cumulativeDescriptions:te}),De&&!P&&/* @__PURE__ */t(f,{isLoading:P,isEmpty:Ve,displayValue:Ne,displayTotalVariant:R,valuesUnit:S,displayTotal:z})]}),be&&Le>=2&&ae&&!Ve&&/* @__PURE__ */t(l,{sx:{display:"flex",justifyContent:"center",width:"100%",zIndex:2,transform:"translateY(0%)",pointerEvents:"auto"},children:P?/* @__PURE__ */e(s,{direction:"row",alignItems:"center",justifyContent:"center",spacing:F.spacing(1.25),height:F.spacing(4.5),children:[
|
|
6
6
|
/* @__PURE__ */t(h,{variant:"rounded",width:36,height:26,animation:"pulse"}),
|
|
7
|
-
/* @__PURE__ */t(h,{width:150,height:24,animation:"pulse"})]}):/* @__PURE__ */t(y,{label:
|
|
8
|
-
/* @__PURE__ */t(l,{display:"flex",width:U?"100%":"inherit",sx:{width:U?"100%":"inherit",flex:1},children:
|
|
9
|
-
return t(w,{labels:a,hoveredDatasetIndex:
|
|
7
|
+
/* @__PURE__ */t(h,{width:150,height:24,animation:"pulse"})]}):/* @__PURE__ */t(y,{label:oe,checked:ge,onChange:e=>fe(e.target.checked),toggleSize:"small"})})]}),
|
|
8
|
+
/* @__PURE__ */t(l,{display:"flex",width:U?"100%":"inherit",sx:{width:U?"100%":"inherit",flex:1},children:pe&&he&&(()=>{const e=Array.from(ye.keys()),r=be&&ge?e.filter(e=>(ye[e]??"").trim().length>0):e,a=r.map(e=>ye[e]??""),o=r.map(e=>ve[e]??0),i=r.map(e=>Te[e]);/* @__PURE__ */
|
|
9
|
+
return t(w,{labels:a,hoveredDatasetIndex:je,onLegendHover:Ae,values:o,colors:i,legend:pe,isLoading:P,icons:J,chartRef:se,maxScore:Z,separator:_,threshold:ne,valuesFormatterFn:W})})()})]})};export{j as PolymorphicChart};
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@foodpilot/foods",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "2.11.
|
|
4
|
+
"version": "2.11.41",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/main.js",
|
|
7
7
|
"module": "./dist/main.js",
|
|
@@ -250,7 +250,7 @@
|
|
|
250
250
|
"@mui/material": "^6.5.0",
|
|
251
251
|
"@mui/x-date-pickers": "^8.27.2",
|
|
252
252
|
"@size-limit/file": "^12.0.0",
|
|
253
|
-
"@size-limit/preset-big-lib": "^
|
|
253
|
+
"@size-limit/preset-big-lib": "^11.0.0",
|
|
254
254
|
"@storybook/react-vite": "^10.2.13",
|
|
255
255
|
"@types/chroma-js": "^3.1.2",
|
|
256
256
|
"@types/lodash": "^4.17.24",
|