UNPKG

@flexis/ui

Version:

Styleless React Components

100 lines (84 loc) 1.55 kB
.root { display: inline-block; } .tooltip { -st-states: /* Basic states */ active, offset, /* Placement states */ topPlacement, rightPlacement, bottomPlacement, leftPlacement, /* Align states */ startAlign, centerAlign, endAlign; position: fixed; z-index: 1; } .tooltip:not(:active) { pointer-events: none; opacity: 0; } .tooltip:topPlacement:startAlign { /* top: 0; left: 0; */ transform: translate(0, -100%); } .tooltip:topPlacement:centerAlign { /* top: 0; left: 50%; */ transform: translate(-50%, -100%); } .tooltip:topPlacement:endAlign { /* top: 0; right: 0; */ transform: translate(0, -100%); } .tooltip:rightPlacement:startAlign { /* top: 0; right: 0; */ transform: translate(100%, 0); } .tooltip:rightPlacement:centerAlign { /* top: 50%; right: 0; */ transform: translate(100%, -50%); } .tooltip:rightPlacement:endAlign { /* right: 0; bottom: 0; */ transform: translate(100%, 0); } .tooltip:bottomPlacement:startAlign { /* bottom: 0; left: 0; */ transform: translate(0, 100%); } .tooltip:bottomPlacement:centerAlign { /* bottom: 0; left: 50%; */ transform: translate(-50%, 100%); } .tooltip:bottomPlacement:endAlign { /* right: 0; bottom: 0; */ transform: translate(0, 100%); } .tooltip:leftPlacement:startAlign { /* top: 0; left: 0; */ transform: translate(-100%, 0); } .tooltip:leftPlacement:centerAlign { /* top: 50%; left: 0; */ transform: translate(-100%, -50%); } .tooltip:leftPlacement:endAlign { /* bottom: 0; left: 0; */ transform: translate(-100%, 0); }