UNPKG

stofli-ui

Version:

Biblioteca moderna de componentes UI para React con Tailwind CSS y Framer Motion

4 lines (3 loc) 2.77 kB
'use client'; "use strict";var e=require("react/jsx-runtime"),t=require("react"),i=require("framer-motion"),r=require("lucide-react"),n=require("clsx"),a=require("tailwind-merge");function o(e,t,i){if(i||2===arguments.length)for(var r,n=0,a=t.length;n<a;n++)!r&&n in t||(r||(r=Array.prototype.slice.call(t,0,n)),r[n]=t[n]);return e.concat(r||Array.prototype.slice.call(t))}function s(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return a.twMerge(n.clsx(e))}"function"==typeof SuppressedError&&SuppressedError;var l=function(t){var n=t.title,a=t.children,o=t.isOpen,l=t.onClick,c=t.className,d=void 0===c?"":c,u=t.buttonClassName,m=void 0===u?"":u,v=t.titleClassName,x=void 0===v?"":v,h=t.contentClassName,f=void 0===h?"":h,p=t.iconClassName,N=void 0===p?"":p,b=t.id,C="accordion-header-".concat(b),y="accordion-content-".concat(b);return e.jsxs("div",{className:s("border-b border-zinc-200 dark:border-zinc-800 p-3 last:border-0",d),children:[e.jsx("h3",{children:e.jsxs("button",{className:s("flex w-full items-center justify-between py-4 text-left text-neutral-900 dark:text-neutral-100",m),onClick:l,"aria-expanded":o,"aria-controls":y,id:C,type:"button",children:[e.jsx("span",{className:s("text-sm font-medium text-neutral-900 dark:text-neutral-100",x),children:n}),e.jsx(r.ChevronDown,{className:s("h-5 w-5 text-neutral-500 transition-transform duration-200",o&&"rotate-180",N),"aria-hidden":"true"})]})}),e.jsx(i.AnimatePresence,{initial:!1,children:o&&e.jsx(i.motion.div,{initial:{height:0,opacity:0},animate:{height:"auto",opacity:1},exit:{height:0,opacity:0},transition:{duration:.2},className:"overflow-hidden",role:"region","aria-labelledby":C,id:y,children:e.jsx("div",{className:s("pb-4 text-sm text-neutral-600 dark:text-neutral-400",f),children:a})})})]})};module.exports=function(i){var r=i.items,n=i.defaultOpen,a=void 0===n?-1:n,c=i.allowMultiple,d=void 0!==c&&c,u=i.className,m=void 0===u?"":u,v=i.itemClassName,x=void 0===v?"":v,h=i.buttonClassName,f=void 0===h?"":h,p=i.titleClassName,N=void 0===p?"":p,b=i.contentClassName,C=void 0===b?"":b,y=i.iconClassName,g=void 0===y?"":y,j=t.useState(a>=0?[a]:[]),k=j[0],w=j[1];return e.jsx("div",{className:s("divide-y divide-zinc-200 dark:divide-zinc-800 rounded-lg border border-zinc-200 dark:border-zinc-800 bg-white dark:bg-black",m),role:"presentation",children:r.map((function(t,i){return e.jsx(l,{id:"accordion-".concat(i),title:t.title,isOpen:k.includes(i),onClick:function(){return function(e){w(d?function(t){return t.includes(e)?t.filter((function(t){return t!==e})):o(o([],t,!0),[e],!1)}:function(t){return t.includes(e)?[]:[e]})}(i)},className:x,buttonClassName:f,titleClassName:N,contentClassName:C,iconClassName:g,children:t.content},i)}))})}; //# sourceMappingURL=index.js.map