UNPKG

@nayan-ui/react-native

Version:

React Native Component Library for smooth and faster mobile application development.

42 lines (41 loc) 1.21 kB
"use strict"; import React, { useMemo } from 'react'; import { View } from 'react-native'; import { NPress } from "./NPress.js"; import { NText } from "./NText.js"; import { cn } from "../lib/utils.js"; import { jsx as _jsx, jsxs as _jsxs } from "react-native-css-interop/jsx-runtime"; export const NButton = /*#__PURE__*/React.memo(({ children, icon, className, textClassName, disabled, ...props }) => { const buttonIcon = useMemo(() => { if (!icon) return null; if (/*#__PURE__*/React.isValidElement(icon)) { return icon; } const IconComponent = icon; return _jsx(IconComponent, { size: 16 }); }, [icon]); return _jsxs(NPress, { className: cn('flex-row items-center justify-center rounded border px-5 py-3 bg-primary border-primary active:opacity-90', disabled && 'opacity-60', className), role: "button", disabled: disabled, ...props, children: [buttonIcon && _jsx(View, { className: "mr-2", children: buttonIcon }), _jsx(NText, { className: cn('text-center font-medium text-white', textClassName), children: children })] }); }); NButton.displayName = 'NButton'; //# sourceMappingURL=NButton.js.map