@shwfed/config 2.3.29 → 2.4.0

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 (47) hide show
  1. package/dist/mcp.mjs +4 -4
  2. package/dist/module.json +1 -1
  3. package/dist/preview/assets/{config-rpX_Mc6I.js → config-BcQQl4v6.js} +1 -1
  4. package/dist/preview/assets/{config-6IiXCmyu.js → config-BdFIFUa_.js} +1 -1
  5. package/dist/preview/assets/{config-CZOeZ8ty.js → config-Bi9F-Jdh.js} +1 -1
  6. package/dist/preview/assets/{config-DaZD4ZSa.js → config-Bxkq2ZRm.js} +1 -1
  7. package/dist/preview/assets/{config-aK67Rsw5.js → config-C32yfrlg.js} +1 -1
  8. package/dist/preview/assets/{config-BJzUh1_G.js → config-CHHX7vhb.js} +1 -1
  9. package/dist/preview/assets/{config-Diuyh0Ex.js → config-CZ0f5xdI.js} +1 -1
  10. package/dist/preview/assets/{config-Bl80ye-i.js → config-D9xGgFnF.js} +1 -1
  11. package/dist/preview/assets/{config-DhsbcNzx.js → config-Ddh8pxIi.js} +1 -1
  12. package/dist/preview/assets/{definition.vue_vue_type_script_setup_true_lang-C_jU8d47.js → definition.vue_vue_type_script_setup_true_lang-C_cjxvm1.js} +1 -1
  13. package/dist/preview/assets/{index-2eQR4s3q.css → index-BqOX70Hd.css} +1 -1
  14. package/dist/preview/assets/{index-DEF3_MKr.js → index-D-VR1i8D.js} +78 -78
  15. package/dist/preview/assets/index-ihZGlPdX.js +1 -0
  16. package/dist/preview/assets/{runtime-DpeCgGEG.js → runtime-Bn8mqeDH.js} +1 -1
  17. package/dist/preview/assets/{runtime-K2a1x0TJ.js → runtime-Cc_Wk3o-.js} +1 -1
  18. package/dist/preview/assets/{runtime-D_fJCKX_.js → runtime-CttAjIgg.js} +1 -1
  19. package/dist/preview/assets/{runtime-g9Zu3VNQ.js → runtime-Cx4f2UTl.js} +1 -1
  20. package/dist/preview/assets/{runtime-CjR8Vi5N.js → runtime-D1dESjXR.js} +1 -1
  21. package/dist/preview/assets/{runtime-BcLnafic.js → runtime-DIEP1Xbh.js} +1 -1
  22. package/dist/preview/assets/{runtime-CSaV-359.js → runtime-DKceWuBx.js} +1 -1
  23. package/dist/preview/assets/{runtime-3p1K6te5.js → runtime-Dhid9O5c.js} +1 -1
  24. package/dist/preview/assets/{runtime-jTnh_6Dm.js → runtime-YMiqi6WY.js} +1 -1
  25. package/dist/preview/index.html +2 -2
  26. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.form/config.d.vue.ts +2 -0
  27. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.form/config.vue.d.ts +2 -0
  28. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.form/runtime.d.vue.ts +2 -0
  29. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.form/runtime.vue.d.ts +2 -0
  30. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.form/schema.d.ts +2 -0
  31. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.table/config.d.vue.ts +2 -0
  32. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.table/config.vue.d.ts +2 -0
  33. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.table/runtime.d.vue.ts +2 -0
  34. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.table/runtime.vue.d.ts +2 -0
  35. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.table/schema.d.ts +3 -0
  36. package/dist/runtime/components/form/config.vue +32 -0
  37. package/dist/runtime/components/form/index.vue +7 -5
  38. package/dist/runtime/components/form/schema.d.ts +4 -0
  39. package/dist/runtime/components/form/schema.js +4 -0
  40. package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.select/config.vue +0 -22
  41. package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.select/header.vue +3 -15
  42. package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.select/schema.d.ts +0 -1
  43. package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.select/schema.js +0 -4
  44. package/dist/runtime/components/table/config.vue +54 -52
  45. package/dist/runtime/components/table/schema.d.ts +4 -0
  46. package/package.json +1 -1
  47. package/dist/preview/assets/index-Df-thth9.js +0 -1
@@ -0,0 +1 @@
1
+ import{aL as e}from"./index-D-VR1i8D.js";import{aM as r,aN as s,aO as t}from"./index-D-VR1i8D.js";export{r as TableConfig,s as createTableConfig,e as default,t as getColumnTechnicalKey};
@@ -1 +1 @@
1
- import{d as i,ao as f,aq as r,ar as d,e as m,u,ak as l,al as p,am as _,o as g}from"./index-DEF3_MKr.js";import{_ as h}from"./definition.vue_vue_type_script_setup_true_lang-C_jU8d47.js";const x=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=>d(()=>{window.open(n,t.config.mode)})));return(n,a)=>(g(),m(h,{"action-id":e.buttonId,effect:u(s)},null,8,["action-id","effect"]))}});export{x as default};
1
+ import{d as i,ao as f,aq as r,ar as d,e as m,u,ak as l,al as p,am as _,o as g}from"./index-D-VR1i8D.js";import{_ as h}from"./definition.vue_vue_type_script_setup_true_lang-C_cjxvm1.js";const x=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=>d(()=>{window.open(n,t.config.mode)})));return(n,a)=>(g(),m(h,{"action-id":e.buttonId,effect:u(s)},null,8,["action-id","effect"]))}});export{x as default};
@@ -1 +1 @@
1
- import{_ as o}from"./definition.vue_vue_type_script_setup_true_lang-C_jU8d47.js";import{d as s,ao as c,aB as i,e as r,u as f,an as u,o as m}from"./index-DEF3_MKr.js";const g=s({name:"ShwfedEventDispatchActionRuntime",__name:"runtime",props:{buttonId:{},config:{}},setup(e){const n=e,t=u(),a=c(()=>i(t,n.config.triggers));return(p,d)=>(m(),r(o,{"action-id":e.buttonId,effect:f(a)},null,8,["action-id","effect"]))}});export{g as default};
1
+ import{_ as o}from"./definition.vue_vue_type_script_setup_true_lang-C_cjxvm1.js";import{d as s,ao as c,aB as i,e as r,u as f,an as u,o as m}from"./index-D-VR1i8D.js";const g=s({name:"ShwfedEventDispatchActionRuntime",__name:"runtime",props:{buttonId:{},config:{}},setup(e){const n=e,t=u(),a=c(()=>i(t,n.config.triggers));return(p,d)=>(m(),r(o,{"action-id":e.buttonId,effect:f(a)},null,8,["action-id","effect"]))}});export{g as default};
@@ -1 +1 @@
1
- import{_ as o}from"./definition.vue_vue_type_script_setup_true_lang-C_jU8d47.js";import{d as n,e as a,u as c,o as f,ap as i}from"./index-DEF3_MKr.js";const p=n({name:"ShwfedPrototypeActionRuntime",__name:"runtime",props:{buttonId:{},config:{}},setup(e){const t=i;return(r,s)=>(f(),a(o,{"action-id":e.buttonId,effect:c(t)},null,8,["action-id","effect"]))}});export{p as default};
1
+ import{_ as o}from"./definition.vue_vue_type_script_setup_true_lang-C_cjxvm1.js";import{d as n,e as a,u as c,o as f,ap as i}from"./index-D-VR1i8D.js";const p=n({name:"ShwfedPrototypeActionRuntime",__name:"runtime",props:{buttonId:{},config:{}},setup(e){const t=i;return(r,s)=>(f(),a(o,{"action-id":e.buttonId,effect:c(t)},null,8,["action-id","effect"]))}});export{p as default};
@@ -1 +1 @@
1
- import{d as u,ae as l,e as i,u as p,$ as m,o as d,k as f,ag as _,ah as k,ak as g,al as w,am as x}from"./index-DEF3_MKr.js";const B=u({name:"ShwfedMarkdownItemRuntime",__name:"runtime",props:{config:{}},setup(n){const s=n,{locale:o}=l(),t=x(),c=(e,a)=>g(e,{...w(t),...a}),r=m(()=>{const e=_(s.config.content,o.value)??"";return k(e,c)});return(e,a)=>(d(),i(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 l,e as i,u as p,$ as m,o as d,k as f,ag as _,ah as k,ak as g,al as w,am as x}from"./index-D-VR1i8D.js";const B=u({name:"ShwfedMarkdownItemRuntime",__name:"runtime",props:{config:{}},setup(n){const s=n,{locale:o}=l(),t=x(),c=(e,a)=>g(e,{...w(t),...a}),r=m(()=>{const e=_(s.config.content,o.value)??"";return k(e,c)});return(e,a)=>(d(),i(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 g,ao as A,aq as y,aB as _,e as h,u as S,ak as b,al as k,an as j,aF as B,o as C,am as E}from"./index-DEF3_MKr.js";import{_ as F}from"./definition.vue_vue_type_script_setup_true_lang-C_jU8d47.js";const I=l({name:"ShwfedStateWriteActionRuntime",__name:"runtime",props:{buttonId:{},config:{}},setup(r){const s=r,i=E(),f=(e,t)=>b(e,{...k(i),...t}),n=g(),o=n.kind==="form"&&n.parent?n.parent:n,u=j(),m=B((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)=>(C(),h(F,{"action-id":r.buttonId,effect:S(d)},null,8,["action-id","effect"]))}});export{I as default};
1
+ import{d as l,aE as g,ao as A,aq as y,aB as _,e as h,u as S,ak as b,al as k,an as j,aF as B,o as C,am as E}from"./index-D-VR1i8D.js";import{_ as F}from"./definition.vue_vue_type_script_setup_true_lang-C_cjxvm1.js";const I=l({name:"ShwfedStateWriteActionRuntime",__name:"runtime",props:{buttonId:{},config:{}},setup(r){const s=r,i=E(),f=(e,t)=>b(e,{...k(i),...t}),n=g(),o=n.kind==="form"&&n.parent?n.parent:n,u=j(),m=B((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)=>(C(),h(F,{"action-id":r.buttonId,effect:S(d)},null,8,["action-id","effect"]))}});export{I as default};
@@ -1 +1 @@
1
- import{d as r,ao as f,aj as u,e as p,u as g,ak as m,al as l,am as d,an as x,o as E}from"./index-DEF3_MKr.js";import{_}from"./definition.vue_vue_type_script_setup_true_lang-C_jU8d47.js";const k=r({name:"ShwfedHttpRequestActionRuntime",__name:"runtime",props:{buttonId:{},config:{}},setup(n){const e=n,t=d(),c=(s,o)=>m(s,{...l(t),...o}),i=x(),a=f(()=>u(e.config.expression,c,{messageExpression:e.config.messageExpression,resultExpression:e.config.resultExpression,channel:i,triggers:{success:e.config.onSuccess,warning:e.config.onWarning,error:e.config.onError,info:e.config.onInfo}}));return(s,o)=>(E(),p(_,{"action-id":n.buttonId,effect:g(a)},null,8,["action-id","effect"]))}});export{k as default};
1
+ import{d as r,ao as f,aj as u,e as p,u as g,ak as m,al as l,am as d,an as x,o as E}from"./index-D-VR1i8D.js";import{_}from"./definition.vue_vue_type_script_setup_true_lang-C_cjxvm1.js";const k=r({name:"ShwfedHttpRequestActionRuntime",__name:"runtime",props:{buttonId:{},config:{}},setup(n){const e=n,t=d(),c=(s,o)=>m(s,{...l(t),...o}),i=x(),a=f(()=>u(e.config.expression,c,{messageExpression:e.config.messageExpression,resultExpression:e.config.resultExpression,channel:i,triggers:{success:e.config.onSuccess,warning:e.config.onWarning,error:e.config.onError,info:e.config.onInfo}}));return(s,o)=>(E(),p(_,{"action-id":n.buttonId,effect:g(a)},null,8,["action-id","effect"]))}});export{k as default};
@@ -1 +1 @@
1
- import{d as _,ao as B,af as E,ar as r,aB as m,aC as S,aD as j,e as k,u as v,ak as x,al as C,an as L,am as b,o as R}from"./index-DEF3_MKr.js";import{_ as T}from"./definition.vue_vue_type_script_setup_true_lang-C_jU8d47.js";const q=_({name:"ShwfedHttpDownloadActionRuntime",__name:"runtime",props:{buttonId:{},config:{}},setup(d){const c=d,g=b(),t=(e,n)=>x(e,{...C(g),...n}),l=L(),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=B(()=>E(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*S(t(o,a),s=>p.has(s)?s:"success");if(n!==void 0){const s=yield*t(n,a);yield*r(()=>j[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(),k(T,{"action-id":d.buttonId,effect:v(y)},null,8,["action-id","effect"]))}});export{q as default};
1
+ import{d as _,ao as B,af as E,ar as r,aB as m,aC as S,aD as j,e as k,u as v,ak as x,al as C,an as L,am as b,o as R}from"./index-D-VR1i8D.js";import{_ as T}from"./definition.vue_vue_type_script_setup_true_lang-C_cjxvm1.js";const q=_({name:"ShwfedHttpDownloadActionRuntime",__name:"runtime",props:{buttonId:{},config:{}},setup(d){const c=d,g=b(),t=(e,n)=>x(e,{...C(g),...n}),l=L(),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=B(()=>E(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*S(t(o,a),s=>p.has(s)?s:"success");if(n!==void 0){const s=yield*t(n,a);yield*r(()=>j[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(),k(T,{"action-id":d.buttonId,effect:v(y)},null,8,["action-id","effect"]))}});export{q as default};
@@ -1 +1 @@
1
- import{d as i,ae as x,as as p,af as M,ag as c,at as T,au as N,e as b,w as d,u,a0 as k,a1 as w,an as L,ar as S,o as A,f as I,av as z,g as r,aw as F,ax as H,a7 as V,am as $,ay as f,az as m,aA as j}from"./index-DEF3_MKr.js";import{_ as K}from"./definition.vue_vue_type_script_setup_true_lang-C_jU8d47.js";const O=i({name:"ShwfedModalLayoutActionRuntime",__name:"runtime",props:{buttonId:{},config:{},buttonTitle:{}},setup(a){const n=a,{locale:l}=x(),v=e=>{},g=$(),s=w(f,void 0),h=L(),o=k(null),C=p(n.buttonId,{close:()=>S(()=>{o.value?.()})},h),y=i({name:"ModalBoundaryBridge",setup(e,{slots:t}){return H(g),m(j,C),s&&m(f,s),()=>t.default?.()}}),E=(e,t)=>V()?.(e,t),_=M(function*(){const e=c(n.config.modalTitle,l.value)??c(n.buttonTitle,l.value)??"",{modal:t,close:B}=yield*T({title:e,width:n.config.modalWidth});o.value=()=>N(B()),yield*t,o.value=null});return(e,t)=>(A(),b(K,{"action-id":a.buttonId,effect:u(_)},{default:d(()=>[I("div",{style:z(a.config.modalMinHeight?`min-height: ${a.config.modalMinHeight}`:void 0)},[r(u(y),null,{default:d(()=>[r(F,{"slot-value":a.config.slot,configure:v,"find-entry":E},null,8,["slot-value"])]),_:1})],4)]),_:1},8,["action-id","effect"]))}});export{O as default};
1
+ import{d as i,ae as x,as as p,af as M,ag as c,at as T,au as N,e as b,w as d,u,a0 as k,a1 as w,an as L,ar as S,o as A,f as I,av as z,g as r,aw as F,ax as H,a7 as V,am as $,ay as f,az as m,aA as j}from"./index-D-VR1i8D.js";import{_ as K}from"./definition.vue_vue_type_script_setup_true_lang-C_cjxvm1.js";const O=i({name:"ShwfedModalLayoutActionRuntime",__name:"runtime",props:{buttonId:{},config:{},buttonTitle:{}},setup(a){const n=a,{locale:l}=x(),v=e=>{},g=$(),s=w(f,void 0),h=L(),o=k(null),C=p(n.buttonId,{close:()=>S(()=>{o.value?.()})},h),y=i({name:"ModalBoundaryBridge",setup(e,{slots:t}){return H(g),m(j,C),s&&m(f,s),()=>t.default?.()}}),E=(e,t)=>V()?.(e,t),_=M(function*(){const e=c(n.config.modalTitle,l.value)??c(n.buttonTitle,l.value)??"",{modal:t,close:B}=yield*T({title:e,width:n.config.modalWidth});o.value=()=>N(B()),yield*t,o.value=null});return(e,t)=>(A(),b(K,{"action-id":a.buttonId,effect:u(_)},{default:d(()=>[I("div",{style:z(a.config.modalMinHeight?`min-height: ${a.config.modalMinHeight}`:void 0)},[r(u(y),null,{default:d(()=>[r(F,{"slot-value":a.config.slot,configure:v,"find-entry":E},null,8,["slot-value"])]),_:1})],4)]),_:1},8,["action-id","effect"]))}});export{O as default};
@@ -1 +1 @@
1
- import{d as f,ae as u,af as l,ag as g,ah as m,ai as p,aj as d,e as x,u as E,ak as _,al as h,am as k,an as w,o as C}from"./index-DEF3_MKr.js";import{_ as I}from"./definition.vue_vue_type_script_setup_true_lang-C_jU8d47.js";const R=f({name:"ShwfedHttpRequestConfirmActionRuntime",__name:"runtime",props:{buttonId:{},config:{}},setup(s){const n=s,{locale:c}=u(),a=k(),t=(e,o)=>_(e,{...h(a),...o}),i=w(),r=l(function*(){const e=g(n.config.markdown,c.value)??"",o=m(e,t);(yield*p({content:o,icon:n.config.icon,color:n.config.color}))||(yield*d(n.config.expression,t,{messageExpression:n.config.messageExpression,resultExpression:n.config.resultExpression,channel:i,triggers:{success:n.config.onSuccess,warning:n.config.onWarning,error:n.config.onError,info:n.config.onInfo}}))});return(e,o)=>(C(),x(I,{"action-id":s.buttonId,effect:E(r)},null,8,["action-id","effect"]))}});export{R as default};
1
+ import{d as f,ae as u,af as l,ag as g,ah as m,ai as p,aj as d,e as x,u as E,ak as _,al as h,am as k,an as w,o as C}from"./index-D-VR1i8D.js";import{_ as I}from"./definition.vue_vue_type_script_setup_true_lang-C_cjxvm1.js";const R=f({name:"ShwfedHttpRequestConfirmActionRuntime",__name:"runtime",props:{buttonId:{},config:{}},setup(s){const n=s,{locale:c}=u(),a=k(),t=(e,o)=>_(e,{...h(a),...o}),i=w(),r=l(function*(){const e=g(n.config.markdown,c.value)??"",o=m(e,t);(yield*p({content:o,icon:n.config.icon,color:n.config.color}))||(yield*d(n.config.expression,t,{messageExpression:n.config.messageExpression,resultExpression:n.config.resultExpression,channel:i,triggers:{success:n.config.onSuccess,warning:n.config.onWarning,error:n.config.onError,info:n.config.onInfo}}))});return(e,o)=>(C(),x(I,{"action-id":s.buttonId,effect:E(r)},null,8,["action-id","effect"]))}});export{R as default};
@@ -10,8 +10,8 @@
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-DEF3_MKr.js"></script>
14
- <link rel="stylesheet" crossorigin href="./assets/index-2eQR4s3q.css">
13
+ <script type="module" crossorigin src="./assets/index-D-VR1i8D.js"></script>
14
+ <link rel="stylesheet" crossorigin href="./assets/index-BqOX70Hd.css">
15
15
  </head>
16
16
  <body>
17
17
  <div id="app"></div>
@@ -10,6 +10,7 @@ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
10
10
  declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
11
11
  "update:modelValue": (value: {
12
12
  readonly form: {
13
+ readonly style?: string | undefined;
13
14
  readonly initial?: {
14
15
  readonly data: string;
15
16
  readonly request?: string | undefined;
@@ -42,6 +43,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {},
42
43
  }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
43
44
  "onUpdate:modelValue"?: ((value: {
44
45
  readonly form: {
46
+ readonly style?: string | undefined;
45
47
  readonly initial?: {
46
48
  readonly data: string;
47
49
  readonly request?: string | undefined;
@@ -10,6 +10,7 @@ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
10
10
  declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
11
11
  "update:modelValue": (value: {
12
12
  readonly form: {
13
+ readonly style?: string | undefined;
13
14
  readonly initial?: {
14
15
  readonly data: string;
15
16
  readonly request?: string | undefined;
@@ -42,6 +43,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {},
42
43
  }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
43
44
  "onUpdate:modelValue"?: ((value: {
44
45
  readonly form: {
46
+ readonly style?: string | undefined;
45
47
  readonly initial?: {
46
48
  readonly data: string;
47
49
  readonly request?: string | undefined;
@@ -12,6 +12,7 @@ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
12
12
  declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
13
13
  "update:block": (value: {
14
14
  readonly form: {
15
+ readonly style?: string | undefined;
15
16
  readonly initial?: {
16
17
  readonly data: string;
17
18
  readonly request?: string | undefined;
@@ -45,6 +46,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {},
45
46
  }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
46
47
  "onUpdate:block"?: ((value: {
47
48
  readonly form: {
49
+ readonly style?: string | undefined;
48
50
  readonly initial?: {
49
51
  readonly data: string;
50
52
  readonly request?: string | undefined;
@@ -12,6 +12,7 @@ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
12
12
  declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
13
13
  "update:block": (value: {
14
14
  readonly form: {
15
+ readonly style?: string | undefined;
15
16
  readonly initial?: {
16
17
  readonly data: string;
17
18
  readonly request?: string | undefined;
@@ -45,6 +46,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {},
45
46
  }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
46
47
  "onUpdate:block"?: ((value: {
47
48
  readonly form: {
49
+ readonly style?: string | undefined;
48
50
  readonly initial?: {
49
51
  readonly data: string;
50
52
  readonly request?: string | undefined;
@@ -22,6 +22,7 @@ export declare function schema(configure: (env: Environment) => void, _blockRef:
22
22
  type: Schema.tag<"com.shwfed.block.form">;
23
23
  compatibilityDate: Schema.tag<"2026-05-06">;
24
24
  form: Schema.refine<{
25
+ readonly style?: string | undefined;
25
26
  readonly initial?: {
26
27
  readonly data: string;
27
28
  readonly request?: string | undefined;
@@ -88,6 +89,7 @@ export declare function schema(configure: (env: Environment) => void, _blockRef:
88
89
  data: Schema.Schema<string, string, never>;
89
90
  }>>>;
90
91
  readonly: Schema.optional<Schema.Schema<string, string, never>>;
92
+ style: Schema.optional<typeof Schema.String>;
91
93
  }>>;
92
94
  }>;
93
95
  export declare function defaultBody(): Record<string, unknown>;
@@ -35,6 +35,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {},
35
35
  }[]] | undefined;
36
36
  }[];
37
37
  readonly query?: {
38
+ readonly style?: string | undefined;
38
39
  readonly initial?: {
39
40
  readonly data: string;
40
41
  readonly request?: string | undefined;
@@ -212,6 +213,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {},
212
213
  }[]] | undefined;
213
214
  }[];
214
215
  readonly query?: {
216
+ readonly style?: string | undefined;
215
217
  readonly initial?: {
216
218
  readonly data: string;
217
219
  readonly request?: string | undefined;
@@ -35,6 +35,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {},
35
35
  }[]] | undefined;
36
36
  }[];
37
37
  readonly query?: {
38
+ readonly style?: string | undefined;
38
39
  readonly initial?: {
39
40
  readonly data: string;
40
41
  readonly request?: string | undefined;
@@ -212,6 +213,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {},
212
213
  }[]] | undefined;
213
214
  }[];
214
215
  readonly query?: {
216
+ readonly style?: string | undefined;
215
217
  readonly initial?: {
216
218
  readonly data: string;
217
219
  readonly request?: string | undefined;
@@ -30,6 +30,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
30
30
  }[]] | undefined;
31
31
  }[];
32
32
  readonly query?: {
33
+ readonly style?: string | undefined;
33
34
  readonly initial?: {
34
35
  readonly data: string;
35
36
  readonly request?: string | undefined;
@@ -207,6 +208,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
207
208
  }[]] | undefined;
208
209
  }[];
209
210
  readonly query?: {
211
+ readonly style?: string | undefined;
210
212
  readonly initial?: {
211
213
  readonly data: string;
212
214
  readonly request?: string | undefined;
@@ -30,6 +30,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
30
30
  }[]] | undefined;
31
31
  }[];
32
32
  readonly query?: {
33
+ readonly style?: string | undefined;
33
34
  readonly initial?: {
34
35
  readonly data: string;
35
36
  readonly request?: string | undefined;
@@ -207,6 +208,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
207
208
  }[]] | undefined;
208
209
  }[];
209
210
  readonly query?: {
211
+ readonly style?: string | undefined;
210
212
  readonly initial?: {
211
213
  readonly data: string;
212
214
  readonly request?: string | undefined;
@@ -45,6 +45,7 @@ export declare function schema(configure: (env: Environment) => void, _blockRef:
45
45
  }[]] | undefined;
46
46
  }[];
47
47
  readonly query?: {
48
+ readonly style?: string | undefined;
48
49
  readonly initial?: {
49
50
  readonly data: string;
50
51
  readonly request?: string | undefined;
@@ -349,6 +350,7 @@ export declare function schema(configure: (env: Environment) => void, _blockRef:
349
350
  }, never>>;
350
351
  }>>;
351
352
  query: Schema.optional<Schema.refine<{
353
+ readonly style?: string | undefined;
352
354
  readonly initial?: {
353
355
  readonly data: string;
354
356
  readonly request?: string | undefined;
@@ -415,6 +417,7 @@ export declare function schema(configure: (env: Environment) => void, _blockRef:
415
417
  data: Schema.Schema<string, string, never>;
416
418
  }>>>;
417
419
  readonly: Schema.optional<Schema.Schema<string, string, never>>;
420
+ style: Schema.optional<typeof Schema.String>;
418
421
  }>>>;
419
422
  rowKey: Schema.optional<Schema.Schema<string, string, never>>;
420
423
  cellStyle: Schema.optional<Schema.Schema<string, string, never>>;
@@ -4,6 +4,7 @@ import { provideCELContext } from "../../utils/cel-context";
4
4
  import { ExpressionEditor } from "../ui/expression-editor";
5
5
  import { Field, FieldLabel } from "../ui/field";
6
6
  import { Markdown } from "../ui/markdown";
7
+ import { Textarea } from "../ui/textarea";
7
8
  import {
8
9
  FormConfig,
9
10
  getStructFieldDescription,
@@ -60,6 +61,15 @@ function updateReadonly(value) {
60
61
  config.value = { ...next, readonly: value };
61
62
  }
62
63
  }
64
+ function updateStyle(value) {
65
+ const next = { ...config.value };
66
+ if (value.trim() === "") {
67
+ const { style: _omit, ...rest } = next;
68
+ config.value = rest;
69
+ } else {
70
+ config.value = { ...next, style: value };
71
+ }
72
+ }
63
73
  </script>
64
74
 
65
75
  <template>
@@ -138,6 +148,28 @@ function updateReadonly(value) {
138
148
  @update:model-value="updateReadonly"
139
149
  />
140
150
  </Field>
151
+
152
+ <Field orientation="vertical">
153
+ <FieldLabel class="text-xs text-zinc-500">
154
+ <template
155
+ v-if="generalFieldDescription('style')"
156
+ #tooltip
157
+ >
158
+ <Markdown
159
+ :source="generalFieldDescription('style')"
160
+ block
161
+ class="prose prose-sm prose-zinc"
162
+ />
163
+ </template>
164
+ {{ generalFieldTitle("style") }}
165
+ </FieldLabel>
166
+ <Textarea
167
+ :model-value="config.style ?? ''"
168
+ placeholder="如 max-width: 640px; margin: 0 auto;"
169
+ class="min-h-20 font-mono text-xs"
170
+ @update:model-value="(v) => updateStyle(String(v))"
171
+ />
172
+ </Field>
141
173
  </div>
142
174
  </template>
143
175
  </ShwfedFormUnitConfig>
@@ -113,10 +113,12 @@ function isHidden(field) {
113
113
 
114
114
  <template>
115
115
  <ClientOnly>
116
- <FormUnitRenderer
117
- :unit="unit"
118
- :evaluate-media="evaluateMedia"
119
- :is-hidden="isHidden"
120
- />
116
+ <div :style="config.style">
117
+ <FormUnitRenderer
118
+ :unit="unit"
119
+ :evaluate-media="evaluateMedia"
120
+ :is-hidden="isHidden"
121
+ />
122
+ </div>
121
123
  </ClientOnly>
122
124
  </template>
@@ -80,6 +80,7 @@ export declare function FormUnit(configure: (env: Environment) => void): Schema.
80
80
  */
81
81
  export declare function registerFormVariablesIfAbsent(env: Environment): void;
82
82
  export declare function FormConfig(configure: (env: Environment) => void): Schema.refine<{
83
+ readonly style?: string | undefined;
83
84
  readonly initial?: {
84
85
  readonly data: string;
85
86
  readonly request?: string | undefined;
@@ -146,8 +147,10 @@ export declare function FormConfig(configure: (env: Environment) => void): Schem
146
147
  data: Schema.Schema<string, string, never>;
147
148
  }>>>;
148
149
  readonly: Schema.optional<Schema.Schema<string, string, never>>;
150
+ style: Schema.optional<typeof Schema.String>;
149
151
  }>>;
150
152
  export declare function createFormConfig(body: Omit<Schema.Schema.Type<ReturnType<typeof FormConfig>>, 'kind'>): {
153
+ style?: string | undefined;
151
154
  initial?: {
152
155
  readonly data: string;
153
156
  readonly request?: string | undefined;
@@ -188,4 +191,5 @@ export type FormConfigValue = Readonly<{
188
191
  kind: typeof KIND;
189
192
  initial?: InitialSource;
190
193
  readonly?: string;
194
+ style?: string;
191
195
  }> & FormUnitValue;
@@ -105,6 +105,10 @@ export function FormConfig(configure) {
105
105
  字段自身的「只读条件」会**覆盖**这里:未配置只读条件的字段跟随本表达式,配置了的以字段自己的结果为准(可在只读表单中单独放开某个字段)。
106
106
  `
107
107
  })),
108
+ style: Schema.optional(Schema.String).annotations({
109
+ title: "\u5BB9\u5668\u6837\u5F0F",
110
+ description: "\u5E94\u7528\u5728\u8868\u5355\u6700\u5916\u5C42\u5BB9\u5668\u4E0A\u7684 CSS \u6837\u5F0F\u5B57\u7B26\u4E32"
111
+ }),
108
112
  ...unitFields(formConfigure)
109
113
  }).pipe(Schema.filter(unitPlacementsFilter)).annotations({
110
114
  title: "FormConfig",
@@ -1,5 +1,4 @@
1
1
  <script setup>
2
- import { Switch } from "../../../../ui/switch";
3
2
  import { Separator } from "../../../../ui/separator";
4
3
  import { Field, FieldLabel } from "../../../../ui/field";
5
4
  import { ExpressionEditor } from "../../../../ui/expression-editor";
@@ -68,27 +67,6 @@ function updateOptionalString(key, next) {
68
67
  </SelectContent>
69
68
  </Select>
70
69
  </Field>
71
- <Field orientation="vertical">
72
- <FieldLabel class="text-xs text-zinc-500">
73
- <template
74
- v-if="fieldDescription('crossPage')"
75
- #tooltip
76
- >
77
- <Markdown
78
- :source="fieldDescription('crossPage')"
79
- block
80
- class="prose prose-sm prose-zinc"
81
- />
82
- </template>
83
- {{ fieldTitle("crossPage") }}
84
- </FieldLabel>
85
- <div class="flex h-9 items-center">
86
- <Switch
87
- :model-value="value.crossPage ?? false"
88
- @update:model-value="(v) => value.crossPage = v"
89
- />
90
- </div>
91
- </Field>
92
70
  </div>
93
71
  <Separator />
94
72
  <div class="grid grid-cols-2 gap-x-6 gap-y-4">
@@ -11,36 +11,24 @@ const { t } = useI18n({
11
11
  inheritLocale: true,
12
12
  messages: {
13
13
  zh: {
14
- "select-all-rows-on-page": "\u9009\u62E9\u5F53\u524D\u9875\u5168\u90E8\u884C",
15
14
  "select-all-rows": "\u9009\u62E9\u5168\u90E8\u884C"
16
15
  },
17
16
  en: {
18
- "select-all-rows-on-page": "Select all rows on page",
19
17
  "select-all-rows": "Select all rows"
20
18
  },
21
19
  ja: {
22
- "select-all-rows-on-page": "\u73FE\u5728\u306E\u30DA\u30FC\u30B8\u306E\u3059\u3079\u3066\u306E\u884C\u3092\u9078\u629E",
23
20
  "select-all-rows": "\u3059\u3079\u3066\u306E\u884C\u3092\u9078\u629E"
24
21
  }
25
22
  }
26
23
  });
27
24
  const table = computed(() => props.ctx.table);
28
- const crossPage = computed(() => props.column.crossPage ?? false);
29
25
  const hidden = computed(() => props.column.mode === "radio");
30
- const indeterminate = computed(
31
- () => crossPage.value ? table.value.getIsSomePageRowsSelected() : table.value.getIsSomeRowsSelected()
32
- );
33
- const checked = computed(
34
- () => crossPage.value ? table.value.getIsAllPageRowsSelected() : table.value.getIsAllRowsSelected()
35
- );
26
+ const indeterminate = computed(() => table.value.getIsSomeRowsSelected());
27
+ const checked = computed(() => table.value.getIsAllRowsSelected());
36
28
  const modelValue = computed(
37
29
  () => checked.value ? true : indeterminate.value ? "indeterminate" : false
38
30
  );
39
31
  function onUpdate(value) {
40
- if (crossPage.value) {
41
- table.value.toggleAllPageRowsSelected(value === true);
42
- return;
43
- }
44
32
  table.value.toggleAllRowsSelected(value === true);
45
33
  }
46
34
  </script>
@@ -52,7 +40,7 @@ function onUpdate(value) {
52
40
  >
53
41
  <Checkbox
54
42
  :model-value="modelValue"
55
- :aria-label="crossPage ? t('select-all-rows-on-page') : t('select-all-rows')"
43
+ :aria-label="t('select-all-rows')"
56
44
  class="w-4 h-4 bg-white"
57
45
  @update:model-value="onUpdate"
58
46
  />
@@ -11,7 +11,6 @@ export declare function schema(configure: (env: Environment) => void): Schema.St
11
11
  mode: Schema.optionalWith<Schema.Literal<["radio", "checkbox"]>, {
12
12
  default: () => "checkbox";
13
13
  }>;
14
- crossPage: Schema.optional<Schema.SchemaClass<boolean, boolean, never>>;
15
14
  enableRowSelection: Schema.optional<Schema.Schema<string, string, never>>;
16
15
  enableMultiRowSelection: Schema.optional<Schema.Schema<string, string, never>>;
17
16
  id: Schema.refine<string, typeof Schema.String>;
@@ -25,10 +25,6 @@ export function schema(configure) {
25
25
  title: "\u6A21\u5F0F",
26
26
  description: "\u9009\u62E9\u6A21\u5F0F\uFF0Cradio \u4E3A\u5355\u9009\uFF0Ccheckbox \u4E3A\u591A\u9009"
27
27
  }), { default: () => "checkbox" }),
28
- crossPage: Schema.optional(Schema.Boolean.annotations({
29
- title: "\u8BB0\u5FC6\u9009\u4E2D\u9879",
30
- description: "\u662F\u5426\u652F\u6301\u8DE8\u9875\u9009\u62E9"
31
- })),
32
28
  enableRowSelection: Schema.optional(CelRowSelectionPredicate).annotations({
33
29
  title: "\u884C\u53EF\u9009\u4E2D",
34
30
  description: "\u884C\u662F\u5426\u53EF\u9009\u4E2D\u7684 CEL \u8868\u8FBE\u5F0F"
@@ -1263,61 +1263,63 @@ const tableQueryValue = computed({
1263
1263
  v-if="selectedGeneral"
1264
1264
  class="space-y-5"
1265
1265
  >
1266
- <Field
1267
- v-if="!hideDisplayName"
1268
- orientation="vertical"
1269
- >
1270
- <FieldLabel class="text-xs text-zinc-500">
1271
- <template
1272
- v-if="generalFieldDescription('displayName')"
1273
- #tooltip
1274
- >
1275
- <Markdown
1276
- :source="generalFieldDescription('displayName')"
1277
- block
1278
- class="prose prose-sm prose-zinc"
1266
+ <div class="grid grid-cols-2 gap-x-6 gap-y-4">
1267
+ <Field
1268
+ v-if="!hideDisplayName"
1269
+ orientation="vertical"
1270
+ >
1271
+ <FieldLabel class="text-xs text-zinc-500">
1272
+ <template
1273
+ v-if="generalFieldDescription('displayName')"
1274
+ #tooltip
1275
+ >
1276
+ <Markdown
1277
+ :source="generalFieldDescription('displayName')"
1278
+ block
1279
+ class="prose prose-sm prose-zinc"
1280
+ />
1281
+ </template>
1282
+ {{ generalFieldTitle("displayName") }}
1283
+ </FieldLabel>
1284
+ <InputGroup>
1285
+ <InputGroupInput
1286
+ :model-value="editingGeneralConfig.displayName ?? ''"
1287
+ placeholder="例:订单列表"
1288
+ @update:model-value="setGeneralDisplayName"
1279
1289
  />
1280
- </template>
1281
- {{ generalFieldTitle("displayName") }}
1282
- </FieldLabel>
1283
- <InputGroup>
1284
- <InputGroupInput
1285
- :model-value="editingGeneralConfig.displayName ?? ''"
1286
- placeholder="例:订单列表"
1287
- @update:model-value="setGeneralDisplayName"
1288
- />
1289
- </InputGroup>
1290
- </Field>
1290
+ </InputGroup>
1291
+ </Field>
1291
1292
 
1292
- <Field orientation="vertical">
1293
- <FieldLabel class="text-xs text-zinc-500">
1294
- <template
1295
- v-if="generalFieldDescription('rowKey')"
1296
- #tooltip
1297
- >
1298
- <Markdown
1299
- :source="generalFieldDescription('rowKey')"
1300
- block
1301
- class="prose prose-sm prose-zinc"
1293
+ <Field orientation="vertical">
1294
+ <FieldLabel class="text-xs text-zinc-500">
1295
+ <template
1296
+ v-if="generalFieldDescription('rowKey')"
1297
+ #tooltip
1298
+ >
1299
+ <Markdown
1300
+ :source="generalFieldDescription('rowKey')"
1301
+ block
1302
+ class="prose prose-sm prose-zinc"
1303
+ />
1304
+ </template>
1305
+ {{ generalFieldTitle("rowKey") }}
1306
+ </FieldLabel>
1307
+ <RowKeyCELContext>
1308
+ <ExpressionEditor
1309
+ :model-value="editingGeneralConfig.rowKey ?? ''"
1310
+ placeholder="如 row.id"
1311
+ result-type="string"
1312
+ @update:model-value="(v) => updateGeneralOptionalString('rowKey', v)"
1302
1313
  />
1303
- </template>
1304
- {{ generalFieldTitle("rowKey") }}
1305
- </FieldLabel>
1306
- <RowKeyCELContext>
1307
- <ExpressionEditor
1308
- :model-value="editingGeneralConfig.rowKey ?? ''"
1309
- placeholder="如 row.id"
1310
- result-type="string"
1311
- @update:model-value="(v) => updateGeneralOptionalString('rowKey', v)"
1312
- />
1313
- </RowKeyCELContext>
1314
- <p
1315
- v-if="getError('rowKey')"
1316
- class="text-xs text-red-500"
1317
- >
1318
- {{ getError("rowKey") }}
1319
- </p>
1320
- </Field>
1314
+ </RowKeyCELContext>
1315
+ <p
1316
+ v-if="getError('rowKey')"
1317
+ class="text-xs text-red-500"
1318
+ >
1319
+ {{ getError("rowKey") }}
1320
+ </p>
1321
+ </Field>
1322
+ </div>
1321
1323
 
1322
1324
  <!-- Host extension slot: a wrapping editor (e.g. the `table` form
1323
1325
  field config) injects its own fields into the general pane. -->
@@ -132,6 +132,7 @@ export declare function TableConfig(configure: (env: Environment) => void): Sche
132
132
  }[]] | undefined;
133
133
  }[];
134
134
  readonly query?: {
135
+ readonly style?: string | undefined;
135
136
  readonly initial?: {
136
137
  readonly data: string;
137
138
  readonly request?: string | undefined;
@@ -436,6 +437,7 @@ export declare function TableConfig(configure: (env: Environment) => void): Sche
436
437
  }, never>>;
437
438
  }>>;
438
439
  query: Schema.optional<Schema.refine<{
440
+ readonly style?: string | undefined;
439
441
  readonly initial?: {
440
442
  readonly data: string;
441
443
  readonly request?: string | undefined;
@@ -502,6 +504,7 @@ export declare function TableConfig(configure: (env: Environment) => void): Sche
502
504
  data: Schema.Schema<string, string, never>;
503
505
  }>>>;
504
506
  readonly: Schema.optional<Schema.Schema<string, string, never>>;
507
+ style: Schema.optional<typeof Schema.String>;
505
508
  }>>>;
506
509
  rowKey: Schema.optional<Schema.Schema<string, string, never>>;
507
510
  cellStyle: Schema.optional<Schema.Schema<string, string, never>>;
@@ -571,6 +574,7 @@ export declare function createTableConfig(body: Omit<Schema.Schema.Type<ReturnTy
571
574
  }[]] | undefined;
572
575
  }[];
573
576
  query?: {
577
+ readonly style?: string | undefined;
574
578
  readonly initial?: {
575
579
  readonly data: string;
576
580
  readonly request?: string | undefined;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shwfed/config",
3
- "version": "2.3.29",
3
+ "version": "2.4.0",
4
4
  "description": "Configurable UI for SHWFED",
5
5
  "type": "module",
6
6
  "publishConfig": {
@@ -1 +0,0 @@
1
- import{aL as e}from"./index-DEF3_MKr.js";import{aM as r,aN as s,aO as t}from"./index-DEF3_MKr.js";export{r as TableConfig,s as createTableConfig,e as default,t as getColumnTechnicalKey};