@shortfuse/materialdesignweb 0.3.0 → 0.4.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 (398) hide show
  1. package/.eslintrc.json +136 -30
  2. package/.stylelintrc.json +6 -40
  3. package/.vscode/launch.json +20 -5
  4. package/CHANGELOG.md +24 -0
  5. package/README.md +12 -9
  6. package/adapters/datatable/column.js +82 -74
  7. package/adapters/datatable/index.js +173 -131
  8. package/adapters/dom/index.js +529 -75
  9. package/adapters/list/index.js +25 -12
  10. package/adapters/search/index.js +13 -13
  11. package/components/appbar/_spec.scss +87 -64
  12. package/components/appbar/index.scss +2 -2
  13. package/components/banner/_spec.scss +8 -8
  14. package/components/banner/index.scss +2 -2
  15. package/components/bottomnav/_spec.scss +22 -17
  16. package/components/bottomnav/index.js +61 -52
  17. package/components/bottomnav/index.scss +2 -2
  18. package/components/bottomnav/item.js +44 -25
  19. package/components/button/README.md +14 -14
  20. package/components/button/_spec.scss +23 -22
  21. package/components/button/_theme.scss +37 -21
  22. package/components/button/index.eta +32 -0
  23. package/components/button/index.js +12 -12
  24. package/components/button/index.scss +2 -2
  25. package/components/card/_spec.scss +40 -36
  26. package/components/card/index.scss +2 -2
  27. package/components/chip/_spec.scss +7 -8
  28. package/components/chip/_theme.scss +31 -31
  29. package/components/chip/index.js +3 -2
  30. package/components/chip/index.scss +2 -2
  31. package/components/chip/item.js +1 -16
  32. package/components/datatable/_spec.scss +71 -85
  33. package/components/datatable/_theme.scss +61 -156
  34. package/components/datatable/cell.js +45 -0
  35. package/components/datatable/columnheader.js +47 -0
  36. package/components/datatable/index.js +279 -366
  37. package/components/datatable/index.scss +2 -2
  38. package/components/datatable/row.js +49 -0
  39. package/components/datatable/rowheader.js +18 -0
  40. package/components/dialog/_spec.scss +61 -41
  41. package/components/dialog/index.js +325 -297
  42. package/components/dialog/index.scss +2 -2
  43. package/components/divider/_spec.scss +8 -6
  44. package/components/divider/index.scss +2 -2
  45. package/components/elevation/_spec.scss +2 -2
  46. package/components/elevation/index.scss +2 -2
  47. package/components/fab/_spec.scss +23 -24
  48. package/components/fab/index.js +50 -50
  49. package/components/fab/index.scss +2 -2
  50. package/components/grid/_spec.scss +33 -31
  51. package/components/grid/index.scss +2 -2
  52. package/components/layout/_mixins.scss +5 -5
  53. package/components/layout/_spec.scss +206 -176
  54. package/components/layout/_theme.scss +14 -16
  55. package/components/layout/index.js +181 -153
  56. package/components/layout/index.scss +2 -2
  57. package/components/list/_spec.scss +117 -104
  58. package/components/list/_theme.scss +31 -34
  59. package/components/list/content.js +68 -52
  60. package/components/list/index.js +194 -61
  61. package/components/list/index.scss +2 -2
  62. package/components/list/item.js +136 -12
  63. package/components/list/secondary.js +46 -0
  64. package/components/menu/_spec.scss +32 -19
  65. package/components/menu/index.js +242 -229
  66. package/components/menu/index.scss +2 -2
  67. package/components/menu/item.js +95 -110
  68. package/components/progress/_spec.scss +35 -27
  69. package/components/progress/index.js +21 -0
  70. package/components/progress/index.scss +2 -1
  71. package/components/selection/_spec.scss +242 -224
  72. package/components/selection/_theme.scss +100 -95
  73. package/components/selection/index.eta +60 -0
  74. package/components/selection/index.js +76 -0
  75. package/components/selection/index.pug +15 -8
  76. package/components/selection/index.scss +2 -2
  77. package/components/selection/input.js +56 -0
  78. package/components/selection/radiogroup.js +47 -0
  79. package/components/slider/_spec.scss +10 -8
  80. package/components/slider/index.scss +2 -2
  81. package/components/snackbar/_spec.scss +22 -21
  82. package/components/snackbar/index.js +102 -111
  83. package/components/snackbar/index.scss +2 -2
  84. package/components/tab/_spec.scss +20 -19
  85. package/components/tab/content.js +41 -40
  86. package/components/tab/index.js +192 -99
  87. package/components/tab/index.scss +2 -2
  88. package/components/tab/item.js +38 -55
  89. package/components/tab/list.js +96 -72
  90. package/components/tab/panel.js +12 -13
  91. package/components/template/_theme.scss +11 -11
  92. package/components/textfield/_mixins.scss +52 -0
  93. package/components/textfield/_spec.scss +215 -266
  94. package/components/textfield/_theme.scss +95 -72
  95. package/components/textfield/index.eta +74 -0
  96. package/components/textfield/index.js +63 -57
  97. package/components/textfield/index.scss +2 -2
  98. package/components/tooltip/_spec.scss +27 -25
  99. package/components/tooltip/index.scss +2 -2
  100. package/components/type/_spec.scss +51 -38
  101. package/components/type/index.scss +2 -2
  102. package/core/_breakpoint.scss +75 -91
  103. package/core/_elevation.scss +10 -10
  104. package/core/_length.scss +9 -0
  105. package/core/_motion.scss +14 -14
  106. package/core/_platform.scss +9 -15
  107. package/core/_type.scss +33 -32
  108. package/core/aria/attributes.js +125 -25
  109. package/core/aria/button.js +23 -23
  110. package/core/aria/keyboard.js +93 -0
  111. package/core/aria/rovingtabindex.js +69 -154
  112. package/core/aria/tab.js +31 -28
  113. package/core/color/_theme.scss +240 -280
  114. package/core/color/index.scss +2 -2
  115. package/core/document/index.js +39 -0
  116. package/core/dom.js +12 -12
  117. package/core/overlay/_spec.scss +0 -3
  118. package/core/overlay/_theme.scss +56 -74
  119. package/core/overlay/index.js +49 -18
  120. package/core/overlay/index.scss +2 -2
  121. package/core/ripple/_spec.scss +22 -39
  122. package/core/ripple/_theme.scss +13 -13
  123. package/core/ripple/index.js +137 -134
  124. package/core/ripple/index.scss +2 -2
  125. package/core/theme/_config.scss +2 -0
  126. package/core/theme/_mixins.scss +172 -0
  127. package/core/theme/_palettes.scss +155 -135
  128. package/core/theme/_variables.scss +24 -15
  129. package/core/theme/index.js +50 -0
  130. package/core/throttler.js +1 -1
  131. package/core/transition/index.js +36 -20
  132. package/{docs-src → docs}/_flex.scss +0 -0
  133. package/{docs-src → docs}/_menuoptions.js +21 -34
  134. package/{docs-src → docs}/_mixins.pug +39 -26
  135. package/docs/_partials/_androidnavbar.eta +5 -0
  136. package/docs/_partials/_androidstatusbar.eta +13 -0
  137. package/docs/_partials/_appbar.eta +29 -0
  138. package/docs/_partials/_buttontest.eta +31 -0
  139. package/docs/_partials/_header.eta +149 -0
  140. package/docs/_partials/_navlistitem.eta +16 -0
  141. package/docs/_partials/_target.eta +1 -0
  142. package/{docs-src → docs}/_sample-utils.js +8 -6
  143. package/{docs-src → docs}/_storage.js +0 -0
  144. package/{docs-src → docs}/docs.scss +5 -2
  145. package/docs/index.eta +16 -0
  146. package/{docs-src → docs}/index.js +0 -0
  147. package/docs/pages/appbar.eta +114 -0
  148. package/{docs-src/components → docs/pages}/appbar.js +0 -0
  149. package/{docs-src/components → docs/pages}/appbar.pug +15 -18
  150. package/docs/pages/bottomnav.eta +188 -0
  151. package/{docs-src/components → docs/pages}/bottomnav.js +23 -24
  152. package/{docs-src/components → docs/pages}/bottomnav.pug +4 -4
  153. package/docs/pages/button.eta +124 -0
  154. package/{docs-src/components → docs/pages}/button.js +19 -19
  155. package/{docs-src/components → docs/pages}/button.pug +15 -15
  156. package/docs/pages/card.eta +90 -0
  157. package/{docs-src/components → docs/pages}/card.js +3 -3
  158. package/{docs-src/components → docs/pages}/card.pug +7 -7
  159. package/docs/pages/chip.eta +122 -0
  160. package/{docs-src/components → docs/pages}/chip.js +3 -6
  161. package/{docs-src/components → docs/pages}/chip.pug +2 -2
  162. package/docs/pages/color.eta +143 -0
  163. package/{docs-src/core → docs/pages}/color.js +95 -20
  164. package/docs/pages/color.pug +121 -0
  165. package/docs/pages/datatable.eta +323 -0
  166. package/{docs-src/components → docs/pages}/datatable.js +26 -13
  167. package/docs/pages/datatable.pug +283 -0
  168. package/docs/pages/dialog.eta +186 -0
  169. package/{docs-src/components → docs/pages}/dialog.js +26 -13
  170. package/{docs-src/components → docs/pages}/dialog.pug +46 -28
  171. package/docs/pages/dom.eta +26 -0
  172. package/docs/pages/dom.js +143 -0
  173. package/docs/pages/dom.pug +22 -0
  174. package/docs/pages/elevation.eta +35 -0
  175. package/{docs-src/components → docs/pages}/elevation.js +0 -0
  176. package/{docs-src/components → docs/pages}/elevation.pug +0 -0
  177. package/docs/pages/fab.eta +99 -0
  178. package/{docs-src/components → docs/pages}/fab.js +3 -3
  179. package/{docs-src/components → docs/pages}/fab.pug +2 -2
  180. package/docs/pages/grid.eta +135 -0
  181. package/{docs-src/components → docs/pages}/grid.js +1 -1
  182. package/{docs-src/components → docs/pages}/grid.pug +3 -3
  183. package/docs/pages/layout.eta +8 -0
  184. package/{docs-src/components → docs/pages}/layout.js +0 -0
  185. package/{docs-src/components → docs/pages}/layout.pug +0 -0
  186. package/docs/pages/list.eta +465 -0
  187. package/{docs-src/components → docs/pages}/list.js +2 -2
  188. package/{docs-src/components → docs/pages}/list.pug +7 -14
  189. package/docs/pages/menu.eta +276 -0
  190. package/{docs-src/components → docs/pages}/menu.js +14 -10
  191. package/{docs-src/components → docs/pages}/menu.pug +0 -0
  192. package/docs/pages/overlay.eta +69 -0
  193. package/docs/pages/overlay.js +4 -0
  194. package/{docs-src/core → docs/pages}/overlay.pug +14 -11
  195. package/docs/pages/progress.eta +23 -0
  196. package/{docs-src/components → docs/pages}/progress.js +1 -1
  197. package/{docs-src/components → docs/pages}/progress.pug +1 -1
  198. package/docs/pages/ripple.eta +27 -0
  199. package/docs/pages/ripple.js +4 -0
  200. package/{docs-src/core → docs/pages}/ripple.pug +4 -4
  201. package/docs/pages/search.eta +246 -0
  202. package/{docs-src/components → docs/pages}/search.js +59 -42
  203. package/{docs-src/components → docs/pages}/search.pug +50 -51
  204. package/docs/pages/selection.eta +111 -0
  205. package/docs/pages/selection.js +13 -0
  206. package/docs/pages/selection.pug +74 -0
  207. package/docs/pages/slider.eta +23 -0
  208. package/{docs-src/components → docs/pages}/slider.js +0 -0
  209. package/{docs-src/components → docs/pages}/slider.pug +0 -0
  210. package/docs/pages/snackbar.eta +83 -0
  211. package/{docs-src/components → docs/pages}/snackbar.js +3 -3
  212. package/{docs-src/components → docs/pages}/snackbar.pug +0 -0
  213. package/docs/pages/tab.eta +421 -0
  214. package/{docs-src/components → docs/pages}/tab.js +18 -35
  215. package/{docs-src/components → docs/pages}/tab.pug +4 -4
  216. package/docs/pages/textfield.eta +486 -0
  217. package/{docs-src/components → docs/pages}/textfield.js +3 -4
  218. package/{docs-src/components → docs/pages}/textfield.pug +87 -35
  219. package/docs/pages/tooltip.eta +94 -0
  220. package/{docs-src/components → docs/pages}/tooltip.js +0 -0
  221. package/{docs-src/components → docs/pages}/tooltip.pug +0 -1
  222. package/docs/pages/transition.eta +117 -0
  223. package/{docs-src/core → docs/pages}/transition.js +7 -8
  224. package/{docs-src/core → docs/pages}/transition.pug +0 -0
  225. package/docs/pages/type.eta +31 -0
  226. package/{docs-src/components → docs/pages}/type.js +0 -0
  227. package/{docs-src/components → docs/pages}/type.pug +0 -1
  228. package/docs/postrender.js +39 -0
  229. package/{docs-src → docs}/prerender.js +3 -9
  230. package/docs/pwa/_dialogs.eta +143 -0
  231. package/docs/pwa/_dialogs.pug +96 -0
  232. package/docs/pwa/_menus.eta +16 -0
  233. package/{docs-src → docs}/pwa/_menus.pug +0 -0
  234. package/docs/pwa/pwa-prerender.js +3 -0
  235. package/docs/pwa/pwa.eta +480 -0
  236. package/docs/pwa/pwa.js +306 -0
  237. package/{docs-src → docs}/pwa/pwa.pug +166 -263
  238. package/docs/pwa/pwa.scss +26 -0
  239. package/docs/spec.scss +26 -0
  240. package/docs/themes/_component-themes.scss +26 -0
  241. package/docs/themes/theme-colored-fallbacks.scss +17 -0
  242. package/docs/themes/theme-colored.scss +17 -0
  243. package/docs/themes/theme-default-fallbacks.scss +17 -0
  244. package/docs/themes/theme-default.scss +17 -0
  245. package/jsconfig.json +4 -2
  246. package/package.json +40 -27
  247. package/scripts/deploy-docs.sh +9 -0
  248. package/templates/index.eta +2 -0
  249. package/utils/function.js +3 -0
  250. package/webpack.config.cjs +257 -0
  251. package/_spec.scss +0 -27
  252. package/_theme.scss +0 -27
  253. package/components/list/expander.js +0 -142
  254. package/components/list/itemgroup.js +0 -22
  255. package/core/theme/_builder.scss +0 -116
  256. package/core/theme/index.scss +0 -68
  257. package/docs/appbar.html +0 -1
  258. package/docs/appbar.min.js +0 -2
  259. package/docs/appbar.min.js.map +0 -1
  260. package/docs/bottomnav.html +0 -1
  261. package/docs/bottomnav.min.js +0 -2
  262. package/docs/bottomnav.min.js.map +0 -1
  263. package/docs/button.html +0 -1
  264. package/docs/button.min.js +0 -2
  265. package/docs/button.min.js.map +0 -1
  266. package/docs/card.html +0 -1
  267. package/docs/card.min.js +0 -2
  268. package/docs/card.min.js.map +0 -1
  269. package/docs/chip.html +0 -1
  270. package/docs/chip.min.js +0 -2
  271. package/docs/chip.min.js.map +0 -1
  272. package/docs/color.html +0 -1
  273. package/docs/color.min.js +0 -2
  274. package/docs/color.min.js.map +0 -1
  275. package/docs/datatable.html +0 -1
  276. package/docs/datatable.min.js +0 -2
  277. package/docs/datatable.min.js.map +0 -1
  278. package/docs/default.common.min.js +0 -2
  279. package/docs/default.common.min.js.map +0 -1
  280. package/docs/dialog.html +0 -1
  281. package/docs/dialog.min.js +0 -2
  282. package/docs/dialog.min.js.map +0 -1
  283. package/docs/docs.min.css +0 -1
  284. package/docs/docs.min.js +0 -2
  285. package/docs/docs.min.js.map +0 -1
  286. package/docs/elevation.html +0 -1
  287. package/docs/elevation.min.js +0 -2
  288. package/docs/elevation.min.js.map +0 -1
  289. package/docs/fab.html +0 -1
  290. package/docs/fab.min.js +0 -2
  291. package/docs/fab.min.js.map +0 -1
  292. package/docs/grid.html +0 -1
  293. package/docs/grid.min.js +0 -2
  294. package/docs/grid.min.js.map +0 -1
  295. package/docs/index.html +0 -1
  296. package/docs/index.min.js +0 -2
  297. package/docs/index.min.js.map +0 -1
  298. package/docs/ink.html +0 -1
  299. package/docs/ink.min.js +0 -2
  300. package/docs/ink.min.js.map +0 -1
  301. package/docs/layout.html +0 -1
  302. package/docs/layout.min.js +0 -2
  303. package/docs/layout.min.js.map +0 -1
  304. package/docs/list.html +0 -1
  305. package/docs/list.min.js +0 -2
  306. package/docs/list.min.js.map +0 -1
  307. package/docs/menu.html +0 -1
  308. package/docs/menu.min.js +0 -2
  309. package/docs/menu.min.js.map +0 -1
  310. package/docs/overlay.html +0 -1
  311. package/docs/overlay.min.js +0 -2
  312. package/docs/overlay.min.js.map +0 -1
  313. package/docs/prerender.common.min.js +0 -2
  314. package/docs/prerender.common.min.js.map +0 -1
  315. package/docs/prerender.min.js +0 -2
  316. package/docs/prerender.min.js.map +0 -1
  317. package/docs/progress.html +0 -1
  318. package/docs/progress.min.js +0 -2
  319. package/docs/progress.min.js.map +0 -1
  320. package/docs/pwa-prerender.min.js +0 -2
  321. package/docs/pwa-prerender.min.js.map +0 -1
  322. package/docs/pwa.html +0 -11
  323. package/docs/pwa.min.css +0 -1
  324. package/docs/pwa.min.js +0 -2
  325. package/docs/pwa.min.js.map +0 -1
  326. package/docs/ripple.html +0 -1
  327. package/docs/ripple.min.js +0 -2
  328. package/docs/ripple.min.js.map +0 -1
  329. package/docs/search.html +0 -1
  330. package/docs/search.min.js +0 -2
  331. package/docs/search.min.js.map +0 -1
  332. package/docs/selection.html +0 -1
  333. package/docs/selection.min.js +0 -2
  334. package/docs/selection.min.js.map +0 -1
  335. package/docs/slider.html +0 -1
  336. package/docs/slider.min.js +0 -2
  337. package/docs/slider.min.js.map +0 -1
  338. package/docs/snackbar.html +0 -1
  339. package/docs/snackbar.min.js +0 -2
  340. package/docs/snackbar.min.js.map +0 -1
  341. package/docs/spec.min.css +0 -1
  342. package/docs/spec.min.js +0 -2
  343. package/docs/spec.min.js.map +0 -1
  344. package/docs/surface.html +0 -1
  345. package/docs/surface.min.js +0 -2
  346. package/docs/surface.min.js.map +0 -1
  347. package/docs/tab.html +0 -1
  348. package/docs/tab.min.js +0 -2
  349. package/docs/tab.min.js.map +0 -1
  350. package/docs/textfield.html +0 -2
  351. package/docs/textfield.min.js +0 -2
  352. package/docs/textfield.min.js.map +0 -1
  353. package/docs/theme-colored-fallbacks.min.css +0 -1
  354. package/docs/theme-colored-fallbacks.min.js +0 -2
  355. package/docs/theme-colored-fallbacks.min.js.map +0 -1
  356. package/docs/theme-colored.min.css +0 -1
  357. package/docs/theme-colored.min.js +0 -2
  358. package/docs/theme-colored.min.js.map +0 -1
  359. package/docs/theme-default-fallbacks.min.css +0 -1
  360. package/docs/theme-default-fallbacks.min.js +0 -2
  361. package/docs/theme-default-fallbacks.min.js.map +0 -1
  362. package/docs/theme-default.min.css +0 -1
  363. package/docs/theme-default.min.js +0 -2
  364. package/docs/theme-default.min.js.map +0 -1
  365. package/docs/themes-fallbacks.min.css +0 -1
  366. package/docs/themes-fallbacks.min.js +0 -2
  367. package/docs/themes-fallbacks.min.js.map +0 -1
  368. package/docs/themes.min.css +0 -1
  369. package/docs/themes.min.js +0 -2
  370. package/docs/themes.min.js.map +0 -1
  371. package/docs/tooltip.html +0 -1
  372. package/docs/tooltip.min.js +0 -2
  373. package/docs/tooltip.min.js.map +0 -1
  374. package/docs/transition.html +0 -1
  375. package/docs/transition.min.js +0 -2
  376. package/docs/transition.min.js.map +0 -1
  377. package/docs/type.html +0 -1
  378. package/docs/type.min.js +0 -2
  379. package/docs/type.min.js.map +0 -1
  380. package/docs-src/components/datatable.pug +0 -327
  381. package/docs-src/components/selection.js +0 -9
  382. package/docs-src/components/selection.pug +0 -77
  383. package/docs-src/core/color.pug +0 -201
  384. package/docs-src/core/overlay.js +0 -4
  385. package/docs-src/core/ripple.js +0 -4
  386. package/docs-src/index.pug +0 -9
  387. package/docs-src/pwa/_dialogs.pug +0 -15
  388. package/docs-src/pwa/pwa-prerender.js +0 -3
  389. package/docs-src/pwa/pwa.js +0 -182
  390. package/docs-src/pwa/pwa.scss +0 -25
  391. package/docs-src/spec.scss +0 -1
  392. package/docs-src/themes/theme-colored-fallbacks.scss +0 -14
  393. package/docs-src/themes/theme-colored.scss +0 -14
  394. package/docs-src/themes/theme-default-fallbacks.scss +0 -14
  395. package/docs-src/themes/theme-default.scss +0 -14
  396. package/index.js +0 -51
  397. package/index.scss +0 -2
  398. package/webpack.config.js +0 -187
@@ -1,15 +0,0 @@
1
- include ../_mixins.pug
2
-
3
- #dialog-alert.mdw-dialog(mdw-width-units="5")
4
- .mdw-dialog__popup.mdw-theme(mdw-surface="card")
5
- .mdw-dialog__title title
6
- .mdw-dialog__body.mdw-theme(mdw-ink="medium") body
7
- .mdw-dialog__button-area
8
- +mdwButton({ ink:'secondary' })(mdw-autofocus) OK
9
- #dialog-confirm.mdw-dialog(mdw-width-units="5")
10
- .mdw-dialog__popup.mdw-theme(mdw-surface="card")
11
- .mdw-dialog__title title
12
- .mdw-dialog__body.mdw-theme(mdw-ink="medium") body
13
- .mdw-dialog__button-area
14
- +mdwButton({ ink:'secondary' })(mdw-autofocus) Yes
15
- +mdwButton({ ink:'secondary' }) No
@@ -1,3 +0,0 @@
1
- import * as Layout from '../../components/layout/index';
2
-
3
- Layout.onPrerender();
@@ -1,182 +0,0 @@
1
- import { iterateArrayLike, iterateSomeOfArrayLike } from '../../core/dom';
2
- import * as Layout from '../../components/layout/index';
3
- import * as Button from '../../components/button/index';
4
- import * as Dialog from '../../components/dialog/index';
5
- import * as Overlay from '../../core/overlay/index';
6
- import * as Ripple from '../../core/ripple/index';
7
- import * as List from '../../components/list/index';
8
- import * as Menu from '../../components/menu/index';
9
-
10
- Layout.attach();
11
-
12
- /** @return {void} */
13
- function initializeSampleComponents() {
14
- iterateArrayLike(document.getElementsByClassName('mdw-overlay'), Overlay.attach);
15
- iterateArrayLike(document.getElementsByClassName('mdw-ripple'), Ripple.attach);
16
- iterateArrayLike(document.getElementsByClassName('mdw-button'), Button.attach);
17
- iterateArrayLike(document.getElementsByClassName('mdw-list'), List.attach);
18
- iterateArrayLike(document.getElementsByClassName('mdw-dialog'), Dialog.attach);
19
- iterateArrayLike(document.getElementsByClassName('mdw-menu'), Menu.attach);
20
- }
21
-
22
- /**
23
- * @param {string} inputName
24
- * @return {Element}
25
- */
26
- function getInputElementByName(inputName) {
27
- return document.querySelector(`input[name="${inputName}"]`);
28
- }
29
-
30
- /**
31
- * @param {string} inputName
32
- * @return {string}
33
- */
34
- function getCheckedRadioValue(inputName) {
35
- let value = null;
36
- iterateSomeOfArrayLike(document.querySelectorAll(`input[name="${inputName}"]`), (el) => {
37
- if (el.checked) {
38
- value = el.value;
39
- return true;
40
- }
41
- return false;
42
- });
43
- return value;
44
- }
45
-
46
- /**
47
- * @param {string} inputName
48
- * @return {boolean}
49
- */
50
- function getCheckedCheckboxValue(inputName) {
51
- const el = document.querySelector(`input[name="${inputName}"]`);
52
- if (el && el.checked) {
53
- return true;
54
- }
55
- return false;
56
- }
57
-
58
- /** @return {void} */
59
- function refreshFabCut() {
60
- const enabled = getCheckedCheckboxValue('use-fab-mobile') && getCheckedCheckboxValue('fab-cut');
61
- if (!enabled) {
62
- Layout.getAppBarElement().removeAttribute('mdw-fab-cut');
63
- return;
64
- }
65
- const shown = getCheckedCheckboxValue('fab-show');
66
- const alignment = getCheckedRadioValue('fab-mobile');
67
- Layout.getAppBarElement().setAttribute('mdw-fab-cut', [shown ? 'open' : '', alignment].join(' ').trim());
68
- }
69
-
70
- /**
71
- * @param {Event} event
72
- * @return {void}
73
- */
74
- function onOptionChange(event) {
75
- /** @type {HTMLInputElement} */
76
- const inputElement = (event.currentTarget);
77
- const { name, value, checked } = inputElement;
78
- switch (name) {
79
- case 'use-appbar-autohide':
80
- iterateArrayLike(document.querySelectorAll('input[name="appbar-autohide"]'),
81
- el => (checked ? el.removeAttribute('disabled') : el.setAttribute('disabled', '')));
82
- if (checked) {
83
- Layout.getAppBarElement().setAttribute('mdw-autohide', getCheckedRadioValue('appbar-autohide'));
84
- } else {
85
- Layout.getAppBarElement().removeAttribute('mdw-autohide');
86
- }
87
- Layout.resetScroll();
88
- break;
89
- case 'use-fab-mobile':
90
- iterateArrayLike(document.querySelectorAll('input[name="fab-mobile"]'),
91
- el => (checked ? el.removeAttribute('disabled') : el.setAttribute('disabled', '')));
92
- if (checked) {
93
- document.getElementsByClassName('mdw-layout__fab')[0].setAttribute('mdw-mobile', getCheckedRadioValue('fab-mobile'));
94
- } else {
95
- document.getElementsByClassName('mdw-layout__fab')[0].removeAttribute('mdw-mobile');
96
- }
97
- refreshFabCut();
98
- break;
99
- case 'use-fab-desktop':
100
- iterateArrayLike(document.querySelectorAll('input[name="fab-desktop"]'),
101
- el => (checked ? el.removeAttribute('disabled') : el.setAttribute('disabled', '')));
102
- if (checked) {
103
- document.getElementsByClassName('mdw-layout__fab')[0].setAttribute('mdw-desktop', getCheckedRadioValue('fab-desktop'));
104
- } else {
105
- document.getElementsByClassName('mdw-layout__fab')[0].removeAttribute('mdw-desktop');
106
- }
107
- break;
108
- case 'appbar-autohide':
109
- Layout.getAppBarElement().setAttribute('mdw-autohide', value);
110
- break;
111
- case 'appbar-autoraise':
112
- if (checked) {
113
- Layout.getAppBarElement().setAttribute('mdw-autoraise', '');
114
- } else {
115
- Layout.getAppBarElement().removeAttribute('mdw-autoraise');
116
- }
117
- break;
118
- case 'fab-mobile':
119
- document.getElementsByClassName('mdw-layout__fab')[0].setAttribute('mdw-mobile', value);
120
- refreshFabCut();
121
- break;
122
- case 'fab-desktop':
123
- document.getElementsByClassName('mdw-layout__fab')[0].setAttribute('mdw-desktop', value);
124
- break;
125
- case 'appbar-bottom':
126
- if (value === 'bottom') {
127
- Layout.getAppBarElement().setAttribute('mdw-bottom', '');
128
- getInputElementByName('fab-cut').removeAttribute('disabled');
129
- } else {
130
- Layout.getAppBarElement().removeAttribute('mdw-bottom');
131
- getInputElementByName('fab-cut').setAttribute('disabled', '');
132
- }
133
- break;
134
- case 'appbar-autoprominent':
135
- if (checked) {
136
- Layout.getAppBarElement().setAttribute('mdw-autoprominent', '');
137
- } else {
138
- Layout.getAppBarElement().removeAttribute('mdw-autoprominent');
139
- }
140
- break;
141
- case 'fab-cut':
142
- refreshFabCut();
143
- break;
144
- case 'fab-show':
145
- if (checked) {
146
- Layout.showFab();
147
- } else {
148
- Layout.hideFab();
149
- }
150
- break;
151
- case 'navdrawer-style':
152
- case 'navdrawer-toggle':
153
- case 'sidesheet-style':
154
- case 'sidesheet-toggle':
155
- if (value) {
156
- document.body.setAttribute(`mdw-${name}`, value);
157
- } else {
158
- document.body.removeAttribute(`mdw-${name}`);
159
- }
160
- break;
161
- default:
162
- }
163
- if (name.indexOf('appbar') === 0) {
164
- Layout.resetScroll();
165
- }
166
- }
167
-
168
- /** @return {void} */
169
- function setupComponentOptions() {
170
- iterateArrayLike(document.querySelectorAll('input[name]'), (el) => {
171
- el.addEventListener('change', onOptionChange);
172
- });
173
- document.getElementById('dialog-alert-button').addEventListener('click', (event) => {
174
- Dialog.show(document.getElementById('dialog-alert'), event);
175
- });
176
- document.getElementById('menu-button').addEventListener('click', (event) => {
177
- Menu.show(document.getElementById('sample-menu'), event);
178
- });
179
- }
180
-
181
- initializeSampleComponents();
182
- setupComponentOptions();
@@ -1,25 +0,0 @@
1
- $mdw-theme__primary: 'green';
2
- $mdw-theme__secondary: 'deeporange';
3
- $mdw-theme__warn: 'red';
4
- $mdw-theme__background: 'bluegray';
5
- $mdw-theme__foreground-light: #006064;
6
- $mdw-theme__foreground-dark: #E0F7FA;
7
-
8
- @import "../../core/color/index.scss";
9
- @import "../../core/overlay/index.scss";
10
- @import "../../core/ripple/index.scss";
11
-
12
- @import "../../components/appbar/index.scss";
13
- @import "../../components/banner/index.scss";
14
- @import "../../components/button/index.scss";
15
- @import "../../components/card/index.scss";
16
- @import "../../components/dialog/index.scss";
17
- @import "../../components/divider/index.scss";
18
- @import "../../components/fab/index.scss";
19
- @import "../../components/grid/index.scss";
20
- @import "../../components/layout/index.scss";
21
- @import "../../components/list/index.scss";
22
- @import "../../components/menu/index.scss";
23
- @import "../../components/selection/index.scss";
24
- @import "../../components/snackbar/index.scss";
25
- @import "../../components/type/index.scss";
@@ -1 +0,0 @@
1
- @import "../_spec.scss";
@@ -1,14 +0,0 @@
1
- $mdw-theme__primary: 'green';
2
- $mdw-theme__secondary: 'deeporange';
3
- $mdw-theme__warn: 'red';
4
- $mdw-theme__background: 'bluegray';
5
- $mdw-theme__foreground-light: #006064;
6
- $mdw-theme__foreground-dark: #E0F7FA;
7
- $mdw-theme__colors: ('amber', 'blue', 'cyan', 'red', 'green', 'deeppurple', 'purple', 'yellow', 'teal');
8
- $mdw-theme__variables: false;
9
-
10
- @import "../../_theme.scss";
11
-
12
- :root {
13
- font-family: Merriweather, sans-serif;
14
- }
@@ -1,14 +0,0 @@
1
- $mdw-theme__primary: 'green';
2
- $mdw-theme__secondary: 'deeporange';
3
- $mdw-theme__warn: 'red';
4
- $mdw-theme__background: 'bluegray';
5
- $mdw-theme__foreground-light: #006064;
6
- $mdw-theme__foreground-dark: #E0F7FA;
7
- $mdw-theme__colors: ('amber', 'blue', 'cyan', 'red', 'green', 'deeppurple', 'purple', 'yellow', 'teal');
8
- $mdw-theme__fallbacks: false;
9
-
10
- @import "../../_theme.scss";
11
-
12
- :root {
13
- font-family: Merriweather, sans-serif;
14
- }
@@ -1,14 +0,0 @@
1
- $mdw-theme__primary: 'blue';
2
- $mdw-theme__secondary: 'pink';
3
- $mdw-theme__warn: 'red';
4
- $mdw-theme__background: 'gray';
5
- $mdw-theme__foreground-light: #000;
6
- $mdw-theme__foreground-dark: #fff;
7
- $mdw-theme__colors: ('amber', 'blue', 'cyan', 'red', 'green', 'deeppurple', 'purple', 'yellow', 'teal');
8
- $mdw-theme__variables: false;
9
-
10
- @import "../../_theme.scss";
11
-
12
- :root {
13
- font-family: Roboto, sans-serif;
14
- }
@@ -1,14 +0,0 @@
1
- $mdw-theme__primary: 'blue';
2
- $mdw-theme__secondary: 'pink';
3
- $mdw-theme__warn: 'red';
4
- $mdw-theme__background: 'gray';
5
- $mdw-theme__foreground-light: #000;
6
- $mdw-theme__foreground-dark: #fff;
7
- $mdw-theme__colors: ('amber', 'blue', 'cyan', 'red', 'green', 'deeppurple', 'purple', 'yellow', 'teal');
8
- $mdw-theme__fallbacks: false;
9
-
10
- @import "../../_theme.scss";
11
-
12
- :root {
13
- font-family: Roboto, sans-serif;
14
- }
package/index.js DELETED
@@ -1,51 +0,0 @@
1
- import * as BottomNav from './components/bottomnav/index';
2
- import * as BottomNavItem from './components/bottomnav/item';
3
- import * as Button from './components/button/index';
4
- import * as Chip from './components/chip/index';
5
- import * as ChipItem from './components/chip/item';
6
- import * as DataTable from './components/datatable/index';
7
- import * as Dialog from './components/dialog/index';
8
- import * as Fab from './components/fab/index';
9
- import * as Layout from './components/layout/index';
10
- import * as List from './components/list/index';
11
- import * as ListItem from './components/list/item';
12
- import * as ListExpander from './components/list/expander';
13
- import * as Menu from './components/menu/index';
14
- import * as MenuItem from './components/menu/item';
15
- import * as Overlay from './core/overlay/index';
16
- import * as ProgressCircle from './components/progress/index';
17
- import * as Ripple from './core/ripple/index';
18
- import * as Snackbar from './components/snackbar/index';
19
- import * as Tab from './components/tab/index';
20
- import * as TabItem from './components/tab/item';
21
- import * as TextField from './components/textfield/index';
22
-
23
- export {
24
- BottomNav,
25
- BottomNavItem,
26
- Button,
27
- Chip,
28
- ChipItem,
29
- DataTable,
30
- Dialog,
31
- Fab,
32
- Layout,
33
- List,
34
- ListItem,
35
- ListExpander,
36
- Menu,
37
- MenuItem,
38
- Overlay,
39
- ProgressCircle,
40
- Ripple,
41
- Snackbar,
42
- Tab,
43
- TabItem,
44
- TextField,
45
- };
46
-
47
- export { default as DomAdapter } from './adapters/list/index';
48
- export { default as ListAdapter } from './adapters/list/index';
49
- export { default as DataTableAdapter } from './adapters/datatable/index';
50
- export { default as DataTableAdapterColumn } from './adapters/datatable/column';
51
- export { default as SearchAdapter } from './adapters/search/index';
package/index.scss DELETED
@@ -1,2 +0,0 @@
1
- @import './_spec.scss';
2
- @import './_theme.scss';
package/webpack.config.js DELETED
@@ -1,187 +0,0 @@
1
- const path = require('path');
2
- const fs = require('fs');
3
- const cssnano = require('cssnano');
4
- const { BundleAnalyzerPlugin } = require('webpack-bundle-analyzer');
5
-
6
- const isProduction = (process.env.NODE_ENV === 'production');
7
-
8
- /** @typedef {import('webpack').Configuration} WebpackConfiguration */
9
-
10
- /** @return {Object} */
11
- function getComponentsConfig() {
12
- const DEST = (isProduction ? 'dist' : 'test/dist');
13
- return {
14
- entry: {
15
- materialdesignweb: [
16
- path.resolve(__dirname, './index.js'),
17
- path.resolve(__dirname, './index.scss'),
18
- ],
19
- },
20
- mode: process.env.NODE_ENV || 'development',
21
- devtool: 'nosources-source-map',
22
- optimization: {
23
- usedExports: false,
24
- },
25
- output: {
26
- filename: 'materialdesignweb.min.js',
27
- path: path.resolve(__dirname, DEST),
28
- },
29
- plugins: [
30
- new BundleAnalyzerPlugin({
31
- analyzerMode: 'static',
32
- openAnalyzer: false,
33
- generateStatsFile: true,
34
- }),
35
- ],
36
- module: {
37
- rules: [{
38
- test: /\.js$/,
39
- exclude: /(node_modules|bower_components)/,
40
- use: {
41
- loader: 'babel-loader',
42
- options: {
43
- presets: [
44
- ['@babel/preset-env'],
45
- ],
46
- },
47
- },
48
- }, {
49
- test: /\.scss$/,
50
- use: [
51
- 'file-loader?name=materialdesignweb.min.css',
52
- 'extract-loader',
53
- 'css-loader?import=false',
54
- {
55
- loader: 'postcss-loader',
56
- options: {
57
- plugins: () => [
58
- cssnano(),
59
- ],
60
- },
61
- },
62
- 'sass-loader',
63
- ],
64
- }],
65
- },
66
- };
67
- }
68
-
69
- /** @return {WebpackConfiguration} */
70
- function getDocsConfig() {
71
- const plugins = [];
72
- /** @type {Object.<string, string[]>} */
73
- const entries = {};
74
- ['.', 'pwa', 'core', 'components', 'themes'].map(folder => path.join('./docs-src', folder))
75
- .forEach(folderPath => fs.readdirSync(folderPath).forEach((filename) => {
76
- if (filename[0] === '_') {
77
- return;
78
- }
79
- if (fs.statSync(path.join(folderPath, filename)).isDirectory()) {
80
- return;
81
- }
82
- const noExt = filename.substring(0, filename.lastIndexOf('.'));
83
- if (!entries[`${noExt}`]) {
84
- entries[`${noExt}`] = [];
85
- }
86
- entries[`${noExt}`].push(path.resolve(`${folderPath}/${filename}`));
87
- }));
88
- const DEST = (isProduction ? 'docs' : 'test/docs');
89
- /** @type {WebpackConfiguration} */
90
- const webpackConfig = {
91
- entry: entries,
92
- context: path.resolve(__dirname, 'docs-src'),
93
- devtool: isProduction ? 'source-map' : 'nosources-source-map',
94
- mode: process.env.NODE_ENV || 'development',
95
- devServer: {
96
- contentBase: path.resolve(__dirname, DEST),
97
- compress: true,
98
- inline: false,
99
- },
100
- output: {
101
- filename: '[name].min.js',
102
- chunkFilename: '[name].min.js',
103
- path: path.resolve(__dirname, DEST),
104
- },
105
- optimization: {
106
- usedExports: true,
107
- splitChunks: {
108
- chunks: 'all',
109
- cacheGroups: {
110
- prerender: {
111
- test: /prerender/,
112
- name: 'prerender.common',
113
- minSize: 0,
114
- minChunks: 2,
115
- priority: -10,
116
- chunks: 'all',
117
- },
118
- vendors: false,
119
- default: {
120
- test(module, chunks) {
121
- if (module && module.resource && module.resource.indexOf('prerender') !== -1) {
122
- return false;
123
- }
124
- if (chunks && chunks.some(chunk => chunk.name.indexOf('prerender') !== -1)) {
125
- return false;
126
- }
127
- return true;
128
- },
129
- name: 'default.common',
130
- minSize: 0,
131
- minChunks: 2,
132
- chunks: 'all',
133
- reuseExistingChunk: true,
134
- },
135
- },
136
- },
137
- },
138
- module: {
139
- rules: [{
140
- test: /\.js$/,
141
- exclude: /(node_modules|bower_components)/,
142
- use: [
143
- 'babel-loader?{"presets":["@babel/preset-env"]}',
144
- ],
145
- }, {
146
- test: /\.scss$/,
147
- use: [
148
- 'file-loader?name=[name].min.css',
149
- 'extract-loader',
150
- 'css-loader?import=false',
151
- {
152
- loader: 'postcss-loader',
153
- options: {
154
- plugins: () => [
155
- cssnano(),
156
- ],
157
- },
158
- },
159
- 'sass-loader',
160
- ],
161
- }, {
162
- test: /\.pug$/,
163
- use: [
164
- 'file-loader?&name=[name].html',
165
- 'extract-loader',
166
- 'html-loader',
167
- 'pug-html-loader',
168
- ],
169
- }],
170
- },
171
- plugins,
172
- };
173
- return webpackConfig;
174
- }
175
-
176
- /**
177
- * @param {Object} env
178
- * @return {WebpackConfiguration}
179
- */
180
- function makeWebPackConfig(env = {}) {
181
- if (env.target === 'docs') {
182
- return getDocsConfig();
183
- }
184
- return getComponentsConfig();
185
- }
186
-
187
- module.exports = makeWebPackConfig;