@shortfuse/materialdesignweb 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (398) hide show
  1. package/.eslintrc.json +136 -30
  2. package/.stylelintrc.json +6 -40
  3. package/.vscode/launch.json +20 -5
  4. package/CHANGELOG.md +24 -0
  5. package/README.md +12 -9
  6. package/adapters/datatable/column.js +82 -74
  7. package/adapters/datatable/index.js +173 -131
  8. package/adapters/dom/index.js +529 -75
  9. package/adapters/list/index.js +25 -12
  10. package/adapters/search/index.js +13 -13
  11. package/components/appbar/_spec.scss +87 -64
  12. package/components/appbar/index.scss +2 -2
  13. package/components/banner/_spec.scss +8 -8
  14. package/components/banner/index.scss +2 -2
  15. package/components/bottomnav/_spec.scss +22 -17
  16. package/components/bottomnav/index.js +61 -52
  17. package/components/bottomnav/index.scss +2 -2
  18. package/components/bottomnav/item.js +44 -25
  19. package/components/button/README.md +14 -14
  20. package/components/button/_spec.scss +23 -22
  21. package/components/button/_theme.scss +37 -21
  22. package/components/button/index.eta +32 -0
  23. package/components/button/index.js +12 -12
  24. package/components/button/index.scss +2 -2
  25. package/components/card/_spec.scss +40 -36
  26. package/components/card/index.scss +2 -2
  27. package/components/chip/_spec.scss +7 -8
  28. package/components/chip/_theme.scss +31 -31
  29. package/components/chip/index.js +3 -2
  30. package/components/chip/index.scss +2 -2
  31. package/components/chip/item.js +1 -16
  32. package/components/datatable/_spec.scss +71 -85
  33. package/components/datatable/_theme.scss +61 -156
  34. package/components/datatable/cell.js +45 -0
  35. package/components/datatable/columnheader.js +47 -0
  36. package/components/datatable/index.js +279 -366
  37. package/components/datatable/index.scss +2 -2
  38. package/components/datatable/row.js +49 -0
  39. package/components/datatable/rowheader.js +18 -0
  40. package/components/dialog/_spec.scss +61 -41
  41. package/components/dialog/index.js +325 -297
  42. package/components/dialog/index.scss +2 -2
  43. package/components/divider/_spec.scss +8 -6
  44. package/components/divider/index.scss +2 -2
  45. package/components/elevation/_spec.scss +2 -2
  46. package/components/elevation/index.scss +2 -2
  47. package/components/fab/_spec.scss +23 -24
  48. package/components/fab/index.js +50 -50
  49. package/components/fab/index.scss +2 -2
  50. package/components/grid/_spec.scss +33 -31
  51. package/components/grid/index.scss +2 -2
  52. package/components/layout/_mixins.scss +5 -5
  53. package/components/layout/_spec.scss +206 -176
  54. package/components/layout/_theme.scss +14 -16
  55. package/components/layout/index.js +181 -153
  56. package/components/layout/index.scss +2 -2
  57. package/components/list/_spec.scss +117 -104
  58. package/components/list/_theme.scss +31 -34
  59. package/components/list/content.js +68 -52
  60. package/components/list/index.js +194 -61
  61. package/components/list/index.scss +2 -2
  62. package/components/list/item.js +136 -12
  63. package/components/list/secondary.js +46 -0
  64. package/components/menu/_spec.scss +32 -19
  65. package/components/menu/index.js +242 -229
  66. package/components/menu/index.scss +2 -2
  67. package/components/menu/item.js +95 -110
  68. package/components/progress/_spec.scss +35 -27
  69. package/components/progress/index.js +21 -0
  70. package/components/progress/index.scss +2 -1
  71. package/components/selection/_spec.scss +242 -224
  72. package/components/selection/_theme.scss +100 -95
  73. package/components/selection/index.eta +60 -0
  74. package/components/selection/index.js +76 -0
  75. package/components/selection/index.pug +15 -8
  76. package/components/selection/index.scss +2 -2
  77. package/components/selection/input.js +56 -0
  78. package/components/selection/radiogroup.js +47 -0
  79. package/components/slider/_spec.scss +10 -8
  80. package/components/slider/index.scss +2 -2
  81. package/components/snackbar/_spec.scss +22 -21
  82. package/components/snackbar/index.js +102 -111
  83. package/components/snackbar/index.scss +2 -2
  84. package/components/tab/_spec.scss +20 -19
  85. package/components/tab/content.js +41 -40
  86. package/components/tab/index.js +192 -99
  87. package/components/tab/index.scss +2 -2
  88. package/components/tab/item.js +38 -55
  89. package/components/tab/list.js +96 -72
  90. package/components/tab/panel.js +12 -13
  91. package/components/template/_theme.scss +11 -11
  92. package/components/textfield/_mixins.scss +52 -0
  93. package/components/textfield/_spec.scss +215 -266
  94. package/components/textfield/_theme.scss +95 -72
  95. package/components/textfield/index.eta +74 -0
  96. package/components/textfield/index.js +63 -57
  97. package/components/textfield/index.scss +2 -2
  98. package/components/tooltip/_spec.scss +27 -25
  99. package/components/tooltip/index.scss +2 -2
  100. package/components/type/_spec.scss +51 -38
  101. package/components/type/index.scss +2 -2
  102. package/core/_breakpoint.scss +75 -91
  103. package/core/_elevation.scss +10 -10
  104. package/core/_length.scss +9 -0
  105. package/core/_motion.scss +14 -14
  106. package/core/_platform.scss +9 -15
  107. package/core/_type.scss +33 -32
  108. package/core/aria/attributes.js +125 -25
  109. package/core/aria/button.js +23 -23
  110. package/core/aria/keyboard.js +93 -0
  111. package/core/aria/rovingtabindex.js +69 -154
  112. package/core/aria/tab.js +31 -28
  113. package/core/color/_theme.scss +240 -280
  114. package/core/color/index.scss +2 -2
  115. package/core/document/index.js +39 -0
  116. package/core/dom.js +12 -12
  117. package/core/overlay/_spec.scss +0 -3
  118. package/core/overlay/_theme.scss +56 -74
  119. package/core/overlay/index.js +49 -18
  120. package/core/overlay/index.scss +2 -2
  121. package/core/ripple/_spec.scss +22 -39
  122. package/core/ripple/_theme.scss +13 -13
  123. package/core/ripple/index.js +137 -134
  124. package/core/ripple/index.scss +2 -2
  125. package/core/theme/_config.scss +2 -0
  126. package/core/theme/_mixins.scss +172 -0
  127. package/core/theme/_palettes.scss +155 -135
  128. package/core/theme/_variables.scss +24 -15
  129. package/core/theme/index.js +50 -0
  130. package/core/throttler.js +1 -1
  131. package/core/transition/index.js +36 -20
  132. package/{docs-src → docs}/_flex.scss +0 -0
  133. package/{docs-src → docs}/_menuoptions.js +21 -34
  134. package/{docs-src → docs}/_mixins.pug +39 -26
  135. package/docs/_partials/_androidnavbar.eta +5 -0
  136. package/docs/_partials/_androidstatusbar.eta +13 -0
  137. package/docs/_partials/_appbar.eta +29 -0
  138. package/docs/_partials/_buttontest.eta +31 -0
  139. package/docs/_partials/_header.eta +149 -0
  140. package/docs/_partials/_navlistitem.eta +16 -0
  141. package/docs/_partials/_target.eta +1 -0
  142. package/{docs-src → docs}/_sample-utils.js +8 -6
  143. package/{docs-src → docs}/_storage.js +0 -0
  144. package/{docs-src → docs}/docs.scss +5 -2
  145. package/docs/index.eta +16 -0
  146. package/{docs-src → docs}/index.js +0 -0
  147. package/docs/pages/appbar.eta +114 -0
  148. package/{docs-src/components → docs/pages}/appbar.js +0 -0
  149. package/{docs-src/components → docs/pages}/appbar.pug +15 -18
  150. package/docs/pages/bottomnav.eta +188 -0
  151. package/{docs-src/components → docs/pages}/bottomnav.js +23 -24
  152. package/{docs-src/components → docs/pages}/bottomnav.pug +4 -4
  153. package/docs/pages/button.eta +124 -0
  154. package/{docs-src/components → docs/pages}/button.js +19 -19
  155. package/{docs-src/components → docs/pages}/button.pug +15 -15
  156. package/docs/pages/card.eta +90 -0
  157. package/{docs-src/components → docs/pages}/card.js +3 -3
  158. package/{docs-src/components → docs/pages}/card.pug +7 -7
  159. package/docs/pages/chip.eta +122 -0
  160. package/{docs-src/components → docs/pages}/chip.js +3 -6
  161. package/{docs-src/components → docs/pages}/chip.pug +2 -2
  162. package/docs/pages/color.eta +143 -0
  163. package/{docs-src/core → docs/pages}/color.js +95 -20
  164. package/docs/pages/color.pug +121 -0
  165. package/docs/pages/datatable.eta +323 -0
  166. package/{docs-src/components → docs/pages}/datatable.js +26 -13
  167. package/docs/pages/datatable.pug +283 -0
  168. package/docs/pages/dialog.eta +186 -0
  169. package/{docs-src/components → docs/pages}/dialog.js +26 -13
  170. package/{docs-src/components → docs/pages}/dialog.pug +46 -28
  171. package/docs/pages/dom.eta +26 -0
  172. package/docs/pages/dom.js +143 -0
  173. package/docs/pages/dom.pug +22 -0
  174. package/docs/pages/elevation.eta +35 -0
  175. package/{docs-src/components → docs/pages}/elevation.js +0 -0
  176. package/{docs-src/components → docs/pages}/elevation.pug +0 -0
  177. package/docs/pages/fab.eta +99 -0
  178. package/{docs-src/components → docs/pages}/fab.js +3 -3
  179. package/{docs-src/components → docs/pages}/fab.pug +2 -2
  180. package/docs/pages/grid.eta +135 -0
  181. package/{docs-src/components → docs/pages}/grid.js +1 -1
  182. package/{docs-src/components → docs/pages}/grid.pug +3 -3
  183. package/docs/pages/layout.eta +8 -0
  184. package/{docs-src/components → docs/pages}/layout.js +0 -0
  185. package/{docs-src/components → docs/pages}/layout.pug +0 -0
  186. package/docs/pages/list.eta +465 -0
  187. package/{docs-src/components → docs/pages}/list.js +2 -2
  188. package/{docs-src/components → docs/pages}/list.pug +7 -14
  189. package/docs/pages/menu.eta +276 -0
  190. package/{docs-src/components → docs/pages}/menu.js +14 -10
  191. package/{docs-src/components → docs/pages}/menu.pug +0 -0
  192. package/docs/pages/overlay.eta +69 -0
  193. package/docs/pages/overlay.js +4 -0
  194. package/{docs-src/core → docs/pages}/overlay.pug +14 -11
  195. package/docs/pages/progress.eta +23 -0
  196. package/{docs-src/components → docs/pages}/progress.js +1 -1
  197. package/{docs-src/components → docs/pages}/progress.pug +1 -1
  198. package/docs/pages/ripple.eta +27 -0
  199. package/docs/pages/ripple.js +4 -0
  200. package/{docs-src/core → docs/pages}/ripple.pug +4 -4
  201. package/docs/pages/search.eta +246 -0
  202. package/{docs-src/components → docs/pages}/search.js +59 -42
  203. package/{docs-src/components → docs/pages}/search.pug +50 -51
  204. package/docs/pages/selection.eta +111 -0
  205. package/docs/pages/selection.js +13 -0
  206. package/docs/pages/selection.pug +74 -0
  207. package/docs/pages/slider.eta +23 -0
  208. package/{docs-src/components → docs/pages}/slider.js +0 -0
  209. package/{docs-src/components → docs/pages}/slider.pug +0 -0
  210. package/docs/pages/snackbar.eta +83 -0
  211. package/{docs-src/components → docs/pages}/snackbar.js +3 -3
  212. package/{docs-src/components → docs/pages}/snackbar.pug +0 -0
  213. package/docs/pages/tab.eta +421 -0
  214. package/{docs-src/components → docs/pages}/tab.js +18 -35
  215. package/{docs-src/components → docs/pages}/tab.pug +4 -4
  216. package/docs/pages/textfield.eta +486 -0
  217. package/{docs-src/components → docs/pages}/textfield.js +3 -4
  218. package/{docs-src/components → docs/pages}/textfield.pug +87 -35
  219. package/docs/pages/tooltip.eta +94 -0
  220. package/{docs-src/components → docs/pages}/tooltip.js +0 -0
  221. package/{docs-src/components → docs/pages}/tooltip.pug +0 -1
  222. package/docs/pages/transition.eta +117 -0
  223. package/{docs-src/core → docs/pages}/transition.js +7 -8
  224. package/{docs-src/core → docs/pages}/transition.pug +0 -0
  225. package/docs/pages/type.eta +31 -0
  226. package/{docs-src/components → docs/pages}/type.js +0 -0
  227. package/{docs-src/components → docs/pages}/type.pug +0 -1
  228. package/docs/postrender.js +39 -0
  229. package/{docs-src → docs}/prerender.js +3 -9
  230. package/docs/pwa/_dialogs.eta +143 -0
  231. package/docs/pwa/_dialogs.pug +96 -0
  232. package/docs/pwa/_menus.eta +16 -0
  233. package/{docs-src → docs}/pwa/_menus.pug +0 -0
  234. package/docs/pwa/pwa-prerender.js +3 -0
  235. package/docs/pwa/pwa.eta +480 -0
  236. package/docs/pwa/pwa.js +306 -0
  237. package/{docs-src → docs}/pwa/pwa.pug +166 -263
  238. package/docs/pwa/pwa.scss +26 -0
  239. package/docs/spec.scss +26 -0
  240. package/docs/themes/_component-themes.scss +26 -0
  241. package/docs/themes/theme-colored-fallbacks.scss +17 -0
  242. package/docs/themes/theme-colored.scss +17 -0
  243. package/docs/themes/theme-default-fallbacks.scss +17 -0
  244. package/docs/themes/theme-default.scss +17 -0
  245. package/jsconfig.json +4 -2
  246. package/package.json +40 -27
  247. package/scripts/deploy-docs.sh +9 -0
  248. package/templates/index.eta +2 -0
  249. package/utils/function.js +3 -0
  250. package/webpack.config.cjs +257 -0
  251. package/_spec.scss +0 -27
  252. package/_theme.scss +0 -27
  253. package/components/list/expander.js +0 -142
  254. package/components/list/itemgroup.js +0 -22
  255. package/core/theme/_builder.scss +0 -116
  256. package/core/theme/index.scss +0 -68
  257. package/docs/appbar.html +0 -1
  258. package/docs/appbar.min.js +0 -2
  259. package/docs/appbar.min.js.map +0 -1
  260. package/docs/bottomnav.html +0 -1
  261. package/docs/bottomnav.min.js +0 -2
  262. package/docs/bottomnav.min.js.map +0 -1
  263. package/docs/button.html +0 -1
  264. package/docs/button.min.js +0 -2
  265. package/docs/button.min.js.map +0 -1
  266. package/docs/card.html +0 -1
  267. package/docs/card.min.js +0 -2
  268. package/docs/card.min.js.map +0 -1
  269. package/docs/chip.html +0 -1
  270. package/docs/chip.min.js +0 -2
  271. package/docs/chip.min.js.map +0 -1
  272. package/docs/color.html +0 -1
  273. package/docs/color.min.js +0 -2
  274. package/docs/color.min.js.map +0 -1
  275. package/docs/datatable.html +0 -1
  276. package/docs/datatable.min.js +0 -2
  277. package/docs/datatable.min.js.map +0 -1
  278. package/docs/default.common.min.js +0 -2
  279. package/docs/default.common.min.js.map +0 -1
  280. package/docs/dialog.html +0 -1
  281. package/docs/dialog.min.js +0 -2
  282. package/docs/dialog.min.js.map +0 -1
  283. package/docs/docs.min.css +0 -1
  284. package/docs/docs.min.js +0 -2
  285. package/docs/docs.min.js.map +0 -1
  286. package/docs/elevation.html +0 -1
  287. package/docs/elevation.min.js +0 -2
  288. package/docs/elevation.min.js.map +0 -1
  289. package/docs/fab.html +0 -1
  290. package/docs/fab.min.js +0 -2
  291. package/docs/fab.min.js.map +0 -1
  292. package/docs/grid.html +0 -1
  293. package/docs/grid.min.js +0 -2
  294. package/docs/grid.min.js.map +0 -1
  295. package/docs/index.html +0 -1
  296. package/docs/index.min.js +0 -2
  297. package/docs/index.min.js.map +0 -1
  298. package/docs/ink.html +0 -1
  299. package/docs/ink.min.js +0 -2
  300. package/docs/ink.min.js.map +0 -1
  301. package/docs/layout.html +0 -1
  302. package/docs/layout.min.js +0 -2
  303. package/docs/layout.min.js.map +0 -1
  304. package/docs/list.html +0 -1
  305. package/docs/list.min.js +0 -2
  306. package/docs/list.min.js.map +0 -1
  307. package/docs/menu.html +0 -1
  308. package/docs/menu.min.js +0 -2
  309. package/docs/menu.min.js.map +0 -1
  310. package/docs/overlay.html +0 -1
  311. package/docs/overlay.min.js +0 -2
  312. package/docs/overlay.min.js.map +0 -1
  313. package/docs/prerender.common.min.js +0 -2
  314. package/docs/prerender.common.min.js.map +0 -1
  315. package/docs/prerender.min.js +0 -2
  316. package/docs/prerender.min.js.map +0 -1
  317. package/docs/progress.html +0 -1
  318. package/docs/progress.min.js +0 -2
  319. package/docs/progress.min.js.map +0 -1
  320. package/docs/pwa-prerender.min.js +0 -2
  321. package/docs/pwa-prerender.min.js.map +0 -1
  322. package/docs/pwa.html +0 -11
  323. package/docs/pwa.min.css +0 -1
  324. package/docs/pwa.min.js +0 -2
  325. package/docs/pwa.min.js.map +0 -1
  326. package/docs/ripple.html +0 -1
  327. package/docs/ripple.min.js +0 -2
  328. package/docs/ripple.min.js.map +0 -1
  329. package/docs/search.html +0 -1
  330. package/docs/search.min.js +0 -2
  331. package/docs/search.min.js.map +0 -1
  332. package/docs/selection.html +0 -1
  333. package/docs/selection.min.js +0 -2
  334. package/docs/selection.min.js.map +0 -1
  335. package/docs/slider.html +0 -1
  336. package/docs/slider.min.js +0 -2
  337. package/docs/slider.min.js.map +0 -1
  338. package/docs/snackbar.html +0 -1
  339. package/docs/snackbar.min.js +0 -2
  340. package/docs/snackbar.min.js.map +0 -1
  341. package/docs/spec.min.css +0 -1
  342. package/docs/spec.min.js +0 -2
  343. package/docs/spec.min.js.map +0 -1
  344. package/docs/surface.html +0 -1
  345. package/docs/surface.min.js +0 -2
  346. package/docs/surface.min.js.map +0 -1
  347. package/docs/tab.html +0 -1
  348. package/docs/tab.min.js +0 -2
  349. package/docs/tab.min.js.map +0 -1
  350. package/docs/textfield.html +0 -2
  351. package/docs/textfield.min.js +0 -2
  352. package/docs/textfield.min.js.map +0 -1
  353. package/docs/theme-colored-fallbacks.min.css +0 -1
  354. package/docs/theme-colored-fallbacks.min.js +0 -2
  355. package/docs/theme-colored-fallbacks.min.js.map +0 -1
  356. package/docs/theme-colored.min.css +0 -1
  357. package/docs/theme-colored.min.js +0 -2
  358. package/docs/theme-colored.min.js.map +0 -1
  359. package/docs/theme-default-fallbacks.min.css +0 -1
  360. package/docs/theme-default-fallbacks.min.js +0 -2
  361. package/docs/theme-default-fallbacks.min.js.map +0 -1
  362. package/docs/theme-default.min.css +0 -1
  363. package/docs/theme-default.min.js +0 -2
  364. package/docs/theme-default.min.js.map +0 -1
  365. package/docs/themes-fallbacks.min.css +0 -1
  366. package/docs/themes-fallbacks.min.js +0 -2
  367. package/docs/themes-fallbacks.min.js.map +0 -1
  368. package/docs/themes.min.css +0 -1
  369. package/docs/themes.min.js +0 -2
  370. package/docs/themes.min.js.map +0 -1
  371. package/docs/tooltip.html +0 -1
  372. package/docs/tooltip.min.js +0 -2
  373. package/docs/tooltip.min.js.map +0 -1
  374. package/docs/transition.html +0 -1
  375. package/docs/transition.min.js +0 -2
  376. package/docs/transition.min.js.map +0 -1
  377. package/docs/type.html +0 -1
  378. package/docs/type.min.js +0 -2
  379. package/docs/type.min.js.map +0 -1
  380. package/docs-src/components/datatable.pug +0 -327
  381. package/docs-src/components/selection.js +0 -9
  382. package/docs-src/components/selection.pug +0 -77
  383. package/docs-src/core/color.pug +0 -201
  384. package/docs-src/core/overlay.js +0 -4
  385. package/docs-src/core/ripple.js +0 -4
  386. package/docs-src/index.pug +0 -9
  387. package/docs-src/pwa/_dialogs.pug +0 -15
  388. package/docs-src/pwa/pwa-prerender.js +0 -3
  389. package/docs-src/pwa/pwa.js +0 -182
  390. package/docs-src/pwa/pwa.scss +0 -25
  391. package/docs-src/spec.scss +0 -1
  392. package/docs-src/themes/theme-colored-fallbacks.scss +0 -14
  393. package/docs-src/themes/theme-colored.scss +0 -14
  394. package/docs-src/themes/theme-default-fallbacks.scss +0 -14
  395. package/docs-src/themes/theme-default.scss +0 -14
  396. package/index.js +0 -51
  397. package/index.scss +0 -2
  398. package/webpack.config.js +0 -187
@@ -1,15 +1,17 @@
1
1
  // https://material.io/design/components/tooltips.html#spec
2
2
 
3
- @import '../../core/_motion.scss';
4
- @import '../../core/_platform.scss';
5
- @import '../../core/_type.scss';
3
+ @use '../../core/_length.scss' as *;
4
+ @use '../../core/_motion.scss' as motion;
5
+ @use '../../core/_platform.scss' as platform;
6
+ @use '../../core/_type.scss' as type;
7
+
6
8
 
7
9
  // Guidelines state background is #616161, which is Gray 700
8
10
 
9
- $mdw-tooltip__desktop-margin: dp(14) !default;
10
- $mdw-tooltip__mobile-margin: dp(24) !default;
11
- $mdw-tooltip__touch-fade-out-time: 1.5s !default;
12
- $mdw-tooltip__touch-min-hold-time: 500ms !default;
11
+ $desktop-margin: dp(14) !default;
12
+ $mobile-margin: dp(24) !default;
13
+ $touch-fade-out-time: 1.5s !default;
14
+ $touch-min-hold-time: 500ms !default;
13
15
 
14
16
 
15
17
  .mdw-tooltip__wrapper {
@@ -27,7 +29,7 @@ $mdw-tooltip__touch-min-hold-time: 500ms !default;
27
29
  }
28
30
 
29
31
  .mdw-tooltip {
30
- @include type-rules('caption');
32
+ @include type.addRules('caption');
31
33
 
32
34
  position: absolute;
33
35
 
@@ -42,15 +44,15 @@ $mdw-tooltip__touch-min-hold-time: 500ms !default;
42
44
 
43
45
  cursor: none;
44
46
 
45
- transition-duration: $mdw-motion__fade-out-duration;
47
+ transition-duration: motion.$fadeOutDuration;
46
48
  transition-property: opacity;
47
- transition-timing-function: $mdw-motion__accelerate-easing;
49
+ transition-timing-function: motion.$accelerateEasing;
48
50
 
49
51
  opacity: 0;
50
52
  pointer-events: none;
51
53
  // Default Alignment is Center
52
54
 
53
- transform: translateX(-50%) translateY($mdw-tooltip__desktop-margin);
55
+ transform: translateX(-50%) translateY($desktop-margin);
54
56
  z-index: 8;
55
57
 
56
58
  border-radius: dp(4);
@@ -62,8 +64,8 @@ $mdw-tooltip__touch-min-hold-time: 500ms !default;
62
64
  .mdw-tooltip__target:focus > &,
63
65
  .mdw-tooltip__wrapper > .mdw-tooltip__target:hover ~ &,
64
66
  .mdw-tooltip__wrapper > .mdw-tooltip__target:not([tabindex="-1"]):focus ~ & {
65
- transition-duration: $mdw-motion__fade-in-duration;
66
- transition-timing-function: $mdw-motion__accelerate-easing;
67
+ transition-duration: motion.$fadeInDuration;
68
+ transition-timing-function: motion.$accelerateEasing;
67
69
 
68
70
  opacity: 0.9;
69
71
  }
@@ -82,7 +84,7 @@ $mdw-tooltip__touch-min-hold-time: 500ms !default;
82
84
 
83
85
  &[mdw-align="start"],
84
86
  &[mdw-align="end"] {
85
- transform: translateY($mdw-tooltip__desktop-margin);
87
+ transform: translateY($desktop-margin);
86
88
  }
87
89
 
88
90
  &[mdw-position="start"],
@@ -110,11 +112,11 @@ $mdw-tooltip__touch-min-hold-time: 500ms !default;
110
112
  &[mdw-position="top"] {
111
113
  top: 0;
112
114
 
113
- transform: translateX(-50%) translateY(-100%) translateY(-$mdw-tooltip__desktop-margin);
115
+ transform: translateX(-50%) translateY(-100%) translateY(-$desktop-margin);
114
116
 
115
117
  &[mdw-align="start"],
116
118
  &[mdw-align="end"] {
117
- transform: translateY(-100%) translateY(-$mdw-tooltip__desktop-margin);
119
+ transform: translateY(-100%) translateY(-$desktop-margin);
118
120
  }
119
121
  }
120
122
 
@@ -140,27 +142,27 @@ $mdw-tooltip__touch-min-hold-time: 500ms !default;
140
142
  opacity: 0;
141
143
  }
142
144
 
143
- @include mdw-platform__has-touch-support {
145
+ @include platform.ifHasTouch() {
144
146
  .mdw-tooltip {
145
147
  padding: dp(10) dp(16);
146
148
 
147
- transition-delay: $mdw-tooltip__touch-min-hold-time;
149
+ transition-delay: $touch-min-hold-time;
148
150
 
149
- transform: translateX(-50%) translateY($mdw-tooltip__mobile-margin);
151
+ transform: translateX(-50%) translateY($mobile-margin);
150
152
 
151
153
  font-size: sp(14);
152
154
 
153
155
  &[mdw-align="start"],
154
156
  &[mdw-align="end"] {
155
- transform: translateY($mdw-tooltip__mobile-margin);
157
+ transform: translateY($mobile-margin);
156
158
  }
157
159
 
158
160
  &[mdw-position="top"] {
159
- transform: translateX(-50%) translateY(-100%) translateY(-$mdw-tooltip__mobile-margin);
161
+ transform: translateX(-50%) translateY(-100%) translateY(-$mobile-margin);
160
162
 
161
163
  &[mdw-align="start"],
162
164
  &[mdw-align="end"] {
163
- transform: translateY(-100%) translateY(-$mdw-tooltip__mobile-margin);
165
+ transform: translateY(-100%) translateY(-$mobile-margin);
164
166
  }
165
167
  }
166
168
 
@@ -169,15 +171,15 @@ $mdw-tooltip__touch-min-hold-time: 500ms !default;
169
171
  .mdw-tooltip__target:focus:not(:active) > &,
170
172
  .mdw-tooltip__wrapper > .mdw-tooltip__target:hover:not(:active) ~ &,
171
173
  .mdw-tooltip__wrapper > .mdw-tooltip__target:not([tabindex="-1"]):focus:not(:active) ~ & {
172
- transition-delay: $mdw-tooltip__touch-fade-out-time;
174
+ transition-delay: $touch-fade-out-time;
173
175
 
174
176
  opacity: 0;
175
177
  }
176
178
 
177
179
  .mdw-tooltip__target:active > &,
178
180
  .mdw-tooltip__wrapper > .mdw-tooltip__target:active ~ .mdw-tooltip {
179
- transition-duration: $mdw-motion__fade-in-duration;
180
- transition-timing-function: $mdw-motion__accelerate-easing;
181
+ transition-duration: motion.$fadeInDuration;
182
+ transition-timing-function: motion.$accelerateEasing;
181
183
 
182
184
  opacity: 0.9;
183
185
  }
@@ -1,2 +1,2 @@
1
- @import './_spec.scss';
2
- @import './_theme.scss';
1
+ @forward './_spec.scss';
2
+ @forward './_theme.scss';
@@ -1,8 +1,12 @@
1
1
  // https://material.io/guidelines/style/typography.html
2
2
 
3
- @import '../../core/_breakpoint.scss';
4
- @import '../../core/_platform.scss';
5
- @import '../../core/_type.scss';
3
+ @use '../../core/_breakpoint.scss' as breakpoint;
4
+ @use '../../core/_length.scss' as *;
5
+ @use '../../core/_type.scss' as type;
6
+
7
+ // 4 dp/sp baselines
8
+ $baselines: (4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 48, 56, 64) !default;
9
+
6
10
 
7
11
  h1.mdw-type,
8
12
  h2.mdw-type,
@@ -15,151 +19,156 @@ p.mdw-type {
15
19
  }
16
20
 
17
21
  p.mdw-type {
18
- hyphens: auto;
19
- -webkit-hyphens: auto;
20
22
  -ms-hyphens: auto;
23
+ -webkit-hyphens: auto;
24
+ hyphens: auto;
21
25
  }
22
26
 
23
27
  h1.mdw-type,
24
28
  .mdw-type[mdw-style="h1"] {
25
- @include type-rules('h1');
29
+ @include type.addRules('h1');
26
30
  }
27
31
 
28
32
  h2.mdw-type,
29
33
  .mdw-type[mdw-style="h2"] {
30
- @include type-rules('h2');
34
+ @include type.addRules('h2');
31
35
  }
32
36
 
33
37
  h3.mdw-type,
34
38
  .mdw-type[mdw-style="h3"] {
35
- @include type-rules('h3');
39
+ @include type.addRules('h3');
36
40
  }
37
41
 
38
42
  h4.mdw-type,
39
43
  .mdw-type[mdw-style="h4"] {
40
- @include type-rules('h4');
44
+ @include type.addRules('h4');
41
45
  }
42
46
 
43
47
  h5.mdw-type,
44
48
  .mdw-type[mdw-style="h5"] {
45
- @include type-rules('h5');
49
+ @include type.addRules('h5');
46
50
  }
47
51
 
48
52
  h6.mdw-type,
49
53
  .mdw-type[mdw-style="h6"] {
50
- @include type-rules('h6');
54
+ @include type.addRules('h6');
51
55
  }
52
56
 
53
57
  .mdw-type[mdw-style="subtitle"] {
54
- @include type-rules('subtitle');
58
+ @include type.addRules('subtitle');
55
59
  }
56
60
 
57
61
  .mdw-type[mdw-style="subtitle-2"] {
58
- @include type-rules('subtitle-2');
62
+ @include type.addRules('subtitle-2');
59
63
  }
60
64
 
61
65
  body.mdw-type,
62
66
  p.mdw-type,
63
67
  .mdw-type[mdw-style="body"] {
64
- @include type-rules('body');
68
+ @include type.addRules('body');
65
69
  }
66
70
 
67
71
  .mdw-type[mdw-style="body-2"] {
68
- @include type-rules('body-2');
72
+ @include type.addRules('body-2');
69
73
  }
70
74
 
71
75
  .mdw-type[mdw-style="button"] {
72
- @include type-rules('button');
76
+ @include type.addRules('button');
73
77
  }
74
78
 
75
79
  .mdw-type[mdw-style="caption"] {
76
- @include type-rules('caption');
80
+ @include type.addRules('caption');
77
81
  }
78
82
 
79
83
  .mdw-type[mdw-style="overline"] {
80
- @include type-rules('overline');
84
+ @include type.addRules('overline');
81
85
  }
82
86
 
83
87
  // MD-2014 Typography
84
88
 
85
89
 
86
90
  .mdw-type[mdw-style|="display"] {
87
- font-weight: $font-weight-regular;
91
+ font-weight: type.$weightRegular;
88
92
  font-size: sp(34);
89
93
  line-height: sp(40);
90
94
  }
95
+
91
96
  .mdw-type[mdw-style="display-4"] {
97
+ font-weight: type.$weightLight;
92
98
  font-size: sp(112);
93
99
  line-height: normal;
94
- font-weight: $font-weight-light;
95
100
  white-space: nowrap;
96
101
  }
102
+
97
103
  .mdw-type[mdw-style="display-3"] {
98
104
  font-size: sp(56);
99
105
  line-height: normal;
100
106
  white-space: nowrap;
101
107
  }
108
+
102
109
  .mdw-type[mdw-style="display-2"] {
103
110
  font-size: sp(45);
104
111
  line-height: sp(48);
105
112
  }
113
+
106
114
  .mdw-type[mdw-style="headline"] {
115
+ font-weight: type.$weightRegular;
107
116
  font-size: sp(24);
108
117
  line-height: sp(32);
109
- font-weight: $font-weight-regular;
110
118
  }
119
+
111
120
  .mdw-type[mdw-style="title"] {
121
+ font-weight: type.$weightMedium;
112
122
  font-size: sp(20);
113
- font-weight: $font-weight-medium;
114
123
  white-space: nowrap;
115
124
  }
125
+
116
126
  .mdw-type[mdw-style|="subheading"] {
127
+ font-weight: type.$weightRegular;
117
128
  font-size: sp(15);
118
- @include mdw-breakpoint__tablet-device__max() {
119
- font-size: sp(16);
129
+ @include breakpoint.maxTabletDevice() {
130
+ font-size: sp(16);
120
131
  }
121
- font-weight: $font-weight-regular;
122
132
  line-height: sp(24);
123
133
  }
134
+
124
135
  .mdw-type[mdw-style="subheading-2"] {
125
136
  line-height: sp(28);
126
- @include mdw-breakpoint__tablet-device__max() {
127
- line-height: sp(28);
137
+ @include breakpoint.maxTabletDevice() {
138
+ line-height: sp(28);
128
139
  }
129
140
  }
130
141
 
131
142
  .mdw-type[mdw-texttop-top]::before {
132
- content: '';
133
143
  display: inline-block;
144
+ content: '';
145
+
134
146
  height: 1em;
135
147
  }
136
148
 
137
149
  .mdw-type[mdw-baseline-top]::before {
138
- content: '';
139
150
  display: inline-block;
151
+ content: '';
140
152
  }
141
153
 
142
154
  .mdw-type[mdw-baseline-next],
143
155
  .mdw-type[mdw-baseline-bottom] {
144
156
  &::after {
145
- content: '';
146
157
  display: inline-block;
158
+ content: '';
159
+
160
+ min-height: dp(1); // Safari workaround
147
161
  }
148
162
  }
149
163
 
150
164
  .mdw-type[mdw-baseline-next] {
151
165
  & + .mdw-type::before {
152
- content: '';
153
166
  display: inline-block;
167
+ content: '';
154
168
  }
155
169
  }
156
170
 
157
- // 4 dp/sp baselines
158
- $mdw-type__baselines: (
159
- 4, 8, 12, 16, 20, 24, 28, 32, 36,
160
- 40, 48, 56, 64) !default;
161
-
162
- @each $bl in $mdw-type__baselines {
171
+ @each $bl in $baselines {
163
172
  .mdw-type[mdw-texttop-top="#{$bl}dp"] {
164
173
  &::before {
165
174
  margin-top: dp($bl);
@@ -192,20 +201,24 @@ $mdw-type__baselines: (
192
201
  }
193
202
  .mdw-type[mdw-baseline-next="#{$bl}dp"] {
194
203
  margin-bottom: dp(-$bl);
204
+
195
205
  &::after {
196
206
  vertical-align: dp(-$bl);
197
207
  }
208
+
198
209
  & + .mdw-type::before {
199
210
  height: dp($bl);
200
211
  }
201
212
  }
202
213
  .mdw-type[mdw-baseline-next="#{$bl}"] {
203
214
  margin-bottom: sp(-$bl);
215
+
204
216
  &::after {
205
217
  vertical-align: sp(-$bl);
206
218
  }
219
+
207
220
  & + .mdw-type::before {
208
221
  height: sp($bl);
209
222
  }
210
223
  }
211
- }
224
+ }
@@ -1,2 +1,2 @@
1
- @import './_spec.scss';
2
- @import './_theme.scss';
1
+ @forward './_spec.scss';
2
+ @forward './_theme.scss';
@@ -1,145 +1,137 @@
1
1
  // https://material.io/design/layout/responsive-layout-grid.html#breakpoints
2
2
 
3
- @import './_platform.scss';
4
-
5
- $mdw-breakpoint__portrait__small-handset: dp(0) !default;
6
- $mdw-breakpoint__portrait__medium-handset: dp(360) !default;
7
- $mdw-breakpoint__portrait__large-handset: dp(400) !default;
8
- $mdw-breakpoint__portrait__small-tablet: dp(600) !default;
9
- $mdw-breakpoint__portrait__large-tablet: dp(720) !default;
10
- $mdw-breakpoint__portrait__desktop: dp(960) !default;
11
-
12
- $mdw-breakpoint__landscape__small-handset: dp(480) !default;
13
- $mdw-breakpoint__landscape__medium-handset: dp(600) !default;
14
- $mdw-breakpoint__landscape__large-handset: dp(720) !default;
15
- $mdw-breakpoint__landscape__small-tablet: dp(960) !default;
16
- $mdw-breakpoint__landscape__large-tablet: dp(1024) !default;
17
- $mdw-breakpoint__landscape__desktop: dp(1440) !default;
18
-
19
- $mdw-breakpoint__window__xsmall: dp(0) !default;
20
- $mdw-breakpoint__window__small: dp(600) !default;
21
- $mdw-breakpoint__window__medium: dp(1024) !default;
22
- $mdw-breakpoint__window__large: dp(1440) !default;
23
- $mdw-breakpoint__window__xlarge: dp(1920) !default;
24
-
25
- $mdw-breakpoint__columns__4: dp(0) !default;
26
- $mdw-breakpoint__columns__8: dp(600) !default;
27
- $mdw-breakpoint__columns__12: dp(840) !default;
3
+ @use "./_length.scss" as *;
4
+
5
+ $portraitSmallHandset: dp(0) !default;
6
+ $portraitMediumHandset: dp(360) !default;
7
+ $portraitLargeHandset: dp(400) !default;
8
+ $portraitSmallTablet: dp(600) !default;
9
+ $portraitLargeTablet: dp(720) !default;
10
+ $portraitDesktop: dp(960) !default;
11
+
12
+ $landscapeSmallHandset: dp(480) !default;
13
+ $landscapeMediumHandset: dp(600) !default;
14
+ $landscapeLargeHandset: dp(720) !default;
15
+ $landscapeSmallTablet: dp(960) !default;
16
+ $landscapeLargeTablet: dp(1024) !default;
17
+ $landscapeDesktop: dp(1440) !default;
18
+
19
+ $windowXSmall: dp(0) !default;
20
+ $windowSmall: dp(600) !default;
21
+ $windowMedium: dp(1024) !default;
22
+ $windowLarge: dp(1440) !default;
23
+ $windowXLarge: dp(1920) !default;
24
+
25
+ $columns4: dp(0) !default;
26
+ $columns8: dp(600) !default;
27
+ $columns12: dp(840) !default;
28
28
 
29
29
  // Column-count based mixins
30
30
 
31
- @mixin mdw-breakpoint__4-columns {
32
- @media screen and (max-width: #{$mdw-breakpoint__columns__8 - 1}) {
31
+ @mixin is4Columns {
32
+ @media (max-width: #{$columns8 - 1}) {
33
33
  @content;
34
34
  }
35
35
  }
36
36
 
37
- @mixin mdw-breakpoint__8-columns__min {
38
- @media screen and (min-width: $mdw-breakpoint__columns__8) {
37
+ @mixin min8Columns {
38
+ @media (min-width: $columns8) {
39
39
  @content;
40
40
  }
41
41
  }
42
42
 
43
- @mixin mdw-breakpoint__8-columns__max {
44
- @media screen and (max-width: #{$mdw-breakpoint__columns__12 - 1}) {
43
+ @mixin max8Columns {
44
+ @media (max-width: #{$columns12 - 1}) {
45
45
  @content;
46
46
  }
47
47
  }
48
48
 
49
- @mixin mdw-breakpoint__8-columns {
50
- @media screen
51
- and (min-width: $mdw-breakpoint__columns__8)
52
- and (max-width: #{$mdw-breakpoint__columns__12 - 1}) {
49
+ @mixin is8Columns {
50
+ @media (min-width: $columns8) and (max-width: #{$columns12 - 1}) {
53
51
  @content;
54
52
  }
55
53
  }
56
54
 
57
- @mixin mdw-breakpoint__12-columns {
58
- @media screen and (min-width: $mdw-breakpoint__columns__12) {
55
+ @mixin is12Columns {
56
+ @media (min-width: $columns12) {
59
57
  @content;
60
58
  }
61
59
  }
62
60
 
63
61
  // Smallest width less than 600dp
64
62
 
65
- @mixin mdw-breakpoint__16dp-margin {
63
+ @mixin has16DPMargin {
66
64
  @media
67
- screen and (orientation:portrait) and (max-width: dp(599)),
68
- screen and (orientation:landscape) and (max-height: dp(599)) {
65
+ (orientation:portrait) and (max-width: dp(599)),
66
+ (orientation:landscape) and (max-height: dp(599)) {
69
67
  @content;
70
68
  }
71
69
  }
72
70
 
73
71
  // Window-size based mixins
74
72
 
75
- @mixin mdw-breakpoint__xsmall-window {
76
- @media screen and (max-width: #{$mdw-breakpoint__window__small - 1}) {
73
+ @mixin isXSmallWindow {
74
+ @media (max-width: #{$windowSmall - 1}) {
77
75
  @content;
78
76
  }
79
77
  }
80
78
 
81
- @mixin mdw-breakpoint__small-window__min {
82
- @media screen and (min-width: #{$mdw-breakpoint__window__small}) {
79
+ @mixin minSmallWindow {
80
+ @media (min-width: #{$windowSmall}) {
83
81
  @content;
84
82
  }
85
83
  }
86
84
 
87
- @mixin mdw-breakpoint__small-window__max {
88
- @media screen and (max-width: #{$mdw-breakpoint__window__medium - 1}) {
85
+ @mixin maxSmallWindow {
86
+ @media (max-width: #{$windowMedium - 1}) {
89
87
  @content;
90
88
  }
91
89
  }
92
90
 
93
- @mixin mdw-breakpoint__small-window {
94
- @media screen
95
- and (min-width: $mdw-breakpoint__window__small)
96
- and (max-width: #{$mdw-breakpoint__window__medium - 1}) {
91
+ @mixin isSmallWindow {
92
+ @media (min-width: $windowSmall) and (max-width: #{$windowMedium - 1}) {
97
93
  @content;
98
94
  }
99
95
  }
100
96
 
101
- @mixin mdw-breakpoint__medium-window__min {
102
- @media screen and (min-width: #{$mdw-breakpoint__window__medium}) {
97
+ @mixin minMediumWindow {
98
+ @media (min-width: #{$windowMedium}) {
103
99
  @content;
104
100
  }
105
101
  }
106
102
 
107
- @mixin mdw-breakpoint__medium-window__max {
108
- @media screen and (max-width: #{$mdw-breakpoint__window__large - 1}) {
103
+ @mixin maxMediumWindow {
104
+ @media (max-width: #{$windowLarge - 1}) {
109
105
  @content;
110
106
  }
111
107
  }
112
108
 
113
- @mixin mdw-breakpoint__medium-window {
114
- @media screen
115
- and (min-width: $mdw-breakpoint__window__medium)
116
- and (max-width: #{$mdw-breakpoint__window__large - 1}) {
109
+ @mixin isMediumWindow {
110
+ @media (min-width: $windowMedium) and (max-width: #{$windowLarge - 1}) {
117
111
  @content;
118
112
  }
119
113
  }
120
114
 
121
- @mixin mdw-breakpoint__large-window__min {
122
- @media screen and (min-width: #{$mdw-breakpoint__window__large}) {
115
+ @mixin minLargeWindow {
116
+ @media (min-width: #{$windowLarge}) {
123
117
  @content;
124
118
  }
125
119
  }
126
120
 
127
- @mixin mdw-breakpoint__large-window__max {
128
- @media screen and (max-width: #{$mdw-breakpoint__window__xlarge - 1}) {
121
+ @mixin maxLargeWindow {
122
+ @media (max-width: #{$windowXLarge - 1}) {
129
123
  @content;
130
124
  }
131
125
  }
132
126
 
133
- @mixin mdw-breakpoint__large-window {
134
- @media screen
135
- and (min-width: $mdw-breakpoint__window__large)
136
- and (max-width: #{$mdw-breakpoint__window__xlarge - 1}) {
127
+ @mixin isLargeWindow {
128
+ @media (min-width: $windowLarge) and (max-width: #{$windowXLarge - 1}) {
137
129
  @content;
138
130
  }
139
131
  }
140
132
 
141
- @mixin mdw-breakpoint__xlarge-window {
142
- @media screen and (min-width: $mdw-breakpoint__window__xlarge) {
133
+ @mixin isXLargeWindow {
134
+ @media (min-width: $windowXLarge) {
143
135
  @content;
144
136
  }
145
137
  }
@@ -151,54 +143,46 @@ $mdw-breakpoint__columns__12: dp(840) !default;
151
143
  // min-device-width is unsafe due to older Android bugs
152
144
  // https://developers.google.com/web/fundamentals/design-and-ux/responsive/
153
145
 
154
- @mixin mdw-breakpoint__mobile-device__portrait {
155
- @media screen
156
- and (max-device-width: #{$mdw-breakpoint__portrait__small-tablet - 1})
146
+ @mixin isMobileDevicePortrait {
147
+ @media (max-device-width: #{$portraitSmallTablet - 1})
157
148
  and (max-device-aspect-ratio: 1/1) {
158
149
  @content;
159
150
  }
160
151
  }
161
- @mixin mdw-breakpoint__mobile-device__landscape {
162
- @media screen
163
- and (max-device-width: #{$mdw-breakpoint__landscape__small-tablet - 1})
152
+ @mixin isMobileDeviceLandscape {
153
+ @media (max-device-width: #{$landscapeSmallTablet - 1})
164
154
  and (min-device-aspect-ratio: 1/1) {
165
155
  @content;
166
156
  }
167
157
  }
168
158
 
169
- @mixin mdw-breakpoint__mobile-device {
159
+ @mixin isMobileDevice {
170
160
  @media
171
- screen
172
- and (max-device-width: #{$mdw-breakpoint__portrait__small-tablet - 1})
161
+ (max-device-width: #{$portraitSmallTablet - 1})
173
162
  and (max-device-aspect-ratio: 1/1),
174
- screen
175
- and (max-device-width: #{$mdw-breakpoint__landscape__small-tablet - 1})
163
+ (max-device-width: #{$landscapeSmallTablet - 1})
176
164
  and (min-device-aspect-ratio: 1/1) {
177
165
  @content;
178
166
  }
179
167
  }
180
168
 
181
- @mixin mdw-breakpoint__tablet-device {
169
+ @mixin isTabletDevice {
182
170
  @media
183
- screen
184
- and (min-width: $mdw-breakpoint__portrait__small-tablet)
185
- and (max-device-width: #{$mdw-breakpoint__portrait__desktop - 1})
171
+ (min-width: $portraitSmallTablet)
172
+ and (max-device-width: #{$portraitDesktop - 1})
186
173
  and (max-device-aspect-ratio: 1/1),
187
- screen
188
- and (min-width: $mdw-breakpoint__landscape__small-tablet)
189
- and (max-device-width: #{$mdw-breakpoint__landscape__desktop - 1})
174
+ (min-width: $landscapeSmallTablet)
175
+ and (max-device-width: #{$landscapeDesktop - 1})
190
176
  and (min-device-aspect-ratio: 1/1) {
191
177
  @content;
192
178
  }
193
179
  }
194
180
 
195
- @mixin mdw-breakpoint__tablet-device__max {
181
+ @mixin maxTabletDevice {
196
182
  @media
197
- screen
198
- and (max-device-width: #{$mdw-breakpoint__portrait__desktop - 1})
183
+ (max-device-width: #{$portraitDesktop - 1})
199
184
  and (max-device-aspect-ratio: 1/1),
200
- screen
201
- and (max-device-width: #{$mdw-breakpoint__landscape__desktop - 1})
185
+ (max-device-width: #{$landscapeDesktop - 1})
202
186
  and (min-device-aspect-ratio: 1/1) {
203
187
  @content;
204
188
  }