bee-tree/dist/demo.js.map

1 line
499 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{"version":3,"sources":["webpack:///webpack/bootstrap b479daf1ba8156c67dcb","webpack:///./demo/index.js","webpack:///./~/bee-layout/build/index.js","webpack:///./~/bee-layout/build/Col.js","webpack:///./~/classnames/index.js","webpack:///external \"React\"","webpack:///external \"PropTypes\"","webpack:///./~/bee-layout/build/Row.js","webpack:///./~/bee-layout/build/Layout.js","webpack:///./~/bee-panel/build/index.js","webpack:///./~/bee-panel/build/Panel.js","webpack:///./~/bee-transition/build/index.js","webpack:///./~/bee-transition/build/Transition.js","webpack:///external \"ReactDOM\"","webpack:///./~/dom-helpers/transition/properties.js","webpack:///./~/@babel/runtime/helpers/interopRequireDefault.js","webpack:///./~/dom-helpers/util/inDOM.js","webpack:///./~/dom-helpers/events/on.js","webpack:///./~/bee-transition/build/Collapse.js","webpack:///./~/dom-helpers/style/index.js","webpack:///./~/dom-helpers/util/camelizeStyle.js","webpack:///./~/dom-helpers/util/camelize.js","webpack:///./~/dom-helpers/util/hyphenateStyle.js","webpack:///./~/dom-helpers/util/hyphenate.js","webpack:///./~/dom-helpers/style/getComputedStyle.js","webpack:///./~/dom-helpers/style/removeStyle.js","webpack:///./~/dom-helpers/transition/isTransform.js","webpack:///./~/bee-transition/build/util/capitalize.js","webpack:///./~/tinper-bee-core/lib/index.js","webpack:///./~/tinper-bee-core/lib/all.js","webpack:///./~/tinper-bee-core/lib/utils/createChainableTypeChecker.js","webpack:///./~/tinper-bee-core/lib/componentOrElement.js","webpack:///./~/tinper-bee-core/lib/deprecated.js","webpack:///./~/warning/browser.js","webpack:////usr/local/lib/~/bee-tools/~/process/browser.js","webpack:///./~/tinper-bee-core/lib/elementType.js","webpack:///./~/tinper-bee-core/lib/isRequiredForA11y.js","webpack:///./~/tinper-bee-core/lib/splitComponent.js","webpack:///./~/tinper-bee-core/lib/createChainedFunction.js","webpack:///./~/tinper-bee-core/lib/keyCode.js","webpack:///./~/tinper-bee-core/lib/contains.js","webpack:///./~/tinper-bee-core/lib/addEventListener.js","webpack:///./~/add-dom-event-listener/lib/index.js","webpack:///./~/add-dom-event-listener/lib/EventObject.js","webpack:///./~/add-dom-event-listener/lib/EventBaseObject.js","webpack:///./~/object-assign/index.js","webpack:///./~/tinper-bee-core/lib/cssAnimation.js","webpack:///./~/tinper-bee-core/lib/Event.js","webpack:///./~/component-classes/index.js","webpack:///./~/component-indexof/index.js","webpack:///./~/tinper-bee-core/lib/toArray.js","webpack:///./~/tinper-bee-core/lib/Align.js","webpack:///./~/dom-align/lib/index.js","webpack:///./~/dom-align/lib/align/alignElement.js","webpack:///./~/dom-align/lib/align/align.js","webpack:///./~/dom-align/lib/utils.js","webpack:///./~/dom-align/lib/propertyUtils.js","webpack:///./~/dom-align/lib/getVisibleRectForElement.js","webpack:///./~/dom-align/lib/getOffsetParent.js","webpack:///./~/dom-align/lib/isAncestorFixed.js","webpack:///./~/dom-align/lib/adjustForViewport.js","webpack:///./~/dom-align/lib/getRegion.js","webpack:///./~/dom-align/lib/getElFuturePos.js","webpack:///./~/dom-align/lib/getAlignOffset.js","webpack:///./~/dom-align/lib/align/alignPoint.js","webpack:///./~/bee-transition/build/Fade.js","webpack:///./~/bee-message/build/index.js","webpack:///./~/bee-message/build/Message.js","webpack:///./~/bee-notification/build/index.js","webpack:///./~/bee-notification/build/Notification.js","webpack:///./~/bee-animate/build/index.js","webpack:///./~/bee-animate/build/Animate.js","webpack:///./~/bee-animate/build/ChildrenUtils.js","webpack:///./~/bee-animate/build/AnimateChild.js","webpack:///./~/bee-animate/build/util.js","webpack:///./~/bee-overlay/build/utils/ownerDocument.js","webpack:///./~/dom-helpers/ownerDocument.js","webpack:///./~/bee-overlay/build/utils/addEventListener.js","webpack:///./~/dom-helpers/events/off.js","webpack:///./~/bee-notification/build/Notice.js","webpack:///./~/copy-to-clipboard/index.js","webpack:///./~/toggle-selection/index.js","webpack:///./~/bee-panel/build/PanelGroup.js","webpack:///./~/bee-button/build/index.js","webpack:///./~/bee-button/build/Button.js","webpack:///./demo/demolist/Demo1.js","webpack:///./src/index.js","webpack:///./src/Tree.js","webpack:///./src/util.js","webpack:///./src/TreeNode.js","webpack:///./src/openAnimation.js","webpack:///./~/bee-icon/build/index.js","webpack:///./~/bee-icon/build/Icon.js","webpack:///./demo/demolist/Demo2.js","webpack:///./demo/demolist/Demo3.js","webpack:///./demo/demolist/Demo4.js","webpack:///./~/bee-form-control/build/index.js","webpack:///./~/bee-form-control/build/FormControl.js","webpack:///./demo/demolist/Demo5.js","webpack:///./demo/demolist/Demo6.js","webpack:///./demo/demolist/Demo7.js","webpack:///./demo/demolist/Demo8.js","webpack:///./demo/demolist/Demo9.js","webpack:///./demo/demolist/Demo10.js"],"names":["CARET","CARETUP","Demo1","require","Demo2","Demo3","Demo4","Demo5","Demo6","Demo7","Demo8","Demo9","Demo10","DemoArray","Demo","props","state","open","handleClick","bind","setState","render","title","example","code","desc","scss_code","caret","text","header","padding","Component","DemoGroup","map","child","index","ReactDOM","document","getElementById","TreeNode","Tree","defaultProps","keys","onCheck","checkedKeys","newst","console","log","cks","checked","halfChecked","onDoubleClick","key","treeNode","defaultExpandedKeys","defaultSelectedKeys","defaultCheckedKeys","onSelect","info","TreeProps","showLine","PropTypes","bool","className","string","multiple","autoExpandParent","checkStrictly","checkable","defaultExpandAll","array","expandedKeys","oneOfType","object","selectedKeys","onExpand","func","filterAntTreeNode","loadData","onRightClick","draggable","onDragStart","onDragEnter","onDragOver","onDragLeave","onDrop","style","React","CSSProperties","prefixCls","filterTreeNode","showIcon","openAnimation","animation","children","noop","forEach","m","contextmenuKeys","checkedKeysChange","selectKeyDomPos","getDefaultExpandedKeys","getDefaultCheckedKeys","getDefaultSelectedKeys","dragNodesKeys","dragOverNodeKey","dropNodeKey","componentWillReceiveProps","nextProps","st","dataChange","e","dragNode","getDragNodes","getExpandedKeys","getRawExpandedKeys","event","node","_dropTrigger","onDragEnterGap","offsetTop","getOffset","refs","selectHandle","top","offsetHeight","pageY","gapHeight","dropPosition","enterGap","eventKey","indexOf","warn","posArr","pos","split","res","Number","length","dropToGap","rawExpandedKeys","_rawExpandedKeys","onDragEnd","keyType","expanded","controlled","push","splice","then","newSt","treeNodesStates","checkedNodes","item","ind","keyOrPos","checkedPositions","Object","i","checkKeys","checkedNodesPositions","halfCheckedKeys","_checkedKeys","selected","cancelUnSelect","selectedNodes","on1Enter","onMouseEnter","onMouseLeave","onContextMenu","getTreeNode","goDown","currentPos","currentIndex","nextIndex","parseInt","nextPos","backNextPos","nextTreeNode","backNextTreeNode","backNextPosArr","backNextTreeNodeArr","tempBackNextPosArr","substr","lastIndexOf","tempPosArr","tempPosArrLength","slice","join","itemNode","newKey","queryInfo","parentEle","target","focusEle","querySelector","focus","goUp","preIndex","prePos","prevTreeNode","preElement","preElementArr","parentElement","previousElementSibling","querySelectorAll","getAttribute","onKeyDown","stopPropagation","keyCode","KeyCode","DOWN","UP","LEFT","isLeaf","RIGHT","SPACE","ENTER","_focusDom","targetDom","onUlFocus","tree","onFocus","tabIndexKey","isExist","selectKeyDomExist","onFocusRes","Promise","onUlMouseDown","preventDefault","getFilterExpandedKeys","expandKeyProp","expandAll","expandedPositionArr","filterExpandedKeys","p","willReceiveProps","undefined","Array","isArray","getKeys","getOpenTransitionName","transitionName","openTransitionName","animationName","tPArr","pArr","expand","expandedIndex","exKeys","concat","disabled","call","renderTreeNode","level","selectable","hasOwnProperty","cloneProps","ref","root","dragOver","dragOverGapTop","dragOverGapBottom","openIcon","closeIcon","focusable","tabIndexValue","siblingPosition","cloneElement","showLineCls","domProps","role","getTreeNodesStates","_treeNodesStates","Children","propTypes","any","arrayOf","browser","loopAllChildren","isInclude","filterParentPosition","handleCheckState","getCheck","getStrictlyValue","arraysEqual","closest","isTreeNode","toArray","getNodeChildren","warnOnlyTreeNode","navigator","tem","ua","userAgent","M","match","test","exec","replace","appName","appVersion","ele","doc","win","docElem","rect","getClientRects","left","getBoundingClientRect","width","height","ownerDocument","defaultView","documentElement","pageYOffset","clientTop","pageXOffset","clientLeft","getChildrenlength","len","getSiblingPosition","first","last","childs","callback","parent","loop","_parent","type","smallArray","bigArray","every","ii","arr","levelObj","posLen","levelArr","sort","j","_i","filter","nArr","stripTail","str","splitPosition","obj","checkedPositionArr","checkIt","objKeys","iArr","saved","_pos","_posArr","__pos","_posLen","sibling","siblingChecked","parentPosition","pIndex","itemObj","a","b","el","selector","matchesSelector","matches","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","ret","c","onlyTreeNodeWarned","browserUa","window","ieOrEdge","defaultTitle","originList","targetList","dataLoading","dragNodeHighlight","componentDidMount","_treeNodeInstances","clearTimeout","doubleClickFlag","_this","setTimeout","dataTransfer","setData","callbackPromise","setLoading","renderSwitcher","expandedState","stateIcon","switcherCls","switcherClass","switcherStyle","renderCheckbox","checkboxCls","customEle","disableCheckbox","renderChildren","renderFirst","transitionAppear","newChildren","allTreeNode","count","cls","animProps","appear","checkIsLeaf","hasChildren","iconState","canRenderSwitcher","content","openIconCls","closeIconCls","timer","delay","prevent","iconEleCls","titleClass","icon","currentIcon","createElement","titleStyle","wrap","onClick","href","tabIndex","liProps","disabledCls","dragOverCls","filterCls","noopSwitcher","selectedCls","element","animate","show","done","start","active","end","enter","leave","x","y","z","gData","generateData","_level","_preKey","_tns","preKey","tns","arguments","data","dropKey","dragKey","dragObj","ar","dataList","generateList","getParentKey","parentKey","some","onChange","value","uniqueExpandedKeys","searchValue","search","beforeStr","afterStr","generateTreeNodes","name","setLeaf","treeData","curKey","loopLeaf","lev","l","getNewTreeData","onLoadData","resolve","treeNodes","color","parentNode","addNode","clickFun","getNodeByKey","prKey","nodeItem","parNode","find","isHover","treenode","editKey","editRender","nodechange","renderTreeTitle","titleIcon","titleInfo","self","currentObject"],"mappings":"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EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,oCAAmC,iDAAiD,gBAAgB,iBAAiB,OAAO,mBAAmB,4DAA4D,6DAA6D,wCAAwC,EAAE,EAAE,YAAY;;AAEhU,+CAA8C,iBAAiB,qBAAqB,oCAAoC,6DAA6D,oBAAoB,EAAE,eAAe;;AAE1N,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;;AAEA;AACA,qC;;;;;;ACnKA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,iBAAgB;;AAEhB;AACA;;AAEA,kBAAiB,sBAAsB;AACvC;AACA;;AAEA;;AAEA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AA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;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAK;AACL;AACA;;AAEA;AACA,sBAAqB,iCAAiC;AACtD;AACA;;AAEA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAO;AACP;;AAEA;AACA;AACA;AACA,UAAS,kDAAkD;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;;AAEA;AACA;AACA;AACA,MAAK;AACL;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA,qCAAoC,kDAAkD;AACtF;;AAEA;;;AAGA;AACA;AACA;AACA,iBAAgB,iBAAiB;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS,iDAAiD;AAC1D;AACA,4DAA2D,uEAAuE;AAClI;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,wDAAuD,kBAAkB;;AAEzE;AACA;AACA;AACA,MAAK;;AAEL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,yCAAwC;;AAExC;AACA;AACA;AACA,kBAAiB;AACjB;AACA;AACA,QAAO;AACP;AACA;AACA,UAAS,2GAA2G;AACpH;AACA;AACA,yGAAwG,2HAA2H;AACnO;AACA;AACA,UAAS,uDAAuD;AAChE;AACA;AACA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;;AAEA;AACA,qC;;;;;;ACpTA;;AAEA;AACA;AACA,EAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA;AACA,kC;;;;;;ACvBA;;AAEA;AACA;AACA,EAAC;AACD;;AAEA,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,oCAAmC,iDAAiD,gBAAgB,iBAAiB,OAAO,mBAAmB,4DAA4D,6DAA6D,wCAAwC,EAAE,EAAE,YAAY;;AAEhU,+CAA8C,iBAAiB,qBAAqB,oCAAoC,6DAA6D,oBAAoB,EAAE,eAAe;;AAE1N,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,oBAAmB;;AAEnB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wBAAuB,iBAAiB;AACxC;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAO;AACP,wBAAuB,oBAAoB;AAC3C;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,wBAAuB,mBAAmB;AAC1C;;AAEA;AACA,8BAA6B,kBAAkB;AAC/C;AACA,UAAS;AACT,QAAO;AACP,MAAK;AACL;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA,wBAAuB,kBAAkB;AACzC;;AAEA;AACA,8BAA6B,iBAAiB;AAC9C;AACA,UAAS;AACT,QAAO;AACP,MAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA,MAAK;AACL;AACA,MAAK;AACL;AACA,MAAK;AACL;AACA;;AAEA;AACA,8DAA6D;AAC7D;AACA,MAAK;AACL;;AAEA;AACA,EAAC;;AAED;;AAEA;;AAEA,iC;;;;;;ACnVA,2B;;;;;;ACAA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,MAAK;AACL;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAiB,oBAAoB;AACrC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;AC3FA;AACA;AACA;AACA;AACA;;AAEA,yC;;;;;;ACNA;;AAEA;AACA;;AAEA;;AAEA;AACA,qC;;;;;;ACRA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA,IAAG;AACH;;AAEA;AACA;AACA,qC;;;;;;AC5BA;;AAEA;AACA;AACA,EAAC;;AAED,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,oCAAmC,iDAAiD,gBAAgB,iBAAiB,OAAO,mBAAmB,4DAA4D,6DAA6D,wCAAwC,EAAE,EAAE,YAAY;;AAEhU,+CAA8C,iBAAiB,qBAAqB,oCAAoC,6DAA6D,oBAAoB,EAAE,eAAe;;AAE1N,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAoB;AACpB;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,yBAAwB;AACxB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,iFAAgF;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA,EAAC;;AAED;AACA;;AAEA;AACA,qC;;;;;;AC3PA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL,kBAAiB;AACjB;AACA;;AAEA;AACA;;AAEA;AACA;AACA,MAAK;AACL;AACA,MAAK;AACL,mEAAkE;AAClE;AACA,IAAG;;AAEH;AACA,0DAAyD;AACzD;;AAEA,2BAA0B;AAC1B;;AAEA,qC;;;;;;ACnDA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,qC;;;;;;ACpBA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;;AAEA,qC;;;;;;ACZA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,qC;;;;;;ACpBA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,qC;;;;;;ACVA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gDAA+C;;AAE/C;AACA;AACA,0CAAyC;;AAEzC;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,qC;;;;;;AC3CA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,qC;;;;;;ACTA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,qC;;;;;;ACVA;;AAEA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA,qC;;;;;;ACTA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iC;;;;;;ACzEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA,wEAAuE,aAAa;AACpF;AACA;;AAEA;AACA,uEAAsE,eAAe;AACrF;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;;AAEA;AACA,EAAC;AACD;AACA;AACA,M;;;;;;ACzCA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,uFAAsF,aAAa;AACnG;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,E;;;;;;AC3CA;;AAEA;;AAEA,qGAAoG,mBAAmB,EAAE,mBAAmB,8HAA8H,GAAG;AAC7Q;AACA;AACA;;;AAGA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,uE;;;;;;ACnCA;;AAEA;AACA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F,iBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA,uFAAsF,aAAa;AACnG;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,yC;;;;;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,sBAAqB,WAAW;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;;AAEA;;;;;;;;AC3DA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,MAAK;AACL;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAqB;AACrB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,sCAAqC;;AAErC;AACA;AACA;;AAEA,4BAA2B;AAC3B;AACA;AACA;AACA,6BAA4B,UAAU;;;;;;;ACvLtC;;AAEA;;AAEA,qGAAoG,mBAAmB,EAAE,mBAAmB,8HAA8H,GAAG;AAC7Q;AACA;AACA;;;AAGA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,0E;;;;;;ACnCA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,uFAAsF,aAAa;AACnG;AACA;;AAEA;AACA;AACA,E;;;;;;ACvBA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAiB,iBAAiB;AAClC;AACA,IAAG;AACH;;AAEA;AACA;AACA,aAAY,SAAS;AACrB,aAAY,eAAe;AAC3B,aAAY,QAAQ;AACpB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,MAAK;AACL;AACA;AACA,IAAG;;AAEH;AACA,E;;;;;;ACzCA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mEAAkE,aAAa;AAC/E;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,yEAAwE,eAAe;AACvF;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA,yC;;;;;;ACjCA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,0B;;;;;;AC3gBA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,E;;;;;;AClBA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA,E;;;;;;ACzBA;;AAEA;AACA;AACA,EAAC;AACD;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qC;;;;;;AClDA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,EAAC;;AAED,uCAAsC,uCAAuC,kBAAkB;;AAE/F;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA,EAAC;AACD;AACA;AACA,EAAC;AACD;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oCAAmC,cAAc;AACjD;AACA;AACA;AACA;AACA,QAAO;AACP;AACA,QAAO;AACP;AACA,QAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,sDAAqD;AACrD;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA,IAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,EAAC;;AAED;AACA,qC;;;;;;ACrRA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,EAAC;AACD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA,IAAG;;AAEH;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA,qC;;;;;;AC9DA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,iCAAgC;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA,kBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH,mCAAkC;AAClC;AACA;AACA;;AAEA;AACA,GAAE;AACF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,iBAAgB,sBAAsB;AACtC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAkB,oBAAoB;AACtC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;ACzFA;;AAEA;;AAEA,qGAAoG,mBAAmB,EAAE,mBAAmB,8HAA8H,GAAG;AAC7Q;AACA;AACA;;;AAGA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,kBAAiB,qBAAqB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;;AAEA,gC;;;;;;AC9LA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,IAAG;;;AAGH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;;AAEA,oC;;;;;;ACxFA;AACA;AACA;;AAEA;AACA;AACA,EAAC;AACD;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,YAAW,QAAQ;AACnB,aAAY;AACZ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,QAAQ;AACnB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,aAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,cAAc;AACzB,aAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,aAAY;AACZ;AACA;;AAEA;AACA;AACA,kBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,QAAQ;AACnB,aAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gCAA+B;AAC/B;AACA,MAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,IAAG;AACH;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,aAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC9LA;AACA;AACA,kBAAiB,gBAAgB;AACjC;AACA;AACA;AACA,G;;;;;;ACNA;;AAEA;AACA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA,IAAG;AACH;AACA,EAAC;AACD;AACA;AACA,M;;;;;;ACpBA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH,EAAE;AAC9e;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH,iCAAgC;;AAEhC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA,yB;;;;;;AClMA;;AAEA;AACA;AACA,EAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA;AACA,gD;;;;;;ACnBA;;AAEA;AACA;AACA,EAAC;;AAED;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA,qC;;;;;;AC7CA;;AAEA;AACA;AACA,EAAC;;AAED;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F;;AAEA;AACA;AACA,EAAC;AACD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,iCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qC;;;;;;ACzNA;;AAEA;AACA;AACA,EAAC;;AAED,qGAAoG,mBAAmB,EAAE,mBAAmB,8HAA8H;;AAE1Q;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,qBAAoB;AACpB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA,IAAG;AACH;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA,kBAAiB,gBAAgB;AACjC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAa,kBAAkB;AAC/B;AACA;AACA,kBAAiB,kBAAkB;AACnC;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA,UAAS,OAAO;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mEAAkE,cAAc;AAChF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,wCAAuC;AACvC,MAAK;AACL;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;;AAEA,uEAAsE,eAAe;AACrF;AACA;;AAEA,oBAAmB,iBAAiB;AACpC;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;;AAEA;;AAEA;AACA,qC;;;;;;AC7kBA;;AAEA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,E;;;;;;AC7GA;;AAEA;AACA;AACA,EAAC;;AAED;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,qC;;;;;;AClHA;;AAEA;AACA;AACA,EAAC;;AAED;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA2B,cAAc;AACzC,4BAA2B,cAAc,mBAAmB;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,oCAAmC,2BAA2B;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qC;;;;;;ACvDA;;AAEA;AACA;AACA,EAAC;AACD;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,oCAAmC,2BAA2B;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qC;;;;;;AC7BA;;AAEA;AACA;AACA,EAAC;;AAED;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,qC;;;;;;ACtDA;;AAEA;AACA;AACA,EAAC;;AAED;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qC;;;;;;ACnCA;;AAEA;AACA;AACA,EAAC;;AAED;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,qC;;;;;;ACxBA;;AAEA;AACA;AACA,EAAC;AACD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,qC;;;;;;ACrCA;;AAEA;AACA;AACA,EAAC;;AAED,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA,iBAAgB,eAAe,KAAK,mBAAmB;AACvD;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA,4DAA2D,UAAU,iBAAiB;AACtF;;AAEA;AACA,qC;;;;;;AC/DA;;AAEA;AACA;AACA,EAAC;;AAED,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,oCAAmC,iDAAiD,gBAAgB,iBAAiB,OAAO,mBAAmB,4DAA4D,6DAA6D,wCAAwC,EAAE,EAAE,YAAY;;AAEhU,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;AACA,yBAAwB;AACxB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,iFAAgF;AAChF;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA,EAAC;;AAED;AACA;;AAEA;AACA,qC;;;;;;ACnHA;;AAEA;AACA;AACA,EAAC;;AAED;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA,qC;;;;;;ACbA;;AAEA;AACA;AACA,EAAC;;AAED,qGAAoG,mBAAmB,EAAE,mBAAmB,8HAA8H;;AAE1Q,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA,MAAK;AACL;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA,MAAK;AACL;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,UAAS;AACT;AACA,MAAK;AACL;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,UAAS;AACT;AACA,MAAK;AACL;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,UAAS;AACT;AACA,MAAK;AACL;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;;AAEA;AACA;AACA;AACA;AACA;AACA,+BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA,sBAAqB,oDAAoD;AACzE,4DAA2D,oDAAoD;AAC/G;AACA;AACA;AACA,sBAAqB,uDAAuD;AAC5E;AACA;AACA;AACA;AACA,UAAS;AACT,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qC;;;;;;AC3NA;;AAEA;AACA;AACA,EAAC;;AAED;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA,qC;;;;;;ACbA;;AAEA;AACA;AACA,EAAC;;AAED,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,oCAAmC,iDAAiD,gBAAgB,iBAAiB,OAAO,mBAAmB,4DAA4D,6DAA6D,wCAAwC,EAAE,EAAE,YAAY;;AAEhU,4CAA2C,kBAAkB,kCAAkC,qEAAqE,EAAE,EAAE,OAAO,kBAAkB,EAAE,YAAY;;AAE/M,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA,MAAK;AACL;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA,UAAS;AACT;AACA;AACA,MAAK;AACL,iCAAgC;AAChC;AACA;AACA;;AAEA;AACA;AACA,QAAO,4EAA4E;AACnF;AACA;AACA,UAAS,2CAA2C;AACpD;AACA;AACA;AACA;;AAEA;AACA,EAAC;;AAED;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA,QAAO;;AAEP;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,0FAAyF,UAAU,WAAW;AAC9G;;AAEA;AACA,qC;;;;;;AChPA;;AAEA;AACA;AACA,EAAC;;AAED;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA,qC;;;;;;ACbA;;AAEA;AACA;AACA,EAAC;;AAED;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,oCAAmC,iDAAiD,gBAAgB,iBAAiB,OAAO,mBAAmB,4DAA4D,6DAA6D,wCAAwC,EAAE,EAAE,YAAY;;AAEhU,4CAA2C,kBAAkB,kCAAkC,qEAAqE,EAAE,EAAE,OAAO,kBAAkB,EAAE,YAAY;;AAE/M,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,gBAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mGAAkG;AAClG,UAAS;AACT;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA,QAAO;AACP,MAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,QAAO;AACP;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,QAAO;AACP;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT,QAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;AACA;;AAEA;AACA,qC;;;;;;ACtXA;;AAEA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA,UAAS;AACT;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;;AAEA;AACA,E;;;;;;ACpHA;;AAEA;AACA;AACA,EAAC;;AAED,qGAAoG,mBAAmB,EAAE,mBAAmB,8HAA8H;;AAE1Q;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,oCAAmC,iDAAiD,gBAAgB,iBAAiB,OAAO,mBAAmB,4DAA4D,6DAA6D,wCAAwC,EAAE,EAAE,YAAY;;AAEhU,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,EAAC;;AAED;;AAEA;;AAEA;AACA,qC;;;;;;ACzIA;;AAEA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,qC;;;;;;AC1BA;;AAEA;AACA;AACA,EAAC;;AAED;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,qC;;;;;;ACpBA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,qC;;;;;;ACTA;;AAEA;AACA;AACA,EAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,qC;;;;;;AC1BA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA,qC;;;;;;ACvBA;;AAEA;AACA;AACA,EAAC;;AAED;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,oCAAmC,iDAAiD,gBAAgB,iBAAiB,OAAO,mBAAmB,4DAA4D,6DAA6D,wCAAwC,EAAE,EAAE,YAAY;;AAEhU,4CAA2C,kBAAkB,kCAAkC,qEAAqE,EAAE,EAAE,OAAO,kBAAkB,EAAE,YAAY;;AAE/M,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,QAAO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA,QAAO,sFAAsF;AAC7F;AACA;AACA,UAAS,yCAAyC;AAClD;AACA;AACA,YAAW,uCAAuC;AAClD;AACA;AACA;AACA;AACA,YAAW,6CAA6C;AACxD;AACA;AACA;AACA;AACA;AACA,UAAS,2EAA2E;AACpF,mDAAkD,yCAAyC;AAC3F;AACA;AACA;;AAEA;AACA,EAAC;;AAED;;AAEA;AACA;;AAEA;AACA,qC;;;;;;ACzIA;;AAEA;;AAEA,4CAA2C,IAAI;;AAE/C;AACA;AACA,6BAA4B,UAAU;AACtC;;AAEA;AACA;AACA,kBAAiB,cAAc;AAC/B;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;;AC5EA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,kBAAiB,0BAA0B;AAC3C;AACA;;AAEA,0CAAyC;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAO;AACP;;AAEA;AACA;AACA;AACA;;;;;;;ACtCA;;AAEA;AACA;AACA,EAAC;;AAED,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,oCAAmC,iDAAiD,gBAAgB,iBAAiB,OAAO,mBAAmB,4DAA4D,6DAA6D,wCAAwC,EAAE,EAAE,YAAY;;AAEhU,+CAA8C,iBAAiB,qBAAqB,oCAAoC,6DAA6D,oBAAoB,EAAE,eAAe;;AAE1N,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,oBAAmB,iBAAiB;AACpC;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,kBAAiB;AACjB;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;;AAEA;AACA,QAAO;AACP;AACA;;AAEA;AACA,EAAC;;AAED;AACA;;AAEA;AACA,qC;;;;;;AC7IA;;AAEA;AACA;AACA,EAAC;;AAED;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA,qC;;;;;;ACbA;;AAEA;AACA;AACA,EAAC;;AAED,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,oCAAmC,iDAAiD,gBAAgB,iBAAiB,OAAO,mBAAmB,4DAA4D,6DAA6D,wCAAwC,EAAE,EAAE,YAAY;;AAEhU,+CAA8C,iBAAiB,qBAAqB,oCAAoC,6DAA6D,oBAAoB,EAAE,eAAe;;AAE1N,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAoB,UAAU;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;;AAEA;AACA,qC;;;;;;;;;;;;AC/JA;;;;AAGA;;;;AACA;;;;;;;;;;;;gfAZA;;;;;;;AAaA,KAAMC,WAAWC,iBAAKD,QAAtB;;AAEA,KAAME,eAAe;AACpBC,QAAM,CAAC,OAAD,EAAU,OAAV;AADc,EAArB;;KAGMxC,K;;;AACL,iBAAYa,KAAZ,EAAmB;AAAA;;AAAA,gDAClB,sBAAMA,KAAN,CADkB;;AAAA,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","file":"demo.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap b479daf1ba8156c67dcb","import {Col, Row} from 'bee-layout';\nimport {Panel} from 'bee-panel';\nimport Button from 'bee-button';\nimport React, {Component} from 'react';\nimport ReactDOM from 'react-dom';\n\n\nconst CARET = <i className=\"uf uf-arrow-down\"></i>;\n\nconst CARETUP = <i className=\"uf uf-arrow-up\"></i>;\n\n\nvar Demo1 = require(\"./demolist/Demo1\");var Demo2 = require(\"./demolist/Demo2\");var Demo3 = require(\"./demolist/Demo3\");var Demo4 = require(\"./demolist/Demo4\");var Demo5 = require(\"./demolist/Demo5\");var Demo6 = require(\"./demolist/Demo6\");var Demo7 = require(\"./demolist/Demo7\");var Demo8 = require(\"./demolist/Demo8\");var Demo9 = require(\"./demolist/Demo9\");var Demo10 = require(\"./demolist/Demo10\");var DemoArray = [{\"example\":<Demo1 />,\"title\":\" Tree基本使用示例\",\"code\":\"/**\\n *\\n * @title Tree基本使用示例\\n * @description 示例涵盖 checkbox如何选择disable状态和部分选择状态。checkStrictly为true时子节点与父节点的选择情况都不会影响到对方\\n *\\n */\\n\\n\\nimport React, {\\n\\tComponent\\n} from 'react';\\nimport { Tree, Icon } from 'tinper-bee';\\nconst TreeNode = Tree.TreeNode;\\n\\nconst defaultProps = {\\n\\tkeys: ['0-0-0', '0-0-1']\\n}\\nclass Demo1 extends Component {\\n\\tconstructor(props) {\\n\\t\\tsuper(props);\\n\\t\\tconst keys = this.props.keys;\\n\\t\\tthis.state = {\\n\\t\\t\\tdefaultExpandedKeys: keys,\\n\\t\\t\\tdefaultSelectedKeys: keys,\\n\\t\\t\\tdefaultCheckedKeys:keys,\\n\\t\\t\\tcheckedKeys: {checked:keys},\\n\\t\\t};\\n\\t}\\n\\tonSelect(info) {\\n\\t\\tconsole.log('selected', info);\\n\\t}\\n\\tonCheck = (checkedKeys,newst) => {\\n\\t\\t//用户可以自定义当前选中和半选中的节点。\\n\\t\\tconsole.log('onCheck', checkedKeys);\\n\\t\\tconst cks = {\\n\\t\\t\\tchecked: checkedKeys.checked || checkedKeys,\\n\\t\\t\\thalfChecked:checkedKeys.halfChecked\\n\\t\\t};\\n\\t\\tthis.setState({checkedKeys:cks});\\n\\t}\\n\\n\\tonDoubleClick=(key,treeNode)=>{\\n\\t\\tconsole.log('---onDblClick---'+key+'--treeNode--'+treeNode);\\n\\t}\\n\\trender() {\\n\\t\\n\\t\\treturn (\\n\\t\\t\\t<Tree className=\\\"myCls\\\" showLine checkable\\n\\t defaultExpandedKeys={this.state.defaultExpandedKeys}\\n\\t\\t\\t\\t\\tdefaultSelectedKeys={this.state.defaultSelectedKeys}\\n\\t\\t\\t\\t\\tdefaultCheckedKeys = {this.state.defaultCheckedKeys}\\n\\t\\t\\t\\t\\tcheckStrictly\\n\\t\\t\\t\\t\\tshowIcon\\n\\t\\t\\t\\t\\tcancelUnSelect={true}\\n\\t\\t\\t\\t\\tonSelect={this.onSelect} onCheck={this.onCheck}\\n\\t\\t\\t\\t\\tonDoubleClick={this.onDoubleClick}\\n\\t >\\n\\t <TreeNode title=\\\"parent 1\\\" key=\\\"0-0\\\" icon={<Icon type=\\\"uf-treefolder\\\" />}>\\n\\t <TreeNode title=\\\"parent 1-0\\\" key=\\\"0-0-0\\\" disabled icon={<Icon type=\\\"uf-treefolder\\\" />}>\\n\\t <TreeNode title=\\\"leaf\\\" key=\\\"0-0-0-0\\\" disableCheckbox icon={<Icon type=\\\"uf-list-s-o\\\" />}/>\\n\\t <TreeNode title=\\\"leaf\\\" key=\\\"0-0-0-1\\\" icon={<Icon type=\\\"uf-list-s-o\\\" />}/>\\n\\t </TreeNode>\\n\\t <TreeNode title=\\\"parent 1-1\\\" key=\\\"0-0-1\\\" icon={<Icon type=\\\"uf-treefolder\\\" />}>\\n\\t <TreeNode title={<span>sss</span>} key=\\\"0-0-1-0\\\" icon={<Icon type=\\\"uf-list-s-o\\\" />}/>\\n\\t </TreeNode>\\n\\t </TreeNode>\\n\\t </Tree>\\n\\t\\t);\\n\\t}\\n}\\n\\nDemo1.defaultProps = defaultProps;\\n\\n\\n\",\"desc\":\" 示例涵盖 checkbox如何选择disable状态和部分选择状态。checkStrictly为true时子节点与父节点的选择情况都不会影响到对方\"},{\"example\":<Demo2 />,\"title\":\" Tree数据可控示例\",\"code\":\"/**\\n*\\n* @title Tree数据可控示例\\n* @description\\n* \\b\\n*/\\n\\nimport React, { Component } from 'react';\\nimport { Tree } from 'tinper-bee';\\n\\nconst x = 6;\\nconst y = 5;\\nconst z = 2;\\nconst gData = [];\\n\\nconst generateData = (_level, _preKey, _tns) => {\\n const preKey = _preKey || '0';\\n const tns = _tns || gData;\\n\\n const children = [];\\n for (let i = 0; i < x; i++) {\\n const key = `${preKey}-${i}`;\\n tns.push({ title: key, key });\\n if (i < y) {\\n children.push(key);\\n }\\n }\\n if (_level < 0) {\\n return tns;\\n }\\n const level = _level - 1;\\n children.forEach((key, index) => {\\n tns[index].children = [];\\n return generateData(level, key, tns[index].children);\\n });\\n};\\ngenerateData(z);\\n\\nconst TreeNode = Tree.TreeNode;\\n\\n\\nclass Demo2 extends Component{\\n constructor(props) {\\n \\tsuper(props);\\n this.state = {\\n expandedKeys: [],\\n autoExpandParent: true,\\n checkedKeys: ['0-0-0'],\\n selectedKeys: [],\\n };\\n this.onExpand = this.onExpand.bind(this);\\n this.onCheck = this.onCheck.bind(this);\\n this.onSelect = this.onSelect.bind(this);\\n }\\n onExpand(expandedKeys) {\\n console.log('onExpand', arguments);\\n // if not set autoExpandParent to false, if children expanded, parent can not collapse.\\n // or, you can remove all expanded children keys.\\n this.setState({\\n expandedKeys,\\n autoExpandParent: false,\\n });\\n }\\n onCheck(checkedKeys) {\\n this.setState({\\n checkedKeys,\\n selectedKeys: ['0-3', '0-4'],\\n });\\n }\\n onSelect(selectedKeys, info) {\\n console.log('onSelect', info);\\n this.setState({ selectedKeys });\\n }\\n render() {\\n const loop = data => data.map((item) => {\\n if (item.children) {\\n return (\\n <TreeNode key={item.key} title={item.key} disableCheckbox={item.key === '0-0-0'}>\\n {loop(item.children)}\\n </TreeNode>\\n );\\n }\\n return <TreeNode key={item.key} title={item.key} isLeaf={true}/>;\\n });\\n return (\\n <Tree\\n checkable\\n focusable\\n className={'demo2'}\\n onExpand={this.onExpand} expandedKeys={this.state.expandedKeys}\\n autoExpandParent={this.state.autoExpandParent}\\n onCheck={this.onCheck} \\n onSelect={this.onSelect} \\n >\\n {loop(gData)}\\n </Tree>\\n );\\n }\\n};\\n\\n\\n\",\"desc\":\"\",\"scss_code\":\"// .demo2.u-tree {\\n// li a.u-tree-node-content-wrapper:hover::before {\\n// background: rgb(235, 236, 240);\\n// }\\n// li a.u-tree-node-content-wrapper.u-tree-node-selected {\\n// color: rgb(245, 60, 50);\\n// .u-tree-title{\\n// color: rgb(245, 60, 50);\\n// }\\n// background: transparent;\\n// &::before {\\n// background: rgb(235, 236, 240);\\n// }\\n// }\\n\\n// li a.u-tree-node-content-wrapper::before {\\n// position: absolute;\\n// right: 0;\\n// left: 0;\\n// height: 20px;\\n// -webkit-transition: all 0.3s;\\n// transition: all 0.3s;\\n// content: \\\"\\\";\\n// }\\n\\n// li span {\\n// position: relative;\\n// z-index: 1;\\n// }\\n// }\\n\"},{\"example\":<Demo3 />,\"title\":\" Tree 拖拽使用示例\",\"code\":\"/**\\n*\\n* @title Tree 拖拽使用示例\\n* @description 拖动结点插入到另一个结点后面或者其他的父节点里面。\\n*\\n*/\\n\\n\\n\\nimport React, { Component } from 'react';\\nimport { Tree } from 'tinper-bee';\\n\\nconst x = 3;\\nconst y = 2;\\nconst z = 1;\\nconst gData = [];\\n\\nconst generateData = (_level, _preKey, _tns) => {\\n const preKey = _preKey || '0';\\n const tns = _tns || gData;\\n\\n const children = [];\\n for (let i = 0; i < x; i++) {\\n const key = `${preKey}-${i}`;\\n tns.push({ title: key, key });\\n if (i < y) {\\n children.push(key);\\n }\\n }\\n if (_level < 0) {\\n return tns;\\n }\\n const level = _level - 1;\\n children.forEach((key, index) => {\\n tns[index].children = [];\\n return generateData(level, key, tns[index].children);\\n });\\n};\\ngenerateData(z);\\n\\nconst TreeNode = Tree.TreeNode;\\n\\nclass Demo3 extends Component{\\n constructor(props) {\\n super(props);\\n this.state = {\\n gData,\\n expandedKeys: ['0-0', '0-0-0', '0-0-0-0'],\\n };\\n this.onDragEnter = this.onDragEnter.bind(this);\\n this.onDrop = this.onDrop.bind(this);\\n }\\n onDragEnter(info) {\\n console.log(info);\\n // expandedKeys 需要受控时设置\\n // this.setState({\\n // expandedKeys: info.expandedKeys,\\n // });\\n }\\n onDrop(info) {\\n console.log(info);\\n const dropKey = info.node.props.eventKey;\\n const dragKey = info.dragNode.props.eventKey;\\n // const dragNodesKeys = info.dragNodesKeys;\\n const loop = (data, key, callback) => {\\n data.forEach((item, index, arr) => {\\n if (item.key === key) {\\n return callback(item, index, arr);\\n }\\n if (item.children) {\\n return loop(item.children, key, callback);\\n }\\n });\\n };\\n const data = [...this.state.gData];\\n let dragObj;\\n loop(data, dragKey, (item, index, arr) => {\\n arr.splice(index, 1);\\n dragObj = item;\\n });\\n if (info.dropToGap) {\\n let ar;\\n let i;\\n loop(data, dropKey, (item, index, arr) => {\\n ar = arr;\\n i = index;\\n });\\n ar.splice(i, 0, dragObj);\\n } else {\\n loop(data, dropKey, (item) => {\\n item.children = item.children || [];\\n // where to insert 示例添加到尾部,可以是随意位置\\n item.children.push(dragObj);\\n });\\n }\\n this.setState({\\n gData: data,\\n });\\n }\\n render() {\\n const loop = data => data.map((item) => {\\n if (item.children && item.children.length) {\\n return <TreeNode key={item.key} title={item.key}>{loop(item.children)}</TreeNode>;\\n }\\n return <TreeNode key={item.key} title={item.key} />;\\n });\\n return (\\n <Tree\\n defaultExpandedKeys={this.state.expandedKeys}\\n draggable\\n onDragEnter={this.onDragEnter}\\n onDrop={this.onDrop}\\n >\\n {loop(this.state.gData)}\\n </Tree>\\n );\\n }\\n};\\n\\n\",\"desc\":\" 拖动结点插入到另一个结点后面或者其他的父节点里面。\"},{\"example\":<Demo4 />,\"title\":\" Tree可搜索示例\",\"code\":\"/**\\n *\\n * @title Tree可搜索示例\\n * @description\\n *\\n */\\n\\n\\nimport React, {\\n Component\\n} from 'react';\\nimport { Tree, FormControl } from 'tinper-bee';\\n\\nconst x = 3;\\nconst y = 2;\\nconst z = 1;\\nconst gData = [];\\n\\nconst generateData = (_level, _preKey, _tns) => {\\n const preKey = _preKey || '0';\\n const tns = _tns || gData;\\n\\n const children = [];\\n for (let i = 0; i < x; i++) {\\n const key = `${preKey}-${i}`;\\n tns.push({\\n title: key,\\n key\\n });\\n if (i < y) {\\n children.push(key);\\n }\\n }\\n if (_level < 0) {\\n return tns;\\n }\\n const level = _level - 1;\\n children.forEach((key, index) => {\\n tns[index].children = [];\\n return generateData(level, key, tns[index].children);\\n });\\n};\\ngenerateData(z);\\n\\nconst TreeNode = Tree.TreeNode;\\n\\nconst dataList = [];\\nconst generateList = (data) => {\\n for (let i = 0; i < data.length; i++) {\\n const node = data[i];\\n const key = node.key;\\n dataList.push({\\n key,\\n title: key\\n });\\n if (node.children) {\\n generateList(node.children, node.key);\\n }\\n }\\n};\\ngenerateList(gData);\\n\\nconst getParentKey = (key, tree) => {\\n let parentKey;\\n for (let i = 0; i < tree.length; i++) {\\n const node = tree[i];\\n if (node.children) {\\n if (node.children.some(item => item.key === key)) {\\n parentKey = node.key;\\n } else if (getParentKey(key, node.children)) {\\n parentKey = getParentKey(key, node.children);\\n }\\n }\\n }\\n return parentKey;\\n};\\n\\n\\nclass Demo4 extends Component {\\n constructor(props) {\\n super(props);\\n this.state = {\\n expandedKeys: [],\\n searchValue: '',\\n autoExpandParent: true,\\n }\\n }\\n onExpand = (expandedKeys) => {\\n this.setState({\\n expandedKeys,\\n autoExpandParent: false,\\n });\\n }\\n onChange = (value) => {\\n\\n const expandedKeys = [];\\n dataList.forEach((item) => {\\n if (item.key.indexOf(value) > -1) {\\n expandedKeys.push(getParentKey(item.key, gData));\\n }\\n });\\n const uniqueExpandedKeys = [];\\n expandedKeys.forEach((item) => {\\n if (item && uniqueExpandedKeys.indexOf(item) === -1) {\\n uniqueExpandedKeys.push(item);\\n }\\n });\\n this.setState({\\n expandedKeys: uniqueExpandedKeys,\\n searchValue: value,\\n autoExpandParent: true,\\n });\\n }\\n render() {\\n const {\\n searchValue,\\n expandedKeys,\\n autoExpandParent\\n } = this.state;\\n const loop = data => data.map((item) => {\\n const index = item.key.search(searchValue);\\n const beforeStr = item.key.substr(0, index);\\n const afterStr = item.key.substr(index + searchValue.length);\\n const title = index > -1 ? (\\n <span>\\n {beforeStr}\\n <span className=\\\"u-tree-searchable-filter\\\">{searchValue}</span>\\n {afterStr}\\n </span>\\n ) : <span>{item.key}</span>;\\n if (item.children) {\\n return (\\n <TreeNode key={item.key} title={title}>\\n {loop(item.children)}\\n </TreeNode>\\n );\\n }\\n return <TreeNode key={item.key} title={title} />;\\n });\\n return (\\n <div>\\n <FormControl\\n style={{ width: 200 }}\\n placeholder=\\\"Search\\\"\\n onChange={this.onChange}\\n />\\n <Tree\\n onExpand={this.onExpand}\\n expandedKeys={expandedKeys}\\n autoExpandParent={autoExpandParent}\\n >\\n {loop(gData)}\\n </Tree>\\n </div>\\n );\\n }\\n}\\n\\n\",\"desc\":\"\",\"scss_code\":\".u-tree-searchable-filter {\\n color: #f50;\\n transition: all .3s ease;\\n}\"},{\"example\":<Demo5 />,\"title\":\" Tree异步数据加载\",\"code\":\"/**\\n *\\n * @title Tree异步数据加载\\n * @description 当点击展开,异步获取子节点数据\\n *\\n */\\n\\n\\nimport React, {\\n Component\\n} from 'react';\\nimport { Tree } from 'tinper-bee';\\n\\nconst x = 3;\\nconst y = 2;\\nconst z = 1;\\nconst gData = [];\\n\\nconst generateData = (_level, _preKey, _tns) => {\\n const preKey = _preKey || '0';\\n const tns = _tns || gData;\\n\\n const children = [];\\n for (let i = 0; i < x; i++) {\\n const key = `${preKey}-${i}`;\\n tns.push({\\n title: key,\\n key\\n });\\n if (i < y) {\\n children.push(key);\\n }\\n }\\n if (_level < 0) {\\n return tns;\\n }\\n const level = _level - 1;\\n children.forEach((key, index) => {\\n tns[index].children = [];\\n return generateData(level, key, tns[index].children);\\n });\\n};\\ngenerateData(z);\\n\\nconst TreeNode = Tree.TreeNode;\\n\\nfunction generateTreeNodes(treeNode) {\\n const arr = [];\\n const key = treeNode.props.eventKey;\\n for (let i = 0; i < 3; i++) {\\n arr.push({\\n name: `leaf ${key}-${i}`,\\n key: `${key}-${i}`\\n });\\n }\\n return arr;\\n}\\n\\nfunction setLeaf(treeData, curKey, level) {\\n const loopLeaf = (data, lev) => {\\n const l = lev - 1;\\n data.forEach((item) => {\\n if ((item.key.length > curKey.length) ? item.key.indexOf(curKey) !== 0 :\\n curKey.indexOf(item.key) !== 0) {\\n return;\\n }\\n if (item.children) {\\n loopLeaf(item.children, l);\\n } else if (l < 1) {\\n item.isLeaf = true;\\n }\\n });\\n };\\n loopLeaf(treeData, level + 1);\\n}\\n\\nfunction getNewTreeData(treeData, curKey, child, level) {\\n const loop = (data) => {\\n if (level < 1 || curKey.length - 3 > level * 2) return;\\n data.forEach((item) => {\\n if (curKey.indexOf(item.key) === 0) {\\n if (item.children) {\\n loop(item.children);\\n } else {\\n item.children = child;\\n }\\n }\\n });\\n };\\n loop(treeData);\\n setLeaf(treeData, curKey, level);\\n}\\n\\nclass Demo5 extends Component {\\n constructor(props) {\\n super(props);\\n this.state = {\\n treeData: [],\\n };\\n this.onSelect = this.onSelect.bind(this);\\n this.onLoadData = this.onLoadData.bind(this);\\n }\\n componentDidMount() {\\n setTimeout(() => {\\n this.setState({\\n treeData: [{\\n name: 'pNode 01',\\n key: '0-0'\\n }, {\\n name: 'pNode 02',\\n key: '0-1'\\n }, {\\n name: 'pNode 03',\\n key: '0-2',\\n isLeaf: true\\n }, ],\\n });\\n }, 100);\\n }\\n onSelect(info) {\\n console.log('selected', info);\\n }\\n onLoadData(treeNode) {\\n return new Promise((resolve) => {\\n setTimeout(() => {\\n const treeData = [...this.state.treeData];\\n getNewTreeData(treeData, treeNode.props.eventKey, generateTreeNodes(treeNode), 2);\\n this.setState({\\n treeData\\n });\\n resolve();\\n }, 1000);\\n });\\n }\\n render() {\\n const loop = data => data.map((item) => {\\n if (item.children) {\\n return <TreeNode title={item.name} key={item.key}>{loop(item.children)}</TreeNode>;\\n }\\n return <TreeNode title={item.name} key={item.key} isLeaf={item.isLeaf} disabled={item.key === '0-0-0'} />;\\n });\\n const treeNodes = loop(this.state.treeData);\\n return (\\n <Tree onSelect={this.onSelect} loadData={this.onLoadData} >\\n {treeNodes}\\n </Tree>\\n );\\n }\\n};\\n\\n\",\"desc\":\" 当点击展开,异步获取子节点数据\"},{\"example\":<Demo6 />,\"title\":\" Tree基本使用示例自定义图标\",\"code\":\"/**\\n *\\n * @title Tree基本使用示例自定义图标\\n * @description 添加openIcon、closeIcon属性\\n *\\n */\\n\\n\\nimport React, {\\n\\tComponent\\n} from 'react';\\nimport { Tree, Icon } from 'tinper-bee';\\nconst TreeNode = Tree.TreeNode;\\n\\nconst defaultProps = {\\n\\tkeys: ['0-0-0', '0-0-1']\\n}\\nconsole.log(Tree);\\nclass Demo1 extends Component {\\n\\tconstructor(props) {\\n\\t\\tsuper(props);\\n\\t\\tconst keys = this.props.keys;\\n\\t\\tthis.state = {\\n\\t\\t\\tdefaultExpandedKeys: keys,\\n\\t\\t\\tdefaultSelectedKeys: keys,\\n\\t\\t\\tdefaultCheckedKeys: keys,\\n\\t\\t};\\n\\t}\\n\\tonSelect(info) {\\n\\t\\tconsole.log('selected', info);\\n\\t}\\n\\tonCheck(info) {\\n\\t\\tconsole.log('onCheck', info);\\n\\t}\\n\\trender() {\\n\\t\\treturn (\\n\\n\\t\\t\\t<Tree className=\\\"myCls\\\" checkable openIcon={<Icon type=\\\"uf-minus\\\" />} closeIcon={<Icon type=\\\"uf-plus\\\" />}\\n\\t defaultExpandedKeys={this.state.defaultExpandedKeys}\\n\\t defaultSelectedKeys={this.state.defaultSelectedKeys}\\n\\t defaultCheckedKeys={this.state.defaultCheckedKeys}\\n\\t onSelect={this.onSelect} onCheck={this.onCheck}\\n\\t >\\n\\t <TreeNode title=\\\"parent 1\\\" key=\\\"0-0\\\">\\n\\t <TreeNode title=\\\"parent 1-0\\\" key=\\\"0-0-0\\\" disabled>\\n\\t <TreeNode title=\\\"leaf\\\" key=\\\"0-0-0-0\\\" disableCheckbox />\\n\\t <TreeNode title=\\\"leaf\\\" key=\\\"0-0-0-1\\\" />\\n\\t </TreeNode>\\n\\t <TreeNode title=\\\"parent 1-1\\\" key=\\\"0-0-1\\\">\\n\\t <TreeNode title={<span style={{ color: '#08c' }}>sss</span>} key=\\\"0-0-1-0\\\" />\\n\\t </TreeNode>\\n\\t </TreeNode>\\n\\t </Tree>\\n\\t\\t);\\n\\t}\\n}\\n\\nDemo1.defaultProps = defaultProps;\\n\\n\\n\",\"desc\":\" 添加openIcon、closeIcon属性\"},{\"example\":<Demo7 />,\"title\":\" Tree增加节点\",\"code\":\"/**\\n *\\n * @title Tree增加节点\\n * @description \\n *\\n */\\n\\n\\nimport React, {\\n Component\\n} from 'react';\\nimport { Tree, Button } from 'tinper-bee';\\n\\nconst TreeNode = Tree.TreeNode;\\n\\n\\nclass Demo7 extends Component {\\n constructor(props) {\\n super(props);\\n this.state = {\\n treeData: [],\\n defaultExpandedKeys: ['0-0', '0-1', '0-2'],\\n parentNode: {}\\n };\\n this.onSelect = this.onSelect.bind(this);\\n this.addNode = this.addNode.bind(this);\\n this.clickFun = this.clickFun.bind(this);\\n this.getNodeByKey = this.getNodeByKey.bind(this);\\n this.parentNode = null\\n }\\n componentDidMount() {\\n setTimeout(() => {\\n this.setState({\\n treeData: [{\\n name: 'pNode 01',\\n key: '0-0',\\n children: [{\\n name: 'leaf 0-0-0',\\n key: '0-0-0'\\n }, {\\n name: 'leaf 0-0-1',\\n key: '0-0-1'\\n }]\\n }, {\\n name: 'pNode 02',\\n key: '0-1',\\n children: [{\\n name: 'leaf 0-1-0',\\n key: '0-1-0'\\n }, {\\n name: 'leaf 0-1-1',\\n key: '0-1-1'\\n }]\\n }, {\\n name: 'pNode 03',\\n key: '0-2',\\n isLeaf: true\\n }, ],\\n });\\n }, 100);\\n }\\n /**\\n * 增加节点\\n * @param string prKey [父节点key]\\n * @param object nodeItem [子节点信息]\\n */\\n addNode(prKey, nodeItem) {\\n const data = this.state.treeData;\\n let parNode;\\n if (prKey) {\\n // 如果prKey存在则搜索父节点进行添加\\n parNode = this.getNodeByKey(data, prKey);\\n //如果父节点存在的话,添加到父节点上\\n if (parNode) {\\n if (!parNode.children) {\\n parNode.children = [];\\n }\\n // 如果key不存在就动态生成一个\\n if (!nodeItem.key) {\\n nodeItem.key = prKey + parNode.children.length + 1;\\n }\\n parNode.children.push(nodeItem);\\n }\\n } else {\\n // 没有穿prKey添加到根下成为一级节点\\n if (!nodeItem.key) {\\n nodeItem.key = \\\"0-\\\" + data.length + 1;\\n }\\n data.push(nodeItem);\\n }\\n\\n this.setState({\\n data\\n });\\n }\\n\\n getNodeByKey(data, key) {\\n if (!this.parentNode) {\\n data.find(item => {\\n if (item.key === key) {\\n console.log('item.name---' + item.name)\\n this.parentNode = item;\\n return (true);\\n } else if (item.children) {\\n return this.getNodeByKey(item.children, key);\\n\\n }\\n })\\n }\\n return this.parentNode;\\n }\\n\\n\\n\\n onSelect(info) {\\n console.log('selected', info);\\n }\\n /**\\n * 点击button事件\\n */\\n clickFun() {\\n let prKey, nodeItem;\\n prKey = '0-1';\\n nodeItem = {\\n name: 'leaf 0-0-4'\\n }\\n this.addNode(prKey, nodeItem);\\n }\\n\\n render() {\\n const loop = data => data.map((item) => {\\n if (item.children) {\\n return <TreeNode title={item.name} key={item.key}>{loop(item.children)}</TreeNode>;\\n }\\n return <TreeNode title={item.name} key={item.key} isLeaf={item.isLeaf} disabled={item.key === '0-0-0'} />;\\n });\\n const treeNodes = loop(this.state.treeData);\\n console.log('defaultKeys--' + this.state.defaultExpandedKeys);\\n return (\\n <div>\\n <Tree onSelect={this.onSelect} defaultExpandedKeys={this.state.defaultExpandedKeys}>\\n {treeNodes}\\n </Tree>\\n <Button colors=\\\"success\\\" onClick={this.clickFun}>\\n 增加节点\\n </Button>\\n </div>\\n );\\n }\\n};\\n\\n\",\"desc\":\" \"},{\"example\":<Demo8 />,\"title\":\" Tree 节点可编辑\",\"code\":\"/**\\n *\\n * @title Tree 节点可编辑\\n * @description 鼠标移动到节点上点击编辑图标进行编辑。e.node.props.eventKey代表当前节点key值。editKey指当前操作的节点key\\n */\\n\\n\\nimport React, {\\n\\tComponent\\n} from 'react';\\nimport { Tree, Icon, Button } from 'tinper-bee';\\n\\nconst TreeNode = Tree.TreeNode;\\n\\nclass Demo8 extends Component {\\n\\tconstructor(props) {\\n\\t\\tsuper(props);\\n\\n\\t\\tthis.state = {\\n\\t\\t\\ttreeData: [],\\n\\t\\t\\tisHover: \\\"\\\",\\n\\t\\t\\teditKey: \\\"\\\"\\n\\t\\t};\\n\\n\\t}\\n\\n\\n\\tonMouseEnter = (e) => {\\n\\t\\tthis.setState({\\n\\t\\t\\tisHover: e.node.props.eventKey\\n\\t\\t})\\n\\t}\\n\\tonMouseLeave = (e, treenode) => {\\n\\t\\tthis.setState({\\n\\t\\t\\tisHover: \\\"\\\",\\n\\t\\t\\teditKey: \\\"\\\"\\n\\t\\t})\\n\\n\\t}\\n\\n\\teditRender = (item) => {\\n\\t\\tthis.setState({\\n\\t\\t\\teditKey: item.key\\n\\t\\t});\\n\\t}\\n\\tnodechange = (item, value) => {\\n\\t\\titem.name = value;\\n\\t}\\n\\trenderTreeTitle = (item) => {\\n\\t\\tlet titleIcon, titleInfo;\\n\\t\\t//编辑时input框\\n\\t\\tif (this.state.editKey == item.key) {\\n\\t\\t\\ttitleInfo = <input type=\\\"text\\\" id=\\\"itemKey\\\" defaultValue={item.name} onChange={(e) => this.nodechange(item, e.target.value)} />\\n\\t\\t} else {\\n\\t\\t\\ttitleInfo = <span className=\\\"title-middle\\\">{item.name}</span>\\n\\t\\t}\\n\\t\\t//编辑图标\\n\\t\\tif (this.state.isHover == item.key) {\\n\\t\\t\\ttitleIcon = <Icon className=\\\"title-middle edit-icon\\\" type=\\\"uf-pencil\\\" onClick={(e) => this.editRender(item)}></Icon>;\\n\\t\\t}\\n\\t\\treturn (<div className=\\\"title-con\\\">\\n\\n\\t\\t\\t{titleInfo}\\n\\t\\t\\t{titleIcon}\\n\\t\\t</div>);\\n\\t}\\n\\n\\tcomponentDidMount = () => {\\n\\t\\tsetTimeout(() => {\\n\\t\\t\\tthis.setState({\\n\\t\\t\\t\\ttreeData: [{\\n\\t\\t\\t\\t\\tname: 'pNode 01',\\n\\t\\t\\t\\t\\tkey: '0-0',\\n\\t\\t\\t\\t\\tchildren: [{\\n\\t\\t\\t\\t\\t\\tname: 'leaf 0-0-0',\\n\\t\\t\\t\\t\\t\\tkey: '0-0-0'\\n\\t\\t\\t\\t\\t}, {\\n\\t\\t\\t\\t\\t\\tname: 'leaf 0-0-1',\\n\\t\\t\\t\\t\\t\\tkey: '0-0-1'\\n\\t\\t\\t\\t\\t}]\\n\\t\\t\\t\\t}, {\\n\\t\\t\\t\\t\\tname: 'pNode 02',\\n\\t\\t\\t\\t\\tkey: '0-1',\\n\\t\\t\\t\\t\\tchildren: [{\\n\\t\\t\\t\\t\\t\\tname: 'leaf 0-1-0',\\n\\t\\t\\t\\t\\t\\tkey: '0-1-0'\\n\\t\\t\\t\\t\\t}, {\\n\\t\\t\\t\\t\\t\\tname: 'leaf 0-1-1',\\n\\t\\t\\t\\t\\t\\tkey: '0-1-1'\\n\\t\\t\\t\\t\\t}]\\n\\t\\t\\t\\t}, {\\n\\t\\t\\t\\t\\tname: 'pNode 03',\\n\\t\\t\\t\\t\\tkey: '0-2',\\n\\t\\t\\t\\t\\tisLeaf: true\\n\\t\\t\\t\\t}, ],\\n\\t\\t\\t});\\n\\t\\t\\n\\t\\t}, 100);\\n\\t}\\n\\trender() {\\n\\t\\tconst loop = data => data.map((item) => {\\n\\t\\t\\tif (item.children) {\\n\\t\\t\\t\\treturn <TreeNode title={this.renderTreeTitle(item)} key={item.key}>{loop(item.children)}</TreeNode>;\\n\\t\\t\\t}\\n\\t\\t\\treturn <TreeNode title={this.renderTreeTitle(item)} key={item.key} isLeaf={item.isLeaf} disabled={item.key === '0-0-0'} />;\\n\\t\\t});\\n\\t\\tconst treeNodes = loop(this.state.treeData);\\n\\t\\treturn (\\n\\t\\t\\t<Tree onMouseLeave={this.onMouseLeave} onMouseEnter={this.onMouseEnter}>\\n\\t\\t\\t\\t{treeNodes}\\n\\t\\t\\t</Tree>\\n\\n\\t\\t);\\n\\t}\\n}\\n\\n\\n\\n\",\"desc\":\" 鼠标移动到节点上点击编辑图标进行编辑。e.node.props.eventKey代表当前节点key值。editKey指当前操作的节点key\",\"scss_code\":\".title-middle {\\n display: inline-block;\\n vertical-align: middle;\\n}\\n.edit-icon {\\n float:right;\\n font-size: 14px;\\n}\\n.title-con {\\n min-width: 150px;\\n}\"},{\"example\":<Demo9 />,\"title\":\" 连接线Tree\",\"code\":\"/**\\n *\\n * @title 连接线Tree\\n * @description \\n *\\n */\\n\\n\\nimport React, {\\n\\tComponent\\n} from 'react';\\nimport { Tree } from 'tinper-bee';\\n\\nconst TreeNode = Tree.TreeNode;\\nclass Demo9 extends Component {\\n\\tconstructor(props) {\\n\\t\\tsuper(props);\\n\\t\\tconst keys = this.props.keys;\\n\\t\\tthis.state = {\\n\\t\\t\\tdefaultExpandedKeys: keys\\n\\t\\t};\\n\\n\\t}\\n\\n\\trender() {\\n\\t\\treturn (\\n\\t\\t\\t<Tree className=\\\"myCls\\\" showLine checkable defaultExpandAll={true}>\\n\\t <TreeNode title=\\\"parent 1\\\" key=\\\"0-0\\\">\\n\\t <TreeNode title=\\\"parent 1-0\\\" key=\\\"0-0-0\\\" >\\n\\t <TreeNode title=\\\"leaf\\\" key=\\\"0-0-0-0\\\" />\\n\\t <TreeNode title=\\\"leaf\\\" key=\\\"0-0-0-1\\\" />\\n\\t </TreeNode>\\n\\t <TreeNode title=\\\"parent 1-1\\\" key=\\\"0-0-1\\\">\\n\\t <TreeNode title={<span style={{ color: '#08c' }}>sss</span>} key=\\\"0-0-1-0\\\" />\\n\\t </TreeNode>\\n\\t </TreeNode>\\n\\t </Tree>\\n\\t\\t);\\n\\t}\\n}\\n\\n\",\"desc\":\" \"},{\"example\":<Demo10 />,\"title\":\" Tree基本使用示例\",\"code\":\"/**\\n *\\n * @title Tree基本使用示例\\n * @description 如何获取选中对象自定义对象和数据\\n *\\n */\\n\\n\\nimport React, {\\n\\tComponent\\n} from 'react';\\nimport { Tree } from 'tinper-bee';\\n\\nconst TreeNode = Tree.TreeNode;\\n\\nconst defaultProps = {\\n\\tkeys: ['0-0-0', '0-0-1']\\n}\\nclass Demo10 extends Component {\\n\\tconstructor(props) {\\n\\t\\tsuper(props);\\n\\t\\tconst keys = this.props.keys;\\n\\t\\tthis.state = {\\n\\t\\t\\tdefaultExpandedKeys: keys,\\n\\t\\t\\tdefaultSelectedKeys: keys,\\n\\t\\t\\tdefaultCheckedKeys:keys\\n\\t\\t\\t// checkedKeys: {checked:keys},\\n\\t\\t};\\n }\\n /**\\n * 获取当前选中行的item对象。\\n * @param {*} value \\n */\\n\\tonSelect(selectedKeys, e) {\\n console.log(`${selectedKeys} selected`);//获取key\\n let currentObject = {};\\n currentObject.title = e.node.props.title; //获取选中对象的数据\\n currentObject.key = e.node.props.eventKey;\\n console.log(currentObject); \\n\\t}\\n\\tonCheck = (checkedKeys) => {\\n\\t\\tlet self = this;\\n\\t\\tconsole.log('onCheck', checkedKeys);\\n\\t\\tconst cks = {\\n\\t\\t\\tchecked: checkedKeys.checked || checkedKeys,\\n\\t\\t};\\n\\t\\t// this.setState({checkedKeys:cks});\\n\\t}\\n\\n\\tonDoubleClick=(key,treeNode)=>{\\n\\t\\tconsole.log('---onDblClick---'+key+'--treeNode--'+treeNode);\\n\\t}\\n\\trender() {\\n\\t\\n\\t\\treturn (\\n\\t\\t\\t<Tree className=\\\"myCls\\\" showLine checkable\\n defaultExpandedKeys={this.state.defaultExpandedKeys}\\n defaultSelectedKeys={this.state.defaultSelectedKeys}\\n defaultCheckedKeys = {this.state.defaultCheckedKeys}\\n checkStrictly\\n onSelect={this.onSelect} onCheck={this.onCheck}\\n onDoubleClick={this.onDoubleClick}\\n >\\n <TreeNode title=\\\"parent 1\\\" key=\\\"0-0\\\" >\\n <TreeNode title=\\\"parent 1-0\\\" key=\\\"0-0-0\\\" disabled>\\n <TreeNode title=\\\"leaf\\\" key=\\\"0-0-0-0\\\" disableCheckbox />\\n <TreeNode title=\\\"leaf\\\" key=\\\"0-0-0-1\\\" />\\n </TreeNode>\\n <TreeNode title=\\\"parent 1-1\\\" key=\\\"0-0-1\\\">\\n <TreeNode title={<span style={{ color: '#08c' }}>sss</span>} key=\\\"0-0-1-0\\\" />\\n </TreeNode>\\n <TreeNode title=\\\"parent 1-2\\\" key=\\\"0-0-2\\\" >\\n <TreeNode title=\\\"leaf\\\" key=\\\"0-0-2-0\\\" />\\n <TreeNode title=\\\"leaf\\\" key=\\\"0-0-2-1\\\" />\\n </TreeNode>\\n </TreeNode>\\n\\t </Tree>\\n\\t\\t);\\n\\t}\\n}\\n\\nDemo10.defaultProps = defaultProps;\\n\\n\\n\",\"desc\":\" 如何获取选中对象自定义对象和数据\"}]\n\n\nclass Demo extends Component {\n constructor(props) {\n super(props);\n this.state = {\n open: false\n }\n this.handleClick = this.handleClick.bind(this);\n }\n\n handleClick() {\n this.setState({open: !this.state.open})\n }\n\n render() {\n const {title, example, code, desc, scss_code} = this.props;\n let caret = this.state.open ? CARETUP : CARET;\n let text = this.state.open ? \"隐藏代码\" : \"查看代码\";\n\n const header = (\n <div>\n {example}\n <Button style={{\"marginTop\": \"10px\"}} shape=\"block\" onClick={this.handleClick}>\n {caret}\n {text}\n </Button>\n </div>\n );\n return (\n <Col md={12}>\n <h3>{title}</h3>\n <p>{desc}</p>\n <Panel collapsible headerContent expanded={this.state.open} colors='bordered' header={header}\n footerStyle={{padding: 0}}>\n <pre><code className=\"hljs javascript\">{code}</code></pre>\n {!!scss_code ? <pre><code className=\"hljs css\">{scss_code}</code></pre> : null}\n </Panel>\n </Col>\n )\n }\n}\n\nclass DemoGroup extends Component {\n constructor(props) {\n super(props)\n }\n\n render() {\n return (\n <Row>\n {DemoArray.map((child, index) => {\n\n return (\n <Demo example={child.example} title={child.title} code={child.code} scss_code={child.scss_code}\n desc={child.desc} key={index}/>\n )\n\n })}\n </Row>\n )\n }\n}\n\nReactDOM.render(<DemoGroup/>, document.getElementById('tinperBeeDemo'));\n\n\n\n// WEBPACK FOOTER //\n// ./demo/index.js","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Con = exports.Row = exports.Col = undefined;\n\nvar _Col2 = require('./Col');\n\nvar _Col3 = _interopRequireDefault(_Col2);\n\nvar _Row2 = require('./Row');\n\nvar _Row3 = _interopRequireDefault(_Row2);\n\nvar _Layout = require('./Layout');\n\nvar _Layout2 = _interopRequireDefault(_Layout);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nexports.Col = _Col3[\"default\"];\nexports.Row = _Row3[\"default\"];\nexports.Con = _Layout2[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-layout/build/index.js\n// module id = 1\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }\n\nvar propTypes = {\n componentClass: _propTypes2[\"default\"].oneOfType([_propTypes2[\"default\"].element, _propTypes2[\"default\"].string]),\n\n /**\n * xs显示列数\n */\n xs: _propTypes2[\"default\"].number,\n /**\n * sm显示列数\n */\n sm: _propTypes2[\"default\"].number,\n /**\n * md显示列数\n */\n md: _propTypes2[\"default\"].number,\n /**\n * lg显示列数\n */\n lg: _propTypes2[\"default\"].number,\n /**\n * xs偏移列数\n */\n xsOffset: _propTypes2[\"default\"].number,\n /**\n * sm偏移列数\n */\n smOffset: _propTypes2[\"default\"].number,\n /**\n * md偏移列数\n */\n mdOffset: _propTypes2[\"default\"].number,\n /**\n * lg偏移列数\n */\n lgOffset: _propTypes2[\"default\"].number,\n /**\n * xs右偏移列数\n */\n xsPush: _propTypes2[\"default\"].number,\n /**\n * sm右偏移列数\n */\n smPush: _propTypes2[\"default\"].number,\n /**\n * md右偏移列数\n */\n mdPush: _propTypes2[\"default\"].number,\n /**\n * lg右偏移列数\n */\n lgPush: _propTypes2[\"default\"].number,\n /**\n * xs左偏移列数\n */\n xsPull: _propTypes2[\"default\"].number,\n /**\n * sm左偏移列数\n */\n smPull: _propTypes2[\"default\"].number,\n /**\n * md左偏移列数\n */\n mdPull: _propTypes2[\"default\"].number,\n /**\n * lg左偏移列数\n */\n lgPull: _propTypes2[\"default\"].number\n};\n\nvar defaultProps = {\n componentClass: 'div',\n clsPrefix: 'u-col'\n};\n\nvar DEVICE_SIZES = ['lg', 'md', 'sm', 'xs'];\n\nvar Col = function (_Component) {\n _inherits(Col, _Component);\n\n function Col() {\n _classCallCheck(this, Col);\n\n return _possibleConstructorReturn(this, _Component.apply(this, arguments));\n }\n\n Col.prototype.render = function render() {\n var _props = this.props,\n Component = _props.componentClass,\n className = _props.className,\n clsPrefix = _props.clsPrefix,\n others = _objectWithoutProperties(_props, ['componentClass', 'className', 'clsPrefix']);\n\n var tbClass = [];\n /**\n * 对传入props做样式转化\n * @type {[type]}\n */\n DEVICE_SIZES.forEach(function (size) {\n function popProp(propSuffix, modifier) {\n var propName = '' + size + propSuffix;\n var propValue = others[propName];\n\n if (propValue != undefined && propValue != null) {\n tbClass.push(clsPrefix + '-' + size + modifier + '-' + propValue);\n }\n\n delete others[propName];\n }\n\n popProp('', '');\n popProp('Offset', '-offset');\n popProp('Push', '-push');\n popProp('Pull', '-pull');\n });\n\n return _react2[\"default\"].createElement(\n Component,\n _extends({\n className: (0, _classnames2[\"default\"])(tbClass, className)\n }, others),\n this.props.children\n );\n };\n\n return Col;\n}(_react.Component);\n\nCol.defaultProps = defaultProps;\nCol.propTypes = propTypes;\n\nexports[\"default\"] = Col;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-layout/build/Col.js\n// module id = 2\n// module chunks = 0","/*!\n Copyright (c) 2017 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg) && arg.length) {\n\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\tif (inner) {\n\t\t\t\t\tclasses.push(inner);\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/classnames/index.js\n// module id = 3\n// module chunks = 0","module.exports = React;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"React\"\n// module id = 4\n// module chunks = 0","module.exports = PropTypes;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"PropTypes\"\n// module id = 5\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }\n\nvar propTypes = {\n componentClass: _propTypes2[\"default\"].oneOfType([_propTypes2[\"default\"].element, _propTypes2[\"default\"].string])\n};\n\nvar defaultProps = {\n componentClass: 'div',\n clsPrefix: 'u-row'\n};\n\nvar Row = function (_Component) {\n _inherits(Row, _Component);\n\n function Row() {\n _classCallCheck(this, Row);\n\n return _possibleConstructorReturn(this, _Component.apply(this, arguments));\n }\n\n Row.prototype.render = function render() {\n var _props = this.props,\n Component = _props.componentClass,\n clsPrefix = _props.clsPrefix,\n className = _props.className,\n others = _objectWithoutProperties(_props, ['componentClass', 'clsPrefix', 'className']);\n\n var bsclass = '' + clsPrefix;\n\n return _react2[\"default\"].createElement(\n Component,\n _extends({}, others, {\n className: (0, _classnames2[\"default\"])(bsclass, className)\n }),\n this.props.children\n );\n };\n\n return Row;\n}(_react.Component);\n\nRow.propTypes = propTypes;\nRow.defaultProps = defaultProps;\n\nexports[\"default\"] = Row;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-layout/build/Row.js\n// module id = 6\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }\n\nvar propTypes = {\n /**\n * Adds `container-fluid` class.\n */\n fluid: _propTypes2[\"default\"].bool,\n /**\n * You can use a custom element for this component\n */\n componentClass: _propTypes2[\"default\"].oneOfType([_propTypes2[\"default\"].element, _propTypes2[\"default\"].string])\n};\n\nvar defaultProps = {\n componentClass: 'div',\n fluid: false,\n clsPrefix: 'u-container'\n};\n\nvar Con = function (_React$Component) {\n _inherits(Con, _React$Component);\n\n function Con() {\n _classCallCheck(this, Con);\n\n return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n Con.prototype.render = function render() {\n var _tbclass;\n\n var _props = this.props,\n fluid = _props.fluid,\n Component = _props.componentClass,\n clsPrefix = _props.clsPrefix,\n className = _props.className,\n others = _objectWithoutProperties(_props, ['fluid', 'componentClass', 'clsPrefix', 'className']);\n\n var tbclass = (_tbclass = {}, _defineProperty(_tbclass, '' + clsPrefix, !fluid), _defineProperty(_tbclass, clsPrefix + '-fluid', fluid), _tbclass);\n\n return _react2[\"default\"].createElement(\n Component,\n _extends({}, others, {\n className: (0, _classnames2[\"default\"])(tbclass, className)\n }),\n this.props.children\n );\n };\n\n return Con;\n}(_react2[\"default\"].Component);\n\nCon.propTypes = propTypes;\nCon.defaultProps = defaultProps;\n\nexports[\"default\"] = Con;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-layout/build/Layout.js\n// module id = 7\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PanelGroup = exports.Panel = undefined;\n\nvar _Panel2 = require('./Panel');\n\nvar _Panel3 = _interopRequireDefault(_Panel2);\n\nvar _PanelGroup2 = require('./PanelGroup');\n\nvar _PanelGroup3 = _interopRequireDefault(_PanelGroup2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nexports.Panel = _Panel3[\"default\"];\nexports.PanelGroup = _PanelGroup3[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-panel/build/index.js\n// module id = 8\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _beeTransition = require('bee-transition');\n\nvar _beeMessage = require('bee-message');\n\nvar _beeMessage2 = _interopRequireDefault(_beeMessage);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _copyToClipboard = require('copy-to-clipboard');\n\nvar _copyToClipboard2 = _interopRequireDefault(_copyToClipboard);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }\n\nvar propTypes = {\n //是否添加折叠\n collapsible: _propTypes2[\"default\"].bool,\n onSelect: _propTypes2[\"default\"].func,\n //头部组件\n header: _propTypes2[\"default\"].node,\n headerStyle: _propTypes2[\"default\"].object,\n id: _propTypes2[\"default\"].oneOfType([_propTypes2[\"default\"].string, _propTypes2[\"default\"].number]),\n headerContent: _propTypes2[\"default\"].bool,\n //footer组件\n footer: _propTypes2[\"default\"].node,\n footerStyle: _propTypes2[\"default\"].object,\n //默认是否打开\n defaultExpanded: _propTypes2[\"default\"].bool,\n //是否打开\n expanded: _propTypes2[\"default\"].bool,\n //每个panel的标记\n eventKey: _propTypes2[\"default\"].any,\n headerRole: _propTypes2[\"default\"].string,\n panelRole: _propTypes2[\"default\"].string,\n //颜色\n colors: _propTypes2[\"default\"].oneOf(['primary', 'accent', 'success', 'info', 'warning', 'danger', 'default', 'bordered']),\n\n // From Collapse.的扩展动画\n onEnter: _propTypes2[\"default\"].func,\n onEntering: _propTypes2[\"default\"].func,\n onEntered: _propTypes2[\"default\"].func,\n onExit: _propTypes2[\"default\"].func,\n onExiting: _propTypes2[\"default\"].func,\n onExited: _propTypes2[\"default\"].func,\n //是否可复制内容\n copyable: _propTypes2[\"default\"].bool\n};\n\nvar defaultProps = {\n defaultExpanded: false,\n clsPrefix: \"u-panel\",\n colors: \"default\"\n};\n\nvar Panel = function (_React$Component) {\n _inherits(Panel, _React$Component);\n\n function Panel(props, context) {\n _classCallCheck(this, Panel);\n\n var _this = _possibleConstructorReturn(this, _React$Component.call(this, props, context));\n\n _this.handleClickTitle = _this.handleClickTitle.bind(_this);\n\n _this.state = {\n expanded: _this.props.defaultExpanded\n };\n return _this;\n }\n\n //头部点击事件\n\n\n Panel.prototype.handleClickTitle = function handleClickTitle(e) {\n // 不让事件进入事件池\n e.persist();\n e.selected = true;\n\n if (this.props.onSelect) {\n this.props.onSelect(this.props.eventKey, e);\n } else {\n e.preventDefault();\n }\n\n if (e.selected) {\n this.setState({ expanded: !this.state.expanded });\n }\n };\n\n //渲染panelheader\n\n\n Panel.prototype.renderHeader = function renderHeader(collapsible, header, id, role, expanded, clsPrefix) {\n var titleClassName = clsPrefix + '-title';\n\n if (!collapsible) {\n if (!_react2[\"default\"].isValidElement(header)) {\n return header;\n }\n\n return (0, _react.cloneElement)(header, {\n className: (0, _classnames2[\"default\"])(header.props.className, titleClassName)\n });\n }\n\n if (!_react2[\"default\"].isValidElement(header)) {\n return _react2[\"default\"].createElement(\n 'h4',\n { role: 'presentation', className: titleClassName },\n this.renderAnchor(header, id, role, expanded)\n );\n }\n if (this.props.headerContent) {\n return (0, _react.cloneElement)(header, {\n className: (0, _classnames2[\"default\"])(header.props.className, titleClassName)\n });\n }\n\n return (0, _react.cloneElement)(header, {\n className: (0, _classnames2[\"default\"])(header.props.className, titleClassName),\n children: this.renderAnchor(header.props.children, id, role, expanded)\n });\n };\n\n //如果使用链接渲染为a标签\n\n\n Panel.prototype.renderAnchor = function renderAnchor(header, id, role, expanded) {\n return _react2[\"default\"].createElement(\n 'a',\n {\n role: role,\n href: id && '#' + id,\n 'aria-controls': id,\n 'aria-expanded': expanded,\n 'aria-selected': expanded,\n className: expanded ? null : 'collapsed'\n },\n header\n );\n };\n\n //复制代码,弹出提示信息\n\n\n Panel.prototype.copyDemo = function copyDemo(e) {\n var panelTarget = e.target.parentNode;\n var clipBoardContent = panelTarget.firstChild.innerText;\n (0, _copyToClipboard2[\"default\"])(clipBoardContent);\n _beeMessage2[\"default\"].create({ content: '复制成功!', color: 'success', duration: 2 });\n };\n\n //如果有折叠动画,渲染折叠动画\n\n\n Panel.prototype.renderCollapsibleBody = function renderCollapsibleBody(id, expanded, role, children, clsPrefix, copyable, animationHooks) {\n return _react2[\"default\"].createElement(\n _beeTransition.Collapse,\n _extends({ 'in': expanded }, animationHooks),\n _react2[\"default\"].createElement(\n 'div',\n {\n id: id,\n role: role,\n className: clsPrefix + '-collapse',\n 'aria-hidden': !expanded\n },\n this.renderBody(children, clsPrefix, copyable)\n )\n );\n };\n\n //渲染panelbody\n\n\n Panel.prototype.renderBody = function renderBody(rawChildren, clsPrefix, copyable) {\n var self = this;\n var children = [];\n var bodyChildren = [];\n\n var bodyClassName = clsPrefix + '-body';\n //添加到body的children中\n function maybeAddBody(self) {\n if (!bodyChildren.length) {\n return;\n }\n // 给子组件添加key为了之后触发事件时使用\n children.push(_react2[\"default\"].createElement(\n 'div',\n { key: children.length, className: bodyClassName },\n bodyChildren,\n copyable && _react2[\"default\"].createElement('i', { className: clsPrefix + '-copy uf uf-files-o', onClick: self.copyDemo })\n ));\n bodyChildren = [];\n }\n\n //转换为数组,方便复用\n _react2[\"default\"].Children.toArray(rawChildren).forEach(function (child) {\n if (_react2[\"default\"].isValidElement(child) && child.props.fill) {\n maybeAddBody(self);\n\n //将标示fill设置为undefined\n children.push((0, _react.cloneElement)(child, { fill: undefined }));\n\n return;\n }\n bodyChildren.push(child);\n });\n\n maybeAddBody(self);\n\n return children;\n };\n\n Panel.prototype.render = function render() {\n var _props = this.props,\n collapsible = _props.collapsible,\n header = _props.header,\n id = _props.id,\n footer = _props.footer,\n propsExpanded = _props.expanded,\n footerStyle = _props.footerStyle,\n headerStyle = _props.headerStyle,\n headerRole = _props.headerRole,\n panelRole = _props.panelRole,\n className = _props.className,\n colors = _props.colors,\n children = _props.children,\n onEnter = _props.onEnter,\n onEntering = _props.onEntering,\n onEntered = _props.onEntered,\n clsPrefix = _props.clsPrefix,\n onExit = _props.onExit,\n headerContent = _props.headerContent,\n onExiting = _props.onExiting,\n onExited = _props.onExited,\n defaultExpanded = _props.defaultExpanded,\n eventKey = _props.eventKey,\n onSelect = _props.onSelect,\n copyable = _props.copyable,\n props = _objectWithoutProperties(_props, ['collapsible', 'header', 'id', 'footer', 'expanded', 'footerStyle', 'headerStyle', 'headerRole', 'panelRole', 'className', 'colors', 'children', 'onEnter', 'onEntering', 'onEntered', 'clsPrefix', 'onExit', 'headerContent', 'onExiting', 'onExited', 'defaultExpanded', 'eventKey', 'onSelect', 'copyable']);\n\n var expanded = propsExpanded != null ? propsExpanded : this.state.expanded;\n\n var classes = {};\n classes['' + clsPrefix] = true;\n classes[clsPrefix + '-' + colors] = true;\n\n var headerClass = _defineProperty({}, clsPrefix + '-heading', true);\n\n copyable === false ? false : true;\n return _react2[\"default\"].createElement(\n 'div',\n _extends({}, props, {\n className: (0, _classnames2[\"default\"])(className, classes),\n id: collapsible ? null : id\n }),\n header && _react2[\"default\"].createElement(\n 'div',\n { className: (0, _classnames2[\"default\"])(headerClass), style: headerStyle, onClick: this.handleClickTitle },\n this.renderHeader(collapsible, header, id, headerRole, expanded, clsPrefix)\n ),\n collapsible ? this.renderCollapsibleBody(id, expanded, panelRole, children, clsPrefix, copyable, { onEnter: onEnter, onEntering: onEntering, onEntered: onEntered, onExit: onExit, onExiting: onExiting, onExited: onExited }) : this.renderBody(children, clsPrefix, copyable),\n footer && _react2[\"default\"].createElement(\n 'div',\n { className: clsPrefix + '-footer', style: footerStyle },\n footer\n )\n );\n };\n\n return Panel;\n}(_react2[\"default\"].Component);\n\nPanel.propTypes = propTypes;\nPanel.defaultProps = defaultProps;\n\nexports[\"default\"] = Panel;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-panel/build/Panel.js\n// module id = 9\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Fade = exports.Collapse = exports.Transition = undefined;\n\nvar _Transition2 = require('./Transition');\n\nvar _Transition3 = _interopRequireDefault(_Transition2);\n\nvar _Collapse2 = require('./Collapse');\n\nvar _Collapse3 = _interopRequireDefault(_Collapse2);\n\nvar _Fade2 = require('./Fade');\n\nvar _Fade3 = _interopRequireDefault(_Fade2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nexports.Transition = _Transition3[\"default\"];\nexports.Collapse = _Collapse3[\"default\"];\nexports.Fade = _Fade3[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-transition/build/index.js\n// module id = 10\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.EXITING = exports.ENTERED = exports.ENTERING = exports.EXITED = exports.UNMOUNTED = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _properties = require('dom-helpers/transition/properties');\n\nvar _properties2 = _interopRequireDefault(_properties);\n\nvar _on = require('dom-helpers/events/on');\n\nvar _on2 = _interopRequireDefault(_on);\n\nvar _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }\n\nvar transitionEndEvent = _properties2[\"default\"].end;\n\n//设置状态码\nvar UNMOUNTED = exports.UNMOUNTED = 0;\nvar EXITED = exports.EXITED = 1;\nvar ENTERING = exports.ENTERING = 2;\nvar ENTERED = exports.ENTERED = 3;\nvar EXITING = exports.EXITING = 4;\n\nvar propTypes = {\n /**\n * 是否触发动画\n */\n \"in\": _propTypes2[\"default\"].bool,\n\n /**\n * 不显示的时候是否移除组件\n */\n unmountOnExit: _propTypes2[\"default\"].bool,\n\n /**\n * 如果设置为默认显示,挂载时显示动画\n */\n transitionAppear: _propTypes2[\"default\"].bool,\n\n /**\n * 设置超时时间,防止出现问题,可设置为>=动画时间\n */\n timeout: _propTypes2[\"default\"].number,\n\n /**\n * 退出组件时添加的class\n */\n exitedClassName: _propTypes2[\"default\"].string,\n /**\n * 退出组件中添加的class\n */\n exitingClassName: _propTypes2[\"default\"].string,\n /**\n * 进入动画后添加的class\n */\n enteredClassName: _propTypes2[\"default\"].string,\n /**\n * 进入动画时添加的class\n */\n enteringClassName: _propTypes2[\"default\"].string,\n\n /**\n * 进入动画开始时的钩子函数\n */\n onEnter: _propTypes2[\"default\"].func,\n /**\n * 进入动画中的钩子函数\n */\n onEntering: _propTypes2[\"default\"].func,\n /**\n * 进入动画后的钩子函数\n */\n onEntered: _propTypes2[\"default\"].func,\n /**\n * 退出动画开始时的钩子函数\n */\n onExit: _propTypes2[\"default\"].func,\n /**\n * 退出动画中的钩子函数\n */\n onExiting: _propTypes2[\"default\"].func,\n /**\n * 退出动画后的钩子函数\n */\n onExited: _propTypes2[\"default\"].func\n};\n\nfunction noop() {}\n\nvar defaultProps = {\n \"in\": false,\n unmountOnExit: false,\n transitionAppear: false,\n timeout: 5000,\n onEnter: noop,\n onEntering: noop,\n onEntered: noop,\n onExit: noop,\n onExiting: noop,\n onExited: noop\n};\n\n/**\n * 动画组件\n */\n\nvar Transition = function (_Component) {\n _inherits(Transition, _Component);\n\n function Transition(props, context) {\n _classCallCheck(this, Transition);\n\n var _this = _possibleConstructorReturn(this, _Component.call(this, props, context));\n\n var initialStatus = void 0;\n if (props[\"in\"]) {\n // 在componentdidmount时开始执行动画\n initialStatus = props.transitionAppear ? EXITED : ENTERED;\n } else {\n initialStatus = props.unmountOnExit ? UNMOUNTED : EXITED;\n }\n _this.state = { status: initialStatus };\n\n _this.nextCallback = null;\n return _this;\n }\n\n Transition.prototype.componentDidMount = function componentDidMount() {\n if (this.props.transitionAppear && this.props[\"in\"]) {\n this.performEnter(this.props);\n }\n };\n\n Transition.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (nextProps[\"in\"] && this.props.unmountOnExit) {\n if (this.state.status === UNMOUNTED) {\n // 在componentDidUpdate执行动画.\n this.setState({ status: EXITED });\n }\n } else {\n this._needsUpdate = true;\n }\n };\n\n Transition.prototype.componentDidUpdate = function componentDidUpdate() {\n var status = this.state.status;\n\n if (this.props.unmountOnExit && status === EXITED) {\n // 当使用unmountOnExit时exited为exiting和unmont的过渡状态\n if (this.props[\"in\"]) {\n this.performEnter(this.props);\n } else {\n this.setState({ status: UNMOUNTED });\n }\n\n return;\n }\n\n // 确保只响应prop变化\n if (this._needsUpdate) {\n this._needsUpdate = false;\n\n if (this.props[\"in\"]) {\n if (status === EXITING) {\n this.performEnter(this.props);\n } else if (status === EXITED) {\n this.performEnter(this.props);\n }\n // 其他,当我们已经输入或输出\n } else {\n if (status === ENTERING || status === ENTERED) {\n this.performExit(this.props);\n }\n // 我们已经输入或输出完成\n }\n }\n };\n\n Transition.prototype.componentWillUnmount = function componentWillUnmount() {\n this.cancelNextCallback();\n };\n\n Transition.prototype.performEnter = function performEnter(props) {\n var _this2 = this;\n\n this.cancelNextCallback();\n var node = _reactDom2[\"default\"].findDOMNode(this);\n\n // 这里接收新props\n props.onEnter(node);\n\n this.safeSetState({ status: ENTERING }, function () {\n _this2.props.onEntering(node);\n\n _this2.onTransitionEnd(node, function () {\n _this2.safeSetState({ status: ENTERED }, function () {\n _this2.props.onEntered(node);\n });\n });\n });\n };\n\n Transition.prototype.performExit = function performExit(props) {\n var _this3 = this;\n\n this.cancelNextCallback();\n var node = _reactDom2[\"default\"].findDOMNode(this);\n\n props.onExit(node);\n\n this.safeSetState({ status: EXITING }, function () {\n _this3.props.onExiting(node);\n\n _this3.onTransitionEnd(node, function () {\n _this3.safeSetState({ status: EXITED }, function () {\n _this3.props.onExited(node);\n });\n });\n });\n };\n\n Transition.prototype.cancelNextCallback = function cancelNextCallback() {\n if (this.nextCallback !== null) {\n this.nextCallback.cancel();\n this.nextCallback = null;\n }\n };\n\n Transition.prototype.safeSetState = function safeSetState(nextState, callback) {\n // 确保在组件销毁后挂起的setState被消除\n this.setState(nextState, this.setNextCallback(callback));\n };\n\n Transition.prototype.setNextCallback = function setNextCallback(callback) {\n var _this4 = this;\n\n var active = true;\n\n this.nextCallback = function (event) {\n if (active) {\n active = false;\n _this4.nextCallback = null;\n\n callback(event);\n }\n };\n\n this.nextCallback.cancel = function () {\n active = false;\n };\n\n return this.nextCallback;\n };\n\n Transition.prototype.onTransitionEnd = function onTransitionEnd(node, handler) {\n this.setNextCallback(handler);\n\n if (node) {\n if (transitionEndEvent == undefined) {\n this.nextCallback();\n } else {\n (0, _on2[\"default\"])(node, transitionEndEvent, this.nextCallback);\n }\n setTimeout(this.nextCallback, this.props.timeout);\n } else {\n setTimeout(this.nextCallback, 0);\n }\n };\n\n Transition.prototype.render = function render() {\n var status = this.state.status;\n if (status === UNMOUNTED) {\n return null;\n }\n\n var _props = this.props,\n children = _props.children,\n className = _props.className,\n childProps = _objectWithoutProperties(_props, ['children', 'className']);\n\n Object.keys(Transition.propTypes).forEach(function (key) {\n return delete childProps[key];\n });\n\n var transitionClassName = void 0;\n if (status === EXITED) {\n transitionClassName = this.props.exitedClassName;\n } else if (status === ENTERING) {\n transitionClassName = this.props.enteringClassName;\n } else if (status === ENTERED) {\n transitionClassName = this.props.enteredClassName;\n } else if (status === EXITING) {\n transitionClassName = this.props.exitingClassName;\n }\n\n var child = _react2[\"default\"].Children.only(children);\n return _react2[\"default\"].cloneElement(child, _extends({}, childProps, {\n className: (0, _classnames2[\"default\"])(child.props.className, className, transitionClassName)\n }));\n };\n\n return Transition;\n}(_react.Component);\n\nTransition.propTypes = propTypes;\n\nTransition.defaultProps = defaultProps;\n\nexports[\"default\"] = Transition;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-transition/build/Transition.js\n// module id = 11\n// module chunks = 0","module.exports = ReactDOM;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"ReactDOM\"\n// module id = 12\n// module chunks = 0","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = exports.animationEnd = exports.animationDelay = exports.animationTiming = exports.animationDuration = exports.animationName = exports.transitionEnd = exports.transitionDuration = exports.transitionDelay = exports.transitionTiming = exports.transitionProperty = exports.transform = void 0;\n\nvar _inDOM = _interopRequireDefault(require(\"../util/inDOM\"));\n\nvar transform = 'transform';\nexports.transform = transform;\nvar prefix, transitionEnd, animationEnd;\nexports.animationEnd = animationEnd;\nexports.transitionEnd = transitionEnd;\nvar transitionProperty, transitionDuration, transitionTiming, transitionDelay;\nexports.transitionDelay = transitionDelay;\nexports.transitionTiming = transitionTiming;\nexports.transitionDuration = transitionDuration;\nexports.transitionProperty = transitionProperty;\nvar animationName, animationDuration, animationTiming, animationDelay;\nexports.animationDelay = animationDelay;\nexports.animationTiming = animationTiming;\nexports.animationDuration = animationDuration;\nexports.animationName = animationName;\n\nif (_inDOM.default) {\n var _getTransitionPropert = getTransitionProperties();\n\n prefix = _getTransitionPropert.prefix;\n exports.transitionEnd = transitionEnd = _getTransitionPropert.transitionEnd;\n exports.animationEnd = animationEnd = _getTransitionPropert.animationEnd;\n exports.transform = transform = prefix + \"-\" + transform;\n exports.transitionProperty = transitionProperty = prefix + \"-transition-property\";\n exports.transitionDuration = transitionDuration = prefix + \"-transition-duration\";\n exports.transitionDelay = transitionDelay = prefix + \"-transition-delay\";\n exports.transitionTiming = transitionTiming = prefix + \"-transition-timing-function\";\n exports.animationName = animationName = prefix + \"-animation-name\";\n exports.animationDuration = animationDuration = prefix + \"-animation-duration\";\n exports.animationTiming = animationTiming = prefix + \"-animation-delay\";\n exports.animationDelay = animationDelay = prefix + \"-animation-timing-function\";\n}\n\nvar _default = {\n transform: transform,\n end: transitionEnd,\n property: transitionProperty,\n timing: transitionTiming,\n delay: transitionDelay,\n duration: transitionDuration\n};\nexports.default = _default;\n\nfunction getTransitionProperties() {\n var style = document.createElement('div').style;\n var vendorMap = {\n O: function O(e) {\n return \"o\" + e.toLowerCase();\n },\n Moz: function Moz(e) {\n return e.toLowerCase();\n },\n Webkit: function Webkit(e) {\n return \"webkit\" + e;\n },\n ms: function ms(e) {\n return \"MS\" + e;\n }\n };\n var vendors = Object.keys(vendorMap);\n var transitionEnd, animationEnd;\n var prefix = '';\n\n for (var i = 0; i < vendors.length; i++) {\n var vendor = vendors[i];\n\n if (vendor + \"TransitionProperty\" in style) {\n prefix = \"-\" + vendor.toLowerCase();\n transitionEnd = vendorMap[vendor]('TransitionEnd');\n animationEnd = vendorMap[vendor]('AnimationEnd');\n break;\n }\n }\n\n if (!transitionEnd && 'transitionProperty' in style) transitionEnd = 'transitionend';\n if (!animationEnd && 'animationName' in style) animationEnd = 'animationend';\n style = null;\n return {\n animationEnd: animationEnd,\n transitionEnd: transitionEnd,\n prefix: prefix\n };\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-helpers/transition/properties.js\n// module id = 13\n// module chunks = 0","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nmodule.exports = _interopRequireDefault;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@babel/runtime/helpers/interopRequireDefault.js\n// module id = 14\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _default = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\nexports.default = _default;\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-helpers/util/inDOM.js\n// module id = 15\n// module chunks = 0","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _inDOM = _interopRequireDefault(require(\"../util/inDOM\"));\n\nvar on = function on() {};\n\nif (_inDOM.default) {\n on = function () {\n if (document.addEventListener) return function (node, eventName, handler, capture) {\n return node.addEventListener(eventName, handler, capture || false);\n };else if (document.attachEvent) return function (node, eventName, handler) {\n return node.attachEvent('on' + eventName, function (e) {\n e = e || window.event;\n e.target = e.target || e.srcElement;\n e.currentTarget = node;\n handler.call(node, e);\n });\n };\n }();\n}\n\nvar _default = on;\nexports.default = _default;\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-helpers/events/on.js\n// module id = 16\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _style = require('dom-helpers/style');\n\nvar _style2 = _interopRequireDefault(_style);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _Transition = require('./Transition');\n\nvar _Transition2 = _interopRequireDefault(_Transition);\n\nvar _capitalize = require('./util/capitalize');\n\nvar _capitalize2 = _interopRequireDefault(_capitalize);\n\nvar _tinperBeeCore = require('tinper-bee-core');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }\n\nvar MARGINS = {\n height: ['marginTop', 'marginBottom'],\n width: ['marginLeft', 'marginRight']\n};\n\n// reading a dimension prop will cause the browser to recalculate,\n// which will let our animations work\nfunction triggerBrowserReflow(node) {\n node.offsetHeight; // eslint-disable-line no-unused-expressions\n}\n\nfunction getDimensionValue(dimension, elem) {\n var value = elem['offset' + (0, _capitalize2[\"default\"])(dimension)];\n var margins = MARGINS[dimension];\n\n return value + parseInt((0, _style2[\"default\"])(elem, margins[0]), 10) + parseInt((0, _style2[\"default\"])(elem, margins[1]), 10);\n}\n\nvar propTypes = {\n /**\n * Show the component; triggers the expand or collapse animation\n */\n \"in\": _propTypes2[\"default\"].bool,\n\n /**\n * Unmount the component (remove it from the DOM) when it is collapsed\n */\n unmountOnExit: _propTypes2[\"default\"].bool,\n\n /**\n * Run the expand animation when the component mounts, if it is initially\n * shown\n */\n transitionAppear: _propTypes2[\"default\"].bool,\n\n /**\n * Duration of the collapse animation in milliseconds, to ensure that\n * finishing callbacks are fired even if the original browser transition end\n * events are canceled\n */\n timeout: _propTypes2[\"default\"].number,\n\n /**\n * Callback fired before the component expands\n */\n onEnter: _propTypes2[\"default\"].func,\n /**\n * Callback fired after the component starts to expand\n */\n onEntering: _propTypes2[\"default\"].func,\n /**\n * Callback fired after the component has expanded\n */\n onEntered: _propTypes2[\"default\"].func,\n /**\n * Callback fired before the component collapses\n */\n onExit: _propTypes2[\"default\"].func,\n /**\n * Callback fired after the component starts to collapse\n */\n onExiting: _propTypes2[\"default\"].func,\n /**\n * Callback fired after the component has collapsed\n */\n onExited: _propTypes2[\"default\"].func,\n\n /**\n * The dimension used when collapsing, or a function that returns the\n * dimension\n *\n * _Note: Bootstrap only partially supports 'width'!\n * You will need to supply your own CSS animation for the `.width` CSS class._\n */\n dimension: _propTypes2[\"default\"].oneOfType([_propTypes2[\"default\"].oneOf(['height', 'width']), _propTypes2[\"default\"].func]),\n\n /**\n * Function that returns the height or width of the animating DOM node\n *\n * Allows for providing some custom logic for how much the Collapse component\n * should animate in its specified dimension. Called with the current\n * dimension prop value and the DOM node.\n */\n getDimensionValue: _propTypes2[\"default\"].func,\n\n /**\n * ARIA role of collapsible element\n */\n role: _propTypes2[\"default\"].string\n};\n\nvar defaultProps = {\n \"in\": false,\n timeout: 300,\n unmountOnExit: false,\n transitionAppear: false,\n\n dimension: 'height',\n getDimensionValue: getDimensionValue\n};\n\nvar Collapse = function (_React$Component) {\n _inherits(Collapse, _React$Component);\n\n function Collapse(props, context) {\n _classCallCheck(this, Collapse);\n\n var _this = _possibleConstructorReturn(this, _React$Component.call(this, props, context));\n\n _this.handleEnter = _this.handleEnter.bind(_this);\n _this.handleEntering = _this.handleEntering.bind(_this);\n _this.handleEntered = _this.handleEntered.bind(_this);\n _this.handleExit = _this.handleExit.bind(_this);\n _this.handleExiting = _this.handleExiting.bind(_this);\n return _this;\n }\n\n /* -- Expanding -- */\n\n\n Collapse.prototype.handleEnter = function handleEnter(elem) {\n var dimension = this._dimension();\n elem.style[dimension] = '0';\n };\n\n Collapse.prototype.handleEntering = function handleEntering(elem) {\n var dimension = this._dimension();\n elem.style[dimension] = this._getScrollDimensionValue(elem, dimension);\n };\n\n Collapse.prototype.handleEntered = function handleEntered(elem) {\n var dimension = this._dimension();\n elem.style[dimension] = null;\n };\n\n /* -- Collapsing -- */\n\n\n Collapse.prototype.handleExit = function handleExit(elem) {\n var dimension = this._dimension();\n elem.style[dimension] = this.props.getDimensionValue(dimension, elem) + 'px';\n triggerBrowserReflow(elem);\n };\n\n Collapse.prototype.handleExiting = function handleExiting(elem) {\n var dimension = this._dimension();\n elem.style[dimension] = '0';\n };\n\n Collapse.prototype._dimension = function _dimension() {\n return typeof this.props.dimension === 'function' ? this.props.dimension() : this.props.dimension;\n };\n\n // for testing\n\n\n Collapse.prototype._getScrollDimensionValue = function _getScrollDimensionValue(elem, dimension) {\n return elem['scroll' + (0, _capitalize2[\"default\"])(dimension)] + 'px';\n };\n\n Collapse.prototype.render = function render() {\n var _props = this.props,\n onEnter = _props.onEnter,\n onEntering = _props.onEntering,\n onEntered = _props.onEntered,\n onExit = _props.onExit,\n onExiting = _props.onExiting,\n className = _props.className,\n props = _objectWithoutProperties(_props, ['onEnter', 'onEntering', 'onEntered', 'onExit', 'onExiting', 'className']);\n\n delete props.dimension;\n delete props.getDimensionValue;\n\n var handleEnter = (0, _tinperBeeCore.createChainedFunction)(this.handleEnter, onEnter);\n var handleEntering = (0, _tinperBeeCore.createChainedFunction)(this.handleEntering, onEntering);\n var handleEntered = (0, _tinperBeeCore.createChainedFunction)(this.handleEntered, onEntered);\n var handleExit = (0, _tinperBeeCore.createChainedFunction)(this.handleExit, onExit);\n var handleExiting = (0, _tinperBeeCore.createChainedFunction)(this.handleExiting, onExiting);\n\n var classes = {\n width: this._dimension() === 'width'\n };\n\n return _react2[\"default\"].createElement(_Transition2[\"default\"], _extends({}, props, {\n 'aria-expanded': props.role ? props[\"in\"] : null,\n className: (0, _classnames2[\"default\"])(className, classes),\n exitedClassName: 'collapse',\n exitingClassName: 'collapsing',\n enteredClassName: 'collapse in',\n enteringClassName: 'collapsing',\n onEnter: handleEnter,\n onEntering: handleEntering,\n onEntered: handleEntered,\n onExit: handleExit,\n onExiting: handleExiting\n }));\n };\n\n return Collapse;\n}(_react2[\"default\"].Component);\n\nCollapse.propTypes = propTypes;\nCollapse.defaultProps = defaultProps;\n\nexports[\"default\"] = Collapse;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-transition/build/Collapse.js\n// module id = 17\n// module chunks = 0","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = style;\n\nvar _camelizeStyle = _interopRequireDefault(require(\"../util/camelizeStyle\"));\n\nvar _hyphenateStyle = _interopRequireDefault(require(\"../util/hyphenateStyle\"));\n\nvar _getComputedStyle2 = _interopRequireDefault(require(\"./getComputedStyle\"));\n\nvar _removeStyle = _interopRequireDefault(require(\"./removeStyle\"));\n\nvar _properties = require(\"../transition/properties\");\n\nvar _isTransform = _interopRequireDefault(require(\"../transition/isTransform\"));\n\nfunction style(node, property, value) {\n var css = '';\n var transforms = '';\n var props = property;\n\n if (typeof property === 'string') {\n if (value === undefined) {\n return node.style[(0, _camelizeStyle.default)(property)] || (0, _getComputedStyle2.default)(node).getPropertyValue((0, _hyphenateStyle.default)(property));\n } else {\n (props = {})[property] = value;\n }\n }\n\n Object.keys(props).forEach(function (key) {\n var value = props[key];\n\n if (!value && value !== 0) {\n (0, _removeStyle.default)(node, (0, _hyphenateStyle.default)(key));\n } else if ((0, _isTransform.default)(key)) {\n transforms += key + \"(\" + value + \") \";\n } else {\n css += (0, _hyphenateStyle.default)(key) + \": \" + value + \";\";\n }\n });\n\n if (transforms) {\n css += _properties.transform + \": \" + transforms + \";\";\n }\n\n node.style.cssText += ';' + css;\n}\n\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-helpers/style/index.js\n// module id = 18\n// module chunks = 0","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = camelizeStyleName;\n\nvar _camelize = _interopRequireDefault(require(\"./camelize\"));\n\n/**\n * Copyright 2014-2015, Facebook, Inc.\n * All rights reserved.\n * https://github.com/facebook/react/blob/2aeb8a2a6beb00617a4217f7f8284924fa2ad819/src/vendor/core/camelizeStyleName.js\n */\nvar msPattern = /^-ms-/;\n\nfunction camelizeStyleName(string) {\n return (0, _camelize.default)(string.replace(msPattern, 'ms-'));\n}\n\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-helpers/util/camelizeStyle.js\n// module id = 19\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = camelize;\nvar rHyphen = /-(.)/g;\n\nfunction camelize(string) {\n return string.replace(rHyphen, function (_, chr) {\n return chr.toUpperCase();\n });\n}\n\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-helpers/util/camelize.js\n// module id = 20\n// module chunks = 0","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = hyphenateStyleName;\n\nvar _hyphenate = _interopRequireDefault(require(\"./hyphenate\"));\n\n/**\n * Copyright 2013-2014, Facebook, Inc.\n * All rights reserved.\n * https://github.com/facebook/react/blob/2aeb8a2a6beb00617a4217f7f8284924fa2ad819/src/vendor/core/hyphenateStyleName.js\n */\nvar msPattern = /^ms-/;\n\nfunction hyphenateStyleName(string) {\n return (0, _hyphenate.default)(string).replace(msPattern, '-ms-');\n}\n\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-helpers/util/hyphenateStyle.js\n// module id = 21\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = hyphenate;\nvar rUpper = /([A-Z])/g;\n\nfunction hyphenate(string) {\n return string.replace(rUpper, '-$1').toLowerCase();\n}\n\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-helpers/util/hyphenate.js\n// module id = 22\n// module chunks = 0","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = _getComputedStyle;\n\nvar _camelizeStyle = _interopRequireDefault(require(\"../util/camelizeStyle\"));\n\nvar rposition = /^(top|right|bottom|left)$/;\nvar rnumnonpx = /^([+-]?(?:\\d*\\.|)\\d+(?:[eE][+-]?\\d+|))(?!px)[a-z%]+$/i;\n\nfunction _getComputedStyle(node) {\n if (!node) throw new TypeError('No Element passed to `getComputedStyle()`');\n var doc = node.ownerDocument;\n return 'defaultView' in doc ? doc.defaultView.opener ? node.ownerDocument.defaultView.getComputedStyle(node, null) : window.getComputedStyle(node, null) : {\n //ie 8 \"magic\" from: https://github.com/jquery/jquery/blob/1.11-stable/src/css/curCSS.js#L72\n getPropertyValue: function getPropertyValue(prop) {\n var style = node.style;\n prop = (0, _camelizeStyle.default)(prop);\n if (prop == 'float') prop = 'styleFloat';\n var current = node.currentStyle[prop] || null;\n if (current == null && style && style[prop]) current = style[prop];\n\n if (rnumnonpx.test(current) && !rposition.test(prop)) {\n // Remember the original values\n var left = style.left;\n var runStyle = node.runtimeStyle;\n var rsLeft = runStyle && runStyle.left; // Put in the new values to get a computed value out\n\n if (rsLeft) runStyle.left = node.currentStyle.left;\n style.left = prop === 'fontSize' ? '1em' : current;\n current = style.pixelLeft + 'px'; // Revert the changed values\n\n style.left = left;\n if (rsLeft) runStyle.left = rsLeft;\n }\n\n return current;\n }\n };\n}\n\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-helpers/style/getComputedStyle.js\n// module id = 23\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = removeStyle;\n\nfunction removeStyle(node, key) {\n return 'removeProperty' in node.style ? node.style.removeProperty(key) : node.style.removeAttribute(key);\n}\n\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-helpers/style/removeStyle.js\n// module id = 24\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = isTransform;\nvar supportedTransforms = /^((translate|rotate|scale)(X|Y|Z|3d)?|matrix(3d)?|perspective|skew(X|Y)?)$/i;\n\nfunction isTransform(property) {\n return !!(property && supportedTransforms.test(property));\n}\n\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-helpers/transition/isTransform.js\n// module id = 25\n// module chunks = 0","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = capitalize;\nfunction capitalize(string) {\n return \"\" + string.charAt(0).toUpperCase() + string.slice(1);\n}\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-transition/build/util/capitalize.js\n// module id = 26\n// module chunks = 0","'use strict';\r\n\r\nexports.__esModule = true;\r\nexports.Align = exports.toArray = exports.cssAnimation = exports.addEventListener = exports.contains = exports.KeyCode = exports.createChainedFunction = exports.splitComponent = exports.isRequiredForA11y = exports.elementType = exports.deprecated = exports.componentOrElement = exports.all = undefined;\r\n\r\nvar _all2 = require('./all');\r\n\r\nvar _all3 = _interopRequireDefault(_all2);\r\n\r\nvar _componentOrElement2 = require('./componentOrElement');\r\n\r\nvar _componentOrElement3 = _interopRequireDefault(_componentOrElement2);\r\n\r\nvar _deprecated2 = require('./deprecated');\r\n\r\nvar _deprecated3 = _interopRequireDefault(_deprecated2);\r\n\r\nvar _elementType2 = require('./elementType');\r\n\r\nvar _elementType3 = _interopRequireDefault(_elementType2);\r\n\r\nvar _isRequiredForA11y2 = require('./isRequiredForA11y');\r\n\r\nvar _isRequiredForA11y3 = _interopRequireDefault(_isRequiredForA11y2);\r\n\r\nvar _splitComponent2 = require('./splitComponent');\r\n\r\nvar _splitComponent3 = _interopRequireDefault(_splitComponent2);\r\n\r\nvar _createChainedFunction2 = require('./createChainedFunction');\r\n\r\nvar _createChainedFunction3 = _interopRequireDefault(_createChainedFunction2);\r\n\r\nvar _keyCode = require('./keyCode');\r\n\r\nvar _keyCode2 = _interopRequireDefault(_keyCode);\r\n\r\nvar _contains2 = require('./contains');\r\n\r\nvar _contains3 = _interopRequireDefault(_contains2);\r\n\r\nvar _addEventListener2 = require('./addEventListener');\r\n\r\nvar _addEventListener3 = _interopRequireDefault(_addEventListener2);\r\n\r\nvar _cssAnimation2 = require('./cssAnimation');\r\n\r\nvar _cssAnimation3 = _interopRequireDefault(_cssAnimation2);\r\n\r\nvar _toArray2 = require('./toArray');\r\n\r\nvar _toArray3 = _interopRequireDefault(_toArray2);\r\n\r\nvar _Align2 = require('./Align');\r\n\r\nvar _Align3 = _interopRequireDefault(_Align2);\r\n\r\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\r\n\r\nexports.all = _all3.default;\r\nexports.componentOrElement = _componentOrElement3.default;\r\nexports.deprecated = _deprecated3.default;\r\nexports.elementType = _elementType3.default;\r\nexports.isRequiredForA11y = _isRequiredForA11y3.default;\r\nexports.splitComponent = _splitComponent3.default;\r\nexports.createChainedFunction = _createChainedFunction3.default;\r\nexports.KeyCode = _keyCode2.default;\r\nexports.contains = _contains3.default;\r\nexports.addEventListener = _addEventListener3.default;\r\nexports.cssAnimation = _cssAnimation3.default;\r\nexports.toArray = _toArray3.default;\r\n//export getContainerRenderMixin from './getContainerRenderMixin';\r\n\r\nexports.Align = _Align3.default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/tinper-bee-core/lib/index.js\n// module id = 27\n// module chunks = 0","'use strict';\r\n\r\nexports.__esModule = true;\r\nexports.default = all;\r\n\r\nvar _createChainableTypeChecker = require('./utils/createChainableTypeChecker');\r\n\r\nvar _createChainableTypeChecker2 = _interopRequireDefault(_createChainableTypeChecker);\r\n\r\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\r\n\r\nfunction all() {\r\n for (var _len = arguments.length, validators = Array(_len), _key = 0; _key < _len; _key++) {\r\n validators[_key] = arguments[_key];\r\n }\r\n\r\n function allPropTypes() {\r\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\r\n args[_key2] = arguments[_key2];\r\n }\r\n\r\n var error = null;\r\n\r\n validators.forEach(function (validator) {\r\n if (error != null) {\r\n return;\r\n }\r\n\r\n var result = validator.apply(undefined, args);\r\n if (result != null) {\r\n error = result;\r\n }\r\n });\r\n\r\n return error;\r\n }\r\n\r\n return (0, _createChainableTypeChecker2.default)(allPropTypes);\r\n} /**\r\n * This source code is quoted from rc-util.\r\n * homepage: https://github.com/react-component/util\r\n */\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/tinper-bee-core/lib/all.js\n// module id = 28\n// module chunks = 0","'use strict';\r\n\r\nexports.__esModule = true;\r\nexports.default = createChainableTypeChecker;\r\n/**\r\n * Copyright 2013-present, Facebook, Inc.\r\n * All rights reserved.\r\n *\r\n * This source code is licensed under the BSD-style license found in the\r\n * LICENSE file in the root directory of this source tree. An additional grant\r\n * of patent rights can be found in the PATENTS file in the same directory.\r\n */\r\n\r\n// Mostly taken from ReactPropTypes.\r\n\r\n/* This source code is quoted from rc-util.\r\n * homepage: https://github.com/react-component/util\r\n */\r\n\r\nfunction createChainableTypeChecker(validate) {\r\n function checkType(isRequired, props, propName, componentName, location, propFullName) {\r\n var componentNameSafe = componentName || '<<anonymous>>';\r\n var propFullNameSafe = propFullName || propName;\r\n\r\n if (props[propName] == null) {\r\n if (isRequired) {\r\n return new Error('Required ' + location + ' `' + propFullNameSafe + '` was not specified ' + ('in `' + componentNameSafe + '`.'));\r\n }\r\n\r\n return null;\r\n }\r\n\r\n for (var _len = arguments.length, args = Array(_len > 6 ? _len - 6 : 0), _key = 6; _key < _len; _key++) {\r\n args[_key - 6] = arguments[_key];\r\n }\r\n\r\n return validate.apply(undefined, [props, propName, componentNameSafe, location, propFullNameSafe].concat(args));\r\n }\r\n\r\n var chainedCheckType = checkType.bind(null, false);\r\n chainedCheckType.isRequired = checkType.bind(null, true);\r\n\r\n return chainedCheckType;\r\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/tinper-bee-core/lib/utils/createChainableTypeChecker.js\n// module id = 29\n// module chunks = 0","'use strict';\r\n\r\nexports.__esModule = true;\r\n\r\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; /**\r\n * This source code is quoted from rc-util.\r\n * homepage: https://github.com/react-component/util\r\n */\r\n\r\n\r\nvar _react = require('react');\r\n\r\nvar _react2 = _interopRequireDefault(_react);\r\n\r\nvar _createChainableTypeChecker = require('./utils/createChainableTypeChecker');\r\n\r\nvar _createChainableTypeChecker2 = _interopRequireDefault(_createChainableTypeChecker);\r\n\r\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\r\n\r\nfunction validate(props, propName, componentName, location, propFullName) {\r\n var propValue = props[propName];\r\n var propType = typeof propValue === 'undefined' ? 'undefined' : _typeof(propValue);\r\n\r\n if (_react2.default.isValidElement(propValue)) {\r\n return new Error('Invalid ' + location + ' `' + propFullName + '` of type ReactElement ' + ('supplied to `' + componentName + '`, expected a ReactComponent or a ') + 'DOMElement. You can usually obtain a ReactComponent or DOMElement ' + 'from a ReactElement by attaching a ref to it.');\r\n }\r\n\r\n if ((propType !== 'object' || typeof propValue.render !== 'function') && propValue.nodeType !== 1) {\r\n return new Error('Invalid ' + location + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected a ReactComponent or a ') + 'DOMElement.');\r\n }\r\n\r\n return null;\r\n}\r\n\r\nexports.default = (0, _createChainableTypeChecker2.default)(validate);\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/tinper-bee-core/lib/componentOrElement.js\n// module id = 30\n// module chunks = 0","'use strict';\r\n\r\nexports.__esModule = true;\r\nexports.default = deprecated;\r\n\r\nvar _warning = require('warning');\r\n\r\nvar _warning2 = _interopRequireDefault(_warning);\r\n\r\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\r\n\r\nvar warned = {}; /**\r\n * This source code is quoted from rc-util.\r\n * homepage: https://github.com/react-component/util\r\n */\r\nfunction deprecated(validator, reason) {\r\n return function validate(props, propName, componentName, location, propFullName) {\r\n var componentNameSafe = componentName || '<<anonymous>>';\r\n var propFullNameSafe = propFullName || propName;\r\n\r\n if (props[propName] != null) {\r\n var messageKey = componentName + '.' + propName;\r\n\r\n (0, _warning2.default)(warned[messageKey], 'The ' + location + ' `' + propFullNameSafe + '` of ' + ('`' + componentNameSafe + '` is deprecated. ' + reason + '.'));\r\n\r\n warned[messageKey] = true;\r\n }\r\n\r\n for (var _len = arguments.length, args = Array(_len > 5 ? _len - 5 : 0), _key = 5; _key < _len; _key++) {\r\n args[_key - 5] = arguments[_key];\r\n }\r\n\r\n return validator.apply(undefined, [props, propName, componentName, location, propFullName].concat(args));\r\n };\r\n}\r\n\r\n/* eslint-disable no-underscore-dangle */\r\nfunction _resetWarned() {\r\n warned = {};\r\n}\r\n\r\ndeprecated._resetWarned = _resetWarned;\r\n/* eslint-enable no-underscore-dangle */\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/tinper-bee-core/lib/deprecated.js\n// module id = 31\n// module chunks = 0","/**\n * Copyright 2014-2015, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\n'use strict';\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar warning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n warning = function(condition, format, args) {\n var len = arguments.length;\n args = new Array(len > 2 ? len - 2 : 0);\n for (var key = 2; key < len; key++) {\n args[key - 2] = arguments[key];\n }\n if (format === undefined) {\n throw new Error(\n '`warning(condition, format, ...args)` requires a warning ' +\n 'message argument'\n );\n }\n\n if (format.length < 10 || (/^[s\\W]*$/).test(format)) {\n throw new Error(\n 'The warning format should be able to uniquely identify this ' +\n 'warning. Please, use a more descriptive format than: ' + format\n );\n }\n\n if (!condition) {\n var argIndex = 0;\n var message = 'Warning: ' +\n format.replace(/%s/g, function() {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch(x) {}\n }\n };\n}\n\nmodule.exports = warning;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/warning/browser.js\n// module id = 32\n// module chunks = 0","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /usr/local/lib/~/bee-tools/~/process/browser.js\n// module id = 33\n// module chunks = 0","'use strict';\r\n\r\nexports.__esModule = true;\r\n\r\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; /**\r\n * This source code is quoted from rc-util.\r\n * homepage: https://github.com/react-component/util\r\n */\r\n\r\n\r\nvar _react = require('react');\r\n\r\nvar _react2 = _interopRequireDefault(_react);\r\n\r\nvar _createChainableTypeChecker = require('./utils/createChainableTypeChecker');\r\n\r\nvar _createChainableTypeChecker2 = _interopRequireDefault(_createChainableTypeChecker);\r\n\r\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\r\n\r\nfunction elementType(props, propName, componentName, location, propFullName) {\r\n var propValue = props[propName];\r\n var propType = typeof propValue === 'undefined' ? 'undefined' : _typeof(propValue);\r\n\r\n if (_react2.default.isValidElement(propValue)) {\r\n return new Error('Invalid ' + location + ' `' + propFullName + '` of type ReactElement ' + ('supplied to `' + componentName + '`, expected an element type (a string ') + 'or a ReactClass).');\r\n }\r\n\r\n if (propType !== 'function' && propType !== 'string') {\r\n return new Error('Invalid ' + location + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected an element type (a string ') + 'or a ReactClass).');\r\n }\r\n\r\n return null;\r\n}\r\n\r\nexports.default = (0, _createChainableTypeChecker2.default)(elementType);\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/tinper-bee-core/lib/elementType.js\n// module id = 34\n// module chunks = 0","'use strict';\r\n\r\nexports.__esModule = true;\r\nexports.default = isRequiredForA11y;\r\n/**\r\n * This source code is quoted from rc-util.\r\n * homepage: https://github.com/react-component/util\r\n */\r\nfunction isRequiredForA11y(validator) {\r\n return function validate(props, propName, componentName, location, propFullName) {\r\n var componentNameSafe = componentName || '<<anonymous>>';\r\n var propFullNameSafe = propFullName || propName;\r\n\r\n if (props[propName] == null) {\r\n return new Error('The ' + location + ' `' + propFullNameSafe + '` is required to make ' + ('`' + componentNameSafe + '` accessible for users of assistive ') + 'technologies such as screen readers.');\r\n }\r\n\r\n for (var _len = arguments.length, args = Array(_len > 5 ? _len - 5 : 0), _key = 5; _key < _len; _key++) {\r\n args[_key - 5] = arguments[_key];\r\n }\r\n\r\n return validator.apply(undefined, [props, propName, componentName, location, propFullName].concat(args));\r\n };\r\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/tinper-bee-core/lib/isRequiredForA11y.js\n// module id = 35\n// module chunks = 0","\"use strict\";\r\n\r\nexports.__esModule = true;\r\nexports.default = splitComponentProps;\r\n/**\r\n * This source code is quoted from rc-util.\r\n * homepage: https://github.com/react-component/util\r\n */\r\nfunction _objectEntries(obj) {\r\n var entries = [];\r\n var keys = Object.keys(obj);\r\n\r\n for (var k = 0; k < keys.length; ++k) {\r\n entries.push([keys[k], obj[keys[k]]]);\r\n }return entries;\r\n}\r\n\r\n/**\r\n * 分割要传入父元素和子元素的props\r\n * @param {[object]} props 传入的属性\r\n * @param {[reactElement]} Component 组件\r\n * @return {[array]} 返回数组第一个元素为父元素props对象第二个子元素props对象\r\n */\r\nfunction splitComponentProps(props, Component) {\r\n var componentPropTypes = Component.propTypes;\r\n\r\n var parentProps = {};\r\n var childProps = {};\r\n\r\n _objectEntries(props).forEach(function (_ref) {\r\n var propName = _ref[0],\r\n propValue = _ref[1];\r\n\r\n if (componentPropTypes[propName]) {\r\n parentProps[propName] = propValue;\r\n } else {\r\n childProps[propName] = propValue;\r\n }\r\n });\r\n\r\n return [parentProps, childProps];\r\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/tinper-bee-core/lib/splitComponent.js\n// module id = 36\n// module chunks = 0","'use strict';\r\n\r\nexports.__esModule = true;\r\n/**\r\n * This source code is quoted from rc-util.\r\n * homepage: https://github.com/react-component/util\r\n */\r\nfunction createChainedFunction() {\r\n for (var _len = arguments.length, funcs = Array(_len), _key = 0; _key < _len; _key++) {\r\n funcs[_key] = arguments[_key];\r\n }\r\n\r\n return funcs.filter(function (f) {\r\n return f != null;\r\n }).reduce(function (acc, f) {\r\n if (typeof f !== 'function') {\r\n throw new Error('Invalid Argument Type, must only provide functions, undefined, or null.');\r\n }\r\n\r\n if (acc === null) {\r\n return f;\r\n }\r\n\r\n return function chainedFunction() {\r\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\r\n args[_key2] = arguments[_key2];\r\n }\r\n\r\n acc.apply(this, args);\r\n f.apply(this, args);\r\n };\r\n }, null);\r\n}\r\nexports.default = createChainedFunction;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/tinper-bee-core/lib/createChainedFunction.js\n// module id = 37\n// module chunks = 0","/**\r\n * This source code is quoted from rc-util.\r\n * homepage: https://github.com/react-component/util\r\n */\r\n'use strict';\r\n\r\n/**\r\n * @ignore\r\n * some key-codes definition and utils from closure-library\r\n * @author yiminghe@gmail.com\r\n */\r\n\r\nvar KeyCode = {\r\n /**\r\n * MAC_ENTER\r\n */\r\n MAC_ENTER: 3,\r\n /**\r\n * BACKSPACE\r\n */\r\n BACKSPACE: 8,\r\n /**\r\n * TAB\r\n */\r\n TAB: 9,\r\n /**\r\n * NUMLOCK on FF/Safari Mac\r\n */\r\n NUM_CENTER: 12, // NUMLOCK on FF/Safari Mac\r\n /**\r\n * ENTER\r\n */\r\n ENTER: 13,\r\n /**\r\n * SHIFT\r\n */\r\n SHIFT: 16,\r\n /**\r\n * CTRL\r\n */\r\n CTRL: 17,\r\n /**\r\n * ALT\r\n */\r\n ALT: 18,\r\n /**\r\n * PAUSE\r\n */\r\n PAUSE: 19,\r\n /**\r\n * CAPS_LOCK\r\n */\r\n CAPS_LOCK: 20,\r\n /**\r\n * ESC\r\n */\r\n ESC: 27,\r\n /**\r\n * SPACE\r\n */\r\n SPACE: 32,\r\n /**\r\n * PAGE_UP\r\n */\r\n PAGE_UP: 33, // also NUM_NORTH_EAST\r\n /**\r\n * PAGE_DOWN\r\n */\r\n PAGE_DOWN: 34, // also NUM_SOUTH_EAST\r\n /**\r\n * END\r\n */\r\n END: 35, // also NUM_SOUTH_WEST\r\n /**\r\n * HOME\r\n */\r\n HOME: 36, // also NUM_NORTH_WEST\r\n /**\r\n * LEFT\r\n */\r\n LEFT: 37, // also NUM_WEST\r\n /**\r\n * UP\r\n */\r\n UP: 38, // also NUM_NORTH\r\n /**\r\n * RIGHT\r\n */\r\n RIGHT: 39, // also NUM_EAST\r\n /**\r\n * DOWN\r\n */\r\n DOWN: 40, // also NUM_SOUTH\r\n /**\r\n * PRINT_SCREEN\r\n */\r\n PRINT_SCREEN: 44,\r\n /**\r\n * INSERT\r\n */\r\n INSERT: 45, // also NUM_INSERT\r\n /**\r\n * DELETE\r\n */\r\n DELETE: 46, // also NUM_DELETE\r\n /**\r\n * ZERO\r\n */\r\n ZERO: 48,\r\n /**\r\n * ONE\r\n */\r\n ONE: 49,\r\n /**\r\n * TWO\r\n */\r\n TWO: 50,\r\n /**\r\n * THREE\r\n */\r\n THREE: 51,\r\n /**\r\n * FOUR\r\n */\r\n FOUR: 52,\r\n /**\r\n * FIVE\r\n */\r\n FIVE: 53,\r\n /**\r\n * SIX\r\n */\r\n SIX: 54,\r\n /**\r\n * SEVEN\r\n */\r\n SEVEN: 55,\r\n /**\r\n * EIGHT\r\n */\r\n EIGHT: 56,\r\n /**\r\n * NINE\r\n */\r\n NINE: 57,\r\n /**\r\n * QUESTION_MARK\r\n */\r\n QUESTION_MARK: 63, // needs localization\r\n /**\r\n * A\r\n */\r\n A: 65,\r\n /**\r\n * B\r\n */\r\n B: 66,\r\n /**\r\n * C\r\n */\r\n C: 67,\r\n /**\r\n * D\r\n */\r\n D: 68,\r\n /**\r\n * E\r\n */\r\n E: 69,\r\n /**\r\n * F\r\n */\r\n F: 70,\r\n /**\r\n * G\r\n */\r\n G: 71,\r\n /**\r\n * H\r\n */\r\n H: 72,\r\n /**\r\n * I\r\n */\r\n I: 73,\r\n /**\r\n * J\r\n */\r\n J: 74,\r\n /**\r\n * K\r\n */\r\n K: 75,\r\n /**\r\n * L\r\n */\r\n L: 76,\r\n /**\r\n * M\r\n */\r\n M: 77,\r\n /**\r\n * N\r\n */\r\n N: 78,\r\n /**\r\n * O\r\n */\r\n O: 79,\r\n /**\r\n * P\r\n */\r\n P: 80,\r\n /**\r\n * Q\r\n */\r\n Q: 81,\r\n /**\r\n * R\r\n */\r\n R: 82,\r\n /**\r\n * S\r\n */\r\n S: 83,\r\n /**\r\n * T\r\n */\r\n T: 84,\r\n /**\r\n * U\r\n */\r\n U: 85,\r\n /**\r\n * V\r\n */\r\n V: 86,\r\n /**\r\n * W\r\n */\r\n W: 87,\r\n /**\r\n * X\r\n */\r\n X: 88,\r\n /**\r\n * Y\r\n */\r\n Y: 89,\r\n /**\r\n * Z\r\n */\r\n Z: 90,\r\n /**\r\n * META\r\n */\r\n META: 91, // WIN_KEY_LEFT\r\n /**\r\n * WIN_KEY_RIGHT\r\n */\r\n WIN_KEY_RIGHT: 92,\r\n /**\r\n * CONTEXT_MENU\r\n */\r\n CONTEXT_MENU: 93,\r\n /**\r\n * NUM_ZERO\r\n */\r\n NUM_ZERO: 96,\r\n /**\r\n * NUM_ONE\r\n */\r\n NUM_ONE: 97,\r\n /**\r\n * NUM_TWO\r\n */\r\n NUM_TWO: 98,\r\n /**\r\n * NUM_THREE\r\n */\r\n NUM_THREE: 99,\r\n /**\r\n * NUM_FOUR\r\n */\r\n NUM_FOUR: 100,\r\n /**\r\n * NUM_FIVE\r\n */\r\n NUM_FIVE: 101,\r\n /**\r\n * NUM_SIX\r\n */\r\n NUM_SIX: 102,\r\n /**\r\n * NUM_SEVEN\r\n */\r\n NUM_SEVEN: 103,\r\n /**\r\n * NUM_EIGHT\r\n */\r\n NUM_EIGHT: 104,\r\n /**\r\n * NUM_NINE\r\n */\r\n NUM_NINE: 105,\r\n /**\r\n * NUM_MULTIPLY\r\n */\r\n NUM_MULTIPLY: 106,\r\n /**\r\n * NUM_PLUS\r\n */\r\n NUM_PLUS: 107,\r\n /**\r\n * NUM_MINUS\r\n */\r\n NUM_MINUS: 109,\r\n /**\r\n * NUM_PERIOD\r\n */\r\n NUM_PERIOD: 110,\r\n /**\r\n * NUM_DIVISION\r\n */\r\n NUM_DIVISION: 111,\r\n /**\r\n * F1\r\n */\r\n F1: 112,\r\n /**\r\n * F2\r\n */\r\n F2: 113,\r\n /**\r\n * F3\r\n */\r\n F3: 114,\r\n /**\r\n * F4\r\n */\r\n F4: 115,\r\n /**\r\n * F5\r\n */\r\n F5: 116,\r\n /**\r\n * F6\r\n */\r\n F6: 117,\r\n /**\r\n * F7\r\n */\r\n F7: 118,\r\n /**\r\n * F8\r\n */\r\n F8: 119,\r\n /**\r\n * F9\r\n */\r\n F9: 120,\r\n /**\r\n * F10\r\n */\r\n F10: 121,\r\n /**\r\n * F11\r\n */\r\n F11: 122,\r\n /**\r\n * F12\r\n */\r\n F12: 123,\r\n /**\r\n * NUMLOCK\r\n */\r\n NUMLOCK: 144,\r\n /**\r\n * SEMICOLON\r\n */\r\n SEMICOLON: 186, // needs localization\r\n /**\r\n * DASH\r\n */\r\n DASH: 189, // needs localization\r\n /**\r\n * EQUALS\r\n */\r\n EQUALS: 187, // needs localization\r\n /**\r\n * COMMA\r\n */\r\n COMMA: 188, // needs localization\r\n /**\r\n * PERIOD\r\n */\r\n PERIOD: 190, // needs localization\r\n /**\r\n * SLASH\r\n */\r\n SLASH: 191, // needs localization\r\n /**\r\n * APOSTROPHE\r\n */\r\n APOSTROPHE: 192, // needs localization\r\n /**\r\n * SINGLE_QUOTE\r\n */\r\n SINGLE_QUOTE: 222, // needs localization\r\n /**\r\n * OPEN_SQUARE_BRACKET\r\n */\r\n OPEN_SQUARE_BRACKET: 219, // needs localization\r\n /**\r\n * BACKSLASH\r\n */\r\n BACKSLASH: 220, // needs localization\r\n /**\r\n * CLOSE_SQUARE_BRACKET\r\n */\r\n CLOSE_SQUARE_BRACKET: 221, // needs localization\r\n /**\r\n * WIN_KEY\r\n */\r\n WIN_KEY: 224,\r\n /**\r\n * MAC_FF_META\r\n */\r\n MAC_FF_META: 224, // Firefox (Gecko) fires this for the meta key instead of 91\r\n /**\r\n * WIN_IME\r\n */\r\n WIN_IME: 229\r\n};\r\n\r\n/*\r\n whether text and modified key is entered at the same time.\r\n */\r\nKeyCode.isTextModifyingKeyEvent = function isTextModifyingKeyEvent(e) {\r\n var keyCode = e.keyCode;\r\n if (e.altKey && !e.ctrlKey || e.metaKey ||\r\n // Function keys don't generate text\r\n keyCode >= KeyCode.F1 && keyCode <= KeyCode.F12) {\r\n return false;\r\n }\r\n\r\n // The following keys are quite harmless, even in combination with\r\n // CTRL, ALT or SHIFT.\r\n switch (keyCode) {\r\n case KeyCode.ALT:\r\n case KeyCode.CAPS_LOCK:\r\n case KeyCode.CONTEXT_MENU:\r\n case KeyCode.CTRL:\r\n case KeyCode.DOWN:\r\n case KeyCode.END:\r\n case KeyCode.ESC:\r\n case KeyCode.HOME:\r\n case KeyCode.INSERT:\r\n case KeyCode.LEFT:\r\n case KeyCode.MAC_FF_META:\r\n case KeyCode.META:\r\n case KeyCode.NUMLOCK:\r\n case KeyCode.NUM_CENTER:\r\n case KeyCode.PAGE_DOWN:\r\n case KeyCode.PAGE_UP:\r\n case KeyCode.PAUSE:\r\n case KeyCode.PRINT_SCREEN:\r\n case KeyCode.RIGHT:\r\n case KeyCode.SHIFT:\r\n case KeyCode.UP:\r\n case KeyCode.WIN_KEY:\r\n case KeyCode.WIN_KEY_RIGHT:\r\n return false;\r\n default:\r\n return true;\r\n }\r\n};\r\n\r\n/*\r\n whether character is entered.\r\n */\r\nKeyCode.isCharacterKey = function isCharacterKey(keyCode) {\r\n if (keyCode >= KeyCode.ZERO && keyCode <= KeyCode.NINE) {\r\n return true;\r\n }\r\n\r\n if (keyCode >= KeyCode.NUM_ZERO && keyCode <= KeyCode.NUM_MULTIPLY) {\r\n return true;\r\n }\r\n\r\n if (keyCode >= KeyCode.A && keyCode <= KeyCode.Z) {\r\n return true;\r\n }\r\n\r\n // Safari sends zero key code for non-latin characters.\r\n if (window.navigation.userAgent.indexOf('WebKit') !== -1 && keyCode === 0) {\r\n return true;\r\n }\r\n\r\n switch (keyCode) {\r\n case KeyCode.SPACE:\r\n case KeyCode.QUESTION_MARK:\r\n case KeyCode.NUM_PLUS:\r\n case KeyCode.NUM_MINUS:\r\n case KeyCode.NUM_PERIOD:\r\n case KeyCode.NUM_DIVISION:\r\n case KeyCode.SEMICOLON:\r\n case KeyCode.DASH:\r\n case KeyCode.EQUALS:\r\n case KeyCode.COMMA:\r\n case KeyCode.PERIOD:\r\n case KeyCode.SLASH:\r\n case KeyCode.APOSTROPHE:\r\n case KeyCode.SINGLE_QUOTE:\r\n case KeyCode.OPEN_SQUARE_BRACKET:\r\n case KeyCode.BACKSLASH:\r\n case KeyCode.CLOSE_SQUARE_BRACKET:\r\n return true;\r\n default:\r\n return false;\r\n }\r\n};\r\n\r\nmodule.exports = KeyCode;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/tinper-bee-core/lib/keyCode.js\n// module id = 38\n// module chunks = 0","\"use strict\";\r\n\r\nexports.__esModule = true;\r\nexports.default = contains;\r\n/**\r\n * This source code is quoted from rc-util.\r\n * homepage: https://github.com/react-component/util\r\n */\r\nfunction contains(root, n) {\r\n var node = n;\r\n while (node) {\r\n if (node === root) {\r\n return true;\r\n }\r\n node = node.parentNode;\r\n }\r\n\r\n return false;\r\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/tinper-bee-core/lib/contains.js\n// module id = 39\n// module chunks = 0","'use strict';\r\n\r\nexports.__esModule = true;\r\nexports.default = addEventListenerWrap;\r\n\r\nvar _addDomEventListener = require('add-dom-event-listener');\r\n\r\nvar _addDomEventListener2 = _interopRequireDefault(_addDomEventListener);\r\n\r\nvar _reactDom = require('react-dom');\r\n\r\nvar _reactDom2 = _interopRequireDefault(_reactDom);\r\n\r\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\r\n\r\n/**\r\n * This source code is quoted from rc-util.\r\n * homepage: https://github.com/react-component/util\r\n */\r\nfunction addEventListenerWrap(target, eventType, cb) {\r\n /* eslint camelcase: 2 */\r\n var callback = _reactDom2.default.unstable_batchedUpdates ? function run(e) {\r\n _reactDom2.default.unstable_batchedUpdates(cb, e);\r\n } : cb;\r\n return (0, _addDomEventListener2.default)(target, eventType, callback);\r\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/tinper-bee-core/lib/addEventListener.js\n// module id = 40\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\nexports['default'] = addEventListener;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _EventObject = require('./EventObject');\n\nvar _EventObject2 = _interopRequireDefault(_EventObject);\n\nfunction addEventListener(target, eventType, callback, option) {\n function wrapCallback(e) {\n var ne = new _EventObject2['default'](e);\n callback.call(target, ne);\n }\n\n if (target.addEventListener) {\n var _ret = (function () {\n var useCapture = false;\n if (typeof option === 'object') {\n useCapture = option.capture || false;\n } else if (typeof option === 'boolean') {\n useCapture = option;\n }\n\n target.addEventListener(eventType, wrapCallback, option || false);\n\n return {\n v: {\n remove: function remove() {\n target.removeEventListener(eventType, wrapCallback, useCapture);\n }\n }\n };\n })();\n\n if (typeof _ret === 'object') return _ret.v;\n } else if (target.attachEvent) {\n target.attachEvent('on' + eventType, wrapCallback);\n return {\n remove: function remove() {\n target.detachEvent('on' + eventType, wrapCallback);\n }\n };\n }\n}\n\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/add-dom-event-listener/lib/index.js\n// module id = 41\n// module chunks = 0","/**\n * @ignore\n * event object for dom\n * @author yiminghe@gmail.com\n */\n\n'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _EventBaseObject = require('./EventBaseObject');\n\nvar _EventBaseObject2 = _interopRequireDefault(_EventBaseObject);\n\nvar _objectAssign = require('object-assign');\n\nvar _objectAssign2 = _interopRequireDefault(_objectAssign);\n\nvar TRUE = true;\nvar FALSE = false;\nvar commonProps = ['altKey', 'bubbles', 'cancelable', 'ctrlKey', 'currentTarget', 'eventPhase', 'metaKey', 'shiftKey', 'target', 'timeStamp', 'view', 'type'];\n\nfunction isNullOrUndefined(w) {\n return w === null || w === undefined;\n}\n\nvar eventNormalizers = [{\n reg: /^key/,\n props: ['char', 'charCode', 'key', 'keyCode', 'which'],\n fix: function fix(event, nativeEvent) {\n if (isNullOrUndefined(event.which)) {\n event.which = !isNullOrUndefined(nativeEvent.charCode) ? nativeEvent.charCode : nativeEvent.keyCode;\n }\n\n // add metaKey to non-Mac browsers (use ctrl for PC 's and Meta for Macs)\n if (event.metaKey === undefined) {\n event.metaKey = event.ctrlKey;\n }\n }\n}, {\n reg: /^touch/,\n props: ['touches', 'changedTouches', 'targetTouches']\n}, {\n reg: /^hashchange$/,\n props: ['newURL', 'oldURL']\n}, {\n reg: /^gesturechange$/i,\n props: ['rotation', 'scale']\n}, {\n reg: /^(mousewheel|DOMMouseScroll)$/,\n props: [],\n fix: function fix(event, nativeEvent) {\n var deltaX = undefined;\n var deltaY = undefined;\n var delta = undefined;\n var wheelDelta = nativeEvent.wheelDelta;\n var axis = nativeEvent.axis;\n var wheelDeltaY = nativeEvent.wheelDeltaY;\n var wheelDeltaX = nativeEvent.wheelDeltaX;\n var detail = nativeEvent.detail;\n\n // ie/webkit\n if (wheelDelta) {\n delta = wheelDelta / 120;\n }\n\n // gecko\n if (detail) {\n // press control e.detail == 1 else e.detail == 3\n delta = 0 - (detail % 3 === 0 ? detail / 3 : detail);\n }\n\n // Gecko\n if (axis !== undefined) {\n if (axis === event.HORIZONTAL_AXIS) {\n deltaY = 0;\n deltaX = 0 - delta;\n } else if (axis === event.VERTICAL_AXIS) {\n deltaX = 0;\n deltaY = delta;\n }\n }\n\n // Webkit\n if (wheelDeltaY !== undefined) {\n deltaY = wheelDeltaY / 120;\n }\n if (wheelDeltaX !== undefined) {\n deltaX = -1 * wheelDeltaX / 120;\n }\n\n // 默认 deltaY (ie)\n if (!deltaX && !deltaY) {\n deltaY = delta;\n }\n\n if (deltaX !== undefined) {\n /**\n * deltaX of mousewheel event\n * @property deltaX\n * @member Event.DomEvent.Object\n */\n event.deltaX = deltaX;\n }\n\n if (deltaY !== undefined) {\n /**\n * deltaY of mousewheel event\n * @property deltaY\n * @member Event.DomEvent.Object\n */\n event.deltaY = deltaY;\n }\n\n if (delta !== undefined) {\n /**\n * delta of mousewheel event\n * @property delta\n * @member Event.DomEvent.Object\n */\n event.delta = delta;\n }\n }\n}, {\n reg: /^mouse|contextmenu|click|mspointer|(^DOMMouseScroll$)/i,\n props: ['buttons', 'clientX', 'clientY', 'button', 'offsetX', 'relatedTarget', 'which', 'fromElement', 'toElement', 'offsetY', 'pageX', 'pageY', 'screenX', 'screenY'],\n fix: function fix(event, nativeEvent) {\n var eventDoc = undefined;\n var doc = undefined;\n var body = undefined;\n var target = event.target;\n var button = nativeEvent.button;\n\n // Calculate pageX/Y if missing and clientX/Y available\n if (target && isNullOrUndefined(event.pageX) && !isNullOrUndefined(nativeEvent.clientX)) {\n eventDoc = target.ownerDocument || document;\n doc = eventDoc.documentElement;\n body = eventDoc.body;\n event.pageX = nativeEvent.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc && doc.clientLeft || body && body.clientLeft || 0);\n event.pageY = nativeEvent.clientY + (doc && doc.scrollTop || body && body.scrollTop || 0) - (doc && doc.clientTop || body && body.clientTop || 0);\n }\n\n // which for click: 1 === left; 2 === middle; 3 === right\n // do not use button\n if (!event.which && button !== undefined) {\n if (button & 1) {\n event.which = 1;\n } else if (button & 2) {\n event.which = 3;\n } else if (button & 4) {\n event.which = 2;\n } else {\n event.which = 0;\n }\n }\n\n // add relatedTarget, if necessary\n if (!event.relatedTarget && event.fromElement) {\n event.relatedTarget = event.fromElement === target ? event.toElement : event.fromElement;\n }\n\n return event;\n }\n}];\n\nfunction retTrue() {\n return TRUE;\n}\n\nfunction retFalse() {\n return FALSE;\n}\n\nfunction DomEventObject(nativeEvent) {\n var type = nativeEvent.type;\n\n var isNative = typeof nativeEvent.stopPropagation === 'function' || typeof nativeEvent.cancelBubble === 'boolean';\n\n _EventBaseObject2['default'].call(this);\n\n this.nativeEvent = nativeEvent;\n\n // in case dom event has been mark as default prevented by lower dom node\n var isDefaultPrevented = retFalse;\n if ('defaultPrevented' in nativeEvent) {\n isDefaultPrevented = nativeEvent.defaultPrevented ? retTrue : retFalse;\n } else if ('getPreventDefault' in nativeEvent) {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=691151\n isDefaultPrevented = nativeEvent.getPreventDefault() ? retTrue : retFalse;\n } else if ('returnValue' in nativeEvent) {\n isDefaultPrevented = nativeEvent.returnValue === FALSE ? retTrue : retFalse;\n }\n\n this.isDefaultPrevented = isDefaultPrevented;\n\n var fixFns = [];\n var fixFn = undefined;\n var l = undefined;\n var prop = undefined;\n var props = commonProps.concat();\n\n eventNormalizers.forEach(function (normalizer) {\n if (type.match(normalizer.reg)) {\n props = props.concat(normalizer.props);\n if (normalizer.fix) {\n fixFns.push(normalizer.fix);\n }\n }\n });\n\n l = props.length;\n\n // clone properties of the original event object\n while (l) {\n prop = props[--l];\n this[prop] = nativeEvent[prop];\n }\n\n // fix target property, if necessary\n if (!this.target && isNative) {\n this.target = nativeEvent.srcElement || document; // srcElement might not be defined either\n }\n\n // check if target is a text node (safari)\n if (this.target && this.target.nodeType === 3) {\n this.target = this.target.parentNode;\n }\n\n l = fixFns.length;\n\n while (l) {\n fixFn = fixFns[--l];\n fixFn(this, nativeEvent);\n }\n\n this.timeStamp = nativeEvent.timeStamp || Date.now();\n}\n\nvar EventBaseObjectProto = _EventBaseObject2['default'].prototype;\n\n(0, _objectAssign2['default'])(DomEventObject.prototype, EventBaseObjectProto, {\n constructor: DomEventObject,\n\n preventDefault: function preventDefault() {\n var e = this.nativeEvent;\n\n // if preventDefault exists run it on the original event\n if (e.preventDefault) {\n e.preventDefault();\n } else {\n // otherwise set the returnValue property of the original event to FALSE (IE)\n e.returnValue = FALSE;\n }\n\n EventBaseObjectProto.preventDefault.call(this);\n },\n\n stopPropagation: function stopPropagation() {\n var e = this.nativeEvent;\n\n // if stopPropagation exists run it on the original event\n if (e.stopPropagation) {\n e.stopPropagation();\n } else {\n // otherwise set the cancelBubble property of the original event to TRUE (IE)\n e.cancelBubble = TRUE;\n }\n\n EventBaseObjectProto.stopPropagation.call(this);\n }\n});\n\nexports['default'] = DomEventObject;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/add-dom-event-listener/lib/EventObject.js\n// module id = 42\n// module chunks = 0","/**\n * @ignore\n * base event object for custom and dom event.\n * @author yiminghe@gmail.com\n */\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nfunction returnFalse() {\n return false;\n}\n\nfunction returnTrue() {\n return true;\n}\n\nfunction EventBaseObject() {\n this.timeStamp = Date.now();\n this.target = undefined;\n this.currentTarget = undefined;\n}\n\nEventBaseObject.prototype = {\n isEventObject: 1,\n\n constructor: EventBaseObject,\n\n isDefaultPrevented: returnFalse,\n\n isPropagationStopped: returnFalse,\n\n isImmediatePropagationStopped: returnFalse,\n\n preventDefault: function preventDefault() {\n this.isDefaultPrevented = returnTrue;\n },\n\n stopPropagation: function stopPropagation() {\n this.isPropagationStopped = returnTrue;\n },\n\n stopImmediatePropagation: function stopImmediatePropagation() {\n this.isImmediatePropagationStopped = returnTrue;\n // fixed 1.2\n // call stopPropagation implicitly\n this.stopPropagation();\n },\n\n halt: function halt(immediate) {\n if (immediate) {\n this.stopImmediatePropagation();\n } else {\n this.stopPropagation();\n }\n this.preventDefault();\n }\n};\n\nexports[\"default\"] = EventBaseObject;\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/add-dom-event-listener/lib/EventBaseObject.js\n// module id = 43\n// module chunks = 0","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/object-assign/index.js\n// module id = 44\n// module chunks = 0","'use strict';\r\n\r\nexports.__esModule = true;\r\n\r\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; /**\r\n * This source code is quoted from rc-util.\r\n * homepage: https://github.com/react-component/util\r\n */\r\n\r\n\r\nvar _Event = require('./Event');\r\n\r\nvar _Event2 = _interopRequireDefault(_Event);\r\n\r\nvar _componentClasses = require('component-classes');\r\n\r\nvar _componentClasses2 = _interopRequireDefault(_componentClasses);\r\n\r\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\r\n\r\nvar isCssAnimationSupported = _Event2.default.endEvents.length !== 0;\r\n\r\n\r\nvar capitalPrefixes = ['Webkit', 'Moz', 'O',\r\n// ms is special .... !\r\n'ms'];\r\nvar prefixes = ['-webkit-', '-moz-', '-o-', 'ms-', ''];\r\n\r\nfunction getStyleProperty(node, name) {\r\n var style = window.getComputedStyle(node);\r\n\r\n var ret = '';\r\n for (var i = 0; i < prefixes.length; i++) {\r\n ret = style.getPropertyValue(prefixes[i] + name);\r\n if (ret) {\r\n break;\r\n }\r\n }\r\n return ret;\r\n}\r\n\r\nfunction fixBrowserByTimeout(node) {\r\n if (isCssAnimationSupported) {\r\n var transitionDelay = parseFloat(getStyleProperty(node, 'transition-delay')) || 0;\r\n var transitionDuration = parseFloat(getStyleProperty(node, 'transition-duration')) || 0;\r\n var animationDelay = parseFloat(getStyleProperty(node, 'animation-delay')) || 0;\r\n var animationDuration = parseFloat(getStyleProperty(node, 'animation-duration')) || 0;\r\n var time = Math.max(transitionDuration + transitionDelay, animationDuration + animationDelay);\r\n // sometimes, browser bug\r\n node.rcEndAnimTimeout = setTimeout(function () {\r\n node.rcEndAnimTimeout = null;\r\n if (node.rcEndListener) {\r\n node.rcEndListener();\r\n }\r\n }, time * 1000 + 200);\r\n }\r\n}\r\n\r\nfunction clearBrowserBugTimeout(node) {\r\n if (node.rcEndAnimTimeout) {\r\n clearTimeout(node.rcEndAnimTimeout);\r\n node.rcEndAnimTimeout = null;\r\n }\r\n}\r\n\r\nvar cssAnimation = function cssAnimation(node, transitionName, endCallback) {\r\n var nameIsObj = (typeof transitionName === 'undefined' ? 'undefined' : _typeof(transitionName)) === 'object';\r\n var className = nameIsObj ? transitionName.name : transitionName;\r\n var activeClassName = nameIsObj ? transitionName.active : transitionName + '-active';\r\n var end = endCallback;\r\n var start = void 0;\r\n var active = void 0;\r\n var nodeClasses = (0, _componentClasses2.default)(node);\r\n\r\n if (endCallback && Object.prototype.toString.call(endCallback) === '[object Object]') {\r\n end = endCallback.end;\r\n start = endCallback.start;\r\n active = endCallback.active;\r\n }\r\n\r\n if (node.rcEndListener) {\r\n node.rcEndListener();\r\n }\r\n\r\n node.rcEndListener = function (e) {\r\n if (e && e.target !== node) {\r\n return;\r\n }\r\n\r\n if (node.rcAnimTimeout) {\r\n clearTimeout(node.rcAnimTimeout);\r\n node.rcAnimTimeout = null;\r\n }\r\n\r\n clearBrowserBugTimeout(node);\r\n\r\n nodeClasses.remove(className);\r\n nodeClasses.remove(activeClassName);\r\n\r\n _Event2.default.removeEndEventListener(node, node.rcEndListener);\r\n node.rcEndListener = null;\r\n\r\n // Usually this optional end is used for informing an owner of\r\n // a leave animation and telling it to remove the child.\r\n if (end) {\r\n end();\r\n }\r\n };\r\n\r\n _Event2.default.addEndEventListener(node, node.rcEndListener);\r\n\r\n if (start) {\r\n start();\r\n }\r\n nodeClasses.add(className);\r\n\r\n node.rcAnimTimeout = setTimeout(function () {\r\n node.rcAnimTimeout = null;\r\n nodeClasses.add(activeClassName);\r\n if (active) {\r\n setTimeout(active, 0);\r\n }\r\n fixBrowserByTimeout(node);\r\n // 30ms for firefox\r\n }, 30);\r\n\r\n return {\r\n stop: function stop() {\r\n if (node.rcEndListener) {\r\n node.rcEndListener();\r\n }\r\n }\r\n };\r\n};\r\n\r\ncssAnimation.style = function (node, style, callback) {\r\n if (node.rcEndListener) {\r\n node.rcEndListener();\r\n }\r\n\r\n node.rcEndListener = function (e) {\r\n if (e && e.target !== node) {\r\n return;\r\n }\r\n\r\n if (node.rcAnimTimeout) {\r\n clearTimeout(node.rcAnimTimeout);\r\n node.rcAnimTimeout = null;\r\n }\r\n\r\n clearBrowserBugTimeout(node);\r\n\r\n _Event2.default.removeEndEventListener(node, node.rcEndListener);\r\n node.rcEndListener = null;\r\n\r\n // Usually this optional callback is used for informing an owner of\r\n // a leave animation and telling it to remove the child.\r\n if (callback) {\r\n callback();\r\n }\r\n };\r\n\r\n _Event2.default.addEndEventListener(node, node.rcEndListener);\r\n\r\n node.rcAnimTimeout = setTimeout(function () {\r\n for (var s in style) {\r\n if (style.hasOwnProperty(s)) {\r\n node.style[s] = style[s];\r\n }\r\n }\r\n node.rcAnimTimeout = null;\r\n fixBrowserByTimeout(node);\r\n }, 0);\r\n};\r\n\r\ncssAnimation.setTransition = function (node, p, value) {\r\n var property = p;\r\n var v = value;\r\n if (value === undefined) {\r\n v = property;\r\n property = '';\r\n }\r\n property = property || '';\r\n capitalPrefixes.forEach(function (prefix) {\r\n node.style[prefix + 'Transition' + property] = v;\r\n });\r\n};\r\n\r\ncssAnimation.isCssAnimationSupported = isCssAnimationSupported;\r\n\r\nexports.default = cssAnimation;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/tinper-bee-core/lib/cssAnimation.js\n// module id = 45\n// module chunks = 0","'use strict';\r\n\r\nexports.__esModule = true;\r\n/**\r\n * This source code is quoted from rc-util.\r\n * homepage: https://github.com/react-component/util\r\n */\r\nvar EVENT_NAME_MAP = {\r\n transitionend: {\r\n transition: 'transitionend',\r\n WebkitTransition: 'webkitTransitionEnd',\r\n MozTransition: 'mozTransitionEnd',\r\n OTransition: 'oTransitionEnd',\r\n msTransition: 'MSTransitionEnd'\r\n },\r\n\r\n animationend: {\r\n animation: 'animationend',\r\n WebkitAnimation: 'webkitAnimationEnd',\r\n MozAnimation: 'mozAnimationEnd',\r\n OAnimation: 'oAnimationEnd',\r\n msAnimation: 'MSAnimationEnd'\r\n }\r\n};\r\n\r\nvar endEvents = [];\r\n\r\nfunction detectEvents() {\r\n var testEl = document.createElement('div');\r\n var style = testEl.style;\r\n\r\n if (!('AnimationEvent' in window)) {\r\n delete EVENT_NAME_MAP.animationend.animation;\r\n }\r\n\r\n if (!('TransitionEvent' in window)) {\r\n delete EVENT_NAME_MAP.transitionend.transition;\r\n }\r\n\r\n for (var baseEventName in EVENT_NAME_MAP) {\r\n if (EVENT_NAME_MAP.hasOwnProperty(baseEventName)) {\r\n var baseEvents = EVENT_NAME_MAP[baseEventName];\r\n for (var styleName in baseEvents) {\r\n if (styleName in style) {\r\n endEvents.push(baseEvents[styleName]);\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\nif (typeof window !== 'undefined' && typeof document !== 'undefined') {\r\n detectEvents();\r\n}\r\n\r\nfunction addEventListener(node, eventName, eventListener) {\r\n node.addEventListener(eventName, eventListener, false);\r\n}\r\n\r\nfunction removeEventListener(node, eventName, eventListener) {\r\n node.removeEventListener(eventName, eventListener, false);\r\n}\r\n\r\nvar TransitionEvents = {\r\n addEndEventListener: function addEndEventListener(node, eventListener) {\r\n if (endEvents.length === 0) {\r\n window.setTimeout(eventListener, 0);\r\n return;\r\n }\r\n endEvents.forEach(function (endEvent) {\r\n addEventListener(node, endEvent, eventListener);\r\n });\r\n },\r\n\r\n\r\n endEvents: endEvents,\r\n\r\n removeEndEventListener: function removeEndEventListener(node, eventListener) {\r\n if (endEvents.length === 0) {\r\n return;\r\n }\r\n endEvents.forEach(function (endEvent) {\r\n removeEventListener(node, endEvent, eventListener);\r\n });\r\n }\r\n};\r\n\r\nexports.default = TransitionEvents;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/tinper-bee-core/lib/Event.js\n// module id = 46\n// module chunks = 0","/**\n * Module dependencies.\n */\n\ntry {\n var index = require('indexof');\n} catch (err) {\n var index = require('component-indexof');\n}\n\n/**\n * Whitespace regexp.\n */\n\nvar re = /\\s+/;\n\n/**\n * toString reference.\n */\n\nvar toString = Object.prototype.toString;\n\n/**\n * Wrap `el` in a `ClassList`.\n *\n * @param {Element} el\n * @return {ClassList}\n * @api public\n */\n\nmodule.exports = function(el){\n return new ClassList(el);\n};\n\n/**\n * Initialize a new ClassList for `el`.\n *\n * @param {Element} el\n * @api private\n */\n\nfunction ClassList(el) {\n if (!el || !el.nodeType) {\n throw new Error('A DOM element reference is required');\n }\n this.el = el;\n this.list = el.classList;\n}\n\n/**\n * Add class `name` if not already present.\n *\n * @param {String} name\n * @return {ClassList}\n * @api public\n */\n\nClassList.prototype.add = function(name){\n // classList\n if (this.list) {\n this.list.add(name);\n return this;\n }\n\n // fallback\n var arr = this.array();\n var i = index(arr, name);\n if (!~i) arr.push(name);\n this.el.className = arr.join(' ');\n return this;\n};\n\n/**\n * Remove class `name` when present, or\n * pass a regular expression to remove\n * any which match.\n *\n * @param {String|RegExp} name\n * @return {ClassList}\n * @api public\n */\n\nClassList.prototype.remove = function(name){\n if ('[object RegExp]' == toString.call(name)) {\n return this.removeMatching(name);\n }\n\n // classList\n if (this.list) {\n this.list.remove(name);\n return this;\n }\n\n // fallback\n var arr = this.array();\n var i = index(arr, name);\n if (~i) arr.splice(i, 1);\n this.el.className = arr.join(' ');\n return this;\n};\n\n/**\n * Remove all classes matching `re`.\n *\n * @param {RegExp} re\n * @return {ClassList}\n * @api private\n */\n\nClassList.prototype.removeMatching = function(re){\n var arr = this.array();\n for (var i = 0; i < arr.length; i++) {\n if (re.test(arr[i])) {\n this.remove(arr[i]);\n }\n }\n return this;\n};\n\n/**\n * Toggle class `name`, can force state via `force`.\n *\n * For browsers that support classList, but do not support `force` yet,\n * the mistake will be detected and corrected.\n *\n * @param {String} name\n * @param {Boolean} force\n * @return {ClassList}\n * @api public\n */\n\nClassList.prototype.toggle = function(name, force){\n // classList\n if (this.list) {\n if (\"undefined\" !== typeof force) {\n if (force !== this.list.toggle(name, force)) {\n this.list.toggle(name); // toggle again to correct\n }\n } else {\n this.list.toggle(name);\n }\n return this;\n }\n\n // fallback\n if (\"undefined\" !== typeof force) {\n if (!force) {\n this.remove(name);\n } else {\n this.add(name);\n }\n } else {\n if (this.has(name)) {\n this.remove(name);\n } else {\n this.add(name);\n }\n }\n\n return this;\n};\n\n/**\n * Return an array of classes.\n *\n * @return {Array}\n * @api public\n */\n\nClassList.prototype.array = function(){\n var className = this.el.getAttribute('class') || '';\n var str = className.replace(/^\\s+|\\s+$/g, '');\n var arr = str.split(re);\n if ('' === arr[0]) arr.shift();\n return arr;\n};\n\n/**\n * Check if class `name` is present.\n *\n * @param {String} name\n * @return {ClassList}\n * @api public\n */\n\nClassList.prototype.has =\nClassList.prototype.contains = function(name){\n return this.list\n ? this.list.contains(name)\n : !! ~index(this.array(), name);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/component-classes/index.js\n// module id = 47\n// module chunks = 0","module.exports = function(arr, obj){\n if (arr.indexOf) return arr.indexOf(obj);\n for (var i = 0; i < arr.length; ++i) {\n if (arr[i] === obj) return i;\n }\n return -1;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/component-indexof/index.js\n// module id = 48\n// module chunks = 0","'use strict';\r\n\r\nexports.__esModule = true;\r\nexports.default = toArray;\r\n\r\nvar _react = require('react');\r\n\r\nvar _react2 = _interopRequireDefault(_react);\r\n\r\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\r\n\r\nfunction toArray(children) {\r\n var ret = [];\r\n _react2.default.Children.forEach(children, function (c) {\r\n ret.push(c);\r\n });\r\n return ret;\r\n} /**\r\n * This source code is quoted from rc-util.\r\n * homepage: https://github.com/react-component/util\r\n */\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/tinper-bee-core/lib/toArray.js\n// module id = 49\n// module chunks = 0","'use strict';\r\n\r\nexports.__esModule = true;\r\n\r\nvar _react = require('react');\r\n\r\nvar _react2 = _interopRequireDefault(_react);\r\n\r\nvar _propTypes = require('prop-types');\r\n\r\nvar _propTypes2 = _interopRequireDefault(_propTypes);\r\n\r\nvar _reactDom = require('react-dom');\r\n\r\nvar _reactDom2 = _interopRequireDefault(_reactDom);\r\n\r\nvar _domAlign = require('dom-align');\r\n\r\nvar _domAlign2 = _interopRequireDefault(_domAlign);\r\n\r\nvar _addEventListener = require('./addEventListener');\r\n\r\nvar _addEventListener2 = _interopRequireDefault(_addEventListener);\r\n\r\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\r\n\r\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\r\n\r\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\r\n\r\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**\r\n * This source code is quoted from rc-util.\r\n * homepage: https://github.com/react-component/util\r\n */\r\n\r\n\r\n//import isWindow from './isWindow';\r\n\r\nfunction isWindow(obj) {\r\n /* eslint no-eq-null: 0 */\r\n /* eslint eqeqeq: 0 */\r\n return obj != null && obj == obj.window;\r\n}\r\n\r\nfunction buffer(fn, ms) {\r\n var timer = void 0;\r\n\r\n function clear() {\r\n if (timer) {\r\n clearTimeout(timer);\r\n timer = null;\r\n }\r\n }\r\n\r\n function bufferFn() {\r\n clear();\r\n timer = setTimeout(fn, ms);\r\n }\r\n\r\n bufferFn.clear = clear;\r\n\r\n return bufferFn;\r\n}\r\n\r\nvar propTypes = {\r\n childrenProps: _propTypes2.default.object,\r\n align: _propTypes2.default.object.isRequired,\r\n target: _propTypes2.default.func,\r\n onAlign: _propTypes2.default.func,\r\n monitorBufferTime: _propTypes2.default.number,\r\n monitorWindowResize: _propTypes2.default.bool,\r\n disabled: _propTypes2.default.bool,\r\n children: _propTypes2.default.any\r\n};\r\n\r\nvar defaultProps = {\r\n target: function target() {\r\n return window;\r\n },\r\n onAlign: function onAlign() {},\r\n\r\n monitorBufferTime: 50,\r\n monitorWindowResize: false,\r\n disabled: false\r\n};\r\n\r\nvar Align = function (_React$Component) {\r\n _inherits(Align, _React$Component);\r\n\r\n function Align(props) {\r\n _classCallCheck(this, Align);\r\n\r\n var _this = _possibleConstructorReturn(this, _React$Component.call(this, props));\r\n\r\n _initialiseProps.call(_this);\r\n\r\n return _this;\r\n }\r\n\r\n Align.prototype.componentDidMount = function componentDidMount() {\r\n var props = this.props;\r\n // if parent ref not attached .... use document.getElementById\r\n this.forceAlign();\r\n if (!props.disabled && props.monitorWindowResize) {\r\n this.startMonitorWindowResize();\r\n }\r\n };\r\n\r\n Align.prototype.componentDidUpdate = function componentDidUpdate(prevProps) {\r\n var reAlign = false;\r\n var props = this.props;\r\n\r\n if (!props.disabled) {\r\n if (prevProps.disabled || prevProps.align !== props.align) {\r\n reAlign = true;\r\n } else {\r\n var lastTarget = prevProps.target();\r\n var currentTarget = props.target();\r\n if (isWindow(lastTarget) && isWindow(currentTarget)) {\r\n reAlign = false;\r\n } else if (lastTarget !== currentTarget) {\r\n reAlign = true;\r\n }\r\n }\r\n }\r\n\r\n if (reAlign) {\r\n this.forceAlign();\r\n }\r\n\r\n if (props.monitorWindowResize && !props.disabled) {\r\n this.startMonitorWindowResize();\r\n } else {\r\n this.stopMonitorWindowResize();\r\n }\r\n };\r\n\r\n Align.prototype.componentWillUnmount = function componentWillUnmount() {\r\n this.stopMonitorWindowResize();\r\n };\r\n\r\n Align.prototype.render = function render() {\r\n var _props = this.props,\r\n childrenProps = _props.childrenProps,\r\n children = _props.children;\r\n\r\n var child = _react2.default.Children.only(children);\r\n if (childrenProps) {\r\n var newProps = {};\r\n for (var prop in childrenProps) {\r\n if (childrenProps.hasOwnProperty(prop)) {\r\n newProps[prop] = this.props[childrenProps[prop]];\r\n }\r\n }\r\n return _react2.default.cloneElement(child, newProps);\r\n }\r\n return child;\r\n };\r\n\r\n return Align;\r\n}(_react2.default.Component);\r\n\r\nvar _initialiseProps = function _initialiseProps() {\r\n var _this2 = this;\r\n\r\n this.startMonitorWindowResize = function () {\r\n if (!_this2.resizeHandler) {\r\n _this2.bufferMonitor = buffer(_this2.forceAlign, _this2.props.monitorBufferTime);\r\n _this2.resizeHandler = (0, _addEventListener2.default)(window, 'resize', _this2.bufferMonitor);\r\n }\r\n };\r\n\r\n this.stopMonitorWindowResize = function () {\r\n if (_this2.resizeHandler) {\r\n _this2.bufferMonitor.clear();\r\n _this2.resizeHandler.remove();\r\n _this2.resizeHandler = null;\r\n }\r\n };\r\n\r\n this.forceAlign = function () {\r\n var props = _this2.props;\r\n if (!props.disabled) {\r\n var source = _reactDom2.default.findDOMNode(_this2);\r\n props.onAlign(source, (0, _domAlign2.default)(source, props.target(), props.align));\r\n }\r\n };\r\n};\r\n\r\n;\r\n\r\nAlign.defaultProps = defaultProps;\r\nAlign.propTypes = propTypes;\r\n\r\nexports.default = Align;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/tinper-bee-core/lib/Align.js\n// module id = 50\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.alignPoint = exports.alignElement = undefined;\n\nvar _alignElement = require('./align/alignElement');\n\nvar _alignElement2 = _interopRequireDefault(_alignElement);\n\nvar _alignPoint = require('./align/alignPoint');\n\nvar _alignPoint2 = _interopRequireDefault(_alignPoint);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nexports.alignElement = _alignElement2['default'];\nexports.alignPoint = _alignPoint2['default'];\nexports['default'] = _alignElement2['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-align/lib/index.js\n// module id = 51\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _align = require('./align');\n\nvar _align2 = _interopRequireDefault(_align);\n\nvar _getOffsetParent = require('../getOffsetParent');\n\nvar _getOffsetParent2 = _interopRequireDefault(_getOffsetParent);\n\nvar _getVisibleRectForElement = require('../getVisibleRectForElement');\n\nvar _getVisibleRectForElement2 = _interopRequireDefault(_getVisibleRectForElement);\n\nvar _getRegion = require('../getRegion');\n\nvar _getRegion2 = _interopRequireDefault(_getRegion);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction isOutOfVisibleRect(target) {\n var visibleRect = (0, _getVisibleRectForElement2['default'])(target);\n var targetRegion = (0, _getRegion2['default'])(target);\n\n return !visibleRect || targetRegion.left + targetRegion.width <= visibleRect.left || targetRegion.top + targetRegion.height <= visibleRect.top || targetRegion.left >= visibleRect.right || targetRegion.top >= visibleRect.bottom;\n}\n\nfunction alignElement(el, refNode, align) {\n var target = align.target || refNode;\n var refNodeRegion = (0, _getRegion2['default'])(target);\n\n var isTargetNotOutOfVisible = !isOutOfVisibleRect(target);\n\n return (0, _align2['default'])(el, refNodeRegion, align, isTargetNotOutOfVisible);\n}\n\nalignElement.__getOffsetParent = _getOffsetParent2['default'];\n\nalignElement.__getVisibleRectForElement = _getVisibleRectForElement2['default'];\n\nexports['default'] = alignElement;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-align/lib/align/alignElement.js\n// module id = 52\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _utils = require('../utils');\n\nvar _utils2 = _interopRequireDefault(_utils);\n\nvar _getVisibleRectForElement = require('../getVisibleRectForElement');\n\nvar _getVisibleRectForElement2 = _interopRequireDefault(_getVisibleRectForElement);\n\nvar _adjustForViewport = require('../adjustForViewport');\n\nvar _adjustForViewport2 = _interopRequireDefault(_adjustForViewport);\n\nvar _getRegion = require('../getRegion');\n\nvar _getRegion2 = _interopRequireDefault(_getRegion);\n\nvar _getElFuturePos = require('../getElFuturePos');\n\nvar _getElFuturePos2 = _interopRequireDefault(_getElFuturePos);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\n// http://yiminghe.iteye.com/blog/1124720\n\nfunction isFailX(elFuturePos, elRegion, visibleRect) {\n return elFuturePos.left < visibleRect.left || elFuturePos.left + elRegion.width > visibleRect.right;\n} /**\n * align dom node flexibly\n * @author yiminghe@gmail.com\n */\n\nfunction isFailY(elFuturePos, elRegion, visibleRect) {\n return elFuturePos.top < visibleRect.top || elFuturePos.top + elRegion.height > visibleRect.bottom;\n}\n\nfunction isCompleteFailX(elFuturePos, elRegion, visibleRect) {\n return elFuturePos.left > visibleRect.right || elFuturePos.left + elRegion.width < visibleRect.left;\n}\n\nfunction isCompleteFailY(elFuturePos, elRegion, visibleRect) {\n return elFuturePos.top > visibleRect.bottom || elFuturePos.top + elRegion.height < visibleRect.top;\n}\n\nfunction flip(points, reg, map) {\n var ret = [];\n _utils2['default'].each(points, function (p) {\n ret.push(p.replace(reg, function (m) {\n return map[m];\n }));\n });\n return ret;\n}\n\nfunction flipOffset(offset, index) {\n offset[index] = -offset[index];\n return offset;\n}\n\nfunction convertOffset(str, offsetLen) {\n var n = void 0;\n if (/%$/.test(str)) {\n n = parseInt(str.substring(0, str.length - 1), 10) / 100 * offsetLen;\n } else {\n n = parseInt(str, 10);\n }\n return n || 0;\n}\n\nfunction normalizeOffset(offset, el) {\n offset[0] = convertOffset(offset[0], el.width);\n offset[1] = convertOffset(offset[1], el.height);\n}\n\n/**\n * @param el\n * @param tgtRegion 参照节点所占的区域: { left, top, width, height }\n * @param align\n */\nfunction doAlign(el, tgtRegion, align, isTgtRegionVisible) {\n var points = align.points;\n var offset = align.offset || [0, 0];\n var targetOffset = align.targetOffset || [0, 0];\n var overflow = align.overflow;\n var source = align.source || el;\n offset = [].concat(offset);\n targetOffset = [].concat(targetOffset);\n overflow = overflow || {};\n var newOverflowCfg = {};\n var fail = 0;\n // 当前节点可以被放置的显示区域\n var visibleRect = (0, _getVisibleRectForElement2['default'])(source);\n // 当前节点所占的区域, left/top/width/height\n var elRegion = (0, _getRegion2['default'])(source);\n // 将 offset 转换成数值,支持百分比\n normalizeOffset(offset, elRegion);\n normalizeOffset(targetOffset, tgtRegion);\n // 当前节点将要被放置的位置\n var elFuturePos = (0, _getElFuturePos2['default'])(elRegion, tgtRegion, points, offset, targetOffset);\n // 当前节点将要所处的区域\n var newElRegion = _utils2['default'].merge(elRegion, elFuturePos);\n\n // 如果可视区域不能完全放置当前节点时允许调整\n if (visibleRect && (overflow.adjustX || overflow.adjustY) && isTgtRegionVisible) {\n if (overflow.adjustX) {\n // 如果横向不能放下\n if (isFailX(elFuturePos, elRegion, visibleRect)) {\n // 对齐位置反下\n var newPoints = flip(points, /[lr]/ig, {\n l: 'r',\n r: 'l'\n });\n // 偏移量也反下\n var newOffset = flipOffset(offset, 0);\n var newTargetOffset = flipOffset(targetOffset, 0);\n var newElFuturePos = (0, _getElFuturePos2['default'])(elRegion, tgtRegion, newPoints, newOffset, newTargetOffset);\n\n if (!isCompleteFailX(newElFuturePos, elRegion, visibleRect)) {\n fail = 1;\n points = newPoints;\n offset = newOffset;\n targetOffset = newTargetOffset;\n }\n }\n }\n\n if (overflow.adjustY) {\n // 如果纵向不能放下\n if (isFailY(elFuturePos, elRegion, visibleRect)) {\n // 对齐位置反下\n var _newPoints = flip(points, /[tb]/ig, {\n t: 'b',\n b: 't'\n });\n // 偏移量也反下\n var _newOffset = flipOffset(offset, 1);\n var _newTargetOffset = flipOffset(targetOffset, 1);\n var _newElFuturePos = (0, _getElFuturePos2['default'])(elRegion, tgtRegion, _newPoints, _newOffset, _newTargetOffset);\n\n if (!isCompleteFailY(_newElFuturePos, elRegion, visibleRect)) {\n fail = 1;\n points = _newPoints;\n offset = _newOffset;\n targetOffset = _newTargetOffset;\n }\n }\n }\n\n // 如果失败,重新计算当前节点将要被放置的位置\n if (fail) {\n elFuturePos = (0, _getElFuturePos2['default'])(elRegion, tgtRegion, points, offset, targetOffset);\n _utils2['default'].mix(newElRegion, elFuturePos);\n }\n var isStillFailX = isFailX(elFuturePos, elRegion, visibleRect);\n var isStillFailY = isFailY(elFuturePos, elRegion, visibleRect);\n // 检查反下后的位置是否可以放下了,如果仍然放不下:\n // 1. 复原修改过的定位参数\n if (isStillFailX || isStillFailY) {\n points = align.points;\n offset = align.offset || [0, 0];\n targetOffset = align.targetOffset || [0, 0];\n }\n // 2. 只有指定了可以调整当前方向才调整\n newOverflowCfg.adjustX = overflow.adjustX && isStillFailX;\n newOverflowCfg.adjustY = overflow.adjustY && isStillFailY;\n\n // 确实要调整,甚至可能会调整高度宽度\n if (newOverflowCfg.adjustX || newOverflowCfg.adjustY) {\n newElRegion = (0, _adjustForViewport2['default'])(elFuturePos, elRegion, visibleRect, newOverflowCfg);\n }\n }\n\n // need judge to in case set fixed with in css on height auto element\n if (newElRegion.width !== elRegion.width) {\n _utils2['default'].css(source, 'width', _utils2['default'].width(source) + newElRegion.width - elRegion.width);\n }\n\n if (newElRegion.height !== elRegion.height) {\n _utils2['default'].css(source, 'height', _utils2['default'].height(source) + newElRegion.height - elRegion.height);\n }\n\n // https://github.com/kissyteam/kissy/issues/190\n // 相对于屏幕位置没变,而 left/top 变了\n // 例如 <div 'relative'><el absolute></div>\n _utils2['default'].offset(source, {\n left: newElRegion.left,\n top: newElRegion.top\n }, {\n useCssRight: align.useCssRight,\n useCssBottom: align.useCssBottom,\n useCssTransform: align.useCssTransform,\n ignoreShake: align.ignoreShake\n });\n\n return {\n points: points,\n offset: offset,\n targetOffset: targetOffset,\n overflow: newOverflowCfg\n };\n}\n\nexports['default'] = doAlign;\n/**\n * 2012-04-26 yiminghe@gmail.com\n * - 优化智能对齐算法\n * - 慎用 resizeXX\n *\n * 2011-07-13 yiminghe@gmail.com note:\n * - 增加智能对齐,以及大小调整选项\n **/\n\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-align/lib/align/align.js\n// module id = 53\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _propertyUtils = require('./propertyUtils');\n\nvar RE_NUM = /[\\-+]?(?:\\d*\\.|)\\d+(?:[eE][\\-+]?\\d+|)/.source;\n\nvar getComputedStyleX = void 0;\n\n// https://stackoverflow.com/a/3485654/3040605\nfunction forceRelayout(elem) {\n var originalStyle = elem.style.display;\n elem.style.display = 'none';\n elem.offsetHeight; // eslint-disable-line\n elem.style.display = originalStyle;\n}\n\nfunction css(el, name, v) {\n var value = v;\n if ((typeof name === 'undefined' ? 'undefined' : _typeof(name)) === 'object') {\n for (var i in name) {\n if (name.hasOwnProperty(i)) {\n css(el, i, name[i]);\n }\n }\n return undefined;\n }\n if (typeof value !== 'undefined') {\n if (typeof value === 'number') {\n value = value + 'px';\n }\n el.style[name] = value;\n return undefined;\n }\n return getComputedStyleX(el, name);\n}\n\nfunction getClientPosition(elem) {\n var box = void 0;\n var x = void 0;\n var y = void 0;\n var doc = elem.ownerDocument;\n var body = doc.body;\n var docElem = doc && doc.documentElement;\n // 根据 GBS 最新数据A-Grade Browsers 都已支持 getBoundingClientRect 方法,不用再考虑传统的实现方式\n box = elem.getBoundingClientRect();\n\n // 注jQuery 还考虑减去 docElem.clientLeft/clientTop\n // 但测试发现,这样反而会导致当 html 和 body 有边距/边框样式时,获取的值不正确\n // 此外ie6 会忽略 html 的 margin 值,幸运地是没有谁会去设置 html 的 margin\n\n x = box.left;\n y = box.top;\n\n // In IE, most of the time, 2 extra pixels are added to the top and left\n // due to the implicit 2-pixel inset border. In IE6/7 quirks mode and\n // IE6 standards mode, this border can be overridden by setting the\n // document element's border to zero -- thus, we cannot rely on the\n // offset always being 2 pixels.\n\n // In quirks mode, the offset can be determined by querying the body's\n // clientLeft/clientTop, but in standards mode, it is found by querying\n // the document element's clientLeft/clientTop. Since we already called\n // getClientBoundingRect we have already forced a reflow, so it is not\n // too expensive just to query them all.\n\n // ie 下应该减去窗口的边框吧,毕竟默认 absolute 都是相对窗口定位的\n // 窗口边框标准是设 documentElement ,quirks 时设置 body\n // 最好禁止在 body 和 html 上边框 ,但 ie < 9 html 默认有 2px ,减去\n // 但是非 ie 不可能设置窗口边框body html 也不是窗口 ,ie 可以通过 html,body 设置\n // 标准 ie 下 docElem.clientTop 就是 border-top\n // ie7 html 即窗口边框改变不了。永远为 2\n // 但标准 firefox/chrome/ie9 下 docElem.clientTop 是窗口边框,即使设了 border-top 也为 0\n\n x -= docElem.clientLeft || body.clientLeft || 0;\n y -= docElem.clientTop || body.clientTop || 0;\n\n return {\n left: x,\n top: y\n };\n}\n\nfunction getScroll(w, top) {\n var ret = w['page' + (top ? 'Y' : 'X') + 'Offset'];\n var method = 'scroll' + (top ? 'Top' : 'Left');\n if (typeof ret !== 'number') {\n var d = w.document;\n // ie6,7,8 standard mode\n ret = d.documentElement[method];\n if (typeof ret !== 'number') {\n // quirks mode\n ret = d.body[method];\n }\n }\n return ret;\n}\n\nfunction getScrollLeft(w) {\n return getScroll(w);\n}\n\nfunction getScrollTop(w) {\n return getScroll(w, true);\n}\n\nfunction getOffset(el) {\n var pos = getClientPosition(el);\n var doc = el.ownerDocument;\n var w = doc.defaultView || doc.parentWindow;\n pos.left += getScrollLeft(w);\n pos.top += getScrollTop(w);\n return pos;\n}\n\n/**\n * A crude way of determining if an object is a window\n * @member util\n */\nfunction isWindow(obj) {\n // must use == for ie8\n /* eslint eqeqeq:0 */\n return obj !== null && obj !== undefined && obj == obj.window;\n}\n\nfunction getDocument(node) {\n if (isWindow(node)) {\n return node.document;\n }\n if (node.nodeType === 9) {\n return node;\n }\n return node.ownerDocument;\n}\n\nfunction _getComputedStyle(elem, name, cs) {\n var computedStyle = cs;\n var val = '';\n var d = getDocument(elem);\n computedStyle = computedStyle || d.defaultView.getComputedStyle(elem, null);\n\n // https://github.com/kissyteam/kissy/issues/61\n if (computedStyle) {\n val = computedStyle.getPropertyValue(name) || computedStyle[name];\n }\n\n return val;\n}\n\nvar _RE_NUM_NO_PX = new RegExp('^(' + RE_NUM + ')(?!px)[a-z%]+$', 'i');\nvar RE_POS = /^(top|right|bottom|left)$/;\nvar CURRENT_STYLE = 'currentStyle';\nvar RUNTIME_STYLE = 'runtimeStyle';\nvar LEFT = 'left';\nvar PX = 'px';\n\nfunction _getComputedStyleIE(elem, name) {\n // currentStyle maybe null\n // http://msdn.microsoft.com/en-us/library/ms535231.aspx\n var ret = elem[CURRENT_STYLE] && elem[CURRENT_STYLE][name];\n\n // 当 width/height 设置为百分比时,通过 pixelLeft 方式转换的 width/height 值\n // 一开始就处理了! CUSTOM_STYLE.height,CUSTOM_STYLE.width ,cssHook 解决@2011-08-19\n // 在 ie 下不对,需要直接用 offset 方式\n // borderWidth 等值也有问题,但考虑到 borderWidth 设为百分比的概率很小,这里就不考虑了\n\n // From the awesome hack by Dean Edwards\n // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291\n // If we're not dealing with a regular pixel number\n // but a number that has a weird ending, we need to convert it to pixels\n // exclude left right for relativity\n if (_RE_NUM_NO_PX.test(ret) && !RE_POS.test(name)) {\n // Remember the original values\n var style = elem.style;\n var left = style[LEFT];\n var rsLeft = elem[RUNTIME_STYLE][LEFT];\n\n // prevent flashing of content\n elem[RUNTIME_STYLE][LEFT] = elem[CURRENT_STYLE][LEFT];\n\n // Put in the new values to get a computed value out\n style[LEFT] = name === 'fontSize' ? '1em' : ret || 0;\n ret = style.pixelLeft + PX;\n\n // Revert the changed values\n style[LEFT] = left;\n\n elem[RUNTIME_STYLE][LEFT] = rsLeft;\n }\n return ret === '' ? 'auto' : ret;\n}\n\nif (typeof window !== 'undefined') {\n getComputedStyleX = window.getComputedStyle ? _getComputedStyle : _getComputedStyleIE;\n}\n\nfunction getOffsetDirection(dir, option) {\n if (dir === 'left') {\n return option.useCssRight ? 'right' : dir;\n }\n return option.useCssBottom ? 'bottom' : dir;\n}\n\nfunction oppositeOffsetDirection(dir) {\n if (dir === 'left') {\n return 'right';\n } else if (dir === 'right') {\n return 'left';\n } else if (dir === 'top') {\n return 'bottom';\n } else if (dir === 'bottom') {\n return 'top';\n }\n}\n\n// 设置 elem 相对 elem.ownerDocument 的坐标\nfunction setLeftTop(elem, offset, option) {\n // set position first, in-case top/left are set even on static elem\n if (css(elem, 'position') === 'static') {\n elem.style.position = 'relative';\n }\n var presetH = -999;\n var presetV = -999;\n var horizontalProperty = getOffsetDirection('left', option);\n var verticalProperty = getOffsetDirection('top', option);\n var oppositeHorizontalProperty = oppositeOffsetDirection(horizontalProperty);\n var oppositeVerticalProperty = oppositeOffsetDirection(verticalProperty);\n\n if (horizontalProperty !== 'left') {\n presetH = 999;\n }\n\n if (verticalProperty !== 'top') {\n presetV = 999;\n }\n var originalTransition = '';\n var originalOffset = getOffset(elem);\n if ('left' in offset || 'top' in offset) {\n originalTransition = (0, _propertyUtils.getTransitionProperty)(elem) || '';\n (0, _propertyUtils.setTransitionProperty)(elem, 'none');\n }\n if ('left' in offset) {\n elem.style[oppositeHorizontalProperty] = '';\n elem.style[horizontalProperty] = presetH + 'px';\n }\n if ('top' in offset) {\n elem.style[oppositeVerticalProperty] = '';\n elem.style[verticalProperty] = presetV + 'px';\n }\n // force relayout\n forceRelayout(elem);\n var old = getOffset(elem);\n var originalStyle = {};\n for (var key in offset) {\n if (offset.hasOwnProperty(key)) {\n var dir = getOffsetDirection(key, option);\n var preset = key === 'left' ? presetH : presetV;\n var off = originalOffset[key] - old[key];\n if (dir === key) {\n originalStyle[dir] = preset + off;\n } else {\n originalStyle[dir] = preset - off;\n }\n }\n }\n css(elem, originalStyle);\n // force relayout\n forceRelayout(elem);\n if ('left' in offset || 'top' in offset) {\n (0, _propertyUtils.setTransitionProperty)(elem, originalTransition);\n }\n var ret = {};\n for (var _key in offset) {\n if (offset.hasOwnProperty(_key)) {\n var _dir = getOffsetDirection(_key, option);\n var _off = offset[_key] - originalOffset[_key];\n if (_key === _dir) {\n ret[_dir] = originalStyle[_dir] + _off;\n } else {\n ret[_dir] = originalStyle[_dir] - _off;\n }\n }\n }\n css(elem, ret);\n}\n\nfunction setTransform(elem, offset) {\n var originalOffset = getOffset(elem);\n var originalXY = (0, _propertyUtils.getTransformXY)(elem);\n var resultXY = { x: originalXY.x, y: originalXY.y };\n if ('left' in offset) {\n resultXY.x = originalXY.x + offset.left - originalOffset.left;\n }\n if ('top' in offset) {\n resultXY.y = originalXY.y + offset.top - originalOffset.top;\n }\n (0, _propertyUtils.setTransformXY)(elem, resultXY);\n}\n\nfunction setOffset(elem, offset, option) {\n if (option.ignoreShake) {\n var oriOffset = getOffset(elem);\n\n var oLeft = oriOffset.left.toFixed(0);\n var oTop = oriOffset.top.toFixed(0);\n var tLeft = offset.left.toFixed(0);\n var tTop = offset.top.toFixed(0);\n\n if (oLeft === tLeft && oTop === tTop) {\n return;\n }\n }\n\n if (option.useCssRight || option.useCssBottom) {\n setLeftTop(elem, offset, option);\n } else if (option.useCssTransform && (0, _propertyUtils.getTransformName)() in document.body.style) {\n setTransform(elem, offset, option);\n } else {\n setLeftTop(elem, offset, option);\n }\n}\n\nfunction each(arr, fn) {\n for (var i = 0; i < arr.length; i++) {\n fn(arr[i]);\n }\n}\n\nfunction isBorderBoxFn(elem) {\n return getComputedStyleX(elem, 'boxSizing') === 'border-box';\n}\n\nvar BOX_MODELS = ['margin', 'border', 'padding'];\nvar CONTENT_INDEX = -1;\nvar PADDING_INDEX = 2;\nvar BORDER_INDEX = 1;\nvar MARGIN_INDEX = 0;\n\nfunction swap(elem, options, callback) {\n var old = {};\n var style = elem.style;\n var name = void 0;\n\n // Remember the old values, and insert the new ones\n for (name in options) {\n if (options.hasOwnProperty(name)) {\n old[name] = style[name];\n style[name] = options[name];\n }\n }\n\n callback.call(elem);\n\n // Revert the old values\n for (name in options) {\n if (options.hasOwnProperty(name)) {\n style[name] = old[name];\n }\n }\n}\n\nfunction getPBMWidth(elem, props, which) {\n var value = 0;\n var prop = void 0;\n var j = void 0;\n var i = void 0;\n for (j = 0; j < props.length; j++) {\n prop = props[j];\n if (prop) {\n for (i = 0; i < which.length; i++) {\n var cssProp = void 0;\n if (prop === 'border') {\n cssProp = '' + prop + which[i] + 'Width';\n } else {\n cssProp = prop + which[i];\n }\n value += parseFloat(getComputedStyleX(elem, cssProp)) || 0;\n }\n }\n }\n return value;\n}\n\nvar domUtils = {};\n\neach(['Width', 'Height'], function (name) {\n domUtils['doc' + name] = function (refWin) {\n var d = refWin.document;\n return Math.max(\n // firefox chrome documentElement.scrollHeight< body.scrollHeight\n // ie standard mode : documentElement.scrollHeight> body.scrollHeight\n d.documentElement['scroll' + name],\n // quirks : documentElement.scrollHeight 最大等于可视窗口多一点?\n d.body['scroll' + name], domUtils['viewport' + name](d));\n };\n\n domUtils['viewport' + name] = function (win) {\n // pc browser includes scrollbar in window.innerWidth\n var prop = 'client' + name;\n var doc = win.document;\n var body = doc.body;\n var documentElement = doc.documentElement;\n var documentElementProp = documentElement[prop];\n // 标准模式取 documentElement\n // backcompat 取 body\n return doc.compatMode === 'CSS1Compat' && documentElementProp || body && body[prop] || documentElementProp;\n };\n});\n\n/*\n 得到元素的大小信息\n @param elem\n @param name\n @param {String} [extra] 'padding' : (css width) + padding\n 'border' : (css width) + padding + border\n 'margin' : (css width) + padding + border + margin\n */\nfunction getWH(elem, name, ex) {\n var extra = ex;\n if (isWindow(elem)) {\n return name === 'width' ? domUtils.viewportWidth(elem) : domUtils.viewportHeight(elem);\n } else if (elem.nodeType === 9) {\n return name === 'width' ? domUtils.docWidth(elem) : domUtils.docHeight(elem);\n }\n var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n var borderBoxValue = name === 'width' ? elem.getBoundingClientRect().width : elem.getBoundingClientRect().height;\n var computedStyle = getComputedStyleX(elem);\n var isBorderBox = isBorderBoxFn(elem, computedStyle);\n var cssBoxValue = 0;\n if (borderBoxValue === null || borderBoxValue === undefined || borderBoxValue <= 0) {\n borderBoxValue = undefined;\n // Fall back to computed then un computed css if necessary\n cssBoxValue = getComputedStyleX(elem, name);\n if (cssBoxValue === null || cssBoxValue === undefined || Number(cssBoxValue) < 0) {\n cssBoxValue = elem.style[name] || 0;\n }\n // Normalize '', auto, and prepare for extra\n cssBoxValue = parseFloat(cssBoxValue) || 0;\n }\n if (extra === undefined) {\n extra = isBorderBox ? BORDER_INDEX : CONTENT_INDEX;\n }\n var borderBoxValueOrIsBorderBox = borderBoxValue !== undefined || isBorderBox;\n var val = borderBoxValue || cssBoxValue;\n if (extra === CONTENT_INDEX) {\n if (borderBoxValueOrIsBorderBox) {\n return val - getPBMWidth(elem, ['border', 'padding'], which, computedStyle);\n }\n return cssBoxValue;\n } else if (borderBoxValueOrIsBorderBox) {\n if (extra === BORDER_INDEX) {\n return val;\n }\n return val + (extra === PADDING_INDEX ? -getPBMWidth(elem, ['border'], which, computedStyle) : getPBMWidth(elem, ['margin'], which, computedStyle));\n }\n return cssBoxValue + getPBMWidth(elem, BOX_MODELS.slice(extra), which, computedStyle);\n}\n\nvar cssShow = {\n position: 'absolute',\n visibility: 'hidden',\n display: 'block'\n};\n\n// fix #119 : https://github.com/kissyteam/kissy/issues/119\nfunction getWHIgnoreDisplay() {\n for (var _len = arguments.length, args = Array(_len), _key2 = 0; _key2 < _len; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n var val = void 0;\n var elem = args[0];\n // in case elem is window\n // elem.offsetWidth === undefined\n if (elem.offsetWidth !== 0) {\n val = getWH.apply(undefined, args);\n } else {\n swap(elem, cssShow, function () {\n val = getWH.apply(undefined, args);\n });\n }\n return val;\n}\n\neach(['width', 'height'], function (name) {\n var first = name.charAt(0).toUpperCase() + name.slice(1);\n domUtils['outer' + first] = function (el, includeMargin) {\n return el && getWHIgnoreDisplay(el, name, includeMargin ? MARGIN_INDEX : BORDER_INDEX);\n };\n var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n\n domUtils[name] = function (elem, v) {\n var val = v;\n if (val !== undefined) {\n if (elem) {\n var computedStyle = getComputedStyleX(elem);\n var isBorderBox = isBorderBoxFn(elem);\n if (isBorderBox) {\n val += getPBMWidth(elem, ['padding', 'border'], which, computedStyle);\n }\n return css(elem, name, val);\n }\n return undefined;\n }\n return elem && getWHIgnoreDisplay(elem, name, CONTENT_INDEX);\n };\n});\n\nfunction mix(to, from) {\n for (var i in from) {\n if (from.hasOwnProperty(i)) {\n to[i] = from[i];\n }\n }\n return to;\n}\n\nvar utils = {\n getWindow: function getWindow(node) {\n if (node && node.document && node.setTimeout) {\n return node;\n }\n var doc = node.ownerDocument || node;\n return doc.defaultView || doc.parentWindow;\n },\n\n getDocument: getDocument,\n offset: function offset(el, value, option) {\n if (typeof value !== 'undefined') {\n setOffset(el, value, option || {});\n } else {\n return getOffset(el);\n }\n },\n\n isWindow: isWindow,\n each: each,\n css: css,\n clone: function clone(obj) {\n var i = void 0;\n var ret = {};\n for (i in obj) {\n if (obj.hasOwnProperty(i)) {\n ret[i] = obj[i];\n }\n }\n var overflow = obj.overflow;\n if (overflow) {\n for (i in obj) {\n if (obj.hasOwnProperty(i)) {\n ret.overflow[i] = obj.overflow[i];\n }\n }\n }\n return ret;\n },\n\n mix: mix,\n getWindowScrollLeft: function getWindowScrollLeft(w) {\n return getScrollLeft(w);\n },\n getWindowScrollTop: function getWindowScrollTop(w) {\n return getScrollTop(w);\n },\n merge: function merge() {\n var ret = {};\n\n for (var _len2 = arguments.length, args = Array(_len2), _key3 = 0; _key3 < _len2; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n for (var i = 0; i < args.length; i++) {\n utils.mix(ret, args[i]);\n }\n return ret;\n },\n\n viewportWidth: 0,\n viewportHeight: 0\n};\n\nmix(utils, domUtils);\n\nexports['default'] = utils;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-align/lib/utils.js\n// module id = 54\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getTransformName = getTransformName;\nexports.setTransitionProperty = setTransitionProperty;\nexports.getTransitionProperty = getTransitionProperty;\nexports.getTransformXY = getTransformXY;\nexports.setTransformXY = setTransformXY;\nvar vendorPrefix = void 0;\n\nvar jsCssMap = {\n Webkit: '-webkit-',\n Moz: '-moz-',\n // IE did it wrong again ...\n ms: '-ms-',\n O: '-o-'\n};\n\nfunction getVendorPrefix() {\n if (vendorPrefix !== undefined) {\n return vendorPrefix;\n }\n vendorPrefix = '';\n var style = document.createElement('p').style;\n var testProp = 'Transform';\n for (var key in jsCssMap) {\n if (key + testProp in style) {\n vendorPrefix = key;\n }\n }\n return vendorPrefix;\n}\n\nfunction getTransitionName() {\n return getVendorPrefix() ? getVendorPrefix() + 'TransitionProperty' : 'transitionProperty';\n}\n\nfunction getTransformName() {\n return getVendorPrefix() ? getVendorPrefix() + 'Transform' : 'transform';\n}\n\nfunction setTransitionProperty(node, value) {\n var name = getTransitionName();\n if (name) {\n node.style[name] = value;\n if (name !== 'transitionProperty') {\n node.style.transitionProperty = value;\n }\n }\n}\n\nfunction setTransform(node, value) {\n var name = getTransformName();\n if (name) {\n node.style[name] = value;\n if (name !== 'transform') {\n node.style.transform = value;\n }\n }\n}\n\nfunction getTransitionProperty(node) {\n return node.style.transitionProperty || node.style[getTransitionName()];\n}\n\nfunction getTransformXY(node) {\n var style = window.getComputedStyle(node, null);\n var transform = style.getPropertyValue('transform') || style.getPropertyValue(getTransformName());\n if (transform && transform !== 'none') {\n var matrix = transform.replace(/[^0-9\\-.,]/g, '').split(',');\n return { x: parseFloat(matrix[12] || matrix[4], 0), y: parseFloat(matrix[13] || matrix[5], 0) };\n }\n return {\n x: 0,\n y: 0\n };\n}\n\nvar matrix2d = /matrix\\((.*)\\)/;\nvar matrix3d = /matrix3d\\((.*)\\)/;\n\nfunction setTransformXY(node, xy) {\n var style = window.getComputedStyle(node, null);\n var transform = style.getPropertyValue('transform') || style.getPropertyValue(getTransformName());\n if (transform && transform !== 'none') {\n var arr = void 0;\n var match2d = transform.match(matrix2d);\n if (match2d) {\n match2d = match2d[1];\n arr = match2d.split(',').map(function (item) {\n return parseFloat(item, 10);\n });\n arr[4] = xy.x;\n arr[5] = xy.y;\n setTransform(node, 'matrix(' + arr.join(',') + ')');\n } else {\n var match3d = transform.match(matrix3d)[1];\n arr = match3d.split(',').map(function (item) {\n return parseFloat(item, 10);\n });\n arr[12] = xy.x;\n arr[13] = xy.y;\n setTransform(node, 'matrix3d(' + arr.join(',') + ')');\n }\n } else {\n setTransform(node, 'translateX(' + xy.x + 'px) translateY(' + xy.y + 'px) translateZ(0)');\n }\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-align/lib/propertyUtils.js\n// module id = 55\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _utils = require('./utils');\n\nvar _utils2 = _interopRequireDefault(_utils);\n\nvar _getOffsetParent = require('./getOffsetParent');\n\nvar _getOffsetParent2 = _interopRequireDefault(_getOffsetParent);\n\nvar _isAncestorFixed = require('./isAncestorFixed');\n\nvar _isAncestorFixed2 = _interopRequireDefault(_isAncestorFixed);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\n/**\n * 获得元素的显示部分的区域\n */\nfunction getVisibleRectForElement(element) {\n var visibleRect = {\n left: 0,\n right: Infinity,\n top: 0,\n bottom: Infinity\n };\n var el = (0, _getOffsetParent2['default'])(element);\n var doc = _utils2['default'].getDocument(element);\n var win = doc.defaultView || doc.parentWindow;\n var body = doc.body;\n var documentElement = doc.documentElement;\n\n // Determine the size of the visible rect by climbing the dom accounting for\n // all scrollable containers.\n while (el) {\n // clientWidth is zero for inline block elements in ie.\n if ((navigator.userAgent.indexOf('MSIE') === -1 || el.clientWidth !== 0) &&\n // body may have overflow set on it, yet we still get the entire\n // viewport. In some browsers, el.offsetParent may be\n // document.documentElement, so check for that too.\n el !== body && el !== documentElement && _utils2['default'].css(el, 'overflow') !== 'visible') {\n var pos = _utils2['default'].offset(el);\n // add border\n pos.left += el.clientLeft;\n pos.top += el.clientTop;\n visibleRect.top = Math.max(visibleRect.top, pos.top);\n visibleRect.right = Math.min(visibleRect.right,\n // consider area without scrollBar\n pos.left + el.clientWidth);\n visibleRect.bottom = Math.min(visibleRect.bottom, pos.top + el.clientHeight);\n visibleRect.left = Math.max(visibleRect.left, pos.left);\n } else if (el === body || el === documentElement) {\n break;\n }\n el = (0, _getOffsetParent2['default'])(el);\n }\n\n // Set element position to fixed\n // make sure absolute element itself don't affect it's visible area\n // https://github.com/ant-design/ant-design/issues/7601\n var originalPosition = null;\n if (!_utils2['default'].isWindow(element) && element.nodeType !== 9) {\n originalPosition = element.style.position;\n var position = _utils2['default'].css(element, 'position');\n if (position === 'absolute') {\n element.style.position = 'fixed';\n }\n }\n\n var scrollX = _utils2['default'].getWindowScrollLeft(win);\n var scrollY = _utils2['default'].getWindowScrollTop(win);\n var viewportWidth = _utils2['default'].viewportWidth(win);\n var viewportHeight = _utils2['default'].viewportHeight(win);\n var documentWidth = documentElement.scrollWidth;\n var documentHeight = documentElement.scrollHeight;\n\n // scrollXXX on html is sync with body which means overflow: hidden on body gets wrong scrollXXX.\n // We should cut this ourself.\n var bodyStyle = window.getComputedStyle(body);\n if (bodyStyle.overflowX === 'hidden') {\n documentWidth = win.innerWidth;\n }\n if (bodyStyle.overflowY === 'hidden') {\n documentHeight = win.innerHeight;\n }\n\n // Reset element position after calculate the visible area\n if (element.style) {\n element.style.position = originalPosition;\n }\n\n if ((0, _isAncestorFixed2['default'])(element)) {\n // Clip by viewport's size.\n visibleRect.left = Math.max(visibleRect.left, scrollX);\n visibleRect.top = Math.max(visibleRect.top, scrollY);\n visibleRect.right = Math.min(visibleRect.right, scrollX + viewportWidth);\n visibleRect.bottom = Math.min(visibleRect.bottom, scrollY + viewportHeight);\n } else {\n // Clip by document's size.\n var maxVisibleWidth = Math.max(documentWidth, scrollX + viewportWidth);\n visibleRect.right = Math.min(visibleRect.right, maxVisibleWidth);\n\n var maxVisibleHeight = Math.max(documentHeight, scrollY + viewportHeight);\n visibleRect.bottom = Math.min(visibleRect.bottom, maxVisibleHeight);\n }\n\n return visibleRect.top >= 0 && visibleRect.left >= 0 && visibleRect.bottom > visibleRect.top && visibleRect.right > visibleRect.left ? visibleRect : null;\n}\n\nexports['default'] = getVisibleRectForElement;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-align/lib/getVisibleRectForElement.js\n// module id = 56\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _utils = require('./utils');\n\nvar _utils2 = _interopRequireDefault(_utils);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\n/**\n * 得到会导致元素显示不全的祖先元素\n */\n\nfunction getOffsetParent(element) {\n if (_utils2['default'].isWindow(element) || element.nodeType === 9) {\n return null;\n }\n // ie 这个也不是完全可行\n /*\n <div style=\"width: 50px;height: 100px;overflow: hidden\">\n <div style=\"width: 50px;height: 100px;position: relative;\" id=\"d6\">\n 元素 6 高 100px 宽 50px<br/>\n </div>\n </div>\n */\n // element.offsetParent does the right thing in ie7 and below. Return parent with layout!\n // In other browsers it only includes elements with position absolute, relative or\n // fixed, not elements with overflow set to auto or scroll.\n // if (UA.ie && ieMode < 8) {\n // return element.offsetParent;\n // }\n // 统一的 offsetParent 方法\n var doc = _utils2['default'].getDocument(element);\n var body = doc.body;\n var parent = void 0;\n var positionStyle = _utils2['default'].css(element, 'position');\n var skipStatic = positionStyle === 'fixed' || positionStyle === 'absolute';\n\n if (!skipStatic) {\n return element.nodeName.toLowerCase() === 'html' ? null : element.parentNode;\n }\n\n for (parent = element.parentNode; parent && parent !== body; parent = parent.parentNode) {\n positionStyle = _utils2['default'].css(parent, 'position');\n if (positionStyle !== 'static') {\n return parent;\n }\n }\n return null;\n}\n\nexports['default'] = getOffsetParent;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-align/lib/getOffsetParent.js\n// module id = 57\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports['default'] = isAncestorFixed;\n\nvar _utils = require('./utils');\n\nvar _utils2 = _interopRequireDefault(_utils);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction isAncestorFixed(element) {\n if (_utils2['default'].isWindow(element) || element.nodeType === 9) {\n return false;\n }\n\n var doc = _utils2['default'].getDocument(element);\n var body = doc.body;\n var parent = null;\n for (parent = element.parentNode; parent && parent !== body; parent = parent.parentNode) {\n var positionStyle = _utils2['default'].css(parent, 'position');\n if (positionStyle === 'fixed') {\n return true;\n }\n }\n return false;\n}\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-align/lib/isAncestorFixed.js\n// module id = 58\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _utils = require('./utils');\n\nvar _utils2 = _interopRequireDefault(_utils);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction adjustForViewport(elFuturePos, elRegion, visibleRect, overflow) {\n var pos = _utils2['default'].clone(elFuturePos);\n var size = {\n width: elRegion.width,\n height: elRegion.height\n };\n\n if (overflow.adjustX && pos.left < visibleRect.left) {\n pos.left = visibleRect.left;\n }\n\n // Left edge inside and right edge outside viewport, try to resize it.\n if (overflow.resizeWidth && pos.left >= visibleRect.left && pos.left + size.width > visibleRect.right) {\n size.width -= pos.left + size.width - visibleRect.right;\n }\n\n // Right edge outside viewport, try to move it.\n if (overflow.adjustX && pos.left + size.width > visibleRect.right) {\n // 保证左边界和可视区域左边界对齐\n pos.left = Math.max(visibleRect.right - size.width, visibleRect.left);\n }\n\n // Top edge outside viewport, try to move it.\n if (overflow.adjustY && pos.top < visibleRect.top) {\n pos.top = visibleRect.top;\n }\n\n // Top edge inside and bottom edge outside viewport, try to resize it.\n if (overflow.resizeHeight && pos.top >= visibleRect.top && pos.top + size.height > visibleRect.bottom) {\n size.height -= pos.top + size.height - visibleRect.bottom;\n }\n\n // Bottom edge outside viewport, try to move it.\n if (overflow.adjustY && pos.top + size.height > visibleRect.bottom) {\n // 保证上边界和可视区域上边界对齐\n pos.top = Math.max(visibleRect.bottom - size.height, visibleRect.top);\n }\n\n return _utils2['default'].mix(pos, size);\n}\n\nexports['default'] = adjustForViewport;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-align/lib/adjustForViewport.js\n// module id = 59\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _utils = require('./utils');\n\nvar _utils2 = _interopRequireDefault(_utils);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction getRegion(node) {\n var offset = void 0;\n var w = void 0;\n var h = void 0;\n if (!_utils2['default'].isWindow(node) && node.nodeType !== 9) {\n offset = _utils2['default'].offset(node);\n w = _utils2['default'].outerWidth(node);\n h = _utils2['default'].outerHeight(node);\n } else {\n var win = _utils2['default'].getWindow(node);\n offset = {\n left: _utils2['default'].getWindowScrollLeft(win),\n top: _utils2['default'].getWindowScrollTop(win)\n };\n w = _utils2['default'].viewportWidth(win);\n h = _utils2['default'].viewportHeight(win);\n }\n offset.width = w;\n offset.height = h;\n return offset;\n}\n\nexports['default'] = getRegion;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-align/lib/getRegion.js\n// module id = 60\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _getAlignOffset = require('./getAlignOffset');\n\nvar _getAlignOffset2 = _interopRequireDefault(_getAlignOffset);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction getElFuturePos(elRegion, refNodeRegion, points, offset, targetOffset) {\n var p1 = (0, _getAlignOffset2['default'])(refNodeRegion, points[1]);\n var p2 = (0, _getAlignOffset2['default'])(elRegion, points[0]);\n var diff = [p2.left - p1.left, p2.top - p1.top];\n\n return {\n left: elRegion.left - diff[0] + offset[0] - targetOffset[0],\n top: elRegion.top - diff[1] + offset[1] - targetOffset[1]\n };\n}\n\nexports['default'] = getElFuturePos;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-align/lib/getElFuturePos.js\n// module id = 61\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/**\n * 获取 node 上的 align 对齐点 相对于页面的坐标\n */\n\nfunction getAlignOffset(region, align) {\n var V = align.charAt(0);\n var H = align.charAt(1);\n var w = region.width;\n var h = region.height;\n\n var x = region.left;\n var y = region.top;\n\n if (V === 'c') {\n y += h / 2;\n } else if (V === 'b') {\n y += h;\n }\n\n if (H === 'c') {\n x += w / 2;\n } else if (H === 'r') {\n x += w;\n }\n\n return {\n left: x,\n top: y\n };\n}\n\nexports['default'] = getAlignOffset;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-align/lib/getAlignOffset.js\n// module id = 62\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _utils = require('../utils');\n\nvar _utils2 = _interopRequireDefault(_utils);\n\nvar _align = require('./align');\n\nvar _align2 = _interopRequireDefault(_align);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\n/**\n * `tgtPoint`: { pageX, pageY } or { clientX, clientY }.\n * If client position provided, will internal convert to page position.\n */\n\nfunction alignPoint(el, tgtPoint, align) {\n var pageX = void 0;\n var pageY = void 0;\n\n var doc = _utils2['default'].getDocument(el);\n var win = doc.defaultView || doc.parentWindow;\n\n var scrollX = _utils2['default'].getWindowScrollLeft(win);\n var scrollY = _utils2['default'].getWindowScrollTop(win);\n var viewportWidth = _utils2['default'].viewportWidth(win);\n var viewportHeight = _utils2['default'].viewportHeight(win);\n\n if ('pageX' in tgtPoint) {\n pageX = tgtPoint.pageX;\n } else {\n pageX = scrollX + tgtPoint.clientX;\n }\n\n if ('pageY' in tgtPoint) {\n pageY = tgtPoint.pageY;\n } else {\n pageY = scrollY + tgtPoint.clientY;\n }\n\n var tgtRegion = {\n left: pageX,\n top: pageY,\n width: 0,\n height: 0\n };\n\n var pointInView = pageX >= 0 && pageX <= scrollX + viewportWidth && pageY >= 0 && pageY <= scrollY + viewportHeight;\n\n // Provide default target point\n var points = [align.points[0], 'cc'];\n\n return (0, _align2['default'])(el, tgtRegion, _extends({}, align, { points: points }), pointInView);\n}\n\nexports['default'] = alignPoint;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-align/lib/align/alignPoint.js\n// module id = 63\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _Transition = require('./Transition');\n\nvar _Transition2 = _interopRequireDefault(_Transition);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }\n\nvar propTypes = {\n /**\n * Show the component; triggers the fade in or fade out animation\n */\n \"in\": _propTypes2[\"default\"].bool,\n\n /**\n * Unmount the component (remove it from the DOM) when it is faded out\n */\n unmountOnExit: _propTypes2[\"default\"].bool,\n\n /**\n * Run the fade in animation when the component mounts, if it is initially\n * shown\n */\n transitionAppear: _propTypes2[\"default\"].bool,\n\n /**\n * Duration of the fade animation in milliseconds, to ensure that finishing\n * callbacks are fired even if the original browser transition end events are\n * canceled\n */\n timeout: _propTypes2[\"default\"].number,\n\n /**\n * Callback fired before the component fades in\n */\n onEnter: _propTypes2[\"default\"].func,\n /**\n * Callback fired after the component starts to fade in\n */\n onEntering: _propTypes2[\"default\"].func,\n /**\n * Callback fired after the has component faded in\n */\n onEntered: _propTypes2[\"default\"].func,\n /**\n * Callback fired before the component fades out\n */\n onExit: _propTypes2[\"default\"].func,\n /**\n * Callback fired after the component starts to fade out\n */\n onExiting: _propTypes2[\"default\"].func,\n /**\n * Callback fired after the component has faded out\n */\n onExited: _propTypes2[\"default\"].func\n};\n\nvar defaultProps = {\n \"in\": false,\n timeout: 300,\n unmountOnExit: false,\n transitionAppear: false\n};\n\nvar Fade = function (_React$Component) {\n _inherits(Fade, _React$Component);\n\n function Fade() {\n _classCallCheck(this, Fade);\n\n return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n Fade.prototype.render = function render() {\n return _react2[\"default\"].createElement(_Transition2[\"default\"], _extends({}, this.props, {\n className: (0, _classnames2[\"default\"])(this.props.className, 'fade'),\n enteredClassName: 'in',\n enteringClassName: 'in'\n }));\n };\n\n return Fade;\n}(_react2[\"default\"].Component);\n\nFade.propTypes = propTypes;\nFade.defaultProps = defaultProps;\n\nexports[\"default\"] = Fade;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-transition/build/Fade.js\n// module id = 64\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _Message = require('./Message');\n\nvar _Message2 = _interopRequireDefault(_Message);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nexports[\"default\"] = _Message2[\"default\"];\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-message/build/index.js\n// module id = 65\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _beeNotification = require('bee-notification');\n\nvar _beeNotification2 = _interopRequireDefault(_beeNotification);\n\nvar _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar defaultDuration = 1.5;\nvar defaultTop = 0;\nvar defaultBottom = 48;\nvar bottom = 90;\nvar padding = 30;\nvar width = 200;\nvar messageInstance = void 0;\nvar key = 1;\nvar clsPrefix = 'u-message';\nvar noop = function noop() {};\n\nvar positionObj = {\n \"top\": {\n messageStyle: {\n width: \"100%\"\n },\n notificationStyle: {\n top: defaultTop,\n width: \"100%\"\n },\n transitionName: 'top'\n },\n \"bottom\": {\n messageStyle: {\n width: \"100%\"\n },\n notificationStyle: {\n bottom: defaultBottom,\n width: \"100%\"\n },\n transitionName: 'bottom'\n },\n \"topRight\": {\n messageStyle: {\n width: width\n },\n notificationStyle: {\n top: padding,\n right: padding,\n width: width\n },\n transitionName: 'right'\n },\n \"bottomRight\": {\n messageStyle: {\n width: width\n },\n notificationStyle: {\n bottom: bottom,\n right: padding,\n width: width\n },\n transitionName: 'right'\n },\n \"topLeft\": {\n messageStyle: {\n width: width\n },\n notificationStyle: {\n top: padding,\n left: padding,\n width: width\n },\n transitionName: 'left'\n },\n \"bottomLeft\": {\n messageStyle: {\n width: width\n },\n notificationStyle: {\n bottom: bottom,\n left: padding,\n width: width\n },\n transitionName: 'left'\n }\n};\n\nfunction getMessageInstance() {\n var position = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'top';\n var callback = arguments[1];\n var keyboard = arguments[2];\n var onEscapeKeyUp = arguments[3];\n\n if (messageInstance) {\n callback(messageInstance);\n return;\n }\n var style = positionObj[position].notificationStyle;\n var instanceObj = {\n clsPrefix: clsPrefix,\n transitionName: clsPrefix + '-' + positionObj[position].transitionName,\n style: style, // 覆盖原来的样式\n position: ''\n };\n if (typeof keyboard === 'boolean') {\n instanceObj.keyboard = keyboard;\n }\n if (typeof onEscapeKeyUp === 'function') {\n instanceObj.onEscapeKeyUp = onEscapeKeyUp;\n }\n _beeNotification2[\"default\"].newInstance(instanceObj, function (instance) {\n messageInstance = instance;\n callback(instance);\n });\n}\n\nfunction notice(content, duration, type, onClose, position, style, keyboard, onEscapeKeyUp, showIcon) {\n var iconType = {\n info: 'uf uf-i-c-2',\n success: 'uf uf-correct',\n danger: 'uf uf-close-c',\n warning: 'uf uf-exc-t',\n light: 'uf uf-notification',\n dark: 'uf uf-bubble',\n news: 'uf uf-bell',\n infolight: 'uf uf-i-c-2',\n successlight: 'uf uf-correct',\n dangerlight: 'uf uf-close-c',\n warninglight: 'uf uf-exc-t'\n }[type];\n\n var positionStyle = positionObj[position].messageStyle;\n\n getMessageInstance(position, function (instance) {\n instance.notice({\n key: key,\n duration: duration,\n color: type,\n style: _extends({}, positionStyle, style),\n content: _react2[\"default\"].createElement(\n 'div',\n null,\n showIcon ? _react2[\"default\"].createElement(\n 'div',\n { className: clsPrefix + '-notice-description-icon' },\n _react2[\"default\"].createElement('i', { className: (0, _classnames2[\"default\"])(iconType) })\n ) : null,\n _react2[\"default\"].createElement(\n 'div',\n { className: clsPrefix + '-notice-description-content' },\n content\n )\n ),\n onClose: onClose\n });\n }, keyboard, onEscapeKeyUp);\n return function () {\n var target = key++;\n return function () {\n if (messageInstance) {\n messageInstance.removeNotice(target);\n }\n };\n }();\n}\n\nexports[\"default\"] = {\n create: function create(obj) {\n var content = obj.content || '';\n var duration = _typeof(obj.duration) == undefined ? defaultDuration : obj.duration;\n var color = obj.color || 'dark';\n var onClose = obj.onClose || noop;\n var position = obj.position || \"top\";\n var style = obj.style || {};\n var showIcon = obj.showIcon || false;\n return notice(content, duration, color, onClose, position, style, obj.keyboard, obj.onEscapeKeyUp, showIcon);\n },\n config: function config(options) {\n if (options.top !== undefined) {\n defaultTop = options.top;\n }\n if (options.duration !== undefined) {\n defaultDuration = options.duration;\n }\n if (options.clsPrefix !== undefined) {\n clsPrefix = options.clsPrefix;\n }\n if (options.defaultBottom !== undefined) {\n defaultBottom = options.defaultBottom;\n }\n if (options.bottom !== undefined) {\n bottom = options.bottom;\n }\n if (options.width !== undefined) {\n bottom = options.width;\n }\n },\n destroy: function destroy() {\n if (messageInstance) {\n messageInstance.destroy();\n messageInstance = null;\n }\n }\n};\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-message/build/Message.js\n// module id = 66\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _Notification = require('./Notification');\n\nvar _Notification2 = _interopRequireDefault(_Notification);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nexports[\"default\"] = _Notification2[\"default\"];\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-notification/build/index.js\n// module id = 67\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _beeAnimate = require('bee-animate');\n\nvar _beeAnimate2 = _interopRequireDefault(_beeAnimate);\n\nvar _createChainedFunction = require('tinper-bee-core/lib/createChainedFunction');\n\nvar _createChainedFunction2 = _interopRequireDefault(_createChainedFunction);\n\nvar _ownerDocument = require('bee-overlay/build/utils/ownerDocument');\n\nvar _ownerDocument2 = _interopRequireDefault(_ownerDocument);\n\nvar _addEventListener = require('bee-overlay/build/utils/addEventListener');\n\nvar _addEventListener2 = _interopRequireDefault(_addEventListener);\n\nvar _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _Notice = require('./Notice');\n\nvar _Notice2 = _interopRequireDefault(_Notice);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }\n\nvar seed = 0;\nvar now = Date.now();\n\nfunction getUuid() {\n return 'uNotification_' + now + '_' + seed++;\n}\n\nvar propTypes = {\n show: _propTypes2[\"default\"].bool,\n clsPrefix: _propTypes2[\"default\"].string,\n style: _propTypes2[\"default\"].object,\n position: _propTypes2[\"default\"].oneOf(['topRight', 'bottomRight', '']),\n transitionName: _propTypes2[\"default\"].string,\n keyboard: _propTypes2[\"default\"].bool, // 按esc键是否关闭notice\n onEscapeKeyUp: _propTypes2[\"default\"].func, // 设置esc键特殊钩子函数\n animation: _propTypes2[\"default\"].oneOfType([_propTypes2[\"default\"].string, _propTypes2[\"default\"].object])\n};\n\nvar defaultProps = {\n clsPrefix: 'u-notification',\n animation: 'fade',\n keyboard: true,\n position: 'topRight'\n};\n\nvar Notification = function (_Component) {\n _inherits(Notification, _Component);\n\n function Notification(props) {\n _classCallCheck(this, Notification);\n\n var _this = _possibleConstructorReturn(this, _Component.call(this, props));\n\n _this.handleDocumentKeyUp = function (e) {\n if (_this.props.keyboard && e.keyCode === 27 && _this.state.notices.length) {\n _this.setState(function (previousState) {\n previousState.notices.shift();\n return {\n notices: previousState.notices\n };\n });\n if (_this.props.onEscapeKeyUp) {\n _this.props.onEscapeKeyUp(e);\n }\n }\n };\n\n _this.state = {\n notices: []\n };\n _this.add = _this.add.bind(_this);\n _this.remove = _this.remove.bind(_this);\n\n return _this;\n }\n\n Notification.prototype.componentDidMount = function componentDidMount() {\n // 给document绑定keyup事件\n var doc = (0, _ownerDocument2[\"default\"])(this);\n this._onDocumentKeyupListener = (0, _addEventListener2[\"default\"])(doc, 'keyup', this.handleDocumentKeyUp);\n };\n\n Notification.prototype.componentWillUnmount = function componentWillUnmount() {\n this._onDocumentKeyupListener.remove();\n };\n\n Notification.prototype.getTransitionName = function getTransitionName() {\n var props = this.props;\n var transitionName = props.transitionName;\n if (!transitionName && props.animation) {\n transitionName = props.clsPrefix + '-' + props.animation;\n }\n return transitionName;\n };\n\n Notification.prototype.add = function add(notice) {\n var key = notice.key = notice.key || getUuid();\n this.setState(function (previousState) {\n var notices = previousState.notices;\n if (!notices.filter(function (v) {\n return v.key === key;\n }).length) {\n return {\n notices: notices.concat(notice)\n };\n }\n });\n };\n\n Notification.prototype.remove = function remove(key) {\n this.setState(function (previousState) {\n return {\n notices: previousState.notices.filter(function (notice) {\n return notice.key !== key;\n })\n };\n });\n };\n\n /**\n * 处理绑定在document上的keyup事件\n */\n\n\n Notification.prototype.render = function render() {\n var _this2 = this,\n _classes;\n\n var _props = this.props,\n clsPrefix = _props.clsPrefix,\n className = _props.className,\n position = _props.position,\n style = _props.style;\n\n var noticeNodes = this.state.notices.map(function (notice) {\n var onClose = (0, _createChainedFunction2[\"default\"])(_this2.remove.bind(_this2, notice.key), notice.onClose);\n return _react2[\"default\"].createElement(\n _Notice2[\"default\"],\n _extends({\n clsPrefix: clsPrefix\n }, notice, {\n onClose: onClose\n }),\n notice.content\n );\n });\n var classes = (_classes = {}, _defineProperty(_classes, clsPrefix, 1), _defineProperty(_classes, className, !!className), _classes);\n if (position) {\n classes[clsPrefix + '-' + position] = !!position;\n }\n\n return _react2[\"default\"].createElement(\n 'div',\n { className: (0, _classnames2[\"default\"])(className, classes), style: style },\n _react2[\"default\"].createElement(\n _beeAnimate2[\"default\"],\n { transitionName: this.getTransitionName() },\n noticeNodes\n )\n );\n };\n\n return Notification;\n}(_react.Component);\n\n;\n\nNotification.propTypes = propTypes;\nNotification.defaultProps = defaultProps;\n\nNotification.newInstance = function newNotificationInstance(properties, callback) {\n if (typeof callback !== 'function') {\n console.error('You must introduce callback as the second parameter of Notification.newInstance().');\n return;\n }\n var props = properties || {};\n var div = document.createElement('div');\n document.body.appendChild(div);\n\n var called = false;\n function ref(notification) {\n if (called) {\n return;\n }\n called = true;\n callback({\n notice: function notice(noticeProps) {\n notification.add(noticeProps);\n },\n removeNotice: function removeNotice(key) {\n notification.remove(key);\n },\n\n component: notification,\n destroy: function destroy() {\n _reactDom2[\"default\"].unmountComponentAtNode(div);\n document.body.removeChild(div);\n }\n });\n }\n _reactDom2[\"default\"].render(_react2[\"default\"].createElement(Notification, _extends({}, props, { ref: ref })), div);\n};\n\nexports[\"default\"] = Notification;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-notification/build/Notification.js\n// module id = 68\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _Animate = require('./Animate');\n\nvar _Animate2 = _interopRequireDefault(_Animate);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nexports[\"default\"] = _Animate2[\"default\"];\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-animate/build/index.js\n// module id = 69\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _ChildrenUtils = require('./ChildrenUtils');\n\nvar _AnimateChild = require('./AnimateChild');\n\nvar _AnimateChild2 = _interopRequireDefault(_AnimateChild);\n\nvar _util = require('./util');\n\nvar _util2 = _interopRequireDefault(_util);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }\n\nvar defaultKey = 'u_animate_' + Date.now();\n\n\nfunction getChildrenFromProps(props) {\n var children = props.children;\n if (_react2[\"default\"].isValidElement(children)) {\n if (!children.key) {\n return _react2[\"default\"].cloneElement(children, {\n key: defaultKey\n });\n }\n }\n return children;\n}\n\nfunction noop() {}\n\nvar propTypes = {\n component: _propTypes2[\"default\"].any,\n animation: _propTypes2[\"default\"].object,\n transitionName: _propTypes2[\"default\"].oneOfType([_propTypes2[\"default\"].string, _propTypes2[\"default\"].object]),\n transitionEnter: _propTypes2[\"default\"].bool,\n transitionAppear: _propTypes2[\"default\"].bool,\n exclusive: _propTypes2[\"default\"].bool,\n transitionLeave: _propTypes2[\"default\"].bool,\n onEnd: _propTypes2[\"default\"].func,\n onEnter: _propTypes2[\"default\"].func,\n onLeave: _propTypes2[\"default\"].func,\n onAppear: _propTypes2[\"default\"].func,\n showProp: _propTypes2[\"default\"].string\n};\n\nvar defaultProps = {\n animation: {},\n component: 'span',\n transitionEnter: true,\n transitionLeave: true,\n transitionAppear: false,\n onEnd: noop,\n onEnter: noop,\n onLeave: noop,\n onAppear: noop\n};\n\nvar Animate = function (_Component) {\n _inherits(Animate, _Component);\n\n function Animate(props) {\n _classCallCheck(this, Animate);\n\n var _this = _possibleConstructorReturn(this, _Component.call(this, props));\n\n _this.currentlyAnimatingKeys = {};\n _this.keysToEnter = [];\n _this.keysToLeave = [];\n _this.state = {\n children: (0, _ChildrenUtils.toArrayChildren)(getChildrenFromProps(_this.props))\n };\n\n _this.performEnter = _this.performEnter.bind(_this);\n _this.performAppear = _this.performAppear.bind(_this);\n _this.handleDoneAdding = _this.handleDoneAdding.bind(_this);\n _this.performLeave = _this.performLeave.bind(_this);\n\n _this.performLeave = _this.performLeave.bind(_this);\n _this.handleDoneLeaving = _this.handleDoneLeaving.bind(_this);\n _this.isValidChildByKey = _this.isValidChildByKey.bind(_this);\n _this.stop = _this.stop.bind(_this);\n return _this;\n }\n\n Animate.prototype.componentDidMount = function componentDidMount() {\n var _this2 = this;\n\n this.mounted = true;\n var showProp = this.props.showProp;\n var children = this.state.children;\n if (showProp) {\n children = children.filter(function (child) {\n return !!child.props[showProp];\n });\n }\n children.forEach(function (child) {\n if (child) {\n _this2.performAppear(child.key);\n }\n });\n };\n\n Animate.prototype.componentWillUnmount = function componentWillUnmount() {\n this.mounted = false;\n };\n\n Animate.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n var _this3 = this;\n\n this.nextProps = nextProps;\n var nextChildren = (0, _ChildrenUtils.toArrayChildren)(getChildrenFromProps(nextProps));\n var props = this.props;\n // exclusive needs immediate response\n if (props.exclusive) {\n Object.keys(this.currentlyAnimatingKeys).forEach(function (key) {\n _this3.stop(key);\n });\n }\n var showProp = props.showProp;\n var currentlyAnimatingKeys = this.currentlyAnimatingKeys;\n // last props children if exclusive\n var currentChildren = props.exclusive ? (0, _ChildrenUtils.toArrayChildren)(getChildrenFromProps(props)) : this.state.children;\n // in case destroy in showProp mode\n var newChildren = [];\n if (showProp) {\n currentChildren.forEach(function (currentChild) {\n var nextChild = currentChild && (0, _ChildrenUtils.findChildInChildrenByKey)(nextChildren, currentChild.key);\n var newChild = void 0;\n if ((!nextChild || !nextChild.props[showProp]) && currentChild.props[showProp]) {\n newChild = _react2[\"default\"].cloneElement(nextChild || currentChild, _defineProperty({}, showProp, true));\n } else {\n newChild = nextChild;\n }\n if (newChild) {\n newChildren.push(newChild);\n }\n });\n nextChildren.forEach(function (nextChild) {\n if (!nextChild || !(0, _ChildrenUtils.findChildInChildrenByKey)(currentChildren, nextChild.key)) {\n newChildren.push(nextChild);\n }\n });\n } else {\n newChildren = (0, _ChildrenUtils.mergeChildren)(currentChildren, nextChildren);\n }\n\n // need render to avoid update\n this.setState({\n children: newChildren\n });\n\n nextChildren.forEach(function (child) {\n var key = child && child.key;\n if (child && currentlyAnimatingKeys[key]) {\n return;\n }\n var hasPrev = child && (0, _ChildrenUtils.findChildInChildrenByKey)(currentChildren, key);\n if (showProp) {\n var showInNext = child.props[showProp];\n if (hasPrev) {\n var showInNow = (0, _ChildrenUtils.findShownChildInChildrenByKey)(currentChildren, key, showProp);\n if (!showInNow && showInNext) {\n _this3.keysToEnter.push(key);\n }\n } else if (showInNext) {\n _this3.keysToEnter.push(key);\n }\n } else if (!hasPrev) {\n _this3.keysToEnter.push(key);\n }\n });\n\n currentChildren.forEach(function (child) {\n var key = child && child.key;\n if (child && currentlyAnimatingKeys[key]) {\n return;\n }\n var hasNext = child && (0, _ChildrenUtils.findChildInChildrenByKey)(nextChildren, key);\n if (showProp) {\n var showInNow = child.props[showProp];\n if (hasNext) {\n var showInNext = (0, _ChildrenUtils.findShownChildInChildrenByKey)(nextChildren, key, showProp);\n if (!showInNext && showInNow) {\n _this3.keysToLeave.push(key);\n }\n } else if (showInNow) {\n _this3.keysToLeave.push(key);\n }\n } else if (!hasNext) {\n _this3.keysToLeave.push(key);\n }\n });\n };\n\n Animate.prototype.componentDidUpdate = function componentDidUpdate() {\n var keysToEnter = this.keysToEnter;\n this.keysToEnter = [];\n keysToEnter.forEach(this.performEnter);\n var keysToLeave = this.keysToLeave;\n this.keysToLeave = [];\n keysToLeave.forEach(this.performLeave);\n };\n\n Animate.prototype.performEnter = function performEnter(key) {\n // may already remove by exclusive\n if (this.refs[key]) {\n this.currentlyAnimatingKeys[key] = true;\n this.refs[key].componentWillEnter(this.handleDoneAdding.bind(this, key, 'enter'));\n }\n };\n\n Animate.prototype.performAppear = function performAppear(key) {\n if (this.refs[key]) {\n this.currentlyAnimatingKeys[key] = true;\n this.refs[key].componentWillAppear(this.handleDoneAdding.bind(this, key, 'appear'));\n }\n };\n\n Animate.prototype.handleDoneAdding = function handleDoneAdding(key, type) {\n var props = this.props;\n delete this.currentlyAnimatingKeys[key];\n // if update on exclusive mode, skip check\n if (props.exclusive && props !== this.nextProps) {\n return;\n }\n var currentChildren = (0, _ChildrenUtils.toArrayChildren)(getChildrenFromProps(props));\n if (!this.isValidChildByKey(currentChildren, key)) {\n // exclusive will not need this\n this.performLeave(key);\n } else {\n if (type === 'appear') {\n if (_util2[\"default\"].allowAppearCallback(props)) {\n props.onAppear(key);\n props.onEnd(key, true);\n }\n } else {\n if (_util2[\"default\"].allowEnterCallback(props)) {\n props.onEnter(key);\n props.onEnd(key, true);\n }\n }\n }\n };\n\n Animate.prototype.performLeave = function performLeave(key) {\n // may already remove by exclusive\n if (this.refs[key]) {\n this.currentlyAnimatingKeys[key] = true;\n this.refs[key].componentWillLeave(this.handleDoneLeaving.bind(this, key));\n }\n };\n\n Animate.prototype.handleDoneLeaving = function handleDoneLeaving(key) {\n var props = this.props;\n delete this.currentlyAnimatingKeys[key];\n // if update on exclusive mode, skip check\n if (props.exclusive && props !== this.nextProps) {\n return;\n }\n var currentChildren = (0, _ChildrenUtils.toArrayChildren)(getChildrenFromProps(props));\n // in case state change is too fast\n if (this.isValidChildByKey(currentChildren, key)) {\n this.performEnter(key);\n } else {\n var end = function end() {\n if (_util2[\"default\"].allowLeaveCallback(props)) {\n props.onLeave(key);\n props.onEnd(key, false);\n }\n };\n /* eslint react/no-is-mounted:0 */\n if (this.mounted && !(0, _ChildrenUtils.isSameChildren)(this.state.children, currentChildren, props.showProp)) {\n this.setState({\n children: currentChildren\n }, end);\n } else {\n end();\n }\n }\n };\n\n Animate.prototype.isValidChildByKey = function isValidChildByKey(currentChildren, key) {\n var showProp = this.props.showProp;\n if (showProp) {\n return (0, _ChildrenUtils.findShownChildInChildrenByKey)(currentChildren, key, showProp);\n }\n return (0, _ChildrenUtils.findChildInChildrenByKey)(currentChildren, key);\n };\n\n Animate.prototype.stop = function stop(key) {\n delete this.currentlyAnimatingKeys[key];\n var component = this.refs[key];\n if (component) {\n component.stop();\n }\n };\n\n Animate.prototype.render = function render() {\n var props = this.props;\n this.nextProps = props;\n var stateChildren = this.state.children;\n var children = null;\n if (stateChildren) {\n children = stateChildren.map(function (child) {\n if (child === null || child === undefined) {\n return child;\n }\n if (!child.key) {\n throw new Error('must set key for <rc-animate> children');\n }\n return _react2[\"default\"].createElement(\n _AnimateChild2[\"default\"],\n {\n key: child.key,\n ref: child.key,\n animation: props.animation,\n transitionName: props.transitionName,\n transitionEnter: props.transitionEnter,\n transitionAppear: props.transitionAppear,\n transitionLeave: props.transitionLeave\n },\n child\n );\n });\n }\n var Component = props.component;\n if (Component) {\n var passedProps = props;\n if (typeof Component === 'string') {\n passedProps = {\n className: props.className,\n style: props.style\n };\n }\n return _react2[\"default\"].createElement(\n Component,\n passedProps,\n children\n );\n }\n return children[0] || null;\n };\n\n return Animate;\n}(_react.Component);\n\n;\nAnimate.defaultProps = defaultProps;\nAnimate.propTypes = Animate.propTypes;\n\nexports[\"default\"] = Animate;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-animate/build/Animate.js\n// module id = 70\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.toArrayChildren = toArrayChildren;\nexports.findChildInChildrenByKey = findChildInChildrenByKey;\nexports.findShownChildInChildrenByKey = findShownChildInChildrenByKey;\nexports.findHiddenChildInChildrenByKey = findHiddenChildInChildrenByKey;\nexports.isSameChildren = isSameChildren;\nexports.mergeChildren = mergeChildren;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction toArrayChildren(children) {\n var ret = [];\n _react2[\"default\"].Children.forEach(children, function (child) {\n ret.push(child);\n });\n return ret;\n}\n\nfunction findChildInChildrenByKey(children, key) {\n var ret = null;\n if (children) {\n children.forEach(function (child) {\n if (ret) {\n return;\n }\n if (child && child.key === key) {\n ret = child;\n }\n });\n }\n return ret;\n}\n\nfunction findShownChildInChildrenByKey(children, key, showProp) {\n var ret = null;\n if (children) {\n children.forEach(function (child) {\n if (child && child.key === key && child.props[showProp]) {\n if (ret) {\n throw new Error('two child with same key for <rc-animate> children');\n }\n ret = child;\n }\n });\n }\n return ret;\n}\n\nfunction findHiddenChildInChildrenByKey(children, key, showProp) {\n var found = 0;\n if (children) {\n children.forEach(function (child) {\n if (found) {\n return;\n }\n found = child && child.key === key && !child.props[showProp];\n });\n }\n return found;\n}\n\nfunction isSameChildren(c1, c2, showProp) {\n var same = c1.length === c2.length;\n if (same) {\n c1.forEach(function (child, index) {\n var child2 = c2[index];\n if (child && child2) {\n if (child && !child2 || !child && child2) {\n same = false;\n } else if (child.key !== child2.key) {\n same = false;\n } else if (showProp && child.props[showProp] !== child2.props[showProp]) {\n same = false;\n }\n }\n });\n }\n return same;\n}\n\nfunction mergeChildren(prev, next) {\n var ret = [];\n\n // For each key of `next`, the list of keys to insert before that key in\n // the combined list\n var nextChildrenPending = {};\n var pendingChildren = [];\n prev.forEach(function (child) {\n if (child && findChildInChildrenByKey(next, child.key)) {\n if (pendingChildren.length) {\n nextChildrenPending[child.key] = pendingChildren;\n pendingChildren = [];\n }\n } else {\n pendingChildren.push(child);\n }\n });\n\n next.forEach(function (child) {\n if (child && nextChildrenPending.hasOwnProperty(child.key)) {\n ret = ret.concat(nextChildrenPending[child.key]);\n }\n ret.push(child);\n });\n\n ret = ret.concat(pendingChildren);\n\n return ret;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-animate/build/ChildrenUtils.js\n// module id = 71\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _tinperBeeCore = require('tinper-bee-core');\n\nvar _util = require('./util');\n\nvar _util2 = _interopRequireDefault(_util);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }\n\nvar transitionMap = {\n enter: 'transitionEnter',\n appear: 'transitionAppear',\n leave: 'transitionLeave'\n};\n\nvar propTypes = {\n children: _propTypes2[\"default\"].any\n};\n\nvar AnimateChild = function (_Component) {\n _inherits(AnimateChild, _Component);\n\n function AnimateChild(props) {\n _classCallCheck(this, AnimateChild);\n\n var _this = _possibleConstructorReturn(this, _Component.call(this, props));\n\n _this.transition = _this.transition.bind(_this);\n _this.stop = _this.stop.bind(_this);\n return _this;\n }\n\n AnimateChild.prototype.componentWillUnmount = function componentWillUnmount() {\n this.stop();\n };\n\n AnimateChild.prototype.componentWillEnter = function componentWillEnter(done) {\n if (_util2[\"default\"].isEnterSupported(this.props)) {\n this.transition('enter', done);\n } else {\n done();\n }\n };\n\n AnimateChild.prototype.componentWillAppear = function componentWillAppear(done) {\n if (_util2[\"default\"].isAppearSupported(this.props)) {\n this.transition('appear', done);\n } else {\n done();\n }\n };\n\n AnimateChild.prototype.componentWillLeave = function componentWillLeave(done) {\n if (_util2[\"default\"].isLeaveSupported(this.props)) {\n this.transition('leave', done);\n } else {\n // always sync, do not interupt with react component life cycle\n // update hidden -> animate hidden ->\n // didUpdate -> animate leave -> unmount (if animate is none)\n done();\n }\n };\n\n AnimateChild.prototype.transition = function transition(animationType, finishCallback) {\n var _this2 = this;\n\n var node = _reactDom2[\"default\"].findDOMNode(this);\n var props = this.props;\n var transitionName = props.transitionName;\n var nameIsObj = (typeof transitionName === 'undefined' ? 'undefined' : _typeof(transitionName)) === 'object';\n this.stop();\n var end = function end() {\n _this2.stopper = null;\n finishCallback();\n };\n if ((_tinperBeeCore.cssAnimation.isCssAnimationSupported || !props.animation[animationType]) && transitionName && props[transitionMap[animationType]]) {\n var name = nameIsObj ? transitionName[animationType] : transitionName + '-' + animationType;\n var activeName = name + '-active';\n if (nameIsObj && transitionName[animationType + 'Active']) {\n activeName = transitionName[animationType + 'Active'];\n }\n this.stopper = (0, _tinperBeeCore.cssAnimation)(node, {\n name: name,\n active: activeName\n }, end);\n } else {\n this.stopper = props.animation[animationType](node, end);\n }\n };\n\n AnimateChild.prototype.stop = function stop() {\n var stopper = this.stopper;\n if (stopper) {\n this.stopper = null;\n stopper.stop();\n }\n };\n\n AnimateChild.prototype.render = function render() {\n return this.props.children;\n };\n\n return AnimateChild;\n}(_react.Component);\n\n;\n\nAnimateChild.propTypes = propTypes;\n\nexports[\"default\"] = AnimateChild;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-animate/build/AnimateChild.js\n// module id = 72\n// module chunks = 0","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar util = {\n isAppearSupported: function isAppearSupported(props) {\n return props.transitionName && props.transitionAppear || props.animation.appear;\n },\n isEnterSupported: function isEnterSupported(props) {\n return props.transitionName && props.transitionEnter || props.animation.enter;\n },\n isLeaveSupported: function isLeaveSupported(props) {\n return props.transitionName && props.transitionLeave || props.animation.leave;\n },\n allowAppearCallback: function allowAppearCallback(props) {\n return props.transitionAppear || props.animation.appear;\n },\n allowEnterCallback: function allowEnterCallback(props) {\n return props.transitionEnter || props.animation.enter;\n },\n allowLeaveCallback: function allowLeaveCallback(props) {\n return props.transitionLeave || props.animation.leave;\n }\n};\nexports[\"default\"] = util;\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-animate/build/util.js\n// module id = 73\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports[\"default\"] = function (componentOrElement) {\n return (0, _ownerDocument2[\"default\"])(_reactDom2[\"default\"].findDOMNode(componentOrElement));\n};\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _ownerDocument = require('dom-helpers/ownerDocument');\n\nvar _ownerDocument2 = _interopRequireDefault(_ownerDocument);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-overlay/build/utils/ownerDocument.js\n// module id = 74\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = ownerDocument;\n\nfunction ownerDocument(node) {\n return node && node.ownerDocument || document;\n}\n\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-helpers/ownerDocument.js\n// module id = 75\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports[\"default\"] = function (node, event, handler, capture) {\n (0, _on2[\"default\"])(node, event, handler, capture);\n\n return {\n remove: function remove() {\n (0, _off2[\"default\"])(node, event, handler, capture);\n }\n };\n};\n\nvar _on = require('dom-helpers/events/on');\n\nvar _on2 = _interopRequireDefault(_on);\n\nvar _off = require('dom-helpers/events/off');\n\nvar _off2 = _interopRequireDefault(_off);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-overlay/build/utils/addEventListener.js\n// module id = 76\n// module chunks = 0","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _inDOM = _interopRequireDefault(require(\"../util/inDOM\"));\n\nvar off = function off() {};\n\nif (_inDOM.default) {\n off = function () {\n if (document.addEventListener) return function (node, eventName, handler, capture) {\n return node.removeEventListener(eventName, handler, capture || false);\n };else if (document.attachEvent) return function (node, eventName, handler) {\n return node.detachEvent('on' + eventName, handler);\n };\n }();\n}\n\nvar _default = off;\nexports.default = _default;\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-helpers/events/off.js\n// module id = 77\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }\n\nvar propTypes = {\n duration: _propTypes2[\"default\"].number,\n onClose: _propTypes2[\"default\"].func,\n children: _propTypes2[\"default\"].any,\n color: _propTypes2[\"default\"].oneOf(['info', 'success', 'danger', 'warning', 'light', 'dark', 'news', 'infolight', 'successlight', 'dangerlight', 'warninglight']),\n title: _propTypes2[\"default\"].any\n};\n\nfunction noop() {}\n\nvar defaultProps = {\n onEnd: noop,\n onClose: noop,\n duration: 4.5,\n closable: true\n};\n\nvar Notice = function (_React$Component) {\n _inherits(Notice, _React$Component);\n\n function Notice(props) {\n _classCallCheck(this, Notice);\n\n var _this = _possibleConstructorReturn(this, _React$Component.call(this, props));\n\n _this.clearCloseTimer = _this.clearCloseTimer.bind(_this);\n _this.close = _this.close.bind(_this);\n return _this;\n }\n\n Notice.prototype.componentDidMount = function componentDidMount() {\n var _this2 = this;\n\n if (this.props.duration) {\n this.closeTimer = setTimeout(function () {\n _this2.close();\n }, this.props.duration * 1000);\n }\n };\n\n Notice.prototype.componentWillUnmount = function componentWillUnmount() {\n this.clearCloseTimer();\n };\n\n Notice.prototype.clearCloseTimer = function clearCloseTimer() {\n if (this.closeTimer) {\n clearTimeout(this.closeTimer);\n this.closeTimer = null;\n }\n };\n\n Notice.prototype.close = function close() {\n this.clearCloseTimer();\n this.props.onClose();\n };\n\n Notice.prototype.render = function render() {\n var _classes;\n\n var _props = this.props,\n closable = _props.closable,\n clsPrefix = _props.clsPrefix,\n className = _props.className,\n style = _props.style,\n children = _props.children,\n color = _props.color,\n title = _props.title;\n\n var componentClass = clsPrefix + '-notice';\n var classes = (_classes = {}, _defineProperty(_classes, '' + componentClass, 1), _defineProperty(_classes, componentClass + '-closable', closable), _defineProperty(_classes, className, !!className), _classes);\n if (color) {\n classes[componentClass + '-' + color] = true;\n }\n return _react2[\"default\"].createElement(\n 'div',\n { className: (0, _classnames2[\"default\"])(classes), style: style, onClick: this.close },\n _react2[\"default\"].createElement(\n 'div',\n { className: componentClass + '-content' },\n title && _react2[\"default\"].createElement(\n 'div',\n { className: componentClass + '-title' },\n title\n ),\n _react2[\"default\"].createElement(\n 'div',\n { className: componentClass + '-description' },\n children\n )\n ),\n closable ? _react2[\"default\"].createElement(\n 'a',\n { tabIndex: '0', onClick: this.close, className: componentClass + '-close' },\n _react2[\"default\"].createElement('span', { className: componentClass + '-close-x' })\n ) : null\n );\n };\n\n return Notice;\n}(_react2[\"default\"].Component);\n\n;\n\nNotice.propTypes = propTypes;\nNotice.defaultProps = defaultProps;\n\nexports[\"default\"] = Notice;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-notification/build/Notice.js\n// module id = 78\n// module chunks = 0","'use strict';\n\nvar deselectCurrent = require('toggle-selection');\n\nvar defaultMessage = 'Copy to clipboard: #{key}, Enter';\n\nfunction format(message) {\n var copyKey = (/mac os x/i.test(navigator.userAgent) ? '⌘' : 'Ctrl') + '+C';\n return message.replace(/#{\\s*key\\s*}/g, copyKey);\n}\n\nfunction copy(text, options) {\n var debug, message, reselectPrevious, range, selection, mark, success = false;\n if (!options) { options = {}; }\n debug = options.debug || false;\n try {\n reselectPrevious = deselectCurrent();\n\n range = document.createRange();\n selection = document.getSelection();\n\n mark = document.createElement('span');\n mark.textContent = text;\n // reset user styles for span element\n mark.style.all = 'unset';\n // prevents scrolling to the end of the page\n mark.style.position = 'fixed';\n mark.style.top = 0;\n mark.style.clip = 'rect(0, 0, 0, 0)';\n // used to preserve spaces and line breaks\n mark.style.whiteSpace = 'pre';\n // do not inherit user-select (it may be `none`)\n mark.style.webkitUserSelect = 'text';\n mark.style.MozUserSelect = 'text';\n mark.style.msUserSelect = 'text';\n mark.style.userSelect = 'text';\n\n document.body.appendChild(mark);\n\n range.selectNode(mark);\n selection.addRange(range);\n\n var successful = document.execCommand('copy');\n if (!successful) {\n throw new Error('copy command was unsuccessful');\n }\n success = true;\n } catch (err) {\n debug && console.error('unable to copy using execCommand: ', err);\n debug && console.warn('trying IE specific stuff');\n try {\n window.clipboardData.setData('text', text);\n success = true;\n } catch (err) {\n debug && console.error('unable to copy using clipboardData: ', err);\n debug && console.error('falling back to prompt');\n message = format('message' in options ? options.message : defaultMessage);\n window.prompt(message, text);\n }\n } finally {\n if (selection) {\n if (typeof selection.removeRange == 'function') {\n selection.removeRange(range);\n } else {\n selection.removeAllRanges();\n }\n }\n\n if (mark) {\n document.body.removeChild(mark);\n }\n reselectPrevious();\n }\n\n return success;\n}\n\nmodule.exports = copy;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/copy-to-clipboard/index.js\n// module id = 79\n// module chunks = 0","\nmodule.exports = function () {\n var selection = document.getSelection();\n if (!selection.rangeCount) {\n return function () {};\n }\n var active = document.activeElement;\n\n var ranges = [];\n for (var i = 0; i < selection.rangeCount; i++) {\n ranges.push(selection.getRangeAt(i));\n }\n\n switch (active.tagName.toUpperCase()) { // .toUpperCase handles XHTML\n case 'INPUT':\n case 'TEXTAREA':\n active.blur();\n break;\n\n default:\n active = null;\n break;\n }\n\n selection.removeAllRanges();\n return function () {\n selection.type === 'Caret' &&\n selection.removeAllRanges();\n\n if (!selection.rangeCount) {\n ranges.forEach(function(range) {\n selection.addRange(range);\n });\n }\n\n active &&\n active.focus();\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/toggle-selection/index.js\n// module id = 80\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _tinperBeeCore = require('tinper-bee-core');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }\n\nvar propTypes = {\n //是否是手风琴效果\n accordion: _propTypes2[\"default\"].bool,\n //激活的项\n activeKey: _propTypes2[\"default\"].any,\n //默认的激活的项\n defaultActiveKey: _propTypes2[\"default\"].any,\n //选中函数\n onSelect: _propTypes2[\"default\"].func,\n role: _propTypes2[\"default\"].string\n};\n\nvar defaultProps = {\n accordion: false,\n clsPrefix: 'u-panel-group'\n};\n\n// TODO: Use uncontrollable.\n\nvar PanelGroup = function (_React$Component) {\n _inherits(PanelGroup, _React$Component);\n\n function PanelGroup(props, context) {\n _classCallCheck(this, PanelGroup);\n\n var _this = _possibleConstructorReturn(this, _React$Component.call(this, props, context));\n\n _this.handleSelect = _this.handleSelect.bind(_this);\n\n _this.state = {\n activeKey: props.defaultActiveKey\n };\n return _this;\n }\n\n PanelGroup.prototype.handleSelect = function handleSelect(key, e) {\n e.preventDefault();\n\n if (this.props.onSelect) {\n this.props.onSelect(key, e);\n }\n\n if (this.state.activeKey === key) {\n key = null;\n }\n\n this.setState({ activeKey: key });\n };\n\n PanelGroup.prototype.render = function render() {\n var _this2 = this;\n\n var _props = this.props,\n accordion = _props.accordion,\n propsActiveKey = _props.activeKey,\n className = _props.className,\n children = _props.children,\n defaultActiveKey = _props.defaultActiveKey,\n onSelect = _props.onSelect,\n style = _props.style,\n clsPrefix = _props.clsPrefix,\n others = _objectWithoutProperties(_props, ['accordion', 'activeKey', 'className', 'children', 'defaultActiveKey', 'onSelect', 'style', 'clsPrefix']);\n\n var activeKey = void 0;\n if (accordion) {\n activeKey = propsActiveKey != null ? propsActiveKey : this.state.activeKey;\n others.role = others.role || 'tablist';\n }\n\n var classes = {};\n classes['' + clsPrefix] = true;\n\n return _react2[\"default\"].createElement(\n 'div',\n _extends({}, others, {\n className: (0, _classnames2[\"default\"])(className, classes)\n }),\n _react2[\"default\"].Children.map(children, function (child) {\n if (!_react2[\"default\"].isValidElement(child)) {\n return child;\n }\n var childProps = {\n style: child.props.style\n };\n\n if (accordion) {\n _extends(childProps, {\n headerRole: 'tab',\n panelRole: 'tabpanel',\n collapsible: true,\n expanded: child.props.eventKey === activeKey,\n onSelect: (0, _tinperBeeCore.createChainedFunction)(_this2.handleSelect, child.props.onSelect)\n });\n }\n\n return (0, _react.cloneElement)(child, childProps);\n })\n );\n };\n\n return PanelGroup;\n}(_react2[\"default\"].Component);\n\nPanelGroup.propTypes = propTypes;\nPanelGroup.defaultProps = defaultProps;\n\nexports[\"default\"] = PanelGroup;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-panel/build/PanelGroup.js\n// module id = 81\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _Button = require('./Button');\n\nvar _Button2 = _interopRequireDefault(_Button);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nexports[\"default\"] = _Button2[\"default\"];\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-button/build/index.js\n// module id = 82\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }\n\nvar propTypes = {\n /**\r\n * @title 尺寸\r\n */\n size: _propTypes2[\"default\"].oneOf(['sm', 'md', 'xg', 'lg']),\n /**\r\n * @title 样式\r\n */\n style: _propTypes2[\"default\"].object,\n /**\r\n * @title 形状\r\n */\n shape: _propTypes2[\"default\"].oneOf(['block', 'round', 'border', 'squared', 'floating', 'pillRight', 'pillLeft', 'icon']),\n\n bordered: _propTypes2[\"default\"].bool,\n /**\r\n * @title 类型\r\n */\n colors: _propTypes2[\"default\"].oneOf(['primary', 'secondary', 'accent', 'success', 'info', 'warning', 'danger', 'dark', 'light', 'default']),\n /**\r\n * @title 是否禁用\r\n * @veIgnore\r\n */\n disabled: _propTypes2[\"default\"].bool,\n /**\r\n * @title 类名\r\n * @veIgnore\r\n */\n className: _propTypes2[\"default\"].string,\n\n /**\r\n * @title <button> 的 type\r\n * @veIgnore\r\n */\n htmlType: _propTypes2[\"default\"].oneOf(['submit', 'button', 'reset']),\n isSubmit: _propTypes2[\"default\"].bool //是否作为form的提交按钮\n};\n\nvar defaultProps = {\n disabled: false,\n htmlType: 'button',\n clsPrefix: 'u-button',\n bordered: false,\n isSubmit: false\n};\n\nvar sizeMap = {\n sm: 'sm',\n md: 'md',\n xg: 'xg',\n lg: 'lg'\n},\n colorsMap = {\n primary: 'primary',\n secondary: 'secondary',\n accent: 'accent',\n success: 'success',\n info: 'info',\n warning: 'warning',\n danger: 'danger',\n dark: 'dark',\n light: 'light'\n},\n shapeMap = {\n block: 'block',\n round: 'round',\n border: 'border',\n squared: 'squared',\n floating: 'floating',\n pillRight: 'pill-right',\n pillLeft: 'pill-left',\n icon: 'icon'\n};\n\nvar Button = function (_Component) {\n _inherits(Button, _Component);\n\n function Button(props) {\n _classCallCheck(this, Button);\n\n return _possibleConstructorReturn(this, _Component.call(this, props));\n }\n\n Button.prototype.render = function render() {\n var _props = this.props,\n colors = _props.colors,\n shape = _props.shape,\n disabled = _props.disabled,\n className = _props.className,\n size = _props.size,\n bordered = _props.bordered,\n children = _props.children,\n htmlType = _props.htmlType,\n clsPrefix = _props.clsPrefix,\n isSubmit = _props.isSubmit,\n others = _objectWithoutProperties(_props, ['colors', 'shape', 'disabled', 'className', 'size', 'bordered', 'children', 'htmlType', 'clsPrefix', 'isSubmit']);\n\n var clsObj = {};\n if (className) {\n clsObj[className] = true;\n }\n if (sizeMap[size]) {\n clsObj[clsPrefix + '-' + sizeMap[size]] = true;\n }\n\n if (shapeMap[shape]) {\n clsObj[clsPrefix + '-' + shapeMap[shape]] = true;\n }\n if (colorsMap[colors]) {\n clsObj[clsPrefix + '-' + colorsMap[colors]] = true;\n }\n //clsObj[`${clsPrefix}-border`] = bordered;\n var classes = (0, _classnames2[\"default\"])(clsPrefix, clsObj);\n return _react2[\"default\"].createElement(\n 'button',\n _extends({\n type: htmlType,\n className: classes,\n disabled: disabled\n }, others),\n this.props.children\n );\n };\n\n return Button;\n}(_react.Component);\n\nButton.propTypes = propTypes;\nButton.defaultProps = defaultProps;\n\nexports[\"default\"] = Button;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-button/build/Button.js\n// module id = 83\n// module chunks = 0","/**\n *\n * @title Tree基本使用示例\n * @description 示例涵盖 checkbox如何选择disable状态和部分选择状态。checkStrictly为true时子节点与父节点的选择情况都不会影响到对方\n *\n */\n\n\nimport React, {\n\tComponent\n} from 'react';\nimport Tree from '../../src';\nimport Icon from 'bee-icon';\nconst TreeNode = Tree.TreeNode;\n\nconst defaultProps = {\n\tkeys: ['0-0-0', '0-0-1']\n}\nclass Demo1 extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tconst keys = this.props.keys;\n\t\tthis.state = {\n\t\t\tdefaultExpandedKeys: keys,\n\t\t\tdefaultSelectedKeys: keys,\n\t\t\tdefaultCheckedKeys:keys,\n\t\t\tcheckedKeys: {checked:keys},\n\t\t};\n\t}\n\tonSelect(info) {\n\t\tconsole.log('selected', info);\n\t}\n\tonCheck = (checkedKeys,newst) => {\n\t\t//用户可以自定义当前选中和半选中的节点。\n\t\tconsole.log('onCheck', checkedKeys);\n\t\tconst cks = {\n\t\t\tchecked: checkedKeys.checked || checkedKeys,\n\t\t\thalfChecked:checkedKeys.halfChecked\n\t\t};\n\t\tthis.setState({checkedKeys:cks});\n\t}\n\n\tonDoubleClick=(key,treeNode)=>{\n\t\tconsole.log('---onDblClick---'+key+'--treeNode--'+treeNode);\n\t}\n\trender() {\n\t\n\t\treturn (\n\t\t\t<Tree className=\"myCls\" showLine checkable\n\t defaultExpandedKeys={this.state.defaultExpandedKeys}\n\t\t\t\t\tdefaultSelectedKeys={this.state.defaultSelectedKeys}\n\t\t\t\t\tdefaultCheckedKeys = {this.state.defaultCheckedKeys}\n\t\t\t\t\tcheckStrictly\n\t\t\t\t\tshowIcon\n\t\t\t\t\tcancelUnSelect={true}\n\t\t\t\t\tonSelect={this.onSelect} onCheck={this.onCheck}\n\t\t\t\t\tonDoubleClick={this.onDoubleClick}\n\t >\n\t <TreeNode title=\"parent 1\" key=\"0-0\" icon={<Icon type=\"uf-treefolder\" />}>\n\t <TreeNode title=\"parent 1-0\" key=\"0-0-0\" disabled icon={<Icon type=\"uf-treefolder\" />}>\n\t <TreeNode title=\"leaf\" key=\"0-0-0-0\" disableCheckbox icon={<Icon type=\"uf-list-s-o\" />}/>\n\t <TreeNode title=\"leaf\" key=\"0-0-0-1\" icon={<Icon type=\"uf-list-s-o\" />}/>\n\t </TreeNode>\n\t <TreeNode title=\"parent 1-1\" key=\"0-0-1\" icon={<Icon type=\"uf-treefolder\" />}>\n\t <TreeNode title={<span>sss</span>} key=\"0-0-1-0\" icon={<Icon type=\"uf-list-s-o\" />}/>\n\t </TreeNode>\n\t </TreeNode>\n\t </Tree>\n\t\t);\n\t}\n}\n\nDemo1.defaultProps = defaultProps;\n\n\nexport default Demo1;\n\n\n// WEBPACK FOOTER //\n// ./demo/demolist/Demo1.js","import React,{Component} from 'react';\nimport RcTree from './Tree';\nimport TreeNode from './TreeNode';\nimport animation from './openAnimation';\nimport PropTypes from 'prop-types';\n\nconst TreeProps ={\n showLine: PropTypes.bool,\n className: PropTypes.string,\n /** 是否支持多选 */\n multiple: PropTypes.bool,\n /** 是否自动展开父节点 */\n autoExpandParent: PropTypes.bool,\n /** checkable状态下节点选择完全受控父子节点选中状态不再关联*/\n checkStrictly: PropTypes.bool,\n /** 是否支持选中 */\n checkable: PropTypes.bool,\n /** 默认展开所有树节点 */\n defaultExpandAll: PropTypes.bool,\n /** 默认展开指定的树节点 */\n defaultExpandedKeys: PropTypes.array,\n /** (受控)展开指定的树节点 */\n expandedKeys: PropTypes.array,\n /** (受控)选中复选框的树节点 */\n checkedKeys: PropTypes.oneOfType([\n PropTypes.array,\n PropTypes.object\n ]),\n /** 默认选中复选框的树节点 */\n defaultCheckedKeys: PropTypes.array,\n /** (受控)设置选中的树节点 */\n selectedKeys: PropTypes.array,\n /** 默认选中的树节点 */\n defaultSelectedKeys: PropTypes.array,\n /** 展开/收起节点时触发 */\n onExpand: PropTypes.func,\n /** 点击复选框触发 */\n onCheck: PropTypes.func,\n /** 点击树节点触发 */\n onSelect: PropTypes.func,\n /** filter some AntTreeNodes as you need. it should return true */\n filterAntTreeNode: PropTypes.func,\n /** 异步加载数据 */\n loadData: PropTypes.func,\n /** 响应右键点击 */\n onRightClick: PropTypes.func,\n /** 设置节点可拖拽IE>8*/\n draggable: PropTypes.bool,\n /** 开始拖拽时调用 */\n onDragStart: PropTypes.func,\n /** dragenter 触发时调用 */\n onDragEnter: PropTypes.func,\n /** dragover 触发时调用 */\n onDragOver: PropTypes.func,\n /** dragleave 触发时调用 */\n onDragLeave: PropTypes.func,\n /** drop 触发时调用 */\n onDrop: PropTypes.func,\n style: React.CSSProperties,\n prefixCls: PropTypes.string,\n filterTreeNode: PropTypes.func\n}\n\nconst defaultProps = {\n prefixCls: 'u-tree',\n checkable: false,\n showIcon: false,\n openAnimation: animation,\n}\n\nclass Tree extends Component{\n\n render() {\n const props = this.props;\n let checkable = props.checkable;\n return (\n <RcTree\n {...props}\n checkable={checkable ? (<span className={`${props.prefixCls}-checkbox-inner`} />) : checkable }\n >\n {this.props.children}\n </RcTree>\n );\n }\n}\n\nTree.TreeNode = TreeNode;\nTree.TreeProps = TreeProps;\nTree.defaultProps = defaultProps;\nexport default Tree;\n\n\n\n// WEBPACK FOOTER //\n// ./src/index.js","/* eslint no-console:0 */\nimport React from 'react';\n\nimport classNames from 'classnames';\nimport {\n loopAllChildren,\n isInclude,\n getOffset,\n filterParentPosition,\n handleCheckState,\n getCheck,\n getStrictlyValue,\n arraysEqual,\n closest\n} from './util';\nimport PropTypes from 'prop-types';\nimport { KeyCode } from 'tinper-bee-core';\n\nfunction noop() {}\n\nclass Tree extends React.Component {\n constructor(props) {\n super(props);\n ['onKeyDown', 'onCheck',\"onUlFocus\",\"_focusDom\"].forEach((m) => {\n this[m] = this[m].bind(this);\n });\n this.contextmenuKeys = [];\n this.checkedKeysChange = true;\n this.selectKeyDomPos = '0-0';\n this.state = {\n expandedKeys: this.getDefaultExpandedKeys(props),\n checkedKeys: this.getDefaultCheckedKeys(props),\n selectedKeys: this.getDefaultSelectedKeys(props),\n dragNodesKeys: '',\n dragOverNodeKey: '',\n dropNodeKey: '',\n };\n }\n\n componentWillReceiveProps(nextProps) {\n const expandedKeys = this.getDefaultExpandedKeys(nextProps, true);\n const checkedKeys = this.getDefaultCheckedKeys(nextProps, true);\n const selectedKeys = this.getDefaultSelectedKeys(nextProps, true);\n const st = {};\n // 用于记录这次data内容有没有变化\n this.dataChange = false;\n if (expandedKeys) {\n st.expandedKeys = expandedKeys;\n }\n if (checkedKeys) {\n if (nextProps.checkedKeys === this.props.checkedKeys) {\n this.checkedKeysChange = false;\n } else {\n this.checkedKeysChange = true;\n }\n st.checkedKeys = checkedKeys;\n }\n if (selectedKeys) {\n st.selectedKeys = selectedKeys;\n }\n if(nextProps.children !== this.props.children){\n this.dataChange = true;\n }\n this.setState(st);\n }\n\n onDragStart(e, treeNode) {\n this.dragNode = treeNode;\n this.dragNodesKeys = this.getDragNodes(treeNode);\n const st = {\n dragNodesKeys: this.dragNodesKeys,\n };\n const expandedKeys = this.getExpandedKeys(treeNode, false);\n if (expandedKeys) {\n // Controlled expand, save and then reset\n this.getRawExpandedKeys();\n st.expandedKeys = expandedKeys;\n }\n this.setState(st);\n this.props.onDragStart({\n event: e,\n node: treeNode,\n });\n this._dropTrigger = false;\n }\n\n onDragEnterGap(e, treeNode) {\n const offsetTop = (0, getOffset)(treeNode.refs.selectHandle).top;\n const offsetHeight = treeNode.refs.selectHandle.offsetHeight;\n const pageY = e.pageY;\n const gapHeight = 2;\n if (pageY > offsetTop + offsetHeight - gapHeight) {\n this.dropPosition = 1;\n return 1;\n }\n if (pageY < offsetTop + gapHeight) {\n this.dropPosition = -1;\n return -1;\n }\n this.dropPosition = 0;\n return 0;\n }\n\n onDragEnter(e, treeNode) {\n const enterGap = this.onDragEnterGap(e, treeNode);\n if (this.dragNode.props.eventKey === treeNode.props.eventKey && enterGap === 0) {\n this.setState({\n dragOverNodeKey: '',\n });\n return;\n }\n const st = {\n dragOverNodeKey: treeNode.props.eventKey,\n };\n const expandedKeys = this.getExpandedKeys(treeNode, true);\n if (expandedKeys) {\n this.getRawExpandedKeys();\n st.expandedKeys = expandedKeys;\n }\n this.setState(st);\n this.props.onDragEnter({\n event: e,\n node: treeNode,\n expandedKeys: expandedKeys && [...expandedKeys] || [...this.state.expandedKeys],\n });\n }\n\n onDragOver(e, treeNode) {\n this.props.onDragOver({\n event: e,\n node: treeNode\n });\n }\n\n onDragLeave(e, treeNode) {\n this.props.onDragLeave({\n event: e,\n node: treeNode\n });\n }\n\n onDrop(e, treeNode) {\n const key = treeNode.props.eventKey;\n this.setState({\n dragOverNodeKey: '',\n dropNodeKey: key,\n });\n if (this.dragNodesKeys.indexOf(key) > -1) {\n if (console.warn) {\n console.warn('can not drop to dragNode(include it\\'s children node)');\n }\n return false;\n }\n\n const posArr = treeNode.props.pos.split('-');\n const res = {\n event: e,\n node: treeNode,\n dragNode: this.dragNode,\n dragNodesKeys: [...this.dragNodesKeys],\n dropPosition: this.dropPosition + Number(posArr[posArr.length - 1]),\n };\n if (this.dropPosition !== 0) {\n res.dropToGap = true;\n }\n if ('expandedKeys' in this.props) {\n res.rawExpandedKeys = [...this._rawExpandedKeys] || [...this.state.expandedKeys];\n }\n this.props.onDrop(res);\n this._dropTrigger = true;\n }\n\n onDragEnd(e, treeNode) {\n this.setState({\n dragOverNodeKey: '',\n });\n this.props.onDragEnd({\n event: e,\n node: treeNode\n });\n }\n/**\n *\n *\n * @param {*} treeNode 当前操作的节点\n * @param {*} keyType 键盘事件通用的key类型 left 为收起right为展开\n * @returns\n * @memberof Tree\n */\nonExpand(treeNode,keyType) {\n let expanded = !treeNode.props.expanded;\n const controlled = 'expandedKeys' in this.props;\n const expandedKeys = [...this.state.expandedKeys];\n const index = expandedKeys.indexOf(treeNode.props.eventKey);\n\n if(keyType == 'left'){\n expanded = false;\n }else if(keyType == 'right'){\n expanded = true;\n }\n \n if (expanded && index === -1) {\n expandedKeys.push(treeNode.props.eventKey);\n } else if (!expanded && index > -1) {\n expandedKeys.splice(index, 1);\n }\n if (!controlled) {\n this.setState({\n expandedKeys\n });\n }\n this.props.onExpand(expandedKeys, {\n node: treeNode,\n expanded\n });\n\n // after data loaded, need set new expandedKeys\n if (expanded && this.props.loadData) {\n return this.props.loadData(treeNode).then(() => {\n if (!controlled) {\n this.setState({\n expandedKeys\n });\n }\n });\n }\n }\n\n onCheck(treeNode) {\n let checked = !treeNode.props.checked;\n if (treeNode.props.halfChecked) {\n checked = true;\n }\n const key = treeNode.props.eventKey;\n let checkedKeys = [...this.state.checkedKeys];\n const index = checkedKeys.indexOf(key);\n\n const newSt = {\n event: 'check',\n node: treeNode,\n checked,\n };\n\n if (this.props.checkStrictly) {\n if (checked && index === -1) {\n checkedKeys.push(key);\n }\n if (!checked && index > -1) {\n checkedKeys.splice(index, 1);\n }\n this.treeNodesStates[treeNode.props.pos].checked = checked;\n newSt.checkedNodes = [];\n loopAllChildren(this.props.children, (item, ind, pos, keyOrPos) => {\n if (checkedKeys.indexOf(keyOrPos) !== -1) {\n newSt.checkedNodes.push(item);\n }\n });\n if (!('checkedKeys' in this.props)) {\n this.setState({\n checkedKeys,\n });\n }\n const halfChecked = this.props.checkedKeys ? this.props.checkedKeys.halfChecked : [];\n this.props.onCheck(getStrictlyValue(checkedKeys, halfChecked), newSt);\n } else {\n if (checked && index === -1) {\n this.treeNodesStates[treeNode.props.pos].checked = true;\n const checkedPositions = [];\n Object.keys(this.treeNodesStates).forEach(i => {\n if (this.treeNodesStates[i].checked) {\n checkedPositions.push(i);\n }\n });\n handleCheckState(this.treeNodesStates, filterParentPosition(checkedPositions), true);\n }\n if (!checked) {\n this.treeNodesStates[treeNode.props.pos].checked = false;\n this.treeNodesStates[treeNode.props.pos].halfChecked = false;\n handleCheckState(this.treeNodesStates, [treeNode.props.pos], false);\n }\n const checkKeys = getCheck(this.treeNodesStates);\n newSt.checkedNodes = checkKeys.checkedNodes;\n newSt.checkedNodesPositions = checkKeys.checkedNodesPositions;\n newSt.halfCheckedKeys = checkKeys.halfCheckedKeys;\n this.checkKeys = checkKeys;\n\n this._checkedKeys = checkedKeys = checkKeys.checkedKeys;\n if (!('checkedKeys' in this.props)) {\n this.setState({\n checkedKeys,\n });\n }\n this.props.onCheck(checkedKeys, newSt);\n }\n }\n\n onSelect(treeNode) {\n const props = this.props;\n const selectedKeys = [...this.state.selectedKeys];\n const eventKey = treeNode.props.eventKey || treeNode.key;\n const index = selectedKeys.indexOf(eventKey);\n let selected;\n //cancelUnSelect为true时第二次点击时不取消选中\n if(props.cancelUnSelect){\n if (index == -1) {\n selected = true;\n if (!props.multiple) {\n selectedKeys.length = 0;\n }\n selectedKeys.push(eventKey);\n }\n }else{\n if (index !== -1) {\n selected = false;\n selectedKeys.splice(index, 1);\n } else {\n selected = true;\n if (!props.multiple) {\n selectedKeys.length = 0;\n }\n selectedKeys.push(eventKey);\n }\n }\n \n const selectedNodes = [];\n if (selectedKeys.length) {\n loopAllChildren(this.props.children, (item) => {\n if (selectedKeys.indexOf(item.key) !== -1) {\n selectedNodes.push(item);\n }\n });\n }\n const newSt = {\n event: 'select',\n node: treeNode,\n selected,\n selectedNodes,\n };\n if (!('selectedKeys' in this.props)) {\n this.setState({\n selectedKeys,\n });\n }\n props.onSelect(selectedKeys, newSt);\n }\n\n\n onDoubleClick(treeNode){\n const props = this.props;\n const eventKey = treeNode.props.eventKey;\n const newSt = {\n event: 'dblclick',\n node: treeNode\n };\n props.onDoubleClick(eventKey,newSt);\n }\n\n on1Enter(e, treeNode) {\n this.props.onMouseEnter({\n event: e,\n node: treeNode\n });\n }\n\n onMouseLeave(e, treeNode) {\n this.props.onMouseLeave({\n event: e,\n node: treeNode\n });\n }\n\n\n\n onContextMenu(e, treeNode) {\n const selectedKeys = [...this.state.selectedKeys];\n const eventKey = treeNode.props.eventKey;\n if (this.contextmenuKeys.indexOf(eventKey) === -1) {\n this.contextmenuKeys.push(eventKey);\n }\n this.contextmenuKeys.forEach((key) => {\n const index = selectedKeys.indexOf(key);\n if (index !== -1) {\n selectedKeys.splice(index, 1);\n }\n });\n if (selectedKeys.indexOf(eventKey) === -1) {\n selectedKeys.push(eventKey);\n }\n this.setState({\n selectedKeys,\n });\n this.props.onRightClick({\n event: e,\n node: treeNode\n });\n }\n\n getTreeNode(){\n const props = this.props;\n \n }\n\n goDown(currentPos,currentIndex,e,treeNode){\n const props = this.props;\n const nextIndex = parseInt(currentIndex) + 1;\n \n let nextPos,backNextPos;\n let nextTreeNode,backNextTreeNode;\n const backNextPosArr=[],backNextTreeNodeArr = [],tempBackNextPosArr=[];\n //是否为展开的节点,如果展开获取第一个子节点的信息,如果没有取相邻节点,若也没有相邻节点则获取父节点的下一个节点\n if(props.expandedKeys.indexOf(treeNode.props.eventKey)>-1){\n nextPos = currentPos + '-0';\n }else{\n nextPos = currentPos.substr(0,currentPos.lastIndexOf('-')+1)+nextIndex;\n \n \n }\n //若向下的节点没有了,找到父级相邻节点\n let tempPosArr = currentPos.split('-');\n let tempPosArrLength = tempPosArr.length;\n //将可能是下一个节点的的位置都备份一遍\n while(tempPosArrLength>1){\n backNextPos = tempPosArrLength>1 && tempPosArr.slice(0,tempPosArrLength-1).join('-')+'-' + (parseInt(tempPosArr[tempPosArrLength-1])+1)\n tempBackNextPosArr.push(backNextPos);\n tempPosArr = tempPosArr.slice(0,tempPosArrLength-1)\n tempPosArrLength = tempPosArr.length;\n }\n //选中下一个相邻的节点\n loopAllChildren(props.children,function(itemNode,index,pos,newKey){\n if(pos == nextPos){\n nextTreeNode = itemNode;\n }\n tempBackNextPosArr.forEach(item=>{\n if(item && item == pos){\n // backNextTreeNode = item;\n backNextTreeNodeArr.push(itemNode);\n backNextPosArr.push(pos);\n }\n })\n \n })\n //如果没有下一个节点,则获取父节点的下一个节点\n if(!nextTreeNode){\n for(let i=0;i<backNextTreeNodeArr.length;i++){\n if(backNextTreeNodeArr[i]){\n nextTreeNode = backNextTreeNodeArr[i];\n nextPos = backNextPosArr[i];\n break;\n }\n }\n\n \n }\n \n //查询的下一个节点不为空的话,则选中\n if(nextTreeNode){\n const queryInfo = `a[pos=\"${nextPos}\"]`;\n const parentEle = closest(e.target,\".u-tree\")\n const focusEle = parentEle?parentEle.querySelector(queryInfo):null;\n focusEle && focusEle.focus()\n this.onSelect(nextTreeNode);\n }\n }\n\n goUp(currentPos,currentIndex,e,treeNode){\n const props = this.props;\n if(currentIndex == 0 && currentPos.length === 3){\n return\n }\n // 向上键Up\n const preIndex = parseInt(currentIndex) - 1;\n let prePos;\n if(preIndex>= 0){\n prePos = currentPos.substr(0,currentPos.lastIndexOf('-')+1)+preIndex;\n }else{\n prePos = currentPos.substr(0,currentPos.lastIndexOf('-'));\n }\n \n let prevTreeNode,preElement;\n //选中上一个相邻的节点\n loopAllChildren(props.children,function(item,index,pos,newKey){\n if(pos == prePos){\n prevTreeNode = item;\n }\n })\n //查询的上一个节点不为空的话,则选中\n if(prevTreeNode){\n if(preIndex >=0){\n //如果上面的节点展开则默认选择最后一个子节点\n if(props.expandedKeys.indexOf(prevTreeNode.key)>-1){\n const preElementArr = e.target.parentElement.previousElementSibling.querySelectorAll('a');\n preElement = preElementArr[preElementArr.length-1];\n prePos = preElement.getAttribute('pos');\n loopAllChildren(props.children,function(item,index,pos,newKey){\n if(pos == prePos){\n prevTreeNode = item;\n }\n })\n }else{\n //上一个节点没有展开\n preElement = e.target.parentElement.previousElementSibling.querySelector('a')\n }\n }else{\n // 不存在上一个节点时,选中它的父节点\n preElement = e.target.parentElement.parentElement.parentElement.querySelector('a')\n }\n \n \n }\n preElement && preElement.focus();\n this.onSelect(prevTreeNode);\n }\n // all keyboard events callbacks run from here at first\n onKeyDown(e,treeNode) {\n e.stopPropagation();\n const props = this.props;\n const currentPos = treeNode.props.pos;\n const currentIndex = currentPos.substr(currentPos.lastIndexOf('-')+1);\n //向下键down\n if(e.keyCode == KeyCode.DOWN){\n this.goDown(currentPos,currentIndex,e,treeNode);\n }else if(e.keyCode == KeyCode.UP){\n this.goUp(currentPos,currentIndex,e,treeNode);\n }else if(e.keyCode == KeyCode.LEFT && !treeNode.props.isLeaf){\n // 收起树节点\n this.onExpand(treeNode,'left');\n }else if (e.keyCode == KeyCode.RIGHT && !treeNode.props.isLeaf){\n // 展开树节点\n this.onExpand(treeNode,'right');\n }else if (e.keyCode == KeyCode.SPACE && props.checkable){\n // 如果是多选tree则进行选中或者反选该节点\n this.onCheck(treeNode);\n }else if(e.keyCode == KeyCode.ENTER){\n this.onDoubleClick(treeNode);\n }\n // e.preventDefault();\n \n }\n\n _focusDom(selectKeyDomPos,targetDom){\n const queryInfo = `a[pos=\"${selectKeyDomPos}\"]`;\n const parentEle = closest(targetDom,\".u-tree\")\n const focusEle = parentEle?parentEle.querySelector(queryInfo):null;\n focusEle && focusEle.focus();\n }\n\n onUlFocus(e){ \n const targetDom = e.target;\n if(this.refs.tree == e.target){\n const {onFocus} = this.props;\n const {selectedKeys=[]} = this.state;\n let tabIndexKey = selectedKeys[0]\n let isExist = false;\n if((this.selectKeyDomExist && tabIndexKey) || !tabIndexKey){\n isExist = true;\n const queryInfo = `a[pos=\"${this.selectKeyDomPos}\"]`;\n const parentEle = closest(e.target,\".u-tree\")\n const focusEle = parentEle?parentEle.querySelector(queryInfo):null;\n focusEle && focusEle.focus();\n }\n let onFocusRes = onFocus && onFocus(isExist);\n if(onFocusRes instanceof Promise){\n onFocusRes.then(()=>{\n if(!isExist){\n this._focusDom(this.selectKeyDomPos,targetDom);\n }\n });\n }else{\n this._focusDom(this.selectKeyDomPos,targetDom);\n } \n }\n\n \n \n \n }\n onUlMouseDown(e){\n e.preventDefault();\n }\n \n getFilterExpandedKeys(props, expandKeyProp, expandAll) {\n const keys = props[expandKeyProp];\n if (!expandAll && !props.autoExpandParent) {\n return keys || [];\n }\n const expandedPositionArr = [];\n if (props.autoExpandParent) {\n loopAllChildren(props.children, (item, index, pos, newKey) => {\n if (keys.indexOf(newKey) > -1) {\n expandedPositionArr.push(pos);\n }\n });\n }\n const filterExpandedKeys = [];\n loopAllChildren(props.children, (item, index, pos, newKey) => {\n if (expandAll) {\n filterExpandedKeys.push(newKey);\n } else if (props.autoExpandParent) {\n expandedPositionArr.forEach(p => {\n if ((p.split('-').length > pos.split('-').length && isInclude(pos.split('-'), p.split('-')) || pos === p) && filterExpandedKeys.indexOf(newKey) === -1) {\n filterExpandedKeys.push(newKey);\n }\n });\n }\n });\n return filterExpandedKeys.length ? filterExpandedKeys : keys;\n }\n\n getDefaultExpandedKeys(props, willReceiveProps) {\n let expandedKeys = willReceiveProps ? undefined :\n this.getFilterExpandedKeys(props, 'defaultExpandedKeys',\n props.defaultExpandedKeys.length ? false : props.defaultExpandAll);\n if ('expandedKeys' in props) {\n expandedKeys = (props.autoExpandParent ?\n this.getFilterExpandedKeys(props, 'expandedKeys', false) :\n props.expandedKeys) || [];\n }\n return expandedKeys;\n }\n\n getDefaultCheckedKeys(props, willReceiveProps) {\n let checkedKeys = willReceiveProps ? undefined : props.defaultCheckedKeys;\n if ('checkedKeys' in props) {\n checkedKeys = props.checkedKeys || [];\n if (props.checkStrictly) {\n if (props.checkedKeys.checked) {\n checkedKeys = props.checkedKeys.checked;\n } else if (!Array.isArray(props.checkedKeys)) {\n checkedKeys = [];\n }\n }\n }\n return checkedKeys;\n }\n\n getDefaultSelectedKeys(props, willReceiveProps) {\n const getKeys = (keys) => {\n if (props.multiple) {\n return [...keys];\n }\n if (keys.length) {\n return [keys[0]];\n }\n return keys;\n };\n let selectedKeys = willReceiveProps ? undefined : getKeys(props.defaultSelectedKeys);\n if ('selectedKeys' in props) {\n selectedKeys = getKeys(props.selectedKeys);\n }\n return selectedKeys;\n }\n\n getRawExpandedKeys() {\n if (!this._rawExpandedKeys && ('expandedKeys' in this.props)) {\n this._rawExpandedKeys = [...this.state.expandedKeys];\n }\n }\n\n getOpenTransitionName() {\n const props = this.props;\n let transitionName = props.openTransitionName;\n const animationName = props.openAnimation;\n if (!transitionName && typeof animationName === 'string') {\n transitionName = `${props.prefixCls}-open-${animationName}`;\n }\n return transitionName;\n }\n\n getDragNodes(treeNode) {\n const dragNodesKeys = [];\n const tPArr = treeNode.props.pos.split('-');\n loopAllChildren(this.props.children, (item, index, pos, newKey) => {\n const pArr = pos.split('-');\n if (treeNode.props.pos === pos || tPArr.length < pArr.length && isInclude(tPArr, pArr)) {\n dragNodesKeys.push(newKey);\n }\n });\n return dragNodesKeys;\n }\n\n getExpandedKeys(treeNode, expand) {\n const key = treeNode.props.eventKey;\n const expandedKeys = this.state.expandedKeys;\n const expandedIndex = expandedKeys.indexOf(key);\n let exKeys;\n if (expandedIndex > -1 && !expand) {\n exKeys = [...expandedKeys];\n exKeys.splice(expandedIndex, 1);\n return exKeys;\n }\n if (expand && expandedKeys.indexOf(key) === -1) {\n return expandedKeys.concat([key]);\n }\n }\n\n filterTreeNode(treeNode) {\n const filterTreeNode = this.props.filterTreeNode;\n if (typeof filterTreeNode !== 'function' || treeNode.props.disabled) {\n return false;\n }\n return filterTreeNode.call(this, treeNode);\n }\n\n renderTreeNode(child, index, level = 0) {\n const pos = `${level}-${index}`;\n const key = child.key || pos;\n \n const state = this.state;\n const props = this.props;\n const {selectedKeys=[]} = this.state;\n let tabIndexKey = selectedKeys[0]\n if(tabIndexKey && key == tabIndexKey){\n this.selectKeyDomExist = true;\n this.selectKeyDomPos = pos;\n }\n // prefer to child's own selectable property if passed\n let selectable = props.selectable;\n if (child.props.hasOwnProperty('selectable')) {\n selectable = child.props.selectable;\n }\n let draggable = props.draggable;\n if(child.props.hasOwnProperty('draggable')){\n draggable = child.props.draggable;\n }\n \n const cloneProps = {\n ref: `treeNode-${key}`,\n root: this,\n eventKey: key,\n pos,\n selectable,\n loadData: props.loadData,\n onMouseEnter: props.onMouseEnter,\n onMouseLeave: props.onMouseLeave,\n onRightClick: props.onRightClick,\n onDoubleClick:props.onDoubleClick,\n onKeyDown:props.onKeyDown,\n prefixCls: props.prefixCls,\n showLine: props.showLine,\n showIcon: props.showIcon,\n draggable,\n dragOver: state.dragOverNodeKey === key && this.dropPosition === 0,\n dragOverGapTop: state.dragOverNodeKey === key && this.dropPosition === -1,\n dragOverGapBottom: state.dragOverNodeKey === key && this.dropPosition === 1,\n _dropTrigger: this._dropTrigger,\n expanded: state.expandedKeys.indexOf(key) !== -1,\n selected: state.selectedKeys.indexOf(key) !== -1,\n openTransitionName: this.getOpenTransitionName(),\n openAnimation: props.openAnimation,\n filterTreeNode: this.filterTreeNode.bind(this),\n openIcon: props.openIcon,\n closeIcon: props.closeIcon,\n focusable:props.focusable,\n tabIndexKey: state.selectedKeys[0],\n tabIndexValue:props.tabIndexValue\n };\n if (props.checkable) {\n cloneProps.checkable = props.checkable;\n if (props.checkStrictly) {\n if (state.checkedKeys) {\n cloneProps.checked = state.checkedKeys.indexOf(key) !== -1 || false;\n }\n if (props.checkedKeys && props.checkedKeys.halfChecked) {\n cloneProps.halfChecked = props.checkedKeys.halfChecked.indexOf(key) !== -1 || false;\n } else {\n cloneProps.halfChecked = false;\n }\n } else {\n if (this.checkedKeys) {\n cloneProps.checked = this.checkedKeys.indexOf(key) !== -1 || false;\n }\n cloneProps.halfChecked = this.halfCheckedKeys.indexOf(key) !== -1;\n }\n }\n if (this.treeNodesStates && this.treeNodesStates[pos]) {\n Object.assign(cloneProps, this.treeNodesStates[pos].siblingPosition);\n }\n return React.cloneElement(child, cloneProps);\n }\n\n render() {\n const props = this.props;\n let showLineCls = \"\";\n if (props.showLine) {\n showLineCls = `${props.prefixCls}-show-line`;\n }\n const domProps = {\n className: classNames(props.className, props.prefixCls, showLineCls),\n role: 'tree-node',\n };\n\n // if (props.focusable) {\n // // domProps.tabIndex = '0';//需求改成了默认选择第一个节点或者选中的节点\n // // domProps.onKeyDown = this.onKeyDown;//添加到具体的treeNode上了\n // }\n const getTreeNodesStates = () => {\n this.treeNodesStates = {};\n loopAllChildren(props.children, (item, index, pos, keyOrPos, siblingPosition) => {\n this.treeNodesStates[pos] = {\n siblingPosition,\n };\n });\n };\n if (props.showLine && !props.checkable ) {\n getTreeNodesStates();\n }\n if (props.checkable && (this.checkedKeysChange || props.loadData || this.dataChange)) {\n if (props.checkStrictly) {\n getTreeNodesStates();\n } else if (props._treeNodesStates) {\n this.treeNodesStates = props._treeNodesStates.treeNodesStates;\n this.halfCheckedKeys = props._treeNodesStates.halfCheckedKeys;\n this.checkedKeys = props._treeNodesStates.checkedKeys;\n } else {\n const checkedKeys = this.state.checkedKeys;\n let checkKeys;\n if (!props.loadData && this.checkKeys && this._checkedKeys &&\n arraysEqual(this._checkedKeys, checkedKeys)) {\n // if checkedKeys the same as _checkedKeys from onCheck, use _checkedKeys.\n checkKeys = this.checkKeys;\n } else {\n const checkedPositions = [];\n this.treeNodesStates = {};\n loopAllChildren(props.children, (item, index, pos, keyOrPos, siblingPosition) => {\n this.treeNodesStates[pos] = {\n node: item,\n key: keyOrPos,\n checked: false,\n halfChecked: false,\n siblingPosition,\n };\n if (checkedKeys.indexOf(keyOrPos) !== -1) {\n this.treeNodesStates[pos].checked = true;\n checkedPositions.push(pos);\n }\n });\n // if the parent node's key exists, it all children node will be checked\n handleCheckState(this.treeNodesStates, filterParentPosition(checkedPositions), true);\n checkKeys = getCheck(this.treeNodesStates);\n }\n this.halfCheckedKeys = checkKeys.halfCheckedKeys;\n this.checkedKeys = checkKeys.checkedKeys;\n }\n }\n this.selectKeyDomExist = false;\n return (\n <ul {...domProps} unselectable=\"true\" ref=\"tree\" onFocus = {this.onUlFocus} tabIndex={props.focusable && props.tabIndexValue} onMouseDown={this.onUlMouseDown}>\n {React.Children.map(props.children, this.renderTreeNode, this)}\n </ul>\n );\n }\n}\n\nTree.propTypes = {\n prefixCls: PropTypes.string,\n children: PropTypes.any,\n showLine: PropTypes.bool,\n showIcon: PropTypes.bool,\n selectable: PropTypes.bool,\n multiple: PropTypes.bool,\n checkable: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.node,\n ]),\n _treeNodesStates: PropTypes.object,\n checkStrictly: PropTypes.bool,\n draggable: PropTypes.bool,\n autoExpandParent: PropTypes.bool,\n defaultExpandAll: PropTypes.bool,\n defaultExpandedKeys: PropTypes.arrayOf(PropTypes.string),\n expandedKeys: PropTypes.arrayOf(PropTypes.string),\n defaultCheckedKeys: PropTypes.arrayOf(PropTypes.string),\n checkedKeys: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.string),\n PropTypes.object,\n ]),\n defaultSelectedKeys: PropTypes.arrayOf(PropTypes.string),\n selectedKeys: PropTypes.arrayOf(PropTypes.string),\n onExpand: PropTypes.func,\n onCheck: PropTypes.func,\n onSelect: PropTypes.func,\n loadData: PropTypes.func,\n onMouseEnter: PropTypes.func,\n onMouseLeave: PropTypes.func,\n onRightClick: PropTypes.func,\n onDragStart: PropTypes.func,\n onDragEnter: PropTypes.func,\n onDragOver: PropTypes.func,\n onDragLeave: PropTypes.func,\n onDrop: PropTypes.func,\n onDragEnd: PropTypes.func,\n filterTreeNode: PropTypes.func,\n openTransitionName: PropTypes.string,\n focusable: PropTypes.bool,\n openAnimation: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n};\n\nTree.defaultProps = {\n prefixCls: 'rc-tree',\n showLine: false,\n showIcon: true,\n selectable: true,\n multiple: false,\n checkable: false,\n checkStrictly: false,\n draggable: false,\n autoExpandParent: true,\n defaultExpandAll: false,\n defaultExpandedKeys: [],\n defaultCheckedKeys: [],\n defaultSelectedKeys: [],\n onExpand: noop,\n onCheck: noop,\n onSelect: noop,\n onDragStart: noop,\n onDragEnter: noop,\n onDragOver: noop,\n onDragLeave: noop,\n onDrop: noop,\n onDragEnd: noop,\n onDoubleClick:noop,\n tabIndexValue:0\n};\n\nexport default Tree;\n\n\n// WEBPACK FOOTER //\n// ./src/Tree.js","/* eslint no-loop-func: 0*/\n\nimport React from 'react';\n\nexport function browser(navigator) {\n let tem;\n const ua = navigator.userAgent;\n let M = ua.match(/(opera|chrome|safari|firefox|msie|trident(?=\\/))\\/?\\s*(\\d+)/i) || [];\n if (/trident/i.test(M[1])) {\n tem = /\\brv[ :]+(\\d+)/g.exec(ua) || [];\n return `IE ${tem[1] || ''}`;\n }\n if (M[1] === 'Chrome') {\n tem = ua.match(/\\b(OPR|Edge)\\/(\\d+)/);\n if (tem) return tem.slice(1).join(' ').replace('OPR', 'Opera');\n }\n M = M[2] ? [M[1], M[2]] : [navigator.appName, navigator.appVersion, '-?'];\n tem = ua.match(/version\\/(\\d+)/i);\n if (tem) {\n M.splice(1, 1, tem[1]);\n }\n return M.join(' ');\n}\n\n// export function getOffset(el) {\n// const obj = el.getBoundingClientRect();\n// return {\n// left: obj.left + document.body.scrollLeft,\n// top: obj.top + document.body.scrollTop,\n// width: obj.width,\n// height: obj.height\n// };\n// }\n\n// // iscroll offset\n// offset = function (el) {\n// var left = -el.offsetLeft,\n// top = -el.offsetTop;\n\n// // jshint -W084\n// while (el = el.offsetParent) {\n// left -= el.offsetLeft;\n// top -= el.offsetTop;\n// }\n// // jshint +W084\n\n// return {\n// left: left,\n// top: top\n// };\n// }\n\n/* eslint-disable */\nexport function getOffset(ele) {\n let doc, win, docElem, rect;\n\n if (!ele.getClientRects().length) {\n return { top: 0, left: 0 };\n }\n\n rect = ele.getBoundingClientRect();\n\n if (rect.width || rect.height) {\n doc = ele.ownerDocument;\n win = doc.defaultView;\n docElem = doc.documentElement;\n\n return {\n top: rect.top + win.pageYOffset - docElem.clientTop,\n left: rect.left + win.pageXOffset - docElem.clientLeft\n };\n }\n\n return rect;\n}\n/* eslint-enable */\n\nfunction getChildrenlength(children) {\n let len = 1;\n if (Array.isArray(children)) {\n len = children.length;\n }\n return len;\n}\n\nfunction getSiblingPosition(index, len, siblingPosition) {\n if (len === 1) {\n siblingPosition.first = true;\n siblingPosition.last = true;\n } else {\n siblingPosition.first = index === 0;\n siblingPosition.last = index === len - 1;\n }\n return siblingPosition;\n}\n\nexport function loopAllChildren(childs, callback, parent) {\n const loop = (children, level, _parent) => {\n const len = getChildrenlength(children);\n React.Children.forEach(children, (item, index) => {\n const pos = `${level}-${index}`;\n if (item.props.children && item.type && item.type.isTreeNode) {\n loop(item.props.children, pos, { node: item, pos });\n }\n callback(item, index, pos, item.key || pos, getSiblingPosition(index, len, {}), _parent);\n });\n };\n loop(childs, 0, parent);\n}\n\nexport function isInclude(smallArray, bigArray) {\n return smallArray.every((ii, i) => {\n return ii === bigArray[i];\n });\n}\n// console.log(isInclude(['0', '1'], ['0', '10', '1']));\n\n\n// arr.length === 628, use time: ~20ms\nexport function filterParentPosition(arr) {\n const levelObj = {};\n arr.forEach((item) => {\n const posLen = item.split('-').length;\n if (!levelObj[posLen]) {\n levelObj[posLen] = [];\n }\n levelObj[posLen].push(item);\n });\n const levelArr = Object.keys(levelObj).sort();\n for (let i = 0; i < levelArr.length; i++) {\n if (levelArr[i + 1]) {\n levelObj[levelArr[i]].forEach(ii => {\n for (let j = i + 1; j < levelArr.length; j++) {\n levelObj[levelArr[j]].forEach((_i, index) => {\n if (isInclude(ii.split('-'), _i.split('-'))) {\n levelObj[levelArr[j]][index] = null;\n }\n });\n levelObj[levelArr[j]] = levelObj[levelArr[j]].filter(p => p);\n }\n });\n }\n }\n let nArr = [];\n levelArr.forEach(i => {\n nArr = nArr.concat(levelObj[i]);\n });\n return nArr;\n}\n// console.log(filterParentPosition(\n// ['0-2', '0-3-3', '0-10', '0-10-0', '0-0-1', '0-0', '0-1-1', '0-1']\n// ));\n\n\nfunction stripTail(str) {\n const arr = str.match(/(.+)(-[^-]+)$/);\n let st = '';\n if (arr && arr.length === 3) {\n st = arr[1];\n }\n return st;\n}\nfunction splitPosition(pos) {\n return pos.split('-');\n}\n\nexport function handleCheckState(obj, checkedPositionArr, checkIt) {\n // console.log(stripTail('0-101-000'));\n let objKeys = Object.keys(obj);\n // let s = Date.now();\n objKeys.forEach((i, index) => {\n const iArr = splitPosition(i);\n let saved = false;\n checkedPositionArr.forEach((_pos) => {\n // 设置子节点,全选或全不选\n const _posArr = splitPosition(_pos);\n if (iArr.length > _posArr.length && isInclude(_posArr, iArr)) {\n obj[i].halfChecked = false;\n obj[i].checked = checkIt;\n objKeys[index] = null;\n }\n if (iArr[0] === _posArr[0] && iArr[1] === _posArr[1]) {\n // 如果\n saved = true;\n }\n });\n if (!saved) {\n objKeys[index] = null;\n }\n });\n // TODO: 循环 2470000 次耗时约 1400 ms。 性能瓶颈!\n // console.log(Date.now()-s, checkedPositionArr.length * objKeys.length);\n objKeys = objKeys.filter(i => i); // filter non null;\n\n for (let pIndex = 0; pIndex < checkedPositionArr.length; pIndex++) {\n // 循环设置父节点的 选中 或 半选状态\n const loop = (__pos) => {\n const _posLen = splitPosition(__pos).length;\n if (_posLen <= 2) { // e.g. '0-0', '0-1'\n return;\n }\n let sibling = 0;\n let siblingChecked = 0;\n const parentPosition = stripTail(__pos);\n objKeys.forEach((i /* , index*/) => {\n const iArr = splitPosition(i);\n if (iArr.length === _posLen && isInclude(splitPosition(parentPosition), iArr)) {\n sibling++;\n if (obj[i].checked) {\n siblingChecked++;\n const _i = checkedPositionArr.indexOf(i);\n if (_i > -1) {\n checkedPositionArr.splice(_i, 1);\n if (_i <= pIndex) {\n pIndex--;\n }\n }\n } else if (obj[i].halfChecked) {\n siblingChecked += 0.5;\n }\n // objKeys[index] = null;\n }\n });\n // objKeys = objKeys.filter(i => i); // filter non null;\n const parent = obj[parentPosition];\n // sibling 不会等于0\n // 全不选 - 全选 - 半选\n if (siblingChecked === 0) {\n parent.checked = false;\n parent.halfChecked = false;\n } else if (siblingChecked === sibling) {\n parent.checked = true;\n parent.halfChecked = false;\n } else {\n parent.halfChecked = true;\n parent.checked = false;\n }\n loop(parentPosition);\n };\n loop(checkedPositionArr[pIndex], pIndex);\n }\n // console.log(Date.now()-s, objKeys.length, checkIt);\n}\n\nexport function getCheck(treeNodesStates) {\n const halfCheckedKeys = [];\n const checkedKeys = [];\n const checkedNodes = [];\n const checkedNodesPositions = [];\n Object.keys(treeNodesStates).forEach((item) => {\n const itemObj = treeNodesStates[item];\n if (itemObj.checked) {\n checkedKeys.push(itemObj.key);\n checkedNodes.push(itemObj.node);\n checkedNodesPositions.push({ node: itemObj.node, pos: item });\n } else if (itemObj.halfChecked) {\n halfCheckedKeys.push(itemObj.key);\n }\n });\n return {\n halfCheckedKeys, checkedKeys, checkedNodes, checkedNodesPositions, treeNodesStates,\n };\n}\n\nexport function getStrictlyValue(checkedKeys, halfChecked) {\n if (halfChecked) {\n return { checked: checkedKeys, halfChecked };\n }\n return checkedKeys;\n}\n\nexport function arraysEqual(a, b) {\n if (a === b) return true;\n if (a === null || typeof a === 'undefined' || b === null || typeof b === 'undefined') {\n return false;\n }\n if (a.length !== b.length) return false;\n\n // If you don't care about the order of the elements inside\n // the array, you should sort both arrays here.\n\n for (let i = 0; i < a.length; ++i) {\n if (a[i] !== b[i]) return false;\n }\n return true;\n}\n\n\nexport function closest(el, selector) {\n const matchesSelector = el.matches || el.webkitMatchesSelector || el.mozMatchesSelector || el.msMatchesSelector;\n\n while (el) {\n if (matchesSelector.call(el, selector)) {\n return el;\n } else {\n el = el.parentElement;\n }\n }\n return null;\n}\n\nexport function isTreeNode(node) {\n return node && node.type && node.type.isTreeNode;\n}\n\nexport function toArray(children) {\n const ret = [];\n React.Children.forEach(children, (c) => {\n ret.push(c);\n });\n return ret;\n}\n\nexport function getNodeChildren(children) {\n return toArray(children).filter(isTreeNode);\n}\n\nlet onlyTreeNodeWarned = false;\n\nexport function warnOnlyTreeNode() {\n if (onlyTreeNodeWarned) return;\n onlyTreeNodeWarned = true;\n console.warn('Tree only accept TreeNode as children.');\n}\n\n\n\n\n// WEBPACK FOOTER //\n// ./src/util.js","import React from 'react';\nimport ReactDOM from 'react-dom'\nimport classNames from 'classnames';\nimport Animate from 'bee-animate';\nimport {\n browser,\n getNodeChildren,\n toArray,\n warnOnlyTreeNode\n} from './util';\nimport PropTypes from 'prop-types';\nimport { KeyCode } from 'tinper-bee-core';\nconst browserUa = typeof window !== 'undefined' ? browser(window.navigator) : '';\nconst ieOrEdge = /.*(IE|Edge).+/.test(browserUa);\n// const uaArray = browserUa.split(' ');\n// const gtIE8 = uaArray.length !== 2 || uaArray[0].indexOf('IE') === -1 || Number(uaArray[1]) > 8;\n\nconst defaultTitle = '---';\n\nclass TreeNode extends React.Component {\n constructor(props) {\n super(props);\n [\n 'onExpand',\n 'onCheck',\n 'onContextMenu',\n 'onMouseEnter',\n 'onMouseLeave',\n 'onDragStart',\n 'onDragEnter',\n 'onDragOver',\n 'onDragLeave',\n 'onDrop',\n 'onDragEnd',\n 'onDoubleClick',\n 'onKeyDown'\n ].forEach((m) => {\n this[m] = this[m].bind(this);\n });\n this.state = {\n dataLoading: false,\n dragNodeHighlight: false,\n };\n }\n\n componentDidMount() {\n if (!this.props.root._treeNodeInstances) {\n this.props.root._treeNodeInstances = [];\n }\n this.props.root._treeNodeInstances.push(this);\n }\n // shouldComponentUpdate(nextProps) {\n // if (!nextProps.expanded) {\n // return false;\n // }\n // return true;\n // }\n\n onCheck() {\n\n this.props.root.onCheck(this);\n }\n\n onSelect() {\n clearTimeout(this.doubleClickFlag);\n let _this = this;\n if(this.props.onDoubleClick){\n //执行延时\n this.doubleClickFlag = setTimeout(function(){\n //do function在此处写单击事件要执行的代码\n _this.props.root.onSelect(_this);\n },300);\n }else{\n _this.props.root.onSelect(_this);\n }\n \n \n }\n\n \n onDoubleClick() {\n clearTimeout(this.doubleClickFlag);\n this.props.root.onDoubleClick(this);\n }\n\n onMouseEnter(e) {\n e.preventDefault();\n this.props.root.onMouseEnter(e, this);\n }\n\n onMouseLeave(e) {\n e.preventDefault();\n this.props.root.onMouseLeave(e, this);\n }\n\n onContextMenu(e) {\n e.preventDefault();\n this.props.root.onContextMenu(e, this);\n }\n\n onDragStart(e) {\n // console.log('dragstart', this.props.eventKey, e);\n // e.preventDefault();\n e.stopPropagation();\n this.setState({\n dragNodeHighlight: true,\n });\n this.props.root.onDragStart(e, this);\n try {\n // ie throw error\n // firefox-need-it\n e.dataTransfer.setData('text/plain', '');\n } finally {\n // empty\n }\n }\n\n onDragEnter(e) {\n e.preventDefault();\n e.stopPropagation();\n this.props.root.onDragEnter(e, this);\n }\n\n onDragOver(e) {\n // todo disabled\n e.preventDefault();\n e.stopPropagation();\n this.props.root.onDragOver(e, this);\n return false;\n }\n\n onDragLeave(e) {\n e.stopPropagation();\n this.props.root.onDragLeave(e, this);\n }\n\n onDrop(e) {\n e.preventDefault();\n e.stopPropagation();\n this.setState({\n dragNodeHighlight: false,\n });\n this.props.root.onDrop(e, this);\n }\n\n onDragEnd(e) {\n e.stopPropagation();\n this.setState({\n dragNodeHighlight: false,\n });\n this.props.root.onDragEnd(e, this);\n }\n\n onExpand() {\n const callbackPromise = this.props.root.onExpand(this);\n if (callbackPromise && typeof callbackPromise === 'object') {\n const setLoading = (dataLoading) => {\n this.setState({\n dataLoading\n });\n };\n setLoading(true);\n callbackPromise.then(() => {\n setLoading(false);\n }, () => {\n setLoading(false);\n });\n }\n }\n\n // keyboard event support\n onKeyDown(e) {\n this.props.root.onKeyDown(e,this);\n if(e.keyCode == KeyCode.SPACE || e.keyCode == KeyCode.DOWN || e.keyCode == KeyCode.LEFT || e.keyCode == KeyCode.RIGHT ||e.keyCode == KeyCode.UP){\n e.preventDefault();\n }\n \n }\n\n renderSwitcher(props, expandedState) {\n let stateIcon;\n const prefixCls = props.prefixCls;\n const switcherCls = {\n [`${prefixCls}-switcher`]: true\n };\n if (!props.showLine) {\n switcherCls[`${prefixCls}-noline_${expandedState}`] = true;\n } else if (props.pos === '0-0') {\n switcherCls[`${prefixCls}-roots_${expandedState}`] = true;\n } else {\n switcherCls[`${prefixCls}-center_${expandedState}`] = !props.last;\n switcherCls[`${prefixCls}-bottom_${expandedState}`] = props.last;\n }\n\n if (expandedState === 'open' && props.openIcon) {\n stateIcon = props.openIcon;\n switcherCls['icon-none'] = true;\n }\n if (expandedState === 'close' && props.closeIcon) {\n stateIcon = props.closeIcon;\n switcherCls['icon-none'] = true;\n }\n //switcherCls[stateIcon] = stateIcon;\n props.switcherClass?switcherCls[`${props.switcherClass}`]=true:'';\n if (props.disabled) {\n switcherCls[`${prefixCls}-switcher-disabled`] = true;\n return <span className={classNames(switcherCls)} style={props.switcherStyle}>{stateIcon}</span>;\n }\n return <span className={classNames(switcherCls)} style={props.switcherStyle} onClick={this.onExpand}>{stateIcon}</span>;\n }\n\n renderCheckbox(props) {\n const prefixCls = props.prefixCls;\n const checkboxCls = {\n [`${prefixCls}-checkbox`]: true,\n };\n if (props.checked) {\n checkboxCls[`${prefixCls}-checkbox-checked`] = true;\n } else if (props.halfChecked) {\n checkboxCls[`${prefixCls}-checkbox-indeterminate`] = true;\n }\n let customEle = null;\n if (typeof props.checkable !== 'boolean') {\n customEle = props.checkable;\n }\n if (props.disabled || props.disableCheckbox) {\n checkboxCls[`${prefixCls}-checkbox-disabled`] = true;\n return <span ref=\"checkbox\" className={classNames(checkboxCls)}>{customEle}</span>;\n }\n return (\n <span ref=\"checkbox\"\n className={classNames(checkboxCls) }\n onClick={this.onCheck}\n >{customEle}</span>);\n }\n\n renderChildren(props) {\n const renderFirst = this.renderFirst;\n this.renderFirst = 1;\n let transitionAppear = true;\n if (!renderFirst && props.expanded) {\n transitionAppear = false;\n }\n const children = props.children;\n let newChildren = children;\n // 确定所有子节点是否是TreeNode\n let allTreeNode = false;\n if (Array.isArray(children)) {\n for( let index = 0; index < children.length; index++ ){\n let item = children[index];\n allTreeNode = item.type.isTreeNode == 1;\n if( !allTreeNode ){\n //当检查到子节点中有不是 TreeNode 的,则直接结束检查。同时不会渲染所有子节点\n break;\n }\n }\n \n }else if(children && children.type && children.type.isTreeNode == 1){\n allTreeNode = true;\n }\n // 如果props.children的长度大于0才可以生成子对象\n if (allTreeNode && React.Children.count(children) ){\n const cls = {\n [`${props.prefixCls}-child-tree`]: true,\n [`${props.prefixCls}-child-tree-open`]: props.expanded,\n };\n if (props.showLine) {\n cls[`${props.prefixCls}-line`] = !props.last;\n }\n const animProps = {};\n if (props.openTransitionName) {\n animProps.transitionName = props.openTransitionName;\n } else if (typeof props.openAnimation === 'object') {\n animProps.animation = Object.assign({}, props.openAnimation);\n if (!transitionAppear) {\n delete animProps.animation.appear;\n }\n }\n newChildren = (\n <Animate {...animProps}\n showProp=\"data-expanded\"\n transitionAppear={transitionAppear}\n component=\"\"\n >\n {!props.expanded ? null : <ul className={classNames(cls)} data-expanded={props.expanded}>\n {React.Children.map(children, (item, index) => {\n return props.root.renderTreeNode(item, index, props.pos);\n }, props.root)}\n </ul>}\n </Animate>\n );\n }\n return newChildren;\n }\n\n getNodeChildren = () => {\n const { children } = this.props;\n const originList = toArray(children).filter(node => node);\n const targetList = getNodeChildren(originList);\n\n if (originList.length !== targetList.length) {\n warnOnlyTreeNode();\n }\n\n return targetList;\n };\n /**\n *判断是否为叶子节点isLeaf的优先级>props.children。如果是异步加载是根据isLeaf的值进行判断的\n *\n * @returns\n * @memberof TreeNode\n */\n checkIsLeaf(){\n const { isLeaf, loadData } = this.props;\n\n const hasChildren = this.getNodeChildren().length !== 0;\n\n if (isLeaf === false) {\n return false;\n }\n\n return (\n isLeaf || (!loadData && !hasChildren) \n );\n }\n onFocus(e){\n e.stopPropagation();\n }\n render() {\n const props = this.props;\n const prefixCls = props.prefixCls;\n const expandedState = props.expanded ? 'open' : 'close';\n let iconState = expandedState;\n\n let canRenderSwitcher = true;\n const content = props.title;\n let newChildren = this.renderChildren(props);\n let openIconCls = false,\n closeIconCls = false;\n\n //以下变量控制是否鼠标单机双击方法中的变量\n let timer = 0;\n let delay = 500;\n let prevent = false;\n\n // if (!newChildren || newChildren === props.children) {\n // // content = newChildren;\n // newChildren = null;\n // if (!props.loadData || props.isLeaf) {\n // canRenderSwitcher = false;\n // iconState = 'docu';\n // }\n // }\n if(this.checkIsLeaf()){\n canRenderSwitcher = false;\n iconState = 'docu';\n }\n // For performance, does't render children into dom when `!props.expanded` (move to Animate)\n // if (!props.expanded) {\n // newChildren = null;\n // }\n\n const iconEleCls = {\n [`${prefixCls}-iconEle`]: true,\n [`${prefixCls}-icon_loading`]: this.state.dataLoading,\n [`${prefixCls}-icon__${iconState}`]: true\n };\n const selectHandle = () => {\n const titleClass=props.titleClass?prefixCls+'-title'+' '+props.className:prefixCls+'-title';\n // const icon = (props.showIcon || props.loadData && this.state.dataLoading) ?\n // <span className={classNames(iconEleCls)}></span> : null;\n let icon;\n if(props.showIcon && props.icon){\n icon = <span\n className={classNames(\n `${prefixCls}-iconEle`,\n `${prefixCls}-icon__customize`,\n )}\n >\n {typeof currentIcon === 'function' ?\n React.createElement(props.icon, {\n ...this.props,\n }) : props.icon}\n </span>\n }else if(props.showIcon || props.loadData && this.state.dataLoading){\n icon = <span className={classNames(iconEleCls)}></span>\n }\n const title = <span className={titleClass} style={props.titleStyle} >{content}</span>;\n const wrap = `${prefixCls}-node-content-wrapper`;\n const domProps = {\n className: `${wrap} ${wrap}-${iconState === expandedState ? iconState : 'normal'}`,\n };\n if (!props.disabled) {\n if (props.selected || !props._dropTrigger && this.state.dragNodeHighlight) {\n domProps.className += ` ${prefixCls}-node-selected`;\n }\n domProps.onClick = (e) => {\n var _this = this;\n e.preventDefault();\n if (props.selectable) {\n _this.onSelect();\n }\n\n // not fire check event\n // if (props.checkable) {\n // this.onCheck();\n // }\n };\n\n if(props.onDoubleClick){\n domProps.onDoubleClick = this.onDoubleClick;\n }\n\n if (props.onRightClick) {\n domProps.onContextMenu = this.onContextMenu;\n }\n if (props.onMouseEnter) {\n domProps.onMouseEnter = this.onMouseEnter;\n }\n if (props.onMouseLeave) {\n domProps.onMouseLeave = this.onMouseLeave;\n }\n \n\n if (props.draggable) {\n domProps.className += ' draggable';\n if (ieOrEdge) {\n // ie bug!\n domProps.href = '#';\n }\n domProps.draggable = true;\n domProps['aria-grabbed'] = true;\n domProps.onDragStart = this.onDragStart;\n }\n }\n //设置tabIndex\n if(props.focusable){\n domProps.onKeyDown = this.onKeyDown;\n domProps.tabIndex = -1;\n if(props.tabIndexKey){\n if(props.eventKey == props.tabIndexKey){\n domProps.tabIndex = props.tabIndexValue;\n }\n }else if(props.pos == '0-0'){\n domProps.tabIndex = props.tabIndexValue;\n }\n }\n \n\n \n return (\n <a ref=\"selectHandle\" pos={props.pos} title={typeof content === 'string' ? content : ''} {...domProps}>\n {icon}{title}\n </a>\n );\n };\n\n const liProps = {};\n if (props.draggable) {\n liProps.onDragEnter = this.onDragEnter;\n liProps.onDragOver = this.onDragOver;\n liProps.onDragLeave = this.onDragLeave;\n liProps.onDrop = this.onDrop;\n liProps.onDragEnd = this.onDragEnd;\n }\n liProps.onFocus = this.onFocus;\n let disabledCls = '';\n let dragOverCls = '';\n if (props.disabled) {\n disabledCls = `${prefixCls}-treenode-disabled`;\n } else if (props.dragOver) {\n dragOverCls = 'drag-over';\n } else if (props.dragOverGapTop) {\n dragOverCls = 'drag-over-gap-top';\n } else if (props.dragOverGapBottom) {\n dragOverCls = 'drag-over-gap-bottom';\n }\n\n const filterCls = props.filterTreeNode(this) ? 'filter-node' : '';\n\n const noopSwitcher = () => {\n const cls = {\n [`${prefixCls}-switcher`]: true,\n [`${prefixCls}-switcher-noop`]: true,\n };\n if (props.showLine) {\n // console.log('line---------');\n cls[`${prefixCls}-center_docu`] = !props.last;\n cls[`${prefixCls}-bottom_docu`] = props.last;\n } else {\n cls[`${prefixCls}-noline_docu`] = true;\n }\n return <span className={classNames(cls)}></span>;\n };\n const selectedCls = props.selected?`${prefixCls}-treenode-selected`:'';\n return (\n <li {...liProps} ref=\"li\" style={props.style}\n className={classNames(props.className, disabledCls, dragOverCls, filterCls,selectedCls) }\n >\n {canRenderSwitcher ? this.renderSwitcher(props, expandedState) : noopSwitcher()}\n {props.checkable ? this.renderCheckbox(props) : null}\n {selectHandle()}\n {newChildren}\n </li>\n );\n }\n}\n\nTreeNode.isTreeNode = 1;\n\nTreeNode.propTypes = {\n prefixCls: PropTypes.string,\n disabled: PropTypes.bool,\n disableCheckbox: PropTypes.bool,\n expanded: PropTypes.bool,\n isLeaf: PropTypes.bool,\n root: PropTypes.object,\n onSelect: PropTypes.func,\n openIcon: PropTypes.element,\n closeIcon: PropTypes.element,\n style: PropTypes.object,\n className: PropTypes.string,\n titleClass:PropTypes.string,\n titleStyle:PropTypes.object,\n switcherClass:PropTypes.string,\n switcherStyle:PropTypes.object\n};\n\nTreeNode.defaultProps = {\n title: defaultTitle,\n tabIndexValue:0\n};\n\nexport default TreeNode;\n\n\n// WEBPACK FOOTER //\n// ./src/TreeNode.js","import { cssAnimation } from 'tinper-bee-core';\n\nfunction animate(node, show, done) {\n let height;\n return cssAnimation(node, 'u-motion-collapse', {\n start() {\n if (!show) {\n node.style.height = `${node.offsetHeight}px`;\n } else {\n height = node.offsetHeight;\n node.style.height = 0;\n }\n },\n active() {\n node.style.height = `${show ? height : 0}px`;\n },\n end() {\n node.style.height = '';\n done();\n },\n });\n}\n\nconst animation = {\n enter(node, done) {\n return animate(node, true, done);\n },\n leave(node, done) {\n return animate(node, false, done);\n },\n appear(node, done) {\n return animate(node, true, done);\n },\n};\n\nexport default animation;\n\n\n\n// WEBPACK FOOTER //\n// ./src/openAnimation.js","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _Icon = require('./Icon');\n\nvar _Icon2 = _interopRequireDefault(_Icon);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nexports[\"default\"] = _Icon2[\"default\"];\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-icon/build/index.js\n// module id = 90\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }\n\nvar propTypes = {\n\ttype: _propTypes2[\"default\"].string\n\n};\n/**\n * badge 默认显示内容1\n */\nvar defaultProps = {\n\tclsPrefix: 'uf'\n};\n\nvar Icon = function (_Component) {\n\t_inherits(Icon, _Component);\n\n\tfunction Icon(props) {\n\t\t_classCallCheck(this, Icon);\n\n\t\treturn _possibleConstructorReturn(this, _Component.call(this, props));\n\t}\n\n\tIcon.prototype.render = function render() {\n\t\tvar _props = this.props,\n\t\t type = _props.type,\n\t\t className = _props.className,\n\t\t clsPrefix = _props.clsPrefix,\n\t\t others = _objectWithoutProperties(_props, ['type', 'className', 'clsPrefix']);\n\n\t\tvar clsObj = {};\n\n\t\tvar classNames = (0, _classnames2[\"default\"])(clsPrefix, type);\n\n\t\treturn _react2[\"default\"].createElement('i', _extends({}, others, { className: (0, _classnames2[\"default\"])(classNames, className) }));\n\t};\n\n\treturn Icon;\n}(_react.Component);\n\nIcon.defaultProps = defaultProps;\nIcon.propTypes = propTypes;\n\nexports[\"default\"] = Icon;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-icon/build/Icon.js\n// module id = 91\n// module chunks = 0","/**\n*\n* @title Tree数据可控示例\n* @description\n* \b\n*/\n\nimport React, { Component } from 'react';\nimport Tree from '../../src';\n\nconst x = 6;\nconst y = 5;\nconst z = 2;\nconst gData = [];\n\nconst generateData = (_level, _preKey, _tns) => {\n const preKey = _preKey || '0';\n const tns = _tns || gData;\n\n const children = [];\n for (let i = 0; i < x; i++) {\n const key = `${preKey}-${i}`;\n tns.push({ title: key, key });\n if (i < y) {\n children.push(key);\n }\n }\n if (_level < 0) {\n return tns;\n }\n const level = _level - 1;\n children.forEach((key, index) => {\n tns[index].children = [];\n return generateData(level, key, tns[index].children);\n });\n};\ngenerateData(z);\n\nconst TreeNode = Tree.TreeNode;\n\n\nclass Demo2 extends Component{\n constructor(props) {\n \tsuper(props);\n this.state = {\n expandedKeys: [],\n autoExpandParent: true,\n checkedKeys: ['0-0-0'],\n selectedKeys: [],\n };\n this.onExpand = this.onExpand.bind(this);\n this.onCheck = this.onCheck.bind(this);\n this.onSelect = this.onSelect.bind(this);\n }\n onExpand(expandedKeys) {\n console.log('onExpand', arguments);\n // if not set autoExpandParent to false, if children expanded, parent can not collapse.\n // or, you can remove all expanded children keys.\n this.setState({\n expandedKeys,\n autoExpandParent: false,\n });\n }\n onCheck(checkedKeys) {\n this.setState({\n checkedKeys,\n selectedKeys: ['0-3', '0-4'],\n });\n }\n onSelect(selectedKeys, info) {\n console.log('onSelect', info);\n this.setState({ selectedKeys });\n }\n render() {\n const loop = data => data.map((item) => {\n if (item.children) {\n return (\n <TreeNode key={item.key} title={item.key} disableCheckbox={item.key === '0-0-0'}>\n {loop(item.children)}\n </TreeNode>\n );\n }\n return <TreeNode key={item.key} title={item.key} isLeaf={true}/>;\n });\n return (\n <Tree\n checkable\n focusable\n className={'demo2'}\n onExpand={this.onExpand} expandedKeys={this.state.expandedKeys}\n autoExpandParent={this.state.autoExpandParent}\n onCheck={this.onCheck} \n onSelect={this.onSelect} \n >\n {loop(gData)}\n </Tree>\n );\n }\n};\n\n\nexport default Demo2;\n\n\n// WEBPACK FOOTER //\n// ./demo/demolist/Demo2.js","/**\n*\n* @title Tree 拖拽使用示例\n* @description 拖动结点插入到另一个结点后面或者其他的父节点里面。\n*\n*/\n\n\n\nimport React, { Component } from 'react';\nimport Tree from '../../src';\n\nconst x = 3;\nconst y = 2;\nconst z = 1;\nconst gData = [];\n\nconst generateData = (_level, _preKey, _tns) => {\n const preKey = _preKey || '0';\n const tns = _tns || gData;\n\n const children = [];\n for (let i = 0; i < x; i++) {\n const key = `${preKey}-${i}`;\n tns.push({ title: key, key });\n if (i < y) {\n children.push(key);\n }\n }\n if (_level < 0) {\n return tns;\n }\n const level = _level - 1;\n children.forEach((key, index) => {\n tns[index].children = [];\n return generateData(level, key, tns[index].children);\n });\n};\ngenerateData(z);\n\nconst TreeNode = Tree.TreeNode;\n\nclass Demo3 extends Component{\n constructor(props) {\n super(props);\n this.state = {\n gData,\n expandedKeys: ['0-0', '0-0-0', '0-0-0-0'],\n };\n this.onDragEnter = this.onDragEnter.bind(this);\n this.onDrop = this.onDrop.bind(this);\n }\n onDragEnter(info) {\n console.log(info);\n // expandedKeys 需要受控时设置\n // this.setState({\n // expandedKeys: info.expandedKeys,\n // });\n }\n onDrop(info) {\n console.log(info);\n const dropKey = info.node.props.eventKey;\n const dragKey = info.dragNode.props.eventKey;\n // const dragNodesKeys = info.dragNodesKeys;\n const loop = (data, key, callback) => {\n data.forEach((item, index, arr) => {\n if (item.key === key) {\n return callback(item, index, arr);\n }\n if (item.children) {\n return loop(item.children, key, callback);\n }\n });\n };\n const data = [...this.state.gData];\n let dragObj;\n loop(data, dragKey, (item, index, arr) => {\n arr.splice(index, 1);\n dragObj = item;\n });\n if (info.dropToGap) {\n let ar;\n let i;\n loop(data, dropKey, (item, index, arr) => {\n ar = arr;\n i = index;\n });\n ar.splice(i, 0, dragObj);\n } else {\n loop(data, dropKey, (item) => {\n item.children = item.children || [];\n // where to insert 示例添加到尾部,可以是随意位置\n item.children.push(dragObj);\n });\n }\n this.setState({\n gData: data,\n });\n }\n render() {\n const loop = data => data.map((item) => {\n if (item.children && item.children.length) {\n return <TreeNode key={item.key} title={item.key}>{loop(item.children)}</TreeNode>;\n }\n return <TreeNode key={item.key} title={item.key} />;\n });\n return (\n <Tree\n defaultExpandedKeys={this.state.expandedKeys}\n draggable\n onDragEnter={this.onDragEnter}\n onDrop={this.onDrop}\n >\n {loop(this.state.gData)}\n </Tree>\n );\n }\n};\n\nexport default Demo3;\n\n\n// WEBPACK FOOTER //\n// ./demo/demolist/Demo3.js","/**\n *\n * @title Tree可搜索示例\n * @description\n *\n */\n\n\nimport React, {\n Component\n} from 'react';\nimport FormControl from 'bee-form-control';\nimport Tree from '../../src';\n\nconst x = 3;\nconst y = 2;\nconst z = 1;\nconst gData = [];\n\nconst generateData = (_level, _preKey, _tns) => {\n const preKey = _preKey || '0';\n const tns = _tns || gData;\n\n const children = [];\n for (let i = 0; i < x; i++) {\n const key = `${preKey}-${i}`;\n tns.push({\n title: key,\n key\n });\n if (i < y) {\n children.push(key);\n }\n }\n if (_level < 0) {\n return tns;\n }\n const level = _level - 1;\n children.forEach((key, index) => {\n tns[index].children = [];\n return generateData(level, key, tns[index].children);\n });\n};\ngenerateData(z);\n\nconst TreeNode = Tree.TreeNode;\n\nconst dataList = [];\nconst generateList = (data) => {\n for (let i = 0; i < data.length; i++) {\n const node = data[i];\n const key = node.key;\n dataList.push({\n key,\n title: key\n });\n if (node.children) {\n generateList(node.children, node.key);\n }\n }\n};\ngenerateList(gData);\n\nconst getParentKey = (key, tree) => {\n let parentKey;\n for (let i = 0; i < tree.length; i++) {\n const node = tree[i];\n if (node.children) {\n if (node.children.some(item => item.key === key)) {\n parentKey = node.key;\n } else if (getParentKey(key, node.children)) {\n parentKey = getParentKey(key, node.children);\n }\n }\n }\n return parentKey;\n};\n\n\nclass Demo4 extends Component {\n constructor(props) {\n super(props);\n this.state = {\n expandedKeys: [],\n searchValue: '',\n autoExpandParent: true,\n }\n }\n onExpand = (expandedKeys) => {\n this.setState({\n expandedKeys,\n autoExpandParent: false,\n });\n }\n onChange = (value) => {\n\n const expandedKeys = [];\n dataList.forEach((item) => {\n if (item.key.indexOf(value) > -1) {\n expandedKeys.push(getParentKey(item.key, gData));\n }\n });\n const uniqueExpandedKeys = [];\n expandedKeys.forEach((item) => {\n if (item && uniqueExpandedKeys.indexOf(item) === -1) {\n uniqueExpandedKeys.push(item);\n }\n });\n this.setState({\n expandedKeys: uniqueExpandedKeys,\n searchValue: value,\n autoExpandParent: true,\n });\n }\n render() {\n const {\n searchValue,\n expandedKeys,\n autoExpandParent\n } = this.state;\n const loop = data => data.map((item) => {\n const index = item.key.search(searchValue);\n const beforeStr = item.key.substr(0, index);\n const afterStr = item.key.substr(index + searchValue.length);\n const title = index > -1 ? (\n <span>\n {beforeStr}\n <span className=\"u-tree-searchable-filter\">{searchValue}</span>\n {afterStr}\n </span>\n ) : <span>{item.key}</span>;\n if (item.children) {\n return (\n <TreeNode key={item.key} title={title}>\n {loop(item.children)}\n </TreeNode>\n );\n }\n return <TreeNode key={item.key} title={title} />;\n });\n return (\n <div>\n <FormControl\n style={{ width: 200 }}\n placeholder=\"Search\"\n onChange={this.onChange}\n />\n <Tree\n onExpand={this.onExpand}\n expandedKeys={expandedKeys}\n autoExpandParent={autoExpandParent}\n >\n {loop(gData)}\n </Tree>\n </div>\n );\n }\n}\n\nexport default Demo4;\n\n\n// WEBPACK FOOTER //\n// ./demo/demolist/Demo4.js","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _FormControl = require('./FormControl');\n\nvar _FormControl2 = _interopRequireDefault(_FormControl);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nexports[\"default\"] = _FormControl2[\"default\"];\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-form-control/build/index.js\n// module id = 95\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _beeIcon = require('bee-icon');\n\nvar _beeIcon2 = _interopRequireDefault(_beeIcon);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }\n\nvar propTypes = {\n componentClass: _propTypes2[\"default\"].oneOfType([_propTypes2[\"default\"].element, _propTypes2[\"default\"].string]),\n type: _propTypes2[\"default\"].string,\n size: _propTypes2[\"default\"].oneOf(['sm', 'md', 'lg']),\n onSearch: _propTypes2[\"default\"].func,\n onChange: _propTypes2[\"default\"].func,\n onBlur: _propTypes2[\"default\"].func,\n showClose: _propTypes2[\"default\"].bool,\n focusSelect: _propTypes2[\"default\"].bool\n};\n\nvar defaultProps = {\n componentClass: 'input',\n clsPrefix: 'u-form-control',\n type: 'text',\n size: 'md'\n};\n\nvar FormControl = function (_React$Component) {\n _inherits(FormControl, _React$Component);\n\n function FormControl(props) {\n _classCallCheck(this, FormControl);\n\n var _this = _possibleConstructorReturn(this, _React$Component.call(this, props));\n\n _this.handleSearchChange = function (e) {\n var onChange = _this.props.onChange;\n\n var value = _this.input.value;\n _this.setState({\n value: value,\n showSearch: value == null || value === \"\"\n });\n if (onChange) {\n onChange(value, e);\n }\n };\n\n _this.handleChange = function (e) {\n var onChange = _this.props.onChange;\n\n var value = _this.input.value;\n _this.setState({\n showClose: true\n });\n if (onChange) {\n onChange(value, e);\n }\n };\n\n _this.clearValue = function () {\n var onChange = _this.props.onChange;\n\n _this.setState({\n showSearch: true,\n value: \"\",\n showClose: false\n });\n if (onChange) {\n onChange(\"\");\n }\n _this.input.focus();\n };\n\n _this.handleKeyDown = function (e) {\n var _this$props = _this.props,\n onSearch = _this$props.onSearch,\n type = _this$props.type;\n\n if (e.keyCode === 13 && type === \"search\") {\n if (onSearch) {\n onSearch(_this.input.value);\n }\n }\n };\n\n _this.handleSearch = function (e) {\n var onSearch = _this.props.onSearch;\n\n if (onSearch) onSearch(_this.input.value);\n };\n\n _this.handleBlur = function (e) {\n var value = _this.state.value;\n var onBlur = _this.props.onBlur;\n\n\n if (onBlur) {\n onBlur(value, e);\n }\n };\n\n _this.handleFocus = function (e) {\n var value = _this.state.value;\n var onFocus = _this.props.onFocus;\n\n if (_this.props.focusSelect) {\n _this.input.select();\n }\n if (onFocus) {\n onFocus(value, e);\n }\n };\n\n _this.renderInput = function () {\n var _this$props2 = _this.props,\n Component = _this$props2.componentClass,\n type = _this$props2.type,\n className = _this$props2.className,\n size = _this$props2.size,\n clsPrefix = _this$props2.clsPrefix,\n value = _this$props2.value,\n onChange = _this$props2.onChange,\n onSearch = _this$props2.onSearch,\n onBlur = _this$props2.onBlur,\n showClose = _this$props2.showClose,\n focusSelect = _this$props2.focusSelect,\n others = _objectWithoutProperties(_this$props2, ['componentClass', 'type', 'className', 'size', 'clsPrefix', 'value', 'onChange', 'onSearch', 'onBlur', 'showClose', 'focusSelect']);\n // input[type=\"file\"] 不应该有类名 .form-control.\n\n\n var classes = {};\n if (size) {\n classes['' + size] = true;\n }\n\n var classNames = void 0;\n if (type !== 'file') {\n classNames = (0, _classnames2[\"default\"])(clsPrefix, classes);\n }\n\n return showClose ? _react2[\"default\"].createElement(\n 'div',\n { className: (0, _classnames2[\"default\"])(clsPrefix + '-close', clsPrefix + '-affix-wrapper', className) },\n _react2[\"default\"].createElement(Component, _extends({}, others, {\n type: type,\n ref: function ref(el) {\n return _this.input = el;\n },\n value: value,\n onChange: _this.handleChange,\n onBlur: _this.handleBlur,\n onFocus: _this.handleFocus,\n className: (0, _classnames2[\"default\"])(className, classNames)\n })),\n _react2[\"default\"].createElement(\n 'div',\n { className: clsPrefix + '-suffix' },\n _this.state.showClose ? _react2[\"default\"].createElement(_beeIcon2[\"default\"], { onClick: _this.clearValue, type: 'uf-close-c' }) : ''\n )\n ) : _react2[\"default\"].createElement(Component, _extends({}, others, {\n type: type,\n ref: function ref(el) {\n return _this.input = el;\n },\n value: value,\n onChange: _this.handleChange,\n onBlur: _this.handleBlur,\n onFocus: _this.handleFocus,\n className: (0, _classnames2[\"default\"])(className, classNames)\n }));\n };\n\n _this.renderSearch = function () {\n var _this$props3 = _this.props,\n Component = _this$props3.componentClass,\n type = _this$props3.type,\n className = _this$props3.className,\n size = _this$props3.size,\n clsPrefix = _this$props3.clsPrefix,\n value = _this$props3.value,\n onChange = _this$props3.onChange,\n onSearch = _this$props3.onSearch,\n onBlur = _this$props3.onBlur,\n others = _objectWithoutProperties(_this$props3, ['componentClass', 'type', 'className', 'size', 'clsPrefix', 'value', 'onChange', 'onSearch', 'onBlur']);\n // input[type=\"file\"] 不应该有类名 .form-control.\n\n\n var classes = {};\n if (size) {\n classes['' + size] = true;\n }\n classes[clsPrefix + '-search'] = true;\n\n if (type === \"search\") {\n return _react2[\"default\"].createElement(\n 'div',\n { className: (0, _classnames2[\"default\"])(clsPrefix + '-search', clsPrefix + '-affix-wrapper', className) },\n _react2[\"default\"].createElement(Component, _extends({}, others, {\n type: type,\n ref: function ref(el) {\n return _this.input = el;\n },\n onChange: _this.handleSearchChange,\n value: value,\n onKeyDown: _this.handleKeyDown,\n onBlur: _this.handleBlur,\n onFocus: _this.handleFocus,\n className: (0, _classnames2[\"default\"])(className, clsPrefix, classes)\n })),\n _react2[\"default\"].createElement(\n 'div',\n { className: clsPrefix + '-suffix' },\n _react2[\"default\"].createElement(_beeIcon2[\"default\"], { type: 'uf-search', onClick: _this.handleSearch })\n )\n );\n }\n };\n\n _this.state = {\n showSearch: !props.value,\n value: props.value == null ? \"\" : props.value,\n showClose: false\n };\n _this.input = {};\n return _this;\n }\n\n FormControl.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProp) {\n if (nextProp.value !== this.state.value) {\n this.setState({ value: nextProp.value });\n }\n };\n\n FormControl.prototype.render = function render() {\n\n if (this.props.type === \"search\") {\n return this.renderSearch();\n }\n\n return this.renderInput();\n };\n\n return FormControl;\n}(_react2[\"default\"].Component);\n\nFormControl.propTypes = propTypes;\nFormControl.defaultProps = defaultProps;\n\nexports[\"default\"] = FormControl;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-form-control/build/FormControl.js\n// module id = 96\n// module chunks = 0","/**\n *\n * @title Tree异步数据加载\n * @description 当点击展开,异步获取子节点数据\n *\n */\n\n\nimport React, {\n Component\n} from 'react';\nimport Tree from '../../src';\n\nconst x = 3;\nconst y = 2;\nconst z = 1;\nconst gData = [];\n\nconst generateData = (_level, _preKey, _tns) => {\n const preKey = _preKey || '0';\n const tns = _tns || gData;\n\n const children = [];\n for (let i = 0; i < x; i++) {\n const key = `${preKey}-${i}`;\n tns.push({\n title: key,\n key\n });\n if (i < y) {\n children.push(key);\n }\n }\n if (_level < 0) {\n return tns;\n }\n const level = _level - 1;\n children.forEach((key, index) => {\n tns[index].children = [];\n return generateData(level, key, tns[index].children);\n });\n};\ngenerateData(z);\n\nconst TreeNode = Tree.TreeNode;\n\nfunction generateTreeNodes(treeNode) {\n const arr = [];\n const key = treeNode.props.eventKey;\n for (let i = 0; i < 3; i++) {\n arr.push({\n name: `leaf ${key}-${i}`,\n key: `${key}-${i}`\n });\n }\n return arr;\n}\n\nfunction setLeaf(treeData, curKey, level) {\n const loopLeaf = (data, lev) => {\n const l = lev - 1;\n data.forEach((item) => {\n if ((item.key.length > curKey.length) ? item.key.indexOf(curKey) !== 0 :\n curKey.indexOf(item.key) !== 0) {\n return;\n }\n if (item.children) {\n loopLeaf(item.children, l);\n } else if (l < 1) {\n item.isLeaf = true;\n }\n });\n };\n loopLeaf(treeData, level + 1);\n}\n\nfunction getNewTreeData(treeData, curKey, child, level) {\n const loop = (data) => {\n if (level < 1 || curKey.length - 3 > level * 2) return;\n data.forEach((item) => {\n if (curKey.indexOf(item.key) === 0) {\n if (item.children) {\n loop(item.children);\n } else {\n item.children = child;\n }\n }\n });\n };\n loop(treeData);\n setLeaf(treeData, curKey, level);\n}\n\nclass Demo5 extends Component {\n constructor(props) {\n super(props);\n this.state = {\n treeData: [],\n };\n this.onSelect = this.onSelect.bind(this);\n this.onLoadData = this.onLoadData.bind(this);\n }\n componentDidMount() {\n setTimeout(() => {\n this.setState({\n treeData: [{\n name: 'pNode 01',\n key: '0-0'\n }, {\n name: 'pNode 02',\n key: '0-1'\n }, {\n name: 'pNode 03',\n key: '0-2',\n isLeaf: true\n }, ],\n });\n }, 100);\n }\n onSelect(info) {\n console.log('selected', info);\n }\n onLoadData(treeNode) {\n return new Promise((resolve) => {\n setTimeout(() => {\n const treeData = [...this.state.treeData];\n getNewTreeData(treeData, treeNode.props.eventKey, generateTreeNodes(treeNode), 2);\n this.setState({\n treeData\n });\n resolve();\n }, 1000);\n });\n }\n render() {\n const loop = data => data.map((item) => {\n if (item.children) {\n return <TreeNode title={item.name} key={item.key}>{loop(item.children)}</TreeNode>;\n }\n return <TreeNode title={item.name} key={item.key} isLeaf={item.isLeaf} disabled={item.key === '0-0-0'} />;\n });\n const treeNodes = loop(this.state.treeData);\n return (\n <Tree onSelect={this.onSelect} loadData={this.onLoadData} >\n {treeNodes}\n </Tree>\n );\n }\n};\n\nexport default Demo5\n\n\n// WEBPACK FOOTER //\n// ./demo/demolist/Demo5.js","/**\n *\n * @title Tree基本使用示例自定义图标\n * @description 添加openIcon、closeIcon属性\n *\n */\n\n\nimport React, {\n\tComponent\n} from 'react';\nimport Tree from '../../src';\nimport Icon from 'bee-icon';\nconst TreeNode = Tree.TreeNode;\n\nconst defaultProps = {\n\tkeys: ['0-0-0', '0-0-1']\n}\nconsole.log(Tree);\nclass Demo1 extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tconst keys = this.props.keys;\n\t\tthis.state = {\n\t\t\tdefaultExpandedKeys: keys,\n\t\t\tdefaultSelectedKeys: keys,\n\t\t\tdefaultCheckedKeys: keys,\n\t\t};\n\t}\n\tonSelect(info) {\n\t\tconsole.log('selected', info);\n\t}\n\tonCheck(info) {\n\t\tconsole.log('onCheck', info);\n\t}\n\trender() {\n\t\treturn (\n\n\t\t\t<Tree className=\"myCls\" checkable openIcon={<Icon type=\"uf-minus\" />} closeIcon={<Icon type=\"uf-plus\" />}\n\t defaultExpandedKeys={this.state.defaultExpandedKeys}\n\t defaultSelectedKeys={this.state.defaultSelectedKeys}\n\t defaultCheckedKeys={this.state.defaultCheckedKeys}\n\t onSelect={this.onSelect} onCheck={this.onCheck}\n\t >\n\t <TreeNode title=\"parent 1\" key=\"0-0\">\n\t <TreeNode title=\"parent 1-0\" key=\"0-0-0\" disabled>\n\t <TreeNode title=\"leaf\" key=\"0-0-0-0\" disableCheckbox />\n\t <TreeNode title=\"leaf\" key=\"0-0-0-1\" />\n\t </TreeNode>\n\t <TreeNode title=\"parent 1-1\" key=\"0-0-1\">\n\t <TreeNode title={<span style={{ color: '#08c' }}>sss</span>} key=\"0-0-1-0\" />\n\t </TreeNode>\n\t </TreeNode>\n\t </Tree>\n\t\t);\n\t}\n}\n\nDemo1.defaultProps = defaultProps;\n\n\nexport default Demo1;\n\n\n// WEBPACK FOOTER //\n// ./demo/demolist/Demo6.js","/**\n *\n * @title Tree增加节点\n * @description \n *\n */\n\n\nimport React, {\n Component\n} from 'react';\nimport Tree from '../../src';\nimport Button from 'bee-button';\n\nconst TreeNode = Tree.TreeNode;\n\n\nclass Demo7 extends Component {\n constructor(props) {\n super(props);\n this.state = {\n treeData: [],\n defaultExpandedKeys: ['0-0', '0-1', '0-2'],\n parentNode: {}\n };\n this.onSelect = this.onSelect.bind(this);\n this.addNode = this.addNode.bind(this);\n this.clickFun = this.clickFun.bind(this);\n this.getNodeByKey = this.getNodeByKey.bind(this);\n this.parentNode = null\n }\n componentDidMount() {\n setTimeout(() => {\n this.setState({\n treeData: [{\n name: 'pNode 01',\n key: '0-0',\n children: [{\n name: 'leaf 0-0-0',\n key: '0-0-0'\n }, {\n name: 'leaf 0-0-1',\n key: '0-0-1'\n }]\n }, {\n name: 'pNode 02',\n key: '0-1',\n children: [{\n name: 'leaf 0-1-0',\n key: '0-1-0'\n }, {\n name: 'leaf 0-1-1',\n key: '0-1-1'\n }]\n }, {\n name: 'pNode 03',\n key: '0-2',\n isLeaf: true\n }, ],\n });\n }, 100);\n }\n /**\n * 增加节点\n * @param string prKey [父节点key]\n * @param object nodeItem [子节点信息]\n */\n addNode(prKey, nodeItem) {\n const data = this.state.treeData;\n let parNode;\n if (prKey) {\n // 如果prKey存在则搜索父节点进行添加\n parNode = this.getNodeByKey(data, prKey);\n //如果父节点存在的话,添加到父节点上\n if (parNode) {\n if (!parNode.children) {\n parNode.children = [];\n }\n // 如果key不存在就动态生成一个\n if (!nodeItem.key) {\n nodeItem.key = prKey + parNode.children.length + 1;\n }\n parNode.children.push(nodeItem);\n }\n } else {\n // 没有穿prKey添加到根下成为一级节点\n if (!nodeItem.key) {\n nodeItem.key = \"0-\" + data.length + 1;\n }\n data.push(nodeItem);\n }\n\n this.setState({\n data\n });\n }\n\n getNodeByKey(data, key) {\n if (!this.parentNode) {\n data.find(item => {\n if (item.key === key) {\n console.log('item.name---' + item.name)\n this.parentNode = item;\n return (true);\n } else if (item.children) {\n return this.getNodeByKey(item.children, key);\n\n }\n })\n }\n return this.parentNode;\n }\n\n\n\n onSelect(info) {\n console.log('selected', info);\n }\n /**\n * 点击button事件\n */\n clickFun() {\n let prKey, nodeItem;\n prKey = '0-1';\n nodeItem = {\n name: 'leaf 0-0-4'\n }\n this.addNode(prKey, nodeItem);\n }\n\n render() {\n const loop = data => data.map((item) => {\n if (item.children) {\n return <TreeNode title={item.name} key={item.key}>{loop(item.children)}</TreeNode>;\n }\n return <TreeNode title={item.name} key={item.key} isLeaf={item.isLeaf} disabled={item.key === '0-0-0'} />;\n });\n const treeNodes = loop(this.state.treeData);\n console.log('defaultKeys--' + this.state.defaultExpandedKeys);\n return (\n <div>\n <Tree onSelect={this.onSelect} defaultExpandedKeys={this.state.defaultExpandedKeys}>\n {treeNodes}\n </Tree>\n <Button colors=\"success\" onClick={this.clickFun}>\n 增加节点\n </Button>\n </div>\n );\n }\n};\n\nexport default Demo7\n\n\n// WEBPACK FOOTER //\n// ./demo/demolist/Demo7.js","/**\n *\n * @title Tree 节点可编辑\n * @description 鼠标移动到节点上点击编辑图标进行编辑。e.node.props.eventKey代表当前节点key值。editKey指当前操作的节点key\n */\n\n\nimport React, {\n\tComponent\n} from 'react';\nimport Tree from '../../src';\nimport Button from 'bee-button';\nimport Icon from 'bee-icon';\n\nconst TreeNode = Tree.TreeNode;\n\nclass Demo8 extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.state = {\n\t\t\ttreeData: [],\n\t\t\tisHover: \"\",\n\t\t\teditKey: \"\"\n\t\t};\n\n\t}\n\n\n\tonMouseEnter = (e) => {\n\t\tthis.setState({\n\t\t\tisHover: e.node.props.eventKey\n\t\t})\n\t}\n\tonMouseLeave = (e, treenode) => {\n\t\tthis.setState({\n\t\t\tisHover: \"\",\n\t\t\teditKey: \"\"\n\t\t})\n\n\t}\n\n\teditRender = (item) => {\n\t\tthis.setState({\n\t\t\teditKey: item.key\n\t\t});\n\t}\n\tnodechange = (item, value) => {\n\t\titem.name = value;\n\t}\n\trenderTreeTitle = (item) => {\n\t\tlet titleIcon, titleInfo;\n\t\t//编辑时input框\n\t\tif (this.state.editKey == item.key) {\n\t\t\ttitleInfo = <input type=\"text\" id=\"itemKey\" defaultValue={item.name} onChange={(e) => this.nodechange(item, e.target.value)} />\n\t\t} else {\n\t\t\ttitleInfo = <span className=\"title-middle\">{item.name}</span>\n\t\t}\n\t\t//编辑图标\n\t\tif (this.state.isHover == item.key) {\n\t\t\ttitleIcon = <Icon className=\"title-middle edit-icon\" type=\"uf-pencil\" onClick={(e) => this.editRender(item)}></Icon>;\n\t\t}\n\t\treturn (<div className=\"title-con\">\n\n\t\t\t{titleInfo}\n\t\t\t{titleIcon}\n\t\t</div>);\n\t}\n\n\tcomponentDidMount = () => {\n\t\tsetTimeout(() => {\n\t\t\tthis.setState({\n\t\t\t\ttreeData: [{\n\t\t\t\t\tname: 'pNode 01',\n\t\t\t\t\tkey: '0-0',\n\t\t\t\t\tchildren: [{\n\t\t\t\t\t\tname: 'leaf 0-0-0',\n\t\t\t\t\t\tkey: '0-0-0'\n\t\t\t\t\t}, {\n\t\t\t\t\t\tname: 'leaf 0-0-1',\n\t\t\t\t\t\tkey: '0-0-1'\n\t\t\t\t\t}]\n\t\t\t\t}, {\n\t\t\t\t\tname: 'pNode 02',\n\t\t\t\t\tkey: '0-1',\n\t\t\t\t\tchildren: [{\n\t\t\t\t\t\tname: 'leaf 0-1-0',\n\t\t\t\t\t\tkey: '0-1-0'\n\t\t\t\t\t}, {\n\t\t\t\t\t\tname: 'leaf 0-1-1',\n\t\t\t\t\t\tkey: '0-1-1'\n\t\t\t\t\t}]\n\t\t\t\t}, {\n\t\t\t\t\tname: 'pNode 03',\n\t\t\t\t\tkey: '0-2',\n\t\t\t\t\tisLeaf: true\n\t\t\t\t}, ],\n\t\t\t});\n\t\t\n\t\t}, 100);\n\t}\n\trender() {\n\t\tconst loop = data => data.map((item) => {\n\t\t\tif (item.children) {\n\t\t\t\treturn <TreeNode title={this.renderTreeTitle(item)} key={item.key}>{loop(item.children)}</TreeNode>;\n\t\t\t}\n\t\t\treturn <TreeNode title={this.renderTreeTitle(item)} key={item.key} isLeaf={item.isLeaf} disabled={item.key === '0-0-0'} />;\n\t\t});\n\t\tconst treeNodes = loop(this.state.treeData);\n\t\treturn (\n\t\t\t<Tree onMouseLeave={this.onMouseLeave} onMouseEnter={this.onMouseEnter}>\n\t\t\t\t{treeNodes}\n\t\t\t</Tree>\n\n\t\t);\n\t}\n}\n\n\n\nexport default Demo8;\n\n\n// WEBPACK FOOTER //\n// ./demo/demolist/Demo8.js","/**\n *\n * @title 连接线Tree\n * @description \n *\n */\n\n\nimport React, {\n\tComponent\n} from 'react';\nimport Tree from '../../src';\n\nconst TreeNode = Tree.TreeNode;\nclass Demo9 extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tconst keys = this.props.keys;\n\t\tthis.state = {\n\t\t\tdefaultExpandedKeys: keys\n\t\t};\n\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Tree className=\"myCls\" showLine checkable defaultExpandAll={true}>\n\t <TreeNode title=\"parent 1\" key=\"0-0\">\n\t <TreeNode title=\"parent 1-0\" key=\"0-0-0\" >\n\t <TreeNode title=\"leaf\" key=\"0-0-0-0\" />\n\t <TreeNode title=\"leaf\" key=\"0-0-0-1\" />\n\t </TreeNode>\n\t <TreeNode title=\"parent 1-1\" key=\"0-0-1\">\n\t <TreeNode title={<span style={{ color: '#08c' }}>sss</span>} key=\"0-0-1-0\" />\n\t </TreeNode>\n\t </TreeNode>\n\t </Tree>\n\t\t);\n\t}\n}\n\nexport default Demo9;\n\n\n// WEBPACK FOOTER //\n// ./demo/demolist/Demo9.js","/**\n *\n * @title Tree基本使用示例\n * @description 如何获取选中对象自定义对象和数据\n *\n */\n\n\nimport React, {\n\tComponent\n} from 'react';\nimport Tree from '../../src';\n\nconst TreeNode = Tree.TreeNode;\n\nconst defaultProps = {\n\tkeys: ['0-0-0', '0-0-1']\n}\nclass Demo10 extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tconst keys = this.props.keys;\n\t\tthis.state = {\n\t\t\tdefaultExpandedKeys: keys,\n\t\t\tdefaultSelectedKeys: keys,\n\t\t\tdefaultCheckedKeys:keys\n\t\t\t// checkedKeys: {checked:keys},\n\t\t};\n }\n /**\n * 获取当前选中行的item对象。\n * @param {*} value \n */\n\tonSelect(selectedKeys, e) {\n console.log(`${selectedKeys} selected`);//获取key\n let currentObject = {};\n currentObject.title = e.node.props.title; //获取选中对象的数据\n currentObject.key = e.node.props.eventKey;\n console.log(currentObject); \n\t}\n\tonCheck = (checkedKeys) => {\n\t\tlet self = this;\n\t\tconsole.log('onCheck', checkedKeys);\n\t\tconst cks = {\n\t\t\tchecked: checkedKeys.checked || checkedKeys,\n\t\t};\n\t\t// this.setState({checkedKeys:cks});\n\t}\n\n\tonDoubleClick=(key,treeNode)=>{\n\t\tconsole.log('---onDblClick---'+key+'--treeNode--'+treeNode);\n\t}\n\trender() {\n\t\n\t\treturn (\n\t\t\t<Tree className=\"myCls\" showLine checkable\n defaultExpandedKeys={this.state.defaultExpandedKeys}\n defaultSelectedKeys={this.state.defaultSelectedKeys}\n defaultCheckedKeys = {this.state.defaultCheckedKeys}\n checkStrictly\n onSelect={this.onSelect} onCheck={this.onCheck}\n onDoubleClick={this.onDoubleClick}\n >\n <TreeNode title=\"parent 1\" key=\"0-0\" >\n <TreeNode title=\"parent 1-0\" key=\"0-0-0\" disabled>\n <TreeNode title=\"leaf\" key=\"0-0-0-0\" disableCheckbox />\n <TreeNode title=\"leaf\" key=\"0-0-0-1\" />\n </TreeNode>\n <TreeNode title=\"parent 1-1\" key=\"0-0-1\">\n <TreeNode title={<span style={{ color: '#08c' }}>sss</span>} key=\"0-0-1-0\" />\n </TreeNode>\n <TreeNode title=\"parent 1-2\" key=\"0-0-2\" >\n <TreeNode title=\"leaf\" key=\"0-0-2-0\" />\n <TreeNode title=\"leaf\" key=\"0-0-2-1\" />\n </TreeNode>\n </TreeNode>\n\t </Tree>\n\t\t);\n\t}\n}\n\nDemo10.defaultProps = defaultProps;\n\n\nexport default Demo10;\n\n\n// WEBPACK FOOTER //\n// ./demo/demolist/Demo10.js"],"sourceRoot":""}