vue-devui 1.0.0-rc.1 → 1.0.0-rc.4

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 (293) hide show
  1. package/README.md +132 -200
  2. package/auto-complete/index.es.js +150 -110
  3. package/auto-complete/index.umd.js +5 -1
  4. package/auto-complete/style.css +1 -1
  5. package/avatar/index.es.js +77 -81
  6. package/avatar/index.umd.js +1 -1
  7. package/button/index.es.js +23 -15
  8. package/button/index.umd.js +1 -1
  9. package/button/style.css +1 -1
  10. package/card/index.es.js +3 -6
  11. package/card/index.umd.js +1 -1
  12. package/checkbox/index.es.js +5 -11
  13. package/checkbox/index.umd.js +1 -1
  14. package/comment/index.es.js +4 -6
  15. package/comment/index.umd.js +1 -1
  16. package/countdown/index.es.js +3 -6
  17. package/countdown/index.umd.js +1 -1
  18. package/editable-select/index.es.js +120 -167
  19. package/editable-select/index.umd.js +1 -1
  20. package/grid/index.es.js +30 -36
  21. package/grid/index.umd.js +1 -1
  22. package/image-preview/index.es.js +19 -19
  23. package/image-preview/index.umd.js +1 -1
  24. package/input/index.es.js +2 -5
  25. package/input/index.umd.js +1 -1
  26. package/layout/index.es.js +9 -22
  27. package/layout/index.umd.js +1 -1
  28. package/loading/index.es.js +40 -25
  29. package/loading/index.umd.js +1 -1
  30. package/modal/index.es.js +55 -47
  31. package/modal/index.umd.js +1 -1
  32. package/notification/index.es.js +100 -10
  33. package/notification/index.umd.js +1 -1
  34. package/notification/style.css +1 -1
  35. package/nuxt/components/DropdownPropsKey.js +3 -0
  36. package/nuxt/components/LoadingOptions.js +3 -0
  37. package/nuxt/components/autoCompleteProps.js +3 -0
  38. package/nuxt/components/avatarProps.js +3 -0
  39. package/nuxt/components/cardProps.js +3 -0
  40. package/nuxt/components/checkboxGroupInjectionKey.js +3 -0
  41. package/nuxt/components/checkboxGroupProps.js +3 -0
  42. package/nuxt/components/checkboxProps.js +3 -0
  43. package/nuxt/components/colProps.js +3 -0
  44. package/nuxt/components/colPropsBaseClass.js +3 -0
  45. package/nuxt/components/colPropsBaseStyle.js +3 -0
  46. package/nuxt/components/commentProps.js +3 -0
  47. package/nuxt/components/countdownProps.js +3 -0
  48. package/nuxt/components/editableSelectProps.js +3 -0
  49. package/nuxt/components/imagePreviewProps.js +3 -0
  50. package/nuxt/components/inputProps.js +3 -0
  51. package/nuxt/components/loadingProps.js +3 -0
  52. package/nuxt/components/modalProps.js +3 -0
  53. package/nuxt/components/progressProps.js +3 -0
  54. package/nuxt/components/rateProps.js +3 -0
  55. package/nuxt/components/readTipProps.js +3 -0
  56. package/nuxt/components/resultProps.js +3 -0
  57. package/nuxt/components/rowProps.js +3 -0
  58. package/nuxt/components/screenSizes.js +3 -0
  59. package/nuxt/components/skeletonProps.js +3 -0
  60. package/nuxt/components/sliderProps.js +3 -0
  61. package/nuxt/components/splitterProps.js +3 -0
  62. package/nuxt/components/statisticProps.js +3 -0
  63. package/nuxt/components/switchProps.js +3 -0
  64. package/nuxt/components/tagInputProps.js +3 -0
  65. package/nuxt/components/tagProps.js +3 -0
  66. package/nuxt/components/textareaProps.js +3 -0
  67. package/nuxt/components/timeAxisProps.js +3 -0
  68. package/overlay/index.es.js +5 -5
  69. package/overlay/index.umd.js +1 -1
  70. package/package.json +1 -1
  71. package/pagination/index.es.js +14 -13
  72. package/pagination/index.umd.js +1 -1
  73. package/popover/index.es.js +7 -7
  74. package/popover/index.umd.js +12 -12
  75. package/progress/index.es.js +34 -36
  76. package/progress/index.umd.js +3 -3
  77. package/progress/style.css +1 -1
  78. package/radio/index.es.js +8 -2
  79. package/radio/index.umd.js +1 -1
  80. package/radio/style.css +1 -1
  81. package/rate/index.es.js +4 -7
  82. package/rate/index.umd.js +1 -1
  83. package/read-tip/index.es.js +34 -34
  84. package/read-tip/index.umd.js +1 -1
  85. package/read-tip/style.css +1 -1
  86. package/result/index.es.js +2 -5
  87. package/result/index.umd.js +1 -1
  88. package/ripple/index.es.js +43 -42
  89. package/ripple/index.umd.js +1 -1
  90. package/search/index.es.js +11 -11
  91. package/search/index.umd.js +8 -8
  92. package/skeleton/index.es.js +9 -12
  93. package/skeleton/index.umd.js +1 -1
  94. package/slider/index.es.js +59 -62
  95. package/slider/index.umd.js +1 -1
  96. package/splitter/index.es.js +176 -136
  97. package/splitter/index.umd.js +13 -13
  98. package/statistic/index.es.js +7 -18
  99. package/statistic/index.umd.js +1 -1
  100. package/style.css +1 -1
  101. package/switch/index.es.js +4 -7
  102. package/switch/index.umd.js +1 -1
  103. package/switch/style.css +1 -1
  104. package/tag/index.es.js +13 -17
  105. package/tag/index.umd.js +1 -1
  106. package/tag/style.css +1 -1
  107. package/tag-input/index.es.js +3 -6
  108. package/tag-input/index.umd.js +1 -1
  109. package/textarea/index.es.js +2 -5
  110. package/textarea/index.umd.js +1 -1
  111. package/timeline/index.es.js +10 -16
  112. package/timeline/index.umd.js +1 -1
  113. package/upload/index.es.js +160 -67
  114. package/upload/index.umd.js +1 -1
  115. package/upload/style.css +1 -1
  116. package/vue-devui.es.js +12182 -24718
  117. package/vue-devui.umd.js +24 -20
  118. package/accordion/index.d.ts +0 -7
  119. package/accordion/index.es.js +0 -723
  120. package/accordion/index.umd.js +0 -1
  121. package/accordion/package.json +0 -7
  122. package/accordion/style.css +0 -1
  123. package/anchor/index.d.ts +0 -7
  124. package/anchor/index.es.js +0 -263
  125. package/anchor/index.umd.js +0 -1
  126. package/anchor/package.json +0 -7
  127. package/anchor/style.css +0 -1
  128. package/back-top/index.d.ts +0 -7
  129. package/back-top/index.es.js +0 -130
  130. package/back-top/index.umd.js +0 -1
  131. package/back-top/package.json +0 -7
  132. package/back-top/style.css +0 -1
  133. package/breadcrumb/index.d.ts +0 -7
  134. package/breadcrumb/index.es.js +0 -128
  135. package/breadcrumb/index.umd.js +0 -1
  136. package/breadcrumb/package.json +0 -7
  137. package/breadcrumb/style.css +0 -1
  138. package/carousel/index.d.ts +0 -7
  139. package/carousel/index.es.js +0 -314
  140. package/carousel/index.umd.js +0 -1
  141. package/carousel/package.json +0 -7
  142. package/carousel/style.css +0 -1
  143. package/cascader/index.d.ts +0 -7
  144. package/cascader/index.es.js +0 -5971
  145. package/cascader/index.umd.js +0 -27
  146. package/cascader/package.json +0 -7
  147. package/cascader/style.css +0 -1
  148. package/color-picker/index.d.ts +0 -7
  149. package/color-picker/index.es.js +0 -8196
  150. package/color-picker/index.umd.js +0 -27
  151. package/color-picker/package.json +0 -7
  152. package/color-picker/style.css +0 -1
  153. package/date-picker/index.d.ts +0 -7
  154. package/date-picker/index.es.js +0 -1154
  155. package/date-picker/index.umd.js +0 -1
  156. package/date-picker/package.json +0 -7
  157. package/date-picker/style.css +0 -1
  158. package/dragdrop/index.d.ts +0 -7
  159. package/dragdrop/index.es.js +0 -157
  160. package/dragdrop/index.umd.js +0 -1
  161. package/dragdrop/package.json +0 -7
  162. package/drawer/index.d.ts +0 -7
  163. package/drawer/index.es.js +0 -234
  164. package/drawer/index.umd.js +0 -1
  165. package/drawer/package.json +0 -7
  166. package/drawer/style.css +0 -1
  167. package/dropdown/index.d.ts +0 -7
  168. package/dropdown/index.es.js +0 -693
  169. package/dropdown/index.umd.js +0 -1
  170. package/dropdown/package.json +0 -7
  171. package/dropdown/style.css +0 -1
  172. package/form/index.d.ts +0 -7
  173. package/form/index.es.js +0 -7876
  174. package/form/index.umd.js +0 -27
  175. package/form/package.json +0 -7
  176. package/form/style.css +0 -1
  177. package/gantt/index.d.ts +0 -7
  178. package/gantt/index.es.js +0 -523
  179. package/gantt/index.umd.js +0 -1
  180. package/gantt/package.json +0 -7
  181. package/gantt/style.css +0 -1
  182. package/input-icon/index.d.ts +0 -7
  183. package/input-icon/index.es.js +0 -332
  184. package/input-icon/index.umd.js +0 -1
  185. package/input-icon/package.json +0 -7
  186. package/input-icon/style.css +0 -1
  187. package/input-number/index.d.ts +0 -7
  188. package/input-number/index.es.js +0 -229
  189. package/input-number/index.umd.js +0 -1
  190. package/input-number/package.json +0 -7
  191. package/input-number/style.css +0 -1
  192. package/list/index.d.ts +0 -7
  193. package/list/index.es.js +0 -39
  194. package/list/index.umd.js +0 -1
  195. package/list/package.json +0 -7
  196. package/list/style.css +0 -1
  197. package/nav-sprite/index.d.ts +0 -7
  198. package/nav-sprite/index.es.js +0 -68
  199. package/nav-sprite/index.umd.js +0 -1
  200. package/nav-sprite/package.json +0 -7
  201. package/nuxt/components/Accordion.js +0 -3
  202. package/nuxt/components/Anchor.js +0 -3
  203. package/nuxt/components/BackTop.js +0 -3
  204. package/nuxt/components/Breadcrumb.js +0 -3
  205. package/nuxt/components/Carousel.js +0 -3
  206. package/nuxt/components/CarouselItem.js +0 -3
  207. package/nuxt/components/Cascader.js +0 -3
  208. package/nuxt/components/ColorPicker.js +0 -3
  209. package/nuxt/components/Column.js +0 -3
  210. package/nuxt/components/DatePicker.js +0 -3
  211. package/nuxt/components/Drawer.js +0 -3
  212. package/nuxt/components/DrawerService.js +0 -3
  213. package/nuxt/components/Dropdown.js +0 -3
  214. package/nuxt/components/DropdownMenu.js +0 -3
  215. package/nuxt/components/Form.js +0 -3
  216. package/nuxt/components/FormControl.js +0 -3
  217. package/nuxt/components/FormItem.js +0 -3
  218. package/nuxt/components/FormLabel.js +0 -3
  219. package/nuxt/components/FormOperation.js +0 -3
  220. package/nuxt/components/Gantt.js +0 -3
  221. package/nuxt/components/InputIcon.js +0 -3
  222. package/nuxt/components/InputNumber.js +0 -3
  223. package/nuxt/components/List.js +0 -3
  224. package/nuxt/components/ListItem.js +0 -3
  225. package/nuxt/components/NavSprite.js +0 -2
  226. package/nuxt/components/QuadrantDiagram.js +0 -3
  227. package/nuxt/components/Select.js +0 -3
  228. package/nuxt/components/StepsGuide.js +0 -3
  229. package/nuxt/components/StickSlider.js +0 -3
  230. package/nuxt/components/Sticky.js +0 -2
  231. package/nuxt/components/Table.js +0 -3
  232. package/nuxt/components/Tabs.js +0 -3
  233. package/nuxt/components/TimePicker.js +0 -3
  234. package/nuxt/components/Tooltip.js +0 -3
  235. package/nuxt/components/Transfer.js +0 -3
  236. package/nuxt/components/Tree.js +0 -3
  237. package/nuxt/components/TreeSelect.js +0 -3
  238. package/nuxt/components/dropdownMenuProps.js +0 -3
  239. package/nuxt/components/tooltipProps.js +0 -3
  240. package/quadrant-diagram/index.d.ts +0 -7
  241. package/quadrant-diagram/index.es.js +0 -5728
  242. package/quadrant-diagram/index.umd.js +0 -27
  243. package/quadrant-diagram/package.json +0 -7
  244. package/quadrant-diagram/style.css +0 -1
  245. package/select/index.d.ts +0 -7
  246. package/select/index.es.js +0 -706
  247. package/select/index.umd.js +0 -1
  248. package/select/package.json +0 -7
  249. package/select/style.css +0 -1
  250. package/steps-guide/index.d.ts +0 -7
  251. package/steps-guide/index.es.js +0 -242
  252. package/steps-guide/index.umd.js +0 -1
  253. package/steps-guide/package.json +0 -7
  254. package/steps-guide/style.css +0 -1
  255. package/sticky/index.d.ts +0 -7
  256. package/sticky/index.es.js +0 -197
  257. package/sticky/index.umd.js +0 -1
  258. package/sticky/package.json +0 -7
  259. package/table/index.d.ts +0 -7
  260. package/table/index.es.js +0 -2024
  261. package/table/index.umd.js +0 -1
  262. package/table/package.json +0 -7
  263. package/table/style.css +0 -1
  264. package/tabs/index.d.ts +0 -7
  265. package/tabs/index.es.js +0 -194
  266. package/tabs/index.umd.js +0 -1
  267. package/tabs/package.json +0 -7
  268. package/tabs/style.css +0 -1
  269. package/time-picker/index.d.ts +0 -7
  270. package/time-picker/index.es.js +0 -1238
  271. package/time-picker/index.umd.js +0 -1
  272. package/time-picker/package.json +0 -7
  273. package/time-picker/style.css +0 -1
  274. package/tooltip/index.d.ts +0 -7
  275. package/tooltip/index.es.js +0 -5835
  276. package/tooltip/index.umd.js +0 -27
  277. package/tooltip/package.json +0 -7
  278. package/tooltip/style.css +0 -1
  279. package/transfer/index.d.ts +0 -7
  280. package/transfer/index.es.js +0 -7615
  281. package/transfer/index.umd.js +0 -27
  282. package/transfer/package.json +0 -7
  283. package/transfer/style.css +0 -1
  284. package/tree/index.d.ts +0 -7
  285. package/tree/index.es.js +0 -6495
  286. package/tree/index.umd.js +0 -27
  287. package/tree/package.json +0 -7
  288. package/tree/style.css +0 -1
  289. package/tree-select/index.d.ts +0 -7
  290. package/tree-select/index.es.js +0 -627
  291. package/tree-select/index.umd.js +0 -1
  292. package/tree-select/package.json +0 -7
  293. package/tree-select/style.css +0 -1
@@ -1 +0,0 @@
1
- var L=Object.defineProperty,H=Object.defineProperties;var J=Object.getOwnPropertyDescriptors;var I=Object.getOwnPropertySymbols;var Q=Object.prototype.hasOwnProperty,X=Object.prototype.propertyIsEnumerable;var F=(f,e,v)=>e in f?L(f,e,{enumerable:!0,configurable:!0,writable:!0,value:v}):f[e]=v,S=(f,e)=>{for(var v in e||(e={}))Q.call(e,v)&&F(f,v,e[v]);if(I)for(var v of I(e))X.call(e,v)&&F(f,v,e[v]);return f},O=(f,e)=>H(f,J(e));(function(f,e){typeof exports=="object"&&typeof module!="undefined"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(f=typeof globalThis!="undefined"?globalThis:f||self,e(f.index={},f.Vue))})(this,function(f,e){"use strict";const v={modelValue:{type:[String,Number,Array],default:""},"onUpdate:modelValue":{type:Function,default:void 0},options:{type:Array,default:()=>[]},size:{type:String,default:"md"},overview:{type:String,default:"border"},placeholder:{type:String,default:"\u8BF7\u9009\u62E9"},multiple:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},allowClear:{type:Boolean,default:!1},optionDisabledKey:{type:String,default:""},onToggleChange:{type:Function,default:void 0},onValueChange:{type:Function,default:void 0}},_={name:{type:String,default:"",required:!0},size:{type:String,default:"inherit"},color:{type:String,default:"inherit"},classPrefix:{type:String,default:"icon"}};var j=e.defineComponent({name:"DIcon",props:_,setup(l){const{name:a,size:t,color:n,classPrefix:d}=e.toRefs(l);return()=>/^((https?):)?\/\//.test(a.value)?e.createVNode("img",{src:a.value,alt:a.value.split("/")[a.value.split("/").length-1],style:{width:t.value,verticalAlign:"text-bottom"}},null):e.createVNode("i",{class:`${d.value} ${d.value}-${a.value}`,style:{fontSize:t.value,color:n.value}},null)}}),Y="";const B={name:{type:String,default:void 0},halfchecked:{type:Boolean,default:!1},isShowTitle:{type:Boolean,default:!0},title:{type:String},color:{type:String,default:void 0},showAnimation:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},beforeChange:{type:Function,default:void 0}},K=O(S({},B),{halfchecked:{type:Boolean,default:!1},checked:{type:Boolean,default:!1},value:{type:String},label:{type:String,default:void 0},title:{type:String,default:void 0},"onUpdate:checked":{type:Function,default:void 0},onChange:{type:Function,default:void 0},modelValue:{type:Boolean},"onUpdate:modelValue":{type:Function}}),$=O(S({},B),{modelValue:{type:Array,required:!0},direction:{type:String,default:"column"},itemWidth:{type:Number,default:void 0},options:{type:Array,default:()=>[]},onChange:{type:Function,default:void 0},"onUpdate:modelValue":{type:Function,default:void 0}}),D=Symbol("d-checkbox-group");var w=e.defineComponent({name:"DCheckbox",props:K,emits:["change","update:checked","update:modelValue"],setup(l,a){const t=e.inject(D,null),n=e.computed(()=>l.checked||l.modelValue),d=e.computed(()=>(t==null?void 0:t.disabled.value)||l.disabled),s=e.computed(()=>{var i,r;return(r=(i=t==null?void 0:t.isItemChecked)==null?void 0:i.call(t,l.value))!=null?r:n.value}),o=e.computed(()=>{var i;return(i=t==null?void 0:t.isShowTitle.value)!=null?i:l.isShowTitle}),u=e.computed(()=>{var i;return(i=t==null?void 0:t.showAnimation.value)!=null?i:l.showAnimation}),m=e.computed(()=>{var i;return(i=t==null?void 0:t.color.value)!=null?i:l.color}),y=t==null?void 0:t.itemWidth.value,V=t==null?void 0:t.direction.value,k=(i,r)=>{var h;if(d.value)return Promise.resolve(!1);const g=(h=l.beforeChange)!=null?h:t==null?void 0:t.beforeChange;if(g){const b=g(i,r);return typeof b=="boolean"?Promise.resolve(b):b}return Promise.resolve(!0)},p=()=>{const i=!n.value;t==null||t.toggleGroupVal(l.value),a.emit("update:checked",i),a.emit("update:modelValue",i),a.emit("change",i)};return{itemWidth:y,direction:V,mergedColor:m,mergedDisabled:d,mergedIsShowTitle:o,mergedChecked:s,mergedShowAnimation:u,handleClick:()=>{k(!n.value,l.label).then(i=>i&&p())}}},render(){var R;const{itemWidth:l,direction:a,mergedChecked:t,mergedDisabled:n,mergedIsShowTitle:d,mergedShowAnimation:s,halfchecked:o,title:u,label:m,handleClick:y,name:V,value:k,mergedColor:p,$slots:c}=this,i={"devui-checkbox-column-margin":a==="column","devui-checkbox-wrap":typeof l!="undefined"},r=l?[`width: ${l}px`]:[],g={"devui-checkbox":!0,active:t,halfchecked:o,disabled:n,unchecked:!t},h=d?u||m:"",b=p&&o||p?`linear-gradient(${p}, ${p})`:"",A=[`border-color:${(t||o)&&p?p:""}`,`background-image:${b}`,`background-color:${p&&o?p:""}`],M={"devui-checkbox-material":!0,"custom-color":p,"devui-checkbox-no-label":!m&&!c.default,"devui-no-animation":!s,"devui-checkbox-default-background":!o},U={"devui-tick":!0,"devui-no-animation":!s},T=q=>q.stopPropagation(),x={indeterminate:o};return e.createVNode("div",{class:i,style:r},[e.createVNode("div",{class:g},[e.createVNode("label",{title:h,onClick:y},[e.createVNode("input",e.mergeProps({name:V||k,class:"devui-checkbox-input",type:"checkbox"},x,{checked:t,disabled:n,onClick:T,onChange:T}),null),e.createVNode("span",{style:A,class:M},[e.createVNode("span",{class:"devui-checkbox-halfchecked-bg"},null),e.createVNode("svg",{viewBox:"0 0 16 16",version:"1.1",xmlns:"http://www.w3.org/2000/svg",class:"devui-checkbox-tick"},[e.createVNode("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},[e.createVNode("polygon",{"fill-rule":"nonzero",points:"5.17391304 6.56521739 7.7173913 9.10869565 11.826087 5 13 6.17391304 7.7173913 11.4565217 4 7.73913043",class:U},null)])])]),m||((R=c.default)==null?void 0:R.call(c))])])])}}),Z="",P=e.defineComponent({name:"DCheckboxGroup",props:$,emits:["change","update:modelValue"],setup(l,a){const t=e.toRef(l,"modelValue"),n={checked:!1,isShowTitle:!0,halfchecked:!1,showAnimation:!0,disabled:!1},d=o=>{let u=-1;if(typeof t.value[0]=="string"?u=t.value.findIndex(m=>m===o):typeof t.value[0]=="object"&&(u=t.value.findIndex(m=>m.value===o)),u===-1){if(typeof l.options[0]=="object"){const y=l.options.find(k=>k.value===o),V=[...t.value,y];a.emit("update:modelValue",V),a.emit("change",V);return}const m=[...t.value,o];a.emit("update:modelValue",m),a.emit("change",m);return}t.value.splice(u,1),a.emit("update:modelValue",t.value),a.emit("change",t.value)},s=o=>{if(typeof t.value[0]=="string")return t.value.includes(o);if(typeof t.value[0]=="object")return t.value.some(u=>u.value===o)};return e.provide(D,{disabled:e.toRef(l,"disabled"),isShowTitle:e.toRef(l,"isShowTitle"),color:e.toRef(l,"color"),showAnimation:e.toRef(l,"showAnimation"),beforeChange:l.beforeChange,isItemChecked:s,toggleGroupVal:d,itemWidth:e.toRef(l,"itemWidth"),direction:e.toRef(l,"direction")}),{defaultOpt:n}},render(){var s;const{direction:l,$slots:a,defaultOpt:t,options:n}=this;let d=(s=a.default)==null?void 0:s.call(a);return(n==null?void 0:n.length)>0&&(d=n.map(o=>{let u=null;return typeof o=="string"?u=Object.assign({},t,{label:o,value:o}):typeof o=="object"&&(u=Object.assign({},t,O(S({},o),{label:o.name}))),e.createVNode(w,u,null)})),e.createVNode("div",{class:"devui-checkbox-group"},[e.createVNode("div",{class:{"devui-checkbox-list-inline":l==="row"}},[d])])}});w.install=function(l){l.component(w.name,w)},P.install=function(l){l.component(P.name,P)};function N(l,a){let t=l;return typeof a=="object"&&Object.keys(a).forEach(n=>{a[n]&&(t+=` ${n}`)}),t}function E(l){const a=e.computed(()=>{const n=new Map;return l.value.forEach(d=>{n.set(d.value,d)}),n});return n=>n.map(d=>a.value.get(d))}function z(l,a,t){function n(d){var u,m;let s=d.target;s.shadowRoot&&d.composed&&(s=d.composedPath()[0]||s);const o=[(u=l[0])==null?void 0:u.value,(m=l[1])==null?void 0:m.value];a.value&&o.every(y=>y&&!y.contains(s)&&y!==s)&&t(!1)}e.onMounted(()=>{document.body.addEventListener("mousedown",n,!1)}),e.onBeforeUnmount(()=>{document.body.addEventListener("mousedown",n,!1)})}var G="",C=e.defineComponent({name:"DSelect",props:v,emits:["toggleChange","valueChange","update:modelValue"],setup(l,a){const t=e.ref(null),n=e.ref(null),d=e.ref(!1);function s(c){l.disabled||(d.value=c,a.emit("toggleChange",c))}z([t,n],d,s);const o=e.computed(()=>{const{multiple:c,modelValue:i}=l;return l.options.map(r=>{let g;return typeof r=="object"?g=S({name:r.name?r.name:r.value+"",value:r.value,_checked:!1},r):g={name:r+"",value:r,_checked:!1},c&&(Array.isArray(i)?g._checked=i.includes(g.value):g._checked=!1),g})}),u=E(o),m=e.computed(()=>{var c;return l.multiple&&Array.isArray(l.modelValue)?u(l.modelValue).map(r=>r.name).join(","):Array.isArray(l.modelValue)?"":((c=u([l.modelValue])[0])==null?void 0:c.name)||""}),y=e.computed(()=>!l.disabled&&l.allowClear&&m.value.length>0);function V(c,i){const{multiple:r,optionDisabledKey:g}=l;let{modelValue:h}=l;g&&!!c[g]||(r?(c._checked=!c._checked,h=o.value.filter(b=>b._checked).map(b=>b.value),a.emit("update:modelValue",h)):(a.emit("update:modelValue",c.value),s(!1)),a.emit("valueChange",c,i))}function k(c){const{optionDisabledKey:i}=l;return N("devui-select-item",{active:c.value===l.modelValue,disabled:i?!!c[i]:!1})}function p(c){c.preventDefault(),c.stopPropagation(),l.multiple?a.emit("update:modelValue",[]):a.emit("update:modelValue","")}return{isOpen:d,containerRef:t,dropdownRef:n,inputValue:m,mergeOptions:o,mergeClearable:y,valueChange:V,toggleChange:s,getItemClassName:k,handleClear:p}},render(){const{mergeOptions:l,isOpen:a,inputValue:t,size:n,multiple:d,disabled:s,optionDisabledKey:o,placeholder:u,overview:m,valueChange:y,toggleChange:V,getItemClassName:k,mergeClearable:p,handleClear:c}=this,i=N("devui-select",{"devui-select-open":a,"devui-dropdown-menu-multiple":d,"devui-select-lg":n==="lg","devui-select-sm":n==="sm","devui-select-underlined":m==="underlined","devui-select-disabled":s}),r=N("devui-select-input",{"devui-select-input-lg":n==="lg","devui-select-input-sm":n==="sm"}),g=N("devui-select-selection",{"devui-select-clearable":p});return e.createVNode("div",{class:i,ref:"containerRef"},[e.createVNode("div",{class:g,onClick:()=>V(!a)},[e.createVNode("input",{value:t,type:"text",class:r,placeholder:u,readonly:!0,disabled:s},null),e.createVNode("span",{onClick:c,class:"devui-select-clear"},[e.createVNode(j,{name:"close"},null)]),e.createVNode("span",{class:"devui-select-arrow"},[e.createVNode(j,{name:"select-arrow"},null)])]),e.createVNode(e.Transition,{name:"fade",ref:"dropdownRef"},{default:()=>[e.withDirectives(e.createVNode("div",{class:"devui-select-dropdown"},[e.createVNode("ul",{class:"devui-select-dropdown-list devui-scrollbar"},[l.map((h,b)=>e.createVNode("li",{onClick:A=>{A.preventDefault(),A.stopPropagation(),y(h,b)},class:k(h),key:b},[d?e.createVNode(w,{modelValue:h._checked,label:h.name,disabled:o?!!h[o]:!1},null):h.name]))])]),[[e.vShow,a]])]})])}});C.install=function(l){l.component(C.name,C)};var W={title:"Select \u4E0B\u62C9\u6846",category:"\u6570\u636E\u5F55\u5165",status:"10%",install(l){l.use(C)}};f.Select=C,f.default=W,Object.defineProperty(f,"__esModule",{value:!0}),f[Symbol.toStringTag]="Module"});
@@ -1,7 +0,0 @@
1
- {
2
- "name": "select",
3
- "version": "0.0.0",
4
- "main": "index.umd.js",
5
- "module": "index.es.js",
6
- "style": "style.css"
7
- }
package/select/style.css DELETED
@@ -1 +0,0 @@
1
- .devui-checkbox{position:relative;display:flex;display:-ms-flexbox;align-items:center;-ms-flex-align:center;height:100%;margin:0}.devui-checkbox .devui-checkbox-tick{position:absolute}.devui-checkbox .devui-checkbox-tick .devui-tick{fill:var(--devui-light-text, #ffffff);stroke-dashoffset:50;opacity:0;transform:scale(0);transform-origin:50% 50%;transition:stroke-dashoffset .2s ease-in-out,opacity .2s ease-in-out,transform .2s ease-in-out}.devui-checkbox.active:not(.halfchecked) .devui-tick{opacity:1;stroke-dashoffset:0;transform:scale(1);transition:stroke-dashoffset .3s cubic-bezier(.755,.05,.855,.06),opacity .2s cubic-bezier(.755,.05,.855,.06)}.devui-checkbox.active:not(.disabled) .devui-checkbox-material:not(.custom-color),.devui-checkbox.halfchecked:not(.disabled) .devui-checkbox-material:not(.custom-color){border-color:var(--devui-brand, #5e7ce0)}.devui-checkbox.active:not(.disabled) .devui-checkbox-material{background-size:100% 100%;transition:background-size .2s ease-in-out,border-color .2s ease-in-out}.devui-checkbox.unchecked:not(.disabled) .devui-checkbox-material:not(.custom-color){background-size:0% 0%;transition:background-size .2s ease-in-out,border-color .2s ease-in-out}.devui-checkbox.unchecked:not(.disabled) .devui-checkbox-material:not(.custom-color):hover{border-color:var(--devui-icon-fill-active, #5e7ce0)}.devui-checkbox.unchecked:not(.disabled) .devui-checkbox-material.custom-color{background-size:0% 0%;transition:background-size .2s ease-in-out,border-color .2s ease-in-out}.devui-checkbox.halfchecked .devui-checkbox-material:not(.custom-color){background-color:var(--devui-brand, #5e7ce0)}.devui-checkbox.halfchecked .devui-checkbox-material:not(.custom-color)>.devui-checkbox-halfchecked-bg{opacity:1;transform:scale(.4288);transition:transform .2s cubic-bezier(.755,.05,.855,.06);background-color:var(--devui-light-text, #ffffff)}.devui-checkbox.halfchecked .devui-checkbox-material.custom-color>.devui-checkbox-halfchecked-bg{opacity:1;transform:scale(.4288);transition:transform .2s cubic-bezier(.755,.05,.855,.06);background-color:var(--devui-light-text, #ffffff)}.devui-checkbox .devui-checkbox-material{text-align:initial;height:14px;width:14px;position:relative;user-select:none;border:1px solid var(--devui-line, #adb0b8);border-radius:var(--devui-border-radius, 2px);background:linear-gradient(var(--devui-brand, #5e7ce0),var(--devui-brand, #5e7ce0)) no-repeat center/0%;margin-right:8px;vertical-align:text-bottom}.devui-checkbox .devui-checkbox-material.devui-checkbox-default-background{background-color:var(--devui-base-bg, #ffffff)}.devui-checkbox .devui-checkbox-material.devui-checkbox-no-label{margin-right:0}.devui-checkbox .devui-checkbox-material>.devui-checkbox-halfchecked-bg{display:inline-block;position:absolute;content:"";background-color:var(--devui-light-text, #ffffff);top:0;left:0;height:100%;width:100%;transform:scale(1);opacity:0}.devui-checkbox .devui-checkbox-material>svg{width:14px;height:14px}.devui-checkbox:not(.disabled).halfchecked .devui-checkbox-material:not(.custom-color):focus,.devui-checkbox:not(.disabled).halfchecked .devui-checkbox-material:not(.custom-color):active,.devui-checkbox:not(.disabled).halfchecked .devui-checkbox-material:not(.custom-color):hover{background-color:var(--devui-icon-fill-active, #5e7ce0)}.devui-checkbox:not(.disabled).halfchecked .devui-checkbox-material:not(.custom-color):active,.devui-checkbox:not(.disabled).halfchecked .devui-checkbox-material:not(.custom-color):focus,.devui-checkbox:not(.disabled).halfchecked .devui-checkbox-material:not(.custom-color):hover:active,.devui-checkbox:not(.disabled).halfchecked .devui-checkbox-material:not(.custom-color):hover:focus{background-color:var(--devui-brand-active-focus, #344899)}.devui-checkbox-input{opacity:0;position:absolute;margin:0;z-index:-1;width:0;height:0;overflow:hidden;left:0;pointer-events:none}.devui-checkbox label{position:relative;font-weight:400;height:16px;line-height:16px;cursor:pointer;color:var(--devui-text, #252b3a);margin:0;display:block}.devui-checkbox label>span{display:inline-block;box-sizing:content-box;vertical-align:top}.devui-checkbox.disabled label{cursor:not-allowed;color:var(--devui-disabled-text, #adb0b8)}.devui-checkbox.disabled .devui-checkbox-material{border-color:var(--devui-icon-fill-active-disabled, #beccfa);background-color:var(--devui-icon-fill-active-disabled, #beccfa)}.devui-checkbox.disabled.unchecked .devui-checkbox-material{border-color:var(--devui-disabled-line, #dfe1e6);background-color:var(--devui-disabled-bg, #f5f5f6)}.devui-checkbox.disabled.halfchecked .devui-checkbox-material{background-color:var(--devui-disabled-bg, #f5f5f6)}.devui-checkbox.disabled.halfchecked .devui-checkbox-material .devui-checkbox-halfchecked-bg{transform:scale(.4288);background-color:var(--devui-disabled-text, #adb0b8);opacity:1}.devui-checkbox.disabled.active svg polygon{fill:var(--devui-light-text, #ffffff)}.devui-no-animation{transition:none!important}.devui-checkbox-column-margin{height:28px;line-height:28px}.devui-checkbox-wrap .devui-checkbox label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host{display:block}.devui-checkbox-list-inline{min-height:28px;line-height:28px;display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;margin:-8px 0 0}.devui-checkbox-list-inline div:not(:last-child){margin-right:20px}.devui-checkbox-list-inline>*{margin-top:8px}.devui-select{position:relative;width:100%}.devui-select-underlined{border-bottom:1px solid var(--devui-form-control-line, #adb0b8);transition:border-color .3s cubic-bezier(.645,.045,.355,1)}.devui-select-underlined:not([disabled]):not(.disabled):hover{border-color:var(--devui-form-control-line-hover, #575d6c)}.devui-select-underlined:not([disabled]):not(.disabled).devui-select-open{border-color:var(--devui-form-control-line-active, #5e7ce0)}.devui-select-underlined .devui-select-input{border:none}.devui-select-disabled,.devui-select-disabled .devui-select-input{cursor:not-allowed;background-color:var(--devui-disabled-bg, #f5f5f6);border-color:var(--devui-disabled-line, #dfe1e6);color:var(--devui-disabled-text, #adb0b8)}.devui-select-disabled .devui-select-arrow{cursor:not-allowed;color:var(--devui-disabled-text, #adb0b8)}.devui-select-open .devui-select-arrow{transform:rotate(180deg)}.devui-dropdown-menu-multiple .devui-select-item.active{color:var(--devui-list-item-active-text, #ffffff);background-color:transparent}.devui-select-selection{position:relative;cursor:pointer}.devui-select-input{cursor:pointer;width:100%;height:28px;padding:4px 28px 4px 10px;color:var(--devui-text, #252b3a);vertical-align:middle;border:1px solid var(--devui-form-control-line, #adb0b8);border-radius:var(--devui-border-radius, 2px);outline:none;background-color:var(--devui-base-bg, #ffffff);box-sizing:border-box;transition:border-color .3s cubic-bezier(.645,.045,.355,1)}.devui-select-input:not([disabled]):not(.disabled):hover{border-color:var(--devui-form-control-line-hover, #575d6c)}.devui-select-input:not([disabled]):not(.disabled):focus{border-color:var(--devui-form-control-line-active, #5e7ce0)}.devui-select-input[disabled]:hover,.devui-select-input.disabled:hover{cursor:not-allowed;background-color:var(--devui-disabled-bg, #f5f5f6);border-color:var(--devui-disabled-line, #dfe1e6);color:var(--devui-disabled-text, #adb0b8)}.devui-select-input.devui-select-input-lg{height:44px}.devui-select-input.devui-select-input-sm{height:24px}.devui-select-clearable:hover .devui-select-clear{display:inline-flex}.devui-select-clearable:hover .devui-select-arrow{display:none}.devui-select-clear,.devui-select-arrow{position:absolute;right:0;height:100%;width:28px;display:inline-flex;justify-content:center;align-items:center}.devui-select-clear{display:none}.devui-select-clear:hover{color:var(--devui-icon-fill-active, #5e7ce0)}.devui-select-arrow{transform:rotate(0);transition:transform .25s ease-out}.devui-select-dropdown{position:absolute;width:calc(100% - 2px);overflow:auto;top:100%;left:0;margin:5px 0;border-radius:var(--devui-border-radius, 2px);background:var(--devui-base-bg, #ffffff);box-shadow:0 2px 5px 0 var(--devui-shadow, rgba(0, 0, 0, .2));z-index:999}.devui-select-dropdown-list{max-height:300px;width:100%;overflow-y:auto;padding:0;margin:0}.devui-select-item{font-size:var(--devui-font-size, 12px);display:block;min-height:36px;line-height:1.5;width:100%;padding:10px;clear:both;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;border:0;color:var(--devui-text, #252b3a);box-sizing:border-box;cursor:pointer}.devui-select-item:hover:not(.active):not(.disabled){color:var(--devui-list-item-hover-text, #526ecc);background-color:var(--devui-list-item-hover-bg, #f2f5fc)}.devui-select-item.active{color:var(--devui-list-item-active-text, #ffffff);background-color:var(--devui-list-item-active-bg, #5e7ce0)}.devui-select-item.disabled{cursor:not-allowed;background-color:var(--devui-disabled-bg, #f5f5f6);color:var(--devui-disabled-text, #adb0b8)}.devui-scrollbar::-webkit-scrollbar{width:8px;height:8px}.devui-scrollbar::-webkit-scrollbar-corner{background-color:transparent}.devui-scrollbar::-webkit-scrollbar-thumb{border-radius:8px;background-color:var(--devui-line, #adb0b8)}.devui-scrollbar::-webkit-scrollbar-track{background-color:transparent}.fade-enter-active,.fade-leave-active{transform:scale3d(0,1,0,.9999) translate3d(0,1,0,0);transform-origin:0 0%;opacity:1;transition:transform,opacity .25s ease-out}.fade-enter-from,.fade-leave-to{transform:scale3d(0,1,0,0) translate3d(0,1,0,-4px);opacity:0;transition:transform,opacity .25s ease-in}
@@ -1,7 +0,0 @@
1
- import { App } from 'vue';
2
- declare function install(app: App): void
3
- declare const _default: {
4
- install: typeof install;
5
- version: string;
6
- };
7
- export default _default;
@@ -1,242 +0,0 @@
1
- import { reactive, ref, nextTick, computed, defineComponent, onMounted, createVNode, Teleport } from "vue";
2
- var stepsGuide = "";
3
- const stepsGuideProps = {
4
- steps: Array,
5
- stepIndex: {
6
- type: Number,
7
- default: void 0
8
- },
9
- showClose: {
10
- type: Boolean,
11
- default: true
12
- },
13
- showDots: {
14
- type: Boolean,
15
- default: true
16
- },
17
- scrollToTargetSwitch: {
18
- type: Boolean,
19
- default: true
20
- },
21
- zIndex: {
22
- type: Number,
23
- default: 1100
24
- },
25
- stepChange: {
26
- type: Function,
27
- default() {
28
- return true;
29
- }
30
- }
31
- };
32
- function useStepsGuidePosition(props, currentStep) {
33
- const guideClassList = reactive(["devui-steps-guide"]);
34
- const stepsRef = ref(null);
35
- const guidePosition = reactive({
36
- left: "",
37
- top: "",
38
- zIndex: props.zIndex
39
- });
40
- const updateGuidePosition = () => {
41
- if (!currentStep.value || !stepsRef.value) {
42
- return;
43
- }
44
- const baseTop = window.pageYOffset - document.documentElement.clientTop;
45
- const baseLeft = window.pageXOffset - document.documentElement.clientLeft;
46
- const currentStepPosition = currentStep.value.position;
47
- const stepGuideElement = stepsRef.value;
48
- let _left, _top;
49
- if (typeof currentStepPosition !== "string") {
50
- const { top = 0, left = 0, type = "top" } = currentStepPosition;
51
- guideClassList.splice(1, 1, type);
52
- _left = left;
53
- _top = top;
54
- } else {
55
- guideClassList.splice(1, 1, currentStepPosition);
56
- const triggerSelector = currentStep.value.target || currentStep.value.trigger;
57
- const triggerElement = document.querySelector(triggerSelector);
58
- if (!triggerElement) {
59
- console.warn(`${triggerSelector} \u4E0D\u5B58\u5728!`);
60
- return false;
61
- }
62
- const targetRect = triggerElement.getBoundingClientRect();
63
- _left = targetRect.left + triggerElement.clientWidth / 2 - stepGuideElement.clientWidth / 2 + baseLeft;
64
- _top = targetRect.top + triggerElement.clientHeight / 2 - stepGuideElement.clientHeight / 2 + baseTop;
65
- const positionTypes = currentStepPosition.split("-");
66
- switch (positionTypes[0]) {
67
- case "top":
68
- _top += -stepGuideElement.clientHeight / 2 - triggerElement.clientHeight;
69
- break;
70
- case "bottom":
71
- _top += stepGuideElement.clientHeight / 2 + triggerElement.clientHeight;
72
- break;
73
- case "left":
74
- _top += stepGuideElement.clientHeight / 2 - triggerElement.clientHeight;
75
- _left += -stepGuideElement.clientWidth / 2 - triggerElement.clientWidth / 2;
76
- break;
77
- case "right":
78
- _top += stepGuideElement.clientHeight / 2 - triggerElement.clientHeight;
79
- _left += stepGuideElement.clientWidth / 2 + triggerElement.clientWidth / 2;
80
- break;
81
- }
82
- switch (positionTypes[1]) {
83
- case "left":
84
- _left += stepGuideElement.clientWidth / 2 - triggerElement.clientWidth / 2;
85
- break;
86
- case "right":
87
- _left += -stepGuideElement.clientWidth / 2 + triggerElement.clientWidth / 2;
88
- break;
89
- }
90
- }
91
- guidePosition.left = _left + "px";
92
- guidePosition.top = _top + "px";
93
- if (props.scrollToTargetSwitch && typeof stepGuideElement.scrollIntoView === "function") {
94
- nextTick(() => {
95
- stepGuideElement.scrollIntoView({ behavior: "smooth", block: "nearest", inline: "nearest" });
96
- });
97
- }
98
- };
99
- return {
100
- stepsRef,
101
- guidePosition,
102
- guideClassList,
103
- updateGuidePosition
104
- };
105
- }
106
- function useStepsGuideCtrl(props, ctx, updateGuidePosition, stepIndex) {
107
- const stepsCount = computed(() => props.steps.length);
108
- const closeGuide = () => {
109
- const _index = stepIndex.value;
110
- stepIndex.value = -1;
111
- nextTick(() => {
112
- ctx.emit("guide-close", _index);
113
- });
114
- };
115
- const setCurrentIndex = (index2) => {
116
- if (index2 !== -1 && props.stepChange()) {
117
- if (index2 > -1 && index2 < stepsCount.value) {
118
- stepIndex.value = index2;
119
- nextTick(() => {
120
- updateGuidePosition();
121
- });
122
- } else {
123
- console.error(`stepIndex is not within the value range`);
124
- }
125
- }
126
- if (index2 === -1) {
127
- closeGuide();
128
- }
129
- };
130
- return {
131
- stepsCount,
132
- closeGuide,
133
- setCurrentIndex
134
- };
135
- }
136
- var StepsGuide = defineComponent({
137
- name: "DStepsGuide",
138
- props: stepsGuideProps,
139
- emits: ["guide-close", "update:stepIndex"],
140
- setup(props, ctx) {
141
- var _a;
142
- const stepIndexData = ref((_a = props.stepIndex) != null ? _a : 0);
143
- const stepIndex = computed({
144
- set: (val) => {
145
- if (props.stepIndex != null) {
146
- ctx.emit("update:stepIndex", val);
147
- }
148
- stepIndexData.value = val;
149
- },
150
- get: () => stepIndexData.value
151
- });
152
- const currentStep = computed(() => {
153
- const _step = props.steps[stepIndex.value];
154
- if (_step) {
155
- _step.position = _step.position || "top";
156
- }
157
- return _step;
158
- });
159
- const {
160
- stepsRef,
161
- guidePosition,
162
- guideClassList,
163
- updateGuidePosition
164
- } = useStepsGuidePosition(props, currentStep);
165
- const {
166
- stepsCount,
167
- closeGuide,
168
- setCurrentIndex
169
- } = useStepsGuideCtrl(props, ctx, updateGuidePosition, stepIndex);
170
- onMounted(() => {
171
- updateGuidePosition();
172
- });
173
- ctx.expose({
174
- closeGuide,
175
- setCurrentIndex
176
- });
177
- return () => stepIndex.value > -1 && stepsCount.value > 0 ? createVNode(Teleport, {
178
- "to": "body"
179
- }, {
180
- default: () => [createVNode("div", {
181
- "style": guidePosition,
182
- "class": guideClassList,
183
- "ref": stepsRef
184
- }, [createVNode("div", {
185
- "class": "devui-shining-dot"
186
- }, null), createVNode("div", {
187
- "class": "devui-shining-plus"
188
- }, null), createVNode("div", {
189
- "class": "devui-arrow"
190
- }, null), createVNode("div", {
191
- "class": "devui-guide-container"
192
- }, [createVNode("p", {
193
- "class": "devui-title"
194
- }, [currentStep.value.title]), props.showClose ? createVNode("div", {
195
- "class": "icon icon-close",
196
- "onClick": closeGuide
197
- }, null) : null, createVNode("div", {
198
- "class": "devui-content"
199
- }, [currentStep.value.content]), createVNode("div", {
200
- "class": "devui-ctrl"
201
- }, [props.showDots ? createVNode("div", {
202
- "class": "devui-dots"
203
- }, [props.steps.map((step, index2) => {
204
- return createVNode("em", {
205
- "class": ["icon icon-dot-status", currentStep.value === step ? "devui-active" : ""],
206
- "key": index2
207
- }, null);
208
- })]) : null, createVNode("div", {
209
- "class": "devui-guide-btn"
210
- }, [stepIndex.value > 0 ? createVNode("div", {
211
- "class": "devui-prev-step",
212
- "onClick": () => setCurrentIndex(stepIndex.value - 1)
213
- }, ["\u4E0A\u4E00\u6B65"]) : null, stepIndex.value === stepsCount.value - 1 ? createVNode("div", {
214
- "onClick": closeGuide
215
- }, ["\u6211\u77E5\u9053\u5566"]) : createVNode("div", {
216
- "class": "devui-next-step",
217
- "onClick": () => {
218
- setCurrentIndex(stepIndex.value + 1);
219
- }
220
- }, ["\u6211\u77E5\u9053\u5566,\u7EE7\u7EED"])])])])])]
221
- }) : null;
222
- }
223
- });
224
- var StepsGuideDirective = {
225
- mounted(el, binding, vNode) {
226
- },
227
- updated(el, binding) {
228
- }
229
- };
230
- StepsGuide.install = function(app) {
231
- app.component(StepsGuide.name, StepsGuide);
232
- };
233
- var index = {
234
- title: "StepsGuide \u64CD\u4F5C\u6307\u5F15",
235
- category: "\u5BFC\u822A",
236
- status: "80%",
237
- install(app) {
238
- app.use(StepsGuide);
239
- app.directive("StepsGuide", StepsGuideDirective);
240
- }
241
- };
242
- export { StepsGuide, index as default };
@@ -1 +0,0 @@
1
- (function(a,e){typeof exports=="object"&&typeof module!="undefined"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(a=typeof globalThis!="undefined"?globalThis:a||self,e(a.index={},a.Vue))})(this,function(a,e){"use strict";var x="";const y={steps:Array,stepIndex:{type:Number,default:void 0},showClose:{type:Boolean,default:!0},showDots:{type:Boolean,default:!0},scrollToTargetSwitch:{type:Boolean,default:!0},zIndex:{type:Number,default:1100},stepChange:{type:Function,default(){return!0}}};function b(i,o){const r=e.reactive(["devui-steps-guide"]),n=e.ref(null),l=e.reactive({left:"",top:"",zIndex:i.zIndex});return{stepsRef:n,guidePosition:l,guideClassList:r,updateGuidePosition:()=>{if(!o.value||!n.value)return;const m=window.pageYOffset-document.documentElement.clientTop,c=window.pageXOffset-document.documentElement.clientLeft,p=o.value.position,s=n.value;let d,u;if(typeof p!="string"){const{top:f=0,left:t=0,type:g="top"}=p;r.splice(1,1,g),d=t,u=f}else{r.splice(1,1,p);const f=o.value.target||o.value.trigger,t=document.querySelector(f);if(!t)return console.warn(`${f} \u4E0D\u5B58\u5728!`),!1;const g=t.getBoundingClientRect();d=g.left+t.clientWidth/2-s.clientWidth/2+c,u=g.top+t.clientHeight/2-s.clientHeight/2+m;const C=p.split("-");switch(C[0]){case"top":u+=-s.clientHeight/2-t.clientHeight;break;case"bottom":u+=s.clientHeight/2+t.clientHeight;break;case"left":u+=s.clientHeight/2-t.clientHeight,d+=-s.clientWidth/2-t.clientWidth/2;break;case"right":u+=s.clientHeight/2-t.clientHeight,d+=s.clientWidth/2+t.clientWidth/2;break}switch(C[1]){case"left":d+=s.clientWidth/2-t.clientWidth/2;break;case"right":d+=-s.clientWidth/2+t.clientWidth/2;break}}l.left=d+"px",l.top=u+"px",i.scrollToTargetSwitch&&typeof s.scrollIntoView=="function"&&e.nextTick(()=>{s.scrollIntoView({behavior:"smooth",block:"nearest",inline:"nearest"})})}}}function N(i,o,r,n){const l=e.computed(()=>i.steps.length),v=()=>{const c=n.value;n.value=-1,e.nextTick(()=>{o.emit("guide-close",c)})};return{stepsCount:l,closeGuide:v,setCurrentIndex:c=>{c!==-1&&i.stepChange()&&(c>-1&&c<l.value?(n.value=c,e.nextTick(()=>{r()})):console.error("stepIndex is not within the value range")),c===-1&&v()}}}var h=e.defineComponent({name:"DStepsGuide",props:y,emits:["guide-close","update:stepIndex"],setup(i,o){var f;const r=e.ref((f=i.stepIndex)!=null?f:0),n=e.computed({set:t=>{i.stepIndex!=null&&o.emit("update:stepIndex",t),r.value=t},get:()=>r.value}),l=e.computed(()=>{const t=i.steps[n.value];return t&&(t.position=t.position||"top"),t}),{stepsRef:v,guidePosition:m,guideClassList:c,updateGuidePosition:p}=b(i,l),{stepsCount:s,closeGuide:d,setCurrentIndex:u}=N(i,o,p,n);return e.onMounted(()=>{p()}),o.expose({closeGuide:d,setCurrentIndex:u}),()=>n.value>-1&&s.value>0?e.createVNode(e.Teleport,{to:"body"},{default:()=>[e.createVNode("div",{style:m,class:c,ref:v},[e.createVNode("div",{class:"devui-shining-dot"},null),e.createVNode("div",{class:"devui-shining-plus"},null),e.createVNode("div",{class:"devui-arrow"},null),e.createVNode("div",{class:"devui-guide-container"},[e.createVNode("p",{class:"devui-title"},[l.value.title]),i.showClose?e.createVNode("div",{class:"icon icon-close",onClick:d},null):null,e.createVNode("div",{class:"devui-content"},[l.value.content]),e.createVNode("div",{class:"devui-ctrl"},[i.showDots?e.createVNode("div",{class:"devui-dots"},[i.steps.map((t,g)=>e.createVNode("em",{class:["icon icon-dot-status",l.value===t?"devui-active":""],key:g},null))]):null,e.createVNode("div",{class:"devui-guide-btn"},[n.value>0?e.createVNode("div",{class:"devui-prev-step",onClick:()=>u(n.value-1)},["\u4E0A\u4E00\u6B65"]):null,n.value===s.value-1?e.createVNode("div",{onClick:d},["\u6211\u77E5\u9053\u5566"]):e.createVNode("div",{class:"devui-next-step",onClick:()=>{u(n.value+1)}},["\u6211\u77E5\u9053\u5566,\u7EE7\u7EED"])])])])])]}):null}}),V={mounted(i,o,r){},updated(i,o){}};h.install=function(i){i.component(h.name,h)};var w={title:"StepsGuide \u64CD\u4F5C\u6307\u5F15",category:"\u5BFC\u822A",status:"80%",install(i){i.use(h),i.directive("StepsGuide",V)}};a.StepsGuide=h,a.default=w,Object.defineProperty(a,"__esModule",{value:!0}),a[Symbol.toStringTag]="Module"});
@@ -1,7 +0,0 @@
1
- {
2
- "name": "steps-guide",
3
- "version": "0.0.0",
4
- "main": "index.umd.js",
5
- "module": "index.es.js",
6
- "style": "style.css"
7
- }
@@ -1 +0,0 @@
1
- @charset "UTF-8";.devui-steps-guide{width:400px;min-height:160px;background:#5e7ce0;box-shadow:var(--devui-shadow-length-feedback-overlay, 0 4px 16px 0) #5170ff4d;border-radius:var(--devui-border-radius-feedback, 4px);font-size:12px;color:#fff;padding:20px;position:absolute}.devui-steps-guide .devui-title{font-size:12px;opacity:1;margin:0 0 20px;padding:0}.devui-steps-guide>.devui-arrow,.devui-steps-guide>.devui-arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.devui-steps-guide>.devui-arrow{border-width:8px}.devui-steps-guide.left>.devui-arrow{top:23px;right:-6px;margin-top:-3px;border-right-width:0;transform:rotate(-135deg);border-left-color:#5e7ce0}.devui-steps-guide.top>.devui-arrow,.devui-steps-guide.top-left>.devui-arrow,.devui-steps-guide.top-right>.devui-arrow{bottom:-6px;border-bottom-width:0;border-top-color:#5e7ce0;transform:rotate(135deg)}.devui-steps-guide.top>.devui-arrow{left:calc(50% - 4px)}.devui-steps-guide.top-left>.devui-arrow{left:23px}.devui-steps-guide.top-right>.devui-arrow{right:23px;transform:rotate(-135deg)}.devui-steps-guide.right>.devui-arrow{top:23px;left:-6px;margin-top:-3px;border-left-width:0;transform:rotate(135deg);border-right-color:#5e7ce0}.devui-steps-guide.bottom>.devui-arrow,.devui-steps-guide.bottom-left>.devui-arrow,.devui-steps-guide.bottom-right>.devui-arrow{top:-6px;margin-left:3px;border-top-width:0;border-bottom-color:#5e7ce0}.devui-steps-guide.bottom>.devui-arrow{left:calc(50% - 4px);transform:rotate(-135deg)}.devui-steps-guide.bottom-right>.devui-arrow{right:23px;transform:rotate(135deg)}.devui-steps-guide.bottom-left>.devui-arrow{left:23px;transform:rotate(-135deg)}.devui-steps-guide>.devui-shining-dot,.devui-steps-guide .devui-shining-plus{position:absolute;background:#5e7ce0;width:6px;height:6px;border-radius:var(--devui-border-radius-feedback, 4px)}.devui-steps-guide.left>.devui-shining-dot,.devui-steps-guide.left>.devui-shining-plus{top:21px;right:-30px}.devui-steps-guide.right>.devui-shining-dot,.devui-steps-guide.right>.devui-shining-plus{top:21px;left:-30px}.devui-steps-guide.top>.devui-shining-dot,.devui-steps-guide.top>.devui-shining-plus{left:calc(50% - 3px);bottom:-30px}.devui-steps-guide.top-left>.devui-shining-dot,.devui-steps-guide.top-left>.devui-shining-plus{left:21px;bottom:-30px}.devui-steps-guide.top-right>.devui-shining-dot,.devui-steps-guide.top-right>.devui-shining-plus{right:21px;bottom:-30px}.devui-steps-guide.bottom>.devui-shining-dot,.devui-steps-guide.bottom>.devui-shining-plus{left:calc(50% - 3px);top:-30px}.devui-steps-guide.bottom-right>.devui-shining-dot,.devui-steps-guide.bottom-right>.devui-shining-plus{top:-30px;right:21px}.devui-steps-guide.bottom-left>.devui-shining-dot,.devui-steps-guide.bottom-left>.devui-shining-plus{top:-30px;left:21px}.devui-steps-guide .devui-shining-plus{animation:devui-glow 2s 0s infinite}.devui-steps-guide .devui-guide-container{position:relative}.devui-steps-guide .devui-guide-container>.icon-close{position:absolute;top:0;right:0;cursor:pointer}.devui-steps-guide .devui-guide-container .devui-ctrl{display:flex;flex-wrap:wrap}.devui-steps-guide .devui-guide-container .devui-ctrl .devui-dots{color:#fff;position:relative;top:25px;font-size:12px;height:30px}.devui-steps-guide .devui-guide-container .devui-ctrl .devui-dots>em{opacity:.2;margin:0 5px 0 2px}.devui-steps-guide .devui-guide-container .devui-ctrl .devui-dots>em.devui-active{opacity:1}.devui-steps-guide .devui-guide-container .devui-ctrl .devui-guide-btn{display:flex;flex-flow:row nowrap;flex-grow:1;justify-content:flex-end;padding:20px 0 0;white-space:nowrap}.devui-steps-guide .devui-guide-container .devui-ctrl .devui-guide-btn>div{color:#fff;background:rgba(255,255,255,.1);border-radius:4px;padding:5px 15px;cursor:pointer;margin-left:10px}.devui-steps-guide .devui-guide-container .devui-ctrl .devui-guide-btn>div.devui-prev-step{background:none;border:solid 1px rgba(255,255,255,.1)}@keyframes devui-glow{0%{transform:scale(1);opacity:.5}25%{transform:scale(2);opacity:.3}50%{transform:scale(3);opacity:.1}75%{transform:scale(2);opacity:.3}to{transform:scale(1);opacity:.5}}
package/sticky/index.d.ts DELETED
@@ -1,7 +0,0 @@
1
- import { App } from 'vue';
2
- declare function install(app: App): void
3
- declare const _default: {
4
- install: typeof install;
5
- version: string;
6
- };
7
- export default _default;
@@ -1,197 +0,0 @@
1
- import { defineComponent, reactive, watch, onMounted, ref, createVNode } from "vue";
2
- var Sticky = defineComponent({
3
- name: "DSticky",
4
- props: {
5
- zIndex: {
6
- type: Number
7
- },
8
- container: {
9
- type: Object
10
- },
11
- view: {
12
- type: Object,
13
- default: () => {
14
- return {
15
- top: 0,
16
- bottom: 0
17
- };
18
- }
19
- },
20
- scrollTarget: {
21
- type: Object
22
- }
23
- },
24
- emits: ["statusChange"],
25
- setup(props, ctx) {
26
- const {
27
- slots
28
- } = ctx;
29
- let container;
30
- let scrollTarget;
31
- let scrollTimer;
32
- let scrollPreStart;
33
- const THROTTLE_DELAY = 16;
34
- const THROTTLE_TRIGGER = 100;
35
- let parentNode;
36
- let containerLeft = 0;
37
- const state = reactive({
38
- status: "normal"
39
- });
40
- watch(() => props.zIndex, () => {
41
- init();
42
- });
43
- watch(() => props.container, () => {
44
- init();
45
- });
46
- watch(() => props.scrollTarget, () => {
47
- init();
48
- });
49
- watch(() => state.status, () => {
50
- ctx.emit("statusChange", state.status);
51
- }, {
52
- immediate: true
53
- });
54
- const init = () => {
55
- parentNode = stickyRef.value.parentElement;
56
- if (!props.container) {
57
- container = parentNode;
58
- } else {
59
- container = props.container;
60
- }
61
- stickyRef.value.style.zIndex = props.zIndex;
62
- scrollTarget = props.scrollTarget || window;
63
- scrollTarget.addEventListener("scroll", throttle);
64
- initScrollStatus(scrollTarget);
65
- };
66
- const initScrollStatus = (target) => {
67
- const scrollTargets = target === window ? [document.documentElement, document.body] : [target];
68
- let flag = false;
69
- scrollTargets.forEach((scrollTarget2) => {
70
- if (scrollTarget2.scrollTop && scrollTarget2.scrollTop > 0) {
71
- flag = true;
72
- }
73
- });
74
- if (flag) {
75
- setTimeout(scrollHandler);
76
- }
77
- };
78
- const statusProcess = (status) => {
79
- const wrapper = stickyRef.value || document.createElement("div");
80
- switch (status) {
81
- case "normal":
82
- wrapper.style.top = "auto";
83
- wrapper.style.left = "auto";
84
- wrapper.style.position = "static";
85
- break;
86
- case "follow":
87
- const scrollTargetElement = scrollTarget;
88
- const viewOffset = scrollTarget && scrollTarget !== window ? scrollTargetElement.getBoundingClientRect().top : 0;
89
- wrapper.style.top = +viewOffset + (props.view && props.view.top || 0) + "px";
90
- wrapper.style.left = wrapper.getBoundingClientRect().left + "px";
91
- wrapper.style.position = "fixed";
92
- break;
93
- case "stay":
94
- wrapper.style.top = calculateRelativePosition(wrapper, parentNode, "top") + "px";
95
- wrapper.style.left = "auto";
96
- wrapper.style.position = "relative";
97
- break;
98
- case "remain":
99
- if (wrapper.style.position !== "fixed" && wrapper.style.position !== "absolute") {
100
- wrapper.style.top = calculateRelativePosition(wrapper, parentNode, "top") + "px";
101
- wrapper.style.left = "auto";
102
- wrapper.style.position = "absolute";
103
- }
104
- wrapper.style.top = calculateRemainPosition(wrapper, parentNode, container) + "px";
105
- wrapper.style.left = calculateRelativePosition(wrapper, parentNode, "left") + "px";
106
- wrapper.style.position = "relative";
107
- break;
108
- }
109
- };
110
- const throttle = () => {
111
- const fn = scrollAndResizeHock;
112
- const time = Date.now();
113
- if (scrollTimer) {
114
- clearTimeout(scrollTimer);
115
- }
116
- if (!scrollPreStart) {
117
- scrollPreStart = time;
118
- }
119
- if (time - scrollPreStart > THROTTLE_TRIGGER) {
120
- fn();
121
- scrollPreStart = null;
122
- scrollTimer = null;
123
- } else {
124
- scrollTimer = setTimeout(() => {
125
- fn();
126
- scrollPreStart = null;
127
- scrollTimer = null;
128
- }, THROTTLE_DELAY);
129
- }
130
- };
131
- const scrollAndResizeHock = () => {
132
- if (container.getBoundingClientRect().left - (containerLeft || 0) !== 0) {
133
- state.status = "stay";
134
- containerLeft = container.getBoundingClientRect().left;
135
- } else {
136
- scrollHandler();
137
- }
138
- };
139
- const scrollHandler = () => {
140
- const scrollTargetElement = scrollTarget;
141
- const wrapper = stickyRef.value || document.createElement("div");
142
- const viewOffsetTop = scrollTarget && scrollTarget !== window ? scrollTargetElement.getBoundingClientRect().top : 0;
143
- const computedStyle = window.getComputedStyle(container);
144
- if (parentNode.getBoundingClientRect().top - viewOffsetTop > (props.view && props.view.top || 0)) {
145
- state.status = "normal";
146
- statusProcess(state.status);
147
- } else if (container.getBoundingClientRect().top + parseInt(computedStyle.paddingTop, 10) + parseInt(computedStyle.borderTopWidth, 10) - viewOffsetTop >= (props.view && props.view.top || 0)) {
148
- state.status = "normal";
149
- statusProcess(state.status);
150
- } else if (container.getBoundingClientRect().bottom - parseInt(computedStyle.paddingBottom, 10) - parseInt(computedStyle.borderBottomWidth, 10) < viewOffsetTop + (props.view && props.view.top || 0) + wrapper.getBoundingClientRect().height + (props.view && props.view.bottom || 0)) {
151
- state.status = "remain";
152
- statusProcess(state.status);
153
- } else if (container.getBoundingClientRect().top + parseInt(computedStyle.paddingTop, 10) - viewOffsetTop < (props.view && props.view.top || 0)) {
154
- state.status = "follow";
155
- statusProcess(state.status);
156
- }
157
- };
158
- const calculateRelativePosition = (element, relativeElement, direction) => {
159
- const key = {
160
- left: ["left", "Left"],
161
- top: ["top", "Top"]
162
- };
163
- if (window && window.getComputedStyle) {
164
- const computedStyle = window.getComputedStyle(relativeElement);
165
- return element.getBoundingClientRect()[key[direction][0]] - relativeElement.getBoundingClientRect()[key[direction][0]] - parseInt(computedStyle[direction === "left" ? "paddingLeft" : "paddingTop"], 10) - parseInt(computedStyle[direction === "left" ? "borderLeftWidth" : "borderTopWidth"], 10);
166
- }
167
- };
168
- const calculateRemainPosition = (element, relativeElement, container2) => {
169
- if (window && window.getComputedStyle) {
170
- const computedStyle = window.getComputedStyle(container2);
171
- const result = container2.getBoundingClientRect().height - element.getBoundingClientRect().height + container2.getBoundingClientRect().top - relativeElement.getBoundingClientRect().top - parseInt(computedStyle["paddingTop"], 10) - parseInt(computedStyle["borderTopWidth"], 10) - parseInt(computedStyle["paddingBottom"], 10) - parseInt(computedStyle["borderBottomWidth"], 10);
172
- return result < 0 ? 0 : result;
173
- }
174
- };
175
- onMounted(() => {
176
- init();
177
- });
178
- const stickyRef = ref();
179
- return () => {
180
- return createVNode("div", {
181
- "ref": stickyRef
182
- }, [slots.default ? slots.default() : ""]);
183
- };
184
- }
185
- });
186
- Sticky.install = function(app) {
187
- app.component(Sticky.name, Sticky);
188
- };
189
- var index = {
190
- title: "Sticky \u4FBF\u8D34",
191
- category: "\u901A\u7528",
192
- status: "50%",
193
- install(app) {
194
- app.use(Sticky);
195
- }
196
- };
197
- export { Sticky, index as default };
@@ -1 +0,0 @@
1
- (function(a,i){typeof exports=="object"&&typeof module!="undefined"?i(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],i):(a=typeof globalThis!="undefined"?globalThis:a||self,i(a.index={},a.Vue))})(this,function(a,i){"use strict";var r=i.defineComponent({name:"DSticky",props:{zIndex:{type:Number},container:{type:Object},view:{type:Object,default:()=>({top:0,bottom:0})},scrollTarget:{type:Object}},emits:["statusChange"],setup(e,h){const{slots:C}=h;let c,d,f,g;const B=16,S=100;let u,R=0;const s=i.reactive({status:"normal"});i.watch(()=>e.zIndex,()=>{w()}),i.watch(()=>e.container,()=>{w()}),i.watch(()=>e.scrollTarget,()=>{w()}),i.watch(()=>s.status,()=>{h.emit("statusChange",s.status)},{immediate:!0});const w=()=>{u=p.value.parentElement,e.container?c=e.container:c=u,p.value.style.zIndex=e.zIndex,d=e.scrollTarget||window,d.addEventListener("scroll",x),I(d)},I=l=>{const t=l===window?[document.documentElement,document.body]:[l];let o=!1;t.forEach(n=>{n.scrollTop&&n.scrollTop>0&&(o=!0)}),o&&setTimeout(v)},y=l=>{const t=p.value||document.createElement("div");switch(l){case"normal":t.style.top="auto",t.style.left="auto",t.style.position="static";break;case"follow":const n=d&&d!==window?d.getBoundingClientRect().top:0;t.style.top=+n+(e.view&&e.view.top||0)+"px",t.style.left=t.getBoundingClientRect().left+"px",t.style.position="fixed";break;case"stay":t.style.top=T(t,u,"top")+"px",t.style.left="auto",t.style.position="relative";break;case"remain":t.style.position!=="fixed"&&t.style.position!=="absolute"&&(t.style.top=T(t,u,"top")+"px",t.style.left="auto",t.style.position="absolute"),t.style.top=k(t,u,c)+"px",t.style.left=T(t,u,"left")+"px",t.style.position="relative";break}},x=()=>{const l=E,t=Date.now();f&&clearTimeout(f),g||(g=t),t-g>S?(l(),g=null,f=null):f=setTimeout(()=>{l(),g=null,f=null},B)},E=()=>{c.getBoundingClientRect().left-(R||0)!==0?(s.status="stay",R=c.getBoundingClientRect().left):v()},v=()=>{const l=d,t=p.value||document.createElement("div"),o=d&&d!==window?l.getBoundingClientRect().top:0,n=window.getComputedStyle(c);u.getBoundingClientRect().top-o>(e.view&&e.view.top||0)||c.getBoundingClientRect().top+parseInt(n.paddingTop,10)+parseInt(n.borderTopWidth,10)-o>=(e.view&&e.view.top||0)?(s.status="normal",y(s.status)):c.getBoundingClientRect().bottom-parseInt(n.paddingBottom,10)-parseInt(n.borderBottomWidth,10)<o+(e.view&&e.view.top||0)+t.getBoundingClientRect().height+(e.view&&e.view.bottom||0)?(s.status="remain",y(s.status)):c.getBoundingClientRect().top+parseInt(n.paddingTop,10)-o<(e.view&&e.view.top||0)&&(s.status="follow",y(s.status))},T=(l,t,o)=>{const n={left:["left","Left"],top:["top","Top"]};if(window&&window.getComputedStyle){const m=window.getComputedStyle(t);return l.getBoundingClientRect()[n[o][0]]-t.getBoundingClientRect()[n[o][0]]-parseInt(m[o==="left"?"paddingLeft":"paddingTop"],10)-parseInt(m[o==="left"?"borderLeftWidth":"borderTopWidth"],10)}},k=(l,t,o)=>{if(window&&window.getComputedStyle){const n=window.getComputedStyle(o),m=o.getBoundingClientRect().height-l.getBoundingClientRect().height+o.getBoundingClientRect().top-t.getBoundingClientRect().top-parseInt(n.paddingTop,10)-parseInt(n.borderTopWidth,10)-parseInt(n.paddingBottom,10)-parseInt(n.borderBottomWidth,10);return m<0?0:m}};i.onMounted(()=>{w()});const p=i.ref();return()=>i.createVNode("div",{ref:p},[C.default?C.default():""])}});r.install=function(e){e.component(r.name,r)};var b={title:"Sticky \u4FBF\u8D34",category:"\u901A\u7528",status:"50%",install(e){e.use(r)}};a.Sticky=r,a.default=b,Object.defineProperty(a,"__esModule",{value:!0}),a[Symbol.toStringTag]="Module"});
@@ -1,7 +0,0 @@
1
- {
2
- "name": "sticky",
3
- "version": "0.0.0",
4
- "main": "index.umd.js",
5
- "module": "index.es.js",
6
- "style": "style.css"
7
- }
package/table/index.d.ts DELETED
@@ -1,7 +0,0 @@
1
- import { App } from 'vue';
2
- declare function install(app: App): void
3
- declare const _default: {
4
- install: typeof install;
5
- version: string;
6
- };
7
- export default _default;