UNPKG

@playbooks/ui

Version:

An interface library for Playbooks.

69 lines (68 loc) 2.2 kB
import { jsx } from "react/jsx-runtime"; import { useUI } from "./context.es.js"; import { Font, P } from "./fonts.es.js"; import { Div } from "./html.es.js"; import { Icon } from "./icons.es.js"; const Banner = ({ name = "Banner", tailwind, className, children, ...props }) => { const context = useUI(); const base = context?.theme?.banner(); const computed = { ...base, ...props, tailwind, className, name }; return /* @__PURE__ */ jsx(Div, { ...computed, children }); }; const BannerIcon = ({ name = "BannerIcon", icon = "exclamation-circle", tailwind, className, ...props }) => { const context = useUI(); const base = context?.theme?.bannerIcon(); const computed = { ...base, ...props, tailwind, className, name }; return /* @__PURE__ */ jsx(Div, { ...computed, children: /* @__PURE__ */ jsx(Icon, { icon, ...tailwind?.icon }) }); }; const BannerBody = ({ name = "BannerBody", tailwind, className, children, ...props }) => { const context = useUI(); const base = context?.theme?.bannerBody(); const computed = { ...base, ...props, tailwind, className, name }; return /* @__PURE__ */ jsx(Div, { ...computed, children }); }; const BannerTitle = ({ name = "BannerTitle", size = "h6", tailwind, className, children, ...props }) => { const context = useUI(); const base = context?.theme?.bannerTitle(); const computed = { ...base, ...props, tailwind, className, name }; return /* @__PURE__ */ jsx(Font, { size, ...computed, children }); }; const BannerText = ({ name = "BannerText", tailwind, className, children, ...props }) => { const context = useUI(); const base = context?.theme?.bannerText(); const computed = { ...base, ...props, tailwind, className, name }; return /* @__PURE__ */ jsx(P, { ...computed, children }); }; const BannerActions = ({ name = "BannerActions", tailwind, className, children, ...props }) => { const context = useUI(); const base = context?.theme?.bannerActions(); const computed = { ...base, ...props, tailwind, className, name }; return /* @__PURE__ */ jsx(Div, { ...computed, children }); }; export { Banner, BannerActions, BannerBody, BannerIcon, BannerText, BannerTitle };