({ negative }: { negative: boolean })
| 1525 | staticUtility('rotate-none', [['rotate', 'none']]) |
| 1526 | |
| 1527 | function handleRotate({ negative }: { negative: boolean }) { |
| 1528 | return (candidate: Extract<Candidate, { kind: 'functional' }>) => { |
| 1529 | if (!candidate.value || candidate.modifier) return |
| 1530 | |
| 1531 | let value |
| 1532 | if (candidate.value.kind === 'arbitrary') { |
| 1533 | value = candidate.value.value |
| 1534 | let type = candidate.value.dataType ?? inferDataType(value, ['angle', 'vector']) |
| 1535 | if (type === 'vector') { |
| 1536 | return [decl('rotate', `${value} var(--tw-rotate)`)] |
| 1537 | } else if (type !== 'angle') { |
| 1538 | return [decl('rotate', negative ? `calc(${value} * -1)` : value)] |
| 1539 | } |
| 1540 | } else { |
| 1541 | value = theme.resolve(candidate.value.value, ['--rotate']) |
| 1542 | if (!value && isPositiveInteger(candidate.value.value)) { |
| 1543 | value = `${candidate.value.value}deg` |
| 1544 | } |
| 1545 | if (!value) return |
| 1546 | } |
| 1547 | return [decl('rotate', negative ? `calc(${value} * -1)` : value)] |
| 1548 | } |
| 1549 | } |
| 1550 | |
| 1551 | utilities.functional('-rotate', handleRotate({ negative: true })) |
| 1552 | utilities.functional('rotate', handleRotate({ negative: false })) |
no test coverage detected