@sachin-tosa/tosa 1.0.7 → 1.0.9

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/tosa.umd.js CHANGED
@@ -1,9 +1,9 @@
1
- (function(m,g){typeof exports=="object"&&typeof module<"u"?g(exports,require("react")):typeof define=="function"&&define.amd?define(["exports","react"],g):(m=typeof globalThis<"u"?globalThis:m||self,g(m.Tosa={},m.React))})(this,(function(m,g){"use strict";var E={exports:{}},k={};var O;function J(){if(O)return k;O=1;var a=Symbol.for("react.transitional.element"),h=Symbol.for("react.fragment");function u(f,s,c){var v=null;if(c!==void 0&&(v=""+c),s.key!==void 0&&(v=""+s.key),"key"in s){c={};for(var w in s)w!=="key"&&(c[w]=s[w])}else c=s;return s=c.ref,{$$typeof:a,type:f,key:v,ref:s!==void 0?s:null,props:c}}return k.Fragment=h,k.jsx=u,k.jsxs=u,k}var S={};var z;function V(){return z||(z=1,process.env.NODE_ENV!=="production"&&(function(){function a(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===ce?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case j:return"Fragment";case te:return"Profiler";case ee:return"StrictMode";case oe:return"Suspense";case ie:return"SuspenseList";case le:return"Activity"}if(typeof e=="object")switch(typeof e.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),e.$$typeof){case K:return"Portal";case ae:return e.displayName||"Context";case re:return(e._context.displayName||"Context")+".Consumer";case ne:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case se:return t=e.displayName||null,t!==null?t:a(e.type)||"Memo";case R:t=e._payload,e=e._init;try{return a(e(t))}catch{}}return null}function h(e){return""+e}function u(e){try{h(e);var t=!1}catch{t=!0}if(t){t=console;var n=t.error,o=typeof Symbol=="function"&&Symbol.toStringTag&&e[Symbol.toStringTag]||e.constructor.name||"Object";return n.call(t,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",o),h(e)}}function f(e){if(e===j)return"<>";if(typeof e=="object"&&e!==null&&e.$$typeof===R)return"<...>";try{var t=a(e);return t?"<"+t+">":"<...>"}catch{return"<...>"}}function s(){var e=N.A;return e===null?null:e.getOwner()}function c(){return Error("react-stack-top-frame")}function v(e){if(D.call(e,"key")){var t=Object.getOwnPropertyDescriptor(e,"key").get;if(t&&t.isReactWarning)return!1}return e.key!==void 0}function w(e,t){function n(){F||(F=!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)",t))}n.isReactWarning=!0,Object.defineProperty(e,"key",{get:n,configurable:!0})}function d(){var e=a(this.type);return W[e]||(W[e]=!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.")),e=this.props.ref,e!==void 0?e:null}function b(e,t,n,o,_,P){var i=n.ref;return e={$$typeof:$,type:e,key:t,props:n,_owner:o},(i!==void 0?i:null)!==null?Object.defineProperty(e,"ref",{enumerable:!1,get:d}):Object.defineProperty(e,"ref",{enumerable:!1,value:null}),e._store={},Object.defineProperty(e._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(e,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(e,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:_}),Object.defineProperty(e,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:P}),Object.freeze&&(Object.freeze(e.props),Object.freeze(e)),e}function L(e,t,n,o,_,P){var i=t.children;if(i!==void 0)if(o)if(de(i)){for(o=0;o<i.length;o++)I(i[o]);Object.freeze&&Object.freeze(i)}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 I(i);if(D.call(t,"key")){i=a(e);var y=Object.keys(t).filter(function(ue){return ue!=="key"});o=0<y.length?"{key: someKey, "+y.join(": ..., ")+": ...}":"{key: someKey}",X[i+o]||(y=0<y.length?"{"+y.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX:
1
+ (function(b,w){typeof exports=="object"&&typeof module<"u"?w(exports,require("react")):typeof define=="function"&&define.amd?define(["exports","react"],w):(b=typeof globalThis<"u"?globalThis:b||self,w(b.Tosa={},b.React))})(this,(function(b,w){"use strict";var E={exports:{}},T={};var D;function X(){if(D)return T;D=1;var a=Symbol.for("react.transitional.element"),h=Symbol.for("react.fragment");function f(p,n,s){var y=null;if(s!==void 0&&(y=""+s),n.key!==void 0&&(y=""+n.key),"key"in n){s={};for(var k in n)k!=="key"&&(s[k]=n[k])}else s=n;return n=s.ref,{$$typeof:a,type:p,key:y,ref:n!==void 0?n:null,props:s}}return T.Fragment=h,T.jsx=f,T.jsxs=f,T}var N={};var L;function J(){return L||(L=1,process.env.NODE_ENV!=="production"&&(function(){function a(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===ue?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case P:return"Fragment";case ae:return"Profiler";case re:return"StrictMode";case se:return"Suspense";case le:return"SuspenseList";case de:return"Activity"}if(typeof e=="object")switch(typeof e.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),e.$$typeof){case te:return"Portal";case oe:return e.displayName||"Context";case ne:return(e._context.displayName||"Context")+".Consumer";case ie:var r=e.render;return e=e.displayName,e||(e=r.displayName||r.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case ce:return r=e.displayName||null,r!==null?r:a(e.type)||"Memo";case A:r=e._payload,e=e._init;try{return a(e(r))}catch{}}return null}function h(e){return""+e}function f(e){try{h(e);var r=!1}catch{r=!0}if(r){r=console;var i=r.error,l=typeof Symbol=="function"&&Symbol.toStringTag&&e[Symbol.toStringTag]||e.constructor.name||"Object";return i.call(r,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",l),h(e)}}function p(e){if(e===P)return"<>";if(typeof e=="object"&&e!==null&&e.$$typeof===A)return"<...>";try{var r=a(e);return r?"<"+r+">":"<...>"}catch{return"<...>"}}function n(){var e=O.A;return e===null?null:e.getOwner()}function s(){return Error("react-stack-top-frame")}function y(e){if(W.call(e,"key")){var r=Object.getOwnPropertyDescriptor(e,"key").get;if(r&&r.isReactWarning)return!1}return e.key!==void 0}function k(e,r){function i(){G||(G=!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)",r))}i.isReactWarning=!0,Object.defineProperty(e,"key",{get:i,configurable:!0})}function u(){var e=a(this.type);return F[e]||(F[e]=!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.")),e=this.props.ref,e!==void 0?e:null}function v(e,r,i,l,z,M){var c=i.ref;return e={$$typeof:_,type:e,key:r,props:i,_owner:l},(c!==void 0?c:null)!==null?Object.defineProperty(e,"ref",{enumerable:!1,get:u}):Object.defineProperty(e,"ref",{enumerable:!1,value:null}),e._store={},Object.defineProperty(e._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(e,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(e,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:z}),Object.defineProperty(e,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:M}),Object.freeze&&(Object.freeze(e.props),Object.freeze(e)),e}function C(e,r,i,l,z,M){var c=r.children;if(c!==void 0)if(l)if(me(c)){for(l=0;l<c.length;l++)R(c[l]);Object.freeze&&Object.freeze(c)}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 R(c);if(W.call(r,"key")){c=a(e);var j=Object.keys(r).filter(function(fe){return fe!=="key"});l=0<j.length?"{key: someKey, "+j.join(": ..., ")+": ...}":"{key: someKey}",q[c+l]||(j=0<j.length?"{"+j.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX:
2
2
  let props = %s;
3
3
  <%s {...props} />
4
4
  React keys must be passed directly to JSX without using spread:
5
5
  let props = %s;
6
- <%s key={someKey} {...props} />`,o,i,y,i),X[i+o]=!0)}if(i=null,n!==void 0&&(u(n),i=""+n),v(t)&&(u(t.key),i=""+t.key),"key"in t){n={};for(var A in t)A!=="key"&&(n[A]=t[A])}else n=t;return i&&w(n,typeof e=="function"?e.displayName||e.name||"Unknown":e),b(e,i,n,s(),_,P)}function I(e){M(e)?e._store&&(e._store.validated=1):typeof e=="object"&&e!==null&&e.$$typeof===R&&(e._payload.status==="fulfilled"?M(e._payload.value)&&e._payload.value._store&&(e._payload.value._store.validated=1):e._store&&(e._store.validated=1))}function M(e){return typeof e=="object"&&e!==null&&e.$$typeof===$}var T=g,$=Symbol.for("react.transitional.element"),K=Symbol.for("react.portal"),j=Symbol.for("react.fragment"),ee=Symbol.for("react.strict_mode"),te=Symbol.for("react.profiler"),re=Symbol.for("react.consumer"),ae=Symbol.for("react.context"),ne=Symbol.for("react.forward_ref"),oe=Symbol.for("react.suspense"),ie=Symbol.for("react.suspense_list"),se=Symbol.for("react.memo"),R=Symbol.for("react.lazy"),le=Symbol.for("react.activity"),ce=Symbol.for("react.client.reference"),N=T.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,D=Object.prototype.hasOwnProperty,de=Array.isArray,C=console.createTask?console.createTask:function(){return null};T={react_stack_bottom_frame:function(e){return e()}};var F,W={},U=T.react_stack_bottom_frame.bind(T,c)(),G=C(f(c)),X={};S.Fragment=j,S.jsx=function(e,t,n){var o=1e4>N.recentlyCreatedOwnerStacks++;return L(e,t,n,!1,o?Error("react-stack-top-frame"):U,o?C(f(e)):G)},S.jsxs=function(e,t,n){var o=1e4>N.recentlyCreatedOwnerStacks++;return L(e,t,n,!0,o?Error("react-stack-top-frame"):U,o?C(f(e)):G)}})()),S}var Y;function q(){return Y||(Y=1,process.env.NODE_ENV==="production"?E.exports=J():E.exports=V()),E.exports}var r=q();const p=(()=>{const a=document.createElement("style");return a.textContent=`
6
+ <%s key={someKey} {...props} />`,l,c,j,c),q[c+l]=!0)}if(c=null,i!==void 0&&(f(i),c=""+i),y(r)&&(f(r.key),c=""+r.key),"key"in r){i={};for(var Y in r)Y!=="key"&&(i[Y]=r[Y])}else i=r;return c&&k(i,typeof e=="function"?e.displayName||e.name||"Unknown":e),v(e,c,i,n(),z,M)}function R(e){d(e)?e._store&&(e._store.validated=1):typeof e=="object"&&e!==null&&e.$$typeof===A&&(e._payload.status==="fulfilled"?d(e._payload.value)&&e._payload.value._store&&(e._payload.value._store.validated=1):e._store&&(e._store.validated=1))}function d(e){return typeof e=="object"&&e!==null&&e.$$typeof===_}var g=w,_=Symbol.for("react.transitional.element"),te=Symbol.for("react.portal"),P=Symbol.for("react.fragment"),re=Symbol.for("react.strict_mode"),ae=Symbol.for("react.profiler"),ne=Symbol.for("react.consumer"),oe=Symbol.for("react.context"),ie=Symbol.for("react.forward_ref"),se=Symbol.for("react.suspense"),le=Symbol.for("react.suspense_list"),ce=Symbol.for("react.memo"),A=Symbol.for("react.lazy"),de=Symbol.for("react.activity"),ue=Symbol.for("react.client.reference"),O=g.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,W=Object.prototype.hasOwnProperty,me=Array.isArray,I=console.createTask?console.createTask:function(){return null};g={react_stack_bottom_frame:function(e){return e()}};var G,F={},B=g.react_stack_bottom_frame.bind(g,s)(),U=I(p(s)),q={};N.Fragment=P,N.jsx=function(e,r,i){var l=1e4>O.recentlyCreatedOwnerStacks++;return C(e,r,i,!1,l?Error("react-stack-top-frame"):B,l?I(p(e)):U)},N.jsxs=function(e,r,i){var l=1e4>O.recentlyCreatedOwnerStacks++;return C(e,r,i,!0,l?Error("react-stack-top-frame"):B,l?I(p(e)):U)}})()),N}var $;function H(){return $||($=1,process.env.NODE_ENV==="production"?E.exports=X():E.exports=J()),E.exports}var t=H();const x=(()=>{const a=document.createElement("style");return a.textContent=`
7
7
  * {
8
8
  margin: 0;
9
9
  padding: 0;
@@ -192,7 +192,7 @@ React keys must be passed directly to JSX without using spread:
192
192
  width: 100%;
193
193
  }
194
194
  }
195
- `,document.head.querySelector("[data-navbar-styles]")||(a.setAttribute("data-navbar-styles",""),document.head.appendChild(a)),{navbar:"navbar",navContainer:"navContainer",logo:"logo",navMenu:"navMenu",navLink:"navLink",hamburger:"hamburger",bar:"bar",active:"active",open:"open"}})();function H({brand:a="TOSA",links:h=["Home","About","Services","Contact"]}){const[u,f]=g.useState(!1);return r.jsx(r.Fragment,{children:r.jsx("nav",{className:p.navbar,children:r.jsxs("div",{className:p.navContainer,children:[r.jsx("div",{className:p.logo,children:a}),r.jsxs("button",{className:`${p.hamburger} ${u?p.active:""}`,onClick:()=>f(!u),"aria-label":"Toggle menu","aria-expanded":u,children:[r.jsx("span",{className:p.bar}),r.jsx("span",{className:p.bar}),r.jsx("span",{className:p.bar})]}),r.jsx("ul",{className:`${p.navMenu} ${u?p.open:""}`,children:h.map((s,c)=>r.jsx("li",{children:r.jsx("a",{href:`#${s.toLowerCase()}`,className:p.navLink,onClick:()=>f(!1),children:s})},c))})]})})})}function B(){return r.jsx("nav",{children:r.jsx("h1",{children:"Hello cards"})})}const x=(()=>{const a=document.createElement("style");return a.textContent=`
195
+ `,document.head.querySelector("[data-navbar-styles]")||(a.setAttribute("data-navbar-styles",""),document.head.appendChild(a)),{navbar:"navbar",navContainer:"navContainer",logo:"logo",navMenu:"navMenu",navLink:"navLink",hamburger:"hamburger",bar:"bar",active:"active",open:"open"}})();function V({brand:a="TOSA",links:h=["Home","About","Services","Contact"]}){const[f,p]=w.useState(!1);return t.jsx(t.Fragment,{children:t.jsx("nav",{className:x.navbar,children:t.jsxs("div",{className:x.navContainer,children:[t.jsx("div",{className:x.logo,children:a}),t.jsxs("button",{className:`${x.hamburger} ${f?x.active:""}`,onClick:()=>p(!f),"aria-label":"Toggle menu","aria-expanded":f,children:[t.jsx("span",{className:x.bar}),t.jsx("span",{className:x.bar}),t.jsx("span",{className:x.bar})]}),t.jsx("ul",{className:`${x.navMenu} ${f?x.open:""}`,children:h.map((n,s)=>t.jsx("li",{children:t.jsx("a",{href:`#${n.toLowerCase()}`,className:x.navLink,onClick:()=>p(!1),children:n})},s))})]})})})}function Z(){return t.jsx("nav",{children:t.jsx("h1",{children:"Hello cards"})})}const S=(()=>{const a=document.createElement("style");return a.textContent=`
196
196
  * {
197
197
  margin: 0;
198
198
  padding: 0;
@@ -398,7 +398,7 @@ React keys must be passed directly to JSX without using spread:
398
398
  font-size: 1rem;
399
399
  }
400
400
  }
401
- `,document.head.querySelector("[data-hero-styles]")||(a.setAttribute("data-hero-styles",""),document.head.appendChild(a)),{heroSection:"heroSection",heroContent:"heroContent",heroTitle:"heroTitle",heroSubtitle:"heroSubtitle",buttonGroup:"buttonGroup",btnPrimary:"btnPrimary",btnSecondary:"btnSecondary"}})();function Z(){return r.jsx("section",{className:x.heroSection,children:r.jsxs("div",{className:x.heroContent,children:[r.jsx("h1",{className:x.heroTitle,children:"Welcome to the Future"}),r.jsx("p",{className:x.heroSubtitle,children:"Discover innovative solutions that transform your ideas into reality. We're here to help you build something extraordinary and take your vision to the next level."}),r.jsxs("div",{className:x.buttonGroup,children:[r.jsx("button",{className:x.btnPrimary,children:"Get Started"}),r.jsx("button",{className:x.btnSecondary,children:"Learn More"})]})]})})}const l=(()=>{const a=document.createElement("style");return a.textContent=`
401
+ `,document.head.querySelector("[data-hero-styles]")||(a.setAttribute("data-hero-styles",""),document.head.appendChild(a)),{heroSection:"heroSection",heroContent:"heroContent",heroTitle:"heroTitle",heroSubtitle:"heroSubtitle",buttonGroup:"buttonGroup",btnPrimary:"btnPrimary",btnSecondary:"btnSecondary"}})();function Q(){return t.jsx("section",{className:S.heroSection,children:t.jsxs("div",{className:S.heroContent,children:[t.jsx("h1",{className:S.heroTitle,children:"Welcome to the Future"}),t.jsx("p",{className:S.heroSubtitle,children:"Discover innovative solutions that transform your ideas into reality. We're here to help you build something extraordinary and take your vision to the next level."}),t.jsxs("div",{className:S.buttonGroup,children:[t.jsx("button",{className:S.btnPrimary,children:"Get Started"}),t.jsx("button",{className:S.btnSecondary,children:"Learn More"})]})]})})}const m=(()=>{const a=document.createElement("style");return a.textContent=`
402
402
  * {
403
403
  margin: 0;
404
404
  padding: 0;
@@ -612,4 +612,289 @@ React keys must be passed directly to JSX without using spread:
612
612
  height: 10px;
613
613
  }
614
614
  }
615
- `,document.head.querySelector("[data-carousel-styles]")||(a.setAttribute("data-carousel-styles",""),document.head.appendChild(a)),{carouselContainer:"carouselContainer",carousel:"carousel",slideWrapper:"slideWrapper",slide:"slide",active:"active",slideImage:"slideImage",slideContent:"slideContent",slideTitle:"slideTitle",slideDescription:"slideDescription",arrow:"arrow",arrowLeft:"arrowLeft",arrowRight:"arrowRight",dots:"dots",dot:"dot"}})();function Q({slides:a=[{image:"https://images.unsplash.com/photo-1497436072909-60f360e1d4b1?w=1200",title:"Mountain Adventure",description:"Explore the breathtaking beauty of nature"},{image:"https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=1200",title:"Ocean Views",description:"Discover serene coastal landscapes"},{image:"https://images.unsplash.com/photo-1469474968028-56623f02e42e?w=1200",title:"Forest Trails",description:"Journey through lush green forests"},{image:"https://images.unsplash.com/photo-1470071459604-3b5ec3a7fe05?w=1200",title:"Sunset Paradise",description:"Experience magical golden hour moments"}],autoPlay:h=!0,autoPlayInterval:u=5e3}){const[f,s]=g.useState(0),c=()=>{s(d=>(d+1)%a.length)},v=()=>{s(d=>(d-1+a.length)%a.length)},w=d=>{s(d)};return g.useEffect(()=>{if(h){const d=setInterval(c,u);return()=>clearInterval(d)}},[f,h,u]),r.jsx("div",{className:l.carouselContainer,children:r.jsxs("div",{className:l.carousel,children:[r.jsx("div",{className:l.slideWrapper,children:a.map((d,b)=>r.jsxs("div",{className:`${l.slide} ${b===f?l.active:""}`,children:[r.jsx("img",{src:d.image,alt:d.title,className:l.slideImage}),r.jsxs("div",{className:l.slideContent,children:[r.jsx("h2",{className:l.slideTitle,children:d.title}),r.jsx("p",{className:l.slideDescription,children:d.description})]})]},b))}),r.jsx("button",{className:`${l.arrow} ${l.arrowLeft}`,onClick:v,"aria-label":"Previous slide",children:"‹"}),r.jsx("button",{className:`${l.arrow} ${l.arrowRight}`,onClick:c,"aria-label":"Next slide",children:"›"}),r.jsx("div",{className:l.dots,children:a.map((d,b)=>r.jsx("button",{className:`${l.dot} ${b===f?l.active:""}`,onClick:()=>w(b),"aria-label":`Go to slide ${b+1}`},b))})]})})}m.Card=B,m.Carousel=Q,m.HeroSection=Z,m.Navbar=H,Object.defineProperty(m,Symbol.toStringTag,{value:"Module"})}));
615
+ `,document.head.querySelector("[data-carousel-styles]")||(a.setAttribute("data-carousel-styles",""),document.head.appendChild(a)),{carouselContainer:"carouselContainer",carousel:"carousel",slideWrapper:"slideWrapper",slide:"slide",active:"active",slideImage:"slideImage",slideContent:"slideContent",slideTitle:"slideTitle",slideDescription:"slideDescription",arrow:"arrow",arrowLeft:"arrowLeft",arrowRight:"arrowRight",dots:"dots",dot:"dot"}})();function K({slides:a=[{image:"https://images.unsplash.com/photo-1497436072909-60f360e1d4b1?w=1200",title:"Mountain Adventure",description:"Explore the breathtaking beauty of nature"},{image:"https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=1200",title:"Ocean Views",description:"Discover serene coastal landscapes"},{image:"https://images.unsplash.com/photo-1469474968028-56623f02e42e?w=1200",title:"Forest Trails",description:"Journey through lush green forests"},{image:"https://images.unsplash.com/photo-1470071459604-3b5ec3a7fe05?w=1200",title:"Sunset Paradise",description:"Experience magical golden hour moments"}],autoPlay:h=!0,autoPlayInterval:f=5e3}){const[p,n]=w.useState(0),s=()=>{n(u=>(u+1)%a.length)},y=()=>{n(u=>(u-1+a.length)%a.length)},k=u=>{n(u)};return w.useEffect(()=>{if(h){const u=setInterval(s,f);return()=>clearInterval(u)}},[p,h,f]),t.jsx("div",{className:m.carouselContainer,children:t.jsxs("div",{className:m.carousel,children:[t.jsx("div",{className:m.slideWrapper,children:a.map((u,v)=>t.jsxs("div",{className:`${m.slide} ${v===p?m.active:""}`,children:[t.jsx("img",{src:u.image,alt:u.title,className:m.slideImage}),t.jsxs("div",{className:m.slideContent,children:[t.jsx("h2",{className:m.slideTitle,children:u.title}),t.jsx("p",{className:m.slideDescription,children:u.description})]})]},v))}),t.jsx("button",{className:`${m.arrow} ${m.arrowLeft}`,onClick:y,"aria-label":"Previous slide",children:"‹"}),t.jsx("button",{className:`${m.arrow} ${m.arrowRight}`,onClick:s,"aria-label":"Next slide",children:"›"}),t.jsx("div",{className:m.dots,children:a.map((u,v)=>t.jsx("button",{className:`${m.dot} ${v===p?m.active:""}`,onClick:()=>k(v),"aria-label":`Go to slide ${v+1}`},v))})]})})}const o=(()=>{const a=document.createElement("style");return a.textContent=`
616
+ * {
617
+ margin: 0;
618
+ padding: 0;
619
+ box-sizing: border-box;
620
+ }
621
+
622
+ .testimonialsSection {
623
+ width: 100%;
624
+ padding: 5rem 2rem;
625
+ background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
626
+ position: relative;
627
+ overflow: hidden;
628
+ }
629
+
630
+ .testimonialsSection::before {
631
+ content: '';
632
+ position: absolute;
633
+ top: -50%;
634
+ left: -50%;
635
+ width: 200%;
636
+ height: 200%;
637
+ background: radial-gradient(circle, rgba(0, 216, 255, 0.05) 1px, transparent 1px);
638
+ background-size: 50px 50px;
639
+ animation: moveBackground 20s linear infinite;
640
+ pointer-events: none;
641
+ }
642
+
643
+ @keyframes moveBackground {
644
+ 0% {
645
+ transform: translate(0, 0);
646
+ }
647
+ 100% {
648
+ transform: translate(50px, 50px);
649
+ }
650
+ }
651
+
652
+ .container {
653
+ max-width: 1200px;
654
+ margin: 0 auto;
655
+ position: relative;
656
+ z-index: 1;
657
+ }
658
+
659
+ .sectionHeader {
660
+ text-align: center;
661
+ margin-bottom: 4rem;
662
+ }
663
+
664
+ .sectionTitle {
665
+ font-size: 3rem;
666
+ font-weight: 800;
667
+ color: #1a1a2e;
668
+ margin-bottom: 1rem;
669
+ background: linear-gradient(135deg, #1a1a2e 0%, #00d8ff 100%);
670
+ -webkit-background-clip: text;
671
+ -webkit-text-fill-color: transparent;
672
+ background-clip: text;
673
+ }
674
+
675
+ .sectionSubtitle {
676
+ font-size: 1.2rem;
677
+ color: #666;
678
+ max-width: 600px;
679
+ margin: 0 auto;
680
+ }
681
+
682
+ .testimonialsGrid {
683
+ display: grid;
684
+ grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
685
+ gap: 2rem;
686
+ margin-bottom: 3rem;
687
+ }
688
+
689
+ .testimonialCard {
690
+ background: #fff;
691
+ border-radius: 20px;
692
+ padding: 2.5rem;
693
+ box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
694
+ transition: all 0.4s ease;
695
+ position: relative;
696
+ overflow: hidden;
697
+ }
698
+
699
+ .testimonialCard::before {
700
+ content: '';
701
+ position: absolute;
702
+ top: 0;
703
+ left: 0;
704
+ width: 100%;
705
+ height: 4px;
706
+ background: linear-gradient(90deg, #00d8ff, #0099cc);
707
+ transform: scaleX(0);
708
+ transform-origin: left;
709
+ transition: transform 0.4s ease;
710
+ }
711
+
712
+ .testimonialCard:hover::before {
713
+ transform: scaleX(1);
714
+ }
715
+
716
+ .testimonialCard:hover {
717
+ transform: translateY(-10px);
718
+ box-shadow: 0 15px 40px rgba(0, 216, 255, 0.2);
719
+ }
720
+
721
+ .quoteIcon {
722
+ font-size: 3rem;
723
+ color: #00d8ff;
724
+ opacity: 0.3;
725
+ line-height: 1;
726
+ margin-bottom: 1rem;
727
+ }
728
+
729
+ .testimonialText {
730
+ font-size: 1.1rem;
731
+ color: #555;
732
+ line-height: 1.8;
733
+ margin-bottom: 2rem;
734
+ font-style: italic;
735
+ }
736
+
737
+ .authorInfo {
738
+ display: flex;
739
+ align-items: center;
740
+ gap: 1rem;
741
+ }
742
+
743
+ .authorImage {
744
+ width: 60px;
745
+ height: 60px;
746
+ border-radius: 50%;
747
+ object-fit: cover;
748
+ border: 3px solid #00d8ff;
749
+ box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
750
+ }
751
+
752
+ .authorDetails {
753
+ flex: 1;
754
+ }
755
+
756
+ .authorName {
757
+ font-size: 1.1rem;
758
+ font-weight: 700;
759
+ color: #1a1a2e;
760
+ margin-bottom: 0.2rem;
761
+ }
762
+
763
+ .authorRole {
764
+ font-size: 0.95rem;
765
+ color: #00d8ff;
766
+ font-weight: 500;
767
+ }
768
+
769
+ .ratingStars {
770
+ display: flex;
771
+ gap: 0.3rem;
772
+ margin-top: 0.5rem;
773
+ }
774
+
775
+ .star {
776
+ color: #ffd700;
777
+ font-size: 1.1rem;
778
+ }
779
+
780
+ .navigationButtons {
781
+ display: flex;
782
+ justify-content: center;
783
+ gap: 1rem;
784
+ margin-top: 3rem;
785
+ }
786
+
787
+ .navButton {
788
+ width: 50px;
789
+ height: 50px;
790
+ border-radius: 50%;
791
+ border: 2px solid #00d8ff;
792
+ background: #fff;
793
+ color: #00d8ff;
794
+ font-size: 1.5rem;
795
+ cursor: pointer;
796
+ transition: all 0.3s ease;
797
+ display: flex;
798
+ align-items: center;
799
+ justify-content: center;
800
+ }
801
+
802
+ .navButton:hover {
803
+ background: #00d8ff;
804
+ color: #fff;
805
+ transform: scale(1.1);
806
+ box-shadow: 0 5px 15px rgba(0, 216, 255, 0.3);
807
+ }
808
+
809
+ .navButton:active {
810
+ transform: scale(0.95);
811
+ }
812
+
813
+ .dotsContainer {
814
+ display: flex;
815
+ justify-content: center;
816
+ gap: 0.8rem;
817
+ margin-top: 2rem;
818
+ }
819
+
820
+ .dot {
821
+ width: 12px;
822
+ height: 12px;
823
+ border-radius: 50%;
824
+ background: #ccc;
825
+ cursor: pointer;
826
+ transition: all 0.3s ease;
827
+ border: none;
828
+ }
829
+
830
+ .dot:hover {
831
+ background: #00d8ff;
832
+ transform: scale(1.2);
833
+ }
834
+
835
+ .dot.active {
836
+ background: #00d8ff;
837
+ width: 30px;
838
+ border-radius: 6px;
839
+ }
840
+
841
+ @media (max-width: 768px) {
842
+ .testimonialsSection {
843
+ padding: 3rem 1.5rem;
844
+ }
845
+
846
+ .sectionTitle {
847
+ font-size: 2.2rem;
848
+ }
849
+
850
+ .sectionSubtitle {
851
+ font-size: 1rem;
852
+ }
853
+
854
+ .testimonialsGrid {
855
+ grid-template-columns: 1fr;
856
+ gap: 1.5rem;
857
+ }
858
+
859
+ .testimonialCard {
860
+ padding: 2rem;
861
+ }
862
+
863
+ .testimonialText {
864
+ font-size: 1rem;
865
+ }
866
+ }
867
+
868
+ @media (max-width: 480px) {
869
+ .testimonialsSection {
870
+ padding: 2rem 1rem;
871
+ }
872
+
873
+ .sectionTitle {
874
+ font-size: 1.8rem;
875
+ }
876
+
877
+ .testimonialCard {
878
+ padding: 1.5rem;
879
+ }
880
+
881
+ .authorImage {
882
+ width: 50px;
883
+ height: 50px;
884
+ }
885
+
886
+ .authorName {
887
+ font-size: 1rem;
888
+ }
889
+
890
+ .authorRole {
891
+ font-size: 0.85rem;
892
+ }
893
+
894
+ .navButton {
895
+ width: 45px;
896
+ height: 45px;
897
+ font-size: 1.3rem;
898
+ }
899
+ }
900
+ `,document.head.querySelector("[data-testimonials-styles]")||(a.setAttribute("data-testimonials-styles",""),document.head.appendChild(a)),{testimonialsSection:"testimonialsSection",container:"container",sectionHeader:"sectionHeader",sectionTitle:"sectionTitle",sectionSubtitle:"sectionSubtitle",testimonialsGrid:"testimonialsGrid",testimonialCard:"testimonialCard",quoteIcon:"quoteIcon",testimonialText:"testimonialText",authorInfo:"authorInfo",authorImage:"authorImage",authorDetails:"authorDetails",authorName:"authorName",authorRole:"authorRole",ratingStars:"ratingStars",star:"star",navigationButtons:"navigationButtons",navButton:"navButton",dotsContainer:"dotsContainer",dot:"dot",active:"active"}})();function ee({testimonials:a=[{text:"This service completely transformed our business. The team was professional, responsive, and delivered beyond our expectations. Highly recommended!",author:"Sarah Johnson",role:"CEO, Tech Solutions",image:"https://i.pravatar.cc/150?img=1",rating:5},{text:"Working with this team has been an absolute pleasure. Their attention to detail and commitment to excellence is unmatched in the industry.",author:"Michael Chen",role:"Product Manager, Innovation Labs",image:"https://i.pravatar.cc/150?img=2",rating:5},{text:"I was impressed by the quality of work and the speed of delivery. They truly understand what clients need and deliver exceptional results every time.",author:"Emily Rodriguez",role:"Founder, Creative Studio",image:"https://i.pravatar.cc/150?img=3",rating:5},{text:"Outstanding experience from start to finish. The professionalism and expertise demonstrated throughout the project was remarkable.",author:"David Williams",role:"Director, Marketing Agency",image:"https://i.pravatar.cc/150?img=4",rating:5},{text:"Best decision we made for our company. The results speak for themselves and the ongoing support has been incredible.",author:"Jessica Martinez",role:"Operations Lead, StartupX",image:"https://i.pravatar.cc/150?img=5",rating:5},{text:"Exceptional quality and service. They went above and beyond to ensure our success. Couldn't be happier with the outcome!",author:"James Anderson",role:"CTO, Digital Dynamics",image:"https://i.pravatar.cc/150?img=6",rating:5}],itemsPerPage:h=3}){const[f,p]=w.useState(0),n=Math.ceil(a.length/h),s=f*h,y=s+h,k=a.slice(s,y),u=()=>{p(d=>(d+1)%n)},v=()=>{p(d=>(d-1+n)%n)},C=d=>{p(d)},R=d=>[...Array(d)].map((g,_)=>t.jsx("span",{className:o.star,children:"★"},_));return t.jsx("section",{className:o.testimonialsSection,children:t.jsxs("div",{className:o.container,children:[t.jsxs("div",{className:o.sectionHeader,children:[t.jsx("h2",{className:o.sectionTitle,children:"What Our Clients Say"}),t.jsx("p",{className:o.sectionSubtitle,children:"Don't just take our word for it - hear from our satisfied clients about their experience"})]}),t.jsx("div",{className:o.testimonialsGrid,children:k.map((d,g)=>t.jsxs("div",{className:o.testimonialCard,children:[t.jsx("div",{className:o.quoteIcon,children:'"'}),t.jsx("p",{className:o.testimonialText,children:d.text}),t.jsxs("div",{className:o.authorInfo,children:[t.jsx("img",{src:d.image,alt:d.author,className:o.authorImage}),t.jsxs("div",{className:o.authorDetails,children:[t.jsx("h4",{className:o.authorName,children:d.author}),t.jsx("p",{className:o.authorRole,children:d.role}),t.jsx("div",{className:o.ratingStars,children:R(d.rating)})]})]})]},s+g))}),t.jsxs("div",{className:o.navigationButtons,children:[t.jsx("button",{className:o.navButton,onClick:v,"aria-label":"Previous testimonials",children:"‹"}),t.jsx("button",{className:o.navButton,onClick:u,"aria-label":"Next testimonials",children:"›"})]}),t.jsx("div",{className:o.dotsContainer,children:[...Array(n)].map((d,g)=>t.jsx("button",{className:`${o.dot} ${g===f?o.active:""}`,onClick:()=>C(g),"aria-label":`Go to page ${g+1}`},g))})]})})}b.Card=Z,b.Carousel=K,b.HeroSection=Q,b.Navbar=V,b.Testimonials=ee,Object.defineProperty(b,Symbol.toStringTag,{value:"Module"})}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sachin-tosa/tosa",
3
- "version": "1.0.7",
3
+ "version": "1.0.9",
4
4
  "description": "TOSA is a reusable React UI component library with responsive components like Navbar, Cards, Carousel, etc.",
5
5
  "author": "Sachin Ruhela",
6
6
  "license": "MIT",