|
{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///phosphor.min.js","webpack:///webpack/bootstrap 69d9d753c0bc42fe3675","webpack:///./~/@phosphor/algorithm/lib/index.js","webpack:///./~/@phosphor/domutils/lib/index.js","webpack:///./~/@phosphor/widgets/lib/widget.js","webpack:///./~/@phosphor/messaging/lib/index.js","webpack:///./~/@phosphor/signaling/lib/index.js","webpack:///./~/@phosphor/algorithm/lib/iter.js","webpack:///./~/@phosphor/coreutils/lib/index.js","webpack:///./~/@phosphor/properties/lib/index.js","webpack:///./~/@phosphor/widgets/lib/layout.js","webpack:///./~/@phosphor/virtualdom/lib/index.js","webpack:///./~/@phosphor/widgets/lib/panellayout.js","webpack:///./~/@phosphor/commands/lib/index.js","webpack:///./~/@phosphor/disposable/lib/index.js","webpack:///./~/@phosphor/dragdrop/lib/index.js","webpack:///./~/@phosphor/keyboard/lib/index.js","webpack:///./~/@phosphor/widgets/lib/boxengine.js","webpack:///./~/@phosphor/widgets/lib/panel.js","webpack:///./~/@phosphor/widgets/lib/boxlayout.js","webpack:///./~/@phosphor/widgets/lib/tabbar.js","webpack:///./~/@phosphor/widgets/lib/title.js","webpack:///./~/timers-browserify/main.js","webpack:///./~/@phosphor/collections/lib/index.js","webpack:///./~/@phosphor/widgets/lib/index.js","webpack:///./~/@phosphor/widgets/lib/docklayout.js","webpack:///./~/@phosphor/widgets/lib/menu.js","webpack:///./~/@phosphor/widgets/lib/splitlayout.js","webpack:///./~/@phosphor/widgets/lib/stackedlayout.js","webpack:///./~/@phosphor/widgets/lib/stackedpanel.js","webpack:///./~/@phosphor/application/lib/index.js","webpack:///./index.js","webpack:///./~/@phosphor/algorithm/lib/array.js","webpack:///./~/@phosphor/algorithm/lib/chain.js","webpack:///./~/@phosphor/algorithm/lib/empty.js","webpack:///./~/@phosphor/algorithm/lib/filter.js","webpack:///./~/@phosphor/algorithm/lib/find.js","webpack:///./~/@phosphor/algorithm/lib/map.js","webpack:///./~/@phosphor/algorithm/lib/range.js","webpack:///./~/@phosphor/algorithm/lib/reduce.js","webpack:///./~/@phosphor/algorithm/lib/repeat.js","webpack:///./~/@phosphor/algorithm/lib/retro.js","webpack:///./~/@phosphor/algorithm/lib/sort.js","webpack:///./~/@phosphor/algorithm/lib/stride.js","webpack:///./~/@phosphor/algorithm/lib/string.js","webpack:///./~/@phosphor/algorithm/lib/take.js","webpack:///./~/@phosphor/algorithm/lib/zip.js","webpack:///./~/@phosphor/collections/lib/linkedlist.js","webpack:///./~/@phosphor/coreutils/lib/json.js","webpack:///./~/@phosphor/coreutils/lib/mime.js","webpack:///./~/@phosphor/coreutils/lib/promise.js","webpack:///./~/@phosphor/coreutils/lib/token.js","webpack:///./~/@phosphor/domutils/lib/element.js","webpack:///./~/@phosphor/domutils/lib/platform.js","webpack:///./~/@phosphor/domutils/lib/selector.js","webpack:///./~/@phosphor/widgets/lib/boxpanel.js","webpack:///./~/@phosphor/widgets/lib/commandpalette.js","webpack:///./~/@phosphor/widgets/lib/contextmenu.js","webpack:///./~/@phosphor/widgets/lib/dockpanel.js","webpack:///./~/@phosphor/widgets/lib/focustracker.js","webpack:///./~/@phosphor/widgets/lib/menubar.js","webpack:///./~/@phosphor/widgets/lib/splitpanel.js","webpack:///./~/@phosphor/widgets/lib/tabpanel.js","webpack:///./~/process/browser.js","webpack:///./~/setimmediate/setImmediate.js","webpack:///(webpack)/buildin/global.js"],"names":["root","factory","exports","module","define","amd","this","modules","__webpack_require__","moduleId","installedModules","i","l","call","m","c","value","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","__export","__extends","extendStatics","setPrototypeOf","__proto__","Array","b","__","constructor","create","algorithm_1","messaging_1","properties_1","signaling_1","title_1","Widget","options","_flags","_layout","_parent","_disposed","Signal","node","Private","createNode","addClass","dispose","isDisposed","setFlag","Flag","IsDisposed","emit","undefined","parent","isAttached","detach","clearData","MessageLoop","AttachedProperty","testFlag","IsAttached","IsHidden","IsVisible","titleProperty","id","set","dataset","contains","Error","msg","ChildMessage","sendMessage","Msg","ParentChanged","DisallowLayout","children","iter","empty","widget","hasClass","classList","add","removeClass","remove","toggleClass","force","toggle","update","postMessage","UpdateRequest","fit","FitRequest","activate","ActivateRequest","close","CloseRequest","show","isVisible","BeforeShow","clearFlag","AfterShow","hide","BeforeHide","AfterHide","setHidden","hidden","flag","processMessage","type","notifyLayout","onResize","onUpdateRequest","onBeforeShow","onAfterShow","onBeforeHide","onAfterHide","onBeforeAttach","isHidden","onAfterAttach","onBeforeDetach","onAfterDetach","onActivateRequest","onCloseRequest","onChildAdded","onChildRemoved","processParentMessage","attach","host","ref","document","body","BeforeAttach","insertBefore","AfterAttach","BeforeDetach","parentNode","removeChild","AfterDetach","Message","ConflatableMessage","_super","child","_this","ResizeMessage","width","height","UnknownSize","createElement","owner","Title","setImmediate","clearImmediate","collections_1","conflate","other","apply","arguments","handler","hooks","messageHooks","length","invokeHandler","every","retro","hook","invokeHook","isConflatable","enqueueMessage","some","messageQueue","posted","installMessageHook","indexOf","push","removeMessageHook","scheduleCleanup","ArrayExt","fill","each","flush","flushGuard","loopTaskID","unschedule","runMessageLoop","getExceptionHandler","exceptionHandler","setExceptionHandler","old","result","messageHook","err","addLast","schedule","isEmpty","sentinel","removeFirst","dirtySet","size","cleanupDirtySet","forEach","cleanupHooks","clear","removeAllWhere","isNull","LinkedList","WeakMap","Set","console","error","requestAnimationFrame","cancelAnimationFrame","sender","connect","slot","thisArg","disconnect","args","disconnectBetween","receiver","disconnectSender","disconnectReceiver","disconnectAll","signal","receivers","receiversForSender","findConnection","senders","sendersForReceiver","connection","invokeSlot","connections","find","array","cleanupConnections","isDeadConnection","ArrayIterator","fn","index","it","next","toArray","source","_index","_source","clone","_pid","nextPID","_create","_coerce","coerce","_compare","compare","_changed","changed","map","ensureMap","_createValue","oldValue","newValue","_coerceValue","_maybeNotify","_compareValue","ownerData","delete","Math","random","slice","domutils_1","widget_1","Layout","layout","init","onFitRequest","onChildShown","onChildHidden","removeWidget","getHorizontalAlignment","horizontalAlignmentProperty","setHorizontalAlignment","getVerticalAlignment","verticalAlignmentProperty","setVerticalAlignment","LayoutItem","_top","NaN","_left","_width","_height","_minWidth","_minHeight","_maxWidth","Infinity","_maxHeight","style","position","top","left","limits","ElementExt","sizeLimits","minWidth","minHeight","maxWidth","maxHeight","clampW","max","min","clampH","resized","onAlignmentChanged","h","tag","attrs","arg","VirtualText","VirtualElement","values","_i","values_1","content","a","bind","abbr","address","area","article","aside","audio","bdi","bdo","blockquote","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","dfn","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hr","iframe","img","input","ins","kbd","label","legend","li","main","mark","meter","nav","noscript","ol","optgroup","option","output","param","pre","progress","q","rp","rt","ruby","samp","section","select","small","span","strong","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var_","video","wbr","VirtualDOM","realize","createDOMNode","render","oldContent","hostMap","newContent","asContentArray","updateContent","createTextNode","element","addAttrs","appendChild","oldKeyed","collectKeys","oldCopy","currElem","firstChild","newCount","oldVNode","newVNode","newKey","key","pair","vNode","move","oldKey","insert","updateAttrs","nextSibling","textContent","lastChild","name_1","specialAttrs","substr","setAttribute","className","htmlFor","addDataset","addStyle","oldAttrs","newAttrs","removeAttribute","updateDataset","updateStyle","name_2","oldDataset","newDataset","name_3","name_4","elemStyle","oldStyle","newStyle","keyMap","content_1","layout_1","PanelLayout","_widgets","pop","addWidget","insertWidget","j","attachWidget","moveWidget","removeWidgetAt","removeAt","detachWidget","fromIndex","toIndex","coreutils_1","disposable_1","keyboard_1","CommandRegistry","_timerID","_replaying","_keystrokes","_keydownEvents","_keyBindings","_exactKeyMatch","_commands","_commandChanged","_commandExecuted","_keyBindingChanged","listCommands","keys","hasCommand","addCommand","createCommand","DisposableDelegate","notifyCommandChanged","JSONExt","emptyObject","cmd","mnemonic","icon","iconClass","iconLabel","usage","isEnabled","isToggled","execute","Promise","reject","resolve","addKeyBinding","binding","createKeyBinding","removeFirstOf","processKeydownEvent","event","keystroke","keystrokeForKeydownEvent","_replayKeydownEvents","_clearPendingState","_a","matchKeyBinding","exact","partial","preventDefault","stopPropagation","_executeKeyBinding","_startTimer","_clearTimer","setTimeout","_onPendingTimeout","CHORD_TIMEOUT","clearTimeout","replayKeyEvent","command","word","join","msg1","msg2","warn","parseKeystroke","alt","ctrl","shift","split","token","Platform","IS_MAC","normalizeKeystroke","mods","parts","getKeyboardLayout","keyForKeydownEvent","ctrlKey","altKey","shiftKey","metaKey","asFunc","emptyStringFunc","negativeOneFunc","emptyDatasetFunc","trueFunc","falseFunc","normalizeKeys","selector","validateSelector","bindings","distance","specificity","sqm","matchSequence","targetDistance","sp","Selector","calculateSpecificity","target","dispatchEvent","cloneKeyboardEvent","dfault","IS_WIN","winKeys","macKeys","linuxKeys","isValid","bindKeys","userKeys","targ","curr","currentTarget","dist","parentElement","matches","createEvent","bubbles","cancelable","initEvent","keyCode","which","view","window","_fn","DisposableSet","_items","item","has","from","items","Drag","_onScrollFrame","_scrollTarget","edge","SCROLL_EDGE_SIZE","f","pow","round","scrollTop","scrollLeft","_dropAction","_override","_currentTarget","_currentElement","_promise","_resolve","mimeData","dragImage","proposedAction","supportedActions","event_1","createMouseEvent","dispatchDragLeave","_finalize","start","clientX","clientY","_addListeners","_attachDragImage","handleEvent","_evtMouseMove","_evtMouseUp","_evtKeyDown","_updateCurrentTarget","_updateDragScroll","_moveDragImage","action","dispatchDrop","addEventListener","_removeListeners","removeEventListener","findScrollTarget","prevTarget","currTarget","prevElem","elementFromPoint","dispatchDragExit","dispatchDragEnter","dispatchDragOver","_setDropAction","pointerEvents","_detachDragImage","validateAction","overrideCursor","cursor","overrideCursorID","supported","actionTable","supportedTable","initMouseEvent","x","y","hasAttribute","offsetX","offsetY","pageXOffset","pageYOffset","r","getBoundingClientRect","top_1","right","bottom","dr","db","dsw","scrollWidth","clientWidth","dsh","scrollHeight","clientHeight","shouldScroll","drag","dragEvent","createDragEvent","dropAction","related","screenX","screenY","none","copy","link","copy-link","copy-move","link-move","all","keyboardLayout","setKeyboardLayout","KeycodeLayout","codes","_codes","_keys","extractKeys","isValidKey","EN_US","8","9","13","19","27","32","33","34","35","36","37","38","39","40","45","46","48","49","50","51","52","53","54","55","56","57","59","61","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","93","96","97","98","99","100","101","102","103","104","105","106","107","109","110","111","112","113","114","115","116","117","118","119","120","121","122","123","173","186","187","188","189","190","191","192","219","220","221","222","BoxSizer","sizeHint","minSize","maxSize","stretch","done","BoxEngine","calc","sizers","space","count","totalMin","totalMax","totalSize","totalStretch","stretchCount","sizer","hint","notDoneCount","freeSpace","distSpace","distStretch","amt","adjust","delta","growSizer","shrinkSizer","growLimit","shrinkLimit","grow","limit","shrink","panellayout_1","Panel","createLayout","widgets","boxengine_1","BoxLayout","_fixed","_spacing","_dirty","_sizers","_box","_alignment","_direction","direction","alignment","spacing","clampSpacing","_update","_fit","nVisible","horz","isHorizontal","minW","minH","getSizeBasis","getStretch","box","boxSizing","horizontalSum","verticalSum","offsetWidth","offsetHeight","paddingTop","paddingLeft","extra","offset","stretchProperty","setStretch","sizeBasisProperty","setSizeBasis","dir","floor","onChildSizingChanged","dragdrop_1","virtualdom_1","TabBar","_currentIndex","_titles","_previousTitle","_dragData","_tabMoved","_currentChanged","_tabCloseRequested","_tabDetachRequested","_tabActivateRequested","tabsMovable","allowDeselect","insertBehavior","removeBehavior","renderer","defaultRenderer","_orientation","orientation","_releaseMouse","currentIndex","pi","pt","ci","ct","previousIndex","previousTitle","currentTitle","getElementsByClassName","addTab","insertTab","asTitle","_onTitleChanged","_adjustCurrentForInsert","_adjustCurrentForMove","removeTab","removeTabAt","_adjustCurrentForRemove","clearTabs","releaseMouse","_evtMouseDown","titles","current","zIndex","renderTab","contentNode","tabs","findFirstIndex","tab","hitTest","pressX","pressY","tabPos","tabSize","tabPressPos","targetIndex","tabLayout","contentRect","override","dragActive","dragAborted","detachRequested","querySelector","closeIconSelector","dragExceeded","tabRect","offsetLeft","offsetTop","snapTabLayout","detachExceeded","layoutTabs","finalizeTabPosition","duration","parseTransitionDuration","resetTabPositions","closable","bh","Renderer","_tabID","_tabKeys","createTabKey","createTabStyle","createTabClass","createTabDataset","renderIcon","renderLabel","renderCloseIcon","createIconClass","getComputedStyle","parseFloat","transitionDuration","pos","margin","marginLeft","marginTop","dx","abs","dy","DRAG_THRESHOLD","rect","DETACH_THRESHOLD","pressPos","localPos","clientPos","clientSize","targetPos","targetEnd","pxPos","threshold","ideal","tgt","final","_label","_caption","_mnemonic","_iconClass","_iconLabel","_className","_closable","_dataset","Timeout","clearFn","_id","_clearFn","Function","setInterval","clearInterval","timeout","unref","enroll","msecs","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","active","_onTimeout","DockLayout","_root","Map","iterAllWidgets","iterUserWidgets","selectedWidgets","iterSelectedWidgets","tabBars","iterTabBars","handles","iterHandles","moveHandle","handle","findSplitNode","holdSizes","saveLayout","holdAllSizes","createConfig","restoreLayout","config","mainConfig","widgetSet","normalizeAreaConfig","oldWidgets","oldTabBars","oldHandles","tabBar","realizeAreaConfig","createTabBar","_createTabBar","createHandle","_createHandle","mode","refNode","findTabNode","_insertTab","_insertSplit","_removeWidget","hitTestTabAreas","borderLeft","borderTop","tabNode","hitTestTabNodes","borderWidth","borderRight","borderHeight","borderBottom","splitNode","syncHandles","maybeParent","childNode","childHandle","TabLayoutNode","splitHandle","i_1","gChild","gHandle","gSizer","after","findFirstTabNode","_splitRoot","i_2","normalizeSizes","createSizer","GOLDEN_RATIO","i_3","j_1","SplitLayoutNode","normalized","oldRoot","newRoot","normalizeTabAreaConfig","normalizeSplitAreaConfig","realizeTabAreaConfig","realizeSplitAreaConfig","sizes","tabSizer","widgetSizer","chain","once","tabBarItem","widgetItem","tabBarSizer","ChainIterator","createNormalizedSizes","sum","reduce","v","horizontal","fixed","handleStyle","__assign","assign","t","commands_1","Menu","_childIndex","_activeIndex","_openTimerID","_closeTimerID","_childMenu","_parentMenu","_aboutToClose","_menuRequested","commands","menu","activeIndex","canActivate","activateNextItem","ai","stop","activatePreviousItem","findLastIndex","triggerActiveItem","activeItem","_cancelOpenTimer","_cancelCloseTimer","_openChildMenu","rootMenu","log","addItem","insertItem","createItem","removeItem","removeItemAt","clearItems","open","forceX","forceY","openRootMenu","_evtMouseEnter","_evtMouseLeave","focus","collapsedFlags","computeCollapsed","collapsed","renderItem","childMenu","parentMenu","kc","findMnemonic","multiple","auto","_startCloseTimer","submenu","_startOpenTimer","hitTestMenus","activateFirst","_closeChildMenu","itemNode","openSubmenu","TIMER_DELAY","createItemClass","createItemDataset","renderShortcut","renderSubmenu","formatLabel","formatShortcut","prefix","suffix","char","kb","keyBinding","formatKeystroke","tabIndex","MenuItem","temp","k1","k2","px","py","cw","documentElement","ch","visibility","itemRect","SUBMENU_OVERLAP","paddingBottom","upperKey","toUpperCase","k","mn","command_1","args_1","findLastValue","keyBindings","deepEqual","SplitLayout","_hasNormedSizes","_handles","relativeSizes","normalize","setRelativeSizes","normed","average","averageSize","lastHandleIndex","StackedLayout","panel_1","stackedlayout_1","StackedPanel","_widgetRemoved","widgets_1","Application","_started","_pluginMap","createPluginMap","_serviceMap","createServiceMap","_delegate","PromiseDelegate","contextMenuRenderer","contextMenu","ContextMenu","shell","promise","hasPlugin","listPlugins","registerPlugin","plugin","createPluginData","ensureNoCycle","provides","registerPlugins","plugins","plugins_1","activatePlugin","activated","required","requires","resolveRequiredService","optional","resolveOptionalService","promises","concat","then","services","service","catch","reason","hostID","startups","collectStartupPlugins","attachShell","addEventListeners","evtResize","evtKeydown","evtContextMenu","getElementById","autoStart","pluginMap","serviceMap","visit","trace","resultMap","startPlugins","ignorePlugins","_b","_c","algorithm","application","collections","coreutils","disposable","domutils","dragdrop","keyboard","messaging","properties","signaling","virtualdom","firstIndexOf","lastIndexOf","findFirstValue","lowerBound","begin","half","middle","upperBound","reverse","rotate","pivot","removeLastOf","removeAllOf","removeFirstWhere","removeLastWhere","objects","iter_1","_cloned","_active","EmptyIterator","filter","FilterIterator","minmax","vmin","vmax","MapIterator","range","step","RangeIterator","_start","_stop","_step","_length","rangeLength","ceil","initial","first","TypeError","second","accumulator","repeat","RepeatIterator","_value","_count","RetroArrayIterator","topologicSort","edges","addEdge","fromNode","toNode","graph","visited","sorted","stride","StrideIterator","StringExt","findIndices","query","indices","matchSumOfSquares","score","matchSumOfDeltas","last","highlight","take","TakeIterator","zip","ZipIterator","_first","_last","ForwardValueIterator","RetroValueIterator","nodes","ForwardNodeIterator","retroNodes","RetroNodeIterator","addFirst","LinkedListNode","prev","list","_ref","insertAfter","removeLast","removeNode","_node","isPrimitive","isArray","isObject","a1","a2","deepArrayEqual","deepObjectEqual","deepCopy","deepArrayCopy","deepObjectCopy","freeze","emptyArray","MimeData","_types","_values","types","hasData","mime","getData","setData","splice","_reject","Token","_tokenStructuralPropertyT","bt","borderTopWidth","bl","borderLeftWidth","borderRightWidth","bb","borderBottomWidth","pl","pr","paddingRight","pb","scrollIntoViewIfNeeded","ar","er","navigator","platform","match","IS_IE","test","userAgent","IS_EDGE","specificityCache","calculateSingle","validityCache","testElem","protoMatchFunc","re","replace","NEGATION_RE","ID_RE","CLASS_RE","ATTR_RE","PSEUDO_ELEM_RE","PSEDUO_CLASS_RE","TYPE_RE","IGNORE_RE","proto","Element","matchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","webkitMatchesSelector","elem","ownerDocument","querySelectorAll","boxlayout_1","BoxPanel","CommandPalette","_results","commandChanged","_onGenericChange","keyBindingChanged","refresh","_evtClick","_toggleFocused","inputNode","results","search","renderEmptyMessage","category","renderHeader","_execute","_activatePreviousItem","_activateNextItem","part","toLowerCase","focused","activeElement","formatHeader","renderItemShortcut","renderItemLabel","renderItemCaption","formatEmptyMessage","formatItemShortcut","formatItemLabel","formatItemCaption","wrapper","spellcheck","CommandItem","scores","matchItems","sort","scoreCmp","createResults","normalizeCategory","trim","normalizeQuery","text","fuzzySearch","matchType","categoryIndices","labelIndices","rgx","rgxMatch","exec","m1","d1","i1","i2","d2","localeCompare","r1","rank","r2","item_1","menu_1","_idTick","availableItems","itemCmp","s1","s2","docklayout_1","tabbar_1","DockPanel","_drag","_pressData","_layoutModified","_mode","_renderer","overlay","Overlay","createSingleDocumentConfig","LayoutModified","selectWidget","bar","activateWidget","_evtDragEnter","_evtDragLeave","_evtDragOver","_evtDrop","isGeneratedTabBarProperty","relatedTarget","_showOverlay","findDropTarget","zone","getDropRef","deltaX","deltaY","xPos","yPos","tabMoved","_onTabMoved","currentChanged","_onCurrentChanged","tabCloseRequested","_onTabCloseRequested","tabDetachRequested","_onTabDetachRequested","tabActivateRequested","_onTabActivateRequested","cloneNode","cleanup","_timer","_hidden","geo","delay","panel","selected","panelRect","pd","EDGE_SIZE","zone_1","al","at","ab","rx","ry","ad","FocusTracker","_counter","_activeWidget","_currentWidget","_numbers","_nodes","_activeChanged","w","focusNumber","disposed","_onWidgetDisposed","_setWidgets","valid","previous","_evtFocus","_evtBlur","oldCurrent","oldActive","focusTarget","MenuBar","_menus","openActiveMenu","addMenu","insertMenu","aboutToClose","_onMenuAboutToClose","menuRequested","_onMenuMenuRequested","removeMenu","removeMenuAt","clearMenus","menus","blur","stopImmediatePropagation","newMenu","activeMenu","oldMenu","splitlayout_1","SplitPanel","stackedpanel_1","TabPanel","stackedPanel","widgetRemoved","_onWidgetRemoved","_tabPlacement","tabPlacement","directionFromPlacement","orientationFromPlacement","currentWidget","previousWidget","plc","placementToOrientationMap","placementToDirectionMap","defaultSetTimout","defaultClearTimeout","runTimeout","fun","cachedSetTimeout","e","runClearTimeout","marker","cachedClearTimeout","cleanUpNextTick","draining","currentQueue","queue","queueIndex","drainQueue","len","run","Item","noop","process","nextTick","browser","env","argv","version","versions","on","addListener","off","removeListener","removeAllListeners","prependListener","prependOnceListener","listeners","cwd","chdir","umask","global","callback","task","tasksByHandle","nextHandle","registerImmediate","runIfPresent","currentlyRunningATask","doc","attachTo","getPrototypeOf","toString","importScripts","postMessageIsAsynchronous","oldOnMessage","onmessage","messagePrefix","onGlobalMessage","attachEvent","MessageChannel","channel","port1","port2","html","script","onreadystatechange","self","g","eval"],"mappings":"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","file":"./phosphor.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"phosphor\"] = factory();\n\telse\n\t\troot[\"phosphor\"] = factory();\n})(this, function() {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"phosphor\"] = factory();\n\telse\n\t\troot[\"phosphor\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\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/******/ \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// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\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, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\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/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 30);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/*-----------------------------------------------------------------------------\r\n| Copyright (c) 2014-2017, PhosphorJS Contributors\r\n|\r\n| Distributed under the terms of the BSD 3-Clause License.\r\n|\r\n| The full license is in the file LICENSE, distributed with this software.\r\n|----------------------------------------------------------------------------*/\r\n__export(__webpack_require__(31));\r\n__export(__webpack_require__(32));\r\n__export(__webpack_require__(33));\r\n__export(__webpack_require__(34));\r\n__export(__webpack_require__(35));\r\n__export(__webpack_require__(5));\r\n__export(__webpack_require__(36));\r\n__export(__webpack_require__(37));\r\n__export(__webpack_require__(38));\r\n__export(__webpack_require__(39));\r\n__export(__webpack_require__(40));\r\n__export(__webpack_require__(41));\r\n__export(__webpack_require__(42));\r\n__export(__webpack_require__(43));\r\n__export(__webpack_require__(44));\r\n__export(__webpack_require__(45));\r\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/*-----------------------------------------------------------------------------\r\n| Copyright (c) 2014-2017, PhosphorJS Contributors\r\n|\r\n| Distributed under the terms of the BSD 3-Clause License.\r\n|\r\n| The full license is in the file LICENSE, distributed with this software.\r\n|----------------------------------------------------------------------------*/\r\n__export(__webpack_require__(51));\r\n__export(__webpack_require__(52));\r\n__export(__webpack_require__(53));\r\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/*-----------------------------------------------------------------------------\r\n| Copyright (c) 2014-2017, PhosphorJS Contributors\r\n|\r\n| Distributed under the terms of the BSD 3-Clause License.\r\n|\r\n| The full license is in the file LICENSE, distributed with this software.\r\n|----------------------------------------------------------------------------*/\r\nvar algorithm_1 = __webpack_require__(0);\r\nvar messaging_1 = __webpack_require__(3);\r\nvar properties_1 = __webpack_require__(7);\r\nvar signaling_1 = __webpack_require__(4);\r\nvar title_1 = __webpack_require__(19);\r\n/**\r\n * The base class of the Phosphor widget hierarchy.\r\n *\r\n * #### Notes\r\n * This class will typically be subclassed in order to create a useful\r\n * widget. However, it can be used directly to host externally created\r\n * content.\r\n */\r\nvar Widget = (function () {\r\n /**\r\n * Construct a new widget.\r\n *\r\n * @param options - The options for initializing the widget.\r\n */\r\n function Widget(options) {\r\n if (options === void 0) { options = {}; }\r\n this._flags = 0;\r\n this._layout = null;\r\n this._parent = null;\r\n this._disposed = new signaling_1.Signal(this);\r\n this.node = Private.createNode(options);\r\n this.addClass('p-Widget');\r\n }\r\n /**\r\n * Dispose of the widget and its descendant widgets.\r\n *\r\n * #### Notes\r\n * It is unsafe to use the widget after it has been disposed.\r\n *\r\n * All calls made to this method after the first are a no-op.\r\n */\r\n Widget.prototype.dispose = function () {\r\n // Do nothing if the widget is already disposed.\r\n if (this.isDisposed) {\r\n return;\r\n }\r\n // Set the disposed flag and emit the disposed signal.\r\n this.setFlag(Widget.Flag.IsDisposed);\r\n this._disposed.emit(undefined);\r\n // Remove or detach the widget if necessary.\r\n if (this.parent) {\r\n this.parent = null;\r\n }\r\n else if (this.isAttached) {\r\n Widget.detach(this);\r\n }\r\n // Dispose of the widget layout.\r\n if (this._layout) {\r\n this._layout.dispose();\r\n this._layout = null;\r\n }\r\n // Clear the extra data associated with the widget.\r\n signaling_1.Signal.clearData(this);\r\n messaging_1.MessageLoop.clearData(this);\r\n properties_1.AttachedProperty.clearData(this);\r\n };\r\n Object.defineProperty(Widget.prototype, \"disposed\", {\r\n /**\r\n * A signal emitted when the widget is disposed.\r\n */\r\n get: function () {\r\n return this._disposed;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(Widget.prototype, \"isDisposed\", {\r\n /**\r\n * Test whether the widget has been disposed.\r\n */\r\n get: function () {\r\n return this.testFlag(Widget.Flag.IsDisposed);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(Widget.prototype, \"isAttached\", {\r\n /**\r\n * Test whether the widget's node is attached to the DOM.\r\n */\r\n get: function () {\r\n return this.testFlag(Widget.Flag.IsAttached);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(Widget.prototype, \"isHidden\", {\r\n /**\r\n * Test whether the widget is explicitly hidden.\r\n */\r\n get: function () {\r\n return this.testFlag(Widget.Flag.IsHidden);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(Widget.prototype, \"isVisible\", {\r\n /**\r\n * Test whether the widget is visible.\r\n *\r\n * #### Notes\r\n * A widget is visible when it is attached to the DOM, is not\r\n * explicitly hidden, and has no explicitly hidden ancestors.\r\n */\r\n get: function () {\r\n return this.testFlag(Widget.Flag.IsVisible);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(Widget.prototype, \"title\", {\r\n /**\r\n * The title object for the widget.\r\n *\r\n * #### Notes\r\n * The title object is used by some container widgets when displaying\r\n * the widget alongside some title, such as a tab panel or side bar.\r\n *\r\n * Since not all widgets will use the title, it is created on demand.\r\n *\r\n * The `owner` property of the title is set to this widget.\r\n */\r\n get: function () {\r\n return Private.titleProperty.get(this);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(Widget.prototype, \"id\", {\r\n /**\r\n * Get the id of the widget's DOM node.\r\n */\r\n get: function () {\r\n return this.node.id;\r\n },\r\n /**\r\n * Set the id of the widget's DOM node.\r\n */\r\n set: function (value) {\r\n this.node.id = value;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(Widget.prototype, \"dataset\", {\r\n /**\r\n * The dataset for the widget's DOM node.\r\n */\r\n get: function () {\r\n return this.node.dataset;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(Widget.prototype, \"parent\", {\r\n /**\r\n * Get the parent of the widget.\r\n */\r\n get: function () {\r\n return this._parent;\r\n },\r\n /**\r\n * Set the parent of the widget.\r\n *\r\n * #### Notes\r\n * Children are typically added to a widget by using a layout, which\r\n * means user code will not normally set the parent widget directly.\r\n *\r\n * The widget will be automatically removed from its old parent.\r\n *\r\n * This is a no-op if there is no effective parent change.\r\n */\r\n set: function (value) {\r\n if (this._parent === value) {\r\n return;\r\n }\r\n if (value && this.contains(value)) {\r\n throw new Error('Invalid parent widget.');\r\n }\r\n if (this._parent && !this._parent.isDisposed) {\r\n var msg = new Widget.ChildMessage('child-removed', this);\r\n messaging_1.MessageLoop.sendMessage(this._parent, msg);\r\n }\r\n this._parent = value;\r\n if (this._parent && !this._parent.isDisposed) {\r\n var msg = new Widget.ChildMessage('child-added', this);\r\n messaging_1.MessageLoop.sendMessage(this._parent, msg);\r\n }\r\n messaging_1.MessageLoop.sendMessage(this, Widget.Msg.ParentChanged);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(Widget.prototype, \"layout\", {\r\n /**\r\n * Get the layout for the widget.\r\n */\r\n get: function () {\r\n return this._layout;\r\n },\r\n /**\r\n * Set the layout for the widget.\r\n *\r\n * #### Notes\r\n * The layout is single-use only. It cannot be changed after the\r\n * first assignment.\r\n *\r\n * The layout is disposed automatically when the widget is disposed.\r\n */\r\n set: function (value) {\r\n if (this._layout === value) {\r\n return;\r\n }\r\n if (this.testFlag(Widget.Flag.DisallowLayout)) {\r\n throw new Error('Cannot set widget layout.');\r\n }\r\n if (this._layout) {\r\n throw new Error('Cannot change widget layout.');\r\n }\r\n if (value.parent) {\r\n throw new Error('Cannot change layout parent.');\r\n }\r\n this._layout = value;\r\n value.parent = this;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n /**\r\n * Create an iterator over the widget's children.\r\n *\r\n * @returns A new iterator over the children of the widget.\r\n *\r\n * #### Notes\r\n * The widget must have a populated layout in order to have children.\r\n *\r\n * If a layout is not installed, the returned iterator will be empty.\r\n */\r\n Widget.prototype.children = function () {\r\n return this._layout ? this._layout.iter() : algorithm_1.empty();\r\n };\r\n /**\r\n * Test whether a widget is a descendant of this widget.\r\n *\r\n * @param widget - The descendant widget of interest.\r\n *\r\n * @returns `true` if the widget is a descendant, `false` otherwise.\r\n */\r\n Widget.prototype.contains = function (widget) {\r\n for (var value = widget; value; value = value._parent) {\r\n if (value === this) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n };\r\n /**\r\n * Test whether the widget's DOM node has the given class name.\r\n *\r\n * @param name - The class name of interest.\r\n *\r\n * @returns `true` if the node has the class, `false` otherwise.\r\n */\r\n Widget.prototype.hasClass = function (name) {\r\n return this.node.classList.contains(name);\r\n };\r\n /**\r\n * Add a class name to the widget's DOM node.\r\n *\r\n * @param name - The class name to add to the node.\r\n *\r\n * #### Notes\r\n * If the class name is already added to the node, this is a no-op.\r\n *\r\n * The class name must not contain whitespace.\r\n */\r\n Widget.prototype.addClass = function (name) {\r\n this.node.classList.add(name);\r\n };\r\n /**\r\n * Remove a class name from the widget's DOM node.\r\n *\r\n * @param name - The class name to remove from the node.\r\n *\r\n * #### Notes\r\n * If the class name is not yet added to the node, this is a no-op.\r\n *\r\n * The class name must not contain whitespace.\r\n */\r\n Widget.prototype.removeClass = function (name) {\r\n this.node.classList.remove(name);\r\n };\r\n /**\r\n * Toggle a class name on the widget's DOM node.\r\n *\r\n * @param name - The class name to toggle on the node.\r\n *\r\n * @param force - Whether to force add the class (`true`) or force\r\n * remove the class (`false`). If not provided, the presence of\r\n * the class will be toggled from its current state.\r\n *\r\n * @returns `true` if the class is now present, `false` otherwise.\r\n *\r\n * #### Notes\r\n * The class name must not contain whitespace.\r\n */\r\n Widget.prototype.toggleClass = function (name, force) {\r\n if (force === true) {\r\n this.node.classList.add(name);\r\n return true;\r\n }\r\n if (force === false) {\r\n this.node.classList.remove(name);\r\n return false;\r\n }\r\n return this.node.classList.toggle(name);\r\n };\r\n /**\r\n * Post an `'update-request'` message to the widget.\r\n *\r\n * #### Notes\r\n * This is a simple convenience method for posting the message.\r\n */\r\n Widget.prototype.update = function () {\r\n messaging_1.MessageLoop.postMessage(this, Widget.Msg.UpdateRequest);\r\n };\r\n /**\r\n * Post a `'fit-request'` message to the widget.\r\n *\r\n * #### Notes\r\n * This is a simple convenience method for posting the message.\r\n */\r\n Widget.prototype.fit = function () {\r\n messaging_1.MessageLoop.postMessage(this, Widget.Msg.FitRequest);\r\n };\r\n /**\r\n * Post an `'activate-request'` message to the widget.\r\n *\r\n * #### Notes\r\n * This is a simple convenience method for posting the message.\r\n */\r\n Widget.prototype.activate = function () {\r\n messaging_1.MessageLoop.postMessage(this, Widget.Msg.ActivateRequest);\r\n };\r\n /**\r\n * Send a `'close-request'` message to the widget.\r\n *\r\n * #### Notes\r\n * This is a simple convenience method for sending the message.\r\n */\r\n Widget.prototype.close = function () {\r\n messaging_1.MessageLoop.sendMessage(this, Widget.Msg.CloseRequest);\r\n };\r\n /**\r\n * Show the widget and make it visible to its parent widget.\r\n *\r\n * #### Notes\r\n * This causes the [[isHidden]] property to be `false`.\r\n *\r\n * If the widget is not explicitly hidden, this is a no-op.\r\n */\r\n Widget.prototype.show = function () {\r\n if (!this.testFlag(Widget.Flag.IsHidden)) {\r\n return;\r\n }\r\n if (this.isAttached && (!this.parent || this.parent.isVisible)) {\r\n messaging_1.MessageLoop.sendMessage(this, Widget.Msg.BeforeShow);\r\n }\r\n this.clearFlag(Widget.Flag.IsHidden);\r\n this.removeClass('p-mod-hidden');\r\n if (this.isAttached && (!this.parent || this.parent.isVisible)) {\r\n messaging_1.MessageLoop.sendMessage(this, Widget.Msg.AfterShow);\r\n }\r\n if (this.parent) {\r\n var msg = new Widget.ChildMessage('child-shown', this);\r\n messaging_1.MessageLoop.sendMessage(this.parent, msg);\r\n }\r\n };\r\n /**\r\n * Hide the widget and make it hidden to its parent widget.\r\n *\r\n * #### Notes\r\n * This causes the [[isHidden]] property to be `true`.\r\n *\r\n * If the widget is explicitly hidden, this is a no-op.\r\n */\r\n Widget.prototype.hide = function () {\r\n if (this.testFlag(Widget.Flag.IsHidden)) {\r\n return;\r\n }\r\n if (this.isAttached && (!this.parent || this.parent.isVisible)) {\r\n messaging_1.MessageLoop.sendMessage(this, Widget.Msg.BeforeHide);\r\n }\r\n this.setFlag(Widget.Flag.IsHidden);\r\n this.addClass('p-mod-hidden');\r\n if (this.isAttached && (!this.parent || this.parent.isVisible)) {\r\n messaging_1.MessageLoop.sendMessage(this, Widget.Msg.AfterHide);\r\n }\r\n if (this.parent) {\r\n var msg = new Widget.ChildMessage('child-hidden', this);\r\n messaging_1.MessageLoop.sendMessage(this.parent, msg);\r\n }\r\n };\r\n /**\r\n * Show or hide the widget according to a boolean value.\r\n *\r\n * @param hidden - `true` to hide the widget, or `false` to show it.\r\n *\r\n * #### Notes\r\n * This is a convenience method for `hide()` and `show()`.\r\n */\r\n Widget.prototype.setHidden = function (hidden) {\r\n if (hidden) {\r\n this.hide();\r\n }\r\n else {\r\n this.show();\r\n }\r\n };\r\n /**\r\n * Test whether the given widget flag is set.\r\n *\r\n * #### Notes\r\n * This will not typically be called directly by user code.\r\n */\r\n Widget.prototype.testFlag = function (flag) {\r\n return (this._flags & flag) !== 0;\r\n };\r\n /**\r\n * Set the given widget flag.\r\n *\r\n * #### Notes\r\n * This will not typically be called directly by user code.\r\n */\r\n Widget.prototype.setFlag = function (flag) {\r\n this._flags |= flag;\r\n };\r\n /**\r\n * Clear the given widget flag.\r\n *\r\n * #### Notes\r\n * This will not typically be called directly by user code.\r\n */\r\n Widget.prototype.clearFlag = function (flag) {\r\n this._flags &= ~flag;\r\n };\r\n /**\r\n * Process a message sent to the widget.\r\n *\r\n * @param msg - The message sent to the widget.\r\n *\r\n * #### Notes\r\n * Subclasses may reimplement this method as needed.\r\n */\r\n Widget.prototype.processMessage = function (msg) {\r\n switch (msg.type) {\r\n case 'resize':\r\n this.notifyLayout(msg);\r\n this.onResize(msg);\r\n break;\r\n case 'update-request':\r\n this.notifyLayout(msg);\r\n this.onUpdateRequest(msg);\r\n break;\r\n case 'before-show':\r\n this.notifyLayout(msg);\r\n this.onBeforeShow(msg);\r\n break;\r\n case 'after-show':\r\n this.setFlag(Widget.Flag.IsVisible);\r\n this.notifyLayout(msg);\r\n this.onAfterShow(msg);\r\n break;\r\n case 'before-hide':\r\n this.notifyLayout(msg);\r\n this.onBeforeHide(msg);\r\n break;\r\n case 'after-hide':\r\n this.clearFlag(Widget.Flag.IsVisible);\r\n this.notifyLayout(msg);\r\n this.onAfterHide(msg);\r\n break;\r\n case 'before-attach':\r\n this.notifyLayout(msg);\r\n this.onBeforeAttach(msg);\r\n break;\r\n case 'after-attach':\r\n if (!this.isHidden && (!this.parent || this.parent.isVisible)) {\r\n this.setFlag(Widget.Flag.IsVisible);\r\n }\r\n this.setFlag(Widget.Flag.IsAttached);\r\n this.notifyLayout(msg);\r\n this.onAfterAttach(msg);\r\n break;\r\n case 'before-detach':\r\n this.notifyLayout(msg);\r\n this.onBeforeDetach(msg);\r\n break;\r\n case 'after-detach':\r\n this.clearFlag(Widget.Flag.IsVisible);\r\n this.clearFlag(Widget.Flag.IsAttached);\r\n this.notifyLayout(msg);\r\n this.onAfterDetach(msg);\r\n break;\r\n case 'activate-request':\r\n this.notifyLayout(msg);\r\n this.onActivateRequest(msg);\r\n break;\r\n case 'close-request':\r\n this.notifyLayout(msg);\r\n this.onCloseRequest(msg);\r\n break;\r\n case 'child-added':\r\n this.notifyLayout(msg);\r\n this.onChildAdded(msg);\r\n break;\r\n case 'child-removed':\r\n this.notifyLayout(msg);\r\n this.onChildRemoved(msg);\r\n break;\r\n default:\r\n this.notifyLayout(msg);\r\n break;\r\n }\r\n };\r\n /**\r\n * Invoke the message processing routine of the widget's layout.\r\n *\r\n * @param msg - The message to dispatch to the layout.\r\n *\r\n * #### Notes\r\n * This is a no-op if the widget does not have a layout.\r\n *\r\n * This will not typically be called directly by user code.\r\n */\r\n Widget.prototype.notifyLayout = function (msg) {\r\n if (this._layout) {\r\n this._layout.processParentMessage(msg);\r\n }\r\n };\r\n /**\r\n * A message handler invoked on a `'close-request'` message.\r\n *\r\n * #### Notes\r\n * The default implementation unparents or detaches the widget.\r\n */\r\n Widget.prototype.onCloseRequest = function (msg) {\r\n if (this.parent) {\r\n this.parent = null;\r\n }\r\n else if (this.isAttached) {\r\n Widget.detach(this);\r\n }\r\n };\r\n /**\r\n * A message handler invoked on a `'resize'` message.\r\n *\r\n * #### Notes\r\n * The default implementation of this handler is a no-op.\r\n */\r\n Widget.prototype.onResize = function (msg) { };\r\n /**\r\n * A message handler invoked on an `'update-request'` message.\r\n *\r\n * #### Notes\r\n * The default implementation of this handler is a no-op.\r\n */\r\n Widget.prototype.onUpdateRequest = function (msg) { };\r\n /**\r\n * A message handler invoked on an `'activate-request'` message.\r\n *\r\n * #### Notes\r\n * The default implementation of this handler is a no-op.\r\n */\r\n Widget.prototype.onActivateRequest = function (msg) { };\r\n /**\r\n * A message handler invoked on a `'before-show'` message.\r\n *\r\n * #### Notes\r\n * The default implementation of this handler is a no-op.\r\n */\r\n Widget.prototype.onBeforeShow = function (msg) { };\r\n /**\r\n * A message handler invoked on an `'after-show'` message.\r\n *\r\n * #### Notes\r\n * The default implementation of this handler is a no-op.\r\n */\r\n Widget.prototype.onAfterShow = function (msg) { };\r\n /**\r\n * A message handler invoked on a `'before-hide'` message.\r\n *\r\n * #### Notes\r\n * The default implementation of this handler is a no-op.\r\n */\r\n Widget.prototype.onBeforeHide = function (msg) { };\r\n /**\r\n * A message handler invoked on an `'after-hide'` message.\r\n *\r\n * #### Notes\r\n * The default implementation of this handler is a no-op.\r\n */\r\n Widget.prototype.onAfterHide = function (msg) { };\r\n /**\r\n * A message handler invoked on a `'before-attach'` message.\r\n *\r\n * #### Notes\r\n * The default implementation of this handler is a no-op.\r\n */\r\n Widget.prototype.onBeforeAttach = function (msg) { };\r\n /**\r\n * A message handler invoked on an `'after-attach'` message.\r\n *\r\n * #### Notes\r\n * The default implementation of this handler is a no-op.\r\n */\r\n Widget.prototype.onAfterAttach = function (msg) { };\r\n /**\r\n * A message handler invoked on a `'before-detach'` message.\r\n *\r\n * #### Notes\r\n * The default implementation of this handler is a no-op.\r\n */\r\n Widget.prototype.onBeforeDetach = function (msg) { };\r\n /**\r\n * A message handler invoked on an `'after-detach'` message.\r\n *\r\n * #### Notes\r\n * The default implementation of this handler is a no-op.\r\n */\r\n Widget.prototype.onAfterDetach = function (msg) { };\r\n /**\r\n * A message handler invoked on a `'child-added'` message.\r\n *\r\n * #### Notes\r\n * The default implementation of this handler is a no-op.\r\n */\r\n Widget.prototype.onChildAdded = function (msg) { };\r\n /**\r\n * A message handler invoked on a `'child-removed'` message.\r\n *\r\n * #### Notes\r\n * The default implementation of this handler is a no-op.\r\n */\r\n Widget.prototype.onChildRemoved = function (msg) { };\r\n return Widget;\r\n}());\r\nexports.Widget = Widget;\r\n/**\r\n * The namespace for the `Widget` class statics.\r\n */\r\n(function (Widget) {\r\n /**\r\n * An enum of widget bit flags.\r\n */\r\n var Flag;\r\n (function (Flag) {\r\n /**\r\n * The widget has been disposed.\r\n */\r\n Flag[Flag[\"IsDisposed\"] = 1] = \"IsDisposed\";\r\n /**\r\n * The widget is attached to the DOM.\r\n */\r\n Flag[Flag[\"IsAttached\"] = 2] = \"IsAttached\";\r\n /**\r\n * The widget is hidden.\r\n */\r\n Flag[Flag[\"IsHidden\"] = 4] = \"IsHidden\";\r\n /**\r\n * The widget is visible.\r\n */\r\n Flag[Flag[\"IsVisible\"] = 8] = \"IsVisible\";\r\n /**\r\n * A layout cannot be set on the widget.\r\n */\r\n Flag[Flag[\"DisallowLayout\"] = 16] = \"DisallowLayout\";\r\n })(Flag = Widget.Flag || (Widget.Flag = {}));\r\n /**\r\n * A collection of stateless messages related to widgets.\r\n */\r\n var Msg;\r\n (function (Msg) {\r\n /**\r\n * A singleton `'before-show'` message.\r\n *\r\n * #### Notes\r\n * This message is sent to a widget before it becomes visible.\r\n *\r\n * This message is **not** sent when the widget is being attached.\r\n */\r\n Msg.BeforeShow = new messaging_1.Message('before-show');\r\n /**\r\n * A singleton `'after-show'` message.\r\n *\r\n * #### Notes\r\n * This message is sent to a widget after it becomes visible.\r\n *\r\n * This message is **not** sent when the widget is being attached.\r\n */\r\n Msg.AfterShow = new messaging_1.Message('after-show');\r\n /**\r\n * A singleton `'before-hide'` message.\r\n *\r\n * #### Notes\r\n * This message is sent to a widget before it becomes not-visible.\r\n *\r\n * This message is **not** sent when the widget is being detached.\r\n */\r\n Msg.BeforeHide = new messaging_1.Message('before-hide');\r\n /**\r\n * A singleton `'after-hide'` message.\r\n *\r\n * #### Notes\r\n * This message is sent to a widget after it becomes not-visible.\r\n *\r\n * This message is **not** sent when the widget is being detached.\r\n */\r\n Msg.AfterHide = new messaging_1.Message('after-hide');\r\n /**\r\n * A singleton `'before-attach'` message.\r\n *\r\n * #### Notes\r\n * This message is sent to a widget before it is attached.\r\n */\r\n Msg.BeforeAttach = new messaging_1.Message('before-attach');\r\n /**\r\n * A singleton `'after-attach'` message.\r\n *\r\n * #### Notes\r\n * This message is sent to a widget after it is attached.\r\n */\r\n Msg.AfterAttach = new messaging_1.Message('after-attach');\r\n /**\r\n * A singleton `'before-detach'` message.\r\n *\r\n * #### Notes\r\n * This message is sent to a widget before it is detached.\r\n */\r\n Msg.BeforeDetach = new messaging_1.Message('before-detach');\r\n /**\r\n * A singleton `'after-detach'` message.\r\n *\r\n * #### Notes\r\n * This message is sent to a widget after it is detached.\r\n */\r\n Msg.AfterDetach = new messaging_1.Message('after-detach');\r\n /**\r\n * A singleton `'parent-changed'` message.\r\n *\r\n * #### Notes\r\n * This message is sent to a widget when its parent has changed.\r\n */\r\n Msg.ParentChanged = new messaging_1.Message('parent-changed');\r\n /**\r\n * A singleton conflatable `'update-request'` message.\r\n *\r\n * #### Notes\r\n * This message can be dispatched to supporting widgets in order to\r\n * update their content based on the current widget state. Not all\r\n * widgets will respond to messages of this type.\r\n *\r\n * For widgets with a layout, this message will inform the layout to\r\n * update the position and size of its child widgets.\r\n */\r\n Msg.UpdateRequest = new messaging_1.ConflatableMessage('update-request');\r\n /**\r\n * A singleton conflatable `'fit-request'` message.\r\n *\r\n * #### Notes\r\n * For widgets with a layout, this message will inform the layout to\r\n * recalculate its size constraints to fit the space requirements of\r\n * its child widgets, and to update their position and size. Not all\r\n * layouts will respond to messages of this type.\r\n */\r\n Msg.FitRequest = new messaging_1.ConflatableMessage('fit-request');\r\n /**\r\n * A singleton conflatable `'activate-request'` message.\r\n *\r\n * #### Notes\r\n * This message should be dispatched to a widget when it should\r\n * perform the actions necessary to activate the widget, which\r\n * may include focusing its node or descendant node.\r\n */\r\n Msg.ActivateRequest = new messaging_1.ConflatableMessage('activate-request');\r\n /**\r\n * A singleton conflatable `'close-request'` message.\r\n *\r\n * #### Notes\r\n * This message should be dispatched to a widget when it should close\r\n * and remove itself from the widget hierarchy.\r\n */\r\n Msg.CloseRequest = new messaging_1.ConflatableMessage('close-request');\r\n })(Msg = Widget.Msg || (Widget.Msg = {}));\r\n /**\r\n * A message class for child related messages.\r\n */\r\n var ChildMessage = (function (_super) {\r\n __extends(ChildMessage, _super);\r\n /**\r\n * Construct a new child message.\r\n *\r\n * @param type - The message type.\r\n *\r\n * @param child - The child widget for the message.\r\n */\r\n function ChildMessage(type, child) {\r\n var _this = _super.call(this, type) || this;\r\n _this.child = child;\r\n return _this;\r\n }\r\n return ChildMessage;\r\n }(messaging_1.Message));\r\n Widget.ChildMessage = ChildMessage;\r\n /**\r\n * A message class for `'resize'` messages.\r\n */\r\n var ResizeMessage = (function (_super) {\r\n __extends(ResizeMessage, _super);\r\n /**\r\n * Construct a new resize message.\r\n *\r\n * @param width - The **offset width** of the widget, or `-1` if\r\n * the width is not known.\r\n *\r\n * @param height - The **offset height** of the widget, or `-1` if\r\n * the height is not known.\r\n */\r\n function ResizeMessage(width, height) {\r\n var _this = _super.call(this, 'resize') || this;\r\n _this.width = width;\r\n _this.height = height;\r\n return _this;\r\n }\r\n return ResizeMessage;\r\n }(messaging_1.Message));\r\n Widget.ResizeMessage = ResizeMessage;\r\n /**\r\n * The namespace for the `ResizeMessage` class statics.\r\n */\r\n (function (ResizeMessage) {\r\n /**\r\n * A singleton `'resize'` message with an unknown size.\r\n */\r\n ResizeMessage.UnknownSize = new ResizeMessage(-1, -1);\r\n })(ResizeMessage = Widget.ResizeMessage || (Widget.ResizeMessage = {}));\r\n /**\r\n * Attach a widget to a host DOM node.\r\n *\r\n * @param widget - The widget of interest.\r\n *\r\n * @param host - The DOM node to use as the widget's host.\r\n *\r\n * @param ref - The child of `host` to use as the reference element.\r\n * If this is provided, the widget will be inserted before this\r\n * node in the host. The default is `null`, which will cause the\r\n * widget to be added as the last child of the host.\r\n *\r\n * #### Notes\r\n * This will throw an error if the widget is not a root widget, if\r\n * the widget is already attached, or if the host is not attached\r\n * to the DOM.\r\n */\r\n function attach(widget, host, ref) {\r\n if (ref === void 0) { ref = null; }\r\n if (widget.parent) {\r\n throw new Error('Cannot attach a child widget.');\r\n }\r\n if (widget.isAttached || document.body.contains(widget.node)) {\r\n throw new Error('Widget is already attached.');\r\n }\r\n if (!document.body.contains(host)) {\r\n throw new Error('Host is not attached.');\r\n }\r\n messaging_1.MessageLoop.sendMessage(widget, Widget.Msg.BeforeAttach);\r\n host.insertBefore(widget.node, ref);\r\n messaging_1.MessageLoop.sendMessage(widget, Widget.Msg.AfterAttach);\r\n }\r\n Widget.attach = attach;\r\n /**\r\n * Detach the widget from its host DOM node.\r\n *\r\n * @param widget - The widget of interest.\r\n *\r\n * #### Notes\r\n * This will throw an error if the widget is not a root widget,\r\n * or if the widget is not attached to the DOM.\r\n */\r\n function detach(widget) {\r\n if (widget.parent) {\r\n throw new Error('Cannot detach a child widget.');\r\n }\r\n if (!widget.isAttached || !document.body.contains(widget.node)) {\r\n throw new Error('Widget is not attached.');\r\n }\r\n messaging_1.MessageLoop.sendMessage(widget, Widget.Msg.BeforeDetach);\r\n widget.node.parentNode.removeChild(widget.node);\r\n messaging_1.MessageLoop.sendMessage(widget, Widget.Msg.AfterDetach);\r\n }\r\n Widget.detach = detach;\r\n})(Widget = exports.Widget || (exports.Widget = {}));\r\nexports.Widget = Widget;\r\n/**\r\n * The namespace for the module implementation details.\r\n */\r\nvar Private;\r\n(function (Private) {\r\n /**\r\n * An attached property for the widget title object.\r\n */\r\n Private.titleProperty = new properties_1.AttachedProperty({\r\n name: 'title',\r\n create: function (owner) { return new title_1.Title({ owner: owner }); },\r\n });\r\n /**\r\n * Create a DOM node for the given widget options.\r\n */\r\n function createNode(options) {\r\n return options.node || document.createElement('div');\r\n }\r\n Private.createNode = createNode;\r\n})(Private || (Private = {}));\r\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(setImmediate, clearImmediate) {\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/*-----------------------------------------------------------------------------\r\n| Copyright (c) 2014-2017, PhosphorJS Contributors\r\n|\r\n| Distributed under the terms of the BSD 3-Clause License.\r\n|\r\n| The full license is in the file LICENSE, distributed with this software.\r\n|----------------------------------------------------------------------------*/\r\nvar algorithm_1 = __webpack_require__(0);\r\nvar collections_1 = __webpack_require__(21);\r\n/**\r\n * A message which can be delivered to a message handler.\r\n *\r\n * #### Notes\r\n * This class may be subclassed to create complex message types.\r\n */\r\nvar Message = (function () {\r\n /**\r\n * Construct a new message.\r\n *\r\n * @param type - The type of the message.\r\n */\r\n function Message(type) {\r\n this.type = type;\r\n }\r\n Object.defineProperty(Message.prototype, \"isConflatable\", {\r\n /**\r\n * Test whether the message is conflatable.\r\n *\r\n * #### Notes\r\n * Message conflation is an advanced topic. Most message types will\r\n * not make use of this feature.\r\n *\r\n * If a conflatable message is posted to a handler while another\r\n * conflatable message of the same `type` has already been posted\r\n * to the handler, the `conflate()` method of the existing message\r\n * will be invoked. If that method returns `true`, the new message\r\n * will not be enqueued. This allows messages to be compressed, so\r\n * that only a single instance of the message type is processed per\r\n * cycle, no matter how many times messages of that type are posted.\r\n *\r\n * Custom message types may reimplement this property.\r\n *\r\n * The default implementation is always `false`.\r\n */\r\n get: function () {\r\n return false;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n /**\r\n * Conflate this message with another message of the same `type`.\r\n *\r\n * @param other - A conflatable message of the same `type`.\r\n *\r\n * @returns `true` if the message was successfully conflated, or\r\n * `false` otherwise.\r\n *\r\n * #### Notes\r\n * Message conflation is an advanced topic. Most message types will\r\n * not make use of this feature.\r\n *\r\n * This method is called automatically by the message loop when the\r\n * given message is posted to the handler paired with this message.\r\n * This message will already be enqueued and conflatable, and the\r\n * given message will have the same `type` and also be conflatable.\r\n *\r\n * This method should merge the state of the other message into this\r\n * message as needed so that when this message is finally delivered\r\n * to the handler, it receives the most up-to-date information.\r\n *\r\n * If this method returns `true`, it signals that the other message\r\n * was successfully conflated and that message will not be enqueued.\r\n *\r\n * If this method returns `false`, the other message will be enqueued\r\n * for normal delivery.\r\n *\r\n * Custom message types may reimplement this method.\r\n *\r\n * The default implementation always returns `false`.\r\n */\r\n Message.prototype.conflate = function (other) {\r\n return false;\r\n };\r\n return Message;\r\n}());\r\nexports.Message = Message;\r\n/**\r\n * A convenience message class which conflates automatically.\r\n *\r\n * #### Notes\r\n * Message conflation is an advanced topic. Most user code will not\r\n * make use of this class.\r\n *\r\n * This message class is useful for creating message instances which\r\n * should be conflated, but which have no state other than `type`.\r\n *\r\n * If conflation of stateful messages is required, a custom `Message`\r\n * subclass should be created.\r\n */\r\nvar ConflatableMessage = (function (_super) {\r\n __extends(ConflatableMessage, _super);\r\n function ConflatableMessage() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n Object.defineProperty(ConflatableMessage.prototype, \"isConflatable\", {\r\n /**\r\n * Test whether the message is conflatable.\r\n *\r\n * #### Notes\r\n * This property is always `true`.\r\n */\r\n get: function () {\r\n return true;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n /**\r\n * Conflate this message with another message of the same `type`.\r\n *\r\n * #### Notes\r\n * This method always returns `true`.\r\n */\r\n ConflatableMessage.prototype.conflate = function (other) {\r\n return true;\r\n };\r\n return ConflatableMessage;\r\n}(Message));\r\nexports.ConflatableMessage = ConflatableMessage;\r\n/**\r\n * The namespace for the global singleton message loop.\r\n */\r\nvar MessageLoop;\r\n(function (MessageLoop) {\r\n /**\r\n * Send a message to a message handler to process immediately.\r\n *\r\n * @param handler - The handler which should process the message.\r\n *\r\n * @param msg - The message to deliver to the handler.\r\n *\r\n * #### Notes\r\n * The message will first be sent through any installed message hooks\r\n * for the handler. If the message passes all hooks, it will then be\r\n * delivered to the `processMessage` method of the handler.\r\n *\r\n * The message will not be conflated with pending posted messages.\r\n *\r\n * Exceptions in hooks and handlers will be caught and logged.\r\n */\r\n function sendMessage(handler, msg) {\r\n // Lookup the message hooks for the handler.\r\n var hooks = messageHooks.get(handler);\r\n // Handle the common case of no installed hooks.\r\n if (!hooks || hooks.length === 0) {\r\n invokeHandler(handler, msg);\r\n return;\r\n }\r\n // Invoke the message hooks starting with the newest first.\r\n var passed = algorithm_1.every(algorithm_1.retro(hooks), function (hook) {\r\n return hook ? invokeHook(hook, handler, msg) : true;\r\n });\r\n // Invoke the handler if the message passes all hooks.\r\n if (passed) {\r\n invokeHandler(handler, msg);\r\n }\r\n }\r\n MessageLoop.sendMessage = sendMessage;\r\n /**\r\n * Post a message to a message handler to process in the future.\r\n *\r\n * @param handler - The handler which should process the message.\r\n *\r\n * @param msg - The message to post to the handler.\r\n *\r\n * #### Notes\r\n * The message will be conflated with the pending posted messages for\r\n * the handler, if possible. If the message is not conflated, it will\r\n * be queued for normal delivery on the next cycle of the event loop.\r\n *\r\n * Exceptions in hooks and handlers will be caught and logged.\r\n */\r\n function postMessage(handler, msg) {\r\n // Handle the common case of a non-conflatable message.\r\n if (!msg.isConflatable) {\r\n enqueueMessage(handler, msg);\r\n return;\r\n }\r\n // Conflate the message with an existing message if possible.\r\n var conflated = algorithm_1.some(messageQueue, function (posted) {\r\n if (posted.handler !== handler) {\r\n return false;\r\n }\r\n if (!posted.msg) {\r\n return false;\r\n }\r\n if (posted.msg.type !== msg.type) {\r\n return false;\r\n }\r\n if (!posted.msg.isConflatable) {\r\n return false;\r\n }\r\n return posted.msg.conflate(msg);\r\n });\r\n // Enqueue the message if it was not conflated.\r\n if (!conflated) {\r\n enqueueMessage(handler, msg);\r\n }\r\n }\r\n MessageLoop.postMessage = postMessage;\r\n /**\r\n * Install a message hook for a message handler.\r\n *\r\n * @param handler - The message handler of interest.\r\n *\r\n * @param hook - The message hook to install.\r\n *\r\n * #### Notes\r\n * A message hook is invoked before a message is delivered to the\r\n * handler. If the hook returns `false`, no other hooks will be\r\n * invoked and the message will not be delivered to the handler.\r\n *\r\n * The most recently installed message hook is executed first.\r\n *\r\n * If the hook is already installed, this is a no-op.\r\n */\r\n function installMessageHook(handler, hook) {\r\n // Lookup the hooks for the handler.\r\n var hooks = messageHooks.get(handler);\r\n // Bail early if the hook is already installed.\r\n if (hooks && hooks.indexOf(hook) !== -1) {\r\n return;\r\n }\r\n // Add the hook to the end, so it will be the first to execute.\r\n if (!hooks) {\r\n messageHooks.set(handler, [hook]);\r\n }\r\n else {\r\n hooks.push(hook);\r\n }\r\n }\r\n MessageLoop.installMessageHook = installMessageHook;\r\n /**\r\n * Remove an installed message hook for a message handler.\r\n *\r\n * @param handler - The message handler of interest.\r\n *\r\n * @param hook - The message hook to remove.\r\n *\r\n * #### Notes\r\n * It is safe to call this function while the hook is executing.\r\n *\r\n * If the hook is not installed, this is a no-op.\r\n */\r\n function removeMessageHook(handler, hook) {\r\n // Lookup the hooks for the handler.\r\n var hooks = messageHooks.get(handler);\r\n // Bail early if the hooks do not exist.\r\n if (!hooks) {\r\n return;\r\n }\r\n // Lookup the index of the hook and bail if not found.\r\n var i = hooks.indexOf(hook);\r\n if (i === -1) {\r\n return;\r\n }\r\n // Clear the hook and schedule a cleanup of the array.\r\n hooks[i] = null;\r\n scheduleCleanup(hooks);\r\n }\r\n MessageLoop.removeMessageHook = removeMessageHook;\r\n /**\r\n * Clear all message data associated with a message handler.\r\n *\r\n * @param handler - The message handler of interest.\r\n *\r\n * #### Notes\r\n * This will clear all posted messages and hooks for the handler.\r\n */\r\n function clearData(handler) {\r\n // Lookup the hooks for the handler.\r\n var hooks = messageHooks.get(handler);\r\n // Clear all messsage hooks for the handler.\r\n if (hooks && hooks.length > 0) {\r\n algorithm_1.ArrayExt.fill(hooks, null);\r\n scheduleCleanup(hooks);\r\n }\r\n // Clear all posted messages for the handler.\r\n algorithm_1.each(messageQueue, function (posted) {\r\n if (posted.handler === handler) {\r\n posted.handler = null;\r\n posted.msg = null;\r\n }\r\n });\r\n }\r\n MessageLoop.clearData = clearData;\r\n /**\r\n * Process the pending posted messages in the queue immediately.\r\n *\r\n * #### Notes\r\n * This function is useful when posted messages must be processed\r\n * immediately, instead of on the next animation frame.\r\n *\r\n * This function should normally not be needed, but it may be\r\n * required to work around certain browser idiosyncrasies.\r\n *\r\n * Recursing into this function is a no-op.\r\n */\r\n function flush() {\r\n // Bail if recursion is detected or if there is no pending task.\r\n if (flushGuard || loopTaskID === 0) {\r\n return;\r\n }\r\n // Unschedule the pending loop task.\r\n unschedule(loopTaskID);\r\n // Run the message loop within the recursion guard.\r\n flushGuard = true;\r\n runMessageLoop();\r\n flushGuard = false;\r\n }\r\n MessageLoop.flush = flush;\r\n /**\r\n * Get the message loop exception handler.\r\n *\r\n * @returns The current exception handler.\r\n *\r\n * #### Notes\r\n * The default exception handler is `console.error`.\r\n */\r\n function getExceptionHandler() {\r\n return exceptionHandler;\r\n }\r\n MessageLoop.getExceptionHandler = getExceptionHandler;\r\n /**\r\n * Set the message loop exception handler.\r\n *\r\n * @param handler - The function to use as the exception handler.\r\n *\r\n * @returns The old exception handler.\r\n *\r\n * #### Notes\r\n * The exception handler is invoked when a message handler or a\r\n * message hook throws an exception.\r\n */\r\n function setExceptionHandler(handler) {\r\n var old = exceptionHandler;\r\n exceptionHandler = handler;\r\n return old;\r\n }\r\n MessageLoop.setExceptionHandler = setExceptionHandler;\r\n /**\r\n * The queue of posted message pairs.\r\n */\r\n var messageQueue = new collections_1.LinkedList();\r\n /**\r\n * A mapping of handler to array of installed message hooks.\r\n */\r\n var messageHooks = new WeakMap();\r\n /**\r\n * A set of message hook arrays which are pending cleanup.\r\n */\r\n var dirtySet = new Set();\r\n /**\r\n * The message loop exception handler.\r\n */\r\n var exceptionHandler = console.error;\r\n /**\r\n * The id of the pending loop task animation frame.\r\n */\r\n var loopTaskID = 0;\r\n /**\r\n * A guard flag to prevent flush recursion.\r\n */\r\n var flushGuard = false;\r\n /**\r\n * A function to schedule an event loop callback.\r\n */\r\n var schedule = (function () {\r\n var ok = typeof requestAnimationFrame === 'function';\r\n return ok ? requestAnimationFrame : setImmediate;\r\n })();\r\n /**\r\n * A function to unschedule an event loop callback.\r\n */\r\n var unschedule = (function () {\r\n var ok = typeof cancelAnimationFrame === 'function';\r\n return ok ? cancelAnimationFrame : clearImmediate;\r\n })();\r\n /**\r\n * Invoke a message hook with the specified handler and message.\r\n *\r\n * Returns the result of the hook, or `true` if the hook throws.\r\n *\r\n * Exceptions in the hook will be caught and logged.\r\n */\r\n function invokeHook(hook, handler, msg) {\r\n var result = true;\r\n try {\r\n if (typeof hook === 'function') {\r\n result = hook(handler, msg);\r\n }\r\n else {\r\n result = hook.messageHook(handler, msg);\r\n }\r\n }\r\n catch (err) {\r\n exceptionHandler(err);\r\n }\r\n return result;\r\n }\r\n /**\r\n * Invoke a message handler with the specified message.\r\n *\r\n * Exceptions in the handler will be caught and logged.\r\n */\r\n function invokeHandler(handler, msg) {\r\n try {\r\n handler.processMessage(msg);\r\n }\r\n catch (err) {\r\n exceptionHandler(err);\r\n }\r\n }\r\n /**\r\n * Add a message to the end of the message queue.\r\n *\r\n * This will automatically schedule a run of the message loop.\r\n */\r\n function enqueueMessage(handler, msg) {\r\n // Add the posted message to the queue.\r\n messageQueue.addLast({ handler: handler, msg: msg });\r\n // Bail if a loop task is already pending.\r\n if (loopTaskID !== 0) {\r\n return;\r\n }\r\n // Schedule a run of the message loop.\r\n loopTaskID = schedule(runMessageLoop);\r\n }\r\n /**\r\n * Run an iteration of the message loop.\r\n *\r\n * This will process all pending messages in the queue. If a message\r\n * is added to the queue while the message loop is running, it will\r\n * be processed on the next cycle of the loop.\r\n */\r\n function runMessageLoop() {\r\n // Clear the task ID so the next loop can be scheduled.\r\n loopTaskID = 0;\r\n // If the message queue is empty, there is nothing else to do.\r\n if (messageQueue.isEmpty) {\r\n return;\r\n }\r\n // Add a sentinel value to the end of the queue. The queue will\r\n // only be processed up to the sentinel. Messages posted during\r\n // this cycle will execute on the next cycle.\r\n var sentinel = { handler: null, msg: null };\r\n messageQueue.addLast(sentinel);\r\n // Enter the message loop.\r\n while (true) {\r\n // Remove the first posted message in the queue.\r\n var posted = messageQueue.removeFirst();\r\n // If the value is the sentinel, exit the loop.\r\n if (posted === sentinel) {\r\n return;\r\n }\r\n // Dispatch the message if it has not been cleared.\r\n if (posted.handler && posted.msg) {\r\n sendMessage(posted.handler, posted.msg);\r\n }\r\n }\r\n }\r\n /**\r\n * Schedule a cleanup of a message hooks array.\r\n *\r\n * This will add the array to the dirty set and schedule a deferred\r\n * cleanup of the array contents. On cleanup, any `null` hook will\r\n * be removed from the array.\r\n */\r\n function scheduleCleanup(hooks) {\r\n if (dirtySet.size === 0) {\r\n schedule(cleanupDirtySet);\r\n }\r\n dirtySet.add(hooks);\r\n }\r\n /**\r\n * Cleanup the message hook arrays in the dirty set.\r\n *\r\n * This function should only be invoked asynchronously, when the\r\n * stack frame is guaranteed to not be on the path of user code.\r\n */\r\n function cleanupDirtySet() {\r\n dirtySet.forEach(cleanupHooks);\r\n dirtySet.clear();\r\n }\r\n /**\r\n * Cleanup the dirty hooks in a message hooks array.\r\n *\r\n * This will remove any `null` hook from the array.\r\n *\r\n * This function should only be invoked asynchronously, when the\r\n * stack frame is guaranteed to not be on the path of user code.\r\n */\r\n function cleanupHooks(hooks) {\r\n algorithm_1.ArrayExt.removeAllWhere(hooks, isNull);\r\n }\r\n /**\r\n * Test whether a value is `null`.\r\n */\r\n function isNull(value) {\r\n return value === null;\r\n }\r\n})(MessageLoop = exports.MessageLoop || (exports.MessageLoop = {}));\r\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(20).setImmediate, __webpack_require__(20).clearImmediate))\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(setImmediate) {\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/*-----------------------------------------------------------------------------\r\n| Copyright (c) 2014-2017, PhosphorJS Contributors\r\n|\r\n| Distributed under the terms of the BSD 3-Clause License.\r\n|\r\n| The full license is in the file LICENSE, distributed with this software.\r\n|----------------------------------------------------------------------------*/\r\nvar algorithm_1 = __webpack_require__(0);\r\n/**\r\n * A concrete implementation of `ISignal`.\r\n *\r\n * #### Example\r\n * ```typescript\r\n * import { ISignal, Signal } from '@phosphor/signaling';\r\n *\r\n * class SomeClass {\r\n *\r\n * constructor(name: string) {\r\n * this.name = name;\r\n * }\r\n *\r\n * readonly name: string;\r\n *\r\n * get valueChanged: ISignal<this, number> {\r\n * return this._valueChanged;\r\n * }\r\n *\r\n * get value(): number {\r\n * return this._value;\r\n * }\r\n *\r\n * set value(value: number) {\r\n * if (value === this._value) {\r\n * return;\r\n * }\r\n * this._value = value;\r\n * this._valueChanged.emit(value);\r\n * }\r\n *\r\n * private _value = 0;\r\n * private _valueChanged = new Signal<this, number>(this);\r\n * }\r\n *\r\n * function logger(sender: SomeClass, value: number): void {\r\n * console.log(sender.name, value);\r\n * }\r\n *\r\n * let m1 = new SomeClass('foo');\r\n * let m2 = new SomeClass('bar');\r\n *\r\n * m1.valueChanged.connect(logger);\r\n * m2.valueChanged.connect(logger);\r\n *\r\n * m1.value = 42; // logs: foo 42\r\n * m2.value = 17; // logs: bar 17\r\n * ```\r\n */\r\nvar Signal = (function () {\r\n /**\r\n * Construct a new signal.\r\n *\r\n * @param sender - The sender which owns the signal.\r\n */\r\n function Signal(sender) {\r\n this.sender = sender;\r\n }\r\n /**\r\n * Connect a slot to the signal.\r\n *\r\n * @param slot - The slot to invoke when the signal is emitted.\r\n *\r\n * @param thisArg - The `this` context for the slot. If provided,\r\n * this must be a non-primitive object.\r\n *\r\n * @returns `true` if the connection succeeds, `false` otherwise.\r\n */\r\n Signal.prototype.connect = function (slot, thisArg) {\r\n return Private.connect(this, slot, thisArg);\r\n };\r\n /**\r\n * Disconnect a slot from the signal.\r\n *\r\n * @param slot - The slot to disconnect from the signal.\r\n *\r\n * @param thisArg - The `this` context for the slot. If provided,\r\n * this must be a non-primitive object.\r\n *\r\n * @returns `true` if the connection is removed, `false` otherwise.\r\n */\r\n Signal.prototype.disconnect = function (slot, thisArg) {\r\n return Private.disconnect(this, slot, thisArg);\r\n };\r\n /**\r\n * Emit the signal and invoke the connected slots.\r\n *\r\n * @param args - The args to pass to the connected slots.\r\n *\r\n * #### Notes\r\n * Slots are invoked synchronously in connection order.\r\n *\r\n * Exceptions thrown by connected slots will be caught and logged.\r\n */\r\n Signal.prototype.emit = function (args) {\r\n Private.emit(this, args);\r\n };\r\n return Signal;\r\n}());\r\nexports.Signal = Signal;\r\n/**\r\n * The namespace for the `Signal` class statics.\r\n */\r\n(function (Signal) {\r\n /**\r\n * Remove all connections between a sender and receiver.\r\n *\r\n * @param sender - The sender object of interest.\r\n *\r\n * @param receiver - The receiver object of interest.\r\n *\r\n * #### Notes\r\n * If a `thisArg` is provided when connecting a signal, that object\r\n * is considered the receiver. Otherwise, the `slot` is considered\r\n * the receiver.\r\n */\r\n function disconnectBetween(sender, receiver) {\r\n Private.disconnectBetween(sender, receiver);\r\n }\r\n Signal.disconnectBetween = disconnectBetween;\r\n /**\r\n * Remove all connections where the given object is the sender.\r\n *\r\n * @param sender - The sender object of interest.\r\n */\r\n function disconnectSender(sender) {\r\n Private.disconnectSender(sender);\r\n }\r\n Signal.disconnectSender = disconnectSender;\r\n /**\r\n * Remove all connections where the given object is the receiver.\r\n *\r\n * @param receiver - The receiver object of interest.\r\n *\r\n * #### Notes\r\n * If a `thisArg` is provided when connecting a signal, that object\r\n * is considered the receiver. Otherwise, the `slot` is considered\r\n * the receiver.\r\n */\r\n function disconnectReceiver(receiver) {\r\n Private.disconnectReceiver(receiver);\r\n }\r\n Signal.disconnectReceiver = disconnectReceiver;\r\n /**\r\n * Remove all connections where an object is the sender or receiver.\r\n *\r\n * @param object - The object of interest.\r\n *\r\n * #### Notes\r\n * If a `thisArg` is provided when connecting a signal, that object\r\n * is considered the receiver. Otherwise, the `slot` is considered\r\n * the receiver.\r\n */\r\n function disconnectAll(object) {\r\n Private.disconnectAll(object);\r\n }\r\n Signal.disconnectAll = disconnectAll;\r\n /**\r\n * Clear all signal data associated with the given object.\r\n *\r\n * @param object - The object for which the data should be cleared.\r\n *\r\n * #### Notes\r\n * This removes all signal connections and any other signal data\r\n * associated with the object.\r\n */\r\n function clearData(object) {\r\n Private.disconnectAll(object);\r\n }\r\n Signal.clearData = clearData;\r\n /**\r\n * Get the signal exception handler.\r\n *\r\n * @returns The current exception handler.\r\n *\r\n * #### Notes\r\n * The default exception handler is `console.error`.\r\n */\r\n function getExceptionHandler() {\r\n return Private.exceptionHandler;\r\n }\r\n Signal.getExceptionHandler = getExceptionHandler;\r\n /**\r\n * Set the signal exception handler.\r\n *\r\n * @param handler - The function to use as the exception handler.\r\n *\r\n * @returns The old exception handler.\r\n *\r\n * #### Notes\r\n * The exception handler is invoked when a slot throws an exception.\r\n */\r\n function setExceptionHandler(handler) {\r\n var old = Private.exceptionHandler;\r\n Private.exceptionHandler = handler;\r\n return old;\r\n }\r\n Signal.setExceptionHandler = setExceptionHandler;\r\n})(Signal = exports.Signal || (exports.Signal = {}));\r\nexports.Signal = Signal;\r\n/**\r\n * The namespace for the module implementation details.\r\n */\r\nvar Private;\r\n(function (Private) {\r\n /**\r\n * The signal exception handler function.\r\n */\r\n Private.exceptionHandler = console.error;\r\n /**\r\n * Connect a slot to a signal.\r\n *\r\n * @param signal - The signal of interest.\r\n *\r\n * @param slot - The slot to invoke when the signal is emitted.\r\n *\r\n * @param thisArg - The `this` context for the slot. If provided,\r\n * this must be a non-primitive object.\r\n *\r\n * @returns `true` if the connection succeeds, `false` otherwise.\r\n */\r\n function connect(signal, slot, thisArg) {\r\n // Coerce a `null` `thisArg` to `undefined`.\r\n thisArg = thisArg || undefined;\r\n // Ensure the sender's array of receivers is created.\r\n var receivers = receiversForSender.get(signal.sender);\r\n if (!receivers) {\r\n receivers = [];\r\n receiversForSender.set(signal.sender, receivers);\r\n }\r\n // Bail if a matching connection already exists.\r\n if (findConnection(receivers, signal, slot, thisArg)) {\r\n return false;\r\n }\r\n // Choose the best object for the receiver.\r\n var receiver = thisArg || slot;\r\n // Ensure the receiver's array of senders is created.\r\n var senders = sendersForReceiver.get(receiver);\r\n if (!senders) {\r\n senders = [];\r\n sendersForReceiver.set(receiver, senders);\r\n }\r\n // Create a new connection and add it to the end of each array.\r\n var connection = { signal: signal, slot: slot, thisArg: thisArg };\r\n receivers.push(connection);\r\n senders.push(connection);\r\n // Indicate a successful connection.\r\n return true;\r\n }\r\n Private.connect = connect;\r\n /**\r\n * Disconnect a slot from a signal.\r\n *\r\n * @param signal - The signal of interest.\r\n *\r\n * @param slot - The slot to disconnect from the signal.\r\n *\r\n * @param thisArg - The `this` context for the slot. If provided,\r\n * this must be a non-primitive object.\r\n *\r\n * @returns `true` if the connection is removed, `false` otherwise.\r\n */\r\n function disconnect(signal, slot, thisArg) {\r\n // Coerce a `null` `thisArg` to `undefined`.\r\n thisArg = thisArg || undefined;\r\n // Lookup the list of receivers, and bail if none exist.\r\n var receivers = receiversForSender.get(signal.sender);\r\n if (!receivers || receivers.length === 0) {\r\n return false;\r\n }\r\n // Bail if no matching connection exits.\r\n var connection = findConnection(receivers, signal, slot, thisArg);\r\n if (!connection) {\r\n return false;\r\n }\r\n // Choose the best object for the receiver.\r\n var receiver = thisArg || slot;\r\n // Lookup the array of senders, which is now known to exist.\r\n var senders = sendersForReceiver.get(receiver);\r\n // Clear the connection and schedule cleanup of the arrays.\r\n connection.signal = null;\r\n scheduleCleanup(receivers);\r\n scheduleCleanup(senders);\r\n // Indicate a successful disconnection.\r\n return true;\r\n }\r\n Private.disconnect = disconnect;\r\n /**\r\n * Remove all connections between a sender and receiver.\r\n *\r\n * @param sender - The sender object of interest.\r\n *\r\n * @param receiver - The receiver object of interest.\r\n */\r\n function disconnectBetween(sender, receiver) {\r\n // If there are no receivers, there is nothing to do.\r\n var receivers = receiversForSender.get(sender);\r\n if (!receivers || receivers.length === 0) {\r\n return;\r\n }\r\n // If there are no senders, there is nothing to do.\r\n var senders = sendersForReceiver.get(receiver);\r\n if (!senders || senders.length === 0) {\r\n return;\r\n }\r\n // Clear each connection between the sender and receiver.\r\n algorithm_1.each(senders, function (connection) {\r\n // Skip connections which have already been cleared.\r\n if (!connection.signal) {\r\n return;\r\n }\r\n // Clear the connection if it matches the sender.\r\n if (connection.signal.sender === sender) {\r\n connection.signal = null;\r\n }\r\n });\r\n // Schedule a cleanup of the senders and receivers.\r\n scheduleCleanup(receivers);\r\n scheduleCleanup(senders);\r\n }\r\n Private.disconnectBetween = disconnectBetween;\r\n /**\r\n * Remove all connections where the given object is the sender.\r\n *\r\n * @param sender - The sender object of interest.\r\n */\r\n function disconnectSender(sender) {\r\n // If there are no receivers, there is nothing to do.\r\n var receivers = receiversForSender.get(sender);\r\n if (!receivers || receivers.length === 0) {\r\n return;\r\n }\r\n // Clear each receiver connection.\r\n algorithm_1.each(receivers, function (connection) {\r\n // Skip connections which have already been cleared.\r\n if (!connection.signal) {\r\n return;\r\n }\r\n // Choose the best object for the receiver.\r\n var receiver = connection.thisArg || connection.slot;\r\n // Clear the connection.\r\n connection.signal = null;\r\n // Cleanup the array of senders, which is now known to exist.\r\n scheduleCleanup(sendersForReceiver.get(receiver));\r\n });\r\n // Schedule a cleanup of the receivers.\r\n scheduleCleanup(receivers);\r\n }\r\n Private.disconnectSender = disconnectSender;\r\n /**\r\n * Remove all connections where the given object is the receiver.\r\n *\r\n * @param receiver - The receiver object of interest.\r\n */\r\n function disconnectReceiver(receiver) {\r\n // If there are no senders, there is nothing to do.\r\n var senders = sendersForReceiver.get(receiver);\r\n if (!senders || senders.length === 0) {\r\n return;\r\n }\r\n // Clear each sender connection.\r\n algorithm_1.each(senders, function (connection) {\r\n // Skip connections which have already been cleared.\r\n if (!connection.signal) {\r\n return;\r\n }\r\n // Lookup the sender for the connection.\r\n var sender = connection.signal.sender;\r\n // Clear the connection.\r\n connection.signal = null;\r\n // Cleanup the array of receivers, which is now known to exist.\r\n scheduleCleanup(receiversForSender.get(sender));\r\n });\r\n // Schedule a cleanup of the list of senders.\r\n scheduleCleanup(senders);\r\n }\r\n Private.disconnectReceiver = disconnectReceiver;\r\n /**\r\n * Remove all connections where an object is the sender or receiver.\r\n *\r\n * @param object - The object of interest.\r\n */\r\n function disconnectAll(object) {\r\n // Clear and cleanup any receiver connections.\r\n var receivers = receiversForSender.get(object);\r\n if (receivers && receivers.length > 0) {\r\n algorithm_1.each(receivers, function (connection) { connection.signal = null; });\r\n scheduleCleanup(receivers);\r\n }\r\n // Clear and cleanup any sender connections.\r\n var senders = sendersForReceiver.get(object);\r\n if (senders && senders.length > 0) {\r\n algorithm_1.each(senders, function (connection) { connection.signal = null; });\r\n scheduleCleanup(senders);\r\n }\r\n }\r\n Private.disconnectAll = disconnectAll;\r\n /**\r\n * Emit a signal and invoke its connected slots.\r\n *\r\n * @param signal - The signal of interest.\r\n *\r\n * @param args - The args to pass to the connected slots.\r\n *\r\n * #### Notes\r\n * Slots are invoked synchronously in connection order.\r\n *\r\n * Exceptions thrown by connected slots will be caught and logged.\r\n */\r\n function emit(signal, args) {\r\n // If there are no receivers, there is nothing to do.\r\n var receivers = receiversForSender.get(signal.sender);\r\n if (!receivers || receivers.length === 0) {\r\n return;\r\n }\r\n // Invoke the slots for connections with a matching signal.\r\n // Any connections added during emission are not invoked.\r\n for (var i = 0, n = receivers.length; i < n; ++i) {\r\n var connection = receivers[i];\r\n if (connection.signal === signal) {\r\n invokeSlot(connection, args);\r\n }\r\n }\r\n }\r\n Private.emit = emit;\r\n /**\r\n * A weak mapping of sender to array of receiver connections.\r\n */\r\n var receiversForSender = new WeakMap();\r\n /**\r\n * A weak mapping of receiver to array of sender connections.\r\n */\r\n var sendersForReceiver = new WeakMap();\r\n /**\r\n * A set of connection arrays which are pending cleanup.\r\n */\r\n var dirtySet = new Set();\r\n /**\r\n * A function to schedule an event loop callback.\r\n */\r\n var schedule = (function () {\r\n var ok = typeof requestAnimationFrame === 'function';\r\n return ok ? requestAnimationFrame : setImmediate;\r\n })();\r\n /**\r\n * Find a connection which matches the given parameters.\r\n */\r\n function findConnection(connections, signal, slot, thisArg) {\r\n return algorithm_1.find(connections, function (connection) { return (connection.signal === signal &&\r\n connection.slot === slot &&\r\n connection.thisArg === thisArg); });\r\n }\r\n /**\r\n * Invoke a slot with the given parameters.\r\n *\r\n * The connection is assumed to be valid.\r\n *\r\n * Exceptions in the slot will be caught and logged.\r\n */\r\n function invokeSlot(connection, args) {\r\n var signal = connection.signal, slot = connection.slot, thisArg = connection.thisArg;\r\n try {\r\n slot.call(thisArg, signal.sender, args);\r\n }\r\n catch (err) {\r\n Private.exceptionHandler(err);\r\n }\r\n }\r\n /**\r\n * Schedule a cleanup of a connection array.\r\n *\r\n * This will add the array to the dirty set and schedule a deferred\r\n * cleanup of the array contents. On cleanup, any connection with a\r\n * `null` signal will be removed from the array.\r\n */\r\n function scheduleCleanup(array) {\r\n if (dirtySet.size === 0) {\r\n schedule(cleanupDirtySet);\r\n }\r\n dirtySet.add(array);\r\n }\r\n /**\r\n * Cleanup the connection lists in the dirty set.\r\n *\r\n * This function should only be invoked asynchronously, when the\r\n * stack frame is guaranteed to not be on the path of user code.\r\n */\r\n function cleanupDirtySet() {\r\n dirtySet.forEach(cleanupConnections);\r\n dirtySet.clear();\r\n }\r\n /**\r\n * Cleanup the dirty connections in a connections array.\r\n *\r\n * This will remove any connection with a `null` signal.\r\n *\r\n * This function should only be invoked asynchronously, when the\r\n * stack frame is guaranteed to not be on the path of user code.\r\n */\r\n function cleanupConnections(connections) {\r\n algorithm_1.ArrayExt.removeAllWhere(connections, isDeadConnection);\r\n }\r\n /**\r\n * Test whether a connection is dead.\r\n *\r\n * A dead connection has a `null` signal.\r\n */\r\n function isDeadConnection(connection) {\r\n return connection.signal === null;\r\n }\r\n})(Private || (Private = {}));\r\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(20).setImmediate))\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\n/*-----------------------------------------------------------------------------\r\n| Copyright (c) 2014-2017, PhosphorJS Contributors\r\n|\r\n| Distributed under the terms of the BSD 3-Clause License.\r\n|\r\n| The full license is in the file LICENSE, distributed with this software.\r\n|----------------------------------------------------------------------------*/\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/**\r\n * Create an iterator for an iterable object.\r\n *\r\n * @param object - The iterable or array-like object of interest.\r\n *\r\n * @returns A new iterator for the given object.\r\n *\r\n * #### Notes\r\n * This function allows iteration algorithms to operate on user-defined\r\n * iterable types and builtin array-like objects in a uniform fashion.\r\n */\r\nfunction iter(object) {\r\n var it;\r\n if (typeof object.iter === 'function') {\r\n it = object.iter();\r\n }\r\n else {\r\n it = new ArrayIterator(object);\r\n }\r\n return it;\r\n}\r\nexports.iter = iter;\r\n/**\r\n * Invoke a function for each value in an iterable.\r\n *\r\n * @param object - The iterable or array-like object of interest.\r\n *\r\n * @param fn - The callback function to invoke for each value.\r\n *\r\n * #### Notes\r\n * Iteration can be terminated early by returning `false` from the\r\n * callback function.\r\n *\r\n * #### Complexity\r\n * Linear.\r\n *\r\n * #### Example\r\n * ```typescript\r\n * import { each } from '@phosphor/algorithm';\r\n *\r\n * let data = [5, 7, 0, -2, 9];\r\n *\r\n * each(data, value => { console.log(value); });\r\n * ```\r\n */\r\nfunction each(object, fn) {\r\n var index = 0;\r\n var it = iter(object);\r\n var value;\r\n while ((value = it.next()) !== undefined) {\r\n if (fn(value, index++) === false) {\r\n return;\r\n }\r\n }\r\n}\r\nexports.each = each;\r\n/**\r\n * Test whether all values in an iterable satisfy a predicate.\r\n *\r\n * @param object - The iterable or array-like object of interest.\r\n *\r\n * @param fn - The predicate function to invoke for each value.\r\n *\r\n * @returns `true` if all values pass the test, `false` otherwise.\r\n *\r\n * #### Notes\r\n * Iteration terminates on the first `false` predicate result.\r\n *\r\n * #### Complexity\r\n * Linear.\r\n *\r\n * #### Example\r\n * ```typescript\r\n * import { every } from '@phosphor/algorithm';\r\n *\r\n * let data = [5, 7, 1];\r\n *\r\n * every(data, value => value % 2 === 0); // false\r\n * every(data, value => value % 2 === 1); // true\r\n * ```\r\n */\r\nfunction every(object, fn) {\r\n var index = 0;\r\n var it = iter(object);\r\n var value;\r\n while ((value = it.next()) !== undefined) {\r\n if (!fn(value, index++)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n}\r\nexports.every = every;\r\n/**\r\n * Test whether any value in an iterable satisfies a predicate.\r\n *\r\n * @param object - The iterable or array-like object of interest.\r\n *\r\n * @param fn - The predicate function to invoke for each value.\r\n *\r\n * @returns `true` if any value passes the test, `false` otherwise.\r\n *\r\n * #### Notes\r\n * Iteration terminates on the first `true` predicate result.\r\n *\r\n * #### Complexity\r\n * Linear.\r\n *\r\n * #### Example\r\n * ```typescript\r\n * import { some } from '@phosphor/algorithm';\r\n *\r\n * let data = [5, 7, 1];\r\n *\r\n * some(data, value => value === 7); // true\r\n * some(data, value => value === 3); // false\r\n * ```\r\n */\r\nfunction some(object, fn) {\r\n var index = 0;\r\n var it = iter(object);\r\n var value;\r\n while ((value = it.next()) !== undefined) {\r\n if (fn(value, index++)) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\r\nexports.some = some;\r\n/**\r\n * Create an array from an iterable of values.\r\n *\r\n * @param object - The iterable or array-like object of interest.\r\n *\r\n * @returns A new array of values from the given object.\r\n *\r\n * #### Example\r\n * ```typescript\r\n * import { iter, toArray } from '@phosphor/algorithm';\r\n *\r\n * let data = [1, 2, 3, 4, 5, 6];\r\n *\r\n * let stream = iter(data);\r\n *\r\n * toArray(stream); // [1, 2, 3, 4, 5, 6];\r\n * ```\r\n */\r\nfunction toArray(object) {\r\n var index = 0;\r\n var result = [];\r\n var it = iter(object);\r\n var value;\r\n while ((value = it.next()) !== undefined) {\r\n result[index++] = value;\r\n }\r\n return result;\r\n}\r\nexports.toArray = toArray;\r\n/**\r\n * An iterator for an array-like object.\r\n *\r\n * #### Notes\r\n * This iterator can be used for any builtin JS array-like object.\r\n */\r\nvar ArrayIterator = (function () {\r\n /**\r\n * Construct a new array iterator.\r\n *\r\n * @param source - The array-like object of interest.\r\n */\r\n function ArrayIterator(source) {\r\n this._index = 0;\r\n this._source = source;\r\n }\r\n /**\r\n * Get an iterator over the object's values.\r\n *\r\n * @returns An iterator which yields the object's values.\r\n */\r\n ArrayIterator.prototype.iter = function () {\r\n return this;\r\n };\r\n /**\r\n * Create an independent clone of the iterator.\r\n *\r\n * @returns A new independent clone of the iterator.\r\n */\r\n ArrayIterator.prototype.clone = function () {\r\n var result = new ArrayIterator(this._source);\r\n result._index = this._index;\r\n return result;\r\n };\r\n /**\r\n * Get the next value from the iterator.\r\n *\r\n * @returns The next value from the iterator, or `undefined`.\r\n */\r\n ArrayIterator.prototype.next = function () {\r\n if (this._index >= this._source.length) {\r\n return undefined;\r\n }\r\n return this._source[this._index++];\r\n };\r\n return ArrayIterator;\r\n}());\r\nexports.ArrayIterator = ArrayIterator;\r\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/*-----------------------------------------------------------------------------\r\n| Copyright (c) 2014-2017, PhosphorJS Contributors\r\n|\r\n| Distributed under the terms of the BSD 3-Clause License.\r\n|\r\n| The full license is in the file LICENSE, distributed with this software.\r\n|----------------------------------------------------------------------------*/\r\n__export(__webpack_require__(47));\r\n__export(__webpack_require__(48));\r\n__export(__webpack_require__(49));\r\n__export(__webpack_require__(50));\r\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\n/*-----------------------------------------------------------------------------\r\n| Copyright (c) 2014-2017, PhosphorJS Contributors\r\n|\r\n| Distributed under the terms of the BSD 3-Clause License.\r\n|\r\n| The full license is in the file LICENSE, distributed with this software.\r\n|----------------------------------------------------------------------------*/\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/**\r\n * A class which attaches a value to an external object.\r\n *\r\n * #### Notes\r\n * Attached properties are used to extend the state of an object with\r\n * semantic data from an unrelated class. They also encapsulate value\r\n * creation, coercion, and notification.\r\n *\r\n * Because attached property values are stored in a hash table, which\r\n * in turn is stored in a WeakMap keyed on the owner object, there is\r\n * non-trivial storage overhead involved in their use. The pattern is\r\n * therefore best used for the storage of rare data.\r\n */\r\nvar AttachedProperty = (function () {\r\n /**\r\n * Construct a new attached property.\r\n *\r\n * @param options - The options for initializing the property.\r\n */\r\n function AttachedProperty(options) {\r\n this._pid = Private.nextPID();\r\n this.name = options.name;\r\n this._create = options.create;\r\n this._coerce = options.coerce || null;\r\n this._compare = options.compare || null;\r\n this._changed = options.changed || null;\r\n }\r\n /**\r\n * Get the current value of the property for a given owner.\r\n *\r\n * @param owner - The property owner of interest.\r\n *\r\n * @returns The current value of the property.\r\n *\r\n * #### Notes\r\n * If the value has not yet been set, the default value will be\r\n * computed and assigned as the current value of the property.\r\n */\r\n AttachedProperty.prototype.get = function (owner) {\r\n var value;\r\n var map = Private.ensureMap(owner);\r\n if (this._pid in map) {\r\n value = map[this._pid];\r\n }\r\n else {\r\n value = map[this._pid] = this._createValue(owner);\r\n }\r\n return value;\r\n };\r\n /**\r\n * Set the current value of the property for a given owner.\r\n *\r\n * @param owner - The property owner of interest.\r\n *\r\n * @param value - The value for the property.\r\n *\r\n * #### Notes\r\n * If the value has not yet been set, the default value will be\r\n * computed and used as the previous value for the comparison.\r\n */\r\n AttachedProperty.prototype.set = function (owner, value) {\r\n var oldValue;\r\n var map = Private.ensureMap(owner);\r\n if (this._pid in map) {\r\n oldValue = map[this._pid];\r\n }\r\n else {\r\n oldValue = map[this._pid] = this._createValue(owner);\r\n }\r\n var newValue = this._coerceValue(owner, value);\r\n this._maybeNotify(owner, oldValue, map[this._pid] = newValue);\r\n };\r\n /**\r\n * Explicitly coerce the current property value for a given owner.\r\n *\r\n * @param owner - The property owner of interest.\r\n *\r\n * #### Notes\r\n * If the value has not yet been set, the default value will be\r\n * computed and used as the previous value for the comparison.\r\n */\r\n AttachedProperty.prototype.coerce = function (owner) {\r\n var oldValue;\r\n var map = Private.ensureMap(owner);\r\n if (this._pid in map) {\r\n oldValue = map[this._pid];\r\n }\r\n else {\r\n oldValue = map[this._pid] = this._createValue(owner);\r\n }\r\n var newValue = this._coerceValue(owner, oldValue);\r\n this._maybeNotify(owner, oldValue, map[this._pid] = newValue);\r\n };\r\n /**\r\n * Get or create the default value for the given owner.\r\n */\r\n AttachedProperty.prototype._createValue = function (owner) {\r\n var create = this._create;\r\n return create(owner);\r\n };\r\n /**\r\n * Coerce the value for the given owner.\r\n */\r\n AttachedProperty.prototype._coerceValue = function (owner, value) {\r\n var coerce = this._coerce;\r\n return coerce ? coerce(owner, value) : value;\r\n };\r\n /**\r\n * Compare the old value and new value for equality.\r\n */\r\n AttachedProperty.prototype._compareValue = function (oldValue, newValue) {\r\n var compare = this._compare;\r\n return compare ? compare(oldValue, newValue) : oldValue === newValue;\r\n };\r\n /**\r\n * Run the change notification if the given values are different.\r\n */\r\n AttachedProperty.prototype._maybeNotify = function (owner, oldValue, newValue) {\r\n var changed = this._changed;\r\n if (changed && !this._compareValue(oldValue, newValue)) {\r\n changed(owner, oldValue, newValue);\r\n }\r\n };\r\n return AttachedProperty;\r\n}());\r\nexports.AttachedProperty = AttachedProperty;\r\n/**\r\n * The namespace for the `AttachedProperty` class statics.\r\n */\r\n(function (AttachedProperty) {\r\n /**\r\n * Clear the stored property data for the given owner.\r\n *\r\n * @param owner - The property owner of interest.\r\n *\r\n * #### Notes\r\n * This will clear all property values for the owner, but it will\r\n * **not** run the change notification for any of the properties.\r\n */\r\n function clearData(owner) {\r\n Private.ownerData.delete(owner);\r\n }\r\n AttachedProperty.clearData = clearData;\r\n})(AttachedProperty = exports.AttachedProperty || (exports.AttachedProperty = {}));\r\nexports.AttachedProperty = AttachedProperty;\r\n/**\r\n * The namespace for the module implementation details.\r\n */\r\nvar Private;\r\n(function (Private) {\r\n /**\r\n * A weak mapping of property owner to property map.\r\n */\r\n Private.ownerData = new WeakMap();\r\n /**\r\n * A function which computes successive unique property ids.\r\n */\r\n Private.nextPID = (function () {\r\n var id = 0;\r\n return function () {\r\n var rand = Math.random();\r\n var stem = (\"\" + rand).slice(2);\r\n return \"pid-\" + stem + \"-\" + id++;\r\n };\r\n })();\r\n /**\r\n * Lookup the data map for the property owner.\r\n *\r\n * This will create the map if one does not already exist.\r\n */\r\n function ensureMap(owner) {\r\n var map = Private.ownerData.get(owner);\r\n if (map) {\r\n return map;\r\n }\r\n map = Object.create(null);\r\n Private.ownerData.set(owner, map);\r\n return map;\r\n }\r\n Private.ensureMap = ensureMap;\r\n})(Private || (Private = {}));\r\n\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/*-----------------------------------------------------------------------------\r\n| Copyright (c) 2014-2017, PhosphorJS Contributors\r\n|\r\n| Distributed under the terms of the BSD 3-Clause License.\r\n|\r\n| The full license is in the file LICENSE, distributed with this software.\r\n|----------------------------------------------------------------------------*/\r\nvar algorithm_1 = __webpack_require__(0);\r\nvar domutils_1 = __webpack_require__(1);\r\nvar messaging_1 = __webpack_require__(3);\r\nvar properties_1 = __webpack_require__(7);\r\nvar signaling_1 = __webpack_require__(4);\r\nvar widget_1 = __webpack_require__(2);\r\n/**\r\n * An abstract base class for creating Phosphor layouts.\r\n *\r\n * #### Notes\r\n * A layout is used to add widgets to a parent and to arrange those\r\n * widgets within the parent's DOM node.\r\n *\r\n * This class implements the base functionality which is required of\r\n * nearly all layouts. It must be subclassed in order to be useful.\r\n *\r\n * Notably, this class does not define a uniform interface for adding\r\n * widgets to the layout. A subclass should define that API in a way\r\n * which is meaningful for its intended use.\r\n */\r\nvar Layout = (function () {\r\n function Layout() {\r\n this._disposed = false;\r\n this._parent = null;\r\n }\r\n /**\r\n * Dispose of the resources held by the layout.\r\n *\r\n * #### Notes\r\n * This should be reimplemented to clear and dispose of the widgets.\r\n *\r\n * All reimplementations should call the superclass method.\r\n *\r\n * This method is called automatically when the parent is disposed.\r\n */\r\n Layout.prototype.dispose = function () {\r\n this._parent = null;\r\n this._disposed = true;\r\n signaling_1.Signal.clearData(this);\r\n properties_1.AttachedProperty.clearData(this);\r\n };\r\n Object.defineProperty(Layout.prototype, \"isDisposed\", {\r\n /**\r\n * Test whether the layout is disposed.\r\n */\r\n get: function () {\r\n return this._disposed;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(Layout.prototype, \"parent\", {\r\n /**\r\n * Get the parent widget of the layout.\r\n */\r\n get: function () {\r\n return this._parent;\r\n },\r\n /**\r\n * Set the parent widget of the layout.\r\n *\r\n * #### Notes\r\n * This is set automatically when installing the layout on the parent\r\n * widget. The parent widget should not be set directly by user code.\r\n */\r\n set: function (value) {\r\n if (this._parent === value) {\r\n return;\r\n }\r\n if (this._parent) {\r\n throw new Error('Cannot change parent widget.');\r\n }\r\n if (value.layout !== this) {\r\n throw new Error('Invalid parent widget.');\r\n }\r\n this._parent = value;\r\n this.init();\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n /**\r\n * Process a message sent to the parent widget.\r\n *\r\n * @param msg - The message sent to the parent widget.\r\n *\r\n * #### Notes\r\n * This method is called by the parent widget to process a message.\r\n *\r\n * Subclasses may reimplement this method as needed.\r\n */\r\n Layout.prototype.processParentMessage = function (msg) {\r\n switch (msg.type) {\r\n case 'resize':\r\n this.onResize(msg);\r\n break;\r\n case 'update-request':\r\n this.onUpdateRequest(msg);\r\n break;\r\n case 'fit-request':\r\n this.onFitRequest(msg);\r\n break;\r\n case 'before-show':\r\n this.onBeforeShow(msg);\r\n break;\r\n case 'after-show':\r\n this.onAfterShow(msg);\r\n break;\r\n case 'before-hide':\r\n this.onBeforeHide(msg);\r\n break;\r\n case 'after-hide':\r\n this.onAfterHide(msg);\r\n break;\r\n case 'before-attach':\r\n this.onBeforeAttach(msg);\r\n break;\r\n case 'after-attach':\r\n this.onAfterAttach(msg);\r\n break;\r\n case 'before-detach':\r\n this.onBeforeDetach(msg);\r\n break;\r\n case 'after-detach':\r\n this.onAfterDetach(msg);\r\n break;\r\n case 'child-removed':\r\n this.onChildRemoved(msg);\r\n break;\r\n case 'child-shown':\r\n this.onChildShown(msg);\r\n break;\r\n case 'child-hidden':\r\n this.onChildHidden(msg);\r\n break;\r\n }\r\n };\r\n /**\r\n * Perform layout initialization which requires the parent widget.\r\n *\r\n * #### Notes\r\n * This method is invoked immediately after the layout is installed\r\n * on the parent widget.\r\n *\r\n * The default implementation reparents all of the widgets to the\r\n * layout parent widget.\r\n *\r\n * Subclasses should reimplement this method and attach the child\r\n * widget nodes to the parent widget's node.\r\n */\r\n Layout.prototype.init = function () {\r\n var _this = this;\r\n algorithm_1.each(this, function (widget) {\r\n widget.parent = _this.parent;\r\n });\r\n };\r\n /**\r\n * A message handler invoked on a `'resize'` message.\r\n *\r\n * #### Notes\r\n * The layout should ensure that its widgets are resized according\r\n * to the specified layout space, and that they are sent a `'resize'`\r\n * message if appropriate.\r\n *\r\n * The default implementation of this method sends an `UnknownSize`\r\n * resize message to all widgets.\r\n *\r\n * This may be reimplemented by subclasses as needed.\r\n */\r\n Layout.prototype.onResize = function (msg) {\r\n algorithm_1.each(this, function (widget) {\r\n messaging_1.MessageLoop.sendMessage(widget, widget_1.Widget.ResizeMessage.UnknownSize);\r\n });\r\n };\r\n /**\r\n * A message handler invoked on an `'update-request'` message.\r\n *\r\n * #### Notes\r\n * The layout should ensure that its widgets are resized according\r\n * to the available layout space, and that they are sent a `'resize'`\r\n * message if appropriate.\r\n *\r\n * The default implementation of this method sends an `UnknownSize`\r\n * resize message to all widgets.\r\n *\r\n * This may be reimplemented by subclasses as needed.\r\n */\r\n Layout.prototype.onUpdateRequest = function (msg) {\r\n algorithm_1.each(this, function (widget) {\r\n messaging_1.MessageLoop.sendMessage(widget, widget_1.Widget.ResizeMessage.UnknownSize);\r\n });\r\n };\r\n /**\r\n * A message handler invoked on a `'before-attach'` message.\r\n *\r\n * #### Notes\r\n * The default implementation of this method forwards the message\r\n * to all widgets. It assumes all widget nodes are attached to the\r\n * parent widget node.\r\n *\r\n * This may be reimplemented by subclasses as needed.\r\n */\r\n Layout.prototype.onBeforeAttach = function (msg) {\r\n algorithm_1.each(this, function (widget) {\r\n messaging_1.MessageLoop.sendMessage(widget, msg);\r\n });\r\n };\r\n /**\r\n * A message handler invoked on an `'after-attach'` message.\r\n *\r\n * #### Notes\r\n * The default implementation of this method forwards the message\r\n * to all widgets. It assumes all widget nodes are attached to the\r\n * parent widget node.\r\n *\r\n * This may be reimplemented by subclasses as needed.\r\n */\r\n Layout.prototype.onAfterAttach = function (msg) {\r\n algorithm_1.each(this, function (widget) {\r\n messaging_1.MessageLoop.sendMessage(widget, msg);\r\n });\r\n };\r\n /**\r\n * A message handler invoked on a `'before-detach'` message.\r\n *\r\n * #### Notes\r\n * The default implementation of this method forwards the message\r\n * to all widgets. It assumes all widget nodes are attached to the\r\n * parent widget node.\r\n *\r\n * This may be reimplemented by subclasses as needed.\r\n */\r\n Layout.prototype.onBeforeDetach = function (msg) {\r\n algorithm_1.each(this, function (widget) {\r\n messaging_1.MessageLoop.sendMessage(widget, msg);\r\n });\r\n };\r\n /**\r\n * A message handler invoked on an `'after-detach'` message.\r\n *\r\n * #### Notes\r\n * The default implementation of this method forwards the message\r\n * to all widgets. It assumes all widget nodes are attached to the\r\n * parent widget node.\r\n *\r\n * This may be reimplemented by subclasses as needed.\r\n */\r\n Layout.prototype.onAfterDetach = function (msg) {\r\n algorithm_1.each(this, function (widget) {\r\n messaging_1.MessageLoop.sendMessage(widget, msg);\r\n });\r\n };\r\n /**\r\n * A message handler invoked on a `'before-show'` message.\r\n *\r\n * #### Notes\r\n * The default implementation of this method forwards the message to\r\n * all non-hidden widgets. It assumes all widget nodes are attached\r\n * to the parent widget node.\r\n *\r\n * This may be reimplemented by subclasses as needed.\r\n */\r\n Layout.prototype.onBeforeShow = function (msg) {\r\n algorithm_1.each(this, function (widget) {\r\n if (!widget.isHidden) {\r\n messaging_1.MessageLoop.sendMessage(widget, msg);\r\n }\r\n });\r\n };\r\n /**\r\n * A message handler invoked on an `'after-show'` message.\r\n *\r\n * #### Notes\r\n * The default implementation of this method forwards the message to\r\n * all non-hidden widgets. It assumes all widget nodes are attached\r\n * to the parent widget node.\r\n *\r\n * This may be reimplemented by subclasses as needed.\r\n */\r\n Layout.prototype.onAfterShow = function (msg) {\r\n algorithm_1.each(this, function (widget) {\r\n if (!widget.isHidden) {\r\n messaging_1.MessageLoop.sendMessage(widget, msg);\r\n }\r\n });\r\n };\r\n /**\r\n * A message handler invoked on a `'before-hide'` message.\r\n *\r\n * #### Notes\r\n * The default implementation of this method forwards the message to\r\n * all non-hidden widgets. It assumes all widget nodes are attached\r\n * to the parent widget node.\r\n *\r\n * This may be reimplemented by subclasses as needed.\r\n */\r\n Layout.prototype.onBeforeHide = function (msg) {\r\n algorithm_1.each(this, function (widget) {\r\n if (!widget.isHidden) {\r\n messaging_1.MessageLoop.sendMessage(widget, msg);\r\n }\r\n });\r\n };\r\n /**\r\n * A message handler invoked on an `'after-hide'` message.\r\n *\r\n * #### Notes\r\n * The default implementation of this method forwards the message to\r\n * all non-hidden widgets. It assumes all widget nodes are attached\r\n * to the parent widget node.\r\n *\r\n * This may be reimplemented by subclasses as needed.\r\n */\r\n Layout.prototype.onAfterHide = function (msg) {\r\n algorithm_1.each(this, function (widget) {\r\n if (!widget.isHidden) {\r\n messaging_1.MessageLoop.sendMessage(widget, msg);\r\n }\r\n });\r\n };\r\n /**\r\n * A message handler invoked on a `'child-removed'` message.\r\n *\r\n * #### Notes\r\n * This will remove the child widget from the layout.\r\n *\r\n * Subclasses should **not** typically reimplement this method.\r\n */\r\n Layout.prototype.onChildRemoved = function (msg) {\r\n this.removeWidget(msg.child);\r\n };\r\n /**\r\n * A message handler invoked on a `'fit-request'` message.\r\n *\r\n * #### Notes\r\n * The default implementation of this handler is a no-op.\r\n */\r\n Layout.prototype.onFitRequest = function (msg) { };\r\n /**\r\n * A message handler invoked on a `'child-shown'` message.\r\n *\r\n * #### Notes\r\n * The default implementation of this handler is a no-op.\r\n */\r\n Layout.prototype.onChildShown = function (msg) { };\r\n /**\r\n * A message handler invoked on a `'child-hidden'` message.\r\n *\r\n * #### Notes\r\n * The default implementation of this handler is a no-op.\r\n */\r\n Layout.prototype.onChildHidden = function (msg) { };\r\n return Layout;\r\n}());\r\nexports.Layout = Layout;\r\n/**\r\n * The namespace for the `Layout` class statics.\r\n */\r\n(function (Layout) {\r\n /**\r\n * Get the horizontal alignment for a widget.\r\n *\r\n * @param widget - The widget of interest.\r\n *\r\n * @returns The horizontal alignment for the widget.\r\n *\r\n * #### Notes\r\n * If the layout width allocated to a widget is larger than its max\r\n * width, the horizontal alignment controls how the widget is placed\r\n * within the extra horizontal space.\r\n *\r\n * If the allocated width is less than the widget's max width, the\r\n * horizontal alignment has no effect.\r\n *\r\n * Some layout implementations may ignore horizontal alignment.\r\n */\r\n function getHorizontalAlignment(widget) {\r\n return Private.horizontalAlignmentProperty.get(widget);\r\n }\r\n Layout.getHorizontalAlignment = getHorizontalAlignment;\r\n /**\r\n * Set the horizontal alignment for a widget.\r\n *\r\n * @param widget - The widget of interest.\r\n *\r\n * @param value - The value for the horizontal alignment.\r\n *\r\n * #### Notes\r\n * If the layout width allocated to a widget is larger than its max\r\n * width, the horizontal alignment controls how the widget is placed\r\n * within the extra horizontal space.\r\n *\r\n * If the allocated width is less than the widget's max width, the\r\n * horizontal alignment has no effect.\r\n *\r\n * Some layout implementations may ignore horizontal alignment.\r\n *\r\n * Changing the horizontal alignment will post an `update-request`\r\n * message to widget's parent, provided the parent has a layout\r\n * installed.\r\n */\r\n function setHorizontalAlignment(widget, value) {\r\n Private.horizontalAlignmentProperty.set(widget, value);\r\n }\r\n Layout.setHorizontalAlignment = setHorizontalAlignment;\r\n /**\r\n * Get the vertical alignment for a widget.\r\n *\r\n * @param widget - The widget of interest.\r\n *\r\n * @returns The vertical alignment for the widget.\r\n *\r\n * #### Notes\r\n * If the layout height allocated to a widget is larger than its max\r\n * height, the vertical alignment controls how the widget is placed\r\n * within the extra vertical space.\r\n *\r\n * If the allocated height is less than the widget's max height, the\r\n * vertical alignment has no effect.\r\n *\r\n * Some layout implementations may ignore vertical alignment.\r\n */\r\n function getVerticalAlignment(widget) {\r\n return Private.verticalAlignmentProperty.get(widget);\r\n }\r\n Layout.getVerticalAlignment = getVerticalAlignment;\r\n /**\r\n * Set the vertical alignment for a widget.\r\n *\r\n * @param widget - The widget of interest.\r\n *\r\n * @param value - The value for the vertical alignment.\r\n *\r\n * #### Notes\r\n * If the layout height allocated to a widget is larger than its max\r\n * height, the vertical alignment controls how the widget is placed\r\n * within the extra vertical space.\r\n *\r\n * If the allocated height is less than the widget's max height, the\r\n * vertical alignment has no effect.\r\n *\r\n * Some layout implementations may ignore vertical alignment.\r\n *\r\n * Changing the horizontal alignment will post an `update-request`\r\n * message to widget's parent, provided the parent has a layout\r\n * installed.\r\n */\r\n function setVerticalAlignment(widget, value) {\r\n Private.verticalAlignmentProperty.set(widget, value);\r\n }\r\n Layout.setVerticalAlignment = setVerticalAlignment;\r\n})(Layout = exports.Layout || (exports.Layout = {}));\r\nexports.Layout = Layout;\r\n/**\r\n * An object which assists in the absolute layout of widgets.\r\n *\r\n * #### Notes\r\n * This class is useful when implementing a layout which arranges its\r\n * widgets using absolute positioning.\r\n *\r\n * This class is used by nearly all of the built-in Phosphor layouts.\r\n */\r\nvar LayoutItem = (function () {\r\n /**\r\n * Construct a new layout item.\r\n *\r\n * @param widget - The widget to be managed by the item.\r\n *\r\n * #### Notes\r\n * The widget will be set to absolute positioning.\r\n */\r\n function LayoutItem(widget) {\r\n this._top = NaN;\r\n this._left = NaN;\r\n this._width = NaN;\r\n this._height = NaN;\r\n this._minWidth = 0;\r\n this._minHeight = 0;\r\n this._maxWidth = Infinity;\r\n this._maxHeight = Infinity;\r\n this._disposed = false;\r\n this.widget = widget;\r\n this.widget.node.style.position = 'absolute';\r\n }\r\n /**\r\n * Dispose of the the layout item.\r\n *\r\n * #### Notes\r\n * This will reset the positioning of the widget.\r\n */\r\n LayoutItem.prototype.dispose = function () {\r\n // Do nothing if the item is already disposed.\r\n if (this._disposed) {\r\n return;\r\n }\r\n // Mark the item as disposed.\r\n this._disposed = true;\r\n // Reset the widget style.\r\n var style = this.widget.node.style;\r\n style.position = '';\r\n style.top = '';\r\n style.left = '';\r\n style.width = '';\r\n style.height = '';\r\n };\r\n Object.defineProperty(LayoutItem.prototype, \"minWidth\", {\r\n /**\r\n * The computed minimum width of the widget.\r\n *\r\n * #### Notes\r\n * This value can be updated by calling the `fit` method.\r\n */\r\n get: function () {\r\n return this._minWidth;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(LayoutItem.prototype, \"minHeight\", {\r\n /**\r\n * The computed minimum height of the widget.\r\n *\r\n * #### Notes\r\n * This value can be updated by calling the `fit` method.\r\n */\r\n get: function () {\r\n return this._minHeight;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(LayoutItem.prototype, \"maxWidth\", {\r\n /**\r\n * The computed maximum width of the widget.\r\n *\r\n * #### Notes\r\n * This value can be updated by calling the `fit` method.\r\n */\r\n get: function () {\r\n return this._maxWidth;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(LayoutItem.prototype, \"maxHeight\", {\r\n /**\r\n * The computed maximum height of the widget.\r\n *\r\n * #### Notes\r\n * This value can be updated by calling the `fit` method.\r\n */\r\n get: function () {\r\n return this._maxHeight;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(LayoutItem.prototype, \"isDisposed\", {\r\n /**\r\n * Whether the layout item is disposed.\r\n */\r\n get: function () {\r\n return this._disposed;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(LayoutItem.prototype, \"isHidden\", {\r\n /**\r\n * Whether the managed widget is hidden.\r\n */\r\n get: function () {\r\n return this.widget.isHidden;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(LayoutItem.prototype, \"isVisible\", {\r\n /**\r\n * Whether the managed widget is visible.\r\n */\r\n get: function () {\r\n return this.widget.isVisible;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(LayoutItem.prototype, \"isAttached\", {\r\n /**\r\n * Whether the managed widget is attached.\r\n */\r\n get: function () {\r\n return this.widget.isAttached;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n /**\r\n * Update the computed size limits of the managed widget.\r\n */\r\n LayoutItem.prototype.fit = function () {\r\n var limits = domutils_1.ElementExt.sizeLimits(this.widget.node);\r\n this._minWidth = limits.minWidth;\r\n this._minHeight = limits.minHeight;\r\n this._maxWidth = limits.maxWidth;\r\n this._maxHeight = limits.maxHeight;\r\n };\r\n /**\r\n * Update the position and size of the managed widget.\r\n *\r\n * @param left - The left edge position of the layout box.\r\n *\r\n * @param top - The top edge position of the layout box.\r\n *\r\n * @param width - The width of the layout box.\r\n *\r\n * @param height - The height of the layout box.\r\n */\r\n LayoutItem.prototype.update = function (left, top, width, height) {\r\n // Clamp the size to the computed size limits.\r\n var clampW = Math.max(this._minWidth, Math.min(width, this._maxWidth));\r\n var clampH = Math.max(this._minHeight, Math.min(height, this._maxHeight));\r\n // Ajdust the left edge for the horizontal alignment, if needed.\r\n if (clampW < width) {\r\n switch (Layout.getHorizontalAlignment(this.widget)) {\r\n case 'left':\r\n break;\r\n case 'center':\r\n left += (width - clampW) / 2;\r\n break;\r\n case 'right':\r\n left += width - clampW;\r\n break;\r\n default:\r\n throw 'unreachable';\r\n }\r\n }\r\n // Ajdust the top edge for the vertical alignment, if needed.\r\n if (clampH < height) {\r\n switch (Layout.getVerticalAlignment(this.widget)) {\r\n case 'top':\r\n break;\r\n case 'center':\r\n top += (height - clampH) / 2;\r\n break;\r\n case 'bottom':\r\n top += height - clampH;\r\n break;\r\n default:\r\n throw 'unreachable';\r\n }\r\n }\r\n // Set up the resize variables.\r\n var resized = false;\r\n var style = this.widget.node.style;\r\n // Update the top edge of the widget if needed.\r\n if (this._top !== top) {\r\n this._top = top;\r\n style.top = top + \"px\";\r\n }\r\n // Update the left edge of the widget if needed.\r\n if (this._left !== left) {\r\n this._left = left;\r\n style.left = left + \"px\";\r\n }\r\n // Update the width of the widget if needed.\r\n if (this._width !== clampW) {\r\n resized = true;\r\n this._width = clampW;\r\n style.width = clampW + \"px\";\r\n }\r\n // Update the height of the widget if needed.\r\n if (this._height !== clampH) {\r\n resized = true;\r\n this._height = clampH;\r\n style.height = clampH + \"px\";\r\n }\r\n // Send a resize message to the widget if needed.\r\n if (resized) {\r\n var msg = new widget_1.Widget.ResizeMessage(clampW, clampH);\r\n messaging_1.MessageLoop.sendMessage(this.widget, msg);\r\n }\r\n };\r\n return LayoutItem;\r\n}());\r\nexports.LayoutItem = LayoutItem;\r\n/**\r\n * The namespace for the module implementation details.\r\n */\r\nvar Private;\r\n(function (Private) {\r\n /**\r\n * The attached property for a widget horizontal alignment.\r\n */\r\n Private.horizontalAlignmentProperty = new properties_1.AttachedProperty({\r\n name: 'horizontalAlignment',\r\n create: function () { return 'center'; },\r\n changed: onAlignmentChanged\r\n });\r\n /**\r\n * The attached property for a widget vertical alignment.\r\n */\r\n Private.verticalAlignmentProperty = new properties_1.AttachedProperty({\r\n name: 'verticalAlignment',\r\n create: function () { return 'top'; },\r\n changed: onAlignmentChanged\r\n });\r\n /**\r\n * The change handler for the attached alignment properties.\r\n */\r\n function onAlignmentChanged(child) {\r\n if (child.parent && child.parent.layout) {\r\n child.parent.update();\r\n }\r\n }\r\n})(Private || (Private = {}));\r\n\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/*-----------------------------------------------------------------------------\r\n| Copyright (c) 2014-2017, PhosphorJS Contributors\r\n|\r\n| Distributed under the terms of the BSD 3-Clause License.\r\n|\r\n| The full license is in the file LICENSE, distributed with this software.\r\n|----------------------------------------------------------------------------*/\r\nvar algorithm_1 = __webpack_require__(0);\r\n/**\r\n * A virtual node which represents plain text content.\r\n *\r\n * #### Notes\r\n * User code will not typically create a `VirtualText` node directly.\r\n * Instead, the `h()` function will be used to create an element tree.\r\n */\r\nvar VirtualText = (function () {\r\n /**\r\n * Construct a new virtual text node.\r\n *\r\n * @param content - The text content for the node.\r\n */\r\n function VirtualText(content) {\r\n /**\r\n * The type of the node.\r\n *\r\n * This value can be used as a type guard for discriminating the\r\n * `VirtualNode` union type.\r\n */\r\n this.type = 'text';\r\n this.content = content;\r\n }\r\n return VirtualText;\r\n}());\r\nexports.VirtualText = VirtualText;\r\n/**\r\n * A virtual node which represents an HTML element.\r\n *\r\n * #### Notes\r\n * User code will not typically create a `VirtualElement` node directly.\r\n * Instead, the `h()` function will be used to create an element tree.\r\n */\r\nvar VirtualElement = (function () {\r\n /**\r\n * Construct a new virtual element node.\r\n *\r\n * @param tag - The element tag name.\r\n *\r\n * @param attrs - The element attributes.\r\n *\r\n * @param children - The element children.\r\n */\r\n function VirtualElement(tag, attrs, children) {\r\n /**\r\n * The type of the node.\r\n *\r\n * This value can be used as a type guard for discriminating the\r\n * `VirtualNode` union type.\r\n */\r\n this.type = 'element';\r\n this.tag = tag;\r\n this.attrs = attrs;\r\n this.children = children;\r\n }\r\n return VirtualElement;\r\n}());\r\nexports.VirtualElement = VirtualElement;\r\nfunction h(tag) {\r\n var attrs = {};\r\n var children = [];\r\n for (var i = 1, n = arguments.length; i < n; ++i) {\r\n var arg = arguments[i];\r\n if (typeof arg === 'string') {\r\n children.push(new VirtualText(arg));\r\n }\r\n else if (arg instanceof VirtualText) {\r\n children.push(arg);\r\n }\r\n else if (arg instanceof VirtualElement) {\r\n children.push(arg);\r\n }\r\n else if (arg instanceof Array) {\r\n extend(children, arg);\r\n }\r\n else if (i === 1 && arg && typeof arg === 'object') {\r\n attrs = arg;\r\n }\r\n }\r\n return new VirtualElement(tag, attrs, children);\r\n function extend(array, values) {\r\n for (var _i = 0, values_1 = values; _i < values_1.length; _i++) {\r\n var child = values_1[_i];\r\n if (typeof child === 'string') {\r\n array.push(new VirtualText(child));\r\n }\r\n else if (child instanceof VirtualText) {\r\n array.push(child);\r\n }\r\n else if (child instanceof VirtualElement) {\r\n array.push(child);\r\n }\r\n }\r\n }\r\n}\r\nexports.h = h;\r\n/**\r\n * The namespace for the `h` function statics.\r\n */\r\n(function (h) {\r\n h.a = h.bind(undefined, 'a');\r\n h.abbr = h.bind(undefined, 'abbr');\r\n h.address = h.bind(undefined, 'address');\r\n h.area = h.bind(undefined, 'area');\r\n h.article = h.bind(undefined, 'article');\r\n h.aside = h.bind(undefined, 'aside');\r\n h.audio = h.bind(undefined, 'audio');\r\n h.b = h.bind(undefined, 'b');\r\n h.bdi = h.bind(undefined, 'bdi');\r\n h.bdo = h.bind(undefined, 'bdo');\r\n h.blockquote = h.bind(undefined, 'blockquote');\r\n h.br = h.bind(undefined, 'br');\r\n h.button = h.bind(undefined, 'button');\r\n h.canvas = h.bind(undefined, 'canvas');\r\n h.caption = h.bind(undefined, 'caption');\r\n h.cite = h.bind(undefined, 'cite');\r\n h.code = h.bind(undefined, 'code');\r\n h.col = h.bind(undefined, 'col');\r\n h.colgroup = h.bind(undefined, 'colgroup');\r\n h.data = h.bind(undefined, 'data');\r\n h.datalist = h.bind(undefined, 'datalist');\r\n h.dd = h.bind(undefined, 'dd');\r\n h.del = h.bind(undefined, 'del');\r\n h.dfn = h.bind(undefined, 'dfn');\r\n h.div = h.bind(undefined, 'div');\r\n h.dl = h.bind(undefined, 'dl');\r\n h.dt = h.bind(undefined, 'dt');\r\n h.em = h.bind(undefined, 'em');\r\n h.embed = h.bind(undefined, 'embed');\r\n h.fieldset = h.bind(undefined, 'fieldset');\r\n h.figcaption = h.bind(undefined, 'figcaption');\r\n h.figure = h.bind(undefined, 'figure');\r\n h.footer = h.bind(undefined, 'footer');\r\n h.form = h.bind(undefined, 'form');\r\n h.h1 = h.bind(undefined, 'h1');\r\n h.h2 = h.bind(undefined, 'h2');\r\n h.h3 = h.bind(undefined, 'h3');\r\n h.h4 = h.bind(undefined, 'h4');\r\n h.h5 = h.bind(undefined, 'h5');\r\n h.h6 = h.bind(undefined, 'h6');\r\n h.header = h.bind(undefined, 'header');\r\n h.hr = h.bind(undefined, 'hr');\r\n h.i = h.bind(undefined, 'i');\r\n h.iframe = h.bind(undefined, 'iframe');\r\n h.img = h.bind(undefined, 'img');\r\n h.input = h.bind(undefined, 'input');\r\n h.ins = h.bind(undefined, 'ins');\r\n h.kbd = h.bind(undefined, 'kbd');\r\n h.label = h.bind(undefined, 'label');\r\n h.legend = h.bind(undefined, 'legend');\r\n h.li = h.bind(undefined, 'li');\r\n h.main = h.bind(undefined, 'main');\r\n h.map = h.bind(undefined, 'map');\r\n h.mark = h.bind(undefined, 'mark');\r\n h.meter = h.bind(undefined, 'meter');\r\n h.nav = h.bind(undefined, 'nav');\r\n h.noscript = h.bind(undefined, 'noscript');\r\n h.object = h.bind(undefined, 'object');\r\n h.ol = h.bind(undefined, 'ol');\r\n h.optgroup = h.bind(undefined, 'optgroup');\r\n h.option = h.bind(undefined, 'option');\r\n h.output = h.bind(undefined, 'output');\r\n h.p = h.bind(undefined, 'p');\r\n h.param = h.bind(undefined, 'param');\r\n h.pre = h.bind(undefined, 'pre');\r\n h.progress = h.bind(undefined, 'progress');\r\n h.q = h.bind(undefined, 'q');\r\n h.rp = h.bind(undefined, 'rp');\r\n h.rt = h.bind(undefined, 'rt');\r\n h.ruby = h.bind(undefined, 'ruby');\r\n h.s = h.bind(undefined, 's');\r\n h.samp = h.bind(undefined, 'samp');\r\n h.section = h.bind(undefined, 'section');\r\n h.select = h.bind(undefined, 'select');\r\n h.small = h.bind(undefined, 'small');\r\n h.source = h.bind(undefined, 'source');\r\n h.span = h.bind(undefined, 'span');\r\n h.strong = h.bind(undefined, 'strong');\r\n h.sub = h.bind(undefined, 'sub');\r\n h.summary = h.bind(undefined, 'summary');\r\n h.sup = h.bind(undefined, 'sup');\r\n h.table = h.bind(undefined, 'table');\r\n h.tbody = h.bind(undefined, 'tbody');\r\n h.td = h.bind(undefined, 'td');\r\n h.textarea = h.bind(undefined, 'textarea');\r\n h.tfoot = h.bind(undefined, 'tfoot');\r\n h.th = h.bind(undefined, 'th');\r\n h.thead = h.bind(undefined, 'thead');\r\n h.time = h.bind(undefined, 'time');\r\n h.title = h.bind(undefined, 'title');\r\n h.tr = h.bind(undefined, 'tr');\r\n h.track = h.bind(undefined, 'track');\r\n h.u = h.bind(undefined, 'u');\r\n h.ul = h.bind(undefined, 'ul');\r\n h.var_ = h.bind(undefined, 'var');\r\n h.video = h.bind(undefined, 'video');\r\n h.wbr = h.bind(undefined, 'wbr');\r\n})(h = exports.h || (exports.h = {}));\r\n/**\r\n * The namespace for the virtual DOM rendering functions.\r\n */\r\nvar VirtualDOM;\r\n(function (VirtualDOM) {\r\n /**\r\n * Create a real DOM element from a virtual element node.\r\n *\r\n * @param node - The virtual element node to realize.\r\n *\r\n * @returns A new DOM element for the given virtual element node.\r\n *\r\n * #### Notes\r\n * This creates a brand new *real* DOM element with a structure which\r\n * matches the given virtual DOM node.\r\n *\r\n * If virtual diffing is desired, use the `render` function instead.\r\n */\r\n function realize(node) {\r\n return Private.createDOMNode(node);\r\n }\r\n VirtualDOM.realize = realize;\r\n /**\r\n * Render virtual DOM content into a host element.\r\n *\r\n * @param content - The virtual DOM content to render.\r\n *\r\n * @param host - The host element for the rendered content.\r\n *\r\n * #### Notes\r\n * This renders the delta from the previous rendering. It assumes that\r\n * the content of the host element is not manipulated by external code.\r\n *\r\n * Providing `null` content will clear the rendering.\r\n *\r\n * Externally modifying the provided content or the host element will\r\n * result in undefined rendering behavior.\r\n */\r\n function render(content, host) {\r\n var oldContent = Private.hostMap.get(host) || [];\r\n var newContent = Private.asContentArray(content);\r\n Private.hostMap.set(host, newContent);\r\n Private.updateContent(host, oldContent, newContent);\r\n }\r\n VirtualDOM.render = render;\r\n})(VirtualDOM = exports.VirtualDOM || (exports.VirtualDOM = {}));\r\n/**\r\n * The namespace for the module implementation details.\r\n */\r\nvar Private;\r\n(function (Private) {\r\n /**\r\n * A weak mapping of host element to virtual DOM content.\r\n */\r\n Private.hostMap = new WeakMap();\r\n /**\r\n * Cast a content value to a content array.\r\n */\r\n function asContentArray(value) {\r\n if (!value) {\r\n return [];\r\n }\r\n if (value instanceof Array) {\r\n return value;\r\n }\r\n return [value];\r\n }\r\n Private.asContentArray = asContentArray;\r\n function createDOMNode(node) {\r\n // Create a text node for a virtual text node.\r\n if (node.type === 'text') {\r\n return document.createTextNode(node.content);\r\n }\r\n // Create the HTML element with the specified tag.\r\n var element = document.createElement(node.tag);\r\n // Add the attributes for the new element.\r\n addAttrs(element, node.attrs);\r\n // Recursively populate the element with child content.\r\n for (var i = 0, n = node.children.length; i < n; ++i) {\r\n element.appendChild(createDOMNode(node.children[i]));\r\n }\r\n // Return the populated element.\r\n return element;\r\n }\r\n Private.createDOMNode = createDOMNode;\r\n /**\r\n * Update a host element with the delta of the virtual content.\r\n *\r\n * This is the core \"diff\" algorithm. There is no explicit \"patch\"\r\n * phase. The host is patched at each step as the diff progresses.\r\n */\r\n function updateContent(host, oldContent, newContent) {\r\n // Bail early if the content is identical.\r\n if (oldContent === newContent) {\r\n return;\r\n }\r\n // Collect the old keyed elems into a mapping.\r\n var oldKeyed = collectKeys(host, oldContent);\r\n // Create a copy of the old content which can be modified in-place.\r\n var oldCopy = oldContent.slice();\r\n // Update the host with the new content. The diff always proceeds\r\n // forward and never modifies a previously visited index. The old\r\n // copy array is modified in-place to reflect the changes made to\r\n // the host children. This causes the stale nodes to be pushed to\r\n // the end of the host node and removed at the end of the loop.\r\n var currElem = host.firstChild;\r\n var newCount = newContent.length;\r\n for (var i = 0; i < newCount; ++i) {\r\n // If the old content is exhausted, create a new node.\r\n if (i >= oldCopy.length) {\r\n host.appendChild(createDOMNode(newContent[i]));\r\n continue;\r\n }\r\n // Lookup the old and new virtual nodes.\r\n var oldVNode = oldCopy[i];\r\n var newVNode = newContent[i];\r\n // If both elements are identical, there is nothing to do.\r\n if (oldVNode === newVNode) {\r\n currElem = currElem.nextSibling;\r\n continue;\r\n }\r\n // Handle the simplest case of in-place text update first.\r\n if (oldVNode.type === 'text' && newVNode.type === 'text') {\r\n currElem.textContent = newVNode.content;\r\n currElem = currElem.nextSibling;\r\n continue;\r\n }\r\n // If the old or new node is a text node, the other node is now\r\n // known to be an element node, so create and insert a new node.\r\n if (oldVNode.type === 'text' || newVNode.type === 'text') {\r\n algorithm_1.ArrayExt.insert(oldCopy, i, newVNode);\r\n host.insertBefore(createDOMNode(newVNode), currElem);\r\n continue;\r\n }\r\n // At this point, both nodes are known to be element nodes.\r\n // If the new elem is keyed, move an old keyed elem to the proper\r\n // location before proceeding with the diff. The search can start\r\n // at the current index, since the unmatched old keyed elems are\r\n // pushed forward in the old copy array.\r\n var newKey = newVNode.attrs.key;\r\n if (newKey && newKey in oldKeyed) {\r\n var pair = oldKeyed[newKey];\r\n if (pair.vNode !== oldVNode) {\r\n algorithm_1.ArrayExt.move(oldCopy, oldCopy.indexOf(pair.vNode, i + 1), i);\r\n host.insertBefore(pair.element, currElem);\r\n oldVNode = pair.vNode;\r\n currElem = pair.element;\r\n }\r\n }\r\n // If both elements are identical, there is nothing to do.\r\n if (oldVNode === newVNode) {\r\n currElem = currElem.nextSibling;\r\n continue;\r\n }\r\n // If the old elem is keyed and does not match the new elem key,\r\n // create a new node. This is necessary since the old keyed elem\r\n // may be matched at a later point in the diff.\r\n var oldKey = oldVNode.attrs.key;\r\n if (oldKey && oldKey !== newKey) {\r\n algorithm_1.ArrayExt.insert(oldCopy, i, newVNode);\r\n host.insertBefore(createDOMNode(newVNode), currElem);\r\n continue;\r\n }\r\n // If the tags are different, create a new node.\r\n if (oldVNode.tag !== newVNode.tag) {\r\n algorithm_1.ArrayExt.insert(oldCopy, i, newVNode);\r\n host.insertBefore(createDOMNode(newVNode), currElem);\r\n continue;\r\n }\r\n // At this point, the element can be updated in-place.\r\n // Update the element attributes.\r\n updateAttrs(currElem, oldVNode.attrs, newVNode.attrs);\r\n // Update the element content.\r\n updateContent(currElem, oldVNode.children, newVNode.children);\r\n // Step to the next sibling element.\r\n currElem = currElem.nextSibling;\r\n }\r\n // Dispose of the old nodes pushed to the end of the host.\r\n for (var i = oldCopy.length - newCount; i > 0; --i) {\r\n host.removeChild(host.lastChild);\r\n }\r\n }\r\n Private.updateContent = updateContent;\r\n /**\r\n * A set of special-cased attribute names.\r\n */\r\n var specialAttrs = {\r\n 'key': true,\r\n 'className': true,\r\n 'htmlFor': true,\r\n 'dataset': true,\r\n 'style': true,\r\n };\r\n /**\r\n * Add element attributes to a newly created HTML element.\r\n */\r\n function addAttrs(element, attrs) {\r\n // Add the inline event listeners and node attributes.\r\n for (var name_1 in attrs) {\r\n if (name_1 in specialAttrs) {\r\n continue;\r\n }\r\n if (name_1.substr(0, 2) === 'on') {\r\n element[name_1] = attrs[name_1];\r\n }\r\n else {\r\n element.setAttribute(name_1, attrs[name_1]);\r\n }\r\n }\r\n // Add the element `class` attribute.\r\n if (attrs.className !== undefined) {\r\n element.setAttribute('class', attrs.className);\r\n }\r\n // Add the element `for` attribute.\r\n if (attrs.htmlFor !== undefined) {\r\n element.setAttribute('for', attrs.htmlFor);\r\n }\r\n // Add the dataset values.\r\n if (attrs.dataset) {\r\n addDataset(element, attrs.dataset);\r\n }\r\n // Add the inline styles.\r\n if (attrs.style) {\r\n addStyle(element, attrs.style);\r\n }\r\n }\r\n /**\r\n * Update the element attributes of an HTML element.\r\n */\r\n function updateAttrs(element, oldAttrs, newAttrs) {\r\n // Do nothing if the attrs are the same object.\r\n if (oldAttrs === newAttrs) {\r\n return;\r\n }\r\n // Setup the strongly typed loop variable.\r\n var name;\r\n // Remove attributes and listeners which no longer exist.\r\n for (name in oldAttrs) {\r\n if (name in specialAttrs || name in newAttrs) {\r\n continue;\r\n }\r\n if (name.substr(0, 2) === 'on') {\r\n element[name] = null;\r\n }\r\n else {\r\n element.removeAttribute(name);\r\n }\r\n }\r\n // Add and update new and existing attributes and listeners.\r\n for (name in newAttrs) {\r\n if (name in specialAttrs || oldAttrs[name] === newAttrs[name]) {\r\n continue;\r\n }\r\n if (name.substr(0, 2) === 'on') {\r\n element[name] = newAttrs[name];\r\n }\r\n else {\r\n element.setAttribute(name, newAttrs[name]);\r\n }\r\n }\r\n // Update the element `class` attribute.\r\n if (oldAttrs.className !== newAttrs.className) {\r\n if (newAttrs.className !== undefined) {\r\n element.setAttribute('class', newAttrs.className);\r\n }\r\n else {\r\n element.removeAttribute('class');\r\n }\r\n }\r\n // Add the element `for` attribute.\r\n if (oldAttrs.htmlFor !== newAttrs.htmlFor) {\r\n if (newAttrs.htmlFor !== undefined) {\r\n element.setAttribute('for', newAttrs.htmlFor);\r\n }\r\n else {\r\n element.removeAttribute('for');\r\n }\r\n }\r\n // Update the dataset values.\r\n if (oldAttrs.dataset !== newAttrs.dataset) {\r\n updateDataset(element, oldAttrs.dataset || {}, newAttrs.dataset || {});\r\n }\r\n // Update the inline styles.\r\n if (oldAttrs.style !== newAttrs.style) {\r\n updateStyle(element, oldAttrs.style || {}, newAttrs.style || {});\r\n }\r\n }\r\n /**\r\n * Add dataset values to a newly created HTML element.\r\n */\r\n function addDataset(element, dataset) {\r\n for (var name_2 in dataset) {\r\n element.setAttribute(\"data-\" + name_2, dataset[name_2]);\r\n }\r\n }\r\n /**\r\n * Update the dataset values of an HTML element.\r\n */\r\n function updateDataset(element, oldDataset, newDataset) {\r\n for (var name_3 in oldDataset) {\r\n if (!(name_3 in newDataset)) {\r\n element.removeAttribute(\"data-\" + name_3);\r\n }\r\n }\r\n for (var name_4 in newDataset) {\r\n if (oldDataset[name_4] !== newDataset[name_4]) {\r\n element.setAttribute(\"data-\" + name_4, newDataset[name_4]);\r\n }\r\n }\r\n }\r\n /**\r\n * Add inline style values to a newly created HTML element.\r\n */\r\n function addStyle(element, style) {\r\n var elemStyle = element.style;\r\n var name;\r\n for (name in style) {\r\n elemStyle[name] = style[name];\r\n }\r\n }\r\n /**\r\n * Update the inline style values of an HTML element.\r\n */\r\n function updateStyle(element, oldStyle, newStyle) {\r\n var elemStyle = element.style;\r\n var name;\r\n for (name in oldStyle) {\r\n if (!(name in newStyle)) {\r\n elemStyle[name] = '';\r\n }\r\n }\r\n for (name in newStyle) {\r\n if (oldStyle[name] !== newStyle[name]) {\r\n elemStyle[name] = newStyle[name];\r\n }\r\n }\r\n }\r\n /**\r\n * Collect a mapping of keyed elements for the host content.\r\n */\r\n function collectKeys(host, content) {\r\n var node = host.firstChild;\r\n var keyMap = Object.create(null);\r\n for (var _i = 0, content_1 = content; _i < content_1.length; _i++) {\r\n var vNode = content_1[_i];\r\n if (vNode.type === 'element' && vNode.attrs.key) {\r\n keyMap[vNode.attrs.key] = { vNode: vNode, element: node };\r\n }\r\n node = node.nextSibling;\r\n }\r\n return keyMap;\r\n }\r\n})(Private || (Private = {}));\r\n\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/*-----------------------------------------------------------------------------\r\n| Copyright (c) 2014-2017, PhosphorJS Contributors\r\n|\r\n| Distributed under the terms of the BSD 3-Clause License.\r\n|\r\n| The full license is in the file LICENSE, distributed with this software.\r\n|----------------------------------------------------------------------------*/\r\nvar algorithm_1 = __webpack_require__(0);\r\nvar messaging_1 = __webpack_require__(3);\r\nvar layout_1 = __webpack_require__(8);\r\nvar widget_1 = __webpack_require__(2);\r\n/**\r\n * A concrete layout implementation suitable for many use cases.\r\n *\r\n * #### Notes\r\n * This class is suitable as a base class for implementing a variety of\r\n * layouts, but can also be used directly with standard CSS to layout a\r\n * collection of widgets.\r\n */\r\nvar PanelLayout = (function (_super) {\r\n __extends(PanelLayout, _super);\r\n function PanelLayout() {\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this._widgets = [];\r\n return _this;\r\n }\r\n /**\r\n * Dispose of the resources held by the layout.\r\n *\r\n * #### Notes\r\n * This will clear and dispose all widgets in the layout.\r\n *\r\n * All reimplementations should call the superclass method.\r\n *\r\n * This method is called automatically when the parent is disposed.\r\n */\r\n PanelLayout.prototype.dispose = function () {\r\n while (this._widgets.length > 0) {\r\n this._widgets.pop().dispose();\r\n }\r\n _super.prototype.dispose.call(this);\r\n };\r\n Object.defineProperty(PanelLayout.prototype, \"widgets\", {\r\n /**\r\n * A read-only array of the widgets in the layout.\r\n */\r\n get: function () {\r\n return this._widgets;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n /**\r\n * Create an iterator over the widgets in the layout.\r\n *\r\n * @returns A new iterator over the widgets in the layout.\r\n */\r\n PanelLayout.prototype.iter = function () {\r\n return algorithm_1.iter(this._widgets);\r\n };\r\n /**\r\n * Add a widget to the end of the layout.\r\n *\r\n * @param widget - The widget to add to the layout.\r\n *\r\n * #### Notes\r\n * If the widget is already contained in the layout, it will be moved.\r\n */\r\n PanelLayout.prototype.addWidget = function (widget) {\r\n this.insertWidget(this._widgets.length, widget);\r\n };\r\n /**\r\n * Insert a widget into the layout at the specified index.\r\n *\r\n * @param index - The index at which to insert the widget.\r\n *\r\n * @param widget - The widget to insert into the layout.\r\n *\r\n * #### Notes\r\n * The index will be clamped to the bounds of the widgets.\r\n *\r\n * If the widget is already added to the layout, it will be moved.\r\n *\r\n * #### Undefined Behavior\r\n * An `index` which is non-integral.\r\n */\r\n PanelLayout.prototype.insertWidget = function (index, widget) {\r\n // Remove the widget from its current parent. This is a no-op\r\n // if the widget's parent is already the layout parent widget.\r\n widget.parent = this.parent;\r\n // Look up the current index of the widget.\r\n var i = this._widgets.indexOf(widget);\r\n // Clamp the insert index to the array bounds.\r\n var j = Math.max(0, Math.min(index, this._widgets.length));\r\n // If the widget is not in the array, insert it.\r\n if (i === -1) {\r\n // Insert the widget into the array.\r\n algorithm_1.ArrayExt.insert(this._widgets, j, widget);\r\n // If the layout is parented, attach the widget to the DOM.\r\n if (this.parent) {\r\n this.attachWidget(j, widget);\r\n }\r\n // There is nothing more to do.\r\n return;\r\n }\r\n // Otherwise, the widget exists in the array and should be moved.\r\n // Adjust the index if the location is at the end of the array.\r\n if (j === this._widgets.length) {\r\n j--;\r\n }\r\n // Bail if there is no effective move.\r\n if (i === j) {\r\n return;\r\n }\r\n // Move the widget to the new location.\r\n algorithm_1.ArrayExt.move(this._widgets, i, j);\r\n // If the layout is parented, move the widget in the DOM.\r\n if (this.parent) {\r\n this.moveWidget(i, j, widget);\r\n }\r\n };\r\n /**\r\n * Remove a widget from the layout.\r\n *\r\n * @param widget - The widget to remove from the layout.\r\n *\r\n * #### Notes\r\n * A widget is automatically removed from the layout when its `parent`\r\n * is set to `null`. This method should only be invoked directly when\r\n * removing a widget from a layout which has yet to be installed on a\r\n * parent widget.\r\n *\r\n * This method does *not* modify the widget's `parent`.\r\n */\r\n PanelLayout.prototype.removeWidget = function (widget) {\r\n this.removeWidgetAt(this._widgets.indexOf(widget));\r\n };\r\n /**\r\n * Remove the widget at a given index from the layout.\r\n *\r\n * @param index - The index of the widget to remove.\r\n *\r\n * #### Notes\r\n * A widget is automatically removed from the layout when its `parent`\r\n * is set to `null`. This method should only be invoked directly when\r\n * removing a widget from a layout which has yet to be installed on a\r\n * parent widget.\r\n *\r\n * This method does *not* modify the widget's `parent`.\r\n *\r\n * #### Undefined Behavior\r\n * An `index` which is non-integral.\r\n */\r\n PanelLayout.prototype.removeWidgetAt = function (index) {\r\n // Remove the widget from the array.\r\n var widget = algorithm_1.ArrayExt.removeAt(this._widgets, index);\r\n // If the layout is parented, detach the widget from the DOM.\r\n if (widget && this.parent) {\r\n this.detachWidget(index, widget);\r\n }\r\n };\r\n /**\r\n * Perform layout initialization which requires the parent widget.\r\n */\r\n PanelLayout.prototype.init = function () {\r\n var _this = this;\r\n _super.prototype.init.call(this);\r\n algorithm_1.each(this, function (widget, index) {\r\n _this.attachWidget(index, widget);\r\n });\r\n };\r\n /**\r\n * Attach a widget to the parent's DOM node.\r\n *\r\n * @param index - The current index of the widget in the layout.\r\n *\r\n * @param widget - The widget to attach to the parent.\r\n *\r\n * #### Notes\r\n * This method is called automatically by the panel layout at the\r\n * appropriate time. It should not be called directly by user code.\r\n *\r\n * The default implementation adds the widgets's node to the parent's\r\n * node at the proper location, and sends the appropriate attach\r\n * messages to the widget if the parent is attached to the DOM.\r\n *\r\n * Subclasses may reimplement this method to control how the widget's\r\n * node is added to the parent's node.\r\n */\r\n PanelLayout.prototype.attachWidget = function (index, widget) {\r\n // Look up the next sibling reference node.\r\n var ref = this.parent.node.children[index];\r\n // Send a `'before-attach'` message if the parent is attached.\r\n if (this.parent.isAttached) {\r\n messaging_1.MessageLoop.sendMessage(widget, widget_1.Widget.Msg.BeforeAttach);\r\n }\r\n // Insert the widget's node before the sibling.\r\n this.parent.node.insertBefore(widget.node, ref);\r\n // Send an `'after-attach'` message if the parent is attached.\r\n if (this.parent.isAttached) {\r\n messaging_1.MessageLoop.sendMessage(widget, widget_1.Widget.Msg.AfterAttach);\r\n }\r\n };\r\n /**\r\n * Move a widget in the parent's DOM node.\r\n *\r\n * @param fromIndex - The previous index of the widget in the layout.\r\n *\r\n * @param toIndex - The current index of the widget in the layout.\r\n *\r\n * @param widget - The widget to move in the parent.\r\n *\r\n * #### Notes\r\n * This method is called automatically by the panel layout at the\r\n * appropriate time. It should not be called directly by user code.\r\n *\r\n * The default implementation moves the widget's node to the proper\r\n * location in the parent's node and sends the appropriate attach and\r\n * detach messages to the widget if the parent is attached to the DOM.\r\n *\r\n * Subclasses may reimplement this method to control how the widget's\r\n * node is moved in the parent's node.\r\n */\r\n PanelLayout.prototype.moveWidget = function (fromIndex, toIndex, widget) {\r\n // Send a `'before-detach'` message if the parent is attached.\r\n if (this.parent.isAttached) {\r\n messaging_1.MessageLoop.sendMessage(widget, widget_1.Widget.Msg.BeforeDetach);\r\n }\r\n // Remove the widget's node from the parent.\r\n this.parent.node.removeChild(widget.node);\r\n // Send an `'after-detach'` and message if the parent is attached.\r\n if (this.parent.isAttached) {\r\n messaging_1.MessageLoop.sendMessage(widget, widget_1.Widget.Msg.AfterDetach);\r\n }\r\n // Look up the next sibling reference node.\r\n var ref = this.parent.node.children[toIndex];\r\n // Send a `'before-attach'` message if the parent is attached.\r\n if (this.parent.isAttached) {\r\n messaging_1.MessageLoop.sendMessage(widget, widget_1.Widget.Msg.BeforeAttach);\r\n }\r\n // Insert the widget's node before the sibling.\r\n this.parent.node.insertBefore(widget.node, ref);\r\n // Send an `'after-attach'` message if the parent is attached.\r\n if (this.parent.isAttached) {\r\n messaging_1.MessageLoop.sendMessage(widget, widget_1.Widget.Msg.AfterAttach);\r\n }\r\n };\r\n /**\r\n * Detach a widget from the parent's DOM node.\r\n *\r\n * @param index - The previous index of the widget in the layout.\r\n *\r\n * @param widget - The widget to detach from the parent.\r\n *\r\n * #### Notes\r\n * This method is called automatically by the panel layout at the\r\n * appropriate time. It should not be called directly by user code.\r\n *\r\n * The default implementation removes the widget's node from the\r\n * parent's node, and sends the appropriate detach messages to the\r\n * widget if the parent is attached to the DOM.\r\n *\r\n * Subclasses may reimplement this method to control how the widget's\r\n * node is removed from the parent's node.\r\n */\r\n PanelLayout.prototype.detachWidget = function (index, widget) {\r\n // Send a `'before-detach'` message if the parent is attached.\r\n if (this.parent.isAttached) {\r\n messaging_1.MessageLoop.sendMessage(widget, widget_1.Widget.Msg.BeforeDetach);\r\n }\r\n // Remove the widget's node from the parent.\r\n this.parent.node.removeChild(widget.node);\r\n // Send an `'after-detach'` message if the parent is attached.\r\n if (this.parent.isAttached) {\r\n messaging_1.MessageLoop.sendMessage(widget, widget_1.Widget.Msg.AfterDetach);\r\n }\r\n };\r\n return PanelLayout;\r\n}(layout_1.Layout));\r\nexports.PanelLayout = PanelLayout;\r\n\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/*-----------------------------------------------------------------------------\r\n| Copyright (c) 2014-2017, PhosphorJS Contributors\r\n|\r\n| Distributed under the terms of the BSD 3-Clause License.\r\n|\r\n| The full license is in the file LICENSE, distributed with this software.\r\n|----------------------------------------------------------------------------*/\r\nvar algorithm_1 = __webpack_require__(0);\r\nvar coreutils_1 = __webpack_require__(6);\r\nvar disposable_1 = __webpack_require__(12);\r\nvar domutils_1 = __webpack_require__(1);\r\nvar keyboard_1 = __webpack_require__(14);\r\nvar signaling_1 = __webpack_require__(4);\r\n/**\r\n * An object which manages a collection of commands.\r\n *\r\n * #### Notes\r\n * A command registry can be used to populate a variety of action-based\r\n * widgets, such as command palettes, menus, and toolbars.\r\n */\r\nvar CommandRegistry = (function () {\r\n /**\r\n * Construct a new command registry.\r\n */\r\n function CommandRegistry() {\r\n this._timerID = 0;\r\n this._replaying = false;\r\n this._keystrokes = [];\r\n this._keydownEvents = [];\r\n this._keyBindings = [];\r\n this._exactKeyMatch = null;\r\n this._commands = Object.create(null);\r\n this._commandChanged = new signaling_1.Signal(this);\r\n this._commandExecuted = new signaling_1.Signal(this);\r\n this._keyBindingChanged = new signaling_1.Signal(this);\r\n }\r\n Object.defineProperty(CommandRegistry.prototype, \"commandChanged\", {\r\n /**\r\n * A signal emitted when a command has changed.\r\n *\r\n * #### Notes\r\n * This signal is useful for visual representations of commands which\r\n * need to refresh when the state of a relevant command has changed.\r\n */\r\n get: function () {\r\n return this._commandChanged;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(CommandRegistry.prototype, \"commandExecuted\", {\r\n /**\r\n * A signal emitted when a command has executed.\r\n *\r\n * #### Notes\r\n * Care should be taken when consuming this signal. It is intended to\r\n * be used largely for debugging and logging purposes. It should not\r\n * be (ab)used for general purpose spying on command execution.\r\n */\r\n get: function () {\r\n return this._commandExecuted;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(CommandRegistry.prototype, \"keyBindingChanged\", {\r\n /**\r\n * A signal emitted when a key binding is changed.\r\n */\r\n get: function () {\r\n return this._keyBindingChanged;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(CommandRegistry.prototype, \"keyBindings\", {\r\n /**\r\n * A read-only array of the key bindings in the registry.\r\n */\r\n get: function () {\r\n return this._keyBindings;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n /**\r\n * List the ids of the registered commands.\r\n *\r\n * @returns A new array of the registered command ids.\r\n */\r\n CommandRegistry.prototype.listCommands = function () {\r\n return Object.keys(this._commands);\r\n };\r\n /**\r\n * Test whether a specific command is registered.\r\n *\r\n * @param id - The id of the command of interest.\r\n *\r\n * @returns `true` if the command is registered, `false` otherwise.\r\n */\r\n CommandRegistry.prototype.hasCommand = function (id) {\r\n return id in this._commands;\r\n };\r\n /**\r\n * Add a command to the registry.\r\n *\r\n * @param id - The unique id of the command.\r\n *\r\n * @param options - The options for the command.\r\n *\r\n * @returns A disposable which will remove the command.\r\n *\r\n * @throws An error if the given `id` is already registered.\r\n */\r\n CommandRegistry.prototype.addCommand = function (id, options) {\r\n var _this = this;\r\n // Throw an error if the id is already registered.\r\n if (id in this._commands) {\r\n throw new Error(\"Command '\" + id + \"' already registered.\");\r\n }\r\n // Add the command to the registry.\r\n this._commands[id] = Private.createCommand(options);\r\n // Emit the `commandChanged` signal.\r\n this._commandChanged.emit({ id: id, type: 'added' });\r\n // Return a disposable which will remove the command.\r\n return new disposable_1.DisposableDelegate(function () {\r\n // Remove the command from the registry.\r\n delete _this._commands[id];\r\n // Emit the `commandChanged` signal.\r\n _this._commandChanged.emit({ id: id, type: 'removed' });\r\n });\r\n };\r\n /**\r\n * Notify listeners that the state of a command has changed.\r\n *\r\n * @param id - The id of the command which has changed.\r\n *\r\n * @throws An error if the given `id` is not registered.\r\n *\r\n * #### Notes\r\n * This method should be called by the command author whenever the\r\n * application state changes such that the results of the command\r\n * metadata functions may have changed.\r\n *\r\n * This will cause the `commandChanged` signal to be emitted.\r\n */\r\n CommandRegistry.prototype.notifyCommandChanged = function (id) {\r\n if (!(id in this._commands)) {\r\n throw new Error(\"Command '\" + id + \"' is not registered.\");\r\n }\r\n this._commandChanged.emit({ id: id, type: 'changed' });\r\n };\r\n /**\r\n * Get the display label for a specific command.\r\n *\r\n * @param id - The id of the command of interest.\r\n *\r\n * @param args - The arguments for the command.\r\n *\r\n * @returns The display label for the command, or an empty string\r\n * if the command is not registered.\r\n */\r\n CommandRegistry.prototype.label = function (id, args) {\r\n if (args === void 0) { args = coreutils_1.JSONExt.emptyObject; }\r\n var cmd = this._commands[id];\r\n return cmd ? cmd.label.call(undefined, args) : '';\r\n };\r\n /**\r\n * Get the mnemonic index for a specific command.\r\n *\r\n * @param id - The id of the command of interest.\r\n *\r\n * @param args - The arguments for the command.\r\n *\r\n * @returns The mnemonic index for the command, or `-1` if the\r\n * command is not registered.\r\n */\r\n CommandRegistry.prototype.mnemonic = function (id, args) {\r\n if (args === void 0) { args = coreutils_1.JSONExt.emptyObject; }\r\n var cmd = this._commands[id];\r\n return cmd ? cmd.mnemonic.call(undefined, args) : -1;\r\n };\r\n /**\r\n * @deprecated Use `iconClass()` instead.\r\n */\r\n CommandRegistry.prototype.icon = function (id, args) {\r\n if (args === void 0) { args = coreutils_1.JSONExt.emptyObject; }\r\n return this.iconClass(id, args);\r\n };\r\n /**\r\n * Get the icon class for a specific command.\r\n *\r\n * @param id - The id of the command of interest.\r\n *\r\n * @param args - The arguments for the command.\r\n *\r\n * @returns The icon class for the command, or an empty string if\r\n * the command is not registered.\r\n */\r\n CommandRegistry.prototype.iconClass = function (id, args) {\r\n if (args === void 0) { args = coreutils_1.JSONExt.emptyObject; }\r\n var cmd = this._commands[id];\r\n return cmd ? cmd.iconClass.call(undefined, args) : '';\r\n };\r\n /**\r\n * Get the icon label for a specific command.\r\n *\r\n * @param id - The id of the command of interest.\r\n *\r\n * @param args - The arguments for the command.\r\n *\r\n * @returns The icon label for the command, or an empty string if\r\n * the command is not registered.\r\n */\r\n CommandRegistry.prototype.iconLabel = function (id, args) {\r\n if (args === void 0) { args = coreutils_1.JSONExt.emptyObject; }\r\n var cmd = this._commands[id];\r\n return cmd ? cmd.iconLabel.call(undefined, args) : '';\r\n };\r\n /**\r\n * Get the short form caption for a specific command.\r\n *\r\n * @param id - The id of the command of interest.\r\n *\r\n * @param args - The arguments for the command.\r\n *\r\n * @returns The caption for the command, or an empty string if the\r\n * command is not registered.\r\n */\r\n CommandRegistry.prototype.caption = function (id, args) {\r\n if (args === void 0) { args = coreutils_1.JSONExt.emptyObject; }\r\n var cmd = this._commands[id];\r\n return cmd ? cmd.caption.call(undefined, args) : '';\r\n };\r\n /**\r\n * Get the usage help text for a specific command.\r\n *\r\n * @param id - The id of the command of interest.\r\n *\r\n * @param args - The arguments for the command.\r\n *\r\n * @returns The usage text for the command, or an empty string if\r\n * the command is not registered.\r\n */\r\n CommandRegistry.prototype.usage = function (id, args) {\r\n if (args === void 0) { args = coreutils_1.JSONExt.emptyObject; }\r\n var cmd = this._commands[id];\r\n return cmd ? cmd.usage.call(undefined, args) : '';\r\n };\r\n /**\r\n * Get the extra class name for a specific command.\r\n *\r\n * @param id - The id of the command of interest.\r\n *\r\n * @param args - The arguments for the command.\r\n *\r\n * @returns The class name for the command, or an empty string if\r\n * the command is not registered.\r\n */\r\n CommandRegistry.prototype.className = function (id, args) {\r\n if (args === void 0) { args = coreutils_1.JSONExt.emptyObject; }\r\n var cmd = this._commands[id];\r\n return cmd ? cmd.className.call(undefined, args) : '';\r\n };\r\n /**\r\n * Get the dataset for a specific command.\r\n *\r\n * @param id - The id of the command of interest.\r\n *\r\n * @param args - The arguments for the command.\r\n *\r\n * @returns The dataset for the command, or an empty dataset if\r\n * the command is not registered.\r\n */\r\n CommandRegistry.prototype.dataset = function (id, args) {\r\n if (args === void 0) { args = coreutils_1.JSONExt.emptyObject; }\r\n var cmd = this._commands[id];\r\n return cmd ? cmd.dataset.call(undefined, args) : {};\r\n };\r\n /**\r\n * Test whether a specific command is enabled.\r\n *\r\n * @param id - The id of the command of interest.\r\n *\r\n * @param args - The arguments for the command.\r\n *\r\n * @returns A boolean indicating whether the command is enabled,\r\n * or `false` if the command is not registered.\r\n */\r\n CommandRegistry.prototype.isEnabled = function (id, args) {\r\n if (args === void 0) { args = coreutils_1.JSONExt.emptyObject; }\r\n var cmd = this._commands[id];\r\n return cmd ? cmd.isEnabled.call(undefined, args) : false;\r\n };\r\n /**\r\n * Test whether a specific command is toggled.\r\n *\r\n * @param id - The id of the command of interest.\r\n *\r\n * @param args - The arguments for the command.\r\n *\r\n * @returns A boolean indicating whether the command is toggled,\r\n * or `false` if the command is not registered.\r\n */\r\n CommandRegistry.prototype.isToggled = function (id, args) {\r\n if (args === void 0) { args = coreutils_1.JSONExt.emptyObject; }\r\n var cmd = this._commands[id];\r\n return cmd ? cmd.isToggled.call(undefined, args) : false;\r\n };\r\n /**\r\n * Test whether a specific command is visible.\r\n *\r\n * @param id - The id of the command of interest.\r\n *\r\n * @param args - The arguments for the command.\r\n *\r\n * @returns A boolean indicating whether the command is visible,\r\n * or `false` if the command is not registered.\r\n */\r\n CommandRegistry.prototype.isVisible = function (id, args) {\r\n if (args === void 0) { args = coreutils_1.JSONExt.emptyObject; }\r\n var cmd = this._commands[id];\r\n return cmd ? cmd.isVisible.call(undefined, args) : false;\r\n };\r\n /**\r\n * Execute a specific command.\r\n *\r\n * @param id - The id of the command of interest.\r\n *\r\n * @param args - The arguments for the command.\r\n *\r\n * @returns A promise which resolves with the result of the command.\r\n *\r\n * #### Notes\r\n * The promise will reject if the command throws an exception,\r\n * or if the command is not registered.\r\n */\r\n CommandRegistry.prototype.execute = function (id, args) {\r\n if (args === void 0) { args = coreutils_1.JSONExt.emptyObject; }\r\n // Reject if the command is not registered.\r\n var cmd = this._commands[id];\r\n if (!cmd) {\r\n return Promise.reject(new Error(\"Command '\" + id + \"' not registered.\"));\r\n }\r\n // Execute the command and reject if an exception is thrown.\r\n var value;\r\n try {\r\n value = cmd.execute.call(undefined, args);\r\n }\r\n catch (err) {\r\n value = Promise.reject(err);\r\n }\r\n // Create the return promise which resolves the result.\r\n var result = Promise.resolve(value);\r\n // Emit the command executed signal.\r\n this._commandExecuted.emit({ id: id, args: args, result: result });\r\n // Return the result promise to the caller.\r\n return result;\r\n };\r\n /**\r\n * Add a key binding to the registry.\r\n *\r\n * @param options - The options for creating the key binding.\r\n *\r\n * @returns A disposable which removes the added key binding.\r\n *\r\n * #### Notes\r\n * If multiple key bindings are registered for the same sequence, the\r\n * binding with the highest selector specificity is executed first. A\r\n * tie is broken by using the most recently added key binding.\r\n *\r\n * Ambiguous key bindings are resolved with a timeout. As an example,\r\n * suppose two key bindings are registered: one with the key sequence\r\n * `['Ctrl D']`, and another with `['Ctrl D', 'Ctrl W']`. If the user\r\n * presses `Ctrl D`, the first binding cannot be immediately executed\r\n * since the user may intend to complete the chord with `Ctrl W`. For\r\n * such cases, a timer is used to allow the chord to be completed. If\r\n * the chord is not completed before the timeout, the first binding\r\n * is executed.\r\n */\r\n CommandRegistry.prototype.addKeyBinding = function (options) {\r\n var _this = this;\r\n // Create the binding for the given options.\r\n var binding = Private.createKeyBinding(options);\r\n // Add the key binding to the bindings array.\r\n this._keyBindings.push(binding);\r\n // Emit the `bindingChanged` signal.\r\n this._keyBindingChanged.emit({ binding: binding, type: 'added' });\r\n // Return a disposable which will remove the binding.\r\n return new disposable_1.DisposableDelegate(function () {\r\n // Remove the binding from the array.\r\n algorithm_1.ArrayExt.removeFirstOf(_this._keyBindings, binding);\r\n // Emit the `bindingChanged` signal.\r\n _this._keyBindingChanged.emit({ binding: binding, type: 'removed' });\r\n });\r\n };\r\n /**\r\n * Process a `'keydown'` event and invoke a matching key binding.\r\n *\r\n * @param event - The event object for a `'keydown'` event.\r\n *\r\n * #### Notes\r\n * This should be called in response to a `'keydown'` event in order\r\n * to invoke the command for the best matching key binding.\r\n *\r\n * The registry **does not** install its own listener for `'keydown'`\r\n * events. This allows the application full control over the nodes\r\n * and phase for which the registry processes `'keydown'` events.\r\n */\r\n CommandRegistry.prototype.processKeydownEvent = function (event) {\r\n // Bail immediately if playing back keystrokes.\r\n if (this._replaying) {\r\n return;\r\n }\r\n // Get the normalized keystroke for the event.\r\n var keystroke = CommandRegistry.keystrokeForKeydownEvent(event);\r\n // If the keystroke is not valid for the keyboard layout, replay\r\n // any suppressed events and clear the pending state.\r\n if (!keystroke) {\r\n this._replayKeydownEvents();\r\n this._clearPendingState();\r\n return;\r\n }\r\n // Add the keystroke to the current key sequence.\r\n this._keystrokes.push(keystroke);\r\n // Find the exact and partial matches for the key sequence.\r\n var _a = Private.matchKeyBinding(this._keyBindings, this._keystrokes, event), exact = _a.exact, partial = _a.partial;\r\n // If there is no exact match and no partial match, replay\r\n // any suppressed events and clear the pending state.\r\n if (!exact && !partial) {\r\n this._replayKeydownEvents();\r\n this._clearPendingState();\r\n return;\r\n }\r\n // Stop propagation of the event. If there is only a partial match,\r\n // the event will be replayed if a final exact match never occurs.\r\n event.preventDefault();\r\n event.stopPropagation();\r\n // If there is an exact match but no partial match, the exact match\r\n // can be dispatched immediately. The pending state is cleared so\r\n // the next key press starts from the default state.\r\n if (exact && !partial) {\r\n this._executeKeyBinding(exact);\r\n this._clearPendingState();\r\n return;\r\n }\r\n // If there is both an exact match and a partial match, the exact\r\n // match is stored for future dispatch in case the timer expires\r\n // before a more specific match is triggered.\r\n if (exact) {\r\n this._exactKeyMatch = exact;\r\n }\r\n // Store the event for possible playback in the future.\r\n this._keydownEvents.push(event);\r\n // (Re)start the timer to dispatch the most recent exact match\r\n // in case the partial match fails to result in an exact match.\r\n this._startTimer();\r\n };\r\n /**\r\n * Start or restart the pending timeout.\r\n */\r\n CommandRegistry.prototype._startTimer = function () {\r\n var _this = this;\r\n this._clearTimer();\r\n this._timerID = setTimeout(function () {\r\n _this._onPendingTimeout();\r\n }, Private.CHORD_TIMEOUT);\r\n };\r\n /**\r\n * Clear the pending timeout.\r\n */\r\n CommandRegistry.prototype._clearTimer = function () {\r\n if (this._timerID !== 0) {\r\n clearTimeout(this._timerID);\r\n this._timerID = 0;\r\n }\r\n };\r\n /**\r\n * Replay the keydown events which were suppressed.\r\n */\r\n CommandRegistry.prototype._replayKeydownEvents = function () {\r\n if (this._keydownEvents.length === 0) {\r\n return;\r\n }\r\n this._replaying = true;\r\n this._keydownEvents.forEach(Private.replayKeyEvent);\r\n this._replaying = false;\r\n };\r\n /**\r\n * Execute the command for the given key binding.\r\n *\r\n * If the command is missing or disabled, a warning will be logged.\r\n */\r\n CommandRegistry.prototype._executeKeyBinding = function (binding) {\r\n var command = binding.command, args = binding.args;\r\n if (!this.hasCommand(command) || !this.isEnabled(command, args)) {\r\n var word = this.hasCommand(command) ? 'enabled' : 'registered';\r\n var keys = binding.keys.join(', ');\r\n var msg1 = \"Cannot execute key binding '\" + keys + \"':\";\r\n var msg2 = \"command '\" + command + \"' is not \" + word + \".\";\r\n console.warn(msg1 + \" \" + msg2);\r\n return;\r\n }\r\n this.execute(command, args);\r\n };\r\n /**\r\n * Clear the internal pending state.\r\n */\r\n CommandRegistry.prototype._clearPendingState = function () {\r\n this._clearTimer();\r\n this._exactKeyMatch = null;\r\n this._keystrokes.length = 0;\r\n this._keydownEvents.length = 0;\r\n };\r\n /**\r\n * Handle the partial match timeout.\r\n */\r\n CommandRegistry.prototype._onPendingTimeout = function () {\r\n this._timerID = 0;\r\n if (this._exactKeyMatch) {\r\n this._executeKeyBinding(this._exactKeyMatch);\r\n }\r\n else {\r\n this._replayKeydownEvents();\r\n }\r\n this._clearPendingState();\r\n };\r\n return CommandRegistry;\r\n}());\r\nexports.CommandRegistry = CommandRegistry;\r\n/**\r\n * The namespace for the `CommandRegistry` class statics.\r\n */\r\n(function (CommandRegistry) {\r\n /**\r\n * Parse a keystroke into its constituent components.\r\n *\r\n * @param keystroke - The keystroke of interest.\r\n *\r\n * @returns The parsed components of the keystroke.\r\n *\r\n * #### Notes\r\n * The keystroke should be of the form:\r\n * `[<modifier 1> [<modifier 2> [<modifier N> ]]]<primary key>`\r\n *\r\n * The supported modifiers are: `Accel`, `Alt`, `Cmd`, `Ctrl`, and\r\n * `Shift`. The `Accel` modifier is translated to `Cmd` on Mac and\r\n * `Ctrl` on all other platforms.\r\n *\r\n * The parsing is tolerant and will not throw exceptions. Notably:\r\n * - Duplicate modifiers are ignored.\r\n * - Extra primary keys are ignored.\r\n * - The order of modifiers and primary key is irrelevant.\r\n * - The keystroke parts should be separated by whitespace.\r\n * - The keystroke is case sensitive.\r\n */\r\n function parseKeystroke(keystroke) {\r\n var key = '';\r\n var alt = false;\r\n var cmd = false;\r\n var ctrl = false;\r\n var shift = false;\r\n for (var _i = 0, _a = keystroke.split(/\\s+/); _i < _a.length; _i++) {\r\n var token = _a[_i];\r\n if (token === 'Accel') {\r\n if (domutils_1.Platform.IS_MAC) {\r\n cmd = true;\r\n }\r\n else {\r\n ctrl = true;\r\n }\r\n }\r\n else if (token === 'Alt') {\r\n alt = true;\r\n }\r\n else if (token === 'Cmd') {\r\n cmd = true;\r\n }\r\n else if (token === 'Ctrl') {\r\n ctrl = true;\r\n }\r\n else if (token === 'Shift') {\r\n shift = true;\r\n }\r\n else if (token.length > 0) {\r\n key = token;\r\n }\r\n }\r\n return { cmd: cmd, ctrl: ctrl, alt: alt, shift: shift, key: key };\r\n }\r\n CommandRegistry.parseKeystroke = parseKeystroke;\r\n /**\r\n * Normalize a keystroke into a canonical representation.\r\n *\r\n * @param keystroke - The keystroke of interest.\r\n *\r\n * @returns The normalized representation of the keystroke.\r\n *\r\n * #### Notes\r\n * This normalizes the keystroke by removing duplicate modifiers and\r\n * extra primary keys, and assembling the parts in a canonical order.\r\n *\r\n * The `Cmd` modifier is ignored on non-Mac platforms.\r\n */\r\n function normalizeKeystroke(keystroke) {\r\n var mods = '';\r\n var parts = parseKeystroke(keystroke);\r\n if (parts.ctrl) {\r\n mods += 'Ctrl ';\r\n }\r\n if (parts.alt) {\r\n mods += 'Alt ';\r\n }\r\n if (parts.shift) {\r\n mods += 'Shift ';\r\n }\r\n if (parts.cmd && domutils_1.Platform.IS_MAC) {\r\n mods += 'Cmd ';\r\n }\r\n return mods + parts.key;\r\n }\r\n CommandRegistry.normalizeKeystroke = normalizeKeystroke;\r\n /**\r\n * Create a normalized keystroke for a `'keydown'` event.\r\n *\r\n * @param event - The event object for a `'keydown'` event.\r\n *\r\n * @returns A normalized keystroke, or an empty string if the event\r\n * does not represent a valid keystroke for the given layout.\r\n */\r\n function keystrokeForKeydownEvent(event) {\r\n var key = keyboard_1.getKeyboardLayout().keyForKeydownEvent(event);\r\n if (!key) {\r\n return '';\r\n }\r\n var mods = '';\r\n if (event.ctrlKey) {\r\n mods += 'Ctrl ';\r\n }\r\n if (event.altKey) {\r\n mods += 'Alt ';\r\n }\r\n if (event.shiftKey) {\r\n mods += 'Shift ';\r\n }\r\n if (event.metaKey && domutils_1.Platform.IS_MAC) {\r\n mods += 'Cmd ';\r\n }\r\n return mods + key;\r\n }\r\n CommandRegistry.keystrokeForKeydownEvent = keystrokeForKeydownEvent;\r\n})(CommandRegistry = exports.CommandRegistry || (exports.CommandRegistry = {}));\r\nexports.CommandRegistry = CommandRegistry;\r\n/**\r\n * The namespace for the module implementation details.\r\n */\r\nvar Private;\r\n(function (Private) {\r\n /**\r\n * The timeout in ms for triggering a key binding chord.\r\n */\r\n Private.CHORD_TIMEOUT = 1000;\r\n /**\r\n * Create a normalized command from an options object.\r\n */\r\n function createCommand(options) {\r\n return {\r\n execute: options.execute,\r\n label: asFunc(options.label, emptyStringFunc),\r\n mnemonic: asFunc(options.mnemonic, negativeOneFunc),\r\n iconClass: asFunc(options.iconClass || options.icon, emptyStringFunc),\r\n iconLabel: asFunc(options.iconLabel, emptyStringFunc),\r\n caption: asFunc(options.caption, emptyStringFunc),\r\n usage: asFunc(options.usage, emptyStringFunc),\r\n className: asFunc(options.className, emptyStringFunc),\r\n dataset: asFunc(options.dataset, emptyDatasetFunc),\r\n isEnabled: options.isEnabled || trueFunc,\r\n isToggled: options.isToggled || falseFunc,\r\n isVisible: options.isVisible || trueFunc\r\n };\r\n }\r\n Private.createCommand = createCommand;\r\n /**\r\n * Create a key binding object from key binding options.\r\n */\r\n function createKeyBinding(options) {\r\n return {\r\n keys: normalizeKeys(options),\r\n selector: validateSelector(options),\r\n command: options.command,\r\n args: options.args || coreutils_1.JSONExt.emptyObject\r\n };\r\n }\r\n Private.createKeyBinding = createKeyBinding;\r\n /**\r\n * Find the key bindings which match a key sequence.\r\n *\r\n * This returns a match result which contains the best exact matching\r\n * binding, and a flag which indicates if there are partial matches.\r\n */\r\n function matchKeyBinding(bindings, keys, event) {\r\n // The current best exact match.\r\n var exact = null;\r\n // Whether a partial match has been found.\r\n var partial = false;\r\n // The match distance for the exact match.\r\n var distance = Infinity;\r\n // The specificity for the exact match.\r\n var specificity = 0;\r\n // Iterate over the bindings and search for the best match.\r\n for (var i = 0, n = bindings.length; i < n; ++i) {\r\n // Lookup the current binding.\r\n var binding = bindings[i];\r\n // Check whether the key binding sequence is a match.\r\n var sqm = matchSequence(binding.keys, keys);\r\n // If there is no match, the binding is ignored.\r\n if (sqm === 0 /* None */) {\r\n continue;\r\n }\r\n // If it is a partial match and no other partial match has been\r\n // found, ensure the selector matches and set the partial flag.\r\n if (sqm === 2 /* Partial */) {\r\n if (!partial && targetDistance(binding.selector, event) !== -1) {\r\n partial = true;\r\n }\r\n continue;\r\n }\r\n // Ignore the match if the selector doesn't match, or if the\r\n // matched node is farther away than the current best match.\r\n var td = targetDistance(binding.selector, event);\r\n if (td === -1 || td > distance) {\r\n continue;\r\n }\r\n // Get the specificity for the selector.\r\n var sp = domutils_1.Selector.calculateSpecificity(binding.selector);\r\n // Update the best match if this match is stronger.\r\n if (!exact || td < distance || sp >= specificity) {\r\n exact = binding;\r\n distance = td;\r\n specificity = sp;\r\n }\r\n }\r\n // Return the match result.\r\n return { exact: exact, partial: partial };\r\n }\r\n Private.matchKeyBinding = matchKeyBinding;\r\n /**\r\n * Replay a keyboard event.\r\n *\r\n * This synthetically dispatches a clone of the keyboard event.\r\n */\r\n function replayKeyEvent(event) {\r\n event.target.dispatchEvent(cloneKeyboardEvent(event));\r\n }\r\n Private.replayKeyEvent = replayKeyEvent;\r\n /**\r\n * A singleton empty string function.\r\n */\r\n var emptyStringFunc = function () { return ''; };\r\n /**\r\n * A singleton `-1` number function\r\n */\r\n var negativeOneFunc = function () { return -1; };\r\n /**\r\n * A singleton true boolean function.\r\n */\r\n var trueFunc = function () { return true; };\r\n /**\r\n * A singleton false boolean function.\r\n */\r\n var falseFunc = function () { return false; };\r\n /**\r\n * A singleton empty dataset function.\r\n */\r\n var emptyDatasetFunc = function () { return ({}); };\r\n /**\r\n * Cast a value or command func to a command func.\r\n */\r\n function asFunc(value, dfault) {\r\n if (value === undefined) {\r\n return dfault;\r\n }\r\n if (typeof value === 'function') {\r\n return value;\r\n }\r\n return function () { return value; };\r\n }\r\n /**\r\n * Get the platform-specific normalized keys for an options object.\r\n */\r\n function normalizeKeys(options) {\r\n var keys;\r\n if (domutils_1.Platform.IS_WIN) {\r\n keys = options.winKeys || options.keys;\r\n }\r\n else if (domutils_1.Platform.IS_MAC) {\r\n keys = options.macKeys || options.keys;\r\n }\r\n else {\r\n keys = options.linuxKeys || options.keys;\r\n }\r\n return keys.map(CommandRegistry.normalizeKeystroke);\r\n }\r\n /**\r\n * Validate the selector for an options object.\r\n *\r\n * This returns the validated selector, or throws if the selector is\r\n * invalid or contains commas.\r\n */\r\n function validateSelector(options) {\r\n if (options.selector.indexOf(',') !== -1) {\r\n throw new Error(\"Selector cannot contain commas: \" + options.selector);\r\n }\r\n if (!domutils_1.Selector.isValid(options.selector)) {\r\n throw new Error(\"Invalid selector: \" + options.selector);\r\n }\r\n return options.selector;\r\n }\r\n ;\r\n /**\r\n * Test whether a key binding sequence matches a key sequence.\r\n *\r\n * Returns a `SequenceMatch` value indicating the type of match.\r\n */\r\n function matchSequence(bindKeys, userKeys) {\r\n if (bindKeys.length < userKeys.length) {\r\n return 0 /* None */;\r\n }\r\n for (var i = 0, n = userKeys.length; i < n; ++i) {\r\n if (bindKeys[i] !== userKeys[i]) {\r\n return 0 /* None */;\r\n }\r\n }\r\n if (bindKeys.length > userKeys.length) {\r\n return 2 /* Partial */;\r\n }\r\n return 1 /* Exact */;\r\n }\r\n /**\r\n * Find the distance from the target node to the first matching node.\r\n *\r\n * This traverses the event path from `target` to `currentTarget` and\r\n * computes the distance from `target` to the first node which matches\r\n * the CSS selector. If no match is found, `-1` is returned.\r\n */\r\n function targetDistance(selector, event) {\r\n var targ = event.target;\r\n var curr = event.currentTarget;\r\n for (var dist = 0; targ !== null; targ = targ.parentElement, ++dist) {\r\n if (domutils_1.Selector.matches(targ, selector)) {\r\n return dist;\r\n }\r\n if (targ === curr) {\r\n return -1;\r\n }\r\n }\r\n return -1;\r\n }\r\n /**\r\n * Clone a keyboard event.\r\n */\r\n function cloneKeyboardEvent(event) {\r\n // A custom event is required because Chrome nulls out the\r\n // `keyCode` field in user-generated `KeyboardEvent` types.\r\n var clone = document.createEvent('Event');\r\n var bubbles = event.bubbles || true;\r\n var cancelable = event.cancelable || true;\r\n clone.initEvent(event.type || 'keydown', bubbles, cancelable);\r\n clone.key = event.key || '';\r\n clone.keyCode = event.keyCode || 0;\r\n clone.which = event.keyCode || 0;\r\n clone.ctrlKey = event.ctrlKey || false;\r\n clone.altKey = event.altKey || false;\r\n clone.shiftKey = event.shiftKey || false;\r\n clone.metaKey = event.metaKey || false;\r\n clone.view = event.view || window;\r\n return clone;\r\n }\r\n})(Private || (Private = {}));\r\n\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/*-----------------------------------------------------------------------------\r\n| Copyright (c) 2014-2017, PhosphorJS Contributors\r\n|\r\n| Distributed under the terms of the BSD 3-Clause License.\r\n|\r\n| The full license is in the file LICENSE, distributed with this software.\r\n|----------------------------------------------------------------------------*/\r\nvar algorithm_1 = __webpack_require__(0);\r\n/**\r\n * A disposable object which delegates to a callback function.\r\n */\r\nvar DisposableDelegate = (function () {\r\n /**\r\n * Construct a new disposable delegate.\r\n *\r\n * @param fn - The callback function to invoke on dispose.\r\n */\r\n function DisposableDelegate(fn) {\r\n this._fn = fn;\r\n }\r\n Object.defineProperty(DisposableDelegate.prototype, \"isDisposed\", {\r\n /**\r\n * Test whether the delegate has been disposed.\r\n */\r\n get: function () {\r\n return !this._fn;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n /**\r\n * Dispose of the delegate and invoke the callback function.\r\n */\r\n DisposableDelegate.prototype.dispose = function () {\r\n if (!this._fn) {\r\n return;\r\n }\r\n var fn = this._fn;\r\n this._fn = null;\r\n fn();\r\n };\r\n return DisposableDelegate;\r\n}());\r\nexports.DisposableDelegate = DisposableDelegate;\r\n/**\r\n * An object which manages a collection of disposable items.\r\n */\r\nvar DisposableSet = (function () {\r\n /**\r\n * Construct a new disposable set.\r\n */\r\n function DisposableSet() {\r\n this._disposed = false;\r\n this._items = new Set();\r\n }\r\n Object.defineProperty(DisposableSet.prototype, \"isDisposed\", {\r\n /**\r\n * Test whether the set has been disposed.\r\n */\r\n get: function () {\r\n return this._disposed;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n /**\r\n * Dispose of the set and the items it contains.\r\n *\r\n * #### Notes\r\n * Items are disposed in the order they are added to the set.\r\n */\r\n DisposableSet.prototype.dispose = function () {\r\n if (this._disposed) {\r\n return;\r\n }\r\n this._disposed = true;\r\n this._items.forEach(function (item) { item.dispose(); });\r\n this._items.clear();\r\n };\r\n /**\r\n * Test whether the set contains a specific item.\r\n *\r\n * @param item - The item of interest.\r\n *\r\n * @returns `true` if the set contains the item, `false` otherwise.\r\n */\r\n DisposableSet.prototype.contains = function (item) {\r\n return this._items.has(item);\r\n };\r\n /**\r\n * Add a disposable item to the set.\r\n *\r\n * @param item - The item to add to the set.\r\n *\r\n * #### Notes\r\n * If the item is already contained in the set, this is a no-op.\r\n */\r\n DisposableSet.prototype.add = function (item) {\r\n this._items.add(item);\r\n };\r\n /**\r\n * Remove a disposable item from the set.\r\n *\r\n * @param item - The item to remove from the set.\r\n *\r\n * #### Notes\r\n * If the item is not contained in the set, this is a no-op.\r\n */\r\n DisposableSet.prototype.remove = function (item) {\r\n this._items.delete(item);\r\n };\r\n /**\r\n * Remove all items from the set.\r\n */\r\n DisposableSet.prototype.clear = function () {\r\n this._items.clear();\r\n };\r\n return DisposableSet;\r\n}());\r\nexports.DisposableSet = DisposableSet;\r\n/**\r\n * The namespace for the `DisposableSet` class statics.\r\n */\r\n(function (DisposableSet) {\r\n /**\r\n * Create a disposable set from an iterable of items.\r\n *\r\n * @param items - The iterable or array-like object of interest.\r\n *\r\n * @returns A new disposable initialized with the given items.\r\n */\r\n function from(items) {\r\n var set = new DisposableSet();\r\n algorithm_1.each(items, function (item) { set.add(item); });\r\n return set;\r\n }\r\n DisposableSet.from = from;\r\n})(DisposableSet = exports.DisposableSet || (exports.DisposableSet = {}));\r\nexports.DisposableSet = DisposableSet;\r\n\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar disposable_1 = __webpack_require__(12);\r\n/**\r\n * An object which manages a drag-drop operation.\r\n *\r\n * A drag object dispatches four different events to drop targets:\r\n *\r\n * - `'p-dragenter'` - Dispatched when the mouse enters the target\r\n * element. This event must be canceled in order to receive any\r\n * of the other events.\r\n *\r\n * - `'p-dragover'` - Dispatched when the mouse moves over the drop\r\n * target. It must cancel the event and set the `dropAction` to one\r\n * of the supported actions in order to receive drop events.\r\n *\r\n * - `'p-dragleave'` - Dispatched when the mouse leaves the target\r\n * element. This includes moving the mouse into child elements.\r\n *\r\n * - `'p-drop'`- Dispatched when the mouse is released over the target\r\n * element when the target indicates an appropriate drop action. If\r\n * the event is canceled, the indicated drop action is returned to\r\n * the initiator through the resolved promise.\r\n *\r\n * A drag operation can be terminated at any time by pressing `Escape`\r\n * or by disposing the drag object.\r\n *\r\n * A drag object has the ability to automatically scroll a scrollable\r\n * element when the mouse is hovered near one of its edges. To enable\r\n * this, add the `data-p-dragscroll` attribute to any element which\r\n * the drag object should consider for scrolling.\r\n *\r\n * #### Notes\r\n * This class is designed to be used when dragging and dropping custom\r\n * data *within* a single application. It is *not* a replacement for\r\n * the native drag-drop API. Instead, it provides an API which allows\r\n * drag operations to be initiated programmatically and enables the\r\n * transfer of arbitrary non-string objects; features which are not\r\n * possible with the native drag-drop API.\r\n */\r\nvar Drag = (function () {\r\n /**\r\n * Construct a new drag object.\r\n *\r\n * @param options - The options for initializing the drag.\r\n */\r\n function Drag(options) {\r\n var _this = this;\r\n /**\r\n * The scroll loop handler function.\r\n */\r\n this._onScrollFrame = function () {\r\n // Bail early if there is no scroll target.\r\n if (!_this._scrollTarget) {\r\n return;\r\n }\r\n // Unpack the scroll target.\r\n var _a = _this._scrollTarget, element = _a.element, edge = _a.edge, distance = _a.distance;\r\n // Calculate the scroll delta using nonlinear acceleration.\r\n var d = Private.SCROLL_EDGE_SIZE - distance;\r\n var f = Math.pow(d / Private.SCROLL_EDGE_SIZE, 2);\r\n var s = Math.max(1, Math.round(f * Private.SCROLL_EDGE_SIZE));\r\n // Scroll the element in the specified direction.\r\n switch (edge) {\r\n case 'top':\r\n element.scrollTop -= s;\r\n break;\r\n case 'left':\r\n element.scrollLeft -= s;\r\n break;\r\n case 'right':\r\n element.scrollLeft += s;\r\n break;\r\n case 'bottom':\r\n element.scrollTop += s;\r\n break;\r\n }\r\n // Request the next cycle of the scroll loop.\r\n requestAnimationFrame(_this._onScrollFrame);\r\n };\r\n this._disposed = false;\r\n this._dropAction = 'none';\r\n this._override = null;\r\n this._currentTarget = null;\r\n this._currentElement = null;\r\n this._promise = null;\r\n this._scrollTarget = null;\r\n this._resolve = null;\r\n this.mimeData = options.mimeData;\r\n this.dragImage = options.dragImage || null;\r\n this.proposedAction = options.proposedAction || 'copy';\r\n this.supportedActions = options.supportedActions || 'all';\r\n this.source = options.source || null;\r\n }\r\n /**\r\n * Dispose of the resources held by the drag object.\r\n *\r\n * #### Notes\r\n * This will cancel the drag operation if it is active.\r\n */\r\n Drag.prototype.dispose = function () {\r\n // Do nothing if the drag object is already disposed.\r\n if (this._disposed) {\r\n return;\r\n }\r\n this._disposed = true;\r\n // If there is a current target, dispatch a drag leave event.\r\n if (this._currentTarget) {\r\n var event_1 = Private.createMouseEvent('mouseup', -1, -1);\r\n Private.dispatchDragLeave(this, this._currentTarget, null, event_1);\r\n }\r\n // Finalize the drag object with `'none'`.\r\n this._finalize('none');\r\n };\r\n Object.defineProperty(Drag.prototype, \"isDisposed\", {\r\n /**\r\n * Test whether the drag object is disposed.\r\n */\r\n get: function () {\r\n return this._disposed;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n /**\r\n * Start the drag operation at the specified client position.\r\n *\r\n * @param clientX - The client X position for the drag start.\r\n *\r\n * @param clientY - The client Y position for the drag start.\r\n *\r\n * @returns A promise which resolves to the result of the drag.\r\n *\r\n * #### Notes\r\n * If the drag has already been started, the promise created by the\r\n * first call to `start` is returned.\r\n *\r\n * If the drag operation has ended, or if the drag object has been\r\n * disposed, the returned promise will resolve to `'none'`.\r\n *\r\n * The drag object will be automatically disposed when drag operation\r\n * completes. This means `Drag` objects are for single-use only.\r\n *\r\n * This method assumes the left mouse button is already held down.\r\n */\r\n Drag.prototype.start = function (clientX, clientY) {\r\n var _this = this;\r\n // If the drag object is already disposed, resolve to `None`.\r\n if (this._disposed) {\r\n return Promise.resolve('none');\r\n }\r\n // If the drag has already been started, return the promise.\r\n if (this._promise) {\r\n return this._promise;\r\n }\r\n // Install the document listeners for the drag object.\r\n this._addListeners();\r\n // Attach the drag image at the specified client position.\r\n this._attachDragImage(clientX, clientY);\r\n // Create the promise which will be resolved on completion.\r\n this._promise = new Promise(function (resolve, reject) {\r\n _this._resolve = resolve;\r\n });\r\n // Trigger a fake move event to kick off the drag operation.\r\n var event = Private.createMouseEvent('mousemove', clientX, clientY);\r\n document.dispatchEvent(event);\r\n // Return the pending promise for the drag operation.\r\n return this._promise;\r\n };\r\n /**\r\n * Handle the DOM events for the drag operation.\r\n *\r\n * @param event - The DOM event sent to the drag object.\r\n *\r\n * #### Notes\r\n * This method implements the DOM `EventListener` interface and is\r\n * called in response to events on the document. It should not be\r\n * called directly by user code.\r\n */\r\n Drag.prototype.handleEvent = function (event) {\r\n switch (event.type) {\r\n case 'mousemove':\r\n this._evtMouseMove(event);\r\n break;\r\n case 'mouseup':\r\n this._evtMouseUp(event);\r\n break;\r\n case 'keydown':\r\n this._evtKeyDown(event);\r\n break;\r\n default:\r\n // Stop all other events during drag-drop.\r\n event.preventDefault();\r\n event.stopPropagation();\r\n break;\r\n }\r\n };\r\n /**\r\n * Handle the `'mousemove'` event for the drag object.\r\n */\r\n Drag.prototype._evtMouseMove = function (event) {\r\n // Stop all input events during drag-drop.\r\n event.preventDefault();\r\n event.stopPropagation();\r\n // Update the current target node and dispatch enter/leave events.\r\n this._updateCurrentTarget(event);\r\n // Update the drag scroll element.\r\n this._updateDragScroll(event);\r\n // Move the drag image to the specified client position. This is\r\n // performed *after* dispatching to prevent unnecessary reflows.\r\n this._moveDragImage(event.clientX, event.clientY);\r\n };\r\n /**\r\n * Handle the `'mouseup'` event for the drag object.\r\n */\r\n Drag.prototype._evtMouseUp = function (event) {\r\n // Stop all input events during drag-drop.\r\n event.preventDefault();\r\n event.stopPropagation();\r\n // Do nothing if the left button is not released.\r\n if (event.button !== 0) {\r\n return;\r\n }\r\n // Update the current target node and dispatch enter/leave events.\r\n // This prevents a subtle issue where the DOM mutates under the\r\n // cursor after the last move event but before the drop event.\r\n this._updateCurrentTarget(event);\r\n // If there is no current target, finalize with `'none'`.\r\n if (!this._currentTarget) {\r\n this._finalize('none');\r\n return;\r\n }\r\n // If the last drop action was `'none'`, dispatch a leave event\r\n // to the current target and finalize the drag with `'none'`.\r\n if (this._dropAction === 'none') {\r\n Private.dispatchDragLeave(this, this._currentTarget, null, event);\r\n this._finalize('none');\r\n return;\r\n }\r\n // Dispatch the drop event at the current target and finalize\r\n // with the resulting drop action.\r\n var action = Private.dispatchDrop(this, this._currentTarget, event);\r\n this._finalize(action);\r\n };\r\n /**\r\n * Handle the `'keydown'` event for the drag object.\r\n */\r\n Drag.prototype._evtKeyDown = function (event) {\r\n // Stop all input events during drag-drop.\r\n event.preventDefault();\r\n event.stopPropagation();\r\n // Cancel the drag if `Escape` is pressed.\r\n if (event.keyCode === 27) {\r\n this.dispose();\r\n }\r\n };\r\n /**\r\n * Add the document event listeners for the drag object.\r\n */\r\n Drag.prototype._addListeners = function () {\r\n document.addEventListener('mousedown', this, true);\r\n document.addEventListener('mousemove', this, true);\r\n document.addEventListener('mouseup', this, true);\r\n document.addEventListener('mouseenter', this, true);\r\n document.addEventListener('mouseleave', this, true);\r\n document.addEventListener('mouseover', this, true);\r\n document.addEventListener('mouseout', this, true);\r\n document.addEventListener('keydown', this, true);\r\n document.addEventListener('keyup', this, true);\r\n document.addEventListener('keypress', this, true);\r\n document.addEventListener('contextmenu', this, true);\r\n };\r\n /**\r\n * Remove the document event listeners for the drag object.\r\n */\r\n Drag.prototype._removeListeners = function () {\r\n document.removeEventListener('mousedown', this, true);\r\n document.removeEventListener('mousemove', this, true);\r\n document.removeEventListener('mouseup', this, true);\r\n document.removeEventListener('mouseenter', this, true);\r\n document.removeEventListener('mouseleave', this, true);\r\n document.removeEventListener('mouseover', this, true);\r\n document.removeEventListener('mouseout', this, true);\r\n document.removeEventListener('keydown', this, true);\r\n document.removeEventListener('keyup', this, true);\r\n document.removeEventListener('keypress', this, true);\r\n document.removeEventListener('contextmenu', this, true);\r\n };\r\n /**\r\n * Update the drag scroll element under the mouse.\r\n */\r\n Drag.prototype._updateDragScroll = function (event) {\r\n // Find the scroll target under the mouse.\r\n var target = Private.findScrollTarget(event);\r\n // Bail if there is nothing to scroll.\r\n if (!this._scrollTarget && !target) {\r\n return;\r\n }\r\n // Start the scroll loop if needed.\r\n if (!this._scrollTarget) {\r\n setTimeout(this._onScrollFrame, 500);\r\n }\r\n // Update the scroll target.\r\n this._scrollTarget = target;\r\n };\r\n /**\r\n * Update the current target node using the given mouse event.\r\n */\r\n Drag.prototype._updateCurrentTarget = function (event) {\r\n // Fetch common local state.\r\n var prevTarget = this._currentTarget;\r\n var currTarget = this._currentTarget;\r\n var prevElem = this._currentElement;\r\n // Find the current indicated element at the given position.\r\n var currElem = document.elementFromPoint(event.clientX, event.clientY);\r\n // Update the current element reference.\r\n this._currentElement = currElem;\r\n // If the indicated element changes from the previous iteration,\r\n // and is different from the current target, dispatch the exit\r\n // event to the target.\r\n if (currElem !== prevElem && currElem !== currTarget) {\r\n Private.dispatchDragExit(this, currTarget, currElem, event);\r\n }\r\n // If the indicated element changes from the previous iteration,\r\n // and is different from the current target, dispatch the enter\r\n // event and compute the new target element.\r\n if (currElem !== prevElem && currElem !== currTarget) {\r\n currTarget = Private.dispatchDragEnter(this, currElem, currTarget, event);\r\n }\r\n // If the current target element has changed, update the current\r\n // target reference and dispatch the leave event to the old target.\r\n if (currTarget !== prevTarget) {\r\n this._currentTarget = currTarget;\r\n Private.dispatchDragLeave(this, prevTarget, currTarget, event);\r\n }\r\n // Dispatch the drag over event and update the drop action.\r\n var action = Private.dispatchDragOver(this, currTarget, event);\r\n this._setDropAction(action);\r\n };\r\n /**\r\n * Attach the drag image element at the specified location.\r\n *\r\n * This is a no-op if there is no drag image element.\r\n */\r\n Drag.prototype._attachDragImage = function (clientX, clientY) {\r\n if (!this.dragImage) {\r\n return;\r\n }\r\n this.dragImage.classList.add('p-mod-drag-image');\r\n var style = this.dragImage.style;\r\n style.pointerEvents = 'none';\r\n style.position = 'fixed';\r\n style.top = clientY + \"px\";\r\n style.left = clientX + \"px\";\r\n document.body.appendChild(this.dragImage);\r\n };\r\n /**\r\n * Move the drag image element to the specified location.\r\n *\r\n * This is a no-op if there is no drag image element.\r\n */\r\n Drag.prototype._moveDragImage = function (clientX, clientY) {\r\n if (!this.dragImage) {\r\n return;\r\n }\r\n var style = this.dragImage.style;\r\n style.top = clientY + \"px\";\r\n style.left = clientX + \"px\";\r\n };\r\n /**\r\n * Detach the drag image element from the DOM.\r\n *\r\n * This is a no-op if there is no drag image element.\r\n */\r\n Drag.prototype._detachDragImage = function () {\r\n if (!this.dragImage) {\r\n return;\r\n }\r\n var parent = this.dragImage.parentNode;\r\n if (!parent) {\r\n return;\r\n }\r\n parent.removeChild(this.dragImage);\r\n };\r\n /**\r\n * Set the internal drop action state and update the drag cursor.\r\n */\r\n Drag.prototype._setDropAction = function (action) {\r\n action = Private.validateAction(action, this.supportedActions);\r\n if (this._override && this._dropAction === action) {\r\n return;\r\n }\r\n switch (action) {\r\n case 'none':\r\n this._dropAction = action;\r\n this._override = Drag.overrideCursor('no-drop');\r\n break;\r\n case 'copy':\r\n this._dropAction = action;\r\n this._override = Drag.overrideCursor('copy');\r\n break;\r\n case 'link':\r\n this._dropAction = action;\r\n this._override = Drag.overrideCursor('alias');\r\n break;\r\n case 'move':\r\n this._dropAction = action;\r\n this._override = Drag.overrideCursor('move');\r\n break;\r\n }\r\n };\r\n /**\r\n * Finalize the drag operation and resolve the drag promise.\r\n */\r\n Drag.prototype._finalize = function (action) {\r\n // Store the resolve function as a temp variable.\r\n var resolve = this._resolve;\r\n // Remove the document event listeners.\r\n this._removeListeners();\r\n // Detach the drag image.\r\n this._detachDragImage();\r\n // Dispose of the cursor override.\r\n if (this._override) {\r\n this._override.dispose();\r\n this._override = null;\r\n }\r\n // Clear the mime data.\r\n this.mimeData.clear();\r\n // Clear the rest of the internal drag state.\r\n this._disposed = true;\r\n this._dropAction = 'none';\r\n this._currentTarget = null;\r\n this._currentElement = null;\r\n this._scrollTarget = null;\r\n this._promise = null;\r\n this._resolve = null;\r\n // Finally, resolve the promise to the given drop action.\r\n if (resolve) {\r\n resolve(action);\r\n }\r\n };\r\n return Drag;\r\n}());\r\nexports.Drag = Drag;\r\n/**\r\n * The namespace for the `Drag` class statics.\r\n */\r\n(function (Drag) {\r\n /**\r\n * Override the cursor icon for the entire document.\r\n *\r\n * @param cursor - The string representing the cursor style.\r\n *\r\n * @returns A disposable which will clear the override when disposed.\r\n *\r\n * #### Notes\r\n * The most recent call to `overrideCursor` takes precedence.\r\n * Disposing an old override has no effect on the current override.\r\n *\r\n * This utility function is used by the `Drag` class to override the\r\n * mouse cursor during a drag-drop operation, but it can also be used\r\n * by other classes to fix the cursor icon during normal mouse drags.\r\n *\r\n * #### Example\r\n * ```typescript\r\n * import { Drag } from '@phosphor/dragdrop';\r\n *\r\n * // Force the cursor to be 'wait' for the entire document.\r\n * let override = Drag.overrideCursor('wait');\r\n *\r\n * // Clear the override by disposing the return value.\r\n * override.dispose();\r\n * ```\r\n */\r\n function overrideCursor(cursor) {\r\n var id = ++overrideCursorID;\r\n document.body.style.cursor = cursor;\r\n document.body.classList.add('p-mod-override-cursor');\r\n return new disposable_1.DisposableDelegate(function () {\r\n if (id === overrideCursorID) {\r\n document.body.style.cursor = '';\r\n document.body.classList.remove('p-mod-override-cursor');\r\n }\r\n });\r\n }\r\n Drag.overrideCursor = overrideCursor;\r\n /**\r\n * The internal id for the active cursor override.\r\n */\r\n var overrideCursorID = 0;\r\n})(Drag = exports.Drag || (exports.Drag = {}));\r\nexports.Drag = Drag;\r\n/**\r\n * The namespace for the module implementation details.\r\n */\r\nvar Private;\r\n(function (Private) {\r\n /**\r\n * The size of a drag scroll edge, in pixels.\r\n */\r\n Private.SCROLL_EDGE_SIZE = 20;\r\n /**\r\n * Validate the given action is one of the supported actions.\r\n *\r\n * Returns the given action or `'none'` if the action is unsupported.\r\n */\r\n function validateAction(action, supported) {\r\n return (actionTable[action] & supportedTable[supported]) ? action : 'none';\r\n }\r\n Private.validateAction = validateAction;\r\n /**\r\n * Create a left mouse event at the given position.\r\n *\r\n * @param type - The event type for the mouse event.\r\n *\r\n * @param clientX - The client X position.\r\n *\r\n * @param clientY - The client Y position.\r\n *\r\n * @returns A newly created and initialized mouse event.\r\n */\r\n function createMouseEvent(type, clientX, clientY) {\r\n var event = document.createEvent('MouseEvent');\r\n event.initMouseEvent(type, true, true, window, 0, 0, 0, clientX, clientY, false, false, false, false, 0, null);\r\n return event;\r\n }\r\n Private.createMouseEvent = createMouseEvent;\r\n /**\r\n * Find the drag scroll target under the mouse, if any.\r\n */\r\n function findScrollTarget(event) {\r\n // Look up the client mouse position.\r\n var x = event.clientX;\r\n var y = event.clientY;\r\n // Get the element under the mouse.\r\n var element = document.elementFromPoint(x, y);\r\n // Search for a scrollable target based on the mouse position.\r\n // The null assert in third clause of for-loop is required due to:\r\n // https://github.com/Microsoft/TypeScript/issues/14143\r\n for (; element; element = element.parentElement) {\r\n // Ignore elements which are not marked as scrollable.\r\n if (!element.hasAttribute('data-p-dragscroll')) {\r\n continue;\r\n }\r\n // Set up the coordinate offsets for the element.\r\n var offsetX = 0;\r\n var offsetY = 0;\r\n if (element === document.body) {\r\n offsetX = window.pageXOffset;\r\n offsetY = window.pageYOffset;\r\n }\r\n // Get the element bounds in viewport coordinates.\r\n var r = element.getBoundingClientRect();\r\n var top_1 = r.top + offsetY;\r\n var left = r.left + offsetX;\r\n var right = left + r.width;\r\n var bottom = top_1 + r.height;\r\n // Skip the element if it's not under the mouse.\r\n if (x < left || x >= right || y < top_1 || y >= bottom) {\r\n continue;\r\n }\r\n // Compute the distance to each edge.\r\n var dl = x - left + 1;\r\n var dt = y - top_1 + 1;\r\n var dr = right - x;\r\n var db = bottom - y;\r\n // Find the smallest of the edge distances.\r\n var distance = Math.min(dl, dt, dr, db);\r\n // Skip the element if the mouse is not within a scroll edge.\r\n if (distance > Private.SCROLL_EDGE_SIZE) {\r\n continue;\r\n }\r\n // Set up the edge result variable.\r\n var edge = void 0;\r\n // Find the edge for the computed distance.\r\n switch (distance) {\r\n case db:\r\n edge = 'bottom';\r\n break;\r\n case dt:\r\n edge = 'top';\r\n break;\r\n case dr:\r\n edge = 'right';\r\n break;\r\n case dl:\r\n edge = 'left';\r\n break;\r\n default:\r\n throw 'unreachable';\r\n }\r\n // Compute how much the element can scroll in width and height.\r\n var dsw = element.scrollWidth - element.clientWidth;\r\n var dsh = element.scrollHeight - element.clientHeight;\r\n // Determine if the element should be scrolled for the edge.\r\n var shouldScroll = void 0;\r\n switch (edge) {\r\n case 'top':\r\n shouldScroll = dsh > 0 && element.scrollTop > 0;\r\n break;\r\n case 'left':\r\n shouldScroll = dsw > 0 && element.scrollLeft > 0;\r\n break;\r\n case 'right':\r\n shouldScroll = dsw > 0 && element.scrollLeft < dsw;\r\n break;\r\n case 'bottom':\r\n shouldScroll = dsh > 0 && element.scrollTop < dsh;\r\n break;\r\n default:\r\n throw 'unreachable';\r\n }\r\n // Skip the element if it should not be scrolled.\r\n if (!shouldScroll) {\r\n continue;\r\n }\r\n // Return the drag scroll target.\r\n return { element: element, edge: edge, distance: distance };\r\n }\r\n // No drag scroll target was found.\r\n return null;\r\n }\r\n Private.findScrollTarget = findScrollTarget;\r\n /**\r\n * Dispatch a drag enter event to the indicated element.\r\n *\r\n * @param drag - The drag object associated with the action.\r\n *\r\n * @param currElem - The currently indicated element, or `null`. This\r\n * is the \"immediate user selection\" from the whatwg spec.\r\n *\r\n * @param currTarget - The current drag target element, or `null`. This\r\n * is the \"current target element\" from the whatwg spec.\r\n *\r\n * @param event - The mouse event related to the action.\r\n *\r\n * @returns The element to use as the current drag target. This is the\r\n * \"current target element\" from the whatwg spec, and may be `null`.\r\n *\r\n * #### Notes\r\n * This largely implements the drag enter portion of the whatwg spec:\r\n * https://html.spec.whatwg.org/multipage/interaction.html#drag-and-drop-processing-model\r\n */\r\n function dispatchDragEnter(drag, currElem, currTarget, event) {\r\n // If the current element is null, return null as the new target.\r\n if (!currElem) {\r\n return null;\r\n }\r\n // Dispatch a drag enter event to the current element.\r\n var dragEvent = createDragEvent('p-dragenter', drag, event, currTarget);\r\n var canceled = !currElem.dispatchEvent(dragEvent);\r\n // If the event was canceled, use the current element as the new target.\r\n if (canceled) {\r\n return currElem;\r\n }\r\n // If the current element is the document body, keep the original target.\r\n if (currElem === document.body) {\r\n return currTarget;\r\n }\r\n // Dispatch a drag enter event on the document body.\r\n dragEvent = createDragEvent('p-dragenter', drag, event, currTarget);\r\n document.body.dispatchEvent(dragEvent);\r\n // Ignore the event cancellation, and use the body as the new target.\r\n return document.body;\r\n }\r\n Private.dispatchDragEnter = dispatchDragEnter;\r\n /**\r\n * Dispatch a drag exit event to the indicated element.\r\n *\r\n * @param drag - The drag object associated with the action.\r\n *\r\n * @param prevTarget - The previous target element, or `null`. This\r\n * is the previous \"current target element\" from the whatwg spec.\r\n *\r\n * @param currTarget - The current drag target element, or `null`. This\r\n * is the \"current target element\" from the whatwg spec.\r\n *\r\n * @param event - The mouse event related to the action.\r\n *\r\n * #### Notes\r\n * This largely implements the drag exit portion of the whatwg spec:\r\n * https://html.spec.whatwg.org/multipage/interaction.html#drag-and-drop-processing-model\r\n */\r\n function dispatchDragExit(drag, prevTarget, currTarget, event) {\r\n // If the previous target is null, do nothing.\r\n if (!prevTarget) {\r\n return;\r\n }\r\n // Dispatch the drag exit event to the previous target.\r\n var dragEvent = createDragEvent('p-dragexit', drag, event, currTarget);\r\n prevTarget.dispatchEvent(dragEvent);\r\n }\r\n Private.dispatchDragExit = dispatchDragExit;\r\n /**\r\n * Dispatch a drag leave event to the indicated element.\r\n *\r\n * @param drag - The drag object associated with the action.\r\n *\r\n * @param prevTarget - The previous target element, or `null`. This\r\n * is the previous \"current target element\" from the whatwg spec.\r\n *\r\n * @param currTarget - The current drag target element, or `null`. This\r\n * is the \"current target element\" from the whatwg spec.\r\n *\r\n * @param event - The mouse event related to the action.\r\n *\r\n * #### Notes\r\n * This largely implements the drag leave portion of the whatwg spec:\r\n * https://html.spec.whatwg.org/multipage/interaction.html#drag-and-drop-processing-model\r\n */\r\n function dispatchDragLeave(drag, prevTarget, currTarget, event) {\r\n // If the previous target is null, do nothing.\r\n if (!prevTarget) {\r\n return;\r\n }\r\n // Dispatch the drag leave event to the previous target.\r\n var dragEvent = createDragEvent('p-dragleave', drag, event, currTarget);\r\n prevTarget.dispatchEvent(dragEvent);\r\n }\r\n Private.dispatchDragLeave = dispatchDragLeave;\r\n /**\r\n * Dispatch a drag over event to the indicated element.\r\n *\r\n * @param drag - The drag object associated with the action.\r\n *\r\n * @param currTarget - The current drag target element, or `null`. This\r\n * is the \"current target element\" from the whatwg spec.\r\n *\r\n * @param event - The mouse event related to the action.\r\n *\r\n * @returns The `DropAction` result of the drag over event.\r\n *\r\n * #### Notes\r\n * This largely implements the drag over portion of the whatwg spec:\r\n * https://html.spec.whatwg.org/multipage/interaction.html#drag-and-drop-processing-model\r\n */\r\n function dispatchDragOver(drag, currTarget, event) {\r\n // If there is no current target, the drop action is none.\r\n if (!currTarget) {\r\n return 'none';\r\n }\r\n // Dispatch the drag over event to the current target.\r\n var dragEvent = createDragEvent('p-dragover', drag, event, null);\r\n var canceled = !currTarget.dispatchEvent(dragEvent);\r\n // If the event was canceled, return the drop action result.\r\n if (canceled) {\r\n return dragEvent.dropAction;\r\n }\r\n // Otherwise, the effective drop action is none.\r\n return 'none';\r\n }\r\n Private.dispatchDragOver = dispatchDragOver;\r\n /**\r\n * Dispatch a drop event to the indicated element.\r\n *\r\n * @param drag - The drag object associated with the action.\r\n *\r\n * @param currTarget - The current drag target element, or `null`. This\r\n * is the \"current target element\" from the whatwg spec.\r\n *\r\n * @param event - The mouse event related to the action.\r\n *\r\n * @returns The `DropAction` result of the drop event.\r\n *\r\n * #### Notes\r\n * This largely implements the drag over portion of the whatwg spec:\r\n * https://html.spec.whatwg.org/multipage/interaction.html#drag-and-drop-processing-model\r\n */\r\n function dispatchDrop(drag, currTarget, event) {\r\n // If there is no current target, the drop action is none.\r\n if (!currTarget) {\r\n return 'none';\r\n }\r\n // Dispatch the drop event to the current target.\r\n var dragEvent = createDragEvent('p-drop', drag, event, null);\r\n var canceled = !currTarget.dispatchEvent(dragEvent);\r\n // If the event was canceled, return the drop action result.\r\n if (canceled) {\r\n return dragEvent.dropAction;\r\n }\r\n // Otherwise, the effective drop action is none.\r\n return 'none';\r\n }\r\n Private.dispatchDrop = dispatchDrop;\r\n /**\r\n * A lookup table from drop action to bit value.\r\n */\r\n var actionTable = {\r\n 'none': 0x0,\r\n 'copy': 0x1,\r\n 'link': 0x2,\r\n 'move': 0x4\r\n };\r\n /**\r\n * A lookup table from supported action to drop action bit mask.\r\n */\r\n var supportedTable = {\r\n 'none': actionTable['none'],\r\n 'copy': actionTable['copy'],\r\n 'link': actionTable['link'],\r\n 'move': actionTable['move'],\r\n 'copy-link': actionTable['copy'] | actionTable['link'],\r\n 'copy-move': actionTable['copy'] | actionTable['move'],\r\n 'link-move': actionTable['link'] | actionTable['move'],\r\n 'all': actionTable['copy'] | actionTable['link'] | actionTable['move']\r\n };\r\n /**\r\n * Create a new initialized `IDragEvent` from the given data.\r\n *\r\n * @param type - The event type for the drag event.\r\n *\r\n * @param drag - The drag object to use for seeding the drag data.\r\n *\r\n * @param event - The mouse event to use for seeding the mouse data.\r\n *\r\n * @param related - The related target for the event, or `null`.\r\n *\r\n * @returns A new object which implements `IDragEvent`.\r\n */\r\n function createDragEvent(type, drag, event, related) {\r\n // Create a new mouse event to use as the drag event. Currently,\r\n // JS engines do now allow user-defined Event subclasses.\r\n var dragEvent = document.createEvent('MouseEvent');\r\n // Initialize the mouse event data.\r\n dragEvent.initMouseEvent(type, true, true, window, 0, event.screenX, event.screenY, event.clientX, event.clientY, event.ctrlKey, event.altKey, event.shiftKey, event.metaKey, event.button, related);\r\n // Forcefully add the custom drag event properties.\r\n dragEvent.dropAction = 'none';\r\n dragEvent.mimeData = drag.mimeData;\r\n dragEvent.proposedAction = drag.proposedAction;\r\n dragEvent.supportedActions = drag.supportedActions;\r\n dragEvent.source = drag.source;\r\n // Return the fully initialized drag event.\r\n return dragEvent;\r\n }\r\n})(Private || (Private = {}));\r\n\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\n/*-----------------------------------------------------------------------------\r\n| Copyright (c) 2014-2017, PhosphorJS Contributors\r\n|\r\n| Distributed under the terms of the BSD 3-Clause License.\r\n|\r\n| The full license is in the file LICENSE, distributed with this software.\r\n|----------------------------------------------------------------------------*/\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/**\r\n * Get the global application keyboard layout instance.\r\n *\r\n * @returns The keyboard layout for use by the application.\r\n *\r\n * #### Notes\r\n * The default keyboard layout is US-English.\r\n */\r\nfunction getKeyboardLayout() {\r\n return Private.keyboardLayout;\r\n}\r\nexports.getKeyboardLayout = getKeyboardLayout;\r\n/**\r\n * Set the global application keyboard layout instance.\r\n *\r\n * @param - The keyboard layout for use by the application.\r\n *\r\n * #### Notes\r\n * The keyboard layout should typically be set on application startup\r\n * to a layout which is appropriate for the user's system.\r\n */\r\nfunction setKeyboardLayout(layout) {\r\n Private.keyboardLayout = layout;\r\n}\r\nexports.setKeyboardLayout = setKeyboardLayout;\r\n/**\r\n * A concrete implementation of [[IKeyboardLayout]] based on keycodes.\r\n *\r\n * The `keyCode` property of a `'keydown'` event is a browser and OS\r\n * specific representation of the physical key (not character) which\r\n * was pressed on a keyboard. While not the most convenient API, it\r\n * is currently the only one which works reliably on all browsers.\r\n *\r\n * This class accepts a user-defined mapping of keycode to key, which\r\n * allows for reliable shortcuts tailored to the user's system.\r\n */\r\nvar KeycodeLayout = (function () {\r\n /**\r\n * Construct a new keycode layout.\r\n *\r\n * @param name - The human readable name for the layout.\r\n *\r\n * @param codes - A mapping of keycode to key value.\r\n */\r\n function KeycodeLayout(name, codes) {\r\n this.name = name;\r\n this._codes = codes;\r\n this._keys = KeycodeLayout.extractKeys(codes);\r\n }\r\n /**\r\n * Get an array of the key values supported by the layout.\r\n *\r\n * @returns A new array of the supported key values.\r\n */\r\n KeycodeLayout.prototype.keys = function () {\r\n return Object.keys(this._keys);\r\n };\r\n /**\r\n * Test whether the given key is a valid value for the layout.\r\n *\r\n * @param key - The user provided key to test for validity.\r\n *\r\n * @returns `true` if the key is valid, `false` otherwise.\r\n */\r\n KeycodeLayout.prototype.isValidKey = function (key) {\r\n return key in this._keys;\r\n };\r\n /**\r\n * Get the key for a `'keydown'` event.\r\n *\r\n * @param event - The event object for a `'keydown'` event.\r\n *\r\n * @returns The associated key value, or an empty string if\r\n * the event does not represent a valid primary key.\r\n */\r\n KeycodeLayout.prototype.keyForKeydownEvent = function (event) {\r\n return this._codes[event.keyCode] || '';\r\n };\r\n return KeycodeLayout;\r\n}());\r\nexports.KeycodeLayout = KeycodeLayout;\r\n/**\r\n * The namespace for the `KeycodeLayout` class statics.\r\n */\r\n(function (KeycodeLayout) {\r\n /**\r\n * Extract the set of keys from a code map.\r\n *\r\n * @param code - The code map of interest.\r\n *\r\n * @returns A set of the keys in the code map.\r\n */\r\n function extractKeys(codes) {\r\n var keys = Object.create(null);\r\n for (var c in codes) {\r\n keys[codes[c]] = true;\r\n }\r\n return keys;\r\n }\r\n KeycodeLayout.extractKeys = extractKeys;\r\n})(KeycodeLayout = exports.KeycodeLayout || (exports.KeycodeLayout = {}));\r\nexports.KeycodeLayout = KeycodeLayout;\r\n/**\r\n * A keycode-based keyboard layout for US English keyboards.\r\n *\r\n * This layout is valid for the following OS/Browser combinations.\r\n *\r\n * - Windows\r\n * - Chrome\r\n * - Firefox\r\n * - IE\r\n *\r\n * - OSX\r\n * - Chrome\r\n * - Firefox\r\n * - Safari\r\n *\r\n * - Linux\r\n * - Chrome\r\n * - Firefox\r\n *\r\n * Other combinations may also work, but are untested.\r\n */\r\nexports.EN_US = new KeycodeLayout('en-us', {\r\n 8: 'Backspace',\r\n 9: 'Tab',\r\n 13: 'Enter',\r\n 19: 'Pause',\r\n 27: 'Escape',\r\n 32: 'Space',\r\n 33: 'PageUp',\r\n 34: 'PageDown',\r\n 35: 'End',\r\n 36: 'Home',\r\n 37: 'ArrowLeft',\r\n 38: 'ArrowUp',\r\n 39: 'ArrowRight',\r\n 40: 'ArrowDown',\r\n 45: 'Insert',\r\n 46: 'Delete',\r\n 48: '0',\r\n 49: '1',\r\n 50: '2',\r\n 51: '3',\r\n 52: '4',\r\n 53: '5',\r\n 54: '6',\r\n 55: '7',\r\n 56: '8',\r\n 57: '9',\r\n 59: ';',\r\n 61: '=',\r\n 65: 'A',\r\n 66: 'B',\r\n 67: 'C',\r\n 68: 'D',\r\n 69: 'E',\r\n 70: 'F',\r\n 71: 'G',\r\n 72: 'H',\r\n 73: 'I',\r\n 74: 'J',\r\n 75: 'K',\r\n 76: 'L',\r\n 77: 'M',\r\n 78: 'N',\r\n 79: 'O',\r\n 80: 'P',\r\n 81: 'Q',\r\n 82: 'R',\r\n 83: 'S',\r\n 84: 'T',\r\n 85: 'U',\r\n 86: 'V',\r\n 87: 'W',\r\n 88: 'X',\r\n 89: 'Y',\r\n 90: 'Z',\r\n 93: 'ContextMenu',\r\n 96: '0',\r\n 97: '1',\r\n 98: '2',\r\n 99: '3',\r\n 100: '4',\r\n 101: '5',\r\n 102: '6',\r\n 103: '7',\r\n 104: '8',\r\n 105: '9',\r\n 106: '*',\r\n 107: '+',\r\n 109: '-',\r\n 110: '.',\r\n 111: '/',\r\n 112: 'F1',\r\n 113: 'F2',\r\n 114: 'F3',\r\n 115: 'F4',\r\n 116: 'F5',\r\n 117: 'F6',\r\n 118: 'F7',\r\n 119: 'F8',\r\n 120: 'F9',\r\n 121: 'F10',\r\n 122: 'F11',\r\n 123: 'F12',\r\n 173: '-',\r\n 186: ';',\r\n 187: '=',\r\n 188: ',',\r\n 189: '-',\r\n 190: '.',\r\n 191: '/',\r\n 192: '`',\r\n 219: '[',\r\n 220: '\\\\',\r\n 221: ']',\r\n 222: '\\''\r\n});\r\n/**\r\n * The namespace for the module implementation details.\r\n */\r\nvar Private;\r\n(function (Private) {\r\n /**\r\n * The global keyboard layout instance.\r\n */\r\n Private.keyboardLayout = exports.EN_US;\r\n})(Private || (Private = {}));\r\n\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\n/*-----------------------------------------------------------------------------\r\n| Copyright (c) 2014-2017, PhosphorJS Contributors\r\n|\r\n| Distributed under the terms of the BSD 3-Clause License.\r\n|\r\n| The full license is in the file LICENSE, distributed with this software.\r\n|----------------------------------------------------------------------------*/\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/**\r\n * A sizer object for use with the box engine layout functions.\r\n *\r\n * #### Notes\r\n * A box sizer holds the geometry information for an object along an\r\n * arbitrary layout orientation.\r\n *\r\n * For best performance, this class should be treated as a raw data\r\n * struct. It should not typically be subclassed.\r\n */\r\nvar BoxSizer = (function () {\r\n function BoxSizer() {\r\n /**\r\n * The preferred size for the sizer.\r\n *\r\n * #### Notes\r\n * The sizer will be given this initial size subject to its size\r\n * bounds. The sizer will not deviate from this size unless such\r\n * deviation is required to fit into the available layout space.\r\n *\r\n * There is no limit to this value, but it will be clamped to the\r\n * bounds defined by [[minSize]] and [[maxSize]].\r\n *\r\n * The default value is `0`.\r\n */\r\n this.sizeHint = 0;\r\n /**\r\n * The minimum size of the sizer.\r\n *\r\n * #### Notes\r\n * The sizer will never be sized less than this value, even if\r\n * it means the sizer will overflow the available layout space.\r\n *\r\n * It is assumed that this value lies in the range `[0, Infinity)`\r\n * and that it is `<=` to [[maxSize]]. Failure to adhere to this\r\n * constraint will yield undefined results.\r\n *\r\n * The default value is `0`.\r\n */\r\n this.minSize = 0;\r\n /**\r\n * The maximum size of the sizer.\r\n *\r\n * #### Notes\r\n * The sizer will never be sized greater than this value, even if\r\n * it means the sizer will underflow the available layout space.\r\n *\r\n * It is assumed that this value lies in the range `[0, Infinity]`\r\n * and that it is `>=` to [[minSize]]. Failure to adhere to this\r\n * constraint will yield undefined results.\r\n *\r\n * The default value is `Infinity`.\r\n */\r\n this.maxSize = Infinity;\r\n /**\r\n * The stretch factor for the sizer.\r\n *\r\n * #### Notes\r\n * This controls how much the sizer stretches relative to its sibling\r\n * sizers when layout space is distributed. A stretch factor of zero\r\n * is special and will cause the sizer to only be resized after all\r\n * other sizers with a stretch factor greater than zero have been\r\n * resized to their limits.\r\n *\r\n * It is assumed that this value is an integer that lies in the range\r\n * `[0, Infinity)`. Failure to adhere to this constraint will yield\r\n * undefined results.\r\n *\r\n * The default value is `1`.\r\n */\r\n this.stretch = 1;\r\n /**\r\n * The computed size of the sizer.\r\n *\r\n * #### Notes\r\n * This value is the output of a call to [[boxCalc]]. It represents\r\n * the computed size for the object along the layout orientation,\r\n * and will always lie in the range `[minSize, maxSize]`.\r\n *\r\n * This value is output only.\r\n *\r\n * Changing this value will have no effect.\r\n */\r\n this.size = 0;\r\n /**\r\n * An internal storage property for the layout algorithm.\r\n *\r\n * #### Notes\r\n * This value is used as temporary storage by the layout algorithm.\r\n *\r\n * Changing this value will have no effect.\r\n */\r\n this.done = false;\r\n }\r\n return BoxSizer;\r\n}());\r\nexports.BoxSizer = BoxSizer;\r\n/**\r\n * The namespace for the box engine layout functions.\r\n */\r\nvar BoxEngine;\r\n(function (BoxEngine) {\r\n /**\r\n * Calculate the optimal layout sizes for a sequence of box sizers.\r\n *\r\n * This distributes the available layout space among the box sizers\r\n * according to the following algorithm:\r\n *\r\n * 1. Initialize the sizers's size to its size hint and compute the\r\n * sums for each of size hint, min size, and max size.\r\n *\r\n * 2. If the total size hint equals the available space, return.\r\n *\r\n * 3. If the available space is less than the total min size, set all\r\n * sizers to their min size and return.\r\n *\r\n * 4. If the available space is greater than the total max size, set\r\n * all sizers to their max size and return.\r\n *\r\n * 5. If the layout space is less than the total size hint, distribute\r\n * the negative delta as follows:\r\n *\r\n * a. Shrink each sizer with a stretch factor greater than zero by\r\n * an amount proportional to the negative space and the sum of\r\n * stretch factors. If the sizer reaches its min size, remove\r\n * it and its stretch factor from the computation.\r\n *\r\n * b. If after adjusting all stretch sizers there remains negative\r\n * space, distribute the space equally among the sizers with a\r\n * stretch factor of zero. If a sizer reaches its min size,\r\n * remove it from the computation.\r\n *\r\n * 6. If the layout space is greater than the total size hint,\r\n * distribute the positive delta as follows:\r\n *\r\n * a. Expand each sizer with a stretch factor greater than zero by\r\n * an amount proportional to the postive space and the sum of\r\n * stretch factors. If the sizer reaches its max size, remove\r\n * it and its stretch factor from the computation.\r\n *\r\n * b. If after adjusting all stretch sizers there remains positive\r\n * space, distribute the space equally among the sizers with a\r\n * stretch factor of zero. If a sizer reaches its max size,\r\n * remove it from the computation.\r\n *\r\n * 7. return\r\n *\r\n * @param sizers - The sizers for a particular layout line.\r\n *\r\n * @param space - The available layout space for the sizers.\r\n *\r\n * @returns The delta between the provided available space and the\r\n * actual consumed space. This value will be zero if the sizers\r\n * can be adjusted to fit, negative if the available space is too\r\n * small, and positive if the available space is too large.\r\n *\r\n * #### Notes\r\n * The [[size]] of each sizer is updated with the computed size.\r\n *\r\n * This function can be called at any time to recompute the layout for\r\n * an existing sequence of sizers. The previously computed results will\r\n * have no effect on the new output. It is therefore not necessary to\r\n * create new sizer objects on each resize event.\r\n */\r\n function calc(sizers, space) {\r\n // Bail early if there is nothing to do.\r\n var count = sizers.length;\r\n if (count === 0) {\r\n return space;\r\n }\r\n // Setup the size and stretch counters.\r\n var totalMin = 0;\r\n var totalMax = 0;\r\n var totalSize = 0;\r\n var totalStretch = 0;\r\n var stretchCount = 0;\r\n // Setup the sizers and compute the totals.\r\n for (var i = 0; i < count; ++i) {\r\n var sizer = sizers[i];\r\n var min = sizer.minSize;\r\n var max = sizer.maxSize;\r\n var hint = sizer.sizeHint;\r\n sizer.done = false;\r\n sizer.size = Math.max(min, Math.min(hint, max));\r\n totalSize += sizer.size;\r\n totalMin += min;\r\n totalMax += max;\r\n if (sizer.stretch > 0) {\r\n totalStretch += sizer.stretch;\r\n stretchCount++;\r\n }\r\n }\r\n // If the space is equal to the total size, return early.\r\n if (space === totalSize) {\r\n return 0;\r\n }\r\n // If the space is less than the total min, minimize each sizer.\r\n if (space <= totalMin) {\r\n for (var i = 0; i < count; ++i) {\r\n var sizer = sizers[i];\r\n sizer.size = sizer.minSize;\r\n }\r\n return space - totalMin;\r\n }\r\n // If the space is greater than the total max, maximize each sizer.\r\n if (space >= totalMax) {\r\n for (var i = 0; i < count; ++i) {\r\n var sizer = sizers[i];\r\n sizer.size = sizer.maxSize;\r\n }\r\n return space - totalMax;\r\n }\r\n // The loops below perform sub-pixel precision sizing. A near zero\r\n // value is used for compares instead of zero to ensure that the\r\n // loop terminates when the subdivided space is reasonably small.\r\n var nearZero = 0.01;\r\n // A counter which is decremented each time a sizer is resized to\r\n // its limit. This ensures the loops terminate even if there is\r\n // space remaining to distribute.\r\n var notDoneCount = count;\r\n // Distribute negative delta space.\r\n if (space < totalSize) {\r\n // Shrink each stretchable sizer by an amount proportional to its\r\n // stretch factor. If a sizer reaches its min size it's marked as\r\n // done. The loop progresses in phases where each sizer is given\r\n // a chance to consume its fair share for the pass, regardless of\r\n // whether a sizer before it reached its limit. This continues\r\n // until the stretchable sizers or the free space is exhausted.\r\n var freeSpace = totalSize - space;\r\n while (stretchCount > 0 && freeSpace > nearZero) {\r\n var distSpace = freeSpace;\r\n var distStretch = totalStretch;\r\n for (var i = 0; i < count; ++i) {\r\n var sizer = sizers[i];\r\n if (sizer.done || sizer.stretch === 0) {\r\n continue;\r\n }\r\n var amt = sizer.stretch * distSpace / distStretch;\r\n if (sizer.size - amt <= sizer.minSize) {\r\n freeSpace -= sizer.size - sizer.minSize;\r\n totalStretch -= sizer.stretch;\r\n sizer.size = sizer.minSize;\r\n sizer.done = true;\r\n notDoneCount--;\r\n stretchCount--;\r\n }\r\n else {\r\n freeSpace -= amt;\r\n sizer.size -= amt;\r\n }\r\n }\r\n }\r\n // Distribute any remaining space evenly among the non-stretchable\r\n // sizers. This progresses in phases in the same manner as above.\r\n while (notDoneCount > 0 && freeSpace > nearZero) {\r\n var amt = freeSpace / notDoneCount;\r\n for (var i = 0; i < count; ++i) {\r\n var sizer = sizers[i];\r\n if (sizer.done) {\r\n continue;\r\n }\r\n if (sizer.size - amt <= sizer.minSize) {\r\n freeSpace -= sizer.size - sizer.minSize;\r\n sizer.size = sizer.minSize;\r\n sizer.done = true;\r\n notDoneCount--;\r\n }\r\n else {\r\n freeSpace -= amt;\r\n sizer.size -= amt;\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n // Expand each stretchable sizer by an amount proportional to its\r\n // stretch factor. If a sizer reaches its max size it's marked as\r\n // done. The loop progresses in phases where each sizer is given\r\n // a chance to consume its fair share for the pass, regardless of\r\n // whether a sizer before it reached its limit. This continues\r\n // until the stretchable sizers or the free space is exhausted.\r\n var freeSpace = space - totalSize;\r\n while (stretchCount > 0 && freeSpace > nearZero) {\r\n var distSpace = freeSpace;\r\n var distStretch = totalStretch;\r\n for (var i = 0; i < count; ++i) {\r\n var sizer = sizers[i];\r\n if (sizer.done || sizer.stretch === 0) {\r\n continue;\r\n }\r\n var amt = sizer.stretch * distSpace / distStretch;\r\n if (sizer.size + amt >= sizer.maxSize) {\r\n freeSpace -= sizer.maxSize - sizer.size;\r\n totalStretch -= sizer.stretch;\r\n sizer.size = sizer.maxSize;\r\n sizer.done = true;\r\n notDoneCount--;\r\n stretchCount--;\r\n }\r\n else {\r\n freeSpace -= amt;\r\n sizer.size += amt;\r\n }\r\n }\r\n }\r\n // Distribute any remaining space evenly among the non-stretchable\r\n // sizers. This progresses in phases in the same manner as above.\r\n while (notDoneCount > 0 && freeSpace > nearZero) {\r\n var amt = freeSpace / notDoneCount;\r\n for (var i = 0; i < count; ++i) {\r\n var sizer = sizers[i];\r\n if (sizer.done) {\r\n continue;\r\n }\r\n if (sizer.size + amt >= sizer.maxSize) {\r\n freeSpace -= sizer.maxSize - sizer.size;\r\n sizer.size = sizer.maxSize;\r\n sizer.done = true;\r\n notDoneCount--;\r\n }\r\n else {\r\n freeSpace -= amt;\r\n sizer.size += amt;\r\n }\r\n }\r\n }\r\n }\r\n // Indicate that the consumed space equals the available space.\r\n return 0;\r\n }\r\n BoxEngine.calc = calc;\r\n /**\r\n * Adjust a sizer by a delta and update its neighbors accordingly.\r\n *\r\n * @param sizers - The sizers which should be adjusted.\r\n *\r\n * @param index - The index of the sizer to grow.\r\n *\r\n * @param delta - The amount to adjust the sizer, positive or negative.\r\n *\r\n * #### Notes\r\n * This will adjust the indicated sizer by the specified amount, along\r\n * with the sizes of the appropriate neighbors, subject to the limits\r\n * specified by each of the sizers.\r\n *\r\n * This is useful when implementing box layouts where the boundaries\r\n * between the sizers are interactively adjustable by the user.\r\n */\r\n function adjust(sizers, index, delta) {\r\n // Bail early when there is nothing to do.\r\n if (sizers.length === 0 || delta === 0) {\r\n return;\r\n }\r\n // Dispatch to the proper implementation.\r\n if (delta > 0) {\r\n growSizer(sizers, index, delta);\r\n }\r\n else {\r\n shrinkSizer(sizers, index, -delta);\r\n }\r\n }\r\n BoxEngine.adjust = adjust;\r\n /**\r\n * Grow a sizer by a positive delta and adjust neighbors.\r\n */\r\n function growSizer(sizers, index, delta) {\r\n // Compute how much the items to the left can expand.\r\n var growLimit = 0;\r\n for (var i = 0; i <= index; ++i) {\r\n var sizer = sizers[i];\r\n growLimit += sizer.maxSize - sizer.size;\r\n }\r\n // Compute how much the items to the right can shrink.\r\n var shrinkLimit = 0;\r\n for (var i = index + 1, n = sizers.length; i < n; ++i) {\r\n var sizer = sizers[i];\r\n shrinkLimit += sizer.size - sizer.minSize;\r\n }\r\n // Clamp the delta adjustment to the limits.\r\n delta = Math.min(delta, growLimit, shrinkLimit);\r\n // Grow the sizers to the left by the delta.\r\n var grow = delta;\r\n for (var i = index; i >= 0 && grow > 0; --i) {\r\n var sizer = sizers[i];\r\n var limit = sizer.maxSize - sizer.size;\r\n if (limit >= grow) {\r\n sizer.sizeHint = sizer.size + grow;\r\n grow = 0;\r\n }\r\n else {\r\n sizer.sizeHint = sizer.size + limit;\r\n grow -= limit;\r\n }\r\n }\r\n // Shrink the sizers to the right by the delta.\r\n var shrink = delta;\r\n for (var i = index + 1, n = sizers.length; i < n && shrink > 0; ++i) {\r\n var sizer = sizers[i];\r\n var limit = sizer.size - sizer.minSize;\r\n if (limit >= shrink) {\r\n sizer.sizeHint = sizer.size - shrink;\r\n shrink = 0;\r\n }\r\n else {\r\n sizer.sizeHint = sizer.size - limit;\r\n shrink -= limit;\r\n }\r\n }\r\n }\r\n /**\r\n * Shrink a sizer by a positive delta and adjust neighbors.\r\n */\r\n function shrinkSizer(sizers, index, delta) {\r\n // Compute how much the items to the right can expand.\r\n var growLimit = 0;\r\n for (var i = index + 1, n = sizers.length; i < n; ++i) {\r\n var sizer = sizers[i];\r\n growLimit += sizer.maxSize - sizer.size;\r\n }\r\n // Compute how much the items to the left can shrink.\r\n var shrinkLimit = 0;\r\n for (var i = 0; i <= index; ++i) {\r\n var sizer = sizers[i];\r\n shrinkLimit += sizer.size - sizer.minSize;\r\n }\r\n // Clamp the delta adjustment to the limits.\r\n delta = Math.min(delta, growLimit, shrinkLimit);\r\n // Grow the sizers to the right by the delta.\r\n var grow = delta;\r\n for (var i = index + 1, n = sizers.length; i < n && grow > 0; ++i) {\r\n var sizer = sizers[i];\r\n var limit = sizer.maxSize - sizer.size;\r\n if (limit >= grow) {\r\n sizer.sizeHint = sizer.size + grow;\r\n grow = 0;\r\n }\r\n else {\r\n sizer.sizeHint = sizer.size + limit;\r\n grow -= limit;\r\n }\r\n }\r\n // Shrink the sizers to the left by the delta.\r\n var shrink = delta;\r\n for (var i = index; i >= 0 && shrink > 0; --i) {\r\n var sizer = sizers[i];\r\n var limit = sizer.size - sizer.minSize;\r\n if (limit >= shrink) {\r\n sizer.sizeHint = sizer.size - shrink;\r\n shrink = 0;\r\n }\r\n else {\r\n sizer.sizeHint = sizer.size - limit;\r\n shrink -= limit;\r\n }\r\n }\r\n }\r\n})(BoxEngine = exports.BoxEngine || (exports.BoxEngine = {}));\r\n\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/*-----------------------------------------------------------------------------\r\n| Copyright (c) 2014-2017, PhosphorJS Contributors\r\n|\r\n| Distributed under the terms of the BSD 3-Clause License.\r\n|\r\n| The full license is in the file LICENSE, distributed with this software.\r\n|----------------------------------------------------------------------------*/\r\nvar panellayout_1 = __webpack_require__(10);\r\nvar widget_1 = __webpack_require__(2);\r\n/**\r\n * A simple and convenient panel widget class.\r\n *\r\n * #### Notes\r\n * This class is suitable as a base class for implementing a variety of\r\n * convenience panel widgets, but can also be used directly with CSS to\r\n * arrange a collection of widgets.\r\n *\r\n * This class provides a convenience wrapper around a [[PanelLayout]].\r\n */\r\nvar Panel = (function (_super) {\r\n __extends(Panel, _super);\r\n /**\r\n * Construct a new panel.\r\n *\r\n * @param options - The options for initializing the panel.\r\n */\r\n function Panel(options) {\r\n if (options === void 0) { options = {}; }\r\n var _this = _super.call(this) || this;\r\n _this.addClass('p-Panel');\r\n _this.layout = Private.createLayout(options);\r\n return _this;\r\n }\r\n Object.defineProperty(Panel.prototype, \"widgets\", {\r\n /**\r\n * A read-only array of the widgets in the panel.\r\n */\r\n get: function () {\r\n return this.layout.widgets;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n /**\r\n * Add a widget to the end of the panel.\r\n *\r\n * @param widget - The widget to add to the panel.\r\n *\r\n * #### Notes\r\n * If the widget is already contained in the panel, it will be moved.\r\n */\r\n Panel.prototype.addWidget = function (widget) {\r\n this.layout.addWidget(widget);\r\n };\r\n /**\r\n * Insert a widget at the specified index.\r\n *\r\n * @param index - The index at which to insert the widget.\r\n *\r\n * @param widget - The widget to insert into to the panel.\r\n *\r\n * #### Notes\r\n * If the widget is already contained in the panel, it will be moved.\r\n */\r\n Panel.prototype.insertWidget = function (index, widget) {\r\n this.layout.insertWidget(index, widget);\r\n };\r\n return Panel;\r\n}(widget_1.Widget));\r\nexports.Panel = Panel;\r\n/**\r\n * The namespace for the module implementation details.\r\n */\r\nvar Private;\r\n(function (Private) {\r\n /**\r\n * Create a panel layout for the given panel options.\r\n */\r\n function createLayout(options) {\r\n return options.layout || new panellayout_1.PanelLayout();\r\n }\r\n Private.createLayout = createLayout;\r\n})(Private || (Private = {}));\r\n\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/*-----------------------------------------------------------------------------\r\n| Copyright (c) 2014-2017, PhosphorJS Contributors\r\n|\r\n| Distributed under the terms of the BSD 3-Clause License.\r\n|\r\n| The full license is in the file LICENSE, distributed with this software.\r\n|----------------------------------------------------------------------------*/\r\nvar algorithm_1 = __webpack_require__(0);\r\nvar domutils_1 = __webpack_require__(1);\r\nvar messaging_1 = __webpack_require__(3);\r\nvar properties_1 = __webpack_require__(7);\r\nvar boxengine_1 = __webpack_require__(15);\r\nvar layout_1 = __webpack_require__(8);\r\nvar panellayout_1 = __webpack_require__(10);\r\nvar widget_1 = __webpack_require__(2);\r\n/**\r\n * A layout which arranges its widgets in a single row or column.\r\n */\r\nvar BoxLayout = (function (_super) {\r\n __extends(BoxLayout, _super);\r\n /**\r\n * Construct a new box layout.\r\n *\r\n * @param options - The options for initializing the layout.\r\n */\r\n function BoxLayout(options) {\r\n if (options === void 0) { options = {}; }\r\n var _this = _super.call(this) || this;\r\n _this._fixed = 0;\r\n _this._spacing = 4;\r\n _this._dirty = false;\r\n _this._sizers = [];\r\n _this._items = [];\r\n _this._box = null;\r\n _this._alignment = 'start';\r\n _this._direction = 'top-to-bottom';\r\n if (options.direction !== undefined) {\r\n _this._direction = options.direction;\r\n }\r\n if (options.alignment !== undefined) {\r\n _this._alignment = options.alignment;\r\n }\r\n if (options.spacing !== undefined) {\r\n _this._spacing = Private.clampSpacing(options.spacing);\r\n }\r\n return _this;\r\n }\r\n /**\r\n * Dispose of the resources held by the layout.\r\n */\r\n BoxLayout.prototype.dispose = function () {\r\n // Dispose of the layout items.\r\n algorithm_1.each(this._items, function (item) { item.dispose(); });\r\n // Clear the layout state.\r\n this._box = null;\r\n this._items.length = 0;\r\n this._sizers.length = 0;\r\n // Dispose of the rest of the layout.\r\n _super.prototype.dispose.call(this);\r\n };\r\n Object.defineProperty(BoxLayout.prototype, \"direction\", {\r\n /**\r\n * Get the layout direction for the box layout.\r\n */\r\n get: function () {\r\n return this._direction;\r\n },\r\n /**\r\n * Set the layout direction for the box layout.\r\n */\r\n set: function (value) {\r\n if (this._direction === value) {\r\n return;\r\n }\r\n this._direction = value;\r\n if (!this.parent) {\r\n return;\r\n }\r\n this.parent.dataset['direction'] = value;\r\n this.parent.fit();\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(BoxLayout.prototype, \"alignment\", {\r\n /**\r\n * Get the content alignment for the box layout.\r\n *\r\n * #### Notes\r\n * This is the alignment of the widgets in the layout direction.\r\n *\r\n * The alignment has no effect if the widgets can expand to fill the\r\n * entire box layout.\r\n */\r\n get: function () {\r\n return this._alignment;\r\n },\r\n /**\r\n * Set the content alignment for the box layout.\r\n *\r\n * #### Notes\r\n * This is the alignment of the widgets in the layout direction.\r\n *\r\n * The alignment has no effect if the widgets can expand to fill the\r\n * entire box layout.\r\n */\r\n set: function (value) {\r\n if (this._alignment === value) {\r\n return;\r\n }\r\n this._alignment = value;\r\n if (!this.parent) {\r\n return;\r\n }\r\n this.parent.dataset['alignment'] = value;\r\n this.parent.update();\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(BoxLayout.prototype, \"spacing\", {\r\n /**\r\n * Get the inter-element spacing for the box layout.\r\n */\r\n get: function () {\r\n return this._spacing;\r\n },\r\n /**\r\n * Set the inter-element spacing for the box layout.\r\n */\r\n set: function (value) {\r\n value = Private.clampSpacing(value);\r\n if (this._spacing === value) {\r\n return;\r\n }\r\n this._spacing = value;\r\n if (!this.parent) {\r\n return;\r\n }\r\n this.parent.fit();\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n /**\r\n * Perform layout initialization which requires the parent widget.\r\n */\r\n BoxLayout.prototype.init = function () {\r\n this.parent.dataset['direction'] = this.direction;\r\n this.parent.dataset['alignment'] = this.alignment;\r\n _super.prototype.init.call(this);\r\n };\r\n /**\r\n * Attach a widget to the parent's DOM node.\r\n *\r\n * @param index - The current index of the widget in the layout.\r\n *\r\n * @param widget - The widget to attach to the parent.\r\n *\r\n * #### Notes\r\n * This is a reimplementation of the superclass method.\r\n */\r\n BoxLayout.prototype.attachWidget = function (index, widget) {\r\n // Create and add a new layout item for the widget.\r\n algorithm_1.ArrayExt.insert(this._items, index, new layout_1.LayoutItem(widget));\r\n // Create and add a new sizer for the widget.\r\n algorithm_1.ArrayExt.insert(this._sizers, index, new boxengine_1.BoxSizer());\r\n // Send a `'before-attach'` message if the parent is attached.\r\n if (this.parent.isAttached) {\r\n messaging_1.MessageLoop.sendMessage(widget, widget_1.Widget.Msg.BeforeAttach);\r\n }\r\n // Add the widget's node to the parent.\r\n this.parent.node.appendChild(widget.node);\r\n // Send an `'after-attach'` message if the parent is attached.\r\n if (this.parent.isAttached) {\r\n messaging_1.MessageLoop.sendMessage(widget, widget_1.Widget.Msg.AfterAttach);\r\n }\r\n // Post a fit request for the parent widget.\r\n this.parent.fit();\r\n };\r\n /**\r\n * Move a widget in the parent's DOM node.\r\n *\r\n * @param fromIndex - The previous index of the widget in the layout.\r\n *\r\n * @param toIndex - The current index of the widget in the layout.\r\n *\r\n * @param widget - The widget to move in the parent.\r\n *\r\n * #### Notes\r\n * This is a reimplementation of the superclass method.\r\n */\r\n BoxLayout.prototype.moveWidget = function (fromIndex, toIndex, widget) {\r\n // Move the layout item for the widget.\r\n algorithm_1.ArrayExt.move(this._items, fromIndex, toIndex);\r\n // Move the sizer for the widget.\r\n algorithm_1.ArrayExt.move(this._sizers, fromIndex, toIndex);\r\n // Post an update request for the parent widget.\r\n this.parent.update();\r\n };\r\n /**\r\n * Detach a widget from the parent's DOM node.\r\n *\r\n * @param index - The previous index of the widget in the layout.\r\n *\r\n * @param widget - The widget to detach from the parent.\r\n *\r\n * #### Notes\r\n * This is a reimplementation of the superclass method.\r\n */\r\n BoxLayout.prototype.detachWidget = function (index, widget) {\r\n // Remove the layout item for the widget.\r\n var item = algorithm_1.ArrayExt.removeAt(this._items, index);\r\n // Remove the sizer for the widget.\r\n algorithm_1.ArrayExt.removeAt(this._sizers, index);\r\n // Send a `'before-detach'` message if the parent is attached.\r\n if (this.parent.isAttached) {\r\n messaging_1.MessageLoop.sendMessage(widget, widget_1.Widget.Msg.BeforeDetach);\r\n }\r\n // Remove the widget's node from the parent.\r\n this.parent.node.removeChild(widget.node);\r\n // Send an `'after-detach'` message if the parent is attached.\r\n if (this.parent.isAttached) {\r\n messaging_1.MessageLoop.sendMessage(widget, widget_1.Widget.Msg.AfterDetach);\r\n }\r\n // Dispose of the layout item.\r\n item.dispose();\r\n // Post a fit request for the parent widget.\r\n this.parent.fit();\r\n };\r\n /**\r\n * A message handler invoked on a `'before-show'` message.\r\n */\r\n BoxLayout.prototype.onBeforeShow = function (msg) {\r\n _super.prototype.onBeforeShow.call(this, msg);\r\n this.parent.update();\r\n };\r\n /**\r\n * A message handler invoked on a `'before-attach'` message.\r\n */\r\n BoxLayout.prototype.onBeforeAttach = function (msg) {\r\n _super.prototype.onBeforeAttach.call(this, msg);\r\n this.parent.fit();\r\n };\r\n /**\r\n * A message handler invoked on a `'child-shown'` message.\r\n */\r\n BoxLayout.prototype.onChildShown = function (msg) {\r\n this.parent.fit();\r\n };\r\n /**\r\n * A message handler invoked on a `'child-hidden'` message.\r\n */\r\n BoxLayout.prototype.onChildHidden = function (msg) {\r\n this.parent.fit();\r\n };\r\n /**\r\n * A message handler invoked on a `'resize'` message.\r\n */\r\n BoxLayout.prototype.onResize = function (msg) {\r\n if (this.parent.isVisible) {\r\n this._update(msg.width, msg.height);\r\n }\r\n };\r\n /**\r\n * A message handler invoked on an `'update-request'` message.\r\n */\r\n BoxLayout.prototype.onUpdateRequest = function (msg) {\r\n if (this.parent.isVisible) {\r\n this._update(-1, -1);\r\n }\r\n };\r\n /**\r\n * A message handler invoked on a `'fit-request'` message.\r\n */\r\n BoxLayout.prototype.onFitRequest = function (msg) {\r\n if (this.parent.isAttached) {\r\n this._fit();\r\n }\r\n };\r\n /**\r\n * Fit the layout to the total size required by the widgets.\r\n */\r\n BoxLayout.prototype._fit = function () {\r\n // Compute the visible item count.\r\n var nVisible = 0;\r\n for (var i = 0, n = this._items.length; i < n; ++i) {\r\n nVisible += +!this._items[i].isHidden;\r\n }\r\n // Update the fixed space for the visible items.\r\n this._fixed = this._spacing * Math.max(0, nVisible - 1);\r\n // Setup the computed minimum size.\r\n var horz = Private.isHorizontal(this._direction);\r\n var minW = horz ? this._fixed : 0;\r\n var minH = horz ? 0 : this._fixed;\r\n // Update the sizers and computed minimum size.\r\n for (var i = 0, n = this._items.length; i < n; ++i) {\r\n // Fetch the item and corresponding box sizer.\r\n var item = this._items[i];\r\n var sizer = this._sizers[i];\r\n // If the item is hidden, it should consume zero size.\r\n if (item.isHidden) {\r\n sizer.minSize = 0;\r\n sizer.maxSize = 0;\r\n continue;\r\n }\r\n // Update the size limits for the item.\r\n item.fit();\r\n // Update the size basis and stretch factor.\r\n sizer.sizeHint = BoxLayout.getSizeBasis(item.widget);\r\n sizer.stretch = BoxLayout.getStretch(item.widget);\r\n // Update the sizer limits and computed min size.\r\n if (horz) {\r\n sizer.minSize = item.minWidth;\r\n sizer.maxSize = item.maxWidth;\r\n minW += item.minWidth;\r\n minH = Math.max(minH, item.minHeight);\r\n }\r\n else {\r\n sizer.minSize = item.minHeight;\r\n sizer.maxSize = item.maxHeight;\r\n minH += item.minHeight;\r\n minW = Math.max(minW, item.minWidth);\r\n }\r\n }\r\n // Update the box sizing and add it to the computed min size.\r\n var box = this._box = domutils_1.ElementExt.boxSizing(this.parent.node);\r\n minW += box.horizontalSum;\r\n minH += box.verticalSum;\r\n // Update the parent's min size constraints.\r\n var style = this.parent.node.style;\r\n style.minWidth = minW + \"px\";\r\n style.minHeight = minH + \"px\";\r\n // Set the dirty flag to ensure only a single update occurs.\r\n this._dirty = true;\r\n // Notify the ancestor that it should fit immediately. This may\r\n // cause a resize of the parent, fulfilling the required update.\r\n if (this.parent.parent) {\r\n messaging_1.MessageLoop.sendMessage(this.parent.parent, widget_1.Widget.Msg.FitRequest);\r\n }\r\n // If the dirty flag is still set, the parent was not resized.\r\n // Trigger the required update on the parent widget immediately.\r\n if (this._dirty) {\r\n messaging_1.MessageLoop.sendMessage(this.parent, widget_1.Widget.Msg.UpdateRequest);\r\n }\r\n };\r\n /**\r\n * Update the layout position and size of the widgets.\r\n *\r\n * The parent offset dimensions should be `-1` if unknown.\r\n */\r\n BoxLayout.prototype._update = function (offsetWidth, offsetHeight) {\r\n // Clear the dirty flag to indicate the update occurred.\r\n this._dirty = false;\r\n // Compute the visible item count.\r\n var nVisible = 0;\r\n for (var i = 0, n = this._items.length; i < n; ++i) {\r\n nVisible += +!this._items[i].isHidden;\r\n }\r\n // Bail early if there are no visible items to layout.\r\n if (nVisible === 0) {\r\n return;\r\n }\r\n // Measure the parent if the offset dimensions are unknown.\r\n if (offsetWidth < 0) {\r\n offsetWidth = this.parent.node.offsetWidth;\r\n }\r\n if (offsetHeight < 0) {\r\n offsetHeight = this.parent.node.offsetHeight;\r\n }\r\n // Ensure the parent box sizing data is computed.\r\n if (!this._box) {\r\n this._box = domutils_1.ElementExt.boxSizing(this.parent.node);\r\n }\r\n // Compute the layout area adjusted for border and padding.\r\n var top = this._box.paddingTop;\r\n var left = this._box.paddingLeft;\r\n var width = offsetWidth - this._box.horizontalSum;\r\n var height = offsetHeight - this._box.verticalSum;\r\n // Distribute the layout space and adjust the start position.\r\n var delta;\r\n switch (this._direction) {\r\n case 'left-to-right':\r\n delta = boxengine_1.BoxEngine.calc(this._sizers, Math.max(0, width - this._fixed));\r\n break;\r\n case 'top-to-bottom':\r\n delta = boxengine_1.BoxEngine.calc(this._sizers, Math.max(0, height - this._fixed));\r\n break;\r\n case 'right-to-left':\r\n delta = boxengine_1.BoxEngine.calc(this._sizers, Math.max(0, width - this._fixed));\r\n left += width;\r\n break;\r\n case 'bottom-to-top':\r\n delta = boxengine_1.BoxEngine.calc(this._sizers, Math.max(0, height - this._fixed));\r\n top += height;\r\n break;\r\n default:\r\n throw 'unreachable';\r\n }\r\n // Setup the variables for justification and alignment offset.\r\n var extra = 0;\r\n var offset = 0;\r\n // Account for alignment if there is extra layout space.\r\n if (delta > 0) {\r\n switch (this._alignment) {\r\n case 'start':\r\n break;\r\n case 'center':\r\n extra = 0;\r\n offset = delta / 2;\r\n break;\r\n case 'end':\r\n extra = 0;\r\n offset = delta;\r\n break;\r\n case 'justify':\r\n extra = delta / nVisible;\r\n offset = 0;\r\n break;\r\n default:\r\n throw 'unreachable';\r\n }\r\n }\r\n // Layout the items using the computed box sizes.\r\n for (var i = 0, n = this._items.length; i < n; ++i) {\r\n // Fetch the item.\r\n var item = this._items[i];\r\n // Ignore hidden items.\r\n if (item.isHidden) {\r\n continue;\r\n }\r\n // Fetch the computed size for the widget.\r\n var size = this._sizers[i].size;\r\n // Update the widget geometry and advance the relevant edge.\r\n switch (this._direction) {\r\n case 'left-to-right':\r\n item.update(left + offset, top, size + extra, height);\r\n left += size + extra + this._spacing;\r\n break;\r\n case 'top-to-bottom':\r\n item.update(left, top + offset, width, size + extra);\r\n top += size + extra + this._spacing;\r\n break;\r\n case 'right-to-left':\r\n item.update(left - offset - size - extra, top, size + extra, height);\r\n left -= size + extra + this._spacing;\r\n break;\r\n case 'bottom-to-top':\r\n item.update(left, top - offset - size - extra, width, size + extra);\r\n top -= size + extra + this._spacing;\r\n break;\r\n default:\r\n throw 'unreachable';\r\n }\r\n }\r\n };\r\n return BoxLayout;\r\n}(panellayout_1.PanelLayout));\r\nexports.BoxLayout = BoxLayout;\r\n/**\r\n * The namespace for the `BoxLayout` class statics.\r\n */\r\n(function (BoxLayout) {\r\n /**\r\n * Get the box layout stretch factor for the given widget.\r\n *\r\n * @param widget - The widget of interest.\r\n *\r\n * @returns The box layout stretch factor for the widget.\r\n */\r\n function getStretch(widget) {\r\n return Private.stretchProperty.get(widget);\r\n }\r\n BoxLayout.getStretch = getStretch;\r\n /**\r\n * Set the box layout stretch factor for the given widget.\r\n *\r\n * @param widget - The widget of interest.\r\n *\r\n * @param value - The value for the stretch factor.\r\n */\r\n function setStretch(widget, value) {\r\n Private.stretchProperty.set(widget, value);\r\n }\r\n BoxLayout.setStretch = setStretch;\r\n /**\r\n * Get the box layout size basis for the given widget.\r\n *\r\n * @param widget - The widget of interest.\r\n *\r\n * @returns The box layout size basis for the widget.\r\n */\r\n function getSizeBasis(widget) {\r\n return Private.sizeBasisProperty.get(widget);\r\n }\r\n BoxLayout.getSizeBasis = getSizeBasis;\r\n /**\r\n * Set the box layout size basis for the given widget.\r\n *\r\n * @param widget - The widget of interest.\r\n *\r\n * @param value - The value for the size basis.\r\n */\r\n function setSizeBasis(widget, value) {\r\n Private.sizeBasisProperty.set(widget, value);\r\n }\r\n BoxLayout.setSizeBasis = setSizeBasis;\r\n})(BoxLayout = exports.BoxLayout || (exports.BoxLayout = {}));\r\nexports.BoxLayout = BoxLayout;\r\n/**\r\n * The namespace for the module implementation details.\r\n */\r\nvar Private;\r\n(function (Private) {\r\n /**\r\n * The property descriptor for a widget stretch factor.\r\n */\r\n Private.stretchProperty = new properties_1.AttachedProperty({\r\n name: 'stretch',\r\n create: function () { return 0; },\r\n coerce: function (owner, value) { return Math.max(0, Math.floor(value)); },\r\n changed: onChildSizingChanged\r\n });\r\n /**\r\n * The property descriptor for a widget size basis.\r\n */\r\n Private.sizeBasisProperty = new properties_1.AttachedProperty({\r\n name: 'sizeBasis',\r\n create: function () { return 0; },\r\n coerce: function (owner, value) { return Math.max(0, Math.floor(value)); },\r\n changed: onChildSizingChanged\r\n });\r\n /**\r\n * Test whether a direction has horizontal orientation.\r\n */\r\n function isHorizontal(dir) {\r\n return dir === 'left-to-right' || dir === 'right-to-left';\r\n }\r\n Private.isHorizontal = isHorizontal;\r\n /**\r\n * Clamp a spacing value to an integer >= 0.\r\n */\r\n function clampSpacing(value) {\r\n return Math.max(0, Math.floor(value));\r\n }\r\n Private.clampSpacing = clampSpacing;\r\n /**\r\n * The change handler for the attached sizing properties.\r\n */\r\n function onChildSizingChanged(child) {\r\n if (child.parent && child.parent.layout instanceof BoxLayout) {\r\n child.parent.fit();\r\n }\r\n }\r\n})(Private || (Private = {}));\r\n\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/*-----------------------------------------------------------------------------\r\n| Copyright (c) 2014-2017, PhosphorJS Contributors\r\n|\r\n| Distributed under the terms of the BSD 3-Clause License.\r\n|\r\n| The full license is in the file LICENSE, distributed with this software.\r\n|----------------------------------------------------------------------------*/\r\nvar algorithm_1 = __webpack_require__(0);\r\nvar domutils_1 = __webpack_require__(1);\r\nvar dragdrop_1 = __webpack_require__(13);\r\nvar messaging_1 = __webpack_require__(3);\r\nvar signaling_1 = __webpack_require__(4);\r\nvar virtualdom_1 = __webpack_require__(9);\r\nvar title_1 = __webpack_require__(19);\r\nvar widget_1 = __webpack_require__(2);\r\n/**\r\n * A widget which displays titles as a single row or column of tabs.\r\n *\r\n * #### Notes\r\n * If CSS transforms are used to rotate nodes for vertically oriented\r\n * text, then tab dragging will not work correctly. The `tabsMovable`\r\n * property should be set to `false` when rotating nodes from CSS.\r\n */\r\nvar TabBar = (function (_super) {\r\n __extends(TabBar, _super);\r\n /**\r\n * Construct a new tab bar.\r\n *\r\n * @param options - The options for initializing the tab bar.\r\n */\r\n function TabBar(options) {\r\n if (options === void 0) { options = {}; }\r\n var _this = _super.call(this, { node: Private.createNode() }) || this;\r\n _this._currentIndex = -1;\r\n _this._titles = [];\r\n _this._previousTitle = null;\r\n _this._dragData = null;\r\n _this._tabMoved = new signaling_1.Signal(_this);\r\n _this._currentChanged = new signaling_1.Signal(_this);\r\n _this._tabCloseRequested = new signaling_1.Signal(_this);\r\n _this._tabDetachRequested = new signaling_1.Signal(_this);\r\n _this._tabActivateRequested = new signaling_1.Signal(_this);\r\n _this.addClass('p-TabBar');\r\n _this.setFlag(widget_1.Widget.Flag.DisallowLayout);\r\n _this.tabsMovable = options.tabsMovable || false;\r\n _this.allowDeselect = options.allowDeselect || false;\r\n _this.insertBehavior = options.insertBehavior || 'select-tab-if-needed';\r\n _this.removeBehavior = options.removeBehavior || 'select-tab-after';\r\n _this.renderer = options.renderer || TabBar.defaultRenderer;\r\n _this._orientation = options.orientation || 'horizontal';\r\n _this.dataset['orientation'] = _this._orientation;\r\n return _this;\r\n }\r\n /**\r\n * Dispose of the resources held by the widget.\r\n */\r\n TabBar.prototype.dispose = function () {\r\n this._releaseMouse();\r\n this._titles.length = 0;\r\n this._previousTitle = null;\r\n _super.prototype.dispose.call(this);\r\n };\r\n Object.defineProperty(TabBar.prototype, \"currentChanged\", {\r\n /**\r\n * A signal emitted when the current tab is changed.\r\n *\r\n * #### Notes\r\n * This signal is emitted when the currently selected tab is changed\r\n * either through user or programmatic interaction.\r\n *\r\n * Notably, this signal is not emitted when the index of the current\r\n * tab changes due to tabs being inserted, removed, or moved. It is\r\n * only emitted when the actual current tab node is changed.\r\n */\r\n get: function () {\r\n return this._currentChanged;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(TabBar.prototype, \"tabMoved\", {\r\n /**\r\n * A signal emitted when a tab is moved by the user.\r\n *\r\n * #### Notes\r\n * This signal is emitted when a tab is moved by user interaction.\r\n *\r\n * This signal is not emitted when a tab is moved programmatically.\r\n */\r\n get: function () {\r\n return this._tabMoved;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(TabBar.prototype, \"tabActivateRequested\", {\r\n /**\r\n * A signal emitted when a tab is clicked by the user.\r\n *\r\n * #### Notes\r\n * If the clicked tab is not the current tab, the clicked tab will be\r\n * made current and the `currentChanged` signal will be emitted first.\r\n *\r\n * This signal is emitted even if the clicked tab is the current tab.\r\n */\r\n get: function () {\r\n return this._tabActivateRequested;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(TabBar.prototype, \"tabCloseRequested\", {\r\n /**\r\n * A signal emitted when a tab close icon is clicked.\r\n *\r\n * #### Notes\r\n * This signal is not emitted unless the tab title is `closable`.\r\n */\r\n get: function () {\r\n return this._tabCloseRequested;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(TabBar.prototype, \"tabDetachRequested\", {\r\n /**\r\n * A signal emitted when a tab is dragged beyond the detach threshold.\r\n *\r\n * #### Notes\r\n * This signal is emitted when the user drags a tab with the mouse,\r\n * and mouse is dragged beyond the detach threshold.\r\n *\r\n * The consumer of the signal should call `releaseMouse` and remove\r\n * the tab in order to complete the detach.\r\n *\r\n * This signal is only emitted once per drag cycle.\r\n */\r\n get: function () {\r\n return this._tabDetachRequested;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(TabBar.prototype, \"currentTitle\", {\r\n /**\r\n * Get the currently selected title.\r\n *\r\n * #### Notes\r\n * This will be `null` if no tab is selected.\r\n */\r\n get: function () {\r\n return this._titles[this._currentIndex] || null;\r\n },\r\n /**\r\n * Set the currently selected title.\r\n *\r\n * #### Notes\r\n * If the title does not exist, the title will be set to `null`.\r\n */\r\n set: function (value) {\r\n this.currentIndex = value ? this._titles.indexOf(value) : -1;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(TabBar.prototype, \"currentIndex\", {\r\n /**\r\n * Get the index of the currently selected tab.\r\n *\r\n * #### Notes\r\n * This will be `-1` if no tab is selected.\r\n */\r\n get: function () {\r\n return this._currentIndex;\r\n },\r\n /**\r\n * Set the index of the currently selected tab.\r\n *\r\n * #### Notes\r\n * If the value is out of range, the index will be set to `-1`.\r\n */\r\n set: function (value) {\r\n // Adjust for an out of range index.\r\n if (value < 0 || value >= this._titles.length) {\r\n value = -1;\r\n }\r\n // Bail early if the index will not change.\r\n if (this._currentIndex === value) {\r\n return;\r\n }\r\n // Look up the previous index and title.\r\n var pi = this._currentIndex;\r\n var pt = this._titles[pi] || null;\r\n // Look up the current index and title.\r\n var ci = value;\r\n var ct = this._titles[ci] || null;\r\n // Update the current index and previous title.\r\n this._currentIndex = ci;\r\n this._previousTitle = pt;\r\n // Schedule an update of the tabs.\r\n this.update();\r\n // Emit the current changed signal.\r\n this._currentChanged.emit({\r\n previousIndex: pi, previousTitle: pt,\r\n currentIndex: ci, currentTitle: ct\r\n });\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(TabBar.prototype, \"orientation\", {\r\n /**\r\n * Get the orientation of the tab bar.\r\n *\r\n * #### Notes\r\n * This controls whether the tabs are arranged in a row or column.\r\n */\r\n get: function () {\r\n return this._orientation;\r\n },\r\n /**\r\n * Set the orientation of the tab bar.\r\n *\r\n * #### Notes\r\n * This controls whether the tabs are arranged in a row or column.\r\n */\r\n set: function (value) {\r\n // Do nothing if the orientation does not change.\r\n if (this._orientation === value) {\r\n return;\r\n }\r\n // Release the mouse before making any changes.\r\n this._releaseMouse();\r\n // Toggle the orientation values.\r\n this._orientation = value;\r\n this.dataset['orientation'] = value;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(TabBar.prototype, \"titles\", {\r\n /**\r\n * A read-only array of the titles in the tab bar.\r\n */\r\n get: function () {\r\n return this._titles;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(TabBar.prototype, \"contentNode\", {\r\n /**\r\n * The tab bar content node.\r\n *\r\n * #### Notes\r\n * This is the node which holds the tab nodes.\r\n *\r\n * Modifying this node directly can lead to undefined behavior.\r\n */\r\n get: function () {\r\n return this.node.getElementsByClassName('p-TabBar-content')[0];\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n /**\r\n * Add a tab to the end of the tab bar.\r\n *\r\n * @param value - The title which holds the data for the tab,\r\n * or an options object to convert to a title.\r\n *\r\n * @returns The title object added to the tab bar.\r\n *\r\n * #### Notes\r\n * If the title is already added to the tab bar, it will be moved.\r\n */\r\n TabBar.prototype.addTab = function (value) {\r\n return this.insertTab(this._titles.length, value);\r\n };\r\n /**\r\n * Insert a tab into the tab bar at the specified index.\r\n *\r\n * @param index - The index at which to insert the tab.\r\n *\r\n * @param value - The title which holds the data for the tab,\r\n * or an options object to convert to a title.\r\n *\r\n * @returns The title object added to the tab bar.\r\n *\r\n * #### Notes\r\n * The index will be clamped to the bounds of the tabs.\r\n *\r\n * If the title is already added to the tab bar, it will be moved.\r\n */\r\n TabBar.prototype.insertTab = function (index, value) {\r\n // Release the mouse before making any changes.\r\n this._releaseMouse();\r\n // Coerce the value to a title.\r\n var title = Private.asTitle(value);\r\n // Look up the index of the title.\r\n var i = this._titles.indexOf(title);\r\n // Clamp the insert index to the array bounds.\r\n var j = Math.max(0, Math.min(index, this._titles.length));\r\n // If the title is not in the array, insert it.\r\n if (i === -1) {\r\n // Insert the title into the array.\r\n algorithm_1.ArrayExt.insert(this._titles, j, title);\r\n // Connect to the title changed signal.\r\n title.changed.connect(this._onTitleChanged, this);\r\n // Schedule an update of the tabs.\r\n this.update();\r\n // Adjust the current index for the insert.\r\n this._adjustCurrentForInsert(j, title);\r\n // Return the title added to the tab bar.\r\n return title;\r\n }\r\n // Otherwise, the title exists in the array and should be moved.\r\n // Adjust the index if the location is at the end of the array.\r\n if (j === this._titles.length) {\r\n j--;\r\n }\r\n // Bail if there is no effective move.\r\n if (i === j) {\r\n return title;\r\n }\r\n // Move the title to the new location.\r\n algorithm_1.ArrayExt.move(this._titles, i, j);\r\n // Schedule an update of the tabs.\r\n this.update();\r\n // Adjust the current index for the move.\r\n this._adjustCurrentForMove(i, j);\r\n // Return the title added to the tab bar.\r\n return title;\r\n };\r\n /**\r\n * Remove a tab from the tab bar.\r\n *\r\n * @param title - The title for the tab to remove.\r\n *\r\n * #### Notes\r\n * This is a no-op if the title is not in the tab bar.\r\n */\r\n TabBar.prototype.removeTab = function (title) {\r\n this.removeTabAt(this._titles.indexOf(title));\r\n };\r\n /**\r\n * Remove the tab at a given index from the tab bar.\r\n *\r\n * @param index - The index of the tab to remove.\r\n *\r\n * #### Notes\r\n * This is a no-op if the index is out of range.\r\n */\r\n TabBar.prototype.removeTabAt = function (index) {\r\n // Release the mouse before making any changes.\r\n this._releaseMouse();\r\n // Remove the title from the array.\r\n var title = algorithm_1.ArrayExt.removeAt(this._titles, index);\r\n // Bail if the index is out of range.\r\n if (!title) {\r\n return;\r\n }\r\n // Disconnect from the title changed signal.\r\n title.changed.disconnect(this._onTitleChanged, this);\r\n // Clear the previous title if it's being removed.\r\n if (title === this._previousTitle) {\r\n this._previousTitle = null;\r\n }\r\n // Schedule an update of the tabs.\r\n this.update();\r\n // Adjust the current index for the remove.\r\n this._adjustCurrentForRemove(index, title);\r\n };\r\n /**\r\n * Remove all tabs from the tab bar.\r\n */\r\n TabBar.prototype.clearTabs = function () {\r\n // Bail if there is nothing to remove.\r\n if (this._titles.length === 0) {\r\n return;\r\n }\r\n // Release the mouse before making any changes.\r\n this._releaseMouse();\r\n // Disconnect from the title changed signals.\r\n for (var _i = 0, _a = this._titles; _i < _a.length; _i++) {\r\n var title = _a[_i];\r\n title.changed.disconnect(this._onTitleChanged, this);\r\n }\r\n // Get the current index and title.\r\n var pi = this.currentIndex;\r\n var pt = this.currentTitle;\r\n // Reset the current index and previous title.\r\n this._currentIndex = -1;\r\n this._previousTitle = null;\r\n // Clear the title array.\r\n this._titles.length = 0;\r\n // Schedule an update of the tabs.\r\n this.update();\r\n // If no tab was selected, there's nothing else to do.\r\n if (pi === -1) {\r\n return;\r\n }\r\n // Emit the current changed signal.\r\n this._currentChanged.emit({\r\n previousIndex: pi, previousTitle: pt,\r\n currentIndex: -1, currentTitle: null\r\n });\r\n };\r\n /**\r\n * Release the mouse and restore the non-dragged tab positions.\r\n *\r\n * #### Notes\r\n * This will cause the tab bar to stop handling mouse events and to\r\n * restore the tabs to their non-dragged positions.\r\n */\r\n TabBar.prototype.releaseMouse = function () {\r\n this._releaseMouse();\r\n };\r\n /**\r\n * Handle the DOM events for the tab bar.\r\n *\r\n * @param event - The DOM event sent to the tab bar.\r\n *\r\n * #### Notes\r\n * This method implements the DOM `EventListener` interface and is\r\n * called in response to events on the tab bar's DOM node.\r\n *\r\n * This should not be called directly by user code.\r\n */\r\n TabBar.prototype.handleEvent = function (event) {\r\n switch (event.type) {\r\n case 'mousedown':\r\n this._evtMouseDown(event);\r\n break;\r\n case 'mousemove':\r\n this._evtMouseMove(event);\r\n break;\r\n case 'mouseup':\r\n this._evtMouseUp(event);\r\n break;\r\n case 'keydown':\r\n this._evtKeyDown(event);\r\n break;\r\n case 'contextmenu':\r\n event.preventDefault();\r\n event.stopPropagation();\r\n break;\r\n }\r\n };\r\n /**\r\n * A message handler invoked on a `'before-attach'` message.\r\n */\r\n TabBar.prototype.onBeforeAttach = function (msg) {\r\n this.node.addEventListener('mousedown', this);\r\n };\r\n /**\r\n * A message handler invoked on an `'after-detach'` message.\r\n */\r\n TabBar.prototype.onAfterDetach = function (msg) {\r\n this.node.removeEventListener('mousedown', this);\r\n this._releaseMouse();\r\n };\r\n /**\r\n * A message handler invoked on an `'update-request'` message.\r\n */\r\n TabBar.prototype.onUpdateRequest = function (msg) {\r\n var titles = this._titles;\r\n var renderer = this.renderer;\r\n var currentTitle = this.currentTitle;\r\n var content = new Array(titles.length);\r\n for (var i = 0, n = titles.length; i < n; ++i) {\r\n var title = titles[i];\r\n var current = title === currentTitle;\r\n var zIndex = current ? n : n - i - 1;\r\n content[i] = renderer.renderTab({ title: title, current: current, zIndex: zIndex });\r\n }\r\n virtualdom_1.VirtualDOM.render(content, this.contentNode);\r\n };\r\n /**\r\n * Handle the `'keydown'` event for the tab bar.\r\n */\r\n TabBar.prototype._evtKeyDown = function (event) {\r\n // Stop all input events during drag.\r\n event.preventDefault();\r\n event.stopPropagation();\r\n // Release the mouse if `Escape` is pressed.\r\n if (event.keyCode === 27) {\r\n this._releaseMouse();\r\n }\r\n };\r\n /**\r\n * Handle the `'mousedown'` event for the tab bar.\r\n */\r\n TabBar.prototype._evtMouseDown = function (event) {\r\n // Do nothing if it's not a left or middle mouse press.\r\n if (event.button !== 0 && event.button !== 1) {\r\n return;\r\n }\r\n // Do nothing if a drag is in progress.\r\n if (this._dragData) {\r\n return;\r\n }\r\n // Lookup the tab nodes.\r\n var tabs = this.contentNode.children;\r\n // Find the index of the pressed tab.\r\n var index = algorithm_1.ArrayExt.findFirstIndex(tabs, function (tab) {\r\n return domutils_1.ElementExt.hitTest(tab, event.clientX, event.clientY);\r\n });\r\n // Do nothing if the press is not on a tab.\r\n if (index === -1) {\r\n return;\r\n }\r\n // Pressing on a tab stops the event propagation.\r\n event.preventDefault();\r\n event.stopPropagation();\r\n // Initialize the non-measured parts of the drag data.\r\n this._dragData = {\r\n tab: tabs[index],\r\n index: index,\r\n pressX: event.clientX,\r\n pressY: event.clientY,\r\n tabPos: -1,\r\n tabSize: -1,\r\n tabPressPos: -1,\r\n targetIndex: -1,\r\n tabLayout: null,\r\n contentRect: null,\r\n override: null,\r\n dragActive: false,\r\n dragAborted: false,\r\n detachRequested: false\r\n };\r\n // Add the document mouse up listener.\r\n document.addEventListener('mouseup', this, true);\r\n // Do nothing else if the middle button is clicked.\r\n if (event.button === 1) {\r\n return;\r\n }\r\n // Do nothing else if the close icon is clicked.\r\n var icon = tabs[index].querySelector(this.renderer.closeIconSelector);\r\n if (icon && icon.contains(event.target)) {\r\n return;\r\n }\r\n // Add the extra listeners if the tabs are movable.\r\n if (this.tabsMovable) {\r\n document.addEventListener('mousemove', this, true);\r\n document.addEventListener('keydown', this, true);\r\n document.addEventListener('contextmenu', this, true);\r\n }\r\n // Update the current index as appropriate.\r\n if (this.allowDeselect && this.currentIndex === index) {\r\n this.currentIndex = -1;\r\n }\r\n else {\r\n this.currentIndex = index;\r\n }\r\n // Do nothing else if there is no current tab.\r\n if (this.currentIndex === -1) {\r\n return;\r\n }\r\n // Emit the tab activate request signal.\r\n this._tabActivateRequested.emit({\r\n index: this.currentIndex, title: this.currentTitle\r\n });\r\n };\r\n /**\r\n * Handle the `'mousemove'` event for the tab bar.\r\n */\r\n TabBar.prototype._evtMouseMove = function (event) {\r\n // Do nothing if no drag is in progress.\r\n var data = this._dragData;\r\n if (!data) {\r\n return;\r\n }\r\n // Suppress the event during a drag.\r\n event.preventDefault();\r\n event.stopPropagation();\r\n // Lookup the tab nodes.\r\n var tabs = this.contentNode.children;\r\n // Bail early if the drag threshold has not been met.\r\n if (!data.dragActive && !Private.dragExceeded(data, event)) {\r\n return;\r\n }\r\n // Activate the drag if necessary.\r\n if (!data.dragActive) {\r\n // Fill in the rest of the drag data measurements.\r\n var tabRect = data.tab.getBoundingClientRect();\r\n if (this._orientation === 'horizontal') {\r\n data.tabPos = data.tab.offsetLeft;\r\n data.tabSize = tabRect.width;\r\n data.tabPressPos = data.pressX - tabRect.left;\r\n }\r\n else {\r\n data.tabPos = data.tab.offsetTop;\r\n data.tabSize = tabRect.height;\r\n data.tabPressPos = data.pressY - tabRect.top;\r\n }\r\n data.tabLayout = Private.snapTabLayout(tabs, this._orientation);\r\n data.contentRect = this.contentNode.getBoundingClientRect();\r\n data.override = dragdrop_1.Drag.overrideCursor('default');\r\n // Add the dragging style classes.\r\n data.tab.classList.add('p-mod-dragging');\r\n this.addClass('p-mod-dragging');\r\n // Mark the drag as active.\r\n data.dragActive = true;\r\n }\r\n // Emit the detach requested signal if the threshold is exceeded.\r\n if (!data.detachRequested && Private.detachExceeded(data, event)) {\r\n // Only emit the signal once per drag cycle.\r\n data.detachRequested = true;\r\n // Setup the arguments for the signal.\r\n var index = data.index;\r\n var clientX = event.clientX;\r\n var clientY = event.clientY;\r\n var tab = tabs[index];\r\n var title = this._titles[index];\r\n // Emit the tab detach requested signal.\r\n this._tabDetachRequested.emit({ index: index, title: title, tab: tab, clientX: clientX, clientY: clientY });\r\n // Bail if the signal handler aborted the drag.\r\n if (data.dragAborted) {\r\n return;\r\n }\r\n }\r\n // Update the positions of the tabs.\r\n Private.layoutTabs(tabs, data, event, this._orientation);\r\n };\r\n /**\r\n * Handle the `'mouseup'` event for the document.\r\n */\r\n TabBar.prototype._evtMouseUp = function (event) {\r\n var _this = this;\r\n // Do nothing if it's not a left or middle mouse release.\r\n if (event.button !== 0 && event.button !== 1) {\r\n return;\r\n }\r\n // Do nothing if no drag is in progress.\r\n var data = this._dragData;\r\n if (!data) {\r\n return;\r\n }\r\n // Stop the event propagation.\r\n event.preventDefault();\r\n event.stopPropagation();\r\n // Remove the extra mouse event listeners.\r\n document.removeEventListener('mousemove', this, true);\r\n document.removeEventListener('mouseup', this, true);\r\n document.removeEventListener('keydown', this, true);\r\n document.removeEventListener('contextmenu', this, true);\r\n // Handle a release when the drag is not active.\r\n if (!data.dragActive) {\r\n // Clear the drag data.\r\n this._dragData = null;\r\n // Lookup the tab nodes.\r\n var tabs = this.contentNode.children;\r\n // Find the index of the released tab.\r\n var index = algorithm_1.ArrayExt.findFirstIndex(tabs, function (tab) {\r\n return domutils_1.ElementExt.hitTest(tab, event.clientX, event.clientY);\r\n });\r\n // Do nothing if the release is not on the original pressed tab.\r\n if (index !== data.index) {\r\n return;\r\n }\r\n // Ignore the release if the title is not closable.\r\n var title = this._titles[index];\r\n if (!title.closable) {\r\n return;\r\n }\r\n // Emit the close requested signal if the middle button is released.\r\n if (event.button === 1) {\r\n this._tabCloseRequested.emit({ index: index, title: title });\r\n return;\r\n }\r\n // Emit the close requested signal if the close icon was released.\r\n var icon = tabs[index].querySelector(this.renderer.closeIconSelector);\r\n if (icon && icon.contains(event.target)) {\r\n this._tabCloseRequested.emit({ index: index, title: title });\r\n return;\r\n }\r\n // Otherwise, there is nothing left to do.\r\n return;\r\n }\r\n // Do nothing if the left button is not released.\r\n if (event.button !== 0) {\r\n return;\r\n }\r\n // Position the tab at its final resting position.\r\n Private.finalizeTabPosition(data, this._orientation);\r\n // Remove the dragging class from the tab so it can be transitioned.\r\n data.tab.classList.remove('p-mod-dragging');\r\n // Parse the transition duration for releasing the tab.\r\n var duration = Private.parseTransitionDuration(data.tab);\r\n // Complete the release on a timer to allow the tab to transition.\r\n setTimeout(function () {\r\n // Do nothing if the drag has been aborted.\r\n if (data.dragAborted) {\r\n return;\r\n }\r\n // Clear the drag data reference.\r\n _this._dragData = null;\r\n // Reset the positions of the tabs.\r\n Private.resetTabPositions(_this.contentNode.children, _this._orientation);\r\n // Clear the cursor grab.\r\n data.override.dispose();\r\n // Remove the remaining dragging style.\r\n _this.removeClass('p-mod-dragging');\r\n // If the tab was not moved, there is nothing else to do.\r\n var i = data.index;\r\n var j = data.targetIndex;\r\n if (j === -1 || i === j) {\r\n return;\r\n }\r\n // Move the title to the new locations.\r\n algorithm_1.ArrayExt.move(_this._titles, i, j);\r\n // Adjust the current index for the move.\r\n _this._adjustCurrentForMove(i, j);\r\n // Emit the tab moved signal.\r\n _this._tabMoved.emit({\r\n fromIndex: i, toIndex: j, title: _this._titles[j]\r\n });\r\n // Update the tabs immediately to prevent flicker.\r\n messaging_1.MessageLoop.sendMessage(_this, widget_1.Widget.Msg.UpdateRequest);\r\n }, duration);\r\n };\r\n /**\r\n * Release the mouse and restore the non-dragged tab positions.\r\n */\r\n TabBar.prototype._releaseMouse = function () {\r\n // Do nothing if no drag is in progress.\r\n var data = this._dragData;\r\n if (!data) {\r\n return;\r\n }\r\n // Clear the drag data reference.\r\n this._dragData = null;\r\n // Remove the extra mouse listeners.\r\n document.removeEventListener('mousemove', this, true);\r\n document.removeEventListener('mouseup', this, true);\r\n document.removeEventListener('keydown', this, true);\r\n document.removeEventListener('contextmenu', this, true);\r\n // Indicate the drag has been aborted. This allows the mouse\r\n // event handlers to return early when the drag is canceled.\r\n data.dragAborted = true;\r\n // If the drag is not active, there's nothing more to do.\r\n if (!data.dragActive) {\r\n return;\r\n }\r\n // Reset the tabs to their non-dragged positions.\r\n Private.resetTabPositions(this.contentNode.children, this._orientation);\r\n // Clear the cursor override.\r\n data.override.dispose();\r\n // Clear the dragging style classes.\r\n data.tab.classList.remove('p-mod-dragging');\r\n this.removeClass('p-mod-dragging');\r\n };\r\n /**\r\n * Adjust the current index for a tab insert operation.\r\n *\r\n * This method accounts for the tab bar's insertion behavior when\r\n * adjusting the current index and emitting the changed signal.\r\n */\r\n TabBar.prototype._adjustCurrentForInsert = function (i, title) {\r\n // Lookup commonly used variables.\r\n var ct = this.currentTitle;\r\n var ci = this._currentIndex;\r\n var bh = this.insertBehavior;\r\n // Handle the behavior where the new tab is always selected,\r\n // or the behavior where the new tab is selected if needed.\r\n if (bh === 'select-tab' || (bh === 'select-tab-if-needed' && ci === -1)) {\r\n this._currentIndex = i;\r\n this._previousTitle = ct;\r\n this._currentChanged.emit({\r\n previousIndex: ci, previousTitle: ct,\r\n currentIndex: i, currentTitle: title\r\n });\r\n return;\r\n }\r\n // Otherwise, silently adjust the current index if needed.\r\n if (ci >= i) {\r\n this._currentIndex++;\r\n }\r\n };\r\n /**\r\n * Adjust the current index for a tab move operation.\r\n *\r\n * This method will not cause the actual current tab to change.\r\n * It silently adjusts the index to account for the given move.\r\n */\r\n TabBar.prototype._adjustCurrentForMove = function (i, j) {\r\n if (this._currentIndex === i) {\r\n this._currentIndex = j;\r\n }\r\n else if (this._currentIndex < i && this._currentIndex >= j) {\r\n this._currentIndex++;\r\n }\r\n else if (this._currentIndex > i && this._currentIndex <= j) {\r\n this._currentIndex--;\r\n }\r\n };\r\n /**\r\n * Adjust the current index for a tab remove operation.\r\n *\r\n * This method accounts for the tab bar's remove behavior when\r\n * adjusting the current index and emitting the changed signal.\r\n */\r\n TabBar.prototype._adjustCurrentForRemove = function (i, title) {\r\n // Lookup commonly used variables.\r\n var ci = this._currentIndex;\r\n var bh = this.removeBehavior;\r\n // Silently adjust the index if the current tab is not removed.\r\n if (ci !== i) {\r\n if (ci > i) {\r\n this._currentIndex--;\r\n }\r\n return;\r\n }\r\n // No tab gets selected if the tab bar is empty.\r\n if (this._titles.length === 0) {\r\n this._currentIndex = -1;\r\n this._currentChanged.emit({\r\n previousIndex: i, previousTitle: title,\r\n currentIndex: -1, currentTitle: null\r\n });\r\n return;\r\n }\r\n // Handle behavior where the next sibling tab is selected.\r\n if (bh === 'select-tab-after') {\r\n this._currentIndex = Math.min(i, this._titles.length - 1);\r\n this._currentChanged.emit({\r\n previousIndex: i, previousTitle: title,\r\n currentIndex: this._currentIndex, currentTitle: this.currentTitle\r\n });\r\n return;\r\n }\r\n // Handle behavior where the previous sibling tab is selected.\r\n if (bh === 'select-tab-before') {\r\n this._currentIndex = Math.max(0, i - 1);\r\n this._currentChanged.emit({\r\n previousIndex: i, previousTitle: title,\r\n currentIndex: this._currentIndex, currentTitle: this.currentTitle\r\n });\r\n return;\r\n }\r\n // Handle behavior where the previous history tab is selected.\r\n if (bh === 'select-previous-tab') {\r\n if (this._previousTitle) {\r\n this._currentIndex = this._titles.indexOf(this._previousTitle);\r\n this._previousTitle = null;\r\n }\r\n else {\r\n this._currentIndex = Math.min(i, this._titles.length - 1);\r\n }\r\n this._currentChanged.emit({\r\n previousIndex: i, previousTitle: title,\r\n currentIndex: this._currentIndex, currentTitle: this.currentTitle\r\n });\r\n return;\r\n }\r\n // Otherwise, no tab gets selected.\r\n this._currentIndex = -1;\r\n this._currentChanged.emit({\r\n previousIndex: i, previousTitle: title,\r\n currentIndex: -1, currentTitle: null\r\n });\r\n };\r\n /**\r\n * Handle the `changed` signal of a title object.\r\n */\r\n TabBar.prototype._onTitleChanged = function (sender) {\r\n this.update();\r\n };\r\n return TabBar;\r\n}(widget_1.Widget));\r\nexports.TabBar = TabBar;\r\n/**\r\n * The namespace for the `TabBar` class statics.\r\n */\r\n(function (TabBar) {\r\n /**\r\n * The default implementation of `IRenderer`.\r\n *\r\n * #### Notes\r\n * Subclasses are free to reimplement rendering methods as needed.\r\n */\r\n var Renderer = (function () {\r\n /**\r\n * Construct a new renderer.\r\n */\r\n function Renderer() {\r\n /**\r\n * A selector which matches the close icon node in a tab.\r\n */\r\n this.closeIconSelector = '.p-TabBar-tabCloseIcon';\r\n this._tabID = 0;\r\n this._tabKeys = new WeakMap();\r\n }\r\n /**\r\n * Render the virtual element for a tab.\r\n *\r\n * @param data - The data to use for rendering the tab.\r\n *\r\n * @returns A virtual element representing the tab.\r\n */\r\n Renderer.prototype.renderTab = function (data) {\r\n var title = data.title.caption;\r\n var key = this.createTabKey(data);\r\n var style = this.createTabStyle(data);\r\n var className = this.createTabClass(data);\r\n var dataset = this.createTabDataset(data);\r\n return (virtualdom_1.h.li({ key: key, className: className, title: title, style: style, dataset: dataset }, this.renderIcon(data), this.renderLabel(data), this.renderCloseIcon(data)));\r\n };\r\n /**\r\n * Render the icon element for a tab.\r\n *\r\n * @param data - The data to use for rendering the tab.\r\n *\r\n * @returns A virtual element representing the tab icon.\r\n */\r\n Renderer.prototype.renderIcon = function (data) {\r\n var className = this.createIconClass(data);\r\n return virtualdom_1.h.div({ className: className }, data.title.iconLabel);\r\n };\r\n /**\r\n * Render the label element for a tab.\r\n *\r\n * @param data - The data to use for rendering the tab.\r\n *\r\n * @returns A virtual element representing the tab label.\r\n */\r\n Renderer.prototype.renderLabel = function (data) {\r\n return virtualdom_1.h.div({ className: 'p-TabBar-tabLabel' }, data.title.label);\r\n };\r\n /**\r\n * Render the close icon element for a tab.\r\n *\r\n * @param data - The data to use for rendering the tab.\r\n *\r\n * @returns A virtual element representing the tab close icon.\r\n */\r\n Renderer.prototype.renderCloseIcon = function (data) {\r\n return virtualdom_1.h.div({ className: 'p-TabBar-tabCloseIcon' });\r\n };\r\n /**\r\n * Create a unique render key for the tab.\r\n *\r\n * @param data - The data to use for the tab.\r\n *\r\n * @returns The unique render key for the tab.\r\n *\r\n * #### Notes\r\n * This method caches the key against the tab title the first time\r\n * the key is generated. This enables efficient rendering of moved\r\n * tabs and avoids subtle hover style artifacts.\r\n */\r\n Renderer.prototype.createTabKey = function (data) {\r\n var key = this._tabKeys.get(data.title);\r\n if (key === undefined) {\r\n key = \"tab-key-\" + this._tabID++;\r\n this._tabKeys.set(data.title, key);\r\n }\r\n return key;\r\n };\r\n /**\r\n * Create the inline style object for a tab.\r\n *\r\n * @param data - The data to use for the tab.\r\n *\r\n * @returns The inline style data for the tab.\r\n */\r\n Renderer.prototype.createTabStyle = function (data) {\r\n return { zIndex: \"\" + data.zIndex };\r\n };\r\n /**\r\n * Create the class name for the tab.\r\n *\r\n * @param data - The data to use for the tab.\r\n *\r\n * @returns The full class name for the tab.\r\n */\r\n Renderer.prototype.createTabClass = function (data) {\r\n var name = 'p-TabBar-tab';\r\n if (data.title.className) {\r\n name += \" \" + data.title.className;\r\n }\r\n if (data.title.closable) {\r\n name += ' p-mod-closable';\r\n }\r\n if (data.current) {\r\n name += ' p-mod-current';\r\n }\r\n return name;\r\n };\r\n /**\r\n * Create the dataset for a tab.\r\n *\r\n * @param data - The data to use for the tab.\r\n *\r\n * @returns The dataset for the tab.\r\n */\r\n Renderer.prototype.createTabDataset = function (data) {\r\n return data.title.dataset;\r\n };\r\n /**\r\n * Create the class name for the tab icon.\r\n *\r\n * @param data - The data to use for the tab.\r\n *\r\n * @returns The full class name for the tab icon.\r\n */\r\n Renderer.prototype.createIconClass = function (data) {\r\n var name = 'p-TabBar-tabIcon';\r\n var extra = data.title.iconClass;\r\n return extra ? name + \" \" + extra : name;\r\n };\r\n return Renderer;\r\n }());\r\n TabBar.Renderer = Renderer;\r\n /**\r\n * The default `Renderer` instance.\r\n */\r\n TabBar.defaultRenderer = new Renderer();\r\n})(TabBar = exports.TabBar || (exports.TabBar = {}));\r\nexports.TabBar = TabBar;\r\n/**\r\n * The namespace for the module implementation details.\r\n */\r\nvar Private;\r\n(function (Private) {\r\n /**\r\n * The start drag distance threshold.\r\n */\r\n Private.DRAG_THRESHOLD = 5;\r\n /**\r\n * The detach distance threshold.\r\n */\r\n Private.DETACH_THRESHOLD = 20;\r\n /**\r\n * Create the DOM node for a tab bar.\r\n */\r\n function createNode() {\r\n var node = document.createElement('div');\r\n var content = document.createElement('ul');\r\n content.className = 'p-TabBar-content';\r\n node.appendChild(content);\r\n return node;\r\n }\r\n Private.createNode = createNode;\r\n /**\r\n * Coerce a title or options into a real title.\r\n */\r\n function asTitle(value) {\r\n return value instanceof title_1.Title ? value : new title_1.Title(value);\r\n }\r\n Private.asTitle = asTitle;\r\n /**\r\n * Parse the transition duration for a tab node.\r\n */\r\n function parseTransitionDuration(tab) {\r\n var style = window.getComputedStyle(tab);\r\n return 1000 * (parseFloat(style.transitionDuration) || 0);\r\n }\r\n Private.parseTransitionDuration = parseTransitionDuration;\r\n /**\r\n * Get a snapshot of the current tab layout values.\r\n */\r\n function snapTabLayout(tabs, orientation) {\r\n var layout = new Array(tabs.length);\r\n for (var i = 0, n = tabs.length; i < n; ++i) {\r\n var node = tabs[i];\r\n var style = window.getComputedStyle(node);\r\n if (orientation === 'horizontal') {\r\n layout[i] = {\r\n pos: node.offsetLeft,\r\n size: node.offsetWidth,\r\n margin: parseFloat(style.marginLeft) || 0\r\n };\r\n }\r\n else {\r\n layout[i] = {\r\n pos: node.offsetTop,\r\n size: node.offsetHeight,\r\n margin: parseFloat(style.marginTop) || 0\r\n };\r\n }\r\n }\r\n return layout;\r\n }\r\n Private.snapTabLayout = snapTabLayout;\r\n /**\r\n * Test if the event exceeds the drag threshold.\r\n */\r\n function dragExceeded(data, event) {\r\n var dx = Math.abs(event.clientX - data.pressX);\r\n var dy = Math.abs(event.clientY - data.pressY);\r\n return dx >= Private.DRAG_THRESHOLD || dy >= Private.DRAG_THRESHOLD;\r\n }\r\n Private.dragExceeded = dragExceeded;\r\n /**\r\n * Test if the event exceeds the drag detach threshold.\r\n */\r\n function detachExceeded(data, event) {\r\n var rect = data.contentRect;\r\n return ((event.clientX < rect.left - Private.DETACH_THRESHOLD) ||\r\n (event.clientX >= rect.right + Private.DETACH_THRESHOLD) ||\r\n (event.clientY < rect.top - Private.DETACH_THRESHOLD) ||\r\n (event.clientY >= rect.bottom + Private.DETACH_THRESHOLD));\r\n }\r\n Private.detachExceeded = detachExceeded;\r\n /**\r\n * Update the relative tab positions and computed target index.\r\n */\r\n function layoutTabs(tabs, data, event, orientation) {\r\n // Compute the orientation-sensitive values.\r\n var pressPos;\r\n var localPos;\r\n var clientPos;\r\n var clientSize;\r\n if (orientation === 'horizontal') {\r\n pressPos = data.pressX;\r\n localPos = event.clientX - data.contentRect.left;\r\n clientPos = event.clientX;\r\n clientSize = data.contentRect.width;\r\n }\r\n else {\r\n pressPos = data.pressY;\r\n localPos = event.clientY - data.contentRect.top;\r\n clientPos = event.clientY;\r\n clientSize = data.contentRect.height;\r\n }\r\n // Compute the target data.\r\n var targetIndex = data.index;\r\n var targetPos = localPos - data.tabPressPos;\r\n var targetEnd = targetPos + data.tabSize;\r\n // Update the relative tab positions.\r\n for (var i = 0, n = tabs.length; i < n; ++i) {\r\n var pxPos = void 0;\r\n var layout = data.tabLayout[i];\r\n var threshold = layout.pos + (layout.size >> 1);\r\n if (i < data.index && targetPos < threshold) {\r\n pxPos = data.tabSize + data.tabLayout[i + 1].margin + \"px\";\r\n targetIndex = Math.min(targetIndex, i);\r\n }\r\n else if (i > data.index && targetEnd > threshold) {\r\n pxPos = -data.tabSize - layout.margin + \"px\";\r\n targetIndex = Math.max(targetIndex, i);\r\n }\r\n else if (i === data.index) {\r\n var ideal = clientPos - pressPos;\r\n var limit = clientSize - (data.tabPos + data.tabSize);\r\n pxPos = Math.max(-data.tabPos, Math.min(ideal, limit)) + \"px\";\r\n }\r\n else {\r\n pxPos = '';\r\n }\r\n if (orientation === 'horizontal') {\r\n tabs[i].style.left = pxPos;\r\n }\r\n else {\r\n tabs[i].style.top = pxPos;\r\n }\r\n }\r\n // Update the computed target index.\r\n data.targetIndex = targetIndex;\r\n }\r\n Private.layoutTabs = layoutTabs;\r\n /**\r\n * Position the drag tab at its final resting relative position.\r\n */\r\n function finalizeTabPosition(data, orientation) {\r\n // Compute the orientation-sensitive client size.\r\n var clientSize;\r\n if (orientation === 'horizontal') {\r\n clientSize = data.contentRect.width;\r\n }\r\n else {\r\n clientSize = data.contentRect.height;\r\n }\r\n // Compute the ideal final tab position.\r\n var ideal;\r\n if (data.targetIndex === data.index) {\r\n ideal = 0;\r\n }\r\n else if (data.targetIndex > data.index) {\r\n var tgt = data.tabLayout[data.targetIndex];\r\n ideal = tgt.pos + tgt.size - data.tabSize - data.tabPos;\r\n }\r\n else {\r\n var tgt = data.tabLayout[data.targetIndex];\r\n ideal = tgt.pos - data.tabPos;\r\n }\r\n // Compute the tab position limit.\r\n var limit = clientSize - (data.tabPos + data.tabSize);\r\n var final = Math.max(-data.tabPos, Math.min(ideal, limit));\r\n // Set the final orientation-sensitive position.\r\n if (orientation === 'horizontal') {\r\n data.tab.style.left = final + \"px\";\r\n }\r\n else {\r\n data.tab.style.top = final + \"px\";\r\n }\r\n }\r\n Private.finalizeTabPosition = finalizeTabPosition;\r\n /**\r\n * Reset the relative positions of the given tabs.\r\n */\r\n function resetTabPositions(tabs, orientation) {\r\n algorithm_1.each(tabs, function (tab) {\r\n if (orientation === 'horizontal') {\r\n tab.style.left = '';\r\n }\r\n else {\r\n tab.style.top = '';\r\n }\r\n });\r\n }\r\n Private.resetTabPositions = resetTabPositions;\r\n})(Private || (Private = {}));\r\n\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/*-----------------------------------------------------------------------------\r\n| Copyright (c) 2014-2017, PhosphorJS Contributors\r\n|\r\n| Distributed under the terms of the BSD 3-Clause License.\r\n|\r\n| The full license is in the file LICENSE, distributed with this software.\r\n|----------------------------------------------------------------------------*/\r\nvar signaling_1 = __webpack_require__(4);\r\n/**\r\n * An object which holds data related to an object's title.\r\n *\r\n * #### Notes\r\n * A title object is intended to hold the data necessary to display a\r\n * header for a particular object. A common example is the `TabPanel`,\r\n * which uses the widget title to populate the tab for a child widget.\r\n */\r\nvar Title = (function () {\r\n /**\r\n * Construct a new title.\r\n *\r\n * @param options - The options for initializing the title.\r\n */\r\n function Title(options) {\r\n this._label = '';\r\n this._caption = '';\r\n this._mnemonic = -1;\r\n this._iconClass = '';\r\n this._iconLabel = '';\r\n this._className = '';\r\n this._closable = false;\r\n this._changed = new signaling_1.Signal(this);\r\n this.owner = options.owner;\r\n if (options.label !== undefined) {\r\n this._label = options.label;\r\n }\r\n if (options.mnemonic !== undefined) {\r\n this._mnemonic = options.mnemonic;\r\n }\r\n if (options.icon !== undefined) {\r\n this._iconClass = options.icon;\r\n }\r\n if (options.iconClass !== undefined) {\r\n this._iconClass = options.iconClass;\r\n }\r\n if (options.iconLabel !== undefined) {\r\n this._iconLabel = options.iconLabel;\r\n }\r\n if (options.caption !== undefined) {\r\n this._caption = options.caption;\r\n }\r\n if (options.className !== undefined) {\r\n this._className = options.className;\r\n }\r\n if (options.closable !== undefined) {\r\n this._closable = options.closable;\r\n }\r\n this._dataset = options.dataset || {};\r\n }\r\n Object.defineProperty(Title.prototype, \"changed\", {\r\n /**\r\n * A signal emitted when the state of the title changes.\r\n */\r\n get: function () {\r\n return this._changed;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(Title.prototype, \"label\", {\r\n /**\r\n * Get the label for the title.\r\n *\r\n * #### Notes\r\n * The default value is an empty string.\r\n */\r\n get: function () {\r\n return this._label;\r\n },\r\n /**\r\n * Set the label for the title.\r\n */\r\n set: function (value) {\r\n if (this._label === value) {\r\n return;\r\n }\r\n this._label = value;\r\n this._changed.emit(undefined);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(Title.prototype, \"mnemonic\", {\r\n /**\r\n * Get the mnemonic index for the title.\r\n *\r\n * #### Notes\r\n * The default value is `-1`.\r\n */\r\n get: function () {\r\n return this._mnemonic;\r\n },\r\n /**\r\n * Set the mnemonic index for the title.\r\n */\r\n set: function (value) {\r\n if (this._mnemonic === value) {\r\n return;\r\n }\r\n this._mnemonic = value;\r\n this._changed.emit(undefined);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(Title.prototype, \"icon\", {\r\n /**\r\n * @deprecated Use `iconClass` instead.\r\n */\r\n get: function () {\r\n return this.iconClass;\r\n },\r\n /**\r\n * @deprecated Use `iconClass` instead.\r\n */\r\n set: function (value) {\r\n this.iconClass = value;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(Title.prototype, \"iconClass\", {\r\n /**\r\n * Get the icon class name for the title.\r\n *\r\n * #### Notes\r\n * The default value is an empty string.\r\n */\r\n get: function () {\r\n return this._iconClass;\r\n },\r\n /**\r\n * Set the icon class name for the title.\r\n *\r\n * #### Notes\r\n * Multiple class names can be separated with whitespace.\r\n */\r\n set: function (value) {\r\n if (this._iconClass === value) {\r\n return;\r\n }\r\n this._iconClass = value;\r\n this._changed.emit(undefined);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(Title.prototype, \"iconLabel\", {\r\n /**\r\n * Get the icon label for the title.\r\n *\r\n * #### Notes\r\n * The default value is an empty string.\r\n */\r\n get: function () {\r\n return this._iconLabel;\r\n },\r\n /**\r\n * Set the icon label for the title.\r\n *\r\n * #### Notes\r\n * Multiple class names can be separated with whitespace.\r\n */\r\n set: function (value) {\r\n if (this._iconLabel === value) {\r\n return;\r\n }\r\n this._iconLabel = value;\r\n this._changed.emit(undefined);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(Title.prototype, \"caption\", {\r\n /**\r\n * Get the caption for the title.\r\n *\r\n * #### Notes\r\n * The default value is an empty string.\r\n */\r\n get: function () {\r\n return this._caption;\r\n },\r\n /**\r\n * Set the caption for the title.\r\n */\r\n set: function (value) {\r\n if (this._caption === value) {\r\n return;\r\n }\r\n this._caption = value;\r\n this._changed.emit(undefined);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(Title.prototype, \"className\", {\r\n /**\r\n * Get the extra class name for the title.\r\n *\r\n * #### Notes\r\n * The default value is an empty string.\r\n */\r\n get: function () {\r\n return this._className;\r\n },\r\n /**\r\n * Set the extra class name for the title.\r\n *\r\n * #### Notes\r\n * Multiple class names can be separated with whitespace.\r\n */\r\n set: function (value) {\r\n if (this._className === value) {\r\n return;\r\n }\r\n this._className = value;\r\n this._changed.emit(undefined);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(Title.prototype, \"closable\", {\r\n /**\r\n * Get the closable state for the title.\r\n *\r\n * #### Notes\r\n * The default value is `false`.\r\n */\r\n get: function () {\r\n return this._closable;\r\n },\r\n /**\r\n * Set the closable state for the title.\r\n *\r\n * #### Notes\r\n * This controls the presence of a close icon when applicable.\r\n */\r\n set: function (value) {\r\n if (this._closable === value) {\r\n return;\r\n }\r\n this._closable = value;\r\n this._changed.emit(undefined);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(Title.prototype, \"dataset\", {\r\n /**\r\n * Get the dataset for the title.\r\n *\r\n * #### Notes\r\n * The default value is an empty dataset.\r\n */\r\n get: function () {\r\n return this._dataset;\r\n },\r\n /**\r\n * Set the dataset for the title.\r\n *\r\n * #### Notes\r\n * This controls the data attributes when applicable.\r\n */\r\n set: function (value) {\r\n if (this._dataset === value) {\r\n return;\r\n }\r\n this._dataset = value;\r\n this._changed.emit(undefined);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n return Title;\r\n}());\r\nexports.Title = Title;\r\n\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar apply = Function.prototype.apply;\n\n// DOM APIs, for completeness\n\nexports.setTimeout = function() {\n return new Timeout(apply.call(setTimeout, window, arguments), clearTimeout);\n};\nexports.setInterval = function() {\n return new Timeout(apply.call(setInterval, window, arguments), clearInterval);\n};\nexports.clearTimeout =\nexports.clearInterval = function(timeout) {\n if (timeout) {\n timeout.close();\n }\n};\n\nfunction Timeout(id, clearFn) {\n this._id = id;\n this._clearFn = clearFn;\n}\nTimeout.prototype.unref = Timeout.prototype.ref = function() {};\nTimeout.prototype.close = function() {\n this._clearFn.call(window, this._id);\n};\n\n// Does not start the time, just sets up the members needed.\nexports.enroll = function(item, msecs) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = msecs;\n};\n\nexports.unenroll = function(item) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = -1;\n};\n\nexports._unrefActive = exports.active = function(item) {\n clearTimeout(item._idleTimeoutId);\n\n var msecs = item._idleTimeout;\n if (msecs >= 0) {\n item._idleTimeoutId = setTimeout(function onTimeout() {\n if (item._onTimeout)\n item._onTimeout();\n }, msecs);\n }\n};\n\n// setimmediate attaches itself to the global object\n__webpack_require__(63);\nexports.setImmediate = setImmediate;\nexports.clearImmediate = clearImmediate;\n\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/*-----------------------------------------------------------------------------\r\n| Copyright (c) 2014-2017, PhosphorJS Contributors\r\n|\r\n| Distributed under the terms of the BSD 3-Clause License.\r\n|\r\n| The full license is in the file LICENSE, distributed with this software.\r\n|----------------------------------------------------------------------------*/\r\n__export(__webpack_require__(46));\r\n\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/*-----------------------------------------------------------------------------\r\n| Copyright (c) 2014-2017, PhosphorJS Contributors\r\n|\r\n| Distributed under the terms of the BSD 3-Clause License.\r\n|\r\n| The full license is in the file LICENSE, distributed with this software.\r\n|----------------------------------------------------------------------------*/\r\n__export(__webpack_require__(15));\r\n__export(__webpack_require__(17));\r\n__export(__webpack_require__(54));\r\n__export(__webpack_require__(55));\r\n__export(__webpack_require__(56));\r\n__export(__webpack_require__(23));\r\n__export(__webpack_require__(57));\r\n__export(__webpack_require__(58));\r\n__export(__webpack_require__(8));\r\n__export(__webpack_require__(24));\r\n__export(__webpack_require__(59));\r\n__export(__webpack_require__(16));\r\n__export(__webpack_require__(10));\r\n__export(__webpack_require__(25));\r\n__export(__webpack_require__(60));\r\n__export(__webpack_require__(26));\r\n__export(__webpack_require__(27));\r\n__export(__webpack_require__(18));\r\n__export(__webpack_require__(61));\r\n__export(__webpack_require__(19));\r\n__export(__webpack_require__(2));\r\n\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/*-----------------------------------------------------------------------------\r\n| Copyright (c) 2014-2017, PhosphorJS Contributors\r\n|\r\n| Distributed under the terms of the BSD 3-Clause License.\r\n|\r\n| The full license is in the file LICENSE, distributed with this software.\r\n|----------------------------------------------------------------------------*/\r\nvar algorithm_1 = __webpack_require__(0);\r\nvar domutils_1 = __webpack_require__(1);\r\nvar messaging_1 = __webpack_require__(3);\r\nvar boxengine_1 = __webpack_require__(15);\r\nvar layout_1 = __webpack_require__(8);\r\nvar widget_1 = __webpack_require__(2);\r\n/**\r\n * A layout which provides a flexible docking arrangement.\r\n *\r\n * #### Notes\r\n * The consumer of this layout is repsonsible for handling all signals\r\n * from the generated tab bars and managing the visibility of widgets\r\n * and tab bars as needed.\r\n */\r\nvar DockLayout = (function (_super) {\r\n __extends(DockLayout, _super);\r\n /**\r\n * Construct a new dock layout.\r\n *\r\n * @param options - The options for initializing the layout.\r\n */\r\n function DockLayout(options) {\r\n var _this = _super.call(this) || this;\r\n _this._spacing = 4;\r\n _this._dirty = false;\r\n _this._root = null;\r\n _this._box = null;\r\n _this._items = new Map();\r\n _this.renderer = options.renderer;\r\n if (options.spacing !== undefined) {\r\n _this._spacing = Private.clampSpacing(options.spacing);\r\n }\r\n return _this;\r\n }\r\n /**\r\n * Dispose of the resources held by the layout.\r\n *\r\n * #### Notes\r\n * This will clear and dispose all widgets in the layout.\r\n */\r\n DockLayout.prototype.dispose = function () {\r\n // Get an iterator over the widgets in the layout.\r\n var widgets = this.iter();\r\n // Dispose of the layout items.\r\n this._items.forEach(function (item) { item.dispose(); });\r\n // Clear the layout state before disposing the widgets.\r\n this._box = null;\r\n this._root = null;\r\n this._items.clear();\r\n // Dispose of the widgets contained in the old layout root.\r\n algorithm_1.each(widgets, function (widget) { widget.dispose(); });\r\n // Dispose of the base class.\r\n _super.prototype.dispose.call(this);\r\n };\r\n Object.defineProperty(DockLayout.prototype, \"spacing\", {\r\n /**\r\n * Get the inter-element spacing for the dock layout.\r\n */\r\n get: function () {\r\n return this._spacing;\r\n },\r\n /**\r\n * Set the inter-element spacing for the dock layout.\r\n */\r\n set: function (value) {\r\n value = Private.clampSpacing(value);\r\n if (this._spacing === value) {\r\n return;\r\n }\r\n this._spacing = value;\r\n if (!this.parent) {\r\n return;\r\n }\r\n this.parent.fit();\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(DockLayout.prototype, \"isEmpty\", {\r\n /**\r\n * Whether the dock layout is empty.\r\n */\r\n get: function () {\r\n return this._root === null;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n /**\r\n * Create an iterator over all widgets in the layout.\r\n *\r\n * @returns A new iterator over the widgets in the layout.\r\n *\r\n * #### Notes\r\n * This iterator includes the generated tab bars.\r\n */\r\n DockLayout.prototype.iter = function () {\r\n return this._root ? this._root.iterAllWidgets() : algorithm_1.empty();\r\n };\r\n /**\r\n * Create an iterator over the user widgets in the layout.\r\n *\r\n * @returns A new iterator over the user widgets in the layout.\r\n *\r\n * #### Notes\r\n * This iterator does not include the generated tab bars.\r\n */\r\n DockLayout.prototype.widgets = function () {\r\n return this._root ? this._root.iterUserWidgets() : algorithm_1.empty();\r\n };\r\n /**\r\n * Create an iterator over the selected widgets in the layout.\r\n *\r\n * @returns A new iterator over the selected user widgets.\r\n *\r\n * #### Notes\r\n * This iterator yields the widgets corresponding to the current tab\r\n * of each tab bar in the layout.\r\n */\r\n DockLayout.prototype.selectedWidgets = function () {\r\n return this._root ? this._root.iterSelectedWidgets() : algorithm_1.empty();\r\n };\r\n /**\r\n * Create an iterator over the tab bars in the layout.\r\n *\r\n * @returns A new iterator over the tab bars in the layout.\r\n *\r\n * #### Notes\r\n * This iterator does not include the user widgets.\r\n */\r\n DockLayout.prototype.tabBars = function () {\r\n return this._root ? this._root.iterTabBars() : algorithm_1.empty();\r\n };\r\n /**\r\n * Create an iterator over the handles in the layout.\r\n *\r\n * @returns A new iterator over the handles in the layout.\r\n */\r\n DockLayout.prototype.handles = function () {\r\n return this._root ? this._root.iterHandles() : algorithm_1.empty();\r\n };\r\n /**\r\n * Move a handle to the given offset position.\r\n *\r\n * @param handle - The handle to move.\r\n *\r\n * @param offsetX - The desired offset X position of the handle.\r\n *\r\n * @param offsetY - The desired offset Y position of the handle.\r\n *\r\n * #### Notes\r\n * If the given handle is not contained in the layout, this is no-op.\r\n *\r\n * The handle will be moved as close as possible to the desired\r\n * position without violating any of the layout constraints.\r\n *\r\n * Only one of the coordinates is used depending on the orientation\r\n * of the handle. This method accepts both coordinates to make it\r\n * easy to invoke from a mouse move event without needing to know\r\n * the handle orientation.\r\n */\r\n DockLayout.prototype.moveHandle = function (handle, offsetX, offsetY) {\r\n // Bail early if there is no root or if the handle is hidden.\r\n if (!this._root || handle.classList.contains('p-mod-hidden')) {\r\n return;\r\n }\r\n // Lookup the split node for the handle.\r\n var data = this._root.findSplitNode(handle);\r\n if (!data) {\r\n return;\r\n }\r\n // Compute the desired delta movement for the handle.\r\n var delta;\r\n if (data.node.orientation === 'horizontal') {\r\n delta = offsetX - handle.offsetLeft;\r\n }\r\n else {\r\n delta = offsetY - handle.offsetTop;\r\n }\r\n // Bail if there is no handle movement.\r\n if (delta === 0) {\r\n return;\r\n }\r\n // Prevent sibling resizing unless needed.\r\n data.node.holdSizes();\r\n // Adjust the sizers to reflect the handle movement.\r\n boxengine_1.BoxEngine.adjust(data.node.sizers, data.index, delta);\r\n // Update the layout of the widgets.\r\n if (this.parent) {\r\n this.parent.update();\r\n }\r\n };\r\n /**\r\n * Save the current configuration of the dock layout.\r\n *\r\n * @returns A new config object for the current layout state.\r\n *\r\n * #### Notes\r\n * The return value can be provided to the `restoreLayout` method\r\n * in order to restore the layout to its current configuration.\r\n */\r\n DockLayout.prototype.saveLayout = function () {\r\n // Bail early if there is no root.\r\n if (!this._root) {\r\n return { main: null };\r\n }\r\n // Hold the current sizes in the layout tree.\r\n this._root.holdAllSizes();\r\n // Return the layout config.\r\n return { main: this._root.createConfig() };\r\n };\r\n /**\r\n * Restore the layout to a previously saved configuration.\r\n *\r\n * @param config - The layout configuration to restore.\r\n *\r\n * #### Notes\r\n * Widgets which currently belong to the layout but which are not\r\n * contained in the config will be unparented.\r\n */\r\n DockLayout.prototype.restoreLayout = function (config) {\r\n var _this = this;\r\n // Create the widget set for validating the config.\r\n var widgetSet = new Set();\r\n // Normalize the main area config and collect the widgets.\r\n var mainConfig;\r\n if (config.main) {\r\n mainConfig = Private.normalizeAreaConfig(config.main, widgetSet);\r\n }\r\n else {\r\n mainConfig = null;\r\n }\r\n // Create iterators over the old content.\r\n var oldWidgets = this.widgets();\r\n var oldTabBars = this.tabBars();\r\n var oldHandles = this.handles();\r\n // Clear the root before removing the old content.\r\n this._root = null;\r\n // Unparent the old widgets which are not in the new config.\r\n algorithm_1.each(oldWidgets, function (widget) {\r\n if (!widgetSet.has(widget)) {\r\n widget.parent = null;\r\n }\r\n });\r\n // Dispose of the old tab bars.\r\n algorithm_1.each(oldTabBars, function (tabBar) {\r\n tabBar.dispose();\r\n });\r\n // Remove the old handles.\r\n algorithm_1.each(oldHandles, function (handle) {\r\n if (handle.parentNode) {\r\n handle.parentNode.removeChild(handle);\r\n }\r\n });\r\n // Reparent the new widgets to the current parent.\r\n widgetSet.forEach(function (widget) {\r\n widget.parent = _this.parent;\r\n });\r\n // Create the root node for the new config.\r\n if (mainConfig) {\r\n this._root = Private.realizeAreaConfig(mainConfig, {\r\n createTabBar: function () { return _this._createTabBar(); },\r\n createHandle: function () { return _this._createHandle(); }\r\n });\r\n }\r\n else {\r\n this._root = null;\r\n }\r\n // If there is no parent, there is nothing more to do.\r\n if (!this.parent) {\r\n return;\r\n }\r\n // Attach the new widgets to the parent.\r\n widgetSet.forEach(function (widget) {\r\n _this.attachWidget(widget);\r\n });\r\n // Post a fit request to the parent.\r\n this.parent.fit();\r\n };\r\n /**\r\n * Add a widget to the dock layout.\r\n *\r\n * @param widget - The widget to add to the dock layout.\r\n *\r\n * @param options - The additional options for adding the widget.\r\n *\r\n * #### Notes\r\n * The widget will be moved if it is already contained in the layout.\r\n *\r\n * An error will be thrown if the reference widget is invalid.\r\n */\r\n DockLayout.prototype.addWidget = function (widget, options) {\r\n if (options === void 0) { options = {}; }\r\n // Parse the options.\r\n var ref = options.ref || null;\r\n var mode = options.mode || 'tab-after';\r\n // Find the tab node which holds the reference widget.\r\n var refNode = null;\r\n if (this._root && ref) {\r\n refNode = this._root.findTabNode(ref);\r\n }\r\n // Throw an error if the reference widget is invalid.\r\n if (ref && !refNode) {\r\n throw new Error('Reference widget is not in the layout.');\r\n }\r\n // Reparent the widget to the current layout parent.\r\n widget.parent = this.parent;\r\n // Insert the widget according to the insert mode.\r\n switch (mode) {\r\n case 'tab-after':\r\n this._insertTab(widget, ref, refNode, true);\r\n break;\r\n case 'tab-before':\r\n this._insertTab(widget, ref, refNode, false);\r\n break;\r\n case 'split-top':\r\n this._insertSplit(widget, ref, refNode, 'vertical', false);\r\n break;\r\n case 'split-left':\r\n this._insertSplit(widget, ref, refNode, 'horizontal', false);\r\n break;\r\n case 'split-right':\r\n this._insertSplit(widget, ref, refNode, 'horizontal', true);\r\n break;\r\n case 'split-bottom':\r\n this._insertSplit(widget, ref, refNode, 'vertical', true);\r\n break;\r\n }\r\n // Do nothing else if there is no parent widget.\r\n if (!this.parent) {\r\n return;\r\n }\r\n // Ensure the widget is attached to the parent widget.\r\n this.attachWidget(widget);\r\n // Post a fit request for the parent widget.\r\n this.parent.fit();\r\n };\r\n /**\r\n * Remove a widget from the layout.\r\n *\r\n * @param widget - The widget to remove from the layout.\r\n *\r\n * #### Notes\r\n * A widget is automatically removed from the layout when its `parent`\r\n * is set to `null`. This method should only be invoked directly when\r\n * removing a widget from a layout which has yet to be installed on a\r\n * parent widget.\r\n *\r\n * This method does *not* modify the widget's `parent`.\r\n */\r\n DockLayout.prototype.removeWidget = function (widget) {\r\n // Remove the widget from its current layout location.\r\n this._removeWidget(widget);\r\n // Do nothing else if there is no parent widget.\r\n if (!this.parent) {\r\n return;\r\n }\r\n // Detach the widget from the parent widget.\r\n this.detachWidget(widget);\r\n // Post a fit request for the parent widget.\r\n this.parent.fit();\r\n };\r\n /**\r\n * Find the tab area which contains the given client position.\r\n *\r\n * @param clientX - The client X position of interest.\r\n *\r\n * @param clientY - The client Y position of interest.\r\n *\r\n * @returns The geometry of the tab area at the given position, or\r\n * `null` if there is no tab area at the given position.\r\n */\r\n DockLayout.prototype.hitTestTabAreas = function (clientX, clientY) {\r\n // Bail early if hit testing cannot produce valid results.\r\n if (!this._root || !this.parent || !this.parent.isVisible) {\r\n return null;\r\n }\r\n // Ensure the parent box sizing data is computed.\r\n if (!this._box) {\r\n this._box = domutils_1.ElementExt.boxSizing(this.parent.node);\r\n }\r\n // Convert from client to local coordinates.\r\n var rect = this.parent.node.getBoundingClientRect();\r\n var x = clientX - rect.left - this._box.borderLeft;\r\n var y = clientY - rect.top - this._box.borderTop;\r\n // Find the tab layout node at the local position.\r\n var tabNode = this._root.hitTestTabNodes(x, y);\r\n // Bail if a tab layout node was not found.\r\n if (!tabNode) {\r\n return null;\r\n }\r\n // Extract the data from the tab node.\r\n var tabBar = tabNode.tabBar, top = tabNode.top, left = tabNode.left, width = tabNode.width, height = tabNode.height;\r\n // Compute the right and bottom edges of the tab area.\r\n var borderWidth = this._box.borderLeft + this._box.borderRight;\r\n var borderHeight = this._box.borderTop + this._box.borderBottom;\r\n var right = rect.width - borderWidth - (left + width);\r\n var bottom = rect.height - borderHeight - (top + height);\r\n // Return the hit test results.\r\n return { tabBar: tabBar, x: x, y: y, top: top, left: left, right: right, bottom: bottom, width: width, height: height };\r\n };\r\n /**\r\n * Perform layout initialization which requires the parent widget.\r\n */\r\n DockLayout.prototype.init = function () {\r\n var _this = this;\r\n // Perform superclass initialization.\r\n _super.prototype.init.call(this);\r\n // Attach each widget to the parent.\r\n algorithm_1.each(this, function (widget) { _this.attachWidget(widget); });\r\n // Attach each handle to the parent.\r\n algorithm_1.each(this.handles(), function (handle) { _this.parent.node.appendChild(handle); });\r\n // Post a fit request for the parent widget.\r\n this.parent.fit();\r\n };\r\n /**\r\n * Attach the widget to the layout parent widget.\r\n *\r\n * @param widget - The widget to attach to the parent.\r\n *\r\n * #### Notes\r\n * This is a no-op if the widget is already attached.\r\n */\r\n DockLayout.prototype.attachWidget = function (widget) {\r\n // Do nothing if the widget is already attached.\r\n if (this.parent.node === widget.node.parentNode) {\r\n return;\r\n }\r\n // Create the layout item for the widget.\r\n this._items.set(widget, new layout_1.LayoutItem(widget));\r\n // Send a `'before-attach'` message if the parent is attached.\r\n if (this.parent.isAttached) {\r\n messaging_1.MessageLoop.sendMessage(widget, widget_1.Widget.Msg.BeforeAttach);\r\n }\r\n // Add the widget's node to the parent.\r\n this.parent.node.appendChild(widget.node);\r\n // Send an `'after-attach'` message if the parent is attached.\r\n if (this.parent.isAttached) {\r\n messaging_1.MessageLoop.sendMessage(widget, widget_1.Widget.Msg.AfterAttach);\r\n }\r\n };\r\n /**\r\n * Detach the widget from the layout parent widget.\r\n *\r\n * @param widget - The widget to detach from the parent.\r\n *\r\n * #### Notes\r\n * This is a no-op if the widget is not attached.\r\n */\r\n DockLayout.prototype.detachWidget = function (widget) {\r\n // Do nothing if the widget is not attached.\r\n if (this.parent.node !== widget.node.parentNode) {\r\n return;\r\n }\r\n // Send a `'before-detach'` message if the parent is attached.\r\n if (this.parent.isAttached) {\r\n messaging_1.MessageLoop.sendMessage(widget, widget_1.Widget.Msg.BeforeDetach);\r\n }\r\n // Remove the widget's node from the parent.\r\n this.parent.node.removeChild(widget.node);\r\n // Send an `'after-detach'` message if the parent is attached.\r\n if (this.parent.isAttached) {\r\n messaging_1.MessageLoop.sendMessage(widget, widget_1.Widget.Msg.AfterDetach);\r\n }\r\n // Delete the layout item for the widget.\r\n var item = this._items.get(widget);\r\n if (item) {\r\n this._items.delete(widget);\r\n item.dispose();\r\n }\r\n };\r\n /**\r\n * A message handler invoked on a `'before-show'` message.\r\n */\r\n DockLayout.prototype.onBeforeShow = function (msg) {\r\n _super.prototype.onBeforeShow.call(this, msg);\r\n this.parent.update();\r\n };\r\n /**\r\n * A message handler invoked on a `'before-attach'` message.\r\n */\r\n DockLayout.prototype.onBeforeAttach = function (msg) {\r\n _super.prototype.onBeforeAttach.call(this, msg);\r\n this.parent.fit();\r\n };\r\n /**\r\n * A message handler invoked on a `'child-shown'` message.\r\n */\r\n DockLayout.prototype.onChildShown = function (msg) {\r\n this.parent.fit();\r\n };\r\n /**\r\n * A message handler invoked on a `'child-hidden'` message.\r\n */\r\n DockLayout.prototype.onChildHidden = function (msg) {\r\n this.parent.fit();\r\n };\r\n /**\r\n * A message handler invoked on a `'resize'` message.\r\n */\r\n DockLayout.prototype.onResize = function (msg) {\r\n if (this.parent.isVisible) {\r\n this._update(msg.width, msg.height);\r\n }\r\n };\r\n /**\r\n * A message handler invoked on an `'update-request'` message.\r\n */\r\n DockLayout.prototype.onUpdateRequest = function (msg) {\r\n if (this.parent.isVisible) {\r\n this._update(-1, -1);\r\n }\r\n };\r\n /**\r\n * A message handler invoked on a `'fit-request'` message.\r\n */\r\n DockLayout.prototype.onFitRequest = function (msg) {\r\n if (this.parent.isAttached) {\r\n this._fit();\r\n }\r\n };\r\n /**\r\n * Remove the specified widget from the layout structure.\r\n *\r\n * #### Notes\r\n * This is a no-op if the widget is not in the layout tree.\r\n *\r\n * This does not detach the widget from the parent node.\r\n */\r\n DockLayout.prototype._removeWidget = function (widget) {\r\n // Bail early if there is no layout root.\r\n if (!this._root) {\r\n return;\r\n }\r\n // Find the tab node which contains the given widget.\r\n var tabNode = this._root.findTabNode(widget);\r\n // Bail early if the tab node is not found.\r\n if (!tabNode) {\r\n return;\r\n }\r\n // If there are multiple tabs, just remove the widget's tab.\r\n if (tabNode.tabBar.titles.length > 1) {\r\n tabNode.tabBar.removeTab(widget.title);\r\n return;\r\n }\r\n // Otherwise, the tab node needs to be removed...\r\n // Dispose the tab bar.\r\n tabNode.tabBar.dispose();\r\n // Handle the case where the tab node is the root.\r\n if (this._root === tabNode) {\r\n this._root = null;\r\n return;\r\n }\r\n // Otherwise, remove the tab node from its parent...\r\n // Prevent widget resizing unless needed.\r\n this._root.holdAllSizes();\r\n // Clear the parent reference on the tab node.\r\n var splitNode = tabNode.parent;\r\n tabNode.parent = null;\r\n // Remove the tab node from its parent split node.\r\n var i = algorithm_1.ArrayExt.removeFirstOf(splitNode.children, tabNode);\r\n var handle = algorithm_1.ArrayExt.removeAt(splitNode.handles, i);\r\n algorithm_1.ArrayExt.removeAt(splitNode.sizers, i);\r\n // Remove the handle from its parent DOM node.\r\n if (handle.parentNode) {\r\n handle.parentNode.removeChild(handle);\r\n }\r\n // If there are multiple children, just update the handles.\r\n if (splitNode.children.length > 1) {\r\n splitNode.syncHandles();\r\n return;\r\n }\r\n // Otherwise, the split node also needs to be removed...\r\n // Clear the parent reference on the split node.\r\n var maybeParent = splitNode.parent;\r\n splitNode.parent = null;\r\n // Lookup the remaining child node and handle.\r\n var childNode = splitNode.children[0];\r\n var childHandle = splitNode.handles[0];\r\n // Clear the split node data.\r\n splitNode.children.length = 0;\r\n splitNode.handles.length = 0;\r\n splitNode.sizers.length = 0;\r\n // Remove the child handle from its parent node.\r\n if (childHandle.parentNode) {\r\n childHandle.parentNode.removeChild(childHandle);\r\n }\r\n // Handle the case where the split node is the root.\r\n if (this._root === splitNode) {\r\n childNode.parent = null;\r\n this._root = childNode;\r\n return;\r\n }\r\n // Otherwise, move the child node to the parent node...\r\n var parentNode = maybeParent;\r\n // Lookup the index of the split node.\r\n var j = parentNode.children.indexOf(splitNode);\r\n // Handle the case where the child node is a tab node.\r\n if (childNode instanceof Private.TabLayoutNode) {\r\n childNode.parent = parentNode;\r\n parentNode.children[j] = childNode;\r\n return;\r\n }\r\n // Remove the split data from the parent.\r\n var splitHandle = algorithm_1.ArrayExt.removeAt(parentNode.handles, j);\r\n algorithm_1.ArrayExt.removeAt(parentNode.children, j);\r\n algorithm_1.ArrayExt.removeAt(parentNode.sizers, j);\r\n // Remove the handle from its parent node.\r\n if (splitHandle.parentNode) {\r\n splitHandle.parentNode.removeChild(splitHandle);\r\n }\r\n // The child node and the split parent node will have the same\r\n // orientation. Merge the grand-children with the parent node.\r\n for (var i_1 = 0, n = childNode.children.length; i_1 < n; ++i_1) {\r\n var gChild = childNode.children[i_1];\r\n var gHandle = childNode.handles[i_1];\r\n var gSizer = childNode.sizers[i_1];\r\n algorithm_1.ArrayExt.insert(parentNode.children, j + i_1, gChild);\r\n algorithm_1.ArrayExt.insert(parentNode.handles, j + i_1, gHandle);\r\n algorithm_1.ArrayExt.insert(parentNode.sizers, j + i_1, gSizer);\r\n gChild.parent = parentNode;\r\n }\r\n // Clear the child node.\r\n childNode.children.length = 0;\r\n childNode.handles.length = 0;\r\n childNode.sizers.length = 0;\r\n childNode.parent = null;\r\n // Sync the handles on the parent node.\r\n parentNode.syncHandles();\r\n };\r\n /**\r\n * Insert a widget next to an existing tab.\r\n *\r\n * #### Notes\r\n * This does not attach the widget to the parent widget.\r\n */\r\n DockLayout.prototype._insertTab = function (widget, ref, refNode, after) {\r\n // Do nothing if the tab is inserted next to itself.\r\n if (widget === ref) {\r\n return;\r\n }\r\n // Create the root if it does not exist.\r\n if (!this._root) {\r\n var tabNode = new Private.TabLayoutNode(this._createTabBar());\r\n tabNode.tabBar.addTab(widget.title);\r\n this._root = tabNode;\r\n return;\r\n }\r\n // Use the first tab node as the ref node if needed.\r\n if (!refNode) {\r\n refNode = this._root.findFirstTabNode();\r\n }\r\n // If the widget is not contained in the ref node, ensure it is\r\n // removed from the layout and hidden before being added again.\r\n if (refNode.tabBar.titles.indexOf(widget.title) === -1) {\r\n this._removeWidget(widget);\r\n widget.hide();\r\n }\r\n // Lookup the target index for inserting the tab.\r\n var index;\r\n if (ref) {\r\n index = refNode.tabBar.titles.indexOf(ref.title);\r\n }\r\n else {\r\n index = refNode.tabBar.currentIndex;\r\n }\r\n // Insert the widget's tab relative to the target index.\r\n refNode.tabBar.insertTab(index + (after ? 1 : 0), widget.title);\r\n };\r\n /**\r\n * Insert a widget as a new split area.\r\n *\r\n * #### Notes\r\n * This does not attach the widget to the parent widget.\r\n */\r\n DockLayout.prototype._insertSplit = function (widget, ref, refNode, orientation, after) {\r\n // Do nothing if there is no effective split.\r\n if (widget === ref && refNode && refNode.tabBar.titles.length === 1) {\r\n return;\r\n }\r\n // Ensure the widget is removed from the current layout.\r\n this._removeWidget(widget);\r\n // Create the tab layout node to hold the widget.\r\n var tabNode = new Private.TabLayoutNode(this._createTabBar());\r\n tabNode.tabBar.addTab(widget.title);\r\n // Set the root if it does not exist.\r\n if (!this._root) {\r\n this._root = tabNode;\r\n return;\r\n }\r\n // If the ref node parent is null, split the root.\r\n if (!refNode || !refNode.parent) {\r\n // Ensure the root is split with the correct orientation.\r\n var root = this._splitRoot(orientation);\r\n // Determine the insert index for the new tab node.\r\n var i_2 = after ? root.children.length : 0;\r\n // Normalize the split node.\r\n root.normalizeSizes();\r\n // Create the sizer for new tab node.\r\n var sizer = Private.createSizer(refNode ? 1 : Private.GOLDEN_RATIO);\r\n // Insert the tab node sized to the golden ratio.\r\n algorithm_1.ArrayExt.insert(root.children, i_2, tabNode);\r\n algorithm_1.ArrayExt.insert(root.sizers, i_2, sizer);\r\n algorithm_1.ArrayExt.insert(root.handles, i_2, this._createHandle());\r\n tabNode.parent = root;\r\n // Re-normalize the split node to maintain the ratios.\r\n root.normalizeSizes();\r\n // Finally, synchronize the visibility of the handles.\r\n root.syncHandles();\r\n return;\r\n }\r\n // Lookup the split node for the ref widget.\r\n var splitNode = refNode.parent;\r\n // If the split node already had the correct orientation,\r\n // the widget can be inserted into the split node directly.\r\n if (splitNode.orientation === orientation) {\r\n // Find the index of the ref node.\r\n var i_3 = splitNode.children.indexOf(refNode);\r\n // Normalize the split node.\r\n splitNode.normalizeSizes();\r\n // Consume half the space for the insert location.\r\n var s = splitNode.sizers[i_3].sizeHint /= 2;\r\n // Insert the tab node sized to the other half.\r\n var j_1 = i_3 + (after ? 1 : 0);\r\n algorithm_1.ArrayExt.insert(splitNode.children, j_1, tabNode);\r\n algorithm_1.ArrayExt.insert(splitNode.sizers, j_1, Private.createSizer(s));\r\n algorithm_1.ArrayExt.insert(splitNode.handles, j_1, this._createHandle());\r\n tabNode.parent = splitNode;\r\n // Finally, synchronize the visibility of the handles.\r\n splitNode.syncHandles();\r\n return;\r\n }\r\n // Remove the ref node from the split node.\r\n var i = algorithm_1.ArrayExt.removeFirstOf(splitNode.children, refNode);\r\n // Create a new normalized split node for the children.\r\n var childNode = new Private.SplitLayoutNode(orientation);\r\n childNode.normalized = true;\r\n // Add the ref node sized to half the space.\r\n childNode.children.push(refNode);\r\n childNode.sizers.push(Private.createSizer(0.5));\r\n childNode.handles.push(this._createHandle());\r\n refNode.parent = childNode;\r\n // Add the tab node sized to the other half.\r\n var j = after ? 1 : 0;\r\n algorithm_1.ArrayExt.insert(childNode.children, j, tabNode);\r\n algorithm_1.ArrayExt.insert(childNode.sizers, j, Private.createSizer(0.5));\r\n algorithm_1.ArrayExt.insert(childNode.handles, j, this._createHandle());\r\n tabNode.parent = childNode;\r\n // Synchronize the visibility of the handles.\r\n childNode.syncHandles();\r\n // Finally, add the new child node to the original split node.\r\n algorithm_1.ArrayExt.insert(splitNode.children, i, childNode);\r\n childNode.parent = splitNode;\r\n };\r\n /**\r\n * Ensure the root is a split node with the given orientation.\r\n */\r\n DockLayout.prototype._splitRoot = function (orientation) {\r\n // Bail early if the root already meets the requirements.\r\n var oldRoot = this._root;\r\n if (oldRoot instanceof Private.SplitLayoutNode) {\r\n if (oldRoot.orientation === orientation) {\r\n return oldRoot;\r\n }\r\n }\r\n // Create a new root node with the specified orientation.\r\n var newRoot = this._root = new Private.SplitLayoutNode(orientation);\r\n // Add the old root to the new root.\r\n if (oldRoot) {\r\n newRoot.children.push(oldRoot);\r\n newRoot.sizers.push(Private.createSizer(0));\r\n newRoot.handles.push(this._createHandle());\r\n oldRoot.parent = newRoot;\r\n }\r\n // Return the new root as a convenience.\r\n return newRoot;\r\n };\r\n /**\r\n * Fit the layout to the total size required by the widgets.\r\n */\r\n DockLayout.prototype._fit = function () {\r\n // Set up the computed minimum size.\r\n var minW = 0;\r\n var minH = 0;\r\n // Update the size limits for the layout tree.\r\n if (this._root) {\r\n var limits = this._root.fit(this._spacing, this._items);\r\n minW = limits.minWidth;\r\n minH = limits.minHeight;\r\n }\r\n // Update the box sizing and add it to the computed min size.\r\n var box = this._box = domutils_1.ElementExt.boxSizing(this.parent.node);\r\n minW += box.horizontalSum;\r\n minH += box.verticalSum;\r\n // Update the parent's min size constraints.\r\n var style = this.parent.node.style;\r\n style.minWidth = minW + \"px\";\r\n style.minHeight = minH + \"px\";\r\n // Set the dirty flag to ensure only a single update occurs.\r\n this._dirty = true;\r\n // Notify the ancestor that it should fit immediately. This may\r\n // cause a resize of the parent, fulfilling the required update.\r\n if (this.parent.parent) {\r\n messaging_1.MessageLoop.sendMessage(this.parent.parent, widget_1.Widget.Msg.FitRequest);\r\n }\r\n // If the dirty flag is still set, the parent was not resized.\r\n // Trigger the required update on the parent widget immediately.\r\n if (this._dirty) {\r\n messaging_1.MessageLoop.sendMessage(this.parent, widget_1.Widget.Msg.UpdateRequest);\r\n }\r\n };\r\n /**\r\n * Update the layout position and size of the widgets.\r\n *\r\n * The parent offset dimensions should be `-1` if unknown.\r\n */\r\n DockLayout.prototype._update = function (offsetWidth, offsetHeight) {\r\n // Clear the dirty flag to indicate the update occurred.\r\n this._dirty = false;\r\n // Bail early if there is no root layout node.\r\n if (!this._root) {\r\n return;\r\n }\r\n // Measure the parent if the offset dimensions are unknown.\r\n if (offsetWidth < 0) {\r\n offsetWidth = this.parent.node.offsetWidth;\r\n }\r\n if (offsetHeight < 0) {\r\n offsetHeight = this.parent.node.offsetHeight;\r\n }\r\n // Ensure the parent box sizing data is computed.\r\n if (!this._box) {\r\n this._box = domutils_1.ElementExt.boxSizing(this.parent.node);\r\n }\r\n // Compute the actual layout bounds adjusted for border and padding.\r\n var x = this._box.paddingTop;\r\n var y = this._box.paddingLeft;\r\n var width = offsetWidth - this._box.horizontalSum;\r\n var height = offsetHeight - this._box.verticalSum;\r\n // Update the geometry of the layout tree.\r\n this._root.update(x, y, width, height, this._spacing, this._items);\r\n };\r\n /**\r\n * Create a new tab bar for use by the dock layout.\r\n *\r\n * #### Notes\r\n * The tab bar will be attached to the parent if it exists.\r\n */\r\n DockLayout.prototype._createTabBar = function () {\r\n // Create the tab bar using the renderer.\r\n var tabBar = this.renderer.createTabBar();\r\n // Enforce necessary tab bar behavior.\r\n tabBar.orientation = 'horizontal';\r\n // Reparent and attach the tab bar to the parent if possible.\r\n if (this.parent) {\r\n tabBar.parent = this.parent;\r\n this.attachWidget(tabBar);\r\n }\r\n // Return the initialized tab bar.\r\n return tabBar;\r\n };\r\n /**\r\n * Create a new handle for the dock layout.\r\n *\r\n * #### Notes\r\n * The handle will be attached to the parent if it exists.\r\n */\r\n DockLayout.prototype._createHandle = function () {\r\n // Create the handle using the renderer.\r\n var handle = this.renderer.createHandle();\r\n // Initialize the handle layout behavior.\r\n var style = handle.style;\r\n style.position = 'absolute';\r\n style.top = '0';\r\n style.left = '0';\r\n style.width = '0';\r\n style.height = '0';\r\n // Attach the handle to the parent if it exists.\r\n if (this.parent) {\r\n this.parent.node.appendChild(handle);\r\n }\r\n // Return the initialized handle.\r\n return handle;\r\n };\r\n return DockLayout;\r\n}(layout_1.Layout));\r\nexports.DockLayout = DockLayout;\r\n/**\r\n * The namespace for the module implementation details.\r\n */\r\nvar Private;\r\n(function (Private) {\r\n /**\r\n * A fraction used for sizing root panels; ~= `1 / golden_ratio`.\r\n */\r\n Private.GOLDEN_RATIO = 0.618;\r\n /**\r\n * Clamp a spacing value to an integer >= 0.\r\n */\r\n function clampSpacing(value) {\r\n return Math.max(0, Math.floor(value));\r\n }\r\n Private.clampSpacing = clampSpacing;\r\n /**\r\n * Create a box sizer with an initial size hint.\r\n */\r\n function createSizer(hint) {\r\n var sizer = new boxengine_1.BoxSizer();\r\n sizer.sizeHint = hint;\r\n sizer.size = hint;\r\n return sizer;\r\n }\r\n Private.createSizer = createSizer;\r\n /**\r\n * Normalize an area config object and collect the visited widgets.\r\n */\r\n function normalizeAreaConfig(config, widgetSet) {\r\n var result;\r\n if (config.type === 'tab-area') {\r\n result = normalizeTabAreaConfig(config, widgetSet);\r\n }\r\n else {\r\n result = normalizeSplitAreaConfig(config, widgetSet);\r\n }\r\n return result;\r\n }\r\n Private.normalizeAreaConfig = normalizeAreaConfig;\r\n /**\r\n * Convert a normalized area config into a layout tree.\r\n */\r\n function realizeAreaConfig(config, renderer) {\r\n var node;\r\n if (config.type === 'tab-area') {\r\n node = realizeTabAreaConfig(config, renderer);\r\n }\r\n else {\r\n node = realizeSplitAreaConfig(config, renderer);\r\n }\r\n return node;\r\n }\r\n Private.realizeAreaConfig = realizeAreaConfig;\r\n /**\r\n * A layout node which holds the data for a tabbed area.\r\n */\r\n var TabLayoutNode = (function () {\r\n /**\r\n * Construct a new tab layout node.\r\n *\r\n * @param tabBar - The tab bar to use for the layout node.\r\n */\r\n function TabLayoutNode(tabBar) {\r\n /**\r\n * The parent of the layout node.\r\n */\r\n this.parent = null;\r\n this._top = 0;\r\n this._left = 0;\r\n this._width = 0;\r\n this._height = 0;\r\n var tabSizer = new boxengine_1.BoxSizer();\r\n var widgetSizer = new boxengine_1.BoxSizer();\r\n tabSizer.stretch = 0;\r\n widgetSizer.stretch = 1;\r\n this.tabBar = tabBar;\r\n this.sizers = [tabSizer, widgetSizer];\r\n }\r\n Object.defineProperty(TabLayoutNode.prototype, \"top\", {\r\n /**\r\n * The most recent value for the `top` edge of the layout box.\r\n */\r\n get: function () {\r\n return this._top;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(TabLayoutNode.prototype, \"left\", {\r\n /**\r\n * The most recent value for the `left` edge of the layout box.\r\n */\r\n get: function () {\r\n return this._left;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(TabLayoutNode.prototype, \"width\", {\r\n /**\r\n * The most recent value for the `width` of the layout box.\r\n */\r\n get: function () {\r\n return this._width;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(TabLayoutNode.prototype, \"height\", {\r\n /**\r\n * The most recent value for the `height` of the layout box.\r\n */\r\n get: function () {\r\n return this._height;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n /**\r\n * Create an iterator for all widgets in the layout tree.\r\n */\r\n TabLayoutNode.prototype.iterAllWidgets = function () {\r\n return algorithm_1.chain(algorithm_1.once(this.tabBar), this.iterUserWidgets());\r\n };\r\n /**\r\n * Create an iterator for the user widgets in the layout tree.\r\n */\r\n TabLayoutNode.prototype.iterUserWidgets = function () {\r\n return algorithm_1.map(this.tabBar.titles, function (title) { return title.owner; });\r\n };\r\n /**\r\n * Create an iterator for the selected widgets in the layout tree.\r\n */\r\n TabLayoutNode.prototype.iterSelectedWidgets = function () {\r\n var title = this.tabBar.currentTitle;\r\n return title ? algorithm_1.once(title.owner) : algorithm_1.empty();\r\n };\r\n /**\r\n * Create an iterator for the tab bars in the layout tree.\r\n */\r\n TabLayoutNode.prototype.iterTabBars = function () {\r\n return algorithm_1.once(this.tabBar);\r\n };\r\n /**\r\n * Create an iterator for the handles in the layout tree.\r\n */\r\n TabLayoutNode.prototype.iterHandles = function () {\r\n return algorithm_1.empty();\r\n };\r\n /**\r\n * Find the tab layout node which contains the given widget.\r\n */\r\n TabLayoutNode.prototype.findTabNode = function (widget) {\r\n return this.tabBar.titles.indexOf(widget.title) !== -1 ? this : null;\r\n };\r\n /**\r\n * Find the split layout node which contains the given handle.\r\n */\r\n TabLayoutNode.prototype.findSplitNode = function (handle) {\r\n return null;\r\n };\r\n /**\r\n * Find the first tab layout node in a layout tree.\r\n */\r\n TabLayoutNode.prototype.findFirstTabNode = function () {\r\n return this;\r\n };\r\n /**\r\n * Find the tab layout node which contains the local point.\r\n */\r\n TabLayoutNode.prototype.hitTestTabNodes = function (x, y) {\r\n if (x < this._left || x >= this._left + this._width) {\r\n return null;\r\n }\r\n if (y < this._top || y >= this._top + this._height) {\r\n return null;\r\n }\r\n return this;\r\n };\r\n /**\r\n * Create a configuration object for the layout tree.\r\n */\r\n TabLayoutNode.prototype.createConfig = function () {\r\n var widgets = this.tabBar.titles.map(function (title) { return title.owner; });\r\n var currentIndex = this.tabBar.currentIndex;\r\n return { type: 'tab-area', widgets: widgets, currentIndex: currentIndex };\r\n };\r\n /**\r\n * Recursively hold all of the sizes in the layout tree.\r\n *\r\n * This ignores the sizers of tab layout nodes.\r\n */\r\n TabLayoutNode.prototype.holdAllSizes = function () {\r\n return;\r\n };\r\n /**\r\n * Fit the layout tree.\r\n */\r\n TabLayoutNode.prototype.fit = function (spacing, items) {\r\n // Set up the limit variables.\r\n var minWidth = 0;\r\n var minHeight = 0;\r\n var maxWidth = Infinity;\r\n var maxHeight = Infinity;\r\n // Lookup the tab bar layout item.\r\n var tabBarItem = items.get(this.tabBar);\r\n // Lookup the widget layout item.\r\n var current = this.tabBar.currentTitle;\r\n var widgetItem = current ? items.get(current.owner) : undefined;\r\n // Lookup the tab bar and widget sizers.\r\n var _a = this.sizers, tabBarSizer = _a[0], widgetSizer = _a[1];\r\n // Update the tab bar limits.\r\n if (tabBarItem) {\r\n tabBarItem.fit();\r\n }\r\n // Update the widget limits.\r\n if (widgetItem) {\r\n widgetItem.fit();\r\n }\r\n // Update the results and sizer for the tab bar.\r\n if (tabBarItem && !tabBarItem.isHidden) {\r\n minWidth = Math.max(minWidth, tabBarItem.minWidth);\r\n minHeight += tabBarItem.minHeight;\r\n tabBarSizer.minSize = tabBarItem.minHeight;\r\n tabBarSizer.maxSize = tabBarItem.maxHeight;\r\n }\r\n else {\r\n tabBarSizer.minSize = 0;\r\n tabBarSizer.maxSize = 0;\r\n }\r\n // Update the results and sizer for the current widget.\r\n if (widgetItem && !widgetItem.isHidden) {\r\n minWidth = Math.max(minWidth, widgetItem.minWidth);\r\n minHeight += widgetItem.minHeight;\r\n widgetSizer.minSize = widgetItem.minHeight;\r\n widgetSizer.maxSize = Infinity;\r\n }\r\n else {\r\n widgetSizer.minSize = 0;\r\n widgetSizer.maxSize = Infinity;\r\n }\r\n // Return the computed size limits for the layout node.\r\n return { minWidth: minWidth, minHeight: minHeight, maxWidth: maxWidth, maxHeight: maxHeight };\r\n };\r\n /**\r\n * Update the layout tree.\r\n */\r\n TabLayoutNode.prototype.update = function (left, top, width, height, spacing, items) {\r\n // Update the layout box values.\r\n this._top = top;\r\n this._left = left;\r\n this._width = width;\r\n this._height = height;\r\n // Lookup the tab bar layout item.\r\n var tabBarItem = items.get(this.tabBar);\r\n // Lookup the widget layout item.\r\n var current = this.tabBar.currentTitle;\r\n var widgetItem = current ? items.get(current.owner) : undefined;\r\n // Distribute the layout space to the sizers.\r\n boxengine_1.BoxEngine.calc(this.sizers, height);\r\n // Update the tab bar item using the computed size.\r\n if (tabBarItem && !tabBarItem.isHidden) {\r\n var size = this.sizers[0].size;\r\n tabBarItem.update(left, top, width, size);\r\n top += size;\r\n }\r\n // Layout the widget using the computed size.\r\n if (widgetItem && !widgetItem.isHidden) {\r\n var size = this.sizers[1].size;\r\n widgetItem.update(left, top, width, size);\r\n }\r\n };\r\n return TabLayoutNode;\r\n }());\r\n Private.TabLayoutNode = TabLayoutNode;\r\n /**\r\n * A layout node which holds the data for a split area.\r\n */\r\n var SplitLayoutNode = (function () {\r\n /**\r\n * Construct a new split layout node.\r\n *\r\n * @param orientation - The orientation of the node.\r\n */\r\n function SplitLayoutNode(orientation) {\r\n /**\r\n * The parent of the layout node.\r\n */\r\n this.parent = null;\r\n /**\r\n * Whether the sizers have been normalized.\r\n */\r\n this.normalized = false;\r\n /**\r\n * The child nodes for the split node.\r\n */\r\n this.children = [];\r\n /**\r\n * The box sizers for the layout children.\r\n */\r\n this.sizers = [];\r\n /**\r\n * The handles for the layout children.\r\n */\r\n this.handles = [];\r\n this.orientation = orientation;\r\n }\r\n /**\r\n * Create an iterator for all widgets in the layout tree.\r\n */\r\n SplitLayoutNode.prototype.iterAllWidgets = function () {\r\n var children = algorithm_1.map(this.children, function (child) { return child.iterAllWidgets(); });\r\n return new algorithm_1.ChainIterator(children);\r\n };\r\n /**\r\n * Create an iterator for the user widgets in the layout tree.\r\n */\r\n SplitLayoutNode.prototype.iterUserWidgets = function () {\r\n var children = algorithm_1.map(this.children, function (child) { return child.iterUserWidgets(); });\r\n return new algorithm_1.ChainIterator(children);\r\n };\r\n /**\r\n * Create an iterator for the selected widgets in the layout tree.\r\n */\r\n SplitLayoutNode.prototype.iterSelectedWidgets = function () {\r\n var children = algorithm_1.map(this.children, function (child) { return child.iterSelectedWidgets(); });\r\n return new algorithm_1.ChainIterator(children);\r\n };\r\n /**\r\n * Create an iterator for the tab bars in the layout tree.\r\n */\r\n SplitLayoutNode.prototype.iterTabBars = function () {\r\n var children = algorithm_1.map(this.children, function (child) { return child.iterTabBars(); });\r\n return new algorithm_1.ChainIterator(children);\r\n };\r\n /**\r\n * Create an iterator for the handles in the layout tree.\r\n */\r\n SplitLayoutNode.prototype.iterHandles = function () {\r\n var children = algorithm_1.map(this.children, function (child) { return child.iterHandles(); });\r\n return algorithm_1.chain(this.handles, new algorithm_1.ChainIterator(children));\r\n };\r\n /**\r\n * Find the tab layout node which contains the given widget.\r\n */\r\n SplitLayoutNode.prototype.findTabNode = function (widget) {\r\n for (var i = 0, n = this.children.length; i < n; ++i) {\r\n var result = this.children[i].findTabNode(widget);\r\n if (result) {\r\n return result;\r\n }\r\n }\r\n return null;\r\n };\r\n /**\r\n * Find the split layout node which contains the given handle.\r\n */\r\n SplitLayoutNode.prototype.findSplitNode = function (handle) {\r\n var index = this.handles.indexOf(handle);\r\n if (index !== -1) {\r\n return { index: index, node: this };\r\n }\r\n for (var i = 0, n = this.children.length; i < n; ++i) {\r\n var result = this.children[i].findSplitNode(handle);\r\n if (result) {\r\n return result;\r\n }\r\n }\r\n return null;\r\n };\r\n /**\r\n * Find the first tab layout node in a layout tree.\r\n */\r\n SplitLayoutNode.prototype.findFirstTabNode = function () {\r\n if (this.children.length === 0) {\r\n return null;\r\n }\r\n return this.children[0].findFirstTabNode();\r\n };\r\n /**\r\n * Find the tab layout node which contains the local point.\r\n */\r\n SplitLayoutNode.prototype.hitTestTabNodes = function (x, y) {\r\n for (var i = 0, n = this.children.length; i < n; ++i) {\r\n var result = this.children[i].hitTestTabNodes(x, y);\r\n if (result) {\r\n return result;\r\n }\r\n }\r\n return null;\r\n };\r\n /**\r\n * Create a configuration object for the layout tree.\r\n */\r\n SplitLayoutNode.prototype.createConfig = function () {\r\n var orientation = this.orientation;\r\n var sizes = this.createNormalizedSizes();\r\n var children = this.children.map(function (child) { return child.createConfig(); });\r\n return { type: 'split-area', orientation: orientation, children: children, sizes: sizes };\r\n };\r\n /**\r\n * Sync the visibility and orientation of the handles.\r\n */\r\n SplitLayoutNode.prototype.syncHandles = function () {\r\n var _this = this;\r\n algorithm_1.each(this.handles, function (handle, i) {\r\n handle.setAttribute('data-orientation', _this.orientation);\r\n if (i === _this.handles.length - 1) {\r\n handle.classList.add('p-mod-hidden');\r\n }\r\n else {\r\n handle.classList.remove('p-mod-hidden');\r\n }\r\n });\r\n };\r\n /**\r\n * Hold the current sizes of the box sizers.\r\n *\r\n * This sets the size hint of each sizer to its current size.\r\n */\r\n SplitLayoutNode.prototype.holdSizes = function () {\r\n algorithm_1.each(this.sizers, function (sizer) { sizer.sizeHint = sizer.size; });\r\n };\r\n /**\r\n * Recursively hold all of the sizes in the layout tree.\r\n *\r\n * This ignores the sizers of tab layout nodes.\r\n */\r\n SplitLayoutNode.prototype.holdAllSizes = function () {\r\n algorithm_1.each(this.children, function (child) { return child.holdAllSizes(); });\r\n this.holdSizes();\r\n };\r\n /**\r\n * Normalize the sizes of the split layout node.\r\n */\r\n SplitLayoutNode.prototype.normalizeSizes = function () {\r\n // Bail early if the sizers are empty.\r\n var n = this.sizers.length;\r\n if (n === 0) {\r\n return;\r\n }\r\n // Hold the current sizes of the sizers.\r\n this.holdSizes();\r\n // Compute the sum of the sizes.\r\n var sum = algorithm_1.reduce(this.sizers, function (v, sizer) { return v + sizer.sizeHint; }, 0);\r\n // Normalize the sizes based on the sum.\r\n if (sum === 0) {\r\n algorithm_1.each(this.sizers, function (sizer) {\r\n sizer.size = sizer.sizeHint = 1 / n;\r\n });\r\n }\r\n else {\r\n algorithm_1.each(this.sizers, function (sizer) {\r\n sizer.size = sizer.sizeHint /= sum;\r\n });\r\n }\r\n // Mark the sizes as normalized.\r\n this.normalized = true;\r\n };\r\n /**\r\n * Snap the normalized sizes of the split layout node.\r\n */\r\n SplitLayoutNode.prototype.createNormalizedSizes = function () {\r\n // Bail early if the sizers are empty.\r\n var n = this.sizers.length;\r\n if (n === 0) {\r\n return [];\r\n }\r\n // Grab the current sizes of the sizers.\r\n var sizes = this.sizers.map(function (sizer) { return sizer.size; });\r\n // Compute the sum of the sizes.\r\n var sum = algorithm_1.reduce(sizes, function (v, size) { return v + size; }, 0);\r\n // Normalize the sizes based on the sum.\r\n if (sum === 0) {\r\n algorithm_1.each(sizes, function (size, i) { sizes[i] = 1 / n; });\r\n }\r\n else {\r\n algorithm_1.each(sizes, function (size, i) { sizes[i] = size / sum; });\r\n }\r\n // Return the normalized sizes.\r\n return sizes;\r\n };\r\n /**\r\n * Fit the layout tree.\r\n */\r\n SplitLayoutNode.prototype.fit = function (spacing, items) {\r\n // Compute the required fixed space.\r\n var horizontal = this.orientation === 'horizontal';\r\n var fixed = Math.max(0, this.children.length - 1) * spacing;\r\n // Set up the limit variables.\r\n var minWidth = horizontal ? fixed : 0;\r\n var minHeight = horizontal ? 0 : fixed;\r\n var maxWidth = Infinity;\r\n var maxHeight = Infinity;\r\n // Fit the children and update the limits.\r\n for (var i = 0, n = this.children.length; i < n; ++i) {\r\n var limits = this.children[i].fit(spacing, items);\r\n if (horizontal) {\r\n minHeight = Math.max(minHeight, limits.minHeight);\r\n minWidth += limits.minWidth;\r\n this.sizers[i].minSize = limits.minWidth;\r\n }\r\n else {\r\n minWidth = Math.max(minWidth, limits.minWidth);\r\n minHeight += limits.minHeight;\r\n this.sizers[i].minSize = limits.minHeight;\r\n }\r\n }\r\n // Return the computed limits for the layout node.\r\n return { minWidth: minWidth, minHeight: minHeight, maxWidth: maxWidth, maxHeight: maxHeight };\r\n };\r\n /**\r\n * Update the layout tree.\r\n */\r\n SplitLayoutNode.prototype.update = function (left, top, width, height, spacing, items) {\r\n // Compute the available layout space.\r\n var horizontal = this.orientation === 'horizontal';\r\n var fixed = Math.max(0, this.children.length - 1) * spacing;\r\n var space = Math.max(0, (horizontal ? width : height) - fixed);\r\n // De-normalize the sizes if needed.\r\n if (this.normalized) {\r\n algorithm_1.each(this.sizers, function (sizer) { sizer.sizeHint *= space; });\r\n this.normalized = false;\r\n }\r\n // Distribute the layout space to the sizers.\r\n boxengine_1.BoxEngine.calc(this.sizers, space);\r\n // Update the geometry of the child nodes and handles.\r\n for (var i = 0, n = this.children.length; i < n; ++i) {\r\n var child = this.children[i];\r\n var size = this.sizers[i].size;\r\n var handleStyle = this.handles[i].style;\r\n if (horizontal) {\r\n child.update(left, top, size, height, spacing, items);\r\n left += size;\r\n handleStyle.top = top + \"px\";\r\n handleStyle.left = left + \"px\";\r\n handleStyle.width = spacing + \"px\";\r\n handleStyle.height = height + \"px\";\r\n left += spacing;\r\n }\r\n else {\r\n child.update(left, top, width, size, spacing, items);\r\n top += size;\r\n handleStyle.top = top + \"px\";\r\n handleStyle.left = left + \"px\";\r\n handleStyle.width = width + \"px\";\r\n handleStyle.height = spacing + \"px\";\r\n top += spacing;\r\n }\r\n }\r\n };\r\n return SplitLayoutNode;\r\n }());\r\n Private.SplitLayoutNode = SplitLayoutNode;\r\n /**\r\n * Normalize a tab area config and collect the visited widgets.\r\n */\r\n function normalizeTabAreaConfig(config, widgetSet) {\r\n // Bail early if there is no content.\r\n if (config.widgets.length === 0) {\r\n return null;\r\n }\r\n // Setup the filtered widgets array.\r\n var widgets = [];\r\n // Filter the config for unique widgets.\r\n algorithm_1.each(config.widgets, function (widget) {\r\n if (!widgetSet.has(widget)) {\r\n widgetSet.add(widget);\r\n widgets.push(widget);\r\n }\r\n });\r\n // Bail if there are no effective widgets.\r\n if (widgets.length === 0) {\r\n return null;\r\n }\r\n // Normalize the current index.\r\n var index = config.currentIndex;\r\n if (index !== -1 && (index < 0 || index >= widgets.length)) {\r\n index = 0;\r\n }\r\n // Return a normalized config object.\r\n return { type: 'tab-area', widgets: widgets, currentIndex: index };\r\n }\r\n /**\r\n * Normalize a split area config and collect the visited widgets.\r\n */\r\n function normalizeSplitAreaConfig(config, widgetSet) {\r\n // Set up the result variables.\r\n var orientation = config.orientation;\r\n var children = [];\r\n var sizes = [];\r\n // Normalize the config children.\r\n for (var i = 0, n = config.children.length; i < n; ++i) {\r\n // Normalize the child config.\r\n var child = normalizeAreaConfig(config.children[i], widgetSet);\r\n // Ignore an empty child.\r\n if (!child) {\r\n continue;\r\n }\r\n // Add the child or hoist its content as appropriate.\r\n if (child.type === 'tab-area' || child.orientation !== orientation) {\r\n children.push(child);\r\n sizes.push(Math.abs(config.sizes[i] || 0));\r\n }\r\n else {\r\n children.push.apply(children, child.children);\r\n sizes.push.apply(sizes, child.sizes);\r\n }\r\n }\r\n // Bail if there are no effective children.\r\n if (children.length === 0) {\r\n return null;\r\n }\r\n // If there is only one effective child, return that child.\r\n if (children.length === 1) {\r\n return children[0];\r\n }\r\n // Return a normalized config object.\r\n return { type: 'split-area', orientation: orientation, children: children, sizes: sizes };\r\n }\r\n /**\r\n * Convert a normalized tab area config into a layout tree.\r\n */\r\n function realizeTabAreaConfig(config, renderer) {\r\n // Create the tab bar for the layout node.\r\n var tabBar = renderer.createTabBar();\r\n // Hide each widget and add it to the tab bar.\r\n algorithm_1.each(config.widgets, function (widget) {\r\n widget.hide();\r\n tabBar.addTab(widget.title);\r\n });\r\n // Set the current index of the tab bar.\r\n tabBar.currentIndex = config.currentIndex;\r\n // Return the new tab layout node.\r\n return new TabLayoutNode(tabBar);\r\n }\r\n /**\r\n * Convert a normalized split area config into a layout tree.\r\n */\r\n function realizeSplitAreaConfig(config, renderer) {\r\n // Create the split layout node.\r\n var node = new SplitLayoutNode(config.orientation);\r\n // Add each child to the layout node.\r\n algorithm_1.each(config.children, function (child, i) {\r\n // Create the child data for the layout node.\r\n var childNode = realizeAreaConfig(child, renderer);\r\n var sizer = createSizer(config.sizes[i]);\r\n var handle = renderer.createHandle();\r\n // Add the child data to the layout node.\r\n node.children.push(childNode);\r\n node.handles.push(handle);\r\n node.sizers.push(sizer);\r\n // Update the parent for the child node.\r\n childNode.parent = node;\r\n });\r\n // Synchronize the handle state for the layout node.\r\n node.syncHandles();\r\n // Normalize the sizes for the layout node.\r\n node.normalizeSizes();\r\n // Return the new layout node.\r\n return node;\r\n }\r\n})(Private || (Private = {}));\r\n\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\r\n t[p] = s[p];\r\n }\r\n return t;\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/*-----------------------------------------------------------------------------\r\n| Copyright (c) 2014-2017, PhosphorJS Contributors\r\n|\r\n| Distributed under the terms of the BSD 3-Clause License.\r\n|\r\n| The full license is in the file LICENSE, distributed with this software.\r\n|----------------------------------------------------------------------------*/\r\nvar algorithm_1 = __webpack_require__(0);\r\nvar commands_1 = __webpack_require__(11);\r\nvar coreutils_1 = __webpack_require__(6);\r\nvar domutils_1 = __webpack_require__(1);\r\nvar keyboard_1 = __webpack_require__(14);\r\nvar messaging_1 = __webpack_require__(3);\r\nvar signaling_1 = __webpack_require__(4);\r\nvar virtualdom_1 = __webpack_require__(9);\r\nvar widget_1 = __webpack_require__(2);\r\n/**\r\n * A widget which displays items as a canonical menu.\r\n */\r\nvar Menu = (function (_super) {\r\n __extends(Menu, _super);\r\n /**\r\n * Construct a new menu.\r\n *\r\n * @param options - The options for initializing the menu.\r\n */\r\n function Menu(options) {\r\n var _this = _super.call(this, { node: Private.createNode() }) || this;\r\n _this._childIndex = -1;\r\n _this._activeIndex = -1;\r\n _this._openTimerID = 0;\r\n _this._closeTimerID = 0;\r\n _this._items = [];\r\n _this._childMenu = null;\r\n _this._parentMenu = null;\r\n _this._aboutToClose = new signaling_1.Signal(_this);\r\n _this._menuRequested = new signaling_1.Signal(_this);\r\n _this.addClass('p-Menu');\r\n _this.setFlag(widget_1.Widget.Flag.DisallowLayout);\r\n _this.commands = options.commands;\r\n _this.renderer = options.renderer || Menu.defaultRenderer;\r\n return _this;\r\n }\r\n /**\r\n * Dispose of the resources held by the menu.\r\n */\r\n Menu.prototype.dispose = function () {\r\n this.close();\r\n this._items.length = 0;\r\n _super.prototype.dispose.call(this);\r\n };\r\n Object.defineProperty(Menu.prototype, \"aboutToClose\", {\r\n /**\r\n * A signal emitted just before the menu is closed.\r\n *\r\n * #### Notes\r\n * This signal is emitted when the menu receives a `'close-request'`\r\n * message, just before it removes itself from the DOM.\r\n *\r\n * This signal is not emitted if the menu is already detached from\r\n * the DOM when it receives the `'close-request'` message.\r\n */\r\n get: function () {\r\n return this._aboutToClose;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(Menu.prototype, \"menuRequested\", {\r\n /**\r\n * A signal emitted when a new menu is requested by the user.\r\n *\r\n * #### Notes\r\n * This signal is emitted whenever the user presses the right or left\r\n * arrow keys, and a submenu cannot be opened or closed in response.\r\n *\r\n * This signal is useful when implementing menu bars in order to open\r\n * the next or previous menu in response to a user key press.\r\n *\r\n * This signal is only emitted for the root menu in a hierarchy.\r\n */\r\n get: function () {\r\n return this._menuRequested;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(Menu.prototype, \"parentMenu\", {\r\n /**\r\n * The parent menu of the menu.\r\n *\r\n * #### Notes\r\n * This is `null` unless the menu is an open submenu.\r\n */\r\n get: function () {\r\n return this._parentMenu;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(Menu.prototype, \"childMenu\", {\r\n /**\r\n * The child menu of the menu.\r\n *\r\n * #### Notes\r\n * This is `null` unless the menu has an open submenu.\r\n */\r\n get: function () {\r\n return this._childMenu;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(Menu.prototype, \"rootMenu\", {\r\n /**\r\n * The root menu of the menu hierarchy.\r\n */\r\n get: function () {\r\n var menu = this;\r\n while (menu._parentMenu) {\r\n menu = menu._parentMenu;\r\n }\r\n return menu;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(Menu.prototype, \"leafMenu\", {\r\n /**\r\n * The leaf menu of the menu hierarchy.\r\n */\r\n get: function () {\r\n var menu = this;\r\n while (menu._childMenu) {\r\n menu = menu._childMenu;\r\n }\r\n return menu;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(Menu.prototype, \"contentNode\", {\r\n /**\r\n * The menu content node.\r\n *\r\n * #### Notes\r\n * This is the node which holds the menu item nodes.\r\n *\r\n * Modifying this node directly can lead to undefined behavior.\r\n */\r\n get: function () {\r\n return this.node.getElementsByClassName('p-Menu-content')[0];\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(Menu.prototype, \"activeItem\", {\r\n /**\r\n * Get the currently active menu item.\r\n */\r\n get: function () {\r\n return this._items[this._activeIndex] || null;\r\n },\r\n /**\r\n * Set the currently active menu item.\r\n *\r\n * #### Notes\r\n * If the item cannot be activated, the item will be set to `null`.\r\n */\r\n set: function (value) {\r\n this.activeIndex = value ? this._items.indexOf(value) : -1;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(Menu.prototype, \"activeIndex\", {\r\n /**\r\n * Get the index of the currently active menu item.\r\n *\r\n * #### Notes\r\n * This will be `-1` if no menu item is active.\r\n */\r\n get: function () {\r\n return this._activeIndex;\r\n },\r\n /**\r\n * Set the index of the currently active menu item.\r\n *\r\n * #### Notes\r\n * If the item cannot be activated, the index will be set to `-1`.\r\n */\r\n set: function (value) {\r\n // Adjust the value for an out of range index.\r\n if (value < 0 || value >= this._items.length) {\r\n value = -1;\r\n }\r\n // Ensure the item can be activated.\r\n if (value !== -1 && !Private.canActivate(this._items[value])) {\r\n value = -1;\r\n }\r\n // Bail if the index will not change.\r\n if (this._activeIndex === value) {\r\n return;\r\n }\r\n // Update the active index.\r\n this._activeIndex = value;\r\n // schedule an update of the items.\r\n this.update();\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(Menu.prototype, \"items\", {\r\n /**\r\n * A read-only array of the menu items in the menu.\r\n */\r\n get: function () {\r\n return this._items;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n /**\r\n * Activate the next selectable item in the menu.\r\n *\r\n * #### Notes\r\n * If no item is selectable, the index will be set to `-1`.\r\n */\r\n Menu.prototype.activateNextItem = function () {\r\n var n = this._items.length;\r\n var ai = this._activeIndex;\r\n var start = ai < n - 1 ? ai + 1 : 0;\r\n var stop = start === 0 ? n - 1 : start - 1;\r\n this.activeIndex = algorithm_1.ArrayExt.findFirstIndex(this._items, Private.canActivate, start, stop);\r\n };\r\n /**\r\n * Activate the previous selectable item in the menu.\r\n *\r\n * #### Notes\r\n * If no item is selectable, the index will be set to `-1`.\r\n */\r\n Menu.prototype.activatePreviousItem = function () {\r\n var n = this._items.length;\r\n var ai = this._activeIndex;\r\n var start = ai <= 0 ? n - 1 : ai - 1;\r\n var stop = start === n - 1 ? 0 : start + 1;\r\n this.activeIndex = algorithm_1.ArrayExt.findLastIndex(this._items, Private.canActivate, start, stop);\r\n };\r\n /**\r\n * Trigger the active menu item.\r\n *\r\n * #### Notes\r\n * If the active item is a submenu, it will be opened and the first\r\n * item will be activated.\r\n *\r\n * If the active item is a command, the command will be executed.\r\n *\r\n * If the menu is not attached, this is a no-op.\r\n *\r\n * If there is no active item, this is a no-op.\r\n */\r\n Menu.prototype.triggerActiveItem = function () {\r\n // Bail if the menu is not attached.\r\n if (!this.isAttached) {\r\n return;\r\n }\r\n // Bail if there is no active item.\r\n var item = this.activeItem;\r\n if (!item) {\r\n return;\r\n }\r\n // Cancel the pending timers.\r\n this._cancelOpenTimer();\r\n this._cancelCloseTimer();\r\n // If the item is a submenu, open it.\r\n if (item.type === 'submenu') {\r\n this._openChildMenu(true);\r\n return;\r\n }\r\n // Close the root menu before executing the command.\r\n this.rootMenu.close();\r\n // Execute the command for the item.\r\n var command = item.command, args = item.args;\r\n if (this.commands.isEnabled(command, args)) {\r\n this.commands.execute(command, args);\r\n }\r\n else {\r\n console.log(\"Command '\" + command + \"' is disabled.\");\r\n }\r\n };\r\n /**\r\n * Add a menu item to the end of the menu.\r\n *\r\n * @param options - The options for creating the menu item.\r\n *\r\n * @returns The menu item added to the menu.\r\n */\r\n Menu.prototype.addItem = function (options) {\r\n return this.insertItem(this._items.length, options);\r\n };\r\n /**\r\n * Insert a menu item into the menu at the specified index.\r\n *\r\n * @param index - The index at which to insert the item.\r\n *\r\n * @param options - The options for creating the menu item.\r\n *\r\n * @returns The menu item added to the menu.\r\n *\r\n * #### Notes\r\n * The index will be clamped to the bounds of the items.\r\n */\r\n Menu.prototype.insertItem = function (index, options) {\r\n // Close the menu if it's attached.\r\n if (this.isAttached) {\r\n this.close();\r\n }\r\n // Reset the active index.\r\n this.activeIndex = -1;\r\n // Clamp the insert index to the array bounds.\r\n var i = Math.max(0, Math.min(index, this._items.length));\r\n // Create the item for the options.\r\n var item = Private.createItem(this, options);\r\n // Insert the item into the array.\r\n algorithm_1.ArrayExt.insert(this._items, i, item);\r\n // Schedule an update of the items.\r\n this.update();\r\n // Return the item added to the menu.\r\n return item;\r\n };\r\n /**\r\n * Remove an item from the menu.\r\n *\r\n * @param item - The item to remove from the menu.\r\n *\r\n * #### Notes\r\n * This is a no-op if the item is not in the menu.\r\n */\r\n Menu.prototype.removeItem = function (item) {\r\n this.removeItemAt(this._items.indexOf(item));\r\n };\r\n /**\r\n * Remove the item at a given index from the menu.\r\n *\r\n * @param index - The index of the item to remove.\r\n *\r\n * #### Notes\r\n * This is a no-op if the index is out of range.\r\n */\r\n Menu.prototype.removeItemAt = function (index) {\r\n // Close the menu if it's attached.\r\n if (this.isAttached) {\r\n this.close();\r\n }\r\n // Reset the active index.\r\n this.activeIndex = -1;\r\n // Remove the item from the array.\r\n var item = algorithm_1.ArrayExt.removeAt(this._items, index);\r\n // Bail if the index is out of range.\r\n if (!item) {\r\n return;\r\n }\r\n // Schedule an update of the items.\r\n this.update();\r\n };\r\n /**\r\n * Remove all menu items from the menu.\r\n */\r\n Menu.prototype.clearItems = function () {\r\n // Close the menu if it's attached.\r\n if (this.isAttached) {\r\n this.close();\r\n }\r\n // Reset the active index.\r\n this.activeIndex = -1;\r\n // Bail if there is nothing to remove.\r\n if (this._items.length === 0) {\r\n return;\r\n }\r\n // Clear the items.\r\n this._items.length = 0;\r\n // Schedule an update of the items.\r\n this.update();\r\n };\r\n /**\r\n * Open the menu at the specified location.\r\n *\r\n * @param x - The client X coordinate of the menu location.\r\n *\r\n * @param y - The client Y coordinate of the menu location.\r\n *\r\n * @param options - The additional options for opening the menu.\r\n *\r\n * #### Notes\r\n * The menu will be opened at the given location unless it will not\r\n * fully fit on the screen. If it will not fit, it will be adjusted\r\n * to fit naturally on the screen.\r\n *\r\n * This is a no-op if the menu is already attached to the DOM.\r\n */\r\n Menu.prototype.open = function (x, y, options) {\r\n if (options === void 0) { options = {}; }\r\n // Bail early if the menu is already attached.\r\n if (this.isAttached) {\r\n return;\r\n }\r\n // Extract the position options.\r\n var forceX = options.forceX || false;\r\n var forceY = options.forceY || false;\r\n // Open the menu as a root menu.\r\n Private.openRootMenu(this, x, y, forceX, forceY);\r\n // Activate the menu to accept keyboard input.\r\n this.activate();\r\n };\r\n /**\r\n * Handle the DOM events for the menu.\r\n *\r\n * @param event - The DOM event sent to the menu.\r\n *\r\n * #### Notes\r\n * This method implements the DOM `EventListener` interface and is\r\n * called in response to events on the menu's DOM nodes. It should\r\n * not be called directly by user code.\r\n */\r\n Menu.prototype.handleEvent = function (event) {\r\n switch (event.type) {\r\n case 'keydown':\r\n this._evtKeyDown(event);\r\n break;\r\n case 'mouseup':\r\n this._evtMouseUp(event);\r\n break;\r\n case 'mousemove':\r\n this._evtMouseMove(event);\r\n break;\r\n case 'mouseenter':\r\n this._evtMouseEnter(event);\r\n break;\r\n case 'mouseleave':\r\n this._evtMouseLeave(event);\r\n break;\r\n case 'mousedown':\r\n this._evtMouseDown(event);\r\n break;\r\n case 'contextmenu':\r\n event.preventDefault();\r\n event.stopPropagation();\r\n break;\r\n }\r\n };\r\n /**\r\n * A message handler invoked on a `'before-attach'` message.\r\n */\r\n Menu.prototype.onBeforeAttach = function (msg) {\r\n this.node.addEventListener('keydown', this);\r\n this.node.addEventListener('mouseup', this);\r\n this.node.addEventListener('mousemove', this);\r\n this.node.addEventListener('mouseenter', this);\r\n this.node.addEventListener('mouseleave', this);\r\n this.node.addEventListener('contextmenu', this);\r\n document.addEventListener('mousedown', this, true);\r\n };\r\n /**\r\n * A message handler invoked on an `'after-detach'` message.\r\n */\r\n Menu.prototype.onAfterDetach = function (msg) {\r\n this.node.removeEventListener('keydown', this);\r\n this.node.removeEventListener('mouseup', this);\r\n this.node.removeEventListener('mousemove', this);\r\n this.node.removeEventListener('mouseenter', this);\r\n this.node.removeEventListener('mouseleave', this);\r\n this.node.removeEventListener('contextmenu', this);\r\n document.removeEventListener('mousedown', this, true);\r\n };\r\n /**\r\n * A message handler invoked on an `'activate-request'` message.\r\n */\r\n Menu.prototype.onActivateRequest = function (msg) {\r\n if (this.isAttached) {\r\n this.node.focus();\r\n }\r\n };\r\n /**\r\n * A message handler invoked on an `'update-request'` message.\r\n */\r\n Menu.prototype.onUpdateRequest = function (msg) {\r\n var items = this._items;\r\n var renderer = this.renderer;\r\n var activeIndex = this._activeIndex;\r\n var collapsedFlags = Private.computeCollapsed(items);\r\n var content = new Array(items.length);\r\n for (var i = 0, n = items.length; i < n; ++i) {\r\n var item = items[i];\r\n var active = i === activeIndex;\r\n var collapsed = collapsedFlags[i];\r\n content[i] = renderer.renderItem({ item: item, active: active, collapsed: collapsed });\r\n }\r\n virtualdom_1.VirtualDOM.render(content, this.contentNode);\r\n };\r\n /**\r\n * A message handler invoked on a `'close-request'` message.\r\n */\r\n Menu.prototype.onCloseRequest = function (msg) {\r\n // Cancel the pending timers.\r\n this._cancelOpenTimer();\r\n this._cancelCloseTimer();\r\n // Reset the active index.\r\n this.activeIndex = -1;\r\n // Close any open child menu.\r\n var childMenu = this._childMenu;\r\n if (childMenu) {\r\n this._childIndex = -1;\r\n this._childMenu = null;\r\n childMenu._parentMenu = null;\r\n childMenu.close();\r\n }\r\n // Remove this menu from its parent and activate the parent.\r\n var parentMenu = this._parentMenu;\r\n if (parentMenu) {\r\n this._parentMenu = null;\r\n parentMenu._childIndex = -1;\r\n parentMenu._childMenu = null;\r\n parentMenu.activate();\r\n }\r\n // Emit the `aboutToClose` signal if the menu is attached.\r\n if (this.isAttached) {\r\n this._aboutToClose.emit(undefined);\r\n }\r\n // Finish closing the menu.\r\n _super.prototype.onCloseRequest.call(this, msg);\r\n };\r\n /**\r\n * Handle the `'keydown'` event for the menu.\r\n *\r\n * #### Notes\r\n * This listener is attached to the menu node.\r\n */\r\n Menu.prototype._evtKeyDown = function (event) {\r\n // A menu handles all keydown events.\r\n event.preventDefault();\r\n event.stopPropagation();\r\n // Fetch the key code for the event.\r\n var kc = event.keyCode;\r\n // Enter\r\n if (kc === 13) {\r\n this.triggerActiveItem();\r\n return;\r\n }\r\n // Escape\r\n if (kc === 27) {\r\n this.close();\r\n return;\r\n }\r\n // Left Arrow\r\n if (kc === 37) {\r\n if (this._parentMenu) {\r\n this.close();\r\n }\r\n else {\r\n this._menuRequested.emit('previous');\r\n }\r\n return;\r\n }\r\n // Up Arrow\r\n if (kc === 38) {\r\n this.activatePreviousItem();\r\n return;\r\n }\r\n // Right Arrow\r\n if (kc === 39) {\r\n var item = this.activeItem;\r\n if (item && item.type === 'submenu') {\r\n this.triggerActiveItem();\r\n }\r\n else {\r\n this.rootMenu._menuRequested.emit('next');\r\n }\r\n return;\r\n }\r\n // Down Arrow\r\n if (kc === 40) {\r\n this.activateNextItem();\r\n return;\r\n }\r\n // Get the pressed key character.\r\n var key = keyboard_1.getKeyboardLayout().keyForKeydownEvent(event);\r\n // Bail if the key is not valid.\r\n if (!key) {\r\n return;\r\n }\r\n // Search for the next best matching mnemonic item.\r\n var start = this._activeIndex + 1;\r\n var result = Private.findMnemonic(this._items, key, start);\r\n // Handle the requested mnemonic based on the search results.\r\n // If exactly one mnemonic is matched, that item is triggered.\r\n // Otherwise, the next mnemonic is activated if available,\r\n // followed by the auto mnemonic if available.\r\n if (result.index !== -1 && !result.multiple) {\r\n this.activeIndex = result.index;\r\n this.triggerActiveItem();\r\n }\r\n else if (result.index !== -1) {\r\n this.activeIndex = result.index;\r\n }\r\n else if (result.auto !== -1) {\r\n this.activeIndex = result.auto;\r\n }\r\n };\r\n /**\r\n * Handle the `'mouseup'` event for the menu.\r\n *\r\n * #### Notes\r\n * This listener is attached to the menu node.\r\n */\r\n Menu.prototype._evtMouseUp = function (event) {\r\n if (event.button !== 0) {\r\n return;\r\n }\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.triggerActiveItem();\r\n };\r\n /**\r\n * Handle the `'mousemove'` event for the menu.\r\n *\r\n * #### Notes\r\n * This listener is attached to the menu node.\r\n */\r\n Menu.prototype._evtMouseMove = function (event) {\r\n // Hit test the item nodes for the item under the mouse.\r\n var index = algorithm_1.ArrayExt.findFirstIndex(this.contentNode.children, function (node) {\r\n return domutils_1.ElementExt.hitTest(node, event.clientX, event.clientY);\r\n });\r\n // Bail early if the mouse is already over the active index.\r\n if (index === this._activeIndex) {\r\n return;\r\n }\r\n // Update and coerce the active index.\r\n this.activeIndex = index;\r\n index = this.activeIndex;\r\n // If the index is the current child index, cancel the timers.\r\n if (index === this._childIndex) {\r\n this._cancelOpenTimer();\r\n this._cancelCloseTimer();\r\n return;\r\n }\r\n // If a child menu is currently open, start the close timer.\r\n if (this._childIndex !== -1) {\r\n this._startCloseTimer();\r\n }\r\n // Cancel the open timer to give a full delay for opening.\r\n this._cancelOpenTimer();\r\n // Bail if the active item is not a valid submenu item.\r\n var item = this.activeItem;\r\n if (!item || item.type !== 'submenu' || !item.submenu) {\r\n return;\r\n }\r\n // Start the open timer to open the active item submenu.\r\n this._startOpenTimer();\r\n };\r\n /**\r\n * Handle the `'mouseenter'` event for the menu.\r\n *\r\n * #### Notes\r\n * This listener is attached to the menu node.\r\n */\r\n Menu.prototype._evtMouseEnter = function (event) {\r\n // Synchronize the active ancestor items.\r\n for (var menu = this._parentMenu; menu; menu = menu._parentMenu) {\r\n menu._cancelOpenTimer();\r\n menu._cancelCloseTimer();\r\n menu.activeIndex = menu._childIndex;\r\n }\r\n };\r\n /**\r\n * Handle the `'mouseleave'` event for the menu.\r\n *\r\n * #### Notes\r\n * This listener is attached to the menu node.\r\n */\r\n Menu.prototype._evtMouseLeave = function (event) {\r\n // Cancel any pending submenu opening.\r\n this._cancelOpenTimer();\r\n // If there is no open child menu, just reset the active index.\r\n if (!this._childMenu) {\r\n this.activeIndex = -1;\r\n return;\r\n }\r\n // If the mouse is over the child menu, cancel the close timer.\r\n var clientX = event.clientX, clientY = event.clientY;\r\n if (domutils_1.ElementExt.hitTest(this._childMenu.node, clientX, clientY)) {\r\n this._cancelCloseTimer();\r\n return;\r\n }\r\n // Otherwise, reset the active index and start the close timer.\r\n this.activeIndex = -1;\r\n this._startCloseTimer();\r\n };\r\n /**\r\n * Handle the `'mousedown'` event for the menu.\r\n *\r\n * #### Notes\r\n * This listener is attached to the document node.\r\n */\r\n Menu.prototype._evtMouseDown = function (event) {\r\n // Bail if the menu is not a root menu.\r\n if (this._parentMenu) {\r\n return;\r\n }\r\n // The mouse button which is pressed is irrelevant. If the press\r\n // is not on a menu, the entire hierarchy is closed and the event\r\n // is allowed to propagate. This allows other code to act on the\r\n // event, such as focusing the clicked element.\r\n if (Private.hitTestMenus(this, event.clientX, event.clientY)) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n else {\r\n this.close();\r\n }\r\n };\r\n /**\r\n * Open the child menu at the active index immediately.\r\n *\r\n * If a different child menu is already open, it will be closed,\r\n * even if the active item is not a valid submenu.\r\n */\r\n Menu.prototype._openChildMenu = function (activateFirst) {\r\n if (activateFirst === void 0) { activateFirst = false; }\r\n // If the item is not a valid submenu, close the child menu.\r\n var item = this.activeItem;\r\n if (!item || item.type !== 'submenu' || !item.submenu) {\r\n this._closeChildMenu();\r\n return;\r\n }\r\n // Do nothing if the child menu will not change.\r\n var submenu = item.submenu;\r\n if (submenu === this._childMenu) {\r\n return;\r\n }\r\n // Ensure the current child menu is closed.\r\n this._closeChildMenu();\r\n // Update the private child state.\r\n this._childMenu = submenu;\r\n this._childIndex = this._activeIndex;\r\n // Set the parent menu reference for the child.\r\n submenu._parentMenu = this;\r\n // Ensure the menu is updated and lookup the item node.\r\n messaging_1.MessageLoop.sendMessage(this, widget_1.Widget.Msg.UpdateRequest);\r\n var itemNode = this.contentNode.children[this._activeIndex];\r\n // Open the submenu at the active node.\r\n Private.openSubmenu(submenu, itemNode);\r\n // Activate the first item if desired.\r\n if (activateFirst) {\r\n submenu.activeIndex = -1;\r\n submenu.activateNextItem();\r\n }\r\n // Activate the child menu.\r\n submenu.activate();\r\n };\r\n /**\r\n * Close the child menu immediately.\r\n *\r\n * This is a no-op if a child menu is not open.\r\n */\r\n Menu.prototype._closeChildMenu = function () {\r\n if (this._childMenu) {\r\n this._childMenu.close();\r\n }\r\n };\r\n /**\r\n * Start the open timer, unless it is already pending.\r\n */\r\n Menu.prototype._startOpenTimer = function () {\r\n var _this = this;\r\n if (this._openTimerID === 0) {\r\n this._openTimerID = setTimeout(function () {\r\n _this._openTimerID = 0;\r\n _this._openChildMenu();\r\n }, Private.TIMER_DELAY);\r\n }\r\n };\r\n /**\r\n * Start the close timer, unless it is already pending.\r\n */\r\n Menu.prototype._startCloseTimer = function () {\r\n var _this = this;\r\n if (this._closeTimerID === 0) {\r\n this._closeTimerID = setTimeout(function () {\r\n _this._closeTimerID = 0;\r\n _this._closeChildMenu();\r\n }, Private.TIMER_DELAY);\r\n }\r\n };\r\n /**\r\n * Cancel the open timer, if the timer is pending.\r\n */\r\n Menu.prototype._cancelOpenTimer = function () {\r\n if (this._openTimerID !== 0) {\r\n clearTimeout(this._openTimerID);\r\n this._openTimerID = 0;\r\n }\r\n };\r\n /**\r\n * Cancel the close timer, if the timer is pending.\r\n */\r\n Menu.prototype._cancelCloseTimer = function () {\r\n if (this._closeTimerID !== 0) {\r\n clearTimeout(this._closeTimerID);\r\n this._closeTimerID = 0;\r\n }\r\n };\r\n return Menu;\r\n}(widget_1.Widget));\r\nexports.Menu = Menu;\r\n/**\r\n * The namespace for the `Menu` class statics.\r\n */\r\n(function (Menu) {\r\n /**\r\n * The default implementation of `IRenderer`.\r\n *\r\n * #### Notes\r\n * Subclasses are free to reimplement rendering methods as needed.\r\n */\r\n var Renderer = (function () {\r\n /**\r\n * Construct a new renderer.\r\n */\r\n function Renderer() {\r\n }\r\n /**\r\n * Render the virtual element for a menu item.\r\n *\r\n * @param data - The data to use for rendering the item.\r\n *\r\n * @returns A virtual element representing the item.\r\n */\r\n Renderer.prototype.renderItem = function (data) {\r\n var className = this.createItemClass(data);\r\n var dataset = this.createItemDataset(data);\r\n return (virtualdom_1.h.li({ className: className, dataset: dataset }, this.renderIcon(data), this.renderLabel(data), this.renderShortcut(data), this.renderSubmenu(data)));\r\n };\r\n /**\r\n * Render the icon element for a menu item.\r\n *\r\n * @param data - The data to use for rendering the icon.\r\n *\r\n * @returns A virtual element representing the item icon.\r\n */\r\n Renderer.prototype.renderIcon = function (data) {\r\n var className = this.createIconClass(data);\r\n return virtualdom_1.h.div({ className: className }, data.item.iconLabel);\r\n };\r\n /**\r\n * Render the label element for a menu item.\r\n *\r\n * @param data - The data to use for rendering the label.\r\n *\r\n * @returns A virtual element representing the item label.\r\n */\r\n Renderer.prototype.renderLabel = function (data) {\r\n var content = this.formatLabel(data);\r\n return virtualdom_1.h.div({ className: 'p-Menu-itemLabel' }, content);\r\n };\r\n /**\r\n * Render the shortcut element for a menu item.\r\n *\r\n * @param data - The data to use for rendering the shortcut.\r\n *\r\n * @returns A virtual element representing the item shortcut.\r\n */\r\n Renderer.prototype.renderShortcut = function (data) {\r\n var content = this.formatShortcut(data);\r\n return virtualdom_1.h.div({ className: 'p-Menu-itemShortcut' }, content);\r\n };\r\n /**\r\n * Render the submenu icon element for a menu item.\r\n *\r\n * @param data - The data to use for rendering the submenu icon.\r\n *\r\n * @returns A virtual element representing the submenu icon.\r\n */\r\n Renderer.prototype.renderSubmenu = function (data) {\r\n return virtualdom_1.h.div({ className: 'p-Menu-itemSubmenuIcon' });\r\n };\r\n /**\r\n * Create the class name for the menu item.\r\n *\r\n * @param data - The data to use for the class name.\r\n *\r\n * @returns The full class name for the menu item.\r\n */\r\n Renderer.prototype.createItemClass = function (data) {\r\n // Setup the initial class name.\r\n var name = 'p-Menu-item';\r\n // Add the boolean state classes.\r\n if (!data.item.isEnabled) {\r\n name += ' p-mod-disabled';\r\n }\r\n if (data.item.isToggled) {\r\n name += ' p-mod-toggled';\r\n }\r\n if (!data.item.isVisible) {\r\n name += ' p-mod-hidden';\r\n }\r\n if (data.active) {\r\n name += ' p-mod-active';\r\n }\r\n if (data.collapsed) {\r\n name += ' p-mod-collapsed';\r\n }\r\n // Add the extra class.\r\n var extra = data.item.className;\r\n if (extra) {\r\n name += \" \" + extra;\r\n }\r\n // Return the complete class name.\r\n return name;\r\n };\r\n /**\r\n * Create the dataset for the menu item.\r\n *\r\n * @param data - The data to use for creating the dataset.\r\n *\r\n * @returns The dataset for the menu item.\r\n */\r\n Renderer.prototype.createItemDataset = function (data) {\r\n var result;\r\n var _a = data.item, type = _a.type, command = _a.command, dataset = _a.dataset;\r\n if (type === 'command') {\r\n result = __assign({}, dataset, { type: type, command: command });\r\n }\r\n else {\r\n result = __assign({}, dataset, { type: type });\r\n }\r\n return result;\r\n };\r\n /**\r\n * Create the class name for the menu item icon.\r\n *\r\n * @param data - The data to use for the class name.\r\n *\r\n * @returns The full class name for the item icon.\r\n */\r\n Renderer.prototype.createIconClass = function (data) {\r\n var name = 'p-Menu-itemIcon';\r\n var extra = data.item.iconClass;\r\n return extra ? name + \" \" + extra : name;\r\n };\r\n /**\r\n * Create the render content for the label node.\r\n *\r\n * @param data - The data to use for the label content.\r\n *\r\n * @returns The content to add to the label node.\r\n */\r\n Renderer.prototype.formatLabel = function (data) {\r\n // Fetch the label text and mnemonic index.\r\n var _a = data.item, label = _a.label, mnemonic = _a.mnemonic;\r\n // If the index is out of range, do not modify the label.\r\n if (mnemonic < 0 || mnemonic >= label.length) {\r\n return label;\r\n }\r\n // Split the label into parts.\r\n var |