vue-devui 1.0.0-alpha.4 → 1.0.0-beta.10

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 (346) hide show
  1. package/accordion/index.d.ts +7 -0
  2. package/accordion/index.es.js +237 -1
  3. package/accordion/index.umd.js +1 -1
  4. package/accordion/style.css +1 -1
  5. package/alert/index.d.ts +7 -0
  6. package/alert/index.es.js +175 -1
  7. package/alert/index.umd.js +1 -1
  8. package/alert/style.css +1 -1
  9. package/anchor/index.d.ts +7 -0
  10. package/anchor/index.es.js +263 -1
  11. package/anchor/index.umd.js +1 -1
  12. package/avatar/index.d.ts +7 -0
  13. package/avatar/index.es.js +301 -1
  14. package/avatar/index.umd.js +1 -1
  15. package/back-top/index.d.ts +7 -0
  16. package/back-top/index.es.js +128 -0
  17. package/back-top/index.umd.js +1 -0
  18. package/back-top/package.json +7 -0
  19. package/back-top/style.css +1 -0
  20. package/badge/index.d.ts +7 -0
  21. package/badge/index.es.js +95 -1
  22. package/badge/index.umd.js +1 -1
  23. package/breadcrumb/index.d.ts +7 -0
  24. package/breadcrumb/index.es.js +127 -1
  25. package/breadcrumb/index.umd.js +1 -1
  26. package/breadcrumb/style.css +1 -1
  27. package/button/index.d.ts +7 -0
  28. package/button/index.es.js +190 -1
  29. package/button/index.umd.js +1 -1
  30. package/card/index.d.ts +7 -0
  31. package/card/index.es.js +61 -1
  32. package/card/index.umd.js +1 -1
  33. package/carousel/index.d.ts +7 -0
  34. package/carousel/index.es.js +329 -1
  35. package/carousel/index.umd.js +1 -1
  36. package/cascader/index.d.ts +7 -0
  37. package/cascader/index.es.js +1343 -1
  38. package/cascader/index.umd.js +1 -1
  39. package/cascader/style.css +1 -1
  40. package/checkbox/index.d.ts +7 -0
  41. package/checkbox/index.es.js +377 -1
  42. package/checkbox/index.umd.js +1 -1
  43. package/comment/index.d.ts +7 -0
  44. package/comment/index.es.js +85 -0
  45. package/comment/index.umd.js +1 -0
  46. package/comment/package.json +7 -0
  47. package/comment/style.css +1 -0
  48. package/countdown/index.d.ts +7 -0
  49. package/countdown/index.es.js +176 -0
  50. package/countdown/index.umd.js +1 -0
  51. package/countdown/package.json +7 -0
  52. package/countdown/style.css +1 -0
  53. package/date-picker/index.d.ts +7 -0
  54. package/date-picker/index.es.js +1172 -1
  55. package/date-picker/index.umd.js +1 -1
  56. package/date-picker/style.css +1 -1
  57. package/dragdrop/index.d.ts +7 -0
  58. package/dragdrop/index.es.js +32 -0
  59. package/dragdrop/index.umd.js +1 -0
  60. package/dragdrop/package.json +7 -0
  61. package/drawer/index.d.ts +7 -0
  62. package/drawer/index.es.js +288 -0
  63. package/drawer/index.umd.js +1 -0
  64. package/drawer/package.json +7 -0
  65. package/drawer/style.css +1 -0
  66. package/dropdown/index.d.ts +7 -0
  67. package/dropdown/index.es.js +527 -0
  68. package/dropdown/index.umd.js +1 -0
  69. package/dropdown/package.json +7 -0
  70. package/dropdown/style.css +1 -0
  71. package/editable-select/index.d.ts +7 -0
  72. package/editable-select/index.es.js +5793 -1
  73. package/editable-select/index.umd.js +27 -1
  74. package/editable-select/style.css +1 -1
  75. package/form/index.d.ts +7 -0
  76. package/form/index.es.js +2244 -0
  77. package/form/index.umd.js +1 -0
  78. package/form/package.json +7 -0
  79. package/form/style.css +1 -0
  80. package/fullscreen/index.d.ts +7 -0
  81. package/fullscreen/index.es.js +163 -1
  82. package/fullscreen/index.umd.js +1 -1
  83. package/gantt/index.d.ts +7 -0
  84. package/gantt/index.es.js +535 -0
  85. package/gantt/index.umd.js +1 -0
  86. package/gantt/package.json +7 -0
  87. package/gantt/style.css +1 -0
  88. package/grid/index.d.ts +7 -0
  89. package/grid/index.es.js +269 -0
  90. package/grid/index.umd.js +1 -0
  91. package/grid/package.json +7 -0
  92. package/grid/style.css +1 -0
  93. package/icon/index.d.ts +7 -0
  94. package/icon/index.es.js +75 -1
  95. package/icon/index.umd.js +1 -1
  96. package/image-preview/index.d.ts +7 -0
  97. package/image-preview/index.es.js +480 -1
  98. package/image-preview/index.umd.js +1 -1
  99. package/image-preview/style.css +1 -1
  100. package/index.d.ts +7 -0
  101. package/input/index.d.ts +7 -0
  102. package/input/index.es.js +190 -1
  103. package/input/index.umd.js +1 -1
  104. package/input-icon/index.d.ts +7 -0
  105. package/input-icon/index.es.js +332 -0
  106. package/input-icon/index.umd.js +1 -0
  107. package/input-icon/package.json +7 -0
  108. package/input-icon/style.css +1 -0
  109. package/input-number/index.d.ts +7 -0
  110. package/input-number/index.es.js +240 -1
  111. package/input-number/index.umd.js +1 -1
  112. package/input-number/style.css +1 -1
  113. package/layout/index.d.ts +7 -0
  114. package/layout/index.es.js +100 -0
  115. package/layout/index.umd.js +1 -0
  116. package/layout/package.json +7 -0
  117. package/layout/style.css +1 -0
  118. package/loading/index.d.ts +7 -0
  119. package/loading/index.es.js +256 -1
  120. package/loading/index.umd.js +1 -1
  121. package/modal/index.d.ts +7 -0
  122. package/modal/index.es.js +1027 -1
  123. package/modal/index.umd.js +1 -1
  124. package/modal/style.css +1 -1
  125. package/nav-sprite/index.d.ts +7 -0
  126. package/nav-sprite/index.es.js +742 -0
  127. package/nav-sprite/index.umd.js +1 -0
  128. package/nav-sprite/package.json +7 -0
  129. package/nuxt/components/Accordion.js +3 -0
  130. package/nuxt/components/Alert.js +3 -0
  131. package/nuxt/components/Anchor.js +3 -0
  132. package/nuxt/components/Aside.js +3 -0
  133. package/nuxt/components/Avatar.js +3 -0
  134. package/nuxt/components/BackTop.js +3 -0
  135. package/nuxt/components/Badge.js +3 -0
  136. package/nuxt/components/Breadcrumb.js +3 -0
  137. package/nuxt/components/Button.js +3 -0
  138. package/nuxt/components/Card.js +3 -0
  139. package/nuxt/components/Carousel.js +3 -0
  140. package/nuxt/components/Cascader.js +3 -0
  141. package/nuxt/components/Checkbox.js +3 -0
  142. package/nuxt/components/Col.js +3 -0
  143. package/nuxt/components/Column.js +3 -0
  144. package/nuxt/components/Comment.js +3 -0
  145. package/nuxt/components/Content.js +3 -0
  146. package/nuxt/components/Countdown.js +3 -0
  147. package/nuxt/components/DatePicker.js +3 -0
  148. package/nuxt/components/Drawer.js +3 -0
  149. package/nuxt/components/Dropdown.js +3 -0
  150. package/nuxt/components/EditableSelect.js +3 -0
  151. package/nuxt/components/FixedOverlay.js +3 -0
  152. package/nuxt/components/FlexibleOverlay.js +3 -0
  153. package/nuxt/components/Footer.js +3 -0
  154. package/nuxt/components/Form.js +3 -0
  155. package/nuxt/components/FormControl.js +3 -0
  156. package/nuxt/components/FormItem.js +3 -0
  157. package/nuxt/components/FormLabel.js +3 -0
  158. package/nuxt/components/FormOperation.js +3 -0
  159. package/nuxt/components/Fullscreen.js +3 -0
  160. package/nuxt/components/Gantt.js +3 -0
  161. package/nuxt/components/Header.js +3 -0
  162. package/nuxt/components/Icon.js +2 -0
  163. package/nuxt/components/ImagePreviewService.js +3 -0
  164. package/nuxt/components/Input.js +3 -0
  165. package/nuxt/components/InputIcon.js +3 -0
  166. package/nuxt/components/InputNumber.js +3 -0
  167. package/nuxt/components/Layout.js +3 -0
  168. package/nuxt/components/Loading.js +3 -0
  169. package/nuxt/components/LoadingService.js +3 -0
  170. package/nuxt/components/Modal.js +3 -0
  171. package/nuxt/components/MultiUpload.js +3 -0
  172. package/nuxt/components/NavSprite.js +2 -0
  173. package/nuxt/components/Pagination.js +3 -0
  174. package/nuxt/components/Panel.js +3 -0
  175. package/nuxt/components/Popover.js +3 -0
  176. package/nuxt/components/Progress.js +3 -0
  177. package/nuxt/components/QuadrantDiagram.js +3 -0
  178. package/nuxt/components/Radio.js +3 -0
  179. package/nuxt/components/RadioGroup.js +3 -0
  180. package/nuxt/components/Rate.js +3 -0
  181. package/nuxt/components/ReadTip.js +3 -0
  182. package/nuxt/components/Result.js +3 -0
  183. package/nuxt/components/Row.js +3 -0
  184. package/nuxt/components/Search.js +3 -0
  185. package/nuxt/components/Select.js +3 -0
  186. package/nuxt/components/Skeleton.js +3 -0
  187. package/nuxt/components/SkeletonItem.js +3 -0
  188. package/nuxt/components/Slider.js +3 -0
  189. package/nuxt/components/Splitter.js +3 -0
  190. package/nuxt/components/Statistic.js +3 -0
  191. package/nuxt/components/Status.js +3 -0
  192. package/nuxt/components/StepsGuide.js +3 -0
  193. package/nuxt/components/StickSlider.js +3 -0
  194. package/nuxt/components/Sticky.js +2 -0
  195. package/nuxt/components/Switch.js +3 -0
  196. package/nuxt/components/Table.js +3 -0
  197. package/nuxt/components/Tabs.js +3 -0
  198. package/nuxt/components/Tag.js +3 -0
  199. package/nuxt/components/TagInput.js +3 -0
  200. package/nuxt/components/Textarea.js +3 -0
  201. package/nuxt/components/TimeAxis.js +3 -0
  202. package/nuxt/components/TimeAxisItem.js +3 -0
  203. package/nuxt/components/TimePicker.js +3 -0
  204. package/nuxt/components/Toast.js +3 -0
  205. package/nuxt/components/ToastService.js +3 -0
  206. package/nuxt/components/Tooltip.js +3 -0
  207. package/nuxt/components/Transfer.js +3 -0
  208. package/nuxt/components/Tree.js +3 -0
  209. package/nuxt/components/TreeSelect.js +3 -0
  210. package/nuxt/components/Upload.js +3 -0
  211. package/nuxt/components/buttonProps.js +3 -0
  212. package/nuxt/index.js +13 -0
  213. package/overlay/index.d.ts +7 -0
  214. package/overlay/index.es.js +368 -1
  215. package/overlay/index.umd.js +1 -1
  216. package/overlay/style.css +1 -1
  217. package/package.json +8 -33
  218. package/pagination/index.d.ts +7 -0
  219. package/pagination/index.es.js +642 -1
  220. package/pagination/index.umd.js +1 -1
  221. package/panel/index.d.ts +7 -0
  222. package/panel/index.es.js +205 -1
  223. package/panel/index.umd.js +1 -1
  224. package/panel/style.css +1 -1
  225. package/popover/index.d.ts +7 -0
  226. package/popover/index.es.js +236 -1
  227. package/popover/index.umd.js +1 -1
  228. package/popover/style.css +1 -1
  229. package/progress/index.d.ts +7 -0
  230. package/progress/index.es.js +153 -1
  231. package/progress/index.umd.js +3 -1
  232. package/quadrant-diagram/index.d.ts +7 -0
  233. package/quadrant-diagram/index.es.js +489 -1
  234. package/quadrant-diagram/index.umd.js +1 -1
  235. package/radio/index.d.ts +7 -0
  236. package/radio/index.es.js +225 -1
  237. package/radio/index.umd.js +1 -1
  238. package/rate/index.d.ts +7 -0
  239. package/rate/index.es.js +220 -1
  240. package/rate/index.umd.js +1 -1
  241. package/read-tip/index.d.ts +7 -0
  242. package/read-tip/index.es.js +258 -0
  243. package/read-tip/index.umd.js +1 -0
  244. package/read-tip/package.json +7 -0
  245. package/read-tip/style.css +1 -0
  246. package/result/index.d.ts +7 -0
  247. package/result/index.es.js +119 -0
  248. package/result/index.umd.js +1 -0
  249. package/result/package.json +7 -0
  250. package/result/style.css +1 -0
  251. package/ripple/index.d.ts +7 -0
  252. package/ripple/index.es.js +181 -1
  253. package/ripple/index.umd.js +1 -1
  254. package/search/index.d.ts +7 -0
  255. package/search/index.es.js +543 -1
  256. package/search/index.umd.js +1 -1
  257. package/select/index.d.ts +7 -0
  258. package/select/index.es.js +706 -1
  259. package/select/index.umd.js +1 -1
  260. package/skeleton/index.d.ts +7 -0
  261. package/skeleton/index.es.js +297 -1
  262. package/skeleton/index.umd.js +1 -1
  263. package/skeleton/style.css +1 -1
  264. package/slider/index.d.ts +7 -0
  265. package/slider/index.es.js +199 -1
  266. package/slider/index.umd.js +1 -1
  267. package/slider/style.css +1 -1
  268. package/splitter/index.d.ts +7 -0
  269. package/splitter/index.es.js +636 -1
  270. package/splitter/index.umd.js +1 -1
  271. package/statistic/index.d.ts +7 -0
  272. package/statistic/index.es.js +280 -0
  273. package/statistic/index.umd.js +1 -0
  274. package/statistic/package.json +7 -0
  275. package/statistic/style.css +1 -0
  276. package/status/index.d.ts +7 -0
  277. package/status/index.es.js +42 -1
  278. package/status/index.umd.js +1 -1
  279. package/steps-guide/index.d.ts +7 -0
  280. package/steps-guide/index.es.js +239 -1
  281. package/steps-guide/index.umd.js +1 -1
  282. package/steps-guide/style.css +1 -1
  283. package/sticky/index.d.ts +7 -0
  284. package/sticky/index.es.js +197 -1
  285. package/sticky/index.umd.js +1 -1
  286. package/style.css +1 -1
  287. package/switch/index.d.ts +7 -0
  288. package/switch/index.es.js +100 -1
  289. package/switch/index.umd.js +1 -1
  290. package/switch/style.css +1 -1
  291. package/table/index.d.ts +7 -0
  292. package/table/index.es.js +1626 -1
  293. package/table/index.umd.js +1 -1
  294. package/table/style.css +1 -1
  295. package/tabs/index.d.ts +7 -0
  296. package/tabs/index.es.js +195 -1
  297. package/tabs/index.umd.js +1 -1
  298. package/tabs/style.css +1 -1
  299. package/tag/index.d.ts +7 -0
  300. package/tag/index.es.js +131 -0
  301. package/tag/index.umd.js +1 -0
  302. package/tag/package.json +7 -0
  303. package/tag/style.css +1 -0
  304. package/tag-input/index.d.ts +7 -0
  305. package/tag-input/index.es.js +329 -1
  306. package/tag-input/index.umd.js +1 -1
  307. package/textarea/index.d.ts +7 -0
  308. package/textarea/index.es.js +132 -0
  309. package/textarea/index.umd.js +1 -0
  310. package/textarea/package.json +7 -0
  311. package/textarea/style.css +1 -0
  312. package/time-axis/index.d.ts +7 -0
  313. package/time-axis/index.es.js +299 -0
  314. package/time-axis/index.umd.js +1 -0
  315. package/time-axis/package.json +7 -0
  316. package/time-axis/style.css +1 -0
  317. package/time-picker/index.d.ts +7 -0
  318. package/time-picker/index.es.js +1053 -1
  319. package/time-picker/index.umd.js +1 -1
  320. package/time-picker/style.css +1 -1
  321. package/toast/index.d.ts +7 -0
  322. package/toast/index.es.js +2060 -1
  323. package/toast/index.umd.js +1 -1
  324. package/toast/style.css +1 -1
  325. package/tooltip/index.d.ts +7 -0
  326. package/tooltip/index.es.js +171 -1
  327. package/tooltip/index.umd.js +1 -1
  328. package/transfer/index.d.ts +7 -0
  329. package/transfer/index.es.js +1725 -1
  330. package/transfer/index.umd.js +1 -1
  331. package/transfer/style.css +1 -1
  332. package/tree/index.d.ts +7 -0
  333. package/tree/index.es.js +907 -1
  334. package/tree/index.umd.js +1 -1
  335. package/tree/style.css +1 -1
  336. package/tree-select/index.d.ts +7 -0
  337. package/tree-select/index.es.js +528 -0
  338. package/tree-select/index.umd.js +1 -0
  339. package/tree-select/package.json +7 -0
  340. package/tree-select/style.css +1 -0
  341. package/upload/index.d.ts +7 -0
  342. package/upload/index.es.js +3179 -1
  343. package/upload/index.umd.js +1 -1
  344. package/upload/style.css +1 -1
  345. package/vue-devui.es.js +27755 -1
  346. package/vue-devui.umd.js +29 -1
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("vue")):"function"==typeof define&&define.amd?define(["exports","vue"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).index={},e.Vue)}(this,(function(e,t){"use strict";const n={data:{type:Array,default:[]},striped:{type:Boolean,default:!1}};var o=t.defineComponent({name:"DColGroup",setup:()=>({columns:t.inject("table").store.states._columns}),render(){const{columns:e}=this;return t.createVNode("colgroup",null,[e.map(((e,n)=>t.createVNode("col",{key:n,width:e.realWidth},null)))])}});const r={store:{type:Object,default:{}}};var a=t.defineComponent({name:"DTableHeader",props:r,setup(e){const{store:n}=t.toRefs(e);return{columns:n.value.states._columns.value}},render(){const{columns:e}=this;return t.createVNode("thead",{class:"devui-thead"},[t.createVNode("tr",null,[e.map(((e,n)=>t.createVNode("th",{key:n},[e.renderHeader()])))])])}});const l={store:{type:Object,default:{}}};var s=t.defineComponent({name:"DTableBody",props:l,setup(e){const{rowColumns:n}=function(e){const n=e.store.states;return{rowColumns:t.computed((()=>n._data.value.map((e=>{const t=Object.assign({},e);return t.columns=n._columns.value,t}))))}}(e);return{rowColumns:n}},render(){const{rowColumns:e}=this;return t.createVNode("tbody",{class:"devui-tbody"},[e.map(((e,n)=>t.createVNode("tr",{key:n},[e.columns.map(((n,o)=>t.createVNode("td",{key:o},[n.renderCell({row:e,column:n,$index:o})])))])))])}}),u=t.defineComponent({name:"DTable",props:n,setup(e){const n=t.getCurrentInstance(),o=function(e){const n=t.ref([]),o=t.ref([]);function r(){n.value=[],e.data.forEach((e=>{n.value.push(e)}))}return r(),t.watch((()=>e.data),r,{deep:!0}),{insertColumn:e=>{o.value.push(e)},states:{_data:n,_columns:o}}}(e);n.store=o;const{classes:r}=function(e){return{classes:t.computed((()=>({"devui-table":!0,"devui-table-striped":e.striped})))}}(e);return t.provide("table",n),{classes:r,store:o}},render(){const{classes:e,data:n,store:r,$slots:l}=this;return t.createVNode("div",{class:"devui-table-wrapper"},[l.default(),t.createVNode("table",{class:e,cellpadding:"0",cellspacing:"0"},[t.createVNode(o,null,null),t.createVNode(a,{store:r},null),!!n.length&&t.createVNode(s,{store:r},null)]),!n.length&&t.createVNode("div",{class:"devui-table-empty"},[t.createTextVNode("No Data")])])}});const d={header:{type:String,default:""},field:{type:String,default:""},width:{type:[String,Number],default:""},minWidth:{type:[String,Number],default:80},formatter:{type:Function}};function c(e){return"number"==typeof e?e:parseInt(e,10)||0}function i(e){const n=t.ref(c(e.width)),o=t.ref(c(e.minWidth)||80);return{setColumnWidth:e=>(e.width=n.value,e.minWidth=o.value,e.realWidth=e.width||e.minWidth,e),setColumnRender:e=>{e.renderHeader=()=>function(e){return e.header}(e),e.renderCell=e=>function({row:e,column:t,$index:n}){var o;const r=e[t.field];if(t.formatter)return t.formatter(e,t,r,n);return(null==(o=null==r?void 0:r.toString)?void 0:o.call(r))||""}(e)}}}var p=t.defineComponent({name:"DColumn",props:d,setup(e){const n={field:e.field,header:e.header},o=t.inject("table"),{setColumnWidth:r,setColumnRender:a}=i(e);t.onBeforeMount((()=>{r(n),a(n)})),t.onMounted((()=>{o.store.insertColumn(n)}))},render:()=>null});u.install=function(e){e.component(u.name,u),e.component(p.name,p)};var m={title:"Table 表格",category:"数据展示",status:void 0,install(e){e.use(u)}};e.Column=p,e.Table=u,e.default=m,Object.defineProperty(e,"__esModule",{value:!0}),e[Symbol.toStringTag]="Module"}));
1
+ var Ee=Object.defineProperty,je=Object.defineProperties;var _e=Object.getOwnPropertyDescriptors;var K=Object.getOwnPropertySymbols;var We=Object.prototype.hasOwnProperty,He=Object.prototype.propertyIsEnumerable;var J=(g,t,k)=>t in g?Ee(g,t,{enumerable:!0,configurable:!0,writable:!0,value:k}):g[t]=k,x=(g,t)=>{for(var k in t||(t={}))We.call(t,k)&&J(g,k,t[k]);if(K)for(var k of K(t))He.call(t,k)&&J(g,k,t[k]);return g},O=(g,t)=>je(g,_e(t));(function(g,t){typeof exports=="object"&&typeof module!="undefined"?t(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],t):(g=typeof globalThis!="undefined"?globalThis:g||self,t(g.index={},g.Vue))})(this,function(g,t){"use strict";const k={data:{type:Array,default:[]},striped:{type:Boolean,default:!1},scrollable:{type:Boolean,default:!1},maxWidth:{type:String},maxHeight:{type:String},tableWidth:{type:String},tableHeight:{type:String},size:{type:String,validator(e){return e==="sm"||e==="md"||e==="lg"}},rowHoveredHighlight:{type:Boolean,default:!0},fixHeader:{type:Boolean,default:!1},checkable:{type:Boolean,default:!0},tableLayout:{type:String,default:"auto",validator(e){return e==="fixed"||e==="auto"}},showLoading:{type:Boolean,default:!1},headerBg:{type:Boolean,default:!1}},N=Symbol();function Q(e){const n=t.computed(()=>({"devui-table":!0,"devui-table-striped":e.striped,"header-bg":e.headerBg,"table-layout-auto":e.tableLayout==="auto"})),l=t.computed(()=>({maxHeight:e.maxHeight,maxWidth:e.maxWidth,height:e.tableHeight,width:e.tableWidth}));return{classes:n,style:l}}const _=e=>{const n=t.computed(()=>{const o=e.value;if(o.fixedLeft)return"devui-sticky-cell left";if(o.fixedRight)return"devui-sticky-cell right"}),l=t.computed(()=>{const o=e.value;if(o.fixedLeft)return`left:${o.fixedLeft}`;if(o.fixedRight)return`right:${o.fixedRight}`});return{stickyCell:n,offsetStyle:l}};function Z(e){const n=t.ref([]);t.watch(e,s=>{n.value=[...s]},{deep:!0,immediate:!0});const{_columns:l,insertColumn:o,removeColumn:i,sortColumn:c}=G(),{_checkAll:a,_checkList:r,_halfChecked:d,getCheckedRows:f}=ee(e,n),{sortData:h}=te(e,n),{filterData:y,resetFilterData:m}=le(e,n),{isFixedLeft:b}=ne(l);return{states:{_data:n,_columns:l,_checkList:r,_checkAll:a,_halfChecked:d,isFixedLeft:b},insertColumn:o,sortColumn:c,removeColumn:i,getCheckedRows:f,sortData:h,filterData:y,resetFilterData:m}}const G=()=>{const e=t.ref([]);return{_columns:e,insertColumn:i=>{e.value.push(i),e.value.sort((c,a)=>c.order>a.order?1:-1)},removeColumn:i=>{const c=e.value.findIndex(a=>a===i);c!==-1&&e.value.splice(c,1)},sortColumn:()=>{e.value.sort((i,c)=>i.order>c.order?1:-1)}}},ee=(e,n)=>{const l=t.ref([]),o=t.ref(!1),i=t.computed({get:()=>o.value,set:r=>{o.value=r;for(let d=0;d<l.value.length;d++)l.value[d]=r}}),c=t.ref(!1);return t.watch(e,r=>{l.value=new Array(r.length).fill(!1)},{deep:!0,immediate:!0}),t.watch(l,r=>{if(r.length===0)return;let d=!0,f=!0;for(let h=0;h<r.length;h++)d&&(d=r[h]),f&&(f=!r[h]);o.value=d,c.value=!(f||d)},{immediate:!0,deep:!0}),{_checkList:l,_checkAll:i,_halfChecked:c,getCheckedRows:()=>n.value.filter((r,d)=>l.value[d])}},te=(e,n)=>({sortData:(o,i,c=(a,r,d)=>r[a]>d[a])=>{i==="ASC"?n.value=n.value.sort((a,r)=>c(o,a,r)?1:-1):i==="DESC"?n.value=n.value.sort((a,r)=>c(o,a,r)?-1:1):n.value=[...e.value]}}),le=(e,n)=>{const l=new Set;return{filterData:(c,a)=>{l.add(c);const r=[...l];n.value=e.value.filter(d=>r.reduce((f,h)=>f&&a.indexOf(d[h])!==-1,!0))},resetFilterData:()=>{l.clear(),n.value=[...e.value]}}},ne=e=>({isFixedLeft:t.computed(()=>e.value.reduce((l,o)=>l||!!o.fixedLeft,!1))});var D=t.defineComponent({name:"DColGroup",setup(){const e=t.inject(N),n=e.store.states._columns;return()=>e.props.tableLayout==="fixed"?t.createVNode("colgroup",null,[e.props.checkable?t.createVNode("col",{width:36},null):null,n.value.map((l,o)=>t.createVNode("col",{key:o,width:l.realWidth},null))]):null}}),Pe="";const W={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}},oe=O(x({},W),{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}}),ae=O(x({},W),{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}}),H=Symbol("d-checkbox-group");var C=t.defineComponent({name:"DCheckbox",props:oe,emits:["change","update:checked","update:modelValue"],setup(e,n){const l=t.inject(H,null),o=t.computed(()=>e.checked||e.modelValue),i=t.computed(()=>(l==null?void 0:l.disabled.value)||e.disabled),c=t.computed(()=>{var s,u;return(u=(s=l==null?void 0:l.isItemChecked)==null?void 0:s.call(l,e.value))!=null?u:o.value}),a=t.computed(()=>{var s;return(s=l==null?void 0:l.isShowTitle.value)!=null?s:e.isShowTitle}),r=t.computed(()=>{var s;return(s=l==null?void 0:l.showAnimation.value)!=null?s:e.showAnimation}),d=t.computed(()=>{var s;return(s=l==null?void 0:l.color.value)!=null?s:e.color}),f=l==null?void 0:l.itemWidth.value,h=l==null?void 0:l.direction.value,y=(s,u)=>{var p;if(i.value)return Promise.resolve(!1);const w=(p=e.beforeChange)!=null?p:l==null?void 0:l.beforeChange;if(w){const V=w(s,u);return typeof V=="boolean"?Promise.resolve(V):V}return Promise.resolve(!0)},m=()=>{const s=!o.value;l==null||l.toggleGroupVal(e.value),n.emit("update:checked",s),n.emit("update:modelValue",s),n.emit("change",s)};return{itemWidth:f,direction:h,mergedColor:d,mergedDisabled:i,mergedIsShowTitle:a,mergedChecked:c,mergedShowAnimation:r,handleClick:()=>{y(!o.value,e.label).then(s=>s&&m())}}},render(){var q;const{itemWidth:e,direction:n,mergedChecked:l,mergedDisabled:o,mergedIsShowTitle:i,mergedShowAnimation:c,halfchecked:a,title:r,label:d,handleClick:f,name:h,value:y,mergedColor:m,$slots:b}=this,s={"devui-checkbox-column-margin":n==="column","devui-checkbox-wrap":typeof e!="undefined"},u=e?[`width: ${e}px`]:[],w={"devui-checkbox":!0,active:l,halfchecked:a,disabled:o,unchecked:!l},p=i?r||d:"",V=m&&a||m?`linear-gradient(${m}, ${m})`:"",j=[`border-color:${(l||a)&&m?m:""}`,`background-image:${V}`,`background-color:${m&&a?m:""}`],B={"devui-checkbox-material":!0,"custom-color":m,"devui-checkbox-no-label":!d&&!b.default,"devui-no-animation":!c,"devui-checkbox-default-background":!a},Fe={"devui-tick":!0,"devui-no-animation":!c},z=Ae=>Ae.stopPropagation(),Te={indeterminate:a};return t.createVNode("div",{class:s,style:u},[t.createVNode("div",{class:w},[t.createVNode("label",{title:p,onClick:f},[t.createVNode("input",t.mergeProps({name:h||y,class:"devui-checkbox-input",type:"checkbox"},Te,{checked:l,disabled:o,onClick:z,onChange:z}),null),t.createVNode("span",{style:j,class:B},[t.createVNode("span",{class:"devui-checkbox-halfchecked-bg"},null),t.createVNode("svg",{viewBox:"0 0 16 16",version:"1.1",xmlns:"http://www.w3.org/2000/svg",class:"devui-checkbox-tick"},[t.createVNode("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},[t.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:Fe},null)])])]),d||((q=b.default)==null?void 0:q.call(b))])])])}}),Ue="",F=t.defineComponent({name:"DCheckboxGroup",props:ae,emits:["change","update:modelValue"],setup(e,n){const l=t.toRef(e,"modelValue"),o={checked:!1,isShowTitle:!0,halfchecked:!1,showAnimation:!0,disabled:!1},i=a=>{let r=-1;if(typeof l.value[0]=="string"?r=l.value.findIndex(d=>d===a):typeof l.value[0]=="object"&&(r=l.value.findIndex(d=>d.value===a)),r===-1){if(typeof e.options[0]=="object"){const f=e.options.find(y=>y.value===a),h=[...l.value,f];n.emit("update:modelValue",h),n.emit("change",h);return}const d=[...l.value,a];n.emit("update:modelValue",d),n.emit("change",d);return}l.value.splice(r,1),n.emit("update:modelValue",l.value),n.emit("change",l.value)},c=a=>{if(typeof l.value[0]=="string")return l.value.includes(a);if(typeof l.value[0]=="object")return l.value.some(r=>r.value===a)};return t.provide(H,{disabled:t.toRef(e,"disabled"),isShowTitle:t.toRef(e,"isShowTitle"),color:t.toRef(e,"color"),showAnimation:t.toRef(e,"showAnimation"),beforeChange:e.beforeChange,isItemChecked:c,toggleGroupVal:i,itemWidth:t.toRef(e,"itemWidth"),direction:t.toRef(e,"direction")}),{defaultOpt:o}},render(){var c;const{direction:e,$slots:n,defaultOpt:l,options:o}=this;let i=(c=n.default)==null?void 0:c.call(n);return(o==null?void 0:o.length)>0&&(i=o.map(a=>{let r=null;return typeof a=="string"?r=Object.assign({},l,{label:a,value:a}):typeof a=="object"&&(r=Object.assign({},l,O(x({},a),{label:a.name}))),t.createVNode(C,r,null)})),t.createVNode("div",{class:"devui-checkbox-group"},[t.createVNode("div",{class:{"devui-checkbox-list-inline":e==="row"}},[i])])}});C.install=function(e){e.component(C.name,C)},F.install=function(e){e.component(F.name,F)};var Me="";const re=t.defineComponent({props:{modelValue:{type:String,default:""},"onUpdate:modelValue":{type:Function}},emits:["update:modelValue"],setup(e,n){const l=()=>{let o="";e.modelValue==="ASC"?o="DESC":e.modelValue==="DESC"?o="":o="ASC",n.emit("update:modelValue",o)};return()=>t.createVNode("span",{onClick:l,class:"sort-clickable"},[t.createVNode("i",{class:["datatable-svg",{"sort-icon-default":!e.modelValue,"sort-icon-asc":e.modelValue==="ASC","sort-icon-desc":e.modelValue==="DESC"}]},[t.createVNode("svg",{width:"16px",height:"16px",viewBox:"0 0 16 16",version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"},[t.createVNode("defs",null,[t.createVNode("circle",{id:"sort-svg-path-1",cx:"8",cy:"8",r:"8"},null),t.createVNode("filter",{x:"-34.4%",y:"-21.9%",width:"168.8%",height:"168.8%",filterUnits:"objectBoundingBox",id:"filter-2"},[t.createVNode("feOffset",{dx:"0",dy:"2",in:"SourceAlpha",result:"shadowOffsetOuter1"},null),t.createVNode("feGaussianBlur",{stdDeviation:"1.5",in:"shadowOffsetOuter1",result:"shadowBlurOuter1"},null),t.createVNode("feColorMatrix",{values:"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.085309222 0",type:"matrix",in:"shadowBlurOuter1"},null)])]),t.createVNode("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},[t.createVNode("use",{"fill-rule":"evenodd","xlink:href":"#sort-svg-path-1"},null),t.createVNode("polygon",{points:"8 4 11 7 5 7"},null),t.createVNode("polygon",{points:"8 12 5 9 11 9"},null)])])])])}}),ie={origin:{type:Object},isOpen:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},trigger:{type:String,default:"click"},closeScope:{type:String,default:"all"},closeOnMouseLeaveMenu:{type:Boolean,default:!1},showAnimation:{type:Boolean,default:!0}};function ce(e){return!!(e==null?void 0:e.$el)}function T(e){return e instanceof Element?e:e&&typeof e=="object"&&e.$el instanceof Element?e.$el:null}function v(e,n,l){return e==null||e.addEventListener(n,l),()=>{e==null||e.removeEventListener(n,l)}}const de=({visible:e,trigger:n,origin:l,closeScope:o,closeOnMouseLeaveMenu:i})=>{const c=t.ref(),a=()=>{o.value!=="none"&&(e.value=!1)};return t.watch([n,l,c],([r,d,f],h,y)=>{const m=T(d);if(!m||!f)return;const b=[v(f,"click",()=>{o.value==="all"&&(e.value=!1)})];if(r==="click")b.push(v(m,"click",()=>e.value=!e.value),v(document,"click",s=>{if(!e.value)return;const u=s.target;m.contains(u)||f.contains(u)||a()}),v(f,"mouseleave",()=>{i.value&&(e.value=!1)}));else if(r==="hover"){let s=!1,u=!1;const w=async p=>{await new Promise(V=>setTimeout(V,50)),!(p==="origin"&&s||p==="dropdown"&&u)&&a()};b.push(v(m,"mouseenter",()=>{u=!0,e.value=!0}),v(m,"mouseleave",()=>{u=!1,i.value||w("origin")}),v(f,"mouseenter",()=>{s=!0,e.value=!0}),v(f,"mouseleave",()=>{s=!1,w("dropdown")}))}y(()=>b.forEach(s=>s()))}),{dropdownEl:c}};var $e="";function se(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!t.isVNode(e)}const P=t.defineComponent({setup(e,n){return()=>{let l;return t.createVNode(t.Teleport,{to:"#d-overlay-anchor"},{default:()=>[t.createVNode(t.Transition,{name:"devui-overlay-fade"},se(l=t.renderSlot(n.slots,"default"))?l:{default:()=>[l]})]})}}}),U={visible:{type:Boolean},backgroundBlock:{type:Boolean,default:!1},backgroundClass:{type:String,default:""},backgroundStyle:{type:[String,Object]},onBackdropClick:{type:Function},backdropClose:{type:Boolean,default:!0},hasBackdrop:{type:Boolean,default:!0}},M=["update:visible","backdropClick"],ue=O(x({},U),{overlayStyle:{type:[String,Object],default:void 0}}),fe=x({origin:{type:Object,require:!0},position:{type:Object,default:()=>({originX:"left",originY:"top",overlayX:"left",overlayY:"top"})}},U);function $(e,n){const l=t.computed(()=>["devui-overlay-background",e.backgroundClass,e.hasBackdrop?"devui-overlay-background__color":"devui-overlay-background__disabled"]),o=t.computed(()=>"devui-overlay"),i=a=>{var r;a.preventDefault(),(r=e.onBackdropClick)==null||r.call(e),e.backdropClose&&n.emit("update:visible",!1)},c=a=>a.cancelBubble=!0;return t.onMounted(()=>{const a=document.body,r=a.style.overflow,d=a.style.position;t.watch([()=>e.visible,()=>e.backgroundBlock],([f,h])=>{if(h){const y=a.getBoundingClientRect().y;f?(a.style.overflowY="scroll",a.style.position=f?"fixed":"",a.style.top=`${y}px`):(a.style.overflowY=r,a.style.position=d,a.style.top="",window.scrollTo(0,-y))}}),t.onUnmounted(()=>{document.body.style.overflow=r})}),{backgroundClass:l,overlayClass:o,handleBackdropClick:i,handleOverlayBubbleCancel:c}}const A=t.defineComponent({name:"DFixedOverlay",props:ue,emits:M,setup(e,n){const{backgroundClass:l,overlayClass:o,handleBackdropClick:i,handleOverlayBubbleCancel:c}=$(e,n);return()=>t.createVNode(P,null,{default:()=>[t.withDirectives(t.createVNode("div",{class:l.value,style:e.backgroundStyle,onClick:i},[t.createVNode("div",{class:o.value,style:e.overlayStyle,onClick:c},[t.renderSlot(n.slots,"default")])]),[[t.vShow,e.visible]])]})}}),L=t.defineComponent({name:"DFlexibleOverlay",props:fe,emits:M,setup(e,n){const l=t.ref(null),o=t.reactive({position:"absolute"});t.onMounted(async()=>{const d=(m,b,s)=>{const u=he(m,b,s);o.left=`${u.x}px`,o.top=`${u.y}px`},f=t.computed(()=>{const m=l.value,b=me(e.origin);if(!(!m||!b))return{origin:b,overlay:m}}),h=t.toRef(e,"visible"),y=t.toRef(e,"position");t.watch([f,h,y],async([m,b,s],u,w)=>{if(!b||!m)return;const{origin:p,overlay:V}=m;d(s,V.getBoundingClientRect(),p);const j=[be(()=>d(s,V.getBoundingClientRect(),p)),we(V,B=>d(s,B[0].contentRect,p)),Ve(p,()=>d(s,V.getBoundingClientRect(),p))];w(()=>{j.forEach(B=>B())})})});const{backgroundClass:i,overlayClass:c,handleBackdropClick:a,handleOverlayBubbleCancel:r}=$(e);return()=>t.createVNode(P,null,{default:()=>[t.withDirectives(t.createVNode("div",{style:e.backgroundStyle,class:i.value,onClick:a},[t.createVNode("div",{ref:l,class:c.value,style:o,onClick:r},[t.renderSlot(n.slots,"default")])]),[[t.vShow,e.visible]])]})}});function me(e){return e instanceof Element?e:t.isRef(e)?T(e.value):ce(e)?T(e):e}function he(e,n,l){const o=ye(l),i=ge(o,e);return pe(i,n,e)}function ye(e){if(e instanceof Element)return e.getBoundingClientRect();const n=e.width||0,l=e.height||0;return{top:e.y,bottom:e.y+l,left:e.x,right:e.x+n,height:l,width:n}}function pe(e,n,l){let o;const{width:i,height:c}=n;l.overlayX=="center"?o=e.x-i/2:o=l.overlayX=="left"?e.x:e.x-i;let a;return l.overlayY=="center"?a=e.y-c/2:a=l.overlayY=="top"?e.y:e.y-c,{x:o,y:a}}function ge(e,n){let l;if(n.originX=="center")l=e.left+e.width/2;else{const i=e.left,c=e.right;l=n.originX=="left"?i:c}let o;return n.originY=="center"?o=e.top+e.height/2:o=n.originY=="top"?e.top:e.bottom,{x:l,y:o}}function be(e){return window.addEventListener("scroll",e,!0),window.addEventListener("resize",e),window.addEventListener("orientationchange",e),()=>{window.removeEventListener("scroll",e,!0),window.removeEventListener("resize",e),window.removeEventListener("orientationchange",e)}}function we(e,n){if(e instanceof Element){const l=new ResizeObserver(n);return l.observe(e),()=>l.disconnect()}return()=>{}}function Ve(e,n){if(e instanceof Element){const l=new MutationObserver(n);return l.observe(e,{attributeFilter:["style"]}),()=>l.disconnect()}return()=>{}}L.install=function(e){e.component(L.name,L)},A.install=function(e){e.component(A.name,A)};var Ie="",R=t.defineComponent({name:"DDropdown",props:ie,emits:[],setup(e,n){const{isOpen:l,origin:o,trigger:i,closeScope:c,closeOnMouseLeaveMenu:a}=t.toRefs(e),r=t.ref(!1);t.watch(l,y=>{r.value=y},{immediate:!0});const d={originX:"center",originY:"bottom",overlayX:"center",overlayY:"top"},{dropdownEl:f}=de({visible:r,origin:o,trigger:i,closeScope:c,closeOnMouseLeaveMenu:a}),h=t.computed(()=>e.showAnimation?r.value:!0);return()=>t.createVNode(t.Fragment,null,[t.createVNode(L,{origin:e.origin,visible:r.value,"onUpdate:visible":y=>r.value=y,position:d,hasBackdrop:!1},{default:()=>[t.createVNode(t.Transition,{name:"devui-dropdown-fade"},{default:()=>{var y,m;return[t.withDirectives(t.createVNode("div",{ref:f,style:"min-width:102px"},[(m=(y=n.slots).default)==null?void 0:m.call(y)]),[[t.vShow,h.value]])]}})]})])}});R.install=function(e){e.component(R.name,R)};var Xe="";const ke=t.defineComponent({props:{modelValue:{type:Array,default:[]},"onUpdate:modelValue":{type:Function},customTemplate:{type:Function},filterList:{type:Array,required:!0},filterMultiple:{type:Boolean,default:!0}},emits:["update:modelValue"],setup(e){const n=t.ref(null),l=(c,a)=>{const r=e.modelValue,d=e["onUpdate:modelValue"],f=!!r.find(h=>h===c.value);a&&!f?d==null||d([...r,c.value]):!a&&f&&(d==null||d(r.filter(h=>c.value!==h)))},o=c=>{var a;(a=e["onUpdate:modelValue"])==null||a.call(e,[c.value])},i=t.computed(()=>{const c=e.modelValue,a=r=>!!c.find(d=>d===r.value);return()=>t.createVNode("ul",{class:"devui-dropdown-menu data-table-column-filter-content",style:"padding:10px"},[e.filterList.map((r,d)=>t.createVNode("li",{style:d>0?"margin-top:10px":""},[e.filterMultiple?t.createVNode(C,{modelValue:a(r),"onUpdate:modelValue":f=>l(r,f)},{default:()=>[r.name]}):t.createVNode("span",{onClick:()=>o(r)},[r.name])]))])});return()=>t.createVNode(t.Fragment,null,[t.createVNode("span",{ref:n},[t.createVNode("i",{class:["filter-icon",{"filter-icon-active":!0}]},[t.createVNode("svg",{width:"16px",height:"16px",viewBox:"0 0 16 16",version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"},[t.createVNode("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},[t.createVNode("g",null,[t.createVNode("polygon",{points:"10.0085775 7 10.0085775 15 6 13 6 7 2 3 2 1 14 1 14 3"},null)])])])])]),t.createVNode(R,{origin:n.value,closeScope:"blank"},{default:()=>{var c,a;return[(a=(c=e.customTemplate)==null?void 0:c.call(e,{value:e.modelValue,onChange:e["onUpdate:modelValue"]}))!=null?a:i.value()]}})])}});var Ye="",ze="";const ve=(e,n)=>{const l=t.ref("DESC");return t.watch([l,n],([o,i])=>{i.sortable&&e.sortData(i.field,o,i.compareFn)},{immediate:!0}),l},Ce=(e,n)=>{const l=t.shallowRef();return t.watch(l,o=>{e.filterData(n.value.field,o)}),l};var I=t.defineComponent({name:"DTableHeader",setup(){const e=t.inject(N),{_checkAll:n,_halfChecked:l,_columns:o,isFixedLeft:i}=e.store.states,c=t.computed(()=>i.value?{class:"devui-sticky-cell left",style:"left:0;"}:null),a=t.computed(()=>e.props.checkable?t.createVNode("th",c.value,[t.createVNode(C,{style:"padding:10px;",modelValue:n.value,"onUpdate:modelValue":r=>n.value=r,halfchecked:l.value},null)]):null);return()=>t.createVNode("thead",{class:"devui-thead"},[t.createVNode("tr",null,[a.value,o.value.map((r,d)=>t.createVNode(Ne,{key:d,column:r},null))])])}});const Ne=t.defineComponent({props:{column:{type:Object,required:!0}},setup(e){const n=t.inject(N),{column:l}=t.toRefs(e),o=ve(n.store,l),i=Ce(n.store,l),{stickyCell:c,offsetStyle:a}=_(l);return()=>t.createVNode("th",{class:c.value,style:a.value},[t.createVNode("div",{class:"header-container"},[e.column.renderHeader(),e.column.filterable&&t.createVNode(ke,{modelValue:i.value,"onUpdate:modelValue":r=>i.value=r,filterList:e.column.filterList,customTemplate:e.column.customFilterTemplate},null)]),e.column.sortable&&t.createVNode(re,{modelValue:o.value,"onUpdate:modelValue":r=>o.value=r},null)])}});var X=t.defineComponent({name:"DTableBody",setup(){const e=t.inject(N),{_data:n,_columns:l,_checkList:o,isFixedLeft:i}=e.store.states,c=t.computed(()=>e.props.rowHoveredHighlight),a=t.computed(()=>i.value?{class:"devui-sticky-cell left",style:"left:0;"}:null),r=d=>e.props.checkable?t.createVNode("td",a.value,[t.createVNode(C,{modelValue:o.value[d],"onUpdate:modelValue":f=>o.value[d]=f},null)]):null;return()=>t.createVNode("tbody",{class:"devui-tbody"},[n.value.map((d,f)=>t.createVNode("tr",{key:f,class:{"hover-enabled":c.value}},[r(f),l.value.map((h,y)=>t.createVNode(xe,{column:h,index:y,row:d},null))]))])}});const xe=t.defineComponent({props:{column:{type:Object},row:{type:Object},index:{type:Number}},setup(e){const n=t.toRef(e,"column"),{stickyCell:l,offsetStyle:o}=_(n);return()=>t.createVNode("td",{class:l.value,style:o.value},[n.value.renderCell(e.row,e.index)])}});var qe="",S=t.defineComponent({name:"DTable",props:k,setup(e,n){const l=t.getCurrentInstance(),o=Z(t.toRef(e,"data"));l.store=o,t.provide(N,l);const{classes:i,style:c}=Q(e),a=t.computed(()=>e.data.length===0),r=t.computed(()=>t.createVNode("div",{class:"devui-table-view"},[t.createVNode("div",{style:"overflow: hidden scroll;"},[t.createVNode("table",{class:i.value,cellpadding:"0",cellspacing:"0"},[t.createVNode(D,null,null),t.createVNode(I,null,null)])]),t.createVNode("div",{class:"scroll-view"},[t.createVNode("table",{class:i.value,cellpadding:"0",cellspacing:"0"},[t.createVNode(D,null,null),!a.value&&t.createVNode(X,{style:"flex: 1"},null)])])])),d=t.computed(()=>t.createVNode("table",{class:i.value,cellpadding:"0",cellspacing:"0"},[t.createVNode(D,null,null),t.createVNode(I,{style:"position: relative"},null),!a.value&&t.createVNode(X,null,null)]));return n.expose({getCheckedRows(){return o.getCheckedRows()}}),()=>t.withDirectives(t.createVNode("div",{class:"devui-table-wrapper",style:c.value},[n.slots.default(),e.fixHeader?r.value:d.value,a.value&&t.createVNode("div",{class:"devui-table-empty"},[t.createTextVNode("No Data")])]),[[t.resolveDirective("dLoading"),e.showLoading]])}});const Se={header:{type:String,default:""},field:{type:String,default:""},width:{type:[String,Number],default:""},minWidth:{type:[String,Number],default:80},formatter:{type:Function},order:{type:Number,default:0},sortable:{type:Boolean,default:!1},compareFn:{type:Function,default:(e,n,l)=>n[e]<l[e]},filterable:{type:Boolean,default:!1},filterMultiple:{type:Boolean,default:!1},filterList:{type:Array,default:[]},fixedLeft:{type:String},fixedRight:{type:String}};function Y(e){return typeof e=="number"?e:parseInt(e,10)||0}function Be(e){return Y(e)||80}function Oe(e,n){const{field:l,header:o,sortable:i,width:c,minWidth:a,formatter:r,compareFn:d,filterable:f,filterList:h,filterMultiple:y,order:m,fixedLeft:b,fixedRight:s}=e,u=t.reactive({});return t.watch([l,o,m],([w,p,V])=>{u.field=w,u.header=p,u.order=V},{immediate:!0}),t.watch([i,d],([w,p])=>{u.sortable=w,u.compareFn=p}),t.watch([f,h,y],([w,p,V])=>{u.filterable=w,u.filterMultiple=V,u.filterList=p},{immediate:!0}),t.watch([b,s],([w,p])=>{u.fixedLeft=w,u.fixedRight=p},{immediate:!0}),t.watch([c,a],([w,p])=>{u.width=Y(w),u.minWidth=Be(p),u.realWidth=u.width||u.minWidth}),t.onBeforeMount(()=>{u.renderHeader=Le,u.renderCell=Re,u.formatter=r.value,u.customFilterTemplate=n.customFilterTemplate,u.subColumns=n.subColumns}),u}function Le(){return t.h("span",{class:"title"},this.header)}function Re(e,n){var o,i;const l=e[this.field];return this.formatter?this.formatter(e,l,n):(i=(o=l==null?void 0:l.toString)==null?void 0:o.call(l))!=null?i:""}var E=t.defineComponent({name:"DColumn",props:Se,setup(e,n){const l=Oe(t.toRefs(e),n.slots),o=t.inject(N);t.onMounted(()=>{o.store.insertColumn(l),t.watch(()=>l.order,()=>{o.store.sortColumn()})}),t.onBeforeUnmount(()=>{o.store.removeColumn(l)})},render(){return null}});S.install=function(e){e.component(S.name,S),e.component(E.name,E)};var De={title:"Table \u8868\u683C",category:"\u6570\u636E\u5C55\u793A",status:"10%",install(e){e.use(S)}};g.Column=E,g.Table=S,g.default=De,Object.defineProperty(g,"__esModule",{value:!0}),g[Symbol.toStringTag]="Module"});
package/table/style.css CHANGED
@@ -1 +1 @@
1
- .devui-thead tr{font-size:var(--devui-font-size-card-title, 14px);color:var(--devui-text, #252b3a);font-weight:700;border:none;border-bottom:1px solid var(--devui-line, #adb0b8);background-color:var(--devui-global-bg-normal, #ffffff)}.devui-thead tr th{text-align:left;padding:12px 10px;border:none}.devui-tbody tr{font-size:var(--devui-font-size-card-title, 14px);color:var(--devui-text, #252b3a);border:none;border-bottom:1px solid var(--devui-dividing-line, #dfe1e6);background-color:var(--devui-global-bg-normal, #ffffff)}.devui-tbody tr:hover{background-color:var(--devui-list-item-hover-bg, #f2f5fc)}.devui-tbody tr td{padding:10px;border:none}.devui-table{display:table;table-layout:fixed;width:100%;border-spacing:0;border:none}.devui-table-wrapper{width:100%;overflow-x:auto}.devui-table-striped tbody tr:nth-child(even){background-color:var(--devui-list-item-strip-bg, #f2f5fc)}.devui-table-empty{width:100%;font-size:var(--devui-font-size, 12px);text-align:center}
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:normal;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}.sort-clickable{cursor:pointer;position:absolute;top:-16px;left:50%;transform:translate(-50%);padding:8px;line-height:20px}.sort-icon-default>svg g use{fill:var(--devui-dividing-line, #dfe1e6)}.sort-icon-default>svg g polygon{fill:var(--devui-icon-bg, #ffffff)}.sort-icon-default:hover>svg g use{fill:var(--devui-icon-fill-active-hover, #526ecc)}.sort-icon-asc>svg g use,.sort-icon-desc>svg g use{fill:var(--devui-icon-fill-active, #5e7ce0)}.sort-icon-asc>svg g polygon,.sort-icon-desc>svg g polygon{fill:var(--devui-icon-bg, #ffffff)}.sort-icon-asc:hover>svg g use,.sort-icon-desc:hover>svg g use{fill:var(--devui-icon-fill-active-hover, #526ecc)}.sort-icon-asc>svg g polygon:last-of-type{opacity:.3}.sort-icon-desc>svg g polygon:first-of-type{opacity:.3}.devui-overlay-background{position:fixed;top:0;left:0;height:100vh;width:100vw;display:flex}.devui-overlay-background__color{background:rgba(0,0,0,.4)}.devui-overlay-background .devui-overlay{position:relative;z-index:1000;pointer-events:auto}.devui-overlay-background__disabled{pointer-events:none}@keyframes d-overlay-fade{0%{opacity:0}to{opacity:1}}.devui-overlay-fade-enter{opacity:0}.devui-overlay-fade-enter-active{animation-name:d-overlay-fade;animation-duration:.3s}.devui-overlay-fade-leave{opacity:1}.devui-overlay-fade-leave-active{animation-name:d-overlay-fade;animation-duration:.3s;animation-direction:reverse}.devui-dropdown span.icon-chevron-down,.devui-dropdown span.icon-select-arrow{display:inline-block;vertical-align:text-top}.devui-dropdown-animation span.icon-chevron-down,.devui-dropdown-animation span.icon-select-arrow{transition:transform var(--devui-animation-duration-slow, .3s) var(--devui-animation-ease-in-out-smooth, cubic-bezier(.645, .045, .355, 1))}.devui-dropdown.open span.icon-chevron-down,.devui-dropdown.open span.icon-select-arrow{transform:rotate(180deg)}@keyframes d-dropdown-fade{0%{opacity:0;transform:scaleY(.9999) scaleY(0)}to{opacity:1;transform:scaleY(.8) scaleY(4px)}}.devui-dropdown-fade-enter{opacity:0}.devui-dropdown-fade-enter-active{animation-name:d-dropdown-fade;animation-duration:.3s}.devui-dropdown-fade-leave{opacity:1}.devui-dropdown-fade-leave-active{animation-name:d-dropdown-fade;animation-duration:.3s;animation-direction:reverse}.data-table-column-filter-content{background:var(--devui-connected-overlay-bg, #ffffff);border-radius:var(--devui-border-radius, 2px);box-sizing:content-box}.data-table-column-filter-content .drop-down-item{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.data-table-column-filter-content .line{width:calc(100% - 20px);margin-left:10px}.data-table-column-filter-content>.filter-options>d-checkbox{height:30px;padding:0 10px}.data-table-column-filter-content .checkbox-group{padding:0 10px}.filter-content-hidden{display:none!important}.line{height:1px;background:var(--devui-dividing-line, #dfe1e6);margin-top:5px;margin-bottom:5px}.checkbox-group{height:30px}.button-style{display:inline-block;width:45%;font-size:var(--devui-font-size, 12px);color:var(--devui-text, #252b3a);text-align:center;line-height:20px;cursor:pointer}.button-style:hover{color:var(--devui-brand, #5e7ce0)}.normal-filter-list-container{overflow-y:auto}.icon-filter-style{color:var(--devui-dividing-line, #dfe1e6);cursor:pointer;margin-left:20px}.label-style{font-size:var(--devui-font-size, 12px);color:var(--devui-text, #252b3a);letter-spacing:0;margin-left:10px}.email-style{font-size:var(--devui-font-size, 12px);color:var(--devui-placeholder, #8a8e99);letter-spacing:0;margin-left:10px}.overlay-mask{position:fixed;top:0;bottom:0;right:0;left:0;z-index:9}.drop-down-item{padding:0 10px;height:30px;line-height:30px;cursor:pointer}.drop-down-item:hover{background:var(--devui-list-item-hover-bg, #f2f5fc);color:var(--devui-list-item-hover-text, #526ecc)}.filter-item-active{background:var(--devui-list-item-active-bg, #5e7ce0);color:var(--devui-list-item-active-text, #ffffff)}.edit-padding-fix{margin-top:-6px;margin-bottom:-6px}.filter-icon{display:inline-block;vertical-align:middle;cursor:pointer;height:16px;margin-top:-1px}.filter-icon>svg g{fill:var(--devui-dividing-line, #dfe1e6)}.filter-icon:hover>svg g{fill:var(--devui-icon-fill-active-hover, #526ecc)}.filter-icon-active{visibility:visible!important}.filter-icon-active>svg g{fill:var(--devui-icon-fill-active, #5e7ce0)}.filter-icon-active:hover>svg g{fill:var(--devui-icon-fill-active-hover, #526ecc)}.devui-thead tr{font-size:var(--devui-font-size-card-title, 14px);color:var(--devui-text, #252b3a);font-weight:700;border:none;border-bottom:1px solid var(--devui-line, #adb0b8);background-color:var(--devui-global-bg-normal, #ffffff)}.devui-thead tr th{text-align:left;padding:0;border:none}.devui-thead .header-container{position:relative;display:flex;align-items:center;padding-left:2px;padding-right:8px}.devui-thead .header-container .title{display:inline-block;line-height:36px;vertical-align:middle;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;cursor:default}.header-bg thead.devui-thead tr{background:var(--devui-list-item-hover-bg, #f2f5fc)}.devui-tbody tr{font-size:var(--devui-font-size-card-title, 14px);color:var(--devui-text, #252b3a);border:none;border-bottom:1px solid var(--devui-dividing-line, #dfe1e6);background-color:var(--devui-global-bg-normal, #ffffff)}.devui-tbody tr.hover-enabled:hover{background-color:var(--devui-list-item-hover-bg, #f2f5fc)}.devui-tbody tr td{padding:10px;border:none}.devui-sticky-cell{position:sticky;z-index:5;background-color:inherit}.devui-sticky-cell.left{box-shadow:#0000000d var(--devui-shadow-length-slide-right, 2px 0 8px 0)}.devui-sticky-cell.right{box-shadow:#0000000d var(--devui-shadow-length-slide-left, -2px 0 8px 0)}.devui-table{display:table;table-layout:fixed;width:100%;border-spacing:0;border:none;margin:0;padding:0}.devui-table-wrapper{width:100%;overflow-x:auto;padding-top:8px}.devui-table-striped tbody tr:nth-child(even){background-color:var(--devui-list-item-strip-bg, #f2f5fc)}.devui-table-empty{width:100%;font-size:var(--devui-font-size, 12px);text-align:center}.devui-table-view{display:flex;flex-direction:column;position:relative;height:100%}.devui-table-view .scroll-view{flex:1;overflow:scroll}.table-layout-auto{table-layout:auto}
@@ -0,0 +1,7 @@
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;
package/tabs/index.es.js CHANGED
@@ -1 +1,195 @@
1
- import{defineComponent as e,computed as a,reactive as t,provide as l,createVNode as n}from"vue";var s=e({name:"DTabs",props:{modelValue:{type:[String,Number],default:null},type:{type:String,default:"tabs"},showContent:{type:Boolean,default:!0},vertical:{type:Boolean,default:!1},reactivable:{type:Boolean,default:!0},customWidth:{type:String,default:""},cssClass:{type:String,default:""}},emits:["update:modelValue","activeTabChange","beforeChange"],setup(e,{emit:s,slots:i}){const d=a((()=>e.modelValue)),o=t({data:[],active:d,showContent:e.showContent});l("tabs",{state:o});const u=[e.type];return e.cssClass&&u.push(e.cssClass),e.vertical&&u.push("devui-nav-stacked"),()=>n("div",null,[n("ul",{role:"tablist",class:`devui-nav devui-nav-${u.join(" ")}`,id:"devuiTabs11"},[o.data.map((a=>n("li",{role:"presentation",onClick:()=>{return t=a.id||a.tabId,s("beforeChange"),s("update:modelValue",t),void(e.reactivable&&s("activeTabChange",t));var t},class:d.value===(a.id||a.tabId)?"active":"",id:a.id||a.tabId},[n("a",{role:"tab","data-toggle":a.id,"aria-expanded":d.value===(a.id||a.tabId)},[n("span",null,[a.title])])]))),n("div",{class:`devui-nav-${e.type}-animation`},null)]),i.default()])}});s.install=function(e){e.component(s.name,s)};var i={title:"Tabs 选项卡",category:"导航",install(e){e.use(s)}};export{s as Tabs,i as default};
1
+ import { defineComponent, ref, reactive, provide, onUpdated, onBeforeMount, onMounted, createVNode, inject } from "vue";
2
+ var tabs = "";
3
+ var Tabs = defineComponent({
4
+ name: "DTabs",
5
+ props: {
6
+ modelValue: {
7
+ type: [String, Number],
8
+ default: null
9
+ },
10
+ type: {
11
+ type: String,
12
+ default: "tabs"
13
+ },
14
+ showContent: {
15
+ type: Boolean,
16
+ default: true
17
+ },
18
+ vertical: {
19
+ type: Boolean,
20
+ default: false
21
+ },
22
+ reactivable: {
23
+ type: Boolean,
24
+ default: true
25
+ },
26
+ customWidth: {
27
+ type: String,
28
+ default: ""
29
+ },
30
+ cssClass: {
31
+ type: String,
32
+ default: ""
33
+ },
34
+ beforeChange: {
35
+ type: Function,
36
+ default: null
37
+ }
38
+ },
39
+ emits: ["update:modelValue", "activeTabChange"],
40
+ setup(props, {
41
+ emit,
42
+ slots
43
+ }) {
44
+ const tabsEle = ref(null);
45
+ const data = reactive({
46
+ offsetLeft: 0,
47
+ offsetWidth: 0,
48
+ id: null
49
+ });
50
+ const state = reactive({
51
+ data: [],
52
+ active: props.modelValue,
53
+ showContent: props.showContent,
54
+ slots: []
55
+ });
56
+ provide("tabs", {
57
+ state
58
+ });
59
+ const canChange = function(currentTab) {
60
+ let changeResult = Promise.resolve(true);
61
+ if (typeof props.beforeChange === "function") {
62
+ const result = props.beforeChange(currentTab);
63
+ if (typeof result !== "undefined") {
64
+ if (result.then) {
65
+ changeResult = result;
66
+ } else {
67
+ console.log(result);
68
+ changeResult = Promise.resolve(result);
69
+ }
70
+ }
71
+ }
72
+ return changeResult;
73
+ };
74
+ const activeClick = function(item, tabEl) {
75
+ if (!props.reactivable && props.modelValue === item.id) {
76
+ return;
77
+ }
78
+ canChange(item.id).then((change) => {
79
+ if (!change) {
80
+ return;
81
+ }
82
+ const tab = state.data.find((itemOption) => itemOption.id === item.id);
83
+ if (tab && !tab.disabled) {
84
+ state.active = item.id;
85
+ emit("update:modelValue", tab.id);
86
+ if (props.type === "slider" && tabEl && tabsEle) {
87
+ this.offsetLeft = tabEl.getBoundingClientRect().left - this.tabsEle.nativeElement.getBoundingClientRect().left;
88
+ this.offsetWidth = tabEl.getBoundingClientRect().width;
89
+ }
90
+ emit("activeTabChange", tab.id);
91
+ }
92
+ });
93
+ };
94
+ const ulClass = [props.type];
95
+ props.cssClass && ulClass.push(props.cssClass);
96
+ props.vertical && ulClass.push("devui-nav-stacked");
97
+ onUpdated(() => {
98
+ if (props.type === "slider") {
99
+ setTimeout(() => {
100
+ const tabEle = tabsEle.value.querySelector("#" + props.modelValue + ".active");
101
+ if (tabEle) {
102
+ data.offsetLeft = tabEle.getBoundingClientRect().left - tabsEle.value.getBoundingClientRect().left;
103
+ data.offsetWidth = tabEle.getBoundingClientRect().width;
104
+ }
105
+ });
106
+ }
107
+ });
108
+ onBeforeMount(() => {
109
+ if (props.type !== "slider" && props.modelValue === void 0 && state.data.length > 0) {
110
+ activeClick(state.data[0]);
111
+ }
112
+ });
113
+ onMounted(() => {
114
+ if (props.type === "slider" && props.modelValue === void 0 && state.data.length > 0 && state.data[0]) {
115
+ activeClick(state.data[0].tabsEle.value.getElementById(state.data[0].tabId));
116
+ }
117
+ });
118
+ return () => {
119
+ return createVNode("div", null, [createVNode("ul", {
120
+ "ref": tabsEle,
121
+ "role": "tablist",
122
+ "class": `devui-nav devui-nav-${ulClass.join(" ")}`,
123
+ "id": "devuiTabs11"
124
+ }, [state.data.map((item, i) => {
125
+ return createVNode("li", {
126
+ "role": "presentation",
127
+ "onClick": () => {
128
+ activeClick(item);
129
+ },
130
+ "class": (props.modelValue === (item.id || item.tabId) ? "active" : "") + " " + (item.disabled ? "disabled" : ""),
131
+ "id": item.id || item.tabId
132
+ }, [createVNode("a", {
133
+ "role": "tab",
134
+ "data-toggle": item.id,
135
+ "aria-expanded": props.modelValue === (item.id || item.tabId)
136
+ }, [state.slots[i] ? state.slots[i]() : createVNode("span", null, [item.title])])]);
137
+ }), createVNode("div", {
138
+ "class": `devui-nav-${props.type}-animation`,
139
+ "style": {
140
+ left: data.offsetLeft + "px",
141
+ width: data.offsetWidth + "px"
142
+ }
143
+ }, null)]), slots.default()]);
144
+ };
145
+ }
146
+ });
147
+ var Tab = defineComponent({
148
+ name: "DTab",
149
+ props: {
150
+ title: {
151
+ default: null,
152
+ type: [String, Number]
153
+ },
154
+ id: {
155
+ default: null,
156
+ type: String
157
+ },
158
+ disabled: {
159
+ type: Boolean,
160
+ default: false
161
+ }
162
+ },
163
+ setup(props, {
164
+ slots
165
+ }) {
166
+ const tabs2 = inject("tabs");
167
+ tabs2.state.slots.push(slots.dTabTitle);
168
+ tabs2.state.data.push(props);
169
+ return () => {
170
+ const {
171
+ id
172
+ } = props;
173
+ const content = tabs2.state.showContent && tabs2.state.active === id ? createVNode("div", {
174
+ "class": "devui-tab-content"
175
+ }, [createVNode("div", {
176
+ "role": "tabpanel",
177
+ "class": "devui-tab-pane in active"
178
+ }, [slots.default()])]) : null;
179
+ return content;
180
+ };
181
+ }
182
+ });
183
+ Tabs.install = function(app) {
184
+ app.component(Tabs.name, Tabs);
185
+ app.component(Tab.name, Tab);
186
+ };
187
+ var index = {
188
+ title: "Tabs \u9009\u9879\u5361",
189
+ category: "\u5BFC\u822A",
190
+ status: "60%",
191
+ install(app) {
192
+ app.use(Tabs);
193
+ }
194
+ };
195
+ export { Tabs, index as default };
package/tabs/index.umd.js CHANGED
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("vue")):"function"==typeof define&&define.amd?define(["exports","vue"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).index={},e.Vue)}(this,(function(e,t){"use strict";var a=t.defineComponent({name:"DTabs",props:{modelValue:{type:[String,Number],default:null},type:{type:String,default:"tabs"},showContent:{type:Boolean,default:!0},vertical:{type:Boolean,default:!1},reactivable:{type:Boolean,default:!0},customWidth:{type:String,default:""},cssClass:{type:String,default:""}},emits:["update:modelValue","activeTabChange","beforeChange"],setup(e,{emit:a,slots:l}){const o=t.computed((()=>e.modelValue)),n=t.reactive({data:[],active:o,showContent:e.showContent});t.provide("tabs",{state:n});const d=[e.type];return e.cssClass&&d.push(e.cssClass),e.vertical&&d.push("devui-nav-stacked"),()=>t.createVNode("div",null,[t.createVNode("ul",{role:"tablist",class:`devui-nav devui-nav-${d.join(" ")}`,id:"devuiTabs11"},[n.data.map((l=>t.createVNode("li",{role:"presentation",onClick:()=>{return t=l.id||l.tabId,a("beforeChange"),a("update:modelValue",t),void(e.reactivable&&a("activeTabChange",t));var t},class:o.value===(l.id||l.tabId)?"active":"",id:l.id||l.tabId},[t.createVNode("a",{role:"tab","data-toggle":l.id,"aria-expanded":o.value===(l.id||l.tabId)},[t.createVNode("span",null,[l.title])])]))),t.createVNode("div",{class:`devui-nav-${e.type}-animation`},null)]),l.default()])}});a.install=function(e){e.component(a.name,a)};var l={title:"Tabs 选项卡",category:"导航",install(e){e.use(a)}};e.Tabs=a,e.default=l,Object.defineProperty(e,"__esModule",{value:!0}),e[Symbol.toStringTag]="Module"}));
1
+ (function(d,t){typeof exports=="object"&&typeof module!="undefined"?t(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],t):(d=typeof globalThis!="undefined"?globalThis:d||self,t(d.index={},d.Vue))})(this,function(d,t){"use strict";var m="",u=t.defineComponent({name:"DTabs",props:{modelValue:{type:[String,Number],default:null},type:{type:String,default:"tabs"},showContent:{type:Boolean,default:!0},vertical:{type:Boolean,default:!1},reactivable:{type:Boolean,default:!0},customWidth:{type:String,default:""},cssClass:{type:String,default:""},beforeChange:{type:Function,default:null}},emits:["update:modelValue","activeTabChange"],setup(e,{emit:f,slots:o}){const s=t.ref(null),c=t.reactive({offsetLeft:0,offsetWidth:0,id:null}),n=t.reactive({data:[],active:e.modelValue,showContent:e.showContent,slots:[]});t.provide("tabs",{state:n});const v=function(a){let l=Promise.resolve(!0);if(typeof e.beforeChange=="function"){const i=e.beforeChange(a);typeof i!="undefined"&&(i.then?l=i:(console.log(i),l=Promise.resolve(i)))}return l},b=function(a,l){!e.reactivable&&e.modelValue===a.id||v(a.id).then(i=>{if(!i)return;const r=n.data.find(C=>C.id===a.id);r&&!r.disabled&&(n.active=a.id,f("update:modelValue",r.id),e.type==="slider"&&l&&s&&(this.offsetLeft=l.getBoundingClientRect().left-this.tabsEle.nativeElement.getBoundingClientRect().left,this.offsetWidth=l.getBoundingClientRect().width),f("activeTabChange",r.id))})},g=[e.type];return e.cssClass&&g.push(e.cssClass),e.vertical&&g.push("devui-nav-stacked"),t.onUpdated(()=>{e.type==="slider"&&setTimeout(()=>{const a=s.value.querySelector("#"+e.modelValue+".active");a&&(c.offsetLeft=a.getBoundingClientRect().left-s.value.getBoundingClientRect().left,c.offsetWidth=a.getBoundingClientRect().width)})}),t.onBeforeMount(()=>{e.type!=="slider"&&e.modelValue===void 0&&n.data.length>0&&b(n.data[0])}),t.onMounted(()=>{e.type==="slider"&&e.modelValue===void 0&&n.data.length>0&&n.data[0]&&b(n.data[0].tabsEle.value.getElementById(n.data[0].tabId))}),()=>t.createVNode("div",null,[t.createVNode("ul",{ref:s,role:"tablist",class:`devui-nav devui-nav-${g.join(" ")}`,id:"devuiTabs11"},[n.data.map((a,l)=>t.createVNode("li",{role:"presentation",onClick:()=>{b(a)},class:(e.modelValue===(a.id||a.tabId)?"active":"")+" "+(a.disabled?"disabled":""),id:a.id||a.tabId},[t.createVNode("a",{role:"tab","data-toggle":a.id,"aria-expanded":e.modelValue===(a.id||a.tabId)},[n.slots[l]?n.slots[l]():t.createVNode("span",null,[a.title])])])),t.createVNode("div",{class:`devui-nav-${e.type}-animation`,style:{left:c.offsetLeft+"px",width:c.offsetWidth+"px"}},null)]),o.default()])}}),h=t.defineComponent({name:"DTab",props:{title:{default:null,type:[String,Number]},id:{default:null,type:String},disabled:{type:Boolean,default:!1}},setup(e,{slots:f}){const o=t.inject("tabs");return o.state.slots.push(f.dTabTitle),o.state.data.push(e),()=>{const{id:s}=e;return o.state.showContent&&o.state.active===s?t.createVNode("div",{class:"devui-tab-content"},[t.createVNode("div",{role:"tabpanel",class:"devui-tab-pane in active"},[f.default()])]):null}}});u.install=function(e){e.component(u.name,u),e.component(h.name,h)};var y={title:"Tabs \u9009\u9879\u5361",category:"\u5BFC\u822A",status:"60%",install(e){e.use(u)}};d.Tabs=u,d.default=y,Object.defineProperty(d,"__esModule",{value:!0}),d[Symbol.toStringTag]="Module"});
package/tabs/style.css CHANGED
@@ -1 +1 @@
1
- .devui-font-size-base{font-size:var(--devui-font-size, 12px)}.devui-font-base{font-size:var(--devui-font-size, 12px);font-weight:normal;line-height:1.5}.devui-font-size-modal-title{font-size:var(--devui-font-size-modal-title, 18px)}.devui-font-modal-title{font-size:var(--devui-font-size-modal-title, 18px);font-weight:bold;line-height:1.5}.devui-font-size-page-title{font-size:var(--devui-font-size-page-title, 16px)}.devui-font-page-title{font-size:var(--devui-font-size-page-title, 16px);font-weight:bold;line-height:1.5}.devui-font-size-secondary-title{font-size:var(--devui-font-size-card-title, 14px)}.devui-font-secondary-title{font-size:var(--devui-font-size-card-title, 14px);font-weight:bold;line-height:1.5}:host{display:block}.devui-nav-tabs,.devui-nav-pills{font-size:var(--devui-font-size, 12px);background:transparent;font-weight:bold}.devui-nav-tabs li,.devui-nav-pills li{cursor:pointer;border:2px solid transparent}.devui-nav-tabs li a,.devui-nav-pills li a{cursor:pointer;border:none;line-height:30px;background-color:transparent;padding:0;color:var(--devui-text, #252b3a)}.devui-nav-tabs li a:hover,.devui-nav-tabs li a:focus,.devui-nav-tabs li a:active,.devui-nav-pills li a:hover,.devui-nav-pills li a:focus,.devui-nav-pills li a:active{outline:none}.devui-nav-tabs li.disabled a,.devui-nav-pills li.disabled a{color:var(--devui-disabled-text, #adb0b8);cursor:not-allowed}.devui-nav-tabs li.active a,.devui-nav-tabs li:hover:not(.disabled) a,.devui-nav-pills li.active a,.devui-nav-pills li:hover:not(.disabled) a{color:var(--devui-brand, #5e7ce0)}.devui-nav-tabs li:after,.devui-nav-pills li:after{content:"";display:block;margin:auto;height:2px;width:0;background:transparent;transition:width .3s ease-out,background-color .3s ease-out}.devui-nav-tabs li.active:after,.devui-nav-pills li.active:after{width:100%;background:var(--devui-brand, #5e7ce0)}.devui-nav-options{font-size:var(--devui-font-size, 12px);background:transparent;border:none;border-radius:var(--devui-border-radius, 2px)}.devui-nav-options>li{cursor:pointer;border:1px solid var(--devui-line, #adb0b8);border-left-width:0;background-color:var(--devui-base-bg, #ffffff);float:left}.devui-nav-options>li:first-child{border-left-width:1px;border-radius:var(--devui-border-radius, 2px) 0 0 var(--devui-border-radius, 2px)}.devui-nav-options>li:last-child{border-radius:0 var(--devui-border-radius, 2px) var(--devui-border-radius, 2px) 0}.devui-nav-options>li>a{cursor:pointer;border:none;color:var(--devui-text, #252b3a);line-height:26px;padding:0 15px}.devui-nav-options>li>a:hover,.devui-nav-options>li>a:focus,.devui-nav-options>li>a:active{outline:none}.devui-nav-options>li.disabled{border-color:var(--devui-disabled-line, #dfe1e6)}.devui-nav-options>li.disabled a{color:var(--devui-disabled-text, #adb0b8);cursor:not-allowed}.devui-nav-options>li.active>a,.devui-nav-options>li:hover:not(.disabled)>a{color:var(--devui-light-text, #ffffff)}.devui-nav-options>li.active>a:hover,.devui-nav-options>li:hover:not(.disabled)>a:hover{color:var(--devui-light-text, #ffffff);background:transparent}.devui-nav-options>li.active{background-color:var(--devui-brand, #5e7ce0);border-color:var(--devui-brand, #5e7ce0)}.devui-nav-options>li.active:not(:first-child):before{background-color:var(--devui-brand, #5e7ce0)}.devui-nav-options>li.active+li:before{background-color:var(--devui-brand, #5e7ce0)}.devui-nav-options>li:hover:not(.active):not(.disabled){background-color:var(--devui-brand-active, #526ecc);border-color:var(--devui-brand-active, #526ecc)}.devui-nav-options>li:hover:not(.active):not(.disabled):not(:first-child):before{background-color:var(--devui-brand-active, #526ecc)}.devui-nav-slider{font-size:var(--devui-font-size, 12px);border:none;border-radius:var(--devui-border-radius, 2px);background:var(--devui-list-item-hover-bg, #f2f5fc);width:fit-content;display:flex!important;align-items:center;position:relative}.devui-nav-slider>li{cursor:pointer;margin:2px;float:left;position:relative;z-index:1}.devui-nav-slider>li:first-child{border-left-width:1px;border-radius:var(--devui-border-radius, 2px) 0 0 var(--devui-border-radius, 2px)}.devui-nav-slider>li:last-child{border-radius:0 var(--devui-border-radius, 2px) var(--devui-border-radius, 2px) 0}.devui-nav-slider>li a{cursor:pointer;border:none;color:var(--devui-text, #252b3a);line-height:28px;padding:0 15px}.devui-nav-slider>li a:hover,.devui-nav-slider>li a:focus,.devui-nav-slider>li a:active{outline:none}.devui-nav-slider>li.disabled{border-color:var(--devui-disabled-line, #dfe1e6)}.devui-nav-slider>li.disabled a{color:var(--devui-disabled-text, #adb0b8);cursor:not-allowed}.devui-nav-slider>li.active a,.devui-nav-slider>li:hover:not(.disabled) a{color:var(--devui-brand-active, #526ecc)}.devui-nav-slider>li.active a:hover,.devui-nav-slider>li:hover:not(.disabled) a:hover{color:var(--devui-brand-active, #526ecc);background:transparent}.devui-nav-slider>li.active:not(:first-child):before,.devui-nav-slider>li:hover:not(.disabled):not(:first-child):before{content:"";display:block;top:-1px;left:-1px;width:1px;height:"calc(100% + 2px)";position:absolute}.devui-nav-slider>li.active{text-shadow:0 0 .7px var(--devui-brand, #5e7ce0)}.devui-nav-slider>li.active:not(:first-child):before{background-color:var(--devui-brand, #5e7ce0)}.devui-nav-slider>li.active+li:before{background-color:var(--devui-brand, #5e7ce0)}.devui-nav-slider>li:hover:not(.active):not(.disabled){color:var(--devui-brand-active, #526ecc)}.devui-nav-slider>li:hover:not(.active):not(.disabled):not(:first-child):before{background-color:var(--devui-brand-active, #526ecc)}.devui-nav-wrapped{font-size:var(--devui-font-size, 12px);background:transparent;border-bottom:1px solid var(--devui-dividing-line, #dfe1e6);background-color:var(--devui-base-bg, #ffffff)}.devui-nav-wrapped>li{cursor:pointer;float:left;position:relative;padding:8px 16px}.devui-nav-wrapped>li a{cursor:pointer;border:none;color:var(--devui-text, #252b3a);border-radius:var(--devui-border-radius, 2px) var(--devui-border-radius, 2px) 0 0}.devui-nav-wrapped>li a:hover,.devui-nav-wrapped>li a:focus,.devui-nav-wrapped>li a:active{outline:none}.devui-nav-wrapped>li.disabled{border-color:var(--devui-disabled-line, #dfe1e6)}.devui-nav-wrapped>li.disabled a{color:var(--devui-disabled-text, #adb0b8);cursor:not-allowed}.devui-nav-wrapped>li.active{border:1px solid var(--devui-dividing-line, #dfe1e6);background:var(--devui-global-bg, #f3f6f8);border-radius:var(--devui-border-radius, 2px) var(--devui-border-radius, 2px) 0 0;font-weight:700;margin:-1px;border-bottom-color:transparent}.devui-nav-wrapped>li.active a{color:var(--devui-brand-active, #526ecc)}.devui-nav-wrapped>li:hover:not(.active):not(.disabled) a{color:var(--devui-brand, #5e7ce0)}.devui-nav li a.custom-width{display:inline-block;padding:0;text-align:center}.devui-nav-tabs:not(.devui-nav-stacked){border-bottom:1px var(--devui-line, #adb0b8) solid}.devui-nav-tabs:not(.devui-nav-stacked) li{float:left;margin-left:32px;margin-bottom:-3px}.devui-nav-tabs:not(.devui-nav-stacked) li:first-child{margin-left:0}.devui-nav-pills:not(.devui-nav-stacked)>li{float:left;margin-left:32px}.devui-nav-pills:not(.devui-nav-stacked)>li:first-child{margin-left:0}.devui-nav:before,.devui-nav:after{content:" ";display:table}.devui-nav:after{clear:both}.devui-tab-content{margin-top:20px}.devui-nav-slider-animation{position:absolute;z-index:0;background-color:var(--devui-base-bg, #ffffff);border-radius:var(--devui-border-radius, 2px);box-shadow:0 2px 4px 0 var(--devui-light-shadow, rgba(0, 0, 0, .1));top:1px;height:30px;transition:left .3s cubic-bezier(.645,.045,.355,1),width .3s cubic-bezier(.645,.045,.355,1)}
1
+ :host{display:block}.devui-nav-tabs,.devui-nav-pills{font-size:var(--devui-font-size, 12px);background:transparent;font-weight:bold;list-style:none}.devui-nav-tabs li,.devui-nav-pills li{cursor:pointer;border:2px solid transparent}.devui-nav-tabs li a,.devui-nav-pills li a{cursor:pointer;border:none;line-height:30px;background-color:transparent;padding:0;text-decoration:none;color:var(--devui-text, #252b3a)}.devui-nav-tabs li a:hover,.devui-nav-tabs li a:focus,.devui-nav-tabs li a:active,.devui-nav-pills li a:hover,.devui-nav-pills li a:focus,.devui-nav-pills li a:active{outline:none}.devui-nav-tabs li.disabled a,.devui-nav-pills li.disabled a{color:var(--devui-disabled-text, #adb0b8);cursor:not-allowed}.devui-nav-tabs li.active a,.devui-nav-tabs li:hover:not(.disabled) a,.devui-nav-pills li.active a,.devui-nav-pills li:hover:not(.disabled) a{color:var(--devui-brand, #5e7ce0)}.devui-nav-tabs li:after,.devui-nav-pills li:after{content:"";display:block;margin:auto;height:2px;width:0;background:transparent;transition:width .3s ease-out,background-color .3s ease-out}.devui-nav-tabs li.active:after,.devui-nav-pills li.active:after{width:100%;background:var(--devui-brand, #5e7ce0)}.devui-nav-options{font-size:var(--devui-font-size, 12px);background:transparent;border:none;border-radius:var(--devui-border-radius, 2px)}.devui-nav-options>li{cursor:pointer;border:1px solid var(--devui-line, #adb0b8);border-left-width:0;background-color:var(--devui-base-bg, #ffffff);float:left}.devui-nav-options>li:first-child{border-left-width:1px;border-radius:var(--devui-border-radius, 2px) 0 0 var(--devui-border-radius, 2px)}.devui-nav-options>li:last-child{border-radius:0 var(--devui-border-radius, 2px) var(--devui-border-radius, 2px) 0}.devui-nav-options>li>a{cursor:pointer;border:none;color:var(--devui-text, #252b3a);line-height:26px;padding:0 15px}.devui-nav-options>li>a:hover,.devui-nav-options>li>a:focus,.devui-nav-options>li>a:active{outline:none}.devui-nav-options>li.disabled{border-color:var(--devui-disabled-line, #dfe1e6)}.devui-nav-options>li.disabled a{color:var(--devui-disabled-text, #adb0b8);cursor:not-allowed}.devui-nav-options>li.active>a,.devui-nav-options>li:hover:not(.disabled)>a{color:var(--devui-light-text, #ffffff)}.devui-nav-options>li.active>a:hover,.devui-nav-options>li:hover:not(.disabled)>a:hover{color:var(--devui-light-text, #ffffff);background:transparent}.devui-nav-options>li.active{background-color:var(--devui-brand, #5e7ce0);border-color:var(--devui-brand, #5e7ce0)}.devui-nav-options>li.active:not(:first-child):before{background-color:var(--devui-brand, #5e7ce0)}.devui-nav-options>li.active+li:before{background-color:var(--devui-brand, #5e7ce0)}.devui-nav-options>li:hover:not(.active):not(.disabled){background-color:var(--devui-brand-active, #526ecc);border-color:var(--devui-brand-active, #526ecc)}.devui-nav-options>li:hover:not(.active):not(.disabled):not(:first-child):before{background-color:var(--devui-brand-active, #526ecc)}.devui-nav-slider{font-size:var(--devui-font-size, 12px);border:none;border-radius:var(--devui-border-radius, 2px);background:var(--devui-list-item-hover-bg, #f2f5fc);width:fit-content;display:flex!important;align-items:center;position:relative}.devui-nav-slider>li{cursor:pointer;margin:2px;float:left;position:relative;z-index:1}.devui-nav-slider>li:first-child{border-left-width:1px;border-radius:var(--devui-border-radius, 2px) 0 0 var(--devui-border-radius, 2px)}.devui-nav-slider>li:last-child{border-radius:0 var(--devui-border-radius, 2px) var(--devui-border-radius, 2px) 0}.devui-nav-slider>li a{cursor:pointer;border:none;color:var(--devui-text, #252b3a);line-height:28px;padding:0 15px}.devui-nav-slider>li a:hover,.devui-nav-slider>li a:focus,.devui-nav-slider>li a:active{outline:none}.devui-nav-slider>li.disabled{border-color:var(--devui-disabled-line, #dfe1e6)}.devui-nav-slider>li.disabled a{color:var(--devui-disabled-text, #adb0b8);cursor:not-allowed}.devui-nav-slider>li.active a,.devui-nav-slider>li:hover:not(.disabled) a{color:var(--devui-brand-active, #526ecc)}.devui-nav-slider>li.active a:hover,.devui-nav-slider>li:hover:not(.disabled) a:hover{color:var(--devui-brand-active, #526ecc);background:transparent}.devui-nav-slider>li.active:not(:first-child):before,.devui-nav-slider>li:hover:not(.disabled):not(:first-child):before{content:"";display:block;top:-1px;left:-1px;width:1px;height:"calc(100% + 2px)";position:absolute}.devui-nav-slider>li.active{text-shadow:0 0 .7px var(--devui-brand, #5e7ce0)}.devui-nav-slider>li.active:not(:first-child):before{background-color:var(--devui-brand, #5e7ce0)}.devui-nav-slider>li.active+li:before{background-color:var(--devui-brand, #5e7ce0)}.devui-nav-slider>li:hover:not(.active):not(.disabled){color:var(--devui-brand-active, #526ecc)}.devui-nav-slider>li:hover:not(.active):not(.disabled):not(:first-child):before{background-color:var(--devui-brand-active, #526ecc)}.devui-nav-wrapped{font-size:var(--devui-font-size, 12px);background:transparent;border-bottom:1px solid var(--devui-dividing-line, #dfe1e6);background-color:var(--devui-base-bg, #ffffff)}.devui-nav-wrapped>li{cursor:pointer;float:left;position:relative;padding:8px 16px}.devui-nav-wrapped>li a{cursor:pointer;border:none;color:var(--devui-text, #252b3a);border-radius:var(--devui-border-radius, 2px) var(--devui-border-radius, 2px) 0 0}.devui-nav-wrapped>li a:hover,.devui-nav-wrapped>li a:focus,.devui-nav-wrapped>li a:active{outline:none}.devui-nav-wrapped>li.disabled{border-color:var(--devui-disabled-line, #dfe1e6)}.devui-nav-wrapped>li.disabled a{color:var(--devui-disabled-text, #adb0b8);cursor:not-allowed}.devui-nav-wrapped>li.active{border:1px solid var(--devui-dividing-line, #dfe1e6);background:var(--devui-global-bg, #f3f6f8);border-radius:var(--devui-border-radius, 2px) var(--devui-border-radius, 2px) 0 0;font-weight:700;margin:-1px;border-bottom-color:transparent}.devui-nav-wrapped>li.active a{color:var(--devui-brand-active, #526ecc)}.devui-nav-wrapped>li:hover:not(.active):not(.disabled) a{color:var(--devui-brand, #5e7ce0)}.devui-nav{list-style:none;padding-left:0}.devui-nav li a{text-decoration:none}.devui-nav li a.custom-width{display:inline-block;padding:0;text-align:center}.devui-nav-tabs:not(.devui-nav-stacked){border-bottom:1px var(--devui-line, #adb0b8) solid}.devui-nav-tabs:not(.devui-nav-stacked) li{float:left;margin-left:32px;margin-bottom:-3px}.devui-nav-tabs:not(.devui-nav-stacked) li:first-child{margin-left:0}.devui-nav-pills:not(.devui-nav-stacked)>li{float:left;margin-left:32px}.devui-nav-pills:not(.devui-nav-stacked)>li:first-child{margin-left:0}.devui-nav:before,.devui-nav:after{content:" ";display:table}.devui-nav:after{clear:both}.devui-tab-content{margin-top:20px}.devui-nav-slider-animation{position:absolute;z-index:0;background-color:var(--devui-base-bg, #ffffff);border-radius:var(--devui-border-radius, 2px);box-shadow:0 2px 4px 0 var(--devui-light-shadow, rgba(0, 0, 0, .1));top:1px;height:30px;transition:left .3s cubic-bezier(.645,.045,.355,1),width .3s cubic-bezier(.645,.045,.355,1)}
package/tag/index.d.ts ADDED
@@ -0,0 +1,7 @@
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;
@@ -0,0 +1,131 @@
1
+ import { computed, defineComponent, toRefs, ref, watch, onUnmounted, withDirectives, createVNode, resolveComponent, vShow } from "vue";
2
+ const tagProps = {
3
+ type: {
4
+ type: String,
5
+ default: ""
6
+ },
7
+ color: {
8
+ type: String,
9
+ default: ""
10
+ },
11
+ titleContent: {
12
+ type: String,
13
+ default: ""
14
+ },
15
+ checked: {
16
+ type: Boolean,
17
+ default: false
18
+ },
19
+ deletable: {
20
+ type: Boolean,
21
+ default: false
22
+ }
23
+ };
24
+ function useClass(props) {
25
+ return computed(() => {
26
+ const { type, color } = props;
27
+ return `devui-tag devui-tag-${type || (color ? "colorful" : "") || "default"}`;
28
+ });
29
+ }
30
+ function useColor(props) {
31
+ return computed(() => {
32
+ const { color, type } = props;
33
+ const typeMap = {
34
+ primary: "#5e7ce0",
35
+ success: "#50d4ab",
36
+ warning: "#fac20a",
37
+ danger: "#f66f6a"
38
+ };
39
+ const colorMap = {
40
+ "blue-w98": "#3383ff",
41
+ "aqua-w98": "#39afcc",
42
+ "olivine-w98": "#2fa898",
43
+ "green-w98": "#4eb15e",
44
+ "yellow-w98": "#b08d1a",
45
+ "orange-w98": "#d47f35",
46
+ "red-w98": "#f66f6a",
47
+ "pink-w98": "#f3689a",
48
+ "purple-w98": "#a97af8"
49
+ };
50
+ if (!color && type)
51
+ return typeMap[type];
52
+ const themeColor = colorMap[color] || color;
53
+ return themeColor;
54
+ });
55
+ }
56
+ var tag = "";
57
+ var Tag = defineComponent({
58
+ name: "DTag",
59
+ props: tagProps,
60
+ emits: ["click", "tagDelete", "checkedChange"],
61
+ setup(props, {
62
+ slots,
63
+ emit
64
+ }) {
65
+ const {
66
+ type,
67
+ color,
68
+ checked,
69
+ titleContent,
70
+ deletable
71
+ } = toRefs(props);
72
+ const tagClass = useClass(props);
73
+ const themeColor = useColor(props);
74
+ const tagTitle = titleContent.value || "";
75
+ const isDefaultTag = () => !type.value && !color.value;
76
+ const isShow = ref(true);
77
+ const handleClick = () => {
78
+ emit("click");
79
+ };
80
+ const handleDelete = () => {
81
+ isShow.value = false;
82
+ emit("tagDelete");
83
+ };
84
+ const closeIconEl = () => {
85
+ return deletable.value ? createVNode("a", {
86
+ "class": "remove-button",
87
+ "onClick": handleDelete
88
+ }, [isDefaultTag() ? createVNode(resolveComponent("d-icon"), {
89
+ "size": "12px",
90
+ "name": "error-o",
91
+ "color": "#adb0b8"
92
+ }, null) : createVNode(resolveComponent("d-icon"), {
93
+ "size": "12px",
94
+ "name": "close",
95
+ "color": themeColor.value
96
+ }, null)]) : null;
97
+ };
98
+ const unWatch = watch(checked, (newVal) => {
99
+ console.log("checkedChange");
100
+ emit("checkedChange", newVal);
101
+ });
102
+ onUnmounted(() => unWatch());
103
+ return () => {
104
+ var _a;
105
+ return isShow.value && withDirectives(createVNode("div", {
106
+ "class": "devui-tag",
107
+ "onClick": handleClick
108
+ }, [createVNode("span", {
109
+ "class": tagClass.value,
110
+ "style": {
111
+ display: "block",
112
+ color: checked.value ? "#fff" : themeColor.value,
113
+ backgroundColor: checked.value ? themeColor.value : !color.value ? "" : "#fff"
114
+ },
115
+ "title": tagTitle
116
+ }, [(_a = slots.default) == null ? void 0 : _a.call(slots), closeIconEl()])]), [[vShow, isShow.value]]);
117
+ };
118
+ }
119
+ });
120
+ Tag.install = function(app) {
121
+ app.component(Tag.name, Tag);
122
+ };
123
+ var index = {
124
+ title: "Tag \u6807\u7B7E",
125
+ category: "\u6570\u636E\u5C55\u793A",
126
+ status: "70%",
127
+ install(app) {
128
+ app.use(Tag);
129
+ }
130
+ };
131
+ export { Tag, index as default };
@@ -0,0 +1 @@
1
+ (function(o,e){typeof exports=="object"&&typeof module!="undefined"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(o=typeof globalThis!="undefined"?globalThis:o||self,e(o.index={},o.Vue))})(this,function(o,e){"use strict";const f={type:{type:String,default:""},color:{type:String,default:""},titleContent:{type:String,default:""},checked:{type:Boolean,default:!1},deletable:{type:Boolean,default:!1}};function p(t){return e.computed(()=>{const{type:n,color:a}=t;return`devui-tag devui-tag-${n||(a?"colorful":"")||"default"}`})}function g(t){return e.computed(()=>{const{color:n,type:a}=t,i={primary:"#5e7ce0",success:"#50d4ab",warning:"#fac20a",danger:"#f66f6a"},c={"blue-w98":"#3383ff","aqua-w98":"#39afcc","olivine-w98":"#2fa898","green-w98":"#4eb15e","yellow-w98":"#b08d1a","orange-w98":"#d47f35","red-w98":"#f66f6a","pink-w98":"#f3689a","purple-w98":"#a97af8"};return!n&&a?i[a]:c[n]||n})}var D="",l=e.defineComponent({name:"DTag",props:f,emits:["click","tagDelete","checkedChange"],setup(t,{slots:n,emit:a}){const{type:i,color:c,checked:r,titleContent:y,deletable:C}=e.toRefs(t),m=p(t),d=g(t),v=y.value||"",w=()=>!i.value&&!c.value,s=e.ref(!0),b=()=>{a("click")},k=()=>{s.value=!1,a("tagDelete")},T=()=>C.value?e.createVNode("a",{class:"remove-button",onClick:k},[w()?e.createVNode(e.resolveComponent("d-icon"),{size:"12px",name:"error-o",color:"#adb0b8"},null):e.createVNode(e.resolveComponent("d-icon"),{size:"12px",name:"close",color:d.value},null)]):null,S=e.watch(r,u=>{console.log("checkedChange"),a("checkedChange",u)});return e.onUnmounted(()=>S()),()=>{var u;return s.value&&e.withDirectives(e.createVNode("div",{class:"devui-tag",onClick:b},[e.createVNode("span",{class:m.value,style:{display:"block",color:r.value?"#fff":d.value,backgroundColor:r.value?d.value:c.value?"#fff":""},title:v},[(u=n.default)==null?void 0:u.call(n),T()])]),[[e.vShow,s.value]])}}});l.install=function(t){t.component(l.name,l)};var h={title:"Tag \u6807\u7B7E",category:"\u6570\u636E\u5C55\u793A",status:"70%",install(t){t.use(l)}};o.Tag=l,o.default=h,Object.defineProperty(o,"__esModule",{value:!0}),o[Symbol.toStringTag]="Module"});
@@ -0,0 +1,7 @@
1
+ {
2
+ "name": "tag",
3
+ "version": "0.0.0",
4
+ "main": "index.umd.js",
5
+ "module": "index.es.js",
6
+ "style": "style.css"
7
+ }
package/tag/style.css ADDED
@@ -0,0 +1 @@
1
+ .devui-tag{display:inline-block;margin:4px}.devui-tag .devui-tag{padding:0 8px;min-height:20px;font-size:12px;font-size:var(--devui-font-size, 12px);line-height:20px;border:1px solid;border-radius:var(--devui-border-radius, 2px);display:block;align-items:center;position:relative;cursor:default}.devui-tag .devui-tag.devui-tag-default{border:0;color:var(--devui-text, #252b3a);background-color:var(--devui-default-bg, #f3f6f8)}.devui-tag .devui-tag.devui-tag-primary{color:var(--devui-primary, #5e7ce0);background-color:var(--devui-primary-bg, #f2f5fc);border-color:var(--devui-primary-line, #5e7ce0)}.devui-tag .devui-tag.devui-tag-success{color:var(--devui-success, #50d4ab);background-color:var(--devui-success-bg, #edfff9);border-color:var(--devui-success-line, #50d4ab)}.devui-tag .devui-tag.devui-tag-warning{color:var(--devui-warning, #fac20a);background-color:var(--devui-warning-bg, #fff3e8);border-color:var(--devui-warning-line, #fa9841)}.devui-tag .devui-tag.devui-tag-danger{color:var(--devui-danger, #f66f6a);background-color:var(--devui-danger-bg, #ffeeed);border-color:var(--devui-danger-line, #f66f6a)}.devui-tag .devui-tag.devui-tag-colorful{background-color:#fff}.devui-tag .remove-button{display:inline-block;margin-left:12px;font-size:var(--devui-font-size-icon, 16px);cursor:pointer;width:12px;height:12px;line-height:12px;border-radius:50%;text-align:center;position:relative;top:-.22em;vertical-align:middle}
@@ -0,0 +1,7 @@
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;