@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,156 +0,0 @@
1
- import { Button } from '../../../components/button/index';
2
- import { setupMenuOptions } from '../menuoptions';
3
- import { convertElementToCode, getChildTextNode, attachEventListener } from '../sample-utils';
4
-
5
- /** @return {void} */
6
- function initializeSampleComponents() {
7
- const buttons = document.querySelectorAll('.js .mdw-button');
8
- for (let i = 0; i < buttons.length; i += 1) {
9
- Button.attach(buttons.item(i));
10
- }
11
- }
12
-
13
- /** @type {HTMLElement} */
14
- let sampleComponent;
15
-
16
- /** @return {void} */
17
- function updateSampleCode() {
18
- const jsRequired = document.querySelector('input[name="javascript"][value="required"]').checked;
19
- const jsOptional = document.querySelector('input[name="javascript"][value="optional"]').checked;
20
- const useJS = jsRequired || jsOptional;
21
-
22
- // Strip JS related elements and attributes
23
- Button.detach(sampleComponent);
24
-
25
- const htmlCodeElement = document.getElementsByClassName('component-html')[0];
26
- htmlCodeElement.textContent = convertElementToCode(sampleComponent);
27
-
28
- // Reattach JS if requested
29
- if (useJS) {
30
- Button.attach(sampleComponent);
31
- }
32
-
33
- const jsCodeElement = document.getElementsByClassName('component-js')[0];
34
- jsCodeElement.textContent = 'mdw.Button.attach(buttonElement);';
35
- }
36
-
37
- /**
38
- * @param {Event} event
39
- * @return {void}
40
- */
41
- function onOptionChange(event) {
42
- const { name, value, checked } = event.target;
43
- let focusRing;
44
- let newElement;
45
- switch (name) {
46
- case 'elevation':
47
- switch (value) {
48
- default:
49
- case 'flat':
50
- sampleComponent.removeAttribute('mdw-raised');
51
- break;
52
- case 'raised':
53
- sampleComponent.setAttribute('mdw-raised', '');
54
- break;
55
- case 'raised-always':
56
- sampleComponent.setAttribute('mdw-raised', 'always');
57
- break;
58
- }
59
- break;
60
- case 'outlined':
61
- if (checked) {
62
- sampleComponent.setAttribute('mdw-outline', '');
63
- } else {
64
- sampleComponent.removeAttribute('mdw-outline');
65
- }
66
- break;
67
- case 'disabled':
68
- if (checked) {
69
- sampleComponent.setAttribute('disabled', '');
70
- } else {
71
- sampleComponent.removeAttribute('disabled');
72
- }
73
- break;
74
- case 'focus-ring':
75
- focusRing = sampleComponent.getElementsByClassName('mdw-button__focus-ring')[0];
76
- if (checked) {
77
- if (!focusRing) {
78
- focusRing = document.createElement('div');
79
- focusRing.classList.add('mdw-button__focus-ring');
80
- sampleComponent.insertBefore(focusRing, sampleComponent.firstChild);
81
- }
82
- } else if (focusRing) {
83
- focusRing.parentElement.removeChild(focusRing);
84
- }
85
- break;
86
- case 'content':
87
- switch (value) {
88
- case 'text':
89
- sampleComponent.removeAttribute('mdw-icon');
90
- sampleComponent.classList.remove('material-icons');
91
- getChildTextNode(sampleComponent).nodeValue = 'Button';
92
- break;
93
- case 'icon':
94
- sampleComponent.setAttribute('mdw-icon', '');
95
- sampleComponent.classList.add('material-icons');
96
- getChildTextNode(sampleComponent).nodeValue = 'favorite';
97
- break;
98
- default:
99
- }
100
- break;
101
- case 'color':
102
- switch (value) {
103
- case 'default':
104
- sampleComponent.removeAttribute('mdw-theme-color');
105
- break;
106
- default:
107
- sampleComponent.setAttribute('mdw-theme-color', value);
108
- break;
109
- }
110
- break;
111
- case 'fill':
112
- switch (value) {
113
- case 'none':
114
- sampleComponent.removeAttribute('mdw-theme-fill');
115
- break;
116
- default:
117
- sampleComponent.setAttribute('mdw-theme-fill', value);
118
- break;
119
- }
120
- break;
121
- case 'htmltype':
122
- newElement = document.createElement(value);
123
- while (sampleComponent.firstChild) {
124
- newElement.appendChild(sampleComponent.firstChild);
125
- }
126
- for (let i = sampleComponent.attributes.length - 1; i >= 0; i -= 1) {
127
- const attr = sampleComponent.attributes.item(i);
128
- newElement.attributes.setNamedItem(attr.cloneNode());
129
- }
130
- sampleComponent.parentElement.replaceChild(newElement, sampleComponent);
131
- sampleComponent = newElement;
132
- if (value === 'a') {
133
- sampleComponent.setAttribute('href', '#');
134
- } else {
135
- sampleComponent.removeAttribute('href');
136
- }
137
- break;
138
- default:
139
- }
140
- updateSampleCode();
141
- }
142
-
143
- /** @return {void} */
144
- function setupComponentOptions() {
145
- sampleComponent = document.querySelector('.component-sample .mdw-button');
146
- attachEventListener(
147
- document.querySelectorAll('input[name]'),
148
- 'change',
149
- onOptionChange
150
- );
151
- }
152
-
153
- initializeSampleComponents();
154
- setupMenuOptions();
155
- setupComponentOptions();
156
- updateSampleCode();
@@ -1,194 +0,0 @@
1
- include ../mixins.pug
2
-
3
- mixin button-test
4
- div.display-flex.flex-wrap
5
- button.mdw-button Flat
6
- .mdw-button__focus-ring
7
- button.mdw-button(mdw-raised) Raised
8
- .mdw-button__focus-ring
9
- button.mdw-button(mdw-raised disabled) Disabled
10
- .mdw-button__focus-ring
11
- button.mdw-button(mdw-raised="always") +Raised
12
- .mdw-button__focus-ring
13
- button.mdw-button(mdw-outline) Outlined
14
- div(style="height:24px")
15
- div.display-flex.flex-wrap
16
- button.mdw-button(mdw-theme-color="primary") Flat
17
- .mdw-button__focus-ring
18
- button.mdw-button(mdw-theme-color="primary" mdw-raised) Raised
19
- .mdw-button__focus-ring
20
- button.mdw-button(mdw-theme-color="primary" mdw-raised disabled) Disabled
21
- .mdw-button__focus-ring
22
- button.mdw-button(mdw-theme-color="accent-A100") Accent
23
- .mdw-button__focus-ring
24
- button.mdw-button(mdw-outline mdw-theme-color="accent-A100") Outlined
25
- div(style="height:24px")
26
- div.display-flex.flex-wrap
27
- button.mdw-button(mdw-theme-fill="primary dark") Flat
28
- .mdw-button__focus-ring
29
- button.mdw-button(mdw-theme-fill="primary dark" mdw-raised) Raised
30
- .mdw-button__focus-ring
31
- button.mdw-button(mdw-theme-fill="primary dark" mdw-raised disabled) Disabled
32
- .mdw-button__focus-ring
33
- button.mdw-button(mdw-theme-fill="accent-A100 light" mdw-raised) Accent
34
- .mdw-button__focus-ring
35
- div(style="height:24px")
36
- div.display-flex.flex-wrap
37
- button.mdw-button(mdw-icon).material-icons favorite
38
- button.mdw-button(mdw-theme-color="warn dark" mdw-icon).material-icons favorite
39
- button.mdw-button(mdw-theme-fill="warn dark" mdw-icon).material-icons favorite
40
- button.mdw-button(mdw-theme-fill="warn dark" mdw-icon mdw-raised).material-icons favorite
41
- button.mdw-button(mdw-theme-fill="warn dark" mdw-icon mdw-raised disabled).material-icons favorite
42
- button.mdw-button(mdw-icon disabled).material-icons favorite
43
-
44
- +header()
45
- +navdrawer("button")
46
- .mdw-layout(mdw-margin-top mdw-margin-bottom)
47
- .mdw-layout__item(mdw-colspan="100%")
48
- div
49
- h5.mdw-type(mdw-baseline-next="36") Buttons communicate the action that will occur when the user touches them.
50
- p.mdw-type Material buttons trigger an ink reaction on press. They may display text, imagery, or both.
51
- .mdw-layout__item(mdw-colspan="4")
52
- .component-sample
53
- .display-flex
54
- button.mdw-button(mdw-theme-color="accent-A200") Button
55
- .mdw-layout__item(mdw-colspan="8")
56
- div
57
- .mdw-type(mdw-style="subtitle") Javascript
58
- div
59
- label.mdw-selection(mdw-theme-color="accent" style="margin:16px 8px")
60
- input.mdw-selection__input(type="radio" name="javascript" value="required" disabled)
61
- .mdw-selection__icon
62
- .mdw-selection__label Required
63
- label.mdw-selection(mdw-theme-color="accent" style="margin:16px 8px")
64
- input.mdw-selection__input(type="radio" name="javascript" value="optional" checked)
65
- .mdw-selection__icon
66
- .mdw-selection__label Optional
67
- label.mdw-selection(mdw-theme-color="accent" style="margin:16px 8px")
68
- input.mdw-selection__input(type="radio" name="javascript" value="none")
69
- .mdw-selection__icon
70
- .mdw-selection__label None
71
- .mdw-type(mdw-style="subtitle") Elevation
72
- div
73
- label.mdw-selection(mdw-theme-color="accent" style="margin:16px 8px")
74
- input.mdw-selection__input(type="radio" name="elevation" value="flat" checked)
75
- .mdw-selection__icon
76
- .mdw-selection__label Flat
77
- label.mdw-selection(mdw-theme-color="accent" style="margin:16px 8px")
78
- input.mdw-selection__input(type="radio" name="elevation" value="raised")
79
- .mdw-selection__icon
80
- .mdw-selection__label Raised
81
- label.mdw-selection(mdw-theme-color="accent" style="margin:16px 8px")
82
- input.mdw-selection__input(type="radio" name="elevation" value="raised-always")
83
- .mdw-selection__icon
84
- .mdw-selection__label Always Raised
85
- .mdw-type(mdw-style="subtitle") Content
86
- div
87
- label.mdw-selection(mdw-theme-color="accent" style="margin:16px 8px")
88
- input.mdw-selection__input(type="radio" name="content" value="text" checked)
89
- .mdw-selection__icon
90
- .mdw-selection__label Text
91
- label.mdw-selection(mdw-theme-color="accent" style="margin:16px 8px")
92
- input.mdw-selection__input(type="radio" name="content" value="icon")
93
- .mdw-selection__icon
94
- .mdw-selection__label Icon
95
- .mdw-type(mdw-style="subtitle") Options
96
- div
97
- label.mdw-selection(mdw-theme-color="accent" style="margin:16px 8px")
98
- input.mdw-selection__input(type="checkbox" name="outlined")
99
- .mdw-selection__icon
100
- .mdw-selection__label Outlined
101
- label.mdw-selection(mdw-theme-color="accent" style="margin:16px 8px")
102
- input.mdw-selection__input(type="checkbox" name="disabled")
103
- .mdw-selection__icon
104
- .mdw-selection__label Disabled
105
- label.mdw-selection(mdw-theme-color="accent" style="margin:16px 8px")
106
- input.mdw-selection__input(type="checkbox" name="focus-ring")
107
- .mdw-selection__icon
108
- .mdw-selection__label Focus Ring
109
- .mdw-type(mdw-style="subtitle") Color (Ink)
110
- div
111
- label.mdw-selection(mdw-theme-color="accent" style="margin:16px 8px")
112
- input.mdw-selection__input(type="radio" name="color" value="default")
113
- .mdw-selection__icon
114
- .mdw-selection__label Default
115
- label.mdw-selection(mdw-theme-color="accent" style="margin:16px 8px")
116
- input.mdw-selection__input(type="radio" name="color" value="primary-400")
117
- .mdw-selection__icon
118
- .mdw-selection__label Primary 400
119
- label.mdw-selection(mdw-theme-color="accent" style="margin:16px 8px")
120
- input.mdw-selection__input(type="radio" name="color" value="accent-A200" checked)
121
- .mdw-selection__icon
122
- .mdw-selection__label Accent A200
123
- label.mdw-selection(mdw-theme-color="accent" style="margin:16px 8px")
124
- input.mdw-selection__input(type="radio" name="color" value="warn")
125
- .mdw-selection__icon
126
- .mdw-selection__label Warn
127
- label.mdw-selection(mdw-theme-color="accent" style="margin:16px 8px")
128
- input.mdw-selection__input(type="radio" name="color" value="purple-A400")
129
- .mdw-selection__icon
130
- .mdw-selection__label Purple-A400
131
- .mdw-type(mdw-style="subtitle") Fill
132
- div
133
- label.mdw-selection(mdw-theme-color="accent" style="margin:16px 8px")
134
- input.mdw-selection__input(type="radio" name="fill" value="none" checked)
135
- .mdw-selection__icon
136
- .mdw-selection__label None
137
- label.mdw-selection(mdw-theme-color="accent" style="margin:16px 8px")
138
- input.mdw-selection__input(type="radio" name="fill" value="primary dark")
139
- .mdw-selection__icon
140
- .mdw-selection__label Primary
141
- label.mdw-selection(mdw-theme-color="accent" style="margin:16px 8px")
142
- input.mdw-selection__input(type="radio" name="fill" value="accent-A100 light")
143
- .mdw-selection__icon
144
- .mdw-selection__label Accent A100
145
- label.mdw-selection(mdw-theme-color="accent" style="margin:16px 8px")
146
- input.mdw-selection__input(type="radio" name="fill" value="warn-200 light")
147
- .mdw-selection__icon
148
- .mdw-selection__label Warn 200
149
- label.mdw-selection(mdw-theme-color="accent" style="margin:16px 8px")
150
- input.mdw-selection__input(type="radio" name="fill" value="green-700 dark")
151
- .mdw-selection__icon
152
- .mdw-selection__label Green 700
153
- .mdw-type(mdw-style="subtitle") HTML Element Type
154
- div
155
- label.mdw-selection(mdw-theme-color="accent" style="margin:16px 8px")
156
- input.mdw-selection__input(type="radio" name="htmltype" value="div")
157
- .mdw-selection__icon
158
- .mdw-selection__label HTMLElement
159
- label.mdw-selection(mdw-theme-color="accent" style="margin:16px 8px")
160
- input.mdw-selection__input(type="radio" name="htmltype" value="button" checked)
161
- .mdw-selection__icon
162
- .mdw-selection__label HTMLButtonElement
163
- label.mdw-selection(mdw-theme-color="accent" style="margin:16px 8px")
164
- input.mdw-selection__input(type="radio" name="htmltype" value="a")
165
- .mdw-selection__icon
166
- .mdw-selection__label HTMLAnchorElement
167
- .mdw-layout__item(mdw-colspan="100%" style="max-height:0")
168
- .mdw-layout__item(mdw-colspan="6")
169
- .display-flex(flex-column)
170
- h6.mdw-type HTML Code
171
- .mdw-card.component-code.component-html
172
- .mdw-layout__item(mdw-colspan="2")
173
- .display-flex(flex-column)
174
- h6.mdw-type Javascript Code
175
- .mdw-card.component-code.component-js
176
- .mdw-layout__item(mdw-colspan="100%")
177
- h6.mdw-type Samples
178
- .mdw-layout__item.display-flex(mdw-colspan="4" flex-justify-content="center")
179
- .render
180
- +androidstatusbar('')
181
- +toolbar('', [], []) CSS Only
182
- .content(style="padding: 16px 0")
183
- div
184
- +button-test
185
- +androidnavbar
186
- .mdw-layout__item.display-flex(mdw-colspan="4" flex-justify-content="center")
187
- .render.js
188
- +androidstatusbar('')
189
- +toolbar('', [], []) Javascript Version
190
- .content(style="padding: 16px 0")
191
- div
192
- +button-test
193
- +androidnavbar
194
- script(src='button.min.js')
@@ -1,136 +0,0 @@
1
- import { setupMenuOptions } from '../menuoptions';
2
- import { convertElementToCode, attachEventListener } from '../sample-utils';
3
-
4
- /** @type {HTMLElement} */
5
- let sampleComponent;
6
- /** @type {HTMLElement} */
7
- let mediaElement;
8
-
9
- /** @return {void} */
10
- function updateSampleCode() {
11
- const htmlCodeElement = document.getElementsByClassName('component-html')[0];
12
- htmlCodeElement.textContent = convertElementToCode(sampleComponent);
13
- }
14
-
15
- /**
16
- * @param {Event} event
17
- * @return {void}
18
- */
19
- function onOptionChange(event) {
20
- const { name, value, checked } = /** @type {HTMLInputElement} */ (event.target);
21
- let textElement;
22
- let actionsElement;
23
- switch (name) {
24
- case 'elevation':
25
- sampleComponent.removeAttribute('mdw-elevation');
26
- sampleComponent.removeAttribute('mdw-raised');
27
- switch (value) {
28
- default:
29
- case 'auto':
30
- break;
31
- case '1':
32
- sampleComponent.setAttribute('mdw-elevation', '1');
33
- break;
34
- case 'raised':
35
- sampleComponent.setAttribute('mdw-raised', '');
36
- break;
37
- }
38
- break;
39
- case 'focusable':
40
- if (checked) {
41
- sampleComponent.setAttribute('tabindex', '0');
42
- } else {
43
- sampleComponent.removeAttribute('tabindex');
44
- }
45
- break;
46
- case 'media-placement':
47
- if (mediaElement.parentElement) {
48
- mediaElement.parentElement.removeChild(mediaElement);
49
- }
50
- if (value === 'none') {
51
- break;
52
- }
53
- switch (value) {
54
- case 'top':
55
- sampleComponent.insertBefore(mediaElement, sampleComponent.firstChild);
56
- break;
57
- case 'middle':
58
- textElement = sampleComponent.getElementsByClassName('mdw-card__supporting-text')[0];
59
- sampleComponent.insertBefore(mediaElement, textElement);
60
- break;
61
- case 'bottom':
62
- sampleComponent.appendChild(mediaElement);
63
- break;
64
- }
65
- break;
66
- case 'media-ratio':
67
- if (!mediaElement.parentElement) {
68
- return;
69
- }
70
- switch (value) {
71
- default:
72
- case 'none':
73
- mediaElement.removeAttribute('mdw-ratio');
74
- break;
75
- case '16:9':
76
- mediaElement.setAttribute('mdw-ratio', '16:9');
77
- break;
78
- case '3:2':
79
- mediaElement.setAttribute('mdw-ratio', '3:2');
80
- break;
81
- case '4:3':
82
- mediaElement.setAttribute('mdw-ratio', '4:3');
83
- break;
84
- case '1:1':
85
- mediaElement.setAttribute('mdw-ratio', '1:1');
86
- break;
87
- }
88
- break;
89
- case 'actions':
90
- actionsElement = sampleComponent.getElementsByClassName('mdw-card__actions')[0];
91
- if (checked) {
92
- if (!actionsElement) {
93
- textElement = sampleComponent.getElementsByClassName('mdw-card__supporting-text')[0];
94
- textElement.insertAdjacentHTML('afterend',
95
- `<div class="mdw-card__actions">
96
- <button class="mdw-button" mdw-theme-color="accent">Action 1</button>
97
- <button class="mdw-button" mdw-theme-color="accent">Action 2</button>
98
- <span></span>
99
- <button class="mdw-button material-icons" mdw-icon>more_vert</button>
100
- </div>`);
101
- }
102
- } else {
103
- if (actionsElement) {
104
- actionsElement.parentElement.removeChild(actionsElement);
105
- }
106
- }
107
- break;
108
- case 'fill':
109
- switch (value) {
110
- case 'none':
111
- sampleComponent.removeAttribute('mdw-theme-fill');
112
- break;
113
- default:
114
- sampleComponent.setAttribute('mdw-theme-fill', value);
115
- break;
116
- }
117
- break;
118
- default:
119
- }
120
- updateSampleCode();
121
- }
122
-
123
- /** @return {void} */
124
- function setupComponentOptions() {
125
- sampleComponent = document.querySelector('.component-sample .mdw-card');
126
- mediaElement = sampleComponent.getElementsByClassName('mdw-card__media')[0];
127
- attachEventListener(
128
- document.querySelectorAll('input[name]'),
129
- 'change',
130
- onOptionChange
131
- );
132
- }
133
-
134
- setupMenuOptions();
135
- setupComponentOptions();
136
- updateSampleCode();
@@ -1,133 +0,0 @@
1
- include ../mixins.pug
2
-
3
- +header()
4
- +navdrawer("card")
5
- .mdw-layout(mdw-margin-top mdw-margin-bottom)
6
- .mdw-layout__item(mdw-colspan="100%")
7
- div
8
- h5.mdw-type(mdw-baseline-next="36") Cards contain content and actions about a single subject.
9
- p.mdw-type(mdw-baseline-next="36") Cards are surfaces that display content and actions on a single topic.
10
- p.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.
11
- .mdw-layout__item(mdw-colspan="4")
12
- .component-sample
13
- .display-flex
14
- .mdw-card
15
- .mdw-card__thumbnail.material-icons(style="font-size:40px") account_circle
16
- h6.mdw-card__header(mdw-two-line) Title goes here
17
- .mdw-card__subheader Secondary text
18
- .mdw-card__media(mdw-ratio="16:9")
19
- img.mdw-card__image(src="https://free-images.com/md/f673/sunset_sky_red_gold_0.jpg")
20
- .mdw-card__supporting-text Greyhound divisively hello coldly wonderfully marginally far upon excluding.
21
- .mdw-card__actions
22
- button.mdw-button(mdw-theme-color="accent") Action 1
23
- button.mdw-button(mdw-theme-color="accent") Action 2
24
- span
25
- button.mdw-button.material-icons(mdw-icon) more_vert
26
- .mdw-layout__item(mdw-colspan="8")
27
- div
28
- .mdw-type(mdw-style="subtitle") Javascript
29
- div
30
- label.mdw-selection(mdw-theme-color="accent" style="margin:16px 8px")
31
- input.mdw-selection__input(type="radio" name="javascript" value="required" disabled)
32
- .mdw-selection__icon
33
- .mdw-selection__label Required
34
- label.mdw-selection(mdw-theme-color="accent" style="margin:16px 8px")
35
- input.mdw-selection__input(type="radio" name="javascript" value="optional" disabled)
36
- .mdw-selection__icon
37
- .mdw-selection__label Optional
38
- label.mdw-selection(mdw-theme-color="accent" style="margin:16px 8px")
39
- input.mdw-selection__input(type="radio" name="javascript" value="none" checked)
40
- .mdw-selection__icon
41
- .mdw-selection__label None
42
- .mdw-type(mdw-style="subtitle") Elevation
43
- div
44
- label.mdw-selection(mdw-theme-color="accent" style="margin:16px 8px")
45
- input.mdw-selection__input(type="radio" name="elevation" value="auto" checked)
46
- .mdw-selection__icon
47
- .mdw-selection__label Auto
48
- label.mdw-selection(mdw-theme-color="accent" style="margin:16px 8px")
49
- input.mdw-selection__input(type="radio" name="elevation" value="1")
50
- .mdw-selection__icon
51
- .mdw-selection__label 1dp
52
- label.mdw-selection(mdw-theme-color="accent" style="margin:16px 8px")
53
- input.mdw-selection__input(type="radio" name="elevation" value="raised")
54
- .mdw-selection__icon
55
- .mdw-selection__label Raised
56
- .mdw-type(mdw-style="subtitle") Media Placement
57
- div
58
- label.mdw-selection(mdw-theme-color="accent" style="margin:16px 8px")
59
- input.mdw-selection__input(type="radio" name="media-placement" value="none")
60
- .mdw-selection__icon
61
- .mdw-selection__label None
62
- label.mdw-selection(mdw-theme-color="accent" style="margin:16px 8px")
63
- input.mdw-selection__input(type="radio" name="media-placement" value="top")
64
- .mdw-selection__icon
65
- .mdw-selection__label Top
66
- label.mdw-selection(mdw-theme-color="accent" style="margin:16px 8px")
67
- input.mdw-selection__input(type="radio" name="media-placement" value="middle" checked)
68
- .mdw-selection__icon
69
- .mdw-selection__label Middle
70
- label.mdw-selection(mdw-theme-color="accent" style="margin:16px 8px")
71
- input.mdw-selection__input(type="radio" name="media-placement" value="bottom")
72
- .mdw-selection__icon
73
- .mdw-selection__label Bottom
74
- .mdw-type(mdw-style="subtitle") Media Ratio
75
- div
76
- label.mdw-selection(mdw-theme-color="accent" style="margin:16px 8px")
77
- input.mdw-selection__input(type="radio" name="media-ratio" value="none")
78
- .mdw-selection__icon
79
- .mdw-selection__label None
80
- label.mdw-selection(mdw-theme-color="accent" style="margin:16px 8px")
81
- input.mdw-selection__input(type="radio" name="media-ratio" value="16:9" checked)
82
- .mdw-selection__icon
83
- .mdw-selection__label 16:9
84
- label.mdw-selection(mdw-theme-color="accent" style="margin:16px 8px")
85
- input.mdw-selection__input(type="radio" name="media-ratio" value="3:2")
86
- .mdw-selection__icon
87
- .mdw-selection__label 3:2
88
- label.mdw-selection(mdw-theme-color="accent" style="margin:16px 8px")
89
- input.mdw-selection__input(type="radio" name="media-ratio" value="4:3")
90
- .mdw-selection__icon
91
- .mdw-selection__label 4:3
92
- label.mdw-selection(mdw-theme-color="accent" style="margin:16px 8px")
93
- input.mdw-selection__input(type="radio" name="media-ratio" value="1:1")
94
- .mdw-selection__icon
95
- .mdw-selection__label 1:1
96
- .mdw-type(mdw-style="subtitle") Options
97
- div
98
- label.mdw-selection(mdw-theme-color="accent" style="margin:16px 8px")
99
- input.mdw-selection__input(type="checkbox" name="focusable")
100
- .mdw-selection__icon
101
- .mdw-selection__label Focusable
102
- label.mdw-selection(mdw-theme-color="accent" style="margin:16px 8px")
103
- input.mdw-selection__input(type="checkbox" name="actions" checked)
104
- .mdw-selection__icon
105
- .mdw-selection__label Actions
106
- .mdw-type(mdw-style="subtitle") Fill
107
- div
108
- label.mdw-selection(mdw-theme-color="accent" style="margin:16px 8px")
109
- input.mdw-selection__input(type="radio" name="fill" value="none" checked)
110
- .mdw-selection__icon
111
- .mdw-selection__label None
112
- label.mdw-selection(mdw-theme-color="accent" style="margin:16px 8px")
113
- input.mdw-selection__input(type="radio" name="fill" value="primary dark")
114
- .mdw-selection__icon
115
- .mdw-selection__label Primary
116
- label.mdw-selection(mdw-theme-color="accent" style="margin:16px 8px")
117
- input.mdw-selection__input(type="radio" name="fill" value="accent-A100 light")
118
- .mdw-selection__icon
119
- .mdw-selection__label Accent A100
120
- label.mdw-selection(mdw-theme-color="accent" style="margin:16px 8px")
121
- input.mdw-selection__input(type="radio" name="fill" value="warn-200 light")
122
- .mdw-selection__icon
123
- .mdw-selection__label Warn 200
124
- label.mdw-selection(mdw-theme-color="accent" style="margin:16px 8px")
125
- input.mdw-selection__input(type="radio" name="fill" value="green-700 dark")
126
- .mdw-selection__icon
127
- .mdw-selection__label Green 700
128
- .mdw-layout__item(mdw-colspan="100%" style="max-height:0")
129
- .mdw-layout__item(mdw-colspan="100%")
130
- .display-flex(flex-column)
131
- h6.mdw-type HTML Code
132
- .mdw-card.component-code.component-html
133
- script(src='card.min.js')