@opensite/ui 1.3.7 → 1.3.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/dist/components.cjs +159 -83
- package/dist/components.js +159 -83
- package/dist/feature-showcase.cjs +3 -3
- package/dist/feature-showcase.js +3 -3
- package/dist/footer-accordion-social.cjs +18 -0
- package/dist/footer-accordion-social.js +18 -0
- package/dist/footer-animated-social.cjs +18 -0
- package/dist/footer-animated-social.js +18 -0
- package/dist/footer-brand-description.cjs +18 -0
- package/dist/footer-brand-description.js +18 -0
- package/dist/footer-brand-links-contact.cjs +18 -0
- package/dist/footer-brand-links-contact.js +18 -0
- package/dist/footer-comprehensive-links.cjs +18 -0
- package/dist/footer-comprehensive-links.js +18 -0
- package/dist/footer-contact-card.cjs +18 -0
- package/dist/footer-contact-card.js +18 -0
- package/dist/footer-cta-banner.cjs +18 -0
- package/dist/footer-cta-banner.js +18 -0
- package/dist/footer-cta-social.cjs +18 -0
- package/dist/footer-cta-social.js +18 -0
- package/dist/footer-info-cards-accordion.cjs +18 -0
- package/dist/footer-info-cards-accordion.js +18 -0
- package/dist/footer-links-grid.cjs +9 -14
- package/dist/footer-links-grid.d.cts +5 -1
- package/dist/footer-links-grid.d.ts +5 -1
- package/dist/footer-links-grid.js +9 -14
- package/dist/footer-nav-social.cjs +18 -0
- package/dist/footer-nav-social.js +18 -0
- package/dist/footer-newsletter-contact.cjs +18 -0
- package/dist/footer-newsletter-contact.js +18 -0
- package/dist/footer-newsletter-grid.cjs +18 -0
- package/dist/footer-newsletter-grid.js +18 -0
- package/dist/footer-newsletter-minimal.cjs +18 -0
- package/dist/footer-newsletter-minimal.js +18 -0
- package/dist/footer-social-apps.cjs +18 -0
- package/dist/footer-social-apps.js +18 -0
- package/dist/footer-social-newsletter.cjs +150 -99
- package/dist/footer-social-newsletter.d.cts +5 -1
- package/dist/footer-social-newsletter.d.ts +5 -1
- package/dist/footer-social-newsletter.js +150 -99
- package/dist/footer-split-image-accordion.cjs +18 -0
- package/dist/footer-split-image-accordion.js +18 -0
- package/dist/index.cjs +159 -83
- package/dist/index.js +159 -83
- package/dist/navbar-fullscreen-menu.cjs +18 -0
- package/dist/navbar-fullscreen-menu.js +18 -0
- package/dist/navbar-transparent-overlay.cjs +18 -0
- package/dist/navbar-transparent-overlay.js +18 -0
- package/dist/registry.cjs +162 -86
- package/dist/registry.js +162 -86
- package/dist/social-link-icon.cjs +18 -0
- package/dist/social-link-icon.js +18 -0
- package/package.json +2 -2
package/dist/index.cjs
CHANGED
|
@@ -1689,6 +1689,24 @@ var platformIconMap = {
|
|
|
1689
1689
|
spotify: "cib/spotify",
|
|
1690
1690
|
apple: "cib/apple",
|
|
1691
1691
|
x: "line-md/twitter-x",
|
|
1692
|
+
github: "cib/github",
|
|
1693
|
+
snapchat: "cib/snapchat",
|
|
1694
|
+
discord: "cib/discord",
|
|
1695
|
+
dev: "simple-icons/devdotto",
|
|
1696
|
+
substack: "simple-icons/substack",
|
|
1697
|
+
reddit: "cib/reddit",
|
|
1698
|
+
pinterest: "cib/pinterest",
|
|
1699
|
+
threads: "simple-icons/threads",
|
|
1700
|
+
twitch: "cib/twitch",
|
|
1701
|
+
whatsapp: "cib/whatsapp",
|
|
1702
|
+
telegram: "cib/telegram",
|
|
1703
|
+
medium: "simple-icons/medium",
|
|
1704
|
+
patreon: "cib/patreon",
|
|
1705
|
+
onlyfans: "simple-icons/onlyfans",
|
|
1706
|
+
eventbrite: "cib/eventbrite",
|
|
1707
|
+
npmjs: "simple-icons/npm",
|
|
1708
|
+
crates: "cib/rust",
|
|
1709
|
+
rubygems: "cib/rubygems",
|
|
1692
1710
|
unknown: "icon-park-solid/circular-connection"
|
|
1693
1711
|
};
|
|
1694
1712
|
var SocialLinkIcon = React4__namespace.forwardRef(
|
|
@@ -2984,10 +3002,11 @@ function FooterLinksGrid({
|
|
|
2984
3002
|
attributionHref,
|
|
2985
3003
|
bottomLinks,
|
|
2986
3004
|
background,
|
|
2987
|
-
spacing,
|
|
2988
3005
|
pattern,
|
|
2989
3006
|
patternOpacity,
|
|
2990
|
-
optixFlowConfig
|
|
3007
|
+
optixFlowConfig,
|
|
3008
|
+
containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
|
|
3009
|
+
spacing = "py-6 md:py-32"
|
|
2991
3010
|
}) {
|
|
2992
3011
|
const currentYear = React4.useMemo(() => (/* @__PURE__ */ new Date()).getFullYear(), []);
|
|
2993
3012
|
const copyrightText = copyright ?? `\xA9 ${currentYear}`;
|
|
@@ -2999,9 +3018,10 @@ function FooterLinksGrid({
|
|
|
2999
3018
|
pattern,
|
|
3000
3019
|
patternOpacity,
|
|
3001
3020
|
className: cn(className),
|
|
3021
|
+
containerClassName,
|
|
3002
3022
|
children: /* @__PURE__ */ jsxRuntime.jsxs("footer", { children: [
|
|
3003
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-2 gap-8
|
|
3004
|
-
(logo || tagline) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "col-span-2 mb-
|
|
3023
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-2 gap-4 md:gap-8 md:grid-cols-6", children: [
|
|
3024
|
+
(logo || tagline) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex space-y-2 col-span-2 flex-col mb-6 md:mb-0 pr-0 md:pr-6", children: [
|
|
3005
3025
|
logo && /* @__PURE__ */ jsxRuntime.jsx(
|
|
3006
3026
|
FooterLogo,
|
|
3007
3027
|
{
|
|
@@ -3014,17 +3034,10 @@ function FooterLinksGrid({
|
|
|
3014
3034
|
] }),
|
|
3015
3035
|
menuItems && menuItems.length > 0 && menuItems.map((section, sectionIdx) => /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
3016
3036
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-4 font-bold", children: section.title }),
|
|
3017
|
-
/* @__PURE__ */ jsxRuntime.jsx("ul", { className: "space-y-4
|
|
3018
|
-
"li",
|
|
3019
|
-
{
|
|
3020
|
-
className: "font-medium hover:text-primary",
|
|
3021
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: link.url, children: link.text })
|
|
3022
|
-
},
|
|
3023
|
-
linkIdx
|
|
3024
|
-
)) })
|
|
3037
|
+
/* @__PURE__ */ jsxRuntime.jsx("ul", { className: "space-y-4", children: section.links.map((link, linkIdx) => /* @__PURE__ */ jsxRuntime.jsx("li", { className: "text-sm font-medium", children: /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: link.url, children: link.text }) }, linkIdx)) })
|
|
3025
3038
|
] }, sectionIdx))
|
|
3026
3039
|
] }),
|
|
3027
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-24 flex flex-col justify-between gap-4 border-t pt-8 text-sm font-medium
|
|
3040
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-24 flex flex-col justify-between gap-4 border-t pt-8 text-sm font-medium md:flex-row md:items-center", children: [
|
|
3028
3041
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2 md:flex-row md:items-center md:gap-4", children: [
|
|
3029
3042
|
/* @__PURE__ */ jsxRuntime.jsx("p", { children: copyrightText }),
|
|
3030
3043
|
attributionText && /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -3036,7 +3049,7 @@ function FooterLinksGrid({
|
|
|
3036
3049
|
}
|
|
3037
3050
|
)
|
|
3038
3051
|
] }),
|
|
3039
|
-
bottomLinks && bottomLinks.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "flex gap-4", children: bottomLinks.map((link, linkIdx) => /* @__PURE__ */ jsxRuntime.jsx("li", { className: "underline
|
|
3052
|
+
bottomLinks && bottomLinks.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "flex gap-4", children: bottomLinks.map((link, linkIdx) => /* @__PURE__ */ jsxRuntime.jsx("li", { className: "underline", children: /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: link.url, children: link.text }) }, linkIdx)) })
|
|
3040
3053
|
] })
|
|
3041
3054
|
] })
|
|
3042
3055
|
}
|
|
@@ -3074,7 +3087,8 @@ function FooterSocialNewsletter({
|
|
|
3074
3087
|
bottomClassName,
|
|
3075
3088
|
copyrightClassName,
|
|
3076
3089
|
background,
|
|
3077
|
-
|
|
3090
|
+
containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
|
|
3091
|
+
spacing = "py-6 md:py-32",
|
|
3078
3092
|
pattern,
|
|
3079
3093
|
patternOpacity,
|
|
3080
3094
|
optixFlowConfig
|
|
@@ -3089,88 +3103,150 @@ function FooterSocialNewsletter({
|
|
|
3089
3103
|
pattern,
|
|
3090
3104
|
patternOpacity,
|
|
3091
3105
|
className: cn(className),
|
|
3106
|
+
containerClassName,
|
|
3092
3107
|
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn(contentClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("footer", { children: [
|
|
3093
3108
|
logo && /* @__PURE__ */ jsxRuntime.jsx(
|
|
3094
3109
|
FooterLogo,
|
|
3095
3110
|
{
|
|
3096
3111
|
logo,
|
|
3097
|
-
logoClassName: cn(
|
|
3112
|
+
logoClassName: cn(
|
|
3113
|
+
"flex items-center gap-2",
|
|
3114
|
+
logoWrapperClassName
|
|
3115
|
+
),
|
|
3098
3116
|
logoImageClassName: cn("h-10", logoClassName),
|
|
3099
3117
|
optixFlowConfig
|
|
3100
3118
|
}
|
|
3101
3119
|
),
|
|
3102
|
-
|
|
3103
|
-
|
|
3104
|
-
|
|
3105
|
-
|
|
3106
|
-
"
|
|
3107
|
-
|
|
3108
|
-
|
|
3109
|
-
|
|
3110
|
-
},
|
|
3111
|
-
linkIdx
|
|
3112
|
-
|
|
3113
|
-
|
|
3114
|
-
|
|
3115
|
-
|
|
3116
|
-
|
|
3117
|
-
|
|
3118
|
-
|
|
3119
|
-
|
|
3120
|
-
|
|
3121
|
-
|
|
3122
|
-
|
|
3123
|
-
|
|
3124
|
-
|
|
3125
|
-
|
|
3126
|
-
|
|
3127
|
-
|
|
3128
|
-
|
|
3129
|
-
|
|
3130
|
-
|
|
3131
|
-
|
|
3132
|
-
|
|
3133
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3134
|
-
"input",
|
|
3120
|
+
sections && sections.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
3121
|
+
"div",
|
|
3122
|
+
{
|
|
3123
|
+
className: cn(
|
|
3124
|
+
"mt-14 grid gap-8 md:grid-cols-2 lg:grid-cols-5 xl:grid-cols-4",
|
|
3125
|
+
gridClassName
|
|
3126
|
+
),
|
|
3127
|
+
children: sections && sections.length > 0 && sections.map((section, sectionIdx) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(navSectionClassName), children: [
|
|
3128
|
+
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: cn("mb-4 font-bold", navTitleClassName), children: section.title }),
|
|
3129
|
+
/* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("space-y-4", navLinksClassName), children: section.links.map((link, linkIdx) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
3130
|
+
"li",
|
|
3131
|
+
{
|
|
3132
|
+
className: cn("font-medium", navLinkClassName),
|
|
3133
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: link.href, children: link.name })
|
|
3134
|
+
},
|
|
3135
|
+
linkIdx
|
|
3136
|
+
)) })
|
|
3137
|
+
] }, sectionIdx))
|
|
3138
|
+
}
|
|
3139
|
+
) : null,
|
|
3140
|
+
(socialLinks && socialLinks.length > 0 || newsletterLabel || newsletterButtonText) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("lg:col-span-2 xl:col-span-1"), children: [
|
|
3141
|
+
(newsletterLabel || newsletterButtonText) && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3142
|
+
"div",
|
|
3143
|
+
{
|
|
3144
|
+
className: cn(
|
|
3145
|
+
"grid w-full max-w-sm items-center gap-1.5",
|
|
3146
|
+
newsletterClassName
|
|
3147
|
+
),
|
|
3148
|
+
children: [
|
|
3149
|
+
newsletterLabel && /* @__PURE__ */ jsxRuntime.jsx(
|
|
3150
|
+
"label",
|
|
3135
3151
|
{
|
|
3136
|
-
|
|
3137
|
-
|
|
3138
|
-
|
|
3139
|
-
className: cn("flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50", newsletterInputClassName)
|
|
3152
|
+
htmlFor: "newsletter-email",
|
|
3153
|
+
className: "text-sm font-medium",
|
|
3154
|
+
children: newsletterLabel
|
|
3140
3155
|
}
|
|
3141
3156
|
),
|
|
3142
|
-
|
|
3143
|
-
|
|
3144
|
-
|
|
3145
|
-
|
|
3146
|
-
|
|
3147
|
-
|
|
3148
|
-
|
|
3149
|
-
|
|
3150
|
-
|
|
3151
|
-
|
|
3152
|
-
|
|
3153
|
-
|
|
3154
|
-
|
|
3155
|
-
|
|
3156
|
-
|
|
3157
|
-
|
|
3158
|
-
|
|
3159
|
-
|
|
3160
|
-
|
|
3161
|
-
|
|
3162
|
-
|
|
3163
|
-
|
|
3164
|
-
|
|
3165
|
-
|
|
3166
|
-
|
|
3157
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex w-full max-w-sm items-center space-x-2", children: [
|
|
3158
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3159
|
+
"input",
|
|
3160
|
+
{
|
|
3161
|
+
type: "email",
|
|
3162
|
+
id: "newsletter-email",
|
|
3163
|
+
placeholder: newsletterPlaceholder || "Email",
|
|
3164
|
+
className: cn(
|
|
3165
|
+
"flex h-10 w-full rounded-md border border-input px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
|
|
3166
|
+
newsletterInputClassName
|
|
3167
|
+
)
|
|
3168
|
+
}
|
|
3169
|
+
),
|
|
3170
|
+
newsletterButtonText && /* @__PURE__ */ jsxRuntime.jsx(
|
|
3171
|
+
Pressable,
|
|
3172
|
+
{
|
|
3173
|
+
onClick: (e) => {
|
|
3174
|
+
e.preventDefault();
|
|
3175
|
+
},
|
|
3176
|
+
variant: "default",
|
|
3177
|
+
size: "default",
|
|
3178
|
+
asButton: true,
|
|
3179
|
+
className: cn(newsletterButtonClassName),
|
|
3180
|
+
children: newsletterButtonText
|
|
3181
|
+
}
|
|
3182
|
+
)
|
|
3183
|
+
] }),
|
|
3184
|
+
(privacyConsentText || privacyLinkText) && /* @__PURE__ */ jsxRuntime.jsxs("p", { className: cn("mt-1 text-xs ", privacyClassName), children: [
|
|
3185
|
+
privacyConsentText,
|
|
3186
|
+
privacyLinkText && /* @__PURE__ */ jsxRuntime.jsx(
|
|
3187
|
+
Pressable,
|
|
3188
|
+
{
|
|
3189
|
+
href: privacyLinkUrl || "#",
|
|
3190
|
+
className: "ml-1 hover:underline",
|
|
3191
|
+
children: privacyLinkText
|
|
3192
|
+
}
|
|
3193
|
+
)
|
|
3194
|
+
] })
|
|
3195
|
+
]
|
|
3196
|
+
}
|
|
3197
|
+
),
|
|
3198
|
+
socialLinks && socialLinks.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("", socialColumnClassName), children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3199
|
+
"ul",
|
|
3167
3200
|
{
|
|
3168
|
-
|
|
3169
|
-
|
|
3170
|
-
|
|
3201
|
+
className: cn(
|
|
3202
|
+
"mb-10 flex items-center gap-2",
|
|
3203
|
+
socialLinksClassName
|
|
3204
|
+
),
|
|
3205
|
+
children: socialLinks.map((social, idx) => /* @__PURE__ */ jsxRuntime.jsx("li", { className: "font-medium", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3206
|
+
SocialLinkIcon,
|
|
3207
|
+
{
|
|
3208
|
+
href: social.href,
|
|
3209
|
+
label: social.label,
|
|
3210
|
+
iconNameOverride: social.iconNameOverride,
|
|
3211
|
+
iconSize: 24,
|
|
3212
|
+
className: cn(
|
|
3213
|
+
"flex size-12 items-center justify-center rounded-full transition-colors",
|
|
3214
|
+
socialLinkClassName
|
|
3215
|
+
)
|
|
3216
|
+
}
|
|
3217
|
+
) }, idx))
|
|
3171
3218
|
}
|
|
3172
|
-
)
|
|
3173
|
-
] })
|
|
3219
|
+
) })
|
|
3220
|
+
] }),
|
|
3221
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3222
|
+
"div",
|
|
3223
|
+
{
|
|
3224
|
+
className: cn(
|
|
3225
|
+
"mt-20 flex flex-col justify-between gap-4 border-t pt-8 text-sm font-medium md:flex-row md:items-center",
|
|
3226
|
+
bottomClassName
|
|
3227
|
+
),
|
|
3228
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3229
|
+
"div",
|
|
3230
|
+
{
|
|
3231
|
+
className: cn(
|
|
3232
|
+
"flex flex-col gap-2 md:flex-row md:items-center md:gap-4",
|
|
3233
|
+
copyrightClassName
|
|
3234
|
+
),
|
|
3235
|
+
children: [
|
|
3236
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { children: copyrightText }),
|
|
3237
|
+
attributionText && /* @__PURE__ */ jsxRuntime.jsx(
|
|
3238
|
+
Pressable,
|
|
3239
|
+
{
|
|
3240
|
+
href: attributionHref || "https://opensite.ai",
|
|
3241
|
+
className: "hover:text-primary",
|
|
3242
|
+
children: attributionText
|
|
3243
|
+
}
|
|
3244
|
+
)
|
|
3245
|
+
]
|
|
3246
|
+
}
|
|
3247
|
+
)
|
|
3248
|
+
}
|
|
3249
|
+
)
|
|
3174
3250
|
] }) })
|
|
3175
3251
|
}
|
|
3176
3252
|
);
|
package/dist/index.js
CHANGED
|
@@ -1666,6 +1666,24 @@ var platformIconMap = {
|
|
|
1666
1666
|
spotify: "cib/spotify",
|
|
1667
1667
|
apple: "cib/apple",
|
|
1668
1668
|
x: "line-md/twitter-x",
|
|
1669
|
+
github: "cib/github",
|
|
1670
|
+
snapchat: "cib/snapchat",
|
|
1671
|
+
discord: "cib/discord",
|
|
1672
|
+
dev: "simple-icons/devdotto",
|
|
1673
|
+
substack: "simple-icons/substack",
|
|
1674
|
+
reddit: "cib/reddit",
|
|
1675
|
+
pinterest: "cib/pinterest",
|
|
1676
|
+
threads: "simple-icons/threads",
|
|
1677
|
+
twitch: "cib/twitch",
|
|
1678
|
+
whatsapp: "cib/whatsapp",
|
|
1679
|
+
telegram: "cib/telegram",
|
|
1680
|
+
medium: "simple-icons/medium",
|
|
1681
|
+
patreon: "cib/patreon",
|
|
1682
|
+
onlyfans: "simple-icons/onlyfans",
|
|
1683
|
+
eventbrite: "cib/eventbrite",
|
|
1684
|
+
npmjs: "simple-icons/npm",
|
|
1685
|
+
crates: "cib/rust",
|
|
1686
|
+
rubygems: "cib/rubygems",
|
|
1669
1687
|
unknown: "icon-park-solid/circular-connection"
|
|
1670
1688
|
};
|
|
1671
1689
|
var SocialLinkIcon = React4.forwardRef(
|
|
@@ -2961,10 +2979,11 @@ function FooterLinksGrid({
|
|
|
2961
2979
|
attributionHref,
|
|
2962
2980
|
bottomLinks,
|
|
2963
2981
|
background,
|
|
2964
|
-
spacing,
|
|
2965
2982
|
pattern,
|
|
2966
2983
|
patternOpacity,
|
|
2967
|
-
optixFlowConfig
|
|
2984
|
+
optixFlowConfig,
|
|
2985
|
+
containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
|
|
2986
|
+
spacing = "py-6 md:py-32"
|
|
2968
2987
|
}) {
|
|
2969
2988
|
const currentYear = useMemo(() => (/* @__PURE__ */ new Date()).getFullYear(), []);
|
|
2970
2989
|
const copyrightText = copyright ?? `\xA9 ${currentYear}`;
|
|
@@ -2976,9 +2995,10 @@ function FooterLinksGrid({
|
|
|
2976
2995
|
pattern,
|
|
2977
2996
|
patternOpacity,
|
|
2978
2997
|
className: cn(className),
|
|
2998
|
+
containerClassName,
|
|
2979
2999
|
children: /* @__PURE__ */ jsxs("footer", { children: [
|
|
2980
|
-
/* @__PURE__ */ jsxs("div", { className: "grid grid-cols-2 gap-8
|
|
2981
|
-
(logo || tagline) && /* @__PURE__ */ jsxs("div", { className: "col-span-2 mb-
|
|
3000
|
+
/* @__PURE__ */ jsxs("div", { className: "grid grid-cols-2 gap-4 md:gap-8 md:grid-cols-6", children: [
|
|
3001
|
+
(logo || tagline) && /* @__PURE__ */ jsxs("div", { className: "flex space-y-2 col-span-2 flex-col mb-6 md:mb-0 pr-0 md:pr-6", children: [
|
|
2982
3002
|
logo && /* @__PURE__ */ jsx(
|
|
2983
3003
|
FooterLogo,
|
|
2984
3004
|
{
|
|
@@ -2991,17 +3011,10 @@ function FooterLinksGrid({
|
|
|
2991
3011
|
] }),
|
|
2992
3012
|
menuItems && menuItems.length > 0 && menuItems.map((section, sectionIdx) => /* @__PURE__ */ jsxs("div", { children: [
|
|
2993
3013
|
/* @__PURE__ */ jsx("h3", { className: "mb-4 font-bold", children: section.title }),
|
|
2994
|
-
/* @__PURE__ */ jsx("ul", { className: "space-y-4
|
|
2995
|
-
"li",
|
|
2996
|
-
{
|
|
2997
|
-
className: "font-medium hover:text-primary",
|
|
2998
|
-
children: /* @__PURE__ */ jsx(Pressable, { href: link.url, children: link.text })
|
|
2999
|
-
},
|
|
3000
|
-
linkIdx
|
|
3001
|
-
)) })
|
|
3014
|
+
/* @__PURE__ */ jsx("ul", { className: "space-y-4", children: section.links.map((link, linkIdx) => /* @__PURE__ */ jsx("li", { className: "text-sm font-medium", children: /* @__PURE__ */ jsx(Pressable, { href: link.url, children: link.text }) }, linkIdx)) })
|
|
3002
3015
|
] }, sectionIdx))
|
|
3003
3016
|
] }),
|
|
3004
|
-
/* @__PURE__ */ jsxs("div", { className: "mt-24 flex flex-col justify-between gap-4 border-t pt-8 text-sm font-medium
|
|
3017
|
+
/* @__PURE__ */ jsxs("div", { className: "mt-24 flex flex-col justify-between gap-4 border-t pt-8 text-sm font-medium md:flex-row md:items-center", children: [
|
|
3005
3018
|
/* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-2 md:flex-row md:items-center md:gap-4", children: [
|
|
3006
3019
|
/* @__PURE__ */ jsx("p", { children: copyrightText }),
|
|
3007
3020
|
attributionText && /* @__PURE__ */ jsx(
|
|
@@ -3013,7 +3026,7 @@ function FooterLinksGrid({
|
|
|
3013
3026
|
}
|
|
3014
3027
|
)
|
|
3015
3028
|
] }),
|
|
3016
|
-
bottomLinks && bottomLinks.length > 0 && /* @__PURE__ */ jsx("ul", { className: "flex gap-4", children: bottomLinks.map((link, linkIdx) => /* @__PURE__ */ jsx("li", { className: "underline
|
|
3029
|
+
bottomLinks && bottomLinks.length > 0 && /* @__PURE__ */ jsx("ul", { className: "flex gap-4", children: bottomLinks.map((link, linkIdx) => /* @__PURE__ */ jsx("li", { className: "underline", children: /* @__PURE__ */ jsx(Pressable, { href: link.url, children: link.text }) }, linkIdx)) })
|
|
3017
3030
|
] })
|
|
3018
3031
|
] })
|
|
3019
3032
|
}
|
|
@@ -3051,7 +3064,8 @@ function FooterSocialNewsletter({
|
|
|
3051
3064
|
bottomClassName,
|
|
3052
3065
|
copyrightClassName,
|
|
3053
3066
|
background,
|
|
3054
|
-
|
|
3067
|
+
containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
|
|
3068
|
+
spacing = "py-6 md:py-32",
|
|
3055
3069
|
pattern,
|
|
3056
3070
|
patternOpacity,
|
|
3057
3071
|
optixFlowConfig
|
|
@@ -3066,88 +3080,150 @@ function FooterSocialNewsletter({
|
|
|
3066
3080
|
pattern,
|
|
3067
3081
|
patternOpacity,
|
|
3068
3082
|
className: cn(className),
|
|
3083
|
+
containerClassName,
|
|
3069
3084
|
children: /* @__PURE__ */ jsx("div", { className: cn(contentClassName), children: /* @__PURE__ */ jsxs("footer", { children: [
|
|
3070
3085
|
logo && /* @__PURE__ */ jsx(
|
|
3071
3086
|
FooterLogo,
|
|
3072
3087
|
{
|
|
3073
3088
|
logo,
|
|
3074
|
-
logoClassName: cn(
|
|
3089
|
+
logoClassName: cn(
|
|
3090
|
+
"flex items-center gap-2",
|
|
3091
|
+
logoWrapperClassName
|
|
3092
|
+
),
|
|
3075
3093
|
logoImageClassName: cn("h-10", logoClassName),
|
|
3076
3094
|
optixFlowConfig
|
|
3077
3095
|
}
|
|
3078
3096
|
),
|
|
3079
|
-
|
|
3080
|
-
|
|
3081
|
-
|
|
3082
|
-
|
|
3083
|
-
"
|
|
3084
|
-
|
|
3085
|
-
|
|
3086
|
-
|
|
3087
|
-
},
|
|
3088
|
-
linkIdx
|
|
3089
|
-
|
|
3090
|
-
|
|
3091
|
-
|
|
3092
|
-
|
|
3093
|
-
|
|
3094
|
-
|
|
3095
|
-
|
|
3096
|
-
|
|
3097
|
-
|
|
3098
|
-
|
|
3099
|
-
|
|
3100
|
-
|
|
3101
|
-
|
|
3102
|
-
|
|
3103
|
-
|
|
3104
|
-
|
|
3105
|
-
|
|
3106
|
-
|
|
3107
|
-
|
|
3108
|
-
|
|
3109
|
-
|
|
3110
|
-
/* @__PURE__ */ jsx(
|
|
3111
|
-
"input",
|
|
3097
|
+
sections && sections.length > 0 ? /* @__PURE__ */ jsx(
|
|
3098
|
+
"div",
|
|
3099
|
+
{
|
|
3100
|
+
className: cn(
|
|
3101
|
+
"mt-14 grid gap-8 md:grid-cols-2 lg:grid-cols-5 xl:grid-cols-4",
|
|
3102
|
+
gridClassName
|
|
3103
|
+
),
|
|
3104
|
+
children: sections && sections.length > 0 && sections.map((section, sectionIdx) => /* @__PURE__ */ jsxs("div", { className: cn(navSectionClassName), children: [
|
|
3105
|
+
/* @__PURE__ */ jsx("h3", { className: cn("mb-4 font-bold", navTitleClassName), children: section.title }),
|
|
3106
|
+
/* @__PURE__ */ jsx("ul", { className: cn("space-y-4", navLinksClassName), children: section.links.map((link, linkIdx) => /* @__PURE__ */ jsx(
|
|
3107
|
+
"li",
|
|
3108
|
+
{
|
|
3109
|
+
className: cn("font-medium", navLinkClassName),
|
|
3110
|
+
children: /* @__PURE__ */ jsx(Pressable, { href: link.href, children: link.name })
|
|
3111
|
+
},
|
|
3112
|
+
linkIdx
|
|
3113
|
+
)) })
|
|
3114
|
+
] }, sectionIdx))
|
|
3115
|
+
}
|
|
3116
|
+
) : null,
|
|
3117
|
+
(socialLinks && socialLinks.length > 0 || newsletterLabel || newsletterButtonText) && /* @__PURE__ */ jsxs("div", { className: cn("lg:col-span-2 xl:col-span-1"), children: [
|
|
3118
|
+
(newsletterLabel || newsletterButtonText) && /* @__PURE__ */ jsxs(
|
|
3119
|
+
"div",
|
|
3120
|
+
{
|
|
3121
|
+
className: cn(
|
|
3122
|
+
"grid w-full max-w-sm items-center gap-1.5",
|
|
3123
|
+
newsletterClassName
|
|
3124
|
+
),
|
|
3125
|
+
children: [
|
|
3126
|
+
newsletterLabel && /* @__PURE__ */ jsx(
|
|
3127
|
+
"label",
|
|
3112
3128
|
{
|
|
3113
|
-
|
|
3114
|
-
|
|
3115
|
-
|
|
3116
|
-
className: cn("flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50", newsletterInputClassName)
|
|
3129
|
+
htmlFor: "newsletter-email",
|
|
3130
|
+
className: "text-sm font-medium",
|
|
3131
|
+
children: newsletterLabel
|
|
3117
3132
|
}
|
|
3118
3133
|
),
|
|
3119
|
-
|
|
3120
|
-
|
|
3121
|
-
|
|
3122
|
-
|
|
3123
|
-
|
|
3124
|
-
|
|
3125
|
-
|
|
3126
|
-
|
|
3127
|
-
|
|
3128
|
-
|
|
3129
|
-
|
|
3130
|
-
|
|
3131
|
-
|
|
3132
|
-
|
|
3133
|
-
|
|
3134
|
-
|
|
3135
|
-
|
|
3136
|
-
|
|
3137
|
-
|
|
3138
|
-
|
|
3139
|
-
|
|
3140
|
-
|
|
3141
|
-
|
|
3142
|
-
|
|
3143
|
-
|
|
3134
|
+
/* @__PURE__ */ jsxs("div", { className: "flex w-full max-w-sm items-center space-x-2", children: [
|
|
3135
|
+
/* @__PURE__ */ jsx(
|
|
3136
|
+
"input",
|
|
3137
|
+
{
|
|
3138
|
+
type: "email",
|
|
3139
|
+
id: "newsletter-email",
|
|
3140
|
+
placeholder: newsletterPlaceholder || "Email",
|
|
3141
|
+
className: cn(
|
|
3142
|
+
"flex h-10 w-full rounded-md border border-input px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
|
|
3143
|
+
newsletterInputClassName
|
|
3144
|
+
)
|
|
3145
|
+
}
|
|
3146
|
+
),
|
|
3147
|
+
newsletterButtonText && /* @__PURE__ */ jsx(
|
|
3148
|
+
Pressable,
|
|
3149
|
+
{
|
|
3150
|
+
onClick: (e) => {
|
|
3151
|
+
e.preventDefault();
|
|
3152
|
+
},
|
|
3153
|
+
variant: "default",
|
|
3154
|
+
size: "default",
|
|
3155
|
+
asButton: true,
|
|
3156
|
+
className: cn(newsletterButtonClassName),
|
|
3157
|
+
children: newsletterButtonText
|
|
3158
|
+
}
|
|
3159
|
+
)
|
|
3160
|
+
] }),
|
|
3161
|
+
(privacyConsentText || privacyLinkText) && /* @__PURE__ */ jsxs("p", { className: cn("mt-1 text-xs ", privacyClassName), children: [
|
|
3162
|
+
privacyConsentText,
|
|
3163
|
+
privacyLinkText && /* @__PURE__ */ jsx(
|
|
3164
|
+
Pressable,
|
|
3165
|
+
{
|
|
3166
|
+
href: privacyLinkUrl || "#",
|
|
3167
|
+
className: "ml-1 hover:underline",
|
|
3168
|
+
children: privacyLinkText
|
|
3169
|
+
}
|
|
3170
|
+
)
|
|
3171
|
+
] })
|
|
3172
|
+
]
|
|
3173
|
+
}
|
|
3174
|
+
),
|
|
3175
|
+
socialLinks && socialLinks.length > 0 && /* @__PURE__ */ jsx("div", { className: cn("", socialColumnClassName), children: /* @__PURE__ */ jsx(
|
|
3176
|
+
"ul",
|
|
3144
3177
|
{
|
|
3145
|
-
|
|
3146
|
-
|
|
3147
|
-
|
|
3178
|
+
className: cn(
|
|
3179
|
+
"mb-10 flex items-center gap-2",
|
|
3180
|
+
socialLinksClassName
|
|
3181
|
+
),
|
|
3182
|
+
children: socialLinks.map((social, idx) => /* @__PURE__ */ jsx("li", { className: "font-medium", children: /* @__PURE__ */ jsx(
|
|
3183
|
+
SocialLinkIcon,
|
|
3184
|
+
{
|
|
3185
|
+
href: social.href,
|
|
3186
|
+
label: social.label,
|
|
3187
|
+
iconNameOverride: social.iconNameOverride,
|
|
3188
|
+
iconSize: 24,
|
|
3189
|
+
className: cn(
|
|
3190
|
+
"flex size-12 items-center justify-center rounded-full transition-colors",
|
|
3191
|
+
socialLinkClassName
|
|
3192
|
+
)
|
|
3193
|
+
}
|
|
3194
|
+
) }, idx))
|
|
3148
3195
|
}
|
|
3149
|
-
)
|
|
3150
|
-
] })
|
|
3196
|
+
) })
|
|
3197
|
+
] }),
|
|
3198
|
+
/* @__PURE__ */ jsx(
|
|
3199
|
+
"div",
|
|
3200
|
+
{
|
|
3201
|
+
className: cn(
|
|
3202
|
+
"mt-20 flex flex-col justify-between gap-4 border-t pt-8 text-sm font-medium md:flex-row md:items-center",
|
|
3203
|
+
bottomClassName
|
|
3204
|
+
),
|
|
3205
|
+
children: /* @__PURE__ */ jsxs(
|
|
3206
|
+
"div",
|
|
3207
|
+
{
|
|
3208
|
+
className: cn(
|
|
3209
|
+
"flex flex-col gap-2 md:flex-row md:items-center md:gap-4",
|
|
3210
|
+
copyrightClassName
|
|
3211
|
+
),
|
|
3212
|
+
children: [
|
|
3213
|
+
/* @__PURE__ */ jsx("p", { children: copyrightText }),
|
|
3214
|
+
attributionText && /* @__PURE__ */ jsx(
|
|
3215
|
+
Pressable,
|
|
3216
|
+
{
|
|
3217
|
+
href: attributionHref || "https://opensite.ai",
|
|
3218
|
+
className: "hover:text-primary",
|
|
3219
|
+
children: attributionText
|
|
3220
|
+
}
|
|
3221
|
+
)
|
|
3222
|
+
]
|
|
3223
|
+
}
|
|
3224
|
+
)
|
|
3225
|
+
}
|
|
3226
|
+
)
|
|
3151
3227
|
] }) })
|
|
3152
3228
|
}
|
|
3153
3229
|
);
|