vue-devui 1.0.0-beta.18 → 1.0.0-beta.19

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 (161) hide show
  1. package/README.md +200 -187
  2. package/accordion/index.es.js +221 -6
  3. package/accordion/index.umd.js +1 -1
  4. package/alert/index.es.js +28 -30
  5. package/alert/index.umd.js +1 -1
  6. package/auto-complete/index.es.js +131 -269
  7. package/auto-complete/index.umd.js +1 -1
  8. package/auto-complete/style.css +1 -1
  9. package/back-top/index.es.js +4 -2
  10. package/badge/index.es.js +13 -19
  11. package/badge/index.umd.js +1 -1
  12. package/badge/style.css +1 -1
  13. package/breadcrumb/index.es.js +2 -1
  14. package/button/index.es.js +39 -40
  15. package/button/index.umd.js +1 -1
  16. package/carousel/index.es.js +38 -53
  17. package/carousel/index.umd.js +1 -1
  18. package/cascader/index.es.js +16 -8
  19. package/cascader/style.css +1 -1
  20. package/color-picker/index.es.js +97 -89
  21. package/color-picker/index.umd.js +7 -7
  22. package/countdown/index.es.js +2 -1
  23. package/date-picker/index.es.js +40 -57
  24. package/date-picker/index.umd.js +1 -1
  25. package/date-picker/style.css +1 -1
  26. package/drawer/index.es.js +162 -5741
  27. package/drawer/index.umd.js +1 -27
  28. package/drawer/style.css +1 -1
  29. package/dropdown/index.es.js +459 -301
  30. package/dropdown/index.umd.js +1 -1
  31. package/dropdown/style.css +1 -1
  32. package/editable-select/index.es.js +6 -3
  33. package/form/index.es.js +1953 -1550
  34. package/form/index.umd.js +18 -18
  35. package/form/style.css +1 -1
  36. package/fullscreen/index.es.js +112 -133
  37. package/fullscreen/index.umd.js +1 -1
  38. package/fullscreen/style.css +1 -1
  39. package/icon/index.es.js +39 -57
  40. package/icon/index.umd.js +1 -1
  41. package/image-preview/index.es.js +2 -1
  42. package/input/style.css +1 -1
  43. package/input-icon/index.es.js +38 -37
  44. package/input-icon/index.umd.js +1 -1
  45. package/input-icon/style.css +1 -1
  46. package/input-number/index.es.js +46 -57
  47. package/input-number/index.umd.js +1 -1
  48. package/input-number/style.css +1 -1
  49. package/{time-axis → list}/index.d.ts +0 -0
  50. package/list/index.es.js +39 -0
  51. package/list/index.umd.js +1 -0
  52. package/{toast → list}/package.json +1 -1
  53. package/list/style.css +1 -0
  54. package/modal/index.es.js +300 -934
  55. package/modal/index.umd.js +1 -1
  56. package/modal/style.css +1 -1
  57. package/{toast → notification}/index.d.ts +0 -0
  58. package/notification/index.es.js +284 -0
  59. package/notification/index.umd.js +1 -0
  60. package/notification/package.json +7 -0
  61. package/notification/style.css +1 -0
  62. package/nuxt/components/DropdownMenu.js +3 -0
  63. package/nuxt/components/IFileOptions.js +3 -0
  64. package/nuxt/components/IUploadOptions.js +3 -0
  65. package/nuxt/components/List.js +3 -0
  66. package/nuxt/components/ListItem.js +3 -0
  67. package/nuxt/components/Notification.js +3 -0
  68. package/nuxt/components/NotificationService.js +3 -0
  69. package/nuxt/components/PanelBody.js +3 -0
  70. package/nuxt/components/PanelFooter.js +3 -0
  71. package/nuxt/components/PanelHeader.js +3 -0
  72. package/nuxt/components/Timeline.js +3 -0
  73. package/nuxt/components/TimelineItem.js +3 -0
  74. package/nuxt/components/UploadStatus.js +3 -0
  75. package/nuxt/components/alertProps.js +3 -0
  76. package/nuxt/components/badgeProps.js +3 -0
  77. package/nuxt/components/dropdownMenuProps.js +3 -0
  78. package/nuxt/components/fixedOverlayProps.js +3 -0
  79. package/nuxt/components/flexibleOverlayProps.js +3 -0
  80. package/nuxt/components/fullscreenProps.js +3 -0
  81. package/nuxt/components/iconProps.js +2 -0
  82. package/nuxt/components/notificationProps.js +3 -0
  83. package/nuxt/components/overlayEmits.js +3 -0
  84. package/nuxt/components/overlayProps.js +3 -0
  85. package/nuxt/components/paginationProps.js +3 -0
  86. package/nuxt/components/panelProps.js +3 -0
  87. package/nuxt/components/popoverProps.js +3 -0
  88. package/nuxt/components/searchProps.js +3 -0
  89. package/nuxt/components/tooltipProps.js +3 -0
  90. package/nuxt/components/uploadProps.js +3 -0
  91. package/overlay/index.es.js +152 -198
  92. package/overlay/index.umd.js +1 -1
  93. package/overlay/style.css +1 -1
  94. package/package.json +40 -87
  95. package/pagination/index.es.js +10 -12
  96. package/pagination/index.umd.js +1 -1
  97. package/panel/index.es.js +45 -32
  98. package/panel/index.umd.js +1 -1
  99. package/popover/index.es.js +5954 -201
  100. package/popover/index.umd.js +27 -1
  101. package/popover/style.css +1 -1
  102. package/read-tip/index.es.js +6 -3
  103. package/result/index.es.js +38 -53
  104. package/result/index.umd.js +1 -1
  105. package/ripple/index.es.js +9 -5
  106. package/search/index.es.js +19 -29
  107. package/search/index.umd.js +6 -6
  108. package/search/style.css +1 -1
  109. package/select/index.es.js +42 -42
  110. package/select/index.umd.js +1 -1
  111. package/select/style.css +1 -1
  112. package/skeleton/index.es.js +17 -17
  113. package/skeleton/index.umd.js +1 -1
  114. package/slider/index.es.js +2 -1
  115. package/splitter/index.es.js +5814 -98
  116. package/splitter/index.umd.js +27 -1
  117. package/splitter/style.css +1 -1
  118. package/status/index.es.js +1 -4
  119. package/status/index.umd.js +1 -1
  120. package/status/style.css +1 -1
  121. package/steps-guide/index.es.js +6 -3
  122. package/style.css +1 -1
  123. package/table/index.es.js +456 -299
  124. package/table/index.umd.js +1 -1
  125. package/table/style.css +1 -1
  126. package/tabs/index.es.js +3 -4
  127. package/tabs/index.umd.js +1 -1
  128. package/tag/index.es.js +2 -1
  129. package/tag-input/index.es.js +4 -2
  130. package/textarea/style.css +1 -1
  131. package/time-picker/index.es.js +43 -42
  132. package/time-picker/index.umd.js +1 -1
  133. package/timeline/index.d.ts +7 -0
  134. package/{time-axis → timeline}/index.es.js +65 -78
  135. package/timeline/index.umd.js +1 -0
  136. package/{time-axis → timeline}/package.json +1 -1
  137. package/timeline/style.css +1 -0
  138. package/tooltip/index.es.js +5804 -94
  139. package/tooltip/index.umd.js +27 -1
  140. package/tooltip/style.css +1 -1
  141. package/transfer/index.es.js +440 -165
  142. package/transfer/index.umd.js +17 -17
  143. package/transfer/style.css +1 -1
  144. package/tree/index.es.js +12 -7
  145. package/tree/index.umd.js +10 -10
  146. package/tree-select/index.es.js +10 -6
  147. package/tree-select/index.umd.js +1 -1
  148. package/upload/index.es.js +335 -6068
  149. package/upload/index.umd.js +1 -27
  150. package/upload/style.css +1 -1
  151. package/vue-devui.es.js +2555 -2799
  152. package/vue-devui.umd.js +16 -16
  153. package/nuxt/components/TimeAxis.js +0 -3
  154. package/nuxt/components/TimeAxisItem.js +0 -3
  155. package/nuxt/components/Toast.js +0 -3
  156. package/nuxt/components/ToastService.js +0 -3
  157. package/time-axis/index.umd.js +0 -1
  158. package/time-axis/style.css +0 -1
  159. package/toast/index.es.js +0 -5918
  160. package/toast/index.umd.js +0 -27
  161. package/toast/style.css +0 -1
@@ -1,5 +1,5 @@
1
1
  import { defineComponent, ref, onMounted, onUnmounted, withDirectives, createVNode, createTextVNode, resolveDirective, toRefs, watch, resolveComponent, computed, Fragment, mergeProps, nextTick } from "vue";
2
- const componentProps = {
2
+ const paginationProps = {
3
3
  pageSize: {
4
4
  type: Number,
5
5
  default: 10
@@ -202,15 +202,15 @@ var ConfigMenu = defineComponent({
202
202
  setup() {
203
203
  const paginationConfig = ref(null);
204
204
  const isShowConfig = ref(false);
205
+ const closeConfigMenu = (e) => {
206
+ isShowConfig.value = isShowConfig.value ? false : !!e;
207
+ };
205
208
  onMounted(() => {
206
209
  on(paginationConfig.value, "click", closeConfigMenu);
207
210
  });
208
211
  onUnmounted(() => {
209
212
  off(paginationConfig.value, "click", closeConfigMenu);
210
213
  });
211
- const closeConfigMenu = (e) => {
212
- isShowConfig.value = isShowConfig.value ? false : !!e;
213
- };
214
214
  return {
215
215
  paginationConfig,
216
216
  isShowConfig,
@@ -360,8 +360,9 @@ var PageNumBtn = defineComponent({
360
360
  }) {
361
361
  const showPageNum = computed(() => handlePages(props.cursor, props.maxItems, props.totalPages));
362
362
  const changeCursor = (pageSize) => {
363
- if (isNaN(pageSize))
363
+ if (isNaN(pageSize)) {
364
364
  return;
365
+ }
365
366
  const page = pageSize < 1 ? 1 : pageSize > props.totalPages ? props.totalPages : pageSize | 0;
366
367
  emit("changeCursorEmit", page);
367
368
  };
@@ -485,11 +486,12 @@ var Pagination = defineComponent({
485
486
  JumpPage,
486
487
  PageNumBtn
487
488
  },
488
- props: componentProps,
489
+ props: paginationProps,
489
490
  emits: ["pageIndexChange", "pageSizeChange", "update:pageSize", "update:pageIndex"],
490
491
  setup(props, {
491
492
  emit
492
493
  }) {
494
+ const totalPages = computed(() => Math.ceil(props.total / props.pageSize));
493
495
  const litePageOptions = computed(() => liteSelectOptions(totalPages.value));
494
496
  const cursor = computed({
495
497
  get() {
@@ -511,7 +513,6 @@ var Pagination = defineComponent({
511
513
  emit("update:pageSize", val);
512
514
  }
513
515
  });
514
- const totalPages = computed(() => Math.ceil(props.total / props.pageSize));
515
516
  const changeCursorEmit = (val) => {
516
517
  cursor.value = val;
517
518
  emit("pageIndexChange", val);
@@ -628,15 +629,12 @@ var Pagination = defineComponent({
628
629
  ]);
629
630
  }
630
631
  });
631
- Pagination.install = (app) => {
632
- app.component(Pagination.name, Pagination);
633
- };
634
632
  var index = {
635
633
  title: "Pagination \u5206\u9875",
636
634
  category: "\u5BFC\u822A",
637
635
  status: "100%",
638
636
  install(app) {
639
- app.use(Pagination);
637
+ app.component(Pagination.name, Pagination);
640
638
  }
641
639
  };
642
- export { Pagination, index as default };
640
+ export { Pagination, index as default, paginationProps };
@@ -1 +1 @@
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"});
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 y={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,a,n)=>{const r=t,s=a;if(s>=n)return[2,n];const o=s-2;let i=r-(o>>1),c=r+(o-1>>1);return i<2&&(i=2,c=s-2),c>n&&(i=n-s+3,c=n),[i,c]};function L(t){return new Array(t||1).fill(0).map((a,n)=>({name:`${n+1}/${t}`,value:n+1}))}function C(t,a,n){document.addEventListener?t&&a&&n&&t.addEventListener(a,n,!1):t&&a&&n&&t.attachEvent("on"+a,n)}function j(t,a,n){document.removeEventListener?t&&a&&n&&t.removeEventListener(a,n,!1):t&&a&&n&&t.detachEvent("on"+a,n)}const M=typeof window!="undefined",g=Symbol("@@clickoutside"),h=new Map;let z,N=0,b=!0;function k(t,a,n){return M&&b&&(b=!1,C(document,"mousedown",r=>{z=r}),C(document,"mouseup",r=>{for(const[s,o]of h)o[g].documentHandler(r,z)})),function(r,s){!n||!a.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,a,n){N++,h.set(N,t),t[g]={nid:N,documentHandler:k(t,a,n),bindingFn:a.value}},updated:function(t,a,n){t[g].documentHandler=k(t,a,n),t[g].bindingFn=a.value},unmounted:function(t){h.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),a=e.ref(!1),n=r=>{a.value=a.value?!1:!!r};return e.onMounted(()=>{C(t.value,"click",n)}),e.onUnmounted(()=>{j(t.value,"click",n)}),{paginationConfig:t,isShowConfig:a,closeConfigMenu:n}},render(){var i;const{closeConfigMenu:t,currentPageSize:a,pageSizeChange:n,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===a},key:c,onClick:n.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:a}){const{pageIndex:n,totalPages:r,cursor:s}=e.toRefs(t),o=e.ref(n.value);e.watch(()=>n.value,l=>{o.value=l});let i=n.value;return{inputNum:o,jumpPageChange:l=>{i=+l,o.value=l,isNaN(l)&&setTimeout(()=>{o.value=n.value},300)},jump:l=>{i>r.value||(l==="btn"||l.key==="Enter")&&s.value!==i&&a("changeCursorEmit",i)}}},render(){const{goToText:t,size:a,inputNum:n,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",a?"devui-pagination-input-"+a:""],size:a,modelValue:String(n),"onUpdate:modelValue":r,onKeydown:s},null),t==="\u8DF3\u81F3"&&"\u9875",o&&e.createVNode("div",{class:["devui-jump-button",a?"devui-jump-size-"+a:"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:a}){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;a("changeCursorEmit",c)},prevChange:i=>{if(t.cursor>1){const c=i===-1?t.cursor-1:i;a("changeCursorEmit",c)}},nextChange:i=>{if(t.cursor<t.totalPages){const c=i===-1?t.cursor+1:i;a("changeCursorEmit",c)}}}},render(){const{size:t,preLink:a,nextLink:n,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:a,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 m=[];for(let p=i[0];p<=i[1];p++)m.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 m})(),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:n,class:"devui-pagination-link"},null)])])}}),X="",V=e.defineComponent({name:"DPagination",components:{ConfigMenu:H,JumpPage:J,PageNumBtn:U},props:y,emits:["pageIndexChange","pageSizeChange","update:pageSize","update:pageIndex"],setup(t,{emit:a}){const n=e.computed(()=>Math.ceil(t.total/t.pageSize)),r=e.computed(()=>L(n.value)),s=e.computed({get(){return!t.showTruePageIndex&&t.pageIndex>n.value?(a("update:pageIndex",n.value||1),n.value||1):t.pageIndex||1},set(l){a("update:pageIndex",l)}}),o=e.computed({get(){return t.pageSize},set(l){a("update:pageSize",l)}}),i=l=>{s.value=l,a("pageIndexChange",l)};return{cursor:s,totalPages:n,changeCursorEmit:i,currentPageSize:o,pageSizeChange:l=>{o.value=l.value,t.autoFixPageIndex&&e.nextTick(()=>{s.value>n.value&&i(n.value)}),a("pageSizeChange",l.value)},litePageOptions:r,litePageIndexChange:l=>{i(l.value)}}},render(){const{total:t,pageIndex:a,pageSizeOptions:n,pageSizeDirection:r,preLink:s,nextLink:o,size:i,canJumpPage:c,canChangePageSize:d,canViewTotal:l,totalItemText:P,goToText:m,maxItems:p,showJumpButton:q,showTruePageIndex:K,lite:f,showPageSelector:v,haveConfigMenu:R,autoHide:G,$slots:x,cursor:S,totalPages:T,currentPageSize:I,pageSizeChange:w,changeCursorEmit:B,litePageOptions:Q,litePageIndexChange:W}=this;return G&&Math.min(...n)>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:n,modelValue:I,onValueChange:w,pageSizeDirection:r},null)]),(!f||f&&v)&&l&&e.createVNode("div",{class:"devui-total-size"},[P,e.createTextVNode(": "),t]),f&&v&&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:T,size:i,lite:f,maxItems:p,preLink:s,nextLink:o,showTruePageIndex:K},{onChangeCursorEmit:B}),null),c&&!f&&e.createVNode(e.resolveComponent("jump-page"),e.mergeProps({goToText:m,size:i,pageIndex:a,totalPages:T,cursor:S,showJumpButton:q},{onChangeCursorEmit:B}),null),f&&R&&e.createVNode(e.resolveComponent("config-menu"),{currentPageSize:I,pageSizeChange:w,pageSizeOptions:n},{default:()=>{var E;return[(E=x.default)==null?void 0:E.call(x)]}})])}}),_={title:"Pagination \u5206\u9875",category:"\u5BFC\u822A",status:"100%",install(t){t.component(V.name,V)}};u.Pagination=V,u.default=_,u.paginationProps=y,Object.defineProperty(u,"__esModule",{value:!0}),u[Symbol.toStringTag]="Module"});
package/panel/index.es.js CHANGED
@@ -1,6 +1,5 @@
1
1
  import { reactive, ref, defineComponent, provide, computed, createVNode, inject, onMounted, Transition } from "vue";
2
- var panel = "";
3
- const PanelProps = {
2
+ const panelProps = {
4
3
  type: {
5
4
  type: String,
6
5
  default: "default"
@@ -17,10 +16,6 @@ const PanelProps = {
17
16
  type: Function,
18
17
  default: null
19
18
  },
20
- toggle: {
21
- type: Function,
22
- default: null
23
- },
24
19
  showAnimation: {
25
20
  type: Boolean,
26
21
  default: true
@@ -42,9 +37,11 @@ class Store {
42
37
  option[key] = ref(value);
43
38
  }
44
39
  }
40
+ var panel = "";
45
41
  var Panel = defineComponent({
46
42
  name: "DPanel",
47
- props: PanelProps,
43
+ props: panelProps,
44
+ emits: ["toggle"],
48
45
  setup(props, ctx) {
49
46
  provide("beforeToggle", props.beforeToggle);
50
47
  provide("showAnimation", computed(() => props.showAnimation));
@@ -52,11 +49,10 @@ var Panel = defineComponent({
52
49
  const isCollapsed = ref(props.isCollapsed);
53
50
  const type = computed(() => props.type);
54
51
  const cssClass = computed(() => props.cssClass);
52
+ const timeStamp = new Date().getTime().toString() + Math.random();
55
53
  const onToggle = () => {
56
- var _a;
57
- (_a = props.toggle) == null ? void 0 : _a.call(props, Store.getByKey(`isCollapsed[${timeStamp}]`));
54
+ ctx.emit("toggle", Store.getByKey(`isCollapsed[${timeStamp}]`));
58
55
  };
59
- const timeStamp = new Date().getTime().toString();
60
56
  Store.setData(`isCollapsed[${timeStamp}]`, isCollapsed.value);
61
57
  return () => {
62
58
  var _a, _b;
@@ -69,7 +65,8 @@ var Panel = defineComponent({
69
65
  });
70
66
  var PanelHeader = defineComponent({
71
67
  name: "DPanelHeader",
72
- props: PanelProps,
68
+ props: panelProps,
69
+ emits: ["toggle"],
73
70
  setup(props, ctx) {
74
71
  const beforeToggle = inject("beforeToggle");
75
72
  const keys = Object.keys(Store.state());
@@ -77,16 +74,35 @@ var PanelHeader = defineComponent({
77
74
  const isCollapsed = ref(Store.state()[key]);
78
75
  const changeFlag = ref();
79
76
  let header = null;
80
- const canToggle = () => {
81
- let changeResult = Promise.resolve(true);
77
+ const res = ref(isCollapsed.value);
78
+ let changeResult = true;
79
+ const done = () => {
80
+ res.value = !res.value;
81
+ if (!changeFlag.value) {
82
+ if (res.value) {
83
+ Store.setData(`${key}`, res.value);
84
+ isCollapsed.value = res.value;
85
+ ctx.emit("toggle", res.value);
86
+ }
87
+ return;
88
+ }
89
+ if (res.value !== void 0) {
90
+ Store.setData(`${key}`, res.value);
91
+ isCollapsed.value = res.value;
92
+ ctx.emit("toggle", res.value);
93
+ }
94
+ };
95
+ const canToggle = async () => {
82
96
  if (beforeToggle) {
83
- const result = beforeToggle(isCollapsed);
84
- if (typeof result !== void 0) {
85
- if (result instanceof Promise) {
86
- changeResult = result;
97
+ const tmpRes = beforeToggle(isCollapsed, done);
98
+ if (typeof tmpRes !== "undefined") {
99
+ if (tmpRes instanceof Promise) {
100
+ changeResult = await tmpRes;
87
101
  } else {
88
- changeResult = Promise.resolve(result);
102
+ changeResult = tmpRes;
89
103
  }
104
+ } else {
105
+ changeResult = true;
90
106
  }
91
107
  }
92
108
  return changeResult;
@@ -94,20 +110,19 @@ var PanelHeader = defineComponent({
94
110
  canToggle().then((val) => changeFlag.value = val);
95
111
  const toggleBody = () => {
96
112
  canToggle().then((val) => {
97
- var _a, _b;
98
113
  changeFlag.value = val;
99
114
  if (!val) {
100
115
  if (!isCollapsed.value) {
101
116
  Store.setData(`${key}`, !isCollapsed.value);
102
117
  isCollapsed.value = !isCollapsed.value;
103
- (_a = props.toggle) == null ? void 0 : _a.call(props, isCollapsed.value);
118
+ ctx.emit("toggle", isCollapsed.value);
104
119
  }
105
120
  return;
106
121
  }
107
122
  if (isCollapsed.value !== void 0) {
108
123
  Store.setData(`${key}`, !isCollapsed.value);
109
124
  isCollapsed.value = !isCollapsed.value;
110
- (_b = props.toggle) == null ? void 0 : _b.call(props, isCollapsed.value);
125
+ ctx.emit("toggle", isCollapsed.value);
111
126
  }
112
127
  });
113
128
  };
@@ -118,7 +133,7 @@ var PanelHeader = defineComponent({
118
133
  "class": "devui-panel-heading",
119
134
  "onClick": toggleBody,
120
135
  "style": {
121
- "cursor": changeFlag.value ? "pointer" : "auto"
136
+ cursor: changeFlag.value ? "pointer" : "auto"
122
137
  }
123
138
  }, [(_b = (_a = ctx.slots).default) == null ? void 0 : _b.call(_a)]);
124
139
  }
@@ -128,7 +143,7 @@ var PanelHeader = defineComponent({
128
143
  });
129
144
  var PanelBody = defineComponent({
130
145
  name: "DPanelBody",
131
- props: PanelProps,
146
+ props: panelProps,
132
147
  setup(props, ctx) {
133
148
  const animationName = inject("showAnimation");
134
149
  const hasLeftPadding = inject("hasLeftPadding");
@@ -139,8 +154,9 @@ var PanelBody = defineComponent({
139
154
  onMounted(() => {
140
155
  if (bodyEl.value) {
141
156
  const dom = bodyEl.value;
142
- if (isCollapsed[key])
157
+ if (isCollapsed[key]) {
143
158
  dom.style.height = `${dom.offsetHeight}px`;
159
+ }
144
160
  }
145
161
  });
146
162
  const enter = (element) => {
@@ -188,18 +204,15 @@ var PanelFooter = defineComponent({
188
204
  };
189
205
  }
190
206
  });
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
207
  var index = {
198
208
  title: "Panel \u9762\u677F",
199
209
  category: "\u901A\u7528",
200
210
  status: "100%",
201
211
  install(app) {
202
- app.use(Panel);
212
+ app.component(Panel.name, Panel);
213
+ app.component(PanelHeader.name, PanelHeader);
214
+ app.component(PanelBody.name, PanelBody);
215
+ app.component(PanelFooter.name, PanelFooter);
203
216
  }
204
217
  };
205
- export { Panel, index as default };
218
+ export { Panel, PanelBody, PanelFooter, PanelHeader, index as default, panelProps };
@@ -1 +1 @@
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(l){return p[l]}static state(){return p}static setData(l,u){p[l]=e.ref(u)}}var y=e.defineComponent({name:"DPanel",props:h,setup(t,l){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),o=()=>{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:o,class:`devui-panel devui-panel-${r.value} ${c.value}`},[(g=(s=l.slots).default)==null?void 0:g.call(s)])}}}),P=e.defineComponent({name:"DPanelHeader",props:h,setup(t,l){const u=e.inject("beforeToggle"),c=Object.keys(f.state()).pop(),o=e.ref(f.state()[c]),i=e.ref();let s=null;const g=()=>{let n=Promise.resolve(!0);if(u){const a=u(o);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){o.value||(f.setData(`${c}`,!o.value),o.value=!o.value,(a=t.toggle)==null||a.call(t,o.value));return}o.value!==void 0&&(f.setData(`${c}`,!o.value),o.value=!o.value,(m=t.toggle)==null||m.call(t,o.value))})};return()=>{var n,a;return l.slots.default&&(s=e.createVNode("div",{class:"devui-panel-heading",onClick:v,style:{cursor:i.value?"pointer":"auto"}},[(a=(n=l.slots).default)==null?void 0:a.call(n)])),s}}}),C=e.defineComponent({name:"DPanelBody",props:h,setup(t,l){const u=e.inject("showAnimation"),r=e.inject("hasLeftPadding"),o=Object.keys(f.state()).pop(),i=f.state(),s=e.ref();e.onMounted(()=>{if(s.value){const n=s.value;i[o]&&(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[o]===void 0||i[o]?e.createVNode("div",{ref:s,class:`devui-panel-body ${i[o]!==void 0?"devui-panel-body-collapse":""} ${r.value?"":"no-left-padding"}`},[e.createVNode("div",{class:"devui-panel-content"},[(a=(n=l.slots).default)==null?void 0:a.call(n)])]):null]}})])}}),b=e.defineComponent({name:"DPanelFooter",setup(t,l){return()=>{var r,c;return l.slots.default?e.createVNode("div",{class:"devui-panel-footer"},[(c=(r=l.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"});
1
+ (function(l,e){typeof exports=="object"&&typeof module!="undefined"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(l=typeof globalThis!="undefined"?globalThis:l||self,e(l.index={},l.Vue))})(this,function(l,e){"use strict";const y={type:{type:String,default:"default"},cssClass:{type:String,default:""},isCollapsed:{type:Boolean,default:!1},beforeToggle:{type:Function,default:null},showAnimation:{type:Boolean,default:!0},hasLeftPadding:{type:Boolean,default:!0}},v=e.reactive({});class f{static getByKey(n){return v[n]}static state(){return v}static setData(n,c){v[n]=e.ref(c)}}var k="",h=e.defineComponent({name:"DPanel",props:y,emits:["toggle"],setup(a,n){e.provide("beforeToggle",a.beforeToggle),e.provide("showAnimation",e.computed(()=>a.showAnimation)),e.provide("hasLeftPadding",e.computed(()=>a.hasLeftPadding));const c=e.ref(a.isCollapsed),g=e.computed(()=>a.type),d=e.computed(()=>a.cssClass),t=new Date().getTime().toString()+Math.random(),u=()=>{n.emit("toggle",f.getByKey(`isCollapsed[${t}]`))};return f.setData(`isCollapsed[${t}]`,c.value),()=>{var p,o;return e.createVNode("div",{onClick:u,class:`devui-panel devui-panel-${g.value} ${d.value}`},[(o=(p=n.slots).default)==null?void 0:o.call(p)])}}}),P=e.defineComponent({name:"DPanelHeader",props:y,emits:["toggle"],setup(a,n){const c=e.inject("beforeToggle"),d=Object.keys(f.state()).pop(),t=e.ref(f.state()[d]),u=e.ref();let p=null;const o=e.ref(t.value);let m=!0;const r=()=>{if(o.value=!o.value,!u.value){o.value&&(f.setData(`${d}`,o.value),t.value=o.value,n.emit("toggle",o.value));return}o.value!==void 0&&(f.setData(`${d}`,o.value),t.value=o.value,n.emit("toggle",o.value))},s=async()=>{if(c){const i=c(t,r);typeof i!="undefined"?i instanceof Promise?m=await i:m=i:m=!0}return m};s().then(i=>u.value=i);const b=()=>{s().then(i=>{if(u.value=i,!i){t.value||(f.setData(`${d}`,!t.value),t.value=!t.value,n.emit("toggle",t.value));return}t.value!==void 0&&(f.setData(`${d}`,!t.value),t.value=!t.value,n.emit("toggle",t.value))})};return()=>{var i,T;return n.slots.default&&(p=e.createVNode("div",{class:"devui-panel-heading",onClick:b,style:{cursor:u.value?"pointer":"auto"}},[(T=(i=n.slots).default)==null?void 0:T.call(i)])),p}}}),C=e.defineComponent({name:"DPanelBody",props:y,setup(a,n){const c=e.inject("showAnimation"),g=e.inject("hasLeftPadding"),t=Object.keys(f.state()).pop(),u=f.state(),p=e.ref();e.onMounted(()=>{if(p.value){const r=p.value;u[t]&&(r.style.height=`${r.offsetHeight}px`)}});const o=r=>{const s=r;s.style.height="";const b=s.offsetHeight;s.style.height="0px",s.offsetHeight,s.style.height=`${b}px`},m=r=>{const s=r;s.style.height="0px"};return()=>e.createVNode("div",{class:`devui-panel devui-panel-${a.type} ${a.cssClass}`},[e.createVNode(e.Transition,{name:c.value?"devui-panel":"",onEnter:o,onLeave:m},{default:()=>{var r,s;return[u[t]===void 0||u[t]?e.createVNode("div",{ref:p,class:`devui-panel-body ${u[t]!==void 0?"devui-panel-body-collapse":""} ${g.value?"":"no-left-padding"}`},[e.createVNode("div",{class:"devui-panel-content"},[(s=(r=n.slots).default)==null?void 0:s.call(r)])]):null]}})])}}),$=e.defineComponent({name:"DPanelFooter",setup(a,n){return()=>{var g,d;return n.slots.default?e.createVNode("div",{class:"devui-panel-footer"},[(d=(g=n.slots).default)==null?void 0:d.call(g)]):null}}}),D={title:"Panel \u9762\u677F",category:"\u901A\u7528",status:"100%",install(a){a.component(h.name,h),a.component(P.name,P),a.component(C.name,C),a.component($.name,$)}};l.Panel=h,l.PanelBody=C,l.PanelFooter=$,l.PanelHeader=P,l.default=D,l.panelProps=y,Object.defineProperty(l,"__esModule",{value:!0}),l[Symbol.toStringTag]="Module"});