@loja-integrada/admin-components 1.3.19 → 1.3.21

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,12 @@
1
+ import { a } from './chunk-L5IJMOFK.js';
2
+ import { a as a$3 } from './chunk-ZWW7VJFD.js';
3
+ import { a as a$1 } from './chunk-BW4TJLAD.js';
4
+ import { a as a$4 } from './chunk-UZZ5JUF7.js';
5
+ import { a as a$2 } from './chunk-AGCI6C3Z.js';
6
+ import { cva } from 'class-variance-authority';
7
+ import P, { useMemo, useState, useRef, useEffect } from 'react';
8
+ import { jsx, jsxs } from 'react/jsx-runtime';
9
+
10
+ var c=24,Y=cva("relative appearance-none overflow-hidden rounded border border-card-stroke bg-base-1 px-4 py-3 shadow-none outline-none transition-colors focus-within:border-inverted-1 focus:border-inverted-1",{variants:{hasErrorState:{true:"border-danger focus:border-danger [&~.adornment]:border-danger [&~.adornment]:focus:border-danger"},disabled:{true:"pointer-events-none bg-base-3 text-on-base-2"},readOnly:{true:"bg-base-2"}},defaultVariants:{hasErrorState:!1,disabled:!1,readOnly:!1}}),Z=({className:R="",formGroupClassName:C="",label:S,labelComplement:$,helpText:k,hasError:F=!1,errorMessage:g,required:v=!1,defaultValue:p,id:O,name:T,disabled:H,readOnly:y,minLines:a$5=2,maxLines:f=5,showSeeMore:u=!1,...V},z)=>{let B=useMemo(()=>Math.random().toString(36).substring(7),[]),E=O||T||B,h=F||!!g,[n,D]=useState(!1),[x,G]=useState(f),s=useRef(null);useEffect(()=>{G(u&&!n?a$5:f);},[n,a$5,f]);let q=jsx(a,{label:S,labelComplement:$,required:v,hasError:h,htmlFor:E,className:"mb-1"}),W=jsx(a$1,{helpText:g||k,hasError:h,className:"mt-2"}),_=()=>{if(u&&!n)return;let e=s.current;if(e){let t=x*c,r=a$5*c,i=e.style.height;e.style.height="auto";let l=e.scrollHeight;e.style.height=i;let d=j(l,r,t);J(e,d);}},j=(e,t,r)=>Math.min(r,Math.max(t,e)),J=(e,t)=>{let r=e.offsetHeight;if(r===t)return;let i=e.style.transitionProperty?.includes("height"),l=e.style.transition;!i&&!l&&(e.style.transition="height 200ms"),e.style.height=`${r}px`,e.offsetHeight,e.style.height=`${t}px`;let d=K=>{K.propertyName==="height"&&(e.removeEventListener("transitionend",d),!i&&!l&&(e.style.transition=""));};e.addEventListener("transitionend",d);};return useEffect(()=>{let e=s.current;if(e){let t=a$5*c;if(p){let r=x*c;e.scrollHeight>r?t=r:e.scrollHeight>t&&(t=e.scrollHeight);}e.style.height=`${t}px`;}},[s,a$5,x,p,n]),jsxs("div",{className:a$2("form-group flex flex-col ",C),ref:z,children:[q,jsx("div",{className:a$2("relative appearance-none overflow-hidden rounded border border-card-stroke bg-base-1 px-4 py-3 shadow-none outline-none transition-colors focus-within:border-inverted-1 focus:border-inverted-1",Y({hasErrorState:h,disabled:H,readOnly:y,className:R})),children:jsx("textarea",{...V,ref:s,onInput:_,className:"peer text-f6 flex w-full min-w-0 resize-none bg-transparent text-on-base shadow-none outline-none transition-all duration-200 ease-in-out focus-within:border-inverted-1 focus:border-inverted-1",id:E,name:T,required:v,disabled:H,readOnly:y,defaultValue:p})}),W,u?jsxs("div",{className:"mt-2 flex items-center justify-center gap-x-2",id:"see-more",children:[jsx("div",{className:"h-px w-full bg-inverted-2"}),jsxs(a$3,{as:"button",variant:"onlyText",className:"mx-2 hover:no-underline",onClick:()=>D(!n),children:[jsx(a$4,{icon:"angleDown",size:4,className:`mr-1 text-inverted-2 transition duration-300 ease-in-out ${n?"-rotate-180":""}`}),jsxs("span",{className:"text-f6 text-nowrap font-semibold text-inverted-2 no-underline",children:["Ver ",n?"menos":"mais"]})]}),jsx("div",{className:"h-px w-full bg-inverted-2"})]}):null]})},ee=P.forwardRef(Z),te=P.memo(ee);te.displayName="TextArea";
11
+
12
+ export { te as a };
@@ -0,0 +1,8 @@
1
+ import { a } from './chunk-AGCI6C3Z.js';
2
+ import { memo, useRef, useState, useEffect } from 'react';
3
+ import { cva } from 'class-variance-authority';
4
+ import { jsx, jsxs } from 'react/jsx-runtime';
5
+
6
+ var L=cva("tabs-item group min-w-0 shrink-0 overflow-x-hidden -outline-offset-1 focus:outline-focus",{variants:{active:{true:"tabs-item-active",false:"cursor-pointer"},disabled:{true:"pointer-events-none opacity-50",false:""}}}),P=cva("text-f6 relative block break-words p-2 font-semibold lg:py-4",{variants:{active:{true:"text-primary",false:"text-inverted-2 hover:text-primary"},animated:{true:"",false:""}},compoundVariants:[{active:!0,animated:!1,className:"border-b-4 border-primary"}],defaultVariants:{active:!1,animated:!1}}),k=({id:l,title:r,titleComplement:t,active:o=!1,disabled:s=!1,onChange:a$1,className:b="",animated:n=!1})=>{let f=m=>typeof t=="function"?t(m):t;return jsx("button",{type:"button",id:`btnTab${l}`,className:a(L({active:o,disabled:s,className:b})),onClick:()=>a$1(l),disabled:s,children:jsxs("span",{className:a(P({active:o,animated:n})),"data-title":r,children:[r,t?jsx("span",{className:"ml-2",children:f(o)}):null]})})},d=memo(k);d.displayName="TabsItem";var W=({className:l="",items:r,activeItem:t,onChange:o,animated:s=!1})=>{let a$1=useRef(null),b=useRef(null),[n,f]=useState(t),[m,I]=useState(0),[w,N]=useState(0);useEffect(()=>{f(t);},[t]),useEffect(()=>{let e=document.querySelector(`#btnTab${n}`);if(a$1?.current&&e){let c=a$1.current.getBoundingClientRect(),u=parseFloat(window.getComputedStyle(a$1.current,null).getPropertyValue("padding-left")),R=e?.offsetLeft-c.left;a$1.current.scrollTo({left:R-c.width/2+e.offsetWidth/2,behavior:"smooth"}),N(e?.clientWidth||0),I(e?.offsetLeft<u?u:e?.offsetLeft);}},[t,n]);let x=e=>{e!==n&&(f(e),o?.(e));};return !r||!Array.isArray(r)?null:jsxs("div",{ref:a$1,className:a("relative tabs flex w-full flex-nowrap lg:gap-4 gap-2 overflow-x-auto border-b border-card-stroke bg-base-1",l),children:[s?jsx("div",{ref:b,id:"bottom-border",className:"absolute bottom-0 h-1 bg-primary",style:{left:m,width:w,transition:"all 0.15s ease"}}):null,r?.map((e,c)=>(e.id||(e.id=encodeURI(e.title)),jsx(d,{...e,onChange:x,active:n===e.id,animated:s},`tab-item-${c}`)))]})},E=memo(W);E.displayName="Tabs";
7
+
8
+ export { E as a };
@@ -1,5 +1,5 @@
1
1
  import { TabsItemInterface } from './TabsItem';
2
- declare const Tabs: import("react").MemoExoticComponent<({ className, items, activeItem, onChange }: TabsProps) => import("react/jsx-runtime").JSX.Element | null>;
2
+ declare const Tabs: import("react").MemoExoticComponent<({ className, items, activeItem, onChange, animated }: TabsProps) => import("react/jsx-runtime").JSX.Element | null>;
3
3
  interface TabsProps {
4
4
  /**
5
5
  * Custom class name
@@ -13,6 +13,10 @@ interface TabsProps {
13
13
  * Tab item
14
14
  */
15
15
  items?: TabsItemInterface[];
16
+ /**
17
+ * Wether to animate the bottom border or not
18
+ */
19
+ animated?: boolean;
16
20
  /**
17
21
  * Callback handle when selected item change
18
22
  * */
@@ -3,12 +3,16 @@ interface TabsItemProps extends TabsItemInterface {
3
3
  * Item is active
4
4
  */
5
5
  active?: boolean;
6
+ /**
7
+ * Wether to animate the bottom border or not
8
+ */
9
+ animated?: boolean;
6
10
  /**
7
11
  * Call on tab change
8
12
  */
9
13
  onChange: (arg0: string) => void;
10
14
  }
11
- declare const TabsItem: import("react").MemoExoticComponent<({ id, title, titleComplement, active, disabled, onChange, className }: TabsItemProps) => import("react/jsx-runtime").JSX.Element>;
15
+ declare const TabsItem: import("react").MemoExoticComponent<({ id, title, titleComplement, active, disabled, onChange, className, animated }: TabsItemProps) => import("react/jsx-runtime").JSX.Element>;
12
16
  interface TabsItemInterface {
13
17
  /**
14
18
  * Custom class name
@@ -1,2 +1,2 @@
1
- "use client";export { a as Tabs } from '../../chunk-WYU4N3LM.js';
1
+ "use client";export { a as Tabs } from '../../chunk-QKOZ4JZB.js';
2
2
  import '../../chunk-AGCI6C3Z.js';
@@ -7,7 +7,7 @@ import '../chunk-BW4TJLAD.js';
7
7
  export { a as Modal } from '../chunk-ZNDZCIEX.js';
8
8
  export { a as SidebarFixed } from '../chunk-6Z2GJXT6.js';
9
9
  export { a as Table, d as TableBody, h as TableCaption, g as TableCell, e as TableFooter, c as TableHead, b as TableHeader, f as TableRow } from '../chunk-TJKZQP6P.js';
10
- export { a as Tabs } from '../chunk-WYU4N3LM.js';
10
+ export { a as Tabs } from '../chunk-QKOZ4JZB.js';
11
11
  export { a as Timeline } from '../chunk-7JT6B2LQ.js';
12
12
  export { a as LoadingPlaceholder } from '../chunk-VFFDRP2O.js';
13
13
  import '../chunk-LTWCICTK.js';
@@ -22,7 +22,7 @@ import '../../chunk-BW4TJLAD.js';
22
22
  import '../../chunk-ZNDZCIEX.js';
23
23
  import '../../chunk-6Z2GJXT6.js';
24
24
  import '../../chunk-TJKZQP6P.js';
25
- import '../../chunk-WYU4N3LM.js';
25
+ import '../../chunk-QKOZ4JZB.js';
26
26
  import '../../chunk-7JT6B2LQ.js';
27
27
  import '../../chunk-VFFDRP2O.js';
28
28
  import '../../chunk-LTWCICTK.js';
@@ -15,7 +15,7 @@ import '../../chunk-BW4TJLAD.js';
15
15
  import '../../chunk-ZNDZCIEX.js';
16
16
  import '../../chunk-6Z2GJXT6.js';
17
17
  import '../../chunk-TJKZQP6P.js';
18
- import '../../chunk-WYU4N3LM.js';
18
+ import '../../chunk-QKOZ4JZB.js';
19
19
  import '../../chunk-7JT6B2LQ.js';
20
20
  import '../../chunk-VFFDRP2O.js';
21
21
  import '../../chunk-LTWCICTK.js';
@@ -15,7 +15,7 @@ import '../../chunk-BW4TJLAD.js';
15
15
  import '../../chunk-ZNDZCIEX.js';
16
16
  import '../../chunk-6Z2GJXT6.js';
17
17
  import '../../chunk-TJKZQP6P.js';
18
- import '../../chunk-WYU4N3LM.js';
18
+ import '../../chunk-QKOZ4JZB.js';
19
19
  import '../../chunk-7JT6B2LQ.js';
20
20
  import '../../chunk-VFFDRP2O.js';
21
21
  import '../../chunk-LTWCICTK.js';
@@ -16,7 +16,7 @@ import '../../chunk-BW4TJLAD.js';
16
16
  import '../../chunk-ZNDZCIEX.js';
17
17
  import '../../chunk-6Z2GJXT6.js';
18
18
  import '../../chunk-TJKZQP6P.js';
19
- import '../../chunk-WYU4N3LM.js';
19
+ import '../../chunk-QKOZ4JZB.js';
20
20
  import '../../chunk-7JT6B2LQ.js';
21
21
  import '../../chunk-VFFDRP2O.js';
22
22
  import '../../chunk-LTWCICTK.js';
@@ -14,7 +14,7 @@ import '../../chunk-BW4TJLAD.js';
14
14
  import '../../chunk-ZNDZCIEX.js';
15
15
  import '../../chunk-6Z2GJXT6.js';
16
16
  import '../../chunk-TJKZQP6P.js';
17
- import '../../chunk-WYU4N3LM.js';
17
+ import '../../chunk-QKOZ4JZB.js';
18
18
  import '../../chunk-7JT6B2LQ.js';
19
19
  import '../../chunk-VFFDRP2O.js';
20
20
  import '../../chunk-LTWCICTK.js';
@@ -16,7 +16,7 @@ import '../../chunk-BW4TJLAD.js';
16
16
  import '../../chunk-ZNDZCIEX.js';
17
17
  import '../../chunk-6Z2GJXT6.js';
18
18
  import '../../chunk-TJKZQP6P.js';
19
- import '../../chunk-WYU4N3LM.js';
19
+ import '../../chunk-QKOZ4JZB.js';
20
20
  import '../../chunk-7JT6B2LQ.js';
21
21
  import '../../chunk-VFFDRP2O.js';
22
22
  import '../../chunk-LTWCICTK.js';
@@ -18,7 +18,7 @@ import '../../chunk-BW4TJLAD.js';
18
18
  import '../../chunk-ZNDZCIEX.js';
19
19
  import '../../chunk-6Z2GJXT6.js';
20
20
  import '../../chunk-TJKZQP6P.js';
21
- import '../../chunk-WYU4N3LM.js';
21
+ import '../../chunk-QKOZ4JZB.js';
22
22
  import '../../chunk-7JT6B2LQ.js';
23
23
  import '../../chunk-VFFDRP2O.js';
24
24
  import '../../chunk-LTWCICTK.js';
@@ -15,7 +15,7 @@ import '../../chunk-BW4TJLAD.js';
15
15
  import '../../chunk-ZNDZCIEX.js';
16
16
  import '../../chunk-6Z2GJXT6.js';
17
17
  import '../../chunk-TJKZQP6P.js';
18
- import '../../chunk-WYU4N3LM.js';
18
+ import '../../chunk-QKOZ4JZB.js';
19
19
  import '../../chunk-7JT6B2LQ.js';
20
20
  import '../../chunk-VFFDRP2O.js';
21
21
  import '../../chunk-LTWCICTK.js';
@@ -34,5 +34,10 @@ interface TextAreaProps extends InputLabelProps, InputHelpTextProps, Omit<React.
34
34
  * @default 5
35
35
  * */
36
36
  maxLines?: number;
37
+ /**
38
+ * Sets wether to show a see more button when the text exceeds the maxLines
39
+ * @default false
40
+ * */
41
+ showSeeMore?: boolean;
37
42
  }
38
43
  export { TextArea, type TextAreaProps };
@@ -1,4 +1,4 @@
1
- export { a as TextArea } from '../../chunk-RXUWLIO5.js';
1
+ export { a as TextArea } from '../../chunk-MEJOQREQ.js';
2
2
  import '../../chunk-L5IJMOFK.js';
3
3
  import '../../chunk-KN7DOGNL.js';
4
4
  import '../../chunk-QEFCC7YX.js';
@@ -15,7 +15,7 @@ import '../../chunk-BW4TJLAD.js';
15
15
  import '../../chunk-ZNDZCIEX.js';
16
16
  import '../../chunk-6Z2GJXT6.js';
17
17
  import '../../chunk-TJKZQP6P.js';
18
- import '../../chunk-WYU4N3LM.js';
18
+ import '../../chunk-QKOZ4JZB.js';
19
19
  import '../../chunk-7JT6B2LQ.js';
20
20
  import '../../chunk-VFFDRP2O.js';
21
21
  import '../../chunk-LTWCICTK.js';
@@ -1,5 +1,5 @@
1
1
  import '../chunk-V7ZS2B75.js';
2
- export { a as TextArea } from '../chunk-RXUWLIO5.js';
2
+ export { a as TextArea } from '../chunk-MEJOQREQ.js';
3
3
  export { b as Select, a as SelectComponent } from '../chunk-T6YO3R7X.js';
4
4
  export { a as Calendar } from '../chunk-VOM77MIG.js';
5
5
  import '../chunk-DBWOW4GL.js';
@@ -30,7 +30,7 @@ export { a as InputHelpText } from '../chunk-BW4TJLAD.js';
30
30
  import '../chunk-ZNDZCIEX.js';
31
31
  import '../chunk-6Z2GJXT6.js';
32
32
  import '../chunk-TJKZQP6P.js';
33
- import '../chunk-WYU4N3LM.js';
33
+ import '../chunk-QKOZ4JZB.js';
34
34
  import '../chunk-7JT6B2LQ.js';
35
35
  import '../chunk-VFFDRP2O.js';
36
36
  import '../chunk-LTWCICTK.js';
package/dist/index.js CHANGED
@@ -2,7 +2,7 @@ import './chunk-4PUGMMDC.js';
2
2
  export { c as DEFAULT_OPTIONS, d as Pagination, a as PaginationInfo, b as PaginationNav } from './chunk-XV4GV73T.js';
3
3
  export { a as Stepper } from './chunk-J62DBIT2.js';
4
4
  import './chunk-V7ZS2B75.js';
5
- export { a as TextArea } from './chunk-RXUWLIO5.js';
5
+ export { a as TextArea } from './chunk-MEJOQREQ.js';
6
6
  export { b as Select, a as SelectComponent } from './chunk-T6YO3R7X.js';
7
7
  export { a as Breadcrumb } from './chunk-UF3JKCLY.js';
8
8
  export { a as HelpLink } from './chunk-GQ2PFXYP.js';
@@ -35,7 +35,7 @@ export { a as InputHelpText } from './chunk-BW4TJLAD.js';
35
35
  export { a as Modal } from './chunk-ZNDZCIEX.js';
36
36
  export { a as SidebarFixed } from './chunk-6Z2GJXT6.js';
37
37
  export { a as Table, d as TableBody, h as TableCaption, g as TableCell, e as TableFooter, c as TableHead, b as TableHeader, f as TableRow } from './chunk-TJKZQP6P.js';
38
- export { a as Tabs } from './chunk-WYU4N3LM.js';
38
+ export { a as Tabs } from './chunk-QKOZ4JZB.js';
39
39
  export { a as Timeline } from './chunk-7JT6B2LQ.js';
40
40
  export { a as LoadingPlaceholder } from './chunk-VFFDRP2O.js';
41
41
  import './chunk-LTWCICTK.js';
@@ -16,7 +16,7 @@ import '../../chunk-BW4TJLAD.js';
16
16
  import '../../chunk-ZNDZCIEX.js';
17
17
  import '../../chunk-6Z2GJXT6.js';
18
18
  import '../../chunk-TJKZQP6P.js';
19
- import '../../chunk-WYU4N3LM.js';
19
+ import '../../chunk-QKOZ4JZB.js';
20
20
  import '../../chunk-7JT6B2LQ.js';
21
21
  import '../../chunk-VFFDRP2O.js';
22
22
  import '../../chunk-LTWCICTK.js';
@@ -20,7 +20,7 @@ import '../chunk-BW4TJLAD.js';
20
20
  import '../chunk-ZNDZCIEX.js';
21
21
  import '../chunk-6Z2GJXT6.js';
22
22
  import '../chunk-TJKZQP6P.js';
23
- import '../chunk-WYU4N3LM.js';
23
+ import '../chunk-QKOZ4JZB.js';
24
24
  import '../chunk-7JT6B2LQ.js';
25
25
  import '../chunk-VFFDRP2O.js';
26
26
  import '../chunk-LTWCICTK.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@loja-integrada/admin-components",
3
- "version": "1.3.19",
3
+ "version": "1.3.21",
4
4
  "author": "Loja Integrada",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -1,10 +0,0 @@
1
- import { a } from './chunk-L5IJMOFK.js';
2
- import { a as a$1 } from './chunk-BW4TJLAD.js';
3
- import { a as a$2 } from './chunk-AGCI6C3Z.js';
4
- import { cva } from 'class-variance-authority';
5
- import H, { useMemo, useRef, useEffect } from 'react';
6
- import { jsx, jsxs } from 'react/jsx-runtime';
7
-
8
- var n=24,k=cva("relative appearance-none overflow-hidden rounded border border-card-stroke bg-base-1 px-4 py-3 shadow-none outline-none transition-colors focus-within:border-inverted-1 focus:border-inverted-1",{variants:{hasErrorState:{true:"border-danger focus:border-danger [&~.adornment]:border-danger [&~.adornment]:focus:border-danger"},disabled:{true:"pointer-events-none bg-base-3 text-on-base-2"},readOnly:{true:"bg-base-2"}},defaultVariants:{hasErrorState:!1,disabled:!1,readOnly:!1}}),G=({className:T="",formGroupClassName:v="",label:w,labelComplement:y,helpText:E,hasError:I=!1,errorMessage:c,required:p=!1,defaultValue:s,id:A,name:f,disabled:m,readOnly:h,minLines:i=2,maxLines:u=5,...N},L)=>{let R=useMemo(()=>Math.random().toString(36).substring(7),[]),b=A||f||R,l=I||!!c,P=jsx(a,{label:w,labelComplement:y,required:p,hasError:l,htmlFor:b,className:"mb-1"}),M=jsx(a$1,{helpText:c||E,hasError:l,className:"mt-2"}),o=useRef(null),C=()=>{let e=o.current;if(e){let r=u*n,t=i*n;e.scrollHeight>r?(e.style.height="auto",e.style.height=`${r}px`):e.scrollHeight<=t?(e.style.height="auto",e.style.height=`${t}px`):(e.style.height="auto",e.style.height=`${e.scrollHeight}px`);}};return useEffect(()=>{let e=o.current;if(e){let r=i*n;if(s){let t=u*n;e.scrollHeight>t?r=t:e.scrollHeight>r&&(r=e.scrollHeight);}e.style.height=`${r}px`;}},[o,i,s]),jsxs("div",{className:a$2("form-group flex flex-col ",v),ref:L,children:[P,jsx("div",{className:a$2("relative appearance-none overflow-hidden rounded border border-card-stroke bg-base-1 px-4 py-3 shadow-none outline-none transition-colors focus-within:border-inverted-1 focus:border-inverted-1",k({hasErrorState:l,disabled:m,readOnly:h,className:T})),children:jsx("textarea",{...N,ref:o,onInput:C,className:"peer text-f6 flex w-full min-w-0 resize-none bg-transparent text-on-base shadow-none outline-none transition-colors focus-within:border-inverted-1 focus:border-inverted-1",id:b,name:f,required:p,disabled:m,readOnly:h,defaultValue:s})}),M]})},V=H.forwardRef(G),q=H.memo(V);q.displayName="TextArea";
9
-
10
- export { q as a };
@@ -1,8 +0,0 @@
1
- import { a } from './chunk-AGCI6C3Z.js';
2
- import { memo, useRef, useState, useEffect } from 'react';
3
- import { cva } from 'class-variance-authority';
4
- import { jsx, jsxs } from 'react/jsx-runtime';
5
-
6
- var C=cva("tabs-item group min-w-0 shrink-0 overflow-x-hidden text-transparent -outline-offset-1 hover:text-on-base focus:outline-focus",{variants:{active:{true:"tabs-item-active text-on-base",false:"cursor-pointer"},disabled:{true:"pointer-events-none opacity-50",false:""}}}),L=cva("text-f6 relative block break-words px-2 py-2 font-semibold lg:py-4",{variants:{active:{true:"",false:"before:absolute before:block before:translate-x-px before:overflow-hidden before:font-normal before:text-inverted-2 before:opacity-100 before:content-[attr(data-title)] hover:before:opacity-0"}}}),k=({id:i,title:a$1,titleComplement:t,active:n=!1,disabled:o=!1,onChange:b,className:r=""})=>{let f=c=>typeof t=="function"?t(c):t;return jsx("button",{type:"button",id:`btnTab${i}`,className:a(C({active:n,disabled:o,className:r})),onClick:()=>b(i),disabled:o,children:jsxs("span",{className:a(L({active:n})),"data-title":a$1,children:[a$1,t?jsx("span",{className:"ml-2",children:f(n)}):null]})})},p=memo(k);p.displayName="TabsItem";var W=({className:i="",items:a$1,activeItem:t,onChange:n})=>{let o=useRef(null),b=useRef(null),[r,f]=useState(t),[c,y]=useState(0),[I,x]=useState(0);useEffect(()=>{f(t);},[t]),useEffect(()=>{let e=document.querySelector(`#btnTab${r}`);if(o?.current&&e){let l=o.current.getBoundingClientRect(),m=parseFloat(window.getComputedStyle(o.current,null).getPropertyValue("padding-left")),N=e?.offsetLeft-l.left;o.current.scrollTo({left:N-l.width/2+e.offsetWidth/2,behavior:"smooth"}),x(e?.clientWidth||0),y(e?.offsetLeft<m?m:e?.offsetLeft);}},[t,r]);let w=e=>{e!==r&&(f(e),n?.(e));};return !a$1||!Array.isArray(a$1)?null:jsxs("div",{ref:o,className:a("relative tabs flex w-full flex-nowrap lg:gap-4 gap-2 overflow-x-auto border-b border-card-stroke bg-base-1",i),children:[jsx("div",{ref:b,id:"bottom-border",className:"absolute bottom-0 h-1 bg-primary",style:{left:c,width:I,transition:"all 0.15s ease"}}),a$1?.map((e,l)=>(e.id||(e.id=encodeURI(e.title)),jsx(p,{...e,onChange:w,active:r===e.id},`tab-item-${l}`)))]})},E=memo(W);E.displayName="Tabs";
7
-
8
- export { E as a };