@opensite/ui 3.0.8 → 3.1.0
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/README.md +80 -0
- package/dist/components.cjs +1 -1
- package/dist/components.js +1 -1
- package/dist/cta-video-background-hero.cjs +13 -4
- package/dist/cta-video-background-hero.js +13 -4
- package/dist/faq-split-hero.cjs +5 -4
- package/dist/faq-split-hero.js +2 -1
- package/dist/hero-conversion-video-play.cjs +10 -1
- package/dist/hero-conversion-video-play.js +10 -1
- package/dist/hero-creative-studio-stacked.cjs +10 -1
- package/dist/hero-creative-studio-stacked.js +10 -1
- package/dist/hero-digital-agency-fullscreen.cjs +1 -1
- package/dist/hero-digital-agency-fullscreen.js +1 -1
- package/dist/hero-image-slider.cjs +1 -1
- package/dist/hero-image-slider.js +1 -1
- package/dist/hero-mentorship-video-split.cjs +10 -1
- package/dist/hero-mentorship-video-split.js +10 -1
- package/dist/hero-presentation-platform-video.cjs +4 -3
- package/dist/hero-presentation-platform-video.js +4 -3
- package/dist/hero-productivity-launcher-video.cjs +2 -1
- package/dist/hero-productivity-launcher-video.js +2 -1
- package/dist/hero-software-growth-video-dialog.cjs +10 -1
- package/dist/hero-software-growth-video-dialog.js +10 -1
- package/dist/hero-video-background-dark.cjs +5 -4
- package/dist/hero-video-background-dark.js +5 -4
- package/dist/hero-video-dialog-gradient.cjs +10 -1
- package/dist/hero-video-dialog-gradient.js +10 -1
- package/dist/hero-video-overlay-stars.cjs +2 -1
- package/dist/hero-video-overlay-stars.js +2 -1
- package/dist/image-slider.cjs +1 -1
- package/dist/image-slider.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/link-tree-block.cjs +2 -1
- package/dist/link-tree-block.js +2 -1
- package/dist/project-detail-architecture-carousel.cjs +2 -1
- package/dist/project-detail-architecture-carousel.js +2 -1
- package/dist/project-video-carousel.cjs +5 -7
- package/dist/project-video-carousel.js +5 -7
- package/dist/project-video-hover-bento.cjs +5 -7
- package/dist/project-video-hover-bento.js +5 -7
- package/dist/project-video-hover-grid.cjs +5 -7
- package/dist/project-video-hover-grid.js +5 -7
- package/dist/project-video-hover-rounded.cjs +5 -7
- package/dist/project-video-hover-rounded.js +5 -7
- package/dist/project-video-hover-stack.cjs +5 -7
- package/dist/project-video-hover-stack.js +5 -7
- package/dist/project-video-hover-two-by-two.cjs +5 -7
- package/dist/project-video-hover-two-by-two.js +5 -7
- package/dist/registry.cjs +100 -69
- package/dist/registry.js +97 -66
- package/dist/services-list-video-showcase.cjs +2 -1
- package/dist/services-list-video-showcase.js +2 -1
- package/dist/social-link-icon.d.cts +1 -1
- package/dist/social-link-icon.d.ts +1 -1
- package/package.json +5 -3
package/README.md
CHANGED
|
@@ -53,6 +53,86 @@ This library requires React 16.8.0 or higher:
|
|
|
53
53
|
pnpm add react react-dom
|
|
54
54
|
```
|
|
55
55
|
|
|
56
|
+
## Setup Requirements
|
|
57
|
+
|
|
58
|
+
### 1. Tailwind CSS Configuration
|
|
59
|
+
|
|
60
|
+
**CRITICAL**: Add both `@opensite/ui` and `@page-speed/pressable` to your Tailwind content paths:
|
|
61
|
+
|
|
62
|
+
```ts
|
|
63
|
+
// tailwind.config.ts
|
|
64
|
+
import type { Config } from "tailwindcss";
|
|
65
|
+
|
|
66
|
+
const config: Config = {
|
|
67
|
+
content: [
|
|
68
|
+
"./app/**/*.{js,ts,jsx,tsx,mdx}",
|
|
69
|
+
"./components/**/*.{js,ts,jsx,tsx,mdx}",
|
|
70
|
+
// Add these lines to scan component classes:
|
|
71
|
+
"./node_modules/@opensite/ui/dist/**/*.{js,mjs}",
|
|
72
|
+
"./node_modules/@page-speed/pressable/dist/**/*.{js,mjs}",
|
|
73
|
+
],
|
|
74
|
+
// ...rest of config
|
|
75
|
+
};
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
Without this, button styles from Pressable and other components won't be applied.
|
|
79
|
+
|
|
80
|
+
### 2. Router Setup (For Pressable Navigation)
|
|
81
|
+
|
|
82
|
+
The `Pressable` component (used for links/buttons) requires `RouterProvider` from `@page-speed/router`.
|
|
83
|
+
|
|
84
|
+
**For Next.js App Router** (requires client component wrapper):
|
|
85
|
+
|
|
86
|
+
```tsx
|
|
87
|
+
// components/providers/RouterWrapper.tsx
|
|
88
|
+
"use client";
|
|
89
|
+
|
|
90
|
+
import { RouterProvider } from "@page-speed/router";
|
|
91
|
+
import { ReactNode } from "react";
|
|
92
|
+
|
|
93
|
+
export function RouterWrapper({ children }: { children: ReactNode }) {
|
|
94
|
+
return <RouterProvider>{children}</RouterProvider>;
|
|
95
|
+
}
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
```tsx
|
|
99
|
+
// app/layout.tsx
|
|
100
|
+
import { RouterWrapper } from "@/components/providers/RouterWrapper";
|
|
101
|
+
|
|
102
|
+
export default function RootLayout({ children }) {
|
|
103
|
+
return (
|
|
104
|
+
<html>
|
|
105
|
+
<body>
|
|
106
|
+
<RouterWrapper>
|
|
107
|
+
{children}
|
|
108
|
+
</RouterWrapper>
|
|
109
|
+
</body>
|
|
110
|
+
</html>
|
|
111
|
+
);
|
|
112
|
+
}
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
**For standard React apps** (Create React App, Vite, etc.):
|
|
116
|
+
|
|
117
|
+
```tsx
|
|
118
|
+
// App.tsx
|
|
119
|
+
import { RouterProvider } from "@page-speed/router";
|
|
120
|
+
|
|
121
|
+
function App() {
|
|
122
|
+
return (
|
|
123
|
+
<RouterProvider>
|
|
124
|
+
{/* your app */}
|
|
125
|
+
</RouterProvider>
|
|
126
|
+
);
|
|
127
|
+
}
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
Install the router package:
|
|
131
|
+
|
|
132
|
+
```bash
|
|
133
|
+
pnpm add @page-speed/router
|
|
134
|
+
```
|
|
135
|
+
|
|
56
136
|
## Usage
|
|
57
137
|
|
|
58
138
|
### Tree-Shakable Imports (Recommended)
|
package/dist/components.cjs
CHANGED
package/dist/components.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
4
|
var React = require('react');
|
|
5
|
+
var video = require('@page-speed/video');
|
|
5
6
|
var clsx = require('clsx');
|
|
6
7
|
var tailwindMerge = require('tailwind-merge');
|
|
7
8
|
var pressable = require('@page-speed/pressable');
|
|
@@ -520,7 +521,15 @@ function CtaVideoBackgroundHero({
|
|
|
520
521
|
children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/x", size: 20 })
|
|
521
522
|
}
|
|
522
523
|
),
|
|
523
|
-
modalVideoUrl && /* @__PURE__ */ jsxRuntime.jsx(
|
|
524
|
+
modalVideoUrl && /* @__PURE__ */ jsxRuntime.jsx(
|
|
525
|
+
video.Video,
|
|
526
|
+
{
|
|
527
|
+
src: modalVideoUrl,
|
|
528
|
+
controls: true,
|
|
529
|
+
autoPlay: true,
|
|
530
|
+
className: "w-full rounded-lg"
|
|
531
|
+
}
|
|
532
|
+
)
|
|
524
533
|
]
|
|
525
534
|
}
|
|
526
535
|
)
|
|
@@ -546,14 +555,14 @@ function CtaVideoBackgroundHero({
|
|
|
546
555
|
),
|
|
547
556
|
children: [
|
|
548
557
|
backgroundVideoUrl && /* @__PURE__ */ jsxRuntime.jsx(
|
|
549
|
-
|
|
558
|
+
video.Video,
|
|
550
559
|
{
|
|
560
|
+
src: backgroundVideoUrl,
|
|
551
561
|
autoPlay: true,
|
|
552
562
|
loop: true,
|
|
553
563
|
muted: true,
|
|
554
564
|
playsInline: true,
|
|
555
|
-
className: "absolute inset-0 h-full w-full object-cover"
|
|
556
|
-
children: /* @__PURE__ */ jsxRuntime.jsx("source", { src: backgroundVideoUrl, type: "video/mp4" })
|
|
565
|
+
className: "absolute inset-0 h-full w-full object-cover"
|
|
557
566
|
}
|
|
558
567
|
),
|
|
559
568
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import React__default, { useMemo } from 'react';
|
|
4
|
+
import { Video } from '@page-speed/video';
|
|
4
5
|
import { clsx } from 'clsx';
|
|
5
6
|
import { twMerge } from 'tailwind-merge';
|
|
6
7
|
import { Pressable } from '@page-speed/pressable';
|
|
@@ -499,7 +500,15 @@ function CtaVideoBackgroundHero({
|
|
|
499
500
|
children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/x", size: 20 })
|
|
500
501
|
}
|
|
501
502
|
),
|
|
502
|
-
modalVideoUrl && /* @__PURE__ */ jsx(
|
|
503
|
+
modalVideoUrl && /* @__PURE__ */ jsx(
|
|
504
|
+
Video,
|
|
505
|
+
{
|
|
506
|
+
src: modalVideoUrl,
|
|
507
|
+
controls: true,
|
|
508
|
+
autoPlay: true,
|
|
509
|
+
className: "w-full rounded-lg"
|
|
510
|
+
}
|
|
511
|
+
)
|
|
503
512
|
]
|
|
504
513
|
}
|
|
505
514
|
)
|
|
@@ -525,14 +534,14 @@ function CtaVideoBackgroundHero({
|
|
|
525
534
|
),
|
|
526
535
|
children: [
|
|
527
536
|
backgroundVideoUrl && /* @__PURE__ */ jsx(
|
|
528
|
-
|
|
537
|
+
Video,
|
|
529
538
|
{
|
|
539
|
+
src: backgroundVideoUrl,
|
|
530
540
|
autoPlay: true,
|
|
531
541
|
loop: true,
|
|
532
542
|
muted: true,
|
|
533
543
|
playsInline: true,
|
|
534
|
-
className: "absolute inset-0 h-full w-full object-cover"
|
|
535
|
-
children: /* @__PURE__ */ jsx("source", { src: backgroundVideoUrl, type: "video/mp4" })
|
|
544
|
+
className: "absolute inset-0 h-full w-full object-cover"
|
|
536
545
|
}
|
|
537
546
|
),
|
|
538
547
|
/* @__PURE__ */ jsx(
|
package/dist/faq-split-hero.cjs
CHANGED
|
@@ -5,6 +5,7 @@ var React = require('react');
|
|
|
5
5
|
var clsx = require('clsx');
|
|
6
6
|
var tailwindMerge = require('tailwind-merge');
|
|
7
7
|
var img = require('@page-speed/img');
|
|
8
|
+
var video = require('@page-speed/video');
|
|
8
9
|
var AccordionPrimitive = require('@radix-ui/react-accordion');
|
|
9
10
|
var icon = require('@page-speed/icon');
|
|
10
11
|
var jsxRuntime = require('react/jsx-runtime');
|
|
@@ -564,11 +565,11 @@ function FaqSplitHero({
|
|
|
564
565
|
]);
|
|
565
566
|
const renderMedia = React.useMemo(() => {
|
|
566
567
|
if (!mediaItem) return null;
|
|
567
|
-
const { image, video } = mediaItem;
|
|
568
|
-
if (video) {
|
|
569
|
-
const { src, className: videoClassName, ...videoRest } = video;
|
|
568
|
+
const { image, video: video$1 } = mediaItem;
|
|
569
|
+
if (video$1) {
|
|
570
|
+
const { src, className: videoClassName, ...videoRest } = video$1;
|
|
570
571
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
571
|
-
|
|
572
|
+
video.Video,
|
|
572
573
|
{
|
|
573
574
|
src,
|
|
574
575
|
className: cn("h-full w-full object-cover", videoClassName),
|
package/dist/faq-split-hero.js
CHANGED
|
@@ -4,6 +4,7 @@ import React__default, { useMemo } from 'react';
|
|
|
4
4
|
import { clsx } from 'clsx';
|
|
5
5
|
import { twMerge } from 'tailwind-merge';
|
|
6
6
|
import { Img } from '@page-speed/img';
|
|
7
|
+
import { Video } from '@page-speed/video';
|
|
7
8
|
import * as AccordionPrimitive from '@radix-ui/react-accordion';
|
|
8
9
|
import { Icon } from '@page-speed/icon';
|
|
9
10
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
@@ -546,7 +547,7 @@ function FaqSplitHero({
|
|
|
546
547
|
if (video) {
|
|
547
548
|
const { src, className: videoClassName, ...videoRest } = video;
|
|
548
549
|
return /* @__PURE__ */ jsx(
|
|
549
|
-
|
|
550
|
+
Video,
|
|
550
551
|
{
|
|
551
552
|
src,
|
|
552
553
|
className: cn("h-full w-full object-cover", videoClassName),
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
var React2 = require('react');
|
|
5
5
|
var AutoScroll = require('embla-carousel-auto-scroll');
|
|
6
|
+
var video = require('@page-speed/video');
|
|
6
7
|
var clsx = require('clsx');
|
|
7
8
|
var tailwindMerge = require('tailwind-merge');
|
|
8
9
|
var pressable = require('@page-speed/pressable');
|
|
@@ -809,7 +810,15 @@ function HeroConversionVideoPlay({
|
|
|
809
810
|
),
|
|
810
811
|
/* @__PURE__ */ jsxRuntime.jsx(Dialog, { open: isVideoOpen, onOpenChange: setIsVideoOpen, children: /* @__PURE__ */ jsxRuntime.jsxs(DialogContent, { className: "sm:max-w-200", children: [
|
|
811
812
|
/* @__PURE__ */ jsxRuntime.jsx(DialogHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(DialogTitle, { children: videoDialogTitle }) }),
|
|
812
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "aspect-video", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
813
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "aspect-video", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
814
|
+
video.Video,
|
|
815
|
+
{
|
|
816
|
+
src: videoUrl,
|
|
817
|
+
controls: true,
|
|
818
|
+
autoPlay: true,
|
|
819
|
+
className: "h-full w-full rounded-lg"
|
|
820
|
+
}
|
|
821
|
+
) })
|
|
813
822
|
] }) })
|
|
814
823
|
] });
|
|
815
824
|
}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import * as React2 from 'react';
|
|
3
3
|
import React2__default, { useState, useMemo, Fragment as Fragment$1 } from 'react';
|
|
4
4
|
import AutoScroll from 'embla-carousel-auto-scroll';
|
|
5
|
+
import { Video } from '@page-speed/video';
|
|
5
6
|
import { clsx } from 'clsx';
|
|
6
7
|
import { twMerge } from 'tailwind-merge';
|
|
7
8
|
import { Pressable } from '@page-speed/pressable';
|
|
@@ -782,7 +783,15 @@ function HeroConversionVideoPlay({
|
|
|
782
783
|
),
|
|
783
784
|
/* @__PURE__ */ jsx(Dialog, { open: isVideoOpen, onOpenChange: setIsVideoOpen, children: /* @__PURE__ */ jsxs(DialogContent, { className: "sm:max-w-200", children: [
|
|
784
785
|
/* @__PURE__ */ jsx(DialogHeader, { children: /* @__PURE__ */ jsx(DialogTitle, { children: videoDialogTitle }) }),
|
|
785
|
-
/* @__PURE__ */ jsx("div", { className: "aspect-video", children: /* @__PURE__ */ jsx(
|
|
786
|
+
/* @__PURE__ */ jsx("div", { className: "aspect-video", children: /* @__PURE__ */ jsx(
|
|
787
|
+
Video,
|
|
788
|
+
{
|
|
789
|
+
src: videoUrl,
|
|
790
|
+
controls: true,
|
|
791
|
+
autoPlay: true,
|
|
792
|
+
className: "h-full w-full rounded-lg"
|
|
793
|
+
}
|
|
794
|
+
) })
|
|
786
795
|
] }) })
|
|
787
796
|
] });
|
|
788
797
|
}
|
|
@@ -5,6 +5,7 @@ var React = require('react');
|
|
|
5
5
|
var clsx = require('clsx');
|
|
6
6
|
var tailwindMerge = require('tailwind-merge');
|
|
7
7
|
var img = require('@page-speed/img');
|
|
8
|
+
var video = require('@page-speed/video');
|
|
8
9
|
var AspectRatioPrimitive = require('@radix-ui/react-aspect-ratio');
|
|
9
10
|
var jsxRuntime = require('react/jsx-runtime');
|
|
10
11
|
var DialogPrimitive = require('@radix-ui/react-dialog');
|
|
@@ -727,7 +728,15 @@ function HeroCreativeStudioStacked({
|
|
|
727
728
|
"div",
|
|
728
729
|
{
|
|
729
730
|
className: videoAspectRatio === "vertical" ? "aspect-9/16" : "aspect-video",
|
|
730
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
731
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
732
|
+
video.Video,
|
|
733
|
+
{
|
|
734
|
+
src: videoDialog?.videoUrl,
|
|
735
|
+
controls: true,
|
|
736
|
+
autoPlay: true,
|
|
737
|
+
className: "h-full w-full rounded-lg"
|
|
738
|
+
}
|
|
739
|
+
)
|
|
731
740
|
}
|
|
732
741
|
)
|
|
733
742
|
]
|
|
@@ -4,6 +4,7 @@ import React__default, { useState, useMemo, Fragment } from 'react';
|
|
|
4
4
|
import { clsx } from 'clsx';
|
|
5
5
|
import { twMerge } from 'tailwind-merge';
|
|
6
6
|
import { Img } from '@page-speed/img';
|
|
7
|
+
import { Video } from '@page-speed/video';
|
|
7
8
|
import * as AspectRatioPrimitive from '@radix-ui/react-aspect-ratio';
|
|
8
9
|
import { jsx, jsxs, Fragment as Fragment$1 } from 'react/jsx-runtime';
|
|
9
10
|
import * as DialogPrimitive from '@radix-ui/react-dialog';
|
|
@@ -704,7 +705,15 @@ function HeroCreativeStudioStacked({
|
|
|
704
705
|
"div",
|
|
705
706
|
{
|
|
706
707
|
className: videoAspectRatio === "vertical" ? "aspect-9/16" : "aspect-video",
|
|
707
|
-
children: /* @__PURE__ */ jsx(
|
|
708
|
+
children: /* @__PURE__ */ jsx(
|
|
709
|
+
Video,
|
|
710
|
+
{
|
|
711
|
+
src: videoDialog?.videoUrl,
|
|
712
|
+
controls: true,
|
|
713
|
+
autoPlay: true,
|
|
714
|
+
className: "h-full w-full rounded-lg"
|
|
715
|
+
}
|
|
716
|
+
)
|
|
708
717
|
}
|
|
709
718
|
)
|
|
710
719
|
]
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
4
|
var React = require('react');
|
|
5
|
+
var video = require('@page-speed/video');
|
|
5
6
|
var clsx = require('clsx');
|
|
6
7
|
var tailwindMerge = require('tailwind-merge');
|
|
7
8
|
var pressable = require('@page-speed/pressable');
|
|
@@ -690,7 +691,15 @@ function HeroMentorshipVideoSplit({
|
|
|
690
691
|
"div",
|
|
691
692
|
{
|
|
692
693
|
className: videoAspectRatio === "vertical" ? "aspect-9/16" : "aspect-video",
|
|
693
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
694
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
695
|
+
video.Video,
|
|
696
|
+
{
|
|
697
|
+
src: videoUrl,
|
|
698
|
+
controls: true,
|
|
699
|
+
autoPlay: true,
|
|
700
|
+
className: "h-full w-full rounded-lg"
|
|
701
|
+
}
|
|
702
|
+
)
|
|
694
703
|
}
|
|
695
704
|
)
|
|
696
705
|
]
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import React__default, { useState, useMemo, Fragment as Fragment$1 } from 'react';
|
|
4
|
+
import { Video } from '@page-speed/video';
|
|
4
5
|
import { clsx } from 'clsx';
|
|
5
6
|
import { twMerge } from 'tailwind-merge';
|
|
6
7
|
import { Pressable } from '@page-speed/pressable';
|
|
@@ -667,7 +668,15 @@ function HeroMentorshipVideoSplit({
|
|
|
667
668
|
"div",
|
|
668
669
|
{
|
|
669
670
|
className: videoAspectRatio === "vertical" ? "aspect-9/16" : "aspect-video",
|
|
670
|
-
children: /* @__PURE__ */ jsx(
|
|
671
|
+
children: /* @__PURE__ */ jsx(
|
|
672
|
+
Video,
|
|
673
|
+
{
|
|
674
|
+
src: videoUrl,
|
|
675
|
+
controls: true,
|
|
676
|
+
autoPlay: true,
|
|
677
|
+
className: "h-full w-full rounded-lg"
|
|
678
|
+
}
|
|
679
|
+
)
|
|
671
680
|
}
|
|
672
681
|
)
|
|
673
682
|
]
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
4
|
var React4 = require('react');
|
|
5
|
+
var video = require('@page-speed/video');
|
|
5
6
|
var clsx = require('clsx');
|
|
6
7
|
var tailwindMerge = require('tailwind-merge');
|
|
7
8
|
var jsxRuntime = require('react/jsx-runtime');
|
|
@@ -577,16 +578,16 @@ function HeroPresentationPlatformVideo({
|
|
|
577
578
|
videoClassName
|
|
578
579
|
),
|
|
579
580
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
580
|
-
|
|
581
|
+
video.Video,
|
|
581
582
|
{
|
|
583
|
+
src: videoSrc,
|
|
582
584
|
autoPlay: true,
|
|
583
585
|
loop: true,
|
|
584
586
|
muted: true,
|
|
585
587
|
playsInline: true,
|
|
586
588
|
"data-wf-ignore": "true",
|
|
587
589
|
"data-object-fit": "cover",
|
|
588
|
-
className: "h-full w-full rounded-tl-xl object-cover"
|
|
589
|
-
children: /* @__PURE__ */ jsxRuntime.jsx("source", { src: videoSrc, type: "video/mp4" })
|
|
590
|
+
className: "h-full w-full rounded-tl-xl object-cover"
|
|
590
591
|
}
|
|
591
592
|
)
|
|
592
593
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import * as React4 from 'react';
|
|
3
3
|
import React4__default, { useMemo } from 'react';
|
|
4
|
+
import { Video } from '@page-speed/video';
|
|
4
5
|
import { clsx } from 'clsx';
|
|
5
6
|
import { twMerge } from 'tailwind-merge';
|
|
6
7
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
@@ -556,16 +557,16 @@ function HeroPresentationPlatformVideo({
|
|
|
556
557
|
videoClassName
|
|
557
558
|
),
|
|
558
559
|
children: /* @__PURE__ */ jsx(
|
|
559
|
-
|
|
560
|
+
Video,
|
|
560
561
|
{
|
|
562
|
+
src: videoSrc,
|
|
561
563
|
autoPlay: true,
|
|
562
564
|
loop: true,
|
|
563
565
|
muted: true,
|
|
564
566
|
playsInline: true,
|
|
565
567
|
"data-wf-ignore": "true",
|
|
566
568
|
"data-object-fit": "cover",
|
|
567
|
-
className: "h-full w-full rounded-tl-xl object-cover"
|
|
568
|
-
children: /* @__PURE__ */ jsx("source", { src: videoSrc, type: "video/mp4" })
|
|
569
|
+
className: "h-full w-full rounded-tl-xl object-cover"
|
|
569
570
|
}
|
|
570
571
|
)
|
|
571
572
|
}
|
|
@@ -5,6 +5,7 @@ var React = require('react');
|
|
|
5
5
|
var clsx = require('clsx');
|
|
6
6
|
var tailwindMerge = require('tailwind-merge');
|
|
7
7
|
var pressable = require('@page-speed/pressable');
|
|
8
|
+
var video = require('@page-speed/video');
|
|
8
9
|
var jsxRuntime = require('react/jsx-runtime');
|
|
9
10
|
|
|
10
11
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
@@ -451,7 +452,7 @@ function HeroProductivityLauncherVideo({
|
|
|
451
452
|
const renderVideo = React.useMemo(() => {
|
|
452
453
|
if (videoSlot) return videoSlot;
|
|
453
454
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute top-0 z-10 h-full w-full inset-0", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
454
|
-
|
|
455
|
+
video.Video,
|
|
455
456
|
{
|
|
456
457
|
src: videoSrc,
|
|
457
458
|
loop: true,
|
|
@@ -3,6 +3,7 @@ import React, { useMemo } from 'react';
|
|
|
3
3
|
import { clsx } from 'clsx';
|
|
4
4
|
import { twMerge } from 'tailwind-merge';
|
|
5
5
|
import { Pressable } from '@page-speed/pressable';
|
|
6
|
+
import { Video } from '@page-speed/video';
|
|
6
7
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
7
8
|
|
|
8
9
|
// components/blocks/hero/hero-productivity-launcher-video.tsx
|
|
@@ -445,7 +446,7 @@ function HeroProductivityLauncherVideo({
|
|
|
445
446
|
const renderVideo = useMemo(() => {
|
|
446
447
|
if (videoSlot) return videoSlot;
|
|
447
448
|
return /* @__PURE__ */ jsx("div", { className: "absolute top-0 z-10 h-full w-full inset-0", children: /* @__PURE__ */ jsx(
|
|
448
|
-
|
|
449
|
+
Video,
|
|
449
450
|
{
|
|
450
451
|
src: videoSrc,
|
|
451
452
|
loop: true,
|
|
@@ -5,6 +5,7 @@ var React = require('react');
|
|
|
5
5
|
var clsx = require('clsx');
|
|
6
6
|
var tailwindMerge = require('tailwind-merge');
|
|
7
7
|
var img = require('@page-speed/img');
|
|
8
|
+
var video = require('@page-speed/video');
|
|
8
9
|
var AspectRatioPrimitive = require('@radix-ui/react-aspect-ratio');
|
|
9
10
|
var jsxRuntime = require('react/jsx-runtime');
|
|
10
11
|
var DialogPrimitive = require('@radix-ui/react-dialog');
|
|
@@ -682,7 +683,15 @@ function HeroSoftwareGrowthVideoDialog({
|
|
|
682
683
|
"div",
|
|
683
684
|
{
|
|
684
685
|
className: videoAspectRatio === "vertical" ? "aspect-9/16" : "aspect-video",
|
|
685
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
686
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
687
|
+
video.Video,
|
|
688
|
+
{
|
|
689
|
+
src: videoDialog?.videoUrl,
|
|
690
|
+
controls: true,
|
|
691
|
+
autoPlay: true,
|
|
692
|
+
className: "h-full w-full rounded-lg"
|
|
693
|
+
}
|
|
694
|
+
)
|
|
686
695
|
}
|
|
687
696
|
)
|
|
688
697
|
]
|
|
@@ -4,6 +4,7 @@ import React__default, { useState, useMemo, Fragment } from 'react';
|
|
|
4
4
|
import { clsx } from 'clsx';
|
|
5
5
|
import { twMerge } from 'tailwind-merge';
|
|
6
6
|
import { Img } from '@page-speed/img';
|
|
7
|
+
import { Video } from '@page-speed/video';
|
|
7
8
|
import * as AspectRatioPrimitive from '@radix-ui/react-aspect-ratio';
|
|
8
9
|
import { jsx, jsxs, Fragment as Fragment$1 } from 'react/jsx-runtime';
|
|
9
10
|
import * as DialogPrimitive from '@radix-ui/react-dialog';
|
|
@@ -659,7 +660,15 @@ function HeroSoftwareGrowthVideoDialog({
|
|
|
659
660
|
"div",
|
|
660
661
|
{
|
|
661
662
|
className: videoAspectRatio === "vertical" ? "aspect-9/16" : "aspect-video",
|
|
662
|
-
children: /* @__PURE__ */ jsx(
|
|
663
|
+
children: /* @__PURE__ */ jsx(
|
|
664
|
+
Video,
|
|
665
|
+
{
|
|
666
|
+
src: videoDialog?.videoUrl,
|
|
667
|
+
controls: true,
|
|
668
|
+
autoPlay: true,
|
|
669
|
+
className: "h-full w-full rounded-lg"
|
|
670
|
+
}
|
|
671
|
+
)
|
|
663
672
|
}
|
|
664
673
|
)
|
|
665
674
|
]
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
4
|
var React = require('react');
|
|
5
|
+
var video = require('@page-speed/video');
|
|
5
6
|
var clsx = require('clsx');
|
|
6
7
|
var tailwindMerge = require('tailwind-merge');
|
|
7
8
|
var jsxRuntime = require('react/jsx-runtime');
|
|
@@ -576,14 +577,14 @@ function HeroVideoBackgroundDark({
|
|
|
576
577
|
if (videoSlot) return videoSlot;
|
|
577
578
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
578
579
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
579
|
-
|
|
580
|
+
video.Video,
|
|
580
581
|
{
|
|
582
|
+
src: videoSrc,
|
|
581
583
|
loop: true,
|
|
582
584
|
playsInline: true,
|
|
583
|
-
src: videoSrc,
|
|
584
|
-
className: "absolute top-0 left-0 size-full object-cover",
|
|
585
585
|
autoPlay: true,
|
|
586
|
-
muted: true
|
|
586
|
+
muted: true,
|
|
587
|
+
className: "absolute top-0 left-0 size-full object-cover"
|
|
587
588
|
}
|
|
588
589
|
),
|
|
589
590
|
/* @__PURE__ */ jsxRuntime.jsx(GradientOverlay, { intensity: videoOverlayIntensity })
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import React, { useMemo } from 'react';
|
|
3
|
+
import { Video } from '@page-speed/video';
|
|
3
4
|
import { clsx } from 'clsx';
|
|
4
5
|
import { twMerge } from 'tailwind-merge';
|
|
5
6
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
@@ -570,14 +571,14 @@ function HeroVideoBackgroundDark({
|
|
|
570
571
|
if (videoSlot) return videoSlot;
|
|
571
572
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
572
573
|
/* @__PURE__ */ jsx(
|
|
573
|
-
|
|
574
|
+
Video,
|
|
574
575
|
{
|
|
576
|
+
src: videoSrc,
|
|
575
577
|
loop: true,
|
|
576
578
|
playsInline: true,
|
|
577
|
-
src: videoSrc,
|
|
578
|
-
className: "absolute top-0 left-0 size-full object-cover",
|
|
579
579
|
autoPlay: true,
|
|
580
|
-
muted: true
|
|
580
|
+
muted: true,
|
|
581
|
+
className: "absolute top-0 left-0 size-full object-cover"
|
|
581
582
|
}
|
|
582
583
|
),
|
|
583
584
|
/* @__PURE__ */ jsx(GradientOverlay, { intensity: videoOverlayIntensity })
|
|
@@ -5,6 +5,7 @@ var React = require('react');
|
|
|
5
5
|
var clsx = require('clsx');
|
|
6
6
|
var tailwindMerge = require('tailwind-merge');
|
|
7
7
|
var img = require('@page-speed/img');
|
|
8
|
+
var video = require('@page-speed/video');
|
|
8
9
|
var AspectRatioPrimitive = require('@radix-ui/react-aspect-ratio');
|
|
9
10
|
var jsxRuntime = require('react/jsx-runtime');
|
|
10
11
|
var DialogPrimitive = require('@radix-ui/react-dialog');
|
|
@@ -656,7 +657,15 @@ function HeroVideoDialogGradient({
|
|
|
656
657
|
"div",
|
|
657
658
|
{
|
|
658
659
|
className: videoAspectRatio === "vertical" ? "aspect-9/16" : "aspect-video",
|
|
659
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
660
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
661
|
+
video.Video,
|
|
662
|
+
{
|
|
663
|
+
src: videoDialog?.videoUrl,
|
|
664
|
+
controls: true,
|
|
665
|
+
autoPlay: true,
|
|
666
|
+
className: "h-full w-full rounded-lg"
|
|
667
|
+
}
|
|
668
|
+
)
|
|
660
669
|
}
|
|
661
670
|
)
|
|
662
671
|
]
|