@shwfed/config 2.9.7 → 2.9.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.
- package/dist/mcp.mjs +1054 -855
- package/dist/module.json +1 -1
- package/dist/preview/assets/{FieldGroup.vue_vue_type_script_setup_true_lang-tkU7rYrs.js → FieldGroup.vue_vue_type_script_setup_true_lang-CdbT3cSj.js} +1 -1
- package/dist/preview/assets/{badge-C55P2V8D.js → badge-DL-wtgr8.js} +1 -1
- package/dist/preview/assets/{config-DeaHg7ps.js → config-80OJWswM.js} +1 -1
- package/dist/preview/assets/{config-D0j4njOQ.js → config-B8F7X1oF.js} +1 -1
- package/dist/preview/assets/{config-rL7m78ZC.js → config-B9BcmOZt.js} +1 -1
- package/dist/preview/assets/{config-Bc2N2jlD.js → config-C-Ta4ALL.js} +1 -1
- package/dist/preview/assets/{config-DqibnZH4.js → config-C8R7tsmC.js} +1 -1
- package/dist/preview/assets/{config-CnxzerC5.js → config-CoObmLL2.js} +1 -1
- package/dist/preview/assets/{config-Bu1S_DR5.js → config-DBQ-1J66.js} +1 -1
- package/dist/preview/assets/{config-CH2QpakU.js → config-DVk8b1Qf.js} +1 -1
- package/dist/preview/assets/{config-DzKcQKJj.js → config-DjsQoLiy.js} +1 -1
- package/dist/preview/assets/{config-j1oKH3Ci.js → config-RmdB0dwp.js} +1 -1
- package/dist/preview/assets/{config-B3-xqMew.js → config-h_hDvpHt.js} +1 -1
- package/dist/preview/assets/{definition.vue_vue_type_script_setup_true_lang-G748uLwi.js → definition.vue_vue_type_script_setup_true_lang-SX94Z692.js} +1 -1
- package/dist/preview/assets/index-BIwwDhfa.js +1 -0
- package/dist/preview/assets/index-C1h9lV52.css +1 -0
- package/dist/preview/assets/index-CsN0336H.js +717 -0
- package/dist/preview/assets/{index-dIh1Jn4U.js → index-Df0XE7Lz.js} +1 -1
- package/dist/preview/assets/{item-BCWcrKaL.js → item-B9XcOWjy.js} +1 -1
- package/dist/preview/assets/{runtime-CBg0VVCJ.js → runtime-BBsXfAZm.js} +1 -1
- package/dist/preview/assets/{runtime-D3LGPlv3.js → runtime-BHlUDfbv.js} +1 -1
- package/dist/preview/assets/{runtime-BTFesnrJ.js → runtime-BrwIgXY3.js} +1 -1
- package/dist/preview/assets/{runtime-zoq6YaMz.js → runtime-C--WPQ3o.js} +1 -1
- package/dist/preview/assets/{runtime-BsqCaddm.js → runtime-C0yBdMlV.js} +1 -1
- package/dist/preview/assets/{runtime-C-KLJ71q.js → runtime-C6uebSDU.js} +1 -1
- package/dist/preview/assets/{runtime-DZiqhnCm.js → runtime-DU0iHs9-.js} +1 -1
- package/dist/preview/assets/{runtime-bRCsEM7S.js → runtime-Dqa4phvv.js} +1 -1
- package/dist/preview/assets/{runtime-C5-cN3M1.js → runtime-Dr-MmEyE.js} +1 -1
- package/dist/preview/assets/{runtime-DO8ov3J6.js → runtime-v_nJoD5I.js} +1 -1
- package/dist/preview/index.html +2 -2
- package/dist/runtime/components/actions/buttons/2026-04-18/com.shwfed.actions.button.http.request.json/schema.d.ts +1 -1
- package/dist/runtime/components/actions/buttons/2026-04-18/com.shwfed.actions.button.http.request.json/schema.js +2 -2
- package/dist/runtime/components/actions/buttons/2026-06-08/com.shwfed.actions.button.http.request.json.batch/schema.d.ts +1 -1
- package/dist/runtime/components/actions/buttons/2026-06-08/com.shwfed.actions.button.http.request.json.batch/schema.js +1 -1
- package/dist/runtime/components/block-layout-editor/index.vue +98 -3
- package/dist/runtime/components/config/footer.vue +22 -20
- package/dist/runtime/components/config/use-editor.js +5 -9
- package/dist/runtime/components/config/utils/validation-error.d.ts +1 -0
- package/dist/runtime/components/config/utils/validation-error.js +34 -0
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.daterange/config.d.vue.ts +4 -4
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.daterange/config.vue.d.ts +4 -4
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetimerange/config.d.vue.ts +6 -6
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetimerange/config.vue.d.ts +6 -6
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.timerange/config.d.vue.ts +2 -2
- package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.timerange/config.vue.d.ts +2 -2
- package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.monthrange/config.d.vue.ts +4 -4
- package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.monthrange/config.vue.d.ts +4 -4
- package/dist/runtime/components/form/fields/2026-06-09/com.shwfed.form.field.upload/config.d.vue.ts +155 -0
- package/dist/runtime/components/form/fields/2026-06-09/com.shwfed.form.field.upload/config.vue +918 -0
- package/dist/runtime/components/form/fields/2026-06-09/com.shwfed.form.field.upload/config.vue.d.ts +155 -0
- package/dist/runtime/components/form/fields/2026-06-09/com.shwfed.form.field.upload/runtime.d.vue.ts +8 -0
- package/dist/runtime/components/form/fields/2026-06-09/com.shwfed.form.field.upload/runtime.vue +482 -0
- package/dist/runtime/components/form/fields/2026-06-09/com.shwfed.form.field.upload/runtime.vue.d.ts +8 -0
- package/dist/runtime/components/form/fields/2026-06-09/com.shwfed.form.field.upload/schema.d.ts +126 -0
- package/dist/runtime/components/form/fields/2026-06-09/com.shwfed.form.field.upload/schema.js +178 -0
- package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.markdown/runtime.vue +1 -1
- package/dist/runtime/components/ui/date-picker/DatePickerInput.d.vue.ts +1 -1
- package/dist/runtime/components/ui/date-picker/DatePickerInput.vue.d.ts +1 -1
- package/dist/runtime/components/ui/date-picker/DatePickerTimeInput.d.vue.ts +1 -1
- package/dist/runtime/components/ui/date-picker/DatePickerTimeInput.vue.d.ts +1 -1
- package/dist/runtime/components/ui/date-range-picker/DateRangePickerInput.d.vue.ts +1 -1
- package/dist/runtime/components/ui/date-range-picker/DateRangePickerInput.vue.d.ts +1 -1
- package/dist/runtime/components/ui/date-range-picker/DateRangePickerTimeInput.d.vue.ts +2 -2
- package/dist/runtime/components/ui/date-range-picker/DateRangePickerTimeInput.vue.d.ts +2 -2
- package/dist/runtime/vendor/cel-js/CLAUDE.md +1 -1
- package/dist/runtime/vendor/cel-js/PROMPT.md +2 -2
- package/dist/runtime/vendor/cel-js/lib/http-builder.js +13 -3
- package/package.json +1 -1
- package/dist/preview/assets/index-C16exop7.js +0 -717
- package/dist/preview/assets/index-CSm6dB4o.js +0 -1
- package/dist/preview/assets/index-vPcvbp7e.css +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as H,N as et,O as it,o as nt,P as st,Q as at,e as D,y as A,z as j,r as rt,R as ot,S as z,T as lt,v as ct,U as W,V as ht}from"./index-C16exop7.js";const dt=String.raw,pt=(()=>{try{document.createElement("div").animate({opacity:0},{easing:"linear(0, 1)"})}catch{return!1}return!0})(),ut=typeof CSS<"u"&&CSS.supports&&CSS.supports("line-height","mod(1,1)"),k=typeof matchMedia<"u"?matchMedia("(prefers-reduced-motion: reduce)"):null,C="--_number-flow-d-opacity",B="--_number-flow-d-width",S="--_number-flow-dx",L="--_number-flow-d",mt=(()=>{try{return CSS.registerProperty({name:C,syntax:"<number>",inherits:!1,initialValue:"0"}),CSS.registerProperty({name:S,syntax:"<length>",inherits:!0,initialValue:"0px"}),CSS.registerProperty({name:B,syntax:"<number>",inherits:!1,initialValue:"0"}),CSS.registerProperty({name:L,syntax:"<number>",inherits:!0,initialValue:"0"}),!0}catch{return!1}})(),U="round(nearest, calc(var(--number-flow-mask-height, 0.25em) / 2), 1px)",v=`calc(${U} * 2)`,R="var(--number-flow-mask-width, 0.5em)",y=`calc(${R} / var(--scale-x))`,$="#000 0, transparent 71%",ft=dt`:host{display:inline-block;direction:ltr;white-space:nowrap;isolation:isolate;line-height:1}.number,.number__inner{display:inline-block;transform-origin:left top}:host([data-will-change]) :is(.number,.number__inner,.section,.digit,.digit__num,.symbol){will-change:transform}.number{--scale-x:calc(1 + var(${B}) / var(--width));transform:translateX(var(${S})) scaleX(var(--scale-x));margin:0 calc(-1 * ${R});position:relative;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 ${y},#000 calc(100% - ${y}),transparent ),linear-gradient(to bottom,transparent 0,#000 ${v},#000 calc(100% - ${v}),transparent 100% ),radial-gradient(at bottom right,${$}),radial-gradient(at bottom left,${$}),radial-gradient(at top left,${$}),radial-gradient(at top right,${$});-webkit-mask-size:100% calc(100% - ${v} * 2),calc(100% - ${y} * 2) 100%,${y} ${v},${y} ${v},${y} ${v},${y} ${v};-webkit-mask-position:center,center,top left,top right,bottom right,bottom left;-webkit-mask-repeat:no-repeat}.number__inner{padding:${U} ${R};transform:scaleX(calc(1 / var(--scale-x))) translateX(calc(-1 * var(${S})))}:host > :not(.number){z-index:5}.section,.symbol{display:inline-block;position:relative;isolation:isolate}.section::after{content:'\200b';display:inline-block}.section--justify-left{transform-origin:center left}.section--justify-right{transform-origin:center right}.section > [inert],.symbol > [inert]{margin:0 !important;position:absolute !important;z-index:-1}.digit{display:inline-block;position:relative;--c:var(--current) + var(${L})}.digit__num,.number .section::after{padding:${U} 0}.digit__num{display:inline-block;--offset-raw:mod(var(--length) + var(--n) - mod(var(--c),var(--length)),var(--length));--offset:calc( var(--offset-raw) - var(--length) * round(down,var(--offset-raw) / (var(--length) / 2),1) );--y:clamp(-100%,var(--offset) * 100%,100%);transform:translateY(var(--y))}.digit__num[inert]{position:absolute;top:0;left:50%;transform:translateX(-50%) translateY(var(--y))}.digit:not(.is-spinning) .digit__num[inert]{display:none}.symbol__value{display:inline-block;mix-blend-mode:plus-lighter;white-space:pre}.section--justify-left .symbol > [inert]{left:0}.section--justify-right .symbol > [inert]{right:0}.animate-presence{opacity:calc(1 + var(${C}))}`,gt=HTMLElement,vt=(s,t)=>s==null?t:t==null?s:Math.max(s,t),P=new WeakMap,jt={onUpdate(s,t,e){if(P.set(e,void 0),!e.computedTrend)return;const i=t.integer.concat(t.fraction).filter(o=>o.type==="integer"||o.type==="fraction"),n=s.integer.concat(s.fraction).filter(o=>o.type==="integer"||o.type==="fraction"),r=i.find(o=>!n.find(c=>c.pos===o.pos&&c.value===o.value)),a=n.find(o=>!i.find(c=>o.pos===c.pos&&o.value===c.value));P.set(e,vt(r?.pos,a?.pos))},getDelta(s,t,e){const i=s-t,n=P.get(e.flow);if(!i&&n!=null&&n>=e.pos)return e.length*e.flow.computedTrend}},g=(s,t,e)=>{const i=document.createElement(s),[n,r]=Array.isArray(t)?[void 0,t]:[t,e];return n&&Object.assign(i,n),r?.forEach(a=>i.appendChild(a)),i},yt=(s,t)=>{var e;return t==="left"?s.offsetLeft:(((e=s.offsetParent instanceof HTMLElement?s.offsetParent:null)==null?void 0:e.offsetWidth)??0)-s.offsetWidth-s.offsetLeft},wt=s=>s.offsetWidth>0&&s.offsetHeight>0,_t=(s,t)=>{!customElements.get(s)&&customElements.define(s,t)};function bt(s,t,{reverse:e=!1}={}){const i=s.length;for(let n=e?i-1:0;e?n>=0:n<i;e?n--:n++)t(s[n],n)}function $t(s,t,e,i){const n=t.formatToParts(s);e&&n.unshift({type:"prefix",value:e}),i&&n.push({type:"suffix",value:i});const r=[],a=[],o=[],c=[],l={},d=p=>`${p}:${l[p]=(l[p]??-1)+1}`;let m="",_=!1,b=!1;for(const p of n){m+=p.value;const h=p.type==="minusSign"||p.type==="plusSign"?"sign":p.type;h==="integer"?(_=!0,a.push(...p.value.split("").map(T=>({type:h,value:parseInt(T)})))):h==="group"?a.push({type:h,value:p.value}):h==="decimal"?(b=!0,o.push({type:h,value:p.value,key:d(h)})):h==="fraction"?o.push(...p.value.split("").map(T=>({type:h,value:parseInt(T),key:d(h),pos:-1-l[h]}))):(_||b?c:r).push({type:h,value:p.value,key:d(h)})}const F=[];for(let p=a.length-1;p>=0;p--){const h=a[p];F.unshift(h.type==="integer"?{...h,key:d(h.type),pos:l[h.type]}:{...h,key:d(h.type)})}return{pre:r,integer:F,fraction:o,post:c,valueAsString:m,value:typeof s=="string"?parseFloat(s):s}}const Y=ut&&pt&&mt;let u=class extends gt{constructor(){super(),this.created=!1,this.batched=!1;const{animated:t,...e}=this.constructor.defaultProps;this._animated=this.computedAnimated=t,Object.assign(this,e)}get animated(){return this._animated}set animated(t){var e;this.animated!==t&&(this._animated=t,(e=this.shadowRoot)==null||e.getAnimations().forEach(i=>i.finish()))}set data(t){var e,i;if(t==null)return;const{pre:n,integer:r,fraction:a,post:o,value:c}=t;if(this.created){const l=this._data;this._data=t,this.computedTrend=typeof this.trend=="function"?this.trend(l.value,c):this.trend,this.computedAnimated=Y&&this._animated&&(!this.respectMotionPreference||!((e=k)!=null&&e.matches))&&wt(this)&&this.ownerDocument.visibilityState==="visible",(i=this.plugins)==null||i.forEach(d=>{var m;return(m=d.onUpdate)==null?void 0:m.call(d,t,l,this)}),this.batched||this.willUpdate(),this._pre.update(n),this._num.update({integer:r,fraction:a}),this._post.update(o),this.batched||this.didUpdate()}else{this._data=t,this.attachShadow({mode:"open"});try{this._internals??(this._internals=this.attachInternals()),this._internals.role="img"}catch{}const l=document.createElement("style");this.nonce&&(l.nonce=this.nonce),l.textContent=ft,this.shadowRoot.appendChild(l),this._pre=new O(this,n,{justify:"right",part:"left"}),this.shadowRoot.appendChild(this._pre.el),this._num=new xt(this,r,a),this.shadowRoot.appendChild(this._num.el),this._post=new O(this,o,{justify:"left",part:"right"}),this.shadowRoot.appendChild(this._post.el),this.created=!0}try{this._internals.ariaLabel=t.valueAsString}catch{}}willUpdate(){this._pre.willUpdate(),this._num.willUpdate(),this._post.willUpdate()}didUpdate(){if(!this.computedAnimated)return;this._abortAnimationsFinish?this._abortAnimationsFinish.abort():this.dispatchEvent(new Event("animationsstart")),this._pre.didUpdate(),this._num.didUpdate(),this._post.didUpdate();const t=new AbortController;Promise.all(this.shadowRoot.getAnimations().map(e=>e.finished)).then(()=>{t.signal.aborted||(this.dispatchEvent(new Event("animationsfinish")),this._abortAnimationsFinish=void 0)}),this._abortAnimationsFinish=t}};u.defaultProps={transformTiming:{duration:900,easing:"linear(0,.005,.019,.039,.066,.096,.129,.165,.202,.24,.278,.316,.354,.39,.426,.461,.494,.526,.557,.586,.614,.64,.665,.689,.711,.731,.751,.769,.786,.802,.817,.831,.844,.856,.867,.877,.887,.896,.904,.912,.919,.925,.931,.937,.942,.947,.951,.955,.959,.962,.965,.968,.971,.973,.976,.978,.98,.981,.983,.984,.986,.987,.988,.989,.99,.991,.992,.992,.993,.994,.994,.995,.995,.996,.996,.9963,.9967,.9969,.9972,.9975,.9977,.9979,.9981,.9982,.9984,.9985,.9987,.9988,.9989,1)"},spinTiming:void 0,opacityTiming:{duration:450,easing:"ease-out"},animated:!0,trend:(s,t)=>Math.sign(t-s),respectMotionPreference:!0,plugins:void 0,digits:void 0};class xt{constructor(t,e,i,{className:n,...r}={}){this.flow=t,this._integer=new I(t,e,{justify:"right",part:"integer"}),this._fraction=new I(t,i,{justify:"left",part:"fraction"}),this._inner=g("span",{className:"number__inner"},[this._integer.el,this._fraction.el]),this.el=g("span",{...r,part:"number",className:`number ${n??""}`},[this._inner])}willUpdate(){this._prevWidth=this.el.offsetWidth,this._prevLeft=this.el.getBoundingClientRect().left,this._integer.willUpdate(),this._fraction.willUpdate()}update({integer:t,fraction:e}){this._integer.update(t),this._fraction.update(e)}didUpdate(){const t=this.el.getBoundingClientRect();this._integer.didUpdate(),this._fraction.didUpdate();const e=this._prevLeft-t.left,i=this.el.offsetWidth,n=this._prevWidth-i;this.el.style.setProperty("--width",String(i)),this.el.animate({[S]:[`${e}px`,"0px"],[B]:[n,0]},{...this.flow.transformTiming,composite:"accumulate"})}}let G=class{constructor(t,e,{justify:i,className:n,...r},a){this.flow=t,this.children=new Map,this.onCharRemove=c=>()=>{this.children.delete(c)},this.justify=i;const o=e.map(c=>this.addChar(c).el);this.el=g("span",{...r,className:`section section--justify-${i} ${n??""}`},a?a(o):o)}addChar(t,{startDigitsAtZero:e=!1,...i}={}){const n=t.type==="integer"||t.type==="fraction"?new q(this,t.type,e?0:t.value,t.pos,{...i,onRemove:this.onCharRemove(t.key)}):new kt(this,t.type,t.value,{...i,onRemove:this.onCharRemove(t.key)});return this.children.set(t.key,n),n}unpop(t){t.el.removeAttribute("inert"),t.el.style.top="",t.el.style[this.justify]=""}pop(t){t.forEach(e=>{e.el.style.top=`${e.el.offsetTop}px`,e.el.style[this.justify]=`${yt(e.el,this.justify)}px`}),t.forEach(e=>{e.el.setAttribute("inert",""),e.present=!1})}addNewAndUpdateExisting(t){const e=new Map,i=new Map,n=this.justify==="left",r=n?"prepend":"append";if(bt(t,a=>{let o;this.children.has(a.key)?(o=this.children.get(a.key),i.set(a,o),this.unpop(o),o.present=!0):(o=this.addChar(a,{startDigitsAtZero:!0,animateIn:!0}),e.set(a,o)),this.el[r](o.el)},{reverse:n}),this.flow.computedAnimated){const a=this.el.getBoundingClientRect();e.forEach(o=>{o.willUpdate(a)})}e.forEach((a,o)=>{a.update(o.value)}),i.forEach((a,o)=>{a.update(o.value)})}willUpdate(){const t=this.el.getBoundingClientRect();this._prevOffset=t[this.justify],this.children.forEach(e=>e.willUpdate(t))}didUpdate(){const t=this.el.getBoundingClientRect();this.children.forEach(n=>n.didUpdate(t));const e=t[this.justify],i=this._prevOffset-e;i&&this.children.size&&this.el.animate({transform:[`translateX(${i}px)`,"none"]},{...this.flow.transformTiming,composite:"accumulate"})}};class I extends G{update(t){const e=new Map;this.children.forEach((i,n)=>{t.find(r=>r.key===n)||e.set(n,i),this.unpop(i)}),this.addNewAndUpdateExisting(t),e.forEach(i=>{i instanceof q&&i.update(0)}),this.pop(e)}}class O extends G{update(t){const e=new Map;this.children.forEach((i,n)=>{t.find(r=>r.key===n)||e.set(n,i)}),this.pop(e),this.addNewAndUpdateExisting(t)}}class M{constructor(t,e,{onRemove:i,animateIn:n=!1}={}){this.flow=t,this.el=e,this._present=!0,this._remove=()=>{var r;this.el.remove(),(r=this._onRemove)==null||r.call(this)},this.el.classList.add("animate-presence"),this.flow.computedAnimated&&n&&this.el.animate({[C]:[-.9999,0]},{...this.flow.opacityTiming,composite:"accumulate"}),this._onRemove=i}get present(){return this._present}set present(t){if(this._present!==t){if(this._present=t,t?this.el.removeAttribute("inert"):this.el.setAttribute("inert",""),!this.flow.computedAnimated){t||this._remove();return}this.el.style.setProperty("--_number-flow-d-opacity",t?"0":"-.999"),this.el.animate({[C]:t?[-.9999,0]:[.999,0]},{...this.flow.opacityTiming,composite:"accumulate"}),t?this.flow.removeEventListener("animationsfinish",this._remove):this.flow.addEventListener("animationsfinish",this._remove,{once:!0})}}}class Z extends M{constructor(t,e,i,n){super(t.flow,i,n),this.section=t,this.value=e,this.el=i}}class q extends Z{constructor(t,e,i,n,r){var a,o;const c=(((o=(a=t.flow.digits)==null?void 0:a[n])==null?void 0:o.max)??9)+1,l=Array.from({length:c}).map((m,_)=>{const b=g("span",{className:"digit__num"},[document.createTextNode(String(_))]);return _!==i&&b.setAttribute("inert",""),b.style.setProperty("--n",String(_)),b}),d=g("span",{part:`digit ${e}-digit`,className:"digit"},l);d.style.setProperty("--current",String(i)),d.style.setProperty("--length",String(c)),super(t,i,d,r),this.pos=n,this._onAnimationsFinish=()=>{this.el.classList.remove("is-spinning")},this._numbers=l,this.length=c}willUpdate(t){const e=this.el.getBoundingClientRect();this._prevValue=this.value;const i=e[this.section.justify]-t[this.section.justify],n=e.width/2;this._prevCenter=this.section.justify==="left"?i+n:i-n}update(t){this.el.style.setProperty("--current",String(t)),this._numbers.forEach((e,i)=>i===t?e.removeAttribute("inert"):e.setAttribute("inert","")),this.value=t}didUpdate(t){const e=this.el.getBoundingClientRect(),i=e[this.section.justify]-t[this.section.justify],n=e.width/2,r=this.section.justify==="left"?i+n:i-n,a=this._prevCenter-r;a&&this.el.animate({transform:[`translateX(${a}px)`,"none"]},{...this.flow.transformTiming,composite:"accumulate"});const o=this.getDelta();o&&(this.el.classList.add("is-spinning"),this.el.animate({[L]:[-o,0]},{...this.flow.spinTiming??this.flow.transformTiming,composite:"accumulate"}),this.flow.addEventListener("animationsfinish",this._onAnimationsFinish,{once:!0}))}getDelta(){var t;if(this.flow.plugins)for(const n of this.flow.plugins){const r=(t=n.getDelta)==null?void 0:t.call(n,this.value,this._prevValue,this);if(r!=null)return r}const e=this.value-this._prevValue,i=this.flow.computedTrend||Math.sign(e);return i<0&&this.value>this._prevValue?this.value-this.length-this._prevValue:i>0&&this.value<this._prevValue?this.length-this._prevValue+this.value:e}}class kt extends Z{constructor(t,e,i,n){const r=g("span",{className:"symbol__value",textContent:i});super(t,i,g("span",{part:`symbol ${e}`,className:"symbol"},[r]),n),this.type=e,this._children=new Map,this._onChildRemove=a=>()=>{this._children.delete(a)},this._children.set(i,new M(this.flow,r,{onRemove:this._onChildRemove(i)}))}willUpdate(t){if(this.type==="decimal")return;const e=this.el.getBoundingClientRect();this._prevOffset=e[this.section.justify]-t[this.section.justify]}update(t){if(this.value!==t){const e=this._children.get(this.value);e&&(e.present=!1);const i=this._children.get(t);if(i)i.present=!0;else{const n=g("span",{className:"symbol__value",textContent:t});this.el.appendChild(n),this._children.set(t,new M(this.flow,n,{animateIn:!0,onRemove:this._onChildRemove(t)}))}}this.value=t}didUpdate(t){if(this.type==="decimal")return;const e=this.el.getBoundingClientRect()[this.section.justify]-t[this.section.justify],i=this._prevOffset-e;i&&this.el.animate({transform:[`translateX(${i}px)`,"none"]},{...this.flow.transformTiming,composite:"accumulate"})}}const X=String.raw;(()=>{try{document.createElement("div").animate({opacity:0},{easing:"linear(0, 1)"})}catch{return!1}return!0})();typeof CSS<"u"&&CSS.supports&&CSS.supports("line-height","mod(1,1)");typeof matchMedia<"u"&&matchMedia("(prefers-reduced-motion: reduce)");const J="--_number-flow-d-opacity",Q="--_number-flow-d-width",N="--_number-flow-dx",K="--_number-flow-d";(()=>{try{return CSS.registerProperty({name:J,syntax:"<number>",inherits:!1,initialValue:"0"}),CSS.registerProperty({name:N,syntax:"<length>",inherits:!0,initialValue:"0px"}),CSS.registerProperty({name:Q,syntax:"<number>",inherits:!1,initialValue:"0"}),CSS.registerProperty({name:K,syntax:"<number>",inherits:!0,initialValue:"0"}),!0}catch{return!1}})();const E="round(nearest, calc(var(--number-flow-mask-height, 0.25em) / 2), 1px)",f=`calc(${E} * 2)`,V="var(--number-flow-mask-width, 0.5em)",w=`calc(${V} / var(--scale-x))`,x="#000 0, transparent 71%",Ct=X`:host{display:inline-block;direction:ltr;white-space:nowrap;isolation:isolate;line-height:1}.number,.number__inner{display:inline-block;transform-origin:left top}:host([data-will-change]) :is(.number,.number__inner,.section,.digit,.digit__num,.symbol){will-change:transform}.number{--scale-x:calc(1 + var(${Q}) / var(--width));transform:translateX(var(${N})) scaleX(var(--scale-x));margin:0 calc(-1 * ${V});position:relative;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 ${w},#000 calc(100% - ${w}),transparent ),linear-gradient(to bottom,transparent 0,#000 ${f},#000 calc(100% - ${f}),transparent 100% ),radial-gradient(at bottom right,${x}),radial-gradient(at bottom left,${x}),radial-gradient(at top left,${x}),radial-gradient(at top right,${x});-webkit-mask-size:100% calc(100% - ${f} * 2),calc(100% - ${w} * 2) 100%,${w} ${f},${w} ${f},${w} ${f},${w} ${f};-webkit-mask-position:center,center,top left,top right,bottom right,bottom left;-webkit-mask-repeat:no-repeat}.number__inner{padding:${E} ${V};transform:scaleX(calc(1 / var(--scale-x))) translateX(calc(-1 * var(${N})))}:host > :not(.number){z-index:5}.section,.symbol{display:inline-block;position:relative;isolation:isolate}.section::after{content:'\200b';display:inline-block}.section--justify-left{transform-origin:center left}.section--justify-right{transform-origin:center right}.section > [inert],.symbol > [inert]{margin:0 !important;position:absolute !important;z-index:-1}.digit{display:inline-block;position:relative;--c:var(--current) + var(${K})}.digit__num,.number .section::after{padding:${E} 0}.digit__num{display:inline-block;--offset-raw:mod(var(--length) + var(--n) - mod(var(--c),var(--length)),var(--length));--offset:calc( var(--offset-raw) - var(--length) * round(down,var(--offset-raw) / (var(--length) / 2),1) );--y:clamp(-100%,var(--offset) * 100%,100%);transform:translateY(var(--y))}.digit__num[inert]{position:absolute;top:0;left:50%;transform:translateX(-50%) translateY(var(--y))}.digit:not(.is-spinning) .digit__num[inert]{display:none}.symbol__value{display:inline-block;mix-blend-mode:plus-lighter;white-space:pre}.section--justify-left .symbol > [inert]{left:0}.section--justify-right .symbol > [inert]{right:0}.animate-presence{opacity:calc(1 + var(${J}))}`,St=X`:host{display:inline-block;direction:ltr;white-space:nowrap;line-height:1}span{display:inline-block}:host([data-will-change]) span{will-change:transform}.number,.digit{padding:${E} 0}.symbol{white-space:pre}`,Et=(s="")=>X`:where(number-flow${s}){line-height:1}number-flow${s} > span{font-kerning:none;display:inline-block;padding:${f} 0}`,Tt=s=>[St,Et(s),Ct],tt=Symbol(),Mt=H({__name:"NumberFlowGroup",setup(s){const t=new Set;let e=!1;return lt(tt,(i,n)=>{t.add(i),ct(n,async()=>{e||(e=!0,t.forEach(async r=>{var a;!r.value||!r.value.created||(r.value.willUpdate(),await W(),(a=r.value)==null||a.didUpdate())}),await W(),e=!1)}),ht(()=>{t.delete(i)})}),(i,n)=>et(i.$slots,"default")}}),Pt=["batched","trend","plugins","animated","transformTiming","spinTiming","opacityTiming","respectMotionPreference","nonce","data-will-change","digits","innerHTML","data"],Nt=H({inheritAttrs:!1,__name:"index",props:{transformTiming:{default:()=>u.defaultProps.transformTiming},spinTiming:{default:()=>u.defaultProps.spinTiming},opacityTiming:{default:()=>u.defaultProps.opacityTiming},animated:{type:Boolean,default:()=>u.defaultProps.animated},respectMotionPreference:{type:Boolean,default:()=>u.defaultProps.respectMotionPreference},trend:{type:[Number,Function],default:()=>u.defaultProps.trend},plugins:{default:()=>u.defaultProps.plugins},digits:{default:()=>u.defaultProps.digits},locales:{},format:{},value:{},prefix:{},suffix:{},nonce:{},willChange:{type:Boolean,default:!1}},emits:["animationsstart","animationsfinish"],setup(s,{expose:t,emit:e}){const i=A();t({el:i});const n=e,r=j(()=>new Intl.NumberFormat(s.locales,s.format)),a=j(()=>$t(s.value,r.value,s.prefix,s.suffix)),o=void 0,c=it(tt,void 0);return c?.(i,a),(l,d)=>(nt(),st("number-flow-vue",at({ref_key:"el",ref:i},l.$attrs,{batched:!!D(c),trend:l.trend,plugins:l.plugins,animated:l.animated,transformTiming:l.transformTiming,spinTiming:l.spinTiming,opacityTiming:l.opacityTiming,respectMotionPreference:l.respectMotionPreference,nonce:l.nonce,"data-will-change":l.willChange?"":void 0,digits:l.digits,innerHTML:D(o),"data-allow-mismatch":"",onAnimationsstart:d[0]||(d[0]=m=>n("animationsstart")),onAnimationsfinish:d[1]||(d[1]=m=>n("animationsfinish")),data:a.value}),null,16,Pt))}}),Vt=Tt("-vue");_t("number-flow-vue",u);function Bt({respectMotionPreference:s=!0}={}){const t=A(!1),e=A(!1);return rt(()=>{var i;t.value=Y,e.value=((i=k)==null?void 0:i.matches)??!1}),ot(i=>{var n;if(!z(s))return;const r=({matches:a})=>{e.value=a};(n=k)==null||n.addEventListener("change",r),i(()=>{var a;(a=k)==null||a.removeEventListener("change",r)})}),j(()=>t.value&&(!z(s)||!e.value))}export{u as NumberFlowElement,Mt as NumberFlowGroup,jt as continuous,Nt as default,Vt as styles,Bt as useCanAnimate};
|
|
1
|
+
import{d as H,N as et,O as it,o as nt,P as st,Q as at,e as D,y as A,z as j,r as rt,R as ot,S as z,T as lt,v as ct,U as W,V as ht}from"./index-CsN0336H.js";const dt=String.raw,pt=(()=>{try{document.createElement("div").animate({opacity:0},{easing:"linear(0, 1)"})}catch{return!1}return!0})(),ut=typeof CSS<"u"&&CSS.supports&&CSS.supports("line-height","mod(1,1)"),k=typeof matchMedia<"u"?matchMedia("(prefers-reduced-motion: reduce)"):null,C="--_number-flow-d-opacity",B="--_number-flow-d-width",S="--_number-flow-dx",L="--_number-flow-d",mt=(()=>{try{return CSS.registerProperty({name:C,syntax:"<number>",inherits:!1,initialValue:"0"}),CSS.registerProperty({name:S,syntax:"<length>",inherits:!0,initialValue:"0px"}),CSS.registerProperty({name:B,syntax:"<number>",inherits:!1,initialValue:"0"}),CSS.registerProperty({name:L,syntax:"<number>",inherits:!0,initialValue:"0"}),!0}catch{return!1}})(),U="round(nearest, calc(var(--number-flow-mask-height, 0.25em) / 2), 1px)",v=`calc(${U} * 2)`,R="var(--number-flow-mask-width, 0.5em)",y=`calc(${R} / var(--scale-x))`,$="#000 0, transparent 71%",ft=dt`:host{display:inline-block;direction:ltr;white-space:nowrap;isolation:isolate;line-height:1}.number,.number__inner{display:inline-block;transform-origin:left top}:host([data-will-change]) :is(.number,.number__inner,.section,.digit,.digit__num,.symbol){will-change:transform}.number{--scale-x:calc(1 + var(${B}) / var(--width));transform:translateX(var(${S})) scaleX(var(--scale-x));margin:0 calc(-1 * ${R});position:relative;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 ${y},#000 calc(100% - ${y}),transparent ),linear-gradient(to bottom,transparent 0,#000 ${v},#000 calc(100% - ${v}),transparent 100% ),radial-gradient(at bottom right,${$}),radial-gradient(at bottom left,${$}),radial-gradient(at top left,${$}),radial-gradient(at top right,${$});-webkit-mask-size:100% calc(100% - ${v} * 2),calc(100% - ${y} * 2) 100%,${y} ${v},${y} ${v},${y} ${v},${y} ${v};-webkit-mask-position:center,center,top left,top right,bottom right,bottom left;-webkit-mask-repeat:no-repeat}.number__inner{padding:${U} ${R};transform:scaleX(calc(1 / var(--scale-x))) translateX(calc(-1 * var(${S})))}:host > :not(.number){z-index:5}.section,.symbol{display:inline-block;position:relative;isolation:isolate}.section::after{content:'\200b';display:inline-block}.section--justify-left{transform-origin:center left}.section--justify-right{transform-origin:center right}.section > [inert],.symbol > [inert]{margin:0 !important;position:absolute !important;z-index:-1}.digit{display:inline-block;position:relative;--c:var(--current) + var(${L})}.digit__num,.number .section::after{padding:${U} 0}.digit__num{display:inline-block;--offset-raw:mod(var(--length) + var(--n) - mod(var(--c),var(--length)),var(--length));--offset:calc( var(--offset-raw) - var(--length) * round(down,var(--offset-raw) / (var(--length) / 2),1) );--y:clamp(-100%,var(--offset) * 100%,100%);transform:translateY(var(--y))}.digit__num[inert]{position:absolute;top:0;left:50%;transform:translateX(-50%) translateY(var(--y))}.digit:not(.is-spinning) .digit__num[inert]{display:none}.symbol__value{display:inline-block;mix-blend-mode:plus-lighter;white-space:pre}.section--justify-left .symbol > [inert]{left:0}.section--justify-right .symbol > [inert]{right:0}.animate-presence{opacity:calc(1 + var(${C}))}`,gt=HTMLElement,vt=(s,t)=>s==null?t:t==null?s:Math.max(s,t),P=new WeakMap,jt={onUpdate(s,t,e){if(P.set(e,void 0),!e.computedTrend)return;const i=t.integer.concat(t.fraction).filter(o=>o.type==="integer"||o.type==="fraction"),n=s.integer.concat(s.fraction).filter(o=>o.type==="integer"||o.type==="fraction"),r=i.find(o=>!n.find(c=>c.pos===o.pos&&c.value===o.value)),a=n.find(o=>!i.find(c=>o.pos===c.pos&&o.value===c.value));P.set(e,vt(r?.pos,a?.pos))},getDelta(s,t,e){const i=s-t,n=P.get(e.flow);if(!i&&n!=null&&n>=e.pos)return e.length*e.flow.computedTrend}},g=(s,t,e)=>{const i=document.createElement(s),[n,r]=Array.isArray(t)?[void 0,t]:[t,e];return n&&Object.assign(i,n),r?.forEach(a=>i.appendChild(a)),i},yt=(s,t)=>{var e;return t==="left"?s.offsetLeft:(((e=s.offsetParent instanceof HTMLElement?s.offsetParent:null)==null?void 0:e.offsetWidth)??0)-s.offsetWidth-s.offsetLeft},wt=s=>s.offsetWidth>0&&s.offsetHeight>0,_t=(s,t)=>{!customElements.get(s)&&customElements.define(s,t)};function bt(s,t,{reverse:e=!1}={}){const i=s.length;for(let n=e?i-1:0;e?n>=0:n<i;e?n--:n++)t(s[n],n)}function $t(s,t,e,i){const n=t.formatToParts(s);e&&n.unshift({type:"prefix",value:e}),i&&n.push({type:"suffix",value:i});const r=[],a=[],o=[],c=[],l={},d=p=>`${p}:${l[p]=(l[p]??-1)+1}`;let m="",_=!1,b=!1;for(const p of n){m+=p.value;const h=p.type==="minusSign"||p.type==="plusSign"?"sign":p.type;h==="integer"?(_=!0,a.push(...p.value.split("").map(T=>({type:h,value:parseInt(T)})))):h==="group"?a.push({type:h,value:p.value}):h==="decimal"?(b=!0,o.push({type:h,value:p.value,key:d(h)})):h==="fraction"?o.push(...p.value.split("").map(T=>({type:h,value:parseInt(T),key:d(h),pos:-1-l[h]}))):(_||b?c:r).push({type:h,value:p.value,key:d(h)})}const F=[];for(let p=a.length-1;p>=0;p--){const h=a[p];F.unshift(h.type==="integer"?{...h,key:d(h.type),pos:l[h.type]}:{...h,key:d(h.type)})}return{pre:r,integer:F,fraction:o,post:c,valueAsString:m,value:typeof s=="string"?parseFloat(s):s}}const Y=ut&&pt&&mt;let u=class extends gt{constructor(){super(),this.created=!1,this.batched=!1;const{animated:t,...e}=this.constructor.defaultProps;this._animated=this.computedAnimated=t,Object.assign(this,e)}get animated(){return this._animated}set animated(t){var e;this.animated!==t&&(this._animated=t,(e=this.shadowRoot)==null||e.getAnimations().forEach(i=>i.finish()))}set data(t){var e,i;if(t==null)return;const{pre:n,integer:r,fraction:a,post:o,value:c}=t;if(this.created){const l=this._data;this._data=t,this.computedTrend=typeof this.trend=="function"?this.trend(l.value,c):this.trend,this.computedAnimated=Y&&this._animated&&(!this.respectMotionPreference||!((e=k)!=null&&e.matches))&&wt(this)&&this.ownerDocument.visibilityState==="visible",(i=this.plugins)==null||i.forEach(d=>{var m;return(m=d.onUpdate)==null?void 0:m.call(d,t,l,this)}),this.batched||this.willUpdate(),this._pre.update(n),this._num.update({integer:r,fraction:a}),this._post.update(o),this.batched||this.didUpdate()}else{this._data=t,this.attachShadow({mode:"open"});try{this._internals??(this._internals=this.attachInternals()),this._internals.role="img"}catch{}const l=document.createElement("style");this.nonce&&(l.nonce=this.nonce),l.textContent=ft,this.shadowRoot.appendChild(l),this._pre=new O(this,n,{justify:"right",part:"left"}),this.shadowRoot.appendChild(this._pre.el),this._num=new xt(this,r,a),this.shadowRoot.appendChild(this._num.el),this._post=new O(this,o,{justify:"left",part:"right"}),this.shadowRoot.appendChild(this._post.el),this.created=!0}try{this._internals.ariaLabel=t.valueAsString}catch{}}willUpdate(){this._pre.willUpdate(),this._num.willUpdate(),this._post.willUpdate()}didUpdate(){if(!this.computedAnimated)return;this._abortAnimationsFinish?this._abortAnimationsFinish.abort():this.dispatchEvent(new Event("animationsstart")),this._pre.didUpdate(),this._num.didUpdate(),this._post.didUpdate();const t=new AbortController;Promise.all(this.shadowRoot.getAnimations().map(e=>e.finished)).then(()=>{t.signal.aborted||(this.dispatchEvent(new Event("animationsfinish")),this._abortAnimationsFinish=void 0)}),this._abortAnimationsFinish=t}};u.defaultProps={transformTiming:{duration:900,easing:"linear(0,.005,.019,.039,.066,.096,.129,.165,.202,.24,.278,.316,.354,.39,.426,.461,.494,.526,.557,.586,.614,.64,.665,.689,.711,.731,.751,.769,.786,.802,.817,.831,.844,.856,.867,.877,.887,.896,.904,.912,.919,.925,.931,.937,.942,.947,.951,.955,.959,.962,.965,.968,.971,.973,.976,.978,.98,.981,.983,.984,.986,.987,.988,.989,.99,.991,.992,.992,.993,.994,.994,.995,.995,.996,.996,.9963,.9967,.9969,.9972,.9975,.9977,.9979,.9981,.9982,.9984,.9985,.9987,.9988,.9989,1)"},spinTiming:void 0,opacityTiming:{duration:450,easing:"ease-out"},animated:!0,trend:(s,t)=>Math.sign(t-s),respectMotionPreference:!0,plugins:void 0,digits:void 0};class xt{constructor(t,e,i,{className:n,...r}={}){this.flow=t,this._integer=new I(t,e,{justify:"right",part:"integer"}),this._fraction=new I(t,i,{justify:"left",part:"fraction"}),this._inner=g("span",{className:"number__inner"},[this._integer.el,this._fraction.el]),this.el=g("span",{...r,part:"number",className:`number ${n??""}`},[this._inner])}willUpdate(){this._prevWidth=this.el.offsetWidth,this._prevLeft=this.el.getBoundingClientRect().left,this._integer.willUpdate(),this._fraction.willUpdate()}update({integer:t,fraction:e}){this._integer.update(t),this._fraction.update(e)}didUpdate(){const t=this.el.getBoundingClientRect();this._integer.didUpdate(),this._fraction.didUpdate();const e=this._prevLeft-t.left,i=this.el.offsetWidth,n=this._prevWidth-i;this.el.style.setProperty("--width",String(i)),this.el.animate({[S]:[`${e}px`,"0px"],[B]:[n,0]},{...this.flow.transformTiming,composite:"accumulate"})}}let G=class{constructor(t,e,{justify:i,className:n,...r},a){this.flow=t,this.children=new Map,this.onCharRemove=c=>()=>{this.children.delete(c)},this.justify=i;const o=e.map(c=>this.addChar(c).el);this.el=g("span",{...r,className:`section section--justify-${i} ${n??""}`},a?a(o):o)}addChar(t,{startDigitsAtZero:e=!1,...i}={}){const n=t.type==="integer"||t.type==="fraction"?new q(this,t.type,e?0:t.value,t.pos,{...i,onRemove:this.onCharRemove(t.key)}):new kt(this,t.type,t.value,{...i,onRemove:this.onCharRemove(t.key)});return this.children.set(t.key,n),n}unpop(t){t.el.removeAttribute("inert"),t.el.style.top="",t.el.style[this.justify]=""}pop(t){t.forEach(e=>{e.el.style.top=`${e.el.offsetTop}px`,e.el.style[this.justify]=`${yt(e.el,this.justify)}px`}),t.forEach(e=>{e.el.setAttribute("inert",""),e.present=!1})}addNewAndUpdateExisting(t){const e=new Map,i=new Map,n=this.justify==="left",r=n?"prepend":"append";if(bt(t,a=>{let o;this.children.has(a.key)?(o=this.children.get(a.key),i.set(a,o),this.unpop(o),o.present=!0):(o=this.addChar(a,{startDigitsAtZero:!0,animateIn:!0}),e.set(a,o)),this.el[r](o.el)},{reverse:n}),this.flow.computedAnimated){const a=this.el.getBoundingClientRect();e.forEach(o=>{o.willUpdate(a)})}e.forEach((a,o)=>{a.update(o.value)}),i.forEach((a,o)=>{a.update(o.value)})}willUpdate(){const t=this.el.getBoundingClientRect();this._prevOffset=t[this.justify],this.children.forEach(e=>e.willUpdate(t))}didUpdate(){const t=this.el.getBoundingClientRect();this.children.forEach(n=>n.didUpdate(t));const e=t[this.justify],i=this._prevOffset-e;i&&this.children.size&&this.el.animate({transform:[`translateX(${i}px)`,"none"]},{...this.flow.transformTiming,composite:"accumulate"})}};class I extends G{update(t){const e=new Map;this.children.forEach((i,n)=>{t.find(r=>r.key===n)||e.set(n,i),this.unpop(i)}),this.addNewAndUpdateExisting(t),e.forEach(i=>{i instanceof q&&i.update(0)}),this.pop(e)}}class O extends G{update(t){const e=new Map;this.children.forEach((i,n)=>{t.find(r=>r.key===n)||e.set(n,i)}),this.pop(e),this.addNewAndUpdateExisting(t)}}class M{constructor(t,e,{onRemove:i,animateIn:n=!1}={}){this.flow=t,this.el=e,this._present=!0,this._remove=()=>{var r;this.el.remove(),(r=this._onRemove)==null||r.call(this)},this.el.classList.add("animate-presence"),this.flow.computedAnimated&&n&&this.el.animate({[C]:[-.9999,0]},{...this.flow.opacityTiming,composite:"accumulate"}),this._onRemove=i}get present(){return this._present}set present(t){if(this._present!==t){if(this._present=t,t?this.el.removeAttribute("inert"):this.el.setAttribute("inert",""),!this.flow.computedAnimated){t||this._remove();return}this.el.style.setProperty("--_number-flow-d-opacity",t?"0":"-.999"),this.el.animate({[C]:t?[-.9999,0]:[.999,0]},{...this.flow.opacityTiming,composite:"accumulate"}),t?this.flow.removeEventListener("animationsfinish",this._remove):this.flow.addEventListener("animationsfinish",this._remove,{once:!0})}}}class Z extends M{constructor(t,e,i,n){super(t.flow,i,n),this.section=t,this.value=e,this.el=i}}class q extends Z{constructor(t,e,i,n,r){var a,o;const c=(((o=(a=t.flow.digits)==null?void 0:a[n])==null?void 0:o.max)??9)+1,l=Array.from({length:c}).map((m,_)=>{const b=g("span",{className:"digit__num"},[document.createTextNode(String(_))]);return _!==i&&b.setAttribute("inert",""),b.style.setProperty("--n",String(_)),b}),d=g("span",{part:`digit ${e}-digit`,className:"digit"},l);d.style.setProperty("--current",String(i)),d.style.setProperty("--length",String(c)),super(t,i,d,r),this.pos=n,this._onAnimationsFinish=()=>{this.el.classList.remove("is-spinning")},this._numbers=l,this.length=c}willUpdate(t){const e=this.el.getBoundingClientRect();this._prevValue=this.value;const i=e[this.section.justify]-t[this.section.justify],n=e.width/2;this._prevCenter=this.section.justify==="left"?i+n:i-n}update(t){this.el.style.setProperty("--current",String(t)),this._numbers.forEach((e,i)=>i===t?e.removeAttribute("inert"):e.setAttribute("inert","")),this.value=t}didUpdate(t){const e=this.el.getBoundingClientRect(),i=e[this.section.justify]-t[this.section.justify],n=e.width/2,r=this.section.justify==="left"?i+n:i-n,a=this._prevCenter-r;a&&this.el.animate({transform:[`translateX(${a}px)`,"none"]},{...this.flow.transformTiming,composite:"accumulate"});const o=this.getDelta();o&&(this.el.classList.add("is-spinning"),this.el.animate({[L]:[-o,0]},{...this.flow.spinTiming??this.flow.transformTiming,composite:"accumulate"}),this.flow.addEventListener("animationsfinish",this._onAnimationsFinish,{once:!0}))}getDelta(){var t;if(this.flow.plugins)for(const n of this.flow.plugins){const r=(t=n.getDelta)==null?void 0:t.call(n,this.value,this._prevValue,this);if(r!=null)return r}const e=this.value-this._prevValue,i=this.flow.computedTrend||Math.sign(e);return i<0&&this.value>this._prevValue?this.value-this.length-this._prevValue:i>0&&this.value<this._prevValue?this.length-this._prevValue+this.value:e}}class kt extends Z{constructor(t,e,i,n){const r=g("span",{className:"symbol__value",textContent:i});super(t,i,g("span",{part:`symbol ${e}`,className:"symbol"},[r]),n),this.type=e,this._children=new Map,this._onChildRemove=a=>()=>{this._children.delete(a)},this._children.set(i,new M(this.flow,r,{onRemove:this._onChildRemove(i)}))}willUpdate(t){if(this.type==="decimal")return;const e=this.el.getBoundingClientRect();this._prevOffset=e[this.section.justify]-t[this.section.justify]}update(t){if(this.value!==t){const e=this._children.get(this.value);e&&(e.present=!1);const i=this._children.get(t);if(i)i.present=!0;else{const n=g("span",{className:"symbol__value",textContent:t});this.el.appendChild(n),this._children.set(t,new M(this.flow,n,{animateIn:!0,onRemove:this._onChildRemove(t)}))}}this.value=t}didUpdate(t){if(this.type==="decimal")return;const e=this.el.getBoundingClientRect()[this.section.justify]-t[this.section.justify],i=this._prevOffset-e;i&&this.el.animate({transform:[`translateX(${i}px)`,"none"]},{...this.flow.transformTiming,composite:"accumulate"})}}const X=String.raw;(()=>{try{document.createElement("div").animate({opacity:0},{easing:"linear(0, 1)"})}catch{return!1}return!0})();typeof CSS<"u"&&CSS.supports&&CSS.supports("line-height","mod(1,1)");typeof matchMedia<"u"&&matchMedia("(prefers-reduced-motion: reduce)");const J="--_number-flow-d-opacity",Q="--_number-flow-d-width",N="--_number-flow-dx",K="--_number-flow-d";(()=>{try{return CSS.registerProperty({name:J,syntax:"<number>",inherits:!1,initialValue:"0"}),CSS.registerProperty({name:N,syntax:"<length>",inherits:!0,initialValue:"0px"}),CSS.registerProperty({name:Q,syntax:"<number>",inherits:!1,initialValue:"0"}),CSS.registerProperty({name:K,syntax:"<number>",inherits:!0,initialValue:"0"}),!0}catch{return!1}})();const E="round(nearest, calc(var(--number-flow-mask-height, 0.25em) / 2), 1px)",f=`calc(${E} * 2)`,V="var(--number-flow-mask-width, 0.5em)",w=`calc(${V} / var(--scale-x))`,x="#000 0, transparent 71%",Ct=X`:host{display:inline-block;direction:ltr;white-space:nowrap;isolation:isolate;line-height:1}.number,.number__inner{display:inline-block;transform-origin:left top}:host([data-will-change]) :is(.number,.number__inner,.section,.digit,.digit__num,.symbol){will-change:transform}.number{--scale-x:calc(1 + var(${Q}) / var(--width));transform:translateX(var(${N})) scaleX(var(--scale-x));margin:0 calc(-1 * ${V});position:relative;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 ${w},#000 calc(100% - ${w}),transparent ),linear-gradient(to bottom,transparent 0,#000 ${f},#000 calc(100% - ${f}),transparent 100% ),radial-gradient(at bottom right,${x}),radial-gradient(at bottom left,${x}),radial-gradient(at top left,${x}),radial-gradient(at top right,${x});-webkit-mask-size:100% calc(100% - ${f} * 2),calc(100% - ${w} * 2) 100%,${w} ${f},${w} ${f},${w} ${f},${w} ${f};-webkit-mask-position:center,center,top left,top right,bottom right,bottom left;-webkit-mask-repeat:no-repeat}.number__inner{padding:${E} ${V};transform:scaleX(calc(1 / var(--scale-x))) translateX(calc(-1 * var(${N})))}:host > :not(.number){z-index:5}.section,.symbol{display:inline-block;position:relative;isolation:isolate}.section::after{content:'\200b';display:inline-block}.section--justify-left{transform-origin:center left}.section--justify-right{transform-origin:center right}.section > [inert],.symbol > [inert]{margin:0 !important;position:absolute !important;z-index:-1}.digit{display:inline-block;position:relative;--c:var(--current) + var(${K})}.digit__num,.number .section::after{padding:${E} 0}.digit__num{display:inline-block;--offset-raw:mod(var(--length) + var(--n) - mod(var(--c),var(--length)),var(--length));--offset:calc( var(--offset-raw) - var(--length) * round(down,var(--offset-raw) / (var(--length) / 2),1) );--y:clamp(-100%,var(--offset) * 100%,100%);transform:translateY(var(--y))}.digit__num[inert]{position:absolute;top:0;left:50%;transform:translateX(-50%) translateY(var(--y))}.digit:not(.is-spinning) .digit__num[inert]{display:none}.symbol__value{display:inline-block;mix-blend-mode:plus-lighter;white-space:pre}.section--justify-left .symbol > [inert]{left:0}.section--justify-right .symbol > [inert]{right:0}.animate-presence{opacity:calc(1 + var(${J}))}`,St=X`:host{display:inline-block;direction:ltr;white-space:nowrap;line-height:1}span{display:inline-block}:host([data-will-change]) span{will-change:transform}.number,.digit{padding:${E} 0}.symbol{white-space:pre}`,Et=(s="")=>X`:where(number-flow${s}){line-height:1}number-flow${s} > span{font-kerning:none;display:inline-block;padding:${f} 0}`,Tt=s=>[St,Et(s),Ct],tt=Symbol(),Mt=H({__name:"NumberFlowGroup",setup(s){const t=new Set;let e=!1;return lt(tt,(i,n)=>{t.add(i),ct(n,async()=>{e||(e=!0,t.forEach(async r=>{var a;!r.value||!r.value.created||(r.value.willUpdate(),await W(),(a=r.value)==null||a.didUpdate())}),await W(),e=!1)}),ht(()=>{t.delete(i)})}),(i,n)=>et(i.$slots,"default")}}),Pt=["batched","trend","plugins","animated","transformTiming","spinTiming","opacityTiming","respectMotionPreference","nonce","data-will-change","digits","innerHTML","data"],Nt=H({inheritAttrs:!1,__name:"index",props:{transformTiming:{default:()=>u.defaultProps.transformTiming},spinTiming:{default:()=>u.defaultProps.spinTiming},opacityTiming:{default:()=>u.defaultProps.opacityTiming},animated:{type:Boolean,default:()=>u.defaultProps.animated},respectMotionPreference:{type:Boolean,default:()=>u.defaultProps.respectMotionPreference},trend:{type:[Number,Function],default:()=>u.defaultProps.trend},plugins:{default:()=>u.defaultProps.plugins},digits:{default:()=>u.defaultProps.digits},locales:{},format:{},value:{},prefix:{},suffix:{},nonce:{},willChange:{type:Boolean,default:!1}},emits:["animationsstart","animationsfinish"],setup(s,{expose:t,emit:e}){const i=A();t({el:i});const n=e,r=j(()=>new Intl.NumberFormat(s.locales,s.format)),a=j(()=>$t(s.value,r.value,s.prefix,s.suffix)),o=void 0,c=it(tt,void 0);return c?.(i,a),(l,d)=>(nt(),st("number-flow-vue",at({ref_key:"el",ref:i},l.$attrs,{batched:!!D(c),trend:l.trend,plugins:l.plugins,animated:l.animated,transformTiming:l.transformTiming,spinTiming:l.spinTiming,opacityTiming:l.opacityTiming,respectMotionPreference:l.respectMotionPreference,nonce:l.nonce,"data-will-change":l.willChange?"":void 0,digits:l.digits,innerHTML:D(o),"data-allow-mismatch":"",onAnimationsstart:d[0]||(d[0]=m=>n("animationsstart")),onAnimationsfinish:d[1]||(d[1]=m=>n("animationsfinish")),data:a.value}),null,16,Pt))}}),Vt=Tt("-vue");_t("number-flow-vue",u);function Bt({respectMotionPreference:s=!0}={}){const t=A(!1),e=A(!1);return rt(()=>{var i;t.value=Y,e.value=((i=k)==null?void 0:i.matches)??!1}),ot(i=>{var n;if(!z(s))return;const r=({matches:a})=>{e.value=a};(n=k)==null||n.addEventListener("change",r),i(()=>{var a;(a=k)==null||a.removeEventListener("change",r)})}),j(()=>t.value&&(!z(s)||!e.value))}export{u as NumberFlowElement,Mt as NumberFlowGroup,jt as continuous,Nt as default,Vt as styles,Bt as useCanAnimate};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as q,q as M,r as O,v as y,o as k,c as E,x as z,e as A,y as x,z as r,A as J,B as L,C as s,D as T,E as V,F as D,G,H,I as K,J as g,K as P,L as h,M as U}from"./index-
|
|
1
|
+
import{d as q,q as M,r as O,v as y,o as k,c as E,x as z,e as A,y as x,z as r,A as J,B as L,C as s,D as T,E as V,F as D,G,H,I as K,J as g,K as P,L as h,M as U}from"./index-CsN0336H.js";import W from"./index-Df0XE7Lz.js";const X=q({name:"ShwfedBlockAnimatedNumberItem",__name:"item",props:{item:{}},setup(b){const n=b,j=P(),a=x(void 0),m=x(0);function u(){return K(j)}function S(e){if(typeof e=="number"&&Number.isFinite(e))return e;if(typeof e=="string"&&e.trim()!==""){const t=Number(e);return Number.isFinite(t)?t:0}return 0}const d=r(()=>a.value===void 0?g():U(a.value));function v(e){if(!e)return"";try{const t=h(s(e,{...u(),json:d.value}));return t==null?"":String(t)}catch{return""}}const w=r(()=>v(n.item.prefix)),C=r(()=>v(n.item.suffix));function F(e){if(e)try{const t=h(s(e,{...u(),json:d.value}));return t==null?void 0:typeof t=="string"||typeof t=="object"?t:String(t)}catch{return}}const I=r(()=>F(n.item.style));async function i(){const e=n.item.dataSource,t=u(),B=J(function*(){let o=g();e.request&&(o=yield*L(yield*s(e.request,t)));const N=yield*s(e.value,{...t,json:o});return{json:T(o),value:N}});try{const o=await V(D(B,G));a.value=o.json,m.value=S(o.value)}catch(o){console.warn("[shwfed-animated-number] fetch failed",o)}}const l=r(()=>(n.item.pollingInterval??0)>0),_=r(()=>Math.max(1,n.item.pollingInterval??1)*1e3),c=H(),{pause:p,resume:f}=M(()=>{i()},_,{immediate:!1});return O(()=>{i(),l.value&&c.value&&f()}),y(c,e=>{l.value&&(e?(i(),f()):p())}),y(()=>[n.item.dataSource.request??"",n.item.dataSource.value,n.item.pollingInterval??0].join("|"),()=>{i(),l.value&&c.value?f():p()}),(e,t)=>(k(),E(A(W),{value:m.value,prefix:w.value,suffix:C.value,style:z(I.value)},null,8,["value","prefix","suffix","style"]))}});export{X as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as l,b1 as g,aP as A,aS as y,aK as b,c as S,e as _,C as h,I as C,aO as j,b2 as k,K as O,o as B}from"./index-
|
|
1
|
+
import{d as l,b1 as g,aP as A,aS as y,aK as b,c as S,e as _,C as h,I as C,aO as j,b2 as k,K as O,o as B}from"./index-CsN0336H.js";import{_ as I}from"./definition.vue_vue_type_script_setup_true_lang-SX94Z692.js";const E=l({name:"ShwfedStateWriteActionRuntime",__name:"runtime",props:{buttonId:{},config:{}},setup(s){const a=s,f=O(),c=(e,t)=>h(e,{...C(f),...t}),n=g(),o=n.kind==="form"&&n.parent?n.parent:n,u=j(),m=k((e,t,r)=>{if(Array.isArray(e[t])&&Array.isArray(r))return e[t]=r,!0});function i(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function p(e,t){return i(e)&&i(t)?m({...t},e):t}const d=A(()=>y(c(a.config.expression),e=>{for(const t of Object.keys(e)){const r=p(o.getAt(t),e[t]);o.setAt(t,r)}return b(u,a.config.onSuccess,c)}));return(e,t)=>(B(),S(I,{"action-id":s.buttonId,effect:_(d)},null,8,["action-id","effect"]))}});export{E as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as r,aP as f,aQ as u,aK as g,aN as p,c as d,e as m,C as l,I as x,aO as h,K as E,o as _}from"./index-
|
|
1
|
+
import{d as r,aP as f,aQ as u,aK as g,aN as p,c as d,e as m,C as l,I as x,aO as h,K as E,o as _}from"./index-CsN0336H.js";import{_ as C}from"./definition.vue_vue_type_script_setup_true_lang-SX94Z692.js";const B=r({name:"ShwfedHttpRequestActionRuntime",__name:"runtime",props:{buttonId:{},config:{}},setup(n){const e=n,i=E(),s=(t,c)=>l(t,{...x(i),...c}),o=h(),a=f(()=>u(g(o,e.config.before,s),()=>p(e.config.expression,s,{messageExpression:e.config.messageExpression,resultExpression:e.config.resultExpression,channel:o,triggers:{success:e.config.onSuccess,warning:e.config.onWarning,error:e.config.onError,info:e.config.onInfo}})));return(t,c)=>(_(),d(C,{"action-id":n.buttonId,effect:m(a)},null,8,["action-id","effect"]))}});export{B as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as r,aP as f,aK as d,c as u,e as m,aO as p,o as l,C as g,I as h,K as _}from"./index-
|
|
1
|
+
import{d as r,aP as f,aK as d,c as u,e as m,aO as p,o as l,C as g,I as h,K as _}from"./index-CsN0336H.js";import{_ as C}from"./definition.vue_vue_type_script_setup_true_lang-SX94Z692.js";const E=r({name:"ShwfedEventDispatchActionRuntime",__name:"runtime",props:{buttonId:{},config:{}},setup(e){const c=e,s=_(),a=(n,t)=>g(n,{...h(s),...t}),o=p(),i=f(()=>d(o,c.config.triggers,a));return(n,t)=>(l(),u(C,{"action-id":e.buttonId,effect:m(i)},null,8,["action-id","effect"]))}});export{E as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as o}from"./definition.vue_vue_type_script_setup_true_lang-
|
|
1
|
+
import{_ as o}from"./definition.vue_vue_type_script_setup_true_lang-SX94Z692.js";import{d as n,c,e as a,o as f,aR as i}from"./index-CsN0336H.js";const _=n({name:"ShwfedPrototypeActionRuntime",__name:"runtime",props:{buttonId:{},config:{}},setup(e){const t=i;return(r,s)=>(f(),c(o,{"action-id":e.buttonId,effect:a(t)},null,8,["action-id","effect"]))}});export{_ as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as f,W as u,aP as p,aQ as d,aK as l,b3 as m,$ as g,c as x,e as h,C as E,I as _,aO as B,o as C,K as b}from"./index-
|
|
1
|
+
import{d as f,W as u,aP as p,aQ as d,aK as l,b3 as m,$ as g,c as x,e as h,C as E,I as _,aO as B,o as C,K as b}from"./index-CsN0336H.js";import{_ as k}from"./definition.vue_vue_type_script_setup_true_lang-SX94Z692.js";const O=f({name:"ShwfedHttpRequestBatchActionRuntime",__name:"runtime",props:{buttonId:{},config:{}},setup(n){const e=n,{locale:a}=u(),c=b(),s=(t,o)=>E(t,{..._(c),...o}),i=B(),r=p(()=>d(l(i,e.config.before,s),()=>m(e.config.expression,s,{messageExpression:e.config.messageExpression,resultExpression:e.config.resultExpression,continueOnError:e.config.continueOnError,markdown:g(e.config.markdown,a.value)??""})));return(t,o)=>(C(),x(k,{"action-id":n.buttonId,effect:h(r)},null,8,["action-id","effect"]))}});export{O as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as u,W as i,c as l,e as p,z as m,o as d,k as f,$ as _,aL as k,C as w,I as x,K as g}from"./index-
|
|
1
|
+
import{d as u,W as i,c as l,e as p,z as m,o as d,k as f,$ as _,aL as k,C as w,I as x,K as g}from"./index-CsN0336H.js";const h=u({name:"ShwfedMarkdownItemRuntime",__name:"runtime",props:{config:{}},setup(s){const o=s,{locale:t}=i(),a=g(),c=(e,n)=>w(e,{...x(a),...n}),r=m(()=>{const e=_(o.config.content,t.value)??"";return k(e,c)});return(e,n)=>(d(),l(p(f),{"data-slot":"buttons-markdown",source:r.value,class:"prose prose-sm prose-zinc px-1"},null,8,["source"]))}});export{h as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as _,aP as E,A as S,aW as r,aK as m,a$ as b,b0 as j,c as v,e as x,C as B,I as C,aO as L,K as k,o as R}from"./index-
|
|
1
|
+
import{d as _,aP as E,A as S,aW as r,aK as m,a$ as b,b0 as j,c as v,e as x,C as B,I as C,aO as L,K as k,o as R}from"./index-CsN0336H.js";import{_ as I}from"./definition.vue_vue_type_script_setup_true_lang-SX94Z692.js";const A=_({name:"ShwfedHttpDownloadActionRuntime",__name:"runtime",props:{buttonId:{},config:{}},setup(d){const c=d,g=k(),t=(e,n)=>B(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=E(()=>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,t)}const a={json:yield*u.json()},i=o===void 0?"success":yield*b(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],t)}));return(e,n)=>(R(),v(I,{"action-id":d.buttonId,effect:x(y)},null,8,["action-id","effect"]))}});export{A as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as s,W as x,aU as T,A as p,$ as c,aV as M,L as b,c as L,w as d,e as u,y as N,O as k,aO as S,aW as w,o as A,m as I,x as V,b as r,aX as $,aY as F,aB as H,K,aZ as f,T as m,a_ as O}from"./index-
|
|
1
|
+
import{d as s,W as x,aU as T,A as p,$ as c,aV as M,L as b,c as L,w as d,e as u,y as N,O as k,aO as S,aW as w,o as A,m as I,x as V,b as r,aX as $,aY as F,aB as H,K,aZ as f,T as m,a_ as O}from"./index-CsN0336H.js";import{_ as W}from"./definition.vue_vue_type_script_setup_true_lang-SX94Z692.js";const z=s({name:"ShwfedModalLayoutActionRuntime",__name:"runtime",props:{buttonId:{},config:{},buttonTitle:{}},setup(n){const a=n,{locale:l}=x(),v=e=>{},h=K(),i=k(f,void 0),g=S(),o=N(null),C=T(a.buttonId,{close:()=>w(()=>{o.value?.()})},g),_=s({name:"ModalBoundaryBridge",setup(e,{slots:t}){return F(h),m(O,C),i&&m(f,i),()=>t.default?.()}}),y=(e,t)=>H()?.(e,t),E=p(function*(){const e=c(a.config.modalTitle,l.value)??c(a.buttonTitle,l.value)??"",{modal:t,close:B}=yield*M({title:e,width:a.config.modalWidth});o.value=()=>b(B()),yield*t,o.value=null});return(e,t)=>(A(),L(W,{"action-id":n.buttonId,effect:u(E)},{default:d(()=>[I("div",{style:V(n.config.modalMinHeight?`min-height: ${n.config.modalMinHeight}`:void 0)},[r(u(_),null,{default:d(()=>[r($,{"slot-value":n.config.slot,configure:v,"find-entry":y},null,8,["slot-value"])]),_:1})],4)]),_:1},8,["action-id","effect"]))}});export{z as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as f,aP as u,aS as l,aT as d,c as m,e as w,C as p,I as _,K as g,o as h}from"./index-
|
|
1
|
+
import{d as f,aP as u,aS as l,aT as d,c as m,e as w,C as p,I as _,K as g,o as h}from"./index-CsN0336H.js";import{_ as v}from"./definition.vue_vue_type_script_setup_true_lang-SX94Z692.js";function x(){return{resolve:e=>({href:new URL(e,window.location.href).href})}}function b(e,t){return window.location.assign(e),Promise.resolve()}const R=f({name:"ShwfedNavigationActionRuntime",__name:"runtime",props:{buttonId:{},config:{}},setup(e){const t=e,i=x(),a=g(),r=(n,o)=>p(n,{..._(a),...o});function c(n){try{return new URL(n,window.location.href).origin!==window.location.origin}catch{return!1}}const s=u(()=>l(r(t.config.url),n=>d(async()=>{const o=c(n);if(t.config.mode==="_blank"){window.open(o?n:i.resolve(n).href,"_blank");return}await b(n)})));return(n,o)=>(h(),m(v,{"action-id":e.buttonId,effect:w(s)},null,8,["action-id","effect"]))}});export{R as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as f,W as g,A as l,aK as u,$ as d,aL as p,aM as m,aN as x,c as E,e as _,C as h,I as C,aO as w,K as I,o as k}from"./index-
|
|
1
|
+
import{d as f,W as g,A as l,aK as u,$ as d,aL as p,aM as m,aN as x,c as E,e as _,C as h,I as C,aO as w,K as I,o as k}from"./index-CsN0336H.js";import{_ as b}from"./definition.vue_vue_type_script_setup_true_lang-SX94Z692.js";const L=f({name:"ShwfedHttpRequestConfirmActionRuntime",__name:"runtime",props:{buttonId:{},config:{}},setup(c){const e=c,{locale:i}=g(),a=I(),s=(n,o)=>h(n,{...C(a),...o}),t=w(),r=l(function*(){yield*u(t,e.config.before,s);const n=d(e.config.markdown,i.value)??"",o=p(n,s);(yield*m({content:o,icon:e.config.icon,color:e.config.color}))||(yield*x(e.config.expression,s,{messageExpression:e.config.messageExpression,resultExpression:e.config.resultExpression,channel:t,triggers:{success:e.config.onSuccess,warning:e.config.onWarning,error:e.config.onError,info:e.config.onInfo}}))});return(n,o)=>(k(),E(b,{"action-id":c.buttonId,effect:_(r)},null,8,["action-id","effect"]))}});export{L as default};
|
package/dist/preview/index.html
CHANGED
|
@@ -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-
|
|
14
|
-
<link rel="stylesheet" crossorigin href="./assets/index-
|
|
13
|
+
<script type="module" crossorigin src="./assets/index-CsN0336H.js"></script>
|
|
14
|
+
<link rel="stylesheet" crossorigin href="./assets/index-C1h9lV52.css">
|
|
15
15
|
</head>
|
|
16
16
|
<body>
|
|
17
17
|
<div id="app"></div>
|
|
@@ -4,7 +4,7 @@ import type { MigrateFn, MigrateSource } from '../../../utils/resolve.js';
|
|
|
4
4
|
export declare const type: "com.shwfed.actions.button.http.request.json";
|
|
5
5
|
export declare const compatibilityDate: "2026-04-18";
|
|
6
6
|
export declare const metadata: {
|
|
7
|
-
readonly name: "
|
|
7
|
+
readonly name: "请求";
|
|
8
8
|
readonly icon: "fluent:cloud-arrow-up-20-regular";
|
|
9
9
|
};
|
|
10
10
|
export declare function schema(configure: (env: Environment) => void): Schema.Struct<{
|
|
@@ -7,7 +7,7 @@ import * as alertOperation from "../../../../operations/2026-06-09/com.shwfed.op
|
|
|
7
7
|
export const type = "com.shwfed.actions.button.http.request.json";
|
|
8
8
|
export const compatibilityDate = "2026-04-18";
|
|
9
9
|
export const metadata = {
|
|
10
|
-
name: "\
|
|
10
|
+
name: "\u8BF7\u6C42",
|
|
11
11
|
icon: "fluent:cloud-arrow-up-20-regular"
|
|
12
12
|
};
|
|
13
13
|
export function schema(configure) {
|
|
@@ -81,7 +81,7 @@ export const migrateFrom = [
|
|
|
81
81
|
export const migrate = (prev) => Effect.try({
|
|
82
82
|
try: () => {
|
|
83
83
|
if (!prev || typeof prev !== "object") {
|
|
84
|
-
throw new Error("\
|
|
84
|
+
throw new Error("\u8BF7\u6C42\u8FC1\u79FB\u5931\u8D25\uFF1A\u539F\u503C\u4E0D\u662F\u5BF9\u8C61");
|
|
85
85
|
}
|
|
86
86
|
const { type: _t, compatibilityDate: _c, markdown, icon, color, before, ...rest } = prev;
|
|
87
87
|
const params = {
|
|
@@ -3,7 +3,7 @@ import type { Environment } from '../../../../../vendor/cel-js/lib/index.js';
|
|
|
3
3
|
export declare const type: "com.shwfed.actions.button.http.request.json.batch";
|
|
4
4
|
export declare const compatibilityDate: "2026-06-08";
|
|
5
5
|
export declare const metadata: {
|
|
6
|
-
readonly name: "
|
|
6
|
+
readonly name: "批量请求";
|
|
7
7
|
readonly icon: "fluent:cloud-arrow-up-20-regular";
|
|
8
8
|
};
|
|
9
9
|
export declare function schema(configure: (env: Environment) => void): Schema.Struct<{
|
|
@@ -6,7 +6,7 @@ import { md } from "../../../../../share/markdown.js";
|
|
|
6
6
|
export const type = "com.shwfed.actions.button.http.request.json.batch";
|
|
7
7
|
export const compatibilityDate = "2026-06-08";
|
|
8
8
|
export const metadata = {
|
|
9
|
-
name: "\u6279\u91CF\
|
|
9
|
+
name: "\u6279\u91CF\u8BF7\u6C42",
|
|
10
10
|
icon: "fluent:cloud-arrow-up-20-regular"
|
|
11
11
|
};
|
|
12
12
|
const isHttpRequestList = (t) => t === "dyn" || t === "list" || t === "list<dyn>" || t === "list<HttpRequest>";
|
|
@@ -2,6 +2,16 @@
|
|
|
2
2
|
import { Icon } from "@iconify/vue";
|
|
3
3
|
import { useEventListener } from "@vueuse/core";
|
|
4
4
|
import { computed, nextTick, onMounted, ref, watch } from "vue";
|
|
5
|
+
import {
|
|
6
|
+
AlertDialog,
|
|
7
|
+
AlertDialogAction,
|
|
8
|
+
AlertDialogCancel,
|
|
9
|
+
AlertDialogContent,
|
|
10
|
+
AlertDialogDescription,
|
|
11
|
+
AlertDialogFooter,
|
|
12
|
+
AlertDialogHeader,
|
|
13
|
+
AlertDialogTitle
|
|
14
|
+
} from "../ui/alert-dialog";
|
|
5
15
|
import { Button } from "../ui/button";
|
|
6
16
|
import { CommandGroup, CommandItem } from "../ui/command";
|
|
7
17
|
import {
|
|
@@ -257,6 +267,7 @@ function onPlaneContextMenu(e) {
|
|
|
257
267
|
pendingPasteCell.value = { x, y };
|
|
258
268
|
}
|
|
259
269
|
function onPlaneMouseDown(e) {
|
|
270
|
+
focusCanvas();
|
|
260
271
|
if (e.button !== 0) return;
|
|
261
272
|
if (isSpaceHeld.value) return;
|
|
262
273
|
marquee.value = {
|
|
@@ -382,6 +393,26 @@ function hideItem(itemId) {
|
|
|
382
393
|
function emitDeleteMany(itemIds) {
|
|
383
394
|
emit("delete-items", [...itemIds]);
|
|
384
395
|
}
|
|
396
|
+
const deleteDialogOpen = ref(false);
|
|
397
|
+
const pendingDeleteIds = ref([]);
|
|
398
|
+
function requestDelete(itemIds) {
|
|
399
|
+
const ids = itemIds.filter((id) => !!getItem(id));
|
|
400
|
+
if (ids.length === 0) return;
|
|
401
|
+
pendingDeleteIds.value = ids;
|
|
402
|
+
deleteDialogOpen.value = true;
|
|
403
|
+
}
|
|
404
|
+
const pendingDeleteLabels = computed(() => {
|
|
405
|
+
const ids = pendingDeleteIds.value;
|
|
406
|
+
const labels = ids.slice(0, 3).map((id) => resolveItemLabel(id));
|
|
407
|
+
return ids.length > 3 ? `${labels.join("\u3001")} \u7B49 ${ids.length} \u4E2A` : labels.join("\u3001");
|
|
408
|
+
});
|
|
409
|
+
function confirmDelete() {
|
|
410
|
+
deleteDialogOpen.value = false;
|
|
411
|
+
const ids = pendingDeleteIds.value;
|
|
412
|
+
if (ids.length === 0) return;
|
|
413
|
+
if (ids.length === 1) emit("delete-item", ids[0]);
|
|
414
|
+
else emitDeleteMany(ids);
|
|
415
|
+
}
|
|
385
416
|
function hideItems(itemIds) {
|
|
386
417
|
const i = activeIndex.value;
|
|
387
418
|
const ls = layouts.value[i];
|
|
@@ -443,6 +474,7 @@ function beginDrag(kind, itemId, e) {
|
|
|
443
474
|
if (!entry) return;
|
|
444
475
|
e.preventDefault();
|
|
445
476
|
e.stopPropagation();
|
|
477
|
+
focusCanvas();
|
|
446
478
|
let itemIds;
|
|
447
479
|
if (kind === "move" && isSelected(itemId) && selectedItemIds.value.length > 1) {
|
|
448
480
|
itemIds = [...selectedItemIds.value];
|
|
@@ -840,13 +872,45 @@ useEventListener("mouseup", () => {
|
|
|
840
872
|
if (!paneResize) return;
|
|
841
873
|
paneResize = null;
|
|
842
874
|
});
|
|
875
|
+
function focusCanvas() {
|
|
876
|
+
canvasRef.value?.focus({ preventScroll: true });
|
|
877
|
+
}
|
|
878
|
+
function onCanvasKeydown(e) {
|
|
879
|
+
if (isTextInput(e.target)) return;
|
|
880
|
+
const mod = e.metaKey || e.ctrlKey;
|
|
881
|
+
if (e.key === "Backspace" || e.key === "Delete") {
|
|
882
|
+
const ids = [...selectedItemIds.value];
|
|
883
|
+
if (ids.length === 0) return;
|
|
884
|
+
e.preventDefault();
|
|
885
|
+
if (mod) {
|
|
886
|
+
if (props.canDelete) requestDelete(ids);
|
|
887
|
+
} else {
|
|
888
|
+
hideItems(ids);
|
|
889
|
+
}
|
|
890
|
+
return;
|
|
891
|
+
}
|
|
892
|
+
if (!mod || e.shiftKey || e.altKey) return;
|
|
893
|
+
const key = e.key.toLowerCase();
|
|
894
|
+
if (key === "c") {
|
|
895
|
+
if (selectedItemIds.value.length === 0) return;
|
|
896
|
+
const sel = window.getSelection();
|
|
897
|
+
if (sel && !sel.isCollapsed) return;
|
|
898
|
+
e.preventDefault();
|
|
899
|
+
emit("copy-items", [...selectedItemIds.value]);
|
|
900
|
+
} else if (key === "v") {
|
|
901
|
+
e.preventDefault();
|
|
902
|
+
emit("paste", null);
|
|
903
|
+
}
|
|
904
|
+
}
|
|
843
905
|
</script>
|
|
844
906
|
|
|
845
907
|
<template>
|
|
846
908
|
<div
|
|
847
909
|
ref="canvasRef"
|
|
848
|
-
|
|
910
|
+
tabindex="-1"
|
|
911
|
+
class="overflow-hidden border border-zinc-200 bg-zinc-50 select-none outline-none"
|
|
849
912
|
:class="isFullscreen ? 'fixed inset-0 z-40 h-screen w-screen' : 'relative h-full rounded'"
|
|
913
|
+
@keydown="onCanvasKeydown"
|
|
850
914
|
>
|
|
851
915
|
<ContextMenu>
|
|
852
916
|
<ContextMenuTrigger as-child>
|
|
@@ -1127,7 +1191,7 @@ useEventListener("mouseup", () => {
|
|
|
1127
1191
|
<ContextMenuItem
|
|
1128
1192
|
v-if="props.canDelete"
|
|
1129
1193
|
class="text-red-500 focus:text-red-600 hover:text-red-600 focus:bg-red-50 hover:bg-red-50 [&_svg:not([class*='text-'])]:text-red-400"
|
|
1130
|
-
@select="
|
|
1194
|
+
@select="requestDelete(selectedItemIds)"
|
|
1131
1195
|
>
|
|
1132
1196
|
<Icon icon="fluent:delete-20-regular" />
|
|
1133
1197
|
<span>彻底删除 ({{ selectedItemIds.length }})</span>
|
|
@@ -1279,7 +1343,7 @@ useEventListener("mouseup", () => {
|
|
|
1279
1343
|
<ContextMenuItem
|
|
1280
1344
|
v-if="props.canDelete"
|
|
1281
1345
|
class="text-red-500 focus:text-red-600 hover:text-red-600 focus:bg-red-50 hover:bg-red-50 [&_svg:not([class*='text-'])]:text-red-400"
|
|
1282
|
-
@select="
|
|
1346
|
+
@select="requestDelete([entry.itemId])"
|
|
1283
1347
|
>
|
|
1284
1348
|
<Icon icon="fluent:delete-20-regular" />
|
|
1285
1349
|
<span>彻底删除</span>
|
|
@@ -1430,6 +1494,37 @@ useEventListener("mouseup", () => {
|
|
|
1430
1494
|
/>
|
|
1431
1495
|
</div>
|
|
1432
1496
|
</div>
|
|
1497
|
+
|
|
1498
|
+
<AlertDialog
|
|
1499
|
+
:open="deleteDialogOpen"
|
|
1500
|
+
@update:open="(open) => {
|
|
1501
|
+
deleteDialogOpen = open;
|
|
1502
|
+
}"
|
|
1503
|
+
>
|
|
1504
|
+
<AlertDialogContent class="sm:px-12 sm:py-8 flex flex-col gap-12">
|
|
1505
|
+
<AlertDialogHeader class="sr-only">
|
|
1506
|
+
<AlertDialogTitle>彻底删除{{ itemNoun }}</AlertDialogTitle>
|
|
1507
|
+
<AlertDialogDescription>Confirmation dialog</AlertDialogDescription>
|
|
1508
|
+
</AlertDialogHeader>
|
|
1509
|
+
<Icon
|
|
1510
|
+
icon="fluent:warning-20-filled"
|
|
1511
|
+
class="text-6xl mx-auto text-yellow-500"
|
|
1512
|
+
/>
|
|
1513
|
+
<p class="text-sm text-zinc-900">
|
|
1514
|
+
确认彻底删除 <strong>{{ pendingDeleteLabels }}</strong> {{ itemNoun }}吗?
|
|
1515
|
+
</p>
|
|
1516
|
+
<AlertDialogFooter>
|
|
1517
|
+
<AlertDialogCancel>
|
|
1518
|
+
<Icon icon="fluent:dismiss-20-regular" />
|
|
1519
|
+
取消
|
|
1520
|
+
</AlertDialogCancel>
|
|
1521
|
+
<AlertDialogAction @click="confirmDelete">
|
|
1522
|
+
<Icon icon="fluent:checkmark-20-regular" />
|
|
1523
|
+
确认
|
|
1524
|
+
</AlertDialogAction>
|
|
1525
|
+
</AlertDialogFooter>
|
|
1526
|
+
</AlertDialogContent>
|
|
1527
|
+
</AlertDialog>
|
|
1433
1528
|
</div>
|
|
1434
1529
|
</template>
|
|
1435
1530
|
|
|
@@ -38,25 +38,27 @@ function onConfirm() {
|
|
|
38
38
|
<Icon icon="fluent:arrow-left-20-regular" />
|
|
39
39
|
返回
|
|
40
40
|
</Button>
|
|
41
|
-
<
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
41
|
+
<Button
|
|
42
|
+
v-else
|
|
43
|
+
type="button"
|
|
44
|
+
variant="default"
|
|
45
|
+
size="sm"
|
|
46
|
+
@click="onDismiss"
|
|
47
|
+
>
|
|
48
|
+
<Icon icon="fluent:dismiss-20-regular" />
|
|
49
|
+
取消
|
|
50
|
+
</Button>
|
|
51
|
+
<!-- Edits land in the shared draft live, so confirming from a drilled
|
|
52
|
+
frame needs no flushing — validate the whole draft, close on success,
|
|
53
|
+
stay in place on failure (the error renders in this same footer). -->
|
|
54
|
+
<Button
|
|
55
|
+
type="button"
|
|
56
|
+
variant="primary"
|
|
57
|
+
size="sm"
|
|
58
|
+
@click="onConfirm"
|
|
59
|
+
>
|
|
60
|
+
<Icon icon="fluent:checkmark-20-regular" />
|
|
61
|
+
确认
|
|
62
|
+
</Button>
|
|
61
63
|
</div>
|
|
62
64
|
</template>
|
|
@@ -3,6 +3,7 @@ import { computed, ref, shallowRef, watch } from "vue";
|
|
|
3
3
|
import { findFreePlacement, normalizeLayoutSet, placeGroupAt } from "../../share/layout.js";
|
|
4
4
|
import { PageConfig } from "./schema.js";
|
|
5
5
|
import { BLOCKS, findBlock } from "./utils/resolve.js";
|
|
6
|
+
import { formatValidationError } from "./utils/validation-error.js";
|
|
6
7
|
function deepClone(value) {
|
|
7
8
|
return JSON.parse(JSON.stringify(value));
|
|
8
9
|
}
|
|
@@ -13,14 +14,6 @@ function makeId() {
|
|
|
13
14
|
return (c === "x" ? r : r & 3 | 8).toString(16);
|
|
14
15
|
});
|
|
15
16
|
}
|
|
16
|
-
function formatError(err) {
|
|
17
|
-
if (err instanceof Error) return err.message;
|
|
18
|
-
try {
|
|
19
|
-
return JSON.stringify(err);
|
|
20
|
-
} catch {
|
|
21
|
-
return String(err);
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
17
|
export function useSlotEditor(slot, options = {}) {
|
|
25
18
|
const configure = options.configure ?? (() => {
|
|
26
19
|
});
|
|
@@ -357,7 +350,10 @@ export function useConfigEditor(model, options = {}) {
|
|
|
357
350
|
parentSuffixes.value = [];
|
|
358
351
|
options.onClose?.();
|
|
359
352
|
} catch (err) {
|
|
360
|
-
validationError.value =
|
|
353
|
+
validationError.value = formatValidationError(err, (i) => {
|
|
354
|
+
const b = topSlotEditor.blocks.value[i];
|
|
355
|
+
return b ? topSlotEditor.getBlockLabel(b) : void 0;
|
|
356
|
+
});
|
|
361
357
|
}
|
|
362
358
|
}
|
|
363
359
|
function reset() {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function formatValidationError(err: unknown, blockLabelAt: (index: number) => string | undefined): string;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { ParseResult } from "effect";
|
|
2
|
+
function isDiscriminatorMiss(issue) {
|
|
3
|
+
const last = issue.path[issue.path.length - 1];
|
|
4
|
+
return (last === "type" || last === "compatibilityDate") && issue.message.startsWith('Expected "');
|
|
5
|
+
}
|
|
6
|
+
function blockIndexOf(path) {
|
|
7
|
+
if (path[0] === "slot" && path[1] === "blocks" && typeof path[2] === "number") return path[2];
|
|
8
|
+
return null;
|
|
9
|
+
}
|
|
10
|
+
function fallback(err) {
|
|
11
|
+
if (err instanceof Error) return err.message;
|
|
12
|
+
try {
|
|
13
|
+
return JSON.stringify(err);
|
|
14
|
+
} catch {
|
|
15
|
+
return String(err);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
export function formatValidationError(err, blockLabelAt) {
|
|
19
|
+
if (!ParseResult.isParseError(err)) return fallback(err);
|
|
20
|
+
try {
|
|
21
|
+
const issues = ParseResult.ArrayFormatter.formatErrorSync(err);
|
|
22
|
+
const real = issues.filter((i) => !isDiscriminatorMiss(i));
|
|
23
|
+
const picked = real.length > 0 ? real : issues;
|
|
24
|
+
const first = picked[0];
|
|
25
|
+
if (!first) return fallback(err);
|
|
26
|
+
const index = blockIndexOf(first.path);
|
|
27
|
+
const label = index === null ? void 0 : blockLabelAt(index);
|
|
28
|
+
const prefix = label ? `\u300C${label}\u300D\uFF1A` : "";
|
|
29
|
+
const suffix = picked.length > 1 ? `\uFF08\u8FD8\u6709 ${picked.length - 1} \u4E2A\u95EE\u9898\uFF09` : "";
|
|
30
|
+
return `${prefix}${first.message}${suffix}`;
|
|
31
|
+
} catch {
|
|
32
|
+
return fallback(err);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
@@ -33,8 +33,9 @@ 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 rangeSeparatorIcon?: string | undefined;
|
|
37
36
|
readonly format?: string | undefined;
|
|
37
|
+
readonly valueFormat?: string | undefined;
|
|
38
|
+
readonly rangeSeparatorIcon?: string | undefined;
|
|
38
39
|
readonly startPlaceholder?: readonly [{
|
|
39
40
|
readonly locale: "zh";
|
|
40
41
|
readonly message: string;
|
|
@@ -49,7 +50,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
49
50
|
readonly locale: "en" | "ja" | "ko";
|
|
50
51
|
readonly message: string;
|
|
51
52
|
}[]] | undefined;
|
|
52
|
-
readonly valueFormat?: string | undefined;
|
|
53
53
|
readonly validations?: readonly {
|
|
54
54
|
readonly message: readonly [{
|
|
55
55
|
readonly locale: "zh";
|
|
@@ -105,8 +105,9 @@ 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 rangeSeparatorIcon?: string | undefined;
|
|
109
108
|
readonly format?: string | undefined;
|
|
109
|
+
readonly valueFormat?: string | undefined;
|
|
110
|
+
readonly rangeSeparatorIcon?: string | undefined;
|
|
110
111
|
readonly startPlaceholder?: readonly [{
|
|
111
112
|
readonly locale: "zh";
|
|
112
113
|
readonly message: string;
|
|
@@ -121,7 +122,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
121
122
|
readonly locale: "en" | "ja" | "ko";
|
|
122
123
|
readonly message: string;
|
|
123
124
|
}[]] | undefined;
|
|
124
|
-
readonly valueFormat?: string | undefined;
|
|
125
125
|
readonly validations?: readonly {
|
|
126
126
|
readonly message: readonly [{
|
|
127
127
|
readonly locale: "zh";
|
|
@@ -33,8 +33,9 @@ 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 rangeSeparatorIcon?: string | undefined;
|
|
37
36
|
readonly format?: string | undefined;
|
|
37
|
+
readonly valueFormat?: string | undefined;
|
|
38
|
+
readonly rangeSeparatorIcon?: string | undefined;
|
|
38
39
|
readonly startPlaceholder?: readonly [{
|
|
39
40
|
readonly locale: "zh";
|
|
40
41
|
readonly message: string;
|
|
@@ -49,7 +50,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
49
50
|
readonly locale: "en" | "ja" | "ko";
|
|
50
51
|
readonly message: string;
|
|
51
52
|
}[]] | undefined;
|
|
52
|
-
readonly valueFormat?: string | undefined;
|
|
53
53
|
readonly validations?: readonly {
|
|
54
54
|
readonly message: readonly [{
|
|
55
55
|
readonly locale: "zh";
|
|
@@ -105,8 +105,9 @@ 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 rangeSeparatorIcon?: string | undefined;
|
|
109
108
|
readonly format?: string | undefined;
|
|
109
|
+
readonly valueFormat?: string | undefined;
|
|
110
|
+
readonly rangeSeparatorIcon?: string | undefined;
|
|
110
111
|
readonly startPlaceholder?: readonly [{
|
|
111
112
|
readonly locale: "zh";
|
|
112
113
|
readonly message: string;
|
|
@@ -121,7 +122,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
121
122
|
readonly locale: "en" | "ja" | "ko";
|
|
122
123
|
readonly message: string;
|
|
123
124
|
}[]] | undefined;
|
|
124
|
-
readonly valueFormat?: string | undefined;
|
|
125
125
|
readonly validations?: readonly {
|
|
126
126
|
readonly message: readonly [{
|
|
127
127
|
readonly locale: "zh";
|