MCPcopy Index your code
hub / github.com/reactstrap/reactstrap / render

Method render

src/Carousel.js:219–317  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

217 }
218
219 render() {
220 const { cssModule, slide, className, dark, fade } = this.props;
221 const attributes = omit(this.props, propsToOmit);
222 const outerClasses = mapToCssModules(
223 classNames(
224 className,
225 'carousel',
226 fade && 'carousel-fade',
227 slide && 'slide',
228 dark && 'carousel-dark',
229 ),
230 cssModule,
231 );
232
233 const innerClasses = mapToCssModules(
234 classNames('carousel-inner'),
235 cssModule,
236 );
237
238 // filter out booleans, null, or undefined
239 const children = this.props.children.filter(
240 (child) =>
241 child !== null && child !== undefined && typeof child !== 'boolean',
242 );
243
244 const slidesOnly = children.every((child) => child.type === CarouselItem);
245
246 // Rendering only slides
247 if (slidesOnly) {
248 return (
249 <div
250 {...attributes}
251 className={outerClasses}
252 onMouseEnter={this.hoverStart}
253 onMouseLeave={this.hoverEnd}
254 >
255 <CarouselContext.Provider value={this.getContextValue()}>
256 {this.renderItems(children, innerClasses)}
257 </CarouselContext.Provider>
258 </div>
259 );
260 }
261
262 // Rendering slides and controls
263 if (children[0] instanceof Array) {
264 const carouselItems = children[0];
265 const controlLeft = children[1];
266 const controlRight = children[2];
267
268 return (
269 <div
270 {...attributes}
271 className={outerClasses}
272 onMouseEnter={this.hoverStart}
273 onMouseLeave={this.hoverEnd}
274 >
275 <CarouselContext.Provider value={this.getContextValue()}>
276 {this.renderItems(carouselItems, innerClasses)}

Callers

nothing calls this directly

Calls 3

renderItemsMethod · 0.95
omitFunction · 0.90
mapToCssModulesFunction · 0.90

Tested by

no test coverage detected