ng2-material-dropdown
Advanced tools
@@ -84,5 +84,7 @@ (function webpackUniversalModuleDefinition(root, factory) { | ||
| var ng2_dropdown_menu_1 = __webpack_require__(9); | ||
| var ng2_dropdown_state_1 = __webpack_require__(11); | ||
| var styles = [__webpack_require__(19).toString()], template = __webpack_require__(21); | ||
| var Ng2Dropdown = (function () { | ||
| function Ng2Dropdown() { | ||
| this.onItemClicked = new core_1.EventEmitter(); | ||
| } | ||
@@ -94,2 +96,6 @@ Ng2Dropdown.prototype.toggleMenu = function () { | ||
| }; | ||
| Ng2Dropdown.prototype.ngOnInit = function () { | ||
| var _this = this; | ||
| ng2_dropdown_state_1.dropdownState.onItemClicked.subscribe(function (item) { return _this.onItemClicked.emit(item); }); | ||
| }; | ||
| Ng2Dropdown.prototype.ngAfterContentInit = function () { | ||
@@ -109,2 +115,6 @@ var _this = this; | ||
| ], Ng2Dropdown.prototype, "menu", void 0); | ||
| __decorate([ | ||
| core_1.Output(), | ||
| __metadata('design:type', core_1.EventEmitter) | ||
| ], Ng2Dropdown.prototype, "onItemClicked", void 0); | ||
| Ng2Dropdown = __decorate([ | ||
@@ -111,0 +121,0 @@ core_1.Component({ |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"ng2-dropdown.bundle.js","sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap 9c4f6ac8eb602af064b5","webpack:///src/index.ts","webpack:///src/components/dropdown/ng2-dropdown.ts","webpack:///external \"@angular/core\"","webpack:///src/components/button/ng2-dropdown-button.ts","webpack:///./src/components/button/style.scss?7b21","webpack:///./src/components/button/style.scss","webpack:///./~/css-loader/lib/css-base.js","webpack:///./~/style-loader/addStyles.js","webpack:///./src/components/button/template.html","webpack:///src/components/menu/ng2-dropdown-menu.ts","webpack:///src/components/menu-item/ng2-menu-item.ts","webpack:///src/components/dropdown/ng2-dropdown-state.ts","webpack:///./src/components/menu-item/style.scss?a21b","webpack:///./src/components/menu-item/style.scss","webpack:///./src/components/menu-item/template.html","webpack:///src/components/menu/animations.ts","webpack:///./src/components/menu/style.scss?7d9d","webpack:///./src/components/menu/style.scss","webpack:///./src/components/menu/template.html","webpack:///./src/components/dropdown/style.scss?9da9","webpack:///./src/components/dropdown/style.scss","webpack:///./src/components/dropdown/template.html"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"@angular/core\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"@angular/core\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ng2-dropdown\"] = factory(require(\"@angular/core\"));\n\telse\n\t\troot[\"ng2-dropdown\"] = factory(root[\"@angular/core\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_2__) {\nreturn \n\n\n/** WEBPACK FOOTER **\n ** webpack/universalModuleDefinition\n **/"," \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\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\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.loaded = 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// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap 9c4f6ac8eb602af064b5\n **/","export * from './components/dropdown/ng2-dropdown';\nexport * from './components/menu/ng2-dropdown-menu';\nexport * from './components/button/ng2-dropdown-button';\nexport * from './components/menu-item/ng2-menu-item';\n\n\n\n/** WEBPACK FOOTER **\n ** src/index.ts\n **/","import {\n Component,\n ContentChild\n} from '@angular/core';\n\nimport { Ng2DropdownButton } from '../button/ng2-dropdown-button';\nimport { Ng2DropdownMenu } from '../menu/ng2-dropdown-menu';\nimport { Ng2DropdownComponent } from './ng2-dropdown.d';\n\nconst styles = [require('./style.scss').toString()],\n template = require('./template.html');\n\n/**\n * A component for entering a list of terms to be used with ngModel.\n */\n@Component({\n moduleId: module.id,\n selector: 'ng2-dropdown',\n styles,\n template\n})\nexport class Ng2Dropdown implements Ng2DropdownComponent {\n @ContentChild(Ng2DropdownButton) public button: Ng2DropdownButton;\n @ContentChild(Ng2DropdownMenu) public menu: Ng2DropdownMenu;\n\n /**\n * @name toggleMenu\n * @desc toggles menu visibility\n */\n public toggleMenu(): void {\n this.menu.state.isVisible ? this.menu.hide() : this.menu.show();\n\n // get button's position\n const position = this.button.getPosition();\n\n // update menu position based on its button's\n this.menu.updatePosition(position);\n }\n\n ngAfterContentInit() {\n this.button.onMenuToggled.subscribe(() => {\n this.toggleMenu();\n });\n }\n}\n\n\n\n/** WEBPACK FOOTER **\n ** src/components/dropdown/ng2-dropdown.ts\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"@angular/core\"\n ** module id = 2\n ** module chunks = 0 1\n **/","import {\n Component,\n Output,\n EventEmitter,\n ElementRef\n} from '@angular/core';\n\nimport { Ng2DropdownButtonComponent } from './ng2-dropdown-button.d';\n\n@Component({\n moduleId: module.id,\n selector: 'ng2-dropdown-button',\n styles: [ require('./style.scss').toString() ],\n template: require('./template.html')\n})\nexport class Ng2DropdownButton implements Ng2DropdownButtonComponent {\n @Output() public onMenuToggled = new EventEmitter();\n\n constructor(private element: ElementRef) {}\n\n /**\n * @name toggleMenu\n * @desc emits event to toggle menu\n */\n public toggleMenu(): void {\n this.onMenuToggled.emit(true);\n }\n\n /**\n * @name getPosition\n * @desc returns position of the button\n * @returns {ClientRect}\n */\n public getPosition(): ClientRect {\n const el = this.element.nativeElement;\n return el.getBoundingClientRect();\n }\n}\n\n\n\n/** WEBPACK FOOTER **\n ** src/components/button/ng2-dropdown-button.ts\n **/","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!./../../../node_modules/css-loader/index.js!./../../../node_modules/postcss-loader/index.js!./../../../node_modules/sass-loader/index.js!./style.scss\");\nif(typeof content === 'string') content = [[module.id, content, '']];\n// add the styles to the DOM\nvar update = require(\"!./../../../node_modules/style-loader/addStyles.js\")(content, {});\nif(content.locals) module.exports = content.locals;\n// Hot Module Replacement\nif(module.hot) {\n\t// When the styles change, update the <style> tags\n\tif(!content.locals) {\n\t\tmodule.hot.accept(\"!!./../../../node_modules/css-loader/index.js!./../../../node_modules/postcss-loader/index.js!./../../../node_modules/sass-loader/index.js!./style.scss\", function() {\n\t\t\tvar newContent = require(\"!!./../../../node_modules/css-loader/index.js!./../../../node_modules/postcss-loader/index.js!./../../../node_modules/sass-loader/index.js!./style.scss\");\n\t\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\t\t\tupdate(newContent);\n\t\t});\n\t}\n\t// When the module is disposed, remove the <style> tags\n\tmodule.hot.dispose(function() { update(); });\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/button/style.scss\n ** module id = 4\n ** module chunks = 0\n **/","exports = module.exports = require(\"./../../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".ng2-dropdown-button {\\n font-family: \\\"Helvetica Neue\\\", Helvetica, Arial;\\n background: #fff;\\n padding: 0.3rem 0.5rem;\\n font-size: 14px;\\n letter-spacing: 0.08rem;\\n color: #616161;\\n outline: 0;\\n cursor: pointer;\\n font-weight: 400;\\n border: none;\\n border-bottom: 1px solid #efefef; }\\n\\n.ng2-dropdown-button:hover {\\n color: #222; }\\n\\n.ng2-dropdown-button:active {\\n color: #222;\\n border-bottom: 2px solid #2196F3; }\\n\", \"\"]);\n\n// exports\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/css-loader!./~/postcss-loader!./~/sass-loader!./src/components/button/style.scss\n ** module id = 5\n ** module chunks = 0\n **/","/*\r\n\tMIT License http://www.opensource.org/licenses/mit-license.php\r\n\tAuthor Tobias Koppers @sokra\r\n*/\r\n// css base code, injected by the css-loader\r\nmodule.exports = function() {\r\n\tvar list = [];\r\n\r\n\t// return the list of modules as css string\r\n\tlist.toString = function toString() {\r\n\t\tvar result = [];\r\n\t\tfor(var i = 0; i < this.length; i++) {\r\n\t\t\tvar item = this[i];\r\n\t\t\tif(item[2]) {\r\n\t\t\t\tresult.push(\"@media \" + item[2] + \"{\" + item[1] + \"}\");\r\n\t\t\t} else {\r\n\t\t\t\tresult.push(item[1]);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn result.join(\"\");\r\n\t};\r\n\r\n\t// import a list of modules into the list\r\n\tlist.i = function(modules, mediaQuery) {\r\n\t\tif(typeof modules === \"string\")\r\n\t\t\tmodules = [[null, modules, \"\"]];\r\n\t\tvar alreadyImportedModules = {};\r\n\t\tfor(var i = 0; i < this.length; i++) {\r\n\t\t\tvar id = this[i][0];\r\n\t\t\tif(typeof id === \"number\")\r\n\t\t\t\talreadyImportedModules[id] = true;\r\n\t\t}\r\n\t\tfor(i = 0; i < modules.length; i++) {\r\n\t\t\tvar item = modules[i];\r\n\t\t\t// skip already imported module\r\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\r\n\t\t\t// when a module is imported multiple times with different media queries.\r\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\r\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\r\n\t\t\t\tif(mediaQuery && !item[2]) {\r\n\t\t\t\t\titem[2] = mediaQuery;\r\n\t\t\t\t} else if(mediaQuery) {\r\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\r\n\t\t\t\t}\r\n\t\t\t\tlist.push(item);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\treturn list;\r\n};\r\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/css-loader/lib/css-base.js\n ** module id = 6\n ** module chunks = 0\n **/","/*\r\n\tMIT License http://www.opensource.org/licenses/mit-license.php\r\n\tAuthor Tobias Koppers @sokra\r\n*/\r\nvar stylesInDom = {},\r\n\tmemoize = function(fn) {\r\n\t\tvar memo;\r\n\t\treturn function () {\r\n\t\t\tif (typeof memo === \"undefined\") memo = fn.apply(this, arguments);\r\n\t\t\treturn memo;\r\n\t\t};\r\n\t},\r\n\tisOldIE = memoize(function() {\r\n\t\treturn /msie [6-9]\\b/.test(window.navigator.userAgent.toLowerCase());\r\n\t}),\r\n\tgetHeadElement = memoize(function () {\r\n\t\treturn document.head || document.getElementsByTagName(\"head\")[0];\r\n\t}),\r\n\tsingletonElement = null,\r\n\tsingletonCounter = 0,\r\n\tstyleElementsInsertedAtTop = [];\r\n\r\nmodule.exports = function(list, options) {\r\n\tif(typeof DEBUG !== \"undefined\" && DEBUG) {\r\n\t\tif(typeof document !== \"object\") throw new Error(\"The style-loader cannot be used in a non-browser environment\");\r\n\t}\r\n\r\n\toptions = options || {};\r\n\t// Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\r\n\t// tags it will allow on a page\r\n\tif (typeof options.singleton === \"undefined\") options.singleton = isOldIE();\r\n\r\n\t// By default, add <style> tags to the bottom of <head>.\r\n\tif (typeof options.insertAt === \"undefined\") options.insertAt = \"bottom\";\r\n\r\n\tvar styles = listToStyles(list);\r\n\taddStylesToDom(styles, options);\r\n\r\n\treturn function update(newList) {\r\n\t\tvar mayRemove = [];\r\n\t\tfor(var i = 0; i < styles.length; i++) {\r\n\t\t\tvar item = styles[i];\r\n\t\t\tvar domStyle = stylesInDom[item.id];\r\n\t\t\tdomStyle.refs--;\r\n\t\t\tmayRemove.push(domStyle);\r\n\t\t}\r\n\t\tif(newList) {\r\n\t\t\tvar newStyles = listToStyles(newList);\r\n\t\t\taddStylesToDom(newStyles, options);\r\n\t\t}\r\n\t\tfor(var i = 0; i < mayRemove.length; i++) {\r\n\t\t\tvar domStyle = mayRemove[i];\r\n\t\t\tif(domStyle.refs === 0) {\r\n\t\t\t\tfor(var j = 0; j < domStyle.parts.length; j++)\r\n\t\t\t\t\tdomStyle.parts[j]();\r\n\t\t\t\tdelete stylesInDom[domStyle.id];\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n}\r\n\r\nfunction addStylesToDom(styles, options) {\r\n\tfor(var i = 0; i < styles.length; i++) {\r\n\t\tvar item = styles[i];\r\n\t\tvar domStyle = stylesInDom[item.id];\r\n\t\tif(domStyle) {\r\n\t\t\tdomStyle.refs++;\r\n\t\t\tfor(var j = 0; j < domStyle.parts.length; j++) {\r\n\t\t\t\tdomStyle.parts[j](item.parts[j]);\r\n\t\t\t}\r\n\t\t\tfor(; j < item.parts.length; j++) {\r\n\t\t\t\tdomStyle.parts.push(addStyle(item.parts[j], options));\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tvar parts = [];\r\n\t\t\tfor(var j = 0; j < item.parts.length; j++) {\r\n\t\t\t\tparts.push(addStyle(item.parts[j], options));\r\n\t\t\t}\r\n\t\t\tstylesInDom[item.id] = {id: item.id, refs: 1, parts: parts};\r\n\t\t}\r\n\t}\r\n}\r\n\r\nfunction listToStyles(list) {\r\n\tvar styles = [];\r\n\tvar newStyles = {};\r\n\tfor(var i = 0; i < list.length; i++) {\r\n\t\tvar item = list[i];\r\n\t\tvar id = item[0];\r\n\t\tvar css = item[1];\r\n\t\tvar media = item[2];\r\n\t\tvar sourceMap = item[3];\r\n\t\tvar part = {css: css, media: media, sourceMap: sourceMap};\r\n\t\tif(!newStyles[id])\r\n\t\t\tstyles.push(newStyles[id] = {id: id, parts: [part]});\r\n\t\telse\r\n\t\t\tnewStyles[id].parts.push(part);\r\n\t}\r\n\treturn styles;\r\n}\r\n\r\nfunction insertStyleElement(options, styleElement) {\r\n\tvar head = getHeadElement();\r\n\tvar lastStyleElementInsertedAtTop = styleElementsInsertedAtTop[styleElementsInsertedAtTop.length - 1];\r\n\tif (options.insertAt === \"top\") {\r\n\t\tif(!lastStyleElementInsertedAtTop) {\r\n\t\t\thead.insertBefore(styleElement, head.firstChild);\r\n\t\t} else if(lastStyleElementInsertedAtTop.nextSibling) {\r\n\t\t\thead.insertBefore(styleElement, lastStyleElementInsertedAtTop.nextSibling);\r\n\t\t} else {\r\n\t\t\thead.appendChild(styleElement);\r\n\t\t}\r\n\t\tstyleElementsInsertedAtTop.push(styleElement);\r\n\t} else if (options.insertAt === \"bottom\") {\r\n\t\thead.appendChild(styleElement);\r\n\t} else {\r\n\t\tthrow new Error(\"Invalid value for parameter 'insertAt'. Must be 'top' or 'bottom'.\");\r\n\t}\r\n}\r\n\r\nfunction removeStyleElement(styleElement) {\r\n\tstyleElement.parentNode.removeChild(styleElement);\r\n\tvar idx = styleElementsInsertedAtTop.indexOf(styleElement);\r\n\tif(idx >= 0) {\r\n\t\tstyleElementsInsertedAtTop.splice(idx, 1);\r\n\t}\r\n}\r\n\r\nfunction createStyleElement(options) {\r\n\tvar styleElement = document.createElement(\"style\");\r\n\tstyleElement.type = \"text/css\";\r\n\tinsertStyleElement(options, styleElement);\r\n\treturn styleElement;\r\n}\r\n\r\nfunction createLinkElement(options) {\r\n\tvar linkElement = document.createElement(\"link\");\r\n\tlinkElement.rel = \"stylesheet\";\r\n\tinsertStyleElement(options, linkElement);\r\n\treturn linkElement;\r\n}\r\n\r\nfunction addStyle(obj, options) {\r\n\tvar styleElement, update, remove;\r\n\r\n\tif (options.singleton) {\r\n\t\tvar styleIndex = singletonCounter++;\r\n\t\tstyleElement = singletonElement || (singletonElement = createStyleElement(options));\r\n\t\tupdate = applyToSingletonTag.bind(null, styleElement, styleIndex, false);\r\n\t\tremove = applyToSingletonTag.bind(null, styleElement, styleIndex, true);\r\n\t} else if(obj.sourceMap &&\r\n\t\ttypeof URL === \"function\" &&\r\n\t\ttypeof URL.createObjectURL === \"function\" &&\r\n\t\ttypeof URL.revokeObjectURL === \"function\" &&\r\n\t\ttypeof Blob === \"function\" &&\r\n\t\ttypeof btoa === \"function\") {\r\n\t\tstyleElement = createLinkElement(options);\r\n\t\tupdate = updateLink.bind(null, styleElement);\r\n\t\tremove = function() {\r\n\t\t\tremoveStyleElement(styleElement);\r\n\t\t\tif(styleElement.href)\r\n\t\t\t\tURL.revokeObjectURL(styleElement.href);\r\n\t\t};\r\n\t} else {\r\n\t\tstyleElement = createStyleElement(options);\r\n\t\tupdate = applyToTag.bind(null, styleElement);\r\n\t\tremove = function() {\r\n\t\t\tremoveStyleElement(styleElement);\r\n\t\t};\r\n\t}\r\n\r\n\tupdate(obj);\r\n\r\n\treturn function updateStyle(newObj) {\r\n\t\tif(newObj) {\r\n\t\t\tif(newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap)\r\n\t\t\t\treturn;\r\n\t\t\tupdate(obj = newObj);\r\n\t\t} else {\r\n\t\t\tremove();\r\n\t\t}\r\n\t};\r\n}\r\n\r\nvar replaceText = (function () {\r\n\tvar textStore = [];\r\n\r\n\treturn function (index, replacement) {\r\n\t\ttextStore[index] = replacement;\r\n\t\treturn textStore.filter(Boolean).join('\\n');\r\n\t};\r\n})();\r\n\r\nfunction applyToSingletonTag(styleElement, index, remove, obj) {\r\n\tvar css = remove ? \"\" : obj.css;\r\n\r\n\tif (styleElement.styleSheet) {\r\n\t\tstyleElement.styleSheet.cssText = replaceText(index, css);\r\n\t} else {\r\n\t\tvar cssNode = document.createTextNode(css);\r\n\t\tvar childNodes = styleElement.childNodes;\r\n\t\tif (childNodes[index]) styleElement.removeChild(childNodes[index]);\r\n\t\tif (childNodes.length) {\r\n\t\t\tstyleElement.insertBefore(cssNode, childNodes[index]);\r\n\t\t} else {\r\n\t\t\tstyleElement.appendChild(cssNode);\r\n\t\t}\r\n\t}\r\n}\r\n\r\nfunction applyToTag(styleElement, obj) {\r\n\tvar css = obj.css;\r\n\tvar media = obj.media;\r\n\r\n\tif(media) {\r\n\t\tstyleElement.setAttribute(\"media\", media)\r\n\t}\r\n\r\n\tif(styleElement.styleSheet) {\r\n\t\tstyleElement.styleSheet.cssText = css;\r\n\t} else {\r\n\t\twhile(styleElement.firstChild) {\r\n\t\t\tstyleElement.removeChild(styleElement.firstChild);\r\n\t\t}\r\n\t\tstyleElement.appendChild(document.createTextNode(css));\r\n\t}\r\n}\r\n\r\nfunction updateLink(linkElement, obj) {\r\n\tvar css = obj.css;\r\n\tvar sourceMap = obj.sourceMap;\r\n\r\n\tif(sourceMap) {\r\n\t\t// http://stackoverflow.com/a/26603875\r\n\t\tcss += \"\\n/*# sourceMappingURL=data:application/json;base64,\" + btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))) + \" */\";\r\n\t}\r\n\r\n\tvar blob = new Blob([css], { type: \"text/css\" });\r\n\r\n\tvar oldSrc = linkElement.href;\r\n\r\n\tlinkElement.href = URL.createObjectURL(blob);\r\n\r\n\tif(oldSrc)\r\n\t\tURL.revokeObjectURL(oldSrc);\r\n}\r\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/style-loader/addStyles.js\n ** module id = 7\n ** module chunks = 0\n **/","module.exports = \"<button class='ng2-dropdown-button' (click)=\\\"toggleMenu()\\\" tabindex=\\\"0\\\">\\n <ng-content></ng-content>\\n</button>\\n\";\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/button/template.html\n ** module id = 8\n ** module chunks = 0\n **/","import {\n Component,\n ElementRef,\n Renderer,\n ContentChildren,\n QueryList\n} from '@angular/core';\n\nimport { Ng2MenuItem } from '../menu-item/ng2-menu-item';\nimport { Ng2DropdownMenuComponent } from './ng2-dropdown-menu.d';\n\nimport { dropdownState } from '../dropdown/ng2-dropdown-state';\nimport { animations } from './animations';\n\n\n// ACTIONS executed on keypress\nconst ACTIONS = {\n 9: (index, items) => {\n if (index < items.length - 1) {\n dropdownState.select(items[index + 1]);\n } else {\n dropdownState.select(items[0]);\n }\n },\n 38: (index, items) => {\n if (index > 0) {\n dropdownState.select(items[index - 1]);\n }\n },\n 40: (index, items) => {\n if (index < items.length - 1) {\n dropdownState.select(items[index + 1]);\n }\n },\n 13: () => {\n dropdownState.onItemClicked.emit(dropdownState.selectedItem);\n }\n};\n\n\n\n// Component <ng2-dropdown-menu>\n@Component({\n moduleId: module.id,\n selector: 'ng2-dropdown-menu',\n styles: [require('./style.scss').toString()],\n template: require('./template.html'),\n animations\n})\nexport class Ng2DropdownMenu implements Ng2DropdownMenuComponent {\n\n /**\n * @name items\n * @type {QueryList<Ng2MenuItem>}\n */\n @ContentChildren(Ng2MenuItem) items: QueryList<Ng2MenuItem>;\n\n /**\n * @name state\n * @type {{isVisible: boolean, toString: (function(): string)}}\n */\n public state = {\n isVisible: false,\n\n /**\n * @returns current state as a string visible|hidden\n * @returns {string|string}\n */\n toString: (): string => {\n return this.state.isVisible ? 'visible' : 'hidden';\n }\n };\n\n constructor(private element: ElementRef, private renderer: Renderer) {}\n\n /**\n * @name show\n * @shows menu and selects first item\n */\n public show(): void {\n // update state\n this.state.isVisible = true;\n\n // focus element\n this.focusMenuElement();\n\n // select first item\n dropdownState.select(this.items.first);\n }\n\n /**\n * @name hide\n * @desc hides menu\n */\n public hide(): void {\n this.state.isVisible = false;\n\n // reset selected item state\n dropdownState.unselect();\n }\n\n /**\n * @name updatePosition\n * @desc updates the menu position every time it is toggled\n * @param position {ClientRect}\n */\n public updatePosition(position: ClientRect): void {\n const element = this.getMenuElement(),\n top = `${position.top - 15}px`,\n left = `${position.left - 5}px`;\n\n this.renderer.setElementStyle(element, 'top', top);\n this.renderer.setElementStyle(element, 'left', left);\n }\n\n /**\n * @name handleKeypress\n * @desc executes functions on keyPress based on the key pressed\n * @param $event\n */\n public handleKeypress($event): void {\n const key = $event.keyCode,\n items = this.items.toArray(),\n index = items.indexOf(dropdownState.selectedItem);\n\n if (!ACTIONS.hasOwnProperty(key)) {\n return;\n }\n\n ACTIONS[key].call(this, index, items);\n\n $event.preventDefault();\n }\n\n /**\n * @name getMenuElement\n * @returns {Element}\n */\n private getMenuElement(): Element {\n return this.element.nativeElement.children[0];\n }\n\n /**\n * @name focusMenuElement\n * @desc calls focus method on the menu\n */\n private focusMenuElement(): void {\n this.renderer.invokeElementMethod(this.getMenuElement(), 'focus', []);\n }\n\n ngOnInit() {\n\n // append menu element to the body\n const body = document.querySelector('body');\n body.appendChild(this.element.nativeElement);\n\n // execute function when a <ng2-menu-item> gets clicked\n dropdownState.onItemClicked.subscribe((item: Ng2MenuItem) => {\n\n // if preventClose is specified, exit early\n if (item.preventClose) {\n return;\n }\n\n // or, hide menu on click\n this.state.isVisible = false;\n });\n }\n}\n\n\n\n/** WEBPACK FOOTER **\n ** src/components/menu/ng2-dropdown-menu.ts\n **/","import {\n Component,\n Input\n } from '@angular/core';\n\nimport { dropdownState } from '../dropdown/ng2-dropdown-state';\nimport { Ng2MenuItemComponent } from './ng2-menu-item.d';\n\n@Component({\n moduleId: module.id,\n selector: 'ng2-menu-item',\n styles: [ require('./style.scss').toString() ],\n template: require('./template.html')\n})\nexport class Ng2MenuItem implements Ng2MenuItemComponent {\n @Input() public preventClose: boolean = false;\n\n /**\n * @name isSelected\n * @returns {boolean}\n */\n public get isSelected(): boolean {\n return dropdownState.selectedItem === this;\n }\n\n /**\n * @name onClick\n */\n public onClick(): void {\n dropdownState.onItemClicked.emit(this);\n }\n\n /**\n * @name select\n */\n public select(): void {\n if (this.isSelected) {\n return;\n }\n\n dropdownState.select(this);\n }\n}\n\n\n\n\n/** WEBPACK FOOTER **\n ** src/components/menu-item/ng2-menu-item.ts\n **/","import {\n Output,\n EventEmitter\n} from '@angular/core';\n\nimport { Ng2MenuItem } from '../menu-item/ng2-menu-item';\nimport { Ng2DropdownStateServiceInterface } from './ng2-dropdown.d';\n\nclass Ng2DropdownState implements Ng2DropdownStateServiceInterface {\n @Output() public onItemClicked = new EventEmitter<Ng2MenuItem>();\n @Output() public onItemSelected = new EventEmitter<Ng2MenuItem>();\n\n private _selectedItem: Ng2MenuItem;\n\n /**\n * @name selectedItem\n * @desc getter for _selectedItem\n * @returns {Ng2MenuItem}\n */\n public get selectedItem(): Ng2MenuItem {\n return this._selectedItem;\n }\n\n /**\n * @name selectedItem\n * @desc setter for _selectedItem\n * @param item\n */\n public set selectedItem(item: Ng2MenuItem) {\n this._selectedItem = item;\n }\n\n /**\n * @name selects a menu item and emits event\n * @param item {Ng2MenuItem}\n */\n public select(item: Ng2MenuItem): void {\n this.selectedItem = item;\n this.onItemSelected.emit(item);\n }\n\n /**\n * @name unselect\n * @desc sets _selectedItem as undefined\n */\n public unselect(): void {\n this.selectedItem = undefined;\n }\n}\n\nconst dropdownState = new Ng2DropdownState();\nexport { dropdownState };\n\n\n\n/** WEBPACK FOOTER **\n ** src/components/dropdown/ng2-dropdown-state.ts\n **/","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!./../../../node_modules/css-loader/index.js!./../../../node_modules/postcss-loader/index.js!./../../../node_modules/sass-loader/index.js!./style.scss\");\nif(typeof content === 'string') content = [[module.id, content, '']];\n// add the styles to the DOM\nvar update = require(\"!./../../../node_modules/style-loader/addStyles.js\")(content, {});\nif(content.locals) module.exports = content.locals;\n// Hot Module Replacement\nif(module.hot) {\n\t// When the styles change, update the <style> tags\n\tif(!content.locals) {\n\t\tmodule.hot.accept(\"!!./../../../node_modules/css-loader/index.js!./../../../node_modules/postcss-loader/index.js!./../../../node_modules/sass-loader/index.js!./style.scss\", function() {\n\t\t\tvar newContent = require(\"!!./../../../node_modules/css-loader/index.js!./../../../node_modules/postcss-loader/index.js!./../../../node_modules/sass-loader/index.js!./style.scss\");\n\t\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\t\t\tupdate(newContent);\n\t\t});\n\t}\n\t// When the module is disposed, remove the <style> tags\n\tmodule.hot.dispose(function() { update(); });\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/menu-item/style.scss\n ** module id = 12\n ** module chunks = 0\n **/","exports = module.exports = require(\"./../../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".ng2-menu-item {\\n font-family: \\\"Helvetica Neue\\\", Helvetica, Arial;\\n padding: 0 1.25rem;\\n background: #fff;\\n color: #525252;\\n cursor: pointer;\\n font-size: 15px;\\n text-transform: none;\\n font-weight: 400;\\n -webkit-transition: background 0.3s;\\n transition: background 0.3s;\\n letter-spacing: 0.03em;\\n height: 48px;\\n line-height: 48px;\\n vertical-align: middle; }\\n\\n.ng2-menu-item--selected {\\n background: #f9f9f9;\\n outline: 0; }\\n\\n.ng2-menu-item:focus {\\n outline: 0; }\\n\\n.ng2-menu-item [ng2-menu-item-icon] {\\n vertical-align: bottom;\\n font-size: 28px;\\n width: 40px;\\n height: 40px;\\n color: rgba(0, 0, 0, 0.54); }\\n\", \"\"]);\n\n// exports\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/css-loader!./~/postcss-loader!./~/sass-loader!./src/components/menu-item/style.scss\n ** module id = 13\n ** module chunks = 0\n **/","module.exports = \"<div class='ng2-menu-item'\\n [class.ng2-menu-item--selected]=\\\"isSelected\\\"\\n (click)=\\\"onClick()\\\"\\n (mouseover)=\\\"select()\\\">\\n <ng-content></ng-content>\\n</div>\\n\";\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/menu-item/template.html\n ** module id = 14\n ** module chunks = 0\n **/","import {\n trigger,\n style,\n transition,\n animate,\n state\n} from '@angular/core';\n\nexport const animations = [\n trigger('fade', [\n state('visible', style({\n width: '250px',\n maxHeight: '300px',\n opacity: 1\n })),\n state('hidden', style({\n width: '0px',\n maxHeight: '0px',\n opacity: 0\n })),\n transition('visible => hidden', [\n animate('50ms ease-out')\n ]),\n transition('hidden => visible', [\n animate('150ms cubic-bezier(0.55, 0, 0.55, 0.2)')\n ])\n ])\n];\n\n\n\n/** WEBPACK FOOTER **\n ** src/components/menu/animations.ts\n **/","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!./../../../node_modules/css-loader/index.js!./../../../node_modules/postcss-loader/index.js!./../../../node_modules/sass-loader/index.js!./style.scss\");\nif(typeof content === 'string') content = [[module.id, content, '']];\n// add the styles to the DOM\nvar update = require(\"!./../../../node_modules/style-loader/addStyles.js\")(content, {});\nif(content.locals) module.exports = content.locals;\n// Hot Module Replacement\nif(module.hot) {\n\t// When the styles change, update the <style> tags\n\tif(!content.locals) {\n\t\tmodule.hot.accept(\"!!./../../../node_modules/css-loader/index.js!./../../../node_modules/postcss-loader/index.js!./../../../node_modules/sass-loader/index.js!./style.scss\", function() {\n\t\t\tvar newContent = require(\"!!./../../../node_modules/css-loader/index.js!./../../../node_modules/postcss-loader/index.js!./../../../node_modules/sass-loader/index.js!./style.scss\");\n\t\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\t\t\tupdate(newContent);\n\t\t});\n\t}\n\t// When the module is disposed, remove the <style> tags\n\tmodule.hot.dispose(function() { update(); });\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/menu/style.scss\n ** module id = 16\n ** module chunks = 0\n **/","exports = module.exports = require(\"./../../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".ng2-dropdown-menu-container {\\n max-height: 300px;\\n position: fixed;\\n z-index: 2;\\n overflow-y: auto;\\n box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.15);\\n padding: 0.5em 0;\\n background: #fff; }\\n\\n.ng2-dropdown-menu-container:focus {\\n outline: 0;\\n box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.3); }\\n\\n.ng2-dropdown-menu {\\n position: relative; }\\n\\n.ng2-dropdown-menu * {\\n opacity: 0;\\n -webkit-transition: opacity 0.8s;\\n transition: opacity 0.8s; }\\n\\n.ng2-dropdown-menu--active * {\\n opacity: 1; }\\n\\n.ng2-dropdown-backdrop {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n z-index: 1; }\\n\\nng2-menu-divider {\\n height: 1px;\\n min-height: 1px;\\n max-height: 1px;\\n width: 100%;\\n display: block;\\n background: #f9f9f9; }\\n\", \"\"]);\n\n// exports\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/css-loader!./~/postcss-loader!./~/sass-loader!./src/components/menu/style.scss\n ** module id = 17\n ** module chunks = 0\n **/","module.exports = \"<div class=\\\"ng2-dropdown-menu-container\\\" tabindex=\\\"0\\\" (keydown)=\\\"handleKeypress($event)\\\">\\n <div class='ng2-dropdown-menu'\\n [class.ng2-dropdown-menu--active]=\\\"state.isVisible\\\"\\n @fade=\\\"state.toString()\\\">\\n <ng-content></ng-content>\\n </div>\\n</div>\\n\\n<div class=\\\"ng2-dropdown-backdrop\\\" [hidden]=\\\"!state.isVisible\\\" (click)=\\\"hide()\\\"></div>\\n\";\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/menu/template.html\n ** module id = 18\n ** module chunks = 0\n **/","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!./../../../node_modules/css-loader/index.js!./../../../node_modules/postcss-loader/index.js!./../../../node_modules/sass-loader/index.js!./style.scss\");\nif(typeof content === 'string') content = [[module.id, content, '']];\n// add the styles to the DOM\nvar update = require(\"!./../../../node_modules/style-loader/addStyles.js\")(content, {});\nif(content.locals) module.exports = content.locals;\n// Hot Module Replacement\nif(module.hot) {\n\t// When the styles change, update the <style> tags\n\tif(!content.locals) {\n\t\tmodule.hot.accept(\"!!./../../../node_modules/css-loader/index.js!./../../../node_modules/postcss-loader/index.js!./../../../node_modules/sass-loader/index.js!./style.scss\", function() {\n\t\t\tvar newContent = require(\"!!./../../../node_modules/css-loader/index.js!./../../../node_modules/postcss-loader/index.js!./../../../node_modules/sass-loader/index.js!./style.scss\");\n\t\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\t\t\tupdate(newContent);\n\t\t});\n\t}\n\t// When the module is disposed, remove the <style> tags\n\tmodule.hot.dispose(function() { update(); });\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/dropdown/style.scss\n ** module id = 19\n ** module chunks = 0\n **/","exports = module.exports = require(\"./../../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \"\", \"\"]);\n\n// exports\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/css-loader!./~/postcss-loader!./~/sass-loader!./src/components/dropdown/style.scss\n ** module id = 20\n ** module chunks = 0\n **/","module.exports = \"<div class=\\\"ng2-dropdown-container\\\">\\n <ng-content select=\\\"ng2-dropdown-button\\\"></ng-content>\\n\\n <ng-content select=\\\"ng2-dropdown-menu\\\"></ng-content>\\n</div>\\n\";\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/dropdown/template.html\n ** module id = 21\n ** module chunks = 0\n **/"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACtCA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACHA;AAKA;AACA;AAGA;AAYA;AAAA;AAuBA;AAfA;AACA;AAGA;AAGA;AACA;AAEA;AAAA;AACA;AACA;AACA;AACA;AArBA;AAAA;;AAAA;AACA;AAAA;;AAAA;AARA;AAAA;AACA;AACA;AACA;AACA;AACA;;AAAA;AAwBA;AAAA;AAvBA;;;;;;;ACrBA;;;;;;;;;;;;;;;;ACAA;AAeA;AAGA;AAAA;AAFA;AAEA;AAMA;AACA;AACA;AAOA;AACA;AACA;AACA;AApBA;AAAA;;AAAA;AAPA;AAAA;AACA;AACA;AACA;AACA;AACA;;AAAA;AAuBA;AAAA;AAtBA;;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACjDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACrPA;;;;;;;;;;;;;;;;ACAA;AAQA;AAGA;AACA;AAIA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAYA;AAwBA;AAxBA;AAwBA;AAAA;AAZA;AACA;AAMA;AACA;AACA;AACA;AAEA;AAMA;AAEA;AAGA;AAGA;AACA;AAMA;AACA;AAGA;AACA;AAOA;AACA;AAIA;AACA;AACA;AAOA;AACA;AAIA;AACA;AACA;AAEA;AAEA;AACA;AAMA;AACA;AACA;AAMA;AACA;AACA;AAEA;AAAA;AAGA;AACA;AAGA;AAGA;AACA;AACA;AAGA;AACA;AACA;AAhHA;AAAA;;AAAA;AAbA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAAA;AAwHA;AAAA;AAvHA;;;;;;;;;;;;;;;;;ACjDA;AAKA;AASA;AAAA;AACA;AA2BA;AArBA;AAAA;AACA;AACA;;;AAAA;AAKA;AACA;AACA;AAKA;AACA;AACA;AACA;AAEA;AACA;AA1BA;AAAA;;AAAA;AAPA;AAAA;AACA;AACA;AACA;AACA;AACA;;AAAA;AA6BA;AAAA;AA5BA;;;;;;;;;;;;;;;;;ACdA;AAQA;AAAA;AACA;AACA;AAsCA;AA7BA;AAAA;AACA;AACA;AAOA;AACA;AACA;;;AATA;AAeA;AACA;AACA;AACA;AAMA;AACA;AACA;AAtCA;AAAA;;AAAA;AACA;AAAA;;AAAA;AAsCA;AAAA;AAEA;AACA;AAAA;;;;;;ACnDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACPA;;;;;;;ACAA;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACPA;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACPA;;;;;","sourceRoot":""} | ||
| {"version":3,"file":"ng2-dropdown.bundle.js","sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap 051de58a88e94f16b3c6","webpack:///src/index.ts","webpack:///src/components/dropdown/ng2-dropdown.ts","webpack:///external \"@angular/core\"","webpack:///src/components/button/ng2-dropdown-button.ts","webpack:///./src/components/button/style.scss?7b21","webpack:///./src/components/button/style.scss","webpack:///./~/css-loader/lib/css-base.js","webpack:///./~/style-loader/addStyles.js","webpack:///./src/components/button/template.html","webpack:///src/components/menu/ng2-dropdown-menu.ts","webpack:///src/components/menu-item/ng2-menu-item.ts","webpack:///src/components/dropdown/ng2-dropdown-state.ts","webpack:///./src/components/menu-item/style.scss?a21b","webpack:///./src/components/menu-item/style.scss","webpack:///./src/components/menu-item/template.html","webpack:///src/components/menu/animations.ts","webpack:///./src/components/menu/style.scss?7d9d","webpack:///./src/components/menu/style.scss","webpack:///./src/components/menu/template.html","webpack:///./src/components/dropdown/style.scss?9da9","webpack:///./src/components/dropdown/style.scss","webpack:///./src/components/dropdown/template.html"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"@angular/core\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"@angular/core\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ng2-dropdown\"] = factory(require(\"@angular/core\"));\n\telse\n\t\troot[\"ng2-dropdown\"] = factory(root[\"@angular/core\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_2__) {\nreturn \n\n\n/** WEBPACK FOOTER **\n ** webpack/universalModuleDefinition\n **/"," \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\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\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.loaded = 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// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap 051de58a88e94f16b3c6\n **/","export * from './components/dropdown/ng2-dropdown';\nexport * from './components/menu/ng2-dropdown-menu';\nexport * from './components/button/ng2-dropdown-button';\nexport * from './components/menu-item/ng2-menu-item';\n\n\n\n/** WEBPACK FOOTER **\n ** src/index.ts\n **/","import {\n Component,\n ContentChild,\n Output,\n EventEmitter\n} from '@angular/core';\n\nimport { Ng2DropdownButton } from '../button/ng2-dropdown-button';\nimport { Ng2DropdownMenu } from '../menu/ng2-dropdown-menu';\nimport { Ng2DropdownComponent } from './ng2-dropdown.d';\nimport { dropdownState } from './ng2-dropdown-state';\n\nconst styles = [require('./style.scss').toString()],\n template = require('./template.html');\n\n/**\n * A component for entering a list of terms to be used with ngModel.\n */\n@Component({\n moduleId: module.id,\n selector: 'ng2-dropdown',\n styles,\n template\n})\nexport class Ng2Dropdown implements Ng2DropdownComponent {\n @ContentChild(Ng2DropdownButton) public button: Ng2DropdownButton;\n @ContentChild(Ng2DropdownMenu) public menu: Ng2DropdownMenu;\n\n @Output() public onItemClicked: EventEmitter<any> = new EventEmitter<any>();\n\n /**\n * @name toggleMenu\n * @desc toggles menu visibility\n */\n public toggleMenu(): void {\n this.menu.state.isVisible ? this.menu.hide() : this.menu.show();\n\n // get button's position\n const position = this.button.getPosition();\n\n // update menu position based on its button's\n this.menu.updatePosition(position);\n }\n\n ngOnInit() {\n dropdownState.onItemClicked.subscribe(item => this.onItemClicked.emit(item));\n }\n\n ngAfterContentInit() {\n this.button.onMenuToggled.subscribe(() => {\n this.toggleMenu();\n });\n }\n}\n\n\n\n/** WEBPACK FOOTER **\n ** src/components/dropdown/ng2-dropdown.ts\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"@angular/core\"\n ** module id = 2\n ** module chunks = 0 1\n **/","import {\n Component,\n Output,\n EventEmitter,\n ElementRef\n} from '@angular/core';\n\nimport { Ng2DropdownButtonComponent } from './ng2-dropdown-button.d';\n\n@Component({\n moduleId: module.id,\n selector: 'ng2-dropdown-button',\n styles: [ require('./style.scss').toString() ],\n template: require('./template.html')\n})\nexport class Ng2DropdownButton implements Ng2DropdownButtonComponent {\n @Output() public onMenuToggled = new EventEmitter();\n\n constructor(private element: ElementRef) {}\n\n /**\n * @name toggleMenu\n * @desc emits event to toggle menu\n */\n public toggleMenu(): void {\n this.onMenuToggled.emit(true);\n }\n\n /**\n * @name getPosition\n * @desc returns position of the button\n * @returns {ClientRect}\n */\n public getPosition(): ClientRect {\n const el = this.element.nativeElement;\n return el.getBoundingClientRect();\n }\n}\n\n\n\n/** WEBPACK FOOTER **\n ** src/components/button/ng2-dropdown-button.ts\n **/","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!./../../../node_modules/css-loader/index.js!./../../../node_modules/postcss-loader/index.js!./../../../node_modules/sass-loader/index.js!./style.scss\");\nif(typeof content === 'string') content = [[module.id, content, '']];\n// add the styles to the DOM\nvar update = require(\"!./../../../node_modules/style-loader/addStyles.js\")(content, {});\nif(content.locals) module.exports = content.locals;\n// Hot Module Replacement\nif(module.hot) {\n\t// When the styles change, update the <style> tags\n\tif(!content.locals) {\n\t\tmodule.hot.accept(\"!!./../../../node_modules/css-loader/index.js!./../../../node_modules/postcss-loader/index.js!./../../../node_modules/sass-loader/index.js!./style.scss\", function() {\n\t\t\tvar newContent = require(\"!!./../../../node_modules/css-loader/index.js!./../../../node_modules/postcss-loader/index.js!./../../../node_modules/sass-loader/index.js!./style.scss\");\n\t\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\t\t\tupdate(newContent);\n\t\t});\n\t}\n\t// When the module is disposed, remove the <style> tags\n\tmodule.hot.dispose(function() { update(); });\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/button/style.scss\n ** module id = 4\n ** module chunks = 0\n **/","exports = module.exports = require(\"./../../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".ng2-dropdown-button {\\n font-family: \\\"Helvetica Neue\\\", Helvetica, Arial;\\n background: #fff;\\n padding: 0.3rem 0.5rem;\\n font-size: 14px;\\n letter-spacing: 0.08rem;\\n color: #616161;\\n outline: 0;\\n cursor: pointer;\\n font-weight: 400;\\n border: none;\\n border-bottom: 1px solid #efefef; }\\n\\n.ng2-dropdown-button:hover {\\n color: #222; }\\n\\n.ng2-dropdown-button:active {\\n color: #222;\\n border-bottom: 2px solid #2196F3; }\\n\", \"\"]);\n\n// exports\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/css-loader!./~/postcss-loader!./~/sass-loader!./src/components/button/style.scss\n ** module id = 5\n ** module chunks = 0\n **/","/*\r\n\tMIT License http://www.opensource.org/licenses/mit-license.php\r\n\tAuthor Tobias Koppers @sokra\r\n*/\r\n// css base code, injected by the css-loader\r\nmodule.exports = function() {\r\n\tvar list = [];\r\n\r\n\t// return the list of modules as css string\r\n\tlist.toString = function toString() {\r\n\t\tvar result = [];\r\n\t\tfor(var i = 0; i < this.length; i++) {\r\n\t\t\tvar item = this[i];\r\n\t\t\tif(item[2]) {\r\n\t\t\t\tresult.push(\"@media \" + item[2] + \"{\" + item[1] + \"}\");\r\n\t\t\t} else {\r\n\t\t\t\tresult.push(item[1]);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn result.join(\"\");\r\n\t};\r\n\r\n\t// import a list of modules into the list\r\n\tlist.i = function(modules, mediaQuery) {\r\n\t\tif(typeof modules === \"string\")\r\n\t\t\tmodules = [[null, modules, \"\"]];\r\n\t\tvar alreadyImportedModules = {};\r\n\t\tfor(var i = 0; i < this.length; i++) {\r\n\t\t\tvar id = this[i][0];\r\n\t\t\tif(typeof id === \"number\")\r\n\t\t\t\talreadyImportedModules[id] = true;\r\n\t\t}\r\n\t\tfor(i = 0; i < modules.length; i++) {\r\n\t\t\tvar item = modules[i];\r\n\t\t\t// skip already imported module\r\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\r\n\t\t\t// when a module is imported multiple times with different media queries.\r\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\r\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\r\n\t\t\t\tif(mediaQuery && !item[2]) {\r\n\t\t\t\t\titem[2] = mediaQuery;\r\n\t\t\t\t} else if(mediaQuery) {\r\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\r\n\t\t\t\t}\r\n\t\t\t\tlist.push(item);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\treturn list;\r\n};\r\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/css-loader/lib/css-base.js\n ** module id = 6\n ** module chunks = 0\n **/","/*\r\n\tMIT License http://www.opensource.org/licenses/mit-license.php\r\n\tAuthor Tobias Koppers @sokra\r\n*/\r\nvar stylesInDom = {},\r\n\tmemoize = function(fn) {\r\n\t\tvar memo;\r\n\t\treturn function () {\r\n\t\t\tif (typeof memo === \"undefined\") memo = fn.apply(this, arguments);\r\n\t\t\treturn memo;\r\n\t\t};\r\n\t},\r\n\tisOldIE = memoize(function() {\r\n\t\treturn /msie [6-9]\\b/.test(window.navigator.userAgent.toLowerCase());\r\n\t}),\r\n\tgetHeadElement = memoize(function () {\r\n\t\treturn document.head || document.getElementsByTagName(\"head\")[0];\r\n\t}),\r\n\tsingletonElement = null,\r\n\tsingletonCounter = 0,\r\n\tstyleElementsInsertedAtTop = [];\r\n\r\nmodule.exports = function(list, options) {\r\n\tif(typeof DEBUG !== \"undefined\" && DEBUG) {\r\n\t\tif(typeof document !== \"object\") throw new Error(\"The style-loader cannot be used in a non-browser environment\");\r\n\t}\r\n\r\n\toptions = options || {};\r\n\t// Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\r\n\t// tags it will allow on a page\r\n\tif (typeof options.singleton === \"undefined\") options.singleton = isOldIE();\r\n\r\n\t// By default, add <style> tags to the bottom of <head>.\r\n\tif (typeof options.insertAt === \"undefined\") options.insertAt = \"bottom\";\r\n\r\n\tvar styles = listToStyles(list);\r\n\taddStylesToDom(styles, options);\r\n\r\n\treturn function update(newList) {\r\n\t\tvar mayRemove = [];\r\n\t\tfor(var i = 0; i < styles.length; i++) {\r\n\t\t\tvar item = styles[i];\r\n\t\t\tvar domStyle = stylesInDom[item.id];\r\n\t\t\tdomStyle.refs--;\r\n\t\t\tmayRemove.push(domStyle);\r\n\t\t}\r\n\t\tif(newList) {\r\n\t\t\tvar newStyles = listToStyles(newList);\r\n\t\t\taddStylesToDom(newStyles, options);\r\n\t\t}\r\n\t\tfor(var i = 0; i < mayRemove.length; i++) {\r\n\t\t\tvar domStyle = mayRemove[i];\r\n\t\t\tif(domStyle.refs === 0) {\r\n\t\t\t\tfor(var j = 0; j < domStyle.parts.length; j++)\r\n\t\t\t\t\tdomStyle.parts[j]();\r\n\t\t\t\tdelete stylesInDom[domStyle.id];\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n}\r\n\r\nfunction addStylesToDom(styles, options) {\r\n\tfor(var i = 0; i < styles.length; i++) {\r\n\t\tvar item = styles[i];\r\n\t\tvar domStyle = stylesInDom[item.id];\r\n\t\tif(domStyle) {\r\n\t\t\tdomStyle.refs++;\r\n\t\t\tfor(var j = 0; j < domStyle.parts.length; j++) {\r\n\t\t\t\tdomStyle.parts[j](item.parts[j]);\r\n\t\t\t}\r\n\t\t\tfor(; j < item.parts.length; j++) {\r\n\t\t\t\tdomStyle.parts.push(addStyle(item.parts[j], options));\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tvar parts = [];\r\n\t\t\tfor(var j = 0; j < item.parts.length; j++) {\r\n\t\t\t\tparts.push(addStyle(item.parts[j], options));\r\n\t\t\t}\r\n\t\t\tstylesInDom[item.id] = {id: item.id, refs: 1, parts: parts};\r\n\t\t}\r\n\t}\r\n}\r\n\r\nfunction listToStyles(list) {\r\n\tvar styles = [];\r\n\tvar newStyles = {};\r\n\tfor(var i = 0; i < list.length; i++) {\r\n\t\tvar item = list[i];\r\n\t\tvar id = item[0];\r\n\t\tvar css = item[1];\r\n\t\tvar media = item[2];\r\n\t\tvar sourceMap = item[3];\r\n\t\tvar part = {css: css, media: media, sourceMap: sourceMap};\r\n\t\tif(!newStyles[id])\r\n\t\t\tstyles.push(newStyles[id] = {id: id, parts: [part]});\r\n\t\telse\r\n\t\t\tnewStyles[id].parts.push(part);\r\n\t}\r\n\treturn styles;\r\n}\r\n\r\nfunction insertStyleElement(options, styleElement) {\r\n\tvar head = getHeadElement();\r\n\tvar lastStyleElementInsertedAtTop = styleElementsInsertedAtTop[styleElementsInsertedAtTop.length - 1];\r\n\tif (options.insertAt === \"top\") {\r\n\t\tif(!lastStyleElementInsertedAtTop) {\r\n\t\t\thead.insertBefore(styleElement, head.firstChild);\r\n\t\t} else if(lastStyleElementInsertedAtTop.nextSibling) {\r\n\t\t\thead.insertBefore(styleElement, lastStyleElementInsertedAtTop.nextSibling);\r\n\t\t} else {\r\n\t\t\thead.appendChild(styleElement);\r\n\t\t}\r\n\t\tstyleElementsInsertedAtTop.push(styleElement);\r\n\t} else if (options.insertAt === \"bottom\") {\r\n\t\thead.appendChild(styleElement);\r\n\t} else {\r\n\t\tthrow new Error(\"Invalid value for parameter 'insertAt'. Must be 'top' or 'bottom'.\");\r\n\t}\r\n}\r\n\r\nfunction removeStyleElement(styleElement) {\r\n\tstyleElement.parentNode.removeChild(styleElement);\r\n\tvar idx = styleElementsInsertedAtTop.indexOf(styleElement);\r\n\tif(idx >= 0) {\r\n\t\tstyleElementsInsertedAtTop.splice(idx, 1);\r\n\t}\r\n}\r\n\r\nfunction createStyleElement(options) {\r\n\tvar styleElement = document.createElement(\"style\");\r\n\tstyleElement.type = \"text/css\";\r\n\tinsertStyleElement(options, styleElement);\r\n\treturn styleElement;\r\n}\r\n\r\nfunction createLinkElement(options) {\r\n\tvar linkElement = document.createElement(\"link\");\r\n\tlinkElement.rel = \"stylesheet\";\r\n\tinsertStyleElement(options, linkElement);\r\n\treturn linkElement;\r\n}\r\n\r\nfunction addStyle(obj, options) {\r\n\tvar styleElement, update, remove;\r\n\r\n\tif (options.singleton) {\r\n\t\tvar styleIndex = singletonCounter++;\r\n\t\tstyleElement = singletonElement || (singletonElement = createStyleElement(options));\r\n\t\tupdate = applyToSingletonTag.bind(null, styleElement, styleIndex, false);\r\n\t\tremove = applyToSingletonTag.bind(null, styleElement, styleIndex, true);\r\n\t} else if(obj.sourceMap &&\r\n\t\ttypeof URL === \"function\" &&\r\n\t\ttypeof URL.createObjectURL === \"function\" &&\r\n\t\ttypeof URL.revokeObjectURL === \"function\" &&\r\n\t\ttypeof Blob === \"function\" &&\r\n\t\ttypeof btoa === \"function\") {\r\n\t\tstyleElement = createLinkElement(options);\r\n\t\tupdate = updateLink.bind(null, styleElement);\r\n\t\tremove = function() {\r\n\t\t\tremoveStyleElement(styleElement);\r\n\t\t\tif(styleElement.href)\r\n\t\t\t\tURL.revokeObjectURL(styleElement.href);\r\n\t\t};\r\n\t} else {\r\n\t\tstyleElement = createStyleElement(options);\r\n\t\tupdate = applyToTag.bind(null, styleElement);\r\n\t\tremove = function() {\r\n\t\t\tremoveStyleElement(styleElement);\r\n\t\t};\r\n\t}\r\n\r\n\tupdate(obj);\r\n\r\n\treturn function updateStyle(newObj) {\r\n\t\tif(newObj) {\r\n\t\t\tif(newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap)\r\n\t\t\t\treturn;\r\n\t\t\tupdate(obj = newObj);\r\n\t\t} else {\r\n\t\t\tremove();\r\n\t\t}\r\n\t};\r\n}\r\n\r\nvar replaceText = (function () {\r\n\tvar textStore = [];\r\n\r\n\treturn function (index, replacement) {\r\n\t\ttextStore[index] = replacement;\r\n\t\treturn textStore.filter(Boolean).join('\\n');\r\n\t};\r\n})();\r\n\r\nfunction applyToSingletonTag(styleElement, index, remove, obj) {\r\n\tvar css = remove ? \"\" : obj.css;\r\n\r\n\tif (styleElement.styleSheet) {\r\n\t\tstyleElement.styleSheet.cssText = replaceText(index, css);\r\n\t} else {\r\n\t\tvar cssNode = document.createTextNode(css);\r\n\t\tvar childNodes = styleElement.childNodes;\r\n\t\tif (childNodes[index]) styleElement.removeChild(childNodes[index]);\r\n\t\tif (childNodes.length) {\r\n\t\t\tstyleElement.insertBefore(cssNode, childNodes[index]);\r\n\t\t} else {\r\n\t\t\tstyleElement.appendChild(cssNode);\r\n\t\t}\r\n\t}\r\n}\r\n\r\nfunction applyToTag(styleElement, obj) {\r\n\tvar css = obj.css;\r\n\tvar media = obj.media;\r\n\r\n\tif(media) {\r\n\t\tstyleElement.setAttribute(\"media\", media)\r\n\t}\r\n\r\n\tif(styleElement.styleSheet) {\r\n\t\tstyleElement.styleSheet.cssText = css;\r\n\t} else {\r\n\t\twhile(styleElement.firstChild) {\r\n\t\t\tstyleElement.removeChild(styleElement.firstChild);\r\n\t\t}\r\n\t\tstyleElement.appendChild(document.createTextNode(css));\r\n\t}\r\n}\r\n\r\nfunction updateLink(linkElement, obj) {\r\n\tvar css = obj.css;\r\n\tvar sourceMap = obj.sourceMap;\r\n\r\n\tif(sourceMap) {\r\n\t\t// http://stackoverflow.com/a/26603875\r\n\t\tcss += \"\\n/*# sourceMappingURL=data:application/json;base64,\" + btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))) + \" */\";\r\n\t}\r\n\r\n\tvar blob = new Blob([css], { type: \"text/css\" });\r\n\r\n\tvar oldSrc = linkElement.href;\r\n\r\n\tlinkElement.href = URL.createObjectURL(blob);\r\n\r\n\tif(oldSrc)\r\n\t\tURL.revokeObjectURL(oldSrc);\r\n}\r\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/style-loader/addStyles.js\n ** module id = 7\n ** module chunks = 0\n **/","module.exports = \"<button class='ng2-dropdown-button' (click)=\\\"toggleMenu()\\\" tabindex=\\\"0\\\">\\n <ng-content></ng-content>\\n</button>\\n\";\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/button/template.html\n ** module id = 8\n ** module chunks = 0\n **/","import {\n Component,\n ElementRef,\n Renderer,\n ContentChildren,\n QueryList\n} from '@angular/core';\n\nimport { Ng2MenuItem } from '../menu-item/ng2-menu-item';\nimport { Ng2DropdownMenuComponent } from './ng2-dropdown-menu.d';\n\nimport { dropdownState } from '../dropdown/ng2-dropdown-state';\nimport { animations } from './animations';\n\n\n// ACTIONS executed on keypress\nconst ACTIONS = {\n 9: (index, items) => {\n if (index < items.length - 1) {\n dropdownState.select(items[index + 1]);\n } else {\n dropdownState.select(items[0]);\n }\n },\n 38: (index, items) => {\n if (index > 0) {\n dropdownState.select(items[index - 1]);\n }\n },\n 40: (index, items) => {\n if (index < items.length - 1) {\n dropdownState.select(items[index + 1]);\n }\n },\n 13: () => {\n dropdownState.onItemClicked.emit(dropdownState.selectedItem);\n }\n};\n\n\n// Component <ng2-dropdown-menu>\n@Component({\n moduleId: module.id,\n selector: 'ng2-dropdown-menu',\n styles: [require('./style.scss').toString()],\n template: require('./template.html'),\n animations\n})\nexport class Ng2DropdownMenu implements Ng2DropdownMenuComponent {\n\n /**\n * @name items\n * @type {QueryList<Ng2MenuItem>}\n */\n @ContentChildren(Ng2MenuItem) items: QueryList<Ng2MenuItem>;\n\n /**\n * @name state\n * @type {{isVisible: boolean, toString: (function(): string)}}\n */\n public state = {\n isVisible: false,\n\n /**\n * @returns current state as a string visible|hidden\n * @returns {string|string}\n */\n toString: (): string => {\n return this.state.isVisible ? 'visible' : 'hidden';\n }\n };\n\n constructor(private element: ElementRef, private renderer: Renderer) {}\n\n /**\n * @name show\n * @shows menu and selects first item\n */\n public show(): void {\n // update state\n this.state.isVisible = true;\n\n // focus element\n this.focusMenuElement();\n\n // select first item\n dropdownState.select(this.items.first);\n }\n\n /**\n * @name hide\n * @desc hides menu\n */\n public hide(): void {\n this.state.isVisible = false;\n\n // reset selected item state\n dropdownState.unselect();\n }\n\n /**\n * @name updatePosition\n * @desc updates the menu position every time it is toggled\n * @param position {ClientRect}\n */\n public updatePosition(position: ClientRect): void {\n const element = this.getMenuElement(),\n top = `${position.top - 15}px`,\n left = `${position.left - 5}px`;\n\n this.renderer.setElementStyle(element, 'top', top);\n this.renderer.setElementStyle(element, 'left', left);\n }\n\n /**\n * @name handleKeypress\n * @desc executes functions on keyPress based on the key pressed\n * @param $event\n */\n public handleKeypress($event): void {\n const key = $event.keyCode,\n items = this.items.toArray(),\n index = items.indexOf(dropdownState.selectedItem);\n\n if (!ACTIONS.hasOwnProperty(key)) {\n return;\n }\n\n ACTIONS[key].call(this, index, items);\n\n $event.preventDefault();\n }\n\n /**\n * @name getMenuElement\n * @returns {Element}\n */\n private getMenuElement(): Element {\n return this.element.nativeElement.children[0];\n }\n\n /**\n * @name focusMenuElement\n * @desc calls focus method on the menu\n */\n private focusMenuElement(): void {\n this.renderer.invokeElementMethod(this.getMenuElement(), 'focus', []);\n }\n\n ngOnInit() {\n\n // append menu element to the body\n const body = document.querySelector('body');\n body.appendChild(this.element.nativeElement);\n\n // execute function when a <ng2-menu-item> gets clicked\n dropdownState.onItemClicked.subscribe((item: Ng2MenuItem) => {\n\n // if preventClose is specified, exit early\n if (item.preventClose) {\n return;\n }\n\n // or, hide menu on click\n this.state.isVisible = false;\n });\n }\n}\n\n\n\n/** WEBPACK FOOTER **\n ** src/components/menu/ng2-dropdown-menu.ts\n **/","import {\n Component,\n Input\n } from '@angular/core';\n\nimport { dropdownState } from '../dropdown/ng2-dropdown-state';\nimport { Ng2MenuItemComponent } from './ng2-menu-item.d';\n\n@Component({\n moduleId: module.id,\n selector: 'ng2-menu-item',\n styles: [ require('./style.scss').toString() ],\n template: require('./template.html')\n})\nexport class Ng2MenuItem implements Ng2MenuItemComponent {\n @Input() public preventClose: boolean = false;\n\n /**\n * @name isSelected\n * @returns {boolean}\n */\n public get isSelected(): boolean {\n return dropdownState.selectedItem === this;\n }\n\n /**\n * @name onClick\n */\n public onClick(): void {\n dropdownState.onItemClicked.emit(this);\n }\n\n /**\n * @name select\n */\n public select(): void {\n if (this.isSelected) {\n return;\n }\n\n dropdownState.select(this);\n }\n}\n\n\n\n\n/** WEBPACK FOOTER **\n ** src/components/menu-item/ng2-menu-item.ts\n **/","import {\n Output,\n EventEmitter\n} from '@angular/core';\n\nimport { Ng2MenuItem } from '../menu-item/ng2-menu-item';\nimport { Ng2DropdownStateServiceInterface } from './ng2-dropdown.d';\n\nclass Ng2DropdownState implements Ng2DropdownStateServiceInterface {\n @Output() public onItemClicked = new EventEmitter<Ng2MenuItem>();\n @Output() public onItemSelected = new EventEmitter<Ng2MenuItem>();\n\n private _selectedItem: Ng2MenuItem;\n\n /**\n * @name selectedItem\n * @desc getter for _selectedItem\n * @returns {Ng2MenuItem}\n */\n public get selectedItem(): Ng2MenuItem {\n return this._selectedItem;\n }\n\n /**\n * @name selectedItem\n * @desc setter for _selectedItem\n * @param item\n */\n public set selectedItem(item: Ng2MenuItem) {\n this._selectedItem = item;\n }\n\n /**\n * @name selects a menu item and emits event\n * @param item {Ng2MenuItem}\n */\n public select(item: Ng2MenuItem): void {\n this.selectedItem = item;\n this.onItemSelected.emit(item);\n }\n\n /**\n * @name unselect\n * @desc sets _selectedItem as undefined\n */\n public unselect(): void {\n this.selectedItem = undefined;\n }\n}\n\nconst dropdownState = new Ng2DropdownState();\nexport { dropdownState };\n\n\n\n/** WEBPACK FOOTER **\n ** src/components/dropdown/ng2-dropdown-state.ts\n **/","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!./../../../node_modules/css-loader/index.js!./../../../node_modules/postcss-loader/index.js!./../../../node_modules/sass-loader/index.js!./style.scss\");\nif(typeof content === 'string') content = [[module.id, content, '']];\n// add the styles to the DOM\nvar update = require(\"!./../../../node_modules/style-loader/addStyles.js\")(content, {});\nif(content.locals) module.exports = content.locals;\n// Hot Module Replacement\nif(module.hot) {\n\t// When the styles change, update the <style> tags\n\tif(!content.locals) {\n\t\tmodule.hot.accept(\"!!./../../../node_modules/css-loader/index.js!./../../../node_modules/postcss-loader/index.js!./../../../node_modules/sass-loader/index.js!./style.scss\", function() {\n\t\t\tvar newContent = require(\"!!./../../../node_modules/css-loader/index.js!./../../../node_modules/postcss-loader/index.js!./../../../node_modules/sass-loader/index.js!./style.scss\");\n\t\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\t\t\tupdate(newContent);\n\t\t});\n\t}\n\t// When the module is disposed, remove the <style> tags\n\tmodule.hot.dispose(function() { update(); });\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/menu-item/style.scss\n ** module id = 12\n ** module chunks = 0\n **/","exports = module.exports = require(\"./../../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".ng2-menu-item {\\n font-family: \\\"Helvetica Neue\\\", Helvetica, Arial;\\n padding: 0 1.25rem;\\n background: #fff;\\n color: #525252;\\n cursor: pointer;\\n font-size: 15px;\\n text-transform: none;\\n font-weight: 400;\\n -webkit-transition: background 0.3s;\\n transition: background 0.3s;\\n letter-spacing: 0.03em;\\n height: 48px;\\n line-height: 48px;\\n vertical-align: middle; }\\n\\n.ng2-menu-item--selected {\\n background: #f9f9f9;\\n outline: 0; }\\n\\n.ng2-menu-item:focus {\\n outline: 0; }\\n\\n.ng2-menu-item [ng2-menu-item-icon] {\\n vertical-align: bottom;\\n font-size: 28px;\\n width: 40px;\\n height: 40px;\\n color: rgba(0, 0, 0, 0.54); }\\n\", \"\"]);\n\n// exports\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/css-loader!./~/postcss-loader!./~/sass-loader!./src/components/menu-item/style.scss\n ** module id = 13\n ** module chunks = 0\n **/","module.exports = \"<div class='ng2-menu-item'\\n [class.ng2-menu-item--selected]=\\\"isSelected\\\"\\n (click)=\\\"onClick()\\\"\\n (mouseover)=\\\"select()\\\">\\n <ng-content></ng-content>\\n</div>\\n\";\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/menu-item/template.html\n ** module id = 14\n ** module chunks = 0\n **/","import {\n trigger,\n style,\n transition,\n animate,\n state\n} from '@angular/core';\n\nexport const animations = [\n trigger('fade', [\n state('visible', style({\n width: '250px',\n maxHeight: '300px',\n opacity: 1\n })),\n state('hidden', style({\n width: '0px',\n maxHeight: '0px',\n opacity: 0\n })),\n transition('visible => hidden', [\n animate('50ms ease-out')\n ]),\n transition('hidden => visible', [\n animate('150ms cubic-bezier(0.55, 0, 0.55, 0.2)')\n ])\n ])\n];\n\n\n\n/** WEBPACK FOOTER **\n ** src/components/menu/animations.ts\n **/","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!./../../../node_modules/css-loader/index.js!./../../../node_modules/postcss-loader/index.js!./../../../node_modules/sass-loader/index.js!./style.scss\");\nif(typeof content === 'string') content = [[module.id, content, '']];\n// add the styles to the DOM\nvar update = require(\"!./../../../node_modules/style-loader/addStyles.js\")(content, {});\nif(content.locals) module.exports = content.locals;\n// Hot Module Replacement\nif(module.hot) {\n\t// When the styles change, update the <style> tags\n\tif(!content.locals) {\n\t\tmodule.hot.accept(\"!!./../../../node_modules/css-loader/index.js!./../../../node_modules/postcss-loader/index.js!./../../../node_modules/sass-loader/index.js!./style.scss\", function() {\n\t\t\tvar newContent = require(\"!!./../../../node_modules/css-loader/index.js!./../../../node_modules/postcss-loader/index.js!./../../../node_modules/sass-loader/index.js!./style.scss\");\n\t\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\t\t\tupdate(newContent);\n\t\t});\n\t}\n\t// When the module is disposed, remove the <style> tags\n\tmodule.hot.dispose(function() { update(); });\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/menu/style.scss\n ** module id = 16\n ** module chunks = 0\n **/","exports = module.exports = require(\"./../../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".ng2-dropdown-menu-container {\\n max-height: 300px;\\n position: fixed;\\n z-index: 2;\\n overflow-y: auto;\\n box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.15);\\n padding: 0.5em 0;\\n background: #fff; }\\n\\n.ng2-dropdown-menu-container:focus {\\n outline: 0;\\n box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.3); }\\n\\n.ng2-dropdown-menu {\\n position: relative; }\\n\\n.ng2-dropdown-menu * {\\n opacity: 0;\\n -webkit-transition: opacity 0.8s;\\n transition: opacity 0.8s; }\\n\\n.ng2-dropdown-menu--active * {\\n opacity: 1; }\\n\\n.ng2-dropdown-backdrop {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n z-index: 1; }\\n\\nng2-menu-divider {\\n height: 1px;\\n min-height: 1px;\\n max-height: 1px;\\n width: 100%;\\n display: block;\\n background: #f9f9f9; }\\n\", \"\"]);\n\n// exports\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/css-loader!./~/postcss-loader!./~/sass-loader!./src/components/menu/style.scss\n ** module id = 17\n ** module chunks = 0\n **/","module.exports = \"<div class=\\\"ng2-dropdown-menu-container\\\" tabindex=\\\"0\\\" (keydown)=\\\"handleKeypress($event)\\\">\\n <div class='ng2-dropdown-menu'\\n [class.ng2-dropdown-menu--active]=\\\"state.isVisible\\\"\\n @fade=\\\"state.toString()\\\">\\n <ng-content></ng-content>\\n </div>\\n</div>\\n\\n<div class=\\\"ng2-dropdown-backdrop\\\" [hidden]=\\\"!state.isVisible\\\" (click)=\\\"hide()\\\"></div>\\n\";\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/menu/template.html\n ** module id = 18\n ** module chunks = 0\n **/","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!./../../../node_modules/css-loader/index.js!./../../../node_modules/postcss-loader/index.js!./../../../node_modules/sass-loader/index.js!./style.scss\");\nif(typeof content === 'string') content = [[module.id, content, '']];\n// add the styles to the DOM\nvar update = require(\"!./../../../node_modules/style-loader/addStyles.js\")(content, {});\nif(content.locals) module.exports = content.locals;\n// Hot Module Replacement\nif(module.hot) {\n\t// When the styles change, update the <style> tags\n\tif(!content.locals) {\n\t\tmodule.hot.accept(\"!!./../../../node_modules/css-loader/index.js!./../../../node_modules/postcss-loader/index.js!./../../../node_modules/sass-loader/index.js!./style.scss\", function() {\n\t\t\tvar newContent = require(\"!!./../../../node_modules/css-loader/index.js!./../../../node_modules/postcss-loader/index.js!./../../../node_modules/sass-loader/index.js!./style.scss\");\n\t\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\t\t\tupdate(newContent);\n\t\t});\n\t}\n\t// When the module is disposed, remove the <style> tags\n\tmodule.hot.dispose(function() { update(); });\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/dropdown/style.scss\n ** module id = 19\n ** module chunks = 0\n **/","exports = module.exports = require(\"./../../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \"\", \"\"]);\n\n// exports\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/css-loader!./~/postcss-loader!./~/sass-loader!./src/components/dropdown/style.scss\n ** module id = 20\n ** module chunks = 0\n **/","module.exports = \"<div class=\\\"ng2-dropdown-container\\\">\\n <ng-content select=\\\"ng2-dropdown-button\\\"></ng-content>\\n\\n <ng-content select=\\\"ng2-dropdown-menu\\\"></ng-content>\\n</div>\\n\";\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/dropdown/template.html\n ** module id = 21\n ** module chunks = 0\n **/"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACtCA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACHA;AAOA;AACA;AAEA;AAEA;AAYA;AAAA;AAIA;AAyBA;AAnBA;AACA;AAGA;AAGA;AACA;AAEA;AAAA;AACA;AACA;AAEA;AAAA;AACA;AACA;AACA;AACA;AA3BA;AAAA;;AAAA;AACA;AAAA;;AAAA;AAEA;AAAA;;AAAA;AAVA;AAAA;AACA;AACA;AACA;AACA;AACA;;AAAA;AA8BA;AAAA;AA7BA;;;;;;;ACxBA;;;;;;;;;;;;;;;;ACAA;AAeA;AAGA;AAAA;AAFA;AAEA;AAMA;AACA;AACA;AAOA;AACA;AACA;AACA;AApBA;AAAA;;AAAA;AAPA;AAAA;AACA;AACA;AACA;AACA;AACA;;AAAA;AAuBA;AAAA;AAtBA;;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACjDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACrPA;;;;;;;;;;;;;;;;ACAA;AAQA;AAGA;AACA;AAIA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAWA;AAwBA;AAxBA;AAwBA;AAAA;AAZA;AACA;AAMA;AACA;AACA;AACA;AAEA;AAMA;AAEA;AAGA;AAGA;AACA;AAMA;AACA;AAGA;AACA;AAOA;AACA;AAIA;AACA;AACA;AAOA;AACA;AAIA;AACA;AACA;AAEA;AAEA;AACA;AAMA;AACA;AACA;AAMA;AACA;AACA;AAEA;AAAA;AAGA;AACA;AAGA;AAGA;AACA;AACA;AAGA;AACA;AACA;AAhHA;AAAA;;AAAA;AAbA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAAA;AAwHA;AAAA;AAvHA;;;;;;;;;;;;;;;;;AChDA;AAKA;AASA;AAAA;AACA;AA2BA;AArBA;AAAA;AACA;AACA;;;AAAA;AAKA;AACA;AACA;AAKA;AACA;AACA;AACA;AAEA;AACA;AA1BA;AAAA;;AAAA;AAPA;AAAA;AACA;AACA;AACA;AACA;AACA;;AAAA;AA6BA;AAAA;AA5BA;;;;;;;;;;;;;;;;;ACdA;AAQA;AAAA;AACA;AACA;AAsCA;AA7BA;AAAA;AACA;AACA;AAOA;AACA;AACA;;;AATA;AAeA;AACA;AACA;AACA;AAMA;AACA;AACA;AAtCA;AAAA;;AAAA;AACA;AAAA;;AAAA;AAsCA;AAAA;AAEA;AACA;AAAA;;;;;;ACnDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACPA;;;;;;;ACAA;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACPA;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACPA;;;;;","sourceRoot":""} |
+1
-1
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"vendor.bundle.js","sources":["webpack:///webpack/universalModuleDefinition?5ca6","webpack:///webpack/bootstrap 9c4f6ac8eb602af064b5?ff72","webpack:///external \"@angular/core\"?73d1","webpack:///external \"@angular/common\""],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"@angular/core\"), require(\"@angular/common\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"@angular/core\", \"@angular/common\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ng2-dropdown\"] = factory(require(\"@angular/core\"), require(\"@angular/common\"));\n\telse\n\t\troot[\"ng2-dropdown\"] = factory(root[\"@angular/core\"], root[\"@angular/common\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_2__, __WEBPACK_EXTERNAL_MODULE_22__) {\nreturn \n\n\n/** WEBPACK FOOTER **\n ** webpack/universalModuleDefinition\n **/"," \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\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\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.loaded = 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// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap 9c4f6ac8eb602af064b5\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"@angular/core\"\n ** module id = 2\n ** module chunks = 0 1\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_22__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"@angular/common\"\n ** module id = 22\n ** module chunks = 1\n **/"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACtCA;;;;;;;ACAA;;;;;;","sourceRoot":""} | ||
| {"version":3,"file":"vendor.bundle.js","sources":["webpack:///webpack/universalModuleDefinition?5ca6","webpack:///webpack/bootstrap 051de58a88e94f16b3c6?ff16","webpack:///external \"@angular/core\"?73d1","webpack:///external \"@angular/common\""],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"@angular/core\"), require(\"@angular/common\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"@angular/core\", \"@angular/common\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ng2-dropdown\"] = factory(require(\"@angular/core\"), require(\"@angular/common\"));\n\telse\n\t\troot[\"ng2-dropdown\"] = factory(root[\"@angular/core\"], root[\"@angular/common\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_2__, __WEBPACK_EXTERNAL_MODULE_22__) {\nreturn \n\n\n/** WEBPACK FOOTER **\n ** webpack/universalModuleDefinition\n **/"," \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\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\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.loaded = 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// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap 051de58a88e94f16b3c6\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"@angular/core\"\n ** module id = 2\n ** module chunks = 0 1\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_22__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"@angular/common\"\n ** module id = 22\n ** module chunks = 1\n **/"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACtCA;;;;;;;ACAA;;;;;;","sourceRoot":""} |
+1
-1
| { | ||
| "name": "ng2-material-dropdown", | ||
| "version": "0.0.3", | ||
| "version": "0.0.4", | ||
| "description": "Angular 2 material-like Dropdown Component", | ||
@@ -5,0 +5,0 @@ "scripts": { |
+4
-0
@@ -53,3 +53,7 @@ # Angular2 Dropdown Component | ||
| #### ng2-dropdown | ||
| `onItemClicked()` - `[(onItemClicked($event)]` : event that emits the item clicked on | ||
| #### ng2-menu-item | ||
| `preventClose` - `[?boolean]` : if present, this attribute prevents the menu to hide when the menu item is clicked |
154605
0.61%1704
0.59%59
7.27%