Package Exports
- styled-tooltip-component
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (styled-tooltip-component) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
styled-tooltip-component
The bootstrap tooltip component made with styled-components.
Table of Contents
Why?
This is a modular approach to use bootstrap components for quick prototypes, as an entrypoint of your own component library, or if you need just one bootstrap component for your application. To work with ease with any other libary or framework this component is build with styled-components.
Installation
Note: this component has a peer dependency on
styled-componentsandstyled-system. To use this component you also need tonpm i styled-components styled-system -S.
$ npm i styled-tooltip-component -Sor
$ yarn add styled-tooltip-componentUsage
For detailed information take a look at the documentation.
Note: if you want this example to work you need to install
styled-container-component, andstyled-button-componentas well, but you do not need them to work properly
import React from 'react';
/*
if you installed `styled-bootstrap-components` use
import { ... } from 'styled-bootstrap-components'
instead.
*/
import { Container } from 'styled-container-component';
import { Button } from 'styled-button-component';
import {
Tooltip,
TooltipArrow,
TooltipInner,
} from 'styled-tooltip-component';
export class SimpleTooltipToggle extends React.Component {
constructor(props) {
super();
this.state = {
top: 0,
left: 0,
hidden: true,
};
}
handleTooltip(ev, hidden) {
this.setState({
top: ev.target.offsetTop + 5,
left: ev.target.offsetLeft + ev.target.offsetWidth,
hidden,
});
}
render() {
const {
top,
left,
hidden,
} = this.state;
return (
<Container>
<Button
danger
onMouseEnter={(ev) => this.handleTooltip(ev, false)}
onMouseLeave={(ev) => this.handleTooltip(ev, true)}
>
Click to toggle popover
</Button>
<Tooltip
hidden={hidden}
style={{
top: `${top}px`,
left: `${left}px`
}}
right
>
<TooltipArrow right />
<TooltipInner right>Tooltip Title</TooltipInner>
</Tooltip>
</Container>
);
}
};Properties
Properties which can be added to the component to change the visual appearance. This component uses styled-system.
hiddenType: booleanrightType: booleantopType: booleanleftType: booleanbottomType: booleanmmargin Type: stringmtmargin-top Type: stringmrmargin-right Type: stringmbmargin-bottom Type: stringmlmargin-left Type: stringmxmargin-left and margin-right Type: stringmymargin-top and margin-bottom Type: stringppadding Type: stringptpadding-top Type: stringprpadding-right Type: stringpbpadding-bottom Type: stringplpadding-left Type: stringpxpadding-left and padding-right Type: stringpypadding-top and padding-bottom Type: stringwidthType: stringfontSizeType: stringfontWeightType: stringtextAlignType: stringlineHeightType: stringdisplayType: stringcolorType: stringborderRadiusType: stringborderColorType: stringborderType: stringborderTopType: stringborderRightType: stringborderBottomType: stringborderLeftType: string
Related
License
MIT © Lukas Aichbauer