@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
@@ -21,15 +21,15 @@ include ../_mixins.pug
21
21
  +mdwButton({ ink:'secondary' })(href="#") Disagree
22
22
  .mdw-grid__item(mdw-colspan="8")
23
23
  .mdw-type(mdw-style="subtitle") Javascript
24
- div.docs-option-list
24
+ .docs-option-list
25
25
  +mdwSelection({ink:'secondary', name:'javascript', type:'radio', value:'required'}) Required
26
26
  +mdwSelection({ink:'secondary', name:'javascript', type:'radio', value:'optional', checked:true}) Optional
27
27
  +mdwSelection({ink:'secondary', name:'javascript', type:'radio', value:'none'}) None
28
28
  .mdw-type(mdw-style="subtitle") Options
29
- div.docs-option-list
29
+ .docs-option-list
30
30
  +mdwSelection({ink:'secondary', name:'stacked-buttons'}) Stacked Buttons
31
31
  .mdw-type(mdw-style="subtitle") Width Units
32
- div.docs-option-list
32
+ .docs-option-list
33
33
  +mdwSelection({ink:'secondary', name:'width', type:'radio', value:'auto', checked:true}) Auto
34
34
  +mdwSelection({ink:'secondary', name:'width', type:'radio', value:'3'}) 3
35
35
  +mdwSelection({ink:'secondary', name:'width', type:'radio', value:'4'}) 4
@@ -47,7 +47,7 @@ include ../_mixins.pug
47
47
  h6.mdw-type Samples
48
48
  .mdw-grid__item.display-flex(mdw-colspan="4" flex-justify-content="center")
49
49
  .render
50
- div.display-flex.flex-1(flex-column style="position:relative")
50
+ .display-flex.flex-1(flex-column style="position:relative")
51
51
  +androidstatusbar('primary 700', 'dark')
52
52
  .mdw-appbar.mdw-theme(mdw-surface="primary 500" mdw-dark)
53
53
  .mdw-appbar__action
@@ -60,55 +60,73 @@ include ../_mixins.pug
60
60
  +mdwButton({ icon:true }).mdw-tooltip__target.material-icons(mdw-more-button) more_vert
61
61
  .mdw-tooltip.mdw-theme(mdw-surface="background 700" mdw-dark) Options
62
62
  .content(style="padding:16px 8px;")
63
- +mdwButton({ surface:'primary 500', dark:true, raised:true })(href="#confirmdialog-titled") Titled
64
- +mdwButton({ surface:'primary 500', dark:true, raised:true })(href="#confirmdialog-text") Text
65
- +mdwButton({ surface:'primary 500', dark:true, raised:true })(href="#dialog-scrolling") Scrolling
63
+ h6.mdw-type Javascript
66
64
  .display-flex(style="padding:16px 0").js
67
- +mdwButton({ surface:'primary 500', dark:true, raised:true }) JS
65
+ +mdwButton({ surface:'primary 500', dark:true, raised:true }) Chained
66
+ +mdwButton({ surface:'primary 500', dark:true, raised:true }) Input Autofocus
67
+ h6.mdw-type CSS-Only
68
+ .display-flex(style="padding:16px 0").js
69
+ +mdwButton({ surface:'primary 500', dark:true, raised:true })(href="#confirmdialog-titled")#titled-button Titled
70
+ +mdwButton({ surface:'primary 500', dark:true, raised:true })(href="#confirmdialog-text")#text-button Text
71
+ +mdwButton({ surface:'primary 500', dark:true, raised:true })(href="#dialog-scrolling")#scrolling-button Scrolling
68
72
  .mdw-dialog#confirmdialog-titled
69
- a.mdw-dialog__close(href="#")
73
+ a.mdw-dialog__close(href="#titled-button")
70
74
  .mdw-dialog__popup.mdw-theme(mdw-surface="card")
71
75
  .mdw-dialog__title Use Google's location service?
72
76
  .mdw-dialog__body.mdw-theme(mdw-ink="medium") Let Google help apps determine location. This means sending anonymous location data to Google, even when no apps are running.
73
77
  .mdw-dialog__button-area
74
- +mdwButton({ ink:'secondary' })(href="#") Agree
75
- +mdwButton({ ink:'secondary' })(href="#") Disagree
78
+ +mdwButton({ ink:'secondary' })(href="#titled-button") Agree
79
+ +mdwButton({ ink:'secondary' })(href="#titled-button") Disagree
76
80
  .mdw-dialog#dialog-scrolling
77
- a.mdw-dialog__close(href="#")
81
+ a.mdw-dialog__close(href="#scrolling-button")
78
82
  .mdw-dialog__popup.mdw-theme(mdw-surface="card")
79
83
  .mdw-dialog__header
80
84
  .mdw-dialog__title Dialog header
81
- .mdw-divider.mdw-theme(mdw-ink="divider")
85
+ .mdw-divider.mdw-theme(mdw-border-ink="divider")
82
86
  .mdw-dialog__scrolling
83
87
  ul.mdw-list
84
88
  li.mdw-list__item
85
- a.mdw-list__content.mdw-overlay.mdw-ripple.mdw-theme(href='#' mdw-ink="default") Item 1
89
+ a.mdw-list__content.mdw-overlay.mdw-ripple.mdw-theme(href='#scrolling-button' mdw-ink="default") Item 1
86
90
  li.mdw-list__item
87
- a.mdw-list__content.mdw-overlay.mdw-ripple.mdw-theme(href='#' mdw-ink="default") Item 2
91
+ a.mdw-list__content.mdw-overlay.mdw-ripple.mdw-theme(href='#scrolling-button' mdw-ink="default") Item 2
88
92
  li.mdw-list__item
89
- a.mdw-list__content.mdw-overlay.mdw-ripple.mdw-theme(href='#' mdw-ink="default") Item 3
93
+ a.mdw-list__content.mdw-overlay.mdw-ripple.mdw-theme(href='#scrolling-button' mdw-ink="default") Item 3
90
94
  li.mdw-list__item
91
- a.mdw-list__content.mdw-overlay.mdw-ripple.mdw-theme(href='#' mdw-ink="default") Item 4
95
+ a.mdw-list__content.mdw-overlay.mdw-ripple.mdw-theme(href='#scrolling-button' mdw-ink="default") Item 4
92
96
  li.mdw-list__item
93
- a.mdw-list__content.mdw-overlay.mdw-ripple.mdw-theme(href='#' mdw-ink="default") Item 5
97
+ a.mdw-list__content.mdw-overlay.mdw-ripple.mdw-theme(href='#scrolling-button' mdw-ink="default") Item 5
94
98
  li.mdw-list__item
95
- a.mdw-list__content.mdw-overlay.mdw-ripple.mdw-theme(href='#' mdw-ink="default") Item 6
99
+ a.mdw-list__content.mdw-overlay.mdw-ripple.mdw-theme(href='#scrolling-button' mdw-ink="default") Item 6
96
100
  li.mdw-list__item
97
- a.mdw-list__content.mdw-overlay.mdw-ripple.mdw-theme(href='#' mdw-ink="default") Item 7
101
+ a.mdw-list__content.mdw-overlay.mdw-ripple.mdw-theme(href='#scrolling-button' mdw-ink="default") Item 7
98
102
  li.mdw-list__item
99
- a.mdw-list__content.mdw-overlay.mdw-ripple.mdw-theme(href='#' mdw-ink="default") Item 8
103
+ a.mdw-list__content.mdw-overlay.mdw-ripple.mdw-theme(href='#scrolling-button' mdw-ink="default") Item 8
100
104
  li.mdw-list__item
101
- a.mdw-list__content.mdw-overlay.mdw-ripple.mdw-theme(href='#' mdw-ink="default") Item 9
102
- .mdw-divider.mdw-theme(mdw-ink="divider")
105
+ a.mdw-list__content.mdw-overlay.mdw-ripple.mdw-theme(href='#scrolling-button' mdw-ink="default") Item 9
106
+ .mdw-divider.mdw-theme(mdw-border-ink="divider")
103
107
  .mdw-dialog__button-area
104
- +mdwButton({ ink:'secondary' })(href="#") Agree
105
- +mdwButton({ ink:'secondary' })(href="#") Disagree
108
+ +mdwButton({ ink:'secondary' })(href="#scrolling-button") Agree
109
+ +mdwButton({ ink:'secondary' })(href="#scrolling-button") Disagree
106
110
  .mdw-dialog#confirmdialog-text
107
- a.mdw-dialog__close(href="#")
111
+ a.mdw-dialog__close(href="#text-button")
108
112
  .mdw-dialog__popup.mdw-theme(mdw-surface="card")
109
113
  .mdw-dialog__body.mdw-theme(mdw-ink="medium") Discard draft?
110
114
  .mdw-dialog__button-area
111
- +mdwButton({ ink:'secondary' })(href="#") Discard
112
- +mdwButton({ ink:'secondary' })(href="#") Cancel
115
+ +mdwButton({ ink:'secondary' })(href="#text-button") Discard
116
+ +mdwButton({ ink:'secondary' })(href="#text-button") Cancel
117
+ #dialog-textfield.mdw-dialog(mdw-width-units="5")
118
+ form.mdw-dialog__popup.mdw-theme(mdw-surface="card")
119
+ .mdw-dialog__header
120
+ .mdw-dialog__title Dialog Title
121
+ label.mdw-textfield.mdw-theme(mdw-ink="secondary" style="padding:0 24px")
122
+ .mdw-textfield__signifier.material-icons security
123
+ input.mdw-textfield__input(placeholder=" " name="input" mdw-autofocus)
124
+ .mdw-textfield__border
125
+ .mdw-textfield__outline-gap
126
+ .mdw-textfield__label Text Field Label
127
+ .mdw-textfield__error-text This field is required
128
+ .mdw-dialog__button-area
129
+ button.mdw-button.mdw-theme(mdw-ink="secondary" tabindex="0" type="submit") Change
130
+ button.mdw-button.mdw-theme(mdw-ink="secondary" tabindex="0" type="button") Cancel
113
131
  +androidnavbar
114
132
  script(src='dialog.min.js')
@@ -0,0 +1,26 @@
1
+ <% var T = '../../templates/index.eta' %>
2
+ <% layout('../_partials/_header.eta', {page: 'dom'}) %>
3
+ <div class="mdw-grid" mdw-margin-top mdw-margin-bottom mdw-stretch>
4
+ <div class="mdw-grid__item" mdw-colspan="6">
5
+ <div class="mdw-grid__content component-sample">
6
+ <div class="display-flex" style="flex:1;height:400px;max-height:400px;overflow-y:auto;">
7
+ <ul class="mdw-list mdw-theme" style="flex:1;width:100%;" mdw-surface="primary alt"></ul>
8
+ </div>
9
+ </div>
10
+ </div>
11
+ <div class="mdw-grid__item" mdw-colspan="100%">
12
+ <div class="mdw-type" mdw-style="subtitle">Optimizations</div>
13
+ <div class="docs-option-list">
14
+ <%~ includeFile(T, { selection: { ink:'secondary', name:'fastMeasure', checked:true, text:'Fast Measure' }}) %>
15
+ <%~ includeFile(T, { selection: { ink:'secondary', name:'block', checked:true, text:'Block-level' }}) %>
16
+ <%~ includeFile(T, { selection: { ink:'secondary', name:'deferRender', checked:true, text:'Defer Render' }}) %>
17
+ <%~ includeFile(T, { selection: { ink:'secondary', name:'equalSize', checked:false, text:'Equal Size' }}) %>
18
+ </div>
19
+ <div class="mdw-type" mdw-style="subtitle">Test Options</div>
20
+ <%~ includeFile(T, { button: { text:'Reset' }}) %>
21
+ <%~ includeFile(T, { button: { text:'Remove #10' }}) %>
22
+ <%~ includeFile(T, { button: { text:'Increment #50' }}) %>
23
+ <%~ includeFile(T, { button: { text:'Resize #80' }}) %>
24
+ </div>
25
+ </div>
26
+ <script src="dom.min.js"></script>
@@ -0,0 +1,143 @@
1
+ import DomAdapter from '../../adapters/dom/index.js';
2
+ import * as ListContent from '../../components/list/content.js';
3
+ import * as ListItem from '../../components/list/item.js';
4
+ import { iterateArrayLike } from '../../core/dom.js';
5
+
6
+ class CustomDataSourceItem {
7
+ /** @param {number} i */
8
+ constructor(i) {
9
+ this.itemnumber = i;
10
+ this.clickCount = 0;
11
+ this.expanded = false;
12
+ }
13
+ }
14
+
15
+ /** @type {CustomDataSourceItem[]} */
16
+ const datasource = [];
17
+
18
+ /** @type {HTMLElement} */
19
+ let sampleComponent;
20
+
21
+ /** @type {DomAdapter<CustomDataSourceItem, HTMLLIElement>} */
22
+ let domAdapter;
23
+
24
+ /** @return {void} */
25
+ function resetDatasource() {
26
+ datasource.splice(0, datasource.length);
27
+ for (let i = 0; i < 500; i += 1) {
28
+ datasource.push(new CustomDataSourceItem(i));
29
+ }
30
+ }
31
+ /**
32
+ * @param {Event} event
33
+ * @return {void}
34
+ */
35
+ function onOptionChange(event) {
36
+ const { name, checked } = /** @type {HTMLInputElement} */ (event.target);
37
+ // @ts-ignore: Optimization
38
+ domAdapter.recycle[name] = checked;
39
+ domAdapter.refresh();
40
+ }
41
+ /** @return {void} */
42
+ function setupComponentOptions() {
43
+ iterateArrayLike(document.querySelectorAll('input[name]'), (el) => {
44
+ el.addEventListener('change', onOptionChange);
45
+ });
46
+ sampleComponent = document.querySelector('.component-sample .mdw-list');
47
+ resetDatasource();
48
+ domAdapter = new DomAdapter({
49
+ element: sampleComponent,
50
+ datasource,
51
+ recycle: {
52
+ scroller: sampleComponent.parentElement,
53
+ fastMeasure: true,
54
+ block: true,
55
+ deferRender: true,
56
+ equalSize: false,
57
+ },
58
+ render(child, data, index) {
59
+ const textLines = child.getElementsByClassName('mdw-list__text-line');
60
+ textLines[0].textContent = `Item ${data.itemnumber}`;
61
+ textLines[1].textContent = `Click count: #${data.clickCount}`;
62
+ if (data.expanded) {
63
+ child.style.setProperty('height', '128px');
64
+ child.style.setProperty('background-color', 'red');
65
+ } else {
66
+ child.style.setProperty('height', '64px');
67
+ child.style.removeProperty('background-color');
68
+ }
69
+ child.firstElementChild.setAttribute('aria-posinset', index.toString(10));
70
+ },
71
+ create(data) {
72
+ // Create placeholder UI
73
+ const listItem = document.createElement('li');
74
+ if (!domAdapter.recycle.block) {
75
+ listItem.style.setProperty('display', 'inline-flex');
76
+ listItem.style.setProperty('width', '33.333%');
77
+ }
78
+ if (domAdapter.recycle.deferRender) {
79
+ listItem.style.setProperty('min-height', '64px');
80
+ if (data.expanded) {
81
+ listItem.style.setProperty('height', '128px');
82
+ }
83
+ }
84
+ listItem.className = 'mdw-list__item';
85
+ listItem.innerHTML = `
86
+ <a class="mdw-list__content">
87
+ <div class="mdw-list__text">
88
+ <div class="mdw-list__text-line">Item ${data.itemnumber}</div>
89
+ <div class="mdw-list__text-line mdw-theme" mdw-ink="medium">Waiting for idle...</div>
90
+ </div>
91
+ </a>
92
+ `;
93
+ ListItem.attach(listItem);
94
+ return listItem;
95
+ },
96
+ });
97
+ domAdapter.refresh();
98
+ const buttons = document.querySelectorAll('.mdw-layout__content-page .mdw-button');
99
+ buttons[0].addEventListener('click', () => {
100
+ buttons[1].removeAttribute('aria-disabled');
101
+ resetDatasource();
102
+ domAdapter.refresh();
103
+ });
104
+ buttons[1].addEventListener('click', () => {
105
+ if (buttons[1].getAttribute('aria-disabled') === 'true') {
106
+ return;
107
+ }
108
+ const item = datasource[10];
109
+ domAdapter.removeItem(item);
110
+ datasource.splice(10, 1);
111
+
112
+ // Alternatively, we can remove from datasource first and call invalidateAll()
113
+
114
+ domAdapter.drawViewport();
115
+ buttons[1].setAttribute('aria-disabled', 'true');
116
+ });
117
+ buttons[2].addEventListener('click', () => {
118
+ const item = datasource.filter((d) => d.itemnumber === 50)[0];
119
+ item.clickCount += 1;
120
+ // Element will not change size, therefore avoid possible invalidation
121
+ // (When element is refreshed and not in DOM, adapter may assume sized change)
122
+ domAdapter.refreshItem(item, { invalidate: false });
123
+ domAdapter.drawViewport();
124
+ });
125
+ buttons[3].addEventListener('click', () => {
126
+ const item = datasource.filter((d) => d.itemnumber === 80)[0];
127
+ item.expanded = !item.expanded;
128
+ // Force invalidation from height change
129
+ domAdapter.refreshItem(item, { invalidate: true });
130
+ domAdapter.drawViewport();
131
+ });
132
+ sampleComponent.addEventListener(ListContent.ACTIVATE_EVENT, (event) => {
133
+ /** @type {HTMLElement} */
134
+ const listContent = (event.target);
135
+ /** @type {HTMLLIElement} */
136
+ const listItem = (listContent.parentElement);
137
+ const dataItem = domAdapter.elementDataMap.get(listItem);
138
+ dataItem.clickCount += 1;
139
+ domAdapter.refreshItem(dataItem);
140
+ });
141
+ }
142
+
143
+ setupComponentOptions();
@@ -0,0 +1,22 @@
1
+ include ../_mixins.pug
2
+
3
+ +header("dom")
4
+ .mdw-grid(mdw-margin-top mdw-margin-bottom mdw-stretch)
5
+ .mdw-grid__item(mdw-colspan="6")
6
+ .mdw-grid__content.component-sample
7
+ .display-flex(style="flex:1;height:400px;max-height:400px;overflow-y:auto")
8
+ ul.mdw-list.mdw-theme(style="flex:1;width:100%;" mdw-surface="primary alt")
9
+
10
+ .mdw-grid__item(mdw-colspan="100%")
11
+ .mdw-type(mdw-style="subtitle") Optimizations
12
+ .docs-option-list
13
+ +mdwSelection({ink:'secondary', name:'fastMeasure', checked:true}) Fast Measure
14
+ +mdwSelection({ink:'secondary', name:'block', checked:true}) Block-level
15
+ +mdwSelection({ink:'secondary', name:'deferRender', checked:true}) Defer Render
16
+ +mdwSelection({ink:'secondary', name:'equalSize', checked:false}) Equal Size
17
+ .mdw-type(mdw-style="subtitle") Test Options
18
+ +mdwButton() Reset
19
+ +mdwButton() Remove #10
20
+ +mdwButton() Increment #50
21
+ +mdwButton() Resize #80
22
+ script(src='dom.min.js')
@@ -0,0 +1,35 @@
1
+ <% var T = '../../templates/index.eta' %>
2
+ <% layout('../_partials/_header.eta', {page: 'elevation'}) %>
3
+ <div class="docs-grid mdw-grid" mdw-margin-top mdw-margin-bottom mdw-columns="4" mdw-margin-4col="40" mdw-gutter-4col="40">
4
+ <div class="mdw-grid__item">
5
+ <div class="docs-elevation__item mdw-elevation" mdw-elevation="1">1dp</div>
6
+ </div>
7
+ <div class="mdw-grid__item">
8
+ <div class="docs-elevation__item mdw-elevation" mdw-elevation="2">2dp</div>
9
+ </div>
10
+ <div class="mdw-grid__item">
11
+ <div class="docs-elevation__item mdw-elevation" mdw-elevation="3">3dp</div>
12
+ </div>
13
+ <div class="mdw-grid__item">
14
+ <div class="docs-elevation__item mdw-elevation" mdw-elevation="4">4dp</div>
15
+ </div>
16
+ <div class="mdw-grid__item">
17
+ <div class="docs-elevation__item mdw-elevation" mdw-elevation="6">6dp</div>
18
+ </div>
19
+ <div class="mdw-grid__item">
20
+ <div class="docs-elevation__item mdw-elevation" mdw-elevation="8">8dp</div>
21
+ </div>
22
+ <div class="mdw-grid__item">
23
+ <div class="docs-elevation__item mdw-elevation" mdw-elevation="9">9dp</div>
24
+ </div>
25
+ <div class="mdw-grid__item">
26
+ <div class="docs-elevation__item mdw-elevation" mdw-elevation="12">12dp</div>
27
+ </div>
28
+ <div class="mdw-grid__item">
29
+ <div class="docs-elevation__item mdw-elevation" mdw-elevation="16">16dp</div>
30
+ </div>
31
+ <div class="mdw-grid__item">
32
+ <div class="docs-elevation__item mdw-elevation" mdw-elevation="24">24dp</div>
33
+ </div>
34
+ </div>
35
+ <script src="elevation.min.js"></script>
File without changes
@@ -0,0 +1,99 @@
1
+ <% var T = '../../templates/index.eta' %>
2
+ <% layout('../_partials/_header.eta', {page: 'fab'}) %>
3
+ <div class="comparison js">
4
+ <div class="render">
5
+ <div class="display-flex flex-1" flex-column style="position:relative;">
6
+ <%~ includeFile('../_partials/_androidstatusbar.eta', { surface:'primary 700', dark:true }) %>
7
+ <%~ includeFile('../_partials/_appbar.eta', { surface: 'primary 500', dark: true, start: ['menu'], end: ['search'], body: 'JS' }) %>
8
+ <div class="content" style="padding:16px 8px;">
9
+ <div class="mdw-type" mdw-style="subtitle">Hover</div>
10
+ <div class="docs-option-list">
11
+ <%~ includeFile(T, { selection: { ink:'secondary', name:'hover', text:'Open on Hover' }}) %>
12
+ </div>
13
+ <div class="mdw-type" mdw-style="subtitle">Type</div>
14
+ <div class="docs-option-list">
15
+ <%~ includeFile(T, { selection: { ink:'secondary', name:'type', type:'radio', value:'regular', text:'Regular (Default)', checked:true }}) %>
16
+ <%~ includeFile(T, { selection: { ink:'secondary', name:'type', type:'radio', value:'mini', text:'Mini' }}) %>
17
+ <%~ includeFile(T, { selection: { ink:'secondary', name:'type', type:'radio', value:'extended', text:'Extended' }}) %>
18
+ <%~ includeFile(T, { selection: { ink:'secondary', name:'type', type:'radio', value:'extended-hover', text:'Extended on Hover' }}) %>
19
+ </div>
20
+ <div class="mdw-grid docs-render-overlay" mdw-margin-bottom mdw-columns="4">
21
+ <div class="mdw-grid__item">
22
+ <div class="mdw-grid__content">
23
+ <div class="mdw-fab">
24
+ <%~ includeFile(T, { button: { surface: 'secondary 500', dark:true, class:"mdw-fab__button", body: /* html */ `
25
+ <div class="mdw-fab__icon">
26
+ <div class="mdw-fab__hidden-icon material-icons">add</div>
27
+ <div class="mdw-fab__shown-icon material-icons">clear</div>
28
+ </div>
29
+ <div class="mdw-fab__text">Add</div>
30
+ `}}) %>
31
+ <div class="mdw-fab__speed-dial">
32
+ <%~ includeFile(T, { button: { class:'mdw-fab__button', attributes: {'mdw-mini': true},body: /* html */ `
33
+ <div class="mdw-fab__icon material-icons">filter_1</div>
34
+ `}}) %>
35
+ <%~ includeFile(T, { button: { class:'mdw-fab__button', attributes: {'mdw-mini': true},body: /* html */ `
36
+ <div class="mdw-fab__icon material-icons">filter_2</div>
37
+ `}}) %>
38
+ <%~ includeFile(T, { button: { class:'mdw-fab__button', attributes: {'mdw-mini': true},body: /* html */ `
39
+ <div class="mdw-fab__icon material-icons">filter_3</div>
40
+ `}}) %>
41
+ <%~ includeFile(T, { button: { class:'mdw-fab__button', attributes: {'mdw-mini': true},body: /* html */ `
42
+ <div class="mdw-fab__icon material-icons">filter_4</div>
43
+ `}}) %>
44
+ <%~ includeFile(T, { button: { class:'mdw-fab__button', attributes: {'mdw-mini': true},body: /* html */ `
45
+ <div class="mdw-fab__icon material-icons">filter_5</div>
46
+ `}}) %>
47
+ </div>
48
+ </div>
49
+ </div>
50
+ </div>
51
+ </div>
52
+ </div>
53
+ </div>
54
+ <%~ includeFile('../_partials/_androidnavbar.eta') %>
55
+ </div>
56
+ </div>
57
+ <div class="comparison">
58
+ <div class="render">
59
+ <div class="display-flex flex-1" flex-column style="position:relative;">
60
+ <%~ includeFile('../_partials/_androidstatusbar.eta', { surface:'primary 700', dark:true }) %>
61
+ <%~ includeFile('../_partials/_appbar.eta', { surface:'primary 500', dark:true, start: ['menu'], end: ['search'], body:'CSS Only' }) %>
62
+ <div class="content" style="padding:16px 8px;">
63
+ <div class="mdw-grid docs-render-overlay" mdw-margin-bottom>
64
+ <div class="mdw-grid__item">
65
+ <div class="mdw-fab" id="my-fab">
66
+ <a class="mdw-fab__close" href="#my-fab-button"></a>
67
+ <%~ includeFile(T, { button: { surface: 'secondary 500', dark:true, id:'my-fab-button', href:'#my-fab', class:"mdw-fab__button", body: /* html */ `
68
+ <div class="mdw-fab__icon">
69
+ <div class="mdw-fab__hidden-icon material-icons">add</div>
70
+ <div class="mdw-fab__shown-icon material-icons">clear</div>
71
+ </div>
72
+ <div class="mdw-fab__text">Add</div>
73
+ `}}) %>
74
+ <div class="mdw-fab__speed-dial">
75
+ <%~ includeFile(T, { button: { class:'mdw-fab__button', attributes: {'mdw-mini': true},body: /* html */ `
76
+ <div class="mdw-fab__icon material-icons">filter_1</div>
77
+ `}}) %>
78
+ <%~ includeFile(T, { button: { class:'mdw-fab__button', attributes: {'mdw-mini': true},body: /* html */ `
79
+ <div class="mdw-fab__icon material-icons">filter_2</div>
80
+ `}}) %>
81
+ <%~ includeFile(T, { button: { class:'mdw-fab__button', attributes: {'mdw-mini': true},body: /* html */ `
82
+ <div class="mdw-fab__icon material-icons">filter_3</div>
83
+ `}}) %>
84
+ <%~ includeFile(T, { button: { class:'mdw-fab__button', attributes: {'mdw-mini': true},body: /* html */ `
85
+ <div class="mdw-fab__icon material-icons">filter_4</div>
86
+ `}}) %>
87
+ <%~ includeFile(T, { button: { class:'mdw-fab__button', attributes: {'mdw-mini': true},body: /* html */ `
88
+ <div class="mdw-fab__icon material-icons">filter_5</div>
89
+ `}}) %>
90
+ </div>
91
+ </div>
92
+ </div>
93
+ </div>
94
+ </div>
95
+ </div>
96
+ <%~ includeFile('../_partials/_androidnavbar.eta') %>
97
+ </div>
98
+ </div>
99
+ <script src="fab.min.js"></script>
@@ -1,6 +1,6 @@
1
- import * as Button from '../../components/button/index';
2
- import * as Fab from '../../components/fab/index';
3
- import { iterateArrayLike } from '../../core/dom';
1
+ import * as Button from '../../components/button/index.js';
2
+ import * as Fab from '../../components/fab/index.js';
3
+ import { iterateArrayLike } from '../../core/dom.js';
4
4
 
5
5
  /** @return {void} */
6
6
  function initializeMdwComponents() {
@@ -3,7 +3,7 @@ include ../_mixins.pug
3
3
  +header("fab")
4
4
  .comparison.js
5
5
  .render
6
- div.display-flex.flex-1(flex-column style="position:relative")
6
+ .display-flex.flex-1(flex-column style="position:relative")
7
7
  +androidstatusbar('primary 700', 'dark')
8
8
  +appbar('primary 500', 'dark', ['menu'], ['search']) JS
9
9
  .content(style="padding:16px 8px;")
@@ -39,7 +39,7 @@ include ../_mixins.pug
39
39
  +androidnavbar
40
40
  .comparison
41
41
  .render
42
- div.display-flex.flex-1(flex-column style="position:relative")
42
+ .display-flex.flex-1(flex-column style="position:relative")
43
43
  +androidstatusbar('primary 700', 'dark')
44
44
  +appbar('primary 500', 'dark', ['menu'], ['search']) CSS Only
45
45
  .content(style="padding:16px 8px;")
@@ -0,0 +1,135 @@
1
+ <% var T = '../../templates/index.eta' %>
2
+ <% layout('../_partials/_header.eta', {page: 'grid'}) %>
3
+ <div class="mdw-grid" mdw-margin-top>
4
+ <div class="mdw-grid__item" mdw-colspan="8">
5
+ <h5 class="mdw-type" mdw-baseline-next="36">The Material Design responsive layout grid adapts to screen size and orientation, ensuring consistency across layouts.</h5>
6
+ <p class="mdw-type">The Material Design layout grid is made up of three elements: columns, gutters, and margins.</p>
7
+ </div>
8
+ <div class="mdw-grid__item" mdw-colspan="8">
9
+ <div class="mdw-type" mdw-style="subtitle">Margins and Gutters</div>
10
+ <div class="docs-option-list">
11
+ <%~ includeFile(T, { selection: { ink:'secondary', name:'default-margins', checked:true, text:'Default Margins and Gutters' }}) %>
12
+ <%~ includeFile(T, { selection: { ink:'secondary', name:'top-margin', checked:true, text:'Top Margin' }}) %>
13
+ <%~ includeFile(T, { selection: { ink:'secondary', name:'bottom-margin', checked:true, text:'Bottom Margin' }}) %>
14
+ </div>
15
+ <div class="mdw-type" mdw-style="subtitle">Maximum Columns</div>
16
+ <div class="docs-option-list">
17
+ <%~ includeFile(T, { selection: { ink:'secondary', name:'columns', type:'radio', value:'12', checked:true, text:'12' }}) %>
18
+ <%~ includeFile(T, { selection: { ink:'secondary', name:'columns', type:'radio', value:'8', text:'8' }}) %>
19
+ <%~ includeFile(T, { selection: { ink:'secondary', name:'columns', type:'radio', value:'4', text:'4' }}) %>
20
+ <%~ includeFile(T, { selection: { ink:'secondary', name:'columns', type:'radio', value:'1', text:'1' }}) %>
21
+ </div>
22
+ <div class="mdw-type" mdw-style="subtitle">Display Model</div>
23
+ <div class="docs-option-list">
24
+ <%~ includeFile(T, { selection: { ink:'secondary', name:'style', type:'radio', value:'flex', checked:true, text:'Flexbox' }}) %>
25
+ <%~ includeFile(T, { selection: { ink:'secondary', name:'style', type:'radio', value:'grid', text:'Grid' }}) %>
26
+ </div>
27
+ <div class="mdw-type" mdw-style="subtitle">Options</div>
28
+ <div class="docs-option-list">
29
+ <%~ includeFile(T, { selection: { ink:'secondary', name:'stretch', text:'Stretch' }}) %>
30
+ <%~ includeFile(T, { selection: { ink:'secondary', name:'center', text:'Center' }}) %>
31
+ <%~ includeFile(T, { selection: { ink:'secondary', name:'dense', text:'Dense' }}) %>
32
+ </div>
33
+ </div>
34
+ <div class="mdw-grid__item" mdw-colspan="100%">
35
+ <p class="mdw-type" style="text-align:center;" mdw-texttop-top="16dp" mdw-baseline-bottom="16dp">Click on an element to change colspan</p>
36
+ </div>
37
+ </div>
38
+ <div class="docs-grid" id="sample-component">
39
+ <div class="mdw-grid" mdw-margin-top mdw-margin-bottom>
40
+ <div class="mdw-grid__item" mdw-rowspan="2">
41
+ <div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="cyan 100" mdw-light mdw-border-ink>1</div>
42
+ </div>
43
+ <div class="mdw-grid__item">
44
+ <div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="card" mdw-border-ink>1</div>
45
+ </div>
46
+ <div class="mdw-grid__item">
47
+ <div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="cyan 200" mdw-light mdw-border-ink>1</div>
48
+ </div>
49
+ <div class="mdw-grid__item">
50
+ <div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="card" mdw-border-ink>1</div>
51
+ </div>
52
+ <div class="mdw-grid__item">
53
+ <div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="cyan 400" mdw-dark mdw-border-ink>1</div>
54
+ </div>
55
+ <div class="mdw-grid__item">
56
+ <div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="card" mdw-border-ink>1</div>
57
+ </div>
58
+ <div class="mdw-grid__item">
59
+ <div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="cyan 700" mdw-dark mdw-border-ink>1</div>
60
+ </div>
61
+ <div class="mdw-grid__item" mdw-rowspan="3">
62
+ <div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="card" mdw-border-ink>1</div>
63
+ </div>
64
+ <div class="mdw-grid__item">
65
+ <div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="red 100" mdw-light mdw-border-ink>1</div>
66
+ </div>
67
+ <div class="mdw-grid__item">
68
+ <div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="card" mdw-border-ink>1</div>
69
+ </div>
70
+ <div class="mdw-grid__item">
71
+ <div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="red 200" mdw-light mdw-border-ink>1</div>
72
+ </div>
73
+ <div class="mdw-grid__item">
74
+ <div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="card" mdw-border-ink>1</div>
75
+ </div>
76
+ <div class="mdw-grid__item" mdw-colspan="2">
77
+ <div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="red 400" mdw-dark mdw-border-ink>2</div>
78
+ </div>
79
+ <div class="mdw-grid__item">
80
+ <div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="card" mdw-border-ink>1</div>
81
+ </div>
82
+ <div class="mdw-grid__item" mdw-rowspan="5" mdw-colspan="25%">
83
+ <div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="red 700" mdw-dark mdw-border-ink>25%</div>
84
+ </div>
85
+ <div class="mdw-grid__item" mdw-colspan="3">
86
+ <div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="card" mdw-border-ink>3</div>
87
+ </div>
88
+ <div class="mdw-grid__item">
89
+ <div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="green 100" mdw-light mdw-border-ink>1</div>
90
+ </div>
91
+ <div class="mdw-grid__item">
92
+ <div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="card" mdw-border-ink>1</div>
93
+ </div>
94
+ <div class="mdw-grid__item">
95
+ <div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="green 200" mdw-light mdw-border-ink>1</div>
96
+ </div>
97
+ <div class="mdw-grid__item" mdw-colspan="75%">
98
+ <div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="card" mdw-border-ink>75%</div>
99
+ </div>
100
+ <div class="mdw-grid__item">
101
+ <div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="green 400" mdw-dark mdw-border-ink>1</div>
102
+ </div>
103
+ <div class="mdw-grid__item">
104
+ <div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="card" mdw-border-ink>1</div>
105
+ </div>
106
+ <div class="mdw-grid__item">
107
+ <div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="green 700" mdw-dark mdw-border-ink>1</div>
108
+ </div>
109
+ <div class="mdw-grid__item">
110
+ <div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="card" mdw-border-ink>1</div>
111
+ </div>
112
+ <div class="mdw-grid__item">
113
+ <div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="purple 100" mdw-light mdw-border-ink>1</div>
114
+ </div>
115
+ <div class="mdw-grid__item" mdw-colspan="8">
116
+ <div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="card" mdw-border-ink>8</div>
117
+ </div>
118
+ <div class="mdw-grid__item">
119
+ <div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="purple 200" mdw-light mdw-border-ink>1</div>
120
+ </div>
121
+ <div class="mdw-grid__item">
122
+ <div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="card" mdw-border-ink>1</div>
123
+ </div>
124
+ <div class="mdw-grid__item">
125
+ <div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="purple 400" mdw-dark mdw-border-ink>1</div>
126
+ </div>
127
+ <div class="mdw-grid__item" mdw-colspan="2">
128
+ <div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="card" mdw-border-ink>2</div>
129
+ </div>
130
+ <div class="mdw-grid__item">
131
+ <div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="purple 700" mdw-dark mdw-border-ink>1</div>
132
+ </div>
133
+ </div>
134
+ </div>
135
+ <script src="grid.min.js"></script>
@@ -1,4 +1,4 @@
1
- import { iterateArrayLike, setTextNode } from '../../core/dom';
1
+ import { iterateArrayLike, setTextNode } from '../../core/dom.js';
2
2
 
3
3
  const sampleComponent = document.getElementById('sample-component');
4
4