@shortfuse/materialdesignweb 0.0.9 → 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 (392) hide show
  1. package/.browserslistrc +3 -0
  2. package/.eslintrc.json +146 -27
  3. package/.stylelintrc.json +598 -2
  4. package/.vscode/launch.json +20 -5
  5. package/.vscode/settings.json +3 -0
  6. package/.vscode/tasks.json +19 -10
  7. package/CHANGELOG.md +24 -0
  8. package/README.md +84 -2
  9. package/adapters/datatable/column.js +203 -0
  10. package/adapters/datatable/index.js +972 -0
  11. package/adapters/dom/index.js +601 -0
  12. package/adapters/list/index.js +69 -0
  13. package/adapters/search/index.js +521 -0
  14. package/components/appbar/_spec.scss +225 -0
  15. package/components/appbar/_theme.scss +0 -0
  16. package/components/appbar/index.scss +2 -0
  17. package/components/banner/_spec.scss +118 -0
  18. package/components/banner/_theme.scss +0 -0
  19. package/components/banner/index.scss +2 -0
  20. package/components/bottomnav/README.md +85 -0
  21. package/components/bottomnav/_spec.scss +157 -0
  22. package/components/bottomnav/_theme.scss +0 -0
  23. package/components/bottomnav/index.js +122 -0
  24. package/components/bottomnav/index.scss +2 -0
  25. package/components/bottomnav/item.js +89 -0
  26. package/components/{core/button → button}/README.md +16 -22
  27. package/components/button/_spec.scss +161 -0
  28. package/components/button/_theme.scss +65 -0
  29. package/components/button/index.eta +32 -0
  30. package/components/button/index.js +43 -0
  31. package/components/button/index.pug +18 -0
  32. package/components/button/index.scss +2 -0
  33. package/components/card/_spec.scss +249 -0
  34. package/components/card/_theme.scss +0 -0
  35. package/components/card/index.scss +2 -0
  36. package/components/chip/_spec.scss +134 -0
  37. package/components/chip/_theme.scss +177 -0
  38. package/components/chip/index.js +21 -0
  39. package/components/chip/index.scss +2 -0
  40. package/components/chip/item.js +20 -0
  41. package/components/datatable/_spec.scss +288 -0
  42. package/components/datatable/_theme.scss +154 -0
  43. package/components/datatable/cell.js +45 -0
  44. package/components/datatable/columnheader.js +47 -0
  45. package/components/datatable/index.js +388 -0
  46. package/components/datatable/index.scss +2 -0
  47. package/components/datatable/row.js +49 -0
  48. package/components/datatable/rowheader.js +18 -0
  49. package/components/dialog/_spec.scss +213 -0
  50. package/components/dialog/_theme.scss +0 -0
  51. package/components/dialog/index.js +627 -0
  52. package/components/dialog/index.scss +2 -0
  53. package/components/divider/_spec.scss +13 -0
  54. package/components/divider/_theme.scss +0 -0
  55. package/components/divider/index.scss +2 -0
  56. package/components/elevation/_spec.scss +9 -0
  57. package/components/elevation/_theme.scss +0 -0
  58. package/components/elevation/index.scss +2 -0
  59. package/components/fab/_spec.scss +222 -0
  60. package/components/fab/_theme.scss +0 -0
  61. package/components/fab/index.js +103 -0
  62. package/components/fab/index.scss +2 -0
  63. package/components/grid/_spec.scss +312 -0
  64. package/components/grid/_theme.scss +0 -0
  65. package/components/grid/index.scss +2 -0
  66. package/components/layout/_mixins.scss +33 -0
  67. package/components/layout/_spec.scss +1012 -0
  68. package/components/layout/_theme.scss +44 -0
  69. package/components/layout/index.js +464 -0
  70. package/components/layout/index.scss +2 -0
  71. package/components/list/_spec.scss +397 -0
  72. package/components/list/_theme.scss +111 -0
  73. package/components/list/content.js +110 -0
  74. package/components/list/index.js +260 -0
  75. package/components/list/index.scss +2 -0
  76. package/components/list/item.js +170 -0
  77. package/components/list/secondary.js +46 -0
  78. package/components/menu/_spec.scss +362 -0
  79. package/components/menu/_theme.scss +0 -0
  80. package/components/menu/index.js +721 -0
  81. package/components/menu/index.scss +2 -0
  82. package/components/menu/item.js +239 -0
  83. package/components/{core/progress/style.scss → progress/_spec.scss} +36 -25
  84. package/components/progress/_theme.scss +0 -0
  85. package/components/progress/index.js +36 -0
  86. package/components/progress/index.scss +2 -0
  87. package/components/selection/_spec.scss +386 -0
  88. package/components/selection/_theme.scss +166 -0
  89. package/components/selection/index.eta +60 -0
  90. package/components/selection/index.js +76 -0
  91. package/components/selection/index.pug +30 -0
  92. package/components/selection/index.scss +2 -0
  93. package/components/selection/input.js +56 -0
  94. package/components/selection/radiogroup.js +47 -0
  95. package/components/slider/_spec.scss +64 -0
  96. package/components/slider/_theme.scss +0 -0
  97. package/components/slider/index.scss +2 -0
  98. package/components/snackbar/_spec.scss +195 -0
  99. package/components/snackbar/_theme.scss +0 -0
  100. package/components/snackbar/index.js +344 -0
  101. package/components/snackbar/index.scss +2 -0
  102. package/components/tab/_spec.scss +235 -0
  103. package/components/tab/_theme.scss +0 -0
  104. package/components/tab/content.js +205 -0
  105. package/components/tab/index.js +260 -0
  106. package/components/tab/index.scss +2 -0
  107. package/components/tab/item.js +89 -0
  108. package/components/tab/list.js +210 -0
  109. package/components/tab/panel.js +54 -0
  110. package/components/template/_theme.scss +27 -0
  111. package/components/{core/textfield → textfield}/README.md +70 -50
  112. package/components/textfield/_mixins.scss +52 -0
  113. package/components/textfield/_spec.scss +809 -0
  114. package/components/textfield/_theme.scss +299 -0
  115. package/components/textfield/index.eta +74 -0
  116. package/components/textfield/index.js +168 -0
  117. package/components/textfield/index.pug +30 -0
  118. package/components/textfield/index.scss +2 -0
  119. package/components/tooltip/_spec.scss +188 -0
  120. package/components/tooltip/_theme.scss +0 -0
  121. package/components/tooltip/index.scss +2 -0
  122. package/components/type/_spec.scss +224 -0
  123. package/components/type/_theme.scss +0 -0
  124. package/components/type/index.scss +2 -0
  125. package/core/_breakpoint.scss +189 -0
  126. package/core/_elevation.scss +38 -0
  127. package/core/_length.scss +9 -0
  128. package/core/_motion.scss +31 -0
  129. package/core/_platform.scss +34 -0
  130. package/core/_type.scss +127 -0
  131. package/core/aria/attributes.js +141 -0
  132. package/core/aria/button.js +50 -0
  133. package/core/aria/keyboard.js +93 -0
  134. package/core/aria/rovingtabindex.js +178 -0
  135. package/core/aria/tab.js +60 -0
  136. package/core/color/_spec.scss +0 -0
  137. package/core/color/_theme.scss +390 -0
  138. package/core/color/index.scss +2 -0
  139. package/core/document/index.js +39 -0
  140. package/core/dom.js +271 -0
  141. package/core/overlay/_spec.scss +31 -0
  142. package/core/overlay/_theme.scss +171 -0
  143. package/core/overlay/index.js +108 -0
  144. package/core/overlay/index.scss +2 -0
  145. package/core/ripple/_spec.scss +197 -0
  146. package/core/ripple/_theme.scss +40 -0
  147. package/core/ripple/index.js +294 -0
  148. package/core/ripple/index.scss +2 -0
  149. package/core/theme/_config.scss +2 -0
  150. package/core/theme/_mixins.scss +172 -0
  151. package/{components/theming/palettes.scss → core/theme/_palettes.scss} +173 -150
  152. package/core/theme/_variables.scss +24 -0
  153. package/core/theme/index.js +50 -0
  154. package/core/throttler.js +42 -0
  155. package/core/transition/index.js +468 -0
  156. package/docs/_flex.scss +22 -0
  157. package/docs/_menuoptions.js +183 -0
  158. package/docs/_mixins.pug +155 -0
  159. package/docs/_partials/_androidnavbar.eta +5 -0
  160. package/docs/_partials/_androidstatusbar.eta +13 -0
  161. package/docs/_partials/_appbar.eta +29 -0
  162. package/docs/_partials/_buttontest.eta +31 -0
  163. package/docs/_partials/_header.eta +149 -0
  164. package/docs/_partials/_navlistitem.eta +16 -0
  165. package/docs/_partials/_target.eta +1 -0
  166. package/docs/_sample-utils.js +93 -0
  167. package/docs/_storage.js +33 -0
  168. package/docs/docs.scss +295 -0
  169. package/docs/index.eta +16 -0
  170. package/docs/index.js +0 -0
  171. package/docs/pages/appbar.eta +114 -0
  172. package/docs/pages/appbar.js +0 -0
  173. package/docs/pages/appbar.pug +78 -0
  174. package/docs/pages/bottomnav.eta +188 -0
  175. package/docs/pages/bottomnav.js +115 -0
  176. package/docs/pages/bottomnav.pug +137 -0
  177. package/docs/pages/button.eta +124 -0
  178. package/docs/pages/button.js +224 -0
  179. package/docs/pages/button.pug +121 -0
  180. package/docs/pages/card.eta +90 -0
  181. package/docs/pages/card.js +177 -0
  182. package/docs/pages/card.pug +74 -0
  183. package/docs/pages/chip.eta +122 -0
  184. package/docs/pages/chip.js +82 -0
  185. package/docs/pages/chip.pug +91 -0
  186. package/docs/pages/color.eta +143 -0
  187. package/docs/pages/color.js +262 -0
  188. package/docs/pages/color.pug +121 -0
  189. package/docs/pages/datatable.eta +323 -0
  190. package/docs/pages/datatable.js +164 -0
  191. package/docs/pages/datatable.pug +283 -0
  192. package/docs/pages/dialog.eta +186 -0
  193. package/docs/pages/dialog.js +177 -0
  194. package/docs/pages/dialog.pug +132 -0
  195. package/docs/pages/dom.eta +26 -0
  196. package/docs/pages/dom.js +143 -0
  197. package/docs/pages/dom.pug +22 -0
  198. package/docs/pages/elevation.eta +35 -0
  199. package/docs/pages/elevation.js +0 -0
  200. package/docs/pages/elevation.pug +25 -0
  201. package/docs/pages/fab.eta +99 -0
  202. package/docs/pages/fab.js +44 -0
  203. package/docs/pages/fab.pug +66 -0
  204. package/docs/pages/grid.eta +135 -0
  205. package/docs/pages/grid.js +128 -0
  206. package/docs/pages/grid.pug +95 -0
  207. package/docs/pages/layout.eta +8 -0
  208. package/docs/pages/layout.js +0 -0
  209. package/docs/pages/layout.pug +7 -0
  210. package/docs/pages/list.eta +465 -0
  211. package/docs/pages/list.js +9 -0
  212. package/docs/pages/list.pug +326 -0
  213. package/docs/pages/menu.eta +276 -0
  214. package/docs/pages/menu.js +217 -0
  215. package/docs/pages/menu.pug +205 -0
  216. package/docs/pages/overlay.eta +69 -0
  217. package/docs/pages/overlay.js +4 -0
  218. package/docs/pages/overlay.pug +55 -0
  219. package/docs/pages/progress.eta +23 -0
  220. package/docs/pages/progress.js +12 -0
  221. package/docs/pages/progress.pug +16 -0
  222. package/docs/pages/ripple.eta +27 -0
  223. package/docs/pages/ripple.js +4 -0
  224. package/docs/pages/ripple.pug +21 -0
  225. package/docs/pages/search.eta +246 -0
  226. package/docs/pages/search.js +243 -0
  227. package/docs/pages/search.pug +165 -0
  228. package/docs/pages/selection.eta +111 -0
  229. package/docs/pages/selection.js +13 -0
  230. package/docs/pages/selection.pug +74 -0
  231. package/docs/pages/slider.eta +23 -0
  232. package/docs/pages/slider.js +0 -0
  233. package/docs/pages/slider.pug +17 -0
  234. package/docs/pages/snackbar.eta +83 -0
  235. package/docs/pages/snackbar.js +158 -0
  236. package/docs/pages/snackbar.pug +60 -0
  237. package/docs/pages/tab.eta +421 -0
  238. package/docs/pages/tab.js +151 -0
  239. package/docs/pages/tab.pug +304 -0
  240. package/docs/pages/textfield.eta +486 -0
  241. package/docs/pages/textfield.js +254 -0
  242. package/docs/pages/textfield.pug +360 -0
  243. package/docs/pages/tooltip.eta +94 -0
  244. package/docs/pages/tooltip.js +0 -0
  245. package/docs/pages/tooltip.pug +78 -0
  246. package/docs/pages/transition.eta +117 -0
  247. package/docs/pages/transition.js +54 -0
  248. package/docs/pages/transition.pug +76 -0
  249. package/docs/pages/type.eta +31 -0
  250. package/docs/pages/type.js +0 -0
  251. package/docs/pages/type.pug +29 -0
  252. package/docs/postrender.js +39 -0
  253. package/docs/prerender.js +16 -0
  254. package/docs/pwa/_dialogs.eta +143 -0
  255. package/docs/pwa/_dialogs.pug +96 -0
  256. package/docs/pwa/_menus.eta +16 -0
  257. package/docs/pwa/_menus.pug +11 -0
  258. package/docs/pwa/pwa-prerender.js +3 -0
  259. package/docs/pwa/pwa.eta +480 -0
  260. package/docs/pwa/pwa.js +306 -0
  261. package/docs/pwa/pwa.pug +325 -0
  262. package/docs/pwa/pwa.scss +26 -0
  263. package/docs/spec.scss +26 -0
  264. package/docs/themes/_component-themes.scss +26 -0
  265. package/docs/themes/theme-colored-fallbacks.scss +17 -0
  266. package/docs/themes/theme-colored.scss +17 -0
  267. package/docs/themes/theme-default-fallbacks.scss +17 -0
  268. package/docs/themes/theme-default.scss +17 -0
  269. package/jsconfig.json +4 -2
  270. package/package.json +43 -28
  271. package/scripts/deploy-docs.sh +9 -0
  272. package/templates/index.eta +2 -0
  273. package/templates/index.pug +3 -0
  274. package/utils/function.js +3 -0
  275. package/webpack.config.cjs +257 -0
  276. package/components/_index.scss +0 -4
  277. package/components/all-components.scss +0 -14
  278. package/components/common/functions.scss +0 -173
  279. package/components/common/mixins.scss +0 -107
  280. package/components/common/motion.scss +0 -36
  281. package/components/common/ripple.scss +0 -92
  282. package/components/common/variables.scss +0 -48
  283. package/components/complex/dialog/style.scss +0 -159
  284. package/components/complex/dialog/theming.scss +0 -29
  285. package/components/complex/navdrawer/style.scss +0 -477
  286. package/components/complex/navdrawer/theming.scss +0 -58
  287. package/components/complex/search/index.js +0 -492
  288. package/components/core/bottomnav/README.md +0 -85
  289. package/components/core/bottomnav/index.js +0 -140
  290. package/components/core/bottomnav/style.scss +0 -173
  291. package/components/core/bottomnav/theming.scss +0 -42
  292. package/components/core/button/index.js +0 -52
  293. package/components/core/button/style.scss +0 -283
  294. package/components/core/button/theming.scss +0 -131
  295. package/components/core/list/index.js +0 -94
  296. package/components/core/list/style.scss +0 -269
  297. package/components/core/list/theming.scss +0 -74
  298. package/components/core/menu/index.js +0 -127
  299. package/components/core/menu/style.scss +0 -239
  300. package/components/core/menu/theming.scss +0 -55
  301. package/components/core/progress/index.js +0 -33
  302. package/components/core/selection/style.scss +0 -249
  303. package/components/core/selection/theming.scss +0 -49
  304. package/components/core/switch/style.scss +0 -3
  305. package/components/core/tab/index.js +0 -174
  306. package/components/core/tab/style.scss +0 -202
  307. package/components/core/tab/theming.scss +0 -43
  308. package/components/core/textfield/index.js +0 -169
  309. package/components/core/textfield/style.scss +0 -672
  310. package/components/core/textfield/theming.scss +0 -262
  311. package/components/core/toolbar/style.scss +0 -109
  312. package/components/core/toolbar/theming.scss +0 -28
  313. package/components/core/tooltip/style.scss +0 -127
  314. package/components/core/type/style.scss +0 -133
  315. package/components/core/type/theming.scss +0 -25
  316. package/components/index.js +0 -24
  317. package/components/template/theming.scss +0 -31
  318. package/components/theming/theming.scss +0 -504
  319. package/docs/bottomnav.html +0 -171
  320. package/docs/bottomnav.min.js +0 -383
  321. package/docs/button.html +0 -322
  322. package/docs/button.min.js +0 -251
  323. package/docs/components.min.css +0 -1
  324. package/docs/components.min.js +0 -83
  325. package/docs/dialog.html +0 -103
  326. package/docs/dialog.min.js +0 -160
  327. package/docs/docs.min.css +0 -1
  328. package/docs/docs.min.js +0 -83
  329. package/docs/index.html +0 -55
  330. package/docs/index.min.js +0 -83
  331. package/docs/list.html +0 -442
  332. package/docs/list.min.js +0 -312
  333. package/docs/menu.html +0 -185
  334. package/docs/menu.min.js +0 -370
  335. package/docs/navdrawer.html +0 -199
  336. package/docs/navdrawer.min.js +0 -244
  337. package/docs/progress.html +0 -75
  338. package/docs/progress.min.js +0 -162
  339. package/docs/search.html +0 -230
  340. package/docs/search.min.js +0 -1202
  341. package/docs/selection.html +0 -188
  342. package/docs/selection.min.js +0 -160
  343. package/docs/src/complex/dialog.js +0 -3
  344. package/docs/src/complex/dialog.pug +0 -44
  345. package/docs/src/complex/navdrawer.js +0 -82
  346. package/docs/src/complex/navdrawer.pug +0 -109
  347. package/docs/src/complex/search.js +0 -207
  348. package/docs/src/complex/search.pug +0 -143
  349. package/docs/src/components.scss +0 -1
  350. package/docs/src/core/bottomnav.js +0 -22
  351. package/docs/src/core/bottomnav.pug +0 -93
  352. package/docs/src/core/button.js +0 -16
  353. package/docs/src/core/button.pug +0 -73
  354. package/docs/src/core/list.js +0 -21
  355. package/docs/src/core/list.pug +0 -246
  356. package/docs/src/core/menu.js +0 -33
  357. package/docs/src/core/menu.pug +0 -108
  358. package/docs/src/core/progress.js +0 -11
  359. package/docs/src/core/progress.pug +0 -17
  360. package/docs/src/core/selection.js +0 -4
  361. package/docs/src/core/selection.pug +0 -92
  362. package/docs/src/core/tab.js +0 -21
  363. package/docs/src/core/tab.pug +0 -180
  364. package/docs/src/core/textfield.js +0 -15
  365. package/docs/src/core/textfield.pug +0 -274
  366. package/docs/src/core/toolbar.js +0 -4
  367. package/docs/src/core/toolbar.pug +0 -79
  368. package/docs/src/core/tooltip.js +0 -4
  369. package/docs/src/core/tooltip.pug +0 -76
  370. package/docs/src/core/type.js +0 -4
  371. package/docs/src/core/type.pug +0 -36
  372. package/docs/src/docs.scss +0 -200
  373. package/docs/src/index.pug +0 -5
  374. package/docs/src/mixins.pug +0 -72
  375. package/docs/src/targetHandler.js +0 -50
  376. package/docs/src/theming.ie11.scss +0 -35
  377. package/docs/src/theming.scss +0 -36
  378. package/docs/tab.html +0 -301
  379. package/docs/tab.min.js +0 -397
  380. package/docs/textfield.html +0 -476
  381. package/docs/textfield.min.js +0 -381
  382. package/docs/theming.ie11.min.css +0 -1
  383. package/docs/theming.ie11.min.js +0 -83
  384. package/docs/theming.min.css +0 -1
  385. package/docs/theming.min.js +0 -83
  386. package/docs/toolbar.html +0 -213
  387. package/docs/toolbar.min.js +0 -160
  388. package/docs/tooltip.html +0 -138
  389. package/docs/tooltip.min.js +0 -160
  390. package/docs/type.html +0 -94
  391. package/docs/type.min.js +0 -160
  392. package/webpack.config.js +0 -176
@@ -0,0 +1,111 @@
1
+ <% var T = '../../templates/index.eta' %>
2
+ <% layout('../_partials/_header.eta', {page: 'selection'}) %>
3
+ <div class="mdw-grid" mdw-stretch>
4
+ <div class="mdw-grid__item" mdw-colspan="4">
5
+ <div class="mdw-grid__content">
6
+ <div class="render-fill">
7
+ <%~ includeFile('../_partials/_androidstatusbar.eta', { surface:'teal 700', dark:true }) %>
8
+ <div class="mdw-appbar mdw-theme" mdw-surface="teal 500" mdw-dark>
9
+ <div class="mdw-appbar__action">
10
+ <div class="mdw-appbar__title">Styled HTMLInputElement</div>
11
+ </div>
12
+ </div>
13
+ <div class="content">
14
+ <div class="display-flex" style="padding:16px;">
15
+ <%~ includeFile(T, { selection: { ink:'blue', checked:true, prefix:true, type:'switch' , text:'Switch' }}) %>
16
+ </div>
17
+ <div class="display-flex" style="padding:16px;">
18
+ <%~ includeFile(T, { selection: { ink:'blue', checked:true, prefix:true , text:'Prefixed' }}) %>
19
+ </div>
20
+ <div class="display-flex" style="padding:16px;">
21
+ <%~ includeFile(T, { selection: { ink:'teal', checked:true , text:'Suffixed' }}) %>
22
+ </div>
23
+ <div class="display-flex" style="padding:16px;">
24
+ <%~ includeFile(T, { selection: { ink:'teal', checked:true, disabled:true, text:'Disabled' }}) %>
25
+ </div>
26
+ <div class="display-flex" style="padding:16px;">
27
+ <%~ includeFile(T, { selection: { ink:'teal', type:'radio', name:'test', checked:true , text:'Option A' }}) %>
28
+ </div>
29
+ <div class="display-flex" style="padding:16px;">
30
+ <%~ includeFile(T, { selection: { ink:'teal', type:'radio', name:'test' , text:'Option B' }}) %>
31
+ </div>
32
+ <div class="display-flex" style="padding:16px;">
33
+ <%~ includeFile(T, { selection: { ink:'teal', type:'radio', name:'test', disabled:true , text:'Option C' }}) %>
34
+ </div>
35
+ </div>
36
+ </div>
37
+ </div>
38
+ </div>
39
+ <div class="mdw-grid__item" mdw-colspan="4">
40
+ <div class="mdw-grid__content">
41
+ <div class="render-fill">
42
+ <%~ includeFile('../_partials/_androidstatusbar.eta', { surface:'teal 700', dark:true }) %>
43
+ <div class="mdw-appbar mdw-theme" mdw-surface="teal 500" mdw-dark>
44
+ <div class="mdw-appbar__action">
45
+ <div class="mdw-appbar__title">aria-checked (JS)</div>
46
+ </div>
47
+ </div>
48
+ <div class="content">
49
+ <div class="mdw-list__subheader mdw-theme" id="docs-selection-subheader1" mdw-ink="medium">Switch</div>
50
+ <ul class="mdw-list" role="listbox" aria-labelledby="docs-selection-subheader1">
51
+ <li class="mdw-list__item">
52
+ <a class="mdw-list__content mdw-selection mdw-overlay" aria-checked="true">
53
+ <div class="mdw-list__text mdw-selection__label">Android Switch</div>
54
+ <div class="mdw-list__secondary mdw-selection__icon mdw-theme" mdw-ink="teal" mdw-switch></div>
55
+ </a>
56
+ </li>
57
+ <li class="mdw-list__item">
58
+ <a class="mdw-list__content mdw-selection mdw-overlay" aria-checked="false" aria-disabled="true">
59
+ <div class="mdw-list__text mdw-selection__label">Android Switch Disabled</div>
60
+ <div class="mdw-list__secondary mdw-selection__icon mdw-theme" mdw-ink="teal contrast" mdw-switch></div>
61
+ </a>
62
+ </li>
63
+ </ul>
64
+ <div class="mdw-list__subheader mdw-theme" mdw-ink="medium">.mdw-list[role="radiogroup"]</div>
65
+ <ul class="mdw-list mdw-selection__radio-group" role="radiogroup">
66
+ <li class="mdw-list__item">
67
+ <a class="mdw-list__content mdw-selection mdw-overlay" aria-checked="true">
68
+ <div class="mdw-list__text mdw-selection__label">
69
+ <div class="mdw-list__text-line">Option 1</div>
70
+ <div class="mdw-list__text-line mdw-theme" mdw-ink="medium">Description</div>
71
+ </div>
72
+ <div class="mdw-list__secondary mdw-selection__icon mdw-theme" mdw-ink="teal" mdw-radio></div>
73
+ </a>
74
+ </li>
75
+ <li class="mdw-list__item">
76
+ <a class="mdw-list__content mdw-selection mdw-overlay" aria-checked="false">
77
+ <div class="mdw-list__text mdw-selection__label">
78
+ <div class="mdw-list__text-line">Option 2</div>
79
+ <div class="mdw-list__text-line mdw-theme" mdw-ink="medium">Description</div>
80
+ </div>
81
+ <div class="mdw-list__secondary mdw-selection__icon mdw-theme" mdw-ink="blue" mdw-radio></div>
82
+ </a>
83
+ </li>
84
+ </ul>
85
+ <div class="mdw-list__subheader mdw-theme" mdw-ink="medium">Multiple check</div>
86
+ <ul class="mdw-list" role="listbox" aria-multiselectable="true">
87
+ <li class="mdw-list__item">
88
+ <a class="mdw-list__content mdw-selection mdw-overlay" aria-checked="true">
89
+ <div class="mdw-list__text mdw-selection__label">Option 1</div>
90
+ <div class="mdw-list__secondary mdw-selection__icon mdw-theme" mdw-ink="teal" mdw-checkbox></div>
91
+ </a>
92
+ </li>
93
+ <li class="mdw-list__item">
94
+ <a class="mdw-list__content mdw-selection mdw-overlay" aria-checked="true">
95
+ <div class="mdw-list__text mdw-selection__label">Option 2</div>
96
+ <div class="mdw-list__secondary mdw-selection__icon mdw-theme" mdw-ink="blue" mdw-checkbox></div>
97
+ </a>
98
+ </li>
99
+ <li class="mdw-list__item">
100
+ <a class="mdw-list__content mdw-selection mdw-overlay" aria-checked="false">
101
+ <div class="mdw-list__text mdw-selection__label">Option 3</div>
102
+ <div class="mdw-list__secondary mdw-selection__icon mdw-theme" mdw-ink="warn" mdw-checkbox></div>
103
+ </a>
104
+ </li>
105
+ </ul>
106
+ </div>
107
+ </div>
108
+ </div>
109
+ </div>
110
+ </div>
111
+ <script src="selection.min.js"></script>
@@ -0,0 +1,13 @@
1
+ import * as List from '../../components/list/index.js';
2
+ import * as Selection from '../../components/selection/index.js';
3
+ import * as SelectionRadioGroup from '../../components/selection/radiogroup.js';
4
+ import { iterateArrayLike } from '../../core/dom.js';
5
+
6
+ /** @return {void} */
7
+ function initializeMdwComponents() {
8
+ iterateArrayLike(document.getElementsByClassName('mdw-selection'), Selection.attach);
9
+ iterateArrayLike(document.getElementsByClassName('mdw-selection__radio-group'), SelectionRadioGroup.attach);
10
+ iterateArrayLike(document.getElementsByClassName('mdw-list'), List.attach);
11
+ }
12
+
13
+ initializeMdwComponents();
@@ -0,0 +1,74 @@
1
+ include ../_mixins.pug
2
+
3
+ +header("selection")
4
+ .mdw-grid(mdw-stretch)
5
+ .mdw-grid__item(mdw-colspan="4")
6
+ .mdw-grid__content
7
+ .render-fill
8
+ +androidstatusbar('teal 700', 'dark')
9
+ .mdw-appbar.mdw-theme(mdw-surface="teal 500" mdw-dark)
10
+ .mdw-appbar__action
11
+ .mdw-appbar__title Styled HTMLInputElement
12
+ .content
13
+ .display-flex(style="padding:16px")
14
+ +mdwSelection({ink:'blue', checked:true, prefix:true, type:'switch' }) Switch
15
+ .display-flex(style="padding:16px")
16
+ +mdwSelection({ink:'blue', checked:true, prefix:true }) Prefixed
17
+ .display-flex(style="padding:16px")
18
+ +mdwSelection({ink:'teal', checked:true }) Suffixed
19
+ .display-flex(style="padding:16px")
20
+ +mdwSelection({ink:'teal', checked:true, disabled:true}) Disabled
21
+ .display-flex(style="padding:16px")
22
+ +mdwSelection({ink:'teal', type:'radio', name:'test', checked:true }) Option A
23
+ .display-flex(style="padding:16px")
24
+ +mdwSelection({ink:'teal', type:'radio', name:'test' }) Option B
25
+ .display-flex(style="padding:16px")
26
+ +mdwSelection({ink:'teal', type:'radio', name:'test', disabled:true }) Option C
27
+ .mdw-grid__item(mdw-colspan="4")
28
+ .mdw-grid__content
29
+ .render-fill
30
+ +androidstatusbar('teal 700', 'dark')
31
+ .mdw-appbar.mdw-theme(mdw-surface="teal 500" mdw-dark)
32
+ .mdw-appbar__action
33
+ .mdw-appbar__title aria-checked (JS)
34
+ .content
35
+ div#docs-selection-subheader1.mdw-list__subheader.mdw-theme(mdw-ink="medium") Switch
36
+ ul.mdw-list(role="listbox" aria-labelledby='docs-selection-subheader1')
37
+ li.mdw-list__item
38
+ a.mdw-list__content.mdw-selection.mdw-overlay(aria-checked="true")
39
+ .mdw-list__text.mdw-selection__label Android Switch
40
+ .mdw-list__secondary.mdw-selection__icon.mdw-theme(mdw-ink="teal" mdw-switch)
41
+ li.mdw-list__item
42
+ a.mdw-list__content.mdw-selection.mdw-overlay(aria-checked="false" aria-disabled="true")
43
+ .mdw-list__text.mdw-selection__label Android Switch Disabled
44
+ .mdw-list__secondary.mdw-selection__icon.mdw-theme(mdw-ink="teal contrast" mdw-switch)
45
+ .mdw-list__subheader.mdw-theme(mdw-ink="medium") .mdw-list[role="radiogroup"]
46
+ ul.mdw-list.mdw-selection__radio-group(role="radiogroup")
47
+ li.mdw-list__item
48
+ a.mdw-list__content.mdw-selection.mdw-overlay(aria-checked="true")
49
+ .mdw-list__text.mdw-selection__label
50
+ .mdw-list__text-line Option 1
51
+ .mdw-list__text-line.mdw-theme(mdw-ink="medium") Description
52
+ .mdw-list__secondary.mdw-selection__icon.mdw-theme(mdw-ink="teal" mdw-radio)
53
+ li.mdw-list__item
54
+ a.mdw-list__content.mdw-selection.mdw-overlay(aria-checked="false")
55
+ .mdw-list__text.mdw-selection__label
56
+ .mdw-list__text-line Option 2
57
+ .mdw-list__text-line.mdw-theme(mdw-ink="medium") Description
58
+ .mdw-list__secondary.mdw-selection__icon.mdw-theme(mdw-ink="blue" mdw-radio)
59
+ .mdw-list__subheader.mdw-theme(mdw-ink="medium") Multiple check
60
+ ul.mdw-list(role="listbox" aria-multiselectable="true")
61
+ li.mdw-list__item
62
+ a.mdw-list__content.mdw-selection.mdw-overlay(aria-checked="true")
63
+ .mdw-list__text.mdw-selection__label Option 1
64
+ .mdw-list__secondary.mdw-selection__icon.mdw-theme(mdw-ink="teal" mdw-checkbox)
65
+ li.mdw-list__item
66
+ a.mdw-list__content.mdw-selection.mdw-overlay(aria-checked="true")
67
+ .mdw-list__text.mdw-selection__label Option 2
68
+ .mdw-list__secondary.mdw-selection__icon.mdw-theme(mdw-ink="blue" mdw-checkbox)
69
+ li.mdw-list__item
70
+ a.mdw-list__content.mdw-selection.mdw-overlay(aria-checked="false")
71
+ .mdw-list__text.mdw-selection__label Option 3
72
+ .mdw-list__secondary.mdw-selection__icon.mdw-theme(mdw-ink="warn" mdw-checkbox)
73
+
74
+ script(src='selection.min.js')
@@ -0,0 +1,23 @@
1
+ <% var T = '../../templates/index.eta' %>
2
+ <% layout('../_partials/_header.eta', {page: 'slider'}) %>
3
+ <div class="mdw-grid" mdw-margin-top mdw-margin-bottom mdw-stretch>
4
+ <div class="mdw-grid__item" mdw-colspan="100%">
5
+ <h5 class="mdw-type" mdw-baseline-next="36">Sliders allow users to make selections from a range of values.</h5>
6
+ <p class="mdw-type">Sliders reflect a range of values along a bar, from which users may select a single value. They are ideal for adjusting settings such as volume, brightness, or applying image filters.</p>
7
+ </div>
8
+ <div class="mdw-grid__item" mdw-colspan="4">
9
+ <div class="component-sample">
10
+ <div class="component-sample__container">
11
+ <label class="mdw-slider mdw-theme" mdw-ink="secondary">
12
+ <input class="mdw-slider__input" type="range" list="sample-list" />
13
+ <datalist id="sample-list">
14
+ <option value="0" label="None"></option>
15
+ <option value="50" label="Half"></option>
16
+ <option value="100" label="All"></option>
17
+ </datalist>
18
+ </label>
19
+ </div>
20
+ </div>
21
+ </div>
22
+ </div>
23
+ <script src="slider.min.js"></script>
File without changes
@@ -0,0 +1,17 @@
1
+ include ../_mixins.pug
2
+
3
+ +header("slider")
4
+ .mdw-grid(mdw-margin-top mdw-margin-bottom mdw-stretch)
5
+ .mdw-grid__item(mdw-colspan="100%")
6
+ h5.mdw-type(mdw-baseline-next="36") Sliders allow users to make selections from a range of values.
7
+ p.mdw-type Sliders reflect a range of values along a bar, from which users may select a single value. They are ideal for adjusting settings such as volume, brightness, or applying image filters.
8
+ .mdw-grid__item(mdw-colspan="4")
9
+ .component-sample
10
+ .component-sample__container
11
+ label.mdw-slider.mdw-theme(mdw-ink="secondary")
12
+ input.mdw-slider__input(type="range" list="sample-list")
13
+ datalist#sample-list
14
+ option(value=0 label="None")
15
+ option(value=50 label="Half")
16
+ option(value=100 label="All")
17
+ script(src='slider.min.js')
@@ -0,0 +1,83 @@
1
+ <% var T = '../../templates/index.eta' %>
2
+ <% layout('../_partials/_header.eta', {page: 'snackbar'}) %>
3
+ <div class="mdw-grid" mdw-margin-top mdw-margin-bottom>
4
+ <div class="mdw-grid__item" mdw-colspan="100%">
5
+ <h5 class="mdw-type" mdw-baseline-next="36">Snackbars provide brief messages about app processes at the bottom of the screen.</h5>
6
+ <p class="mdw-type">Snackbars inform users of a process that an app has performed or will perform. They appear temporarily, towards the bottom of the screen. They shouldn’t interrupt the user experience, and they don’t require user input to disappear.</p>
7
+ </div>
8
+ <div class="mdw-grid__item" mdw-colspan="100%">
9
+ <div class="mdw-grid__content component-sample" style="padding:0;">
10
+ <div class="mdw-grid" style="width:100%;height:100%;">
11
+ <div class="mdw-grid__item" mdw-colspan="100%">
12
+ <div>
13
+ <%~ includeFile(T, { button: { ink:'secondary' , text:'Create New' }}) %>
14
+ </div>
15
+ </div>
16
+ <div class="mdw-grid__item" mdw-colspan="100%">
17
+ <div class="mdw-snackbar__wrapper">
18
+ <div class="mdw-snackbar__container">
19
+ <div class="mdw-snackbar mdw-theme" aria-hidden="false" mdw-surface="background 900" mdw-dark>
20
+ <span>Short message snackbar.</span>
21
+ <%~ includeFile(T, { button: { ink:'secondary', text:'Action' }}) %>
22
+ </div>
23
+ </div>
24
+ </div>
25
+ </div>
26
+ <div class="mdw-grid__item" mdw-colspan="100%">
27
+ <div class="mdw-snackbar__wrapper">
28
+ <div class="mdw-snackbar__container js-sample"></div>
29
+ </div>
30
+ </div>
31
+ </div>
32
+ </div>
33
+ </div>
34
+ <div class="mdw-grid__item" mdw-colspan="4">
35
+ <div class="mdw-type" mdw-style="subtitle">Javascript</div>
36
+ <div class="docs-option-list">
37
+ <%~ includeFile(T, { selection: { ink:'secondary', name:'javascript', type:'radio', value:'required', disabled:true, text:'Required' }}) %>
38
+ <%~ includeFile(T, { selection: { ink:'secondary', name:'javascript', type:'radio', value:'optional', checked:true, text:'Optional' }}) %>
39
+ <%~ includeFile(T, { selection: { ink:'secondary', name:'javascript', type:'radio', value:'none' , text:'None' }}) %>
40
+ </div>
41
+ <div class="mdw-type" mdw-style="subtitle">Text</div>
42
+ <div class="docs-option-list">
43
+ <%~ includeFile(T, { selection: { ink:'secondary', name:'text', type:'radio', value:'short', checked:true, text:'Short' }}) %>
44
+ <%~ includeFile(T, { selection: { ink:'secondary', name:'text', type:'radio', value:'long', text:'Long' }}) %>
45
+ <%~ includeFile(T, { selection: { ink:'secondary', name:'text', type:'radio', value:'line-break' , text:'Explicit line-break' }}) %>
46
+ </div>
47
+ <div class="mdw-type" mdw-style="subtitle">Button</div>
48
+ <div class="docs-option-list">
49
+ <%~ includeFile(T, { selection: { ink:'secondary', name:'button', type:'radio', value:'none', text:'None' }}) %>
50
+ <%~ includeFile(T, { selection: { ink:'secondary', name:'button', type:'radio', value:'short', checked:true, text:'Short' }}) %>
51
+ <%~ includeFile(T, { selection: { ink:'secondary', name:'button', type:'radio', value:'long' , text:'Long' }}) %>
52
+ </div>
53
+ <div class="mdw-type" mdw-style="subtitle">Visibility</div>
54
+ <div class="docs-option-list">
55
+ <%~ includeFile(T, { selection: { ink:'secondary', name:'visibility', type:'radio', value:'show', checked:true, text:'Show' }}) %>
56
+ <%~ includeFile(T, { selection: { ink:'secondary', name:'visibility', type:'radio', value:'hide', text:'Hide' }}) %>
57
+ </div>
58
+ <div class="mdw-type" mdw-style="subtitle">Position</div>
59
+ <div class="docs-option-list">
60
+ <%~ includeFile(T, { selection: { ink:'secondary', name:'position', type:'radio', value:'auto', checked:true, text:'Start (Default)' }}) %>
61
+ <%~ includeFile(T, { selection: { ink:'secondary', name:'position', type:'radio', value:'center', text:'Center' }}) %>
62
+ <%~ includeFile(T, { selection: { ink:'secondary', name:'position', type:'radio', value:'end', text:'End' }}) %>
63
+ </div>
64
+ <div class="mdw-type" mdw-style="subtitle">Options</div>
65
+ <div class="docs-option-list">
66
+ <%~ includeFile(T, { selection: { ink:'secondary', name:'stacked', text:'Stacked' }}) %>
67
+ </div>
68
+ </div>
69
+ <div class="mdw-grid__item" mdw-colspan="100%" style="max-height:0"></div>
70
+ <div class="mdw-grid__item" mdw-colspan="6">
71
+ <div class="display-flex" flex-column>
72
+ <h6 class="mdw-type">HTML Code</h6>
73
+ <div class="mdw-card mdw-theme component-code component-html" mdw-surface="card" mdw-border-ink></div>
74
+ </div>
75
+ </div>
76
+ <div class="mdw-grid__item" mdw-colspan="6">
77
+ <div class="display-flex" flex-column>
78
+ <h6 class="mdw-type">Javascript Code</h6>
79
+ <div class="mdw-card mdw-theme component-code component-js" mdw-surface="card" mdw-border-ink></div>
80
+ </div>
81
+ </div>
82
+ </div>
83
+ <script src="snackbar.min.js"></script>
@@ -0,0 +1,158 @@
1
+ import * as Snackbar from '../../components/snackbar/index.js';
2
+ import { iterateArrayLike } from '../../core/dom.js';
3
+ import { convertElementToCode } from '../_sample-utils.js';
4
+
5
+ /** @type {HTMLElement} */
6
+ let sampleComponent;
7
+
8
+ /** @return {void} */
9
+ function updateSampleCode() {
10
+ const jsRequired = document.querySelector('input[name="javascript"][value="required"]').checked;
11
+ const jsOptional = document.querySelector('input[name="javascript"][value="optional"]').checked;
12
+ const useJS = jsRequired || jsOptional;
13
+
14
+ const snackbar = sampleComponent.getElementsByClassName('mdw-snackbar')[0];
15
+
16
+ // Strip JS related elements and attributes
17
+ Snackbar.detach(snackbar);
18
+
19
+ const htmlCodeElement = document.getElementsByClassName('component-html')[0];
20
+ htmlCodeElement.textContent = convertElementToCode(sampleComponent);
21
+
22
+ // Reattach JS if requested
23
+ if (useJS) {
24
+ Snackbar.attach(snackbar);
25
+ }
26
+
27
+ const jsCodeElement = document.getElementsByClassName('component-js')[0];
28
+ jsCodeElement.textContent = [
29
+ 'Snackbar.create({',
30
+ " text: 'Required text.',",
31
+ " buttonText: 'Optional button text',",
32
+ " buttonInk: 'secondary',",
33
+ ' stacked: false,',
34
+ ' autoHide: 4,',
35
+ ' autoDestroy: true,',
36
+ " parent: document.getElementsByClassName('.mdw-snackbar__container')[0],",
37
+ ' show: true,',
38
+ ' skipQueue: false',
39
+ '})',
40
+ ].join('\n');
41
+ }
42
+
43
+ /**
44
+ * @param {Event} event
45
+ * @return {void}
46
+ */
47
+ function onOptionChange(event) {
48
+ const { name, value, checked } = event.target;
49
+ const snackbar = sampleComponent.getElementsByClassName('mdw-snackbar')[0];
50
+ const span = sampleComponent.getElementsByTagName('span')[0];
51
+ let buttonElement = sampleComponent.getElementsByClassName('mdw-button')[0];
52
+ switch (name) {
53
+ case 'stacked':
54
+ if (checked) {
55
+ snackbar.setAttribute('mdw-stacked', '');
56
+ } else {
57
+ snackbar.removeAttribute('mdw-stacked');
58
+ }
59
+ break;
60
+ case 'text':
61
+ switch (value) {
62
+ case 'short':
63
+ span.textContent = 'Short message snackbar.';
64
+ break;
65
+ case 'long':
66
+ span.textContent = 'Long message snackbar that wraps text on smaller screens.';
67
+ break;
68
+ case 'line-break':
69
+ span.textContent = 'Two-line message\n with explicit line break.';
70
+ break;
71
+ default:
72
+ }
73
+ break;
74
+ case 'visibility':
75
+ switch (value) {
76
+ default:
77
+ case 'show':
78
+ snackbar.setAttribute('aria-hidden', 'false');
79
+ break;
80
+ case 'hide':
81
+ snackbar.setAttribute('aria-hidden', 'true');
82
+ break;
83
+ }
84
+ break;
85
+ case 'autohide':
86
+ switch (value) {
87
+ case 'none':
88
+ snackbar.removeAttribute('mdw-autohide');
89
+ break;
90
+ case '4':
91
+ snackbar.setAttribute('mdw-autohide', '');
92
+ break;
93
+ default:
94
+ snackbar.setAttribute('mdw-autohide', value);
95
+ break;
96
+ }
97
+ break;
98
+ case 'position':
99
+ switch (value) {
100
+ default:
101
+ case 'start':
102
+ sampleComponent.removeAttribute('mdw-position');
103
+ break;
104
+ case 'center':
105
+ sampleComponent.setAttribute('mdw-position', 'center');
106
+ break;
107
+ case 'end':
108
+ sampleComponent.setAttribute('mdw-position', 'end');
109
+ break;
110
+ }
111
+ break;
112
+ case 'button':
113
+ if (value === 'none') {
114
+ if (buttonElement) {
115
+ buttonElement.parentElement.removeChild(buttonElement);
116
+ }
117
+ break;
118
+ }
119
+ if (!buttonElement) {
120
+ buttonElement = document.createElement('a');
121
+ buttonElement.classList.add('mdw-button');
122
+ buttonElement.classList.add('mdw-theme');
123
+ buttonElement.setAttribute('mdw-ink', 'secondary');
124
+ snackbar.appendChild(buttonElement);
125
+ }
126
+ switch (value) {
127
+ case 'short':
128
+ buttonElement.textContent = 'Action';
129
+ break;
130
+ case 'long':
131
+ buttonElement.textContent = 'Longer Action Text';
132
+ break;
133
+ default:
134
+ }
135
+ break;
136
+ default:
137
+ }
138
+ updateSampleCode();
139
+ }
140
+
141
+ /** @return {void} */
142
+ function setupComponentOptions() {
143
+ sampleComponent = document.querySelector('.mdw-snackbar__container');
144
+ /** @type {HTMLElement} */
145
+ const jsSnackbarContainer = (document.querySelector('.mdw-snackbar__container.js-sample'));
146
+ document.querySelector('.component-sample .mdw-button').addEventListener('click', () => {
147
+ Snackbar.create({
148
+ text: `Snackbar created at: ${new Date().toLocaleTimeString()}`,
149
+ parent: jsSnackbarContainer,
150
+ });
151
+ });
152
+ iterateArrayLike(document.querySelectorAll('input[name]'), (el) => {
153
+ el.addEventListener('change', onOptionChange);
154
+ });
155
+ }
156
+
157
+ setupComponentOptions();
158
+ updateSampleCode();
@@ -0,0 +1,60 @@
1
+ include ../_mixins.pug
2
+
3
+ +header("snackbar")
4
+ .mdw-grid(mdw-margin-top mdw-margin-bottom)
5
+ .mdw-grid__item(mdw-colspan="100%")
6
+ h5.mdw-type(mdw-baseline-next="36") Snackbars provide brief messages about app processes at the bottom of the screen.
7
+ p.mdw-type Snackbars inform users of a process that an app has performed or will perform. They appear temporarily, towards the bottom of the screen. They shouldn’t interrupt the user experience, and they don’t require user input to disappear.
8
+ .mdw-grid__item(mdw-colspan="100%")
9
+ .mdw-grid__content.component-sample(style="padding:0")
10
+ .mdw-grid(style="width:100%;height:100%")
11
+ .mdw-grid__item(mdw-colspan="100%")
12
+ div
13
+ +mdwButton({ ink:'secondary' }) Create New
14
+ .mdw-grid__item(mdw-colspan="100%")
15
+ .mdw-snackbar__wrapper
16
+ .mdw-snackbar__container
17
+ .mdw-snackbar.mdw-theme(aria-hidden="false" mdw-surface="background 900" mdw-dark)
18
+ span Short message snackbar.
19
+ +mdwButton({ink:'secondary'}) Action
20
+ .mdw-grid__item(mdw-colspan="100%")
21
+ .mdw-snackbar__wrapper
22
+ .mdw-snackbar__container.js-sample
23
+ .mdw-grid__item(mdw-colspan="4")
24
+ .mdw-type(mdw-style="subtitle") Javascript
25
+ .docs-option-list
26
+ +mdwSelection({ink:'secondary', name:'javascript', type:'radio', value:'required', disabled:true}) Required
27
+ +mdwSelection({ink:'secondary', name:'javascript', type:'radio', value:'optional', checked:true}) Optional
28
+ +mdwSelection({ink:'secondary', name:'javascript', type:'radio', value:'none' }) None
29
+ .mdw-type(mdw-style="subtitle") Text
30
+ .docs-option-list
31
+ +mdwSelection({ink:'secondary', name:'text', type:'radio', value:'short', checked:true}) Short
32
+ +mdwSelection({ink:'secondary', name:'text', type:'radio', value:'long'}) Long
33
+ +mdwSelection({ink:'secondary', name:'text', type:'radio', value:'line-break' }) Explicit line-break
34
+ .mdw-type(mdw-style="subtitle") Button
35
+ .docs-option-list
36
+ +mdwSelection({ink:'secondary', name:'button', type:'radio', value:'none'}) None
37
+ +mdwSelection({ink:'secondary', name:'button', type:'radio', value:'short', checked:true}) Short
38
+ +mdwSelection({ink:'secondary', name:'button', type:'radio', value:'long' }) Long
39
+ .mdw-type(mdw-style="subtitle") Visibility
40
+ .docs-option-list
41
+ +mdwSelection({ink:'secondary', name:'visibility', type:'radio', value:'show', checked:true}) Shos
42
+ +mdwSelection({ink:'secondary', name:'visibility', type:'radio', value:'hide'}) Hide
43
+ .mdw-type(mdw-style="subtitle") Position
44
+ .docs-option-list
45
+ +mdwSelection({ink:'secondary', name:'position', type:'radio', value:'auto', checked:true}) Start (Default)
46
+ +mdwSelection({ink:'secondary', name:'position', type:'radio', value:'center'}) Center
47
+ +mdwSelection({ink:'secondary', name:'position', type:'radio', value:'end'}) End
48
+ .mdw-type(mdw-style="subtitle") Options
49
+ .docs-option-list
50
+ +mdwSelection({ink:'secondary', name:'stacked'}) Stacked
51
+ .mdw-grid__item(mdw-colspan="100%" style="max-height:0")
52
+ .mdw-grid__item(mdw-colspan="6")
53
+ .display-flex(flex-column)
54
+ h6.mdw-type HTML Code
55
+ .mdw-card.mdw-theme.component-code.component-html(mdw-surface="card" mdw-border-ink)
56
+ .mdw-grid__item(mdw-colspan="6")
57
+ .display-flex(flex-column)
58
+ h6.mdw-type Javascript Code
59
+ .mdw-card.mdw-theme.component-code.component-js(mdw-surface="card" mdw-border-ink)
60
+ script(src='snackbar.min.js')