UNPKG

wix-style-react

Version:
208 lines (155 loc) • 4.27 kB
:import { -st-from: 'wix-ui-core/dist/src/components/tooltip/Tooltip.st.css'; -st-default: Tooltip; } :import { -st-from: 'wix-ui-core/src/mixins/calc'; -st-default: calc; } :import { -st-from: '../Foundation/stylable/colors.st.css'; -st-named: D10, D80; } :import { -st-from: '../Foundation/stylable/shadows.st.css'; -st-named: shadow30; } :import { -st-from: '../Foundation/stylable/easing.st.css'; -st-named: ease-3, ease-4; } :import { -st-from: '../Foundation/stylable/typography.st.css'; -st-named: text-small-normal, text-tiny-thin; } :import { -st-from: "wix-ui-core/dist/src/components/popover/Popover.st.css"; -st-named: arrow, withArrow, popoverContent, popover; } :vars { contentArrowSize: 8px; } .root { -st-extends: Tooltip; -st-states: size(enum(small, medium)); display: inline; } .root[data-hook*="popover-portal"] { /* This will cause the container's height to stay the same */ display: block; } /* Popover Content */ .root > .popoverContent, .root > .popover > .popoverContent { border: none; border-radius: 8px; box-sizing: border-box; box-shadow: value(shadow30); -webkit-font-smoothing: antialiased; -st-mixin: text-small-normal; padding: 12px 24px; color: value(D80); background: value(D10); } .root:size(small) > .popoverContent, .root:size(small) > .popover > .popoverContent { border: none; border-radius: 8px; box-sizing: border-box; -webkit-font-smoothing: antialiased; -st-mixin: text-tiny-thin; box-shadow: value(shadow30); padding: 8px 12px 7px 12px; color: value(D80); background: value(D10); } /* Popover Arrow */ .root::popover > .arrow { box-sizing: border-box; width: value(contentArrowSize); height: value(contentArrowSize); background: transparent; border-color: transparent value(D10) value(D10) transparent; transform: rotateZ(45deg); box-shadow: 3px 3px 6px rgba(0, 0, 0, .1); } .root::popover[data-placement] > .arrow { border-width: 5px; border-color: transparent value(D10) value(D10) transparent; margin: 0; } /* Right side */ .root:size(small)::popover[data-placement*="right"] > .arrow { display: none; } .root::popover[data-placement*="right"].withArrow { padding-left: calc(value(contentArrowSize) - 2px); } .root::popover[data-placement*="right"] > .arrow { transform: rotateZ(135deg); left: calc(value(contentArrowSize) / 2 - 2px); margin-top: value(contentArrowSize); margin-bottom: value(contentArrowSize); } /* Left side */ .root:size(small)::popover[data-placement*="left"] > .arrow { display: none; } .root::popover[data-placement*="left"].withArrow { padding-right: calc(value(contentArrowSize) - 2px); } .root::popover[data-placement*="left"] > .arrow { transform: rotateZ(-45deg); right: calc(value(contentArrowSize) / 2 - 2px); margin-top: value(contentArrowSize); margin-bottom: value(contentArrowSize); } /* Top arrow */ .root:size(small)::popover[data-placement*="top"] > .arrow { display: none; } .root::popover[data-placement*="top"].withArrow { padding-bottom: calc(value(contentArrowSize) - 2px); } .root::popover[data-placement*="top"] > .arrow { transform: rotateZ(45deg); bottom: calc(value(contentArrowSize) / 2 - 2px); margin-left: value(contentArrowSize); margin-right: value(contentArrowSize); } /* Bottom arrow */ .root:size(small)::popover[data-placement*="bottom"] > .arrow { display: none; } .root::popover[data-placement*="bottom"].withArrow { padding-top: calc(value(contentArrowSize) - 2px); } .root::popover[data-placement*="bottom"] > .arrow { transform: rotateZ(-135deg); top: calc(value(contentArrowSize) / 2 - 2px); margin-left: value(contentArrowSize); margin-right: value(contentArrowSize); } /* * Entrance and exit animation */ .root::popoverAnimation-enter { opacity: 0; transform: scale(0.9); } .root::popoverAnimation-enter-active { opacity: 1; transform: scale(1); transition: opacity 150ms value(ease-3), transform 150ms value(ease-3); } .root::popoverAnimation-exit { opacity: 1; transform: scale(1); } .root::popoverAnimation-exit-active { opacity: 0; transform: scale(0.9); transition: opacity 100ms value(ease-4), transform 100ms value(ease-4); }