UNPKG

@explita/daily-toolset-components

Version:

A lightweight and versatile collection of TypeScript utility functions and form components, inspired by ShadCN UI, designed for seamless everyday development. Enhance your Node.js, React, and Next.js projects with a well-structured suite of helpers for st

40 lines (39 loc) 2.49 kB
"use client"; "use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.Button = Button; exports.ButtonAdd = ButtonAdd; const react_1 = __importDefault(require("react")); const bs_1 = require("react-icons/bs"); const hi_1 = require("react-icons/hi"); const button_1 = require("../ui/button"); const Spinner_1 = require("./Spinner"); const lu_1 = require("react-icons/lu"); function Button({ children, icon, type = "button", variant = "default", size = "default", isDisabled = false, loading = false, ...rest }) { return (react_1.default.createElement(button_1.Button, { type: type, size: size, disabled: isDisabled, variant: variant, ...rest }, loading && react_1.default.createElement(Spinner_1.Spinner, { color: "blue" }), icon && react_1.default.createElement("span", null, icon), children)); } Button.Add = function Add({ children = "Add New", variant = "green", size = "sm", ...rest }) { return (react_1.default.createElement(Button, { icon: react_1.default.createElement(bs_1.BsPlusLg, null), size: size, variant: variant, ...rest }, children)); }; Button.Remove = function Remove({ children = "Remove", variant = "destructive", size = "icon", ...rest }) { return (react_1.default.createElement(Button, { size: size, variant: variant, ...rest }, react_1.default.createElement(lu_1.LuMinus, null))); }; function ButtonAdd({ ...rest }) { return react_1.default.createElement(Button.Add, { ...rest }); } Button.Submit = function Submit({ children = "Submit", isDisabled = false, size = "default", loading, ...rest }) { return (react_1.default.createElement(Button, { type: "submit", icon: react_1.default.createElement(hi_1.HiOutlineSaveAs, null), isDisabled: loading || isDisabled, loading: loading, variant: "teal", ...rest }, children)); }; Button.Search = function Search({ children = "Search", variant = "secondary", ...rest }) { return (react_1.default.createElement(Button.Submit, { icon: react_1.default.createElement(bs_1.BsSearch, null), variant: variant, ...rest }, children)); }; Button.Close = function Close({ children = "Close", variant = "destructive", size, ...rest }) { return (react_1.default.createElement(Button, { type: "button", icon: react_1.default.createElement(bs_1.BsXLg, null), size: size, variant: variant, ...rest }, children)); };