@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.
- package/.eslintrc.json +136 -30
- package/.stylelintrc.json +6 -40
- package/.vscode/launch.json +20 -5
- package/CHANGELOG.md +24 -0
- package/README.md +12 -9
- package/adapters/datatable/column.js +82 -74
- package/adapters/datatable/index.js +173 -131
- package/adapters/dom/index.js +529 -75
- package/adapters/list/index.js +25 -12
- package/adapters/search/index.js +13 -13
- package/components/appbar/_spec.scss +87 -64
- package/components/appbar/index.scss +2 -2
- package/components/banner/_spec.scss +8 -8
- package/components/banner/index.scss +2 -2
- package/components/bottomnav/_spec.scss +22 -17
- package/components/bottomnav/index.js +61 -52
- package/components/bottomnav/index.scss +2 -2
- package/components/bottomnav/item.js +44 -25
- package/components/button/README.md +14 -14
- package/components/button/_spec.scss +23 -22
- package/components/button/_theme.scss +37 -21
- package/components/button/index.eta +32 -0
- package/components/button/index.js +12 -12
- package/components/button/index.scss +2 -2
- package/components/card/_spec.scss +40 -36
- package/components/card/index.scss +2 -2
- package/components/chip/_spec.scss +7 -8
- package/components/chip/_theme.scss +31 -31
- package/components/chip/index.js +3 -2
- package/components/chip/index.scss +2 -2
- package/components/chip/item.js +1 -16
- package/components/datatable/_spec.scss +71 -85
- package/components/datatable/_theme.scss +61 -156
- package/components/datatable/cell.js +45 -0
- package/components/datatable/columnheader.js +47 -0
- package/components/datatable/index.js +279 -366
- package/components/datatable/index.scss +2 -2
- package/components/datatable/row.js +49 -0
- package/components/datatable/rowheader.js +18 -0
- package/components/dialog/_spec.scss +61 -41
- package/components/dialog/index.js +325 -297
- package/components/dialog/index.scss +2 -2
- package/components/divider/_spec.scss +8 -6
- package/components/divider/index.scss +2 -2
- package/components/elevation/_spec.scss +2 -2
- package/components/elevation/index.scss +2 -2
- package/components/fab/_spec.scss +23 -24
- package/components/fab/index.js +50 -50
- package/components/fab/index.scss +2 -2
- package/components/grid/_spec.scss +33 -31
- package/components/grid/index.scss +2 -2
- package/components/layout/_mixins.scss +5 -5
- package/components/layout/_spec.scss +206 -176
- package/components/layout/_theme.scss +14 -16
- package/components/layout/index.js +181 -153
- package/components/layout/index.scss +2 -2
- package/components/list/_spec.scss +117 -104
- package/components/list/_theme.scss +31 -34
- package/components/list/content.js +68 -52
- package/components/list/index.js +194 -61
- package/components/list/index.scss +2 -2
- package/components/list/item.js +136 -12
- package/components/list/secondary.js +46 -0
- package/components/menu/_spec.scss +32 -19
- package/components/menu/index.js +242 -229
- package/components/menu/index.scss +2 -2
- package/components/menu/item.js +95 -110
- package/components/progress/_spec.scss +35 -27
- package/components/progress/index.js +21 -0
- package/components/progress/index.scss +2 -1
- package/components/selection/_spec.scss +242 -224
- package/components/selection/_theme.scss +100 -95
- package/components/selection/index.eta +60 -0
- package/components/selection/index.js +76 -0
- package/components/selection/index.pug +15 -8
- package/components/selection/index.scss +2 -2
- package/components/selection/input.js +56 -0
- package/components/selection/radiogroup.js +47 -0
- package/components/slider/_spec.scss +10 -8
- package/components/slider/index.scss +2 -2
- package/components/snackbar/_spec.scss +22 -21
- package/components/snackbar/index.js +102 -111
- package/components/snackbar/index.scss +2 -2
- package/components/tab/_spec.scss +20 -19
- package/components/tab/content.js +41 -40
- package/components/tab/index.js +192 -99
- package/components/tab/index.scss +2 -2
- package/components/tab/item.js +38 -55
- package/components/tab/list.js +96 -72
- package/components/tab/panel.js +12 -13
- package/components/template/_theme.scss +11 -11
- package/components/textfield/_mixins.scss +52 -0
- package/components/textfield/_spec.scss +215 -266
- package/components/textfield/_theme.scss +95 -72
- package/components/textfield/index.eta +74 -0
- package/components/textfield/index.js +63 -57
- package/components/textfield/index.scss +2 -2
- package/components/tooltip/_spec.scss +27 -25
- package/components/tooltip/index.scss +2 -2
- package/components/type/_spec.scss +51 -38
- package/components/type/index.scss +2 -2
- package/core/_breakpoint.scss +75 -91
- package/core/_elevation.scss +10 -10
- package/core/_length.scss +9 -0
- package/core/_motion.scss +14 -14
- package/core/_platform.scss +9 -15
- package/core/_type.scss +33 -32
- package/core/aria/attributes.js +125 -25
- package/core/aria/button.js +23 -23
- package/core/aria/keyboard.js +93 -0
- package/core/aria/rovingtabindex.js +69 -154
- package/core/aria/tab.js +31 -28
- package/core/color/_theme.scss +240 -280
- package/core/color/index.scss +2 -2
- package/core/document/index.js +39 -0
- package/core/dom.js +12 -12
- package/core/overlay/_spec.scss +0 -3
- package/core/overlay/_theme.scss +56 -74
- package/core/overlay/index.js +49 -18
- package/core/overlay/index.scss +2 -2
- package/core/ripple/_spec.scss +22 -39
- package/core/ripple/_theme.scss +13 -13
- package/core/ripple/index.js +137 -134
- package/core/ripple/index.scss +2 -2
- package/core/theme/_config.scss +2 -0
- package/core/theme/_mixins.scss +172 -0
- package/core/theme/_palettes.scss +155 -135
- package/core/theme/_variables.scss +24 -15
- package/core/theme/index.js +50 -0
- package/core/throttler.js +1 -1
- package/core/transition/index.js +36 -20
- package/{docs-src → docs}/_flex.scss +0 -0
- package/{docs-src → docs}/_menuoptions.js +21 -34
- package/{docs-src → docs}/_mixins.pug +39 -26
- package/docs/_partials/_androidnavbar.eta +5 -0
- package/docs/_partials/_androidstatusbar.eta +13 -0
- package/docs/_partials/_appbar.eta +29 -0
- package/docs/_partials/_buttontest.eta +31 -0
- package/docs/_partials/_header.eta +149 -0
- package/docs/_partials/_navlistitem.eta +16 -0
- package/docs/_partials/_target.eta +1 -0
- package/{docs-src → docs}/_sample-utils.js +8 -6
- package/{docs-src → docs}/_storage.js +0 -0
- package/{docs-src → docs}/docs.scss +5 -2
- package/docs/index.eta +16 -0
- package/{docs-src → docs}/index.js +0 -0
- package/docs/pages/appbar.eta +114 -0
- package/{docs-src/components → docs/pages}/appbar.js +0 -0
- package/{docs-src/components → docs/pages}/appbar.pug +15 -18
- package/docs/pages/bottomnav.eta +188 -0
- package/{docs-src/components → docs/pages}/bottomnav.js +23 -24
- package/{docs-src/components → docs/pages}/bottomnav.pug +4 -4
- package/docs/pages/button.eta +124 -0
- package/{docs-src/components → docs/pages}/button.js +19 -19
- package/{docs-src/components → docs/pages}/button.pug +15 -15
- package/docs/pages/card.eta +90 -0
- package/{docs-src/components → docs/pages}/card.js +3 -3
- package/{docs-src/components → docs/pages}/card.pug +7 -7
- package/docs/pages/chip.eta +122 -0
- package/{docs-src/components → docs/pages}/chip.js +3 -6
- package/{docs-src/components → docs/pages}/chip.pug +2 -2
- package/docs/pages/color.eta +143 -0
- package/{docs-src/core → docs/pages}/color.js +95 -20
- package/docs/pages/color.pug +121 -0
- package/docs/pages/datatable.eta +323 -0
- package/{docs-src/components → docs/pages}/datatable.js +26 -13
- package/docs/pages/datatable.pug +283 -0
- package/docs/pages/dialog.eta +186 -0
- package/{docs-src/components → docs/pages}/dialog.js +26 -13
- package/{docs-src/components → docs/pages}/dialog.pug +46 -28
- package/docs/pages/dom.eta +26 -0
- package/docs/pages/dom.js +143 -0
- package/docs/pages/dom.pug +22 -0
- package/docs/pages/elevation.eta +35 -0
- package/{docs-src/components → docs/pages}/elevation.js +0 -0
- package/{docs-src/components → docs/pages}/elevation.pug +0 -0
- package/docs/pages/fab.eta +99 -0
- package/{docs-src/components → docs/pages}/fab.js +3 -3
- package/{docs-src/components → docs/pages}/fab.pug +2 -2
- package/docs/pages/grid.eta +135 -0
- package/{docs-src/components → docs/pages}/grid.js +1 -1
- package/{docs-src/components → docs/pages}/grid.pug +3 -3
- package/docs/pages/layout.eta +8 -0
- package/{docs-src/components → docs/pages}/layout.js +0 -0
- package/{docs-src/components → docs/pages}/layout.pug +0 -0
- package/docs/pages/list.eta +465 -0
- package/{docs-src/components → docs/pages}/list.js +2 -2
- package/{docs-src/components → docs/pages}/list.pug +7 -14
- package/docs/pages/menu.eta +276 -0
- package/{docs-src/components → docs/pages}/menu.js +14 -10
- package/{docs-src/components → docs/pages}/menu.pug +0 -0
- package/docs/pages/overlay.eta +69 -0
- package/docs/pages/overlay.js +4 -0
- package/{docs-src/core → docs/pages}/overlay.pug +14 -11
- package/docs/pages/progress.eta +23 -0
- package/{docs-src/components → docs/pages}/progress.js +1 -1
- package/{docs-src/components → docs/pages}/progress.pug +1 -1
- package/docs/pages/ripple.eta +27 -0
- package/docs/pages/ripple.js +4 -0
- package/{docs-src/core → docs/pages}/ripple.pug +4 -4
- package/docs/pages/search.eta +246 -0
- package/{docs-src/components → docs/pages}/search.js +59 -42
- package/{docs-src/components → docs/pages}/search.pug +50 -51
- package/docs/pages/selection.eta +111 -0
- package/docs/pages/selection.js +13 -0
- package/docs/pages/selection.pug +74 -0
- package/docs/pages/slider.eta +23 -0
- package/{docs-src/components → docs/pages}/slider.js +0 -0
- package/{docs-src/components → docs/pages}/slider.pug +0 -0
- package/docs/pages/snackbar.eta +83 -0
- package/{docs-src/components → docs/pages}/snackbar.js +3 -3
- package/{docs-src/components → docs/pages}/snackbar.pug +0 -0
- package/docs/pages/tab.eta +421 -0
- package/{docs-src/components → docs/pages}/tab.js +18 -35
- package/{docs-src/components → docs/pages}/tab.pug +4 -4
- package/docs/pages/textfield.eta +486 -0
- package/{docs-src/components → docs/pages}/textfield.js +3 -4
- package/{docs-src/components → docs/pages}/textfield.pug +87 -35
- package/docs/pages/tooltip.eta +94 -0
- package/{docs-src/components → docs/pages}/tooltip.js +0 -0
- package/{docs-src/components → docs/pages}/tooltip.pug +0 -1
- package/docs/pages/transition.eta +117 -0
- package/{docs-src/core → docs/pages}/transition.js +7 -8
- package/{docs-src/core → docs/pages}/transition.pug +0 -0
- package/docs/pages/type.eta +31 -0
- package/{docs-src/components → docs/pages}/type.js +0 -0
- package/{docs-src/components → docs/pages}/type.pug +0 -1
- package/docs/postrender.js +39 -0
- package/{docs-src → docs}/prerender.js +3 -9
- package/docs/pwa/_dialogs.eta +143 -0
- package/docs/pwa/_dialogs.pug +96 -0
- package/docs/pwa/_menus.eta +16 -0
- package/{docs-src → docs}/pwa/_menus.pug +0 -0
- package/docs/pwa/pwa-prerender.js +3 -0
- package/docs/pwa/pwa.eta +480 -0
- package/docs/pwa/pwa.js +306 -0
- package/{docs-src → docs}/pwa/pwa.pug +166 -263
- package/docs/pwa/pwa.scss +26 -0
- package/docs/spec.scss +26 -0
- package/docs/themes/_component-themes.scss +26 -0
- package/docs/themes/theme-colored-fallbacks.scss +17 -0
- package/docs/themes/theme-colored.scss +17 -0
- package/docs/themes/theme-default-fallbacks.scss +17 -0
- package/docs/themes/theme-default.scss +17 -0
- package/jsconfig.json +4 -2
- package/package.json +40 -27
- package/scripts/deploy-docs.sh +9 -0
- package/templates/index.eta +2 -0
- package/utils/function.js +3 -0
- package/webpack.config.cjs +257 -0
- package/_spec.scss +0 -27
- package/_theme.scss +0 -27
- package/components/list/expander.js +0 -142
- package/components/list/itemgroup.js +0 -22
- package/core/theme/_builder.scss +0 -116
- package/core/theme/index.scss +0 -68
- package/docs/appbar.html +0 -1
- package/docs/appbar.min.js +0 -2
- package/docs/appbar.min.js.map +0 -1
- package/docs/bottomnav.html +0 -1
- package/docs/bottomnav.min.js +0 -2
- package/docs/bottomnav.min.js.map +0 -1
- package/docs/button.html +0 -1
- package/docs/button.min.js +0 -2
- package/docs/button.min.js.map +0 -1
- package/docs/card.html +0 -1
- package/docs/card.min.js +0 -2
- package/docs/card.min.js.map +0 -1
- package/docs/chip.html +0 -1
- package/docs/chip.min.js +0 -2
- package/docs/chip.min.js.map +0 -1
- package/docs/color.html +0 -1
- package/docs/color.min.js +0 -2
- package/docs/color.min.js.map +0 -1
- package/docs/datatable.html +0 -1
- package/docs/datatable.min.js +0 -2
- package/docs/datatable.min.js.map +0 -1
- package/docs/default.common.min.js +0 -2
- package/docs/default.common.min.js.map +0 -1
- package/docs/dialog.html +0 -1
- package/docs/dialog.min.js +0 -2
- package/docs/dialog.min.js.map +0 -1
- package/docs/docs.min.css +0 -1
- package/docs/docs.min.js +0 -2
- package/docs/docs.min.js.map +0 -1
- package/docs/elevation.html +0 -1
- package/docs/elevation.min.js +0 -2
- package/docs/elevation.min.js.map +0 -1
- package/docs/fab.html +0 -1
- package/docs/fab.min.js +0 -2
- package/docs/fab.min.js.map +0 -1
- package/docs/grid.html +0 -1
- package/docs/grid.min.js +0 -2
- package/docs/grid.min.js.map +0 -1
- package/docs/index.html +0 -1
- package/docs/index.min.js +0 -2
- package/docs/index.min.js.map +0 -1
- package/docs/ink.html +0 -1
- package/docs/ink.min.js +0 -2
- package/docs/ink.min.js.map +0 -1
- package/docs/layout.html +0 -1
- package/docs/layout.min.js +0 -2
- package/docs/layout.min.js.map +0 -1
- package/docs/list.html +0 -1
- package/docs/list.min.js +0 -2
- package/docs/list.min.js.map +0 -1
- package/docs/menu.html +0 -1
- package/docs/menu.min.js +0 -2
- package/docs/menu.min.js.map +0 -1
- package/docs/overlay.html +0 -1
- package/docs/overlay.min.js +0 -2
- package/docs/overlay.min.js.map +0 -1
- package/docs/prerender.common.min.js +0 -2
- package/docs/prerender.common.min.js.map +0 -1
- package/docs/prerender.min.js +0 -2
- package/docs/prerender.min.js.map +0 -1
- package/docs/progress.html +0 -1
- package/docs/progress.min.js +0 -2
- package/docs/progress.min.js.map +0 -1
- package/docs/pwa-prerender.min.js +0 -2
- package/docs/pwa-prerender.min.js.map +0 -1
- package/docs/pwa.html +0 -11
- package/docs/pwa.min.css +0 -1
- package/docs/pwa.min.js +0 -2
- package/docs/pwa.min.js.map +0 -1
- package/docs/ripple.html +0 -1
- package/docs/ripple.min.js +0 -2
- package/docs/ripple.min.js.map +0 -1
- package/docs/search.html +0 -1
- package/docs/search.min.js +0 -2
- package/docs/search.min.js.map +0 -1
- package/docs/selection.html +0 -1
- package/docs/selection.min.js +0 -2
- package/docs/selection.min.js.map +0 -1
- package/docs/slider.html +0 -1
- package/docs/slider.min.js +0 -2
- package/docs/slider.min.js.map +0 -1
- package/docs/snackbar.html +0 -1
- package/docs/snackbar.min.js +0 -2
- package/docs/snackbar.min.js.map +0 -1
- package/docs/spec.min.css +0 -1
- package/docs/spec.min.js +0 -2
- package/docs/spec.min.js.map +0 -1
- package/docs/surface.html +0 -1
- package/docs/surface.min.js +0 -2
- package/docs/surface.min.js.map +0 -1
- package/docs/tab.html +0 -1
- package/docs/tab.min.js +0 -2
- package/docs/tab.min.js.map +0 -1
- package/docs/textfield.html +0 -2
- package/docs/textfield.min.js +0 -2
- package/docs/textfield.min.js.map +0 -1
- package/docs/theme-colored-fallbacks.min.css +0 -1
- package/docs/theme-colored-fallbacks.min.js +0 -2
- package/docs/theme-colored-fallbacks.min.js.map +0 -1
- package/docs/theme-colored.min.css +0 -1
- package/docs/theme-colored.min.js +0 -2
- package/docs/theme-colored.min.js.map +0 -1
- package/docs/theme-default-fallbacks.min.css +0 -1
- package/docs/theme-default-fallbacks.min.js +0 -2
- package/docs/theme-default-fallbacks.min.js.map +0 -1
- package/docs/theme-default.min.css +0 -1
- package/docs/theme-default.min.js +0 -2
- package/docs/theme-default.min.js.map +0 -1
- package/docs/themes-fallbacks.min.css +0 -1
- package/docs/themes-fallbacks.min.js +0 -2
- package/docs/themes-fallbacks.min.js.map +0 -1
- package/docs/themes.min.css +0 -1
- package/docs/themes.min.js +0 -2
- package/docs/themes.min.js.map +0 -1
- package/docs/tooltip.html +0 -1
- package/docs/tooltip.min.js +0 -2
- package/docs/tooltip.min.js.map +0 -1
- package/docs/transition.html +0 -1
- package/docs/transition.min.js +0 -2
- package/docs/transition.min.js.map +0 -1
- package/docs/type.html +0 -1
- package/docs/type.min.js +0 -2
- package/docs/type.min.js.map +0 -1
- package/docs-src/components/datatable.pug +0 -327
- package/docs-src/components/selection.js +0 -9
- package/docs-src/components/selection.pug +0 -77
- package/docs-src/core/color.pug +0 -201
- package/docs-src/core/overlay.js +0 -4
- package/docs-src/core/ripple.js +0 -4
- package/docs-src/index.pug +0 -9
- package/docs-src/pwa/_dialogs.pug +0 -15
- package/docs-src/pwa/pwa-prerender.js +0 -3
- package/docs-src/pwa/pwa.js +0 -182
- package/docs-src/pwa/pwa.scss +0 -25
- package/docs-src/spec.scss +0 -1
- package/docs-src/themes/theme-colored-fallbacks.scss +0 -14
- package/docs-src/themes/theme-colored.scss +0 -14
- package/docs-src/themes/theme-default-fallbacks.scss +0 -14
- package/docs-src/themes/theme-default.scss +0 -14
- package/index.js +0 -51
- package/index.scss +0 -2
- package/webpack.config.js +0 -187
|
@@ -21,15 +21,15 @@ include ../_mixins.pug
|
|
|
21
21
|
+mdwButton({ ink:'secondary' })(href="#") Disagree
|
|
22
22
|
.mdw-grid__item(mdw-colspan="8")
|
|
23
23
|
.mdw-type(mdw-style="subtitle") Javascript
|
|
24
|
-
|
|
24
|
+
.docs-option-list
|
|
25
25
|
+mdwSelection({ink:'secondary', name:'javascript', type:'radio', value:'required'}) Required
|
|
26
26
|
+mdwSelection({ink:'secondary', name:'javascript', type:'radio', value:'optional', checked:true}) Optional
|
|
27
27
|
+mdwSelection({ink:'secondary', name:'javascript', type:'radio', value:'none'}) None
|
|
28
28
|
.mdw-type(mdw-style="subtitle") Options
|
|
29
|
-
|
|
29
|
+
.docs-option-list
|
|
30
30
|
+mdwSelection({ink:'secondary', name:'stacked-buttons'}) Stacked Buttons
|
|
31
31
|
.mdw-type(mdw-style="subtitle") Width Units
|
|
32
|
-
|
|
32
|
+
.docs-option-list
|
|
33
33
|
+mdwSelection({ink:'secondary', name:'width', type:'radio', value:'auto', checked:true}) Auto
|
|
34
34
|
+mdwSelection({ink:'secondary', name:'width', type:'radio', value:'3'}) 3
|
|
35
35
|
+mdwSelection({ink:'secondary', name:'width', type:'radio', value:'4'}) 4
|
|
@@ -47,7 +47,7 @@ include ../_mixins.pug
|
|
|
47
47
|
h6.mdw-type Samples
|
|
48
48
|
.mdw-grid__item.display-flex(mdw-colspan="4" flex-justify-content="center")
|
|
49
49
|
.render
|
|
50
|
-
|
|
50
|
+
.display-flex.flex-1(flex-column style="position:relative")
|
|
51
51
|
+androidstatusbar('primary 700', 'dark')
|
|
52
52
|
.mdw-appbar.mdw-theme(mdw-surface="primary 500" mdw-dark)
|
|
53
53
|
.mdw-appbar__action
|
|
@@ -60,55 +60,73 @@ include ../_mixins.pug
|
|
|
60
60
|
+mdwButton({ icon:true }).mdw-tooltip__target.material-icons(mdw-more-button) more_vert
|
|
61
61
|
.mdw-tooltip.mdw-theme(mdw-surface="background 700" mdw-dark) Options
|
|
62
62
|
.content(style="padding:16px 8px;")
|
|
63
|
-
|
|
64
|
-
+mdwButton({ surface:'primary 500', dark:true, raised:true })(href="#confirmdialog-text") Text
|
|
65
|
-
+mdwButton({ surface:'primary 500', dark:true, raised:true })(href="#dialog-scrolling") Scrolling
|
|
63
|
+
h6.mdw-type Javascript
|
|
66
64
|
.display-flex(style="padding:16px 0").js
|
|
67
|
-
+mdwButton({ surface:'primary 500', dark:true, raised:true })
|
|
65
|
+
+mdwButton({ surface:'primary 500', dark:true, raised:true }) Chained
|
|
66
|
+
+mdwButton({ surface:'primary 500', dark:true, raised:true }) Input Autofocus
|
|
67
|
+
h6.mdw-type CSS-Only
|
|
68
|
+
.display-flex(style="padding:16px 0").js
|
|
69
|
+
+mdwButton({ surface:'primary 500', dark:true, raised:true })(href="#confirmdialog-titled")#titled-button Titled
|
|
70
|
+
+mdwButton({ surface:'primary 500', dark:true, raised:true })(href="#confirmdialog-text")#text-button Text
|
|
71
|
+
+mdwButton({ surface:'primary 500', dark:true, raised:true })(href="#dialog-scrolling")#scrolling-button Scrolling
|
|
68
72
|
.mdw-dialog#confirmdialog-titled
|
|
69
|
-
a.mdw-dialog__close(href="#")
|
|
73
|
+
a.mdw-dialog__close(href="#titled-button")
|
|
70
74
|
.mdw-dialog__popup.mdw-theme(mdw-surface="card")
|
|
71
75
|
.mdw-dialog__title Use Google's location service?
|
|
72
76
|
.mdw-dialog__body.mdw-theme(mdw-ink="medium") Let Google help apps determine location. This means sending anonymous location data to Google, even when no apps are running.
|
|
73
77
|
.mdw-dialog__button-area
|
|
74
|
-
+mdwButton({ ink:'secondary' })(href="#") Agree
|
|
75
|
-
+mdwButton({ ink:'secondary' })(href="#") Disagree
|
|
78
|
+
+mdwButton({ ink:'secondary' })(href="#titled-button") Agree
|
|
79
|
+
+mdwButton({ ink:'secondary' })(href="#titled-button") Disagree
|
|
76
80
|
.mdw-dialog#dialog-scrolling
|
|
77
|
-
a.mdw-dialog__close(href="#")
|
|
81
|
+
a.mdw-dialog__close(href="#scrolling-button")
|
|
78
82
|
.mdw-dialog__popup.mdw-theme(mdw-surface="card")
|
|
79
83
|
.mdw-dialog__header
|
|
80
84
|
.mdw-dialog__title Dialog header
|
|
81
|
-
.mdw-divider.mdw-theme(mdw-ink="divider")
|
|
85
|
+
.mdw-divider.mdw-theme(mdw-border-ink="divider")
|
|
82
86
|
.mdw-dialog__scrolling
|
|
83
87
|
ul.mdw-list
|
|
84
88
|
li.mdw-list__item
|
|
85
|
-
a.mdw-list__content.mdw-overlay.mdw-ripple.mdw-theme(href='#' mdw-ink="default") Item 1
|
|
89
|
+
a.mdw-list__content.mdw-overlay.mdw-ripple.mdw-theme(href='#scrolling-button' mdw-ink="default") Item 1
|
|
86
90
|
li.mdw-list__item
|
|
87
|
-
a.mdw-list__content.mdw-overlay.mdw-ripple.mdw-theme(href='#' mdw-ink="default") Item 2
|
|
91
|
+
a.mdw-list__content.mdw-overlay.mdw-ripple.mdw-theme(href='#scrolling-button' mdw-ink="default") Item 2
|
|
88
92
|
li.mdw-list__item
|
|
89
|
-
a.mdw-list__content.mdw-overlay.mdw-ripple.mdw-theme(href='#' mdw-ink="default") Item 3
|
|
93
|
+
a.mdw-list__content.mdw-overlay.mdw-ripple.mdw-theme(href='#scrolling-button' mdw-ink="default") Item 3
|
|
90
94
|
li.mdw-list__item
|
|
91
|
-
a.mdw-list__content.mdw-overlay.mdw-ripple.mdw-theme(href='#' mdw-ink="default") Item 4
|
|
95
|
+
a.mdw-list__content.mdw-overlay.mdw-ripple.mdw-theme(href='#scrolling-button' mdw-ink="default") Item 4
|
|
92
96
|
li.mdw-list__item
|
|
93
|
-
a.mdw-list__content.mdw-overlay.mdw-ripple.mdw-theme(href='#' mdw-ink="default") Item 5
|
|
97
|
+
a.mdw-list__content.mdw-overlay.mdw-ripple.mdw-theme(href='#scrolling-button' mdw-ink="default") Item 5
|
|
94
98
|
li.mdw-list__item
|
|
95
|
-
a.mdw-list__content.mdw-overlay.mdw-ripple.mdw-theme(href='#' mdw-ink="default") Item 6
|
|
99
|
+
a.mdw-list__content.mdw-overlay.mdw-ripple.mdw-theme(href='#scrolling-button' mdw-ink="default") Item 6
|
|
96
100
|
li.mdw-list__item
|
|
97
|
-
a.mdw-list__content.mdw-overlay.mdw-ripple.mdw-theme(href='#' mdw-ink="default") Item 7
|
|
101
|
+
a.mdw-list__content.mdw-overlay.mdw-ripple.mdw-theme(href='#scrolling-button' mdw-ink="default") Item 7
|
|
98
102
|
li.mdw-list__item
|
|
99
|
-
a.mdw-list__content.mdw-overlay.mdw-ripple.mdw-theme(href='#' mdw-ink="default") Item 8
|
|
103
|
+
a.mdw-list__content.mdw-overlay.mdw-ripple.mdw-theme(href='#scrolling-button' mdw-ink="default") Item 8
|
|
100
104
|
li.mdw-list__item
|
|
101
|
-
a.mdw-list__content.mdw-overlay.mdw-ripple.mdw-theme(href='#' mdw-ink="default") Item 9
|
|
102
|
-
.mdw-divider.mdw-theme(mdw-ink="divider")
|
|
105
|
+
a.mdw-list__content.mdw-overlay.mdw-ripple.mdw-theme(href='#scrolling-button' mdw-ink="default") Item 9
|
|
106
|
+
.mdw-divider.mdw-theme(mdw-border-ink="divider")
|
|
103
107
|
.mdw-dialog__button-area
|
|
104
|
-
+mdwButton({ ink:'secondary' })(href="#") Agree
|
|
105
|
-
+mdwButton({ ink:'secondary' })(href="#") Disagree
|
|
108
|
+
+mdwButton({ ink:'secondary' })(href="#scrolling-button") Agree
|
|
109
|
+
+mdwButton({ ink:'secondary' })(href="#scrolling-button") Disagree
|
|
106
110
|
.mdw-dialog#confirmdialog-text
|
|
107
|
-
a.mdw-dialog__close(href="#")
|
|
111
|
+
a.mdw-dialog__close(href="#text-button")
|
|
108
112
|
.mdw-dialog__popup.mdw-theme(mdw-surface="card")
|
|
109
113
|
.mdw-dialog__body.mdw-theme(mdw-ink="medium") Discard draft?
|
|
110
114
|
.mdw-dialog__button-area
|
|
111
|
-
+mdwButton({ ink:'secondary' })(href="#") Discard
|
|
112
|
-
+mdwButton({ ink:'secondary' })(href="#") Cancel
|
|
115
|
+
+mdwButton({ ink:'secondary' })(href="#text-button") Discard
|
|
116
|
+
+mdwButton({ ink:'secondary' })(href="#text-button") Cancel
|
|
117
|
+
#dialog-textfield.mdw-dialog(mdw-width-units="5")
|
|
118
|
+
form.mdw-dialog__popup.mdw-theme(mdw-surface="card")
|
|
119
|
+
.mdw-dialog__header
|
|
120
|
+
.mdw-dialog__title Dialog Title
|
|
121
|
+
label.mdw-textfield.mdw-theme(mdw-ink="secondary" style="padding:0 24px")
|
|
122
|
+
.mdw-textfield__signifier.material-icons security
|
|
123
|
+
input.mdw-textfield__input(placeholder=" " name="input" mdw-autofocus)
|
|
124
|
+
.mdw-textfield__border
|
|
125
|
+
.mdw-textfield__outline-gap
|
|
126
|
+
.mdw-textfield__label Text Field Label
|
|
127
|
+
.mdw-textfield__error-text This field is required
|
|
128
|
+
.mdw-dialog__button-area
|
|
129
|
+
button.mdw-button.mdw-theme(mdw-ink="secondary" tabindex="0" type="submit") Change
|
|
130
|
+
button.mdw-button.mdw-theme(mdw-ink="secondary" tabindex="0" type="button") Cancel
|
|
113
131
|
+androidnavbar
|
|
114
132
|
script(src='dialog.min.js')
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
<% var T = '../../templates/index.eta' %>
|
|
2
|
+
<% layout('../_partials/_header.eta', {page: 'dom'}) %>
|
|
3
|
+
<div class="mdw-grid" mdw-margin-top mdw-margin-bottom mdw-stretch>
|
|
4
|
+
<div class="mdw-grid__item" mdw-colspan="6">
|
|
5
|
+
<div class="mdw-grid__content component-sample">
|
|
6
|
+
<div class="display-flex" style="flex:1;height:400px;max-height:400px;overflow-y:auto;">
|
|
7
|
+
<ul class="mdw-list mdw-theme" style="flex:1;width:100%;" mdw-surface="primary alt"></ul>
|
|
8
|
+
</div>
|
|
9
|
+
</div>
|
|
10
|
+
</div>
|
|
11
|
+
<div class="mdw-grid__item" mdw-colspan="100%">
|
|
12
|
+
<div class="mdw-type" mdw-style="subtitle">Optimizations</div>
|
|
13
|
+
<div class="docs-option-list">
|
|
14
|
+
<%~ includeFile(T, { selection: { ink:'secondary', name:'fastMeasure', checked:true, text:'Fast Measure' }}) %>
|
|
15
|
+
<%~ includeFile(T, { selection: { ink:'secondary', name:'block', checked:true, text:'Block-level' }}) %>
|
|
16
|
+
<%~ includeFile(T, { selection: { ink:'secondary', name:'deferRender', checked:true, text:'Defer Render' }}) %>
|
|
17
|
+
<%~ includeFile(T, { selection: { ink:'secondary', name:'equalSize', checked:false, text:'Equal Size' }}) %>
|
|
18
|
+
</div>
|
|
19
|
+
<div class="mdw-type" mdw-style="subtitle">Test Options</div>
|
|
20
|
+
<%~ includeFile(T, { button: { text:'Reset' }}) %>
|
|
21
|
+
<%~ includeFile(T, { button: { text:'Remove #10' }}) %>
|
|
22
|
+
<%~ includeFile(T, { button: { text:'Increment #50' }}) %>
|
|
23
|
+
<%~ includeFile(T, { button: { text:'Resize #80' }}) %>
|
|
24
|
+
</div>
|
|
25
|
+
</div>
|
|
26
|
+
<script src="dom.min.js"></script>
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
import DomAdapter from '../../adapters/dom/index.js';
|
|
2
|
+
import * as ListContent from '../../components/list/content.js';
|
|
3
|
+
import * as ListItem from '../../components/list/item.js';
|
|
4
|
+
import { iterateArrayLike } from '../../core/dom.js';
|
|
5
|
+
|
|
6
|
+
class CustomDataSourceItem {
|
|
7
|
+
/** @param {number} i */
|
|
8
|
+
constructor(i) {
|
|
9
|
+
this.itemnumber = i;
|
|
10
|
+
this.clickCount = 0;
|
|
11
|
+
this.expanded = false;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
/** @type {CustomDataSourceItem[]} */
|
|
16
|
+
const datasource = [];
|
|
17
|
+
|
|
18
|
+
/** @type {HTMLElement} */
|
|
19
|
+
let sampleComponent;
|
|
20
|
+
|
|
21
|
+
/** @type {DomAdapter<CustomDataSourceItem, HTMLLIElement>} */
|
|
22
|
+
let domAdapter;
|
|
23
|
+
|
|
24
|
+
/** @return {void} */
|
|
25
|
+
function resetDatasource() {
|
|
26
|
+
datasource.splice(0, datasource.length);
|
|
27
|
+
for (let i = 0; i < 500; i += 1) {
|
|
28
|
+
datasource.push(new CustomDataSourceItem(i));
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* @param {Event} event
|
|
33
|
+
* @return {void}
|
|
34
|
+
*/
|
|
35
|
+
function onOptionChange(event) {
|
|
36
|
+
const { name, checked } = /** @type {HTMLInputElement} */ (event.target);
|
|
37
|
+
// @ts-ignore: Optimization
|
|
38
|
+
domAdapter.recycle[name] = checked;
|
|
39
|
+
domAdapter.refresh();
|
|
40
|
+
}
|
|
41
|
+
/** @return {void} */
|
|
42
|
+
function setupComponentOptions() {
|
|
43
|
+
iterateArrayLike(document.querySelectorAll('input[name]'), (el) => {
|
|
44
|
+
el.addEventListener('change', onOptionChange);
|
|
45
|
+
});
|
|
46
|
+
sampleComponent = document.querySelector('.component-sample .mdw-list');
|
|
47
|
+
resetDatasource();
|
|
48
|
+
domAdapter = new DomAdapter({
|
|
49
|
+
element: sampleComponent,
|
|
50
|
+
datasource,
|
|
51
|
+
recycle: {
|
|
52
|
+
scroller: sampleComponent.parentElement,
|
|
53
|
+
fastMeasure: true,
|
|
54
|
+
block: true,
|
|
55
|
+
deferRender: true,
|
|
56
|
+
equalSize: false,
|
|
57
|
+
},
|
|
58
|
+
render(child, data, index) {
|
|
59
|
+
const textLines = child.getElementsByClassName('mdw-list__text-line');
|
|
60
|
+
textLines[0].textContent = `Item ${data.itemnumber}`;
|
|
61
|
+
textLines[1].textContent = `Click count: #${data.clickCount}`;
|
|
62
|
+
if (data.expanded) {
|
|
63
|
+
child.style.setProperty('height', '128px');
|
|
64
|
+
child.style.setProperty('background-color', 'red');
|
|
65
|
+
} else {
|
|
66
|
+
child.style.setProperty('height', '64px');
|
|
67
|
+
child.style.removeProperty('background-color');
|
|
68
|
+
}
|
|
69
|
+
child.firstElementChild.setAttribute('aria-posinset', index.toString(10));
|
|
70
|
+
},
|
|
71
|
+
create(data) {
|
|
72
|
+
// Create placeholder UI
|
|
73
|
+
const listItem = document.createElement('li');
|
|
74
|
+
if (!domAdapter.recycle.block) {
|
|
75
|
+
listItem.style.setProperty('display', 'inline-flex');
|
|
76
|
+
listItem.style.setProperty('width', '33.333%');
|
|
77
|
+
}
|
|
78
|
+
if (domAdapter.recycle.deferRender) {
|
|
79
|
+
listItem.style.setProperty('min-height', '64px');
|
|
80
|
+
if (data.expanded) {
|
|
81
|
+
listItem.style.setProperty('height', '128px');
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
listItem.className = 'mdw-list__item';
|
|
85
|
+
listItem.innerHTML = `
|
|
86
|
+
<a class="mdw-list__content">
|
|
87
|
+
<div class="mdw-list__text">
|
|
88
|
+
<div class="mdw-list__text-line">Item ${data.itemnumber}</div>
|
|
89
|
+
<div class="mdw-list__text-line mdw-theme" mdw-ink="medium">Waiting for idle...</div>
|
|
90
|
+
</div>
|
|
91
|
+
</a>
|
|
92
|
+
`;
|
|
93
|
+
ListItem.attach(listItem);
|
|
94
|
+
return listItem;
|
|
95
|
+
},
|
|
96
|
+
});
|
|
97
|
+
domAdapter.refresh();
|
|
98
|
+
const buttons = document.querySelectorAll('.mdw-layout__content-page .mdw-button');
|
|
99
|
+
buttons[0].addEventListener('click', () => {
|
|
100
|
+
buttons[1].removeAttribute('aria-disabled');
|
|
101
|
+
resetDatasource();
|
|
102
|
+
domAdapter.refresh();
|
|
103
|
+
});
|
|
104
|
+
buttons[1].addEventListener('click', () => {
|
|
105
|
+
if (buttons[1].getAttribute('aria-disabled') === 'true') {
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
const item = datasource[10];
|
|
109
|
+
domAdapter.removeItem(item);
|
|
110
|
+
datasource.splice(10, 1);
|
|
111
|
+
|
|
112
|
+
// Alternatively, we can remove from datasource first and call invalidateAll()
|
|
113
|
+
|
|
114
|
+
domAdapter.drawViewport();
|
|
115
|
+
buttons[1].setAttribute('aria-disabled', 'true');
|
|
116
|
+
});
|
|
117
|
+
buttons[2].addEventListener('click', () => {
|
|
118
|
+
const item = datasource.filter((d) => d.itemnumber === 50)[0];
|
|
119
|
+
item.clickCount += 1;
|
|
120
|
+
// Element will not change size, therefore avoid possible invalidation
|
|
121
|
+
// (When element is refreshed and not in DOM, adapter may assume sized change)
|
|
122
|
+
domAdapter.refreshItem(item, { invalidate: false });
|
|
123
|
+
domAdapter.drawViewport();
|
|
124
|
+
});
|
|
125
|
+
buttons[3].addEventListener('click', () => {
|
|
126
|
+
const item = datasource.filter((d) => d.itemnumber === 80)[0];
|
|
127
|
+
item.expanded = !item.expanded;
|
|
128
|
+
// Force invalidation from height change
|
|
129
|
+
domAdapter.refreshItem(item, { invalidate: true });
|
|
130
|
+
domAdapter.drawViewport();
|
|
131
|
+
});
|
|
132
|
+
sampleComponent.addEventListener(ListContent.ACTIVATE_EVENT, (event) => {
|
|
133
|
+
/** @type {HTMLElement} */
|
|
134
|
+
const listContent = (event.target);
|
|
135
|
+
/** @type {HTMLLIElement} */
|
|
136
|
+
const listItem = (listContent.parentElement);
|
|
137
|
+
const dataItem = domAdapter.elementDataMap.get(listItem);
|
|
138
|
+
dataItem.clickCount += 1;
|
|
139
|
+
domAdapter.refreshItem(dataItem);
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
setupComponentOptions();
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
include ../_mixins.pug
|
|
2
|
+
|
|
3
|
+
+header("dom")
|
|
4
|
+
.mdw-grid(mdw-margin-top mdw-margin-bottom mdw-stretch)
|
|
5
|
+
.mdw-grid__item(mdw-colspan="6")
|
|
6
|
+
.mdw-grid__content.component-sample
|
|
7
|
+
.display-flex(style="flex:1;height:400px;max-height:400px;overflow-y:auto")
|
|
8
|
+
ul.mdw-list.mdw-theme(style="flex:1;width:100%;" mdw-surface="primary alt")
|
|
9
|
+
|
|
10
|
+
.mdw-grid__item(mdw-colspan="100%")
|
|
11
|
+
.mdw-type(mdw-style="subtitle") Optimizations
|
|
12
|
+
.docs-option-list
|
|
13
|
+
+mdwSelection({ink:'secondary', name:'fastMeasure', checked:true}) Fast Measure
|
|
14
|
+
+mdwSelection({ink:'secondary', name:'block', checked:true}) Block-level
|
|
15
|
+
+mdwSelection({ink:'secondary', name:'deferRender', checked:true}) Defer Render
|
|
16
|
+
+mdwSelection({ink:'secondary', name:'equalSize', checked:false}) Equal Size
|
|
17
|
+
.mdw-type(mdw-style="subtitle") Test Options
|
|
18
|
+
+mdwButton() Reset
|
|
19
|
+
+mdwButton() Remove #10
|
|
20
|
+
+mdwButton() Increment #50
|
|
21
|
+
+mdwButton() Resize #80
|
|
22
|
+
script(src='dom.min.js')
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
<% var T = '../../templates/index.eta' %>
|
|
2
|
+
<% layout('../_partials/_header.eta', {page: 'elevation'}) %>
|
|
3
|
+
<div class="docs-grid mdw-grid" mdw-margin-top mdw-margin-bottom mdw-columns="4" mdw-margin-4col="40" mdw-gutter-4col="40">
|
|
4
|
+
<div class="mdw-grid__item">
|
|
5
|
+
<div class="docs-elevation__item mdw-elevation" mdw-elevation="1">1dp</div>
|
|
6
|
+
</div>
|
|
7
|
+
<div class="mdw-grid__item">
|
|
8
|
+
<div class="docs-elevation__item mdw-elevation" mdw-elevation="2">2dp</div>
|
|
9
|
+
</div>
|
|
10
|
+
<div class="mdw-grid__item">
|
|
11
|
+
<div class="docs-elevation__item mdw-elevation" mdw-elevation="3">3dp</div>
|
|
12
|
+
</div>
|
|
13
|
+
<div class="mdw-grid__item">
|
|
14
|
+
<div class="docs-elevation__item mdw-elevation" mdw-elevation="4">4dp</div>
|
|
15
|
+
</div>
|
|
16
|
+
<div class="mdw-grid__item">
|
|
17
|
+
<div class="docs-elevation__item mdw-elevation" mdw-elevation="6">6dp</div>
|
|
18
|
+
</div>
|
|
19
|
+
<div class="mdw-grid__item">
|
|
20
|
+
<div class="docs-elevation__item mdw-elevation" mdw-elevation="8">8dp</div>
|
|
21
|
+
</div>
|
|
22
|
+
<div class="mdw-grid__item">
|
|
23
|
+
<div class="docs-elevation__item mdw-elevation" mdw-elevation="9">9dp</div>
|
|
24
|
+
</div>
|
|
25
|
+
<div class="mdw-grid__item">
|
|
26
|
+
<div class="docs-elevation__item mdw-elevation" mdw-elevation="12">12dp</div>
|
|
27
|
+
</div>
|
|
28
|
+
<div class="mdw-grid__item">
|
|
29
|
+
<div class="docs-elevation__item mdw-elevation" mdw-elevation="16">16dp</div>
|
|
30
|
+
</div>
|
|
31
|
+
<div class="mdw-grid__item">
|
|
32
|
+
<div class="docs-elevation__item mdw-elevation" mdw-elevation="24">24dp</div>
|
|
33
|
+
</div>
|
|
34
|
+
</div>
|
|
35
|
+
<script src="elevation.min.js"></script>
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
<% var T = '../../templates/index.eta' %>
|
|
2
|
+
<% layout('../_partials/_header.eta', {page: 'fab'}) %>
|
|
3
|
+
<div class="comparison js">
|
|
4
|
+
<div class="render">
|
|
5
|
+
<div class="display-flex flex-1" flex-column style="position:relative;">
|
|
6
|
+
<%~ includeFile('../_partials/_androidstatusbar.eta', { surface:'primary 700', dark:true }) %>
|
|
7
|
+
<%~ includeFile('../_partials/_appbar.eta', { surface: 'primary 500', dark: true, start: ['menu'], end: ['search'], body: 'JS' }) %>
|
|
8
|
+
<div class="content" style="padding:16px 8px;">
|
|
9
|
+
<div class="mdw-type" mdw-style="subtitle">Hover</div>
|
|
10
|
+
<div class="docs-option-list">
|
|
11
|
+
<%~ includeFile(T, { selection: { ink:'secondary', name:'hover', text:'Open on Hover' }}) %>
|
|
12
|
+
</div>
|
|
13
|
+
<div class="mdw-type" mdw-style="subtitle">Type</div>
|
|
14
|
+
<div class="docs-option-list">
|
|
15
|
+
<%~ includeFile(T, { selection: { ink:'secondary', name:'type', type:'radio', value:'regular', text:'Regular (Default)', checked:true }}) %>
|
|
16
|
+
<%~ includeFile(T, { selection: { ink:'secondary', name:'type', type:'radio', value:'mini', text:'Mini' }}) %>
|
|
17
|
+
<%~ includeFile(T, { selection: { ink:'secondary', name:'type', type:'radio', value:'extended', text:'Extended' }}) %>
|
|
18
|
+
<%~ includeFile(T, { selection: { ink:'secondary', name:'type', type:'radio', value:'extended-hover', text:'Extended on Hover' }}) %>
|
|
19
|
+
</div>
|
|
20
|
+
<div class="mdw-grid docs-render-overlay" mdw-margin-bottom mdw-columns="4">
|
|
21
|
+
<div class="mdw-grid__item">
|
|
22
|
+
<div class="mdw-grid__content">
|
|
23
|
+
<div class="mdw-fab">
|
|
24
|
+
<%~ includeFile(T, { button: { surface: 'secondary 500', dark:true, class:"mdw-fab__button", body: /* html */ `
|
|
25
|
+
<div class="mdw-fab__icon">
|
|
26
|
+
<div class="mdw-fab__hidden-icon material-icons">add</div>
|
|
27
|
+
<div class="mdw-fab__shown-icon material-icons">clear</div>
|
|
28
|
+
</div>
|
|
29
|
+
<div class="mdw-fab__text">Add</div>
|
|
30
|
+
`}}) %>
|
|
31
|
+
<div class="mdw-fab__speed-dial">
|
|
32
|
+
<%~ includeFile(T, { button: { class:'mdw-fab__button', attributes: {'mdw-mini': true},body: /* html */ `
|
|
33
|
+
<div class="mdw-fab__icon material-icons">filter_1</div>
|
|
34
|
+
`}}) %>
|
|
35
|
+
<%~ includeFile(T, { button: { class:'mdw-fab__button', attributes: {'mdw-mini': true},body: /* html */ `
|
|
36
|
+
<div class="mdw-fab__icon material-icons">filter_2</div>
|
|
37
|
+
`}}) %>
|
|
38
|
+
<%~ includeFile(T, { button: { class:'mdw-fab__button', attributes: {'mdw-mini': true},body: /* html */ `
|
|
39
|
+
<div class="mdw-fab__icon material-icons">filter_3</div>
|
|
40
|
+
`}}) %>
|
|
41
|
+
<%~ includeFile(T, { button: { class:'mdw-fab__button', attributes: {'mdw-mini': true},body: /* html */ `
|
|
42
|
+
<div class="mdw-fab__icon material-icons">filter_4</div>
|
|
43
|
+
`}}) %>
|
|
44
|
+
<%~ includeFile(T, { button: { class:'mdw-fab__button', attributes: {'mdw-mini': true},body: /* html */ `
|
|
45
|
+
<div class="mdw-fab__icon material-icons">filter_5</div>
|
|
46
|
+
`}}) %>
|
|
47
|
+
</div>
|
|
48
|
+
</div>
|
|
49
|
+
</div>
|
|
50
|
+
</div>
|
|
51
|
+
</div>
|
|
52
|
+
</div>
|
|
53
|
+
</div>
|
|
54
|
+
<%~ includeFile('../_partials/_androidnavbar.eta') %>
|
|
55
|
+
</div>
|
|
56
|
+
</div>
|
|
57
|
+
<div class="comparison">
|
|
58
|
+
<div class="render">
|
|
59
|
+
<div class="display-flex flex-1" flex-column style="position:relative;">
|
|
60
|
+
<%~ includeFile('../_partials/_androidstatusbar.eta', { surface:'primary 700', dark:true }) %>
|
|
61
|
+
<%~ includeFile('../_partials/_appbar.eta', { surface:'primary 500', dark:true, start: ['menu'], end: ['search'], body:'CSS Only' }) %>
|
|
62
|
+
<div class="content" style="padding:16px 8px;">
|
|
63
|
+
<div class="mdw-grid docs-render-overlay" mdw-margin-bottom>
|
|
64
|
+
<div class="mdw-grid__item">
|
|
65
|
+
<div class="mdw-fab" id="my-fab">
|
|
66
|
+
<a class="mdw-fab__close" href="#my-fab-button"></a>
|
|
67
|
+
<%~ includeFile(T, { button: { surface: 'secondary 500', dark:true, id:'my-fab-button', href:'#my-fab', class:"mdw-fab__button", body: /* html */ `
|
|
68
|
+
<div class="mdw-fab__icon">
|
|
69
|
+
<div class="mdw-fab__hidden-icon material-icons">add</div>
|
|
70
|
+
<div class="mdw-fab__shown-icon material-icons">clear</div>
|
|
71
|
+
</div>
|
|
72
|
+
<div class="mdw-fab__text">Add</div>
|
|
73
|
+
`}}) %>
|
|
74
|
+
<div class="mdw-fab__speed-dial">
|
|
75
|
+
<%~ includeFile(T, { button: { class:'mdw-fab__button', attributes: {'mdw-mini': true},body: /* html */ `
|
|
76
|
+
<div class="mdw-fab__icon material-icons">filter_1</div>
|
|
77
|
+
`}}) %>
|
|
78
|
+
<%~ includeFile(T, { button: { class:'mdw-fab__button', attributes: {'mdw-mini': true},body: /* html */ `
|
|
79
|
+
<div class="mdw-fab__icon material-icons">filter_2</div>
|
|
80
|
+
`}}) %>
|
|
81
|
+
<%~ includeFile(T, { button: { class:'mdw-fab__button', attributes: {'mdw-mini': true},body: /* html */ `
|
|
82
|
+
<div class="mdw-fab__icon material-icons">filter_3</div>
|
|
83
|
+
`}}) %>
|
|
84
|
+
<%~ includeFile(T, { button: { class:'mdw-fab__button', attributes: {'mdw-mini': true},body: /* html */ `
|
|
85
|
+
<div class="mdw-fab__icon material-icons">filter_4</div>
|
|
86
|
+
`}}) %>
|
|
87
|
+
<%~ includeFile(T, { button: { class:'mdw-fab__button', attributes: {'mdw-mini': true},body: /* html */ `
|
|
88
|
+
<div class="mdw-fab__icon material-icons">filter_5</div>
|
|
89
|
+
`}}) %>
|
|
90
|
+
</div>
|
|
91
|
+
</div>
|
|
92
|
+
</div>
|
|
93
|
+
</div>
|
|
94
|
+
</div>
|
|
95
|
+
</div>
|
|
96
|
+
<%~ includeFile('../_partials/_androidnavbar.eta') %>
|
|
97
|
+
</div>
|
|
98
|
+
</div>
|
|
99
|
+
<script src="fab.min.js"></script>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import * as Button from '../../components/button/index';
|
|
2
|
-
import * as Fab from '../../components/fab/index';
|
|
3
|
-
import { iterateArrayLike } from '../../core/dom';
|
|
1
|
+
import * as Button from '../../components/button/index.js';
|
|
2
|
+
import * as Fab from '../../components/fab/index.js';
|
|
3
|
+
import { iterateArrayLike } from '../../core/dom.js';
|
|
4
4
|
|
|
5
5
|
/** @return {void} */
|
|
6
6
|
function initializeMdwComponents() {
|
|
@@ -3,7 +3,7 @@ include ../_mixins.pug
|
|
|
3
3
|
+header("fab")
|
|
4
4
|
.comparison.js
|
|
5
5
|
.render
|
|
6
|
-
|
|
6
|
+
.display-flex.flex-1(flex-column style="position:relative")
|
|
7
7
|
+androidstatusbar('primary 700', 'dark')
|
|
8
8
|
+appbar('primary 500', 'dark', ['menu'], ['search']) JS
|
|
9
9
|
.content(style="padding:16px 8px;")
|
|
@@ -39,7 +39,7 @@ include ../_mixins.pug
|
|
|
39
39
|
+androidnavbar
|
|
40
40
|
.comparison
|
|
41
41
|
.render
|
|
42
|
-
|
|
42
|
+
.display-flex.flex-1(flex-column style="position:relative")
|
|
43
43
|
+androidstatusbar('primary 700', 'dark')
|
|
44
44
|
+appbar('primary 500', 'dark', ['menu'], ['search']) CSS Only
|
|
45
45
|
.content(style="padding:16px 8px;")
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
<% var T = '../../templates/index.eta' %>
|
|
2
|
+
<% layout('../_partials/_header.eta', {page: 'grid'}) %>
|
|
3
|
+
<div class="mdw-grid" mdw-margin-top>
|
|
4
|
+
<div class="mdw-grid__item" mdw-colspan="8">
|
|
5
|
+
<h5 class="mdw-type" mdw-baseline-next="36">The Material Design responsive layout grid adapts to screen size and orientation, ensuring consistency across layouts.</h5>
|
|
6
|
+
<p class="mdw-type">The Material Design layout grid is made up of three elements: columns, gutters, and margins.</p>
|
|
7
|
+
</div>
|
|
8
|
+
<div class="mdw-grid__item" mdw-colspan="8">
|
|
9
|
+
<div class="mdw-type" mdw-style="subtitle">Margins and Gutters</div>
|
|
10
|
+
<div class="docs-option-list">
|
|
11
|
+
<%~ includeFile(T, { selection: { ink:'secondary', name:'default-margins', checked:true, text:'Default Margins and Gutters' }}) %>
|
|
12
|
+
<%~ includeFile(T, { selection: { ink:'secondary', name:'top-margin', checked:true, text:'Top Margin' }}) %>
|
|
13
|
+
<%~ includeFile(T, { selection: { ink:'secondary', name:'bottom-margin', checked:true, text:'Bottom Margin' }}) %>
|
|
14
|
+
</div>
|
|
15
|
+
<div class="mdw-type" mdw-style="subtitle">Maximum Columns</div>
|
|
16
|
+
<div class="docs-option-list">
|
|
17
|
+
<%~ includeFile(T, { selection: { ink:'secondary', name:'columns', type:'radio', value:'12', checked:true, text:'12' }}) %>
|
|
18
|
+
<%~ includeFile(T, { selection: { ink:'secondary', name:'columns', type:'radio', value:'8', text:'8' }}) %>
|
|
19
|
+
<%~ includeFile(T, { selection: { ink:'secondary', name:'columns', type:'radio', value:'4', text:'4' }}) %>
|
|
20
|
+
<%~ includeFile(T, { selection: { ink:'secondary', name:'columns', type:'radio', value:'1', text:'1' }}) %>
|
|
21
|
+
</div>
|
|
22
|
+
<div class="mdw-type" mdw-style="subtitle">Display Model</div>
|
|
23
|
+
<div class="docs-option-list">
|
|
24
|
+
<%~ includeFile(T, { selection: { ink:'secondary', name:'style', type:'radio', value:'flex', checked:true, text:'Flexbox' }}) %>
|
|
25
|
+
<%~ includeFile(T, { selection: { ink:'secondary', name:'style', type:'radio', value:'grid', text:'Grid' }}) %>
|
|
26
|
+
</div>
|
|
27
|
+
<div class="mdw-type" mdw-style="subtitle">Options</div>
|
|
28
|
+
<div class="docs-option-list">
|
|
29
|
+
<%~ includeFile(T, { selection: { ink:'secondary', name:'stretch', text:'Stretch' }}) %>
|
|
30
|
+
<%~ includeFile(T, { selection: { ink:'secondary', name:'center', text:'Center' }}) %>
|
|
31
|
+
<%~ includeFile(T, { selection: { ink:'secondary', name:'dense', text:'Dense' }}) %>
|
|
32
|
+
</div>
|
|
33
|
+
</div>
|
|
34
|
+
<div class="mdw-grid__item" mdw-colspan="100%">
|
|
35
|
+
<p class="mdw-type" style="text-align:center;" mdw-texttop-top="16dp" mdw-baseline-bottom="16dp">Click on an element to change colspan</p>
|
|
36
|
+
</div>
|
|
37
|
+
</div>
|
|
38
|
+
<div class="docs-grid" id="sample-component">
|
|
39
|
+
<div class="mdw-grid" mdw-margin-top mdw-margin-bottom>
|
|
40
|
+
<div class="mdw-grid__item" mdw-rowspan="2">
|
|
41
|
+
<div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="cyan 100" mdw-light mdw-border-ink>1</div>
|
|
42
|
+
</div>
|
|
43
|
+
<div class="mdw-grid__item">
|
|
44
|
+
<div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="card" mdw-border-ink>1</div>
|
|
45
|
+
</div>
|
|
46
|
+
<div class="mdw-grid__item">
|
|
47
|
+
<div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="cyan 200" mdw-light mdw-border-ink>1</div>
|
|
48
|
+
</div>
|
|
49
|
+
<div class="mdw-grid__item">
|
|
50
|
+
<div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="card" mdw-border-ink>1</div>
|
|
51
|
+
</div>
|
|
52
|
+
<div class="mdw-grid__item">
|
|
53
|
+
<div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="cyan 400" mdw-dark mdw-border-ink>1</div>
|
|
54
|
+
</div>
|
|
55
|
+
<div class="mdw-grid__item">
|
|
56
|
+
<div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="card" mdw-border-ink>1</div>
|
|
57
|
+
</div>
|
|
58
|
+
<div class="mdw-grid__item">
|
|
59
|
+
<div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="cyan 700" mdw-dark mdw-border-ink>1</div>
|
|
60
|
+
</div>
|
|
61
|
+
<div class="mdw-grid__item" mdw-rowspan="3">
|
|
62
|
+
<div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="card" mdw-border-ink>1</div>
|
|
63
|
+
</div>
|
|
64
|
+
<div class="mdw-grid__item">
|
|
65
|
+
<div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="red 100" mdw-light mdw-border-ink>1</div>
|
|
66
|
+
</div>
|
|
67
|
+
<div class="mdw-grid__item">
|
|
68
|
+
<div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="card" mdw-border-ink>1</div>
|
|
69
|
+
</div>
|
|
70
|
+
<div class="mdw-grid__item">
|
|
71
|
+
<div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="red 200" mdw-light mdw-border-ink>1</div>
|
|
72
|
+
</div>
|
|
73
|
+
<div class="mdw-grid__item">
|
|
74
|
+
<div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="card" mdw-border-ink>1</div>
|
|
75
|
+
</div>
|
|
76
|
+
<div class="mdw-grid__item" mdw-colspan="2">
|
|
77
|
+
<div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="red 400" mdw-dark mdw-border-ink>2</div>
|
|
78
|
+
</div>
|
|
79
|
+
<div class="mdw-grid__item">
|
|
80
|
+
<div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="card" mdw-border-ink>1</div>
|
|
81
|
+
</div>
|
|
82
|
+
<div class="mdw-grid__item" mdw-rowspan="5" mdw-colspan="25%">
|
|
83
|
+
<div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="red 700" mdw-dark mdw-border-ink>25%</div>
|
|
84
|
+
</div>
|
|
85
|
+
<div class="mdw-grid__item" mdw-colspan="3">
|
|
86
|
+
<div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="card" mdw-border-ink>3</div>
|
|
87
|
+
</div>
|
|
88
|
+
<div class="mdw-grid__item">
|
|
89
|
+
<div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="green 100" mdw-light mdw-border-ink>1</div>
|
|
90
|
+
</div>
|
|
91
|
+
<div class="mdw-grid__item">
|
|
92
|
+
<div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="card" mdw-border-ink>1</div>
|
|
93
|
+
</div>
|
|
94
|
+
<div class="mdw-grid__item">
|
|
95
|
+
<div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="green 200" mdw-light mdw-border-ink>1</div>
|
|
96
|
+
</div>
|
|
97
|
+
<div class="mdw-grid__item" mdw-colspan="75%">
|
|
98
|
+
<div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="card" mdw-border-ink>75%</div>
|
|
99
|
+
</div>
|
|
100
|
+
<div class="mdw-grid__item">
|
|
101
|
+
<div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="green 400" mdw-dark mdw-border-ink>1</div>
|
|
102
|
+
</div>
|
|
103
|
+
<div class="mdw-grid__item">
|
|
104
|
+
<div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="card" mdw-border-ink>1</div>
|
|
105
|
+
</div>
|
|
106
|
+
<div class="mdw-grid__item">
|
|
107
|
+
<div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="green 700" mdw-dark mdw-border-ink>1</div>
|
|
108
|
+
</div>
|
|
109
|
+
<div class="mdw-grid__item">
|
|
110
|
+
<div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="card" mdw-border-ink>1</div>
|
|
111
|
+
</div>
|
|
112
|
+
<div class="mdw-grid__item">
|
|
113
|
+
<div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="purple 100" mdw-light mdw-border-ink>1</div>
|
|
114
|
+
</div>
|
|
115
|
+
<div class="mdw-grid__item" mdw-colspan="8">
|
|
116
|
+
<div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="card" mdw-border-ink>8</div>
|
|
117
|
+
</div>
|
|
118
|
+
<div class="mdw-grid__item">
|
|
119
|
+
<div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="purple 200" mdw-light mdw-border-ink>1</div>
|
|
120
|
+
</div>
|
|
121
|
+
<div class="mdw-grid__item">
|
|
122
|
+
<div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="card" mdw-border-ink>1</div>
|
|
123
|
+
</div>
|
|
124
|
+
<div class="mdw-grid__item">
|
|
125
|
+
<div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="purple 400" mdw-dark mdw-border-ink>1</div>
|
|
126
|
+
</div>
|
|
127
|
+
<div class="mdw-grid__item" mdw-colspan="2">
|
|
128
|
+
<div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="card" mdw-border-ink>2</div>
|
|
129
|
+
</div>
|
|
130
|
+
<div class="mdw-grid__item">
|
|
131
|
+
<div class="mdw-grid__content mdw-card mdw-theme" mdw-surface="purple 700" mdw-dark mdw-border-ink>1</div>
|
|
132
|
+
</div>
|
|
133
|
+
</div>
|
|
134
|
+
</div>
|
|
135
|
+
<script src="grid.min.js"></script>
|