@schemx/vant 0.1.11-alpha.20260616152026.eac77d3
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/README.md +157 -0
- package/dist/index.cjs +2 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +4079 -0
- package/dist/index.mjs +2921 -0
- package/dist/index.mjs.map +1 -0
- package/dist/style.css +1 -0
- package/package.json +65 -0
package/README.md
ADDED
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
# @schemx/vant
|
|
2
|
+
|
|
3
|
+
Vant renderers for schemx.
|
|
4
|
+
|
|
5
|
+
`@schemx/vant` 是基于 Vue 3 和 Vant 4 的 Schema 表单组件。导入该包时会自动注册默认 renderer,适合快速构建移动端动态表单。
|
|
6
|
+
|
|
7
|
+
## 特性
|
|
8
|
+
|
|
9
|
+
- 开箱即用的 Vue 3 + Vant 表单渲染。
|
|
10
|
+
- 内置 17 种常用 renderer,覆盖输入、选择、日期、评分、上传等场景。
|
|
11
|
+
- 支持 `v-model`、`initialValues`、校验、表单实例方法和字段联动。
|
|
12
|
+
- 支持同步或异步 dictionary,可用于远程选项加载。
|
|
13
|
+
- 继承 `@schemx/vue` 和 `@schemx/core` 的公开 API。
|
|
14
|
+
|
|
15
|
+
## 安装
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
pnpm add @schemx/vant vant vue
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## 快速开始
|
|
22
|
+
|
|
23
|
+
```vue
|
|
24
|
+
<script setup lang="ts">
|
|
25
|
+
import { ref } from "vue"
|
|
26
|
+
|
|
27
|
+
import Schemx from "@schemx/vant"
|
|
28
|
+
|
|
29
|
+
import type { SchemxField, SchemxInstance } from "@schemx/vant"
|
|
30
|
+
|
|
31
|
+
type ProfileValues = {
|
|
32
|
+
name: string
|
|
33
|
+
city: string
|
|
34
|
+
notification: boolean
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
const formRef = ref<SchemxInstance<ProfileValues>>()
|
|
38
|
+
const initialValues: ProfileValues = {
|
|
39
|
+
name: "",
|
|
40
|
+
city: "",
|
|
41
|
+
notification: true,
|
|
42
|
+
}
|
|
43
|
+
const formData = ref<ProfileValues>({ ...initialValues })
|
|
44
|
+
|
|
45
|
+
const schemas: SchemxField<ProfileValues>[] = [
|
|
46
|
+
{
|
|
47
|
+
name: "name",
|
|
48
|
+
label: "姓名",
|
|
49
|
+
componentType: "input",
|
|
50
|
+
rules: "required",
|
|
51
|
+
placeholder: "请输入姓名",
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
name: "city",
|
|
55
|
+
label: "城市",
|
|
56
|
+
componentType: "picker",
|
|
57
|
+
componentProps: {
|
|
58
|
+
options: [
|
|
59
|
+
{ text: "杭州", value: "hangzhou" },
|
|
60
|
+
{ text: "上海", value: "shanghai" },
|
|
61
|
+
],
|
|
62
|
+
},
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
name: "notification",
|
|
66
|
+
label: "接收通知",
|
|
67
|
+
componentType: "switch",
|
|
68
|
+
},
|
|
69
|
+
]
|
|
70
|
+
|
|
71
|
+
function handleFinish(values: Readonly<ProfileValues>) {
|
|
72
|
+
console.log(values)
|
|
73
|
+
}
|
|
74
|
+
</script>
|
|
75
|
+
|
|
76
|
+
<template>
|
|
77
|
+
<Schemx
|
|
78
|
+
ref="formRef"
|
|
79
|
+
v-model="formData"
|
|
80
|
+
:schemas="schemas"
|
|
81
|
+
:initial-values="initialValues"
|
|
82
|
+
@finish="handleFinish"
|
|
83
|
+
/>
|
|
84
|
+
|
|
85
|
+
<button @click="formRef?.submit()">提交</Button>
|
|
86
|
+
</template>
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
## 内置 Renderer
|
|
90
|
+
|
|
91
|
+
| `componentType` | 说明 |
|
|
92
|
+
| --------------- | ------------- |
|
|
93
|
+
| `text` | 文本展示 |
|
|
94
|
+
| `input` | 单行文本输入 |
|
|
95
|
+
| `textarea` | 多行文本输入 |
|
|
96
|
+
| `number` | 数字输入 |
|
|
97
|
+
| `switch` | 开关 |
|
|
98
|
+
| `radio` | 单选 |
|
|
99
|
+
| `checkbox` | 多选 |
|
|
100
|
+
| `date` | 日期选择 |
|
|
101
|
+
| `calendar` | 日历选择 |
|
|
102
|
+
| `picker` | Picker 选择 |
|
|
103
|
+
| `selectPicker` | 弹窗单选/多选 |
|
|
104
|
+
| `selector` | 选项选择 |
|
|
105
|
+
| `rate` | 评分 |
|
|
106
|
+
| `slider` | 滑块 |
|
|
107
|
+
| `stepper` | 步进器 |
|
|
108
|
+
| `upload` | 文件上传 |
|
|
109
|
+
| `cascader` | 级联选择 |
|
|
110
|
+
|
|
111
|
+
## 字段联动
|
|
112
|
+
|
|
113
|
+
使用 `dependencies` 可以根据其他字段的值动态调整字段状态:
|
|
114
|
+
|
|
115
|
+
```ts
|
|
116
|
+
const schemas: SchemxField[] = [
|
|
117
|
+
{
|
|
118
|
+
name: "accountType",
|
|
119
|
+
label: "账号类型",
|
|
120
|
+
componentType: "radio",
|
|
121
|
+
componentProps: {
|
|
122
|
+
options: [
|
|
123
|
+
{ label: "个人", value: "personal" },
|
|
124
|
+
{ label: "企业", value: "company" },
|
|
125
|
+
],
|
|
126
|
+
},
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
name: "companyName",
|
|
130
|
+
label: "企业名称",
|
|
131
|
+
componentType: "input",
|
|
132
|
+
dependencies: {
|
|
133
|
+
triggerFields: ["accountType"],
|
|
134
|
+
visible: (values) => values.accountType === "company",
|
|
135
|
+
required: (values) => values.accountType === "company",
|
|
136
|
+
},
|
|
137
|
+
},
|
|
138
|
+
]
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
## 表单实例
|
|
142
|
+
|
|
143
|
+
通过组件 `ref` 可以调用常用实例方法:
|
|
144
|
+
|
|
145
|
+
| 方法 | 说明 |
|
|
146
|
+
| ---------------------------- | ---------------- |
|
|
147
|
+
| `submit()` | 校验并提交表单 |
|
|
148
|
+
| `validate()` | 校验整张表单 |
|
|
149
|
+
| `reset()` | 恢复初始值 |
|
|
150
|
+
| `setFieldValue(name, value)` | 设置单个字段值 |
|
|
151
|
+
| `setFieldsValue(values)` | 批量设置字段值 |
|
|
152
|
+
| `getFieldsSnapshot()` | 获取当前表单快照 |
|
|
153
|
+
|
|
154
|
+
## 相关包
|
|
155
|
+
|
|
156
|
+
- [`@schemx/core`](../core):框架无关的 headless 表单引擎。
|
|
157
|
+
- [`@schemx/vue`](../vue):Vue 3 适配层,可用于注册自定义 renderer。
|
package/dist/index.cjs
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("@schemx/vue"),l=require("vue"),a=require("vant"),o=require("classnames"),t=require("dayjs"),r=require("@schemx/core");function n(e,l,a=void 0){return(null==e?void 0:e[l])??a}function d(e){return null==e||""===e||Array.isArray(e)&&0===e.length}function u(e,l,a={}){const{labelKey:o="label",valueKey:t="value",childrenKey:r="children"}=a,n={node:null,labels:[],values:[]};if(!Array.isArray(e)||null==l)return n;const d=(e,a,n)=>{for(const u of e){const e=[...a,u[o]],s=[...n,u[t]];if(u[t]===l)return{node:u,labels:e,values:s};if(Array.isArray(u[r])&&u[r].length>0){const l=d(u[r],e,s);if(l)return l}}return null};return d(e,[],[])||n}function s(e){if(!e)return String(Date.now());try{const l=e.split("?")[0].split("#")[0].split("/");return l[l.length-1]||String(Date.now())}catch{return String(Date.now())}}const i=["role","tabindex","aria-disabled"],c={key:0,class:"schemx-cell__prefix"},p={key:1,class:"schemx-cell__suffix"},m={key:2,class:"schemx-cell__arrow","aria-hidden":"true"},v=l.defineComponent({name:"SchemxCell",inheritAttrs:!1,__name:"index",props:{value:{type:[String,Number,Boolean],default:""},placeholder:{default:""},readonlyPlaceholder:{default:"-"},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},isLink:{type:Boolean,default:!0},align:{default:"right"},className:{default:""},customClass:{default:""},prefix:{default:""},suffix:{default:""}},emits:["click"],setup(e,{emit:a}){const o=e,t=a,r=l.useSlots(),n=l.computed(()=>o.disabled),u=l.computed(()=>o.readonly),s=l.computed(()=>!o.readonly&&!o.disabled),v=l.computed(()=>["schemx-cell",o.className,s.value&&"schemx-cell--clickable",n.value&&"schemx-cell--disabled",u.value&&"schemx-cell--readonly",!o.value&&"schemx-cell--placeholder"]),f=l.computed(()=>["schemx-cell__value",`schemx-cell__value--${h.value}`,o.customClass].filter(Boolean).join(" ")),y=l.computed(()=>d(o.value)?u.value?o.readonlyPlaceholder:o.placeholder:o.value.toString()),h=l.computed(()=>"top"===o.align?"right":o.align),g=l.computed(()=>Boolean(r.prefix)||!d(o.prefix)),b=l.computed(()=>Boolean(r.suffix)||!d(o.suffix)),x=e=>{s.value&&t("click",e)},k=e=>{"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),x())};return(e,a)=>(l.openBlock(),l.createElementBlock("div",{class:l.normalizeClass(v.value),role:s.value?"button":void 0,tabindex:s.value?0:void 0,"aria-disabled":s.value?void 0:"true",onClick:x,onKeydown:k},[g.value?(l.openBlock(),l.createElementBlock("span",c,[l.renderSlot(e.$slots,"prefix",{},()=>[l.createTextVNode(l.toDisplayString(o.prefix),1)])])):l.createCommentVNode("",!0),l.createElementVNode("span",{class:l.normalizeClass(f.value)},[l.renderSlot(e.$slots,"default",{},()=>[l.createTextVNode(l.toDisplayString(y.value),1)])],2),b.value?(l.openBlock(),l.createElementBlock("span",p,[l.renderSlot(e.$slots,"suffix",{},()=>[l.createTextVNode(l.toDisplayString(o.suffix),1)])])):l.createCommentVNode("",!0),s.value&&o.isLink?(l.openBlock(),l.createElementBlock("span",m)):l.createCommentVNode("",!0)],42,i))}});const f=l.defineComponent({name:"SchemxInput",inheritAttrs:!1,__name:"index",props:{value:{default:""},onChange:{type:Function,default:void 0},onBlur:{type:Function,default:void 0},onFocus:{type:Function,default:void 0},type:{default:"text"},readonly:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},autofocus:{type:Boolean,default:!1},maxlength:{default:void 0},min:{default:void 0},max:{default:void 0},rows:{default:void 0},autosize:{type:[Boolean,Object],default:!1},formatter:{default:void 0},formatTrigger:{default:"onChange"},clearable:{default:!1},clearIcon:{default:"clear"},clearTrigger:{default:"focus"},leftIcon:{default:""},rightIcon:{default:""},showWordLimit:{default:!1},className:{default:""},readonlyPlaceholder:{default:"-"},autocomplete:{default:void 0},autocapitalize:{default:void 0},autocorrect:{default:void 0},enterkeyhint:{default:void 0},spellcheck:{type:[Boolean,null],default:null},inputmode:{default:void 0},align:{default:"left"},placeholder:{default:""},formItemProps:{}},emits:["update:value","change","blur","focus","clear","keypress","click-input","click-left-icon","click-right-icon"],setup(e,{expose:t,emit:r}){const n=e,d=r,u=l.ref(null),s=l.ref(String(n.value??"")),i=l.computed(()=>n.readonly?n.readonlyPlaceholder:n.placeholder||""),c=l.computed(()=>{const{type:e}=n;return"textarea"===e?"textarea":"password"===e?"password":"number"===e?"number":"digit"===e?"digit":"text"}),p=l.computed(()=>{if(n.inputmode)return n.inputmode;const{type:e}=n;return"number"===e?"decimal":"digit"===e?"numeric":void 0}),m=l.computed(()=>"textarea"===n.type&&n.autosize),v=l.computed(()=>{if("number"===n.type||"digit"===n.type){const e="number"===n.type;return l=>function(e,l=!0,a=!0){if(l){const l=(e=e.replace(/[^-0-9.]/g,"")).indexOf(".");-1!==l&&(e=e.slice(0,l+1)+e.slice(l+1).replace(/\./g,""))}else e=e.replace(/[^-0-9]/g,"");if(a){const l=e.indexOf("-");l>0?e=e.replace(/-/g,""):0===l&&(e="-"+e.slice(1).replace(/-/g,""))}else e=e.replace(/-/g,"");return e}(l,e,e)}return n.formatter}),f=e=>{var l;let a=e;null==(l=n.onChange)||l.call(n,a),d("update:value",a),d("change",a)},y=e=>{var l;null==(l=n.onFocus)||l.call(n,e),d("focus",e)},h=e=>{var l,a;if(("number"===n.type||"digit"===n.type)&&""!==s.value){const{min:e,max:a}=n,o=parseFloat(s.value);if(!isNaN(o)){const t=Math.min(Math.max(o,e??-1/0),a??1/0);if(o!==t){const e=String(t);s.value=e,null==(l=n.onChange)||l.call(n,e),d("update:value",e),d("change",e)}}}null==(a=n.onBlur)||a.call(n,e),d("blur",e)},g=e=>{d("keypress",e)},b=e=>{d("click-input",e)},x=e=>{d("click-left-icon",e)},k=e=>{d("click-right-icon",e)},B=e=>{var l;null==(l=n.onChange)||l.call(n,""),d("update:value",""),d("clear",e)},C=e=>{if(n.disabled)return;const l=e.target;if(!(l instanceof Element))return;const a=["input","textarea","button","a","select","option","label","[role='button']","[tabindex]","[contenteditable='true']",".van-field__clear",".van-field__button",".van-field__left-icon",".van-field__right-icon"].join(",");l.closest(a)||N()},N=()=>{var e,l,a,o;const t=null==(a=null==(l=null==(e=u.value)?void 0:e.$el)?void 0:l.querySelector)?void 0:a.call(l,"input, textarea");null==(o=null==t?void 0:t.focus)||o.call(t)};return t({focus:N,blur:()=>{var e,l,a,o;const t=null==(a=null==(l=null==(e=u.value)?void 0:e.$el)?void 0:l.querySelector)?void 0:a.call(l,"input, textarea");null==(o=null==t?void 0:t.blur)||o.call(t)},get inputRef(){var e,l,a;return(null==(a=null==(l=null==(e=u.value)?void 0:e.$el)?void 0:l.querySelector)?void 0:a.call(l,"input, textarea"))||null}}),l.watch(()=>n.value,e=>{const l=String(e??"");l!==s.value&&(s.value=l)}),(e,t)=>(l.openBlock(),l.createElementBlock("div",{class:l.normalizeClass(l.unref(o)("schemx-input",n.className)),onClick:C},[l.createVNode(l.unref(a.Field),{ref_key:"fieldRef",ref:u,modelValue:s.value,"onUpdate:modelValue":[t[0]||(t[0]=e=>s.value=e),f],type:c.value,placeholder:i.value,disabled:n.disabled,readonly:n.readonly,autofocus:n.autofocus,maxlength:n.maxlength,rows:void 0!==n.rows?+n.rows:void 0,autosize:m.value,formatter:v.value,"format-trigger":n.formatTrigger,clearable:n.clearable,"clear-icon":n.clearIcon,"clear-trigger":n.clearTrigger,"left-icon":n.leftIcon||void e.$slots["left-icon"],"right-icon":n.rightIcon||void e.$slots["right-icon"],"show-word-limit":n.showWordLimit,autocomplete:n.autocomplete,autocapitalize:n.autocapitalize,autocorrect:n.autocorrect,enterkeyhint:n.enterkeyhint,spellcheck:n.spellcheck??void 0,inputmode:p.value,"input-align":n.align,onFocus:y,onBlur:h,onClear:B,onKeypress:g,onClickInput:b,onClickLeftIcon:x,onClickRightIcon:k},l.createSlots({_:2},[e.$slots["left-icon"]?{name:"left-icon",fn:l.withCtx(()=>[l.renderSlot(e.$slots,"left-icon")]),key:"0"}:void 0,e.$slots["right-icon"]?{name:"right-icon",fn:l.withCtx(()=>[l.renderSlot(e.$slots,"right-icon")]),key:"1"}:void 0,e.$slots.button?{name:"button",fn:l.withCtx(()=>[l.renderSlot(e.$slots,"button")]),key:"2"}:void 0,e.$slots.extra?{name:"extra",fn:l.withCtx(()=>[l.renderSlot(e.$slots,"extra")]),key:"3"}:void 0]),1032,["modelValue","type","placeholder","disabled","readonly","autofocus","maxlength","rows","autosize","formatter","format-trigger","clearable","clear-icon","clear-trigger","left-icon","right-icon","show-word-limit","autocomplete","autocapitalize","autocorrect","enterkeyhint","spellcheck","inputmode","input-align"])],2))}}),y=l.defineComponent({name:"InputRendererComponent",inheritAttrs:!1,__name:"index",props:l.mergeModels({value:{default:""},onChange:{type:Function,default:void 0},onBlur:{type:Function,default:void 0},onFocus:{type:Function,default:void 0},type:{default:"text"},readonly:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},placeholder:{default:""},autofocus:{type:Boolean,default:!1},maxlength:{default:void 0},min:{default:void 0},max:{default:void 0},rows:{default:void 0},autosize:{type:[Boolean,Object],default:!1},formatter:{default:void 0},formatTrigger:{default:"onChange"},clearable:{default:!1},clearIcon:{default:"clear"},clearTrigger:{default:"focus"},leftIcon:{default:""},rightIcon:{default:""},showWordLimit:{default:!1},className:{default:""},readonlyPlaceholder:{default:"-"},formItemProps:{},autocomplete:{default:void 0},autocapitalize:{default:void 0},autocorrect:{default:void 0},enterkeyhint:{default:void 0},spellcheck:{type:[Boolean,null],default:null},inputmode:{default:void 0},align:{default:"left"}},{value:{},valueModifiers:{}}),emits:["update:value"],setup(e,{expose:a}){const o=e,t=l.useModel(e,"value"),r=l.ref(null),n=l.computed(()=>String(t.value??o.value??"")),d=l.computed(()=>o.placeholder||"请选择"),u=l.computed(()=>{const{value:e,...l}=o;return l});return a({focus:()=>{var e,l;return null==(l=null==(e=r.value)?void 0:e.focus)?void 0:l.call(e)},blur:()=>{var e,l;return null==(l=null==(e=r.value)?void 0:e.blur)?void 0:l.call(e)}}),(e,a)=>(l.openBlock(),l.createElementBlock("div",{class:l.normalizeClass(["schemx-renderer","schemx-input-renderer",o.className])},[o.readonly?(l.openBlock(),l.createBlock(v,{key:0,value:n.value,placeholder:d.value,"readonly-placeholder":o.readonlyPlaceholder,readonly:o.readonly,disabled:o.disabled},null,8,["value","placeholder","readonly-placeholder","readonly","disabled"])):(l.openBlock(),l.createBlock(l.unref(f),l.mergeProps({key:1,ref_key:"inputRef",ref:r},u.value,{value:t.value,"onUpdate:value":a[0]||(a[0]=e=>t.value=e)}),l.createSlots({_:2},[e.$slots["left-icon"]?{name:"left-icon",fn:l.withCtx(()=>[l.renderSlot(e.$slots,"left-icon")]),key:"0"}:void 0,e.$slots["right-icon"]?{name:"right-icon",fn:l.withCtx(()=>[l.renderSlot(e.$slots,"right-icon")]),key:"1"}:void 0,e.$slots.button?{name:"button",fn:l.withCtx(()=>[l.renderSlot(e.$slots,"button")]),key:"2"}:void 0,e.$slots.extra?{name:"extra",fn:l.withCtx(()=>[l.renderSlot(e.$slots,"extra")]),key:"3"}:void 0]),1040,["value"]))],2))}}),h=l.defineComponent({name:"TextRendererComponent",inheritAttrs:!1,__name:"index",props:l.mergeModels({className:{default:""},placeholder:{default:void 0},readonlyPlaceholder:{default:"-"},readonly:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},value:{default:""},onChange:{},onBlur:{},onFocus:{},align:{default:"right"},clearable:{type:Boolean,default:!1},clearIcon:{default:"clear"},clearTrigger:{default:"focus"},leftIcon:{default:""},rightIcon:{default:""},showWordLimit:{type:Boolean,default:!1},maxlength:{},min:{},max:{},formatter:{},formatTrigger:{},autocomplete:{},autocapitalize:{},autofocus:{type:Boolean},type:{},rows:{},autosize:{type:[Boolean,Object]},autocorrect:{},enterkeyhint:{},spellcheck:{type:[Boolean,null]},inputmode:{},formItemProps:{}},{value:{},valueModifiers:{}}),emits:["update:value"],setup(e,{expose:t}){const r=e,n=l.useModel(e,"value"),d=l.useSlots(),u=l.ref(null),s=l.ref(!1),i=l.computed(()=>"password"===r.type),c=l.computed(()=>i.value?s.value?"text":"password":r.type||"text"),p=l.computed(()=>s.value?"eye-o":"closed-eye"),m=()=>{s.value=!s.value};return t({focus:()=>{var e,l;return null==(l=null==(e=u.value)?void 0:e.focus)?void 0:l.call(e)},blur:()=>{var e,l;return null==(l=null==(e=u.value)?void 0:e.blur)?void 0:l.call(e)}}),(t,s)=>(l.openBlock(),l.createElementBlock("div",{class:l.normalizeClass(l.unref(o)("schemx-renderer","schemx-text-renderer",r.className,{"schemx-renderer-readonly":e.readonly,"schemx-renderer-disabled":e.disabled}))},[r.readonly?(l.openBlock(),l.createBlock(v,{key:0,value:n.value,placeholder:e.placeholder,"readonly-placeholder":r.readonlyPlaceholder,readonly:r.readonly,disabled:r.disabled},null,8,["value","placeholder","readonly-placeholder","readonly","disabled"])):(l.openBlock(),l.createBlock(l.unref(f),{key:1,ref_key:"inputRef",ref:u,value:n.value,"onUpdate:value":s[0]||(s[0]=e=>n.value=e),type:c.value,placeholder:r.placeholder,"readonly-placeholder":r.readonlyPlaceholder,readonly:r.readonly,disabled:r.disabled,align:r.align,maxlength:r.maxlength,min:r.min,max:r.max,formatter:r.formatter,"format-trigger":r.formatTrigger,autocomplete:r.autocomplete,autofocus:r.autofocus,clearable:r.clearable,"clear-icon":r.clearIcon,"clear-trigger":r.clearTrigger,"left-icon":r.leftIcon,"right-icon":i.value||r.readonly?"":r.rightIcon,"show-word-limit":r.showWordLimit&&!r.readonly&&!r.disabled,onChange:r.onChange,onBlur:r.onBlur,onFocus:r.onFocus},l.createSlots({"right-icon":l.withCtx(()=>[i.value&&!r.readonly?(l.openBlock(),l.createBlock(l.unref(a.Icon),{key:0,name:p.value,class:"schemx-text-renderer__password-icon",onClick:m},null,8,["name"])):l.unref(d)["right-icon"]?l.renderSlot(t.$slots,"right-icon",{key:1}):l.createCommentVNode("",!0)]),_:2},[l.unref(d)["left-icon"]?{name:"left-icon",fn:l.withCtx(()=>[l.renderSlot(t.$slots,"left-icon")]),key:"0"}:void 0,l.unref(d).button?{name:"button",fn:l.withCtx(()=>[l.renderSlot(t.$slots,"button")]),key:"1"}:void 0,l.unref(d).extra?{name:"extra",fn:l.withCtx(()=>[l.renderSlot(t.$slots,"extra")]),key:"2"}:void 0]),1032,["value","type","placeholder","readonly-placeholder","readonly","disabled","align","maxlength","min","max","formatter","format-trigger","autocomplete","autofocus","clearable","clear-icon","clear-trigger","left-icon","right-icon","show-word-limit","onChange","onBlur","onFocus"]))],2))}}),g=l.defineComponent({name:"TextAreaRendererComponent",inheritAttrs:!1,__name:"index",props:l.mergeModels({value:{default:""},onChange:{},onBlur:{},onFocus:{type:Function,default:void 0},className:{default:""},autosize:{type:[Boolean,Object],default:()=>({minRows:2,maxRows:6})},autoSize:{type:[Boolean,Object],default:void 0},rows:{default:void 0},maxlength:{},readonly:{type:Boolean,default:!1},readonlyPlaceholder:{default:"-"},disabled:{type:Boolean,default:!1},align:{default:"left"},showWordLimit:{type:Boolean,default:!1},autofocus:{type:Boolean},min:{},max:{},formatter:{},formatTrigger:{},clearable:{},clearIcon:{},clearTrigger:{},leftIcon:{},rightIcon:{},autocomplete:{},autocapitalize:{},autocorrect:{},enterkeyhint:{},spellcheck:{type:[Boolean,null]},inputmode:{},placeholder:{default:void 0},formItemProps:{}},{value:{},valueModifiers:{}}),emits:["update:value"],setup(e,{expose:a}){const o=e,t=l.useModel(e,"value"),r=l.useSlots(),n=l.ref(null),d=l.computed(()=>o.autoSize??o.autosize??{minRows:2,maxRows:6}),u=l.computed(()=>{if(void 0!==o.rows)return o.rows;const e=d.value;return"object"==typeof e&&e.minRows?e.minRows:2});return a({focus:()=>{var e,l;return null==(l=null==(e=n.value)?void 0:e.focus)?void 0:l.call(e)},blur:()=>{var e,l;return null==(l=null==(e=n.value)?void 0:e.blur)?void 0:l.call(e)}}),(e,a)=>(l.openBlock(),l.createElementBlock("div",{class:l.normalizeClass(["schemx-renderer","schemx-textarea-renderer",o.className])},[o.readonly?(l.openBlock(),l.createBlock(v,{key:0,value:t.value,placeholder:o.placeholder,"readonly-placeholder":o.readonlyPlaceholder,readonly:o.readonly,disabled:o.disabled},null,8,["value","placeholder","readonly-placeholder","readonly","disabled"])):(l.openBlock(),l.createBlock(l.unref(f),{key:1,ref_key:"inputRef",ref:n,value:t.value,"onUpdate:value":a[0]||(a[0]=e=>t.value=e),type:"textarea",placeholder:o.placeholder,"readonly-placeholder":o.readonlyPlaceholder,readonly:o.readonly,disabled:o.disabled,align:o.align,rows:u.value,autosize:d.value,maxlength:o.maxlength,"show-word-limit":o.showWordLimit&&!o.readonly&&!o.disabled,onChange:o.onChange,onBlur:o.onBlur,onFocus:o.onFocus},l.createSlots({_:2},[l.unref(r)["left-icon"]?{name:"left-icon",fn:l.withCtx(()=>[l.renderSlot(e.$slots,"left-icon")]),key:"0"}:void 0,l.unref(r)["right-icon"]?{name:"right-icon",fn:l.withCtx(()=>[l.renderSlot(e.$slots,"right-icon")]),key:"1"}:void 0,l.unref(r).button?{name:"button",fn:l.withCtx(()=>[l.renderSlot(e.$slots,"button")]),key:"2"}:void 0,l.unref(r).extra?{name:"extra",fn:l.withCtx(()=>[l.renderSlot(e.$slots,"extra")]),key:"3"}:void 0]),1032,["value","placeholder","readonly-placeholder","readonly","disabled","align","rows","autosize","maxlength","show-word-limit","onChange","onBlur","onFocus"]))],2))}}),b=l.defineComponent({name:"CheckboxRendererComponent",inheritAttrs:!1,__name:"index",props:l.mergeModels({value:{default:()=>[]},onChange:{type:Function,default:()=>{}},options:{default:()=>[]},fieldNames:{default:()=>({})},className:{default:""},readonly:{type:Boolean,default:!1},view:{type:Boolean,default:!1},readonlyPlaceholder:{default:"-"},disabled:{type:Boolean,default:!1},placeholder:{},align:{},formItemProps:{}},{value:{},valueModifiers:{}}),emits:["update:value"],setup(e){const o=e,t=l.useAttrs(),r=l.useModel(e,"value"),d=l.computed(()=>{var e;return(null==(e=o.fieldNames)?void 0:e.label)||"label"}),u=l.computed(()=>{var e;return(null==(e=o.fieldNames)?void 0:e.value)||"value"}),s=l.computed(()=>{var e;return(null==(e=o.fieldNames)?void 0:e.disabled)||"disabled"}),i=l.computed(()=>o.placeholder||"请选择"),c=l.computed(()=>n(t,"align","right")),p=l.computed(()=>{const e=r.value??o.value;return e?"string"==typeof e?e.split(","):e:[]}),m=l.computed(()=>{var e;return null==(e=p.value)?void 0:e.map(e=>h(e,d.value)).join("、")}),f=l.computed(()=>{const{value:e,className:l,formItemProps:a,...r}=o,n={display:"flex",flexWrap:"wrap",gap:"8px 12px",justifyContent:c.value,...(null==t?void 0:t.style)||{}};return{...t,...r,style:n}}),y=e=>{var l;o.readonly||o.disabled||(r.value=e,null==(l=o.onChange)||l.call(o,e))},h=(e,l)=>{const a=o.options.find(l=>l[u.value]===e);return a?a[l]:e};return(t,r)=>(l.openBlock(),l.createElementBlock("div",{class:l.normalizeClass(["schemx-renderer","schemx-checkbox-renderer",e.className,{"schemx-renderer-readonly":o.readonly}])},[o.readonly?(l.openBlock(),l.createBlock(v,{key:0,value:m.value,placeholder:i.value,"readonly-placeholder":o.readonlyPlaceholder,readonly:o.readonly,disabled:o.disabled},null,8,["value","placeholder","readonly-placeholder","readonly","disabled"])):(l.openBlock(),l.createBlock(l.unref(a.CheckboxGroup),l.mergeProps({key:1},f.value,{disabled:e.disabled,"model-value":p.value,"onUpdate:modelValue":y}),{default:l.withCtx(()=>[(l.openBlock(!0),l.createElementBlock(l.Fragment,null,l.renderList(e.options,o=>(l.openBlock(),l.createBlock(l.unref(a.Checkbox),l.mergeProps({key:o[u.value],name:o[u.value],disabled:e.disabled||o[s.value]},{ref_for:!0},o),{default:l.withCtx(()=>[l.createTextVNode(l.toDisplayString(o[d.value]),1)]),_:2},1040,["name","disabled"]))),128))]),_:1},16,["disabled","model-value"]))],2))}}),x=e.WithRemoteOptions(b),k=l.defineComponent({name:"DateRendererComponent",inheritAttrs:!1,__name:"index",props:l.mergeModels({value:{default:""},onConfirm:{type:Function,default:()=>{}},onChange:{type:Function,default:()=>{}},format:{type:[String,Function],default:"YYYY-MM-DD"},className:{default:""},readonly:{type:Boolean,default:!1},readonlyPlaceholder:{default:"-"},disabled:{type:Boolean,default:!1},contentAlign:{},popupProps:{},popupClassName:{default:""},onClose:{},placeholder:{default:void 0},align:{},formItemProps:{}},{value:{},valueModifiers:{}}),emits:["update:value"],setup(e){const r=e,d=l.useAttrs(),u=l.useModel(e,"value"),s=l.ref(!1),i=l.computed(()=>r.placeholder||"请选择"),c=l.computed(()=>n(r,"contentAlign","right")),p=l.computed(()=>r.title||i.value),m=l.computed(()=>{const{value:e,onChange:l,onConfirm:a,onClose:o,format:t,className:n,popupClassName:u,readonlyPlaceholder:s,contentAlign:i,formItemProps:c,popupProps:m,title:v,...f}=r;return{...d,...f,title:p.value}}),f=l.computed(()=>({round:!0,position:"bottom",safeAreaInsetBottom:!0,teleport:"body",...r.popupProps})),y=e=>{if(!e)return"";let l;if("string"==typeof e)l=t(e);else if(Array.isArray(e)){if(0===e.length)return"";l=t(e.join("-"))}else l=(Date,t(e));const a="string"==typeof r.format?r.format:"YYYY-MM-DD";return l.format(a)},h=l.computed(()=>y(u.value)),g=l.computed(()=>{const e=y(u.value)||(new Date).toISOString();return t(e).format("YYYY-MM-DD").split("-")}),b=({selectedValues:e})=>{var l,a;const o=y(e);u.value=o,null==(l=r.onConfirm)||l.call(r,o),null==(a=r.onChange)||a.call(r,o),s.value=!1},x=()=>{s.value=!1},k=()=>{r.readonly||r.disabled||(s.value=!0)};return(e,t)=>(l.openBlock(),l.createElementBlock("div",{class:l.normalizeClass(["schemx-renderer","schemx-date-renderer",r.className])},[l.createVNode(v,{placeholder:i.value,"readonly-placeholder":r.readonlyPlaceholder,readonly:r.readonly,disabled:r.disabled,"content-align":c.value,value:h.value,onClick:k},null,8,["placeholder","readonly-placeholder","readonly","disabled","content-align","value"]),r.readonly||r.disabled?l.createCommentVNode("",!0):(l.openBlock(),l.createBlock(l.unref(a.Popup),l.mergeProps({key:0,show:s.value,"onUpdate:show":t[0]||(t[0]=e=>s.value=e),class:l.unref(o)("schemx-date-popup-renderer",r.popupClassName)},f.value,{"safe-area-inset-bottom":""}),{default:l.withCtx(()=>[l.createVNode(l.unref(a.DatePicker),l.mergeProps({"model-value":g.value},m.value,{onConfirm:b,onCancel:x}),null,16,["model-value"])]),_:1},16,["show","class"]))],2))}}),B=l.defineComponent({name:"CalendarRendererComponent",inheritAttrs:!1,__name:"index",props:l.mergeModels({value:{default:""},onConfirm:{type:Function,default:()=>{}},onChange:{type:Function,default:()=>{}},className:{default:""},popupClassName:{},view:{type:Boolean},readonly:{type:Boolean,default:!1},readonlyPlaceholder:{default:"-"},disabled:{type:Boolean,default:!1},type:{default:"single"},title:{},format:{default:"YYYY-MM-DD"},separator:{default:" - "},contentAlign:{},placeholder:{default:""},align:{},formItemProps:{}},{value:{},valueModifiers:{}}),emits:["update:value"],setup(e){const r=e,d=l.useAttrs(),u=l.useModel(e,"value"),s=l.ref(!1),i=new Date(1970,0,1),c=t().add(10,"year").toDate(),p=l.computed(()=>(null==r?void 0:r.placeholder)||"请选择"),m=l.computed(()=>n(r,"contentAlign","right")),f=l.computed(()=>r.title||p.value),y=l.computed(()=>r.readonly||Boolean(r.view)),h=l.computed(()=>{const{value:e,onChange:l,onConfirm:a,className:t,popupClassName:n,format:u,separator:s,contentAlign:p,type:m,formItemProps:v,minDate:y=i,maxDate:h=c,...g}=r;return{...d,...g,class:o("schemx-calendar-popup-renderer",r.popupClassName),minDate:y,maxDate:h,safeAreaInsetBottom:!0,teleport:"body",title:f.value}}),g=l.computed(()=>{const e=b(u.value);return Array.isArray(e)?e.join(r.separator):e}),b=e=>e?Array.isArray(e)?e.map(e=>t(e).format(r.format)):t(e).format(r.format):"",x=e=>{var l,a;if(y.value||r.disabled)return;const o=b(e);u.value=e,null==(l=r.onConfirm)||l.call(r,o),null==(a=r.onChange)||a.call(r,o),s.value=!1},k=()=>{y.value||r.disabled||(s.value=!0)};return(e,o)=>(l.openBlock(),l.createElementBlock("div",{class:l.normalizeClass(["schemx-renderer","schemx-calendar-renderer",r.className])},[l.createVNode(v,{placeholder:p.value,"readonly-placeholder":r.readonlyPlaceholder,readonly:y.value,disabled:r.disabled,value:g.value,"content-align":m.value,onClick:k},null,8,["placeholder","readonly-placeholder","readonly","disabled","value","content-align"]),y.value||r.disabled?l.createCommentVNode("",!0):(l.openBlock(),l.createBlock(l.unref(a.Calendar),l.mergeProps({key:0},h.value,{show:s.value,"onUpdate:show":o[0]||(o[0]=e=>s.value=e),onConfirm:x}),null,16,["show"]))],2))}}),C=l.defineComponent({name:"NumberRendererComponent",inheritAttrs:!1,__name:"index",props:l.mergeModels({value:{default:""},onChange:{},onBlur:{},onFocus:{},className:{default:""},type:{default:"number"},readonly:{type:Boolean,default:!1},readonlyPlaceholder:{default:"-"},disabled:{type:Boolean,default:!1},align:{default:"right"},clearable:{type:Boolean,default:!1},min:{default:void 0},max:{default:void 0},maxlength:{},autofocus:{type:Boolean},rows:{},autosize:{type:[Boolean,Object]},formatter:{},formatTrigger:{},clearIcon:{},clearTrigger:{},leftIcon:{},rightIcon:{},showWordLimit:{},autocomplete:{},autocapitalize:{},autocorrect:{},enterkeyhint:{},spellcheck:{type:[Boolean,null]},inputmode:{},placeholder:{default:void 0},formItemProps:{}},{value:{},valueModifiers:{}}),emits:["update:value"],setup(e,{expose:a}){const o=e,t=l.useSlots(),r=l.useModel(e,"value"),n=l.ref(null),d=l.computed(()=>o.placeholder||"请选择"),u=e=>{var l,a;if(""===e||null==e)return r.value="",void(null==(l=o.onChange)||l.call(o,""));r.value=e,null==(a=o.onChange)||a.call(o,e)};return a({focus:()=>{var e,l;return null==(l=null==(e=n.value)?void 0:e.focus)?void 0:l.call(e)},blur:()=>{var e,l;return null==(l=null==(e=n.value)?void 0:e.blur)?void 0:l.call(e)}}),(e,a)=>(l.openBlock(),l.createElementBlock("div",{class:l.normalizeClass(["schemx-renderer","schemx-number-renderer",o.className])},[o.readonly?(l.openBlock(),l.createBlock(v,{key:0,value:r.value,placeholder:d.value,"readonly-placeholder":o.readonlyPlaceholder,readonly:o.readonly,disabled:o.disabled},null,8,["value","placeholder","readonly-placeholder","readonly","disabled"])):(l.openBlock(),l.createBlock(l.unref(f),{key:1,ref_key:"inputRef",ref:n,value:r.value,"onUpdate:value":a[0]||(a[0]=e=>r.value=e),type:o.type,placeholder:o.placeholder,"readonly-placeholder":o.readonlyPlaceholder,readonly:o.readonly,disabled:o.disabled,align:o.align,min:o.min,max:o.max,maxlength:o.maxlength,clearable:o.clearable,onChange:u,onBlur:o.onBlur,onFocus:o.onFocus},l.createSlots({_:2},[l.unref(t)["left-icon"]?{name:"left-icon",fn:l.withCtx(()=>[l.renderSlot(e.$slots,"left-icon")]),key:"0"}:void 0,l.unref(t)["right-icon"]?{name:"right-icon",fn:l.withCtx(()=>[l.renderSlot(e.$slots,"right-icon")]),key:"1"}:void 0,l.unref(t).button?{name:"button",fn:l.withCtx(()=>[l.renderSlot(e.$slots,"button")]),key:"2"}:void 0,l.unref(t).extra?{name:"extra",fn:l.withCtx(()=>[l.renderSlot(e.$slots,"extra")]),key:"3"}:void 0]),1032,["value","type","placeholder","readonly-placeholder","readonly","disabled","align","min","max","maxlength","clearable","onBlur","onFocus"]))],2))}}),N=l.defineComponent({name:"PickerRendererComponent",inheritAttrs:!1,__name:"index",props:l.mergeModels({value:{default:void 0},onConfirm:{type:Function,default:()=>{}},onChange:{type:Function,default:()=>{}},className:{default:""},emitPath:{type:Boolean,default:!1},showAllLevels:{type:Boolean,default:!1},separator:{default:" - "},readonly:{type:Boolean,default:!1},readonlyPlaceholder:{default:"-"},disabled:{type:Boolean,default:!1},title:{default:""},options:{default:()=>[]},columns:{},columnsFieldNames:{},fieldNames:{default:()=>({text:"text",value:"value",children:"children"})},contentAlign:{},popupProps:{},popupClassName:{default:""},placeholder:{},align:{},formItemProps:{}},{value:{},valueModifiers:{}}),emits:["update:value"],setup(e){const t=e,r=l.useAttrs(),n=l.useModel(e,"value"),d=l.ref(!1),s=l.computed(()=>(null==t?void 0:t.placeholder)||"请选择"),i=l.computed(()=>t.title||s.value),c=l.computed(()=>{const{value:e,onChange:l,onConfirm:a,className:o,popupClassName:n,readonlyPlaceholder:d,separator:u,showAllLevels:s,emitPath:c,options:p,columns:m,columnsFieldNames:v,fieldNames:f,contentAlign:y,formItemProps:h,popupProps:g,title:b,...x}=t;return{...r,...x,title:i.value}}),p=l.computed(()=>({round:!0,position:"bottom",safeAreaInsetBottom:!0,teleport:"body",...t.popupProps})),m=l.computed(()=>{var e;return Array.isArray(t.options)&&(null==(e=t.options)?void 0:e.length)>0?t.options:(null==t?void 0:t.columns)||[]}),f=l.computed(()=>(null==t?void 0:t.columnsFieldNames)||(null==t?void 0:t.fieldNames)),y=l.computed(()=>{var e,l,a,o;const r=u(m.value,n.value,{labelKey:null==(e=f.value)?void 0:e.text,valueKey:null==(l=f.value)?void 0:l.value,childrenKey:null==(a=f.value)?void 0:a.children}),d=t.showAllLevels?null==r?void 0:r.labels:null==r?void 0:r.labels.slice(-1);return r.labels.length?null==d?void 0:d.join(t.separator):null==(o=n.value)?void 0:o.toString()}),h=l.computed(()=>void 0===n.value||null===n.value||""===n.value?[]:Array.isArray(n.value)?n.value:[n.value]),g=e=>{var l,a;const o=t.emitPath?e.selectedValues:e.selectedValues[e.selectedValues.length-1];n.value=o,null==(l=t.onConfirm)||l.call(t,o,e),null==(a=t.onChange)||a.call(t,o,e),d.value=!1},b=()=>{d.value=!1},x=()=>{t.readonly||t.disabled||(d.value=!0)};return(e,r)=>(l.openBlock(),l.createElementBlock("div",{class:l.normalizeClass(["schemx-renderer","schemx-picker-renderer",t.className])},[l.createVNode(v,{placeholder:s.value,"readonly-placeholder":t.readonlyPlaceholder,readonly:t.readonly,disabled:t.disabled,value:y.value,onClick:x},null,8,["placeholder","readonly-placeholder","readonly","disabled","value"]),t.readonly||t.disabled?l.createCommentVNode("",!0):(l.openBlock(),l.createBlock(l.unref(a.Popup),l.mergeProps({key:0,show:d.value,"onUpdate:show":r[0]||(r[0]=e=>d.value=e),class:l.unref(o)("schemx-picker-popup-renderer",t.popupClassName)},p.value,{"safe-area-inset-bottom":""}),{default:l.withCtx(()=>[l.createVNode(l.unref(a.Picker),l.mergeProps({"model-value":h.value,columns:m.value,"columns-field-names":f.value},c.value,{onConfirm:g,onCancel:b}),{empty:l.withCtx(()=>[...r[1]||(r[1]=[l.createElementVNode("div",{class:"schemx-picker-empty"},"No data",-1)])]),_:1},16,["model-value","columns","columns-field-names"])]),_:1},16,["show","class"]))],2))}}),w=e.WithRemoteOptions(N),P=l.defineComponent({name:"RadioRendererComponent",inheritAttrs:!1,__name:"index",props:l.mergeModels({value:{default:void 0},onChange:{type:Function,default:()=>{}},options:{default:()=>[]},className:{default:""},fieldNames:{default:()=>({})},readonly:{type:Boolean,default:!1},view:{type:Boolean,default:!1},readonlyPlaceholder:{default:"-"},disabled:{type:Boolean,default:!1},placeholder:{},align:{},formItemProps:{}},{value:{},valueModifiers:{}}),emits:["update:value"],setup(e){const o=e,t=l.useAttrs(),r=l.useModel(e,"value"),d=l.computed(()=>{var e;return(null==(e=o.fieldNames)?void 0:e.label)||"label"}),u=l.computed(()=>{var e;return(null==(e=o.fieldNames)?void 0:e.value)||"value"}),s=l.computed(()=>{var e;return(null==(e=o.fieldNames)?void 0:e.disabled)||"disabled"}),i=l.computed(()=>o.placeholder||"请选择"),c=l.computed(()=>n(t,"align","right")),p=l.computed(()=>y(r.value??o.value,d.value)),m=l.computed(()=>{const{value:e,className:l,formItemProps:a,...r}=o,n={display:"flex",flexWrap:"wrap",gap:"8px 12px",justifyContent:c.value,...(null==t?void 0:t.style)||{}};return{...t,...r,style:n}}),f=e=>{var l;o.readonly||o.disabled||(r.value=e,null==(l=o.onChange)||l.call(o,e))},y=(e,l)=>{const a=o.options.find(l=>l[u.value]===e);return a?a[l]:e};return(t,n)=>(l.openBlock(),l.createElementBlock("div",{class:l.normalizeClass(["schemx-renderer","schemx-radio-renderer",e.className,{"schemx-renderer-readonly":o.readonly}]),style:l.normalizeStyle({textAlign:c.value})},[o.readonly?(l.openBlock(),l.createBlock(v,{key:0,value:p.value,placeholder:i.value,"readonly-placeholder":o.readonlyPlaceholder,readonly:o.readonly,disabled:o.disabled},null,8,["value","placeholder","readonly-placeholder","readonly","disabled"])):(l.openBlock(),l.createBlock(l.unref(a.RadioGroup),l.mergeProps({key:1},m.value,{"model-value":r.value,"onUpdate:modelValue":f}),{default:l.withCtx(()=>[(l.openBlock(!0),l.createElementBlock(l.Fragment,null,l.renderList(e.options,o=>(l.openBlock(),l.createBlock(l.unref(a.Radio),l.mergeProps({key:o[u.value],name:o[u.value],disabled:e.disabled||o[s.value]},{ref_for:!0},o),{default:l.withCtx(()=>[l.createTextVNode(l.toDisplayString(o[d.value]),1)]),_:2},1040,["name","disabled"]))),128))]),_:1},16,["model-value"]))],6))}}),A=e.WithRemoteOptions(P),_=l.defineComponent({name:"RateRendererComponent",inheritAttrs:!1,__name:"index",props:l.mergeModels({value:{default:0},onChange:{type:Function,default:()=>{}},count:{default:5},allowHalf:{type:Boolean,default:!1},className:{default:""},readonly:{type:Boolean,default:!1},readonlyPlaceholder:{default:"-"},disabled:{type:Boolean,default:!1},placeholder:{},align:{},formItemProps:{}},{value:{},valueModifiers:{}}),emits:["update:value"],setup(e){const o=e,t=l.useAttrs(),r=l.useModel(e,"value"),n=l.computed(()=>{const{value:e,onChange:l,className:a,formItemProps:r,...n}=o;return{...t,rest:n}}),d=e=>{var l;o.disabled||o.readonly||(r.value=e,null==(l=o.onChange)||l.call(o,e))};return(t,u)=>(l.openBlock(),l.createElementBlock("div",{class:l.normalizeClass(["schemx-renderer","schemx-rate-renderer",e.className,{"schemx-rate-renderer__readonly":o.readonly,"schemx-rate-renderer__disabled":o.disabled}])},[l.createVNode(l.unref(a.Rate),l.mergeProps(n.value,{"model-value":r.value,count:e.count,"allow-half":e.allowHalf,disabled:o.disabled,"onUpdate:modelValue":d}),null,16,["model-value","count","allow-half","disabled"])],2))}}),S=l.defineComponent({name:"SliderRendererComponent",inheritAttrs:!1,__name:"index",props:l.mergeModels({value:{default:0},onChange:{type:Function,default:()=>{}},min:{default:0},max:{default:100},step:{default:1},range:{type:Boolean,default:!1},className:{default:""},readonly:{type:Boolean,default:!1},readonlyPlaceholder:{default:"-"},disabled:{type:Boolean,default:!1},button:{type:Boolean,default:!0},placeholder:{},align:{},formItemProps:{}},{value:{},valueModifiers:{}}),emits:["update:value"],setup(e){const o=e,t=l.useAttrs(),r=l.useModel(e,"value"),n=l.computed(()=>o.placeholder||"请选择"),d=l.computed(()=>Array.isArray(r.value)?r.value.join(" - "):r.value),u=l.computed(()=>{const{value:e,className:l,formItemProps:a,...r}=o;return{...t,...r}}),s=e=>{var l;o.readonly||o.disabled||(r.value=e,null==(l=o.onChange)||l.call(o,e))};return(e,t)=>(l.openBlock(),l.createElementBlock("div",{class:l.normalizeClass(["schemx-renderer","schemx-slider-renderer",o.className])},[o.readonly?(l.openBlock(),l.createBlock(v,{key:0,value:d.value,placeholder:n.value,"readonly-placeholder":o.readonlyPlaceholder,readonly:o.readonly,disabled:o.disabled},null,8,["value","placeholder","readonly-placeholder","readonly","disabled"])):(l.openBlock(),l.createBlock(l.unref(a.Slider),l.mergeProps({key:1},u.value,{"model-value":r.value,"onUpdate:modelValue":s}),null,16,["model-value"]))],2))}}),R=l.defineComponent({name:"StepperRendererComponent",inheritAttrs:!1,__name:"index",props:l.mergeModels({value:{default:0},onChange:{type:Function,default:()=>{}},min:{default:void 0},max:{default:void 0},step:{default:1},integer:{type:Boolean,default:!1},decimalLength:{default:void 0},className:{default:""},readonly:{type:Boolean,default:!1},readonlyPlaceholder:{default:"-"},disabled:{type:Boolean,default:!1},allowEmpty:{type:Boolean,default:!1},placeholder:{},align:{},formItemProps:{}},{value:{},valueModifiers:{}}),emits:["update:value"],setup(e){const o=e,t=l.useAttrs(),r=l.useModel(e,"value"),n=l.computed(()=>o.placeholder||"请选择"),d=l.computed(()=>{const{value:e,className:l,formItemProps:a,...r}=o;return{...t,...r}}),u=e=>{var l;o.readonly||o.disabled||(r.value=e,null==(l=o.onChange)||l.call(o,e))};return(e,t)=>(l.openBlock(),l.createElementBlock("div",{class:l.normalizeClass(["schemx-renderer","schemx-stepper-renderer",o.className])},[o.readonly?(l.openBlock(),l.createBlock(v,{key:0,value:r.value,placeholder:n.value,"readonly-placeholder":o.readonlyPlaceholder,readonly:o.readonly,disabled:o.disabled},null,8,["value","placeholder","readonly-placeholder","readonly","disabled"])):(l.openBlock(),l.createBlock(l.unref(a.Stepper),l.mergeProps({key:1},d.value,{"model-value":r.value,"onUpdate:modelValue":u}),null,16,["model-value"]))],2))}}),I=l.defineComponent({name:"SwitchRendererComponent",inheritAttrs:!1,__name:"index",props:l.mergeModels({value:{type:[Boolean,String,Number],default:!1},onChange:{type:Function,default:()=>{}},className:{default:""},activeText:{default:void 0},activeValue:{type:[Boolean,String,Number],default:!0},inactiveValue:{type:[Boolean,String,Number],default:!1},inactiveText:{default:void 0},readonly:{type:Boolean,default:!1},readonlyPlaceholder:{default:"-"},disabled:{type:Boolean,default:!1},placeholder:{},align:{},formItemProps:{}},{value:{type:[Boolean,String,Number]},valueModifiers:{}}),emits:["update:value"],setup(e){const o=e,t=l.useAttrs(),r=l.useModel(e,"value"),d=l.ref(!1),u=l.computed(()=>n(t,"align","right")),s=l.computed(()=>(r.value??o.value)===o.activeValue?o.activeText:o.inactiveText),i=async e=>{var l;if(!o.readonly&&!o.disabled)try{d.value=!0;const a=await(null==(l=o.onChange)?void 0:l.call(o,e));r.value=a??e,d.value=!1}catch(a){d.value=!1}};return(n,c)=>(l.openBlock(),l.createElementBlock("div",{class:l.normalizeClass(["schemx-renderer","schemx-switch-renderer",o.className]),style:l.normalizeStyle({justifyContent:u.value})},[o.readonly?(l.openBlock(),l.createBlock(v,{key:0,value:s.value,placeholder:o.placeholder,"readonly-placeholder":o.readonlyPlaceholder,readonly:o.readonly,disabled:o.disabled},null,8,["value","placeholder","readonly-placeholder","readonly","disabled"])):(l.openBlock(),l.createBlock(l.unref(a.Switch),l.mergeProps({key:1,size:"22px"},l.unref(t),{"model-value":r.value,loading:d.value,disabled:e.disabled,"onUpdate:modelValue":i}),null,16,["model-value","loading","disabled"]))],6))}}),F=l.defineComponent({name:"UploadRendererComponent",inheritAttrs:!1,__name:"index",props:l.mergeModels({value:{default:()=>[]},onChange:{type:Function,default:()=>{}},accept:{default:"*"},className:{default:""},showUpload:{default:!0},disableUpload:{type:Boolean,default:!1},deletable:{default:!0},readonly:{default:!1},view:{type:Boolean,default:!1},readonlyPlaceholder:{default:"-"},disabled:{default:!1},uploader:{type:Function,default:()=>Promise.resolve({})},propsHttp:{default:()=>({res:"data",url:"link",name:"originalName"})},placeholder:{},align:{},formItemProps:{}},{value:{},valueModifiers:{}}),emits:["update:value"],setup(t){const r=t,n=l.useAttrs(),d=l.useModel(t,"value"),u=e.useFieldContext(),i=l.ref(null),c=l.ref([]),p=Object.assign({},r.propsHttp,{res:"data",url:"link",name:"originalName"}),m=e=>{if(!e)return null;const l=(null==e?void 0:e.url)||e;return{..."string"==typeof e?{}:e,url:l,uid:(null==e?void 0:e.uid)||s(l),status:(null==e?void 0:e.status)||"done"}},v=l.computed(()=>{const e=(Array.isArray(d.value)?d.value:[d.value]).filter(Boolean).map(m).filter(Boolean),l=new Map;return e.forEach(e=>{e.uid&&l.set(e.uid,e)}),c.value.forEach(e=>{e.uid&&l.set(e.uid,e)}),Array.from(l.values())});l.watch(()=>d.value,e=>{(!e||Array.isArray(e)&&0===e.length)&&(c.value=[])},{deep:!0});const f=l.computed(()=>r.view),y=l.computed(()=>r.readonly),h=l.computed(()=>r.disabled),g=l.computed(()=>!f.value&&!y.value&&r.deletable),b=l.computed(()=>!f.value&&!y.value&&r.showUpload),x=l.computed(()=>f.value||y.value),k=l.computed(()=>o("schemx-renderer","schemx-upload-renderer",r.className)),B=()=>{c.value.some(e=>"uploading"===e.status)},C=e=>!n.beforeRead||n.beforeRead(e),N=async e=>{try{if(n.afterRead)return n.afterRead(e);const l=Array.isArray(e)?e:[e];u.setPending(!0,"文件上传中");const a=l.map(e=>{var l;const a={...e,url:e.objectUrl,uid:s(e.objectUrl),status:"uploading",message:"上传中..."};if(!a.file)throw"file is undefined";return null==(l=r.uploader)||l.call(r,a.file).then(e=>{((e,l)=>{var a;const o=c.value.findIndex(e=>e.uid===l.uid);if(-1===o)return;const t={...c.value[o],url:e[p.res][p.url],name:e[p.res][p.name],status:"done",message:"上传成功"};c.value=c.value.filter(e=>e.uid!==l.uid);const n=[...(Array.isArray(d.value)?d.value:[]).filter(Boolean).map(m).filter(Boolean),t];d.value=n,null==(a=r.onChange)||a.call(r,n),B()})(e,a)}).catch(e=>{((e,l)=>{const a=c.value.findIndex(e=>e.uid===l.uid);-1!==a&&(c.value[a]={...c.value[a],status:"failed",message:"上传失败"},B())})(0,a)}),a});c.value=[...c.value,...a]}catch(l){console.error("Upload failed:",l.message||"上传失败")}},w=(e,l)=>{var a;if(n.onDelete)return n.onDelete(e,l);if("uploading"===e.status||"failed"===e.status)return void(c.value=c.value.filter(l=>l.uid!==e.uid));const o=(Array.isArray(d.value)?d.value:[]).filter(Boolean).map(m).filter(l=>l&&l.uid!==e.uid);d.value=o,null==(a=r.onChange)||a.call(r,o)};return(e,o)=>(l.openBlock(),l.createElementBlock("div",{class:l.normalizeClass(["schemx-renderer","schemx-upload-renderer",r.className])},[l.createVNode(l.unref(a.Uploader),l.mergeProps(e.$attrs,{ref_key:"uploadRef",ref:i,"result-type":"file",multiple:!0,class:k.value,"model-value":v.value,"show-upload":b.value,deletable:g.value,disabled:h.value,readonly:x.value,"before-read":C,"after-read":N,accept:t.accept,onDelete:w}),null,16,["class","model-value","show-upload","deletable","disabled","readonly","accept"])],2))}});function V(e,l){const a={},o=Object.keys(e);for(let t=0;t<o.length;t++){const r=o[t],n=e[r];l(n,r)||(a[r]=n)}return a}const M=l.defineComponent({name:"CascaderRendererComponent",inheritAttrs:!1,__name:"index",props:l.mergeModels({value:{default:()=>[]},onConfirm:{type:Function,default:void 0},onChange:{type:Function,default:void 0},className:{default:""},showAllLevels:{type:Boolean,default:!0},emitPath:{type:Boolean,default:!0},fieldNames:{default:()=>({text:"label",value:"value",children:"children"})},separator:{default:" - "},readonly:{type:Boolean,default:!1},readonlyPlaceholder:{default:"-"},disabled:{type:Boolean,default:!1},options:{default:()=>[]},contentAlign:{},title:{default:void 0},popupProps:{default:()=>({})},popupClassName:{default:""},placeholder:{default:void 0},align:{},formItemProps:{}},{value:{},valueModifiers:{}}),emits:["update:value"],setup(e){const t=e,r=l.useAttrs(),n=l.useModel(e,"value"),d=l.ref(!1),s=l.computed(()=>t.placeholder||"请选择"),i=l.computed(()=>t.fieldNames),c=l.computed(()=>t.title??s.value),p=l.computed(()=>{const{value:e,onChange:l,onConfirm:a,className:o,readonlyPlaceholder:n,showAllLevels:d,emitPath:u,separator:i,contentAlign:p,placeholder:m,formItemProps:v,popupProps:f,title:y,...h}=t;return{...r,...h,placeholder:s.value,title:c.value}}),m=l.computed(()=>Array.isArray(t.options)&&t.options.length>0?t.options:[]),f=l.computed(()=>{if(Array.isArray(n.value)&&0!==n.value.length)return n.value[n.value.length-1]}),y=l.computed(()=>{const e=Array.isArray(n.value)?n.value[n.value.length-1]:n.value,l=u(m.value,e,{labelKey:i.value.text,valueKey:i.value.value,childrenKey:i.value.children});if(!l.labels.length)return"";return(t.showAllLevels?l.labels:l.labels.slice(-1)).join(t.separator)}),h=l.computed(()=>({round:!0,position:"bottom",safeAreaInsetBottom:!0,teleport:"body",...V(t.popupProps,(e,l)=>"show"===l)})),g=()=>{t.readonly||t.disabled||(d.value=!0)},b=e=>{var l,a;if(t.readonly||t.disabled)return;const o=i.value.value||"value",r=e.selectedOptions.map(e=>e[o]),u=t.emitPath?r:[e.value];n.value=u,null==(l=t.onConfirm)||l.call(t,u),null==(a=t.onChange)||a.call(t,u),d.value=!1},x=()=>{d.value=!1};return(e,r)=>(l.openBlock(),l.createElementBlock("div",{class:l.normalizeClass(["schemx-renderer","schemx-cascader-renderer",t.className])},[l.createVNode(v,{value:y.value,placeholder:s.value,"readonly-placeholder":t.readonlyPlaceholder,readonly:t.readonly,disabled:t.disabled,onClick:g},null,8,["value","placeholder","readonly-placeholder","readonly","disabled"]),t.readonly||t.disabled?l.createCommentVNode("",!0):(l.openBlock(),l.createBlock(l.unref(a.Popup),l.mergeProps({key:0,show:d.value,"onUpdate:show":r[0]||(r[0]=e=>d.value=e),class:l.unref(o)("schemx-cascader-popup-renderer",t.popupClassName)},h.value,{"safe-area-inset-bottom":""}),{default:l.withCtx(()=>[l.createVNode(l.unref(a.Cascader),l.mergeProps(p.value,{"model-value":f.value,onFinish:b,onClose:x}),null,16,["model-value"])]),_:1},16,["show","class"]))],2))}}),E={class:"selector"},z=["onClick"],T=l.defineComponent({name:"SSelector",__name:"Selector",props:{modelValue:{default:()=>[]},options:{default:()=>[]},multiple:{type:Boolean,default:!1},fieldNames:{default:()=>({label:"label",value:"value",disabled:"disabled"})},disabled:{type:Boolean,default:!1}},emits:["update:modelValue","change"],setup(e,{emit:a}){const o=e,t=a,r=l.computed(()=>{var e;return(null==(e=o.fieldNames)?void 0:e.label)||"label"}),n=l.computed(()=>{var e;return(null==(e=o.fieldNames)?void 0:e.value)||"value"}),d=l.computed(()=>{var e;return(null==(e=o.fieldNames)?void 0:e.disabled)||"disabled"}),u=l.computed(()=>o.multiple?Array.isArray(o.modelValue)?o.modelValue:[]:void 0===o.modelValue||null===o.modelValue?[]:[o.modelValue]),s=l.computed(()=>Array.isArray(o.options)?o.options:[]),i=e=>{return{option:!0,active:(l=e,u.value.includes(null==l?void 0:l[n.value])),disabled:o.disabled||!!(null==e?void 0:e[d.value])};var l};return(e,a)=>(l.openBlock(),l.createElementBlock("div",E,[(l.openBlock(!0),l.createElementBlock(l.Fragment,null,l.renderList(s.value,a=>(l.openBlock(),l.createElementBlock("div",{key:a[n.value],class:l.normalizeClass(i(a)),onClick:e=>(e=>{if(o.disabled||(null==e?void 0:e[d.value]))return;const l=null==e?void 0:e[n.value];if(o.multiple){const a=u.value.includes(l)?u.value.filter(e=>e!==l):[...u.value,l];return t("update:modelValue",a),void t("change",a,e)}t("update:modelValue",l),t("change",l,e)})(a)},[l.renderSlot(e.$slots,"item",{item:a},()=>[l.createTextVNode(l.toDisplayString(a[r.value]),1)])],10,z))),128))]))}}),$=l.defineComponent({name:"SelectorRendererComponent",inheritAttrs:!1,__name:"index",props:l.mergeModels({value:{default:void 0},onChange:{type:Function,default:()=>{}},options:{default:()=>[]},className:{default:""},fieldNames:{default:()=>({})},readonly:{type:Boolean,default:!1},view:{type:Boolean,default:!1},readonlyPlaceholder:{default:"-"},disabled:{type:Boolean,default:!1},placeholder:{},align:{},formItemProps:{}},{value:{},valueModifiers:{}}),emits:["update:value"],setup(e){const a=e,o=l.useAttrs(),t=l.useModel(e,"value"),r=l.computed(()=>{var e;return(null==(e=a.fieldNames)?void 0:e.label)||"label"}),d=l.computed(()=>{var e;return(null==(e=a.fieldNames)?void 0:e.value)||"value"}),u=l.computed(()=>n(o,"align","right")),s=l.computed(()=>p(t.value??a.value,r.value)),i=l.computed(()=>{const{value:e,className:l,formItemProps:t,...r}=a;return{...o,rest:r}}),c=e=>{var l;a.readonly||a.disabled||(t.value=e,null==(l=a.onChange)||l.call(a,e))},p=(e,l)=>{const o=a.options.find(l=>l[d.value]===e);return o?o[l]:e};return(r,n)=>{var d;return l.openBlock(),l.createElementBlock("div",{class:l.normalizeClass(["schemx-renderer","schemx-selector-renderer",e.className,{"schemx-renderer-readonly":e.readonly}])},[a.readonly?(l.openBlock(),l.createBlock(v,{key:0,value:s.value,placeholder:e.placeholder,"readonly-placeholder":a.readonlyPlaceholder,readonly:a.readonly,disabled:a.disabled},null,8,["value","placeholder","readonly-placeholder","readonly","disabled"])):(l.openBlock(),l.createBlock(T,l.mergeProps({key:1},i.value,{options:e.options,"field-names":e.fieldNames,disabled:a.disabled,"model-value":t.value,style:{display:"flex",flexWrap:"wrap",gap:"8px 12px",justifyContent:u.value,...(null==(d=l.unref(o))?void 0:d.style)||{}},"onUpdate:modelValue":c}),null,16,["options","field-names","disabled","model-value","style"]))],2)}}}),j=e.WithRemoteOptions($),D={class:"schemx-select-picker"},O={class:"schemx-select-picker-actions"},U={class:"schemx-select-picker-title"},L={class:"schemx-select-picker-options"},W={key:1,class:"schemx-select-picker-empty"},Y={class:"schemx-select-picker-footer"},K=l.defineComponent({name:"SelectPickerRendererComponent",inheritAttrs:!1,__name:"index",props:l.mergeModels({value:{default:void 0},onChange:{type:Function,default:()=>{}},onConfirm:{type:Function,default:()=>{}},className:{default:""},popupClassName:{default:""},view:{type:Boolean},options:{default:()=>[]},columns:{default:()=>[]},fieldNames:{default:()=>({})},type:{default:"checkbox"},readonly:{type:Boolean,default:!1},readonlyPlaceholder:{default:"-"},disabled:{type:Boolean,default:!1},title:{default:""},contentAlign:{},popupProps:{},placeholder:{},align:{},formItemProps:{}},{value:{},valueModifiers:{}}),emits:["update:value"],setup(e){const t=e,r=l.useModel(e,"value"),n=l.ref(),d=l.ref(!1),u=l.computed(()=>t.placeholder||"请选择"),s=l.computed(()=>t.type||"checkbox"),i=l.computed(()=>{var e;return(null==(e=t.fieldNames)?void 0:e.label)||"label"}),c=l.computed(()=>{var e;return(null==(e=t.fieldNames)?void 0:e.value)||"value"}),p=l.computed(()=>{var e;return(null==(e=t.fieldNames)?void 0:e.disabled)||"disabled"}),m=l.computed(()=>t.readonly||Boolean(t.view)),f=l.computed(()=>({round:!0,position:"bottom",safeAreaInsetBottom:!0,teleport:"body",closeable:!0,closeIconPosition:"top-right",...t.popupProps})),y=l.computed(()=>Array.isArray(t.options)&&t.options.length>0?t.options:t.columns||[]),h=e=>"checkbox"===s.value?Array.isArray(e)?e:[]:e??"",g=l.computed(()=>h(r.value??t.value)),b=l.computed(()=>h(n.value??g.value)),x=l.computed(()=>Array.isArray(b.value)?b.value:[]),k=l.computed(()=>Array.isArray(b.value)?"":b.value),B=e=>y.value.find(l=>l[c.value]===e),C=e=>{const l=B(e);return String((null==l?void 0:l[i.value])??e??"")},N=l.computed(()=>{const e=g.value;return Array.isArray(e)?e.map(e=>C(e)).filter(Boolean).join("、"):C(e)}),w=l.computed(()=>{const e=b.value;return Array.isArray(e)?e.map(e=>B(e)).filter(Boolean):B(e)||{}}),P=()=>{m.value||t.disabled||(n.value=g.value,d.value=!0)},A=e=>{n.value=e},_=e=>{n.value=e},S=()=>{n.value=void 0,d.value=!1},R=()=>{if(m.value||t.disabled)return;const e=b.value,l={value:e,selectedItems:w.value};r.value=e,t.onChange(e,l),t.onConfirm(e,l),n.value=void 0,d.value=!1};return(r,n)=>(l.openBlock(),l.createElementBlock("div",{class:l.normalizeClass(["schemx-renderer","schemx-select-picker-renderer",t.className])},[l.createVNode(v,{value:N.value,placeholder:u.value,"readonly-placeholder":t.readonlyPlaceholder,readonly:m.value,disabled:t.disabled,onClick:P},null,8,["value","placeholder","readonly-placeholder","readonly","disabled"]),m.value||t.disabled?l.createCommentVNode("",!0):(l.openBlock(),l.createBlock(l.unref(a.Popup),l.mergeProps({key:0,show:d.value,"onUpdate:show":n[0]||(n[0]=e=>d.value=e),class:l.unref(o)("schemx-select-picker-popup-renderer",t.popupClassName)},f.value,{"safe-area-inset-bottom":"",onClose:S}),{default:l.withCtx(()=>[l.createElementVNode("div",D,[l.createElementVNode("div",O,[l.createElementVNode("div",U,l.toDisplayString(t.title||u.value),1)]),l.createElementVNode("div",L,[y.value.length?(l.openBlock(),l.createElementBlock(l.Fragment,{key:0},["checkbox"===s.value?(l.openBlock(),l.createBlock(l.unref(a.CheckboxGroup),{key:0,"model-value":x.value,"onUpdate:modelValue":A},{default:l.withCtx(()=>[(l.openBlock(!0),l.createElementBlock(l.Fragment,null,l.renderList(y.value,o=>(l.openBlock(),l.createBlock(l.unref(a.Checkbox),l.mergeProps({key:o[c.value],shape:"square",name:o[c.value],disabled:e.disabled||o[p.value]},{ref_for:!0},o),{default:l.withCtx(()=>[l.createTextVNode(l.toDisplayString(o[i.value]),1)]),_:2},1040,["name","disabled"]))),128))]),_:1},8,["model-value"])):(l.openBlock(),l.createBlock(l.unref(a.RadioGroup),{key:1,"model-value":k.value,"onUpdate:modelValue":_},{default:l.withCtx(()=>[(l.openBlock(!0),l.createElementBlock(l.Fragment,null,l.renderList(y.value,o=>(l.openBlock(),l.createBlock(l.unref(a.Radio),l.mergeProps({key:o[c.value],name:o[c.value],disabled:e.disabled||o[p.value]},{ref_for:!0},o),{default:l.withCtx(()=>[l.createTextVNode(l.toDisplayString(o[i.value]),1)]),_:2},1040,["name","disabled"]))),128))]),_:1},8,["model-value"]))],64)):(l.openBlock(),l.createElementBlock("div",W,"No data"))]),l.createElementVNode("div",Y,[l.createVNode(l.unref(a.Button),{type:"primary",block:"",onClick:R},{default:l.withCtx(()=>[...n[1]||(n[1]=[l.createTextVNode("确认",-1)])]),_:1})])])]),_:1},16,["show","class"]))],2))}}),q=e.WithRemoteOptions(K);const G=["aria-label"],H=["aria-label"],J=l.defineComponent({name:"SensitiveInput",inheritAttrs:!1,__name:"index",props:{value:{default:""},onChange:{type:Function,default:void 0},formatter:{type:Function,default:void 0},maskFormatter:{type:Function,default:function(e){const l=[...e],a=l.length;return a<=0?"":a<=2?"*".repeat(a):a<=6?`${l[0]}****${l[a-1]}`:`${l.slice(0,3).join("")}****${l.slice(-4).join("")}`}},defaultRevealed:{type:Boolean,default:!1},revealed:{type:Boolean,default:void 0},onRevealChange:{type:Function,default:void 0},revealable:{type:Boolean,default:!0},revealText:{default:"显示"},hideText:{default:"隐藏"},revealIcon:{default:"eye-o"},hideIcon:{default:"closed-eye"},focusOnReveal:{type:Boolean,default:!0},hideOnBlur:{type:Boolean,default:!1},revealWhenReadonly:{type:Boolean,default:!1},onBlur:{type:Function,default:void 0},onFocus:{type:Function,default:void 0},readonly:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},autofocus:{type:Boolean},maxlength:{},min:{},max:{},rows:{},autosize:{type:[Boolean,Object]},formatTrigger:{},clearable:{},clearIcon:{},clearTrigger:{},leftIcon:{},rightIcon:{},showWordLimit:{},className:{default:""},readonlyPlaceholder:{default:"-"},autocomplete:{},autocapitalize:{},autocorrect:{},enterkeyhint:{},spellcheck:{type:[Boolean,null]},inputmode:{},align:{default:"right"},placeholder:{default:""},formItemProps:{}},emits:["update:value","update:revealed","change","reveal-change","blur"],setup(e,{expose:o,emit:t}){const r=e,n=t,u=l.ref(null),s=l.ref(r.defaultRevealed),i=l.computed(()=>String(r.value??"")),c=l.computed(()=>r.revealed??s.value),p=l.computed(()=>!(!r.revealable||r.disabled)&&(!(r.readonly&&!r.revealWhenReadonly)&&!d(i.value))),m=l.computed(()=>d(i.value)?"":r.formatter?r.formatter(i.value):i.value),y=l.computed(()=>d(i.value)?"":r.maskFormatter(i.value,{placeholder:r.placeholder,readonlyPlaceholder:r.readonlyPlaceholder})),h=l.computed(()=>c.value&&r.readonly?m.value:y.value),g=l.computed(()=>c.value&&!r.readonly&&!r.disabled),b=l.computed(()=>{const{value:e,onChange:l,revealed:a,onRevealChange:o,defaultRevealed:t,revealable:n,revealText:d,hideText:u,revealIcon:s,hideIcon:i,focusOnReveal:c,hideOnBlur:p,revealWhenReadonly:m,maskFormatter:v,...f}=r;return f}),x=l.computed(()=>r.revealText||"显示完整内容"),k=l.computed(()=>r.hideText||"隐藏完整内容"),B=e=>{var l;void 0===r.revealed&&(s.value=e),null==(l=r.onRevealChange)||l.call(r,e),n("update:revealed",e),n("reveal-change",e)},C=()=>{if(!p.value)return;const e=!c.value;B(e),e&&r.focusOnReveal&&!r.readonly&&l.nextTick(()=>{var e,l;return null==(l=null==(e=u.value)?void 0:e.focus)?void 0:l.call(e)})},N=e=>{var l;null==(l=r.onChange)||l.call(r,e),n("update:value",e),n("change",e)},w=e=>{var l;null==(l=r.onBlur)||l.call(r,e),n("blur",e),r.hideOnBlur&&B(!1)};return o({focus:()=>{var e,l;return null==(l=null==(e=u.value)?void 0:e.focus)?void 0:l.call(e)},blur:()=>{var e,l;return null==(l=null==(e=u.value)?void 0:e.blur)?void 0:l.call(e)}}),(e,o)=>(l.openBlock(),l.createElementBlock("div",{class:l.normalizeClass(["schemx-sensitive-input",r.className])},[g.value?(l.openBlock(),l.createBlock(l.unref(f),l.mergeProps({key:0,ref_key:"inputRef",ref:u},b.value,{value:m.value,"on-change":N,"on-blur":w}),{button:l.withCtx(()=>[p.value?(l.openBlock(),l.createElementBlock("button",{key:0,type:"button",class:"schemx-sensitive-input__toggle","data-testid":"sensitive-toggle","aria-label":k.value,onClick:l.withModifiers(C,["stop"])},[r.hideIcon?(l.openBlock(),l.createBlock(l.unref(a.Icon),{key:0,name:r.hideIcon},null,8,["name"])):l.createCommentVNode("",!0),l.createElementVNode("span",null,l.toDisplayString(r.hideText),1)],8,G)):l.createCommentVNode("",!0)]),_:1},16,["value"])):(l.openBlock(),l.createBlock(v,{key:1,value:h.value,placeholder:r.placeholder,"readonly-placeholder":r.readonlyPlaceholder,readonly:r.readonly,disabled:r.disabled,"is-link":!1,align:r.align},{suffix:l.withCtx(()=>[p.value?(l.openBlock(),l.createElementBlock("button",{key:0,type:"button",class:"schemx-sensitive-input__toggle","data-testid":"sensitive-toggle","aria-label":x.value,onClick:l.withModifiers(C,["stop"])},[r.revealIcon?(l.openBlock(),l.createBlock(l.unref(a.Icon),{key:0,name:r.revealIcon},null,8,["name"])):l.createCommentVNode("",!0),l.createElementVNode("span",null,l.toDisplayString(r.revealText),1)],8,H)):l.createCommentVNode("",!0)]),_:1},8,["value","placeholder","readonly-placeholder","readonly","disabled","align"]))],2))}});e.rendererRegistry.registerAll({input:y,text:h,textarea:g,number:C,switch:I,radio:A,checkbox:x,date:k,calendar:B,picker:w,selectPicker:q,selector:j,sensitiveInput:J,rate:_,slider:S,stepper:R,upload:F,cascader:M}),exports.SchemxForm=e,Object.defineProperty(exports,"WithRemoteOptions",{enumerable:!0,get:()=>e.WithRemoteOptions}),exports.default=e,Object.defineProperty(exports,"rendererRegistry",{enumerable:!0,get:()=>e.rendererRegistry}),Object.defineProperty(exports,"useEffect",{enumerable:!0,get:()=>e.useEffect}),Object.defineProperty(exports,"useField",{enumerable:!0,get:()=>e.useField}),Object.defineProperty(exports,"useFieldContext",{enumerable:!0,get:()=>e.useFieldContext}),Object.defineProperty(exports,"useForm",{enumerable:!0,get:()=>e.useForm}),Object.defineProperty(exports,"useWatch",{enumerable:!0,get:()=>e.useWatch}),Object.defineProperty(exports,"validatorRegistry",{enumerable:!0,get:()=>e.validatorRegistry}),exports.CalendarRenderer=B,exports.CascaderRenderer=M,exports.CheckboxRenderer=x,exports.DEFAULT_RENDERER_TYPES=["input","text","textarea","number","switch","radio","checkbox","date","calendar","picker","selectPicker","selector","sensitiveInput","rate","slider","stepper","upload","cascader"],exports.DateRenderer=k,exports.InputRenderer=y,exports.NumberRenderer=C,exports.PickerRenderer=w,exports.RadioRenderer=A,exports.RateRenderer=_,exports.SelectPickerRenderer=q,exports.SelectorRenderer=j,exports.SensitiveInputRenderer=J,exports.SliderRenderer=S,exports.StepperRenderer=R,exports.SwitchRenderer=I,exports.TextAreaRenderer=g,exports.TextRenderer=h,exports.UploadRenderer=F,exports.findTreeItem=u,exports.getFieldProps=n,exports.getFileName=s,Object.keys(r).forEach(e=>{"default"===e||Object.prototype.hasOwnProperty.call(exports,e)||Object.defineProperty(exports,e,{enumerable:!0,get:()=>r[e]})});
|
|
2
|
+
//# sourceMappingURL=index.cjs.map
|