@jamsrui/tabs 0.0.13 → 0.0.14

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.
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- import{a as o}from"./chunk-H24QMPIW.mjs";import"./chunk-JR6NZURN.mjs";import"./chunk-P7PRTBR2.mjs";import{a as r}from"./chunk-4IPUN35X.mjs";import{a as t}from"./chunk-JVCBSK55.mjs";import{a as i}from"./chunk-POVENYKQ.mjs";import{a}from"./chunk-XWVVIUA4.mjs";import"./chunk-LA2JMAFM.mjs";import"./chunk-RLD5BKUC.mjs";import"./chunk-M6FSPJQJ.mjs";import{a as s,b}from"./chunk-ISX3ONKZ.mjs";var e=Object.assign(o,{Root:o,List:t,Tab:a,Panel:i,Indicator:r});export{a as Tab,r as TabIndicator,t as TabList,i as TabPanel,e as Tabs,s as TabsConfig,b as useTabsConfig};
1
+ import{Tab as o}from"./tab.mjs";import{TabIndicator as a}from"./tab-indicator.mjs";import{TabList as r}from"./tab-list.mjs";import{TabPanel as t}from"./tab-panel.mjs";import{Tabs as i}from"./tabs.mjs";import{TabsConfig as c,useTabsConfig as g}from"./tabs-config.mjs";const n=Object.assign(i,{Root:i,List:r,Tab:o,Panel:t,Indicator:a});export{o as Tab,a as TabIndicator,r as TabList,t as TabPanel,n as Tabs,c as TabsConfig,g as useTabsConfig};
package/dist/styles.mjs CHANGED
@@ -1 +1 @@
1
- import{a}from"./chunk-P7PRTBR2.mjs";export{a as tabsVariant};
1
+ import{colorVariants as e,dataFocusVisibleClasses as t,focusVisibleClasses as r,tv as a}from"@jamsrui/utils";const o=a({slots:{root:"",list:["inline-flex","p-1","h-fit","gap-2","items-center","flex-nowrap","overflow-x-auto","scrollbar-hide","max-w-full overflow-auto"],tab:["z-0 text-foreground-secondary","w-full","px-3","py-1","flex flex-row items-center justify-center gap-2","relative","outline-none","cursor-default","transition-opacity","tap-highlight-transparent","disabled:cursor-not-allowed","disabled:opacity-30","data-selected:text-foreground",...r],indicator:["absolute","-z-1","bg-white"],panel:["py-3","px-1","outline-none",...t]},variants:{variant:{solid:{list:"bg-background-secondary",indicator:"inset-0"},light:{list:"bg-transparent",indicator:"inset-0"},underlined:{list:"bg-transparent",indicator:"bottom-0 h-[2px] w-4/5 shadow-[0_1px_0px_0_rgba(0,0,0,0.05)]"},bordered:{list:"border border-divider bg-transparent shadow-sm",indicator:"inset-0"}},color:{default:{},primary:{},secondary:{},success:{},warning:{},danger:{}},size:{sm:{list:"rounded-xl",tab:"h-7 rounded text-xs",indicator:"rounded"},md:{list:"rounded-xl",tab:"h-8 rounded text-sm",indicator:"rounded-md"},lg:{list:"rounded-lg",tab:"h-9 rounded-xl text-base",indicator:"rounded-xl"}},radius:{none:{list:"rounded-none",tab:"rounded-none",indicator:"rounded-none"},sm:{list:"rounded",tab:"rounded",indicator:"rounded"},md:{list:"rounded-md",tab:"rounded-md",indicator:"rounded-md"},lg:{list:"rounded-lg",tab:"rounded-lg",indicator:"rounded-lg"},xl:{list:"rounded-xl",tab:"rounded-xl",indicator:"rounded-xl"},full:{list:"rounded-full",tab:"rounded-full",indicator:"rounded-full"}},fullWidth:{true:{root:"w-full",list:"w-full"}},disableAnimation:{true:{tab:"transition-none",tabContent:"transition-none"}}},compoundVariants:[{variant:["solid","bordered","light"],color:"default",className:{indicator:["bg-background","dark:bg-default","shadow-sm"],tabContent:"uig-selected:text-default-foreground"}},{variant:["solid","bordered","light"],color:"primary",className:{indicator:e.solid.primary,tabContent:"uig-selected:text-primary-foreground"}},{variant:["solid","bordered","light"],color:"secondary",className:{indicator:e.solid.secondary,tabContent:"uig-selected:text-secondary-foreground"}},{variant:["solid","bordered","light"],color:"success",className:{indicator:e.solid.success,tabContent:"uig-selected:text-success-foreground"}},{variant:["solid","bordered","light"],color:"warning",className:{indicator:e.solid.warning,tabContent:"uig-selected:text-warning-foreground"}},{variant:["solid","bordered","light"],color:"danger",className:{indicator:e.solid.danger,tabContent:"uig-selected:text-danger-foreground"}},{variant:"underlined",color:"default",className:{indicator:"bg-foreground",tabContent:"uig-selected:text-foreground"}},{variant:"underlined",color:"primary",className:{indicator:"bg-primary",tabContent:"uig-selected:text-primary"}},{variant:"underlined",color:"secondary",className:{indicator:"bg-secondary",tabContent:"uig-selected:text-secondary"}},{variant:"underlined",color:"success",className:{indicator:"bg-success",tabContent:"uig-selected:text-success"}},{variant:"underlined",color:"warning",className:{indicator:"bg-warning",tabContent:"uig-selected:text-warning"}},{variant:"underlined",color:"danger",className:{indicator:"bg-danger",tabContent:"uig-selected:text-danger"}}],defaultVariants:{color:"default",variant:"solid",size:"md",fullWidth:!1}});export{o as tabsVariant};
@@ -1 +1 @@
1
- import{a,b}from"./chunk-RLD5BKUC.mjs";export{a as TabContext,b as useTabContext};
1
+ import{createContext as e,use as o}from"react";const n=e(null),a=()=>{const t=o(n);if(!t)throw new Error("useTabContext must be used within a TabContext");return t};export{n as TabContext,a as useTabContext};
@@ -1 +1 @@
1
- "use client";import{a}from"./chunk-4IPUN35X.mjs";import"./chunk-RLD5BKUC.mjs";import"./chunk-M6FSPJQJ.mjs";export{a as TabIndicator};
1
+ "use client";import{jsx as s}from"react/jsx-runtime";import{motion as e}from"motion/react";import{useTabsContext as i}from"./tabs-context.mjs";import{useTabContext as n}from"./tab-context.mjs";const m=o=>{const{getIndicatorProps:t}=i(),{isActive:r}=n();return r?s(e.div,{...t(o)}):null};export{m as TabIndicator};
package/dist/tab-list.mjs CHANGED
@@ -1 +1 @@
1
- "use client";import{a}from"./chunk-JVCBSK55.mjs";import"./chunk-M6FSPJQJ.mjs";export{a as TabList};
1
+ "use client";import{jsx as n}from"react/jsx-runtime";import{useId as s}from"react";import{useRenderElement as p}from"@jamsrui/hooks";import{LayoutGroup as i}from"motion/react";import{useTabsContext as m}from"./tabs-context.mjs";const f=o=>{const{getTabListProps:t}=m(),r=p("div",{props:[t(o)]}),e=s();return n(i,{id:e,children:r})};export{f as TabList};
@@ -1 +1 @@
1
- "use client";import{a}from"./chunk-POVENYKQ.mjs";import"./chunk-M6FSPJQJ.mjs";export{a as TabPanel};
1
+ "use client";import{useRenderElement as s}from"@jamsrui/hooks";import{useTabsContext as l}from"./tabs-context.mjs";const c=e=>{const{value:t}=e,{getPanelProps:r,value:n}=l(),o=n===t,a=s("div",{props:[r(e),{}]});return o?a:null};export{c as TabPanel};
package/dist/tab.mjs CHANGED
@@ -1 +1 @@
1
- "use client";import{a}from"./chunk-XWVVIUA4.mjs";import"./chunk-LA2JMAFM.mjs";import"./chunk-RLD5BKUC.mjs";import"./chunk-M6FSPJQJ.mjs";export{a as Tab};
1
+ "use client";import{jsx as b}from"react/jsx-runtime";import{useRenderElement as p}from"@jamsrui/hooks";import{useTabsContext as m}from"./tabs-context.mjs";import{useTab as c}from"./use-tab.mjs";import{dataAttr as i}from"@jamsrui/utils";import{TabContext as l}from"./tab-context.mjs";const P=t=>{const{getTabProps:o}=m(),{value:r,...n}=o(t),{handleClick:s,isActive:e}=c({value:r}),a=p("button",{props:[n,{onClick:s,"data-selected":i(e)}]});return b(l,{value:{isActive:e},children:a})};export{P as Tab};
@@ -1 +1 @@
1
- "use client";import{a,b}from"./chunk-ISX3ONKZ.mjs";export{a as TabsConfig,b as useTabsConfig};
1
+ "use client";import{createConfigContext as o}from"@jamsrui/utils";const[e,r]=o({displayName:"TabsConfig"});export{e as TabsConfig,r as useTabsConfig};
@@ -1 +1 @@
1
- import{a,b}from"./chunk-M6FSPJQJ.mjs";export{a as TabsContext,b as useTabsContext};
1
+ import{createContext as t,use as o}from"react";const s=t(null),r=()=>{const e=o(s);if(!e)throw new Error("useTabsContext must be used within a TabsContext");return e};export{s as TabsContext,r as useTabsContext};
package/dist/tabs.mjs CHANGED
@@ -1 +1 @@
1
- "use client";import{a}from"./chunk-H24QMPIW.mjs";import"./chunk-JR6NZURN.mjs";import"./chunk-P7PRTBR2.mjs";import"./chunk-M6FSPJQJ.mjs";import"./chunk-ISX3ONKZ.mjs";export{a as Tabs};
1
+ "use client";import{jsx as f}from"react/jsx-runtime";import{useRenderElement as p}from"@jamsrui/hooks";import{mergeConfigProps as m}from"@jamsrui/utils";import{useTabsConfig as a}from"./tabs-config.mjs";import{TabsContext as c}from"./tabs-context.mjs";import{useTabs as i}from"./use-tabs.mjs";const P=s=>{const o=a(),r=m(o,o,s),e=i(r),{getRootProps:t}=e,n=p("div",{props:[t({})]});return f(c,{value:e,children:n})};export{P as Tabs};
package/dist/use-tab.mjs CHANGED
@@ -1 +1 @@
1
- import{a}from"./chunk-LA2JMAFM.mjs";import"./chunk-M6FSPJQJ.mjs";export{a as useTab};
1
+ import{useCallback as u,useMemo as n}from"react";import{useTabsContext as c}from"./tabs-context.mjs";const i=o=>{const{value:e}=o,{value:r,setValue:s}=c(),t=u(()=>{s(e)},[s,e]),a=r===e;return n(()=>({isActive:a,handleClick:t}),[t,a])};export{i as useTab};
package/dist/use-tabs.mjs CHANGED
@@ -1 +1 @@
1
- import{a}from"./chunk-JR6NZURN.mjs";import"./chunk-P7PRTBR2.mjs";export{a as useTabs};
1
+ import{useCallback as e,useMemo as y}from"react";import{useControlledState as V}from"@jamsrui/hooks";import{dataAttrDev as s,mapPropsVariants as v}from"@jamsrui/utils";import{tabsVariant as b}from"./styles.mjs";const x=P=>{const[d,u]=v(P,b.variantKeys),{defaultValue:T,value:f,onValueChange:N,children:g,...o}=d,t=b(u),[r,l]=V({defaultProp:T,onChange:N,prop:f}),p=e(()=>({...o,"data-slot":s("root"),"data-component":s("tabs"),className:t.root({className:o.className}),children:g}),[o,t]),n=e(a=>({...a,"data-slot":s("tab-list"),className:t.list({className:a.className})}),[t]),i=e(a=>({...a,"data-slot":s("tab"),className:t.tab({className:a.className})}),[t]),m=e(a=>({layoutId:"indicator",...a,"data-slot":s("indicator"),className:t.indicator({className:a.className})}),[t]),c=e(a=>({...a,"data-slot":s("tab-panel"),className:t.panel({className:a.className})}),[t]);return y(()=>({getRootProps:p,getTabListProps:n,getTabProps:i,getIndicatorProps:m,value:r,setValue:l,getPanelProps:c}),[m,c,p,n,i,l,r])};export{x as useTabs};
package/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "@jamsrui/tabs",
3
- "version": "0.0.13",
3
+ "version": "0.0.14",
4
4
  "peerDependencies": {
5
5
  "motion": ">=12",
6
6
  "react": ">=19"
7
7
  },
8
8
  "dependencies": {
9
- "@jamsrui/hooks": "^0.0.13",
10
- "@jamsrui/core": "^0.0.11",
11
- "@jamsrui/utils": "^0.0.13"
9
+ "@jamsrui/core": "^0.0.12",
10
+ "@jamsrui/hooks": "^0.0.14",
11
+ "@jamsrui/utils": "^0.0.14"
12
12
  },
13
13
  "exports": {
14
14
  ".": {
@@ -1 +0,0 @@
1
- import{b as t}from"./chunk-RLD5BKUC.mjs";import{b as o}from"./chunk-M6FSPJQJ.mjs";import{motion as n}from"motion/react";import{jsx as s}from"react/jsx-runtime";var m=r=>{let{getIndicatorProps:e}=o(),{isActive:i}=t();return i?s(n.div,{...e(r)}):null};export{m as a};
@@ -1 +0,0 @@
1
- import{a as t}from"./chunk-JR6NZURN.mjs";import{a as s}from"./chunk-M6FSPJQJ.mjs";import{b as r}from"./chunk-ISX3ONKZ.mjs";import{useRenderElement as c}from"@jamsrui/hooks";import{mergeConfigProps as i}from"@jamsrui/utils";import{jsx as f}from"react/jsx-runtime";var P=n=>{let o=r(),p=i(o,o,n),e=t(p),{getRootProps:m}=e,a=c("div",{props:[m({})]});return f(s,{value:e,children:a})};export{P as a};
@@ -1 +0,0 @@
1
- import{createConfigContext as o}from"@jamsrui/utils";var[e,r]=o({displayName:"TabsConfig"});export{e as a,r as b};
@@ -1 +0,0 @@
1
- import{a as r}from"./chunk-P7PRTBR2.mjs";import{useCallback as e,useMemo as y}from"react";import{useControlledState as V}from"@jamsrui/hooks";import{dataAttrDev as s,mapPropsVariants as v}from"@jamsrui/utils";var x=P=>{let[d,u]=v(P,r.variantKeys),{defaultValue:T,value:f,onValueChange:N,children:g,...o}=d,t=r(u),[l,p]=V({defaultProp:T,onChange:N,prop:f}),n=e(()=>({...o,"data-slot":s("root"),"data-component":s("tabs"),className:t.root({className:o.className}),children:g}),[o,t]),i=e(a=>({...a,"data-slot":s("tab-list"),className:t.list({className:a.className})}),[t]),m=e(a=>({...a,"data-slot":s("tab"),className:t.tab({className:a.className})}),[t]),c=e(a=>({layoutId:"indicator",...a,"data-slot":s("indicator"),className:t.indicator({className:a.className})}),[t]),b=e(a=>({...a,"data-slot":s("tab-panel"),className:t.panel({className:a.className})}),[t]);return y(()=>({getRootProps:n,getTabListProps:i,getTabProps:m,getIndicatorProps:c,value:l,setValue:p,getPanelProps:b}),[c,b,n,i,m,p,l])};export{x as a};
@@ -1 +0,0 @@
1
- import{b as o}from"./chunk-M6FSPJQJ.mjs";import{useId as p}from"react";import{useRenderElement as i}from"@jamsrui/hooks";import{LayoutGroup as m}from"motion/react";import{jsx as n}from"react/jsx-runtime";var f=t=>{let{getTabListProps:r}=o(),e=i("div",{props:[r(t)]}),s=p();return n(m,{id:s,children:e})};export{f as a};
@@ -1 +0,0 @@
1
- import{b as o}from"./chunk-M6FSPJQJ.mjs";import{useCallback as n,useMemo as c}from"react";var i=r=>{let{value:e}=r,{value:u,setValue:s}=o(),t=n(()=>{s(e)},[s,e]),a=u===e;return c(()=>({isActive:a,handleClick:t}),[t,a])};export{i as a};
@@ -1 +0,0 @@
1
- import{createContext as t,use as o}from"react";var s=t(null),r=()=>{let e=o(s);if(!e)throw new Error("useTabsContext must be used within a TabsContext");return e};export{s as a,r as b};
@@ -1 +0,0 @@
1
- import{colorVariants as e,dataFocusVisibleClasses as t,focusVisibleClasses as r,tv as a}from"@jamsrui/utils";var o=a({slots:{root:"",list:["inline-flex","p-1","h-fit","gap-2","items-center","flex-nowrap","overflow-x-auto","scrollbar-hide","max-w-full overflow-auto"],tab:["z-0 text-foreground-secondary","w-full","px-3","py-1","flex flex-row items-center justify-center gap-2","relative","outline-none","cursor-default","transition-opacity","tap-highlight-transparent","disabled:cursor-not-allowed","disabled:opacity-30","data-selected:text-foreground",...r],indicator:["absolute","-z-1","bg-white"],panel:["py-3","px-1","outline-none",...t]},variants:{variant:{solid:{list:"bg-background-secondary",indicator:"inset-0"},light:{list:"bg-transparent",indicator:"inset-0"},underlined:{list:"bg-transparent",indicator:"bottom-0 h-[2px] w-4/5 shadow-[0_1px_0px_0_rgba(0,0,0,0.05)]"},bordered:{list:"border border-divider bg-transparent shadow-sm",indicator:"inset-0"}},color:{default:{},primary:{},secondary:{},success:{},warning:{},danger:{}},size:{sm:{list:"rounded-xl",tab:"h-7 rounded text-xs",indicator:"rounded"},md:{list:"rounded-xl",tab:"h-8 rounded text-sm",indicator:"rounded-md"},lg:{list:"rounded-lg",tab:"h-9 rounded-xl text-base",indicator:"rounded-xl"}},radius:{none:{list:"rounded-none",tab:"rounded-none",indicator:"rounded-none"},sm:{list:"rounded",tab:"rounded",indicator:"rounded"},md:{list:"rounded-md",tab:"rounded-md",indicator:"rounded-md"},lg:{list:"rounded-lg",tab:"rounded-lg",indicator:"rounded-lg"},xl:{list:"rounded-xl",tab:"rounded-xl",indicator:"rounded-xl"},full:{list:"rounded-full",tab:"rounded-full",indicator:"rounded-full"}},fullWidth:{true:{root:"w-full",list:"w-full"}},disableAnimation:{true:{tab:"transition-none",tabContent:"transition-none"}}},compoundVariants:[{variant:["solid","bordered","light"],color:"default",className:{indicator:["bg-background","dark:bg-default","shadow-sm"],tabContent:"uig-selected:text-default-foreground"}},{variant:["solid","bordered","light"],color:"primary",className:{indicator:e.solid.primary,tabContent:"uig-selected:text-primary-foreground"}},{variant:["solid","bordered","light"],color:"secondary",className:{indicator:e.solid.secondary,tabContent:"uig-selected:text-secondary-foreground"}},{variant:["solid","bordered","light"],color:"success",className:{indicator:e.solid.success,tabContent:"uig-selected:text-success-foreground"}},{variant:["solid","bordered","light"],color:"warning",className:{indicator:e.solid.warning,tabContent:"uig-selected:text-warning-foreground"}},{variant:["solid","bordered","light"],color:"danger",className:{indicator:e.solid.danger,tabContent:"uig-selected:text-danger-foreground"}},{variant:"underlined",color:"default",className:{indicator:"bg-foreground",tabContent:"uig-selected:text-foreground"}},{variant:"underlined",color:"primary",className:{indicator:"bg-primary",tabContent:"uig-selected:text-primary"}},{variant:"underlined",color:"secondary",className:{indicator:"bg-secondary",tabContent:"uig-selected:text-secondary"}},{variant:"underlined",color:"success",className:{indicator:"bg-success",tabContent:"uig-selected:text-success"}},{variant:"underlined",color:"warning",className:{indicator:"bg-warning",tabContent:"uig-selected:text-warning"}},{variant:"underlined",color:"danger",className:{indicator:"bg-danger",tabContent:"uig-selected:text-danger"}}],defaultVariants:{color:"default",variant:"solid",size:"md",fullWidth:!1}});export{o as a};
@@ -1 +0,0 @@
1
- import{b as t}from"./chunk-M6FSPJQJ.mjs";import{useRenderElement as l}from"@jamsrui/hooks";var c=e=>{let{value:r}=e,{getPanelProps:n,value:o}=t(),a=o===r,s=l("div",{props:[n(e),{}]});return a?s:null};export{c as a};
@@ -1 +0,0 @@
1
- import{createContext as e,use as o}from"react";var n=e(null),a=()=>{let t=o(n);if(!t)throw new Error("useTabContext must be used within a TabContext");return t};export{n as a,a as b};
@@ -1 +0,0 @@
1
- import{a as o}from"./chunk-LA2JMAFM.mjs";import{a as r}from"./chunk-RLD5BKUC.mjs";import{b as t}from"./chunk-M6FSPJQJ.mjs";import{useRenderElement as i}from"@jamsrui/hooks";import{dataAttr as l}from"@jamsrui/utils";import{jsx as b}from"react/jsx-runtime";var P=n=>{let{getTabProps:s}=t(),{value:a,...p}=s(n),{handleClick:m,isActive:e}=o({value:a}),c=i("button",{props:[p,{onClick:m,"data-selected":l(e)}]});return b(r,{value:{isActive:e},children:c})};export{P as a};