UNPKG

wix-style-react

Version:
158 lines (124 loc) 3.21 kB
:import { -st-from: "wix-ui-core/src/mixins/calc"; -st-default: calc; } :import { -st-from: "wix-ui-core/index.st.css"; -st-named: Popover; } :import { -st-from: "wix-ui-backoffice/src/colors.st.css"; -st-named: D10, WHITE; } :import { -st-from: "wix-ui-backoffice/src/shadows.st.css"; -st-named: shadow30; } :vars { contentArrowSize: 8px; } .root { -st-states: theme(string); -st-extends: Popover; } .root[data-hook*="popover-portal"] { /* This will cause the container's height to stay the same */ display: block; } /* Default styles with light theme */ .root::popoverContent { border: none; border-radius: 8px; box-sizing: border-box; box-shadow: value(shadow30); -webkit-font-smoothing: antialiased; font-size: 14px; line-height: 18px; /* Light theme specific stuff */ color: value(D10); background: value(WHITE); } /* Overriding arrow definitions */ .root::popover::arrow { width: value(contentArrowSize); height: value(contentArrowSize); background: transparent; box-sizing: border-box; /* Defaults for the top arrow */ transform: rotateZ(45deg); box-shadow: 3px 3px 6px rgba(0, 0, 0, .1); } .root::popover[data-placement]::arrow { border-width: calc(value(contentArrowSize) / 2); border-color: transparent value(WHITE) value(WHITE) transparent; margin: 0; } /* * Right arrow */ .root::popover[data-placement*="right"].withArrow { padding-left: calc(value(contentArrowSize) - 2); } .root::popover[data-placement*="right"]::arrow { transform: rotateZ(135deg); left: calc(value(contentArrowSize) / 2 - 2); margin-top: value(contentArrowSize); margin-bottom: value(contentArrowSize); } /* * Left arrow */ .root::popover[data-placement*="left"].withArrow { padding-right: calc(value(contentArrowSize) - 2); } .root::popover[data-placement*="left"]::arrow { transform: rotateZ(-45deg); right: calc(value(contentArrowSize) / 2 - 2); margin-top: value(contentArrowSize); margin-bottom: value(contentArrowSize); } /* * Top arrow */ .root::popover[data-placement*="top"].withArrow { padding-bottom: calc(value(contentArrowSize) - 2); } .root::popover[data-placement*="top"]::arrow { transform: rotateZ(45deg); bottom: calc(value(contentArrowSize) / 2 - 2); margin-left: value(contentArrowSize); margin-right: value(contentArrowSize); } /* * Bottom arrow */ .root::popover[data-placement*="bottom"].withArrow { padding-top: calc(value(contentArrowSize) - 2); } .root::popover[data-placement*="bottom"]::arrow { transform: rotateZ(-135deg); top: calc(value(contentArrowSize) / 2 - 2); margin-left: value(contentArrowSize); margin-right: value(contentArrowSize); } /* Dark theme */ .root:theme(dark)::popoverContent { color: value(WHITE); background: value(D10); } .root:theme(dark)::popover::arrow { border-color: transparent value(D10) value(D10) transparent; } /* * Entrance and exit animation */ .root::popoverAnimation-enter { opacity: 0.85; transform: scale(0.9); } .root::popoverAnimation-enter-active { opacity: 1; transform: scale(1); transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), transform 300ms cubic-bezier(0.23, 1, 0.32, 1); }