2019-04-21 19:27:58 -05:00
|
|
|
// 3rd party.
|
2019-04-22 00:45:09 -05:00
|
|
|
import classnames from 'classnames';
|
2019-04-21 19:27:58 -05:00
|
|
|
import React from 'react';
|
|
|
|
// 2nd party.
|
|
|
|
import {compose} from '@avocado/core';
|
|
|
|
import contempo from 'contempo';
|
|
|
|
|
|
|
|
const decorate = compose(
|
|
|
|
contempo(`
|
|
|
|
.item-slot {
|
|
|
|
position: relative;
|
|
|
|
backdrop-filter: blur(20px);
|
|
|
|
-webkit-backdrop-filter: blur(20px);
|
2019-04-22 00:45:09 -05:00
|
|
|
box-shadow:
|
|
|
|
-.5px -.5px 0 rgba(0, 0, 0, 1),
|
|
|
|
.5px .5px 0 rgba(0, 0, 0, 1),
|
|
|
|
-.5px .5px 0 rgba(0, 0, 0, 1),
|
|
|
|
.5px -.5px 0 rgba(0, 0, 0, 1)
|
|
|
|
;
|
2019-04-21 19:27:58 -05:00
|
|
|
box-sizing: border-box;
|
|
|
|
display: inline-block;
|
|
|
|
width: 16px;
|
|
|
|
height: 16px;
|
|
|
|
margin: 2px;
|
|
|
|
background-color: rgba(255, 255, 255, .2);
|
2019-04-22 00:45:09 -05:00
|
|
|
transition: box-shadow 0.125s;
|
|
|
|
}
|
|
|
|
.item-slot:hover {
|
|
|
|
box-shadow:
|
|
|
|
-.5px -.5px 0 rgba(0, 0, 0, 1),
|
|
|
|
.5px .5px 0 rgba(0, 0, 0, 1),
|
|
|
|
-.5px .5px 0 rgba(0, 0, 0, 1),
|
|
|
|
.5px -.5px 0 rgba(0, 0, 0, 1),
|
|
|
|
-.5px -.5px 3px rgba(255, 255, 255, 1),
|
|
|
|
.5px .5px 3px rgba(255, 255, 255, 1),
|
|
|
|
-.5px .5px 3px rgba(255, 255, 255, 1),
|
|
|
|
.5px -.5px 3px rgba(255, 255, 255, 1)
|
|
|
|
;
|
2019-04-21 19:27:58 -05:00
|
|
|
}
|
|
|
|
`),
|
|
|
|
);
|
|
|
|
|
2019-04-22 00:45:09 -05:00
|
|
|
const ItemSlotComponent = (props) => {
|
|
|
|
const {children, className} = props;
|
|
|
|
return <div
|
|
|
|
{...props}
|
|
|
|
className={classnames(
|
|
|
|
'item-slot',
|
|
|
|
'unselectable',
|
|
|
|
className,
|
|
|
|
)}
|
|
|
|
>{children}</div>;
|
2019-04-21 19:27:58 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
export default decorate(ItemSlotComponent);
|