@shwfed/config 2.5.1 → 2.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.
Files changed (50) hide show
  1. package/dist/module.json +1 -1
  2. package/dist/preview/assets/{config-BsgSoDjY.js → config-BVjCjkAL.js} +1 -1
  3. package/dist/preview/assets/{config-nsiwkAq8.js → config-C5TWIUX-.js} +1 -1
  4. package/dist/preview/assets/{config-2hrRmW-I.js → config-CH28q4_H.js} +1 -1
  5. package/dist/preview/assets/{config-BfzthOw9.js → config-CtGduGcR.js} +1 -1
  6. package/dist/preview/assets/{config-DdgZWox9.js → config-D9tBv8LD.js} +1 -1
  7. package/dist/preview/assets/{config-CaLzEMyt.js → config-DN6k6pjm.js} +1 -1
  8. package/dist/preview/assets/{config-DKtPKn2s.js → config-DxB8qwAu.js} +1 -1
  9. package/dist/preview/assets/{config-h_LH1CT_.js → config-U359oLg8.js} +1 -1
  10. package/dist/preview/assets/{config-zxVo1EOM.js → config-ekMG8PO0.js} +1 -1
  11. package/dist/preview/assets/{definition.vue_vue_type_script_setup_true_lang-CLpbGZ37.js → definition.vue_vue_type_script_setup_true_lang-I7unZVnH.js} +1 -1
  12. package/dist/preview/assets/{index-C5dK4QAf.js → index-CZ-XSjS_.js} +50 -50
  13. package/dist/preview/assets/index-HfGseg4M.js +1 -0
  14. package/dist/preview/assets/{runtime-CEXA5ttw.js → runtime-27bDIkKv.js} +1 -1
  15. package/dist/preview/assets/{runtime-DOLtY37Y.js → runtime-BAQ6ezPo.js} +1 -1
  16. package/dist/preview/assets/{runtime-DZqXButD.js → runtime-BKQvzSax.js} +1 -1
  17. package/dist/preview/assets/{runtime-MJo092Ed.js → runtime-BafXFP0s.js} +1 -1
  18. package/dist/preview/assets/{runtime-CZZWuLu9.js → runtime-CAzVJ-if.js} +1 -1
  19. package/dist/preview/assets/{runtime-BRWnAaFs.js → runtime-CQly-3c3.js} +1 -1
  20. package/dist/preview/assets/{runtime-527oKJb4.js → runtime-DJgDXKfE.js} +1 -1
  21. package/dist/preview/assets/{runtime-i3-6DCWP.js → runtime-Dhd51Wyr.js} +1 -1
  22. package/dist/preview/assets/{runtime-BLhH77F7.js → runtime-x8IdC454.js} +1 -1
  23. package/dist/preview/index.html +1 -1
  24. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.daterange/config.d.vue.ts +4 -4
  25. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.daterange/config.vue.d.ts +4 -4
  26. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetimerange/config.d.vue.ts +6 -6
  27. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetimerange/config.vue.d.ts +6 -6
  28. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.timerange/config.d.vue.ts +2 -2
  29. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.timerange/config.vue.d.ts +2 -2
  30. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.monthrange/config.d.vue.ts +4 -4
  31. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.monthrange/config.vue.d.ts +4 -4
  32. package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.date/config.vue +15 -9
  33. package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.icon/config.vue +19 -10
  34. package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.markdown/config.vue +19 -8
  35. package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.number/config.vue +20 -14
  36. package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.text/config.vue +20 -11
  37. package/dist/runtime/components/table/columns/2026-05-13/com.shwfed.table.column.switch.remote/config.vue +37 -16
  38. package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.number-input/config.vue +80 -34
  39. package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.switch.local/config.vue +48 -18
  40. package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.text-input/config.vue +44 -17
  41. package/dist/runtime/components/ui/date-picker/DatePickerInput.d.vue.ts +1 -1
  42. package/dist/runtime/components/ui/date-picker/DatePickerInput.vue.d.ts +1 -1
  43. package/dist/runtime/components/ui/date-picker/DatePickerTimeInput.d.vue.ts +1 -1
  44. package/dist/runtime/components/ui/date-picker/DatePickerTimeInput.vue.d.ts +1 -1
  45. package/dist/runtime/components/ui/date-range-picker/DateRangePickerInput.d.vue.ts +1 -1
  46. package/dist/runtime/components/ui/date-range-picker/DateRangePickerInput.vue.d.ts +1 -1
  47. package/dist/runtime/components/ui/date-range-picker/DateRangePickerTimeInput.d.vue.ts +2 -2
  48. package/dist/runtime/components/ui/date-range-picker/DateRangePickerTimeInput.vue.d.ts +2 -2
  49. package/package.json +1 -1
  50. package/dist/preview/assets/index-C0NJ1FZp.js +0 -1
@@ -0,0 +1 @@
1
+ import{aO as e}from"./index-CZ-XSjS_.js";import{aP as r,aQ as s,aR as t}from"./index-CZ-XSjS_.js";export{r as TableConfig,s as createTableConfig,e as default,t as getColumnTechnicalKey};
@@ -1 +1 @@
1
- import{d as i,aq as f,as as r,au as u,e as d,u as m,al as l,am as p,ao as _,o as g}from"./index-C5dK4QAf.js";import{_ as h}from"./definition.vue_vue_type_script_setup_true_lang-CLpbGZ37.js";const B=i({name:"ShwfedNavigationActionRuntime",__name:"runtime",props:{buttonId:{},config:{}},setup(e){const t=e,o=_(),c=(n,a)=>l(n,{...p(o),...a}),s=f(()=>r(c(t.config.url),n=>u(()=>{window.open(n,t.config.mode)})));return(n,a)=>(g(),d(h,{"action-id":e.buttonId,effect:m(s)},null,8,["action-id","effect"]))}});export{B as default};
1
+ import{d as i,aq as f,as as r,au as u,e as d,u as m,al as l,am as p,ao as _,o as g}from"./index-CZ-XSjS_.js";import{_ as h}from"./definition.vue_vue_type_script_setup_true_lang-I7unZVnH.js";const B=i({name:"ShwfedNavigationActionRuntime",__name:"runtime",props:{buttonId:{},config:{}},setup(e){const t=e,o=_(),c=(n,a)=>l(n,{...p(o),...a}),s=f(()=>r(c(t.config.url),n=>u(()=>{window.open(n,t.config.mode)})));return(n,a)=>(g(),d(h,{"action-id":e.buttonId,effect:m(s)},null,8,["action-id","effect"]))}});export{B as default};
@@ -1 +1 @@
1
- import{_ as s}from"./definition.vue_vue_type_script_setup_true_lang-CLpbGZ37.js";import{d as c,aq as o,aE as i,e as r,u as f,ap as u,o as p}from"./index-C5dK4QAf.js";const g=c({name:"ShwfedEventDispatchActionRuntime",__name:"runtime",props:{buttonId:{},config:{}},setup(e){const n=e,t=u(),a=o(()=>i(t,n.config.triggers));return(m,d)=>(p(),r(s,{"action-id":e.buttonId,effect:f(a)},null,8,["action-id","effect"]))}});export{g as default};
1
+ import{_ as s}from"./definition.vue_vue_type_script_setup_true_lang-I7unZVnH.js";import{d as c,aq as o,aE as i,e as r,u as f,ap as u,o as p}from"./index-CZ-XSjS_.js";const g=c({name:"ShwfedEventDispatchActionRuntime",__name:"runtime",props:{buttonId:{},config:{}},setup(e){const n=e,t=u(),a=o(()=>i(t,n.config.triggers));return(m,d)=>(p(),r(s,{"action-id":e.buttonId,effect:f(a)},null,8,["action-id","effect"]))}});export{g as default};
@@ -1 +1 @@
1
- import{d as u,ae as i,e as l,u as p,$ as m,o as d,k as f,ah as _,ai as k,al as w,am as x,ao as g}from"./index-C5dK4QAf.js";const B=u({name:"ShwfedMarkdownItemRuntime",__name:"runtime",props:{config:{}},setup(n){const o=n,{locale:s}=i(),t=g(),c=(e,a)=>w(e,{...x(t),...a}),r=m(()=>{const e=_(o.config.content,s.value)??"";return k(e,c)});return(e,a)=>(d(),l(p(f),{"data-slot":"buttons-markdown",source:r.value,class:"prose prose-sm prose-zinc px-1"},null,8,["source"]))}});export{B as default};
1
+ import{d as u,ae as i,e as l,u as p,$ as m,o as d,k as f,ah as _,ai as k,al as w,am as x,ao as g}from"./index-CZ-XSjS_.js";const B=u({name:"ShwfedMarkdownItemRuntime",__name:"runtime",props:{config:{}},setup(n){const o=n,{locale:s}=i(),t=g(),c=(e,a)=>w(e,{...x(t),...a}),r=m(()=>{const e=_(o.config.content,s.value)??"";return k(e,c)});return(e,a)=>(d(),l(p(f),{"data-slot":"buttons-markdown",source:r.value,class:"prose prose-sm prose-zinc px-1"},null,8,["source"]))}});export{B as default};
@@ -1 +1 @@
1
- import{d as l,ae as u,af as g,ag as m,ah as d,ai as p,aj as x,ak as k,e as E,u as _,al as h,am as w,an as C,ao as I,ap as j,o as v}from"./index-C5dK4QAf.js";import{_ as y}from"./definition.vue_vue_type_script_setup_true_lang-CLpbGZ37.js";const q=l({name:"ShwfedHttpRequestConfirmActionRuntime",__name:"runtime",props:{buttonId:{},config:{}},setup(s){const e=s,{locale:c}=u(),i=I(),t=(n,o)=>h(n,{...w(i),...o}),r=j(),a=C(),f=g(function*(){if(a&&!(yield*m(()=>a())))return;const n=d(e.config.markdown,c.value)??"",o=p(n,t);(yield*x({content:o,icon:e.config.icon,color:e.config.color}))||(yield*k(e.config.expression,t,{messageExpression:e.config.messageExpression,resultExpression:e.config.resultExpression,channel:r,triggers:{success:e.config.onSuccess,warning:e.config.onWarning,error:e.config.onError,info:e.config.onInfo}}))});return(n,o)=>(v(),E(y,{"action-id":s.buttonId,effect:_(f)},null,8,["action-id","effect"]))}});export{q as default};
1
+ import{d as l,ae as u,af as g,ag as m,ah as d,ai as p,aj as x,ak as k,e as E,u as _,al as h,am as w,an as C,ao as I,ap as j,o as v}from"./index-CZ-XSjS_.js";import{_ as y}from"./definition.vue_vue_type_script_setup_true_lang-I7unZVnH.js";const q=l({name:"ShwfedHttpRequestConfirmActionRuntime",__name:"runtime",props:{buttonId:{},config:{}},setup(s){const e=s,{locale:c}=u(),i=I(),t=(n,o)=>h(n,{...w(i),...o}),r=j(),a=C(),f=g(function*(){if(a&&!(yield*m(()=>a())))return;const n=d(e.config.markdown,c.value)??"",o=p(n,t);(yield*x({content:o,icon:e.config.icon,color:e.config.color}))||(yield*k(e.config.expression,t,{messageExpression:e.config.messageExpression,resultExpression:e.config.resultExpression,channel:r,triggers:{success:e.config.onSuccess,warning:e.config.onWarning,error:e.config.onError,info:e.config.onInfo}}))});return(n,o)=>(v(),E(y,{"action-id":s.buttonId,effect:_(f)},null,8,["action-id","effect"]))}});export{q as default};
@@ -1 +1 @@
1
- import{d as l,aH as g,aq as A,as as y,aE as _,e as h,u as S,al as b,am as j,ap as k,aI as C,o as B,ao as E}from"./index-C5dK4QAf.js";import{_ as I}from"./definition.vue_vue_type_script_setup_true_lang-CLpbGZ37.js";const F=l({name:"ShwfedStateWriteActionRuntime",__name:"runtime",props:{buttonId:{},config:{}},setup(r){const s=r,i=E(),f=(e,t)=>b(e,{...j(i),...t}),n=g(),o=n.kind==="form"&&n.parent?n.parent:n,u=k(),m=C((e,t,a)=>{if(Array.isArray(e[t])&&Array.isArray(a))return e[t]=a,!0});function c(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function p(e,t){return c(e)&&c(t)?m({...t},e):t}const d=A(()=>y(f(s.config.expression),e=>{for(const t of Object.keys(e)){const a=p(o.getAt(t),e[t]);o.setAt(t,a)}return _(u,s.config.onSuccess)}));return(e,t)=>(B(),h(I,{"action-id":r.buttonId,effect:S(d)},null,8,["action-id","effect"]))}});export{F as default};
1
+ import{d as l,aH as g,aq as A,as as y,aE as _,e as h,u as S,al as b,am as j,ap as k,aI as C,o as B,ao as E}from"./index-CZ-XSjS_.js";import{_ as I}from"./definition.vue_vue_type_script_setup_true_lang-I7unZVnH.js";const F=l({name:"ShwfedStateWriteActionRuntime",__name:"runtime",props:{buttonId:{},config:{}},setup(r){const s=r,i=E(),f=(e,t)=>b(e,{...j(i),...t}),n=g(),o=n.kind==="form"&&n.parent?n.parent:n,u=k(),m=C((e,t,a)=>{if(Array.isArray(e[t])&&Array.isArray(a))return e[t]=a,!0});function c(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function p(e,t){return c(e)&&c(t)?m({...t},e):t}const d=A(()=>y(f(s.config.expression),e=>{for(const t of Object.keys(e)){const a=p(o.getAt(t),e[t]);o.setAt(t,a)}return _(u,s.config.onSuccess)}));return(e,t)=>(B(),h(I,{"action-id":r.buttonId,effect:S(d)},null,8,["action-id","effect"]))}});export{F as default};
@@ -1 +1 @@
1
- import{_ as o}from"./definition.vue_vue_type_script_setup_true_lang-CLpbGZ37.js";import{d as n,e as a,u as c,o as f,at as i}from"./index-C5dK4QAf.js";const _=n({name:"ShwfedPrototypeActionRuntime",__name:"runtime",props:{buttonId:{},config:{}},setup(t){const e=i;return(r,s)=>(f(),a(o,{"action-id":t.buttonId,effect:c(e)},null,8,["action-id","effect"]))}});export{_ as default};
1
+ import{_ as o}from"./definition.vue_vue_type_script_setup_true_lang-I7unZVnH.js";import{d as n,e as a,u as c,o as f,at as i}from"./index-CZ-XSjS_.js";const _=n({name:"ShwfedPrototypeActionRuntime",__name:"runtime",props:{buttonId:{},config:{}},setup(t){const e=i;return(r,s)=>(f(),a(o,{"action-id":t.buttonId,effect:c(e)},null,8,["action-id","effect"]))}});export{_ as default};
@@ -1 +1 @@
1
- import{d as s,ae as p,av as x,af as M,ah as c,aw as T,ax as N,e as b,w as d,u,a0 as k,a1 as w,ap as L,au as S,o as A,f as I,ay as z,g as f,az as F,aA as H,a7 as V,ao as $,aB as r,aC as m,aD as j}from"./index-C5dK4QAf.js";import{_ as K}from"./definition.vue_vue_type_script_setup_true_lang-CLpbGZ37.js";const D=s({name:"ShwfedModalLayoutActionRuntime",__name:"runtime",props:{buttonId:{},config:{},buttonTitle:{}},setup(t){const n=t,{locale:l}=p(),v=e=>{},h=$(),i=w(r,void 0),g=L(),o=k(null),C=x(n.buttonId,{close:()=>S(()=>{o.value?.()})},g),y=s({name:"ModalBoundaryBridge",setup(e,{slots:a}){return H(h),m(j,C),i&&m(r,i),()=>a.default?.()}}),E=(e,a)=>V()?.(e,a),_=M(function*(){const e=c(n.config.modalTitle,l.value)??c(n.buttonTitle,l.value)??"",{modal:a,close:B}=yield*T({title:e,width:n.config.modalWidth});o.value=()=>N(B()),yield*a,o.value=null});return(e,a)=>(A(),b(K,{"action-id":t.buttonId,effect:u(_)},{default:d(()=>[I("div",{style:z(t.config.modalMinHeight?`min-height: ${t.config.modalMinHeight}`:void 0)},[f(u(y),null,{default:d(()=>[f(F,{"slot-value":t.config.slot,configure:v,"find-entry":E},null,8,["slot-value"])]),_:1})],4)]),_:1},8,["action-id","effect"]))}});export{D as default};
1
+ import{d as s,ae as p,av as x,af as M,ah as c,aw as T,ax as N,e as b,w as d,u,a0 as k,a1 as w,ap as L,au as S,o as A,f as I,ay as z,g as f,az as F,aA as H,a7 as V,ao as $,aB as r,aC as m,aD as j}from"./index-CZ-XSjS_.js";import{_ as K}from"./definition.vue_vue_type_script_setup_true_lang-I7unZVnH.js";const D=s({name:"ShwfedModalLayoutActionRuntime",__name:"runtime",props:{buttonId:{},config:{},buttonTitle:{}},setup(t){const n=t,{locale:l}=p(),v=e=>{},h=$(),i=w(r,void 0),g=L(),o=k(null),C=x(n.buttonId,{close:()=>S(()=>{o.value?.()})},g),y=s({name:"ModalBoundaryBridge",setup(e,{slots:a}){return H(h),m(j,C),i&&m(r,i),()=>a.default?.()}}),E=(e,a)=>V()?.(e,a),_=M(function*(){const e=c(n.config.modalTitle,l.value)??c(n.buttonTitle,l.value)??"",{modal:a,close:B}=yield*T({title:e,width:n.config.modalWidth});o.value=()=>N(B()),yield*a,o.value=null});return(e,a)=>(A(),b(K,{"action-id":t.buttonId,effect:u(_)},{default:d(()=>[I("div",{style:z(t.config.modalMinHeight?`min-height: ${t.config.modalMinHeight}`:void 0)},[f(u(y),null,{default:d(()=>[f(F,{"slot-value":t.config.slot,configure:v,"find-entry":E},null,8,["slot-value"])]),_:1})],4)]),_:1},8,["action-id","effect"]))}});export{D as default};
@@ -1 +1 @@
1
- import{d as E,aq as _,af as S,au as r,aE as m,aF as j,aG as v,e as x,u as B,al as L,am as b,ap as k,ao as C,o as R}from"./index-C5dK4QAf.js";import{_ as T}from"./definition.vue_vue_type_script_setup_true_lang-CLpbGZ37.js";const O=E({name:"ShwfedHttpDownloadActionRuntime",__name:"runtime",props:{buttonId:{},config:{}},setup(d){const c=d,g=C(),t=(e,n)=>L(e,{...b(g),...n}),l=k(),p=new Set(["success","error","warning","info"]);function f(e){const n=URL.createObjectURL(e),o=document.createElement("a");o.href=n,o.download=e.name,document.body.appendChild(o),o.click(),o.remove(),URL.revokeObjectURL(n)}const y=_(()=>S(function*(){const{template:e,messageExpression:n,resultExpression:o}=c.config,u=yield*t(e.request);if(!e.download){const s=yield*u.file();return yield*r(()=>f(s)),yield*m(l,c.config.onSuccess)}const a={json:yield*u.json()},i=o===void 0?"success":yield*j(t(o,a),s=>p.has(s)?s:"success");if(n!==void 0){const s=yield*t(n,a);yield*r(()=>v[i](s))}if(i==="success"||i==="info"){const h=yield*(yield*t(e.download,a)).file();yield*r(()=>f(h))}const w={success:c.config.onSuccess,warning:c.config.onWarning,error:c.config.onError,info:c.config.onInfo};return yield*m(l,w[i])}));return(e,n)=>(R(),x(T,{"action-id":d.buttonId,effect:B(y)},null,8,["action-id","effect"]))}});export{O as default};
1
+ import{d as E,aq as _,af as S,au as r,aE as m,aF as j,aG as v,e as x,u as B,al as L,am as b,ap as k,ao as C,o as R}from"./index-CZ-XSjS_.js";import{_ as T}from"./definition.vue_vue_type_script_setup_true_lang-I7unZVnH.js";const O=E({name:"ShwfedHttpDownloadActionRuntime",__name:"runtime",props:{buttonId:{},config:{}},setup(d){const c=d,g=C(),t=(e,n)=>L(e,{...b(g),...n}),l=k(),p=new Set(["success","error","warning","info"]);function f(e){const n=URL.createObjectURL(e),o=document.createElement("a");o.href=n,o.download=e.name,document.body.appendChild(o),o.click(),o.remove(),URL.revokeObjectURL(n)}const y=_(()=>S(function*(){const{template:e,messageExpression:n,resultExpression:o}=c.config,u=yield*t(e.request);if(!e.download){const s=yield*u.file();return yield*r(()=>f(s)),yield*m(l,c.config.onSuccess)}const a={json:yield*u.json()},i=o===void 0?"success":yield*j(t(o,a),s=>p.has(s)?s:"success");if(n!==void 0){const s=yield*t(n,a);yield*r(()=>v[i](s))}if(i==="success"||i==="info"){const h=yield*(yield*t(e.download,a)).file();yield*r(()=>f(h))}const w={success:c.config.onSuccess,warning:c.config.onWarning,error:c.config.onError,info:c.config.onInfo};return yield*m(l,w[i])}));return(e,n)=>(R(),x(T,{"action-id":d.buttonId,effect:B(y)},null,8,["action-id","effect"]))}});export{O as default};
@@ -1 +1 @@
1
- import{d as u,aq as p,ag as g,ar as a,as as m,ak as l,e as d,u as x,al as E,am as _,an as h,ao as C,ap as k,o as q}from"./index-C5dK4QAf.js";import{_ as v}from"./definition.vue_vue_type_script_setup_true_lang-CLpbGZ37.js";const R=u({name:"ShwfedHttpRequestActionRuntime",__name:"runtime",props:{buttonId:{},config:{}},setup(o){const e=o,c=C(),i=(n,s)=>E(n,{..._(c),...s}),r=k(),t=h(),f=p(()=>{const n=t?g(()=>t()):a(!0);return m(n,s=>s?l(e.config.expression,i,{messageExpression:e.config.messageExpression,resultExpression:e.config.resultExpression,channel:r,triggers:{success:e.config.onSuccess,warning:e.config.onWarning,error:e.config.onError,info:e.config.onInfo}}):a(void 0))});return(n,s)=>(q(),d(v,{"action-id":o.buttonId,effect:x(f)},null,8,["action-id","effect"]))}});export{R as default};
1
+ import{d as u,aq as p,ag as g,ar as a,as as m,ak as l,e as d,u as x,al as E,am as _,an as h,ao as C,ap as k,o as q}from"./index-CZ-XSjS_.js";import{_ as v}from"./definition.vue_vue_type_script_setup_true_lang-I7unZVnH.js";const R=u({name:"ShwfedHttpRequestActionRuntime",__name:"runtime",props:{buttonId:{},config:{}},setup(o){const e=o,c=C(),i=(n,s)=>E(n,{..._(c),...s}),r=k(),t=h(),f=p(()=>{const n=t?g(()=>t()):a(!0);return m(n,s=>s?l(e.config.expression,i,{messageExpression:e.config.messageExpression,resultExpression:e.config.resultExpression,channel:r,triggers:{success:e.config.onSuccess,warning:e.config.onWarning,error:e.config.onError,info:e.config.onInfo}}):a(void 0))});return(n,s)=>(q(),d(v,{"action-id":o.buttonId,effect:x(f)},null,8,["action-id","effect"]))}});export{R as default};
@@ -10,7 +10,7 @@
10
10
  `--primary`, the primary button variant renders as transparent. */
11
11
  body { --primary: #009689; }
12
12
  </style>
13
- <script type="module" crossorigin src="./assets/index-C5dK4QAf.js"></script>
13
+ <script type="module" crossorigin src="./assets/index-CZ-XSjS_.js"></script>
14
14
  <link rel="stylesheet" crossorigin href="./assets/index-nvAUAYGM.css">
15
15
  </head>
16
16
  <body>
@@ -33,9 +33,8 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
33
33
  readonly expression: string;
34
34
  } | undefined;
35
35
  readonly numberOfMonths?: number | undefined;
36
- readonly format?: string | undefined;
37
- readonly valueFormat?: string | undefined;
38
36
  readonly rangeSeparatorIcon?: string | undefined;
37
+ readonly format?: string | undefined;
39
38
  readonly startPlaceholder?: readonly [{
40
39
  readonly locale: "zh";
41
40
  readonly message: string;
@@ -50,6 +49,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
50
49
  readonly locale: "en" | "ja" | "ko";
51
50
  readonly message: string;
52
51
  }[]] | undefined;
52
+ readonly valueFormat?: string | undefined;
53
53
  readonly validations?: readonly {
54
54
  readonly message: readonly [{
55
55
  readonly locale: "zh";
@@ -105,9 +105,8 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
105
105
  readonly expression: string;
106
106
  } | undefined;
107
107
  readonly numberOfMonths?: number | undefined;
108
- readonly format?: string | undefined;
109
- readonly valueFormat?: string | undefined;
110
108
  readonly rangeSeparatorIcon?: string | undefined;
109
+ readonly format?: string | undefined;
111
110
  readonly startPlaceholder?: readonly [{
112
111
  readonly locale: "zh";
113
112
  readonly message: string;
@@ -122,6 +121,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
122
121
  readonly locale: "en" | "ja" | "ko";
123
122
  readonly message: string;
124
123
  }[]] | undefined;
124
+ readonly valueFormat?: string | undefined;
125
125
  readonly validations?: readonly {
126
126
  readonly message: readonly [{
127
127
  readonly locale: "zh";
@@ -33,9 +33,8 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
33
33
  readonly expression: string;
34
34
  } | undefined;
35
35
  readonly numberOfMonths?: number | undefined;
36
- readonly format?: string | undefined;
37
- readonly valueFormat?: string | undefined;
38
36
  readonly rangeSeparatorIcon?: string | undefined;
37
+ readonly format?: string | undefined;
39
38
  readonly startPlaceholder?: readonly [{
40
39
  readonly locale: "zh";
41
40
  readonly message: string;
@@ -50,6 +49,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
50
49
  readonly locale: "en" | "ja" | "ko";
51
50
  readonly message: string;
52
51
  }[]] | undefined;
52
+ readonly valueFormat?: string | undefined;
53
53
  readonly validations?: readonly {
54
54
  readonly message: readonly [{
55
55
  readonly locale: "zh";
@@ -105,9 +105,8 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
105
105
  readonly expression: string;
106
106
  } | undefined;
107
107
  readonly numberOfMonths?: number | undefined;
108
- readonly format?: string | undefined;
109
- readonly valueFormat?: string | undefined;
110
108
  readonly rangeSeparatorIcon?: string | undefined;
109
+ readonly format?: string | undefined;
111
110
  readonly startPlaceholder?: readonly [{
112
111
  readonly locale: "zh";
113
112
  readonly message: string;
@@ -122,6 +121,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
122
121
  readonly locale: "en" | "ja" | "ko";
123
122
  readonly message: string;
124
123
  }[]] | undefined;
124
+ readonly valueFormat?: string | undefined;
125
125
  readonly validations?: readonly {
126
126
  readonly message: readonly [{
127
127
  readonly locale: "zh";
@@ -34,10 +34,8 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
34
34
  } | undefined;
35
35
  readonly numberOfMonths?: number | undefined;
36
36
  readonly hourCycle?: 12 | 24 | undefined;
37
- readonly format?: string | undefined;
38
- readonly valueFormat?: string | undefined;
39
- readonly timeGranularity?: "hour" | "minute" | "second" | undefined;
40
37
  readonly rangeSeparatorIcon?: string | undefined;
38
+ readonly format?: string | undefined;
41
39
  readonly startPlaceholder?: readonly [{
42
40
  readonly locale: "zh";
43
41
  readonly message: string;
@@ -52,6 +50,8 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
52
50
  readonly locale: "en" | "ja" | "ko";
53
51
  readonly message: string;
54
52
  }[]] | undefined;
53
+ readonly valueFormat?: string | undefined;
54
+ readonly timeGranularity?: "hour" | "minute" | "second" | undefined;
55
55
  readonly validations?: readonly {
56
56
  readonly message: readonly [{
57
57
  readonly locale: "zh";
@@ -108,10 +108,8 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
108
108
  } | undefined;
109
109
  readonly numberOfMonths?: number | undefined;
110
110
  readonly hourCycle?: 12 | 24 | undefined;
111
- readonly format?: string | undefined;
112
- readonly valueFormat?: string | undefined;
113
- readonly timeGranularity?: "hour" | "minute" | "second" | undefined;
114
111
  readonly rangeSeparatorIcon?: string | undefined;
112
+ readonly format?: string | undefined;
115
113
  readonly startPlaceholder?: readonly [{
116
114
  readonly locale: "zh";
117
115
  readonly message: string;
@@ -126,6 +124,8 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
126
124
  readonly locale: "en" | "ja" | "ko";
127
125
  readonly message: string;
128
126
  }[]] | undefined;
127
+ readonly valueFormat?: string | undefined;
128
+ readonly timeGranularity?: "hour" | "minute" | "second" | undefined;
129
129
  readonly validations?: readonly {
130
130
  readonly message: readonly [{
131
131
  readonly locale: "zh";
@@ -34,10 +34,8 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
34
34
  } | undefined;
35
35
  readonly numberOfMonths?: number | undefined;
36
36
  readonly hourCycle?: 12 | 24 | undefined;
37
- readonly format?: string | undefined;
38
- readonly valueFormat?: string | undefined;
39
- readonly timeGranularity?: "hour" | "minute" | "second" | undefined;
40
37
  readonly rangeSeparatorIcon?: string | undefined;
38
+ readonly format?: string | undefined;
41
39
  readonly startPlaceholder?: readonly [{
42
40
  readonly locale: "zh";
43
41
  readonly message: string;
@@ -52,6 +50,8 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
52
50
  readonly locale: "en" | "ja" | "ko";
53
51
  readonly message: string;
54
52
  }[]] | undefined;
53
+ readonly valueFormat?: string | undefined;
54
+ readonly timeGranularity?: "hour" | "minute" | "second" | undefined;
55
55
  readonly validations?: readonly {
56
56
  readonly message: readonly [{
57
57
  readonly locale: "zh";
@@ -108,10 +108,8 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
108
108
  } | undefined;
109
109
  readonly numberOfMonths?: number | undefined;
110
110
  readonly hourCycle?: 12 | 24 | undefined;
111
- readonly format?: string | undefined;
112
- readonly valueFormat?: string | undefined;
113
- readonly timeGranularity?: "hour" | "minute" | "second" | undefined;
114
111
  readonly rangeSeparatorIcon?: string | undefined;
112
+ readonly format?: string | undefined;
115
113
  readonly startPlaceholder?: readonly [{
116
114
  readonly locale: "zh";
117
115
  readonly message: string;
@@ -126,6 +124,8 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
126
124
  readonly locale: "en" | "ja" | "ko";
127
125
  readonly message: string;
128
126
  }[]] | undefined;
127
+ readonly valueFormat?: string | undefined;
128
+ readonly timeGranularity?: "hour" | "minute" | "second" | undefined;
129
129
  readonly validations?: readonly {
130
130
  readonly message: readonly [{
131
131
  readonly locale: "zh";
@@ -33,9 +33,9 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
33
33
  readonly expression: string;
34
34
  } | undefined;
35
35
  readonly hourCycle?: 12 | 24 | undefined;
36
+ readonly rangeSeparatorIcon?: string | undefined;
36
37
  readonly valueFormat?: string | undefined;
37
38
  readonly timeGranularity?: "hour" | "minute" | "second" | undefined;
38
- readonly rangeSeparatorIcon?: string | undefined;
39
39
  readonly validations?: readonly {
40
40
  readonly message: readonly [{
41
41
  readonly locale: "zh";
@@ -79,9 +79,9 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
79
79
  readonly expression: string;
80
80
  } | undefined;
81
81
  readonly hourCycle?: 12 | 24 | undefined;
82
+ readonly rangeSeparatorIcon?: string | undefined;
82
83
  readonly valueFormat?: string | undefined;
83
84
  readonly timeGranularity?: "hour" | "minute" | "second" | undefined;
84
- readonly rangeSeparatorIcon?: string | undefined;
85
85
  readonly validations?: readonly {
86
86
  readonly message: readonly [{
87
87
  readonly locale: "zh";
@@ -33,9 +33,9 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
33
33
  readonly expression: string;
34
34
  } | undefined;
35
35
  readonly hourCycle?: 12 | 24 | undefined;
36
+ readonly rangeSeparatorIcon?: string | undefined;
36
37
  readonly valueFormat?: string | undefined;
37
38
  readonly timeGranularity?: "hour" | "minute" | "second" | undefined;
38
- readonly rangeSeparatorIcon?: string | undefined;
39
39
  readonly validations?: readonly {
40
40
  readonly message: readonly [{
41
41
  readonly locale: "zh";
@@ -79,9 +79,9 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
79
79
  readonly expression: string;
80
80
  } | undefined;
81
81
  readonly hourCycle?: 12 | 24 | undefined;
82
+ readonly rangeSeparatorIcon?: string | undefined;
82
83
  readonly valueFormat?: string | undefined;
83
84
  readonly timeGranularity?: "hour" | "minute" | "second" | undefined;
84
- readonly rangeSeparatorIcon?: string | undefined;
85
85
  readonly validations?: readonly {
86
86
  readonly message: readonly [{
87
87
  readonly locale: "zh";
@@ -32,9 +32,8 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
32
32
  readonly mode: "formula" | "prefill";
33
33
  readonly expression: string;
34
34
  } | undefined;
35
- readonly format?: string | undefined;
36
- readonly valueFormat?: string | undefined;
37
35
  readonly rangeSeparatorIcon?: string | undefined;
36
+ readonly format?: string | undefined;
38
37
  readonly startPlaceholder?: readonly [{
39
38
  readonly locale: "zh";
40
39
  readonly message: string;
@@ -49,6 +48,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
49
48
  readonly locale: "en" | "ja" | "ko";
50
49
  readonly message: string;
51
50
  }[]] | undefined;
51
+ readonly valueFormat?: string | undefined;
52
52
  readonly validations?: readonly {
53
53
  readonly message: readonly [{
54
54
  readonly locale: "zh";
@@ -103,9 +103,8 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
103
103
  readonly mode: "formula" | "prefill";
104
104
  readonly expression: string;
105
105
  } | undefined;
106
- readonly format?: string | undefined;
107
- readonly valueFormat?: string | undefined;
108
106
  readonly rangeSeparatorIcon?: string | undefined;
107
+ readonly format?: string | undefined;
109
108
  readonly startPlaceholder?: readonly [{
110
109
  readonly locale: "zh";
111
110
  readonly message: string;
@@ -120,6 +119,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
120
119
  readonly locale: "en" | "ja" | "ko";
121
120
  readonly message: string;
122
121
  }[]] | undefined;
122
+ readonly valueFormat?: string | undefined;
123
123
  readonly validations?: readonly {
124
124
  readonly message: readonly [{
125
125
  readonly locale: "zh";
@@ -32,9 +32,8 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
32
32
  readonly mode: "formula" | "prefill";
33
33
  readonly expression: string;
34
34
  } | undefined;
35
- readonly format?: string | undefined;
36
- readonly valueFormat?: string | undefined;
37
35
  readonly rangeSeparatorIcon?: string | undefined;
36
+ readonly format?: string | undefined;
38
37
  readonly startPlaceholder?: readonly [{
39
38
  readonly locale: "zh";
40
39
  readonly message: string;
@@ -49,6 +48,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
49
48
  readonly locale: "en" | "ja" | "ko";
50
49
  readonly message: string;
51
50
  }[]] | undefined;
51
+ readonly valueFormat?: string | undefined;
52
52
  readonly validations?: readonly {
53
53
  readonly message: readonly [{
54
54
  readonly locale: "zh";
@@ -103,9 +103,8 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
103
103
  readonly mode: "formula" | "prefill";
104
104
  readonly expression: string;
105
105
  } | undefined;
106
- readonly format?: string | undefined;
107
- readonly valueFormat?: string | undefined;
108
106
  readonly rangeSeparatorIcon?: string | undefined;
107
+ readonly format?: string | undefined;
109
108
  readonly startPlaceholder?: readonly [{
110
109
  readonly locale: "zh";
111
110
  readonly message: string;
@@ -120,6 +119,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
120
119
  readonly locale: "en" | "ja" | "ko";
121
120
  readonly message: string;
122
121
  }[]] | undefined;
122
+ readonly valueFormat?: string | undefined;
123
123
  readonly validations?: readonly {
124
124
  readonly message: readonly [{
125
125
  readonly locale: "zh";
@@ -65,7 +65,10 @@ const dateFormatExample = computed(() => {
65
65
  </template>
66
66
  {{ fieldTitle("title") }}
67
67
  </FieldLabel>
68
- <Locale v-model="value.title" />
68
+ <Locale
69
+ :model-value="value.title"
70
+ @update:model-value="(v) => value = { ...value, title: v }"
71
+ />
69
72
  </Field>
70
73
  <Field orientation="vertical">
71
74
  <FieldLabel class="text-xs text-zinc-500">
@@ -82,8 +85,9 @@ const dateFormatExample = computed(() => {
82
85
  {{ fieldTitle("tooltip") }}
83
86
  </FieldLabel>
84
87
  <Locale
85
- v-model="value.tooltip"
88
+ :model-value="value.tooltip"
86
89
  markdown
90
+ @update:model-value="(v) => value = { ...value, tooltip: v }"
87
91
  />
88
92
  </Field>
89
93
  </div>
@@ -103,9 +107,10 @@ const dateFormatExample = computed(() => {
103
107
  {{ fieldTitle("accessor") }}
104
108
  </FieldLabel>
105
109
  <Input
106
- v-model="value.accessor"
110
+ :model-value="value.accessor"
107
111
  placeholder="如 row.joinDate"
108
112
  class="font-mono text-xs"
113
+ @update:model-value="(v) => value = { ...value, accessor: v }"
109
114
  />
110
115
  </Field>
111
116
  <Field orientation="vertical">
@@ -124,9 +129,10 @@ const dateFormatExample = computed(() => {
124
129
  </FieldLabel>
125
130
  <InputGroup>
126
131
  <InputGroupInput
127
- v-model="value.format"
132
+ :model-value="value.format"
128
133
  placeholder="yyyy-MM-dd"
129
134
  class="font-mono text-xs"
135
+ @update:model-value="(v) => value = { ...value, format: v }"
130
136
  />
131
137
  <InputGroupAddon
132
138
  v-if="dateFormatExample"
@@ -168,7 +174,7 @@ const dateFormatExample = computed(() => {
168
174
  <DropdownMenuItem
169
175
  v-for="opt in ALIGN_OPTIONS"
170
176
  :key="opt.value"
171
- @select="value.align = opt.value"
177
+ @select="value = { ...value, align: opt.value }"
172
178
  >
173
179
  <Icon :icon="opt.icon" />
174
180
  {{ opt.label }}
@@ -180,13 +186,13 @@ const dateFormatExample = computed(() => {
180
186
  :model-value="value.size"
181
187
  :disabled="value.grow"
182
188
  :min="0"
183
- @update:model-value="(v) => value.size = v"
189
+ @update:model-value="(v) => value = { ...value, size: v }"
184
190
  />
185
191
  <InputGroupAddon align="inline-end">
186
192
  <InputGroupButton
187
193
  :variant="value.grow ? 'primary' : 'ghost'"
188
194
  size="xs"
189
- @click="value.grow = !value.grow"
195
+ @click="value = { ...value, grow: !value.grow }"
190
196
  >
191
197
  <Icon :icon="value.grow ? 'fluent:lock-closed-20-regular' : 'fluent:arrow-autofit-width-20-regular'" />
192
198
  {{ fieldTitle("grow") }}
@@ -218,13 +224,13 @@ const dateFormatExample = computed(() => {
218
224
  <InputGroupInput
219
225
  :model-value="value.sortKey"
220
226
  placeholder="例:created_at"
221
- @update:model-value="(v) => value.sortKey = v || void 0"
227
+ @update:model-value="(v) => value = { ...value, sortKey: v || void 0 }"
222
228
  />
223
229
  <InputGroupAddon align="inline-end">
224
230
  <InputGroupButton
225
231
  :variant="value.enableSorting ? 'primary' : 'ghost'"
226
232
  size="xs"
227
- @click="value.enableSorting = !value.enableSorting"
233
+ @click="value = { ...value, enableSorting: !value.enableSorting }"
228
234
  >
229
235
  <Icon :icon="value.enableSorting ? 'fluent:arrow-sort-up-16-regular' : 'fluent:arrow-sort-16-regular'" />
230
236
  {{ fieldTitle("enableSorting") }}
@@ -38,8 +38,12 @@ const currentAlignIcon = computed(
38
38
  const colorModel = computed({
39
39
  get: () => value.value.color ?? "",
40
40
  set: (v) => {
41
- if (v === "") delete value.value.color;
42
- else value.value.color = v;
41
+ if (v === "") {
42
+ const { color: _drop, ...rest } = value.value;
43
+ value.value = rest;
44
+ } else {
45
+ value.value = { ...value.value, color: v };
46
+ }
43
47
  }
44
48
  });
45
49
  const ROW_VARS = {
@@ -65,7 +69,10 @@ const ROW_VARS = {
65
69
  </template>
66
70
  {{ fieldTitle("title") }}
67
71
  </FieldLabel>
68
- <Locale v-model="value.title" />
72
+ <Locale
73
+ :model-value="value.title"
74
+ @update:model-value="(v) => value = { ...value, title: v }"
75
+ />
69
76
  </Field>
70
77
  <Field orientation="vertical">
71
78
  <FieldLabel class="text-xs text-zinc-500">
@@ -82,8 +89,9 @@ const ROW_VARS = {
82
89
  {{ fieldTitle("tooltip") }}
83
90
  </FieldLabel>
84
91
  <Locale
85
- v-model="value.tooltip"
92
+ :model-value="value.tooltip"
86
93
  markdown
94
+ @update:model-value="(v) => value = { ...value, tooltip: v }"
87
95
  />
88
96
  </Field>
89
97
  </div>
@@ -103,9 +111,10 @@ const ROW_VARS = {
103
111
  {{ fieldTitle("accessor") }}
104
112
  </FieldLabel>
105
113
  <ExpressionEditor
106
- v-model="value.accessor"
114
+ :model-value="value.accessor"
107
115
  placeholder="如 &quot;fluent:checkmark-circle-20-regular&quot;"
108
116
  :extra-vars="ROW_VARS"
117
+ @update:model-value="(v) => value = { ...value, accessor: v }"
109
118
  />
110
119
  </Field>
111
120
  <Field orientation="vertical">
@@ -138,7 +147,7 @@ const ROW_VARS = {
138
147
  <DropdownMenuItem
139
148
  v-for="opt in ALIGN_OPTIONS"
140
149
  :key="opt.value"
141
- @select="value.align = opt.value"
150
+ @select="value = { ...value, align: opt.value }"
142
151
  >
143
152
  <Icon :icon="opt.icon" />
144
153
  {{ opt.label }}
@@ -150,13 +159,13 @@ const ROW_VARS = {
150
159
  :model-value="value.size"
151
160
  :disabled="value.grow"
152
161
  :min="0"
153
- @update:model-value="(v) => value.size = v"
162
+ @update:model-value="(v) => value = { ...value, size: v }"
154
163
  />
155
164
  <InputGroupAddon align="inline-end">
156
165
  <InputGroupButton
157
166
  :variant="value.grow ? 'primary' : 'ghost'"
158
167
  size="xs"
159
- @click="value.grow = !value.grow"
168
+ @click="value = { ...value, grow: !value.grow }"
160
169
  >
161
170
  <Icon :icon="value.grow ? 'fluent:lock-closed-20-regular' : 'fluent:arrow-autofit-width-20-regular'" />
162
171
  {{ fieldTitle("grow") }}
@@ -209,13 +218,13 @@ const ROW_VARS = {
209
218
  <InputGroupInput
210
219
  :model-value="value.sortKey"
211
220
  placeholder="例:created_at"
212
- @update:model-value="(v) => value.sortKey = v || void 0"
221
+ @update:model-value="(v) => value = { ...value, sortKey: v || void 0 }"
213
222
  />
214
223
  <InputGroupAddon align="inline-end">
215
224
  <InputGroupButton
216
225
  :variant="value.enableSorting ? 'primary' : 'ghost'"
217
226
  size="xs"
218
- @click="value.enableSorting = !value.enableSorting"
227
+ @click="value = { ...value, enableSorting: !value.enableSorting }"
219
228
  >
220
229
  <Icon :icon="value.enableSorting ? 'fluent:arrow-sort-up-16-regular' : 'fluent:arrow-sort-16-regular'" />
221
230
  {{ fieldTitle("enableSorting") }}
@@ -36,8 +36,12 @@ const currentAlignIcon = computed(
36
36
  const copyExpressionModel = computed({
37
37
  get: () => value.value.copyExpression ?? "",
38
38
  set: (v) => {
39
- if (v === "") delete value.value.copyExpression;
40
- else value.value.copyExpression = v;
39
+ if (v === "") {
40
+ const { copyExpression: _drop, ...rest } = value.value;
41
+ value.value = rest;
42
+ } else {
43
+ value.value = { ...value.value, copyExpression: v };
44
+ }
41
45
  }
42
46
  });
43
47
  </script>
@@ -59,7 +63,10 @@ const copyExpressionModel = computed({
59
63
  </template>
60
64
  {{ fieldTitle("title") }}
61
65
  </FieldLabel>
62
- <Locale v-model="value.title" />
66
+ <Locale
67
+ :model-value="value.title"
68
+ @update:model-value="(v) => value = { ...value, title: v }"
69
+ />
63
70
  </Field>
64
71
  <Field orientation="vertical">
65
72
  <FieldLabel class="text-xs text-zinc-500">
@@ -76,8 +83,9 @@ const copyExpressionModel = computed({
76
83
  {{ fieldTitle("tooltip") }}
77
84
  </FieldLabel>
78
85
  <Locale
79
- v-model="value.tooltip"
86
+ :model-value="value.tooltip"
80
87
  markdown
88
+ @update:model-value="(v) => value = { ...value, tooltip: v }"
81
89
  />
82
90
  </Field>
83
91
  </div>
@@ -112,7 +120,7 @@ const copyExpressionModel = computed({
112
120
  <DropdownMenuItem
113
121
  v-for="opt in ALIGN_OPTIONS"
114
122
  :key="opt.value"
115
- @select="value.align = opt.value"
123
+ @select="value = { ...value, align: opt.value }"
116
124
  >
117
125
  <Icon :icon="opt.icon" />
118
126
  {{ opt.label }}
@@ -124,13 +132,13 @@ const copyExpressionModel = computed({
124
132
  :model-value="value.size"
125
133
  :disabled="value.grow"
126
134
  :min="0"
127
- @update:model-value="(v) => value.size = v"
135
+ @update:model-value="(v) => value = { ...value, size: v }"
128
136
  />
129
137
  <InputGroupAddon align="inline-end">
130
138
  <InputGroupButton
131
139
  :variant="value.grow ? 'primary' : 'ghost'"
132
140
  size="xs"
133
- @click="value.grow = !value.grow"
141
+ @click="value = { ...value, grow: !value.grow }"
134
142
  >
135
143
  <Icon :icon="value.grow ? 'fluent:lock-closed-20-regular' : 'fluent:arrow-autofit-width-20-regular'" />
136
144
  {{ fieldTitle("grow") }}
@@ -174,7 +182,10 @@ const copyExpressionModel = computed({
174
182
  </template>
175
183
  {{ fieldTitle("markdown") }}
176
184
  </FieldLabel>
177
- <Locale v-model="value.markdown" />
185
+ <Locale
186
+ :model-value="value.markdown"
187
+ @update:model-value="(v) => value = { ...value, markdown: v }"
188
+ />
178
189
  </Field>
179
190
  </div>
180
191
  </template>