@stackshift-ui/portfolio 7.0.0-beta.7 → 7.0.0-beta.8

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/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@stackshift-ui/portfolio",
3
3
  "description": "",
4
- "version": "7.0.0-beta.7",
4
+ "version": "7.0.0-beta.8",
5
5
  "private": false,
6
6
  "sideEffects": false,
7
7
  "main": "./dist/index.js",
@@ -34,23 +34,23 @@
34
34
  },
35
35
  "dependencies": {
36
36
  "classnames": "^2.5.1",
37
- "@stackshift-ui/system": "6.1.0-beta.3",
38
- "@stackshift-ui/button": "6.1.0-beta.5",
39
- "@stackshift-ui/heading": "7.0.0-beta.3",
40
- "@stackshift-ui/section": "7.0.0-beta.3",
41
- "@stackshift-ui/image": "6.1.0-beta.4",
42
- "@stackshift-ui/container": "7.0.0-beta.3",
43
- "@stackshift-ui/text": "7.0.0-beta.3",
44
- "@stackshift-ui/link": "6.1.0-beta.3",
45
- "@stackshift-ui/flex": "7.0.0-beta.3",
46
- "@stackshift-ui/scripts": "6.1.0-beta.2"
37
+ "@stackshift-ui/scripts": "7.0.0-beta.3",
38
+ "@stackshift-ui/button": "7.0.0-beta.6",
39
+ "@stackshift-ui/system": "7.0.0-beta.4",
40
+ "@stackshift-ui/heading": "7.0.0-beta.4",
41
+ "@stackshift-ui/text": "7.0.0-beta.4",
42
+ "@stackshift-ui/container": "7.0.0-beta.4",
43
+ "@stackshift-ui/flex": "7.0.0-beta.4",
44
+ "@stackshift-ui/section": "7.0.0-beta.4",
45
+ "@stackshift-ui/image": "7.0.0-beta.5",
46
+ "@stackshift-ui/link": "7.0.0-beta.4"
47
47
  },
48
48
  "peerDependencies": {
49
49
  "@types/react": "16.8 - 19",
50
50
  "next": "10 - 14",
51
51
  "react": "16.8 - 19",
52
52
  "react-dom": "16.8 - 19",
53
- "@stackshift-ui/system": ">=6.1.0-beta.3"
53
+ "@stackshift-ui/system": ">=7.0.0-beta.4"
54
54
  },
55
55
  "peerDependenciesMeta": {
56
56
  "next": {
@@ -3,12 +3,9 @@ import { Container } from "@stackshift-ui/container";
3
3
  import { Flex } from "@stackshift-ui/flex";
4
4
  import { Heading } from "@stackshift-ui/heading";
5
5
  import { Image } from "@stackshift-ui/image";
6
- import { Link } from "@stackshift-ui/link";
7
6
  import { Section } from "@stackshift-ui/section";
8
7
  import { Text } from "@stackshift-ui/text";
9
8
  import React from "react";
10
-
11
- import { buildSanityLink } from "@stackshift-ui/system";
12
9
  import { PortfolioProps } from ".";
13
10
  import { Content, LabeledRoute, PortfoliosWithCategories } from "./types";
14
11
 
@@ -17,6 +14,7 @@ export default function Portfolio_A({
17
14
  title,
18
15
  portfoliosWithCategory,
19
16
  length = 8,
17
+ primaryButton,
20
18
  }: PortfolioProps): React.JSX.Element {
21
19
  const portfolioLength = length; //set initial number of portfolios to display for this variant
22
20
  const [activeTab, setActiveTab] = React.useState(portfoliosWithCategory?.[0]?.category); //set the first index category as initial value
@@ -39,7 +37,7 @@ export default function Portfolio_A({
39
37
  portfolios={portfoliosPerCategory?.content}
40
38
  portfolioLength={portfolioLength}
41
39
  />
42
- <PrimaryButton button={portfoliosPerCategory?.primaryButton} />
40
+ <PrimaryButton button={primaryButton} />
43
41
  </Container>
44
42
  </Section>
45
43
  );
@@ -67,14 +65,10 @@ function CaptionAndTitleText({
67
65
  function PrimaryButton({ button }: { button?: LabeledRoute | null }) {
68
66
  if (!button?.label) return null;
69
67
 
70
- const link = buildSanityLink(button);
71
-
72
68
  return (
73
69
  <div className="text-center">
74
- <Button asChild aria-label={button?.label}>
75
- <Link href={link.href} target={link.target} rel={link.rel}>
76
- {button?.label}
77
- </Link>
70
+ <Button as="link" link={button}>
71
+ {button?.label}
78
72
  </Button>
79
73
  </div>
80
74
  );
@@ -119,36 +113,31 @@ function PortfolioContent({
119
113
 
120
114
  return (
121
115
  <Flex wrap className="mb-8">
122
- {portfolios?.slice(0, portfolioLength)?.map((content, index: number) => {
123
- const link = buildSanityLink(content.primaryButton as LabeledRoute);
124
-
125
- return (
126
- <Flex className="w-full space-x-5 px-4 mb-8 sm:w-1/2 lg:w-1/4" key={content?._key}>
127
- <div className="relative mx-auto h-[256px] w-[332px] overflow-hidden rounded-md">
128
- {content?.mainImage?.image && (
129
- <Image
130
- className="object-cover w-full h-full"
131
- src={content?.mainImage?.image}
132
- alt={content?.mainImage?.alt ?? `portfolio-image-${index}`}
133
- />
116
+ {portfolios?.slice(0, portfolioLength)?.map((content, index: number) => (
117
+ <Flex className="w-full space-x-5 px-4 mb-8 sm:w-1/2 lg:w-1/4" key={content?._key}>
118
+ <div className="relative mx-auto h-[256px] w-[332px] overflow-hidden rounded-md">
119
+ {content?.mainImage?.image && (
120
+ <Image
121
+ className="object-cover w-full h-full"
122
+ src={content?.mainImage?.image}
123
+ alt={content?.mainImage?.alt ?? `portfolio-image-${index}`}
124
+ />
125
+ )}
126
+ <div className="absolute inset-0 z-10 flex items-center justify-center duration-300 bg-slate-900 rounded-md opacity-0 hover:opacity-75">
127
+ {content?.primaryButton?.label && (
128
+ <Button
129
+ as="link"
130
+ link={content?.primaryButton}
131
+ variant="outline"
132
+ aria-abel={content?.primaryButton?.label}
133
+ className="w-fit h-fit flex items-center justify-center bg-transparent border-secondary outline text-white hover:bg-secondary/20 hover:border-secondary/20 rounded-global hover:text-secondary-foreground font-bold transition duration-200 px-3 py-4">
134
+ {content?.primaryButton?.label}
135
+ </Button>
134
136
  )}
135
- <div className="absolute inset-0 z-10 flex items-center justify-center duration-300 bg-slate-900 rounded-md opacity-0 hover:opacity-75">
136
- {content?.primaryButton?.label && (
137
- <Button
138
- asChild
139
- variant="outline"
140
- aria-abel={content?.primaryButton?.label}
141
- className="w-fit h-fit flex items-center justify-center bg-transparent border-secondary outline text-white hover:bg-secondary/20 hover:border-secondary/20 rounded-global hover:text-secondary-foreground font-bold transition duration-200 px-3 py-4">
142
- <Link href={link.href} target={link.target} rel={link.rel}>
143
- {content?.primaryButton?.label}
144
- </Link>
145
- </Button>
146
- )}
147
- </div>
148
137
  </div>
149
- </Flex>
150
- );
151
- })}
138
+ </div>
139
+ </Flex>
140
+ ))}
152
141
  </Flex>
153
142
  );
154
143
  }
@@ -6,11 +6,8 @@ import { Image } from "@stackshift-ui/image";
6
6
  import { Section } from "@stackshift-ui/section";
7
7
  import { Text } from "@stackshift-ui/text";
8
8
  import React from "react";
9
-
10
- import { Link } from "@stackshift-ui/link";
11
- import { buildSanityLink } from "@stackshift-ui/system";
12
9
  import { PortfolioProps } from ".";
13
- import { Content, LabeledRoute } from "./types";
10
+ import { Content } from "./types";
14
11
 
15
12
  export default function Portfolio_B({
16
13
  caption,
@@ -21,8 +18,6 @@ export default function Portfolio_B({
21
18
  }: PortfolioProps): React.JSX.Element {
22
19
  const portfolioLength = length; //set initial number of portfolios to display for this variant
23
20
 
24
- const link = buildSanityLink(primaryButton as LabeledRoute);
25
-
26
21
  return (
27
22
  <Section className="py-20 bg-background">
28
23
  <Container maxWidth={1280}>
@@ -30,10 +25,8 @@ export default function Portfolio_B({
30
25
  <CaptionAndTitleText caption={caption} title={title} />
31
26
  <div className="hidden mt-5 text-right md:mt-0 lg:mt-0 lg:block xl:mt-0">
32
27
  {primaryButton?.label && (
33
- <Button asChild aria-label={primaryButton?.label} variant="link">
34
- <Link href={link.href} target={link.target} rel={link.rel}>
35
- {primaryButton?.label}
36
- </Link>
28
+ <Button as="link" link={primaryButton} variant="link">
29
+ {primaryButton?.label}
37
30
  </Button>
38
31
  )}
39
32
  </div>
@@ -41,10 +34,8 @@ export default function Portfolio_B({
41
34
  <PortfolioContent portfolios={portfolios} portfolioLength={portfolioLength} />
42
35
  <div className="block mt-5 text-center md:mt-0 lg:mt-0 lg:hidden xl:mt-0">
43
36
  {primaryButton?.label && (
44
- <Button asChild aria-label={primaryButton?.label} variant="link">
45
- <Link href={link.href} target={link.target} rel={link.rel}>
46
- {primaryButton?.label}
47
- </Link>
37
+ <Button as="link" link={primaryButton} variant="link">
38
+ {primaryButton?.label}
48
39
  </Button>
49
40
  )}
50
41
  </div>
@@ -73,8 +64,6 @@ function CaptionAndTitleText({
73
64
  }
74
65
 
75
66
  function ProjectItem({ content }: { content: Content }) {
76
- const link = buildSanityLink(content.primaryButton as LabeledRoute);
77
-
78
67
  return (
79
68
  <div className="w-full px-4 mb-4 md:w-1/2 lg:w-1/3">
80
69
  <div className="relative mx-auto overflow-hidden rounded-md md:mb-5">
@@ -102,13 +91,11 @@ function ProjectItem({ content }: { content: Content }) {
102
91
  )}
103
92
  {content?.primaryButton?.label && (
104
93
  <Button
105
- asChild
94
+ as="link"
95
+ link={content?.primaryButton}
106
96
  variant="outline"
107
- aria-label={content?.primaryButton?.label}
108
97
  className="w-fit h-fit flex items-center justify-center bg-transparent border-secondary outline text-white hover:bg-secondary/20 hover:border-secondary/20 rounded-global hover:text-secondary-foreground font-bold transition duration-200 px-3 py-4">
109
- <Link href={link.href} target={link.target} rel={link.rel}>
110
- {content?.primaryButton?.label}
111
- </Link>
98
+ {content?.primaryButton?.label}
112
99
  </Button>
113
100
  )}
114
101
  </Flex>
@@ -128,9 +115,9 @@ function PortfolioContent({
128
115
 
129
116
  return (
130
117
  <Flex wrap className="mb-4 ">
131
- {portfolios
132
- ?.slice(0, portfolioLength)
133
- .map(content => <ProjectItem content={content} key={content._key} />)}
118
+ {portfolios?.slice(0, portfolioLength).map(content => (
119
+ <ProjectItem content={content} key={content._key} />
120
+ ))}
134
121
  </Flex>
135
122
  );
136
123
  }
@@ -5,9 +5,8 @@ import { Heading } from "@stackshift-ui/heading";
5
5
  import { Image } from "@stackshift-ui/image";
6
6
  import { Link } from "@stackshift-ui/link";
7
7
  import { Section } from "@stackshift-ui/section";
8
- import { Text } from "@stackshift-ui/text";
9
-
10
8
  import { buildSanityLink } from "@stackshift-ui/system";
9
+ import { Text } from "@stackshift-ui/text";
11
10
  import { PortfolioProps } from ".";
12
11
  import { Content, LabeledRoute } from "./types";
13
12
 
@@ -19,9 +18,6 @@ export default function Portfolio_C({
19
18
  length = 6,
20
19
  }: PortfolioProps) {
21
20
  const portfolioLength = length; //set initial number of portfolios to display for this variant
22
-
23
- const link = buildSanityLink(primaryButton as LabeledRoute);
24
-
25
21
  return (
26
22
  <Section className="py-20 bg-background">
27
23
  <Container maxWidth={1280}>
@@ -29,10 +25,8 @@ export default function Portfolio_C({
29
25
  <CaptionAndTitleText caption={caption} title={title} />
30
26
  <div className="hidden mt-5 text-right md:mt-0 lg:mt-0 lg:block xl:mt-0">
31
27
  {primaryButton?.label && (
32
- <Button asChild aria-label={primaryButton?.label}>
33
- <Link href={link.href} target={link.target} rel={link.rel}>
34
- {primaryButton?.label}
35
- </Link>
28
+ <Button as="link" link={primaryButton}>
29
+ {primaryButton?.label}
36
30
  </Button>
37
31
  )}
38
32
  </div>
@@ -40,10 +34,8 @@ export default function Portfolio_C({
40
34
  <PortfolioContent portfolios={portfolios} portfolioLength={portfolioLength} />
41
35
  <div className="block mt-5 text-center md:mt-0 lg:mt-0 lg:hidden xl:mt-0">
42
36
  {primaryButton?.label && (
43
- <Button asChild aria-label={primaryButton?.label}>
44
- <Link href={link.href} target={link.target} rel={link.rel}>
45
- {primaryButton?.label}
46
- </Link>
37
+ <Button as="link" link={primaryButton}>
38
+ {primaryButton?.label}
47
39
  </Button>
48
40
  )}
49
41
  </div>
@@ -72,8 +64,6 @@ function CaptionAndTitleText({
72
64
  }
73
65
 
74
66
  function ProjectItem({ content }: { content: Content }) {
75
- const link = buildSanityLink(content.primaryButton as LabeledRoute);
76
-
77
67
  return (
78
68
  <div className="relative w-full px-4 mb-8 md:w-1/2 lg:w-1/3">
79
69
  {content?.mainImage?.image && (
@@ -96,13 +86,11 @@ function ProjectItem({ content }: { content: Content }) {
96
86
  )}
97
87
  {content?.primaryButton?.label && (
98
88
  <Button
99
- asChild
89
+ as="link"
90
+ link={content?.primaryButton}
100
91
  variant="link"
101
- aria-label={content?.primaryButton?.label}
102
92
  className="font-bold no-underline text-primary transition-200 hover:text-primary/50 px-0">
103
- <Link href={link.href} target={link.target} rel={link.rel}>
104
- {content?.primaryButton?.label}
105
- </Link>
93
+ {content?.primaryButton?.label}
106
94
  </Button>
107
95
  )}
108
96
  </div>
@@ -123,9 +111,9 @@ function PortfolioContent({
123
111
 
124
112
  return (
125
113
  <Flex wrap className="mb-4">
126
- {portfolios
127
- ?.slice(0, portfolioLength)
128
- .map(content => <ProjectItem content={content} key={content._key} />)}
114
+ {portfolios?.slice(0, portfolioLength).map(content => (
115
+ <ProjectItem content={content} key={content._key} />
116
+ ))}
129
117
  </Flex>
130
118
  );
131
119
  }
@@ -5,10 +5,9 @@ import { Heading } from "@stackshift-ui/heading";
5
5
  import { Image } from "@stackshift-ui/image";
6
6
  import { Link } from "@stackshift-ui/link";
7
7
  import { Section } from "@stackshift-ui/section";
8
+ import { buildSanityLink } from "@stackshift-ui/system";
8
9
  import { Text } from "@stackshift-ui/text";
9
10
  import React from "react";
10
-
11
- import { buildSanityLink } from "@stackshift-ui/system";
12
11
  import { PortfolioProps } from ".";
13
12
  import { useMediaQuery } from "./helper";
14
13
  import { Content, LabeledRoute, PortfoliosWithCategories } from "./types";
@@ -18,6 +17,7 @@ export default function Portfolio_D({
18
17
  title,
19
18
  portfoliosWithCategory,
20
19
  length = 6,
20
+ primaryButton,
21
21
  }: PortfolioProps) {
22
22
  const portfoliosPerPage = length;
23
23
  const count = 0; // default number of portfolios per category
@@ -39,25 +39,25 @@ export default function Portfolio_D({
39
39
  </Container>
40
40
  <div className="mb-12 sm:flex">
41
41
  <Flex wrap className="w-full mb-8 lg:mb-0 lg:w-1/2">
42
- {portfoliosPerCategory?.content
43
- ?.slice(count, count + 2)
44
- ?.map(content => <ProjectItem size={"sm"} content={content} key={content._key} />)}
45
- {portfoliosPerCategory?.content
46
- ?.slice(count + 2, count + 3)
47
- ?.map(content => <ProjectItem size={"lg"} content={content} key={content._key} />)}
42
+ {portfoliosPerCategory?.content?.slice(count, count + 2)?.map(content => (
43
+ <ProjectItem size={"sm"} content={content} key={content._key} />
44
+ ))}
45
+ {portfoliosPerCategory?.content?.slice(count + 2, count + 3)?.map(content => (
46
+ <ProjectItem size={"lg"} content={content} key={content._key} />
47
+ ))}
48
48
  </Flex>
49
49
  <div className="w-full lg:w-1/2">
50
- {portfoliosPerCategory?.content
51
- ?.slice(count + 3, count + 4)
52
- ?.map(content => <ProjectItem size={"lg"} content={content} key={content._key} />)}
50
+ {portfoliosPerCategory?.content?.slice(count + 3, count + 4)?.map(content => (
51
+ <ProjectItem size={"lg"} content={content} key={content._key} />
52
+ ))}
53
53
  <div className="flex flex-wrap">
54
- {portfoliosPerCategory?.content
55
- ?.slice(count + 4, portfoliosPerPage)
56
- ?.map(content => <ProjectItem size={"sm"} content={content} key={content._key} />)}
54
+ {portfoliosPerCategory?.content?.slice(count + 4, portfoliosPerPage)?.map(content => (
55
+ <ProjectItem size={"sm"} content={content} key={content._key} />
56
+ ))}
57
57
  </div>
58
58
  </div>
59
59
  </div>
60
- <PrimaryButton button={portfoliosPerCategory?.primaryButton} />
60
+ <PrimaryButton button={primaryButton} />
61
61
  </Container>
62
62
  </Section>
63
63
  );
@@ -85,14 +85,10 @@ function CaptionAndTitleText({
85
85
  function PrimaryButton({ button }: { button?: LabeledRoute | null }) {
86
86
  if (!button?.label) return null;
87
87
 
88
- const link = buildSanityLink(button);
89
-
90
88
  return (
91
89
  <div className="text-center">
92
- <Button asChild aria-label={button?.label}>
93
- <Link href={link.href} target={link.target} rel={link.rel}>
94
- {button?.label}
95
- </Link>
90
+ <Button as="link" link={button}>
91
+ {button?.label}
96
92
  </Button>
97
93
  </div>
98
94
  );
@@ -130,8 +126,6 @@ function ProjectItem({ size, content }: { size?: string | null; content?: Conten
130
126
  const breakpoints = useMediaQuery("639");
131
127
  const maxLength = breakpoints ? 40 : 90;
132
128
 
133
- const link = buildSanityLink(content?.primaryButton as LabeledRoute);
134
-
135
129
  return (
136
130
  <div className={`w-full px-4 mb-8 ${size === "lg" ? "w-full" : "lg:w-1/2"}`}>
137
131
  {content?.mainImage?.image && (
@@ -171,13 +165,11 @@ function ProjectItem({ size, content }: { size?: string | null; content?: Conten
171
165
  )}
172
166
  {content?.primaryButton?.label && (
173
167
  <Button
174
- asChild
168
+ as="link"
169
+ link={content?.primaryButton}
175
170
  variant="outline"
176
- aria-label={content?.primaryButton?.label}
177
171
  className="w-fit h-fit flex items-center justify-center bg-transparent border-secondary outline text-white hover:bg-secondary/20 hover:border-secondary/20 rounded-global hover:text-secondary-foreground font-bold transition duration-200 px-3 py-4">
178
- <Link href={link.href} target={link.target} rel={link.rel}>
179
- {content?.primaryButton?.label}
180
- </Link>
172
+ {content?.primaryButton?.label}
181
173
  </Button>
182
174
  )}
183
175
  </div>
@@ -1 +0,0 @@
1
- import{Button as p}from"@stackshift-ui/button";import{Container as w}from"@stackshift-ui/container";import{Flex as g}from"@stackshift-ui/flex";import{Heading as L}from"@stackshift-ui/heading";import{Image as R}from"@stackshift-ui/image";import{Link as N}from"@stackshift-ui/link";import{Section as S}from"@stackshift-ui/section";import{Text as T}from"@stackshift-ui/text";import k from"react";import{buildSanityLink as B}from"@stackshift-ui/system";import{jsx as e,jsxs as b}from"react/jsx-runtime";function P({caption:r,title:i,portfoliosWithCategory:l,length:a=8}){var f;let s=a,[m,x]=k.useState((f=l==null?void 0:l[0])==null?void 0:f.category),u=l==null?void 0:l.find(d=>(d==null?void 0:d.category)===m);return e(S,{className:"py-20 bg-background",children:b(w,{maxWidth:1280,children:[b(w,{maxWidth:512,className:"mb-8 text-center md:mb-16",children:[e(A,{caption:r,title:i}),e(I,{categories:l,activeTab:m,onClickFn:x})]}),e(_,{portfolios:u==null?void 0:u.content,portfolioLength:s}),e(F,{button:u==null?void 0:u.primaryButton})]})})}function A({caption:r,title:i}){return!r||!i?null:b(k.Fragment,{children:[e(T,{weight:"semibold",children:r}),e(L,{className:"mb-6",fontSize:"2xl",children:i})]})}function F({button:r}){if(!(r!=null&&r.label))return null;let i=B(r);return e("div",{className:"text-center",children:e(p,{asChild:!0,"aria-label":r==null?void 0:r.label,children:e(N,{href:i.href,target:i.target,rel:i.rel,children:r==null?void 0:r.label})})})}function I({categories:r,activeTab:i,onClickFn:l}){return!r||(r==null?void 0:r.length)===0?null:e(g,{className:"inline-flex px-2 py-1 text-sm bg-white rounded",wrap:!0,children:r==null?void 0:r.map((a,s)=>{var m;return e(p,{variant:"ghost","aria-label":(m=a==null?void 0:a.category)!=null?m:`Category button ${s+1}`,className:"my-1 data-[active=true]:text-primary","data-active":i===(a==null?void 0:a.category),onClick:()=>l==null?void 0:l(a==null?void 0:a.category),children:a==null?void 0:a.category},a==null?void 0:a._key)})})}function _({portfolios:r,portfolioLength:i}){var l;return!r||(r==null?void 0:r.length)===0?null:e(g,{wrap:!0,className:"mb-8",children:(l=r==null?void 0:r.slice(0,i))==null?void 0:l.map((a,s)=>{var x,u,f,d,v,h,y;let m=B(a.primaryButton);return e(g,{className:"w-full space-x-5 px-4 mb-8 sm:w-1/2 lg:w-1/4",children:b("div",{className:"relative mx-auto h-[256px] w-[332px] overflow-hidden rounded-md",children:[((x=a==null?void 0:a.mainImage)==null?void 0:x.image)&&e(R,{className:"object-cover w-full h-full",src:(u=a==null?void 0:a.mainImage)==null?void 0:u.image,alt:(d=(f=a==null?void 0:a.mainImage)==null?void 0:f.alt)!=null?d:`portfolio-image-${s}`}),e("div",{className:"absolute inset-0 z-10 flex items-center justify-center duration-300 bg-slate-900 rounded-md opacity-0 hover:opacity-75",children:((v=a==null?void 0:a.primaryButton)==null?void 0:v.label)&&e(p,{asChild:!0,variant:"outline","aria-abel":(h=a==null?void 0:a.primaryButton)==null?void 0:h.label,className:"w-fit h-fit flex items-center justify-center bg-transparent border-secondary outline text-white hover:bg-secondary/20 hover:border-secondary/20 rounded-global hover:text-secondary-foreground font-bold transition duration-200 px-3 py-4",children:e(N,{href:m.href,target:m.target,rel:m.rel,children:(y=a==null?void 0:a.primaryButton)==null?void 0:y.label})})})]})},a==null?void 0:a._key)})})}export{P as a};
@@ -1 +0,0 @@
1
- import{a as $}from"./chunk-NFO6QLL6.mjs";import{Button as S}from"@stackshift-ui/button";import{Container as R}from"@stackshift-ui/container";import{Flex as _}from"@stackshift-ui/flex";import{Heading as z}from"@stackshift-ui/heading";import{Image as F}from"@stackshift-ui/image";import{Link as I}from"@stackshift-ui/link";import{Section as H}from"@stackshift-ui/section";import{Text as L}from"@stackshift-ui/text";import j from"react";import{buildSanityLink as A}from"@stackshift-ui/system";import{jsx as l,jsxs as u}from"react/jsx-runtime";function P({caption:a,title:i,portfoliosWithCategory:d,length:m=6}){var f,g,p,v,h,y,w,N,k;let x=m,e=0,[b,B]=j.useState((f=d==null?void 0:d[0])==null?void 0:f.category),r=d==null?void 0:d.find(s=>(s==null?void 0:s.category)===b);return l(H,{className:"py-20 bg-background",children:u(R,{maxWidth:1280,children:[u(R,{maxWidth:512,className:"mb-8 text-center md:mb-16",children:[l(D,{caption:a,title:i}),l(Q,{categories:d,activeTab:b,onClickFn:B})]}),u("div",{className:"mb-12 sm:flex",children:[u(_,{wrap:!0,className:"w-full mb-8 lg:mb-0 lg:w-1/2",children:[(p=(g=r==null?void 0:r.content)==null?void 0:g.slice(e,e+2))==null?void 0:p.map(s=>l(T,{size:"sm",content:s},s._key)),(h=(v=r==null?void 0:r.content)==null?void 0:v.slice(e+2,e+3))==null?void 0:h.map(s=>l(T,{size:"lg",content:s},s._key))]}),u("div",{className:"w-full lg:w-1/2",children:[(w=(y=r==null?void 0:r.content)==null?void 0:y.slice(e+3,e+4))==null?void 0:w.map(s=>l(T,{size:"lg",content:s},s._key)),l("div",{className:"flex flex-wrap",children:(k=(N=r==null?void 0:r.content)==null?void 0:N.slice(e+4,x))==null?void 0:k.map(s=>l(T,{size:"sm",content:s},s._key))})]})]}),l(M,{button:r==null?void 0:r.primaryButton})]})})}function D({caption:a,title:i}){return!a||!i?null:u(j.Fragment,{children:[l(L,{weight:"semibold",children:a}),l(z,{className:"mb-6",fontSize:"2xl",children:i})]})}function M({button:a}){if(!(a!=null&&a.label))return null;let i=A(a);return l("div",{className:"text-center",children:l(S,{asChild:!0,"aria-label":a==null?void 0:a.label,children:l(I,{href:i.href,target:i.target,rel:i.rel,children:a==null?void 0:a.label})})})}function Q({categories:a,activeTab:i,onClickFn:d}){return!a||(a==null?void 0:a.length)===0?null:l(_,{className:"inline-flex px-2 py-1 text-sm bg-white rounded",wrap:!0,children:a==null?void 0:a.map((m,x)=>{var e;return l(S,{variant:"ghost","aria-label":(e=m==null?void 0:m.category)!=null?e:`Category button ${x+1}`,className:"my-1 data-[active=true]:text-primary","data-active":i===(m==null?void 0:m.category),onClick:()=>d==null?void 0:d(m==null?void 0:m.category),children:m==null?void 0:m.category},m==null?void 0:m._key)})})}function T({size:a,content:i}){var e,b,B,r,f,g,p,v,h,y,w,N,k;let m=$("639")?40:90,x=A(i==null?void 0:i.primaryButton);return l("div",{className:`w-full px-4 mb-8 ${a==="lg"?"w-full":"lg:w-1/2"}`,children:((e=i==null?void 0:i.mainImage)==null?void 0:e.image)&&u("div",{className:"relative overflow-hidden rounded-md",children:[l(F,{className:`object-cover w-full ${a==="lg"?"h-128":"h-64"}`,src:(b=i==null?void 0:i.mainImage)==null?void 0:b.image,alt:(r=(B=i==null?void 0:i.mainImage)==null?void 0:B.alt)!=null?r:`portfolio-image-${i==null?void 0:i._key}`}),l("div",{className:"absolute inset-0 z-10 justify-center p-6 duration-300 bg-slate-900 rounded-md opacity-0 hover:opacity-80",children:u("div",{className:"max-w-md my-auto text-xs",children:[(i==null?void 0:i.subtitle)&&l(L,{className:"text-sm text-primary",weight:"bold",children:((f=i==null?void 0:i.subtitle)==null?void 0:f.length)>26?`${(g=i==null?void 0:i.subtitle)==null?void 0:g.substring(0,26)}...`:i==null?void 0:i.subtitle}),(i==null?void 0:i.title)&&l(z,{weight:"bold",className:`my-5 text-white ${a==="lg"?"text-sm md:text-xl":"text-sm"}`,children:((p=i==null?void 0:i.title)==null?void 0:p.length)>38?`${(v=i==null?void 0:i.title)==null?void 0:v.substring(0,38)}...`:i==null?void 0:i.title}),u("div",{className:"max-w-xs my-5",children:[(i==null?void 0:i.description)&&l(L,{fontSize:"xs",muted:!0,className:"mb-6 text-white",children:((h=i==null?void 0:i.description)==null?void 0:h.length)>m?`${(y=i==null?void 0:i.description)==null?void 0:y.substring(0,m)}...`:i==null?void 0:i.description}),((w=i==null?void 0:i.primaryButton)==null?void 0:w.label)&&l(S,{asChild:!0,variant:"outline","aria-label":(N=i==null?void 0:i.primaryButton)==null?void 0:N.label,className:"w-fit h-fit flex items-center justify-center bg-transparent border-secondary outline text-white hover:bg-secondary/20 hover:border-secondary/20 rounded-global hover:text-secondary-foreground font-bold transition duration-200 px-3 py-4",children:l(I,{href:x.href,target:x.target,rel:x.rel,children:(k=i==null?void 0:i.primaryButton)==null?void 0:k.label})})]})]})})]})})}export{P as a};
@@ -1 +0,0 @@
1
- import{Button as b}from"@stackshift-ui/button";import{Container as L}from"@stackshift-ui/container";import{Flex as w}from"@stackshift-ui/flex";import{Heading as u}from"@stackshift-ui/heading";import{Image as P}from"@stackshift-ui/image";import{Link as r}from"@stackshift-ui/link";import{Section as T}from"@stackshift-ui/section";import{Text as h}from"@stackshift-ui/text";import{buildSanityLink as C}from"@stackshift-ui/system";import{jsx as i,jsxs as g}from"react/jsx-runtime";function I({caption:l,title:a,portfolios:m,primaryButton:e,length:s=6}){let f=s,d=C(e);return i(T,{className:"py-20 bg-background",children:g(L,{maxWidth:1280,children:[g(w,{wrap:!0,align:"center",justify:"center",className:"mb-16 md:justify-between",children:[i(S,{caption:l,title:a}),i("div",{className:"hidden mt-5 text-right md:mt-0 lg:mt-0 lg:block xl:mt-0",children:(e==null?void 0:e.label)&&i(b,{asChild:!0,"aria-label":e==null?void 0:e.label,children:i(r,{href:d.href,target:d.target,rel:d.rel,children:e==null?void 0:e.label})})})]}),i(F,{portfolios:m,portfolioLength:f}),i("div",{className:"block mt-5 text-center md:mt-0 lg:mt-0 lg:hidden xl:mt-0",children:(e==null?void 0:e.label)&&i(b,{asChild:!0,"aria-label":e==null?void 0:e.label,children:i(r,{href:d.href,target:d.target,rel:d.rel,children:e==null?void 0:e.label})})})]})})}function S({caption:l,title:a}){return!l||!a?null:g("div",{className:"text-center lg:text-left",children:[i(h,{weight:"semibold",children:l}),i(u,{className:"mb-6",fontSize:"2xl",children:a})]})}function j({content:l}){var m,e,s,f,d,x,v,k,N;let a=C(l.primaryButton);return i("div",{className:"relative w-full px-4 mb-8 md:w-1/2 lg:w-1/3",children:((m=l==null?void 0:l.mainImage)==null?void 0:m.image)&&g("div",{className:"h-full overflow-hidden bg-white rounded-md",style:{maxHeight:"600px"},children:[i(P,{className:"object-cover w-full h-80",src:(e=l==null?void 0:l.mainImage)==null?void 0:e.image,width:480,height:320,alt:(f=(s=l==null?void 0:l.mainImage)==null?void 0:s.alt)!=null?f:"portfolio-image"}),g("div",{className:"p-6",children:[i(h,{muted:!0,children:l==null?void 0:l.dateAdded}),(l==null?void 0:l.title)&&i(h,{weight:"bold",fontSize:"xl",className:"mb-4",children:((d=l==null?void 0:l.title)==null?void 0:d.length)>31?`${(x=l==null?void 0:l.title)==null?void 0:x.substring(0,31)}...`:l==null?void 0:l.title}),((v=l==null?void 0:l.primaryButton)==null?void 0:v.label)&&i(b,{asChild:!0,variant:"link","aria-label":(k=l==null?void 0:l.primaryButton)==null?void 0:k.label,className:"font-bold no-underline text-primary transition-200 hover:text-primary/50 px-0",children:i(r,{href:a.href,target:a.target,rel:a.rel,children:(N=l==null?void 0:l.primaryButton)==null?void 0:N.label})})]})]})})}function F({portfolios:l,portfolioLength:a}){return!l||(l==null?void 0:l.length)===0?null:i(w,{wrap:!0,className:"mb-4",children:l==null?void 0:l.slice(0,a).map(m=>i(j,{content:m},m._key))})}export{I as a};
@@ -1 +0,0 @@
1
- import{Button as b}from"@stackshift-ui/button";import{Container as w}from"@stackshift-ui/container";import{Flex as x}from"@stackshift-ui/flex";import{Heading as N}from"@stackshift-ui/heading";import{Image as L}from"@stackshift-ui/image";import{Section as C}from"@stackshift-ui/section";import{Text as f}from"@stackshift-ui/text";import{Link as h}from"@stackshift-ui/link";import{buildSanityLink as t}from"@stackshift-ui/system";import{jsx as a,jsxs as s}from"react/jsx-runtime";function P({caption:e,title:i,portfolios:r,primaryButton:l,length:m=6}){let g=m,d=t(l);return a(C,{className:"py-20 bg-background",children:s(w,{maxWidth:1280,children:[s(x,{wrap:!0,align:"center",justify:"center",className:"mb-16 md:justify-between",children:[a(T,{caption:e,title:i}),a("div",{className:"hidden mt-5 text-right md:mt-0 lg:mt-0 lg:block xl:mt-0",children:(l==null?void 0:l.label)&&a(b,{asChild:!0,"aria-label":l==null?void 0:l.label,variant:"link",children:a(h,{href:d.href,target:d.target,rel:d.rel,children:l==null?void 0:l.label})})})]}),a(R,{portfolios:r,portfolioLength:g}),a("div",{className:"block mt-5 text-center md:mt-0 lg:mt-0 lg:hidden xl:mt-0",children:(l==null?void 0:l.label)&&a(b,{asChild:!0,"aria-label":l==null?void 0:l.label,variant:"link",children:a(h,{href:d.href,target:d.target,rel:d.rel,children:l==null?void 0:l.label})})})]})})}function T({caption:e,title:i}){return!e||!i?null:s("div",{className:"text-center lg:text-left",children:[a(f,{weight:"semibold",children:e}),a(N,{className:"mb-6",fontSize:"2xl",children:i})]})}function I({content:e}){var r,l,m,g,d,v,u,k,o;let i=t(e.primaryButton);return a("div",{className:"w-full px-4 mb-4 md:w-1/2 lg:w-1/3",children:s("div",{className:"relative mx-auto overflow-hidden rounded-md md:mb-5",children:[((r=e==null?void 0:e.mainImage)==null?void 0:r.image)&&a(L,{className:"object-cover w-full h-80",src:(l=e==null?void 0:e.mainImage)==null?void 0:l.image,width:480,height:320,alt:(g=(m=e==null?void 0:e.mainImage)==null?void 0:m.alt)!=null?g:"portfolio-image"}),s(x,{direction:"col",align:"start",className:"absolute inset-0 z-10 items-start p-6 duration-300 bg-slate-900 rounded opacity-0 hover:opacity-75",children:[a(f,{className:"text-secondary",children:e==null?void 0:e.dateAdded}),(e==null?void 0:e.title)&&a(f,{weight:"bold",className:"mb-auto text-white md:text-xl lg:text-2xl",children:((d=e==null?void 0:e.title)==null?void 0:d.length)>80?`${(v=e==null?void 0:e.title)==null?void 0:v.substring(0,80)}...`:e==null?void 0:e.title}),((u=e==null?void 0:e.primaryButton)==null?void 0:u.label)&&a(b,{asChild:!0,variant:"outline","aria-label":(k=e==null?void 0:e.primaryButton)==null?void 0:k.label,className:"w-fit h-fit flex items-center justify-center bg-transparent border-secondary outline text-white hover:bg-secondary/20 hover:border-secondary/20 rounded-global hover:text-secondary-foreground font-bold transition duration-200 px-3 py-4",children:a(h,{href:i.href,target:i.target,rel:i.rel,children:(o=e==null?void 0:e.primaryButton)==null?void 0:o.label})})]})]})})}function R({portfolios:e,portfolioLength:i}){return!e||(e==null?void 0:e.length)===0?null:a(x,{wrap:!0,className:"mb-4 ",children:e==null?void 0:e.slice(0,i).map(r=>a(I,{content:r},r._key))})}export{P as a};
@@ -1 +0,0 @@
1
- import{a as g}from"./chunk-3YRBUX6P.mjs";import{a as y}from"./chunk-FLYHWMQD.mjs";import{a as h}from"./chunk-EM2WNMO2.mjs";import{a as C}from"./chunk-77S7T6ST.mjs";import{jsx as R}from"react/jsx-runtime";var i={variant_a:g,variant_b:y,variant_c:h,variant_d:C},W="Portfolio",B=({data:o})=>{var n,e,s,f,l,p,m,P,c,u,v;let r=o==null?void 0:o.variant,t=r&&(i==null?void 0:i[r]),b={caption:(e=(n=o==null?void 0:o.variants)==null?void 0:n.subtitle)!=null?e:void 0,title:(f=(s=o==null?void 0:o.variants)==null?void 0:s.title)!=null?f:void 0,portfoliosWithCategory:(p=(l=o==null?void 0:o.variants)==null?void 0:l.portfoliosWithCategories)!=null?p:void 0,portfolios:(P=(m=o==null?void 0:o.variants)==null?void 0:m.portfolios)!=null?P:void 0,primaryButton:(u=(c=o==null?void 0:o.variants)==null?void 0:c.primaryButton)!=null?u:void 0,length:(v=o==null?void 0:o.variants)==null?void 0:v.length};return t?R(t,{...b}):null};B.displayName=W;export{B as a};
@@ -1 +0,0 @@
1
- import a from"react";var i=s=>{let[n,t]=a.useState(!1),r=a.useCallback(e=>{e.matches?t(!0):t(!1)},[]);return a.useEffect(()=>{let e=window.matchMedia(`(max-width: ${s}px)`);return e.addEventListener("change",r),e.matches&&t(!0),()=>e.removeEventListener("change",r)},[]),n};export{i as a};
@@ -1 +0,0 @@
1
- export declare const useMediaQuery: (width: string) => boolean;
@@ -1 +0,0 @@
1
- "use strict";var d=Object.create;var n=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var o=Object.getOwnPropertyNames;var h=Object.getPrototypeOf,m=Object.prototype.hasOwnProperty;var f=(e,t)=>{for(var a in t)n(e,a,{get:t[a],enumerable:!0})},i=(e,t,a,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of o(t))!m.call(e,r)&&r!==a&&n(e,r,{get:()=>t[r],enumerable:!(s=u(t,r))||s.enumerable});return e};var g=(e,t,a)=>(a=e!=null?d(h(e)):{},i(t||!e||!e.__esModule?n(a,"default",{value:e,enumerable:!0}):a,e)),l=e=>i(n({},"__esModule",{value:!0}),e);var v={};f(v,{useMediaQuery:()=>p});module.exports=l(v);var c=g(require("react")),p=e=>{let[t,a]=c.default.useState(!1),s=c.default.useCallback(r=>{r.matches?a(!0):a(!1)},[]);return c.default.useEffect(()=>{let r=window.matchMedia(`(max-width: ${e}px)`);return r.addEventListener("change",s),r.matches&&a(!0),()=>r.removeEventListener("change",s)},[]),t};0&&(module.exports={useMediaQuery});
@@ -1 +0,0 @@
1
- import{a}from"../chunk-NFO6QLL6.mjs";export{a as useMediaQuery};
package/dist/index.d.ts DELETED
@@ -1,5 +0,0 @@
1
- export * from "./portfolio";
2
- export * from "./portfolio_a";
3
- export * from "./portfolio_b";
4
- export * from "./portfolio_c";
5
- export * from "./portfolio_d";
package/dist/index.js DELETED
@@ -1,2 +0,0 @@
1
- "use client";
2
- "use strict";var Pe=Object.create;var R=Object.defineProperty;var Te=Object.getOwnPropertyDescriptor;var oe=Object.getOwnPropertyNames;var Re=Object.getPrototypeOf,Se=Object.prototype.hasOwnProperty;var ye=(e,l)=>{for(var a in l)R(e,a,{get:l[a],enumerable:!0})},ie=(e,l,a,i)=>{if(l&&typeof l=="object"||typeof l=="function")for(let r of oe(l))!Se.call(e,r)&&r!==a&&R(e,r,{get:()=>l[r],enumerable:!(i=Te(l,r))||i.enumerable});return e};var V=(e,l,a)=>(a=e!=null?Pe(Re(e)):{},ie(l||!e||!e.__esModule?R(a,"default",{value:e,enumerable:!0}):a,e)),Ce=e=>ie(R({},"__esModule",{value:!0}),e);var Ve={};ye(Ve,{Portfolio:()=>ke,Portfolio_A:()=>C,Portfolio_B:()=>z,Portfolio_C:()=>E,Portfolio_D:()=>X});module.exports=Ce(Ve);var y=require("@stackshift-ui/button"),q=require("@stackshift-ui/container"),S=require("@stackshift-ui/flex"),ae=require("@stackshift-ui/heading"),re=require("@stackshift-ui/image"),G=require("@stackshift-ui/link"),me=require("@stackshift-ui/section"),se=require("@stackshift-ui/text"),K=V(require("react")),O=require("@stackshift-ui/system"),b=require("react/jsx-runtime");function C({caption:e,title:l,portfoliosWithCategory:a,length:i=8}){var f;let r=i,[m,d]=K.default.useState((f=a==null?void 0:a[0])==null?void 0:f.category),x=a==null?void 0:a.find(h=>(h==null?void 0:h.category)===m);return(0,b.jsx)(me.Section,{className:"py-20 bg-background",children:(0,b.jsxs)(q.Container,{maxWidth:1280,children:[(0,b.jsxs)(q.Container,{maxWidth:512,className:"mb-8 text-center md:mb-16",children:[(0,b.jsx)(Ie,{caption:e,title:l}),(0,b.jsx)(Fe,{categories:a,activeTab:m,onClickFn:d})]}),(0,b.jsx)($e,{portfolios:x==null?void 0:x.content,portfolioLength:r}),(0,b.jsx)(_e,{button:x==null?void 0:x.primaryButton})]})})}function Ie({caption:e,title:l}){return!e||!l?null:(0,b.jsxs)(K.default.Fragment,{children:[(0,b.jsx)(se.Text,{weight:"semibold",children:e}),(0,b.jsx)(ae.Heading,{className:"mb-6",fontSize:"2xl",children:l})]})}function _e({button:e}){if(!(e!=null&&e.label))return null;let l=(0,O.buildSanityLink)(e);return(0,b.jsx)("div",{className:"text-center",children:(0,b.jsx)(y.Button,{asChild:!0,"aria-label":e==null?void 0:e.label,children:(0,b.jsx)(G.Link,{href:l.href,target:l.target,rel:l.rel,children:e==null?void 0:e.label})})})}function Fe({categories:e,activeTab:l,onClickFn:a}){return!e||(e==null?void 0:e.length)===0?null:(0,b.jsx)(S.Flex,{className:"inline-flex px-2 py-1 text-sm bg-white rounded",wrap:!0,children:e==null?void 0:e.map((i,r)=>{var m;return(0,b.jsx)(y.Button,{variant:"ghost","aria-label":(m=i==null?void 0:i.category)!=null?m:`Category button ${r+1}`,className:"my-1 data-[active=true]:text-primary","data-active":l===(i==null?void 0:i.category),onClick:()=>a==null?void 0:a(i==null?void 0:i.category),children:i==null?void 0:i.category},i==null?void 0:i._key)})})}function $e({portfolios:e,portfolioLength:l}){var a;return!e||(e==null?void 0:e.length)===0?null:(0,b.jsx)(S.Flex,{wrap:!0,className:"mb-8",children:(a=e==null?void 0:e.slice(0,l))==null?void 0:a.map((i,r)=>{var d,x,f,h,v,w,N;let m=(0,O.buildSanityLink)(i.primaryButton);return(0,b.jsx)(S.Flex,{className:"w-full space-x-5 px-4 mb-8 sm:w-1/2 lg:w-1/4",children:(0,b.jsxs)("div",{className:"relative mx-auto h-[256px] w-[332px] overflow-hidden rounded-md",children:[((d=i==null?void 0:i.mainImage)==null?void 0:d.image)&&(0,b.jsx)(re.Image,{className:"object-cover w-full h-full",src:(x=i==null?void 0:i.mainImage)==null?void 0:x.image,alt:(h=(f=i==null?void 0:i.mainImage)==null?void 0:f.alt)!=null?h:`portfolio-image-${r}`}),(0,b.jsx)("div",{className:"absolute inset-0 z-10 flex items-center justify-center duration-300 bg-slate-900 rounded-md opacity-0 hover:opacity-75",children:((v=i==null?void 0:i.primaryButton)==null?void 0:v.label)&&(0,b.jsx)(y.Button,{asChild:!0,variant:"outline","aria-abel":(w=i==null?void 0:i.primaryButton)==null?void 0:w.label,className:"w-fit h-fit flex items-center justify-center bg-transparent border-secondary outline text-white hover:bg-secondary/20 hover:border-secondary/20 rounded-global hover:text-secondary-foreground font-bold transition duration-200 px-3 py-4",children:(0,b.jsx)(G.Link,{href:m.href,target:m.target,rel:m.rel,children:(N=i==null?void 0:i.primaryButton)==null?void 0:N.label})})})]})},i==null?void 0:i._key)})})}function z({caption:e,title:l,portfolios:a,primaryButton:i,length:r=6}){let m=r,d=(0,O.buildSanityLink)(i);return(0,b.jsx)(me.Section,{className:"py-20 bg-background",children:(0,b.jsxs)(q.Container,{maxWidth:1280,children:[(0,b.jsxs)($.Flex,{wrap:!0,align:"center",justify:"center",className:"mb-16 md:justify-between",children:[(0,b.jsx)(ze,{caption:e,title:l}),(0,b.jsx)("div",{className:"hidden mt-5 text-right md:mt-0 lg:mt-0 lg:block xl:mt-0",children:(i==null?void 0:i.label)&&(0,b.jsx)(y.Button,{asChild:!0,"aria-label":i==null?void 0:i.label,variant:"link",children:(0,b.jsx)(G.Link,{href:d.href,target:d.target,rel:d.rel,children:i==null?void 0:i.label})})})]}),(0,b.jsx)(je,{portfolios:a,portfolioLength:m}),(0,b.jsx)("div",{className:"block mt-5 text-center md:mt-0 lg:mt-0 lg:hidden xl:mt-0",children:(i==null?void 0:i.label)&&(0,b.jsx)(y.Button,{asChild:!0,"aria-label":i==null?void 0:i.label,variant:"link",children:(0,b.jsx)(G.Link,{href:d.href,target:d.target,rel:d.rel,children:i==null?void 0:i.label})})})]})})}function ze({caption:e,title:l}){return!e||!l?null:(0,b.jsxs)("div",{className:"text-center lg:text-left",children:[(0,b.jsx)(se.Text,{weight:"semibold",children:e}),(0,b.jsx)(ae.Heading,{className:"mb-6",fontSize:"2xl",children:l})]})}function Ae({content:e}){var a,i,r,m,d,x,f,h,v;let l=(0,O.buildSanityLink)(e.primaryButton);return(0,b.jsx)("div",{className:"w-full px-4 mb-4 md:w-1/2 lg:w-1/3",children:(0,b.jsxs)("div",{className:"relative mx-auto overflow-hidden rounded-md md:mb-5",children:[((a=e==null?void 0:e.mainImage)==null?void 0:a.image)&&(0,b.jsx)(re.Image,{className:"object-cover w-full h-80",src:(i=e==null?void 0:e.mainImage)==null?void 0:i.image,width:480,height:320,alt:(m=(r=e==null?void 0:e.mainImage)==null?void 0:r.alt)!=null?m:"portfolio-image"}),(0,b.jsxs)($.Flex,{direction:"col",align:"start",className:"absolute inset-0 z-10 items-start p-6 duration-300 bg-slate-900 rounded opacity-0 hover:opacity-75",children:[(0,b.jsx)(se.Text,{className:"text-secondary",children:e==null?void 0:e.dateAdded}),(e==null?void 0:e.title)&&(0,b.jsx)(se.Text,{weight:"bold",className:"mb-auto text-white md:text-xl lg:text-2xl",children:((d=e==null?void 0:e.title)==null?void 0:d.length)>80?`${(x=e==null?void 0:e.title)==null?void 0:x.substring(0,80)}...`:e==null?void 0:e.title}),((f=e==null?void 0:e.primaryButton)==null?void 0:f.label)&&(0,b.jsx)(y.Button,{asChild:!0,variant:"outline","aria-label":(h=e==null?void 0:e.primaryButton)==null?void 0:h.label,className:"w-fit h-fit flex items-center justify-center bg-transparent border-secondary outline text-white hover:bg-secondary/20 hover:border-secondary/20 rounded-global hover:text-secondary-foreground font-bold transition duration-200 px-3 py-4",children:(0,b.jsx)(G.Link,{href:l.href,target:l.target,rel:l.rel,children:(v=e==null?void 0:e.primaryButton)==null?void 0:v.label})})]})]})})}function je({portfolios:e,portfolioLength:l}){return!e||(e==null?void 0:e.length)===0?null:(0,b.jsx)($.Flex,{wrap:!0,className:"mb-4 ",children:e==null?void 0:e.slice(0,l).map(a=>(0,b.jsx)(Ae,{content:a},a._key))})}function E({caption:e,title:l,portfolios:a,primaryButton:i,length:r=6}){let m=r,d=(0,O.buildSanityLink)(i);return(0,b.jsx)(me.Section,{className:"py-20 bg-background",children:(0,b.jsxs)(q.Container,{maxWidth:1280,children:[(0,b.jsxs)(S.Flex,{wrap:!0,align:"center",justify:"center",className:"mb-16 md:justify-between",children:[(0,b.jsx)(He,{caption:e,title:l}),(0,b.jsx)("div",{className:"hidden mt-5 text-right md:mt-0 lg:mt-0 lg:block xl:mt-0",children:(i==null?void 0:i.label)&&(0,b.jsx)(y.Button,{asChild:!0,"aria-label":i==null?void 0:i.label,children:(0,b.jsx)(G.Link,{href:d.href,target:d.target,rel:d.rel,children:i==null?void 0:i.label})})})]}),(0,b.jsx)(De,{portfolios:a,portfolioLength:m}),(0,b.jsx)("div",{className:"block mt-5 text-center md:mt-0 lg:mt-0 lg:hidden xl:mt-0",children:(i==null?void 0:i.label)&&(0,b.jsx)(y.Button,{asChild:!0,"aria-label":i==null?void 0:i.label,children:(0,b.jsx)(G.Link,{href:d.href,target:d.target,rel:d.rel,children:i==null?void 0:i.label})})})]})})}function He({caption:e,title:l}){return!e||!l?null:(0,b.jsxs)("div",{className:"text-center lg:text-left",children:[(0,b.jsx)(se.Text,{weight:"semibold",children:e}),(0,b.jsx)(ae.Heading,{className:"mb-6",fontSize:"2xl",children:l})]})}function Ee({content:e}){var a,i,r,m,d,x,f,h,v;let l=(0,O.buildSanityLink)(e.primaryButton);return(0,b.jsx)("div",{className:"relative w-full px-4 mb-8 md:w-1/2 lg:w-1/3",children:((a=e==null?void 0:e.mainImage)==null?void 0:a.image)&&(0,b.jsxs)("div",{className:"h-full overflow-hidden bg-white rounded-md",style:{maxHeight:"600px"},children:[(0,b.jsx)(re.Image,{className:"object-cover w-full h-80",src:(i=e==null?void 0:e.mainImage)==null?void 0:i.image,width:480,height:320,alt:(m=(r=e==null?void 0:e.mainImage)==null?void 0:r.alt)!=null?m:"portfolio-image"}),(0,b.jsxs)("div",{className:"p-6",children:[(0,b.jsx)(se.Text,{muted:!0,children:e==null?void 0:e.dateAdded}),(e==null?void 0:e.title)&&(0,b.jsx)(se.Text,{weight:"bold",fontSize:"xl",className:"mb-4",children:((d=e==null?void 0:e.title)==null?void 0:d.length)>31?`${(x=e==null?void 0:e.title)==null?void 0:x.substring(0,31)}...`:e==null?void 0:e.title}),((f=e==null?void 0:e.primaryButton)==null?void 0:f.label)&&(0,b.jsx)(y.Button,{asChild:!0,variant:"link","aria-label":(h=e==null?void 0:e.primaryButton)==null?void 0:h.label,className:"font-bold no-underline text-primary transition-200 hover:text-primary/50 px-0",children:(0,b.jsx)(G.Link,{href:l.href,target:l.target,rel:l.rel,children:(v=e==null?void 0:e.primaryButton)==null?void 0:v.label})})]})]})})}function De({portfolios:e,portfolioLength:l}){return!e||(e==null?void 0:e.length)===0?null:(0,b.jsx)(S.Flex,{wrap:!0,className:"mb-4",children:e==null?void 0:e.slice(0,l).map(a=>(0,b.jsx)(Ee,{content:a},a._key))})}var n=V(require("react"));var D=V(require("react")),pe=e=>{let[l,a]=D.default.useState(!1),i=D.default.useCallback(r=>{r.matches?a(!0):a(!1)},[]);return D.default.useEffect(()=>{let r=window.matchMedia(`(max-width: ${e}px)`);return r.addEventListener("change",i),r.matches&&a(!0),()=>r.removeEventListener("change",i)},[]),l};function X({caption:e,title:l,portfoliosWithCategory:a,length:i=6}){var h,v,w,N,k,L,P,T,o;let r=i,m=0,[d,x]=n.default.useState((h=a==null?void 0:a[0])==null?void 0:h.category),f=a==null?void 0:a.find(p=>(p==null?void 0:p.category)===d);return(0,b.jsx)(me.Section,{className:"py-20 bg-background",children:(0,b.jsxs)(q.Container,{maxWidth:1280,children:[(0,b.jsxs)(q.Container,{maxWidth:512,className:"mb-8 text-center md:mb-16",children:[(0,b.jsx)(Me,{caption:e,title:l}),(0,b.jsx)(Qe,{categories:a,activeTab:d,onClickFn:x})]}),(0,b.jsxs)("div",{className:"mb-12 sm:flex",children:[(0,b.jsxs)(S.Flex,{wrap:!0,className:"w-full mb-8 lg:mb-0 lg:w-1/2",children:[(w=(v=f==null?void 0:f.content)==null?void 0:v.slice(m,m+2))==null?void 0:w.map(p=>(0,b.jsx)(M,{size:"sm",content:p},p._key)),(k=(N=f==null?void 0:f.content)==null?void 0:N.slice(m+2,m+3))==null?void 0:k.map(p=>(0,b.jsx)(M,{size:"lg",content:p},p._key))]}),(0,b.jsxs)("div",{className:"w-full lg:w-1/2",children:[(P=(L=f==null?void 0:f.content)==null?void 0:L.slice(m+3,m+4))==null?void 0:P.map(p=>(0,b.jsx)(M,{size:"lg",content:p},p._key)),(0,b.jsx)("div",{className:"flex flex-wrap",children:(o=(T=f==null?void 0:f.content)==null?void 0:T.slice(m+4,r))==null?void 0:o.map(p=>(0,b.jsx)(M,{size:"sm",content:p},p._key))})]})]}),(0,b.jsx)(Je,{button:f==null?void 0:f.primaryButton})]})})}function Me({caption:e,title:l}){return!e||!l?null:(0,b.jsxs)(n.default.Fragment,{children:[(0,b.jsx)(se.Text,{weight:"semibold",children:e}),(0,b.jsx)(ae.Heading,{className:"mb-6",fontSize:"2xl",children:l})]})}function Je({button:e}){if(!(e!=null&&e.label))return null;let l=(0,O.buildSanityLink)(e);return(0,b.jsx)("div",{className:"text-center",children:(0,b.jsx)(y.Button,{asChild:!0,"aria-label":e==null?void 0:e.label,children:(0,b.jsx)(G.Link,{href:l.href,target:l.target,rel:l.rel,children:e==null?void 0:e.label})})})}function Qe({categories:e,activeTab:l,onClickFn:a}){return!e||(e==null?void 0:e.length)===0?null:(0,b.jsx)(S.Flex,{className:"inline-flex px-2 py-1 text-sm bg-white rounded",wrap:!0,children:e==null?void 0:e.map((i,r)=>{var m;return(0,b.jsx)(y.Button,{variant:"ghost","aria-label":(m=i==null?void 0:i.category)!=null?m:`Category button ${r+1}`,className:"my-1 data-[active=true]:text-primary","data-active":l===(i==null?void 0:i.category),onClick:()=>a==null?void 0:a(i==null?void 0:i.category),children:i==null?void 0:i.category},i==null?void 0:i._key)})})}function M({size:e,content:l}){var m,d,x,f,h,v,w,N,k,L,P,T,o;let i=pe("639")?40:90,r=(0,O.buildSanityLink)(l==null?void 0:l.primaryButton);return(0,b.jsx)("div",{className:`w-full px-4 mb-8 ${e==="lg"?"w-full":"lg:w-1/2"}`,children:((m=l==null?void 0:l.mainImage)==null?void 0:m.image)&&(0,b.jsxs)("div",{className:"relative overflow-hidden rounded-md",children:[(0,b.jsx)(re.Image,{className:`object-cover w-full ${e==="lg"?"h-128":"h-64"}`,src:(d=l==null?void 0:l.mainImage)==null?void 0:d.image,alt:(f=(x=l==null?void 0:l.mainImage)==null?void 0:x.alt)!=null?f:`portfolio-image-${l==null?void 0:l._key}`}),(0,b.jsx)("div",{className:"absolute inset-0 z-10 justify-center p-6 duration-300 bg-slate-900 rounded-md opacity-0 hover:opacity-80",children:(0,b.jsxs)("div",{className:"max-w-md my-auto text-xs",children:[(l==null?void 0:l.subtitle)&&(0,b.jsx)(se.Text,{className:"text-sm text-primary",weight:"bold",children:((h=l==null?void 0:l.subtitle)==null?void 0:h.length)>26?`${(v=l==null?void 0:l.subtitle)==null?void 0:v.substring(0,26)}...`:l==null?void 0:l.subtitle}),(l==null?void 0:l.title)&&(0,b.jsx)(ae.Heading,{weight:"bold",className:`my-5 text-white ${e==="lg"?"text-sm md:text-xl":"text-sm"}`,children:((w=l==null?void 0:l.title)==null?void 0:w.length)>38?`${(N=l==null?void 0:l.title)==null?void 0:N.substring(0,38)}...`:l==null?void 0:l.title}),(0,b.jsxs)("div",{className:"max-w-xs my-5",children:[(l==null?void 0:l.description)&&(0,b.jsx)(se.Text,{fontSize:"xs",muted:!0,className:"mb-6 text-white",children:((k=l==null?void 0:l.description)==null?void 0:k.length)>i?`${(L=l==null?void 0:l.description)==null?void 0:L.substring(0,i)}...`:l==null?void 0:l.description}),((P=l==null?void 0:l.primaryButton)==null?void 0:P.label)&&(0,b.jsx)(y.Button,{asChild:!0,variant:"outline","aria-label":(T=l==null?void 0:l.primaryButton)==null?void 0:T.label,className:"w-fit h-fit flex items-center justify-center bg-transparent border-secondary outline text-white hover:bg-secondary/20 hover:border-secondary/20 rounded-global hover:text-secondary-foreground font-bold transition duration-200 px-3 py-4",children:(0,b.jsx)(G.Link,{href:r.href,target:r.target,rel:r.rel,children:(o=l==null?void 0:l.primaryButton)==null?void 0:o.label})})]})]})})]})})}var le={variant_a:C,variant_b:z,variant_c:E,variant_d:X},Xe="Portfolio",ke=({data:e})=>{var r,m,d,x,f,h,v,w,N,k,L;let l=e==null?void 0:e.variant,a=l&&(le==null?void 0:le[l]),i={caption:(m=(r=e==null?void 0:e.variants)==null?void 0:r.subtitle)!=null?m:void 0,title:(x=(d=e==null?void 0:e.variants)==null?void 0:d.title)!=null?x:void 0,portfoliosWithCategory:(h=(f=e==null?void 0:e.variants)==null?void 0:f.portfoliosWithCategories)!=null?h:void 0,portfolios:(w=(v=e==null?void 0:e.variants)==null?void 0:v.portfolios)!=null?w:void 0,primaryButton:(k=(N=e==null?void 0:e.variants)==null?void 0:N.primaryButton)!=null?k:void 0,length:(L=e==null?void 0:e.variants)==null?void 0:L.length};return a?(0,b.jsx)(a,{...i}):null};ke.displayName=Xe;0&&(module.exports={Portfolio,Portfolio_A,Portfolio_B,Portfolio_C,Portfolio_D});
package/dist/index.mjs DELETED
@@ -1,2 +0,0 @@
1
- "use client";
2
- "use strict";import{a as f}from"./chunk-KOBQCNWZ.mjs";import{a as o}from"./chunk-3YRBUX6P.mjs";import{a as r}from"./chunk-FLYHWMQD.mjs";import{a as e}from"./chunk-EM2WNMO2.mjs";import{a as t}from"./chunk-77S7T6ST.mjs";import"./chunk-NFO6QLL6.mjs";export{f as Portfolio,o as Portfolio_A,r as Portfolio_B,e as Portfolio_C,t as Portfolio_D};
@@ -1,11 +0,0 @@
1
- import React from "react";
2
- import { LabeledRoute, Portfolios, PortfoliosWithCategories, SectionsProps } from "./types";
3
- export interface PortfolioProps {
4
- caption?: string;
5
- title?: string;
6
- portfoliosWithCategory?: PortfoliosWithCategories[];
7
- portfolios?: Portfolios[];
8
- primaryButton?: LabeledRoute;
9
- length?: number;
10
- }
11
- export declare const Portfolio: React.FC<SectionsProps>;
package/dist/portfolio.js DELETED
@@ -1 +0,0 @@
1
- "use strict";var Pl=Object.create;var S=Object.defineProperty;var Tl=Object.getOwnPropertyDescriptor;var Rl=Object.getOwnPropertyNames;var Sl=Object.getPrototypeOf,yl=Object.prototype.hasOwnProperty;var ol=(l,e)=>{for(var a in e)S(l,a,{get:e[a],enumerable:!0})},il=(l,e,a,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of Rl(e))!yl.call(l,r)&&r!==a&&S(l,r,{get:()=>e[r],enumerable:!(i=Tl(e,r))||i.enumerable});return l};var M=(l,e,a)=>(a=l!=null?Pl(Sl(l)):{},il(e||!l||!l.__esModule?S(a,"default",{value:l,enumerable:!0}):a,l)),Cl=l=>il(S({},"__esModule",{value:!0}),l);var Vl={};ol(Vl,{Portfolio:()=>kl});module.exports=Cl(Vl);var o=require("@stackshift-ui/button"),J=require("@stackshift-ui/container"),y=require("@stackshift-ui/flex"),al=require("@stackshift-ui/heading"),rl=require("@stackshift-ui/image"),Q=require("@stackshift-ui/link"),ml=require("@stackshift-ui/section"),sl=require("@stackshift-ui/text"),X=M(require("react")),V=require("@stackshift-ui/system"),b=require("react/jsx-runtime");function q({caption:l,title:e,portfoliosWithCategory:a,length:i=8}){var f;let r=i,[m,d]=X.default.useState((f=a==null?void 0:a[0])==null?void 0:f.category),x=a==null?void 0:a.find(h=>(h==null?void 0:h.category)===m);return(0,b.jsx)(ml.Section,{className:"py-20 bg-background",children:(0,b.jsxs)(J.Container,{maxWidth:1280,children:[(0,b.jsxs)(J.Container,{maxWidth:512,className:"mb-8 text-center md:mb-16",children:[(0,b.jsx)(Il,{caption:l,title:e}),(0,b.jsx)(Fl,{categories:a,activeTab:m,onClickFn:d})]}),(0,b.jsx)($l,{portfolios:x==null?void 0:x.content,portfolioLength:r}),(0,b.jsx)(_l,{button:x==null?void 0:x.primaryButton})]})})}function Il({caption:l,title:e}){return!l||!e?null:(0,b.jsxs)(X.default.Fragment,{children:[(0,b.jsx)(sl.Text,{weight:"semibold",children:l}),(0,b.jsx)(al.Heading,{className:"mb-6",fontSize:"2xl",children:e})]})}function _l({button:l}){if(!(l!=null&&l.label))return null;let e=(0,V.buildSanityLink)(l);return(0,b.jsx)("div",{className:"text-center",children:(0,b.jsx)(o.Button,{asChild:!0,"aria-label":l==null?void 0:l.label,children:(0,b.jsx)(Q.Link,{href:e.href,target:e.target,rel:e.rel,children:l==null?void 0:l.label})})})}function Fl({categories:l,activeTab:e,onClickFn:a}){return!l||(l==null?void 0:l.length)===0?null:(0,b.jsx)(y.Flex,{className:"inline-flex px-2 py-1 text-sm bg-white rounded",wrap:!0,children:l==null?void 0:l.map((i,r)=>{var m;return(0,b.jsx)(o.Button,{variant:"ghost","aria-label":(m=i==null?void 0:i.category)!=null?m:`Category button ${r+1}`,className:"my-1 data-[active=true]:text-primary","data-active":e===(i==null?void 0:i.category),onClick:()=>a==null?void 0:a(i==null?void 0:i.category),children:i==null?void 0:i.category},i==null?void 0:i._key)})})}function $l({portfolios:l,portfolioLength:e}){var a;return!l||(l==null?void 0:l.length)===0?null:(0,b.jsx)(y.Flex,{wrap:!0,className:"mb-8",children:(a=l==null?void 0:l.slice(0,e))==null?void 0:a.map((i,r)=>{var d,x,f,h,v,w,N;let m=(0,V.buildSanityLink)(i.primaryButton);return(0,b.jsx)(y.Flex,{className:"w-full space-x-5 px-4 mb-8 sm:w-1/2 lg:w-1/4",children:(0,b.jsxs)("div",{className:"relative mx-auto h-[256px] w-[332px] overflow-hidden rounded-md",children:[((d=i==null?void 0:i.mainImage)==null?void 0:d.image)&&(0,b.jsx)(rl.Image,{className:"object-cover w-full h-full",src:(x=i==null?void 0:i.mainImage)==null?void 0:x.image,alt:(h=(f=i==null?void 0:i.mainImage)==null?void 0:f.alt)!=null?h:`portfolio-image-${r}`}),(0,b.jsx)("div",{className:"absolute inset-0 Q-10 flex items-center justify-center duration-300 bg-slate-900 rounded-md opacity-0 hover:opacity-75",children:((v=i==null?void 0:i.primaryButton)==null?void 0:v.label)&&(0,b.jsx)(o.Button,{asChild:!0,variant:"outline","aria-abel":(w=i==null?void 0:i.primaryButton)==null?void 0:w.label,className:"w-fit h-fit flex items-center justify-center bg-transparent border-secondary outline text-white hover:bg-secondary/20 hover:border-secondary/20 rounded-global hover:text-secondary-foreground font-bold transition duration-200 px-3 py-4",children:(0,b.jsx)(Q.Link,{href:m.href,target:m.target,rel:m.rel,children:(N=i==null?void 0:i.primaryButton)==null?void 0:N.label})})})]})},i==null?void 0:i._key)})})}function K({caption:l,title:e,portfolios:a,primaryButton:i,length:r=6}){let m=r,d=(0,V.buildSanityLink)(i);return(0,b.jsx)(ml.Section,{className:"py-20 bg-background",children:(0,b.jsxs)(J.Container,{maxWidth:1280,children:[(0,b.jsxs)(y.Flex,{wrap:!0,align:"center",justify:"center",className:"mb-16 md:justify-between",children:[(0,b.jsx)(zl,{caption:l,title:e}),(0,b.jsx)("div",{className:"hidden mt-5 text-right md:mt-0 lg:mt-0 lg:block al:mt-0",children:(i==null?void 0:i.label)&&(0,b.jsx)(o.Button,{asChild:!0,"aria-label":i==null?void 0:i.label,variant:"link",children:(0,b.jsx)(Q.Link,{href:d.href,target:d.target,rel:d.rel,children:i==null?void 0:i.label})})})]}),(0,b.jsx)(jl,{portfolios:a,portfolioLength:m}),(0,b.jsx)("div",{className:"block mt-5 text-center md:mt-0 lg:mt-0 lg:hidden al:mt-0",children:(i==null?void 0:i.label)&&(0,b.jsx)(o.Button,{asChild:!0,"aria-label":i==null?void 0:i.label,variant:"link",children:(0,b.jsx)(Q.Link,{href:d.href,target:d.target,rel:d.rel,children:i==null?void 0:i.label})})})]})})}function zl({caption:l,title:e}){return!l||!e?null:(0,b.jsxs)("div",{className:"text-center lg:text-left",children:[(0,b.jsx)(sl.Text,{weight:"semibold",children:l}),(0,b.jsx)(al.Heading,{className:"mb-6",fontSize:"2xl",children:e})]})}function Al({content:l}){var a,i,r,m,d,x,f,h,v;let e=(0,V.buildSanityLink)(l.primaryButton);return(0,b.jsx)("div",{className:"w-full px-4 mb-4 md:w-1/2 lg:w-1/3",children:(0,b.jsxs)("div",{className:"relative mx-auto overflow-hidden rounded-md md:mb-5",children:[((a=l==null?void 0:l.mainImage)==null?void 0:a.image)&&(0,b.jsx)(rl.Image,{className:"object-cover w-full h-80",src:(i=l==null?void 0:l.mainImage)==null?void 0:i.image,width:480,height:320,alt:(m=(r=l==null?void 0:l.mainImage)==null?void 0:r.alt)!=null?m:"portfolio-image"}),(0,b.jsxs)(y.Flex,{direction:"col",align:"start",className:"absolute inset-0 Q-10 items-start p-6 duration-300 bg-slate-900 rounded opacity-0 hover:opacity-75",children:[(0,b.jsx)(sl.Text,{className:"text-secondary",children:l==null?void 0:l.dateAdded}),(l==null?void 0:l.title)&&(0,b.jsx)(sl.Text,{weight:"bold",className:"mb-auto text-white md:text-al lg:text-2xl",children:((d=l==null?void 0:l.title)==null?void 0:d.length)>80?`${(x=l==null?void 0:l.title)==null?void 0:x.substring(0,80)}...`:l==null?void 0:l.title}),((f=l==null?void 0:l.primaryButton)==null?void 0:f.label)&&(0,b.jsx)(o.Button,{asChild:!0,variant:"outline","aria-label":(h=l==null?void 0:l.primaryButton)==null?void 0:h.label,className:"w-fit h-fit flex items-center justify-center bg-transparent border-secondary outline text-white hover:bg-secondary/20 hover:border-secondary/20 rounded-global hover:text-secondary-foreground font-bold transition duration-200 px-3 py-4",children:(0,b.jsx)(Q.Link,{href:e.href,target:e.target,rel:e.rel,children:(v=l==null?void 0:l.primaryButton)==null?void 0:v.label})})]})]})})}function jl({portfolios:l,portfolioLength:e}){return!l||(l==null?void 0:l.length)===0?null:(0,b.jsx)(y.Flex,{wrap:!0,className:"mb-4 ",children:l==null?void 0:l.slice(0,e).map(a=>(0,b.jsx)(Al,{content:a},a._key))})}function Y({caption:l,title:e,portfolios:a,primaryButton:i,length:r=6}){let m=r,d=(0,V.buildSanityLink)(i);return(0,b.jsx)(ml.Section,{className:"py-20 bg-background",children:(0,b.jsxs)(J.Container,{maxWidth:1280,children:[(0,b.jsxs)(y.Flex,{wrap:!0,align:"center",justify:"center",className:"mb-16 md:justify-between",children:[(0,b.jsx)(Hl,{caption:l,title:e}),(0,b.jsx)("div",{className:"hidden mt-5 text-right md:mt-0 lg:mt-0 lg:block al:mt-0",children:(i==null?void 0:i.label)&&(0,b.jsx)($.Button,{asChild:!0,"aria-label":i==null?void 0:i.label,children:(0,b.jsx)(Q.Link,{href:d.href,target:d.target,rel:d.rel,children:i==null?void 0:i.label})})})]}),(0,b.jsx)(Dl,{portfolios:a,portfolioLength:m}),(0,b.jsx)("div",{className:"block mt-5 text-center md:mt-0 lg:mt-0 lg:hidden al:mt-0",children:(i==null?void 0:i.label)&&(0,b.jsx)($.Button,{asChild:!0,"aria-label":i==null?void 0:i.label,children:(0,b.jsx)(Q.Link,{href:d.href,target:d.target,rel:d.rel,children:i==null?void 0:i.label})})})]})})}function Hl({caption:l,title:e}){return!l||!e?null:(0,b.jsxs)("div",{className:"text-center lg:text-left",children:[(0,b.jsx)(sl.Text,{weight:"semibold",children:l}),(0,b.jsx)(al.Heading,{className:"mb-6",fontSize:"2xl",children:e})]})}function El({content:l}){var a,i,r,m,d,x,f,h,v;let e=(0,V.buildSanityLink)(l.primaryButton);return(0,b.jsx)("div",{className:"relative w-full px-4 mb-8 md:w-1/2 lg:w-1/3",children:((a=l==null?void 0:l.mainImage)==null?void 0:a.image)&&(0,b.jsxs)("div",{className:"h-full overflow-hidden bg-white rounded-md",style:{maxHeight:"600px"},children:[(0,b.jsx)(rl.Image,{className:"object-cover w-full h-80",src:(i=l==null?void 0:l.mainImage)==null?void 0:i.image,width:480,height:320,alt:(m=(r=l==null?void 0:l.mainImage)==null?void 0:r.alt)!=null?m:"portfolio-image"}),(0,b.jsxs)("div",{className:"p-6",children:[(0,b.jsx)(sl.Text,{muted:!0,children:l==null?void 0:l.dateAdded}),(l==null?void 0:l.title)&&(0,b.jsx)(sl.Text,{weight:"bold",fontSize:"al",className:"mb-4",children:((d=l==null?void 0:l.title)==null?void 0:d.length)>31?`${(x=l==null?void 0:l.title)==null?void 0:x.substring(0,31)}...`:l==null?void 0:l.title}),((f=l==null?void 0:l.primaryButton)==null?void 0:f.label)&&(0,b.jsx)($.Button,{asChild:!0,variant:"link","aria-label":(h=l==null?void 0:l.primaryButton)==null?void 0:h.label,className:"font-bold no-underline text-primary transition-200 hover:text-primary/50 px-0",children:(0,b.jsx)(Q.Link,{href:e.href,target:e.target,rel:e.rel,children:(v=l==null?void 0:l.primaryButton)==null?void 0:v.label})})]})]})})}function Dl({portfolios:l,portfolioLength:e}){return!l||(l==null?void 0:l.length)===0?null:(0,b.jsx)(y.Flex,{wrap:!0,className:"mb-4",children:l==null?void 0:l.slice(0,e).map(a=>(0,b.jsx)(El,{content:a},a._key))})}var c=M(require("react"));var j=M(require("react")),pl=l=>{let[e,a]=j.default.useState(!1),i=j.default.useCallback(r=>{r.matches?a(!0):a(!1)},[]);return j.default.useEffect(()=>{let r=window.matchMedia(`(max-width: ${l}px)`);return r.addEventListener("change",i),r.matches&&a(!0),()=>r.removeEventListener("change",i)},[]),e};function ll({caption:l,title:e,portfoliosWithCategory:a,length:i=6}){var h,v,w,N,k,L,P,T,R;let r=i,m=0,[d,x]=c.default.useState((h=a==null?void 0:a[0])==null?void 0:h.category),f=a==null?void 0:a.find(p=>(p==null?void 0:p.category)===d);return(0,b.jsx)(ml.Section,{className:"py-20 bg-background",children:(0,b.jsxs)(J.Container,{maxWidth:1280,children:[(0,b.jsxs)(J.Container,{maxWidth:512,className:"mb-8 text-center md:mb-16",children:[(0,b.jsx)(Ml,{caption:l,title:e}),(0,b.jsx)(Ql,{categories:a,activeTab:d,onClickFn:x})]}),(0,b.jsxs)("div",{className:"mb-12 sm:flex",children:[(0,b.jsxs)(y.Flex,{wrap:!0,className:"w-full mb-8 lg:mb-0 lg:w-1/2",children:[(w=(v=f==null?void 0:f.content)==null?void 0:v.slice(m,m+2))==null?void 0:w.map(p=>(0,b.jsx)(H,{size:"sm",content:p},p._key)),(k=(N=f==null?void 0:f.content)==null?void 0:N.slice(m+2,m+3))==null?void 0:k.map(p=>(0,b.jsx)(H,{size:"lg",content:p},p._key))]}),(0,b.jsxs)("div",{className:"w-full lg:w-1/2",children:[(P=(L=f==null?void 0:f.content)==null?void 0:L.slice(m+3,m+4))==null?void 0:P.map(p=>(0,b.jsx)(H,{size:"lg",content:p},p._key)),(0,b.jsx)("div",{className:"flex flex-wrap",children:(R=(T=f==null?void 0:f.content)==null?void 0:T.slice(m+4,r))==null?void 0:R.map(p=>(0,b.jsx)(H,{size:"sm",content:p},p._key))})]})]}),(0,b.jsx)(Jl,{button:f==null?void 0:f.primaryButton})]})})}function Ml({caption:l,title:e}){return!l||!e?null:(0,b.jsxs)(c.default.Fragment,{children:[(0,b.jsx)(sl.Text,{weight:"semibold",children:l}),(0,b.jsx)(al.Heading,{className:"mb-6",fontSize:"2xl",children:e})]})}function Jl({button:l}){if(!(l!=null&&l.label))return null;let e=(0,V.buildSanityLink)(l);return(0,b.jsx)("div",{className:"text-center",children:(0,b.jsx)(o.Button,{asChild:!0,"aria-label":l==null?void 0:l.label,children:(0,b.jsx)(Q.Link,{href:e.href,target:e.target,rel:e.rel,children:l==null?void 0:l.label})})})}function Ql({categories:l,activeTab:e,onClickFn:a}){return!l||(l==null?void 0:l.length)===0?null:(0,b.jsx)(y.Flex,{className:"inline-flex px-2 py-1 text-sm bg-white rounded",wrap:!0,children:l==null?void 0:l.map((i,r)=>{var m;return(0,b.jsx)(o.Button,{variant:"ghost","aria-label":(m=i==null?void 0:i.category)!=null?m:`Category button ${r+1}`,className:"my-1 data-[active=true]:text-primary","data-active":e===(i==null?void 0:i.category),onClick:()=>a==null?void 0:a(i==null?void 0:i.category),children:i==null?void 0:i.category},i==null?void 0:i._key)})})}function H({size:l,content:e}){var m,d,x,f,h,v,w,N,k,L,P,T,R;let i=pl("639")?40:90,r=(0,V.buildSanityLink)(e==null?void 0:e.primaryButton);return(0,b.jsx)("div",{className:`w-full px-4 mb-8 ${l==="lg"?"w-full":"lg:w-1/2"}`,children:((m=e==null?void 0:e.mainImage)==null?void 0:m.image)&&(0,b.jsxs)("div",{className:"relative overflow-hidden rounded-md",children:[(0,b.jsx)(rl.Image,{className:`object-cover w-full ${l==="lg"?"h-128":"h-64"}`,src:(d=e==null?void 0:e.mainImage)==null?void 0:d.image,alt:(f=(x=e==null?void 0:e.mainImage)==null?void 0:x.alt)!=null?f:`portfolio-image-${e==null?void 0:e._key}`}),(0,b.jsx)("div",{className:"absolute inset-0 Q-10 justify-center p-6 duration-300 bg-slate-900 rounded-md opacity-0 hover:opacity-80",children:(0,b.jsxs)("div",{className:"max-w-md my-auto text-xs",children:[(e==null?void 0:e.subtitle)&&(0,b.jsx)(sl.Text,{className:"text-sm text-primary",weight:"bold",children:((h=e==null?void 0:e.subtitle)==null?void 0:h.length)>26?`${(v=e==null?void 0:e.subtitle)==null?void 0:v.substring(0,26)}...`:e==null?void 0:e.subtitle}),(e==null?void 0:e.title)&&(0,b.jsx)(al.Heading,{weight:"bold",className:`my-5 text-white ${l==="lg"?"text-sm md:text-al":"text-sm"}`,children:((w=e==null?void 0:e.title)==null?void 0:w.length)>38?`${(N=e==null?void 0:e.title)==null?void 0:N.substring(0,38)}...`:e==null?void 0:e.title}),(0,b.jsxs)("div",{className:"max-w-xs my-5",children:[(e==null?void 0:e.description)&&(0,b.jsx)(sl.Text,{fontSize:"xs",muted:!0,className:"mb-6 text-white",children:((k=e==null?void 0:e.description)==null?void 0:k.length)>i?`${(L=e==null?void 0:e.description)==null?void 0:L.substring(0,i)}...`:e==null?void 0:e.description}),((P=e==null?void 0:e.primaryButton)==null?void 0:P.label)&&(0,b.jsx)(o.Button,{asChild:!0,variant:"outline","aria-label":(T=e==null?void 0:e.primaryButton)==null?void 0:T.label,className:"w-fit h-fit flex items-center justify-center bg-transparent border-secondary outline text-white hover:bg-secondary/20 hover:border-secondary/20 rounded-global hover:text-secondary-foreground font-bold transition duration-200 px-3 py-4",children:(0,b.jsx)(Q.Link,{href:r.href,target:r.target,rel:r.rel,children:(R=e==null?void 0:e.primaryButton)==null?void 0:R.label})})]})]})})]})})}var el={variant_a:q,variant_b:K,variant_c:Y,variant_d:ll},Xl="Portfolio",kl=({data:l})=>{var r,m,d,x,f,h,v,w,N,k,L;let e=l==null?void 0:l.variant,a=e&&(el==null?void 0:el[e]),i={caption:(m=(r=l==null?void 0:l.variants)==null?void 0:r.subtitle)!=null?m:void 0,title:(x=(d=l==null?void 0:l.variants)==null?void 0:d.title)!=null?x:void 0,portfoliosWithCategory:(h=(f=l==null?void 0:l.variants)==null?void 0:f.portfoliosWithCategories)!=null?h:void 0,portfolios:(w=(v=l==null?void 0:l.variants)==null?void 0:v.portfolios)!=null?w:void 0,primaryButton:(k=(N=l==null?void 0:l.variants)==null?void 0:N.primaryButton)!=null?k:void 0,length:(L=l==null?void 0:l.variants)==null?void 0:L.length};return a?(0,b.jsx)(a,{...i}):null};kl.displayName=Xl;0&&(module.exports={Portfolio});
@@ -1 +0,0 @@
1
- import{a}from"./chunk-KOBQCNWZ.mjs";import"./chunk-3YRBUX6P.mjs";import"./chunk-FLYHWMQD.mjs";import"./chunk-EM2WNMO2.mjs";import"./chunk-77S7T6ST.mjs";import"./chunk-NFO6QLL6.mjs";export{a as Portfolio};
@@ -1,4 +0,0 @@
1
- import React from "react";
2
- import { PortfolioProps } from ".";
3
- export default function Portfolio_A({ caption, title, portfoliosWithCategory, length, }: PortfolioProps): React.JSX.Element;
4
- export { Portfolio_A };
@@ -1 +0,0 @@
1
- "use strict";var F=Object.create;var b=Object.defineProperty;var I=Object.getOwnPropertyDescriptor;var _=Object.getOwnPropertyNames;var j=Object.getPrototypeOf,z=Object.prototype.hasOwnProperty;var H=(a,e)=>{for(var i in e)b(a,i,{get:e[i],enumerable:!0})},L=(a,e,i,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let m of _(e))!z.call(a,m)&&m!==i&&b(a,m,{get:()=>e[m],enumerable:!(r=I(e,m))||r.enumerable});return a};var $=(a,e,i)=>(i=a!=null?F(j(a)):{},L(e||!a||!a.__esModule?b(i,"default",{value:a,enumerable:!0}):i,a)),D=a=>L(b({},"__esModule",{value:!0}),a);var G={};H(G,{Portfolio_A:()=>A,default:()=>A});module.exports=D(G);var p=require("@stackshift-ui/button"),v=require("@stackshift-ui/container"),g=require("@stackshift-ui/flex"),R=require("@stackshift-ui/heading"),S=require("@stackshift-ui/image"),h=require("@stackshift-ui/link"),T=require("@stackshift-ui/section"),P=require("@stackshift-ui/text"),y=$(require("react")),w=require("@stackshift-ui/system"),l=require("react/jsx-runtime");function A({caption:a,title:e,portfoliosWithCategory:i,length:r=8}){var f;let m=r,[u,x]=y.default.useState((f=i==null?void 0:i[0])==null?void 0:f.category),d=i==null?void 0:i.find(s=>(s==null?void 0:s.category)===u);return(0,l.jsx)(T.Section,{className:"py-20 bg-background",children:(0,l.jsxs)(v.Container,{maxWidth:1280,children:[(0,l.jsxs)(v.Container,{maxWidth:512,className:"mb-8 text-center md:mb-16",children:[(0,l.jsx)(E,{caption:a,title:e}),(0,l.jsx)(X,{categories:i,activeTab:u,onClickFn:x})]}),(0,l.jsx)(q,{portfolios:d==null?void 0:d.content,portfolioLength:m}),(0,l.jsx)(J,{button:d==null?void 0:d.primaryButton})]})})}function E({caption:a,title:e}){return!a||!e?null:(0,l.jsxs)(y.default.Fragment,{children:[(0,l.jsx)(P.Text,{weight:"semibold",children:a}),(0,l.jsx)(R.Heading,{className:"mb-6",fontSize:"2xl",children:e})]})}function J({button:a}){if(!(a!=null&&a.label))return null;let e=(0,w.buildSanityLink)(a);return(0,l.jsx)("div",{className:"text-center",children:(0,l.jsx)(p.Button,{asChild:!0,"aria-label":a==null?void 0:a.label,children:(0,l.jsx)(h.Link,{href:e.href,target:e.target,rel:e.rel,children:a==null?void 0:a.label})})})}function X({categories:a,activeTab:e,onClickFn:i}){return!a||(a==null?void 0:a.length)===0?null:(0,l.jsx)(g.Flex,{className:"inline-flex px-2 py-1 text-sm bg-white rounded",wrap:!0,children:a==null?void 0:a.map((r,m)=>{var u;return(0,l.jsx)(p.Button,{variant:"ghost","aria-label":(u=r==null?void 0:r.category)!=null?u:`Category button ${m+1}`,className:"my-1 data-[active=true]:text-primary","data-active":e===(r==null?void 0:r.category),onClick:()=>i==null?void 0:i(r==null?void 0:r.category),children:r==null?void 0:r.category},r==null?void 0:r._key)})})}function q({portfolios:a,portfolioLength:e}){var i;return!a||(a==null?void 0:a.length)===0?null:(0,l.jsx)(g.Flex,{wrap:!0,className:"mb-8",children:(i=a==null?void 0:a.slice(0,e))==null?void 0:i.map((r,m)=>{var x,d,f,s,N,k,B;let u=(0,w.buildSanityLink)(r.primaryButton);return(0,l.jsx)(g.Flex,{className:"w-full space-x-5 px-4 mb-8 sm:w-1/2 lg:w-1/4",children:(0,l.jsxs)("div",{className:"relative mx-auto h-[256px] w-[332px] overflow-hidden rounded-md",children:[((x=r==null?void 0:r.mainImage)==null?void 0:x.image)&&(0,l.jsx)(S.Image,{className:"object-cover w-full h-full",src:(d=r==null?void 0:r.mainImage)==null?void 0:d.image,alt:(s=(f=r==null?void 0:r.mainImage)==null?void 0:f.alt)!=null?s:`portfolio-image-${m}`}),(0,l.jsx)("div",{className:"absolute inset-0 z-10 flex items-center justify-center duration-300 bg-slate-900 rounded-md opacity-0 hover:opacity-75",children:((N=r==null?void 0:r.primaryButton)==null?void 0:N.label)&&(0,l.jsx)(p.Button,{asChild:!0,variant:"outline","aria-abel":(k=r==null?void 0:r.primaryButton)==null?void 0:k.label,className:"w-fit h-fit flex items-center justify-center bg-transparent border-secondary outline text-white hover:bg-secondary/20 hover:border-secondary/20 rounded-global hover:text-secondary-foreground font-bold transition duration-200 px-3 py-4",children:(0,l.jsx)(h.Link,{href:u.href,target:u.target,rel:u.rel,children:(B=r==null?void 0:r.primaryButton)==null?void 0:B.label})})})]})},r==null?void 0:r._key)})})}0&&(module.exports={Portfolio_A});
@@ -1 +0,0 @@
1
- import{a}from"./chunk-3YRBUX6P.mjs";export{a as Portfolio_A,a as default};
@@ -1,4 +0,0 @@
1
- import React from "react";
2
- import { PortfolioProps } from ".";
3
- export default function Portfolio_B({ caption, title, portfolios, primaryButton, length, }: PortfolioProps): React.JSX.Element;
4
- export { Portfolio_B };
@@ -1 +0,0 @@
1
- "use strict";var x=Object.defineProperty;var T=Object.getOwnPropertyDescriptor;var I=Object.getOwnPropertyNames;var R=Object.prototype.hasOwnProperty;var S=(e,i)=>{for(var d in i)x(e,d,{get:i[d],enumerable:!0})},j=(e,i,d,a)=>{if(i&&typeof i=="object"||typeof i=="function")for(let r of I(i))!R.call(e,r)&&r!==d&&x(e,r,{get:()=>i[r],enumerable:!(a=T(i,r))||a.enumerable});return e};var F=e=>j(x({},"__esModule",{value:!0}),e);var _={};S(_,{Portfolio_B:()=>P,default:()=>P});module.exports=F(_);var g=require("@stackshift-ui/button"),w=require("@stackshift-ui/container"),h=require("@stackshift-ui/flex"),N=require("@stackshift-ui/heading"),L=require("@stackshift-ui/image"),C=require("@stackshift-ui/section"),b=require("@stackshift-ui/text"),f=require("@stackshift-ui/link"),v=require("@stackshift-ui/system"),l=require("react/jsx-runtime");function P({caption:e,title:i,portfolios:d,primaryButton:a,length:r=6}){let m=r,s=(0,v.buildSanityLink)(a);return(0,l.jsx)(C.Section,{className:"py-20 bg-background",children:(0,l.jsxs)(w.Container,{maxWidth:1280,children:[(0,l.jsxs)(h.Flex,{wrap:!0,align:"center",justify:"center",className:"mb-16 md:justify-between",children:[(0,l.jsx)(z,{caption:e,title:i}),(0,l.jsx)("div",{className:"hidden mt-5 text-right md:mt-0 lg:mt-0 lg:block xl:mt-0",children:(a==null?void 0:a.label)&&(0,l.jsx)(g.Button,{asChild:!0,"aria-label":a==null?void 0:a.label,variant:"link",children:(0,l.jsx)(f.Link,{href:s.href,target:s.target,rel:s.rel,children:a==null?void 0:a.label})})})]}),(0,l.jsx)(H,{portfolios:d,portfolioLength:m}),(0,l.jsx)("div",{className:"block mt-5 text-center md:mt-0 lg:mt-0 lg:hidden xl:mt-0",children:(a==null?void 0:a.label)&&(0,l.jsx)(g.Button,{asChild:!0,"aria-label":a==null?void 0:a.label,variant:"link",children:(0,l.jsx)(f.Link,{href:s.href,target:s.target,rel:s.rel,children:a==null?void 0:a.label})})})]})})}function z({caption:e,title:i}){return!e||!i?null:(0,l.jsxs)("div",{className:"text-center lg:text-left",children:[(0,l.jsx)(b.Text,{weight:"semibold",children:e}),(0,l.jsx)(N.Heading,{className:"mb-6",fontSize:"2xl",children:i})]})}function A({content:e}){var d,a,r,m,s,u,k,o,t;let i=(0,v.buildSanityLink)(e.primaryButton);return(0,l.jsx)("div",{className:"w-full px-4 mb-4 md:w-1/2 lg:w-1/3",children:(0,l.jsxs)("div",{className:"relative mx-auto overflow-hidden rounded-md md:mb-5",children:[((d=e==null?void 0:e.mainImage)==null?void 0:d.image)&&(0,l.jsx)(L.Image,{className:"object-cover w-full h-80",src:(a=e==null?void 0:e.mainImage)==null?void 0:a.image,width:480,height:320,alt:(m=(r=e==null?void 0:e.mainImage)==null?void 0:r.alt)!=null?m:"portfolio-image"}),(0,l.jsxs)(h.Flex,{direction:"col",align:"start",className:"absolute inset-0 z-10 items-start p-6 duration-300 bg-slate-900 rounded opacity-0 hover:opacity-75",children:[(0,l.jsx)(b.Text,{className:"text-secondary",children:e==null?void 0:e.dateAdded}),(e==null?void 0:e.title)&&(0,l.jsx)(b.Text,{weight:"bold",className:"mb-auto text-white md:text-xl lg:text-2xl",children:((s=e==null?void 0:e.title)==null?void 0:s.length)>80?`${(u=e==null?void 0:e.title)==null?void 0:u.substring(0,80)}...`:e==null?void 0:e.title}),((k=e==null?void 0:e.primaryButton)==null?void 0:k.label)&&(0,l.jsx)(g.Button,{asChild:!0,variant:"outline","aria-label":(o=e==null?void 0:e.primaryButton)==null?void 0:o.label,className:"w-fit h-fit flex items-center justify-center bg-transparent border-secondary outline text-white hover:bg-secondary/20 hover:border-secondary/20 rounded-global hover:text-secondary-foreground font-bold transition duration-200 px-3 py-4",children:(0,l.jsx)(f.Link,{href:i.href,target:i.target,rel:i.rel,children:(t=e==null?void 0:e.primaryButton)==null?void 0:t.label})})]})]})})}function H({portfolios:e,portfolioLength:i}){return!e||(e==null?void 0:e.length)===0?null:(0,l.jsx)(h.Flex,{wrap:!0,className:"mb-4 ",children:e==null?void 0:e.slice(0,i).map(d=>(0,l.jsx)(A,{content:d},d._key))})}0&&(module.exports={Portfolio_B});
@@ -1 +0,0 @@
1
- import{a}from"./chunk-FLYHWMQD.mjs";export{a as Portfolio_B,a as default};
@@ -1,3 +0,0 @@
1
- import { PortfolioProps } from ".";
2
- export default function Portfolio_C({ caption, title, portfolios, primaryButton, length, }: PortfolioProps): import("react/jsx-runtime").JSX.Element;
3
- export { Portfolio_C };
@@ -1 +0,0 @@
1
- "use strict";var h=Object.defineProperty;var S=Object.getOwnPropertyDescriptor;var j=Object.getOwnPropertyNames;var F=Object.prototype.hasOwnProperty;var H=(l,a)=>{for(var d in a)h(l,d,{get:a[d],enumerable:!0})},R=(l,a,d,i)=>{if(a&&typeof a=="object"||typeof a=="function")for(let m of j(a))!F.call(l,m)&&m!==d&&h(l,m,{get:()=>a[m],enumerable:!(i=S(a,m))||i.enumerable});return l};var z=l=>R(h({},"__esModule",{value:!0}),l);var $={};H($,{Portfolio_C:()=>I,default:()=>I});module.exports=z($);var f=require("@stackshift-ui/button"),L=require("@stackshift-ui/container"),x=require("@stackshift-ui/flex"),u=require("@stackshift-ui/heading"),P=require("@stackshift-ui/image"),b=require("@stackshift-ui/link"),T=require("@stackshift-ui/section"),r=require("@stackshift-ui/text"),v=require("@stackshift-ui/system"),e=require("react/jsx-runtime");function I({caption:l,title:a,portfolios:d,primaryButton:i,length:m=6}){let s=m,g=(0,v.buildSanityLink)(i);return(0,e.jsx)(T.Section,{className:"py-20 bg-background",children:(0,e.jsxs)(L.Container,{maxWidth:1280,children:[(0,e.jsxs)(x.Flex,{wrap:!0,align:"center",justify:"center",className:"mb-16 md:justify-between",children:[(0,e.jsx)(A,{caption:l,title:a}),(0,e.jsx)("div",{className:"hidden mt-5 text-right md:mt-0 lg:mt-0 lg:block xl:mt-0",children:(i==null?void 0:i.label)&&(0,e.jsx)(f.Button,{asChild:!0,"aria-label":i==null?void 0:i.label,children:(0,e.jsx)(b.Link,{href:g.href,target:g.target,rel:g.rel,children:i==null?void 0:i.label})})})]}),(0,e.jsx)(W,{portfolios:d,portfolioLength:s}),(0,e.jsx)("div",{className:"block mt-5 text-center md:mt-0 lg:mt-0 lg:hidden xl:mt-0",children:(i==null?void 0:i.label)&&(0,e.jsx)(f.Button,{asChild:!0,"aria-label":i==null?void 0:i.label,children:(0,e.jsx)(b.Link,{href:g.href,target:g.target,rel:g.rel,children:i==null?void 0:i.label})})})]})})}function A({caption:l,title:a}){return!l||!a?null:(0,e.jsxs)("div",{className:"text-center lg:text-left",children:[(0,e.jsx)(r.Text,{weight:"semibold",children:l}),(0,e.jsx)(u.Heading,{className:"mb-6",fontSize:"2xl",children:a})]})}function _({content:l}){var d,i,m,s,g,k,N,w,C;let a=(0,v.buildSanityLink)(l.primaryButton);return(0,e.jsx)("div",{className:"relative w-full px-4 mb-8 md:w-1/2 lg:w-1/3",children:((d=l==null?void 0:l.mainImage)==null?void 0:d.image)&&(0,e.jsxs)("div",{className:"h-full overflow-hidden bg-white rounded-md",style:{maxHeight:"600px"},children:[(0,e.jsx)(P.Image,{className:"object-cover w-full h-80",src:(i=l==null?void 0:l.mainImage)==null?void 0:i.image,width:480,height:320,alt:(s=(m=l==null?void 0:l.mainImage)==null?void 0:m.alt)!=null?s:"portfolio-image"}),(0,e.jsxs)("div",{className:"p-6",children:[(0,e.jsx)(r.Text,{muted:!0,children:l==null?void 0:l.dateAdded}),(l==null?void 0:l.title)&&(0,e.jsx)(r.Text,{weight:"bold",fontSize:"xl",className:"mb-4",children:((g=l==null?void 0:l.title)==null?void 0:g.length)>31?`${(k=l==null?void 0:l.title)==null?void 0:k.substring(0,31)}...`:l==null?void 0:l.title}),((N=l==null?void 0:l.primaryButton)==null?void 0:N.label)&&(0,e.jsx)(f.Button,{asChild:!0,variant:"link","aria-label":(w=l==null?void 0:l.primaryButton)==null?void 0:w.label,className:"font-bold no-underline text-primary transition-200 hover:text-primary/50 px-0",children:(0,e.jsx)(b.Link,{href:a.href,target:a.target,rel:a.rel,children:(C=l==null?void 0:l.primaryButton)==null?void 0:C.label})})]})]})})}function W({portfolios:l,portfolioLength:a}){return!l||(l==null?void 0:l.length)===0?null:(0,e.jsx)(x.Flex,{wrap:!0,className:"mb-4",children:l==null?void 0:l.slice(0,a).map(d=>(0,e.jsx)(_,{content:d},d._key))})}0&&(module.exports={Portfolio_C});
@@ -1 +0,0 @@
1
- import{a}from"./chunk-EM2WNMO2.mjs";export{a as Portfolio_C,a as default};
@@ -1,3 +0,0 @@
1
- import { PortfolioProps } from ".";
2
- export default function Portfolio_D({ caption, title, portfoliosWithCategory, length, }: PortfolioProps): import("react/jsx-runtime").JSX.Element;
3
- export { Portfolio_D };
@@ -1 +0,0 @@
1
- "use strict";var Q=Object.create;var T=Object.defineProperty;var q=Object.getOwnPropertyDescriptor;var G=Object.getOwnPropertyNames;var J=Object.getPrototypeOf,K=Object.prototype.hasOwnProperty;var O=(i,a)=>{for(var e in a)T(i,e,{get:a[e],enumerable:!0})},E=(i,a,e,r)=>{if(a&&typeof a=="object"||typeof a=="function")for(let m of G(a))!K.call(i,m)&&m!==e&&T(i,m,{get:()=>a[m],enumerable:!(r=q(a,m))||r.enumerable});return i};var F=(i,a,e)=>(e=i!=null?Q(J(i)):{},E(a||!i||!i.__esModule?T(e,"default",{value:i,enumerable:!0}):e,i)),U=i=>E(T({},"__esModule",{value:!0}),i);var Z={};O(Z,{Portfolio_D:()=>D,default:()=>D});module.exports=U(Z);var S=require("@stackshift-ui/button"),$=require("@stackshift-ui/container"),_=require("@stackshift-ui/flex"),z=require("@stackshift-ui/heading"),M=require("@stackshift-ui/image"),I=require("@stackshift-ui/link"),P=require("@stackshift-ui/section"),R=require("@stackshift-ui/text"),j=F(require("react")),A=require("@stackshift-ui/system");var B=F(require("react")),H=i=>{let[a,e]=B.default.useState(!1),r=B.default.useCallback(m=>{m.matches?e(!0):e(!1)},[]);return B.default.useEffect(()=>{let m=window.matchMedia(`(max-width: ${i}px)`);return m.addEventListener("change",r),m.matches&&e(!0),()=>m.removeEventListener("change",r)},[]),a};var l=require("react/jsx-runtime");function D({caption:i,title:a,portfoliosWithCategory:e,length:r=6}){var f,g,b,p,v,h,w,y,k;let m=r,u=0,[x,N]=j.default.useState((f=e==null?void 0:e[0])==null?void 0:f.category),s=e==null?void 0:e.find(d=>(d==null?void 0:d.category)===x);return(0,l.jsx)(P.Section,{className:"py-20 bg-background",children:(0,l.jsxs)($.Container,{maxWidth:1280,children:[(0,l.jsxs)($.Container,{maxWidth:512,className:"mb-8 text-center md:mb-16",children:[(0,l.jsx)(V,{caption:i,title:a}),(0,l.jsx)(Y,{categories:e,activeTab:x,onClickFn:N})]}),(0,l.jsxs)("div",{className:"mb-12 sm:flex",children:[(0,l.jsxs)(_.Flex,{wrap:!0,className:"w-full mb-8 lg:mb-0 lg:w-1/2",children:[(b=(g=s==null?void 0:s.content)==null?void 0:g.slice(u,u+2))==null?void 0:b.map(d=>(0,l.jsx)(L,{size:"sm",content:d},d._key)),(v=(p=s==null?void 0:s.content)==null?void 0:p.slice(u+2,u+3))==null?void 0:v.map(d=>(0,l.jsx)(L,{size:"lg",content:d},d._key))]}),(0,l.jsxs)("div",{className:"w-full lg:w-1/2",children:[(w=(h=s==null?void 0:s.content)==null?void 0:h.slice(u+3,u+4))==null?void 0:w.map(d=>(0,l.jsx)(L,{size:"lg",content:d},d._key)),(0,l.jsx)("div",{className:"flex flex-wrap",children:(k=(y=s==null?void 0:s.content)==null?void 0:y.slice(u+4,m))==null?void 0:k.map(d=>(0,l.jsx)(L,{size:"sm",content:d},d._key))})]})]}),(0,l.jsx)(X,{button:s==null?void 0:s.primaryButton})]})})}function V({caption:i,title:a}){return!i||!a?null:(0,l.jsxs)(j.default.Fragment,{children:[(0,l.jsx)(R.Text,{weight:"semibold",children:i}),(0,l.jsx)(z.Heading,{className:"mb-6",fontSize:"2xl",children:a})]})}function X({button:i}){if(!(i!=null&&i.label))return null;let a=(0,A.buildSanityLink)(i);return(0,l.jsx)("div",{className:"text-center",children:(0,l.jsx)(S.Button,{asChild:!0,"aria-label":i==null?void 0:i.label,children:(0,l.jsx)(I.Link,{href:a.href,target:a.target,rel:a.rel,children:i==null?void 0:i.label})})})}function Y({categories:i,activeTab:a,onClickFn:e}){return!i||(i==null?void 0:i.length)===0?null:(0,l.jsx)(_.Flex,{className:"inline-flex px-2 py-1 text-sm bg-white rounded",wrap:!0,children:i==null?void 0:i.map((r,m)=>{var u;return(0,l.jsx)(S.Button,{variant:"ghost","aria-label":(u=r==null?void 0:r.category)!=null?u:`Category button ${m+1}`,className:"my-1 data-[active=true]:text-primary","data-active":a===(r==null?void 0:r.category),onClick:()=>e==null?void 0:e(r==null?void 0:r.category),children:r==null?void 0:r.category},r==null?void 0:r._key)})})}function L({size:i,content:a}){var u,x,N,s,f,g,b,p,v,h,w,y,k;let r=H("639")?40:90,m=(0,A.buildSanityLink)(a==null?void 0:a.primaryButton);return(0,l.jsx)("div",{className:`w-full px-4 mb-8 ${i==="lg"?"w-full":"lg:w-1/2"}`,children:((u=a==null?void 0:a.mainImage)==null?void 0:u.image)&&(0,l.jsxs)("div",{className:"relative overflow-hidden rounded-md",children:[(0,l.jsx)(M.Image,{className:`object-cover w-full ${i==="lg"?"h-128":"h-64"}`,src:(x=a==null?void 0:a.mainImage)==null?void 0:x.image,alt:(s=(N=a==null?void 0:a.mainImage)==null?void 0:N.alt)!=null?s:`portfolio-image-${a==null?void 0:a._key}`}),(0,l.jsx)("div",{className:"absolute inset-0 z-10 justify-center p-6 duration-300 bg-slate-900 rounded-md opacity-0 hover:opacity-80",children:(0,l.jsxs)("div",{className:"max-w-md my-auto text-xs",children:[(a==null?void 0:a.subtitle)&&(0,l.jsx)(R.Text,{className:"text-sm text-primary",weight:"bold",children:((f=a==null?void 0:a.subtitle)==null?void 0:f.length)>26?`${(g=a==null?void 0:a.subtitle)==null?void 0:g.substring(0,26)}...`:a==null?void 0:a.subtitle}),(a==null?void 0:a.title)&&(0,l.jsx)(z.Heading,{weight:"bold",className:`my-5 text-white ${i==="lg"?"text-sm md:text-xl":"text-sm"}`,children:((b=a==null?void 0:a.title)==null?void 0:b.length)>38?`${(p=a==null?void 0:a.title)==null?void 0:p.substring(0,38)}...`:a==null?void 0:a.title}),(0,l.jsxs)("div",{className:"max-w-xs my-5",children:[(a==null?void 0:a.description)&&(0,l.jsx)(R.Text,{fontSize:"xs",muted:!0,className:"mb-6 text-white",children:((v=a==null?void 0:a.description)==null?void 0:v.length)>r?`${(h=a==null?void 0:a.description)==null?void 0:h.substring(0,r)}...`:a==null?void 0:a.description}),((w=a==null?void 0:a.primaryButton)==null?void 0:w.label)&&(0,l.jsx)(S.Button,{asChild:!0,variant:"outline","aria-label":(y=a==null?void 0:a.primaryButton)==null?void 0:y.label,className:"w-fit h-fit flex items-center justify-center bg-transparent border-secondary outline text-white hover:bg-secondary/20 hover:border-secondary/20 rounded-global hover:text-secondary-foreground font-bold transition duration-200 px-3 py-4",children:(0,l.jsx)(I.Link,{href:m.href,target:m.target,rel:m.rel,children:(k=a==null?void 0:a.primaryButton)==null?void 0:k.label})})]})]})})]})})}0&&(module.exports={Portfolio_D});
@@ -1 +0,0 @@
1
- import{a}from"./chunk-77S7T6ST.mjs";import"./chunk-NFO6QLL6.mjs";export{a as Portfolio_D,a as default};
package/dist/types.d.ts DELETED
@@ -1,362 +0,0 @@
1
- export type StyleVariants<T extends string> = Record<T, string>;
2
- export type Socials = "facebook" | "instagram" | "youtube" | "linkedin" | "twitter";
3
- export interface MainImage {
4
- image: string;
5
- alt?: string;
6
- }
7
- export interface LabeledRoute extends ConditionalLink {
8
- ariaLabel?: string;
9
- label?: string;
10
- linkTarget?: string;
11
- linkType?: string;
12
- _type?: string;
13
- linkInternal?: any;
14
- }
15
- export interface ConditionalLink {
16
- type?: string;
17
- internalLink?: string | null;
18
- externalLink?: string | null;
19
- }
20
- export interface StatItems {
21
- label?: string;
22
- mainImage?: MainImage;
23
- value?: string;
24
- _key?: string;
25
- _type?: string;
26
- }
27
- export interface Logo extends ConditionalLink {
28
- alt?: string;
29
- linkTarget?: string;
30
- image?: string;
31
- }
32
- export interface Images {
33
- image?: string;
34
- _key?: string;
35
- _type?: string;
36
- alt?: string;
37
- }
38
- export interface ContactDetails {
39
- addressInfo?: string;
40
- contactInfo?: string;
41
- emailInfo?: string;
42
- _key?: string;
43
- }
44
- export interface SocialLink {
45
- socialMedia?: string | null;
46
- socialMediaLink?: string | null;
47
- _key?: string | null;
48
- _type?: string | null;
49
- socialMediaIcon?: {
50
- alt?: string;
51
- image?: string;
52
- } | null;
53
- socialMediaPlatform?: string | null;
54
- }
55
- export interface LabeledRouteWithKey extends LabeledRoute {
56
- _key?: string;
57
- }
58
- export interface ArrayOfImageTitleAndText {
59
- mainImage?: {
60
- alt?: string;
61
- image?: string;
62
- };
63
- plainText?: string;
64
- title?: string;
65
- _key?: string;
66
- _type?: string;
67
- }
68
- export interface FeaturedItem {
69
- description?: string;
70
- mainImage?: MainImage;
71
- title?: string;
72
- subtitle?: string;
73
- _key?: string;
74
- _type?: string;
75
- }
76
- export interface ArrayOfTitleAndText {
77
- _key?: string;
78
- plainText?: string;
79
- title?: string;
80
- }
81
- export interface BlogPost extends SanityBody {
82
- authors?: Author[] | null;
83
- body?: any;
84
- categories?: Category[] | null;
85
- excerpt?: string | null;
86
- link?: string | null;
87
- mainImage?: string | null;
88
- publishedAt?: string;
89
- seo?: Seo | null;
90
- slug?: SanitySlug | null;
91
- title?: string;
92
- }
93
- export interface Seo {
94
- _type?: string;
95
- seoTitle?: string;
96
- seoDescription?: string;
97
- seoImage?: string;
98
- seoKeywords?: string;
99
- seoSynonyms?: string;
100
- }
101
- export interface SanitySlug {
102
- current?: string;
103
- _type?: "slug";
104
- }
105
- export interface SanityBody {
106
- _createdAt?: string;
107
- _id?: string;
108
- _rev?: string;
109
- _type?: string;
110
- _updatedAt?: string;
111
- }
112
- export interface Author extends SanityBody {
113
- link?: string | null;
114
- bio?: string | null;
115
- name?: string | null;
116
- slug?: SanitySlug | null;
117
- image?: string | null;
118
- profile?: {
119
- alt: string;
120
- image: string;
121
- } | null;
122
- }
123
- export interface Category extends SanityBody {
124
- title?: string;
125
- }
126
- export interface Form {
127
- id?: string | null;
128
- buttonLabel?: string | null;
129
- name?: string | null;
130
- subtitle?: string | null;
131
- fields?: FormFields[] | null;
132
- thankYouPage?: ThankYouPage | null;
133
- }
134
- export interface FormFields {
135
- name?: string;
136
- placeholder?: string;
137
- pricingType?: string;
138
- type?: FormTypes;
139
- _key?: string;
140
- _type?: string;
141
- isRequired?: boolean;
142
- label?: string;
143
- items?: string[];
144
- }
145
- export type FormTypes = "inputText" | "inputEmail" | "inputPassword" | "inputNumber" | "textarea" | "inputFile" | "inputRadio" | "inputCheckbox" | "inputSelect";
146
- export interface ThankYouPage {
147
- externalLink?: string | null;
148
- internalLink?: string | null;
149
- linkInternal?: any;
150
- linkTarget?: string;
151
- linkType?: string;
152
- type?: string;
153
- }
154
- export interface SectionsProps {
155
- template?: Template;
156
- data?: Sections;
157
- variant?: string | null | undefined;
158
- schema?: Variants;
159
- }
160
- export interface Sections extends SanityBody {
161
- label?: string;
162
- variant?: string;
163
- variants?: Variants;
164
- _key?: string;
165
- }
166
- export interface Variants {
167
- template?: Template;
168
- multipleMenus?: any;
169
- arrayOfTitleAndText?: ArrayOfTitleAndText[] | null;
170
- logo?: Logo | null;
171
- primaryButton?: LabeledRoute | null;
172
- secondaryButton?: LabeledRoute | null;
173
- routes?: LabeledRouteWithKey[] | null;
174
- menu?: LabeledRouteWithKey[] | null;
175
- plans?: Plans[] | null;
176
- formLinks?: LabeledRouteWithKey[] | null;
177
- portfolios?: Portfolios[] | null;
178
- portfoliosWithCategories?: PortfoliosWithCategories[] | null;
179
- length?: number;
180
- signInLink?: LabeledRoute | null;
181
- signinLink?: LabeledRoute | null;
182
- tags?: string[] | null;
183
- posts?: BlogPost[] | null;
184
- blogsPerPage?: number | null;
185
- form?: Form | null;
186
- collections?: Collection | null;
187
- products?: CollectionProduct | null;
188
- allProducts?: Collection[];
189
- subtitle?: string | null;
190
- caption?: string | null;
191
- title?: string | null;
192
- plainText?: string | null;
193
- contactDescription?: string | null;
194
- officeInformation?: string | null;
195
- contactEmail?: string | null;
196
- contactNumber?: string | null;
197
- socialLinks?: SocialLink[] | null;
198
- block?: any;
199
- heading?: string | null;
200
- acceptButtonLabel?: string | null;
201
- declineButtonLabel?: string | null;
202
- faqsWithCategories?: FaqsWithCategory[] | null;
203
- faqs?: AskedQuestion[] | null;
204
- arrayOfImageTitleAndText?: ArrayOfImageTitleAndText[] | null;
205
- description?: string | null;
206
- featuredItems?: FeaturedItem[] | null;
207
- images?: Images[] | null;
208
- contactDetails?: ContactDetails[] | null;
209
- copyright?: string | null;
210
- mainImage?: MainImage | null;
211
- youtubeLink?: string | null;
212
- banner?: any;
213
- stats?: StatItems[] | null;
214
- teams?: Team[] | null;
215
- testimonials?: Testimonial[] | null;
216
- selectStripeAccount?: string;
217
- annualBilling?: string;
218
- monthlyBilling?: string;
219
- productDetails?: ProductDetail[];
220
- btnLabel?: string;
221
- selectAccount?: string;
222
- hashtags?: string[];
223
- numberOfPosts?: number;
224
- text?: string;
225
- button?: LabeledRoute;
226
- features?: string[];
227
- config?: {
228
- enableAnalytics: boolean;
229
- cookiePolicy?: {
230
- siteName: string;
231
- cookiePolicyPage: Reference;
232
- };
233
- consentModalPosition?: string;
234
- };
235
- contactLink?: LabeledRoute;
236
- }
237
- export interface Template {
238
- bg?: string;
239
- color?: string;
240
- }
241
- export type Plans = {
242
- _key?: string | null;
243
- _type?: "planItems" | null;
244
- checkoutButtonName?: string | null;
245
- description?: string | null;
246
- monthlyPrice?: string | null;
247
- planType?: string | null;
248
- yearlyPrice?: string | null;
249
- planIncludes?: string[] | null;
250
- primaryButton?: LabeledRoute | null;
251
- } & Record<string, string>;
252
- export interface Portfolios {
253
- dateAdded?: string | null;
254
- mainImage?: {
255
- image?: string | null;
256
- alt?: string | null;
257
- } | null;
258
- primaryButton?: LabeledRoute | null;
259
- title?: string | null;
260
- _key?: string | null;
261
- _type?: string | null;
262
- }
263
- export interface PortfoliosWithCategories {
264
- category?: string | null;
265
- content?: Content[] | null;
266
- primaryButton?: LabeledRoute | null;
267
- _key?: string | null;
268
- _type?: string | null;
269
- }
270
- export interface Content extends Portfolios {
271
- description?: string | null;
272
- subtitle?: string | null;
273
- }
274
- export interface Collection extends SanityBody {
275
- collectionInfoVariant?: {
276
- variant?: string;
277
- } | null;
278
- name?: string | null;
279
- products?: CollectionProduct[] | null;
280
- sections?: any;
281
- seo?: Seo | null;
282
- slug?: SanitySlug | null;
283
- }
284
- export interface CollectionProduct extends SanityBody {
285
- compareToPrice?: number | null;
286
- description?: string | null;
287
- ecwidProductId?: number | null;
288
- name?: string | null;
289
- price?: number | null;
290
- productInfo?: ProductInfo | null;
291
- productInfoVariant?: {
292
- variant?: string;
293
- } | null;
294
- sections?: any;
295
- seo?: Seo | null;
296
- slug?: SanitySlug | null;
297
- }
298
- interface ProductInfo {
299
- btnLabel?: string | null;
300
- images?: ProductInfoImage[] | null;
301
- productDetails?: ProductDetail[] | null;
302
- socialLinks?: SocialLink[] | null;
303
- subtitle?: string | null;
304
- }
305
- export interface ProductDetail {
306
- blockContent?: any;
307
- contentType?: string;
308
- tabName?: string;
309
- _key?: string;
310
- [key: string]: any;
311
- }
312
- interface ProductInfoImage {
313
- alt?: string | null;
314
- _key: string;
315
- _type: string;
316
- image?: string | null;
317
- }
318
- export interface FaqsWithCategory {
319
- askedQuestions?: AskedQuestion[] | null;
320
- category?: string | null;
321
- _key?: string;
322
- _type?: string;
323
- }
324
- export interface AskedQuestion {
325
- answer?: string | null;
326
- question?: string | null;
327
- hidden?: boolean;
328
- _key?: string;
329
- _type?: string;
330
- }
331
- export interface Team {
332
- jobTitle?: string;
333
- mainImage?: MainImage;
334
- name?: string;
335
- plainText?: string;
336
- _key?: string;
337
- _type?: string;
338
- }
339
- export interface Testimonial {
340
- jobTitle?: string;
341
- mainImage?: MainImage;
342
- name?: string;
343
- rating?: string;
344
- testimony?: string;
345
- _key?: string;
346
- _type?: string;
347
- }
348
- export declare interface Reference {
349
- _type: string;
350
- _ref: string;
351
- _key?: string;
352
- _weak?: boolean;
353
- _strengthenOnPublish?: {
354
- type: string;
355
- weak?: boolean;
356
- template?: {
357
- id: string;
358
- params: Record<string, string | number | boolean>;
359
- };
360
- };
361
- }
362
- export {};
package/dist/types.js DELETED
@@ -1 +0,0 @@
1
- "use strict";var l=Object.defineProperty;var s=Object.getOwnPropertyDescriptor;var a=Object.getOwnPropertyNames;var o=Object.prototype.hasOwnProperty;var g=(n,t,r,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let e of a(t))!o.call(n,e)&&e!==r&&l(n,e,{get:()=>t[e],enumerable:!(i=s(t,e))||i.enumerable});return n};var u=n=>g(l({},"__esModule",{value:!0}),n);var c={};module.exports=u(c);