@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
package/docs/layout.min.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./docs/src/storage.js","webpack:///./docs/src/menuoptions.js","webpack:///./docs/src/sample-utils.js","webpack:///./docs/src/components/layout.js","webpack:///./docs/src/components/layout.pug"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","default","object","property","prototype","hasOwnProperty","p","s","0","e","getStorageItem","window","localStorage","getItem","setStorageItem","setItem","removeStorageItem","removeItem","__webpack_exports__","setRTLMode","setDarkMode","setFontSize","setupMenuOptions","_storage__WEBPACK_IMPORTED_MODULE_0__","darkAttribute","lightAttribute","button","document","documentElement","setAttribute","removeAttribute","style","setProperty","removeProperty","buttons","getElementById","getElementsByClassName","buttonRTLMode","buttonDarkMode","largeFontMode","element","addEventListener","getAttribute","getPropertyValue","convertElementToCode","linePrefix","arguments","length","htmlType","tagName","toLowerCase","attributes","attribute","item","push","concat","sort","syntaxItems","join","openingHTMLLine","filter","trim","closingHTMLLine","lines","innerLines","onlyText","childNodes","child","lineText","HTMLElement","nodeValue","line","forEach","attachEventListener","elements","event","listener","elementList","Element","getChildTextNode","node","childNode","nodeType","Node","TEXT_NODE","textNode","createTextNode","appendChild","changeElementTagName","tagname","newElement","createElement","attr","setNamedItem","cloneNode","firstChild","parentElement","replaceChild","_menuoptions__WEBPACK_IMPORTED_MODULE_0__","_sample_utils__WEBPACK_IMPORTED_MODULE_1__","colspans","onOptionChange","_event$target","target","checked","layout","querySelector","layoutItems","_loop","colspan","index","indexOf","toString","firstElementChild","textContent","querySelectorAll"],"mappings":"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","file":"layout.min.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 40);\n","/**\n * @param {string} key\n * @return {string}\n */\nexport function getStorageItem(key) {\n if (!window.localStorage) {\n return null;\n }\n return localStorage.getItem(key);\n}\n\n/**\n * @param {string} key\n * @param {string} value\n * @return {void}\n */\nexport function setStorageItem(key, value) {\n if (!window.localStorage) {\n return;\n }\n localStorage.setItem(key, value);\n}\n\n/**\n * @param {string} key\n * @return {void}\n */\nexport function removeStorageItem(key) {\n if (!window.localStorage) {\n return;\n }\n localStorage.removeItem(key);\n}\n","import { setStorageItem, removeStorageItem, getStorageItem } from './storage';\n\nconst darkAttribute = 'black dark';\nconst lightAttribute = 'white light';\n\n/**\n * @param {boolean} value\n * @param {Element=} button\n * @return {void}\n */\nexport function setRTLMode(value, button) {\n if (value) {\n document.documentElement.setAttribute('dir', 'rtl');\n if (button) {\n button.removeAttribute('mdw-inactive');\n }\n // element.setAttribute('mdw-active', '');\n // Poor visibility even though spec says 70% opacity\n setStorageItem('rtlmode', 'true');\n } else {\n document.documentElement.removeAttribute('dir');\n if (button) {\n button.setAttribute('mdw-inactive', '');\n }\n // element.removeAttribute('mdw-active');\n removeStorageItem('rtlmode');\n }\n}\n\n/**\n * @param {boolean} value\n * @param {Element=} button\n * @return {void}\n */\nexport function setDarkMode(value, button) {\n if (value) {\n document.documentElement.setAttribute('mdw-theme-fill', darkAttribute);\n if (button) {\n button.removeAttribute('mdw-inactive');\n }\n // element.setAttribute('mdw-active', '');\n // Poor visibility even though spec says 70% opacity\n } else {\n document.documentElement.setAttribute('mdw-theme-fill', lightAttribute);\n if (button) {\n button.setAttribute('mdw-inactive', '');\n }\n // element.removeAttribute('mdw-active');\n }\n setStorageItem('darkmode', value ? 'true' : 'false');\n}\n\n/**\n * @param {string} value\n * @param {Element=} button\n * @return {void}\n */\nexport function setFontSize(value, button) {\n if (value) {\n document.documentElement.style.setProperty('font-size', value);\n if (button) {\n button.removeAttribute('mdw-inactive');\n }\n // element.setAttribute('mdw-active', '');\n // Poor visibility even though spec says 70% opacity\n setStorageItem('fontsize', value);\n } else {\n document.documentElement.style.removeProperty('font-size');\n if (button) {\n button.setAttribute('mdw-inactive', '');\n }\n // element.removeAttribute('mdw-active');\n removeStorageItem('fontsize');\n }\n}\n\n/**\n * @param {Element} element\n * @return {void}\n */\nfunction setupRTLMode(element) {\n if (getStorageItem('rtlmode') === 'true') {\n setRTLMode(true, element);\n }\n element.addEventListener('click', () => {\n if (document.documentElement.getAttribute('dir') === 'rtl') {\n setRTLMode(false, element);\n } else {\n setRTLMode(true, element);\n }\n });\n}\n\n/**\n * @param {Element} element\n * @return {void}\n */\nfunction setupDarkMode(element) {\n if (getStorageItem('darkmode') === 'true') {\n setDarkMode(true, element);\n }\n element.addEventListener('click', () => {\n if (document.documentElement.getAttribute('mdw-theme-fill') === darkAttribute) {\n setDarkMode(false, element);\n } else {\n setDarkMode(true, element);\n }\n });\n}\n\n/**\n * @param {Element} element\n * @return {void}\n */\nfunction setupLargeFontMode(element) {\n const fontsize = getStorageItem('fontsize');\n setFontSize(fontsize, element);\n element.addEventListener('click', () => {\n if (document.documentElement.style.getPropertyValue('font-size')) {\n setFontSize(null, element);\n } else {\n setFontSize('125%', element);\n }\n });\n}\n\n/** @return {void} */\nexport function setupMenuOptions() {\n const buttons = document.getElementById('docs-menu-buttons').getElementsByClassName('mdw-button');\n const buttonRTLMode = buttons[0];\n const buttonDarkMode = buttons[1];\n const largeFontMode = buttons[2];\n setupRTLMode(buttonRTLMode);\n setupDarkMode(buttonDarkMode);\n setupLargeFontMode(largeFontMode);\n}\n","/**\n * @param {HTMLElement} element\n * @param {string=} linePrefix\n * @return {string}\n */\nfunction convertElementToCode(element, linePrefix = '') {\n const htmlType = element.tagName.toLowerCase();\n const attributes = [];\n for (let i = 0; i < element.attributes.length; i += 1) {\n const attribute = element.attributes.item(i);\n if (attribute.value.length) {\n attributes.push(`${attribute.name}=\"${attribute.value}\"`);\n } else {\n attributes.push(attribute.name);\n }\n }\n attributes.sort();\n const syntaxItems = [htmlType, attributes.join(' ')];\n const openingHTMLLine = `<${syntaxItems.filter(item => item).join(' ').trim()}>`;\n const closingHTMLLine = `</${htmlType}>`;\n const lines = [openingHTMLLine];\n const innerLines = [];\n let onlyText = true;\n for (let i = 0; i < element.childNodes.length; i += 1) {\n const child = element.childNodes.item(i);\n let lineText;\n if (child instanceof HTMLElement) {\n lineText = convertElementToCode(child, ` ${linePrefix}`);\n if (lineText.trim()) {\n onlyText = false;\n }\n } else if (child.nodeValue) {\n lineText = ` ${child.nodeValue}`;\n }\n if (lineText && lineText.trim()) {\n innerLines.push(lineText);\n }\n }\n if (onlyText) {\n return linePrefix + lines.join('') + innerLines.join('').trim() + closingHTMLLine;\n }\n innerLines\n .filter(line => line.trim())\n .forEach(line => lines.push(line));\n lines.push(linePrefix + closingHTMLLine);\n return linePrefix + lines.join('\\n');\n}\n\n/**\n * @param {Element|NodeListOf<Element>} elements\n * @param {string} event\n * @param {Function} listener\n * @return {void}\n */\nfunction attachEventListener(elements, event, listener) {\n let elementList;\n if (elements instanceof Element) {\n elementList = [elementList];\n } else {\n elementList = elements;\n }\n for (let i = 0; i < elementList.length; i += 1) {\n const el = elementList[i];\n el.addEventListener(event, listener);\n }\n}\n\n/**\n * @param {Element} node\n * @return {Node}\n */\nfunction getChildTextNode(node) {\n for (let i = 0; i < node.childNodes.length; i += 1) {\n const childNode = node.childNodes[i];\n if (childNode.nodeType === Node.TEXT_NODE) {\n return childNode;\n }\n }\n const textNode = document.createTextNode('');\n node.appendChild(textNode);\n return textNode;\n}\n\n/**\n * @param {Element} element\n * @param {string} tagname\n * @return {Element}\n */\nfunction changeElementTagName(element, tagname) {\n const newElement = document.createElement(tagname);\n for (let i = element.attributes.length - 1; i >= 0; i -= 1) {\n const attr = element.attributes.item(i);\n newElement.attributes.setNamedItem(attr.cloneNode());\n }\n while (element.firstChild) {\n newElement.appendChild(element.firstChild);\n }\n\n element.parentElement.replaceChild(newElement, element);\n return newElement;\n}\n\nexport {\n convertElementToCode,\n attachEventListener,\n getChildTextNode,\n changeElementTagName,\n};\n","import { setupMenuOptions } from '../menuoptions';\nimport { attachEventListener } from '../sample-utils';\n\n\nconst colspans = [\n '1',\n '25%', '50%', '75%', '100%',\n '2', '3', '4', '5', '6', '7', '8', '9', '10', '11',\n];\n\n/**\n * @param {Element} target\n * @return {void}\n */\nfunction onLayoutItemClick(target) {\n let colspan = target.getAttribute('mdw-colspan') || '1';\n const index = colspans.indexOf(colspan);\n colspan = colspans[index + 1] || '1';\n target.setAttribute('mdw-colspan', colspan.toString());\n target.firstElementChild.textContent = colspan.toString();\n}\n\n/**\n * @param {Event} event\n * @return {void}\n */\nfunction onOptionChange(event) {\n const { name, value, checked } = event.target;\n const layout = document.querySelector('.mdw-layout.docs-layout');\n\n switch (name) {\n case 'default-margins':\n if (checked) {\n layout.removeAttribute('mdw-margin');\n layout.removeAttribute('mdw-gutter');\n layout.removeAttribute('mdw-margin-tablet');\n layout.removeAttribute('mdw-gutter-tablet');\n layout.removeAttribute('mdw-margin-mobile');\n layout.removeAttribute('mdw-gutter-mobile');\n } else {\n layout.setAttribute('mdw-margin', '24');\n layout.setAttribute('mdw-gutter', '24');\n layout.setAttribute('mdw-margin-tablet', '16');\n layout.setAttribute('mdw-gutter-tablet', '16');\n layout.setAttribute('mdw-margin-mobile', '8');\n layout.setAttribute('mdw-gutter-mobile', '8');\n }\n break;\n case 'top-margin':\n if (checked) {\n layout.setAttribute('mdw-margin-top', '');\n } else {\n layout.removeAttribute('mdw-margin-top');\n }\n break;\n case 'bottom-margin':\n if (checked) {\n layout.setAttribute('mdw-margin-bottom', '');\n } else {\n layout.removeAttribute('mdw-margin-bottom');\n }\n break;\n case 'stretch':\n if (checked) {\n layout.setAttribute('mdw-stretch', '');\n } else {\n layout.removeAttribute('mdw-stretch');\n }\n break;\n case 'center':\n if (checked) {\n layout.setAttribute('mdw-center', '');\n } else {\n layout.removeAttribute('mdw-center');\n }\n break;\n case 'style':\n switch (value) {\n case 'grid':\n layout.setAttribute('mdw-grid', '');\n break;\n case 'flex':\n layout.removeAttribute('mdw-grid');\n break;\n default:\n }\n break;\n case 'dense':\n if (checked) {\n layout.setAttribute('mdw-dense', '');\n } else {\n layout.removeAttribute('mdw-dense');\n }\n break;\n default:\n }\n}\n\n/** @return {void} */\nfunction setupInteractions() {\n const layoutItems = document.getElementsByClassName('mdw-layout__item');\n for (let i = 0; i < layoutItems.length; i += 1) {\n const item = layoutItems.item(i);\n item.addEventListener('click', () => {\n onLayoutItemClick(item);\n });\n }\n attachEventListener(\n document.querySelectorAll('input[name]'),\n 'change',\n onOptionChange\n );\n}\n\nsetupInteractions();\nsetupMenuOptions();\n","module.exports = __webpack_public_path__ + \"layout.html\";"],"sourceRoot":""}
|
package/docs/list.html
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html><html lang="en"><head><title>Material Design Web</title><meta charset="utf-8"><meta content="IE=edge" http-equiv="X-UA-Compatible"><meta content="" name="description"><meta content="width=device-width, initial-scale=1, viewport-fit=cover" name="viewport"><meta name="theme-color" content="#E91E63"><meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"><meta name="apple-mobile-web-app-capable" content="yes"><link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons"><link rel="stylesheet" href="//fonts.googleapis.com/css?family=Roboto:300,400,500,700"><link rel="stylesheet" href="docs.min.css"><link rel="stylesheet" href="components.min.css"><link rel="stylesheet" href="theming.min.css"><link rel="stylesheet" href="theming.ie11.min.css" media="screen and (-ms-high-contrast: active), (-ms-high-contrast: none)"><script src="prerender.min.js"></script></head><body class="mdw-type"><div class="mdw-navdrawer" id="docs-navdrawer"><a class="mdw-navdrawer__scrim" href="#"></a><div class="mdw-navdrawer__toolbar"><div class="mdw-toolbar" mdw-theme-fill="accent-500 dark" mdw-app-bar><div class="mdw-toolbar__action"><div class="mdw-toolbar__start"><div class="mdw-tooltip__wrapper"><a class="mdw-tooltip__target mdw-button material-icons" mdw-icon href="#docs-navdrawer">menu</a><div class="mdw-tooltip">Menu</div></div></div><div class="mdw-toolbar__title">list</div><div class="mdw-toolbar__end" id="docs-menu-buttons"><div class="mdw-tooltip__wrapper"><div class="mdw-tooltip__target mdw-button docs-rtl" mdw-inactive>RTL</div><div class="mdw-tooltip">Right-to-Left</div></div><div class="mdw-tooltip__wrapper"><div class="mdw-tooltip__target mdw-button material-icons" mdw-icon mdw-inactive>brightness_3</div><div class="mdw-tooltip">Dark Mode</div></div><div class="mdw-tooltip__wrapper"><div class="mdw-tooltip__target mdw-button material-icons" mdw-icon mdw-inactive>format_size</div><div class="mdw-tooltip">Large Font</div></div></div></div></div></div><div class="mdw-navdrawer__drawer"><div class="mdw-list"><a class="mdw-list__item" href="index.html" mdw-theme-color="primary"><div class="mdw-list__text">Home</div></a><div class="mdw-list__subheader">Components</div><a class="mdw-list__item" href="bottomnav.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">call_to_action</div><div class="mdw-list__text">Bottom Navigation</div></a><a class="mdw-list__item" href="button.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">crop_landscape</div><div class="mdw-list__text">Button</div></a><a class="mdw-list__item" href="card.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">crop_square</div><div class="mdw-list__text">Card</div></a><a class="mdw-list__item" href="dialog.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">select_all</div><div class="mdw-list__text">Dialog</div></a><a class="mdw-list__item" href="datatable.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">format_align_justify</div><div class="mdw-list__text">Data Table</div></a><a class="mdw-list__item" href="elevation.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">layers</div><div class="mdw-list__text">Elevation</div></a><a class="mdw-list__item" href="fab.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">add_circle</div><div class="mdw-list__text">Floating Action Button</div></a><a class="mdw-list__item" href="layout.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">view_compact</div><div class="mdw-list__text">Layout</div></a><a class="mdw-list__item" mdw-selected href="list.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">view_list</div><div class="mdw-list__text">List</div></a><a class="mdw-list__item" href="menu.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">picture_in_picture</div><div class="mdw-list__text">Menu</div></a><a class="mdw-list__item" href="navdrawer.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">menu</div><div class="mdw-list__text">Navigation Drawer</div></a><a class="mdw-list__item" href="progress.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">timelapse</div><div class="mdw-list__text">Progress</div></a><a class="mdw-list__item" href="search.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">search</div><div class="mdw-list__text">Search</div></a><a class="mdw-list__item" href="selection.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">toggle_on</div><div class="mdw-list__text">Selection</div></a><a class="mdw-list__item" href="slider.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">tune</div><div class="mdw-list__text">Slider</div></a><a class="mdw-list__item" href="snackbar.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">video_label</div><div class="mdw-list__text">Snackbar</div></a><a class="mdw-list__item" href="tab.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">tab</div><div class="mdw-list__text">Tab</div></a><a class="mdw-list__item" href="textfield.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">text_fields</div><div class="mdw-list__text">Text Field</div></a><a class="mdw-list__item" href="toolbar.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">web_asset</div><div class="mdw-list__text">Toolbar</div></a><a class="mdw-list__item" href="tooltip.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">info</div><div class="mdw-list__text">Tooltip</div></a><a class="mdw-list__item" href="type.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">font_download</div><div class="mdw-list__text">Typography</div></a></div></div><div class="mdw-navdrawer__content" style="padding-bottom:24px"><div id="horizontalLine"></div><div id="verticalLineLeft"></div><div id="verticalLineRight"></div><div class="comparison mdw-theme-list"><div class="render"><div class="androidstatusbar" mdw-theme-fill="primary-700 dark"><div>12:30</div><i class="material-icons" style="letter-spacing:2px;padding:0 2px"></i></div><div class="mdw-toolbar" mdw-theme-fill="primary-500 dark"><div class="mdw-toolbar__action"><div class="mdw-toolbar__start"><div class="mdw-button material-icons" mdw-icon="mdw-icon">menu</div></div><div class="mdw-toolbar__title">Topics</div><div class="mdw-toolbar__end"><div class="mdw-button material-icons" mdw-icon="mdw-icon">search</div><div class="mdw-button material-icons" mdw-icon="mdw-icon" mdw-more-button="mdw-more-button">more_vert</div></div></div></div><div class="content" style="padding-top:2px"><ul class="mdw-list"><li class="mdw-list__item">Attractions</li><li class="mdw-list__item">Dining</li><li class="mdw-list__item">Education</li><li class="mdw-list__item">Family</li><li class="mdw-list__item">Health</li><li class="mdw-list__item">Office</li><li class="mdw-list__item">Promotions</li><li class="mdw-list__item">Radio</li><li class="mdw-list__item">Recipes</li><li class="mdw-list__item">Sports</li><li class="mdw-list__item">Travel</li></ul></div></div><div class="target" style="background-image: url(https://storage.googleapis.com/spec-host-backup/mio-design%2Fassets%2F0B54x0KDcs5U-UHcxOFd6NnQxeFE%2Fsingle-line-example-1.png)"></div></div><div class="comparison mdw-theme-list"><div class="render"><div class="androidstatusbar" mdw-theme-fill="primary-700 dark"><div>12:30</div><i class="material-icons" style="letter-spacing:2px;padding:0 2px"></i></div><div class="mdw-toolbar" mdw-theme-fill="primary-500 dark"><div class="mdw-toolbar__action"><div class="mdw-toolbar__start"><div class="mdw-button material-icons" mdw-icon="mdw-icon">menu</div></div><div class="mdw-toolbar__title">Topics</div><div class="mdw-toolbar__end"><div class="mdw-button material-icons" mdw-icon="mdw-icon" mdw-more-button="mdw-more-button">more_vert</div></div></div></div><div class="content" style="padding-top:2px"><ul class="mdw-list" mdw-divider><li class="mdw-list__item"><div class="mdw-list__text">Attractions</div></li><li class="mdw-list__item"><div class="mdw-list__text">Dining</div></li><li class="mdw-list__item"><div class="mdw-list__text">Education</div></li><li class="mdw-list__item"> <div class="mdw-list__text">Family</div></li><li class="mdw-list__item"> <div class="mdw-list__text">Health</div></li><li class="mdw-list__item"> <div class="mdw-list__text">Office</div></li><li class="mdw-list__item"> <div class="mdw-list__text">Promotions</div></li><li class="mdw-list__item"> <div class="mdw-list__text">Radio</div></li><li class="mdw-list__item"> <div class="mdw-list__text">Recipes</div></li><li class="mdw-list__item"> <div class="mdw-list__text">Sports</div></li><li class="mdw-list__item"> <div class="mdw-list__text">Travel</div></li></ul></div><div class="androidnavbar"><i class="material-icons back-button"></i><i class="material-icons"></i><i class="material-icons"></i></div></div><div class="target" style="background-image: url(https://storage.googleapis.com/material-design/publish/material_v_12/assets/0Bzhp5Z4wHba3V2tZaHMwSXZuS2s/components-lists-keylines-single3.png)"></div></div><div class="comparison mdw-theme-list"><div class="render"><div class="androidstatusbar" mdw-theme-fill="primary-700 dark"><div>12:30</div><i class="material-icons" style="letter-spacing:2px;padding:0 2px"></i></div><div class="mdw-toolbar" mdw-theme-fill="primary-500 dark"><div class="mdw-toolbar__action"><div class="mdw-toolbar__start"><div class="mdw-button material-icons" mdw-icon="mdw-icon">menu</div></div><div class="mdw-toolbar__title">Topics</div><div class="mdw-toolbar__end"><div class="mdw-button material-icons" mdw-icon="mdw-icon">search</div><div class="mdw-button material-icons" mdw-icon="mdw-icon" mdw-more-button="mdw-more-button">more_vert</div></div></div></div><div class="content" style="padding-top:2px"><ul class="mdw-list"><li class="mdw-list__item">Attractions<div class="mdw-list__icon material-icons">local_activity</div></li><li class="mdw-list__item">Dining<div class="mdw-list__icon material-icons">local_dining</div></li><li class="mdw-list__item">Education<div class="mdw-list__icon material-icons">edit</div></li><li class="mdw-list__item">Family<div class="mdw-list__icon material-icons">people</div></li><li class="mdw-list__item">Health<div class="mdw-list__icon material-icons">healing</div></li><li class="mdw-list__item">Office<div class="mdw-list__icon material-icons">business</div></li><li class="mdw-list__item">Promotions<div class="mdw-list__icon material-icons">local_offer</div></li><li class="mdw-list__item">Radio<div class="mdw-list__icon material-icons">radio</div></li><li class="mdw-list__item">Recipes<div class="mdw-list__icon material-icons">book</div></li><li class="mdw-list__item">Sports<div class="mdw-list__icon material-icons">stars</div></li><li class="mdw-list__item">Travel<div class="mdw-list__icon material-icons">local_airport</div></li></ul></div></div><div class="target" style="background-image: url(https://storage.googleapis.com/spec-host-backup/mio-design%2Fassets%2F0B54x0KDcs5U-a1hzNEpSb1N0RTA%2Fsingle-line-example-2.png)"></div></div><div class="comparison mdw-theme-list"><div class="render"><div class="androidstatusbar" mdw-theme-fill="accent-700 dark"><div>12:30</div><i class="material-icons" style="letter-spacing:2px;padding:0 2px"></i></div><div class="mdw-toolbar" mdw-theme-fill="accent-500 dark"><div class="mdw-toolbar__action"><div class="mdw-toolbar__start"><div class="mdw-button material-icons" mdw-icon="mdw-icon">menu</div></div><div class="mdw-toolbar__title">Inbox</div><div class="mdw-toolbar__end"><div class="mdw-button material-icons" mdw-icon="mdw-icon">search</div></div></div></div><div class="content"><ul class="mdw-list" mdw-divider><li class="mdw-list__subheader">Today</li><li class="mdw-list__item"><div class="mdw-list__avatar material-icons" style="font-size:40px"></div><div class="mdw-list__text"><div class="mdw-list__text-line">Brunch this weekend?</div><div class="mdw-list__text-line"><span class="mdw__primary-text">Ali Connors</span> — I'll be in your neighborhood doing errands this weekend. Do you want to meet?</div></div></li><li class="mdw-list__item"><div class="mdw-list__avatar material-icons" style="font-size:40px"></div><div class="mdw-list__text"><div class="mdw-list__text-line">Summer BBQ<span class="mdw__secondary-text"> 4</span></div><div class="mdw-list__text-line"><span class="mdw__primary-text">to Alex, Scott, Jennifer</span> — Wish I could come. but I'm out of town this weekend.</div></div></li><li class="mdw-list__item"><div class="mdw-list__avatar material-icons" style="font-size:40px"></div><div class="mdw-list__text"><div class="mdw-list__text-line">Oui oui</div><div class="mdw-list__text-line"><span class="mdw__primary-text">Sandra Adams</span> — Do you have Paris recommendations? Have you ever been?</div></div></li><li class="mdw-list__item"><div class="mdw-list__avatar material-icons" style="font-size:40px"></div><div class="mdw-list__text"><div class="mdw-list__text-line">Birthday gift</div><div class="mdw-list__text-line"><span class="mdw__primary-text">Trevor Hansen</span> — Have any ideas about what we should get Heidi for her birthday?</div></div></li><li class="mdw-list__item"><div class="mdw-list__avatar material-icons" style="font-size:40px"></div><div class="mdw-list__text"><div class="mdw-list__text-line">Recipe to try</div><div class="mdw-list__text-line"><span class="mdw__primary-text">Britta Holt</span> — We should eat this: Grated Squash, Corn, and tomatillo Tacos.</div></div></li><li class="mdw-list__item"><div class="mdw-list__avatar material-icons" style="font-size:40px"></div><div class="mdw-list__text"><div class="mdw-list__text-line">Giants game</div><div class="mdw-list__text-line"><span class="mdw__primary-text">David Park</span> — Any interest in seeing</div></div></li><li class="mdw-list__item"><div class="mdw-list__avatar material-icons" style="font-size:40px"></div><div class="mdw-list__text"><div class="mdw-list__text-line">Montauk weekend</div><div class="mdw-list__text-line"><span class="mdw__primary-text">-----</span> — -----</div></div></li></ul></div><div class="androidnavbar"><i class="material-icons back-button"></i><i class="material-icons"></i><i class="material-icons"></i></div></div><div class="target" style="background-image: url(https://storage.googleapis.com/material-design/publish/material_v_12/assets/0B6Okdz75tqQsWGQ4OWVWREpLNkU/components-lists-keylines-two8.png)"></div></div><div class="comparison mdw-theme-list"><div class="render"><div class="androidstatusbar" mdw-theme-fill="accent-700 dark"><div>12:30</div><i class="material-icons" style="letter-spacing:2px;padding:0 2px"></i></div><div class="mdw-toolbar" mdw-theme-fill="accent-500 dark"><div class="mdw-toolbar__action"><div class="mdw-toolbar__start"><div class="mdw-button material-icons" mdw-icon="mdw-icon">menu</div></div><div class="mdw-toolbar__title">Inbox</div><div class="mdw-toolbar__end"><div class="mdw-button material-icons" mdw-icon="mdw-icon">search</div></div></div></div><div class="content"><ul class="mdw-list" mdw-divider><li class="mdw-list__subheader">Today</li><li class="mdw-list__item"><div class="mdw-list__avatar material-icons" style="font-size:40px"></div><div class="mdw-list__text"><div class="mdw-list__text-line">Brunch this weekend?</div><div class="mdw-list__text-block"><span class="mdw__primary-text">Ali Connors </span> — I'll be in your neighborhood doing errands this weekend. Do you want to meet?</div></div></li><li class="mdw-list__item"><div class="mdw-list__avatar material-icons" style="font-size:40px"></div><div class="mdw-list__text"><div class="mdw-list__text-line">Summer BBQ<span class="mdw__secondary-text"> 4</span></div><div class="mdw-list__text-block"><span class="mdw__primary-text">to Alex, Scott, Jennifer</span> — Wish I could come. but I'm out of town this weekend.</div></div></li><li class="mdw-list__item"><div class="mdw-list__avatar material-icons" style="font-size:40px"></div><div class="mdw-list__text"><div class="mdw-list__text-line">Oui oui</div><div class="mdw-list__text-block"><span class="mdw__primary-text">Sandra Adams</span> — Do you have Paris recommendations? Have you ever been?</div></div></li><li class="mdw-list__item"><div class="mdw-list__avatar material-icons" style="font-size:40px"></div><div class="mdw-list__text"><div class="mdw-list__text-line">Birthday gift</div><div class="mdw-list__text-block"><span class="mdw__primary-text">Trevor Hansen</span> — Have any ideas about what we should get Heidi for her birthday?</div></div></li><li class="mdw-list__item"><div class="mdw-list__avatar material-icons" style="font-size:40px"></div><div class="mdw-list__text"><div class="mdw-list__text-line">Recipe to try</div><div class="mdw-list__text-block"> <span class="mdw__primary-text">Britta Holt</span> — We should eat this: Grated Squash, Corn, and tomatillo Tacos.</div></div></li><li class="mdw-list__item"><div class="mdw-list__avatar material-icons" style="font-size:40px"></div><div class="mdw-list__text"><div class="mdw-list__text-line">Giants game</div><div class="mdw-list__text-block"><span class="mdw__primary-text">David Park</span> — Any interest in seeing</div></div></li><li class="mdw-list__item"><div class="mdw-list__avatar material-icons" style="font-size:40px"></div><div class="mdw-list__text"><div class="mdw-list__text-line">Montauk weekend</div><div class="mdw-list__text-block"><span class="mdw__primary-text">-----</span> — -----</div></div></li></ul></div></div><div class="target" style="background-image: url(https://storage.googleapis.com/spec-host-backup/mio-design%2Fassets%2F0B54x0KDcs5U-YkJoa3JqZmZvR3c%2Fthreeline-sample-1.png)"></div></div><div class="comparison mdw-theme-list js"><div class="render"><div class="androidstatusbar" mdw-theme-fill="primary-700 dark"><div>12:30</div><i class="material-icons" style="letter-spacing:2px;padding:0 2px"></i></div><div class="mdw-toolbar" mdw-theme-fill="primary-500 dark"><div class="mdw-toolbar__action"><div class="mdw-toolbar__start"><div class="mdw-button material-icons" mdw-icon="mdw-icon">menu</div></div><div class="mdw-toolbar__title">Topics</div><div class="mdw-toolbar__end"><div class="mdw-button material-icons" mdw-icon="mdw-icon" mdw-more-button="mdw-more-button">more_vert</div></div></div></div><div class="content" style="padding-top:2px"><ul class="mdw-list"><li class="mdw-list__item"><div class="mdw-list__text">Attractions</div></li><div class="mdw-list__expander" mdw-theme-color="primary"><div class="mdw-list__item"> <div class="mdw-list__text">Dining</div><div class="mdw-list__secondary material-icons">expand_more</div></div><li class="mdw-list__item">Breakfast & brunch</li><li class="mdw-list__item">New American</li><li class="mdw-list__item">Sushi bars</li></div><li class="mdw-list__item">Education</li><li class="mdw-list__item">Family</li><li class="mdw-list__item">Health</li><li class="mdw-list__item">Office</li><li class="mdw-list__item">Promotions</li><li class="mdw-list__item">Radio</li><li class="mdw-list__item">Recipes</li><li class="mdw-list__item">Sports</li><li class="mdw-list__item">Travel</li></ul></div><div class="androidnavbar"><i class="material-icons back-button"></i><i class="material-icons"></i><i class="material-icons"></i></div></div><div class="target" style="background-image: url(https://storage.googleapis.com/material-design/publish/material_v_12/assets/0Bzhp5Z4wHba3bl8zNGVqM19TNWM/components-listcontrols-expand2.png)"></div></div><div class="comparison mdw-theme-list js"><div class="render"><div class="androidstatusbar" mdw-theme-fill="warn-700 dark"><div>12:30</div><i class="material-icons" style="letter-spacing:2px;padding:0 2px"></i></div><div class="mdw-toolbar" mdw-theme-fill="warn-500 dark"><div class="mdw-toolbar__action"><div class="mdw-toolbar__start"><div class="mdw-button material-icons" mdw-icon="mdw-icon">menu</div></div><div class="mdw-toolbar__title">Inbox (with JS)</div><div class="mdw-toolbar__end"><div class="mdw-button material-icons" mdw-icon="mdw-icon">search</div><div class="mdw-button material-icons" mdw-icon="mdw-icon">check_circle</div></div></div></div><div class="content"><ul class="mdw-list" mdw-divider><li class="mdw-list__item"><div class="mdw-list__avatar material-icons" style="font-size:40px"></div><div class="mdw-list__text"><div class="mdw-list__text-line">Ali Connors</div><div class="mdw-list__text-line"><span class="mdw__primary-text">Brunch this weekend?</span></div><div class="mdw-list__text-line">I'll be in your neighborhood doing errands this weekend. Do you want to meet?</div></div></li><li class="mdw-list__item"><div class="mdw-list__avatar material-icons" style="font-size:40px"></div><div class="mdw-list__text"><div class="mdw-list__text-line">me, Scott, Jennifer</div><div class="mdw-list__text-line"><span class="mdw__primary-text">Summer BBQ</span></div><div class="mdw-list__text-line">Wish I could come. but I'm out of town this weekend.</div></div></li><li class="mdw-list__item"><div class="mdw-list__avatar material-icons" style="font-size:40px"></div><div class="mdw-list__text"><div class="mdw-list__text-line">Sandra Adams</div><div class="mdw-list__text-line"><span class="mdw__primary-text">Oui oui</span></div><div class="mdw-list__text-line">Do you have Paris recommendations? Have you ever been?</div></div></li><li class="mdw-list__item"><div class="mdw-list__avatar material-icons" style="font-size:40px"></div><div class="mdw-list__text"><div class="mdw-list__text-line">Trevor Hansen</div><div class="mdw-list__text-line"><span class="mdw__primary-text">Order Confirmation</span></div><div class="mdw-list__text-line">Thank you for your recent order from Google.</div></div></li><li class="mdw-list__item"><div class="mdw-list__avatar material-icons" style="font-size:40px"></div><div class="mdw-list__text"><div class="mdw-list__text-line">Britta Holt</div><div class="mdw-list__text-line"><span class="mdw__primary-text">Recipe to try</span></div><div class="mdw-list__text-line">We should eat this: Grated Squash, Corn, and tomatillo Tacos.</div></div></li><li class="mdw-list__item"><div class="mdw-list__avatar material-icons" style="font-size:40px"></div><div class="mdw-list__text"><div class="mdw-list__text-line">David Park</div><div class="mdw-list__text-line"><span class="mdw__primary-text">Giants game</span></div><div class="mdw-list__text-line">Any interest in seeing</div></div></li><li class="mdw-list__item"><div class="mdw-list__avatar material-icons" style="font-size:40px"></div><div class="mdw-list__text"><div class="mdw-list__text-line">Montauk weekend</div><div class="mdw-list__text-line"><span class="mdw__primary-text">-----</span></div><div class="mdw-list__text-line">-----</div></div></li></ul></div><div class="androidnavbar"><i class="material-icons back-button"></i><i class="material-icons"></i><i class="material-icons"></i></div></div><div class="target" style="background-image: url(https://storage.googleapis.com/material-design/publish/material_v_12/assets/0B6Okdz75tqQsdFNSZ1kzeXBfR1U/components-lists-keylines-three11.png)"></div></div></div></div><script src="list.min.js"></script></body></html>
|
package/docs/list.min.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
!function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=43)}({0:function(e,t,n){"use strict";function r(e){return window.localStorage?localStorage.getItem(e):null}function i(e,t){window.localStorage&&localStorage.setItem(e,t)}function c(e){window.localStorage&&localStorage.removeItem(e)}n.d(t,"a",function(){return r}),n.d(t,"c",function(){return i}),n.d(t,"b",function(){return c})},1:function(e,t,n){"use strict";function r(e,t){var n=e.getElementsByClassName(t)[0];return n&&n.parentElement!==e?null:n}function i(e,t,n){var r;for(r=!1===n?e.parentElement:e;null!=r&&!r.classList.contains(t);)r=r.parentElement;return r}function c(){return document.documentElement.hasAttribute("dir")&&"rtl"===document.documentElement.getAttribute("dir").toLowerCase()}function o(e,t){var n=document.createEvent("Event");return n.initEvent(t,!0,!0),e.dispatchEvent(n)}n.d(t,"c",function(){return r}),n.d(t,"b",function(){return i}),n.d(t,"d",function(){return c}),n.d(t,"a",function(){return o}),n.d(t,"e",function(){return u});var u=window.requestAnimationFrame||function(e){return setTimeout(e,17)}},2:function(e,t,n){"use strict";n.d(t,"c",function(){return o}),n.d(t,"a",function(){return u}),n.d(t,"b",function(){return l}),n.d(t,"d",function(){return a});var r=n(0),i="black dark",c="white light";function o(e,t){e?(document.documentElement.setAttribute("dir","rtl"),t&&t.removeAttribute("mdw-inactive"),Object(r.c)("rtlmode","true")):(document.documentElement.removeAttribute("dir"),t&&t.setAttribute("mdw-inactive",""),Object(r.b)("rtlmode"))}function u(e,t){e?(document.documentElement.setAttribute("mdw-theme-fill",i),t&&t.removeAttribute("mdw-inactive")):(document.documentElement.setAttribute("mdw-theme-fill",c),t&&t.setAttribute("mdw-inactive","")),Object(r.c)("darkmode",e?"true":"false")}function l(e,t){e?(document.documentElement.style.setProperty("font-size",e),t&&t.removeAttribute("mdw-inactive"),Object(r.c)("fontsize",e)):(document.documentElement.style.removeProperty("font-size"),t&&t.setAttribute("mdw-inactive",""),Object(r.b)("fontsize"))}function a(){var e=document.getElementById("docs-menu-buttons").getElementsByClassName("mdw-button"),t=e[0],n=e[1],c=e[2];!function(e){"true"===Object(r.a)("rtlmode")&&o(!0,e),e.addEventListener("click",function(){"rtl"===document.documentElement.getAttribute("dir")?o(!1,e):o(!0,e)})}(t),function(e){"true"===Object(r.a)("darkmode")&&u(!0,e),e.addEventListener("click",function(){document.documentElement.getAttribute("mdw-theme-fill")===i?u(!1,e):u(!0,e)})}(n),function(e){l(Object(r.a)("fontsize"),e),e.addEventListener("click",function(){document.documentElement.style.getPropertyValue("font-size")?l(null,e):l("125%",e)})}(c)}},3:function(e,t,n){"use strict";n.d(t,"a",function(){return c});var r=n(1);function i(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var c=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}return function(e,t,n){n&&i(e,n)}(e,0,[{key:"attach",value:function(t){var n=Object(r.c)(t,"mdw-ripple");n||((n=document.createElement("div")).classList.add("mdw-ripple"),t.firstChild?t.insertBefore(n,t.firstChild):t.appendChild(n));var i=Object(r.c)(n,"mdw-ripple__inner");i||((i=document.createElement("div")).classList.add("mdw-ripple__inner"),n.appendChild(i)),t.setAttribute("mdw-ripple",""),n.addEventListener("click",e.onClick)}},{key:"onClick",value:function(e){var t=e.currentTarget,n=Object(r.c)(t,"mdw-ripple__inner");if(n){if(!e.pointerType&&!e.detail)return n.style.removeProperty("left"),void n.style.removeProperty("top");n.style.setProperty("left","".concat(e.offsetX,"px")),n.style.setProperty("top","".concat(e.offsetY,"px"))}}},{key:"detach",value:function(t){var n=Object(r.c)(t,"mdw-ripple");n&&t.removeChild(n),t.removeAttribute("mdw-ripple"),t.removeEventListener("click",e.onClick)}}]),e}()},43:function(e,t,n){n(44),e.exports=n(45)},44:function(e,t,n){"use strict";n.r(t);var r=n(6),i=n(8),c=n(2);!function(){for(var e=document.querySelectorAll(".js .mdw-list"),t=0;t<e.length;t+=1)i.a.attach(e.item(t))}(),Object(c.d)(),Object(r.a)()},45:function(e,t,n){e.exports=n.p+"list.html"},6:function(e,t,n){"use strict";var r={},i=0,c=0;function o(e){document.getElementById("horizontalLine").style.top="".concat(e.clientY,"px"),document.getElementById("verticalLineLeft").style.left="".concat(e.layerX,"px"),document.getElementById("verticalLineRight").style.left="".concat(e.clientX,"px")}Object.defineProperty(r,"vOffset",{enumerable:!0,configurable:!1,get:function(){return i},set:function(e){i=e,document.getElementById("verticalLineLeft").style.left="".concat(e,"px"),document.getElementById("verticalLineRight").style.left="".concat(e,"px")}}),Object.defineProperty(r,"hOffset",{enumerable:!0,configurable:!1,get:function(){return c},set:function(e){c=e,document.getElementById("horizontalLine").style.top="".concat(e,"px")}}),t.a=function(){for(var e=document.getElementsByClassName("target"),t=0;t<e.length;t+=1)e[t].addEventListener("click",o)}},8:function(e,t,n){"use strict";n.d(t,"a",function(){return d}),n.d(t,"b",function(){return l});var r=n(3),i=n(1);function c(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function u(e,t,n){return t&&o(e.prototype,t),n&&o(e,n),e}var l=function(){function e(){c(this,e)}return u(e,null,[{key:"attach",value:function(t){r.a.attach(t),t.addEventListener("click",e.onClick)}},{key:"detach",value:function(t){t.removeEventListener("click",e.onClick),r.a.detach(t)}},{key:"onClick",value:function(e){var t=e.currentTarget;Object(i.a)(t,"mdw:itemactivated")}}]),e}(),a=function(){function e(){c(this,e)}return u(e,null,[{key:"attach",value:function(t){t.firstElementChild&&t.firstElementChild.addEventListener("click",e.onItemClicked)}},{key:"detach",value:function(t){t.firstElementChild&&t.firstElementChild.removeEventListener("click",e.onItemClicked)}},{key:"onItemClicked",value:function(e){var t=Object(i.b)(e.target,"mdw-list__expander");t&&(t.hasAttribute("mdw-expanded")?t.removeAttribute("mdw-expanded"):t.setAttribute("mdw-expanded",""))}}]),e}(),d=function(){function e(){c(this,e)}return u(e,null,[{key:"attach",value:function(e){for(var t=e.getElementsByClassName("mdw-list__item"),n=e.getElementsByClassName("mdw-list__expander"),r=0;r<t.length;r+=1)l.attach(t.item(r));for(var i=0;i<n.length;i+=1)a.attach(n.item(i))}},{key:"detach",value:function(e){for(var t=e.getElementsByClassName("mdw-list__item"),n=e.getElementsByClassName("mdw-list__expander"),r=0;r<t.length;r+=1)l.detach(t.item(r));for(var i=0;i<n.length;i+=1)a.detach(n.item(i))}}]),e}()}});
|
|
2
|
-
//# sourceMappingURL=list.min.js.map
|
package/docs/list.min.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./docs/src/storage.js","webpack:///./components/common/dom.js","webpack:///./docs/src/menuoptions.js","webpack:///./components/ripple/index.js","webpack:///./docs/src/components/list.js","webpack:///./docs/src/components/list.pug","webpack:///./docs/src/targetHandler.js","webpack:///./components/list/index.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","default","object","property","prototype","hasOwnProperty","p","s","0","e","getStorageItem","window","localStorage","getItem","setStorageItem","setItem","removeStorageItem","removeItem","__webpack_exports__","getChildElementByClass","element","className","child","getElementsByClassName","parentElement","findElementParentByClassName","includeSelf","el","classList","contains","isRtl","document","documentElement","hasAttribute","getAttribute","toLowerCase","dispatchDomEvent","type","event","createEvent","initEvent","dispatchEvent","nextTick","requestAnimationFrame","cb","setTimeout","2","setRTLMode","setDarkMode","setFontSize","setupMenuOptions","_storage__WEBPACK_IMPORTED_MODULE_0__","darkAttribute","lightAttribute","button","setAttribute","removeAttribute","style","setProperty","removeProperty","buttons","getElementById","buttonRTLMode","buttonDarkMode","largeFontMode","addEventListener","getPropertyValue","Ripple","ripple","createElement","add","firstChild","insertBefore","appendChild","rippleInner","onClick","currentTarget","pointerType","detail","concat","offsetX","offsetY","removeChild","removeEventListener","_targetHandler__WEBPACK_IMPORTED_MODULE_0__","_components_list_index__WEBPACK_IMPORTED_MODULE_1__","_menuoptions__WEBPACK_IMPORTED_MODULE_2__","lists","querySelectorAll","length","List","attach","item","setupImageTargets","6","crosshairs","vOffset","hOffset","onTemplateImageClick","top","clientY","left","layerX","clientX","configurable","set","val","targets","ListItem","listItemElement","detach","ListExpander","listExpanderElement","firstElementChild","onItemClicked","target","listElement","items","expanders"],"mappings":"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","file":"list.min.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 43);\n","/**\n * @param {string} key\n * @return {string}\n */\nexport function getStorageItem(key) {\n if (!window.localStorage) {\n return null;\n }\n return localStorage.getItem(key);\n}\n\n/**\n * @param {string} key\n * @param {string} value\n * @return {void}\n */\nexport function setStorageItem(key, value) {\n if (!window.localStorage) {\n return;\n }\n localStorage.setItem(key, value);\n}\n\n/**\n * @param {string} key\n * @return {void}\n */\nexport function removeStorageItem(key) {\n if (!window.localStorage) {\n return;\n }\n localStorage.removeItem(key);\n}\n","/**\n * @param {Element} element\n * @param {string} className\n * @return {Element}\n */\nexport function getChildElementByClass(element, className) {\n const child = element.getElementsByClassName(className)[0];\n if (child && child.parentElement !== element) {\n return null;\n }\n return child;\n}\n\n/**\n * @param {Element} element\n * @param {string} className\n * @param {boolean=} [includeSelf=true]\n * @return {Element}\n */\nexport function findElementParentByClassName(element, className, includeSelf) {\n /** @type {Element} */\n let el;\n if (includeSelf === false) {\n el = element.parentElement;\n } else {\n el = element;\n }\n while (el != null && !el.classList.contains(className)) {\n el = el.parentElement;\n }\n return el;\n}\n\n/** @return {boolean} */\nexport function isRtl() {\n return document.documentElement.hasAttribute('dir')\n && document.documentElement.getAttribute('dir').toLowerCase() === 'rtl';\n}\n\n/**\n * @param {Element} element\n * @param {string} type\n * @return {boolean}\n */\nexport function dispatchDomEvent(element, type) {\n const event = document.createEvent('Event');\n event.initEvent(type, true, true);\n return element.dispatchEvent(event);\n}\n\nexport const nextTick = window.requestAnimationFrame || (cb => setTimeout(cb, 17));\n","import { setStorageItem, removeStorageItem, getStorageItem } from './storage';\n\nconst darkAttribute = 'black dark';\nconst lightAttribute = 'white light';\n\n/**\n * @param {boolean} value\n * @param {Element=} button\n * @return {void}\n */\nexport function setRTLMode(value, button) {\n if (value) {\n document.documentElement.setAttribute('dir', 'rtl');\n if (button) {\n button.removeAttribute('mdw-inactive');\n }\n // element.setAttribute('mdw-active', '');\n // Poor visibility even though spec says 70% opacity\n setStorageItem('rtlmode', 'true');\n } else {\n document.documentElement.removeAttribute('dir');\n if (button) {\n button.setAttribute('mdw-inactive', '');\n }\n // element.removeAttribute('mdw-active');\n removeStorageItem('rtlmode');\n }\n}\n\n/**\n * @param {boolean} value\n * @param {Element=} button\n * @return {void}\n */\nexport function setDarkMode(value, button) {\n if (value) {\n document.documentElement.setAttribute('mdw-theme-fill', darkAttribute);\n if (button) {\n button.removeAttribute('mdw-inactive');\n }\n // element.setAttribute('mdw-active', '');\n // Poor visibility even though spec says 70% opacity\n } else {\n document.documentElement.setAttribute('mdw-theme-fill', lightAttribute);\n if (button) {\n button.setAttribute('mdw-inactive', '');\n }\n // element.removeAttribute('mdw-active');\n }\n setStorageItem('darkmode', value ? 'true' : 'false');\n}\n\n/**\n * @param {string} value\n * @param {Element=} button\n * @return {void}\n */\nexport function setFontSize(value, button) {\n if (value) {\n document.documentElement.style.setProperty('font-size', value);\n if (button) {\n button.removeAttribute('mdw-inactive');\n }\n // element.setAttribute('mdw-active', '');\n // Poor visibility even though spec says 70% opacity\n setStorageItem('fontsize', value);\n } else {\n document.documentElement.style.removeProperty('font-size');\n if (button) {\n button.setAttribute('mdw-inactive', '');\n }\n // element.removeAttribute('mdw-active');\n removeStorageItem('fontsize');\n }\n}\n\n/**\n * @param {Element} element\n * @return {void}\n */\nfunction setupRTLMode(element) {\n if (getStorageItem('rtlmode') === 'true') {\n setRTLMode(true, element);\n }\n element.addEventListener('click', () => {\n if (document.documentElement.getAttribute('dir') === 'rtl') {\n setRTLMode(false, element);\n } else {\n setRTLMode(true, element);\n }\n });\n}\n\n/**\n * @param {Element} element\n * @return {void}\n */\nfunction setupDarkMode(element) {\n if (getStorageItem('darkmode') === 'true') {\n setDarkMode(true, element);\n }\n element.addEventListener('click', () => {\n if (document.documentElement.getAttribute('mdw-theme-fill') === darkAttribute) {\n setDarkMode(false, element);\n } else {\n setDarkMode(true, element);\n }\n });\n}\n\n/**\n * @param {Element} element\n * @return {void}\n */\nfunction setupLargeFontMode(element) {\n const fontsize = getStorageItem('fontsize');\n setFontSize(fontsize, element);\n element.addEventListener('click', () => {\n if (document.documentElement.style.getPropertyValue('font-size')) {\n setFontSize(null, element);\n } else {\n setFontSize('125%', element);\n }\n });\n}\n\n/** @return {void} */\nexport function setupMenuOptions() {\n const buttons = document.getElementById('docs-menu-buttons').getElementsByClassName('mdw-button');\n const buttonRTLMode = buttons[0];\n const buttonDarkMode = buttons[1];\n const largeFontMode = buttons[2];\n setupRTLMode(buttonRTLMode);\n setupDarkMode(buttonDarkMode);\n setupLargeFontMode(largeFontMode);\n}\n","import { getChildElementByClass } from '../common/dom';\n\nclass Ripple {\n /**\n * @param {Element} element\n * @return {void}\n */\n static attach(element) {\n let ripple = getChildElementByClass(element, 'mdw-ripple');\n if (!ripple) {\n ripple = document.createElement('div');\n ripple.classList.add('mdw-ripple');\n if (element.firstChild) {\n element.insertBefore(ripple, element.firstChild);\n } else {\n element.appendChild(ripple);\n }\n }\n\n let rippleInner = getChildElementByClass(ripple, 'mdw-ripple__inner');\n if (!rippleInner) {\n rippleInner = document.createElement('div');\n rippleInner.classList.add('mdw-ripple__inner');\n ripple.appendChild(rippleInner);\n }\n element.setAttribute('mdw-ripple', '');\n ripple.addEventListener('click', Ripple.onClick);\n }\n\n /**\n * @param {PointerEvent|MouseEvent} event\n * @return {void}\n */\n static onClick(event) {\n /** @type {HTMLElement} */\n const el = event.currentTarget;\n const rippleInner = getChildElementByClass(el, 'mdw-ripple__inner');\n if (!rippleInner) {\n return;\n }\n if (!event.pointerType && !event.detail) {\n // Ripple from center\n rippleInner.style.removeProperty('left');\n rippleInner.style.removeProperty('top');\n return;\n }\n rippleInner.style.setProperty('left', `${event.offsetX}px`);\n rippleInner.style.setProperty('top', `${event.offsetY}px`);\n }\n\n static detach(element) {\n const ripple = getChildElementByClass(element, 'mdw-ripple');\n if (ripple) {\n element.removeChild(ripple);\n }\n element.removeAttribute('mdw-ripple');\n element.removeEventListener('click', Ripple.onClick);\n }\n}\n\nexport {\n Ripple,\n};\n","import setupImageTargets from '../targetHandler';\nimport { List } from '../../../components/list/index';\nimport { setupMenuOptions } from '../menuoptions';\n\n/** @return {void} */\nfunction initializeMdwComponents() {\n const lists = document.querySelectorAll('.js .mdw-list');\n for (let i = 0; i < lists.length; i += 1) {\n List.attach(lists.item(i));\n }\n}\n\ninitializeMdwComponents();\nsetupMenuOptions();\nsetupImageTargets();\n","module.exports = __webpack_public_path__ + \"list.html\";","const crosshairs = {\n};\nlet vOffset = 0;\nlet hOffset = 0;\n\nObject.defineProperty(crosshairs, 'vOffset', {\n enumerable: true,\n configurable: false,\n get() {\n return vOffset;\n },\n set(val) {\n vOffset = val;\n document.getElementById('verticalLineLeft').style.left = `${val}px`;\n document.getElementById('verticalLineRight').style.left = `${val}px`;\n },\n});\n\n\nObject.defineProperty(crosshairs, 'hOffset', {\n enumerable: true,\n configurable: false,\n get() {\n return hOffset;\n },\n set(val) {\n hOffset = val;\n document.getElementById('horizontalLine').style.top = `${val}px`;\n },\n});\n\n/**\n * @param {MouseEvent} event\n * @return {void}\n */\nfunction onTemplateImageClick(event) {\n document.getElementById('horizontalLine').style.top = `${event.clientY}px`;\n document.getElementById('verticalLineLeft').style.left = `${event.layerX}px`;\n document.getElementById('verticalLineRight').style.left = `${event.clientX}px`;\n}\n\n/** @return {void} */\nfunction setupImageTargets() {\n const targets = document.getElementsByClassName('target');\n for (let i = 0; i < targets.length; i += 1) {\n targets[i].addEventListener('click', onTemplateImageClick);\n }\n}\n\nexport default setupImageTargets;\n","import { Ripple } from '../ripple/index';\nimport { findElementParentByClassName, dispatchDomEvent } from '../common/dom';\n\nclass ListItem {\n /**\n * @param {Element} listItemElement\n * @return {void}\n */\n static attach(listItemElement) {\n Ripple.attach(listItemElement);\n listItemElement.addEventListener('click', ListItem.onClick);\n }\n\n /**\n * @param {Element} listItemElement\n * @return {void}\n */\n static detach(listItemElement) {\n listItemElement.removeEventListener('click', ListItem.onClick);\n Ripple.detach(listItemElement);\n }\n\n /**\n * @param {MouseEvent|KeyboardEvent|PointerEvent} event\n * @return {void}\n */\n static onClick(event) {\n const el = event.currentTarget;\n dispatchDomEvent(el, 'mdw:itemactivated');\n }\n}\n\nclass ListExpander {\n /**\n * @param {Element} listExpanderElement\n * @return {void}\n */\n static attach(listExpanderElement) {\n if (!listExpanderElement.firstElementChild) {\n return;\n }\n listExpanderElement.firstElementChild.addEventListener('click', ListExpander.onItemClicked);\n }\n\n static detach(listExpanderElement) {\n if (!listExpanderElement.firstElementChild) {\n return;\n }\n listExpanderElement.firstElementChild.removeEventListener('click', ListExpander.onItemClicked);\n }\n\n /**\n * @param {Event} event\n * @return {void}\n */\n static onItemClicked(event) {\n const listExpanderElement = findElementParentByClassName(event.target, 'mdw-list__expander');\n if (!listExpanderElement) {\n return;\n }\n if (listExpanderElement.hasAttribute('mdw-expanded')) {\n listExpanderElement.removeAttribute('mdw-expanded');\n } else {\n listExpanderElement.setAttribute('mdw-expanded', '');\n }\n }\n}\n\nclass List {\n /**\n * @param {Element} listElement\n * @return {void}\n */\n static attach(listElement) {\n const items = listElement.getElementsByClassName('mdw-list__item');\n const expanders = listElement.getElementsByClassName('mdw-list__expander');\n for (let i = 0; i < items.length; i += 1) {\n ListItem.attach(items.item(i));\n }\n for (let i = 0; i < expanders.length; i += 1) {\n ListExpander.attach(expanders.item(i));\n }\n }\n\n static detach(listElement) {\n const items = listElement.getElementsByClassName('mdw-list__item');\n const expanders = listElement.getElementsByClassName('mdw-list__expander');\n for (let i = 0; i < items.length; i += 1) {\n ListItem.detach(items.item(i));\n }\n for (let i = 0; i < expanders.length; i += 1) {\n ListExpander.detach(expanders.item(i));\n }\n }\n}\n\nexport {\n List,\n ListItem,\n ListExpander,\n};\n"],"sourceRoot":""}
|
package/docs/menu.html
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html><html lang="en"><head><title>Material Design Web</title><meta charset="utf-8"><meta content="IE=edge" http-equiv="X-UA-Compatible"><meta content="" name="description"><meta content="width=device-width, initial-scale=1, viewport-fit=cover" name="viewport"><meta name="theme-color" content="#E91E63"><meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"><meta name="apple-mobile-web-app-capable" content="yes"><link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons"><link rel="stylesheet" href="//fonts.googleapis.com/css?family=Roboto:300,400,500,700"><link rel="stylesheet" href="docs.min.css"><link rel="stylesheet" href="components.min.css"><link rel="stylesheet" href="theming.min.css"><link rel="stylesheet" href="theming.ie11.min.css" media="screen and (-ms-high-contrast: active), (-ms-high-contrast: none)"><script src="prerender.min.js"></script></head><body class="mdw-type"><div class="mdw-navdrawer" id="docs-navdrawer"><a class="mdw-navdrawer__scrim" href="#"></a><div class="mdw-navdrawer__toolbar"><div class="mdw-toolbar" mdw-theme-fill="accent-500 dark" mdw-app-bar><div class="mdw-toolbar__action"><div class="mdw-toolbar__start"><div class="mdw-tooltip__wrapper"><a class="mdw-tooltip__target mdw-button material-icons" mdw-icon href="#docs-navdrawer">menu</a><div class="mdw-tooltip">Menu</div></div></div><div class="mdw-toolbar__title">menu</div><div class="mdw-toolbar__end" id="docs-menu-buttons"><div class="mdw-tooltip__wrapper"><div class="mdw-tooltip__target mdw-button docs-rtl" mdw-inactive>RTL</div><div class="mdw-tooltip">Right-to-Left</div></div><div class="mdw-tooltip__wrapper"><div class="mdw-tooltip__target mdw-button material-icons" mdw-icon mdw-inactive>brightness_3</div><div class="mdw-tooltip">Dark Mode</div></div><div class="mdw-tooltip__wrapper"><div class="mdw-tooltip__target mdw-button material-icons" mdw-icon mdw-inactive>format_size</div><div class="mdw-tooltip">Large Font</div></div></div></div></div></div><div class="mdw-navdrawer__drawer"><div class="mdw-list"><a class="mdw-list__item" href="index.html" mdw-theme-color="primary"><div class="mdw-list__text">Home</div></a><div class="mdw-list__subheader">Components</div><a class="mdw-list__item" href="bottomnav.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">call_to_action</div><div class="mdw-list__text">Bottom Navigation</div></a><a class="mdw-list__item" href="button.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">crop_landscape</div><div class="mdw-list__text">Button</div></a><a class="mdw-list__item" href="card.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">crop_square</div><div class="mdw-list__text">Card</div></a><a class="mdw-list__item" href="dialog.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">select_all</div><div class="mdw-list__text">Dialog</div></a><a class="mdw-list__item" href="datatable.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">format_align_justify</div><div class="mdw-list__text">Data Table</div></a><a class="mdw-list__item" href="elevation.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">layers</div><div class="mdw-list__text">Elevation</div></a><a class="mdw-list__item" href="fab.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">add_circle</div><div class="mdw-list__text">Floating Action Button</div></a><a class="mdw-list__item" href="layout.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">view_compact</div><div class="mdw-list__text">Layout</div></a><a class="mdw-list__item" href="list.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">view_list</div><div class="mdw-list__text">List</div></a><a class="mdw-list__item" mdw-selected href="menu.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">picture_in_picture</div><div class="mdw-list__text">Menu</div></a><a class="mdw-list__item" href="navdrawer.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">menu</div><div class="mdw-list__text">Navigation Drawer</div></a><a class="mdw-list__item" href="progress.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">timelapse</div><div class="mdw-list__text">Progress</div></a><a class="mdw-list__item" href="search.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">search</div><div class="mdw-list__text">Search</div></a><a class="mdw-list__item" href="selection.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">toggle_on</div><div class="mdw-list__text">Selection</div></a><a class="mdw-list__item" href="slider.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">tune</div><div class="mdw-list__text">Slider</div></a><a class="mdw-list__item" href="snackbar.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">video_label</div><div class="mdw-list__text">Snackbar</div></a><a class="mdw-list__item" href="tab.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">tab</div><div class="mdw-list__text">Tab</div></a><a class="mdw-list__item" href="textfield.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">text_fields</div><div class="mdw-list__text">Text Field</div></a><a class="mdw-list__item" href="toolbar.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">web_asset</div><div class="mdw-list__text">Toolbar</div></a><a class="mdw-list__item" href="tooltip.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">info</div><div class="mdw-list__text">Tooltip</div></a><a class="mdw-list__item" href="type.html" mdw-theme-color="accent"><div class="mdw-list__icon material-icons">font_download</div><div class="mdw-list__text">Typography</div></a></div></div><div class="mdw-navdrawer__content" style="padding-bottom:24px"><div class="mdw-layout" mdw-margin-top mdw-margin-bottom><div class="mdw-layout__item" mdw-colspan="100%"><div><h5 class="mdw-type" mdw-baseline-next="36">Menus display a list of choices on a transient sheet of material.</h5><p class="mdw-type" mdw-baseline-next="36">Menus appear upon interaction with a button, action, or other control. They display a list of choices, with one choice per line.</p><p class="mdw-type">Menu items may be disabled if not applicable to a certain context. Contextual menus dynamically change their available menu items based on the current state of the app.</p></div></div><div class="mdw-layout__item" mdw-colspan="4"><div class="component-sample"><div class="component-sample__container"><div class="mdw-menu__wrapper"><button class="mdw-button">Open</button><div class="mdw-menu"><div class="mdw-menu__popup"><div class="mdw-menu__item"><div class="mdw-menu__icon material-icons">format_bold</div><div class="mdw-menu__text">Bold</div><div class="mdw-menu__info">⌘B</div></div><div class="mdw-menu__item" disabled><div class="mdw-menu__icon material-icons">format_italic</div><div class="mdw-menu__text">Italic</div><div class="mdw-menu__info">⌘I</div></div><div class="mdw-menu__item"><div class="mdw-menu__icon material-icons">format_underline</div><div class="mdw-menu__text">Underline</div><div class="mdw-menu__info">⌘U</div></div><div class="mdw-menu__divider"></div><div class="mdw-menu__item" mdw-checked><div class="mdw-menu__check material-icons">check</div><div class="mdw-menu__text">Flights</div></div><div class="mdw-menu__item"><div class="mdw-menu__check material-icons">check</div><div class="mdw-menu__text">Apps</div></div></div></div></div></div></div></div><div class="mdw-layout__item" mdw-colspan="8"><div><div class="mdw-type" mdw-style="subtitle">Javascript</div><div><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="javascript" value="required" checked><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Required</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="javascript" value="optional"><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Optional</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="javascript" value="none"><div class="mdw-selection__icon"></div><div class="mdw-selection__label">None</div></label></div><div class="mdw-type" mdw-style="subtitle">Vertical Position</div><div><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="vposition" value="auto" checked><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Auto</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="vposition" value="bottom"><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Bottom</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="vposition" value="top"><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Top</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="vposition" value="vcenter"><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Center</div></label></div><div class="mdw-type" mdw-style="subtitle">Horizontal Position</div><div><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="hposition" value="auto" checked><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Auto</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="hposition" value="start"><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Start</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="hposition" value="end"><div class="mdw-selection__icon"></div><div class="mdw-selection__label">End</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="hposition" value="left"><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Left</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="hposition" value="right"><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Right</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="hposition" value="hcenter"><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Center</div></label></div><div class="mdw-type" mdw-style="subtitle">Vertical Direction</div><div><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="vdirection" value="auto" checked><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Auto</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="vdirection" value="down"><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Down</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="vdirection" value="up"><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Up</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="vdirection" value="vcenter"><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Center</div></label></div><div class="mdw-type" mdw-style="subtitle">Horizontal Direction</div><div><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="hdirection" value="auto" checked><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Auto</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="hdirection" value="normal"><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Normal</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="hdirection" value="reverse"><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Reverse</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="hdirection" value="ltr"><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Left-to-Right</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="hdirection" value="rtl"><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Right-to-Left</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="hdirection" value="hcenter"><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Center</div></label></div><div class="mdw-type" mdw-style="subtitle">Width Units</div><div><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="width" value="auto" checked><div class="mdw-selection__icon"></div><div class="mdw-selection__label">Auto</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="width" value="3"><div class="mdw-selection__icon"></div><div class="mdw-selection__label">3</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="width" value="4"><div class="mdw-selection__icon"></div><div class="mdw-selection__label">4</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="width" value="5"><div class="mdw-selection__icon"></div><div class="mdw-selection__label">5</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="width" value="6"><div class="mdw-selection__icon"></div><div class="mdw-selection__label">6</div></label><label class="mdw-selection" mdw-theme-color="accent" style="margin:16px 8px"><input class="mdw-selection__input" type="radio" name="width" value="7"><div class="mdw-selection__icon"></div><div class="mdw-selection__label">7</div></label></div></div></div><div class="mdw-layout__item" mdw-colspan="100%" style="max-height:0"></div><div class="mdw-layout__item" mdw-colspan="100%"><div class="display-flex" flex-column><h6 class="mdw-type">HTML Code</h6><div class="mdw-card component-code component-html"></div></div></div><div class="mdw-layout__item" mdw-colspan="100%"><div class="display-flex" flex-column><h6 class="mdw-type">Javascript Code</h6><div class="mdw-card component-code component-js"></div></div></div><div class="mdw-layout__item" mdw-colspan="100%"><h6 class="mdw-type">Samples</h6></div><div class="mdw-layout__item display-flex" mdw-colspan="4" flex-justify-content="center"><div class="render"><div class="androidstatusbar" mdw-theme-fill="primary-700 dark"><div>12:30</div><i class="material-icons" style="letter-spacing:2px;padding:0 2px"></i></div><div class="mdw-toolbar" mdw-theme-fill="primary-500 dark"><div class="mdw-toolbar__action"><div class="mdw-toolbar__start"><div class="mdw-tooltip__wrapper"><div class="mdw-tooltip__target mdw-button material-icons" mdw-icon>menu</div><div class="mdw-tooltip">Menu</div></div></div><div class="mdw-toolbar__end"><div class="mdw-tooltip__wrapper mdw-menu__wrapper"><a class="mdw-tooltip__target mdw-button material-icons" mdw-icon mdw-more-button href="#moremenu">more_vert</a><div class="mdw-tooltip">Options</div><div class="mdw-menu" id="moremenu" mdw-direction="reverse" mdw-position="end" mdw-width-units="3" mdw-theme-fill="light"><a class="mdw-menu__close" href="#"></a><div class="mdw-menu__popup"><div class="mdw-menu__text">Refresh</div><div class="mdw-menu__text">Settings</div><div class="mdw-menu__text">Send feedback</div><div class="mdw-menu__text">Help</div><div class="mdw-menu__text">Signout</div></div></div></div></div></div></div><div class="content" style="padding:16px 8px"><div class="mdw-menu__wrapper"><a class="mdw-button" mdw-theme-fill="primary dark" mdw-raised href="#textmenu">Text</a><div class="mdw-menu" id="textmenu"><a class="mdw-menu__close" href="#"></a><div class="mdw-menu__popup"><div class="mdw-menu__item">Maps</div><div class="mdw-menu__item">Books</div><div class="mdw-menu__item">Flights</div><div class="mdw-menu__item">Apps</div></div></div></div><div class="mdw-menu__wrapper"><a class="mdw-button" mdw-theme-fill="primary dark" mdw-raised href="#checkmenu">Checks</a><div class="mdw-menu" id="checkmenu"><a class="mdw-menu__close" href="#"></a><div class="mdw-menu__popup"><div class="mdw-menu__item"><div class="mdw-menu__check material-icons">check</div><div class="mdw-menu__text">Maps</div></div><div class="mdw-menu__item" mdw-checked><div class="mdw-menu__check material-icons">check</div><div class="mdw-menu__text">Books</div></div><div class="mdw-menu__item" mdw-checked><div class="mdw-menu__check material-icons">check</div><div class="mdw-menu__text">Flights</div></div><div class="mdw-menu__item"><div class="mdw-menu__check material-icons">check</div><div class="mdw-menu__text">Apps</div></div></div></div></div><div style="height:400px"></div><div class="mdw-menu__wrapper"><a class="mdw-button" mdw-theme-fill="primary dark" mdw-raised href="#infomenu">Info</a><div class="mdw-menu" id="infomenu" mdw-width-units="4" mdw-direction="up" mdw-position="top"><a class="mdw-menu__close" href="#"></a><div class="mdw-menu__popup"><div class="mdw-menu__item" disabled><div class="mdw-menu__check material-icons">check</div><div class="mdw-menu__text">Bold</div><div class="mdw-menu__info">⌘B</div></div><div class="mdw-menu__item" mdw-checked><div class="mdw-menu__check material-icons">check</div><div class="mdw-menu__text">Italic</div><div class="mdw-menu__info">⌘I</div></div><div class="mdw-menu__item" mdw-checked><div class="mdw-menu__check material-icons">check</div><div class="mdw-menu__text">Underline</div><div class="mdw-menu__info">⌘U</div></div><div class="mdw-menu__divider"></div><div class="mdw-menu__item" mdw-checked><div class="mdw-menu__check material-icons">check</div><div class="mdw-menu__text">Flights</div></div><div class="mdw-menu__item"><div class="mdw-menu__check material-icons">check</div><div class="mdw-menu__text">Apps</div></div></div></div></div><div class="mdw-menu__wrapper"><a class="mdw-button" mdw-theme-fill="primary dark" mdw-raised href="#iconmenu">Icons</a><div class="mdw-menu" id="iconmenu" mdw-width-units="4" mdw-direction="up" mdw-position="top"><a class="mdw-menu__close" href="#"></a><div class="mdw-menu__popup"><div class="mdw-menu__item"><div class="mdw-menu__icon material-icons">format_bold</div><div class="mdw-menu__text">Bold</div><div class="mdw-menu__info">⌘B</div></div><div class="mdw-menu__item"><div class="mdw-menu__icon material-icons">format_italic</div><div class="mdw-menu__text">Italic</div><div class="mdw-menu__info">⌘I</div></div><div class="mdw-menu__item"><div class="mdw-menu__icon material-icons">format_underline</div><div class="mdw-menu__text">Underline</div><div class="mdw-menu__info">⌘U</div></div></div></div></div><div class="mdw-menu__wrapper js"><button class="mdw-button" mdw-theme-fill="primary dark" mdw-raised>JS</button><div class="mdw-menu" mdw-width-units="4" mdw-direction="reverse"><div class="mdw-menu__popup"><div class="mdw-menu__item"><div class="mdw-menu__icon material-icons">format_bold</div><div class="mdw-menu__text">Bold</div><div class="mdw-menu__info">⌘B</div></div><div class="mdw-menu__item" disabled><div class="mdw-menu__icon material-icons">format_italic</div><div class="mdw-menu__text">Italic</div><div class="mdw-menu__info">⌘I</div></div><div class="mdw-menu__item"><div class="mdw-menu__icon material-icons">format_underline</div><div class="mdw-menu__text">Underline</div><div class="mdw-menu__info">⌘U</div></div><div class="mdw-menu__divider"></div><div class="mdw-menu__item" mdw-checked><div class="mdw-menu__check material-icons">check</div><div class="mdw-menu__text">Flights</div></div><div class="mdw-menu__item"><div class="mdw-menu__check material-icons">check</div><div class="mdw-menu__text">Apps</div></div></div></div></div></div></div></div></div></div></div><script src="menu.min.js"></script></body></html>
|
package/docs/menu.min.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
!function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=46)}({0:function(e,t,n){"use strict";function r(e){return window.localStorage?localStorage.getItem(e):null}function i(e,t){window.localStorage&&localStorage.setItem(e,t)}function o(e){window.localStorage&&localStorage.removeItem(e)}n.d(t,"a",function(){return r}),n.d(t,"c",function(){return i}),n.d(t,"b",function(){return o})},1:function(e,t,n){"use strict";function r(e,t){var n=e.getElementsByClassName(t)[0];return n&&n.parentElement!==e?null:n}function i(e,t,n){var r;for(r=!1===n?e.parentElement:e;null!=r&&!r.classList.contains(t);)r=r.parentElement;return r}function o(){return document.documentElement.hasAttribute("dir")&&"rtl"===document.documentElement.getAttribute("dir").toLowerCase()}function c(e,t){var n=document.createEvent("Event");return n.initEvent(t,!0,!0),e.dispatchEvent(n)}n.d(t,"c",function(){return r}),n.d(t,"b",function(){return i}),n.d(t,"d",function(){return o}),n.d(t,"a",function(){return c}),n.d(t,"e",function(){return a});var a=window.requestAnimationFrame||function(e){return setTimeout(e,17)}},2:function(e,t,n){"use strict";n.d(t,"c",function(){return c}),n.d(t,"a",function(){return a}),n.d(t,"b",function(){return u}),n.d(t,"d",function(){return s});var r=n(0),i="black dark",o="white light";function c(e,t){e?(document.documentElement.setAttribute("dir","rtl"),t&&t.removeAttribute("mdw-inactive"),Object(r.c)("rtlmode","true")):(document.documentElement.removeAttribute("dir"),t&&t.setAttribute("mdw-inactive",""),Object(r.b)("rtlmode"))}function a(e,t){e?(document.documentElement.setAttribute("mdw-theme-fill",i),t&&t.removeAttribute("mdw-inactive")):(document.documentElement.setAttribute("mdw-theme-fill",o),t&&t.setAttribute("mdw-inactive","")),Object(r.c)("darkmode",e?"true":"false")}function u(e,t){e?(document.documentElement.style.setProperty("font-size",e),t&&t.removeAttribute("mdw-inactive"),Object(r.c)("fontsize",e)):(document.documentElement.style.removeProperty("font-size"),t&&t.setAttribute("mdw-inactive",""),Object(r.b)("fontsize"))}function s(){var e=document.getElementById("docs-menu-buttons").getElementsByClassName("mdw-button"),t=e[0],n=e[1],o=e[2];!function(e){"true"===Object(r.a)("rtlmode")&&c(!0,e),e.addEventListener("click",function(){"rtl"===document.documentElement.getAttribute("dir")?c(!1,e):c(!0,e)})}(t),function(e){"true"===Object(r.a)("darkmode")&&a(!0,e),e.addEventListener("click",function(){document.documentElement.getAttribute("mdw-theme-fill")===i?a(!1,e):a(!0,e)})}(n),function(e){u(Object(r.a)("fontsize"),e),e.addEventListener("click",function(){document.documentElement.style.getPropertyValue("font-size")?u(null,e):u("125%",e)})}(o)}},3:function(e,t,n){"use strict";n.d(t,"a",function(){return o});var r=n(1);function i(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var o=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}return function(e,t,n){n&&i(e,n)}(e,0,[{key:"attach",value:function(t){var n=Object(r.c)(t,"mdw-ripple");n||((n=document.createElement("div")).classList.add("mdw-ripple"),t.firstChild?t.insertBefore(n,t.firstChild):t.appendChild(n));var i=Object(r.c)(n,"mdw-ripple__inner");i||((i=document.createElement("div")).classList.add("mdw-ripple__inner"),n.appendChild(i)),t.setAttribute("mdw-ripple",""),n.addEventListener("click",e.onClick)}},{key:"onClick",value:function(e){var t=e.currentTarget,n=Object(r.c)(t,"mdw-ripple__inner");if(n){if(!e.pointerType&&!e.detail)return n.style.removeProperty("left"),void n.style.removeProperty("top");n.style.setProperty("left","".concat(e.offsetX,"px")),n.style.setProperty("top","".concat(e.offsetY,"px"))}}},{key:"detach",value:function(t){var n=Object(r.c)(t,"mdw-ripple");n&&t.removeChild(n),t.removeAttribute("mdw-ripple"),t.removeEventListener("click",e.onClick)}}]),e}()},4:function(e,t,n){"use strict";function r(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=e.tagName.toLowerCase(),i=[],o=0;o<e.attributes.length;o+=1){var c=e.attributes.item(o);c.value.length?i.push("".concat(c.name,'="').concat(c.value,'"')):i.push(c.name)}i.sort();for(var a=[n,i.join(" ")],u="<".concat(a.filter(function(e){return e}).join(" ").trim(),">"),s="</".concat(n,">"),l=[u],d=[],m=!0,f=0;f<e.childNodes.length;f+=1){var v=e.childNodes.item(f),p=void 0;v instanceof HTMLElement?(p=r(v," ".concat(t))).trim()&&(m=!1):v.nodeValue&&(p=" ".concat(v.nodeValue)),p&&p.trim()&&d.push(p)}return m?t+l.join("")+d.join("").trim()+s:(d.filter(function(e){return e.trim()}).forEach(function(e){return l.push(e)}),l.push(t+s),t+l.join("\n"))}function i(e,t,n){var r;r=e instanceof Element?[r]:e;for(var i=0;i<r.length;i+=1)r[i].addEventListener(t,n)}function o(e){for(var t=0;t<e.childNodes.length;t+=1){var n=e.childNodes[t];if(n.nodeType===Node.TEXT_NODE)return n}var r=document.createTextNode("");return e.appendChild(r),r}function c(e,t){for(var n=document.createElement(t),r=e.attributes.length-1;r>=0;r-=1){var i=e.attributes.item(r);n.attributes.setNamedItem(i.cloneNode())}for(;e.firstChild;)n.appendChild(e.firstChild);return e.parentElement.replaceChild(n,e),n}n.d(t,"c",function(){return r}),n.d(t,"a",function(){return i}),n.d(t,"d",function(){return o}),n.d(t,"b",function(){return c})},46:function(e,t,n){n(47),e.exports=n(48)},47:function(e,t,n){"use strict";n.r(t);var r,i=n(7),o=n(2),c=n(4);function a(e){i.a.show(r,e)}function u(){var e=document.querySelector('input[name="javascript"][value="required"]').checked,t=document.querySelector('input[name="javascript"][value="optional"]').checked,n=e||t;e?(document.querySelector('[name="vdirection"][value="vcenter"]').removeAttribute("disabled"),document.querySelector('[name="hdirection"][value="hcenter"]').removeAttribute("disabled")):(document.querySelector('[name="vdirection"][value="vcenter"]').setAttribute("disabled",""),document.querySelector('[name="hdirection"][value="hcenter"]').setAttribute("disabled","")),i.a.detach(r);var o=document.querySelector(".component-sample .mdw-button"),u=document.querySelector(".component-sample .mdw-menu__close");o.removeEventListener("click",a);for(var s=r.querySelectorAll("[tabindex]"),l=0;l<s.length;l+=1)s.item(l).removeAttribute("tabindex");u&&(e||u instanceof HTMLAnchorElement==0)&&(u.parentElement.removeChild(u),u=null),e?(r.removeAttribute("id"),o.removeAttribute("href"),o instanceof HTMLAnchorElement&&(o=Object(c.b)(o,"button"))):(r.setAttribute("id","sample-menu"),o.setAttribute("href","#sample-menu"),o instanceof HTMLButtonElement&&(o=Object(c.b)(o,"a")),u||((u=document.createElement("a")).classList.add("mdw-menu__close"),u.setAttribute("href","#"),r.insertBefore(u,r.firstElementChild)));var d=document.getElementsByClassName("component-html")[0],m=[],f=document.querySelector(".component-sample__container").firstElementChild;for(e&&(f=f.firstElementChild);f;){var v=Object(c.c)(f).trim();v&&m.push(v),f=f.nextElementSibling}d.textContent=m.join("\n"),n&&(i.a.attach(r),o.addEventListener("click",a)),document.getElementsByClassName("component-js")[0].textContent=["buttonElement.addEventListener('click', (event) => {"," mdw.Menu.show(menuElement, event);","});","menuElement.addEventListener('mdw:itemactivated', (event) => {"," const menuItem = event.target;"," handleMenuItem(menuItem);"," mdw.Menu.hide(event.currentTarget)","});"].join("\n")}!function(){var e=document.querySelector(".js .mdw-button"),t=document.querySelector(".js .mdw-menu");e.addEventListener("click",function(e){i.a.show(t,e)}),t.addEventListener("mdw:itemactivated",function(e){e.target.hasAttribute("disabled")||i.a.hide(e.currentTarget)})}(),r=document.querySelector(".component-sample .mdw-menu"),Object(c.a)(document.querySelectorAll("input[name]"),"change",function(e){var t=e.target,n=t.name,i=t.value,o=(t.checked,r.getAttribute("mdw-direction")||""),c=r.getAttribute("mdw-position")||"";switch(n){case"vposition":switch(c=c.replace("bottom","").replace("top","").replace("vcenter","").trim(),i){case"auto":break;default:c="".concat(i," ").concat(c).trim()}break;case"hposition":switch(c=c.replace("start","").replace("end","").replace("left","").replace("right","").replace("hcenter","").trim(),i){case"auto":break;default:c="".concat(c," ").concat(i).trim()}break;case"vdirection":switch(o=o.replace("down","").replace("up","").replace("vcenter","").trim(),i){case"auto":break;default:o="".concat(i," ").concat(o).trim()}break;case"hdirection":switch(o=o.replace("normal","").replace("reverse","").replace("ltr","").replace("rtl","").replace("hcenter","").trim(),i){case"auto":break;default:o="".concat(o," ").concat(i).trim()}break;case"width":switch(i){case"auto":r.removeAttribute("mdw-width-units");break;default:r.setAttribute("mdw-width-units",i)}}c?r.getAttribute("mdw-position")!==c&&r.setAttribute("mdw-position",c):r.removeAttribute("mdw-position"),o?r.getAttribute("mdw-direction")!==o&&r.setAttribute("mdw-direction",o):r.removeAttribute("mdw-direction"),u()}),u(),Object(o.d)()},48:function(e,t,n){e.exports=n.p+"menu.html"},7:function(e,t,n){"use strict";n.d(t,"a",function(){return l});var r=n(3),i=n(1);function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function c(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function a(e,t,n){return t&&c(e.prototype,t),n&&c(e,n),e}var u=function(){function e(){o(this,e)}return a(e,null,[{key:"attach",value:function(t){t.setAttribute("mdw-js",""),r.a.attach(t),t.addEventListener("mousemove",e.onMouseMove),t.addEventListener("click",e.onClick)}},{key:"onClick",value:function(e){var t=e.currentTarget;Object(i.a)(t,"mdw:itemactivated")}},{key:"onMouseMove",value:function(e){var t=e.currentTarget;if(t){var n=document.activeElement;n!==t&&(t.focus(),document.activeElement!==t&&n&&document.activeElement!==n&&n.focus())}}},{key:"detach",value:function(t){t.removeEventListener("click",e.onClick),t.removeEventListener("mousemove",e.onMouseMove),t.removeAttribute("mdw-js"),r.a.detach(t)}}]),e}(),s=[],l=function(){function e(){o(this,e)}return a(e,null,[{key:"attach",value:function(t){t.setAttribute("mdw-js","");var n=t.getElementsByClassName("mdw-menu__close")[0];n||((n=document.createElement("div")).classList.add("mdw-menu__close"),t.firstChild?t.insertBefore(n,t.firstChild):t.appendChild(n)),n.addEventListener("click",e.onMenuCloserClick),t.addEventListener("keydown",e.onKeyDown)}},{key:"onMenuCloserClick",value:function(t){var n=t.currentTarget;if(n){var r=n.parentElement;r&&(n instanceof HTMLAnchorElement&&t.preventDefault(),e.hide(r))}}},{key:"onPopState",value:function(t){if(t.state){var n=s[s.length-1];n&&n.previousState&&(n.previousState===t.state||Object.keys(t.state).every(function(e){return t.state[e]===n.previousState[e]}))&&e.hide(n.element)}}},{key:"onKeyDown",value:function(t){var n=t.currentTarget;if(n&&!n.hasAttribute("mdw-hide")&&n.hasAttribute("mdw-show")){if("Tab"===t.key)return this.previousFocus=null,void e.hide(n);if("Escape"===t.key||"Esc"===t.key)return t.stopPropagation(),t.preventDefault(),void e.hide(n);if("ArrowUp"===t.key||"Up"===t.key)return t.stopPropagation(),t.preventDefault(),void e.selectNextMenuItem(n,!0);if("ArrowDown"!==t.key&&"Down"!==t.key||(t.stopPropagation(),t.preventDefault(),e.selectNextMenuItem(n,!1)),document.activeElement&&document.activeElement!==n&&!document.activeElement.hasAttribute("disabled"))return"Spacebar"===t.key||" "===t.key?(t.stopPropagation(),void t.preventDefault()):void("Enter"===t.key&&(t.stopPropagation(),t.preventDefault(),document.activeElement.click()))}}},{key:"detach",value:function(t){e.hide(t);var n=t.getElementsByClassName("mdw-menu__close")[0];n&&n.removeEventListener("click",e.onMenuCloserClick),t.addEventListener("keydown",e.onKeyDown),t.removeAttribute("mdw-js"),t.removeAttribute("mdw-show"),t.removeAttribute("mdw-hide");var r=t.getElementsByClassName("mdw-menu__popup")[0];r&&(r.style.removeProperty("top"),r.style.removeProperty("left"),r.style.removeProperty("right"),r.style.removeProperty("bottom"),r.style.removeProperty("margin"),r.style.removeProperty("transform-origin"),r.style.removeProperty("position"),r.hasAttribute("style")&&!r.getAttribute("style")&&r.removeAttribute("style"));for(var i=t.getElementsByClassName("mdw-menu__item"),o=0;o<i.length;o+=1)u.detach(i.item(o))}},{key:"selectNextMenuItem",value:function(e,t){for(var n=e.getElementsByClassName("mdw-menu__item"),r=!1,i=null,o=null,c=null,a=document.activeElement,u=0;u<n.length;u+=1){var s=n.item(u);s.focus();var l=document.activeElement===s;if(l&&(o||(o=s),c=s),s===a){if(r=!0,t&&i)break}else if(t)l&&(i=s);else if(r&&l){i=s;break}}i||(i=t?c:o),i&&document.activeElement!==i&&i.focus()}},{key:"updateMenuPosition",value:function(e,t,n,r){var o="auto",c="auto",a="",u=!1!==r,s=u?"0":"",l=e.getAttribute("mdw-position")||"",d=e.getAttribute("mdw-direction")||"",m=-1!==l.indexOf("top"),f=-1!==l.indexOf("bottom"),v=-1!==l.indexOf("vcenter"),p=-1!==l.indexOf("start"),h=-1!==l.indexOf("end"),b=-1!==l.indexOf("left"),y=-1!==l.indexOf("right"),w=-1!==l.indexOf("hcenter"),g=-1!==d.indexOf("up"),E=-1!==d.indexOf("down"),k=-1!==d.indexOf("normal"),A=-1!==d.indexOf("reverse"),O=-1!==d.indexOf("vcenter"),x=-1!==d.indexOf("hcenter"),C=-1!==d.indexOf("ltr"),j=-1!==d.indexOf("rtl"),P=n.currentTarget||n.target,S=null;(p||h||k||A)&&(S=Object(i.d)(),(p||h)&&(p?S?y=!0:b=!0:S?b=!0:y=!0),(k||A)&&(k?S?j=!0:C=!0:S?C=!0:j=!0));var _=u?-n.offsetY:0,L=u?P.clientHeight-n.offsetY:0,M=u?-n.offsetX:0,T=u?P.clientWidth-n.offsetX:0,N=n.pageX,B=n.pageY;if(!N&&!B){var q=P.getBoundingClientRect();N=q.x,B=q.y}t.style.setProperty("max-height","none");var H=t.clientHeight,W=!m&&!v&&!g&&!O&&H+(B+L)<=window.innerHeight,I=!f&&!v&&!g&&!O&&H+(B+_)<=window.innerHeight,D=!f&&!v&&!E&&!O&&B+_>=H,z=!m&&!v&&!E&&!O&&B+L>=H,F=!y&&!w&&!j&&!x&&t.clientWidth+(N+M)<=window.innerWidth,X=!b&&!w&&!j&&!x&&t.clientWidth+(N+T)<=window.innerWidth,Y=!b&&!w&&!C&&!x&&N+T>=t.clientWidth,K=!y&&!w&&!C&&!x&&N+M>=t.clientWidth,V=!b&&!y&&!m&&!f&&!g&&!E&&(N+M)/2>=t.clientWidth/2&&t.clientWidth/2+(N+M)/2<=window.innerWidth;t.style.removeProperty("max-height");var U=[W&&F,W&&Y,D&&F,D&&K,I&&X,I&&K,z&&X,z&&K,I&&F,I&&Y,z&&F,z&&X,F,Y,V].map(function(e,t){return e?t+1:0}).filter(function(e){return 0!==e});if(U.length){var R;switch(null===S&&(S=Object(i.d)()),null==(R=S?[2,1,4,3,6,5,8,7,10,9,12,11,14,13,15].filter(function(e){return-1!==U.indexOf(e)})[0]:[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15].filter(function(e){return-1!==U.indexOf(e)})[0])&&(R=S?2:1),R){default:case 1:case 8:case 11:f=!0,b=!0;break;case 2:case 7:case 12:f=!0,y=!0;break;case 3:case 6:case 9:m=!0,b=!0;break;case 4:case 5:case 10:m=!0,y=!0;break;case 13:v=!0,b=!0;break;case 14:v=!0,y=!0;break;case 15:v=!0,w=!0}switch(R){default:case 1:case 5:case 9:E=!0,C=!0;break;case 2:case 6:case 10:E=!0,j=!0;break;case 3:case 7:case 11:g=!0,C=!0;break;case 4:case 8:case 12:g=!0,j=!0;break;case 13:C=!0,O=!0;break;case 14:j=!0,O=!0;break;case 15:x=!0,O=!0}}C?(c="".concat(y?N+T:w?N+(M+T)/2:N+M,"px"),a="left"):x?(c="".concat(b?N+M-t.clientWidth/2:y?N+T-t.clientWidth/2:N+(M+T)/2-t.clientWidth/2,"px"),a="center"):(c="".concat(b?N+M-t.clientWidth:w?N+(M+T)/2-t.clientWidth:N+T-t.clientWidth,"px"),a="right"),g?(o="".concat(f?B+L-t.clientHeight:v?B+(_+L)/2-t.clientHeight:B+_-t.clientHeight,"px"),a+=" bottom"):O?(o="".concat(f?B+L-t.clientHeight/2:m?B+_-t.clientHeight/2:B+(_+L)/2-t.clientHeight/2,"px"),a+=" center"):(o="".concat(m?B+_:v?B+(_+L)/2:B+L,"px"),a+=" top"),t.style.setProperty("top",o),t.style.setProperty("left",c),t.style.setProperty("right","auto"),t.style.setProperty("bottom","auto"),t.style.setProperty("margin",s),t.style.setProperty("transform-origin",a),t.style.setProperty("position","fixed")}},{key:"refreshMenuItems",value:function(e){for(var t=e.getElementsByClassName("mdw-menu__item"),n=0;n<t.length;n+=1){var r=t.item(n);r.setAttribute("tabindex","-1"),u.attach(r)}e.getElementsByClassName("mdw-menu__popup")[0].setAttribute("tabindex","-1")}},{key:"show",value:function(t,n,r){n&&n.currentTarget instanceof HTMLAnchorElement&&n.preventDefault();var i=t.getElementsByClassName("mdw-menu__popup")[0],c=!1;if(n?e.updateMenuPosition(t,i,n,r):(i.style.removeProperty("top"),i.style.removeProperty("left"),i.style.removeProperty("right"),i.style.removeProperty("bottom"),i.style.removeProperty("margin"),i.style.removeProperty("transform-origin"),i.style.removeProperty("position"),i.hasAttribute("style")&&!i.getAttribute("style")&&i.removeAttribute("style")),t.hasAttribute("mdw-hide")&&(t.removeAttribute("mdw-hide"),c=!0),t.hasAttribute("mdw-show")||(t.setAttribute("mdw-show",""),c=!0),c){e.attach(t);var a=document.activeElement,u={hash:Math.random().toString(36).substr(2,16)},l=null;window.history&&window.history.pushState&&(window.history.state||window.history.replaceState({hash:Math.random().toString(36).substr(2,16)},document.title),l=window.history.state,window.history.pushState(u,document.title),window.addEventListener("popstate",e.onPopState));var d=new function e(t,n,r,i){o(this,e),this.element=t,this.previousFocus=n,this.state=r,this.previousState=i}(t,a,u,l);s.push(d),e.refreshMenuItems(t),!n||n.pointerType||n.detail?i.focus():e.selectNextMenuItem(t)}return c}},{key:"hide",value:function(t){if(!t.hasAttribute("mdw-hide")){t.setAttribute("mdw-hide","");var n=-1;if(s.some(function(e,r){return e.element===t&&(n=r,!0)}),-1!==n){var r=s[n];r.previousFocus&&r.previousFocus.focus(),s.splice(n,1),r.state&&window.history&&window.history.state&&r.state.hash===window.history.state.hash&&window.history.back()}return s.length||window.removeEventListener("popstate",e.onPopState),Object(i.a)(t,"mdw:dismiss"),!0}return!1}}]),e}()}});
|
|
2
|
-
//# sourceMappingURL=menu.min.js.map
|
package/docs/menu.min.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./docs/src/storage.js","webpack:///./components/common/dom.js","webpack:///./docs/src/menuoptions.js","webpack:///./components/ripple/index.js","webpack:///./docs/src/sample-utils.js","webpack:///./docs/src/components/menu.js","webpack:///./docs/src/components/menu.pug","webpack:///./components/menu/index.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","default","object","property","prototype","hasOwnProperty","p","s","0","e","getStorageItem","window","localStorage","getItem","setStorageItem","setItem","removeStorageItem","removeItem","__webpack_exports__","getChildElementByClass","element","className","child","getElementsByClassName","parentElement","findElementParentByClassName","includeSelf","el","classList","contains","isRtl","document","documentElement","hasAttribute","getAttribute","toLowerCase","dispatchDomEvent","type","event","createEvent","initEvent","dispatchEvent","nextTick","requestAnimationFrame","cb","setTimeout","2","setRTLMode","setDarkMode","setFontSize","setupMenuOptions","_storage__WEBPACK_IMPORTED_MODULE_0__","darkAttribute","lightAttribute","button","setAttribute","removeAttribute","style","setProperty","removeProperty","buttons","getElementById","buttonRTLMode","buttonDarkMode","largeFontMode","addEventListener","getPropertyValue","Ripple","ripple","createElement","add","firstChild","insertBefore","appendChild","rippleInner","onClick","currentTarget","pointerType","detail","concat","offsetX","offsetY","removeChild","removeEventListener","convertElementToCode","linePrefix","arguments","length","htmlType","tagName","attributes","attribute","item","push","sort","syntaxItems","join","openingHTMLLine","filter","trim","closingHTMLLine","lines","innerLines","onlyText","childNodes","lineText","HTMLElement","nodeValue","line","forEach","attachEventListener","elements","listener","elementList","Element","getChildTextNode","node","childNode","nodeType","Node","TEXT_NODE","textNode","createTextNode","changeElementTagName","tagname","newElement","attr","setNamedItem","cloneNode","replaceChild","sampleComponent","_components_menu_index__WEBPACK_IMPORTED_MODULE_0__","_menuoptions__WEBPACK_IMPORTED_MODULE_1__","_sample_utils__WEBPACK_IMPORTED_MODULE_2__","onSampleButtonClick","Menu","show","updateSampleCode","jsRequired","querySelector","checked","jsOptional","useJS","detach","closer","tabIndexElements","querySelectorAll","HTMLAnchorElement","HTMLButtonElement","firstElementChild","htmlCodeElement","htmlCodeBlocks","htmlCode","nextElementSibling","textContent","attach","menu","target","hide","_event$target","mdwDirection","mdwPosition","replace","7","TypeError","configurable","writable","a","MenuItem","onMouseMove","previousFocus","activeElement","focus","OPEN_MENUS","menuElement","menuCloser","onMenuCloserClick","onKeyDown","preventDefault","state","lastOpenMenu","previousState","keys","every","this","stopPropagation","selectNextMenuItem","click","popupElement","menuItems","backwards","foundTarget","candidate","firstFocusableItem","lastFocusableElement","focusable","alignTarget","top","left","transformOrigin","useAlignTarget","margin","alignTop","indexOf","alignBottom","alignVCenter","alignStart","alignEnd","alignLeft","alignRight","alignHCenter","openUp","openDown","openNormal","openReverse","openVCenter","openHCenter","openLtr","openRtl","isPageRTL","offsetTop","offsetBottom","clientHeight","offsetLeft","offsetRight","clientWidth","pageX","pageY","rect","getBoundingClientRect","x","y","popupElementHeight","canOpenDownwardsFromBottom","innerHeight","canOpenDownwardsFromTop","canOpenUpwardsFromTop","canOpenUpwardsFromBottom","canOpenRightwardsFromLeft","innerWidth","canOpenRightwardsFromRight","canOpenLeftwardsFromRight","canOpenLeftwardsFromLeft","canOpenFromCenter","candidates","map","index","candidateNumber","number","menuItem","changed","updateMenuPosition","newState","hash","Math","random","toString","substr","history","pushState","replaceState","title","onPopState","menuStack","MenuStack","_classCallCheck","refreshMenuItems","stackIndex","some","stack","splice","back"],"mappings":"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","file":"menu.min.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 46);\n","/**\n * @param {string} key\n * @return {string}\n */\nexport function getStorageItem(key) {\n if (!window.localStorage) {\n return null;\n }\n return localStorage.getItem(key);\n}\n\n/**\n * @param {string} key\n * @param {string} value\n * @return {void}\n */\nexport function setStorageItem(key, value) {\n if (!window.localStorage) {\n return;\n }\n localStorage.setItem(key, value);\n}\n\n/**\n * @param {string} key\n * @return {void}\n */\nexport function removeStorageItem(key) {\n if (!window.localStorage) {\n return;\n }\n localStorage.removeItem(key);\n}\n","/**\n * @param {Element} element\n * @param {string} className\n * @return {Element}\n */\nexport function getChildElementByClass(element, className) {\n const child = element.getElementsByClassName(className)[0];\n if (child && child.parentElement !== element) {\n return null;\n }\n return child;\n}\n\n/**\n * @param {Element} element\n * @param {string} className\n * @param {boolean=} [includeSelf=true]\n * @return {Element}\n */\nexport function findElementParentByClassName(element, className, includeSelf) {\n /** @type {Element} */\n let el;\n if (includeSelf === false) {\n el = element.parentElement;\n } else {\n el = element;\n }\n while (el != null && !el.classList.contains(className)) {\n el = el.parentElement;\n }\n return el;\n}\n\n/** @return {boolean} */\nexport function isRtl() {\n return document.documentElement.hasAttribute('dir')\n && document.documentElement.getAttribute('dir').toLowerCase() === 'rtl';\n}\n\n/**\n * @param {Element} element\n * @param {string} type\n * @return {boolean}\n */\nexport function dispatchDomEvent(element, type) {\n const event = document.createEvent('Event');\n event.initEvent(type, true, true);\n return element.dispatchEvent(event);\n}\n\nexport const nextTick = window.requestAnimationFrame || (cb => setTimeout(cb, 17));\n","import { setStorageItem, removeStorageItem, getStorageItem } from './storage';\n\nconst darkAttribute = 'black dark';\nconst lightAttribute = 'white light';\n\n/**\n * @param {boolean} value\n * @param {Element=} button\n * @return {void}\n */\nexport function setRTLMode(value, button) {\n if (value) {\n document.documentElement.setAttribute('dir', 'rtl');\n if (button) {\n button.removeAttribute('mdw-inactive');\n }\n // element.setAttribute('mdw-active', '');\n // Poor visibility even though spec says 70% opacity\n setStorageItem('rtlmode', 'true');\n } else {\n document.documentElement.removeAttribute('dir');\n if (button) {\n button.setAttribute('mdw-inactive', '');\n }\n // element.removeAttribute('mdw-active');\n removeStorageItem('rtlmode');\n }\n}\n\n/**\n * @param {boolean} value\n * @param {Element=} button\n * @return {void}\n */\nexport function setDarkMode(value, button) {\n if (value) {\n document.documentElement.setAttribute('mdw-theme-fill', darkAttribute);\n if (button) {\n button.removeAttribute('mdw-inactive');\n }\n // element.setAttribute('mdw-active', '');\n // Poor visibility even though spec says 70% opacity\n } else {\n document.documentElement.setAttribute('mdw-theme-fill', lightAttribute);\n if (button) {\n button.setAttribute('mdw-inactive', '');\n }\n // element.removeAttribute('mdw-active');\n }\n setStorageItem('darkmode', value ? 'true' : 'false');\n}\n\n/**\n * @param {string} value\n * @param {Element=} button\n * @return {void}\n */\nexport function setFontSize(value, button) {\n if (value) {\n document.documentElement.style.setProperty('font-size', value);\n if (button) {\n button.removeAttribute('mdw-inactive');\n }\n // element.setAttribute('mdw-active', '');\n // Poor visibility even though spec says 70% opacity\n setStorageItem('fontsize', value);\n } else {\n document.documentElement.style.removeProperty('font-size');\n if (button) {\n button.setAttribute('mdw-inactive', '');\n }\n // element.removeAttribute('mdw-active');\n removeStorageItem('fontsize');\n }\n}\n\n/**\n * @param {Element} element\n * @return {void}\n */\nfunction setupRTLMode(element) {\n if (getStorageItem('rtlmode') === 'true') {\n setRTLMode(true, element);\n }\n element.addEventListener('click', () => {\n if (document.documentElement.getAttribute('dir') === 'rtl') {\n setRTLMode(false, element);\n } else {\n setRTLMode(true, element);\n }\n });\n}\n\n/**\n * @param {Element} element\n * @return {void}\n */\nfunction setupDarkMode(element) {\n if (getStorageItem('darkmode') === 'true') {\n setDarkMode(true, element);\n }\n element.addEventListener('click', () => {\n if (document.documentElement.getAttribute('mdw-theme-fill') === darkAttribute) {\n setDarkMode(false, element);\n } else {\n setDarkMode(true, element);\n }\n });\n}\n\n/**\n * @param {Element} element\n * @return {void}\n */\nfunction setupLargeFontMode(element) {\n const fontsize = getStorageItem('fontsize');\n setFontSize(fontsize, element);\n element.addEventListener('click', () => {\n if (document.documentElement.style.getPropertyValue('font-size')) {\n setFontSize(null, element);\n } else {\n setFontSize('125%', element);\n }\n });\n}\n\n/** @return {void} */\nexport function setupMenuOptions() {\n const buttons = document.getElementById('docs-menu-buttons').getElementsByClassName('mdw-button');\n const buttonRTLMode = buttons[0];\n const buttonDarkMode = buttons[1];\n const largeFontMode = buttons[2];\n setupRTLMode(buttonRTLMode);\n setupDarkMode(buttonDarkMode);\n setupLargeFontMode(largeFontMode);\n}\n","import { getChildElementByClass } from '../common/dom';\n\nclass Ripple {\n /**\n * @param {Element} element\n * @return {void}\n */\n static attach(element) {\n let ripple = getChildElementByClass(element, 'mdw-ripple');\n if (!ripple) {\n ripple = document.createElement('div');\n ripple.classList.add('mdw-ripple');\n if (element.firstChild) {\n element.insertBefore(ripple, element.firstChild);\n } else {\n element.appendChild(ripple);\n }\n }\n\n let rippleInner = getChildElementByClass(ripple, 'mdw-ripple__inner');\n if (!rippleInner) {\n rippleInner = document.createElement('div');\n rippleInner.classList.add('mdw-ripple__inner');\n ripple.appendChild(rippleInner);\n }\n element.setAttribute('mdw-ripple', '');\n ripple.addEventListener('click', Ripple.onClick);\n }\n\n /**\n * @param {PointerEvent|MouseEvent} event\n * @return {void}\n */\n static onClick(event) {\n /** @type {HTMLElement} */\n const el = event.currentTarget;\n const rippleInner = getChildElementByClass(el, 'mdw-ripple__inner');\n if (!rippleInner) {\n return;\n }\n if (!event.pointerType && !event.detail) {\n // Ripple from center\n rippleInner.style.removeProperty('left');\n rippleInner.style.removeProperty('top');\n return;\n }\n rippleInner.style.setProperty('left', `${event.offsetX}px`);\n rippleInner.style.setProperty('top', `${event.offsetY}px`);\n }\n\n static detach(element) {\n const ripple = getChildElementByClass(element, 'mdw-ripple');\n if (ripple) {\n element.removeChild(ripple);\n }\n element.removeAttribute('mdw-ripple');\n element.removeEventListener('click', Ripple.onClick);\n }\n}\n\nexport {\n Ripple,\n};\n","/**\n * @param {HTMLElement} element\n * @param {string=} linePrefix\n * @return {string}\n */\nfunction convertElementToCode(element, linePrefix = '') {\n const htmlType = element.tagName.toLowerCase();\n const attributes = [];\n for (let i = 0; i < element.attributes.length; i += 1) {\n const attribute = element.attributes.item(i);\n if (attribute.value.length) {\n attributes.push(`${attribute.name}=\"${attribute.value}\"`);\n } else {\n attributes.push(attribute.name);\n }\n }\n attributes.sort();\n const syntaxItems = [htmlType, attributes.join(' ')];\n const openingHTMLLine = `<${syntaxItems.filter(item => item).join(' ').trim()}>`;\n const closingHTMLLine = `</${htmlType}>`;\n const lines = [openingHTMLLine];\n const innerLines = [];\n let onlyText = true;\n for (let i = 0; i < element.childNodes.length; i += 1) {\n const child = element.childNodes.item(i);\n let lineText;\n if (child instanceof HTMLElement) {\n lineText = convertElementToCode(child, ` ${linePrefix}`);\n if (lineText.trim()) {\n onlyText = false;\n }\n } else if (child.nodeValue) {\n lineText = ` ${child.nodeValue}`;\n }\n if (lineText && lineText.trim()) {\n innerLines.push(lineText);\n }\n }\n if (onlyText) {\n return linePrefix + lines.join('') + innerLines.join('').trim() + closingHTMLLine;\n }\n innerLines\n .filter(line => line.trim())\n .forEach(line => lines.push(line));\n lines.push(linePrefix + closingHTMLLine);\n return linePrefix + lines.join('\\n');\n}\n\n/**\n * @param {Element|NodeListOf<Element>} elements\n * @param {string} event\n * @param {Function} listener\n * @return {void}\n */\nfunction attachEventListener(elements, event, listener) {\n let elementList;\n if (elements instanceof Element) {\n elementList = [elementList];\n } else {\n elementList = elements;\n }\n for (let i = 0; i < elementList.length; i += 1) {\n const el = elementList[i];\n el.addEventListener(event, listener);\n }\n}\n\n/**\n * @param {Element} node\n * @return {Node}\n */\nfunction getChildTextNode(node) {\n for (let i = 0; i < node.childNodes.length; i += 1) {\n const childNode = node.childNodes[i];\n if (childNode.nodeType === Node.TEXT_NODE) {\n return childNode;\n }\n }\n const textNode = document.createTextNode('');\n node.appendChild(textNode);\n return textNode;\n}\n\n/**\n * @param {Element} element\n * @param {string} tagname\n * @return {Element}\n */\nfunction changeElementTagName(element, tagname) {\n const newElement = document.createElement(tagname);\n for (let i = element.attributes.length - 1; i >= 0; i -= 1) {\n const attr = element.attributes.item(i);\n newElement.attributes.setNamedItem(attr.cloneNode());\n }\n while (element.firstChild) {\n newElement.appendChild(element.firstChild);\n }\n\n element.parentElement.replaceChild(newElement, element);\n return newElement;\n}\n\nexport {\n convertElementToCode,\n attachEventListener,\n getChildTextNode,\n changeElementTagName,\n};\n","import { Menu } from '../../../components/menu/index';\nimport { setupMenuOptions } from '../menuoptions';\nimport { convertElementToCode, attachEventListener, changeElementTagName } from '../sample-utils';\n\n/** @type {HTMLElement} */\nlet sampleComponent;\n\n/**\n * @param {MouseEvent} event\n * @return {void}\n */\nfunction onSampleButtonClick(event) {\n Menu.show(sampleComponent, event);\n}\n\n/** @return {void} */\nfunction updateSampleCode() {\n const jsRequired = document.querySelector('input[name=\"javascript\"][value=\"required\"]').checked;\n const jsOptional = document.querySelector('input[name=\"javascript\"][value=\"optional\"]').checked;\n const useJS = jsRequired || jsOptional;\n\n if (jsRequired) {\n document.querySelector('[name=\"vdirection\"][value=\"vcenter\"]').removeAttribute('disabled');\n document.querySelector('[name=\"hdirection\"][value=\"hcenter\"]').removeAttribute('disabled');\n } else {\n document.querySelector('[name=\"vdirection\"][value=\"vcenter\"]').setAttribute('disabled', '');\n document.querySelector('[name=\"hdirection\"][value=\"hcenter\"]').setAttribute('disabled', '');\n }\n\n // Strip JS related elements and attributes\n Menu.detach(sampleComponent);\n let button = document.querySelector('.component-sample .mdw-button');\n let closer = document.querySelector('.component-sample .mdw-menu__close');\n button.removeEventListener('click', onSampleButtonClick);\n const tabIndexElements = sampleComponent.querySelectorAll('[tabindex]');\n for (let i = 0; i < tabIndexElements.length; i += 1) {\n tabIndexElements.item(i).removeAttribute('tabindex');\n }\n\n if (closer) {\n if (jsRequired || (closer instanceof HTMLAnchorElement === false)) {\n closer.parentElement.removeChild(closer);\n closer = null;\n }\n }\n\n if (jsRequired) {\n sampleComponent.removeAttribute('id');\n button.removeAttribute('href');\n if (button instanceof HTMLAnchorElement) {\n button = changeElementTagName(button, 'button');\n }\n } else {\n sampleComponent.setAttribute('id', 'sample-menu');\n button.setAttribute('href', '#sample-menu');\n if (button instanceof HTMLButtonElement) {\n button = changeElementTagName(button, 'a');\n }\n if (!closer) {\n closer = document.createElement('a');\n closer.classList.add('mdw-menu__close');\n closer.setAttribute('href', '#');\n sampleComponent.insertBefore(closer, sampleComponent.firstElementChild);\n }\n }\n\n\n const htmlCodeElement = document.getElementsByClassName('component-html')[0];\n const sampleContainer = document.querySelector('.component-sample__container');\n const htmlCodeBlocks = [];\n let el = sampleContainer.firstElementChild;\n if (jsRequired) {\n el = el.firstElementChild;\n }\n while (el) {\n const htmlCode = convertElementToCode(el).trim();\n if (htmlCode) {\n htmlCodeBlocks.push(htmlCode);\n }\n el = el.nextElementSibling;\n }\n htmlCodeElement.textContent = htmlCodeBlocks.join('\\n');\n\n // Reattach JS if requested\n if (useJS) {\n Menu.attach(sampleComponent);\n button.addEventListener('click', onSampleButtonClick);\n }\n\n const jsCodeElement = document.getElementsByClassName('component-js')[0];\n jsCodeElement.textContent = [\n \"buttonElement.addEventListener('click', (event) => {\",\n ' mdw.Menu.show(menuElement, event);',\n '});',\n \"menuElement.addEventListener('mdw:itemactivated', (event) => {\",\n ' const menuItem = event.target;',\n ' handleMenuItem(menuItem);',\n ' mdw.Menu.hide(event.currentTarget)',\n '});',\n ].join('\\n');\n}\n\n/** @return {void} */\nfunction initializeSampleComponents() {\n const button = document.querySelector('.js .mdw-button');\n const menu = document.querySelector('.js .mdw-menu');\n button.addEventListener('click', (event) => {\n Menu.show(menu, event);\n });\n menu.addEventListener('mdw:itemactivated', (event) => {\n const menuItem = event.target;\n if (menuItem.hasAttribute('disabled')) {\n return;\n }\n Menu.hide(event.currentTarget);\n });\n}\n\n/**\n * @param {Event} event\n * @return {void}\n */\nfunction onOptionChange(event) {\n const { name, value, checked } = event.target;\n let mdwDirection = sampleComponent.getAttribute('mdw-direction') || '';\n let mdwPosition = sampleComponent.getAttribute('mdw-position') || '';\n\n switch (name) {\n case 'vposition':\n mdwPosition = mdwPosition\n .replace('bottom', '')\n .replace('top', '')\n .replace('vcenter', '')\n .trim();\n switch (value) {\n case 'auto':\n break;\n default:\n mdwPosition = `${value} ${mdwPosition}`.trim();\n break;\n }\n break;\n case 'hposition':\n mdwPosition = mdwPosition\n .replace('start', '')\n .replace('end', '')\n .replace('left', '')\n .replace('right', '')\n .replace('hcenter', '')\n .trim();\n switch (value) {\n case 'auto':\n break;\n default:\n mdwPosition = `${mdwPosition} ${value}`.trim();\n break;\n }\n break;\n case 'vdirection':\n mdwDirection = mdwDirection\n .replace('down', '')\n .replace('up', '')\n .replace('vcenter', '')\n .trim();\n switch (value) {\n case 'auto':\n break;\n default:\n mdwDirection = `${value} ${mdwDirection}`.trim();\n break;\n }\n break;\n case 'hdirection':\n mdwDirection = mdwDirection\n .replace('normal', '')\n .replace('reverse', '')\n .replace('ltr', '')\n .replace('rtl', '')\n .replace('hcenter', '')\n .trim();\n switch (value) {\n case 'auto':\n break;\n default:\n mdwDirection = `${mdwDirection} ${value}`.trim();\n break;\n }\n break;\n case 'width':\n switch (value) {\n case 'auto':\n sampleComponent.removeAttribute('mdw-width-units');\n break;\n default:\n sampleComponent.setAttribute('mdw-width-units', value);\n break;\n }\n break;\n default:\n }\n if (!mdwPosition) {\n sampleComponent.removeAttribute('mdw-position');\n } else if (sampleComponent.getAttribute('mdw-position') !== mdwPosition) {\n sampleComponent.setAttribute('mdw-position', mdwPosition);\n }\n if (!mdwDirection) {\n sampleComponent.removeAttribute('mdw-direction');\n } else if (sampleComponent.getAttribute('mdw-direction') !== mdwDirection) {\n sampleComponent.setAttribute('mdw-direction', mdwDirection);\n }\n updateSampleCode();\n}\n\n/** @return {void} */\nfunction setupComponentOptions() {\n sampleComponent = document.querySelector('.component-sample .mdw-menu');\n attachEventListener(\n document.querySelectorAll('input[name]'),\n 'change',\n onOptionChange\n );\n}\n\ninitializeSampleComponents();\nsetupComponentOptions();\nupdateSampleCode();\n\nsetupMenuOptions();\n\n","module.exports = __webpack_public_path__ + \"menu.html\";","import { Ripple } from '../ripple/index';\nimport { dispatchDomEvent, isRtl } from '../common/dom';\n\n// https://www.w3.org/TR/wai-aria-practices/#menu\n\nclass MenuItem {\n /**\n * @param {Element} element\n * @return {void}\n */\n static attach(element) {\n element.setAttribute('mdw-js', '');\n Ripple.attach(element);\n // If mouseover is used, an item can still lose focus via keyboard navigation.\n // An extra event listener would need to be created to catch blur but the cursor\n // would still remain over the element, thus needing another mousemove event.\n // Prioritization is given to less event listeners rather than operations per second.\n element.addEventListener('mousemove', MenuItem.onMouseMove);\n element.addEventListener('click', MenuItem.onClick);\n }\n\n /**\n * @param {MouseEvent|KeyboardEvent|PointerEvent} event\n * @return {void}\n */\n static onClick(event) {\n const el = event.currentTarget;\n dispatchDomEvent(el, 'mdw:itemactivated');\n }\n\n static onMouseMove(event) {\n const el = event.currentTarget;\n if (!el) {\n return;\n }\n const previousFocus = document.activeElement;\n if (previousFocus === el) {\n // Already focused\n return;\n }\n el.focus();\n if (document.activeElement !== el) {\n if (previousFocus && document.activeElement !== previousFocus) {\n previousFocus.focus();\n }\n }\n }\n\n /**\n * @param {Element} element\n * @return {void}\n */\n static detach(element) {\n element.removeEventListener('click', MenuItem.onClick);\n element.removeEventListener('mousemove', MenuItem.onMouseMove);\n element.removeAttribute('mdw-js');\n Ripple.detach(element);\n }\n}\n\nclass MenuStack {\n /**\n * @param {Element} element\n * @param {Element} previousFocus\n * @param {Object=} state\n * @param {Object=} previousState\n */\n constructor(element, previousFocus, state, previousState) {\n this.element = element;\n this.previousFocus = previousFocus;\n this.state = state;\n this.previousState = previousState;\n }\n}\n\n/** @type {MenuStack[]} */\nconst OPEN_MENUS = [];\nclass Menu {\n /**\n * @param {Element} menuElement\n * @return {void}\n */\n static attach(menuElement) {\n menuElement.setAttribute('mdw-js', '');\n let menuCloser = menuElement.getElementsByClassName('mdw-menu__close')[0];\n if (!menuCloser) {\n menuCloser = document.createElement('div');\n menuCloser.classList.add('mdw-menu__close');\n if (menuElement.firstChild) {\n menuElement.insertBefore(menuCloser, menuElement.firstChild);\n } else {\n menuElement.appendChild(menuCloser);\n }\n }\n menuCloser.addEventListener('click', Menu.onMenuCloserClick);\n menuElement.addEventListener('keydown', Menu.onKeyDown);\n }\n\n static onMenuCloserClick(event) {\n const closer = event.currentTarget;\n if (!closer) {\n return;\n }\n const menu = closer.parentElement;\n if (!menu) {\n return;\n }\n if (closer instanceof HTMLAnchorElement) {\n event.preventDefault();\n }\n Menu.hide(menu);\n }\n\n /**\n * @param {PopStateEvent} event\n * @return {void}\n */\n static onPopState(event) {\n if (!event.state) {\n return;\n }\n const lastOpenMenu = OPEN_MENUS[OPEN_MENUS.length - 1];\n if (!lastOpenMenu || !lastOpenMenu.previousState) {\n return;\n }\n if ((lastOpenMenu.previousState === event.state) || Object.keys(event.state)\n .every(key => event.state[key] === lastOpenMenu.previousState[key])) {\n Menu.hide(lastOpenMenu.element);\n }\n }\n\n static onKeyDown(event) {\n const menuElement = event.currentTarget;\n if (!menuElement || menuElement.hasAttribute('mdw-hide') || !menuElement.hasAttribute('mdw-show')) {\n return;\n }\n if (event.key === 'Tab') {\n this.previousFocus = null;\n Menu.hide(menuElement);\n return;\n }\n if (event.key === 'Escape' || event.key === 'Esc') {\n event.stopPropagation();\n event.preventDefault();\n Menu.hide(menuElement);\n return;\n }\n if (event.key === 'ArrowUp' || (event.key === 'Up')) {\n event.stopPropagation();\n event.preventDefault();\n Menu.selectNextMenuItem(menuElement, true);\n return;\n }\n if (event.key === 'ArrowDown' || (event.key === 'Down')) {\n event.stopPropagation();\n event.preventDefault();\n Menu.selectNextMenuItem(menuElement, false);\n }\n if (!document.activeElement) {\n return;\n }\n if (document.activeElement === menuElement) {\n return;\n }\n if (document.activeElement.hasAttribute('disabled')) {\n return;\n }\n if (event.key === 'Spacebar' || (event.key === ' ')) {\n event.stopPropagation();\n event.preventDefault();\n /**\n * if (document.activeElement.hasAttribute('mdw-checked')) {\n * document.activeElement.removeAttribute('mdw-checked');\n * } else {\n * document.activeElement.setAttribute('mdw-checked', '');\n * }\n */\n return;\n }\n if (event.key === 'Enter') {\n event.stopPropagation();\n event.preventDefault();\n document.activeElement.click();\n }\n }\n\n static detach(menuElement) {\n Menu.hide(menuElement);\n const menuCloser = menuElement.getElementsByClassName('mdw-menu__close')[0];\n if (menuCloser) {\n menuCloser.removeEventListener('click', Menu.onMenuCloserClick);\n }\n menuElement.addEventListener('keydown', Menu.onKeyDown);\n menuElement.removeAttribute('mdw-js');\n menuElement.removeAttribute('mdw-show');\n menuElement.removeAttribute('mdw-hide');\n const popupElement = menuElement.getElementsByClassName('mdw-menu__popup')[0];\n if (popupElement) {\n popupElement.style.removeProperty('top');\n popupElement.style.removeProperty('left');\n popupElement.style.removeProperty('right');\n popupElement.style.removeProperty('bottom');\n popupElement.style.removeProperty('margin');\n popupElement.style.removeProperty('transform-origin');\n popupElement.style.removeProperty('position');\n if (popupElement.hasAttribute('style') && !popupElement.getAttribute('style')) {\n popupElement.removeAttribute('style');\n }\n }\n const menuItems = menuElement.getElementsByClassName('mdw-menu__item');\n for (let i = 0; i < menuItems.length; i += 1) {\n MenuItem.detach(menuItems.item(i));\n }\n }\n\n static selectNextMenuItem(menu, backwards) {\n const menuItems = menu.getElementsByClassName('mdw-menu__item');\n let foundTarget = false;\n let candidate = null;\n let firstFocusableItem = null;\n let lastFocusableElement = null;\n const target = document.activeElement;\n\n // Hidden elements cannot be focused\n // Disabled elements cannot be focused on IE11\n // Skip elements that fail to receive focus\n for (let i = 0; i < menuItems.length; i += 1) {\n const el = menuItems.item(i);\n el.focus();\n const focusable = (document.activeElement === el);\n if (focusable) {\n if (!firstFocusableItem) {\n firstFocusableItem = el;\n }\n lastFocusableElement = el;\n }\n if (el === target) {\n foundTarget = true;\n if (backwards && candidate) {\n break;\n }\n } else if (backwards) {\n if (focusable) {\n candidate = el;\n }\n } else if (foundTarget) {\n if (focusable) {\n candidate = el;\n break;\n }\n }\n }\n if (!candidate) {\n if (backwards) {\n candidate = lastFocusableElement;\n } else {\n candidate = firstFocusableItem;\n }\n }\n if (candidate && document.activeElement !== candidate) {\n candidate.focus();\n }\n }\n\n /**\n * @param {Element} menuElement\n * @param {Element} popupElement\n * @param {MouseEvent=} event\n * @param {boolean=} [alignTarget=true]\n * @return {void}\n */\n static updateMenuPosition(menuElement, popupElement, event, alignTarget) {\n let top = 'auto';\n let left = 'auto';\n let transformOrigin = '';\n const useAlignTarget = (alignTarget !== false);\n const margin = useAlignTarget ? '0' : '';\n const mdwPosition = menuElement.getAttribute('mdw-position') || '';\n const mdwDirection = menuElement.getAttribute('mdw-direction') || '';\n let alignTop = mdwPosition.indexOf('top') !== -1;\n let alignBottom = mdwPosition.indexOf('bottom') !== -1;\n let alignVCenter = mdwPosition.indexOf('vcenter') !== -1;\n\n const alignStart = mdwPosition.indexOf('start') !== -1;\n const alignEnd = mdwPosition.indexOf('end') !== -1;\n let alignLeft = mdwPosition.indexOf('left') !== -1;\n let alignRight = mdwPosition.indexOf('right') !== -1;\n let alignHCenter = mdwPosition.indexOf('hcenter') !== -1;\n\n let openUp = mdwDirection.indexOf('up') !== -1;\n let openDown = mdwDirection.indexOf('down') !== -1;\n const openNormal = mdwDirection.indexOf('normal') !== -1;\n const openReverse = mdwDirection.indexOf('reverse') !== -1;\n let openVCenter = mdwDirection.indexOf('vcenter') !== -1;\n let openHCenter = mdwDirection.indexOf('hcenter') !== -1;\n let openLtr = mdwDirection.indexOf('ltr') !== -1;\n let openRtl = mdwDirection.indexOf('rtl') !== -1;\n\n const target = event.currentTarget || event.target;\n\n let isPageRTL = null;\n if (alignStart || alignEnd || openNormal || openReverse) {\n // Using page-direction based values\n isPageRTL = isRtl();\n if (alignStart || alignEnd) {\n if (alignStart) {\n if (isPageRTL) {\n alignRight = true;\n } else {\n alignLeft = true;\n }\n } else if (isPageRTL) {\n alignLeft = true;\n } else {\n alignRight = true;\n }\n }\n if (openNormal || openReverse) {\n if (openNormal) {\n if (isPageRTL) {\n openRtl = true;\n } else {\n openLtr = true;\n }\n } else if (isPageRTL) {\n openLtr = true;\n } else {\n openRtl = true;\n }\n }\n }\n const offsetTop = (useAlignTarget ? -event.offsetY : 0);\n const offsetBottom = (useAlignTarget ? target.clientHeight - event.offsetY : 0);\n const offsetLeft = (useAlignTarget ? -event.offsetX : 0);\n const offsetRight = (useAlignTarget ? target.clientWidth - event.offsetX : 0);\n let { pageX, pageY } = event;\n if (!pageX && !pageY) {\n const rect = target.getBoundingClientRect();\n pageX = rect.x;\n pageY = rect.y;\n }\n\n /* Automatic Positioning\n *\n * 9 Positions\n * 3 7 4\n * ┌─────────┐\n * │ │\n * 5 │ 9 │ 6\n * │ │\n * └─────────┘\n * 1 8 2\n *\n * 1: Bottom Left\n * 2: Bottom Right\n * 3: Top Left\n * 4: Top Right\n * 5: VCenter Left\n * 6: VCenter Right\n * 7: HCenter Top\n * 8: HCenter Bottom\n * 9: VCenter HCenter\n *\n * 9 Directions:\n * a - Down LTR\n * b - Down RTL\n * c - Up LTR\n * d - Up RTL\n * e - LTR\n * f - RTL\n * g - Down\n * h - Up\n * i - Center\n *\n *\n * 16 total combos\n * 1a 1b 1c 1d └↘ └↙ └↗ └↖\n * 2a 2b 2c 2d ┘↘ ┘↙ ┘↗ ┘↖\n * 3a 3b 3c 3d ┌↘ ┌↙ ┌↗ ┌↖\n * 4a 4b 4c 4d ┐↘ ┐↙ ┐↗ ┐↖\n *\n * Avoid using opposite angle\n *\n * 1a XX 1c 1d └↘ ██ └↗ └↖\n * XX 2b 2c 2d ██ ┘↙ ┘↗ ┘↖\n * 1a 3b 3c XX ┌↘ ┌↙ ┌↗ ██\n * 4a 4b XX 4d ┐↘ ┐↙ ██ ┐↖\n *\n *\n * Preference Order:\n * - Flow from corner 1a 2b 3c 4d └↘ ┘↙ ┌↗ ┐↖\n * - Open adjacent to target 4a 3b 2c 1d ┐↘ ┌↙ ┘↗ └↖\n * - Overlay target 3a 4b 1c 2d ┌↘ ┐↙ └↗ ┘↖\n * - Open from horizontal side 5e 6f │→ │←\n * - Open from center 9i █·\n */\n\n popupElement.style.setProperty('max-height', 'none');\n const popupElementHeight = popupElement.clientHeight;\n const canOpenDownwardsFromBottom = !alignTop && !alignVCenter\n && !openUp && !openVCenter\n && popupElementHeight + (pageY + offsetBottom) <= window.innerHeight;\n const canOpenDownwardsFromTop = !alignBottom && !alignVCenter\n && !openUp && !openVCenter\n && popupElementHeight + (pageY + offsetTop) <= window.innerHeight;\n const canOpenUpwardsFromTop = !alignBottom && !alignVCenter && !openDown\n && !openVCenter\n && pageY + offsetTop >= popupElementHeight;\n const canOpenUpwardsFromBottom = !alignTop && !alignVCenter && !openDown\n && !openVCenter\n && pageY + offsetBottom >= popupElementHeight;\n const canOpenRightwardsFromLeft = !alignRight && !alignHCenter\n && !openRtl && !openHCenter\n && popupElement.clientWidth + (pageX + offsetLeft) <= window.innerWidth;\n const canOpenRightwardsFromRight = !alignLeft && !alignHCenter\n && !openRtl && !openHCenter\n && popupElement.clientWidth + (pageX + offsetRight) <= window.innerWidth;\n const canOpenLeftwardsFromRight = !alignLeft && !alignHCenter\n && !openLtr && !openHCenter\n && pageX + offsetRight >= popupElement.clientWidth;\n const canOpenLeftwardsFromLeft = !alignRight && !alignHCenter\n && !openLtr && !openHCenter\n && pageX + offsetLeft >= popupElement.clientWidth;\n const canOpenFromCenter = !alignLeft && !alignRight && !alignTop && !alignBottom\n && !openUp && !openDown\n && ((pageX + offsetLeft) / 2) >= (popupElement.clientWidth / 2)\n && (popupElement.clientWidth / 2) + ((pageX + offsetLeft) / 2) <= window.innerWidth;\n popupElement.style.removeProperty('max-height');\n const candidates = [\n canOpenDownwardsFromBottom && canOpenRightwardsFromLeft, // 1a └↘\n canOpenDownwardsFromBottom && canOpenLeftwardsFromRight, // 2b ┘↙\n canOpenUpwardsFromTop && canOpenRightwardsFromLeft, // 3c ┌↗\n canOpenUpwardsFromTop && canOpenLeftwardsFromLeft, // 4d ┐↖\n canOpenDownwardsFromTop && canOpenRightwardsFromRight, // 4a ┐↘\n canOpenDownwardsFromTop && canOpenLeftwardsFromLeft, // 3b ┌↙\n canOpenUpwardsFromBottom && canOpenRightwardsFromRight, // 2c ┘↗\n canOpenUpwardsFromBottom && canOpenLeftwardsFromLeft, // 1d └↖\n canOpenDownwardsFromTop && canOpenRightwardsFromLeft, // 3a ┌↘\n canOpenDownwardsFromTop && canOpenLeftwardsFromRight, // 4b ┐↙\n canOpenUpwardsFromBottom && canOpenRightwardsFromLeft, // 1c └↗\n canOpenUpwardsFromBottom && canOpenRightwardsFromRight, // 2d ┘↖\n canOpenRightwardsFromLeft, // 5e │→\n canOpenLeftwardsFromRight, // 6f │←\n canOpenFromCenter, // 9i █·\n ].map((value, index) => {\n if (value) {\n return index + 1;\n }\n return 0;\n }).filter(value => value !== 0);\n if (candidates.length) {\n let candidateNumber;\n if (isPageRTL === null) {\n isPageRTL = isRtl();\n }\n if (isPageRTL) {\n candidateNumber = [2, 1, 4, 3, 6, 5, 8, 7, 10, 9, 12, 11, 14, 13, 15]\n .filter(number => candidates.indexOf(number) !== -1)[0];\n } else {\n candidateNumber = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]\n .filter(number => candidates.indexOf(number) !== -1)[0];\n }\n if (candidateNumber == null) {\n candidateNumber = isPageRTL ? 2 : 1;\n }\n switch (candidateNumber) {\n // Position\n default:\n case 1:\n case 8:\n case 11:\n alignBottom = true; alignLeft = true;\n break;\n case 2:\n case 7:\n case 12:\n alignBottom = true; alignRight = true;\n break;\n case 3:\n case 6:\n case 9:\n alignTop = true; alignLeft = true;\n break;\n case 4:\n case 5:\n case 10:\n alignTop = true; alignRight = true;\n break;\n case 13:\n alignVCenter = true; alignLeft = true;\n break;\n case 14:\n alignVCenter = true; alignRight = true;\n break;\n case 15:\n alignVCenter = true; alignHCenter = true;\n }\n switch (candidateNumber) {\n // Direction\n default:\n case 1:\n case 5:\n case 9:\n openDown = true; openLtr = true;\n break;\n case 2:\n case 6:\n case 10:\n openDown = true; openRtl = true;\n break;\n case 3:\n case 7:\n case 11:\n openUp = true; openLtr = true;\n break;\n case 4:\n case 8:\n case 12:\n openUp = true; openRtl = true;\n break;\n case 13:\n openLtr = true; openVCenter = true;\n break;\n case 14:\n openRtl = true; openVCenter = true;\n break;\n case 15:\n openHCenter = true; openVCenter = true;\n break;\n }\n }\n\n if (openLtr) {\n if (alignRight) {\n left = `${pageX + offsetRight}px`;\n } else if (alignHCenter) {\n left = `${pageX + ((offsetLeft + offsetRight) / 2)}px`;\n } else {\n left = `${pageX + offsetLeft}px`;\n }\n transformOrigin = 'left';\n } else if (openHCenter) {\n if (alignLeft) {\n left = `${(pageX + offsetLeft) - (popupElement.clientWidth / 2)}px`;\n } else if (alignRight) {\n left = `${(pageX + offsetRight) - (popupElement.clientWidth / 2)}px`;\n } else {\n left = `${(pageX + ((offsetLeft + offsetRight) / 2)) - (popupElement.clientWidth / 2)}px`;\n }\n transformOrigin = 'center';\n } else {\n if (alignLeft) {\n left = `${(pageX + offsetLeft) - popupElement.clientWidth}px`;\n } else if (alignHCenter) {\n left = `${(pageX + ((offsetLeft + offsetRight) / 2)) - popupElement.clientWidth}px`;\n } else {\n left = `${(pageX + offsetRight) - popupElement.clientWidth}px`;\n }\n transformOrigin = 'right';\n }\n\n if (openUp) {\n if (alignBottom) {\n top = `${(pageY + offsetBottom) - popupElement.clientHeight}px`;\n } else if (alignVCenter) {\n top = `${(pageY + ((offsetTop + offsetBottom) / 2)) - popupElement.clientHeight}px`;\n } else {\n top = `${(pageY + offsetTop) - popupElement.clientHeight}px`;\n }\n transformOrigin += ' bottom';\n } else if (openVCenter) {\n if (alignBottom) {\n top = `${(pageY + offsetBottom) - (popupElement.clientHeight / 2)}px`;\n } else if (alignTop) {\n top = `${(pageY + offsetTop) - (popupElement.clientHeight / 2)}px`;\n } else {\n top = `${(pageY + ((offsetTop + offsetBottom) / 2)) - (popupElement.clientHeight / 2)}px`;\n }\n transformOrigin += ' center';\n } else {\n if (alignTop) {\n top = `${pageY + offsetTop}px`;\n } else if (alignVCenter) {\n top = `${pageY + ((offsetTop + offsetBottom) / 2)}px`;\n } else {\n top = `${pageY + offsetBottom}px`;\n }\n transformOrigin += ' top';\n }\n\n popupElement.style.setProperty('top', top);\n popupElement.style.setProperty('left', left);\n popupElement.style.setProperty('right', 'auto');\n popupElement.style.setProperty('bottom', 'auto');\n popupElement.style.setProperty('margin', margin);\n popupElement.style.setProperty('transform-origin', transformOrigin);\n popupElement.style.setProperty('position', 'fixed');\n }\n\n /**\n * @param {Element} menuElement\n * @return {void}\n */\n static refreshMenuItems(menuElement) {\n const menuItems = menuElement.getElementsByClassName('mdw-menu__item');\n for (let i = 0; i < menuItems.length; i += 1) {\n const menuItem = menuItems.item(i);\n menuItem.setAttribute('tabindex', '-1');\n MenuItem.attach(menuItem);\n }\n const popupElement = menuElement.getElementsByClassName('mdw-menu__popup')[0];\n popupElement.setAttribute('tabindex', '-1');\n }\n\n /**\n * @param {Element} menuElement\n * @param {MouseEvent=} event\n * @param {boolean=} [alignTarget=true]\n * @return {boolean} handled\n */\n static show(menuElement, event, alignTarget) {\n if (event && event.currentTarget instanceof HTMLAnchorElement) {\n // Prevent anchor link\n event.preventDefault();\n }\n const popupElement = menuElement.getElementsByClassName('mdw-menu__popup')[0];\n let changed = false;\n if (event) {\n Menu.updateMenuPosition(menuElement, popupElement, event, alignTarget);\n } else {\n popupElement.style.removeProperty('top');\n popupElement.style.removeProperty('left');\n popupElement.style.removeProperty('right');\n popupElement.style.removeProperty('bottom');\n popupElement.style.removeProperty('margin');\n popupElement.style.removeProperty('transform-origin');\n popupElement.style.removeProperty('position');\n if (popupElement.hasAttribute('style') && !popupElement.getAttribute('style')) {\n popupElement.removeAttribute('style');\n }\n }\n if (menuElement.hasAttribute('mdw-hide')) {\n menuElement.removeAttribute('mdw-hide');\n changed = true;\n }\n if (!menuElement.hasAttribute('mdw-show')) {\n menuElement.setAttribute('mdw-show', '');\n changed = true;\n }\n if (changed) {\n Menu.attach(menuElement);\n const previousFocus = document.activeElement;\n const newState = { hash: Math.random().toString(36).substr(2, 16) };\n let previousState = null;\n if (window.history && window.history.pushState) {\n if (!window.history.state) {\n // Create new previous state\n window.history.replaceState({\n hash: Math.random().toString(36).substr(2, 16),\n }, document.title);\n }\n previousState = window.history.state;\n window.history.pushState(newState, document.title);\n window.addEventListener('popstate', Menu.onPopState);\n }\n const menuStack = new MenuStack(menuElement, previousFocus, newState, previousState);\n OPEN_MENUS.push(menuStack);\n Menu.refreshMenuItems(menuElement);\n if (event && !event.pointerType && !event.detail) {\n // Triggered with keyboard event\n Menu.selectNextMenuItem(menuElement);\n } else {\n popupElement.focus();\n }\n }\n return changed;\n }\n\n /**\n * @param {Element} menuElement\n * @return {boolean} handled\n */\n static hide(menuElement) {\n if (!menuElement.hasAttribute('mdw-hide')) {\n menuElement.setAttribute('mdw-hide', '');\n let stackIndex = -1;\n OPEN_MENUS.some((stack, index) => {\n if (stack.element === menuElement) {\n stackIndex = index;\n return true;\n }\n return false;\n });\n if (stackIndex !== -1) {\n const menuStack = OPEN_MENUS[stackIndex];\n if (menuStack.previousFocus) {\n menuStack.previousFocus.focus();\n }\n OPEN_MENUS.splice(stackIndex, 1);\n if (menuStack.state && window.history && window.history.state) {\n // IE11 returns a cloned state object, not the original\n if (menuStack.state.hash === window.history.state.hash) {\n window.history.back();\n }\n }\n }\n if (!OPEN_MENUS.length) {\n window.removeEventListener('popstate', Menu.onPopState);\n }\n dispatchDomEvent(menuElement, 'mdw:dismiss');\n return true;\n }\n return false;\n }\n}\n\nexport {\n Menu,\n MenuItem,\n};\n"],"sourceRoot":""}
|