rtcpts 0.0.7 → 0.0.9

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.
@@ -0,0 +1 @@
1
+ "use strict";const a=require("vue"),b=require("chart.js/auto"),h=(t,s)=>{const l=t.__vccOpts||t;for(const[o,c]of s)l[o]=c;return l},v=a.defineComponent({name:"JChBar",props:{labels:{type:Array,default:()=>[],required:!0},datasets:{type:Array,required:!0},height:{type:Number,default:300}},setup(t){const s=a.ref(null),l=a.ref(null);let o=null;const c=i=>{let e=i.querySelector("div.chartjs-tooltip");return e||(e=document.createElement("div"),e.className="chartjs-tooltip",e.style.background="#ffffff",e.style.borderRadius="8px",e.style.boxShadow="0 4px 12px rgba(0, 0, 0, 0.15)",e.style.color="#323232",e.style.opacity="0",e.style.pointerEvents="none",e.style.position="absolute",e.style.transform="translate(-50%, 0)",e.style.transition="all .1s ease",e.style.padding="8px 10px",e.style.font="12px Open Sans, sans-serif",i.appendChild(e)),e},p=i=>{const{chart:e,tooltip:r}=i,d=l.value;if(!d)return;const n=c(d);if(r.opacity===0){n.style.opacity="0";return}if(r.body){const g=r.title||[],x=r.body.map(u=>u.lines);if(n.innerHTML="",g.length){const u=document.createElement("div");u.style.fontWeight="600",u.style.marginBottom="4px",u.textContent=g.join(" "),n.appendChild(u)}x.forEach(u=>{const m=document.createElement("div");m.textContent=u.join(" "),n.appendChild(m)})}const{offsetLeft:y,offsetTop:C}=e.canvas;n.style.opacity="1",n.style.left=`${y+r.caretX}px`,n.style.top=`${C+r.caretY}px`},f=()=>{var d;o&&o.destroy();const i=(d=s.value)==null?void 0:d.getContext("2d");if(!i)return;const e={labels:t.labels,datasets:t.datasets.map(n=>({...n,type:"bar",borderWidth:n.borderWidth??0,borderRadius:n.borderRadius??4,maxBarThickness:n.maxBarThickness??34,backgroundColor:n.backgroundColor||"#3A416F"}))},r={responsive:!0,maintainAspectRatio:!1,plugins:{legend:{display:!0,position:"bottom",labels:{color:"#969799",pointStyle:"rect",padding:20,usePointStyle:!0,font:{size:11,family:"Open Sans",style:"normal",lineHeight:1}}},tooltip:{enabled:!1,external:p}},scales:{y:{border:{display:!1},grid:{display:!0,drawOnChartArea:!0,drawTicks:!1,color:"#f5f6fa"},ticks:{display:!0,padding:10,color:"#969799"}},x:{border:{display:!1},grid:{display:!1,drawOnChartArea:!0,drawTicks:!0},ticks:{display:!0,color:"#969799",padding:10}}}};o=new b.Chart(i,{type:"bar",data:e,options:r})};return a.onMounted(()=>{f()}),a.watch([()=>t.labels,()=>t.datasets,()=>t.height],()=>{f()},{deep:!0}),{barChartCanvas:s,chartContainer:l}}}),k={ref:"chartContainer",style:{position:"relative"}};function $(t,s,l,o,c,p){return a.openBlock(),a.createElementBlock("div",k,[a.createElementVNode("div",null,[a.createElementVNode("canvas",{ref:"barChartCanvas",style:a.normalizeStyle([{width:"100%"},{height:t.height+"px",maxHeight:t.height+"px"}])},null,4)])],512)}const w=h(v,[["render",$],["__scopeId","data-v-63c1cbe6"]]),_=a.defineComponent({name:"JChBarLine",props:{labels:{type:Array,default:()=>[],required:!0},datasets:{type:Array,required:!0},height:{type:Number,default:300}},setup(t){const s=a.ref(null);let l=null;const o=()=>{var e;l&&l.destroy();const c=(e=s.value)==null?void 0:e.getContext("2d");if(!c)return;const p=t.datasets.map(r=>{let d={};const n=r.type==="line"?"line":"bar";return r.type==="line"?d={type:"line",tension:.4,pointRadius:0,borderWidth:3,fill:!1,backgroundColor:"transparent",maxBarThickness:void 0}:r.type==="bar"&&(d={type:"bar",borderWidth:0,borderRadius:4,borderSkipped:!1,fill:void 0,maxBarThickness:34,backgroundColor:r.backgroundColor}),{type:n,...r,...d}}),f={labels:t.labels,datasets:p},i={responsive:!0,maintainAspectRatio:!1,plugins:{legend:{display:!0,position:"bottom",labels:{color:"#969799",pointStyle:"rect",padding:20,usePointStyle:!0,font:{size:11,family:"Open Sans",style:"normal",lineHeight:1}}},tooltip:{borderWidth:1,backgroundColor:"white",titleColor:"black",bodyColor:"black",borderColor:"#eeeeee",padding:12,callbacks:{label:r=>`${r.dataset.label||""}: ${r.formattedValue}`}}},interaction:{intersect:!1,mode:"index"},scales:{y:{beginAtZero:!0,border:{display:!1},grid:{display:!0,drawOnChartArea:!0,drawTicks:!1,color:"#f5f6fa"},ticks:{display:!0,padding:10,color:"#969799",font:{size:11,family:"Open Sans",style:"normal",lineHeight:2}}},x:{border:{display:!1},grid:{display:!1,drawOnChartArea:!0,drawTicks:!0},ticks:{display:!0,color:"#969799",padding:10,font:{size:11,family:"Open Sans",style:"normal",lineHeight:2},callback:(r,d)=>{const n=t.labels[d];return n&&n.length>13?`${n.slice(0,13)}...`:n}}}}};l=new b.Chart(c,{data:f,options:i})};return a.onMounted(()=>{o()}),a.watch([()=>t.labels,()=>t.datasets,()=>t.height],()=>{o()},{deep:!0}),{mixedChartCanvas:s}}});function S(t,s,l,o,c,p){return a.openBlock(),a.createElementBlock("div",null,[a.createElementVNode("canvas",{ref:"mixedChartCanvas",style:a.normalizeStyle([{width:"100%"},{height:t.height+"px",maxHeight:t.height+"px"}])},null,4)])}const O=h(_,[["render",S]]),A=a.defineComponent({name:"JChBubble",props:{labels:{type:Array,default:()=>[],required:!1},datasets:{type:Array,required:!0},height:{type:Number,default:300}},setup(t){const s=a.ref(null);let l=null;const o=()=>{var i;l&&l.destroy();const c=(i=s.value)==null?void 0:i.getContext("2d");if(!c)return;const p={labels:t.labels,datasets:t.datasets.map(e=>({...e,backgroundColor:e.backgroundColor||"rgba(54, 162, 235, 0.6)"}))},f={responsive:!0,maintainAspectRatio:!1,plugins:{legend:{display:!0,position:"bottom",labels:{color:"#969799",pointStyle:"rect",padding:20,usePointStyle:!0,font:{size:11,family:"Open Sans",style:"normal",lineHeight:1}}},tooltip:{borderWidth:1,backgroundColor:"white",titleColor:"black",bodyColor:"black",borderColor:"#eeeeee",padding:12,callbacks:{label:e=>`${e.dataset.label||""}: ${e.formattedValue}`}}},interaction:{intersect:!1,mode:"index"},scales:{y:{beginAtZero:!0,border:{display:!1},grid:{display:!0,drawOnChartArea:!0,drawTicks:!1,color:"#f5f6fa"},ticks:{display:!0,padding:10,color:"#969799",font:{size:11,family:"Open Sans",style:"normal",lineHeight:2}}},x:{border:{display:!1},grid:{display:!0,drawOnChartArea:!0,drawTicks:!0,color:"#f5f6fa"},ticks:{display:!0,color:"#969799",padding:10,font:{size:11,family:"Open Sans",style:"normal",lineHeight:2},callback:(e,r)=>{const d=t.labels[r];return d?typeof d=="string"&&d.length>13?`${d.slice(0,13)}...`:d:e}}}}};l=new b.Chart(c,{type:"bubble",data:p,options:f})};return a.onMounted(()=>{o()}),a.watch([()=>t.labels,()=>t.datasets,()=>t.height],()=>{o()},{deep:!0}),{bubbleChartCanvas:s}}});function E(t,s,l,o,c,p){return a.openBlock(),a.createElementBlock("div",null,[a.createElementVNode("canvas",{ref:"bubbleChartCanvas",style:a.normalizeStyle([{width:"100%"},{height:t.height+"px",maxHeight:t.height+"px"}])},null,4)])}const T=h(A,[["render",E]]),B=a.defineComponent({name:"JChLine",props:{labels:{type:Array,default:()=>[],required:!0},datasets:{type:Array,required:!0},height:{type:Number,default:300}},setup(t){const s=a.ref(null);let l=null;const o=()=>{var i;l&&l.destroy();const c=(i=s.value)==null?void 0:i.getContext("2d");if(!c)return;const p={labels:t.labels,datasets:t.datasets.map(e=>({...e,tension:.4,pointRadius:2,borderWidth:3,fill:!1,backgroundColor:"transparent",type:"line"}))},f={responsive:!0,maintainAspectRatio:!1,plugins:{legend:{display:!0,position:"bottom",labels:{color:"#969799",pointStyle:"line",padding:20,usePointStyle:!0,font:{size:11,family:"Open Sans",style:"normal",lineHeight:1}}},tooltip:{borderWidth:1,backgroundColor:"white",titleColor:"black",bodyColor:"black",borderColor:"#eeeeee",padding:12,callbacks:{label:e=>`${e.dataset.label||""}: ${e.formattedValue}`}}},interaction:{intersect:!1,mode:"index"},scales:{y:{beginAtZero:!0,border:{display:!1},grid:{display:!0,drawOnChartArea:!0,drawTicks:!1,color:"#f5f6fa"},ticks:{display:!0,padding:10,color:"#969799",font:{size:11,family:"Open Sans",style:"normal",lineHeight:2}}},x:{border:{display:!1,dash:[5,5]},grid:{display:!1,drawOnChartArea:!1,drawTicks:!1},ticks:{display:!0,color:"#969799",padding:20,font:{size:10,family:"Open Sans",style:"normal"},callback:(e,r,d)=>{const n=t.labels[r];return n.length>13?`${n.slice(0,13)}...`:n}}}}};l=new b.Chart(c,{type:"line",data:p,options:f})};return a.onMounted(()=>{o()}),a.watch([()=>t.labels,()=>t.datasets],()=>{o()},{deep:!0}),{lineChartCanvas:s}}}),H={ref:"chartContainer"};function z(t,s,l,o,c,p){return a.openBlock(),a.createElementBlock("div",H,[a.createElementVNode("canvas",{ref:"lineChartCanvas",style:a.normalizeStyle([{width:"100%"},{height:t.height+"px",maxHeight:t.height+"px"}])},null,4)],512)}const q=h(B,[["render",z],["__scopeId","data-v-c86e6b6d"]]),N=a.defineComponent({name:"JChPieDoughnut",props:{type:{type:String,required:!0,validator:t=>["pie","doughnut"].includes(t)},labels:{type:Array,default:()=>[],required:!0},datasets:{type:Array,required:!0},height:{type:Number,default:300}},setup(t){const s=a.ref(null),l=a.ref(null);let o=null;const c=i=>{let e=i.querySelector("div.chartjs-tooltip");return e||(e=document.createElement("div"),e.className="chartjs-tooltip",e.style.background="#ffffff",e.style.borderRadius="8px",e.style.boxShadow="0 4px 12px rgba(0, 0, 0, 0.15)",e.style.color="#323232",e.style.opacity="0",e.style.pointerEvents="none",e.style.position="absolute",e.style.transform="translate(-50%, 0)",e.style.transition="all .1s ease",e.style.padding="8px 10px",e.style.font="12px Open Sans, sans-serif",i.appendChild(e)),e},p=i=>{const{chart:e,tooltip:r}=i,d=l.value;if(!d)return;const n=c(d);if(r.opacity===0){n.style.opacity="0";return}if(r.body){const g=r.title||[],x=r.body.map(u=>u.lines);if(n.innerHTML="",g.length){const u=document.createElement("div");u.style.fontWeight="600",u.style.marginBottom="4px",u.textContent=g.join(" "),n.appendChild(u)}x.forEach(u=>{const m=document.createElement("div");m.textContent=u.join(" "),n.appendChild(m)})}const{offsetLeft:y,offsetTop:C}=e.canvas;n.style.opacity="1",n.style.left=`${y+r.caretX}px`,n.style.top=`${C+r.caretY}px`},f=()=>{var n;o&&o.destroy();const i=(n=s.value)==null?void 0:n.getContext("2d");if(!i)return;const e=t.type,r={labels:t.labels,datasets:t.datasets.map(y=>({...y,type:e,borderWidth:y.borderWidth??2}))},d={responsive:!0,maintainAspectRatio:!1,plugins:{legend:{display:!0,position:"bottom",labels:{color:"#969799",pointStyle:"rect",padding:20,usePointStyle:!0,font:{size:11,family:"Open Sans",style:"normal",lineHeight:1}}},tooltip:{enabled:!1,external:p}},interaction:{intersect:!1,mode:"index"}};o=new b.Chart(i,{type:e,data:r,options:d})};return a.onMounted(()=>{f()}),a.watch([()=>t.labels,()=>t.datasets,()=>t.type],()=>{f()},{deep:!0}),{chartCanvas:s,chartContainer:l}}}),W={ref:"chartContainer",style:{position:"relative"}};function R(t,s,l,o,c,p){return a.openBlock(),a.createElementBlock("div",W,[a.createElementVNode("canvas",{ref:"chartCanvas",style:a.normalizeStyle([{width:"100%"},{height:t.height+"px",maxHeight:t.height+"px"}])},null,4)],512)}const L=h(N,[["render",R]]),V=a.defineComponent({name:"JChRadar",props:{labels:{type:Array,default:()=>[],required:!0},datasets:{type:Array,required:!0},height:{type:Number,default:300}},setup(t){const s=a.ref(null);let l=null;const o=()=>{var i;l&&l.destroy();const c=(i=s.value)==null?void 0:i.getContext("2d");if(!c)return;const p={labels:t.labels,datasets:t.datasets.map(e=>({...e,type:"radar",fill:e.fill??!0,backgroundColor:e.backgroundColor||"rgba(58,65,111,0.2)",borderColor:e.borderColor||"rgba(58,65,111,1)",borderWidth:e.borderWidth??2}))},f={responsive:!0,maintainAspectRatio:!1,plugins:{legend:{display:!0,position:"bottom",labels:{color:"#969799",pointStyle:"rect",padding:20,usePointStyle:!0,font:{size:11,family:"Open Sans",style:"normal",lineHeight:1}}},tooltip:{borderWidth:1,backgroundColor:"white",titleColor:"black",bodyColor:"black",borderColor:"#eeeeee",padding:12,callbacks:{label:e=>`${e.dataset.label||""}: ${e.formattedValue}`}}},interaction:{intersect:!1,mode:"index"},scales:{r:{beginAtZero:!0,angleLines:{color:"#f5f6fa"},grid:{color:"#f5f6fa"},pointLabels:{color:"#969799",font:{size:11,family:"Open Sans"}},ticks:{display:!1}}}};l=new b.Chart(c,{type:"radar",data:p,options:f})};return a.onMounted(()=>{o()}),a.watch([()=>t.labels,()=>t.datasets,()=>t.height],()=>{o()},{deep:!0}),{radarChartCanvas:s}}});function j(t,s,l,o,c,p){return a.openBlock(),a.createElementBlock("div",null,[a.createElementVNode("canvas",{ref:"radarChartCanvas",style:a.normalizeStyle([{width:"100%"},{height:t.height+"px",maxHeight:t.height+"px"}])},null,4)])}const D=h(V,[["render",j]]);exports._export_sfc=h;exports.index=w;exports.index$1=O;exports.index$2=T;exports.index$3=q;exports.index$4=L;exports.index$5=D;
@@ -1,4 +1,4 @@
1
- import { defineComponent as b, ref as f, onMounted as g, watch as m, createElementBlock as C, openBlock as v, createElementVNode as y, normalizeStyle as x } from "vue";
1
+ import { defineComponent as b, ref as f, onMounted as g, watch as m, createElementBlock as C, openBlock as x, createElementVNode as y, normalizeStyle as v } from "vue";
2
2
  import { Chart as k } from "chart.js/auto";
3
3
  const $ = (t, o) => {
4
4
  const n = t.__vccOpts || t;
@@ -146,17 +146,17 @@ const $ = (t, o) => {
146
146
  ref: "chartContainer",
147
147
  style: { position: "relative" }
148
148
  };
149
- function E(t, o, n, l, d, c) {
150
- return v(), C("div", T, [
149
+ function H(t, o, n, l, d, c) {
150
+ return x(), C("div", T, [
151
151
  y("div", null, [
152
152
  y("canvas", {
153
153
  ref: "barChartCanvas",
154
- style: x([{ width: "100%" }, { height: t.height + "px" }])
154
+ style: v([{ width: "100%" }, { height: t.height + "px", maxHeight: t.height + "px" }])
155
155
  }, null, 4)
156
156
  ])
157
157
  ], 512);
158
158
  }
159
- const X = /* @__PURE__ */ $(A, [["render", E], ["__scopeId", "data-v-6215e032"]]), q = b({
159
+ const X = /* @__PURE__ */ $(A, [["render", H], ["__scopeId", "data-v-63c1cbe6"]]), E = b({
160
160
  name: "JChBarLine",
161
161
  props: {
162
162
  labels: {
@@ -298,15 +298,15 @@ const X = /* @__PURE__ */ $(A, [["render", E], ["__scopeId", "data-v-6215e032"]]
298
298
  };
299
299
  }
300
300
  });
301
- function H(t, o, n, l, d, c) {
302
- return v(), C("div", null, [
301
+ function q(t, o, n, l, d, c) {
302
+ return x(), C("div", null, [
303
303
  y("canvas", {
304
304
  ref: "mixedChartCanvas",
305
- style: x([{ width: "100%" }, { height: t.height + "px" }])
305
+ style: v([{ width: "100%" }, { height: t.height + "px", maxHeight: t.height + "px" }])
306
306
  }, null, 4)
307
307
  ]);
308
308
  }
309
- const Y = /* @__PURE__ */ $(q, [["render", H]]), W = b({
309
+ const Y = /* @__PURE__ */ $(E, [["render", q]]), W = b({
310
310
  name: "JChBubble",
311
311
  props: {
312
312
  labels: {
@@ -414,10 +414,10 @@ const Y = /* @__PURE__ */ $(q, [["render", H]]), W = b({
414
414
  }
415
415
  });
416
416
  function z(t, o, n, l, d, c) {
417
- return v(), C("div", null, [
417
+ return x(), C("div", null, [
418
418
  y("canvas", {
419
419
  ref: "bubbleChartCanvas",
420
- style: x([{ width: "100%" }, { height: t.height + "px" }])
420
+ style: v([{ width: "100%" }, { height: t.height + "px", maxHeight: t.height + "px" }])
421
421
  }, null, 4)
422
422
  ]);
423
423
  }
@@ -566,14 +566,14 @@ const Z = /* @__PURE__ */ $(W, [["render", z]]), R = b({
566
566
  }
567
567
  }), L = { ref: "chartContainer" };
568
568
  function B(t, o, n, l, d, c) {
569
- return v(), C("div", L, [
569
+ return x(), C("div", L, [
570
570
  y("canvas", {
571
571
  ref: "lineChartCanvas",
572
- style: x([{ width: "100%" }, { height: t.height + "px" }])
572
+ style: v([{ width: "100%" }, { height: t.height + "px", maxHeight: t.height + "px" }])
573
573
  }, null, 4)
574
574
  ], 512);
575
575
  }
576
- const M = /* @__PURE__ */ $(R, [["render", B], ["__scopeId", "data-v-00b6cb2b"]]), N = b({
576
+ const M = /* @__PURE__ */ $(R, [["render", B], ["__scopeId", "data-v-c86e6b6d"]]), N = b({
577
577
  name: "JChPieDoughnut",
578
578
  props: {
579
579
  type: {
@@ -688,10 +688,10 @@ const M = /* @__PURE__ */ $(R, [["render", B], ["__scopeId", "data-v-00b6cb2b"]]
688
688
  style: { position: "relative" }
689
689
  };
690
690
  function D(t, o, n, l, d, c) {
691
- return v(), C("div", j, [
691
+ return x(), C("div", j, [
692
692
  y("canvas", {
693
693
  ref: "chartCanvas",
694
- style: x([{ width: "100%" }, { height: t.height + "px" }])
694
+ style: v([{ width: "100%" }, { height: t.height + "px", maxHeight: t.height + "px" }])
695
695
  }, null, 4)
696
696
  ], 512);
697
697
  }
@@ -807,10 +807,10 @@ const F = /* @__PURE__ */ $(N, [["render", D]]), I = b({
807
807
  }
808
808
  });
809
809
  function P(t, o, n, l, d, c) {
810
- return v(), C("div", null, [
810
+ return x(), C("div", null, [
811
811
  y("canvas", {
812
812
  ref: "radarChartCanvas",
813
- style: x([{ width: "100%" }, { height: t.height + "px" }])
813
+ style: v([{ width: "100%" }, { height: t.height + "px", maxHeight: t.height + "px" }])
814
814
  }, null, 4)
815
815
  ]);
816
816
  }
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./charts-D71LM320.cjs");exports.JChBar=e.index;exports.JChBarLine=e.index$1;exports.JChBubble=e.index$2;exports.JChLine=e.index$3;exports.JChPieDoughnut=e.index$4;exports.JChRadar=e.index$5;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./charts-B7LwnjcQ.cjs");exports.JChBar=e.index;exports.JChBarLine=e.index$1;exports.JChBubble=e.index$2;exports.JChLine=e.index$3;exports.JChPieDoughnut=e.index$4;exports.JChRadar=e.index$5;
package/dist/charts.es.js CHANGED
@@ -1,4 +1,4 @@
1
- import { i as e, a as s, b as C, c as J, d as r, e as i } from "./charts-DFQ978tO.js";
1
+ import { i as e, a as s, b as C, c as J, d as r, e as i } from "./charts-D_0khFg_.js";
2
2
  export {
3
3
  e as JChBar,
4
4
  s as JChBarLine,
@@ -8,6 +8,8 @@ type LabelLike<T> = string | ((ctx: {
8
8
  type TranslateFn = (key: string, variables?: Record<string, any>) => string;
9
9
  export type JCMoreMenuAction<T = any> = {
10
10
  key?: string | number;
11
+ /** 用于图标插槽的唯一标识(选填) */
12
+ id?: string;
11
13
  /** 权限码;不传则默认当作有权限 */
12
14
  permissionCode?: string | null;
13
15
  /** 无权限时是否移除 DOM(默认 true) */
@@ -37,8 +39,8 @@ declare const _default: DefineComponent<ExtractPropTypes<{
37
39
  type: PropType<JCMoreMenuAction<any>[]>;
38
40
  default: () => never[];
39
41
  };
40
- preset: {
41
- type: PropType<"option" | "action">;
42
+ size: {
43
+ type: PropType<"md" | "lg">;
42
44
  default: string;
43
45
  };
44
46
  fit: {
@@ -54,7 +56,7 @@ declare const _default: DefineComponent<ExtractPropTypes<{
54
56
  default: string;
55
57
  };
56
58
  /**
57
- * action preset 时生效:默认 offset/anchor/self/minWidth 贴近业务中的写法
59
+ * size=lg 时生效:默认 offset/anchor/self/minWidth 贴近业务中的写法
58
60
  */
59
61
  offset: {
60
62
  type: PropType<[number, number]>;
@@ -80,12 +82,17 @@ declare const _default: DefineComponent<ExtractPropTypes<{
80
82
  type: PropType<TranslateFn | undefined>;
81
83
  default: undefined;
82
84
  };
85
+ showEmptyPlaceholder: {
86
+ type: BooleanConstructor;
87
+ default: boolean;
88
+ };
83
89
  }>, {
84
90
  hasVisibleActions: ComputedRef<boolean>;
85
91
  isActionVisible: (action: JCMoreMenuAction<any>) => boolean;
86
92
  isActionDisabled: (action: JCMoreMenuAction<any>) => boolean;
87
93
  shouldShowAction: (action: JCMoreMenuAction<any>) => boolean;
88
- preset: ComputedRef<"option" | "action">;
94
+ size: ComputedRef<"lg" | "md">;
95
+ showEmptyPlaceholder: ComputedRef<boolean>;
89
96
  computedFit: ComputedRef<boolean>;
90
97
  computedOffset: ComputedRef<[number, number] | undefined>;
91
98
  computedAnchor: ComputedRef<"top middle" | "top left" | "top right" | "top start" | "top end" | "center left" | "center middle" | "center right" | "center start" | "center end" | "bottom left" | "bottom middle" | "bottom right" | "bottom start" | "bottom end" | undefined>;
@@ -97,6 +104,7 @@ declare const _default: DefineComponent<ExtractPropTypes<{
97
104
  computedMenuAttrs: ComputedRef<Record<string, string | undefined>>;
98
105
  getActionLabel: (action: JCMoreMenuAction<any>) => string;
99
106
  handleActionClick: (action: JCMoreMenuAction<any>) => Promise<void>;
107
+ hasMenuIconSlot: (action: JCMoreMenuAction<any>) => boolean;
100
108
  }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
101
109
  action: (payload: {
102
110
  action: JCMoreMenuAction<any>;
@@ -111,8 +119,8 @@ declare const _default: DefineComponent<ExtractPropTypes<{
111
119
  type: PropType<JCMoreMenuAction<any>[]>;
112
120
  default: () => never[];
113
121
  };
114
- preset: {
115
- type: PropType<"option" | "action">;
122
+ size: {
123
+ type: PropType<"md" | "lg">;
116
124
  default: string;
117
125
  };
118
126
  fit: {
@@ -128,7 +136,7 @@ declare const _default: DefineComponent<ExtractPropTypes<{
128
136
  default: string;
129
137
  };
130
138
  /**
131
- * action preset 时生效:默认 offset/anchor/self/minWidth 贴近业务中的写法
139
+ * size=lg 时生效:默认 offset/anchor/self/minWidth 贴近业务中的写法
132
140
  */
133
141
  offset: {
134
142
  type: PropType<[number, number]>;
@@ -154,24 +162,29 @@ declare const _default: DefineComponent<ExtractPropTypes<{
154
162
  type: PropType<TranslateFn | undefined>;
155
163
  default: undefined;
156
164
  };
165
+ showEmptyPlaceholder: {
166
+ type: BooleanConstructor;
167
+ default: boolean;
168
+ };
157
169
  }>> & Readonly<{
158
170
  onAction?: ((payload: {
159
171
  action: JCMoreMenuAction<any>;
160
172
  item: any;
161
173
  }) => any) | undefined;
162
174
  }>, {
175
+ size: "lg" | "md";
163
176
  anchor: "top middle" | "top left" | "top right" | "top start" | "top end" | "center left" | "center middle" | "center right" | "center start" | "center end" | "bottom left" | "bottom middle" | "bottom right" | "bottom start" | "bottom end" | undefined;
164
177
  item: any;
165
178
  dense: boolean;
166
179
  self: "top middle" | "top left" | "top right" | "top start" | "top end" | "center left" | "center middle" | "center right" | "center start" | "center end" | "bottom left" | "bottom middle" | "bottom right" | "bottom start" | "bottom end" | undefined;
167
180
  offset: [number, number];
168
181
  actions: JCMoreMenuAction<any>[];
169
- preset: "option" | "action";
170
182
  fit: boolean | undefined;
171
183
  triggerSize: string;
172
184
  listMinWidth: string | undefined;
173
185
  menuClass: any;
174
186
  translate: TranslateFn | undefined;
187
+ showEmptyPlaceholder: boolean;
175
188
  }, {}, {
176
189
  QIcon: ComponentConstructor<QIcon>;
177
190
  QMenu: ComponentConstructor<QMenu>;
@@ -1,5 +1,6 @@
1
- import { SlotsType, DefineComponent, ExtractPropTypes, ComputedRef, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
2
- import { QPopupProxy, QCard, QCardSection, ComponentConstructor } from 'quasar';
1
+ import { SlotsType, DefineComponent, ExtractPropTypes, ComputedRef, ComponentOptionsMixin, PublicProps, PropType, Ref, ComponentProvideOptions } from 'vue';
2
+ import { QPopupProxy, QCard, QCardSection, ComponentConstructor, QBtn, QTooltip } from 'quasar';
3
+ import { JQButtonSizeType, JQButtonTypeType, JQButtonSlots } from '../j-q-button/index';
3
4
  declare const _default: DefineComponent<ExtractPropTypes<{
4
5
  title: {
5
6
  type: StringConstructor;
@@ -44,5 +45,92 @@ declare const _default: DefineComponent<ExtractPropTypes<{
44
45
  QPopupProxy: ComponentConstructor<QPopupProxy>;
45
46
  QCard: ComponentConstructor<QCard>;
46
47
  QCardSection: ComponentConstructor<QCardSection>;
48
+ JQButton: DefineComponent<ExtractPropTypes<{
49
+ size: {
50
+ type: PropType<JQButtonSizeType>;
51
+ default: "large";
52
+ validator: (value: JQButtonSizeType) => boolean;
53
+ };
54
+ type: {
55
+ type: PropType<JQButtonTypeType>;
56
+ default: "primary";
57
+ validator: (value: JQButtonTypeType) => boolean;
58
+ };
59
+ label: {
60
+ type: StringConstructor;
61
+ default: string;
62
+ };
63
+ icon: {
64
+ type: StringConstructor;
65
+ default: undefined;
66
+ };
67
+ loading: {
68
+ type: BooleanConstructor;
69
+ default: boolean;
70
+ };
71
+ tips: {
72
+ type: StringConstructor;
73
+ default: string;
74
+ };
75
+ }>, {
76
+ computedClass: ComputedRef<{
77
+ [x: string]: boolean;
78
+ 'j-q-button': boolean;
79
+ 'j-q-button--primary': boolean;
80
+ 'j-q-button--secondary': boolean;
81
+ 'j-q-button--text'?: undefined;
82
+ } | {
83
+ 'j-q-button--text': boolean;
84
+ 'j-q-button'?: undefined;
85
+ 'j-q-button--primary'?: undefined;
86
+ 'j-q-button--secondary'?: undefined;
87
+ }>;
88
+ iconPadding: ComputedRef<{
89
+ 'j-q-button-label': string | (() => any) | undefined;
90
+ }>;
91
+ click: (e: Event) => void;
92
+ qBtnRef: Ref< QBtn | null, QBtn | null>;
93
+ }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
94
+ click: (e: Event) => true;
95
+ }, string, PublicProps, Readonly< ExtractPropTypes<{
96
+ size: {
97
+ type: PropType<JQButtonSizeType>;
98
+ default: "large";
99
+ validator: (value: JQButtonSizeType) => boolean;
100
+ };
101
+ type: {
102
+ type: PropType<JQButtonTypeType>;
103
+ default: "primary";
104
+ validator: (value: JQButtonTypeType) => boolean;
105
+ };
106
+ label: {
107
+ type: StringConstructor;
108
+ default: string;
109
+ };
110
+ icon: {
111
+ type: StringConstructor;
112
+ default: undefined;
113
+ };
114
+ loading: {
115
+ type: BooleanConstructor;
116
+ default: boolean;
117
+ };
118
+ tips: {
119
+ type: StringConstructor;
120
+ default: string;
121
+ };
122
+ }>> & Readonly<{
123
+ onClick?: ((e: Event) => any) | undefined;
124
+ }>, {
125
+ type: JQButtonTypeType;
126
+ size: JQButtonSizeType;
127
+ label: string;
128
+ icon: string;
129
+ loading: boolean;
130
+ tips: string;
131
+ }, SlotsType< JQButtonSlots>, {
132
+ QBtn: ComponentConstructor<QBtn>;
133
+ QTooltip: ComponentConstructor<QTooltip>;
134
+ }, {}, string, ComponentProvideOptions, true, {}, any>;
47
135
  }, {}, string, ComponentProvideOptions, true, {}, any>;
48
136
  export default _default;
@@ -0,0 +1,53 @@
1
+ import { DefineComponent } from 'vue';
2
+ /** JQConfirm Props 接口 */
3
+ export interface JQConfirmProps {
4
+ /**
5
+ * 确认弹窗标题
6
+ * @default ''
7
+ */
8
+ title?: string;
9
+ /**
10
+ * 确认按钮文字
11
+ * @default '' (使用 i18n 默认值 action.confirm)
12
+ */
13
+ confirmText?: string;
14
+ /**
15
+ * 取消按钮文字
16
+ * @default '' (使用 i18n 默认值 action.cancel)
17
+ */
18
+ cancelText?: string;
19
+ }
20
+ /** JQConfirm Emits 接口 */
21
+ export interface JQConfirmEmits {
22
+ /**
23
+ * 确认事件
24
+ * @description 用户点击确认按钮时触发
25
+ */
26
+ (e: 'confirm'): void;
27
+ }
28
+ /** JQConfirm Slots 接口 */
29
+ export interface JQConfirmSlots {
30
+ /** 默认插槽,用于放置触发弹窗的元素 */
31
+ default?: () => any;
32
+ }
33
+ /** JQConfirm 暴露的方法和属性 */
34
+ export interface JQConfirmExpose {
35
+ /** 获取内部 QPopupProxy 组件的引用 */
36
+ popupRef: any;
37
+ }
38
+ /** Emits 配置对象格式 (用于 DefineComponent) */
39
+ export type JQConfirmEmitsOptions = {
40
+ confirm: () => true;
41
+ };
42
+ /** JQConfirm 组件类型定义 */
43
+ export type JQConfirmComponent = DefineComponent<JQConfirmProps, JQConfirmExpose, {}, {}, {}, {}, {}, JQConfirmEmitsOptions>;
44
+ /** JQConfirm 实例类型 - 用于 ref 类型定义 */
45
+ export type JQConfirmInstance = InstanceType<JQConfirmComponent> & JQConfirmExpose;
46
+ /**
47
+ * 用于模板中的 Props 类型定义
48
+ * 包含事件处理器和插槽
49
+ */
50
+ export interface JQConfirmTemplateProps extends JQConfirmProps {
51
+ /** 确认事件处理器 */
52
+ onConfirm?: () => void;
53
+ }
@@ -0,0 +1,80 @@
1
+ import { PropType, DefineComponent, ExtractPropTypes, ComputedRef, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
2
+ import { QBtn, ComponentConstructor } from 'quasar';
3
+ type TModelValue = any;
4
+ type TOptionDisabledFn = (optionValue: number, options: {
5
+ rangeStartValue?: number;
6
+ }) => boolean;
7
+ type TLocale = string | string[];
8
+ export interface IMonthItem {
9
+ MI: number;
10
+ YYYY: number;
11
+ }
12
+ declare const _default: DefineComponent<ExtractPropTypes<{
13
+ modelValue: {
14
+ type: PropType<TModelValue>;
15
+ };
16
+ locale: {
17
+ type: PropType<TLocale>;
18
+ };
19
+ optionDisabledFn: {
20
+ type: PropType<TOptionDisabledFn>;
21
+ };
22
+ range: {
23
+ type: BooleanConstructor;
24
+ default: undefined;
25
+ };
26
+ rangeStartValue: {
27
+ type: NumberConstructor;
28
+ default: undefined;
29
+ };
30
+ year: {
31
+ type: NumberConstructor;
32
+ required: true;
33
+ };
34
+ }>, {
35
+ computedMonthItems: ComputedRef<IMonthItem[]>;
36
+ itemValueDisplayFormatter: ComputedRef<Intl.DateTimeFormat>;
37
+ strokeItem: (e: Event, monthItem: IMonthItem) => void;
38
+ isItemRangingFrom: (monthItem: IMonthItem) => boolean;
39
+ isItemRangingIn: (monthItem: IMonthItem) => boolean;
40
+ isItemRangingTo: (monthItem: IMonthItem) => boolean;
41
+ isItemRanging: (monthItem: IMonthItem) => boolean;
42
+ isItemDisabled: (monthItem: IMonthItem) => boolean | undefined;
43
+ pickItem: (monthItem: IMonthItem) => void;
44
+ isItemActiveFrom: (monthItem: IMonthItem) => boolean;
45
+ isItemActiveIn: (monthItem: IMonthItem) => boolean;
46
+ isItemActiveTo: (monthItem: IMonthItem) => boolean;
47
+ isItemActive: (monthItem: IMonthItem) => boolean;
48
+ }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
49
+ pick: (value: number) => true;
50
+ }, string, PublicProps, Readonly< ExtractPropTypes<{
51
+ modelValue: {
52
+ type: PropType<TModelValue>;
53
+ };
54
+ locale: {
55
+ type: PropType<TLocale>;
56
+ };
57
+ optionDisabledFn: {
58
+ type: PropType<TOptionDisabledFn>;
59
+ };
60
+ range: {
61
+ type: BooleanConstructor;
62
+ default: undefined;
63
+ };
64
+ rangeStartValue: {
65
+ type: NumberConstructor;
66
+ default: undefined;
67
+ };
68
+ year: {
69
+ type: NumberConstructor;
70
+ required: true;
71
+ };
72
+ }>> & Readonly<{
73
+ onPick?: ((value: number) => any) | undefined;
74
+ }>, {
75
+ range: boolean;
76
+ rangeStartValue: number;
77
+ }, {}, {
78
+ QBtn: ComponentConstructor<QBtn>;
79
+ }, {}, string, ComponentProvideOptions, true, {}, any>;
80
+ export default _default;
@@ -0,0 +1,185 @@
1
+ import { PropType, DefineComponent, ExtractPropTypes, WritableComputedRef, Ref, ComputedRef, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
2
+ import { QBtn, QCard, QCardSection, ComponentConstructor } from 'quasar';
3
+ import { IMonthItem } from './JQMonthList';
4
+ type TModelValue = any;
5
+ type TLocale = string | string[];
6
+ type TOptionDisabledFn = (optionValue: number, options: {
7
+ rangeStartValue?: number;
8
+ }) => boolean;
9
+ declare const _default: DefineComponent<ExtractPropTypes<{
10
+ modelValue: {
11
+ type: PropType<TModelValue>;
12
+ };
13
+ locale: {
14
+ type: PropType<TLocale>;
15
+ };
16
+ optionDisabledFn: {
17
+ type: PropType<TOptionDisabledFn>;
18
+ };
19
+ range: {
20
+ type: BooleanConstructor;
21
+ default: undefined;
22
+ };
23
+ }>, {
24
+ computedValue: WritableComputedRef<any, any>;
25
+ year: Ref<number, number>;
26
+ yearDate: ComputedRef<Date>;
27
+ yearPopupVisible: Ref<boolean, boolean>;
28
+ computedOptionsContainerName: ComputedRef<string>;
29
+ rangeStartValue: Ref<number | undefined, number | undefined>;
30
+ setYear: (newYear: number) => void;
31
+ handleYearUpdate: (val: any) => void;
32
+ openYearPopup: () => void;
33
+ closeYearPopup: () => void;
34
+ pick: (value: number) => void;
35
+ }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
36
+ 'update:modelValue': (value: TModelValue) => true;
37
+ }, string, PublicProps, Readonly< ExtractPropTypes<{
38
+ modelValue: {
39
+ type: PropType<TModelValue>;
40
+ };
41
+ locale: {
42
+ type: PropType<TLocale>;
43
+ };
44
+ optionDisabledFn: {
45
+ type: PropType<TOptionDisabledFn>;
46
+ };
47
+ range: {
48
+ type: BooleanConstructor;
49
+ default: undefined;
50
+ };
51
+ }>> & Readonly<{
52
+ "onUpdate:modelValue"?: ((value: any) => any) | undefined;
53
+ }>, {
54
+ range: boolean;
55
+ }, {}, {
56
+ QBtn: ComponentConstructor<QBtn>;
57
+ QCard: ComponentConstructor<QCard>;
58
+ QCardSection: ComponentConstructor<QCardSection>;
59
+ JQMonthList: DefineComponent<ExtractPropTypes<{
60
+ modelValue: {
61
+ type: PropType<any>;
62
+ };
63
+ locale: {
64
+ type: PropType<string | string[]>;
65
+ };
66
+ optionDisabledFn: {
67
+ type: PropType<(optionValue: number, options: {
68
+ rangeStartValue?: number;
69
+ }) => boolean>;
70
+ };
71
+ range: {
72
+ type: BooleanConstructor;
73
+ default: undefined;
74
+ };
75
+ rangeStartValue: {
76
+ type: NumberConstructor;
77
+ default: undefined;
78
+ };
79
+ year: {
80
+ type: NumberConstructor;
81
+ required: true;
82
+ };
83
+ }>, {
84
+ computedMonthItems: ComputedRef< IMonthItem[]>;
85
+ itemValueDisplayFormatter: ComputedRef<Intl.DateTimeFormat>;
86
+ strokeItem: (e: Event, monthItem: IMonthItem) => void;
87
+ isItemRangingFrom: (monthItem: IMonthItem) => boolean;
88
+ isItemRangingIn: (monthItem: IMonthItem) => boolean;
89
+ isItemRangingTo: (monthItem: IMonthItem) => boolean;
90
+ isItemRanging: (monthItem: IMonthItem) => boolean;
91
+ isItemDisabled: (monthItem: IMonthItem) => boolean | undefined;
92
+ pickItem: (monthItem: IMonthItem) => void;
93
+ isItemActiveFrom: (monthItem: IMonthItem) => boolean;
94
+ isItemActiveIn: (monthItem: IMonthItem) => boolean;
95
+ isItemActiveTo: (monthItem: IMonthItem) => boolean;
96
+ isItemActive: (monthItem: IMonthItem) => boolean;
97
+ }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
98
+ pick: (value: number) => true;
99
+ }, string, PublicProps, Readonly< ExtractPropTypes<{
100
+ modelValue: {
101
+ type: PropType<any>;
102
+ };
103
+ locale: {
104
+ type: PropType<string | string[]>;
105
+ };
106
+ optionDisabledFn: {
107
+ type: PropType<(optionValue: number, options: {
108
+ rangeStartValue?: number;
109
+ }) => boolean>;
110
+ };
111
+ range: {
112
+ type: BooleanConstructor;
113
+ default: undefined;
114
+ };
115
+ rangeStartValue: {
116
+ type: NumberConstructor;
117
+ default: undefined;
118
+ };
119
+ year: {
120
+ type: NumberConstructor;
121
+ required: true;
122
+ };
123
+ }>> & Readonly<{
124
+ onPick?: ((value: number) => any) | undefined;
125
+ }>, {
126
+ range: boolean;
127
+ rangeStartValue: number;
128
+ }, {}, {
129
+ QBtn: ComponentConstructor<QBtn>;
130
+ }, {}, string, ComponentProvideOptions, true, {}, any>;
131
+ JQYearSelector: DefineComponent<ExtractPropTypes<{
132
+ modelValue: {
133
+ type: PropType<any>;
134
+ };
135
+ }>, {
136
+ MIN_INTERVAL_START: number;
137
+ MAX_INTERVAL_START: number;
138
+ INTERVAL_DELTA: number;
139
+ computedValue: WritableComputedRef<any, any>;
140
+ intervalStart: Ref<number, number>;
141
+ computedIntervalStart: WritableComputedRef<number, number>;
142
+ computedYearContainerTransitionName: ComputedRef<string>;
143
+ setInterval: (newIntervalStartYear: number) => void;
144
+ }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
145
+ 'update:modelValue': (value: any) => true;
146
+ }, string, PublicProps, Readonly< ExtractPropTypes<{
147
+ modelValue: {
148
+ type: PropType<any>;
149
+ };
150
+ }>> & Readonly<{
151
+ "onUpdate:modelValue"?: ((value: any) => any) | undefined;
152
+ }>, {}, {}, {
153
+ QBtn: ComponentConstructor<QBtn>;
154
+ QCard: ComponentConstructor<QCard>;
155
+ QCardSection: ComponentConstructor<QCardSection>;
156
+ JQYearList: DefineComponent<ExtractPropTypes<{
157
+ intervalStartYear: {
158
+ type: NumberConstructor;
159
+ required: true;
160
+ };
161
+ modelValue: {
162
+ type: PropType<any>;
163
+ };
164
+ }>, {
165
+ computedYearItems: ComputedRef<number[]>;
166
+ isItemActive: (yearItem: number) => boolean;
167
+ pickItem: (yearItem: number) => void;
168
+ }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
169
+ 'update:modelValue': (value: any) => true;
170
+ }, string, PublicProps, Readonly< ExtractPropTypes<{
171
+ intervalStartYear: {
172
+ type: NumberConstructor;
173
+ required: true;
174
+ };
175
+ modelValue: {
176
+ type: PropType<any>;
177
+ };
178
+ }>> & Readonly<{
179
+ "onUpdate:modelValue"?: ((value: any) => any) | undefined;
180
+ }>, {}, {}, {
181
+ QBtn: ComponentConstructor<QBtn>;
182
+ }, {}, string, ComponentProvideOptions, true, {}, any>;
183
+ }, {}, string, ComponentProvideOptions, true, {}, any>;
184
+ }, {}, string, ComponentProvideOptions, true, {}, any>;
185
+ export default _default;