UNPKG

@liveblocks/react-ui

Version:

A set of React pre-built components for the Liveblocks products. Liveblocks is the all-in-one toolkit to build collaborative products like Figma, Notion, and more.

81 lines (76 loc) 2.2 kB
"use client"; 'use strict'; var jsxRuntime = require('react/jsx-runtime'); var react = require('react'); var ChevronDown = require('../../icons/ChevronDown.cjs'); var classNames = require('../../utils/class-names.cjs'); const CustomButton = react.forwardRef( ({ variant = "default", size = "default", disableable = true, className, children, ...props }, forwardedRef) => { return /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", className: classNames.classNames( "lb-button", !disableable && "lb-button:non-disableable", className ), "data-variant": variant, "data-size": size, ...props, ref: forwardedRef, children }); } ); const Button = react.forwardRef( ({ icon, children, ...props }, forwardedRef) => { return /* @__PURE__ */ jsxRuntime.jsxs(CustomButton, { ...props, ref: forwardedRef, children: [ icon ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "lb-icon-container", children: icon }) : null, children ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "lb-button-label", children }) : null ] }); } ); const SelectButton = react.forwardRef( ({ icon, children, className, ...props }, forwardedRef) => { return /* @__PURE__ */ jsxRuntime.jsxs(CustomButton, { ...props, type: "button", className: classNames.classNames("lb-select-button", className), ref: forwardedRef, children: [ icon ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "lb-icon-container", children: icon }) : null, children ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "lb-button-label", children }) : null, /* @__PURE__ */ jsxRuntime.jsx("span", { className: "lb-select-button-chevron", children: /* @__PURE__ */ jsxRuntime.jsx(ChevronDown.ChevronDownIcon, {}) }) ] }); } ); exports.Button = Button; exports.CustomButton = CustomButton; exports.SelectButton = SelectButton; //# sourceMappingURL=Button.cjs.map