ab5465588cde02214b8029f1b9899626.json
15.2 KB
{"ast":null,"code":"var _interopRequireWildcard=require(\"@babel/runtime/helpers/interopRequireWildcard\");var _interopRequireDefault=require(\"@babel/runtime/helpers/interopRequireDefault\");Object.defineProperty(exports,\"__esModule\",{value:true});exports.default=void 0;var _extends2=_interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));var _classCallCheck2=_interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));var _createClass2=_interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));var _possibleConstructorReturn2=_interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));var _getPrototypeOf3=_interopRequireDefault(require(\"@babel/runtime/helpers/getPrototypeOf\"));var _inherits2=_interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));var _react=_interopRequireWildcard(require(\"react\"));var _propTypes=_interopRequireDefault(require(\"prop-types\"));var _Text=_interopRequireDefault(require(\"react-native-web/dist/exports/Text\"));var _View=_interopRequireDefault(require(\"react-native-web/dist/exports/View\"));var d3Scale=_interopRequireWildcard(require(\"d3-scale\"));var array=_interopRequireWildcard(require(\"d3-array\"));var _reactNativeSvg=_interopRequireWildcard(require(\"react-native-svg\"));var XAxis=function(_PureComponent){(0,_inherits2.default)(XAxis,_PureComponent);function XAxis(){var _getPrototypeOf2;var _this;(0,_classCallCheck2.default)(this,XAxis);for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}_this=(0,_possibleConstructorReturn2.default)(this,(_getPrototypeOf2=(0,_getPrototypeOf3.default)(XAxis)).call.apply(_getPrototypeOf2,[this].concat(args)));_this.state={width:0,height:0};return _this;}(0,_createClass2.default)(XAxis,[{key:\"_onLayout\",value:function _onLayout(event){var _event$nativeEvent$la=event.nativeEvent.layout,width=_event$nativeEvent$la.width,height=_event$nativeEvent$la.height;if(width!==this.state.width){this.setState({width:width,height:height});}}},{key:\"_getX\",value:function _getX(domain){var _this$props=this.props,scale=_this$props.scale,spacingInner=_this$props.spacingInner,spacingOuter=_this$props.spacingOuter,_this$props$contentIn=_this$props.contentInset,_this$props$contentIn2=_this$props$contentIn.left,left=_this$props$contentIn2===void 0?0:_this$props$contentIn2,_this$props$contentIn3=_this$props$contentIn.right,right=_this$props$contentIn3===void 0?0:_this$props$contentIn3;var width=this.state.width;var x=scale().domain(domain).range([left,width-right]);if(scale===d3Scale.scaleBand){x.paddingInner([spacingInner]).paddingOuter([spacingOuter]);return function(value){return x(value)+x.bandwidth()/2;};}return x;}},{key:\"render\",value:function render(){var _this2=this;var _this$props2=this.props,style=_this$props2.style,scale=_this$props2.scale,data=_this$props2.data,xAccessor=_this$props2.xAccessor,formatLabel=_this$props2.formatLabel,numberOfTicks=_this$props2.numberOfTicks,svg=_this$props2.svg,children=_this$props2.children,min=_this$props2.min,max=_this$props2.max;var _this$state=this.state,height=_this$state.height,width=_this$state.width;if(data.length===0){return _react.default.createElement(_View.default,{style:style});}var values=data.map(function(item,index){return xAccessor({item:item,index:index});});var extent=array.extent(values);var domain=scale===d3Scale.scaleBand?values:[min||extent[0],max||extent[1]];var x=this._getX(domain);var ticks=numberOfTicks?x.ticks(numberOfTicks):values;var extraProps={x:x,ticks:ticks,width:width,height:height,formatLabel:formatLabel};return _react.default.createElement(_View.default,{style:style},_react.default.createElement(_View.default,{style:{flexGrow:1},onLayout:function onLayout(event){return _this2._onLayout(event);}},_react.default.createElement(_Text.default,{style:{opacity:0,fontSize:svg.fontSize}},formatLabel(ticks[0],0)),height>0&&width>0&&_react.default.createElement(_reactNativeSvg.default,{style:{position:'absolute',top:0,left:0,height:height,width:width}},_react.default.createElement(_reactNativeSvg.G,null,_react.default.Children.map(children,function(child){return _react.default.cloneElement(child,extraProps);}),width>0&&ticks.map(function(value,index){var _ref=data[index]||{},_ref$svg=_ref.svg,valueSvg=_ref$svg===void 0?{}:_ref$svg;return _react.default.createElement(_reactNativeSvg.Text,(0,_extends2.default)({textAnchor:'middle',originX:x(value),alignmentBaseline:'hanging'},svg,valueSvg,{key:index,x:x(value)}),formatLabel(value,index));})))));}}]);return XAxis;}(_react.PureComponent);XAxis.propTypes={data:_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.number,_propTypes.default.object])).isRequired,spacingInner:_propTypes.default.number,spacingOuter:_propTypes.default.number,formatLabel:_propTypes.default.func,contentInset:_propTypes.default.shape({left:_propTypes.default.number,right:_propTypes.default.number}),scale:_propTypes.default.oneOf([d3Scale.scaleTime,d3Scale.scaleLinear,d3Scale.scaleBand]),numberOfTicks:_propTypes.default.number,xAccessor:_propTypes.default.func,svg:_propTypes.default.object,min:_propTypes.default.any,max:_propTypes.default.any};XAxis.defaultProps={spacingInner:0.05,spacingOuter:0.05,contentInset:{},svg:{},xAccessor:function xAccessor(_ref2){var index=_ref2.index;return index;},scale:d3Scale.scaleLinear,formatLabel:function formatLabel(value){return value;}};var _default=XAxis;exports.default=_default;","map":{"version":3,"sources":["C:/Users/bluej/Desktop/2_2/searchGuide/searchGuide/node_modules/react-native-svg-charts/src/x-axis.js"],"names":["XAxis","state","width","height","event","nativeEvent","layout","setState","domain","props","scale","spacingInner","spacingOuter","contentInset","left","right","x","range","d3Scale","scaleBand","paddingInner","paddingOuter","value","bandwidth","style","data","xAccessor","formatLabel","numberOfTicks","svg","children","min","max","length","values","map","item","index","extent","array","_getX","ticks","extraProps","flexGrow","_onLayout","opacity","fontSize","position","top","React","Children","child","cloneElement","valueSvg","PureComponent","propTypes","PropTypes","arrayOf","oneOfType","number","object","isRequired","func","shape","oneOf","scaleTime","scaleLinear","any","defaultProps"],"mappings":"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","sourcesContent":["import React, { PureComponent } from 'react'\nimport PropTypes from 'prop-types'\nimport { Text, View } from 'react-native'\nimport * as d3Scale from 'd3-scale'\nimport * as array from 'd3-array'\nimport Svg, { G, Text as SVGText } from 'react-native-svg'\n\nclass XAxis extends PureComponent {\n state = {\n width: 0,\n height: 0,\n }\n\n _onLayout(event) {\n const {\n nativeEvent: {\n layout: { width, height },\n },\n } = event\n\n if (width !== this.state.width) {\n this.setState({ width, height })\n }\n }\n\n _getX(domain) {\n const {\n scale,\n spacingInner,\n spacingOuter,\n contentInset: { left = 0, right = 0 },\n } = this.props\n\n const { width } = this.state\n\n const x = scale()\n .domain(domain)\n .range([left, width - right])\n\n if (scale === d3Scale.scaleBand) {\n x.paddingInner([spacingInner]).paddingOuter([spacingOuter])\n\n //add half a bar to center label\n return (value) => x(value) + x.bandwidth() / 2\n }\n\n return x\n }\n\n render() {\n const { style, scale, data, xAccessor, formatLabel, numberOfTicks, svg, children, min, max } = this.props\n\n const { height, width } = this.state\n\n if (data.length === 0) {\n return <View style={style} />\n }\n\n const values = data.map((item, index) => xAccessor({ item, index }))\n const extent = array.extent(values)\n const domain = scale === d3Scale.scaleBand ? values : [min || extent[0], max || extent[1]]\n\n const x = this._getX(domain)\n const ticks = numberOfTicks ? x.ticks(numberOfTicks) : values\n\n const extraProps = {\n x,\n ticks,\n width,\n height,\n formatLabel,\n }\n\n return (\n <View style={style}>\n <View style={{ flexGrow: 1 }} onLayout={(event) => this._onLayout(event)}>\n {/*invisible text to allow for parent resizing*/}\n <Text style={{ opacity: 0, fontSize: svg.fontSize }}>{formatLabel(ticks[0], 0)}</Text>\n {height > 0 && width > 0 && (\n <Svg\n style={{\n position: 'absolute',\n top: 0,\n left: 0,\n height,\n width,\n }}\n >\n <G>\n {React.Children.map(children, (child) => {\n return React.cloneElement(child, extraProps)\n })}\n {// don't render labels if width isn't measured yet,\n // causes rendering issues\n width > 0 &&\n ticks.map((value, index) => {\n const { svg: valueSvg = {} } = data[index] || {}\n\n return (\n <SVGText\n textAnchor={'middle'}\n originX={x(value)}\n alignmentBaseline={'hanging'}\n {...svg}\n {...valueSvg}\n key={index}\n x={x(value)}\n >\n {formatLabel(value, index)}\n </SVGText>\n )\n })}\n </G>\n </Svg>\n )}\n </View>\n </View>\n )\n }\n}\n\nXAxis.propTypes = {\n data: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.object])).isRequired,\n spacingInner: PropTypes.number,\n spacingOuter: PropTypes.number,\n formatLabel: PropTypes.func,\n contentInset: PropTypes.shape({\n left: PropTypes.number,\n right: PropTypes.number,\n }),\n scale: PropTypes.oneOf([d3Scale.scaleTime, d3Scale.scaleLinear, d3Scale.scaleBand]),\n numberOfTicks: PropTypes.number,\n xAccessor: PropTypes.func,\n svg: PropTypes.object,\n min: PropTypes.any,\n max: PropTypes.any,\n}\n\nXAxis.defaultProps = {\n spacingInner: 0.05,\n spacingOuter: 0.05,\n contentInset: {},\n svg: {},\n xAccessor: ({ index }) => index,\n scale: d3Scale.scaleLinear,\n formatLabel: (value) => value,\n}\n\nexport default XAxis\n"]},"metadata":{},"sourceType":"script"}