1
0
mirror of https://github.com/phuoc-ng/csslayout.git synced 2025-10-23 10:46:13 +02:00
Files
csslayout/client/placeholders/Triangle.tsx
2019-11-24 23:20:19 +07:00

58 lines
1.4 KiB
TypeScript

import React from 'react';
interface TriangleProps {
corner?: string;
size?: number;
}
const Triangle: React.FC<TriangleProps> = ({ size = 16, corner = 'tl' }) => {
let bw = '';
let bc = '';
switch (corner) {
case 't':
bw = `0 ${size}px ${size}px ${size}px`;
bc = 'transparent transparent rgba(0, 0, 0, .3) transparent';
break;
case 'b':
bw = `${size}px ${size}px 0 ${size}px`;
bc = 'rgba(0, 0, 0, .3) transparent transparent transparent';
break;
case 'tr':
bw = `0 ${size}px ${size}px 0`;
bc = 'transparent rgba(0, 0, 0, .3) transparent transparent';
break;
case 'br':
bw = `0 0 ${size}px ${size}px`;
bc = 'transparent transparent rgba(0, 0, 0, .3) transparent';
break;
case 'bl':
bw = `${size}px 0 0 ${size}px`;
bc = 'transparent transparent transparent rgba(0, 0, 0, .3)';
break;
case 'tl':
default:
bw = `${size}px ${size}px 0 0`;
bc = 'rgba(0, 0, 0, .3) transparent transparent transparent';
break;
}
return (
<div
style={{
borderColor: bc,
borderStyle: 'solid',
borderWidth: bw,
height: 0,
width: 0,
}}
/>
);
};
export default Triangle;