1 line
497 KiB
Plaintext
1 line
497 KiB
Plaintext
{"version":3,"sources":["webpack:///webpack/bootstrap b56b7942f7313df8936b","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:///C:/Users/Administrator/AppData/Roaming/npm/~/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","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","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","keyCode","KeyCode","DOWN","UP","LEFT","isLeaf","RIGHT","SPACE","ENTER","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","tabIndexKey","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","preventDefault","stopPropagation","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","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","tree","parentKey","some","onChange","value","uniqueExpandedKeys","searchValue","search","beforeStr","afterStr","generateTreeNodes","name","setLeaf","treeData","curKey","loopLeaf","lev","l","getNewTreeData","onLoadData","Promise","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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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;;AAEA;AACA;AACA;AACA,GAA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;;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,E;;;;;;ACtCA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,uFAAsF,aAAa;AACnG;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,E;;;;;;ACvCA;;AAEA;;AAEA,qGAAoG,mBAAmB,EAAE,mBAAmB,8HAA8H;;AAE1Q;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,uE;;;;;;AC/BA;;AAEA;AACA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA,uFAAsF,aAAa;AACnG;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,yC;;;;;;ACxCA;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;;AAE1Q;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,0E;;;;;;AC/BA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,uFAAsF,aAAa;AACnG;AACA;;AAEA;AACA;AACA,E;;;;;;ACnBA;;AAEA;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;;;;;;ACrCA;;AAEA;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;;;;;;AC7BA;;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;;;;;;ACvgBA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,E;;;;;;ACdA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA,IAAG;AACH;AACA,E;;;;;;ACrBA;;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;;AAE1Q;;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;;;;;;AC1LA;;AAEA;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;;;;;;ACpFA;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,E;;;;;;ACjBA;;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;;AAE5e;;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;;;;;;AC9LA;;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;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,qC;;;;;;ACxGA;;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;A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CA;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,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;;;;;;;;;;;;AC9JA;;;;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,SAanB4B,OAbmB,GAaT,UAACC,WAAD,EAAaC,KAAb,EAAuB;AAChC;AACAC,YAAQC,GAAR,CAAY,SAAZ,EAAuBH,WAAvB;AACA,QAAMI,MAAM;AACXC,cAASL,YAAYK,OAAZ,IAAuBL,WADrB;AAEXM,kBAAYN,YAAYM;AAFb,KAAZ;AAIA,UAAK9B,QAAL,CAAc,EAACwB,aAAYI,GAAb,EAAd;AACA,IArBkB;;AAAA,SAuBnBG,aAvBmB,GAuBL,UAACC,GAAD,EAAKC,QAAL,EAAgB;AAC7BP,YAAQC,GAAR,CAAY,qBAAmBK,GAAnB,GAAuB,cAAvB,GAAsCC,QAAlD;AACA,IAzBkB;;AAElB,OAAMX,OA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A;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,kBAAiB,yGAAyG;AAC1H,wEAAuE;AACvE;AACA;AACA;AACA,sBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB;AACA;AACA,sBAAqB,mCAAmC;AACxD,qGAAoG,gDAAgD;AACpJ;AACA,wEAAuE;AACvE;AACA;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,sBAAqB,0GAA0G;AAC/H,4EAA2E;AAC3E;AACA;AACA;AACA,0BAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,sBAAqB;AACrB;AACA;AACA,0BAAyB,mCAAmC;AAC5D,iFAAgF,iDAAiD;AACjI;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,4BAA2B,wBAAwB;AACnD;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;;AAEA;AACA,qC;;;;;;;;;;;;AC7QA;;;;AAGA;;;;;;;;;;;;;;gfAXA;;;;;;;AAaA,KAAMya,IAAI,CAAV;AACA,KAAMC,IAAI,CAAV;AACA,KAAMC,IAAI,CAAV;AACA,KAAMC,QAAQ,EAAd;;AAEA,KAAMC,eAAe,SAAfA,YAAe,CAACC,MAAD,EAASC,OAAT,EAAkBC,IAAlB,EAA2B;AAC9C,OAAMC,SAASF,WAAW,GAA1B;AACA,OAAMG,MAAMF,QAAQJ,KAApB;;AAEA,OAAMpV,WAAW,EAAjB;AACA,QAAK,IAAI8D,IAAI,CAAb,EAAgBA,IAAImR,CAApB,EAAuBnR,GAAvB,EAA4B;AAC1B,SAAMxG,MAASmY,MAAT,SAAmB3R,CAAzB;AACA4R,SAAIvS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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 b56b7942f7313df8936b","import {Col, Row} from 'bee-layout';\r\nimport {Panel} from 'bee-panel';\r\nimport Button from 'bee-button';\r\nimport React, {Component} from 'react';\r\nimport ReactDOM from 'react-dom';\r\n\r\n\r\nconst CARET = <i className=\"uf uf-arrow-down\"></i>;\r\n\r\nconst CARETUP = <i className=\"uf uf-arrow-up\"></i>;\r\n\r\n\r\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\":\"/**\\r\\n *\\r\\n * @title Tree基本使用示例\\r\\n * @description 示例涵盖 checkbox如何选择,disable状态和部分选择状态。checkStrictly为true时,子节点与父节点的选择情况都不会影响到对方\\r\\n *\\r\\n */\\r\\n\\r\\n\\r\\nimport React, {\\r\\n\\tComponent\\r\\n} from 'react';\\r\\nimport { Tree, Icon } from 'tinper-bee';\\r\\n\\nconst TreeNode = Tree.TreeNode;\\r\\n\\r\\nconst defaultProps = {\\r\\n\\tkeys: ['0-0-0', '0-0-1']\\r\\n}\\r\\nclass Demo1 extends Component {\\r\\n\\tconstructor(props) {\\r\\n\\t\\tsuper(props);\\r\\n\\t\\tconst keys = this.props.keys;\\r\\n\\t\\tthis.state = {\\r\\n\\t\\t\\tdefaultExpandedKeys: keys,\\r\\n\\t\\t\\tdefaultSelectedKeys: keys,\\r\\n\\t\\t\\tdefaultCheckedKeys:keys,\\r\\n\\t\\t\\tcheckedKeys: {checked:keys},\\r\\n\\t\\t};\\r\\n\\t}\\r\\n\\tonSelect(info) {\\r\\n\\t\\tconsole.log('selected', info);\\r\\n\\t}\\r\\n\\tonCheck = (checkedKeys,newst) => {\\r\\n\\t\\t//用户可以自定义当前选中和半选中的节点。\\r\\n\\t\\tconsole.log('onCheck', checkedKeys);\\r\\n\\t\\tconst cks = {\\r\\n\\t\\t\\tchecked: checkedKeys.checked || checkedKeys,\\r\\n\\t\\t\\thalfChecked:checkedKeys.halfChecked\\r\\n\\t\\t};\\r\\n\\t\\tthis.setState({checkedKeys:cks});\\r\\n\\t}\\r\\n\\r\\n\\tonDoubleClick=(key,treeNode)=>{\\r\\n\\t\\tconsole.log('---onDblClick---'+key+'--treeNode--'+treeNode);\\r\\n\\t}\\r\\n\\trender() {\\r\\n\\t\\r\\n\\t\\treturn (\\r\\n\\t\\t\\t<Tree className=\\\"myCls\\\" showLine checkable\\r\\n\\t defaultExpandedKeys={this.state.defaultExpandedKeys}\\r\\n\\t\\t\\t\\t\\tdefaultSelectedKeys={this.state.defaultSelectedKeys}\\r\\n\\t\\t\\t\\t\\tdefaultCheckedKeys = {this.state.defaultCheckedKeys}\\r\\n\\t\\t\\t\\t\\tcheckStrictly\\r\\n\\t\\t\\t\\t\\tshowIcon\\r\\n\\t\\t\\t\\t\\tcancelUnSelect={true}\\r\\n\\t\\t\\t\\t\\tonSelect={this.onSelect} onCheck={this.onCheck}\\r\\n\\t\\t\\t\\t\\tonDoubleClick={this.onDoubleClick}\\r\\n\\t >\\r\\n\\t <TreeNode title=\\\"parent 1\\\" key=\\\"0-0\\\" icon={<Icon type=\\\"uf-treefolder\\\" />}>\\r\\n\\t <TreeNode title=\\\"parent 1-0\\\" key=\\\"0-0-0\\\" disabled icon={<Icon type=\\\"uf-treefolder\\\" />}>\\r\\n\\t <TreeNode title=\\\"leaf\\\" key=\\\"0-0-0-0\\\" disableCheckbox icon={<Icon type=\\\"uf-list-s-o\\\" />}/>\\r\\n\\t <TreeNode title=\\\"leaf\\\" key=\\\"0-0-0-1\\\" icon={<Icon type=\\\"uf-list-s-o\\\" />}/>\\r\\n\\t </TreeNode>\\r\\n\\t <TreeNode title=\\\"parent 1-1\\\" key=\\\"0-0-1\\\" icon={<Icon type=\\\"uf-treefolder\\\" />}>\\r\\n\\t <TreeNode title={<span>sss</span>} key=\\\"0-0-1-0\\\" icon={<Icon type=\\\"uf-list-s-o\\\" />}/>\\r\\n\\t </TreeNode>\\r\\n\\t </TreeNode>\\r\\n\\t </Tree>\\r\\n\\t\\t);\\r\\n\\t}\\r\\n}\\r\\n\\r\\nDemo1.defaultProps = defaultProps;\\r\\n\\r\\n\\r\\n\",\"desc\":\" 示例涵盖 checkbox如何选择,disable状态和部分选择状态。checkStrictly为true时,子节点与父节点的选择情况都不会影响到对方\"},{\"example\":<Demo2 />,\"title\":\" Tree数据可控示例\",\"code\":\"/**\\r\\n*\\r\\n* @title Tree数据可控示例\\r\\n* @description\\r\\n*\\r\\n*/\\r\\n\\r\\nimport React, { Component } from 'react';\\r\\nimport { Tree } from 'tinper-bee';\\r\\n\\r\\nconst x = 6;\\r\\nconst y = 5;\\r\\nconst z = 2;\\r\\nconst gData = [];\\r\\n\\r\\nconst generateData = (_level, _preKey, _tns) => {\\r\\n const preKey = _preKey || '0';\\r\\n const tns = _tns || gData;\\r\\n\\r\\n const children = [];\\r\\n for (let i = 0; i < x; i++) {\\r\\n const key = `${preKey}-${i}`;\\r\\n tns.push({ title: key, key });\\r\\n if (i < y) {\\r\\n children.push(key);\\r\\n }\\r\\n }\\r\\n if (_level < 0) {\\r\\n return tns;\\r\\n }\\r\\n const level = _level - 1;\\r\\n children.forEach((key, index) => {\\r\\n tns[index].children = [];\\r\\n return generateData(level, key, tns[index].children);\\r\\n });\\r\\n};\\r\\ngenerateData(z);\\r\\n\\r\\nconst TreeNode = Tree.TreeNode;\\r\\n\\r\\n\\r\\nclass Demo2 extends Component{\\r\\n constructor(props) {\\r\\n \\tsuper(props);\\r\\n this.state = {\\r\\n expandedKeys: [],\\r\\n autoExpandParent: true,\\r\\n checkedKeys: ['0-0-0'],\\r\\n selectedKeys: [],\\r\\n };\\r\\n this.onExpand = this.onExpand.bind(this);\\r\\n this.onCheck = this.onCheck.bind(this);\\r\\n this.onSelect = this.onSelect.bind(this);\\r\\n }\\r\\n onExpand(expandedKeys) {\\r\\n console.log('onExpand', arguments);\\r\\n // if not set autoExpandParent to false, if children expanded, parent can not collapse.\\r\\n // or, you can remove all expanded children keys.\\r\\n this.setState({\\r\\n expandedKeys,\\r\\n autoExpandParent: false,\\r\\n });\\r\\n }\\r\\n onCheck(checkedKeys) {\\r\\n this.setState({\\r\\n checkedKeys,\\r\\n selectedKeys: ['0-3', '0-4'],\\r\\n });\\r\\n }\\r\\n onSelect(selectedKeys, info) {\\r\\n console.log('onSelect', info);\\r\\n this.setState({ selectedKeys });\\r\\n }\\r\\n render() {\\r\\n const loop = data => data.map((item) => {\\r\\n if (item.children) {\\r\\n return (\\r\\n <TreeNode key={item.key} title={item.key} disableCheckbox={item.key === '0-0-0'}>\\r\\n {loop(item.children)}\\r\\n </TreeNode>\\r\\n );\\r\\n }\\r\\n return <TreeNode key={item.key} title={item.key} isLeaf={true}/>;\\r\\n });\\r\\n return (\\r\\n <Tree\\r\\n checkable\\r\\n focusable\\r\\n onExpand={this.onExpand} expandedKeys={this.state.expandedKeys}\\r\\n autoExpandParent={this.state.autoExpandParent}\\r\\n onCheck={this.onCheck} \\r\\n onSelect={this.onSelect} \\r\\n >\\r\\n {loop(gData)}\\r\\n </Tree>\\r\\n );\\r\\n }\\r\\n};\\r\\n\\r\\n\\r\\n\",\"desc\":\"\"},{\"example\":<Demo3 />,\"title\":\" Tree 拖拽使用示例\",\"code\":\"/**\\r\\n*\\r\\n* @title Tree 拖拽使用示例\\r\\n* @description 拖动结点插入到另一个结点后面或者其他的父节点里面。\\r\\n*\\r\\n*/\\r\\n\\r\\n\\r\\n\\r\\nimport React, { Component } from 'react';\\r\\nimport { Tree } from 'tinper-bee';\\r\\n\\r\\nconst x = 3;\\r\\nconst y = 2;\\r\\nconst z = 1;\\r\\nconst gData = [];\\r\\n\\r\\nconst generateData = (_level, _preKey, _tns) => {\\r\\n const preKey = _preKey || '0';\\r\\n const tns = _tns || gData;\\r\\n\\r\\n const children = [];\\r\\n for (let i = 0; i < x; i++) {\\r\\n const key = `${preKey}-${i}`;\\r\\n tns.push({ title: key, key });\\r\\n if (i < y) {\\r\\n children.push(key);\\r\\n }\\r\\n }\\r\\n if (_level < 0) {\\r\\n return tns;\\r\\n }\\r\\n const level = _level - 1;\\r\\n children.forEach((key, index) => {\\r\\n tns[index].children = [];\\r\\n return generateData(level, key, tns[index].children);\\r\\n });\\r\\n};\\r\\ngenerateData(z);\\r\\n\\r\\nconst TreeNode = Tree.TreeNode;\\r\\n\\r\\nclass Demo3 extends Component{\\r\\n constructor(props) {\\r\\n super(props);\\r\\n this.state = {\\r\\n gData,\\r\\n expandedKeys: ['0-0', '0-0-0', '0-0-0-0'],\\r\\n };\\r\\n this.onDragEnter = this.onDragEnter.bind(this);\\r\\n this.onDrop = this.onDrop.bind(this);\\r\\n }\\r\\n onDragEnter(info) {\\r\\n console.log(info);\\r\\n // expandedKeys 需要受控时设置\\r\\n // this.setState({\\r\\n // expandedKeys: info.expandedKeys,\\r\\n // });\\r\\n }\\r\\n onDrop(info) {\\r\\n console.log(info);\\r\\n const dropKey = info.node.props.eventKey;\\r\\n const dragKey = info.dragNode.props.eventKey;\\r\\n // const dragNodesKeys = info.dragNodesKeys;\\r\\n const loop = (data, key, callback) => {\\r\\n data.forEach((item, index, arr) => {\\r\\n if (item.key === key) {\\r\\n return callback(item, index, arr);\\r\\n }\\r\\n if (item.children) {\\r\\n return loop(item.children, key, callback);\\r\\n }\\r\\n });\\r\\n };\\r\\n const data = [...this.state.gData];\\r\\n let dragObj;\\r\\n loop(data, dragKey, (item, index, arr) => {\\r\\n arr.splice(index, 1);\\r\\n dragObj = item;\\r\\n });\\r\\n if (info.dropToGap) {\\r\\n let ar;\\r\\n let i;\\r\\n loop(data, dropKey, (item, index, arr) => {\\r\\n ar = arr;\\r\\n i = index;\\r\\n });\\r\\n ar.splice(i, 0, dragObj);\\r\\n } else {\\r\\n loop(data, dropKey, (item) => {\\r\\n item.children = item.children || [];\\r\\n // where to insert 示例添加到尾部,可以是随意位置\\r\\n item.children.push(dragObj);\\r\\n });\\r\\n }\\r\\n this.setState({\\r\\n gData: data,\\r\\n });\\r\\n }\\r\\n render() {\\r\\n const loop = data => data.map((item) => {\\r\\n if (item.children && item.children.length) {\\r\\n return <TreeNode key={item.key} title={item.key}>{loop(item.children)}</TreeNode>;\\r\\n }\\r\\n return <TreeNode key={item.key} title={item.key} />;\\r\\n });\\r\\n return (\\r\\n <Tree\\r\\n defaultExpandedKeys={this.state.expandedKeys}\\r\\n draggable\\r\\n onDragEnter={this.onDragEnter}\\r\\n onDrop={this.onDrop}\\r\\n >\\r\\n {loop(this.state.gData)}\\r\\n </Tree>\\r\\n );\\r\\n }\\r\\n};\\r\\n\\r\\n\",\"desc\":\" 拖动结点插入到另一个结点后面或者其他的父节点里面。\"},{\"example\":<Demo4 />,\"title\":\" Tree可搜索示例\",\"code\":\"/**\\r\\n *\\r\\n * @title Tree可搜索示例\\r\\n * @description\\r\\n *\\r\\n */\\r\\n\\r\\n\\r\\nimport React, {\\r\\n Component\\r\\n} from 'react';\\r\\n\\nimport { Tree, FormControl } from 'tinper-bee';\\r\\n\\r\\nconst x = 3;\\r\\nconst y = 2;\\r\\nconst z = 1;\\r\\nconst gData = [];\\r\\n\\r\\nconst generateData = (_level, _preKey, _tns) => {\\r\\n const preKey = _preKey || '0';\\r\\n const tns = _tns || gData;\\r\\n\\r\\n const children = [];\\r\\n for (let i = 0; i < x; i++) {\\r\\n const key = `${preKey}-${i}`;\\r\\n tns.push({\\r\\n title: key,\\r\\n key\\r\\n });\\r\\n if (i < y) {\\r\\n children.push(key);\\r\\n }\\r\\n }\\r\\n if (_level < 0) {\\r\\n return tns;\\r\\n }\\r\\n const level = _level - 1;\\r\\n children.forEach((key, index) => {\\r\\n tns[index].children = [];\\r\\n return generateData(level, key, tns[index].children);\\r\\n });\\r\\n};\\r\\ngenerateData(z);\\r\\n\\r\\nconst TreeNode = Tree.TreeNode;\\r\\n\\r\\nconst dataList = [];\\r\\nconst generateList = (data) => {\\r\\n for (let i = 0; i < data.length; i++) {\\r\\n const node = data[i];\\r\\n const key = node.key;\\r\\n dataList.push({\\r\\n key,\\r\\n title: key\\r\\n });\\r\\n if (node.children) {\\r\\n generateList(node.children, node.key);\\r\\n }\\r\\n }\\r\\n};\\r\\ngenerateList(gData);\\r\\n\\r\\nconst getParentKey = (key, tree) => {\\r\\n let parentKey;\\r\\n for (let i = 0; i < tree.length; i++) {\\r\\n const node = tree[i];\\r\\n if (node.children) {\\r\\n if (node.children.some(item => item.key === key)) {\\r\\n parentKey = node.key;\\r\\n } else if (getParentKey(key, node.children)) {\\r\\n parentKey = getParentKey(key, node.children);\\r\\n }\\r\\n }\\r\\n }\\r\\n return parentKey;\\r\\n};\\r\\n\\r\\n\\r\\nclass Demo4 extends Component {\\r\\n constructor(props) {\\r\\n super(props);\\r\\n this.state = {\\r\\n expandedKeys: [],\\r\\n searchValue: '',\\r\\n autoExpandParent: true,\\r\\n }\\r\\n }\\r\\n onExpand = (expandedKeys) => {\\r\\n this.setState({\\r\\n expandedKeys,\\r\\n autoExpandParent: false,\\r\\n });\\r\\n }\\r\\n onChange = (value) => {\\r\\n\\r\\n const expandedKeys = [];\\r\\n dataList.forEach((item) => {\\r\\n if (item.key.indexOf(value) > -1) {\\r\\n expandedKeys.push(getParentKey(item.key, gData));\\r\\n }\\r\\n });\\r\\n const uniqueExpandedKeys = [];\\r\\n expandedKeys.forEach((item) => {\\r\\n if (item && uniqueExpandedKeys.indexOf(item) === -1) {\\r\\n uniqueExpandedKeys.push(item);\\r\\n }\\r\\n });\\r\\n this.setState({\\r\\n expandedKeys: uniqueExpandedKeys,\\r\\n searchValue: value,\\r\\n autoExpandParent: true,\\r\\n });\\r\\n }\\r\\n render() {\\r\\n const {\\r\\n searchValue,\\r\\n expandedKeys,\\r\\n autoExpandParent\\r\\n } = this.state;\\r\\n const loop = data => data.map((item) => {\\r\\n const index = item.key.search(searchValue);\\r\\n const beforeStr = item.key.substr(0, index);\\r\\n const afterStr = item.key.substr(index + searchValue.length);\\r\\n const title = index > -1 ? (\\r\\n <span>\\r\\n {beforeStr}\\r\\n <span className=\\\"u-tree-searchable-filter\\\">{searchValue}</span>\\r\\n {afterStr}\\r\\n </span>\\r\\n ) : <span>{item.key}</span>;\\r\\n if (item.children) {\\r\\n return (\\r\\n <TreeNode key={item.key} title={title}>\\r\\n {loop(item.children)}\\r\\n </TreeNode>\\r\\n );\\r\\n }\\r\\n return <TreeNode key={item.key} title={title} />;\\r\\n });\\r\\n return (\\r\\n <div>\\r\\n <FormControl\\r\\n style={{ width: 200 }}\\r\\n placeholder=\\\"Search\\\"\\r\\n onChange={this.onChange}\\r\\n />\\r\\n <Tree\\r\\n onExpand={this.onExpand}\\r\\n expandedKeys={expandedKeys}\\r\\n autoExpandParent={autoExpandParent}\\r\\n >\\r\\n {loop(gData)}\\r\\n </Tree>\\r\\n </div>\\r\\n );\\r\\n }\\r\\n}\\r\\n\\r\\n\",\"desc\":\"\",\"scss_code\":\".u-tree-searchable-filter {\\r\\n color: #f50;\\r\\n transition: all .3s ease;\\r\\n}\"},{\"example\":<Demo5 />,\"title\":\" Tree异步数据加载\",\"code\":\"/**\\r\\n *\\r\\n * @title Tree异步数据加载\\r\\n * @description 当点击展开,异步获取子节点数据\\r\\n *\\r\\n */\\r\\n\\r\\n\\r\\nimport React, {\\r\\n Component\\r\\n} from 'react';\\r\\nimport { Tree } from 'tinper-bee';\\r\\n\\r\\nconst x = 3;\\r\\nconst y = 2;\\r\\nconst z = 1;\\r\\nconst gData = [];\\r\\n\\r\\nconst generateData = (_level, _preKey, _tns) => {\\r\\n const preKey = _preKey || '0';\\r\\n const tns = _tns || gData;\\r\\n\\r\\n const children = [];\\r\\n for (let i = 0; i < x; i++) {\\r\\n const key = `${preKey}-${i}`;\\r\\n tns.push({\\r\\n title: key,\\r\\n key\\r\\n });\\r\\n if (i < y) {\\r\\n children.push(key);\\r\\n }\\r\\n }\\r\\n if (_level < 0) {\\r\\n return tns;\\r\\n }\\r\\n const level = _level - 1;\\r\\n children.forEach((key, index) => {\\r\\n tns[index].children = [];\\r\\n return generateData(level, key, tns[index].children);\\r\\n });\\r\\n};\\r\\ngenerateData(z);\\r\\n\\r\\nconst TreeNode = Tree.TreeNode;\\r\\n\\r\\nfunction generateTreeNodes(treeNode) {\\r\\n const arr = [];\\r\\n const key = treeNode.props.eventKey;\\r\\n for (let i = 0; i < 3; i++) {\\r\\n arr.push({\\r\\n name: `leaf ${key}-${i}`,\\r\\n key: `${key}-${i}`\\r\\n });\\r\\n }\\r\\n return arr;\\r\\n}\\r\\n\\r\\nfunction setLeaf(treeData, curKey, level) {\\r\\n const loopLeaf = (data, lev) => {\\r\\n const l = lev - 1;\\r\\n data.forEach((item) => {\\r\\n if ((item.key.length > curKey.length) ? item.key.indexOf(curKey) !== 0 :\\r\\n curKey.indexOf(item.key) !== 0) {\\r\\n return;\\r\\n }\\r\\n if (item.children) {\\r\\n loopLeaf(item.children, l);\\r\\n } else if (l < 1) {\\r\\n item.isLeaf = true;\\r\\n }\\r\\n });\\r\\n };\\r\\n loopLeaf(treeData, level + 1);\\r\\n}\\r\\n\\r\\nfunction getNewTreeData(treeData, curKey, child, level) {\\r\\n const loop = (data) => {\\r\\n if (level < 1 || curKey.length - 3 > level * 2) return;\\r\\n data.forEach((item) => {\\r\\n if (curKey.indexOf(item.key) === 0) {\\r\\n if (item.children) {\\r\\n loop(item.children);\\r\\n } else {\\r\\n item.children = child;\\r\\n }\\r\\n }\\r\\n });\\r\\n };\\r\\n loop(treeData);\\r\\n setLeaf(treeData, curKey, level);\\r\\n}\\r\\n\\r\\nclass Demo5 extends Component {\\r\\n constructor(props) {\\r\\n super(props);\\r\\n this.state = {\\r\\n treeData: [],\\r\\n };\\r\\n this.onSelect = this.onSelect.bind(this);\\r\\n this.onLoadData = this.onLoadData.bind(this);\\r\\n }\\r\\n componentDidMount() {\\r\\n setTimeout(() => {\\r\\n this.setState({\\r\\n treeData: [{\\r\\n name: 'pNode 01',\\r\\n key: '0-0'\\r\\n }, {\\r\\n name: 'pNode 02',\\r\\n key: '0-1'\\r\\n }, {\\r\\n name: 'pNode 03',\\r\\n key: '0-2',\\r\\n isLeaf: true\\r\\n }, ],\\r\\n });\\r\\n }, 100);\\r\\n }\\r\\n onSelect(info) {\\r\\n console.log('selected', info);\\r\\n }\\r\\n onLoadData(treeNode) {\\r\\n return new Promise((resolve) => {\\r\\n setTimeout(() => {\\r\\n const treeData = [...this.state.treeData];\\r\\n getNewTreeData(treeData, treeNode.props.eventKey, generateTreeNodes(treeNode), 2);\\r\\n this.setState({\\r\\n treeData\\r\\n });\\r\\n resolve();\\r\\n }, 1000);\\r\\n });\\r\\n }\\r\\n render() {\\r\\n const loop = data => data.map((item) => {\\r\\n if (item.children) {\\r\\n return <TreeNode title={item.name} key={item.key}>{loop(item.children)}</TreeNode>;\\r\\n }\\r\\n return <TreeNode title={item.name} key={item.key} isLeaf={item.isLeaf} disabled={item.key === '0-0-0'} />;\\r\\n });\\r\\n const treeNodes = loop(this.state.treeData);\\r\\n return (\\r\\n <Tree onSelect={this.onSelect} loadData={this.onLoadData} >\\r\\n {treeNodes}\\r\\n </Tree>\\r\\n );\\r\\n }\\r\\n};\\r\\n\\r\\n\",\"desc\":\" 当点击展开,异步获取子节点数据\"},{\"example\":<Demo6 />,\"title\":\" Tree基本使用示例自定义图标\",\"code\":\"/**\\r\\n *\\r\\n * @title Tree基本使用示例自定义图标\\r\\n * @description 添加openIcon、closeIcon属性\\r\\n *\\r\\n */\\r\\n\\r\\n\\r\\nimport React, {\\r\\n\\tComponent\\r\\n} from 'react';\\r\\nimport { Tree, Icon } from 'tinper-bee';\\r\\n\\nconst TreeNode = Tree.TreeNode;\\r\\n\\r\\nconst defaultProps = {\\r\\n\\tkeys: ['0-0-0', '0-0-1']\\r\\n}\\r\\nconsole.log(Tree);\\r\\nclass Demo1 extends Component {\\r\\n\\tconstructor(props) {\\r\\n\\t\\tsuper(props);\\r\\n\\t\\tconst keys = this.props.keys;\\r\\n\\t\\tthis.state = {\\r\\n\\t\\t\\tdefaultExpandedKeys: keys,\\r\\n\\t\\t\\tdefaultSelectedKeys: keys,\\r\\n\\t\\t\\tdefaultCheckedKeys: keys,\\r\\n\\t\\t};\\r\\n\\t}\\r\\n\\tonSelect(info) {\\r\\n\\t\\tconsole.log('selected', info);\\r\\n\\t}\\r\\n\\tonCheck(info) {\\r\\n\\t\\tconsole.log('onCheck', info);\\r\\n\\t}\\r\\n\\trender() {\\r\\n\\t\\treturn (\\r\\n\\r\\n\\t\\t\\t<Tree className=\\\"myCls\\\" checkable openIcon={<Icon type=\\\"uf-minus\\\" />} closeIcon={<Icon type=\\\"uf-plus\\\" />}\\r\\n\\t defaultExpandedKeys={this.state.defaultExpandedKeys}\\r\\n\\t defaultSelectedKeys={this.state.defaultSelectedKeys}\\r\\n\\t defaultCheckedKeys={this.state.defaultCheckedKeys}\\r\\n\\t onSelect={this.onSelect} onCheck={this.onCheck}\\r\\n\\t >\\r\\n\\t <TreeNode title=\\\"parent 1\\\" key=\\\"0-0\\\">\\r\\n\\t <TreeNode title=\\\"parent 1-0\\\" key=\\\"0-0-0\\\" disabled>\\r\\n\\t <TreeNode title=\\\"leaf\\\" key=\\\"0-0-0-0\\\" disableCheckbox />\\r\\n\\t <TreeNode title=\\\"leaf\\\" key=\\\"0-0-0-1\\\" />\\r\\n\\t </TreeNode>\\r\\n\\t <TreeNode title=\\\"parent 1-1\\\" key=\\\"0-0-1\\\">\\r\\n\\t <TreeNode title={<span style={{ color: '#08c' }}>sss</span>} key=\\\"0-0-1-0\\\" />\\r\\n\\t </TreeNode>\\r\\n\\t </TreeNode>\\r\\n\\t </Tree>\\r\\n\\t\\t);\\r\\n\\t}\\r\\n}\\r\\n\\r\\nDemo1.defaultProps = defaultProps;\\r\\n\\r\\n\\r\\n\",\"desc\":\" 添加openIcon、closeIcon属性\"},{\"example\":<Demo7 />,\"title\":\" Tree增加节点\",\"code\":\"/**\\r\\n *\\r\\n * @title Tree增加节点\\r\\n * @description \\r\\n *\\r\\n */\\r\\n\\r\\n\\r\\nimport React, {\\r\\n Component\\r\\n} from 'react';\\r\\nimport { Tree, Button } from 'tinper-bee';\\r\\n\\n\\r\\nconst TreeNode = Tree.TreeNode;\\r\\n\\r\\n\\r\\nclass Demo7 extends Component {\\r\\n constructor(props) {\\r\\n super(props);\\r\\n this.state = {\\r\\n treeData: [],\\r\\n defaultExpandedKeys: ['0-0', '0-1', '0-2'],\\r\\n parentNode: {}\\r\\n };\\r\\n this.onSelect = this.onSelect.bind(this);\\r\\n this.addNode = this.addNode.bind(this);\\r\\n this.clickFun = this.clickFun.bind(this);\\r\\n this.getNodeByKey = this.getNodeByKey.bind(this);\\r\\n this.parentNode = null\\r\\n }\\r\\n componentDidMount() {\\r\\n setTimeout(() => {\\r\\n this.setState({\\r\\n treeData: [{\\r\\n name: 'pNode 01',\\r\\n key: '0-0',\\r\\n children: [{\\r\\n name: 'leaf 0-0-0',\\r\\n key: '0-0-0'\\r\\n }, {\\r\\n name: 'leaf 0-0-1',\\r\\n key: '0-0-1'\\r\\n }]\\r\\n }, {\\r\\n name: 'pNode 02',\\r\\n key: '0-1',\\r\\n children: [{\\r\\n name: 'leaf 0-1-0',\\r\\n key: '0-1-0'\\r\\n }, {\\r\\n name: 'leaf 0-1-1',\\r\\n key: '0-1-1'\\r\\n }]\\r\\n }, {\\r\\n name: 'pNode 03',\\r\\n key: '0-2',\\r\\n isLeaf: true\\r\\n }, ],\\r\\n });\\r\\n }, 100);\\r\\n }\\r\\n /**\\r\\n * 增加节点\\r\\n * @param string prKey [父节点key]\\r\\n * @param object nodeItem [子节点信息]\\r\\n */\\r\\n addNode(prKey, nodeItem) {\\r\\n const data = this.state.treeData;\\r\\n let parNode;\\r\\n if (prKey) {\\r\\n // 如果prKey存在则搜索父节点进行添加\\r\\n parNode = this.getNodeByKey(data, prKey);\\r\\n //如果父节点存在的话,添加到父节点上\\r\\n if (parNode) {\\r\\n if (!parNode.children) {\\r\\n parNode.children = [];\\r\\n }\\r\\n // 如果key不存在就动态生成一个\\r\\n if (!nodeItem.key) {\\r\\n nodeItem.key = prKey + parNode.children.length + 1;\\r\\n }\\r\\n parNode.children.push(nodeItem);\\r\\n }\\r\\n } else {\\r\\n // 没有穿prKey添加到根下成为一级节点\\r\\n if (!nodeItem.key) {\\r\\n nodeItem.key = \\\"0-\\\" + data.length + 1;\\r\\n }\\r\\n data.push(nodeItem);\\r\\n }\\r\\n\\r\\n this.setState({\\r\\n data\\r\\n });\\r\\n }\\r\\n\\r\\n getNodeByKey(data, key) {\\r\\n if (!this.parentNode) {\\r\\n data.find(item => {\\r\\n if (item.key === key) {\\r\\n console.log('item.name---' + item.name)\\r\\n this.parentNode = item;\\r\\n return (true);\\r\\n } else if (item.children) {\\r\\n return this.getNodeByKey(item.children, key);\\r\\n\\r\\n }\\r\\n })\\r\\n }\\r\\n return this.parentNode;\\r\\n }\\r\\n\\r\\n\\r\\n\\r\\n onSelect(info) {\\r\\n console.log('selected', info);\\r\\n }\\r\\n /**\\r\\n * 点击button事件\\r\\n */\\r\\n clickFun() {\\r\\n let prKey, nodeItem;\\r\\n prKey = '0-1';\\r\\n nodeItem = {\\r\\n name: 'leaf 0-0-4'\\r\\n }\\r\\n this.addNode(prKey, nodeItem);\\r\\n }\\r\\n\\r\\n render() {\\r\\n const loop = data => data.map((item) => {\\r\\n if (item.children) {\\r\\n return <TreeNode title={item.name} key={item.key}>{loop(item.children)}</TreeNode>;\\r\\n }\\r\\n return <TreeNode title={item.name} key={item.key} isLeaf={item.isLeaf} disabled={item.key === '0-0-0'} />;\\r\\n });\\r\\n const treeNodes = loop(this.state.treeData);\\r\\n console.log('defaultKeys--' + this.state.defaultExpandedKeys);\\r\\n return (\\r\\n <div>\\r\\n <Tree onSelect={this.onSelect} defaultExpandedKeys={this.state.defaultExpandedKeys}>\\r\\n {treeNodes}\\r\\n </Tree>\\r\\n <Button colors=\\\"success\\\" onClick={this.clickFun}>\\r\\n 增加节点\\r\\n </Button>\\r\\n </div>\\r\\n );\\r\\n }\\r\\n};\\r\\n\\r\\n\",\"desc\":\" \"},{\"example\":<Demo8 />,\"title\":\" Tree 节点可编辑\",\"code\":\"/**\\r\\n *\\r\\n * @title Tree 节点可编辑\\r\\n * @description 鼠标移动到节点上点击编辑图标进行编辑。e.node.props.eventKey代表当前节点key值。editKey指当前操作的节点key\\r\\n */\\r\\n\\r\\n\\r\\nimport React, {\\r\\n\\tComponent\\r\\n} from 'react';\\r\\nimport { Tree, Icon, Button } from 'tinper-bee';\\r\\n\\n\\n\\r\\nconst TreeNode = Tree.TreeNode;\\r\\n\\r\\nclass Demo8 extends Component {\\r\\n\\tconstructor(props) {\\r\\n\\t\\tsuper(props);\\r\\n\\r\\n\\t\\tthis.state = {\\r\\n\\t\\t\\ttreeData: [],\\r\\n\\t\\t\\tisHover: \\\"\\\",\\r\\n\\t\\t\\teditKey: \\\"\\\"\\r\\n\\t\\t};\\r\\n\\r\\n\\t}\\r\\n\\r\\n\\r\\n\\tonMouseEnter = (e) => {\\r\\n\\t\\tthis.setState({\\r\\n\\t\\t\\tisHover: e.node.props.eventKey\\r\\n\\t\\t})\\r\\n\\t}\\r\\n\\tonMouseLeave = (e, treenode) => {\\r\\n\\t\\tthis.setState({\\r\\n\\t\\t\\tisHover: \\\"\\\",\\r\\n\\t\\t\\teditKey: \\\"\\\"\\r\\n\\t\\t})\\r\\n\\r\\n\\t}\\r\\n\\r\\n\\teditRender = (item) => {\\r\\n\\t\\tthis.setState({\\r\\n\\t\\t\\teditKey: item.key\\r\\n\\t\\t});\\r\\n\\t}\\r\\n\\tnodechange = (item, value) => {\\r\\n\\t\\titem.name = value;\\r\\n\\t}\\r\\n\\trenderTreeTitle = (item) => {\\r\\n\\t\\tlet titleIcon, titleInfo;\\r\\n\\t\\t//编辑时input框\\r\\n\\t\\tif (this.state.editKey == item.key) {\\r\\n\\t\\t\\ttitleInfo = <input type=\\\"text\\\" id=\\\"itemKey\\\" defaultValue={item.name} onChange={(e) => this.nodechange(item, e.target.value)} />\\r\\n\\t\\t} else {\\r\\n\\t\\t\\ttitleInfo = <span className=\\\"title-middle\\\">{item.name}</span>\\r\\n\\t\\t}\\r\\n\\t\\t//编辑图标\\r\\n\\t\\tif (this.state.isHover == item.key) {\\r\\n\\t\\t\\ttitleIcon = <Icon className=\\\"title-middle edit-icon\\\" type=\\\"uf-pencil\\\" onClick={(e) => this.editRender(item)}></Icon>;\\r\\n\\t\\t}\\r\\n\\t\\treturn (<div className=\\\"title-con\\\">\\r\\n\\r\\n\\t\\t\\t{titleInfo}\\r\\n\\t\\t\\t{titleIcon}\\r\\n\\t\\t</div>);\\r\\n\\t}\\r\\n\\r\\n\\tcomponentDidMount = () => {\\r\\n\\t\\tsetTimeout(() => {\\r\\n\\t\\t\\tthis.setState({\\r\\n\\t\\t\\t\\ttreeData: [{\\r\\n\\t\\t\\t\\t\\tname: 'pNode 01',\\r\\n\\t\\t\\t\\t\\tkey: '0-0',\\r\\n\\t\\t\\t\\t\\tchildren: [{\\r\\n\\t\\t\\t\\t\\t\\tname: 'leaf 0-0-0',\\r\\n\\t\\t\\t\\t\\t\\tkey: '0-0-0'\\r\\n\\t\\t\\t\\t\\t}, {\\r\\n\\t\\t\\t\\t\\t\\tname: 'leaf 0-0-1',\\r\\n\\t\\t\\t\\t\\t\\tkey: '0-0-1'\\r\\n\\t\\t\\t\\t\\t}]\\r\\n\\t\\t\\t\\t}, {\\r\\n\\t\\t\\t\\t\\tname: 'pNode 02',\\r\\n\\t\\t\\t\\t\\tkey: '0-1',\\r\\n\\t\\t\\t\\t\\tchildren: [{\\r\\n\\t\\t\\t\\t\\t\\tname: 'leaf 0-1-0',\\r\\n\\t\\t\\t\\t\\t\\tkey: '0-1-0'\\r\\n\\t\\t\\t\\t\\t}, {\\r\\n\\t\\t\\t\\t\\t\\tname: 'leaf 0-1-1',\\r\\n\\t\\t\\t\\t\\t\\tkey: '0-1-1'\\r\\n\\t\\t\\t\\t\\t}]\\r\\n\\t\\t\\t\\t}, {\\r\\n\\t\\t\\t\\t\\tname: 'pNode 03',\\r\\n\\t\\t\\t\\t\\tkey: '0-2',\\r\\n\\t\\t\\t\\t\\tisLeaf: true\\r\\n\\t\\t\\t\\t}, ],\\r\\n\\t\\t\\t});\\r\\n\\t\\t\\r\\n\\t\\t}, 100);\\r\\n\\t}\\r\\n\\trender() {\\r\\n\\t\\tconst loop = data => data.map((item) => {\\r\\n\\t\\t\\tif (item.children) {\\r\\n\\t\\t\\t\\treturn <TreeNode title={this.renderTreeTitle(item)} key={item.key}>{loop(item.children)}</TreeNode>;\\r\\n\\t\\t\\t}\\r\\n\\t\\t\\treturn <TreeNode title={this.renderTreeTitle(item)} key={item.key} isLeaf={item.isLeaf} disabled={item.key === '0-0-0'} />;\\r\\n\\t\\t});\\r\\n\\t\\tconst treeNodes = loop(this.state.treeData);\\r\\n\\t\\treturn (\\r\\n\\t\\t\\t<Tree onMouseLeave={this.onMouseLeave} onMouseEnter={this.onMouseEnter}>\\r\\n\\t\\t\\t\\t{treeNodes}\\r\\n\\t\\t\\t</Tree>\\r\\n\\r\\n\\t\\t);\\r\\n\\t}\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n\",\"desc\":\" 鼠标移动到节点上点击编辑图标进行编辑。e.node.props.eventKey代表当前节点key值。editKey指当前操作的节点key\",\"scss_code\":\".title-middle {\\r\\n display: inline-block;\\r\\n vertical-align: middle;\\r\\n}\\r\\n.edit-icon {\\r\\n float:right;\\r\\n font-size: 14px;\\r\\n}\\r\\n.title-con {\\r\\n min-width: 150px;\\r\\n}\"},{\"example\":<Demo9 />,\"title\":\" 连接线Tree\",\"code\":\"/**\\r\\n *\\r\\n * @title 连接线Tree\\r\\n * @description \\r\\n *\\r\\n */\\r\\n\\r\\n\\r\\nimport React, {\\r\\n\\tComponent\\r\\n} from 'react';\\r\\nimport { Tree } from 'tinper-bee';\\r\\n\\r\\nconst TreeNode = Tree.TreeNode;\\r\\nclass Demo9 extends Component {\\r\\n\\tconstructor(props) {\\r\\n\\t\\tsuper(props);\\r\\n\\t\\tconst keys = this.props.keys;\\r\\n\\t\\tthis.state = {\\r\\n\\t\\t\\tdefaultExpandedKeys: keys\\r\\n\\t\\t};\\r\\n\\r\\n\\t}\\r\\n\\r\\n\\trender() {\\r\\n\\t\\treturn (\\r\\n\\t\\t\\t<Tree className=\\\"myCls\\\" showLine checkable defaultExpandAll={true}>\\r\\n\\t <TreeNode title=\\\"parent 1\\\" key=\\\"0-0\\\">\\r\\n\\t <TreeNode title=\\\"parent 1-0\\\" key=\\\"0-0-0\\\" >\\r\\n\\t <TreeNode title=\\\"leaf\\\" key=\\\"0-0-0-0\\\" />\\r\\n\\t <TreeNode title=\\\"leaf\\\" key=\\\"0-0-0-1\\\" />\\r\\n\\t </TreeNode>\\r\\n\\t <TreeNode title=\\\"parent 1-1\\\" key=\\\"0-0-1\\\">\\r\\n\\t <TreeNode title={<span style={{ color: '#08c' }}>sss</span>} key=\\\"0-0-1-0\\\" />\\r\\n\\t </TreeNode>\\r\\n\\t </TreeNode>\\r\\n\\t </Tree>\\r\\n\\t\\t);\\r\\n\\t}\\r\\n}\\r\\n\\r\\n\",\"desc\":\" \"},{\"example\":<Demo10 />,\"title\":\" Tree基本使用示例\",\"code\":\"/**\\r\\n *\\r\\n * @title Tree基本使用示例\\r\\n * @description 如何获取选中对象自定义对象和数据\\r\\n *\\r\\n */\\r\\n\\r\\n\\r\\nimport React, {\\r\\n\\tComponent\\r\\n} from 'react';\\r\\nimport { Tree } from 'tinper-bee';\\r\\n\\r\\nconst TreeNode = Tree.TreeNode;\\r\\n\\r\\nconst defaultProps = {\\r\\n\\tkeys: ['0-0-0', '0-0-1']\\r\\n}\\r\\nclass Demo10 extends Component {\\r\\n\\tconstructor(props) {\\r\\n\\t\\tsuper(props);\\r\\n\\t\\tconst keys = this.props.keys;\\r\\n\\t\\tthis.state = {\\r\\n\\t\\t\\tdefaultExpandedKeys: keys,\\r\\n\\t\\t\\tdefaultSelectedKeys: keys,\\r\\n\\t\\t\\tdefaultCheckedKeys:keys\\r\\n\\t\\t\\t// checkedKeys: {checked:keys},\\r\\n\\t\\t};\\r\\n }\\r\\n /**\\r\\n * 获取当前选中行的item对象。\\r\\n * @param {*} value \\r\\n */\\r\\n\\tonSelect(selectedKeys, e) {\\r\\n console.log(`${selectedKeys} selected`);//获取key\\r\\n let currentObject = {};\\r\\n currentObject.title = e.node.props.title; //获取选中对象的数据\\r\\n currentObject.key = e.node.props.eventKey;\\r\\n console.log(currentObject); \\r\\n\\t}\\r\\n\\tonCheck = (checkedKeys) => {\\r\\n\\t\\tlet self = this;\\r\\n\\t\\tconsole.log('onCheck', checkedKeys);\\r\\n\\t\\tconst cks = {\\r\\n\\t\\t\\tchecked: checkedKeys.checked || checkedKeys,\\r\\n\\t\\t};\\r\\n\\t\\t// this.setState({checkedKeys:cks});\\r\\n\\t}\\r\\n\\r\\n\\tonDoubleClick=(key,treeNode)=>{\\r\\n\\t\\tconsole.log('---onDblClick---'+key+'--treeNode--'+treeNode);\\r\\n\\t}\\r\\n\\trender() {\\r\\n\\t\\r\\n\\t\\treturn (\\r\\n\\t\\t\\t<Tree className=\\\"myCls\\\" showLine checkable\\r\\n defaultExpandedKeys={this.state.defaultExpandedKeys}\\r\\n defaultSelectedKeys={this.state.defaultSelectedKeys}\\r\\n defaultCheckedKeys = {this.state.defaultCheckedKeys}\\r\\n checkStrictly\\r\\n onSelect={this.onSelect} onCheck={this.onCheck}\\r\\n onDoubleClick={this.onDoubleClick}\\r\\n >\\r\\n <TreeNode title=\\\"parent 1\\\" key=\\\"0-0\\\" >\\r\\n <TreeNode title=\\\"parent 1-0\\\" key=\\\"0-0-0\\\" disabled>\\r\\n <TreeNode title=\\\"leaf\\\" key=\\\"0-0-0-0\\\" disableCheckbox />\\r\\n <TreeNode title=\\\"leaf\\\" key=\\\"0-0-0-1\\\" />\\r\\n </TreeNode>\\r\\n <TreeNode title=\\\"parent 1-1\\\" key=\\\"0-0-1\\\">\\r\\n <TreeNode title={<span style={{ color: '#08c' }}>sss</span>} key=\\\"0-0-1-0\\\" />\\r\\n </TreeNode>\\r\\n <TreeNode title=\\\"parent 1-2\\\" key=\\\"0-0-2\\\" >\\r\\n <TreeNode title=\\\"leaf\\\" key=\\\"0-0-2-0\\\" />\\r\\n <TreeNode title=\\\"leaf\\\" key=\\\"0-0-2-1\\\" />\\r\\n </TreeNode>\\r\\n </TreeNode>\\r\\n\\t </Tree>\\r\\n\\t\\t);\\r\\n\\t}\\r\\n}\\r\\n\\r\\nDemo10.defaultProps = defaultProps;\\r\\n\\r\\n\\r\\n\",\"desc\":\" 如何获取选中对象自定义对象和数据\"}]\n\r\n\r\nclass Demo extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n open: false\r\n }\r\n this.handleClick = this.handleClick.bind(this);\r\n }\r\n\r\n handleClick() {\r\n this.setState({open: !this.state.open})\r\n }\r\n\r\n render() {\r\n const {title, example, code, desc, scss_code} = this.props;\r\n let caret = this.state.open ? CARETUP : CARET;\r\n let text = this.state.open ? \"隐藏代码\" : \"查看代码\";\r\n\r\n const header = (\r\n <div>\r\n {example}\r\n <Button style={{\"marginTop\": \"10px\"}} shape=\"block\" onClick={this.handleClick}>\r\n {caret}\r\n {text}\r\n </Button>\r\n </div>\r\n );\r\n return (\r\n <Col md={12}>\r\n <h3>{title}</h3>\r\n <p>{desc}</p>\r\n <Panel collapsible headerContent expanded={this.state.open} colors='bordered' header={header}\r\n footerStyle={{padding: 0}}>\r\n <pre><code className=\"hljs javascript\">{code}</code></pre>\r\n {!!scss_code ? <pre><code className=\"hljs css\">{scss_code}</code></pre> : null}\r\n </Panel>\r\n </Col>\r\n )\r\n }\r\n}\r\n\r\nclass DemoGroup extends Component {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n render() {\r\n return (\r\n <Row>\r\n {DemoArray.map((child, index) => {\r\n\r\n return (\r\n <Demo example={child.example} title={child.title} code={child.code} scss_code={child.scss_code}\r\n desc={child.desc} key={index}/>\r\n )\r\n\r\n })}\r\n </Row>\r\n )\r\n }\r\n}\r\n\r\nReactDOM.render(<DemoGroup/>, document.getElementById('tinperBeeDemo'));\r\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}\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\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\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\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// C:/Users/Administrator/AppData/Roaming/npm/~/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\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\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\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\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","'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\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\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\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\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}\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\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 // 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', '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 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","/**\r\n *\r\n * @title Tree基本使用示例\r\n * @description 示例涵盖 checkbox如何选择,disable状态和部分选择状态。checkStrictly为true时,子节点与父节点的选择情况都不会影响到对方\r\n *\r\n */\r\n\r\n\r\nimport React, {\r\n\tComponent\r\n} from 'react';\r\nimport Tree from '../../src';\r\nimport Icon from 'bee-icon';\r\nconst TreeNode = Tree.TreeNode;\r\n\r\nconst defaultProps = {\r\n\tkeys: ['0-0-0', '0-0-1']\r\n}\r\nclass Demo1 extends Component {\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\t\tconst keys = this.props.keys;\r\n\t\tthis.state = {\r\n\t\t\tdefaultExpandedKeys: keys,\r\n\t\t\tdefaultSelectedKeys: keys,\r\n\t\t\tdefaultCheckedKeys:keys,\r\n\t\t\tcheckedKeys: {checked:keys},\r\n\t\t};\r\n\t}\r\n\tonSelect(info) {\r\n\t\tconsole.log('selected', info);\r\n\t}\r\n\tonCheck = (checkedKeys,newst) => {\r\n\t\t//用户可以自定义当前选中和半选中的节点。\r\n\t\tconsole.log('onCheck', checkedKeys);\r\n\t\tconst cks = {\r\n\t\t\tchecked: checkedKeys.checked || checkedKeys,\r\n\t\t\thalfChecked:checkedKeys.halfChecked\r\n\t\t};\r\n\t\tthis.setState({checkedKeys:cks});\r\n\t}\r\n\r\n\tonDoubleClick=(key,treeNode)=>{\r\n\t\tconsole.log('---onDblClick---'+key+'--treeNode--'+treeNode);\r\n\t}\r\n\trender() {\r\n\t\r\n\t\treturn (\r\n\t\t\t<Tree className=\"myCls\" showLine checkable\r\n\t defaultExpandedKeys={this.state.defaultExpandedKeys}\r\n\t\t\t\t\tdefaultSelectedKeys={this.state.defaultSelectedKeys}\r\n\t\t\t\t\tdefaultCheckedKeys = {this.state.defaultCheckedKeys}\r\n\t\t\t\t\tcheckStrictly\r\n\t\t\t\t\tshowIcon\r\n\t\t\t\t\tcancelUnSelect={true}\r\n\t\t\t\t\tonSelect={this.onSelect} onCheck={this.onCheck}\r\n\t\t\t\t\tonDoubleClick={this.onDoubleClick}\r\n\t >\r\n\t <TreeNode title=\"parent 1\" key=\"0-0\" icon={<Icon type=\"uf-treefolder\" />}>\r\n\t <TreeNode title=\"parent 1-0\" key=\"0-0-0\" disabled icon={<Icon type=\"uf-treefolder\" />}>\r\n\t <TreeNode title=\"leaf\" key=\"0-0-0-0\" disableCheckbox icon={<Icon type=\"uf-list-s-o\" />}/>\r\n\t <TreeNode title=\"leaf\" key=\"0-0-0-1\" icon={<Icon type=\"uf-list-s-o\" />}/>\r\n\t </TreeNode>\r\n\t <TreeNode title=\"parent 1-1\" key=\"0-0-1\" icon={<Icon type=\"uf-treefolder\" />}>\r\n\t <TreeNode title={<span>sss</span>} key=\"0-0-1-0\" icon={<Icon type=\"uf-list-s-o\" />}/>\r\n\t </TreeNode>\r\n\t </TreeNode>\r\n\t </Tree>\r\n\t\t);\r\n\t}\r\n}\r\n\r\nDemo1.defaultProps = defaultProps;\r\n\r\n\r\nexport default Demo1;\n\n\n// WEBPACK FOOTER //\n// ./demo/demolist/Demo1.js","import React,{Component} from 'react';\r\nimport RcTree from './Tree';\r\nimport TreeNode from './TreeNode';\r\nimport animation from './openAnimation';\r\nimport PropTypes from 'prop-types';\r\n\r\nconst TreeProps ={\r\n showLine: PropTypes.bool,\r\n className: PropTypes.string,\r\n /** 是否支持多选 */\r\n multiple: PropTypes.bool,\r\n /** 是否自动展开父节点 */\r\n autoExpandParent: PropTypes.bool,\r\n /** checkable状态下节点选择完全受控(父子节点选中状态不再关联)*/\r\n checkStrictly: PropTypes.bool,\r\n /** 是否支持选中 */\r\n checkable: PropTypes.bool,\r\n /** 默认展开所有树节点 */\r\n defaultExpandAll: PropTypes.bool,\r\n /** 默认展开指定的树节点 */\r\n defaultExpandedKeys: PropTypes.array,\r\n /** (受控)展开指定的树节点 */\r\n expandedKeys: PropTypes.array,\r\n /** (受控)选中复选框的树节点 */\r\n checkedKeys: PropTypes.oneOfType([\r\n PropTypes.array,\r\n PropTypes.object\r\n ]),\r\n /** 默认选中复选框的树节点 */\r\n defaultCheckedKeys: PropTypes.array,\r\n /** (受控)设置选中的树节点 */\r\n selectedKeys: PropTypes.array,\r\n /** 默认选中的树节点 */\r\n defaultSelectedKeys: PropTypes.array,\r\n /** 展开/收起节点时触发 */\r\n onExpand: PropTypes.func,\r\n /** 点击复选框触发 */\r\n onCheck: PropTypes.func,\r\n /** 点击树节点触发 */\r\n onSelect: PropTypes.func,\r\n /** filter some AntTreeNodes as you need. it should return true */\r\n filterAntTreeNode: PropTypes.func,\r\n /** 异步加载数据 */\r\n loadData: PropTypes.func,\r\n /** 响应右键点击 */\r\n onRightClick: PropTypes.func,\r\n /** 设置节点可拖拽(IE>8)*/\r\n draggable: PropTypes.bool,\r\n /** 开始拖拽时调用 */\r\n onDragStart: PropTypes.func,\r\n /** dragenter 触发时调用 */\r\n onDragEnter: PropTypes.func,\r\n /** dragover 触发时调用 */\r\n onDragOver: PropTypes.func,\r\n /** dragleave 触发时调用 */\r\n onDragLeave: PropTypes.func,\r\n /** drop 触发时调用 */\r\n onDrop: PropTypes.func,\r\n style: React.CSSProperties,\r\n prefixCls: PropTypes.string,\r\n filterTreeNode: PropTypes.func\r\n}\r\n\r\nconst defaultProps = {\r\n prefixCls: 'u-tree',\r\n checkable: false,\r\n showIcon: false,\r\n openAnimation: animation,\r\n}\r\n\r\nclass Tree extends Component{\r\n\r\n render() {\r\n const props = this.props;\r\n let checkable = props.checkable;\r\n return (\r\n <RcTree\r\n {...props}\r\n checkable={checkable ? (<span className={`${props.prefixCls}-checkbox-inner`} />) : checkable }\r\n >\r\n {this.props.children}\r\n </RcTree>\r\n );\r\n }\r\n}\r\n\r\nTree.TreeNode = TreeNode;\r\nTree.TreeProps = TreeProps;\r\nTree.defaultProps = defaultProps;\r\nexport default Tree;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/index.js","/* eslint no-console:0 */\r\nimport React from 'react';\r\n\r\nimport classNames from 'classnames';\r\nimport {\r\n loopAllChildren,\r\n isInclude,\r\n getOffset,\r\n filterParentPosition,\r\n handleCheckState,\r\n getCheck,\r\n getStrictlyValue,\r\n arraysEqual,\r\n closest\r\n} from './util';\r\nimport PropTypes from 'prop-types';\r\nimport { KeyCode } from 'tinper-bee-core';\r\n\r\nfunction noop() {}\r\n\r\nclass Tree extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n ['onKeyDown', 'onCheck'].forEach((m) => {\r\n this[m] = this[m].bind(this);\r\n });\r\n this.contextmenuKeys = [];\r\n this.checkedKeysChange = true;\r\n\r\n this.state = {\r\n expandedKeys: this.getDefaultExpandedKeys(props),\r\n checkedKeys: this.getDefaultCheckedKeys(props),\r\n selectedKeys: this.getDefaultSelectedKeys(props),\r\n dragNodesKeys: '',\r\n dragOverNodeKey: '',\r\n dropNodeKey: '',\r\n };\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n const expandedKeys = this.getDefaultExpandedKeys(nextProps, true);\r\n const checkedKeys = this.getDefaultCheckedKeys(nextProps, true);\r\n const selectedKeys = this.getDefaultSelectedKeys(nextProps, true);\r\n const st = {};\r\n // 用于记录这次data内容有没有变化\r\n this.dataChange = false;\r\n if (expandedKeys) {\r\n st.expandedKeys = expandedKeys;\r\n }\r\n if (checkedKeys) {\r\n if (nextProps.checkedKeys === this.props.checkedKeys) {\r\n this.checkedKeysChange = false;\r\n } else {\r\n this.checkedKeysChange = true;\r\n }\r\n st.checkedKeys = checkedKeys;\r\n }\r\n if (selectedKeys) {\r\n st.selectedKeys = selectedKeys;\r\n }\r\n if(nextProps.children !== this.props.children){\r\n this.dataChange = true;\r\n }\r\n this.setState(st);\r\n }\r\n\r\n onDragStart(e, treeNode) {\r\n this.dragNode = treeNode;\r\n this.dragNodesKeys = this.getDragNodes(treeNode);\r\n const st = {\r\n dragNodesKeys: this.dragNodesKeys,\r\n };\r\n const expandedKeys = this.getExpandedKeys(treeNode, false);\r\n if (expandedKeys) {\r\n // Controlled expand, save and then reset\r\n this.getRawExpandedKeys();\r\n st.expandedKeys = expandedKeys;\r\n }\r\n this.setState(st);\r\n this.props.onDragStart({\r\n event: e,\r\n node: treeNode,\r\n });\r\n this._dropTrigger = false;\r\n }\r\n\r\n onDragEnterGap(e, treeNode) {\r\n const offsetTop = (0, getOffset)(treeNode.refs.selectHandle).top;\r\n const offsetHeight = treeNode.refs.selectHandle.offsetHeight;\r\n const pageY = e.pageY;\r\n const gapHeight = 2;\r\n if (pageY > offsetTop + offsetHeight - gapHeight) {\r\n this.dropPosition = 1;\r\n return 1;\r\n }\r\n if (pageY < offsetTop + gapHeight) {\r\n this.dropPosition = -1;\r\n return -1;\r\n }\r\n this.dropPosition = 0;\r\n return 0;\r\n }\r\n\r\n onDragEnter(e, treeNode) {\r\n const enterGap = this.onDragEnterGap(e, treeNode);\r\n if (this.dragNode.props.eventKey === treeNode.props.eventKey && enterGap === 0) {\r\n this.setState({\r\n dragOverNodeKey: '',\r\n });\r\n return;\r\n }\r\n const st = {\r\n dragOverNodeKey: treeNode.props.eventKey,\r\n };\r\n const expandedKeys = this.getExpandedKeys(treeNode, true);\r\n if (expandedKeys) {\r\n this.getRawExpandedKeys();\r\n st.expandedKeys = expandedKeys;\r\n }\r\n this.setState(st);\r\n this.props.onDragEnter({\r\n event: e,\r\n node: treeNode,\r\n expandedKeys: expandedKeys && [...expandedKeys] || [...this.state.expandedKeys],\r\n });\r\n }\r\n\r\n onDragOver(e, treeNode) {\r\n this.props.onDragOver({\r\n event: e,\r\n node: treeNode\r\n });\r\n }\r\n\r\n onDragLeave(e, treeNode) {\r\n this.props.onDragLeave({\r\n event: e,\r\n node: treeNode\r\n });\r\n }\r\n\r\n onDrop(e, treeNode) {\r\n const key = treeNode.props.eventKey;\r\n this.setState({\r\n dragOverNodeKey: '',\r\n dropNodeKey: key,\r\n });\r\n if (this.dragNodesKeys.indexOf(key) > -1) {\r\n if (console.warn) {\r\n console.warn('can not drop to dragNode(include it\\'s children node)');\r\n }\r\n return false;\r\n }\r\n\r\n const posArr = treeNode.props.pos.split('-');\r\n const res = {\r\n event: e,\r\n node: treeNode,\r\n dragNode: this.dragNode,\r\n dragNodesKeys: [...this.dragNodesKeys],\r\n dropPosition: this.dropPosition + Number(posArr[posArr.length - 1]),\r\n };\r\n if (this.dropPosition !== 0) {\r\n res.dropToGap = true;\r\n }\r\n if ('expandedKeys' in this.props) {\r\n res.rawExpandedKeys = [...this._rawExpandedKeys] || [...this.state.expandedKeys];\r\n }\r\n this.props.onDrop(res);\r\n this._dropTrigger = true;\r\n }\r\n\r\n onDragEnd(e, treeNode) {\r\n this.setState({\r\n dragOverNodeKey: '',\r\n });\r\n this.props.onDragEnd({\r\n event: e,\r\n node: treeNode\r\n });\r\n }\r\n/**\r\n *\r\n *\r\n * @param {*} treeNode 当前操作的节点\r\n * @param {*} keyType 键盘事件通用的key类型 left 为收起,right为展开\r\n * @returns\r\n * @memberof Tree\r\n */\r\nonExpand(treeNode,keyType) {\r\n let expanded = !treeNode.props.expanded;\r\n const controlled = 'expandedKeys' in this.props;\r\n const expandedKeys = [...this.state.expandedKeys];\r\n const index = expandedKeys.indexOf(treeNode.props.eventKey);\r\n\r\n if(keyType == 'left'){\r\n expanded = false;\r\n }else if(keyType == 'right'){\r\n expanded = true;\r\n }\r\n \r\n if (expanded && index === -1) {\r\n expandedKeys.push(treeNode.props.eventKey);\r\n } else if (!expanded && index > -1) {\r\n expandedKeys.splice(index, 1);\r\n }\r\n if (!controlled) {\r\n this.setState({\r\n expandedKeys\r\n });\r\n }\r\n this.props.onExpand(expandedKeys, {\r\n node: treeNode,\r\n expanded\r\n });\r\n\r\n // after data loaded, need set new expandedKeys\r\n if (expanded && this.props.loadData) {\r\n return this.props.loadData(treeNode).then(() => {\r\n if (!controlled) {\r\n this.setState({\r\n expandedKeys\r\n });\r\n }\r\n });\r\n }\r\n }\r\n\r\n onCheck(treeNode) {\r\n let checked = !treeNode.props.checked;\r\n if (treeNode.props.halfChecked) {\r\n checked = true;\r\n }\r\n const key = treeNode.props.eventKey;\r\n let checkedKeys = [...this.state.checkedKeys];\r\n const index = checkedKeys.indexOf(key);\r\n\r\n const newSt = {\r\n event: 'check',\r\n node: treeNode,\r\n checked,\r\n };\r\n\r\n if (this.props.checkStrictly) {\r\n if (checked && index === -1) {\r\n checkedKeys.push(key);\r\n }\r\n if (!checked && index > -1) {\r\n checkedKeys.splice(index, 1);\r\n }\r\n this.treeNodesStates[treeNode.props.pos].checked = checked;\r\n newSt.checkedNodes = [];\r\n loopAllChildren(this.props.children, (item, ind, pos, keyOrPos) => {\r\n if (checkedKeys.indexOf(keyOrPos) !== -1) {\r\n newSt.checkedNodes.push(item);\r\n }\r\n });\r\n if (!('checkedKeys' in this.props)) {\r\n this.setState({\r\n checkedKeys,\r\n });\r\n }\r\n const halfChecked = this.props.checkedKeys ? this.props.checkedKeys.halfChecked : [];\r\n this.props.onCheck(getStrictlyValue(checkedKeys, halfChecked), newSt);\r\n } else {\r\n if (checked && index === -1) {\r\n this.treeNodesStates[treeNode.props.pos].checked = true;\r\n const checkedPositions = [];\r\n Object.keys(this.treeNodesStates).forEach(i => {\r\n if (this.treeNodesStates[i].checked) {\r\n checkedPositions.push(i);\r\n }\r\n });\r\n handleCheckState(this.treeNodesStates, filterParentPosition(checkedPositions), true);\r\n }\r\n if (!checked) {\r\n this.treeNodesStates[treeNode.props.pos].checked = false;\r\n this.treeNodesStates[treeNode.props.pos].halfChecked = false;\r\n handleCheckState(this.treeNodesStates, [treeNode.props.pos], false);\r\n }\r\n const checkKeys = getCheck(this.treeNodesStates);\r\n newSt.checkedNodes = checkKeys.checkedNodes;\r\n newSt.checkedNodesPositions = checkKeys.checkedNodesPositions;\r\n newSt.halfCheckedKeys = checkKeys.halfCheckedKeys;\r\n this.checkKeys = checkKeys;\r\n\r\n this._checkedKeys = checkedKeys = checkKeys.checkedKeys;\r\n if (!('checkedKeys' in this.props)) {\r\n this.setState({\r\n checkedKeys,\r\n });\r\n }\r\n this.props.onCheck(checkedKeys, newSt);\r\n }\r\n }\r\n\r\n onSelect(treeNode) {\r\n const props = this.props;\r\n const selectedKeys = [...this.state.selectedKeys];\r\n const eventKey = treeNode.props.eventKey || treeNode.key;\r\n const index = selectedKeys.indexOf(eventKey);\r\n let selected;\r\n //cancelUnSelect为true时第二次点击时不取消选中\r\n if(props.cancelUnSelect){\r\n if (index == -1) {\r\n selected = true;\r\n if (!props.multiple) {\r\n selectedKeys.length = 0;\r\n }\r\n selectedKeys.push(eventKey);\r\n }\r\n }else{\r\n if (index !== -1) {\r\n selected = false;\r\n selectedKeys.splice(index, 1);\r\n } else {\r\n selected = true;\r\n if (!props.multiple) {\r\n selectedKeys.length = 0;\r\n }\r\n selectedKeys.push(eventKey);\r\n }\r\n }\r\n \r\n const selectedNodes = [];\r\n if (selectedKeys.length) {\r\n loopAllChildren(this.props.children, (item) => {\r\n if (selectedKeys.indexOf(item.key) !== -1) {\r\n selectedNodes.push(item);\r\n }\r\n });\r\n }\r\n const newSt = {\r\n event: 'select',\r\n node: treeNode,\r\n selected,\r\n selectedNodes,\r\n };\r\n if (!('selectedKeys' in this.props)) {\r\n this.setState({\r\n selectedKeys,\r\n });\r\n }\r\n props.onSelect(selectedKeys, newSt);\r\n }\r\n\r\n\r\n onDoubleClick(treeNode){\r\n const props = this.props;\r\n const eventKey = treeNode.props.eventKey;\r\n const newSt = {\r\n event: 'dblclick',\r\n node: treeNode\r\n };\r\n props.onDoubleClick(eventKey,newSt);\r\n }\r\n\r\n onMouseEnter(e, treeNode) {\r\n this.props.onMouseEnter({\r\n event: e,\r\n node: treeNode\r\n });\r\n }\r\n\r\n onMouseLeave(e, treeNode) {\r\n this.props.onMouseLeave({\r\n event: e,\r\n node: treeNode\r\n });\r\n }\r\n\r\n onContextMenu(e, treeNode) {\r\n const selectedKeys = [...this.state.selectedKeys];\r\n const eventKey = treeNode.props.eventKey;\r\n if (this.contextmenuKeys.indexOf(eventKey) === -1) {\r\n this.contextmenuKeys.push(eventKey);\r\n }\r\n this.contextmenuKeys.forEach((key) => {\r\n const index = selectedKeys.indexOf(key);\r\n if (index !== -1) {\r\n selectedKeys.splice(index, 1);\r\n }\r\n });\r\n if (selectedKeys.indexOf(eventKey) === -1) {\r\n selectedKeys.push(eventKey);\r\n }\r\n this.setState({\r\n selectedKeys,\r\n });\r\n this.props.onRightClick({\r\n event: e,\r\n node: treeNode\r\n });\r\n }\r\n\r\n getTreeNode(){\r\n const props = this.props;\r\n \r\n }\r\n\r\n goDown(currentPos,currentIndex,e,treeNode){\r\n const props = this.props;\r\n const nextIndex = parseInt(currentIndex) + 1;\r\n \r\n let nextPos,backNextPos;\r\n let nextTreeNode,backNextTreeNode;\r\n const backNextPosArr=[],backNextTreeNodeArr = [],tempBackNextPosArr=[];\r\n //是否为展开的节点,如果展开获取第一个子节点的信息,如果没有取相邻节点,若也没有相邻节点则获取父节点的下一个节点\r\n if(props.expandedKeys.indexOf(treeNode.props.eventKey)>-1){\r\n nextPos = currentPos + '-0';\r\n }else{\r\n nextPos = currentPos.substr(0,currentPos.lastIndexOf('-')+1)+nextIndex;\r\n \r\n \r\n }\r\n //若向下的节点没有了,找到父级相邻节点\r\n let tempPosArr = currentPos.split('-');\r\n let tempPosArrLength = tempPosArr.length;\r\n //将可能是下一个节点的的位置都备份一遍\r\n while(tempPosArrLength>1){\r\n backNextPos = tempPosArrLength>1 && tempPosArr.slice(0,tempPosArrLength-1).join('-')+'-' + (parseInt(tempPosArr[tempPosArrLength-1])+1)\r\n tempBackNextPosArr.push(backNextPos);\r\n tempPosArr = tempPosArr.slice(0,tempPosArrLength-1)\r\n tempPosArrLength = tempPosArr.length;\r\n }\r\n //选中下一个相邻的节点\r\n loopAllChildren(props.children,function(itemNode,index,pos,newKey){\r\n if(pos == nextPos){\r\n nextTreeNode = itemNode;\r\n }\r\n tempBackNextPosArr.forEach(item=>{\r\n if(item && item == pos){\r\n // backNextTreeNode = item;\r\n backNextTreeNodeArr.push(itemNode);\r\n backNextPosArr.push(pos);\r\n }\r\n })\r\n \r\n })\r\n //如果没有下一个节点,则获取父节点的下一个节点\r\n if(!nextTreeNode){\r\n for(let i=0;i<backNextTreeNodeArr.length;i++){\r\n if(backNextTreeNodeArr[i]){\r\n nextTreeNode = backNextTreeNodeArr[i];\r\n nextPos = backNextPosArr[i];\r\n break;\r\n }\r\n }\r\n\r\n \r\n }\r\n \r\n //查询的下一个节点不为空的话,则选中\r\n if(nextTreeNode){\r\n const queryInfo = `a[pos=\"${nextPos}\"]`;\r\n const parentEle = closest(e.target,\".u-tree\")\r\n const focusEle = parentEle?parentEle.querySelector(queryInfo):null;\r\n focusEle && focusEle.focus()\r\n this.onSelect(nextTreeNode);\r\n }\r\n }\r\n\r\n goUp(currentPos,currentIndex,e,treeNode){\r\n const props = this.props;\r\n if(currentIndex == 0 && currentPos.length === 3){\r\n return\r\n }\r\n // 向上键Up\r\n const preIndex = parseInt(currentIndex) - 1;\r\n let prePos;\r\n if(preIndex>= 0){\r\n prePos = currentPos.substr(0,currentPos.lastIndexOf('-')+1)+preIndex;\r\n }else{\r\n prePos = currentPos.substr(0,currentPos.lastIndexOf('-'));\r\n }\r\n \r\n let prevTreeNode,preElement;\r\n //选中上一个相邻的节点\r\n loopAllChildren(props.children,function(item,index,pos,newKey){\r\n if(pos == prePos){\r\n prevTreeNode = item;\r\n }\r\n })\r\n //查询的上一个节点不为空的话,则选中\r\n if(prevTreeNode){\r\n if(preIndex >=0){\r\n //如果上面的节点展开则默认选择最后一个子节点\r\n if(props.expandedKeys.indexOf(prevTreeNode.key)>-1){\r\n const preElementArr = e.target.parentElement.previousElementSibling.querySelectorAll('a');\r\n preElement = preElementArr[preElementArr.length-1];\r\n prePos = preElement.getAttribute('pos');\r\n loopAllChildren(props.children,function(item,index,pos,newKey){\r\n if(pos == prePos){\r\n prevTreeNode = item;\r\n }\r\n })\r\n }else{\r\n //上一个节点没有展开\r\n preElement = e.target.parentElement.previousElementSibling.querySelector('a')\r\n }\r\n }else{\r\n // 不存在上一个节点时,选中它的父节点\r\n preElement = e.target.parentElement.parentElement.parentElement.querySelector('a')\r\n }\r\n \r\n \r\n }\r\n preElement && preElement.focus();\r\n this.onSelect(prevTreeNode);\r\n }\r\n // all keyboard events callbacks run from here at first\r\n onKeyDown(e,treeNode) {\r\n \r\n const props = this.props;\r\n const currentPos = treeNode.props.pos;\r\n const currentIndex = currentPos.substr(currentPos.lastIndexOf('-')+1);\r\n //向下键down\r\n if(e.keyCode == KeyCode.DOWN){\r\n this.goDown(currentPos,currentIndex,e,treeNode);\r\n }else if(e.keyCode == KeyCode.UP){\r\n this.goUp(currentPos,currentIndex,e,treeNode);\r\n }else if(e.keyCode == KeyCode.LEFT && !treeNode.props.isLeaf){\r\n // 收起树节点\r\n this.onExpand(treeNode,'left');\r\n }else if (e.keyCode == KeyCode.RIGHT && !treeNode.props.isLeaf){\r\n // 展开树节点\r\n this.onExpand(treeNode,'right');\r\n }else if (e.keyCode == KeyCode.SPACE && props.checkable){\r\n // 如果是多选tree则进行选中或者反选该节点\r\n this.onCheck(treeNode);\r\n }else if(e.keyCode == KeyCode.ENTER){\r\n this.onDoubleClick(treeNode);\r\n }\r\n // e.preventDefault();\r\n }\r\n\r\n \r\n getFilterExpandedKeys(props, expandKeyProp, expandAll) {\r\n const keys = props[expandKeyProp];\r\n if (!expandAll && !props.autoExpandParent) {\r\n return keys || [];\r\n }\r\n const expandedPositionArr = [];\r\n if (props.autoExpandParent) {\r\n loopAllChildren(props.children, (item, index, pos, newKey) => {\r\n if (keys.indexOf(newKey) > -1) {\r\n expandedPositionArr.push(pos);\r\n }\r\n });\r\n }\r\n const filterExpandedKeys = [];\r\n loopAllChildren(props.children, (item, index, pos, newKey) => {\r\n if (expandAll) {\r\n filterExpandedKeys.push(newKey);\r\n } else if (props.autoExpandParent) {\r\n expandedPositionArr.forEach(p => {\r\n if ((p.split('-').length > pos.split('-').length && isInclude(pos.split('-'), p.split('-')) || pos === p) && filterExpandedKeys.indexOf(newKey) === -1) {\r\n filterExpandedKeys.push(newKey);\r\n }\r\n });\r\n }\r\n });\r\n return filterExpandedKeys.length ? filterExpandedKeys : keys;\r\n }\r\n\r\n getDefaultExpandedKeys(props, willReceiveProps) {\r\n let expandedKeys = willReceiveProps ? undefined :\r\n this.getFilterExpandedKeys(props, 'defaultExpandedKeys',\r\n props.defaultExpandedKeys.length ? false : props.defaultExpandAll);\r\n if ('expandedKeys' in props) {\r\n expandedKeys = (props.autoExpandParent ?\r\n this.getFilterExpandedKeys(props, 'expandedKeys', false) :\r\n props.expandedKeys) || [];\r\n }\r\n return expandedKeys;\r\n }\r\n\r\n getDefaultCheckedKeys(props, willReceiveProps) {\r\n let checkedKeys = willReceiveProps ? undefined : props.defaultCheckedKeys;\r\n if ('checkedKeys' in props) {\r\n checkedKeys = props.checkedKeys || [];\r\n if (props.checkStrictly) {\r\n if (props.checkedKeys.checked) {\r\n checkedKeys = props.checkedKeys.checked;\r\n } else if (!Array.isArray(props.checkedKeys)) {\r\n checkedKeys = [];\r\n }\r\n }\r\n }\r\n return checkedKeys;\r\n }\r\n\r\n getDefaultSelectedKeys(props, willReceiveProps) {\r\n const getKeys = (keys) => {\r\n if (props.multiple) {\r\n return [...keys];\r\n }\r\n if (keys.length) {\r\n return [keys[0]];\r\n }\r\n return keys;\r\n };\r\n let selectedKeys = willReceiveProps ? undefined : getKeys(props.defaultSelectedKeys);\r\n if ('selectedKeys' in props) {\r\n selectedKeys = getKeys(props.selectedKeys);\r\n }\r\n return selectedKeys;\r\n }\r\n\r\n getRawExpandedKeys() {\r\n if (!this._rawExpandedKeys && ('expandedKeys' in this.props)) {\r\n this._rawExpandedKeys = [...this.state.expandedKeys];\r\n }\r\n }\r\n\r\n getOpenTransitionName() {\r\n const props = this.props;\r\n let transitionName = props.openTransitionName;\r\n const animationName = props.openAnimation;\r\n if (!transitionName && typeof animationName === 'string') {\r\n transitionName = `${props.prefixCls}-open-${animationName}`;\r\n }\r\n return transitionName;\r\n }\r\n\r\n getDragNodes(treeNode) {\r\n const dragNodesKeys = [];\r\n const tPArr = treeNode.props.pos.split('-');\r\n loopAllChildren(this.props.children, (item, index, pos, newKey) => {\r\n const pArr = pos.split('-');\r\n if (treeNode.props.pos === pos || tPArr.length < pArr.length && isInclude(tPArr, pArr)) {\r\n dragNodesKeys.push(newKey);\r\n }\r\n });\r\n return dragNodesKeys;\r\n }\r\n\r\n getExpandedKeys(treeNode, expand) {\r\n const key = treeNode.props.eventKey;\r\n const expandedKeys = this.state.expandedKeys;\r\n const expandedIndex = expandedKeys.indexOf(key);\r\n let exKeys;\r\n if (expandedIndex > -1 && !expand) {\r\n exKeys = [...expandedKeys];\r\n exKeys.splice(expandedIndex, 1);\r\n return exKeys;\r\n }\r\n if (expand && expandedKeys.indexOf(key) === -1) {\r\n return expandedKeys.concat([key]);\r\n }\r\n }\r\n\r\n filterTreeNode(treeNode) {\r\n const filterTreeNode = this.props.filterTreeNode;\r\n if (typeof filterTreeNode !== 'function' || treeNode.props.disabled) {\r\n return false;\r\n }\r\n return filterTreeNode.call(this, treeNode);\r\n }\r\n\r\n renderTreeNode(child, index, level = 0) {\r\n const pos = `${level}-${index}`;\r\n const key = child.key || pos;\r\n const state = this.state;\r\n const props = this.props;\r\n\r\n // prefer to child's own selectable property if passed\r\n let selectable = props.selectable;\r\n if (child.props.hasOwnProperty('selectable')) {\r\n selectable = child.props.selectable;\r\n }\r\n let draggable = props.draggable;\r\n if(child.props.hasOwnProperty('draggable')){\r\n draggable = child.props.draggable;\r\n }\r\n \r\n const cloneProps = {\r\n ref: `treeNode-${key}`,\r\n root: this,\r\n eventKey: key,\r\n pos,\r\n selectable,\r\n loadData: props.loadData,\r\n onMouseEnter: props.onMouseEnter,\r\n onMouseLeave: props.onMouseLeave,\r\n onRightClick: props.onRightClick,\r\n onDoubleClick:props.onDoubleClick,\r\n onKeyDown:props.onKeyDown,\r\n prefixCls: props.prefixCls,\r\n showLine: props.showLine,\r\n showIcon: props.showIcon,\r\n draggable,\r\n dragOver: state.dragOverNodeKey === key && this.dropPosition === 0,\r\n dragOverGapTop: state.dragOverNodeKey === key && this.dropPosition === -1,\r\n dragOverGapBottom: state.dragOverNodeKey === key && this.dropPosition === 1,\r\n _dropTrigger: this._dropTrigger,\r\n expanded: state.expandedKeys.indexOf(key) !== -1,\r\n selected: state.selectedKeys.indexOf(key) !== -1,\r\n openTransitionName: this.getOpenTransitionName(),\r\n openAnimation: props.openAnimation,\r\n filterTreeNode: this.filterTreeNode.bind(this),\r\n openIcon: props.openIcon,\r\n closeIcon: props.closeIcon,\r\n focusable:props.focusable,\r\n tabIndexKey: state.selectedKeys[0],\r\n tabIndexValue:props.tabIndexValue\r\n };\r\n if (props.checkable) {\r\n cloneProps.checkable = props.checkable;\r\n if (props.checkStrictly) {\r\n if (state.checkedKeys) {\r\n cloneProps.checked = state.checkedKeys.indexOf(key) !== -1 || false;\r\n }\r\n if (props.checkedKeys && props.checkedKeys.halfChecked) {\r\n cloneProps.halfChecked = props.checkedKeys.halfChecked.indexOf(key) !== -1 || false;\r\n } else {\r\n cloneProps.halfChecked = false;\r\n }\r\n } else {\r\n if (this.checkedKeys) {\r\n cloneProps.checked = this.checkedKeys.indexOf(key) !== -1 || false;\r\n }\r\n cloneProps.halfChecked = this.halfCheckedKeys.indexOf(key) !== -1;\r\n }\r\n }\r\n if (this.treeNodesStates && this.treeNodesStates[pos]) {\r\n Object.assign(cloneProps, this.treeNodesStates[pos].siblingPosition);\r\n }\r\n return React.cloneElement(child, cloneProps);\r\n }\r\n\r\n render() {\r\n const props = this.props;\r\n let showLineCls = \"\";\r\n if (props.showLine) {\r\n showLineCls = `${props.prefixCls}-show-line`;\r\n }\r\n const domProps = {\r\n className: classNames(props.className, props.prefixCls, showLineCls),\r\n role: 'tree-node',\r\n };\r\n\r\n // if (props.focusable) {\r\n // // domProps.tabIndex = '0';//需求改成了默认选择第一个节点或者选中的节点\r\n // // domProps.onKeyDown = this.onKeyDown;//添加到具体的treeNode上了\r\n // }\r\n const getTreeNodesStates = () => {\r\n this.treeNodesStates = {};\r\n loopAllChildren(props.children, (item, index, pos, keyOrPos, siblingPosition) => {\r\n this.treeNodesStates[pos] = {\r\n siblingPosition,\r\n };\r\n });\r\n };\r\n if (props.showLine && !props.checkable ) {\r\n getTreeNodesStates();\r\n }\r\n if (props.checkable && (this.checkedKeysChange || props.loadData || this.dataChange)) {\r\n if (props.checkStrictly) {\r\n getTreeNodesStates();\r\n } else if (props._treeNodesStates) {\r\n this.treeNodesStates = props._treeNodesStates.treeNodesStates;\r\n this.halfCheckedKeys = props._treeNodesStates.halfCheckedKeys;\r\n this.checkedKeys = props._treeNodesStates.checkedKeys;\r\n } else {\r\n const checkedKeys = this.state.checkedKeys;\r\n let checkKeys;\r\n if (!props.loadData && this.checkKeys && this._checkedKeys &&\r\n arraysEqual(this._checkedKeys, checkedKeys)) {\r\n // if checkedKeys the same as _checkedKeys from onCheck, use _checkedKeys.\r\n checkKeys = this.checkKeys;\r\n } else {\r\n const checkedPositions = [];\r\n this.treeNodesStates = {};\r\n loopAllChildren(props.children, (item, index, pos, keyOrPos, siblingPosition) => {\r\n this.treeNodesStates[pos] = {\r\n node: item,\r\n key: keyOrPos,\r\n checked: false,\r\n halfChecked: false,\r\n siblingPosition,\r\n };\r\n if (checkedKeys.indexOf(keyOrPos) !== -1) {\r\n this.treeNodesStates[pos].checked = true;\r\n checkedPositions.push(pos);\r\n }\r\n });\r\n // if the parent node's key exists, it all children node will be checked\r\n handleCheckState(this.treeNodesStates, filterParentPosition(checkedPositions), true);\r\n checkKeys = getCheck(this.treeNodesStates);\r\n }\r\n this.halfCheckedKeys = checkKeys.halfCheckedKeys;\r\n this.checkedKeys = checkKeys.checkedKeys;\r\n }\r\n }\r\n\r\n return (\r\n <ul {...domProps} unselectable=\"true\" ref=\"tree\">\r\n {React.Children.map(props.children, this.renderTreeNode, this)}\r\n </ul>\r\n );\r\n }\r\n}\r\n\r\nTree.propTypes = {\r\n prefixCls: PropTypes.string,\r\n children: PropTypes.any,\r\n showLine: PropTypes.bool,\r\n showIcon: PropTypes.bool,\r\n selectable: PropTypes.bool,\r\n multiple: PropTypes.bool,\r\n checkable: PropTypes.oneOfType([\r\n PropTypes.bool,\r\n PropTypes.node,\r\n ]),\r\n _treeNodesStates: PropTypes.object,\r\n checkStrictly: PropTypes.bool,\r\n draggable: PropTypes.bool,\r\n autoExpandParent: PropTypes.bool,\r\n defaultExpandAll: PropTypes.bool,\r\n defaultExpandedKeys: PropTypes.arrayOf(PropTypes.string),\r\n expandedKeys: PropTypes.arrayOf(PropTypes.string),\r\n defaultCheckedKeys: PropTypes.arrayOf(PropTypes.string),\r\n checkedKeys: PropTypes.oneOfType([\r\n PropTypes.arrayOf(PropTypes.string),\r\n PropTypes.object,\r\n ]),\r\n defaultSelectedKeys: PropTypes.arrayOf(PropTypes.string),\r\n selectedKeys: PropTypes.arrayOf(PropTypes.string),\r\n onExpand: PropTypes.func,\r\n onCheck: PropTypes.func,\r\n onSelect: PropTypes.func,\r\n loadData: PropTypes.func,\r\n onMouseEnter: PropTypes.func,\r\n onMouseLeave: PropTypes.func,\r\n onRightClick: PropTypes.func,\r\n onDragStart: PropTypes.func,\r\n onDragEnter: PropTypes.func,\r\n onDragOver: PropTypes.func,\r\n onDragLeave: PropTypes.func,\r\n onDrop: PropTypes.func,\r\n onDragEnd: PropTypes.func,\r\n filterTreeNode: PropTypes.func,\r\n openTransitionName: PropTypes.string,\r\n focusable: PropTypes.bool,\r\n openAnimation: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\r\n};\r\n\r\nTree.defaultProps = {\r\n prefixCls: 'rc-tree',\r\n showLine: false,\r\n showIcon: true,\r\n selectable: true,\r\n multiple: false,\r\n checkable: false,\r\n checkStrictly: false,\r\n draggable: false,\r\n autoExpandParent: true,\r\n defaultExpandAll: false,\r\n defaultExpandedKeys: [],\r\n defaultCheckedKeys: [],\r\n defaultSelectedKeys: [],\r\n onExpand: noop,\r\n onCheck: noop,\r\n onSelect: noop,\r\n onDragStart: noop,\r\n onDragEnter: noop,\r\n onDragOver: noop,\r\n onDragLeave: noop,\r\n onDrop: noop,\r\n onDragEnd: noop,\r\n onDoubleClick:noop\r\n};\r\n\r\nexport default Tree;\n\n\n// WEBPACK FOOTER //\n// ./src/Tree.js","/* eslint no-loop-func: 0*/\r\n\r\nimport React from 'react';\r\n\r\nexport function browser(navigator) {\r\n let tem;\r\n const ua = navigator.userAgent;\r\n let M = ua.match(/(opera|chrome|safari|firefox|msie|trident(?=\\/))\\/?\\s*(\\d+)/i) || [];\r\n if (/trident/i.test(M[1])) {\r\n tem = /\\brv[ :]+(\\d+)/g.exec(ua) || [];\r\n return `IE ${tem[1] || ''}`;\r\n }\r\n if (M[1] === 'Chrome') {\r\n tem = ua.match(/\\b(OPR|Edge)\\/(\\d+)/);\r\n if (tem) return tem.slice(1).join(' ').replace('OPR', 'Opera');\r\n }\r\n M = M[2] ? [M[1], M[2]] : [navigator.appName, navigator.appVersion, '-?'];\r\n tem = ua.match(/version\\/(\\d+)/i);\r\n if (tem) {\r\n M.splice(1, 1, tem[1]);\r\n }\r\n return M.join(' ');\r\n}\r\n\r\n// export function getOffset(el) {\r\n// const obj = el.getBoundingClientRect();\r\n// return {\r\n// left: obj.left + document.body.scrollLeft,\r\n// top: obj.top + document.body.scrollTop,\r\n// width: obj.width,\r\n// height: obj.height\r\n// };\r\n// }\r\n\r\n// // iscroll offset\r\n// offset = function (el) {\r\n// var left = -el.offsetLeft,\r\n// top = -el.offsetTop;\r\n\r\n// // jshint -W084\r\n// while (el = el.offsetParent) {\r\n// left -= el.offsetLeft;\r\n// top -= el.offsetTop;\r\n// }\r\n// // jshint +W084\r\n\r\n// return {\r\n// left: left,\r\n// top: top\r\n// };\r\n// }\r\n\r\n/* eslint-disable */\r\nexport function getOffset(ele) {\r\n let doc, win, docElem, rect;\r\n\r\n if (!ele.getClientRects().length) {\r\n return { top: 0, left: 0 };\r\n }\r\n\r\n rect = ele.getBoundingClientRect();\r\n\r\n if (rect.width || rect.height) {\r\n doc = ele.ownerDocument;\r\n win = doc.defaultView;\r\n docElem = doc.documentElement;\r\n\r\n return {\r\n top: rect.top + win.pageYOffset - docElem.clientTop,\r\n left: rect.left + win.pageXOffset - docElem.clientLeft\r\n };\r\n }\r\n\r\n return rect;\r\n}\r\n/* eslint-enable */\r\n\r\nfunction getChildrenlength(children) {\r\n let len = 1;\r\n if (Array.isArray(children)) {\r\n len = children.length;\r\n }\r\n return len;\r\n}\r\n\r\nfunction getSiblingPosition(index, len, siblingPosition) {\r\n if (len === 1) {\r\n siblingPosition.first = true;\r\n siblingPosition.last = true;\r\n } else {\r\n siblingPosition.first = index === 0;\r\n siblingPosition.last = index === len - 1;\r\n }\r\n return siblingPosition;\r\n}\r\n\r\nexport function loopAllChildren(childs, callback, parent) {\r\n const loop = (children, level, _parent) => {\r\n const len = getChildrenlength(children);\r\n React.Children.forEach(children, (item, index) => {\r\n const pos = `${level}-${index}`;\r\n if (item.props.children && item.type && item.type.isTreeNode) {\r\n loop(item.props.children, pos, { node: item, pos });\r\n }\r\n callback(item, index, pos, item.key || pos, getSiblingPosition(index, len, {}), _parent);\r\n });\r\n };\r\n loop(childs, 0, parent);\r\n}\r\n\r\nexport function isInclude(smallArray, bigArray) {\r\n return smallArray.every((ii, i) => {\r\n return ii === bigArray[i];\r\n });\r\n}\r\n// console.log(isInclude(['0', '1'], ['0', '10', '1']));\r\n\r\n\r\n// arr.length === 628, use time: ~20ms\r\nexport function filterParentPosition(arr) {\r\n const levelObj = {};\r\n arr.forEach((item) => {\r\n const posLen = item.split('-').length;\r\n if (!levelObj[posLen]) {\r\n levelObj[posLen] = [];\r\n }\r\n levelObj[posLen].push(item);\r\n });\r\n const levelArr = Object.keys(levelObj).sort();\r\n for (let i = 0; i < levelArr.length; i++) {\r\n if (levelArr[i + 1]) {\r\n levelObj[levelArr[i]].forEach(ii => {\r\n for (let j = i + 1; j < levelArr.length; j++) {\r\n levelObj[levelArr[j]].forEach((_i, index) => {\r\n if (isInclude(ii.split('-'), _i.split('-'))) {\r\n levelObj[levelArr[j]][index] = null;\r\n }\r\n });\r\n levelObj[levelArr[j]] = levelObj[levelArr[j]].filter(p => p);\r\n }\r\n });\r\n }\r\n }\r\n let nArr = [];\r\n levelArr.forEach(i => {\r\n nArr = nArr.concat(levelObj[i]);\r\n });\r\n return nArr;\r\n}\r\n// console.log(filterParentPosition(\r\n// ['0-2', '0-3-3', '0-10', '0-10-0', '0-0-1', '0-0', '0-1-1', '0-1']\r\n// ));\r\n\r\n\r\nfunction stripTail(str) {\r\n const arr = str.match(/(.+)(-[^-]+)$/);\r\n let st = '';\r\n if (arr && arr.length === 3) {\r\n st = arr[1];\r\n }\r\n return st;\r\n}\r\nfunction splitPosition(pos) {\r\n return pos.split('-');\r\n}\r\n\r\nexport function handleCheckState(obj, checkedPositionArr, checkIt) {\r\n // console.log(stripTail('0-101-000'));\r\n let objKeys = Object.keys(obj);\r\n // let s = Date.now();\r\n objKeys.forEach((i, index) => {\r\n const iArr = splitPosition(i);\r\n let saved = false;\r\n checkedPositionArr.forEach((_pos) => {\r\n // 设置子节点,全选或全不选\r\n const _posArr = splitPosition(_pos);\r\n if (iArr.length > _posArr.length && isInclude(_posArr, iArr)) {\r\n obj[i].halfChecked = false;\r\n obj[i].checked = checkIt;\r\n objKeys[index] = null;\r\n }\r\n if (iArr[0] === _posArr[0] && iArr[1] === _posArr[1]) {\r\n // 如果\r\n saved = true;\r\n }\r\n });\r\n if (!saved) {\r\n objKeys[index] = null;\r\n }\r\n });\r\n // TODO: 循环 2470000 次耗时约 1400 ms。 性能瓶颈!\r\n // console.log(Date.now()-s, checkedPositionArr.length * objKeys.length);\r\n objKeys = objKeys.filter(i => i); // filter non null;\r\n\r\n for (let pIndex = 0; pIndex < checkedPositionArr.length; pIndex++) {\r\n // 循环设置父节点的 选中 或 半选状态\r\n const loop = (__pos) => {\r\n const _posLen = splitPosition(__pos).length;\r\n if (_posLen <= 2) { // e.g. '0-0', '0-1'\r\n return;\r\n }\r\n let sibling = 0;\r\n let siblingChecked = 0;\r\n const parentPosition = stripTail(__pos);\r\n objKeys.forEach((i /* , index*/) => {\r\n const iArr = splitPosition(i);\r\n if (iArr.length === _posLen && isInclude(splitPosition(parentPosition), iArr)) {\r\n sibling++;\r\n if (obj[i].checked) {\r\n siblingChecked++;\r\n const _i = checkedPositionArr.indexOf(i);\r\n if (_i > -1) {\r\n checkedPositionArr.splice(_i, 1);\r\n if (_i <= pIndex) {\r\n pIndex--;\r\n }\r\n }\r\n } else if (obj[i].halfChecked) {\r\n siblingChecked += 0.5;\r\n }\r\n // objKeys[index] = null;\r\n }\r\n });\r\n // objKeys = objKeys.filter(i => i); // filter non null;\r\n const parent = obj[parentPosition];\r\n // sibling 不会等于0\r\n // 全不选 - 全选 - 半选\r\n if (siblingChecked === 0) {\r\n parent.checked = false;\r\n parent.halfChecked = false;\r\n } else if (siblingChecked === sibling) {\r\n parent.checked = true;\r\n parent.halfChecked = false;\r\n } else {\r\n parent.halfChecked = true;\r\n parent.checked = false;\r\n }\r\n loop(parentPosition);\r\n };\r\n loop(checkedPositionArr[pIndex], pIndex);\r\n }\r\n // console.log(Date.now()-s, objKeys.length, checkIt);\r\n}\r\n\r\nexport function getCheck(treeNodesStates) {\r\n const halfCheckedKeys = [];\r\n const checkedKeys = [];\r\n const checkedNodes = [];\r\n const checkedNodesPositions = [];\r\n Object.keys(treeNodesStates).forEach((item) => {\r\n const itemObj = treeNodesStates[item];\r\n if (itemObj.checked) {\r\n checkedKeys.push(itemObj.key);\r\n checkedNodes.push(itemObj.node);\r\n checkedNodesPositions.push({ node: itemObj.node, pos: item });\r\n } else if (itemObj.halfChecked) {\r\n halfCheckedKeys.push(itemObj.key);\r\n }\r\n });\r\n return {\r\n halfCheckedKeys, checkedKeys, checkedNodes, checkedNodesPositions, treeNodesStates,\r\n };\r\n}\r\n\r\nexport function getStrictlyValue(checkedKeys, halfChecked) {\r\n if (halfChecked) {\r\n return { checked: checkedKeys, halfChecked };\r\n }\r\n return checkedKeys;\r\n}\r\n\r\nexport function arraysEqual(a, b) {\r\n if (a === b) return true;\r\n if (a === null || typeof a === 'undefined' || b === null || typeof b === 'undefined') {\r\n return false;\r\n }\r\n if (a.length !== b.length) return false;\r\n\r\n // If you don't care about the order of the elements inside\r\n // the array, you should sort both arrays here.\r\n\r\n for (let i = 0; i < a.length; ++i) {\r\n if (a[i] !== b[i]) return false;\r\n }\r\n return true;\r\n}\r\n\r\n\r\nexport function closest(el, selector) {\r\n const matchesSelector = el.matches || el.webkitMatchesSelector || el.mozMatchesSelector || el.msMatchesSelector;\r\n\r\n while (el) {\r\n if (matchesSelector.call(el, selector)) {\r\n return el;\r\n } else {\r\n el = el.parentElement;\r\n }\r\n }\r\n return null;\r\n}\r\n\r\nexport function isTreeNode(node) {\r\n return node && node.type && node.type.isTreeNode;\r\n}\r\n\r\nexport function toArray(children) {\r\n const ret = [];\r\n React.Children.forEach(children, (c) => {\r\n ret.push(c);\r\n });\r\n return ret;\r\n}\r\n\r\nexport function getNodeChildren(children) {\r\n return toArray(children).filter(isTreeNode);\r\n}\r\n\r\nlet onlyTreeNodeWarned = false;\r\n\r\nexport function warnOnlyTreeNode() {\r\n if (onlyTreeNodeWarned) return;\r\n onlyTreeNodeWarned = true;\r\n console.warn('Tree only accept TreeNode as children.');\r\n}\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/util.js","import React from 'react';\r\nimport ReactDOM from 'react-dom'\r\nimport classNames from 'classnames';\r\nimport Animate from 'bee-animate';\r\nimport {\r\n browser,\r\n getNodeChildren,\r\n toArray,\r\n warnOnlyTreeNode\r\n} from './util';\r\nimport PropTypes from 'prop-types';\r\nimport { KeyCode } from 'tinper-bee-core';\r\nconst browserUa = typeof window !== 'undefined' ? browser(window.navigator) : '';\r\nconst ieOrEdge = /.*(IE|Edge).+/.test(browserUa);\r\n// const uaArray = browserUa.split(' ');\r\n// const gtIE8 = uaArray.length !== 2 || uaArray[0].indexOf('IE') === -1 || Number(uaArray[1]) > 8;\r\n\r\nconst defaultTitle = '---';\r\n\r\nclass TreeNode extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n [\r\n 'onExpand',\r\n 'onCheck',\r\n 'onContextMenu',\r\n 'onMouseEnter',\r\n 'onMouseLeave',\r\n 'onDragStart',\r\n 'onDragEnter',\r\n 'onDragOver',\r\n 'onDragLeave',\r\n 'onDrop',\r\n 'onDragEnd',\r\n 'onDoubleClick',\r\n 'onKeyDown'\r\n ].forEach((m) => {\r\n this[m] = this[m].bind(this);\r\n });\r\n this.state = {\r\n dataLoading: false,\r\n dragNodeHighlight: false,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n if (!this.props.root._treeNodeInstances) {\r\n this.props.root._treeNodeInstances = [];\r\n }\r\n this.props.root._treeNodeInstances.push(this);\r\n }\r\n // shouldComponentUpdate(nextProps) {\r\n // if (!nextProps.expanded) {\r\n // return false;\r\n // }\r\n // return true;\r\n // }\r\n\r\n onCheck() {\r\n\r\n this.props.root.onCheck(this);\r\n }\r\n\r\n onSelect() {\r\n clearTimeout(this.doubleClickFlag);\r\n let _this = this;\r\n if(this.props.onDoubleClick){\r\n //执行延时\r\n this.doubleClickFlag = setTimeout(function(){\r\n //do function在此处写单击事件要执行的代码\r\n _this.props.root.onSelect(_this);\r\n },300);\r\n }else{\r\n _this.props.root.onSelect(_this);\r\n }\r\n \r\n \r\n }\r\n\r\n \r\n onDoubleClick() {\r\n clearTimeout(this.doubleClickFlag);\r\n this.props.root.onDoubleClick(this);\r\n }\r\n\r\n onMouseEnter(e) {\r\n e.preventDefault();\r\n this.props.root.onMouseEnter(e, this);\r\n }\r\n\r\n onMouseLeave(e) {\r\n e.preventDefault();\r\n this.props.root.onMouseLeave(e, this);\r\n }\r\n\r\n onContextMenu(e) {\r\n e.preventDefault();\r\n this.props.root.onContextMenu(e, this);\r\n }\r\n\r\n onDragStart(e) {\r\n // console.log('dragstart', this.props.eventKey, e);\r\n // e.preventDefault();\r\n e.stopPropagation();\r\n this.setState({\r\n dragNodeHighlight: true,\r\n });\r\n this.props.root.onDragStart(e, this);\r\n try {\r\n // ie throw error\r\n // firefox-need-it\r\n e.dataTransfer.setData('text/plain', '');\r\n } finally {\r\n // empty\r\n }\r\n }\r\n\r\n onDragEnter(e) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n this.props.root.onDragEnter(e, this);\r\n }\r\n\r\n onDragOver(e) {\r\n // todo disabled\r\n e.preventDefault();\r\n e.stopPropagation();\r\n this.props.root.onDragOver(e, this);\r\n return false;\r\n }\r\n\r\n onDragLeave(e) {\r\n e.stopPropagation();\r\n this.props.root.onDragLeave(e, this);\r\n }\r\n\r\n onDrop(e) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n this.setState({\r\n dragNodeHighlight: false,\r\n });\r\n this.props.root.onDrop(e, this);\r\n }\r\n\r\n onDragEnd(e) {\r\n e.stopPropagation();\r\n this.setState({\r\n dragNodeHighlight: false,\r\n });\r\n this.props.root.onDragEnd(e, this);\r\n }\r\n\r\n onExpand() {\r\n const callbackPromise = this.props.root.onExpand(this);\r\n if (callbackPromise && typeof callbackPromise === 'object') {\r\n const setLoading = (dataLoading) => {\r\n this.setState({\r\n dataLoading\r\n });\r\n };\r\n setLoading(true);\r\n callbackPromise.then(() => {\r\n setLoading(false);\r\n }, () => {\r\n setLoading(false);\r\n });\r\n }\r\n }\r\n\r\n // keyboard event support\r\n onKeyDown(e) {\r\n this.props.root.onKeyDown(e,this);\r\n if(e.keyCode == KeyCode.SPACE || e.keyCode == KeyCode.DOWN || e.keyCode == KeyCode.LEFT || e.keyCode == KeyCode.RIGHT ||e.keyCode == KeyCode.UP){\r\n e.preventDefault();\r\n }\r\n \r\n }\r\n\r\n renderSwitcher(props, expandedState) {\r\n let stateIcon;\r\n const prefixCls = props.prefixCls;\r\n const switcherCls = {\r\n [`${prefixCls}-switcher`]: true\r\n };\r\n if (!props.showLine) {\r\n switcherCls[`${prefixCls}-noline_${expandedState}`] = true;\r\n } else if (props.pos === '0-0') {\r\n switcherCls[`${prefixCls}-roots_${expandedState}`] = true;\r\n } else {\r\n switcherCls[`${prefixCls}-center_${expandedState}`] = !props.last;\r\n switcherCls[`${prefixCls}-bottom_${expandedState}`] = props.last;\r\n }\r\n\r\n if (expandedState === 'open' && props.openIcon) {\r\n stateIcon = props.openIcon;\r\n switcherCls['icon-none'] = true;\r\n }\r\n if (expandedState === 'close' && props.closeIcon) {\r\n stateIcon = props.closeIcon;\r\n switcherCls['icon-none'] = true;\r\n }\r\n //switcherCls[stateIcon] = stateIcon;\r\n props.switcherClass?switcherCls[`${props.switcherClass}`]=true:'';\r\n if (props.disabled) {\r\n switcherCls[`${prefixCls}-switcher-disabled`] = true;\r\n return <span className={classNames(switcherCls)} style={props.switcherStyle}>{stateIcon}</span>;\r\n }\r\n return <span className={classNames(switcherCls)} style={props.switcherStyle} onClick={this.onExpand}>{stateIcon}</span>;\r\n }\r\n\r\n renderCheckbox(props) {\r\n const prefixCls = props.prefixCls;\r\n const checkboxCls = {\r\n [`${prefixCls}-checkbox`]: true,\r\n };\r\n if (props.checked) {\r\n checkboxCls[`${prefixCls}-checkbox-checked`] = true;\r\n } else if (props.halfChecked) {\r\n checkboxCls[`${prefixCls}-checkbox-indeterminate`] = true;\r\n }\r\n let customEle = null;\r\n if (typeof props.checkable !== 'boolean') {\r\n customEle = props.checkable;\r\n }\r\n if (props.disabled || props.disableCheckbox) {\r\n checkboxCls[`${prefixCls}-checkbox-disabled`] = true;\r\n return <span ref=\"checkbox\" className={classNames(checkboxCls)}>{customEle}</span>;\r\n }\r\n return (\r\n <span ref=\"checkbox\"\r\n className={classNames(checkboxCls) }\r\n onClick={this.onCheck}\r\n >{customEle}</span>);\r\n }\r\n\r\n renderChildren(props) {\r\n const renderFirst = this.renderFirst;\r\n this.renderFirst = 1;\r\n let transitionAppear = true;\r\n if (!renderFirst && props.expanded) {\r\n transitionAppear = false;\r\n }\r\n const children = props.children;\r\n let newChildren = children;\r\n // 确定所有子节点是否是TreeNode\r\n let allTreeNode = false;\r\n if (Array.isArray(children)) {\r\n for( let index = 0; index < children.length; index++ ){\r\n let item = children[index];\r\n allTreeNode = item.type.isTreeNode == 1;\r\n if( !allTreeNode ){\r\n //当检查到子节点中有不是 TreeNode 的,则直接结束检查。同时不会渲染所有子节点\r\n break;\r\n }\r\n }\r\n \r\n }else if(children && children.type && children.type.isTreeNode == 1){\r\n allTreeNode = true;\r\n }\r\n // 如果props.children的长度大于0才可以生成子对象\r\n if (allTreeNode && React.Children.count(children) ){\r\n const cls = {\r\n [`${props.prefixCls}-child-tree`]: true,\r\n [`${props.prefixCls}-child-tree-open`]: props.expanded,\r\n };\r\n if (props.showLine) {\r\n cls[`${props.prefixCls}-line`] = !props.last;\r\n }\r\n const animProps = {};\r\n if (props.openTransitionName) {\r\n animProps.transitionName = props.openTransitionName;\r\n } else if (typeof props.openAnimation === 'object') {\r\n animProps.animation = Object.assign({}, props.openAnimation);\r\n if (!transitionAppear) {\r\n delete animProps.animation.appear;\r\n }\r\n }\r\n newChildren = (\r\n <Animate {...animProps}\r\n showProp=\"data-expanded\"\r\n transitionAppear={transitionAppear}\r\n component=\"\"\r\n >\r\n {!props.expanded ? null : <ul className={classNames(cls)} data-expanded={props.expanded}>\r\n {React.Children.map(children, (item, index) => {\r\n return props.root.renderTreeNode(item, index, props.pos);\r\n }, props.root)}\r\n </ul>}\r\n </Animate>\r\n );\r\n }\r\n return newChildren;\r\n }\r\n\r\n getNodeChildren = () => {\r\n const { children } = this.props;\r\n const originList = toArray(children).filter(node => node);\r\n const targetList = getNodeChildren(originList);\r\n\r\n if (originList.length !== targetList.length) {\r\n warnOnlyTreeNode();\r\n }\r\n\r\n return targetList;\r\n };\r\n /**\r\n *判断是否为叶子节点,isLeaf的优先级>props.children。如果是异步加载是根据isLeaf的值进行判断的\r\n *\r\n * @returns\r\n * @memberof TreeNode\r\n */\r\n checkIsLeaf(){\r\n const { isLeaf, loadData } = this.props;\r\n\r\n const hasChildren = this.getNodeChildren().length !== 0;\r\n\r\n if (isLeaf === false) {\r\n return false;\r\n }\r\n\r\n return (\r\n isLeaf || (!loadData && !hasChildren) \r\n );\r\n }\r\n render() {\r\n const props = this.props;\r\n const prefixCls = props.prefixCls;\r\n const expandedState = props.expanded ? 'open' : 'close';\r\n let iconState = expandedState;\r\n\r\n let canRenderSwitcher = true;\r\n const content = props.title;\r\n let newChildren = this.renderChildren(props);\r\n let openIconCls = false,\r\n closeIconCls = false;\r\n\r\n //以下变量控制是否鼠标单机双击方法中的变量\r\n let timer = 0;\r\n let delay = 500;\r\n let prevent = false;\r\n\r\n // if (!newChildren || newChildren === props.children) {\r\n // // content = newChildren;\r\n // newChildren = null;\r\n // if (!props.loadData || props.isLeaf) {\r\n // canRenderSwitcher = false;\r\n // iconState = 'docu';\r\n // }\r\n // }\r\n if(this.checkIsLeaf()){\r\n canRenderSwitcher = false;\r\n iconState = 'docu';\r\n }\r\n // For performance, does't render children into dom when `!props.expanded` (move to Animate)\r\n // if (!props.expanded) {\r\n // newChildren = null;\r\n // }\r\n\r\n const iconEleCls = {\r\n [`${prefixCls}-iconEle`]: true,\r\n [`${prefixCls}-icon_loading`]: this.state.dataLoading,\r\n [`${prefixCls}-icon__${iconState}`]: true\r\n };\r\n const selectHandle = () => {\r\n const titleClass=props.titleClass?prefixCls+'-title'+' '+props.className:prefixCls+'-title';\r\n // const icon = (props.showIcon || props.loadData && this.state.dataLoading) ?\r\n // <span className={classNames(iconEleCls)}></span> : null;\r\n let icon;\r\n if(props.showIcon && props.icon){\r\n icon = <span\r\n className={classNames(\r\n `${prefixCls}-iconEle`,\r\n `${prefixCls}-icon__customize`,\r\n )}\r\n >\r\n {typeof currentIcon === 'function' ?\r\n React.createElement(props.icon, {\r\n ...this.props,\r\n }) : props.icon}\r\n </span>\r\n }else if(props.showIcon || props.loadData && this.state.dataLoading){\r\n icon = <span className={classNames(iconEleCls)}></span>\r\n }\r\n const title = <span className={titleClass} style={props.titleStyle} >{content}</span>;\r\n const wrap = `${prefixCls}-node-content-wrapper`;\r\n const domProps = {\r\n className: `${wrap} ${wrap}-${iconState === expandedState ? iconState : 'normal'}`,\r\n };\r\n if (!props.disabled) {\r\n if (props.selected || !props._dropTrigger && this.state.dragNodeHighlight) {\r\n domProps.className += ` ${prefixCls}-node-selected`;\r\n }\r\n domProps.onClick = (e) => {\r\n var _this = this;\r\n e.preventDefault();\r\n if (props.selectable) {\r\n _this.onSelect();\r\n }\r\n\r\n // not fire check event\r\n // if (props.checkable) {\r\n // this.onCheck();\r\n // }\r\n };\r\n\r\n if(props.onDoubleClick){\r\n domProps.onDoubleClick = this.onDoubleClick;\r\n }\r\n\r\n if (props.onRightClick) {\r\n domProps.onContextMenu = this.onContextMenu;\r\n }\r\n if (props.onMouseEnter) {\r\n domProps.onMouseEnter = this.onMouseEnter;\r\n }\r\n if (props.onMouseLeave) {\r\n domProps.onMouseLeave = this.onMouseLeave;\r\n }\r\n \r\n\r\n if (props.draggable) {\r\n domProps.className += ' draggable';\r\n if (ieOrEdge) {\r\n // ie bug!\r\n domProps.href = '#';\r\n }\r\n domProps.draggable = true;\r\n domProps['aria-grabbed'] = true;\r\n domProps.onDragStart = this.onDragStart;\r\n }\r\n }\r\n //设置tabIndex\r\n if(props.focusable){\r\n domProps.onKeyDown = this.onKeyDown;\r\n domProps.tabIndex = -1;\r\n if(props.tabIndexKey){\r\n if(props.eventKey == props.tabIndexKey){\r\n domProps.tabIndex = props.tabIndexValue;\r\n }\r\n }else if(props.pos == '0-0'){\r\n domProps.tabIndex = props.tabIndexValue;\r\n }\r\n }\r\n \r\n\r\n \r\n return (\r\n <a ref=\"selectHandle\" pos={props.pos} title={typeof content === 'string' ? content : ''} {...domProps}>\r\n {icon}{title}\r\n </a>\r\n );\r\n };\r\n\r\n const liProps = {};\r\n if (props.draggable) {\r\n liProps.onDragEnter = this.onDragEnter;\r\n liProps.onDragOver = this.onDragOver;\r\n liProps.onDragLeave = this.onDragLeave;\r\n liProps.onDrop = this.onDrop;\r\n liProps.onDragEnd = this.onDragEnd;\r\n }\r\n\r\n let disabledCls = '';\r\n let dragOverCls = '';\r\n if (props.disabled) {\r\n disabledCls = `${prefixCls}-treenode-disabled`;\r\n } else if (props.dragOver) {\r\n dragOverCls = 'drag-over';\r\n } else if (props.dragOverGapTop) {\r\n dragOverCls = 'drag-over-gap-top';\r\n } else if (props.dragOverGapBottom) {\r\n dragOverCls = 'drag-over-gap-bottom';\r\n }\r\n\r\n const filterCls = props.filterTreeNode(this) ? 'filter-node' : '';\r\n\r\n const noopSwitcher = () => {\r\n const cls = {\r\n [`${prefixCls}-switcher`]: true,\r\n [`${prefixCls}-switcher-noop`]: true,\r\n };\r\n if (props.showLine) {\r\n // console.log('line---------');\r\n cls[`${prefixCls}-center_docu`] = !props.last;\r\n cls[`${prefixCls}-bottom_docu`] = props.last;\r\n } else {\r\n cls[`${prefixCls}-noline_docu`] = true;\r\n }\r\n return <span className={classNames(cls)}></span>;\r\n };\r\n\r\n return (\r\n <li {...liProps} ref=\"li\" style={props.style}\r\n className={classNames(props.className, disabledCls, dragOverCls, filterCls) }\r\n >\r\n {canRenderSwitcher ? this.renderSwitcher(props, expandedState) : noopSwitcher()}\r\n {props.checkable ? this.renderCheckbox(props) : null}\r\n {selectHandle()}\r\n {newChildren}\r\n </li>\r\n );\r\n }\r\n}\r\n\r\nTreeNode.isTreeNode = 1;\r\n\r\nTreeNode.propTypes = {\r\n prefixCls: PropTypes.string,\r\n disabled: PropTypes.bool,\r\n disableCheckbox: PropTypes.bool,\r\n expanded: PropTypes.bool,\r\n isLeaf: PropTypes.bool,\r\n root: PropTypes.object,\r\n onSelect: PropTypes.func,\r\n openIcon: PropTypes.element,\r\n closeIcon: PropTypes.element,\r\n style: PropTypes.object,\r\n className: PropTypes.string,\r\n titleClass:PropTypes.string,\r\n titleStyle:PropTypes.object,\r\n switcherClass:PropTypes.string,\r\n switcherStyle:PropTypes.object\r\n};\r\n\r\nTreeNode.defaultProps = {\r\n title: defaultTitle,\r\n tabIndexValue:0\r\n};\r\n\r\nexport default TreeNode;\n\n\n// WEBPACK FOOTER //\n// ./src/TreeNode.js","import { cssAnimation } from 'tinper-bee-core';\r\n\r\nfunction animate(node, show, done) {\r\n let height;\r\n return cssAnimation(node, 'u-motion-collapse', {\r\n start() {\r\n if (!show) {\r\n node.style.height = `${node.offsetHeight}px`;\r\n } else {\r\n height = node.offsetHeight;\r\n node.style.height = 0;\r\n }\r\n },\r\n active() {\r\n node.style.height = `${show ? height : 0}px`;\r\n },\r\n end() {\r\n node.style.height = '';\r\n done();\r\n },\r\n });\r\n}\r\n\r\nconst animation = {\r\n enter(node, done) {\r\n return animate(node, true, done);\r\n },\r\n leave(node, done) {\r\n return animate(node, false, done);\r\n },\r\n appear(node, done) {\r\n return animate(node, true, done);\r\n },\r\n};\r\n\r\nexport default animation;\r\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","/**\r\n*\r\n* @title Tree数据可控示例\r\n* @description\r\n*\r\n*/\r\n\r\nimport React, { Component } from 'react';\r\nimport Tree from '../../src';\r\n\r\nconst x = 6;\r\nconst y = 5;\r\nconst z = 2;\r\nconst gData = [];\r\n\r\nconst generateData = (_level, _preKey, _tns) => {\r\n const preKey = _preKey || '0';\r\n const tns = _tns || gData;\r\n\r\n const children = [];\r\n for (let i = 0; i < x; i++) {\r\n const key = `${preKey}-${i}`;\r\n tns.push({ title: key, key });\r\n if (i < y) {\r\n children.push(key);\r\n }\r\n }\r\n if (_level < 0) {\r\n return tns;\r\n }\r\n const level = _level - 1;\r\n children.forEach((key, index) => {\r\n tns[index].children = [];\r\n return generateData(level, key, tns[index].children);\r\n });\r\n};\r\ngenerateData(z);\r\n\r\nconst TreeNode = Tree.TreeNode;\r\n\r\n\r\nclass Demo2 extends Component{\r\n constructor(props) {\r\n \tsuper(props);\r\n this.state = {\r\n expandedKeys: [],\r\n autoExpandParent: true,\r\n checkedKeys: ['0-0-0'],\r\n selectedKeys: [],\r\n };\r\n this.onExpand = this.onExpand.bind(this);\r\n this.onCheck = this.onCheck.bind(this);\r\n this.onSelect = this.onSelect.bind(this);\r\n }\r\n onExpand(expandedKeys) {\r\n console.log('onExpand', arguments);\r\n // if not set autoExpandParent to false, if children expanded, parent can not collapse.\r\n // or, you can remove all expanded children keys.\r\n this.setState({\r\n expandedKeys,\r\n autoExpandParent: false,\r\n });\r\n }\r\n onCheck(checkedKeys) {\r\n this.setState({\r\n checkedKeys,\r\n selectedKeys: ['0-3', '0-4'],\r\n });\r\n }\r\n onSelect(selectedKeys, info) {\r\n console.log('onSelect', info);\r\n this.setState({ selectedKeys });\r\n }\r\n render() {\r\n const loop = data => data.map((item) => {\r\n if (item.children) {\r\n return (\r\n <TreeNode key={item.key} title={item.key} disableCheckbox={item.key === '0-0-0'}>\r\n {loop(item.children)}\r\n </TreeNode>\r\n );\r\n }\r\n return <TreeNode key={item.key} title={item.key} isLeaf={true}/>;\r\n });\r\n return (\r\n <Tree\r\n checkable\r\n focusable\r\n onExpand={this.onExpand} expandedKeys={this.state.expandedKeys}\r\n autoExpandParent={this.state.autoExpandParent}\r\n onCheck={this.onCheck} \r\n onSelect={this.onSelect} \r\n >\r\n {loop(gData)}\r\n </Tree>\r\n );\r\n }\r\n};\r\n\r\n\r\nexport default Demo2;\n\n\n// WEBPACK FOOTER //\n// ./demo/demolist/Demo2.js","/**\r\n*\r\n* @title Tree 拖拽使用示例\r\n* @description 拖动结点插入到另一个结点后面或者其他的父节点里面。\r\n*\r\n*/\r\n\r\n\r\n\r\nimport React, { Component } from 'react';\r\nimport Tree from '../../src';\r\n\r\nconst x = 3;\r\nconst y = 2;\r\nconst z = 1;\r\nconst gData = [];\r\n\r\nconst generateData = (_level, _preKey, _tns) => {\r\n const preKey = _preKey || '0';\r\n const tns = _tns || gData;\r\n\r\n const children = [];\r\n for (let i = 0; i < x; i++) {\r\n const key = `${preKey}-${i}`;\r\n tns.push({ title: key, key });\r\n if (i < y) {\r\n children.push(key);\r\n }\r\n }\r\n if (_level < 0) {\r\n return tns;\r\n }\r\n const level = _level - 1;\r\n children.forEach((key, index) => {\r\n tns[index].children = [];\r\n return generateData(level, key, tns[index].children);\r\n });\r\n};\r\ngenerateData(z);\r\n\r\nconst TreeNode = Tree.TreeNode;\r\n\r\nclass Demo3 extends Component{\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n gData,\r\n expandedKeys: ['0-0', '0-0-0', '0-0-0-0'],\r\n };\r\n this.onDragEnter = this.onDragEnter.bind(this);\r\n this.onDrop = this.onDrop.bind(this);\r\n }\r\n onDragEnter(info) {\r\n console.log(info);\r\n // expandedKeys 需要受控时设置\r\n // this.setState({\r\n // expandedKeys: info.expandedKeys,\r\n // });\r\n }\r\n onDrop(info) {\r\n console.log(info);\r\n const dropKey = info.node.props.eventKey;\r\n const dragKey = info.dragNode.props.eventKey;\r\n // const dragNodesKeys = info.dragNodesKeys;\r\n const loop = (data, key, callback) => {\r\n data.forEach((item, index, arr) => {\r\n if (item.key === key) {\r\n return callback(item, index, arr);\r\n }\r\n if (item.children) {\r\n return loop(item.children, key, callback);\r\n }\r\n });\r\n };\r\n const data = [...this.state.gData];\r\n let dragObj;\r\n loop(data, dragKey, (item, index, arr) => {\r\n arr.splice(index, 1);\r\n dragObj = item;\r\n });\r\n if (info.dropToGap) {\r\n let ar;\r\n let i;\r\n loop(data, dropKey, (item, index, arr) => {\r\n ar = arr;\r\n i = index;\r\n });\r\n ar.splice(i, 0, dragObj);\r\n } else {\r\n loop(data, dropKey, (item) => {\r\n item.children = item.children || [];\r\n // where to insert 示例添加到尾部,可以是随意位置\r\n item.children.push(dragObj);\r\n });\r\n }\r\n this.setState({\r\n gData: data,\r\n });\r\n }\r\n render() {\r\n const loop = data => data.map((item) => {\r\n if (item.children && item.children.length) {\r\n return <TreeNode key={item.key} title={item.key}>{loop(item.children)}</TreeNode>;\r\n }\r\n return <TreeNode key={item.key} title={item.key} />;\r\n });\r\n return (\r\n <Tree\r\n defaultExpandedKeys={this.state.expandedKeys}\r\n draggable\r\n onDragEnter={this.onDragEnter}\r\n onDrop={this.onDrop}\r\n >\r\n {loop(this.state.gData)}\r\n </Tree>\r\n );\r\n }\r\n};\r\n\r\nexport default Demo3;\n\n\n// WEBPACK FOOTER //\n// ./demo/demolist/Demo3.js","/**\r\n *\r\n * @title Tree可搜索示例\r\n * @description\r\n *\r\n */\r\n\r\n\r\nimport React, {\r\n Component\r\n} from 'react';\r\nimport FormControl from 'bee-form-control';\r\nimport Tree from '../../src';\r\n\r\nconst x = 3;\r\nconst y = 2;\r\nconst z = 1;\r\nconst gData = [];\r\n\r\nconst generateData = (_level, _preKey, _tns) => {\r\n const preKey = _preKey || '0';\r\n const tns = _tns || gData;\r\n\r\n const children = [];\r\n for (let i = 0; i < x; i++) {\r\n const key = `${preKey}-${i}`;\r\n tns.push({\r\n title: key,\r\n key\r\n });\r\n if (i < y) {\r\n children.push(key);\r\n }\r\n }\r\n if (_level < 0) {\r\n return tns;\r\n }\r\n const level = _level - 1;\r\n children.forEach((key, index) => {\r\n tns[index].children = [];\r\n return generateData(level, key, tns[index].children);\r\n });\r\n};\r\ngenerateData(z);\r\n\r\nconst TreeNode = Tree.TreeNode;\r\n\r\nconst dataList = [];\r\nconst generateList = (data) => {\r\n for (let i = 0; i < data.length; i++) {\r\n const node = data[i];\r\n const key = node.key;\r\n dataList.push({\r\n key,\r\n title: key\r\n });\r\n if (node.children) {\r\n generateList(node.children, node.key);\r\n }\r\n }\r\n};\r\ngenerateList(gData);\r\n\r\nconst getParentKey = (key, tree) => {\r\n let parentKey;\r\n for (let i = 0; i < tree.length; i++) {\r\n const node = tree[i];\r\n if (node.children) {\r\n if (node.children.some(item => item.key === key)) {\r\n parentKey = node.key;\r\n } else if (getParentKey(key, node.children)) {\r\n parentKey = getParentKey(key, node.children);\r\n }\r\n }\r\n }\r\n return parentKey;\r\n};\r\n\r\n\r\nclass Demo4 extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n expandedKeys: [],\r\n searchValue: '',\r\n autoExpandParent: true,\r\n }\r\n }\r\n onExpand = (expandedKeys) => {\r\n this.setState({\r\n expandedKeys,\r\n autoExpandParent: false,\r\n });\r\n }\r\n onChange = (value) => {\r\n\r\n const expandedKeys = [];\r\n dataList.forEach((item) => {\r\n if (item.key.indexOf(value) > -1) {\r\n expandedKeys.push(getParentKey(item.key, gData));\r\n }\r\n });\r\n const uniqueExpandedKeys = [];\r\n expandedKeys.forEach((item) => {\r\n if (item && uniqueExpandedKeys.indexOf(item) === -1) {\r\n uniqueExpandedKeys.push(item);\r\n }\r\n });\r\n this.setState({\r\n expandedKeys: uniqueExpandedKeys,\r\n searchValue: value,\r\n autoExpandParent: true,\r\n });\r\n }\r\n render() {\r\n const {\r\n searchValue,\r\n expandedKeys,\r\n autoExpandParent\r\n } = this.state;\r\n const loop = data => data.map((item) => {\r\n const index = item.key.search(searchValue);\r\n const beforeStr = item.key.substr(0, index);\r\n const afterStr = item.key.substr(index + searchValue.length);\r\n const title = index > -1 ? (\r\n <span>\r\n {beforeStr}\r\n <span className=\"u-tree-searchable-filter\">{searchValue}</span>\r\n {afterStr}\r\n </span>\r\n ) : <span>{item.key}</span>;\r\n if (item.children) {\r\n return (\r\n <TreeNode key={item.key} title={title}>\r\n {loop(item.children)}\r\n </TreeNode>\r\n );\r\n }\r\n return <TreeNode key={item.key} title={title} />;\r\n });\r\n return (\r\n <div>\r\n <FormControl\r\n style={{ width: 200 }}\r\n placeholder=\"Search\"\r\n onChange={this.onChange}\r\n />\r\n <Tree\r\n onExpand={this.onExpand}\r\n expandedKeys={expandedKeys}\r\n autoExpandParent={autoExpandParent}\r\n >\r\n {loop(gData)}\r\n </Tree>\r\n </div>\r\n );\r\n }\r\n}\r\n\r\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","/**\r\n *\r\n * @title Tree异步数据加载\r\n * @description 当点击展开,异步获取子节点数据\r\n *\r\n */\r\n\r\n\r\nimport React, {\r\n Component\r\n} from 'react';\r\nimport Tree from '../../src';\r\n\r\nconst x = 3;\r\nconst y = 2;\r\nconst z = 1;\r\nconst gData = [];\r\n\r\nconst generateData = (_level, _preKey, _tns) => {\r\n const preKey = _preKey || '0';\r\n const tns = _tns || gData;\r\n\r\n const children = [];\r\n for (let i = 0; i < x; i++) {\r\n const key = `${preKey}-${i}`;\r\n tns.push({\r\n title: key,\r\n key\r\n });\r\n if (i < y) {\r\n children.push(key);\r\n }\r\n }\r\n if (_level < 0) {\r\n return tns;\r\n }\r\n const level = _level - 1;\r\n children.forEach((key, index) => {\r\n tns[index].children = [];\r\n return generateData(level, key, tns[index].children);\r\n });\r\n};\r\ngenerateData(z);\r\n\r\nconst TreeNode = Tree.TreeNode;\r\n\r\nfunction generateTreeNodes(treeNode) {\r\n const arr = [];\r\n const key = treeNode.props.eventKey;\r\n for (let i = 0; i < 3; i++) {\r\n arr.push({\r\n name: `leaf ${key}-${i}`,\r\n key: `${key}-${i}`\r\n });\r\n }\r\n return arr;\r\n}\r\n\r\nfunction setLeaf(treeData, curKey, level) {\r\n const loopLeaf = (data, lev) => {\r\n const l = lev - 1;\r\n data.forEach((item) => {\r\n if ((item.key.length > curKey.length) ? item.key.indexOf(curKey) !== 0 :\r\n curKey.indexOf(item.key) !== 0) {\r\n return;\r\n }\r\n if (item.children) {\r\n loopLeaf(item.children, l);\r\n } else if (l < 1) {\r\n item.isLeaf = true;\r\n }\r\n });\r\n };\r\n loopLeaf(treeData, level + 1);\r\n}\r\n\r\nfunction getNewTreeData(treeData, curKey, child, level) {\r\n const loop = (data) => {\r\n if (level < 1 || curKey.length - 3 > level * 2) return;\r\n data.forEach((item) => {\r\n if (curKey.indexOf(item.key) === 0) {\r\n if (item.children) {\r\n loop(item.children);\r\n } else {\r\n item.children = child;\r\n }\r\n }\r\n });\r\n };\r\n loop(treeData);\r\n setLeaf(treeData, curKey, level);\r\n}\r\n\r\nclass Demo5 extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n treeData: [],\r\n };\r\n this.onSelect = this.onSelect.bind(this);\r\n this.onLoadData = this.onLoadData.bind(this);\r\n }\r\n componentDidMount() {\r\n setTimeout(() => {\r\n this.setState({\r\n treeData: [{\r\n name: 'pNode 01',\r\n key: '0-0'\r\n }, {\r\n name: 'pNode 02',\r\n key: '0-1'\r\n }, {\r\n name: 'pNode 03',\r\n key: '0-2',\r\n isLeaf: true\r\n }, ],\r\n });\r\n }, 100);\r\n }\r\n onSelect(info) {\r\n console.log('selected', info);\r\n }\r\n onLoadData(treeNode) {\r\n return new Promise((resolve) => {\r\n setTimeout(() => {\r\n const treeData = [...this.state.treeData];\r\n getNewTreeData(treeData, treeNode.props.eventKey, generateTreeNodes(treeNode), 2);\r\n this.setState({\r\n treeData\r\n });\r\n resolve();\r\n }, 1000);\r\n });\r\n }\r\n render() {\r\n const loop = data => data.map((item) => {\r\n if (item.children) {\r\n return <TreeNode title={item.name} key={item.key}>{loop(item.children)}</TreeNode>;\r\n }\r\n return <TreeNode title={item.name} key={item.key} isLeaf={item.isLeaf} disabled={item.key === '0-0-0'} />;\r\n });\r\n const treeNodes = loop(this.state.treeData);\r\n return (\r\n <Tree onSelect={this.onSelect} loadData={this.onLoadData} >\r\n {treeNodes}\r\n </Tree>\r\n );\r\n }\r\n};\r\n\r\nexport default Demo5\n\n\n// WEBPACK FOOTER //\n// ./demo/demolist/Demo5.js","/**\r\n *\r\n * @title Tree基本使用示例自定义图标\r\n * @description 添加openIcon、closeIcon属性\r\n *\r\n */\r\n\r\n\r\nimport React, {\r\n\tComponent\r\n} from 'react';\r\nimport Tree from '../../src';\r\nimport Icon from 'bee-icon';\r\nconst TreeNode = Tree.TreeNode;\r\n\r\nconst defaultProps = {\r\n\tkeys: ['0-0-0', '0-0-1']\r\n}\r\nconsole.log(Tree);\r\nclass Demo1 extends Component {\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\t\tconst keys = this.props.keys;\r\n\t\tthis.state = {\r\n\t\t\tdefaultExpandedKeys: keys,\r\n\t\t\tdefaultSelectedKeys: keys,\r\n\t\t\tdefaultCheckedKeys: keys,\r\n\t\t};\r\n\t}\r\n\tonSelect(info) {\r\n\t\tconsole.log('selected', info);\r\n\t}\r\n\tonCheck(info) {\r\n\t\tconsole.log('onCheck', info);\r\n\t}\r\n\trender() {\r\n\t\treturn (\r\n\r\n\t\t\t<Tree className=\"myCls\" checkable openIcon={<Icon type=\"uf-minus\" />} closeIcon={<Icon type=\"uf-plus\" />}\r\n\t defaultExpandedKeys={this.state.defaultExpandedKeys}\r\n\t defaultSelectedKeys={this.state.defaultSelectedKeys}\r\n\t defaultCheckedKeys={this.state.defaultCheckedKeys}\r\n\t onSelect={this.onSelect} onCheck={this.onCheck}\r\n\t >\r\n\t <TreeNode title=\"parent 1\" key=\"0-0\">\r\n\t <TreeNode title=\"parent 1-0\" key=\"0-0-0\" disabled>\r\n\t <TreeNode title=\"leaf\" key=\"0-0-0-0\" disableCheckbox />\r\n\t <TreeNode title=\"leaf\" key=\"0-0-0-1\" />\r\n\t </TreeNode>\r\n\t <TreeNode title=\"parent 1-1\" key=\"0-0-1\">\r\n\t <TreeNode title={<span style={{ color: '#08c' }}>sss</span>} key=\"0-0-1-0\" />\r\n\t </TreeNode>\r\n\t </TreeNode>\r\n\t </Tree>\r\n\t\t);\r\n\t}\r\n}\r\n\r\nDemo1.defaultProps = defaultProps;\r\n\r\n\r\nexport default Demo1;\n\n\n// WEBPACK FOOTER //\n// ./demo/demolist/Demo6.js","/**\r\n *\r\n * @title Tree增加节点\r\n * @description \r\n *\r\n */\r\n\r\n\r\nimport React, {\r\n Component\r\n} from 'react';\r\nimport Tree from '../../src';\r\nimport Button from 'bee-button';\r\n\r\nconst TreeNode = Tree.TreeNode;\r\n\r\n\r\nclass Demo7 extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n treeData: [],\r\n defaultExpandedKeys: ['0-0', '0-1', '0-2'],\r\n parentNode: {}\r\n };\r\n this.onSelect = this.onSelect.bind(this);\r\n this.addNode = this.addNode.bind(this);\r\n this.clickFun = this.clickFun.bind(this);\r\n this.getNodeByKey = this.getNodeByKey.bind(this);\r\n this.parentNode = null\r\n }\r\n componentDidMount() {\r\n setTimeout(() => {\r\n this.setState({\r\n treeData: [{\r\n name: 'pNode 01',\r\n key: '0-0',\r\n children: [{\r\n name: 'leaf 0-0-0',\r\n key: '0-0-0'\r\n }, {\r\n name: 'leaf 0-0-1',\r\n key: '0-0-1'\r\n }]\r\n }, {\r\n name: 'pNode 02',\r\n key: '0-1',\r\n children: [{\r\n name: 'leaf 0-1-0',\r\n key: '0-1-0'\r\n }, {\r\n name: 'leaf 0-1-1',\r\n key: '0-1-1'\r\n }]\r\n }, {\r\n name: 'pNode 03',\r\n key: '0-2',\r\n isLeaf: true\r\n }, ],\r\n });\r\n }, 100);\r\n }\r\n /**\r\n * 增加节点\r\n * @param string prKey [父节点key]\r\n * @param object nodeItem [子节点信息]\r\n */\r\n addNode(prKey, nodeItem) {\r\n const data = this.state.treeData;\r\n let parNode;\r\n if (prKey) {\r\n // 如果prKey存在则搜索父节点进行添加\r\n parNode = this.getNodeByKey(data, prKey);\r\n //如果父节点存在的话,添加到父节点上\r\n if (parNode) {\r\n if (!parNode.children) {\r\n parNode.children = [];\r\n }\r\n // 如果key不存在就动态生成一个\r\n if (!nodeItem.key) {\r\n nodeItem.key = prKey + parNode.children.length + 1;\r\n }\r\n parNode.children.push(nodeItem);\r\n }\r\n } else {\r\n // 没有穿prKey添加到根下成为一级节点\r\n if (!nodeItem.key) {\r\n nodeItem.key = \"0-\" + data.length + 1;\r\n }\r\n data.push(nodeItem);\r\n }\r\n\r\n this.setState({\r\n data\r\n });\r\n }\r\n\r\n getNodeByKey(data, key) {\r\n if (!this.parentNode) {\r\n data.find(item => {\r\n if (item.key === key) {\r\n console.log('item.name---' + item.name)\r\n this.parentNode = item;\r\n return (true);\r\n } else if (item.children) {\r\n return this.getNodeByKey(item.children, key);\r\n\r\n }\r\n })\r\n }\r\n return this.parentNode;\r\n }\r\n\r\n\r\n\r\n onSelect(info) {\r\n console.log('selected', info);\r\n }\r\n /**\r\n * 点击button事件\r\n */\r\n clickFun() {\r\n let prKey, nodeItem;\r\n prKey = '0-1';\r\n nodeItem = {\r\n name: 'leaf 0-0-4'\r\n }\r\n this.addNode(prKey, nodeItem);\r\n }\r\n\r\n render() {\r\n const loop = data => data.map((item) => {\r\n if (item.children) {\r\n return <TreeNode title={item.name} key={item.key}>{loop(item.children)}</TreeNode>;\r\n }\r\n return <TreeNode title={item.name} key={item.key} isLeaf={item.isLeaf} disabled={item.key === '0-0-0'} />;\r\n });\r\n const treeNodes = loop(this.state.treeData);\r\n console.log('defaultKeys--' + this.state.defaultExpandedKeys);\r\n return (\r\n <div>\r\n <Tree onSelect={this.onSelect} defaultExpandedKeys={this.state.defaultExpandedKeys}>\r\n {treeNodes}\r\n </Tree>\r\n <Button colors=\"success\" onClick={this.clickFun}>\r\n 增加节点\r\n </Button>\r\n </div>\r\n );\r\n }\r\n};\r\n\r\nexport default Demo7\n\n\n// WEBPACK FOOTER //\n// ./demo/demolist/Demo7.js","/**\r\n *\r\n * @title Tree 节点可编辑\r\n * @description 鼠标移动到节点上点击编辑图标进行编辑。e.node.props.eventKey代表当前节点key值。editKey指当前操作的节点key\r\n */\r\n\r\n\r\nimport React, {\r\n\tComponent\r\n} from 'react';\r\nimport Tree from '../../src';\r\nimport Button from 'bee-button';\r\nimport Icon from 'bee-icon';\r\n\r\nconst TreeNode = Tree.TreeNode;\r\n\r\nclass Demo8 extends Component {\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\r\n\t\tthis.state = {\r\n\t\t\ttreeData: [],\r\n\t\t\tisHover: \"\",\r\n\t\t\teditKey: \"\"\r\n\t\t};\r\n\r\n\t}\r\n\r\n\r\n\tonMouseEnter = (e) => {\r\n\t\tthis.setState({\r\n\t\t\tisHover: e.node.props.eventKey\r\n\t\t})\r\n\t}\r\n\tonMouseLeave = (e, treenode) => {\r\n\t\tthis.setState({\r\n\t\t\tisHover: \"\",\r\n\t\t\teditKey: \"\"\r\n\t\t})\r\n\r\n\t}\r\n\r\n\teditRender = (item) => {\r\n\t\tthis.setState({\r\n\t\t\teditKey: item.key\r\n\t\t});\r\n\t}\r\n\tnodechange = (item, value) => {\r\n\t\titem.name = value;\r\n\t}\r\n\trenderTreeTitle = (item) => {\r\n\t\tlet titleIcon, titleInfo;\r\n\t\t//编辑时input框\r\n\t\tif (this.state.editKey == item.key) {\r\n\t\t\ttitleInfo = <input type=\"text\" id=\"itemKey\" defaultValue={item.name} onChange={(e) => this.nodechange(item, e.target.value)} />\r\n\t\t} else {\r\n\t\t\ttitleInfo = <span className=\"title-middle\">{item.name}</span>\r\n\t\t}\r\n\t\t//编辑图标\r\n\t\tif (this.state.isHover == item.key) {\r\n\t\t\ttitleIcon = <Icon className=\"title-middle edit-icon\" type=\"uf-pencil\" onClick={(e) => this.editRender(item)}></Icon>;\r\n\t\t}\r\n\t\treturn (<div className=\"title-con\">\r\n\r\n\t\t\t{titleInfo}\r\n\t\t\t{titleIcon}\r\n\t\t</div>);\r\n\t}\r\n\r\n\tcomponentDidMount = () => {\r\n\t\tsetTimeout(() => {\r\n\t\t\tthis.setState({\r\n\t\t\t\ttreeData: [{\r\n\t\t\t\t\tname: 'pNode 01',\r\n\t\t\t\t\tkey: '0-0',\r\n\t\t\t\t\tchildren: [{\r\n\t\t\t\t\t\tname: 'leaf 0-0-0',\r\n\t\t\t\t\t\tkey: '0-0-0'\r\n\t\t\t\t\t}, {\r\n\t\t\t\t\t\tname: 'leaf 0-0-1',\r\n\t\t\t\t\t\tkey: '0-0-1'\r\n\t\t\t\t\t}]\r\n\t\t\t\t}, {\r\n\t\t\t\t\tname: 'pNode 02',\r\n\t\t\t\t\tkey: '0-1',\r\n\t\t\t\t\tchildren: [{\r\n\t\t\t\t\t\tname: 'leaf 0-1-0',\r\n\t\t\t\t\t\tkey: '0-1-0'\r\n\t\t\t\t\t}, {\r\n\t\t\t\t\t\tname: 'leaf 0-1-1',\r\n\t\t\t\t\t\tkey: '0-1-1'\r\n\t\t\t\t\t}]\r\n\t\t\t\t}, {\r\n\t\t\t\t\tname: 'pNode 03',\r\n\t\t\t\t\tkey: '0-2',\r\n\t\t\t\t\tisLeaf: true\r\n\t\t\t\t}, ],\r\n\t\t\t});\r\n\t\t\r\n\t\t}, 100);\r\n\t}\r\n\trender() {\r\n\t\tconst loop = data => data.map((item) => {\r\n\t\t\tif (item.children) {\r\n\t\t\t\treturn <TreeNode title={this.renderTreeTitle(item)} key={item.key}>{loop(item.children)}</TreeNode>;\r\n\t\t\t}\r\n\t\t\treturn <TreeNode title={this.renderTreeTitle(item)} key={item.key} isLeaf={item.isLeaf} disabled={item.key === '0-0-0'} />;\r\n\t\t});\r\n\t\tconst treeNodes = loop(this.state.treeData);\r\n\t\treturn (\r\n\t\t\t<Tree onMouseLeave={this.onMouseLeave} onMouseEnter={this.onMouseEnter}>\r\n\t\t\t\t{treeNodes}\r\n\t\t\t</Tree>\r\n\r\n\t\t);\r\n\t}\r\n}\r\n\r\n\r\n\r\nexport default Demo8;\n\n\n// WEBPACK FOOTER //\n// ./demo/demolist/Demo8.js","/**\r\n *\r\n * @title 连接线Tree\r\n * @description \r\n *\r\n */\r\n\r\n\r\nimport React, {\r\n\tComponent\r\n} from 'react';\r\nimport Tree from '../../src';\r\n\r\nconst TreeNode = Tree.TreeNode;\r\nclass Demo9 extends Component {\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\t\tconst keys = this.props.keys;\r\n\t\tthis.state = {\r\n\t\t\tdefaultExpandedKeys: keys\r\n\t\t};\r\n\r\n\t}\r\n\r\n\trender() {\r\n\t\treturn (\r\n\t\t\t<Tree className=\"myCls\" showLine checkable defaultExpandAll={true}>\r\n\t <TreeNode title=\"parent 1\" key=\"0-0\">\r\n\t <TreeNode title=\"parent 1-0\" key=\"0-0-0\" >\r\n\t <TreeNode title=\"leaf\" key=\"0-0-0-0\" />\r\n\t <TreeNode title=\"leaf\" key=\"0-0-0-1\" />\r\n\t </TreeNode>\r\n\t <TreeNode title=\"parent 1-1\" key=\"0-0-1\">\r\n\t <TreeNode title={<span style={{ color: '#08c' }}>sss</span>} key=\"0-0-1-0\" />\r\n\t </TreeNode>\r\n\t </TreeNode>\r\n\t </Tree>\r\n\t\t);\r\n\t}\r\n}\r\n\r\nexport default Demo9;\n\n\n// WEBPACK FOOTER //\n// ./demo/demolist/Demo9.js","/**\r\n *\r\n * @title Tree基本使用示例\r\n * @description 如何获取选中对象自定义对象和数据\r\n *\r\n */\r\n\r\n\r\nimport React, {\r\n\tComponent\r\n} from 'react';\r\nimport Tree from '../../src';\r\n\r\nconst TreeNode = Tree.TreeNode;\r\n\r\nconst defaultProps = {\r\n\tkeys: ['0-0-0', '0-0-1']\r\n}\r\nclass Demo10 extends Component {\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\t\tconst keys = this.props.keys;\r\n\t\tthis.state = {\r\n\t\t\tdefaultExpandedKeys: keys,\r\n\t\t\tdefaultSelectedKeys: keys,\r\n\t\t\tdefaultCheckedKeys:keys\r\n\t\t\t// checkedKeys: {checked:keys},\r\n\t\t};\r\n }\r\n /**\r\n * 获取当前选中行的item对象。\r\n * @param {*} value \r\n */\r\n\tonSelect(selectedKeys, e) {\r\n console.log(`${selectedKeys} selected`);//获取key\r\n let currentObject = {};\r\n currentObject.title = e.node.props.title; //获取选中对象的数据\r\n currentObject.key = e.node.props.eventKey;\r\n console.log(currentObject); \r\n\t}\r\n\tonCheck = (checkedKeys) => {\r\n\t\tlet self = this;\r\n\t\tconsole.log('onCheck', checkedKeys);\r\n\t\tconst cks = {\r\n\t\t\tchecked: checkedKeys.checked || checkedKeys,\r\n\t\t};\r\n\t\t// this.setState({checkedKeys:cks});\r\n\t}\r\n\r\n\tonDoubleClick=(key,treeNode)=>{\r\n\t\tconsole.log('---onDblClick---'+key+'--treeNode--'+treeNode);\r\n\t}\r\n\trender() {\r\n\t\r\n\t\treturn (\r\n\t\t\t<Tree className=\"myCls\" showLine checkable\r\n defaultExpandedKeys={this.state.defaultExpandedKeys}\r\n defaultSelectedKeys={this.state.defaultSelectedKeys}\r\n defaultCheckedKeys = {this.state.defaultCheckedKeys}\r\n checkStrictly\r\n onSelect={this.onSelect} onCheck={this.onCheck}\r\n onDoubleClick={this.onDoubleClick}\r\n >\r\n <TreeNode title=\"parent 1\" key=\"0-0\" >\r\n <TreeNode title=\"parent 1-0\" key=\"0-0-0\" disabled>\r\n <TreeNode title=\"leaf\" key=\"0-0-0-0\" disableCheckbox />\r\n <TreeNode title=\"leaf\" key=\"0-0-0-1\" />\r\n </TreeNode>\r\n <TreeNode title=\"parent 1-1\" key=\"0-0-1\">\r\n <TreeNode title={<span style={{ color: '#08c' }}>sss</span>} key=\"0-0-1-0\" />\r\n </TreeNode>\r\n <TreeNode title=\"parent 1-2\" key=\"0-0-2\" >\r\n <TreeNode title=\"leaf\" key=\"0-0-2-0\" />\r\n <TreeNode title=\"leaf\" key=\"0-0-2-1\" />\r\n </TreeNode>\r\n </TreeNode>\r\n\t </Tree>\r\n\t\t);\r\n\t}\r\n}\r\n\r\nDemo10.defaultProps = defaultProps;\r\n\r\n\r\nexport default Demo10;\n\n\n// WEBPACK FOOTER //\n// ./demo/demolist/Demo10.js"],"sourceRoot":""} |