mdui 1.0.2 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (664) hide show
  1. package/LICENSE +1 -1
  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,200 @@
1
+ import { LitElement, PropertyValues } from 'lit';
2
+ import '../chip.js';
3
+ import '../dropdown.js';
4
+ import '../menu.js';
5
+ import '../text-field.js';
6
+ import type { FormControl } from '@mdui/jq/shared/form.js';
7
+ import type { CSSResultGroup, TemplateResult, WarningKind } from 'lit';
8
+ declare const Select_base: import("@open-wc/dedupe-mixin").Constructor<import("@mdui/shared/mixins/focusable.js").FocusableMixinInterface> & typeof LitElement;
9
+ /**
10
+ * @summary 选择框组件。需与 `<mdui-menu-item>` 组件配合使用
11
+ *
12
+ * ```html
13
+ * <mdui-select>
14
+ * ..<mdui-menu-item value="item-1">Item 1</mdui-menu-item>
15
+ * ..<mdui-menu-item value="item-2">Item 2</mdui-menu-item>
16
+ * </mdui-select>
17
+ * ```
18
+ *
19
+ * @event focus - 获得焦点时触发
20
+ * @event blur - 失去焦点时触发
21
+ * @event change - 选中的值变更时触发
22
+ * @event invalid - 表单字段验证未通过时触发
23
+ * @event clear - 在点击由 `clearable` 属性生成的清空按钮时触发。可以通过调用 `event.preventDefault()` 阻止清空下拉框
24
+ *
25
+ * @slot - `<mdui-menu-item>` 元素
26
+ * @slot icon - 左侧图标
27
+ * @slot end-icon - 右侧图标
28
+ * @slot error-icon - 验证失败状态的右侧图标
29
+ * @slot prefix - 左侧文本
30
+ * @slot suffix - 右侧文本
31
+ * @slot clear-button - 清空按钮
32
+ * @slot clear-icon - 清空按钮中的图标
33
+ * @slot helper - 底部的帮助文本
34
+ *
35
+ * @csspart text-field - 文本框,即 [`<mdui-text-field>`](/docs/2/components/text-field) 元素
36
+ * @csspart menu - 下拉菜单,即 [`<mdui-menu>`](/docs/2/components/menu) 元素
37
+ */
38
+ export declare class Select extends Select_base implements FormControl {
39
+ static enabledWarnings: WarningKind[];
40
+ static styles: CSSResultGroup;
41
+ /**
42
+ * 下拉框形状。可选值为:
43
+ *
44
+ * * `filled`:带背景色的下拉框,视觉效果较强
45
+ * * `outlined`:带边框的下拉框,视觉效果较弱
46
+ */
47
+ variant: /*带背景色的下拉框,视觉效果较强*/ 'filled' | /*带边框的下拉框,视觉效果较弱*/ 'outlined';
48
+ /**
49
+ * 是否支持多选
50
+ */
51
+ multiple: boolean;
52
+ /**
53
+ * 下拉框名称,将与表单数据一起提交
54
+ */
55
+ name: string;
56
+ /**
57
+ * 下拉框的值,将与表单数据一起提交。
58
+ *
59
+ * 若未指定 `multiple` 属性,则该值为字符串;否则,该值为字符串数组。
60
+ * HTML 属性只能设置字符串值;如果需要设置数组值,请通过 JavaScript 设置
61
+ */
62
+ value: string | string[];
63
+ /**
64
+ * 默认选中的值。在重置表单时,将重置为该默认值。该属性只能通过 JavaScript 属性设置
65
+ */
66
+ defaultValue: string | string[];
67
+ /**
68
+ * 标签文本
69
+ */
70
+ label?: string;
71
+ /**
72
+ * 提示文本
73
+ */
74
+ placeholder?: string;
75
+ /**
76
+ * 下拉框底部的帮助文本。也可以通过 `slot="helper"` 设置
77
+ */
78
+ helper?: string;
79
+ /**
80
+ * 是否可清空下拉框
81
+ */
82
+ clearable: boolean;
83
+ /**
84
+ * 可清空下拉框时,显示在下拉框右侧的清空按钮的 Material Icons 图标名。也可以通过 `slot="clear-icon"` 设置
85
+ */
86
+ clearIcon?: string;
87
+ /**
88
+ * 下拉框的方位。可选值为:
89
+ *
90
+ * * `auto`:自动判断方位
91
+ * * `bottom`:位于下方
92
+ * * `top`:位于上方
93
+ */
94
+ placement: /*自动判断方位*/ 'auto' | /*位于下方*/ 'bottom' | /*位于上方*/ 'top';
95
+ /**
96
+ * 文本是否右对齐
97
+ */
98
+ endAligned: boolean;
99
+ /**
100
+ * 下拉框的前缀文本。仅在聚焦状态,或下拉框有值时才会显示。也可以通过 `slot="prefix"` 设置
101
+ */
102
+ prefix: string;
103
+ /**
104
+ * 下拉框的后缀文本。仅在聚焦状态,或下拉框有值时才会显示。也可以通过 `slot="suffix"` 设置
105
+ */
106
+ suffix?: string;
107
+ /**
108
+ * 下拉框的前缀图标的 Material Icons 图标名。也可以通过 `slot="icon"` 设置
109
+ */
110
+ icon?: string;
111
+ /**
112
+ * 下拉框的后缀图标的 Material Icons 图标名。也可以通过 `slot="end-icon"` 设置
113
+ */
114
+ endIcon?: string;
115
+ /**
116
+ * 表单字段验证失败时,显示在下拉框右侧的 Material Icons 图标名。也可以通过 `slot="error-icon"` 设置
117
+ */
118
+ errorIcon?: string;
119
+ /**
120
+ * 关联的 `form` 元素。此属性值必须为同一页面中的一个 `<form>` 元素的 `id` 属性。
121
+ *
122
+ * 如果此属性未指定,则元素必须是 `form` 元素的后代。利用此属性,你可以将元素放置在页面中的任何位置,而不仅仅是作为 `form` 元素的后代。
123
+ */
124
+ form?: string;
125
+ /**
126
+ * 是否为只读
127
+ */
128
+ readonly: boolean;
129
+ /**
130
+ * 是否为禁用状态
131
+ */
132
+ disabled: boolean;
133
+ /**
134
+ * 提交表单时,是否必须填写该字段
135
+ */
136
+ required: boolean;
137
+ /**
138
+ * 是否验证未通过
139
+ *
140
+ * 该验证为浏览器原生验证 API,基于 `required` 属性的验证结果
141
+ */
142
+ private invalid;
143
+ private readonly menuItems;
144
+ private observeResize?;
145
+ private readonly menuRef;
146
+ private readonly textFieldRef;
147
+ private readonly hiddenInputRef;
148
+ private readonly formController;
149
+ private readonly hasSlotController;
150
+ /**
151
+ * 表单验证状态对象
152
+ */
153
+ get validity(): ValidityState;
154
+ /**
155
+ * 表单验证的错误提示信息
156
+ */
157
+ get validationMessage(): string;
158
+ protected get focusElement(): HTMLElement;
159
+ protected get focusDisabled(): boolean;
160
+ connectedCallback(): void;
161
+ disconnectedCallback(): void;
162
+ /**
163
+ * 检查表单字段是否验证通过。若未通过则返回 `false`,并触发 `invalid` 事件;若验证通过,则返回 `true`
164
+ */
165
+ checkValidity(): boolean;
166
+ /**
167
+ * 检查表单字段是否验证通过。若未通过则返回 `false`,并触发 `invalid` 事件;若验证通过,则返回 `true`。
168
+ *
169
+ * 验证未通过时,还将在组件上显示未通过的提示。
170
+ */
171
+ reportValidity(): boolean;
172
+ /**
173
+ * 设置自定义的错误提示文本。只要文本不为空,则表示字段验证未通过
174
+ *
175
+ * @param message 自定义的提示文本
176
+ */
177
+ setCustomValidity(message: string): void;
178
+ protected firstUpdated(changedProperties: PropertyValues): void;
179
+ protected render(): TemplateResult;
180
+ private getMenuItemLabelByValue;
181
+ private resizeMenu;
182
+ private onDropdownOpen;
183
+ private onDropdownClose;
184
+ private onValueChange;
185
+ /**
186
+ * multiple 为 true 时,点 chip 的删除按钮,删除其中一个值
187
+ */
188
+ private onDeleteOneValue;
189
+ private onClear;
190
+ /**
191
+ * 焦点在 text-field 上时,按下回车键,打开下拉选项
192
+ */
193
+ private onTextFieldKeyDown;
194
+ }
195
+ declare global {
196
+ interface HTMLElementTagNameMap {
197
+ 'mdui-select': Select;
198
+ }
199
+ }
200
+ export {};
@@ -0,0 +1,390 @@
1
+ import { __decorate } from "tslib";
2
+ import { html, LitElement, nothing } from 'lit';
3
+ import { customElement, property, queryAssignedElements, } from 'lit/decorators.js';
4
+ import { ifDefined } from 'lit/directives/if-defined.js';
5
+ import { map } from 'lit/directives/map.js';
6
+ import { createRef, ref } from 'lit/directives/ref.js';
7
+ import { when } from 'lit/directives/when.js';
8
+ import { isString } from '@mdui/jq/shared/helper.js';
9
+ import { FormController, formResets } from '@mdui/shared/controllers/form.js';
10
+ import { HasSlotController } from '@mdui/shared/controllers/has-slot.js';
11
+ import { defaultValue } from '@mdui/shared/decorators/default-value.js';
12
+ import { booleanConverter } from '@mdui/shared/helpers/decorator.js';
13
+ import { emit } from '@mdui/shared/helpers/event.js';
14
+ import { observeResize } from '@mdui/shared/helpers/observeResize.js';
15
+ import { componentStyle } from '@mdui/shared/lit-styles/component-style.js';
16
+ import { FocusableMixin } from '@mdui/shared/mixins/focusable.js';
17
+ import '../chip.js';
18
+ import '../dropdown.js';
19
+ import '../menu.js';
20
+ import '../text-field.js';
21
+ import { style } from './style.js';
22
+ /**
23
+ * @summary 选择框组件。需与 `<mdui-menu-item>` 组件配合使用
24
+ *
25
+ * ```html
26
+ * <mdui-select>
27
+ * ..<mdui-menu-item value="item-1">Item 1</mdui-menu-item>
28
+ * ..<mdui-menu-item value="item-2">Item 2</mdui-menu-item>
29
+ * </mdui-select>
30
+ * ```
31
+ *
32
+ * @event focus - 获得焦点时触发
33
+ * @event blur - 失去焦点时触发
34
+ * @event change - 选中的值变更时触发
35
+ * @event invalid - 表单字段验证未通过时触发
36
+ * @event clear - 在点击由 `clearable` 属性生成的清空按钮时触发。可以通过调用 `event.preventDefault()` 阻止清空下拉框
37
+ *
38
+ * @slot - `<mdui-menu-item>` 元素
39
+ * @slot icon - 左侧图标
40
+ * @slot end-icon - 右侧图标
41
+ * @slot error-icon - 验证失败状态的右侧图标
42
+ * @slot prefix - 左侧文本
43
+ * @slot suffix - 右侧文本
44
+ * @slot clear-button - 清空按钮
45
+ * @slot clear-icon - 清空按钮中的图标
46
+ * @slot helper - 底部的帮助文本
47
+ *
48
+ * @csspart text-field - 文本框,即 [`<mdui-text-field>`](/docs/2/components/text-field) 元素
49
+ * @csspart menu - 下拉菜单,即 [`<mdui-menu>`](/docs/2/components/menu) 元素
50
+ */
51
+ export let Select = class Select extends FocusableMixin(LitElement) {
52
+ constructor() {
53
+ super(...arguments);
54
+ /**
55
+ * 下拉框形状。可选值为:
56
+ *
57
+ * * `filled`:带背景色的下拉框,视觉效果较强
58
+ * * `outlined`:带边框的下拉框,视觉效果较弱
59
+ */
60
+ this.variant = 'filled';
61
+ /**
62
+ * 是否支持多选
63
+ */
64
+ this.multiple = false;
65
+ /**
66
+ * 下拉框名称,将与表单数据一起提交
67
+ */
68
+ this.name = '';
69
+ /**
70
+ * 下拉框的值,将与表单数据一起提交。
71
+ *
72
+ * 若未指定 `multiple` 属性,则该值为字符串;否则,该值为字符串数组。
73
+ * HTML 属性只能设置字符串值;如果需要设置数组值,请通过 JavaScript 设置
74
+ */
75
+ this.value = '';
76
+ /**
77
+ * 默认选中的值。在重置表单时,将重置为该默认值。该属性只能通过 JavaScript 属性设置
78
+ */
79
+ this.defaultValue = '';
80
+ /**
81
+ * 是否可清空下拉框
82
+ */
83
+ this.clearable = false;
84
+ /**
85
+ * 下拉框的方位。可选值为:
86
+ *
87
+ * * `auto`:自动判断方位
88
+ * * `bottom`:位于下方
89
+ * * `top`:位于上方
90
+ */
91
+ this.placement = 'auto';
92
+ /**
93
+ * 文本是否右对齐
94
+ */
95
+ this.endAligned = false;
96
+ /**
97
+ * 是否为只读
98
+ */
99
+ this.readonly = false;
100
+ /**
101
+ * 是否为禁用状态
102
+ */
103
+ this.disabled = false;
104
+ /**
105
+ * 提交表单时,是否必须填写该字段
106
+ */
107
+ this.required = false;
108
+ /**
109
+ * 是否验证未通过
110
+ *
111
+ * 该验证为浏览器原生验证 API,基于 `required` 属性的验证结果
112
+ */
113
+ this.invalid = false;
114
+ this.menuRef = createRef();
115
+ this.textFieldRef = createRef();
116
+ this.hiddenInputRef = createRef();
117
+ this.formController = new FormController(this);
118
+ this.hasSlotController = new HasSlotController(this, 'icon', 'end-icon', 'error-icon', 'prefix', 'suffix', 'clear-button', 'clear-icon', 'helper');
119
+ }
120
+ /**
121
+ * 表单验证状态对象
122
+ */
123
+ get validity() {
124
+ return this.hiddenInputRef.value.validity;
125
+ }
126
+ /**
127
+ * 表单验证的错误提示信息
128
+ */
129
+ get validationMessage() {
130
+ return this.hiddenInputRef.value.validationMessage;
131
+ }
132
+ get focusElement() {
133
+ return this.textFieldRef.value;
134
+ }
135
+ get focusDisabled() {
136
+ return this.disabled;
137
+ }
138
+ connectedCallback() {
139
+ super.connectedCallback();
140
+ this.value =
141
+ this.multiple && isString(this.value)
142
+ ? this.value
143
+ ? [this.value]
144
+ : []
145
+ : this.value;
146
+ this.defaultValue = this.multiple ? [] : '';
147
+ this.updateComplete.then(() => {
148
+ this.observeResize = observeResize(this.textFieldRef.value, () => this.resizeMenu());
149
+ });
150
+ }
151
+ disconnectedCallback() {
152
+ var _a;
153
+ super.disconnectedCallback();
154
+ (_a = this.observeResize) === null || _a === void 0 ? void 0 : _a.unobserve();
155
+ }
156
+ /**
157
+ * 检查表单字段是否验证通过。若未通过则返回 `false`,并触发 `invalid` 事件;若验证通过,则返回 `true`
158
+ */
159
+ checkValidity() {
160
+ const valid = this.hiddenInputRef.value.checkValidity();
161
+ if (!valid) {
162
+ emit(this, 'invalid', {
163
+ bubbles: false,
164
+ cancelable: true,
165
+ composed: false,
166
+ });
167
+ }
168
+ return valid;
169
+ }
170
+ /**
171
+ * 检查表单字段是否验证通过。若未通过则返回 `false`,并触发 `invalid` 事件;若验证通过,则返回 `true`。
172
+ *
173
+ * 验证未通过时,还将在组件上显示未通过的提示。
174
+ */
175
+ reportValidity() {
176
+ this.invalid = !this.hiddenInputRef.value.reportValidity();
177
+ if (this.invalid) {
178
+ emit(this, 'invalid', {
179
+ bubbles: false,
180
+ cancelable: true,
181
+ composed: false,
182
+ });
183
+ this.focus();
184
+ }
185
+ return !this.invalid;
186
+ }
187
+ /**
188
+ * 设置自定义的错误提示文本。只要文本不为空,则表示字段验证未通过
189
+ *
190
+ * @param message 自定义的提示文本
191
+ */
192
+ setCustomValidity(message) {
193
+ this.hiddenInputRef.value.setCustomValidity(message);
194
+ this.invalid = !this.hiddenInputRef.value.checkValidity();
195
+ }
196
+ firstUpdated(changedProperties) {
197
+ super.firstUpdated(changedProperties);
198
+ // 首次渲染时,slot 中的 mdui-menu-item 还未渲染完成,无法读取到其中的文本值
199
+ // 所以需要在首次更新后,再次重新渲染,此时 mdui-menu-item 已渲染完成,可以读取到文本值
200
+ this.requestUpdate();
201
+ }
202
+ render() {
203
+ var _a;
204
+ const hasSelection = this.multiple ? !!this.value.length : !!this.value;
205
+ return html `${this.multiple
206
+ ? html `<select ${ref(this.hiddenInputRef)} class="hidden-input" name="${ifDefined(this.name)}" value="${ifDefined(this.value)}" .required="${this.required}" .disabled="${this.disabled}" multiple="multiple" tabindex="-1">${map(this.value, (value) => html `<option selected="selected" value="${value}"></option>`)}</select>`
207
+ : html `<input ${ref(this.hiddenInputRef)} type="radio" class="hidden-input" name="${ifDefined(this.name)}" value="${ifDefined(this.value)}" .required="${this.required}" .disabled="${this.disabled}" .checked="${hasSelection}" tabindex="-1">`}<mdui-dropdown .stayOpenOnClick="${this.multiple}" .disabled="${this.readonly || this.disabled}" .placement="${this.placement === 'top'
208
+ ? 'top-start'
209
+ : this.placement === 'bottom'
210
+ ? 'bottom-start'
211
+ : 'auto'}" @open="${this.onDropdownOpen}" @close="${this.onDropdownClose}"><mdui-text-field ${ref(this.textFieldRef)} slot="trigger" part="text-field" class="text-field" readonly="readonly" .readonlyButClearable="${true}" .variant="${this.variant}" .name="${this.name}" .value="${this.multiple
212
+ ? this.value.length
213
+ ? ' '
214
+ : ''
215
+ : this.getMenuItemLabelByValue(this.value)}" .label="${this.label}" .placeholder="${this.placeholder}" .helper="${this.helper}" .error="${(_a = this.hiddenInputRef.value) === null || _a === void 0 ? void 0 : _a.validationMessage}" .clearable="${this.clearable}" .clearIcon="${this.clearIcon}" .endAligned="${this.endAligned}" .prefix="${this.prefix}" .suffix="${this.suffix}" .icon="${this.icon}" .endIcon="${this.endIcon}" .errorIcon="${this.errorIcon}" .form="${this.form}" .disabled="${this.disabled}" .required="${this.required}" .invalidStyle="${this.invalid}" @clear="${this.onClear}" @change="${(e) => e.stopPropagation()}" @keydown="${this.onTextFieldKeyDown}">${map([
216
+ 'icon',
217
+ 'end-icon',
218
+ 'error-icon',
219
+ 'prefix',
220
+ 'suffix',
221
+ 'clear-button',
222
+ 'clear-icon',
223
+ 'helper',
224
+ ], (slotName) => this.hasSlotController.test(slotName)
225
+ ? html `<slot name="${slotName}" slot="${slotName}"></slot>`
226
+ : nothing)} ${when(this.multiple && this.value.length, () => html `<div slot="input" class="chips">${map(this.value, (valueItem) => html `<mdui-chip class="chip" variant="input" deletable tabindex="-1" @delete="${() => this.onDeleteOneValue(valueItem)}">${this.getMenuItemLabelByValue(valueItem)}</mdui-chip>`)}</div>`)}</mdui-text-field><mdui-menu ${ref(this.menuRef)} part="menu" .selects="${this.multiple ? 'multiple' : 'single'}" .value="${this.value}" @change="${this.onValueChange}"><slot></slot></mdui-menu></mdui-dropdown>`;
227
+ }
228
+ getMenuItemLabelByValue(valueItem) {
229
+ var _a;
230
+ if (!this.menuItems.length) {
231
+ return valueItem;
232
+ }
233
+ return (((_a = this.menuItems.find((item) => item.value === valueItem)) === null || _a === void 0 ? void 0 : _a.textContent) ||
234
+ valueItem);
235
+ }
236
+ resizeMenu() {
237
+ this.menuRef.value.style.width = `${this.textFieldRef.value.clientWidth}px`;
238
+ }
239
+ async onDropdownOpen() {
240
+ // @ts-ignore
241
+ this.textFieldRef.value.focusedStyle = true;
242
+ }
243
+ onDropdownClose() {
244
+ // @ts-ignore
245
+ this.textFieldRef.value.focusedStyle = false;
246
+ }
247
+ async onValueChange(e) {
248
+ var _a, _b;
249
+ const menu = e.target;
250
+ this.value = this.multiple
251
+ ? menu.value.map((v) => v !== null && v !== void 0 ? v : '')
252
+ : (_a = menu.value) !== null && _a !== void 0 ? _a : '';
253
+ await this.updateComplete;
254
+ // reset 引起的值变更,不执行验证;直接修改值引起的变更,需要进行验证
255
+ const form = this.formController.getForm();
256
+ if (form && ((_b = formResets.get(form)) === null || _b === void 0 ? void 0 : _b.has(this))) {
257
+ this.invalid = false;
258
+ formResets.get(form).delete(this);
259
+ }
260
+ else {
261
+ this.invalid = !this.hiddenInputRef.value.checkValidity();
262
+ }
263
+ }
264
+ /**
265
+ * multiple 为 true 时,点 chip 的删除按钮,删除其中一个值
266
+ */
267
+ onDeleteOneValue(valueItem) {
268
+ const value = [...this.value];
269
+ if (value.includes(valueItem)) {
270
+ value.splice(value.indexOf(valueItem), 1);
271
+ }
272
+ this.value = value;
273
+ }
274
+ onClear() {
275
+ this.value = this.multiple ? [] : '';
276
+ }
277
+ /**
278
+ * 焦点在 text-field 上时,按下回车键,打开下拉选项
279
+ */
280
+ onTextFieldKeyDown(event) {
281
+ if (event.key === 'Enter') {
282
+ event.preventDefault();
283
+ this.textFieldRef.value.click();
284
+ }
285
+ }
286
+ };
287
+ // firstUpdated 中调用了 requestUpdate,会产生控制台警告,所以这里关闭 change-in-update 警告
288
+ Select.enabledWarnings = ['migration'];
289
+ Select.styles = [componentStyle, style];
290
+ __decorate([
291
+ property({ reflect: true })
292
+ ], Select.prototype, "variant", void 0);
293
+ __decorate([
294
+ property({
295
+ type: Boolean,
296
+ reflect: true,
297
+ converter: booleanConverter,
298
+ })
299
+ ], Select.prototype, "multiple", void 0);
300
+ __decorate([
301
+ property({ reflect: true })
302
+ ], Select.prototype, "name", void 0);
303
+ __decorate([
304
+ property()
305
+ ], Select.prototype, "value", void 0);
306
+ __decorate([
307
+ defaultValue()
308
+ ], Select.prototype, "defaultValue", void 0);
309
+ __decorate([
310
+ property({ reflect: true })
311
+ ], Select.prototype, "label", void 0);
312
+ __decorate([
313
+ property({ reflect: true })
314
+ ], Select.prototype, "placeholder", void 0);
315
+ __decorate([
316
+ property({ reflect: true })
317
+ ], Select.prototype, "helper", void 0);
318
+ __decorate([
319
+ property({
320
+ type: Boolean,
321
+ reflect: true,
322
+ converter: booleanConverter,
323
+ })
324
+ ], Select.prototype, "clearable", void 0);
325
+ __decorate([
326
+ property({ reflect: true, attribute: 'clear-icon' })
327
+ ], Select.prototype, "clearIcon", void 0);
328
+ __decorate([
329
+ property({ reflect: true })
330
+ ], Select.prototype, "placement", void 0);
331
+ __decorate([
332
+ property({
333
+ type: Boolean,
334
+ reflect: true,
335
+ converter: booleanConverter,
336
+ attribute: 'end-aligned',
337
+ })
338
+ ], Select.prototype, "endAligned", void 0);
339
+ __decorate([
340
+ property({ reflect: true })
341
+ ], Select.prototype, "prefix", void 0);
342
+ __decorate([
343
+ property({ reflect: true })
344
+ ], Select.prototype, "suffix", void 0);
345
+ __decorate([
346
+ property({ reflect: true })
347
+ ], Select.prototype, "icon", void 0);
348
+ __decorate([
349
+ property({ reflect: true, attribute: 'end-icon' })
350
+ ], Select.prototype, "endIcon", void 0);
351
+ __decorate([
352
+ property({ reflect: true, attribute: 'error-icon' })
353
+ ], Select.prototype, "errorIcon", void 0);
354
+ __decorate([
355
+ property({ reflect: true })
356
+ ], Select.prototype, "form", void 0);
357
+ __decorate([
358
+ property({
359
+ type: Boolean,
360
+ reflect: true,
361
+ converter: booleanConverter,
362
+ })
363
+ ], Select.prototype, "readonly", void 0);
364
+ __decorate([
365
+ property({
366
+ type: Boolean,
367
+ reflect: true,
368
+ converter: booleanConverter,
369
+ })
370
+ ], Select.prototype, "disabled", void 0);
371
+ __decorate([
372
+ property({
373
+ type: Boolean,
374
+ reflect: true,
375
+ converter: booleanConverter,
376
+ })
377
+ ], Select.prototype, "required", void 0);
378
+ __decorate([
379
+ property({
380
+ type: Boolean,
381
+ reflect: true,
382
+ converter: booleanConverter,
383
+ })
384
+ ], Select.prototype, "invalid", void 0);
385
+ __decorate([
386
+ queryAssignedElements({ flatten: true, selector: 'mdui-menu-item' })
387
+ ], Select.prototype, "menuItems", void 0);
388
+ Select = __decorate([
389
+ customElement('mdui-select')
390
+ ], Select);
@@ -0,0 +1 @@
1
+ export declare const style: import("lit").CSSResult;
@@ -0,0 +1,2 @@
1
+ import { css } from 'lit';
2
+ export const style = css `:host{display:inline-block;width:100%}.hidden-input{display:none}.text-field{cursor:pointer}.chips{display:flex;flex-wrap:wrap;margin:-.5rem -.25rem;min-height:2.5rem}:host([variant=filled][label]) .chips{margin:0 -.25rem -1rem -.25rem}.chip{margin:.25rem}mdui-menu{max-width:none}`;
@@ -0,0 +1 @@
1
+ export * from './select/index.js';
@@ -0,0 +1 @@
1
+ export * from './select/index.js';
@@ -0,0 +1,53 @@
1
+ import { SliderBase } from './slider-base.js';
2
+ import type { Ripple } from '../ripple/index.js';
3
+ import type { FormControl } from '@mdui/jq/shared/form.js';
4
+ import type { CSSResultGroup, PropertyValues, TemplateResult } from 'lit';
5
+ /**
6
+ * @summary 滑块组件
7
+ *
8
+ * ```html
9
+ * <mdui-slider></mdui-slider>
10
+ * ```
11
+ *
12
+ * @event focus - 获得焦点时触发
13
+ * @event blur - 失去焦点时触发
14
+ * @event change - 在值发生了变更,且失去了焦点时,将触发该事件
15
+ * @event input - 值变更时触发
16
+ * @event invalid - 表单字段验证未通过时触发
17
+ *
18
+ * @csspart track-inactive - 未激活状态的轨道
19
+ * @csspart track-active - 已激活状态的轨道
20
+ * @csspart handle - 操作杆
21
+ * @csspart label 提示文本
22
+ * @csspart tickmark - 刻度标记
23
+ */
24
+ export declare class Slider extends SliderBase implements FormControl {
25
+ static styles: CSSResultGroup;
26
+ /**
27
+ * 滑块的值,将于表单数据一起提交
28
+ */
29
+ value: number;
30
+ /**
31
+ * 默认值。在重置表单时,将重置为该默认值。该属性只能通过 JavaScript 属性设置
32
+ */
33
+ defaultValue: number;
34
+ private readonly rippleRef;
35
+ private readonly handleRef;
36
+ private readonly formController;
37
+ protected get rippleElement(): Ripple;
38
+ private onValueChange;
39
+ connectedCallback(): void;
40
+ protected firstUpdated(changedProperties: PropertyValues): void;
41
+ /**
42
+ * <input /> 用于提供拖拽操作
43
+ * <input class="invalid" /> 用于提供 html5 自带的表单错误提示
44
+ */
45
+ protected render(): TemplateResult;
46
+ private updateStyle;
47
+ private onInput;
48
+ }
49
+ declare global {
50
+ interface HTMLElementTagNameMap {
51
+ 'mdui-slider': Slider;
52
+ }
53
+ }