UNPKG

@grandlinex/react-components

Version:
100 lines (99 loc) 3.65 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.Grid = Grid; const react_1 = __importStar(require("react")); const util_1 = require("../../util"); const optionMap = new Map([ ['flexStart', 'glx-flex-start'], ['layOut', 'glx-layout-$VAL'], ['fullWidth', 'glx-w-full'], ['fullHeight', 'glx-h-full'], ['flexMobile', 'glx-mobile-wrap'], ['flexEnd', 'glx-flex-end'], ['flexSpaceA', 'glx-flex-space-around'], ['flexSpaceB', 'glx-flex-space-between'], ['center', 'glx-flex-center'], ['vCenter', 'glx-flex-v-center'], ['hCenter', 'glx-flex-h-center'], ['flex', 'glx-flex'], ['flexRow', 'glx-flex-row'], ['flexR', 'glx-flex-r'], ['flexColumn', 'glx-flex-column'], ['flexC', 'glx-flex-c'], ['gap', 'glx-flex-g-$VAL'], ['grow', 'glx-flex-grow-$VAL'], ['flexWrap', 'glx-flex-wrap'], ]); function Grid(props) { const { children } = props; const outProps = (0, react_1.useMemo)(() => { const xProps = { ...props }; const divProps = {}; const keys = Object.keys(xProps); const nC = []; for (const key of keys) { if (key) { const val = xProps[key]; switch (key) { // CUSTOM CASES case 'className': if (Array.isArray(val)) { nC.push(...val); } else { nC.push(val); } break; case 'divRef': divProps.ref = val; break; // EMPTY CASES case 'children': case undefined: case null: break; // Default CASES default: if (optionMap.has(key)) { if (val !== undefined) { nC.push(optionMap.get(key).replace('$VAL', val)); } } else { divProps[key] = val; } break; } } } if (nC.length > 0) { divProps.className = (0, util_1.cnx)(...nC); } return divProps; }, [props]); // eslint-disable-next-line react/jsx-props-no-spreading return react_1.default.createElement("div", { ...outProps }, children); }