@ericchen1990/pano-view 2.1.0 → 2.2.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/dist/index.mjs CHANGED
@@ -718,7 +718,7 @@ function useHotspotAccessibilityLayer() {
718
718
  "button",
719
719
  {
720
720
  "aria-label": entry.label,
721
- className: "sr-only",
721
+ className: "pano-sr-only",
722
722
  onBlur: () => entry.onFocusChange(false),
723
723
  onClick: (event) => entry.activate(event.nativeEvent),
724
724
  onFocus: () => entry.onFocusChange(true),
@@ -1437,9 +1437,6 @@ function DefaultContextMenuPanel({
1437
1437
  fontSize: resolved.fontSize,
1438
1438
  minWidth: resolved.minWidth,
1439
1439
  padding: resolved.padding,
1440
- pointerEvents: "auto",
1441
- position: "relative",
1442
- userSelect: "none",
1443
1440
  ...style
1444
1441
  };
1445
1442
  return /* @__PURE__ */ jsxs(
@@ -1447,7 +1444,7 @@ function DefaultContextMenuPanel({
1447
1444
  {
1448
1445
  ref: menuRef,
1449
1446
  "aria-label": "Panorama context menu",
1450
- className: cn("relative select-none", className),
1447
+ className: cn("pano-context-menu", className),
1451
1448
  onKeyDown: handleKeyDown,
1452
1449
  role: "menu",
1453
1450
  style: panelStyle,
@@ -1457,7 +1454,7 @@ function DefaultContextMenuPanel({
1457
1454
  "div",
1458
1455
  {
1459
1456
  "aria-hidden": true,
1460
- className: "pointer-events-none absolute inset-0 z-0",
1457
+ className: "pano-context-menu-backdrop",
1461
1458
  style: {
1462
1459
  background: resolved.background,
1463
1460
  borderRadius: resolved.borderRadius,
@@ -1465,7 +1462,7 @@ function DefaultContextMenuPanel({
1465
1462
  }
1466
1463
  }
1467
1464
  ),
1468
- /* @__PURE__ */ jsx2("div", { className: "relative z-[1]", children: visibleItems.map((item, index) => {
1465
+ /* @__PURE__ */ jsx2("div", { className: "pano-context-menu-items", children: visibleItems.map((item, index) => {
1469
1466
  if (!isActionItem(item)) {
1470
1467
  return /* @__PURE__ */ jsx2(
1471
1468
  "div",
@@ -1503,7 +1500,7 @@ function DefaultContextMenuPanel({
1503
1500
  {
1504
1501
  "aria-disabled": disabled || void 0,
1505
1502
  className: cn(
1506
- "flex w-full items-center gap-2 rounded text-left",
1503
+ "pano-context-menu-item",
1507
1504
  itemClassName,
1508
1505
  item.className
1509
1506
  ),
@@ -1538,7 +1535,7 @@ function DefaultContextMenuPanel({
1538
1535
  "span",
1539
1536
  {
1540
1537
  "aria-hidden": true,
1541
- className: "inline-flex shrink-0 items-center justify-center",
1538
+ className: "pano-context-menu-item-icon",
1542
1539
  style: {
1543
1540
  height: iconSize,
1544
1541
  width: iconSize
@@ -1589,7 +1586,7 @@ function PositionedMenuShell({
1589
1586
  return /* @__PURE__ */ jsx2(
1590
1587
  "div",
1591
1588
  {
1592
- className: "absolute z-20",
1589
+ className: "pano-context-menu-shell",
1593
1590
  ref: shellRef,
1594
1591
  style: {
1595
1592
  left: offset.left,
@@ -2713,7 +2710,7 @@ function usePanoChromeOverlay() {
2713
2710
  const overlay = /* @__PURE__ */ jsx5(
2714
2711
  "div",
2715
2712
  {
2716
- className: "pointer-events-none absolute inset-0 z-[15]",
2713
+ className: "pano-chrome-overlay",
2717
2714
  "data-pano-chrome-overlay": "",
2718
2715
  ref: setOverlayNode
2719
2716
  }
@@ -2805,14 +2802,7 @@ function PanoVideoCaptionsOverlay({
2805
2802
  return null;
2806
2803
  }
2807
2804
  const wrapperStyle = {
2808
- bottom: snapshot.captionAppearance.bottom,
2809
- display: "flex",
2810
- justifyContent: "center",
2811
- left: 0,
2812
- pointerEvents: "none",
2813
- position: "absolute",
2814
- right: 0,
2815
- zIndex: 1
2805
+ bottom: snapshot.captionAppearance.bottom
2816
2806
  };
2817
2807
  const textStyle = {
2818
2808
  background: snapshot.captionAppearance.background,
@@ -2831,7 +2821,7 @@ function PanoVideoCaptionsOverlay({
2831
2821
  return /* @__PURE__ */ jsx6(
2832
2822
  "div",
2833
2823
  {
2834
- className: "pointer-events-none absolute inset-x-0 z-1 flex justify-center",
2824
+ className: "pano-video-captions",
2835
2825
  "data-pano-video-captions": "",
2836
2826
  style: wrapperStyle,
2837
2827
  children: /* @__PURE__ */ jsx6("div", { style: textStyle, children: snapshot.captionText })
@@ -3075,7 +3065,7 @@ function ChromeButton({
3075
3065
  "button",
3076
3066
  {
3077
3067
  "aria-label": label,
3078
- className: "inline-flex min-h-7 min-w-7 items-center justify-center rounded",
3068
+ className: "pano-video-chrome-button",
3079
3069
  disabled,
3080
3070
  id,
3081
3071
  onClick,
@@ -3083,18 +3073,7 @@ function ChromeButton({
3083
3073
  event.stopPropagation();
3084
3074
  },
3085
3075
  style: {
3086
- alignItems: "center",
3087
- background: "transparent",
3088
- border: "none",
3089
- borderRadius: 4,
3090
- color: appearance.color,
3091
- cursor: disabled ? "default" : "pointer",
3092
- display: "inline-flex",
3093
- height: 28,
3094
- justifyContent: "center",
3095
- minWidth: 28,
3096
- opacity: disabled ? 0.45 : 1,
3097
- padding: 4
3076
+ color: appearance.color
3098
3077
  },
3099
3078
  title: label,
3100
3079
  type: "button",
@@ -3139,7 +3118,7 @@ function ChromeMenuSurface({
3139
3118
  "div",
3140
3119
  {
3141
3120
  "aria-labelledby": labelledBy,
3142
- className: "absolute right-0 flex min-w-28 flex-col p-1",
3121
+ className: "pano-video-chrome-menu",
3143
3122
  id,
3144
3123
  role,
3145
3124
  style: {
@@ -3163,7 +3142,7 @@ function ChromeMenuRadioItem({
3163
3142
  "button",
3164
3143
  {
3165
3144
  "aria-checked": active,
3166
- className: "rounded px-2.5 py-1.5 text-left whitespace-nowrap",
3145
+ className: "pano-video-chrome-menu-item",
3167
3146
  onClick,
3168
3147
  role: "menuitemradio",
3169
3148
  style: {
@@ -3187,7 +3166,7 @@ function ChromeMenuActionItem({
3187
3166
  return /* @__PURE__ */ jsxs3(
3188
3167
  "button",
3189
3168
  {
3190
- className: "flex items-center justify-between gap-3 rounded px-2.5 py-1.5 text-left whitespace-nowrap",
3169
+ className: "pano-video-chrome-menu-action",
3191
3170
  onClick,
3192
3171
  role: "menuitem",
3193
3172
  style: {
@@ -3208,17 +3187,10 @@ function ChromeMenuActionItem({
3208
3187
  function ChromeMenuSectionLabel({
3209
3188
  children
3210
3189
  }) {
3211
- return /* @__PURE__ */ jsx7(
3212
- "div",
3213
- {
3214
- className: "px-2.5 pt-2 pb-1 uppercase opacity-70",
3215
- style: { fontSize: 10, letterSpacing: "0.08em" },
3216
- children
3217
- }
3218
- );
3190
+ return /* @__PURE__ */ jsx7("div", { className: "pano-video-chrome-menu-label", children });
3219
3191
  }
3220
3192
  function ChromeMenuDivider() {
3221
- return /* @__PURE__ */ jsx7("div", { className: "my-1 h-px bg-white/10" });
3193
+ return /* @__PURE__ */ jsx7("div", { className: "pano-video-chrome-menu-divider" });
3222
3194
  }
3223
3195
  function CaptionsMenu({
3224
3196
  appearance,
@@ -3239,7 +3211,7 @@ function CaptionsMenu({
3239
3211
  labelledBy,
3240
3212
  role: "menu",
3241
3213
  children: panel === "tracks" ? /* @__PURE__ */ jsxs3(Fragment, { children: [
3242
- /* @__PURE__ */ jsxs3("div", { className: "flex max-h-48 flex-col overflow-y-auto", children: [
3214
+ /* @__PURE__ */ jsxs3("div", { className: "pano-video-chrome-menu-list", children: [
3243
3215
  /* @__PURE__ */ jsx7(
3244
3216
  ChromeMenuRadioItem,
3245
3217
  {
@@ -3347,7 +3319,7 @@ function VerticalVolumeSlider({
3347
3319
  return /* @__PURE__ */ jsxs3(
3348
3320
  "div",
3349
3321
  {
3350
- className: "absolute left-1/2 flex min-w-11 -translate-x-1/2 flex-col items-center rounded-[14px]",
3322
+ className: "pano-video-volume-popover",
3351
3323
  style: {
3352
3324
  background: "rgba(12, 12, 12, 0.92)",
3353
3325
  bottom: `calc(100% + ${CHROME_POPOVER_GAP}px)`,
@@ -3362,7 +3334,7 @@ function VerticalVolumeSlider({
3362
3334
  "span",
3363
3335
  {
3364
3336
  "aria-hidden": true,
3365
- className: "mb-3.5 font-bold leading-none [font-variant-numeric:tabular-nums]",
3337
+ className: "pano-video-volume-percent",
3366
3338
  style: {
3367
3339
  color: appearance.color,
3368
3340
  fontSize: VOLUME_POP_FONT_SIZE
@@ -3401,7 +3373,7 @@ function VerticalVolumeSlider({
3401
3373
  },
3402
3374
  ref: trackRef,
3403
3375
  role: "slider",
3404
- className: "relative cursor-pointer rounded-[999px]",
3376
+ className: "pano-video-volume-track",
3405
3377
  style: {
3406
3378
  background: "rgba(255, 255, 255, 0.14)",
3407
3379
  borderRadius: 999,
@@ -3498,7 +3470,7 @@ function VolumeControl({
3498
3470
  "div",
3499
3471
  {
3500
3472
  "data-pano-video-volume": "",
3501
- className: "relative",
3473
+ className: "pano-video-volume",
3502
3474
  onBlur: (event) => {
3503
3475
  if (event.currentTarget.contains(event.relatedTarget)) {
3504
3476
  return;
@@ -3829,7 +3801,7 @@ function PanoVideoControlsHud({
3829
3801
  transition: "opacity 160ms ease",
3830
3802
  zIndex: 2
3831
3803
  };
3832
- const rateButton = /* @__PURE__ */ jsxs3("div", { className: "relative", "data-pano-video-menu": "rate", children: [
3804
+ const rateButton = /* @__PURE__ */ jsxs3("div", { className: "pano-video-menu", "data-pano-video-menu": "rate", children: [
3833
3805
  !compact && menu === "rate" ? menuNode : null,
3834
3806
  /* @__PURE__ */ jsx7(
3835
3807
  ChromeButton,
@@ -3839,11 +3811,11 @@ function PanoVideoControlsHud({
3839
3811
  onClick: () => {
3840
3812
  toggleMenu("rate");
3841
3813
  },
3842
- children: /* @__PURE__ */ jsx7("span", { className: "px-0.5 text-[11px]", id: `${barId}-rate-btn`, children: snapshot.playbackRate === 1 ? "1x" : `${snapshot.playbackRate}x` })
3814
+ children: /* @__PURE__ */ jsx7("span", { className: "pano-video-chrome-label", id: `${barId}-rate-btn`, children: snapshot.playbackRate === 1 ? "1x" : `${snapshot.playbackRate}x` })
3843
3815
  }
3844
3816
  )
3845
3817
  ] });
3846
- const variantButton = canSwitchVariant ? /* @__PURE__ */ jsxs3("div", { className: "relative", "data-pano-video-menu": "variant", children: [
3818
+ const variantButton = canSwitchVariant ? /* @__PURE__ */ jsxs3("div", { className: "pano-video-menu", "data-pano-video-menu": "variant", children: [
3847
3819
  !compact && menu === "variant" ? menuNode : null,
3848
3820
  /* @__PURE__ */ jsx7(
3849
3821
  ChromeButton,
@@ -3853,11 +3825,11 @@ function PanoVideoControlsHud({
3853
3825
  onClick: () => {
3854
3826
  toggleMenu("variant");
3855
3827
  },
3856
- children: /* @__PURE__ */ jsx7("span", { className: "px-0.5 text-[11px]", id: `${barId}-variant-btn`, children: snapshot.variants.find((variant) => variant.id === snapshot.variantId)?.label ?? "Quality" })
3828
+ children: /* @__PURE__ */ jsx7("span", { className: "pano-video-chrome-label", id: `${barId}-variant-btn`, children: snapshot.variants.find((variant) => variant.id === snapshot.variantId)?.label ?? "Quality" })
3857
3829
  }
3858
3830
  )
3859
3831
  ] }) : null;
3860
- const captionsButton = showCaptionsMenu ? /* @__PURE__ */ jsxs3("div", { className: "relative", "data-pano-video-menu": "captions", children: [
3832
+ const captionsButton = showCaptionsMenu ? /* @__PURE__ */ jsxs3("div", { className: "pano-video-menu", "data-pano-video-menu": "captions", children: [
3861
3833
  !compact && menu === "captions" ? menuNode : null,
3862
3834
  /* @__PURE__ */ jsx7(
3863
3835
  ChromeButton,
@@ -3874,7 +3846,7 @@ function PanoVideoControlsHud({
3874
3846
  return /* @__PURE__ */ jsxs3(
3875
3847
  "div",
3876
3848
  {
3877
- className: "absolute right-2.5 bottom-2.5 left-2.5 z-2 flex items-center gap-2 transition-opacity",
3849
+ className: "pano-video-controls",
3878
3850
  "data-pano-video-controls": "",
3879
3851
  style: barStyle,
3880
3852
  children: [
@@ -3889,7 +3861,7 @@ function PanoVideoControlsHud({
3889
3861
  children: snapshot.playing ? /* @__PURE__ */ jsx7(Icon, { path: "M5 3.5h2.2v9H5zM8.8 3.5H11v9H8.8z" }) : /* @__PURE__ */ jsx7(Icon, { path: "M5 3.2v9.6L13 8z" })
3890
3862
  }
3891
3863
  ),
3892
- hideTime ? null : /* @__PURE__ */ jsx7("span", { className: "min-w-8.5 opacity-[0.85] [font-variant-numeric:tabular-nums]", children: formatMediaTime(snapshot.currentTime) }),
3864
+ hideTime ? null : /* @__PURE__ */ jsx7("span", { className: "pano-video-time", children: formatMediaTime(snapshot.currentTime) }),
3893
3865
  /* @__PURE__ */ jsx7(
3894
3866
  "input",
3895
3867
  {
@@ -3912,7 +3884,7 @@ function PanoVideoControlsHud({
3912
3884
  value: duration > 0 ? snapshot.currentTime : 0
3913
3885
  }
3914
3886
  ),
3915
- hideTime ? null : /* @__PURE__ */ jsx7("span", { className: "min-w-8.5 opacity-[0.85]", children: formatMediaTime(duration) }),
3887
+ hideTime ? null : /* @__PURE__ */ jsx7("span", { className: "pano-video-time", children: formatMediaTime(duration) }),
3916
3888
  /* @__PURE__ */ jsx7(
3917
3889
  VolumeControl,
3918
3890
  {
@@ -3929,7 +3901,7 @@ function PanoVideoControlsHud({
3929
3901
  volumeAdjustable: snapshot.volumeAdjustable
3930
3902
  }
3931
3903
  ),
3932
- compact ? /* @__PURE__ */ jsxs3("div", { className: "relative", "data-pano-video-menu": "more", children: [
3904
+ compact ? /* @__PURE__ */ jsxs3("div", { className: "pano-video-menu", "data-pano-video-menu": "more", children: [
3933
3905
  menu !== null ? menuNode : null,
3934
3906
  /* @__PURE__ */ jsx7(
3935
3907
  ChromeButton,
@@ -4166,7 +4138,7 @@ function ChromeButton2({
4166
4138
  return /* @__PURE__ */ jsx9(
4167
4139
  "button",
4168
4140
  {
4169
- className: "pointer-events-auto border border-white/20 px-3 py-2 font-semibold shadow-lg backdrop-blur-sm",
4141
+ className: "pano-webvr-button",
4170
4142
  onClick,
4171
4143
  style: {
4172
4144
  background: appearance.background,
@@ -4204,19 +4176,19 @@ function SetupPanel({
4204
4176
  "div",
4205
4177
  {
4206
4178
  "aria-label": "Mobile VR setup",
4207
- className: "pointer-events-auto absolute top-1/2 left-1/2 w-[min(22rem,calc(100%-2rem))] -translate-x-1/2 -translate-y-1/2 border border-white/20 p-5 text-center shadow-2xl backdrop-blur-md",
4179
+ className: "pano-webvr-setup",
4208
4180
  role: "dialog",
4209
4181
  style: panelStyle,
4210
4182
  children: [
4211
- /* @__PURE__ */ jsx9("h2", { className: "m-0 mb-5 text-2xl font-extrabold", children: appearance.setupTitle ?? "MobileVR Setup" }),
4212
- /* @__PURE__ */ jsxs5("label", { className: "mb-5 block font-semibold", children: [
4183
+ /* @__PURE__ */ jsx9("h2", { className: "pano-webvr-setup-title", children: appearance.setupTitle ?? "MobileVR Setup" }),
4184
+ /* @__PURE__ */ jsxs5("label", { className: "pano-webvr-setup-field", children: [
4213
4185
  "Screen size (inch)",
4214
- /* @__PURE__ */ jsxs5("div", { className: "mt-2 flex items-center justify-center gap-3", children: [
4186
+ /* @__PURE__ */ jsxs5("div", { className: "pano-webvr-setup-row", children: [
4215
4187
  /* @__PURE__ */ jsx9(
4216
4188
  "button",
4217
4189
  {
4218
4190
  "aria-label": "Decrease screen size",
4219
- className: "text-2xl",
4191
+ className: "pano-webvr-setup-stepper",
4220
4192
  onClick: () => setScreensize(
4221
4193
  settings.screensize === "auto" ? 5 : Math.max(3, settings.screensize - 0.1)
4222
4194
  ),
@@ -4224,12 +4196,12 @@ function SetupPanel({
4224
4196
  children: "\u2039"
4225
4197
  }
4226
4198
  ),
4227
- /* @__PURE__ */ jsx9("strong", { className: "min-w-16 text-xl", children: settings.screensize === "auto" ? "Auto" : settings.screensize.toFixed(1) }),
4199
+ /* @__PURE__ */ jsx9("strong", { className: "pano-webvr-setup-value", children: settings.screensize === "auto" ? "Auto" : settings.screensize.toFixed(1) }),
4228
4200
  /* @__PURE__ */ jsx9(
4229
4201
  "button",
4230
4202
  {
4231
4203
  "aria-label": "Increase screen size",
4232
- className: "text-2xl",
4204
+ className: "pano-webvr-setup-stepper",
4233
4205
  onClick: () => setScreensize(
4234
4206
  settings.screensize === "auto" ? 5 : Math.min(20, settings.screensize + 0.1)
4235
4207
  ),
@@ -4239,25 +4211,25 @@ function SetupPanel({
4239
4211
  )
4240
4212
  ] })
4241
4213
  ] }),
4242
- /* @__PURE__ */ jsxs5("fieldset", { className: "m-0 mb-5 border-0 p-0", children: [
4243
- /* @__PURE__ */ jsx9("legend", { className: "mb-2 font-semibold", children: "VR headset preset" }),
4244
- /* @__PURE__ */ jsxs5("div", { className: "mt-2 flex items-center justify-center gap-3", children: [
4214
+ /* @__PURE__ */ jsxs5("fieldset", { className: "pano-webvr-setup-fieldset", children: [
4215
+ /* @__PURE__ */ jsx9("legend", { className: "pano-webvr-setup-legend", children: "VR headset preset" }),
4216
+ /* @__PURE__ */ jsxs5("div", { className: "pano-webvr-setup-row", children: [
4245
4217
  /* @__PURE__ */ jsx9(
4246
4218
  "button",
4247
4219
  {
4248
4220
  "aria-label": "Previous headset preset",
4249
- className: "text-2xl",
4221
+ className: "pano-webvr-setup-stepper",
4250
4222
  onClick: () => cycleProfile(-1),
4251
4223
  type: "button",
4252
4224
  children: "\u2039"
4253
4225
  }
4254
4226
  ),
4255
- /* @__PURE__ */ jsx9("strong", { className: "min-w-32 text-xl", children: WEBVR_PROFILES[settings.profileId].label }),
4227
+ /* @__PURE__ */ jsx9("strong", { className: "pano-webvr-setup-value-wide", children: WEBVR_PROFILES[settings.profileId].label }),
4256
4228
  /* @__PURE__ */ jsx9(
4257
4229
  "button",
4258
4230
  {
4259
4231
  "aria-label": "Next headset preset",
4260
- className: "text-2xl",
4232
+ className: "pano-webvr-setup-stepper",
4261
4233
  onClick: () => cycleProfile(1),
4262
4234
  type: "button",
4263
4235
  children: "\u203A"
@@ -4289,7 +4261,7 @@ function WebVRChromeBridge({ host }) {
4289
4261
  }
4290
4262
  const appearance = resolveAppearance(chrome);
4291
4263
  return /* @__PURE__ */ jsxs5(Fragment3, { children: [
4292
- /* @__PURE__ */ jsx9("div", { className: "pointer-events-none absolute inset-x-0 top-4 flex justify-center", children: mode ? /* @__PURE__ */ jsxs5("div", { className: "flex gap-2", children: [
4264
+ /* @__PURE__ */ jsx9("div", { className: "pano-webvr-toolbar", children: mode ? /* @__PURE__ */ jsxs5("div", { className: "pano-webvr-toolbar-actions", children: [
4293
4265
  mode !== "webxr" ? /* @__PURE__ */ jsx9(
4294
4266
  ChromeButton2,
4295
4267
  {
@@ -4317,7 +4289,7 @@ function WebVRChromeBridge({ host }) {
4317
4289
  mode === "fake" ? /* @__PURE__ */ jsx9(
4318
4290
  "p",
4319
4291
  {
4320
- className: "pointer-events-none absolute inset-x-0 bottom-5 m-0 text-center text-xs font-semibold text-white drop-shadow",
4292
+ className: "pano-webvr-hint",
4321
4293
  style: { color: appearance.color },
4322
4294
  children: "Simulated VR Mode \xB7 Click the view to lock the mouse, then move to look around. Use a headset or phone for real VR."
4323
4295
  }
@@ -4663,7 +4635,7 @@ var PanoViewer = forwardRef2(
4663
4635
  "div",
4664
4636
  {
4665
4637
  ...divProps,
4666
- className: cn("relative overflow-hidden", divProps.className),
4638
+ className: cn("pano-viewer", divProps.className),
4667
4639
  "data-pano-viewer": "",
4668
4640
  ref: rootRef,
4669
4641
  "aria-label": ariaLabel,
@@ -4762,12 +4734,9 @@ var PanoViewer = forwardRef2(
4762
4734
  /* @__PURE__ */ jsxs6(
4763
4735
  "div",
4764
4736
  {
4765
- className: "pointer-events-none absolute inset-0 z-15",
4737
+ className: "pano-chrome-overlay",
4766
4738
  "data-pano-chrome-overlay": "",
4767
4739
  ref: setOverlayNode,
4768
- style: {
4769
- inset: 0
4770
- },
4771
4740
  children: [
4772
4741
  /* @__PURE__ */ jsx11(
4773
4742
  PanoVideoChromeBridge,
@@ -9670,7 +9639,7 @@ function HotspotTooltip({
9670
9639
  return /* @__PURE__ */ jsx24(PanoHtml, { pointerEvents: "none", style: WRAPPER_STYLE, zIndexRange: [20, 10], children: /* @__PURE__ */ jsxs15(
9671
9640
  "div",
9672
9641
  {
9673
- className: "pointer-events-none flex gap-2 whitespace-nowrap",
9642
+ className: "pano-hotspot-tooltip",
9674
9643
  role: "tooltip",
9675
9644
  style: bubbleStyle,
9676
9645
  children: [
@@ -9678,12 +9647,12 @@ function HotspotTooltip({
9678
9647
  "img",
9679
9648
  {
9680
9649
  alt: content.imageAlt ?? content.text ?? "",
9681
- className: "block h-auto max-h-[120px] max-w-[220px] rounded object-contain",
9650
+ className: "pano-hotspot-tooltip-image",
9682
9651
  onError: () => setImageFailed(true),
9683
9652
  src: content.image
9684
9653
  }
9685
9654
  ) : null,
9686
- content.text ? /* @__PURE__ */ jsx24("p", { className: "m-0 overflow-visible whitespace-nowrap leading-[1.4]", children: content.text }) : null
9655
+ content.text ? /* @__PURE__ */ jsx24("p", { className: "pano-hotspot-tooltip-text", children: content.text }) : null
9687
9656
  ]
9688
9657
  }
9689
9658
  ) });
@@ -12276,7 +12245,7 @@ function IframeHotspot({
12276
12245
  "iframe",
12277
12246
  {
12278
12247
  allow,
12279
- className: "block h-full w-full border-0",
12248
+ className: "pano-iframe-hotspot",
12280
12249
  loading,
12281
12250
  onError: (event) => onError?.(event.nativeEvent),
12282
12251
  onLoad,