vxe-pc-ui 4.20.8 → 4.20.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (144) hide show
  1. package/dist/all.esm.js +2041 -2125
  2. package/dist/style.css +1 -1
  3. package/dist/style.min.css +1 -1
  4. package/es/card/src/card.js +8 -6
  5. package/es/date-panel/src/date-panel.js +58 -36
  6. package/es/date-panel/style.css +22 -20
  7. package/es/date-panel/style.min.css +1 -1
  8. package/es/drawer/src/drawer.js +7 -5
  9. package/es/icon/style.css +1 -1
  10. package/es/icon-picker/src/icon-picker.js +74 -38
  11. package/es/icon-picker/style.css +9 -3
  12. package/es/icon-picker/style.min.css +1 -1
  13. package/es/layout-aside/src/layout-aside.js +6 -4
  14. package/es/layout-body/src/layout-body.js +6 -4
  15. package/es/layout-container/src/layout-container.js +11 -3
  16. package/es/list/src/list.js +81 -208
  17. package/es/menu/src/menu.js +7 -5
  18. package/es/modal/src/modal.js +7 -5
  19. package/es/scrollbar/src/scrollbar.js +28 -173
  20. package/es/select/src/select.js +243 -8
  21. package/es/select/style.css +44 -0
  22. package/es/select/style.min.css +1 -1
  23. package/es/style.css +1 -1
  24. package/es/style.min.css +1 -1
  25. package/es/tabs/src/tabs.js +5 -4
  26. package/es/tooltip/src/tooltip.js +7 -5
  27. package/es/tooltip/style.css +2 -0
  28. package/es/tooltip/style.min.css +1 -1
  29. package/es/tree/src/tree.js +86 -212
  30. package/es/ui/index.js +1 -1
  31. package/es/ui/src/log.js +1 -1
  32. package/es/vxe-date-panel/style.css +22 -20
  33. package/es/vxe-date-panel/style.min.css +1 -1
  34. package/es/vxe-icon-picker/style.css +9 -3
  35. package/es/vxe-icon-picker/style.min.css +1 -1
  36. package/es/vxe-select/style.css +44 -0
  37. package/es/vxe-select/style.min.css +1 -1
  38. package/es/vxe-tooltip/style.css +2 -0
  39. package/es/vxe-tooltip/style.min.css +1 -1
  40. package/lib/card/src/card.js +9 -6
  41. package/lib/card/src/card.min.js +1 -1
  42. package/lib/date-panel/src/date-panel.js +56 -34
  43. package/lib/date-panel/src/date-panel.min.js +1 -1
  44. package/lib/date-panel/style/style.css +22 -20
  45. package/lib/date-panel/style/style.min.css +1 -1
  46. package/lib/drawer/src/drawer.js +7 -4
  47. package/lib/drawer/src/drawer.min.js +1 -1
  48. package/lib/icon/style/style.css +1 -1
  49. package/lib/icon/style/style.min.css +1 -1
  50. package/lib/icon-picker/src/icon-picker.js +101 -45
  51. package/lib/icon-picker/src/icon-picker.min.js +1 -1
  52. package/lib/icon-picker/style/style.css +9 -3
  53. package/lib/icon-picker/style/style.min.css +1 -1
  54. package/lib/index.umd.js +1049 -859
  55. package/lib/index.umd.min.js +1 -1
  56. package/lib/layout-aside/src/layout-aside.js +7 -4
  57. package/lib/layout-aside/src/layout-aside.min.js +1 -1
  58. package/lib/layout-body/src/layout-body.js +7 -4
  59. package/lib/layout-body/src/layout-body.min.js +1 -1
  60. package/lib/layout-container/src/layout-container.js +20 -4
  61. package/lib/layout-container/src/layout-container.min.js +1 -1
  62. package/lib/list/src/list.js +95 -232
  63. package/lib/list/src/list.min.js +1 -1
  64. package/lib/menu/src/menu.js +8 -4
  65. package/lib/menu/src/menu.min.js +1 -1
  66. package/lib/modal/src/modal.js +7 -4
  67. package/lib/modal/src/modal.min.js +1 -1
  68. package/lib/scrollbar/src/scrollbar.js +42 -199
  69. package/lib/scrollbar/src/scrollbar.min.js +1 -1
  70. package/lib/select/src/select.js +315 -68
  71. package/lib/select/src/select.min.js +1 -1
  72. package/lib/select/style/style.css +44 -0
  73. package/lib/select/style/style.min.css +1 -1
  74. package/lib/style.css +1 -1
  75. package/lib/style.min.css +1 -1
  76. package/lib/tabs/src/tabs.js +6 -5
  77. package/lib/tabs/src/tabs.min.js +1 -1
  78. package/lib/tooltip/src/tooltip.js +7 -4
  79. package/lib/tooltip/src/tooltip.min.js +1 -1
  80. package/lib/tooltip/style/style.css +2 -0
  81. package/lib/tooltip/style/style.min.css +1 -1
  82. package/lib/tree/src/tree.js +101 -235
  83. package/lib/tree/src/tree.min.js +1 -1
  84. package/lib/ui/index.js +1 -1
  85. package/lib/ui/index.min.js +1 -1
  86. package/lib/ui/src/log.js +1 -1
  87. package/lib/ui/src/log.min.js +1 -1
  88. package/lib/vxe-date-panel/style/style.css +22 -20
  89. package/lib/vxe-date-panel/style/style.min.css +1 -1
  90. package/lib/vxe-icon-picker/style/style.css +9 -3
  91. package/lib/vxe-icon-picker/style/style.min.css +1 -1
  92. package/lib/vxe-select/style/style.css +44 -0
  93. package/lib/vxe-select/style/style.min.css +1 -1
  94. package/lib/vxe-tooltip/style/style.css +2 -0
  95. package/lib/vxe-tooltip/style/style.min.css +1 -1
  96. package/package.json +2 -2
  97. package/packages/card/src/card.ts +8 -6
  98. package/packages/date-panel/src/date-panel.ts +58 -36
  99. package/packages/drawer/src/drawer.ts +7 -5
  100. package/packages/icon-picker/src/icon-picker.ts +80 -38
  101. package/packages/layout-aside/src/layout-aside.ts +6 -4
  102. package/packages/layout-body/src/layout-body.ts +6 -4
  103. package/packages/layout-container/src/layout-container.ts +13 -3
  104. package/packages/list/src/list.ts +98 -224
  105. package/packages/menu/src/menu.ts +7 -5
  106. package/packages/modal/src/modal.ts +7 -5
  107. package/packages/scrollbar/src/scrollbar.ts +44 -189
  108. package/packages/select/src/select.ts +278 -8
  109. package/packages/tabs/src/tabs.ts +5 -4
  110. package/packages/tooltip/src/tooltip.ts +7 -5
  111. package/packages/tree/src/tree.ts +103 -228
  112. package/styles/components/date-panel.scss +31 -29
  113. package/styles/components/icon-picker.scss +9 -3
  114. package/styles/components/select.scss +77 -0
  115. package/styles/components/tooltip.scss +1 -0
  116. package/types/components/card.d.ts +2 -2
  117. package/types/components/drawer.d.ts +2 -2
  118. package/types/components/gantt-module/gantt-view.d.ts +7 -16
  119. package/types/components/grid.d.ts +3 -1
  120. package/types/components/icon-picker.d.ts +21 -1
  121. package/types/components/layout-aside.d.ts +2 -2
  122. package/types/components/layout-body.d.ts +2 -2
  123. package/types/components/layout-container.d.ts +3 -1
  124. package/types/components/list.d.ts +6 -2
  125. package/types/components/menu.d.ts +2 -2
  126. package/types/components/modal.d.ts +2 -2
  127. package/types/components/scrollbar.d.ts +17 -14
  128. package/types/components/select.d.ts +28 -3
  129. package/types/components/table.d.ts +28 -22
  130. package/types/components/tabs.d.ts +2 -2
  131. package/types/components/tooltip.d.ts +2 -2
  132. package/types/components/tree.d.ts +8 -17
  133. /package/es/icon/{iconfont.1792115566662.ttf → iconfont.1792219842406.ttf} +0 -0
  134. /package/es/icon/{iconfont.1792115566662.woff → iconfont.1792219842406.woff} +0 -0
  135. /package/es/icon/{iconfont.1792115566662.woff2 → iconfont.1792219842406.woff2} +0 -0
  136. /package/es/{iconfont.1792115566662.ttf → iconfont.1792219842406.ttf} +0 -0
  137. /package/es/{iconfont.1792115566662.woff → iconfont.1792219842406.woff} +0 -0
  138. /package/es/{iconfont.1792115566662.woff2 → iconfont.1792219842406.woff2} +0 -0
  139. /package/lib/icon/style/{iconfont.1792115566662.ttf → iconfont.1792219842406.ttf} +0 -0
  140. /package/lib/icon/style/{iconfont.1792115566662.woff → iconfont.1792219842406.woff} +0 -0
  141. /package/lib/icon/style/{iconfont.1792115566662.woff2 → iconfont.1792219842406.woff2} +0 -0
  142. /package/lib/{iconfont.1792115566662.ttf → iconfont.1792219842406.ttf} +0 -0
  143. /package/lib/{iconfont.1792115566662.woff → iconfont.1792219842406.woff} +0 -0
  144. /package/lib/{iconfont.1792115566662.woff2 → iconfont.1792219842406.woff2} +0 -0
@@ -1 +1 @@
1
- .vxe-select,.vxe-select--panel{--vxe-ui-select-current-font-size:var(--vxe-ui-font-size-default);--vxe-ui-select-current-option-height:var(--vxe-ui-select-option-height-default)}.vxe-select--panel.size--xlarge,.vxe-select.size--xlarge{--vxe-ui-select-current-font-size:var(--vxe-ui-font-size-xlarge);--vxe-ui-select-current-option-height:var(--vxe-ui-select-option-height-xlarge)}.vxe-select--panel.size--large,.vxe-select.size--large{--vxe-ui-select-current-font-size:var(--vxe-ui-font-size-large);--vxe-ui-select-current-option-height:var(--vxe-ui-select-option-height-large)}.vxe-select--panel.size--medium,.vxe-select.size--medium{--vxe-ui-select-current-font-size:var(--vxe-ui-font-size-medium);--vxe-ui-select-current-option-height:var(--vxe-ui-select-option-height-medium)}.vxe-select--panel.size--small,.vxe-select.size--small{--vxe-ui-select-current-font-size:var(--vxe-ui-font-size-small);--vxe-ui-select-current-option-height:var(--vxe-ui-select-option-height-small)}.vxe-select--panel.size--mini,.vxe-select.size--mini{--vxe-ui-select-current-font-size:var(--vxe-ui-font-size-mini);--vxe-ui-select-current-option-height:var(--vxe-ui-select-option-height-mini)}.vxe-select,.vxe-select--panel{--vxe-ui-select-current-padding:var(--vxe-ui-layout-padding-default)}.vxe-select--panel.size--mini,.vxe-select--panel.size--small,.vxe-select.size--mini,.vxe-select.size--small{--vxe-ui-select-current-padding:var(--vxe-ui-layout-padding-half)}.vxe-select{position:relative;display:inline-block;width:180px;font-size:var(--vxe-ui-select-current-font-size);color:var(--vxe-ui-font-color);text-align:left}.vxe-select>.vxe-input .vxe-input--inner{cursor:pointer}.vxe-select.is--disabled>.vxe-input .vxe-input--inner{cursor:no-drop}.vxe-select.is--loading>.vxe-input .vxe-input--inner{cursor:progress}.vxe-select>.vxe-input{width:100%}.vxe-select>.vxe-input .vxe-input--suffix-icon>i{display:inline-block;transition:transform .2s ease-in-out}.vxe-select.is--active:not(.is--filter)>.vxe-input{border-color:var(--vxe-ui-font-primary-color)}.vxe-select--readonly{color:var(--vxe-ui-font-color);display:inline-flex}.vxe-select-slots{display:none}.vxe-select--panel{font-size:var(--vxe-ui-select-current-font-size);display:none;position:absolute;left:0;padding:4px 0;color:var(--vxe-ui-font-color);text-align:left}.vxe-select--panel:not(.is--transfer){min-width:100%}.vxe-select--panel.is--transfer{position:fixed}.vxe-select--panel.ani--leave{display:block;opacity:0;transform:scaleY(.5);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transform-origin:center top;backface-visibility:hidden}.vxe-select--panel.ani--leave[placement=top]{transform-origin:center bottom}.vxe-select--panel.ani--enter{opacity:1;transform:scaleY(1)}.vxe-select--panel.ani--enter>div::after{display:none}.vxe-select--panel>div::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-select--panel-search{display:block;flex-shrink:0;padding:var(--vxe-ui-layout-padding-default)}.vxe-select--panel-search .vxe-select-search--input{width:100%}.vxe-select--panel-wrapper{display:flex;flex-direction:column;position:relative;max-height:18em;border-radius:var(--vxe-ui-base-border-radius);border:1px solid var(--vxe-ui-base-popup-border-color);box-shadow:var(--vxe-ui-base-popup-box-shadow);background-color:var(--vxe-ui-layout-background-color)}.vxe-select--panel-body{display:flex;flex-direction:row;flex-grow:1;overflow:hidden}.vxe-select--header-button{display:flex;flex-direction:row}.vxe-select--footer-button,.vxe-select--header-button{display:flex;flex-direction:row;white-space:nowrap;align-items:center;min-height:2em}.vxe-select--total-btns{padding-left:var(--vxe-ui-select-current-padding);flex-grow:1}.vxe-select--oper-btns,.vxe-select--total-btns{display:flex;flex-direction:row;align-items:center}.vxe-select--oper-btns{flex-shrink:0}.vxe-select--footer-button{display:flex;flex-direction:row}.vxe-select--panel-header{border-bottom:1px solid var(--vxe-ui-base-popup-border-color)}.vxe-select--panel-footer{border-top:1px solid var(--vxe-ui-base-popup-border-color)}.vxe-select--panel-footer,.vxe-select--panel-header{flex-shrink:0;padding:4px 0}.vxe-select-option--wrapper{flex-grow:1;position:relative;overflow-x:hidden;overflow-y:auto}.vxe-select--y-space{width:0;float:left}.vxe-select--body,.vxe-select-option--wrapper{padding:0;margin:0;border:0;outline:0}.vxe-select-option{position:relative;flex-direction:row;display:flex;padding:0 .6em;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:pointer}.vxe-select-option.is--add{padding-right:2em}.vxe-select-option.is--add:hover .vxe-select-option--add-icon{color:var(--vxe-ui-font-primary-color)}.vxe-select-option.is--add .vxe-select-option--add-icon{display:block}.vxe-select-option.is--selected{color:var(--vxe-ui-font-primary-color)}.vxe-select-option:not(.is--disabled).is--hover{background-color:var(--vxe-ui-select-option-hover-background-color)}.vxe-select-option.is--disabled{color:var(--vxe-ui-font-disabled-color);cursor:no-drop}.vxe-select-optgroup{color:var(--vxe-ui-select-title-color);font-size:12px;cursor:default}.vxe-select-option--label{flex-grow:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vxe-select-option--add-icon{display:none;position:absolute;top:0;right:.6em}.vxe-select-option--checkbox{padding-right:.4em}.vxe-select-option--checkbox{cursor:pointer}.vxe-select-option--checkbox .vxe-checkbox--icon{font-size:1.22em;transition:all .2s ease-in-out}.vxe-select-option--checkbox .vxe-checkbox--icon{color:var(--vxe-ui-input-border-color);vertical-align:middle;font-weight:700;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-select-option--checkbox.is--checked,.vxe-select-option--checkbox.is--indeterminate{color:var(--vxe-ui-font-primary-color)}.vxe-select-option--checkbox.is--checked .vxe-checkbox--icon,.vxe-select-option--checkbox.is--indeterminate .vxe-checkbox--icon{color:var(--vxe-ui-font-primary-color)}.vxe-select-option--checkbox:not(.is--disabled):hover .vxe-checkbox--icon{color:var(--vxe-ui-font-primary-color)}.vxe-select-option--checkbox.is--hidden{cursor:default}.vxe-select-option--checkbox.is--readonly{cursor:auto}.vxe-select-option--checkbox.is--disabled{color:var(--vxe-ui-font-disabled-color);cursor:not-allowed}.vxe-select-option--checkbox.is--disabled .vxe-checkbox--icon{color:var(--vxe-ui-input-disabled-color)}.vxe-select-option--checkbox .vxe-checkbox--label{padding-left:.4em;vertical-align:middle}.vxe-select-option--radio{padding-right:.4em}.vxe-select-option--radio{cursor:pointer}.vxe-select-option--radio .vxe-radio--icon{font-size:1.26em;transition:all .2s ease-in-out}.vxe-select-option--radio .vxe-radio--icon{color:var(--vxe-ui-input-border-color);border-radius:50%;vertical-align:middle;font-weight:700;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-select-option--radio.is--checked{color:var(--vxe-ui-font-primary-color)}.vxe-select-option--radio.is--checked .vxe-radio--icon{color:var(--vxe-ui-font-primary-color)}.vxe-select-option--radio:not(.is--disabled):hover .vxe-radio--icon{color:var(--vxe-ui-font-primary-color)}.vxe-select-option--radio.is--readonly{cursor:auto}.vxe-select-option--radio.is--disabled{color:var(--vxe-ui-font-disabled-color);cursor:not-allowed}.vxe-select-option--radio.is--disabled .vxe-radio--icon{color:var(--vxe-ui-input-disabled-color)}.vxe-select-option--radio .vxe-radio--label{padding-left:.4em;vertical-align:middle}.vxe-select--search-icon{margin-right:.5em}.vxe-select--empty-placeholder,.vxe-select--search-loading{padding:0 .6em;text-align:center;color:var(--vxe-ui-select-empty-color)}.vxe-select-option{height:var(--vxe-ui-select-current-option-height)}.vxe-select--empty-placeholder,.vxe-select--search-loading,.vxe-select-option{line-height:var(--vxe-ui-select-current-option-height)}
1
+ .vxe-select,.vxe-select--panel{--vxe-ui-select-current-font-size:var(--vxe-ui-font-size-default);--vxe-ui-select-current-option-height:var(--vxe-ui-select-option-height-default)}.vxe-select--panel.size--xlarge,.vxe-select.size--xlarge{--vxe-ui-select-current-font-size:var(--vxe-ui-font-size-xlarge);--vxe-ui-select-current-option-height:var(--vxe-ui-select-option-height-xlarge)}.vxe-select--panel.size--large,.vxe-select.size--large{--vxe-ui-select-current-font-size:var(--vxe-ui-font-size-large);--vxe-ui-select-current-option-height:var(--vxe-ui-select-option-height-large)}.vxe-select--panel.size--medium,.vxe-select.size--medium{--vxe-ui-select-current-font-size:var(--vxe-ui-font-size-medium);--vxe-ui-select-current-option-height:var(--vxe-ui-select-option-height-medium)}.vxe-select--panel.size--small,.vxe-select.size--small{--vxe-ui-select-current-font-size:var(--vxe-ui-font-size-small);--vxe-ui-select-current-option-height:var(--vxe-ui-select-option-height-small)}.vxe-select--panel.size--mini,.vxe-select.size--mini{--vxe-ui-select-current-font-size:var(--vxe-ui-font-size-mini);--vxe-ui-select-current-option-height:var(--vxe-ui-select-option-height-mini)}.vxe-select,.vxe-select--panel{--vxe-ui-select-current-padding:var(--vxe-ui-layout-padding-default)}.vxe-select--panel.size--mini,.vxe-select--panel.size--small,.vxe-select.size--mini,.vxe-select.size--small{--vxe-ui-select-current-padding:var(--vxe-ui-layout-padding-half)}.vxe-select{position:relative;display:inline-block;width:180px;font-size:var(--vxe-ui-select-current-font-size);color:var(--vxe-ui-font-color);text-align:left}.vxe-select>.vxe-input .vxe-input--inner{cursor:pointer}.vxe-select.is--disabled>.vxe-input .vxe-input--inner{cursor:no-drop}.vxe-select.is--loading>.vxe-input .vxe-input--inner{cursor:progress}.vxe-select>.vxe-input{width:100%}.vxe-select>.vxe-input .vxe-input--suffix-icon>i{display:inline-block;transition:transform .2s ease-in-out}.vxe-select.is--active:not(.is--filter)>.vxe-input{border-color:var(--vxe-ui-font-primary-color)}.vxe-select--readonly{color:var(--vxe-ui-font-color);display:inline-flex}.vxe-select-slots{display:none}.vxe-select--panel{font-size:var(--vxe-ui-select-current-font-size);display:none;position:absolute;left:0;padding:4px 0;color:var(--vxe-ui-font-color);text-align:left}.vxe-select--panel:not(.is--transfer){min-width:100%}.vxe-select--panel.is--transfer{position:fixed}.vxe-select--panel.ani--leave{display:block;opacity:0;transform:scaleY(.5);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transform-origin:center top;backface-visibility:hidden}.vxe-select--panel.ani--leave[placement=top]{transform-origin:center bottom}.vxe-select--panel.ani--enter{opacity:1;transform:scaleY(1)}.vxe-select--panel.ani--enter>div::after{display:none}.vxe-select--panel>div::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-select--panel-search{display:block;flex-shrink:0;padding:var(--vxe-ui-layout-padding-default)}.vxe-select--panel-search .vxe-select-search--input{width:100%}.vxe-select--panel-wrapper{display:flex;flex-direction:column;position:relative;max-height:18em;border-radius:var(--vxe-ui-base-border-radius);border:1px solid var(--vxe-ui-base-popup-border-color);box-shadow:var(--vxe-ui-base-popup-box-shadow);background-color:var(--vxe-ui-layout-background-color)}.vxe-select--panel-body{position:relative;display:flex;flex-direction:row;flex-grow:1;overflow:hidden}.vxe-select--header-button{display:flex;flex-direction:row}.vxe-select--footer-button,.vxe-select--header-button{display:flex;flex-direction:row;white-space:nowrap;align-items:center;min-height:2em}.vxe-select--total-btns{padding-left:var(--vxe-ui-select-current-padding);flex-grow:1}.vxe-select--oper-btns,.vxe-select--total-btns{display:flex;flex-direction:row;align-items:center}.vxe-select--oper-btns{flex-shrink:0}.vxe-select--footer-button{display:flex;flex-direction:row}.vxe-select--panel-header{border-bottom:1px solid var(--vxe-ui-base-popup-border-color)}.vxe-select--panel-footer{border-top:1px solid var(--vxe-ui-base-popup-border-color)}.vxe-select--panel-footer,.vxe-select--panel-header{flex-shrink:0;padding:4px 0}.vxe-select-option--wrapper{flex-grow:1;position:relative;overflow-x:hidden;overflow-y:auto}.vxe-select--y-space{width:0;float:left}.vxe-select--body,.vxe-select-option--wrapper{padding:0;margin:0;border:0;outline:0}.vxe-select-option{position:relative;flex-direction:row;display:flex;padding:0 .6em;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:pointer}.vxe-select-option.is--add{padding-right:2em}.vxe-select-option.is--add:hover .vxe-select-option--add-icon{color:var(--vxe-ui-font-primary-color)}.vxe-select-option.is--add .vxe-select-option--add-icon{display:block}.vxe-select-option.is--selected{color:var(--vxe-ui-font-primary-color)}.vxe-select-option:not(.is--disabled).is--hover{background-color:var(--vxe-ui-select-option-hover-background-color)}.vxe-select-option.is--disabled{color:var(--vxe-ui-font-disabled-color);cursor:no-drop}.vxe-select-optgroup{color:var(--vxe-ui-select-title-color);font-size:12px;cursor:default}.vxe-select-option--label{flex-grow:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vxe-select-option--add-icon{display:none;position:absolute;top:0;right:.6em}.vxe-select-option--checkbox{padding-right:.4em}.vxe-select-option--checkbox{cursor:pointer}.vxe-select-option--checkbox .vxe-checkbox--icon{font-size:1.22em;transition:all .2s ease-in-out}.vxe-select-option--checkbox .vxe-checkbox--icon{color:var(--vxe-ui-input-border-color);vertical-align:middle;font-weight:700;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-select-option--checkbox.is--checked,.vxe-select-option--checkbox.is--indeterminate{color:var(--vxe-ui-font-primary-color)}.vxe-select-option--checkbox.is--checked .vxe-checkbox--icon,.vxe-select-option--checkbox.is--indeterminate .vxe-checkbox--icon{color:var(--vxe-ui-font-primary-color)}.vxe-select-option--checkbox:not(.is--disabled):hover .vxe-checkbox--icon{color:var(--vxe-ui-font-primary-color)}.vxe-select-option--checkbox.is--hidden{cursor:default}.vxe-select-option--checkbox.is--readonly{cursor:auto}.vxe-select-option--checkbox.is--disabled{color:var(--vxe-ui-font-disabled-color);cursor:not-allowed}.vxe-select-option--checkbox.is--disabled .vxe-checkbox--icon{color:var(--vxe-ui-input-disabled-color)}.vxe-select-option--checkbox .vxe-checkbox--label{padding-left:.4em;vertical-align:middle}.vxe-select-option--radio{padding-right:.4em}.vxe-select-option--radio{cursor:pointer}.vxe-select-option--radio .vxe-radio--icon{font-size:1.26em;transition:all .2s ease-in-out}.vxe-select-option--radio .vxe-radio--icon{color:var(--vxe-ui-input-border-color);border-radius:50%;vertical-align:middle;font-weight:700;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-select-option--radio.is--checked{color:var(--vxe-ui-font-primary-color)}.vxe-select-option--radio.is--checked .vxe-radio--icon{color:var(--vxe-ui-font-primary-color)}.vxe-select-option--radio:not(.is--disabled):hover .vxe-radio--icon{color:var(--vxe-ui-font-primary-color)}.vxe-select-option--radio.is--readonly{cursor:auto}.vxe-select-option--radio.is--disabled{color:var(--vxe-ui-font-disabled-color);cursor:not-allowed}.vxe-select-option--radio.is--disabled .vxe-radio--icon{color:var(--vxe-ui-input-disabled-color)}.vxe-select-option--radio .vxe-radio--label{padding-left:.4em;vertical-align:middle}.vxe-select--search-icon{margin-right:.5em}.vxe-select--empty-placeholder,.vxe-select--search-loading{padding:0 .6em;text-align:center;color:var(--vxe-ui-select-empty-color)}.vxe-select-option{height:var(--vxe-ui-select-current-option-height)}.vxe-select--empty-placeholder,.vxe-select--search-loading,.vxe-select-option{line-height:var(--vxe-ui-select-current-option-height)}.vxe-select--panel-body.ov-padding.overflow-x.sx-pos--top{padding-top:var(--vxe-ui-scrollbar-x-height)}.vxe-select--panel-body.ov-padding.overflow-x.sx-pos--bottom{padding-bottom:var(--vxe-ui-scrollbar-x-height)}.vxe-select--panel-body.ov-padding.overflow-y.sy-pos--left{padding-left:var(--vxe-ui-scrollbar-y-width)}.vxe-select--panel-body.ov-padding.overflow-y.sy-pos--right{padding-right:var(--vxe-ui-scrollbar-y-width)}.vxe-select--panel-body.ov-x--hidden>.vxe-select-option--wrapper{overflow-x:hidden}.vxe-select--panel-body.ov-y--hidden>.vxe-select-option--wrapper{overflow-y:hidden}.vxe-select--panel-body.is--virtual-scrollbar.ov-x--auto-hide:hover>.vxe-scrollbar>.vxe-scrollbar--track-x{opacity:1}.vxe-select--panel-body.is--virtual-scrollbar.ov-x--auto-hide>.vxe-scrollbar>.vxe-scrollbar--track-x{opacity:0;transition:opacity .8s ease-in-out}.vxe-select--panel-body.is--virtual-scrollbar.ov-y--auto-hide:hover>.vxe-scrollbar>.vxe-scrollbar--track-y{opacity:1}.vxe-select--panel-body.is--virtual-scrollbar.ov-y--auto-hide>.vxe-scrollbar>.vxe-scrollbar--track-y{opacity:0;transition:opacity .8s ease-in-out}.vxe-select--panel-body>.vxe-scrollbar{position:unset}.vxe-select--panel-body.is--virtual-scrollbar>.vxe-select-option--wrapper{scrollbar-width:none;-ms-overflow-style:none}.vxe-select--panel-body.is--virtual-scrollbar>.vxe-select-option--wrapper::-webkit-scrollbar{display:none}
@@ -28,6 +28,8 @@
28
28
  .vxe-tooltip--wrapper .vxe-tooltip--content,
29
29
  .vxe-tooltip--wrapper .vxe-tooltip--scrollbar-content-view {
30
30
  padding: 8px 12px;
31
+ width: -moz-max-content;
32
+ width: max-content;
31
33
  max-width: 600px;
32
34
  max-height: 800px;
33
35
  white-space: pre-line;
@@ -1 +1 @@
1
- .vxe-tooltip--wrapper{display:none;position:absolute;top:-100%;left:-100%;font-size:12px;color:var(--vxe-ui-font-color);font-family:var(--vxe-ui-font-family);pointer-events:none}.vxe-tooltip--wrapper.is--visible{display:inline-block}.vxe-tooltip--wrapper.is--arrow .vxe-tooltip--arrow{display:block}.vxe-tooltip--wrapper.is--enterable:after{content:"";position:absolute;left:0;width:100%;height:6px;background-color:transparent}.vxe-tooltip--wrapper.is--enterable .vxe-tooltip--body{pointer-events:all}.vxe-tooltip--wrapper .vxe-tooltip--content,.vxe-tooltip--wrapper .vxe-tooltip--scrollbar-content-view{padding:8px 12px;max-width:600px;max-height:800px;white-space:pre-line;border-radius:var(--vxe-ui-base-border-radius);overflow:auto}.vxe-tooltip--wrapper .vxe-tooltip--arrow{display:none;position:absolute;border-color:transparent;border-width:6px;border-style:solid;left:50%;transform:translateX(-6px)}.vxe-tooltip--wrapper .vxe-tooltip--arrow:before{content:"";position:absolute;border-color:transparent;border-width:5px;border-style:solid;left:-5px}.vxe-tooltip--wrapper.placement--top.is--arrow{padding-bottom:6px}.vxe-tooltip--wrapper.placement--top.is--enterable:after{bottom:-6px}.vxe-tooltip--wrapper.placement--top .vxe-tooltip--arrow{bottom:-11px}.vxe-tooltip--wrapper.placement--top .vxe-tooltip--arrow:before{top:-7px}.vxe-tooltip--wrapper.placement--bottom.is--arrow{padding-top:6px}.vxe-tooltip--wrapper.placement--bottom.is--enterable:after{top:-6px}.vxe-tooltip--wrapper.placement--bottom .vxe-tooltip--arrow{top:-11px}.vxe-tooltip--wrapper.placement--bottom .vxe-tooltip--arrow:before{top:-3px}.vxe-tooltip--body{position:relative;border-radius:var(--vxe-ui-base-border-radius);white-space:normal;word-break:break-word;box-shadow:2px 2px 4px -2px rgba(0,0,0,.2)}.vxe-tooltip--wrapper.theme--light .vxe-tooltip--body{background-color:var(--vxe-ui-layout-background-color);border:1px solid var(--vxe-ui-input-border-color)}.vxe-tooltip--wrapper.theme--light.placement--top .vxe-tooltip--arrow{border-top-color:var(--vxe-ui-input-border-color)}.vxe-tooltip--wrapper.theme--light.placement--top .vxe-tooltip--arrow:before{border-top-color:var(--vxe-ui-layout-background-color)}.vxe-tooltip--wrapper.theme--light.placement--bottom .vxe-tooltip--arrow{border-bottom-color:var(--vxe-ui-input-border-color)}.vxe-tooltip--wrapper.theme--light.placement--bottom .vxe-tooltip--arrow:before{border-bottom-color:var(--vxe-ui-layout-background-color)}.vxe-tooltip--wrapper.theme--dark .vxe-tooltip--body{background:var(--vxe-ui-tooltip-dark-background-color);color:var(--vxe-ui-tooltip-dark-color)}.vxe-tooltip--wrapper.theme--dark.placement--top .vxe-tooltip--arrow{border-top-color:var(--vxe-ui-tooltip-dark-background-color)}.vxe-tooltip--wrapper.theme--dark.placement--top .vxe-tooltip--arrow:before{border-top-color:var(--vxe-ui-tooltip-dark-background-color)}.vxe-tooltip--wrapper.theme--dark.placement--bottom .vxe-tooltip--arrow{border-bottom-color:var(--vxe-ui-tooltip-dark-background-color)}.vxe-tooltip--wrapper.theme--dark.placement--bottom .vxe-tooltip--arrow:before{border-bottom-color:var(--vxe-ui-tooltip-dark-background-color)}
1
+ .vxe-tooltip--wrapper{display:none;position:absolute;top:-100%;left:-100%;font-size:12px;color:var(--vxe-ui-font-color);font-family:var(--vxe-ui-font-family);pointer-events:none}.vxe-tooltip--wrapper.is--visible{display:inline-block}.vxe-tooltip--wrapper.is--arrow .vxe-tooltip--arrow{display:block}.vxe-tooltip--wrapper.is--enterable:after{content:"";position:absolute;left:0;width:100%;height:6px;background-color:transparent}.vxe-tooltip--wrapper.is--enterable .vxe-tooltip--body{pointer-events:all}.vxe-tooltip--wrapper .vxe-tooltip--content,.vxe-tooltip--wrapper .vxe-tooltip--scrollbar-content-view{padding:8px 12px;width:-moz-max-content;width:max-content;max-width:600px;max-height:800px;white-space:pre-line;border-radius:var(--vxe-ui-base-border-radius);overflow:auto}.vxe-tooltip--wrapper .vxe-tooltip--arrow{display:none;position:absolute;border-color:transparent;border-width:6px;border-style:solid;left:50%;transform:translateX(-6px)}.vxe-tooltip--wrapper .vxe-tooltip--arrow:before{content:"";position:absolute;border-color:transparent;border-width:5px;border-style:solid;left:-5px}.vxe-tooltip--wrapper.placement--top.is--arrow{padding-bottom:6px}.vxe-tooltip--wrapper.placement--top.is--enterable:after{bottom:-6px}.vxe-tooltip--wrapper.placement--top .vxe-tooltip--arrow{bottom:-11px}.vxe-tooltip--wrapper.placement--top .vxe-tooltip--arrow:before{top:-7px}.vxe-tooltip--wrapper.placement--bottom.is--arrow{padding-top:6px}.vxe-tooltip--wrapper.placement--bottom.is--enterable:after{top:-6px}.vxe-tooltip--wrapper.placement--bottom .vxe-tooltip--arrow{top:-11px}.vxe-tooltip--wrapper.placement--bottom .vxe-tooltip--arrow:before{top:-3px}.vxe-tooltip--body{position:relative;border-radius:var(--vxe-ui-base-border-radius);white-space:normal;word-break:break-word;box-shadow:2px 2px 4px -2px rgba(0,0,0,.2)}.vxe-tooltip--wrapper.theme--light .vxe-tooltip--body{background-color:var(--vxe-ui-layout-background-color);border:1px solid var(--vxe-ui-input-border-color)}.vxe-tooltip--wrapper.theme--light.placement--top .vxe-tooltip--arrow{border-top-color:var(--vxe-ui-input-border-color)}.vxe-tooltip--wrapper.theme--light.placement--top .vxe-tooltip--arrow:before{border-top-color:var(--vxe-ui-layout-background-color)}.vxe-tooltip--wrapper.theme--light.placement--bottom .vxe-tooltip--arrow{border-bottom-color:var(--vxe-ui-input-border-color)}.vxe-tooltip--wrapper.theme--light.placement--bottom .vxe-tooltip--arrow:before{border-bottom-color:var(--vxe-ui-layout-background-color)}.vxe-tooltip--wrapper.theme--dark .vxe-tooltip--body{background:var(--vxe-ui-tooltip-dark-background-color);color:var(--vxe-ui-tooltip-dark-color)}.vxe-tooltip--wrapper.theme--dark.placement--top .vxe-tooltip--arrow{border-top-color:var(--vxe-ui-tooltip-dark-background-color)}.vxe-tooltip--wrapper.theme--dark.placement--top .vxe-tooltip--arrow:before{border-top-color:var(--vxe-ui-tooltip-dark-background-color)}.vxe-tooltip--wrapper.theme--dark.placement--bottom .vxe-tooltip--arrow{border-bottom-color:var(--vxe-ui-tooltip-dark-background-color)}.vxe-tooltip--wrapper.theme--dark.placement--bottom .vxe-tooltip--arrow:before{border-bottom-color:var(--vxe-ui-tooltip-dark-background-color)}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vxe-pc-ui",
3
- "version": "4.20.8",
3
+ "version": "4.20.10",
4
4
  "description": "A vue based PC component library",
5
5
  "scripts": {
6
6
  "update": "npm install --legacy-peer-deps",
@@ -27,7 +27,7 @@
27
27
  "style": "lib/style.css",
28
28
  "typings": "types/index.d.ts",
29
29
  "dependencies": {
30
- "@vxe-ui/core": "^4.4.33"
30
+ "@vxe-ui/core": "^4.4.36"
31
31
  },
32
32
  "devDependencies": {
33
33
  "@rollup/plugin-commonjs": "^29.0.0",
@@ -2,7 +2,7 @@ import { ref, h, reactive, PropType, computed } from 'vue'
2
2
  import { defineVxeComponent } from '../../ui/src/comp'
3
3
  import XEUtils from 'xe-utils'
4
4
  import { getSlotVNs } from '../../ui/src/vn'
5
- import { getConfig, createEvent, useSize, renderEmptyElement } from '../../ui'
5
+ import { getConfig, createEvent, useFns, renderEmptyElement } from '../../ui'
6
6
  import { toCssUnit } from '../../ui/src/dom'
7
7
  import { getDefaultConfig } from '../../ui/src/utils'
8
8
  import VxeLoadingComponent from '../../loading'
@@ -52,7 +52,8 @@ export default defineVxeComponent({
52
52
 
53
53
  const refElem = ref<HTMLDivElement>()
54
54
 
55
- const { computeSize } = useSize(props)
55
+ const { computeSize } = useFns.useSize(props)
56
+ const { computeIsVScrollbar } = useFns.useVScrollbar(props)
56
57
 
57
58
  const reactData = reactive<CardReactData>({
58
59
  })
@@ -119,7 +120,7 @@ export default defineVxeComponent({
119
120
  Object.assign($xeCard, cardMethods, cardPrivateMethods)
120
121
 
121
122
  const renderVN = () => {
122
- const { title, border, shadow, padding, loading, showTitleOverflow, useScrollbar } = props
123
+ const { title, border, shadow, padding, loading, showTitleOverflow } = props
123
124
  const defaultSlot = slots.default
124
125
  const headerSlot = slots.header
125
126
  const titleSlot = slots.title
@@ -128,6 +129,7 @@ export default defineVxeComponent({
128
129
  const leftSlot = slots.left
129
130
  const rightSlot = slots.right
130
131
  const vSize = computeSize.value
132
+ const isVScrollbar = computeIsVScrollbar.value
131
133
  const cardStyle = computeCardStyle.value
132
134
  const scrollbarOpts = computeScrollbarOpts.value
133
135
  const scrollbarProps = computeScrollbarProps.value
@@ -166,7 +168,7 @@ export default defineVxeComponent({
166
168
  }, [
167
169
  leftSlot
168
170
  ? (
169
- useScrollbar
171
+ isVScrollbar
170
172
  ? h(VxeScrollbarComponent, {
171
173
  class: 'vxe-card--body-scrollbar-left',
172
174
  ...scrollbarProps,
@@ -180,7 +182,7 @@ export default defineVxeComponent({
180
182
  }, getSlotVNs(leftSlot({})))
181
183
  )
182
184
  : renderEmptyElement($xeCard),
183
- useScrollbar
185
+ isVScrollbar
184
186
  ? h(VxeScrollbarComponent, {
185
187
  class: 'vxe-card--body-scrollbar-content',
186
188
  ...scrollbarProps,
@@ -194,7 +196,7 @@ export default defineVxeComponent({
194
196
  }, defaultSlot ? getSlotVNs(defaultSlot({})) : []),
195
197
  rightSlot
196
198
  ? (
197
- useScrollbar
199
+ isVScrollbar
198
200
  ? h(VxeScrollbarComponent, {
199
201
  class: 'vxe-card--body-scrollbar-right',
200
202
  ...scrollbarProps,
@@ -4,6 +4,7 @@ import XEUtils from 'xe-utils'
4
4
  import { getConfig, getI18n, createEvent, useSize, renderEmptyElement } from '../../ui'
5
5
  import { toStringTimeDate, getDateQuarter, parseDateValue, parseDateObj, handleValueFormat, hasDateValueType, hasTimestampValueType } from './util'
6
6
  import { createComponentLog } from '../../ui/src/log'
7
+ import VxeScrollbarComponent from '../../scrollbar'
7
8
 
8
9
  import type { VxeDatePanelConstructor, DatePanelInternalData, DatePanelReactData, VxeDatePanelPropTypes, VxeDatePanelPrivateComputed, DatePanelMethods, ValueOf, VxeDatePanelEmits, VxeDatePanelDefines } from '../../../types'
9
10
 
@@ -1746,45 +1747,66 @@ export default defineVxeComponent({
1746
1747
  ref: refInputTimeBody,
1747
1748
  class: 'vxe-date-panel--time-body'
1748
1749
  }, [
1749
- h('ul', {
1750
- class: 'vxe-date-panel--time-hour-list'
1751
- }, hourList.map((item, index) => {
1752
- return h('li', {
1753
- key: index,
1754
- class: {
1755
- 'is--disabled': item.disabled,
1756
- 'is--selected': datetimePanelValue && datetimePanelValue.getHours() === item.value
1757
- },
1758
- onClick: (evnt: MouseEvent) => dateHourEvent(evnt, item)
1759
- }, item.label)
1760
- })),
1750
+ h(VxeScrollbarComponent, {
1751
+ autoHide: true,
1752
+ class: 'vxe-date-panel--time-hour-list',
1753
+ viewClassName: 'vxe-date-panel--time-list-view',
1754
+ viewInnerClassName: 'vxe-date-panel--time-list-inner'
1755
+ }, {
1756
+ default: () => {
1757
+ return hourList.map((item, index) => {
1758
+ return h('div', {
1759
+ key: index,
1760
+ class: ['vxe-date-panel--time-item', {
1761
+ 'is--disabled': item.disabled,
1762
+ 'is--selected': datetimePanelValue && datetimePanelValue.getHours() === item.value
1763
+ }],
1764
+ onClick: (evnt: MouseEvent) => dateHourEvent(evnt, item)
1765
+ }, item.label)
1766
+ })
1767
+ }
1768
+ }),
1761
1769
  hasTimeMinute
1762
- ? h('ul', {
1763
- class: 'vxe-date-panel--time-minute-list'
1764
- }, minuteList.map((item, index) => {
1765
- return h('li', {
1766
- key: index,
1767
- class: {
1768
- 'is--disabled': item.disabled,
1769
- 'is--selected': datetimePanelValue && datetimePanelValue.getMinutes() === item.value
1770
- },
1771
- onClick: (evnt: MouseEvent) => dateMinuteEvent(evnt, item)
1772
- }, item.label)
1773
- }))
1770
+ ? h(VxeScrollbarComponent, {
1771
+ autoHide: true,
1772
+ class: 'vxe-date-panel--time-minute-list',
1773
+ viewClassName: 'vxe-date-panel--time-list-view',
1774
+ viewInnerClassName: 'vxe-date-panel--time-list-inner'
1775
+ }, {
1776
+ default: () => {
1777
+ return minuteList.map((item, index) => {
1778
+ return h('div', {
1779
+ key: index,
1780
+ class: ['vxe-date-panel--time-item', {
1781
+ 'is--disabled': item.disabled,
1782
+ 'is--selected': datetimePanelValue && datetimePanelValue.getMinutes() === item.value
1783
+ }],
1784
+ onClick: (evnt: MouseEvent) => dateMinuteEvent(evnt, item)
1785
+ }, item.label)
1786
+ })
1787
+ }
1788
+ })
1774
1789
  : renderEmptyElement($xeDatePanel),
1775
1790
  hasTimeMinute && hasTimeSecond
1776
- ? h('ul', {
1777
- class: 'vxe-date-panel--time-second-list'
1778
- }, secondList.map((item, index) => {
1779
- return h('li', {
1780
- key: index,
1781
- class: {
1782
- 'is--disabled': item.disabled,
1783
- 'is--selected': datetimePanelValue && datetimePanelValue.getSeconds() === item.value
1784
- },
1785
- onClick: (evnt: MouseEvent) => dateSecondEvent(evnt, item)
1786
- }, item.label)
1787
- }))
1791
+ ? h(VxeScrollbarComponent, {
1792
+ autoHide: true,
1793
+ class: 'vxe-date-panel--time-second-list',
1794
+ viewClassName: 'vxe-date-panel--time-list-view',
1795
+ viewInnerClassName: 'vxe-date-panel--time-list-inner'
1796
+ }, {
1797
+ default: () => {
1798
+ return secondList.map((item, index) => {
1799
+ return h('div', {
1800
+ key: index,
1801
+ class: ['vxe-date-panel--time-item', {
1802
+ 'is--disabled': item.disabled,
1803
+ 'is--selected': datetimePanelValue && datetimePanelValue.getSeconds() === item.value
1804
+ }],
1805
+ onClick: (evnt: MouseEvent) => dateSecondEvent(evnt, item)
1806
+ }, item.label)
1807
+ })
1808
+ }
1809
+ })
1788
1810
  : renderEmptyElement($xeDatePanel)
1789
1811
  ])
1790
1812
  ]
@@ -1,7 +1,7 @@
1
1
  import { h, Teleport, ref, Ref, inject, reactive, nextTick, provide, watch, PropType, onMounted, onUnmounted, computed, VNode } from 'vue'
2
2
  import { defineVxeComponent } from '../../ui/src/comp'
3
3
  import XEUtils from 'xe-utils'
4
- import { useSize, getIcon, getConfig, getI18n, globalEvents, GLOBAL_EVENT_KEYS, createEvent, renderEmptyElement } from '../../ui'
4
+ import { useFns, getIcon, getConfig, getI18n, globalEvents, GLOBAL_EVENT_KEYS, createEvent, renderEmptyElement } from '../../ui'
5
5
  import { getLastZIndex, nextZIndex, getFuncText, getDefaultConfig } from '../../ui/src/utils'
6
6
  import { getPopupContainer, getPopupWrapperElement, toCssUnit } from '../../ui/src/dom'
7
7
  import { allActiveDrawers } from './store'
@@ -172,7 +172,8 @@ export default defineVxeComponent({
172
172
  const $xeTable = inject<(VxeTableConstructor & VxeTablePrivateMethods) | null>('$xeTable', null)
173
173
  const $xeForm = inject<(VxeFormConstructor & VxeFormPrivateMethods)| null>('$xeForm', null)
174
174
 
175
- const { computeSize } = useSize(props)
175
+ const { computeSize } = useFns.useSize(props)
176
+ const { computeIsVScrollbar } = useFns.useVScrollbar(props)
176
177
 
177
178
  const refElem = ref<HTMLDivElement>()
178
179
  const refDrawerBox = ref() as Ref<HTMLDivElement>
@@ -564,7 +565,8 @@ export default defineVxeComponent({
564
565
  }
565
566
 
566
567
  const renderBody = () => {
567
- const { slots: propSlots = {}, content, useScrollbar, useHtml } = props
568
+ const { slots: propSlots = {}, content, useHtml } = props
569
+ const isVScrollbar = computeIsVScrollbar.value
568
570
  const scrollbarProps = computeScrollbarProps.value
569
571
  const defaultSlot = slots.default || propSlots.default
570
572
  const leftSlot = slots.left || propSlots.left
@@ -572,7 +574,7 @@ export default defineVxeComponent({
572
574
  const contVNs: VNode[] = []
573
575
  if (useHtml && !defaultSlot) {
574
576
  contVNs.push(
575
- useScrollbar
577
+ isVScrollbar
576
578
  ? h(VxeScrollbarComponent, {
577
579
  key: 'shc',
578
580
  class: 'vxe-drawer--scrollbar-content',
@@ -595,7 +597,7 @@ export default defineVxeComponent({
595
597
  )
596
598
  } else {
597
599
  contVNs.push(
598
- useScrollbar
600
+ isVScrollbar
599
601
  ? h(VxeScrollbarComponent, {
600
602
  key: 'sdc',
601
603
  class: 'vxe-drawer--scrollbar-content',
@@ -1,15 +1,19 @@
1
1
  import { h, Teleport, PropType, ref, inject, watch, computed, provide, onBeforeUnmount, reactive, nextTick, onMounted } from 'vue'
2
2
  import { defineVxeComponent } from '../../ui/src/comp'
3
3
  import XEUtils from 'xe-utils'
4
- import { getConfig, getIcon, getI18n, globalEvents, createEvent, renderer, useSize, GLOBAL_EVENT_KEYS, renderEmptyElement } from '../../ui'
4
+ import { VxeUI } from '../../ui'
5
5
  import { getEventTargetNode, getPopupContainer, toCssUnit, updatePanelPlacement } from '../../ui/src/dom'
6
6
  import { getLastZIndex, nextZIndex, getFuncText } from '../../ui/src/utils'
7
7
  import { getSlotVNs } from '../../ui/src/vn'
8
8
  import VxeInputComponent from '../../input'
9
+ import VxeScrollbarComponent from '../../scrollbar'
9
10
 
10
11
  import type { VxeIconPickerPropTypes, VxeIconPickerConstructor, IconPickerInternalData, VxeInputConstructor, ValueOf, IconPickerReactData, VxeIconPickerEmits, IconPickerMethods, IconPickerPrivateRef, VxeIconPickerMethods, VxeIconPickerDefines, VxeDrawerConstructor, VxeDrawerMethods, VxeFormDefines, VxeFormConstructor, VxeFormPrivateMethods, VxeModalConstructor, VxeModalMethods, VxeComponentStyleType } from '../../../types'
11
12
  import type { VxeTableConstructor, VxeTablePrivateMethods } from '../../../types/components/table'
12
13
 
14
+ const { getConfig, getIcon, getI18n, baseUtils, globalEvents, createEvent, renderer, useFns, GLOBAL_EVENT_KEYS, renderEmptyElement } = VxeUI
15
+ const { getDefVal } = baseUtils
16
+
13
17
  function createReactData (): IconPickerReactData {
14
18
  return {
15
19
  initialized: false,
@@ -72,7 +76,12 @@ export default defineVxeComponent({
72
76
  transfer: {
73
77
  type: Boolean as PropType<VxeIconPickerPropTypes.Transfer>,
74
78
  default: null
75
- }
79
+ },
80
+ useScrollbar: {
81
+ type: Boolean as PropType<VxeIconPickerPropTypes.UseScrollbar>,
82
+ default: () => getDefVal(getConfig().iconPicker.useScrollbar, getConfig().useScrollbar)
83
+ },
84
+ scrollbarConfig: Object as PropType<VxeIconPickerPropTypes.ScrollbarConfig>
76
85
  },
77
86
  emits: [
78
87
  'update:modelValue',
@@ -91,7 +100,8 @@ export default defineVxeComponent({
91
100
 
92
101
  const xID = XEUtils.uniqueId()
93
102
 
94
- const { computeSize } = useSize(props)
103
+ const { computeSize } = useFns.useSize(props)
104
+ const { computeIsVScrollbar } = useFns.useVScrollbar(props)
95
105
 
96
106
  const reactData = reactive(createReactData())
97
107
 
@@ -227,6 +237,27 @@ export default defineVxeComponent({
227
237
  return selectIcon ? iconList.find(item => item.icon === selectIcon) : null
228
238
  })
229
239
 
240
+ const computeScrollbarOpts = computed(() => {
241
+ return Object.assign({}, getConfig().iconPicker.scrollbarConfig, props.scrollbarConfig)
242
+ })
243
+
244
+ const computeScrollbarProps = computed(() => {
245
+ const scrollbarOpts = computeScrollbarOpts.value
246
+ const { viewClassName, viewInnerClassName } = scrollbarOpts
247
+ return {
248
+ width: scrollbarOpts.width,
249
+ height: scrollbarOpts.height,
250
+ autoHide: scrollbarOpts.autoHide,
251
+ visible: scrollbarOpts.visible,
252
+ xConfig: scrollbarOpts.xConfig,
253
+ yConfig: scrollbarOpts.yConfig,
254
+ className: scrollbarOpts.className,
255
+ viewAttrs: scrollbarOpts.viewAttrs,
256
+ viewClassName: 'vxe-ico-picker--scrollbar-list-wrapper-view' + (viewClassName ? (' ' + viewClassName) : ''),
257
+ viewInnerClassName: 'vxe-ico-picker--scrollbar-list-wrapper-inner' + (viewClassName ? (' ' + viewInnerClassName) : '')
258
+ }
259
+ })
260
+
230
261
  const updateZindex = () => {
231
262
  if (reactData.panelIndex < getLastZIndex()) {
232
263
  reactData.panelIndex = nextZIndex()
@@ -533,52 +564,63 @@ export default defineVxeComponent({
533
564
  const renderIconWrapper = () => {
534
565
  const { showIconTitle } = props
535
566
  const { selectIcon, iconList } = reactData
567
+ const isVScrollbar = computeIsVScrollbar.value
568
+ const scrollbarProps = computeScrollbarProps.value
536
569
 
537
570
  if (!iconList.length) {
538
571
  return h('div', {
539
572
  class: 'vxe-ico-picker--empty-placeholder'
540
573
  }, getI18n('vxe.iconPicker.emptyText'))
541
574
  }
575
+ const iconVNs = iconList.map(item => {
576
+ const { iconRender } = item
577
+ const compConf = iconRender ? renderer.get(iconRender.name) : null
578
+ const iconMethod = compConf ? compConf.renderIconPickerOptionIcon : null
579
+ return h('div', {
580
+ class: ['vxe-ico-picker--item', {
581
+ 'is--selected': selectIcon === item.icon
582
+ }]
583
+ }, [
584
+ h('div', {
585
+ class: 'vxe-ico-picker--item-inner',
586
+ onClick (evnt) {
587
+ const isDisabled = computeIsDisabled.value
588
+ if (!isDisabled) {
589
+ handleClickIconEvent(evnt, item)
590
+ }
591
+ }
592
+ }, [
593
+ h('div', {
594
+ class: 'vxe-ico-picker--item-icon'
595
+ }, iconMethod && iconRender
596
+ ? getSlotVNs(iconMethod(iconRender, { $iconPicker: $xeIconPicker, option: item }))
597
+ : [
598
+ h('i', {
599
+ class: item.icon || ''
600
+ })
601
+ ]),
602
+ showIconTitle
603
+ ? h('div', {
604
+ class: 'vxe-ico-picker--item-title'
605
+ }, `${item.title || ''}`)
606
+ : renderEmptyElement($xeIconPicker)
607
+ ])
608
+ ])
609
+ })
610
+ if (isVScrollbar) {
611
+ return h(VxeScrollbarComponent, {
612
+ class: 'vxe-ico-picker--scrollbar-list-wrapper',
613
+ ...scrollbarProps
614
+ }, {
615
+ default: () => iconVNs
616
+ })
617
+ }
542
618
  return h('div', {
543
619
  class: 'vxe-ico-picker--list-wrapper'
544
620
  }, [
545
621
  h('div', {
546
622
  class: 'vxe-ico-picker--list'
547
- }, iconList.map(item => {
548
- const { iconRender } = item
549
- const compConf = iconRender ? renderer.get(iconRender.name) : null
550
- const iconMethod = compConf ? compConf.renderIconPickerOptionIcon : null
551
- return h('div', {
552
- class: ['vxe-ico-picker--item', {
553
- 'is--selected': selectIcon === item.icon
554
- }]
555
- }, [
556
- h('div', {
557
- class: 'vxe-ico-picker--item-inner',
558
- onClick (evnt) {
559
- const isDisabled = computeIsDisabled.value
560
- if (!isDisabled) {
561
- handleClickIconEvent(evnt, item)
562
- }
563
- }
564
- }, [
565
- h('div', {
566
- class: 'vxe-ico-picker--item-icon'
567
- }, iconMethod && iconRender
568
- ? getSlotVNs(iconMethod(iconRender, { $iconPicker: $xeIconPicker, option: item }))
569
- : [
570
- h('i', {
571
- class: item.icon || ''
572
- })
573
- ]),
574
- showIconTitle
575
- ? h('div', {
576
- class: 'vxe-ico-picker--item-title'
577
- }, `${item.title || ''}`)
578
- : renderEmptyElement($xeIconPicker)
579
- ])
580
- ])
581
- }))
623
+ }, iconVNs)
582
624
  ])
583
625
  }
584
626
 
@@ -1,7 +1,7 @@
1
1
  import { ref, h, reactive, computed, provide, PropType } from 'vue'
2
2
  import { defineVxeComponent } from '../../ui/src/comp'
3
3
  import { toCssUnit } from '../../ui/src/dom'
4
- import { getConfig, useSize, createEvent } from '../../ui'
4
+ import { getConfig, useFns, createEvent } from '../../ui'
5
5
  import { getDefaultConfig } from '../../ui/src/utils'
6
6
  import XEUtils from 'xe-utils'
7
7
  import VxeLoadingComponent from '../../loading'
@@ -36,7 +36,8 @@ export default defineVxeComponent({
36
36
 
37
37
  const refElem = ref<HTMLDivElement>()
38
38
 
39
- const { computeSize } = useSize(props)
39
+ const { computeSize } = useFns.useSize(props)
40
+ const { computeIsVScrollbar } = useFns.useVScrollbar(props)
40
41
 
41
42
  const reactData = reactive<LayoutAsideReactData>({})
42
43
 
@@ -93,9 +94,10 @@ export default defineVxeComponent({
93
94
  Object.assign($xeLayoutAside, layoutAsideMethods, layoutAsidePrivateMethods)
94
95
 
95
96
  const renderVN = () => {
96
- const { collapsed, loading, padding, useScrollbar } = props
97
+ const { collapsed, loading, padding } = props
97
98
  const varStyle = computeVarStyle.value
98
99
  const vSize = computeSize.value
100
+ const isVScrollbar = computeIsVScrollbar.value
99
101
  const collapseOpts = computeCollapseOpts.value
100
102
  const scrollbarOpts = computeScrollbarOpts.value
101
103
  const { className, viewClassName, viewInnerClassName } = scrollbarOpts
@@ -112,7 +114,7 @@ export default defineVxeComponent({
112
114
  }],
113
115
  style: varStyle
114
116
  }, [
115
- useScrollbar
117
+ isVScrollbar
116
118
  ? h(VxeScrollbarComponent, {
117
119
  width: scrollbarOpts.width,
118
120
  height: scrollbarOpts.height,
@@ -1,6 +1,6 @@
1
1
  import { ref, h, reactive, PropType, computed } from 'vue'
2
2
  import { defineVxeComponent } from '../../ui/src/comp'
3
- import { getConfig, useSize, createEvent, renderEmptyElement } from '../../ui'
3
+ import { getConfig, useFns, createEvent, renderEmptyElement } from '../../ui'
4
4
  import XEUtils from 'xe-utils'
5
5
  import { getDefaultConfig } from '../../ui/src/utils'
6
6
  import VxeLoadingComponent from '../../loading'
@@ -46,7 +46,8 @@ export default defineVxeComponent({
46
46
 
47
47
  const refElem = ref<HTMLDivElement>()
48
48
 
49
- const { computeSize } = useSize(props)
49
+ const { computeSize } = useFns.useSize(props)
50
+ const { computeIsVScrollbar } = useFns.useVScrollbar(props)
50
51
 
51
52
  const internalData = createInternalData()
52
53
  const reactData = reactive(createReactData())
@@ -115,7 +116,8 @@ export default defineVxeComponent({
115
116
  Object.assign($xeLayoutBody, layoutBodyMethods, layoutBodyPrivateMethods)
116
117
 
117
118
  const renderVN = () => {
118
- const { loading, padding, showBacktop, useScrollbar } = props
119
+ const { loading, padding, showBacktop } = props
120
+ const isVScrollbar = computeIsVScrollbar.value
119
121
  const backtopOpts = computeBacktopOpts.value
120
122
  const scrollbarProps = computeScrollbarProps.value
121
123
  const vSize = computeSize.value
@@ -145,7 +147,7 @@ export default defineVxeComponent({
145
147
  'is--padding': padding
146
148
  }]
147
149
  }, [
148
- useScrollbar
150
+ isVScrollbar
149
151
  ? h(VxeScrollbarComponent, scrollbarProps, {
150
152
  default: () => defaultSlot ? defaultSlot({}) : []
151
153
  })
@@ -1,14 +1,22 @@
1
1
  import { ref, h, reactive, PropType } from 'vue'
2
2
  import { defineVxeComponent } from '../../ui/src/comp'
3
- import { getConfig, useSize, createEvent } from '../../ui'
3
+ import { VxeUI, useFns } from '../../ui'
4
4
  import XEUtils from 'xe-utils'
5
5
 
6
6
  import type { VxeLayoutContainerPropTypes, LayoutContainerReactData, LayoutContainerPrivateMethods, VxeLayoutContainerEmits, LayoutContainerMethods, LayoutContainerPrivateRef, VxeLayoutContainerPrivateComputed, VxeLayoutContainerConstructor, VxeLayoutContainerPrivateMethods, ValueOf } from '../../../types'
7
7
 
8
+ const { getConfig, baseUtils, createEvent } = VxeUI
9
+
10
+ const { getDefVal } = baseUtils
11
+
8
12
  export default defineVxeComponent({
9
13
  name: 'VxeLayoutContainer',
10
14
  props: {
11
15
  vertical: Boolean as PropType<VxeLayoutContainerPropTypes.Vertical>,
16
+ useScrollbar: {
17
+ type: Boolean as PropType<VxeLayoutContainerPropTypes.UseScrollbar>,
18
+ default: () => getDefVal(getConfig().layoutContainer.useScrollbar, getConfig().useScrollbar)
19
+ },
12
20
  size: {
13
21
  type: String as PropType<VxeLayoutContainerPropTypes.Size>,
14
22
  default: () => getConfig().layoutContainer.size || getConfig().size
@@ -22,7 +30,8 @@ export default defineVxeComponent({
22
30
 
23
31
  const refElem = ref<HTMLDivElement>()
24
32
 
25
- const { computeSize } = useSize(props)
33
+ const { computeSize } = useFns.useSize(props)
34
+ const { computeIsVScrollbar } = useFns.useVScrollbar(props)
26
35
 
27
36
  const reactData = reactive<LayoutContainerReactData>({
28
37
  })
@@ -32,7 +41,8 @@ export default defineVxeComponent({
32
41
  }
33
42
 
34
43
  const computeMaps: VxeLayoutContainerPrivateComputed = {
35
- computeSize
44
+ computeSize,
45
+ computeIsVScrollbar
36
46
  }
37
47
 
38
48
  const $xeLayoutContainer = {