@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.es.js +608 -187
- package/dist/tosa.umd.js +290 -5
- package/package.json +1 -1
package/dist/tosa.umd.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
(function(
|
|
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} />`,
|
|
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
|
|
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
|
|
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
|
|
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