xtreme-ui
Version:
Collection of reusable components that can be used in web projects
6 lines (5 loc) • 2.88 kB
JavaScript
import{r as l,d as _,e as o,j as n,T as g}from"./iframe-5Rr_RUeM.js";import{c as N}from"./clsx-B-dksMZM.js";import{B as T}from"./Button-DvCW9M4Z.js";import{S as w}from"./Select-p5twxRiM.js";import{u as E,i as M,g as V}from"./useScreen-BR45ve_F.js";import"./preload-helper-PPVm8Dsz.js";import"./ProgressBar-0sEm0xuH.js";import"./objectWithoutPropertiesLoose-DXv8YDMk.js";import"./index-BVe1xG5r.js";import"./index-ypbSTjMK.js";import"./floating-ui.dom-BTmOqyi9.js";import"./common-DNLsa6ye.js";const j=Object.entries(g).map(([a,u])=>({label:a.charAt(0).toUpperCase()+a.slice(1),value:u})),i=Object.values(g),c=l.forwardRef((a,u)=>{const{className:v,type:x="secondary",size:p="default",iconType:d="solid"}=a,{themeScheme:e,setThemeScheme:C,themeColor:s,setThemeColor:f}=_(),t=E(),h=l.useMemo(()=>o[(o.findIndex(r=>r.name===e)+1)%o.length],[e]),S=l.useMemo(()=>o.find(r=>r.name===e)?.icon??"",[e]),y=l.useMemo(()=>{const r=s??i[0];return i[(i.indexOf(r)+1)%i.length]},[s]),b=N("xtrThemeSwitch",v,!t.isMobile&&"withLabel");return!e||!M(s)?null:n.jsxs("div",{ref:u,className:b,children:[n.jsx(T,{className:"xtrThemeScheme",type:x,size:p,icon:S,iconType:d,label:t.isMobile?void 0:e,onClick:()=>h.name&&C(h.name)}),t.isLargest?n.jsx(w,{clearable:!1,searchable:!1,size:p,icon:"f53f",iconType:d,placeholder:"Theme",options:j,value:s,onChange:f}):n.jsx(T,{className:"xtrThemeColor",type:"primary",size:p,icon:"f53f",iconType:d,label:t.isMobile?void 0:V(s),onClick:()=>y&&f(y)})]})});c.displayName="ThemeSwitch";try{c.displayName="ThemeSwitch",c.__docgenInfo={description:"",displayName:"ThemeSwitch",props:{className:{defaultValue:null,description:"",name:"className",required:!1,type:{name:"string"}},withLabel:{defaultValue:null,description:"",name:"withLabel",required:!1,type:{name:"boolean"}},type:{defaultValue:null,description:"",name:"type",required:!1,type:{name:"enum",value:[{value:'"primary"'},{value:'"primaryDanger"'},{value:'"secondary"'},{value:'"secondaryDanger"'},{value:'"link"'},{value:'"linkDanger"'}]}},size:{defaultValue:null,description:"",name:"size",required:!1,type:{name:"enum",value:[{value:'"mini"'},{value:'"default"'},{value:'"large"'}]}},iconType:{defaultValue:null,description:"",name:"iconType",required:!1,type:{name:"enum",value:[{value:'"thin"'},{value:'"light"'},{value:'"regular"'},{value:'"solid"'}]}}}}}catch{}const U={title:"Layouts/Theme Switch",component:c,tags:["autodocs"],argTypes:{className:{control:!1},size:{defaultValue:{summary:"default"}},type:{defaultValue:{summary:"secondary"}},iconType:{defaultValue:{summary:"solid"}}},args:{size:"default",type:"secondary",iconType:"solid"}},m={args:{size:"mini"}};m.parameters={...m.parameters,docs:{...m.parameters?.docs,source:{originalSource:`{
args: {
size: "mini"
}
}`,...m.parameters?.docs?.source}}};const X=["Default"];export{m as Default,X as __namedExportsOrder,U as default};