@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,283 @@
1
+ include ../_mixins.pug
2
+
3
+ +header("datatable")
4
+ .mdw-grid(mdw-margin-top mdw-margin-bottom)
5
+ .mdw-grid__item(mdw-colspan="100%")
6
+ .mdw-card.mdw-theme(mdw-surface="card" mdw-border-ink)
7
+ .mdw-datatable.mdw-theme(mdw-ink="primary" style="overflow-x:auto")
8
+ table
9
+ caption Standard HTML Table (CSS Only)
10
+ thead
11
+ tr
12
+ th Dessert (100g serving)
13
+ th Calories
14
+ th Fat (g)
15
+ th Carbs (g)
16
+ th Protein (g)
17
+ th Sodium (mg)
18
+ th Calcium (%)
19
+ th Iron (%)
20
+ tbody
21
+ tr
22
+ td Frozen Yogurt
23
+ td 159
24
+ td 6.0
25
+ td 24
26
+ td 4.0
27
+ td 87
28
+ td 14%
29
+ td 1%
30
+ tr
31
+ td Ice cream sandwich
32
+ td 237
33
+ td 9.0
34
+ td 37
35
+ td 4.3
36
+ td 129
37
+ td 8%
38
+ td 1%
39
+ tr
40
+ td Eclair
41
+ td 262
42
+ td 16.0
43
+ td 24
44
+ td 6.0
45
+ td 337
46
+ td 6%
47
+ td 7%
48
+ tr
49
+ td Cupcake
50
+ td 305
51
+ td 3.7
52
+ td 67
53
+ td 4.3
54
+ td 413
55
+ td 3%
56
+ td 8%
57
+ tr
58
+ td Gingerbread
59
+ td 356
60
+ td 16.0
61
+ td 49
62
+ td 3.9
63
+ td 327
64
+ td 7%
65
+ td 16%
66
+ tr
67
+ td Jelly bean
68
+ td 375
69
+ td 0.0
70
+ td 94
71
+ td 0.0
72
+ td 50
73
+ td 0%
74
+ td 0%
75
+ tr
76
+ td Lollipop
77
+ td 392
78
+ td 0.2
79
+ td 98
80
+ td 0
81
+ td 38
82
+ td 0%
83
+ td 2%
84
+ tr
85
+ td Honeycomb
86
+ td 408
87
+ td 3.2
88
+ td 87
89
+ td 6.5
90
+ td 562
91
+ td 0%
92
+ td 45%
93
+ tr
94
+ td Donut
95
+ td 452
96
+ td 25.0
97
+ td 51
98
+ td 4.9
99
+ td 326
100
+ td 2%
101
+ td 22%
102
+ tr
103
+ td Kitkat
104
+ td 518
105
+ td 26.0
106
+ td 65
107
+ td 7
108
+ td 54
109
+ td 12%
110
+ td 6%
111
+ .mdw-grid__item(mdw-colspan="100%")
112
+ .mdw-card.mdw-theme(mdw-surface="card" mdw-border-ink)
113
+ .mdw-datatable.js.mdw-theme(mdw-ink="primary" mdw-cell-focusable)
114
+ .mdw-datatable__header
115
+ .mdw-datatable__header-text Customized HTML Table
116
+ .mdw-datatable__scroller
117
+ table
118
+ thead
119
+ tr
120
+ th(aria-sort="none" mdw-text mdw-primary-column)
121
+ span.mdw-datatable__sort-icon.material-icons arrow_downward
122
+ span Dessert (100g serving)
123
+ th(aria-sort="ascending" mdw-number)
124
+ span.mdw-datatable__sort-icon.material-icons arrow_downward
125
+ span.mdw-tooltip__wrapper
126
+ span.mdw-tooltip__target Calories
127
+ .mdw-tooltip.mdw-theme(mdw-surface="background 700" mdw-dark) The total amount of food energy in the given serving size.
128
+ th(aria-sort="none" mdw-number)
129
+ span.mdw-datatable__sort-icon.material-icons arrow_downward
130
+ span Fat (g)
131
+ th(aria-sort="none" mdw-number)
132
+ span.mdw-datatable__sort-icon.material-icons arrow_downward
133
+ span Carbs (g)
134
+ th(aria-sort="none" mdw-number)
135
+ span.mdw-datatable__sort-icon.material-icons arrow_downward
136
+ span Protein (g)
137
+ th(aria-sort="none" mdw-number)
138
+ span.mdw-datatable__sort-icon.material-icons arrow_downward
139
+ span Sodium (mg)
140
+ th(aria-sort="none" mdw-number)
141
+ span.mdw-datatable__sort-icon.material-icons arrow_downward
142
+ span Calcium (%)
143
+ th(aria-sort="none" mdw-number)
144
+ span.mdw-datatable__sort-icon.material-icons arrow_downward
145
+ span Iron (%)
146
+ tbody
147
+ tr
148
+ td(mdw-text mdw-primary-column) Frozen Yogurt
149
+ td(mdw-number) 159
150
+ td(mdw-number) 6.0
151
+ td(mdw-number) 24
152
+ td(mdw-number) 4.0
153
+ td(mdw-number) 87
154
+ td(mdw-number) 14%
155
+ td(mdw-number) 1%
156
+ tr
157
+ td(mdw-text mdw-primary-column) Ice cream sandwich
158
+ td(mdw-number) 237
159
+ td(mdw-number) 9.0
160
+ td(mdw-number) 37
161
+ td(mdw-number) 4.3
162
+ td(mdw-number) 129
163
+ td(mdw-number) 8%
164
+ td(mdw-number) 1%
165
+ tr
166
+ td(mdw-text mdw-primary-column) Eclair
167
+ td(mdw-number) 262
168
+ td(mdw-number) 16.0
169
+ td(mdw-number) 24
170
+ td(mdw-number) 6.0
171
+ td(mdw-number) 337
172
+ td(mdw-number) 6%
173
+ td(mdw-number) 7%
174
+ tr
175
+ td(mdw-text mdw-primary-column) Cupcake
176
+ td(mdw-number) 305
177
+ td(mdw-number) 3.7
178
+ td(mdw-number) 67
179
+ td(mdw-number) 4.3
180
+ td(mdw-number) 413
181
+ td(mdw-number) 3%
182
+ td(mdw-number) 8%
183
+ tr
184
+ td(mdw-text mdw-primary-column) Gingerbread
185
+ td(mdw-number) 356
186
+ td(mdw-number) 16.0
187
+ td(mdw-number) 49
188
+ td(mdw-number) 3.9
189
+ td(mdw-number) 327
190
+ td(mdw-number) 7%
191
+ td(mdw-number) 16%
192
+ tr
193
+ td(mdw-text mdw-primary-column) Jelly bean
194
+ td(mdw-number) 375
195
+ td(mdw-number) 0.0
196
+ td(mdw-number) 94
197
+ td(mdw-number) 0.0
198
+ td(mdw-number) 50
199
+ td(mdw-number) 0%
200
+ td(mdw-number) 0%
201
+ tr
202
+ td(mdw-text mdw-primary-column) Lollipop
203
+ td(mdw-number) 392
204
+ td(mdw-number) 0.2
205
+ td(mdw-number) 98
206
+ td(mdw-number) 0
207
+ td(mdw-number) 38
208
+ td(mdw-number) 0%
209
+ td(mdw-number) 2%
210
+ tr
211
+ td(mdw-text mdw-primary-column) Honeycomb
212
+ td(mdw-number) 408
213
+ td(mdw-number) 3.2
214
+ td(mdw-number) 87
215
+ td(mdw-number) 6.5
216
+ td(mdw-number) 562
217
+ td(mdw-number) 0%
218
+ td(mdw-number) 45%
219
+ tr
220
+ td(mdw-text mdw-primary-column) Donut
221
+ td(mdw-number) 452
222
+ td(mdw-number) 25.0
223
+ td(mdw-number) 51
224
+ td(mdw-number) 4.9
225
+ td(mdw-number) 326
226
+ td(mdw-number) 2%
227
+ td(mdw-number) 22%
228
+ tr
229
+ td(mdw-text mdw-primary-column) Kitkat
230
+ td(mdw-number) 518
231
+ td(mdw-number) 26.0
232
+ td(mdw-number) 65
233
+ td(mdw-number) 7
234
+ td(mdw-number) 54
235
+ td(mdw-number) 12%
236
+ td(mdw-number) 6%
237
+ .mdw-datatable__footer
238
+ .mdw-datatable__footer-options
239
+ span Rows per page
240
+ label.mdw-textfield(mdw-solo)
241
+ select.mdw-textfield__input
242
+ option.mdw-theme(mdw-surface="card" value="10") 10
243
+ option.mdw-theme(mdw-surface="card" value="25") 25
244
+ option.mdw-theme(mdw-surface="card" value="50") 50
245
+ option.mdw-theme(mdw-surface="card" value="100") 100
246
+ .mdw-textfield__icon(mdw-dropdown)
247
+ .mdw-datatable__footer-details 1-10 of 10
248
+ .mdw-datatable__footer-controls
249
+ +mdwButton({ icon:true, disabled:true }).material-icons chevron_left
250
+ +mdwButton({ icon: true, disabled:true }).material-icons chevron_right
251
+ .mdw-grid__item(mdw-colspan="100%")
252
+ .mdw-card.mdw-theme(mdw-surface="card" mdw-border-ink)
253
+ .mdw-datatable.js#dynamic-table.mdw-theme(mdw-ink="primary" mdw-row-focusable style="max-height:80vh")
254
+ .mdw-datatable__header
255
+ .mdw-datatable__header-text Data Table Adapter
256
+ .mdw-datatable__header-controls
257
+ .mdw-menu__wrapper
258
+ +mdwButton({ icon:true, ink:'primary' }).material-icons(mdw-overlay-default="medium" aria-pressed="false") filter_list
259
+ .mdw-menu(mdw-position="end")
260
+ .mdw-menu__popup.mdw-theme(mdw-surface="card")
261
+ .mdw-menu__item(aria-checked="true" data-filter="none")
262
+ .mdw-menu__radio.mdw-theme.material-icons(mdw-ink="medium") check
263
+ .mdw-menu__text No filter
264
+ .mdw-menu__item(data-filter="md")
265
+ .mdw-menu__radio.mdw-theme.material-icons(mdw-ink="medium") check
266
+ .mdw-menu__text Contains 'md'
267
+ .mdw-menu__item(data-filter="div9")
268
+ .mdw-menu__radio.mdw-theme.material-icons(mdw-ink="medium") check
269
+ .mdw-menu__text Random divisible by 9
270
+ .mdw-menu__item(data-filter="bool")
271
+ .mdw-menu__radio.mdw-theme.material-icons(mdw-ink="medium") check
272
+ .mdw-menu__text bool is checked
273
+ .mdw-menu__wrapper
274
+ +mdwButton({ icon:true, ink:'medium' }).material-icons more_vert
275
+ .mdw-menu(mdw-position="end")
276
+ .mdw-menu__popup.mdw-theme(mdw-surface="card")
277
+ .mdw-menu__item(aria-checked="true" data-option="throttle")
278
+ .mdw-menu__check.mdw-theme.material-icons(mdw-ink="medium") check
279
+ .mdw-menu__text Throttle
280
+ .mdw-menu__item(aria-checked="true" data-option="paginate")
281
+ .mdw-menu__check.mdw-theme.material-icons(mdw-ink="medium") check
282
+ .mdw-menu__text Paginate
283
+ script(src='datatable.min.js')
@@ -0,0 +1,186 @@
1
+ <% var T = '../../templates/index.eta' %>
2
+ <% layout('../_partials/_header.eta', {page: 'dialog'}) %>
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">Dialogs inform users about a specific task and may contain critical information, require decisions, or involve multiple tasks.</h5>
6
+ <p class="mdw-type">Dialogs contain text and UI controls. They retain focus until dismissed or a required action has been taken. Use dialogs sparingly because they are interruptive.</p>
7
+ </div>
8
+ <div class="mdw-grid__item" mdw-colspan="4">
9
+ <div class="mdw-grid__content">
10
+ <div class="component-sample">
11
+ <div class="component-sample__container">
12
+ <%~ includeFile(T, {button: { href: "#sample-dialog", text:'Open' }}) %>
13
+ <div class="mdw-dialog" id="sample-dialog">
14
+ <a class="mdw-dialog__close" href="#"></a>
15
+ <div class="mdw-dialog__popup mdw-theme" mdw-surface="card">
16
+ <div class="mdw-dialog__title">Sample title</div>
17
+ <div class="mdw-dialog__body mdw-theme" mdw-ink="medium">Sample body text</div>
18
+ <div class="mdw-dialog__button-area">
19
+ <%~ includeFile(T, { button: { href:'#', ink:'secondary', text:'Agree' }}) %>
20
+ <%~ includeFile(T, { button: { href:'#', ink:'secondary', text:'Disagree' }}) %>
21
+ </div>
22
+ </div>
23
+ </div>
24
+ </div>
25
+ </div>
26
+ </div>
27
+ </div>
28
+ <div class="mdw-grid__item" mdw-colspan="8">
29
+ <div class="mdw-type" mdw-style="subtitle">Javascript</div>
30
+ <div class="docs-option-list">
31
+ <%~ includeFile(T, { selection: { ink:'secondary', name:'javascript', type:'radio', value:'required', text:'Required' }}) %>
32
+ <%~ includeFile(T, { selection: { ink:'secondary', name:'javascript', type:'radio', value:'optional', checked:true, text:'Optional' }}) %>
33
+ <%~ includeFile(T, { selection: { ink:'secondary', name:'javascript', type:'radio', value:'none', text:'None' }}) %>
34
+ </div>
35
+ <div class="mdw-type" mdw-style="subtitle">Options</div>
36
+ <div class="docs-option-list">
37
+ <%~ includeFile(T, { selection: { ink:'secondary', name:'stacked-buttons', text:'Stacked Buttons' }}) %>
38
+ </div>
39
+ <div class="mdw-type" mdw-style="subtitle">Width Units</div>
40
+ <div class="docs-option-list">
41
+ <%~ includeFile(T, { selection: { ink:'secondary', name:'width', type:'radio', value:'auto', checked:true, text:'Auto' }}) %>
42
+ <%~ includeFile(T, { selection: { ink:'secondary', name:'width', type:'radio', value:'3', text:'3' }}) %>
43
+ <%~ includeFile(T, { selection: { ink:'secondary', name:'width', type:'radio', value:'4', text:'4' }}) %>
44
+ <%~ includeFile(T, { selection: { ink:'secondary', name:'width', type:'radio', value:'5', text:'5' }}) %>
45
+ <%~ includeFile(T, { selection: { ink:'secondary', name:'width', type:'radio', value:'6', text:'6' }}) %>
46
+ <%~ includeFile(T, { selection: { ink:'secondary', name:'width', type:'radio', value:'7', text:'7' }}) %>
47
+ </div>
48
+ </div>
49
+ <div class="mdw-grid__item" mdw-colspan="100%" style="max-height:0;"></div>
50
+ <div class="mdw-grid__item" mdw-colspan="100%">
51
+ <h6 class="mdw-type">HTML Code</h6>
52
+ <div class="mdw-card mdw-theme component-code component-html" mdw-surface="card" mdw-border-ink></div>
53
+ </div>
54
+ <div class="mdw-grid__item" mdw-colspan="100%">
55
+ <h6 class="mdw-type">Javascript Code</h6>
56
+ <div class="mdw-card mdw-theme component-code component-js" mdw-surface="card" mdw-border-ink></div>
57
+ </div>
58
+ <div class="mdw-grid__item" mdw-colspan="100%">
59
+ <h6 class="mdw-type">Samples</h6>
60
+ </div>
61
+ <div class="mdw-grid__item display-flex" mdw-colspan="4" flex-justify-content="center">
62
+ <div class="render">
63
+ <div class="display-flex flex-1" flex-column style="position:relative;">
64
+ <%~ includeFile('../_partials/_androidstatusbar.eta', { surface: 'primary 700', dark: true }) %>
65
+ <div class="mdw-appbar mdw-theme" mdw-surface="primary 500" mdw-dark>
66
+ <div class="mdw-appbar__action">
67
+ <div class="mdw-appbar__start">
68
+ <div class="mdw-tooltip__wrapper">
69
+ <%~ includeFile(T, {button: { icon:true, class:"mdw-tooltip__target material-icons", text:'menu' }}) %>
70
+ <div class="mdw-tooltip mdw-theme" mdw-surface="background 700" mdw-dark>Menu</div>
71
+ </div>
72
+ </div>
73
+ <div class="mdw-appbar__end">
74
+ <div class="mdw-tooltip__wrapper">
75
+ <%~ includeFile(T, {button: { icon:true, class:"mdw-tooltip__target material-icons", text:'more_vert' }}) %>
76
+ <div class="mdw-tooltip mdw-theme" mdw-surface="background 700" mdw-dark>Options</div>
77
+ </div>
78
+ </div>
79
+ </div>
80
+ </div>
81
+ <div class="content" style="padding:16px 8px;">
82
+ <h6 class="mdw-type">Javascript</h6>
83
+ <div class="display-flex js" style="padding:16px 0;">
84
+ <%~ includeFile(T, { button: { surface:'primary 500', dark:true, raised:true, text:'Chained' }}) %>
85
+ <%~ includeFile(T, { button: { surface:'primary 500', dark:true, raised:true, text:'Input Autofocus' }}) %>
86
+ </div>
87
+ <h6 class="mdw-type">CSS-Only</h6>
88
+ <div class="display-flex js" style="padding:16px 0;">
89
+ <%~ includeFile(T, { button: { surface:'primary 500', dark:true, raised:true, attributes: {href:"#confirmdialog-titled"}, id:'titled-button', text: 'Titled' }}) %>
90
+ <%~ includeFile(T, { button: { surface:'primary 500', dark:true, raised:true, attributes: {href:"#confirmdialog-text"}, id:'text-button', text: 'Text' }}) %>
91
+ <%~ includeFile(T, { button: { surface:'primary 500', dark:true, raised:true, attributes: {href:"#dialog-scrolling"}, id:'scrolling-button', text: 'Scrolling' }}) %>
92
+ </div>
93
+ </div>
94
+ <div class="mdw-dialog" id="confirmdialog-titled">
95
+ <a class="mdw-dialog__close" href="#titled-button"></a>
96
+ <div class="mdw-dialog__popup mdw-theme" mdw-surface="card">
97
+ <div class="mdw-dialog__title">Use Google's location service?</div>
98
+ <div class="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.</div>
99
+ <div class="mdw-dialog__button-area">
100
+ <%~ includeFile(T, { button: { ink:'secondary', attributes: {href:"#titled-button"}, text:'Agree' }}) %>
101
+ <%~ includeFile(T, { button: { ink:'secondary', attributes: {href:"#titled-button"}, text:'Disagree' }}) %>
102
+ </div>
103
+ </div>
104
+ </div>
105
+ <div class="mdw-dialog" id="dialog-scrolling">
106
+ <a class="mdw-dialog__close" href="#scrolling-button"></a>
107
+ <div class="mdw-dialog__popup mdw-theme" mdw-surface="card">
108
+ <div class="mdw-dialog__header">
109
+ <div class="mdw-dialog__title">Dialog header</div>
110
+ </div>
111
+ <div class="mdw-divider mdw-theme" mdw-border-ink="divider"></div>
112
+ <div class="mdw-dialog__scrolling">
113
+ <ul class="mdw-list">
114
+ <li class="mdw-list__item">
115
+ <a class="mdw-list__content mdw-overlay mdw-ripple mdw-theme" href="#scrolling-button" mdw-ink="default">Item 1</a>
116
+ </li>
117
+ <li class="mdw-list__item">
118
+ <a class="mdw-list__content mdw-overlay mdw-ripple mdw-theme" href="#scrolling-button" mdw-ink="default">Item 2</a>
119
+ </li>
120
+ <li class="mdw-list__item">
121
+ <a class="mdw-list__content mdw-overlay mdw-ripple mdw-theme" href="#scrolling-button" mdw-ink="default">Item 3</a>
122
+ </li>
123
+ <li class="mdw-list__item">
124
+ <a class="mdw-list__content mdw-overlay mdw-ripple mdw-theme" href="#scrolling-button" mdw-ink="default">Item 4</a>
125
+ </li>
126
+ <li class="mdw-list__item">
127
+ <a class="mdw-list__content mdw-overlay mdw-ripple mdw-theme" href="#scrolling-button" mdw-ink="default">Item 5</a>
128
+ </li>
129
+ <li class="mdw-list__item">
130
+ <a class="mdw-list__content mdw-overlay mdw-ripple mdw-theme" href="#scrolling-button" mdw-ink="default">Item 6</a>
131
+ </li>
132
+ <li class="mdw-list__item">
133
+ <a class="mdw-list__content mdw-overlay mdw-ripple mdw-theme" href="#scrolling-button" mdw-ink="default">Item 7</a>
134
+ </li>
135
+ <li class="mdw-list__item">
136
+ <a class="mdw-list__content mdw-overlay mdw-ripple mdw-theme" href="#scrolling-button" mdw-ink="default">Item 8</a>
137
+ </li>
138
+ <li class="mdw-list__item">
139
+ <a class="mdw-list__content mdw-overlay mdw-ripple mdw-theme" href="#scrolling-button" mdw-ink="default">Item 9</a>
140
+ </li>
141
+ </ul>
142
+ </div>
143
+ <div class="mdw-divider mdw-theme" mdw-border-ink="divider"></div>
144
+ <div class="mdw-dialog__button-area">
145
+ <%~ includeFile(T, { button: { ink:'secondary', attributes: { href:"#scrolling-button" }, text:'Agree' }}) %>
146
+ <%~ includeFile(T, { button: { ink:'secondary', attributes: { href:"#scrolling-button" }, text:'Disagree' }}) %>
147
+ </div>
148
+ </div>
149
+ </div>
150
+ <div class="mdw-dialog" id="confirmdialog-text">
151
+ <a class="mdw-dialog__close" href="#text-button"></a>
152
+ <div class="mdw-dialog__popup mdw-theme" mdw-surface="card">
153
+ <div class="mdw-dialog__body mdw-theme" mdw-ink="medium">Discard draft?</div>
154
+ <div class="mdw-dialog__button-area">
155
+ <%~ includeFile(T, { button: { ink:'secondary', attributes: { href:"#text-button" }, text:'Discard' }}) %>
156
+ <%~ includeFile(T, { button: { ink:'secondary', attributes: { href:"#text-button" }, text:'Cancel' }}) %>
157
+ </div>
158
+ </div>
159
+ </div>
160
+ <div class="mdw-dialog" id="dialog-textfield" mdw-width-units="5">
161
+ <form class="mdw-dialog__popup mdw-theme" mdw-surface="card">
162
+ <div class="mdw-dialog__header">
163
+ <div class="mdw-dialog__title">Dialog Title</div>
164
+ </div>
165
+ <label class="mdw-textfield mdw-theme" mdw-ink="secondary" style="padding:0 24px;">
166
+ <div class="mdw-textfield__signifier material-icons">security</div>
167
+ <input class="mdw-textfield__input" placeholder=" " name="input" mdw-autofocus/>
168
+ <div class="mdw-textfield__border">
169
+ <div class="mdw-textfield__outline-gap">
170
+ <div class="mdw-textfield__label">Text Field Label</div>
171
+ </div>
172
+ </div>
173
+ <div class="mdw-textfield__error-text">This field is required</div>
174
+ </label>
175
+ <div class="mdw-dialog__button-area">
176
+ <button class="mdw-button mdw-theme" mdw-ink="secondary" tabindex="0" type="submit">Change</button>
177
+ <button class="mdw-button mdw-theme" mdw-ink="secondary" tabindex="0" type="button">Cancel</button>
178
+ </div>
179
+ </form>
180
+ </div>
181
+ </div>
182
+ <%~ includeFile('../_partials/_androidnavbar.eta') %>
183
+ </div>
184
+ </div>
185
+ </div>
186
+ <script src="dialog.min.js"></script>
@@ -0,0 +1,177 @@
1
+ import * as Button from '../../components/button/index.js';
2
+ import * as Dialog from '../../components/dialog/index.js';
3
+ import { iterateArrayLike } from '../../core/dom.js';
4
+ import { convertElementToCode } from '../_sample-utils.js';
5
+
6
+ /** @type {HTMLElement} */
7
+ let sampleComponent;
8
+
9
+ /**
10
+ * @param {MouseEvent} event
11
+ * @return {void}
12
+ */
13
+ function onSampleButtonClick(event) {
14
+ Dialog.show(sampleComponent, event);
15
+ }
16
+
17
+ /** @return {void} */
18
+ function updateSampleCode() {
19
+ const jsRequired = /** @type {HTMLInputElement} */ (document.querySelector('input[name="javascript"][value="required"]')).checked;
20
+ const jsOptional = /** @type {HTMLInputElement} */ (document.querySelector('input[name="javascript"][value="optional"]')).checked;
21
+ const useJS = jsRequired || jsOptional;
22
+
23
+ // Strip JS related elements and attributes
24
+ Dialog.detach(sampleComponent);
25
+ const button = document.querySelector('.component-sample .mdw-button');
26
+ let closer = document.querySelector('.component-sample .mdw-dialog__close');
27
+ const dialogButtons = sampleComponent.querySelectorAll('.mdw-dialog__button-area .mdw-button');
28
+ Button.detach(button);
29
+ button.removeEventListener('click', onSampleButtonClick);
30
+ const tabIndexElements = sampleComponent.querySelectorAll('[tabindex]');
31
+ iterateArrayLike(tabIndexElements, (el) => el.removeAttribute('tabindex'));
32
+
33
+ if (closer) {
34
+ if (jsRequired || (closer instanceof HTMLAnchorElement === false)) {
35
+ closer.parentElement.removeChild(closer);
36
+ closer = null;
37
+ }
38
+ }
39
+
40
+ if (useJS) {
41
+ dialogButtons[0].setAttribute('mdw-autofocus', '');
42
+ } else {
43
+ dialogButtons[0].removeAttribute('mdw-autofocus');
44
+ }
45
+
46
+ if (jsRequired) {
47
+ sampleComponent.removeAttribute('id');
48
+ button.removeAttribute('href');
49
+ dialogButtons[0].removeAttribute('href');
50
+ dialogButtons[1].removeAttribute('href');
51
+ } else {
52
+ sampleComponent.id = 'sample-dialog';
53
+ button.setAttribute('href', '#sample-dialog');
54
+ dialogButtons[0].setAttribute('href', '#');
55
+ dialogButtons[1].setAttribute('href', '#');
56
+ if (!closer) {
57
+ closer = document.createElement('a');
58
+ closer.classList.add('mdw-dialog__close');
59
+ closer.setAttribute('href', '#');
60
+ sampleComponent.insertBefore(closer, sampleComponent.firstElementChild);
61
+ }
62
+ }
63
+
64
+ const htmlCodeElement = document.getElementsByClassName('component-html')[0];
65
+ const sampleContainer = document.querySelector('.component-sample__container');
66
+ const htmlCodeBlocks = [];
67
+ let el = sampleContainer.firstElementChild;
68
+ while (el) {
69
+ const htmlCode = convertElementToCode(el).trim();
70
+ if (htmlCode) {
71
+ htmlCodeBlocks.push(htmlCode);
72
+ }
73
+ el = el.nextElementSibling;
74
+ }
75
+ htmlCodeElement.textContent = htmlCodeBlocks.join('\n');
76
+
77
+ // Reattach JS if requested
78
+ if (useJS) {
79
+ Dialog.attach(sampleComponent);
80
+ Button.attach(button);
81
+ button.addEventListener('click', onSampleButtonClick);
82
+ }
83
+
84
+ const jsCodeElement = document.getElementsByClassName('component-js')[0];
85
+ jsCodeElement.textContent = [
86
+ "buttonElement.addEventListener('click', (event) => {",
87
+ ' mdw.Dialog.show(dialogElement, event);',
88
+ '});',
89
+ ].join('\n');
90
+ }
91
+
92
+ /**
93
+ * @param {Event} event
94
+ * @return {void}
95
+ */
96
+ function onOptionChange(event) {
97
+ const { name, value, checked } = /** @type {HTMLInputElement} */ (event.target);
98
+ const buttonArea = sampleComponent.getElementsByClassName('mdw-dialog__button-area')[0];
99
+ switch (name) {
100
+ case 'stacked-buttons':
101
+ if (checked) {
102
+ buttonArea.setAttribute('mdw-stacked', '');
103
+ } else {
104
+ buttonArea.removeAttribute('mdw-stacked');
105
+ }
106
+ break;
107
+ case 'width':
108
+ switch (value) {
109
+ case 'auto':
110
+ sampleComponent.removeAttribute('mdw-width-units');
111
+ break;
112
+ default:
113
+ sampleComponent.setAttribute('mdw-width-units', value);
114
+ break;
115
+ }
116
+ break;
117
+ default:
118
+ }
119
+ updateSampleCode();
120
+ }
121
+
122
+ /** @return {void} */
123
+ function setupComponentOptions() {
124
+ sampleComponent = document.querySelector('.component-sample .mdw-dialog');
125
+ iterateArrayLike(document.querySelectorAll('input[name]'), (el) => {
126
+ el.addEventListener('change', onOptionChange);
127
+ });
128
+ }
129
+
130
+ /** @return {void} */
131
+ function setupJSSample1() {
132
+ const button = document.querySelector('.js .mdw-button');
133
+ Button.attach(button);
134
+ const confirmDialogElement = Dialog.create({
135
+ title: 'Feedback',
136
+ body: 'Are you enjoying this demo?',
137
+ buttons: ["It's great!", 'Meh.'],
138
+ parent: document.querySelector('.render div'),
139
+ });
140
+ const alertDialogElement = Dialog.create({
141
+ body: 'placeholder',
142
+ buttons: ['K'],
143
+ parent: document.querySelector('.render div'),
144
+ });
145
+ confirmDialogElement.addEventListener(Dialog.CONFIRM_EVENT, () => {
146
+ Dialog.updateBody(alertDialogElement, 'Thanks!');
147
+ Dialog.updateButtonText(alertDialogElement, ['K']);
148
+ Dialog.show(alertDialogElement);
149
+ });
150
+ confirmDialogElement.addEventListener(Dialog.CANCEL_EVENT, () => {
151
+ Dialog.updateBody(alertDialogElement, 'Oh...');
152
+ Dialog.updateButtonText(alertDialogElement, ['Sorry!']);
153
+ Dialog.show(alertDialogElement);
154
+ });
155
+ button.addEventListener('click', (event) => {
156
+ Dialog.show(confirmDialogElement, event);
157
+ });
158
+ }
159
+
160
+ /** @return {void} */
161
+ function setupJSSample2() {
162
+ const button = document.querySelectorAll('.js .mdw-button')[1];
163
+ Button.attach(button);
164
+ button.addEventListener('click', (event) => {
165
+ Dialog.show(document.getElementById('dialog-textfield'), event);
166
+ });
167
+ }
168
+
169
+ /** @return {void} */
170
+ function initializeSampleComponents() {
171
+ setupJSSample1();
172
+ setupJSSample2();
173
+ }
174
+
175
+ initializeSampleComponents();
176
+ setupComponentOptions();
177
+ updateSampleCode();