@shortfuse/materialdesignweb 0.2.0 → 0.5.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 (416) hide show
  1. package/.browserslistrc +2 -1
  2. package/.eslintrc.json +188 -30
  3. package/.stylelintrc.json +643 -2
  4. package/.vscode/launch.json +20 -5
  5. package/.vscode/settings.json +3 -0
  6. package/CHANGELOG.md +36 -0
  7. package/README.md +82 -2
  8. package/adapters/datatable/column.js +176 -0
  9. package/adapters/datatable/index.js +253 -437
  10. package/adapters/dom/index.js +586 -0
  11. package/adapters/list/index.js +36 -113
  12. package/adapters/search/index.js +153 -180
  13. package/components/appbar/_spec.scss +165 -0
  14. package/components/appbar/_theme.scss +0 -0
  15. package/components/appbar/index.scss +2 -0
  16. package/components/banner/_spec.scss +83 -0
  17. package/components/banner/_theme.scss +0 -0
  18. package/components/banner/index.scss +2 -0
  19. package/components/bottomnav/README.md +4 -4
  20. package/components/bottomnav/_spec.scss +149 -0
  21. package/components/bottomnav/_theme.scss +0 -0
  22. package/components/bottomnav/index.js +100 -120
  23. package/components/bottomnav/index.scss +2 -0
  24. package/components/bottomnav/item.js +88 -0
  25. package/components/button/README.md +16 -22
  26. package/components/button/_spec.scss +162 -0
  27. package/components/button/_theme.scss +42 -0
  28. package/components/button/index.eta +32 -0
  29. package/components/button/index.js +37 -48
  30. package/components/button/index.pug +18 -0
  31. package/components/button/index.scss +2 -0
  32. package/components/card/_spec.scss +241 -0
  33. package/components/card/_theme.scss +0 -0
  34. package/components/card/index.scss +2 -0
  35. package/components/chip/_spec.scss +111 -0
  36. package/components/chip/_theme.scss +105 -0
  37. package/components/chip/index.js +23 -0
  38. package/components/chip/index.scss +2 -0
  39. package/components/chip/item.js +20 -0
  40. package/components/datatable/_spec.scss +225 -0
  41. package/components/datatable/_theme.scss +128 -0
  42. package/components/datatable/cell.js +44 -0
  43. package/components/datatable/columnheader.js +46 -0
  44. package/components/datatable/index.js +339 -443
  45. package/components/datatable/index.scss +2 -0
  46. package/components/datatable/row.js +48 -0
  47. package/components/datatable/rowheader.js +18 -0
  48. package/components/dialog/_spec.scss +203 -0
  49. package/components/dialog/_theme.scss +7 -0
  50. package/components/dialog/index.js +512 -437
  51. package/components/dialog/index.scss +2 -0
  52. package/components/divider/_spec.scss +11 -0
  53. package/components/divider/_theme.scss +0 -0
  54. package/components/divider/index.scss +2 -0
  55. package/components/elevation/_spec.scss +9 -0
  56. package/components/elevation/_theme.scss +0 -0
  57. package/components/elevation/index.scss +2 -0
  58. package/components/fab/{style.scss → _spec.scss} +104 -79
  59. package/components/fab/_theme.scss +0 -0
  60. package/components/fab/index.js +85 -79
  61. package/components/fab/index.scss +2 -0
  62. package/components/grid/_spec.scss +169 -0
  63. package/components/grid/_theme.scss +0 -0
  64. package/components/grid/index.scss +2 -0
  65. package/components/layout/_mixins.scss +11 -0
  66. package/components/layout/_spec.scss +916 -0
  67. package/components/layout/_theme.scss +19 -0
  68. package/components/layout/index.js +454 -0
  69. package/components/layout/index.scss +2 -0
  70. package/components/list/_spec.scss +363 -0
  71. package/components/list/_theme.scss +102 -0
  72. package/components/list/content.js +106 -0
  73. package/components/list/index.js +234 -79
  74. package/components/list/index.scss +2 -0
  75. package/components/list/item.js +167 -0
  76. package/components/list/secondary.js +45 -0
  77. package/components/menu/_spec.scss +329 -0
  78. package/components/menu/_theme.scss +0 -0
  79. package/components/menu/index.js +636 -651
  80. package/components/menu/index.scss +2 -0
  81. package/components/menu/item.js +231 -0
  82. package/components/progress/_spec.scss +156 -0
  83. package/components/progress/_theme.scss +0 -0
  84. package/components/progress/index.js +29 -13
  85. package/components/progress/index.scss +2 -0
  86. package/components/selection/_spec.scss +376 -0
  87. package/components/selection/_theme.scss +134 -0
  88. package/components/selection/index.eta +60 -0
  89. package/components/selection/index.js +70 -0
  90. package/components/selection/index.pug +30 -0
  91. package/components/selection/index.scss +2 -0
  92. package/components/selection/input.js +54 -0
  93. package/components/selection/radiogroup.js +40 -0
  94. package/components/slider/{style.scss → _spec.scss} +31 -34
  95. package/components/slider/_theme.scss +0 -0
  96. package/components/slider/index.scss +2 -0
  97. package/components/snackbar/_spec.scss +150 -0
  98. package/components/snackbar/_theme.scss +0 -0
  99. package/components/snackbar/index.js +293 -206
  100. package/components/snackbar/index.scss +2 -0
  101. package/components/tab/_spec.scss +220 -0
  102. package/components/tab/_theme.scss +0 -0
  103. package/components/tab/content.js +210 -0
  104. package/components/tab/index.js +229 -213
  105. package/components/tab/index.scss +2 -0
  106. package/components/tab/item.js +88 -0
  107. package/components/tab/list.js +196 -0
  108. package/components/tab/panel.js +54 -0
  109. package/components/textfield/README.md +4 -4
  110. package/components/textfield/_spec.scss +763 -0
  111. package/components/textfield/_theme.scss +264 -0
  112. package/components/textfield/index.eta +74 -0
  113. package/components/textfield/index.js +132 -138
  114. package/components/textfield/index.pug +30 -0
  115. package/components/textfield/index.scss +2 -0
  116. package/components/tooltip/_spec.scss +185 -0
  117. package/components/tooltip/_theme.scss +0 -0
  118. package/components/tooltip/index.scss +2 -0
  119. package/components/type/_spec.scss +227 -0
  120. package/components/type/_theme.scss +0 -0
  121. package/components/type/index.scss +2 -0
  122. package/core/_breakpoint.scss +189 -0
  123. package/core/_elevation.scss +78 -0
  124. package/core/_length.scss +8 -0
  125. package/core/_motion.scss +31 -0
  126. package/core/_platform.scss +12 -0
  127. package/core/_type.scss +128 -0
  128. package/core/aria/attributes.js +141 -0
  129. package/core/aria/button.js +49 -0
  130. package/core/aria/keyboard.js +92 -0
  131. package/core/aria/rovingtabindex.js +175 -0
  132. package/core/aria/tab.js +59 -0
  133. package/core/document/index.js +39 -0
  134. package/core/dom.js +180 -0
  135. package/core/overlay/_spec.scss +28 -0
  136. package/core/overlay/_theme.scss +147 -0
  137. package/core/overlay/index.js +95 -0
  138. package/core/overlay/index.scss +2 -0
  139. package/core/ripple/_spec.scss +196 -0
  140. package/core/ripple/_theme.scss +20 -0
  141. package/core/ripple/index.js +286 -0
  142. package/core/ripple/index.scss +2 -0
  143. package/core/theme/_aliases.scss +15 -0
  144. package/core/theme/_config.scss +8 -0
  145. package/core/theme/_functions.scss +22 -0
  146. package/{components/theming/palettes.scss → core/theme/_palettes.scss} +173 -151
  147. package/core/theme/_spec.scss +0 -0
  148. package/core/theme/_theme.scss +268 -0
  149. package/core/theme/index.js +50 -0
  150. package/core/theme/index.scss +4 -0
  151. package/core/throttler.js +42 -0
  152. package/core/transition/index.js +465 -0
  153. package/docs/_flex.scss +28 -0
  154. package/docs/_menuoptions.js +183 -0
  155. package/docs/_partials/_androidnavbar.eta +5 -0
  156. package/docs/_partials/_androidstatusbar.eta +13 -0
  157. package/docs/_partials/_appbar.eta +27 -0
  158. package/docs/_partials/_buttontest.eta +31 -0
  159. package/docs/_partials/_header.eta +146 -0
  160. package/docs/_partials/_navlistitem.eta +16 -0
  161. package/docs/_partials/_target.eta +1 -0
  162. package/docs/_sample-utils.js +88 -0
  163. package/docs/{src/storage.js → _storage.js} +0 -0
  164. package/docs/docs.scss +331 -0
  165. package/docs/framework.scss +26 -0
  166. package/docs/index.eta +12 -0
  167. package/docs/index.js +7 -0
  168. package/docs/pages/appbar.eta +108 -0
  169. package/docs/pages/appbar.js +0 -0
  170. package/docs/pages/bottomnav.eta +188 -0
  171. package/docs/pages/bottomnav.js +118 -0
  172. package/docs/pages/button.eta +124 -0
  173. package/docs/pages/button.js +224 -0
  174. package/docs/pages/card.eta +90 -0
  175. package/docs/pages/card.js +175 -0
  176. package/docs/pages/chip.eta +122 -0
  177. package/docs/pages/chip.js +80 -0
  178. package/docs/pages/color.eta +143 -0
  179. package/docs/pages/color.js +261 -0
  180. package/docs/pages/datatable.eta +323 -0
  181. package/docs/pages/datatable.js +160 -0
  182. package/docs/pages/dialog.eta +184 -0
  183. package/docs/{src/components → pages}/dialog.js +35 -48
  184. package/docs/pages/dom.eta +26 -0
  185. package/docs/pages/dom.js +140 -0
  186. package/docs/pages/elevation.eta +35 -0
  187. package/docs/pages/elevation.js +0 -0
  188. package/docs/pages/fab.eta +99 -0
  189. package/docs/{src/components → pages}/fab.js +6 -13
  190. package/docs/pages/grid.eta +135 -0
  191. package/docs/pages/grid.js +128 -0
  192. package/docs/pages/layout.eta +8 -0
  193. package/docs/pages/layout.js +0 -0
  194. package/docs/pages/list.eta +465 -0
  195. package/docs/pages/list.js +8 -0
  196. package/docs/pages/menu.eta +274 -0
  197. package/docs/{src/components → pages}/menu.js +26 -42
  198. package/docs/pages/overlay.eta +69 -0
  199. package/docs/pages/overlay.js +3 -0
  200. package/docs/pages/progress.eta +23 -0
  201. package/docs/{src/components → pages}/progress.js +2 -4
  202. package/docs/pages/ripple.eta +27 -0
  203. package/docs/pages/ripple.js +3 -0
  204. package/docs/pages/search.eta +242 -0
  205. package/docs/pages/search.js +226 -0
  206. package/docs/pages/selection.eta +107 -0
  207. package/docs/pages/selection.js +12 -0
  208. package/docs/pages/slider.eta +23 -0
  209. package/docs/pages/slider.js +0 -0
  210. package/docs/pages/snackbar.eta +83 -0
  211. package/docs/{src/components → pages}/snackbar.js +31 -36
  212. package/docs/pages/tab.eta +407 -0
  213. package/docs/pages/tab.js +152 -0
  214. package/docs/pages/textfield.eta +487 -0
  215. package/docs/{src/components → pages}/textfield.js +41 -45
  216. package/docs/pages/tooltip.eta +92 -0
  217. package/docs/pages/tooltip.js +0 -0
  218. package/docs/pages/transition.eta +117 -0
  219. package/docs/pages/transition.js +52 -0
  220. package/docs/pages/type.eta +31 -0
  221. package/docs/pages/type.js +0 -0
  222. package/docs/postrender.js +41 -0
  223. package/docs/prerender.js +16 -0
  224. package/docs/pwa/_dialogs.eta +143 -0
  225. package/docs/pwa/_menus.eta +16 -0
  226. package/docs/pwa/pwa-prerender.js +3 -0
  227. package/docs/pwa/pwa.eta +478 -0
  228. package/docs/pwa/pwa.js +298 -0
  229. package/docs/pwa/pwa.scss +31 -0
  230. package/docs/themes/theme-colored.scss +15 -0
  231. package/docs/themes/theme-default.scss +3 -0
  232. package/index.scss +27 -0
  233. package/jsconfig.json +8 -2
  234. package/package.json +54 -27
  235. package/scripts/deploy-docs.sh +9 -0
  236. package/templates/index.eta +2 -0
  237. package/templates/index.pug +3 -0
  238. package/tsconfig.json +16 -0
  239. package/utils/function.js +3 -0
  240. package/webpack.config.js +224 -68
  241. package/_index.scss +0 -4
  242. package/components/all-components.scss +0 -21
  243. package/components/bottomnav/style.scss +0 -190
  244. package/components/bottomnav/theming.scss +0 -76
  245. package/components/button/style.scss +0 -315
  246. package/components/button/theming.scss +0 -134
  247. package/components/card/style.scss +0 -175
  248. package/components/card/theming.scss +0 -43
  249. package/components/common/dom.js +0 -51
  250. package/components/common/functions.scss +0 -174
  251. package/components/common/mixins.scss +0 -122
  252. package/components/common/motion.scss +0 -36
  253. package/components/common/type.scss +0 -104
  254. package/components/common/variables.scss +0 -46
  255. package/components/datatable/style.scss +0 -257
  256. package/components/datatable/theming.scss +0 -119
  257. package/components/dialog/style.scss +0 -159
  258. package/components/dialog/theming.scss +0 -29
  259. package/components/divider/style.scss +0 -7
  260. package/components/divider/theming.scss +0 -20
  261. package/components/elevation/style.scss +0 -32
  262. package/components/layout/style.scss +0 -223
  263. package/components/list/style.scss +0 -358
  264. package/components/list/theming.scss +0 -83
  265. package/components/menu/style.scss +0 -280
  266. package/components/menu/theming.scss +0 -80
  267. package/components/navdrawer/index.js +0 -200
  268. package/components/navdrawer/style.scss +0 -595
  269. package/components/navdrawer/theming.scss +0 -62
  270. package/components/progress/style.scss +0 -136
  271. package/components/ripple/index.js +0 -63
  272. package/components/ripple/ripple.scss +0 -122
  273. package/components/selection/style.scss +0 -320
  274. package/components/selection/theming.scss +0 -98
  275. package/components/snackbar/style.scss +0 -212
  276. package/components/switch/style.scss +0 -3
  277. package/components/tab/style.scss +0 -275
  278. package/components/tab/theming.scss +0 -34
  279. package/components/template/theming.scss +0 -31
  280. package/components/textfield/style.scss +0 -795
  281. package/components/textfield/theming.scss +0 -256
  282. package/components/theming/globals.scss +0 -25
  283. package/components/theming/theming.scss +0 -559
  284. package/components/toolbar/style.scss +0 -190
  285. package/components/toolbar/theming.scss +0 -32
  286. package/components/tooltip/style.scss +0 -135
  287. package/components/type/style.scss +0 -167
  288. package/components/type/theming.scss +0 -25
  289. package/docs/bottomnav.html +0 -1
  290. package/docs/bottomnav.min.js +0 -2
  291. package/docs/bottomnav.min.js.map +0 -1
  292. package/docs/button.html +0 -1
  293. package/docs/button.min.js +0 -2
  294. package/docs/button.min.js.map +0 -1
  295. package/docs/card.html +0 -1
  296. package/docs/card.min.js +0 -2
  297. package/docs/card.min.js.map +0 -1
  298. package/docs/components.min.css +0 -1
  299. package/docs/components.min.js +0 -2
  300. package/docs/components.min.js.map +0 -1
  301. package/docs/datatable.html +0 -1
  302. package/docs/datatable.min.js +0 -2
  303. package/docs/datatable.min.js.map +0 -1
  304. package/docs/dialog.html +0 -1
  305. package/docs/dialog.min.js +0 -2
  306. package/docs/dialog.min.js.map +0 -1
  307. package/docs/docs.min.css +0 -1
  308. package/docs/docs.min.js +0 -2
  309. package/docs/docs.min.js.map +0 -1
  310. package/docs/elevation.html +0 -1
  311. package/docs/elevation.min.js +0 -2
  312. package/docs/elevation.min.js.map +0 -1
  313. package/docs/fab.html +0 -1
  314. package/docs/fab.min.js +0 -2
  315. package/docs/fab.min.js.map +0 -1
  316. package/docs/index.html +0 -1
  317. package/docs/index.min.js +0 -2
  318. package/docs/index.min.js.map +0 -1
  319. package/docs/layout.html +0 -1
  320. package/docs/layout.min.js +0 -2
  321. package/docs/layout.min.js.map +0 -1
  322. package/docs/list.html +0 -1
  323. package/docs/list.min.js +0 -2
  324. package/docs/list.min.js.map +0 -1
  325. package/docs/menu.html +0 -1
  326. package/docs/menu.min.js +0 -2
  327. package/docs/menu.min.js.map +0 -1
  328. package/docs/navdrawer.html +0 -1
  329. package/docs/navdrawer.min.js +0 -2
  330. package/docs/navdrawer.min.js.map +0 -1
  331. package/docs/prerender.min.js +0 -2
  332. package/docs/prerender.min.js.map +0 -1
  333. package/docs/progress.html +0 -1
  334. package/docs/progress.min.js +0 -2
  335. package/docs/progress.min.js.map +0 -1
  336. package/docs/search.html +0 -1
  337. package/docs/search.min.js +0 -2
  338. package/docs/search.min.js.map +0 -1
  339. package/docs/selection.html +0 -1
  340. package/docs/selection.min.js +0 -2
  341. package/docs/selection.min.js.map +0 -1
  342. package/docs/slider.html +0 -1
  343. package/docs/slider.min.js +0 -2
  344. package/docs/slider.min.js.map +0 -1
  345. package/docs/snackbar.html +0 -1
  346. package/docs/snackbar.min.js +0 -2
  347. package/docs/snackbar.min.js.map +0 -1
  348. package/docs/src/components/bottomnav.js +0 -16
  349. package/docs/src/components/bottomnav.pug +0 -112
  350. package/docs/src/components/button.js +0 -156
  351. package/docs/src/components/button.pug +0 -194
  352. package/docs/src/components/card.js +0 -136
  353. package/docs/src/components/card.pug +0 -133
  354. package/docs/src/components/datatable.js +0 -183
  355. package/docs/src/components/datatable.pug +0 -324
  356. package/docs/src/components/dialog.pug +0 -138
  357. package/docs/src/components/elevation.js +0 -3
  358. package/docs/src/components/elevation.pug +0 -17
  359. package/docs/src/components/fab.pug +0 -84
  360. package/docs/src/components/layout.js +0 -116
  361. package/docs/src/components/layout.pug +0 -104
  362. package/docs/src/components/list.js +0 -15
  363. package/docs/src/components/list.pug +0 -293
  364. package/docs/src/components/menu.pug +0 -292
  365. package/docs/src/components/navdrawer.js +0 -112
  366. package/docs/src/components/navdrawer.pug +0 -113
  367. package/docs/src/components/progress.pug +0 -17
  368. package/docs/src/components/search.js +0 -206
  369. package/docs/src/components/search.pug +0 -149
  370. package/docs/src/components/selection.js +0 -6
  371. package/docs/src/components/selection.pug +0 -116
  372. package/docs/src/components/slider.js +0 -3
  373. package/docs/src/components/slider.pug +0 -19
  374. package/docs/src/components/snackbar.pug +0 -145
  375. package/docs/src/components/tab.js +0 -137
  376. package/docs/src/components/tab.pug +0 -329
  377. package/docs/src/components/textfield.pug +0 -416
  378. package/docs/src/components/toolbar.js +0 -6
  379. package/docs/src/components/toolbar.pug +0 -86
  380. package/docs/src/components/tooltip.js +0 -6
  381. package/docs/src/components/tooltip.pug +0 -76
  382. package/docs/src/components/type.js +0 -6
  383. package/docs/src/components/type.pug +0 -34
  384. package/docs/src/components.scss +0 -1
  385. package/docs/src/docs.scss +0 -284
  386. package/docs/src/index.js +0 -3
  387. package/docs/src/index.pug +0 -6
  388. package/docs/src/menuoptions.js +0 -136
  389. package/docs/src/mixins.pug +0 -139
  390. package/docs/src/prerender.js +0 -26
  391. package/docs/src/sample-utils.js +0 -108
  392. package/docs/src/targetHandler.js +0 -50
  393. package/docs/src/theming.ie11.scss +0 -18
  394. package/docs/src/theming.scss +0 -18
  395. package/docs/tab.html +0 -1
  396. package/docs/tab.min.js +0 -2
  397. package/docs/tab.min.js.map +0 -1
  398. package/docs/textfield.html +0 -2
  399. package/docs/textfield.min.js +0 -2
  400. package/docs/textfield.min.js.map +0 -1
  401. package/docs/theming.ie11.min.css +0 -1
  402. package/docs/theming.ie11.min.js +0 -2
  403. package/docs/theming.ie11.min.js.map +0 -1
  404. package/docs/theming.min.css +0 -1
  405. package/docs/theming.min.js +0 -2
  406. package/docs/theming.min.js.map +0 -1
  407. package/docs/toolbar.html +0 -1
  408. package/docs/toolbar.min.js +0 -2
  409. package/docs/toolbar.min.js.map +0 -1
  410. package/docs/tooltip.html +0 -1
  411. package/docs/tooltip.min.js +0 -2
  412. package/docs/tooltip.min.js.map +0 -1
  413. package/docs/type.html +0 -1
  414. package/docs/type.min.js +0 -2
  415. package/docs/type.min.js.map +0 -1
  416. package/index.js +0 -16
@@ -1 +0,0 @@
1
- {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./docs/src/storage.js","webpack:///./components/common/dom.js","webpack:///./docs/src/menuoptions.js","webpack:///./docs/src/components/bottomnav.pug","webpack:///./components/ripple/index.js","webpack:///./docs/src/targetHandler.js","webpack:///./components/bottomnav/index.js","webpack:///./docs/src/components/bottomnav.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","default","object","property","prototype","hasOwnProperty","p","s","0","e","getStorageItem","window","localStorage","getItem","setStorageItem","setItem","removeStorageItem","removeItem","__webpack_exports__","getChildElementByClass","element","className","child","getElementsByClassName","parentElement","findElementParentByClassName","includeSelf","el","classList","contains","isRtl","document","documentElement","hasAttribute","getAttribute","toLowerCase","dispatchDomEvent","type","event","createEvent","initEvent","dispatchEvent","nextTick","requestAnimationFrame","cb","setTimeout","2","setRTLMode","setDarkMode","setFontSize","setupMenuOptions","_storage__WEBPACK_IMPORTED_MODULE_0__","darkAttribute","lightAttribute","button","setAttribute","removeAttribute","style","setProperty","removeProperty","buttons","getElementById","buttonRTLMode","buttonDarkMode","largeFontMode","addEventListener","getPropertyValue","3","length","configurable","writable","Ripple","ripple","createElement","add","firstChild","insertBefore","appendChild","rippleInner","onClick","currentTarget","pointerType","detail","concat","offsetX","offsetY","removeChild","removeEventListener","crosshairs","vOffset","hOffset","onTemplateImageClick","top","clientY","left","layerX","clientX","set","val","setupImageTargets","targets","BottomnavItem","bottomnavItemElement","attach","detach","Bottomnav","bottomnavElement","items","inputs","item","onItemClicked","onInputChanged","itemElement","inputElement","target","id","querySelector","checked","removeSelection","HTMLLabelElement","HTMLInputElement","Error","bottomnavs","querySelectorAll"],"mappings":"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","file":"bottomnav.min.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 23);\n","/**\n * @param {string} key\n * @return {string}\n */\nexport function getStorageItem(key) {\n if (!window.localStorage) {\n return null;\n }\n return localStorage.getItem(key);\n}\n\n/**\n * @param {string} key\n * @param {string} value\n * @return {void}\n */\nexport function setStorageItem(key, value) {\n if (!window.localStorage) {\n return;\n }\n localStorage.setItem(key, value);\n}\n\n/**\n * @param {string} key\n * @return {void}\n */\nexport function removeStorageItem(key) {\n if (!window.localStorage) {\n return;\n }\n localStorage.removeItem(key);\n}\n","/**\n * @param {Element} element\n * @param {string} className\n * @return {Element}\n */\nexport function getChildElementByClass(element, className) {\n const child = element.getElementsByClassName(className)[0];\n if (child && child.parentElement !== element) {\n return null;\n }\n return child;\n}\n\n/**\n * @param {Element} element\n * @param {string} className\n * @param {boolean=} [includeSelf=true]\n * @return {Element}\n */\nexport function findElementParentByClassName(element, className, includeSelf) {\n /** @type {Element} */\n let el;\n if (includeSelf === false) {\n el = element.parentElement;\n } else {\n el = element;\n }\n while (el != null && !el.classList.contains(className)) {\n el = el.parentElement;\n }\n return el;\n}\n\n/** @return {boolean} */\nexport function isRtl() {\n return document.documentElement.hasAttribute('dir')\n && document.documentElement.getAttribute('dir').toLowerCase() === 'rtl';\n}\n\n/**\n * @param {Element} element\n * @param {string} type\n * @return {boolean}\n */\nexport function dispatchDomEvent(element, type) {\n const event = document.createEvent('Event');\n event.initEvent(type, true, true);\n return element.dispatchEvent(event);\n}\n\nexport const nextTick = window.requestAnimationFrame || (cb => setTimeout(cb, 17));\n","import { setStorageItem, removeStorageItem, getStorageItem } from './storage';\n\nconst darkAttribute = 'black dark';\nconst lightAttribute = 'white light';\n\n/**\n * @param {boolean} value\n * @param {Element=} button\n * @return {void}\n */\nexport function setRTLMode(value, button) {\n if (value) {\n document.documentElement.setAttribute('dir', 'rtl');\n if (button) {\n button.removeAttribute('mdw-inactive');\n }\n // element.setAttribute('mdw-active', '');\n // Poor visibility even though spec says 70% opacity\n setStorageItem('rtlmode', 'true');\n } else {\n document.documentElement.removeAttribute('dir');\n if (button) {\n button.setAttribute('mdw-inactive', '');\n }\n // element.removeAttribute('mdw-active');\n removeStorageItem('rtlmode');\n }\n}\n\n/**\n * @param {boolean} value\n * @param {Element=} button\n * @return {void}\n */\nexport function setDarkMode(value, button) {\n if (value) {\n document.documentElement.setAttribute('mdw-theme-fill', darkAttribute);\n if (button) {\n button.removeAttribute('mdw-inactive');\n }\n // element.setAttribute('mdw-active', '');\n // Poor visibility even though spec says 70% opacity\n } else {\n document.documentElement.setAttribute('mdw-theme-fill', lightAttribute);\n if (button) {\n button.setAttribute('mdw-inactive', '');\n }\n // element.removeAttribute('mdw-active');\n }\n setStorageItem('darkmode', value ? 'true' : 'false');\n}\n\n/**\n * @param {string} value\n * @param {Element=} button\n * @return {void}\n */\nexport function setFontSize(value, button) {\n if (value) {\n document.documentElement.style.setProperty('font-size', value);\n if (button) {\n button.removeAttribute('mdw-inactive');\n }\n // element.setAttribute('mdw-active', '');\n // Poor visibility even though spec says 70% opacity\n setStorageItem('fontsize', value);\n } else {\n document.documentElement.style.removeProperty('font-size');\n if (button) {\n button.setAttribute('mdw-inactive', '');\n }\n // element.removeAttribute('mdw-active');\n removeStorageItem('fontsize');\n }\n}\n\n/**\n * @param {Element} element\n * @return {void}\n */\nfunction setupRTLMode(element) {\n if (getStorageItem('rtlmode') === 'true') {\n setRTLMode(true, element);\n }\n element.addEventListener('click', () => {\n if (document.documentElement.getAttribute('dir') === 'rtl') {\n setRTLMode(false, element);\n } else {\n setRTLMode(true, element);\n }\n });\n}\n\n/**\n * @param {Element} element\n * @return {void}\n */\nfunction setupDarkMode(element) {\n if (getStorageItem('darkmode') === 'true') {\n setDarkMode(true, element);\n }\n element.addEventListener('click', () => {\n if (document.documentElement.getAttribute('mdw-theme-fill') === darkAttribute) {\n setDarkMode(false, element);\n } else {\n setDarkMode(true, element);\n }\n });\n}\n\n/**\n * @param {Element} element\n * @return {void}\n */\nfunction setupLargeFontMode(element) {\n const fontsize = getStorageItem('fontsize');\n setFontSize(fontsize, element);\n element.addEventListener('click', () => {\n if (document.documentElement.style.getPropertyValue('font-size')) {\n setFontSize(null, element);\n } else {\n setFontSize('125%', element);\n }\n });\n}\n\n/** @return {void} */\nexport function setupMenuOptions() {\n const buttons = document.getElementById('docs-menu-buttons').getElementsByClassName('mdw-button');\n const buttonRTLMode = buttons[0];\n const buttonDarkMode = buttons[1];\n const largeFontMode = buttons[2];\n setupRTLMode(buttonRTLMode);\n setupDarkMode(buttonDarkMode);\n setupLargeFontMode(largeFontMode);\n}\n","module.exports = __webpack_public_path__ + \"bottomnav.html\";","import { getChildElementByClass } from '../common/dom';\n\nclass Ripple {\n /**\n * @param {Element} element\n * @return {void}\n */\n static attach(element) {\n let ripple = getChildElementByClass(element, 'mdw-ripple');\n if (!ripple) {\n ripple = document.createElement('div');\n ripple.classList.add('mdw-ripple');\n if (element.firstChild) {\n element.insertBefore(ripple, element.firstChild);\n } else {\n element.appendChild(ripple);\n }\n }\n\n let rippleInner = getChildElementByClass(ripple, 'mdw-ripple__inner');\n if (!rippleInner) {\n rippleInner = document.createElement('div');\n rippleInner.classList.add('mdw-ripple__inner');\n ripple.appendChild(rippleInner);\n }\n element.setAttribute('mdw-ripple', '');\n ripple.addEventListener('click', Ripple.onClick);\n }\n\n /**\n * @param {PointerEvent|MouseEvent} event\n * @return {void}\n */\n static onClick(event) {\n /** @type {HTMLElement} */\n const el = event.currentTarget;\n const rippleInner = getChildElementByClass(el, 'mdw-ripple__inner');\n if (!rippleInner) {\n return;\n }\n if (!event.pointerType && !event.detail) {\n // Ripple from center\n rippleInner.style.removeProperty('left');\n rippleInner.style.removeProperty('top');\n return;\n }\n rippleInner.style.setProperty('left', `${event.offsetX}px`);\n rippleInner.style.setProperty('top', `${event.offsetY}px`);\n }\n\n static detach(element) {\n const ripple = getChildElementByClass(element, 'mdw-ripple');\n if (ripple) {\n element.removeChild(ripple);\n }\n element.removeAttribute('mdw-ripple');\n element.removeEventListener('click', Ripple.onClick);\n }\n}\n\nexport {\n Ripple,\n};\n","const crosshairs = {\n};\nlet vOffset = 0;\nlet hOffset = 0;\n\nObject.defineProperty(crosshairs, 'vOffset', {\n enumerable: true,\n configurable: false,\n get() {\n return vOffset;\n },\n set(val) {\n vOffset = val;\n document.getElementById('verticalLineLeft').style.left = `${val}px`;\n document.getElementById('verticalLineRight').style.left = `${val}px`;\n },\n});\n\n\nObject.defineProperty(crosshairs, 'hOffset', {\n enumerable: true,\n configurable: false,\n get() {\n return hOffset;\n },\n set(val) {\n hOffset = val;\n document.getElementById('horizontalLine').style.top = `${val}px`;\n },\n});\n\n/**\n * @param {MouseEvent} event\n * @return {void}\n */\nfunction onTemplateImageClick(event) {\n document.getElementById('horizontalLine').style.top = `${event.clientY}px`;\n document.getElementById('verticalLineLeft').style.left = `${event.layerX}px`;\n document.getElementById('verticalLineRight').style.left = `${event.clientX}px`;\n}\n\n/** @return {void} */\nfunction setupImageTargets() {\n const targets = document.getElementsByClassName('target');\n for (let i = 0; i < targets.length; i += 1) {\n targets[i].addEventListener('click', onTemplateImageClick);\n }\n}\n\nexport default setupImageTargets;\n","import { Ripple } from '../ripple/index';\nimport { findElementParentByClassName } from '../common/dom';\n\nclass BottomnavItem {\n /**\n * @param {Element} bottomnavItemElement\n * @return {void}\n */\n static attach(bottomnavItemElement) {\n Ripple.attach(bottomnavItemElement);\n }\n\n /**\n * @param {Element} bottomnavItemElement\n * @return {void}\n */\n static detach(bottomnavItemElement) {\n Ripple.detach(bottomnavItemElement);\n }\n}\n\nclass Bottomnav {\n /**\n * @param {Element} bottomnavElement\n * @return {void}\n */\n static attach(bottomnavElement) {\n const items = bottomnavElement.getElementsByClassName('mdw-bottomnav__item');\n const inputs = bottomnavElement.getElementsByClassName('mdw-bottomnav__input');\n\n for (let i = 0; i < items.length; i += 1) {\n const item = items.item(i);\n BottomnavItem.attach(item);\n item.addEventListener('click', Bottomnav.onItemClicked);\n }\n for (let i = 0; i < inputs.length; i += 1) {\n const input = inputs.item(i);\n input.addEventListener('change', Bottomnav.onInputChanged);\n }\n }\n\n static detach(bottomnavElement) {\n const items = bottomnavElement.getElementsByClassName('mdw-bottomnav__item');\n const inputs = bottomnavElement.getElementsByClassName('mdw-bottomnav__input');\n for (let i = 0; i < items.length; i += 1) {\n const item = items.item(i);\n BottomnavItem.detach(item);\n item.removeEventListener('click', Bottomnav.onItemClicked);\n }\n for (let i = 0; i < inputs.length; i += 1) {\n const input = inputs.item(i);\n input.removeEventListener('change', Bottomnav.onInputChanged);\n }\n }\n\n /**\n * @param {Event} event\n * @return {void}\n */\n static onInputChanged(event) {\n /** @type {HTMLInputElement} */\n const inputElement = event.target;\n let itemElement;\n if (inputElement.parentElement.classList.contains('mdw-bottomnav__item')) {\n itemElement = inputElement.parentElement;\n }\n if (inputElement.id) {\n itemElement = document.querySelector(`label.mdw-bottomnav__item[for=\"${inputElement.id}\"]`);\n }\n if (itemElement.hasAttribute('mdw-selected') && inputElement.checked) {\n return;\n }\n if (!itemElement.hasAttribute('mdw-selected') && !inputElement.checked) {\n return;\n }\n const bottomnavElement = findElementParentByClassName(inputElement, 'mdw-bottomnav');\n if (bottomnavElement) {\n Bottomnav.removeSelection(bottomnavElement);\n }\n itemElement.setAttribute('mdw-selected', '');\n }\n\n /**\n * @param {Element} bottomnavElement\n * @return {boolean} changed\n */\n static removeSelection(bottomnavElement) {\n const items = bottomnavElement.getElementsByClassName('mdw-bottomnav__item');\n for (let i = 0; i < items.length; i += 1) {\n const item = items.item(i);\n if (item.hasAttribute('mdw-selected')) {\n item.removeAttribute('mdw-selected');\n return true;\n }\n }\n return false;\n }\n\n /**\n * @param {Event} event\n * @return {void}\n */\n static onItemClicked(event) {\n /** @type {Element} */\n const itemElement = findElementParentByClassName(event.target, 'mdw-bottomnav__item');\n if (itemElement.hasAttribute('mdw-selected')) {\n return;\n }\n if (itemElement.hasAttribute('disabled')) {\n return;\n }\n const bottomnavElement = findElementParentByClassName(itemElement, 'mdw-bottomnav');\n if (bottomnavElement) {\n Bottomnav.removeSelection(bottomnavElement);\n }\n itemElement.setAttribute('mdw-selected', '');\n let inputElement;\n if (itemElement instanceof HTMLLabelElement && itemElement.hasAttribute('for')) {\n const id = itemElement.getAttribute('for');\n if (id) {\n inputElement = document.getElementById(id);\n }\n } else {\n inputElement = itemElement.getElementsByClassName('mdw-bottomnav__input')[0];\n }\n if (inputElement instanceof HTMLInputElement) {\n inputElement.checked = true;\n } else if (inputElement) {\n throw new Error('Unexpected inputElement type');\n }\n }\n}\n\nexport {\n Bottomnav,\n BottomnavItem,\n};\n","import setupImageTargets from '../targetHandler';\nimport { Bottomnav } from '../../../components/bottomnav/index';\nimport { setupMenuOptions } from '../menuoptions';\n\n/** @return {void} */\nfunction initializeMdwComponents() {\n const bottomnavs = document.querySelectorAll('.js .mdw-bottomnav');\n for (let i = 0; i < bottomnavs.length; i += 1) {\n Bottomnav.attach(bottomnavs.item(i));\n }\n}\n\ninitializeMdwComponents();\nsetupMenuOptions();\nsetupImageTargets();\n\n"],"sourceRoot":""}
package/docs/button.html DELETED
@@ -1 +0,0 @@
1
- <!DOCTYPE html><html lang="en"><head><title>Material Design Web</title><meta charset="utf-8"><meta content="IE=edge" http-equiv="X-UA-Compatible"><meta content="" name="description"><meta content="width=device-width, initial-scale=1, viewport-fit=cover" name="viewport"><meta name="theme-color" content="#E91E63"><meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"><meta name="apple-mobile-web-app-capable" content="yes"><link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons"><link rel="stylesheet" href="//fonts.googleapis.com/css?family=Roboto:300,400,500,700"><link rel="stylesheet" href="docs.min.css"><link rel="stylesheet" href="components.min.css"><link rel="stylesheet" href="theming.min.css"><link rel="stylesheet" href="theming.ie11.min.css" media="screen and (-ms-high-contrast: active), (-ms-high-contrast: none)"><script src="prerender.min.js"></script></head><body class="mdw-type"><div class="mdw-navdrawer" id="docs-navdrawer"><a class="mdw-navdrawer__scrim" href="#"></a><div class="mdw-navdrawer__toolbar"><div class="mdw-toolbar" mdw-theme-fill="accent-500 dark" mdw-app-bar><div class="mdw-toolbar__action"><div class="mdw-toolbar__start"><div class="mdw-tooltip__wrapper"><a class="mdw-tooltip__target mdw-button material-icons" mdw-icon href="#docs-navdrawer">menu</a><div class="mdw-tooltip">Menu</div></div></div><div class="mdw-toolbar__title">button</div><div class="mdw-toolbar__end" id="docs-menu-buttons"><div class="mdw-tooltip__wrapper"><div class="mdw-tooltip__target mdw-button docs-rtl" mdw-inactive>RTL</div><div class="mdw-tooltip">Right-to-Left</div></div><div class="mdw-tooltip__wrapper"><div class="mdw-tooltip__target mdw-button material-icons" mdw-icon mdw-inactive>brightness_3</div><div class="mdw-tooltip">Dark Mode</div></div><div class="mdw-tooltip__wrapper"><div class="mdw-tooltip__target mdw-button material-icons" mdw-icon mdw-inactive>format_size</div><div class="mdw-tooltip">Large Font</div></div></div></div></div></div><div class="mdw-navdrawer__drawer"><div class="mdw-list"><a class="mdw-list__item" href="index.html" mdw-theme-color="primary"><div class="mdw-list__text">Home</div></a><div class="mdw-list__subheader">Components</div><a class="mdw-list__item" href="bottomnav.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">call_to_action</div><div class="mdw-list__text">Bottom Navigation</div></a><a class="mdw-list__item" mdw-selected href="button.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">crop_landscape</div><div class="mdw-list__text">Button</div></a><a class="mdw-list__item" href="card.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">crop_square</div><div class="mdw-list__text">Card</div></a><a class="mdw-list__item" href="dialog.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">select_all</div><div class="mdw-list__text">Dialog</div></a><a class="mdw-list__item" href="datatable.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">format_align_justify</div><div class="mdw-list__text">Data Table</div></a><a class="mdw-list__item" href="elevation.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">layers</div><div class="mdw-list__text">Elevation</div></a><a class="mdw-list__item" href="fab.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">add_circle</div><div class="mdw-list__text">Floating Action Button</div></a><a class="mdw-list__item" href="layout.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">view_compact</div><div class="mdw-list__text">Layout</div></a><a class="mdw-list__item" href="list.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">view_list</div><div class="mdw-list__text">List</div></a><a class="mdw-list__item" href="menu.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">picture_in_picture</div><div class="mdw-list__text">Menu</div></a><a class="mdw-list__item" href="navdrawer.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">menu</div><div class="mdw-list__text">Navigation Drawer</div></a><a class="mdw-list__item" href="progress.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">timelapse</div><div class="mdw-list__text">Progress</div></a><a class="mdw-list__item" href="search.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">search</div><div class="mdw-list__text">Search</div></a><a class="mdw-list__item" href="selection.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">toggle_on</div><div class="mdw-list__text">Selection</div></a><a class="mdw-list__item" href="slider.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">tune</div><div class="mdw-list__text">Slider</div></a><a class="mdw-list__item" href="snackbar.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">video_label</div><div class="mdw-list__text">Snackbar</div></a><a class="mdw-list__item" href="tab.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">tab</div><div class="mdw-list__text">Tab</div></a><a class="mdw-list__item" href="textfield.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">text_fields</div><div class="mdw-list__text">Text Field</div></a><a class="mdw-list__item" href="toolbar.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">web_asset</div><div class="mdw-list__text">Toolbar</div></a><a class="mdw-list__item" href="tooltip.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">info</div><div class="mdw-list__text">Tooltip</div></a><a class="mdw-list__item" href="type.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">font_download</div><div class="mdw-list__text">Typography</div></a></div></div><div class="mdw-navdrawer__content" style="padding-bottom:24px"><div class="mdw-layout" mdw-margin-top mdw-margin-bottom><div class="mdw-layout__item" mdw-colspan="100%"><div><h5 class="mdw-type" mdw-baseline-next="36">Buttons communicate the action that will occur when the user touches them.</h5><p class="mdw-type">Material buttons trigger an ink reaction on press. They may display text, imagery, or both.</p></div></div><div class="mdw-layout__item" mdw-colspan="4"><div class="component-sample"><div class="display-flex"><button class="mdw-button" mdw-theme-color="accent-A200">Button</button></div></div></div><div class="mdw-layout__item" mdw-colspan="8"><div><div class="mdw-type" mdw-style="subtitle">Javascript</div><div><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="javascript" value="required" disabled><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Required</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="javascript" value="optional" checked><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Optional</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="javascript" value="none"><div class="mdw-selection__icon"></div><div class="mdw-selection__label">None</div></label></div><div class="mdw-type" mdw-style="subtitle">Elevation</div><div><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="elevation" value="flat" checked><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Flat</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="elevation" value="raised"><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Raised</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="elevation" value="raised-always"><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Always Raised</div></label></div><div class="mdw-type" mdw-style="subtitle">Content</div><div><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="content" value="text" checked><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Text</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="content" value="icon"><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Icon</div></label></div><div class="mdw-type" mdw-style="subtitle">Options</div><div><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="checkbox" name="outlined"><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Outlined</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="checkbox" name="disabled"><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Disabled</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="checkbox" name="focus-ring"><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Focus Ring</div></label></div><div class="mdw-type" mdw-style="subtitle">Color (Ink)</div><div><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="color" value="default"><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Default</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="color" value="primary-400"><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Primary 400</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="color" value="accent-A200" checked><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Accent A200</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="color" value="warn"><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Warn</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="color" value="purple-A400"><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Purple-A400</div></label></div><div class="mdw-type" mdw-style="subtitle">Fill</div><div><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="fill" value="none" checked><div class="mdw-selection__icon"></div><div class="mdw-selection__label">None</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="fill" value="primary dark"><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Primary</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="fill" value="accent-A100 light"><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Accent A100</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="fill" value="warn-200 light"><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Warn 200</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="fill" value="green-700 dark"><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Green 700</div></label></div><div class="mdw-type" mdw-style="subtitle">HTML Element Type</div><div><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="htmltype" value="div"><div class="mdw-selection__icon"></div><div class="mdw-selection__label">HTMLElement</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="htmltype" value="button" checked><div class="mdw-selection__icon"></div><div class="mdw-selection__label">HTMLButtonElement</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="htmltype" value="a"><div class="mdw-selection__icon"></div><div class="mdw-selection__label">HTMLAnchorElement</div></label></div></div></div><div class="mdw-layout__item" mdw-colspan="100%" style="max-height:0"></div><div class="mdw-layout__item" mdw-colspan="6"><div class="display-flex" flex-column><h6 class="mdw-type">HTML Code</h6><div class="mdw-card component-code component-html"></div></div></div><div class="mdw-layout__item" mdw-colspan="2"><div class="display-flex" flex-column><h6 class="mdw-type">Javascript Code</h6><div class="mdw-card component-code component-js"></div></div></div><div class="mdw-layout__item" mdw-colspan="100%"><h6 class="mdw-type">Samples</h6></div><div class="mdw-layout__item display-flex" mdw-colspan="4" flex-justify-content="center"><div class="render"><div class="androidstatusbar"><div>12:30</div><i class="material-icons" style="letter-spacing:2px;padding:0 2px">&#xE1BA;&#xE1C8;&#xE1A4;</i></div><div class="mdw-toolbar"><div class="mdw-toolbar__action"><div class="mdw-toolbar__start"></div><div class="mdw-toolbar__title">CSS Only</div><div class="mdw-toolbar__end"></div></div></div><div class="content" style="padding: 16px 0"><div><div class="display-flex flex-wrap"><button class="mdw-button">Flat<div class="mdw-button__focus-ring"></div></button><button class="mdw-button" mdw-raised>Raised<div class="mdw-button__focus-ring"></div></button><button class="mdw-button" mdw-raised disabled>Disabled<div class="mdw-button__focus-ring"></div></button><button class="mdw-button" mdw-raised="always">+Raised<div class="mdw-button__focus-ring"></div></button><button class="mdw-button" mdw-outline>Outlined</button></div><div style="height:24px"></div><div class="display-flex flex-wrap"><button class="mdw-button" mdw-theme-color="primary">Flat<div class="mdw-button__focus-ring"></div></button><button class="mdw-button" mdw-theme-color="primary" mdw-raised>Raised<div class="mdw-button__focus-ring"></div></button><button class="mdw-button" mdw-theme-color="primary" mdw-raised disabled>Disabled<div class="mdw-button__focus-ring"></div></button><button class="mdw-button" mdw-theme-color="accent-A100">Accent<div class="mdw-button__focus-ring"></div></button><button class="mdw-button" mdw-outline mdw-theme-color="accent-A100">Outlined</button></div><div style="height:24px"></div><div class="display-flex flex-wrap"><button class="mdw-button" mdw-theme-fill="primary dark">Flat<div class="mdw-button__focus-ring"></div></button><button class="mdw-button" mdw-theme-fill="primary dark" mdw-raised>Raised<div class="mdw-button__focus-ring"></div></button><button class="mdw-button" mdw-theme-fill="primary dark" mdw-raised disabled>Disabled<div class="mdw-button__focus-ring"></div></button><button class="mdw-button" mdw-theme-fill="accent-A100 light" mdw-raised>Accent<div class="mdw-button__focus-ring"></div></button></div><div style="height:24px"></div><div class="display-flex flex-wrap"><button class="mdw-button material-icons" mdw-icon>favorite</button><button class="mdw-button material-icons" mdw-theme-color="warn dark" mdw-icon>favorite</button><button class="mdw-button material-icons" mdw-theme-fill="warn dark" mdw-icon>favorite</button><button class="mdw-button material-icons" mdw-theme-fill="warn dark" mdw-icon mdw-raised>favorite</button><button class="mdw-button material-icons" mdw-theme-fill="warn dark" mdw-icon mdw-raised disabled>favorite</button><button class="mdw-button material-icons" mdw-icon disabled>favorite</button></div></div></div><div class="androidnavbar"><i class="material-icons back-button">&#xE3C8;</i><i class="material-icons">&#xE836;</i><i class="material-icons">&#xE835;</i></div></div></div><div class="mdw-layout__item display-flex" mdw-colspan="4" flex-justify-content="center"><div class="render js"><div class="androidstatusbar"><div>12:30</div><i class="material-icons" style="letter-spacing:2px;padding:0 2px">&#xE1BA;&#xE1C8;&#xE1A4;</i></div><div class="mdw-toolbar"><div class="mdw-toolbar__action"><div class="mdw-toolbar__start"></div><div class="mdw-toolbar__title">Javascript Version</div><div class="mdw-toolbar__end"></div></div></div><div class="content" style="padding: 16px 0"><div><div class="display-flex flex-wrap"><button class="mdw-button">Flat<div class="mdw-button__focus-ring"></div></button><button class="mdw-button" mdw-raised>Raised<div class="mdw-button__focus-ring"></div></button><button class="mdw-button" mdw-raised disabled>Disabled<div class="mdw-button__focus-ring"></div></button><button class="mdw-button" mdw-raised="always">+Raised<div class="mdw-button__focus-ring"></div></button><button class="mdw-button" mdw-outline>Outlined</button></div><div style="height:24px"></div><div class="display-flex flex-wrap"><button class="mdw-button" mdw-theme-color="primary">Flat<div class="mdw-button__focus-ring"></div></button><button class="mdw-button" mdw-theme-color="primary" mdw-raised>Raised<div class="mdw-button__focus-ring"></div></button><button class="mdw-button" mdw-theme-color="primary" mdw-raised disabled>Disabled<div class="mdw-button__focus-ring"></div></button><button class="mdw-button" mdw-theme-color="accent-A100">Accent<div class="mdw-button__focus-ring"></div></button><button class="mdw-button" mdw-outline mdw-theme-color="accent-A100">Outlined</button></div><div style="height:24px"></div><div class="display-flex flex-wrap"><button class="mdw-button" mdw-theme-fill="primary dark">Flat<div class="mdw-button__focus-ring"></div></button><button class="mdw-button" mdw-theme-fill="primary dark" mdw-raised>Raised<div class="mdw-button__focus-ring"></div></button><button class="mdw-button" mdw-theme-fill="primary dark" mdw-raised disabled>Disabled<div class="mdw-button__focus-ring"></div></button><button class="mdw-button" mdw-theme-fill="accent-A100 light" mdw-raised>Accent<div class="mdw-button__focus-ring"></div></button></div><div style="height:24px"></div><div class="display-flex flex-wrap"><button class="mdw-button material-icons" mdw-icon>favorite</button><button class="mdw-button material-icons" mdw-theme-color="warn dark" mdw-icon>favorite</button><button class="mdw-button material-icons" mdw-theme-fill="warn dark" mdw-icon>favorite</button><button class="mdw-button material-icons" mdw-theme-fill="warn dark" mdw-icon mdw-raised>favorite</button><button class="mdw-button material-icons" mdw-theme-fill="warn dark" mdw-icon mdw-raised disabled>favorite</button><button class="mdw-button material-icons" mdw-icon disabled>favorite</button></div></div></div><div class="androidnavbar"><i class="material-icons back-button">&#xE3C8;</i><i class="material-icons">&#xE836;</i><i class="material-icons">&#xE835;</i></div></div></div></div></div></div><script src="button.min.js"></script></body></html>
@@ -1,2 +0,0 @@
1
- !function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=25)}([function(e,t,n){"use strict";function r(e){return window.localStorage?localStorage.getItem(e):null}function o(e,t){window.localStorage&&localStorage.setItem(e,t)}function i(e){window.localStorage&&localStorage.removeItem(e)}n.d(t,"a",function(){return r}),n.d(t,"c",function(){return o}),n.d(t,"b",function(){return i})},function(e,t,n){"use strict";function r(e,t){var n=e.getElementsByClassName(t)[0];return n&&n.parentElement!==e?null:n}function o(e,t,n){var r;for(r=!1===n?e.parentElement:e;null!=r&&!r.classList.contains(t);)r=r.parentElement;return r}function i(){return document.documentElement.hasAttribute("dir")&&"rtl"===document.documentElement.getAttribute("dir").toLowerCase()}function c(e,t){var n=document.createEvent("Event");return n.initEvent(t,!0,!0),e.dispatchEvent(n)}n.d(t,"c",function(){return r}),n.d(t,"b",function(){return o}),n.d(t,"d",function(){return i}),n.d(t,"a",function(){return c}),n.d(t,"e",function(){return a});var a=window.requestAnimationFrame||function(e){return setTimeout(e,17)}},function(e,t,n){"use strict";n.d(t,"c",function(){return c}),n.d(t,"a",function(){return a}),n.d(t,"b",function(){return u}),n.d(t,"d",function(){return l});var r=n(0),o="black dark",i="white light";function c(e,t){e?(document.documentElement.setAttribute("dir","rtl"),t&&t.removeAttribute("mdw-inactive"),Object(r.c)("rtlmode","true")):(document.documentElement.removeAttribute("dir"),t&&t.setAttribute("mdw-inactive",""),Object(r.b)("rtlmode"))}function a(e,t){e?(document.documentElement.setAttribute("mdw-theme-fill",o),t&&t.removeAttribute("mdw-inactive")):(document.documentElement.setAttribute("mdw-theme-fill",i),t&&t.setAttribute("mdw-inactive","")),Object(r.c)("darkmode",e?"true":"false")}function u(e,t){e?(document.documentElement.style.setProperty("font-size",e),t&&t.removeAttribute("mdw-inactive"),Object(r.c)("fontsize",e)):(document.documentElement.style.removeProperty("font-size"),t&&t.setAttribute("mdw-inactive",""),Object(r.b)("fontsize"))}function l(){var e=document.getElementById("docs-menu-buttons").getElementsByClassName("mdw-button"),t=e[0],n=e[1],i=e[2];!function(e){"true"===Object(r.a)("rtlmode")&&c(!0,e),e.addEventListener("click",function(){"rtl"===document.documentElement.getAttribute("dir")?c(!1,e):c(!0,e)})}(t),function(e){"true"===Object(r.a)("darkmode")&&a(!0,e),e.addEventListener("click",function(){document.documentElement.getAttribute("mdw-theme-fill")===o?a(!1,e):a(!0,e)})}(n),function(e){u(Object(r.a)("fontsize"),e),e.addEventListener("click",function(){document.documentElement.style.getPropertyValue("font-size")?u(null,e):u("125%",e)})}(i)}},function(e,t,n){"use strict";n.d(t,"a",function(){return i});var r=n(1);function o(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var i=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}return function(e,t,n){n&&o(e,n)}(e,0,[{key:"attach",value:function(t){var n=Object(r.c)(t,"mdw-ripple");n||((n=document.createElement("div")).classList.add("mdw-ripple"),t.firstChild?t.insertBefore(n,t.firstChild):t.appendChild(n));var o=Object(r.c)(n,"mdw-ripple__inner");o||((o=document.createElement("div")).classList.add("mdw-ripple__inner"),n.appendChild(o)),t.setAttribute("mdw-ripple",""),n.addEventListener("click",e.onClick)}},{key:"onClick",value:function(e){var t=e.currentTarget,n=Object(r.c)(t,"mdw-ripple__inner");if(n){if(!e.pointerType&&!e.detail)return n.style.removeProperty("left"),void n.style.removeProperty("top");n.style.setProperty("left","".concat(e.offsetX,"px")),n.style.setProperty("top","".concat(e.offsetY,"px"))}}},{key:"detach",value:function(t){var n=Object(r.c)(t,"mdw-ripple");n&&t.removeChild(n),t.removeAttribute("mdw-ripple"),t.removeEventListener("click",e.onClick)}}]),e}()},function(e,t,n){"use strict";function r(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=e.tagName.toLowerCase(),o=[],i=0;i<e.attributes.length;i+=1){var c=e.attributes.item(i);c.value.length?o.push("".concat(c.name,'="').concat(c.value,'"')):o.push(c.name)}o.sort();for(var a=[n,o.join(" ")],u="<".concat(a.filter(function(e){return e}).join(" ").trim(),">"),l="</".concat(n,">"),d=[u],s=[],m=!0,f=0;f<e.childNodes.length;f+=1){var b=e.childNodes.item(f),v=void 0;b instanceof HTMLElement?(v=r(b," ".concat(t))).trim()&&(m=!1):b.nodeValue&&(v=" ".concat(b.nodeValue)),v&&v.trim()&&s.push(v)}return m?t+d.join("")+s.join("").trim()+l:(s.filter(function(e){return e.trim()}).forEach(function(e){return d.push(e)}),d.push(t+l),t+d.join("\n"))}function o(e,t,n){var r;r=e instanceof Element?[r]:e;for(var o=0;o<r.length;o+=1)r[o].addEventListener(t,n)}function i(e){for(var t=0;t<e.childNodes.length;t+=1){var n=e.childNodes[t];if(n.nodeType===Node.TEXT_NODE)return n}var r=document.createTextNode("");return e.appendChild(r),r}function c(e,t){for(var n=document.createElement(t),r=e.attributes.length-1;r>=0;r-=1){var o=e.attributes.item(r);n.attributes.setNamedItem(o.cloneNode())}for(;e.firstChild;)n.appendChild(e.firstChild);return e.parentElement.replaceChild(n,e),n}n.d(t,"c",function(){return r}),n.d(t,"a",function(){return o}),n.d(t,"d",function(){return i}),n.d(t,"b",function(){return c})},function(e,t,n){"use strict";n.d(t,"a",function(){return i});var r=n(3);function o(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var i=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}return function(e,t,n){n&&o(e,n)}(e,0,[{key:"attach",value:function(t){t.setAttribute("mdw-js",""),t.hasAttribute("mdw-icon")||r.a.attach(t),t instanceof HTMLButtonElement==0&&t instanceof HTMLInputElement==0&&t.addEventListener("keydown",e.onKeyDown)}},{key:"detach",value:function(t){t.removeEventListener("keydown",e.onKeyDown),t.removeAttribute("mdw-js"),r.a.detach(t)}},{key:"onKeyDown",value:function(e){if("Enter"===e.key||"Spacebar"===e.key||" "===e.key){var t=e.currentTarget;if(t){e.stopPropagation(),e.preventDefault();var n=document.createEvent("Event");n.initEvent("click",!0,!0),t.dispatchEvent(n)}}}}]),e}()},,,,,,,,,,,,,,,,,,,,function(e,t,n){n(26),e.exports=n(27)},function(e,t,n){"use strict";n.r(t);var r,o=n(5),i=n(2),c=n(4);function a(){var e=document.querySelector('input[name="javascript"][value="required"]').checked,t=document.querySelector('input[name="javascript"][value="optional"]').checked,n=e||t;o.a.detach(r),document.getElementsByClassName("component-html")[0].textContent=Object(c.c)(r),n&&o.a.attach(r),document.getElementsByClassName("component-js")[0].textContent="mdw.Button.attach(buttonElement);"}!function(){for(var e=document.querySelectorAll(".js .mdw-button"),t=0;t<e.length;t+=1)o.a.attach(e.item(t))}(),Object(i.d)(),r=document.querySelector(".component-sample .mdw-button"),Object(c.a)(document.querySelectorAll("input[name]"),"change",function(e){var t,n,o=e.target,i=o.name,u=o.value,l=o.checked;switch(i){case"elevation":switch(u){default:case"flat":r.removeAttribute("mdw-raised");break;case"raised":r.setAttribute("mdw-raised","");break;case"raised-always":r.setAttribute("mdw-raised","always")}break;case"outlined":l?r.setAttribute("mdw-outline",""):r.removeAttribute("mdw-outline");break;case"disabled":l?r.setAttribute("disabled",""):r.removeAttribute("disabled");break;case"focus-ring":t=r.getElementsByClassName("mdw-button__focus-ring")[0],l?t||((t=document.createElement("div")).classList.add("mdw-button__focus-ring"),r.insertBefore(t,r.firstChild)):t&&t.parentElement.removeChild(t);break;case"content":switch(u){case"text":r.removeAttribute("mdw-icon"),r.classList.remove("material-icons"),Object(c.d)(r).nodeValue="Button";break;case"icon":r.setAttribute("mdw-icon",""),r.classList.add("material-icons"),Object(c.d)(r).nodeValue="favorite"}break;case"color":switch(u){case"default":r.removeAttribute("mdw-theme-color");break;default:r.setAttribute("mdw-theme-color",u)}break;case"fill":switch(u){case"none":r.removeAttribute("mdw-theme-fill");break;default:r.setAttribute("mdw-theme-fill",u)}break;case"htmltype":for(n=document.createElement(u);r.firstChild;)n.appendChild(r.firstChild);for(var d=r.attributes.length-1;d>=0;d-=1){var s=r.attributes.item(d);n.attributes.setNamedItem(s.cloneNode())}r.parentElement.replaceChild(n,r),r=n,"a"===u?r.setAttribute("href","#"):r.removeAttribute("href")}a()}),a()},function(e,t,n){e.exports=n.p+"button.html"}]);
2
- //# sourceMappingURL=button.min.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./docs/src/storage.js","webpack:///./components/common/dom.js","webpack:///./docs/src/menuoptions.js","webpack:///./components/ripple/index.js","webpack:///./docs/src/sample-utils.js","webpack:///./components/button/index.js","webpack:///./docs/src/components/button.js","webpack:///./docs/src/components/button.pug"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","default","object","property","prototype","hasOwnProperty","p","s","e","getStorageItem","window","localStorage","getItem","setStorageItem","setItem","removeStorageItem","removeItem","__webpack_exports__","getChildElementByClass","element","className","child","getElementsByClassName","parentElement","findElementParentByClassName","includeSelf","el","classList","contains","isRtl","document","documentElement","hasAttribute","getAttribute","toLowerCase","dispatchDomEvent","type","event","createEvent","initEvent","dispatchEvent","nextTick","requestAnimationFrame","cb","setTimeout","setRTLMode","setDarkMode","setFontSize","setupMenuOptions","_storage__WEBPACK_IMPORTED_MODULE_0__","darkAttribute","lightAttribute","button","setAttribute","removeAttribute","style","setProperty","removeProperty","buttons","getElementById","buttonRTLMode","buttonDarkMode","largeFontMode","addEventListener","getPropertyValue","Ripple","ripple","createElement","add","firstChild","insertBefore","appendChild","rippleInner","onClick","currentTarget","pointerType","detail","concat","offsetX","offsetY","removeChild","removeEventListener","convertElementToCode","linePrefix","arguments","length","htmlType","tagName","attributes","attribute","item","push","sort","syntaxItems","join","openingHTMLLine","filter","trim","closingHTMLLine","lines","innerLines","onlyText","childNodes","lineText","HTMLElement","nodeValue","line","forEach","attachEventListener","elements","listener","elementList","Element","getChildTextNode","node","childNode","nodeType","Node","TEXT_NODE","textNode","createTextNode","changeElementTagName","tagname","newElement","attr","setNamedItem","cloneNode","replaceChild","Button","attach","HTMLButtonElement","HTMLInputElement","onKeyDown","detach","buttonElement","stopPropagation","preventDefault","newEvent","sampleComponent","_components_button_index__WEBPACK_IMPORTED_MODULE_0__","_menuoptions__WEBPACK_IMPORTED_MODULE_1__","_sample_utils__WEBPACK_IMPORTED_MODULE_2__","updateSampleCode","jsRequired","querySelector","checked","jsOptional","useJS","textContent","querySelectorAll","focusRing","_event$target","target","remove"],"mappings":"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","file":"button.min.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 25);\n","/**\n * @param {string} key\n * @return {string}\n */\nexport function getStorageItem(key) {\n if (!window.localStorage) {\n return null;\n }\n return localStorage.getItem(key);\n}\n\n/**\n * @param {string} key\n * @param {string} value\n * @return {void}\n */\nexport function setStorageItem(key, value) {\n if (!window.localStorage) {\n return;\n }\n localStorage.setItem(key, value);\n}\n\n/**\n * @param {string} key\n * @return {void}\n */\nexport function removeStorageItem(key) {\n if (!window.localStorage) {\n return;\n }\n localStorage.removeItem(key);\n}\n","/**\n * @param {Element} element\n * @param {string} className\n * @return {Element}\n */\nexport function getChildElementByClass(element, className) {\n const child = element.getElementsByClassName(className)[0];\n if (child && child.parentElement !== element) {\n return null;\n }\n return child;\n}\n\n/**\n * @param {Element} element\n * @param {string} className\n * @param {boolean=} [includeSelf=true]\n * @return {Element}\n */\nexport function findElementParentByClassName(element, className, includeSelf) {\n /** @type {Element} */\n let el;\n if (includeSelf === false) {\n el = element.parentElement;\n } else {\n el = element;\n }\n while (el != null && !el.classList.contains(className)) {\n el = el.parentElement;\n }\n return el;\n}\n\n/** @return {boolean} */\nexport function isRtl() {\n return document.documentElement.hasAttribute('dir')\n && document.documentElement.getAttribute('dir').toLowerCase() === 'rtl';\n}\n\n/**\n * @param {Element} element\n * @param {string} type\n * @return {boolean}\n */\nexport function dispatchDomEvent(element, type) {\n const event = document.createEvent('Event');\n event.initEvent(type, true, true);\n return element.dispatchEvent(event);\n}\n\nexport const nextTick = window.requestAnimationFrame || (cb => setTimeout(cb, 17));\n","import { setStorageItem, removeStorageItem, getStorageItem } from './storage';\n\nconst darkAttribute = 'black dark';\nconst lightAttribute = 'white light';\n\n/**\n * @param {boolean} value\n * @param {Element=} button\n * @return {void}\n */\nexport function setRTLMode(value, button) {\n if (value) {\n document.documentElement.setAttribute('dir', 'rtl');\n if (button) {\n button.removeAttribute('mdw-inactive');\n }\n // element.setAttribute('mdw-active', '');\n // Poor visibility even though spec says 70% opacity\n setStorageItem('rtlmode', 'true');\n } else {\n document.documentElement.removeAttribute('dir');\n if (button) {\n button.setAttribute('mdw-inactive', '');\n }\n // element.removeAttribute('mdw-active');\n removeStorageItem('rtlmode');\n }\n}\n\n/**\n * @param {boolean} value\n * @param {Element=} button\n * @return {void}\n */\nexport function setDarkMode(value, button) {\n if (value) {\n document.documentElement.setAttribute('mdw-theme-fill', darkAttribute);\n if (button) {\n button.removeAttribute('mdw-inactive');\n }\n // element.setAttribute('mdw-active', '');\n // Poor visibility even though spec says 70% opacity\n } else {\n document.documentElement.setAttribute('mdw-theme-fill', lightAttribute);\n if (button) {\n button.setAttribute('mdw-inactive', '');\n }\n // element.removeAttribute('mdw-active');\n }\n setStorageItem('darkmode', value ? 'true' : 'false');\n}\n\n/**\n * @param {string} value\n * @param {Element=} button\n * @return {void}\n */\nexport function setFontSize(value, button) {\n if (value) {\n document.documentElement.style.setProperty('font-size', value);\n if (button) {\n button.removeAttribute('mdw-inactive');\n }\n // element.setAttribute('mdw-active', '');\n // Poor visibility even though spec says 70% opacity\n setStorageItem('fontsize', value);\n } else {\n document.documentElement.style.removeProperty('font-size');\n if (button) {\n button.setAttribute('mdw-inactive', '');\n }\n // element.removeAttribute('mdw-active');\n removeStorageItem('fontsize');\n }\n}\n\n/**\n * @param {Element} element\n * @return {void}\n */\nfunction setupRTLMode(element) {\n if (getStorageItem('rtlmode') === 'true') {\n setRTLMode(true, element);\n }\n element.addEventListener('click', () => {\n if (document.documentElement.getAttribute('dir') === 'rtl') {\n setRTLMode(false, element);\n } else {\n setRTLMode(true, element);\n }\n });\n}\n\n/**\n * @param {Element} element\n * @return {void}\n */\nfunction setupDarkMode(element) {\n if (getStorageItem('darkmode') === 'true') {\n setDarkMode(true, element);\n }\n element.addEventListener('click', () => {\n if (document.documentElement.getAttribute('mdw-theme-fill') === darkAttribute) {\n setDarkMode(false, element);\n } else {\n setDarkMode(true, element);\n }\n });\n}\n\n/**\n * @param {Element} element\n * @return {void}\n */\nfunction setupLargeFontMode(element) {\n const fontsize = getStorageItem('fontsize');\n setFontSize(fontsize, element);\n element.addEventListener('click', () => {\n if (document.documentElement.style.getPropertyValue('font-size')) {\n setFontSize(null, element);\n } else {\n setFontSize('125%', element);\n }\n });\n}\n\n/** @return {void} */\nexport function setupMenuOptions() {\n const buttons = document.getElementById('docs-menu-buttons').getElementsByClassName('mdw-button');\n const buttonRTLMode = buttons[0];\n const buttonDarkMode = buttons[1];\n const largeFontMode = buttons[2];\n setupRTLMode(buttonRTLMode);\n setupDarkMode(buttonDarkMode);\n setupLargeFontMode(largeFontMode);\n}\n","import { getChildElementByClass } from '../common/dom';\n\nclass Ripple {\n /**\n * @param {Element} element\n * @return {void}\n */\n static attach(element) {\n let ripple = getChildElementByClass(element, 'mdw-ripple');\n if (!ripple) {\n ripple = document.createElement('div');\n ripple.classList.add('mdw-ripple');\n if (element.firstChild) {\n element.insertBefore(ripple, element.firstChild);\n } else {\n element.appendChild(ripple);\n }\n }\n\n let rippleInner = getChildElementByClass(ripple, 'mdw-ripple__inner');\n if (!rippleInner) {\n rippleInner = document.createElement('div');\n rippleInner.classList.add('mdw-ripple__inner');\n ripple.appendChild(rippleInner);\n }\n element.setAttribute('mdw-ripple', '');\n ripple.addEventListener('click', Ripple.onClick);\n }\n\n /**\n * @param {PointerEvent|MouseEvent} event\n * @return {void}\n */\n static onClick(event) {\n /** @type {HTMLElement} */\n const el = event.currentTarget;\n const rippleInner = getChildElementByClass(el, 'mdw-ripple__inner');\n if (!rippleInner) {\n return;\n }\n if (!event.pointerType && !event.detail) {\n // Ripple from center\n rippleInner.style.removeProperty('left');\n rippleInner.style.removeProperty('top');\n return;\n }\n rippleInner.style.setProperty('left', `${event.offsetX}px`);\n rippleInner.style.setProperty('top', `${event.offsetY}px`);\n }\n\n static detach(element) {\n const ripple = getChildElementByClass(element, 'mdw-ripple');\n if (ripple) {\n element.removeChild(ripple);\n }\n element.removeAttribute('mdw-ripple');\n element.removeEventListener('click', Ripple.onClick);\n }\n}\n\nexport {\n Ripple,\n};\n","/**\n * @param {HTMLElement} element\n * @param {string=} linePrefix\n * @return {string}\n */\nfunction convertElementToCode(element, linePrefix = '') {\n const htmlType = element.tagName.toLowerCase();\n const attributes = [];\n for (let i = 0; i < element.attributes.length; i += 1) {\n const attribute = element.attributes.item(i);\n if (attribute.value.length) {\n attributes.push(`${attribute.name}=\"${attribute.value}\"`);\n } else {\n attributes.push(attribute.name);\n }\n }\n attributes.sort();\n const syntaxItems = [htmlType, attributes.join(' ')];\n const openingHTMLLine = `<${syntaxItems.filter(item => item).join(' ').trim()}>`;\n const closingHTMLLine = `</${htmlType}>`;\n const lines = [openingHTMLLine];\n const innerLines = [];\n let onlyText = true;\n for (let i = 0; i < element.childNodes.length; i += 1) {\n const child = element.childNodes.item(i);\n let lineText;\n if (child instanceof HTMLElement) {\n lineText = convertElementToCode(child, ` ${linePrefix}`);\n if (lineText.trim()) {\n onlyText = false;\n }\n } else if (child.nodeValue) {\n lineText = ` ${child.nodeValue}`;\n }\n if (lineText && lineText.trim()) {\n innerLines.push(lineText);\n }\n }\n if (onlyText) {\n return linePrefix + lines.join('') + innerLines.join('').trim() + closingHTMLLine;\n }\n innerLines\n .filter(line => line.trim())\n .forEach(line => lines.push(line));\n lines.push(linePrefix + closingHTMLLine);\n return linePrefix + lines.join('\\n');\n}\n\n/**\n * @param {Element|NodeListOf<Element>} elements\n * @param {string} event\n * @param {Function} listener\n * @return {void}\n */\nfunction attachEventListener(elements, event, listener) {\n let elementList;\n if (elements instanceof Element) {\n elementList = [elementList];\n } else {\n elementList = elements;\n }\n for (let i = 0; i < elementList.length; i += 1) {\n const el = elementList[i];\n el.addEventListener(event, listener);\n }\n}\n\n/**\n * @param {Element} node\n * @return {Node}\n */\nfunction getChildTextNode(node) {\n for (let i = 0; i < node.childNodes.length; i += 1) {\n const childNode = node.childNodes[i];\n if (childNode.nodeType === Node.TEXT_NODE) {\n return childNode;\n }\n }\n const textNode = document.createTextNode('');\n node.appendChild(textNode);\n return textNode;\n}\n\n/**\n * @param {Element} element\n * @param {string} tagname\n * @return {Element}\n */\nfunction changeElementTagName(element, tagname) {\n const newElement = document.createElement(tagname);\n for (let i = element.attributes.length - 1; i >= 0; i -= 1) {\n const attr = element.attributes.item(i);\n newElement.attributes.setNamedItem(attr.cloneNode());\n }\n while (element.firstChild) {\n newElement.appendChild(element.firstChild);\n }\n\n element.parentElement.replaceChild(newElement, element);\n return newElement;\n}\n\nexport {\n convertElementToCode,\n attachEventListener,\n getChildTextNode,\n changeElementTagName,\n};\n","\n// https://www.w3.org/TR/wai-aria-practices/#button\n\nimport { Ripple } from '../ripple/index';\n\nclass Button {\n /**\n * @param {Element} element\n * @return {void}\n */\n static attach(element) {\n element.setAttribute('mdw-js', '');\n if (!element.hasAttribute('mdw-icon')) {\n Ripple.attach(element);\n }\n if (element instanceof HTMLButtonElement === false\n && element instanceof HTMLInputElement === false) {\n element.addEventListener('keydown', Button.onKeyDown);\n }\n }\n\n /**\n * @param {Element} element\n * @return {void}\n */\n static detach(element) {\n element.removeEventListener('keydown', Button.onKeyDown);\n element.removeAttribute('mdw-js');\n Ripple.detach(element);\n }\n\n /**\n * @param {KeyboardEvent} event\n * @return {void}\n */\n static onKeyDown(event) {\n if (event.key !== 'Enter' && event.key !== 'Spacebar' && event.key !== ' ') {\n return;\n }\n const buttonElement = event.currentTarget;\n if (!buttonElement) {\n return;\n }\n event.stopPropagation();\n event.preventDefault();\n const newEvent = document.createEvent('Event');\n newEvent.initEvent('click', true, true);\n buttonElement.dispatchEvent(newEvent);\n }\n}\n\nexport {\n Button,\n};\n","import { Button } from '../../../components/button/index';\nimport { setupMenuOptions } from '../menuoptions';\nimport { convertElementToCode, getChildTextNode, attachEventListener } from '../sample-utils';\n\n/** @return {void} */\nfunction initializeSampleComponents() {\n const buttons = document.querySelectorAll('.js .mdw-button');\n for (let i = 0; i < buttons.length; i += 1) {\n Button.attach(buttons.item(i));\n }\n}\n\n/** @type {HTMLElement} */\nlet sampleComponent;\n\n/** @return {void} */\nfunction updateSampleCode() {\n const jsRequired = document.querySelector('input[name=\"javascript\"][value=\"required\"]').checked;\n const jsOptional = document.querySelector('input[name=\"javascript\"][value=\"optional\"]').checked;\n const useJS = jsRequired || jsOptional;\n\n // Strip JS related elements and attributes\n Button.detach(sampleComponent);\n\n const htmlCodeElement = document.getElementsByClassName('component-html')[0];\n htmlCodeElement.textContent = convertElementToCode(sampleComponent);\n\n // Reattach JS if requested\n if (useJS) {\n Button.attach(sampleComponent);\n }\n\n const jsCodeElement = document.getElementsByClassName('component-js')[0];\n jsCodeElement.textContent = 'mdw.Button.attach(buttonElement);';\n}\n\n/**\n * @param {Event} event\n * @return {void}\n */\nfunction onOptionChange(event) {\n const { name, value, checked } = event.target;\n let focusRing;\n let newElement;\n switch (name) {\n case 'elevation':\n switch (value) {\n default:\n case 'flat':\n sampleComponent.removeAttribute('mdw-raised');\n break;\n case 'raised':\n sampleComponent.setAttribute('mdw-raised', '');\n break;\n case 'raised-always':\n sampleComponent.setAttribute('mdw-raised', 'always');\n break;\n }\n break;\n case 'outlined':\n if (checked) {\n sampleComponent.setAttribute('mdw-outline', '');\n } else {\n sampleComponent.removeAttribute('mdw-outline');\n }\n break;\n case 'disabled':\n if (checked) {\n sampleComponent.setAttribute('disabled', '');\n } else {\n sampleComponent.removeAttribute('disabled');\n }\n break;\n case 'focus-ring':\n focusRing = sampleComponent.getElementsByClassName('mdw-button__focus-ring')[0];\n if (checked) {\n if (!focusRing) {\n focusRing = document.createElement('div');\n focusRing.classList.add('mdw-button__focus-ring');\n sampleComponent.insertBefore(focusRing, sampleComponent.firstChild);\n }\n } else if (focusRing) {\n focusRing.parentElement.removeChild(focusRing);\n }\n break;\n case 'content':\n switch (value) {\n case 'text':\n sampleComponent.removeAttribute('mdw-icon');\n sampleComponent.classList.remove('material-icons');\n getChildTextNode(sampleComponent).nodeValue = 'Button';\n break;\n case 'icon':\n sampleComponent.setAttribute('mdw-icon', '');\n sampleComponent.classList.add('material-icons');\n getChildTextNode(sampleComponent).nodeValue = 'favorite';\n break;\n default:\n }\n break;\n case 'color':\n switch (value) {\n case 'default':\n sampleComponent.removeAttribute('mdw-theme-color');\n break;\n default:\n sampleComponent.setAttribute('mdw-theme-color', value);\n break;\n }\n break;\n case 'fill':\n switch (value) {\n case 'none':\n sampleComponent.removeAttribute('mdw-theme-fill');\n break;\n default:\n sampleComponent.setAttribute('mdw-theme-fill', value);\n break;\n }\n break;\n case 'htmltype':\n newElement = document.createElement(value);\n while (sampleComponent.firstChild) {\n newElement.appendChild(sampleComponent.firstChild);\n }\n for (let i = sampleComponent.attributes.length - 1; i >= 0; i -= 1) {\n const attr = sampleComponent.attributes.item(i);\n newElement.attributes.setNamedItem(attr.cloneNode());\n }\n sampleComponent.parentElement.replaceChild(newElement, sampleComponent);\n sampleComponent = newElement;\n if (value === 'a') {\n sampleComponent.setAttribute('href', '#');\n } else {\n sampleComponent.removeAttribute('href');\n }\n break;\n default:\n }\n updateSampleCode();\n}\n\n/** @return {void} */\nfunction setupComponentOptions() {\n sampleComponent = document.querySelector('.component-sample .mdw-button');\n attachEventListener(\n document.querySelectorAll('input[name]'),\n 'change',\n onOptionChange\n );\n}\n\ninitializeSampleComponents();\nsetupMenuOptions();\nsetupComponentOptions();\nupdateSampleCode();\n","module.exports = __webpack_public_path__ + \"button.html\";"],"sourceRoot":""}
package/docs/card.html DELETED
@@ -1 +0,0 @@
1
- <!DOCTYPE html><html lang="en"><head><title>Material Design Web</title><meta charset="utf-8"><meta content="IE=edge" http-equiv="X-UA-Compatible"><meta content="" name="description"><meta content="width=device-width, initial-scale=1, viewport-fit=cover" name="viewport"><meta name="theme-color" content="#E91E63"><meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"><meta name="apple-mobile-web-app-capable" content="yes"><link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons"><link rel="stylesheet" href="//fonts.googleapis.com/css?family=Roboto:300,400,500,700"><link rel="stylesheet" href="docs.min.css"><link rel="stylesheet" href="components.min.css"><link rel="stylesheet" href="theming.min.css"><link rel="stylesheet" href="theming.ie11.min.css" media="screen and (-ms-high-contrast: active), (-ms-high-contrast: none)"><script src="prerender.min.js"></script></head><body class="mdw-type"><div class="mdw-navdrawer" id="docs-navdrawer"><a class="mdw-navdrawer__scrim" href="#"></a><div class="mdw-navdrawer__toolbar"><div class="mdw-toolbar" mdw-theme-fill="accent-500 dark" mdw-app-bar><div class="mdw-toolbar__action"><div class="mdw-toolbar__start"><div class="mdw-tooltip__wrapper"><a class="mdw-tooltip__target mdw-button material-icons" mdw-icon href="#docs-navdrawer">menu</a><div class="mdw-tooltip">Menu</div></div></div><div class="mdw-toolbar__title">card</div><div class="mdw-toolbar__end" id="docs-menu-buttons"><div class="mdw-tooltip__wrapper"><div class="mdw-tooltip__target mdw-button docs-rtl" mdw-inactive>RTL</div><div class="mdw-tooltip">Right-to-Left</div></div><div class="mdw-tooltip__wrapper"><div class="mdw-tooltip__target mdw-button material-icons" mdw-icon mdw-inactive>brightness_3</div><div class="mdw-tooltip">Dark Mode</div></div><div class="mdw-tooltip__wrapper"><div class="mdw-tooltip__target mdw-button material-icons" mdw-icon mdw-inactive>format_size</div><div class="mdw-tooltip">Large Font</div></div></div></div></div></div><div class="mdw-navdrawer__drawer"><div class="mdw-list"><a class="mdw-list__item" href="index.html" mdw-theme-color="primary"><div class="mdw-list__text">Home</div></a><div class="mdw-list__subheader">Components</div><a class="mdw-list__item" href="bottomnav.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">call_to_action</div><div class="mdw-list__text">Bottom Navigation</div></a><a class="mdw-list__item" href="button.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">crop_landscape</div><div class="mdw-list__text">Button</div></a><a class="mdw-list__item" mdw-selected href="card.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">crop_square</div><div class="mdw-list__text">Card</div></a><a class="mdw-list__item" href="dialog.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">select_all</div><div class="mdw-list__text">Dialog</div></a><a class="mdw-list__item" href="datatable.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">format_align_justify</div><div class="mdw-list__text">Data Table</div></a><a class="mdw-list__item" href="elevation.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">layers</div><div class="mdw-list__text">Elevation</div></a><a class="mdw-list__item" href="fab.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">add_circle</div><div class="mdw-list__text">Floating Action Button</div></a><a class="mdw-list__item" href="layout.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">view_compact</div><div class="mdw-list__text">Layout</div></a><a class="mdw-list__item" href="list.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">view_list</div><div class="mdw-list__text">List</div></a><a class="mdw-list__item" href="menu.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">picture_in_picture</div><div class="mdw-list__text">Menu</div></a><a class="mdw-list__item" href="navdrawer.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">menu</div><div class="mdw-list__text">Navigation Drawer</div></a><a class="mdw-list__item" href="progress.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">timelapse</div><div class="mdw-list__text">Progress</div></a><a class="mdw-list__item" href="search.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">search</div><div class="mdw-list__text">Search</div></a><a class="mdw-list__item" href="selection.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">toggle_on</div><div class="mdw-list__text">Selection</div></a><a class="mdw-list__item" href="slider.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">tune</div><div class="mdw-list__text">Slider</div></a><a class="mdw-list__item" href="snackbar.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">video_label</div><div class="mdw-list__text">Snackbar</div></a><a class="mdw-list__item" href="tab.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">tab</div><div class="mdw-list__text">Tab</div></a><a class="mdw-list__item" href="textfield.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">text_fields</div><div class="mdw-list__text">Text Field</div></a><a class="mdw-list__item" href="toolbar.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">web_asset</div><div class="mdw-list__text">Toolbar</div></a><a class="mdw-list__item" href="tooltip.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">info</div><div class="mdw-list__text">Tooltip</div></a><a class="mdw-list__item" href="type.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">font_download</div><div class="mdw-list__text">Typography</div></a></div></div><div class="mdw-navdrawer__content" style="padding-bottom:24px"><div class="mdw-layout" mdw-margin-top mdw-margin-bottom><div class="mdw-layout__item" mdw-colspan="100%"><div><h5 class="mdw-type" mdw-baseline-next="36">Cards contain content and actions about a single subject.</h5><p class="mdw-type" mdw-baseline-next="36">Cards are surfaces that display content and actions on a single topic.</p><p class="mdw-type">They should be easy to scan for relevant and actionable information. Elements, like text and images, should be placed on them in a way that clearly indicates hierarchy.</p></div></div><div class="mdw-layout__item" mdw-colspan="4"><div class="component-sample"><div class="display-flex"><div class="mdw-card"><div class="mdw-card__thumbnail material-icons" style="font-size:40px">account_circle</div><h6 class="mdw-card__header" mdw-two-line>Title goes here</h6><div class="mdw-card__subheader">Secondary text</div><div class="mdw-card__media" mdw-ratio="16:9"><img class="mdw-card__image" src="https://free-images.com/md/f673/sunset_sky_red_gold_0.jpg"></div><div class="mdw-card__supporting-text">Greyhound divisively hello coldly wonderfully marginally far upon excluding.</div><div class="mdw-card__actions"><button class="mdw-button" mdw-theme-color="accent">Action 1</button><button class="mdw-button" mdw-theme-color="accent">Action 2</button><span></span><button class="mdw-button material-icons" mdw-icon>more_vert</button></div></div></div></div></div><div class="mdw-layout__item" mdw-colspan="8"><div><div class="mdw-type" mdw-style="subtitle">Javascript</div><div><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="javascript" value="required" disabled><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Required</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="javascript" value="optional" disabled><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Optional</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="javascript" value="none" checked><div class="mdw-selection__icon"></div><div class="mdw-selection__label">None</div></label></div><div class="mdw-type" mdw-style="subtitle">Elevation</div><div><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="elevation" value="auto" checked><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Auto</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="elevation" value="1"><div class="mdw-selection__icon"></div><div class="mdw-selection__label">1dp</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="elevation" value="raised"><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Raised</div></label></div><div class="mdw-type" mdw-style="subtitle">Media Placement</div><div><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="media-placement" value="none"><div class="mdw-selection__icon"></div><div class="mdw-selection__label">None</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="media-placement" value="top"><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Top</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="media-placement" value="middle" checked><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Middle</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="media-placement" value="bottom"><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Bottom</div></label></div><div class="mdw-type" mdw-style="subtitle">Media Ratio</div><div><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="media-ratio" value="none"><div class="mdw-selection__icon"></div><div class="mdw-selection__label">None</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="media-ratio" value="16:9" checked><div class="mdw-selection__icon"></div><div class="mdw-selection__label">16:9</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="media-ratio" value="3:2"><div class="mdw-selection__icon"></div><div class="mdw-selection__label">3:2</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="media-ratio" value="4:3"><div class="mdw-selection__icon"></div><div class="mdw-selection__label">4:3</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="media-ratio" value="1:1"><div class="mdw-selection__icon"></div><div class="mdw-selection__label">1:1</div></label></div><div class="mdw-type" mdw-style="subtitle">Options</div><div><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="checkbox" name="focusable"><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Focusable</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="checkbox" name="actions" checked><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Actions</div></label></div><div class="mdw-type" mdw-style="subtitle">Fill</div><div><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="fill" value="none" checked><div class="mdw-selection__icon"></div><div class="mdw-selection__label">None</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="fill" value="primary dark"><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Primary</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="fill" value="accent-A100 light"><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Accent A100</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="fill" value="warn-200 light"><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Warn 200</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="fill" value="green-700 dark"><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Green 700</div></label></div></div></div><div class="mdw-layout__item" mdw-colspan="100%" style="max-height:0"></div><div class="mdw-layout__item" mdw-colspan="100%"><div class="display-flex" flex-column><h6 class="mdw-type">HTML Code</h6><div class="mdw-card component-code component-html"></div></div></div></div></div></div><script src="card.min.js"></script></body></html>
package/docs/card.min.js DELETED
@@ -1,2 +0,0 @@
1
- !function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=28)}({0:function(e,t,n){"use strict";function r(e){return window.localStorage?localStorage.getItem(e):null}function o(e,t){window.localStorage&&localStorage.setItem(e,t)}function i(e){window.localStorage&&localStorage.removeItem(e)}n.d(t,"a",function(){return r}),n.d(t,"c",function(){return o}),n.d(t,"b",function(){return i})},2:function(e,t,n){"use strict";n.d(t,"c",function(){return c}),n.d(t,"a",function(){return a}),n.d(t,"b",function(){return u}),n.d(t,"d",function(){return d});var r=n(0),o="black dark",i="white light";function c(e,t){e?(document.documentElement.setAttribute("dir","rtl"),t&&t.removeAttribute("mdw-inactive"),Object(r.c)("rtlmode","true")):(document.documentElement.removeAttribute("dir"),t&&t.setAttribute("mdw-inactive",""),Object(r.b)("rtlmode"))}function a(e,t){e?(document.documentElement.setAttribute("mdw-theme-fill",o),t&&t.removeAttribute("mdw-inactive")):(document.documentElement.setAttribute("mdw-theme-fill",i),t&&t.setAttribute("mdw-inactive","")),Object(r.c)("darkmode",e?"true":"false")}function u(e,t){e?(document.documentElement.style.setProperty("font-size",e),t&&t.removeAttribute("mdw-inactive"),Object(r.c)("fontsize",e)):(document.documentElement.style.removeProperty("font-size"),t&&t.setAttribute("mdw-inactive",""),Object(r.b)("fontsize"))}function d(){var e=document.getElementById("docs-menu-buttons").getElementsByClassName("mdw-button"),t=e[0],n=e[1],i=e[2];!function(e){"true"===Object(r.a)("rtlmode")&&c(!0,e),e.addEventListener("click",function(){"rtl"===document.documentElement.getAttribute("dir")?c(!1,e):c(!0,e)})}(t),function(e){"true"===Object(r.a)("darkmode")&&a(!0,e),e.addEventListener("click",function(){document.documentElement.getAttribute("mdw-theme-fill")===o?a(!1,e):a(!0,e)})}(n),function(e){u(Object(r.a)("fontsize"),e),e.addEventListener("click",function(){document.documentElement.style.getPropertyValue("font-size")?u(null,e):u("125%",e)})}(i)}},28:function(e,t,n){n(29),e.exports=n(30)},29:function(e,t,n){"use strict";n.r(t);var r,o,i=n(2),c=n(4);function a(){document.getElementsByClassName("component-html")[0].textContent=Object(c.c)(r)}Object(i.d)(),r=document.querySelector(".component-sample .mdw-card"),o=r.getElementsByClassName("mdw-card__media")[0],Object(c.a)(document.querySelectorAll("input[name]"),"change",function(e){var t,n,i=e.target,c=i.name,u=i.value,d=i.checked;switch(c){case"elevation":switch(r.removeAttribute("mdw-elevation"),r.removeAttribute("mdw-raised"),u){default:case"auto":break;case"1":r.setAttribute("mdw-elevation","1");break;case"raised":r.setAttribute("mdw-raised","")}break;case"focusable":d?r.setAttribute("tabindex","0"):r.removeAttribute("tabindex");break;case"media-placement":if(o.parentElement&&o.parentElement.removeChild(o),"none"===u)break;switch(u){case"top":r.insertBefore(o,r.firstChild);break;case"middle":t=r.getElementsByClassName("mdw-card__supporting-text")[0],r.insertBefore(o,t);break;case"bottom":r.appendChild(o)}break;case"media-ratio":if(!o.parentElement)return;switch(u){default:case"none":o.removeAttribute("mdw-ratio");break;case"16:9":o.setAttribute("mdw-ratio","16:9");break;case"3:2":o.setAttribute("mdw-ratio","3:2");break;case"4:3":o.setAttribute("mdw-ratio","4:3");break;case"1:1":o.setAttribute("mdw-ratio","1:1")}break;case"actions":n=r.getElementsByClassName("mdw-card__actions")[0],d?n||(t=r.getElementsByClassName("mdw-card__supporting-text")[0]).insertAdjacentHTML("afterend",'<div class="mdw-card__actions">\n <button class="mdw-button" mdw-theme-color="accent">Action 1</button>\n <button class="mdw-button" mdw-theme-color="accent">Action 2</button>\n <span></span>\n <button class="mdw-button material-icons" mdw-icon>more_vert</button>\n </div>'):n&&n.parentElement.removeChild(n);break;case"fill":switch(u){case"none":r.removeAttribute("mdw-theme-fill");break;default:r.setAttribute("mdw-theme-fill",u)}}a()}),a()},30:function(e,t,n){e.exports=n.p+"card.html"},4:function(e,t,n){"use strict";function r(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=e.tagName.toLowerCase(),o=[],i=0;i<e.attributes.length;i+=1){var c=e.attributes.item(i);c.value.length?o.push("".concat(c.name,'="').concat(c.value,'"')):o.push(c.name)}o.sort();for(var a=[n,o.join(" ")],u="<".concat(a.filter(function(e){return e}).join(" ").trim(),">"),d="</".concat(n,">"),m=[u],l=[],s=!0,f=0;f<e.childNodes.length;f+=1){var b=e.childNodes.item(f),v=void 0;b instanceof HTMLElement?(v=r(b," ".concat(t))).trim()&&(s=!1):b.nodeValue&&(v=" ".concat(b.nodeValue)),v&&v.trim()&&l.push(v)}return s?t+m.join("")+l.join("").trim()+d:(l.filter(function(e){return e.trim()}).forEach(function(e){return m.push(e)}),m.push(t+d),t+m.join("\n"))}function o(e,t,n){var r;r=e instanceof Element?[r]:e;for(var o=0;o<r.length;o+=1)r[o].addEventListener(t,n)}function i(e){for(var t=0;t<e.childNodes.length;t+=1){var n=e.childNodes[t];if(n.nodeType===Node.TEXT_NODE)return n}var r=document.createTextNode("");return e.appendChild(r),r}function c(e,t){for(var n=document.createElement(t),r=e.attributes.length-1;r>=0;r-=1){var o=e.attributes.item(r);n.attributes.setNamedItem(o.cloneNode())}for(;e.firstChild;)n.appendChild(e.firstChild);return e.parentElement.replaceChild(n,e),n}n.d(t,"c",function(){return r}),n.d(t,"a",function(){return o}),n.d(t,"d",function(){return i}),n.d(t,"b",function(){return c})}});
2
- //# sourceMappingURL=card.min.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./docs/src/storage.js","webpack:///./docs/src/menuoptions.js","webpack:///./docs/src/components/card.js","webpack:///./docs/src/components/card.pug","webpack:///./docs/src/sample-utils.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","default","object","property","prototype","hasOwnProperty","p","s","0","e","getStorageItem","window","localStorage","getItem","setStorageItem","setItem","removeStorageItem","removeItem","__webpack_exports__","setRTLMode","setDarkMode","setFontSize","setupMenuOptions","_storage__WEBPACK_IMPORTED_MODULE_0__","darkAttribute","lightAttribute","button","document","documentElement","setAttribute","removeAttribute","style","setProperty","removeProperty","buttons","getElementById","getElementsByClassName","buttonRTLMode","buttonDarkMode","largeFontMode","element","addEventListener","getAttribute","getPropertyValue","sampleComponent","mediaElement","_menuoptions__WEBPACK_IMPORTED_MODULE_0__","_sample_utils__WEBPACK_IMPORTED_MODULE_1__","updateSampleCode","textContent","convertElementToCode","querySelector","attachEventListener","querySelectorAll","event","textElement","actionsElement","_event$target","target","checked","parentElement","removeChild","insertBefore","firstChild","appendChild","insertAdjacentHTML","4","linePrefix","arguments","length","htmlType","tagName","toLowerCase","attributes","attribute","item","push","concat","sort","syntaxItems","join","openingHTMLLine","filter","trim","closingHTMLLine","lines","innerLines","onlyText","childNodes","child","lineText","HTMLElement","nodeValue","line","forEach","elements","listener","elementList","Element","getChildTextNode","node","childNode","nodeType","Node","TEXT_NODE","textNode","createTextNode","changeElementTagName","tagname","newElement","createElement","attr","setNamedItem","cloneNode","replaceChild"],"mappings":"aACA,IAAAA,KAGA,SAAAC,EAAAC,GAGA,GAAAF,EAAAE,GACA,OAAAF,EAAAE,GAAAC,QAGA,IAAAC,EAAAJ,EAAAE,IACAG,EAAAH,EACAI,KACAH,YAUA,OANAI,EAAAL,GAAAM,KAAAJ,EAAAD,QAAAC,IAAAD,QAAAF,GAGAG,EAAAE,KAGAF,EAAAD,QAKAF,EAAAQ,EAAAF,EAGAN,EAAAS,EAAAV,EAGAC,EAAAU,EAAA,SAAAR,EAAAS,EAAAC,GACAZ,EAAAa,EAAAX,EAAAS,IACAG,OAAAC,eAAAb,EAAAS,GAA0CK,cAAAC,IAAAL,KAK1CZ,EAAAkB,EAAA,SAAAhB,GACA,oBAAAiB,eAAAC,aACAN,OAAAC,eAAAb,EAAAiB,OAAAC,aAAwDC,MAAA,WAExDP,OAAAC,eAAAb,EAAA,cAAiDmB,YAQjDrB,EAAAsB,EAAA,SAAAD,EAAAE,GAEA,GADA,EAAAA,IAAAF,EAAArB,EAAAqB,IACA,EAAAE,EAAA,OAAAF,EACA,KAAAE,GAAA,iBAAAF,QAAAG,WAAA,OAAAH,EACA,IAAAI,EAAAX,OAAAY,OAAA,MAGA,GAFA1B,EAAAkB,EAAAO,GACAX,OAAAC,eAAAU,EAAA,WAAyCT,cAAAK,UACzC,EAAAE,GAAA,iBAAAF,EAAA,QAAAM,KAAAN,EAAArB,EAAAU,EAAAe,EAAAE,EAAA,SAAAA,GAAgH,OAAAN,EAAAM,IAAqBC,KAAA,KAAAD,IACrI,OAAAF,GAIAzB,EAAA6B,EAAA,SAAA1B,GACA,IAAAS,EAAAT,KAAAqB,WACA,WAA2B,OAAArB,EAAA2B,SAC3B,WAAiC,OAAA3B,GAEjC,OADAH,EAAAU,EAAAE,EAAA,IAAAA,GACAA,GAIAZ,EAAAa,EAAA,SAAAkB,EAAAC,GAAsD,OAAAlB,OAAAmB,UAAAC,eAAA3B,KAAAwB,EAAAC,IAGtDhC,EAAAmC,EAAA,GAIAnC,IAAAoC,EAAA,MAAAC,EAAA,SAAAC,EAAAhB,EAAAO,GAAA,aC9EO,SAASU,EAAeZ,GAC7B,OAAKa,OAAOC,aAGLA,aAAaC,QAAQf,GAFnB,KAUJ,SAASgB,EAAehB,EAAKN,GAC7BmB,OAAOC,cAGZA,aAAaG,QAAQjB,EAAKN,GAOrB,SAASwB,EAAkBlB,GAC3Ba,OAAOC,cAGZA,aAAaK,WAAWnB,GA/B1B3B,EAAAU,EAAAqC,EAAA,sBAAAR,IAAAvC,EAAAU,EAAAqC,EAAA,sBAAAJ,IAAA3C,EAAAU,EAAAqC,EAAA,sBAAAF,oCCAA7C,EAAAU,EAAAqC,EAAA,sBAAAC,IAAAhD,EAAAU,EAAAqC,EAAA,sBAAAE,IAAAjD,EAAAU,EAAAqC,EAAA,sBAAAG,IAAAlD,EAAAU,EAAAqC,EAAA,sBAAAI,IAAA,IAAAC,EAAApD,EAAA,GAEMqD,EAAgB,aAChBC,EAAiB,cAOhB,SAASN,EAAW3B,EAAOkC,GAC5BlC,GACFmC,SAASC,gBAAgBC,aAAa,MAAO,OACzCH,GACFA,EAAOI,gBAAgB,gBAIzBhB,YAAe,UAAW,UAE1Ba,SAASC,gBAAgBE,gBAAgB,OACrCJ,GACFA,EAAOG,aAAa,eAAgB,IAGtCb,YAAkB,YASf,SAASI,EAAY5B,EAAOkC,GAC7BlC,GACFmC,SAASC,gBAAgBC,aAAa,iBAAkBL,GACpDE,GACFA,EAAOI,gBAAgB,kBAKzBH,SAASC,gBAAgBC,aAAa,iBAAkBJ,GACpDC,GACFA,EAAOG,aAAa,eAAgB,KAIxCf,YAAe,WAAYtB,EAAQ,OAAS,SAQvC,SAAS6B,EAAY7B,EAAOkC,GAC7BlC,GACFmC,SAASC,gBAAgBG,MAAMC,YAAY,YAAaxC,GACpDkC,GACFA,EAAOI,gBAAgB,gBAIzBhB,YAAe,WAAYtB,KAE3BmC,SAASC,gBAAgBG,MAAME,eAAe,aAC1CP,GACFA,EAAOG,aAAa,eAAgB,IAGtCb,YAAkB,aAuDf,SAASM,IACd,IAAMY,EAAUP,SAASQ,eAAe,qBAAqBC,uBAAuB,cAC9EC,EAAgBH,EAAQ,GACxBI,EAAiBJ,EAAQ,GACzBK,EAAgBL,EAAQ,IAnDhC,SAAsBM,GACc,SAA9B9B,YAAe,YACjBS,KAAiBqB,GAEnBA,EAAQC,iBAAiB,QAAS,WACqB,QAAjDd,SAASC,gBAAgBc,aAAa,OACxCvB,KAAkBqB,GAElBrB,KAAiBqB,KARvB,CAoDeH,GAnCf,SAAuBG,GACc,SAA/B9B,YAAe,aACjBU,KAAkBoB,GAEpBA,EAAQC,iBAAiB,QAAS,WAC5Bd,SAASC,gBAAgBc,aAAa,oBAAsBlB,EAC9DJ,KAAmBoB,GAEnBpB,KAAkBoB,KARxB,CAoCgBF,GAnBhB,SAA4BE,GAE1BnB,EADiBX,YAAe,YACV8B,GACtBA,EAAQC,iBAAiB,QAAS,WAC5Bd,SAASC,gBAAgBG,MAAMY,iBAAiB,aAClDtB,EAAY,KAAMmB,GAElBnB,EAAY,OAAQmB,KAP1B,CAoBqBD,+ECtIrBpE,EAAAkB,EAAA6B,GAAA,IAII0B,EAEAC,EANJC,EAAA3E,EAAA,GAAA4E,EAAA5E,EAAA,GASA,SAAS6E,IACiBrB,SAASS,uBAAuB,kBAAkB,GAC1Da,YAAcC,YAAqBN,GA0HrDtB,cATEsB,EAAkBjB,SAASwB,cAAc,+BACzCN,EAAeD,EAAgBR,uBAAuB,mBAAmB,GACzEgB,YACEzB,SAAS0B,iBAAiB,eAC1B,SA9GJ,SAAwBC,GAAO,IAEzBC,EACAC,EAHyBC,EACqCH,EAAMI,OAAhE5E,EADqB2E,EACrB3E,KAAMU,EADeiE,EACfjE,MAAOmE,EADQF,EACRE,QAGrB,OAAQ7E,GACN,IAAK,YAGH,OAFA8D,EAAgBd,gBAAgB,iBAChCc,EAAgBd,gBAAgB,cACxBtC,GACN,QACA,IAAK,OACH,MACF,IAAK,IACHoD,EAAgBf,aAAa,gBAAiB,KAC9C,MACF,IAAK,SACHe,EAAgBf,aAAa,aAAc,IAG/C,MACF,IAAK,YACC8B,EACFf,EAAgBf,aAAa,WAAY,KAEzCe,EAAgBd,gBAAgB,YAElC,MACF,IAAK,kBAIH,GAHIe,EAAae,eACff,EAAae,cAAcC,YAAYhB,GAE3B,SAAVrD,EACF,MAEF,OAAQA,GACN,IAAK,MACHoD,EAAgBkB,aAAajB,EAAcD,EAAgBmB,YAC3D,MACF,IAAK,SACHR,EAAcX,EAAgBR,uBAAuB,6BAA6B,GAClFQ,EAAgBkB,aAAajB,EAAcU,GAC3C,MACF,IAAK,SACHX,EAAgBoB,YAAYnB,GAGhC,MACF,IAAK,cACH,IAAKA,EAAae,cAChB,OAEF,OAAQpE,GACN,QACA,IAAK,OACHqD,EAAaf,gBAAgB,aAC7B,MACF,IAAK,OACHe,EAAahB,aAAa,YAAa,QACvC,MACF,IAAK,MACHgB,EAAahB,aAAa,YAAa,OACvC,MACF,IAAK,MACHgB,EAAahB,aAAa,YAAa,OACvC,MACF,IAAK,MACHgB,EAAahB,aAAa,YAAa,OAG3C,MACF,IAAK,UACH2B,EAAiBZ,EAAgBR,uBAAuB,qBAAqB,GACzEuB,EACGH,IACHD,EAAcX,EAAgBR,uBAAuB,6BAA6B,IACtE6B,mBAAmB,WAA/B,mVASET,GACFA,EAAeI,cAAcC,YAAYL,GAG7C,MACF,IAAK,OACH,OAAQhE,GACN,IAAK,OACHoD,EAAgBd,gBAAgB,kBAChC,MACF,QACEc,EAAgBf,aAAa,iBAAkBrC,IAMvDwD,MAgBFA,wBCvIA1E,EAAAD,QAAiBF,EAAAmC,EAAuB,aAAA4D,EAAA,SAAAzD,EAAAhB,EAAAO,GAAA,aCKxC,SAASkD,EAAqBV,GAG5B,IAHsD,IAAjB2B,EAAiBC,UAAAC,OAAA,YAAAD,UAAA,GAAAA,UAAA,GAAJ,GAC5CE,EAAW9B,EAAQ+B,QAAQC,cAC3BC,KACGlG,EAAI,EAAGA,EAAIiE,EAAQiC,WAAWJ,OAAQ9F,GAAK,EAAG,CACrD,IAAMmG,EAAYlC,EAAQiC,WAAWE,KAAKpG,GACtCmG,EAAUlF,MAAM6E,OAClBI,EAAWG,KAAX,GAAAC,OAAmBH,EAAU5F,KAA7B,MAAA+F,OAAsCH,EAAUlF,MAAhD,MAEAiF,EAAWG,KAAKF,EAAU5F,MAG9B2F,EAAWK,OAOX,IANA,IAAMC,GAAeT,EAAUG,EAAWO,KAAK,MACzCC,EAAe,IAAAJ,OAAOE,EAAYG,OAAO,SAAAP,GAAI,OAAIA,IAAMK,KAAK,KAAKG,OAAlD,KACfC,EAAe,KAAAP,OAAQP,EAAR,KACfe,GAASJ,GACTK,KACFC,KACKhH,EAAI,EAAGA,EAAIiE,EAAQgD,WAAWnB,OAAQ9F,GAAK,EAAG,CACrD,IAAMkH,EAAQjD,EAAQgD,WAAWb,KAAKpG,GAClCmH,SACAD,aAAiBE,aACnBD,EAAWxC,EAAqBuC,EAAD,KAAAZ,OAAaV,KAC/BgB,SACXI,MAEOE,EAAMG,YACfF,EAAQ,KAAAb,OAAQY,EAAMG,YAEpBF,GAAYA,EAASP,QACvBG,EAAWV,KAAKc,GAGpB,OAAIH,EACKpB,EAAakB,EAAML,KAAK,IAAMM,EAAWN,KAAK,IAAIG,OAASC,GAEpEE,EACGJ,OAAO,SAAAW,GAAI,OAAIA,EAAKV,SACpBW,QAAQ,SAAAD,GAAI,OAAIR,EAAMT,KAAKiB,KAC9BR,EAAMT,KAAKT,EAAaiB,GACjBjB,EAAakB,EAAML,KAAK,OASjC,SAAS5B,EAAoB2C,EAAUzC,EAAO0C,GAC5C,IAAIC,EAEFA,EADEF,aAAoBG,SACPD,GAEDF,EAEhB,IAAK,IAAIxH,EAAI,EAAGA,EAAI0H,EAAY5B,OAAQ9F,GAAK,EAChC0H,EAAY1H,GACpBkE,iBAAiBa,EAAO0C,GAQ/B,SAASG,EAAiBC,GACxB,IAAK,IAAI7H,EAAI,EAAGA,EAAI6H,EAAKZ,WAAWnB,OAAQ9F,GAAK,EAAG,CAClD,IAAM8H,EAAYD,EAAKZ,WAAWjH,GAClC,GAAI8H,EAAUC,WAAaC,KAAKC,UAC9B,OAAOH,EAGX,IAAMI,EAAW9E,SAAS+E,eAAe,IAEzC,OADAN,EAAKpC,YAAYyC,GACVA,EAQT,SAASE,EAAqBnE,EAASoE,GAErC,IADA,IAAMC,EAAalF,SAASmF,cAAcF,GACjCrI,EAAIiE,EAAQiC,WAAWJ,OAAS,EAAG9F,GAAK,EAAGA,GAAK,EAAG,CAC1D,IAAMwI,EAAOvE,EAAQiC,WAAWE,KAAKpG,GACrCsI,EAAWpC,WAAWuC,aAAaD,EAAKE,aAE1C,KAAOzE,EAAQuB,YACb8C,EAAW7C,YAAYxB,EAAQuB,YAIjC,OADAvB,EAAQoB,cAAcsD,aAAaL,EAAYrE,GACxCqE,EAnGT1I,EAAAU,EAAAqC,EAAA,sBAAAgC,IAAA/E,EAAAU,EAAAqC,EAAA,sBAAAkC,IAAAjF,EAAAU,EAAAqC,EAAA,sBAAAiF,IAAAhI,EAAAU,EAAAqC,EAAA,sBAAAyF","file":"card.min.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 28);\n","/**\n * @param {string} key\n * @return {string}\n */\nexport function getStorageItem(key) {\n if (!window.localStorage) {\n return null;\n }\n return localStorage.getItem(key);\n}\n\n/**\n * @param {string} key\n * @param {string} value\n * @return {void}\n */\nexport function setStorageItem(key, value) {\n if (!window.localStorage) {\n return;\n }\n localStorage.setItem(key, value);\n}\n\n/**\n * @param {string} key\n * @return {void}\n */\nexport function removeStorageItem(key) {\n if (!window.localStorage) {\n return;\n }\n localStorage.removeItem(key);\n}\n","import { setStorageItem, removeStorageItem, getStorageItem } from './storage';\n\nconst darkAttribute = 'black dark';\nconst lightAttribute = 'white light';\n\n/**\n * @param {boolean} value\n * @param {Element=} button\n * @return {void}\n */\nexport function setRTLMode(value, button) {\n if (value) {\n document.documentElement.setAttribute('dir', 'rtl');\n if (button) {\n button.removeAttribute('mdw-inactive');\n }\n // element.setAttribute('mdw-active', '');\n // Poor visibility even though spec says 70% opacity\n setStorageItem('rtlmode', 'true');\n } else {\n document.documentElement.removeAttribute('dir');\n if (button) {\n button.setAttribute('mdw-inactive', '');\n }\n // element.removeAttribute('mdw-active');\n removeStorageItem('rtlmode');\n }\n}\n\n/**\n * @param {boolean} value\n * @param {Element=} button\n * @return {void}\n */\nexport function setDarkMode(value, button) {\n if (value) {\n document.documentElement.setAttribute('mdw-theme-fill', darkAttribute);\n if (button) {\n button.removeAttribute('mdw-inactive');\n }\n // element.setAttribute('mdw-active', '');\n // Poor visibility even though spec says 70% opacity\n } else {\n document.documentElement.setAttribute('mdw-theme-fill', lightAttribute);\n if (button) {\n button.setAttribute('mdw-inactive', '');\n }\n // element.removeAttribute('mdw-active');\n }\n setStorageItem('darkmode', value ? 'true' : 'false');\n}\n\n/**\n * @param {string} value\n * @param {Element=} button\n * @return {void}\n */\nexport function setFontSize(value, button) {\n if (value) {\n document.documentElement.style.setProperty('font-size', value);\n if (button) {\n button.removeAttribute('mdw-inactive');\n }\n // element.setAttribute('mdw-active', '');\n // Poor visibility even though spec says 70% opacity\n setStorageItem('fontsize', value);\n } else {\n document.documentElement.style.removeProperty('font-size');\n if (button) {\n button.setAttribute('mdw-inactive', '');\n }\n // element.removeAttribute('mdw-active');\n removeStorageItem('fontsize');\n }\n}\n\n/**\n * @param {Element} element\n * @return {void}\n */\nfunction setupRTLMode(element) {\n if (getStorageItem('rtlmode') === 'true') {\n setRTLMode(true, element);\n }\n element.addEventListener('click', () => {\n if (document.documentElement.getAttribute('dir') === 'rtl') {\n setRTLMode(false, element);\n } else {\n setRTLMode(true, element);\n }\n });\n}\n\n/**\n * @param {Element} element\n * @return {void}\n */\nfunction setupDarkMode(element) {\n if (getStorageItem('darkmode') === 'true') {\n setDarkMode(true, element);\n }\n element.addEventListener('click', () => {\n if (document.documentElement.getAttribute('mdw-theme-fill') === darkAttribute) {\n setDarkMode(false, element);\n } else {\n setDarkMode(true, element);\n }\n });\n}\n\n/**\n * @param {Element} element\n * @return {void}\n */\nfunction setupLargeFontMode(element) {\n const fontsize = getStorageItem('fontsize');\n setFontSize(fontsize, element);\n element.addEventListener('click', () => {\n if (document.documentElement.style.getPropertyValue('font-size')) {\n setFontSize(null, element);\n } else {\n setFontSize('125%', element);\n }\n });\n}\n\n/** @return {void} */\nexport function setupMenuOptions() {\n const buttons = document.getElementById('docs-menu-buttons').getElementsByClassName('mdw-button');\n const buttonRTLMode = buttons[0];\n const buttonDarkMode = buttons[1];\n const largeFontMode = buttons[2];\n setupRTLMode(buttonRTLMode);\n setupDarkMode(buttonDarkMode);\n setupLargeFontMode(largeFontMode);\n}\n","import { setupMenuOptions } from '../menuoptions';\nimport { convertElementToCode, attachEventListener } from '../sample-utils';\n\n/** @type {HTMLElement} */\nlet sampleComponent;\n/** @type {HTMLElement} */\nlet mediaElement;\n\n/** @return {void} */\nfunction updateSampleCode() {\n const htmlCodeElement = document.getElementsByClassName('component-html')[0];\n htmlCodeElement.textContent = convertElementToCode(sampleComponent);\n}\n\n/**\n * @param {Event} event\n * @return {void}\n */\nfunction onOptionChange(event) {\n const { name, value, checked } = /** @type {HTMLInputElement} */ (event.target);\n let textElement;\n let actionsElement;\n switch (name) {\n case 'elevation':\n sampleComponent.removeAttribute('mdw-elevation');\n sampleComponent.removeAttribute('mdw-raised');\n switch (value) {\n default:\n case 'auto':\n break;\n case '1':\n sampleComponent.setAttribute('mdw-elevation', '1');\n break;\n case 'raised':\n sampleComponent.setAttribute('mdw-raised', '');\n break;\n }\n break;\n case 'focusable':\n if (checked) {\n sampleComponent.setAttribute('tabindex', '0');\n } else {\n sampleComponent.removeAttribute('tabindex');\n }\n break;\n case 'media-placement':\n if (mediaElement.parentElement) {\n mediaElement.parentElement.removeChild(mediaElement);\n }\n if (value === 'none') {\n break;\n }\n switch (value) {\n case 'top':\n sampleComponent.insertBefore(mediaElement, sampleComponent.firstChild);\n break;\n case 'middle':\n textElement = sampleComponent.getElementsByClassName('mdw-card__supporting-text')[0];\n sampleComponent.insertBefore(mediaElement, textElement);\n break;\n case 'bottom':\n sampleComponent.appendChild(mediaElement);\n break;\n }\n break;\n case 'media-ratio':\n if (!mediaElement.parentElement) {\n return;\n }\n switch (value) {\n default:\n case 'none':\n mediaElement.removeAttribute('mdw-ratio');\n break;\n case '16:9':\n mediaElement.setAttribute('mdw-ratio', '16:9');\n break;\n case '3:2':\n mediaElement.setAttribute('mdw-ratio', '3:2');\n break;\n case '4:3':\n mediaElement.setAttribute('mdw-ratio', '4:3');\n break;\n case '1:1':\n mediaElement.setAttribute('mdw-ratio', '1:1');\n break;\n }\n break;\n case 'actions':\n actionsElement = sampleComponent.getElementsByClassName('mdw-card__actions')[0];\n if (checked) {\n if (!actionsElement) {\n textElement = sampleComponent.getElementsByClassName('mdw-card__supporting-text')[0];\n textElement.insertAdjacentHTML('afterend',\n `<div class=\"mdw-card__actions\">\n <button class=\"mdw-button\" mdw-theme-color=\"accent\">Action 1</button>\n <button class=\"mdw-button\" mdw-theme-color=\"accent\">Action 2</button>\n <span></span>\n <button class=\"mdw-button material-icons\" mdw-icon>more_vert</button>\n </div>`);\n }\n } else {\n if (actionsElement) {\n actionsElement.parentElement.removeChild(actionsElement);\n }\n }\n break;\n case 'fill':\n switch (value) {\n case 'none':\n sampleComponent.removeAttribute('mdw-theme-fill');\n break;\n default:\n sampleComponent.setAttribute('mdw-theme-fill', value);\n break;\n }\n break;\n default:\n }\n updateSampleCode();\n}\n\n/** @return {void} */\nfunction setupComponentOptions() {\n sampleComponent = document.querySelector('.component-sample .mdw-card');\n mediaElement = sampleComponent.getElementsByClassName('mdw-card__media')[0];\n attachEventListener(\n document.querySelectorAll('input[name]'),\n 'change',\n onOptionChange\n );\n}\n\nsetupMenuOptions();\nsetupComponentOptions();\nupdateSampleCode();\n","module.exports = __webpack_public_path__ + \"card.html\";","/**\n * @param {HTMLElement} element\n * @param {string=} linePrefix\n * @return {string}\n */\nfunction convertElementToCode(element, linePrefix = '') {\n const htmlType = element.tagName.toLowerCase();\n const attributes = [];\n for (let i = 0; i < element.attributes.length; i += 1) {\n const attribute = element.attributes.item(i);\n if (attribute.value.length) {\n attributes.push(`${attribute.name}=\"${attribute.value}\"`);\n } else {\n attributes.push(attribute.name);\n }\n }\n attributes.sort();\n const syntaxItems = [htmlType, attributes.join(' ')];\n const openingHTMLLine = `<${syntaxItems.filter(item => item).join(' ').trim()}>`;\n const closingHTMLLine = `</${htmlType}>`;\n const lines = [openingHTMLLine];\n const innerLines = [];\n let onlyText = true;\n for (let i = 0; i < element.childNodes.length; i += 1) {\n const child = element.childNodes.item(i);\n let lineText;\n if (child instanceof HTMLElement) {\n lineText = convertElementToCode(child, ` ${linePrefix}`);\n if (lineText.trim()) {\n onlyText = false;\n }\n } else if (child.nodeValue) {\n lineText = ` ${child.nodeValue}`;\n }\n if (lineText && lineText.trim()) {\n innerLines.push(lineText);\n }\n }\n if (onlyText) {\n return linePrefix + lines.join('') + innerLines.join('').trim() + closingHTMLLine;\n }\n innerLines\n .filter(line => line.trim())\n .forEach(line => lines.push(line));\n lines.push(linePrefix + closingHTMLLine);\n return linePrefix + lines.join('\\n');\n}\n\n/**\n * @param {Element|NodeListOf<Element>} elements\n * @param {string} event\n * @param {Function} listener\n * @return {void}\n */\nfunction attachEventListener(elements, event, listener) {\n let elementList;\n if (elements instanceof Element) {\n elementList = [elementList];\n } else {\n elementList = elements;\n }\n for (let i = 0; i < elementList.length; i += 1) {\n const el = elementList[i];\n el.addEventListener(event, listener);\n }\n}\n\n/**\n * @param {Element} node\n * @return {Node}\n */\nfunction getChildTextNode(node) {\n for (let i = 0; i < node.childNodes.length; i += 1) {\n const childNode = node.childNodes[i];\n if (childNode.nodeType === Node.TEXT_NODE) {\n return childNode;\n }\n }\n const textNode = document.createTextNode('');\n node.appendChild(textNode);\n return textNode;\n}\n\n/**\n * @param {Element} element\n * @param {string} tagname\n * @return {Element}\n */\nfunction changeElementTagName(element, tagname) {\n const newElement = document.createElement(tagname);\n for (let i = element.attributes.length - 1; i >= 0; i -= 1) {\n const attr = element.attributes.item(i);\n newElement.attributes.setNamedItem(attr.cloneNode());\n }\n while (element.firstChild) {\n newElement.appendChild(element.firstChild);\n }\n\n element.parentElement.replaceChild(newElement, element);\n return newElement;\n}\n\nexport {\n convertElementToCode,\n attachEventListener,\n getChildTextNode,\n changeElementTagName,\n};\n"],"sourceRoot":""}