UNPKG

@penaprieto/design-system

Version:

Multi-brand React design system with design tokens from Figma

163 lines (141 loc) 3.24 kB
/* Tooltip wrapper */ .ds-tooltip-wrapper { position: relative; display: inline-block; width: fit-content; } /* Tooltip base */ .ds-tooltip { position: absolute; display: inline-flex; align-items: center; gap: var(--size1, 4px); padding: var(--size2, 8px) var(--size3, 12px); background-color: var(--semantic-bg-neutral); border-radius: var(--br-xs, 4px); color: var(--semantic-text-white-primary); opacity: 0; visibility: hidden; transition: opacity 0.2s ease, visibility 0.2s ease; z-index: 1000; -webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: var(--body-x-small-fontFamily, var(--font-family, 'Satoshi', sans-serif)); pointer-events: none; white-space: nowrap; } /* Visible state */ .ds-tooltip--visible { opacity: 1; visibility: visible; } /* Text */ .ds-tooltip__text { font-family: var(--body-x-small-fontFamily, var(--font-family, 'Satoshi', sans-serif)); font-weight: var(--body-x-small-fontWeight, 400); font-size: var(--body-x-small-fontSize, 12px); line-height: var(--body-x-small-lineHeight, 150%); } /* Icon */ .ds-tooltip__icon { display: flex; align-items: center; justify-content: center; width: 12px; height: 12px; flex-shrink: 0; color: var(--semantic-icon-inverse-bold); } /* Beak (arrow) */ .ds-tooltip__beak { position: absolute; width: 8px; height: 8px; background-color: var(--semantic-bg-neutral); transform: rotate(45deg); z-index: -1; } /* Placement: Top */ .ds-tooltip--top { bottom: calc(100% + 8px); left: 50%; transform: translateX(-50%); } .ds-tooltip--top .ds-tooltip__beak { left: 50%; bottom: -4px; transform: translateX(-50%) rotate(45deg); } /* Placement: Top Left */ .ds-tooltip--top-left { bottom: calc(100% + 8px); left: 0; } .ds-tooltip--top-left .ds-tooltip__beak { left: var(--size3, 12px); bottom: -4px; transform: rotate(45deg); } /* Placement: Top Right */ .ds-tooltip--top-right { bottom: calc(100% + 8px); right: 0; } .ds-tooltip--top-right .ds-tooltip__beak { right: var(--size3, 12px); bottom: -4px; transform: rotate(45deg); } /* Placement: Right */ .ds-tooltip--right { left: calc(100% + 8px); top: 50%; transform: translateY(-50%); } .ds-tooltip--right .ds-tooltip__beak { left: -4px; top: 50%; transform: translateY(-50%) rotate(45deg); } /* Placement: Bottom */ .ds-tooltip--bottom { top: calc(100% + 8px); left: 50%; transform: translateX(-50%); } .ds-tooltip--bottom .ds-tooltip__beak { left: 50%; top: -4px; transform: translateX(-50%) rotate(45deg); } /* Placement: Bottom Left */ .ds-tooltip--bottom-left { top: calc(100% + 8px); left: 0; } .ds-tooltip--bottom-left .ds-tooltip__beak { left: var(--size3, 12px); top: -4px; transform: rotate(45deg); } /* Placement: Bottom Right */ .ds-tooltip--bottom-right { top: calc(100% + 8px); right: 0; } .ds-tooltip--bottom-right .ds-tooltip__beak { right: var(--size3, 12px); top: -4px; transform: rotate(45deg); } /* Placement: Left */ .ds-tooltip--left { right: calc(100% + 8px); top: 50%; transform: translateY(-50%); } .ds-tooltip--left .ds-tooltip__beak { right: -4px; top: 50%; transform: translateY(-50%) rotate(45deg); }