UNPKG

nice-ui

Version:

React design system, components, and utilities

77 lines (76 loc) 2.27 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Tiles = void 0; const React = require("react"); const nano_theme_1 = require("nano-theme"); const defaultSize = 32; const blockClass = (0, nano_theme_1.rule)({ pos: 'relative', w: defaultSize + 'px', h: defaultSize + 'px', trs: 'transform .1s', cur: 'pointer', '&:active': { transform: 'scale(.8)', }, }); const tileSize = 38; const tileClass = (0, nano_theme_1.rule)({ pos: 'absolute', bgc: nano_theme_1.lightTheme.g(0.2), w: tileSize + '%', h: tileSize + '%', bdrad: '15%', top: '50%', left: '50%', mar: `-${tileSize / 2}% 0 0 -${tileSize / 2}%`, trs: 'background-color .15s,top .15s cubic-bezier(0.175, 0.885, 0.32, 1.275), left .15s cubic-bezier(0.175, 0.885, 0.32, 1.275)', // op: .4, [`.${blockClass.trim()}:hover &`]: { bgc: nano_theme_1.lightTheme.g(0.4), // op: 1, }, }); const tile1Class = (0, nano_theme_1.rule)({ [`.${blockClass.trim()}:hover &`]: { // bgc: theme.color2[1], top: '25%', left: '25%', }, }); const tile2Class = (0, nano_theme_1.rule)({ [`.${blockClass.trim()}:hover &`]: { // bgc: theme.color3[1], top: '25%', left: '75%', }, }); const tile3Class = (0, nano_theme_1.rule)({ [`.${blockClass.trim()}:hover &`]: { // bgc: theme.color4[1], top: '75%', left: '25%', }, }); const tile4Class = (0, nano_theme_1.rule)({ [`.${blockClass.trim()}:hover &`]: { // bgc: theme.color6[1], top: '75%', left: '75%', }, }); const Tiles = ({ size, ...rest }) => { let style = {}; if (size && size !== defaultSize) { style = { width: size, height: size, }; } return (React.createElement("div", { ...rest, className: rest.className + blockClass, style: style }, React.createElement("div", { className: tileClass + tile1Class }), React.createElement("div", { className: tileClass + tile2Class }), React.createElement("div", { className: tileClass + tile3Class }), React.createElement("div", { className: tileClass + tile4Class }))); }; exports.Tiles = Tiles;