@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/components.cjs
CHANGED
|
@@ -1658,6 +1658,24 @@ var platformIconMap = {
|
|
|
1658
1658
|
spotify: "cib/spotify",
|
|
1659
1659
|
apple: "cib/apple",
|
|
1660
1660
|
x: "line-md/twitter-x",
|
|
1661
|
+
github: "cib/github",
|
|
1662
|
+
snapchat: "cib/snapchat",
|
|
1663
|
+
discord: "cib/discord",
|
|
1664
|
+
dev: "simple-icons/devdotto",
|
|
1665
|
+
substack: "simple-icons/substack",
|
|
1666
|
+
reddit: "cib/reddit",
|
|
1667
|
+
pinterest: "cib/pinterest",
|
|
1668
|
+
threads: "simple-icons/threads",
|
|
1669
|
+
twitch: "cib/twitch",
|
|
1670
|
+
whatsapp: "cib/whatsapp",
|
|
1671
|
+
telegram: "cib/telegram",
|
|
1672
|
+
medium: "simple-icons/medium",
|
|
1673
|
+
patreon: "cib/patreon",
|
|
1674
|
+
onlyfans: "simple-icons/onlyfans",
|
|
1675
|
+
eventbrite: "cib/eventbrite",
|
|
1676
|
+
npmjs: "simple-icons/npm",
|
|
1677
|
+
crates: "cib/rust",
|
|
1678
|
+
rubygems: "cib/rubygems",
|
|
1661
1679
|
unknown: "icon-park-solid/circular-connection"
|
|
1662
1680
|
};
|
|
1663
1681
|
var SocialLinkIcon = React4__namespace.forwardRef(
|
|
@@ -2953,10 +2971,11 @@ function FooterLinksGrid({
|
|
|
2953
2971
|
attributionHref,
|
|
2954
2972
|
bottomLinks,
|
|
2955
2973
|
background,
|
|
2956
|
-
spacing,
|
|
2957
2974
|
pattern,
|
|
2958
2975
|
patternOpacity,
|
|
2959
|
-
optixFlowConfig
|
|
2976
|
+
optixFlowConfig,
|
|
2977
|
+
containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
|
|
2978
|
+
spacing = "py-6 md:py-32"
|
|
2960
2979
|
}) {
|
|
2961
2980
|
const currentYear = React4.useMemo(() => (/* @__PURE__ */ new Date()).getFullYear(), []);
|
|
2962
2981
|
const copyrightText = copyright ?? `\xA9 ${currentYear}`;
|
|
@@ -2968,9 +2987,10 @@ function FooterLinksGrid({
|
|
|
2968
2987
|
pattern,
|
|
2969
2988
|
patternOpacity,
|
|
2970
2989
|
className: cn(className),
|
|
2990
|
+
containerClassName,
|
|
2971
2991
|
children: /* @__PURE__ */ jsxRuntime.jsxs("footer", { children: [
|
|
2972
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-2 gap-8
|
|
2973
|
-
(logo || tagline) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "col-span-2 mb-
|
|
2992
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-2 gap-4 md:gap-8 md:grid-cols-6", children: [
|
|
2993
|
+
(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: [
|
|
2974
2994
|
logo && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2975
2995
|
FooterLogo,
|
|
2976
2996
|
{
|
|
@@ -2983,17 +3003,10 @@ function FooterLinksGrid({
|
|
|
2983
3003
|
] }),
|
|
2984
3004
|
menuItems && menuItems.length > 0 && menuItems.map((section, sectionIdx) => /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
2985
3005
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-4 font-bold", children: section.title }),
|
|
2986
|
-
/* @__PURE__ */ jsxRuntime.jsx("ul", { className: "space-y-4
|
|
2987
|
-
"li",
|
|
2988
|
-
{
|
|
2989
|
-
className: "font-medium hover:text-primary",
|
|
2990
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: link.url, children: link.text })
|
|
2991
|
-
},
|
|
2992
|
-
linkIdx
|
|
2993
|
-
)) })
|
|
3006
|
+
/* @__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)) })
|
|
2994
3007
|
] }, sectionIdx))
|
|
2995
3008
|
] }),
|
|
2996
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-24 flex flex-col justify-between gap-4 border-t pt-8 text-sm font-medium
|
|
3009
|
+
/* @__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: [
|
|
2997
3010
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2 md:flex-row md:items-center md:gap-4", children: [
|
|
2998
3011
|
/* @__PURE__ */ jsxRuntime.jsx("p", { children: copyrightText }),
|
|
2999
3012
|
attributionText && /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -3005,7 +3018,7 @@ function FooterLinksGrid({
|
|
|
3005
3018
|
}
|
|
3006
3019
|
)
|
|
3007
3020
|
] }),
|
|
3008
|
-
bottomLinks && bottomLinks.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "flex gap-4", children: bottomLinks.map((link, linkIdx) => /* @__PURE__ */ jsxRuntime.jsx("li", { className: "underline
|
|
3021
|
+
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)) })
|
|
3009
3022
|
] })
|
|
3010
3023
|
] })
|
|
3011
3024
|
}
|
|
@@ -3043,7 +3056,8 @@ function FooterSocialNewsletter({
|
|
|
3043
3056
|
bottomClassName,
|
|
3044
3057
|
copyrightClassName,
|
|
3045
3058
|
background,
|
|
3046
|
-
|
|
3059
|
+
containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
|
|
3060
|
+
spacing = "py-6 md:py-32",
|
|
3047
3061
|
pattern,
|
|
3048
3062
|
patternOpacity,
|
|
3049
3063
|
optixFlowConfig
|
|
@@ -3058,88 +3072,150 @@ function FooterSocialNewsletter({
|
|
|
3058
3072
|
pattern,
|
|
3059
3073
|
patternOpacity,
|
|
3060
3074
|
className: cn(className),
|
|
3075
|
+
containerClassName,
|
|
3061
3076
|
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn(contentClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("footer", { children: [
|
|
3062
3077
|
logo && /* @__PURE__ */ jsxRuntime.jsx(
|
|
3063
3078
|
FooterLogo,
|
|
3064
3079
|
{
|
|
3065
3080
|
logo,
|
|
3066
|
-
logoClassName: cn(
|
|
3081
|
+
logoClassName: cn(
|
|
3082
|
+
"flex items-center gap-2",
|
|
3083
|
+
logoWrapperClassName
|
|
3084
|
+
),
|
|
3067
3085
|
logoImageClassName: cn("h-10", logoClassName),
|
|
3068
3086
|
optixFlowConfig
|
|
3069
3087
|
}
|
|
3070
3088
|
),
|
|
3071
|
-
|
|
3072
|
-
|
|
3073
|
-
|
|
3074
|
-
|
|
3075
|
-
"
|
|
3076
|
-
|
|
3077
|
-
|
|
3078
|
-
|
|
3079
|
-
},
|
|
3080
|
-
linkIdx
|
|
3081
|
-
|
|
3082
|
-
|
|
3083
|
-
|
|
3084
|
-
|
|
3085
|
-
|
|
3086
|
-
|
|
3087
|
-
|
|
3088
|
-
|
|
3089
|
-
|
|
3090
|
-
|
|
3091
|
-
|
|
3092
|
-
|
|
3093
|
-
|
|
3094
|
-
|
|
3095
|
-
|
|
3096
|
-
|
|
3097
|
-
|
|
3098
|
-
|
|
3099
|
-
|
|
3100
|
-
|
|
3101
|
-
|
|
3102
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3103
|
-
"input",
|
|
3089
|
+
sections && sections.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
3090
|
+
"div",
|
|
3091
|
+
{
|
|
3092
|
+
className: cn(
|
|
3093
|
+
"mt-14 grid gap-8 md:grid-cols-2 lg:grid-cols-5 xl:grid-cols-4",
|
|
3094
|
+
gridClassName
|
|
3095
|
+
),
|
|
3096
|
+
children: sections && sections.length > 0 && sections.map((section, sectionIdx) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(navSectionClassName), children: [
|
|
3097
|
+
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: cn("mb-4 font-bold", navTitleClassName), children: section.title }),
|
|
3098
|
+
/* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("space-y-4", navLinksClassName), children: section.links.map((link, linkIdx) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
3099
|
+
"li",
|
|
3100
|
+
{
|
|
3101
|
+
className: cn("font-medium", navLinkClassName),
|
|
3102
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: link.href, children: link.name })
|
|
3103
|
+
},
|
|
3104
|
+
linkIdx
|
|
3105
|
+
)) })
|
|
3106
|
+
] }, sectionIdx))
|
|
3107
|
+
}
|
|
3108
|
+
) : null,
|
|
3109
|
+
(socialLinks && socialLinks.length > 0 || newsletterLabel || newsletterButtonText) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("lg:col-span-2 xl:col-span-1"), children: [
|
|
3110
|
+
(newsletterLabel || newsletterButtonText) && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3111
|
+
"div",
|
|
3112
|
+
{
|
|
3113
|
+
className: cn(
|
|
3114
|
+
"grid w-full max-w-sm items-center gap-1.5",
|
|
3115
|
+
newsletterClassName
|
|
3116
|
+
),
|
|
3117
|
+
children: [
|
|
3118
|
+
newsletterLabel && /* @__PURE__ */ jsxRuntime.jsx(
|
|
3119
|
+
"label",
|
|
3104
3120
|
{
|
|
3105
|
-
|
|
3106
|
-
|
|
3107
|
-
|
|
3108
|
-
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)
|
|
3121
|
+
htmlFor: "newsletter-email",
|
|
3122
|
+
className: "text-sm font-medium",
|
|
3123
|
+
children: newsletterLabel
|
|
3109
3124
|
}
|
|
3110
3125
|
),
|
|
3111
|
-
|
|
3112
|
-
|
|
3113
|
-
|
|
3114
|
-
|
|
3115
|
-
|
|
3116
|
-
|
|
3117
|
-
|
|
3118
|
-
|
|
3119
|
-
|
|
3120
|
-
|
|
3121
|
-
|
|
3122
|
-
|
|
3123
|
-
|
|
3124
|
-
|
|
3125
|
-
|
|
3126
|
-
|
|
3127
|
-
|
|
3128
|
-
|
|
3129
|
-
|
|
3130
|
-
|
|
3131
|
-
|
|
3132
|
-
|
|
3133
|
-
|
|
3134
|
-
|
|
3135
|
-
|
|
3126
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex w-full max-w-sm items-center space-x-2", children: [
|
|
3127
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3128
|
+
"input",
|
|
3129
|
+
{
|
|
3130
|
+
type: "email",
|
|
3131
|
+
id: "newsletter-email",
|
|
3132
|
+
placeholder: newsletterPlaceholder || "Email",
|
|
3133
|
+
className: cn(
|
|
3134
|
+
"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",
|
|
3135
|
+
newsletterInputClassName
|
|
3136
|
+
)
|
|
3137
|
+
}
|
|
3138
|
+
),
|
|
3139
|
+
newsletterButtonText && /* @__PURE__ */ jsxRuntime.jsx(
|
|
3140
|
+
Pressable,
|
|
3141
|
+
{
|
|
3142
|
+
onClick: (e) => {
|
|
3143
|
+
e.preventDefault();
|
|
3144
|
+
},
|
|
3145
|
+
variant: "default",
|
|
3146
|
+
size: "default",
|
|
3147
|
+
asButton: true,
|
|
3148
|
+
className: cn(newsletterButtonClassName),
|
|
3149
|
+
children: newsletterButtonText
|
|
3150
|
+
}
|
|
3151
|
+
)
|
|
3152
|
+
] }),
|
|
3153
|
+
(privacyConsentText || privacyLinkText) && /* @__PURE__ */ jsxRuntime.jsxs("p", { className: cn("mt-1 text-xs ", privacyClassName), children: [
|
|
3154
|
+
privacyConsentText,
|
|
3155
|
+
privacyLinkText && /* @__PURE__ */ jsxRuntime.jsx(
|
|
3156
|
+
Pressable,
|
|
3157
|
+
{
|
|
3158
|
+
href: privacyLinkUrl || "#",
|
|
3159
|
+
className: "ml-1 hover:underline",
|
|
3160
|
+
children: privacyLinkText
|
|
3161
|
+
}
|
|
3162
|
+
)
|
|
3163
|
+
] })
|
|
3164
|
+
]
|
|
3165
|
+
}
|
|
3166
|
+
),
|
|
3167
|
+
socialLinks && socialLinks.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("", socialColumnClassName), children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3168
|
+
"ul",
|
|
3136
3169
|
{
|
|
3137
|
-
|
|
3138
|
-
|
|
3139
|
-
|
|
3170
|
+
className: cn(
|
|
3171
|
+
"mb-10 flex items-center gap-2",
|
|
3172
|
+
socialLinksClassName
|
|
3173
|
+
),
|
|
3174
|
+
children: socialLinks.map((social, idx) => /* @__PURE__ */ jsxRuntime.jsx("li", { className: "font-medium", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3175
|
+
SocialLinkIcon,
|
|
3176
|
+
{
|
|
3177
|
+
href: social.href,
|
|
3178
|
+
label: social.label,
|
|
3179
|
+
iconNameOverride: social.iconNameOverride,
|
|
3180
|
+
iconSize: 24,
|
|
3181
|
+
className: cn(
|
|
3182
|
+
"flex size-12 items-center justify-center rounded-full transition-colors",
|
|
3183
|
+
socialLinkClassName
|
|
3184
|
+
)
|
|
3185
|
+
}
|
|
3186
|
+
) }, idx))
|
|
3140
3187
|
}
|
|
3141
|
-
)
|
|
3142
|
-
] })
|
|
3188
|
+
) })
|
|
3189
|
+
] }),
|
|
3190
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3191
|
+
"div",
|
|
3192
|
+
{
|
|
3193
|
+
className: cn(
|
|
3194
|
+
"mt-20 flex flex-col justify-between gap-4 border-t pt-8 text-sm font-medium md:flex-row md:items-center",
|
|
3195
|
+
bottomClassName
|
|
3196
|
+
),
|
|
3197
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3198
|
+
"div",
|
|
3199
|
+
{
|
|
3200
|
+
className: cn(
|
|
3201
|
+
"flex flex-col gap-2 md:flex-row md:items-center md:gap-4",
|
|
3202
|
+
copyrightClassName
|
|
3203
|
+
),
|
|
3204
|
+
children: [
|
|
3205
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { children: copyrightText }),
|
|
3206
|
+
attributionText && /* @__PURE__ */ jsxRuntime.jsx(
|
|
3207
|
+
Pressable,
|
|
3208
|
+
{
|
|
3209
|
+
href: attributionHref || "https://opensite.ai",
|
|
3210
|
+
className: "hover:text-primary",
|
|
3211
|
+
children: attributionText
|
|
3212
|
+
}
|
|
3213
|
+
)
|
|
3214
|
+
]
|
|
3215
|
+
}
|
|
3216
|
+
)
|
|
3217
|
+
}
|
|
3218
|
+
)
|
|
3143
3219
|
] }) })
|
|
3144
3220
|
}
|
|
3145
3221
|
);
|
package/dist/components.js
CHANGED
|
@@ -1635,6 +1635,24 @@ var platformIconMap = {
|
|
|
1635
1635
|
spotify: "cib/spotify",
|
|
1636
1636
|
apple: "cib/apple",
|
|
1637
1637
|
x: "line-md/twitter-x",
|
|
1638
|
+
github: "cib/github",
|
|
1639
|
+
snapchat: "cib/snapchat",
|
|
1640
|
+
discord: "cib/discord",
|
|
1641
|
+
dev: "simple-icons/devdotto",
|
|
1642
|
+
substack: "simple-icons/substack",
|
|
1643
|
+
reddit: "cib/reddit",
|
|
1644
|
+
pinterest: "cib/pinterest",
|
|
1645
|
+
threads: "simple-icons/threads",
|
|
1646
|
+
twitch: "cib/twitch",
|
|
1647
|
+
whatsapp: "cib/whatsapp",
|
|
1648
|
+
telegram: "cib/telegram",
|
|
1649
|
+
medium: "simple-icons/medium",
|
|
1650
|
+
patreon: "cib/patreon",
|
|
1651
|
+
onlyfans: "simple-icons/onlyfans",
|
|
1652
|
+
eventbrite: "cib/eventbrite",
|
|
1653
|
+
npmjs: "simple-icons/npm",
|
|
1654
|
+
crates: "cib/rust",
|
|
1655
|
+
rubygems: "cib/rubygems",
|
|
1638
1656
|
unknown: "icon-park-solid/circular-connection"
|
|
1639
1657
|
};
|
|
1640
1658
|
var SocialLinkIcon = React4.forwardRef(
|
|
@@ -2930,10 +2948,11 @@ function FooterLinksGrid({
|
|
|
2930
2948
|
attributionHref,
|
|
2931
2949
|
bottomLinks,
|
|
2932
2950
|
background,
|
|
2933
|
-
spacing,
|
|
2934
2951
|
pattern,
|
|
2935
2952
|
patternOpacity,
|
|
2936
|
-
optixFlowConfig
|
|
2953
|
+
optixFlowConfig,
|
|
2954
|
+
containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
|
|
2955
|
+
spacing = "py-6 md:py-32"
|
|
2937
2956
|
}) {
|
|
2938
2957
|
const currentYear = useMemo(() => (/* @__PURE__ */ new Date()).getFullYear(), []);
|
|
2939
2958
|
const copyrightText = copyright ?? `\xA9 ${currentYear}`;
|
|
@@ -2945,9 +2964,10 @@ function FooterLinksGrid({
|
|
|
2945
2964
|
pattern,
|
|
2946
2965
|
patternOpacity,
|
|
2947
2966
|
className: cn(className),
|
|
2967
|
+
containerClassName,
|
|
2948
2968
|
children: /* @__PURE__ */ jsxs("footer", { children: [
|
|
2949
|
-
/* @__PURE__ */ jsxs("div", { className: "grid grid-cols-2 gap-8
|
|
2950
|
-
(logo || tagline) && /* @__PURE__ */ jsxs("div", { className: "col-span-2 mb-
|
|
2969
|
+
/* @__PURE__ */ jsxs("div", { className: "grid grid-cols-2 gap-4 md:gap-8 md:grid-cols-6", children: [
|
|
2970
|
+
(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: [
|
|
2951
2971
|
logo && /* @__PURE__ */ jsx(
|
|
2952
2972
|
FooterLogo,
|
|
2953
2973
|
{
|
|
@@ -2960,17 +2980,10 @@ function FooterLinksGrid({
|
|
|
2960
2980
|
] }),
|
|
2961
2981
|
menuItems && menuItems.length > 0 && menuItems.map((section, sectionIdx) => /* @__PURE__ */ jsxs("div", { children: [
|
|
2962
2982
|
/* @__PURE__ */ jsx("h3", { className: "mb-4 font-bold", children: section.title }),
|
|
2963
|
-
/* @__PURE__ */ jsx("ul", { className: "space-y-4
|
|
2964
|
-
"li",
|
|
2965
|
-
{
|
|
2966
|
-
className: "font-medium hover:text-primary",
|
|
2967
|
-
children: /* @__PURE__ */ jsx(Pressable, { href: link.url, children: link.text })
|
|
2968
|
-
},
|
|
2969
|
-
linkIdx
|
|
2970
|
-
)) })
|
|
2983
|
+
/* @__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)) })
|
|
2971
2984
|
] }, sectionIdx))
|
|
2972
2985
|
] }),
|
|
2973
|
-
/* @__PURE__ */ jsxs("div", { className: "mt-24 flex flex-col justify-between gap-4 border-t pt-8 text-sm font-medium
|
|
2986
|
+
/* @__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: [
|
|
2974
2987
|
/* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-2 md:flex-row md:items-center md:gap-4", children: [
|
|
2975
2988
|
/* @__PURE__ */ jsx("p", { children: copyrightText }),
|
|
2976
2989
|
attributionText && /* @__PURE__ */ jsx(
|
|
@@ -2982,7 +2995,7 @@ function FooterLinksGrid({
|
|
|
2982
2995
|
}
|
|
2983
2996
|
)
|
|
2984
2997
|
] }),
|
|
2985
|
-
bottomLinks && bottomLinks.length > 0 && /* @__PURE__ */ jsx("ul", { className: "flex gap-4", children: bottomLinks.map((link, linkIdx) => /* @__PURE__ */ jsx("li", { className: "underline
|
|
2998
|
+
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)) })
|
|
2986
2999
|
] })
|
|
2987
3000
|
] })
|
|
2988
3001
|
}
|
|
@@ -3020,7 +3033,8 @@ function FooterSocialNewsletter({
|
|
|
3020
3033
|
bottomClassName,
|
|
3021
3034
|
copyrightClassName,
|
|
3022
3035
|
background,
|
|
3023
|
-
|
|
3036
|
+
containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
|
|
3037
|
+
spacing = "py-6 md:py-32",
|
|
3024
3038
|
pattern,
|
|
3025
3039
|
patternOpacity,
|
|
3026
3040
|
optixFlowConfig
|
|
@@ -3035,88 +3049,150 @@ function FooterSocialNewsletter({
|
|
|
3035
3049
|
pattern,
|
|
3036
3050
|
patternOpacity,
|
|
3037
3051
|
className: cn(className),
|
|
3052
|
+
containerClassName,
|
|
3038
3053
|
children: /* @__PURE__ */ jsx("div", { className: cn(contentClassName), children: /* @__PURE__ */ jsxs("footer", { children: [
|
|
3039
3054
|
logo && /* @__PURE__ */ jsx(
|
|
3040
3055
|
FooterLogo,
|
|
3041
3056
|
{
|
|
3042
3057
|
logo,
|
|
3043
|
-
logoClassName: cn(
|
|
3058
|
+
logoClassName: cn(
|
|
3059
|
+
"flex items-center gap-2",
|
|
3060
|
+
logoWrapperClassName
|
|
3061
|
+
),
|
|
3044
3062
|
logoImageClassName: cn("h-10", logoClassName),
|
|
3045
3063
|
optixFlowConfig
|
|
3046
3064
|
}
|
|
3047
3065
|
),
|
|
3048
|
-
|
|
3049
|
-
|
|
3050
|
-
|
|
3051
|
-
|
|
3052
|
-
"
|
|
3053
|
-
|
|
3054
|
-
|
|
3055
|
-
|
|
3056
|
-
},
|
|
3057
|
-
linkIdx
|
|
3058
|
-
|
|
3059
|
-
|
|
3060
|
-
|
|
3061
|
-
|
|
3062
|
-
|
|
3063
|
-
|
|
3064
|
-
|
|
3065
|
-
|
|
3066
|
-
|
|
3067
|
-
|
|
3068
|
-
|
|
3069
|
-
|
|
3070
|
-
|
|
3071
|
-
|
|
3072
|
-
|
|
3073
|
-
|
|
3074
|
-
|
|
3075
|
-
|
|
3076
|
-
|
|
3077
|
-
|
|
3078
|
-
|
|
3079
|
-
/* @__PURE__ */ jsx(
|
|
3080
|
-
"input",
|
|
3066
|
+
sections && sections.length > 0 ? /* @__PURE__ */ jsx(
|
|
3067
|
+
"div",
|
|
3068
|
+
{
|
|
3069
|
+
className: cn(
|
|
3070
|
+
"mt-14 grid gap-8 md:grid-cols-2 lg:grid-cols-5 xl:grid-cols-4",
|
|
3071
|
+
gridClassName
|
|
3072
|
+
),
|
|
3073
|
+
children: sections && sections.length > 0 && sections.map((section, sectionIdx) => /* @__PURE__ */ jsxs("div", { className: cn(navSectionClassName), children: [
|
|
3074
|
+
/* @__PURE__ */ jsx("h3", { className: cn("mb-4 font-bold", navTitleClassName), children: section.title }),
|
|
3075
|
+
/* @__PURE__ */ jsx("ul", { className: cn("space-y-4", navLinksClassName), children: section.links.map((link, linkIdx) => /* @__PURE__ */ jsx(
|
|
3076
|
+
"li",
|
|
3077
|
+
{
|
|
3078
|
+
className: cn("font-medium", navLinkClassName),
|
|
3079
|
+
children: /* @__PURE__ */ jsx(Pressable, { href: link.href, children: link.name })
|
|
3080
|
+
},
|
|
3081
|
+
linkIdx
|
|
3082
|
+
)) })
|
|
3083
|
+
] }, sectionIdx))
|
|
3084
|
+
}
|
|
3085
|
+
) : null,
|
|
3086
|
+
(socialLinks && socialLinks.length > 0 || newsletterLabel || newsletterButtonText) && /* @__PURE__ */ jsxs("div", { className: cn("lg:col-span-2 xl:col-span-1"), children: [
|
|
3087
|
+
(newsletterLabel || newsletterButtonText) && /* @__PURE__ */ jsxs(
|
|
3088
|
+
"div",
|
|
3089
|
+
{
|
|
3090
|
+
className: cn(
|
|
3091
|
+
"grid w-full max-w-sm items-center gap-1.5",
|
|
3092
|
+
newsletterClassName
|
|
3093
|
+
),
|
|
3094
|
+
children: [
|
|
3095
|
+
newsletterLabel && /* @__PURE__ */ jsx(
|
|
3096
|
+
"label",
|
|
3081
3097
|
{
|
|
3082
|
-
|
|
3083
|
-
|
|
3084
|
-
|
|
3085
|
-
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)
|
|
3098
|
+
htmlFor: "newsletter-email",
|
|
3099
|
+
className: "text-sm font-medium",
|
|
3100
|
+
children: newsletterLabel
|
|
3086
3101
|
}
|
|
3087
3102
|
),
|
|
3088
|
-
|
|
3089
|
-
|
|
3090
|
-
|
|
3091
|
-
|
|
3092
|
-
|
|
3093
|
-
|
|
3094
|
-
|
|
3095
|
-
|
|
3096
|
-
|
|
3097
|
-
|
|
3098
|
-
|
|
3099
|
-
|
|
3100
|
-
|
|
3101
|
-
|
|
3102
|
-
|
|
3103
|
-
|
|
3104
|
-
|
|
3105
|
-
|
|
3106
|
-
|
|
3107
|
-
|
|
3108
|
-
|
|
3109
|
-
|
|
3110
|
-
|
|
3111
|
-
|
|
3112
|
-
|
|
3103
|
+
/* @__PURE__ */ jsxs("div", { className: "flex w-full max-w-sm items-center space-x-2", children: [
|
|
3104
|
+
/* @__PURE__ */ jsx(
|
|
3105
|
+
"input",
|
|
3106
|
+
{
|
|
3107
|
+
type: "email",
|
|
3108
|
+
id: "newsletter-email",
|
|
3109
|
+
placeholder: newsletterPlaceholder || "Email",
|
|
3110
|
+
className: cn(
|
|
3111
|
+
"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",
|
|
3112
|
+
newsletterInputClassName
|
|
3113
|
+
)
|
|
3114
|
+
}
|
|
3115
|
+
),
|
|
3116
|
+
newsletterButtonText && /* @__PURE__ */ jsx(
|
|
3117
|
+
Pressable,
|
|
3118
|
+
{
|
|
3119
|
+
onClick: (e) => {
|
|
3120
|
+
e.preventDefault();
|
|
3121
|
+
},
|
|
3122
|
+
variant: "default",
|
|
3123
|
+
size: "default",
|
|
3124
|
+
asButton: true,
|
|
3125
|
+
className: cn(newsletterButtonClassName),
|
|
3126
|
+
children: newsletterButtonText
|
|
3127
|
+
}
|
|
3128
|
+
)
|
|
3129
|
+
] }),
|
|
3130
|
+
(privacyConsentText || privacyLinkText) && /* @__PURE__ */ jsxs("p", { className: cn("mt-1 text-xs ", privacyClassName), children: [
|
|
3131
|
+
privacyConsentText,
|
|
3132
|
+
privacyLinkText && /* @__PURE__ */ jsx(
|
|
3133
|
+
Pressable,
|
|
3134
|
+
{
|
|
3135
|
+
href: privacyLinkUrl || "#",
|
|
3136
|
+
className: "ml-1 hover:underline",
|
|
3137
|
+
children: privacyLinkText
|
|
3138
|
+
}
|
|
3139
|
+
)
|
|
3140
|
+
] })
|
|
3141
|
+
]
|
|
3142
|
+
}
|
|
3143
|
+
),
|
|
3144
|
+
socialLinks && socialLinks.length > 0 && /* @__PURE__ */ jsx("div", { className: cn("", socialColumnClassName), children: /* @__PURE__ */ jsx(
|
|
3145
|
+
"ul",
|
|
3113
3146
|
{
|
|
3114
|
-
|
|
3115
|
-
|
|
3116
|
-
|
|
3147
|
+
className: cn(
|
|
3148
|
+
"mb-10 flex items-center gap-2",
|
|
3149
|
+
socialLinksClassName
|
|
3150
|
+
),
|
|
3151
|
+
children: socialLinks.map((social, idx) => /* @__PURE__ */ jsx("li", { className: "font-medium", children: /* @__PURE__ */ jsx(
|
|
3152
|
+
SocialLinkIcon,
|
|
3153
|
+
{
|
|
3154
|
+
href: social.href,
|
|
3155
|
+
label: social.label,
|
|
3156
|
+
iconNameOverride: social.iconNameOverride,
|
|
3157
|
+
iconSize: 24,
|
|
3158
|
+
className: cn(
|
|
3159
|
+
"flex size-12 items-center justify-center rounded-full transition-colors",
|
|
3160
|
+
socialLinkClassName
|
|
3161
|
+
)
|
|
3162
|
+
}
|
|
3163
|
+
) }, idx))
|
|
3117
3164
|
}
|
|
3118
|
-
)
|
|
3119
|
-
] })
|
|
3165
|
+
) })
|
|
3166
|
+
] }),
|
|
3167
|
+
/* @__PURE__ */ jsx(
|
|
3168
|
+
"div",
|
|
3169
|
+
{
|
|
3170
|
+
className: cn(
|
|
3171
|
+
"mt-20 flex flex-col justify-between gap-4 border-t pt-8 text-sm font-medium md:flex-row md:items-center",
|
|
3172
|
+
bottomClassName
|
|
3173
|
+
),
|
|
3174
|
+
children: /* @__PURE__ */ jsxs(
|
|
3175
|
+
"div",
|
|
3176
|
+
{
|
|
3177
|
+
className: cn(
|
|
3178
|
+
"flex flex-col gap-2 md:flex-row md:items-center md:gap-4",
|
|
3179
|
+
copyrightClassName
|
|
3180
|
+
),
|
|
3181
|
+
children: [
|
|
3182
|
+
/* @__PURE__ */ jsx("p", { children: copyrightText }),
|
|
3183
|
+
attributionText && /* @__PURE__ */ jsx(
|
|
3184
|
+
Pressable,
|
|
3185
|
+
{
|
|
3186
|
+
href: attributionHref || "https://opensite.ai",
|
|
3187
|
+
className: "hover:text-primary",
|
|
3188
|
+
children: attributionText
|
|
3189
|
+
}
|
|
3190
|
+
)
|
|
3191
|
+
]
|
|
3192
|
+
}
|
|
3193
|
+
)
|
|
3194
|
+
}
|
|
3195
|
+
)
|
|
3120
3196
|
] }) })
|
|
3121
3197
|
}
|
|
3122
3198
|
);
|