@xploreu/components 0.2.2 → 0.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,2 @@
1
+ import {a}from'./chunk-ZVME3JB3.js';import {b as b$1,c}from'./chunk-KYD4ATTG.js';import*as n from'react';import {Tabs}from'@base-ui/react/tabs';import {AnimatePresence,motion}from'motion/react';import {getStrictContext}from'@xploreu/lib/get-strict-context';import {useControlledState}from'@xploreu/hooks/use-controlled-state';import {jsx}from'react/jsx-runtime';var[v,b]=getStrictContext("TabsContext");function M(t){let[a,s]=useControlledState({value:t.value,defaultValue:t.defaultValue,onChange:t.onValueChange});return jsx(v,{value:{value:a,setValue:s},children:jsx(Tabs.Root,{"data-slot":"tabs",...t,onValueChange:s})})}function V({transition:t={type:"spring",stiffness:200,damping:25},...a}){let{value:s}=b();return jsx(b$1,{"data-slot":"tabs-highlight",controlledItems:true,value:s,transition:t,click:false,...a})}function k(t){return jsx(Tabs.List,{"data-slot":"tabs-list",...t})}function F(t){return jsx(c,{"data-slot":"tabs-highlight-item",...t})}function O(t){return jsx(Tabs.Tab,{"data-slot":"tabs-tab",...t})}function w({value:t,keepMounted:a,transition:s={duration:.5,ease:"easeInOut"},...i}){return jsx(AnimatePresence,{mode:"wait",children:jsx(Tabs.Panel,{render:jsx(motion.div,{"data-slot":"tabs-panel",layout:true,layoutDependency:t,initial:{opacity:0,filter:"blur(4px)"},animate:{opacity:1,filter:"blur(0px)"},exit:{opacity:0,filter:"blur(4px)"},transition:s,...i}),keepMounted:a,value:t})})}var P={type:"spring",stiffness:200,damping:30};function H(t){return !t.mode||t.mode==="auto-height"}function D(t){let{value:a$1}=b();if(H(t)){let{children:h,transition:m=P,...y}=t;return jsx(a,{"data-slot":"tabs-panels",deps:[a$1],transition:m,...y,children:jsx(n.Fragment,{children:h},a$1)})}let{children:s,style:i,transition:T=P,...g}=t;return jsx(motion.div,{"data-slot":"tabs-panels",layout:"size",layoutDependency:a$1,transition:{layout:T},style:{overflow:"hidden",...i},...g,children:jsx(n.Fragment,{children:s},a$1)})}export{M as a,V as b,k as c,F as d,O as e,w as f,D as g};//# sourceMappingURL=chunk-MMCL4HWD.js.map
2
+ //# sourceMappingURL=chunk-MMCL4HWD.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/primitives/tabs.tsx"],"names":["TabsProvider","useTabs","getStrictContext","Tabs","props","value","setValue","useControlledState","jsx","TabsPrimitive","TabsHighlight","transition","Highlight","TabsList","TabsHighlightItem","HighlightItem","TabsTab","TabsPanel","keepMounted","AnimatePresence","motion","defaultTransition","isAutoMode","TabsPanels","children","autoProps","AutoHeight","style","layoutProps"],"mappings":"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","file":"chunk-MMCL4HWD.js","sourcesContent":["'use client';\r\n\r\nimport * as React from 'react';\r\nimport { Tabs as TabsPrimitive } from '@base-ui/react/tabs';\r\nimport {\r\n motion,\r\n AnimatePresence,\r\n type HTMLMotionProps,\r\n type Transition,\r\n} from 'motion/react';\r\n\r\nimport {\r\n Highlight,\r\n HighlightItem,\r\n type HighlightProps,\r\n type HighlightItemProps,\r\n} from \"../effects/highlight\"\r\nimport { getStrictContext } from \"@xploreu/lib/get-strict-context\";\r\nimport { useControlledState } from '@xploreu/hooks/use-controlled-state';\r\nimport {\r\n AutoHeight,\r\n type AutoHeightProps,\r\n} from '../effects/auto-height';\r\n\r\ntype TabsContextType = {\r\n value: string | undefined;\r\n setValue: TabsProps['onValueChange'];\r\n};\r\n\r\nconst [TabsProvider, useTabs] =\r\n getStrictContext<TabsContextType>('TabsContext');\r\n\r\ntype TabsProps = React.ComponentProps<typeof TabsPrimitive.Root>;\r\n\r\nfunction Tabs(props: TabsProps) {\r\n const [value, setValue] = useControlledState({\r\n value: props.value,\r\n defaultValue: props.defaultValue,\r\n onChange: props.onValueChange,\r\n });\r\n\r\n return (\r\n <TabsProvider value={{ value, setValue }}>\r\n <TabsPrimitive.Root\r\n data-slot=\"tabs\"\r\n {...props}\r\n onValueChange={setValue}\r\n />\r\n </TabsProvider>\r\n );\r\n}\r\n\r\ntype TabsHighlightProps = Omit<HighlightProps, 'controlledItems' | 'value'>;\r\n\r\nfunction TabsHighlight({\r\n transition = { type: 'spring', stiffness: 200, damping: 25 },\r\n ...props\r\n}: TabsHighlightProps) {\r\n const { value } = useTabs();\r\n\r\n return (\r\n <Highlight\r\n data-slot=\"tabs-highlight\"\r\n controlledItems\r\n value={value}\r\n transition={transition}\r\n click={false}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\ntype TabsListProps = React.ComponentProps<typeof TabsPrimitive.List>;\r\n\r\nfunction TabsList(props: TabsListProps) {\r\n return <TabsPrimitive.List data-slot=\"tabs-list\" {...props} />;\r\n}\r\n\r\ntype TabsHighlightItemProps = HighlightItemProps & {\r\n value: string;\r\n};\r\n\r\nfunction TabsHighlightItem(props: TabsHighlightItemProps) {\r\n return <HighlightItem data-slot=\"tabs-highlight-item\" {...props} />;\r\n}\r\n\r\ntype TabsTabProps = React.ComponentProps<typeof TabsPrimitive.Tab>;\r\n\r\nfunction TabsTab(props: TabsTabProps) {\r\n return <TabsPrimitive.Tab data-slot=\"tabs-tab\" {...props} />;\r\n}\r\n\r\ntype TabsPanelProps = React.ComponentProps<typeof TabsPrimitive.Panel> &\r\n HTMLMotionProps<'div'>;\r\n\r\nfunction TabsPanel({\r\n value,\r\n keepMounted,\r\n transition = { duration: 0.5, ease: 'easeInOut' },\r\n ...props\r\n}: TabsPanelProps) {\r\n return (\r\n <AnimatePresence mode=\"wait\">\r\n <TabsPrimitive.Panel\r\n render={\r\n <motion.div\r\n data-slot=\"tabs-panel\"\r\n layout\r\n layoutDependency={value}\r\n initial={{ opacity: 0, filter: 'blur(4px)' }}\r\n animate={{ opacity: 1, filter: 'blur(0px)' }}\r\n exit={{ opacity: 0, filter: 'blur(4px)' }}\r\n transition={transition}\r\n {...props}\r\n />\r\n }\r\n keepMounted={keepMounted}\r\n value={value}\r\n />\r\n </AnimatePresence>\r\n );\r\n}\r\n\r\ntype TabsPanelsAutoProps = Omit<AutoHeightProps, 'children'> & {\r\n mode?: 'auto-height';\r\n children: React.ReactNode;\r\n transition?: Transition;\r\n};\r\n\r\ntype TabsPanelsLayoutProps = Omit<HTMLMotionProps<'div'>, 'children'> & {\r\n mode: 'layout';\r\n children: React.ReactNode;\r\n transition?: Transition;\r\n};\r\n\r\ntype TabsPanelsProps = TabsPanelsAutoProps | TabsPanelsLayoutProps;\r\n\r\nconst defaultTransition: Transition = {\r\n type: 'spring',\r\n stiffness: 200,\r\n damping: 30,\r\n};\r\n\r\nfunction isAutoMode(props: TabsPanelsProps): props is TabsPanelsAutoProps {\r\n return !props.mode || props.mode === 'auto-height';\r\n}\r\n\r\nfunction TabsPanels(props: TabsPanelsProps) {\r\n const { value } = useTabs();\r\n\r\n if (isAutoMode(props)) {\r\n const { children, transition = defaultTransition, ...autoProps } = props;\r\n\r\n return (\r\n <AutoHeight\r\n data-slot=\"tabs-panels\"\r\n deps={[value]}\r\n transition={transition}\r\n {...autoProps}\r\n >\r\n <React.Fragment key={value}>{children}</React.Fragment>\r\n </AutoHeight>\r\n );\r\n }\r\n\r\n const {\r\n children,\r\n style,\r\n transition = defaultTransition,\r\n ...layoutProps\r\n } = props;\r\n\r\n return (\r\n <motion.div\r\n data-slot=\"tabs-panels\"\r\n layout=\"size\"\r\n layoutDependency={value}\r\n transition={{ layout: transition }}\r\n style={{ overflow: 'hidden', ...style }}\r\n {...layoutProps}\r\n >\r\n <React.Fragment key={value}>{children}</React.Fragment>\r\n </motion.div>\r\n );\r\n}\r\n\r\nexport {\r\n Tabs,\r\n TabsHighlight,\r\n TabsHighlightItem,\r\n TabsList,\r\n TabsTab,\r\n TabsPanel,\r\n TabsPanels,\r\n type TabsProps,\r\n type TabsHighlightProps,\r\n type TabsHighlightItemProps,\r\n type TabsListProps,\r\n type TabsTabProps,\r\n type TabsPanelProps,\r\n type TabsPanelsProps,\r\n};"]}
@@ -0,0 +1,2 @@
1
+ import {a,b,c,d,e,g as g$1,f as f$1}from'./chunk-MMCL4HWD.js';import {cn}from'@xploreu/lib/cn';import {jsx}from'react/jsx-runtime';function g({className:a$1,variant:t="default",...i}){return jsx(a,{className:cn("group/tabs flex flex-col gap-2",a$1),"data-variant":t,...i})}function T({className:a,highlightClassName:t,...i}){return jsx(b,{className:cn("absolute z-0","group-data-[variant=default]/tabs:inset-0 group-data-[variant=default]/tabs:rounded-lg group-data-[variant=default]/tabs:bg-bg-primary-solid","group-data-[variant=underline]/tabs:bottom-0 group-data-[variant=underline]/tabs:h-0.5 group-data-[variant=underline]/tabs:w-full group-data-[variant=underline]/tabs:rounded-none group-data-[variant=underline]/tabs:bg-fg-brand-secondary",t),children:jsx(c,{className:cn("inline-flex w-fit items-center justify-center","group-data-[variant=default]/tabs:bg-bg-tertiary group-data-[variant=default]/tabs:rounded-lg group-data-[variant=default]/tabs:p-0.5 group-data-[variant=default]/tabs:gap-1 group-data-[variant=default]/tabs:border group-data-[variant=default]/tabs:border-border-primary","group-data-[variant=underline]/tabs:gap-7",a),...i})})}function v({className:a,...t}){return jsx(d,{value:t.value,className:"flex-1",children:jsx(e,{className:cn("group/tabs-trigger data-[active=true]:text-text-brand-tertiary-alt focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring text-text-primary inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md w-full text-label-semibold-2 whitespace-nowrap transition-colors duration-500 ease-in-out focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4","group-data-[variant=default]/tabs:px-3 group-data-[variant=default]/tabs:py-2 group-data-[variant=default]/tabs:rounded-lg group-data-[variant=default]/tabs:text-text-quaternary group-data-[variant=default]/tabs:data-[active=true]:text-text-white","group-data-[variant=underline]/tabs:h-8.5 group-data-[variant=underline]/tabs:px-3",a),...t})})}function f(a){return jsx(g$1,{...a})}function m({className:a,...t}){return jsx(f$1,{className:cn("flex-1 outline-none",a),...t})}export{g as a,T as b,v as c,f as d,m as e};//# sourceMappingURL=chunk-WIUYDPXB.js.map
2
+ //# sourceMappingURL=chunk-WIUYDPXB.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/ui/tabs.tsx"],"names":["Tabs","className","variant","props","jsx","cn","TabsList","highlightClassName","TabsHighlight","TabsTab","TabsHighlightItem","TabsPanels","TabsPanel"],"mappings":"mIAoBA,SAASA,CAAAA,CAAK,CAAE,SAAA,CAAAC,GAAAA,CAAW,OAAA,CAAAC,EAAU,SAAA,CAAW,GAAGC,CAAM,CAAA,CAAc,CACrE,OACEC,GAAAA,CAACJ,CAAAA,CAAA,CACC,SAAA,CAAWK,EAAAA,CAAG,gCAAA,CAAkCJ,GAAS,CAAA,CACzD,cAAA,CAAcC,CAAAA,CACb,GAAGC,EACN,CAEJ,CAMA,SAASG,CAAAA,CAAS,CAAE,SAAA,CAAAL,CAAAA,CAAW,kBAAA,CAAAM,CAAAA,CAAoB,GAAGJ,CAAM,CAAA,CAAkB,CAC5E,OACEC,GAAAA,CAACI,CAAAA,CAAA,CACC,SAAA,CAAWH,EAAAA,CACT,cAAA,CACA,8IAAA,CACA,8OAAA,CACAE,CACF,CAAA,CAEA,QAAA,CAAAH,IAACE,CAAAA,CAAA,CACC,SAAA,CAAWD,EAAAA,CACT,+CAAA,CACA,gRAAA,CACA,2CAAA,CACAJ,CACF,EACC,GAAGE,CAAAA,CACN,CAAA,CACF,CAEJ,CAIA,SAASM,CAAAA,CAAQ,CAAE,SAAA,CAAAR,CAAAA,CAAW,GAAGE,CAAM,CAAA,CAAiB,CACtD,OACEC,GAAAA,CAACM,EAAA,CAA2B,KAAA,CAAOP,CAAAA,CAAM,KAAA,CAAO,SAAA,CAAU,QAAA,CACxD,QAAA,CAAAC,GAAAA,CAACK,EAAA,CACC,SAAA,CAAWJ,EAAAA,CACT,ygBAAA,CACA,wPAAA,CACA,oFAAA,CACAJ,CACF,CAAA,CACC,GAAGE,CAAAA,CACN,CAAA,CACF,CAEJ,CAIA,SAASQ,CAAAA,CAAWR,CAAAA,CAAwB,CAC1C,OAAOC,GAAAA,CAACO,GAAAA,CAAA,CAAqB,GAAGR,CAAAA,CAAO,CACzC,CAIA,SAASS,EAAU,CAAE,SAAA,CAAAX,CAAAA,CAAW,GAAGE,CAAM,CAAA,CAAmB,CAC1D,OACEC,IAACQ,GAAAA,CAAA,CACC,SAAA,CAAWP,EAAAA,CAAG,qBAAA,CAAuBJ,CAAS,CAAA,CAC7C,GAAGE,EACN,CAEJ","file":"chunk-WIUYDPXB.js","sourcesContent":["import {\r\n Tabs as TabsPrimitive,\r\n TabsList as TabsListPrimitive,\r\n TabsTab as TabsTabPrimitive,\r\n TabsPanel as TabsPanelPrimitive,\r\n TabsPanels as TabsPanelsPrimitive,\r\n TabsHighlight as TabsHighlightPrimitive,\r\n TabsHighlightItem as TabsHighlightItemPrimitive,\r\n type TabsProps as TabsPrimitiveProps,\r\n type TabsListProps as TabsListPrimitiveProps,\r\n type TabsTabProps as TabsTabPrimitiveProps,\r\n type TabsPanelProps as TabsPanelPrimitiveProps,\r\n type TabsPanelsProps as TabsPanelsPrimitiveProps,\r\n} from '../primitives/tabs';\r\nimport { cn } from '@xploreu/lib/cn';\r\n\r\ntype TabsProps = TabsPrimitiveProps & {\r\n variant?: \"default\" | \"underline\";\r\n};\r\n\r\nfunction Tabs({ className, variant = \"default\", ...props }: TabsProps) {\r\n return (\r\n <TabsPrimitive\r\n className={cn('group/tabs flex flex-col gap-2', className)}\r\n data-variant={variant}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\ntype TabsListProps = TabsListPrimitiveProps & {\r\n highlightClassName?: string;\r\n};\r\n\r\nfunction TabsList({ className, highlightClassName, ...props }: TabsListProps) {\r\n return (\r\n <TabsHighlightPrimitive\r\n className={cn(\r\n \"absolute z-0\",\r\n \"group-data-[variant=default]/tabs:inset-0 group-data-[variant=default]/tabs:rounded-lg group-data-[variant=default]/tabs:bg-bg-primary-solid\",\r\n \"group-data-[variant=underline]/tabs:bottom-0 group-data-[variant=underline]/tabs:h-0.5 group-data-[variant=underline]/tabs:w-full group-data-[variant=underline]/tabs:rounded-none group-data-[variant=underline]/tabs:bg-fg-brand-secondary\",\r\n highlightClassName\r\n )}\r\n >\r\n <TabsListPrimitive\r\n className={cn(\r\n \"inline-flex w-fit items-center justify-center\",\r\n \"group-data-[variant=default]/tabs:bg-bg-tertiary group-data-[variant=default]/tabs:rounded-lg group-data-[variant=default]/tabs:p-0.5 group-data-[variant=default]/tabs:gap-1 group-data-[variant=default]/tabs:border group-data-[variant=default]/tabs:border-border-primary\",\r\n \"group-data-[variant=underline]/tabs:gap-7\",\r\n className,\r\n )}\r\n {...props}\r\n />\r\n </TabsHighlightPrimitive>\r\n );\r\n}\r\n\r\ntype TabsTabProps = TabsTabPrimitiveProps;\r\n\r\nfunction TabsTab({ className, ...props }: TabsTabProps) {\r\n return (\r\n <TabsHighlightItemPrimitive value={props.value} className=\"flex-1\">\r\n <TabsTabPrimitive\r\n className={cn(\r\n \"group/tabs-trigger data-[active=true]:text-text-brand-tertiary-alt focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring text-text-primary inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md w-full text-label-semibold-2 whitespace-nowrap transition-colors duration-500 ease-in-out focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\r\n \"group-data-[variant=default]/tabs:px-3 group-data-[variant=default]/tabs:py-2 group-data-[variant=default]/tabs:rounded-lg group-data-[variant=default]/tabs:text-text-quaternary group-data-[variant=default]/tabs:data-[active=true]:text-text-white\",\r\n \"group-data-[variant=underline]/tabs:h-8.5 group-data-[variant=underline]/tabs:px-3\",\r\n className,\r\n )}\r\n {...props}\r\n />\r\n </TabsHighlightItemPrimitive>\r\n );\r\n}\r\n\r\ntype TabsPanelsProps = TabsPanelsPrimitiveProps;\r\n\r\nfunction TabsPanels(props: TabsPanelsProps) {\r\n return <TabsPanelsPrimitive {...props} />;\r\n}\r\n\r\ntype TabsPanelProps = TabsPanelPrimitiveProps;\r\n\r\nfunction TabsPanel({ className, ...props }: TabsPanelProps) {\r\n return (\r\n <TabsPanelPrimitive\r\n className={cn('flex-1 outline-none', className)}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nexport {\r\n Tabs,\r\n TabsList,\r\n TabsTab,\r\n TabsPanels,\r\n TabsPanel,\r\n type TabsProps,\r\n type TabsListProps,\r\n type TabsTabProps,\r\n type TabsPanelsProps,\r\n type TabsPanelProps,\r\n};"]}
@@ -0,0 +1,2 @@
1
+ import {cva}from'class-variance-authority';import {Loader2}from'lucide-react';import {Button}from'@base-ui/react/button';import {cn}from'@xploreu/lib/cn';import {jsx,jsxs,Fragment}from'react/jsx-runtime';var m=cva(cn("group relative inline-flex h-max w-fit cursor-pointer items-center justify-center whitespace-nowrap outline-brand transition duration-100 ease-linear before:absolute focus-visible:outline-2 focus-visible:outline-offset-2 rounded-xp-buttons [&_svg]:shrink-0","disabled:cursor-not-allowed"),{variants:{color:{default:"focus-visible:outline-focus-ring",destructive:"focus-visible:outline-focus-ring-error","gradient-ai":"focus-visible:outline-focus-ring","linear-green":"focus-visible:outline-focus-ring-success","linear-overlay":"focus-visible:outline-focus-ring","linear-destructive":"focus-visible:outline-focus-ring-error"},variant:{primary:"before:rounded-lg before:absolute before:inset-0 before:border-1 before:border-white/12 before:mask-b-from-0% after:absolute after:inset-0 after:rounded-xp-buttons hover:after:bg-alpha-gray-20 after:bg-transparent after:transition-colors disabled:text-fg-disabled disabled:bg-none disabled:bg-bg-disabled disabled:hover:after:bg-transparent disabled:before:border-border-disabled disabled:before:mask-none disabled:before:border-1 shadow-xp-md hover:shadow-xp-brand ",secondary:"border-1 shadow-xp-md hover:shadow-xp-brand disabled:bg-bg-disabled disabled:text-fg-disabled disabled:[&_svg]:text-fg-disabled-subtle disabled:border-border-disabled disabled:hover:text-fg-disabled disabled:hover:[&_svg]:text-fg-disabled-subtle","secondary-accent":"disabled:border-border-disabled disabled:bg-bg-disabled disabled:text-fg-disabled",tertiary:"disabled:bg-bg-disabled disabled:text-fg-disabled disabled:[&_svg]:text-bg-disabled","tertiary-accent":"disabled:bg-bg-disabled disabled:text-fg-disabled disabled:[&_svg]:text-fg-disabled-subtle",link:"underline decoration-transparent hover:decoration-inherit transition-colors disabled:bg-bg-disabled disabled:text-fg-disabled disabled:[&_svg]:text-fg-disabled-subtle disabled:hover:no-underline"},icon:{true:void 0,false:void 0},size:{sm:"text-label-semibold-3 px-xp-lg gap-xp-sm h-9 data-[icon]:size-9 data-[variant=link]:h-5 data-[variant=link]:px-0 [&_svg]:size-5",md:"text-label-semibold-3 px-3.5 gap-xp-sm h-10 data-[icon]:size-10 data-[variant=link]:h-5 data-[variant=link]:px-0 [&_svg]:size-5",lg:"text-label-semibold-2 px-xp-xl gap-xp-md h-11 data-[icon]:size-11 data-[variant=link]:h-[22px] data-[variant=link]:px-0 [&_svg]:size-5",xl:"text-label-semibold-2 px-4.5 gap-xp-md h-12 data-[icon]:size-12 data-[variant=link]:h-[22px] data-[variant=link]:px-0 [&_svg]:size-5"}},compoundVariants:[{variant:"primary",color:"default",className:"bg-gradient-buttons-gradient-blue text-text-primary-on-brand"},{variant:"secondary",color:"default",className:"bg-bg-primary text-text-secondary [&_svg]:text-fg-secondary border-border-primary-icon hover:bg-bg-brand-solid hover:border-border-white hover:text-text-primary-on-brand hover:[&_svg]:text-fg-white"},{variant:"secondary-accent",color:"default",className:"border-1 border-border-primary-icon text-fg-primary hover:bg-bg-brand-primary"},{variant:"tertiary",color:"default",className:"text-text-tertiary [&_svg]:text-fg-quaternary hover:bg-bg-primary-hover hover:text-text-tertiary-hover hover:[&_svg]:text-fg-quaternary-hover"},{variant:"tertiary-accent",color:"default",className:"bg-bg-brand-primary text-text-brand-tertiary [&_svg]:text-fg-brand-secondary hover:bg-bg-brand-secondary hover:text-text-brand-tertiary hover:[&_svg]:text-fg-brand-secondary-hover"},{variant:"link",color:"default",className:"text-text-brand-secondary [&_svg]:text-fg-brand-secondary-alt hover:text-text-brand-secondary-hover hover:[&_svg]:text-fg-brand-secondary-hover"},{variant:"primary",color:"destructive",className:"bg-bg-error-solid text-text-primary-on-brand"},{variant:"secondary",color:"destructive",className:"bg-bg-primary text-text-error-primary [&_svg]:text-fg-error-secondary border-border-error hover:bg-bg-error-primary hover:text-text-error-primary-hover hover:[&_svg]:text-fg-error-secondary"},{variant:"secondary-accent",color:"destructive",className:"border-1 border-border-error text-fg-error-primary hover:bg-bg-error-primary"},{variant:"tertiary",color:"destructive",className:"text-text-error-primary [&_svg]:text-fg-error-secondary hover:bg-bg-error-primary hover:text-text-error-primary-hover hover:[&_svg]:text-fg-error-primary"},{variant:"tertiary-accent",color:"destructive",className:"bg-bg-error-primary text-text-error-tertiary [&_svg]:text-fg-error-secondary hover:bg-bg-error-secondary hover:text-text-error-tertiary hover:[&_svg]:text-fg-error-secondary-hover"},{variant:"link",color:"destructive",className:"text-text-error-secondary [&_svg]:text-fg-error-secondary hover:text-text-error-primary-hover hover:[&_svg]:text-fg-error-primary"},{variant:"primary",color:"gradient-ai",className:"bg-gradient-buttons-button-ai text-text-primary-on-brand"},{variant:"secondary",color:"gradient-ai",className:"relative shadow-transparent border-transparent hover:bg-bg-primary bg-[linear-gradient(90deg,var(--color-bg-primary),var(--color-bg-primary)),var(--gradient-buttons-button-ai)] [background-clip:padding-box,border-box] [background-origin:padding-box,border-box] [&>span]:bg-gradient-buttons-button-ai [&>span]:bg-clip-text [&>span]:text-transparent after:absolute after:inset-0 after:rounded-md hover:after:bg-gradient-buttons-button-ai hover:after:opacity-10 disabled:hover:after:bg-transparent disabled:after:opacity-0 disabled:[&>span]:bg-none disabled:[&>span]:text-fg-disabled"},{variant:"secondary-accent",color:"gradient-ai",className:"border-1 border-border-brand text-fg-brand-primary hover:bg-bg-brand-primary"},{variant:"tertiary",color:"gradient-ai",className:"relative [&>span]:bg-gradient-buttons-button-ai [&>span]:bg-clip-text [&>span]:text-transparent after:absolute after:inset-0 after:rounded-md hover:after:bg-gradient-buttons-button-ai hover:after:opacity-10 disabled:hover:after:bg-transparent disabled:after:opacity-0 disabled:[&>span]:bg-none disabled:[&>span]:text-fg-disabled"},{variant:"tertiary-accent",color:"gradient-ai",className:"bg-bg-brand-primary text-text-brand-tertiary [&_svg]:text-fg-brand-secondary hover:bg-bg-brand-secondary hover:text-text-brand-tertiary hover:[&_svg]:text-fg-brand-secondary-hover"},{variant:"link",color:"gradient-ai",className:"text-text-brand-secondary [&_svg]:text-fg-brand-secondary-alt hover:text-text-brand-secondary-hover hover:[&_svg]:text-fg-brand-secondary-hover"},{variant:"primary",color:"linear-green",className:"bg-gradient-buttons-gradient-green text-text-primary-on-brand"},{variant:"secondary",color:"linear-green",className:"bg-bg-primary text-text-secondary [&_svg]:text-green-500 border-border-primary hover:text-text-secondary-hover hover:[&_svg]:text-green-900"},{variant:"secondary-accent",color:"linear-green",className:"border-1 border-border-primary text-fg-primary hover:bg-bg-primary"},{variant:"tertiary",color:"linear-green",className:"text-text-success-primary [&_svg]:text-green-500 hover:bg-bg-success-primary hover:[&_svg]:text-green-900"},{variant:"tertiary-accent",color:"linear-green",className:"bg-bg-success-primary text-text-success-tertiary [&_svg]:text-fg-success-secondary hover:bg-bg-success-secondary hover:text-text-success-tertiary hover:[&_svg]:text-fg-success-secondary-hover"},{variant:"link",color:"linear-green",className:"text-text-success-secondary [&_svg]:text-fg-success-secondary hover:text-text-success-primary-hover hover:[&_svg]:text-fg-success-primary"},{variant:"primary",color:"linear-overlay",className:"relative bg-bg-brand-solid text-text-primary-on-brand [&_svg]:text-button-primary-icon hover:[&_svg]:text-button-primary-icon-hover after:absolute after:inset-0 after:rounded-xp-buttons after:bg-gradient-skuemorphic-gradient-border after:hover:bg-gradient-skuemorphic-gradient-border"},{variant:"secondary",color:"linear-overlay",className:"bg-bg-brand-solid-hover text-text-secondary [&_svg]:text-fg-quaternary border-border-primary hover:bg-bg-primary-hover hover:text-text-secondary-hover hover:[&_svg]:text-text-quaternary-hover"},{variant:"secondary-accent",color:"linear-overlay",className:"border-1 border-border-brand text-fg-brand-primary hover:bg-bg-brand-primary"},{variant:"tertiary",color:"linear-overlay",className:"text-text-tertiary [&_svg]:text-fg-quaternary hover:bg-bg-primary-hover hover:text-text-tertiary-hover hover:[&_svg]:text-fg-quaternary-hover"},{variant:"tertiary-accent",color:"linear-overlay",className:"bg-bg-brand-primary text-text-brand-tertiary [&_svg]:text-fg-brand-secondary hover:bg-bg-brand-secondary hover:text-text-brand-tertiary hover:[&_svg]:text-fg-brand-secondary-hover"},{variant:"link",color:"linear-overlay",className:"text-text-brand-secondary [&_svg]:text-fg-brand-secondary-alt hover:text-text-brand-secondary-hover hover:[&_svg]:text-fg-brand-secondary-hover"},{variant:"primary",color:"linear-destructive",className:"relative bg-bg-error-solid text-text-primary-on-brand [&_svg]:text-button-destructive-primary-icon hover:[&_svg]:text-button-destructive-primary-icon-hover after:absolute after:inset-0 after:rounded-xp-buttons after:bg-gradient-skuemorphic-gradient-border after:hover:bg-gradient-skuemorphic-gradient-border"},{variant:"secondary",color:"linear-destructive",className:"bg-bg-error-solid-hover text-text-secondary [&_svg]:text-fg-quaternary border-border-primary hover:bg-bg-primary-hover hover:text-text-secondary-hover hover:[&_svg]:text-text-quaternary-hover"},{variant:"secondary-accent",color:"linear-destructive",className:"border-1 border-border-error text-fg-error-primary hover:bg-bg-error-primary"},{variant:"tertiary",color:"linear-destructive",className:"text-text-error-primary [&_svg]:text-fg-error-secondary hover:bg-bg-error-primary hover:text-text-tertiary-hover hover:[&_svg]:text-fg-error-secondary"},{variant:"tertiary-accent",color:"linear-destructive",className:"bg-bg-error-primary text-text-error-tertiary [&_svg]:text-fg-error-secondary hover:bg-bg-error-secondary hover:text-text-error-tertiary hover:[&_svg]:text-fg-error-secondary-hover"},{variant:"link",color:"linear-destructive",className:"text-text-error-primary [&_svg]:text-fg-error-secondary hover:text-text-error-primary-hover hover:[&_svg]:text-fg-error-primary"}],defaultVariants:{variant:"primary",color:"default",size:"sm"}});function w({className:s,color:i,variant:e,size:n,loading:t=false,children:d,disabled:b,icon:g,nativeButton:l,render:a,...v}){let c=a!=null?false:l;return jsx(Button,{className:cn(m({color:i,variant:e,size:n,className:s})),"data-icon":g?"":void 0,"data-variant":e,disabled:b||t,nativeButton:c,render:a,...v,children:t?jsxs(Fragment,{children:[jsx(Loader2,{className:"size-4 animate-spin"}),jsx("span",{children:"Loading..."})]}):d})}export{m as a,w as b};//# sourceMappingURL=chunk-XRBBTMGF.js.map
2
+ //# sourceMappingURL=chunk-XRBBTMGF.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/ui/button.tsx"],"names":["buttonVariants","cva","cn","Button","className","color","variant","size","loading","children","disabled","icon","nativeButton","render","props","resolvedNativeButton","jsx","ButtonPrimitive","jsxs","Fragment","Loader2"],"mappings":"4MAMA,IAAMA,CAAAA,CAAiBC,GAAAA,CACrBC,EAAAA,CACE,kQAAA,CACA,6BACF,CAAA,CACA,CACE,QAAA,CAAU,CACR,KAAA,CAAO,CACL,OAAA,CAAS,kCAAA,CACT,WAAA,CAAa,wCAAA,CACb,aAAA,CAAe,kCAAA,CACf,cAAA,CAAgB,0CAAA,CAChB,iBAAkB,kCAAA,CAClB,oBAAA,CAAsB,wCACxB,CAAA,CACA,OAAA,CAAS,CACP,OAAA,CAAS,odAAA,CACT,SAAA,CAAW,uPAAA,CACX,kBAAA,CAAoB,mFAAA,CACpB,QAAA,CAAU,qFAAA,CACV,kBAAmB,4FAAA,CACnB,IAAA,CAAM,oMACR,CAAA,CACA,IAAA,CAAM,CACJ,KAAM,MAAA,CACN,KAAA,CAAO,MACT,CAAA,CACA,IAAA,CAAM,CACJ,GAAI,iIAAA,CACJ,EAAA,CAAI,iIAAA,CACJ,EAAA,CAAI,wIAAA,CACJ,EAAA,CAAI,sIACN,CACF,CAAA,CACA,gBAAA,CAAkB,CAEhB,CACE,OAAA,CAAS,SAAA,CACT,MAAO,SAAA,CACP,SAAA,CAAW,8DACb,CAAA,CACA,CACE,OAAA,CAAS,WAAA,CACT,KAAA,CAAO,SAAA,CACP,SAAA,CAAW,uMACb,CAAA,CACA,CACE,OAAA,CAAS,mBACT,KAAA,CAAO,SAAA,CACP,SAAA,CAAW,+EACb,CAAA,CACA,CACE,OAAA,CAAS,UAAA,CACT,KAAA,CAAO,SAAA,CACP,SAAA,CAAW,+IACb,CAAA,CACA,CACE,QAAS,iBAAA,CACT,KAAA,CAAO,SAAA,CACP,SAAA,CAAW,qLACb,CAAA,CACA,CACE,OAAA,CAAS,MAAA,CACT,KAAA,CAAO,SAAA,CACP,SAAA,CAAW,iJACb,EAGA,CACE,OAAA,CAAS,SAAA,CACT,KAAA,CAAO,aAAA,CACP,SAAA,CAAW,8CACb,CAAA,CACA,CACE,OAAA,CAAS,WAAA,CACT,KAAA,CAAO,aAAA,CACP,SAAA,CAAW,+LACb,CAAA,CACA,CAEE,OAAA,CAAS,kBAAA,CACT,KAAA,CAAO,aAAA,CACP,SAAA,CAAW,8EACb,CAAA,CACA,CACE,OAAA,CAAS,UAAA,CACT,KAAA,CAAO,aAAA,CACP,UAAW,2JACb,CAAA,CACA,CAEE,OAAA,CAAS,iBAAA,CACT,KAAA,CAAO,aAAA,CACP,SAAA,CAAW,qLACb,CAAA,CACA,CACE,OAAA,CAAS,MAAA,CACT,KAAA,CAAO,cACP,SAAA,CAAW,mIACb,CAAA,CAGA,CACE,OAAA,CAAS,SAAA,CACT,MAAO,aAAA,CACP,SAAA,CAAW,0DACb,CAAA,CACA,CACE,OAAA,CAAS,YACT,KAAA,CAAO,aAAA,CACP,SAAA,CAAW,skBACb,CAAA,CACA,CAEE,OAAA,CAAS,kBAAA,CACT,KAAA,CAAO,aAAA,CACP,SAAA,CAAW,8EACb,CAAA,CACA,CACE,QAAS,UAAA,CACT,KAAA,CAAO,aAAA,CACP,SAAA,CAAW,0UACb,CAAA,CACA,CAEE,OAAA,CAAS,iBAAA,CACT,KAAA,CAAO,aAAA,CACP,SAAA,CAAW,qLACb,CAAA,CACA,CAEE,OAAA,CAAS,MAAA,CACT,KAAA,CAAO,aAAA,CACP,SAAA,CAAW,iJACb,CAAA,CAGA,CACE,OAAA,CAAS,SAAA,CACT,KAAA,CAAO,cAAA,CACP,SAAA,CAAW,+DACb,EACA,CACE,OAAA,CAAS,WAAA,CACT,KAAA,CAAO,cAAA,CACP,SAAA,CAAW,6IACb,CAAA,CACA,CAEE,OAAA,CAAS,kBAAA,CACT,KAAA,CAAO,cAAA,CACP,UAAW,oEACb,CAAA,CACA,CACE,OAAA,CAAS,UAAA,CACT,KAAA,CAAO,cAAA,CACP,SAAA,CAAW,2GACb,CAAA,CACA,CAEE,OAAA,CAAS,iBAAA,CACT,KAAA,CAAO,eACP,SAAA,CAAW,iMACb,CAAA,CACA,CAEE,OAAA,CAAS,MAAA,CACT,KAAA,CAAO,cAAA,CACP,SAAA,CAAW,2IACb,CAAA,CAGA,CACE,OAAA,CAAS,SAAA,CACT,MAAO,gBAAA,CACP,SAAA,CAAW,6RACb,CAAA,CACA,CACE,OAAA,CAAS,WAAA,CACT,KAAA,CAAO,gBAAA,CACP,SAAA,CAAW,iMACb,CAAA,CACA,CACE,OAAA,CAAS,mBACT,KAAA,CAAO,gBAAA,CACP,SAAA,CAAW,8EACb,CAAA,CACA,CACE,QAAS,UAAA,CACT,KAAA,CAAO,gBAAA,CACP,SAAA,CAAW,+IACb,CAAA,CACA,CACE,OAAA,CAAS,iBAAA,CACT,KAAA,CAAO,gBAAA,CACP,SAAA,CAAW,qLACb,CAAA,CACA,CACE,OAAA,CAAS,MAAA,CACT,KAAA,CAAO,gBAAA,CACP,SAAA,CAAW,iJACb,EAGA,CACE,OAAA,CAAS,SAAA,CACT,KAAA,CAAO,oBAAA,CACP,SAAA,CAAW,qTACb,CAAA,CACA,CACE,OAAA,CAAS,WAAA,CACT,KAAA,CAAO,oBAAA,CACP,SAAA,CAAW,iMACb,CAAA,CACA,CAEE,OAAA,CAAS,kBAAA,CACT,KAAA,CAAO,oBAAA,CACP,SAAA,CAAW,8EACb,CAAA,CACA,CACE,OAAA,CAAS,UAAA,CACT,KAAA,CAAO,oBAAA,CACP,UAAW,wJACb,CAAA,CACA,CAEE,OAAA,CAAS,iBAAA,CACT,KAAA,CAAO,qBACP,SAAA,CAAW,qLACb,CAAA,CACA,CACE,OAAA,CAAS,MAAA,CACT,MAAO,oBAAA,CACP,SAAA,CAAW,iIACb,CACF,CAAA,CACA,eAAA,CAAiB,CACf,OAAA,CAAS,SAAA,CACT,KAAA,CAAO,SAAA,CACP,IAAA,CAAM,IACR,CACF,CACF,EAEA,SAASC,CAAAA,CAAO,CACd,SAAA,CAAAC,CAAAA,CACA,KAAA,CAAAC,CAAAA,CACA,OAAA,CAAAC,CAAAA,CACA,IAAA,CAAAC,CAAAA,CACA,OAAA,CAAAC,CAAAA,CAAU,MACV,QAAA,CAAAC,CAAAA,CACA,QAAA,CAAAC,CAAAA,CACA,IAAA,CAAAC,CAAAA,CACA,YAAA,CAAAC,CAAAA,CACA,MAAA,CAAAC,CAAAA,CACA,GAAGC,CACL,CAAA,CAGK,CAEH,IAAMC,CAAAA,CAAuBF,CAAAA,EAAU,IAAA,CAAO,KAAA,CAAQD,CAAAA,CAEtD,OACEI,GAAAA,CAACC,MAAAA,CAAA,CACC,SAAA,CAAWf,EAAAA,CAAGF,CAAAA,CAAe,CAAE,KAAA,CAAAK,EAAO,OAAA,CAAAC,CAAAA,CAAS,IAAA,CAAAC,CAAAA,CAAM,SAAA,CAAAH,CAAU,CAAC,CAAC,CAAA,CACjE,WAAA,CAAWO,CAAAA,CAAO,EAAA,CAAK,MAAA,CACvB,cAAA,CAAcL,EACd,QAAA,CAAUI,CAAAA,EAAYF,CAAAA,CACtB,YAAA,CAAcO,CAAAA,CACd,MAAA,CAAQF,CAAAA,CACP,GAAGC,CAAAA,CAEH,QAAA,CAAAN,CAAAA,CACCU,IAAAA,CAAAC,QAAAA,CAAA,CACE,UAAAH,GAAAA,CAACI,OAAAA,CAAA,CAAQ,SAAA,CAAU,qBAAA,CAAsB,CAAA,CACzCJ,GAAAA,CAAC,MAAA,CAAA,CAAK,QAAA,CAAA,YAAA,CAAU,CAAA,CAAA,CAClB,CAAA,CAEAP,CAAAA,CAEJ,CAEJ","file":"chunk-XRBBTMGF.js","sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\"\nimport { Loader2 } from \"lucide-react\"\n\nimport { Button as ButtonPrimitive } from \"@base-ui/react/button\"\nimport { cn } from \"@xploreu/lib/cn\"\n\nconst buttonVariants = cva(\n cn(\n \"group relative inline-flex h-max w-fit cursor-pointer items-center justify-center whitespace-nowrap outline-brand transition duration-100 ease-linear before:absolute focus-visible:outline-2 focus-visible:outline-offset-2 rounded-xp-buttons [&_svg]:shrink-0\",\n \"disabled:cursor-not-allowed\",\n ),\n {\n variants: {\n color: {\n default: \"focus-visible:outline-focus-ring\",\n destructive: \"focus-visible:outline-focus-ring-error\",\n \"gradient-ai\": \"focus-visible:outline-focus-ring\",\n \"linear-green\": \"focus-visible:outline-focus-ring-success\",\n \"linear-overlay\": \"focus-visible:outline-focus-ring\",\n \"linear-destructive\": \"focus-visible:outline-focus-ring-error\",\n },\n variant: {\n primary: \"before:rounded-lg before:absolute before:inset-0 before:border-1 before:border-white/12 before:mask-b-from-0% after:absolute after:inset-0 after:rounded-xp-buttons hover:after:bg-alpha-gray-20 after:bg-transparent after:transition-colors disabled:text-fg-disabled disabled:bg-none disabled:bg-bg-disabled disabled:hover:after:bg-transparent disabled:before:border-border-disabled disabled:before:mask-none disabled:before:border-1 shadow-xp-md hover:shadow-xp-brand \",\n secondary: \"border-1 shadow-xp-md hover:shadow-xp-brand disabled:bg-bg-disabled disabled:text-fg-disabled disabled:[&_svg]:text-fg-disabled-subtle disabled:border-border-disabled disabled:hover:text-fg-disabled disabled:hover:[&_svg]:text-fg-disabled-subtle\",\n \"secondary-accent\": \"disabled:border-border-disabled disabled:bg-bg-disabled disabled:text-fg-disabled\",\n tertiary: \"disabled:bg-bg-disabled disabled:text-fg-disabled disabled:[&_svg]:text-bg-disabled\",\n \"tertiary-accent\": \"disabled:bg-bg-disabled disabled:text-fg-disabled disabled:[&_svg]:text-fg-disabled-subtle\",\n link: \"underline decoration-transparent hover:decoration-inherit transition-colors disabled:bg-bg-disabled disabled:text-fg-disabled disabled:[&_svg]:text-fg-disabled-subtle disabled:hover:no-underline\",\n },\n icon: {\n true: undefined,\n false: undefined\n },\n size: {\n sm: \"text-label-semibold-3 px-xp-lg gap-xp-sm h-9 data-[icon]:size-9 data-[variant=link]:h-5 data-[variant=link]:px-0 [&_svg]:size-5\",\n md: \"text-label-semibold-3 px-3.5 gap-xp-sm h-10 data-[icon]:size-10 data-[variant=link]:h-5 data-[variant=link]:px-0 [&_svg]:size-5\",\n lg: \"text-label-semibold-2 px-xp-xl gap-xp-md h-11 data-[icon]:size-11 data-[variant=link]:h-[22px] data-[variant=link]:px-0 [&_svg]:size-5\",\n xl: \"text-label-semibold-2 px-4.5 gap-xp-md h-12 data-[icon]:size-12 data-[variant=link]:h-[22px] data-[variant=link]:px-0 [&_svg]:size-5\",\n }\n },\n compoundVariants: [\n // Default Color Variants\n {\n variant: \"primary\",\n color: \"default\",\n className: \"bg-gradient-buttons-gradient-blue text-text-primary-on-brand\"\n },\n {\n variant: \"secondary\",\n color: \"default\",\n className: \"bg-bg-primary text-text-secondary [&_svg]:text-fg-secondary border-border-primary-icon hover:bg-bg-brand-solid hover:border-border-white hover:text-text-primary-on-brand hover:[&_svg]:text-fg-white\"\n },\n {\n variant: \"secondary-accent\",\n color: \"default\",\n className: \"border-1 border-border-primary-icon text-fg-primary hover:bg-bg-brand-primary\"\n },\n {\n variant: \"tertiary\",\n color: \"default\",\n className: \"text-text-tertiary [&_svg]:text-fg-quaternary hover:bg-bg-primary-hover hover:text-text-tertiary-hover hover:[&_svg]:text-fg-quaternary-hover\"\n },\n {\n variant: \"tertiary-accent\",\n color: \"default\",\n className: \"bg-bg-brand-primary text-text-brand-tertiary [&_svg]:text-fg-brand-secondary hover:bg-bg-brand-secondary hover:text-text-brand-tertiary hover:[&_svg]:text-fg-brand-secondary-hover\"\n },\n {\n variant: \"link\",\n color: \"default\",\n className: \"text-text-brand-secondary [&_svg]:text-fg-brand-secondary-alt hover:text-text-brand-secondary-hover hover:[&_svg]:text-fg-brand-secondary-hover\"\n },\n\n // Destructive Color Variants\n {\n variant: \"primary\",\n color: \"destructive\",\n className: \"bg-bg-error-solid text-text-primary-on-brand\"\n },\n {\n variant: \"secondary\",\n color: \"destructive\",\n className: \"bg-bg-primary text-text-error-primary [&_svg]:text-fg-error-secondary border-border-error hover:bg-bg-error-primary hover:text-text-error-primary-hover hover:[&_svg]:text-fg-error-secondary\"\n },\n {\n // Not existing in design system yet\n variant: \"secondary-accent\",\n color: \"destructive\",\n className: \"border-1 border-border-error text-fg-error-primary hover:bg-bg-error-primary\"\n },\n {\n variant: \"tertiary\",\n color: \"destructive\",\n className: \"text-text-error-primary [&_svg]:text-fg-error-secondary hover:bg-bg-error-primary hover:text-text-error-primary-hover hover:[&_svg]:text-fg-error-primary\"\n },\n {\n // Not existing in design system yet\n variant: \"tertiary-accent\",\n color: \"destructive\",\n className: \"bg-bg-error-primary text-text-error-tertiary [&_svg]:text-fg-error-secondary hover:bg-bg-error-secondary hover:text-text-error-tertiary hover:[&_svg]:text-fg-error-secondary-hover\"\n },\n {\n variant: \"link\",\n color: \"destructive\",\n className: \"text-text-error-secondary [&_svg]:text-fg-error-secondary hover:text-text-error-primary-hover hover:[&_svg]:text-fg-error-primary\"\n },\n\n // Gradient AI\n {\n variant: \"primary\",\n color: \"gradient-ai\",\n className: \"bg-gradient-buttons-button-ai text-text-primary-on-brand\"\n },\n {\n variant: \"secondary\",\n color: \"gradient-ai\",\n className: \"relative shadow-transparent border-transparent hover:bg-bg-primary bg-[linear-gradient(90deg,var(--color-bg-primary),var(--color-bg-primary)),var(--gradient-buttons-button-ai)] [background-clip:padding-box,border-box] [background-origin:padding-box,border-box] [&>span]:bg-gradient-buttons-button-ai [&>span]:bg-clip-text [&>span]:text-transparent after:absolute after:inset-0 after:rounded-md hover:after:bg-gradient-buttons-button-ai hover:after:opacity-10 disabled:hover:after:bg-transparent disabled:after:opacity-0 disabled:[&>span]:bg-none disabled:[&>span]:text-fg-disabled\"\n },\n {\n // Not existing in design system yet\n variant: \"secondary-accent\",\n color: \"gradient-ai\",\n className: \"border-1 border-border-brand text-fg-brand-primary hover:bg-bg-brand-primary\"\n },\n {\n variant: \"tertiary\",\n color: \"gradient-ai\",\n className: \"relative [&>span]:bg-gradient-buttons-button-ai [&>span]:bg-clip-text [&>span]:text-transparent after:absolute after:inset-0 after:rounded-md hover:after:bg-gradient-buttons-button-ai hover:after:opacity-10 disabled:hover:after:bg-transparent disabled:after:opacity-0 disabled:[&>span]:bg-none disabled:[&>span]:text-fg-disabled\"\n },\n {\n // Not existing in design system yet\n variant: \"tertiary-accent\",\n color: \"gradient-ai\",\n className: \"bg-bg-brand-primary text-text-brand-tertiary [&_svg]:text-fg-brand-secondary hover:bg-bg-brand-secondary hover:text-text-brand-tertiary hover:[&_svg]:text-fg-brand-secondary-hover\"\n },\n {\n // Not existing in design system yet\n variant: \"link\",\n color: \"gradient-ai\",\n className: \"text-text-brand-secondary [&_svg]:text-fg-brand-secondary-alt hover:text-text-brand-secondary-hover hover:[&_svg]:text-fg-brand-secondary-hover\"\n },\n\n // Linear Green Color Variants\n {\n variant: \"primary\",\n color: \"linear-green\",\n className: \"bg-gradient-buttons-gradient-green text-text-primary-on-brand\"\n },\n {\n variant: \"secondary\",\n color: \"linear-green\",\n className: \"bg-bg-primary text-text-secondary [&_svg]:text-green-500 border-border-primary hover:text-text-secondary-hover hover:[&_svg]:text-green-900\"\n },\n {\n // Not existing in design system yet\n variant: \"secondary-accent\",\n color: \"linear-green\",\n className: \"border-1 border-border-primary text-fg-primary hover:bg-bg-primary\"\n },\n {\n variant: \"tertiary\",\n color: \"linear-green\",\n className: \"text-text-success-primary [&_svg]:text-green-500 hover:bg-bg-success-primary hover:[&_svg]:text-green-900\"\n },\n {\n // Not existing in design system yet\n variant: \"tertiary-accent\",\n color: \"linear-green\",\n className: \"bg-bg-success-primary text-text-success-tertiary [&_svg]:text-fg-success-secondary hover:bg-bg-success-secondary hover:text-text-success-tertiary hover:[&_svg]:text-fg-success-secondary-hover\"\n },\n {\n // Not existing in design system yet\n variant: \"link\",\n color: \"linear-green\",\n className: \"text-text-success-secondary [&_svg]:text-fg-success-secondary hover:text-text-success-primary-hover hover:[&_svg]:text-fg-success-primary\"\n },\n\n // Linear Overlay Color Variants\n {\n variant: \"primary\",\n color: \"linear-overlay\",\n className: \"relative bg-bg-brand-solid text-text-primary-on-brand [&_svg]:text-button-primary-icon hover:[&_svg]:text-button-primary-icon-hover after:absolute after:inset-0 after:rounded-xp-buttons after:bg-gradient-skuemorphic-gradient-border after:hover:bg-gradient-skuemorphic-gradient-border\"\n },\n {\n variant: \"secondary\",\n color: \"linear-overlay\",\n className: \"bg-bg-brand-solid-hover text-text-secondary [&_svg]:text-fg-quaternary border-border-primary hover:bg-bg-primary-hover hover:text-text-secondary-hover hover:[&_svg]:text-text-quaternary-hover\"\n },\n {\n variant: \"secondary-accent\",\n color: \"linear-overlay\",\n className: \"border-1 border-border-brand text-fg-brand-primary hover:bg-bg-brand-primary\"\n },\n {\n variant: \"tertiary\",\n color: \"linear-overlay\",\n className: \"text-text-tertiary [&_svg]:text-fg-quaternary hover:bg-bg-primary-hover hover:text-text-tertiary-hover hover:[&_svg]:text-fg-quaternary-hover\"\n },\n {\n variant: \"tertiary-accent\",\n color: \"linear-overlay\",\n className: \"bg-bg-brand-primary text-text-brand-tertiary [&_svg]:text-fg-brand-secondary hover:bg-bg-brand-secondary hover:text-text-brand-tertiary hover:[&_svg]:text-fg-brand-secondary-hover\"\n },\n {\n variant: \"link\",\n color: \"linear-overlay\",\n className: \"text-text-brand-secondary [&_svg]:text-fg-brand-secondary-alt hover:text-text-brand-secondary-hover hover:[&_svg]:text-fg-brand-secondary-hover\"\n },\n\n // Linear Destructive Color Variants\n {\n variant: \"primary\",\n color: \"linear-destructive\",\n className: \"relative bg-bg-error-solid text-text-primary-on-brand [&_svg]:text-button-destructive-primary-icon hover:[&_svg]:text-button-destructive-primary-icon-hover after:absolute after:inset-0 after:rounded-xp-buttons after:bg-gradient-skuemorphic-gradient-border after:hover:bg-gradient-skuemorphic-gradient-border\"\n },\n {\n variant: \"secondary\",\n color: \"linear-destructive\",\n className: \"bg-bg-error-solid-hover text-text-secondary [&_svg]:text-fg-quaternary border-border-primary hover:bg-bg-primary-hover hover:text-text-secondary-hover hover:[&_svg]:text-text-quaternary-hover\"\n },\n {\n // Not existing in design system yet\n variant: \"secondary-accent\",\n color: \"linear-destructive\",\n className: \"border-1 border-border-error text-fg-error-primary hover:bg-bg-error-primary\"\n },\n {\n variant: \"tertiary\",\n color: \"linear-destructive\",\n className: \"text-text-error-primary [&_svg]:text-fg-error-secondary hover:bg-bg-error-primary hover:text-text-tertiary-hover hover:[&_svg]:text-fg-error-secondary\"\n },\n {\n // Not existing in design system yet\n variant: \"tertiary-accent\",\n color: \"linear-destructive\",\n className: \"bg-bg-error-primary text-text-error-tertiary [&_svg]:text-fg-error-secondary hover:bg-bg-error-secondary hover:text-text-error-tertiary hover:[&_svg]:text-fg-error-secondary-hover\"\n },\n {\n variant: \"link\",\n color: \"linear-destructive\",\n className: \"text-text-error-primary [&_svg]:text-fg-error-secondary hover:text-text-error-primary-hover hover:[&_svg]:text-fg-error-primary\"\n },\n ],\n defaultVariants: {\n variant: \"primary\",\n color: \"default\",\n size: \"sm\",\n },\n }\n)\n\nfunction Button({\n className,\n color,\n variant,\n size,\n loading = false,\n children,\n disabled,\n icon,\n nativeButton,\n render,\n ...props\n}: ButtonPrimitive.Props &\n VariantProps<typeof buttonVariants> & {\n loading?: boolean\n }) {\n // ponytail: auto-detect nativeButton when render is provided\n const resolvedNativeButton = render != null ? false : nativeButton\n\n return (\n <ButtonPrimitive\n className={cn(buttonVariants({ color, variant, size, className }))}\n data-icon={icon ? \"\" : undefined}\n data-variant={variant}\n disabled={disabled || loading}\n nativeButton={resolvedNativeButton}\n render={render}\n {...props}\n >\n {loading ? (\n <>\n <Loader2 className=\"size-4 animate-spin\" />\n <span>Loading...</span>\n </>\n ) : (\n children\n )}\n </ButtonPrimitive>\n )\n}\n\nexport { Button, buttonVariants }"]}
@@ -1,4 +1,3 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
1
  import * as React from 'react';
3
2
  import { TargetAndTransition, LegacyAnimationControls, Transition, HTMLMotionProps } from 'motion/react';
4
3
  import { WithAsChild } from '../primitives/slot.js';
@@ -9,6 +8,6 @@ type AutoHeightProps = WithAsChild<{
9
8
  animate?: TargetAndTransition | LegacyAnimationControls;
10
9
  transition?: Transition;
11
10
  } & Omit<HTMLMotionProps<"div">, "animate">>;
12
- declare function AutoHeight({ children, deps, transition, style, animate, asChild, ...props }: AutoHeightProps): react_jsx_runtime.JSX.Element;
11
+ declare function AutoHeight({ children, deps, transition, style, animate, asChild, ...props }: AutoHeightProps): React.JSX.Element;
13
12
 
14
13
  export { AutoHeight, type AutoHeightProps };
@@ -1,4 +1,3 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
1
  import * as React from 'react';
3
2
  import { Transition } from 'motion/react';
4
3
 
@@ -74,7 +73,7 @@ type UncontrolledChildrenModeHighlightProps<T extends React.ElementType = "div">
74
73
  children: React.ReactElement | React.ReactElement[];
75
74
  };
76
75
  type HighlightProps<T extends React.ElementType = "div"> = ControlledParentModeHighlightProps<T> | ControlledChildrenModeHighlightProps<T> | UncontrolledParentModeHighlightProps<T> | UncontrolledChildrenModeHighlightProps<T>;
77
- declare function Highlight<T extends React.ElementType = "div">({ ref, ...props }: HighlightProps<T>): react_jsx_runtime.JSX.Element;
76
+ declare function Highlight<T extends React.ElementType = "div">({ ref, ...props }: HighlightProps<T>): React.JSX.Element;
78
77
  type HighlightItemProps<T extends React.ElementType = "div"> = React.ComponentProps<T> & {
79
78
  as?: T;
80
79
  children: React.ReactElement;
@@ -1,6 +1,5 @@
1
1
  export { AutoHeight, AutoHeightProps } from './auto-height.js';
2
2
  export { Highlight, HighlightItem, HighlightItemProps, HighlightProps, useHighlight } from './highlight.js';
3
- import 'react/jsx-runtime';
4
3
  import 'react';
5
4
  import 'motion/react';
6
5
  import '../primitives/slot.js';
@@ -1,4 +1,3 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
1
  import * as React from 'react';
3
2
  import { Dialog as Dialog$1 } from '@base-ui/react/dialog';
4
3
  import { HTMLMotionProps } from 'motion/react';
@@ -9,27 +8,27 @@ type DialogContextType = {
9
8
  };
10
9
  declare const useDialog: () => DialogContextType;
11
10
  type DialogProps = React.ComponentProps<typeof Dialog$1.Root>;
12
- declare function Dialog(props: DialogProps): react_jsx_runtime.JSX.Element;
11
+ declare function Dialog(props: DialogProps): React.JSX.Element;
13
12
  type DialogTriggerProps = React.ComponentProps<typeof Dialog$1.Trigger>;
14
- declare function DialogTrigger(props: DialogTriggerProps): react_jsx_runtime.JSX.Element;
13
+ declare function DialogTrigger(props: DialogTriggerProps): React.JSX.Element;
15
14
  type DialogPortalProps = Omit<React.ComponentProps<typeof Dialog$1.Portal>, 'keepMounted'>;
16
- declare function DialogPortal(props: DialogPortalProps): react_jsx_runtime.JSX.Element;
15
+ declare function DialogPortal(props: DialogPortalProps): React.JSX.Element;
17
16
  type DialogBackdropProps = Omit<React.ComponentProps<typeof Dialog$1.Backdrop>, 'render'> & HTMLMotionProps<'div'>;
18
- declare function DialogBackdrop({ transition, ...props }: DialogBackdropProps): react_jsx_runtime.JSX.Element;
17
+ declare function DialogBackdrop({ transition, ...props }: DialogBackdropProps): React.JSX.Element;
19
18
  type DialogFlipDirection = 'top' | 'bottom' | 'left' | 'right';
20
19
  type DialogPopupProps = Omit<React.ComponentProps<typeof Dialog$1.Popup>, 'render'> & HTMLMotionProps<'div'> & {
21
20
  from?: DialogFlipDirection;
22
21
  };
23
- declare function DialogPopup({ from, initialFocus, finalFocus, transition, className, ...props }: DialogPopupProps): react_jsx_runtime.JSX.Element;
22
+ declare function DialogPopup({ from, initialFocus, finalFocus, transition, className, ...props }: DialogPopupProps): React.JSX.Element;
24
23
  type DialogCloseProps = React.ComponentProps<typeof Dialog$1.Close>;
25
- declare function DialogClose(props: DialogCloseProps): react_jsx_runtime.JSX.Element;
24
+ declare function DialogClose(props: DialogCloseProps): React.JSX.Element;
26
25
  type DialogHeaderProps = React.ComponentProps<'div'>;
27
- declare function DialogHeader(props: DialogHeaderProps): react_jsx_runtime.JSX.Element;
26
+ declare function DialogHeader(props: DialogHeaderProps): React.JSX.Element;
28
27
  type DialogFooterProps = React.ComponentProps<'div'>;
29
- declare function DialogFooter(props: DialogFooterProps): react_jsx_runtime.JSX.Element;
28
+ declare function DialogFooter(props: DialogFooterProps): React.JSX.Element;
30
29
  type DialogTitleProps = React.ComponentProps<typeof Dialog$1.Title>;
31
- declare function DialogTitle(props: DialogTitleProps): react_jsx_runtime.JSX.Element;
30
+ declare function DialogTitle(props: DialogTitleProps): React.JSX.Element;
32
31
  type DialogDescriptionProps = React.ComponentProps<typeof Dialog$1.Description>;
33
- declare function DialogDescription(props: DialogDescriptionProps): react_jsx_runtime.JSX.Element;
32
+ declare function DialogDescription(props: DialogDescriptionProps): React.JSX.Element;
34
33
 
35
34
  export { Dialog, DialogBackdrop, type DialogBackdropProps, DialogClose, type DialogCloseProps, type DialogContextType, DialogDescription, type DialogDescriptionProps, type DialogFlipDirection, DialogFooter, type DialogFooterProps, DialogHeader, type DialogHeaderProps, DialogPopup, type DialogPopupProps, DialogPortal, type DialogPortalProps, type DialogProps, DialogTitle, type DialogTitleProps, DialogTrigger, type DialogTriggerProps, useDialog };
@@ -1,10 +1,9 @@
1
1
  export { AnyProps, DOMMotionProps, Slot, SlotProps, WithAsChild } from './slot.js';
2
2
  export { Dialog, DialogBackdrop, DialogBackdropProps, DialogClose, DialogCloseProps, DialogContextType, DialogDescription, DialogDescriptionProps, DialogFlipDirection, DialogFooter, DialogFooterProps, DialogHeader, DialogHeaderProps, DialogPopup, DialogPopupProps, DialogPortal, DialogPortalProps, DialogProps, DialogTitle, DialogTitleProps, DialogTrigger, DialogTriggerProps, useDialog } from './dialog.js';
3
- export { Tabs, TabsContent, TabsContentProps, TabsContents, TabsContentsProps, TabsHighlight, TabsHighlightItem, TabsHighlightItemProps, TabsHighlightProps, TabsList, TabsListProps, TabsProps, TabsTrigger, TabsTriggerProps } from './tabs.js';
4
- import 'react/jsx-runtime';
3
+ export { Tabs, TabsHighlight, TabsHighlightItem, TabsHighlightItemProps, TabsHighlightProps, TabsList, TabsListProps, TabsPanel, TabsPanelProps, TabsPanels, TabsPanelsProps, TabsProps, TabsTab, TabsTabProps } from './tabs.js';
5
4
  import 'react';
6
5
  import 'motion/react';
7
6
  import '@base-ui/react/dialog';
8
- import '@radix-ui/react-tabs';
9
- import '../effects/auto-height.js';
7
+ import '@base-ui/react/tabs';
10
8
  import '../effects/highlight.js';
9
+ import '../effects/auto-height.js';
@@ -1,2 +1,2 @@
1
- export{b as Dialog,e as DialogBackdrop,g as DialogClose,k as DialogDescription,i as DialogFooter,h as DialogHeader,f as DialogPopup,d as DialogPortal,j as DialogTitle,c as DialogTrigger,a as useDialog}from'../chunk-5YDJTHDG.js';export{a as Tabs,f as TabsContent,g as TabsContents,b as TabsHighlight,d as TabsHighlightItem,c as TabsList,e as TabsTrigger}from'../chunk-AMNHVMRK.js';import'../chunk-ZVME3JB3.js';import'../chunk-KYD4ATTG.js';export{a as Slot}from'../chunk-2TUGHMFW.js';//# sourceMappingURL=index.js.map
1
+ export{b as Dialog,e as DialogBackdrop,g as DialogClose,k as DialogDescription,i as DialogFooter,h as DialogHeader,f as DialogPopup,d as DialogPortal,j as DialogTitle,c as DialogTrigger,a as useDialog}from'../chunk-5YDJTHDG.js';export{a as Tabs,b as TabsHighlight,d as TabsHighlightItem,c as TabsList,f as TabsPanel,g as TabsPanels,e as TabsTab}from'../chunk-MMCL4HWD.js';import'../chunk-ZVME3JB3.js';import'../chunk-KYD4ATTG.js';export{a as Slot}from'../chunk-2TUGHMFW.js';//# sourceMappingURL=index.js.map
2
2
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,3 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
1
  import * as React from 'react';
3
2
  import { HTMLMotionProps, motion } from 'motion/react';
4
3
 
@@ -15,6 +14,6 @@ type WithAsChild<Base extends object> = (Base & {
15
14
  type SlotProps<T extends HTMLElement = HTMLElement> = {
16
15
  children?: any;
17
16
  } & DOMMotionProps<T>;
18
- declare function Slot<T extends HTMLElement = HTMLElement>({ children, ref, ...props }: SlotProps<T>): react_jsx_runtime.JSX.Element | null;
17
+ declare function Slot<T extends HTMLElement = HTMLElement>({ children, ref, ...props }: SlotProps<T>): React.JSX.Element | null;
19
18
 
20
19
  export { type AnyProps, type DOMMotionProps, Slot, type SlotProps, type WithAsChild };
@@ -1,36 +1,35 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
1
  import * as React from 'react';
3
- import * as TabsPrimitive from '@radix-ui/react-tabs';
2
+ import { Tabs as Tabs$1 } from '@base-ui/react/tabs';
4
3
  import { HTMLMotionProps, Transition } from 'motion/react';
5
- import { AutoHeightProps } from '../effects/auto-height.js';
6
4
  import { HighlightProps, HighlightItemProps } from '../effects/highlight.js';
5
+ import { AutoHeightProps } from '../effects/auto-height.js';
7
6
  import './slot.js';
8
7
 
9
- type TabsProps = React.ComponentProps<typeof TabsPrimitive.Root>;
10
- declare function Tabs({ value: valueProp, defaultValue, onValueChange, ...props }: TabsProps): react_jsx_runtime.JSX.Element;
11
- type TabsHighlightProps = Omit<HighlightProps, "controlledItems" | "value">;
12
- declare function TabsHighlight({ transition, ...props }: TabsHighlightProps): react_jsx_runtime.JSX.Element;
13
- type TabsListProps = React.ComponentProps<typeof TabsPrimitive.List>;
14
- declare function TabsList(props: TabsListProps): react_jsx_runtime.JSX.Element;
8
+ type TabsProps = React.ComponentProps<typeof Tabs$1.Root>;
9
+ declare function Tabs(props: TabsProps): React.JSX.Element;
10
+ type TabsHighlightProps = Omit<HighlightProps, 'controlledItems' | 'value'>;
11
+ declare function TabsHighlight({ transition, ...props }: TabsHighlightProps): React.JSX.Element;
12
+ type TabsListProps = React.ComponentProps<typeof Tabs$1.List>;
13
+ declare function TabsList(props: TabsListProps): React.JSX.Element;
15
14
  type TabsHighlightItemProps = HighlightItemProps & {
16
15
  value: string;
17
16
  };
18
- declare function TabsHighlightItem(props: TabsHighlightItemProps): react_jsx_runtime.JSX.Element;
19
- type TabsTriggerProps = React.ComponentProps<typeof TabsPrimitive.Trigger>;
20
- declare function TabsTrigger(props: TabsTriggerProps): react_jsx_runtime.JSX.Element;
21
- type TabsContentProps = React.ComponentProps<typeof TabsPrimitive.Content> & HTMLMotionProps<"div">;
22
- declare function TabsContent({ value, forceMount, transition, ...props }: TabsContentProps): react_jsx_runtime.JSX.Element;
23
- type TabsContentsAutoProps = AutoHeightProps & {
24
- mode?: "auto-height";
17
+ declare function TabsHighlightItem(props: TabsHighlightItemProps): React.JSX.Element;
18
+ type TabsTabProps = React.ComponentProps<typeof Tabs$1.Tab>;
19
+ declare function TabsTab(props: TabsTabProps): React.JSX.Element;
20
+ type TabsPanelProps = React.ComponentProps<typeof Tabs$1.Panel> & HTMLMotionProps<'div'>;
21
+ declare function TabsPanel({ value, keepMounted, transition, ...props }: TabsPanelProps): React.JSX.Element;
22
+ type TabsPanelsAutoProps = Omit<AutoHeightProps, 'children'> & {
23
+ mode?: 'auto-height';
25
24
  children: React.ReactNode;
26
25
  transition?: Transition;
27
26
  };
28
- type TabsContentsLayoutProps = Omit<HTMLMotionProps<"div">, "transition"> & {
29
- mode: "layout";
27
+ type TabsPanelsLayoutProps = Omit<HTMLMotionProps<'div'>, 'children'> & {
28
+ mode: 'layout';
30
29
  children: React.ReactNode;
31
30
  transition?: Transition;
32
31
  };
33
- type TabsContentsProps = TabsContentsAutoProps | TabsContentsLayoutProps;
34
- declare function TabsContents(props: TabsContentsProps): react_jsx_runtime.JSX.Element;
32
+ type TabsPanelsProps = TabsPanelsAutoProps | TabsPanelsLayoutProps;
33
+ declare function TabsPanels(props: TabsPanelsProps): React.JSX.Element;
35
34
 
36
- export { Tabs, TabsContent, type TabsContentProps, TabsContents, type TabsContentsProps, TabsHighlight, TabsHighlightItem, type TabsHighlightItemProps, type TabsHighlightProps, TabsList, type TabsListProps, type TabsProps, TabsTrigger, type TabsTriggerProps };
35
+ export { Tabs, TabsHighlight, TabsHighlightItem, type TabsHighlightItemProps, type TabsHighlightProps, TabsList, type TabsListProps, TabsPanel, type TabsPanelProps, TabsPanels, type TabsPanelsProps, type TabsProps, TabsTab, type TabsTabProps };
@@ -1,2 +1,2 @@
1
- export{a as Tabs,f as TabsContent,g as TabsContents,b as TabsHighlight,d as TabsHighlightItem,c as TabsList,e as TabsTrigger}from'../chunk-AMNHVMRK.js';import'../chunk-ZVME3JB3.js';import'../chunk-KYD4ATTG.js';import'../chunk-2TUGHMFW.js';//# sourceMappingURL=tabs.js.map
1
+ export{a as Tabs,b as TabsHighlight,d as TabsHighlightItem,c as TabsList,f as TabsPanel,g as TabsPanels,e as TabsTab}from'../chunk-MMCL4HWD.js';import'../chunk-ZVME3JB3.js';import'../chunk-KYD4ATTG.js';import'../chunk-2TUGHMFW.js';//# sourceMappingURL=tabs.js.map
2
2
  //# sourceMappingURL=tabs.js.map
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
1
+ import * as React from 'react';
2
2
  import * as class_variance_authority_types from 'class-variance-authority/types';
3
3
  import { VariantProps } from 'class-variance-authority';
4
4
  import { Button as Button$1 } from '@base-ui/react/button';
@@ -11,6 +11,6 @@ declare const buttonVariants: (props?: ({
11
11
  } & class_variance_authority_types.ClassProp) | undefined) => string;
12
12
  declare function Button({ className, color, variant, size, loading, children, disabled, icon, nativeButton, render, ...props }: Button$1.Props & VariantProps<typeof buttonVariants> & {
13
13
  loading?: boolean;
14
- }): react_jsx_runtime.JSX.Element;
14
+ }): React.JSX.Element;
15
15
 
16
16
  export { Button, buttonVariants };
package/dist/ui/button.js CHANGED
@@ -1,2 +1,2 @@
1
- export{b as Button,a as buttonVariants}from'../chunk-7K7NVV7D.js';//# sourceMappingURL=button.js.map
1
+ export{b as Button,a as buttonVariants}from'../chunk-XRBBTMGF.js';//# sourceMappingURL=button.js.map
2
2
  //# sourceMappingURL=button.js.map
@@ -1,28 +1,27 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
1
  import * as React from 'react';
3
2
  import { DialogProps as DialogProps$1, DialogCloseProps as DialogCloseProps$1, DialogDescriptionProps as DialogDescriptionProps$1, DialogFooterProps as DialogFooterProps$1, DialogHeaderProps as DialogHeaderProps$1, DialogPopupProps as DialogPopupProps$1, DialogTitleProps as DialogTitleProps$1, DialogTriggerProps as DialogTriggerProps$1 } from '../primitives/dialog.js';
4
3
  import '@base-ui/react/dialog';
5
4
  import 'motion/react';
6
5
 
7
6
  type DialogProps = DialogProps$1;
8
- declare function Dialog(props: DialogProps): react_jsx_runtime.JSX.Element;
7
+ declare function Dialog(props: DialogProps): React.JSX.Element;
9
8
  type DialogTriggerProps = DialogTriggerProps$1;
10
- declare function DialogTrigger(props: DialogTriggerProps): react_jsx_runtime.JSX.Element;
9
+ declare function DialogTrigger(props: DialogTriggerProps): React.JSX.Element;
11
10
  type DialogCloseProps = DialogCloseProps$1;
12
- declare function DialogClose(props: DialogCloseProps): react_jsx_runtime.JSX.Element;
11
+ declare function DialogClose(props: DialogCloseProps): React.JSX.Element;
13
12
  type DialogPopupProps = DialogPopupProps$1 & {
14
13
  showCloseButton?: boolean;
15
14
  closeClassName?: string;
16
15
  onCloseClick?: React.MouseEventHandler;
17
16
  };
18
- declare function DialogPopup({ className, children, showCloseButton, closeClassName, onCloseClick, ...props }: DialogPopupProps): react_jsx_runtime.JSX.Element;
17
+ declare function DialogPopup({ className, children, showCloseButton, closeClassName, onCloseClick, ...props }: DialogPopupProps): React.JSX.Element;
19
18
  type DialogHeaderProps = DialogHeaderProps$1;
20
- declare function DialogHeader({ className, ...props }: DialogHeaderProps): react_jsx_runtime.JSX.Element;
19
+ declare function DialogHeader({ className, ...props }: DialogHeaderProps): React.JSX.Element;
21
20
  type DialogFooterProps = DialogFooterProps$1;
22
- declare function DialogFooter({ className, ...props }: DialogFooterProps): react_jsx_runtime.JSX.Element;
21
+ declare function DialogFooter({ className, ...props }: DialogFooterProps): React.JSX.Element;
23
22
  type DialogTitleProps = DialogTitleProps$1;
24
- declare function DialogTitle({ className, ...props }: DialogTitleProps): react_jsx_runtime.JSX.Element;
23
+ declare function DialogTitle({ className, ...props }: DialogTitleProps): React.JSX.Element;
25
24
  type DialogDescriptionProps = DialogDescriptionProps$1;
26
- declare function DialogDescription({ className, ...props }: DialogDescriptionProps): react_jsx_runtime.JSX.Element;
25
+ declare function DialogDescription({ className, ...props }: DialogDescriptionProps): React.JSX.Element;
27
26
 
28
27
  export { Dialog, DialogClose, type DialogCloseProps, DialogDescription, type DialogDescriptionProps, DialogFooter, type DialogFooterProps, DialogHeader, type DialogHeaderProps, DialogPopup, type DialogPopupProps, type DialogProps, DialogTitle, type DialogTitleProps, DialogTrigger, type DialogTriggerProps };
@@ -1,16 +1,15 @@
1
1
  export { Button, buttonVariants } from './button.js';
2
2
  export { Dialog, DialogClose, DialogCloseProps, DialogDescription, DialogDescriptionProps, DialogFooter, DialogFooterProps, DialogHeader, DialogHeaderProps, DialogPopup, DialogPopupProps, DialogProps, DialogTitle, DialogTitleProps, DialogTrigger, DialogTriggerProps } from './dialog.js';
3
- export { Tabs, TabsContent, TabsContentProps, TabsContents, TabsContentsProps, TabsList, TabsListProps, TabsProps, TabsTrigger, TabsTriggerProps } from './tabs.js';
4
- import 'react/jsx-runtime';
3
+ export { Tabs, TabsList, TabsListProps, TabsPanel, TabsPanelProps, TabsPanels, TabsPanelsProps, TabsProps, TabsTab, TabsTabProps } from './tabs.js';
4
+ import 'react';
5
5
  import 'class-variance-authority/types';
6
6
  import 'class-variance-authority';
7
7
  import '@base-ui/react/button';
8
- import 'react';
9
8
  import '../primitives/dialog.js';
10
9
  import '@base-ui/react/dialog';
11
10
  import 'motion/react';
12
11
  import '../primitives/tabs.js';
13
- import '@radix-ui/react-tabs';
12
+ import '@base-ui/react/tabs';
13
+ import '../effects/highlight.js';
14
14
  import '../effects/auto-height.js';
15
15
  import '../primitives/slot.js';
16
- import '../effects/highlight.js';
package/dist/ui/index.js CHANGED
@@ -1,2 +1,2 @@
1
- export{b as Button,a as buttonVariants}from'../chunk-7K7NVV7D.js';export{a as Dialog,c as DialogClose,h as DialogDescription,f as DialogFooter,e as DialogHeader,d as DialogPopup,g as DialogTitle,b as DialogTrigger}from'../chunk-52U7K5UV.js';export{a as Tabs,e as TabsContent,d as TabsContents,b as TabsList,c as TabsTrigger}from'../chunk-GDXL7UNV.js';import'../chunk-5YDJTHDG.js';import'../chunk-AMNHVMRK.js';import'../chunk-ZVME3JB3.js';import'../chunk-KYD4ATTG.js';import'../chunk-2TUGHMFW.js';//# sourceMappingURL=index.js.map
1
+ export{b as Button,a as buttonVariants}from'../chunk-XRBBTMGF.js';export{a as Dialog,c as DialogClose,h as DialogDescription,f as DialogFooter,e as DialogHeader,d as DialogPopup,g as DialogTitle,b as DialogTrigger}from'../chunk-52U7K5UV.js';export{a as Tabs,b as TabsList,e as TabsPanel,d as TabsPanels,c as TabsTab}from'../chunk-WIUYDPXB.js';import'../chunk-5YDJTHDG.js';import'../chunk-MMCL4HWD.js';import'../chunk-ZVME3JB3.js';import'../chunk-KYD4ATTG.js';import'../chunk-2TUGHMFW.js';//# sourceMappingURL=index.js.map
2
2
  //# sourceMappingURL=index.js.map
package/dist/ui/tabs.d.ts CHANGED
@@ -1,25 +1,24 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { TabsProps as TabsProps$1, TabsContentProps as TabsContentProps$1, TabsContentsProps as TabsContentsProps$1, TabsListProps as TabsListProps$1, TabsTriggerProps as TabsTriggerProps$1 } from '../primitives/tabs.js';
3
- import 'react';
4
- import '@radix-ui/react-tabs';
1
+ import * as React from 'react';
2
+ import { TabsProps as TabsProps$1, TabsListProps as TabsListProps$1, TabsPanelProps as TabsPanelProps$1, TabsPanelsProps as TabsPanelsProps$1, TabsTabProps as TabsTabProps$1 } from '../primitives/tabs.js';
3
+ import '@base-ui/react/tabs';
5
4
  import 'motion/react';
5
+ import '../effects/highlight.js';
6
6
  import '../effects/auto-height.js';
7
7
  import '../primitives/slot.js';
8
- import '../effects/highlight.js';
9
8
 
10
9
  type TabsProps = TabsProps$1 & {
11
10
  variant?: "default" | "underline";
12
11
  };
13
- declare function Tabs({ className, variant, ...props }: TabsProps): react_jsx_runtime.JSX.Element;
12
+ declare function Tabs({ className, variant, ...props }: TabsProps): React.JSX.Element;
14
13
  type TabsListProps = TabsListProps$1 & {
15
14
  highlightClassName?: string;
16
15
  };
17
- declare function TabsList({ className, highlightClassName, ...props }: TabsListProps): react_jsx_runtime.JSX.Element;
18
- type TabsTriggerProps = TabsTriggerProps$1;
19
- declare function TabsTrigger({ className, ...props }: TabsTriggerProps): react_jsx_runtime.JSX.Element;
20
- type TabsContentsProps = TabsContentsProps$1;
21
- declare function TabsContents(props: TabsContentsProps): react_jsx_runtime.JSX.Element;
22
- type TabsContentProps = TabsContentProps$1;
23
- declare function TabsContent({ className, ...props }: TabsContentProps): react_jsx_runtime.JSX.Element;
16
+ declare function TabsList({ className, highlightClassName, ...props }: TabsListProps): React.JSX.Element;
17
+ type TabsTabProps = TabsTabProps$1;
18
+ declare function TabsTab({ className, ...props }: TabsTabProps): React.JSX.Element;
19
+ type TabsPanelsProps = TabsPanelsProps$1;
20
+ declare function TabsPanels(props: TabsPanelsProps): React.JSX.Element;
21
+ type TabsPanelProps = TabsPanelProps$1;
22
+ declare function TabsPanel({ className, ...props }: TabsPanelProps): React.JSX.Element;
24
23
 
25
- export { Tabs, TabsContent, type TabsContentProps, TabsContents, type TabsContentsProps, TabsList, type TabsListProps, type TabsProps, TabsTrigger, type TabsTriggerProps };
24
+ export { Tabs, TabsList, type TabsListProps, TabsPanel, type TabsPanelProps, TabsPanels, type TabsPanelsProps, type TabsProps, TabsTab, type TabsTabProps };
package/dist/ui/tabs.js CHANGED
@@ -1,2 +1,2 @@
1
- export{a as Tabs,e as TabsContent,d as TabsContents,b as TabsList,c as TabsTrigger}from'../chunk-GDXL7UNV.js';import'../chunk-AMNHVMRK.js';import'../chunk-ZVME3JB3.js';import'../chunk-KYD4ATTG.js';import'../chunk-2TUGHMFW.js';//# sourceMappingURL=tabs.js.map
1
+ export{a as Tabs,b as TabsList,e as TabsPanel,d as TabsPanels,c as TabsTab}from'../chunk-WIUYDPXB.js';import'../chunk-MMCL4HWD.js';import'../chunk-ZVME3JB3.js';import'../chunk-KYD4ATTG.js';import'../chunk-2TUGHMFW.js';//# sourceMappingURL=tabs.js.map
2
2
  //# sourceMappingURL=tabs.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xploreu/components",
3
- "version": "0.2.2",
3
+ "version": "0.2.4",
4
4
  "description": "Shared UI components for XploreU apps",
5
5
  "license": "MIT",
6
6
  "author": {
@@ -58,15 +58,15 @@
58
58
  },
59
59
  "devDependencies": {
60
60
  "@base-ui/react": "^1.6.0",
61
- "@types/react": "^19.2.2",
62
- "@types/react-dom": "^19.2.2",
61
+ "@types/react": "19.2.17",
62
+ "@types/react-dom": "19.2.3",
63
63
  "lucide-react": "^0.477.0",
64
64
  "react": "^19.2.4",
65
65
  "react-dom": "^19.2.4",
66
66
  "tsup": "^8.4.0",
67
67
  "typescript": "^5",
68
- "@xploreu/lib": "0.1.2",
69
- "@xploreu/hooks": "0.2.0"
68
+ "@xploreu/hooks": "0.2.0",
69
+ "@xploreu/lib": "0.1.2"
70
70
  },
71
71
  "scripts": {
72
72
  "build": "tsup",
@@ -1,2 +0,0 @@
1
- import {cva}from'class-variance-authority';import {Loader2}from'lucide-react';import {Button}from'@base-ui/react/button';import {cn}from'@xploreu/lib/cn';import {jsx,jsxs,Fragment}from'react/jsx-runtime';var m=cva(cn("group relative inline-flex h-max w-fit cursor-pointer items-center justify-center whitespace-nowrap outline-brand transition duration-100 ease-linear before:absolute focus-visible:outline-2 focus-visible:outline-offset-2 rounded-xp-buttons [&_svg]:shrink-0","disabled:cursor-not-allowed"),{variants:{color:{default:"focus-visible:outline-focus-ring",destructive:"focus-visible:outline-focus-ring-error","gradient-ai":"focus-visible:outline-focus-ring","linear-green":"focus-visible:outline-focus-ring-success","linear-overlay":"focus-visible:outline-focus-ring","linear-destructive":"focus-visible:outline-focus-ring-error"},variant:{primary:"before:rounded-lg before:absolute before:inset-0 before:border-1 before:border-white/12 before:mask-b-from-0% after:absolute after:inset-0 after:rounded-xp-buttons hover:after:bg-alpha-gray-20 after:bg-transparent after:transition-colors disabled:text-fg-disabled disabled:bg-none disabled:bg-[#F5F5F5] disabled:hover:after:bg-transparent disabled:before:border-border-disabled disabled:before:mask-none disabled:before:border-1 shadow-xp-md hover:shadow-xp-brand ",secondary:"border-1 shadow-xp-md hover:shadow-xp-brand disabled:bg-bg-disabled disabled:text-fg-disabled disabled:[&_svg]:text-fg-disabled-subtle disabled:border-border-disabled disabled:hover:text-fg-disabled disabled:hover:[&_svg]:text-fg-disabled-subtle","secondary-accent":"disabled:border-border-disabled disabled:bg-bg-disabled disabled:text-fg-disabled",tertiary:"disabled:bg-bg-disabled disabled:text-fg-disabled disabled:[&_svg]:text-bg-disabled","tertiary-accent":"disabled:bg-bg-disabled disabled:text-fg-disabled disabled:[&_svg]:text-fg-disabled-subtle",link:"underline decoration-transparent hover:decoration-inherit transition-colors disabled:bg-bg-disabled disabled:text-fg-disabled disabled:[&_svg]:text-fg-disabled-subtle disabled:hover:no-underline"},icon:{true:void 0,false:void 0},size:{sm:"text-label-semibold-3 px-xp-lg gap-xp-sm h-9 data-[icon]:size-9 data-[variant=link]:h-5 data-[variant=link]:px-0 [&_svg]:size-5",md:"text-label-semibold-3 px-3.5 gap-xp-sm h-10 data-[icon]:size-10 data-[variant=link]:h-5 data-[variant=link]:px-0 [&_svg]:size-5",lg:"text-label-semibold-2 px-xp-xl gap-xp-md h-11 data-[icon]:size-11 data-[variant=link]:h-[22px] data-[variant=link]:px-0 [&_svg]:size-5",xl:"text-label-semibold-2 px-4.5 gap-xp-md h-12 data-[icon]:size-12 data-[variant=link]:h-[22px] data-[variant=link]:px-0 [&_svg]:size-5"}},compoundVariants:[{variant:"primary",color:"default",className:"bg-gradient-buttons-gradient-blue text-text-primary-on-brand"},{variant:"secondary",color:"default",className:"bg-bg-primary text-text-secondary [&_svg]:text-fg-secondary border-border-primary-icon hover:bg-bg-brand-solid hover:border-border-white hover:text-text-primary-on-brand hover:[&_svg]:text-fg-white"},{variant:"secondary-accent",color:"default",className:"border-1 border-border-primary-icon text-fg-primary hover:bg-bg-brand-primary"},{variant:"tertiary",color:"default",className:"text-text-tertiary [&_svg]:text-fg-quaternary hover:bg-bg-primary-hover hover:text-text-tertiary-hover hover:[&_svg]:text-fg-quaternary-hover"},{variant:"tertiary-accent",color:"default",className:"bg-bg-brand-primary text-text-brand-tertiary [&_svg]:text-fg-brand-secondary hover:bg-bg-brand-secondary hover:text-text-brand-tertiary hover:[&_svg]:text-fg-brand-secondary-hover"},{variant:"link",color:"default",className:"text-text-brand-secondary [&_svg]:text-fg-brand-secondary-alt hover:text-text-brand-secondary-hover hover:[&_svg]:text-fg-brand-secondary-hover"},{variant:"primary",color:"destructive",className:"bg-bg-error-solid text-text-primary-on-brand"},{variant:"secondary",color:"destructive",className:"bg-bg-primary text-text-error-primary [&_svg]:text-fg-error-secondary border-border-error hover:bg-bg-error-primary hover:text-text-error-primary-hover hover:[&_svg]:text-fg-error-secondary"},{variant:"secondary-accent",color:"destructive",className:"border-1 border-border-error text-fg-error-primary hover:bg-bg-error-primary"},{variant:"tertiary",color:"destructive",className:"text-text-error-primary [&_svg]:text-fg-error-secondary hover:bg-bg-error-primary hover:text-text-error-primary-hover hover:[&_svg]:text-fg-error-primary"},{variant:"tertiary-accent",color:"destructive",className:"bg-bg-error-primary text-text-error-tertiary [&_svg]:text-fg-error-secondary hover:bg-bg-error-secondary hover:text-text-error-tertiary hover:[&_svg]:text-fg-error-secondary-hover"},{variant:"link",color:"destructive",className:"text-text-error-secondary [&_svg]:text-fg-error-secondary hover:text-text-error-primary-hover hover:[&_svg]:text-fg-error-primary"},{variant:"primary",color:"gradient-ai",className:"bg-gradient-buttons-button-ai text-text-primary-on-brand"},{variant:"secondary",color:"gradient-ai",className:"relative shadow-transparent border-transparent hover:bg-bg-primary bg-[linear-gradient(90deg,var(--color-bg-primary),var(--color-bg-primary)),var(--gradient-buttons-button-ai)] [background-clip:padding-box,border-box] [background-origin:padding-box,border-box] [&>span]:bg-gradient-buttons-button-ai [&>span]:bg-clip-text [&>span]:text-transparent after:absolute after:inset-0 after:rounded-md hover:after:bg-gradient-buttons-button-ai hover:after:opacity-10 disabled:hover:after:bg-transparent disabled:after:opacity-0 disabled:[&>span]:bg-none disabled:[&>span]:text-fg-disabled"},{variant:"secondary-accent",color:"gradient-ai",className:"border-1 border-border-brand text-fg-brand-primary hover:bg-bg-brand-primary"},{variant:"tertiary",color:"gradient-ai",className:"relative [&>span]:bg-gradient-buttons-button-ai [&>span]:bg-clip-text [&>span]:text-transparent after:absolute after:inset-0 after:rounded-md hover:after:bg-gradient-buttons-button-ai hover:after:opacity-10 disabled:hover:after:bg-transparent disabled:after:opacity-0 disabled:[&>span]:bg-none disabled:[&>span]:text-fg-disabled"},{variant:"tertiary-accent",color:"gradient-ai",className:"bg-bg-brand-primary text-text-brand-tertiary [&_svg]:text-fg-brand-secondary hover:bg-bg-brand-secondary hover:text-text-brand-tertiary hover:[&_svg]:text-fg-brand-secondary-hover"},{variant:"link",color:"gradient-ai",className:"text-text-brand-secondary [&_svg]:text-fg-brand-secondary-alt hover:text-text-brand-secondary-hover hover:[&_svg]:text-fg-brand-secondary-hover"},{variant:"primary",color:"linear-green",className:"bg-gradient-buttons-gradient-green text-text-primary-on-brand"},{variant:"secondary",color:"linear-green",className:"bg-bg-primary text-text-secondary [&_svg]:text-green-500 border-border-primary hover:text-text-secondary-hover hover:[&_svg]:text-green-900"},{variant:"secondary-accent",color:"linear-green",className:"border-1 border-border-primary text-fg-primary hover:bg-bg-primary"},{variant:"tertiary",color:"linear-green",className:"text-text-success-primary [&_svg]:text-green-500 hover:bg-bg-success-primary hover:[&_svg]:text-green-900"},{variant:"tertiary-accent",color:"linear-green",className:"bg-bg-success-primary text-text-success-tertiary [&_svg]:text-fg-success-secondary hover:bg-bg-success-secondary hover:text-text-success-tertiary hover:[&_svg]:text-fg-success-secondary-hover"},{variant:"link",color:"linear-green",className:"text-text-success-secondary [&_svg]:text-fg-success-secondary hover:text-text-success-primary-hover hover:[&_svg]:text-fg-success-primary"},{variant:"primary",color:"linear-overlay",className:"relative bg-bg-brand-solid text-text-primary-on-brand [&_svg]:text-button-primary-icon hover:[&_svg]:text-button-primary-icon-hover after:absolute after:inset-0 after:rounded-xp-buttons after:bg-gradient-skuemorphic-gradient-border after:hover:bg-gradient-skuemorphic-gradient-border"},{variant:"secondary",color:"linear-overlay",className:"bg-bg-brand-solid-hover text-text-secondary [&_svg]:text-fg-quaternary border-border-primary hover:bg-bg-primary-hover hover:text-text-secondary-hover hover:[&_svg]:text-text-quaternary-hover"},{variant:"secondary-accent",color:"linear-overlay",className:"border-1 border-border-brand text-fg-brand-primary hover:bg-bg-brand-primary"},{variant:"tertiary",color:"linear-overlay",className:"text-text-tertiary [&_svg]:text-fg-quaternary hover:bg-bg-primary-hover hover:text-text-tertiary-hover hover:[&_svg]:text-fg-quaternary-hover"},{variant:"tertiary-accent",color:"linear-overlay",className:"bg-bg-brand-primary text-text-brand-tertiary [&_svg]:text-fg-brand-secondary hover:bg-bg-brand-secondary hover:text-text-brand-tertiary hover:[&_svg]:text-fg-brand-secondary-hover"},{variant:"link",color:"linear-overlay",className:"text-text-brand-secondary [&_svg]:text-fg-brand-secondary-alt hover:text-text-brand-secondary-hover hover:[&_svg]:text-fg-brand-secondary-hover"},{variant:"primary",color:"linear-destructive",className:"relative bg-bg-error-solid text-text-primary-on-brand [&_svg]:text-button-destructive-primary-icon hover:[&_svg]:text-button-destructive-primary-icon-hover after:absolute after:inset-0 after:rounded-xp-buttons after:bg-gradient-skuemorphic-gradient-border after:hover:bg-gradient-skuemorphic-gradient-border"},{variant:"secondary",color:"linear-destructive",className:"bg-bg-error-solid-hover text-text-secondary [&_svg]:text-fg-quaternary border-border-primary hover:bg-bg-primary-hover hover:text-text-secondary-hover hover:[&_svg]:text-text-quaternary-hover"},{variant:"secondary-accent",color:"linear-destructive",className:"border-1 border-border-error text-fg-error-primary hover:bg-bg-error-primary"},{variant:"tertiary",color:"linear-destructive",className:"text-text-error-primary [&_svg]:text-fg-error-secondary hover:bg-bg-error-primary hover:text-text-tertiary-hover hover:[&_svg]:text-fg-error-secondary"},{variant:"tertiary-accent",color:"linear-destructive",className:"bg-bg-error-primary text-text-error-tertiary [&_svg]:text-fg-error-secondary hover:bg-bg-error-secondary hover:text-text-error-tertiary hover:[&_svg]:text-fg-error-secondary-hover"},{variant:"link",color:"linear-destructive",className:"text-text-error-primary [&_svg]:text-fg-error-secondary hover:text-text-error-primary-hover hover:[&_svg]:text-fg-error-primary"}],defaultVariants:{variant:"primary",color:"default",size:"sm"}});function w({className:s,color:i,variant:e,size:n,loading:t=false,children:d,disabled:b,icon:g,nativeButton:v,render:a,...l}){let c=a!=null?false:v;return jsx(Button,{className:cn(m({color:i,variant:e,size:n,className:s})),"data-icon":g?"":void 0,"data-variant":e,disabled:b||t,nativeButton:c,render:a,...l,children:t?jsxs(Fragment,{children:[jsx(Loader2,{className:"size-4 animate-spin"}),jsx("span",{children:"Loading..."})]}):d})}export{m as a,w as b};//# sourceMappingURL=chunk-7K7NVV7D.js.map
2
- //# sourceMappingURL=chunk-7K7NVV7D.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/ui/button.tsx"],"names":["buttonVariants","cva","cn","Button","className","color","variant","size","loading","children","disabled","icon","nativeButton","render","props","resolvedNativeButton","jsx","ButtonPrimitive","jsxs","Fragment","Loader2"],"mappings":"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","file":"chunk-7K7NVV7D.js","sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\"\nimport { Loader2 } from \"lucide-react\"\n\nimport { Button as ButtonPrimitive } from \"@base-ui/react/button\"\nimport { cn } from \"@xploreu/lib/cn\"\n\nconst buttonVariants = cva(\n cn(\n \"group relative inline-flex h-max w-fit cursor-pointer items-center justify-center whitespace-nowrap outline-brand transition duration-100 ease-linear before:absolute focus-visible:outline-2 focus-visible:outline-offset-2 rounded-xp-buttons [&_svg]:shrink-0\",\n \"disabled:cursor-not-allowed\",\n ),\n {\n variants: {\n color: {\n default: \"focus-visible:outline-focus-ring\",\n destructive: \"focus-visible:outline-focus-ring-error\",\n \"gradient-ai\": \"focus-visible:outline-focus-ring\",\n \"linear-green\": \"focus-visible:outline-focus-ring-success\",\n \"linear-overlay\": \"focus-visible:outline-focus-ring\",\n \"linear-destructive\": \"focus-visible:outline-focus-ring-error\",\n },\n variant: {\n primary: \"before:rounded-lg before:absolute before:inset-0 before:border-1 before:border-white/12 before:mask-b-from-0% after:absolute after:inset-0 after:rounded-xp-buttons hover:after:bg-alpha-gray-20 after:bg-transparent after:transition-colors disabled:text-fg-disabled disabled:bg-none disabled:bg-[#F5F5F5] disabled:hover:after:bg-transparent disabled:before:border-border-disabled disabled:before:mask-none disabled:before:border-1 shadow-xp-md hover:shadow-xp-brand \",\n secondary: \"border-1 shadow-xp-md hover:shadow-xp-brand disabled:bg-bg-disabled disabled:text-fg-disabled disabled:[&_svg]:text-fg-disabled-subtle disabled:border-border-disabled disabled:hover:text-fg-disabled disabled:hover:[&_svg]:text-fg-disabled-subtle\",\n \"secondary-accent\": \"disabled:border-border-disabled disabled:bg-bg-disabled disabled:text-fg-disabled\",\n tertiary: \"disabled:bg-bg-disabled disabled:text-fg-disabled disabled:[&_svg]:text-bg-disabled\",\n \"tertiary-accent\": \"disabled:bg-bg-disabled disabled:text-fg-disabled disabled:[&_svg]:text-fg-disabled-subtle\",\n link: \"underline decoration-transparent hover:decoration-inherit transition-colors disabled:bg-bg-disabled disabled:text-fg-disabled disabled:[&_svg]:text-fg-disabled-subtle disabled:hover:no-underline\",\n },\n icon: {\n true: undefined,\n false: undefined\n },\n size: {\n sm: \"text-label-semibold-3 px-xp-lg gap-xp-sm h-9 data-[icon]:size-9 data-[variant=link]:h-5 data-[variant=link]:px-0 [&_svg]:size-5\",\n md: \"text-label-semibold-3 px-3.5 gap-xp-sm h-10 data-[icon]:size-10 data-[variant=link]:h-5 data-[variant=link]:px-0 [&_svg]:size-5\",\n lg: \"text-label-semibold-2 px-xp-xl gap-xp-md h-11 data-[icon]:size-11 data-[variant=link]:h-[22px] data-[variant=link]:px-0 [&_svg]:size-5\",\n xl: \"text-label-semibold-2 px-4.5 gap-xp-md h-12 data-[icon]:size-12 data-[variant=link]:h-[22px] data-[variant=link]:px-0 [&_svg]:size-5\",\n }\n },\n compoundVariants: [\n // Default Color Variants\n {\n variant: \"primary\",\n color: \"default\",\n className: \"bg-gradient-buttons-gradient-blue text-text-primary-on-brand\"\n },\n {\n variant: \"secondary\",\n color: \"default\",\n className: \"bg-bg-primary text-text-secondary [&_svg]:text-fg-secondary border-border-primary-icon hover:bg-bg-brand-solid hover:border-border-white hover:text-text-primary-on-brand hover:[&_svg]:text-fg-white\"\n },\n {\n variant: \"secondary-accent\",\n color: \"default\",\n className: \"border-1 border-border-primary-icon text-fg-primary hover:bg-bg-brand-primary\"\n },\n {\n variant: \"tertiary\",\n color: \"default\",\n className: \"text-text-tertiary [&_svg]:text-fg-quaternary hover:bg-bg-primary-hover hover:text-text-tertiary-hover hover:[&_svg]:text-fg-quaternary-hover\"\n },\n {\n variant: \"tertiary-accent\",\n color: \"default\",\n className: \"bg-bg-brand-primary text-text-brand-tertiary [&_svg]:text-fg-brand-secondary hover:bg-bg-brand-secondary hover:text-text-brand-tertiary hover:[&_svg]:text-fg-brand-secondary-hover\"\n },\n {\n variant: \"link\",\n color: \"default\",\n className: \"text-text-brand-secondary [&_svg]:text-fg-brand-secondary-alt hover:text-text-brand-secondary-hover hover:[&_svg]:text-fg-brand-secondary-hover\"\n },\n\n // Destructive Color Variants\n {\n variant: \"primary\",\n color: \"destructive\",\n className: \"bg-bg-error-solid text-text-primary-on-brand\"\n },\n {\n variant: \"secondary\",\n color: \"destructive\",\n className: \"bg-bg-primary text-text-error-primary [&_svg]:text-fg-error-secondary border-border-error hover:bg-bg-error-primary hover:text-text-error-primary-hover hover:[&_svg]:text-fg-error-secondary\"\n },\n {\n // Not existing in design system yet\n variant: \"secondary-accent\",\n color: \"destructive\",\n className: \"border-1 border-border-error text-fg-error-primary hover:bg-bg-error-primary\"\n },\n {\n variant: \"tertiary\",\n color: \"destructive\",\n className: \"text-text-error-primary [&_svg]:text-fg-error-secondary hover:bg-bg-error-primary hover:text-text-error-primary-hover hover:[&_svg]:text-fg-error-primary\"\n },\n {\n // Not existing in design system yet\n variant: \"tertiary-accent\",\n color: \"destructive\",\n className: \"bg-bg-error-primary text-text-error-tertiary [&_svg]:text-fg-error-secondary hover:bg-bg-error-secondary hover:text-text-error-tertiary hover:[&_svg]:text-fg-error-secondary-hover\"\n },\n {\n variant: \"link\",\n color: \"destructive\",\n className: \"text-text-error-secondary [&_svg]:text-fg-error-secondary hover:text-text-error-primary-hover hover:[&_svg]:text-fg-error-primary\"\n },\n\n // Gradient AI\n {\n variant: \"primary\",\n color: \"gradient-ai\",\n className: \"bg-gradient-buttons-button-ai text-text-primary-on-brand\"\n },\n {\n variant: \"secondary\",\n color: \"gradient-ai\",\n className: \"relative shadow-transparent border-transparent hover:bg-bg-primary bg-[linear-gradient(90deg,var(--color-bg-primary),var(--color-bg-primary)),var(--gradient-buttons-button-ai)] [background-clip:padding-box,border-box] [background-origin:padding-box,border-box] [&>span]:bg-gradient-buttons-button-ai [&>span]:bg-clip-text [&>span]:text-transparent after:absolute after:inset-0 after:rounded-md hover:after:bg-gradient-buttons-button-ai hover:after:opacity-10 disabled:hover:after:bg-transparent disabled:after:opacity-0 disabled:[&>span]:bg-none disabled:[&>span]:text-fg-disabled\"\n },\n {\n // Not existing in design system yet\n variant: \"secondary-accent\",\n color: \"gradient-ai\",\n className: \"border-1 border-border-brand text-fg-brand-primary hover:bg-bg-brand-primary\"\n },\n {\n variant: \"tertiary\",\n color: \"gradient-ai\",\n className: \"relative [&>span]:bg-gradient-buttons-button-ai [&>span]:bg-clip-text [&>span]:text-transparent after:absolute after:inset-0 after:rounded-md hover:after:bg-gradient-buttons-button-ai hover:after:opacity-10 disabled:hover:after:bg-transparent disabled:after:opacity-0 disabled:[&>span]:bg-none disabled:[&>span]:text-fg-disabled\"\n },\n {\n // Not existing in design system yet\n variant: \"tertiary-accent\",\n color: \"gradient-ai\",\n className: \"bg-bg-brand-primary text-text-brand-tertiary [&_svg]:text-fg-brand-secondary hover:bg-bg-brand-secondary hover:text-text-brand-tertiary hover:[&_svg]:text-fg-brand-secondary-hover\"\n },\n {\n // Not existing in design system yet\n variant: \"link\",\n color: \"gradient-ai\",\n className: \"text-text-brand-secondary [&_svg]:text-fg-brand-secondary-alt hover:text-text-brand-secondary-hover hover:[&_svg]:text-fg-brand-secondary-hover\"\n },\n\n // Linear Green Color Variants\n {\n variant: \"primary\",\n color: \"linear-green\",\n className: \"bg-gradient-buttons-gradient-green text-text-primary-on-brand\"\n },\n {\n variant: \"secondary\",\n color: \"linear-green\",\n className: \"bg-bg-primary text-text-secondary [&_svg]:text-green-500 border-border-primary hover:text-text-secondary-hover hover:[&_svg]:text-green-900\"\n },\n {\n // Not existing in design system yet\n variant: \"secondary-accent\",\n color: \"linear-green\",\n className: \"border-1 border-border-primary text-fg-primary hover:bg-bg-primary\"\n },\n {\n variant: \"tertiary\",\n color: \"linear-green\",\n className: \"text-text-success-primary [&_svg]:text-green-500 hover:bg-bg-success-primary hover:[&_svg]:text-green-900\"\n },\n {\n // Not existing in design system yet\n variant: \"tertiary-accent\",\n color: \"linear-green\",\n className: \"bg-bg-success-primary text-text-success-tertiary [&_svg]:text-fg-success-secondary hover:bg-bg-success-secondary hover:text-text-success-tertiary hover:[&_svg]:text-fg-success-secondary-hover\"\n },\n {\n // Not existing in design system yet\n variant: \"link\",\n color: \"linear-green\",\n className: \"text-text-success-secondary [&_svg]:text-fg-success-secondary hover:text-text-success-primary-hover hover:[&_svg]:text-fg-success-primary\"\n },\n\n // Linear Overlay Color Variants\n {\n variant: \"primary\",\n color: \"linear-overlay\",\n className: \"relative bg-bg-brand-solid text-text-primary-on-brand [&_svg]:text-button-primary-icon hover:[&_svg]:text-button-primary-icon-hover after:absolute after:inset-0 after:rounded-xp-buttons after:bg-gradient-skuemorphic-gradient-border after:hover:bg-gradient-skuemorphic-gradient-border\"\n },\n {\n variant: \"secondary\",\n color: \"linear-overlay\",\n className: \"bg-bg-brand-solid-hover text-text-secondary [&_svg]:text-fg-quaternary border-border-primary hover:bg-bg-primary-hover hover:text-text-secondary-hover hover:[&_svg]:text-text-quaternary-hover\"\n },\n {\n variant: \"secondary-accent\",\n color: \"linear-overlay\",\n className: \"border-1 border-border-brand text-fg-brand-primary hover:bg-bg-brand-primary\"\n },\n {\n variant: \"tertiary\",\n color: \"linear-overlay\",\n className: \"text-text-tertiary [&_svg]:text-fg-quaternary hover:bg-bg-primary-hover hover:text-text-tertiary-hover hover:[&_svg]:text-fg-quaternary-hover\"\n },\n {\n variant: \"tertiary-accent\",\n color: \"linear-overlay\",\n className: \"bg-bg-brand-primary text-text-brand-tertiary [&_svg]:text-fg-brand-secondary hover:bg-bg-brand-secondary hover:text-text-brand-tertiary hover:[&_svg]:text-fg-brand-secondary-hover\"\n },\n {\n variant: \"link\",\n color: \"linear-overlay\",\n className: \"text-text-brand-secondary [&_svg]:text-fg-brand-secondary-alt hover:text-text-brand-secondary-hover hover:[&_svg]:text-fg-brand-secondary-hover\"\n },\n\n // Linear Destructive Color Variants\n {\n variant: \"primary\",\n color: \"linear-destructive\",\n className: \"relative bg-bg-error-solid text-text-primary-on-brand [&_svg]:text-button-destructive-primary-icon hover:[&_svg]:text-button-destructive-primary-icon-hover after:absolute after:inset-0 after:rounded-xp-buttons after:bg-gradient-skuemorphic-gradient-border after:hover:bg-gradient-skuemorphic-gradient-border\"\n },\n {\n variant: \"secondary\",\n color: \"linear-destructive\",\n className: \"bg-bg-error-solid-hover text-text-secondary [&_svg]:text-fg-quaternary border-border-primary hover:bg-bg-primary-hover hover:text-text-secondary-hover hover:[&_svg]:text-text-quaternary-hover\"\n },\n {\n // Not existing in design system yet\n variant: \"secondary-accent\",\n color: \"linear-destructive\",\n className: \"border-1 border-border-error text-fg-error-primary hover:bg-bg-error-primary\"\n },\n {\n variant: \"tertiary\",\n color: \"linear-destructive\",\n className: \"text-text-error-primary [&_svg]:text-fg-error-secondary hover:bg-bg-error-primary hover:text-text-tertiary-hover hover:[&_svg]:text-fg-error-secondary\"\n },\n {\n // Not existing in design system yet\n variant: \"tertiary-accent\",\n color: \"linear-destructive\",\n className: \"bg-bg-error-primary text-text-error-tertiary [&_svg]:text-fg-error-secondary hover:bg-bg-error-secondary hover:text-text-error-tertiary hover:[&_svg]:text-fg-error-secondary-hover\"\n },\n {\n variant: \"link\",\n color: \"linear-destructive\",\n className: \"text-text-error-primary [&_svg]:text-fg-error-secondary hover:text-text-error-primary-hover hover:[&_svg]:text-fg-error-primary\"\n },\n ],\n defaultVariants: {\n variant: \"primary\",\n color: \"default\",\n size: \"sm\",\n },\n }\n)\n\nfunction Button({\n className,\n color,\n variant,\n size,\n loading = false,\n children,\n disabled,\n icon,\n nativeButton,\n render,\n ...props\n}: ButtonPrimitive.Props &\n VariantProps<typeof buttonVariants> & {\n loading?: boolean\n }) {\n // ponytail: auto-detect nativeButton when render is provided\n const resolvedNativeButton = render != null ? false : nativeButton\n\n return (\n <ButtonPrimitive\n className={cn(buttonVariants({ color, variant, size, className }))}\n data-icon={icon ? \"\" : undefined}\n data-variant={variant}\n disabled={disabled || loading}\n nativeButton={resolvedNativeButton}\n render={render}\n {...props}\n >\n {loading ? (\n <>\n <Loader2 className=\"size-4 animate-spin\" />\n <span>Loading...</span>\n </>\n ) : (\n children\n )}\n </ButtonPrimitive>\n )\n}\n\nexport { Button, buttonVariants }"]}
@@ -1,2 +0,0 @@
1
- import {a}from'./chunk-ZVME3JB3.js';import {b as b$1,c as c$1}from'./chunk-KYD4ATTG.js';import'react';import*as s from'@radix-ui/react-tabs';import {useControllableState}from'@radix-ui/react-use-controllable-state';import {AnimatePresence,motion}from'motion/react';import {getStrictContext}from'@xploreu/lib/get-strict-context';import {jsx}from'react/jsx-runtime';var[c,u]=getStrictContext("TabsContext");function I({value:t,defaultValue:e,onValueChange:i,...n}){let[a,r]=useControllableState({prop:t,defaultProp:e||"",onChange:i});return jsx(c,{value:{value:a,setValue:r},children:jsx(s.Root,{"data-slot":"tabs",value:a,onValueChange:r,...n})})}function A({transition:t={type:"spring",stiffness:200,damping:25},...e}){let{value:i}=u();return jsx(b$1,{click:false,controlledItems:true,"data-slot":"tabs-highlight",transition:t,value:i,...e})}function x(t){return jsx(s.List,{"data-slot":"tabs-list",...t})}function M(t){return jsx(c$1,{"data-slot":"tabs-highlight-item",...t})}function V(t){return jsx(s.Trigger,{"data-slot":"tabs-trigger",...t})}function O({value:t,forceMount:e,transition:i={duration:.5,ease:"easeInOut"},...n}){return jsx(AnimatePresence,{mode:"wait",children:jsx(s.Content,{asChild:true,forceMount:e,value:t,children:jsx(motion.div,{animate:{opacity:1,filter:"blur(0px)"},"data-slot":"tabs-content",exit:{opacity:0,filter:"blur(4px)"},initial:{opacity:0,filter:"blur(4px)"},layout:true,layoutDependency:t,transition:i,...n})})})}var b={type:"spring",stiffness:200,damping:30};function d(t){return !("mode"in t)||t.mode==="auto-height"}function w(t){let{value:e}=u();if(d(t)){let{transition:r=b,...P}=t;return jsx(a,{"data-slot":"tabs-contents",deps:[e],transition:r,...P})}let{transition:i=b,style:n,...a$1}=t;return jsx(motion.div,{"data-slot":"tabs-contents",layout:"size",layoutDependency:e,style:{overflow:"hidden",...n},transition:{layout:i},...a$1})}export{I as a,A as b,x as c,M as d,V as e,O as f,w as g};//# sourceMappingURL=chunk-AMNHVMRK.js.map
2
- //# sourceMappingURL=chunk-AMNHVMRK.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/primitives/tabs.tsx"],"names":["TabsProvider","useTabs","getStrictContext","Tabs","valueProp","defaultValue","onValueChange","props","value","setValue","useControllableState","jsx","TabsHighlight","transition","Highlight","TabsList","TabsHighlightItem","HighlightItem","TabsTrigger","TabsContent","forceMount","AnimatePresence","motion","defaultTransition","isAutoMode","TabsContents","autoProps","AutoHeight","style","layoutProps"],"mappings":"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","file":"chunk-AMNHVMRK.js","sourcesContent":["\"use client\"\r\n\r\nimport * as React from \"react\"\r\n\r\nimport * as TabsPrimitive from \"@radix-ui/react-tabs\"\r\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\"\r\nimport {\r\n AnimatePresence,\r\n type HTMLMotionProps,\r\n motion,\r\n type Transition,\r\n} from \"motion/react\"\r\n\r\nimport { AutoHeight, type AutoHeightProps } from \"../effects/auto-height\"\r\nimport {\r\n Highlight,\r\n HighlightItem,\r\n type HighlightItemProps,\r\n type HighlightProps,\r\n} from \"../effects/highlight\"\r\nimport { getStrictContext } from \"@xploreu/lib/get-strict-context\"\r\n\r\ntype TabsContextType = {\r\n value: string | undefined;\r\n setValue: TabsProps[\"onValueChange\"];\r\n}\r\n\r\nconst [TabsProvider, useTabs] =\r\n getStrictContext<TabsContextType>(\"TabsContext\")\r\n\r\ntype TabsProps = React.ComponentProps<typeof TabsPrimitive.Root>\r\n\r\nfunction Tabs({\r\n value: valueProp,\r\n defaultValue,\r\n onValueChange,\r\n ...props\r\n}: TabsProps) {\r\n const [value, setValue] = useControllableState({\r\n prop: valueProp,\r\n defaultProp: defaultValue || \"\",\r\n onChange: onValueChange,\r\n })\r\n\r\n return (\r\n <TabsProvider value={{ value, setValue }}>\r\n <TabsPrimitive.Root\r\n data-slot=\"tabs\"\r\n value={value}\r\n onValueChange={setValue}\r\n {...props}\r\n />\r\n </TabsProvider>\r\n )\r\n}\r\n\r\ntype TabsHighlightProps = Omit<HighlightProps, \"controlledItems\" | \"value\">\r\n\r\nfunction TabsHighlight({\r\n transition = { type: \"spring\", stiffness: 200, damping: 25 },\r\n ...props\r\n}: TabsHighlightProps) {\r\n const { value } = useTabs()\r\n\r\n return (\r\n <Highlight\r\n click={false}\r\n controlledItems\r\n data-slot=\"tabs-highlight\"\r\n transition={transition}\r\n value={value}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\ntype TabsListProps = React.ComponentProps<typeof TabsPrimitive.List>\r\n\r\nfunction TabsList(props: TabsListProps) {\r\n return <TabsPrimitive.List\r\n data-slot=\"tabs-list\"\r\n {...props}\r\n />\r\n}\r\n\r\ntype TabsHighlightItemProps = HighlightItemProps & {\r\n value: string;\r\n}\r\n\r\nfunction TabsHighlightItem(props: TabsHighlightItemProps) {\r\n return <HighlightItem\r\n data-slot=\"tabs-highlight-item\"\r\n {...props}\r\n />\r\n}\r\n\r\ntype TabsTriggerProps = React.ComponentProps<typeof TabsPrimitive.Trigger>\r\n\r\nfunction TabsTrigger(props: TabsTriggerProps) {\r\n return <TabsPrimitive.Trigger\r\n data-slot=\"tabs-trigger\"\r\n {...props}\r\n />\r\n}\r\n\r\ntype TabsContentProps = React.ComponentProps<typeof TabsPrimitive.Content> &\r\n HTMLMotionProps<\"div\">\r\n\r\nfunction TabsContent({\r\n value,\r\n forceMount,\r\n transition = { duration: 0.5, ease: \"easeInOut\" },\r\n ...props\r\n}: TabsContentProps) {\r\n return (\r\n <AnimatePresence mode=\"wait\">\r\n <TabsPrimitive.Content\r\n asChild\r\n forceMount={forceMount}\r\n value={value}\r\n >\r\n <motion.div\r\n animate={{ opacity: 1, filter: \"blur(0px)\" }}\r\n data-slot=\"tabs-content\"\r\n exit={{ opacity: 0, filter: \"blur(4px)\" }}\r\n initial={{ opacity: 0, filter: \"blur(4px)\" }}\r\n layout\r\n layoutDependency={value}\r\n transition={transition}\r\n {...props}\r\n />\r\n </TabsPrimitive.Content>\r\n </AnimatePresence>\r\n )\r\n}\r\n\r\ntype TabsContentsAutoProps = AutoHeightProps & {\r\n mode?: \"auto-height\";\r\n children: React.ReactNode;\r\n transition?: Transition;\r\n}\r\n\r\ntype TabsContentsLayoutProps = Omit<HTMLMotionProps<\"div\">, \"transition\"> & {\r\n mode: \"layout\";\r\n children: React.ReactNode;\r\n transition?: Transition;\r\n}\r\n\r\ntype TabsContentsProps = TabsContentsAutoProps | TabsContentsLayoutProps\r\n\r\nconst defaultTransition: Transition = {\r\n type: \"spring\",\r\n stiffness: 200,\r\n damping: 30,\r\n}\r\n\r\nfunction isAutoMode(props: TabsContentsProps): props is TabsContentsAutoProps {\r\n return !(\"mode\" in props) || props.mode === \"auto-height\"\r\n}\r\n\r\nfunction TabsContents(props: TabsContentsProps) {\r\n const { value } = useTabs()\r\n\r\n if (isAutoMode(props)) {\r\n const { transition = defaultTransition, ...autoProps } = props\r\n\r\n return (\r\n <AutoHeight\r\n data-slot=\"tabs-contents\"\r\n deps={[value]}\r\n transition={transition}\r\n {...autoProps}\r\n />\r\n )\r\n }\r\n\r\n const { transition = defaultTransition, style, ...layoutProps } = props\r\n\r\n return (\r\n <motion.div\r\n data-slot=\"tabs-contents\"\r\n layout=\"size\"\r\n layoutDependency={value}\r\n style={{ overflow: \"hidden\", ...style }}\r\n transition={{ layout: transition }}\r\n {...layoutProps}\r\n />\r\n )\r\n}\r\n\r\nexport {\r\n Tabs,\r\n TabsContent,\r\n type TabsContentProps,\r\n TabsContents,\r\n type TabsContentsProps,\r\n TabsHighlight,\r\n TabsHighlightItem,\r\n type TabsHighlightItemProps,\r\n type TabsHighlightProps,\r\n TabsList,\r\n type TabsListProps,\r\n type TabsProps,\r\n TabsTrigger,\r\n type TabsTriggerProps,\r\n}"]}
@@ -1,2 +0,0 @@
1
- import {a,b,c,d,e,g,f as f$1}from'./chunk-AMNHVMRK.js';import {cn}from'@xploreu/lib/cn';import {jsx}from'react/jsx-runtime';function T({className:a$1,variant:t="default",...i}){return jsx(a,{className:cn("group/tabs flex flex-col gap-2",a$1),"data-variant":t,...i})}function v({className:a,highlightClassName:t,...i}){return jsx(b,{className:cn("absolute z-0","group-data-[variant=default]/tabs:inset-0 group-data-[variant=default]/tabs:border group-data-[variant=default]/tabs:border-transparent group-data-[variant=default]/tabs:rounded-md group-data-[variant=default]/tabs:bg-primary group-data-[variant=default]/tabs:shadow-sm","group-data-[variant=underline]/tabs:bottom-0 group-data-[variant=underline]/tabs:h-0.5 group-data-[variant=underline]/tabs:w-full group-data-[variant=underline]/tabs:rounded-none group-data-[variant=underline]/tabs:bg-fg-brand-secondary",t),children:jsx(c,{className:cn("inline-flex w-fit items-center justify-center","group-data-[variant=default]/tabs:bg-bg-primary group-data-[variant=default]/tabs:h-9 group-data-[variant=default]/tabs:rounded-lg group-data-[variant=default]/tabs:p-0.75","group-data-[variant=underline]/tabs:gap-7",a),...i})})}function P({className:a,...t}){return jsx(d,{className:"flex-1",value:t.value,children:jsx(e,{className:cn("group/tabs-trigger data-[state=active]:text-text-brand-tertiary-alt focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring text-text-primary inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md w-full text-label-semibold-2 whitespace-nowrap transition-colors duration-500 ease-in-out focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4","group-data-[variant=default]/tabs:px-2 group-data-[variant=default]/tabs:py-1","group-data-[variant=underline]/tabs:h-8.5 group-data-[variant=underline]/tabs:px-3",a),...t})})}function m(a){return jsx(g,{...a})}function f({className:a,...t}){return jsx(f$1,{className:cn("flex-1 outline-none",a),...t})}export{T as a,v as b,P as c,m as d,f as e};//# sourceMappingURL=chunk-GDXL7UNV.js.map
2
- //# sourceMappingURL=chunk-GDXL7UNV.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/ui/tabs.tsx"],"names":["Tabs","className","variant","props","jsx","cn","TabsList","highlightClassName","TabsHighlight","TabsTrigger","TabsHighlightItem","TabsContents","TabsContent"],"mappings":"4HAqBA,SAASA,CAAAA,CAAK,CACZ,SAAA,CAAAC,GAAAA,CACA,OAAA,CAAAC,EAAU,SAAA,CACV,GAAGC,CACL,CAAA,CAAc,CACZ,OACEC,GAAAA,CAACJ,CAAAA,CAAA,CACC,SAAA,CAAWK,EAAAA,CAAG,gCAAA,CAAkCJ,GAAS,CAAA,CACzD,cAAA,CAAcC,CAAAA,CACb,GAAGC,EACN,CAEJ,CAMA,SAASG,CAAAA,CAAS,CAChB,SAAA,CAAAL,CAAAA,CACA,kBAAA,CAAAM,CAAAA,CACA,GAAGJ,CACL,CAAA,CAAkB,CAChB,OACEC,GAAAA,CAACI,CAAAA,CAAA,CACC,SAAA,CAAWH,EAAAA,CACT,cAAA,CACA,+QAAA,CACA,8OAAA,CACAE,CACF,CAAA,CAEA,QAAA,CAAAH,IAACE,CAAAA,CAAA,CACC,SAAA,CAAWD,EAAAA,CACT,+CAAA,CACA,6KAAA,CACA,2CAAA,CACAJ,CACF,EACC,GAAGE,CAAAA,CACN,CAAA,CACF,CAEJ,CAIA,SAASM,CAAAA,CAAY,CAAE,SAAA,CAAAR,CAAAA,CAAW,GAAGE,CAAM,CAAA,CAAqB,CAC9D,OACEC,GAAAA,CAACM,EAAA,CACC,SAAA,CAAU,QAAA,CACV,KAAA,CAAOP,CAAAA,CAAM,KAAA,CAEb,QAAA,CAAAC,GAAAA,CAACK,EAAA,CACC,SAAA,CAAWJ,EAAAA,CACT,0gBAAA,CACA,+EAAA,CACA,oFAAA,CACAJ,CACF,CAAA,CACC,GAAGE,CAAAA,CACN,CAAA,CACF,CAEJ,CAIA,SAASQ,CAAAA,CAAaR,CAAAA,CAA0B,CAC9C,OAAOC,GAAAA,CAACO,CAAAA,CAAA,CAAuB,GAAGR,CAAAA,CAAO,CAC3C,CAIA,SAASS,EAAY,CAAE,SAAA,CAAAX,CAAAA,CAAW,GAAGE,CAAM,CAAA,CAAqB,CAC9D,OACEC,IAACQ,GAAAA,CAAA,CACC,SAAA,CAAWP,EAAAA,CAAG,qBAAA,CAAuBJ,CAAS,CAAA,CAC7C,GAAGE,EACN,CAEJ","file":"chunk-GDXL7UNV.js","sourcesContent":["\r\nimport {\r\n Tabs as TabsPrimitive,\r\n TabsContent as TabsContentPrimitive,\r\n type TabsContentProps as TabsContentPrimitiveProps,\r\n TabsContents as TabsContentsPrimitive,\r\n type TabsContentsProps as TabsContentsPrimitiveProps,\r\n TabsHighlight as TabsHighlightPrimitive,\r\n TabsHighlightItem as TabsHighlightItemPrimitive,\r\n TabsList as TabsListPrimitive,\r\n type TabsListProps as TabsListPrimitiveProps,\r\n type TabsProps as TabsPrimitiveProps,\r\n TabsTrigger as TabsTriggerPrimitive,\r\n type TabsTriggerProps as TabsTriggerPrimitiveProps,\r\n} from \"../primitives/tabs\";\r\nimport { cn } from \"@xploreu/lib/cn\";\r\n\r\ntype TabsProps = TabsPrimitiveProps & {\r\n variant?: \"default\" | \"underline\";\r\n}\r\n\r\nfunction Tabs({\r\n className,\r\n variant = \"default\",\r\n ...props\r\n}: TabsProps) {\r\n return (\r\n <TabsPrimitive\r\n className={cn(\"group/tabs flex flex-col gap-2\", className)}\r\n data-variant={variant}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\ntype TabsListProps = TabsListPrimitiveProps & {\r\n highlightClassName?: string;\r\n}\r\n\r\nfunction TabsList({\r\n className,\r\n highlightClassName,\r\n ...props\r\n}: TabsListProps) {\r\n return (\r\n <TabsHighlightPrimitive\r\n className={cn(\r\n \"absolute z-0\",\r\n \"group-data-[variant=default]/tabs:inset-0 group-data-[variant=default]/tabs:border group-data-[variant=default]/tabs:border-transparent group-data-[variant=default]/tabs:rounded-md group-data-[variant=default]/tabs:bg-primary group-data-[variant=default]/tabs:shadow-sm\",\r\n \"group-data-[variant=underline]/tabs:bottom-0 group-data-[variant=underline]/tabs:h-0.5 group-data-[variant=underline]/tabs:w-full group-data-[variant=underline]/tabs:rounded-none group-data-[variant=underline]/tabs:bg-fg-brand-secondary\",\r\n highlightClassName\r\n )}\r\n >\r\n <TabsListPrimitive\r\n className={cn(\r\n \"inline-flex w-fit items-center justify-center\",\r\n \"group-data-[variant=default]/tabs:bg-bg-primary group-data-[variant=default]/tabs:h-9 group-data-[variant=default]/tabs:rounded-lg group-data-[variant=default]/tabs:p-0.75\",\r\n \"group-data-[variant=underline]/tabs:gap-7\",\r\n className,\r\n )}\r\n {...props}\r\n />\r\n </TabsHighlightPrimitive>\r\n )\r\n}\r\n\r\ntype TabsTriggerProps = TabsTriggerPrimitiveProps\r\n\r\nfunction TabsTrigger({ className, ...props }: TabsTriggerProps) {\r\n return (\r\n <TabsHighlightItemPrimitive\r\n className=\"flex-1\"\r\n value={props.value}\r\n >\r\n <TabsTriggerPrimitive\r\n className={cn(\r\n \"group/tabs-trigger data-[state=active]:text-text-brand-tertiary-alt focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring text-text-primary inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md w-full text-label-semibold-2 whitespace-nowrap transition-colors duration-500 ease-in-out focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\r\n \"group-data-[variant=default]/tabs:px-2 group-data-[variant=default]/tabs:py-1\",\r\n \"group-data-[variant=underline]/tabs:h-8.5 group-data-[variant=underline]/tabs:px-3\",\r\n className,\r\n )}\r\n {...props}\r\n />\r\n </TabsHighlightItemPrimitive>\r\n )\r\n}\r\n\r\ntype TabsContentsProps = TabsContentsPrimitiveProps\r\n\r\nfunction TabsContents(props: TabsContentsProps) {\r\n return <TabsContentsPrimitive {...props} />\r\n}\r\n\r\ntype TabsContentProps = TabsContentPrimitiveProps\r\n\r\nfunction TabsContent({ className, ...props }: TabsContentProps) {\r\n return (\r\n <TabsContentPrimitive\r\n className={cn(\"flex-1 outline-none\", className)}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nexport {\r\n Tabs,\r\n TabsContent,\r\n type TabsContentProps,\r\n TabsContents,\r\n type TabsContentsProps,\r\n TabsList,\r\n type TabsListProps,\r\n type TabsProps,\r\n TabsTrigger,\r\n type TabsTriggerProps,\r\n}"]}