stormcloud-video-player 0.7.0 → 0.7.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.
@@ -6123,7 +6123,7 @@ var StormcloudVideoPlayer = /*#__PURE__*/ function() {
6123
6123
  // src/ui/StormcloudVideoPlayer.tsx
6124
6124
  var import_fa = require("react-icons/fa");
6125
6125
  // src/ui/OverlayRenderer.tsx
6126
- var import_react = require("react");
6126
+ var import_react = __toESM(require("react"), 1);
6127
6127
  // src/utils/overlays.ts
6128
6128
  var OVERLAY_API_BASE = "https://adstorm.co/api-adstorm-dev";
6129
6129
  function timeStringToSeconds(timeStr) {
@@ -6346,6 +6346,751 @@ function ScrollerOverlay(param) {
6346
6346
  ]
6347
6347
  });
6348
6348
  }
6349
+ function parseConfig(content) {
6350
+ if (!content) return null;
6351
+ try {
6352
+ return JSON.parse(content);
6353
+ } catch (unused) {
6354
+ return null;
6355
+ }
6356
+ }
6357
+ function ScoreBugOverlay(param) {
6358
+ var overlay = param.overlay, size = param.size;
6359
+ var cfg = parseConfig(overlay.content);
6360
+ if (!cfg) return null;
6361
+ var f = Math.max(6, size.w * 0.058);
6362
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
6363
+ style: {
6364
+ width: "100%",
6365
+ height: "100%",
6366
+ borderRadius: Math.max(2, size.w * 0.035),
6367
+ display: "flex",
6368
+ flexDirection: "column",
6369
+ background: cfg.backgroundColor,
6370
+ color: cfg.textColor,
6371
+ fontFamily: "Roboto, 'Segoe UI', Arial, sans-serif",
6372
+ overflow: "hidden",
6373
+ pointerEvents: "none",
6374
+ userSelect: "none",
6375
+ fontSize: "".concat(f, "px")
6376
+ },
6377
+ children: [
6378
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
6379
+ style: {
6380
+ flex: 1,
6381
+ display: "flex",
6382
+ alignItems: "center",
6383
+ padding: "0 ".concat(f * 0.8, "px"),
6384
+ gap: f * 0.4
6385
+ },
6386
+ children: [
6387
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
6388
+ style: {
6389
+ flex: 1,
6390
+ textAlign: "center"
6391
+ },
6392
+ children: [
6393
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
6394
+ style: {
6395
+ fontSize: "1em",
6396
+ fontWeight: 700
6397
+ },
6398
+ children: cfg.homeTeam
6399
+ }),
6400
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
6401
+ style: {
6402
+ fontSize: "1.8em",
6403
+ fontWeight: 900,
6404
+ lineHeight: 1
6405
+ },
6406
+ children: cfg.homeScore
6407
+ })
6408
+ ]
6409
+ }),
6410
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
6411
+ style: {
6412
+ fontSize: "0.8em",
6413
+ textAlign: "center",
6414
+ opacity: 0.7,
6415
+ padding: "0 ".concat(f * 0.4, "px")
6416
+ },
6417
+ children: [
6418
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
6419
+ children: cfg.period
6420
+ }),
6421
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
6422
+ children: cfg.clock
6423
+ })
6424
+ ]
6425
+ }),
6426
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
6427
+ style: {
6428
+ flex: 1,
6429
+ textAlign: "center"
6430
+ },
6431
+ children: [
6432
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
6433
+ style: {
6434
+ fontSize: "1em",
6435
+ fontWeight: 700
6436
+ },
6437
+ children: cfg.awayTeam
6438
+ }),
6439
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
6440
+ style: {
6441
+ fontSize: "1.8em",
6442
+ fontWeight: 900,
6443
+ lineHeight: 1
6444
+ },
6445
+ children: cfg.awayScore
6446
+ })
6447
+ ]
6448
+ })
6449
+ ]
6450
+ }),
6451
+ cfg.sponsorText && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
6452
+ style: {
6453
+ fontSize: "0.7em",
6454
+ textAlign: "center",
6455
+ opacity: 0.5,
6456
+ padding: "".concat(f * 0.2, "px 0"),
6457
+ borderTop: "1px solid ".concat(cfg.accentColor, "40")
6458
+ },
6459
+ children: cfg.sponsorText
6460
+ })
6461
+ ]
6462
+ });
6463
+ }
6464
+ function LowerThirdOverlay(param) {
6465
+ var overlay = param.overlay, size = param.size;
6466
+ var cfg = parseConfig(overlay.content);
6467
+ if (!cfg) return null;
6468
+ var f = Math.max(6, size.w * 0.055);
6469
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
6470
+ style: {
6471
+ width: "100%",
6472
+ height: "100%",
6473
+ borderRadius: Math.max(2, size.w * 0.02),
6474
+ display: "flex",
6475
+ flexDirection: "column",
6476
+ justifyContent: "flex-end",
6477
+ background: cfg.backgroundColor,
6478
+ color: cfg.textColor,
6479
+ fontFamily: "Roboto, 'Segoe UI', Arial, sans-serif",
6480
+ overflow: "hidden",
6481
+ pointerEvents: "none",
6482
+ userSelect: "none",
6483
+ fontSize: "".concat(f, "px")
6484
+ },
6485
+ children: [
6486
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
6487
+ style: {
6488
+ width: "100%",
6489
+ height: Math.max(2, size.h * 0.06),
6490
+ backgroundColor: cfg.accentColor
6491
+ }
6492
+ }),
6493
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
6494
+ style: {
6495
+ flex: 1,
6496
+ display: "flex",
6497
+ flexDirection: "column",
6498
+ justifyContent: "center",
6499
+ padding: "".concat(f * 0.5, "px ").concat(f * 1.2, "px")
6500
+ },
6501
+ children: [
6502
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
6503
+ style: {
6504
+ fontSize: "1.4em",
6505
+ fontWeight: 700,
6506
+ lineHeight: 1.2,
6507
+ textShadow: "0 1px 4px rgba(0,0,0,0.5)"
6508
+ },
6509
+ children: cfg.headline
6510
+ }),
6511
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
6512
+ style: {
6513
+ fontSize: "1em",
6514
+ opacity: 0.7,
6515
+ marginTop: f * 0.2
6516
+ },
6517
+ children: cfg.subtitle
6518
+ })
6519
+ ]
6520
+ }),
6521
+ cfg.sponsorText && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
6522
+ style: {
6523
+ fontSize: "0.7em",
6524
+ opacity: 0.4,
6525
+ padding: "0 ".concat(f * 1.2, "px ").concat(f * 0.4, "px")
6526
+ },
6527
+ children: cfg.sponsorText
6528
+ })
6529
+ ]
6530
+ });
6531
+ }
6532
+ function QrCodeOverlay(param) {
6533
+ var overlay = param.overlay, size = param.size;
6534
+ var cfg = parseConfig(overlay.content);
6535
+ if (!cfg) return null;
6536
+ var qrSide = Math.max(32, Math.min(size.w, size.h) * 0.55);
6537
+ var qrUrl = "https://api.qrserver.com/v1/create-qr-code/?size=".concat(Math.round(qrSide * 2), "x").concat(Math.round(qrSide * 2), "&data=").concat(encodeURIComponent(cfg.url || "https://example.com"));
6538
+ var f = Math.max(6, size.w * 0.06);
6539
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
6540
+ style: {
6541
+ width: "100%",
6542
+ height: "100%",
6543
+ borderRadius: Math.max(2, size.w * 0.035),
6544
+ display: "flex",
6545
+ flexDirection: "column",
6546
+ alignItems: "center",
6547
+ justifyContent: "center",
6548
+ gap: f * 0.4,
6549
+ background: cfg.backgroundColor,
6550
+ color: cfg.textColor,
6551
+ fontFamily: "Roboto, 'Segoe UI', Arial, sans-serif",
6552
+ padding: f * 0.6,
6553
+ boxSizing: "border-box",
6554
+ pointerEvents: "none",
6555
+ userSelect: "none",
6556
+ overflow: "hidden"
6557
+ },
6558
+ children: [
6559
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
6560
+ style: {
6561
+ flexShrink: 0,
6562
+ background: "#fff",
6563
+ borderRadius: Math.max(2, qrSide * 0.06),
6564
+ padding: Math.max(2, qrSide * 0.06),
6565
+ lineHeight: 0
6566
+ },
6567
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("img", {
6568
+ src: qrUrl,
6569
+ alt: "QR Code",
6570
+ style: {
6571
+ width: "".concat(qrSide, "px"),
6572
+ height: "".concat(qrSide, "px"),
6573
+ display: "block"
6574
+ }
6575
+ })
6576
+ }),
6577
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
6578
+ style: {
6579
+ fontSize: "".concat(f * 1.1, "px"),
6580
+ fontWeight: 700,
6581
+ textAlign: "center",
6582
+ color: cfg.accentColor,
6583
+ overflow: "hidden",
6584
+ textOverflow: "ellipsis",
6585
+ whiteSpace: "nowrap",
6586
+ width: "100%"
6587
+ },
6588
+ children: cfg.ctaText
6589
+ }),
6590
+ cfg.description && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
6591
+ style: {
6592
+ fontSize: "".concat(f * 0.75, "px"),
6593
+ opacity: 0.6,
6594
+ textAlign: "center",
6595
+ overflow: "hidden",
6596
+ textOverflow: "ellipsis",
6597
+ whiteSpace: "nowrap",
6598
+ width: "100%"
6599
+ },
6600
+ children: cfg.description
6601
+ })
6602
+ ]
6603
+ });
6604
+ }
6605
+ function ComingUpNextOverlay(param) {
6606
+ var overlay = param.overlay, size = param.size;
6607
+ var cfg = parseConfig(overlay.content);
6608
+ if (!cfg) return null;
6609
+ var f = Math.max(6, size.w * 0.05);
6610
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
6611
+ style: {
6612
+ width: "100%",
6613
+ height: "100%",
6614
+ borderRadius: Math.max(2, size.w * 0.035),
6615
+ display: "flex",
6616
+ background: cfg.backgroundColor,
6617
+ color: cfg.textColor,
6618
+ fontFamily: "Roboto, 'Segoe UI', Arial, sans-serif",
6619
+ overflow: "hidden",
6620
+ pointerEvents: "none",
6621
+ userSelect: "none",
6622
+ fontSize: "".concat(f, "px")
6623
+ },
6624
+ children: [
6625
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
6626
+ style: {
6627
+ width: Math.max(2, size.w * 0.015),
6628
+ flexShrink: 0,
6629
+ backgroundColor: cfg.accentColor
6630
+ }
6631
+ }),
6632
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
6633
+ style: {
6634
+ flex: 1,
6635
+ display: "flex",
6636
+ flexDirection: "column",
6637
+ justifyContent: "center",
6638
+ padding: "".concat(f * 0.6, "px ").concat(f * 1, "px"),
6639
+ minWidth: 0
6640
+ },
6641
+ children: [
6642
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
6643
+ style: {
6644
+ fontSize: "0.8em",
6645
+ fontWeight: 600,
6646
+ textTransform: "uppercase",
6647
+ letterSpacing: "0.05em",
6648
+ color: cfg.accentColor
6649
+ },
6650
+ children: "Coming Up Next"
6651
+ }),
6652
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
6653
+ style: {
6654
+ fontSize: "1.5em",
6655
+ fontWeight: 700,
6656
+ lineHeight: 1.2,
6657
+ marginTop: f * 0.2,
6658
+ overflow: "hidden",
6659
+ textOverflow: "ellipsis",
6660
+ whiteSpace: "nowrap"
6661
+ },
6662
+ children: cfg.title
6663
+ }),
6664
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
6665
+ style: {
6666
+ fontSize: "0.9em",
6667
+ opacity: 0.6,
6668
+ overflow: "hidden",
6669
+ textOverflow: "ellipsis",
6670
+ whiteSpace: "nowrap"
6671
+ },
6672
+ children: cfg.subtitle
6673
+ }),
6674
+ cfg.scheduledTime && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
6675
+ style: {
6676
+ fontSize: "1em",
6677
+ fontWeight: 600,
6678
+ marginTop: f * 0.4,
6679
+ color: cfg.accentColor
6680
+ },
6681
+ children: cfg.scheduledTime
6682
+ })
6683
+ ]
6684
+ })
6685
+ ]
6686
+ });
6687
+ }
6688
+ function ContextualTriggerOverlay(param) {
6689
+ var overlay = param.overlay, size = param.size;
6690
+ var cfg = parseConfig(overlay.content);
6691
+ if (!cfg) return null;
6692
+ var icons = {
6693
+ alert: "\u26A0\uFE0F",
6694
+ celebration: "\uD83C\uDF89",
6695
+ info: "\u2139\uFE0F",
6696
+ warning: "\uD83D\uDD14"
6697
+ };
6698
+ var f = Math.max(6, size.w * 0.05);
6699
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
6700
+ style: {
6701
+ width: "100%",
6702
+ height: "100%",
6703
+ borderRadius: Math.max(2, size.w * 0.035),
6704
+ display: "flex",
6705
+ alignItems: "center",
6706
+ gap: f * 0.8,
6707
+ padding: "0 ".concat(f * 1.2, "px"),
6708
+ background: cfg.backgroundColor,
6709
+ color: cfg.textColor,
6710
+ fontFamily: "Roboto, 'Segoe UI', Arial, sans-serif",
6711
+ borderLeft: "".concat(Math.max(2, size.w * 0.02), "px solid ").concat(cfg.accentColor),
6712
+ boxSizing: "border-box",
6713
+ pointerEvents: "none",
6714
+ userSelect: "none",
6715
+ fontSize: "".concat(f, "px")
6716
+ },
6717
+ children: [
6718
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
6719
+ style: {
6720
+ fontSize: "2em",
6721
+ flexShrink: 0
6722
+ },
6723
+ children: icons[cfg.iconType] || "\u26A1"
6724
+ }),
6725
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
6726
+ style: {
6727
+ flex: 1,
6728
+ minWidth: 0
6729
+ },
6730
+ children: [
6731
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
6732
+ style: {
6733
+ fontSize: "1.3em",
6734
+ fontWeight: 700,
6735
+ overflow: "hidden",
6736
+ textOverflow: "ellipsis",
6737
+ whiteSpace: "nowrap"
6738
+ },
6739
+ children: cfg.headline
6740
+ }),
6741
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
6742
+ style: {
6743
+ fontSize: "0.9em",
6744
+ opacity: 0.7,
6745
+ overflow: "hidden",
6746
+ textOverflow: "ellipsis",
6747
+ whiteSpace: "nowrap"
6748
+ },
6749
+ children: cfg.message
6750
+ })
6751
+ ]
6752
+ })
6753
+ ]
6754
+ });
6755
+ }
6756
+ function OddsBettingOverlay(param) {
6757
+ var overlay = param.overlay, size = param.size;
6758
+ var cfg = parseConfig(overlay.content);
6759
+ if (!cfg) return null;
6760
+ var f = Math.max(6, size.w * 0.052);
6761
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
6762
+ style: {
6763
+ width: "100%",
6764
+ height: "100%",
6765
+ borderRadius: Math.max(2, size.w * 0.035),
6766
+ display: "flex",
6767
+ flexDirection: "column",
6768
+ padding: f * 0.8,
6769
+ background: cfg.backgroundColor,
6770
+ color: cfg.textColor,
6771
+ fontFamily: "Roboto, 'Segoe UI', Arial, sans-serif",
6772
+ boxSizing: "border-box",
6773
+ pointerEvents: "none",
6774
+ userSelect: "none",
6775
+ fontSize: "".concat(f, "px")
6776
+ },
6777
+ children: [
6778
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
6779
+ style: {
6780
+ fontSize: "0.9em",
6781
+ fontWeight: 700,
6782
+ textTransform: "uppercase",
6783
+ letterSpacing: "0.05em",
6784
+ color: cfg.accentColor,
6785
+ marginBottom: f * 0.4
6786
+ },
6787
+ children: cfg.eventTitle
6788
+ }),
6789
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
6790
+ style: {
6791
+ flex: 1,
6792
+ display: "flex",
6793
+ flexDirection: "column",
6794
+ gap: f * 0.2,
6795
+ justifyContent: "center"
6796
+ },
6797
+ children: (cfg.options || []).slice(0, 5).map(function(opt, i) {
6798
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
6799
+ style: {
6800
+ display: "flex",
6801
+ justifyContent: "space-between",
6802
+ alignItems: "center",
6803
+ padding: "".concat(f * 0.2, "px ").concat(f * 0.6, "px"),
6804
+ borderRadius: Math.max(2, f * 0.3),
6805
+ background: "".concat(cfg.accentColor, "15"),
6806
+ fontSize: "1em"
6807
+ },
6808
+ children: [
6809
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
6810
+ style: {
6811
+ overflow: "hidden",
6812
+ textOverflow: "ellipsis",
6813
+ whiteSpace: "nowrap",
6814
+ flex: 1
6815
+ },
6816
+ children: opt.label
6817
+ }),
6818
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
6819
+ style: {
6820
+ fontWeight: 700,
6821
+ marginLeft: f * 0.8,
6822
+ flexShrink: 0,
6823
+ color: cfg.accentColor
6824
+ },
6825
+ children: opt.odds
6826
+ })
6827
+ ]
6828
+ }, i);
6829
+ })
6830
+ }),
6831
+ cfg.sponsorText && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
6832
+ style: {
6833
+ fontSize: "0.7em",
6834
+ opacity: 0.4,
6835
+ textAlign: "center",
6836
+ marginTop: f * 0.4
6837
+ },
6838
+ children: cfg.sponsorText
6839
+ })
6840
+ ]
6841
+ });
6842
+ }
6843
+ function BreakingNewsOverlay(param) {
6844
+ var overlay = param.overlay, size = param.size;
6845
+ var cfg = parseConfig(overlay.content);
6846
+ if (!cfg) return null;
6847
+ var urgencyColors = {
6848
+ breaking: "#dc2626",
6849
+ urgent: "#ea580c",
6850
+ normal: "#2563eb"
6851
+ };
6852
+ var labelBg = urgencyColors[cfg.urgency] || urgencyColors.normal;
6853
+ var label = cfg.urgency === "breaking" ? "BREAKING" : cfg.urgency === "urgent" ? "URGENT" : "NEWS";
6854
+ var f = Math.max(6, size.w * 0.05);
6855
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
6856
+ style: {
6857
+ width: "100%",
6858
+ height: "100%",
6859
+ borderRadius: Math.max(2, size.w * 0.02),
6860
+ display: "flex",
6861
+ alignItems: "center",
6862
+ background: cfg.backgroundColor,
6863
+ color: cfg.textColor,
6864
+ fontFamily: "Roboto, 'Segoe UI', Arial, sans-serif",
6865
+ overflow: "hidden",
6866
+ pointerEvents: "none",
6867
+ userSelect: "none",
6868
+ fontSize: "".concat(f, "px")
6869
+ },
6870
+ children: [
6871
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
6872
+ style: {
6873
+ padding: "0 ".concat(f * 0.8, "px"),
6874
+ height: "100%",
6875
+ display: "flex",
6876
+ alignItems: "center",
6877
+ background: labelBg,
6878
+ color: "#fff",
6879
+ fontSize: "1em",
6880
+ fontWeight: 900,
6881
+ textTransform: "uppercase",
6882
+ letterSpacing: "0.05em",
6883
+ flexShrink: 0
6884
+ },
6885
+ children: label
6886
+ }),
6887
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
6888
+ style: {
6889
+ flex: 1,
6890
+ padding: "0 ".concat(f * 1, "px"),
6891
+ minWidth: 0
6892
+ },
6893
+ children: [
6894
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
6895
+ style: {
6896
+ fontSize: "1.3em",
6897
+ fontWeight: 700,
6898
+ overflow: "hidden",
6899
+ textOverflow: "ellipsis",
6900
+ whiteSpace: "nowrap"
6901
+ },
6902
+ children: cfg.headline
6903
+ }),
6904
+ cfg.body && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
6905
+ style: {
6906
+ fontSize: "0.9em",
6907
+ opacity: 0.7,
6908
+ overflow: "hidden",
6909
+ textOverflow: "ellipsis",
6910
+ whiteSpace: "nowrap"
6911
+ },
6912
+ children: cfg.body
6913
+ })
6914
+ ]
6915
+ })
6916
+ ]
6917
+ });
6918
+ }
6919
+ function CountdownOverlay(param) {
6920
+ var overlay = param.overlay, size = param.size;
6921
+ var cfg = parseConfig(overlay.content);
6922
+ var _ref = _sliced_to_array((0, import_react.useState)({
6923
+ d: 0,
6924
+ h: 0,
6925
+ m: 0,
6926
+ s: 0
6927
+ }), 2), remaining = _ref[0], setRemaining = _ref[1];
6928
+ (0, import_react.useEffect)(function() {
6929
+ if (!cfg) return;
6930
+ var update = function update() {
6931
+ var target = new Date(cfg.targetTime).getTime();
6932
+ var now = Date.now();
6933
+ var diff = Math.max(0, target - now);
6934
+ setRemaining({
6935
+ d: Math.floor(diff / 864e5),
6936
+ h: Math.floor(diff % 864e5 / 36e5),
6937
+ m: Math.floor(diff % 36e5 / 6e4),
6938
+ s: Math.floor(diff % 6e4 / 1e3)
6939
+ });
6940
+ };
6941
+ update();
6942
+ var id = setInterval(update, 1e3);
6943
+ return function() {
6944
+ return clearInterval(id);
6945
+ };
6946
+ }, [
6947
+ cfg === null || cfg === void 0 ? void 0 : cfg.targetTime
6948
+ ]);
6949
+ if (!cfg) return null;
6950
+ var f = Math.max(6, size.w * 0.055);
6951
+ var pad = function pad(n) {
6952
+ return String(n).padStart(2, "0");
6953
+ };
6954
+ var units = [
6955
+ {
6956
+ show: cfg.showDays,
6957
+ value: pad(remaining.d),
6958
+ label: "DAYS"
6959
+ },
6960
+ {
6961
+ show: cfg.showHours,
6962
+ value: pad(remaining.h),
6963
+ label: "HRS"
6964
+ },
6965
+ {
6966
+ show: cfg.showMinutes,
6967
+ value: pad(remaining.m),
6968
+ label: "MIN"
6969
+ },
6970
+ {
6971
+ show: cfg.showSeconds,
6972
+ value: pad(remaining.s),
6973
+ label: "SEC"
6974
+ }
6975
+ ];
6976
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
6977
+ style: {
6978
+ width: "100%",
6979
+ height: "100%",
6980
+ borderRadius: Math.max(2, size.w * 0.035),
6981
+ display: "flex",
6982
+ flexDirection: "column",
6983
+ alignItems: "center",
6984
+ justifyContent: "center",
6985
+ padding: f * 0.8,
6986
+ background: cfg.backgroundColor,
6987
+ color: cfg.textColor,
6988
+ fontFamily: "Roboto, 'Segoe UI', Arial, sans-serif",
6989
+ boxSizing: "border-box",
6990
+ pointerEvents: "none",
6991
+ userSelect: "none",
6992
+ fontSize: "".concat(f, "px")
6993
+ },
6994
+ children: [
6995
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
6996
+ style: {
6997
+ fontSize: "0.8em",
6998
+ fontWeight: 600,
6999
+ textTransform: "uppercase",
7000
+ letterSpacing: "0.05em",
7001
+ color: cfg.accentColor,
7002
+ marginBottom: f * 0.4
7003
+ },
7004
+ children: cfg.eventName
7005
+ }),
7006
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
7007
+ style: {
7008
+ display: "flex",
7009
+ gap: f * 0.6,
7010
+ alignItems: "center"
7011
+ },
7012
+ children: units.filter(function(u) {
7013
+ return u.show;
7014
+ }).map(function(u, i, arr) {
7015
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_react.default.Fragment, {
7016
+ children: [
7017
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
7018
+ style: {
7019
+ textAlign: "center"
7020
+ },
7021
+ children: [
7022
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
7023
+ style: {
7024
+ fontSize: "2em",
7025
+ fontWeight: 900,
7026
+ lineHeight: 1,
7027
+ borderRadius: Math.max(2, f * 0.4),
7028
+ padding: "".concat(f * 0.2, "px ").concat(f * 0.4, "px"),
7029
+ background: "".concat(cfg.accentColor, "20")
7030
+ },
7031
+ children: u.value
7032
+ }),
7033
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
7034
+ style: {
7035
+ fontSize: "0.5em",
7036
+ opacity: 0.5,
7037
+ marginTop: f * 0.2
7038
+ },
7039
+ children: u.label
7040
+ })
7041
+ ]
7042
+ }),
7043
+ i < arr.length - 1 && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
7044
+ style: {
7045
+ fontSize: "1.8em",
7046
+ fontWeight: 700,
7047
+ opacity: 0.3
7048
+ },
7049
+ children: ":"
7050
+ })
7051
+ ]
7052
+ }, u.label);
7053
+ })
7054
+ }),
7055
+ cfg.message && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
7056
+ style: {
7057
+ fontSize: "0.8em",
7058
+ opacity: 0.6,
7059
+ marginTop: f * 0.4,
7060
+ textAlign: "center"
7061
+ },
7062
+ children: cfg.message
7063
+ })
7064
+ ]
7065
+ });
7066
+ }
7067
+ function ShapeOverlay(param) {
7068
+ var overlay = param.overlay, size = param.size;
7069
+ var f = Math.max(6, size.w * 0.05);
7070
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
7071
+ style: {
7072
+ width: "100%",
7073
+ height: "100%",
7074
+ borderRadius: Math.max(2, size.w * 0.03),
7075
+ background: "rgba(99, 102, 241, 0.2)",
7076
+ border: "2px solid rgba(99, 102, 241, 0.4)",
7077
+ display: "flex",
7078
+ alignItems: "center",
7079
+ justifyContent: "center",
7080
+ pointerEvents: "none",
7081
+ userSelect: "none"
7082
+ },
7083
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
7084
+ style: {
7085
+ fontSize: "".concat(f, "px"),
7086
+ fontWeight: 500,
7087
+ color: "rgba(163, 163, 163, 0.8)",
7088
+ textTransform: "uppercase"
7089
+ },
7090
+ children: overlay.name
7091
+ })
7092
+ });
7093
+ }
6349
7094
  function hexToRgb(hex) {
6350
7095
  if (!hex || !hex.startsWith("#")) return "0,0,0";
6351
7096
  var clean = hex.slice(1);
@@ -6410,6 +7155,10 @@ var OverlayRenderer = function OverlayRenderer(param) {
6410
7155
  var width = overlay.width * scaleX;
6411
7156
  var height = overlay.height * scaleY;
6412
7157
  var opacity = Math.max(0, Math.min(100, overlay.opacity)) / 100;
7158
+ var sz = {
7159
+ w: width,
7160
+ h: height
7161
+ };
6413
7162
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
6414
7163
  style: {
6415
7164
  position: "absolute",
@@ -6430,6 +7179,42 @@ var OverlayRenderer = function OverlayRenderer(param) {
6430
7179
  }),
6431
7180
  overlay.type === "scroller" && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ScrollerOverlay, {
6432
7181
  overlay: overlay
7182
+ }),
7183
+ overlay.type === "shape" && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ShapeOverlay, {
7184
+ overlay: overlay,
7185
+ size: sz
7186
+ }),
7187
+ overlay.type === "score_bug" && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ScoreBugOverlay, {
7188
+ overlay: overlay,
7189
+ size: sz
7190
+ }),
7191
+ overlay.type === "lower_third" && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(LowerThirdOverlay, {
7192
+ overlay: overlay,
7193
+ size: sz
7194
+ }),
7195
+ overlay.type === "qr_code" && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(QrCodeOverlay, {
7196
+ overlay: overlay,
7197
+ size: sz
7198
+ }),
7199
+ overlay.type === "coming_up_next" && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ComingUpNextOverlay, {
7200
+ overlay: overlay,
7201
+ size: sz
7202
+ }),
7203
+ overlay.type === "contextual_trigger" && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ContextualTriggerOverlay, {
7204
+ overlay: overlay,
7205
+ size: sz
7206
+ }),
7207
+ overlay.type === "odds_betting" && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(OddsBettingOverlay, {
7208
+ overlay: overlay,
7209
+ size: sz
7210
+ }),
7211
+ overlay.type === "breaking_news" && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(BreakingNewsOverlay, {
7212
+ overlay: overlay,
7213
+ size: sz
7214
+ }),
7215
+ overlay.type === "countdown" && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(CountdownOverlay, {
7216
+ overlay: overlay,
7217
+ size: sz
6433
7218
  })
6434
7219
  ]
6435
7220
  }, overlay.id);
@@ -6446,6 +7231,7 @@ var CRITICAL_PROPS = [
6446
7231
  "driftToleranceMs"
6447
7232
  ];
6448
7233
  var CONTROLS_HIDE_DELAY = 3e3;
7234
+ var DEFAULT_PLAYER_ASPECT_RATIO = 16 / 9;
6449
7235
  var StormcloudVideoPlayerComponent = import_react2.default.memo(function(props) {
6450
7236
  var src = props.src, autoplay = props.autoplay, muted = props.muted, lowLatencyMode = props.lowLatencyMode, allowNativeHls = props.allowNativeHls, driftToleranceMs = props.driftToleranceMs, immediateManifestAds = props.immediateManifestAds, debugAdTiming = props.debugAdTiming, showCustomControls = props.showCustomControls, hideLoadingIndicator = props.hideLoadingIndicator, onVolumeToggle = props.onVolumeToggle, onFullscreenToggle = props.onFullscreenToggle, onControlClick = props.onControlClick, onReady = props.onReady, wrapperClassName = props.wrapperClassName, wrapperStyle = props.wrapperStyle, className = props.className, style = props.style, controls = props.controls, playsInline = props.playsInline, preload = props.preload, poster = props.poster, children = props.children, licenseKey = props.licenseKey, minSegmentsBeforePlay = props.minSegmentsBeforePlay, disableAds = props.disableAds, disableFiller = props.disableFiller, swirlProjectId = props.swirlProjectId, restVideoAttrs = _object_without_properties(props, [
6451
7237
  "src",
@@ -6506,6 +7292,7 @@ var StormcloudVideoPlayerComponent = import_react2.default.memo(function(props)
6506
7292
  var _import_react2_default_useState17 = _sliced_to_array(import_react2.default.useState(null), 2), overlayCoordSpace = _import_react2_default_useState17[0], setOverlayCoordSpace = _import_react2_default_useState17[1];
6507
7293
  var _import_react2_default_useState18 = _sliced_to_array(import_react2.default.useState(typeof window !== "undefined" ? window.innerWidth : 1920), 2), viewportWidth = _import_react2_default_useState18[0], setViewportWidth = _import_react2_default_useState18[1];
6508
7294
  var _import_react2_default_useState19 = _sliced_to_array(import_react2.default.useState(typeof window !== "undefined" ? window.innerHeight > window.innerWidth : false), 2), isPortrait = _import_react2_default_useState19[0], setIsPortrait = _import_react2_default_useState19[1];
7295
+ var _import_react2_default_useState20 = _sliced_to_array(import_react2.default.useState(DEFAULT_PLAYER_ASPECT_RATIO), 2), playerAspectRatio = _import_react2_default_useState20[0], setPlayerAspectRatio = _import_react2_default_useState20[1];
6509
7296
  var getResponsiveScale = function getResponsiveScale() {
6510
7297
  if (viewportWidth < 480) return 0.7;
6511
7298
  if (viewportWidth < 768) return 0.8;
@@ -6680,17 +7467,28 @@ var StormcloudVideoPlayerComponent = import_react2.default.memo(function(props)
6680
7467
  if (!swirlProjectId) return;
6681
7468
  var player = playerRef.current;
6682
7469
  if (!player) return;
7470
+ var attempts = 0;
7471
+ var maxAttempts = 30;
6683
7472
  var tryResolve = function tryResolve() {
6684
7473
  var res = player.getMinHlsResolution();
6685
7474
  if (res) {
6686
7475
  setOverlayCoordSpace(res);
6687
7476
  return true;
6688
7477
  }
7478
+ var video = player.videoElement;
7479
+ if (video && video.videoWidth > 0 && video.videoHeight > 0) {
7480
+ setOverlayCoordSpace({
7481
+ width: video.videoWidth,
7482
+ height: video.videoHeight
7483
+ });
7484
+ return true;
7485
+ }
6689
7486
  return false;
6690
7487
  };
6691
7488
  if (tryResolve()) return;
6692
7489
  var interval = setInterval(function() {
6693
- if (tryResolve()) clearInterval(interval);
7490
+ attempts++;
7491
+ if (tryResolve() || attempts >= maxAttempts) clearInterval(interval);
6694
7492
  }, 300);
6695
7493
  return function() {
6696
7494
  return clearInterval(interval);
@@ -6790,6 +7588,13 @@ var StormcloudVideoPlayerComponent = import_react2.default.memo(function(props)
6790
7588
  }, []);
6791
7589
  (0, import_react2.useEffect)(function() {
6792
7590
  if (!videoRef.current) return;
7591
+ var handleLoadedMetadata = function handleLoadedMetadata() {
7592
+ var video2 = videoRef.current;
7593
+ if (!video2) return;
7594
+ if (video2.videoWidth > 0 && video2.videoHeight > 0) {
7595
+ setPlayerAspectRatio(video2.videoWidth / video2.videoHeight);
7596
+ }
7597
+ };
6793
7598
  var handleCanPlay = function handleCanPlay() {
6794
7599
  setIsLoading(false);
6795
7600
  if (bufferingTimeoutRef.current) {
@@ -6836,6 +7641,8 @@ var StormcloudVideoPlayerComponent = import_react2.default.memo(function(props)
6836
7641
  setShowCenterPlay(true);
6837
7642
  };
6838
7643
  var video = videoRef.current;
7644
+ handleLoadedMetadata();
7645
+ video.addEventListener("loadedmetadata", handleLoadedMetadata);
6839
7646
  video.addEventListener("canplay", handleCanPlay);
6840
7647
  video.addEventListener("canplaythrough", handleCanPlayThrough);
6841
7648
  video.addEventListener("waiting", handleWaiting);
@@ -6850,6 +7657,7 @@ var StormcloudVideoPlayerComponent = import_react2.default.memo(function(props)
6850
7657
  clearTimeout(bufferingTimeoutRef.current);
6851
7658
  bufferingTimeoutRef.current = null;
6852
7659
  }
7660
+ video.removeEventListener("loadedmetadata", handleLoadedMetadata);
6853
7661
  video.removeEventListener("canplay", handleCanPlay);
6854
7662
  video.removeEventListener("canplaythrough", handleCanPlayThrough);
6855
7663
  video.removeEventListener("waiting", handleWaiting);
@@ -6860,6 +7668,11 @@ var StormcloudVideoPlayerComponent = import_react2.default.memo(function(props)
6860
7668
  }, [
6861
7669
  debugAdTiming
6862
7670
  ]);
7671
+ (0, import_react2.useEffect)(function() {
7672
+ setPlayerAspectRatio(DEFAULT_PLAYER_ASPECT_RATIO);
7673
+ }, [
7674
+ src
7675
+ ]);
6863
7676
  (0, import_react2.useEffect)(function() {
6864
7677
  return function() {
6865
7678
  if (controlsTimerRef.current) {
@@ -6885,7 +7698,7 @@ var StormcloudVideoPlayerComponent = import_react2.default.memo(function(props)
6885
7698
  return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, {
6886
7699
  children: [
6887
7700
  /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("style", {
6888
- children: "\n @keyframes sc-spin {\n from { transform: rotate(0deg); }\n to { transform: rotate(360deg); }\n }\n @keyframes sc-pulse {\n 0%, 100% { opacity: 1; }\n 50% { opacity: 0.6; }\n }\n @keyframes sc-fade-in {\n from { opacity: 0; transform: translateY(8px); }\n to { opacity: 1; transform: translateY(0); }\n }\n .sc-wrapper:fullscreen,\n .sc-wrapper:has(*:fullscreen) {\n border-radius: 0 !important;\n box-shadow: none !important;\n width: 100vw !important;\n height: 100vh !important;\n max-width: 100vw !important;\n max-height: 100vh !important;\n position: fixed !important;\n top: 0 !important;\n left: 0 !important;\n z-index: 999999 !important;\n background: #000 !important;\n display: flex !important;\n align-items: center !important;\n justify-content: center !important;\n }\n .sc-ctrl-btn {\n background: none;\n border: none;\n color: #fff;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 50%;\n padding: 8px;\n transition: background 0.15s ease, opacity 0.15s ease;\n opacity: 0.9;\n }\n .sc-ctrl-btn:hover {\n opacity: 1;\n background: rgba(255, 255, 255, 0.1);\n }\n .sc-ctrl-btn:active {\n opacity: 0.7;\n }\n .sc-controls-bar {\n transition: opacity 0.35s ease, transform 0.35s ease;\n }\n .sc-progress-track:hover .sc-progress-thumb {\n transform: translate(-50%, -50%) scale(1) !important;\n }\n .sc-loading-hidden .sc-loading-indicator {\n display: none !important;\n }\n "
7701
+ children: "\n @keyframes sc-spin {\n from { transform: rotate(0deg); }\n to { transform: rotate(360deg); }\n }\n @keyframes sc-loading-glow {\n 0%, 100% { opacity: 0.85; transform: scale(1); }\n 50% { opacity: 1; transform: scale(1.05); }\n }\n @keyframes sc-pulse {\n 0%, 100% { opacity: 1; }\n 50% { opacity: 0.6; }\n }\n @keyframes sc-fade-in {\n from { opacity: 0; transform: translateY(8px); }\n to { opacity: 1; transform: translateY(0); }\n }\n .sc-wrapper:fullscreen,\n .sc-wrapper:has(*:fullscreen) {\n border-radius: 0 !important;\n box-shadow: none !important;\n width: 100vw !important;\n height: 100vh !important;\n max-width: 100vw !important;\n max-height: 100vh !important;\n position: fixed !important;\n top: 0 !important;\n left: 0 !important;\n z-index: 999999 !important;\n background: #000 !important;\n display: flex !important;\n align-items: center !important;\n justify-content: center !important;\n }\n .sc-ctrl-btn {\n background: none;\n border: none;\n color: #fff;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 50%;\n padding: 8px;\n transition: background 0.15s ease, opacity 0.15s ease;\n opacity: 0.9;\n }\n .sc-ctrl-btn:hover {\n opacity: 1;\n background: rgba(255, 255, 255, 0.1);\n }\n .sc-ctrl-btn:active {\n opacity: 0.7;\n }\n .sc-controls-bar {\n transition: opacity 0.35s ease, transform 0.35s ease;\n }\n .sc-progress-track:hover .sc-progress-thumb {\n transform: translate(-50%, -50%) scale(1) !important;\n }\n .sc-loading-hidden .sc-loading-indicator {\n display: none !important;\n }\n "
6889
7702
  }),
6890
7703
  /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("div", {
6891
7704
  ref: wrapperRef,
@@ -6903,6 +7716,7 @@ var StormcloudVideoPlayerComponent = import_react2.default.memo(function(props)
6903
7716
  width: isFullscreen ? "100vw" : "100%",
6904
7717
  height: isFullscreen ? "100vh" : "auto",
6905
7718
  minHeight: isFullscreen ? "100vh" : "auto",
7719
+ aspectRatio: isFullscreen ? void 0 : playerAspectRatio,
6906
7720
  maxWidth: isFullscreen ? "100vw" : "100%",
6907
7721
  maxHeight: isFullscreen ? "100vh" : "none",
6908
7722
  zIndex: isFullscreen ? 999999 : void 0,
@@ -6919,7 +7733,7 @@ var StormcloudVideoPlayerComponent = import_react2.default.memo(function(props)
6919
7733
  zIndex: 1,
6920
7734
  display: "block",
6921
7735
  width: "100%",
6922
- height: isFullscreen ? "100%" : "auto",
7736
+ height: "100%",
6923
7737
  maxWidth: "100%",
6924
7738
  maxHeight: isFullscreen ? "100%" : "none",
6925
7739
  objectFit: isFullscreen ? "cover" : "contain",
@@ -6939,18 +7753,44 @@ var StormcloudVideoPlayerComponent = import_react2.default.memo(function(props)
6939
7753
  videoRef: videoRef,
6940
7754
  coordinateSpace: overlayCoordSpace
6941
7755
  }),
6942
- (isLoading || isBuffering) && !hideLoadingIndicator && /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_fa.FaSpinner, {
7756
+ (isLoading || isBuffering) && !hideLoadingIndicator && /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("div", {
6943
7757
  className: "sc-loading-indicator",
6944
- size: 40,
6945
- color: "rgba(255, 255, 255, 0.85)",
6946
7758
  style: {
6947
7759
  position: "absolute",
6948
- top: "calc(50% - 20px)",
6949
- left: "calc(50% - 20px)",
7760
+ top: "50%",
7761
+ left: "50%",
7762
+ transform: "translate(-50%, -50%)",
6950
7763
  zIndex: 20,
6951
- animation: "sc-spin 0.9s linear infinite",
6952
- filter: "drop-shadow(0 2px 8px rgba(0, 0, 0, 0.6))"
6953
- }
7764
+ width: "".concat(Math.max(34, 38 * responsiveScale), "px"),
7765
+ height: "".concat(Math.max(34, 38 * responsiveScale), "px"),
7766
+ display: "flex",
7767
+ alignItems: "center",
7768
+ justifyContent: "center",
7769
+ animation: "sc-loading-glow 1.4s ease-in-out infinite",
7770
+ filter: "drop-shadow(0 6px 14px rgba(0, 0, 0, 0.55))"
7771
+ },
7772
+ children: [
7773
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", {
7774
+ style: {
7775
+ position: "absolute",
7776
+ inset: 0,
7777
+ borderRadius: "50%",
7778
+ border: "3px solid rgba(255, 255, 255, 0.25)",
7779
+ borderTopColor: "#ff0000",
7780
+ borderRightColor: "rgba(255, 255, 255, 0.85)",
7781
+ animation: "sc-spin 0.8s linear infinite"
7782
+ }
7783
+ }),
7784
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", {
7785
+ style: {
7786
+ width: "7px",
7787
+ height: "7px",
7788
+ borderRadius: "50%",
7789
+ background: "#ff0000",
7790
+ boxShadow: "0 0 10px rgba(255, 0, 0, 0.65)"
7791
+ }
7792
+ })
7793
+ ]
6954
7794
  }),
6955
7795
  showLicenseWarning && /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("div", {
6956
7796
  style: {
@@ -7186,7 +8026,8 @@ var StormcloudVideoPlayerComponent = import_react2.default.memo(function(props)
7186
8026
  /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("div", {
7187
8027
  style: {
7188
8028
  display: "flex",
7189
- alignItems: "center"
8029
+ alignItems: "center",
8030
+ paddingRight: "".concat(6 * responsiveScale, "px")
7190
8031
  },
7191
8032
  onMouseEnter: function onMouseEnter() {
7192
8033
  return setShowVolumeSlider(true);
@@ -7217,13 +8058,13 @@ var StormcloudVideoPlayerComponent = import_react2.default.memo(function(props)
7217
8058
  }),
7218
8059
  /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", {
7219
8060
  style: {
7220
- width: showVolumeSlider ? "".concat(62 * responsiveScale, "px") : "0px",
8061
+ width: showVolumeSlider ? "".concat(68 * responsiveScale, "px") : "0px",
7221
8062
  overflow: "hidden",
7222
8063
  transition: "width 0.2s cubic-bezier(0.4, 0, 0.2, 1)",
7223
8064
  display: "flex",
7224
8065
  alignItems: "center",
7225
- paddingLeft: showVolumeSlider ? "2px" : "0",
7226
- paddingRight: showVolumeSlider ? "4px" : "0"
8066
+ paddingLeft: showVolumeSlider ? "".concat(3 * responsiveScale, "px") : "0",
8067
+ paddingRight: showVolumeSlider ? "".concat(8 * responsiveScale, "px") : "0"
7227
8068
  },
7228
8069
  children: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("div", {
7229
8070
  style: {
@@ -7470,7 +8311,8 @@ var StormcloudVideoPlayerComponent = import_react2.default.memo(function(props)
7470
8311
  alignItems: "center",
7471
8312
  background: "rgba(0, 0, 0, 0.6)",
7472
8313
  borderRadius: "".concat(18 * responsiveScale, "px"),
7473
- padding: "2px"
8314
+ padding: "2px",
8315
+ paddingRight: "".concat(8 * responsiveScale, "px")
7474
8316
  },
7475
8317
  onMouseEnter: function onMouseEnter() {
7476
8318
  return setShowVolumeSlider(true);
@@ -7499,13 +8341,13 @@ var StormcloudVideoPlayerComponent = import_react2.default.memo(function(props)
7499
8341
  }),
7500
8342
  /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", {
7501
8343
  style: {
7502
- width: showVolumeSlider ? "".concat(62 * responsiveScale, "px") : "0px",
8344
+ width: showVolumeSlider ? "".concat(68 * responsiveScale, "px") : "0px",
7503
8345
  overflow: "hidden",
7504
8346
  transition: "width 0.2s cubic-bezier(0.4, 0, 0.2, 1)",
7505
8347
  display: "flex",
7506
8348
  alignItems: "center",
7507
- paddingLeft: showVolumeSlider ? "2px" : "0",
7508
- paddingRight: showVolumeSlider ? "6px" : "0"
8349
+ paddingLeft: showVolumeSlider ? "".concat(3 * responsiveScale, "px") : "0",
8350
+ paddingRight: showVolumeSlider ? "".concat(10 * responsiveScale, "px") : "0"
7509
8351
  },
7510
8352
  children: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("div", {
7511
8353
  style: {