vue-devui 1.0.0-rc.7 → 1.0.0

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 (231) hide show
  1. package/README.md +163 -146
  2. package/alert/index.es.js +46 -15
  3. package/alert/index.umd.js +1 -1
  4. package/alert/style.css +1 -1
  5. package/auto-complete/index.es.js +8230 -231
  6. package/auto-complete/index.umd.js +29 -5
  7. package/auto-complete/style.css +1 -1
  8. package/avatar/index.es.js +81 -70
  9. package/avatar/index.umd.js +1 -1
  10. package/avatar/style.css +1 -1
  11. package/badge/index.es.js +34 -4
  12. package/badge/index.umd.js +1 -1
  13. package/badge/style.css +1 -1
  14. package/button/index.es.js +5706 -98
  15. package/button/index.umd.js +27 -1
  16. package/button/style.css +1 -1
  17. package/card/index.es.js +38 -13
  18. package/card/index.umd.js +1 -1
  19. package/card/style.css +1 -1
  20. package/checkbox/index.es.js +8066 -245
  21. package/checkbox/index.umd.js +27 -1
  22. package/checkbox/style.css +1 -1
  23. package/{date-picker → collapse}/index.d.ts +0 -0
  24. package/collapse/index.es.js +213 -0
  25. package/collapse/index.umd.js +1 -0
  26. package/{date-picker → collapse}/package.json +1 -1
  27. package/collapse/style.css +1 -0
  28. package/countdown/index.es.js +56 -13
  29. package/countdown/index.umd.js +1 -1
  30. package/date-picker-pro/index.d.ts +7 -0
  31. package/date-picker-pro/index.es.js +12020 -0
  32. package/date-picker-pro/index.umd.js +27 -0
  33. package/date-picker-pro/package.json +7 -0
  34. package/date-picker-pro/style.css +1 -0
  35. package/drawer/index.es.js +29 -4
  36. package/drawer/index.umd.js +1 -1
  37. package/drawer/style.css +1 -1
  38. package/dropdown/index.es.js +178 -142
  39. package/dropdown/index.umd.js +1 -1
  40. package/dropdown/style.css +1 -1
  41. package/editable-select/index.es.js +742 -107
  42. package/editable-select/index.umd.js +1 -1
  43. package/editable-select/style.css +1 -1
  44. package/form/index.es.js +544 -316
  45. package/form/index.umd.js +17 -17
  46. package/form/style.css +1 -1
  47. package/fullscreen/index.es.js +28 -4
  48. package/fullscreen/index.umd.js +1 -1
  49. package/fullscreen/style.css +1 -1
  50. package/grid/index.es.js +71 -50
  51. package/grid/index.umd.js +1 -1
  52. package/grid/style.css +1 -1
  53. package/icon/index.es.js +184 -23
  54. package/icon/index.umd.js +1 -1
  55. package/icon/style.css +1 -0
  56. package/image-preview/index.es.js +34 -11
  57. package/image-preview/index.umd.js +1 -1
  58. package/image-preview/style.css +1 -1
  59. package/input/index.es.js +8250 -131
  60. package/input/index.umd.js +27 -1
  61. package/input/style.css +1 -1
  62. package/input-number/index.es.js +275 -203
  63. package/input-number/index.umd.js +1 -1
  64. package/input-number/style.css +1 -1
  65. package/layout/index.es.js +34 -6
  66. package/layout/index.umd.js +1 -1
  67. package/layout/style.css +1 -1
  68. package/loading/index.es.js +34 -10
  69. package/loading/index.umd.js +1 -1
  70. package/loading/style.css +1 -1
  71. package/mention/index.d.ts +7 -0
  72. package/mention/index.es.js +8310 -0
  73. package/mention/index.umd.js +36 -0
  74. package/mention/package.json +7 -0
  75. package/mention/style.css +1 -0
  76. package/menu/index.d.ts +7 -0
  77. package/menu/index.es.js +934 -0
  78. package/menu/index.umd.js +1 -0
  79. package/menu/package.json +7 -0
  80. package/menu/style.css +1 -0
  81. package/message/index.d.ts +7 -0
  82. package/message/index.es.js +538 -0
  83. package/message/index.umd.js +1 -0
  84. package/message/package.json +7 -0
  85. package/message/style.css +1 -0
  86. package/modal/index.es.js +359 -170
  87. package/modal/index.umd.js +1 -1
  88. package/modal/style.css +1 -1
  89. package/notification/index.es.js +236 -65
  90. package/notification/index.umd.js +1 -1
  91. package/notification/style.css +1 -1
  92. package/nuxt/components/ButtonGroup.js +3 -0
  93. package/nuxt/components/CheckboxButton.js +3 -0
  94. package/nuxt/components/Collapse.js +3 -0
  95. package/nuxt/components/CollapseItem.js +3 -0
  96. package/nuxt/components/DRangeDatePickerPro.js +3 -0
  97. package/nuxt/components/DatePickerPro.js +3 -0
  98. package/nuxt/components/Icon.js +1 -0
  99. package/nuxt/components/IconGroup.js +3 -0
  100. package/nuxt/components/LABEL_DATA.js +3 -0
  101. package/nuxt/components/Mention.js +3 -0
  102. package/nuxt/components/Menu.js +3 -0
  103. package/nuxt/components/MenuItem.js +3 -0
  104. package/nuxt/components/Message.js +3 -0
  105. package/nuxt/components/Option.js +3 -0
  106. package/nuxt/components/OptionGroup.js +3 -0
  107. package/nuxt/components/RadioButton.js +3 -0
  108. package/nuxt/components/Step.js +3 -0
  109. package/nuxt/components/Steps.js +3 -0
  110. package/nuxt/components/SubMenu.js +3 -0
  111. package/nuxt/components/TABLE_TOKEN.js +3 -0
  112. package/nuxt/components/TimePicker.js +3 -0
  113. package/nuxt/components/TimeSelect.js +3 -0
  114. package/nuxt/components/animationInjectionKey.js +3 -0
  115. package/nuxt/components/buttonGroupInjectionKey.js +3 -0
  116. package/nuxt/components/buttonGroupProps.js +3 -0
  117. package/nuxt/components/collapseItemProps.js +3 -0
  118. package/nuxt/components/collapseProps.js +3 -0
  119. package/nuxt/components/datePickerProCommonProps.js +3 -0
  120. package/nuxt/components/datePickerProPanelProps.js +3 -0
  121. package/nuxt/components/datePickerProProps.js +3 -0
  122. package/nuxt/components/iconProps.js +1 -0
  123. package/nuxt/components/mentionProps.js +3 -0
  124. package/nuxt/components/messageProps.js +3 -0
  125. package/nuxt/components/roundInjectionKey.js +3 -0
  126. package/nuxt/components/skeletonItemProps.js +3 -0
  127. package/nuxt/components/stepProps.js +3 -0
  128. package/nuxt/components/stepsProps.js +3 -0
  129. package/nuxt/components/svgIconProps.js +3 -0
  130. package/nuxt/components/tableProps.js +3 -0
  131. package/nuxt/components/timerPickerPanelProps.js +3 -0
  132. package/nuxt/components/treeNodeProps.js +3 -0
  133. package/overlay/index.es.js +84 -125
  134. package/overlay/index.umd.js +1 -1
  135. package/overlay/style.css +1 -1
  136. package/package.json +7 -3
  137. package/pagination/index.es.js +234 -39
  138. package/pagination/index.umd.js +1 -1
  139. package/pagination/style.css +1 -1
  140. package/panel/style.css +1 -1
  141. package/popover/index.es.js +274 -220
  142. package/popover/index.umd.js +13 -13
  143. package/popover/style.css +1 -1
  144. package/progress/index.es.js +31 -9
  145. package/progress/index.umd.js +3 -3
  146. package/progress/style.css +1 -1
  147. package/radio/index.es.js +7969 -152
  148. package/radio/index.umd.js +27 -1
  149. package/radio/style.css +1 -1
  150. package/rate/index.es.js +46 -14
  151. package/rate/index.umd.js +1 -1
  152. package/rate/style.css +1 -1
  153. package/result/index.es.js +169 -22
  154. package/result/index.umd.js +1 -1
  155. package/result/style.css +1 -1
  156. package/search/index.es.js +3823 -1090
  157. package/search/index.umd.js +18 -18
  158. package/search/style.css +1 -1
  159. package/select/index.es.js +9186 -478
  160. package/select/index.umd.js +27 -1
  161. package/select/style.css +1 -1
  162. package/skeleton/index.es.js +110 -259
  163. package/skeleton/index.umd.js +1 -1
  164. package/skeleton/style.css +1 -1
  165. package/slider/index.es.js +143 -146
  166. package/slider/index.umd.js +1 -1
  167. package/slider/style.css +1 -1
  168. package/splitter/index.es.js +433 -207
  169. package/splitter/index.umd.js +17 -17
  170. package/splitter/style.css +1 -1
  171. package/statistic/index.es.js +34 -16
  172. package/statistic/index.umd.js +1 -1
  173. package/statistic/style.css +1 -1
  174. package/status/index.es.js +26 -2
  175. package/status/index.umd.js +1 -1
  176. package/status/style.css +1 -1
  177. package/steps/index.d.ts +7 -0
  178. package/steps/index.es.js +386 -0
  179. package/steps/index.umd.js +1 -0
  180. package/steps/package.json +7 -0
  181. package/steps/style.css +1 -0
  182. package/style.css +1 -1
  183. package/switch/index.es.js +7802 -59
  184. package/switch/index.umd.js +27 -1
  185. package/switch/style.css +1 -1
  186. package/table/index.es.js +9769 -919
  187. package/table/index.umd.js +27 -1
  188. package/table/style.css +1 -1
  189. package/tabs/index.es.js +309 -96
  190. package/tabs/index.umd.js +1 -1
  191. package/tabs/style.css +1 -1
  192. package/tag/index.es.js +35 -7
  193. package/tag/index.umd.js +1 -1
  194. package/tag/style.css +1 -1
  195. package/textarea/index.es.js +7922 -78
  196. package/textarea/index.umd.js +35 -1
  197. package/textarea/style.css +1 -1
  198. package/time-picker/index.d.ts +7 -0
  199. package/time-picker/index.es.js +9549 -0
  200. package/time-picker/index.umd.js +27 -0
  201. package/time-picker/package.json +7 -0
  202. package/time-picker/style.css +1 -0
  203. package/time-select/index.d.ts +7 -0
  204. package/time-select/index.es.js +9585 -0
  205. package/time-select/index.umd.js +27 -0
  206. package/time-select/package.json +7 -0
  207. package/time-select/style.css +1 -0
  208. package/timeline/index.es.js +169 -22
  209. package/timeline/index.umd.js +1 -1
  210. package/timeline/style.css +1 -1
  211. package/tooltip/index.es.js +265 -212
  212. package/tooltip/index.umd.js +15 -15
  213. package/tooltip/style.css +1 -1
  214. package/tree/index.es.js +11343 -795
  215. package/tree/index.umd.js +27 -1
  216. package/tree/style.css +1 -1
  217. package/upload/index.es.js +494 -106
  218. package/upload/index.umd.js +1 -1
  219. package/upload/style.css +1 -1
  220. package/vue-devui.es.js +22849 -13614
  221. package/vue-devui.umd.js +30 -23
  222. package/date-picker/index.es.js +0 -1145
  223. package/date-picker/index.umd.js +0 -1
  224. package/date-picker/style.css +0 -1
  225. package/nuxt/components/DatePicker.js +0 -3
  226. package/nuxt/components/FormControl.js +0 -3
  227. package/nuxt/components/FormLabel.js +0 -3
  228. package/nuxt/components/StickSlider.js +0 -3
  229. package/nuxt/components/formControlProps.js +0 -3
  230. package/nuxt/components/overlayEmits.js +0 -3
  231. package/nuxt/components/overlayProps.js +0 -3
@@ -0,0 +1 @@
1
+ .devui-fixed-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:var(--devui-shadow, rgba(37, 43, 58, .2));z-index:1050}.devui-fixed-overlay--fade-enter-active,.devui-fixed-overlay--fade-leave-active{transition:opacity .1s cubic-bezier(0,0,1,1)}.devui-fixed-overlay--fade-enter-from,.devui-fixed-overlay--fade-leave-to{opacity:0}.devui-flexible-overlay{position:fixed;border-radius:var(--devui-border-radius, 4px);background-color:var(--devui-connected-overlay-bg, #ffffff);box-shadow:var(--devui-shadow-length-connected-overlay, 0 4px 8px 0) var(--devui-shadow, rgba(37, 43, 58, .2));z-index:1000}.devui-flexible-overlay__arrow{position:absolute;width:8px;height:8px;transform:rotate(45deg);background-color:inherit}.devui-popover__icon-wrap{width:16px;height:16px;margin-right:8px}.devui-popover__icon-wrap .devui-popover__icon.devui-popover__icon--success>g>path{fill:var(--devui-success, #50d4ab)}.devui-popover__icon-wrap .devui-popover__icon.devui-popover__icon--success>g>circle,.devui-popover__icon-wrap .devui-popover__icon.devui-popover__icon--success>g>polygon{fill:var(--devui-light-text, #ffffff)}.devui-popover__icon-wrap .devui-popover__icon.devui-popover__icon--warning>g>path{fill:var(--devui-warning, #fac20a)}.devui-popover__icon-wrap .devui-popover__icon.devui-popover__icon--warning>g>polygon{fill:var(--devui-light-text, #ffffff)}.devui-popover__icon-wrap .devui-popover__icon.devui-popover__icon--info>g>g{fill:var(--devui-info, #5e7ce0)}.devui-popover__icon-wrap .devui-popover__icon.devui-popover__icon--info>g>circle{fill:var(--devui-light-text, #ffffff)}.devui-popover__icon-wrap .devui-popover__icon.devui-popover__icon--error>g>path{fill:var(--devui-danger, #f66f6a)}.devui-popover__icon-wrap .devui-popover__icon.devui-popover__icon--error>g>circle{fill:var(--devui-light-text, #ffffff)}.devui-popover__content.devui-flexible-overlay{display:flex;flex-wrap:wrap;align-items:center;white-space:nowrap;padding:4px 12px;line-height:1.5;border-radius:var(--devui-border-radius-feedback, 4px);color:var(--devui-feedback-overlay-text, #dfe1e6);background-color:var(--devui-feedback-overlay-bg, #464d6e);font-size:var(--devui-font-size-sm, 12px)}.devui-popover__content.devui-flexible-overlay.is-icon{flex-wrap:nowrap}.devui-popover--fade-bottom-enter-from,.devui-popover--fade-bottom-leave-to,.devui-popover--fade-top-enter-from,.devui-popover--fade-top-leave-to{opacity:.8;transform:scaleY(.8)}.devui-popover--fade-bottom-enter-to,.devui-popover--fade-bottom-leave-from,.devui-popover--fade-top-enter-to,.devui-popover--fade-top-leave-from{opacity:1;transform:scaleY(1)}.devui-popover--fade-bottom-enter-active,.devui-popover--fade-top-enter-active{transition:transform .1s cubic-bezier(.16,.75,.5,1),opacity .1s cubic-bezier(.16,.75,.5,1)}.devui-popover--fade-bottom-leave-active,.devui-popover--fade-top-leave-active{transition:transform .1s cubic-bezier(.5,0,.84,.25),opacity .1s cubic-bezier(.5,0,.84,.25)}.devui-popover--fade-left-enter-from,.devui-popover--fade-left-leave-to,.devui-popover--fade-right-enter-from,.devui-popover--fade-right-leave-to{opacity:.8;transform:scaleX(.8)}.devui-popover--fade-left-enter-to,.devui-popover--fade-left-leave-from,.devui-popover--fade-right-enter-to,.devui-popover--fade-right-leave-from{opacity:1;transform:scaleX(1)}.devui-popover--fade-left-enter-active,.devui-popover--fade-right-enter-active{transition:transform .1s cubic-bezier(.16,.75,.5,1),opacity .1s cubic-bezier(.16,.75,.5,1)}.devui-popover--fade-left-leave-active,.devui-popover--fade-right-leave-active{transition:transform .1s cubic-bezier(.5,0,.84,.25),opacity .1s cubic-bezier(.5,0,.84,.25)}.devui-form__label{align-self:flex-start}.devui-form__label--vertical{padding-bottom:8px}.devui-form__label--sm{flex:0 0 80px}.devui-form__label--md{flex:0 0 100px}.devui-form__label--lg{flex:0 0 150px}.devui-form__label--start{text-align:left}.devui-form__label--center{text-align:center}.devui-form__label--end{text-align:end}.devui-form__label-span{display:inline-block;vertical-align:middle;color:var(--devui-text, #252b3a)}.devui-form__label--required:before{content:"*";color:red;display:inline-block;margin-right:8px;margin-left:-12px}.devui-form__label-help{position:relative;top:-.1em;display:inline-block;vertical-align:middle;margin-left:4px;cursor:pointer}.devui-form__control{flex:1 1 auto;position:relative;width:100%}.devui-form__control--horizontal{margin-left:16px}.devui-form__control .devui-star{color:red}.devui-form__control .devui-form__control-container{position:relative}.devui-form__control .devui-form__control-container--horizontal{display:flex;width:100%}.devui-form__control .devui-form__control-container--horizontal .devui-validate-tip{margin:0}.devui-form__control .devui-form__control-container .devui-form__feedback-icon{position:absolute;top:50%;right:0;z-index:1;width:32px;height:16px;text-align:center;visibility:visible;pointer-events:none;transform:translateY(-50%);display:flex;align-items:center;justify-content:center}.devui-form__control .devui-form__control-container .devui-form__feedback-icon--error svg circle{fill:var(--devui-danger, #f66f6a)}.devui-form__control .devui-form__control-container .devui-form__feedback-icon--error svg polygon{fill:var(--devui-base-bg, #ffffff)}.devui-form__control .devui-form__control-container .devui-form__feedback-icon--success svg circle{fill:var(--devui-success, #50d4ab)}.devui-form__control .devui-form__control-container .devui-form__feedback-icon--success svg polygon{fill:var(--devui-base-bg, #ffffff)}.devui-form__control .devui-form__control-container .devui-form__feedback-icon--pending svg{animation:loading-keyframes 1s infinite linear}.devui-form__control .devui-form__control-container .devui-form__feedback-icon--pending svg path{fill:var(--devui-brand, #5e7ce0)}.devui-form__control .devui-form__control-content{width:100%}.devui-form__control .devui-form__control-container--has-feedback{display:flex;align-items:center}.devui-form__control .devui-form__control-container--has-feedback input{padding-right:28px}.devui-form__control .devui-form__control-container--feedback-error{border:1px solid #f66f6a;border-radius:2px}.devui-form__control .devui-form__control-container--feedback-error input{background-color:#ffeeed;border-color:transparent}.devui-form__control .devui-form__control-container--feedback-error input:hover{border-color:transparent!important}.devui-form__control .devui-form__control-container--feedback-error input:focus{border-color:transparent!important}.devui-form__control .devui-form__control-container--feedback-error .devui-select-arrow{right:24px!important}.devui-form__control .devui-form__control-info{line-height:1}.devui-form__control .devui-form__control-info .error-message{display:inline-block;min-height:20px;line-height:1.5;font-size:var(--devui-font-size, 14px);color:var(--devui-danger, #f66f6a)}.devui-form__control .devui-form__control-info .devui-form__control-extra{font-size:var(--devui-font-size, 14px);color:var(--devui-aide-text, #71757f);min-height:20px;line-height:1.5;text-align:justify}@keyframes loading-keyframes{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.devui-form__item--horizontal{display:flex;align-items:center;margin-bottom:20px}.devui-form__item--vertical{display:flex;flex-direction:column;margin-bottom:20px}.devui-form__item--error{margin-bottom:0}.devui-form-operation .star{color:red}.devui-icon__container{display:inline-block;color:var(--devui-icon-fill, #71757f)}.devui-icon__container>*:not(:last-child){vertical-align:middle;margin-right:8px}.devui-icon__container i{vertical-align:middle;transition:all var(--devui-animation-duration-slow, .3s) var(--devui-animation-ease-in-out-smooth, cubic-bezier(.645, .045, .355, 1))}.devui-icon--disabled{color:var(--devui-disabled-text, #adb0b8);cursor:not-allowed}.devui-icon--disabled i{color:var(--devui-disabled-text, #adb0b8)}.devui-icon--operable:not(.devui-icon--disabled){cursor:pointer;transition:color var(--devui-animation-duration-slow, .3s) var(--devui-animation-ease-in-out-smooth, cubic-bezier(.645, .045, .355, 1))}.devui-icon--operable:not(.devui-icon--disabled) i{cursor:pointer}.devui-icon--operable:hover:not(.devui-icon--disabled){color:var(--devui-icon-fill-hover, #252b3a)}.devui-icon--operable:hover:not(.devui-icon--disabled).devui-icon__container{background-color:var(--devui-icon-background-hover, var(--devui-list-item-hover-bg, #f2f2f3))}.devui-icon--operable:hover:not(.devui-icon--disabled) i{color:var(--devui-icon-fill-hover, #252b3a)}.devui-icon--operable:active:not(.devui-icon--disabled){color:var(--devui-icon-active-color, var(--devui-icon-fill-active, #252b3a))}.devui-icon--operable:active:not(.devui-icon--disabled).devui-icon__container{background-color:var(--devui-icon-background-active, var(--devui-list-item-active-bg, #f2f5fc))}.devui-icon--operable:active:not(.devui-icon--disabled) i{color:var(--devui-icon-active-color, var(--devui-icon-fill-active, #252b3a))}.devui-icon--operable.devui-icon__container{height:32px;line-height:32px;padding:0 8px;margin-left:-8px;border-radius:var(--devui-border-radius, 4px);transition:all var(--devui-animation-duration-slow, .3s) var(--devui-animation-ease-in-out-smooth, cubic-bezier(.645, .045, .355, 1))}.devui-icon--spin{animation:iconSpin 2.5s linear infinite}.devui-svg-icon{vertical-align:middle}@keyframes iconSpin{0%{transform:rotate(0)}50%{transform:rotate(180deg)}to{transform:rotate(360deg)}}.devui-input{height:28px;font-size:var(--devui-font-size, 14px)}.devui-input__wrapper{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:0 8px;box-sizing:border-box;border:1px solid var(--devui-form-control-line, #d7d8da);border-radius:var(--devui-border-radius, 4px);background-color:var(--devui-form-control-bg, #ffffff);transition:border-color .3s var(--devui-animation-ease-in-out-smooth, cubic-bezier(.645, .045, .355, 1));height:100%}.devui-input__wrapper:not(.devui-input--error):not(.devui-input--disabled):not(.devui-input--focus):hover{border-color:var(--devui-form-control-line-hover, #575d6c)}.devui-input--focus:not(.devui-input--error){border-color:var(--devui-form-control-line-active, #5e7ce0)}.devui-input--disabled{color:var(--devui-disabled-text, #adb0b8);border-color:var(--devui-disabled-line, #dfe1e6);background-color:var(--devui-disabled-bg, #f5f5f5);cursor:not-allowed}.devui-input--disabled:hover{border-color:var(--devui-disabled-line, #dfe1e6)}.devui-input--disabled .devui-input__inner{color:var(--devui-disabled-text, #adb0b8);cursor:not-allowed}.devui-input--error{border-color:var(--devui-danger-line, #f66f6a);background-color:var(--devui-danger-bg, #ffeeed)}.devui-input--sm{height:26px;font-size:var(--devui-font-size-sm, 12px)}.devui-input--lg{height:46px;font-size:var(--devui-font-size-lg, 14px)}.devui-input--feedback{padding-right:28px}.devui-input__inner{width:100%;height:100%;color:var(--devui-text, #252b3a);font-size:inherit;padding:4px 0;border:none;background:none;outline:none;box-sizing:border-box}.devui-input--prepend .devui-input__wrapper{border-top-left-radius:0;border-bottom-left-radius:0}.devui-input--append .devui-input__wrapper{border-top-right-radius:0;border-bottom-right-radius:0}.devui-input-slot{display:inline-flex;width:100%;align-items:stretch}.devui-input-slot__prepend,.devui-input-slot__append{color:var(--devui-text);position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:100%;padding:0 20px;white-space:nowrap;border:1px solid var(--devui-form-control-line, #d7d8da);border-radius:var(--devui-border-radius, 4px);background-color:var(--devui-form-control-bg, #ffffff)}.devui-input-slot__prepend .devui-button,.devui-input-slot__prepend .devui-select .devui-select__selection,.devui-input-slot__append .devui-button,.devui-input-slot__append .devui-select .devui-select__selection{border:none!important;background-color:transparent!important;color:inherit}.devui-input-slot__prepend .devui-button,.devui-input-slot__prepend .devui-select__selection,.devui-input-slot__append .devui-button,.devui-input-slot__append .devui-select__selection{margin:0 -20px}.devui-input-slot__prepend{border-right:0;border-top-right-radius:0;border-bottom-right-radius:0}.devui-input-slot__append{border-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.devui-input-slot__prefix,.devui-input-slot__suffix{display:inline-flex;white-space:nowrap;flex-shrink:0;flex-wrap:nowrap;align-items:center}.devui-input-slot__prefix>*{margin-right:8px}.devui-input-slot__suffix>*{margin-left:8px}.devui-input__clear--icon,.devui-input__password--icon{cursor:pointer}.devui-scroll-box{width:100%;height:100%;overflow:hidden;position:relative}.devui-scroll-box *{user-select:none}.devui-scroll-box .box-content{height:100%;overflow-y:auto;overflow-x:hidden;scroll-behavior:smooth}.devui-scroll-box .box-content-behavior-auto{scroll-behavior:auto}.devui-scroll-box .box-sroll{width:8px;height:100%;position:absolute;right:0;top:0;opacity:0;background-color:#d46b6b00}.devui-scroll-box .box-sroll .scroll-child{width:100%;position:absolute;top:0;right:0;background:var(--devui-line, #d7d8da);border-radius:8px}.devui-time-list{width:100%;height:256px;border-bottom:1px solid var(--devui-dividing-line, #f2f2f3);display:flex}.devui-time-list .time-item{height:100%;display:inline-block;border-right:1px solid var(--devui-dividing-line, #f2f2f3);overflow-y:auto}.devui-time-list .time-item:last-child{border-right:none}.devui-time-list .time-item .time-ul{width:100%;height:100%;cursor:pointer;padding:0;margin:0 auto;list-style:none}.devui-time-list .time-item .time-ul .time-li{display:block;box-sizing:border-box;list-style:none;text-align:center;margin:0 0 6px;height:26px;overflow:hidden;line-height:26px;font-size:0;color:var(--devui-text, #252b3a)}.devui-time-list .time-item .time-ul .time-li:hover{background-color:var(--devui-list-item-hover-bg, #f2f2f3);color:var(--devui-list-item-hover-text, #252b3a)}.devui-time-list .time-item .time-ul .time-li span{display:block;font-size:var(--devui-font-size-md, 14px)}.devui-time-list .time-item .time-ul:last-child:after{content:"";display:block;height:224px}.devui-time-list .time-item .time-ul .active-li,.devui-time-list .time-item .time-ul .active-li:hover{background-color:var(--devui-list-item-active-bg, #f2f5fc);color:var(--devui-list-item-active-text, #252b3a)}.devui-time-list .time-item .time-ul .disabled-li{background-color:var(--devui-disabled-bg, #f5f5f5);color:var(--devui-disabled-text, #adb0b8);cursor:not-allowed}.devui-icon-group{display:inline-flex;align-items:center}.devui-icon-group>.devui-icon__container:not(.devui-icon--operable){padding:8px;margin-left:0}.devui-icon-group>.devui-icon__container:not(.devui-icon--operable):first-child{margin-left:-8px}.devui-icon-group>*:not(:first-child){margin-left:0}@keyframes devui-busy-spinner-anim{0%{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(1.5)}to{transform:rotate(360deg) scale(1)}}.devui-loading__mask{z-index:var(--devui-z-index-full-page-overlay, 1080);position:absolute;left:0;right:0;bottom:0;top:0;background-color:var(--devui-line, #d7d8da);opacity:.3}.devui-loading__wrapper{text-align:center}.devui-loading--full{position:fixed;left:0;right:0;bottom:0;top:0;z-index:var(--devui-z-index-full-page-overlay, 1080)}.devui-loading--hidden{overflow:hidden}.devui-loading__text{margin-left:10px}.devui-loading__area{position:absolute;transform:translate(-50%,-50%);padding:12px 14px;background:var(--devui-base-bg, #ffffff);border-radius:var(--devui-border-radius-card, 6px)}.devui-loading__busy-default-spinner{position:relative;display:inline-block;width:15px;height:15px;animation:devui-busy-spinner-anim 1s linear infinite}.devui-loading__busy-default-spinner div{position:absolute;left:44.5%;top:37%;width:6px;height:6px;border-radius:50%}.devui-loading__busy-default-spinner .devui-loading__bar1{top:0;left:0;background:#5e7ce0;background:var(--devui-brand, #5e7ce0)}.devui-loading__busy-default-spinner .devui-loading__bar2{top:0;left:9px;background:#859bff;background:var(--devui-brand-foil, #859bff)}.devui-loading__busy-default-spinner .devui-loading__bar3{top:9px;left:0;background:#859bff;background:var(--devui-brand-foil, #859bff)}.devui-loading__busy-default-spinner .devui-loading__bar4{top:9px;left:9px;background:#5e7ce0;background:var(--devui-brand, #5e7ce0)}.devui-button{padding:var(--devui-btn-padding, 0 20px);font-size:var(--devui-font-size-md, 14px);line-height:var(--devui-line-height-base, 1.5);border-radius:var(--devui-border-radius, 4px);border-width:1px;border-color:transparent;background-color:transparent}.devui-button:hover{cursor:pointer}.devui-button:disabled{cursor:not-allowed}.devui-button--is-loading{pointer-events:none}.devui-button--solid{color:var(--devui-light-text, #ffffff);min-width:64px}.devui-button--solid i{color:var(--devui-light-text, #ffffff)}.devui-button--solid--secondary{color:var(--devui-text, #252b3a);border-color:var(--devui-btn-common-border-color, var(--devui-line, #d7d8da));background-color:var(--devui-btn-common-bg, var(--devui-base-bg, #ffffff))}.devui-button--solid--secondary:hover{color:var(--devui-btn-common-color-hover, var(--devui-brand-active, #526ecc));border-color:var(--devui-btn-common-border-color-hover, var(--devui-form-control-line-active, #5e7ce0));background-color:var(--devui-btn-common-bg-hover, var(--devui-base-bg, #ffffff))}.devui-button--solid--secondary:focus{color:var(--devui-btn-common-color-active, var(--devui-brand-active, #526ecc));border-color:var(--devui-btn-common-border-color-active, var(--devui-form-control-line-active, #5e7ce0));background-color:var(--devui-btn-common-bg-hover, var(--devui-base-bg, #ffffff))}.devui-button--solid--secondary:active{color:var(--devui-btn-common-color-active, var(--devui-brand-active, #526ecc));border-color:var(--devui-btn-common-border-color-active, var(--devui-form-control-line-active, #5e7ce0));background-color:var(--devui-btn-common-bg-hover, var(--devui-base-bg, #ffffff))}.devui-button--solid--secondary:disabled{opacity:.8}.devui-button--solid--primary{background-color:var(--devui-primary, #5e7ce0)}.devui-button--solid--primary:hover{background-color:var(--devui-primary-hover, #7693f5)}.devui-button--solid--primary:focus{background-color:var(--devui-primary-hover, #7693f5)}.devui-button--solid--primary:active{background-color:var(--devui-primary-active, #344899)}.devui-button--solid--primary:disabled{color:var(--devui-light-text, #ffffff);background:var(--devui-primary-disabled, #beccfa);border:none}.devui-button--solid--danger{background-color:var(--devui-contrast, #c7000b)}.devui-button--solid--danger:hover{background-color:var(--devui-contrast-hover, #d64a52)}.devui-button--solid--danger:focus{background-color:var(--devui-contrast-hover, #d64a52)}.devui-button--solid--danger:active{background-color:var(--devui-contrast-active, #b12220)}.devui-button--solid--danger:disabled{background-color:var(--devui-contrast-disabled, #ffbcba)}.devui-button--outline{background-color:var(--devui-block, #ffffff);border-style:solid}.devui-button--outline--secondary{color:var(--devui-text, #252b3a);border-color:var(--devui-line, #d7d8da)}.devui-button--outline--secondary:hover{color:var(--devui-brand-active, #526ecc);border-color:var(--devui-form-control-line-active, #5e7ce0)}.devui-button--outline--secondary:focus{color:var(--devui-brand-active, #526ecc);border-color:var(--devui-form-control-line-active, #5e7ce0)}.devui-button--outline--secondary:active{color:var(--devui-brand-active, #526ecc);border-color:var(--devui-form-control-line-active, #5e7ce0)}.devui-button--outline--secondary:disabled{color:var(--devui-disabled-text, #adb0b8);border-color:var(--devui-disabled-line, #dfe1e6);background-color:var(--devui-disabled-bg, #f5f5f5)}.devui-button--outline--primary{color:var(--devui-brand-active, #526ecc);border-color:var(--devui-form-control-line-active, #5e7ce0)}.devui-button--outline--primary:hover{color:var(--devui-brand-active-focus, #344899);border-color:var(--devui-form-control-line-active-hover, #344899)}.devui-button--outline--primary:focus{color:var(--devui-brand-active-focus, #344899);border-color:var(--devui-form-control-line-active-hover, #344899)}.devui-button--outline--primary:active{color:var(--devui-brand-active-focus, #344899);border-color:var(--devui-form-control-line-active-hover, #344899)}.devui-button--outline--primary:disabled{opacity:.8;color:var(--devui-brand-active, #526ecc);border-color:var(--devui-form-control-line-active, #5e7ce0)}.devui-button--outline--danger{color:var(--devui-contrast, #c7000b);border-color:var(--devui-contrast, #c7000b)}.devui-button--outline--danger:hover,.devui-button--outline--danger:focus,.devui-button--outline--danger:active,.devui-button--outline--danger:disabled{opacity:.8}.devui-button--text{padding:0}.devui-button--text--secondary{color:var(--devui-text, #252b3a)}.devui-button--text--secondary:hover{color:var(--devui-list-item-hover-text, #252b3a)}.devui-button--text--secondary:focus{color:var(--devui-list-item-hover-text, #252b3a)}.devui-button--text--secondary:active{color:var(--devui-list-item-hover-text, #252b3a)}.devui-button--text--secondary:disabled{color:var(--devui-disabled-text, #adb0b8)}.devui-button--text--primary{color:var(--devui-brand-active, #526ecc)}.devui-button--text--primary:hover{color:var(--devui-link-active, #526ecc)}.devui-button--text--primary:focus{color:var(--devui-brand-active-focus, #344899)}.devui-button--text--primary:active{color:var(--devui-brand-active-focus, #344899)}.devui-button--text--primary:disabled{opacity:.8}.devui-button--text--danger{color:var(--devui-contrast, #c7000b)}.devui-button--text--danger:hover,.devui-button--text--danger:focus,.devui-button--text--danger:active,.devui-button--text--danger:disabled{opacity:.8}.devui-button--xs{padding:0 4px;height:20px;font-size:var(--devui-font-size-sm, 12px);min-width:48px}.devui-button--sm{padding:var(--devui-btn-sm-padding, 0 16px);height:24px;font-size:var(--devui-font-size-sm, 12px);min-width:56px}.devui-button--lg{padding:var(--devui-btn-lg-padding, 0 24px);height:36px;font-size:var(--devui-font-size-lg, 14px);min-width:72px}.devui-button.devui-button__icon:not(.devui-button--solid):hover,.devui-button.devui-button__icon:not(.devui-button--solid):focus{border:1px solid var(--devui-list-item-hover-bg, #f2f2f3);background-color:var(--devui-list-item-hover-bg, #f2f2f3)}.devui-button.devui-button__icon:not(.devui-button--solid):disabled{background-color:var(--devui-disabled-bg, #f5f5f5)}.devui-button:not(:disabled).devui-button--text.devui-button__icon-wrap{color:var(--devui-text, #252b3a)}.devui-button:not(:disabled).devui-button--text.devui-button__icon-wrap .devui-button__icon-fix{color:var(--devui-text-weak, #575d6c)}.devui-button:not(:disabled).devui-button--text.devui-button__icon-wrap:hover{color:var(--devui-list-item-hover-text, #252b3a)}.devui-button:not(:disabled).devui-button--text.devui-button__icon-wrap:hover .devui-button__icon-fix{color:var(--devui-icon-fill-active, #252b3a)}.devui-button:not(:disabled).devui-button--text.devui-button__icon-wrap:hover .button-content{color:var(--devui-brand, #5e7ce0)}.devui-button--circle{border-radius:100%}.devui-button--round{border-radius:20px}.devui-loading .devui-loading-default-spinner div{background-color:var(--devui-text, #252b3a)}.devui-button{transition:background-color var(--devui-animation-duration-slow, .3s) var(--devui-animation-ease-in-out-smooth, cubic-bezier(.645, .045, .355, 1)),border-color var(--devui-animation-duration-slow, .3s) var(--devui-animation-ease-in-out-smooth, cubic-bezier(.645, .045, .355, 1)),color var(--devui-animation-duration-slow, .3s) var(--devui-animation-ease-in-out-smooth, cubic-bezier(.645, .045, .355, 1));white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;border-style:solid}.devui-button.devui-button__icon{padding:8px;line-height:1em;min-width:unset}.devui-button.devui-button__icon:not(.devui-button--circle){border:1px solid transparent}.devui-button.devui-button__icon.devui-button--xs,.devui-button.devui-button__icon.devui-button--sm{padding:4px;min-width:24px}.devui-button.devui-button__icon.devui-button--lg{min-width:32px}.devui-button.devui-button__icon.devui-button--lg .icon{font-size:var(--devui-font-size-icon, 16px)}.devui-button.devui-button__icon.devui-button--circle.devui-button--xs,.devui-button.devui-button__icon.devui-button--circle.devui-button--sm{width:24px}.devui-button.devui-button__icon.devui-button--circle.devui-button--lg{width:32px}.devui-button:not(.devui-button__icon) .icon-fix{font-size:var(--devui-font-size-icon, 16px)}.devui-button__icon-fix{position:relative;font-size:var(--devui-font-size, 14px)}.button-content{display:inline-block;position:relative}.clear-right-5{margin-right:5px}.devui-button-group{display:flex}.devui-button-group>*{position:relative}.devui-button-group>*:not(:first-child),.devui-button-group>*:not(:first-child) .devui-button{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px}.devui-button-group>*:not(:first-child).devui-button--solid--primary,.devui-button-group>*:not(:first-child) .devui-button.devui-button--solid--primary{border-left:1px solid var(--devui-brand-hover, #7693f5);margin-left:0}.devui-button-group>*:not(:last-child),.devui-button-group>*:not(:last-child) .devui-button{border-top-right-radius:0;border-bottom-right-radius:0}.devui-button-group>*:hover,.devui-button-group>*:active{z-index:1}.devui-button-group>*:focus-within{z-index:1}.devui-date-picker-pro{display:inline-block;background-color:var(--devui-base-bg, #ffffff)}.devui-date-picker-pro .devui-date-picker-pro__single-picker{position:relative}.devui-date-picker-pro .devui-date-picker-pro__single-picker-icon{display:inline-flex;align-items:center}.devui-date-picker-pro .devui-date-picker-pro__single-picker .devui-input-slot__suffix{cursor:pointer}.devui-date-picker-pro .devui-date-picker-pro__single-picker .close-icon{width:16px;height:16px;display:inline-flex;line-height:12px;align-items:center}.devui-date-picker-pro .devui-date-picker-pro__single-picker .close-icon svg path{fill:var(--devui-shape-icon-fill, #d7d8da)}.devui-date-picker-pro .devui-date-picker-pro__single-picker .close-icon:hover svg path{fill:var(--devui-shape-icon-fill-active, #babbc0)}.devui-date-picker-pro .devui-date-picker-pro__single-picker .devui-date-picker-pro--icon-visible{visibility:visible}.devui-date-picker-pro .devui-date-picker-pro__single-picker .devui-date-picker-pro--icon-hidden{visibility:hidden}.devui-date-picker-pro__panel{width:max-content}.devui-date-picker-pro__panel-content{display:flex}.devui-date-picker-pro__panel-footer{border-top:1px solid var(--devui-dividing-line, #f2f2f3);padding:8px}.devui-date-picker-pro__panel-footer-center{text-align:center}.devui-date-picker-pro__panel-right-area{padding:8px 16px;display:inline-block;height:305px;font-size:var(--devui-font-size-sm, 12px);overflow:auto;-ms-overflow-style:none;scrollbar-width:none;border-left:1px solid var(--devui-dividing-line, #f2f2f3)}.devui-date-picker-pro__panel-right-area::-webkit-scrollbar{width:0!important}.devui-date-picker-pro__calendar-panel{text-align:center;display:flex}.devui-date-picker-pro__calendar-panel--year-list{display:inline-block;width:80px;height:305px;overflow:auto;-ms-overflow-style:none;scrollbar-width:none}.devui-date-picker-pro__calendar-panel--year-list::-webkit-scrollbar{width:0!important}.devui-date-picker-pro__calendar-panel--year-list-item{background-color:var(--devui-global-bg, #f8f8fa)}.devui-date-picker-pro__calendar-panel--year-list-item .devui-date-picker-pro__year-title{font-size:var(--devui-font-size-md, 14px);font-weight:700;line-height:30px;cursor:pointer}.devui-date-picker-pro__calendar-panel--year-list-item .devui-date-picker-pro__month-title{font-size:var(--devui-font-size-sm, 12px);line-height:30px;cursor:pointer}.devui-date-picker-pro__calendar-panel--year-list-item.devui-date-picker-pro__year-title-active{background-color:var(--devui-base-bg, #ffffff)}.devui-date-picker-pro__calendar-panel--year-list-item:hover:not(.devui-date-picker-pro__year-title-active){background-color:var(--devui-list-item-selected-bg, #f2f5fc)}.devui-date-picker-pro__calendar-panel--main{padding:4px;display:inline-block;width:253px;height:305px;font-size:var(--devui-font-size-sm, 12px);overflow:auto;-ms-overflow-style:none;scrollbar-width:none}.devui-date-picker-pro__calendar-panel--main::-webkit-scrollbar{width:0!important}.devui-date-picker-pro__calendar-panel--main .devui-date-picker-pro__calendar-table tr,.devui-date-picker-pro__calendar-panel--main .devui-date-picker-pro__calendar-table td{border:none;padding:0;text-align:center;font-size:var(--devui-font-size-sm, 12px)}.devui-date-picker-pro__tbody-wrapper{height:270px;width:100%;overflow-x:hidden;-ms-overflow-style:none;scrollbar-width:none}.devui-date-picker-pro__tbody-wrapper::-webkit-scrollbar{width:0!important}.devui-date-picker-pro__calendar-table{border-spacing:0;margin:0}.devui-date-picker-pro__calendar-table .devui-date-picker-pro__table-week-header td{width:35px;height:22px;padding:0}.devui-date-picker-pro__calendar-table .devui-date-picker-pro__table-month-title{text-align:start;line-height:26px;color:var(--devui-aide-text, #71757f);padding-left:8px}.devui-date-picker-pro__calendar-table .devui-date-picker-pro__table-month-content{color:var(--devui-text, #252b3a);border-spacing:0 4px;border-collapse:separate;margin:0}.devui-date-picker-pro__calendar-table .devui-date-picker-pro__table-month-content .devui-date-picker-pro__table-date{padding:0 4px;width:30px}.devui-date-picker-pro__calendar-table .devui-date-picker-pro__table-month-content .devui-date-picker-pro__table-date span{cursor:pointer;display:block;width:22px;height:22px;line-height:22px;border-radius:var(--devui-border-radius-feedback, 4px)}.devui-date-picker-pro__calendar-table .devui-date-picker-pro__table-month-content .devui-date-picker-pro__table-date:not(.devui-date-picker-pro__table-date-selected):not(.devui-date-picker-pro__table-date-disabled):hover span{background-color:var(--devui-range-item-hover-bg, #e9edfa)}.devui-date-picker-pro__calendar-table .devui-date-picker-pro__table-month-content .devui-date-picker-pro__table-date.devui-date-picker-pro__table-date-today span{color:var(--devui-brand, #5e7ce0)}.devui-date-picker-pro__calendar-table .devui-date-picker-pro__table-month-content .devui-date-picker-pro__table-date.devui-date-picker-pro__table-date-selected span,.devui-date-picker-pro__calendar-table .devui-date-picker-pro__table-month-content .devui-date-picker-pro__table-date.devui-date-picker-pro__table-date-start span,.devui-date-picker-pro__calendar-table .devui-date-picker-pro__table-month-content .devui-date-picker-pro__table-date.devui-date-picker-pro__table-date-end span{background-color:var(--devui-list-item-active-bg, #f2f5fc);color:var(--devui-list-item-active-text, #252b3a)}.devui-date-picker-pro__calendar-table .devui-date-picker-pro__table-month-content .devui-date-picker-pro__table-date.devui-date-picker-pro__table-date-in-range{background-color:var(--devui-list-item-hover-bg, #f2f2f3)}.devui-date-picker-pro__calendar-table .devui-date-picker-pro__table-month-content .devui-date-picker-pro__table-date.devui-date-picker-pro__table-date-in-range span:hover{background-color:var(--devui-range-item-hover-bg, #e9edfa)}.devui-date-picker-pro__calendar-table .devui-date-picker-pro__table-month-content .devui-date-picker-pro__table-date.devui-date-picker-pro__table-date-start:not(.devui-date-picker-pro__table-date-end){position:relative}.devui-date-picker-pro__calendar-table .devui-date-picker-pro__table-month-content .devui-date-picker-pro__table-date.devui-date-picker-pro__table-date-start:not(.devui-date-picker-pro__table-date-end):after{content:"";display:block;position:absolute;width:8px;height:22px;background-color:var(--devui-list-item-hover-bg, #f2f2f3);right:0;top:0}.devui-date-picker-pro__calendar-table .devui-date-picker-pro__table-month-content .devui-date-picker-pro__table-date.devui-date-picker-pro__table-date-start:not(.devui-date-picker-pro__table-date-end):hover:after{display:none}.devui-date-picker-pro__calendar-table .devui-date-picker-pro__table-month-content .devui-date-picker-pro__table-date.devui-date-picker-pro__table-date-start:not(.devui-date-picker-pro__table-date-end) span:not(:hover){border-radius:var(--devui-border-radius-feedback, 4px) 0 0 var(--devui-border-radius-feedback, 4px)}.devui-date-picker-pro__calendar-table .devui-date-picker-pro__table-month-content .devui-date-picker-pro__table-date.devui-date-picker-pro__table-date-end:not(.devui-date-picker-pro__table-date-start){position:relative}.devui-date-picker-pro__calendar-table .devui-date-picker-pro__table-month-content .devui-date-picker-pro__table-date.devui-date-picker-pro__table-date-end:not(.devui-date-picker-pro__table-date-start):after{content:"";display:block;position:absolute;width:5px;height:22px;background-color:var(--devui-list-item-hover-bg, #f2f2f3);left:0;top:0}.devui-date-picker-pro__calendar-table .devui-date-picker-pro__table-month-content .devui-date-picker-pro__table-date.devui-date-picker-pro__table-date-end:not(.devui-date-picker-pro__table-date-start):hover:after{display:none}.devui-date-picker-pro__calendar-table .devui-date-picker-pro__table-month-content .devui-date-picker-pro__table-date.devui-date-picker-pro__table-date-end:not(.devui-date-picker-pro__table-date-start) span:not(:hover){border-radius:0 var(--devui-border-radius-feedback, 4px) var(--devui-border-radius-feedback, 4px) 0}.devui-date-picker-pro__calendar-table .devui-date-picker-pro__table-month-content .devui-date-picker-pro__table-date.devui-date-picker-pro__table-date-disabled span{color:var(--devui-disabled-text, #adb0b8);cursor:not-allowed}.devui-date-picker-pro__panel-time{display:inline-block;border-left:1px solid var(--devui-dividing-line, #f2f2f3);height:305px;text-align:center;width:115px}.devui-date-picker-pro__panel-time--title{display:flex;height:30px}.devui-date-picker-pro__panel-time--title-item{flex:1 1 0%;line-height:30px}.devui-date-picker-pro__panel-time .devui-time-list,.devui-date-picker-pro__panel-time .devui-time-list .time-item{border:none}.devui-date-picker-pro__panel-time .devui-time-list .time-item .time-ul .time-li{padding:0 7px;line-height:22px;height:22px;margin-bottom:8px}.devui-date-picker-pro__panel-time .devui-time-list .time-item .time-ul .time-li:hover{background-color:transparent}.devui-date-picker-pro__panel-time .devui-time-list .time-item .time-ul .time-li span{font-size:var(--devui-font-size-sm, 12px);border-radius:var(--devui-border-radius-feedback, 4px)}.devui-date-picker-pro__panel-time .devui-time-list .time-item .time-ul .time-li span:hover{background-color:var(--devui-list-item-hover-bg, #f2f2f3);color:var(--devui-list-item-hover-text, #252b3a)}.devui-date-picker-pro__panel-time .devui-time-list .time-item .time-ul .active-li{background-color:transparent}.devui-date-picker-pro__panel-time .devui-time-list .time-item .time-ul .active-li span,.devui-date-picker-pro__panel-time .devui-time-list .time-item .time-ul .active-li span:hover{background-color:var(--devui-list-item-active-bg, #f2f5fc);color:var(--devui-list-item-active-text, #252b3a)}.devui-range-date-picker-pro{display:inline-block;background-color:var(--devui-base-bg, #ffffff)}.devui-range-date-picker-pro.devui-range-date-picker-pro__range-width{width:300px}.devui-range-date-picker-pro.devui-range-date-picker-pro__range-time-width{width:400px}.devui-range-date-picker-pro .devui-range-date-picker-pro__range-picker{display:flex;justify-content:center;align-items:center;position:relative;box-sizing:border-box;width:100%;min-height:24px;border:1px solid var(--devui-form-control-line, #d7d8da);border-radius:var(--devui-border-radius, 4px);background-color:var(--devui-form-control-bg, #ffffff);transition:border-color .3s var(--devui-animation-ease-in-out-smooth, cubic-bezier(.645, .045, .355, 1))}.devui-range-date-picker-pro .devui-range-date-picker-pro__range-picker:not(.devui-range-date-picker-pro--error):not(.devui-range-date-picker-pro--disabled):hover{border-color:var(--devui-form-control-line-hover, #575d6c)}.devui-range-date-picker-pro .devui-range-date-picker-pro__range-picker .devui-range-date-picker-pro__input{flex:1 1}.devui-range-date-picker-pro .devui-range-date-picker-pro__range-picker .devui-input{display:inline-block;height:26px;width:100%}.devui-range-date-picker-pro .devui-range-date-picker-pro__range-picker .devui-input__wrapper{border:none}.devui-range-date-picker-pro .devui-range-date-picker-pro__range-picker .devui-input.devui-input--sm{height:24px}.devui-range-date-picker-pro .devui-range-date-picker-pro__range-picker .devui-input.devui-input--lg{height:44px}.devui-range-date-picker-pro .devui-range-date-picker-pro__range-picker .devui-range-date-picker-pro__start .devui-input--feedback{padding-right:0}.devui-range-date-picker-pro .devui-range-date-picker-pro__range-picker .devui-range-date-picker-pro__active-input .devui-input__inner{color:var(--devui-brand, #5e7ce0)}.devui-range-date-picker-pro .devui-range-date-picker-pro__range-picker .devui-range-date-picker-pro__normal-input .devui-input__inner{color:var(--devui-text, #252b3a)}.devui-range-date-picker-pro .devui-range-date-picker-pro__range-picker .devui-range-date-picker-pro__separator{display:inline-block;padding:0 4px}.devui-range-date-picker-pro .devui-range-date-picker-pro__range-picker .devui-input-slot__suffix{cursor:pointer}.devui-range-date-picker-pro .devui-range-date-picker-pro__range-picker-icon{display:inline-flex;align-items:center}.devui-range-date-picker-pro .devui-range-date-picker-pro__range-picker .close-icon{width:16px;height:16px;display:inline-flex;line-height:12px;align-items:center}.devui-range-date-picker-pro .devui-range-date-picker-pro__range-picker .close-icon svg path{fill:var(--devui-shape-icon-fill, #d7d8da)}.devui-range-date-picker-pro .devui-range-date-picker-pro__range-picker .close-icon:hover svg path{fill:var(--devui-shape-icon-fill-active, #babbc0)}.devui-range-date-picker-pro .devui-range-date-picker-pro__range-picker .devui-range-date-picker-pro--icon-visible{visibility:visible}.devui-range-date-picker-pro .devui-range-date-picker-pro__range-picker .devui-range-date-picker-pro--icon-hidden{visibility:hidden}.devui-range-date-picker-pro .devui-range-date-picker-pro__range-picker.devui-range-date-picker-pro--disabled{color:var(--devui-disabled-text, #adb0b8);border-color:var(--devui-disabled-line, #dfe1e6);background-color:var(--devui-disabled-bg, #f5f5f5);cursor:not-allowed}.devui-range-date-picker-pro .devui-range-date-picker-pro__range-picker.devui-range-date-picker-pro--disabled:hover{border-color:var(--devui-disabled-line, #dfe1e6)}.devui-range-date-picker-pro .devui-range-date-picker-pro__range-picker.devui-range-date-picker-pro--disabled .devui-input__inner{color:var(--devui-disabled-text, #adb0b8);cursor:not-allowed}.devui-range-date-picker-pro .devui-range-date-picker-pro__range-picker.devui-range-date-picker-pro--error{border-color:var(--devui-danger-line, #f66f6a);background-color:var(--devui-danger-bg, #ffeeed)}.devui-range-date-picker-pro--open .devui-range-date-picker-pro__range-picker{border-color:var(--devui-form-control-line-active, #5e7ce0)}.devui-range-date-picker-pro--open .devui-range-date-picker-pro__range-picker:not(.devui-range-date-picker-pro--error):not(.devui-range-date-picker-pro--disabled):hover{border-color:var(--devui-form-control-line-active, #5e7ce0)}.devui-date-picker-pro__year-calendar-panel{height:200px;width:204px;padding:8px 12px;font-size:var(--devui-font-size-sm, 12px)}.devui-date-picker-pro__year-calendar-panel .devui-date-picker-pro__year-list{width:184px;height:186px;overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.devui-date-picker-pro__year-calendar-panel .devui-date-picker-pro__year-list::-webkit-scrollbar{width:0}.devui-date-picker-pro__year-calendar-panel .devui-date-picker-pro__year-list .devui-date-picker-pro__year-list-item{display:flex;padding:4px 0;height:48px}.devui-date-picker-pro__year-calendar-panel .devui-date-picker-pro__year-list .devui-date-picker-pro__year-item-title{width:60px;height:40px;line-height:40px;text-align:center;cursor:pointer;border-radius:var(--devui-border-radius-feedback, 4px)}.devui-date-picker-pro__year-calendar-panel .devui-date-picker-pro__year-list .devui-date-picker-pro__year-item-title:hover:not(.devui-date-picker-pro__year-active):not(.devui-date-picker-pro__year-disabled){background-color:var(--devui-list-item-hover-bg, #f2f2f3)}.devui-date-picker-pro__year-calendar-panel .devui-date-picker-pro__year-list .devui-date-picker-pro__year-item-title.devui-date-picker-pro__this-year{color:var(--devui-brand, #5e7ce0)}.devui-date-picker-pro__year-calendar-panel .devui-date-picker-pro__year-list .devui-date-picker-pro__year-item-title.devui-date-picker-pro__year-active{background-color:var(--devui-list-item-active-bg, #f2f5fc);color:var(--devui-list-item-active-text, #252b3a)}.devui-date-picker-pro__year-calendar-panel .devui-date-picker-pro__year-list .devui-date-picker-pro__year-item-title.devui-date-picker-pro__year-in-range:not(.devui-date-picker-pro__year-active){background:var(--devui-list-item-hover-bg, #f2f2f3);border-radius:0}.devui-date-picker-pro__year-calendar-panel .devui-date-picker-pro__year-list .devui-date-picker-pro__year-item-title.devui-date-picker-pro__year-in-range:not(.devui-date-picker-pro__year-active):hover{background-color:var(--devui-range-item-hover-bg, #e9edfa);border-radius:var(--devui-border-radius-feedback, 4px)}.devui-date-picker-pro__year-calendar-panel .devui-date-picker-pro__year-list .devui-date-picker-pro__year-item-title.devui-date-picker-pro__year-start:not(.devui-date-picker-pro__year-end):not(:hover){border-radius:var(--devui-border-radius-feedback, 4px) 0 0 var(--devui-border-radius-feedback, 4px)}.devui-date-picker-pro__year-calendar-panel .devui-date-picker-pro__year-list .devui-date-picker-pro__year-item-title.devui-date-picker-pro__year-end:not(.devui-date-picker-pro__year-start):not(:hover){border-radius:0 var(--devui-border-radius-feedback, 4px) var(--devui-border-radius-feedback, 4px) 0}.devui-date-picker-pro__year-calendar-panel .devui-date-picker-pro__year-list .devui-date-picker-pro__year-item-title.devui-date-picker-pro__year-disabled{color:var(--devui-disabled-text, #adb0b8);cursor:not-allowed;border-radius:0}.devui-date-picker-pro__month-calendar-panel{height:300px;text-align:center;font-size:var(--devui-font-size-sm, 12px);display:flex}.devui-date-picker-pro__month-calendar-panel .devui-date-picker-pro__year-list{height:100%;overflow:auto;scrollbar-width:none;display:inline-block;width:80px;-ms-overflow-style:none}.devui-date-picker-pro__month-calendar-panel .devui-date-picker-pro__year-list::-webkit-scrollbar{width:0}.devui-date-picker-pro__month-calendar-panel .devui-date-picker-pro__year-list-item{background-color:var(--devui-global-bg, #f8f8fa);font-size:var(--devui-font-size-md, 14px);height:30px;line-height:30px;cursor:pointer}.devui-date-picker-pro__month-calendar-panel .devui-date-picker-pro__year-list-item.devui-date-picker-pro__year-item-active{background-color:var(--devui-base-bg, #ffffff)}.devui-date-picker-pro__month-calendar-panel .devui-date-picker-pro__year-list-item:hover:not(.devui-date-picker-pro__year-item-active){background-color:var(--devui-list-item-selected-bg, #f2f5fc)}.devui-date-picker-pro__month-calendar-panel .devui-date-picker-pro__month-wrapper{height:300px;width:208px;padding:4px;display:inline-block}.devui-date-picker-pro__month-calendar-panel .devui-date-picker-pro__month-wrapper .devui-date-picker-pro__month-list{height:100%;width:100%;overflow:auto;scrollbar-width:none}.devui-date-picker-pro__month-calendar-panel .devui-date-picker-pro__month-wrapper .devui-date-picker-pro__month-list::-webkit-scrollbar{width:0}.devui-date-picker-pro__month-calendar-panel .devui-date-picker-pro__month-wrapper .devui-date-picker-pro__month-list tr,.devui-date-picker-pro__month-calendar-panel .devui-date-picker-pro__month-wrapper .devui-date-picker-pro__month-list td{text-align:center;border:none;padding:0;font-size:var(--devui-font-size-sm, 12px)}.devui-date-picker-pro__month-calendar-panel .devui-date-picker-pro__month-wrapper .devui-date-picker-pro__table-month-title{text-align:start;line-height:26px;color:var(--devui-aide-text, #71757f);padding-left:8px}.devui-date-picker-pro__month-calendar-panel .devui-date-picker-pro__month-wrapper .devui-date-picker-pro__table-month-content{color:var(--devui-text, #252b3a);margin:0}.devui-date-picker-pro__month-calendar-panel .devui-date-picker-pro__month-wrapper .devui-date-picker-pro__table-month-content .devui-date-picker-pro__month-item{width:60px;height:40px;padding:4px 0;box-sizing:border-box;text-align:center;cursor:pointer}.devui-date-picker-pro__month-calendar-panel .devui-date-picker-pro__month-wrapper .devui-date-picker-pro__table-month-content .devui-date-picker-pro__month-item span{cursor:pointer;display:block;height:32px;line-height:32px;border-radius:var(--devui-border-radius-feedback, 4px)}.devui-date-picker-pro__month-calendar-panel .devui-date-picker-pro__month-wrapper .devui-date-picker-pro__table-month-content .devui-date-picker-pro__month-item:hover:not(.devui-date-picker-pro__month-active):not(.devui-date-picker-pro__month-disabled) span{background-color:var(--devui-list-item-hover-bg, #f2f2f3)}.devui-date-picker-pro__month-calendar-panel .devui-date-picker-pro__month-wrapper .devui-date-picker-pro__table-month-content .devui-date-picker-pro__month-item.devui-date-picker-pro__this-month span{color:var(--devui-brand, #5e7ce0)}.devui-date-picker-pro__month-calendar-panel .devui-date-picker-pro__month-wrapper .devui-date-picker-pro__table-month-content .devui-date-picker-pro__month-item.devui-date-picker-pro__month-active span{background-color:var(--devui-list-item-active-bg, #f2f5fc);color:var(--devui-list-item-active-text, #252b3a)}.devui-date-picker-pro__month-calendar-panel .devui-date-picker-pro__month-wrapper .devui-date-picker-pro__table-month-content .devui-date-picker-pro__month-item.devui-date-picker-pro__month-in-range:not(.devui-date-picker-pro__month-active) span{background:var(--devui-list-item-hover-bg, #f2f2f3);border-radius:0}.devui-date-picker-pro__month-calendar-panel .devui-date-picker-pro__month-wrapper .devui-date-picker-pro__table-month-content .devui-date-picker-pro__month-item.devui-date-picker-pro__month-in-range:not(.devui-date-picker-pro__month-active):hover span{background-color:var(--devui-range-item-hover-bg, #e9edfa);border-radius:var(--devui-border-radius-feedback, 4px)}.devui-date-picker-pro__month-calendar-panel .devui-date-picker-pro__month-wrapper .devui-date-picker-pro__table-month-content .devui-date-picker-pro__month-item.devui-date-picker-pro__month-start:not(.devui-date-picker-pro__month-end):not(:hover) span{border-radius:var(--devui-border-radius-feedback, 4px) 0 0 var(--devui-border-radius-feedback, 4px)}.devui-date-picker-pro__month-calendar-panel .devui-date-picker-pro__month-wrapper .devui-date-picker-pro__table-month-content .devui-date-picker-pro__month-item.devui-date-picker-pro__month-end:not(.devui-date-picker-pro__month-start):not(:hover) span{border-radius:0 var(--devui-border-radius-feedback, 4px) var(--devui-border-radius-feedback, 4px) 0}.devui-date-picker-pro__month-calendar-panel .devui-date-picker-pro__month-wrapper .devui-date-picker-pro__table-month-content .devui-date-picker-pro__month-item.devui-date-picker-pro__month-disabled{cursor:not-allowed}.devui-date-picker-pro__month-calendar-panel .devui-date-picker-pro__month-wrapper .devui-date-picker-pro__table-month-content .devui-date-picker-pro__month-item.devui-date-picker-pro__month-disabled span{color:var(--devui-disabled-text, #adb0b8);border-radius:0}
@@ -58,12 +58,36 @@ const drawerOverlayProps = {
58
58
  type: Function
59
59
  }
60
60
  };
61
+ function createBem(namespace, element, modifier) {
62
+ let cls = namespace;
63
+ if (element) {
64
+ cls += `__${element}`;
65
+ }
66
+ if (modifier) {
67
+ cls += `--${modifier}`;
68
+ }
69
+ return cls;
70
+ }
71
+ function useNamespace(block, needDot = false) {
72
+ const namespace = needDot ? `.devui-${block}` : `devui-${block}`;
73
+ const b = () => createBem(namespace);
74
+ const e = (element) => element ? createBem(namespace, element) : "";
75
+ const m = (modifier) => modifier ? createBem(namespace, "", modifier) : "";
76
+ const em = (element, modifier) => element && modifier ? createBem(namespace, element, modifier) : "";
77
+ return {
78
+ b,
79
+ e,
80
+ m,
81
+ em
82
+ };
83
+ }
61
84
  var drawerOverlay = "";
62
85
  var DrawerOverlay = defineComponent({
63
86
  name: "DDrawerOverlay",
64
87
  props: drawerOverlayProps,
65
88
  emits: ["click"],
66
89
  setup(props, ctx) {
90
+ const ns = useNamespace("drawer");
67
91
  const handleClick = (e) => {
68
92
  ctx.emit("click", e);
69
93
  };
@@ -71,7 +95,7 @@ var DrawerOverlay = defineComponent({
71
95
  "name": "drawer-overlay-fade"
72
96
  }, {
73
97
  default: () => [props.visible && createVNode("div", {
74
- "class": "devui-drawer-overlay",
98
+ "class": ns.e("overlay"),
75
99
  "onClick": handleClick
76
100
  }, null)]
77
101
  });
@@ -97,10 +121,11 @@ function lockScroll() {
97
121
  return;
98
122
  }
99
123
  function useDrawer(props, emit) {
124
+ const ns = useNamespace("drawer");
100
125
  const drawerRef = ref();
101
126
  const drawerClasses = computed(() => ({
102
- "devui-drawer": true,
103
- [`devui-drawer-${props.position}`]: true
127
+ [ns.b()]: true,
128
+ [ns.m(props.position)]: true
104
129
  }));
105
130
  const close = () => {
106
131
  emit("update:modelValue", false);
@@ -116,7 +141,7 @@ function useDrawer(props, emit) {
116
141
  const handleEscClose = (e) => {
117
142
  e.code === "Escape" && execClose();
118
143
  };
119
- onClickOutside(drawerRef, execClose);
144
+ onClickOutside(drawerRef, execClose, { capture: false });
120
145
  const removeBodyAdditions = () => {
121
146
  lockScrollCb == null ? void 0 : lockScrollCb();
122
147
  document.removeEventListener("keyup", handleEscClose);
@@ -1 +1 @@
1
- var x=Object.defineProperty;var C=Object.getOwnPropertySymbols;var N=Object.prototype.hasOwnProperty,T=Object.prototype.propertyIsEnumerable;var v=(n,e,r)=>e in n?x(n,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):n[e]=r,f=(n,e)=>{for(var r in e||(e={}))N.call(e,r)&&v(n,r,e[r]);if(C)for(var r of C(e))T.call(e,r)&&v(n,r,e[r]);return n};(function(n,e){typeof exports=="object"&&typeof module!="undefined"?e(exports,require("vue"),require("@vueuse/core")):typeof define=="function"&&define.amd?define(["exports","vue","@vueuse/core"],e):(n=typeof globalThis!="undefined"?globalThis:n||self,e(n.index={},n.Vue,n.core))})(this,function(n,e,r){"use strict";const h={modelValue:{type:Boolean,default:!1},zIndex:{type:Number,default:1e3},showOverlay:{type:Boolean,default:!0},escKeyCloseable:{type:Boolean,default:!0},position:{type:String,default:"right"},lockScroll:{type:Boolean,default:!0},closeOnClickOverlay:{type:Boolean,default:!0},beforeClose:{type:Function}},b={visible:{type:Boolean,default:!1},onClick:{type:Function}};var B="",V=e.defineComponent({name:"DDrawerOverlay",props:b,emits:["click"],setup(t,o){const l=c=>{o.emit("click",c)};return()=>e.createVNode(e.Transition,{name:"drawer-overlay-fade"},{default:()=>[t.visible&&e.createVNode("div",{class:"devui-drawer-overlay",onClick:l},null)]})}});function O(){if(document.documentElement.scrollHeight>document.documentElement.clientHeight){const t=document.documentElement.scrollTop,o=document.documentElement.getAttribute("style");return document.documentElement.style.position="fixed",document.documentElement.style.top=`-${t}px`,document.documentElement.style.width=document.documentElement.style.width||"100%",document.documentElement.style.overflowY="scroll",()=>{o?document.documentElement.setAttribute("style",o):document.documentElement.removeAttribute("style"),document.documentElement.scrollTop=t}}}function k(t,o){const l=e.ref(),c=e.computed(()=>({"devui-drawer":!0,[`devui-drawer-${t.position}`]:!0})),d=()=>{o("update:modelValue",!1),o("close")};let a;const u=()=>{t.beforeClose?t.beforeClose(d):d()},s=()=>{t.closeOnClickOverlay&&u()},p=m=>{m.code==="Escape"&&u()};r.onClickOutside(l,u);const w=()=>{a==null||a(),document.removeEventListener("keyup",p)};return e.watch(()=>t.modelValue,m=>{m?(o("open"),t.lockScroll&&(a=O()),t.escKeyCloseable&&document.addEventListener("keyup",p)):w()}),e.onUnmounted(w),{drawerRef:l,drawerClasses:c,handleOverlayClick:s}}var I="",i=e.defineComponent({name:"DDrawer",inheritAttrs:!1,props:h,emits:["close","update:modelValue","open"],setup(t,{emit:o,slots:l,attrs:c}){const{drawerRef:d,drawerClasses:a,handleOverlayClick:u}=k(t,o);return()=>e.createVNode(e.Teleport,{to:"body"},{default:()=>[t.showOverlay&&e.createVNode(V,{visible:t.modelValue,style:{zIndex:t.zIndex},onClick:u},null),e.createVNode(e.Transition,{name:`drawer-fly-${t.position}`},{default:()=>{var s;return[t.modelValue&&e.createVNode("div",e.mergeProps({ref:d,class:a.value,style:{zIndex:t.zIndex+1}},c),[(s=l.default)==null?void 0:s.call(l)])]}})]})}});function E(t){return typeof t=="function"||Object.prototype.toString.call(t)==="[object Object]"&&!e.isVNode(t)}const g={modelValue:!1,content:"",zIndex:1e3,showOverlay:!0,escKeyCloseable:!0,position:"right",lockScroll:!0,closeOnClickOverlay:!0};function D(t){const o=document.createElement("div"),l=t.content;delete t.content;const c=e.createApp({setup(){const d=()=>{t.modelValue=!1};return e.onUnmounted(()=>{document.body.removeChild(o)}),()=>e.createVNode(i,e.mergeProps(t,{"onUpdate:modelValue":d}),E(l)?l:{default:()=>[l]})}});return document.body.appendChild(o),c.mount(o),c}class y{open(o){const l=e.reactive(f(f({},g),o)),c=D(l);return l.modelValue=!0,{close:()=>{l.modelValue=!1,c.unmount()}}}}var S={title:"Drawer \u62BD\u5C49\u677F",category:"\u53CD\u9988",status:"75%",install(t){t.component(i.name,i),t.config.globalProperties.$drawerService=new y}};n.Drawer=i,n.DrawerService=y,n.default=S,Object.defineProperty(n,"__esModule",{value:!0}),n[Symbol.toStringTag]="Module"});
1
+ var T=Object.defineProperty;var h=Object.getOwnPropertySymbols;var I=Object.prototype.hasOwnProperty,$=Object.prototype.propertyIsEnumerable;var V=(l,t,a)=>t in l?T(l,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):l[t]=a,p=(l,t)=>{for(var a in t||(t={}))I.call(t,a)&&V(l,a,t[a]);if(h)for(var a of h(t))$.call(t,a)&&V(l,a,t[a]);return l};(function(l,t){typeof exports=="object"&&typeof module!="undefined"?t(exports,require("vue"),require("@vueuse/core")):typeof define=="function"&&define.amd?define(["exports","vue","@vueuse/core"],t):(l=typeof globalThis!="undefined"?globalThis:l||self,t(l.index={},l.Vue,l.core))})(this,function(l,t,a){"use strict";const O={modelValue:{type:Boolean,default:!1},zIndex:{type:Number,default:1e3},showOverlay:{type:Boolean,default:!0},escKeyCloseable:{type:Boolean,default:!0},position:{type:String,default:"right"},lockScroll:{type:Boolean,default:!0},closeOnClickOverlay:{type:Boolean,default:!0},beforeClose:{type:Function}},E={visible:{type:Boolean,default:!1},onClick:{type:Function}};function i(e,o,n){let r=e;return o&&(r+=`__${o}`),n&&(r+=`--${n}`),r}function w(e,o=!1){const n=o?`.devui-${e}`:`devui-${e}`;return{b:()=>i(n),e:c=>c?i(n,c):"",m:c=>c?i(n,"",c):"",em:(c,f)=>c&&f?i(n,c,f):""}}var z="",k=t.defineComponent({name:"DDrawerOverlay",props:E,emits:["click"],setup(e,o){const n=w("drawer"),r=d=>{o.emit("click",d)};return()=>t.createVNode(t.Transition,{name:"drawer-overlay-fade"},{default:()=>[e.visible&&t.createVNode("div",{class:n.e("overlay"),onClick:r},null)]})}});function g(){if(document.documentElement.scrollHeight>document.documentElement.clientHeight){const e=document.documentElement.scrollTop,o=document.documentElement.getAttribute("style");return document.documentElement.style.position="fixed",document.documentElement.style.top=`-${e}px`,document.documentElement.style.width=document.documentElement.style.width||"100%",document.documentElement.style.overflowY="scroll",()=>{o?document.documentElement.setAttribute("style",o):document.documentElement.removeAttribute("style"),document.documentElement.scrollTop=e}}}function D(e,o){const n=w("drawer"),r=t.ref(),d=t.computed(()=>({[n.b()]:!0,[n.m(e.position)]:!0})),s=()=>{o("update:modelValue",!1),o("close")};let u;const c=()=>{e.beforeClose?e.beforeClose(s):s()},f=()=>{e.closeOnClickOverlay&&c()},b=y=>{y.code==="Escape"&&c()};a.onClickOutside(r,c,{capture:!1});const v=()=>{u==null||u(),document.removeEventListener("keyup",b)};return t.watch(()=>e.modelValue,y=>{y?(o("open"),e.lockScroll&&(u=g()),e.escKeyCloseable&&document.addEventListener("keyup",b)):v()}),t.onUnmounted(v),{drawerRef:r,drawerClasses:d,handleOverlayClick:f}}var A="",m=t.defineComponent({name:"DDrawer",inheritAttrs:!1,props:O,emits:["close","update:modelValue","open"],setup(e,{emit:o,slots:n,attrs:r}){const{drawerRef:d,drawerClasses:s,handleOverlayClick:u}=D(e,o);return()=>t.createVNode(t.Teleport,{to:"body"},{default:()=>[e.showOverlay&&t.createVNode(k,{visible:e.modelValue,style:{zIndex:e.zIndex},onClick:u},null),t.createVNode(t.Transition,{name:`drawer-fly-${e.position}`},{default:()=>{var c;return[e.modelValue&&t.createVNode("div",t.mergeProps({ref:d,class:s.value,style:{zIndex:e.zIndex+1}},r),[(c=n.default)==null?void 0:c.call(n)])]}})]})}});function S(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!t.isVNode(e)}const x={modelValue:!1,content:"",zIndex:1e3,showOverlay:!0,escKeyCloseable:!0,position:"right",lockScroll:!0,closeOnClickOverlay:!0};function N(e){const o=document.createElement("div"),n=e.content;delete e.content;const r=t.createApp({setup(){const d=()=>{e.modelValue=!1};return t.onUnmounted(()=>{document.body.removeChild(o)}),()=>t.createVNode(m,t.mergeProps(e,{"onUpdate:modelValue":d}),S(n)?n:{default:()=>[n]})}});return document.body.appendChild(o),r.mount(o),r}class C{open(o){const n=t.reactive(p(p({},x),o)),r=N(n);return n.modelValue=!0,{close:()=>{n.modelValue=!1,r.unmount()}}}}var B={title:"Drawer \u62BD\u5C49\u677F",category:"\u53CD\u9988",status:"75%",install(e){e.component(m.name,m),e.config.globalProperties.$drawerService=new C}};l.Drawer=m,l.DrawerService=C,l.default=B,Object.defineProperty(l,"__esModule",{value:!0}),l[Symbol.toStringTag]="Module"});
package/drawer/style.css CHANGED
@@ -1 +1 @@
1
- .devui-drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:var(--devui-shadow, rgba(37, 43, 58, .2))}.drawer-overlay-fade-enter-active,.drawer-overlay-fade-leave-active{transition:opacity .1s linear}.drawer-overlay-fade-enter-from,.drawer-overlay-fade-leave-to{opacity:0}.devui-drawer{position:fixed;top:0;bottom:0;width:300px;border-radius:var(--devui-border-radius, 2px);background-color:var(--devui-base-bg, #ffffff);transform:translate(0);opacity:1;overflow:auto;box-shadow:var(--devui-shadow-fullscreen-overlay, 0 8px 40px 0) var(--devui-shadow, rgba(37, 43, 58, .2))}.devui-drawer-left{left:0}.devui-drawer-right{right:0}.drawer-fly-right-enter-active{transition:all .3s cubic-bezier(.16,.75,.5,1)}.drawer-fly-right-leave-active{transition:all .3s cubic-bezier(.5,0,.84,.25)}.drawer-fly-right-enter-from,.drawer-fly-right-leave-to{opacity:0;transform:translate(100%)}.drawer-fly-left-enter-active{transition:all .3s cubic-bezier(.16,.75,.5,1)}.drawer-fly-left-leave-active{transition:all .3s cubic-bezier(.5,0,.84,.25)}.drawer-fly-left-enter-from,.drawer-fly-left-leave-to{opacity:0;transform:translate(-100%)}
1
+ .devui-drawer__overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:var(--devui-shadow, rgba(37, 43, 58, .2))}.drawer-overlay-fade-enter-active,.drawer-overlay-fade-leave-active{transition:opacity .1s linear}.drawer-overlay-fade-enter-from,.drawer-overlay-fade-leave-to{opacity:0}.devui-drawer{position:fixed;top:0;bottom:0;width:300px;border-radius:var(--devui-border-radius, 4px);background-color:var(--devui-base-bg, #ffffff);transform:translate(0);opacity:1;overflow:auto;box-shadow:var(--devui-shadow-length-fullscreen-overlay, 0 12px 24px 0) var(--devui-shadow, rgba(37, 43, 58, .2))}.devui-drawer--left{left:0}.devui-drawer--right{right:0}.drawer-fly-right-enter-active{transition:all .3s cubic-bezier(.16,.75,.5,1)}.drawer-fly-right-leave-active{transition:all .3s cubic-bezier(.5,0,.84,.25)}.drawer-fly-right-enter-from,.drawer-fly-right-leave-to{opacity:0;transform:translate(100%)}.drawer-fly-left-enter-active{transition:all .3s cubic-bezier(.16,.75,.5,1)}.drawer-fly-left-leave-active{transition:all .3s cubic-bezier(.5,0,.84,.25)}.drawer-fly-left-enter-from,.drawer-fly-left-leave-to{opacity:0;transform:translate(-100%)}
@@ -17,7 +17,7 @@ var __spreadValues = (a, b) => {
17
17
  return a;
18
18
  };
19
19
  var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
- import { toRefs, watch, onMounted, onUnmounted, ref, computed, defineComponent, createVNode, Teleport, Transition, renderSlot, isVNode, unref, nextTick, mergeProps, Fragment, withDirectives, vShow } from "vue";
20
+ import { toRefs, watch, onMounted, onUnmounted, ref, computed, defineComponent, createVNode, Transition, mergeProps, unref, nextTick, Comment, Text, h, Fragment, inject, withDirectives, cloneVNode, provide, Teleport, vShow } from "vue";
21
21
  import { offset, autoPlacement, arrow, shift, computePosition } from "@floating-ui/dom";
22
22
  import { onClickOutside } from "@vueuse/core";
23
23
  const dropdownProps = {
@@ -65,6 +65,7 @@ const dropdownProps = {
65
65
  default: true
66
66
  }
67
67
  };
68
+ const POPPER_TRIGGER_TOKEN = Symbol("popper-trigger");
68
69
  function getElement(element) {
69
70
  if (element instanceof Element) {
70
71
  return element;
@@ -217,7 +218,7 @@ function useOverlayProps(props, currentPosition, isOpen) {
217
218
  [`${overlayClass.value}`]: true
218
219
  }));
219
220
  const handlePositionChange = (pos) => {
220
- currentPosition.value = pos.includes("top") || pos.includes("end") ? "top" : "bottom";
221
+ currentPosition.value = pos.includes("top") || pos.includes("right-end") || pos.includes("left-end") ? "top" : "bottom";
221
222
  };
222
223
  watch(isOpen, (isOpenVal) => {
223
224
  overlayModelValue.value = destroyOnHide.value ? isOpenVal : true;
@@ -225,132 +226,109 @@ function useOverlayProps(props, currentPosition, isOpen) {
225
226
  });
226
227
  return { overlayModelValue, overlayShowValue, styles, classes, handlePositionChange };
227
228
  }
228
- var baseOverlay = "";
229
- function _isSlot(s) {
230
- return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !isVNode(s);
231
- }
232
- const CommonOverlay = defineComponent({
233
- setup(props, ctx) {
234
- return () => {
235
- let _slot;
236
- return createVNode(Teleport, {
237
- "to": "#d-overlay-anchor"
238
- }, {
239
- default: () => [createVNode(Transition, {
240
- "name": "devui-overlay-fade"
241
- }, _isSlot(_slot = renderSlot(ctx.slots, "default")) ? _slot : {
242
- default: () => [_slot]
243
- })]
244
- });
245
- };
246
- }
247
- });
248
- const overlayProps = {
249
- visible: {
250
- type: Boolean
251
- },
252
- backgroundBlock: {
229
+ const fixedOverlayProps = {
230
+ modelValue: {
253
231
  type: Boolean,
254
232
  default: false
255
233
  },
256
- backgroundClass: {
257
- type: String,
258
- default: ""
259
- },
260
- backgroundStyle: {
261
- type: [String, Object]
262
- },
263
- onBackdropClick: {
264
- type: Function
265
- },
266
- backdropClose: {
234
+ lockScroll: {
267
235
  type: Boolean,
268
236
  default: true
269
237
  },
270
- hasBackdrop: {
238
+ closeOnClickOverlay: {
271
239
  type: Boolean,
272
240
  default: true
273
241
  }
274
242
  };
275
- const fixedOverlayProps = __spreadProps(__spreadValues({}, overlayProps), {
276
- overlayStyle: {
277
- type: [String, Object],
278
- default: void 0
243
+ function lockScroll() {
244
+ if (document.documentElement.scrollHeight > document.documentElement.clientHeight) {
245
+ const scrollTop = document.documentElement.scrollTop;
246
+ const style = document.documentElement.getAttribute("style");
247
+ document.documentElement.style.position = "fixed";
248
+ document.documentElement.style.top = `-${scrollTop}px`;
249
+ document.documentElement.style.width = document.documentElement.style.width || "100%";
250
+ document.documentElement.style.overflowY = "scroll";
251
+ return () => {
252
+ if (style) {
253
+ document.documentElement.setAttribute("style", style);
254
+ } else {
255
+ document.documentElement.removeAttribute("style");
256
+ }
257
+ document.documentElement.scrollTop = scrollTop;
258
+ };
279
259
  }
280
- });
281
- const overlayEmits = ["update:visible", "backdropClick"];
282
- function useOverlayLogic(props, ctx) {
283
- const backgroundClass = computed(() => {
284
- return [
285
- "devui-overlay-background",
286
- props.backgroundClass,
287
- !props.hasBackdrop ? "devui-overlay-background__disabled" : "devui-overlay-background__color"
288
- ];
289
- });
290
- const overlayClass = computed(() => {
291
- return "devui-overlay";
292
- });
293
- const handleBackdropClick = (event) => {
294
- var _a;
260
+ return;
261
+ }
262
+ function useFixedOverlay(props, ctx) {
263
+ let lockScrollCb;
264
+ const onClick = (event) => {
295
265
  event.preventDefault();
296
- (_a = props.onBackdropClick) == null ? void 0 : _a.call(props);
297
- if (props.backdropClose) {
298
- ctx.emit("update:visible", false);
266
+ ctx.emit("click", event);
267
+ if (props.closeOnClickOverlay) {
268
+ ctx.emit("update:modelValue", false);
299
269
  }
300
270
  };
301
- const handleOverlayBubbleCancel = (event) => event.cancelBubble = true;
302
- onMounted(() => {
303
- const body = document.body;
304
- const originOverflow = body.style.overflow;
305
- const originPosition = body.style.position;
306
- watch([() => props.visible, () => props.backgroundBlock], ([visible, backgroundBlock]) => {
307
- if (backgroundBlock) {
308
- const top = body.getBoundingClientRect().y;
309
- if (visible) {
310
- body.style.overflowY = "scroll";
311
- body.style.position = visible ? "fixed" : "";
312
- body.style.top = `${top}px`;
313
- } else {
314
- body.style.overflowY = originOverflow;
315
- body.style.position = originPosition;
316
- body.style.top = "";
317
- window.scrollTo(0, -top);
318
- }
319
- }
320
- });
321
- onUnmounted(() => {
322
- document.body.style.overflow = originOverflow;
323
- });
271
+ const removeBodyAdditions = () => {
272
+ lockScrollCb == null ? void 0 : lockScrollCb();
273
+ };
274
+ watch(() => props.modelValue, (val) => {
275
+ if (val) {
276
+ props.lockScroll && (lockScrollCb = lockScroll());
277
+ } else {
278
+ removeBodyAdditions();
279
+ }
324
280
  });
281
+ onUnmounted(removeBodyAdditions);
282
+ return { onClick };
283
+ }
284
+ function createBem(namespace, element, modifier) {
285
+ let cls = namespace;
286
+ if (element) {
287
+ cls += `__${element}`;
288
+ }
289
+ if (modifier) {
290
+ cls += `--${modifier}`;
291
+ }
292
+ return cls;
293
+ }
294
+ function useNamespace(block, needDot = false) {
295
+ const namespace = needDot ? `.devui-${block}` : `devui-${block}`;
296
+ const b = () => createBem(namespace);
297
+ const e = (element) => element ? createBem(namespace, element) : "";
298
+ const m = (modifier) => modifier ? createBem(namespace, "", modifier) : "";
299
+ const em = (element, modifier) => element && modifier ? createBem(namespace, element, modifier) : "";
325
300
  return {
326
- backgroundClass,
327
- overlayClass,
328
- handleBackdropClick,
329
- handleOverlayBubbleCancel
301
+ b,
302
+ e,
303
+ m,
304
+ em
330
305
  };
331
306
  }
332
307
  var fixedOverlay = "";
333
308
  defineComponent({
334
309
  name: "DFixedOverlay",
310
+ inheritAttrs: false,
335
311
  props: fixedOverlayProps,
336
- emits: overlayEmits,
312
+ emits: ["update:modelValue", "click"],
337
313
  setup(props, ctx) {
338
314
  const {
339
- backgroundClass,
340
- overlayClass,
341
- handleBackdropClick,
342
- handleOverlayBubbleCancel
343
- } = useOverlayLogic(props, ctx);
344
- return () => createVNode(CommonOverlay, null, {
345
- default: () => [props.visible && createVNode("div", {
346
- "class": backgroundClass.value,
347
- "style": props.backgroundStyle,
348
- "onClick": handleBackdropClick
349
- }, [createVNode("div", {
350
- "class": overlayClass.value,
351
- "style": props.overlayStyle,
352
- "onClick": handleOverlayBubbleCancel
353
- }, [renderSlot(ctx.slots, "default")])])]
315
+ modelValue
316
+ } = toRefs(props);
317
+ const ns2 = useNamespace("fixed-overlay");
318
+ const {
319
+ onClick
320
+ } = useFixedOverlay(props, ctx);
321
+ return () => createVNode(Transition, {
322
+ "name": ns2.m("fade")
323
+ }, {
324
+ default: () => {
325
+ var _a, _b;
326
+ return [modelValue.value && createVNode("div", mergeProps({
327
+ "class": ns2.b()
328
+ }, ctx.attrs, {
329
+ "onClick": onClick
330
+ }), [(_b = (_a = ctx.slots).default) == null ? void 0 : _b.call(_a)])];
331
+ }
354
332
  });
355
333
  }
356
334
  });
@@ -498,6 +476,7 @@ const FlexibleOverlay = defineComponent({
498
476
  emit,
499
477
  expose
500
478
  }) {
479
+ const ns2 = useNamespace("flexible-overlay");
501
480
  const {
502
481
  arrowRef,
503
482
  overlayRef,
@@ -510,14 +489,69 @@ const FlexibleOverlay = defineComponent({
510
489
  var _a;
511
490
  return props.modelValue && createVNode("div", mergeProps({
512
491
  "ref": overlayRef,
513
- "class": "devui-flexible-overlay"
492
+ "class": ns2.b()
514
493
  }, attrs), [(_a = slots.default) == null ? void 0 : _a.call(slots), props.showArrow && createVNode("div", {
515
494
  "ref": arrowRef,
516
- "class": "devui-flexible-overlay-arrow"
495
+ "class": ns2.e("arrow")
517
496
  }, null)]);
518
497
  };
519
498
  }
520
499
  });
500
+ const isObject = (val) => val !== null && typeof val === "object";
501
+ const ns = useNamespace("popper-trigger");
502
+ function wrapContent(content) {
503
+ return h("span", { class: ns.b() }, content);
504
+ }
505
+ function getFirstValidChild(nodes) {
506
+ for (const child of nodes) {
507
+ if (isObject(child)) {
508
+ if (child.type === Comment) {
509
+ continue;
510
+ }
511
+ if (child.type === "svg" || child.type === Text) {
512
+ return wrapContent(child);
513
+ }
514
+ if (child.type === Fragment) {
515
+ return getFirstValidChild(child.children);
516
+ }
517
+ return child;
518
+ }
519
+ return wrapContent(child);
520
+ }
521
+ return null;
522
+ }
523
+ var PopperTrigger = defineComponent({
524
+ name: "DPopperTrigger",
525
+ setup(_, ctx) {
526
+ const {
527
+ slots,
528
+ attrs
529
+ } = ctx;
530
+ return () => {
531
+ var _a;
532
+ const defaultSlot = (_a = slots.default) == null ? void 0 : _a.call(slots, attrs);
533
+ const triggerRef = inject(POPPER_TRIGGER_TOKEN);
534
+ if (!defaultSlot) {
535
+ return null;
536
+ }
537
+ const firstValidChild = getFirstValidChild(defaultSlot);
538
+ if (!firstValidChild) {
539
+ return null;
540
+ }
541
+ return withDirectives(cloneVNode(firstValidChild, attrs), [[{
542
+ mounted(el) {
543
+ triggerRef.value = el;
544
+ },
545
+ updated(el) {
546
+ triggerRef.value = el;
547
+ },
548
+ unmounted() {
549
+ triggerRef.value = null;
550
+ }
551
+ }]]);
552
+ };
553
+ }
554
+ });
521
555
  var dropdown = "";
522
556
  let dropdownId = 1;
523
557
  var Dropdown = defineComponent({
@@ -546,6 +580,8 @@ var Dropdown = defineComponent({
546
580
  const id = `dropdown_${dropdownId++}`;
547
581
  const isOpen = ref(false);
548
582
  const currentPosition = ref("bottom");
583
+ const ns2 = useNamespace("dropdown");
584
+ provide(POPPER_TRIGGER_TOKEN, origin);
549
585
  useDropdownEvent({
550
586
  id,
551
587
  isOpen,
@@ -572,41 +608,40 @@ var Dropdown = defineComponent({
572
608
  expose({
573
609
  updatePosition: () => overlayRef.value.updatePosition()
574
610
  });
575
- return () => {
576
- var _a;
577
- return createVNode(Fragment, null, [createVNode("div", {
578
- "ref": origin,
579
- "class": "devui-dropdown-toggle"
580
- }, [(_a = slots.default) == null ? void 0 : _a.call(slots)]), createVNode(Teleport, {
581
- "to": "body"
611
+ return () => createVNode(Fragment, null, [createVNode(PopperTrigger, null, {
612
+ default: () => {
613
+ var _a;
614
+ return [(_a = slots.default) == null ? void 0 : _a.call(slots)];
615
+ }
616
+ }), createVNode(Teleport, {
617
+ "to": "body"
618
+ }, {
619
+ default: () => [createVNode(Transition, {
620
+ "name": showAnimation.value ? ns2.m(`fade-${currentPosition.value}`) : ""
582
621
  }, {
583
- default: () => [createVNode(Transition, {
584
- "name": showAnimation.value ? `devui-dropdown-fade-${currentPosition.value}` : ""
622
+ default: () => [withDirectives(createVNode(FlexibleOverlay, {
623
+ "modelValue": overlayModelValue.value,
624
+ "onUpdate:modelValue": ($event) => overlayModelValue.value = $event,
625
+ "ref": overlayRef,
626
+ "origin": origin.value,
627
+ "position": position.value,
628
+ "align": align.value,
629
+ "offset": offset2.value,
630
+ "shiftOffset": shiftOffset == null ? void 0 : shiftOffset.value,
631
+ "onPositionChange": handlePositionChange,
632
+ "class": classes.value,
633
+ "style": styles.value
585
634
  }, {
586
- default: () => [withDirectives(createVNode(FlexibleOverlay, {
587
- "modelValue": overlayModelValue.value,
588
- "onUpdate:modelValue": ($event) => overlayModelValue.value = $event,
589
- "ref": overlayRef,
590
- "origin": origin.value,
591
- "position": position.value,
592
- "align": align.value,
593
- "offset": offset2.value,
594
- "shiftOffset": shiftOffset == null ? void 0 : shiftOffset.value,
595
- "onPositionChange": handlePositionChange,
596
- "class": classes.value,
597
- "style": styles.value
598
- }, {
599
- default: () => {
600
- var _a2;
601
- return [createVNode("div", mergeProps({
602
- "ref": dropdownRef,
603
- "class": "devui-dropdown-menu-wrap"
604
- }, attrs), [(_a2 = slots.menu) == null ? void 0 : _a2.call(slots)])];
605
- }
606
- }), [[vShow, overlayShowValue.value]])]
607
- })]
608
- })]);
609
- };
635
+ default: () => {
636
+ var _a;
637
+ return [createVNode("div", mergeProps({
638
+ "ref": dropdownRef,
639
+ "class": ns2.e("menu-wrap")
640
+ }, attrs), [(_a = slots.menu) == null ? void 0 : _a.call(slots)])];
641
+ }
642
+ }), [[vShow, overlayShowValue.value]])]
643
+ })]
644
+ })]);
610
645
  }
611
646
  });
612
647
  const dropdownMenuProps = {
@@ -664,6 +699,7 @@ var DropdownMenu = defineComponent({
664
699
  overlayClass
665
700
  } = toRefs(props);
666
701
  const dropdownMenuRef = ref(null);
702
+ const ns2 = useNamespace("dropdown");
667
703
  onClickOutside(dropdownMenuRef, (value) => {
668
704
  var _a, _b;
669
705
  if (((_a = clickOutside.value) == null ? void 0 : _a.call(clickOutside)) && !((_b = origin == null ? void 0 : origin.value) == null ? void 0 : _b.contains(value.target))) {
@@ -681,7 +717,7 @@ var DropdownMenu = defineComponent({
681
717
  "to": "body"
682
718
  }, {
683
719
  default: () => [createVNode(Transition, {
684
- "name": showAnimation.value ? `devui-dropdown-fade-${currentPosition.value}` : ""
720
+ "name": showAnimation.value ? ns2.m(`fade-${currentPosition.value}`) : ""
685
721
  }, {
686
722
  default: () => [createVNode(FlexibleOverlay, {
687
723
  "modelValue": modelValue.value,
@@ -698,7 +734,7 @@ var DropdownMenu = defineComponent({
698
734
  var _a;
699
735
  return [createVNode("div", mergeProps({
700
736
  "ref": dropdownMenuRef,
701
- "class": "devui-dropdown-menu-wrap"
737
+ "class": ns2.e("menu-wrap")
702
738
  }, attrs), [(_a = slots.default) == null ? void 0 : _a.call(slots)])];
703
739
  }
704
740
  })]
@@ -709,7 +745,7 @@ var DropdownMenu = defineComponent({
709
745
  var index = {
710
746
  title: "Dropdown \u4E0B\u62C9\u83DC\u5355",
711
747
  category: "\u5BFC\u822A",
712
- status: "10%",
748
+ status: "50%",
713
749
  install(app) {
714
750
  app.component(Dropdown.name, Dropdown);
715
751
  app.component(DropdownMenu.name, DropdownMenu);