@shortfuse/materialdesignweb 0.2.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.browserslistrc +2 -1
- package/.eslintrc.json +188 -30
- package/.stylelintrc.json +643 -2
- package/.vscode/launch.json +20 -5
- package/.vscode/settings.json +3 -0
- package/CHANGELOG.md +36 -0
- package/README.md +82 -2
- package/adapters/datatable/column.js +176 -0
- package/adapters/datatable/index.js +253 -437
- package/adapters/dom/index.js +586 -0
- package/adapters/list/index.js +36 -113
- package/adapters/search/index.js +153 -180
- package/components/appbar/_spec.scss +165 -0
- package/components/appbar/_theme.scss +0 -0
- package/components/appbar/index.scss +2 -0
- package/components/banner/_spec.scss +83 -0
- package/components/banner/_theme.scss +0 -0
- package/components/banner/index.scss +2 -0
- package/components/bottomnav/README.md +4 -4
- package/components/bottomnav/_spec.scss +149 -0
- package/components/bottomnav/_theme.scss +0 -0
- package/components/bottomnav/index.js +100 -120
- package/components/bottomnav/index.scss +2 -0
- package/components/bottomnav/item.js +88 -0
- package/components/button/README.md +16 -22
- package/components/button/_spec.scss +162 -0
- package/components/button/_theme.scss +42 -0
- package/components/button/index.eta +32 -0
- package/components/button/index.js +37 -48
- package/components/button/index.pug +18 -0
- package/components/button/index.scss +2 -0
- package/components/card/_spec.scss +241 -0
- package/components/card/_theme.scss +0 -0
- package/components/card/index.scss +2 -0
- package/components/chip/_spec.scss +111 -0
- package/components/chip/_theme.scss +105 -0
- package/components/chip/index.js +23 -0
- package/components/chip/index.scss +2 -0
- package/components/chip/item.js +20 -0
- package/components/datatable/_spec.scss +225 -0
- package/components/datatable/_theme.scss +128 -0
- package/components/datatable/cell.js +44 -0
- package/components/datatable/columnheader.js +46 -0
- package/components/datatable/index.js +339 -443
- package/components/datatable/index.scss +2 -0
- package/components/datatable/row.js +48 -0
- package/components/datatable/rowheader.js +18 -0
- package/components/dialog/_spec.scss +203 -0
- package/components/dialog/_theme.scss +7 -0
- package/components/dialog/index.js +512 -437
- package/components/dialog/index.scss +2 -0
- package/components/divider/_spec.scss +11 -0
- package/components/divider/_theme.scss +0 -0
- package/components/divider/index.scss +2 -0
- package/components/elevation/_spec.scss +9 -0
- package/components/elevation/_theme.scss +0 -0
- package/components/elevation/index.scss +2 -0
- package/components/fab/{style.scss → _spec.scss} +104 -79
- package/components/fab/_theme.scss +0 -0
- package/components/fab/index.js +85 -79
- package/components/fab/index.scss +2 -0
- package/components/grid/_spec.scss +169 -0
- package/components/grid/_theme.scss +0 -0
- package/components/grid/index.scss +2 -0
- package/components/layout/_mixins.scss +11 -0
- package/components/layout/_spec.scss +916 -0
- package/components/layout/_theme.scss +19 -0
- package/components/layout/index.js +454 -0
- package/components/layout/index.scss +2 -0
- package/components/list/_spec.scss +363 -0
- package/components/list/_theme.scss +102 -0
- package/components/list/content.js +106 -0
- package/components/list/index.js +234 -79
- package/components/list/index.scss +2 -0
- package/components/list/item.js +167 -0
- package/components/list/secondary.js +45 -0
- package/components/menu/_spec.scss +329 -0
- package/components/menu/_theme.scss +0 -0
- package/components/menu/index.js +636 -651
- package/components/menu/index.scss +2 -0
- package/components/menu/item.js +231 -0
- package/components/progress/_spec.scss +156 -0
- package/components/progress/_theme.scss +0 -0
- package/components/progress/index.js +29 -13
- package/components/progress/index.scss +2 -0
- package/components/selection/_spec.scss +376 -0
- package/components/selection/_theme.scss +134 -0
- package/components/selection/index.eta +60 -0
- package/components/selection/index.js +70 -0
- package/components/selection/index.pug +30 -0
- package/components/selection/index.scss +2 -0
- package/components/selection/input.js +54 -0
- package/components/selection/radiogroup.js +40 -0
- package/components/slider/{style.scss → _spec.scss} +31 -34
- package/components/slider/_theme.scss +0 -0
- package/components/slider/index.scss +2 -0
- package/components/snackbar/_spec.scss +150 -0
- package/components/snackbar/_theme.scss +0 -0
- package/components/snackbar/index.js +293 -206
- package/components/snackbar/index.scss +2 -0
- package/components/tab/_spec.scss +220 -0
- package/components/tab/_theme.scss +0 -0
- package/components/tab/content.js +210 -0
- package/components/tab/index.js +229 -213
- package/components/tab/index.scss +2 -0
- package/components/tab/item.js +88 -0
- package/components/tab/list.js +196 -0
- package/components/tab/panel.js +54 -0
- package/components/textfield/README.md +4 -4
- package/components/textfield/_spec.scss +763 -0
- package/components/textfield/_theme.scss +264 -0
- package/components/textfield/index.eta +74 -0
- package/components/textfield/index.js +132 -138
- package/components/textfield/index.pug +30 -0
- package/components/textfield/index.scss +2 -0
- package/components/tooltip/_spec.scss +185 -0
- package/components/tooltip/_theme.scss +0 -0
- package/components/tooltip/index.scss +2 -0
- package/components/type/_spec.scss +227 -0
- package/components/type/_theme.scss +0 -0
- package/components/type/index.scss +2 -0
- package/core/_breakpoint.scss +189 -0
- package/core/_elevation.scss +78 -0
- package/core/_length.scss +8 -0
- package/core/_motion.scss +31 -0
- package/core/_platform.scss +12 -0
- package/core/_type.scss +128 -0
- package/core/aria/attributes.js +141 -0
- package/core/aria/button.js +49 -0
- package/core/aria/keyboard.js +92 -0
- package/core/aria/rovingtabindex.js +175 -0
- package/core/aria/tab.js +59 -0
- package/core/document/index.js +39 -0
- package/core/dom.js +180 -0
- package/core/overlay/_spec.scss +28 -0
- package/core/overlay/_theme.scss +147 -0
- package/core/overlay/index.js +95 -0
- package/core/overlay/index.scss +2 -0
- package/core/ripple/_spec.scss +196 -0
- package/core/ripple/_theme.scss +20 -0
- package/core/ripple/index.js +286 -0
- package/core/ripple/index.scss +2 -0
- package/core/theme/_aliases.scss +15 -0
- package/core/theme/_config.scss +8 -0
- package/core/theme/_functions.scss +22 -0
- package/{components/theming/palettes.scss → core/theme/_palettes.scss} +173 -151
- package/core/theme/_spec.scss +0 -0
- package/core/theme/_theme.scss +268 -0
- package/core/theme/index.js +50 -0
- package/core/theme/index.scss +4 -0
- package/core/throttler.js +42 -0
- package/core/transition/index.js +465 -0
- package/docs/_flex.scss +28 -0
- package/docs/_menuoptions.js +183 -0
- package/docs/_partials/_androidnavbar.eta +5 -0
- package/docs/_partials/_androidstatusbar.eta +13 -0
- package/docs/_partials/_appbar.eta +27 -0
- package/docs/_partials/_buttontest.eta +31 -0
- package/docs/_partials/_header.eta +146 -0
- package/docs/_partials/_navlistitem.eta +16 -0
- package/docs/_partials/_target.eta +1 -0
- package/docs/_sample-utils.js +88 -0
- package/docs/{src/storage.js → _storage.js} +0 -0
- package/docs/docs.scss +331 -0
- package/docs/framework.scss +26 -0
- package/docs/index.eta +12 -0
- package/docs/index.js +7 -0
- package/docs/pages/appbar.eta +108 -0
- package/docs/pages/appbar.js +0 -0
- package/docs/pages/bottomnav.eta +188 -0
- package/docs/pages/bottomnav.js +118 -0
- package/docs/pages/button.eta +124 -0
- package/docs/pages/button.js +224 -0
- package/docs/pages/card.eta +90 -0
- package/docs/pages/card.js +175 -0
- package/docs/pages/chip.eta +122 -0
- package/docs/pages/chip.js +80 -0
- package/docs/pages/color.eta +143 -0
- package/docs/pages/color.js +261 -0
- package/docs/pages/datatable.eta +323 -0
- package/docs/pages/datatable.js +160 -0
- package/docs/pages/dialog.eta +184 -0
- package/docs/{src/components → pages}/dialog.js +35 -48
- package/docs/pages/dom.eta +26 -0
- package/docs/pages/dom.js +140 -0
- package/docs/pages/elevation.eta +35 -0
- package/docs/pages/elevation.js +0 -0
- package/docs/pages/fab.eta +99 -0
- package/docs/{src/components → pages}/fab.js +6 -13
- package/docs/pages/grid.eta +135 -0
- package/docs/pages/grid.js +128 -0
- package/docs/pages/layout.eta +8 -0
- package/docs/pages/layout.js +0 -0
- package/docs/pages/list.eta +465 -0
- package/docs/pages/list.js +8 -0
- package/docs/pages/menu.eta +274 -0
- package/docs/{src/components → pages}/menu.js +26 -42
- package/docs/pages/overlay.eta +69 -0
- package/docs/pages/overlay.js +3 -0
- package/docs/pages/progress.eta +23 -0
- package/docs/{src/components → pages}/progress.js +2 -4
- package/docs/pages/ripple.eta +27 -0
- package/docs/pages/ripple.js +3 -0
- package/docs/pages/search.eta +242 -0
- package/docs/pages/search.js +226 -0
- package/docs/pages/selection.eta +107 -0
- package/docs/pages/selection.js +12 -0
- package/docs/pages/slider.eta +23 -0
- package/docs/pages/slider.js +0 -0
- package/docs/pages/snackbar.eta +83 -0
- package/docs/{src/components → pages}/snackbar.js +31 -36
- package/docs/pages/tab.eta +407 -0
- package/docs/pages/tab.js +152 -0
- package/docs/pages/textfield.eta +487 -0
- package/docs/{src/components → pages}/textfield.js +41 -45
- package/docs/pages/tooltip.eta +92 -0
- package/docs/pages/tooltip.js +0 -0
- package/docs/pages/transition.eta +117 -0
- package/docs/pages/transition.js +52 -0
- package/docs/pages/type.eta +31 -0
- package/docs/pages/type.js +0 -0
- package/docs/postrender.js +41 -0
- package/docs/prerender.js +16 -0
- package/docs/pwa/_dialogs.eta +143 -0
- package/docs/pwa/_menus.eta +16 -0
- package/docs/pwa/pwa-prerender.js +3 -0
- package/docs/pwa/pwa.eta +478 -0
- package/docs/pwa/pwa.js +298 -0
- package/docs/pwa/pwa.scss +31 -0
- package/docs/themes/theme-colored.scss +15 -0
- package/docs/themes/theme-default.scss +3 -0
- package/index.scss +27 -0
- package/jsconfig.json +8 -2
- package/package.json +54 -27
- package/scripts/deploy-docs.sh +9 -0
- package/templates/index.eta +2 -0
- package/templates/index.pug +3 -0
- package/tsconfig.json +16 -0
- package/utils/function.js +3 -0
- package/webpack.config.js +224 -68
- package/_index.scss +0 -4
- package/components/all-components.scss +0 -21
- package/components/bottomnav/style.scss +0 -190
- package/components/bottomnav/theming.scss +0 -76
- package/components/button/style.scss +0 -315
- package/components/button/theming.scss +0 -134
- package/components/card/style.scss +0 -175
- package/components/card/theming.scss +0 -43
- package/components/common/dom.js +0 -51
- package/components/common/functions.scss +0 -174
- package/components/common/mixins.scss +0 -122
- package/components/common/motion.scss +0 -36
- package/components/common/type.scss +0 -104
- package/components/common/variables.scss +0 -46
- package/components/datatable/style.scss +0 -257
- package/components/datatable/theming.scss +0 -119
- package/components/dialog/style.scss +0 -159
- package/components/dialog/theming.scss +0 -29
- package/components/divider/style.scss +0 -7
- package/components/divider/theming.scss +0 -20
- package/components/elevation/style.scss +0 -32
- package/components/layout/style.scss +0 -223
- package/components/list/style.scss +0 -358
- package/components/list/theming.scss +0 -83
- package/components/menu/style.scss +0 -280
- package/components/menu/theming.scss +0 -80
- package/components/navdrawer/index.js +0 -200
- package/components/navdrawer/style.scss +0 -595
- package/components/navdrawer/theming.scss +0 -62
- package/components/progress/style.scss +0 -136
- package/components/ripple/index.js +0 -63
- package/components/ripple/ripple.scss +0 -122
- package/components/selection/style.scss +0 -320
- package/components/selection/theming.scss +0 -98
- package/components/snackbar/style.scss +0 -212
- package/components/switch/style.scss +0 -3
- package/components/tab/style.scss +0 -275
- package/components/tab/theming.scss +0 -34
- package/components/template/theming.scss +0 -31
- package/components/textfield/style.scss +0 -795
- package/components/textfield/theming.scss +0 -256
- package/components/theming/globals.scss +0 -25
- package/components/theming/theming.scss +0 -559
- package/components/toolbar/style.scss +0 -190
- package/components/toolbar/theming.scss +0 -32
- package/components/tooltip/style.scss +0 -135
- package/components/type/style.scss +0 -167
- package/components/type/theming.scss +0 -25
- 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/components.min.css +0 -1
- package/docs/components.min.js +0 -2
- package/docs/components.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/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/index.html +0 -1
- package/docs/index.min.js +0 -2
- package/docs/index.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/navdrawer.html +0 -1
- package/docs/navdrawer.min.js +0 -2
- package/docs/navdrawer.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/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/src/components/bottomnav.js +0 -16
- package/docs/src/components/bottomnav.pug +0 -112
- package/docs/src/components/button.js +0 -156
- package/docs/src/components/button.pug +0 -194
- package/docs/src/components/card.js +0 -136
- package/docs/src/components/card.pug +0 -133
- package/docs/src/components/datatable.js +0 -183
- package/docs/src/components/datatable.pug +0 -324
- package/docs/src/components/dialog.pug +0 -138
- package/docs/src/components/elevation.js +0 -3
- package/docs/src/components/elevation.pug +0 -17
- package/docs/src/components/fab.pug +0 -84
- package/docs/src/components/layout.js +0 -116
- package/docs/src/components/layout.pug +0 -104
- package/docs/src/components/list.js +0 -15
- package/docs/src/components/list.pug +0 -293
- package/docs/src/components/menu.pug +0 -292
- package/docs/src/components/navdrawer.js +0 -112
- package/docs/src/components/navdrawer.pug +0 -113
- package/docs/src/components/progress.pug +0 -17
- package/docs/src/components/search.js +0 -206
- package/docs/src/components/search.pug +0 -149
- package/docs/src/components/selection.js +0 -6
- package/docs/src/components/selection.pug +0 -116
- package/docs/src/components/slider.js +0 -3
- package/docs/src/components/slider.pug +0 -19
- package/docs/src/components/snackbar.pug +0 -145
- package/docs/src/components/tab.js +0 -137
- package/docs/src/components/tab.pug +0 -329
- package/docs/src/components/textfield.pug +0 -416
- package/docs/src/components/toolbar.js +0 -6
- package/docs/src/components/toolbar.pug +0 -86
- package/docs/src/components/tooltip.js +0 -6
- package/docs/src/components/tooltip.pug +0 -76
- package/docs/src/components/type.js +0 -6
- package/docs/src/components/type.pug +0 -34
- package/docs/src/components.scss +0 -1
- package/docs/src/docs.scss +0 -284
- package/docs/src/index.js +0 -3
- package/docs/src/index.pug +0 -6
- package/docs/src/menuoptions.js +0 -136
- package/docs/src/mixins.pug +0 -139
- package/docs/src/prerender.js +0 -26
- package/docs/src/sample-utils.js +0 -108
- package/docs/src/targetHandler.js +0 -50
- package/docs/src/theming.ie11.scss +0 -18
- package/docs/src/theming.scss +0 -18
- 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/theming.ie11.min.css +0 -1
- package/docs/theming.ie11.min.js +0 -2
- package/docs/theming.ie11.min.js.map +0 -1
- package/docs/theming.min.css +0 -1
- package/docs/theming.min.js +0 -2
- package/docs/theming.min.js.map +0 -1
- package/docs/toolbar.html +0 -1
- package/docs/toolbar.min.js +0 -2
- package/docs/toolbar.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/type.html +0 -1
- package/docs/type.min.js +0 -2
- package/docs/type.min.js.map +0 -1
- package/index.js +0 -16
|
@@ -1,13 +1,9 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { convertElementToCode
|
|
3
|
-
import { setupMenuOptions } from '../menuoptions';
|
|
1
|
+
import * as TextField from '../../components/textfield/index.js';
|
|
2
|
+
import { convertElementToCode } from '../_sample-utils.js';
|
|
4
3
|
|
|
5
4
|
/** @return {void} */
|
|
6
5
|
function initializeSampleComponents() {
|
|
7
|
-
const
|
|
8
|
-
for (let i = 0; i < textfields.length; i += 1) {
|
|
9
|
-
TextField.attach(textfields.item(i));
|
|
10
|
-
}
|
|
6
|
+
for (const el of document.querySelectorAll('.js .mdw-textfield')) TextField.attach(el);
|
|
11
7
|
}
|
|
12
8
|
|
|
13
9
|
/** @type {HTMLElement} */
|
|
@@ -25,6 +21,8 @@ function updateSampleCode() {
|
|
|
25
21
|
} else {
|
|
26
22
|
sampleComponent.removeAttribute('mdw-autosize');
|
|
27
23
|
}
|
|
24
|
+
// Remove resize values
|
|
25
|
+
sampleComponent.getElementsByClassName('mdw-textfield__input')[0].removeAttribute('style');
|
|
28
26
|
|
|
29
27
|
// Strip JS related elements and attributes
|
|
30
28
|
TextField.detach(sampleComponent);
|
|
@@ -102,6 +100,13 @@ function onOptionChange(event) {
|
|
|
102
100
|
sampleComponent.removeAttribute('mdw-outlined');
|
|
103
101
|
}
|
|
104
102
|
break;
|
|
103
|
+
case 'dense':
|
|
104
|
+
if (checked) {
|
|
105
|
+
sampleComponent.setAttribute('mdw-dense', '');
|
|
106
|
+
} else {
|
|
107
|
+
sampleComponent.removeAttribute('mdw-dense');
|
|
108
|
+
}
|
|
109
|
+
break;
|
|
105
110
|
case 'disabled':
|
|
106
111
|
if (checked) {
|
|
107
112
|
sampleComponent.getElementsByClassName('mdw-textfield__input')[0].setAttribute('disabled', '');
|
|
@@ -109,6 +114,13 @@ function onOptionChange(event) {
|
|
|
109
114
|
sampleComponent.getElementsByClassName('mdw-textfield__input')[0].removeAttribute('disabled');
|
|
110
115
|
}
|
|
111
116
|
break;
|
|
117
|
+
case '4minlength':
|
|
118
|
+
if (checked) {
|
|
119
|
+
sampleComponent.getElementsByClassName('mdw-textfield__input')[0].setAttribute('minlength', '4');
|
|
120
|
+
} else {
|
|
121
|
+
sampleComponent.getElementsByClassName('mdw-textfield__input')[0].removeAttribute('minlength');
|
|
122
|
+
}
|
|
123
|
+
break;
|
|
112
124
|
case 'required':
|
|
113
125
|
if (checked) {
|
|
114
126
|
sampleComponent.getElementsByClassName('mdw-textfield__input')[0].setAttribute('required', '');
|
|
@@ -126,7 +138,7 @@ function onOptionChange(event) {
|
|
|
126
138
|
sampleComponent.appendChild(prefixText);
|
|
127
139
|
}
|
|
128
140
|
} else if (prefixText) {
|
|
129
|
-
prefixText.
|
|
141
|
+
prefixText.remove();
|
|
130
142
|
}
|
|
131
143
|
break;
|
|
132
144
|
case 'suffix':
|
|
@@ -139,7 +151,7 @@ function onOptionChange(event) {
|
|
|
139
151
|
sampleComponent.appendChild(suffixText);
|
|
140
152
|
}
|
|
141
153
|
} else if (suffixText) {
|
|
142
|
-
suffixText.
|
|
154
|
+
suffixText.remove();
|
|
143
155
|
}
|
|
144
156
|
break;
|
|
145
157
|
case 'signifier':
|
|
@@ -157,7 +169,7 @@ function onOptionChange(event) {
|
|
|
157
169
|
}
|
|
158
170
|
}
|
|
159
171
|
} else if (signifierElement) {
|
|
160
|
-
signifierElement.
|
|
172
|
+
signifierElement.remove();
|
|
161
173
|
}
|
|
162
174
|
break;
|
|
163
175
|
case 'helper-text':
|
|
@@ -170,7 +182,7 @@ function onOptionChange(event) {
|
|
|
170
182
|
sampleComponent.appendChild(helperText);
|
|
171
183
|
}
|
|
172
184
|
} else if (helperText) {
|
|
173
|
-
helperText.
|
|
185
|
+
helperText.remove();
|
|
174
186
|
}
|
|
175
187
|
break;
|
|
176
188
|
case 'error-text':
|
|
@@ -183,26 +195,16 @@ function onOptionChange(event) {
|
|
|
183
195
|
sampleComponent.appendChild(errorText);
|
|
184
196
|
}
|
|
185
197
|
} else if (errorText) {
|
|
186
|
-
errorText.
|
|
198
|
+
errorText.remove();
|
|
187
199
|
}
|
|
188
200
|
break;
|
|
189
|
-
case '
|
|
201
|
+
case 'ink':
|
|
190
202
|
switch (value) {
|
|
191
203
|
case 'none':
|
|
192
|
-
sampleComponent.removeAttribute('mdw-
|
|
204
|
+
sampleComponent.removeAttribute('mdw-ink');
|
|
193
205
|
break;
|
|
194
206
|
default:
|
|
195
|
-
sampleComponent.setAttribute('mdw-
|
|
196
|
-
break;
|
|
197
|
-
}
|
|
198
|
-
break;
|
|
199
|
-
case 'fill':
|
|
200
|
-
switch (value) {
|
|
201
|
-
case 'none':
|
|
202
|
-
sampleComponent.removeAttribute('mdw-theme-fill');
|
|
203
|
-
break;
|
|
204
|
-
default:
|
|
205
|
-
sampleComponent.setAttribute('mdw-theme-fill', value);
|
|
207
|
+
sampleComponent.setAttribute('mdw-ink', value);
|
|
206
208
|
break;
|
|
207
209
|
}
|
|
208
210
|
break;
|
|
@@ -211,7 +213,8 @@ function onOptionChange(event) {
|
|
|
211
213
|
|
|
212
214
|
if (inputElement.tagName.toLowerCase() !== desiredTagName) {
|
|
213
215
|
const newElement = document.createElement(desiredTagName);
|
|
214
|
-
|
|
216
|
+
let i = inputElement.attributes.length;
|
|
217
|
+
while (i--) {
|
|
215
218
|
const attr = inputElement.attributes.item(i);
|
|
216
219
|
newElement.attributes.setNamedItem(attr.cloneNode());
|
|
217
220
|
}
|
|
@@ -219,18 +222,14 @@ function onOptionChange(event) {
|
|
|
219
222
|
inputElement = newElement;
|
|
220
223
|
let dropdown = sampleComponent.getElementsByClassName('mdw-textfield__icon')[0];
|
|
221
224
|
if (desiredTagName === 'select') {
|
|
222
|
-
const option1
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
option3.textContent = 'Option 2';
|
|
231
|
-
inputElement.appendChild(option1);
|
|
232
|
-
inputElement.appendChild(option2);
|
|
233
|
-
inputElement.appendChild(option3);
|
|
225
|
+
for (const [valueAttr, textContent] of [['', 'Empty'], ['option1', 'Option 1'], ['option2', 'Option 2']]) {
|
|
226
|
+
const option = document.createElement('option');
|
|
227
|
+
option.className = 'mdw-theme';
|
|
228
|
+
option.setAttribute('mdw-surface', 'card');
|
|
229
|
+
option.setAttribute('value', valueAttr);
|
|
230
|
+
option.textContent = textContent;
|
|
231
|
+
inputElement.appendChild(option);
|
|
232
|
+
}
|
|
234
233
|
if (!dropdown) {
|
|
235
234
|
dropdown = document.createElement('div');
|
|
236
235
|
dropdown.classList.add('mdw-textfield__icon');
|
|
@@ -238,7 +237,7 @@ function onOptionChange(event) {
|
|
|
238
237
|
sampleComponent.appendChild(dropdown);
|
|
239
238
|
}
|
|
240
239
|
} else if (dropdown) {
|
|
241
|
-
dropdown.
|
|
240
|
+
dropdown.remove();
|
|
242
241
|
}
|
|
243
242
|
}
|
|
244
243
|
inputElement.removeAttribute('rows');
|
|
@@ -248,14 +247,11 @@ function onOptionChange(event) {
|
|
|
248
247
|
/** @return {void} */
|
|
249
248
|
function setupComponentOptions() {
|
|
250
249
|
sampleComponent = document.querySelector('.component-sample .mdw-textfield');
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
onOptionChange
|
|
255
|
-
);
|
|
250
|
+
for (const el of document.querySelectorAll('input[name]')) {
|
|
251
|
+
el.addEventListener('change', onOptionChange);
|
|
252
|
+
}
|
|
256
253
|
}
|
|
257
254
|
|
|
258
255
|
initializeSampleComponents();
|
|
259
|
-
setupMenuOptions();
|
|
260
256
|
setupComponentOptions();
|
|
261
257
|
updateSampleCode();
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
<% var T = '../../templates/index.eta' %>
|
|
2
|
+
<% layout('../_partials/_header.eta', {page: 'tooltip'}) %>
|
|
3
|
+
<div class="comparison">
|
|
4
|
+
<div class="render">
|
|
5
|
+
<%~ includeFile('../_partials/_androidstatusbar.eta', { surface:'cyan 700', dark:true }) %>
|
|
6
|
+
<div class="mdw-appbar mdw-theme" mdw-surface="cyan 500" mdw-dark>
|
|
7
|
+
<div class="mdw-appbar__start">
|
|
8
|
+
<div class="mdw-tooltip__wrapper">
|
|
9
|
+
<%~ includeFile(T, { button: { icon:true , class:'material-icons mdw-tooltip__target', text:'menu' }}) %>
|
|
10
|
+
<div class="mdw-tooltip mdw-theme" mdw-surface="background 700" mdw-dark mdw-align="start">Menu</div>
|
|
11
|
+
</div>
|
|
12
|
+
</div>
|
|
13
|
+
<div class="mdw-appbar__title" style="color:white;">Inbox</div>
|
|
14
|
+
<div class="mdw-appbar__end">
|
|
15
|
+
<div class="mdw-tooltip__wrapper">
|
|
16
|
+
<%~ includeFile(T, { button: { icon:true , class:'material-icons mdw-tooltip__target', text:'search' }}) %>
|
|
17
|
+
<div class="mdw-tooltip mdw-theme" mdw-surface="background 700" mdw-dark mdw-align="end">Search</div>
|
|
18
|
+
</div>
|
|
19
|
+
</div>
|
|
20
|
+
</div>
|
|
21
|
+
<div class="content">
|
|
22
|
+
<ul class="mdw-list" mdw-divider>
|
|
23
|
+
<li class="mdw-list__subheader mdw-theme" mdw-ink="medium">Today</li>
|
|
24
|
+
<li class="mdw-list__item">
|
|
25
|
+
<div class="mdw-list__content">
|
|
26
|
+
<div class="mdw-list__avatar"><i class="material-icons" style="font-size:40px;"></i></div>
|
|
27
|
+
<div class="mdw-list__text">
|
|
28
|
+
<div class="mdw-list__text-line">Brunch this weekend?</div>
|
|
29
|
+
<div class="mdw-list__text-line">Ali Connors<span class="mdw-theme" mdw-ink="medium"> — I'll be in your neighborhood doing errands this weekend. Do you want to meet?</span></div>
|
|
30
|
+
</div>
|
|
31
|
+
</div>
|
|
32
|
+
</li>
|
|
33
|
+
<li class="mdw-list__item">
|
|
34
|
+
<div class="mdw-list__content">
|
|
35
|
+
<div class="mdw-list__avatar"><i class="material-icons" style="font-size:40px;"></i></div>
|
|
36
|
+
<div class="mdw-list__text">
|
|
37
|
+
<div class="mdw-list__text-line">Summer BBQ<span class="mdw-theme" mdw-ink="medium"> 4</span></div>
|
|
38
|
+
<div class="mdw-list__text-line">to Alex, Scott, Jennifer<span class="mdw-theme" mdw-ink="medium"> — Wish I could come. but I'm out of town this weekend.</span></div>
|
|
39
|
+
</div>
|
|
40
|
+
</div>
|
|
41
|
+
</li>
|
|
42
|
+
<li class="mdw-list__item">
|
|
43
|
+
<div class="mdw-list__content">
|
|
44
|
+
<div class="mdw-list__avatar"><i class="material-icons" style="font-size:40px;"></i></div>
|
|
45
|
+
<div class="mdw-list__text">
|
|
46
|
+
<div class="mdw-list__text-line">Oui oui</div>
|
|
47
|
+
<div class="mdw-list__text-line">Sandra Adams<span class="mdw-theme" mdw-ink="medium"> — Do you have Paris recommendations? Have you ever been?</span></div>
|
|
48
|
+
</div>
|
|
49
|
+
</div>
|
|
50
|
+
</li>
|
|
51
|
+
<li class="mdw-list__item">
|
|
52
|
+
<div class="mdw-list__content">
|
|
53
|
+
<div class="mdw-list__avatar"><i class="material-icons" style="font-size:40px;"></i></div>
|
|
54
|
+
<div class="mdw-list__text">
|
|
55
|
+
<div class="mdw-list__text-line">Birthday gift</div>
|
|
56
|
+
<div class="mdw-list__text-line">Trevor Hansen<span class="mdw-theme" mdw-ink="medium"> — Have any ideas about what we should get Heidi for her birthday?</span></div>
|
|
57
|
+
</div>
|
|
58
|
+
</div>
|
|
59
|
+
</li>
|
|
60
|
+
<li class="mdw-list__item">
|
|
61
|
+
<div class="mdw-list__content">
|
|
62
|
+
<div class="mdw-list__avatar"><i class="material-icons" style="font-size:40px;"></i></div>
|
|
63
|
+
<div class="mdw-list__text">
|
|
64
|
+
<div class="mdw-list__text-line">Recipe to try</div>
|
|
65
|
+
<div class="mdw-list__text-line">Britta Holt<span class="mdw-theme" mdw-ink="medium"> — We should eat this: Grated Squash, Corn, and tomatillo Tacos J</span></div>
|
|
66
|
+
</div>
|
|
67
|
+
</div>
|
|
68
|
+
</li>
|
|
69
|
+
<li class="mdw-list__item">
|
|
70
|
+
<div class="mdw-list__content">
|
|
71
|
+
<div class="mdw-list__avatar"><i class="material-icons" style="font-size:40px;"></i></div>
|
|
72
|
+
<div class="mdw-list__text">
|
|
73
|
+
<div class="mdw-list__text-line">Giants game</div>
|
|
74
|
+
<div class="mdw-list__text-line">David Park<span class="mdw-theme" mdw-ink="medium"> — Any interest in seeing</span></div>
|
|
75
|
+
</div>
|
|
76
|
+
</div>
|
|
77
|
+
</li>
|
|
78
|
+
<li class="mdw-list__item">
|
|
79
|
+
<div class="mdw-list__content">
|
|
80
|
+
<div class="mdw-list__avatar"><i class="material-icons" style="font-size:40px;"></i></div>
|
|
81
|
+
<div class="mdw-list__text">
|
|
82
|
+
<div class="mdw-list__text-line">Montauk weekend</div>
|
|
83
|
+
<div class="mdw-list__text-line">-----</div>
|
|
84
|
+
</div>
|
|
85
|
+
</div>
|
|
86
|
+
</li>
|
|
87
|
+
</ul>
|
|
88
|
+
</div>
|
|
89
|
+
<%~ includeFile('../_partials/_androidnavbar.eta') %>
|
|
90
|
+
</div>
|
|
91
|
+
</div>
|
|
92
|
+
<script src="tooltip.min.js"></script>
|
|
File without changes
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
<% var T = '../../templates/index.eta' %>
|
|
2
|
+
<% layout('../_partials/_header.eta', {page: 'transition'}) %>
|
|
3
|
+
<div class="mdw-grid" mdw-margin-top mdw-margin-bottom mdw-stretch>
|
|
4
|
+
<div class="mdw-grid__item" mdw-colspan="100%">
|
|
5
|
+
<div class="mdw-grid__content">
|
|
6
|
+
<div class="display-flex" flex-align-items="center">
|
|
7
|
+
<h5 class="mdw-type">Select two items.</h5>
|
|
8
|
+
</div>
|
|
9
|
+
</div>
|
|
10
|
+
</div>
|
|
11
|
+
<div class="mdw-grid__item" mdw-colspan="25%">
|
|
12
|
+
<div class="mdw-grid__content">
|
|
13
|
+
<div class="display-flex flex-column">
|
|
14
|
+
<div class="demo-core-item mdw-elevation mdw-overlay mdw-ripple mdw-theme" mdw-elevation="1" mdw-surface="white" mdw-light>
|
|
15
|
+
<div class="demo-core-content">Small</div>
|
|
16
|
+
</div>
|
|
17
|
+
<div class="demo-core-item mdw-elevation mdw-overlay mdw-ripple mdw-theme" mdw-elevation="1" mdw-surface="black" mdw-dark>
|
|
18
|
+
<div class="demo-core-content">Small</div>
|
|
19
|
+
</div>
|
|
20
|
+
<div class="demo-core-item mdw-elevation mdw-overlay mdw-ripple mdw-theme" mdw-elevation="1" mdw-surface="primary 500" mdw-dark>
|
|
21
|
+
<div class="demo-core-content">Small</div>
|
|
22
|
+
</div>
|
|
23
|
+
<div class="demo-core-item mdw-elevation mdw-overlay mdw-ripple mdw-theme" mdw-elevation="1" mdw-surface="secondary 500" mdw-dark>
|
|
24
|
+
<div class="demo-core-content">Small</div>
|
|
25
|
+
</div>
|
|
26
|
+
<div class="demo-core-item mdw-elevation mdw-overlay mdw-ripple mdw-theme" mdw-elevation="1" mdw-surface="warn 500" mdw-dark>
|
|
27
|
+
<div class="demo-core-content">Small</div>
|
|
28
|
+
</div>
|
|
29
|
+
</div>
|
|
30
|
+
</div>
|
|
31
|
+
</div>
|
|
32
|
+
<div class="mdw-grid__item" mdw-colspan="50%">
|
|
33
|
+
<div class="mdw-grid__content">
|
|
34
|
+
<div class="display-flex flex-column">
|
|
35
|
+
<div class="demo-core-item mdw-elevation mdw-overlay mdw-ripple mdw-theme" mdw-elevation="1" mdw-surface="white" mdw-light>
|
|
36
|
+
<div class="demo-core-content">Medium</div>
|
|
37
|
+
</div>
|
|
38
|
+
<div class="demo-core-item mdw-elevation mdw-overlay mdw-ripple mdw-theme" mdw-elevation="1" mdw-surface="black" mdw-dark>
|
|
39
|
+
<div class="demo-core-content">Medium</div>
|
|
40
|
+
</div>
|
|
41
|
+
<div class="demo-core-item mdw-elevation mdw-overlay mdw-ripple mdw-theme" mdw-elevation="1" mdw-surface="primary 500" mdw-dark>
|
|
42
|
+
<div class="demo-core-content">Medium</div>
|
|
43
|
+
</div>
|
|
44
|
+
<div class="demo-core-item mdw-elevation mdw-overlay mdw-ripple mdw-theme" mdw-elevation="1" mdw-surface="secondary 500" mdw-dark>
|
|
45
|
+
<div class="demo-core-content">Medium</div>
|
|
46
|
+
</div>
|
|
47
|
+
<div class="demo-core-item mdw-elevation mdw-overlay mdw-ripple mdw-theme" mdw-elevation="1" mdw-surface="warn 500" mdw-dark>
|
|
48
|
+
<div class="demo-core-content">Medium</div>
|
|
49
|
+
</div>
|
|
50
|
+
</div>
|
|
51
|
+
</div>
|
|
52
|
+
</div>
|
|
53
|
+
<div class="mdw-grid__item" mdw-colspan="25%">
|
|
54
|
+
<div class="mdw-grid__content">
|
|
55
|
+
<div class="display-flex flex-column" flex-align-items="center">
|
|
56
|
+
<div class="demo-core-item mdw-elevation mdw-overlay mdw-ripple mdw-theme" mdw-elevation="1" mdw-surface="white" mdw-light demo-round>
|
|
57
|
+
<div class="demo-core-content">Round</div>
|
|
58
|
+
</div>
|
|
59
|
+
<div class="demo-core-item mdw-elevation mdw-overlay mdw-ripple mdw-theme" mdw-elevation="1" mdw-surface="black" mdw-dark demo-round>
|
|
60
|
+
<div class="demo-core-content">Round</div>
|
|
61
|
+
</div>
|
|
62
|
+
<div class="demo-core-item mdw-elevation mdw-overlay mdw-ripple mdw-theme" mdw-elevation="1" mdw-surface="primary 500" mdw-dark demo-round>
|
|
63
|
+
<div class="demo-core-content">Round</div>
|
|
64
|
+
</div>
|
|
65
|
+
<div class="demo-core-item mdw-elevation mdw-overlay mdw-ripple mdw-theme" mdw-elevation="1" mdw-surface="secondary 500" mdw-dark demo-round>
|
|
66
|
+
<div class="demo-core-content">Round</div>
|
|
67
|
+
</div>
|
|
68
|
+
<div class="demo-core-item mdw-elevation mdw-overlay mdw-ripple mdw-theme" mdw-elevation="1" mdw-surface="warn 500" mdw-dark demo-round>
|
|
69
|
+
<div class="demo-core-content">Round</div>
|
|
70
|
+
</div>
|
|
71
|
+
</div>
|
|
72
|
+
</div>
|
|
73
|
+
</div>
|
|
74
|
+
<div class="mdw-grid__item" mdw-colspan="25%">
|
|
75
|
+
<div class="mdw-grid__content">
|
|
76
|
+
<div class="display-flex flex-column" flex-align-items="center">
|
|
77
|
+
<div class="demo-core-item mdw-elevation mdw-overlay mdw-ripple mdw-theme" mdw-elevation="1" mdw-surface="white" mdw-light demo-square>
|
|
78
|
+
<div class="demo-core-content">Square</div>
|
|
79
|
+
</div>
|
|
80
|
+
<div class="demo-core-item mdw-elevation mdw-overlay mdw-ripple mdw-theme" mdw-elevation="1" mdw-surface="black" mdw-dark demo-square>
|
|
81
|
+
<div class="demo-core-content">Square</div>
|
|
82
|
+
</div>
|
|
83
|
+
<div class="demo-core-item mdw-elevation mdw-overlay mdw-ripple mdw-theme" mdw-elevation="1" mdw-surface="primary 500" mdw-dark demo-square>
|
|
84
|
+
<div class="demo-core-content">Square</div>
|
|
85
|
+
</div>
|
|
86
|
+
<div class="demo-core-item mdw-elevation mdw-overlay mdw-ripple mdw-theme" mdw-elevation="1" mdw-surface="secondary 500" mdw-dark demo-square>
|
|
87
|
+
<div class="demo-core-content">Square</div>
|
|
88
|
+
</div>
|
|
89
|
+
<div class="demo-core-item mdw-elevation mdw-overlay mdw-ripple mdw-theme" mdw-elevation="1" mdw-surface="warn 500" mdw-dark demo-square>
|
|
90
|
+
<div class="demo-core-content">Square</div>
|
|
91
|
+
</div>
|
|
92
|
+
</div>
|
|
93
|
+
</div>
|
|
94
|
+
</div>
|
|
95
|
+
<div class="mdw-grid__item" mdw-colspan="75%">
|
|
96
|
+
<div class="mdw-grid__content">
|
|
97
|
+
<div class="display-flex flex-column">
|
|
98
|
+
<div class="demo-core-item mdw-elevation mdw-overlay mdw-ripple mdw-theme" mdw-elevation="1" mdw-surface="white" mdw-light>
|
|
99
|
+
<div class="demo-core-content">Wide</div>
|
|
100
|
+
</div>
|
|
101
|
+
<div class="demo-core-item mdw-elevation mdw-overlay mdw-ripple mdw-theme" mdw-elevation="1" mdw-surface="black" mdw-dark>
|
|
102
|
+
<div class="demo-core-content">Wide</div>
|
|
103
|
+
</div>
|
|
104
|
+
<div class="demo-core-item mdw-elevation mdw-overlay mdw-ripple mdw-theme" mdw-elevation="1" mdw-surface="primary 500" mdw-dark>
|
|
105
|
+
<div class="demo-core-content">Wide</div>
|
|
106
|
+
</div>
|
|
107
|
+
<div class="demo-core-item mdw-elevation mdw-overlay mdw-ripple mdw-theme" mdw-elevation="1" mdw-surface="secondary 500" mdw-dark>
|
|
108
|
+
<div class="demo-core-content">Wide</div>
|
|
109
|
+
</div>
|
|
110
|
+
<div class="demo-core-item mdw-elevation mdw-overlay mdw-ripple mdw-theme" mdw-elevation="1" mdw-surface="warn 500" mdw-dark>
|
|
111
|
+
<div class="demo-core-content">Wide</div>
|
|
112
|
+
</div>
|
|
113
|
+
</div>
|
|
114
|
+
</div>
|
|
115
|
+
</div>
|
|
116
|
+
</div>
|
|
117
|
+
<script src="transition.min.js"></script>
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import * as Overlay from '../../core/overlay/index.js';
|
|
2
|
+
import * as Ripple from '../../core/ripple/index.js';
|
|
3
|
+
import * as Transition from '../../core/transition/index.js';
|
|
4
|
+
|
|
5
|
+
for (const element of document.getElementsByClassName('mdw-overlay')) { Overlay.attach(element); }
|
|
6
|
+
for (const element of document.getElementsByClassName('mdw-ripple')) { Ripple.attach(element); }
|
|
7
|
+
|
|
8
|
+
/** @type {HTMLElement} */
|
|
9
|
+
let target1;
|
|
10
|
+
/** @type {HTMLElement} */
|
|
11
|
+
let target2;
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* @param {MouseEvent} event
|
|
15
|
+
* @return {void}
|
|
16
|
+
*/
|
|
17
|
+
function onItemClick(event) {
|
|
18
|
+
/** @type {HTMLElement} */
|
|
19
|
+
const target = (event.currentTarget);
|
|
20
|
+
if (target.hasAttribute('mdw-transition-busy')) {
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
if (!target1) {
|
|
24
|
+
target1 = target;
|
|
25
|
+
target1.setAttribute('aria-pressed', 'true');
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
if (target1 === (event.currentTarget)) {
|
|
29
|
+
target1.setAttribute('aria-pressed', 'false');
|
|
30
|
+
target1 = null;
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
if (!target2) {
|
|
34
|
+
target2 = target;
|
|
35
|
+
}
|
|
36
|
+
target2.blur();
|
|
37
|
+
target1.setAttribute('aria-pressed', 'false');
|
|
38
|
+
Transition.transitionElement({
|
|
39
|
+
fromShapeElement: target1,
|
|
40
|
+
toShapeElement: target2,
|
|
41
|
+
fromContentElement: target1.getElementsByClassName('demo-core-content')[0],
|
|
42
|
+
toContentElement: target2.getElementsByClassName('demo-core-content')[0],
|
|
43
|
+
duration: 3000,
|
|
44
|
+
revertFrom: true,
|
|
45
|
+
});
|
|
46
|
+
target1 = null;
|
|
47
|
+
target2 = null;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
for (const item of document.getElementsByClassName('demo-core-item')) {
|
|
51
|
+
item.addEventListener('click', onItemClick);
|
|
52
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
<% layout('../_partials/_header.eta', {page: 'type'}) %>
|
|
2
|
+
<div>
|
|
3
|
+
<div class="content">
|
|
4
|
+
<h1 class="mdw-type">H1 Headline</h1>
|
|
5
|
+
<h2 class="mdw-type">H2 Headline</h2>
|
|
6
|
+
<h3 class="mdw-type">H3 Headline</h3>
|
|
7
|
+
<h4 class="mdw-type">H4 Headline</h4>
|
|
8
|
+
<h5 class="mdw-type">H5 Headline</h5>
|
|
9
|
+
<h6 class="mdw-type">H6 Headline</h6>
|
|
10
|
+
<div class="mdw-type" mdw-style="subtitle">Subtitle 1</div>
|
|
11
|
+
<div class="mdw-type" mdw-style="subtitle-2">Subtitle 2</div>
|
|
12
|
+
<p class="mdw-type">Body 1</p>
|
|
13
|
+
<p class="mdw-type" mdw-style="body-2">Body 2</p>
|
|
14
|
+
<div class="mdw-type" mdw-style="button">Button</div>
|
|
15
|
+
<div class="mdw-type" mdw-style="caption">Caption</div>
|
|
16
|
+
<div class="mdw-type" mdw-style="overline">Overline</div>
|
|
17
|
+
</div>
|
|
18
|
+
</div>
|
|
19
|
+
<div class="comparison type-comparison-3">
|
|
20
|
+
<div class="render">
|
|
21
|
+
<h5 class="mdw-type" mdw-baseline-top="64" mdw-baseline-next="20">Johannes Guttenberg</h5>
|
|
22
|
+
<div class="mdw-type" mdw-style="caption" mdw-baseline-next="36">German Printer</div>
|
|
23
|
+
<p class="mdw-type" mdw-style="body-2" mdw-baseline-next="32">Johannes Gensfleisch zur Laden zum Gutenberg was a German blacksmith, goldsmith, printer, and publisher who introduced printing to Europe with the printing press.</p>
|
|
24
|
+
<p class="mdw-type" mdw-style="body-2" mdw-baseline-next="20">Born</p>
|
|
25
|
+
<p class="mdw-type" mdw-style="body-2" mdw-baseline-bottom="68">c. 1400, Mainz Germany</p>
|
|
26
|
+
</div>
|
|
27
|
+
<div>
|
|
28
|
+
<div style="margin-top:10px;"></div>
|
|
29
|
+
</div>
|
|
30
|
+
</div>
|
|
31
|
+
<script src="type.min.js"></script>
|
|
File without changes
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import * as Button from '../components/button/index.js';
|
|
2
|
+
import * as Layout from '../components/layout/index.js';
|
|
3
|
+
import * as ListContent from '../components/list/content.js';
|
|
4
|
+
import * as List from '../components/list/index.js';
|
|
5
|
+
|
|
6
|
+
const navDrawer = document.getElementsByClassName('mdw-layout__navdrawer')[0];
|
|
7
|
+
List.attachAll(navDrawer);
|
|
8
|
+
Layout.attach();
|
|
9
|
+
for (const element of document.querySelectorAll('.mdw-layout__appbar .mdw-button')) {
|
|
10
|
+
Button.attach(element);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
navDrawer.querySelector('[aria-current]').scrollIntoView({
|
|
14
|
+
behavior: 'auto',
|
|
15
|
+
block: 'center',
|
|
16
|
+
inline: 'start',
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
/** @return {void} */
|
|
20
|
+
function clearCurrentPage() {
|
|
21
|
+
for (const item of navDrawer.querySelectorAll('[aria-current]')) {
|
|
22
|
+
item.removeAttribute('aria-current');
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
navDrawer.addEventListener(ListContent.ACTIVATE_EVENT, (event) => {
|
|
27
|
+
const item = /** @type {HTMLElement} */ (event.target);
|
|
28
|
+
ListContent.setSelected(item, true);
|
|
29
|
+
if (item instanceof HTMLAnchorElement) {
|
|
30
|
+
if (item.hasAttribute('aria-current')) {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
clearCurrentPage();
|
|
34
|
+
item.setAttribute('aria-current', 'page');
|
|
35
|
+
// Auto close if modal
|
|
36
|
+
if (Layout.isNavDrawerModalShowing()) {
|
|
37
|
+
Layout.hideNavDrawer();
|
|
38
|
+
}
|
|
39
|
+
window.location.href = item.href;
|
|
40
|
+
}
|
|
41
|
+
});
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import * as Document from '../core/document/index.js';
|
|
2
|
+
|
|
3
|
+
import { setupMenuOptions } from './_menuoptions.js';
|
|
4
|
+
|
|
5
|
+
/** @return {void} */
|
|
6
|
+
function onDOMContentLoaded() {
|
|
7
|
+
document.removeEventListener('DOMContentLoaded', onDOMContentLoaded);
|
|
8
|
+
// Apply button states
|
|
9
|
+
setupMenuOptions();
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
// Apply context first
|
|
13
|
+
setupMenuOptions();
|
|
14
|
+
Document.onPrerender();
|
|
15
|
+
|
|
16
|
+
document.addEventListener('DOMContentLoaded', onDOMContentLoaded);
|