1"use strict";(self.webpackChunkuwazi=self.webpackChunkuwazi||[]).push([[9132],{69197(e,t,r){r.r(t),r.d(t,{Dataviz:()=>j});var n=r(96540),a=r(16014),i=r(97686),l=r(4749),c=r(46594),s=r(75334);const u=({payload:e,height:t,animateUpdates:r=!1})=>{const u=(0,n.useMemo)(()=>(0,i.V)(e.data,e.chart,e.appearance),[e.data,e.chart,e.appearance]),o="list"===e.chart.type,m="metric"===e.chart.type;if(!(o||m||null!==u))return n.createElement("p",{className:"text-sm text-ink-secondary"},n.createElement(a.HT,null,"This chart type cannot display the current data."));if(o)return n.createElement(c.x,{data:e.data});if(m)return n.createElement(s.b,{data:e.data,appearance:e.appearance});const p=n.createElement(l.$,{option:u,height:null!=t?t:e.data.series.length>1?360:320,animateUpdates:r});return e.data.stale?n.createElement("div",{className:"flex flex-col gap-2"},n.createElement("p",{className:"text-xs text-amber-700"},n.createElement(a.HT,null,"Data may be outdated.")),p):p};var o=r(34843),m=r(76139),p=r(35845),d=r(45419);const f=(e,t)=>{const r=(0,o.md)(m.WF),[a,i]=(0,n.useState)(null),[l,c]=(0,n.useState)(!0),[s,u]=(0,n.use
1State)(!1),[f,v]=(0,n.useState)(null),y=(0,n.useRef)(0),b=(0,n.useRef)(null);return b.current=a,(0,n.useEffect)(()=>{let n,a=!1;y.current+=1;const l=y.current;return n=setTimeout(()=>{(async n=>{const l=null!==b.current;l?u(!0):c(!0),v(null);const s=await(0,p.x9)(e,r,t);if(!a&&n===y.current){if(s instanceof d.un)return l||i(null),v(s.message||"Unable to load visualization"),c(!1),void u(!1);i(s),v(null),c(!1),u(!1)}})(l).catch(()=>{a||l!==y.current||(b.current||i(null),v("Unable to load visualization"),c(!1),u(!1))})},150),()=>{a=!0,clearTimeout(n)}},[e,r,JSON.stringify(null!=t?t:[])]),{payload:a,initialLoading:l,refreshing:s,error:f}};function v(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function y(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}const b=(e,t,r)=>{if(!r||!((e,t)=>void 0===t||"*"===t||Array.isArray(t)&&t.includes(e))(t,r.targets))return null;const n=((e,t)=>{var r,n;return null!==(r=null===(n=t.properties)||void 0===n?void 0:n[e])&&void 0!==r?r:t.property})(t,r);if(!n)return null;const a=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?v(Object(r),!0).forEach(function(t){y(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):v(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}({},e);return null===r.value||void 0===r.value?delete a[n]:a[n]=r.value,a};var h=r(73);const g=e=>{const[t,r]=(0,n.useState)({});return(0,n.useEffect)(()=>{const t=t=>{const n=t;r(t=>{const r=b(t,e,n.detail);return null!=r?r:t})};return document.addEventListener(h.GX,t),()=>document.removeEventListener(h.GX,t)},[e]),(e=>Object.entries(e).map(([e,t])=>({property:e,value:t})))(t)};var E=r(4401);const O=({id:e,height:t})=>{const r=g(e),{payload:i,initialLoading:l,refreshing:c,error:s}=f(e,r);return l?n.createElement("div",{className:"flex min-h-48 items-center justify-center"},n.createElement(E.N,null)):s&&!i?n.createElement("p",{className:"text-sm text-red-600"},s):i?n.createElement("div",{className:"relative"},c&&n.createElement("div",{className:"pointer-events-none absolute inset-0 z-10 bg-paper/40 transition-opacity","aria-hidden":!0}),s&&n.createElement("p",{className:"mb-2 text-sm text-red-600",role:"alert"},s),n.createElement(u,{payload:i,height:t,animateUpdates:!0})):n.createElement("p",{className:"text-sm text-ink-secondary"},n.createElement(a.HT,null,"No visualization data available."))},j=({id:e,height:t})=>{if(!e)return null;const r="string"==typeof t?Number(t):t;return n.createElement(O,{id:e,height:Number.isFinite(r)?r:void 0})}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.