@snowball-tech/fractal
Version:
Fractal's (Snowball's design system) React component library based on RadixUI and PandaCSS
3 lines • 2.3 kB
JavaScript
'use client';
import{b as T}from"./chunk-43OHDP4Q.js";import{a as f,c as O,e as $}from"./chunk-JCJLJHAM.js";import{b as l}from"./chunk-CMFNILWJ.js";import{a as E,b as A}from"./chunk-KHPUS472.js";import*as d from"@radix-ui/react-tabs";import{forwardRef as k}from"react";import F from"lodash/fp/isFunction";import H from"lodash/fp/omit";import{Children as h,cloneElement as R,isValidElement as y}from"react";import L from"lodash/fp/isArray";import b from"lodash/fp/isEmpty";import V from"lodash/fp/isNil";import _ from"lodash/fp/isObject";function c(a,o,n,r){let i=Array.isArray(n)?n:[n],m=V(r)||b(r)?[]:Array.isArray(r)?r:[r],e=!1;return h.forEach(a,t=>{e||y(t)&&(e=(o==="*"||t.type===o)&&i.every(s=>Object.hasOwn(t.props,s)&&!!t.props[s]),!e&&t.props.children?e=c(t.props.children,o,n,r):e&&!b(m)&&(e=m.every(s=>!Object.hasOwn(t.props,s))))}),e}function x(a,o,n){return h.map(a,r=>{if(!y(r))return r;if(!b(n)){let i=r.type;if(_(i)&&i.displayName!==n)return R(r,o(r.props))}return!b(r.props.children)&&L(r.props.children)?R(r,o(r.props),x(r.props.children,o,n)):R(r,o(r.props))})}import{jsx as N,jsxs as S}from"react/jsx-runtime";var C=k(({children:a,defaultTab:o,disabled:n=!1,label:r,large:i=!1,onTabChange:m,orientation:e=O,tab:t,tabs:s,tabsPosition:u=$,...g},v)=>{let p=i||c(s,T,"large")||c(s,T,["icon","label"],["iconOnly"]);return S(d.Root,{ref:v,activationMode:"manual",className:A(`${l}-${f}`,`${l}-${f}--${e}`,"flex",e==="vertical"?"":"flex-col",n?`${l}-${f}--disabled`:"",g.className),...o===void 0?{}:{defaultValue:o},...t===void 0?{}:{value:t},orientation:e,...F(m)?{onValueChange:m}:{},...H(["className","defaultValue","value","onValueChange"],g),children:[u==="end"&&a,N(d.List,{"aria-label":r,className:E(`${l}-${f}__tabs`,p?`${l}-${f}__tabs--large`:"","flex w-fit items-center justify-between border-normal bg-white [z-index:1]",e==="vertical"?"h-full w-6 min-w-6 flex-col":"max-h-10 w-full",!p&&e==="horizontal"?"min-h-6":"",p&&e==="horizontal"?"min-h-10":"",u==="start"?e==="horizontal"?"border-b-1":"border-r-1":e==="horizontal"?"border-t-1":"border-l-1"),loop:!0,children:x(s,w=>({disabled:n||w.disabled,large:p||w.large,orientation:e,tabsPosition:u}),"Tab")}),u==="start"&&a]})});C.displayName="Tabs";var rr=C;export{C as a,rr as b};
//# sourceMappingURL=chunk-JNJU2O6S.js.map