vue-devui 1.0.0-alpha.5 → 1.0.0-beta.11

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 (344) hide show
  1. package/README.md +31 -36
  2. package/accordion/index.d.ts +7 -0
  3. package/accordion/index.es.js +508 -1
  4. package/accordion/index.umd.js +1 -1
  5. package/accordion/style.css +1 -1
  6. package/alert/index.d.ts +7 -0
  7. package/alert/index.es.js +175 -1
  8. package/alert/index.umd.js +1 -1
  9. package/alert/style.css +1 -1
  10. package/anchor/index.d.ts +7 -0
  11. package/anchor/index.es.js +263 -1
  12. package/anchor/index.umd.js +1 -1
  13. package/avatar/index.d.ts +7 -0
  14. package/avatar/index.es.js +301 -1
  15. package/avatar/index.umd.js +1 -1
  16. package/back-top/index.d.ts +7 -0
  17. package/back-top/index.es.js +128 -0
  18. package/back-top/index.umd.js +1 -0
  19. package/back-top/package.json +7 -0
  20. package/back-top/style.css +1 -0
  21. package/badge/index.d.ts +7 -0
  22. package/badge/index.es.js +95 -1
  23. package/badge/index.umd.js +1 -1
  24. package/breadcrumb/index.d.ts +7 -0
  25. package/breadcrumb/index.es.js +127 -1
  26. package/breadcrumb/index.umd.js +1 -1
  27. package/button/index.d.ts +7 -0
  28. package/button/index.es.js +392 -1
  29. package/button/index.umd.js +1 -1
  30. package/button/style.css +1 -1
  31. package/card/index.d.ts +7 -0
  32. package/card/index.es.js +61 -1
  33. package/card/index.umd.js +1 -1
  34. package/carousel/index.d.ts +7 -0
  35. package/carousel/index.es.js +329 -1
  36. package/carousel/index.umd.js +1 -1
  37. package/cascader/index.d.ts +7 -0
  38. package/cascader/index.es.js +1343 -1
  39. package/cascader/index.umd.js +1 -1
  40. package/cascader/style.css +1 -1
  41. package/checkbox/index.d.ts +7 -0
  42. package/checkbox/index.es.js +377 -1
  43. package/checkbox/index.umd.js +1 -1
  44. package/comment/index.d.ts +7 -0
  45. package/comment/index.es.js +85 -0
  46. package/comment/index.umd.js +1 -0
  47. package/comment/package.json +7 -0
  48. package/comment/style.css +1 -0
  49. package/countdown/index.d.ts +7 -0
  50. package/countdown/index.es.js +176 -0
  51. package/countdown/index.umd.js +1 -0
  52. package/countdown/package.json +7 -0
  53. package/countdown/style.css +1 -0
  54. package/date-picker/index.d.ts +7 -0
  55. package/date-picker/index.es.js +1172 -1
  56. package/date-picker/index.umd.js +1 -1
  57. package/date-picker/style.css +1 -1
  58. package/dragdrop/index.d.ts +7 -0
  59. package/dragdrop/index.es.js +32 -0
  60. package/dragdrop/index.umd.js +1 -0
  61. package/dragdrop/package.json +7 -0
  62. package/drawer/index.d.ts +7 -0
  63. package/drawer/index.es.js +287 -0
  64. package/drawer/index.umd.js +1 -0
  65. package/drawer/package.json +7 -0
  66. package/drawer/style.css +1 -0
  67. package/dropdown/index.d.ts +7 -0
  68. package/dropdown/index.es.js +527 -0
  69. package/dropdown/index.umd.js +1 -0
  70. package/dropdown/package.json +7 -0
  71. package/dropdown/style.css +1 -0
  72. package/editable-select/index.d.ts +7 -0
  73. package/editable-select/index.es.js +5857 -1
  74. package/editable-select/index.umd.js +27 -1
  75. package/editable-select/style.css +1 -1
  76. package/form/index.d.ts +7 -0
  77. package/form/index.es.js +2244 -0
  78. package/form/index.umd.js +1 -0
  79. package/form/package.json +7 -0
  80. package/form/style.css +1 -0
  81. package/fullscreen/index.d.ts +7 -0
  82. package/fullscreen/index.es.js +163 -1
  83. package/fullscreen/index.umd.js +1 -1
  84. package/gantt/index.d.ts +7 -0
  85. package/gantt/index.es.js +535 -0
  86. package/gantt/index.umd.js +1 -0
  87. package/gantt/package.json +7 -0
  88. package/gantt/style.css +1 -0
  89. package/grid/index.d.ts +7 -0
  90. package/grid/index.es.js +269 -0
  91. package/grid/index.umd.js +1 -0
  92. package/grid/package.json +7 -0
  93. package/grid/style.css +1 -0
  94. package/icon/index.d.ts +7 -0
  95. package/icon/index.es.js +75 -1
  96. package/icon/index.umd.js +1 -1
  97. package/image-preview/index.d.ts +7 -0
  98. package/image-preview/index.es.js +480 -1
  99. package/image-preview/index.umd.js +1 -1
  100. package/image-preview/style.css +1 -1
  101. package/index.d.ts +7 -0
  102. package/input/index.d.ts +7 -0
  103. package/input/index.es.js +190 -1
  104. package/input/index.umd.js +1 -1
  105. package/input-icon/index.d.ts +7 -0
  106. package/input-icon/index.es.js +332 -0
  107. package/input-icon/index.umd.js +1 -0
  108. package/input-icon/package.json +7 -0
  109. package/input-icon/style.css +1 -0
  110. package/input-number/index.d.ts +7 -0
  111. package/input-number/index.es.js +240 -1
  112. package/input-number/index.umd.js +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 +1225 -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/NavSprite.js +2 -0
  172. package/nuxt/components/Pagination.js +3 -0
  173. package/nuxt/components/Panel.js +3 -0
  174. package/nuxt/components/Popover.js +3 -0
  175. package/nuxt/components/Progress.js +3 -0
  176. package/nuxt/components/QuadrantDiagram.js +3 -0
  177. package/nuxt/components/Radio.js +3 -0
  178. package/nuxt/components/RadioGroup.js +3 -0
  179. package/nuxt/components/Rate.js +3 -0
  180. package/nuxt/components/ReadTip.js +3 -0
  181. package/nuxt/components/Result.js +3 -0
  182. package/nuxt/components/Row.js +3 -0
  183. package/nuxt/components/Search.js +3 -0
  184. package/nuxt/components/Select.js +3 -0
  185. package/nuxt/components/Skeleton.js +3 -0
  186. package/nuxt/components/SkeletonItem.js +3 -0
  187. package/nuxt/components/Slider.js +3 -0
  188. package/nuxt/components/Splitter.js +3 -0
  189. package/nuxt/components/Statistic.js +3 -0
  190. package/nuxt/components/Status.js +3 -0
  191. package/nuxt/components/StepsGuide.js +3 -0
  192. package/nuxt/components/StickSlider.js +3 -0
  193. package/nuxt/components/Sticky.js +2 -0
  194. package/nuxt/components/Switch.js +3 -0
  195. package/nuxt/components/Table.js +3 -0
  196. package/nuxt/components/Tabs.js +3 -0
  197. package/nuxt/components/Tag.js +3 -0
  198. package/nuxt/components/TagInput.js +3 -0
  199. package/nuxt/components/Textarea.js +3 -0
  200. package/nuxt/components/TimeAxis.js +3 -0
  201. package/nuxt/components/TimeAxisItem.js +3 -0
  202. package/nuxt/components/TimePicker.js +3 -0
  203. package/nuxt/components/Toast.js +3 -0
  204. package/nuxt/components/ToastService.js +3 -0
  205. package/nuxt/components/Tooltip.js +3 -0
  206. package/nuxt/components/Transfer.js +3 -0
  207. package/nuxt/components/Tree.js +3 -0
  208. package/nuxt/components/TreeSelect.js +3 -0
  209. package/nuxt/components/Upload.js +3 -0
  210. package/nuxt/components/buttonProps.js +3 -0
  211. package/nuxt/index.js +13 -0
  212. package/overlay/index.d.ts +7 -0
  213. package/overlay/index.es.js +368 -1
  214. package/overlay/index.umd.js +1 -1
  215. package/overlay/style.css +1 -1
  216. package/package.json +8 -34
  217. package/pagination/index.d.ts +7 -0
  218. package/pagination/index.es.js +642 -1
  219. package/pagination/index.umd.js +1 -1
  220. package/panel/index.d.ts +7 -0
  221. package/panel/index.es.js +205 -1
  222. package/panel/index.umd.js +1 -1
  223. package/panel/style.css +1 -1
  224. package/popover/index.d.ts +7 -0
  225. package/popover/index.es.js +236 -1
  226. package/popover/index.umd.js +1 -1
  227. package/progress/index.d.ts +7 -0
  228. package/progress/index.es.js +153 -1
  229. package/progress/index.umd.js +3 -1
  230. package/quadrant-diagram/index.d.ts +7 -0
  231. package/quadrant-diagram/index.es.js +489 -1
  232. package/quadrant-diagram/index.umd.js +1 -1
  233. package/radio/index.d.ts +7 -0
  234. package/radio/index.es.js +225 -1
  235. package/radio/index.umd.js +1 -1
  236. package/rate/index.d.ts +7 -0
  237. package/rate/index.es.js +220 -1
  238. package/rate/index.umd.js +1 -1
  239. package/read-tip/index.d.ts +7 -0
  240. package/read-tip/index.es.js +258 -0
  241. package/read-tip/index.umd.js +1 -0
  242. package/read-tip/package.json +7 -0
  243. package/read-tip/style.css +1 -0
  244. package/result/index.d.ts +7 -0
  245. package/result/index.es.js +119 -0
  246. package/result/index.umd.js +1 -0
  247. package/result/package.json +7 -0
  248. package/result/style.css +1 -0
  249. package/ripple/index.d.ts +7 -0
  250. package/ripple/index.es.js +181 -1
  251. package/ripple/index.umd.js +1 -1
  252. package/search/index.d.ts +7 -0
  253. package/search/index.es.js +543 -1
  254. package/search/index.umd.js +1 -1
  255. package/select/index.d.ts +7 -0
  256. package/select/index.es.js +706 -1
  257. package/select/index.umd.js +1 -1
  258. package/skeleton/index.d.ts +7 -0
  259. package/skeleton/index.es.js +297 -1
  260. package/skeleton/index.umd.js +1 -1
  261. package/skeleton/style.css +1 -1
  262. package/slider/index.d.ts +7 -0
  263. package/slider/index.es.js +199 -1
  264. package/slider/index.umd.js +1 -1
  265. package/slider/style.css +1 -1
  266. package/splitter/index.d.ts +7 -0
  267. package/splitter/index.es.js +636 -1
  268. package/splitter/index.umd.js +1 -1
  269. package/statistic/index.d.ts +7 -0
  270. package/statistic/index.es.js +280 -0
  271. package/statistic/index.umd.js +1 -0
  272. package/statistic/package.json +7 -0
  273. package/statistic/style.css +1 -0
  274. package/status/index.d.ts +7 -0
  275. package/status/index.es.js +42 -1
  276. package/status/index.umd.js +1 -1
  277. package/steps-guide/index.d.ts +7 -0
  278. package/steps-guide/index.es.js +239 -1
  279. package/steps-guide/index.umd.js +1 -1
  280. package/steps-guide/style.css +1 -1
  281. package/sticky/index.d.ts +7 -0
  282. package/sticky/index.es.js +197 -1
  283. package/sticky/index.umd.js +1 -1
  284. package/style.css +1 -1
  285. package/switch/index.d.ts +7 -0
  286. package/switch/index.es.js +100 -1
  287. package/switch/index.umd.js +1 -1
  288. package/switch/style.css +1 -1
  289. package/table/index.d.ts +7 -0
  290. package/table/index.es.js +1828 -1
  291. package/table/index.umd.js +1 -1
  292. package/table/style.css +1 -1
  293. package/tabs/index.d.ts +7 -0
  294. package/tabs/index.es.js +195 -1
  295. package/tabs/index.umd.js +1 -1
  296. package/tabs/style.css +1 -1
  297. package/tag/index.d.ts +7 -0
  298. package/tag/index.es.js +131 -0
  299. package/tag/index.umd.js +1 -0
  300. package/tag/package.json +7 -0
  301. package/tag/style.css +1 -0
  302. package/tag-input/index.d.ts +7 -0
  303. package/tag-input/index.es.js +329 -1
  304. package/tag-input/index.umd.js +1 -1
  305. package/textarea/index.d.ts +7 -0
  306. package/textarea/index.es.js +132 -0
  307. package/textarea/index.umd.js +1 -0
  308. package/textarea/package.json +7 -0
  309. package/textarea/style.css +1 -0
  310. package/time-axis/index.d.ts +7 -0
  311. package/time-axis/index.es.js +299 -0
  312. package/time-axis/index.umd.js +1 -0
  313. package/time-axis/package.json +7 -0
  314. package/time-axis/style.css +1 -0
  315. package/time-picker/index.d.ts +7 -0
  316. package/time-picker/index.es.js +1255 -1
  317. package/time-picker/index.umd.js +1 -1
  318. package/time-picker/style.css +1 -1
  319. package/toast/index.d.ts +7 -0
  320. package/toast/index.es.js +2060 -1
  321. package/toast/index.umd.js +1 -1
  322. package/toast/style.css +1 -1
  323. package/tooltip/index.d.ts +7 -0
  324. package/tooltip/index.es.js +171 -1
  325. package/tooltip/index.umd.js +1 -1
  326. package/transfer/index.d.ts +7 -0
  327. package/transfer/index.es.js +1725 -1
  328. package/transfer/index.umd.js +1 -1
  329. package/transfer/style.css +1 -1
  330. package/tree/index.d.ts +7 -0
  331. package/tree/index.es.js +907 -1
  332. package/tree/index.umd.js +1 -1
  333. package/tree/style.css +1 -1
  334. package/tree-select/index.d.ts +7 -0
  335. package/tree-select/index.es.js +528 -0
  336. package/tree-select/index.umd.js +1 -0
  337. package/tree-select/package.json +7 -0
  338. package/tree-select/style.css +1 -0
  339. package/upload/index.d.ts +7 -0
  340. package/upload/index.es.js +2834 -1
  341. package/upload/index.umd.js +1 -1
  342. package/upload/style.css +1 -1
  343. package/vue-devui.es.js +27743 -1
  344. 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={pageSize:{type:Number,default:10},total:{type:Number,default:0},pageSizeOptions:{type:Array,default:()=>[5,10,20,50]},pageSizeDirection:{type:Array,default:()=>["centerDown","centerUp"]},pageIndex:{type:Number,default:1},maxItems:{type:Number,default:10},preLink:{type:String,default:"&lt;"},nextLink:{type:String,default:"&gt;"},size:{type:String,default:""},canJumpPage:{type:Boolean,default:!1},canChangePageSize:{type:Boolean,default:!1},canViewTotal:{type:Boolean,default:!1},totalItemText:{type:String,default:"所有条目"},goToText:{type:String,default:"跳至"},showJumpButton:{type:Boolean,default:!1},showTruePageIndex:{type:Boolean,default:!1},lite:{type:Boolean,default:!1},showPageSelector:{type:Boolean,default:!0},haveConfigMenu:{type:Boolean,default:!1},autoFixPageIndex:{type:Boolean,default:!0},autoHide:{type:Boolean,default:!1},"onUpdate:pageIndex":{type:Function},"onUpdate:pageSize":{type:Function},onPageIndexChange:{type:Function},onPageSizeChange:{type:Function}};function a(e,t,n){document.addEventListener?e&&t&&n&&e.addEventListener(t,n,!1):e&&t&&n&&e.attachEvent("on"+t,n)}const i="undefined"!=typeof window,o=Symbol("@@clickoutside"),u=new Map;let l,r=0,s=!0;function d(e,t,n){return i&&s&&(s=!1,a(document,"mousedown",(e=>{l=e})),a(document,"mouseup",(e=>{for(const[t,n]of u)n[o].documentHandler(e,l)}))),function(a,i){n&&t.instance&&a.target&&i.target&&!e.contains(a.target)&&!e.contains(i.target)&&e!==a.target&&e[o].bindingFn&&e[o].bindingFn()}}const c={beforeMount:function(e,t,n){r++,u.set(r,e),e[o]={nid:r,documentHandler:d(e,t,n),bindingFn:t.value}},updated:function(e,t,n){e[o].documentHandler=d(e,t,n),e[o].bindingFn=t.value},unmounted:function(e){u.delete(e[o].nid),delete e[o]}};var g=t.defineComponent({directives:{clickoutside:c},props:{currentPageSize:Number,pageSizeChange:Function,pageSizeOptions:Array},setup(){const e=t.ref(null),n=t.ref(!1);t.onMounted((()=>{a(e.value,"click",i)})),t.onUnmounted((()=>{var t,n,a;t=e.value,n="click",a=i,document.removeEventListener?t&&n&&a&&t.removeEventListener(n,a,!1):t&&n&&a&&t.detachEvent("on"+n,a)}));const i=e=>{n.value=!n.value&&!!e};return{paginationConfig:e,isShowConfig:n,closeConfigMenu:i}},render(){var e;const{closeConfigMenu:n,currentPageSize:a,pageSizeChange:i,pageSizeOptions:o,isShowConfig:u,$slots:l}=this;return t.withDirectives(t.createVNode("div",{class:"devui-pagination-config",ref:"paginationConfig"},[t.createVNode("div",{class:"devui-setup-icon"},[t.createVNode("i",{class:"icon-setting",style:"font-weight: bold;"},null)]),u&&t.createVNode("div",{class:"devui-config-container"},[null==(e=l.default)?void 0:e.call(l),t.createVNode("div",{class:"pagination-config-item"},[t.createVNode("div",{class:"config-item-title"},[t.createTextVNode("每页条数")]),t.createVNode("div",{class:"devui-page-number"},[o.map((e=>t.createVNode("div",{class:{choosed:e===a},key:e,onClick:i.bind(null,{value:e})},[e])))])])])]),[[t.resolveDirective("clickoutside"),n]])}});const p={goToText:String,size:{type:String,default:""},pageIndex:Number,showJumpButton:Boolean,totalPages:Number,cursor:Number,onChangeCursorEmit:Function};var m=t.defineComponent({props:p,emits:["changeCursorEmit"],setup(e,{emit:n}){const{pageIndex:a,totalPages:i,cursor:o}=t.toRefs(e),u=t.ref(a.value);t.watch((()=>a.value),(e=>{u.value=e}));let l=a.value;return{inputNum:u,jumpPageChange:e=>{l=+e,u.value=e,isNaN(e)&&setTimeout((()=>{u.value=a.value}),300)},jump:e=>{l>i.value||"btn"!==e&&"Enter"!==e.key||o.value===l||n("changeCursorEmit",l)}}},render(){const{goToText:e,size:n,inputNum:a,jumpPageChange:i,jump:o,showJumpButton:u}=this;return t.createVNode("div",{class:"devui-jump-container"},[e,t.createVNode(t.resolveComponent("d-input"),{class:["devui-pagination-input",n?"devui-pagination-input-"+n:""],size:n,value:String(a),"onUpdate:value":i,onKeydown:o},null),"跳至"===e&&"",u&&t.createVNode("div",{class:["devui-jump-button",n?"devui-jump-size-"+n:"devui-jump-size-default"],onClick:o.bind(null,"btn"),title:e},[t.createVNode("div",{class:"devui-pagination-go"},null)])])}});const v={size:{type:String,default:""},preLink:String,nextLink:String,lite:Boolean,cursor:Number,maxItems:Number,totalPages:Number,onChangeCursorEmit:Function,showTruePageIndex:Boolean};var f=t.defineComponent({props:v,emits:["changeCursorEmit"],setup:(e,{emit:n})=>({showPageNum:t.computed((()=>((e,t,n)=>{if(t>=n)return[2,n];const a=t-2;let i=e-(a>>1),o=e+(a-1>>1);return i<2&&(i=2,o=t-2),o>n&&(i=n-t+3,o=n),[i,o]})(e.cursor,e.maxItems,e.totalPages))),changeCursor:t=>{if(isNaN(t))return;const a=t<1?1:t>e.totalPages?e.totalPages:0|t;n("changeCursorEmit",a)},prevChange:t=>{if(e.cursor>1){const a=-1===t?e.cursor-1:t;n("changeCursorEmit",a)}},nextChange:t=>{if(e.cursor<e.totalPages){const a=-1===t?e.cursor+1:t;n("changeCursorEmit",a)}}}),render(){const{size:e,preLink:n,nextLink:a,lite:i,changeCursor:o,cursor:u,showPageNum:l,prevChange:r,totalPages:s,nextChange:d,showTruePageIndex:c}=this;return t.createVNode("ul",{class:["devui-pagination-list",e?"devui-pagination-"+e:""]},[t.createVNode("li",{onClick:r.bind(null,-1),class:{"devui-pagination-item":!0,disabled:u<=1}},[t.createVNode("a",{innerHTML:n,class:"devui-pagination-link"},null)]),!i&&t.createVNode(t.Fragment,null,[t.createVNode("li",{onClick:o.bind(null,1),class:{"devui-pagination-item":!0,active:1===u}},[t.createVNode("a",{class:"devui-pagination-link"},[t.createTextVNode("1")])]),l[0]>2&&t.createVNode("li",{onClick:r.bind(null,l[0]-1),class:"devui-pagination-item"},[t.createVNode("a",{class:"devui-pagination-link"},[t.createTextVNode("...")])]),(()=>{const e=[];for(let n=l[0];n<=l[1];n++)e.push(t.createVNode("li",{onClick:o.bind(null,n),key:n,class:{"devui-pagination-item":!0,active:u===n}},[t.createVNode("a",{class:"devui-pagination-link"},[n])]));return e})(),l[1]<s-1&&t.createVNode("li",{onClick:d.bind(null,l[1]+1),class:"devui-pagination-item"},[t.createVNode("a",{class:"devui-pagination-link"},[t.createTextVNode("...")])]),l[1]<s&&t.createVNode("li",{onClick:o.bind(null,s),class:{"devui-pagination-item":!0,active:u===s}},[t.createVNode("a",{class:"devui-pagination-link"},[s])]),c&&u>s&&s>0&&t.createVNode(t.Fragment,null,[u>s+1&&t.createVNode("li",{class:"devui-pagination-item disabled"},[t.createVNode("a",{class:"devui-pagination-link"},[t.createTextVNode("...")])]),t.createVNode("li",{class:"devui-pagination-item disabled active"},[t.createVNode("a",{class:"devui-pagination-link"},[u])])])]),t.createVNode("li",{onClick:d.bind(null,-1),class:{"devui-pagination-item":!0,disabled:u>=s}},[t.createVNode("a",{innerHTML:a,class:"devui-pagination-link"},null)])])}}),h=t.defineComponent({name:"DPagination",components:{ConfigMenu:g,JumpPage:m,PageNumBtn:f},props:n,emits:["pageIndexChange","pageSizeChange","update:pageSize","update:pageIndex"],setup(e,{emit:n}){const a=t.computed((()=>{return e=u.value,new Array(e||1).fill(0).map(((t,n)=>({name:`${n+1}/${e}`,value:n+1})));var e})),i=t.computed({get:()=>!e.showTruePageIndex&&e.pageIndex>u.value?(n("update:pageIndex",u.value||1),u.value||1):e.pageIndex||1,set(e){n("update:pageIndex",e)}}),o=t.computed({get:()=>e.pageSize,set(e){n("update:pageSize",e)}}),u=t.computed((()=>Math.ceil(e.total/e.pageSize))),l=e=>{i.value=e,n("pageIndexChange",e)};return{cursor:i,totalPages:u,changeCursorEmit:l,currentPageSize:o,pageSizeChange:a=>{o.value=a.value,e.autoFixPageIndex&&t.nextTick((()=>{i.value>u.value&&l(u.value)})),n("pageSizeChange",a.value)},litePageOptions:a,litePageIndexChange:e=>{l(e.value)}}},render(){const{total:e,pageIndex:n,pageSizeOptions:a,pageSizeDirection:i,preLink:o,nextLink:u,size:l,canJumpPage:r,canChangePageSize:s,canViewTotal:d,totalItemText:c,goToText:g,maxItems:p,showJumpButton:m,showTruePageIndex:v,lite:f,showPageSelector:h,haveConfigMenu:C,autoHide:N,$slots:x,cursor:V,totalPages:P,currentPageSize:S,pageSizeChange:y,changeCursorEmit:z,litePageOptions:b,litePageIndexChange:k}=this;return N&&Math.min(...a)>e?null:t.createVNode("div",{class:"devui-pagination"},[s&&!f&&t.createVNode("div",{class:["devui-page-size",l?"devui-page-size-"+l:""]},[t.createVNode(t.resolveComponent("d-select"),{options:a,modelValue:S,onValueChange:y,pageSizeDirection:i},null)]),(!f||f&&h)&&d&&t.createVNode("div",{class:"devui-total-size"},[c,t.createTextVNode(": "),e]),f&&h&&t.createVNode("div",{class:"devui-page-size"},[t.createVNode(t.resolveComponent("d-select"),{options:b,disabled:0===e,modelValue:V,onValueChange:k,pageSizeDirection:i},null)]),t.createVNode(t.resolveComponent("page-num-btn"),t.mergeProps({cursor:V,totalPages:P,size:l,lite:f,maxItems:p,preLink:o,nextLink:u,showTruePageIndex:v},{onChangeCursorEmit:z}),null),r&&!f&&t.createVNode(t.resolveComponent("jump-page"),t.mergeProps({goToText:g,size:l,pageIndex:n,totalPages:P,cursor:V,showJumpButton:m},{onChangeCursorEmit:z}),null),f&&C&&t.createVNode(t.resolveComponent("config-menu"),{currentPageSize:S,pageSizeChange:y,pageSizeOptions:a},{default:()=>{var e;return[null==(e=x.default)?void 0:e.call(x)]}})])}});h.install=e=>{e.component(h.name,h)};var C={title:"Pagination 分页",category:"导航",status:"已完成",install(e){e.use(h)}};e.Pagination=h,e.default=C,Object.defineProperty(e,"__esModule",{value:!0}),e[Symbol.toStringTag]="Module"}));
1
+ (function(u,e){typeof exports=="object"&&typeof module!="undefined"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(u=typeof globalThis!="undefined"?globalThis:u||self,e(u.index={},u.Vue))})(this,function(u,e){"use strict";const E={pageSize:{type:Number,default:10},total:{type:Number,default:0},pageSizeOptions:{type:Array,default:()=>[5,10,20,50]},pageSizeDirection:{type:Array,default:()=>["centerDown","centerUp"]},pageIndex:{type:Number,default:1},maxItems:{type:Number,default:10},preLink:{type:String,default:"&lt;"},nextLink:{type:String,default:"&gt;"},size:{type:String,default:""},canJumpPage:{type:Boolean,default:!1},canChangePageSize:{type:Boolean,default:!1},canViewTotal:{type:Boolean,default:!1},totalItemText:{type:String,default:"\u6240\u6709\u6761\u76EE"},goToText:{type:String,default:"\u8DF3\u81F3"},showJumpButton:{type:Boolean,default:!1},showTruePageIndex:{type:Boolean,default:!1},lite:{type:Boolean,default:!1},showPageSelector:{type:Boolean,default:!0},haveConfigMenu:{type:Boolean,default:!1},autoFixPageIndex:{type:Boolean,default:!0},autoHide:{type:Boolean,default:!1},"onUpdate:pageIndex":{type:Function},"onUpdate:pageSize":{type:Function},onPageIndexChange:{type:Function},onPageSizeChange:{type:Function}},F=(t,n,a)=>{const r=t,s=n;if(s>=a)return[2,a];const o=s-2;let i=r-(o>>1),c=r+(o-1>>1);return i<2&&(i=2,c=s-2),c>a&&(i=a-s+3,c=a),[i,c]};function L(t){return new Array(t||1).fill(0).map((n,a)=>({name:`${a+1}/${t}`,value:a+1}))}function h(t,n,a){document.addEventListener?t&&n&&a&&t.addEventListener(n,a,!1):t&&n&&a&&t.attachEvent("on"+n,a)}function j(t,n,a){document.removeEventListener?t&&n&&a&&t.removeEventListener(n,a,!1):t&&n&&a&&t.detachEvent("on"+n,a)}const M=typeof window!="undefined",g=Symbol("@@clickoutside"),N=new Map;let y,V=0,z=!0;function b(t,n,a){return M&&z&&(z=!1,h(document,"mousedown",r=>{y=r}),h(document,"mouseup",r=>{for(const[s,o]of N)o[g].documentHandler(r,y)})),function(r,s){!a||!n.instance||!r.target||!s.target||t.contains(r.target)||t.contains(s.target)||t===r.target||t[g].bindingFn&&t[g].bindingFn()}}const D={beforeMount:function(t,n,a){V++,N.set(V,t),t[g]={nid:V,documentHandler:b(t,n,a),bindingFn:n.value}},updated:function(t,n,a){t[g].documentHandler=b(t,n,a),t[g].bindingFn=n.value},unmounted:function(t){N.delete(t[g].nid),delete t[g]}};var H=e.defineComponent({directives:{clickoutside:D},props:{currentPageSize:Number,pageSizeChange:Function,pageSizeOptions:Array},setup(){const t=e.ref(null),n=e.ref(!1);e.onMounted(()=>{h(t.value,"click",a)}),e.onUnmounted(()=>{j(t.value,"click",a)});const a=r=>{n.value=n.value?!1:!!r};return{paginationConfig:t,isShowConfig:n,closeConfigMenu:a}},render(){var i;const{closeConfigMenu:t,currentPageSize:n,pageSizeChange:a,pageSizeOptions:r,isShowConfig:s,$slots:o}=this;return e.withDirectives(e.createVNode("div",{class:"devui-pagination-config",ref:"paginationConfig"},[e.createVNode("div",{class:"devui-setup-icon"},[e.createVNode("i",{class:"icon-setting",style:"font-weight: bold;"},null)]),s&&e.createVNode("div",{class:"devui-config-container"},[(i=o.default)==null?void 0:i.call(o),e.createVNode("div",{class:"pagination-config-item"},[e.createVNode("div",{class:"config-item-title"},[e.createTextVNode("\u6BCF\u9875\u6761\u6570")]),e.createVNode("div",{class:"devui-page-number"},[r.map(c=>e.createVNode("div",{class:{choosed:c===n},key:c,onClick:a.bind(null,{value:c})},[c]))])])])]),[[e.resolveDirective("clickoutside"),t]])}});const O={goToText:String,size:{type:String,default:""},pageIndex:Number,showJumpButton:Boolean,totalPages:Number,cursor:Number,onChangeCursorEmit:Function};var J=e.defineComponent({props:O,emits:["changeCursorEmit"],setup(t,{emit:n}){const{pageIndex:a,totalPages:r,cursor:s}=e.toRefs(t),o=e.ref(a.value);e.watch(()=>a.value,l=>{o.value=l});let i=a.value;return{inputNum:o,jumpPageChange:l=>{i=+l,o.value=l,isNaN(l)&&setTimeout(()=>{o.value=a.value},300)},jump:l=>{i>r.value||(l==="btn"||l.key==="Enter")&&s.value!==i&&n("changeCursorEmit",i)}}},render(){const{goToText:t,size:n,inputNum:a,jumpPageChange:r,jump:s,showJumpButton:o}=this;return e.createVNode("div",{class:"devui-jump-container"},[t,e.createVNode(e.resolveComponent("d-input"),{class:["devui-pagination-input",n?"devui-pagination-input-"+n:""],size:n,modelValue:String(a),"onUpdate:modelValue":r,onKeydown:s},null),t==="\u8DF3\u81F3"&&"\u9875",o&&e.createVNode("div",{class:["devui-jump-button",n?"devui-jump-size-"+n:"devui-jump-size-default"],onClick:s.bind(null,"btn"),title:t},[e.createVNode("div",{class:"devui-pagination-go"},null)])])}});const A={size:{type:String,default:""},preLink:String,nextLink:String,lite:Boolean,cursor:Number,maxItems:Number,totalPages:Number,onChangeCursorEmit:Function,showTruePageIndex:Boolean};var U=e.defineComponent({props:A,emits:["changeCursorEmit"],setup(t,{emit:n}){return{showPageNum:e.computed(()=>F(t.cursor,t.maxItems,t.totalPages)),changeCursor:i=>{if(isNaN(i))return;const c=i<1?1:i>t.totalPages?t.totalPages:i|0;n("changeCursorEmit",c)},prevChange:i=>{if(t.cursor>1){const c=i===-1?t.cursor-1:i;n("changeCursorEmit",c)}},nextChange:i=>{if(t.cursor<t.totalPages){const c=i===-1?t.cursor+1:i;n("changeCursorEmit",c)}}}},render(){const{size:t,preLink:n,nextLink:a,lite:r,changeCursor:s,cursor:o,showPageNum:i,prevChange:c,totalPages:d,nextChange:l,showTruePageIndex:P}=this;return e.createVNode("ul",{class:["devui-pagination-list",t?"devui-pagination-"+t:""]},[e.createVNode("li",{onClick:c.bind(null,-1),class:{"devui-pagination-item":!0,disabled:o<=1}},[e.createVNode("a",{innerHTML:n,class:"devui-pagination-link"},null)]),!r&&e.createVNode(e.Fragment,null,[e.createVNode("li",{onClick:s.bind(null,1),class:{"devui-pagination-item":!0,active:o===1}},[e.createVNode("a",{class:"devui-pagination-link"},[e.createTextVNode("1")])]),i[0]>2&&e.createVNode("li",{onClick:c.bind(null,i[0]-1),class:"devui-pagination-item"},[e.createVNode("a",{class:"devui-pagination-link"},[e.createTextVNode("...")])]),(()=>{const C=[];for(let p=i[0];p<=i[1];p++)C.push(e.createVNode("li",{onClick:s.bind(null,p),key:p,class:{"devui-pagination-item":!0,active:o===p}},[e.createVNode("a",{class:"devui-pagination-link"},[p])]));return C})(),i[1]<d-1&&e.createVNode("li",{onClick:l.bind(null,i[1]+1),class:"devui-pagination-item"},[e.createVNode("a",{class:"devui-pagination-link"},[e.createTextVNode("...")])]),i[1]<d&&e.createVNode("li",{onClick:s.bind(null,d),class:{"devui-pagination-item":!0,active:o===d}},[e.createVNode("a",{class:"devui-pagination-link"},[d])]),P&&o>d&&d>0&&e.createVNode(e.Fragment,null,[o>d+1&&e.createVNode("li",{class:"devui-pagination-item disabled"},[e.createVNode("a",{class:"devui-pagination-link"},[e.createTextVNode("...")])]),e.createVNode("li",{class:"devui-pagination-item disabled active"},[e.createVNode("a",{class:"devui-pagination-link"},[o])])])]),e.createVNode("li",{onClick:l.bind(null,-1),class:{"devui-pagination-item":!0,disabled:o>=d}},[e.createVNode("a",{innerHTML:a,class:"devui-pagination-link"},null)])])}}),X="",m=e.defineComponent({name:"DPagination",components:{ConfigMenu:H,JumpPage:J,PageNumBtn:U},props:E,emits:["pageIndexChange","pageSizeChange","update:pageSize","update:pageIndex"],setup(t,{emit:n}){const a=e.computed(()=>L(o.value)),r=e.computed({get(){return!t.showTruePageIndex&&t.pageIndex>o.value?(n("update:pageIndex",o.value||1),o.value||1):t.pageIndex||1},set(l){n("update:pageIndex",l)}}),s=e.computed({get(){return t.pageSize},set(l){n("update:pageSize",l)}}),o=e.computed(()=>Math.ceil(t.total/t.pageSize)),i=l=>{r.value=l,n("pageIndexChange",l)};return{cursor:r,totalPages:o,changeCursorEmit:i,currentPageSize:s,pageSizeChange:l=>{s.value=l.value,t.autoFixPageIndex&&e.nextTick(()=>{r.value>o.value&&i(o.value)}),n("pageSizeChange",l.value)},litePageOptions:a,litePageIndexChange:l=>{i(l.value)}}},render(){const{total:t,pageIndex:n,pageSizeOptions:a,pageSizeDirection:r,preLink:s,nextLink:o,size:i,canJumpPage:c,canChangePageSize:d,canViewTotal:l,totalItemText:P,goToText:C,maxItems:p,showJumpButton:q,showTruePageIndex:K,lite:f,showPageSelector:k,haveConfigMenu:R,autoHide:G,$slots:x,cursor:S,totalPages:v,currentPageSize:T,pageSizeChange:I,changeCursorEmit:w,litePageOptions:Q,litePageIndexChange:W}=this;return G&&Math.min(...a)>t?null:e.createVNode("div",{class:"devui-pagination"},[d&&!f&&e.createVNode("div",{class:["devui-page-size",i?"devui-page-size-"+i:""]},[e.createVNode(e.resolveComponent("d-select"),{options:a,modelValue:T,onValueChange:I,pageSizeDirection:r},null)]),(!f||f&&k)&&l&&e.createVNode("div",{class:"devui-total-size"},[P,e.createTextVNode(": "),t]),f&&k&&e.createVNode("div",{class:"devui-page-size"},[e.createVNode(e.resolveComponent("d-select"),{options:Q,disabled:t===0,modelValue:S,onValueChange:W,pageSizeDirection:r},null)]),e.createVNode(e.resolveComponent("page-num-btn"),e.mergeProps({cursor:S,totalPages:v,size:i,lite:f,maxItems:p,preLink:s,nextLink:o,showTruePageIndex:K},{onChangeCursorEmit:w}),null),c&&!f&&e.createVNode(e.resolveComponent("jump-page"),e.mergeProps({goToText:C,size:i,pageIndex:n,totalPages:v,cursor:S,showJumpButton:q},{onChangeCursorEmit:w}),null),f&&R&&e.createVNode(e.resolveComponent("config-menu"),{currentPageSize:T,pageSizeChange:I,pageSizeOptions:a},{default:()=>{var B;return[(B=x.default)==null?void 0:B.call(x)]}})])}});m.install=t=>{t.component(m.name,m)};var _={title:"Pagination \u5206\u9875",category:"\u5BFC\u822A",status:"100%",install(t){t.use(m)}};u.Pagination=m,u.default=_,Object.defineProperty(u,"__esModule",{value:!0}),u[Symbol.toStringTag]="Module"});
@@ -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/panel/index.es.js CHANGED
@@ -1 +1,205 @@
1
- import{defineComponent as e,ref as l,onMounted as t,createVNode as o,Transition as s}from"vue";var a=e({name:"DPanel",props:{type:{type:String,default:"default"},cssClass:{type:String,default:""},isCollapsed:{type:Boolean,default:void 0},beforeToggle:{type:Function,default:null},toggle:{type:Function,default:null}},setup(e,a){const n=l(e.isCollapsed),i=l(),u=()=>{(()=>{let l=Promise.resolve(!0);if(e.beforeToggle){const t=e.beforeToggle(e.isCollapsed);void 0!==typeof t&&(l=t instanceof Promise?t:Promise.resolve(t))}return l})().then((l=>{var t;l&&void 0!==n.value&&(n.value=!n.value,null==(t=e.toggle)||t.call(e,n.value))}))};t((()=>{if(i.value){const e=i.value;n.value&&(e.style.height=`${e.offsetHeight}px`)}}));const v=e=>{const l=e;l.style.height="";const t=l.offsetHeight;l.style.height="0px",l.offsetHeight,l.style.height=`${t}px`},d=e=>{e.style.height="0px"};return()=>{var l,t,r,p;const c=a.slots.header?o("div",{class:"devui-panel-heading",onClick:u,style:{cursor:void 0!==n.value?"pointer":void 0}},[null==(t=(l=a.slots).header)?void 0:t.call(l)]):null,f=a.slots.footer?o("div",{class:"devui-panel-footer"},[null==(p=(r=a.slots).footer)?void 0:p.call(r)]):null;return o("div",{class:`devui-panel devui-panel-${e.type} ${e.cssClass}`},[c,o(s,{name:"devui-panel",onEnter:v,onLeave:d},{default:()=>{var e,l;return[void 0===n.value||n.value?o("div",{ref:i,class:`devui-panel-body ${void 0!==n.value?"devui-panel-body-collapse":null}`},[o("div",{class:"d-panel-body"},[null==(l=(e=a.slots).body)?void 0:l.call(e)])]):null]}}),f])}}});a.install=function(e){e.component(a.name,a)};var n={title:"Panel 面板",category:"通用",install(e){e.use(a)}};export{a as Panel,n as default};
1
+ import { reactive, ref, defineComponent, provide, computed, createVNode, inject, onMounted, Transition } from "vue";
2
+ var panel = "";
3
+ const PanelProps = {
4
+ type: {
5
+ type: String,
6
+ default: "default"
7
+ },
8
+ cssClass: {
9
+ type: String,
10
+ default: ""
11
+ },
12
+ isCollapsed: {
13
+ type: Boolean,
14
+ default: false
15
+ },
16
+ beforeToggle: {
17
+ type: Function,
18
+ default: null
19
+ },
20
+ toggle: {
21
+ type: Function,
22
+ default: null
23
+ },
24
+ showAnimation: {
25
+ type: Boolean,
26
+ default: true
27
+ },
28
+ hasLeftPadding: {
29
+ type: Boolean,
30
+ default: true
31
+ }
32
+ };
33
+ const option = reactive({});
34
+ class Store {
35
+ static getByKey(timeStamp) {
36
+ return option[timeStamp];
37
+ }
38
+ static state() {
39
+ return option;
40
+ }
41
+ static setData(key, value) {
42
+ option[key] = ref(value);
43
+ }
44
+ }
45
+ var Panel = defineComponent({
46
+ name: "DPanel",
47
+ props: PanelProps,
48
+ setup(props, ctx) {
49
+ provide("beforeToggle", props.beforeToggle);
50
+ provide("showAnimation", computed(() => props.showAnimation));
51
+ provide("hasLeftPadding", computed(() => props.hasLeftPadding));
52
+ const isCollapsed = ref(props.isCollapsed);
53
+ const type = computed(() => props.type);
54
+ const cssClass = computed(() => props.cssClass);
55
+ const onToggle = () => {
56
+ var _a;
57
+ (_a = props.toggle) == null ? void 0 : _a.call(props, Store.getByKey(`isCollapsed[${timeStamp}]`));
58
+ };
59
+ const timeStamp = new Date().getTime().toString();
60
+ Store.setData(`isCollapsed[${timeStamp}]`, isCollapsed.value);
61
+ return () => {
62
+ var _a, _b;
63
+ return createVNode("div", {
64
+ "onClick": onToggle,
65
+ "class": `devui-panel devui-panel-${type.value} ${cssClass.value}`
66
+ }, [(_b = (_a = ctx.slots).default) == null ? void 0 : _b.call(_a)]);
67
+ };
68
+ }
69
+ });
70
+ var PanelHeader = defineComponent({
71
+ name: "DPanelHeader",
72
+ props: PanelProps,
73
+ setup(props, ctx) {
74
+ const beforeToggle = inject("beforeToggle");
75
+ const keys = Object.keys(Store.state());
76
+ const key = keys.pop();
77
+ const isCollapsed = ref(Store.state()[key]);
78
+ let changeFlag = ref();
79
+ let header = null;
80
+ const canToggle = () => {
81
+ let changeResult = Promise.resolve(true);
82
+ if (beforeToggle) {
83
+ const result = beforeToggle(isCollapsed);
84
+ if (typeof result !== void 0) {
85
+ if (result instanceof Promise) {
86
+ changeResult = result;
87
+ } else {
88
+ changeResult = Promise.resolve(result);
89
+ }
90
+ }
91
+ }
92
+ return changeResult;
93
+ };
94
+ canToggle().then((val) => changeFlag.value = val);
95
+ const toggleBody = () => {
96
+ canToggle().then((val) => {
97
+ var _a, _b;
98
+ changeFlag.value = val;
99
+ if (!val) {
100
+ if (!isCollapsed.value) {
101
+ Store.setData(`${key}`, !isCollapsed.value);
102
+ isCollapsed.value = !isCollapsed.value;
103
+ (_a = props.toggle) == null ? void 0 : _a.call(props, isCollapsed.value);
104
+ }
105
+ return;
106
+ }
107
+ if (isCollapsed.value !== void 0) {
108
+ Store.setData(`${key}`, !isCollapsed.value);
109
+ isCollapsed.value = !isCollapsed.value;
110
+ (_b = props.toggle) == null ? void 0 : _b.call(props, isCollapsed.value);
111
+ }
112
+ });
113
+ };
114
+ return () => {
115
+ var _a, _b;
116
+ if (ctx.slots.default) {
117
+ header = createVNode("div", {
118
+ "class": "devui-panel-heading",
119
+ "onClick": toggleBody,
120
+ "style": {
121
+ "cursor": changeFlag.value ? "pointer" : "auto"
122
+ }
123
+ }, [(_b = (_a = ctx.slots).default) == null ? void 0 : _b.call(_a)]);
124
+ }
125
+ return header;
126
+ };
127
+ }
128
+ });
129
+ var PanelBody = defineComponent({
130
+ name: "DPanelBody",
131
+ props: PanelProps,
132
+ setup(props, ctx) {
133
+ let animationName = inject("showAnimation");
134
+ let hasLeftPadding = inject("hasLeftPadding");
135
+ const keys = Object.keys(Store.state());
136
+ const key = keys.pop();
137
+ const isCollapsed = Store.state();
138
+ const bodyEl = ref();
139
+ onMounted(() => {
140
+ if (bodyEl.value) {
141
+ const dom = bodyEl.value;
142
+ if (isCollapsed[key])
143
+ dom.style.height = `${dom.offsetHeight}px`;
144
+ }
145
+ });
146
+ const enter = (element) => {
147
+ const el = element;
148
+ el.style.height = "";
149
+ const height = el.offsetHeight;
150
+ el.style.height = "0px";
151
+ el.offsetHeight;
152
+ el.style.height = `${height}px`;
153
+ };
154
+ const leave = (element) => {
155
+ const el = element;
156
+ el.style.height = "0px";
157
+ };
158
+ return () => {
159
+ return createVNode("div", {
160
+ "class": `devui-panel devui-panel-${props.type} ${props.cssClass}`
161
+ }, [createVNode(Transition, {
162
+ "name": animationName.value ? "devui-panel" : "",
163
+ "onEnter": enter,
164
+ "onLeave": leave
165
+ }, {
166
+ default: () => {
167
+ var _a, _b;
168
+ return [isCollapsed[key] === void 0 || isCollapsed[key] ? createVNode("div", {
169
+ "ref": bodyEl,
170
+ "class": `devui-panel-body ${isCollapsed[key] !== void 0 ? "devui-panel-body-collapse" : ""} ${!hasLeftPadding.value ? "no-left-padding" : ""}`
171
+ }, [createVNode("div", {
172
+ "class": "devui-panel-content"
173
+ }, [(_b = (_a = ctx.slots).default) == null ? void 0 : _b.call(_a)])]) : null];
174
+ }
175
+ })]);
176
+ };
177
+ }
178
+ });
179
+ var PanelFooter = defineComponent({
180
+ name: "DPanelFooter",
181
+ setup(props, ctx) {
182
+ return () => {
183
+ var _a, _b;
184
+ const footerContent = ctx.slots.default ? createVNode("div", {
185
+ "class": "devui-panel-footer"
186
+ }, [(_b = (_a = ctx.slots).default) == null ? void 0 : _b.call(_a)]) : null;
187
+ return footerContent;
188
+ };
189
+ }
190
+ });
191
+ Panel.install = function(app) {
192
+ app.component(Panel.name, Panel);
193
+ app.component(PanelHeader.name, PanelHeader);
194
+ app.component(PanelBody.name, PanelBody);
195
+ app.component(PanelFooter.name, PanelFooter);
196
+ };
197
+ var index = {
198
+ title: "Panel \u9762\u677F",
199
+ category: "\u901A\u7528",
200
+ status: "100%",
201
+ install(app) {
202
+ app.use(Panel);
203
+ }
204
+ };
205
+ export { Panel, index as default };
@@ -1 +1 @@
1
- !function(e,l){"object"==typeof exports&&"undefined"!=typeof module?l(exports,require("vue")):"function"==typeof define&&define.amd?define(["exports","vue"],l):l((e="undefined"!=typeof globalThis?globalThis:e||self).index={},e.Vue)}(this,(function(e,l){"use strict";var o=l.defineComponent({name:"DPanel",props:{type:{type:String,default:"default"},cssClass:{type:String,default:""},isCollapsed:{type:Boolean,default:void 0},beforeToggle:{type:Function,default:null},toggle:{type:Function,default:null}},setup(e,o){const t=l.ref(e.isCollapsed),n=l.ref(),a=()=>{(()=>{let l=Promise.resolve(!0);if(e.beforeToggle){const o=e.beforeToggle(e.isCollapsed);void 0!==typeof o&&(l=o instanceof Promise?o:Promise.resolve(o))}return l})().then((l=>{var o;l&&void 0!==t.value&&(t.value=!t.value,null==(o=e.toggle)||o.call(e,t.value))}))};l.onMounted((()=>{if(n.value){const e=n.value;t.value&&(e.style.height=`${e.offsetHeight}px`)}}));const s=e=>{const l=e;l.style.height="";const o=l.offsetHeight;l.style.height="0px",l.offsetHeight,l.style.height=`${o}px`},i=e=>{e.style.height="0px"};return()=>{var d,u,r,v;const f=o.slots.header?l.createVNode("div",{class:"devui-panel-heading",onClick:a,style:{cursor:void 0!==t.value?"pointer":void 0}},[null==(u=(d=o.slots).header)?void 0:u.call(d)]):null,c=o.slots.footer?l.createVNode("div",{class:"devui-panel-footer"},[null==(v=(r=o.slots).footer)?void 0:v.call(r)]):null;return l.createVNode("div",{class:`devui-panel devui-panel-${e.type} ${e.cssClass}`},[f,l.createVNode(l.Transition,{name:"devui-panel",onEnter:s,onLeave:i},{default:()=>{var e,a;return[void 0===t.value||t.value?l.createVNode("div",{ref:n,class:`devui-panel-body ${void 0!==t.value?"devui-panel-body-collapse":null}`},[l.createVNode("div",{class:"d-panel-body"},[null==(a=(e=o.slots).body)?void 0:a.call(e)])]):null]}}),c])}}});o.install=function(e){e.component(o.name,o)};var t={title:"Panel 面板",category:"通用",install(e){e.use(o)}};e.Panel=o,e.default=t,Object.defineProperty(e,"__esModule",{value:!0}),e[Symbol.toStringTag]="Module"}));
1
+ (function(d,e){typeof exports=="object"&&typeof module!="undefined"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(d=typeof globalThis!="undefined"?globalThis:d||self,e(d.index={},d.Vue))})(this,function(d,e){"use strict";var $="";const h={type:{type:String,default:"default"},cssClass:{type:String,default:""},isCollapsed:{type:Boolean,default:!1},beforeToggle:{type:Function,default:null},toggle:{type:Function,default:null},showAnimation:{type:Boolean,default:!0},hasLeftPadding:{type:Boolean,default:!0}},p=e.reactive({});class f{static getByKey(o){return p[o]}static state(){return p}static setData(o,u){p[o]=e.ref(u)}}var y=e.defineComponent({name:"DPanel",props:h,setup(t,o){e.provide("beforeToggle",t.beforeToggle),e.provide("showAnimation",e.computed(()=>t.showAnimation)),e.provide("hasLeftPadding",e.computed(()=>t.hasLeftPadding));const u=e.ref(t.isCollapsed),r=e.computed(()=>t.type),c=e.computed(()=>t.cssClass),l=()=>{var s;(s=t.toggle)==null||s.call(t,f.getByKey(`isCollapsed[${i}]`))},i=new Date().getTime().toString();return f.setData(`isCollapsed[${i}]`,u.value),()=>{var s,g;return e.createVNode("div",{onClick:l,class:`devui-panel devui-panel-${r.value} ${c.value}`},[(g=(s=o.slots).default)==null?void 0:g.call(s)])}}}),P=e.defineComponent({name:"DPanelHeader",props:h,setup(t,o){const u=e.inject("beforeToggle"),c=Object.keys(f.state()).pop(),l=e.ref(f.state()[c]);let i=e.ref(),s=null;const g=()=>{let n=Promise.resolve(!0);if(u){const a=u(l);typeof a!==void 0&&(a instanceof Promise?n=a:n=Promise.resolve(a))}return n};g().then(n=>i.value=n);const v=()=>{g().then(n=>{var a,m;if(i.value=n,!n){l.value||(f.setData(`${c}`,!l.value),l.value=!l.value,(a=t.toggle)==null||a.call(t,l.value));return}l.value!==void 0&&(f.setData(`${c}`,!l.value),l.value=!l.value,(m=t.toggle)==null||m.call(t,l.value))})};return()=>{var n,a;return o.slots.default&&(s=e.createVNode("div",{class:"devui-panel-heading",onClick:v,style:{cursor:i.value?"pointer":"auto"}},[(a=(n=o.slots).default)==null?void 0:a.call(n)])),s}}}),C=e.defineComponent({name:"DPanelBody",props:h,setup(t,o){let u=e.inject("showAnimation"),r=e.inject("hasLeftPadding");const l=Object.keys(f.state()).pop(),i=f.state(),s=e.ref();e.onMounted(()=>{if(s.value){const n=s.value;i[l]&&(n.style.height=`${n.offsetHeight}px`)}});const g=n=>{const a=n;a.style.height="";const m=a.offsetHeight;a.style.height="0px",a.offsetHeight,a.style.height=`${m}px`},v=n=>{const a=n;a.style.height="0px"};return()=>e.createVNode("div",{class:`devui-panel devui-panel-${t.type} ${t.cssClass}`},[e.createVNode(e.Transition,{name:u.value?"devui-panel":"",onEnter:g,onLeave:v},{default:()=>{var n,a;return[i[l]===void 0||i[l]?e.createVNode("div",{ref:s,class:`devui-panel-body ${i[l]!==void 0?"devui-panel-body-collapse":""} ${r.value?"":"no-left-padding"}`},[e.createVNode("div",{class:"devui-panel-content"},[(a=(n=o.slots).default)==null?void 0:a.call(n)])]):null]}})])}}),b=e.defineComponent({name:"DPanelFooter",setup(t,o){return()=>{var r,c;return o.slots.default?e.createVNode("div",{class:"devui-panel-footer"},[(c=(r=o.slots).default)==null?void 0:c.call(r)]):null}}});y.install=function(t){t.component(y.name,y),t.component(P.name,P),t.component(C.name,C),t.component(b.name,b)};var T={title:"Panel \u9762\u677F",category:"\u901A\u7528",status:"100%",install(t){t.use(y)}};d.Panel=y,d.default=T,Object.defineProperty(d,"__esModule",{value:!0}),d[Symbol.toStringTag]="Module"});
package/panel/style.css CHANGED
@@ -1 +1 @@
1
- .devui-panel{line-height:1.5;background-color:var(--devui-base-bg, #ffffff)}.devui-panel .devui-panel-heading{padding:12px 20px;color:var(--devui-text, #252b3a)}.devui-panel .devui-panel-heading d-panel-header{line-height:1.5}.devui-panel .devui-panel-body{display:flex;position:relative;border-top:1px solid var(--devui-dividing-line, #dfe1e6)}.devui-panel .devui-panel-body .d-panel-body{line-height:1.5;padding:15px;background:var(--devui-base-bg, #ffffff);flex:1}.devui-panel .devui-panel-body.devui-panel-body-collapse:before{content:"";width:30px;height:100%}.devui-panel .devui-panel-body.devui-panel-body-collapse .d-panel-body{border-left:2px solid var(--devui-dividing-line, #dfe1e6)}.devui-panel .devui-panel-footer{padding:10px 15px;color:var(--devui-text, #252b3a);background-color:var(--devui-area, #f8f8f8)}.devui-panel .devui-panel-footer d-panel-footer{line-height:1.5}.devui-panel.devui-panel-default .devui-panel-heading,.devui-panel.devui-panel-default .devui-panel-body{background-color:var(--devui-default-bg, #f3f6f8)}.devui-panel.devui-panel-primary .devui-panel-heading,.devui-panel.devui-panel-primary .devui-panel-body{background-color:var(--devui-primary-bg, #f2f5fc)}.devui-panel.devui-panel-primary .devui-panel-body-collapse .d-panel-body{border-color:var(--devui-primary-line, #5e7ce0)}.devui-panel.devui-panel-info .devui-panel-heading,.devui-panel.devui-panel-info .devui-panel-body{background-color:var(--devui-info-bg, #f2f5fc)}.devui-panel.devui-panel-info .devui-panel-body-collapse .d-panel-body{border-color:var(--devui-info-line, #5e7ce0)}.devui-panel.devui-panel-success .devui-panel-heading,.devui-panel.devui-panel-success .devui-panel-body{background-color:var(--devui-success-bg, #edfff9)}.devui-panel.devui-panel-success .devui-panel-body-collapse .d-panel-body{border-color:var(--devui-success-line, #50d4ab)}.devui-panel.devui-panel-warning .devui-panel-heading,.devui-panel.devui-panel-warning .devui-panel-body{background-color:var(--devui-warning-bg, #fff3e8)}.devui-panel.devui-panel-warning .devui-panel-body-collapse .d-panel-body{border-color:var(--devui-warning-line, #fa9841)}.devui-panel.devui-panel-danger .devui-panel-heading,.devui-panel.devui-panel-danger .devui-panel-body{background-color:var(--devui-danger-bg, #ffeeed)}.devui-panel.devui-panel-danger .devui-panel-body-collapse .d-panel-body{border-color:var(--devui-danger-line, #f66f6a)}.devui-panel .devui-panel-leave-active{transition:all .3s ease-in-out;animation:panelUpOut .3s ease-in-out;animation-fill-mode:both}.devui-panel .devui-panel-enter-active{transition:all .3s ease-in-out;animation:panelUpIn .3s ease-in-out;animation-fill-mode:both}@keyframes panelUpOut{0%{transform:scaleY(1);transform-origin:0% 0%;opacity:1}to{transform:scaleY(0);transform-origin:0% 0%;opacity:0}}@keyframes panelUpIn{0%{transform:scaleY(0);transform-origin:0% 0%;opacity:0}to{transform:scaleY(1);transform-origin:0% 0%;opacity:1}}
1
+ .no-left-padding.devui-panel-body-collapse:before{content:none!important}.no-left-padding.devui-panel-body-collapse .devui-panel-content{border-left:none!important}.devui-panel{line-height:1.5;background-color:var(--devui-base-bg, #ffffff)}.devui-panel .devui-panel-heading{padding:12px 20px;color:var(--devui-text, #252b3a)}.devui-panel .devui-panel-heading d-panel-header{line-height:1.5}.devui-panel .devui-panel-body{display:flex;position:relative;border-top:1px solid var(--devui-dividing-line, #dfe1e6)}.devui-panel .devui-panel-body .devui-panel-content{line-height:1.5;padding:15px;background:var(--devui-base-bg, #ffffff);flex:1}.devui-panel .devui-panel-body.devui-panel-body-collapse:before{content:"";width:30px;height:100%}.devui-panel .devui-panel-body.devui-panel-body-collapse .devui-panel-content{border-left:2px solid var(--devui-dividing-line, #dfe1e6)}.devui-panel .devui-panel-footer{padding:10px 15px;color:var(--devui-text, #252b3a);background-color:var(--devui-area, #f8f8f8)}.devui-panel .devui-panel-footer d-panel-footer{line-height:1.5}.devui-panel.devui-panel-default .devui-panel-heading,.devui-panel.devui-panel-default .devui-panel-body{background-color:var(--devui-default-bg, #f3f6f8)}.devui-panel.devui-panel-primary .devui-panel-heading,.devui-panel.devui-panel-primary .devui-panel-body{background-color:var(--devui-primary-bg, #f2f5fc)}.devui-panel.devui-panel-primary .devui-panel-body-collapse .devui-panel-content{border-color:var(--devui-primary-line, #5e7ce0)}.devui-panel.devui-panel-info .devui-panel-heading,.devui-panel.devui-panel-info .devui-panel-body{background-color:var(--devui-info-bg, #f2f5fc)}.devui-panel.devui-panel-info .devui-panel-body-collapse .devui-panel-content{border-color:var(--devui-info-line, #5e7ce0)}.devui-panel.devui-panel-success .devui-panel-heading,.devui-panel.devui-panel-success .devui-panel-body{background-color:var(--devui-success-bg, #edfff9)}.devui-panel.devui-panel-success .devui-panel-body-collapse .devui-panel-content{border-color:var(--devui-success-line, #50d4ab)}.devui-panel.devui-panel-warning .devui-panel-heading,.devui-panel.devui-panel-warning .devui-panel-body{background-color:var(--devui-warning-bg, #fff3e8)}.devui-panel.devui-panel-warning .devui-panel-body-collapse .devui-panel-content{border-color:var(--devui-warning-line, #fa9841)}.devui-panel.devui-panel-danger .devui-panel-heading,.devui-panel.devui-panel-danger .devui-panel-body{background-color:var(--devui-danger-bg, #ffeeed)}.devui-panel.devui-panel-danger .devui-panel-body-collapse .devui-panel-content{border-color:var(--devui-danger-line, #f66f6a)}.devui-panel .devui-panel-leave-active{transition:all .3s ease-in-out;animation:panelUpOut .3s ease-in-out;animation-fill-mode:both}.devui-panel .devui-panel-enter-active{transition:all .3s ease-in-out;animation:panelUpIn .3s ease-in-out;animation-fill-mode:both}@keyframes panelUpOut{0%{transform:scaleY(1);transform-origin:0% 0%;opacity:1}to{transform:scaleY(0);transform-origin:0% 0%;opacity:0}}@keyframes panelUpIn{0%{transform:scaleY(0);transform-origin:0% 0%;opacity:0}to{transform:scaleY(1);transform-origin:0% 0%;opacity:1}}
@@ -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;
@@ -1 +1,236 @@
1
- var e=Object.defineProperty,n=Object.getOwnPropertySymbols,t=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable,l=(n,t,o)=>t in n?e(n,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):n[t]=o;"undefined"!=typeof require&&require;import{defineComponent as a,ref as r,toRefs as u,reactive as i,createVNode as c,withDirectives as d,resolveDirective as p,resolveComponent as s}from"vue";var v=(e,n)=>{let t=null;return()=>{t&&clearTimeout(t),t=setTimeout((()=>{null==e||e()}),n)}};const f="undefined"!=typeof window;function m(e,n,t){document.addEventListener?e&&n&&t&&e.addEventListener(n,t,!1):e&&n&&t&&e.attachEvent("on"+n,t)}const y=Symbol("@@clickoutside"),b=new Map;let g,w=0,x=!0;function h(e,n,t){return f&&x&&(x=!1,m(document,"mousedown",(e=>{g=e})),m(document,"mouseup",(e=>{for(const[n,t]of b)t[y].documentHandler(e,g)}))),function(o,l){t&&n.instance&&o.target&&l.target&&!e.contains(o.target)&&!e.contains(l.target)&&e!==o.target&&e[y].bindingFn&&e[y].bindingFn()}}const S={success:{name:"right-o",color:"rgb(61, 204, 166)"},error:{name:"error-o",color:"rgb(249, 95, 91)"},info:{name:"info-o",color:"rgb(81, 112, 255)"},warning:{name:"warning-o",color:"rgb(254, 204, 85)"},default:{}};var O=a({name:"DPopover",directives:{clickoutside:{beforeMount:function(e,n,t){w++,b.set(w,e),e[y]={nid:w,documentHandler:h(e,n,t),bindingFn:n.value}},updated:function(e,n,t){e[y].documentHandler=h(e,n,t),e[y].bindingFn=n.value},unmounted:function(e){b.delete(e[y].nid),delete e[y]}}},props:{visible:{type:Boolean,default:!1},position:{type:String,default:"bottom"},content:{type:String,default:"default"},trigger:{type:String,default:"click"},zIndex:{type:Number,default:1060},popType:{type:String,default:"default"},showAnimation:{type:Boolean,default:!0},mouseEnterDelay:{type:Number,default:150},mouseLeaveDelay:{type:Number,default:100},popMaxWidth:{type:Number,default:void 0},popoverStyle:{type:Object,default:()=>({})}},setup(e,a){const{slots:f}=a,m=r(e.visible),{position:y,content:b,zIndex:g,trigger:w,popType:x,popoverStyle:h,mouseEnterDelay:O,mouseLeaveDelay:k,showAnimation:E,popMaxWidth:M}=u(e),j=((e,a)=>{for(var r in a||(a={}))t.call(a,r)&&l(e,r,a[r]);if(n)for(var r of n(a))o.call(a,r)&&l(e,r,a[r]);return e})({zIndex:g.value},h.value),D="click"===w.value,P=i(S[x.value]),z=D?function(){m.value?m.value=!1:m.value=!0}:null,F=v((()=>{m.value=!0}),O.value),I=v((()=>{m.value=!1}),k.value),L=D?null:F,N=D?null:I,T=()=>{m.value=!1};return M.value&&(j.maxWidth=`${M.value}px`),()=>{var e,n;return c("div",{class:["devui-popover",y.value,{"devui-popover-animation":E.value,"devui-popover-isVisible":m.value}]},[d(c("div",{class:"devui-popover-reference",onMouseenter:L,onMouseleave:N,onClick:z},[null==(e=f.reference)?void 0:e.call(f)]),[[p("clickoutside"),T]]),c("div",{class:["devui-popover-content",P.name?"is-icon":""],style:j},[P.name&&c(s("d-icon"),{name:P.name,color:P.color,class:"devui-popover-icon",size:"16px"},null),(null==(n=f.content)?void 0:n.call(f))||c("span",null,[b.value]),c("span",{class:"after",style:j},null)])])}}});O.install=function(e){e.component(O.name,O)};var k={title:"Popover 悬浮提示",category:"反馈",status:"已完成",install(e){e.use(O)}};export{O as Popover,k as default};
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
3
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
4
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
5
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
6
+ var __spreadValues = (a, b) => {
7
+ for (var prop in b || (b = {}))
8
+ if (__hasOwnProp.call(b, prop))
9
+ __defNormalProp(a, prop, b[prop]);
10
+ if (__getOwnPropSymbols)
11
+ for (var prop of __getOwnPropSymbols(b)) {
12
+ if (__propIsEnum.call(b, prop))
13
+ __defNormalProp(a, prop, b[prop]);
14
+ }
15
+ return a;
16
+ };
17
+ import { defineComponent, ref, toRefs, reactive, watch, createVNode, withDirectives, resolveDirective, resolveComponent } from "vue";
18
+ var debounce = (callBack, wait) => {
19
+ let time = null;
20
+ return () => {
21
+ time && clearTimeout(time);
22
+ time = setTimeout(() => {
23
+ callBack == null ? void 0 : callBack();
24
+ }, wait);
25
+ };
26
+ };
27
+ const inBrowser = typeof window !== "undefined";
28
+ function on(element, eventName, handler) {
29
+ if (document.addEventListener) {
30
+ if (element && eventName && handler) {
31
+ element.addEventListener(eventName, handler, false);
32
+ }
33
+ } else {
34
+ if (element && eventName && handler) {
35
+ element.attachEvent("on" + eventName, handler);
36
+ }
37
+ }
38
+ }
39
+ const ctx = Symbol("@@clickoutside");
40
+ const nodeList = new Map();
41
+ let startClick;
42
+ let nid = 0;
43
+ let isFirst = true;
44
+ function createDocumentHandler(el, binding, vnode) {
45
+ if (inBrowser && isFirst) {
46
+ isFirst = false;
47
+ on(document, "mousedown", (e) => {
48
+ startClick = e;
49
+ });
50
+ on(document, "mouseup", (e) => {
51
+ for (const [id, node] of nodeList) {
52
+ node[ctx].documentHandler(e, startClick);
53
+ }
54
+ });
55
+ }
56
+ return function(mouseup, mousedown) {
57
+ if (!vnode || !binding.instance || !mouseup.target || !mousedown.target || el.contains(mouseup.target) || el.contains(mousedown.target) || el === mouseup.target) {
58
+ return;
59
+ }
60
+ el[ctx].bindingFn && el[ctx].bindingFn();
61
+ };
62
+ }
63
+ const clickoutsideDirective = {
64
+ beforeMount: function(el, binding, vnode) {
65
+ nid++;
66
+ nodeList.set(nid, el);
67
+ el[ctx] = {
68
+ nid,
69
+ documentHandler: createDocumentHandler(el, binding, vnode),
70
+ bindingFn: binding.value
71
+ };
72
+ },
73
+ updated: function(el, binding, vnode) {
74
+ el[ctx].documentHandler = createDocumentHandler(el, binding, vnode);
75
+ el[ctx].bindingFn = binding.value;
76
+ },
77
+ unmounted: function(el) {
78
+ nodeList.delete(el[ctx].nid);
79
+ delete el[ctx];
80
+ }
81
+ };
82
+ var popover = "";
83
+ const popTypeClass = {
84
+ success: {
85
+ name: "right-o",
86
+ color: "rgb(61, 204, 166)"
87
+ },
88
+ error: {
89
+ name: "error-o",
90
+ color: "rgb(249, 95, 91)"
91
+ },
92
+ info: {
93
+ name: "info-o",
94
+ color: "rgb(81, 112, 255)"
95
+ },
96
+ warning: {
97
+ name: "warning-o",
98
+ color: "rgb(254, 204, 85)"
99
+ },
100
+ default: {}
101
+ };
102
+ var Popover = defineComponent({
103
+ name: "DPopover",
104
+ directives: {
105
+ clickoutside: clickoutsideDirective
106
+ },
107
+ props: {
108
+ visible: {
109
+ type: Boolean,
110
+ default: false
111
+ },
112
+ position: {
113
+ type: String,
114
+ default: "bottom"
115
+ },
116
+ content: {
117
+ type: String,
118
+ default: "default"
119
+ },
120
+ trigger: {
121
+ type: String,
122
+ default: "click"
123
+ },
124
+ zIndex: {
125
+ type: Number,
126
+ default: 1060
127
+ },
128
+ popType: {
129
+ type: String,
130
+ default: "default"
131
+ },
132
+ showAnimation: {
133
+ type: Boolean,
134
+ default: true
135
+ },
136
+ mouseEnterDelay: {
137
+ type: Number,
138
+ default: 150
139
+ },
140
+ mouseLeaveDelay: {
141
+ type: Number,
142
+ default: 100
143
+ },
144
+ popMaxWidth: {
145
+ type: Number,
146
+ default: void 0
147
+ },
148
+ popoverStyle: {
149
+ type: Object,
150
+ default: () => ({})
151
+ }
152
+ },
153
+ setup(props, ctx2) {
154
+ const {
155
+ slots
156
+ } = ctx2;
157
+ const visible = ref(props.visible);
158
+ const {
159
+ position,
160
+ content,
161
+ zIndex,
162
+ trigger,
163
+ popType,
164
+ popoverStyle,
165
+ mouseEnterDelay,
166
+ mouseLeaveDelay,
167
+ showAnimation,
168
+ popMaxWidth
169
+ } = toRefs(props);
170
+ const style = __spreadValues({
171
+ zIndex: zIndex.value
172
+ }, popoverStyle.value);
173
+ const isClick = trigger.value === "click";
174
+ const iconType = reactive(popTypeClass[popType.value]);
175
+ const event = function() {
176
+ if (visible.value) {
177
+ visible.value = false;
178
+ return;
179
+ }
180
+ visible.value = true;
181
+ };
182
+ const onClick = isClick ? event : null;
183
+ const enter = debounce(() => {
184
+ visible.value = true;
185
+ }, mouseEnterDelay.value);
186
+ const leave = debounce(() => {
187
+ visible.value = false;
188
+ }, mouseLeaveDelay.value);
189
+ const onMouseenter = isClick ? null : enter;
190
+ const onMouseleave = isClick ? null : leave;
191
+ const hiddenContext = () => {
192
+ visible.value = false;
193
+ };
194
+ popMaxWidth.value && (style.maxWidth = `${popMaxWidth.value}px`);
195
+ watch(() => props.visible, (newVal) => {
196
+ visible.value = newVal;
197
+ });
198
+ return () => {
199
+ var _a, _b;
200
+ return createVNode("div", {
201
+ "class": ["devui-popover", position.value, {
202
+ "devui-popover-animation": showAnimation.value,
203
+ "devui-popover-isVisible": visible.value
204
+ }]
205
+ }, [withDirectives(createVNode("div", {
206
+ "class": "devui-popover-reference",
207
+ "onMouseenter": onMouseenter,
208
+ "onMouseleave": onMouseleave,
209
+ "onClick": onClick
210
+ }, [(_a = slots.reference) == null ? void 0 : _a.call(slots)]), [[resolveDirective("clickoutside"), hiddenContext]]), createVNode("div", {
211
+ "class": ["devui-popover-content", iconType.name ? "is-icon" : ""],
212
+ "style": style
213
+ }, [iconType.name && createVNode(resolveComponent("d-icon"), {
214
+ "name": iconType.name,
215
+ "color": iconType.color,
216
+ "class": "devui-popover-icon",
217
+ "size": "16px"
218
+ }, null), ((_b = slots.content) == null ? void 0 : _b.call(slots)) || createVNode("span", null, [content.value]), createVNode("span", {
219
+ "class": "after",
220
+ "style": style
221
+ }, null)])]);
222
+ };
223
+ }
224
+ });
225
+ Popover.install = function(app) {
226
+ app.component(Popover.name, Popover);
227
+ };
228
+ var index = {
229
+ title: "Popover \u60AC\u6D6E\u63D0\u793A",
230
+ category: "\u53CD\u9988",
231
+ status: "100%",
232
+ install(app) {
233
+ app.use(Popover);
234
+ }
235
+ };
236
+ export { Popover, index as default };
@@ -1 +1 @@
1
- var __defProp=Object.defineProperty,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(e,o,t)=>o in e?__defProp(e,o,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[o]=t,__spreadValues=(e,o)=>{for(var t in o||(o={}))__hasOwnProp.call(o,t)&&__defNormalProp(e,t,o[t]);if(__getOwnPropSymbols)for(var t of __getOwnPropSymbols(o))__propIsEnum.call(o,t)&&__defNormalProp(e,t,o[t]);return e},__require="undefined"!=typeof require?require:e=>{throw new Error('Dynamic require of "'+e+'" is not supported')};!function(e,o){"object"==typeof exports&&"undefined"!=typeof module?o(exports,require("vue")):"function"==typeof define&&define.amd?define(["exports","vue"],o):o((e="undefined"!=typeof globalThis?globalThis:e||self).index={},e.Vue)}(this,(function(e,o){"use strict";var t=(e,o)=>{let t=null;return()=>{t&&clearTimeout(t),t=setTimeout((()=>{null==e||e()}),o)}};const n="undefined"!=typeof window;function r(e,o,t){document.addEventListener?e&&o&&t&&e.addEventListener(o,t,!1):e&&o&&t&&e.attachEvent("on"+o,t)}const l=Symbol("@@clickoutside"),a=new Map;let i,u=0,d=!0;function p(e,o,t){return n&&d&&(d=!1,r(document,"mousedown",(e=>{i=e})),r(document,"mouseup",(e=>{for(const[o,t]of a)t[l].documentHandler(e,i)}))),function(n,r){t&&o.instance&&n.target&&r.target&&!e.contains(n.target)&&!e.contains(r.target)&&e!==n.target&&e[l].bindingFn&&e[l].bindingFn()}}const s={beforeMount:function(e,o,t){u++,a.set(u,e),e[l]={nid:u,documentHandler:p(e,o,t),bindingFn:o.value}},updated:function(e,o,t){e[l].documentHandler=p(e,o,t),e[l].bindingFn=o.value},unmounted:function(e){a.delete(e[l].nid),delete e[l]}};const c={success:{name:"right-o",color:"rgb(61, 204, 166)"},error:{name:"error-o",color:"rgb(249, 95, 91)"},info:{name:"info-o",color:"rgb(81, 112, 255)"},warning:{name:"warning-o",color:"rgb(254, 204, 85)"},default:{}};var v=o.defineComponent({name:"DPopover",directives:{clickoutside:s},props:{visible:{type:Boolean,default:!1},position:{type:String,default:"bottom"},content:{type:String,default:"default"},trigger:{type:String,default:"click"},zIndex:{type:Number,default:1060},popType:{type:String,default:"default"},showAnimation:{type:Boolean,default:!0},mouseEnterDelay:{type:Number,default:150},mouseLeaveDelay:{type:Number,default:100},popMaxWidth:{type:Number,default:void 0},popoverStyle:{type:Object,default:()=>({})}},setup(e,n){const{slots:r}=n,l=o.ref(e.visible),{position:a,content:i,zIndex:u,trigger:d,popType:p,popoverStyle:s,mouseEnterDelay:v,mouseLeaveDelay:f,showAnimation:m,popMaxWidth:y}=o.toRefs(e),b=__spreadValues({zIndex:u.value},s.value),g="click"===d.value,_=o.reactive(c[p.value]),w=g?function(){l.value?l.value=!1:l.value=!0}:null,P=t((()=>{l.value=!0}),v.value),h=t((()=>{l.value=!1}),f.value),N=g?null:P,O=g?null:h,S=()=>{l.value=!1};return y.value&&(b.maxWidth=`${y.value}px`),()=>{var e,t;return o.createVNode("div",{class:["devui-popover",a.value,{"devui-popover-animation":m.value,"devui-popover-isVisible":l.value}]},[o.withDirectives(o.createVNode("div",{class:"devui-popover-reference",onMouseenter:N,onMouseleave:O,onClick:w},[null==(e=r.reference)?void 0:e.call(r)]),[[o.resolveDirective("clickoutside"),S]]),o.createVNode("div",{class:["devui-popover-content",_.name?"is-icon":""],style:b},[_.name&&o.createVNode(o.resolveComponent("d-icon"),{name:_.name,color:_.color,class:"devui-popover-icon",size:"16px"},null),(null==(t=r.content)?void 0:t.call(r))||o.createVNode("span",null,[i.value]),o.createVNode("span",{class:"after",style:b},null)])])}}});v.install=function(e){e.component(v.name,v)};var f={title:"Popover 悬浮提示",category:"反馈",status:"已完成",install(e){e.use(v)}};e.Popover=v,e.default=f,Object.defineProperty(e,"__esModule",{value:!0}),e[Symbol.toStringTag]="Module"}));
1
+ var R=Object.defineProperty;var C=Object.getOwnPropertySymbols;var $=Object.prototype.hasOwnProperty,G=Object.prototype.propertyIsEnumerable;var M=(o,t,u)=>t in o?R(o,t,{enumerable:!0,configurable:!0,writable:!0,value:u}):o[t]=u,S=(o,t)=>{for(var u in t||(t={}))$.call(t,u)&&M(o,u,t[u]);if(C)for(var u of C(t))G.call(t,u)&&M(o,u,t[u]);return o};(function(o,t){typeof exports=="object"&&typeof module!="undefined"?t(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],t):(o=typeof globalThis!="undefined"?globalThis:o||self,t(o.index={},o.Vue))})(this,function(o,t){"use strict";var u=(e,i)=>{let n=null;return()=>{n&&clearTimeout(n),n=setTimeout(()=>{e==null||e()},i)}};const T=typeof window!="undefined";function g(e,i,n){document.addEventListener?e&&i&&n&&e.addEventListener(i,n,!1):e&&i&&n&&e.attachEvent("on"+i,n)}const a=Symbol("@@clickoutside"),p=new Map;let b,f=0,x=!0;function D(e,i,n){return T&&x&&(x=!1,g(document,"mousedown",r=>{b=r}),g(document,"mouseup",r=>{for(const[s,v]of p)v[a].documentHandler(r,b)})),function(r,s){!n||!i.instance||!r.target||!s.target||e.contains(r.target)||e.contains(s.target)||e===r.target||e[a].bindingFn&&e[a].bindingFn()}}const V={beforeMount:function(e,i,n){f++,p.set(f,e),e[a]={nid:f,documentHandler:D(e,i,n),bindingFn:i.value}},updated:function(e,i,n){e[a].documentHandler=D(e,i,n),e[a].bindingFn=i.value},unmounted:function(e){p.delete(e[a].nid),delete e[a]}};var J="";const N={success:{name:"right-o",color:"rgb(61, 204, 166)"},error:{name:"error-o",color:"rgb(249, 95, 91)"},info:{name:"info-o",color:"rgb(81, 112, 255)"},warning:{name:"warning-o",color:"rgb(254, 204, 85)"},default:{}};var l=t.defineComponent({name:"DPopover",directives:{clickoutside:V},props:{visible:{type:Boolean,default:!1},position:{type:String,default:"bottom"},content:{type:String,default:"default"},trigger:{type:String,default:"click"},zIndex:{type:Number,default:1060},popType:{type:String,default:"default"},showAnimation:{type:Boolean,default:!0},mouseEnterDelay:{type:Number,default:150},mouseLeaveDelay:{type:Number,default:100},popMaxWidth:{type:Number,default:void 0},popoverStyle:{type:Object,default:()=>({})}},setup(e,i){const{slots:n}=i,r=t.ref(e.visible),{position:s,content:v,zIndex:E,trigger:F,popType:L,popoverStyle:P,mouseEnterDelay:z,mouseLeaveDelay:A,showAnimation:H,popMaxWidth:h}=t.toRefs(e),m=S({zIndex:E.value},P.value),y=F.value==="click",c=t.reactive(N[L.value]),j=y?function(){if(r.value){r.value=!1;return}r.value=!0}:null,I=u(()=>{r.value=!0},z.value),W=u(()=>{r.value=!1},A.value),O=y?null:I,_=y?null:W,q=()=>{r.value=!1};return h.value&&(m.maxWidth=`${h.value}px`),t.watch(()=>e.visible,d=>{r.value=d}),()=>{var d,w;return t.createVNode("div",{class:["devui-popover",s.value,{"devui-popover-animation":H.value,"devui-popover-isVisible":r.value}]},[t.withDirectives(t.createVNode("div",{class:"devui-popover-reference",onMouseenter:O,onMouseleave:_,onClick:j},[(d=n.reference)==null?void 0:d.call(n)]),[[t.resolveDirective("clickoutside"),q]]),t.createVNode("div",{class:["devui-popover-content",c.name?"is-icon":""],style:m},[c.name&&t.createVNode(t.resolveComponent("d-icon"),{name:c.name,color:c.color,class:"devui-popover-icon",size:"16px"},null),((w=n.content)==null?void 0:w.call(n))||t.createVNode("span",null,[v.value]),t.createVNode("span",{class:"after",style:m},null)])])}}});l.install=function(e){e.component(l.name,l)};var k={title:"Popover \u60AC\u6D6E\u63D0\u793A",category:"\u53CD\u9988",status:"100%",install(e){e.use(l)}};o.Popover=l,o.default=k,Object.defineProperty(o,"__esModule",{value:!0}),o[Symbol.toStringTag]="Module"});
@@ -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;