UNPKG

@yamada-ui/close-button

Version:

Yamada UI close button component

69 lines (67 loc) 1.7 kB
"use client" // src/close-button.tsx import { forwardRef, omitThemeProps, ui, useComponentStyle } from "@yamada-ui/core"; import { CloseIcon } from "@yamada-ui/icon"; import { Ripple, useRipple } from "@yamada-ui/ripple"; import { cx } from "@yamada-ui/utils"; import { jsx, jsxs } from "react/jsx-runtime"; var CloseButton = forwardRef( (props, ref) => { const [styles, mergedProps] = useComponentStyle("CloseButton", props); const { className, children, isDisabled, disabled = isDisabled, disableRipple, isRounded, fullRounded = isRounded, __css, ...rest } = omitThemeProps(mergedProps); const { onPointerDown, ...rippleProps } = useRipple({ ...rest, disabled: disableRipple || disabled }); const css = { alignItems: "center", display: "flex", flexShrink: 0, justifyContent: "center", outline: 0, overflow: "hidden", position: "relative", ...styles, ...__css, ...fullRounded ? { borderRadius: "fallback(full, 9999px)" } : {} }; return /* @__PURE__ */ jsxs( ui.button, { ref, type: "button", className: cx("ui-close-button", className), "aria-label": "Close", disabled, __css: css, ...rest, onPointerDown, children: [ children || /* @__PURE__ */ jsx(CloseIcon, { height: "1em", width: "1em" }), /* @__PURE__ */ jsx(Ripple, { ...rippleProps }) ] } ); } ); CloseButton.displayName = "CloseButton"; CloseButton.__ui__ = "CloseButton"; export { CloseButton }; //# sourceMappingURL=chunk-A66JBDCD.mjs.map