@neuctra/ui 0.1.0
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/components/avatar/Avatar.d.ts +9 -0
- package/dist/components/avatar/AvatarGroup.d.ts +9 -0
- package/dist/components/avatar/AvatarWithStatus.d.ts +10 -0
- package/dist/components/basic/Accordation.d.ts +35 -0
- package/dist/components/basic/Alert.d.ts +18 -0
- package/dist/components/basic/AudioPlayer.d.ts +16 -0
- package/dist/components/basic/Badge.d.ts +26 -0
- package/dist/components/basic/Button.d.ts +28 -0
- package/dist/components/basic/CheckRadioInput.d.ts +20 -0
- package/dist/components/basic/Container.d.ts +32 -0
- package/dist/components/basic/Drawer.d.ts +24 -0
- package/dist/components/basic/DropDown.d.ts +37 -0
- package/dist/components/basic/Flexbox.d.ts +21 -0
- package/dist/components/basic/GridView.d.ts +24 -0
- package/dist/components/basic/Image.d.ts +33 -0
- package/dist/components/basic/Input.d.ts +38 -0
- package/dist/components/basic/List.d.ts +26 -0
- package/dist/components/basic/Table.d.ts +25 -0
- package/dist/components/basic/Tabs.d.ts +34 -0
- package/dist/components/basic/Text.d.ts +39 -0
- package/dist/components/basic/VideoPlayer.d.ts +17 -0
- package/dist/components/button/ToggleButton.d.ts +15 -0
- package/dist/components/card/Card.d.ts +26 -0
- package/dist/components/card/ImageCard.d.ts +14 -0
- package/dist/components/card/InteractiveCard.d.ts +7 -0
- package/dist/components/gallery/AudioGallery.d.ts +21 -0
- package/dist/components/gallery/ImageGallery.d.ts +14 -0
- package/dist/components/gallery/VideoGallery.d.ts +18 -0
- package/dist/components/modal/FullScreenModal.d.ts +9 -0
- package/dist/components/modal/Modal.d.ts +11 -0
- package/dist/components/modal/ModalBody.d.ts +6 -0
- package/dist/components/modal/ModalFooter.d.ts +6 -0
- package/dist/components/modal/ModalHeader.d.ts +7 -0
- package/dist/components/table/CustomTable.d.ts +7 -0
- package/dist/components/table/SortableTableHeader.d.ts +7 -0
- package/dist/components/table/TableBody.d.ts +7 -0
- package/dist/components/table/TableColumn.d.ts +7 -0
- package/dist/components/table/TableHead.d.ts +7 -0
- package/dist/components/table/TableHeader.d.ts +7 -0
- package/dist/components/table/TableRow.d.ts +7 -0
- package/dist/components/tabs/CustomTabs.d.ts +8 -0
- package/dist/components/tabs/Tab.d.ts +10 -0
- package/dist/components/tabs/TabList.d.ts +7 -0
- package/dist/components/tabs/TabPanel.d.ts +7 -0
- package/dist/components/tabs/TabPanels.d.ts +8 -0
- package/dist/components/video/CustomVideoPlayer.d.ts +11 -0
- package/dist/components/video/EmbedVideo.d.ts +6 -0
- package/dist/components/video/PiPVideo.d.ts +4 -0
- package/dist/index.cjs.js +159 -0
- package/dist/index.d.ts +21 -0
- package/dist/index.es.js +2824 -0
- package/dist/types/components/avatar/Avatar.d.ts +9 -0
- package/dist/types/components/avatar/AvatarGroup.d.ts +9 -0
- package/dist/types/components/avatar/AvatarWithStatus.d.ts +10 -0
- package/dist/types/components/basic/Accordation.d.ts +35 -0
- package/dist/types/components/basic/Alert.d.ts +18 -0
- package/dist/types/components/basic/AudioPlayer.d.ts +16 -0
- package/dist/types/components/basic/Badge.d.ts +26 -0
- package/dist/types/components/basic/Button.d.ts +28 -0
- package/dist/types/components/basic/CheckRadioInput.d.ts +20 -0
- package/dist/types/components/basic/Container.d.ts +32 -0
- package/dist/types/components/basic/Drawer.d.ts +24 -0
- package/dist/types/components/basic/DropDown.d.ts +37 -0
- package/dist/types/components/basic/Flexbox.d.ts +21 -0
- package/dist/types/components/basic/GridView.d.ts +24 -0
- package/dist/types/components/basic/Image.d.ts +33 -0
- package/dist/types/components/basic/Input.d.ts +38 -0
- package/dist/types/components/basic/List.d.ts +26 -0
- package/dist/types/components/basic/Table.d.ts +25 -0
- package/dist/types/components/basic/Tabs.d.ts +34 -0
- package/dist/types/components/basic/Text.d.ts +39 -0
- package/dist/types/components/basic/VideoPlayer.d.ts +17 -0
- package/dist/types/components/button/ToggleButton.d.ts +15 -0
- package/dist/types/components/card/Card.d.ts +26 -0
- package/dist/types/components/card/ImageCard.d.ts +14 -0
- package/dist/types/components/card/InteractiveCard.d.ts +7 -0
- package/dist/types/components/gallery/AudioGallery.d.ts +21 -0
- package/dist/types/components/gallery/ImageGallery.d.ts +14 -0
- package/dist/types/components/gallery/VideoGallery.d.ts +18 -0
- package/dist/types/components/modal/FullScreenModal.d.ts +9 -0
- package/dist/types/components/modal/Modal.d.ts +11 -0
- package/dist/types/components/modal/ModalBody.d.ts +6 -0
- package/dist/types/components/modal/ModalFooter.d.ts +6 -0
- package/dist/types/components/modal/ModalHeader.d.ts +7 -0
- package/dist/types/components/table/CustomTable.d.ts +7 -0
- package/dist/types/components/table/SortableTableHeader.d.ts +7 -0
- package/dist/types/components/table/TableBody.d.ts +7 -0
- package/dist/types/components/table/TableColumn.d.ts +7 -0
- package/dist/types/components/table/TableHead.d.ts +7 -0
- package/dist/types/components/table/TableHeader.d.ts +7 -0
- package/dist/types/components/table/TableRow.d.ts +7 -0
- package/dist/types/components/tabs/CustomTabs.d.ts +8 -0
- package/dist/types/components/tabs/Tab.d.ts +10 -0
- package/dist/types/components/tabs/TabList.d.ts +7 -0
- package/dist/types/components/tabs/TabPanel.d.ts +7 -0
- package/dist/types/components/tabs/TabPanels.d.ts +8 -0
- package/dist/types/components/video/CustomVideoPlayer.d.ts +11 -0
- package/dist/types/components/video/EmbedVideo.d.ts +6 -0
- package/dist/types/components/video/PiPVideo.d.ts +4 -0
- package/dist/types/index.d.ts +22 -0
- package/dist/ui.css +1 -0
- package/package.json +66 -0
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { default as React, ReactNode } from 'react';
|
|
2
|
+
interface ModalProps {
|
|
3
|
+
isOpen: boolean;
|
|
4
|
+
onClose: () => void;
|
|
5
|
+
children: ReactNode;
|
|
6
|
+
overlayClass?: string;
|
|
7
|
+
modalClass?: string;
|
|
8
|
+
closeButtonClass?: string;
|
|
9
|
+
}
|
|
10
|
+
export declare const Modal: React.FC<ModalProps>;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
interface CustomVideoPlayerProps {
|
|
3
|
+
src: string;
|
|
4
|
+
width?: string;
|
|
5
|
+
height?: string;
|
|
6
|
+
borderRadius?: string;
|
|
7
|
+
shadow?: boolean;
|
|
8
|
+
controlsColor?: string;
|
|
9
|
+
}
|
|
10
|
+
export declare const CustomVideoPlayer: React.FC<CustomVideoPlayerProps>;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("react");var Z={exports:{}},G={};/**
|
|
2
|
+
* @license React
|
|
3
|
+
* react-jsx-runtime.production.js
|
|
4
|
+
*
|
|
5
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
6
|
+
*
|
|
7
|
+
* This source code is licensed under the MIT license found in the
|
|
8
|
+
* LICENSE file in the root directory of this source tree.
|
|
9
|
+
*/var ee;function ge(){if(ee)return G;ee=1;var t=Symbol.for("react.transitional.element"),n=Symbol.for("react.fragment");function a(o,l,s){var i=null;if(s!==void 0&&(i=""+s),l.key!==void 0&&(i=""+l.key),"key"in l){s={};for(var p in l)p!=="key"&&(s[p]=l[p])}else s=l;return l=s.ref,{$$typeof:t,type:o,key:i,ref:l!==void 0?l:null,props:s}}return G.Fragment=n,G.jsx=a,G.jsxs=a,G}var J={};/**
|
|
10
|
+
* @license React
|
|
11
|
+
* react-jsx-runtime.development.js
|
|
12
|
+
*
|
|
13
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
14
|
+
*
|
|
15
|
+
* This source code is licensed under the MIT license found in the
|
|
16
|
+
* LICENSE file in the root directory of this source tree.
|
|
17
|
+
*/var te;function be(){return te||(te=1,process.env.NODE_ENV!=="production"&&function(){function t(r){if(r==null)return null;if(typeof r=="function")return r.$$typeof===z?null:r.displayName||r.name||null;if(typeof r=="string")return r;switch(r){case u:return"Fragment";case y:return"Profiler";case S:return"StrictMode";case O:return"Suspense";case k:return"SuspenseList";case B:return"Activity"}if(typeof r=="object")switch(typeof r.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),r.$$typeof){case d:return"Portal";case I:return(r.displayName||"Context")+".Provider";case T:return(r._context.displayName||"Context")+".Consumer";case L:var j=r.render;return r=r.displayName,r||(r=j.displayName||j.name||"",r=r!==""?"ForwardRef("+r+")":"ForwardRef"),r;case E:return j=r.displayName||null,j!==null?j:t(r.type)||"Memo";case A:j=r._payload,r=r._init;try{return t(r(j))}catch{}}return null}function n(r){return""+r}function a(r){try{n(r);var j=!1}catch{j=!0}if(j){j=console;var W=j.error,D=typeof Symbol=="function"&&Symbol.toStringTag&&r[Symbol.toStringTag]||r.constructor.name||"Object";return W.call(j,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",D),n(r)}}function o(r){if(r===u)return"<>";if(typeof r=="object"&&r!==null&&r.$$typeof===A)return"<...>";try{var j=t(r);return j?"<"+j+">":"<...>"}catch{return"<...>"}}function l(){var r=_.A;return r===null?null:r.getOwner()}function s(){return Error("react-stack-top-frame")}function i(r){if(M.call(r,"key")){var j=Object.getOwnPropertyDescriptor(r,"key").get;if(j&&j.isReactWarning)return!1}return r.key!==void 0}function p(r,j){function W(){w||(w=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",j))}W.isReactWarning=!0,Object.defineProperty(r,"key",{get:W,configurable:!0})}function m(){var r=t(this.type);return v[r]||(v[r]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),r=this.props.ref,r!==void 0?r:null}function b(r,j,W,D,F,C,P,q){return W=C.ref,r={$$typeof:f,type:r,key:j,props:C,_owner:F},(W!==void 0?W:null)!==null?Object.defineProperty(r,"ref",{enumerable:!1,get:m}):Object.defineProperty(r,"ref",{enumerable:!1,value:null}),r._store={},Object.defineProperty(r._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(r,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(r,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:P}),Object.defineProperty(r,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:q}),Object.freeze&&(Object.freeze(r.props),Object.freeze(r)),r}function g(r,j,W,D,F,C,P,q){var R=j.children;if(R!==void 0)if(D)if(H(R)){for(D=0;D<R.length;D++)c(R[D]);Object.freeze&&Object.freeze(R)}else console.error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else c(R);if(M.call(j,"key")){R=t(r);var X=Object.keys(j).filter(function(me){return me!=="key"});D=0<X.length?"{key: someKey, "+X.join(": ..., ")+": ...}":"{key: someKey}",U[R+D]||(X=0<X.length?"{"+X.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX:
|
|
18
|
+
let props = %s;
|
|
19
|
+
<%s {...props} />
|
|
20
|
+
React keys must be passed directly to JSX without using spread:
|
|
21
|
+
let props = %s;
|
|
22
|
+
<%s key={someKey} {...props} />`,D,R,X,R),U[R+D]=!0)}if(R=null,W!==void 0&&(a(W),R=""+W),i(j)&&(a(j.key),R=""+j.key),"key"in j){W={};for(var Q in j)Q!=="key"&&(W[Q]=j[Q])}else W=j;return R&&p(W,typeof r=="function"?r.displayName||r.name||"Unknown":r),b(r,R,C,F,l(),W,P,q)}function c(r){typeof r=="object"&&r!==null&&r.$$typeof===f&&r._store&&(r._store.validated=1)}var x=h,f=Symbol.for("react.transitional.element"),d=Symbol.for("react.portal"),u=Symbol.for("react.fragment"),S=Symbol.for("react.strict_mode"),y=Symbol.for("react.profiler"),T=Symbol.for("react.consumer"),I=Symbol.for("react.context"),L=Symbol.for("react.forward_ref"),O=Symbol.for("react.suspense"),k=Symbol.for("react.suspense_list"),E=Symbol.for("react.memo"),A=Symbol.for("react.lazy"),B=Symbol.for("react.activity"),z=Symbol.for("react.client.reference"),_=x.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,M=Object.prototype.hasOwnProperty,H=Array.isArray,Y=console.createTask?console.createTask:function(){return null};x={react_stack_bottom_frame:function(r){return r()}};var w,v={},N=x.react_stack_bottom_frame.bind(x,s)(),$=Y(o(s)),U={};J.Fragment=u,J.jsx=function(r,j,W,D,F){var C=1e4>_.recentlyCreatedOwnerStacks++;return g(r,j,W,!1,D,F,C?Error("react-stack-top-frame"):N,C?Y(o(r)):$)},J.jsxs=function(r,j,W,D,F){var C=1e4>_.recentlyCreatedOwnerStacks++;return g(r,j,W,!0,D,F,C?Error("react-stack-top-frame"):N,C?Y(o(r)):$)}}()),J}var re;function ye(){return re||(re=1,process.env.NODE_ENV==="production"?Z.exports=ge():Z.exports=be()),Z.exports}var e=ye();const we=({as:t="p",children:n,className:a="",href:o,target:l,rel:s,color:i="#333",bgColor:p,fontSize:m="16px",fontWeight:b="normal",textAlign:g="left",textTransform:c="none",lineHeight:x="normal",letterSpacing:f="normal",maxWidth:d,padding:u,margin:S,borderRadius:y,boxShadow:T,shadowColor:I="rgba(0,0,0,0.1)",wordBreak:L="normal",italic:O=!1,bold:k=!1,underline:E=!1,strikethrough:A=!1,selectable:B=!0,truncate:z=!1,hoverColor:_,hoverBgColor:M,hoverTextDecoration:H,activeColor:Y,activeBgColor:w,transitionDuration:v="0.25s",onClick:N})=>{const $=h.useMemo(()=>{const C=[];return E&&C.push("underline"),A&&C.push("line-through"),C.join(" ")||"none"},[E,A]),U={color:i,backgroundColor:p||"transparent",fontSize:m,fontWeight:k?"bold":b,textAlign:g,textTransform:c,lineHeight:x,letterSpacing:f,maxWidth:d,padding:u,margin:S,borderRadius:y,textDecoration:$,fontStyle:O?"italic":"normal",wordBreak:L,boxShadow:T||(I?`0 1px 4px ${I}`:void 0),cursor:N||o?"pointer":"default",userSelect:B?"text":"none",transition:`all ${v} ease-in-out`,overflow:z?"hidden":void 0,whiteSpace:z?"nowrap":void 0,textOverflow:z?"ellipsis":void 0},F={className:a,style:U,onClick:N,onMouseEnter:C=>{const P=C.currentTarget;_&&(P.style.color=_),M&&(P.style.backgroundColor=M),H&&(P.style.textDecoration=H)},onMouseLeave:C=>{const P=C.currentTarget;P.style.color=i,P.style.backgroundColor=p||"transparent",P.style.textDecoration=$},onMouseDown:C=>{const P=C.currentTarget;Y&&(P.style.color=Y),w&&(P.style.backgroundColor=w)},onMouseUp:C=>{const P=C.currentTarget;P.style.color=_||i,P.style.backgroundColor=M||p||"transparent"}};return t==="a"||o?e.jsx("a",{...F,href:o,target:l,rel:s||(l==="_blank"?"noopener noreferrer":void 0),children:n}):e.jsx(t,{...F,children:n})},je=({src:t,alt:n="Image",width:a="100%",height:o="auto",borderRadius:l="8px",borderColor:s="transparent",borderStyle:i="solid",borderWidth:p="0px",shadow:m=!1,boxShadow:b,opacity:g=1,objectFit:c="cover",overlayText:x,overlayColor:f="rgba(0, 0, 0, 0.5)",svgIcon:d,responsive:u=!1,padding:S,margin:y,lazyLoad:T=!1,hoverOpacity:I,hoverShadow:L=!1,hoverScale:O,hoverRotate:k,transitionDuration:E="0.3s",overflow:A="hidden",className:B,style:z,onClick:_})=>{const M={width:u?"100%":a,height:u?"100%":o,borderRadius:l,border:`${p} ${i} ${s}`,objectFit:c,opacity:g,boxShadow:m?b||"0 4px 12px rgba(0,0,0,0.15)":"none",transition:`all ${E} ease`,display:"block"},H=v=>{v.currentTarget.style.opacity=I!==void 0?I.toString():M.opacity?.toString()||"1",v.currentTarget.style.boxShadow=L?"0 8px 20px rgba(0,0,0,0.3)":M.boxShadow?.toString()||"none",v.currentTarget.style.transform=`scale(${O||1}) rotate(${k||0}deg)`},Y=v=>{v.currentTarget.style.opacity=M.opacity?.toString()||"1",v.currentTarget.style.boxShadow=M.boxShadow?.toString()||"none",v.currentTarget.style.transform="scale(1) rotate(0deg)"},w=(()=>{switch(A){case"x":return{overflowX:"hidden"};case"y":return{overflowY:"hidden"};default:return{overflow:A}}})();return e.jsxs("div",{role:"img","aria-label":n,onClick:_,className:B,style:{width:u?"100%":a,height:u?"auto":o,padding:S,margin:y,position:"relative",cursor:_?"pointer":"default",display:"inline-block",transition:`all ${E} ease`,...w,...z},children:[d?e.jsx("div",{style:{width:"100%",height:"100%",display:"flex",alignItems:"center",justifyContent:"center"},children:d}):e.jsx("img",{src:t,alt:n,loading:T?"lazy":"eager",style:M,onMouseEnter:H,onMouseLeave:Y}),x&&e.jsx("div",{style:{position:"absolute",top:0,left:0,width:"100%",height:"100%",backgroundColor:f,color:"#fff",display:"flex",alignItems:"center",justifyContent:"center",fontWeight:"bold",fontSize:"1.25rem",textAlign:"center",padding:"1rem",boxSizing:"border-box"},children:x})]})},ve=({children:t,type:n="button",onClick:a,iconBefore:o,iconAfter:l,className:s="",style:i,fullWidth:p=!1,disabled:m=!1,loading:b=!1,loadingText:g="Loading...",paddingHorizontal:c=10,paddingVertical:x=8,fontSize:f="1rem",fontWeight:d=400,borderRadius:u=12,backgroundColor:S="rgba(0, 255, 0, 0.15)",textColor:y="green",borderColor:T="transparent",hoverBgColor:I="#2563EB",hoverTextColor:L="#2563EB",hoverBorderColor:O,boxShadow:k="0 1px 2px rgba(0, 0, 0, 0.05)"})=>{const[E,A]=h.useState(!1),B=E&&!m&&L||y,z=E&&!m&&O||T,_=E&&!m?I:S,M={display:"inline-flex",alignItems:"center",justifyContent:"center",padding:`${x}px ${c}px`,fontSize:f,fontWeight:d,borderRadius:`${u}px`,width:p?"100%":"auto",color:B,border:`1px solid ${z}`,backgroundColor:_,boxShadow:k,cursor:m?"not-allowed":"pointer",opacity:m?.6:1,transition:"all 0.2s ease-in-out",gap:"8px",...i};return e.jsxs("button",{type:n,className:s,style:M,onClick:!m&&!b?a:void 0,disabled:m,onMouseEnter:()=>A(!0),onMouseLeave:()=>A(!1),children:[b?e.jsxs(e.Fragment,{children:[e.jsx("span",{style:{width:"18px",height:"18px",border:"2px solid currentColor",borderTopColor:"transparent",borderRadius:"50%",animation:"spin 1s linear infinite"}}),e.jsx("span",{children:g})]}):e.jsxs(e.Fragment,{children:[o&&e.jsx("span",{children:o}),e.jsx("span",{children:t}),l&&e.jsx("span",{children:l})]}),e.jsx("style",{children:`
|
|
23
|
+
@keyframes spin {
|
|
24
|
+
to { transform: rotate(360deg); }
|
|
25
|
+
}
|
|
26
|
+
`})]})};/**
|
|
27
|
+
* @license lucide-react v0.536.0 - ISC
|
|
28
|
+
*
|
|
29
|
+
* This source code is licensed under the ISC license.
|
|
30
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
31
|
+
*/const ke=t=>t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),Se=t=>t.replace(/^([A-Z])|[\s-_]+(\w)/g,(n,a,o)=>o?o.toUpperCase():a.toLowerCase()),ne=t=>{const n=Se(t);return n.charAt(0).toUpperCase()+n.slice(1)},se=(...t)=>t.filter((n,a,o)=>!!n&&n.trim()!==""&&o.indexOf(n)===a).join(" ").trim(),Te=t=>{for(const n in t)if(n.startsWith("aria-")||n==="role"||n==="title")return!0};/**
|
|
32
|
+
* @license lucide-react v0.536.0 - ISC
|
|
33
|
+
*
|
|
34
|
+
* This source code is licensed under the ISC license.
|
|
35
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
36
|
+
*/var Ee={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};/**
|
|
37
|
+
* @license lucide-react v0.536.0 - ISC
|
|
38
|
+
*
|
|
39
|
+
* This source code is licensed under the ISC license.
|
|
40
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
41
|
+
*/const ze=h.forwardRef(({color:t="currentColor",size:n=24,strokeWidth:a=2,absoluteStrokeWidth:o,className:l="",children:s,iconNode:i,...p},m)=>h.createElement("svg",{ref:m,...Ee,width:n,height:n,stroke:t,strokeWidth:o?Number(a)*24/Number(n):a,className:se("lucide",l),...!s&&!Te(p)&&{"aria-hidden":"true"},...p},[...i.map(([b,g])=>h.createElement(b,g)),...Array.isArray(s)?s:[s]]));/**
|
|
42
|
+
* @license lucide-react v0.536.0 - ISC
|
|
43
|
+
*
|
|
44
|
+
* This source code is licensed under the ISC license.
|
|
45
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
46
|
+
*/const V=(t,n)=>{const a=h.forwardRef(({className:o,...l},s)=>h.createElement(ze,{ref:s,iconNode:n,className:se(`lucide-${ke(ne(t))}`,`lucide-${t}`,o),...l}));return a.displayName=ne(t),a};/**
|
|
47
|
+
* @license lucide-react v0.536.0 - ISC
|
|
48
|
+
*
|
|
49
|
+
* This source code is licensed under the ISC license.
|
|
50
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
51
|
+
*/const $e=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]],Ce=V("circle-alert",$e);/**
|
|
52
|
+
* @license lucide-react v0.536.0 - ISC
|
|
53
|
+
*
|
|
54
|
+
* This source code is licensed under the ISC license.
|
|
55
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
56
|
+
*/const Re=[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]],_e=V("circle-check-big",Re);/**
|
|
57
|
+
* @license lucide-react v0.536.0 - ISC
|
|
58
|
+
*
|
|
59
|
+
* This source code is licensed under the ISC license.
|
|
60
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
61
|
+
*/const Me=[["path",{d:"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",key:"ct8e1f"}],["path",{d:"M14.084 14.158a3 3 0 0 1-4.242-4.242",key:"151rxh"}],["path",{d:"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",key:"13bj9a"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]],Ae=V("eye-off",Me);/**
|
|
62
|
+
* @license lucide-react v0.536.0 - ISC
|
|
63
|
+
*
|
|
64
|
+
* This source code is licensed under the ISC license.
|
|
65
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
66
|
+
*/const Ne=[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],Ie=V("eye",Ne);/**
|
|
67
|
+
* @license lucide-react v0.536.0 - ISC
|
|
68
|
+
*
|
|
69
|
+
* This source code is licensed under the ISC license.
|
|
70
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
71
|
+
*/const Le=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]],Pe=V("info",Le);/**
|
|
72
|
+
* @license lucide-react v0.536.0 - ISC
|
|
73
|
+
*
|
|
74
|
+
* This source code is licensed under the ISC license.
|
|
75
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
76
|
+
*/const Oe=[["path",{d:"M8 3H5a2 2 0 0 0-2 2v3",key:"1dcmit"}],["path",{d:"M21 8V5a2 2 0 0 0-2-2h-3",key:"1e4gt3"}],["path",{d:"M3 16v3a2 2 0 0 0 2 2h3",key:"wsl5sc"}],["path",{d:"M16 21h3a2 2 0 0 0 2-2v-3",key:"18trek"}]],oe=V("maximize",Oe);/**
|
|
77
|
+
* @license lucide-react v0.536.0 - ISC
|
|
78
|
+
*
|
|
79
|
+
* This source code is licensed under the ISC license.
|
|
80
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
81
|
+
*/const We=[["path",{d:"M8 3v3a2 2 0 0 1-2 2H3",key:"hohbtr"}],["path",{d:"M21 8h-3a2 2 0 0 1-2-2V3",key:"5jw1f3"}],["path",{d:"M3 16h3a2 2 0 0 1 2 2v3",key:"198tvr"}],["path",{d:"M16 21v-3a2 2 0 0 1 2-2h3",key:"ph8mxp"}]],ae=V("minimize",We);/**
|
|
82
|
+
* @license lucide-react v0.536.0 - ISC
|
|
83
|
+
*
|
|
84
|
+
* This source code is licensed under the ISC license.
|
|
85
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
86
|
+
*/const Fe=[["rect",{x:"14",y:"3",width:"5",height:"18",rx:"1",key:"kaeet6"}],["rect",{x:"5",y:"3",width:"5",height:"18",rx:"1",key:"1wsw3u"}]],le=V("pause",Fe);/**
|
|
87
|
+
* @license lucide-react v0.536.0 - ISC
|
|
88
|
+
*
|
|
89
|
+
* This source code is licensed under the ISC license.
|
|
90
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
91
|
+
*/const Be=[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]],ie=V("play",Be);/**
|
|
92
|
+
* @license lucide-react v0.536.0 - ISC
|
|
93
|
+
*
|
|
94
|
+
* This source code is licensed under the ISC license.
|
|
95
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
96
|
+
*/const Ye=[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]],ce=V("rotate-ccw",Ye);/**
|
|
97
|
+
* @license lucide-react v0.536.0 - ISC
|
|
98
|
+
*
|
|
99
|
+
* This source code is licensed under the ISC license.
|
|
100
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
101
|
+
*/const De=[["path",{d:"M17.971 4.285A2 2 0 0 1 21 6v12a2 2 0 0 1-3.029 1.715l-9.997-5.998a2 2 0 0 1-.003-3.432z",key:"15892j"}],["path",{d:"M3 20V4",key:"1ptbpl"}]],de=V("skip-back",De);/**
|
|
102
|
+
* @license lucide-react v0.536.0 - ISC
|
|
103
|
+
*
|
|
104
|
+
* This source code is licensed under the ISC license.
|
|
105
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
106
|
+
*/const He=[["path",{d:"M21 4v16",key:"7j8fe9"}],["path",{d:"M6.029 4.285A2 2 0 0 0 3 6v12a2 2 0 0 0 3.029 1.715l9.997-5.998a2 2 0 0 0 .003-3.432z",key:"zs4d6"}]],ue=V("skip-forward",He);/**
|
|
107
|
+
* @license lucide-react v0.536.0 - ISC
|
|
108
|
+
*
|
|
109
|
+
* This source code is licensed under the ISC license.
|
|
110
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
111
|
+
*/const Ue=[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]],Ve=V("triangle-alert",Ue);/**
|
|
112
|
+
* @license lucide-react v0.536.0 - ISC
|
|
113
|
+
*
|
|
114
|
+
* This source code is licensed under the ISC license.
|
|
115
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
116
|
+
*/const qe=[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}],["path",{d:"M16 9a5 5 0 0 1 0 6",key:"1q6k2b"}],["path",{d:"M19.364 18.364a9 9 0 0 0 0-12.728",key:"ijwkga"}]],pe=V("volume-2",qe);/**
|
|
117
|
+
* @license lucide-react v0.536.0 - ISC
|
|
118
|
+
*
|
|
119
|
+
* This source code is licensed under the ISC license.
|
|
120
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
121
|
+
*/const Xe=[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}],["line",{x1:"22",x2:"16",y1:"9",y2:"15",key:"1ewh16"}],["line",{x1:"16",x2:"22",y1:"9",y2:"15",key:"5ykzw1"}]],xe=V("volume-x",Xe);/**
|
|
122
|
+
* @license lucide-react v0.536.0 - ISC
|
|
123
|
+
*
|
|
124
|
+
* This source code is licensed under the ISC license.
|
|
125
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
126
|
+
*/const Ge=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],fe=V("x",Ge),Je=h.forwardRef(({type:t="text",placeholder:n="",label:a,value:o,defaultValue:l,onChange:s,name:i="",disabled:p=!1,readOnly:m=!1,required:b=!1,error:g,success:c=!1,autoFocus:x=!1,iconLeft:f,iconRight:d,borderColor:u="#ccc",focusBorderColor:S="#2563eb",hoverBorderColor:y="#4b5563",backgroundColor:T="#ffffff",textColor:I="#111827",errorColor:L="#dc2626",successColor:O="#16a34a",labelColor:k="#374151",size:E="md",radius:A="6px",fontSize:B="14px",rows:z=4,cols:_,maxLength:M,resize:H=!0,showCharacterCount:Y=!0,className:w,style:v},N)=>{const $=h.useRef(null),[U,r]=h.useState(l||""),[j,W]=h.useState(!1);h.useImperativeHandle(N,()=>$.current);const D=R=>{M&&R.target.value.length>M||(r(R.target.value),s&&s(i,R.target.value))},F=()=>{switch(E){case"sm":return"6px 12px";case"lg":return"12px 20px";default:return"10px 16px"}},C=()=>{switch(E){case"sm":return"13px";case"lg":return"16px";default:return B}},P=g?L:c?O:u,q={width:"100%",padding:F(),paddingLeft:f?"40px":F().split(" ")[1],paddingRight:d||t==="password"?"40px":F().split(" ")[1],border:`1px solid ${P}`,borderRadius:A,backgroundColor:T,color:I,fontSize:C(),outline:"none",resize:t==="textarea"&&!H?"none":void 0,...v};return e.jsxs("div",{style:{width:"100%",fontFamily:"sans-serif"},className:w,children:[a&&e.jsxs("label",{htmlFor:i,style:{display:"block",marginBottom:"6px",fontSize:"14px",fontWeight:500,color:k},children:[a," ",b&&e.jsx("span",{style:{color:L},children:"*"})]}),e.jsxs("div",{style:{position:"relative",width:"100%"},children:[f&&e.jsx("span",{style:{position:"absolute",left:"12px",top:"50%",transform:"translateY(-50%)",pointerEvents:"none",color:"#6b7280"},children:f}),t==="textarea"?e.jsx("textarea",{ref:$,name:i,value:o??U,onChange:D,placeholder:n,rows:z,cols:_,maxLength:M,disabled:p,readOnly:m,autoFocus:x,style:q,onFocus:R=>{R.currentTarget.style.borderColor=S},onBlur:R=>{R.currentTarget.style.borderColor=P},onMouseEnter:R=>{R.currentTarget.style.borderColor=y},onMouseLeave:R=>{R.currentTarget.style.borderColor=P}}):e.jsx("input",{ref:$,id:i,name:i,type:t==="password"?j?"text":"password":t,value:o??U,onChange:D,placeholder:n,disabled:p,readOnly:m,autoFocus:x,style:q,onFocus:R=>{R.currentTarget.style.borderColor=S},onBlur:R=>{R.currentTarget.style.borderColor=P},onMouseEnter:R=>{R.currentTarget.style.borderColor=y},onMouseLeave:R=>{R.currentTarget.style.borderColor=P}}),t==="password"&&e.jsx("button",{type:"button",onClick:()=>W(!j),style:{position:"absolute",right:"10px",top:"50%",transform:"translateY(-50%)",background:"transparent",border:"none",color:"#6b7280",cursor:"pointer",padding:0},children:j?e.jsx(Ae,{size:18}):e.jsx(Ie,{size:18})}),d&&t!=="password"&&e.jsx("span",{style:{position:"absolute",right:"12px",top:"50%",transform:"translateY(-50%)",pointerEvents:"none",color:"#6b7280"},children:d})]}),t==="textarea"&&Y&&M&&e.jsxs("div",{style:{textAlign:"right",fontSize:"12px",color:"#6b7280",marginTop:"4px"},children:[(o??U).length,"/",M]}),g&&e.jsx("p",{style:{color:L,fontSize:"12px",marginTop:"4px",lineHeight:"1.3"},children:g})]})}),Ze=({title:t,titleIcon:n,items:a,type:o="unordered",bulletColor:l="#2563eb",textColor:s="#111827",backgroundColor:i="#fff",borderColor:p="#e5e7eb",fontSize:m="15px",fontWeight:b=500,borderRadius:g="12px",padding:c="16px",spacing:x="12px",className:f,style:d})=>{const u=o==="ordered",S=o==="inline",y={backgroundColor:i,borderColor:p,color:s,borderWidth:p?"1px":"0px",borderStyle:"solid",borderRadius:g,padding:c,...d},T=S?{display:"flex",gap:x,paddingLeft:0,listStyleType:"none",margin:0}:{listStyleType:u?"decimal":"none",paddingLeft:u?"20px":"0",margin:0},I=u?"ol":"ul";return e.jsxs("div",{className:f,style:y,children:[t&&e.jsxs("div",{style:{display:"flex",alignItems:"center",fontSize:"17px",fontWeight:600,marginBottom:"10px",gap:"8px"},children:[n&&e.jsx("span",{style:{fontSize:"18px"},children:n}),e.jsx("span",{children:t})]}),e.jsx(I,{style:T,children:a.map((L,O)=>e.jsx(he,{...L,bulletColor:l,textColor:s,fontSize:m,fontWeight:b,spacing:x,isInline:S},O))})]})},he=({text:t,icon:n,onClick:a,subItems:o,bulletColor:l,textColor:s,fontSize:i,fontWeight:p,spacing:m,isInline:b})=>{const g={display:"flex",flexDirection:"column",gap:"6px",marginBottom:b?"0":m},c={display:"flex",alignItems:"center",gap:"8px",fontSize:i,fontWeight:p,color:s,cursor:a?"pointer":"default"},x={width:"8px",height:"8px",backgroundColor:l,borderRadius:"50%",flexShrink:0},f={listStyleType:"disc",paddingLeft:"20px",margin:0};return e.jsxs("li",{style:g,children:[e.jsxs("div",{style:c,onClick:a,children:[n?e.jsx("span",{style:{fontSize:"16px",color:s},children:n}):!b&&e.jsx("span",{style:x}),e.jsx("span",{children:t})]}),o&&o.length>0&&e.jsx("ul",{style:f,children:o.map((d,u)=>e.jsx(he,{...d,bulletColor:l,textColor:s,fontSize:i,fontWeight:p,spacing:m,isInline:!1},u))})]})},K=({tabs:t,defaultActive:n=0,tabPosition:a,activeTabClassName:o="",inactiveTabClassName:l="",tabContainerClassName:s="",contentContainerClassName:i="",className:p="",activeTabStyle:m,inactiveTabStyle:b,tabContainerStyle:g,contentContainerStyle:c,style:x,tabsWidth:f="240px",tabGap:d=8,tabPadding:u="12px 16px",tabBorderRadius:S=12,primaryColor:y="#2563eb",textColor:T="#374151",backgroundColor:I="#ffffff",hoverTextColor:L="#1e40af",responsiveBreakpoint:O=768,showDrawerLabel:k="Select Tab"})=>{const[E,A]=h.useState(n),[B,z]=h.useState(null),[_,M]=h.useState(!1),[H,Y]=h.useState(!1);h.useEffect(()=>{const F=()=>{M(window.innerWidth<=O)};return F(),window.addEventListener("resize",F),()=>window.removeEventListener("resize",F)},[O]);const w=a==="left"||a==="right",N={display:"flex",flexDirection:w?_?"column":a==="left"?"row":"row-reverse":"column",width:"100%",height:"100%",backgroundColor:I,...w&&!_?{}:{flexWrap:"wrap"},...x},$={width:w&&!_?f:"100%",display:"flex",flexDirection:w&&!_?"column":"row",justifyContent:!w&&a==="top"?"center":void 0,gap:d,padding:8,boxSizing:"border-box",...g},U={flexGrow:1,padding:24,background:"#f9fafb",boxSizing:"border-box",minWidth:0,...w&&!_?{width:"calc(100% - "+f+")"}:{width:"100%"},...c},r={cursor:"pointer",display:"flex",alignItems:"center",gap:8,padding:u,borderRadius:S,border:"none",backgroundColor:"transparent",fontWeight:500,transition:"all 0.2s ease",width:w&&!_?"100%":"auto",marginBottom:w&&!_?d:0,marginRight:!w||_?d:0,justifyContent:"flex-start"},j={backgroundColor:y,color:"#fff",fontWeight:700,boxShadow:`0 2px 10px ${y}55`,...m},W={backgroundColor:"transparent",color:T,...b},D={backgroundColor:`${y}22`,color:L};return e.jsxs("div",{className:p,style:N,children:[e.jsx("style",{children:`
|
|
127
|
+
@media (max-width: ${O}px) {
|
|
128
|
+
.custom-tab-drawer-button {
|
|
129
|
+
width: 100%;
|
|
130
|
+
display: flex;
|
|
131
|
+
justify-content: space-between;
|
|
132
|
+
align-items: center;
|
|
133
|
+
font-size: 16px;
|
|
134
|
+
}
|
|
135
|
+
.custom-tab-mobile-drawer {
|
|
136
|
+
display: flex;
|
|
137
|
+
flex-direction: column;
|
|
138
|
+
gap: 8px;
|
|
139
|
+
margin-top: 8px;
|
|
140
|
+
width: 100%;
|
|
141
|
+
animation: slideDown 0.3s ease-out;
|
|
142
|
+
}
|
|
143
|
+
@keyframes slideDown {
|
|
144
|
+
from { opacity: 0; transform: translateY(-10px); }
|
|
145
|
+
to { opacity: 1; transform: translateY(0); }
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
`}),_&&w?e.jsxs("div",{style:{width:"100%",marginBottom:12},children:[e.jsxs("button",{onClick:()=>Y(!H),style:{...r,...j,justifyContent:"space-between",width:"100%"},className:"custom-tab-drawer-button",children:[e.jsx("span",{children:k}),e.jsx("span",{style:{fontSize:18},children:"☰"})]}),H&&e.jsx("div",{className:"custom-tab-mobile-drawer",children:t.map((F,C)=>{const P=C===E,q=B===C;return e.jsxs("button",{onClick:()=>{A(C),Y(!1)},onMouseEnter:()=>z(C),onMouseLeave:()=>z(null),className:P?o:l,style:{...r,...P?j:W,...q&&!P?D:{}},children:[F.icon&&e.jsx("span",{children:F.icon}),e.jsx("span",{children:F.label})]},C)})})]}):e.jsx("nav",{className:s,style:$,"aria-label":"Tabs Navigation",children:t.map((F,C)=>{const P=C===E,q=B===C;return e.jsxs("button",{onClick:()=>A(C),onMouseEnter:()=>z(C),onMouseLeave:()=>z(null),className:P?o:l,style:{...r,...P?j:W,...q&&!P?D:{}},children:[F.icon&&e.jsx("span",{children:F.icon}),e.jsx("span",{children:F.label})]},C)})}),e.jsx("section",{className:i,style:U,role:"tabpanel",children:t[E]?.content})]})},Qe=t=>e.jsx(K,{...t,tabPosition:"left"}),Ke=t=>e.jsx(K,{...t,tabPosition:"top"}),et=t=>e.jsx(K,{...t,tabPosition:"right"}),tt=({src:t,poster:n,autoPlay:a=!1,loop:o=!1,controls:l=!1,width:s="100%",height:i="150px",borderRadius:p="12px",backgroundColor:m="#1e1e1e",primaryColor:b="#ff4081",padding:g="16px",className:c})=>{const x=h.useRef(null),f=h.useRef(null),[d,u]=h.useState(a),[S,y]=h.useState(0),[T,I]=h.useState(0),[L,O]=h.useState(.5),[k,E]=h.useState(!1),[A,B]=h.useState(o);h.useEffect(()=>{x.current&&(x.current.volume=L,x.current.loop=A)},[L,A]);const z=()=>{x.current&&(d?x.current.pause():x.current.play(),u(!d))},_=()=>{x.current&&(y(x.current.currentTime),I(x.current.duration))},M=v=>{if(!x.current||!v.currentTarget)return;const N=v.currentTarget.getBoundingClientRect(),U=(v.clientX-N.left)/N.width*T;x.current.currentTime=U,y(U)},H=v=>{x.current&&(x.current.currentTime+=v)},Y=()=>{f.current&&(k?document.exitFullscreen?.():f.current.requestFullscreen?.(),E(!k))},w=v=>{const N=Math.floor(v/60),$=Math.floor(v%60);return`${N}:${$<10?"0":""}${$}`};return e.jsxs("div",{ref:f,className:c,style:{position:"relative",width:s,backgroundColor:m,borderRadius:p,color:"#fff",overflow:"hidden",padding:g,boxSizing:"border-box",maxWidth:"100%",boxShadow:"0 4px 12px rgba(0,0,0,0.3)"},children:[e.jsx("video",{ref:x,src:t,poster:n,autoPlay:a,loop:o,controls:l,onTimeUpdate:_,onLoadedMetadata:_,style:{width:"100%",height:i,borderRadius:p,objectFit:"cover",backgroundColor:"#000"}}),e.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",gap:"10px",marginTop:"10px",flexWrap:"wrap"},children:[e.jsx("button",{onClick:()=>H(-10),"aria-label":"Skip Back 10s",children:e.jsx(de,{size:20})}),e.jsx("button",{onClick:z,style:{background:b,borderRadius:"9999px",padding:"10px",color:"#fff",border:"none",cursor:"pointer"},"aria-label":d?"Pause":"Play",children:d?e.jsx(le,{size:20}):e.jsx(ie,{size:20})}),e.jsx("button",{onClick:()=>H(10),"aria-label":"Skip Forward 10s",children:e.jsx(ue,{size:20})})]}),e.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginTop:"8px",gap:"12px",flexWrap:"wrap"},children:[e.jsxs("div",{style:{flexShrink:0,minWidth:"60px",textAlign:"center"},children:[e.jsx("span",{style:{fontSize:"14px"},children:w(S)}),e.jsxs("span",{style:{fontSize:"14px",color:"#aaa"},children:[" ","/ ",w(T)]})]}),e.jsx("div",{onClick:M,style:{flex:1,height:"8px",background:"#444",borderRadius:"4px",cursor:"pointer",position:"relative",minWidth:"100px"},children:e.jsx("div",{style:{width:`${S/T*100||0}%`,height:"100%",background:b,borderRadius:"4px"}})}),e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"10px"},children:[e.jsx("button",{onClick:()=>B(!A),"aria-label":"Toggle Loop",children:e.jsx(ce,{size:18,color:A?b:void 0})}),e.jsx("button",{onClick:()=>O(L>0?0:.5),"aria-label":"Toggle Mute",children:L>0?e.jsx(pe,{size:18}):e.jsx(xe,{size:18})}),e.jsx("button",{onClick:Y,"aria-label":"Toggle Fullscreen",children:k?e.jsx(ae,{size:18}):e.jsx(oe,{size:18})})]})]})]})},rt=({src:t,thumbnail:n,autoPlay:a=!1,loop:o=!1,backgroundColor:l="#000000",primaryColor:s="#10b981",secondaryColor:i="#ffffff",borderRadius:p="12px",padding:m="16px",width:b="100%",className:g})=>{const c=h.useRef(null),x=h.useRef(null),[f,d]=h.useState(a),[u,S]=h.useState(0),[y,T]=h.useState(0),[I,L]=h.useState(.5),[O,k]=h.useState(!1),[E,A]=h.useState(o);h.useEffect(()=>{c.current&&(c.current.volume=I)},[I]),h.useEffect(()=>{c.current&&(c.current.loop=E)},[E]);const B=()=>{c.current&&(f?c.current.pause():c.current.play(),d(!f))},z=()=>{c.current&&(S(c.current.currentTime),T(c.current.duration))},_=w=>{if(!c.current||!w.currentTarget)return;const v=w.currentTarget.getBoundingClientRect(),$=(w.clientX-v.left)/v.width*y;c.current.currentTime=$,S($)},M=w=>{c.current&&(c.current.currentTime+=w)},H=()=>{x.current&&(O?document.exitFullscreen?.():x.current.requestFullscreen?.(),k(!O))},Y=w=>{const v=Math.floor(w/60),N=Math.floor(w%60);return`${v}:${N<10?"0":""}${N}`};return e.jsxs("div",{ref:x,className:g,style:{position:"relative",width:b,backgroundColor:l,borderRadius:p,color:i,boxShadow:"0 4px 12px rgba(0,0,0,0.3)",overflow:"hidden",padding:m,boxSizing:"border-box",maxWidth:"100%"},children:[e.jsx("audio",{ref:c,src:t,autoPlay:a,loop:o,onTimeUpdate:z,onLoadedMetadata:z}),n&&e.jsx("img",{src:n,alt:"Audio Thumbnail",style:{width:"100%",objectFit:"cover",borderRadius:p,marginBottom:"16px",maxHeight:"150px"}}),e.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",gap:"10px",flexShrink:0,marginTop:"10px"},children:[e.jsx("button",{onClick:()=>M(-10),"aria-label":"Skip Back 10s",children:e.jsx(de,{size:20})}),e.jsx("button",{onClick:B,style:{background:s,borderRadius:"9999px",padding:"10px",color:"#fff",border:"none",cursor:"pointer"},"aria-label":f?"Pause":"Play",children:f?e.jsx(le,{size:20}):e.jsx(ie,{size:20})}),e.jsx("button",{onClick:()=>M(10),"aria-label":"Skip Forward 10s",children:e.jsx(ue,{size:20})})]}),e.jsxs("div",{style:{display:"flex",flexWrap:"wrap",alignItems:"center",justifyContent:"space-between",gap:"12px",width:"100%"},children:[e.jsxs("div",{style:{flexShrink:0,minWidth:"60px",textAlign:"center"},children:[e.jsx("span",{style:{fontSize:"14px",marginRight:"4px"},children:Y(u)}),e.jsxs("span",{style:{fontSize:"14px",color:"#aaa"},children:["/ ",Y(y)]})]}),e.jsx("div",{onClick:_,style:{flex:1,height:"8px",background:"#444",borderRadius:"4px",cursor:"pointer",position:"relative",minWidth:"100px"},children:e.jsx("div",{style:{width:`${u/y*100||0}%`,height:"100%",background:s,borderRadius:"4px"}})}),e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"10px",flexShrink:0},children:[e.jsx("button",{onClick:()=>A(!E),"aria-label":"Toggle Loop",children:e.jsx(ce,{size:18,color:E?s:void 0})}),e.jsx("button",{onClick:()=>L(I>0?0:.5),"aria-label":"Toggle Mute",children:I>0?e.jsx(pe,{size:18}):e.jsx(xe,{size:18})}),e.jsx("button",{onClick:H,"aria-label":"Toggle Fullscreen",children:O?e.jsx(ae,{size:18}):e.jsx(oe,{size:18})})]})]})]})},nt=({display:t={sm:"block",md:"flex",lg:"grid"},flexDirection:n={sm:"column",md:"row",lg:"row"},justifyContent:a={sm:"flex-start",md:"center",lg:"space-between"},alignItems:o={sm:"stretch",md:"center",lg:"center"},gridTemplateColumns:l={sm:"1fr",md:"1fr 1fr",lg:"1fr 1fr 1fr"},gridTemplateRows:s={sm:"auto",md:"auto",lg:"auto"},gap:i={sm:"10px",md:"20px",lg:"30px"},rowGap:p={sm:"10px",md:"15px",lg:"20px"},columnGap:m={sm:"10px",md:"15px",lg:"20px"},width:b={sm:"100%",md:"90%",lg:"80%"},maxWidth:g={sm:"100%",md:"800px",lg:"1200px"},height:c={sm:"auto",md:"auto",lg:"auto"},padding:x={sm:"10px",md:"20px",lg:"40px"},margin:f={sm:"0 auto",md:"0 auto",lg:"0 auto"},textAlign:d={sm:"left",md:"center",lg:"center"},backgroundColor:u="#ffffff",border:S={sm:"none",md:"1px solid #ddd",lg:"2px solid #ccc"},borderRadius:y={sm:"0px",md:"8px",lg:"12px"},boxShadow:T={sm:"none",md:"0px 4px 6px rgba(0,0,0,0.1)",lg:"0px 6px 10px rgba(0,0,0,0.15)"},overflow:I={sm:"visible",md:"hidden",lg:"auto"},children:L,className:O=""})=>{const[k,E]=h.useState("lg");h.useEffect(()=>{const B=()=>{const z=window.innerWidth;z<=767?E("sm"):z>=768&&z<=1023?E("md"):E("lg")};return B(),window.addEventListener("resize",B),()=>window.removeEventListener("resize",B)},[]);const A=h.useMemo(()=>({display:t[k],flexDirection:n[k],justifyContent:a[k],alignItems:o[k],gridTemplateColumns:l[k],gridTemplateRows:s[k],gap:i[k],rowGap:p[k],columnGap:m[k],width:b[k],maxWidth:g[k],height:c[k],padding:x[k],margin:f[k],textAlign:d[k],backgroundColor:u,border:S[k],borderRadius:y[k],boxShadow:T[k],overflow:I[k],boxSizing:"border-box"}),[k,t,n,a,o,l,s,i,p,m,b,g,c,x,f,d,u,S,y,T,I]);return e.jsx("div",{className:O,style:A,children:L})},st=({items:t,allowMultiple:n=!1,defaultOpenIndex:a=[],borderColor:o="#d1d5db",backgroundColor:l="#ffffff",textColor:s="#111827",hoverBgColor:i="#f3f4f6",hoverTextColor:p="#111827",paddingVertical:m="16px",paddingHorizontal:b="16px",margin:g="12px 0",iconOpen:c="−",iconClose:x="+",transitionDuration:f="300ms",borderRadius:d="8px",shadow:u="0 2px 8px rgba(0, 0, 0, 0.05)",contentPadding:S="16px",fontSize:y="16px",fontWeight:T="600",iconSize:I="18px",contentFontSize:L="14px",contentFontWeight:O="400",contentBackgroundColor:k="#ffffff",contentTextColor:E="#111827",className:A,style:B})=>{const[z,_]=h.useState(a),M=h.useRef([]),H=h.useRef([]);h.useEffect(()=>{M.current.forEach((w,v)=>{w&&(w.style.maxHeight=z.includes(v)?`${w.scrollHeight}px`:"0px")})},[z]);const Y=w=>{_(v=>n?v.includes(w)?v.filter(N=>N!==w):[...v,w]:v.includes(w)?[]:[w])};return e.jsx("div",{className:A,style:{width:"100%",...B},children:t.map((w,v)=>e.jsxs("div",{style:{border:`1px solid ${o}`,borderRadius:d,margin:g,boxShadow:u,overflow:"hidden",transition:`all ${f} ease`},children:[e.jsxs("button",{ref:N=>{H.current[v]=N},onClick:()=>Y(v),style:{width:"100%",display:"flex",justifyContent:"space-between",alignItems:"center",backgroundColor:l,color:s,padding:`${m} ${b}`,fontWeight:T,fontSize:y,cursor:"pointer",outline:"none",border:"none",transition:`all ${f}`},onMouseEnter:N=>{N.currentTarget.style.backgroundColor=i,N.currentTarget.style.color=p},onMouseLeave:N=>{N.currentTarget.style.backgroundColor=l,N.currentTarget.style.color=s},children:[e.jsx("span",{children:w.title}),e.jsx("span",{style:{fontSize:I},children:z.includes(v)?c:x})]}),e.jsx("div",{ref:N=>{M.current[v]=N},style:{overflow:"hidden",maxHeight:z.includes(v)?`${M.current[v]?.scrollHeight}px`:"0px",transition:`max-height ${f} ease-in-out`},children:e.jsx("div",{style:{borderTop:`1px solid ${o}`,backgroundColor:k,color:E,padding:S,fontSize:L,fontWeight:O},children:w.content})})]},v))})},ot=({type:t,name:n,options:a,selectedValues:o,onChange:l,disabled:s=!1,readOnly:i=!1,required:p=!1,error:m,className:b="",customIcon:g})=>{const c=t==="checkbox",x=f=>{if(l)if(c){const d=Array.isArray(o)?o.includes(f)?o.filter(u=>u!==f):[...o,f]:[f];l(d)}else l(f)};return e.jsxs("div",{className:`w-full ${b}`,children:[a.map(f=>{const d=c?Array.isArray(o)&&o.includes(f.value):o===f.value;return e.jsxs("label",{className:`flex items-center space-x-2 cursor-pointer p-2 ${s?"opacity-50 cursor-not-allowed":""}`,children:[g?g(d):e.jsx("span",{className:`flex justify-center items-center w-5 h-5 border ${d?"bg-blue-500 border-blue-500":"border-gray-400"} rounded-${c?"md":"full"}`,children:d&&e.jsx("span",{className:"w-3 h-3 bg-white rounded-full"})}),e.jsx("input",{type:t,name:n,value:f.value,checked:d,disabled:s||i,required:p,onChange:()=>x(f.value),className:"hidden"}),e.jsx("span",{className:"text-gray-700",children:f.label})]},f.value)}),m&&e.jsx("p",{className:"text-sm text-red-500 mt-1",children:m})]})},at=({label:t="Open Drawer",icon:n,iconPosition:a="left",onClick:o,style:l={}})=>e.jsxs("button",{onClick:o,style:{padding:"10px 16px",backgroundColor:"#2563eb",color:"#fff",border:"none",borderRadius:"6px",cursor:"pointer",display:"inline-flex",alignItems:"center",fontSize:"14px",gap:"8px",...l},children:[n&&a==="left"&&n,t,n&&a==="right"&&n]}),lt=({open:t,onClose:n,position:a="right",width:o="300px",height:l="300px",backgroundColor:s="#fff",transitionDuration:i=300,style:p={},children:m,showCloseButton:b=!0,closeButtonStyle:g={}})=>{const[c,x]=h.useState(t);h.useEffect(()=>{t?x(!0):setTimeout(()=>x(!1),i)},[t,i]);const f=h.useMemo(()=>{if(t)return"translate(0, 0)";switch(a){case"left":return"translateX(-100%)";case"right":return"translateX(100%)";case"top":return"translateY(-100%)";case"bottom":return"translateY(100%)";default:return"translate(0, 0)"}},[t,a]),d={position:"fixed",zIndex:1e3,backgroundColor:s,transition:`transform ${i}ms ease, opacity ${i}ms ease`,transform:f,opacity:t?1:0,...p,...a==="left"||a==="right"?{top:0,[a]:0,width:o,height:"100%"}:{left:0,[a]:0,height:l,width:"100%"}},u={position:"fixed",display:c?"block":"none",top:0,left:0,width:"100%",height:"100%",backgroundColor:"rgba(0, 0, 0, 0.5)",zIndex:999,transition:`opacity ${i}ms ease`,opacity:t?1:0,pointerEvents:t?"auto":"none"},S={position:"absolute",top:"10px",right:"10px",fontSize:"20px",background:"none",border:"none",cursor:"pointer",color:"#000"};return e.jsxs(e.Fragment,{children:[e.jsx("div",{style:u,onClick:n}),e.jsxs("div",{style:{...d,display:"block",visibility:c?"visible":"hidden",pointerEvents:t?"auto":"none"},children:[b&&e.jsx("button",{onClick:n,style:{...S,...g},children:e.jsx(fe,{size:20,color:"rgba(255, 0, 0, 1)"})}),m]})]})},it=({options:t,value:n,defaultValue:a,onChange:o,placeholder:l="Select an option",disabled:s=!1,borderColor:i="#ccc",backgroundColor:p="#fff",textColor:m="#333",hoverColor:b="#f0f0f0",padding:g="12px 16px",margin:c="0 0 1rem 0",dropdownWidth:x="100%",dropdownHeight:f="200px",borderRadius:d="8px",boxShadow:u="0 4px 8px rgba(0,0,0,0.1)",optionPadding:S="10px 12px",optionGap:y="8px",transitionDuration:T="0.25s",className:I="",dropdownStyle:L,dropdownClassName:O="",optionStyle:k,optionClassName:E="",iconPrefix:A,iconSuffix:B})=>{const[z,_]=h.useState(a),[M,H]=h.useState(!1),Y=h.useRef(null);h.useEffect(()=>{const $=U=>{Y.current&&!Y.current.contains(U.target)&&H(!1)};return document.addEventListener("mousedown",$),()=>document.removeEventListener("mousedown",$)},[]);const w=$=>{_($),H(!1),o&&o($)},v=n??z,N=t.find($=>$.value===v);return e.jsxs("div",{ref:Y,className:I,style:{position:"relative",width:x,margin:c,fontFamily:"sans-serif",userSelect:"none"},children:[e.jsxs("button",{onClick:()=>H($=>!$),disabled:s,"aria-haspopup":"listbox","aria-expanded":M,style:{width:"100%",padding:g,backgroundColor:p,color:m,border:`1px solid ${i}`,borderRadius:d,boxShadow:s?"none":u,display:"flex",alignItems:"center",justifyContent:"space-between",cursor:s?"not-allowed":"pointer",opacity:s?.6:1,transition:`all ${T} ease-in-out`},children:[e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:y},children:[A&&e.jsx("span",{children:A}),e.jsx("span",{children:N?.label||l})]}),B||e.jsx("span",{style:{marginLeft:"8px"},children:"▼"})]}),M&&e.jsx("ul",{role:"listbox",className:O,style:{position:"absolute",top:"100%",left:0,zIndex:1e3,width:"100%",maxHeight:f,overflowY:"auto",backgroundColor:p,border:`1px solid ${i}`,borderRadius:d,boxShadow:u,marginTop:"4px",transition:`all ${T} ease`,...L},children:t.map($=>e.jsxs("li",{onClick:()=>w($.value),role:"option",className:E,style:{display:"flex",alignItems:"center",gap:y,padding:S,cursor:"pointer",backgroundColor:z===$.value?b:p,transition:`background ${T}`,...k},onMouseEnter:U=>U.currentTarget.style.backgroundColor=b,onMouseLeave:U=>U.currentTarget.style.backgroundColor=z===$.value?b:p,children:[$.icon&&e.jsx("span",{children:$.icon}),$.label]},$.value))})]})},ct=({columns:t,data:n,className:a="",pagination:o=!0,rowsPerPage:l=5,colors:s={headerBg:"bg-blue-500",headerText:"text-white",rowBg:"bg-white",rowText:"text-black",borderColor:"border-gray-300",hoverBg:"bg-gray-200",paginationBg:"bg-gray-300",paginationText:"text-black"}})=>{const[i,p]=h.useState(null),[m,b]=h.useState("asc"),[g,c]=h.useState(1),x=u=>{i===u?b(m==="asc"?"desc":"asc"):(p(u),b("asc"))},f=[...n].sort((u,S)=>i?m==="asc"?u[i]>S[i]?1:-1:u[i]<S[i]?1:-1:0),d=o?f.slice((g-1)*l,g*l):f;return e.jsxs("div",{className:`overflow-x-auto w-full ${a}`,children:[e.jsxs("table",{className:`w-full border-collapse border ${s.borderColor}`,children:[e.jsx("thead",{children:e.jsx("tr",{className:`${s.headerBg} ${s.headerText} text-left`,children:t.map(({key:u,label:S,sortable:y})=>e.jsx("th",{onClick:()=>y&&x(u),className:`p-3 border ${s.borderColor} ${y?"cursor-pointer hover:opacity-80":""}`,children:e.jsxs("div",{className:"flex items-center gap-2",children:[S," ",y&&(i===u?m==="asc"?e.jsx("svg",{stroke:"currentColor",fill:"currentColor",strokeWidth:"0",viewBox:"0 0 576 512",height:"15px",width:"15px",xmlns:"http://www.w3.org/2000/svg",children:e.jsx("path",{d:"M151.6 42.4C145.5 35.8 137 32 128 32s-17.5 3.8-23.6 10.4l-88 96c-11.9 13-11.1 33.3 2 45.2s33.3 11.1 45.2-2L96 146.3 96 448c0 17.7 14.3 32 32 32s32-14.3 32-32l0-301.7 32.4 35.4c11.9 13 32.2 13.9 45.2 2s13.9-32.2 2-45.2l-88-96zM320 32c-17.7 0-32 14.3-32 32s14.3 32 32 32l32 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-32 0zm0 128c-17.7 0-32 14.3-32 32s14.3 32 32 32l96 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-96 0zm0 128c-17.7 0-32 14.3-32 32s14.3 32 32 32l160 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-160 0zm0 128c-17.7 0-32 14.3-32 32s14.3 32 32 32l224 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-224 0z"})}):e.jsx("svg",{stroke:"currentColor",fill:"currentColor",strokeWidth:"0",viewBox:"0 0 576 512",height:"15px",width:"15px",xmlns:"http://www.w3.org/2000/svg",children:e.jsx("path",{d:"M151.6 42.4C145.5 35.8 137 32 128 32s-17.5 3.8-23.6 10.4l-88 96c-11.9 13-11.1 33.3 2 45.2s33.3 11.1 45.2-2L96 146.3 96 448c0 17.7 14.3 32 32 32s32-14.3 32-32l0-301.7 32.4 35.4c11.9 13 32.2 13.9 45.2 2s13.9-32.2 2-45.2l-88-96zM320 480l32 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-32 0c-17.7 0-32 14.3-32 32s14.3 32 32 32zm0-128l96 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-96 0c-17.7 0-32 14.3-32 32s14.3 32 32 32zm0-128l160 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-160 0c-17.7 0-32 14.3-32 32s14.3 32 32 32zm0-128l224 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L320 32c-17.7 0-32 14.3-32 32s14.3 32 32 32z"})}):e.jsx("svg",{stroke:"currentColor",fill:"currentColor",strokeWidth:"0",viewBox:"0 0 320 512",height:"15px",width:"15px",xmlns:"http://www.w3.org/2000/svg",children:e.jsx("path",{d:"M182.6 9.4c-12.5-12.5-32.8-12.5-45.3 0l-96 96c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L128 109.3l0 293.5L86.6 361.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l96 96c12.5 12.5 32.8 12.5 45.3 0l96-96c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 402.7l0-293.5 41.4 41.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-96-96z"})}))]})},u))})}),e.jsx("tbody",{children:d.map((u,S)=>e.jsx("tr",{className:`${s.rowBg} ${s.rowText} hover:${s.hoverBg}`,children:t.map(({key:y})=>e.jsx("td",{className:`p-3 border ${s.borderColor}`,children:u[y]},y))},S))})]}),o&&e.jsxs("div",{className:"flex justify-between items-center mt-3 p-2",children:[e.jsx("button",{className:`px-3 py-1 ${s.paginationBg} ${s.paginationText} rounded-md disabled:opacity-50`,disabled:g===1,onClick:()=>c(u=>Math.max(u-1,1)),children:"Prev"}),e.jsxs("span",{className:`${s.paginationText}`,children:["Page ",g]}),e.jsx("button",{className:`px-3 py-1 ${s.paginationBg} ${s.paginationText} rounded-md disabled:opacity-50`,disabled:g*l>=n.length,onClick:()=>c(u=>u+1),children:"Next"})]})]})},dt=({columns:t={sm:1,md:2,lg:3},rows:n={sm:"auto",md:"auto",lg:"auto"},gap:a={sm:"10px",md:"20px",lg:"30px"},rowGap:o={sm:"10px",md:"15px",lg:"20px"},columnGap:l={sm:"10px",md:"15px",lg:"20px"},padding:s={sm:"10px",md:"20px",lg:"40px"},alignItems:i={sm:"stretch",md:"center",lg:"center"},justifyItems:p={sm:"stretch",md:"center",lg:"center"},backgroundColor:m="#f4f4f4",width:b={sm:"100%",md:"100%",lg:"100%"},maxWidth:g={sm:"100%",md:"100%",lg:"100%"},height:c={sm:"auto",md:"auto",lg:"auto"},children:x,className:f=""})=>{const[d,u]=h.useState("lg");h.useEffect(()=>{const y=()=>{const T=window.innerWidth;T<=767?u("sm"):T>=768&&T<=1023?u("md"):u("lg")};return y(),window.addEventListener("resize",y),()=>window.removeEventListener("resize",y)},[]);const S=h.useMemo(()=>({display:"grid",gridTemplateColumns:`repeat(${t[d]}, 1fr)`,gridTemplateRows:n[d]!=="auto"?`repeat(${n[d]}, 1fr)`:"auto",gap:a[d],rowGap:o[d],columnGap:l[d],padding:s[d],alignItems:i[d],justifyItems:p[d],backgroundColor:m,width:b[d],maxWidth:g[d],height:c[d]}),[d,t,n,a,o,l,s,i,p,b,g,c,m]);return e.jsx("div",{className:f,style:S,children:x})},ut=({direction:t={sm:"column",md:"row",lg:"row"},align:n={sm:"center",md:"center",lg:"center"},justify:a={sm:"center",md:"space-between",lg:"space-around"},gap:o={sm:"10px",md:"20px",lg:"30px"},padding:l={sm:"10px",md:"20px",lg:"40px"},backgroundColor:s="#f4f4f4",width:i={sm:"100%",md:"100%",lg:"100%"},height:p={sm:"auto",md:"auto",lg:"auto"},maxWidth:m={sm:"100%",md:"100%",lg:"100%"},children:b,className:g=""})=>{const[c,x]=h.useState("lg");h.useEffect(()=>{const d=()=>{const u=window.innerWidth;u<=767?x("sm"):u>=768&&u<=1023?x("md"):x("lg")};return d(),window.addEventListener("resize",d),()=>window.removeEventListener("resize",d)},[]);const f=h.useMemo(()=>({display:"flex",flexDirection:t[c],alignItems:n[c],justifyContent:a[c],gap:o[c],padding:l[c],backgroundColor:s,width:i[c],maxWidth:m[c],height:p[c]}),[c,t,n,a,o,l,i,m,p,s]);return e.jsx("div",{className:g,style:f,children:b})},pt={success:{bg:"#ecfdf5",border:"#34d399",iconColor:"#059669",Icon:e.jsx(_e,{size:20})},error:{bg:"#fef2f2",border:"#f87171",iconColor:"#dc2626",Icon:e.jsx(Ce,{size:20})},warning:{bg:"#fffbeb",border:"#facc15",iconColor:"#d97706",Icon:e.jsx(Ve,{size:20})},info:{bg:"#eff6ff",border:"#3b82f6",iconColor:"#2563eb",Icon:e.jsx(Pe,{size:20})}},xt=t=>{const n={position:"fixed",zIndex:9999};switch(t){case"top-left":return{...n,top:"20px",left:"20px"};case"top-center":return{...n,top:"20px",left:"50%",transform:"translateX(-50%)"};case"top-right":return{...n,top:"20px",right:"20px"};case"bottom-left":return{...n,bottom:"20px",left:"20px"};case"bottom-center":return{...n,bottom:"20px",left:"50%",transform:"translateX(-50%)"};case"bottom-right":default:return{...n,bottom:"20px",right:"20px"}}},ft=({title:t="",description:n="",type:a="info",dismissible:o=!0,onClose:l,duration:s,icon:i,actionButton:p,position:m="top-right",className:b,style:g})=>{const[c,x]=h.useState(!0);if(h.useEffect(()=>{if(s){const T=setTimeout(()=>{x(!1),l?.()},s);return()=>clearTimeout(T)}},[s,l]),!c)return null;const{bg:f,border:d,iconColor:u,Icon:S}=pt[a],y=xt(m);return e.jsxs("div",{className:b,style:{...y,display:"flex",gap:"12px",padding:"16px",backgroundColor:f,borderLeft:`4px solid ${d}`,borderRadius:"8px",color:"#111827",alignItems:"flex-start",boxShadow:"0 4px 12px rgba(0,0,0,0.08)",transition:"all 0.3s ease",animation:"slideIn 0.3s ease",maxWidth:"600px",width:"calc(100% - 40px)",...g},children:[e.jsx("div",{style:{color:u,marginTop:"3px"},children:i||S}),e.jsxs("div",{style:{flex:1},children:[t&&e.jsx("div",{style:{fontWeight:"600",marginBottom:"4px"},children:t}),n&&e.jsx("div",{style:{fontSize:"14px",color:"#374151"},children:n}),p&&e.jsx("div",{style:{marginTop:"10px"},children:p})]}),o&&e.jsx("button",{onClick:()=>{x(!1),l?.()},style:{background:"transparent",border:"none",color:"#6b7280",cursor:"pointer",marginLeft:"8px"},children:e.jsx(fe,{size:16})}),e.jsx("style",{children:`
|
|
149
|
+
@keyframes slideIn {
|
|
150
|
+
from { opacity: 0; transform: translateY(-10px); }
|
|
151
|
+
to { opacity: 1; transform: translateY(0); }
|
|
152
|
+
}
|
|
153
|
+
`})]})},ht=({text:t,color:n="#2563eb",textColor:a="#fff",borderColor:o="#2563eb",icon:l,iconPosition:s="left",rounded:i=!1,borderRadius:p,borderWidth:m="0",fontSize:b="14px",fontWeight:g=500,horizontalPadding:c="10px",verticalPadding:x="6px",margin:f="0",shadow:d="0 1px 4px rgba(0, 0, 0, 0.1)",notificationDot:u=!1,dotColor:S="#ef4444",count:y,pulse:T=!1,style:I,onClick:L})=>{const O={display:"inline-flex",alignItems:"center",justifyContent:"center",backgroundColor:n,border:`${m} solid ${o}`,borderRadius:p||(i?"9999px":"6px"),padding:`${x} ${c}`,fontSize:b,fontWeight:g,margin:f,boxShadow:d,position:"relative",cursor:L?"pointer":"default",...I},k={color:a,display:"inline"},E={display:"flex",alignItems:"center",color:a},A={...E,marginRight:t?"6px":"0px"},B={...E,marginLeft:t?"6px":"0px"},z={position:"absolute",top:"-6px",right:"-6px",backgroundColor:"#ef4444",color:"#fff",borderRadius:"50%",minWidth:"20px",height:"20px",fontSize:"12px",padding:"0 6px",display:"flex",alignItems:"center",justifyContent:"center",lineHeight:1,zIndex:1},_={position:"absolute",top:"-4px",right:"-4px",height:"8px",width:"8px",backgroundColor:S,borderRadius:"50%",zIndex:1,animation:T?"pulseAnim 1.2s infinite":void 0};return e.jsxs("span",{style:O,onClick:L,children:[u&&e.jsx("span",{style:_}),typeof y<"u"&&e.jsx("span",{style:z,children:y}),l&&s==="left"&&e.jsx("span",{style:A,children:l}),t&&e.jsx("span",{style:k,children:t}),l&&s==="right"&&e.jsx("span",{style:B,children:l}),e.jsx("style",{children:`
|
|
154
|
+
@keyframes pulseAnim {
|
|
155
|
+
0% { transform: scale(1); opacity: 1; }
|
|
156
|
+
50% { transform: scale(1.5); opacity: 0.5; }
|
|
157
|
+
100% { transform: scale(1); opacity: 1; }
|
|
158
|
+
}
|
|
159
|
+
`})]})},mt=({src:t,alt:n="User Avatar",size:a="medium",className:o=""})=>{const l={small:"w-8 h-8",medium:"w-12 h-12",large:"w-16 h-16"};return e.jsx("img",{src:t,alt:n,className:`rounded-full object-cover ${l[a]} ${o}`})},gt=({avatars:t,size:n="medium",maxVisible:a=3,className:o=""})=>{const l={small:"w-8 h-8",medium:"w-12 h-12",large:"w-16 h-16"};return e.jsxs("div",{className:"flex -space-x-2",children:[t.slice(0,a).map((s,i)=>e.jsx("img",{src:s,className:`rounded-full border-2 border-white object-cover ${l[n]} ${o}`},i)),t.length>a&&e.jsxs("span",{className:`rounded-full border-2 border-white bg-gray-500 text-white flex items-center justify-center ${l[n]}`,children:["+",t.length-a]})]})},bt=({src:t,alt:n="User Avatar",status:a="online",size:o="medium",className:l=""})=>{const[s,i]=h.useState(!1),p={small:{size:"w-8 h-8",statusSize:"w-2 h-2"},medium:{size:"w-12 h-12",statusSize:"w-3 h-3"},large:{size:"w-16 h-16",statusSize:"w-4 h-4"}},m={online:"bg-green-500",offline:"bg-gray-400",away:"bg-yellow-500",busy:"bg-red-500"};return e.jsxs("div",{className:`relative inline-block ${p[o].size}`,children:[t&&!s?e.jsx("img",{src:t,alt:n,"aria-label":n,className:`rounded-full object-cover ${p[o].size} ${l}`,onError:()=>i(!0)}):e.jsx("svg",{"aria-label":"Placeholder for user avatar",className:`rounded-full bg-gray-300 text-gray-500 dark:bg-gray-600 dark:text-gray-400 ${p[o].size}`,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{fillRule:"evenodd",d:"M12 12a5 5 0 100-10 5 5 0 000 10zm-7 9c0-3 3-5 7-5s7 2 7 5v1H5v-1z",clipRule:"evenodd"})}),e.jsx("span",{className:`z-[1000] w-full h-full absolute bottom-0 right-0 border-2 border-white rounded-full ${m[a]} ${p[o].statusSize}`})]})};exports.Accordion=st;exports.Alert=ft;exports.AudioPlayer=rt;exports.Avatar=mt;exports.AvatarGroup=gt;exports.AvatarWithStatus=bt;exports.Badge=ht;exports.Button=ve;exports.CheckRadio=ot;exports.Container=nt;exports.Drawer=lt;exports.DrawerButton=at;exports.Dropdown=it;exports.Flexbox=ut;exports.GridView=dt;exports.Image=je;exports.Input=Je;exports.LeftTabs=Qe;exports.List=Ze;exports.RightTabs=et;exports.Table=ct;exports.Text=we;exports.TopTabs=Ke;exports.VideoPlayer=tt;
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export { Text } from './components/basic/Text';
|
|
2
|
+
export { Image } from './components/basic/Image';
|
|
3
|
+
export { Button } from './components/basic/Button';
|
|
4
|
+
export { Input } from './components/basic/Input';
|
|
5
|
+
export { List } from './components/basic/List';
|
|
6
|
+
export { LeftTabs, RightTabs, TopTabs } from './components/basic/Tabs';
|
|
7
|
+
export { VideoPlayer } from './components/basic/VideoPlayer';
|
|
8
|
+
export { AudioPlayer } from './components/basic/AudioPlayer';
|
|
9
|
+
export { default as Container } from './components/basic/Container';
|
|
10
|
+
export { Accordion } from './components/basic/Accordation';
|
|
11
|
+
export { CheckRadio } from './components/basic/CheckRadioInput';
|
|
12
|
+
export { Drawer, DrawerButton } from './components/basic/Drawer';
|
|
13
|
+
export { Dropdown } from './components/basic/DropDown';
|
|
14
|
+
export { Table } from './components/basic/Table';
|
|
15
|
+
export { default as GridView } from './components/basic/GridView';
|
|
16
|
+
export { default as Flexbox } from './components/basic/Flexbox';
|
|
17
|
+
export { Alert } from './components/basic/Alert';
|
|
18
|
+
export { Badge } from './components/basic/Badge';
|
|
19
|
+
export { Avatar } from './components/avatar/Avatar';
|
|
20
|
+
export { AvatarGroup } from './components/avatar/AvatarGroup';
|
|
21
|
+
export { AvatarWithStatus } from './components/avatar/AvatarWithStatus';
|