vue-devui 1.0.0-alpha.0 → 1.0.0-alpha.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (425) hide show
  1. package/README.md +140 -38
  2. package/alert/index.d.ts +7 -0
  3. package/alert/index.es.js +204 -1
  4. package/alert/index.umd.js +1 -1
  5. package/alert/style.css +1 -1
  6. package/auto-complete/index.d.ts +7 -0
  7. package/auto-complete/index.es.js +9051 -0
  8. package/auto-complete/index.umd.js +40 -0
  9. package/auto-complete/package.json +7 -0
  10. package/auto-complete/style.css +1 -0
  11. package/avatar/index.d.ts +7 -0
  12. package/avatar/index.es.js +308 -1
  13. package/avatar/index.umd.js +1 -1
  14. package/avatar/style.css +1 -1
  15. package/badge/index.d.ts +7 -0
  16. package/badge/index.es.js +120 -1
  17. package/badge/index.umd.js +1 -1
  18. package/badge/style.css +1 -1
  19. package/button/index.d.ts +7 -0
  20. package/button/index.es.js +5964 -1
  21. package/button/index.umd.js +27 -1
  22. package/button/style.css +1 -1
  23. package/card/index.d.ts +7 -0
  24. package/card/index.es.js +89 -1
  25. package/card/index.umd.js +1 -1
  26. package/card/style.css +1 -1
  27. package/checkbox/index.d.ts +7 -0
  28. package/checkbox/index.es.js +8207 -1
  29. package/checkbox/index.umd.js +38 -1
  30. package/checkbox/style.css +1 -1
  31. package/collapse/index.d.ts +7 -0
  32. package/collapse/index.es.js +195 -0
  33. package/collapse/index.umd.js +1 -0
  34. package/{carousel → collapse}/package.json +1 -1
  35. package/collapse/style.css +1 -0
  36. package/countdown/index.d.ts +7 -0
  37. package/countdown/index.es.js +217 -0
  38. package/countdown/index.umd.js +1 -0
  39. package/{accordion → countdown}/package.json +1 -1
  40. package/countdown/style.css +1 -0
  41. package/date-picker-pro/index.d.ts +7 -0
  42. package/date-picker-pro/index.es.js +12031 -0
  43. package/date-picker-pro/index.umd.js +38 -0
  44. package/date-picker-pro/package.json +7 -0
  45. package/date-picker-pro/style.css +1 -0
  46. package/drawer/index.d.ts +7 -0
  47. package/drawer/index.es.js +248 -0
  48. package/drawer/index.umd.js +1 -0
  49. package/{anchor → drawer}/package.json +1 -1
  50. package/drawer/style.css +1 -0
  51. package/dropdown/index.d.ts +7 -0
  52. package/dropdown/index.es.js +743 -0
  53. package/dropdown/index.umd.js +1 -0
  54. package/dropdown/package.json +7 -0
  55. package/dropdown/style.css +1 -0
  56. package/editable-select/index.d.ts +7 -0
  57. package/editable-select/index.es.js +991 -0
  58. package/editable-select/index.umd.js +1 -0
  59. package/editable-select/package.json +7 -0
  60. package/editable-select/style.css +1 -0
  61. package/form/index.d.ts +7 -0
  62. package/form/index.es.js +7751 -0
  63. package/form/index.umd.js +38 -0
  64. package/{theme → form}/package.json +1 -1
  65. package/form/style.css +1 -0
  66. package/fullscreen/index.d.ts +7 -0
  67. package/fullscreen/index.es.js +166 -0
  68. package/fullscreen/index.umd.js +1 -0
  69. package/fullscreen/package.json +7 -0
  70. package/fullscreen/style.css +1 -0
  71. package/grid/index.d.ts +7 -0
  72. package/grid/index.es.js +271 -0
  73. package/grid/index.umd.js +1 -0
  74. package/{toast → grid}/package.json +1 -1
  75. package/grid/style.css +1 -0
  76. package/icon/index.d.ts +7 -0
  77. package/icon/index.es.js +218 -1
  78. package/icon/index.umd.js +1 -1
  79. package/icon/style.css +1 -0
  80. package/image-preview/index.d.ts +7 -0
  81. package/image-preview/index.es.js +511 -1
  82. package/image-preview/index.umd.js +1 -1
  83. package/image-preview/style.css +1 -1
  84. package/index.d.ts +7 -0
  85. package/input/index.d.ts +7 -0
  86. package/input/index.es.js +8311 -1
  87. package/input/index.umd.js +38 -1
  88. package/input/style.css +1 -1
  89. package/input-number/index.d.ts +7 -0
  90. package/input-number/index.es.js +308 -0
  91. package/input-number/index.umd.js +1 -0
  92. package/input-number/package.json +7 -0
  93. package/input-number/style.css +1 -0
  94. package/layout/index.d.ts +7 -0
  95. package/layout/index.es.js +115 -0
  96. package/layout/index.umd.js +1 -0
  97. package/layout/package.json +7 -0
  98. package/layout/style.css +1 -0
  99. package/loading/index.d.ts +7 -0
  100. package/loading/index.es.js +272 -1
  101. package/loading/index.umd.js +1 -1
  102. package/loading/style.css +1 -1
  103. package/message/index.d.ts +7 -0
  104. package/message/index.es.js +534 -0
  105. package/message/index.umd.js +1 -0
  106. package/message/package.json +7 -0
  107. package/message/style.css +1 -0
  108. package/modal/index.d.ts +7 -0
  109. package/modal/index.es.js +741 -0
  110. package/modal/index.umd.js +1 -0
  111. package/modal/package.json +7 -0
  112. package/modal/style.css +1 -0
  113. package/notification/index.d.ts +7 -0
  114. package/notification/index.es.js +528 -0
  115. package/notification/index.umd.js +1 -0
  116. package/notification/package.json +7 -0
  117. package/notification/style.css +1 -0
  118. package/nuxt/components/Alert.js +3 -0
  119. package/nuxt/components/Aside.js +3 -0
  120. package/nuxt/components/AutoComplete.js +3 -0
  121. package/nuxt/components/Avatar.js +3 -0
  122. package/nuxt/components/Badge.js +3 -0
  123. package/nuxt/components/Button.js +3 -0
  124. package/nuxt/components/ButtonGroup.js +3 -0
  125. package/nuxt/components/Card.js +3 -0
  126. package/nuxt/components/Checkbox.js +3 -0
  127. package/nuxt/components/CheckboxButton.js +3 -0
  128. package/nuxt/components/CheckboxGroup.js +3 -0
  129. package/nuxt/components/Col.js +3 -0
  130. package/nuxt/components/Collapse.js +3 -0
  131. package/nuxt/components/CollapseItem.js +3 -0
  132. package/nuxt/components/Column.js +3 -0
  133. package/nuxt/components/Content.js +3 -0
  134. package/nuxt/components/Countdown.js +3 -0
  135. package/nuxt/components/DRangeDatePickerPro.js +3 -0
  136. package/nuxt/components/DatePickerPro.js +3 -0
  137. package/nuxt/components/Drawer.js +3 -0
  138. package/nuxt/components/DrawerService.js +3 -0
  139. package/nuxt/components/Dropdown.js +3 -0
  140. package/nuxt/components/DropdownMenu.js +3 -0
  141. package/nuxt/components/DropdownPropsKey.js +3 -0
  142. package/nuxt/components/EditableSelect.js +3 -0
  143. package/nuxt/components/FORM_ITEM_TOKEN.js +3 -0
  144. package/nuxt/components/FORM_TOKEN.js +3 -0
  145. package/nuxt/components/FixedOverlay.js +3 -0
  146. package/nuxt/components/FlexibleOverlay.js +3 -0
  147. package/nuxt/components/Footer.js +3 -0
  148. package/nuxt/components/Form.js +3 -0
  149. package/nuxt/components/FormItem.js +3 -0
  150. package/nuxt/components/FormOperation.js +3 -0
  151. package/nuxt/components/Fullscreen.js +3 -0
  152. package/nuxt/components/Header.js +3 -0
  153. package/nuxt/components/IFileOptions.js +3 -0
  154. package/nuxt/components/IUploadOptions.js +3 -0
  155. package/nuxt/components/Icon.js +3 -0
  156. package/nuxt/components/IconGroup.js +3 -0
  157. package/nuxt/components/ImagePreviewService.js +3 -0
  158. package/nuxt/components/Input.js +3 -0
  159. package/nuxt/components/InputNumber.js +3 -0
  160. package/nuxt/components/LABEL_DATA.js +3 -0
  161. package/nuxt/components/Layout.js +3 -0
  162. package/nuxt/components/Loading.js +3 -0
  163. package/nuxt/components/LoadingOptions.js +3 -0
  164. package/nuxt/components/LoadingService.js +3 -0
  165. package/nuxt/components/Message.js +3 -0
  166. package/nuxt/components/Modal.js +3 -0
  167. package/nuxt/components/Notification.js +3 -0
  168. package/nuxt/components/NotificationService.js +3 -0
  169. package/nuxt/components/Option.js +3 -0
  170. package/nuxt/components/OptionGroup.js +3 -0
  171. package/nuxt/components/Pagination.js +3 -0
  172. package/nuxt/components/Panel.js +3 -0
  173. package/nuxt/components/PanelBody.js +3 -0
  174. package/nuxt/components/PanelFooter.js +3 -0
  175. package/nuxt/components/PanelHeader.js +3 -0
  176. package/nuxt/components/Popover.js +3 -0
  177. package/nuxt/components/Progress.js +3 -0
  178. package/nuxt/components/Radio.js +3 -0
  179. package/nuxt/components/RadioButton.js +3 -0
  180. package/nuxt/components/RadioGroup.js +3 -0
  181. package/nuxt/components/Rate.js +3 -0
  182. package/nuxt/components/Result.js +3 -0
  183. package/nuxt/components/Row.js +3 -0
  184. package/nuxt/components/Search.js +3 -0
  185. package/nuxt/components/Select.js +3 -0
  186. package/nuxt/components/Skeleton.js +3 -0
  187. package/nuxt/components/SkeletonItem.js +3 -0
  188. package/nuxt/components/Slider.js +3 -0
  189. package/nuxt/components/Splitter.js +3 -0
  190. package/nuxt/components/Statistic.js +3 -0
  191. package/nuxt/components/Status.js +3 -0
  192. package/nuxt/components/Step.js +3 -0
  193. package/nuxt/components/Steps.js +3 -0
  194. package/nuxt/components/Switch.js +3 -0
  195. package/nuxt/components/TABLE_TOKEN.js +3 -0
  196. package/nuxt/components/Tab.js +3 -0
  197. package/nuxt/components/Table.js +3 -0
  198. package/nuxt/components/Tabs.js +3 -0
  199. package/nuxt/components/Tag.js +3 -0
  200. package/nuxt/components/Textarea.js +3 -0
  201. package/nuxt/components/TimePicker.js +3 -0
  202. package/nuxt/components/TimeSelect.js +3 -0
  203. package/nuxt/components/Timeline.js +3 -0
  204. package/nuxt/components/TimelineItem.js +3 -0
  205. package/nuxt/components/Tooltip.js +3 -0
  206. package/nuxt/components/Tree.js +3 -0
  207. package/nuxt/components/Upload.js +3 -0
  208. package/nuxt/components/UploadStatus.js +3 -0
  209. package/nuxt/components/alertProps.js +3 -0
  210. package/nuxt/components/animationInjectionKey.js +3 -0
  211. package/nuxt/components/autoCompleteProps.js +3 -0
  212. package/nuxt/components/avatarProps.js +3 -0
  213. package/nuxt/components/badgeProps.js +3 -0
  214. package/nuxt/components/buttonGroupInjectionKey.js +3 -0
  215. package/nuxt/components/buttonGroupProps.js +3 -0
  216. package/nuxt/components/buttonProps.js +3 -0
  217. package/nuxt/components/cardProps.js +3 -0
  218. package/nuxt/components/checkboxGroupInjectionKey.js +3 -0
  219. package/nuxt/components/checkboxGroupProps.js +3 -0
  220. package/nuxt/components/checkboxProps.js +3 -0
  221. package/nuxt/components/colProps.js +3 -0
  222. package/nuxt/components/colPropsBaseClass.js +3 -0
  223. package/nuxt/components/colPropsBaseStyle.js +3 -0
  224. package/nuxt/components/collapseItemProps.js +3 -0
  225. package/nuxt/components/collapseProps.js +3 -0
  226. package/nuxt/components/countdownProps.js +3 -0
  227. package/nuxt/components/datePickerProCommonProps.js +3 -0
  228. package/nuxt/components/datePickerProPanelProps.js +3 -0
  229. package/nuxt/components/datePickerProProps.js +3 -0
  230. package/nuxt/components/dropdownMenuProps.js +3 -0
  231. package/nuxt/components/editableSelectProps.js +3 -0
  232. package/nuxt/components/fixedOverlayProps.js +3 -0
  233. package/nuxt/components/flexibleOverlayProps.js +3 -0
  234. package/nuxt/components/formItemProps.js +3 -0
  235. package/nuxt/components/formProps.js +3 -0
  236. package/nuxt/components/fullscreenProps.js +3 -0
  237. package/nuxt/components/iconProps.js +3 -0
  238. package/nuxt/components/imagePreviewProps.js +3 -0
  239. package/nuxt/components/inputProps.js +3 -0
  240. package/nuxt/components/loadingProps.js +3 -0
  241. package/nuxt/components/messageProps.js +3 -0
  242. package/nuxt/components/modalProps.js +3 -0
  243. package/nuxt/components/notificationProps.js +3 -0
  244. package/nuxt/components/paginationProps.js +3 -0
  245. package/nuxt/components/panelProps.js +3 -0
  246. package/nuxt/components/popoverProps.js +3 -0
  247. package/nuxt/components/progressProps.js +3 -0
  248. package/nuxt/components/rateProps.js +3 -0
  249. package/nuxt/components/resultProps.js +3 -0
  250. package/nuxt/components/roundInjectionKey.js +3 -0
  251. package/nuxt/components/rowProps.js +3 -0
  252. package/nuxt/components/screenSizes.js +3 -0
  253. package/nuxt/components/searchProps.js +3 -0
  254. package/nuxt/components/skeletonItemProps.js +3 -0
  255. package/nuxt/components/skeletonProps.js +3 -0
  256. package/nuxt/components/sliderProps.js +3 -0
  257. package/nuxt/components/splitterProps.js +3 -0
  258. package/nuxt/components/statisticProps.js +3 -0
  259. package/nuxt/components/stepProps.js +3 -0
  260. package/nuxt/components/stepsProps.js +3 -0
  261. package/nuxt/components/svgIconProps.js +3 -0
  262. package/nuxt/components/switchProps.js +3 -0
  263. package/nuxt/components/tableProps.js +3 -0
  264. package/nuxt/components/tabsProps.js +3 -0
  265. package/nuxt/components/tagProps.js +3 -0
  266. package/nuxt/components/textareaProps.js +3 -0
  267. package/nuxt/components/timeAxisProps.js +3 -0
  268. package/nuxt/components/timerPickerPanelProps.js +3 -0
  269. package/nuxt/components/tooltipProps.js +3 -0
  270. package/nuxt/components/treeProps.js +3 -0
  271. package/nuxt/components/uploadProps.js +3 -0
  272. package/nuxt/index.js +13 -0
  273. package/overlay/index.d.ts +7 -0
  274. package/overlay/index.es.js +293 -1
  275. package/overlay/index.umd.js +1 -1
  276. package/overlay/style.css +1 -1
  277. package/package.json +17 -78
  278. package/pagination/index.d.ts +7 -0
  279. package/pagination/index.es.js +820 -1
  280. package/pagination/index.umd.js +1 -1
  281. package/pagination/style.css +1 -1
  282. package/panel/index.d.ts +7 -0
  283. package/panel/index.es.js +218 -1
  284. package/panel/index.umd.js +1 -1
  285. package/panel/style.css +1 -1
  286. package/popover/index.d.ts +7 -0
  287. package/popover/index.es.js +6062 -0
  288. package/popover/index.umd.js +27 -0
  289. package/popover/package.json +7 -0
  290. package/popover/style.css +1 -0
  291. package/progress/index.d.ts +7 -0
  292. package/progress/index.es.js +207 -1
  293. package/progress/index.umd.js +3 -1
  294. package/progress/style.css +1 -1
  295. package/radio/index.d.ts +7 -0
  296. package/radio/index.es.js +8056 -1
  297. package/radio/index.umd.js +38 -1
  298. package/radio/style.css +1 -1
  299. package/rate/index.d.ts +7 -0
  300. package/rate/index.es.js +242 -1
  301. package/rate/index.umd.js +1 -1
  302. package/rate/style.css +1 -1
  303. package/result/index.d.ts +7 -0
  304. package/result/index.es.js +248 -0
  305. package/result/index.umd.js +1 -0
  306. package/result/package.json +7 -0
  307. package/result/style.css +1 -0
  308. package/ripple/index.d.ts +7 -0
  309. package/ripple/index.es.js +173 -0
  310. package/ripple/index.umd.js +1 -0
  311. package/ripple/package.json +7 -0
  312. package/search/index.d.ts +7 -0
  313. package/search/index.es.js +8504 -2
  314. package/search/index.umd.js +38 -10
  315. package/search/style.css +1 -1
  316. package/select/index.d.ts +7 -0
  317. package/select/index.es.js +9423 -1
  318. package/select/index.umd.js +38 -1
  319. package/select/style.css +1 -1
  320. package/skeleton/index.d.ts +7 -0
  321. package/skeleton/index.es.js +145 -0
  322. package/skeleton/index.umd.js +1 -0
  323. package/skeleton/package.json +7 -0
  324. package/skeleton/style.css +1 -0
  325. package/slider/index.d.ts +7 -0
  326. package/slider/index.es.js +203 -1
  327. package/slider/index.umd.js +1 -1
  328. package/slider/style.css +1 -1
  329. package/splitter/index.d.ts +7 -0
  330. package/splitter/index.es.js +6754 -0
  331. package/splitter/index.umd.js +27 -0
  332. package/splitter/package.json +7 -0
  333. package/splitter/style.css +1 -0
  334. package/statistic/index.d.ts +7 -0
  335. package/statistic/index.es.js +253 -0
  336. package/statistic/index.umd.js +1 -0
  337. package/{tag-input → statistic}/package.json +1 -1
  338. package/statistic/style.css +1 -0
  339. package/status/index.d.ts +7 -0
  340. package/status/index.es.js +63 -1
  341. package/status/index.umd.js +1 -1
  342. package/status/style.css +1 -1
  343. package/steps/index.d.ts +7 -0
  344. package/steps/index.es.js +386 -0
  345. package/steps/index.umd.js +1 -0
  346. package/steps/package.json +7 -0
  347. package/steps/style.css +1 -0
  348. package/style.css +1 -1
  349. package/switch/index.d.ts +7 -0
  350. package/switch/index.es.js +7852 -1
  351. package/switch/index.umd.js +38 -1
  352. package/switch/style.css +1 -1
  353. package/table/index.d.ts +7 -0
  354. package/table/index.es.js +11527 -0
  355. package/table/index.umd.js +38 -0
  356. package/table/package.json +7 -0
  357. package/table/style.css +1 -0
  358. package/tabs/index.d.ts +7 -0
  359. package/tabs/index.es.js +407 -1
  360. package/tabs/index.umd.js +1 -1
  361. package/tabs/style.css +1 -1
  362. package/tag/index.d.ts +7 -0
  363. package/tag/index.es.js +156 -0
  364. package/tag/index.umd.js +1 -0
  365. package/tag/package.json +7 -0
  366. package/tag/style.css +1 -0
  367. package/textarea/index.d.ts +7 -0
  368. package/textarea/index.es.js +7986 -0
  369. package/textarea/index.umd.js +46 -0
  370. package/textarea/package.json +7 -0
  371. package/textarea/style.css +1 -0
  372. package/time-picker/index.d.ts +7 -0
  373. package/time-picker/index.es.js +9556 -0
  374. package/time-picker/index.umd.js +38 -0
  375. package/{date-picker → time-picker}/package.json +1 -1
  376. package/time-picker/style.css +1 -0
  377. package/time-select/index.d.ts +7 -0
  378. package/time-select/index.es.js +9604 -0
  379. package/time-select/index.umd.js +38 -0
  380. package/time-select/package.json +7 -0
  381. package/time-select/style.css +1 -0
  382. package/timeline/index.d.ts +7 -0
  383. package/timeline/index.es.js +427 -0
  384. package/timeline/index.umd.js +1 -0
  385. package/timeline/package.json +7 -0
  386. package/timeline/style.css +1 -0
  387. package/tooltip/index.d.ts +7 -0
  388. package/tooltip/index.es.js +5900 -0
  389. package/tooltip/index.umd.js +27 -0
  390. package/tooltip/package.json +7 -0
  391. package/tooltip/style.css +1 -0
  392. package/tree/index.d.ts +7 -0
  393. package/tree/index.es.js +10336 -0
  394. package/tree/index.umd.js +38 -0
  395. package/tree/package.json +7 -0
  396. package/tree/style.css +1 -0
  397. package/upload/index.d.ts +7 -0
  398. package/upload/index.es.js +1398 -15
  399. package/upload/index.umd.js +1 -15
  400. package/upload/style.css +1 -1
  401. package/vue-devui.es.js +27443 -16
  402. package/vue-devui.umd.js +50 -24
  403. package/accordion/index.es.js +0 -1
  404. package/accordion/index.umd.js +0 -1
  405. package/accordion/style.css +0 -1
  406. package/anchor/index.es.js +0 -1
  407. package/anchor/index.umd.js +0 -1
  408. package/carousel/index.es.js +0 -1
  409. package/carousel/index.umd.js +0 -1
  410. package/carousel/style.css +0 -1
  411. package/date-picker/index.es.js +0 -1
  412. package/date-picker/index.umd.js +0 -1
  413. package/date-picker/style.css +0 -1
  414. package/quadrant-diagram/index.es.js +0 -10
  415. package/quadrant-diagram/index.umd.js +0 -10
  416. package/quadrant-diagram/package.json +0 -7
  417. package/quadrant-diagram/style.css +0 -1
  418. package/tag-input/index.es.js +0 -1
  419. package/tag-input/index.umd.js +0 -1
  420. package/tag-input/style.css +0 -1
  421. package/theme/index.es.js +0 -1
  422. package/theme/index.umd.js +0 -1
  423. package/toast/index.es.js +0 -1
  424. package/toast/index.umd.js +0 -1
  425. package/toast/style.css +0 -1
@@ -0,0 +1,271 @@
1
+ import { defineComponent, ref, computed, onMounted, onUnmounted, provide, createVNode, inject } from "vue";
2
+ const rowProps = {
3
+ align: {
4
+ type: String,
5
+ default: "top"
6
+ },
7
+ gutter: {
8
+ type: [Number, Object, Array],
9
+ default: 0
10
+ },
11
+ justify: {
12
+ type: String,
13
+ default: "start"
14
+ },
15
+ wrap: {
16
+ type: Boolean,
17
+ default: false
18
+ }
19
+ };
20
+ const numberProp = Number;
21
+ const colPropsBaseStyle = {
22
+ flex: [String, Number],
23
+ order: numberProp
24
+ };
25
+ const colPropsBaseClass = {
26
+ offset: numberProp,
27
+ pull: numberProp,
28
+ push: numberProp,
29
+ span: numberProp
30
+ };
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 };
41
+ const RESULT_SCREEN = ["xxl", "xl", "lg", "md", "sm", "xs"];
42
+ const screenMedias = {
43
+ xs: "screen and (max-width: 575px)",
44
+ sm: "screen and (min-width: 576px)",
45
+ md: "screen and (min-width: 768px)",
46
+ lg: "screen and (min-width: 992px)",
47
+ xl: "screen and (min-width: 1200px)",
48
+ xxl: "screen and (min-width: 1600px)"
49
+ };
50
+ const subscribers = /* @__PURE__ */ new Map();
51
+ let subUid = -1;
52
+ const screen = {};
53
+ const results = {};
54
+ function dispatch() {
55
+ subscribers.forEach((value) => {
56
+ value({ ...screen });
57
+ });
58
+ }
59
+ function register() {
60
+ Object.keys(screenMedias).forEach((key) => {
61
+ const result = window.matchMedia(screenMedias[key]);
62
+ if (result.matches) {
63
+ screen[key] = true;
64
+ dispatch();
65
+ }
66
+ const listener = (e) => {
67
+ screen[key] = e.matches;
68
+ dispatch();
69
+ };
70
+ result.addEventListener("change", listener);
71
+ results[key] = {
72
+ res: result,
73
+ listener
74
+ };
75
+ });
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
+ }
86
+ function unRegister() {
87
+ Object.keys(screenMedias).forEach((key) => {
88
+ const handler = results[key];
89
+ handler.res.removeEventListener("change", handler.listener);
90
+ });
91
+ subscribers.clear();
92
+ }
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
+ };
121
+ }
122
+ var row = "";
123
+ var Row = defineComponent({
124
+ name: "DRow",
125
+ props: rowProps,
126
+ emits: [],
127
+ setup(props, {
128
+ slots
129
+ }) {
130
+ const gutterScreenSize = ref({});
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
+ }));
137
+ let token;
138
+ onMounted(() => {
139
+ token = responesScreen((screen2) => {
140
+ gutterScreenSize.value = screen2;
141
+ });
142
+ });
143
+ onUnmounted(() => {
144
+ removeSubscribeCb(token);
145
+ });
146
+ const gutterStyle = computed(() => {
147
+ if (!props.gutter) {
148
+ return {};
149
+ }
150
+ let currentGutter = [0, 0];
151
+ if (Array.isArray(props.gutter)) {
152
+ currentGutter = props.gutter;
153
+ } else if (typeof props.gutter === "number") {
154
+ currentGutter = [props.gutter, 0];
155
+ } else {
156
+ RESULT_SCREEN.some((size) => {
157
+ const gzs = props.gutter[size];
158
+ if (gutterScreenSize.value[size] && gzs) {
159
+ if (typeof gzs === "number") {
160
+ currentGutter = [gzs, 0];
161
+ } else {
162
+ currentGutter = gzs;
163
+ }
164
+ return true;
165
+ }
166
+ return false;
167
+ });
168
+ }
169
+ const paddingLeft = `${(currentGutter[0] || 0) / 2}px`;
170
+ const paddingRight = `${(currentGutter[0] || 0) / 2}px`;
171
+ const paddingTop = `${(currentGutter[1] || 0) / 2}px`;
172
+ const paddingBottom = `${(currentGutter[1] || 0) / 2}px`;
173
+ return {
174
+ paddingLeft,
175
+ paddingRight,
176
+ paddingTop,
177
+ paddingBottom
178
+ };
179
+ });
180
+ provide("gutterStyle", gutterStyle);
181
+ return () => {
182
+ var _a;
183
+ return createVNode("div", {
184
+ "class": [ns.b(), rowClass.value]
185
+ }, [(_a = slots.default) == null ? void 0 : _a.call(slots)]);
186
+ };
187
+ }
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
+ }
226
+ var col = "";
227
+ var Col = defineComponent({
228
+ name: "DCol",
229
+ props: colProps,
230
+ setup(props, {
231
+ slots
232
+ }) {
233
+ const ns = useNamespace("col");
234
+ const formatFlex = (flex) => {
235
+ if (typeof flex === "number") {
236
+ return `${flex} ${flex} auto`;
237
+ }
238
+ if (/^\d+(\.\d+)?(px|rem|em|%)$/.test(flex)) {
239
+ return `0 0 ${flex}`;
240
+ }
241
+ return flex;
242
+ };
243
+ const colClassNames = useColClassNames(props);
244
+ const sizeClassNames = useSize(props);
245
+ const colStyle = computed(() => ({
246
+ flex: formatFlex(props.flex),
247
+ order: props.order
248
+ }));
249
+ const gutterStyle = inject("gutterStyle");
250
+ return () => {
251
+ var _a;
252
+ return createVNode("div", {
253
+ "class": [ns.b(), colClassNames.value, sizeClassNames.value],
254
+ "style": {
255
+ ...colStyle.value,
256
+ ...gutterStyle == null ? void 0 : gutterStyle.value
257
+ }
258
+ }, [(_a = slots.default) == null ? void 0 : _a.call(slots)]);
259
+ };
260
+ }
261
+ });
262
+ var index = {
263
+ title: "Grid \u6805\u683C",
264
+ category: "\u5E03\u5C40",
265
+ status: "100%",
266
+ install(app) {
267
+ app.component(Row.name, Row);
268
+ app.component(Col.name, Col);
269
+ }
270
+ };
271
+ export { Col, Row, colProps, colPropsBaseClass, colPropsBaseStyle, index as default, rowProps, screenSizes };
@@ -0,0 +1 @@
1
+ (function(o,c){typeof exports=="object"&&typeof module!="undefined"?c(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],c):(o=typeof globalThis!="undefined"?globalThis:o||self,c(o.index={},o.Vue))})(this,function(o,c){"use strict";const P={align:{type:String,default:"top"},gutter:{type:[Number,Object,Array],default:0},justify:{type:String,default:"start"},wrap:{type:Boolean,default:!1}},p=Number,E={flex:[String,Number],order:p},S={offset:p,pull:p,push:p,span:p},a=[Number,Object],$={xs:a,sm:a,md:a,lg:a,xl:a,xxl:a},B={...E,...S,...$},T=["xxl","xl","lg","md","sm","xs"],w={xs:"screen and (max-width: 575px)",sm:"screen and (min-width: 576px)",md:"screen and (min-width: 768px)",lg:"screen and (min-width: 992px)",xl:"screen and (min-width: 1200px)",xxl:"screen and (min-width: 1600px)"},l=new Map;let x=-1;const g={},O={};function R(){l.forEach(e=>{e({...g})})}function _(){Object.keys(w).forEach(e=>{const s=window.matchMedia(w[e]);s.matches&&(g[e]=!0,R());const n=r=>{g[e]=r.matches,R()};s.addEventListener("change",n),O[e]={res:s,listener:n}})}function L(e){return l.size||_(),x+=1,l.set(x,e),e({...g}),x}function A(){Object.keys(w).forEach(e=>{const s=O[e];s.res.removeEventListener("change",s.listener)}),l.clear()}function U(e){l.delete(e),l.size===0&&A()}function b(e,s,n){let r=e;return s&&(r+=`__${s}`),n&&(r+=`--${n}`),r}function C(e,s=!1){const n=s?`.devui-${e}`:`devui-${e}`;return{b:()=>b(n),e:t=>t?b(n,t):"",m:t=>t?b(n,"",t):"",em:(t,u)=>t&&u?b(n,t,u):""}}var q="",j=c.defineComponent({name:"DRow",props:P,emits:[],setup(e,{slots:s}){const n=c.ref({}),r=C("row"),i=c.computed(()=>({[r.em("align",e.align)]:!0,[r.em("justify",e.justify)]:!0,[r.e("wrap")]:e.wrap}));let f;c.onMounted(()=>{f=L(t=>{n.value=t})}),c.onUnmounted(()=>{U(f)});const m=c.computed(()=>{if(!e.gutter)return{};let t=[0,0];Array.isArray(e.gutter)?t=e.gutter:typeof e.gutter=="number"?t=[e.gutter,0]:T.some(M=>{const h=e.gutter[M];return n.value[M]&&h?(typeof h=="number"?t=[h,0]:t=h,!0):!1});const u=`${(t[0]||0)/2}px`,z=`${(t[0]||0)/2}px`,y=`${(t[1]||0)/2}px`,K=`${(t[1]||0)/2}px`;return{paddingLeft:u,paddingRight:z,paddingTop:y,paddingBottom:K}});return c.provide("gutterStyle",m),()=>{var t;return c.createVNode("div",{class:[r.b(),i.value]},[(t=s.default)==null?void 0:t.call(s)])}}});const d=C("col");function V(e){return c.computed(()=>({[d.em("span",e.span?String(e.span):"")]:!0,[d.em("offset",e.offset?String(e.offset):"")]:!0,[d.em("pull",e.pull?String(e.pull):"")]:!0,[d.em("push",e.push?String(e.push):"")]:!0}))}function v(e){return` ${e.trim()}${e&&" "}`}function D(e){const s=Object.keys(e).filter(n=>n in $);return c.computed(()=>s.reduce((n,r)=>{const i=typeof e[r];if(i==="number")n=`${v(n)}${d.em(r,`span-${e[r]}`)}`;else if(i==="object"){const m=Object.keys(e[r]).filter(t=>t in S).reduce((t,u)=>{const y=e[r][u];return typeof y!="number"?"":(t=`${v(t)}${d.em(r,`${u}-${y}`)}`,t)},"");n=`${v(n)}${m}`}return n},""))}var F="",N=c.defineComponent({name:"DCol",props:B,setup(e,{slots:s}){const n=C("col"),r=u=>typeof u=="number"?`${u} ${u} auto`:/^\d+(\.\d+)?(px|rem|em|%)$/.test(u)?`0 0 ${u}`:u,i=V(e),f=D(e),m=c.computed(()=>({flex:r(e.flex),order:e.order})),t=c.inject("gutterStyle");return()=>{var u;return c.createVNode("div",{class:[n.b(),i.value,f.value],style:{...m.value,...t==null?void 0:t.value}},[(u=s.default)==null?void 0:u.call(s)])}}}),G={title:"Grid \u6805\u683C",category:"\u5E03\u5C40",status:"100%",install(e){e.component(j.name,j),e.component(N.name,N)}};o.Col=N,o.Row=j,o.colProps=B,o.colPropsBaseClass=S,o.colPropsBaseStyle=E,o.default=G,o.rowProps=P,o.screenSizes=$,Object.defineProperties(o,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
@@ -1,5 +1,5 @@
1
1
  {
2
- "name": "toast",
2
+ "name": "grid",
3
3
  "version": "0.0.0",
4
4
  "main": "index.umd.js",
5
5
  "module": "index.es.js",
package/grid/style.css ADDED
@@ -0,0 +1 @@
1
+ .devui-row{display:flex}.devui-row__wrap{flex-wrap:wrap}.devui-row__align--top{align-items:flex-start}.devui-row__align--middle{align-items:center}.devui-row__align--bottom{align-items:flex-end}.devui-row__justify--start{justify-content:flex-start}.devui-row__justify--center{justify-content:center}.devui-row__justify--end{justify-content:flex-end}.devui-row__justify--around{justify-content:space-around}.devui-row__justify--between{justify-content:space-between}.devui-col{position:relative;max-width:100%;min-height:1px}.devui-col__span--0,.devui-col__xs--span-0{display:none}.devui-col__offset--1{margin-left:4.1666666667%}.devui-col__pull--1{right:4.1666666667%}.devui-col__push--1{left:4.1666666667%}.devui-col__span--1{display:block;flex:0 0 4.1666666667%;width:4.1666666667%}.devui-col__xs--offset-1{margin-left:4.1666666667%}.devui-col__xs--pull-1{right:4.1666666667%}.devui-col__xs--push-1{left:4.1666666667%}.devui-col__xs--span-1{display:block;flex:0 0 4.1666666667%;width:4.1666666667%}.devui-col__offset--2{margin-left:8.3333333333%}.devui-col__pull--2{right:8.3333333333%}.devui-col__push--2{left:8.3333333333%}.devui-col__span--2{display:block;flex:0 0 8.3333333333%;width:8.3333333333%}.devui-col__xs--offset-2{margin-left:8.3333333333%}.devui-col__xs--pull-2{right:8.3333333333%}.devui-col__xs--push-2{left:8.3333333333%}.devui-col__xs--span-2{display:block;flex:0 0 8.3333333333%;width:8.3333333333%}.devui-col__offset--3{margin-left:12.5%}.devui-col__pull--3{right:12.5%}.devui-col__push--3{left:12.5%}.devui-col__span--3{display:block;flex:0 0 12.5%;width:12.5%}.devui-col__xs--offset-3{margin-left:12.5%}.devui-col__xs--pull-3{right:12.5%}.devui-col__xs--push-3{left:12.5%}.devui-col__xs--span-3{display:block;flex:0 0 12.5%;width:12.5%}.devui-col__offset--4{margin-left:16.6666666667%}.devui-col__pull--4{right:16.6666666667%}.devui-col__push--4{left:16.6666666667%}.devui-col__span--4{display:block;flex:0 0 16.6666666667%;width:16.6666666667%}.devui-col__xs--offset-4{margin-left:16.6666666667%}.devui-col__xs--pull-4{right:16.6666666667%}.devui-col__xs--push-4{left:16.6666666667%}.devui-col__xs--span-4{display:block;flex:0 0 16.6666666667%;width:16.6666666667%}.devui-col__offset--5{margin-left:20.8333333333%}.devui-col__pull--5{right:20.8333333333%}.devui-col__push--5{left:20.8333333333%}.devui-col__span--5{display:block;flex:0 0 20.8333333333%;width:20.8333333333%}.devui-col__xs--offset-5{margin-left:20.8333333333%}.devui-col__xs--pull-5{right:20.8333333333%}.devui-col__xs--push-5{left:20.8333333333%}.devui-col__xs--span-5{display:block;flex:0 0 20.8333333333%;width:20.8333333333%}.devui-col__offset--6{margin-left:25%}.devui-col__pull--6{right:25%}.devui-col__push--6{left:25%}.devui-col__span--6{display:block;flex:0 0 25%;width:25%}.devui-col__xs--offset-6{margin-left:25%}.devui-col__xs--pull-6{right:25%}.devui-col__xs--push-6{left:25%}.devui-col__xs--span-6{display:block;flex:0 0 25%;width:25%}.devui-col__offset--7{margin-left:29.1666666667%}.devui-col__pull--7{right:29.1666666667%}.devui-col__push--7{left:29.1666666667%}.devui-col__span--7{display:block;flex:0 0 29.1666666667%;width:29.1666666667%}.devui-col__xs--offset-7{margin-left:29.1666666667%}.devui-col__xs--pull-7{right:29.1666666667%}.devui-col__xs--push-7{left:29.1666666667%}.devui-col__xs--span-7{display:block;flex:0 0 29.1666666667%;width:29.1666666667%}.devui-col__offset--8{margin-left:33.3333333333%}.devui-col__pull--8{right:33.3333333333%}.devui-col__push--8{left:33.3333333333%}.devui-col__span--8{display:block;flex:0 0 33.3333333333%;width:33.3333333333%}.devui-col__xs--offset-8{margin-left:33.3333333333%}.devui-col__xs--pull-8{right:33.3333333333%}.devui-col__xs--push-8{left:33.3333333333%}.devui-col__xs--span-8{display:block;flex:0 0 33.3333333333%;width:33.3333333333%}.devui-col__offset--9{margin-left:37.5%}.devui-col__pull--9{right:37.5%}.devui-col__push--9{left:37.5%}.devui-col__span--9{display:block;flex:0 0 37.5%;width:37.5%}.devui-col__xs--offset-9{margin-left:37.5%}.devui-col__xs--pull-9{right:37.5%}.devui-col__xs--push-9{left:37.5%}.devui-col__xs--span-9{display:block;flex:0 0 37.5%;width:37.5%}.devui-col__offset--10{margin-left:41.6666666667%}.devui-col__pull--10{right:41.6666666667%}.devui-col__push--10{left:41.6666666667%}.devui-col__span--10{display:block;flex:0 0 41.6666666667%;width:41.6666666667%}.devui-col__xs--offset-10{margin-left:41.6666666667%}.devui-col__xs--pull-10{right:41.6666666667%}.devui-col__xs--push-10{left:41.6666666667%}.devui-col__xs--span-10{display:block;flex:0 0 41.6666666667%;width:41.6666666667%}.devui-col__offset--11{margin-left:45.8333333333%}.devui-col__pull--11{right:45.8333333333%}.devui-col__push--11{left:45.8333333333%}.devui-col__span--11{display:block;flex:0 0 45.8333333333%;width:45.8333333333%}.devui-col__xs--offset-11{margin-left:45.8333333333%}.devui-col__xs--pull-11{right:45.8333333333%}.devui-col__xs--push-11{left:45.8333333333%}.devui-col__xs--span-11{display:block;flex:0 0 45.8333333333%;width:45.8333333333%}.devui-col__offset--12{margin-left:50%}.devui-col__pull--12{right:50%}.devui-col__push--12{left:50%}.devui-col__span--12{display:block;flex:0 0 50%;width:50%}.devui-col__xs--offset-12{margin-left:50%}.devui-col__xs--pull-12{right:50%}.devui-col__xs--push-12{left:50%}.devui-col__xs--span-12{display:block;flex:0 0 50%;width:50%}.devui-col__offset--13{margin-left:54.1666666667%}.devui-col__pull--13{right:54.1666666667%}.devui-col__push--13{left:54.1666666667%}.devui-col__span--13{display:block;flex:0 0 54.1666666667%;width:54.1666666667%}.devui-col__xs--offset-13{margin-left:54.1666666667%}.devui-col__xs--pull-13{right:54.1666666667%}.devui-col__xs--push-13{left:54.1666666667%}.devui-col__xs--span-13{display:block;flex:0 0 54.1666666667%;width:54.1666666667%}.devui-col__offset--14{margin-left:58.3333333333%}.devui-col__pull--14{right:58.3333333333%}.devui-col__push--14{left:58.3333333333%}.devui-col__span--14{display:block;flex:0 0 58.3333333333%;width:58.3333333333%}.devui-col__xs--offset-14{margin-left:58.3333333333%}.devui-col__xs--pull-14{right:58.3333333333%}.devui-col__xs--push-14{left:58.3333333333%}.devui-col__xs--span-14{display:block;flex:0 0 58.3333333333%;width:58.3333333333%}.devui-col__offset--15{margin-left:62.5%}.devui-col__pull--15{right:62.5%}.devui-col__push--15{left:62.5%}.devui-col__span--15{display:block;flex:0 0 62.5%;width:62.5%}.devui-col__xs--offset-15{margin-left:62.5%}.devui-col__xs--pull-15{right:62.5%}.devui-col__xs--push-15{left:62.5%}.devui-col__xs--span-15{display:block;flex:0 0 62.5%;width:62.5%}.devui-col__offset--16{margin-left:66.6666666667%}.devui-col__pull--16{right:66.6666666667%}.devui-col__push--16{left:66.6666666667%}.devui-col__span--16{display:block;flex:0 0 66.6666666667%;width:66.6666666667%}.devui-col__xs--offset-16{margin-left:66.6666666667%}.devui-col__xs--pull-16{right:66.6666666667%}.devui-col__xs--push-16{left:66.6666666667%}.devui-col__xs--span-16{display:block;flex:0 0 66.6666666667%;width:66.6666666667%}.devui-col__offset--17{margin-left:70.8333333333%}.devui-col__pull--17{right:70.8333333333%}.devui-col__push--17{left:70.8333333333%}.devui-col__span--17{display:block;flex:0 0 70.8333333333%;width:70.8333333333%}.devui-col__xs--offset-17{margin-left:70.8333333333%}.devui-col__xs--pull-17{right:70.8333333333%}.devui-col__xs--push-17{left:70.8333333333%}.devui-col__xs--span-17{display:block;flex:0 0 70.8333333333%;width:70.8333333333%}.devui-col__offset--18{margin-left:75%}.devui-col__pull--18{right:75%}.devui-col__push--18{left:75%}.devui-col__span--18{display:block;flex:0 0 75%;width:75%}.devui-col__xs--offset-18{margin-left:75%}.devui-col__xs--pull-18{right:75%}.devui-col__xs--push-18{left:75%}.devui-col__xs--span-18{display:block;flex:0 0 75%;width:75%}.devui-col__offset--19{margin-left:79.1666666667%}.devui-col__pull--19{right:79.1666666667%}.devui-col__push--19{left:79.1666666667%}.devui-col__span--19{display:block;flex:0 0 79.1666666667%;width:79.1666666667%}.devui-col__xs--offset-19{margin-left:79.1666666667%}.devui-col__xs--pull-19{right:79.1666666667%}.devui-col__xs--push-19{left:79.1666666667%}.devui-col__xs--span-19{display:block;flex:0 0 79.1666666667%;width:79.1666666667%}.devui-col__offset--20{margin-left:83.3333333333%}.devui-col__pull--20{right:83.3333333333%}.devui-col__push--20{left:83.3333333333%}.devui-col__span--20{display:block;flex:0 0 83.3333333333%;width:83.3333333333%}.devui-col__xs--offset-20{margin-left:83.3333333333%}.devui-col__xs--pull-20{right:83.3333333333%}.devui-col__xs--push-20{left:83.3333333333%}.devui-col__xs--span-20{display:block;flex:0 0 83.3333333333%;width:83.3333333333%}.devui-col__offset--21{margin-left:87.5%}.devui-col__pull--21{right:87.5%}.devui-col__push--21{left:87.5%}.devui-col__span--21{display:block;flex:0 0 87.5%;width:87.5%}.devui-col__xs--offset-21{margin-left:87.5%}.devui-col__xs--pull-21{right:87.5%}.devui-col__xs--push-21{left:87.5%}.devui-col__xs--span-21{display:block;flex:0 0 87.5%;width:87.5%}.devui-col__offset--22{margin-left:91.6666666667%}.devui-col__pull--22{right:91.6666666667%}.devui-col__push--22{left:91.6666666667%}.devui-col__span--22{display:block;flex:0 0 91.6666666667%;width:91.6666666667%}.devui-col__xs--offset-22{margin-left:91.6666666667%}.devui-col__xs--pull-22{right:91.6666666667%}.devui-col__xs--push-22{left:91.6666666667%}.devui-col__xs--span-22{display:block;flex:0 0 91.6666666667%;width:91.6666666667%}.devui-col__offset--23{margin-left:95.8333333333%}.devui-col__pull--23{right:95.8333333333%}.devui-col__push--23{left:95.8333333333%}.devui-col__span--23{display:block;flex:0 0 95.8333333333%;width:95.8333333333%}.devui-col__xs--offset-23{margin-left:95.8333333333%}.devui-col__xs--pull-23{right:95.8333333333%}.devui-col__xs--push-23{left:95.8333333333%}.devui-col__xs--span-23{display:block;flex:0 0 95.8333333333%;width:95.8333333333%}.devui-col__offset--24{margin-left:100%}.devui-col__pull--24{right:100%}.devui-col__push--24{left:100%}.devui-col__span--24{display:block;flex:0 0 100%;width:100%}.devui-col__xs--offset-24{margin-left:100%}.devui-col__xs--pull-24{right:100%}.devui-col__xs--push-24{left:100%}.devui-col__xs--span-24{display:block;flex:0 0 100%;width:100%}@media screen and (min-width: 576px){.devui-col__sm--span-0{display:none}.devui-col__sm--offset-1{margin-left:4.1666666667%}.devui-col__sm--pull-1{right:4.1666666667%}.devui-col__sm--push-1{left:4.1666666667%}.devui-col__sm--span-1{display:block;flex:0 0 4.1666666667%;width:4.1666666667%}.devui-col__sm--offset-2{margin-left:8.3333333333%}.devui-col__sm--pull-2{right:8.3333333333%}.devui-col__sm--push-2{left:8.3333333333%}.devui-col__sm--span-2{display:block;flex:0 0 8.3333333333%;width:8.3333333333%}.devui-col__sm--offset-3{margin-left:12.5%}.devui-col__sm--pull-3{right:12.5%}.devui-col__sm--push-3{left:12.5%}.devui-col__sm--span-3{display:block;flex:0 0 12.5%;width:12.5%}.devui-col__sm--offset-4{margin-left:16.6666666667%}.devui-col__sm--pull-4{right:16.6666666667%}.devui-col__sm--push-4{left:16.6666666667%}.devui-col__sm--span-4{display:block;flex:0 0 16.6666666667%;width:16.6666666667%}.devui-col__sm--offset-5{margin-left:20.8333333333%}.devui-col__sm--pull-5{right:20.8333333333%}.devui-col__sm--push-5{left:20.8333333333%}.devui-col__sm--span-5{display:block;flex:0 0 20.8333333333%;width:20.8333333333%}.devui-col__sm--offset-6{margin-left:25%}.devui-col__sm--pull-6{right:25%}.devui-col__sm--push-6{left:25%}.devui-col__sm--span-6{display:block;flex:0 0 25%;width:25%}.devui-col__sm--offset-7{margin-left:29.1666666667%}.devui-col__sm--pull-7{right:29.1666666667%}.devui-col__sm--push-7{left:29.1666666667%}.devui-col__sm--span-7{display:block;flex:0 0 29.1666666667%;width:29.1666666667%}.devui-col__sm--offset-8{margin-left:33.3333333333%}.devui-col__sm--pull-8{right:33.3333333333%}.devui-col__sm--push-8{left:33.3333333333%}.devui-col__sm--span-8{display:block;flex:0 0 33.3333333333%;width:33.3333333333%}.devui-col__sm--offset-9{margin-left:37.5%}.devui-col__sm--pull-9{right:37.5%}.devui-col__sm--push-9{left:37.5%}.devui-col__sm--span-9{display:block;flex:0 0 37.5%;width:37.5%}.devui-col__sm--offset-10{margin-left:41.6666666667%}.devui-col__sm--pull-10{right:41.6666666667%}.devui-col__sm--push-10{left:41.6666666667%}.devui-col__sm--span-10{display:block;flex:0 0 41.6666666667%;width:41.6666666667%}.devui-col__sm--offset-11{margin-left:45.8333333333%}.devui-col__sm--pull-11{right:45.8333333333%}.devui-col__sm--push-11{left:45.8333333333%}.devui-col__sm--span-11{display:block;flex:0 0 45.8333333333%;width:45.8333333333%}.devui-col__sm--offset-12{margin-left:50%}.devui-col__sm--pull-12{right:50%}.devui-col__sm--push-12{left:50%}.devui-col__sm--span-12{display:block;flex:0 0 50%;width:50%}.devui-col__sm--offset-13{margin-left:54.1666666667%}.devui-col__sm--pull-13{right:54.1666666667%}.devui-col__sm--push-13{left:54.1666666667%}.devui-col__sm--span-13{display:block;flex:0 0 54.1666666667%;width:54.1666666667%}.devui-col__sm--offset-14{margin-left:58.3333333333%}.devui-col__sm--pull-14{right:58.3333333333%}.devui-col__sm--push-14{left:58.3333333333%}.devui-col__sm--span-14{display:block;flex:0 0 58.3333333333%;width:58.3333333333%}.devui-col__sm--offset-15{margin-left:62.5%}.devui-col__sm--pull-15{right:62.5%}.devui-col__sm--push-15{left:62.5%}.devui-col__sm--span-15{display:block;flex:0 0 62.5%;width:62.5%}.devui-col__sm--offset-16{margin-left:66.6666666667%}.devui-col__sm--pull-16{right:66.6666666667%}.devui-col__sm--push-16{left:66.6666666667%}.devui-col__sm--span-16{display:block;flex:0 0 66.6666666667%;width:66.6666666667%}.devui-col__sm--offset-17{margin-left:70.8333333333%}.devui-col__sm--pull-17{right:70.8333333333%}.devui-col__sm--push-17{left:70.8333333333%}.devui-col__sm--span-17{display:block;flex:0 0 70.8333333333%;width:70.8333333333%}.devui-col__sm--offset-18{margin-left:75%}.devui-col__sm--pull-18{right:75%}.devui-col__sm--push-18{left:75%}.devui-col__sm--span-18{display:block;flex:0 0 75%;width:75%}.devui-col__sm--offset-19{margin-left:79.1666666667%}.devui-col__sm--pull-19{right:79.1666666667%}.devui-col__sm--push-19{left:79.1666666667%}.devui-col__sm--span-19{display:block;flex:0 0 79.1666666667%;width:79.1666666667%}.devui-col__sm--offset-20{margin-left:83.3333333333%}.devui-col__sm--pull-20{right:83.3333333333%}.devui-col__sm--push-20{left:83.3333333333%}.devui-col__sm--span-20{display:block;flex:0 0 83.3333333333%;width:83.3333333333%}.devui-col__sm--offset-21{margin-left:87.5%}.devui-col__sm--pull-21{right:87.5%}.devui-col__sm--push-21{left:87.5%}.devui-col__sm--span-21{display:block;flex:0 0 87.5%;width:87.5%}.devui-col__sm--offset-22{margin-left:91.6666666667%}.devui-col__sm--pull-22{right:91.6666666667%}.devui-col__sm--push-22{left:91.6666666667%}.devui-col__sm--span-22{display:block;flex:0 0 91.6666666667%;width:91.6666666667%}.devui-col__sm--offset-23{margin-left:95.8333333333%}.devui-col__sm--pull-23{right:95.8333333333%}.devui-col__sm--push-23{left:95.8333333333%}.devui-col__sm--span-23{display:block;flex:0 0 95.8333333333%;width:95.8333333333%}.devui-col__sm--offset-24{margin-left:100%}.devui-col__sm--pull-24{right:100%}.devui-col__sm--push-24{left:100%}.devui-col__sm--span-24{display:block;flex:0 0 100%;width:100%}}@media screen and (min-width: 768px){.devui-col__md--span-0{display:none}.devui-col__md--offset-1{margin-left:4.1666666667%}.devui-col__md--pull-1{right:4.1666666667%}.devui-col__md--push-1{left:4.1666666667%}.devui-col__md--span-1{display:block;flex:0 0 4.1666666667%;width:4.1666666667%}.devui-col__md--offset-2{margin-left:8.3333333333%}.devui-col__md--pull-2{right:8.3333333333%}.devui-col__md--push-2{left:8.3333333333%}.devui-col__md--span-2{display:block;flex:0 0 8.3333333333%;width:8.3333333333%}.devui-col__md--offset-3{margin-left:12.5%}.devui-col__md--pull-3{right:12.5%}.devui-col__md--push-3{left:12.5%}.devui-col__md--span-3{display:block;flex:0 0 12.5%;width:12.5%}.devui-col__md--offset-4{margin-left:16.6666666667%}.devui-col__md--pull-4{right:16.6666666667%}.devui-col__md--push-4{left:16.6666666667%}.devui-col__md--span-4{display:block;flex:0 0 16.6666666667%;width:16.6666666667%}.devui-col__md--offset-5{margin-left:20.8333333333%}.devui-col__md--pull-5{right:20.8333333333%}.devui-col__md--push-5{left:20.8333333333%}.devui-col__md--span-5{display:block;flex:0 0 20.8333333333%;width:20.8333333333%}.devui-col__md--offset-6{margin-left:25%}.devui-col__md--pull-6{right:25%}.devui-col__md--push-6{left:25%}.devui-col__md--span-6{display:block;flex:0 0 25%;width:25%}.devui-col__md--offset-7{margin-left:29.1666666667%}.devui-col__md--pull-7{right:29.1666666667%}.devui-col__md--push-7{left:29.1666666667%}.devui-col__md--span-7{display:block;flex:0 0 29.1666666667%;width:29.1666666667%}.devui-col__md--offset-8{margin-left:33.3333333333%}.devui-col__md--pull-8{right:33.3333333333%}.devui-col__md--push-8{left:33.3333333333%}.devui-col__md--span-8{display:block;flex:0 0 33.3333333333%;width:33.3333333333%}.devui-col__md--offset-9{margin-left:37.5%}.devui-col__md--pull-9{right:37.5%}.devui-col__md--push-9{left:37.5%}.devui-col__md--span-9{display:block;flex:0 0 37.5%;width:37.5%}.devui-col__md--offset-10{margin-left:41.6666666667%}.devui-col__md--pull-10{right:41.6666666667%}.devui-col__md--push-10{left:41.6666666667%}.devui-col__md--span-10{display:block;flex:0 0 41.6666666667%;width:41.6666666667%}.devui-col__md--offset-11{margin-left:45.8333333333%}.devui-col__md--pull-11{right:45.8333333333%}.devui-col__md--push-11{left:45.8333333333%}.devui-col__md--span-11{display:block;flex:0 0 45.8333333333%;width:45.8333333333%}.devui-col__md--offset-12{margin-left:50%}.devui-col__md--pull-12{right:50%}.devui-col__md--push-12{left:50%}.devui-col__md--span-12{display:block;flex:0 0 50%;width:50%}.devui-col__md--offset-13{margin-left:54.1666666667%}.devui-col__md--pull-13{right:54.1666666667%}.devui-col__md--push-13{left:54.1666666667%}.devui-col__md--span-13{display:block;flex:0 0 54.1666666667%;width:54.1666666667%}.devui-col__md--offset-14{margin-left:58.3333333333%}.devui-col__md--pull-14{right:58.3333333333%}.devui-col__md--push-14{left:58.3333333333%}.devui-col__md--span-14{display:block;flex:0 0 58.3333333333%;width:58.3333333333%}.devui-col__md--offset-15{margin-left:62.5%}.devui-col__md--pull-15{right:62.5%}.devui-col__md--push-15{left:62.5%}.devui-col__md--span-15{display:block;flex:0 0 62.5%;width:62.5%}.devui-col__md--offset-16{margin-left:66.6666666667%}.devui-col__md--pull-16{right:66.6666666667%}.devui-col__md--push-16{left:66.6666666667%}.devui-col__md--span-16{display:block;flex:0 0 66.6666666667%;width:66.6666666667%}.devui-col__md--offset-17{margin-left:70.8333333333%}.devui-col__md--pull-17{right:70.8333333333%}.devui-col__md--push-17{left:70.8333333333%}.devui-col__md--span-17{display:block;flex:0 0 70.8333333333%;width:70.8333333333%}.devui-col__md--offset-18{margin-left:75%}.devui-col__md--pull-18{right:75%}.devui-col__md--push-18{left:75%}.devui-col__md--span-18{display:block;flex:0 0 75%;width:75%}.devui-col__md--offset-19{margin-left:79.1666666667%}.devui-col__md--pull-19{right:79.1666666667%}.devui-col__md--push-19{left:79.1666666667%}.devui-col__md--span-19{display:block;flex:0 0 79.1666666667%;width:79.1666666667%}.devui-col__md--offset-20{margin-left:83.3333333333%}.devui-col__md--pull-20{right:83.3333333333%}.devui-col__md--push-20{left:83.3333333333%}.devui-col__md--span-20{display:block;flex:0 0 83.3333333333%;width:83.3333333333%}.devui-col__md--offset-21{margin-left:87.5%}.devui-col__md--pull-21{right:87.5%}.devui-col__md--push-21{left:87.5%}.devui-col__md--span-21{display:block;flex:0 0 87.5%;width:87.5%}.devui-col__md--offset-22{margin-left:91.6666666667%}.devui-col__md--pull-22{right:91.6666666667%}.devui-col__md--push-22{left:91.6666666667%}.devui-col__md--span-22{display:block;flex:0 0 91.6666666667%;width:91.6666666667%}.devui-col__md--offset-23{margin-left:95.8333333333%}.devui-col__md--pull-23{right:95.8333333333%}.devui-col__md--push-23{left:95.8333333333%}.devui-col__md--span-23{display:block;flex:0 0 95.8333333333%;width:95.8333333333%}.devui-col__md--offset-24{margin-left:100%}.devui-col__md--pull-24{right:100%}.devui-col__md--push-24{left:100%}.devui-col__md--span-24{display:block;flex:0 0 100%;width:100%}}@media screen and (min-width: 992px){.devui-col__lg--span-0{display:none}.devui-col__lg--offset-1{margin-left:4.1666666667%}.devui-col__lg--pull-1{right:4.1666666667%}.devui-col__lg--push-1{left:4.1666666667%}.devui-col__lg--span-1{display:block;flex:0 0 4.1666666667%;width:4.1666666667%}.devui-col__lg--offset-2{margin-left:8.3333333333%}.devui-col__lg--pull-2{right:8.3333333333%}.devui-col__lg--push-2{left:8.3333333333%}.devui-col__lg--span-2{display:block;flex:0 0 8.3333333333%;width:8.3333333333%}.devui-col__lg--offset-3{margin-left:12.5%}.devui-col__lg--pull-3{right:12.5%}.devui-col__lg--push-3{left:12.5%}.devui-col__lg--span-3{display:block;flex:0 0 12.5%;width:12.5%}.devui-col__lg--offset-4{margin-left:16.6666666667%}.devui-col__lg--pull-4{right:16.6666666667%}.devui-col__lg--push-4{left:16.6666666667%}.devui-col__lg--span-4{display:block;flex:0 0 16.6666666667%;width:16.6666666667%}.devui-col__lg--offset-5{margin-left:20.8333333333%}.devui-col__lg--pull-5{right:20.8333333333%}.devui-col__lg--push-5{left:20.8333333333%}.devui-col__lg--span-5{display:block;flex:0 0 20.8333333333%;width:20.8333333333%}.devui-col__lg--offset-6{margin-left:25%}.devui-col__lg--pull-6{right:25%}.devui-col__lg--push-6{left:25%}.devui-col__lg--span-6{display:block;flex:0 0 25%;width:25%}.devui-col__lg--offset-7{margin-left:29.1666666667%}.devui-col__lg--pull-7{right:29.1666666667%}.devui-col__lg--push-7{left:29.1666666667%}.devui-col__lg--span-7{display:block;flex:0 0 29.1666666667%;width:29.1666666667%}.devui-col__lg--offset-8{margin-left:33.3333333333%}.devui-col__lg--pull-8{right:33.3333333333%}.devui-col__lg--push-8{left:33.3333333333%}.devui-col__lg--span-8{display:block;flex:0 0 33.3333333333%;width:33.3333333333%}.devui-col__lg--offset-9{margin-left:37.5%}.devui-col__lg--pull-9{right:37.5%}.devui-col__lg--push-9{left:37.5%}.devui-col__lg--span-9{display:block;flex:0 0 37.5%;width:37.5%}.devui-col__lg--offset-10{margin-left:41.6666666667%}.devui-col__lg--pull-10{right:41.6666666667%}.devui-col__lg--push-10{left:41.6666666667%}.devui-col__lg--span-10{display:block;flex:0 0 41.6666666667%;width:41.6666666667%}.devui-col__lg--offset-11{margin-left:45.8333333333%}.devui-col__lg--pull-11{right:45.8333333333%}.devui-col__lg--push-11{left:45.8333333333%}.devui-col__lg--span-11{display:block;flex:0 0 45.8333333333%;width:45.8333333333%}.devui-col__lg--offset-12{margin-left:50%}.devui-col__lg--pull-12{right:50%}.devui-col__lg--push-12{left:50%}.devui-col__lg--span-12{display:block;flex:0 0 50%;width:50%}.devui-col__lg--offset-13{margin-left:54.1666666667%}.devui-col__lg--pull-13{right:54.1666666667%}.devui-col__lg--push-13{left:54.1666666667%}.devui-col__lg--span-13{display:block;flex:0 0 54.1666666667%;width:54.1666666667%}.devui-col__lg--offset-14{margin-left:58.3333333333%}.devui-col__lg--pull-14{right:58.3333333333%}.devui-col__lg--push-14{left:58.3333333333%}.devui-col__lg--span-14{display:block;flex:0 0 58.3333333333%;width:58.3333333333%}.devui-col__lg--offset-15{margin-left:62.5%}.devui-col__lg--pull-15{right:62.5%}.devui-col__lg--push-15{left:62.5%}.devui-col__lg--span-15{display:block;flex:0 0 62.5%;width:62.5%}.devui-col__lg--offset-16{margin-left:66.6666666667%}.devui-col__lg--pull-16{right:66.6666666667%}.devui-col__lg--push-16{left:66.6666666667%}.devui-col__lg--span-16{display:block;flex:0 0 66.6666666667%;width:66.6666666667%}.devui-col__lg--offset-17{margin-left:70.8333333333%}.devui-col__lg--pull-17{right:70.8333333333%}.devui-col__lg--push-17{left:70.8333333333%}.devui-col__lg--span-17{display:block;flex:0 0 70.8333333333%;width:70.8333333333%}.devui-col__lg--offset-18{margin-left:75%}.devui-col__lg--pull-18{right:75%}.devui-col__lg--push-18{left:75%}.devui-col__lg--span-18{display:block;flex:0 0 75%;width:75%}.devui-col__lg--offset-19{margin-left:79.1666666667%}.devui-col__lg--pull-19{right:79.1666666667%}.devui-col__lg--push-19{left:79.1666666667%}.devui-col__lg--span-19{display:block;flex:0 0 79.1666666667%;width:79.1666666667%}.devui-col__lg--offset-20{margin-left:83.3333333333%}.devui-col__lg--pull-20{right:83.3333333333%}.devui-col__lg--push-20{left:83.3333333333%}.devui-col__lg--span-20{display:block;flex:0 0 83.3333333333%;width:83.3333333333%}.devui-col__lg--offset-21{margin-left:87.5%}.devui-col__lg--pull-21{right:87.5%}.devui-col__lg--push-21{left:87.5%}.devui-col__lg--span-21{display:block;flex:0 0 87.5%;width:87.5%}.devui-col__lg--offset-22{margin-left:91.6666666667%}.devui-col__lg--pull-22{right:91.6666666667%}.devui-col__lg--push-22{left:91.6666666667%}.devui-col__lg--span-22{display:block;flex:0 0 91.6666666667%;width:91.6666666667%}.devui-col__lg--offset-23{margin-left:95.8333333333%}.devui-col__lg--pull-23{right:95.8333333333%}.devui-col__lg--push-23{left:95.8333333333%}.devui-col__lg--span-23{display:block;flex:0 0 95.8333333333%;width:95.8333333333%}.devui-col__lg--offset-24{margin-left:100%}.devui-col__lg--pull-24{right:100%}.devui-col__lg--push-24{left:100%}.devui-col__lg--span-24{display:block;flex:0 0 100%;width:100%}}@media screen and (min-width: 1200px){.devui-col__xl--span-0{display:none}.devui-col__xl--offset-1{margin-left:4.1666666667%}.devui-col__xl--pull-1{right:4.1666666667%}.devui-col__xl--push-1{left:4.1666666667%}.devui-col__xl--span-1{display:block;flex:0 0 4.1666666667%;width:4.1666666667%}.devui-col__xl--offset-2{margin-left:8.3333333333%}.devui-col__xl--pull-2{right:8.3333333333%}.devui-col__xl--push-2{left:8.3333333333%}.devui-col__xl--span-2{display:block;flex:0 0 8.3333333333%;width:8.3333333333%}.devui-col__xl--offset-3{margin-left:12.5%}.devui-col__xl--pull-3{right:12.5%}.devui-col__xl--push-3{left:12.5%}.devui-col__xl--span-3{display:block;flex:0 0 12.5%;width:12.5%}.devui-col__xl--offset-4{margin-left:16.6666666667%}.devui-col__xl--pull-4{right:16.6666666667%}.devui-col__xl--push-4{left:16.6666666667%}.devui-col__xl--span-4{display:block;flex:0 0 16.6666666667%;width:16.6666666667%}.devui-col__xl--offset-5{margin-left:20.8333333333%}.devui-col__xl--pull-5{right:20.8333333333%}.devui-col__xl--push-5{left:20.8333333333%}.devui-col__xl--span-5{display:block;flex:0 0 20.8333333333%;width:20.8333333333%}.devui-col__xl--offset-6{margin-left:25%}.devui-col__xl--pull-6{right:25%}.devui-col__xl--push-6{left:25%}.devui-col__xl--span-6{display:block;flex:0 0 25%;width:25%}.devui-col__xl--offset-7{margin-left:29.1666666667%}.devui-col__xl--pull-7{right:29.1666666667%}.devui-col__xl--push-7{left:29.1666666667%}.devui-col__xl--span-7{display:block;flex:0 0 29.1666666667%;width:29.1666666667%}.devui-col__xl--offset-8{margin-left:33.3333333333%}.devui-col__xl--pull-8{right:33.3333333333%}.devui-col__xl--push-8{left:33.3333333333%}.devui-col__xl--span-8{display:block;flex:0 0 33.3333333333%;width:33.3333333333%}.devui-col__xl--offset-9{margin-left:37.5%}.devui-col__xl--pull-9{right:37.5%}.devui-col__xl--push-9{left:37.5%}.devui-col__xl--span-9{display:block;flex:0 0 37.5%;width:37.5%}.devui-col__xl--offset-10{margin-left:41.6666666667%}.devui-col__xl--pull-10{right:41.6666666667%}.devui-col__xl--push-10{left:41.6666666667%}.devui-col__xl--span-10{display:block;flex:0 0 41.6666666667%;width:41.6666666667%}.devui-col__xl--offset-11{margin-left:45.8333333333%}.devui-col__xl--pull-11{right:45.8333333333%}.devui-col__xl--push-11{left:45.8333333333%}.devui-col__xl--span-11{display:block;flex:0 0 45.8333333333%;width:45.8333333333%}.devui-col__xl--offset-12{margin-left:50%}.devui-col__xl--pull-12{right:50%}.devui-col__xl--push-12{left:50%}.devui-col__xl--span-12{display:block;flex:0 0 50%;width:50%}.devui-col__xl--offset-13{margin-left:54.1666666667%}.devui-col__xl--pull-13{right:54.1666666667%}.devui-col__xl--push-13{left:54.1666666667%}.devui-col__xl--span-13{display:block;flex:0 0 54.1666666667%;width:54.1666666667%}.devui-col__xl--offset-14{margin-left:58.3333333333%}.devui-col__xl--pull-14{right:58.3333333333%}.devui-col__xl--push-14{left:58.3333333333%}.devui-col__xl--span-14{display:block;flex:0 0 58.3333333333%;width:58.3333333333%}.devui-col__xl--offset-15{margin-left:62.5%}.devui-col__xl--pull-15{right:62.5%}.devui-col__xl--push-15{left:62.5%}.devui-col__xl--span-15{display:block;flex:0 0 62.5%;width:62.5%}.devui-col__xl--offset-16{margin-left:66.6666666667%}.devui-col__xl--pull-16{right:66.6666666667%}.devui-col__xl--push-16{left:66.6666666667%}.devui-col__xl--span-16{display:block;flex:0 0 66.6666666667%;width:66.6666666667%}.devui-col__xl--offset-17{margin-left:70.8333333333%}.devui-col__xl--pull-17{right:70.8333333333%}.devui-col__xl--push-17{left:70.8333333333%}.devui-col__xl--span-17{display:block;flex:0 0 70.8333333333%;width:70.8333333333%}.devui-col__xl--offset-18{margin-left:75%}.devui-col__xl--pull-18{right:75%}.devui-col__xl--push-18{left:75%}.devui-col__xl--span-18{display:block;flex:0 0 75%;width:75%}.devui-col__xl--offset-19{margin-left:79.1666666667%}.devui-col__xl--pull-19{right:79.1666666667%}.devui-col__xl--push-19{left:79.1666666667%}.devui-col__xl--span-19{display:block;flex:0 0 79.1666666667%;width:79.1666666667%}.devui-col__xl--offset-20{margin-left:83.3333333333%}.devui-col__xl--pull-20{right:83.3333333333%}.devui-col__xl--push-20{left:83.3333333333%}.devui-col__xl--span-20{display:block;flex:0 0 83.3333333333%;width:83.3333333333%}.devui-col__xl--offset-21{margin-left:87.5%}.devui-col__xl--pull-21{right:87.5%}.devui-col__xl--push-21{left:87.5%}.devui-col__xl--span-21{display:block;flex:0 0 87.5%;width:87.5%}.devui-col__xl--offset-22{margin-left:91.6666666667%}.devui-col__xl--pull-22{right:91.6666666667%}.devui-col__xl--push-22{left:91.6666666667%}.devui-col__xl--span-22{display:block;flex:0 0 91.6666666667%;width:91.6666666667%}.devui-col__xl--offset-23{margin-left:95.8333333333%}.devui-col__xl--pull-23{right:95.8333333333%}.devui-col__xl--push-23{left:95.8333333333%}.devui-col__xl--span-23{display:block;flex:0 0 95.8333333333%;width:95.8333333333%}.devui-col__xl--offset-24{margin-left:100%}.devui-col__xl--pull-24{right:100%}.devui-col__xl--push-24{left:100%}.devui-col__xl--span-24{display:block;flex:0 0 100%;width:100%}}@media screen and (min-width: 1600px){.devui-col__xxl--span-0{display:none}.devui-col__xxl--offset-1{margin-left:4.1666666667%}.devui-col__xxl--pull-1{right:4.1666666667%}.devui-col__xxl--push-1{left:4.1666666667%}.devui-col__xxl--span-1{display:block;flex:0 0 4.1666666667%;width:4.1666666667%}.devui-col__xxl--offset-2{margin-left:8.3333333333%}.devui-col__xxl--pull-2{right:8.3333333333%}.devui-col__xxl--push-2{left:8.3333333333%}.devui-col__xxl--span-2{display:block;flex:0 0 8.3333333333%;width:8.3333333333%}.devui-col__xxl--offset-3{margin-left:12.5%}.devui-col__xxl--pull-3{right:12.5%}.devui-col__xxl--push-3{left:12.5%}.devui-col__xxl--span-3{display:block;flex:0 0 12.5%;width:12.5%}.devui-col__xxl--offset-4{margin-left:16.6666666667%}.devui-col__xxl--pull-4{right:16.6666666667%}.devui-col__xxl--push-4{left:16.6666666667%}.devui-col__xxl--span-4{display:block;flex:0 0 16.6666666667%;width:16.6666666667%}.devui-col__xxl--offset-5{margin-left:20.8333333333%}.devui-col__xxl--pull-5{right:20.8333333333%}.devui-col__xxl--push-5{left:20.8333333333%}.devui-col__xxl--span-5{display:block;flex:0 0 20.8333333333%;width:20.8333333333%}.devui-col__xxl--offset-6{margin-left:25%}.devui-col__xxl--pull-6{right:25%}.devui-col__xxl--push-6{left:25%}.devui-col__xxl--span-6{display:block;flex:0 0 25%;width:25%}.devui-col__xxl--offset-7{margin-left:29.1666666667%}.devui-col__xxl--pull-7{right:29.1666666667%}.devui-col__xxl--push-7{left:29.1666666667%}.devui-col__xxl--span-7{display:block;flex:0 0 29.1666666667%;width:29.1666666667%}.devui-col__xxl--offset-8{margin-left:33.3333333333%}.devui-col__xxl--pull-8{right:33.3333333333%}.devui-col__xxl--push-8{left:33.3333333333%}.devui-col__xxl--span-8{display:block;flex:0 0 33.3333333333%;width:33.3333333333%}.devui-col__xxl--offset-9{margin-left:37.5%}.devui-col__xxl--pull-9{right:37.5%}.devui-col__xxl--push-9{left:37.5%}.devui-col__xxl--span-9{display:block;flex:0 0 37.5%;width:37.5%}.devui-col__xxl--offset-10{margin-left:41.6666666667%}.devui-col__xxl--pull-10{right:41.6666666667%}.devui-col__xxl--push-10{left:41.6666666667%}.devui-col__xxl--span-10{display:block;flex:0 0 41.6666666667%;width:41.6666666667%}.devui-col__xxl--offset-11{margin-left:45.8333333333%}.devui-col__xxl--pull-11{right:45.8333333333%}.devui-col__xxl--push-11{left:45.8333333333%}.devui-col__xxl--span-11{display:block;flex:0 0 45.8333333333%;width:45.8333333333%}.devui-col__xxl--offset-12{margin-left:50%}.devui-col__xxl--pull-12{right:50%}.devui-col__xxl--push-12{left:50%}.devui-col__xxl--span-12{display:block;flex:0 0 50%;width:50%}.devui-col__xxl--offset-13{margin-left:54.1666666667%}.devui-col__xxl--pull-13{right:54.1666666667%}.devui-col__xxl--push-13{left:54.1666666667%}.devui-col__xxl--span-13{display:block;flex:0 0 54.1666666667%;width:54.1666666667%}.devui-col__xxl--offset-14{margin-left:58.3333333333%}.devui-col__xxl--pull-14{right:58.3333333333%}.devui-col__xxl--push-14{left:58.3333333333%}.devui-col__xxl--span-14{display:block;flex:0 0 58.3333333333%;width:58.3333333333%}.devui-col__xxl--offset-15{margin-left:62.5%}.devui-col__xxl--pull-15{right:62.5%}.devui-col__xxl--push-15{left:62.5%}.devui-col__xxl--span-15{display:block;flex:0 0 62.5%;width:62.5%}.devui-col__xxl--offset-16{margin-left:66.6666666667%}.devui-col__xxl--pull-16{right:66.6666666667%}.devui-col__xxl--push-16{left:66.6666666667%}.devui-col__xxl--span-16{display:block;flex:0 0 66.6666666667%;width:66.6666666667%}.devui-col__xxl--offset-17{margin-left:70.8333333333%}.devui-col__xxl--pull-17{right:70.8333333333%}.devui-col__xxl--push-17{left:70.8333333333%}.devui-col__xxl--span-17{display:block;flex:0 0 70.8333333333%;width:70.8333333333%}.devui-col__xxl--offset-18{margin-left:75%}.devui-col__xxl--pull-18{right:75%}.devui-col__xxl--push-18{left:75%}.devui-col__xxl--span-18{display:block;flex:0 0 75%;width:75%}.devui-col__xxl--offset-19{margin-left:79.1666666667%}.devui-col__xxl--pull-19{right:79.1666666667%}.devui-col__xxl--push-19{left:79.1666666667%}.devui-col__xxl--span-19{display:block;flex:0 0 79.1666666667%;width:79.1666666667%}.devui-col__xxl--offset-20{margin-left:83.3333333333%}.devui-col__xxl--pull-20{right:83.3333333333%}.devui-col__xxl--push-20{left:83.3333333333%}.devui-col__xxl--span-20{display:block;flex:0 0 83.3333333333%;width:83.3333333333%}.devui-col__xxl--offset-21{margin-left:87.5%}.devui-col__xxl--pull-21{right:87.5%}.devui-col__xxl--push-21{left:87.5%}.devui-col__xxl--span-21{display:block;flex:0 0 87.5%;width:87.5%}.devui-col__xxl--offset-22{margin-left:91.6666666667%}.devui-col__xxl--pull-22{right:91.6666666667%}.devui-col__xxl--push-22{left:91.6666666667%}.devui-col__xxl--span-22{display:block;flex:0 0 91.6666666667%;width:91.6666666667%}.devui-col__xxl--offset-23{margin-left:95.8333333333%}.devui-col__xxl--pull-23{right:95.8333333333%}.devui-col__xxl--push-23{left:95.8333333333%}.devui-col__xxl--span-23{display:block;flex:0 0 95.8333333333%;width:95.8333333333%}.devui-col__xxl--offset-24{margin-left:100%}.devui-col__xxl--pull-24{right:100%}.devui-col__xxl--push-24{left:100%}.devui-col__xxl--span-24{display:block;flex:0 0 100%;width:100%}}
@@ -0,0 +1,7 @@
1
+ import { App } from 'vue';
2
+ declare function install(app: App): void
3
+ declare const _default: {
4
+ install: typeof install;
5
+ version: string;
6
+ };
7
+ export default _default;
package/icon/index.es.js CHANGED
@@ -1 +1,218 @@
1
- var e=Object.defineProperty,r=Object.getOwnPropertySymbols,t=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable,o=(r,t,n)=>t in r?e(r,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):r[t]=n;import{defineComponent as a,createVNode as i}from"vue";var l=a({name:"DIcon",props:{name:{type:String,required:!0},size:{type:String,default:"inherit"},color:{type:String,default:"inherit"},classPrefix:{type:String,default:"icon"}},setup:e=>((e,a)=>{for(var i in a||(a={}))t.call(a,i)&&o(e,i,a[i]);if(r)for(var i of r(a))n.call(a,i)&&o(e,i,a[i]);return e})({},e),render(){const{name:e,size:r,color:t,classPrefix:n}=this;return i("i",{class:`${n} ${n}-${e}`,style:{fontSize:r,color:t}},null)}});l.install=function(e){e.component(l.name,l)};var c={title:"Icon 图标",category:"通用",install(e){e.use(l)}};export{l as Icon,c as default};
1
+ import { defineComponent, toRefs, computed, createVNode, resolveDynamicComponent, mergeProps } from "vue";
2
+ const DEFAULT_PREFIX = "icon";
3
+ const iconProps = {
4
+ name: {
5
+ type: String,
6
+ default: "",
7
+ required: true
8
+ },
9
+ size: {
10
+ type: [Number, String],
11
+ default: "inherit"
12
+ },
13
+ color: {
14
+ type: String,
15
+ default: "inherit"
16
+ },
17
+ component: {
18
+ type: Object,
19
+ default: null
20
+ },
21
+ classPrefix: {
22
+ type: String,
23
+ default: DEFAULT_PREFIX
24
+ },
25
+ operable: {
26
+ type: Boolean,
27
+ default: false
28
+ },
29
+ disabled: {
30
+ type: Boolean,
31
+ default: false
32
+ },
33
+ rotate: {
34
+ type: [Number, String]
35
+ }
36
+ };
37
+ const svgIconProps = {
38
+ name: {
39
+ type: String,
40
+ default: "",
41
+ required: true
42
+ },
43
+ color: {
44
+ type: String,
45
+ default: "inherit"
46
+ },
47
+ size: {
48
+ type: [Number, String],
49
+ default: "inherit"
50
+ }
51
+ };
52
+ function createBem(namespace, element, modifier) {
53
+ let cls = namespace;
54
+ if (element) {
55
+ cls += `__${element}`;
56
+ }
57
+ if (modifier) {
58
+ cls += `--${modifier}`;
59
+ }
60
+ return cls;
61
+ }
62
+ function useNamespace(block, needDot = false) {
63
+ const namespace = needDot ? `.devui-${block}` : `devui-${block}`;
64
+ const b = () => createBem(namespace);
65
+ const e = (element) => element ? createBem(namespace, element) : "";
66
+ const m = (modifier) => modifier ? createBem(namespace, "", modifier) : "";
67
+ const em = (element, modifier) => element && modifier ? createBem(namespace, element, modifier) : "";
68
+ return {
69
+ b,
70
+ e,
71
+ m,
72
+ em
73
+ };
74
+ }
75
+ var icon = "";
76
+ var svgIcon = defineComponent({
77
+ name: "DSvgIcon",
78
+ props: svgIconProps,
79
+ setup(props) {
80
+ const {
81
+ name,
82
+ color,
83
+ size
84
+ } = toRefs(props);
85
+ const ns = useNamespace("svg-icon");
86
+ const iconName = computed(() => `#icon-${name.value}`);
87
+ const iconSize = computed(() => {
88
+ return typeof size.value === "number" ? `${size.value}px` : size.value;
89
+ });
90
+ const styles = {
91
+ width: iconSize.value,
92
+ height: iconSize.value
93
+ };
94
+ return () => {
95
+ return createVNode("svg", {
96
+ "class": ns.b(),
97
+ "style": styles
98
+ }, [createVNode("use", {
99
+ "xlink:href": iconName.value,
100
+ "fill": color.value
101
+ }, null)]);
102
+ };
103
+ }
104
+ });
105
+ function isUrl(value) {
106
+ return /^((http|https):)?\/\//.test(value);
107
+ }
108
+ function useIconDom(props, ctx) {
109
+ const {
110
+ component,
111
+ name,
112
+ size,
113
+ color,
114
+ classPrefix,
115
+ rotate
116
+ } = toRefs(props);
117
+ const ns = useNamespace("icon");
118
+ const iconSize = computed(() => {
119
+ return typeof size.value === "number" ? `${size.value}px` : size.value;
120
+ });
121
+ const IconComponent = component.value ? resolveDynamicComponent(component.value) : resolveDynamicComponent(svgIcon);
122
+ const imgIconDom = () => {
123
+ return createVNode("img", mergeProps({
124
+ "src": name.value,
125
+ "alt": name.value.split("/")[name.value.split("/").length - 1],
126
+ "class": [(rotate == null ? void 0 : rotate.value) === "infinite" && ns.m("spin")],
127
+ "style": {
128
+ width: iconSize.value || "",
129
+ transform: `rotate(${rotate == null ? void 0 : rotate.value}deg)`,
130
+ verticalAlign: "middle"
131
+ }
132
+ }, ctx.attrs), null);
133
+ };
134
+ const svgIconDom = () => {
135
+ return createVNode(IconComponent, mergeProps({
136
+ "name": name.value,
137
+ "color": color.value,
138
+ "size": iconSize.value,
139
+ "class": [(rotate == null ? void 0 : rotate.value) === "infinite" && ns.m("spin")],
140
+ "style": {
141
+ transform: `rotate(${rotate == null ? void 0 : rotate.value}deg)`
142
+ }
143
+ }, ctx.attrs), null);
144
+ };
145
+ const fontIconDom = () => {
146
+ const fontIconClass = /^icon-/.test(name.value) ? name.value : `${classPrefix.value}-${name.value}`;
147
+ return createVNode("i", mergeProps({
148
+ "class": [classPrefix.value, fontIconClass, (rotate == null ? void 0 : rotate.value) === "infinite" && ns.m("spin")],
149
+ "style": {
150
+ fontSize: iconSize.value,
151
+ color: color.value,
152
+ transform: `rotate(${rotate == null ? void 0 : rotate.value}deg)`
153
+ }
154
+ }, ctx.attrs), null);
155
+ };
156
+ const iconDom = () => {
157
+ return component.value ? svgIconDom() : isUrl(name.value) ? imgIconDom() : fontIconDom();
158
+ };
159
+ return {
160
+ iconDom
161
+ };
162
+ }
163
+ var Icon = defineComponent({
164
+ name: "DIcon",
165
+ props: iconProps,
166
+ emits: ["click"],
167
+ setup(props, ctx) {
168
+ const {
169
+ disabled,
170
+ operable
171
+ } = toRefs(props);
172
+ const {
173
+ iconDom
174
+ } = useIconDom(props, ctx);
175
+ const ns = useNamespace("icon");
176
+ const wrapClassed = computed(() => ({
177
+ [ns.e("container")]: true,
178
+ [ns.m("disabled")]: disabled.value,
179
+ [ns.m("operable")]: operable.value
180
+ }));
181
+ const onClick = (e) => {
182
+ if (disabled.value) {
183
+ return;
184
+ }
185
+ ctx.emit("click", e);
186
+ };
187
+ return () => {
188
+ var _a, _b, _c, _d;
189
+ return createVNode("div", {
190
+ "class": wrapClassed.value,
191
+ "onClick": onClick
192
+ }, [(_b = (_a = ctx.slots).prefix) == null ? void 0 : _b.call(_a), iconDom(), (_d = (_c = ctx.slots).suffix) == null ? void 0 : _d.call(_c)]);
193
+ };
194
+ }
195
+ });
196
+ var iconGroup = "";
197
+ var IconGroup = defineComponent({
198
+ name: "DIconGroup",
199
+ setup(_, ctx) {
200
+ const ns = useNamespace("icon-group");
201
+ return () => {
202
+ var _a, _b;
203
+ return createVNode("div", {
204
+ "class": ns.b()
205
+ }, [(_b = (_a = ctx.slots).default) == null ? void 0 : _b.call(_a)]);
206
+ };
207
+ }
208
+ });
209
+ var index = {
210
+ title: "Icon \u56FE\u6807",
211
+ category: "\u901A\u7528",
212
+ status: "100%",
213
+ install(app) {
214
+ app.component(Icon.name, Icon);
215
+ app.component(IconGroup.name, IconGroup);
216
+ }
217
+ };
218
+ export { Icon, IconGroup, index as default, iconProps, svgIconProps };
package/icon/index.umd.js CHANGED
@@ -1 +1 @@
1
- var __defProp=Object.defineProperty,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(e,o,r)=>o in e?__defProp(e,o,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[o]=r,__spreadValues=(e,o)=>{for(var r in o||(o={}))__hasOwnProp.call(o,r)&&__defNormalProp(e,r,o[r]);if(__getOwnPropSymbols)for(var r of __getOwnPropSymbols(o))__propIsEnum.call(o,r)&&__defNormalProp(e,r,o[r]);return e};!function(e,o){"object"==typeof exports&&"undefined"!=typeof module?o(exports,require("vue")):"function"==typeof define&&define.amd?define(["exports","vue"],o):o((e="undefined"!=typeof globalThis?globalThis:e||self).index={},e.Vue)}(this,(function(e,o){"use strict";var r=o.defineComponent({name:"DIcon",props:{name:{type:String,required:!0},size:{type:String,default:"inherit"},color:{type:String,default:"inherit"},classPrefix:{type:String,default:"icon"}},setup:e=>__spreadValues({},e),render(){const{name:e,size:r,color:t,classPrefix:n}=this;return o.createVNode("i",{class:`${n} ${n}-${e}`,style:{fontSize:r,color:t}},null)}});r.install=function(e){e.component(r.name,r)};var t={title:"Icon 图标",category:"通用",install(e){e.use(r)}};e.Icon=r,e.default=t,Object.defineProperty(e,"__esModule",{value:!0}),e[Symbol.toStringTag]="Module"}));
1
+ (function(i,n){typeof exports=="object"&&typeof module!="undefined"?n(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],n):(i=typeof globalThis!="undefined"?globalThis:i||self,n(i.index={},i.Vue))})(this,function(i,n){"use strict";const I={name:{type:String,default:"",required:!0},size:{type:[Number,String],default:"inherit"},color:{type:String,default:"inherit"},component:{type:Object,default:null},classPrefix:{type:String,default:"icon"},operable:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},rotate:{type:[Number,String]}},b={name:{type:String,default:"",required:!0},color:{type:String,default:"inherit"},size:{type:[Number,String],default:"inherit"}};function m(s,l,o){let t=s;return l&&(t+=`__${l}`),o&&(t+=`--${o}`),t}function d(s,l=!1){const o=l?`.devui-${s}`:`devui-${s}`;return{b:()=>m(o),e:e=>e?m(o,e):"",m:e=>e?m(o,"",e):"",em:(e,a)=>e&&a?m(o,e,a):""}}var V="",h=n.defineComponent({name:"DSvgIcon",props:b,setup(s){const{name:l,color:o,size:t}=n.toRefs(s),c=d("svg-icon"),r=n.computed(()=>`#icon-${l.value}`),u=n.computed(()=>typeof t.value=="number"?`${t.value}px`:t.value),e={width:u.value,height:u.value};return()=>n.createVNode("svg",{class:c.b(),style:e},[n.createVNode("use",{"xlink:href":r.value,fill:o.value},null)])}});function D(s){return/^((http|https):)?\/\//.test(s)}function S(s,l){const{component:o,name:t,size:c,color:r,classPrefix:u,rotate:e}=n.toRefs(s),a=d("icon"),p=n.computed(()=>typeof c.value=="number"?`${c.value}px`:c.value),f=o.value?n.resolveDynamicComponent(o.value):n.resolveDynamicComponent(h),v=()=>n.createVNode("img",n.mergeProps({src:t.value,alt:t.value.split("/")[t.value.split("/").length-1],class:[(e==null?void 0:e.value)==="infinite"&&a.m("spin")],style:{width:p.value||"",transform:`rotate(${e==null?void 0:e.value}deg)`,verticalAlign:"middle"}},l.attrs),null),P=()=>n.createVNode(f,n.mergeProps({name:t.value,color:r.value,size:p.value,class:[(e==null?void 0:e.value)==="infinite"&&a.m("spin")],style:{transform:`rotate(${e==null?void 0:e.value}deg)`}},l.attrs),null),$=()=>{const C=/^icon-/.test(t.value)?t.value:`${u.value}-${t.value}`;return n.createVNode("i",n.mergeProps({class:[u.value,C,(e==null?void 0:e.value)==="infinite"&&a.m("spin")],style:{fontSize:p.value,color:r.value,transform:`rotate(${e==null?void 0:e.value}deg)`}},l.attrs),null)};return{iconDom:()=>o.value?P():D(t.value)?v():$()}}var g=n.defineComponent({name:"DIcon",props:I,emits:["click"],setup(s,l){const{disabled:o,operable:t}=n.toRefs(s),{iconDom:c}=S(s,l),r=d("icon"),u=n.computed(()=>({[r.e("container")]:!0,[r.m("disabled")]:o.value,[r.m("operable")]:t.value})),e=a=>{o.value||l.emit("click",a)};return()=>{var a,p,f,v;return n.createVNode("div",{class:u.value,onClick:e},[(p=(a=l.slots).prefix)==null?void 0:p.call(a),c(),(v=(f=l.slots).suffix)==null?void 0:v.call(f)])}}}),_="",y=n.defineComponent({name:"DIconGroup",setup(s,l){const o=d("icon-group");return()=>{var t,c;return n.createVNode("div",{class:o.b()},[(c=(t=l.slots).default)==null?void 0:c.call(t)])}}}),N={title:"Icon \u56FE\u6807",category:"\u901A\u7528",status:"100%",install(s){s.component(g.name,g),s.component(y.name,y)}};i.Icon=g,i.IconGroup=y,i.default=N,i.iconProps=I,i.svgIconProps=b,Object.defineProperties(i,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
package/icon/style.css ADDED
@@ -0,0 +1 @@
1
+ .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-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}
@@ -0,0 +1,7 @@
1
+ import { App } from 'vue';
2
+ declare function install(app: App): void
3
+ declare const _default: {
4
+ install: typeof install;
5
+ version: string;
6
+ };
7
+ export default _default;