You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

1 lines
15 KiB

{"version":3,"file":null,"sources":["../src/util.js","../src/TransitionChildMapping.js","../src/TransitionGroup.js"],"sourcesContent":["import { h } from 'preact';\n\nexport function assign(obj, props) {\n\tfor (let i in props) if (props.hasOwnProperty(i)) obj[i] = props[i];\n\treturn obj;\n}\n\nexport function getKey(vnode, fallback) {\n\tlet key = vnode.attributes && vnode.attributes.key;\n\treturn key===null || key===undefined ? fallback : key;\n}\n\nexport function linkRef(component, name) {\n\tlet cache = component._ptgLinkedRefs || (component._ptgLinkedRefs = {});\n\treturn cache[name] || (cache[name] = c => {\n\t\tcomponent.refs[name] = c;\n\t});\n}\n","/**\n * Copyright 2013-2014, 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 *\tAdditional credit to the Author of rc-css-transition-group: https://github.com/yiminghe\n *\tFile originally extracted from the React source, converted to ES6 by https://github.com/developit\n */\n\nimport { getKey } from './util';\n\n\nexport function getChildMapping(children) {\n\tlet out = {};\n\tfor (let i=0; i<children.length; i++) {\n\t\tif (children[i]!=null) {\n\t\t\tlet key = getKey(children[i], i.toString(36));\n\t\t\tout[key] = children[i];\n\t\t}\n\t}\n\treturn out;\n}\n\n\nexport function mergeChildMappings(prev, next) {\n\tprev = prev || {};\n\tnext = next || {};\n\n\tlet getValueForKey = key => next.hasOwnProperty(key) ? next[key] : prev[key];\n\n\t// For each key of `next`, the list of keys to insert before that key in\n\t// the combined list\n\tlet nextKeysPending = {};\n\n\tlet pendingKeys = [];\n\tfor (let prevKey in prev) {\n\t\tif (next.hasOwnProperty(prevKey)) {\n\t\t\tif (pendingKeys.length) {\n\t\t\t\tnextKeysPending[prevKey] = pendingKeys;\n\t\t\t\tpendingKeys = [];\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tpendingKeys.push(prevKey);\n\t\t}\n\t}\n\n\tlet childMapping = {};\n\tfor (let nextKey in next) {\n\t\tif (nextKeysPending.hasOwnProperty(nextKey)) {\n\t\t\tfor (let i=0; i<nextKeysPending[nextKey].length; i++) {\n\t\t\t\tlet pendingNextKey = nextKeysPending[nextKey][i];\n\t\t\t\tchildMapping[nextKeysPending[nextKey][i]] = getValueForKey(pendingNextKey);\n\t\t\t}\n\t\t}\n\t\tchildMapping[nextKey] = getValueForKey(nextKey);\n\t}\n\n\t// Finally, add the keys which didn't appear before any key in `next`\n\tfor (let i=0; i<pendingKeys.length; i++) {\n\t\tchildMapping[pendingKeys[i]] = getValueForKey(pendingKeys[i]);\n\t}\n\n\treturn childMapping;\n}\n","import { h, Component, cloneElement } from 'preact';\nimport { getChildMapping, mergeChildMappings } from './TransitionChildMapping';\nimport { assign, linkRef } from './util';\n\n\nconst identity = i => i;\n\nexport class TransitionGroup extends Component {\n\tstatic defaultProps = {\n\t\tcomponent: 'span',\n\t\tchildFactory: identity\n\t};\n\n\trefs = {};\n\n\tstate = {\n\t\tchildren: getChildMapping(this.props.children || [])\n\t};\n\n\tcomponentWillMount() {\n\t\tthis.currentlyTransitioningKeys = {};\n\t\tthis.keysToEnter = [];\n\t\tthis.keysToLeave = [];\n\t}\n\n\tcomponentDidMount() {\n\t\tlet initialChildMapping = this.state.children;\n\t\tfor (let key in initialChildMapping) {\n\t\t\tif (initialChildMapping[key]) {\n\t\t\t\t// this.performAppear(getKey(initialChildMapping[key], key));\n\t\t\t\tthis.performAppear(key);\n\t\t\t}\n\t\t}\n\t}\n\n\tcomponentWillReceiveProps(nextProps) {\n\t\tlet nextChildMapping = getChildMapping(nextProps.children || []);\n\t\tlet prevChildMapping = this.state.children;\n\n\t\tthis.setState({\n\t\t\tchildren: mergeChildMappings(prevChildMapping, nextChildMapping)\n\t\t});\n\n\t\tlet key;\n\n\t\tfor (key in nextChildMapping) if (nextChildMapping.hasOwnProperty(key)) {\n\t\t\tlet hasPrev = prevChildMapping && prevChildMapping.hasOwnProperty(key);\n\t\t\tif (nextChildMapping[key] && !hasPrev && !this.currentlyTransitioningKeys[key]) {\n\t\t\t\tthis.keysToEnter.push(key);\n\t\t\t}\n\t\t}\n\n\t\tfor (key in prevChildMapping) if (prevChildMapping.hasOwnProperty(key)) {\n\t\t\tlet hasNext = nextChildMapping && nextChildMapping.hasOwnProperty(key);\n\t\t\tif (prevChildMapping[key] && !hasNext && !this.currentlyTransitioningKeys[key]) {\n\t\t\t\tthis.keysToLeave.push(key);\n\t\t\t}\n\t\t}\n\t}\n\n\tcomponentDidUpdate() {\n\t\tlet keysToEnter = this.keysToEnter;\n\t\tthis.keysToEnter = [];\n\t\tkeysToEnter.forEach(this.performEnter);\n\n\t\tlet keysToLeave = this.keysToLeave;\n\t\tthis.keysToLeave = [];\n\t\tkeysToLeave.forEach(this.performLeave);\n\t}\n\n\tperformAppear(key) {\n\t\tthis.currentlyTransitioningKeys[key] = true;\n\n\t\tlet component = this.refs[key];\n\n\t\tif (component.componentWillAppear) {\n\t\t\tcomponent.componentWillAppear(this._handleDoneAppearing.bind(this, key));\n\t\t}\n\t\telse {\n\t\t\tthis._handleDoneAppearing(key);\n\t\t}\n\t}\n\n\t_handleDoneAppearing(key) {\n\t\tlet component = this.refs[key];\n\t\tif (component.componentDidAppear) {\n\t\t\tcomponent.componentDidAppear();\n\t\t}\n\n\t\tdelete this.currentlyTransitioningKeys[key];\n\n\t\tlet currentChildMapping = getChildMapping(this.props.children || []);\n\n\t\tif (!currentChildMapping || !currentChildMapping.hasOwnProperty(key)) {\n\t\t\t// This was removed before it had fully appeared. Remove it.\n\t\t\tthis.performLeave(key);\n\t\t}\n\t}\n\n\tperformEnter = (key) => {\n\t\tthis.currentlyTransitioningKeys[key] = true;\n\n\t\tlet component = this.refs[key];\n\n\t\tif (component.componentWillEnter) {\n\t\t\tcomponent.componentWillEnter(this._handleDoneEntering.bind(this, key));\n\t\t}\n\t\telse {\n\t\t\tthis._handleDoneEntering(key);\n\t\t}\n\t};\n\n\t_handleDoneEntering(key) {\n\t\tlet component = this.refs[key];\n\t\tif (component.componentDidEnter) {\n\t\t\tcomponent.componentDidEnter();\n\t\t}\n\n\t\tdelete this.currentlyTransitioningKeys[key];\n\n\t\tlet currentChildMapping = getChildMapping(this.props.children || []);\n\n\t\tif (!currentChildMapping || !currentChildMapping.hasOwnProperty(key)) {\n\t\t\t// This was removed before it had fully entered. Remove it.\n\t\t\tthis.performLeave(key);\n\t\t}\n\t}\n\n\tperformLeave = (key) => {\n\t\tthis.currentlyTransitioningKeys[key] = true;\n\n\t\tlet component = this.refs[key];\n\t\tif (component.componentWillLeave) {\n\t\t\tcomponent.componentWillLeave(this._handleDoneLeaving.bind(this, key));\n\t\t}\n\t\telse {\n\t\t\t// Note that this is somewhat dangerous b/c it calls setState()\n\t\t\t// again, effectively mutating the component before all the work\n\t\t\t// is done.\n\t\t\tthis._handleDoneLeaving(key);\n\t\t}\n\t};\n\n\t_handleDoneLeaving(key) {\n\t\tlet component = this.refs[key];\n\n\t\tif (component.componentDidLeave) {\n\t\t\tcomponent.componentDidLeave();\n\t\t}\n\n\t\tdelete this.currentlyTransitioningKeys[key];\n\n\t\tlet currentChildMapping = getChildMapping(this.props.children || []);\n\n\t\tif (currentChildMapping && currentChildMapping.hasOwnProperty(key)) {\n\t\t\t// This entered again before it fully left. Add it again.\n\t\t\tthis.performEnter(key);\n\t\t}\n\t\telse {\n\t\t\tlet children = assign({}, this.state.children);\n\t\t\tdelete children[key];\n\t\t\tthis.setState({ children });\n\t\t}\n\t}\n\n\trender({ childFactory, transitionLeave, transitionName, transitionAppear, transitionEnter, transitionLeaveTimeout, transitionEnterTimeout, transitionAppearTimeout, component, ...props }, { children }) {\n\t\t// TODO: we could get rid of the need for the wrapper node\n\t\t// by cloning a single child\n\t\tlet childrenToRender = [];\n\t\tfor (let key in children) if (children.hasOwnProperty(key)) {\n\t\t\tlet child = children[key];\n\t\t\tif (child) {\n\t\t\t\tlet ref = linkRef(this, key),\n\t\t\t\t\tel = cloneElement(childFactory(child), { ref, key });\n\t\t\t\tchildrenToRender.push(el);\n\t\t\t}\n\t\t}\n\n\t\treturn h(component, props, childrenToRender);\n\t}\n}\n"],"names":["assign","obj","props","i","hasOwnProperty","getKey","vnode","fallback","key","attributes","undefined","linkRef","component","name","cache","_ptgLinkedRefs","refs","c","getChildMapping","children","out","length","toString","mergeChildMappings","prev","next","getValueForKey","nextKeysPending","pendingKeys","prevKey","push","childMapping","nextKey","pendingNextKey","identity","TransitionGroup","state","performEnter","currentlyTransitioningKeys","componentWillEnter","_handleDoneEntering","bind","performLeave","componentWillLeave","_handleDoneLeaving","componentWillMount","keysToEnter","keysToLeave","componentDidMount","initialChildMapping","performAppear","componentWillReceiveProps","nextProps","nextChildMapping","prevChildMapping","setState","hasPrev","hasNext","componentDidUpdate","forEach","componentWillAppear","_handleDoneAppearing","componentDidAppear","currentChildMapping","componentDidEnter","componentDidLeave","render","childFactory","transitionLeave","transitionName","transitionAppear","transitionEnter","transitionLeaveTimeout","transitionEnterTimeout","transitionAppearTimeout","childrenToRender","child","ref","el","cloneElement","h","Component","defaultProps"],"mappings":"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"}