mdui 1.0.2 → 2.0.1

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 (664) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +49 -70
  3. package/components/avatar/index.d.ts +49 -0
  4. package/components/avatar/index.js +55 -0
  5. package/components/avatar/style.d.ts +1 -0
  6. package/components/avatar/style.js +2 -0
  7. package/components/avatar.d.ts +1 -0
  8. package/components/avatar.js +1 -0
  9. package/components/badge/index.d.ts +28 -0
  10. package/components/badge/index.js +41 -0
  11. package/components/badge/style.d.ts +1 -0
  12. package/components/badge/style.js +2 -0
  13. package/components/badge.d.ts +1 -0
  14. package/components/badge.js +1 -0
  15. package/components/bottom-app-bar/index.d.ts +60 -0
  16. package/components/bottom-app-bar/index.js +105 -0
  17. package/components/bottom-app-bar/style.d.ts +1 -0
  18. package/components/bottom-app-bar/style.js +2 -0
  19. package/components/bottom-app-bar.d.ts +1 -0
  20. package/components/bottom-app-bar.js +1 -0
  21. package/components/button/button-base-style.d.ts +1 -0
  22. package/components/button/button-base-style.js +2 -0
  23. package/components/button/button-base.d.ts +138 -0
  24. package/components/button/button-base.js +206 -0
  25. package/components/button/index.d.ts +64 -0
  26. package/components/button/index.js +110 -0
  27. package/components/button/style.d.ts +1 -0
  28. package/components/button/style.js +4 -0
  29. package/components/button-icon/index.d.ts +66 -0
  30. package/components/button-icon/index.js +129 -0
  31. package/components/button-icon/style.d.ts +1 -0
  32. package/components/button-icon/style.js +4 -0
  33. package/components/button-icon.d.ts +1 -0
  34. package/components/button-icon.js +1 -0
  35. package/components/button.d.ts +1 -0
  36. package/components/button.js +1 -0
  37. package/components/card/index.d.ts +49 -0
  38. package/components/card/index.js +87 -0
  39. package/components/card/style.d.ts +1 -0
  40. package/components/card/style.js +2 -0
  41. package/components/card.d.ts +1 -0
  42. package/components/card.js +1 -0
  43. package/components/checkbox/index.d.ts +130 -0
  44. package/components/checkbox/index.js +257 -0
  45. package/components/checkbox/style.d.ts +1 -0
  46. package/components/checkbox/style.js +2 -0
  47. package/components/checkbox.d.ts +1 -0
  48. package/components/checkbox.js +1 -0
  49. package/components/chip/index.d.ts +102 -0
  50. package/components/chip/index.js +243 -0
  51. package/components/chip/style.d.ts +1 -0
  52. package/components/chip/style.js +4 -0
  53. package/components/chip.d.ts +1 -0
  54. package/components/chip.js +1 -0
  55. package/components/circular-progress/index.d.ts +28 -0
  56. package/components/circular-progress/index.js +61 -0
  57. package/components/circular-progress/style.d.ts +1 -0
  58. package/components/circular-progress/style.js +2 -0
  59. package/components/circular-progress.d.ts +1 -0
  60. package/components/circular-progress.js +1 -0
  61. package/components/collapse/collapse-item-style.d.ts +1 -0
  62. package/components/collapse/collapse-item-style.js +2 -0
  63. package/components/collapse/collapse-item.d.ts +56 -0
  64. package/components/collapse/collapse-item.js +126 -0
  65. package/components/collapse/collapse-style.d.ts +1 -0
  66. package/components/collapse/collapse-style.js +2 -0
  67. package/components/collapse/collapse.d.ts +49 -0
  68. package/components/collapse/collapse.js +175 -0
  69. package/components/collapse-item.d.ts +1 -0
  70. package/components/collapse-item.js +1 -0
  71. package/components/collapse.d.ts +1 -0
  72. package/components/collapse.js +1 -0
  73. package/components/dialog/index.d.ts +99 -0
  74. package/components/dialog/index.js +307 -0
  75. package/components/dialog/style.d.ts +1 -0
  76. package/components/dialog/style.js +2 -0
  77. package/components/dialog.d.ts +1 -0
  78. package/components/dialog.js +1 -0
  79. package/components/divider/index.d.ts +30 -0
  80. package/components/divider/index.js +58 -0
  81. package/components/divider/style.d.ts +1 -0
  82. package/components/divider/style.js +2 -0
  83. package/components/divider.d.ts +1 -0
  84. package/components/divider.js +1 -0
  85. package/components/dropdown/index.d.ts +131 -0
  86. package/components/dropdown/index.js +571 -0
  87. package/components/dropdown/style.d.ts +1 -0
  88. package/components/dropdown/style.js +2 -0
  89. package/components/dropdown.d.ts +1 -0
  90. package/components/dropdown.js +1 -0
  91. package/components/fab/index.d.ts +70 -0
  92. package/components/fab/index.js +144 -0
  93. package/components/fab/style.d.ts +1 -0
  94. package/components/fab/style.js +8 -0
  95. package/components/fab.d.ts +1 -0
  96. package/components/fab.js +1 -0
  97. package/components/icon/index.d.ts +29 -0
  98. package/components/icon/index.js +57 -0
  99. package/components/icon/style.d.ts +1 -0
  100. package/components/icon/style.js +2 -0
  101. package/components/icon.d.ts +1 -0
  102. package/components/icon.js +1 -0
  103. package/components/layout/helper.d.ts +67 -0
  104. package/components/layout/helper.js +212 -0
  105. package/components/layout/layout-item-base.d.ts +17 -0
  106. package/components/layout/layout-item-base.js +45 -0
  107. package/components/layout/layout-item-style.d.ts +1 -0
  108. package/components/layout/layout-item-style.js +2 -0
  109. package/components/layout/layout-item.d.ts +37 -0
  110. package/components/layout/layout-item.js +58 -0
  111. package/components/layout/layout-main-style.d.ts +1 -0
  112. package/components/layout/layout-main-style.js +2 -0
  113. package/components/layout/layout-main.d.ts +27 -0
  114. package/components/layout/layout-main.js +46 -0
  115. package/components/layout/layout-style.d.ts +1 -0
  116. package/components/layout/layout-style.js +2 -0
  117. package/components/layout/layout.d.ts +28 -0
  118. package/components/layout/layout.js +43 -0
  119. package/components/layout-item.d.ts +1 -0
  120. package/components/layout-item.js +1 -0
  121. package/components/layout-main.d.ts +1 -0
  122. package/components/layout-main.js +1 -0
  123. package/components/layout.d.ts +1 -0
  124. package/components/layout.js +1 -0
  125. package/components/linear-progress/index.d.ts +30 -0
  126. package/components/linear-progress/index.js +48 -0
  127. package/components/linear-progress/style.d.ts +1 -0
  128. package/components/linear-progress/style.js +2 -0
  129. package/components/linear-progress.d.ts +1 -0
  130. package/components/linear-progress.js +1 -0
  131. package/components/list/list-item-style.d.ts +1 -0
  132. package/components/list/list-item-style.js +4 -0
  133. package/components/list/list-item.d.ts +111 -0
  134. package/components/list/list-item.js +186 -0
  135. package/components/list/list-style.d.ts +1 -0
  136. package/components/list/list-style.js +2 -0
  137. package/components/list/list-subheader-style.d.ts +1 -0
  138. package/components/list/list-subheader-style.js +2 -0
  139. package/components/list/list-subheader.d.ts +24 -0
  140. package/components/list/list-subheader.js +30 -0
  141. package/components/list/list.d.ts +24 -0
  142. package/components/list/list.js +27 -0
  143. package/components/list-item.d.ts +1 -0
  144. package/components/list-item.js +1 -0
  145. package/components/list-subheader.d.ts +1 -0
  146. package/components/list-subheader.js +1 -0
  147. package/components/list.d.ts +1 -0
  148. package/components/list.js +1 -0
  149. package/components/menu/menu-item-style.d.ts +1 -0
  150. package/components/menu/menu-item-style.js +2 -0
  151. package/components/menu/menu-item.d.ts +123 -0
  152. package/components/menu/menu-item.js +412 -0
  153. package/components/menu/menu-style.d.ts +1 -0
  154. package/components/menu/menu-style.js +2 -0
  155. package/components/menu/menu.d.ts +111 -0
  156. package/components/menu/menu.js +425 -0
  157. package/components/menu-item.d.ts +1 -0
  158. package/components/menu-item.js +1 -0
  159. package/components/menu.d.ts +1 -0
  160. package/components/menu.js +1 -0
  161. package/components/navigation-bar/navigation-bar-item-style.d.ts +1 -0
  162. package/components/navigation-bar/navigation-bar-item-style.js +2 -0
  163. package/components/navigation-bar/navigation-bar-item.d.ts +72 -0
  164. package/components/navigation-bar/navigation-bar-item.js +120 -0
  165. package/components/navigation-bar/navigation-bar-style.d.ts +1 -0
  166. package/components/navigation-bar/navigation-bar-style.js +2 -0
  167. package/components/navigation-bar/navigation-bar.d.ts +78 -0
  168. package/components/navigation-bar/navigation-bar.js +180 -0
  169. package/components/navigation-bar-item.d.ts +1 -0
  170. package/components/navigation-bar-item.js +1 -0
  171. package/components/navigation-bar.d.ts +1 -0
  172. package/components/navigation-bar.js +1 -0
  173. package/components/navigation-drawer/index.d.ts +84 -0
  174. package/components/navigation-drawer/index.js +365 -0
  175. package/components/navigation-drawer/style.d.ts +1 -0
  176. package/components/navigation-drawer/style.js +2 -0
  177. package/components/navigation-drawer.d.ts +1 -0
  178. package/components/navigation-drawer.js +1 -0
  179. package/components/navigation-rail/navigation-rail-item-style.d.ts +1 -0
  180. package/components/navigation-rail/navigation-rail-item-style.js +2 -0
  181. package/components/navigation-rail/navigation-rail-item.d.ts +72 -0
  182. package/components/navigation-rail/navigation-rail-item.js +128 -0
  183. package/components/navigation-rail/navigation-rail-style.d.ts +1 -0
  184. package/components/navigation-rail/navigation-rail-style.js +2 -0
  185. package/components/navigation-rail/navigation-rail.d.ts +87 -0
  186. package/components/navigation-rail/navigation-rail.js +230 -0
  187. package/components/navigation-rail-item.d.ts +1 -0
  188. package/components/navigation-rail-item.js +1 -0
  189. package/components/navigation-rail.d.ts +1 -0
  190. package/components/navigation-rail.js +1 -0
  191. package/components/radio/radio-group-style.d.ts +1 -0
  192. package/components/radio/radio-group-style.js +2 -0
  193. package/components/radio/radio-group.d.ts +103 -0
  194. package/components/radio/radio-group.js +268 -0
  195. package/components/radio/radio-style.d.ts +1 -0
  196. package/components/radio/radio-style.js +2 -0
  197. package/components/radio/radio.d.ts +71 -0
  198. package/components/radio/radio.js +144 -0
  199. package/components/radio-group.d.ts +1 -0
  200. package/components/radio-group.js +1 -0
  201. package/components/radio.d.ts +1 -0
  202. package/components/radio.js +1 -0
  203. package/components/range-slider/index.d.ts +67 -0
  204. package/components/range-slider/index.js +210 -0
  205. package/components/range-slider.d.ts +1 -0
  206. package/components/range-slider.js +1 -0
  207. package/components/ripple/index.d.ts +44 -0
  208. package/components/ripple/index.js +173 -0
  209. package/components/ripple/ripple-mixin.d.ts +28 -0
  210. package/components/ripple/ripple-mixin.js +258 -0
  211. package/components/ripple/style.d.ts +1 -0
  212. package/components/ripple/style.js +2 -0
  213. package/components/ripple.d.ts +1 -0
  214. package/components/ripple.js +1 -0
  215. package/components/segmented-button/segmented-button-group-style.d.ts +1 -0
  216. package/components/segmented-button/segmented-button-group-style.js +2 -0
  217. package/components/segmented-button/segmented-button-group.d.ts +125 -0
  218. package/components/segmented-button/segmented-button-group.js +383 -0
  219. package/components/segmented-button/segmented-button-style.d.ts +1 -0
  220. package/components/segmented-button/segmented-button-style.js +4 -0
  221. package/components/segmented-button/segmented-button.d.ts +73 -0
  222. package/components/segmented-button/segmented-button.js +160 -0
  223. package/components/segmented-button-group.d.ts +1 -0
  224. package/components/segmented-button-group.js +1 -0
  225. package/components/segmented-button.d.ts +1 -0
  226. package/components/segmented-button.js +1 -0
  227. package/components/select/index.d.ts +200 -0
  228. package/components/select/index.js +390 -0
  229. package/components/select/style.d.ts +1 -0
  230. package/components/select/style.js +2 -0
  231. package/components/select.d.ts +1 -0
  232. package/components/select.js +1 -0
  233. package/components/slider/index.d.ts +53 -0
  234. package/components/slider/index.js +128 -0
  235. package/components/slider/slider-base-style.d.ts +1 -0
  236. package/components/slider/slider-base-style.js +2 -0
  237. package/components/slider/slider-base.d.ts +92 -0
  238. package/components/slider/slider-base.js +199 -0
  239. package/components/slider/style.d.ts +1 -0
  240. package/components/slider/style.js +2 -0
  241. package/components/slider.d.ts +1 -0
  242. package/components/slider.js +1 -0
  243. package/components/snackbar/index.d.ts +98 -0
  244. package/components/snackbar/index.js +285 -0
  245. package/components/snackbar/style.d.ts +1 -0
  246. package/components/snackbar/style.js +2 -0
  247. package/components/snackbar.d.ts +1 -0
  248. package/components/snackbar.js +1 -0
  249. package/components/switch/index.d.ts +123 -0
  250. package/components/switch/index.js +245 -0
  251. package/components/switch/style.d.ts +1 -0
  252. package/components/switch/style.js +2 -0
  253. package/components/switch.d.ts +1 -0
  254. package/components/switch.js +1 -0
  255. package/components/tab-panel.d.ts +1 -0
  256. package/components/tab-panel.js +1 -0
  257. package/components/tab.d.ts +1 -0
  258. package/components/tab.js +1 -0
  259. package/components/tabs/tab-panel-style.d.ts +1 -0
  260. package/components/tabs/tab-panel-style.js +2 -0
  261. package/components/tabs/tab-panel.d.ts +36 -0
  262. package/components/tabs/tab-panel.js +52 -0
  263. package/components/tabs/tab-style.d.ts +1 -0
  264. package/components/tabs/tab-style.js +2 -0
  265. package/components/tabs/tab.d.ts +69 -0
  266. package/components/tabs/tab.js +110 -0
  267. package/components/tabs/tabs-style.d.ts +1 -0
  268. package/components/tabs/tabs-style.js +2 -0
  269. package/components/tabs/tabs.d.ts +87 -0
  270. package/components/tabs/tabs.js +221 -0
  271. package/components/tabs.d.ts +1 -0
  272. package/components/tabs.js +1 -0
  273. package/components/text-field/index.d.ts +400 -0
  274. package/components/text-field/index.js +752 -0
  275. package/components/text-field/style.d.ts +1 -0
  276. package/components/text-field/style.js +2 -0
  277. package/components/text-field.d.ts +1 -0
  278. package/components/text-field.js +1 -0
  279. package/components/tooltip/index.d.ts +140 -0
  280. package/components/tooltip/index.js +497 -0
  281. package/components/tooltip/style.d.ts +1 -0
  282. package/components/tooltip/style.js +2 -0
  283. package/components/tooltip.d.ts +1 -0
  284. package/components/tooltip.js +1 -0
  285. package/components/top-app-bar/top-app-bar-style.d.ts +1 -0
  286. package/components/top-app-bar/top-app-bar-style.js +2 -0
  287. package/components/top-app-bar/top-app-bar-title-style.d.ts +1 -0
  288. package/components/top-app-bar/top-app-bar-title-style.js +2 -0
  289. package/components/top-app-bar/top-app-bar-title.d.ts +46 -0
  290. package/components/top-app-bar/top-app-bar-title.js +76 -0
  291. package/components/top-app-bar/top-app-bar.d.ts +74 -0
  292. package/components/top-app-bar/top-app-bar.js +178 -0
  293. package/components/top-app-bar-title.d.ts +1 -0
  294. package/components/top-app-bar-title.js +1 -0
  295. package/components/top-app-bar.d.ts +1 -0
  296. package/components/top-app-bar.js +1 -0
  297. package/css-data.zh-cn.json +2819 -0
  298. package/custom-elements.json +28087 -0
  299. package/functions/alert.d.ts +80 -0
  300. package/functions/alert.js +59 -0
  301. package/functions/breakpoint.d.ts +1 -0
  302. package/functions/breakpoint.js +1 -0
  303. package/functions/confirm.d.ts +95 -0
  304. package/functions/confirm.js +68 -0
  305. package/functions/dialog.d.ts +97 -0
  306. package/functions/dialog.js +100 -0
  307. package/functions/getColorFromImage.d.ts +7 -0
  308. package/functions/getColorFromImage.js +12 -0
  309. package/functions/getTheme.d.ts +10 -0
  310. package/functions/getTheme.js +16 -0
  311. package/functions/observeResize.d.ts +2 -0
  312. package/functions/observeResize.js +1 -0
  313. package/functions/prompt.d.ts +110 -0
  314. package/functions/prompt.js +103 -0
  315. package/functions/removeColorScheme.d.ts +6 -0
  316. package/functions/removeColorScheme.js +8 -0
  317. package/functions/setColorScheme.d.ts +15 -0
  318. package/functions/setColorScheme.js +15 -0
  319. package/functions/setTheme.d.ts +10 -0
  320. package/functions/setTheme.js +16 -0
  321. package/functions/snackbar.d.ts +91 -0
  322. package/functions/snackbar.js +84 -0
  323. package/functions/throttle.d.ts +1 -0
  324. package/functions/throttle.js +1 -0
  325. package/functions/utils/colorScheme.d.ts +39 -0
  326. package/functions/utils/colorScheme.js +133 -0
  327. package/functions/utils/theme.d.ts +1 -0
  328. package/html-data.zh-cn.json +6566 -0
  329. package/jq.d.ts +1 -0
  330. package/jq.js +1 -0
  331. package/mdui.css +1 -0
  332. package/mdui.d.ts +61 -0
  333. package/mdui.esm.js +22 -0
  334. package/mdui.global.js +22 -0
  335. package/mdui.js +61 -0
  336. package/package.json +39 -68
  337. package/web-types.zh-cn.json +11728 -0
  338. package/dist/css/mdui.css +0 -13559
  339. package/dist/css/mdui.css.map +0 -1
  340. package/dist/css/mdui.min.css +0 -6
  341. package/dist/css/mdui.min.css.map +0 -1
  342. package/dist/fonts/roboto/LICENSE.txt +0 -201
  343. package/dist/fonts/roboto/Roboto-Black.woff +0 -0
  344. package/dist/fonts/roboto/Roboto-Black.woff2 +0 -0
  345. package/dist/fonts/roboto/Roboto-BlackItalic.woff +0 -0
  346. package/dist/fonts/roboto/Roboto-BlackItalic.woff2 +0 -0
  347. package/dist/fonts/roboto/Roboto-Bold.woff +0 -0
  348. package/dist/fonts/roboto/Roboto-Bold.woff2 +0 -0
  349. package/dist/fonts/roboto/Roboto-BoldItalic.woff +0 -0
  350. package/dist/fonts/roboto/Roboto-BoldItalic.woff2 +0 -0
  351. package/dist/fonts/roboto/Roboto-Light.woff +0 -0
  352. package/dist/fonts/roboto/Roboto-Light.woff2 +0 -0
  353. package/dist/fonts/roboto/Roboto-LightItalic.woff +0 -0
  354. package/dist/fonts/roboto/Roboto-LightItalic.woff2 +0 -0
  355. package/dist/fonts/roboto/Roboto-Medium.woff +0 -0
  356. package/dist/fonts/roboto/Roboto-Medium.woff2 +0 -0
  357. package/dist/fonts/roboto/Roboto-MediumItalic.woff +0 -0
  358. package/dist/fonts/roboto/Roboto-MediumItalic.woff2 +0 -0
  359. package/dist/fonts/roboto/Roboto-Regular.woff +0 -0
  360. package/dist/fonts/roboto/Roboto-Regular.woff2 +0 -0
  361. package/dist/fonts/roboto/Roboto-RegularItalic.woff +0 -0
  362. package/dist/fonts/roboto/Roboto-RegularItalic.woff2 +0 -0
  363. package/dist/fonts/roboto/Roboto-Thin.woff +0 -0
  364. package/dist/fonts/roboto/Roboto-Thin.woff2 +0 -0
  365. package/dist/fonts/roboto/Roboto-ThinItalic.woff +0 -0
  366. package/dist/fonts/roboto/Roboto-ThinItalic.woff2 +0 -0
  367. package/dist/icons/material-icons/LICENSE.txt +0 -393
  368. package/dist/icons/material-icons/MaterialIcons-Regular.ijmap +0 -1
  369. package/dist/icons/material-icons/MaterialIcons-Regular.woff +0 -0
  370. package/dist/icons/material-icons/MaterialIcons-Regular.woff2 +0 -0
  371. package/dist/js/mdui.esm.js +0 -5976
  372. package/dist/js/mdui.esm.js.map +0 -1
  373. package/dist/js/mdui.js +0 -6474
  374. package/dist/js/mdui.js.map +0 -1
  375. package/dist/js/mdui.min.js +0 -7
  376. package/dist/js/mdui.min.js.map +0 -1
  377. package/es/components/appbar/index.d.ts +0 -2
  378. package/es/components/appbar/index.js +0 -17
  379. package/es/components/bottom_nav/index.d.ts +0 -9
  380. package/es/components/bottom_nav/index.js +0 -38
  381. package/es/components/collapse/collapseAbstract.d.ts +0 -110
  382. package/es/components/collapse/collapseAbstract.js +0 -175
  383. package/es/components/collapse/customAttr.d.ts +0 -2
  384. package/es/components/collapse/customAttr.js +0 -11
  385. package/es/components/collapse/index.d.ts +0 -23
  386. package/es/components/collapse/index.js +0 -8
  387. package/es/components/dialog/alert.d.ts +0 -44
  388. package/es/components/dialog/alert.js +0 -42
  389. package/es/components/dialog/class.d.ts +0 -133
  390. package/es/components/dialog/class.js +0 -316
  391. package/es/components/dialog/confirm.d.ts +0 -54
  392. package/es/components/dialog/confirm.js +0 -55
  393. package/es/components/dialog/customAttr.d.ts +0 -4
  394. package/es/components/dialog/customAttr.js +0 -25
  395. package/es/components/dialog/dialog.d.ts +0 -91
  396. package/es/components/dialog/dialog.js +0 -101
  397. package/es/components/dialog/index.d.ts +0 -20
  398. package/es/components/dialog/index.js +0 -14
  399. package/es/components/dialog/prompt.d.ts +0 -74
  400. package/es/components/dialog/prompt.js +0 -109
  401. package/es/components/drawer/customAttr.d.ts +0 -4
  402. package/es/components/drawer/customAttr.js +0 -20
  403. package/es/components/drawer/index.d.ts +0 -111
  404. package/es/components/drawer/index.js +0 -310
  405. package/es/components/fab/customAttr.d.ts +0 -1
  406. package/es/components/fab/customAttr.js +0 -13
  407. package/es/components/fab/index.d.ts +0 -100
  408. package/es/components/fab/index.js +0 -144
  409. package/es/components/headroom/customAttr.d.ts +0 -2
  410. package/es/components/headroom/customAttr.js +0 -11
  411. package/es/components/headroom/index.d.ts +0 -120
  412. package/es/components/headroom/index.js +0 -167
  413. package/es/components/menu/customAttr.d.ts +0 -3
  414. package/es/components/menu/customAttr.js +0 -24
  415. package/es/components/menu/index.d.ts +0 -167
  416. package/es/components/menu/index.js +0 -512
  417. package/es/components/panel/customAttr.d.ts +0 -2
  418. package/es/components/panel/customAttr.js +0 -11
  419. package/es/components/panel/index.d.ts +0 -23
  420. package/es/components/panel/index.js +0 -8
  421. package/es/components/progress/spinner.d.ts +0 -16
  422. package/es/components/progress/spinner.js +0 -47
  423. package/es/components/ripple/index.d.ts +0 -25
  424. package/es/components/ripple/index.js +0 -170
  425. package/es/components/select/customAttr.d.ts +0 -2
  426. package/es/components/select/customAttr.js +0 -11
  427. package/es/components/select/index.d.ts +0 -160
  428. package/es/components/select/index.js +0 -340
  429. package/es/components/slider/index.d.ts +0 -28
  430. package/es/components/slider/index.js +0 -134
  431. package/es/components/snackbar/index.d.ts +0 -126
  432. package/es/components/snackbar/index.js +0 -217
  433. package/es/components/tab/customAttr.d.ts +0 -2
  434. package/es/components/tab/customAttr.js +0 -11
  435. package/es/components/tab/index.d.ts +0 -114
  436. package/es/components/tab/index.js +0 -266
  437. package/es/components/table/index.d.ts +0 -25
  438. package/es/components/table/index.js +0 -178
  439. package/es/components/textfield/index.d.ts +0 -28
  440. package/es/components/textfield/index.js +0 -147
  441. package/es/components/tooltip/customAttr.d.ts +0 -3
  442. package/es/components/tooltip/customAttr.js +0 -20
  443. package/es/components/tooltip/index.d.ts +0 -123
  444. package/es/components/tooltip/index.js +0 -251
  445. package/es/global/mutation.d.ts +0 -23
  446. package/es/global/mutation.js +0 -14
  447. package/es/index.d.ts +0 -36
  448. package/es/index.js +0 -36
  449. package/es/interfaces/MduiStatic.d.ts +0 -8
  450. package/es/jq.d.ts +0 -99
  451. package/es/jq.js +0 -102
  452. package/es/jq_extends/methods/mutation.d.ts +0 -11
  453. package/es/jq_extends/methods/mutation.js +0 -19
  454. package/es/jq_extends/methods/reflow.d.ts +0 -14
  455. package/es/jq_extends/methods/reflow.js +0 -7
  456. package/es/jq_extends/methods/transform.d.ts +0 -14
  457. package/es/jq_extends/methods/transform.js +0 -8
  458. package/es/jq_extends/methods/transformOrigin.d.ts +0 -14
  459. package/es/jq_extends/methods/transformOrigin.js +0 -8
  460. package/es/jq_extends/methods/transition.d.ts +0 -15
  461. package/es/jq_extends/methods/transition.js +0 -12
  462. package/es/jq_extends/methods/transitionEnd.d.ts +0 -17
  463. package/es/jq_extends/methods/transitionEnd.js +0 -23
  464. package/es/jq_extends/static/guid.d.ts +0 -18
  465. package/es/jq_extends/static/guid.js +0 -30
  466. package/es/jq_extends/static/hideOverlay.d.ts +0 -23
  467. package/es/jq_extends/static/hideOverlay.js +0 -25
  468. package/es/jq_extends/static/lockScreen.d.ts +0 -15
  469. package/es/jq_extends/static/lockScreen.js +0 -14
  470. package/es/jq_extends/static/showOverlay.d.ts +0 -23
  471. package/es/jq_extends/static/showOverlay.js +0 -27
  472. package/es/jq_extends/static/throttle.d.ts +0 -17
  473. package/es/jq_extends/static/throttle.js +0 -13
  474. package/es/jq_extends/static/unlockScreen.d.ts +0 -22
  475. package/es/jq_extends/static/unlockScreen.js +0 -13
  476. package/es/mdui.d.ts +0 -3
  477. package/es/mdui.js +0 -8
  478. package/es/utils/componentEvent.d.ts +0 -13
  479. package/es/utils/componentEvent.js +0 -37
  480. package/es/utils/dom.d.ts +0 -4
  481. package/es/utils/dom.js +0 -5
  482. package/es/utils/mutation.d.ts +0 -15
  483. package/es/utils/mutation.js +0 -24
  484. package/es/utils/parseOptions.d.ts +0 -9
  485. package/es/utils/parseOptions.js +0 -15
  486. package/es/utils/queue.d.ts +0 -18
  487. package/es/utils/queue.js +0 -26
  488. package/es/utils/touchHandler.d.ts +0 -50
  489. package/es/utils/touchHandler.js +0 -76
  490. package/src/components/appbar/index.less +0 -110
  491. package/src/components/appbar/index.ts +0 -19
  492. package/src/components/bottom_nav/index.less +0 -155
  493. package/src/components/bottom_nav/index.ts +0 -43
  494. package/src/components/button/index.less +0 -291
  495. package/src/components/card/index.less +0 -200
  496. package/src/components/chip/index.less +0 -97
  497. package/src/components/collapse/collapseAbstract.ts +0 -270
  498. package/src/components/collapse/customAttr.ts +0 -13
  499. package/src/components/collapse/index.less +0 -44
  500. package/src/components/collapse/index.ts +0 -32
  501. package/src/components/dialog/alert.less +0 -11
  502. package/src/components/dialog/alert.ts +0 -111
  503. package/src/components/dialog/class.ts +0 -432
  504. package/src/components/dialog/confirm.less +0 -11
  505. package/src/components/dialog/confirm.ts +0 -140
  506. package/src/components/dialog/customAttr.ts +0 -41
  507. package/src/components/dialog/dialog.ts +0 -224
  508. package/src/components/dialog/index.less +0 -154
  509. package/src/components/dialog/index.ts +0 -40
  510. package/src/components/dialog/prompt.less +0 -16
  511. package/src/components/dialog/prompt.ts +0 -231
  512. package/src/components/divider/index.less +0 -49
  513. package/src/components/drawer/customAttr.ts +0 -30
  514. package/src/components/drawer/index.less +0 -177
  515. package/src/components/drawer/index.ts +0 -425
  516. package/src/components/fab/customAttr.ts +0 -23
  517. package/src/components/fab/index.less +0 -158
  518. package/src/components/fab/index.ts +0 -232
  519. package/src/components/grid_list/index.less +0 -126
  520. package/src/components/headroom/customAttr.ts +0 -13
  521. package/src/components/headroom/index.less +0 -51
  522. package/src/components/headroom/index.ts +0 -275
  523. package/src/components/list/index.less +0 -347
  524. package/src/components/menu/customAttr.ts +0 -40
  525. package/src/components/menu/index.less +0 -195
  526. package/src/components/menu/index.ts +0 -725
  527. package/src/components/menu/svg/arrow_right_dark.svg +0 -1
  528. package/src/components/menu/svg/arrow_right_light.svg +0 -1
  529. package/src/components/panel/customAttr.ts +0 -13
  530. package/src/components/panel/index.less +0 -191
  531. package/src/components/panel/index.ts +0 -32
  532. package/src/components/progress/progress.less +0 -113
  533. package/src/components/progress/spinner.less +0 -198
  534. package/src/components/progress/spinner.ts +0 -75
  535. package/src/components/ripple/index.less +0 -92
  536. package/src/components/ripple/index.ts +0 -217
  537. package/src/components/select/customAttr.ts +0 -13
  538. package/src/components/select/index.less +0 -342
  539. package/src/components/select/index.ts +0 -478
  540. package/src/components/select/svg/arrow_down_dark.svg +0 -1
  541. package/src/components/select/svg/arrow_down_light.svg +0 -1
  542. package/src/components/select/svg/arrow_up_dark.svg +0 -1
  543. package/src/components/select/svg/arrow_up_light.svg +0 -1
  544. package/src/components/selection_control/checkbox.less +0 -226
  545. package/src/components/selection_control/radio.less +0 -163
  546. package/src/components/selection_control/switch.less +0 -210
  547. package/src/components/slider/index.less +0 -340
  548. package/src/components/slider/index.ts +0 -187
  549. package/src/components/snackbar/index.less +0 -133
  550. package/src/components/snackbar/index.ts +0 -367
  551. package/src/components/subheader/index.less +0 -38
  552. package/src/components/tab/customAttr.ts +0 -13
  553. package/src/components/tab/index.less +0 -195
  554. package/src/components/tab/index.ts +0 -372
  555. package/src/components/table/index.less +0 -169
  556. package/src/components/table/index.ts +0 -240
  557. package/src/components/textfield/index.less +0 -425
  558. package/src/components/textfield/index.ts +0 -217
  559. package/src/components/toolbar/index.less +0 -92
  560. package/src/components/tooltip/customAttr.ts +0 -26
  561. package/src/components/tooltip/index.less +0 -45
  562. package/src/components/tooltip/index.ts +0 -361
  563. package/src/fonts/roboto/LICENSE.txt +0 -201
  564. package/src/fonts/roboto/Roboto-Black.woff +0 -0
  565. package/src/fonts/roboto/Roboto-Black.woff2 +0 -0
  566. package/src/fonts/roboto/Roboto-BlackItalic.woff +0 -0
  567. package/src/fonts/roboto/Roboto-BlackItalic.woff2 +0 -0
  568. package/src/fonts/roboto/Roboto-Bold.woff +0 -0
  569. package/src/fonts/roboto/Roboto-Bold.woff2 +0 -0
  570. package/src/fonts/roboto/Roboto-BoldItalic.woff +0 -0
  571. package/src/fonts/roboto/Roboto-BoldItalic.woff2 +0 -0
  572. package/src/fonts/roboto/Roboto-Light.woff +0 -0
  573. package/src/fonts/roboto/Roboto-Light.woff2 +0 -0
  574. package/src/fonts/roboto/Roboto-LightItalic.woff +0 -0
  575. package/src/fonts/roboto/Roboto-LightItalic.woff2 +0 -0
  576. package/src/fonts/roboto/Roboto-Medium.woff +0 -0
  577. package/src/fonts/roboto/Roboto-Medium.woff2 +0 -0
  578. package/src/fonts/roboto/Roboto-MediumItalic.woff +0 -0
  579. package/src/fonts/roboto/Roboto-MediumItalic.woff2 +0 -0
  580. package/src/fonts/roboto/Roboto-Regular.woff +0 -0
  581. package/src/fonts/roboto/Roboto-Regular.woff2 +0 -0
  582. package/src/fonts/roboto/Roboto-RegularItalic.woff +0 -0
  583. package/src/fonts/roboto/Roboto-RegularItalic.woff2 +0 -0
  584. package/src/fonts/roboto/Roboto-Thin.woff +0 -0
  585. package/src/fonts/roboto/Roboto-Thin.woff2 +0 -0
  586. package/src/fonts/roboto/Roboto-ThinItalic.woff +0 -0
  587. package/src/fonts/roboto/Roboto-ThinItalic.woff2 +0 -0
  588. package/src/global/mutation.ts +0 -37
  589. package/src/icons/material-icons/LICENSE.txt +0 -393
  590. package/src/icons/material-icons/MaterialIcons-Regular.ijmap +0 -1
  591. package/src/icons/material-icons/MaterialIcons-Regular.woff +0 -0
  592. package/src/icons/material-icons/MaterialIcons-Regular.woff2 +0 -0
  593. package/src/index.less +0 -73
  594. package/src/index.ts +0 -39
  595. package/src/interfaces/MduiStatic.ts +0 -11
  596. package/src/jq.ts +0 -104
  597. package/src/jq_extends/methods/mutation.ts +0 -32
  598. package/src/jq_extends/methods/reflow.ts +0 -23
  599. package/src/jq_extends/methods/transform.ts +0 -24
  600. package/src/jq_extends/methods/transformOrigin.ts +0 -24
  601. package/src/jq_extends/methods/transition.ts +0 -30
  602. package/src/jq_extends/methods/transitionEnd.ts +0 -49
  603. package/src/jq_extends/static/guid.ts +0 -56
  604. package/src/jq_extends/static/hideOverlay.ts +0 -50
  605. package/src/jq_extends/static/lockScreen.ts +0 -30
  606. package/src/jq_extends/static/showOverlay.ts +0 -51
  607. package/src/jq_extends/static/throttle.ts +0 -32
  608. package/src/jq_extends/static/unlockScreen.ts +0 -36
  609. package/src/mdui.ts +0 -12
  610. package/src/styles/color.less +0 -392
  611. package/src/styles/global.less +0 -75
  612. package/src/styles/grid.less +0 -150
  613. package/src/styles/helper.less +0 -242
  614. package/src/styles/icon.less +0 -31
  615. package/src/styles/material-icons.less +0 -36
  616. package/src/styles/media.less +0 -39
  617. package/src/styles/mixin/color.less +0 -66
  618. package/src/styles/mixin/divider.less +0 -30
  619. package/src/styles/mixin/helper.less +0 -126
  620. package/src/styles/mixin/icon.less +0 -33
  621. package/src/styles/mixin/layout-theme.less +0 -14
  622. package/src/styles/mixin/media.less +0 -11
  623. package/src/styles/mixin/shadow.less +0 -17
  624. package/src/styles/mixin/typo.less +0 -149
  625. package/src/styles/mixin.less +0 -8
  626. package/src/styles/roboto.less +0 -125
  627. package/src/styles/shadow.less +0 -20
  628. package/src/styles/typo-styles.less +0 -91
  629. package/src/styles/typo.less +0 -338
  630. package/src/styles/variable/animation.less +0 -5
  631. package/src/styles/variable/color/amber.less +0 -41
  632. package/src/styles/variable/color/black.less +0 -16
  633. package/src/styles/variable/color/blue-grey.less +0 -29
  634. package/src/styles/variable/color/blue.less +0 -41
  635. package/src/styles/variable/color/brown.less +0 -29
  636. package/src/styles/variable/color/cyan.less +0 -41
  637. package/src/styles/variable/color/deep-orange.less +0 -41
  638. package/src/styles/variable/color/deep-purple.less +0 -41
  639. package/src/styles/variable/color/default.less +0 -74
  640. package/src/styles/variable/color/green.less +0 -41
  641. package/src/styles/variable/color/grey.less +0 -29
  642. package/src/styles/variable/color/indigo.less +0 -41
  643. package/src/styles/variable/color/light-blue.less +0 -41
  644. package/src/styles/variable/color/light-green.less +0 -41
  645. package/src/styles/variable/color/lime.less +0 -41
  646. package/src/styles/variable/color/orange.less +0 -41
  647. package/src/styles/variable/color/pink.less +0 -41
  648. package/src/styles/variable/color/purple.less +0 -41
  649. package/src/styles/variable/color/red.less +0 -41
  650. package/src/styles/variable/color/teal.less +0 -41
  651. package/src/styles/variable/color/transparent.less +0 -1
  652. package/src/styles/variable/color/white.less +0 -16
  653. package/src/styles/variable/color/yellow.less +0 -41
  654. package/src/styles/variable/global.less +0 -98
  655. package/src/styles/variable/shadow.less +0 -103
  656. package/src/styles/variable.less +0 -26
  657. package/src/tsconfig.json +0 -12
  658. package/src/utils/componentEvent.ts +0 -63
  659. package/src/utils/dom.ts +0 -7
  660. package/src/utils/mutation.ts +0 -41
  661. package/src/utils/parseOptions.ts +0 -23
  662. package/src/utils/queue.ts +0 -51
  663. package/src/utils/touchHandler.ts +0 -92
  664. /package/{es/interfaces/MduiStatic.js → functions/utils/theme.js} +0 -0
@@ -0,0 +1,2 @@
1
+ import { css } from 'lit';
2
+ export const listSubheaderStyle = css `:host{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;cursor:default;color:rgb(var(--mdui-color-on-surface-variant));font-size:var(--mdui-typescale-label-small-size);font-weight:var(--mdui-typescale-label-small-weight);letter-spacing:var(--mdui-typescale-label-small-tracking);line-height:var(--mdui-typescale-label-small-line-height);padding-left:1rem;padding-right:1.5rem;height:3.5rem;line-height:3.5rem}`;
@@ -0,0 +1,24 @@
1
+ import { LitElement } from 'lit';
2
+ import type { CSSResultGroup, TemplateResult } from 'lit';
3
+ /**
4
+ * @summary 列表标题组件。需与 `<mdui-list>` 组件配合使用
5
+ *
6
+ * ```html
7
+ * <mdui-list>
8
+ * ..<mdui-list-subheader>Subheader</mdui-list-subheader>
9
+ * ..<mdui-list-item>Item 1</mdui-list-item>
10
+ * ..<mdui-list-item>Item 2</mdui-list-item>
11
+ * </mdui-list>
12
+ * ```
13
+ *
14
+ * @slot - 文本
15
+ */
16
+ export declare class ListSubheader extends LitElement {
17
+ static styles: CSSResultGroup;
18
+ protected render(): TemplateResult;
19
+ }
20
+ declare global {
21
+ interface HTMLElementTagNameMap {
22
+ 'mdui-list-subheader': ListSubheader;
23
+ }
24
+ }
@@ -0,0 +1,30 @@
1
+ import { __decorate } from "tslib";
2
+ import { html, LitElement } from 'lit';
3
+ import { customElement } from 'lit/decorators.js';
4
+ import { componentStyle } from '@mdui/shared/lit-styles/component-style.js';
5
+ import { listSubheaderStyle } from './list-subheader-style.js';
6
+ /**
7
+ * @summary 列表标题组件。需与 `<mdui-list>` 组件配合使用
8
+ *
9
+ * ```html
10
+ * <mdui-list>
11
+ * ..<mdui-list-subheader>Subheader</mdui-list-subheader>
12
+ * ..<mdui-list-item>Item 1</mdui-list-item>
13
+ * ..<mdui-list-item>Item 2</mdui-list-item>
14
+ * </mdui-list>
15
+ * ```
16
+ *
17
+ * @slot - 文本
18
+ */
19
+ export let ListSubheader = class ListSubheader extends LitElement {
20
+ render() {
21
+ return html `<slot></slot>`;
22
+ }
23
+ };
24
+ ListSubheader.styles = [
25
+ componentStyle,
26
+ listSubheaderStyle,
27
+ ];
28
+ ListSubheader = __decorate([
29
+ customElement('mdui-list-subheader')
30
+ ], ListSubheader);
@@ -0,0 +1,24 @@
1
+ import { LitElement } from 'lit';
2
+ import type { CSSResultGroup, TemplateResult } from 'lit';
3
+ /**
4
+ * @summary 列表组件。需与 `<mdui-list-item>` 组件配合使用
5
+ *
6
+ * ```html
7
+ * <mdui-list>
8
+ * ..<mdui-list-subheader>Subheader</mdui-list-subheader>
9
+ * ..<mdui-list-item>Item 1</mdui-list-item>
10
+ * ..<mdui-list-item>Item 2</mdui-list-item>
11
+ * </mdui-list>
12
+ * ```
13
+ *
14
+ * @slot - `<mdui-list-item>` 元素
15
+ */
16
+ export declare class List extends LitElement {
17
+ static styles: CSSResultGroup;
18
+ protected render(): TemplateResult;
19
+ }
20
+ declare global {
21
+ interface HTMLElementTagNameMap {
22
+ 'mdui-list': List;
23
+ }
24
+ }
@@ -0,0 +1,27 @@
1
+ import { __decorate } from "tslib";
2
+ import { html, LitElement } from 'lit';
3
+ import { customElement } from 'lit/decorators.js';
4
+ import { componentStyle } from '@mdui/shared/lit-styles/component-style.js';
5
+ import { listStyle } from './list-style.js';
6
+ /**
7
+ * @summary 列表组件。需与 `<mdui-list-item>` 组件配合使用
8
+ *
9
+ * ```html
10
+ * <mdui-list>
11
+ * ..<mdui-list-subheader>Subheader</mdui-list-subheader>
12
+ * ..<mdui-list-item>Item 1</mdui-list-item>
13
+ * ..<mdui-list-item>Item 2</mdui-list-item>
14
+ * </mdui-list>
15
+ * ```
16
+ *
17
+ * @slot - `<mdui-list-item>` 元素
18
+ */
19
+ export let List = class List extends LitElement {
20
+ render() {
21
+ return html `<slot></slot>`;
22
+ }
23
+ };
24
+ List.styles = [componentStyle, listStyle];
25
+ List = __decorate([
26
+ customElement('mdui-list')
27
+ ], List);
@@ -0,0 +1 @@
1
+ export * from './list/list-item.js';
@@ -0,0 +1 @@
1
+ export * from './list/list-item.js';
@@ -0,0 +1 @@
1
+ export * from './list/list-subheader.js';
@@ -0,0 +1 @@
1
+ export * from './list/list-subheader.js';
@@ -0,0 +1 @@
1
+ export * from './list/list.js';
@@ -0,0 +1 @@
1
+ export * from './list/list.js';
@@ -0,0 +1 @@
1
+ export declare const menuItemStyle: import("lit").CSSResult;
@@ -0,0 +1,2 @@
1
+ import { css } from 'lit';
2
+ export const menuItemStyle = css `:host{position:relative;display:block}:host([selected]){background-color:rgba(var(--mdui-color-primary),12%)}:host([disabled]){pointer-events:none}.container{cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}:host([disabled]) .container{cursor:default;opacity:.38}.preset{display:flex;align-items:center;text-decoration:none;height:3rem;padding:0 .75rem}.preset.dense{height:2rem}.label-container{flex:1 1 100%;min-width:0}.label{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:rgb(var(--mdui-color-on-surface));font-size:var(--mdui-typescale-label-large-size);font-weight:var(--mdui-typescale-label-large-weight);letter-spacing:var(--mdui-typescale-label-large-tracking)}.end-icon,.end-text,.icon,.selected-icon{display:none;flex:0 0 auto;color:rgb(var(--mdui-color-on-surface-variant))}.has-end-icon .end-icon,.has-end-text .end-text,.has-icon .icon,.has-icon .selected-icon{display:flex}.end-icon,.icon,.selected-icon{font-size:1.5rem}.end-icon::slotted(mdui-avatar),.icon::slotted(mdui-avatar),.selected-icon::slotted(mdui-avatar){width:1.5rem;height:1.5rem}.dense .end-icon,.dense .icon,.dense .selected-icon{font-size:1.125rem}.dense .end-icon::slotted(mdui-avatar),.dense .icon::slotted(mdui-avatar),.dense .selected-icon::slotted(mdui-avatar){width:1.125rem;height:1.125rem}.end-icon .i,.icon .i,.selected-icon .i,::slotted([slot=end-icon]),::slotted([slot=icon]),::slotted([slot=selected-icon]){font-size:inherit}.end-text{font-size:var(--mdui-typescale-label-large-size);font-weight:var(--mdui-typescale-label-large-weight);letter-spacing:var(--mdui-typescale-label-large-tracking);line-height:var(--mdui-typescale-label-large-line-height)}.icon,.selected-icon{margin-right:.75rem}.end-icon,.end-text{margin-left:.75rem}.arrow-right{color:rgb(var(--mdui-color-on-surface))}.submenu{--shape-corner:var(--mdui-shape-corner-extra-small);display:block;position:absolute;z-index:1;border-radius:var(--shape-corner);background-color:rgb(var(--mdui-color-surface-container));box-shadow:var(--mdui-elevation-level2);min-width:7rem;max-width:17.5rem;padding-top:.5rem;padding-bottom:.5rem;--mdui-comp-ripple-state-layer-color:var(--mdui-color-on-surface)}.submenu::slotted(mdui-divider){margin-top:.5rem;margin-bottom:.5rem}`;
@@ -0,0 +1,123 @@
1
+ import { LitElement } from 'lit';
2
+ import '@mdui/jq/methods/css.js';
3
+ import '@mdui/jq/methods/height.js';
4
+ import '@mdui/jq/methods/innerHeight.js';
5
+ import '@mdui/jq/methods/innerWidth.js';
6
+ import '@mdui/jq/methods/width.js';
7
+ import '@mdui/jq/static/contains.js';
8
+ import '@mdui/shared/icons/arrow-right.js';
9
+ import '@mdui/shared/icons/check.js';
10
+ import '../icon.js';
11
+ import type { Ripple } from '../ripple/index.js';
12
+ import type { CSSResultGroup, PropertyValues, TemplateResult } from 'lit';
13
+ declare const MenuItem_base: import("@open-wc/dedupe-mixin").Constructor<import("@mdui/shared/mixins/anchor.js").AnchorMixinInterface> & import("@open-wc/dedupe-mixin").Constructor<import("../ripple/ripple-mixin.js").RippleMixinInterface> & import("@open-wc/dedupe-mixin").Constructor<import("@mdui/shared/mixins/focusable.js").FocusableMixinInterface> & typeof LitElement;
14
+ /**
15
+ * @summary 菜单项组件
16
+ *
17
+ * ```html
18
+ * <mdui-menu>
19
+ * ..<mdui-menu-item>Item 1</mdui-menu-item>
20
+ * ..<mdui-menu-item>Item 2</mdui-menu-item>
21
+ * </mdui-menu>
22
+ * ```
23
+ *
24
+ * @event focus - 获得焦点时触发
25
+ * @event blur - 失去焦点时触发
26
+ * @event submenu-open - 子菜单开始打开时,事件被触发。可以通过调用 `event.preventDefault()` 阻止子菜单打开
27
+ * @event submenu-opened - 子菜单打开动画完成时,事件被触发
28
+ * @event submenu-close - 子菜单开始关闭时,事件被触发。可以通过调用 `event.preventDefault()` 阻止子菜单关闭
29
+ * @event submenu-closed - 子菜单关闭动画完成时,事件被触发
30
+ *
31
+ * @slot - 菜单项的文本
32
+ * @slot icon - 菜单项左侧图标
33
+ * @slot end-icon - 菜单项右侧图标
34
+ * @slot end-text - 菜单右侧的文本
35
+ * @slot selected-icon - 选中状态的图标
36
+ * @slot submenu - 子菜单
37
+ * @slot custom - 任意自定义内容
38
+ *
39
+ * @csspart container - 菜单项的容器
40
+ * @csspart icon - 左侧的图标
41
+ * @csspart label - 文本内容
42
+ * @csspart end-icon - 右侧的图标
43
+ * @csspart end-text - 右侧的文本
44
+ * @csspart selected-icon - 选中状态的图标
45
+ * @csspart submenu - 子菜单元素
46
+ */
47
+ export declare class MenuItem extends MenuItem_base {
48
+ static styles: CSSResultGroup;
49
+ /**
50
+ * 该菜单项的值
51
+ */
52
+ value?: string;
53
+ /**
54
+ * 是否禁用该菜单项
55
+ */
56
+ disabled: boolean;
57
+ /**
58
+ * 左侧的 Material Icons 图标名。也可以通过 `slot="icon"` 设置
59
+ *
60
+ * 如果需要在左侧留出一个图标的位置,可以传入空字符串进行占位
61
+ */
62
+ icon?: string;
63
+ /**
64
+ * 右侧的 Material Icons 图标名。也可以通过 `slot="end-icon"` 设置
65
+ */
66
+ endIcon?: string;
67
+ /**
68
+ * 右侧的文本。也可以通过 `slot="end-text"` 设置
69
+ */
70
+ endText?: string;
71
+ /**
72
+ * 选中状态的 Material Icons 图标名。也可以通过 `slot="selected-icon"` 设置
73
+ */
74
+ selectedIcon?: string;
75
+ /**
76
+ * 是否打开子菜单
77
+ */
78
+ submenuOpen: boolean;
79
+ protected selected: boolean;
80
+ protected dense: boolean;
81
+ protected selects?: 'single' | 'multiple';
82
+ protected submenuTrigger?: string;
83
+ protected submenuOpenDelay?: number;
84
+ protected submenuCloseDelay?: number;
85
+ protected focusable: boolean;
86
+ protected readonly key: number;
87
+ private submenuOpenTimeout;
88
+ private submenuCloseTimeout;
89
+ private readonly rippleRef;
90
+ private readonly containerRef;
91
+ private readonly submenuRef;
92
+ private readonly hasSlotController;
93
+ constructor();
94
+ protected get focusDisabled(): boolean;
95
+ protected get focusElement(): HTMLElement;
96
+ protected get rippleDisabled(): boolean;
97
+ protected get rippleElement(): Ripple;
98
+ private get hasSubmenu();
99
+ private onOpenChange;
100
+ connectedCallback(): void;
101
+ disconnectedCallback(): void;
102
+ protected firstUpdated(changedProperties: PropertyValues): void;
103
+ protected render(): TemplateResult;
104
+ /**
105
+ * 点击子菜单外面的区域,关闭子菜单
106
+ */
107
+ private onOuterClick;
108
+ private hasTrigger;
109
+ private onFocus;
110
+ private onBlur;
111
+ private onClick;
112
+ private onKeydown;
113
+ private onMouseEnter;
114
+ private onMouseLeave;
115
+ private updateSubmenuPositioner;
116
+ private renderInner;
117
+ }
118
+ declare global {
119
+ interface HTMLElementTagNameMap {
120
+ 'mdui-menu-item': MenuItem;
121
+ }
122
+ }
123
+ export {};
@@ -0,0 +1,412 @@
1
+ import { __decorate } from "tslib";
2
+ import { html, LitElement } from 'lit';
3
+ import { customElement, property, state } from 'lit/decorators.js';
4
+ import { createRef, ref } from 'lit/directives/ref.js';
5
+ import { when } from 'lit/directives/when.js';
6
+ import cc from 'classcat';
7
+ import { $ } from '@mdui/jq/$.js';
8
+ import '@mdui/jq/methods/css.js';
9
+ import '@mdui/jq/methods/height.js';
10
+ import '@mdui/jq/methods/innerHeight.js';
11
+ import '@mdui/jq/methods/innerWidth.js';
12
+ import '@mdui/jq/methods/width.js';
13
+ import { isUndefined } from '@mdui/jq/shared/helper.js';
14
+ import '@mdui/jq/static/contains.js';
15
+ import { HasSlotController } from '@mdui/shared/controllers/has-slot.js';
16
+ import { watch } from '@mdui/shared/decorators/watch.js';
17
+ import { animateTo, stopAnimations } from '@mdui/shared/helpers/animate.js';
18
+ import { booleanConverter } from '@mdui/shared/helpers/decorator.js';
19
+ import { emit } from '@mdui/shared/helpers/event.js';
20
+ import { getDuration, getEasing } from '@mdui/shared/helpers/motion.js';
21
+ import { nothingTemplate } from '@mdui/shared/helpers/template.js';
22
+ import { uniqueId } from '@mdui/shared/helpers/uniqueId.js';
23
+ import '@mdui/shared/icons/arrow-right.js';
24
+ import '@mdui/shared/icons/check.js';
25
+ import { componentStyle } from '@mdui/shared/lit-styles/component-style.js';
26
+ import { AnchorMixin } from '@mdui/shared/mixins/anchor.js';
27
+ import { FocusableMixin } from '@mdui/shared/mixins/focusable.js';
28
+ import '../icon.js';
29
+ import { RippleMixin } from '../ripple/ripple-mixin.js';
30
+ import { menuItemStyle } from './menu-item-style.js';
31
+ /**
32
+ * @summary 菜单项组件
33
+ *
34
+ * ```html
35
+ * <mdui-menu>
36
+ * ..<mdui-menu-item>Item 1</mdui-menu-item>
37
+ * ..<mdui-menu-item>Item 2</mdui-menu-item>
38
+ * </mdui-menu>
39
+ * ```
40
+ *
41
+ * @event focus - 获得焦点时触发
42
+ * @event blur - 失去焦点时触发
43
+ * @event submenu-open - 子菜单开始打开时,事件被触发。可以通过调用 `event.preventDefault()` 阻止子菜单打开
44
+ * @event submenu-opened - 子菜单打开动画完成时,事件被触发
45
+ * @event submenu-close - 子菜单开始关闭时,事件被触发。可以通过调用 `event.preventDefault()` 阻止子菜单关闭
46
+ * @event submenu-closed - 子菜单关闭动画完成时,事件被触发
47
+ *
48
+ * @slot - 菜单项的文本
49
+ * @slot icon - 菜单项左侧图标
50
+ * @slot end-icon - 菜单项右侧图标
51
+ * @slot end-text - 菜单右侧的文本
52
+ * @slot selected-icon - 选中状态的图标
53
+ * @slot submenu - 子菜单
54
+ * @slot custom - 任意自定义内容
55
+ *
56
+ * @csspart container - 菜单项的容器
57
+ * @csspart icon - 左侧的图标
58
+ * @csspart label - 文本内容
59
+ * @csspart end-icon - 右侧的图标
60
+ * @csspart end-text - 右侧的文本
61
+ * @csspart selected-icon - 选中状态的图标
62
+ * @csspart submenu - 子菜单元素
63
+ */
64
+ export let MenuItem = class MenuItem extends AnchorMixin(RippleMixin(FocusableMixin(LitElement))) {
65
+ constructor() {
66
+ super();
67
+ /**
68
+ * 是否禁用该菜单项
69
+ */
70
+ this.disabled = false;
71
+ /**
72
+ * 是否打开子菜单
73
+ */
74
+ this.submenuOpen = false;
75
+ // 是否已选中该菜单项,由 mdui-menu 控制该参数
76
+ this.selected = false;
77
+ // 由 mdui-menu 控制该参数
78
+ this.dense = false;
79
+ // 是否可聚焦。由 mdui-menu 控制该参数
80
+ this.focusable = false;
81
+ // 每一个 menu-item 元素都添加一个唯一的 key
82
+ this.key = uniqueId();
83
+ this.rippleRef = createRef();
84
+ this.containerRef = createRef();
85
+ this.submenuRef = createRef();
86
+ this.hasSlotController = new HasSlotController(this, '[default]', 'icon', 'end-icon', 'end-text', 'submenu', 'custom');
87
+ this.onOuterClick = this.onOuterClick.bind(this);
88
+ this.onFocus = this.onFocus.bind(this);
89
+ this.onBlur = this.onBlur.bind(this);
90
+ this.onClick = this.onClick.bind(this);
91
+ this.onKeydown = this.onKeydown.bind(this);
92
+ this.onMouseEnter = this.onMouseEnter.bind(this);
93
+ this.onMouseLeave = this.onMouseLeave.bind(this);
94
+ }
95
+ get focusDisabled() {
96
+ return this.disabled || !this.focusable;
97
+ }
98
+ get focusElement() {
99
+ return this.href ? this.containerRef.value : this;
100
+ }
101
+ get rippleDisabled() {
102
+ return this.disabled;
103
+ }
104
+ get rippleElement() {
105
+ return this.rippleRef.value;
106
+ }
107
+ get hasSubmenu() {
108
+ return this.hasSlotController.test('submenu');
109
+ }
110
+ async onOpenChange() {
111
+ const hasUpdated = this.hasUpdated;
112
+ const easingLinear = getEasing(this, 'linear');
113
+ const easingEmphasizedDecelerate = getEasing(this, 'emphasized-decelerate');
114
+ const easingEmphasizedAccelerate = getEasing(this, 'emphasized-accelerate');
115
+ // 打开
116
+ // 要区分是否首次渲染,首次渲染时不触发事件,不执行动画;非首次渲染,触发事件,执行动画
117
+ if (this.submenuOpen) {
118
+ if (!hasUpdated) {
119
+ await this.updateComplete;
120
+ }
121
+ if (hasUpdated) {
122
+ const requestOpen = emit(this, 'submenu-open', {
123
+ cancelable: true,
124
+ });
125
+ if (requestOpen.defaultPrevented) {
126
+ return;
127
+ }
128
+ }
129
+ const duration = getDuration(this, 'medium4');
130
+ await stopAnimations(this.submenuRef.value);
131
+ this.submenuRef.value.hidden = false;
132
+ this.updateSubmenuPositioner();
133
+ await Promise.all([
134
+ animateTo(this.submenuRef.value, [{ transform: 'scaleY(0.45)' }, { transform: 'scaleY(1)' }], {
135
+ duration: hasUpdated ? duration : 0,
136
+ easing: easingEmphasizedDecelerate,
137
+ }),
138
+ animateTo(this.submenuRef.value, [{ opacity: 0 }, { opacity: 1, offset: 0.125 }, { opacity: 1 }], {
139
+ duration: hasUpdated ? duration : 0,
140
+ easing: easingLinear,
141
+ }),
142
+ ]);
143
+ if (hasUpdated) {
144
+ emit(this, 'submenu-opened');
145
+ }
146
+ return;
147
+ }
148
+ // 关闭
149
+ if (!this.submenuOpen && hasUpdated) {
150
+ const requestClose = emit(this, 'submenu-close', {
151
+ cancelable: true,
152
+ });
153
+ if (requestClose.defaultPrevented) {
154
+ return;
155
+ }
156
+ const duration = getDuration(this, 'short4');
157
+ await stopAnimations(this.submenuRef.value);
158
+ await Promise.all([
159
+ animateTo(this.submenuRef.value, [{ transform: 'scaleY(1)' }, { transform: 'scaleY(0.45)' }], { duration, easing: easingEmphasizedAccelerate }),
160
+ animateTo(this.submenuRef.value, [{ opacity: 1 }, { opacity: 1, offset: 0.875 }, { opacity: 0 }], { duration, easing: easingLinear }),
161
+ ]);
162
+ this.submenuRef.value.hidden = true;
163
+ emit(this, 'submenu-closed');
164
+ }
165
+ }
166
+ connectedCallback() {
167
+ super.connectedCallback();
168
+ document.addEventListener('pointerdown', this.onOuterClick);
169
+ }
170
+ disconnectedCallback() {
171
+ super.disconnectedCallback();
172
+ document.removeEventListener('pointerdown', this.onOuterClick);
173
+ }
174
+ firstUpdated(changedProperties) {
175
+ super.firstUpdated(changedProperties);
176
+ this.addEventListener('focus', this.onFocus);
177
+ this.addEventListener('blur', this.onBlur);
178
+ this.addEventListener('click', this.onClick);
179
+ this.addEventListener('keydown', this.onKeydown);
180
+ this.addEventListener('mouseenter', this.onMouseEnter);
181
+ this.addEventListener('mouseleave', this.onMouseLeave);
182
+ }
183
+ render() {
184
+ const hasSubmenu = this.hasSubmenu;
185
+ const hasCustomSlot = this.hasSlotController.test('custom');
186
+ const hasEndIconSlot = this.hasSlotController.test('end-icon');
187
+ const useDefaultEndIcon = !this.endIcon && hasSubmenu && !hasEndIconSlot;
188
+ const hasEndIcon = this.endIcon || hasSubmenu || hasEndIconSlot;
189
+ const hasIcon = !isUndefined(this.icon) ||
190
+ this.selects === 'single' ||
191
+ this.selects === 'multiple' ||
192
+ this.hasSlotController.test('icon');
193
+ const hasEndText = !!this.endText || this.hasSlotController.test('end-text');
194
+ const className = cc({
195
+ container: true,
196
+ dense: this.dense,
197
+ preset: !hasCustomSlot,
198
+ 'has-icon': hasIcon,
199
+ 'has-end-text': hasEndText,
200
+ 'has-end-icon': hasEndIcon,
201
+ });
202
+ return html `<mdui-ripple ${ref(this.rippleRef)} .noRipple="${this.noRipple}"></mdui-ripple>${this.href && !this.disabled
203
+ ? this.renderAnchor({
204
+ part: 'container',
205
+ className,
206
+ content: this.renderInner(useDefaultEndIcon, hasIcon),
207
+ refDirective: ref(this.containerRef),
208
+ })
209
+ : html `<div part="container" ${ref(this.containerRef)} class="${className}">${this.renderInner(useDefaultEndIcon, hasIcon)}</div>`} ${when(hasSubmenu, () => html `<slot name="submenu" ${ref(this.submenuRef)} part="submenu" class="submenu" hidden></slot>`)}`;
210
+ }
211
+ /**
212
+ * 点击子菜单外面的区域,关闭子菜单
213
+ */
214
+ onOuterClick(event) {
215
+ if (!this.disabled &&
216
+ this.submenuOpen &&
217
+ this !== event.target &&
218
+ !$.contains(this, event.target)) {
219
+ this.submenuOpen = false;
220
+ }
221
+ }
222
+ hasTrigger(trigger) {
223
+ return this.submenuTrigger
224
+ ? this.submenuTrigger.split(' ').includes(trigger)
225
+ : false;
226
+ }
227
+ onFocus() {
228
+ if (this.disabled ||
229
+ this.submenuOpen ||
230
+ !this.hasTrigger('focus') ||
231
+ !this.hasSubmenu) {
232
+ return;
233
+ }
234
+ this.submenuOpen = true;
235
+ }
236
+ onBlur() {
237
+ if (this.disabled ||
238
+ !this.submenuOpen ||
239
+ !this.hasTrigger('focus') ||
240
+ !this.hasSubmenu) {
241
+ return;
242
+ }
243
+ this.submenuOpen = false;
244
+ }
245
+ onClick(event) {
246
+ // e.button 为 0 时,为鼠标左键点击。忽略鼠标中间和右键
247
+ if (this.disabled || event.button) {
248
+ return;
249
+ }
250
+ // 切换子菜单打开状态
251
+ if (!this.hasTrigger('click') ||
252
+ event.target !== this ||
253
+ !this.hasSubmenu) {
254
+ return;
255
+ }
256
+ // 支持 hover 和 focus 触发时,点击菜单项不关闭子菜单
257
+ if (this.submenuOpen &&
258
+ (this.hasTrigger('hover') || this.hasTrigger('focus'))) {
259
+ return;
260
+ }
261
+ this.submenuOpen = !this.submenuOpen;
262
+ }
263
+ onKeydown(event) {
264
+ // 切换子菜单打开状态
265
+ if (!this.disabled && this.hasSubmenu) {
266
+ if (!this.submenuOpen && event.key === 'Enter') {
267
+ event.stopPropagation();
268
+ this.submenuOpen = true;
269
+ }
270
+ if (this.submenuOpen && event.key === 'Escape') {
271
+ event.stopPropagation();
272
+ this.submenuOpen = false;
273
+ }
274
+ }
275
+ }
276
+ onMouseEnter() {
277
+ // 不做 submenuOpen 的判断,因为可以延时打开和关闭
278
+ if (this.disabled || !this.hasTrigger('hover') || !this.hasSubmenu) {
279
+ return;
280
+ }
281
+ window.clearTimeout(this.submenuCloseTimeout);
282
+ if (this.submenuOpenDelay) {
283
+ this.submenuOpenTimeout = window.setTimeout(() => {
284
+ this.submenuOpen = true;
285
+ }, this.submenuOpenDelay);
286
+ }
287
+ else {
288
+ this.submenuOpen = true;
289
+ }
290
+ }
291
+ onMouseLeave() {
292
+ // 不做 submenuOpen 的判断,因为可以延时打开和关闭
293
+ if (this.disabled || !this.hasTrigger('hover') || !this.hasSubmenu) {
294
+ return;
295
+ }
296
+ window.clearTimeout(this.submenuOpenTimeout);
297
+ this.submenuCloseTimeout = window.setTimeout(() => {
298
+ this.submenuOpen = false;
299
+ }, this.submenuCloseDelay || 50);
300
+ }
301
+ updateSubmenuPositioner() {
302
+ const $window = $(window);
303
+ const $submenu = $(this.submenuRef.value);
304
+ const itemRect = this.getBoundingClientRect();
305
+ const submenuWidth = $submenu.innerWidth();
306
+ const submenuHeight = $submenu.innerHeight();
307
+ const screenMargin = 8; // 子菜单与屏幕界至少保留 8px 间距
308
+ let placementX = 'bottom';
309
+ let placementY = 'right';
310
+ // 判断子菜单上下位置
311
+ if ($window.height() - itemRect.top > submenuHeight + screenMargin) {
312
+ placementX = 'bottom';
313
+ }
314
+ else if (itemRect.top + itemRect.height > submenuHeight + screenMargin) {
315
+ placementX = 'top';
316
+ }
317
+ // 判断子菜单左右位置
318
+ if ($window.width() - itemRect.left - itemRect.width >
319
+ submenuWidth + screenMargin) {
320
+ placementY = 'right';
321
+ }
322
+ else if (itemRect.left > submenuWidth + screenMargin) {
323
+ placementY = 'left';
324
+ }
325
+ $(this.submenuRef.value).css({
326
+ top: placementX === 'bottom' ? 0 : itemRect.height - submenuHeight,
327
+ left: placementY === 'right' ? itemRect.width : -submenuWidth,
328
+ transformOrigin: [
329
+ placementY === 'right' ? 0 : '100%',
330
+ placementX === 'bottom' ? 0 : '100%',
331
+ ].join(' '),
332
+ });
333
+ }
334
+ renderInner(useDefaultEndIcon, hasIcon) {
335
+ return html `<slot name="custom">${this.selected
336
+ ? html `<slot name="selected-icon" part="selected-icon" class="selected-icon">${this.selectedIcon
337
+ ? html `<mdui-icon name="${this.selectedIcon}" class="i"></mdui-icon>`
338
+ : html `<mdui-icon-check class="i"></mdui-icon-check>`}</slot>`
339
+ : html `<slot name="icon" part="icon" class="icon">${hasIcon
340
+ ? html `<mdui-icon name="${this.icon}" class="i"></mdui-icon>`
341
+ : nothingTemplate}</slot>`}<div class="label-container"><slot part="label" class="label"></slot></div><slot name="end-text" part="end-text" class="end-text">${this.endText}</slot>${useDefaultEndIcon
342
+ ? html `<mdui-icon-arrow-right part="end-icon" class="end-icon arrow-right"></mdui-icon-arrow-right>`
343
+ : html `<slot name="end-icon" part="end-icon" class="end-icon">${this.endIcon
344
+ ? html `<mdui-icon name="${this.endIcon}"></mdui-icon>`
345
+ : nothingTemplate}</slot>`}</slot>`;
346
+ }
347
+ };
348
+ MenuItem.styles = [
349
+ componentStyle,
350
+ menuItemStyle,
351
+ ];
352
+ __decorate([
353
+ property({ reflect: true })
354
+ ], MenuItem.prototype, "value", void 0);
355
+ __decorate([
356
+ property({
357
+ type: Boolean,
358
+ reflect: true,
359
+ converter: booleanConverter,
360
+ })
361
+ ], MenuItem.prototype, "disabled", void 0);
362
+ __decorate([
363
+ property({ reflect: true })
364
+ ], MenuItem.prototype, "icon", void 0);
365
+ __decorate([
366
+ property({ reflect: true, attribute: 'end-icon' })
367
+ ], MenuItem.prototype, "endIcon", void 0);
368
+ __decorate([
369
+ property({ reflect: true, attribute: 'end-text' })
370
+ ], MenuItem.prototype, "endText", void 0);
371
+ __decorate([
372
+ property({ reflect: true, attribute: 'selected-icon' })
373
+ ], MenuItem.prototype, "selectedIcon", void 0);
374
+ __decorate([
375
+ property({
376
+ type: Boolean,
377
+ reflect: true,
378
+ converter: booleanConverter,
379
+ attribute: 'submenu-open',
380
+ })
381
+ ], MenuItem.prototype, "submenuOpen", void 0);
382
+ __decorate([
383
+ property({
384
+ type: Boolean,
385
+ reflect: true,
386
+ converter: booleanConverter,
387
+ })
388
+ ], MenuItem.prototype, "selected", void 0);
389
+ __decorate([
390
+ state()
391
+ ], MenuItem.prototype, "dense", void 0);
392
+ __decorate([
393
+ state()
394
+ ], MenuItem.prototype, "selects", void 0);
395
+ __decorate([
396
+ state()
397
+ ], MenuItem.prototype, "submenuTrigger", void 0);
398
+ __decorate([
399
+ state()
400
+ ], MenuItem.prototype, "submenuOpenDelay", void 0);
401
+ __decorate([
402
+ state()
403
+ ], MenuItem.prototype, "submenuCloseDelay", void 0);
404
+ __decorate([
405
+ state()
406
+ ], MenuItem.prototype, "focusable", void 0);
407
+ __decorate([
408
+ watch('submenuOpen')
409
+ ], MenuItem.prototype, "onOpenChange", null);
410
+ MenuItem = __decorate([
411
+ customElement('mdui-menu-item')
412
+ ], MenuItem);
@@ -0,0 +1 @@
1
+ export declare const menuStyle: import("lit").CSSResult;