fast-element-plus 1.0.0-alpha.9 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (155) hide show
  1. package/dist/index.full.js +3180 -4581
  2. package/dist/index.full.js.map +1 -1
  3. package/dist/index.full.min.js +5 -5
  4. package/dist/index.full.min.js.map +1 -1
  5. package/dist/index.full.min.mjs +5 -5
  6. package/dist/index.full.min.mjs.map +1 -1
  7. package/dist/index.full.mjs +3180 -4581
  8. package/dist/index.full.mjs.map +1 -1
  9. package/dist/styles/index.css +2 -2
  10. package/es/components/avatar/index.d.ts +1 -1
  11. package/es/components/avatar/index.mjs.map +1 -1
  12. package/es/components/avatar/src/avatar.d.ts +18 -102
  13. package/es/components/avatar/src/avatar.mjs +1 -2
  14. package/es/components/avatar/src/avatar.mjs.map +1 -1
  15. package/es/components/button/index.d.ts +1 -1
  16. package/es/components/button/index.mjs.map +1 -1
  17. package/es/components/button/src/button.d.ts +35 -180
  18. package/es/components/button/src/button.mjs +14 -4
  19. package/es/components/button/src/button.mjs.map +1 -1
  20. package/es/components/carNumber/src/carNumber.d.ts +58 -194
  21. package/es/components/contextMenu/src/contextMenu.mjs +1 -1
  22. package/es/components/contextMenu/src/contextMenu.mjs.map +1 -1
  23. package/es/components/dialog/src/dialog.d.ts +45 -297
  24. package/es/components/drawer/src/drawer.d.ts +72 -450
  25. package/es/components/form/src/form.d.ts +28 -133
  26. package/es/components/form/src/formItem.d.ts +32 -137
  27. package/es/components/iconSelector/src/iconSelector.mjs +2 -2
  28. package/es/components/iconSelector/src/iconSelector.mjs.map +1 -1
  29. package/es/components/image/src/image.d.ts +43 -253
  30. package/es/components/select/src/select.d.ts +25 -81
  31. package/es/components/select/src/select.mjs +1 -0
  32. package/es/components/select/src/select.mjs.map +1 -1
  33. package/es/components/selectPage/src/selectPage.d.ts +19 -61
  34. package/es/components/selectV2/src/selectV2.d.ts +25 -81
  35. package/es/components/selectV2/src/selectV2.mjs +1 -0
  36. package/es/components/selectV2/src/selectV2.mjs.map +1 -1
  37. package/es/components/table/src/table.d.ts +5 -12
  38. package/es/components/table/src/table.mjs +4 -6
  39. package/es/components/table/src/table.mjs.map +1 -1
  40. package/es/components/table/src/table.state.d.ts +1 -1
  41. package/es/components/table/src/table.type.d.ts +4 -1
  42. package/es/components/table/src/table.type.mjs.map +1 -1
  43. package/es/components/table/src/tableColumn.d.ts +1 -1
  44. package/es/components/table/src/tableColumn.mjs +7 -7
  45. package/es/components/table/src/tableColumn.mjs.map +1 -1
  46. package/es/components/table/src/tableSearchForm.d.ts +6 -4
  47. package/es/components/table/src/tableSearchForm.mjs +2 -2
  48. package/es/components/table/src/tableSearchForm.mjs.map +1 -1
  49. package/es/components/table/src/useTable.mjs +3 -3
  50. package/es/components/table/src/useTable.mjs.map +1 -1
  51. package/es/components/tree/src/tree.d.ts +23 -653
  52. package/es/components/tree/src/tree.mjs +1 -1
  53. package/es/components/tree/src/tree.mjs.map +1 -1
  54. package/es/components/tree/src/tree.type.d.ts +1 -1
  55. package/es/components/treeSelect/src/treeSelect.d.ts +20 -62
  56. package/es/components/treeSelect/src/treeSelect.mjs +1 -0
  57. package/es/components/treeSelect/src/treeSelect.mjs.map +1 -1
  58. package/es/components/upload/src/upload.d.ts +298 -460
  59. package/es/components/upload/src/useUpload.mjs +2 -2
  60. package/es/components/upload/src/useUpload.mjs.map +1 -1
  61. package/es/components/uploadImage/src/uploadImage.d.ts +295 -394
  62. package/es/components/uploadImage/src/uploadImage.mjs +1 -1
  63. package/es/components/uploadImage/src/uploadImage.mjs.map +1 -1
  64. package/es/components/uploadImages/src/uploadImages.d.ts +300 -420
  65. package/es/components/uploadImages/src/uploadImages.mjs +4 -4
  66. package/es/components/uploadImages/src/uploadImages.mjs.map +1 -1
  67. package/es/constants/regex.mjs +13 -13
  68. package/es/constants/regex.mjs.map +1 -1
  69. package/es/directive.d.ts +1 -1
  70. package/es/directives/click-copy/index.d.ts +1 -1
  71. package/es/directives/click-debounce/index.d.ts +1 -1
  72. package/es/directives/click-draggable/index.d.ts +1 -1
  73. package/es/directives/click-icon-copy/index.d.ts +1 -1
  74. package/es/directives/click-longpress/index.d.ts +1 -1
  75. package/es/directives/click-throttle/index.d.ts +1 -1
  76. package/es/element-plus.mjs +1 -1
  77. package/es/element-plus.mjs.map +1 -1
  78. package/es/make-installer.mjs +4 -0
  79. package/es/make-installer.mjs.map +1 -1
  80. package/es/version.d.ts +1 -1
  81. package/es/version.mjs +1 -1
  82. package/es/version.mjs.map +1 -1
  83. package/lib/components/avatar/index.d.ts +1 -1
  84. package/lib/components/avatar/index.js.map +1 -1
  85. package/lib/components/avatar/src/avatar.d.ts +18 -102
  86. package/lib/components/avatar/src/avatar.js +1 -1
  87. package/lib/components/avatar/src/avatar.js.map +1 -1
  88. package/lib/components/button/index.d.ts +1 -1
  89. package/lib/components/button/index.js.map +1 -1
  90. package/lib/components/button/src/button.d.ts +35 -180
  91. package/lib/components/button/src/button.js +1 -1
  92. package/lib/components/button/src/button.js.map +1 -1
  93. package/lib/components/carNumber/src/carNumber.d.ts +58 -194
  94. package/lib/components/contextMenu/src/contextMenu.js +1 -1
  95. package/lib/components/contextMenu/src/contextMenu.js.map +1 -1
  96. package/lib/components/dialog/src/dialog.d.ts +45 -297
  97. package/lib/components/drawer/src/drawer.d.ts +72 -450
  98. package/lib/components/form/src/form.d.ts +28 -133
  99. package/lib/components/form/src/formItem.d.ts +32 -137
  100. package/lib/components/image/src/image.d.ts +43 -253
  101. package/lib/components/select/src/select.d.ts +25 -81
  102. package/lib/components/select/src/select.js +1 -1
  103. package/lib/components/select/src/select.js.map +1 -1
  104. package/lib/components/selectPage/src/selectPage.d.ts +19 -61
  105. package/lib/components/selectV2/src/selectV2.d.ts +25 -81
  106. package/lib/components/selectV2/src/selectV2.js +1 -1
  107. package/lib/components/selectV2/src/selectV2.js.map +1 -1
  108. package/lib/components/table/src/table.d.ts +5 -12
  109. package/lib/components/table/src/table.js +1 -1
  110. package/lib/components/table/src/table.js.map +1 -1
  111. package/lib/components/table/src/table.state.d.ts +1 -1
  112. package/lib/components/table/src/table.type.d.ts +4 -1
  113. package/lib/components/table/src/table.type.js.map +1 -1
  114. package/lib/components/table/src/tableColumn.d.ts +1 -1
  115. package/lib/components/table/src/tableColumn.js +1 -1
  116. package/lib/components/table/src/tableColumn.js.map +1 -1
  117. package/lib/components/table/src/tableSearchForm.d.ts +6 -4
  118. package/lib/components/table/src/tableSearchForm.js +1 -1
  119. package/lib/components/table/src/tableSearchForm.js.map +1 -1
  120. package/lib/components/table/src/useTable.js +1 -1
  121. package/lib/components/table/src/useTable.js.map +1 -1
  122. package/lib/components/tree/src/tree.d.ts +23 -653
  123. package/lib/components/tree/src/tree.js +1 -1
  124. package/lib/components/tree/src/tree.js.map +1 -1
  125. package/lib/components/tree/src/tree.type.d.ts +1 -1
  126. package/lib/components/treeSelect/src/treeSelect.d.ts +20 -62
  127. package/lib/components/treeSelect/src/treeSelect.js +1 -1
  128. package/lib/components/treeSelect/src/treeSelect.js.map +1 -1
  129. package/lib/components/upload/src/upload.d.ts +298 -460
  130. package/lib/components/upload/src/useUpload.js +1 -1
  131. package/lib/components/upload/src/useUpload.js.map +1 -1
  132. package/lib/components/uploadImage/src/uploadImage.d.ts +295 -394
  133. package/lib/components/uploadImage/src/uploadImage.js +1 -1
  134. package/lib/components/uploadImage/src/uploadImage.js.map +1 -1
  135. package/lib/components/uploadImages/src/uploadImages.d.ts +300 -420
  136. package/lib/components/uploadImages/src/uploadImages.js +1 -1
  137. package/lib/components/uploadImages/src/uploadImages.js.map +1 -1
  138. package/lib/constants/regex.js +1 -1
  139. package/lib/constants/regex.js.map +1 -1
  140. package/lib/directive.d.ts +1 -1
  141. package/lib/directives/click-copy/index.d.ts +1 -1
  142. package/lib/directives/click-debounce/index.d.ts +1 -1
  143. package/lib/directives/click-draggable/index.d.ts +1 -1
  144. package/lib/directives/click-icon-copy/index.d.ts +1 -1
  145. package/lib/directives/click-longpress/index.d.ts +1 -1
  146. package/lib/directives/click-throttle/index.d.ts +1 -1
  147. package/lib/element-plus.js +1 -1
  148. package/lib/element-plus.js.map +1 -1
  149. package/lib/make-installer.js +1 -1
  150. package/lib/make-installer.js.map +1 -1
  151. package/lib/version.d.ts +1 -1
  152. package/lib/version.js +1 -1
  153. package/lib/version.js.map +1 -1
  154. package/package.json +8 -8
  155. package/styles/components/contextMenu.scss +2 -2
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),l=require("element-plus"),a=require("@element-plus/icons-vue"),t=require("@fast-china/utils"),o=require("@vueuse/core"),r=require("lodash-unified"),i=require("./selectOption.js"),n={name:String,id:String,modelValue:{type:[Array,String,Number,Boolean,Object],default:void 0},autocomplete:{type:String,default:"off"},automaticDropdown:Boolean,size:l.useSizeProp,effect:{type:t.definePropType(String),default:"light"},disabled:Boolean,clearable:Boolean,filterable:Boolean,allowCreate:Boolean,loading:Boolean,popperClass:{type:String,default:""},popperOptions:{type:t.definePropType(Object),default:()=>({})},remote:Boolean,loadingText:String,noMatchText:String,noDataText:String,remoteMethod:Function,filterMethod:Function,multiple:Boolean,multipleLimit:{type:Number,default:0},placeholder:{type:String},defaultFirstOption:Boolean,reserveKeyword:{type:Boolean,default:!0},valueKey:{type:String,default:"value"},collapseTags:Boolean,collapseTagsTooltip:Boolean,maxCollapseTags:{type:Number,default:1},teleported:l.useTooltipContentProps.teleported,persistent:{type:Boolean,default:!0},clearIcon:{type:t.definePropType([String,Object,Function]),default:a.CircleClose},fitInputWidth:Boolean,suffixIcon:{type:t.definePropType([String,Object,Function]),default:a.ArrowDown},tagType:{...l.tagProps.type,default:"info"},tagEffect:{...l.tagProps.effect,default:"light"},validateEvent:{type:Boolean,default:!0},remoteShowSuffix:Boolean,placement:{type:t.definePropType(String),default:"bottom-start"},fallbackPlacements:{type:t.definePropType(Array),default:["bottom-start","top-start","right","left"]},...l.useEmptyValuesProps,...l.useAriaProps(["ariaLabel"])},s={...n,loadingText:{type:String,default:"加载中..."},noMatchText:{type:String,default:"暂无匹配的数据"},noDataText:{type:String,default:"暂无数据"},collapseTags:{type:Boolean,default:!0},collapseTagsTooltip:{type:Boolean,default:!0},modelValue:{type:t.definePropType([String,Number,Boolean,Object,Array]),default:void 0},label:t.definePropType([String,Array]),width:{type:[String,Number],default:"100%"},moreDetail:Boolean,lazy:{type:Boolean,default:!0},defaultSelected:Boolean,props:{type:t.definePropType(Object),default:()=>({label:"label",hide:"hide",disabled:"disabled",children:"children"})},data:{type:t.definePropType(Array),default:()=>[]},requestApi:{type:t.definePropType(Function)},initParam:t.definePropType([String,Number,Object])},u={"update:modelValue":e=>r.isString(e)||r.isNumber(e)||r.isBoolean(e)||r.isObject(e)||r.isArray(e)||r.isNull(e),"update:label":e=>r.isString(e)||r.isArray(e)||r.isNull(e),dataChangeCallBack:e=>r.isArray(e),change:(e,l)=>(r.isObject(e)||r.isArray(e)||r.isNull(e))&&(r.isString(l)||r.isNumber(l)||r.isBoolean(l)||r.isObject(l)||r.isArray(l)||r.isNull(l)),visibleChange:e=>r.isBoolean(e),removeTag:e=>r.isString(e)||r.isNumber(e)||r.isBoolean(e)||r.isObject(e)||r.isArray(e),clear:()=>!0,blur:e=>e instanceof FocusEvent,focus:e=>e instanceof FocusEvent},p=e.defineComponent({name:"FaSelect",props:s,emits:u,slots:t.makeSlots(),setup(a,{attrs:s,slots:u,emit:p,expose:d}){const c=o.useVModel(a,"label",p,{passive:!0}),f=e.reactive({value:t.withDefineType(),loading:!1,selectorData:t.withDefineType([]),debut:!0,echo:!(a.data?.length>0),nextRefresh:!1}),m=e.ref(),y=e=>e?.map(e=>({...e,value:e[a.valueKey],label:r.isFunction(a.props.label)?a.props.label(e):e[a.props.label??"label"],hide:r.isFunction(a.props.hide)?a.props.hide(e):e[a.props.hide??"hide"],disabled:r.isFunction(a.props.disabled)?a.props.disabled(e):e[a.props.disabled??"disabled"],children:r.isFunction(a.props.children)?y(a.props.children(e)):y(e[a.props.children??"children"])})).filter(e=>!e.hide),g=async()=>{if(a.requestApi){f.loading=!0;const l=a.initParam??{};try{const e=await a.requestApi(l);f.echo=!1,f.selectorData=y(e),p("dataChangeCallBack",f.selectorData)}catch(e){t.consoleError("FaSelect",e),f.selectorData=[]}finally{f.loading=!1}}else f.selectorData=y(a.data)},b=e=>{if(a.multiple){const l=e;if(0===l?.length)return f.value=null,c.value=null,p("update:modelValue",null),void p("change",null,null);const a=f.selectorData.filter(e=>l.includes(e.value));f.value=e,c.value=a.map(e=>e.label),p("update:modelValue",e),p("change",a,e)}else{if(r.isNil(e))return f.value=null,c.value=null,p("update:modelValue",null),void p("change",null,null);const l=f.selectorData.find(l=>l.value===e);f.value=e,c.value=l.label,p("update:modelValue",e),p("change",l,e)}},h=()=>{f.value=null,c.value=null,p("clear")},v=async e=>{e&&(f.debut?(f.debut=!1,!a.defaultSelected&&a.lazy&&await g()):f.nextRefresh&&(f.nextRefresh=!1,await g())),p("visibleChange",e)};e.watch(()=>a.modelValue,e=>{if(f.echo&&!r.isNil(e)){const l=!r.isNil(a.label);if(a.multiple){if(!r.isArray(e))return void t.consoleError("FaSelect","当启用 multiple 时,传入的 modelValue 必须是Array。");if(l&&!r.isArray(a.label))return void t.consoleError("FaSelect","当启用 multiple 时,传入的 modelValue:label 必须是Array。");f.selectorData=e.slice(0,a.multipleLimit>0?a.multipleLimit:e.length).map((e,t)=>({value:e,label:l?a.label[t]:void 0}))}else{if(r.isArray(e))return void t.consoleError("FaSelect","当禁用 multiple 时,传入的 modelValue 不能是Array。");if(l&&r.isArray(a.label))return void t.consoleError("FaSelect","当禁用 multiple 时,传入的 modelValue:label 不能是Array。");f.selectorData=[{value:e,label:a.label}]}}f.value=e},{immediate:!0}),e.onMounted(async()=>{a.defaultSelected?(await g(),f.selectorData.length>0&&b(a.multiple?[f.selectorData[0].value]:f.selectorData[0].value)):!a.requestApi&&a.data?.length>0?(f.debut=!1,await g()):a.lazy||await g(),e.watch(()=>a.initParam,(e,l)=>{r.isEqual(e,l)||(f.nextRefresh=!0,r.isNil(f.value)||b())}),e.watch(()=>a.data,async()=>{a.requestApi||await g()},{deep:!0})});const S=t.useProps(a,n,["modelValue","popperClass","loading"]);return t.useRender(()=>e.createVNode(l.ElSelect,e.mergeProps(S.value,{ref:m,class:"fa-select",popperClass:`fa-select-dropdown ${a.popperClass}`,style:{width:t.addUnit(a.width)},modelValue:f.value,"onUpdate:modelValue":e=>f.value=e,loading:f.loading,onChange:b,onClear:h,onVisibleChange:v,onRemoveTag:e=>p("removeTag",e),onBlur:e=>p("blur",e),onFocus:e=>p("focus",e)}),{default:()=>f.selectorData.map(l=>e.createVNode(i.default,{data:l,moreDetail:a.moreDetail},{default:u.default})),...u.header&&{header:()=>u.header()},...u.footer&&{footer:()=>u.footer()},...u.prefix&&{prefix:()=>u.prefix()},...u.empty&&{empty:()=>u.empty()},...u.tag&&{tag:()=>u.tag()},...u.loading&&{loading:()=>u.loading()},...u.label&&{label:({label:e,value:l})=>u.label({label:e,value:l})}})),t.useExpose(d,{focus:e.computed(()=>m.value?.focus),blur:e.computed(()=>m.value?.blur),selectedLabel:e.computed(()=>m.value?.selectedLabel),loading:e.computed(()=>f.loading),refresh:g,setSelection:e=>b(e),clearSelection:()=>b(null)})}});exports.SelectProps=n,exports.default=p,exports.faSelectEmits=u,exports.faSelectProps=s;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),l=require("element-plus"),a=require("@element-plus/icons-vue"),t=require("@fast-china/utils"),o=require("@vueuse/core"),r=require("lodash-unified"),i=require("./selectOption.js"),n={name:String,id:String,modelValue:{type:[Array,String,Number,Boolean,Object],default:void 0},autocomplete:{type:String,default:"off"},automaticDropdown:Boolean,size:l.useSizeProp,effect:{type:t.definePropType(String),default:"light"},disabled:Boolean,clearable:Boolean,filterable:Boolean,allowCreate:Boolean,loading:Boolean,popperClass:{type:String,default:""},popperOptions:{type:t.definePropType(Object),default:()=>({})},remote:Boolean,loadingText:String,noMatchText:String,noDataText:String,remoteMethod:Function,filterMethod:Function,multiple:Boolean,multipleLimit:{type:Number,default:0},placeholder:{type:String},defaultFirstOption:Boolean,reserveKeyword:{type:Boolean,default:!0},valueKey:{type:String,default:"value"},collapseTags:Boolean,collapseTagsTooltip:Boolean,maxCollapseTags:{type:Number,default:1},teleported:l.useTooltipContentProps.teleported,persistent:{type:Boolean,default:!0},clearIcon:{type:t.definePropType([String,Object,Function]),default:a.CircleClose},fitInputWidth:Boolean,suffixIcon:{type:t.definePropType([String,Object,Function]),default:a.ArrowDown},tagType:{...l.tagProps.type,default:"info"},tagEffect:{...l.tagProps.effect,default:"light"},validateEvent:{type:Boolean,default:!0},remoteShowSuffix:Boolean,placement:{type:t.definePropType(String),default:"bottom-start"},fallbackPlacements:{type:t.definePropType(Array),default:["bottom-start","top-start","right","left"]},...l.useEmptyValuesProps,...l.useAriaProps(["ariaLabel"])},s={...n,loadingText:{type:String,default:"加载中..."},noMatchText:{type:String,default:"暂无匹配的数据"},noDataText:{type:String,default:"暂无数据"},collapseTags:{type:Boolean,default:!0},collapseTagsTooltip:{type:Boolean,default:!0},modelValue:{type:t.definePropType([String,Number,Boolean,Object,Array]),default:void 0},label:t.definePropType([String,Array]),width:{type:[String,Number],default:"100%"},moreDetail:Boolean,lazy:{type:Boolean,default:!0},defaultSelected:Boolean,props:{type:t.definePropType(Object),default:()=>({label:"label",hide:"hide",disabled:"disabled",children:"children"})},data:{type:t.definePropType(Array),default:()=>[]},requestApi:{type:t.definePropType(Function)},initParam:t.definePropType([String,Number,Object])},u={"update:modelValue":e=>r.isString(e)||r.isNumber(e)||r.isBoolean(e)||r.isObject(e)||r.isArray(e)||r.isNull(e),"update:label":e=>r.isString(e)||r.isArray(e)||r.isNull(e),dataChangeCallBack:e=>r.isArray(e),change:(e,l)=>(r.isObject(e)||r.isArray(e)||r.isNull(e))&&(r.isString(l)||r.isNumber(l)||r.isBoolean(l)||r.isObject(l)||r.isArray(l)||r.isNull(l)),visibleChange:e=>r.isBoolean(e),removeTag:e=>r.isString(e)||r.isNumber(e)||r.isBoolean(e)||r.isObject(e)||r.isArray(e),clear:()=>!0,blur:e=>e instanceof FocusEvent,focus:e=>e instanceof FocusEvent},p=e.defineComponent({name:"FaSelect",props:s,emits:u,slots:t.makeSlots(),setup(a,{attrs:s,slots:u,emit:p,expose:d}){const c=o.useVModel(a,"label",p,{passive:!0}),f=e.reactive({value:t.withDefineType(),loading:!1,selectorData:t.withDefineType([]),debut:!0,echo:!(a.data?.length>0),nextRefresh:!1}),m=e.ref(),y=e=>e?.map(e=>({...e,value:e[a.valueKey],label:r.isFunction(a.props.label)?a.props.label(e):e[a.props.label??"label"],hide:r.isFunction(a.props.hide)?a.props.hide(e):e[a.props.hide??"hide"],disabled:r.isFunction(a.props.disabled)?a.props.disabled(e):e[a.props.disabled??"disabled"],children:r.isFunction(a.props.children)?y(a.props.children(e)):y(e[a.props.children??"children"])})).filter(e=>!e.hide),g=async()=>{if(a.requestApi){f.loading=!0;const l=a.initParam??{};try{const e=await a.requestApi(l);f.echo=!1,f.selectorData=y(e),p("dataChangeCallBack",f.selectorData)}catch(e){t.consoleError("FaSelect",e),f.selectorData=[]}finally{f.loading=!1}}else f.echo=!1,f.selectorData=y(a.data)},b=e=>{if(a.multiple){const l=e;if(0===l?.length)return f.value=null,c.value=null,p("update:modelValue",null),void p("change",null,null);const a=f.selectorData.filter(e=>l.includes(e.value));f.value=e,c.value=a.map(e=>e.label),p("update:modelValue",e),p("change",a,e)}else{if(r.isNil(e))return f.value=null,c.value=null,p("update:modelValue",null),void p("change",null,null);const l=f.selectorData.find(l=>l.value===e);f.value=e,c.value=l.label,p("update:modelValue",e),p("change",l,e)}},h=()=>{f.value=null,c.value=null,p("clear")},v=async e=>{e&&(f.debut?(f.debut=!1,!a.defaultSelected&&a.lazy&&await g()):f.nextRefresh&&(f.nextRefresh=!1,await g())),p("visibleChange",e)};e.watch(()=>a.modelValue,e=>{if(f.echo&&!r.isNil(e)){const l=!r.isNil(a.label);if(a.multiple){if(!r.isArray(e))return void t.consoleError("FaSelect","当启用 multiple 时,传入的 modelValue 必须是Array。");if(l&&!r.isArray(a.label))return void t.consoleError("FaSelect","当启用 multiple 时,传入的 modelValue:label 必须是Array。");f.selectorData=e.slice(0,a.multipleLimit>0?a.multipleLimit:e.length).map((e,t)=>({value:e,label:l?a.label[t]:void 0}))}else{if(r.isArray(e))return void t.consoleError("FaSelect","当禁用 multiple 时,传入的 modelValue 不能是Array。");if(l&&r.isArray(a.label))return void t.consoleError("FaSelect","当禁用 multiple 时,传入的 modelValue:label 不能是Array。");f.selectorData=[{value:e,label:a.label}]}}f.value=e},{immediate:!0}),e.onMounted(async()=>{a.defaultSelected?(await g(),f.selectorData.length>0&&b(a.multiple?[f.selectorData[0].value]:f.selectorData[0].value)):!a.requestApi&&a.data?.length>0?(f.debut=!1,await g()):a.lazy||await g(),e.watch(()=>a.initParam,(e,l)=>{r.isEqual(e,l)||(f.nextRefresh=!0,r.isNil(f.value)||b())}),e.watch(()=>a.data,async()=>{a.requestApi||await g()},{deep:!0})});const S=t.useProps(a,n,["modelValue","popperClass","loading"]);return t.useRender(()=>e.createVNode(l.ElSelect,e.mergeProps(S.value,{ref:m,class:"fa-select",popperClass:`fa-select-dropdown ${a.popperClass}`,style:{width:t.addUnit(a.width)},modelValue:f.value,"onUpdate:modelValue":e=>f.value=e,loading:f.loading,onChange:b,onClear:h,onVisibleChange:v,onRemoveTag:e=>p("removeTag",e),onBlur:e=>p("blur",e),onFocus:e=>p("focus",e)}),{default:()=>f.selectorData.map(l=>e.createVNode(i.default,{data:l,moreDetail:a.moreDetail},{default:u.default})),...u.header&&{header:()=>u.header()},...u.footer&&{footer:()=>u.footer()},...u.prefix&&{prefix:()=>u.prefix()},...u.empty&&{empty:()=>u.empty()},...u.tag&&{tag:()=>u.tag()},...u.loading&&{loading:()=>u.loading()},...u.label&&{label:({label:e,value:l})=>u.label({label:e,value:l})}})),t.useExpose(d,{focus:e.computed(()=>m.value?.focus),blur:e.computed(()=>m.value?.blur),selectedLabel:e.computed(()=>m.value?.selectedLabel),loading:e.computed(()=>f.loading),refresh:g,setSelection:e=>b(e),clearSelection:()=>b(null)})}});exports.SelectProps=n,exports.default=p,exports.faSelectEmits=u,exports.faSelectProps=s;
2
2
  //# sourceMappingURL=select.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"select.js","sources":["../../../../../packages/components/select/src/select.tsx"],"sourcesContent":["import { computed, defineComponent, onMounted, reactive, ref, watch } from \"vue\";\nimport { ElSelect, tagProps, useAriaProps, useEmptyValuesProps, useSizeProp, useTooltipContentProps } from \"element-plus\";\nimport { ArrowDown, CircleClose } from \"@element-plus/icons-vue\";\nimport { addUnit, consoleError, definePropType, makeSlots, useExpose, useProps, useRender, withDefineType } from \"@fast-china/utils\";\nimport { useVModel } from \"@vueuse/core\";\nimport { isArray, isBoolean, isEqual, isFunction, isNil, isNull, isNumber, isObject, isString } from \"lodash-unified\";\nimport FaSelectOption from \"./selectOption\";\nimport type { ElSelectorOutput } from \"./select.type\";\nimport type { Options, Placement, PopperEffect } from \"element-plus\";\nimport type { Component, VNode } from \"vue\";\n\nexport const SelectProps = {\n\t/**\n\t * @description the name attribute of select input\n\t */\n\tname: String,\n\t/**\n\t * @description native input id\n\t */\n\tid: String,\n\t/**\n\t * @description binding value\n\t */\n\tmodelValue: {\n\t\ttype: [Array, String, Number, Boolean, Object],\n\t\tdefault: undefined,\n\t},\n\t/**\n\t * @description the autocomplete attribute of select input\n\t */\n\tautocomplete: {\n\t\ttype: String,\n\t\tdefault: \"off\",\n\t},\n\t/**\n\t * @description for non-filterable Select, this prop decides if the option menu pops up when the input is focused\n\t */\n\tautomaticDropdown: Boolean,\n\t/**\n\t * @description size of Input\n\t */\n\tsize: useSizeProp,\n\t/**\n\t * @description tooltip theme, built-in theme: `dark` / `light`\n\t */\n\teffect: {\n\t\ttype: definePropType<PopperEffect | string>(String),\n\t\tdefault: \"light\",\n\t},\n\t/**\n\t * @description whether Select is disabled\n\t */\n\tdisabled: Boolean,\n\t/**\n\t * @description whether select can be cleared\n\t */\n\tclearable: Boolean,\n\t/**\n\t * @description whether Select is filterable\n\t */\n\tfilterable: Boolean,\n\t/**\n\t * @description whether creating new items is allowed. To use this, `filterable` must be true\n\t */\n\tallowCreate: Boolean,\n\t/**\n\t * @description whether Select is loading data from server\n\t */\n\tloading: Boolean,\n\t/**\n\t * @description custom class name for Select's dropdown\n\t */\n\tpopperClass: {\n\t\ttype: String,\n\t\tdefault: \"\",\n\t},\n\t/**\n\t * @description [popper.js](https://popper.js.org/docs/v2/) parameters\n\t */\n\tpopperOptions: {\n\t\ttype: definePropType<Partial<Options>>(Object),\n\t\tdefault: (): Partial<Options> => ({}),\n\t},\n\t/**\n\t * @description whether options are loaded from server\n\t */\n\tremote: Boolean,\n\t/**\n\t * @description displayed text while loading data from server, default is 'Loading'\n\t */\n\tloadingText: String,\n\t/**\n\t * @description displayed text when no data matches the filtering query, you can also use slot `empty`, default is 'No matching data'\n\t */\n\tnoMatchText: String,\n\t/**\n\t * @description displayed text when there is no options, you can also use slot `empty`, default is 'No data'\n\t */\n\tnoDataText: String,\n\t/**\n\t * @description custom remote search method\n\t */\n\tremoteMethod: Function,\n\t/**\n\t * @description custom filter method\n\t */\n\tfilterMethod: Function,\n\t/**\n\t * @description whether multiple-select is activated\n\t */\n\tmultiple: Boolean,\n\t/**\n\t * @description maximum number of options user can select when `multiple` is `true`. No limit when set to 0\n\t */\n\tmultipleLimit: {\n\t\ttype: Number,\n\t\tdefault: 0,\n\t},\n\t/**\n\t * @description placeholder, default is 'Select'\n\t */\n\tplaceholder: {\n\t\ttype: String,\n\t},\n\t/**\n\t * @description select first matching option on enter key. Use with `filterable` or `remote`\n\t */\n\tdefaultFirstOption: Boolean,\n\t/**\n\t * @description when `multiple` and `filter` is true, whether to reserve current keyword after selecting an option\n\t */\n\treserveKeyword: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/**\n\t * @description unique identity key name for value, required when value is an object\n\t */\n\tvalueKey: {\n\t\ttype: String,\n\t\tdefault: \"value\",\n\t},\n\t/**\n\t * @description whether to collapse tags to a text when multiple selecting\n\t */\n\tcollapseTags: Boolean,\n\t/**\n\t * @description whether show all selected tags when mouse hover text of collapse-tags. To use this, `collapse-tags` must be true\n\t */\n\tcollapseTagsTooltip: Boolean,\n\t/**\n\t * @description the max tags number to be shown. To use this, `collapse-tags` must be true\n\t */\n\tmaxCollapseTags: {\n\t\ttype: Number,\n\t\tdefault: 1,\n\t},\n\t/**\n\t * @description whether select dropdown is teleported to the body\n\t */\n\tteleported: useTooltipContentProps.teleported,\n\t/**\n\t * @description when select dropdown is inactive and `persistent` is `false`, select dropdown will be destroyed\n\t */\n\tpersistent: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/**\n\t * @description custom clear icon component\n\t */\n\tclearIcon: {\n\t\ttype: definePropType<string | Component>([String, Object, Function]),\n\t\tdefault: CircleClose,\n\t},\n\t/**\n\t * @description whether the width of the dropdown is the same as the input\n\t */\n\tfitInputWidth: Boolean,\n\t/**\n\t * @description custom suffix icon component\n\t */\n\tsuffixIcon: {\n\t\ttype: definePropType<string | Component>([String, Object, Function]),\n\t\tdefault: ArrowDown,\n\t},\n\t/**\n\t * @description tag type\n\t */\n\n\ttagType: { ...tagProps.type, default: \"info\" },\n\t/**\n\t * @description tag effect\n\t */\n\ttagEffect: { ...tagProps.effect, default: \"light\" },\n\t/**\n\t * @description whether to trigger form validation\n\t */\n\tvalidateEvent: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/**\n\t * @description in remote search method show suffix icon\n\t */\n\tremoteShowSuffix: Boolean,\n\t/**\n\t * @description position of dropdown\n\t */\n\tplacement: {\n\t\ttype: definePropType<Placement>(String),\n\t\tdefault: \"bottom-start\",\n\t},\n\t/**\n\t * @description list of possible positions for dropdown\n\t */\n\tfallbackPlacements: {\n\t\ttype: definePropType<Placement[]>(Array),\n\t\tdefault: [\"bottom-start\", \"top-start\", \"right\", \"left\"],\n\t},\n\t...useEmptyValuesProps,\n\t...useAriaProps([\"ariaLabel\"]),\n};\n\nexport type SelectComponentProps = {\n\t/** @description 指定标签为节点的某个属性值 */\n\tlabel?: string | ((data: any) => string);\n\t/** @description 指定是否隐藏为节点的某个属性值 */\n\thide?: string | ((data: any) => boolean);\n\t/** @description 指定是否禁用为节点的某个属性值 */\n\tdisabled?: string | ((data: any) => boolean);\n\t/** @description 指定子节点对象为节点的某个属性值 */\n\tchildren?: string;\n};\n\nexport const faSelectProps = {\n\t...SelectProps,\n\t/** @description displayed text while loading data from server, default is 'Loading' */\n\tloadingText: {\n\t\ttype: String,\n\t\tdefault: \"加载中...\",\n\t},\n\t/** @description displayed text when no data matches the filtering query, you can also use slot `empty`, default is 'No matching data' */\n\tnoMatchText: {\n\t\ttype: String,\n\t\tdefault: \"暂无匹配的数据\",\n\t},\n\t/** @description displayed text when there is no options, you can also use slot `empty`, default is 'No data' */\n\tnoDataText: {\n\t\ttype: String,\n\t\tdefault: \"暂无数据\",\n\t},\n\t/** @description whether to collapse tags to a text when multiple selecting */\n\tcollapseTags: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description whether show all selected tags when mouse hover text of collapse-tags. To use this, `collapse-tags` must be true */\n\tcollapseTagsTooltip: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description v-model绑定值 */\n\tmodelValue: {\n\t\ttype: definePropType<string | number | boolean | object | (string | number | boolean | object)[]>([String, Number, Boolean, Object, Array]),\n\t\tdefault: undefined,\n\t},\n\t/** @description v-model:label绑定值 */\n\tlabel: definePropType<string | string[]>([String, Array]),\n\t/** @description 宽度 */\n\twidth: {\n\t\ttype: [String, Number],\n\t\tdefault: \"100%\",\n\t},\n\t/** @description 更多细节,只有使用slot的时候有用 */\n\tmoreDetail: Boolean,\n\t/** @description 懒加载远程数据,默认 true。当下拉框第一次显示的时候才会加载远程数据*/\n\tlazy: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 默认选中。不能和懒加载一起使用 */\n\tdefaultSelected: Boolean,\n\t/** @description 配置选项 */\n\tprops: {\n\t\ttype: definePropType<SelectComponentProps>(Object),\n\t\tdefault: (): Partial<SelectComponentProps> => ({\n\t\t\tlabel: \"label\",\n\t\t\thide: \"hide\",\n\t\t\tdisabled: \"disabled\",\n\t\t\tchildren: \"children\",\n\t\t}),\n\t},\n\t/** @description 下拉框数据 */\n\tdata: {\n\t\ttype: definePropType<ElSelectorOutput[]>(Array),\n\t\tdefault: (): ElSelectorOutput[] => [],\n\t},\n\t/** @description 请求api */\n\trequestApi: {\n\t\ttype: definePropType<(params?: any) => Promise<ElSelectorOutput[]>>(Function),\n\t},\n\t/** 初始化参数 */\n\tinitParam: definePropType<string | number | any>([String, Number, Object]),\n};\n\nexport const faSelectEmits = {\n\t/** @description v-model 回调 */\n\t\"update:modelValue\": (value: string | number | boolean | object | (string | number | boolean | object)[]): boolean =>\n\t\tisString(value) || isNumber(value) || isBoolean(value) || isObject(value) || isArray(value) || isNull(value),\n\t/** @description v-model:label 回调 */\n\t\"update:label\": (value: string | string[]): boolean => isString(value) || isArray(value) || isNull(value),\n\t/** @description 数据改变 */\n\tdataChangeCallBack: (data: ElSelectorOutput[] | any[]): boolean => isArray(data),\n\t/** @description 改变 */\n\tchange: (\n\t\tdata: ElSelectorOutput | ElSelectorOutput[] | any | any[],\n\t\tvalue?: string | number | boolean | object | (string | number | boolean | object)[]\n\t): boolean =>\n\t\t(isObject(data) || isArray(data) || isNull(data)) &&\n\t\t(isString(value) || isNumber(value) || isBoolean(value) || isObject(value) || isArray(value) || isNull(value)),\n\t/** @description 下拉框出现/隐藏时触发 */\n\tvisibleChange: (visible: boolean): boolean => isBoolean(visible),\n\t/** @description 多选模式下移除tag时触发 */\n\tremoveTag: (tagValue: any): boolean => isString(tagValue) || isNumber(tagValue) || isBoolean(tagValue) || isObject(tagValue) || isArray(tagValue),\n\t/** @description 可清空的单选模式下用户点击清空按钮时触发 */\n\tclear: (): boolean => true,\n\t/** @description 当 input 失去焦点时触发 */\n\tblur: (event: FocusEvent): boolean => event instanceof FocusEvent,\n\t/** @description 当 input 获得焦点时触发 */\n\tfocus: (event: FocusEvent): boolean => event instanceof FocusEvent,\n};\n\ntype FaSelectSlots = {\n\t/** @description FaSelectOption 默认内容插槽 */\n\tdefault: ElSelectorOutput;\n\t/** @description 下拉列表顶部的内容 */\n\theader: never;\n\t/** @description 下拉列表底部的内容 */\n\tfooter: never;\n\t/** @description Select 组件头部内容 */\n\tprefix: never;\n\t/** @description 无选项时的列表 */\n\tempty: never;\n\t/** @description select 组件自定义标签内容 */\n\ttag: never;\n\t/** @description select 组件自定义 loading内容 */\n\tloading: never;\n\t/** @description select 组件自定义标签内容 */\n\tlabel: { label: string; value: string | number | boolean | object };\n};\n\nexport default defineComponent({\n\tname: \"FaSelect\",\n\tprops: faSelectProps,\n\temits: faSelectEmits,\n\tslots: makeSlots<FaSelectSlots>(),\n\tsetup(props, { attrs, slots, emit, expose }) {\n\t\tconst selectedLabel = useVModel(props, \"label\", emit, { passive: true });\n\n\t\tconst state = reactive({\n\t\t\tvalue: withDefineType<string | number | boolean | object | (string | number | boolean | object)[]>(),\n\t\t\tloading: false,\n\t\t\tselectorData: withDefineType<ElSelectorOutput[]>([]),\n\t\t\t/** 首次出现 */\n\t\t\tdebut: true,\n\t\t\t/** 回显 */\n\t\t\techo: props.data?.length > 0 ? false : true,\n\t\t\t/** 下次刷新 */\n\t\t\tnextRefresh: false,\n\t\t});\n\n\t\tconst selectRef = ref<InstanceType<typeof ElSelect>>();\n\n\t\tconst handleData = (data: ElSelectorOutput[]): ElSelectorOutput[] => {\n\t\t\treturn data\n\t\t\t\t?.map((m) => ({\n\t\t\t\t\t...m,\n\t\t\t\t\tvalue: m[props.valueKey],\n\t\t\t\t\tlabel: isFunction(props.props.label) ? props.props.label(m) : m[props.props.label ?? \"label\"],\n\t\t\t\t\thide: isFunction(props.props.hide) ? props.props.hide(m) : m[props.props.hide ?? \"hide\"],\n\t\t\t\t\tdisabled: isFunction(props.props.disabled) ? props.props.disabled(m) : m[props.props.disabled ?? \"disabled\"],\n\t\t\t\t\tchildren: isFunction(props.props.children)\n\t\t\t\t\t\t? handleData(props.props.children(m))\n\t\t\t\t\t\t: handleData(m[props.props.children ?? \"children\"]),\n\t\t\t\t}))\n\t\t\t\t.filter((f) => !f.hide);\n\t\t};\n\n\t\tconst loadData = async (): Promise<void> => {\n\t\t\t// 判断是否需要自动请求\n\t\t\tif (props.requestApi) {\n\t\t\t\tstate.loading = true;\n\t\t\t\tconst params = props.initParam ?? {};\n\t\t\t\ttry {\n\t\t\t\t\tconst resData = await props.requestApi(params);\n\t\t\t\t\t// 这里不允许回显了\n\t\t\t\t\tstate.echo = false;\n\t\t\t\t\tstate.selectorData = handleData(resData);\n\t\t\t\t\temit(\"dataChangeCallBack\", state.selectorData);\n\t\t\t\t} catch (error) {\n\t\t\t\t\tconsoleError(\"FaSelect\", error);\n\t\t\t\t\tstate.selectorData = [];\n\t\t\t\t} finally {\n\t\t\t\t\tstate.loading = false;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tstate.selectorData = handleData(props.data);\n\t\t\t}\n\t\t};\n\n\t\tconst handleChange = (value?: string | number | boolean | object | (string | number | boolean | object)[]): void => {\n\t\t\t// 判断是否为多选\n\t\t\tif (props.multiple) {\n\t\t\t\t// value 必然是数组\n\t\t\t\tconst valueArr = value as (string | number | boolean | object)[];\n\t\t\t\tif (valueArr?.length === 0) {\n\t\t\t\t\tstate.value = null;\n\t\t\t\t\tselectedLabel.value = null;\n\t\t\t\t\temit(\"update:modelValue\", null);\n\t\t\t\t\temit(\"change\", null, null);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst dataList = state.selectorData.filter((f) => valueArr.includes(f.value));\n\t\t\t\tstate.value = value;\n\t\t\t\tselectedLabel.value = dataList.map((m) => m.label);\n\t\t\t\temit(\"update:modelValue\", value);\n\t\t\t\temit(\"change\", dataList, value);\n\t\t\t} else {\n\t\t\t\t// value 必然不是数组\n\t\t\t\tif (isNil(value)) {\n\t\t\t\t\tstate.value = null;\n\t\t\t\t\tselectedLabel.value = null;\n\t\t\t\t\temit(\"update:modelValue\", null);\n\t\t\t\t\temit(\"change\", null, null);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst data = state.selectorData.find((f) => f.value === value);\n\t\t\t\tstate.value = value;\n\t\t\t\tselectedLabel.value = data.label;\n\t\t\t\temit(\"update:modelValue\", value);\n\t\t\t\temit(\"change\", data, value);\n\t\t\t}\n\t\t};\n\n\t\tconst handleClear = (): void => {\n\t\t\tstate.value = null;\n\t\t\tselectedLabel.value = null;\n\t\t\temit(\"clear\");\n\t\t};\n\n\t\tconst handleVisibleChange = async (visible: boolean): Promise<void> => {\n\t\t\tif (visible) {\n\t\t\t\tif (state.debut) {\n\t\t\t\t\t// 首次出现\n\t\t\t\t\tstate.debut = false;\n\t\t\t\t\t// 懒加载\n\t\t\t\t\t!props.defaultSelected && props.lazy && (await loadData());\n\t\t\t\t} else {\n\t\t\t\t\t// 判断再次出现是否需要刷新数据\n\t\t\t\t\tif (state.nextRefresh) {\n\t\t\t\t\t\tstate.nextRefresh = false;\n\t\t\t\t\t\tawait loadData();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\temit(\"visibleChange\", visible);\n\t\t};\n\n\t\twatch(\n\t\t\t() => props.modelValue,\n\t\t\t(newValue) => {\n\t\t\t\tif (state.echo && !isNil(newValue)) {\n\t\t\t\t\tconst hasLabel = !isNil(props.label);\n\t\t\t\t\t// 判断是否为多选\n\t\t\t\t\tif (props.multiple) {\n\t\t\t\t\t\t// 判断是否为数组\n\t\t\t\t\t\tif (!isArray(newValue)) {\n\t\t\t\t\t\t\tconsoleError(\"FaSelect\", \"当启用 multiple 时,传入的 modelValue 必须是Array。\");\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (hasLabel && !isArray(props.label)) {\n\t\t\t\t\t\t\tconsoleError(\"FaSelect\", \"当启用 multiple 时,传入的 modelValue:label 必须是Array。\");\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tstate.selectorData = newValue\n\t\t\t\t\t\t\t// 最大选项截取\n\t\t\t\t\t\t\t.slice(0, props.multipleLimit > 0 ? props.multipleLimit : newValue.length)\n\t\t\t\t\t\t\t.map((item, index) => ({\n\t\t\t\t\t\t\t\tvalue: item,\n\t\t\t\t\t\t\t\tlabel: hasLabel ? props.label[index] : undefined,\n\t\t\t\t\t\t\t}));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (isArray(newValue)) {\n\t\t\t\t\t\t\tconsoleError(\"FaSelect\", \"当禁用 multiple 时,传入的 modelValue 不能是Array。\");\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (hasLabel && isArray(props.label)) {\n\t\t\t\t\t\t\tconsoleError(\"FaSelect\", \"当禁用 multiple 时,传入的 modelValue:label 不能是Array。\");\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tstate.selectorData = [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tvalue: newValue,\n\t\t\t\t\t\t\t\tlabel: props.label,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tstate.value = newValue;\n\t\t\t},\n\t\t\t{\n\t\t\t\timmediate: true,\n\t\t\t}\n\t\t);\n\n\t\tonMounted(async () => {\n\t\t\tif (props.defaultSelected) {\n\t\t\t\tawait loadData();\n\t\t\t\tif (state.selectorData.length > 0) {\n\t\t\t\t\thandleChange(props.multiple ? [state.selectorData[0].value] : state.selectorData[0].value);\n\t\t\t\t}\n\t\t\t}\n\t\t\t// 判断是否为本地数据\n\t\t\telse if (!props.requestApi && props.data?.length > 0) {\n\t\t\t\tstate.debut = false;\n\t\t\t\tawait loadData();\n\t\t\t}\n\t\t\t// 判断是否非默认选中,且未启用懒加载\n\t\t\telse if (!props.lazy) {\n\t\t\t\tawait loadData();\n\t\t\t}\n\t\t\twatch(\n\t\t\t\t() => props.initParam,\n\t\t\t\t(newValue, oldValue) => {\n\t\t\t\t\tif (!isEqual(newValue, oldValue)) {\n\t\t\t\t\t\tstate.nextRefresh = true;\n\t\t\t\t\t\tif (!isNil(state.value)) {\n\t\t\t\t\t\t\thandleChange();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t);\n\t\t\twatch(\n\t\t\t\t() => props.data,\n\t\t\t\tasync () => {\n\t\t\t\t\tif (!props.requestApi) {\n\t\t\t\t\t\tawait loadData();\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{ deep: true }\n\t\t\t);\n\t\t});\n\n\t\tconst elSelectProps = useProps(props, SelectProps, [\"modelValue\", \"popperClass\", \"loading\"]);\n\n\t\tuseRender(() => (\n\t\t\t<ElSelect\n\t\t\t\t{...elSelectProps.value}\n\t\t\t\tref={selectRef}\n\t\t\t\tclass=\"fa-select\"\n\t\t\t\tpopperClass={`fa-select-dropdown ${props.popperClass}`}\n\t\t\t\tstyle={{ width: addUnit(props.width) }}\n\t\t\t\tvModel={state.value}\n\t\t\t\tloading={state.loading}\n\t\t\t\tonChange={handleChange}\n\t\t\t\tonClear={handleClear}\n\t\t\t\tonVisibleChange={handleVisibleChange}\n\t\t\t\tonRemoveTag={(tagValue: any) => emit(\"removeTag\", tagValue)}\n\t\t\t\tonBlur={(event: FocusEvent) => emit(\"blur\", event)}\n\t\t\t\tonFocus={(event: FocusEvent) => emit(\"focus\", event)}\n\t\t\t>\n\t\t\t\t{{\n\t\t\t\t\tdefault: (): VNode[] =>\n\t\t\t\t\t\tstate.selectorData.map((item) => (\n\t\t\t\t\t\t\t<FaSelectOption vSlots={{ default: slots.default }} data={item} moreDetail={props.moreDetail} />\n\t\t\t\t\t\t)),\n\t\t\t\t\t...(slots.header && { header: (): VNode[] => slots.header() }),\n\t\t\t\t\t...(slots.footer && { footer: (): VNode[] => slots.footer() }),\n\t\t\t\t\t...(slots.prefix && { prefix: (): VNode[] => slots.prefix() }),\n\t\t\t\t\t...(slots.empty && { empty: (): VNode[] => slots.empty() }),\n\t\t\t\t\t...(slots.tag && { tag: (): VNode[] => slots.tag() }),\n\t\t\t\t\t...(slots.loading && { loading: (): VNode[] => slots.loading() }),\n\t\t\t\t\t...(slots.label && {\n\t\t\t\t\t\tlabel: ({ label, value }: { label: string; value: string | number | boolean | object }): VNode[] =>\n\t\t\t\t\t\t\tslots.label({ label, value }),\n\t\t\t\t\t}),\n\t\t\t\t}}\n\t\t\t</ElSelect>\n\t\t));\n\n\t\treturn useExpose(expose, {\n\t\t\t/** @description 使选择器的输入框获取焦点 */\n\t\t\tfocus: computed(() => selectRef.value?.focus),\n\t\t\t/** @description 使选择器的输入框失去焦点,并隐藏下拉框 */\n\t\t\tblur: computed(() => selectRef.value?.blur),\n\t\t\t/** @description 获取当前选中的标签 */\n\t\t\tselectedLabel: computed(() => selectRef.value?.selectedLabel),\n\t\t\t/** @description 加载状态 */\n\t\t\tloading: computed(() => state.loading),\n\t\t\t/** @description 刷新 */\n\t\t\trefresh: loadData,\n\t\t\t/** @description 设置选择 */\n\t\t\tsetSelection: (value: string | number | boolean | object | (string | number | boolean | object)[]) => handleChange(value),\n\t\t\t/** @description 清除选择 */\n\t\t\tclearSelection: () => handleChange(null),\n\t\t});\n\t},\n});\n"],"names":["SelectProps","name","String","id","modelValue","type","Array","Number","Boolean","Object","default","undefined","autocomplete","automaticDropdown","size","useSizeProp","effect","definePropType","disabled","clearable","filterable","allowCreate","loading","popperClass","popperOptions","remote","loadingText","noMatchText","noDataText","remoteMethod","Function","filterMethod","multiple","multipleLimit","placeholder","defaultFirstOption","reserveKeyword","valueKey","collapseTags","collapseTagsTooltip","maxCollapseTags","teleported","useTooltipContentProps","persistent","clearIcon","CircleClose","fitInputWidth","suffixIcon","ArrowDown","tagType","tagProps","tagEffect","validateEvent","remoteShowSuffix","placement","fallbackPlacements","useEmptyValuesProps","useAriaProps","faSelectProps","label","width","moreDetail","lazy","defaultSelected","props","hide","children","data","requestApi","initParam","faSelectEmits","value","isString","isNumber","isBoolean","isObject","isArray","isNull","dataChangeCallBack","change","visibleChange","visible","removeTag","tagValue","clear","blur","event","FocusEvent","focus","Select","emits","slots","makeSlots","setup","attrs","emit","expose","selectedLabel","useVModel","passive","state","reactive","withDefineType","selectorData","debut","echo","length","nextRefresh","selectRef","ref","handleData","map","m","isFunction","filter","f","loadData","async","params","resData","error","consoleError","handleChange","valueArr","dataList","includes","isNil","find","handleClear","handleVisibleChange","watch","newValue","hasLabel","slice","item","index","immediate","onMounted","oldValue","isEqual","deep","elSelectProps","useProps","useRender","_createVNode","ElSelect","_mergeProps","class","style","addUnit","$event","onChange","onClear","onVisibleChange","onRemoveTag","onBlur","onFocus","FaSelectOption","header","footer","prefix","empty","tag","useExpose","computed","refresh","setSelection","clearSelection"],"mappings":"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"}
1
+ {"version":3,"file":"select.js","sources":["../../../../../packages/components/select/src/select.tsx"],"sourcesContent":["import { computed, defineComponent, onMounted, reactive, ref, watch } from \"vue\";\nimport { ElSelect, tagProps, useAriaProps, useEmptyValuesProps, useSizeProp, useTooltipContentProps } from \"element-plus\";\nimport { ArrowDown, CircleClose } from \"@element-plus/icons-vue\";\nimport { addUnit, consoleError, definePropType, makeSlots, useExpose, useProps, useRender, withDefineType } from \"@fast-china/utils\";\nimport { useVModel } from \"@vueuse/core\";\nimport { isArray, isBoolean, isEqual, isFunction, isNil, isNull, isNumber, isObject, isString } from \"lodash-unified\";\nimport FaSelectOption from \"./selectOption\";\nimport type { ElSelectorOutput } from \"./select.type\";\nimport type { Options, Placement, PopperEffect } from \"element-plus\";\nimport type { Component, VNode } from \"vue\";\n\nexport const SelectProps = {\n\t/**\n\t * @description the name attribute of select input\n\t */\n\tname: String,\n\t/**\n\t * @description native input id\n\t */\n\tid: String,\n\t/**\n\t * @description binding value\n\t */\n\tmodelValue: {\n\t\ttype: [Array, String, Number, Boolean, Object],\n\t\tdefault: undefined,\n\t},\n\t/**\n\t * @description the autocomplete attribute of select input\n\t */\n\tautocomplete: {\n\t\ttype: String,\n\t\tdefault: \"off\",\n\t},\n\t/**\n\t * @description for non-filterable Select, this prop decides if the option menu pops up when the input is focused\n\t */\n\tautomaticDropdown: Boolean,\n\t/**\n\t * @description size of Input\n\t */\n\tsize: useSizeProp,\n\t/**\n\t * @description tooltip theme, built-in theme: `dark` / `light`\n\t */\n\teffect: {\n\t\ttype: definePropType<PopperEffect | string>(String),\n\t\tdefault: \"light\",\n\t},\n\t/**\n\t * @description whether Select is disabled\n\t */\n\tdisabled: Boolean,\n\t/**\n\t * @description whether select can be cleared\n\t */\n\tclearable: Boolean,\n\t/**\n\t * @description whether Select is filterable\n\t */\n\tfilterable: Boolean,\n\t/**\n\t * @description whether creating new items is allowed. To use this, `filterable` must be true\n\t */\n\tallowCreate: Boolean,\n\t/**\n\t * @description whether Select is loading data from server\n\t */\n\tloading: Boolean,\n\t/**\n\t * @description custom class name for Select's dropdown\n\t */\n\tpopperClass: {\n\t\ttype: String,\n\t\tdefault: \"\",\n\t},\n\t/**\n\t * @description [popper.js](https://popper.js.org/docs/v2/) parameters\n\t */\n\tpopperOptions: {\n\t\ttype: definePropType<Partial<Options>>(Object),\n\t\tdefault: (): Partial<Options> => ({}),\n\t},\n\t/**\n\t * @description whether options are loaded from server\n\t */\n\tremote: Boolean,\n\t/**\n\t * @description displayed text while loading data from server, default is 'Loading'\n\t */\n\tloadingText: String,\n\t/**\n\t * @description displayed text when no data matches the filtering query, you can also use slot `empty`, default is 'No matching data'\n\t */\n\tnoMatchText: String,\n\t/**\n\t * @description displayed text when there is no options, you can also use slot `empty`, default is 'No data'\n\t */\n\tnoDataText: String,\n\t/**\n\t * @description custom remote search method\n\t */\n\tremoteMethod: Function,\n\t/**\n\t * @description custom filter method\n\t */\n\tfilterMethod: Function,\n\t/**\n\t * @description whether multiple-select is activated\n\t */\n\tmultiple: Boolean,\n\t/**\n\t * @description maximum number of options user can select when `multiple` is `true`. No limit when set to 0\n\t */\n\tmultipleLimit: {\n\t\ttype: Number,\n\t\tdefault: 0,\n\t},\n\t/**\n\t * @description placeholder, default is 'Select'\n\t */\n\tplaceholder: {\n\t\ttype: String,\n\t},\n\t/**\n\t * @description select first matching option on enter key. Use with `filterable` or `remote`\n\t */\n\tdefaultFirstOption: Boolean,\n\t/**\n\t * @description when `multiple` and `filter` is true, whether to reserve current keyword after selecting an option\n\t */\n\treserveKeyword: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/**\n\t * @description unique identity key name for value, required when value is an object\n\t */\n\tvalueKey: {\n\t\ttype: String,\n\t\tdefault: \"value\",\n\t},\n\t/**\n\t * @description whether to collapse tags to a text when multiple selecting\n\t */\n\tcollapseTags: Boolean,\n\t/**\n\t * @description whether show all selected tags when mouse hover text of collapse-tags. To use this, `collapse-tags` must be true\n\t */\n\tcollapseTagsTooltip: Boolean,\n\t/**\n\t * @description the max tags number to be shown. To use this, `collapse-tags` must be true\n\t */\n\tmaxCollapseTags: {\n\t\ttype: Number,\n\t\tdefault: 1,\n\t},\n\t/**\n\t * @description whether select dropdown is teleported to the body\n\t */\n\tteleported: useTooltipContentProps.teleported,\n\t/**\n\t * @description when select dropdown is inactive and `persistent` is `false`, select dropdown will be destroyed\n\t */\n\tpersistent: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/**\n\t * @description custom clear icon component\n\t */\n\tclearIcon: {\n\t\ttype: definePropType<string | Component>([String, Object, Function]),\n\t\tdefault: CircleClose,\n\t},\n\t/**\n\t * @description whether the width of the dropdown is the same as the input\n\t */\n\tfitInputWidth: Boolean,\n\t/**\n\t * @description custom suffix icon component\n\t */\n\tsuffixIcon: {\n\t\ttype: definePropType<string | Component>([String, Object, Function]),\n\t\tdefault: ArrowDown,\n\t},\n\t/**\n\t * @description tag type\n\t */\n\n\ttagType: { ...tagProps.type, default: \"info\" },\n\t/**\n\t * @description tag effect\n\t */\n\ttagEffect: { ...tagProps.effect, default: \"light\" },\n\t/**\n\t * @description whether to trigger form validation\n\t */\n\tvalidateEvent: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/**\n\t * @description in remote search method show suffix icon\n\t */\n\tremoteShowSuffix: Boolean,\n\t/**\n\t * @description position of dropdown\n\t */\n\tplacement: {\n\t\ttype: definePropType<Placement>(String),\n\t\tdefault: \"bottom-start\",\n\t},\n\t/**\n\t * @description list of possible positions for dropdown\n\t */\n\tfallbackPlacements: {\n\t\ttype: definePropType<Placement[]>(Array),\n\t\tdefault: [\"bottom-start\", \"top-start\", \"right\", \"left\"],\n\t},\n\t...useEmptyValuesProps,\n\t...useAriaProps([\"ariaLabel\"]),\n};\n\nexport type SelectComponentProps = {\n\t/** @description 指定标签为节点的某个属性值 */\n\tlabel?: string | ((data: any) => string);\n\t/** @description 指定是否隐藏为节点的某个属性值 */\n\thide?: string | ((data: any) => boolean);\n\t/** @description 指定是否禁用为节点的某个属性值 */\n\tdisabled?: string | ((data: any) => boolean);\n\t/** @description 指定子节点对象为节点的某个属性值 */\n\tchildren?: string;\n};\n\nexport const faSelectProps = {\n\t...SelectProps,\n\t/** @description displayed text while loading data from server, default is 'Loading' */\n\tloadingText: {\n\t\ttype: String,\n\t\tdefault: \"加载中...\",\n\t},\n\t/** @description displayed text when no data matches the filtering query, you can also use slot `empty`, default is 'No matching data' */\n\tnoMatchText: {\n\t\ttype: String,\n\t\tdefault: \"暂无匹配的数据\",\n\t},\n\t/** @description displayed text when there is no options, you can also use slot `empty`, default is 'No data' */\n\tnoDataText: {\n\t\ttype: String,\n\t\tdefault: \"暂无数据\",\n\t},\n\t/** @description whether to collapse tags to a text when multiple selecting */\n\tcollapseTags: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description whether show all selected tags when mouse hover text of collapse-tags. To use this, `collapse-tags` must be true */\n\tcollapseTagsTooltip: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description v-model绑定值 */\n\tmodelValue: {\n\t\ttype: definePropType<string | number | boolean | object | (string | number | boolean | object)[]>([String, Number, Boolean, Object, Array]),\n\t\tdefault: undefined,\n\t},\n\t/** @description v-model:label绑定值 */\n\tlabel: definePropType<string | string[]>([String, Array]),\n\t/** @description 宽度 */\n\twidth: {\n\t\ttype: [String, Number],\n\t\tdefault: \"100%\",\n\t},\n\t/** @description 更多细节,只有使用slot的时候有用 */\n\tmoreDetail: Boolean,\n\t/** @description 懒加载远程数据,默认 true。当下拉框第一次显示的时候才会加载远程数据*/\n\tlazy: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 默认选中。不能和懒加载一起使用 */\n\tdefaultSelected: Boolean,\n\t/** @description 配置选项 */\n\tprops: {\n\t\ttype: definePropType<SelectComponentProps>(Object),\n\t\tdefault: (): Partial<SelectComponentProps> => ({\n\t\t\tlabel: \"label\",\n\t\t\thide: \"hide\",\n\t\t\tdisabled: \"disabled\",\n\t\t\tchildren: \"children\",\n\t\t}),\n\t},\n\t/** @description 下拉框数据 */\n\tdata: {\n\t\ttype: definePropType<ElSelectorOutput[]>(Array),\n\t\tdefault: (): ElSelectorOutput[] => [],\n\t},\n\t/** @description 请求api */\n\trequestApi: {\n\t\ttype: definePropType<(params?: any) => Promise<ElSelectorOutput[]>>(Function),\n\t},\n\t/** 初始化参数 */\n\tinitParam: definePropType<string | number | any>([String, Number, Object]),\n};\n\nexport const faSelectEmits = {\n\t/** @description v-model 回调 */\n\t\"update:modelValue\": (value: string | number | boolean | object | (string | number | boolean | object)[]): boolean =>\n\t\tisString(value) || isNumber(value) || isBoolean(value) || isObject(value) || isArray(value) || isNull(value),\n\t/** @description v-model:label 回调 */\n\t\"update:label\": (value: string | string[]): boolean => isString(value) || isArray(value) || isNull(value),\n\t/** @description 数据改变 */\n\tdataChangeCallBack: (data: ElSelectorOutput[] | any[]): boolean => isArray(data),\n\t/** @description 改变 */\n\tchange: (\n\t\tdata: ElSelectorOutput | ElSelectorOutput[] | any | any[],\n\t\tvalue?: string | number | boolean | object | (string | number | boolean | object)[]\n\t): boolean =>\n\t\t(isObject(data) || isArray(data) || isNull(data)) &&\n\t\t(isString(value) || isNumber(value) || isBoolean(value) || isObject(value) || isArray(value) || isNull(value)),\n\t/** @description 下拉框出现/隐藏时触发 */\n\tvisibleChange: (visible: boolean): boolean => isBoolean(visible),\n\t/** @description 多选模式下移除tag时触发 */\n\tremoveTag: (tagValue: any): boolean => isString(tagValue) || isNumber(tagValue) || isBoolean(tagValue) || isObject(tagValue) || isArray(tagValue),\n\t/** @description 可清空的单选模式下用户点击清空按钮时触发 */\n\tclear: (): boolean => true,\n\t/** @description 当 input 失去焦点时触发 */\n\tblur: (event: FocusEvent): boolean => event instanceof FocusEvent,\n\t/** @description 当 input 获得焦点时触发 */\n\tfocus: (event: FocusEvent): boolean => event instanceof FocusEvent,\n};\n\ntype FaSelectSlots = {\n\t/** @description FaSelectOption 默认内容插槽 */\n\tdefault: ElSelectorOutput;\n\t/** @description 下拉列表顶部的内容 */\n\theader: never;\n\t/** @description 下拉列表底部的内容 */\n\tfooter: never;\n\t/** @description Select 组件头部内容 */\n\tprefix: never;\n\t/** @description 无选项时的列表 */\n\tempty: never;\n\t/** @description select 组件自定义标签内容 */\n\ttag: never;\n\t/** @description select 组件自定义 loading内容 */\n\tloading: never;\n\t/** @description select 组件自定义标签内容 */\n\tlabel: { label: string; value: string | number | boolean | object };\n};\n\nexport default defineComponent({\n\tname: \"FaSelect\",\n\tprops: faSelectProps,\n\temits: faSelectEmits,\n\tslots: makeSlots<FaSelectSlots>(),\n\tsetup(props, { attrs, slots, emit, expose }) {\n\t\tconst selectedLabel = useVModel(props, \"label\", emit, { passive: true });\n\n\t\tconst state = reactive({\n\t\t\tvalue: withDefineType<string | number | boolean | object | (string | number | boolean | object)[]>(),\n\t\t\tloading: false,\n\t\t\tselectorData: withDefineType<ElSelectorOutput[]>([]),\n\t\t\t/** 首次出现 */\n\t\t\tdebut: true,\n\t\t\t/** 回显 */\n\t\t\techo: props.data?.length > 0 ? false : true,\n\t\t\t/** 下次刷新 */\n\t\t\tnextRefresh: false,\n\t\t});\n\n\t\tconst selectRef = ref<InstanceType<typeof ElSelect>>();\n\n\t\tconst handleData = (data: ElSelectorOutput[]): ElSelectorOutput[] => {\n\t\t\treturn data\n\t\t\t\t?.map((m) => ({\n\t\t\t\t\t...m,\n\t\t\t\t\tvalue: m[props.valueKey],\n\t\t\t\t\tlabel: isFunction(props.props.label) ? props.props.label(m) : m[props.props.label ?? \"label\"],\n\t\t\t\t\thide: isFunction(props.props.hide) ? props.props.hide(m) : m[props.props.hide ?? \"hide\"],\n\t\t\t\t\tdisabled: isFunction(props.props.disabled) ? props.props.disabled(m) : m[props.props.disabled ?? \"disabled\"],\n\t\t\t\t\tchildren: isFunction(props.props.children)\n\t\t\t\t\t\t? handleData(props.props.children(m))\n\t\t\t\t\t\t: handleData(m[props.props.children ?? \"children\"]),\n\t\t\t\t}))\n\t\t\t\t.filter((f) => !f.hide);\n\t\t};\n\n\t\tconst loadData = async (): Promise<void> => {\n\t\t\t// 判断是否需要自动请求\n\t\t\tif (props.requestApi) {\n\t\t\t\tstate.loading = true;\n\t\t\t\tconst params = props.initParam ?? {};\n\t\t\t\ttry {\n\t\t\t\t\tconst resData = await props.requestApi(params);\n\t\t\t\t\t// 这里不允许回显了\n\t\t\t\t\tstate.echo = false;\n\t\t\t\t\tstate.selectorData = handleData(resData);\n\t\t\t\t\temit(\"dataChangeCallBack\", state.selectorData);\n\t\t\t\t} catch (error) {\n\t\t\t\t\tconsoleError(\"FaSelect\", error);\n\t\t\t\t\tstate.selectorData = [];\n\t\t\t\t} finally {\n\t\t\t\t\tstate.loading = false;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// 这里不允许回显了\n\t\t\t\tstate.echo = false;\n\t\t\t\tstate.selectorData = handleData(props.data);\n\t\t\t}\n\t\t};\n\n\t\tconst handleChange = (value?: string | number | boolean | object | (string | number | boolean | object)[]): void => {\n\t\t\t// 判断是否为多选\n\t\t\tif (props.multiple) {\n\t\t\t\t// value 必然是数组\n\t\t\t\tconst valueArr = value as (string | number | boolean | object)[];\n\t\t\t\tif (valueArr?.length === 0) {\n\t\t\t\t\tstate.value = null;\n\t\t\t\t\tselectedLabel.value = null;\n\t\t\t\t\temit(\"update:modelValue\", null);\n\t\t\t\t\temit(\"change\", null, null);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst dataList = state.selectorData.filter((f) => valueArr.includes(f.value));\n\t\t\t\tstate.value = value;\n\t\t\t\tselectedLabel.value = dataList.map((m) => m.label);\n\t\t\t\temit(\"update:modelValue\", value);\n\t\t\t\temit(\"change\", dataList, value);\n\t\t\t} else {\n\t\t\t\t// value 必然不是数组\n\t\t\t\tif (isNil(value)) {\n\t\t\t\t\tstate.value = null;\n\t\t\t\t\tselectedLabel.value = null;\n\t\t\t\t\temit(\"update:modelValue\", null);\n\t\t\t\t\temit(\"change\", null, null);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst data = state.selectorData.find((f) => f.value === value);\n\t\t\t\tstate.value = value;\n\t\t\t\tselectedLabel.value = data.label;\n\t\t\t\temit(\"update:modelValue\", value);\n\t\t\t\temit(\"change\", data, value);\n\t\t\t}\n\t\t};\n\n\t\tconst handleClear = (): void => {\n\t\t\tstate.value = null;\n\t\t\tselectedLabel.value = null;\n\t\t\temit(\"clear\");\n\t\t};\n\n\t\tconst handleVisibleChange = async (visible: boolean): Promise<void> => {\n\t\t\tif (visible) {\n\t\t\t\tif (state.debut) {\n\t\t\t\t\t// 首次出现\n\t\t\t\t\tstate.debut = false;\n\t\t\t\t\t// 懒加载\n\t\t\t\t\t!props.defaultSelected && props.lazy && (await loadData());\n\t\t\t\t} else {\n\t\t\t\t\t// 判断再次出现是否需要刷新数据\n\t\t\t\t\tif (state.nextRefresh) {\n\t\t\t\t\t\tstate.nextRefresh = false;\n\t\t\t\t\t\tawait loadData();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\temit(\"visibleChange\", visible);\n\t\t};\n\n\t\twatch(\n\t\t\t() => props.modelValue,\n\t\t\t(newValue) => {\n\t\t\t\tif (state.echo && !isNil(newValue)) {\n\t\t\t\t\tconst hasLabel = !isNil(props.label);\n\t\t\t\t\t// 判断是否为多选\n\t\t\t\t\tif (props.multiple) {\n\t\t\t\t\t\t// 判断是否为数组\n\t\t\t\t\t\tif (!isArray(newValue)) {\n\t\t\t\t\t\t\tconsoleError(\"FaSelect\", \"当启用 multiple 时,传入的 modelValue 必须是Array。\");\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (hasLabel && !isArray(props.label)) {\n\t\t\t\t\t\t\tconsoleError(\"FaSelect\", \"当启用 multiple 时,传入的 modelValue:label 必须是Array。\");\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tstate.selectorData = newValue\n\t\t\t\t\t\t\t// 最大选项截取\n\t\t\t\t\t\t\t.slice(0, props.multipleLimit > 0 ? props.multipleLimit : newValue.length)\n\t\t\t\t\t\t\t.map((item, index) => ({\n\t\t\t\t\t\t\t\tvalue: item,\n\t\t\t\t\t\t\t\tlabel: hasLabel ? props.label[index] : undefined,\n\t\t\t\t\t\t\t}));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (isArray(newValue)) {\n\t\t\t\t\t\t\tconsoleError(\"FaSelect\", \"当禁用 multiple 时,传入的 modelValue 不能是Array。\");\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (hasLabel && isArray(props.label)) {\n\t\t\t\t\t\t\tconsoleError(\"FaSelect\", \"当禁用 multiple 时,传入的 modelValue:label 不能是Array。\");\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tstate.selectorData = [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tvalue: newValue,\n\t\t\t\t\t\t\t\tlabel: props.label,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tstate.value = newValue;\n\t\t\t},\n\t\t\t{\n\t\t\t\timmediate: true,\n\t\t\t}\n\t\t);\n\n\t\tonMounted(async () => {\n\t\t\tif (props.defaultSelected) {\n\t\t\t\tawait loadData();\n\t\t\t\tif (state.selectorData.length > 0) {\n\t\t\t\t\thandleChange(props.multiple ? [state.selectorData[0].value] : state.selectorData[0].value);\n\t\t\t\t}\n\t\t\t}\n\t\t\t// 判断是否为本地数据\n\t\t\telse if (!props.requestApi && props.data?.length > 0) {\n\t\t\t\tstate.debut = false;\n\t\t\t\tawait loadData();\n\t\t\t}\n\t\t\t// 判断是否非默认选中,且未启用懒加载\n\t\t\telse if (!props.lazy) {\n\t\t\t\tawait loadData();\n\t\t\t}\n\t\t\twatch(\n\t\t\t\t() => props.initParam,\n\t\t\t\t(newValue, oldValue) => {\n\t\t\t\t\tif (!isEqual(newValue, oldValue)) {\n\t\t\t\t\t\tstate.nextRefresh = true;\n\t\t\t\t\t\tif (!isNil(state.value)) {\n\t\t\t\t\t\t\thandleChange();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t);\n\t\t\twatch(\n\t\t\t\t() => props.data,\n\t\t\t\tasync () => {\n\t\t\t\t\tif (!props.requestApi) {\n\t\t\t\t\t\tawait loadData();\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{ deep: true }\n\t\t\t);\n\t\t});\n\n\t\tconst elSelectProps = useProps(props, SelectProps, [\"modelValue\", \"popperClass\", \"loading\"]);\n\n\t\tuseRender(() => (\n\t\t\t<ElSelect\n\t\t\t\t{...elSelectProps.value}\n\t\t\t\tref={selectRef}\n\t\t\t\tclass=\"fa-select\"\n\t\t\t\tpopperClass={`fa-select-dropdown ${props.popperClass}`}\n\t\t\t\tstyle={{ width: addUnit(props.width) }}\n\t\t\t\tvModel={state.value}\n\t\t\t\tloading={state.loading}\n\t\t\t\tonChange={handleChange}\n\t\t\t\tonClear={handleClear}\n\t\t\t\tonVisibleChange={handleVisibleChange}\n\t\t\t\tonRemoveTag={(tagValue: any) => emit(\"removeTag\", tagValue)}\n\t\t\t\tonBlur={(event: FocusEvent) => emit(\"blur\", event)}\n\t\t\t\tonFocus={(event: FocusEvent) => emit(\"focus\", event)}\n\t\t\t>\n\t\t\t\t{{\n\t\t\t\t\tdefault: (): VNode[] =>\n\t\t\t\t\t\tstate.selectorData.map((item) => (\n\t\t\t\t\t\t\t<FaSelectOption vSlots={{ default: slots.default }} data={item} moreDetail={props.moreDetail} />\n\t\t\t\t\t\t)),\n\t\t\t\t\t...(slots.header && { header: (): VNode[] => slots.header() }),\n\t\t\t\t\t...(slots.footer && { footer: (): VNode[] => slots.footer() }),\n\t\t\t\t\t...(slots.prefix && { prefix: (): VNode[] => slots.prefix() }),\n\t\t\t\t\t...(slots.empty && { empty: (): VNode[] => slots.empty() }),\n\t\t\t\t\t...(slots.tag && { tag: (): VNode[] => slots.tag() }),\n\t\t\t\t\t...(slots.loading && { loading: (): VNode[] => slots.loading() }),\n\t\t\t\t\t...(slots.label && {\n\t\t\t\t\t\tlabel: ({ label, value }: { label: string; value: string | number | boolean | object }): VNode[] =>\n\t\t\t\t\t\t\tslots.label({ label, value }),\n\t\t\t\t\t}),\n\t\t\t\t}}\n\t\t\t</ElSelect>\n\t\t));\n\n\t\treturn useExpose(expose, {\n\t\t\t/** @description 使选择器的输入框获取焦点 */\n\t\t\tfocus: computed(() => selectRef.value?.focus),\n\t\t\t/** @description 使选择器的输入框失去焦点,并隐藏下拉框 */\n\t\t\tblur: computed(() => selectRef.value?.blur),\n\t\t\t/** @description 获取当前选中的标签 */\n\t\t\tselectedLabel: computed(() => selectRef.value?.selectedLabel),\n\t\t\t/** @description 加载状态 */\n\t\t\tloading: computed(() => state.loading),\n\t\t\t/** @description 刷新 */\n\t\t\trefresh: loadData,\n\t\t\t/** @description 设置选择 */\n\t\t\tsetSelection: (value: string | number | boolean | object | (string | number | boolean | object)[]) => handleChange(value),\n\t\t\t/** @description 清除选择 */\n\t\t\tclearSelection: () => handleChange(null),\n\t\t});\n\t},\n});\n"],"names":["SelectProps","name","String","id","modelValue","type","Array","Number","Boolean","Object","default","undefined","autocomplete","automaticDropdown","size","useSizeProp","effect","definePropType","disabled","clearable","filterable","allowCreate","loading","popperClass","popperOptions","remote","loadingText","noMatchText","noDataText","remoteMethod","Function","filterMethod","multiple","multipleLimit","placeholder","defaultFirstOption","reserveKeyword","valueKey","collapseTags","collapseTagsTooltip","maxCollapseTags","teleported","useTooltipContentProps","persistent","clearIcon","CircleClose","fitInputWidth","suffixIcon","ArrowDown","tagType","tagProps","tagEffect","validateEvent","remoteShowSuffix","placement","fallbackPlacements","useEmptyValuesProps","useAriaProps","faSelectProps","label","width","moreDetail","lazy","defaultSelected","props","hide","children","data","requestApi","initParam","faSelectEmits","value","isString","isNumber","isBoolean","isObject","isArray","isNull","dataChangeCallBack","change","visibleChange","visible","removeTag","tagValue","clear","blur","event","FocusEvent","focus","Select","emits","slots","makeSlots","setup","attrs","emit","expose","selectedLabel","useVModel","passive","state","reactive","withDefineType","selectorData","debut","echo","length","nextRefresh","selectRef","ref","handleData","map","m","isFunction","filter","f","loadData","async","params","resData","error","consoleError","handleChange","valueArr","dataList","includes","isNil","find","handleClear","handleVisibleChange","watch","newValue","hasLabel","slice","item","index","immediate","onMounted","oldValue","isEqual","deep","elSelectProps","useProps","useRender","_createVNode","ElSelect","_mergeProps","class","style","addUnit","$event","onChange","onClear","onVisibleChange","onRemoveTag","onBlur","onFocus","FaSelectOption","header","footer","prefix","empty","tag","useExpose","computed","refresh","setSelection","clearSelection"],"mappings":"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"}
@@ -54,14 +54,7 @@ export declare const faSelectPageProps: {
54
54
  initParam: import('vue').PropType<any>;
55
55
  ariaLabel: StringConstructor;
56
56
  emptyValues: ArrayConstructor;
57
- valueOnClear: {
58
- readonly type: import('vue').PropType<string | number | boolean | Function>;
59
- readonly required: false;
60
- readonly validator: ((val: unknown) => boolean) | undefined;
61
- __epPropKey: true;
62
- } & {
63
- readonly default: undefined;
64
- };
57
+ valueOnClear: import('element-plus/es/utils/index.mjs').EpPropFinalized<(new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null) | ((new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null))[], unknown, unknown, undefined, boolean>;
65
58
  name: StringConstructor;
66
59
  id: StringConstructor;
67
60
  autocomplete: {
@@ -70,7 +63,7 @@ export declare const faSelectPageProps: {
70
63
  };
71
64
  automaticDropdown: BooleanConstructor;
72
65
  size: {
73
- readonly type: import('vue').PropType<"" | "small" | "default" | "large">;
66
+ readonly type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "" | "small" | "default" | "large", never>>;
74
67
  readonly required: false;
75
68
  readonly validator: ((val: unknown) => boolean) | undefined;
76
69
  __epPropKey: true;
@@ -116,14 +109,7 @@ export declare const faSelectPageProps: {
116
109
  type: NumberConstructor;
117
110
  default: number;
118
111
  };
119
- teleported: {
120
- readonly type: import('vue').PropType<boolean>;
121
- readonly required: false;
122
- readonly validator: ((val: unknown) => boolean) | undefined;
123
- __epPropKey: true;
124
- } & {
125
- readonly default: true;
126
- };
112
+ teleported: import('element-plus/es/utils/index.mjs').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
127
113
  persistent: {
128
114
  type: BooleanConstructor;
129
115
  default: boolean;
@@ -139,14 +125,14 @@ export declare const faSelectPageProps: {
139
125
  };
140
126
  tagType: {
141
127
  default: string;
142
- type: import('vue').PropType<"primary" | "success" | "warning" | "info" | "danger">;
128
+ type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "primary" | "success" | "warning" | "info" | "danger", unknown>>;
143
129
  required: false;
144
130
  validator: ((val: unknown) => boolean) | undefined;
145
131
  __epPropKey: true;
146
132
  };
147
133
  tagEffect: {
148
134
  default: string;
149
- type: import('vue').PropType<"plain" | "dark" | "light">;
135
+ type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "plain" | "dark" | "light", unknown>>;
150
136
  required: false;
151
137
  validator: ((val: unknown) => boolean) | undefined;
152
138
  __epPropKey: true;
@@ -259,14 +245,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
259
245
  initParam: import('vue').PropType<any>;
260
246
  ariaLabel: StringConstructor;
261
247
  emptyValues: ArrayConstructor;
262
- valueOnClear: {
263
- readonly type: import('vue').PropType<string | number | boolean | Function>;
264
- readonly required: false;
265
- readonly validator: ((val: unknown) => boolean) | undefined;
266
- __epPropKey: true;
267
- } & {
268
- readonly default: undefined;
269
- };
248
+ valueOnClear: import('element-plus/es/utils/index.mjs').EpPropFinalized<(new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null) | ((new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null))[], unknown, unknown, undefined, boolean>;
270
249
  name: StringConstructor;
271
250
  id: StringConstructor;
272
251
  autocomplete: {
@@ -275,7 +254,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
275
254
  };
276
255
  automaticDropdown: BooleanConstructor;
277
256
  size: {
278
- readonly type: import('vue').PropType<"" | "small" | "default" | "large">;
257
+ readonly type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "" | "small" | "default" | "large", never>>;
279
258
  readonly required: false;
280
259
  readonly validator: ((val: unknown) => boolean) | undefined;
281
260
  __epPropKey: true;
@@ -321,14 +300,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
321
300
  type: NumberConstructor;
322
301
  default: number;
323
302
  };
324
- teleported: {
325
- readonly type: import('vue').PropType<boolean>;
326
- readonly required: false;
327
- readonly validator: ((val: unknown) => boolean) | undefined;
328
- __epPropKey: true;
329
- } & {
330
- readonly default: true;
331
- };
303
+ teleported: import('element-plus/es/utils/index.mjs').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
332
304
  persistent: {
333
305
  type: BooleanConstructor;
334
306
  default: boolean;
@@ -344,14 +316,14 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
344
316
  };
345
317
  tagType: {
346
318
  default: string;
347
- type: import('vue').PropType<"primary" | "success" | "warning" | "info" | "danger">;
319
+ type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "primary" | "success" | "warning" | "info" | "danger", unknown>>;
348
320
  required: false;
349
321
  validator: ((val: unknown) => boolean) | undefined;
350
322
  __epPropKey: true;
351
323
  };
352
324
  tagEffect: {
353
325
  default: string;
354
- type: import('vue').PropType<"plain" | "dark" | "light">;
326
+ type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "plain" | "dark" | "light", unknown>>;
355
327
  required: false;
356
328
  validator: ((val: unknown) => boolean) | undefined;
357
329
  __epPropKey: true;
@@ -466,14 +438,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
466
438
  initParam: import('vue').PropType<any>;
467
439
  ariaLabel: StringConstructor;
468
440
  emptyValues: ArrayConstructor;
469
- valueOnClear: {
470
- readonly type: import('vue').PropType<string | number | boolean | Function>;
471
- readonly required: false;
472
- readonly validator: ((val: unknown) => boolean) | undefined;
473
- __epPropKey: true;
474
- } & {
475
- readonly default: undefined;
476
- };
441
+ valueOnClear: import('element-plus/es/utils/index.mjs').EpPropFinalized<(new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null) | ((new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null))[], unknown, unknown, undefined, boolean>;
477
442
  name: StringConstructor;
478
443
  id: StringConstructor;
479
444
  autocomplete: {
@@ -482,7 +447,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
482
447
  };
483
448
  automaticDropdown: BooleanConstructor;
484
449
  size: {
485
- readonly type: import('vue').PropType<"" | "small" | "default" | "large">;
450
+ readonly type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "" | "small" | "default" | "large", never>>;
486
451
  readonly required: false;
487
452
  readonly validator: ((val: unknown) => boolean) | undefined;
488
453
  __epPropKey: true;
@@ -528,14 +493,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
528
493
  type: NumberConstructor;
529
494
  default: number;
530
495
  };
531
- teleported: {
532
- readonly type: import('vue').PropType<boolean>;
533
- readonly required: false;
534
- readonly validator: ((val: unknown) => boolean) | undefined;
535
- __epPropKey: true;
536
- } & {
537
- readonly default: true;
538
- };
496
+ teleported: import('element-plus/es/utils/index.mjs').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
539
497
  persistent: {
540
498
  type: BooleanConstructor;
541
499
  default: boolean;
@@ -551,14 +509,14 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
551
509
  };
552
510
  tagType: {
553
511
  default: string;
554
- type: import('vue').PropType<"primary" | "success" | "warning" | "info" | "danger">;
512
+ type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "primary" | "success" | "warning" | "info" | "danger", unknown>>;
555
513
  required: false;
556
514
  validator: ((val: unknown) => boolean) | undefined;
557
515
  __epPropKey: true;
558
516
  };
559
517
  tagEffect: {
560
518
  default: string;
561
- type: import('vue').PropType<"plain" | "dark" | "light">;
519
+ type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "plain" | "dark" | "light", unknown>>;
562
520
  required: false;
563
521
  validator: ((val: unknown) => boolean) | undefined;
564
522
  __epPropKey: true;
@@ -608,7 +566,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
608
566
  popperOptions: Options;
609
567
  popperClass: string;
610
568
  effect: string | (string & {});
611
- teleported: boolean;
569
+ teleported: import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>;
612
570
  width: string | number;
613
571
  persistent: boolean;
614
572
  fallbackPlacements: Placement[];
@@ -618,7 +576,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
618
576
  noDataText: string;
619
577
  collapseTags: boolean;
620
578
  collapseTagsTooltip: boolean;
621
- valueOnClear: string | number | boolean | Function;
579
+ valueOnClear: import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null) | ((new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null))[], unknown, unknown>;
622
580
  automaticDropdown: boolean;
623
581
  filterable: boolean;
624
582
  allowCreate: boolean;
@@ -630,8 +588,8 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
630
588
  valueKey: string;
631
589
  maxCollapseTags: number;
632
590
  fitInputWidth: boolean;
633
- tagType: "primary" | "success" | "warning" | "info" | "danger";
634
- tagEffect: "plain" | "dark" | "light";
591
+ tagType: import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "primary" | "success" | "warning" | "info" | "danger", unknown>;
592
+ tagEffect: import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "plain" | "dark" | "light", unknown>;
635
593
  remoteShowSuffix: boolean;
636
594
  }, import('vue').SlotsType<Partial<import('@fast-china/utils').MakeSlots<FaSelectPageSlots>>>, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
637
595
  export default _default;