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

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 (404) hide show
  1. package/README.md +94 -118
  2. package/alert/index.es.js +74 -45
  3. package/alert/index.umd.js +1 -1
  4. package/alert/style.css +1 -1
  5. package/auto-complete/index.es.js +8395 -463
  6. package/auto-complete/index.umd.js +40 -1
  7. package/auto-complete/style.css +1 -1
  8. package/avatar/index.es.js +153 -146
  9. package/avatar/index.umd.js +1 -1
  10. package/avatar/style.css +1 -1
  11. package/badge/index.es.js +45 -20
  12. package/badge/index.umd.js +1 -1
  13. package/badge/style.css +1 -1
  14. package/button/index.es.js +5751 -156
  15. package/button/index.umd.js +27 -1
  16. package/button/style.css +1 -1
  17. package/card/index.es.js +63 -35
  18. package/card/index.umd.js +1 -1
  19. package/card/style.css +1 -1
  20. package/checkbox/index.es.js +8110 -278
  21. package/checkbox/index.umd.js +38 -1
  22. package/checkbox/style.css +1 -1
  23. package/{accordion → collapse}/index.d.ts +0 -0
  24. package/collapse/index.es.js +195 -0
  25. package/collapse/index.umd.js +1 -0
  26. package/{back-top → collapse}/package.json +1 -1
  27. package/collapse/style.css +1 -0
  28. package/countdown/index.es.js +60 -19
  29. package/countdown/index.umd.js +1 -1
  30. package/{anchor → date-picker-pro}/index.d.ts +0 -0
  31. package/date-picker-pro/index.es.js +12035 -0
  32. package/date-picker-pro/index.umd.js +38 -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 +191 -5756
  36. package/drawer/index.umd.js +1 -27
  37. package/drawer/style.css +1 -1
  38. package/dropdown/index.es.js +616 -415
  39. package/dropdown/index.umd.js +1 -1
  40. package/dropdown/style.css +1 -1
  41. package/editable-select/index.es.js +779 -211
  42. package/editable-select/index.umd.js +1 -1
  43. package/editable-select/style.css +1 -1
  44. package/form/index.es.js +2405 -2125
  45. package/form/index.umd.js +28 -17
  46. package/form/style.css +1 -1
  47. package/fullscreen/index.es.js +137 -134
  48. package/fullscreen/index.umd.js +1 -1
  49. package/fullscreen/style.css +1 -1
  50. package/grid/index.es.js +105 -103
  51. package/grid/index.umd.js +1 -1
  52. package/grid/style.css +1 -1
  53. package/icon/index.es.js +199 -56
  54. package/icon/index.umd.js +1 -1
  55. package/icon/style.css +1 -0
  56. package/image-preview/index.es.js +67 -54
  57. package/image-preview/index.umd.js +1 -1
  58. package/image-preview/style.css +1 -1
  59. package/input/index.es.js +8268 -144
  60. package/input/index.umd.js +38 -1
  61. package/input/style.css +1 -1
  62. package/input-number/index.es.js +260 -192
  63. package/input-number/index.umd.js +1 -1
  64. package/input-number/style.css +1 -1
  65. package/layout/index.es.js +40 -25
  66. package/layout/index.umd.js +1 -1
  67. package/layout/style.css +1 -1
  68. package/loading/index.es.js +86 -70
  69. package/loading/index.umd.js +1 -1
  70. package/loading/style.css +1 -1
  71. package/{back-top → mention}/index.d.ts +0 -0
  72. package/{color-picker → mention}/index.es.js +3036 -2898
  73. package/mention/index.umd.js +47 -0
  74. package/{anchor → mention}/package.json +1 -1
  75. package/mention/style.css +1 -0
  76. package/{breadcrumb → menu}/index.d.ts +0 -0
  77. package/menu/index.es.js +891 -0
  78. package/menu/index.umd.js +1 -0
  79. package/{toast → menu}/package.json +1 -1
  80. package/menu/style.css +1 -0
  81. package/{carousel → message}/index.d.ts +0 -0
  82. package/message/index.es.js +533 -0
  83. package/message/index.umd.js +1 -0
  84. package/{comment → message}/package.json +1 -1
  85. package/message/style.css +1 -0
  86. package/modal/index.es.js +602 -1061
  87. package/modal/index.umd.js +1 -1
  88. package/modal/style.css +1 -1
  89. package/{cascader → notification}/index.d.ts +0 -0
  90. package/notification/index.es.js +528 -0
  91. package/notification/index.umd.js +1 -0
  92. package/{accordion → notification}/package.json +1 -1
  93. package/notification/style.css +1 -0
  94. package/nuxt/components/ButtonGroup.js +3 -0
  95. package/nuxt/components/CheckboxButton.js +3 -0
  96. package/nuxt/components/CheckboxGroup.js +3 -0
  97. package/nuxt/components/Collapse.js +3 -0
  98. package/nuxt/components/CollapseItem.js +3 -0
  99. package/nuxt/components/DRangeDatePickerPro.js +3 -0
  100. package/nuxt/components/DatePickerPro.js +3 -0
  101. package/nuxt/components/DropdownMenu.js +3 -0
  102. package/nuxt/components/DropdownPropsKey.js +3 -0
  103. package/nuxt/components/FORM_ITEM_TOKEN.js +3 -0
  104. package/nuxt/components/FORM_TOKEN.js +3 -0
  105. package/nuxt/components/IFileOptions.js +3 -0
  106. package/nuxt/components/IUploadOptions.js +3 -0
  107. package/nuxt/components/Icon.js +1 -0
  108. package/nuxt/components/IconGroup.js +3 -0
  109. package/nuxt/components/LABEL_DATA.js +3 -0
  110. package/nuxt/components/LoadingOptions.js +3 -0
  111. package/nuxt/components/Mention.js +3 -0
  112. package/nuxt/components/Menu.js +3 -0
  113. package/nuxt/components/MenuItem.js +3 -0
  114. package/nuxt/components/Message.js +3 -0
  115. package/nuxt/components/Notification.js +3 -0
  116. package/nuxt/components/NotificationService.js +3 -0
  117. package/nuxt/components/Option.js +3 -0
  118. package/nuxt/components/OptionGroup.js +3 -0
  119. package/nuxt/components/PanelBody.js +3 -0
  120. package/nuxt/components/PanelFooter.js +3 -0
  121. package/nuxt/components/PanelHeader.js +3 -0
  122. package/nuxt/components/RadioButton.js +3 -0
  123. package/nuxt/components/Step.js +3 -0
  124. package/nuxt/components/Steps.js +3 -0
  125. package/nuxt/components/SubMenu.js +3 -0
  126. package/nuxt/components/TABLE_TOKEN.js +3 -0
  127. package/nuxt/components/Tab.js +3 -0
  128. package/nuxt/components/TimeSelect.js +3 -0
  129. package/nuxt/components/Timeline.js +3 -0
  130. package/nuxt/components/TimelineItem.js +3 -0
  131. package/nuxt/components/UploadStatus.js +3 -0
  132. package/nuxt/components/alertProps.js +3 -0
  133. package/nuxt/components/animationInjectionKey.js +3 -0
  134. package/nuxt/components/autoCompleteProps.js +3 -0
  135. package/nuxt/components/avatarProps.js +3 -0
  136. package/nuxt/components/badgeProps.js +3 -0
  137. package/nuxt/components/buttonGroupInjectionKey.js +3 -0
  138. package/nuxt/components/buttonGroupProps.js +3 -0
  139. package/nuxt/components/cardProps.js +3 -0
  140. package/nuxt/components/checkboxGroupInjectionKey.js +3 -0
  141. package/nuxt/components/checkboxGroupProps.js +3 -0
  142. package/nuxt/components/checkboxProps.js +3 -0
  143. package/nuxt/components/colProps.js +3 -0
  144. package/nuxt/components/colPropsBaseClass.js +3 -0
  145. package/nuxt/components/colPropsBaseStyle.js +3 -0
  146. package/nuxt/components/collapseItemProps.js +3 -0
  147. package/nuxt/components/collapseProps.js +3 -0
  148. package/nuxt/components/countdownProps.js +3 -0
  149. package/nuxt/components/datePickerProCommonProps.js +3 -0
  150. package/nuxt/components/datePickerProPanelProps.js +3 -0
  151. package/nuxt/components/datePickerProProps.js +3 -0
  152. package/nuxt/components/dropdownMenuProps.js +3 -0
  153. package/nuxt/components/editableSelectProps.js +3 -0
  154. package/nuxt/components/fixedOverlayProps.js +3 -0
  155. package/nuxt/components/flexibleOverlayProps.js +3 -0
  156. package/nuxt/components/formItemProps.js +3 -0
  157. package/nuxt/components/formProps.js +3 -0
  158. package/nuxt/components/fullscreenProps.js +3 -0
  159. package/nuxt/components/iconProps.js +3 -0
  160. package/nuxt/components/imagePreviewProps.js +3 -0
  161. package/nuxt/components/inputProps.js +3 -0
  162. package/nuxt/components/loadingProps.js +3 -0
  163. package/nuxt/components/mentionProps.js +3 -0
  164. package/nuxt/components/messageProps.js +3 -0
  165. package/nuxt/components/modalProps.js +3 -0
  166. package/nuxt/components/notificationProps.js +3 -0
  167. package/nuxt/components/paginationProps.js +3 -0
  168. package/nuxt/components/panelProps.js +3 -0
  169. package/nuxt/components/popoverProps.js +3 -0
  170. package/nuxt/components/progressProps.js +3 -0
  171. package/nuxt/components/rateProps.js +3 -0
  172. package/nuxt/components/resultProps.js +3 -0
  173. package/nuxt/components/roundInjectionKey.js +3 -0
  174. package/nuxt/components/rowProps.js +3 -0
  175. package/nuxt/components/screenSizes.js +3 -0
  176. package/nuxt/components/searchProps.js +3 -0
  177. package/nuxt/components/skeletonItemProps.js +3 -0
  178. package/nuxt/components/skeletonProps.js +3 -0
  179. package/nuxt/components/sliderProps.js +3 -0
  180. package/nuxt/components/splitterProps.js +3 -0
  181. package/nuxt/components/statisticProps.js +3 -0
  182. package/nuxt/components/stepProps.js +3 -0
  183. package/nuxt/components/stepsProps.js +3 -0
  184. package/nuxt/components/svgIconProps.js +3 -0
  185. package/nuxt/components/switchProps.js +3 -0
  186. package/nuxt/components/tableProps.js +3 -0
  187. package/nuxt/components/tabsProps.js +3 -0
  188. package/nuxt/components/tagProps.js +3 -0
  189. package/nuxt/components/textareaProps.js +3 -0
  190. package/nuxt/components/timeAxisProps.js +3 -0
  191. package/nuxt/components/timerPickerPanelProps.js +3 -0
  192. package/nuxt/components/tooltipProps.js +3 -0
  193. package/nuxt/components/treeNodeProps.js +3 -0
  194. package/nuxt/components/treeProps.js +3 -0
  195. package/nuxt/components/uploadProps.js +3 -0
  196. package/overlay/index.es.js +239 -314
  197. package/overlay/index.umd.js +1 -1
  198. package/overlay/style.css +1 -1
  199. package/package.json +44 -87
  200. package/pagination/index.es.js +331 -153
  201. package/pagination/index.umd.js +1 -1
  202. package/pagination/style.css +1 -1
  203. package/panel/index.es.js +45 -32
  204. package/panel/index.umd.js +1 -1
  205. package/panel/style.css +1 -1
  206. package/popover/index.es.js +6034 -215
  207. package/popover/index.umd.js +27 -1
  208. package/popover/style.css +1 -1
  209. package/progress/index.es.js +110 -56
  210. package/progress/index.umd.js +3 -3
  211. package/progress/style.css +1 -1
  212. package/radio/index.es.js +8013 -180
  213. package/radio/index.umd.js +38 -1
  214. package/radio/style.css +1 -1
  215. package/rate/index.es.js +77 -55
  216. package/rate/index.umd.js +1 -1
  217. package/rate/style.css +1 -1
  218. package/result/index.es.js +186 -57
  219. package/result/index.umd.js +1 -1
  220. package/result/style.css +1 -1
  221. package/ripple/index.es.js +52 -60
  222. package/ripple/index.umd.js +1 -1
  223. package/search/index.es.js +3885 -1152
  224. package/search/index.umd.js +29 -18
  225. package/search/style.css +1 -1
  226. package/select/index.es.js +9235 -516
  227. package/select/index.umd.js +38 -1
  228. package/select/style.css +1 -1
  229. package/skeleton/index.es.js +113 -265
  230. package/skeleton/index.umd.js +1 -1
  231. package/skeleton/style.css +1 -1
  232. package/slider/index.es.js +144 -137
  233. package/slider/index.umd.js +1 -1
  234. package/slider/style.css +1 -1
  235. package/splitter/index.es.js +6219 -232
  236. package/splitter/index.umd.js +27 -1
  237. package/splitter/style.css +1 -1
  238. package/statistic/index.es.js +41 -55
  239. package/statistic/index.umd.js +1 -1
  240. package/statistic/style.css +1 -1
  241. package/status/index.es.js +27 -6
  242. package/status/index.umd.js +1 -1
  243. package/status/style.css +1 -1
  244. package/{color-picker → steps}/index.d.ts +0 -0
  245. package/steps/index.es.js +386 -0
  246. package/steps/index.umd.js +1 -0
  247. package/{gantt → steps}/package.json +1 -1
  248. package/steps/style.css +1 -0
  249. package/style.css +1 -1
  250. package/switch/index.es.js +7818 -64
  251. package/switch/index.umd.js +38 -1
  252. package/switch/style.css +1 -1
  253. package/table/index.es.js +11109 -1451
  254. package/table/index.umd.js +38 -1
  255. package/table/style.css +1 -1
  256. package/tabs/index.es.js +356 -144
  257. package/tabs/index.umd.js +1 -1
  258. package/tabs/style.css +1 -1
  259. package/tag/index.es.js +49 -24
  260. package/tag/index.umd.js +1 -1
  261. package/tag/style.css +1 -1
  262. package/textarea/index.es.js +7940 -83
  263. package/textarea/index.umd.js +46 -1
  264. package/textarea/style.css +1 -1
  265. package/time-picker/index.es.js +8953 -632
  266. package/time-picker/index.umd.js +38 -1
  267. package/time-picker/style.css +1 -1
  268. package/{comment → time-select}/index.d.ts +0 -0
  269. package/time-select/index.es.js +9606 -0
  270. package/time-select/index.umd.js +38 -0
  271. package/{breadcrumb → time-select}/package.json +1 -1
  272. package/time-select/style.css +1 -0
  273. package/{date-picker → timeline}/index.d.ts +0 -0
  274. package/timeline/index.es.js +427 -0
  275. package/timeline/index.umd.js +1 -0
  276. package/{carousel → timeline}/package.json +1 -1
  277. package/timeline/style.css +1 -0
  278. package/tooltip/index.es.js +5871 -96
  279. package/tooltip/index.umd.js +27 -1
  280. package/tooltip/style.css +1 -1
  281. package/tree/index.es.js +7601 -2508
  282. package/tree/index.umd.js +29 -18
  283. package/tree/style.css +1 -1
  284. package/upload/index.es.js +849 -6143
  285. package/upload/index.umd.js +1 -27
  286. package/upload/style.css +1 -1
  287. package/vue-devui.es.js +20537 -19051
  288. package/vue-devui.umd.js +41 -19
  289. package/accordion/index.es.js +0 -508
  290. package/accordion/index.umd.js +0 -1
  291. package/accordion/style.css +0 -1
  292. package/anchor/index.es.js +0 -263
  293. package/anchor/index.umd.js +0 -1
  294. package/anchor/style.css +0 -1
  295. package/back-top/index.es.js +0 -128
  296. package/back-top/index.umd.js +0 -1
  297. package/back-top/style.css +0 -1
  298. package/breadcrumb/index.es.js +0 -127
  299. package/breadcrumb/index.umd.js +0 -1
  300. package/breadcrumb/style.css +0 -1
  301. package/carousel/index.es.js +0 -329
  302. package/carousel/index.umd.js +0 -1
  303. package/carousel/style.css +0 -1
  304. package/cascader/index.es.js +0 -5963
  305. package/cascader/index.umd.js +0 -27
  306. package/cascader/package.json +0 -7
  307. package/cascader/style.css +0 -1
  308. package/color-picker/index.umd.js +0 -27
  309. package/color-picker/package.json +0 -7
  310. package/color-picker/style.css +0 -1
  311. package/comment/index.es.js +0 -86
  312. package/comment/index.umd.js +0 -1
  313. package/comment/style.css +0 -1
  314. package/date-picker/index.es.js +0 -1171
  315. package/date-picker/index.umd.js +0 -1
  316. package/date-picker/package.json +0 -7
  317. package/date-picker/style.css +0 -1
  318. package/dragdrop/index.d.ts +0 -7
  319. package/dragdrop/index.es.js +0 -157
  320. package/dragdrop/index.umd.js +0 -1
  321. package/dragdrop/package.json +0 -7
  322. package/gantt/index.d.ts +0 -7
  323. package/gantt/index.es.js +0 -523
  324. package/gantt/index.umd.js +0 -1
  325. package/gantt/style.css +0 -1
  326. package/input-icon/index.d.ts +0 -7
  327. package/input-icon/index.es.js +0 -331
  328. package/input-icon/index.umd.js +0 -1
  329. package/input-icon/package.json +0 -7
  330. package/input-icon/style.css +0 -1
  331. package/nav-sprite/index.d.ts +0 -7
  332. package/nav-sprite/index.es.js +0 -68
  333. package/nav-sprite/index.umd.js +0 -1
  334. package/nav-sprite/package.json +0 -7
  335. package/nuxt/components/Accordion.js +0 -3
  336. package/nuxt/components/Anchor.js +0 -3
  337. package/nuxt/components/BackTop.js +0 -3
  338. package/nuxt/components/Breadcrumb.js +0 -3
  339. package/nuxt/components/Carousel.js +0 -3
  340. package/nuxt/components/CarouselItem.js +0 -3
  341. package/nuxt/components/Cascader.js +0 -3
  342. package/nuxt/components/ColorPicker.js +0 -3
  343. package/nuxt/components/Comment.js +0 -3
  344. package/nuxt/components/DatePicker.js +0 -3
  345. package/nuxt/components/FormControl.js +0 -3
  346. package/nuxt/components/FormLabel.js +0 -3
  347. package/nuxt/components/Gantt.js +0 -3
  348. package/nuxt/components/InputIcon.js +0 -3
  349. package/nuxt/components/NavSprite.js +0 -2
  350. package/nuxt/components/QuadrantDiagram.js +0 -3
  351. package/nuxt/components/ReadTip.js +0 -3
  352. package/nuxt/components/StepsGuide.js +0 -3
  353. package/nuxt/components/StickSlider.js +0 -3
  354. package/nuxt/components/Sticky.js +0 -2
  355. package/nuxt/components/TagInput.js +0 -3
  356. package/nuxt/components/TimeAxis.js +0 -3
  357. package/nuxt/components/TimeAxisItem.js +0 -3
  358. package/nuxt/components/Toast.js +0 -3
  359. package/nuxt/components/ToastService.js +0 -3
  360. package/nuxt/components/Transfer.js +0 -3
  361. package/nuxt/components/TreeSelect.js +0 -3
  362. package/quadrant-diagram/index.d.ts +0 -7
  363. package/quadrant-diagram/index.es.js +0 -5728
  364. package/quadrant-diagram/index.umd.js +0 -27
  365. package/quadrant-diagram/package.json +0 -7
  366. package/quadrant-diagram/style.css +0 -1
  367. package/read-tip/index.d.ts +0 -7
  368. package/read-tip/index.es.js +0 -258
  369. package/read-tip/index.umd.js +0 -1
  370. package/read-tip/package.json +0 -7
  371. package/read-tip/style.css +0 -1
  372. package/steps-guide/index.d.ts +0 -7
  373. package/steps-guide/index.es.js +0 -239
  374. package/steps-guide/index.umd.js +0 -1
  375. package/steps-guide/package.json +0 -7
  376. package/steps-guide/style.css +0 -1
  377. package/sticky/index.d.ts +0 -7
  378. package/sticky/index.es.js +0 -197
  379. package/sticky/index.umd.js +0 -1
  380. package/sticky/package.json +0 -7
  381. package/tag-input/index.d.ts +0 -7
  382. package/tag-input/index.es.js +0 -329
  383. package/tag-input/index.umd.js +0 -1
  384. package/tag-input/package.json +0 -7
  385. package/tag-input/style.css +0 -1
  386. package/time-axis/index.d.ts +0 -7
  387. package/time-axis/index.es.js +0 -299
  388. package/time-axis/index.umd.js +0 -1
  389. package/time-axis/package.json +0 -7
  390. package/time-axis/style.css +0 -1
  391. package/toast/index.d.ts +0 -7
  392. package/toast/index.es.js +0 -5918
  393. package/toast/index.umd.js +0 -27
  394. package/toast/style.css +0 -1
  395. package/transfer/index.d.ts +0 -7
  396. package/transfer/index.es.js +0 -7340
  397. package/transfer/index.umd.js +0 -27
  398. package/transfer/package.json +0 -7
  399. package/transfer/style.css +0 -1
  400. package/tree-select/index.d.ts +0 -7
  401. package/tree-select/index.es.js +0 -623
  402. package/tree-select/index.umd.js +0 -1
  403. package/tree-select/package.json +0 -7
  404. package/tree-select/style.css +0 -1
package/form/style.css CHANGED
@@ -1 +1 @@
1
- .d-form{position:relative}.devui-popover{position:relative;display:inline-flex}.devui-popover.devui-popover-isVisible .devui-popover-content{display:inline-flex}.devui-popover .devui-popover-content{position:absolute;display:none;padding:5px 14px;align-items:center;flex-wrap:wrap;white-space:nowrap;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 .devui-popover-content .after{content:"";width:12px;height:12px;transform:rotate(45deg);position:absolute;background-color:var(--devui-feedback-overlay-bg, #464d6e)}.devui-popover .devui-popover-content.is-icon{flex-wrap:nowrap}.devui-popover .devui-popover-content .devui-popover-icon{margin-right:5px}@keyframes some-animation{0%{opacity:0;display:inline-flex}to{opacity:1}}.devui-popover.devui-popover-animation .devui-popover-content{animation:some-animation .5s var(--devui-animation-linear, cubic-bezier(0, 0, 1, 1)) 1 forwards}.devui-popover.left .devui-popover-content{left:-8px;top:0;transform:translate(-100%);top:50%;transform:translate(-100%,-50%)}.devui-popover.left .after{right:-6px;top:50%;margin-top:-6px;margin-left:-8px}.devui-popover.left-top .devui-popover-content{left:-8px;top:0;transform:translate(-100%)}.devui-popover.left-top .after{right:-6px;top:50%;margin-left:-8px;top:8px;margin-top:auto}.devui-popover.left-bottom .devui-popover-content{left:-8px;top:0;transform:translate(-100%);top:auto;bottom:0}.devui-popover.left-bottom .after{right:-6px;top:50%;margin-left:-8px;bottom:8px;margin-top:auto}.devui-popover.top .devui-popover-content{top:-8px;left:0;transform:translateY(-100%);left:50%;transform:translate(-50%,-100%)}.devui-popover.top .after{left:50%;bottom:-6px;margin-left:-6px}.devui-popover.top-left .devui-popover-content{top:-8px;left:0;transform:translateY(-100%)}.devui-popover.top-left .after{bottom:-6px;left:8px;margin-left:auto;margin-right:-6px}.devui-popover.top-right .devui-popover-content{top:-8px;left:0;transform:translateY(-100%);left:auto;right:0}.devui-popover.top-right .after{bottom:-6px;margin-left:-6px;right:8px}.devui-popover.right .devui-popover-content{right:-8px;top:50%;transform:translate(100%);transform:translate(100%,-50%)}.devui-popover.right .after{left:-6px;margin-right:-6px;top:8px;top:50%;margin-top:-6px}.devui-popover.right-top .devui-popover-content{right:-8px;top:50%;transform:translate(100%);top:0}.devui-popover.right-top .after{left:-6px;margin-right:-6px;top:8px}.devui-popover.right-bottom .devui-popover-content{right:-8px;top:50%;transform:translate(100%);bottom:0;top:auto}.devui-popover.right-bottom .after{left:-6px;margin-right:-6px;top:8px;top:auto;bottom:8px}.devui-popover.bottom .devui-popover-content{left:0;margin-bottom:-6px;transform:translateY(100%);left:50%;bottom:0;transform:translate(-50%,100%)}.devui-popover.bottom .after{left:8px;top:-6px;margin-bottom:-6px;left:50%;margin-right:auto;margin-left:-6px}.devui-popover.bottom-left .devui-popover-content{left:0;bottom:0;margin-bottom:-6px;transform:translateY(100%)}.devui-popover.bottom-left .after{left:8px;top:-6px;margin-bottom:-6px;margin-right:-6px}.devui-popover.bottom-right .devui-popover-content{left:0;bottom:0;margin-bottom:-6px;transform:translateY(100%);left:auto;right:0}.devui-popover.bottom-right .after{left:8px;top:-6px;margin-bottom:-6px;left:auto;margin-right:auto;right:8px;margin-left:-6px}.form-label{-moz-box-flex:1;text-align:left;padding-bottom:8px;justify-content:flex-start;align-self:flex-start;margin-right:16px}.form-label .devui-required{display:inline-flex;align-items:center}.form-label .devui-required:before{content:"*";color:red;display:inline-block;margin-right:8px;margin-left:-12px}.form-label_sm{width:80px;min-width:80px}.form-label_sd{width:100px;min-width:100px}.form-label_lg{width:150px;min-width:150px}.form-label_center{text-align:center}.form-label_end{text-align:end}.form-label-help{border-radius:50%;display:inline-flex;justify-content:center;align-items:center;position:relative;margin-left:10px}.form-item{display:flex;margin-bottom:20px}.form-item-vertical{flex-direction:column}.form-item-columns{flex-direction:column;display:inline-block!important}.column-item{margin-bottom:20px}.column-item .form-control{width:60%!important}.d-validate-tip-horizontal{margin-left:10px}.form-control{position:relative}.form-control .star{color:red}.form-control .devui-form-control-container{position:relative}.form-control .devui-form-control-container .feedback-status{position:absolute;top:50%;right:0;z-index:1;width:32px;height:16px;margin-top:-7px;line-height:16px;text-align:center;visibility:visible;pointer-events:none}.form-control .devui-form-control-container .devui-radio:not(:last-child){margin-bottom:20px}.form-control .devui-form-control-container-horizontal{display:flex}.form-control .devui-form-control-container-horizontal .devui-radio:not(:last-child){margin-bottom:0;margin-right:20px}.form-control .devui-form-control-container-horizontal .devui-checkbox-group>div:first-child{display:flex;align-items:center}.form-control .devui-form-control-container-horizontal .devui-checkbox-column-margin:not(:last-child){margin-right:20px}.form-control .devui-form-control-container-horizontal input,.form-control .devui-form-control-container-horizontal .devui-tags-host{width:200px}.form-control .devui-form-control-container-horizontal .d-validate-tip{margin:0 10px}.form-control .devui-control-content-wrapper .devui-popover-wrapper{position:absolute;width:100%;height:100%;left:0;top:0;z-index:9}.form-control .devui-control-content-wrapper .devui-popover-wrapper>div{width:inherit;height:100%}.form-control .with-popover{position:relative}.form-control .with-popover>div{z-index:10}.form-control .has-feedback{display:flex;align-items:center}.form-control .has-feedback input{padding-right:28px}.form-control .feedback-error{border:1px solid #f66f6a;border-radius:2px}.form-control .feedback-error input{background-color:#ffeeed;border-color:transparent}.form-control .feedback-error input:hover{border-color:transparent!important}.form-control .feedback-error input:focus{border-color:transparent!important}.form-control .feedback-error .devui-select-arrow{right:24px!important}.form-control .devui-form-control-extra-info{font-size:12px;color:#8a8e99;min-height:20px;line-height:1.5;text-align:justify}.form-operation .star{color:red}.d-validate-rules-error-pristine input{background-color:#ffeeed;border:1px solid #f66f6a}.d-validate-rules-error-pristine input:focus{border:1px solid #f66f6a!important}.d-validate-rules-error-pristine input:hover{border:1px solid #f66f6a!important}.d-validate-tip{display:flex;justify-content:center;align-items:center;font-size:12px;color:#f66f6a}
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}
@@ -1,146 +1,152 @@
1
- import { defineComponent, ref, onMounted, onBeforeUnmount, renderSlot, useSlots, createVNode } from "vue";
2
- var fullscreen = "";
1
+ import { toRefs, onMounted, onUnmounted, watch, defineComponent, ref, renderSlot, useSlots, createVNode } from "vue";
3
2
  const fullscreenProps = {
4
- fullscreenLaunch: {
5
- type: Function,
6
- default: void 0
3
+ modelValue: {
4
+ type: Boolean,
5
+ default: false
7
6
  },
8
7
  mode: {
9
8
  type: String,
10
- default: "immersive"
9
+ default: "normal"
11
10
  },
12
11
  zIndex: {
13
12
  type: Number,
14
13
  default: 10
15
14
  }
16
15
  };
16
+ const ESC_KEY_CODE = 27;
17
+ function useKeydown(props, ctx) {
18
+ const { modelValue } = toRefs(props);
19
+ const handleKeydown = (event) => {
20
+ if (event.keyCode === ESC_KEY_CODE && modelValue) {
21
+ ctx.emit("update:modelValue", false);
22
+ }
23
+ };
24
+ onMounted(() => {
25
+ document.addEventListener("keydown", handleKeydown);
26
+ });
27
+ onUnmounted(() => {
28
+ document.removeEventListener("keydown", handleKeydown);
29
+ });
30
+ }
31
+ function createBem(namespace, element, modifier) {
32
+ let cls = namespace;
33
+ if (element) {
34
+ cls += `__${element}`;
35
+ }
36
+ if (modifier) {
37
+ cls += `--${modifier}`;
38
+ }
39
+ return cls;
40
+ }
41
+ function useNamespace(block, needDot = false) {
42
+ const namespace = needDot ? `.devui-${block}` : `devui-${block}`;
43
+ const b = () => createBem(namespace);
44
+ const e = (element) => element ? createBem(namespace, element) : "";
45
+ const m = (modifier) => modifier ? createBem(namespace, "", modifier) : "";
46
+ const em = (element, modifier) => element && modifier ? createBem(namespace, element, modifier) : "";
47
+ return {
48
+ b,
49
+ e,
50
+ m,
51
+ em
52
+ };
53
+ }
54
+ const ns = useNamespace("fullscreen");
55
+ const launchNormalFullscreen = (targetElement, props) => {
56
+ targetElement.classList.add(ns.b());
57
+ if (props.zIndex) {
58
+ targetElement.setAttribute("style", `z-index: ${props.zIndex}`);
59
+ }
60
+ };
61
+ const exitNormalFullscreen = (targetElement) => {
62
+ targetElement.classList.remove(ns.b());
63
+ targetElement.style.zIndex = "";
64
+ };
65
+ const launchImmersiveFullScreen = async (docElement) => {
66
+ let fullscreenLaunch = null;
67
+ if (docElement.requestFullscreen) {
68
+ fullscreenLaunch = docElement.requestFullscreen();
69
+ } else if (docElement.mozRequestFullScreen) {
70
+ fullscreenLaunch = docElement.mozRequestFullScreen();
71
+ } else if (docElement.webkitRequestFullScreen) {
72
+ fullscreenLaunch = Promise.resolve(docElement.webkitRequestFullScreen());
73
+ } else if (docElement.msRequestFullscreen) {
74
+ fullscreenLaunch = Promise.resolve(docElement.msRequestFullscreen());
75
+ }
76
+ return await (fullscreenLaunch == null ? void 0 : fullscreenLaunch.then(() => !!document.fullscreenElement));
77
+ };
78
+ const exitImmersiveFullScreen = async (doc) => {
79
+ let fullscreenExit = null;
80
+ if (doc.exitFullscreen) {
81
+ fullscreenExit = doc.exitFullscreen();
82
+ } else if (doc.mozCancelFullScreen) {
83
+ fullscreenExit = doc.mozCancelFullScreen();
84
+ } else if (doc.webkitCancelFullScreen) {
85
+ fullscreenExit = Promise.resolve(doc.webkitCancelFullScreen());
86
+ } else if (doc.msExitFullscreen) {
87
+ fullscreenExit = Promise.resolve(doc.msExitFullscreen());
88
+ }
89
+ return await (fullscreenExit == null ? void 0 : fullscreenExit.then(() => !!document.fullscreenElement));
90
+ };
91
+ const addFullScreenStyle = () => {
92
+ document.getElementsByTagName("html")[0].classList.add(ns.e("html"));
93
+ };
94
+ const removeFullScreenStyle = () => {
95
+ document.getElementsByTagName("html")[0].classList.remove(ns.e("html"));
96
+ };
97
+ function useFullscreen(props, slotElement, ctx) {
98
+ const { modelValue, mode } = toRefs(props);
99
+ let exitByKeydown = false;
100
+ const handleNormalFullscreen = (isOpen) => {
101
+ if (isOpen) {
102
+ launchNormalFullscreen(slotElement.value, props);
103
+ addFullScreenStyle();
104
+ } else {
105
+ exitNormalFullscreen(slotElement.value);
106
+ removeFullScreenStyle();
107
+ }
108
+ };
109
+ const handleImmersiveFullscreen = (isOpen) => {
110
+ if (isOpen) {
111
+ launchImmersiveFullScreen(slotElement.value);
112
+ } else {
113
+ if (!exitByKeydown) {
114
+ exitImmersiveFullScreen(document);
115
+ }
116
+ }
117
+ };
118
+ watch(modelValue, (newVal) => {
119
+ if (mode.value === "normal") {
120
+ handleNormalFullscreen(newVal);
121
+ }
122
+ if (mode.value === "immersive") {
123
+ handleImmersiveFullscreen(newVal);
124
+ }
125
+ });
126
+ const handleFullscreenChange = () => {
127
+ if (!document.fullscreenElement) {
128
+ ctx.emit("update:modelValue");
129
+ exitByKeydown = true;
130
+ } else {
131
+ exitByKeydown = false;
132
+ }
133
+ };
134
+ onMounted(() => {
135
+ document.addEventListener("fullscreenchange", handleFullscreenChange);
136
+ });
137
+ onUnmounted(() => {
138
+ document.removeEventListener("fullscreenchange", handleFullscreenChange);
139
+ });
140
+ }
141
+ var fullscreen = "";
17
142
  var Fullscreen = defineComponent({
18
143
  name: "DFullscreen",
19
144
  props: fullscreenProps,
20
- emits: ["fullscreenLaunch"],
145
+ emits: ["update:modelValue"],
21
146
  setup(props, ctx) {
22
- let currentTarget = null;
23
- const isFullscreen = ref(false);
24
- const slotElement = ref(null);
25
- const onFullScreenChange = () => {
26
- if (currentTarget) {
27
- const targetElement = currentTarget;
28
- if (document.fullscreenElement) {
29
- addFullScreenStyle();
30
- launchNormalFullscreen(targetElement);
31
- } else {
32
- removeFullScreenStyle();
33
- currentTarget = null;
34
- exitNormalFullscreen(targetElement);
35
- }
36
- isFullscreen.value = !!document.fullscreenElement;
37
- ctx.emit("fullscreenLaunch", isFullscreen.value);
38
- }
39
- };
40
- const launchNormalFullscreen = (targetElement) => {
41
- targetElement.classList.add("fullscreen");
42
- if (props.zIndex) {
43
- targetElement.setAttribute("style", `z-index: ${props.zIndex}`);
44
- }
45
- };
46
- const exitNormalFullscreen = (targetElement) => {
47
- targetElement.classList.remove("fullscreen");
48
- targetElement.style.zIndex = null;
49
- };
50
- const handleFullscreen = async () => {
51
- const targetElement = slotElement.value.querySelector("[fullscreen-target]");
52
- let isFull = false;
53
- if (props.mode === "normal") {
54
- const fullscreen2 = targetElement.classList.contains("fullscreen");
55
- if (!fullscreen2) {
56
- addFullScreenStyle();
57
- launchNormalFullscreen(targetElement);
58
- isFull = true;
59
- } else {
60
- removeFullScreenStyle();
61
- exitNormalFullscreen(targetElement);
62
- isFull = false;
63
- }
64
- } else {
65
- currentTarget = targetElement;
66
- if (document.fullscreenElement || document.msFullscreenElement || document.webkitFullscreenElement) {
67
- isFull = await exitImmersiveFullScreen(document);
68
- } else {
69
- isFull = await launchImmersiveFullScreen(currentTarget);
70
- }
71
- }
72
- isFullscreen.value = isFull;
73
- ctx.emit("fullscreenLaunch", isFullscreen.value);
74
- };
75
- const addFullScreenStyle = () => {
76
- document.getElementsByTagName("html")[0].classList.add("devui-fullscreen");
77
- };
78
- const removeFullScreenStyle = () => {
79
- document.getElementsByTagName("html")[0].classList.remove("devui-fullscreen");
80
- };
81
- const exitImmersiveFullScreen = async (doc) => {
82
- let fullscreenExit = null;
83
- if (doc.exitFullscreen) {
84
- fullscreenExit = doc.exitFullscreen();
85
- } else if (doc.mozCancelFullScreen) {
86
- fullscreenExit = doc.mozCancelFullScreen();
87
- } else if (doc.webkitCancelFullScreen) {
88
- fullscreenExit = Promise.resolve(doc.webkitCancelFullScreen());
89
- } else if (doc.msExitFullscreen) {
90
- fullscreenExit = Promise.resolve(doc.msExitFullscreen());
91
- }
92
- return await fullscreenExit.then(() => !!document.fullscreenElement);
93
- };
94
- const launchImmersiveFullScreen = async (docElement) => {
95
- let fullscreenLaunch = null;
96
- if (docElement.requestFullscreen) {
97
- fullscreenLaunch = docElement.requestFullscreen();
98
- } else if (docElement.mozRequestFullScreen) {
99
- fullscreenLaunch = docElement.mozRequestFullScreen();
100
- } else if (docElement.webkitRequestFullScreen) {
101
- fullscreenLaunch = Promise.resolve(docElement.webkitRequestFullScreen());
102
- } else if (docElement.msRequestFullscreen) {
103
- fullscreenLaunch = Promise.resolve(docElement.msRequestFullscreen());
104
- }
105
- return await fullscreenLaunch.then(() => !!document.fullscreenElement);
106
- };
107
- const handleKeyDown = (event) => {
108
- if (event.keyCode === 27) {
109
- if (isFullscreen.value) {
110
- const targetElement = slotElement.value.querySelector("[fullscreen-target]");
111
- if (props.mode === "normal") {
112
- removeFullScreenStyle();
113
- exitNormalFullscreen(targetElement);
114
- } else {
115
- if (document.fullscreenElement) {
116
- exitImmersiveFullScreen(document);
117
- }
118
- }
119
- isFullscreen.value = false;
120
- ctx.emit("fullscreenLaunch", isFullscreen.value);
121
- }
122
- }
123
- };
124
- onMounted(() => {
125
- const btnLaunch = slotElement.value.querySelector("[fullscreen-launch]");
126
- if (btnLaunch) {
127
- btnLaunch.addEventListener("click", handleFullscreen);
128
- }
129
- document.addEventListener("fullscreenchange", onFullScreenChange);
130
- document.addEventListener("MSFullscreenChange", onFullScreenChange);
131
- document.addEventListener("webkitfullscreenchange", onFullScreenChange);
132
- document.addEventListener("keydown", handleKeyDown);
133
- });
134
- onBeforeUnmount(() => {
135
- const btnLaunch = slotElement.value.querySelector("[fullscreen-launch]");
136
- if (btnLaunch) {
137
- btnLaunch.removeEventListener("click", handleFullscreen);
138
- }
139
- document.removeEventListener("fullscreenchange", onFullScreenChange);
140
- document.removeEventListener("MSFullscreenChange", onFullScreenChange);
141
- document.removeEventListener("webkitfullscreenchange", onFullScreenChange);
142
- document.removeEventListener("keydown", handleKeyDown);
143
- });
147
+ const slotElement = ref();
148
+ useFullscreen(props, slotElement, ctx);
149
+ useKeydown(props, ctx);
144
150
  return () => {
145
151
  const defaultSlot = renderSlot(useSlots(), "default");
146
152
  return createVNode("div", {
@@ -149,15 +155,12 @@ var Fullscreen = defineComponent({
149
155
  };
150
156
  }
151
157
  });
152
- Fullscreen.install = function(app) {
153
- app.component(Fullscreen.name, Fullscreen);
154
- };
155
158
  var index = {
156
159
  title: "Fullscreen \u5168\u5C4F",
157
160
  category: "\u901A\u7528",
158
161
  status: "100%",
159
162
  install(app) {
160
- app.use(Fullscreen);
163
+ app.component(Fullscreen.name, Fullscreen);
161
164
  }
162
165
  };
163
- export { Fullscreen, index as default };
166
+ export { Fullscreen, index as default, fullscreenProps };
@@ -1 +1 @@
1
- (function(t,n){typeof exports=="object"&&typeof module!="undefined"?n(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],n):(t=typeof globalThis!="undefined"?globalThis:t||self,n(t.index={},t.Vue))})(this,function(t,n){"use strict";var E="";const y={fullscreenLaunch:{type:Function,default:void 0},mode:{type:String,default:"immersive"},zIndex:{type:Number,default:10}};var c=n.defineComponent({name:"DFullscreen",props:y,emits:["fullscreenLaunch"],setup(u,o){let i=null;const s=n.ref(!1),a=n.ref(null),r=()=>{if(i){const e=i;document.fullscreenElement?(F(),d(e)):(m(),i=null,f(e)),s.value=!!document.fullscreenElement,o.emit("fullscreenLaunch",s.value)}},d=e=>{e.classList.add("fullscreen"),u.zIndex&&e.setAttribute("style",`z-index: ${u.zIndex}`)},f=e=>{e.classList.remove("fullscreen"),e.style.zIndex=null},v=async()=>{const e=a.value.querySelector("[fullscreen-target]");let l=!1;u.mode==="normal"?e.classList.contains("fullscreen")?(m(),f(e),l=!1):(F(),d(e),l=!0):(i=e,document.fullscreenElement||document.msFullscreenElement||document.webkitFullscreenElement?l=await h(document):l=await g(i)),s.value=l,o.emit("fullscreenLaunch",s.value)},F=()=>{document.getElementsByTagName("html")[0].classList.add("devui-fullscreen")},m=()=>{document.getElementsByTagName("html")[0].classList.remove("devui-fullscreen")},h=async e=>{let l=null;return e.exitFullscreen?l=e.exitFullscreen():e.mozCancelFullScreen?l=e.mozCancelFullScreen():e.webkitCancelFullScreen?l=Promise.resolve(e.webkitCancelFullScreen()):e.msExitFullscreen&&(l=Promise.resolve(e.msExitFullscreen())),await l.then(()=>!!document.fullscreenElement)},g=async e=>{let l=null;return e.requestFullscreen?l=e.requestFullscreen():e.mozRequestFullScreen?l=e.mozRequestFullScreen():e.webkitRequestFullScreen?l=Promise.resolve(e.webkitRequestFullScreen()):e.msRequestFullscreen&&(l=Promise.resolve(e.msRequestFullscreen())),await l.then(()=>!!document.fullscreenElement)},S=e=>{if(e.keyCode===27&&s.value){const l=a.value.querySelector("[fullscreen-target]");u.mode==="normal"?(m(),f(l)):document.fullscreenElement&&h(document),s.value=!1,o.emit("fullscreenLaunch",s.value)}};return n.onMounted(()=>{const e=a.value.querySelector("[fullscreen-launch]");e&&e.addEventListener("click",v),document.addEventListener("fullscreenchange",r),document.addEventListener("MSFullscreenChange",r),document.addEventListener("webkitfullscreenchange",r),document.addEventListener("keydown",S)}),n.onBeforeUnmount(()=>{const e=a.value.querySelector("[fullscreen-launch]");e&&e.removeEventListener("click",v),document.removeEventListener("fullscreenchange",r),document.removeEventListener("MSFullscreenChange",r),document.removeEventListener("webkitfullscreenchange",r),document.removeEventListener("keydown",S)}),()=>{const e=n.renderSlot(n.useSlots(),"default");return n.createVNode("div",{ref:a},[e])}}});c.install=function(u){u.component(c.name,c)};var L={title:"Fullscreen \u5168\u5C4F",category:"\u901A\u7528",status:"100%",install(u){u.use(c)}};t.Fullscreen=c,t.default=L,Object.defineProperty(t,"__esModule",{value:!0}),t[Symbol.toStringTag]="Module"});
1
+ (function(r,n){typeof exports=="object"&&typeof module!="undefined"?n(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],n):(r=typeof globalThis!="undefined"?globalThis:r||self,n(r.index={},r.Vue))})(this,function(r,n){"use strict";const F={modelValue:{type:Boolean,default:!1},mode:{type:String,default:"normal"},zIndex:{type:Number,default:10}},v=27;function S(e,l){const{modelValue:t}=n.toRefs(e),s=c=>{c.keyCode===v&&t&&l.emit("update:modelValue",!1)};n.onMounted(()=>{document.addEventListener("keydown",s)}),n.onUnmounted(()=>{document.removeEventListener("keydown",s)})}function i(e,l,t){let s=e;return l&&(s+=`__${l}`),t&&(s+=`--${t}`),s}function h(e,l=!1){const t=l?`.devui-${e}`:`devui-${e}`;return{b:()=>i(t),e:u=>u?i(t,u):"",m:u=>u?i(t,"",u):"",em:(u,a)=>u&&a?i(t,u,a):""}}const m=h("fullscreen"),p=(e,l)=>{e.classList.add(m.b()),l.zIndex&&e.setAttribute("style",`z-index: ${l.zIndex}`)},x=e=>{e.classList.remove(m.b()),e.style.zIndex=""},b=async e=>{let l=null;return e.requestFullscreen?l=e.requestFullscreen():e.mozRequestFullScreen?l=e.mozRequestFullScreen():e.webkitRequestFullScreen?l=Promise.resolve(e.webkitRequestFullScreen()):e.msRequestFullscreen&&(l=Promise.resolve(e.msRequestFullscreen())),await(l==null?void 0:l.then(()=>!!document.fullscreenElement))},w=async e=>{let l=null;return e.exitFullscreen?l=e.exitFullscreen():e.mozCancelFullScreen?l=e.mozCancelFullScreen():e.webkitCancelFullScreen?l=Promise.resolve(e.webkitCancelFullScreen()):e.msExitFullscreen&&(l=Promise.resolve(e.msExitFullscreen())),await(l==null?void 0:l.then(()=>!!document.fullscreenElement))},C=()=>{document.getElementsByTagName("html")[0].classList.add(m.e("html"))},q=()=>{document.getElementsByTagName("html")[0].classList.remove(m.e("html"))};function z(e,l,t){const{modelValue:s,mode:c}=n.toRefs(e);let d=!1;const y=o=>{o?(p(l.value,e),C()):(x(l.value),q())},u=o=>{o?b(l.value):d||w(document)};n.watch(s,o=>{c.value==="normal"&&y(o),c.value==="immersive"&&u(o)});const a=()=>{document.fullscreenElement?d=!1:(t.emit("update:modelValue"),d=!0)};n.onMounted(()=>{document.addEventListener("fullscreenchange",a)}),n.onUnmounted(()=>{document.removeEventListener("fullscreenchange",a)})}var N="",f=n.defineComponent({name:"DFullscreen",props:F,emits:["update:modelValue"],setup(e,l){const t=n.ref();return z(e,t,l),S(e,l),()=>{const s=n.renderSlot(n.useSlots(),"default");return n.createVNode("div",{ref:t},[s])}}}),g={title:"Fullscreen \u5168\u5C4F",category:"\u901A\u7528",status:"100%",install(e){e.component(f.name,f)}};r.Fullscreen=f,r.default=g,r.fullscreenProps=F,Object.defineProperties(r,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
@@ -1 +1 @@
1
- .fullscreen{position:fixed;top:0;left:0;width:100%;height:100%;z-index:10;overflow:auto;background-color:var(--devui-base-bg, #ffffff)}.devui-fullscreen{overflow:hidden}:not(:root):fullscreen::backdrop{background:#ffffff}
1
+ .devui-fullscreen{position:fixed;top:0;left:0;width:100%;height:100%;z-index:10;overflow:auto;background-color:var(--devui-base-bg, #ffffff)}.devui-fullscreen__html{overflow:hidden}:not(:root):fullscreen::backdrop{background:var(--devui-base-bg, #ffffff)}
package/grid/index.es.js CHANGED
@@ -1,20 +1,4 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
3
- var __hasOwnProp = Object.prototype.hasOwnProperty;
4
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
5
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
6
- var __spreadValues = (a, b) => {
7
- for (var prop in b || (b = {}))
8
- if (__hasOwnProp.call(b, prop))
9
- __defNormalProp(a, prop, b[prop]);
10
- if (__getOwnPropSymbols)
11
- for (var prop of __getOwnPropSymbols(b)) {
12
- if (__propIsEnum.call(b, prop))
13
- __defNormalProp(a, prop, b[prop]);
14
- }
15
- return a;
16
- };
17
- import { computed, defineComponent, ref, onMounted, onUnmounted, provide, createVNode, inject } from "vue";
1
+ import { defineComponent, ref, computed, onMounted, onUnmounted, provide, createVNode, inject } from "vue";
18
2
  const rowProps = {
19
3
  align: {
20
4
  type: String,
@@ -33,15 +17,6 @@ const rowProps = {
33
17
  default: false
34
18
  }
35
19
  };
36
- const screenSizesProp = [Number, Object];
37
- const screenSizes = {
38
- xs: screenSizesProp,
39
- sm: screenSizesProp,
40
- md: screenSizesProp,
41
- lg: screenSizesProp,
42
- xl: screenSizesProp,
43
- xxl: screenSizesProp
44
- };
45
20
  const numberProp = Number;
46
21
  const colPropsBaseStyle = {
47
22
  flex: [String, Number],
@@ -53,46 +28,16 @@ const colPropsBaseClass = {
53
28
  push: numberProp,
54
29
  span: numberProp
55
30
  };
56
- const colProps = __spreadValues(__spreadValues(__spreadValues({}, colPropsBaseStyle), colPropsBaseClass), screenSizes);
57
- const CLASS_PREFIX$1 = "devui-col";
58
- function formatClass(prefix, val) {
59
- return val !== void 0 ? ` ${prefix}-${val}` : "";
60
- }
61
- function useColClassNames(props) {
62
- return computed(() => {
63
- const spanClass = formatClass(`${CLASS_PREFIX$1}-span`, props.span);
64
- const offsetClass = formatClass(`${CLASS_PREFIX$1}-offset`, props.offset);
65
- const pullClass = formatClass(`${CLASS_PREFIX$1}-pull`, props.pull);
66
- const pushClass = formatClass(`${CLASS_PREFIX$1}-push`, props.push);
67
- return `${spanClass}${offsetClass}${pullClass}${pushClass}`;
68
- });
69
- }
70
- function setSpace(val) {
71
- return ` ${val.trim()}${val && " "}`;
72
- }
73
- function useSize(colSizes) {
74
- const keys = Object.keys(colSizes).filter((key) => key in screenSizes);
75
- return computed(() => {
76
- return keys.reduce((total, key) => {
77
- const valueType = typeof colSizes[key];
78
- if (valueType === "number") {
79
- total = `${setSpace(total)}${CLASS_PREFIX$1}-${key}-span-${colSizes[key]}`;
80
- } else if (valueType === "object") {
81
- const colSizesKeys = Object.keys(colSizes[key]);
82
- const sum = colSizesKeys.filter((item) => item in colPropsBaseClass).reduce((tot, k) => {
83
- if (typeof colSizes[key][k] !== "number") {
84
- return "";
85
- } else {
86
- tot = `${setSpace(tot)}${CLASS_PREFIX$1}-${key}-${k}-${colSizes[key][k]}`;
87
- }
88
- return tot;
89
- }, "");
90
- total = `${setSpace(total)}${sum}`;
91
- }
92
- return total;
93
- }, "");
94
- });
95
- }
31
+ const screenSizesProp = [Number, Object];
32
+ const screenSizes = {
33
+ xs: screenSizesProp,
34
+ sm: screenSizesProp,
35
+ md: screenSizesProp,
36
+ lg: screenSizesProp,
37
+ xl: screenSizesProp,
38
+ xxl: screenSizesProp
39
+ };
40
+ const colProps = { ...colPropsBaseStyle, ...colPropsBaseClass, ...screenSizes };
96
41
  const RESULT_SCREEN = ["xxl", "xl", "lg", "md", "sm", "xs"];
97
42
  const screenMedias = {
98
43
  xs: "screen and (max-width: 575px)",
@@ -106,20 +51,10 @@ const subscribers = /* @__PURE__ */ new Map();
106
51
  let subUid = -1;
107
52
  const screen = {};
108
53
  const results = {};
109
- function responesScreen(func) {
110
- if (!subscribers.size) {
111
- register();
112
- }
113
- subUid += 1;
114
- subscribers.set(subUid, func);
115
- func(__spreadValues({}, screen));
116
- return subUid;
117
- }
118
- function removeSubscribeCb(id) {
119
- subscribers.delete(id);
120
- if (subscribers.size === 0) {
121
- unRegister();
122
- }
54
+ function dispatch() {
55
+ subscribers.forEach((value) => {
56
+ value({ ...screen });
57
+ });
123
58
  }
124
59
  function register() {
125
60
  Object.keys(screenMedias).forEach((key) => {
@@ -139,6 +74,15 @@ function register() {
139
74
  };
140
75
  });
141
76
  }
77
+ function responesScreen(func) {
78
+ if (!subscribers.size) {
79
+ register();
80
+ }
81
+ subUid += 1;
82
+ subscribers.set(subUid, func);
83
+ func({ ...screen });
84
+ return subUid;
85
+ }
142
86
  function unRegister() {
143
87
  Object.keys(screenMedias).forEach((key) => {
144
88
  const handler = results[key];
@@ -146,13 +90,36 @@ function unRegister() {
146
90
  });
147
91
  subscribers.clear();
148
92
  }
149
- function dispatch() {
150
- subscribers.forEach((value) => {
151
- value(__spreadValues({}, screen));
152
- });
93
+ function removeSubscribeCb(id) {
94
+ subscribers.delete(id);
95
+ if (subscribers.size === 0) {
96
+ unRegister();
97
+ }
98
+ }
99
+ function createBem(namespace, element, modifier) {
100
+ let cls = namespace;
101
+ if (element) {
102
+ cls += `__${element}`;
103
+ }
104
+ if (modifier) {
105
+ cls += `--${modifier}`;
106
+ }
107
+ return cls;
108
+ }
109
+ function useNamespace(block, needDot = false) {
110
+ const namespace = needDot ? `.devui-${block}` : `devui-${block}`;
111
+ const b = () => createBem(namespace);
112
+ const e = (element) => element ? createBem(namespace, element) : "";
113
+ const m = (modifier) => modifier ? createBem(namespace, "", modifier) : "";
114
+ const em = (element, modifier) => element && modifier ? createBem(namespace, element, modifier) : "";
115
+ return {
116
+ b,
117
+ e,
118
+ m,
119
+ em
120
+ };
153
121
  }
154
122
  var row = "";
155
- const CLASS_PREFIX = "devui-row";
156
123
  var Row = defineComponent({
157
124
  name: "DRow",
158
125
  props: rowProps,
@@ -161,12 +128,12 @@ var Row = defineComponent({
161
128
  slots
162
129
  }) {
163
130
  const gutterScreenSize = ref({});
164
- const rowClass = computed(() => {
165
- const alignClass = formatClass(`${CLASS_PREFIX}-align`, props.align);
166
- const justifyClass = formatClass(`${CLASS_PREFIX}-justify`, props.justify);
167
- const wrapClass = props.wrap ? ` ${CLASS_PREFIX}-wrap` : "";
168
- return `${alignClass}${justifyClass}${wrapClass}`;
169
- });
131
+ const ns = useNamespace("row");
132
+ const rowClass = computed(() => ({
133
+ [ns.em("align", props.align)]: true,
134
+ [ns.em("justify", props.justify)]: true,
135
+ [ns.e("wrap")]: props.wrap
136
+ }));
170
137
  let token;
171
138
  onMounted(() => {
172
139
  token = responesScreen((screen2) => {
@@ -214,11 +181,48 @@ var Row = defineComponent({
214
181
  return () => {
215
182
  var _a;
216
183
  return createVNode("div", {
217
- "class": `${CLASS_PREFIX}${rowClass.value}`
184
+ "class": [ns.b(), rowClass.value]
218
185
  }, [(_a = slots.default) == null ? void 0 : _a.call(slots)]);
219
186
  };
220
187
  }
221
188
  });
189
+ const colNs = useNamespace("col");
190
+ function useColClassNames(props) {
191
+ return computed(() => ({
192
+ [colNs.em("span", props.span ? String(props.span) : "")]: true,
193
+ [colNs.em("offset", props.offset ? String(props.offset) : "")]: true,
194
+ [colNs.em("pull", props.pull ? String(props.pull) : "")]: true,
195
+ [colNs.em("push", props.push ? String(props.push) : "")]: true
196
+ }));
197
+ }
198
+ function setSpace(val) {
199
+ return ` ${val.trim()}${val && " "}`;
200
+ }
201
+ function useSize(colSizes) {
202
+ const keys = Object.keys(colSizes).filter((key) => key in screenSizes);
203
+ return computed(() => {
204
+ return keys.reduce((total, key) => {
205
+ const valueType = typeof colSizes[key];
206
+ if (valueType === "number") {
207
+ total = `${setSpace(total)}${colNs.em(key, `span-${colSizes[key]}`)}`;
208
+ } else if (valueType === "object") {
209
+ const colSizesKeys = Object.keys(colSizes[key]);
210
+ const sum = colSizesKeys.filter((item) => item in colPropsBaseClass).reduce((tot, k) => {
211
+ const baseClass = colSizes[key];
212
+ const _class = baseClass[k];
213
+ if (typeof _class !== "number") {
214
+ return "";
215
+ } else {
216
+ tot = `${setSpace(tot)}${colNs.em(key, `${k}-${_class}`)}`;
217
+ }
218
+ return tot;
219
+ }, "");
220
+ total = `${setSpace(total)}${sum}`;
221
+ }
222
+ return total;
223
+ }, "");
224
+ });
225
+ }
222
226
  var col = "";
223
227
  var Col = defineComponent({
224
228
  name: "DCol",
@@ -226,6 +230,7 @@ var Col = defineComponent({
226
230
  setup(props, {
227
231
  slots
228
232
  }) {
233
+ const ns = useNamespace("col");
229
234
  const formatFlex = (flex) => {
230
235
  if (typeof flex === "number") {
231
236
  return `${flex} ${flex} auto`;
@@ -245,25 +250,22 @@ var Col = defineComponent({
245
250
  return () => {
246
251
  var _a;
247
252
  return createVNode("div", {
248
- "class": `${CLASS_PREFIX$1}${colClassNames.value}${sizeClassNames.value}`,
249
- "style": __spreadValues(__spreadValues({}, colStyle.value), gutterStyle.value)
253
+ "class": [ns.b(), colClassNames.value, sizeClassNames.value],
254
+ "style": {
255
+ ...colStyle.value,
256
+ ...gutterStyle == null ? void 0 : gutterStyle.value
257
+ }
250
258
  }, [(_a = slots.default) == null ? void 0 : _a.call(slots)]);
251
259
  };
252
260
  }
253
261
  });
254
- Row.install = function(app) {
255
- app.component(Row.name, Row);
256
- };
257
- Col.install = function(app) {
258
- app.component(Col.name, Col);
259
- };
260
262
  var index = {
261
263
  title: "Grid \u6805\u683C",
262
264
  category: "\u5E03\u5C40",
263
265
  status: "100%",
264
266
  install(app) {
265
- app.use(Col);
266
- app.use(Row);
267
+ app.component(Row.name, Row);
268
+ app.component(Col.name, Col);
267
269
  }
268
270
  };
269
- export { Col, Row, index as default };
271
+ export { Col, Row, colProps, colPropsBaseClass, colPropsBaseStyle, index as default, rowProps, screenSizes };