@opensite/ui 1.6.9 → 1.7.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.
Files changed (31) hide show
  1. package/dist/hero-billing-platform-logos.cjs +77 -52
  2. package/dist/hero-billing-platform-logos.js +77 -51
  3. package/dist/hero-conversion-video-play.cjs +240 -78
  4. package/dist/hero-conversion-video-play.js +233 -75
  5. package/dist/hero-customer-support-layered.cjs +1 -1
  6. package/dist/hero-customer-support-layered.js +1 -1
  7. package/dist/hero-dashed-border-features.cjs +33 -24
  8. package/dist/hero-dashed-border-features.js +33 -24
  9. package/dist/hero-design-showcase-logos.cjs +102 -38
  10. package/dist/hero-design-showcase-logos.js +102 -38
  11. package/dist/hero-grid-pattern-solutions.cjs +187 -49
  12. package/dist/hero-grid-pattern-solutions.d.cts +1 -4
  13. package/dist/hero-grid-pattern-solutions.d.ts +1 -4
  14. package/dist/hero-grid-pattern-solutions.js +188 -50
  15. package/dist/hero-marketplace-scattered-images.cjs +120 -79
  16. package/dist/hero-marketplace-scattered-images.js +120 -79
  17. package/dist/hero-mentorship-video-split.cjs +32 -13
  18. package/dist/hero-mentorship-video-split.js +32 -13
  19. package/dist/hero-premium-split-avatars.cjs +2 -2
  20. package/dist/hero-premium-split-avatars.js +2 -2
  21. package/dist/hero-productivity-launcher-video.cjs +45 -143
  22. package/dist/hero-productivity-launcher-video.d.cts +5 -23
  23. package/dist/hero-productivity-launcher-video.d.ts +5 -23
  24. package/dist/hero-productivity-launcher-video.js +45 -143
  25. package/dist/hero-split-spiral-shapes.cjs +47 -38
  26. package/dist/hero-split-spiral-shapes.js +47 -38
  27. package/dist/hero-task-timer-animated.cjs +59 -59
  28. package/dist/hero-task-timer-animated.js +59 -59
  29. package/dist/registry.cjs +772 -439
  30. package/dist/registry.js +772 -439
  31. package/package.json +1 -1
@@ -1,7 +1,8 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
- var React = require('react');
4
+ var React4 = require('react');
5
+ var AutoScroll = require('embla-carousel-auto-scroll');
5
6
  var clsx = require('clsx');
6
7
  var tailwindMerge = require('tailwind-merge');
7
8
  var classVarianceAuthority = require('class-variance-authority');
@@ -9,6 +10,9 @@ var jsxRuntime = require('react/jsx-runtime');
9
10
  var img = require('@page-speed/img');
10
11
  var AspectRatioPrimitive = require('@radix-ui/react-aspect-ratio');
11
12
  var DialogPrimitive = require('@radix-ui/react-dialog');
13
+ var useEmblaCarousel = require('embla-carousel-react');
14
+
15
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
12
16
 
13
17
  function _interopNamespace(e) {
14
18
  if (e && e.__esModule) return e;
@@ -28,9 +32,11 @@ function _interopNamespace(e) {
28
32
  return Object.freeze(n);
29
33
  }
30
34
 
31
- var React__namespace = /*#__PURE__*/_interopNamespace(React);
35
+ var React4__namespace = /*#__PURE__*/_interopNamespace(React4);
36
+ var AutoScroll__default = /*#__PURE__*/_interopDefault(AutoScroll);
32
37
  var AspectRatioPrimitive__namespace = /*#__PURE__*/_interopNamespace(AspectRatioPrimitive);
33
38
  var DialogPrimitive__namespace = /*#__PURE__*/_interopNamespace(DialogPrimitive);
39
+ var useEmblaCarousel__default = /*#__PURE__*/_interopDefault(useEmblaCarousel);
34
40
 
35
41
  // components/blocks/hero/hero-conversion-video-play.tsx
36
42
  function cn(...inputs) {
@@ -111,7 +117,7 @@ function useNavigation({
111
117
  href,
112
118
  onClick
113
119
  } = {}) {
114
- const linkType = React__namespace.useMemo(() => {
120
+ const linkType = React4__namespace.useMemo(() => {
115
121
  if (!href || href.trim() === "") {
116
122
  return onClick ? "none" : "none";
117
123
  }
@@ -132,7 +138,7 @@ function useNavigation({
132
138
  return "internal";
133
139
  }
134
140
  }, [href, onClick]);
135
- const normalizedHref = React__namespace.useMemo(() => {
141
+ const normalizedHref = React4__namespace.useMemo(() => {
136
142
  if (!href || href.trim() === "") {
137
143
  return void 0;
138
144
  }
@@ -150,7 +156,7 @@ function useNavigation({
150
156
  return trimmed;
151
157
  }
152
158
  }, [href, linkType]);
153
- const target = React__namespace.useMemo(() => {
159
+ const target = React4__namespace.useMemo(() => {
154
160
  switch (linkType) {
155
161
  case "external":
156
162
  return "_blank";
@@ -163,7 +169,7 @@ function useNavigation({
163
169
  return void 0;
164
170
  }
165
171
  }, [linkType]);
166
- const rel = React__namespace.useMemo(() => {
172
+ const rel = React4__namespace.useMemo(() => {
167
173
  if (linkType === "external") {
168
174
  return "noopener noreferrer";
169
175
  }
@@ -172,7 +178,7 @@ function useNavigation({
172
178
  const isExternal = linkType === "external";
173
179
  const isInternal = linkType === "internal";
174
180
  const shouldUseRouter = isInternal && typeof normalizedHref === "string" && normalizedHref.startsWith("/");
175
- const handleClick = React__namespace.useCallback(
181
+ const handleClick = React4__namespace.useCallback(
176
182
  (event) => {
177
183
  if (onClick) {
178
184
  try {
@@ -356,7 +362,7 @@ var buttonVariants = classVarianceAuthority.cva(baseStyles, {
356
362
  size: "default"
357
363
  }
358
364
  });
359
- var Pressable = React__namespace.forwardRef(
365
+ var Pressable = React4__namespace.forwardRef(
360
366
  ({
361
367
  children,
362
368
  className,
@@ -462,10 +468,10 @@ function DynamicIcon({
462
468
  className,
463
469
  alt
464
470
  }) {
465
- const [svgContent, setSvgContent] = React__namespace.useState(null);
466
- const [isLoading, setIsLoading] = React__namespace.useState(true);
467
- const [error, setError] = React__namespace.useState(null);
468
- const { url, iconName } = React__namespace.useMemo(() => {
471
+ const [svgContent, setSvgContent] = React4__namespace.useState(null);
472
+ const [isLoading, setIsLoading] = React4__namespace.useState(true);
473
+ const [error, setError] = React4__namespace.useState(null);
474
+ const { url, iconName } = React4__namespace.useMemo(() => {
469
475
  const separator = name.includes("/") ? "/" : ":";
470
476
  const [prefix, iconName2] = name.split(separator);
471
477
  const baseUrl = `https://icons.opensite.ai/api/icon/${prefix}/${iconName2}?format=svg&width=${size}&height=${size}&key=au382bi7fsh96w9h9xlrnat2jglx`;
@@ -474,7 +480,7 @@ function DynamicIcon({
474
480
  iconName: iconName2
475
481
  };
476
482
  }, [name, size]);
477
- React__namespace.useEffect(() => {
483
+ React4__namespace.useEffect(() => {
478
484
  let isMounted = true;
479
485
  const fetchSvg = async () => {
480
486
  const cached = svgCache.get(url);
@@ -648,6 +654,135 @@ function DialogTitle({
648
654
  }
649
655
  );
650
656
  }
657
+ var CarouselContext = React4__namespace.createContext(null);
658
+ function useCarousel() {
659
+ const context = React4__namespace.useContext(CarouselContext);
660
+ if (!context) {
661
+ throw new Error("useCarousel must be used within a <Carousel />");
662
+ }
663
+ return context;
664
+ }
665
+ function Carousel({
666
+ orientation = "horizontal",
667
+ opts,
668
+ setApi,
669
+ plugins,
670
+ className,
671
+ children,
672
+ ...props
673
+ }) {
674
+ const [carouselRef, api] = useEmblaCarousel__default.default(
675
+ {
676
+ ...opts,
677
+ axis: orientation === "horizontal" ? "x" : "y"
678
+ },
679
+ plugins
680
+ );
681
+ const [canScrollPrev, setCanScrollPrev] = React4__namespace.useState(false);
682
+ const [canScrollNext, setCanScrollNext] = React4__namespace.useState(false);
683
+ const onSelect = React4__namespace.useCallback((api2) => {
684
+ if (!api2) return;
685
+ setCanScrollPrev(api2.canScrollPrev());
686
+ setCanScrollNext(api2.canScrollNext());
687
+ }, []);
688
+ const scrollPrev = React4__namespace.useCallback(() => {
689
+ api?.scrollPrev();
690
+ }, [api]);
691
+ const scrollNext = React4__namespace.useCallback(() => {
692
+ api?.scrollNext();
693
+ }, [api]);
694
+ const handleKeyDown = React4__namespace.useCallback(
695
+ (event) => {
696
+ if (event.key === "ArrowLeft") {
697
+ event.preventDefault();
698
+ scrollPrev();
699
+ } else if (event.key === "ArrowRight") {
700
+ event.preventDefault();
701
+ scrollNext();
702
+ }
703
+ },
704
+ [scrollPrev, scrollNext]
705
+ );
706
+ React4__namespace.useEffect(() => {
707
+ if (!api || !setApi) return;
708
+ setApi(api);
709
+ }, [api, setApi]);
710
+ React4__namespace.useEffect(() => {
711
+ if (!api) return;
712
+ onSelect(api);
713
+ api.on("reInit", onSelect);
714
+ api.on("select", onSelect);
715
+ return () => {
716
+ api?.off("select", onSelect);
717
+ };
718
+ }, [api, onSelect]);
719
+ return /* @__PURE__ */ jsxRuntime.jsx(
720
+ CarouselContext.Provider,
721
+ {
722
+ value: {
723
+ carouselRef,
724
+ api,
725
+ opts,
726
+ orientation: orientation || (opts?.axis === "y" ? "vertical" : "horizontal"),
727
+ scrollPrev,
728
+ scrollNext,
729
+ canScrollPrev,
730
+ canScrollNext
731
+ },
732
+ children: /* @__PURE__ */ jsxRuntime.jsx(
733
+ "div",
734
+ {
735
+ onKeyDownCapture: handleKeyDown,
736
+ className: cn("relative", className),
737
+ role: "region",
738
+ "aria-roledescription": "carousel",
739
+ "data-slot": "carousel",
740
+ ...props,
741
+ children
742
+ }
743
+ )
744
+ }
745
+ );
746
+ }
747
+ function CarouselContent({ className, ...props }) {
748
+ const { carouselRef, orientation } = useCarousel();
749
+ return /* @__PURE__ */ jsxRuntime.jsx(
750
+ "div",
751
+ {
752
+ ref: carouselRef,
753
+ className: "overflow-hidden",
754
+ "data-slot": "carousel-content",
755
+ children: /* @__PURE__ */ jsxRuntime.jsx(
756
+ "div",
757
+ {
758
+ className: cn(
759
+ "flex",
760
+ orientation === "horizontal" ? "-ml-4" : "-mt-4 flex-col",
761
+ className
762
+ ),
763
+ ...props
764
+ }
765
+ )
766
+ }
767
+ );
768
+ }
769
+ function CarouselItem({ className, ...props }) {
770
+ const { orientation } = useCarousel();
771
+ return /* @__PURE__ */ jsxRuntime.jsx(
772
+ "div",
773
+ {
774
+ role: "group",
775
+ "aria-roledescription": "slide",
776
+ "data-slot": "carousel-item",
777
+ className: cn(
778
+ "min-w-0 shrink-0 grow-0 basis-full",
779
+ orientation === "horizontal" ? "pl-4" : "pt-4",
780
+ className
781
+ ),
782
+ ...props
783
+ }
784
+ );
785
+ }
651
786
  var maxWidthStyles = {
652
787
  sm: "max-w-screen-sm",
653
788
  md: "max-w-screen-md",
@@ -657,7 +792,7 @@ var maxWidthStyles = {
657
792
  "4xl": "max-w-[1536px]",
658
793
  full: "max-w-full"
659
794
  };
660
- var Container = React__namespace.default.forwardRef(
795
+ var Container = React4__namespace.default.forwardRef(
661
796
  ({ children, maxWidth = "xl", className, as = "div", ...props }, ref) => {
662
797
  const Component = as;
663
798
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -962,7 +1097,7 @@ var spacingStyles = {
962
1097
  };
963
1098
  var predefinedSpacings = ["none", "sm", "md", "lg", "xl"];
964
1099
  var isPredefinedSpacing = (spacing) => predefinedSpacings.includes(spacing);
965
- var Section = React__namespace.default.forwardRef(
1100
+ var Section = React4__namespace.default.forwardRef(
966
1101
  ({
967
1102
  id,
968
1103
  title,
@@ -1050,70 +1185,48 @@ function HeroConversionVideoPlay({
1050
1185
  logosClassName,
1051
1186
  optixFlowConfig
1052
1187
  }) {
1053
- const [isVideoOpen, setIsVideoOpen] = React.useState(false);
1054
- const renderActions = React.useMemo(() => {
1188
+ const [isVideoOpen, setIsVideoOpen] = React4.useState(false);
1189
+ const renderActions = React4.useMemo(() => {
1055
1190
  if (actionsSlot) return actionsSlot;
1056
1191
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1057
1192
  primaryAction && (() => {
1058
- const { label, icon, iconAfter, children, className: actionClassName, ...pressableProps } = primaryAction;
1059
- return /* @__PURE__ */ jsxRuntime.jsxs(
1193
+ const {
1194
+ label,
1195
+ icon,
1196
+ iconAfter,
1197
+ children,
1198
+ className: actionClassName,
1199
+ ...pressableProps
1200
+ } = primaryAction;
1201
+ return /* @__PURE__ */ jsxRuntime.jsx(
1060
1202
  Pressable,
1061
1203
  {
1062
1204
  asButton: true,
1063
1205
  className: actionClassName,
1064
1206
  ...pressableProps,
1065
- children: [
1066
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative z-10 flex items-center gap-2.5", children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1067
- icon,
1068
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: label }),
1069
- iconAfter
1070
- ] }) }),
1071
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute bottom-16 -left-16 aspect-square w-16 rounded-full bg-pink-400 transition-all duration-300 group-hover:bottom-1/2 group-hover:-left-5 group-hover:w-[110%] group-hover:translate-y-1/2" })
1072
- ]
1207
+ children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1208
+ icon,
1209
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: label }),
1210
+ iconAfter
1211
+ ] })
1073
1212
  }
1074
1213
  );
1075
1214
  })(),
1076
- /* @__PURE__ */ jsxRuntime.jsxs(
1215
+ videoUrl && /* @__PURE__ */ jsxRuntime.jsxs(
1077
1216
  Pressable,
1078
1217
  {
1079
- href: "#",
1080
1218
  onClick: () => setIsVideoOpen(true),
1081
1219
  asButton: true,
1082
- variant: "ghost",
1083
- className: "flex h-fit w-fit items-center gap-2 text-lg font-semibold uppercase hover:bg-transparent",
1220
+ variant: "link",
1084
1221
  children: [
1085
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-10 w-10 rounded-full bg-primary", children: /* @__PURE__ */ jsxRuntime.jsx(
1086
- DynamicIcon,
1087
- {
1088
- name: "lucide/play",
1089
- size: 16,
1090
- className: "m-auto fill-white stroke-white"
1091
- }
1092
- ) }),
1222
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-10 w-10 rounded-full bg-primary text-primary-foreground", children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/play" }) }),
1093
1223
  /* @__PURE__ */ jsxRuntime.jsx("div", { children: videoButtonLabel })
1094
1224
  ]
1095
1225
  }
1096
1226
  )
1097
1227
  ] });
1098
1228
  }, [actionsSlot, primaryAction, videoButtonLabel, setIsVideoOpen]);
1099
- const renderLogos = React.useMemo(() => {
1100
- if (logosSlot) return logosSlot;
1101
- if (!logos || logos.length === 0) return null;
1102
- return logos.map((logo, index) => {
1103
- const src = typeof logo.src === "string" ? logo.src : logo.src.light;
1104
- return /* @__PURE__ */ jsxRuntime.jsx(
1105
- img.Img,
1106
- {
1107
- src,
1108
- alt: logo.alt,
1109
- className: logo.className,
1110
- optixFlowConfig
1111
- },
1112
- index
1113
- );
1114
- });
1115
- }, [logosSlot, logos, optixFlowConfig]);
1116
- return /* @__PURE__ */ jsxRuntime.jsxs(React.Fragment, { children: [
1229
+ return /* @__PURE__ */ jsxRuntime.jsxs(React4.Fragment, { children: [
1117
1230
  /* @__PURE__ */ jsxRuntime.jsx(
1118
1231
  Section,
1119
1232
  {
@@ -1125,42 +1238,91 @@ function HeroConversionVideoPlay({
1125
1238
  containerClassName,
1126
1239
  children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
1127
1240
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "overflow-hidden border-b border-border", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center gap-16 md:gap-24", children: [
1128
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col items-center gap-8", contentClassName), children: [
1129
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center gap-7", children: [
1130
- heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("max-w-[920px] text-center text-4xl leading-tight font-semibold md:text-6xl lg:text-7xl", headingClassName), children: heading }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: heading })),
1131
- description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("max-w-[750px] text-center text-base leading-relaxed font-normal md:text-xl text-muted-foreground", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description }))
1132
- ] }),
1133
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex flex-wrap items-center justify-center gap-8", actionsClassName), children: renderActions })
1134
- ] }),
1241
+ /* @__PURE__ */ jsxRuntime.jsxs(
1242
+ "div",
1243
+ {
1244
+ className: cn(
1245
+ "flex flex-col items-center gap-8",
1246
+ contentClassName
1247
+ ),
1248
+ children: [
1249
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center gap-7", children: [
1250
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
1251
+ "h1",
1252
+ {
1253
+ className: cn(
1254
+ "max-w-[920px] text-center text-4xl leading-tight font-semibold md:text-6xl lg:text-7xl text-balance",
1255
+ headingClassName
1256
+ ),
1257
+ children: heading
1258
+ }
1259
+ ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: heading })),
1260
+ description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
1261
+ "p",
1262
+ {
1263
+ className: cn(
1264
+ "max-w-[750px] text-center text-base leading-relaxed font-normal md:text-xl text-balance",
1265
+ descriptionClassName
1266
+ ),
1267
+ children: description
1268
+ }
1269
+ ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description }))
1270
+ ] }),
1271
+ /* @__PURE__ */ jsxRuntime.jsx(
1272
+ "div",
1273
+ {
1274
+ className: cn(
1275
+ "flex flex-wrap items-center justify-center gap-8",
1276
+ actionsClassName
1277
+ ),
1278
+ children: renderActions
1279
+ }
1280
+ )
1281
+ ]
1282
+ }
1283
+ ),
1135
1284
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full", children: imageSlot ? imageSlot : image ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("relative h-fit w-full", imageClassName), children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative z-20 w-full max-w-330 overflow-hidden rounded-t-xl md:rounded-t-3xl", children: /* @__PURE__ */ jsxRuntime.jsx(AspectRatio, { ratio: 2.095238095 / 1, children: /* @__PURE__ */ jsxRuntime.jsx(
1136
1285
  img.Img,
1137
1286
  {
1138
1287
  src: image.src,
1139
1288
  alt: image.alt,
1140
- className: cn("size-full object-cover object-center", image.className),
1289
+ className: cn(
1290
+ "size-full object-cover object-center",
1291
+ image.className
1292
+ ),
1141
1293
  optixFlowConfig
1142
1294
  }
1143
1295
  ) }) }) }) : null })
1144
1296
  ] }) }),
1145
1297
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center gap-16 py-20", children: [
1146
- logosTagline && (typeof logosTagline === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-center text-xl font-medium text-accent-foreground"), children: logosTagline }) : logosTagline),
1147
- (logosSlot || logos && logos.length > 0) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-wrap items-center justify-center gap-20", children: renderLogos })
1298
+ logosTagline && (typeof logosTagline === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-center text-xl font-medium "), children: logosTagline }) : logosTagline),
1299
+ logosSlot ? logosSlot : logos && logos.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx(
1300
+ Carousel,
1301
+ {
1302
+ opts: { loop: true },
1303
+ plugins: [AutoScroll__default.default({ playOnInit: true, speed: 1 })],
1304
+ className: "relative w-full max-w-(--breakpoint-2xl) overflow-hidden",
1305
+ children: /* @__PURE__ */ jsxRuntime.jsx(CarouselContent, { className: "items-center", children: [...logos, ...logos].map((logo, index) => /* @__PURE__ */ jsxRuntime.jsx(CarouselItem, { className: "w-fit basis-auto px-7", children: /* @__PURE__ */ jsxRuntime.jsx(
1306
+ img.Img,
1307
+ {
1308
+ src: typeof logo.src === "string" ? logo.src : logo.src.light,
1309
+ alt: logo.alt,
1310
+ className: cn(
1311
+ "h-8 w-full object-fill",
1312
+ logo.imgClassName
1313
+ ),
1314
+ optixFlowConfig
1315
+ }
1316
+ ) }, index)) })
1317
+ }
1318
+ ) : null
1148
1319
  ] })
1149
1320
  ] })
1150
1321
  }
1151
1322
  ),
1152
- /* @__PURE__ */ jsxRuntime.jsx(Dialog, { open: isVideoOpen, onOpenChange: setIsVideoOpen, children: /* @__PURE__ */ jsxRuntime.jsxs(DialogContent, { className: "sm:max-w-[800px]", children: [
1323
+ /* @__PURE__ */ jsxRuntime.jsx(Dialog, { open: isVideoOpen, onOpenChange: setIsVideoOpen, children: /* @__PURE__ */ jsxRuntime.jsxs(DialogContent, { className: "sm:max-w-200", children: [
1153
1324
  /* @__PURE__ */ jsxRuntime.jsx(DialogHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(DialogTitle, { children: videoDialogTitle }) }),
1154
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "aspect-video", children: /* @__PURE__ */ jsxRuntime.jsx(
1155
- "iframe",
1156
- {
1157
- className: "h-full w-full",
1158
- src: videoUrl,
1159
- title: videoDialogTitle,
1160
- allow: "accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",
1161
- allowFullScreen: true
1162
- }
1163
- ) })
1325
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "aspect-video", children: /* @__PURE__ */ jsxRuntime.jsx("video", { controls: true, autoPlay: true, className: "h-full w-full rounded-lg", children: /* @__PURE__ */ jsxRuntime.jsx("source", { src: videoUrl, type: "video/mp4" }) }) })
1164
1326
  ] }) })
1165
1327
  ] });
1166
1328
  }