directus-extension-chart-interface 0.1.0 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{defineInterface as e}from"@directus/extensions-sdk";import{defineComponent as t,ref as a,shallowRef as n,computed as r,watch as o,onMounted as i,onActivated as l,onBeforeUnmount as s,resolveComponent as u,createElementBlock as d,openBlock as c,normalizeClass as h,createElementVNode as v,createVNode as p,withCtx as f,createTextVNode as m,createBlock as b,createCommentVNode as y,toDisplayString as x,Fragment as g,normalizeStyle as w,nextTick as k}from"vue";function j(e,t){return e&&t?`${e} (${t})`:e??t}function S(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function _(e){return void 0===e||"string"==typeof e}function C(e,t,a){void 0!==e&&(S(e)?(_(e.label)||a.push(`${t}.label must be a string.`),_(e.unit)||a.push(`${t}.unit must be a string.`)):a.push(`${t} must be an object.`))}function A(e){return"number"==typeof e&&Number.isFinite(e)}function N(e){return{label:e?.label,unit:e?.unit}}function O(e){if(Array.isArray(e)){const[t,a]=e;return A(t)&&A(a)?{x:t,y:a}:null}return"object"==typeof e&&null!==e&&A(e.x)&&A(e.y)?{x:e.x,y:e.y}:null}function T(e){const t=function(e){const t=[];if(!S(e))return{valid:!1,errors:["Value must be a JSON object."]};const a=e;return Array.isArray(a.points)||t.push("points must be an array."),_(a.name)||t.push("name must be a string."),C(a.x_axis,"x_axis",t),C(a.y_axis,"y_axis",t),{valid:0===t.length,errors:t}}(e);if(!t.valid)return{...t,data:null};const a=e,n=a.points??[],r=[];let o=0;for(const e of n){const t=O(e);t?r.push(t):o+=1}const i=[...t.errors];return 0===r.length&&i.push("points must contain at least one valid [x, y] pair."),{valid:0===i.length,errors:i,data:0===i.length?{version:a.version,name:a.name,xAxis:N(a.x_axis),yAxis:N(a.y_axis),points:r,skippedPoints:o}:null}}const M={class:"json-chart-toolbar"},E={key:0,class:"json-chart-panel"},R={key:0,class:"json-chart-state"},J={key:1,class:"json-chart-state is-error"},B={key:0,class:"json-chart-note"},P={key:0},z={key:1},G={key:1,class:"json-chart-editor"},L=["disabled","value"],$={key:0,class:"json-chart-note is-error"};var F=t({__name:"interface",props:{value:{},disabled:{type:Boolean,default:!1},nonEditable:{type:Boolean,default:!1},chartType:{default:"line"},showMarkers:{type:Boolean,default:!1},height:{default:320},smoothCurve:{type:Boolean,default:!0},showTitle:{type:Boolean,default:!0},showGrid:{type:Boolean,default:!0},maxRenderedPoints:{default:5e3}},emits:["input"],setup(e,{emit:t}){const S=e,_=t,C=a("chart"),A=a(null),N=n(null),O=a(""),F=a("");let I=null,V=null,q=null,H=null,W=0;const X=r(()=>S.disabled||S.nonEditable),Y=r(()=>null===S.value||void 0===S.value||""===S.value),D=r(()=>({chartType:S.chartType,showMarkers:S.showMarkers,height:Math.max(160,Number(S.height)||320),smoothCurve:S.smoothCurve,showTitle:S.showTitle,showGrid:S.showGrid,maxRenderedPoints:Math.max(2,Number(S.maxRenderedPoints)||5e3)})),U=r(()=>Y.value?null:T(S.value)),K=r(()=>U.value?.data?function(e,t){const a=Math.max(2,Math.floor(t));if(e.length<=a)return e;const n=(e.length-1)/(a-1),r=[];for(let t=0;t<a;t+=1)r.push(e[Math.round(t*n)]);return r}(U.value.data.points,D.value.maxRenderedPoints):[]),Q=r(()=>{const e=U.value?.data;return Boolean(e&&K.value.length<e.points.length)}),Z=r(()=>{const e=U.value?.data;if(!e)return"empty";const t=K.value.reduce((e,t,a)=>(e+(a+1)*(31*Math.round(1e6*t.x)+17*Math.round(1e6*t.y)))%1000000007,0);return JSON.stringify({name:e.name,total:e.points.length,rendered:K.value.length,pointHash:t,options:D.value})});function ee(e){return null==e||""===e?JSON.stringify({version:1,name:"Curve name",x_axis:{label:"X axis",unit:"s"},y_axis:{label:"Y axis",unit:"V"},points:[[0,0],[1,2.5]]},null,2):JSON.stringify(e,null,2)}async function te(){N.value&&(N.value.destroy(),N.value=null)}function ae(){if(!A.value||!A.value.isConnected)return!1;const e=A.value.getBoundingClientRect();return e.width>0&&e.height>0&&A.value.getClientRects().length>0}function ne(){null!==q&&window.cancelAnimationFrame(q),q=window.requestAnimationFrame(()=>{q=null,ie()})}function re(){null!==H&&(window.clearInterval(H),H=null)}function oe(){re();let e=0;H=window.setInterval(()=>{e+=1,"chart"===C.value&&U.value?.valid&&U.value.data&&!function(){const e=A.value?.querySelector(".apexcharts-svg");if(!(e instanceof SVGElement))return!1;const t=e.getBoundingClientRect();return t.width>0&&t.height>0}()?(ae()&&(N.value?te().then(()=>ie()):ne()),e>=80&&re()):re()},150)}async function ie(e=0){const t=++W;if("chart"!==C.value||!A.value||!U.value?.valid||!U.value.data)return re(),void await te();if(await k(),!ae())return oe(),void(e<80&&window.setTimeout(()=>{ie(e+1)},150));const a=function(e,t,a){const n=e.points.length;return{chart:{type:a.chartType,height:a.height,redrawOnParentResize:!0,redrawOnWindowResize:!0,animations:{enabled:n<=1e3},toolbar:{show:!0},zoom:{enabled:!0}},series:[{name:e.name||"Series",data:t.map(e=>({x:e.x,y:e.y}))}],title:{text:a.showTitle?e.name:void 0,align:"left",style:{fontSize:"14px",fontWeight:600}},stroke:{curve:a.smoothCurve?"smooth":"straight",width:"scatter"===a.chartType?0:2},markers:{size:a.showMarkers||"scatter"===a.chartType?4:0},grid:{show:a.showGrid},xaxis:{type:"numeric",title:{text:j(e.xAxis.label,e.xAxis.unit)}},yaxis:{title:{text:j(e.yAxis.label,e.yAxis.unit)}},noData:{text:"No chart data"},tooltip:{shared:!1,x:{formatter:e=>String(e)}}}}(U.value.data,K.value,D.value);if(I??(I=(await import("apexcharts")).default),t===W){if(!N.value)return N.value=new I(A.value,a),await N.value.render(),void oe();await N.value.updateOptions(a,!1,!0,!1),await N.value.updateSeries(a.series??[],!1),oe()}}function le(e){"chart"===e&&F.value||(C.value=e,"json"===e&&(O.value=ee(S.value),F.value=""))}function se(e){const t=e.target;O.value=t.value;try{const e=JSON.parse(t.value);F.value="",_("input",e)}catch(e){F.value=e instanceof Error?e.message:"Invalid JSON."}}function ue(){const e={version:1,name:"Curve name",x_axis:{label:"X axis",unit:"s"},y_axis:{label:"Y axis",unit:"V"},points:[[0,0],[1,2.5]]};O.value=JSON.stringify(e,null,2),F.value="",_("input",e),C.value="chart"}function de(){V?.disconnect(),V=null,A.value&&(V=new ResizeObserver(()=>{"chart"===C.value&&ne()}),V.observe(A.value))}function ce(){document.hidden||(ne(),oe())}return o(()=>S.value,e=>{"json"!==C.value||F.value||(O.value=ee(e))},{immediate:!0}),o([C,Z],()=>{ne(),oe()},{immediate:!0,flush:"post"}),o(A,()=>{de(),ne()},{flush:"post"}),i(()=>{de(),document.addEventListener("visibilitychange",ce),window.addEventListener("focus",ne),ne(),oe()}),l(()=>{ne(),oe()}),s(()=>{document.removeEventListener("visibilitychange",ce),window.removeEventListener("focus",ne),V?.disconnect(),V=null,null!==q&&(window.cancelAnimationFrame(q),q=null),re(),te()}),(e,t)=>{const a=u("v-button");return c(),d("div",{class:h(["json-chart-interface",{"is-readonly":X.value}])},[v("div",M,[p(a,{small:"",secondary:"",disabled:"chart"===C.value||Boolean(F.value),onClick:t[0]||(t[0]=e=>le("chart"))},{default:f(()=>[...t[3]||(t[3]=[m(" Chart ",-1)])]),_:1},8,["disabled"]),p(a,{small:"",secondary:"",disabled:"json"===C.value,onClick:t[1]||(t[1]=e=>le("json"))},{default:f(()=>[...t[4]||(t[4]=[m(" JSON ",-1)])]),_:1},8,["disabled"])]),"chart"===C.value?(c(),d("div",E,[Y.value?(c(),d("div",R,[t[6]||(t[6]=v("p",null,"No chart JSON yet.",-1)),X.value?y("v-if",!0):(c(),b(a,{key:0,small:"",onClick:ue},{default:f(()=>[...t[5]||(t[5]=[m("Use Example JSON",-1)])]),_:1}))])):U.value&&!U.value.valid?(c(),d("div",J,[v("p",null,x(U.value.errors[0]),1),p(a,{small:"",secondary:"",onClick:t[2]||(t[2]=e=>le("json"))},{default:f(()=>[...t[7]||(t[7]=[m("Edit JSON",-1)])]),_:1})])):(c(),d(g,{key:2},[v("div",{ref_key:"chartElement",ref:A,class:"json-chart-canvas",style:w({minHeight:`${D.value.height}px`})},null,4),Q.value||U.value?.data?.skippedPoints?(c(),d("div",B,[Q.value?(c(),d("span",P," Showing "+x(K.value.length)+" of "+x(U.value?.data?.points.length)+" points. ",1)):y("v-if",!0),U.value?.data?.skippedPoints?(c(),d("span",z," Skipped "+x(U.value.data.skippedPoints)+" invalid points. ",1)):y("v-if",!0)])):y("v-if",!0)],64))])):(c(),d("div",G,[v("textarea",{class:"json-chart-textarea",spellcheck:"false",disabled:X.value,value:O.value,onInput:se},null,40,L),F.value?(c(),d("div",$,x(F.value),1)):y("v-if",!0)]))],2)}}}),I=[],V=[];!function(e,t){if(e&&"undefined"!=typeof document){var a,n=!0===t.prepend?"prepend":"append",r=!0===t.singleTag,o="string"==typeof t.container?document.querySelector(t.container):document.getElementsByTagName("head")[0];if(r){var i=I.indexOf(o);-1===i&&(i=I.push(o)-1,V[i]={}),a=V[i]&&V[i][n]?V[i][n]:V[i][n]=l()}else a=l();65279===e.charCodeAt(0)&&(e=e.substring(1)),a.styleSheet?a.styleSheet.cssText+=e:a.appendChild(document.createTextNode(e))}function l(){var e=document.createElement("style");if(e.setAttribute("type","text/css"),t.attributes)for(var a=Object.keys(t.attributes),r=0;r<a.length;r++)e.setAttribute(a[r],t.attributes[a[r]]);var i="prepend"===n?"afterbegin":"beforeend";return o.insertAdjacentElement(i,e),e}}('\n.json-chart-interface[data-v-ad6be0ec] {\n display: flex;\n flex-direction: column;\n gap: 12px;\n width: 100%;\n}\n.json-chart-toolbar[data-v-ad6be0ec] {\n display: flex;\n gap: 8px;\n align-items: center;\n}\n.json-chart-panel[data-v-ad6be0ec],\n.json-chart-editor[data-v-ad6be0ec] {\n width: 100%;\n}\n.json-chart-canvas[data-v-ad6be0ec] {\n width: 100%;\n}\n.json-chart-state[data-v-ad6be0ec] {\n display: flex;\n min-height: 160px;\n flex-direction: column;\n gap: 12px;\n align-items: flex-start;\n justify-content: center;\n padding: 20px;\n color: var(--theme--foreground-subdued);\n border: var(--theme--border-width) solid var(--theme--border-color);\n border-radius: var(--theme--border-radius);\n background: var(--theme--background-subdued);\n}\n.json-chart-state p[data-v-ad6be0ec] {\n margin: 0;\n}\n.json-chart-textarea[data-v-ad6be0ec] {\n width: 100%;\n min-height: 320px;\n padding: 12px;\n color: var(--theme--foreground);\n font: 13px/1.5 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;\n resize: vertical;\n border: var(--theme--border-width) solid var(--theme--border-color);\n border-radius: var(--theme--border-radius);\n background: var(--theme--background);\n}\n.json-chart-textarea[data-v-ad6be0ec]:disabled {\n color: var(--theme--foreground-subdued);\n background: var(--theme--background-subdued);\n cursor: not-allowed;\n}\n.json-chart-note[data-v-ad6be0ec] {\n display: flex;\n flex-wrap: wrap;\n gap: 8px;\n margin-top: 8px;\n color: var(--theme--foreground-subdued);\n font-size: 12px;\n}\n.is-error[data-v-ad6be0ec] {\n color: var(--theme--danger);\n}\n.is-readonly .json-chart-toolbar[data-v-ad6be0ec] {\n opacity: 0.85;\n}\n',{});var q=e({id:"json-apex-chart",name:"JSON Apex Chart",icon:"show_chart",description:"Render JSON points as an ApexCharts chart.",component:((e,t)=>{const a=e.__vccOpts||e;for(const[e,n]of t)a[e]=n;return a})(F,[["__scopeId","data-v-ad6be0ec"]]),types:["json"],group:"standard",options:[{field:"chartType",name:"Chart Type",type:"string",meta:{width:"half",interface:"select-dropdown",options:{choices:[{text:"Line",value:"line"},{text:"Scatter",value:"scatter"}]}},schema:{default_value:"line"}},{field:"showMarkers",name:"Show Markers",type:"boolean",meta:{width:"half",interface:"boolean"},schema:{default_value:!1}},{field:"height",name:"Height",type:"integer",meta:{width:"half",interface:"input",options:{min:160,step:20}},schema:{default_value:320}},{field:"smoothCurve",name:"Smooth Curve",type:"boolean",meta:{width:"half",interface:"boolean"},schema:{default_value:!0}},{field:"showTitle",name:"Show Title",type:"boolean",meta:{width:"half",interface:"boolean"},schema:{default_value:!0}},{field:"showGrid",name:"Show Grid",type:"boolean",meta:{width:"half",interface:"boolean"},schema:{default_value:!0}},{field:"maxRenderedPoints",name:"Max Rendered Points",type:"integer",meta:{width:"half",interface:"input",options:{min:2,step:100}},schema:{default_value:5e3}}]});export{q as default};
|
|
1
|
+
import{defineInterface as e}from"@directus/extensions-sdk";import{defineComponent as t,ref as a,shallowRef as n,computed as r,watch as o,onBeforeUnmount as s,resolveComponent as l,createElementBlock as i,openBlock as u,normalizeClass as d,createElementVNode as c,createVNode as h,withCtx as v,createTextVNode as p,createBlock as m,createCommentVNode as f,toDisplayString as y,Fragment as x,normalizeStyle as b,nextTick as g}from"vue";function w(e,t){return e&&t?`${e} (${t})`:e??t}function k(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function j(e){return void 0===e||"string"==typeof e}function _(e,t,a){void 0!==e&&(k(e)?(j(e.label)||a.push(`${t}.label must be a string.`),j(e.unit)||a.push(`${t}.unit must be a string.`)):a.push(`${t} must be an object.`))}function S(e){return"number"==typeof e&&Number.isFinite(e)}function N(e){return{label:e?.label,unit:e?.unit}}function C(e){if(Array.isArray(e)){const[t,a]=e;return S(t)&&S(a)?{x:t,y:a}:null}return"object"==typeof e&&null!==e&&S(e.x)&&S(e.y)?{x:e.x,y:e.y}:null}function A(e){const t=function(e){const t=[];if(!k(e))return{valid:!1,errors:["Value must be a JSON object."]};const a=e;return Array.isArray(a.points)||t.push("points must be an array."),j(a.name)||t.push("name must be a string."),_(a.x_axis,"x_axis",t),_(a.y_axis,"y_axis",t),{valid:0===t.length,errors:t}}(e);if(!t.valid)return{...t,data:null};const a=e,n=a.points??[],r=[];let o=0;for(const e of n){const t=C(e);t?r.push(t):o+=1}const s=[...t.errors];return 0===r.length&&s.push("points must contain at least one valid [x, y] pair."),{valid:0===s.length,errors:s,data:0===s.length?{version:a.version,name:a.name,xAxis:N(a.x_axis),yAxis:N(a.y_axis),points:r,skippedPoints:o}:null}}const M={class:"json-chart-toolbar"},T={key:0,class:"json-chart-panel"},O={key:0,class:"json-chart-state"},J={key:1,class:"json-chart-state is-error"},P={key:0,class:"json-chart-note"},B={key:0},E={key:1},R={key:1,class:"json-chart-editor"},G=["disabled","value"],$={key:0,class:"json-chart-note is-error"};var z=t({__name:"interface",props:{value:{},disabled:{type:Boolean,default:!1},nonEditable:{type:Boolean,default:!1},chartType:{default:"line"},showMarkers:{type:Boolean,default:!1},height:{default:320},smoothCurve:{type:Boolean,default:!0},showTitle:{type:Boolean,default:!0},showGrid:{type:Boolean,default:!0},maxRenderedPoints:{default:5e3}},emits:["input"],setup(e,{emit:t}){const k=e,j=t,_=a("chart"),S=a(null),N=n(null),C=a(""),z=a("");let H=null;const I=r(()=>k.disabled||k.nonEditable),V=r(()=>null===k.value||void 0===k.value||""===k.value),F=r(()=>({chartType:k.chartType,showMarkers:k.showMarkers,height:Math.max(160,Number(k.height)||320),smoothCurve:k.smoothCurve,showTitle:k.showTitle,showGrid:k.showGrid,maxRenderedPoints:Math.max(2,Number(k.maxRenderedPoints)||5e3)})),L=r(()=>V.value?null:A(k.value)),X=r(()=>L.value?.data?function(e,t){const a=Math.max(2,Math.floor(t));if(e.length<=a)return e;const n=(e.length-1)/(a-1),r=[];for(let t=0;t<a;t+=1)r.push(e[Math.round(t*n)]);return r}(L.value.data.points,F.value.maxRenderedPoints):[]),Y=r(()=>{const e=L.value?.data;return Boolean(e&&X.value.length<e.points.length)}),q=r(()=>{const e=L.value?.data;if(!e)return"empty";const t=X.value.reduce((e,t,a)=>(e+(a+1)*(31*Math.round(1e6*t.x)+17*Math.round(1e6*t.y)))%1000000007,0);return JSON.stringify({name:e.name,total:e.points.length,rendered:X.value.length,pointHash:t,options:F.value})});function D(e){return null==e||""===e?JSON.stringify({version:1,name:"Curve name",x_axis:{label:"X axis",unit:"s"},y_axis:{label:"Y axis",unit:"V"},points:[[0,0],[1,2.5]]},null,2):JSON.stringify(e,null,2)}async function U(){N.value&&(N.value.destroy(),N.value=null)}async function W(){if("chart"!==_.value||!S.value||!L.value?.valid||!L.value.data)return void await U();const e=function(e,t,a){const n=e.points.length;return{chart:{type:a.chartType,height:a.height,animations:{enabled:n<=1e3},toolbar:{show:!0},zoom:{enabled:!0}},series:[{name:e.name||"Series",data:t.map(e=>({x:e.x,y:e.y}))}],title:{text:a.showTitle?e.name:void 0,align:"left",style:{fontSize:"14px",fontWeight:600}},stroke:{curve:a.smoothCurve?"smooth":"straight",width:"scatter"===a.chartType?0:2},markers:{size:a.showMarkers||"scatter"===a.chartType?4:0},grid:{show:a.showGrid},xaxis:{type:"numeric",title:{text:w(e.xAxis.label,e.xAxis.unit)}},yaxis:{title:{text:w(e.yAxis.label,e.yAxis.unit)}},noData:{text:"No chart data"},tooltip:{shared:!1,x:{formatter:e=>String(e)}}}}(L.value.data,X.value,F.value);if(H??(H=(await import("apexcharts")).default),await g(),!N.value)return N.value=new H(S.value,e),void await N.value.render();await N.value.updateOptions(e,!1,!0,!1),await N.value.updateSeries(e.series??[],!1)}function K(e){"chart"===e&&z.value||(_.value=e,"json"===e&&(C.value=D(k.value),z.value=""))}function Q(e){const t=e.target;C.value=t.value;try{const e=JSON.parse(t.value);z.value="",j("input",e)}catch(e){z.value=e instanceof Error?e.message:"Invalid JSON."}}function Z(){const e={version:1,name:"Curve name",x_axis:{label:"X axis",unit:"s"},y_axis:{label:"Y axis",unit:"V"},points:[[0,0],[1,2.5]]};C.value=JSON.stringify(e,null,2),z.value="",j("input",e),_.value="chart"}return o(()=>k.value,e=>{"json"!==_.value||z.value||(C.value=D(e))},{immediate:!0}),o([_,q],()=>{W()},{immediate:!0,flush:"post"}),s(()=>{U()}),(e,t)=>{const a=l("v-button");return u(),i("div",{class:d(["json-chart-interface",{"is-readonly":I.value}])},[c("div",M,[h(a,{small:"",secondary:"",disabled:"chart"===_.value||Boolean(z.value),onClick:t[0]||(t[0]=e=>K("chart"))},{default:v(()=>[...t[3]||(t[3]=[p(" Chart ",-1)])]),_:1},8,["disabled"]),h(a,{small:"",secondary:"",disabled:"json"===_.value,onClick:t[1]||(t[1]=e=>K("json"))},{default:v(()=>[...t[4]||(t[4]=[p(" JSON ",-1)])]),_:1},8,["disabled"])]),"chart"===_.value?(u(),i("div",T,[V.value?(u(),i("div",O,[t[6]||(t[6]=c("p",null,"No chart JSON yet.",-1)),I.value?f("",!0):(u(),m(a,{key:0,small:"",onClick:Z},{default:v(()=>[...t[5]||(t[5]=[p("Use Example JSON",-1)])]),_:1}))])):L.value&&!L.value.valid?(u(),i("div",J,[c("p",null,y(L.value.errors[0]),1),h(a,{small:"",secondary:"",onClick:t[2]||(t[2]=e=>K("json"))},{default:v(()=>[...t[7]||(t[7]=[p("Edit JSON",-1)])]),_:1})])):(u(),i(x,{key:2},[c("div",{ref_key:"chartElement",ref:S,class:"json-chart-canvas",style:b({minHeight:`${F.value.height}px`})},null,4),Y.value||L.value?.data?.skippedPoints?(u(),i("div",P,[Y.value?(u(),i("span",B," Showing "+y(X.value.length)+" of "+y(L.value?.data?.points.length)+" points. ",1)):f("",!0),L.value?.data?.skippedPoints?(u(),i("span",E," Skipped "+y(L.value.data.skippedPoints)+" invalid points. ",1)):f("",!0)])):f("",!0)],64))])):(u(),i("div",R,[c("textarea",{class:"json-chart-textarea",spellcheck:"false",disabled:I.value,value:C.value,onInput:Q},null,40,G),z.value?(u(),i("div",$,y(z.value),1)):f("",!0)]))],2)}}}),H=[],I=[];!function(e,t){if(e&&"undefined"!=typeof document){var a,n=!0===t.prepend?"prepend":"append",r=!0===t.singleTag,o="string"==typeof t.container?document.querySelector(t.container):document.getElementsByTagName("head")[0];if(r){var s=H.indexOf(o);-1===s&&(s=H.push(o)-1,I[s]={}),a=I[s]&&I[s][n]?I[s][n]:I[s][n]=l()}else a=l();65279===e.charCodeAt(0)&&(e=e.substring(1)),a.styleSheet?a.styleSheet.cssText+=e:a.appendChild(document.createTextNode(e))}function l(){var e=document.createElement("style");if(e.setAttribute("type","text/css"),t.attributes)for(var a=Object.keys(t.attributes),r=0;r<a.length;r++)e.setAttribute(a[r],t.attributes[a[r]]);var s="prepend"===n?"afterbegin":"beforeend";return o.insertAdjacentElement(s,e),e}}('\n.json-chart-interface[data-v-903c0ccd] {\n display: flex;\n flex-direction: column;\n gap: 12px;\n width: 100%;\n}\n.json-chart-toolbar[data-v-903c0ccd] {\n display: flex;\n gap: 8px;\n align-items: center;\n}\n.json-chart-panel[data-v-903c0ccd],\n.json-chart-editor[data-v-903c0ccd] {\n width: 100%;\n}\n.json-chart-canvas[data-v-903c0ccd] {\n width: 100%;\n}\n.json-chart-state[data-v-903c0ccd] {\n display: flex;\n min-height: 160px;\n flex-direction: column;\n gap: 12px;\n align-items: flex-start;\n justify-content: center;\n padding: 20px;\n color: var(--theme--foreground-subdued);\n border: var(--theme--border-width) solid var(--theme--border-color);\n border-radius: var(--theme--border-radius);\n background: var(--theme--background-subdued);\n}\n.json-chart-state p[data-v-903c0ccd] {\n margin: 0;\n}\n.json-chart-textarea[data-v-903c0ccd] {\n width: 100%;\n min-height: 320px;\n padding: 12px;\n color: var(--theme--foreground);\n font: 13px/1.5 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;\n resize: vertical;\n border: var(--theme--border-width) solid var(--theme--border-color);\n border-radius: var(--theme--border-radius);\n background: var(--theme--background);\n}\n.json-chart-textarea[data-v-903c0ccd]:disabled {\n color: var(--theme--foreground-subdued);\n background: var(--theme--background-subdued);\n cursor: not-allowed;\n}\n.json-chart-note[data-v-903c0ccd] {\n display: flex;\n flex-wrap: wrap;\n gap: 8px;\n margin-top: 8px;\n color: var(--theme--foreground-subdued);\n font-size: 12px;\n}\n.is-error[data-v-903c0ccd] {\n color: var(--theme--danger);\n}\n.is-readonly .json-chart-toolbar[data-v-903c0ccd] {\n opacity: 0.85;\n}\n',{});var V=e({id:"json-apex-chart",name:"JSON Apex Chart",icon:"show_chart",description:"Render JSON points as an ApexCharts chart.",component:((e,t)=>{const a=e.__vccOpts||e;for(const[e,n]of t)a[e]=n;return a})(z,[["__scopeId","data-v-903c0ccd"]]),types:["json"],group:"standard",options:[{field:"chartType",name:"Chart Type",type:"string",meta:{width:"half",interface:"select-dropdown",options:{choices:[{text:"Line",value:"line"},{text:"Scatter",value:"scatter"}]}},schema:{default_value:"line"}},{field:"showMarkers",name:"Show Markers",type:"boolean",meta:{width:"half",interface:"boolean"},schema:{default_value:!1}},{field:"height",name:"Height",type:"integer",meta:{width:"half",interface:"input",options:{min:160,step:20}},schema:{default_value:320}},{field:"smoothCurve",name:"Smooth Curve",type:"boolean",meta:{width:"half",interface:"boolean"},schema:{default_value:!0}},{field:"showTitle",name:"Show Title",type:"boolean",meta:{width:"half",interface:"boolean"},schema:{default_value:!0}},{field:"showGrid",name:"Show Grid",type:"boolean",meta:{width:"half",interface:"boolean"},schema:{default_value:!0}},{field:"maxRenderedPoints",name:"Max Rendered Points",type:"integer",meta:{width:"half",interface:"input",options:{min:2,step:100}},schema:{default_value:5e3}}]});export{V as default};
|