@opensite/ui 2.5.0 → 2.5.2
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 +133 -162
- package/dist/components.js +134 -163
- package/dist/footer-accordion-social.cjs +22 -104
- package/dist/footer-accordion-social.d.cts +8 -18
- package/dist/footer-accordion-social.d.ts +8 -18
- package/dist/footer-accordion-social.js +23 -105
- package/dist/footer-newsletter-contact.cjs +8 -8
- package/dist/footer-newsletter-contact.d.cts +2 -2
- package/dist/footer-newsletter-contact.d.ts +2 -2
- package/dist/footer-newsletter-contact.js +8 -8
- package/dist/footer-newsletter-minimal.cjs +81 -42
- package/dist/footer-newsletter-minimal.d.cts +3 -1
- package/dist/footer-newsletter-minimal.d.ts +3 -1
- package/dist/footer-newsletter-minimal.js +81 -42
- package/dist/footer-social-newsletter.cjs +619 -758
- package/dist/footer-social-newsletter.d.cts +17 -54
- package/dist/footer-social-newsletter.d.ts +17 -54
- package/dist/footer-social-newsletter.js +620 -759
- package/dist/index.cjs +133 -162
- package/dist/index.js +134 -163
- package/dist/registry.cjs +272 -311
- package/dist/registry.js +273 -312
- package/package.json +4 -3
package/dist/components.js
CHANGED
|
@@ -14,8 +14,7 @@ import * as PopoverPrimitive from '@radix-ui/react-popover';
|
|
|
14
14
|
import { Icon } from '@page-speed/icon';
|
|
15
15
|
import { usePlatformFromUrl } from '@opensite/hooks/usePlatformFromUrl';
|
|
16
16
|
import * as TabsPrimitive from '@radix-ui/react-tabs';
|
|
17
|
-
import {
|
|
18
|
-
import { useFileUpload, useContactForm, DynamicFormField, FormEngine } from '@page-speed/forms/integration';
|
|
17
|
+
import { FormEngine } from '@page-speed/forms/integration';
|
|
19
18
|
|
|
20
19
|
// components/ui/container.tsx
|
|
21
20
|
function cn(...inputs) {
|
|
@@ -4579,12 +4578,18 @@ function FooterLinksGrid({
|
|
|
4579
4578
|
}
|
|
4580
4579
|
);
|
|
4581
4580
|
}
|
|
4581
|
+
var DEFAULT_STYLE_RULES = {
|
|
4582
|
+
formContainer: "flex items-stretch w-full",
|
|
4583
|
+
fieldsContainer: "",
|
|
4584
|
+
fieldClassName: "",
|
|
4585
|
+
formClassName: ""
|
|
4586
|
+
};
|
|
4582
4587
|
var DEFAULT_FORM_FIELDS = [
|
|
4583
4588
|
{
|
|
4584
4589
|
name: "email",
|
|
4585
4590
|
type: "email",
|
|
4586
4591
|
label: "Email Address",
|
|
4587
|
-
placeholder: "
|
|
4592
|
+
placeholder: "Email Address",
|
|
4588
4593
|
required: true,
|
|
4589
4594
|
columnSpan: 12
|
|
4590
4595
|
}
|
|
@@ -4597,7 +4602,6 @@ function FooterSocialNewsletter({
|
|
|
4597
4602
|
className,
|
|
4598
4603
|
contentClassName,
|
|
4599
4604
|
logoWrapperClassName,
|
|
4600
|
-
logoClassName,
|
|
4601
4605
|
gridClassName,
|
|
4602
4606
|
navSectionClassName,
|
|
4603
4607
|
navTitleClassName,
|
|
@@ -4606,16 +4610,7 @@ function FooterSocialNewsletter({
|
|
|
4606
4610
|
socialColumnClassName,
|
|
4607
4611
|
socialLinksClassName,
|
|
4608
4612
|
socialLinkClassName,
|
|
4609
|
-
|
|
4610
|
-
formConfig,
|
|
4611
|
-
onSubmit,
|
|
4612
|
-
onSuccess,
|
|
4613
|
-
onError,
|
|
4614
|
-
successMessage,
|
|
4615
|
-
buttonAction,
|
|
4616
|
-
helperText,
|
|
4617
|
-
formSlot,
|
|
4618
|
-
privacyClassName,
|
|
4613
|
+
formEngineSetup,
|
|
4619
4614
|
bottomClassName,
|
|
4620
4615
|
copyrightClassName,
|
|
4621
4616
|
background,
|
|
@@ -4625,104 +4620,36 @@ function FooterSocialNewsletter({
|
|
|
4625
4620
|
patternOpacity,
|
|
4626
4621
|
optixFlowConfig
|
|
4627
4622
|
}) {
|
|
4628
|
-
const {
|
|
4629
|
-
uploadTokens,
|
|
4630
|
-
uploadProgress,
|
|
4631
|
-
isUploading,
|
|
4632
|
-
uploadFiles,
|
|
4633
|
-
removeFile,
|
|
4634
|
-
resetUpload
|
|
4635
|
-
} = useFileUpload({ onError });
|
|
4636
|
-
const { form, submissionError, formMethod, resetSubmissionState } = useContactForm({
|
|
4637
|
-
formFields,
|
|
4638
|
-
formConfig,
|
|
4639
|
-
onSubmit,
|
|
4640
|
-
onSuccess: (data) => {
|
|
4641
|
-
resetUpload();
|
|
4642
|
-
onSuccess?.(data);
|
|
4643
|
-
},
|
|
4644
|
-
onError,
|
|
4645
|
-
uploadTokens
|
|
4646
|
-
});
|
|
4647
4623
|
const renderForm = React4.useMemo(() => {
|
|
4648
|
-
if (
|
|
4649
|
-
const
|
|
4650
|
-
label: "Subscribe",
|
|
4624
|
+
if (!formEngineSetup) return null;
|
|
4625
|
+
const action = {
|
|
4651
4626
|
variant: "default",
|
|
4652
|
-
|
|
4627
|
+
icon: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/arrow-right", size: 16 })
|
|
4653
4628
|
};
|
|
4654
|
-
|
|
4655
|
-
|
|
4656
|
-
Form,
|
|
4629
|
+
return /* @__PURE__ */ jsx(
|
|
4630
|
+
FormEngine,
|
|
4657
4631
|
{
|
|
4658
|
-
|
|
4659
|
-
|
|
4660
|
-
|
|
4661
|
-
|
|
4662
|
-
|
|
4663
|
-
|
|
4664
|
-
|
|
4665
|
-
|
|
4666
|
-
|
|
4667
|
-
|
|
4668
|
-
|
|
4669
|
-
|
|
4670
|
-
submitLabel: action.label,
|
|
4671
|
-
submitVariant: action.variant || "default",
|
|
4672
|
-
submitIconComponent: action.icon || /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/send" })
|
|
4673
|
-
},
|
|
4674
|
-
onNewSubmission: () => {
|
|
4675
|
-
resetUpload();
|
|
4676
|
-
resetSubmissionState();
|
|
4632
|
+
formEngineSetup: {
|
|
4633
|
+
...formEngineSetup,
|
|
4634
|
+
formLayoutSettings: {
|
|
4635
|
+
...formEngineSetup.formLayoutSettings,
|
|
4636
|
+
formLayout: "button-group",
|
|
4637
|
+
buttonGroupSetup: {
|
|
4638
|
+
...formEngineSetup.formLayoutSettings?.buttonGroupSetup,
|
|
4639
|
+
size: "default",
|
|
4640
|
+
submitLabel: action.icon || action.label,
|
|
4641
|
+
submitVariant: action.variant
|
|
4642
|
+
}
|
|
4643
|
+
}
|
|
4677
4644
|
},
|
|
4678
|
-
|
|
4679
|
-
|
|
4680
|
-
|
|
4681
|
-
|
|
4682
|
-
|
|
4683
|
-
field,
|
|
4684
|
-
uploadProgress,
|
|
4685
|
-
onFileUpload: uploadFiles,
|
|
4686
|
-
onFileRemove: removeFile,
|
|
4687
|
-
isUploading
|
|
4688
|
-
}
|
|
4689
|
-
) }, field.name)),
|
|
4690
|
-
/* @__PURE__ */ jsxs(
|
|
4691
|
-
Pressable,
|
|
4692
|
-
{
|
|
4693
|
-
onClick: form.handleSubmit,
|
|
4694
|
-
asButton: true,
|
|
4695
|
-
variant: action.variant,
|
|
4696
|
-
className: cn("h-12", action.className),
|
|
4697
|
-
disabled: form.isSubmitting,
|
|
4698
|
-
children: [
|
|
4699
|
-
action.label,
|
|
4700
|
-
action.iconAfter
|
|
4701
|
-
]
|
|
4702
|
-
}
|
|
4703
|
-
)
|
|
4704
|
-
] }),
|
|
4705
|
-
helperText && (typeof helperText === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-sm mt-2"), children: helperText }) : helperText)
|
|
4706
|
-
]
|
|
4645
|
+
defaultFields: DEFAULT_FORM_FIELDS,
|
|
4646
|
+
defaultStyleRules: {
|
|
4647
|
+
...DEFAULT_STYLE_RULES,
|
|
4648
|
+
formContainer: cn(DEFAULT_STYLE_RULES.formContainer)
|
|
4649
|
+
}
|
|
4707
4650
|
}
|
|
4708
4651
|
);
|
|
4709
|
-
}, [
|
|
4710
|
-
formSlot,
|
|
4711
|
-
formFields,
|
|
4712
|
-
form,
|
|
4713
|
-
formConfig,
|
|
4714
|
-
formMethod,
|
|
4715
|
-
buttonAction,
|
|
4716
|
-
uploadProgress,
|
|
4717
|
-
uploadFiles,
|
|
4718
|
-
removeFile,
|
|
4719
|
-
isUploading,
|
|
4720
|
-
submissionError,
|
|
4721
|
-
successMessage,
|
|
4722
|
-
helperText,
|
|
4723
|
-
resetUpload,
|
|
4724
|
-
resetSubmissionState
|
|
4725
|
-
]);
|
|
4652
|
+
}, [formEngineSetup]);
|
|
4726
4653
|
return /* @__PURE__ */ jsx(
|
|
4727
4654
|
Section,
|
|
4728
4655
|
{
|
|
@@ -4730,20 +4657,26 @@ function FooterSocialNewsletter({
|
|
|
4730
4657
|
spacing,
|
|
4731
4658
|
pattern,
|
|
4732
4659
|
patternOpacity,
|
|
4733
|
-
className
|
|
4660
|
+
className,
|
|
4734
4661
|
containerClassName,
|
|
4735
4662
|
children: /* @__PURE__ */ jsx("div", { className: cn(contentClassName), children: /* @__PURE__ */ jsxs("footer", { children: [
|
|
4736
4663
|
/* @__PURE__ */ jsxs("div", { className: "mb-20", children: [
|
|
4737
4664
|
logo && /* @__PURE__ */ jsx(
|
|
4738
|
-
|
|
4665
|
+
Pressable,
|
|
4739
4666
|
{
|
|
4740
|
-
logo,
|
|
4741
|
-
|
|
4742
|
-
|
|
4743
|
-
|
|
4744
|
-
|
|
4745
|
-
|
|
4746
|
-
|
|
4667
|
+
href: logo.url || "/",
|
|
4668
|
+
className: cn("block mb-8 md:mb-12", logoWrapperClassName),
|
|
4669
|
+
children: /* @__PURE__ */ jsx(
|
|
4670
|
+
Img,
|
|
4671
|
+
{
|
|
4672
|
+
src: logo.src,
|
|
4673
|
+
className: cn(
|
|
4674
|
+
"h-16 object-contain w-auto max-w-full",
|
|
4675
|
+
logo.className
|
|
4676
|
+
),
|
|
4677
|
+
optixFlowConfig
|
|
4678
|
+
}
|
|
4679
|
+
)
|
|
4747
4680
|
}
|
|
4748
4681
|
),
|
|
4749
4682
|
socialLinks && socialLinks.length > 0 && /* @__PURE__ */ jsx("div", { className: cn("mt-6", socialColumnClassName), children: /* @__PURE__ */ jsx(
|
|
@@ -4756,10 +4689,9 @@ function FooterSocialNewsletter({
|
|
|
4756
4689
|
children: socialLinks.map((social, idx) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
|
|
4757
4690
|
SocialLinkIcon,
|
|
4758
4691
|
{
|
|
4759
|
-
|
|
4760
|
-
|
|
4761
|
-
|
|
4762
|
-
iconSize: 20,
|
|
4692
|
+
size: "icon-lg",
|
|
4693
|
+
variant: "ghost",
|
|
4694
|
+
...social,
|
|
4763
4695
|
className: cn(
|
|
4764
4696
|
"opacity-80 transition-colors hover:opacity-100",
|
|
4765
4697
|
socialLinkClassName
|
|
@@ -6269,7 +6201,7 @@ function FooterAnimatedSocial({
|
|
|
6269
6201
|
}
|
|
6270
6202
|
);
|
|
6271
6203
|
}
|
|
6272
|
-
var
|
|
6204
|
+
var DEFAULT_STYLE_RULES2 = {
|
|
6273
6205
|
formContainer: "flex w-full items-end border-b border-b-foreground/10",
|
|
6274
6206
|
fieldsContainer: "",
|
|
6275
6207
|
fieldClassName: "",
|
|
@@ -6307,6 +6239,7 @@ function FooterNewsletterMinimal({
|
|
|
6307
6239
|
socialLinksClassName,
|
|
6308
6240
|
socialLinkClassName,
|
|
6309
6241
|
newsletterSectionClassName,
|
|
6242
|
+
newsletterLabelClassName,
|
|
6310
6243
|
newsletterFormClassName,
|
|
6311
6244
|
bottomGridClassName,
|
|
6312
6245
|
locationClassName,
|
|
@@ -6392,9 +6325,9 @@ function FooterNewsletterMinimal({
|
|
|
6392
6325
|
},
|
|
6393
6326
|
defaultFields: DEFAULT_FORM_FIELDS2,
|
|
6394
6327
|
defaultStyleRules: {
|
|
6395
|
-
...
|
|
6328
|
+
...DEFAULT_STYLE_RULES2,
|
|
6396
6329
|
formContainer: cn(
|
|
6397
|
-
|
|
6330
|
+
DEFAULT_STYLE_RULES2.formContainer,
|
|
6398
6331
|
newsletterFormClassName
|
|
6399
6332
|
)
|
|
6400
6333
|
}
|
|
@@ -6420,29 +6353,41 @@ function FooterNewsletterMinimal({
|
|
|
6420
6353
|
),
|
|
6421
6354
|
children: [
|
|
6422
6355
|
/* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-10", children: [
|
|
6423
|
-
|
|
6424
|
-
|
|
6425
|
-
|
|
6426
|
-
|
|
6427
|
-
|
|
6428
|
-
|
|
6429
|
-
|
|
6430
|
-
|
|
6431
|
-
|
|
6432
|
-
|
|
6433
|
-
|
|
6356
|
+
/* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-4", children: [
|
|
6357
|
+
heading && /* @__PURE__ */ jsx(
|
|
6358
|
+
"h2",
|
|
6359
|
+
{
|
|
6360
|
+
className: cn(
|
|
6361
|
+
"relative text-4xl font-semibold tracking-tight lg:text-5xl text-balance",
|
|
6362
|
+
headingClassName
|
|
6363
|
+
),
|
|
6364
|
+
children: heading
|
|
6365
|
+
}
|
|
6366
|
+
),
|
|
6367
|
+
location && /* @__PURE__ */ jsx(
|
|
6368
|
+
"div",
|
|
6369
|
+
{
|
|
6370
|
+
className: cn(
|
|
6371
|
+
"font-semibold text-lg opacity-75",
|
|
6372
|
+
locationClassName
|
|
6373
|
+
),
|
|
6374
|
+
children: location
|
|
6375
|
+
}
|
|
6376
|
+
)
|
|
6377
|
+
] }),
|
|
6378
|
+
/* @__PURE__ */ jsx("div", { className: "flex flex-col gap-4", children: (supportLabel || supportEmail) && /* @__PURE__ */ jsxs(
|
|
6434
6379
|
"div",
|
|
6435
6380
|
{
|
|
6436
6381
|
className: cn(
|
|
6437
|
-
"space-y-1 text-sm
|
|
6382
|
+
"space-y-1 text-sm tracking-tight lg:text-base",
|
|
6438
6383
|
supportClassName
|
|
6439
6384
|
),
|
|
6440
6385
|
children: [
|
|
6441
|
-
supportLabel && /* @__PURE__ */ jsx("p", { children: supportLabel }),
|
|
6442
|
-
supportEmail && /* @__PURE__ */ jsx(Pressable, { href:
|
|
6386
|
+
supportLabel && /* @__PURE__ */ jsx("p", { className: "font-light opacity-75", children: supportLabel }),
|
|
6387
|
+
supportEmail && /* @__PURE__ */ jsx(Pressable, { className: "font-semibold", href: supportEmail, children: supportEmail })
|
|
6443
6388
|
]
|
|
6444
6389
|
}
|
|
6445
|
-
)
|
|
6390
|
+
) })
|
|
6446
6391
|
] }),
|
|
6447
6392
|
/* @__PURE__ */ jsxs(
|
|
6448
6393
|
"div",
|
|
@@ -6460,41 +6405,35 @@ function FooterNewsletterMinimal({
|
|
|
6460
6405
|
]
|
|
6461
6406
|
}
|
|
6462
6407
|
),
|
|
6463
|
-
/* @__PURE__ */
|
|
6408
|
+
/* @__PURE__ */ jsx(
|
|
6464
6409
|
"div",
|
|
6465
6410
|
{
|
|
6466
6411
|
className: cn(
|
|
6467
6412
|
"mt-20 flex flex-col justify-between gap-15 lg:flex-row",
|
|
6468
6413
|
newsletterSectionClassName
|
|
6469
6414
|
),
|
|
6470
|
-
children: [
|
|
6471
|
-
|
|
6472
|
-
|
|
6473
|
-
renderForm
|
|
6474
|
-
] }) }),
|
|
6475
|
-
/* @__PURE__ */ jsxs(
|
|
6476
|
-
"div",
|
|
6415
|
+
children: formEngineSetup && /* @__PURE__ */ jsx("div", { className: "flex w-full max-w-md flex-col gap-10", children: /* @__PURE__ */ jsxs("div", { className: "space-y-4", children: [
|
|
6416
|
+
newsletterLabel && /* @__PURE__ */ jsx(
|
|
6417
|
+
"p",
|
|
6477
6418
|
{
|
|
6478
6419
|
className: cn(
|
|
6479
|
-
"
|
|
6480
|
-
|
|
6420
|
+
"text-xl font-light tracking-tight",
|
|
6421
|
+
newsletterLabelClassName
|
|
6481
6422
|
),
|
|
6482
|
-
children:
|
|
6483
|
-
location && /* @__PURE__ */ jsx("div", { className: cn("w-32", locationClassName), children: location }),
|
|
6484
|
-
/* @__PURE__ */ jsx("ul", { className: cn("space-y-1", footerLinksClassName), children: footerLinksContent })
|
|
6485
|
-
]
|
|
6423
|
+
children: newsletterLabel
|
|
6486
6424
|
}
|
|
6487
|
-
)
|
|
6488
|
-
|
|
6425
|
+
),
|
|
6426
|
+
renderForm
|
|
6427
|
+
] }) })
|
|
6489
6428
|
}
|
|
6490
6429
|
),
|
|
6491
6430
|
brandText && /* @__PURE__ */ jsx("div", { className: cn("mt-20 w-full lg:mt-32", brandSectionClassName), children: /* @__PURE__ */ jsx(
|
|
6492
6431
|
motion.div,
|
|
6493
6432
|
{
|
|
6494
|
-
initial: { opacity: 0, y:
|
|
6433
|
+
initial: { opacity: 0, y: 80 },
|
|
6495
6434
|
whileInView: { opacity: 1, y: 0 },
|
|
6496
|
-
viewport: { once: true },
|
|
6497
|
-
transition: { duration: 0.
|
|
6435
|
+
viewport: { once: true, amount: 0.5 },
|
|
6436
|
+
transition: { duration: 0.9, ease: [0.16, 1, 0.3, 1] },
|
|
6498
6437
|
className: "text-center",
|
|
6499
6438
|
children: /* @__PURE__ */ jsx(
|
|
6500
6439
|
"span",
|
|
@@ -6512,19 +6451,51 @@ function FooterNewsletterMinimal({
|
|
|
6512
6451
|
"div",
|
|
6513
6452
|
{
|
|
6514
6453
|
className: cn(
|
|
6515
|
-
"
|
|
6454
|
+
"flex flex-col items-center space-y-6",
|
|
6455
|
+
brandText ? "mb-24" : "mt-8",
|
|
6516
6456
|
copyrightClassName
|
|
6517
6457
|
),
|
|
6518
6458
|
children: [
|
|
6519
|
-
/* @__PURE__ */ jsx(FooterCopyright, { copyright }),
|
|
6520
6459
|
/* @__PURE__ */ jsx(
|
|
6521
|
-
|
|
6460
|
+
"div",
|
|
6461
|
+
{
|
|
6462
|
+
className: cn(
|
|
6463
|
+
"flex items-center justify-center",
|
|
6464
|
+
bottomGridClassName
|
|
6465
|
+
),
|
|
6466
|
+
children: /* @__PURE__ */ jsx(
|
|
6467
|
+
"div",
|
|
6468
|
+
{
|
|
6469
|
+
className: cn(
|
|
6470
|
+
"flex gap-4 md:gap-6 text-sm font-light lg:text-base",
|
|
6471
|
+
"text-center items-center justify-center flex-wrap",
|
|
6472
|
+
footerLinksClassName
|
|
6473
|
+
),
|
|
6474
|
+
children: footerLinksContent
|
|
6475
|
+
}
|
|
6476
|
+
)
|
|
6477
|
+
}
|
|
6478
|
+
),
|
|
6479
|
+
/* @__PURE__ */ jsxs(
|
|
6480
|
+
"div",
|
|
6522
6481
|
{
|
|
6523
|
-
|
|
6524
|
-
|
|
6525
|
-
|
|
6526
|
-
|
|
6527
|
-
|
|
6482
|
+
className: cn(
|
|
6483
|
+
"mt-8 text-center text-sm opacity-50",
|
|
6484
|
+
copyrightClassName
|
|
6485
|
+
),
|
|
6486
|
+
children: [
|
|
6487
|
+
/* @__PURE__ */ jsx(FooterCopyright, { copyright }),
|
|
6488
|
+
/* @__PURE__ */ jsx(
|
|
6489
|
+
BrandAttribution,
|
|
6490
|
+
{
|
|
6491
|
+
internalBrandSlug: "open_site_ai",
|
|
6492
|
+
optionIndex: 4,
|
|
6493
|
+
variant: "div",
|
|
6494
|
+
containerClassName: "mt-2",
|
|
6495
|
+
linkClassName: "underline underline-offset-4 transition-colors hover:opacity-100"
|
|
6496
|
+
}
|
|
6497
|
+
)
|
|
6498
|
+
]
|
|
6528
6499
|
}
|
|
6529
6500
|
)
|
|
6530
6501
|
]
|
|
@@ -6,10 +6,10 @@ var clsx = require('clsx');
|
|
|
6
6
|
var tailwindMerge = require('tailwind-merge');
|
|
7
7
|
var classVarianceAuthority = require('class-variance-authority');
|
|
8
8
|
var jsxRuntime = require('react/jsx-runtime');
|
|
9
|
-
var img = require('@page-speed/img');
|
|
10
9
|
var icon = require('@page-speed/icon');
|
|
11
10
|
var usePlatformFromUrl = require('@opensite/hooks/usePlatformFromUrl');
|
|
12
11
|
var integration = require('@page-speed/forms/integration');
|
|
12
|
+
var img = require('@page-speed/img');
|
|
13
13
|
|
|
14
14
|
function _interopNamespace(e) {
|
|
15
15
|
if (e && e.__esModule) return e;
|
|
@@ -453,77 +453,6 @@ var Pressable = React__namespace.forwardRef(
|
|
|
453
453
|
}
|
|
454
454
|
);
|
|
455
455
|
Pressable.displayName = "Pressable";
|
|
456
|
-
function isThemedLogo(logo) {
|
|
457
|
-
return "light" in logo || "dark" in logo;
|
|
458
|
-
}
|
|
459
|
-
var FooterLogo = ({
|
|
460
|
-
logo,
|
|
461
|
-
logoSlot,
|
|
462
|
-
logoClassName,
|
|
463
|
-
logoImageClassName,
|
|
464
|
-
logoTitleClassName,
|
|
465
|
-
optixFlowConfig
|
|
466
|
-
}) => {
|
|
467
|
-
if (logoSlot) return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: logoSlot });
|
|
468
|
-
if (!logo) return null;
|
|
469
|
-
const hasThemedSources = isThemedLogo(logo) && (logo.light || logo.dark);
|
|
470
|
-
const hasStandardSource = !isThemedLogo(logo) && logo.src;
|
|
471
|
-
const logoContent = hasThemedSources ? (
|
|
472
|
-
// Themed logo with light/dark mode sources
|
|
473
|
-
/* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
474
|
-
logo.light && /* @__PURE__ */ jsxRuntime.jsx(
|
|
475
|
-
img.Img,
|
|
476
|
-
{
|
|
477
|
-
src: logo.light,
|
|
478
|
-
alt: logo.alt || "Logo",
|
|
479
|
-
className: cn(
|
|
480
|
-
"h-8 w-auto object-contain dark:hidden md:h-10",
|
|
481
|
-
logoImageClassName
|
|
482
|
-
),
|
|
483
|
-
optixFlowConfig
|
|
484
|
-
}
|
|
485
|
-
),
|
|
486
|
-
logo.dark && /* @__PURE__ */ jsxRuntime.jsx(
|
|
487
|
-
img.Img,
|
|
488
|
-
{
|
|
489
|
-
src: logo.dark,
|
|
490
|
-
alt: logo.alt || "Logo",
|
|
491
|
-
className: cn(
|
|
492
|
-
"hidden h-8 w-auto object-contain dark:block md:h-10",
|
|
493
|
-
logoImageClassName
|
|
494
|
-
),
|
|
495
|
-
optixFlowConfig
|
|
496
|
-
}
|
|
497
|
-
)
|
|
498
|
-
] })
|
|
499
|
-
) : hasStandardSource ? (
|
|
500
|
-
// Standard single logo image
|
|
501
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
502
|
-
img.Img,
|
|
503
|
-
{
|
|
504
|
-
src: logo.src,
|
|
505
|
-
alt: logo.alt || "Logo",
|
|
506
|
-
className: cn("h-8 w-auto object-contain md:h-10", logoImageClassName),
|
|
507
|
-
optixFlowConfig
|
|
508
|
-
}
|
|
509
|
-
)
|
|
510
|
-
) : logo.title ? (
|
|
511
|
-
// Text-based logo fallback
|
|
512
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("text-lg font-semibold md:text-xl", logoTitleClassName), children: logo.title })
|
|
513
|
-
) : null;
|
|
514
|
-
if (!logoContent) return null;
|
|
515
|
-
if (logo.url) {
|
|
516
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
517
|
-
Pressable,
|
|
518
|
-
{
|
|
519
|
-
href: logo.url,
|
|
520
|
-
className: cn("inline-flex items-center", logoClassName),
|
|
521
|
-
children: logoContent
|
|
522
|
-
}
|
|
523
|
-
);
|
|
524
|
-
}
|
|
525
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("inline-flex items-center", logoClassName), children: logoContent });
|
|
526
|
-
};
|
|
527
456
|
function FooterCopyright({
|
|
528
457
|
copyright,
|
|
529
458
|
className
|
|
@@ -1551,20 +1480,15 @@ function FooterAccordionSocial({
|
|
|
1551
1480
|
pattern,
|
|
1552
1481
|
patternOpacity,
|
|
1553
1482
|
patternClassName,
|
|
1554
|
-
formEngineSetup
|
|
1555
|
-
buttonAction,
|
|
1556
|
-
formSlot,
|
|
1557
|
-
newsletterFormClassName
|
|
1483
|
+
formEngineSetup
|
|
1558
1484
|
}) {
|
|
1559
1485
|
const renderForm = React__namespace.useMemo(() => {
|
|
1560
|
-
if (formSlot) return formSlot;
|
|
1561
1486
|
if (!formEngineSetup) return null;
|
|
1562
|
-
const
|
|
1487
|
+
const action = {
|
|
1563
1488
|
label: "",
|
|
1564
1489
|
variant: "default",
|
|
1565
1490
|
icon: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/arrow-right", size: 16 })
|
|
1566
1491
|
};
|
|
1567
|
-
const action = buttonAction || defaultButtonAction;
|
|
1568
1492
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1569
1493
|
integration.FormEngine,
|
|
1570
1494
|
{
|
|
@@ -1577,21 +1501,18 @@ function FooterAccordionSocial({
|
|
|
1577
1501
|
...formEngineSetup.formLayoutSettings?.buttonGroupSetup,
|
|
1578
1502
|
size: "default",
|
|
1579
1503
|
submitLabel: action.icon || action.label,
|
|
1580
|
-
submitVariant: action.variant
|
|
1504
|
+
submitVariant: action.variant
|
|
1581
1505
|
}
|
|
1582
1506
|
}
|
|
1583
1507
|
},
|
|
1584
1508
|
defaultFields: DEFAULT_FORM_FIELDS,
|
|
1585
1509
|
defaultStyleRules: {
|
|
1586
1510
|
...DEFAULT_STYLE_RULES,
|
|
1587
|
-
formContainer: cn(
|
|
1588
|
-
DEFAULT_STYLE_RULES.formContainer,
|
|
1589
|
-
newsletterFormClassName
|
|
1590
|
-
)
|
|
1511
|
+
formContainer: cn(DEFAULT_STYLE_RULES.formContainer)
|
|
1591
1512
|
}
|
|
1592
1513
|
}
|
|
1593
1514
|
);
|
|
1594
|
-
}, [
|
|
1515
|
+
}, [formEngineSetup]);
|
|
1595
1516
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1596
1517
|
Section,
|
|
1597
1518
|
{
|
|
@@ -1605,19 +1526,19 @@ function FooterAccordionSocial({
|
|
|
1605
1526
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-10", children: [
|
|
1606
1527
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid gap-10 lg:grid-cols-2 lg:gap-20", children: [
|
|
1607
1528
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-6", children: [
|
|
1608
|
-
logo && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1609
|
-
|
|
1529
|
+
logo && /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: logo.url || "/", className: "block mb-8 md:mb-12", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1530
|
+
img.Img,
|
|
1610
1531
|
{
|
|
1611
|
-
logo,
|
|
1612
|
-
|
|
1532
|
+
src: logo.src,
|
|
1533
|
+
className: "h-16 object-contain w-auto max-w-full",
|
|
1613
1534
|
optixFlowConfig
|
|
1614
1535
|
}
|
|
1615
|
-
),
|
|
1616
|
-
formEngineSetup && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1617
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-
|
|
1618
|
-
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-
|
|
1619
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "opacity-
|
|
1620
|
-
] }),
|
|
1536
|
+
) }),
|
|
1537
|
+
formEngineSetup && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
|
|
1538
|
+
newsletterTitle || newsletterDescription ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
|
|
1539
|
+
newsletterTitle ? /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-xl font-semibold", children: newsletterTitle }) : null,
|
|
1540
|
+
newsletterDescription ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "opacity-70", children: newsletterDescription }) : null
|
|
1541
|
+
] }) : null,
|
|
1621
1542
|
renderForm
|
|
1622
1543
|
] })
|
|
1623
1544
|
] }),
|
|
@@ -1635,27 +1556,24 @@ function FooterAccordionSocial({
|
|
|
1635
1556
|
] }),
|
|
1636
1557
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center justify-between gap-6 border-t pt-8", children: [
|
|
1637
1558
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2 text-sm opacity-80 md:flex-row md:items-center md:gap-4", children: [
|
|
1638
|
-
/* @__PURE__ */ jsxRuntime.jsx(FooterCopyright, { copyright }),
|
|
1559
|
+
/* @__PURE__ */ jsxRuntime.jsx(FooterCopyright, { copyright, className: "opacity-50" }),
|
|
1639
1560
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1640
1561
|
BrandAttribution,
|
|
1641
1562
|
{
|
|
1642
1563
|
internalBrandSlug: "open_site_ai",
|
|
1643
1564
|
optionIndex: 1,
|
|
1644
1565
|
variant: "span",
|
|
1645
|
-
linkClassName: "hover:opacity-100"
|
|
1566
|
+
linkClassName: "opacity-50 hover:opacity-100"
|
|
1646
1567
|
}
|
|
1647
1568
|
)
|
|
1648
1569
|
] }),
|
|
1649
1570
|
socialLinks && socialLinks.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "flex flex-wrap gap-4", children: socialLinks.map((social, idx) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1650
1571
|
SocialLinkIcon,
|
|
1651
1572
|
{
|
|
1652
|
-
|
|
1653
|
-
|
|
1654
|
-
|
|
1655
|
-
|
|
1656
|
-
size: "icon",
|
|
1657
|
-
asButton: true,
|
|
1658
|
-
className: "rounded-full"
|
|
1573
|
+
...social,
|
|
1574
|
+
variant: "ghost",
|
|
1575
|
+
size: "icon-lg",
|
|
1576
|
+
asButton: true
|
|
1659
1577
|
}
|
|
1660
1578
|
) }, idx)) })
|
|
1661
1579
|
] })
|