UNPKG

@bothub-chat/ui

Version:

Bothub UI Components

2 lines (1 loc) 1.42 kB
import{jsx as t,jsxs as r}from"react/jsx-runtime";import{useMemo as o,useCallback as s}from"react";import"../../../theme/index.js";import{ThemeCardStyled as e,ThemeCardTopbar as i,ThemeCardTopbarRadio as m,ThemeCardTopbarTitle as c,ThemeCardTopbarTitleText as n,ThemeCardImage as l}from"./styled.js";import p from"./assets/dark.svg.js";import a from"./assets/light.svg.js";import{DarkIcon as d}from"../../../icons/dark/index.js";import{LightIcon as h}from"../../../icons/light/index.js";import{SystemIcon as j}from"../../../icons/system/index.js";import"tslib";import{IconProvider as f}from"../../icon/context.js";import"../../icon/styled.js";import"@react-spring/web";import"react-dom";import"../../portal/styled.js";import"../../tooltip/styled.js";import"../../tooltip/arrow/styled.js";import"../../tooltip/context.js";import{useTheme as k}from"../../../theme/hook.js";const g={dark:p,light:a},u=({variant:u,title:y,checked:x=!1,isSystemDark:b,onClick:w})=>{const v=k(),C=o((()=>Object.assign(Object.assign({},g),{system:b?p:a})),[b]),O=o((()=>C[u]),[C,u]),D=o((()=>{switch(u){case"dark":return t(d,{});case"light":return t(h,{});case"system":return t(j,{});default:return null}}),[u]),S=s((()=>{null==w||w(u)}),[]);return r(e,{onClick:S,children:[r(i,{children:[t(m,{checked:x}),r(c,{children:[t(f,{fill:v.colors.base.white,children:D}),t(n,{children:y})]})]}),t(l,{src:O,alt:`theme-${u}`})]})};export{u as ThemeCard};