box-content-preview 3.87.0 → 3.89.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 CHANGED
@@ -2,7 +2,7 @@
2
2
  [![Mergify Status](https://img.shields.io/endpoint.svg?url=https://gh.mergify.io/badges/box/box-content-preview&style=flat)](https://mergify.io)
3
3
  [![Styled With Prettier](https://img.shields.io/badge/styled_with-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier)
4
4
  [![build status](https://img.shields.io/travis/box/box-content-preview/master.svg?style=flat-square)](https://travis-ci.org/box/box-content-preview)
5
- [![version](https://img.shields.io/badge/version-v3.87.0-blue.svg?style=flat-square)](https://github.com/box/box-content-preview)
5
+ [![version](https://img.shields.io/badge/version-v3.89.0-blue.svg?style=flat-square)](https://github.com/box/box-content-preview)
6
6
  [![npm version](https://img.shields.io/npm/v/box-ui-elements.svg?style=flat-square)](https://www.npmjs.com/package/box-ui-elements)
7
7
 
8
8
  # [Box Content Preview](https://developer.box.com/docs/box-content-preview)
@@ -22,11 +22,11 @@ We encourage all users to update their applications to utilize modern browsers f
22
22
 
23
23
  ## Current Version
24
24
 
25
- - Version: v3.87.0
25
+ - Version: v3.89.0
26
26
  - Locale: en-US
27
27
 
28
- https://cdn01.boxcdn.net/platform/preview/3.87.0/en-US/preview.js
29
- https://cdn01.boxcdn.net/platform/preview/3.87.0/en-US/preview.css
28
+ https://cdn01.boxcdn.net/platform/preview/3.89.0/en-US/preview.js
29
+ https://cdn01.boxcdn.net/platform/preview/3.89.0/en-US/preview.css
30
30
 
31
31
  ## Supported Locales
32
32
 
@@ -52,10 +52,10 @@ You can self-host the Box Content Preview library or reference the versions avai
52
52
  <title>Box Content Preview Demo</title>
53
53
 
54
54
  <!-- Latest version of Preview SDK for your locale -->
55
- <script src="https://cdn01.boxcdn.net/platform/preview/3.87.0/en-US/preview.js"></script>
55
+ <script src="https://cdn01.boxcdn.net/platform/preview/3.89.0/en-US/preview.js"></script>
56
56
  <link
57
57
  rel="stylesheet"
58
- href="https://cdn01.boxcdn.net/platform/preview/3.87.0/en-US/preview.css"
58
+ href="https://cdn01.boxcdn.net/platform/preview/3.89.0/en-US/preview.css"
59
59
  />
60
60
  </head>
61
61
  <body>
@@ -76,7 +76,7 @@ To self-host the Box Content Preview library, follow these steps:
76
76
 
77
77
  1. Either fork the repo and check out the version you want to host or download the specific version as a zip:
78
78
 
79
- - Check out a specific version with `git checkout v3.87.0`
79
+ - Check out a specific version with `git checkout v3.89.0`
80
80
  - Download a specific version as a zip from https://github.com/box/box-content-preview/releases
81
81
 
82
82
  2. Install dependencies and build the library with `yarn install && yarn build:i18n && yarn build:prod`
@@ -57,12 +57,12 @@
57
57
  .bp-TimestampControl{position:relative;display:flex;align-items:center}.bp-TimestampControl-button,.bp-TimestampControl-static{display:flex;gap:4px;align-items:center;padding:6px 12px;color:#fff;font-weight:normal;font-size:14px;font-family:Lato,Arial,sans-serif;line-height:20px;letter-spacing:.3px;white-space:nowrap;-webkit-user-select:none;user-select:none}.bp-TimestampControl-button{opacity:.9;transition:opacity 150ms,background-color 150ms;will-change:opacity;outline:0;margin:0;background:transparent;border:0;border-radius:25px;cursor:pointer}.bp-TimestampControl-button:focus:not(:disabled),.bp-TimestampControl-button:hover:not(:disabled){background-color:rgba(255,255,255,.08);opacity:1}.bp-TimestampControl-button:focus:not(:disabled) svg,.bp-TimestampControl-button:hover:not(:disabled) svg,.bp-TimestampControl-button.bp-is-active svg{transform:scale(1.09);transition:transform 150ms}.bp-TimestampControl-button.bp-is-active,.bp-TimestampControl-button:active:not(:disabled){background-color:rgba(255,255,255,.16)}.bp-TimestampControl-button.bp-is-active:focus:not(:disabled),.bp-TimestampControl-button.bp-is-active:hover:not(:disabled){background-color:rgba(255,255,255,.2)}.bp-TimestampControl-button:focus:not(:disabled){box-shadow:inset 0 0 0 1px rgba(211,211,211,.5),0 1px 2px rgba(0,0,0,.1)}.bp-TimestampControl-button:focus-visible:not(:disabled){box-shadow:inset 0 0 0 1px rgba(211,211,211,.5),0 1px 2px rgba(0,0,0,.1)}.bp-TimestampControl-button:focus:not(:focus-visible){box-shadow:none}.bp-TimestampControl-button:focus:not(:disabled),.bp-TimestampControl-button.bp-is-open{background:transparent}.bp-TimestampControl-button:hover:not(:disabled){background:rgba(255,255,255,.08)}.bp-TimestampControl-separator,.bp-TimestampControl-duration{color:rgba(255,255,255,.8)}.bp-TimestampControl-chevron{width:16px;height:16px;margin-left:2px;fill:rgba(255,255,255,.8)}.bp-TimestampControl-flyout{position:absolute;bottom:calc(100% + 12px);left:50%;z-index:1;min-width:250px;padding:12px 8px;background:#fff;border-radius:16px;box-shadow:0 4px 12px 0 rgba(0,0,0,.15);transform:translateX(-50%)}.bp-TimestampControl-header{padding:6px 14px;color:#767676;font-weight:bold;font-size:14px;font-family:Lato,Arial,sans-serif;line-height:20px;letter-spacing:.3px;-webkit-user-select:none;user-select:none}.bp-TimestampControl-listitem{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:6px 14px;color:#000;font-size:16px;font-family:Lato,Arial,sans-serif;line-height:24px;white-space:nowrap;border-radius:8px;outline:none;cursor:pointer}.bp-TimestampControl-listitem:hover,.bp-TimestampControl-listitem:focus{background:#f4f4f4}.bp-TimestampControl-check{flex:none;fill:#000}
58
58
  .bp-VolumeControls{position:relative;display:flex;align-items:center}.bp-VolumeControls-flyout{position:absolute;top:-40px;left:-5px;display:none;flex:0 0 auto;max-width:0;height:40px;overflow:hidden;transition:max-width 200ms ease-in-out}.bp-VolumeControls-flyout.bp-is-open{display:block;overflow:visible}.bp-media--v2 .bp-VolumeControls-flyout{z-index:10}.bp-VolumeControls-slider{width:15px;height:100%;margin-right:6px;margin-left:6px}.bp-VolumeControls-toggle{opacity:.9;transition:opacity 150ms,background-color 150ms;will-change:opacity;outline:0;display:flex;align-items:center;justify-content:center;margin:0;padding:0;color:#fff;background:transparent;border:0;border-radius:25px;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation;zoom:1}.bp-VolumeControls-toggle:focus:not(:disabled),.bp-VolumeControls-toggle:hover:not(:disabled){background-color:rgba(255,255,255,.08);opacity:1}.bp-VolumeControls-toggle:focus:not(:disabled) svg,.bp-VolumeControls-toggle:hover:not(:disabled) svg,.bp-VolumeControls-toggle.bp-is-active svg{transform:scale(1.09);transition:transform 150ms}.bp-VolumeControls-toggle.bp-is-active,.bp-VolumeControls-toggle:active:not(:disabled){background-color:rgba(255,255,255,.16)}.bp-VolumeControls-toggle.bp-is-active:focus:not(:disabled),.bp-VolumeControls-toggle.bp-is-active:hover:not(:disabled){background-color:rgba(255,255,255,.2)}.bp-VolumeControls-toggle:focus:not(:disabled){box-shadow:inset 0 0 0 1px rgba(211,211,211,.5),0 1px 2px rgba(0,0,0,.1)}.bp-VolumeControls-toggle:focus-visible:not(:disabled){box-shadow:inset 0 0 0 1px rgba(211,211,211,.5),0 1px 2px rgba(0,0,0,.1)}.bp-VolumeControls-toggle:focus:not(:focus-visible){box-shadow:none}.bp-VolumeControls-toggle:disabled{cursor:default;opacity:.2;pointer-events:none}.bp-VolumeControls-toggle svg{width:32px;height:32px;padding:5px}
59
59
  .bp-VolumeSliderControl{outline:0;position:relative;cursor:pointer}.bp-VolumeSliderControl:focus:not(:disabled){box-shadow:inset 0 0 0 1px rgba(211,211,211,.5),0 1px 2px rgba(0,0,0,.1)}.bp-VolumeSliderControl:focus-visible:not(:disabled){box-shadow:inset 0 0 0 1px rgba(211,211,211,.5),0 1px 2px rgba(0,0,0,.1)}.bp-VolumeSliderControl:focus:not(:focus-visible){box-shadow:none}.bp-VolumeVerticalSliderControl{outline:0;position:absolute;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;height:140px;margin:auto;padding:16px;background:rgba(34,34,34,.9);border:1px solid rgba(255,255,255,.13);border-radius:16px;box-shadow:0 2px 5px 0 rgba(0,0,0,.25);cursor:pointer}.bp-VolumeVerticalSliderControl:focus:not(:disabled){box-shadow:inset 0 0 0 1px rgba(211,211,211,.5),0 1px 2px rgba(0,0,0,.1)}.bp-VolumeVerticalSliderControl:focus-visible:not(:disabled){box-shadow:inset 0 0 0 1px rgba(211,211,211,.5),0 1px 2px rgba(0,0,0,.1)}.bp-VolumeVerticalSliderControl:focus:not(:focus-visible){box-shadow:none}.bp-VolumeSliderControl-thumb{position:absolute;top:calc(50% - 6px);width:10px;height:12px;margin-left:-6px;background:#0061d5;border:0;border-radius:12px;cursor:pointer}.bp-VolumeSliderControl-track{position:absolute;inset:0;height:3px;margin:auto 3px;background:transparent linear-gradient(#fff, #fff) no-repeat center border-box}.bp-VolumeVerticalSliderControl-track-container{position:relative;width:8px;height:108px}.bp-VolumeVerticalSliderControl-track-background{position:relative;left:0;width:8px;height:108px;background-color:#55554f;border-radius:20px}.bp-VolumeVerticalSliderControl-track{position:absolute;bottom:0;left:0;width:8px;background:#fff;border-radius:20px}
60
- .bp-MarkerAvatar{position:absolute;bottom:calc(100% + 4px);left:50%;width:12px;height:12px;overflow:hidden;border:0;border-radius:50%;outline:2px solid rgba(0,0,0,.5);box-shadow:0 0 0 0 #fff;transform:translate(-50%, 0);transform-origin:bottom center;transition:transform 150ms,box-shadow 150ms,outline 150ms}.bp-MarkerAvatar img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center}.bp-MarkerAvatar-initial{display:grid;width:100%;height:100%;font-weight:bold;font-size:7px;line-height:1;text-align:center;text-transform:uppercase;place-items:center}.bp-MarkerAvatar-anonymousIcon{width:100%;height:100%;color:#222}
61
- .bp-MarkerAvatarStack{position:absolute;bottom:calc(100% + 4px);left:50%;display:flex;align-items:center;transform:translateX(-50%)}.bp-MarkerAvatarStack-item{position:relative;flex-shrink:0;padding:0;background:none;border:0;cursor:pointer;transition:margin 150ms}.bp-MarkerAvatarStack-item:not(:first-child){margin-left:var(--bp-marker-stack-overlap, -6px)}.bp-MarkerAvatarStack-item .bp-MarkerAvatar{position:relative;bottom:auto;left:auto;display:block;transform:none}.bp-MarkerAvatarStack-item:hover,.bp-MarkerAvatarStack-item:focus-visible{z-index:1}.bp-MarkerAvatarStack-item:hover .bp-MarkerAvatar,.bp-MarkerAvatarStack-item:focus-visible .bp-MarkerAvatar{outline:0 solid transparent;box-shadow:0 0 0 2px #fff}.bp-TimeControlsV2-marker--group:hover .bp-MarkerAvatarStack-item:not(:first-child),.bp-TimeControlsV2-marker--group:focus-visible .bp-MarkerAvatarStack-item:not(:first-child),.bp-MarkerCluster:hover .bp-MarkerAvatarStack-item:not(:first-child),.bp-MarkerCluster:focus-within .bp-MarkerAvatarStack-item:not(:first-child){margin-left:2px}.bp-MarkerAvatarStack-overflow{cursor:pointer}.bp-MarkerAvatarStack-overflowBadge{background-color:#6f6f6f}
62
- .bp-WaveformCommentMarkers{position:absolute;top:-2px;right:0;left:0;z-index:4;box-sizing:border-box;height:24px;padding:0 60px;overflow:visible;pointer-events:auto}.bp-WaveformCommentMarkers--zoomed{padding:0;overflow:clip visible}.bp-WaveformCommentMarkers-track{position:relative;width:100%;height:100%;overflow:visible}.bp-WaveformCommentMarkers--zoomed .bp-WaveformCommentMarkers-track{overflow:clip visible}.bp-WaveformCommentMarkers-marker{position:absolute;top:50%;z-index:1;display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;background:none;border:0;border-radius:50%;transform:translate(-50%, -50%);cursor:pointer;appearance:none;pointer-events:auto;transition:transform 150ms,box-shadow 150ms}.bp-WaveformCommentMarkers-marker .bp-MarkerAvatar,.bp-WaveformCommentMarkers-marker .bp-MarkerAvatarStack .bp-MarkerAvatar{position:relative;bottom:auto;left:auto;overflow:hidden;isolation:isolate;outline:none;box-shadow:none;transform:none;transform-origin:center center;cursor:pointer}.bp-WaveformCommentMarkers-marker .bp-MarkerAvatar img,.bp-WaveformCommentMarkers-marker .bp-MarkerAvatarStack .bp-MarkerAvatar img{cursor:pointer}.bp-WaveformCommentMarkers-marker .bp-MarkerAvatar::after,.bp-WaveformCommentMarkers-marker .bp-MarkerAvatarStack .bp-MarkerAvatar::after{position:absolute;z-index:1;inset:0;background:#000;border-radius:50%;opacity:.4;pointer-events:none;content:"";transition:opacity 150ms}.bp-WaveformCommentMarkers-marker .bp-MarkerAvatar:not(.bp-MarkerAvatarStack-overflowBadge),.bp-WaveformCommentMarkers-marker .bp-MarkerAvatarStack .bp-MarkerAvatar:not(.bp-MarkerAvatarStack-overflowBadge){background-color:#000}.bp-WaveformCommentMarkers-marker .bp-MarkerAvatar-initial{font-size:11px}.bp-WaveformCommentMarkers-marker .bp-MarkerAvatarStack{position:relative;bottom:auto;left:auto;transform:none}.bp-WaveformCommentMarkers-marker--group{width:auto}.bp-WaveformCommentMarkers-marker--group:hover .bp-MarkerAvatarStack-item:not(:first-child),.bp-WaveformCommentMarkers-marker--group:focus-within .bp-MarkerAvatarStack-item:not(:first-child){margin-left:2px}.bp-WaveformCommentMarkers:hover .bp-MarkerAvatar::after,.bp-WaveformCommentMarkers-marker:not(.bp-WaveformCommentMarkers-marker--group).bp-WaveformCommentMarkers-marker--selected .bp-MarkerAvatar::after,.bp-WaveformCommentMarkers .bp-MarkerAvatarStack-item--selected .bp-MarkerAvatar::after{opacity:0}.bp-WaveformCommentMarkers-marker--selected{z-index:3}.bp-WaveformCommentMarkers-marker:hover,.bp-WaveformCommentMarkers-marker:focus-within{z-index:4}.bp-WaveformCommentMarkers-marker:not(.bp-WaveformCommentMarkers-marker--group):hover,.bp-WaveformCommentMarkers-marker:not(.bp-WaveformCommentMarkers-marker--group):focus-visible{transform:translate(-50%, -50%) scale(1.2)}.bp-WaveformCommentMarkers .bp-MarkerAvatarStack-item{border-radius:50%;transform-origin:center center;cursor:pointer;transition:margin 150ms,transform 150ms,box-shadow 150ms}.bp-WaveformCommentMarkers .bp-MarkerAvatarStack-item:hover,.bp-WaveformCommentMarkers .bp-MarkerAvatarStack-item:focus-visible{z-index:2;transform:scale(1.2)}.bp-WaveformCommentMarkers-marker--selected:not(.bp-WaveformCommentMarkers-marker--group){box-shadow:0 0 0 2px #fff}.bp-WaveformCommentMarkers .bp-MarkerAvatarStack-item--selected{z-index:2;box-shadow:0 0 0 2px #fff}@media(prefers-reduced-motion: reduce){.bp-WaveformCommentMarkers-marker,.bp-WaveformCommentMarkers .bp-MarkerAvatarStack-item,.bp-WaveformCommentMarkers-marker .bp-MarkerAvatar::after{transition:none}.bp-WaveformCommentMarkers-marker:not(.bp-WaveformCommentMarkers-marker--group):hover,.bp-WaveformCommentMarkers-marker:not(.bp-WaveformCommentMarkers-marker--group):focus-visible{transform:translate(-50%, -50%)}.bp-WaveformCommentMarkers .bp-MarkerAvatarStack-item:hover,.bp-WaveformCommentMarkers .bp-MarkerAvatarStack-item:focus-visible{transform:none}}
60
+ .bp-MarkerAvatar{position:absolute;bottom:calc(100% + 4px);left:50%;width:var(--bp-marker-avatar-size, 20px);height:var(--bp-marker-avatar-size, 20px);overflow:visible;border:0;border-radius:50%;outline:none;box-shadow:0 0 0 1px #101010;transform:translate(-50%, 0);transform-origin:bottom center;transition:width 150ms,height 150ms,box-shadow 150ms}.bp-MarkerAvatar img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center;border-radius:50%}.bp-MarkerAvatar-initial{display:grid;width:100%;height:100%;font-weight:bold;font-size:10px;line-height:1;text-align:center;text-transform:uppercase;place-items:center}.bp-MarkerAvatar-anonymousIcon{width:100%;height:100%;color:#222}:is(.bp-WaveformCommentMarkers-marker:not(.bp-WaveformCommentMarkers-marker--group),.bp-TimeControlsV2-marker:not(.bp-TimeControlsV2-marker--group),.bp-MarkerAvatarStack-item):is(:hover,:focus-visible) .bp-MarkerAvatar{width:24px;height:24px;box-shadow:0 0 0 1px #fff}:is(.bp-WaveformCommentMarkers-marker:not(.bp-WaveformCommentMarkers-marker--group),.bp-TimeControlsV2-marker:not(.bp-TimeControlsV2-marker--group),.bp-MarkerAvatarStack-item):is(:hover,:focus-visible) .bp-MarkerAvatar .bp-MarkerAvatar-initial{font-size:12px}:is(.bp-WaveformCommentMarkers-marker--selected:not(.bp-WaveformCommentMarkers-marker--group),.bp-TimeControlsV2-marker--selected:not(.bp-TimeControlsV2-marker--group),.bp-MarkerAvatarStack-item--selected) .bp-MarkerAvatar,:is(.bp-WaveformCommentMarkers-marker--selected:not(.bp-WaveformCommentMarkers-marker--group),.bp-TimeControlsV2-marker--selected:not(.bp-TimeControlsV2-marker--group),.bp-MarkerAvatarStack-item--selected):is(:hover,:focus-visible) .bp-MarkerAvatar{width:24px;height:24px;box-shadow:0 0 0 2px #fff,0 0 0 3px #101010}:is(.bp-WaveformCommentMarkers-marker--selected:not(.bp-WaveformCommentMarkers-marker--group),.bp-TimeControlsV2-marker--selected:not(.bp-TimeControlsV2-marker--group),.bp-MarkerAvatarStack-item--selected) .bp-MarkerAvatar .bp-MarkerAvatar-initial,:is(.bp-WaveformCommentMarkers-marker--selected:not(.bp-WaveformCommentMarkers-marker--group),.bp-TimeControlsV2-marker--selected:not(.bp-TimeControlsV2-marker--group),.bp-MarkerAvatarStack-item--selected):is(:hover,:focus-visible) .bp-MarkerAvatar .bp-MarkerAvatar-initial{font-size:12px}
61
+ .bp-MarkerAvatarStack{position:absolute;bottom:calc(100% + 4px);left:50%;display:flex;align-items:center;transform:translateX(-50%)}.bp-MarkerAvatarStack-item{position:relative;flex-shrink:0;box-sizing:content-box;width:20px;height:20px;padding:0;background:none;border:0;border-radius:50%;outline:none;overflow:visible;cursor:pointer;appearance:none;transition:margin 150ms}.bp-MarkerAvatarStack-item:focus,.bp-MarkerAvatarStack-item:focus-visible{outline:none}.bp-MarkerAvatarStack-item:not(:first-child){margin-left:var(--bp-marker-stack-overlap, -10px)}.bp-MarkerAvatarStack-item .bp-MarkerAvatar{position:absolute;top:50%;bottom:auto;left:50%;display:block;transform:translate(-50%, -50%);transform-origin:center center}.bp-MarkerAvatarStack-item:hover,.bp-MarkerAvatarStack-item:focus-visible{z-index:3}:is(.bp-WaveformCommentMarkers-marker--group,.bp-TimeControlsV2-marker--group,.bp-MarkerCluster):is(:hover,:has(.bp-MarkerAvatarStack-item:focus-visible)) .bp-MarkerAvatarStack-item:not(:first-child){margin-left:2px}.bp-MarkerAvatarStack-overflow{cursor:pointer}.bp-MarkerAvatarStack-overflowBadge{background-color:#383838;color:#fff}.bp-MarkerAvatarStack-overflowBadge .bp-MarkerAvatar-initial{color:#fff}
62
+ .bp-WaveformCommentMarkers{position:absolute;top:-2px;right:0;left:0;z-index:4;box-sizing:border-box;height:24px;padding:0 60px;overflow:visible;pointer-events:auto}.bp-WaveformCommentMarkers--zoomed{padding:0;overflow:clip visible}.bp-WaveformCommentMarkers-track{position:relative;width:100%;height:100%;overflow:visible}.bp-WaveformCommentMarkers--zoomed .bp-WaveformCommentMarkers-track{overflow:clip visible}.bp-WaveformCommentMarkers-marker{position:absolute;top:50%;z-index:1;display:flex;align-items:center;justify-content:center;width:auto;height:auto;padding:0;background:none;border:0;border-radius:50%;transform:translate(-50%, -50%);cursor:pointer;appearance:none;pointer-events:auto;overflow:visible;outline:none;transition:box-shadow 150ms}.bp-WaveformCommentMarkers-marker:focus,.bp-WaveformCommentMarkers-marker:focus-visible{outline:none}.bp-WaveformCommentMarkers-marker .bp-MarkerAvatar{overflow:visible;isolation:isolate;cursor:pointer}.bp-WaveformCommentMarkers-marker .bp-MarkerAvatar img{cursor:pointer}.bp-WaveformCommentMarkers-marker .bp-MarkerAvatar::after{position:absolute;z-index:1;inset:0;background:#000;border-radius:50%;opacity:.4;pointer-events:none;content:"";transition:opacity 150ms}.bp-WaveformCommentMarkers-marker>.bp-MarkerAvatar{position:relative;bottom:auto;left:auto;transform:none;transform-origin:center center}.bp-WaveformCommentMarkers-marker .bp-MarkerAvatar:not(.bp-MarkerAvatarStack-overflowBadge),.bp-WaveformCommentMarkers-marker .bp-MarkerAvatarStack .bp-MarkerAvatar:not(.bp-MarkerAvatarStack-overflowBadge){background-color:#000}.bp-WaveformCommentMarkers-marker .bp-MarkerAvatarStack{position:relative;bottom:auto;left:auto;transform:none}.bp-WaveformCommentMarkers-marker--group{width:auto}.bp-WaveformView:hover~.bp-WaveformCommentMarkers .bp-MarkerAvatar::after,.bp-WaveformCommentMarkers:hover .bp-MarkerAvatar::after,.bp-WaveformCommentMarkers:has(:focus-visible) .bp-MarkerAvatar::after,.bp-WaveformCommentMarkers-marker:not(.bp-WaveformCommentMarkers-marker--group).bp-WaveformCommentMarkers-marker--selected .bp-MarkerAvatar::after,.bp-WaveformCommentMarkers .bp-MarkerAvatarStack-item--selected .bp-MarkerAvatar::after{opacity:0}.bp-WaveformCommentMarkers-marker--selected{z-index:3}.bp-WaveformCommentMarkers-marker:hover,.bp-WaveformCommentMarkers-marker:focus-within{z-index:4}.bp-WaveformCommentMarkers .bp-MarkerAvatarStack-item{cursor:pointer;transition:margin 150ms}.bp-WaveformCommentMarkers .bp-MarkerAvatarStack-item:hover,.bp-WaveformCommentMarkers .bp-MarkerAvatarStack-item:focus-visible{z-index:3}@media(prefers-reduced-motion: reduce){.bp-WaveformCommentMarkers-marker,.bp-WaveformCommentMarkers .bp-MarkerAvatarStack-item,.bp-WaveformCommentMarkers-marker .bp-MarkerAvatar::after{transition:none}}
63
63
  .bp-WaveformView{box-sizing:border-box;width:100%;height:206px;min-height:206px;padding:0 60px;overflow:visible;background:none}.bp-WaveformView.bp-WaveformView--zoomed{padding:0;touch-action:none}.bp-WaveformView.bp-WaveformView--zoomed .bp-WaveformView-canvas{overflow:hidden;mask-image:linear-gradient(to right, transparent, #000 92px, #000 calc(100% - 92px), transparent)}.bp-WaveformView.bp-WaveformView--zoomed .bp-WaveformView-canvas>*::part(scroll){overscroll-behavior-x:none}.bp-WaveformView-track{position:relative;display:flex;align-items:center;width:100%;height:100%;cursor:pointer}.bp-WaveformView-canvas{z-index:0;width:100%;height:140px}.bp-WaveformView-playhead{position:absolute;top:50%;left:0;z-index:1;width:2px;height:150px;pointer-events:none;background:linear-gradient(#2487ff, #006bed);border-radius:1px;box-shadow:0 0 0 1px #222,0 0 10px 0 rgba(36,135,255,.3);transform:translate(-50%, -50%)}.bp-WaveformView-hover{position:absolute;top:100%;z-index:2;margin-top:4px;pointer-events:none;transform:translateX(-50%)}.bp-WaveformView-hoverTime{padding:4px 10px;color:#fff;font-weight:normal;font-size:14px;font-family:Lato,Arial,sans-serif;line-height:20px;letter-spacing:.3px;white-space:nowrap;background:rgba(34,34,34,.92);border:1px solid rgba(255,255,255,.18);border-radius:8px}.bp-WaveformView--inert{pointer-events:none}.bp-WaveformView--inert .bp-WaveformView-track{cursor:default}
64
64
  .bp-SliderControl{outline:0;position:relative;cursor:pointer}.bp-SliderControl:focus:not(:disabled){box-shadow:inset 0 0 0 1px rgba(211,211,211,.5),0 1px 2px rgba(0,0,0,.1)}.bp-SliderControl:focus-visible:not(:disabled){box-shadow:inset 0 0 0 1px rgba(211,211,211,.5),0 1px 2px rgba(0,0,0,.1)}.bp-SliderControl:focus:not(:focus-visible){box-shadow:none}.bp-SliderControl-thumb{position:absolute;top:calc(50% - 6px);width:12px;height:12px;margin-left:-6px;background:#0061d5;border:0;border-radius:12px;cursor:pointer}.bp-SliderControl-track{position:absolute;inset:0;height:3px;margin:auto 3px;background:transparent linear-gradient(#fff, #fff) no-repeat center border-box}
65
- .bp-WaveformZoomControl{display:flex;flex-direction:row;gap:0;align-items:center;justify-content:flex-end;width:48px;height:48px;padding:4px;overflow:hidden;background:rgba(255,255,255,.1);border-radius:32px;box-shadow:0 2px 12px rgba(0,0,0,.08);backdrop-filter:blur(60px);transition:width 150ms ease-out,gap 150ms ease-out}.bp-WaveformZoomControl.bp-is-open{gap:8px;width:178px}.bp-WaveformZoomControl-flyout{flex:0 0 auto;width:0;height:8px;overflow:hidden;transition:width 150ms ease-out}.bp-WaveformZoomControl-flyout.bp-is-open{width:103px}.bp-WaveformZoomControl-slider{width:103px;height:8px}.bp-WaveformZoomControl-slider .bp-SliderControl-track{height:8px;margin:0;background:rgba(255,255,255,.3);background-image:none;border-radius:20px}.bp-WaveformZoomControl-slider .bp-SliderControl-track::after{position:absolute;top:0;left:0;width:calc(8px + 95px * var(--bp-zoom-t, 0));height:8px;background:rgba(255,255,255,.9);border-radius:20px;content:""}.bp-WaveformZoomControl-slider .bp-SliderControl-thumb{display:none}.bp-WaveformZoomControl-toggle{position:relative;z-index:1;display:flex;flex:0 0 40px;align-items:center;justify-content:center;width:40px;height:40px;padding:0;color:rgba(255,255,255,.8);background:transparent;border:0;border-radius:50%;cursor:pointer}.bp-WaveformZoomControl-toggle svg{width:24px;height:24px;padding:0}@media(prefers-reduced-motion: reduce){.bp-WaveformZoomControl,.bp-WaveformZoomControl-flyout{transition:none}}
65
+ .bp-WaveformZoomControl{display:flex;flex-direction:row;gap:0;align-items:center;justify-content:flex-end;width:48px;height:48px;padding:4px;overflow:hidden;background:rgba(255,255,255,.1);border-radius:32px;box-shadow:0 2px 12px rgba(0,0,0,.08);backdrop-filter:blur(60px);transition:width 150ms ease-out,gap 150ms ease-out}.bp-WaveformZoomControl.bp-is-open{gap:8px;width:207px}.bp-WaveformZoomControl-flyout{display:flex;flex:0 0 auto;order:-1;gap:8px;align-items:center;width:0;height:40px;overflow:hidden;transition:width 150ms ease-out}.bp-WaveformZoomControl-flyout.bp-is-open{width:151px}.bp-WaveformZoomControl-slider{width:103px;height:8px}.bp-WaveformZoomControl-slider .bp-SliderControl-track{height:8px;margin:0;background:rgba(255,255,255,.3);background-image:none;border-radius:20px}.bp-WaveformZoomControl-slider .bp-SliderControl-track::after{position:absolute;top:0;left:0;width:calc(8px + 95px * var(--bp-zoom-t, 0));height:8px;background:rgba(255,255,255,.9);border-radius:20px;content:""}.bp-WaveformZoomControl-slider .bp-SliderControl-thumb{display:none}.bp-WaveformZoomControl-button{position:relative;z-index:1;display:flex;flex:0 0 40px;align-items:center;justify-content:center;width:40px;height:40px;padding:0;color:#fff;background:transparent;border:0;border-radius:50%;cursor:pointer}.bp-WaveformZoomControl-button[aria-disabled=true]{cursor:default;opacity:.3}.bp-WaveformZoomControl-button svg{width:20px;height:20px;padding:0}@media(prefers-reduced-motion: reduce){.bp-WaveformZoomControl,.bp-WaveformZoomControl-flyout{transition:none}}
66
66
  .bp-MP3ControlsRoot:has(.bp-MP3ControlsV2){position:absolute;inset:0;width:100%;height:100%;transform:none;pointer-events:none}.bp-MP3ControlsV2{position:relative;width:100%;max-width:none;height:100%;background:transparent;pointer-events:none}.bp-MP3ControlsV2-stage{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;min-height:0;pointer-events:none}.bp-MP3ControlsV2-stage .bp-WaveformView,.bp-MP3ControlsV2-stage .bp-MP3ControlsV2-waveform,.bp-MP3ControlsV2-stage .bp-WaveformCommentMarkers{pointer-events:auto}.bp-MP3ControlsV2-waveform{position:relative;width:100%;overflow:visible}.bp-MP3ControlsV2-waveformZoom{position:absolute;top:48px;right:48px;z-index:3;pointer-events:none}.bp-MP3ControlsV2-waveformZoom .bp-WaveformZoomControl{pointer-events:auto}.bp-MP3ControlsV2-playOverlay{position:absolute;top:50%;left:50%;z-index:2;display:flex;align-items:center;justify-content:center;width:80px;height:80px;padding:0;background:rgba(0,0,0,.5);border:0;border-radius:50%;transform:translate(-50%, -50%);cursor:pointer;pointer-events:auto}.bp-MP3ControlsV2-playOverlay svg{width:48px;height:48px;fill:#fff}.bp-MP3ControlsV2-stage .bp-media-buffering-spinner{z-index:2;pointer-events:none}.bp-MP3ControlsV2-bar{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;align-items:center;justify-content:space-between;min-height:32px;padding:30px 58px 25px;background:linear-gradient(to top, black, rgba(0, 0, 0, 0));pointer-events:auto}.bp-MP3ControlsV2-group{display:flex;gap:12px;align-items:center}.bp-MP3ControlsV2-divider{width:1px;height:24px;background-color:rgba(255,255,255,.1);border-radius:1px}.bp-MP3ControlsV2 .bp-MP3Controls-settings{position:relative}.bp-MP3ControlsV2 .bp-MP3Controls-settings .bp-SettingsFlyout{right:15px}.bp-MP3ControlsV2 .bp-MP3Controls-settings .bp-SettingsToggle-button{width:36px;height:40px}
67
67
  .bp-Filmstrip{position:absolute;bottom:100%;overflow:hidden;background:transparent;box-shadow:0 0 1px #464a4f;visibility:hidden}.bp-Filmstrip.bp-is-shown{visibility:visible}.bp-Filmstrip-frame{display:flex;align-items:center;justify-content:center}.bp-Filmstrip-time{height:20px;color:#fff;font-size:13px;line-height:20px;text-align:center;background-color:#222}
68
68
  .bp-TimeControls{position:relative;margin-right:10px;margin-left:10px}.bp-TimeControls-slider{height:18px}.bp-TimeControls-slider .bp-SliderControl-thumb{transform:scale(0);transition:transform 100ms ease;will-change:transform}.bp-TimeControls-slider .bp-SliderControl-track{backface-visibility:hidden;transition:transform 100ms ease;will-change:transform}.bp-TimeControls-slider.bp-is-scrubbing .bp-SliderControl-thumb,.bp-TimeControls-slider:focus .bp-SliderControl-thumb,.bp-TimeControls-slider:hover .bp-SliderControl-thumb{transform:scale(1)}.bp-TimeControls-slider.bp-is-scrubbing .bp-SliderControl-track,.bp-TimeControls-slider:focus .bp-SliderControl-track,.bp-TimeControls-slider:hover .bp-SliderControl-track{transform:scaleY(2)}
@@ -73,8 +73,8 @@
73
73
  .bp-SubtitlesToggle{opacity:.9;transition:opacity 150ms,background-color 150ms;will-change:opacity;outline:0;display:flex;align-items:center;justify-content:center;margin:0;padding:0;color:#fff;background:transparent;border:0;border-radius:25px;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation;zoom:1}.bp-SubtitlesToggle:focus:not(:disabled),.bp-SubtitlesToggle:hover:not(:disabled){background-color:rgba(255,255,255,.08);opacity:1}.bp-SubtitlesToggle:focus:not(:disabled) svg,.bp-SubtitlesToggle:hover:not(:disabled) svg,.bp-SubtitlesToggle.bp-is-active svg{transform:scale(1.09);transition:transform 150ms}.bp-SubtitlesToggle.bp-is-active,.bp-SubtitlesToggle:active:not(:disabled){background-color:rgba(255,255,255,.16)}.bp-SubtitlesToggle.bp-is-active:focus:not(:disabled),.bp-SubtitlesToggle.bp-is-active:hover:not(:disabled){background-color:rgba(255,255,255,.2)}.bp-SubtitlesToggle:focus:not(:disabled){box-shadow:inset 0 0 0 1px rgba(211,211,211,.5),0 1px 2px rgba(0,0,0,.1)}.bp-SubtitlesToggle:focus-visible:not(:disabled){box-shadow:inset 0 0 0 1px rgba(211,211,211,.5),0 1px 2px rgba(0,0,0,.1)}.bp-SubtitlesToggle:focus:not(:focus-visible){box-shadow:none}.bp-SubtitlesToggle:disabled{cursor:default;opacity:.2;pointer-events:none}.bp-SubtitlesToggle svg{width:32px;height:32px;padding:5px}.bp-SubtitlesToggle[aria-pressed=true] .bp-SubtitlesToggle-text{color:#fff;background-color:#0061d5}.bp-SubtitlesToggle-text{display:flex;align-items:center;justify-content:center;width:24px;height:24px;color:#fff;font-weight:bold;font-size:12px;letter-spacing:.1em;background-color:rgba(0,0,0,.3);border-radius:4px}
74
74
  .bp-VideoControls{display:flex;flex-direction:column;width:100%;background-image:linear-gradient(to top, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0) 100%);padding:40px 20px 8px}.bp-VideoControls .bp-FullscreenToggle{width:36px;height:40px}.bp-VideoControls-bar{display:flex;padding:0 10px 5px;display:grid;align-items:center}.bp-VideoControls-bar.bp-VideoControls-bar--two-groups{justify-content:flex-end}.bp-VideoControls-bar.bp-VideoControls-bar--two-groups .bp-VideoControls-group--play-pause{position:absolute;left:50%;transform:translateX(-50%)}.bp-VideoControls-bar.bp-VideoControls-bar--three-groups{grid-template-columns:repeat(3, 1fr)}.bp-VideoControls-bar.bp-VideoControls-bar--three-groups.bp-VideoControls-bar--narrow-video{grid-template-columns:repeat(2, 1fr)}.bp-VideoControls-bar.bp-VideoControls-bar--three-groups .bp-VideoControls-group--annotations{justify-self:flex-start}.bp-VideoControls-bar.bp-VideoControls-bar--three-groups .bp-VideoControls-group--play-pause{justify-self:center}.bp-VideoControls-bar.bp-VideoControls-bar--three-groups .bp-VideoControls-group--media-controls{justify-self:flex-end}.bp-VideoControls-group{display:flex;align-items:center}.bp-VideoControls-settings{position:relative}.bp-VideoControls-settings .bp-SettingsFlyout{right:15px}.bp-VideoControls-settings .bp-SettingsToggle-button{width:36px;height:40px}
75
75
  .bp-FilmstripV2{position:absolute;bottom:calc(100% + 12px);padding:12px;padding-bottom:8px;background:#fff;border-radius:16px;box-shadow:0 2px 8px rgba(0,0,0,.15);visibility:hidden}.bp-FilmstripV2.bp-is-shown{visibility:visible}.bp-FilmstripV2-frame{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:10px}.bp-FilmstripV2-frameImage{position:absolute;top:0;left:0;overflow:hidden;background-repeat:no-repeat;transform-origin:top left}.bp-FilmstripV2-frame .bp-crawler{position:relative;z-index:1}.bp-FilmstripV2-time{margin-top:8px;color:#000;font-size:13px;line-height:20px;text-align:center}
76
- .bp-MarkerCluster{position:absolute;top:50%;z-index:1;height:8px;transform:translate(-2px, -50%);transition:transform 150ms}.bp-MarkerCluster:hover,.bp-MarkerCluster:focus-within{z-index:2;transform:translate(-2px, -50%) scale(1.5)}.bp-MarkerCluster:hover .bp-MarkerCluster-tick,.bp-MarkerCluster:focus-within .bp-MarkerCluster-tick{transform:none}.bp-MarkerCluster-tick{display:block;width:100%;height:100%;padding:0;background:#6f6f6f;border:1px solid #fff;border-radius:2px;cursor:pointer;transition:transform 150ms}
77
- .bp-TimeControlsV2{position:relative;margin-right:10px;margin-left:10px}.bp-TimeControlsV2-scrubber{position:relative}.bp-TimeControlsV2-slider{height:20px}.bp-TimeControlsV2-slider .bp-SliderControl-track{height:6px;margin:auto 0;border-radius:5px;backface-visibility:hidden;mask-image:var(--bp-track-mask, none)}.bp-TimeControlsV2-slider .bp-SliderControl-thumb{top:50%;z-index:3;width:3px;height:16px;margin-left:-1.5px;background:#fff;border:0;border-radius:2px;transform:translateY(-50%);cursor:ew-resize}.bp-TimeControlsV2-marker{position:absolute;top:50%;z-index:1;width:2px;height:8px;padding:0;background:#fff;border:0;border-radius:2px;transform:translate(-50%, -50%);cursor:pointer;transition:transform 150ms}.bp-TimeControlsV2-marker:hover,.bp-TimeControlsV2-marker:focus-visible{z-index:2;transform:translate(-50%, -50%) scale(1.7)}.bp-TimeControlsV2-marker:hover>.bp-MarkerAvatar,.bp-TimeControlsV2-marker:focus-visible>.bp-MarkerAvatar{outline:0 solid transparent;box-shadow:0 0 0 2px #fff;transform:translate(-50%, calc(5px / 1.7))}.bp-TimeControlsV2-marker:focus-visible{outline:2px solid #fff;outline-offset:2px}.bp-TimeControlsV2-marker--group:hover,.bp-TimeControlsV2-marker--group:focus-visible{transform:translate(-50%, -50%) scale(1.5)}
76
+ .bp-MarkerCluster{position:absolute;top:50%;z-index:1;height:8px;transform:translate(-2px, -50%);transition:transform 150ms}.bp-MarkerCluster:hover,.bp-MarkerCluster:focus-within{z-index:2}.bp-MarkerCluster-tick{display:block;width:100%;height:100%;padding:0;background:#6f6f6f;border:1px solid #fff;border-radius:2px;cursor:pointer;transition:transform 150ms}
77
+ .bp-TimeControlsV2{position:relative;margin-right:10px;margin-left:10px}.bp-TimeControlsV2-scrubber{position:relative}.bp-TimeControlsV2-slider{height:20px}.bp-TimeControlsV2-slider .bp-SliderControl-track{height:6px;margin:auto 0;border-radius:5px;backface-visibility:hidden;mask-image:var(--bp-track-mask, none)}.bp-TimeControlsV2-slider .bp-SliderControl-thumb{top:50%;z-index:3;width:3px;height:16px;margin-left:-1.5px;background:#fff;border:0;border-radius:2px;transform:translateY(-50%);cursor:ew-resize}.bp-TimeControlsV2-marker{position:absolute;top:50%;z-index:1;width:2px;height:8px;padding:0;background:#fff;border:0;border-radius:2px;transform:translate(-50%, -50%);cursor:pointer}.bp-TimeControlsV2-marker:hover,.bp-TimeControlsV2-marker:focus-visible,.bp-TimeControlsV2-marker:has(:focus-visible),.bp-TimeControlsV2-marker--selected{z-index:2}.bp-TimeControlsV2-marker:focus-visible{outline:none}.bp-TimeControlsV2-marker>.bp-MarkerAvatar{transform:translate(-50%, 0)}.bp-TimeControlsV2-marker--group{background:none}.bp-TimeControlsV2-marker-tick{display:block;width:100%;height:100%;padding:0;background:#fff;border:0;border-radius:2px;cursor:pointer;appearance:none}.bp-TimeControlsV2-marker-tick:focus,.bp-TimeControlsV2-marker-tick:focus-visible{outline:none}
78
78
  .bp-VideoFullscreenButton{position:absolute;display:flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;color:#fff;background:rgba(0,0,0,.6);border:none;border-radius:50%;box-shadow:0 2px 12px 0 rgba(0,0,0,.8);cursor:pointer;backdrop-filter:blur(60px);pointer-events:auto}.bp-VideoFullscreenButton svg{width:20px;height:20px}
79
79
  .bp-VideoControlsRoot:has(.bp-VideoControlsV2){position:absolute;inset:0;width:100%;pointer-events:none}.bp-VideoControlsRoot:has(.bp-VideoControlsV2) .bp-ControlsLayer{display:flex;flex-direction:column;justify-content:flex-end;width:100%;height:100%;pointer-events:none}.bp-VideoControlsV2{display:flex;flex-direction:column;width:100%;background-image:linear-gradient(to top, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0) 100%);padding:30px 48px 20px;background:linear-gradient(to top, black, rgba(0, 0, 0, 0));pointer-events:auto}.bp-VideoControlsV2 .bp-FullscreenToggle{width:36px;height:40px}.bp-VideoControlsV2-bar{display:flex;align-items:center;justify-content:space-between;margin-top:10px;padding:0 10px 5px}.bp-VideoControlsV2-group{display:flex;gap:4px;align-items:center}.bp-VideoControlsV2-group .bp-VideoControlsV2-divider{margin:0 8px}.bp-VideoControlsV2-playPause{opacity:.9;transition:opacity 150ms,background-color 150ms;will-change:opacity;outline:0;display:flex;align-items:center;justify-content:center;margin:0;padding:0;color:#fff;background:transparent;border:0;border-radius:25px;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation;zoom:1}.bp-VideoControlsV2-playPause:focus:not(:disabled),.bp-VideoControlsV2-playPause:hover:not(:disabled){background-color:rgba(255,255,255,.08);opacity:1}.bp-VideoControlsV2-playPause:focus:not(:disabled) svg,.bp-VideoControlsV2-playPause:hover:not(:disabled) svg,.bp-VideoControlsV2-playPause.bp-is-active svg{transform:scale(1.09);transition:transform 150ms}.bp-VideoControlsV2-playPause.bp-is-active,.bp-VideoControlsV2-playPause:active:not(:disabled){background-color:rgba(255,255,255,.16)}.bp-VideoControlsV2-playPause.bp-is-active:focus:not(:disabled),.bp-VideoControlsV2-playPause.bp-is-active:hover:not(:disabled){background-color:rgba(255,255,255,.2)}.bp-VideoControlsV2-playPause:focus:not(:disabled){box-shadow:inset 0 0 0 1px rgba(211,211,211,.5),0 1px 2px rgba(0,0,0,.1)}.bp-VideoControlsV2-playPause:focus-visible:not(:disabled){box-shadow:inset 0 0 0 1px rgba(211,211,211,.5),0 1px 2px rgba(0,0,0,.1)}.bp-VideoControlsV2-playPause:focus:not(:focus-visible){box-shadow:none}.bp-VideoControlsV2-playPause:disabled{cursor:default;opacity:.2;pointer-events:none}.bp-VideoControlsV2-playPause svg{width:32px;height:32px;padding:5px}.bp-VideoControlsV2-skipBtn{opacity:.9;transition:opacity 150ms,background-color 150ms;will-change:opacity;outline:0;display:flex;align-items:center;justify-content:center;margin:0;padding:0;color:#fff;background:transparent;border:0;border-radius:25px;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation;zoom:1}.bp-VideoControlsV2-skipBtn:focus:not(:disabled),.bp-VideoControlsV2-skipBtn:hover:not(:disabled){background-color:rgba(255,255,255,.08);opacity:1}.bp-VideoControlsV2-skipBtn:focus:not(:disabled) svg,.bp-VideoControlsV2-skipBtn:hover:not(:disabled) svg,.bp-VideoControlsV2-skipBtn.bp-is-active svg{transform:scale(1.09);transition:transform 150ms}.bp-VideoControlsV2-skipBtn.bp-is-active,.bp-VideoControlsV2-skipBtn:active:not(:disabled){background-color:rgba(255,255,255,.16)}.bp-VideoControlsV2-skipBtn.bp-is-active:focus:not(:disabled),.bp-VideoControlsV2-skipBtn.bp-is-active:hover:not(:disabled){background-color:rgba(255,255,255,.2)}.bp-VideoControlsV2-skipBtn:focus:not(:disabled){box-shadow:inset 0 0 0 1px rgba(211,211,211,.5),0 1px 2px rgba(0,0,0,.1)}.bp-VideoControlsV2-skipBtn:focus-visible:not(:disabled){box-shadow:inset 0 0 0 1px rgba(211,211,211,.5),0 1px 2px rgba(0,0,0,.1)}.bp-VideoControlsV2-skipBtn:focus:not(:focus-visible){box-shadow:none}.bp-VideoControlsV2-skipBtn:disabled{cursor:default;opacity:.2;pointer-events:none}.bp-VideoControlsV2-skipBtn svg{width:32px;height:32px;padding:5px}.bp-VideoControlsV2-divider{width:1px;height:24px;background-color:rgba(255,255,255,.1);border-radius:1px}.bp-VideoControlsV2 .bp-AnnotationsControls{gap:4px;padding-left:0;border-left:none}
80
80
  .bp-media-scrubber-container{position:relative;width:100%;height:16px}.bp-media-scrubber-wrapper{position:absolute;top:0;left:50%;width:100%;height:100%}.bp-media-scrubber{position:absolute;top:7px;left:-50%;width:100%;height:3px}.bp-media-scrubber-converted,.bp-media-scrubber-buffered,.bp-media-scrubber-played,.bp-media-scrubber-underlay{position:absolute;height:3px;transition:transform .1s ease-in-out}.bp-media-scrubber-converted{background-color:rgba(255,255,255,.5);cursor:pointer}.bp-media-scrubber-buffered{position:absolute;height:3px;background-color:#fff}.bp-media-scrubber-played{background-color:#0061d5;cursor:pointer}.bp-media-scrubber-underlay{width:100%;cursor:not-allowed}.bp-media-scrubber-handle{position:absolute;top:-4.25px;width:12px;height:12px;margin-left:-6px;background-color:#0061d5;border-radius:6px;transform:scale(0);cursor:pointer;transition:transform .05s ease-in-out}.bp-media-scrubber-container:hover .bp-media-scrubber-handle,.bp-media-scrubber-container .bp-media-scrubber-hover .bp-media-scrubber-handle{transform:scale(1)}.bp-media-scrubber-container:hover .bp-media-scrubber-converted,.bp-media-scrubber-container:hover .bp-media-scrubber-buffered,.bp-media-scrubber-container:hover .bp-media-scrubber-played,.bp-media-scrubber-container:hover .bp-media-scrubber-underlay,.bp-media-scrubber-container .bp-media-scrubber-hover .bp-media-scrubber-converted,.bp-media-scrubber-container .bp-media-scrubber-hover .bp-media-scrubber-buffered,.bp-media-scrubber-container .bp-media-scrubber-hover .bp-media-scrubber-played,.bp-media-scrubber-container .bp-media-scrubber-hover .bp-media-scrubber-underlay{transform:scaleY(2)}.bp-media-scrubber-container .bp-media-scrubber-touch .bp-media-scrubber-handle{transform:scale(1)}.bp-media-scrubber-container .bp-media-scrubber-touch .bp-media-scrubber-converted,.bp-media-scrubber-container .bp-media-scrubber-touch .bp-media-scrubber-buffered,.bp-media-scrubber-container .bp-media-scrubber-touch .bp-media-scrubber-played,.bp-media-scrubber-container .bp-media-scrubber-touch .bp-media-scrubber-underlay{transform:scaleY(2)}.bp-media-settings{position:absolute;right:16px;bottom:60px;display:inline-block;max-width:400px;max-height:210px;padding:8px;overflow:hidden auto;color:#444;font-size:10px;line-height:0;background-color:#fff;border:1px solid #bdc3c7;border-radius:2px;visibility:hidden;transition:width .2s,height .2s;-ms-overflow-style:-ms-autohiding-scrollbar}.bp-media-settings-is-open .bp-media-settings{visibility:visible}.bp-media-mp3 .bp-media-settings{right:0;bottom:65px}.bp-media-settings-in-transition{overflow:hidden}.bp-media-settings-menu{display:table}.bp-media-settings-menu-autoplay,.bp-media-settings-menu-quality,.bp-media-settings-menu-speed,.bp-media-settings-menu-subtitles,.bp-media-settings-menu-audiotracks,.bp-media-settings-show-autoplay .bp-media-settings-menu-main,.bp-media-settings-show-speed .bp-media-settings-menu-main,.bp-media-settings-show-quality .bp-media-settings-menu-main,.bp-media-settings-show-subtitles .bp-media-settings-menu-main,.bp-media-settings-show-audiotracks .bp-media-settings-menu-main{display:none}.bp-media-settings-show-autoplay .bp-media-settings-menu-autoplay,.bp-media-settings-show-speed .bp-media-settings-menu-speed,.bp-media-settings-show-quality .bp-media-settings-menu-quality,.bp-media-settings-show-subtitles .bp-media-settings-menu-subtitles,.bp-media-settings-show-audiotracks .bp-media-settings-menu-audiotracks{display:table}.bp-media-mp4 .bp-media-settings-item-quality,.bp-media-mp4 .bp-media-settings-item-subtitles,.bp-media-mp4 .bp-media-settings-item-audiotracks,.bp-media-mp3 .bp-media-settings-item-quality,.bp-media-mp3 .bp-media-settings-item-subtitles,.bp-media-mp3 .bp-media-settings-item-audiotracks{display:none}.bp-media-settings-item,.bp-media-settings-sub-item{display:table-row;height:26px;padding:4px;overflow:hidden;white-space:nowrap;outline:0 none;cursor:pointer}.bp-media-settings-item:hover,.bp-media-settings-sub-item:hover{background-color:#f6fafd}.bp-media-settings-item:hover .bp-media-settings-icon svg,.bp-media-settings-sub-item:hover .bp-media-settings-icon svg{fill:#2c3e50}.bp-media-settings-item:hover .bp-media-settings-label,.bp-media-settings-sub-item:hover .bp-media-settings-label{color:#aabed1}.bp-media-settings-item:hover .bp-media-settings-value,.bp-media-settings-sub-item:hover .bp-media-settings-value{color:#2c3e50}.bp-has-keyboard-focus .bp-media-settings-item:focus,.bp-has-keyboard-focus .bp-media-settings-sub-item:focus{background-color:#0061d5}.bp-has-keyboard-focus .bp-media-settings-item:focus .bp-media-settings-label,.bp-has-keyboard-focus .bp-media-settings-item:focus .bp-media-settings-value,.bp-has-keyboard-focus .bp-media-settings-sub-item:focus .bp-media-settings-label,.bp-has-keyboard-focus .bp-media-settings-sub-item:focus .bp-media-settings-value{color:#fff}.bp-has-keyboard-focus .bp-media-settings-item:focus svg,.bp-has-keyboard-focus .bp-media-settings-sub-item:focus svg{fill:#fff}.bp-media-settings-subtitles-unavailable .bp-media-settings-item-subtitles,.bp-media-settings-subtitles-unavailable .bp-media-settings-menu-subtitles{display:none}.bp-media-settings-autoplay-unavailable .bp-media-settings-item-autoplay,.bp-media-settings-autoplay-unavailable .bp-media-settings-menu-autoplay{display:none}.bp-media-settings-audiotracks-unavailable .bp-media-settings-item-audiotracks,.bp-media-settings-audiotracks-unavailable .bp-media-settings-menu-audiotracks{display:none}.bp-media-settings-hd-unavailable .bp-media-settings-menu-quality{display:none}.bp-media-settings-hd-unavailable .bp-media-settings-item-quality{pointer-events:none}.bp-media-settings-hd-unavailable .bp-media-settings-item-quality .bp-media-settings-arrow{display:none}.bp-media-settings-label,.bp-media-settings-value{display:table-cell;padding:4px;vertical-align:middle}.bp-media-settings-label{color:#999ea4;font-weight:normal;font-size:11px;text-transform:uppercase}.bp-media-settings-item .bp-media-settings-label{text-align:left}.bp-media-settings-sub-item .bp-media-settings-label{text-align:center}.bp-media-settings-value{padding-left:10px;color:#464a4f;font-size:12px;text-align:left}.bp-media-settings-selected .bp-media-settings-value{color:#0061d5}.bp-media-settings-arrow{display:table-cell;vertical-align:middle}.bp-media-settings-arrow svg{width:18px;height:18px}.bp-media-settings-icon{display:table-cell;text-align:center;vertical-align:middle}.bp-media-settings-icon svg{width:16px;height:16px;visibility:hidden}.bp-media-settings-selected .bp-media-settings-icon svg{visibility:visible}.bp-media-controls-is-visible .bp-media-controls-wrapper,.bp-media-controls-wrapper:active,.bp-media-controls-wrapper:focus{visibility:visible;opacity:1}.bp-media-controls-wrapper{position:absolute;right:0;bottom:0;left:0;width:100%;height:60px;margin:auto;overflow:hidden;background-image:linear-gradient(to top, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0) 100%);visibility:hidden;opacity:0;transition:visibility .3s,opacity .3s}.bp-media-time-scrubber-container{outline:0 none}.bp-media-volume-scrubber-container-wrapper{display:inline-block;width:0;height:40px;overflow:hidden;transition:width .2s ease-in-out}.bp-media-controls-volume-scrubber-expand{width:96px}.bp-media-volume-scrubber-container{position:relative;display:inline-block;width:96px;height:40px;padding:10px 8px 0;outline:0 none}.bp-media-volume-scrubber-container .bp-media-scrubber-handle{transform:scale(1)}.bp-media-volume-scrubber-container .bp-media-scrubber-converted,.bp-media-volume-scrubber-container .bp-media-scrubber-buffered,.bp-media-volume-scrubber-container .bp-media-scrubber-played,.bp-media-volume-scrubber-container .bp-media-scrubber-underlay{transform:scaleY(1) !important}.bp-media-controls-container{height:40px;margin:0;padding:0 10px;text-align:left}.bp-media-controls-label,.bp-media-controls-btn{display:inline-block;width:45px;height:40px;margin:0;padding:0;color:#fff;font-weight:normal;font-size:12px;text-align:center;vertical-align:top;background-color:transparent;border:none;outline:0 none;cursor:pointer;opacity:.7}.bp-media-controls-label:hover,.bp-media-controls-btn:hover{opacity:1}.bp-media-volume-icon{position:relative;display:inline-block;width:36px;height:40px;vertical-align:top}.bp-is-mobile .bp-media-volume-icon{display:none}.bp-media-controls-label{display:inline-block;width:auto;margin:0 4px;line-height:40px;vertical-align:top;cursor:default}.bp-media-controls-timecode{margin-left:13px}.bp-media-controls-volume-control{display:inline-block;width:45px;height:40px;vertical-align:top}.bp-is-mobile .bp-media-controls-volume-control{display:none}.bp-is-fullscreen .bp-media-fullscreen-icon .bp-exit-fullscreen-icon{display:inline-block}.bp-media-fullscreen-icon{position:absolute;right:10px}.bp-media-gear-icon{position:absolute;right:55px}.bp-media-gear-icon svg path{transform-origin:50%;transition:all .3s}.bp-media-settings-is-open .bp-media-gear-icon svg path{transform:rotateZ(60deg)}.bp-media-cc-icon{position:absolute;right:100px;visibility:visible}.bp-media-settings-subtitles-unavailable .bp-media-cc-icon{visibility:hidden}.bp-media-controls-cc-icon-text{display:inline-block;width:24px;height:24px;padding:0 0 0 1px;color:#fff;font-weight:bold;font-size:12px;line-height:24px;letter-spacing:.1em;background-color:rgba(0,0,0,.3);border-radius:4px}.bp-media-settings-subtitles-on .bp-media-controls-cc-icon-text{color:#fff;background-color:#0061d5}.bp-media-controls-hd{position:absolute;left:22px;display:none;padding:2px 2px 2px 3px;font-weight:bold;font-size:8px;line-height:8px;letter-spacing:.1em;background-color:#0061d5;border-radius:3px}.bp-media-controls-is-hd .bp-media-controls-hd{display:inline}.bp-media-play-icon{display:inline}.bp-media-is-playing .bp-media-play-icon{display:none}.bp-media-pause-icon{display:none}.bp-media-is-playing .bp-media-pause-icon{display:inline}.bp-media-volume-icon-mute,.bp-media-volume-icon-low,.bp-media-volume-icon-medium,.bp-media-volume-icon-high{position:absolute;left:6px;display:none}.bp-media-volume-icon-is-mute .bp-media-volume-icon-mute,.bp-media-volume-icon-is-low .bp-media-volume-icon-low,.bp-media-volume-icon-is-medium .bp-media-volume-icon-medium,.bp-media-volume-icon-is-high .bp-media-volume-icon-high{display:inline}.bp-media{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;margin:0;padding:0;border:0 none;visibility:hidden}.bp-media.bp-is-visible{visibility:visible}.bp-media-container{position:relative;display:flex;flex:1 1 0;flex-direction:column;align-items:center;justify-content:center;width:100%;min-width:360px;min-height:0;outline:0 none;-webkit-user-select:none;user-select:none}.bp-media-play-button{padding:0;color:inherit;font:inherit;background:none;border:none;cursor:pointer;position:absolute;top:50%;left:50%;width:80px;height:80px;color:#fff;font-size:40px;text-align:center;background:rgba(0,0,0,.5);border:4px solid #fff;border-radius:40px;transform:translate(-50%, -50%);cursor:pointer;transition:all .2s}.bp-media-play-button:hover{background:#000}.bp-media-overlay-play-container{position:absolute;top:50%;left:50%;display:flex;gap:28px;align-items:center;justify-content:center;color:#fff;font-size:40px;text-align:center;transform:translate(-50%, -50%);cursor:pointer;transition:all .2s}.bp-media-overlay-play-container button{padding:0;color:inherit;font:inherit;background:none;border:none;cursor:pointer;width:40px;height:40px;font-size:40px;text-align:center;background:#000;border-radius:40px;cursor:pointer;transition:all .2s}.bp-media-overlay-play-container .bp-media-overlay-play-button{width:60px;height:60px}.bp-has-keyboard-focus .bp-media-time-scrubber-container:focus,.bp-has-keyboard-focus .bp-media-volume-scrubber-container:focus,.bp-has-keyboard-focus .bp-media-controls-btn:focus{box-shadow:inset 0 0 0 1px rgba(255,255,255,.5),0 1px 2px rgba(0,0,0,.1)}.bp-dark .bp-error{color:#fff}.bp-dark .bp-icon{opacity:.9}.bp.bp-loaded .bp-is-buffering .bp-loading-wrapper{display:flex}.bp.bp-loaded .bp-is-buffering .bp-loading-wrapper .bp-crawler-wrapper{display:block}.bp.bp-loaded .bp-is-buffering .bp-loading-wrapper .bp-icon{display:none}@keyframes bp-spinner-rotate{to{transform:rotate(360deg)}}.bp-media-buffering-spinner{position:absolute;top:50%;left:50%;width:80px;height:80px;margin:-40px 0 0 -40px;border:4px solid rgba(0,97,213,.3);border-top-color:#0061d5;border-radius:40px;animation:bp-spinner-rotate .8s linear infinite}.bp-is-mobile *::-webkit-media-controls-start-playback-button{display:none}.bp-VideoControlsRoot{position:relative;right:auto;bottom:auto;left:auto;z-index:1;align-self:stretch;width:100%}.bp-media--v2{background:radial-gradient(ellipse at center, #2a2a2a 0%, #000 100%)}.bp-media-container--v2{padding:48px}.bp-media-container--v2 video{border:1px solid rgba(255,255,255,.12)}.bp-media-container--v2 .bp-video-preload-wrapper{inset:48px auto 48px 50%;transform:translateX(-50%)}.bp-media-container--v2 .bp-video-preload-wrapper .bp-preload{transform:none}.bp-media-container--v2 .bp-video-preload-wrapper .bp-preload-content{border:1px solid rgba(255,255,255,.12)}.bp-media-stage--v2{display:flex;flex:1 1 0;align-items:center;justify-content:center;box-sizing:border-box;width:100%;min-height:0;padding:48px}.bp-is-fullscreen .bp-media-stage--v2{padding:0}.bp-media-stage--v2 .bp-media-container--v2{flex:0 0 auto;width:auto;min-width:0;height:auto;padding:0}.bp-media-stage--v2 .bp-media-container--v2 video{width:100%;max-width:none;height:100%;max-height:none;object-fit:contain;border:1px solid rgba(255,255,255,.12)}.bp-media-stage--v2 .bp-media-container--v2 .bp-video-preload-wrapper{inset:0;transform:none}.bp-media-stage--v2 .bp-media-container--v2 .bp-video-preload-wrapper .bp-preload{transform:none}.bp-media-stage--v2 .bp-media-container--v2 .bp-video-preload-wrapper .bp-preload-content{object-fit:contain;border:1px solid rgba(255,255,255,.12)}.bp-video-360 .bp-VideoControlsRoot{position:absolute;right:0;bottom:-1px;left:0;width:100%}.bp-video-preload-wrapper{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;margin:0;overflow:hidden;background-color:transparent;opacity:1;transition:opacity .5s}.bp-video-preload-wrapper.bp-is-invisible{visibility:hidden}.bp-video-preload-wrapper.bp-is-transparent{opacity:0}.bp-video-preload-wrapper .bp-preload{position:absolute;inset:0;width:100%;height:100%;transform:translateY(-60px)}.bp-video-preload-wrapper .bp-preload-content{width:100%;height:100%;object-fit:contain}.bp-video-preload-wrapper .bp-preload-placeholder{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%}.bp-video-preload-wrapper .bp-video-preload-play-overlay{position:absolute;top:50%;left:50%;display:flex;align-items:center;justify-content:center;width:80px;height:80px;background:rgba(0,0,0,.5);border-radius:50%;transform:translate(-50%, -50%);pointer-events:none}.bp-video-preload-wrapper .bp-video-preload-play-overlay svg{width:48px;height:48px;fill:#fff}.bp-media-mp4 video{display:block;width:100%;max-width:100%;max-height:100%;margin-right:auto;margin-left:auto;cursor:none}.bp-media-mp4 .bp-media-controls-is-visible video{cursor:pointer}.bp-is-fullscreen .bp-media-mp4 .bp-media-container{width:100%}.bp-media-mp4 .bp-media-settings-item-quality,.bp-media-mp4 .bp-image-switch-360-icon{display:none}.bp-media-mp4 .bp-media-controls-label,.bp-media-mp4 .bp-media-controls-btn{opacity:.9}.bp-media-mp4 .bp-media-controls-label:hover,.bp-media-mp4 .bp-media-controls-btn:hover{opacity:1}
package/dist/lib/index.js CHANGED
@@ -1010,7 +1010,7 @@ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e =
1010
1010
  const CLIENT_NAME = "box-content-preview"; // eslint-disable-line no-undef
1011
1011
  const CLIENT_NAME_KEY = 'box_client_name';
1012
1012
  const CLIENT_VERSION_KEY = 'box_client_version';
1013
- const CLIENT_VERSION = "3.87.0"; // eslint-disable-line no-undef
1013
+ const CLIENT_VERSION = "3.89.0"; // eslint-disable-line no-undef
1014
1014
  const HEADER_CLIENT_NAME = 'X-Box-Client-Name';
1015
1015
  const HEADER_CLIENT_VERSION = 'X-Box-Client-Version';
1016
1016
  const PROMISE_MAP = {};
@@ -2135,204 +2135,6 @@ function DurationLabels({
2135
2135
 
2136
2136
  /***/ },
2137
2137
 
2138
- /***/ 3524
2139
- (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
2140
-
2141
-
2142
- // EXPORTS
2143
- __webpack_require__.d(__webpack_exports__, {
2144
- A: () => (/* binding */ MarkerAvatar)
2145
- });
2146
-
2147
- // EXTERNAL MODULE: external "react"
2148
- var external_react_ = __webpack_require__(1649);
2149
- ;// ./src/lib/viewers/controls/media/MarkerAvatar.scss
2150
- // extracted by mini-css-extract-plugin
2151
-
2152
- ;// ./src/lib/viewers/controls/media/MarkerAvatar.tsx
2153
-
2154
-
2155
- const AVATAR_PALETTE = [{
2156
- bg: '#7fb0ea',
2157
- fg: '#222'
2158
- }, {
2159
- bg: '#003c84',
2160
- fg: '#fff'
2161
- }, {
2162
- bg: '#ffeb7f',
2163
- fg: '#222'
2164
- }, {
2165
- bg: '#92e0c0',
2166
- fg: '#222'
2167
- }, {
2168
- bg: '#fad98d',
2169
- fg: '#222'
2170
- }, {
2171
- bg: '#91c2fd',
2172
- fg: '#222'
2173
- }, {
2174
- bg: '#f69bab',
2175
- fg: '#222'
2176
- }, {
2177
- bg: '#cf9ff6',
2178
- fg: '#222'
2179
- }, {
2180
- bg: '#f8c08c',
2181
- fg: '#222'
2182
- }, {
2183
- bg: '#a392e0',
2184
- fg: '#222'
2185
- }];
2186
- function AnonymousAvatarIcon() {
2187
- return /*#__PURE__*/external_react_["default"].createElement("svg", {
2188
- "aria-hidden": "true",
2189
- className: "bp-MarkerAvatar-anonymousIcon",
2190
- focusable: "false",
2191
- viewBox: "0 0 16 16"
2192
- }, /*#__PURE__*/external_react_["default"].createElement("path", {
2193
- d: "M8 8a3 3 0 1 0 0-6 3 3 0 0 0 0 6Zm0 1.5c-2.5 0-5 1.25-5 3.75V14h10v-.75c0-2.5-2.5-3.75-5-3.75Z",
2194
- fill: "currentColor"
2195
- }));
2196
- }
2197
- function MarkerAvatar({
2198
- avatarUrl,
2199
- colorIndex = 0,
2200
- initial,
2201
- size
2202
- }) {
2203
- const safeIndex = Number.isFinite(colorIndex) ? Math.abs(colorIndex) % AVATAR_PALETTE.length : 0;
2204
- const {
2205
- bg: bgColor,
2206
- fg: textColor
2207
- } = AVATAR_PALETTE[safeIndex];
2208
- const [imgFailed, setImgFailed] = external_react_["default"].useState(false);
2209
- const [loadedUrl, setLoadedUrl] = external_react_["default"].useState(null);
2210
- const imgRef = external_react_["default"].useRef(null);
2211
- // Keep initial + palette until onLoad (and for cached complete). Shared with video ticks.
2212
- const showImage = Boolean(avatarUrl) && !imgFailed && loadedUrl === avatarUrl;
2213
- external_react_["default"].useEffect(() => {
2214
- setImgFailed(false);
2215
- }, [avatarUrl]);
2216
- external_react_["default"].useLayoutEffect(() => {
2217
- const img = imgRef.current;
2218
- if (avatarUrl && img?.complete && img.naturalWidth > 0) {
2219
- setLoadedUrl(avatarUrl);
2220
- }
2221
- }, [avatarUrl]);
2222
- let fallback = /*#__PURE__*/external_react_["default"].createElement(AnonymousAvatarIcon, null);
2223
- if (initial) {
2224
- fallback = /*#__PURE__*/external_react_["default"].createElement("span", {
2225
- className: "bp-MarkerAvatar-initial",
2226
- style: {
2227
- color: textColor
2228
- }
2229
- }, initial);
2230
- }
2231
- const style = {};
2232
- if (!showImage) {
2233
- style.backgroundColor = bgColor;
2234
- }
2235
- if (size) {
2236
- style.width = size;
2237
- style.height = size;
2238
- }
2239
- return /*#__PURE__*/external_react_["default"].createElement("span", {
2240
- className: "bp-MarkerAvatar",
2241
- style: Object.keys(style).length > 0 ? style : undefined
2242
- }, avatarUrl && !imgFailed && /*#__PURE__*/external_react_["default"].createElement("img", {
2243
- ref: imgRef,
2244
- alt: "",
2245
- onError: () => {
2246
- setImgFailed(true);
2247
- },
2248
- onLoad: () => {
2249
- if (avatarUrl) {
2250
- setLoadedUrl(avatarUrl);
2251
- }
2252
- },
2253
- src: avatarUrl
2254
- }), !showImage && fallback);
2255
- }
2256
-
2257
- /***/ },
2258
-
2259
- /***/ 9232
2260
- (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
2261
-
2262
-
2263
- // EXPORTS
2264
- __webpack_require__.d(__webpack_exports__, {
2265
- A: () => (/* binding */ MarkerAvatarStack)
2266
- });
2267
-
2268
- // EXTERNAL MODULE: external "react"
2269
- var external_react_ = __webpack_require__(1649);
2270
- // EXTERNAL MODULE: ./src/lib/viewers/controls/media/MarkerAvatar.tsx + 1 modules
2271
- var MarkerAvatar = __webpack_require__(3524);
2272
- ;// ./src/lib/viewers/controls/media/MarkerAvatarStack.scss
2273
- // extracted by mini-css-extract-plugin
2274
-
2275
- ;// ./src/lib/viewers/controls/media/MarkerAvatarStack.tsx
2276
-
2277
-
2278
-
2279
- const MAX_VISIBLE_AVATARS = 4;
2280
- function MarkerAvatarStack({
2281
- markers,
2282
- onMarkerClick,
2283
- overlapPx,
2284
- selectedId,
2285
- size
2286
- }) {
2287
- const hasOverflow = markers.length > MAX_VISIBLE_AVATARS;
2288
- const visibleMarkers = hasOverflow ? markers.slice(0, MAX_VISIBLE_AVATARS - 1) : markers;
2289
- const overflowMarkers = hasOverflow ? markers.slice(MAX_VISIBLE_AVATARS - 1) : [];
2290
- const isOverflowSelected = overflowMarkers.some(marker => marker.id === selectedId);
2291
- const style = overlapPx != null ? {
2292
- '--bp-marker-stack-overlap': `-${overlapPx}px`
2293
- } : undefined;
2294
- return /*#__PURE__*/external_react_["default"].createElement("span", {
2295
- className: "bp-MarkerAvatarStack",
2296
- style: style
2297
- }, visibleMarkers.map(marker => /*#__PURE__*/external_react_["default"].createElement("button", {
2298
- key: marker.id,
2299
- "aria-label": "Comment marker",
2300
- "aria-pressed": marker.id === selectedId,
2301
- className: `bp-MarkerAvatarStack-item${marker.id === selectedId ? ' bp-MarkerAvatarStack-item--selected' : ''}`,
2302
- "data-resin-target": "commentMarkerStackAvatar",
2303
- onClick: e => {
2304
- e.stopPropagation();
2305
- onMarkerClick?.(marker);
2306
- },
2307
- type: "button"
2308
- }, /*#__PURE__*/external_react_["default"].createElement(MarkerAvatar/* default */.A, {
2309
- avatarUrl: marker.avatarUrl,
2310
- colorIndex: marker.colorIndex,
2311
- initial: marker.initial,
2312
- size: size
2313
- }))), hasOverflow && /*#__PURE__*/external_react_["default"].createElement("button", {
2314
- "aria-label": "Comment marker",
2315
- "aria-pressed": isOverflowSelected,
2316
- className: `bp-MarkerAvatarStack-item bp-MarkerAvatarStack-overflow${isOverflowSelected ? ' bp-MarkerAvatarStack-item--selected' : ''}`,
2317
- "data-resin-target": "commentMarkerStackAvatarOverflow",
2318
- onClick: e => {
2319
- e.stopPropagation();
2320
- onMarkerClick?.(markers[MAX_VISIBLE_AVATARS - 1]);
2321
- },
2322
- type: "button"
2323
- }, /*#__PURE__*/external_react_["default"].createElement("span", {
2324
- className: "bp-MarkerAvatar bp-MarkerAvatarStack-overflowBadge",
2325
- style: size ? {
2326
- width: size,
2327
- height: size
2328
- } : undefined
2329
- }, /*#__PURE__*/external_react_["default"].createElement("span", {
2330
- className: "bp-MarkerAvatar-initial"
2331
- }, "+", markers.length - (MAX_VISIBLE_AVATARS - 1)))));
2332
- }
2333
-
2334
- /***/ },
2335
-
2336
2138
  /***/ 6929
2337
2139
  (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
2338
2140
 
@@ -3443,7 +3245,209 @@ function VolumeControls({
3443
3245
 
3444
3246
  /***/ },
3445
3247
 
3446
- /***/ 2400
3248
+ /***/ 2040
3249
+ (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3250
+
3251
+
3252
+ // EXPORTS
3253
+ __webpack_require__.d(__webpack_exports__, {
3254
+ A: () => (/* binding */ MarkerAvatar)
3255
+ });
3256
+
3257
+ // EXTERNAL MODULE: external "react"
3258
+ var external_react_ = __webpack_require__(1649);
3259
+ ;// ./src/lib/viewers/controls/media/markers/MarkerAvatar.scss
3260
+ // extracted by mini-css-extract-plugin
3261
+
3262
+ ;// ./src/lib/viewers/controls/media/markers/MarkerAvatar.tsx
3263
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
3264
+
3265
+
3266
+ const AVATAR_PALETTE = [{
3267
+ bg: '#7fb0ea',
3268
+ fg: '#222'
3269
+ }, {
3270
+ bg: '#003c84',
3271
+ fg: '#fff'
3272
+ }, {
3273
+ bg: '#ffeb7f',
3274
+ fg: '#222'
3275
+ }, {
3276
+ bg: '#92e0c0',
3277
+ fg: '#222'
3278
+ }, {
3279
+ bg: '#fad98d',
3280
+ fg: '#222'
3281
+ }, {
3282
+ bg: '#91c2fd',
3283
+ fg: '#222'
3284
+ }, {
3285
+ bg: '#f69bab',
3286
+ fg: '#222'
3287
+ }, {
3288
+ bg: '#cf9ff6',
3289
+ fg: '#222'
3290
+ }, {
3291
+ bg: '#f8c08c',
3292
+ fg: '#222'
3293
+ }, {
3294
+ bg: '#a392e0',
3295
+ fg: '#222'
3296
+ }];
3297
+ function AnonymousAvatarIcon() {
3298
+ return /*#__PURE__*/external_react_["default"].createElement("svg", {
3299
+ "aria-hidden": "true",
3300
+ className: "bp-MarkerAvatar-anonymousIcon",
3301
+ focusable: "false",
3302
+ viewBox: "0 0 16 16"
3303
+ }, /*#__PURE__*/external_react_["default"].createElement("path", {
3304
+ d: "M8 8a3 3 0 1 0 0-6 3 3 0 0 0 0 6Zm0 1.5c-2.5 0-5 1.25-5 3.75V14h10v-.75c0-2.5-2.5-3.75-5-3.75Z",
3305
+ fill: "currentColor"
3306
+ }));
3307
+ }
3308
+ function MarkerAvatar({
3309
+ avatarUrl,
3310
+ colorIndex = 0,
3311
+ initial,
3312
+ size
3313
+ }) {
3314
+ const safeIndex = Number.isFinite(colorIndex) ? Math.abs(colorIndex) % AVATAR_PALETTE.length : 0;
3315
+ const {
3316
+ bg: bgColor,
3317
+ fg: textColor
3318
+ } = AVATAR_PALETTE[safeIndex];
3319
+ const [imgFailed, setImgFailed] = external_react_["default"].useState(false);
3320
+ const [loadedUrl, setLoadedUrl] = external_react_["default"].useState(null);
3321
+ const imgRef = external_react_["default"].useRef(null);
3322
+ // Keep initial + palette until onLoad (and for cached complete). Shared with video ticks.
3323
+ const showImage = Boolean(avatarUrl) && !imgFailed && loadedUrl === avatarUrl;
3324
+ external_react_["default"].useEffect(() => {
3325
+ setImgFailed(false);
3326
+ }, [avatarUrl]);
3327
+ external_react_["default"].useLayoutEffect(() => {
3328
+ const img = imgRef.current;
3329
+ if (avatarUrl && img?.complete && img.naturalWidth > 0) {
3330
+ setLoadedUrl(avatarUrl);
3331
+ }
3332
+ }, [avatarUrl]);
3333
+ let fallback = /*#__PURE__*/external_react_["default"].createElement(AnonymousAvatarIcon, null);
3334
+ if (initial) {
3335
+ fallback = /*#__PURE__*/external_react_["default"].createElement("span", {
3336
+ className: "bp-MarkerAvatar-initial",
3337
+ style: {
3338
+ color: textColor
3339
+ }
3340
+ }, initial);
3341
+ }
3342
+ const style = {};
3343
+ if (!showImage) {
3344
+ style.backgroundColor = bgColor;
3345
+ }
3346
+ if (size) {
3347
+ _extends(style, {
3348
+ '--bp-marker-avatar-size': `${size}px`
3349
+ });
3350
+ }
3351
+ return /*#__PURE__*/external_react_["default"].createElement("span", {
3352
+ className: "bp-MarkerAvatar",
3353
+ style: Object.keys(style).length > 0 ? style : undefined
3354
+ }, avatarUrl && !imgFailed && /*#__PURE__*/external_react_["default"].createElement("img", {
3355
+ ref: imgRef,
3356
+ alt: "",
3357
+ onError: () => {
3358
+ setImgFailed(true);
3359
+ },
3360
+ onLoad: () => {
3361
+ if (avatarUrl) {
3362
+ setLoadedUrl(avatarUrl);
3363
+ }
3364
+ },
3365
+ src: avatarUrl
3366
+ }), !showImage && fallback);
3367
+ }
3368
+
3369
+ /***/ },
3370
+
3371
+ /***/ 308
3372
+ (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3373
+
3374
+
3375
+ // EXPORTS
3376
+ __webpack_require__.d(__webpack_exports__, {
3377
+ A: () => (/* binding */ MarkerAvatarStack)
3378
+ });
3379
+
3380
+ // EXTERNAL MODULE: external "react"
3381
+ var external_react_ = __webpack_require__(1649);
3382
+ // EXTERNAL MODULE: ./src/lib/viewers/controls/media/markers/MarkerAvatar.tsx + 1 modules
3383
+ var MarkerAvatar = __webpack_require__(2040);
3384
+ ;// ./src/lib/viewers/controls/media/markers/MarkerAvatarStack.scss
3385
+ // extracted by mini-css-extract-plugin
3386
+
3387
+ ;// ./src/lib/viewers/controls/media/markers/MarkerAvatarStack.tsx
3388
+
3389
+
3390
+
3391
+ const MAX_VISIBLE_AVATARS = 4;
3392
+ function MarkerAvatarStack({
3393
+ markers,
3394
+ onMarkerClick,
3395
+ overlapPx,
3396
+ selectedId,
3397
+ size
3398
+ }) {
3399
+ const hasOverflow = markers.length > MAX_VISIBLE_AVATARS;
3400
+ const visibleMarkers = hasOverflow ? markers.slice(0, MAX_VISIBLE_AVATARS - 1) : markers;
3401
+ const overflowMarkers = hasOverflow ? markers.slice(MAX_VISIBLE_AVATARS - 1) : [];
3402
+ const isOverflowSelected = overflowMarkers.some(marker => marker.id === selectedId);
3403
+ const style = overlapPx != null ? {
3404
+ '--bp-marker-stack-overlap': `-${overlapPx}px`
3405
+ } : undefined;
3406
+ return /*#__PURE__*/external_react_["default"].createElement("span", {
3407
+ className: "bp-MarkerAvatarStack",
3408
+ style: style
3409
+ }, visibleMarkers.map(marker => /*#__PURE__*/external_react_["default"].createElement("button", {
3410
+ key: marker.id,
3411
+ "aria-label": "Comment marker",
3412
+ "aria-pressed": marker.id === selectedId,
3413
+ className: `bp-MarkerAvatarStack-item${marker.id === selectedId ? ' bp-MarkerAvatarStack-item--selected' : ''}`,
3414
+ "data-bp-marker-selected": marker.id === selectedId ? '' : undefined,
3415
+ "data-resin-target": "commentMarkerStackAvatar",
3416
+ onClick: e => {
3417
+ e.stopPropagation();
3418
+ onMarkerClick?.(marker);
3419
+ },
3420
+ type: "button"
3421
+ }, /*#__PURE__*/external_react_["default"].createElement(MarkerAvatar/* default */.A, {
3422
+ avatarUrl: marker.avatarUrl,
3423
+ colorIndex: marker.colorIndex,
3424
+ initial: marker.initial,
3425
+ size: size
3426
+ }))), hasOverflow && /*#__PURE__*/external_react_["default"].createElement("button", {
3427
+ "aria-label": "Comment marker",
3428
+ "aria-pressed": isOverflowSelected,
3429
+ className: `bp-MarkerAvatarStack-item bp-MarkerAvatarStack-overflow${isOverflowSelected ? ' bp-MarkerAvatarStack-item--selected' : ''}`,
3430
+ "data-bp-marker-selected": isOverflowSelected ? '' : undefined,
3431
+ "data-resin-target": "commentMarkerStackAvatarOverflow",
3432
+ onClick: e => {
3433
+ e.stopPropagation();
3434
+ const overflowTarget = overflowMarkers.find(marker => marker.id === selectedId) ?? overflowMarkers[0];
3435
+ onMarkerClick?.(overflowTarget);
3436
+ },
3437
+ type: "button"
3438
+ }, /*#__PURE__*/external_react_["default"].createElement("span", {
3439
+ className: "bp-MarkerAvatar bp-MarkerAvatarStack-overflowBadge",
3440
+ style: size ? {
3441
+ '--bp-marker-avatar-size': `${size}px`
3442
+ } : undefined
3443
+ }, /*#__PURE__*/external_react_["default"].createElement("span", {
3444
+ className: "bp-MarkerAvatar-initial"
3445
+ }, "+", markers.length - (MAX_VISIBLE_AVATARS - 1)))));
3446
+ }
3447
+
3448
+ /***/ },
3449
+
3450
+ /***/ 5510
3447
3451
  (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3448
3452
 
3449
3453
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
@@ -3496,6 +3500,97 @@ function buildClusters(markers, durationValue, trackWidth, thresholdPx = CLUSTER
3496
3500
 
3497
3501
  /***/ },
3498
3502
 
3503
+ /***/ 2378
3504
+ (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3505
+
3506
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
3507
+ /* harmony export */ A: () => (/* binding */ useDismissableMarkerSelection)
3508
+ /* harmony export */ });
3509
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1649);
3510
+
3511
+ function eventTargetElement(target) {
3512
+ if (target instanceof Element) {
3513
+ return target;
3514
+ }
3515
+ if (target instanceof Text) {
3516
+ return target.parentElement;
3517
+ }
3518
+ return null;
3519
+ }
3520
+
3521
+ /**
3522
+ * Optimistic comment-badge selection that clears on pointerdown outside the
3523
+ * selected avatar or its cluster. Host `hostSelectedId` can restore a different
3524
+ * id; acking the dismissed id must not bring the ring back.
3525
+ */
3526
+ function useDismissableMarkerSelection(hostSelectedId = null) {
3527
+ const containerRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);
3528
+ const dismissedIdRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);
3529
+ const [optimisticSelectedId, setOptimisticSelectedId] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(null);
3530
+ const [isSelectionDismissed, setIsSelectionDismissed] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false);
3531
+ const selectedId = optimisticSelectedId ?? (isSelectionDismissed ? null : hostSelectedId);
3532
+ (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
3533
+ setOptimisticSelectedId(null);
3534
+ if (dismissedIdRef.current && hostSelectedId === dismissedIdRef.current) {
3535
+ return;
3536
+ }
3537
+ dismissedIdRef.current = null;
3538
+ setIsSelectionDismissed(false);
3539
+ }, [hostSelectedId]);
3540
+ const selectMarker = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(id => {
3541
+ dismissedIdRef.current = null;
3542
+ setIsSelectionDismissed(false);
3543
+ setOptimisticSelectedId(id);
3544
+ }, []);
3545
+ (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
3546
+ if (!selectedId) {
3547
+ return undefined;
3548
+ }
3549
+ const isEventInsideSelectedBadge = target => {
3550
+ const container = containerRef.current;
3551
+ if (!container) {
3552
+ return true;
3553
+ }
3554
+ const selected = container.querySelector('[data-bp-marker-selected]');
3555
+ if (!selected) {
3556
+ return true;
3557
+ }
3558
+ const el = eventTargetElement(target);
3559
+ if (!el) {
3560
+ return true;
3561
+ }
3562
+ if (selected.contains(el)) {
3563
+ return true;
3564
+ }
3565
+ const group = el.closest('[data-bp-marker-group]');
3566
+ return Boolean(group && group.contains(selected));
3567
+ };
3568
+ const onDocumentPointerDown = event => {
3569
+ if (isEventInsideSelectedBadge(event.target)) {
3570
+ return;
3571
+ }
3572
+ dismissedIdRef.current = selectedId;
3573
+ setOptimisticSelectedId(null);
3574
+ setIsSelectionDismissed(true);
3575
+ const active = document.activeElement;
3576
+ if (active instanceof HTMLElement && containerRef.current?.contains(active)) {
3577
+ active.blur();
3578
+ }
3579
+ };
3580
+ document.addEventListener('pointerdown', onDocumentPointerDown, true);
3581
+ return () => {
3582
+ document.removeEventListener('pointerdown', onDocumentPointerDown, true);
3583
+ };
3584
+ }, [selectedId]);
3585
+ return {
3586
+ containerRef,
3587
+ selectMarker,
3588
+ selectedId
3589
+ };
3590
+ }
3591
+
3592
+ /***/ },
3593
+
3499
3594
  /***/ 5346
3500
3595
  (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3501
3596
 
@@ -4385,7 +4480,7 @@ function getPdfjsWorkerSrc() {
4385
4480
 
4386
4481
  /***/ },
4387
4482
 
4388
- /***/ 9286
4483
+ /***/ 6180
4389
4484
  (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
4390
4485
 
4391
4486
 
@@ -4748,12 +4843,14 @@ function getPlayheadCameraAction({
4748
4843
  type: 'none'
4749
4844
  };
4750
4845
  }
4751
- // EXTERNAL MODULE: ./src/lib/viewers/controls/media/buildClusters.ts
4752
- var buildClusters = __webpack_require__(2400);
4753
- // EXTERNAL MODULE: ./src/lib/viewers/controls/media/MarkerAvatar.tsx + 1 modules
4754
- var MarkerAvatar = __webpack_require__(3524);
4755
- // EXTERNAL MODULE: ./src/lib/viewers/controls/media/MarkerAvatarStack.tsx + 1 modules
4756
- var MarkerAvatarStack = __webpack_require__(9232);
4846
+ // EXTERNAL MODULE: ./src/lib/viewers/controls/media/markers/helpers/useDismissableMarkerSelection.ts
4847
+ var useDismissableMarkerSelection = __webpack_require__(2378);
4848
+ // EXTERNAL MODULE: ./src/lib/viewers/controls/media/markers/helpers/buildClusters.ts
4849
+ var buildClusters = __webpack_require__(5510);
4850
+ // EXTERNAL MODULE: ./src/lib/viewers/controls/media/markers/MarkerAvatarStack.tsx + 1 modules
4851
+ var MarkerAvatarStack = __webpack_require__(308);
4852
+ // EXTERNAL MODULE: ./src/lib/viewers/controls/media/markers/MarkerAvatar.tsx + 1 modules
4853
+ var MarkerAvatar = __webpack_require__(2040);
4757
4854
  // EXTERNAL MODULE: ./src/lib/viewers/controls/media/utils.ts
4758
4855
  var utils = __webpack_require__(5346);
4759
4856
  ;// ./src/lib/viewers/media/waveform/WaveformCommentMarkers.scss
@@ -4765,8 +4862,6 @@ var utils = __webpack_require__(5346);
4765
4862
 
4766
4863
 
4767
4864
 
4768
-
4769
-
4770
4865
  const WAVEFORM_MARKER_SIZE_PX = 20;
4771
4866
  function hasMappedWindow(viewport) {
4772
4867
  return !!viewport && Number.isFinite(viewport.startSec) && viewport.endSec > viewport.startSec;
@@ -4809,25 +4904,16 @@ function WaveformCommentMarkers({
4809
4904
  selectedId: hostSelectedId = null,
4810
4905
  viewport = null
4811
4906
  }) {
4812
- const overlayRef = (0,external_react_.useRef)(null);
4813
4907
  const trackRef = (0,external_react_.useRef)(null);
4814
- const dismissedIdRef = (0,external_react_.useRef)(null);
4908
+ const {
4909
+ containerRef,
4910
+ selectMarker,
4911
+ selectedId
4912
+ } = (0,useDismissableMarkerSelection/* default */.A)(hostSelectedId);
4815
4913
  const [trackWidth, setTrackWidth] = (0,external_react_.useState)(0);
4816
- const [optimisticSelectedId, setOptimisticSelectedId] = (0,external_react_.useState)(null);
4817
- const [isSelectionDismissed, setIsSelectionDismissed] = (0,external_react_.useState)(false);
4818
- const selectedId = optimisticSelectedId ?? (isSelectionDismissed ? null : hostSelectedId);
4819
4914
  const canShowTrack = durationSec > 0 && commentMarkers.length > 0;
4820
4915
  const zoomLevel = viewport?.zoomLevel ?? constants/* WAVEFORM_ZOOM_MIN */.LW;
4821
4916
  const isZoomed = hasMappedWindow(viewport) && viewport.zoomLevel > constants/* WAVEFORM_ZOOM_MIN */.LW;
4822
- (0,external_react_.useEffect)(() => {
4823
- setOptimisticSelectedId(null);
4824
- // Host ack of the dismissed id must not bring the ring back.
4825
- if (dismissedIdRef.current && hostSelectedId === dismissedIdRef.current) {
4826
- return;
4827
- }
4828
- dismissedIdRef.current = null;
4829
- setIsSelectionDismissed(false);
4830
- }, [hostSelectedId]);
4831
4917
  (0,external_react_.useLayoutEffect)(() => {
4832
4918
  if (!canShowTrack) {
4833
4919
  setTrackWidth(0);
@@ -4855,44 +4941,14 @@ function WaveformCommentMarkers({
4855
4941
  }, [commentMarkers, durationSec, trackWidth, zoomLevel]);
4856
4942
  const handleMarkerClick = (0,external_react_.useCallback)((marker, event) => {
4857
4943
  event?.stopPropagation();
4858
- dismissedIdRef.current = null;
4859
- setIsSelectionDismissed(false);
4860
- setOptimisticSelectedId(marker.id);
4944
+ selectMarker(marker.id);
4861
4945
  onCommentMarkerClick?.(marker);
4862
- }, [onCommentMarkerClick]);
4863
- (0,external_react_.useEffect)(() => {
4864
- if (!selectedId) {
4865
- return undefined;
4866
- }
4867
- const isEventInsideSelectedBadge = target => {
4868
- if (!(target instanceof Element) || !overlayRef.current) {
4869
- return false;
4870
- }
4871
- const selected = overlayRef.current.querySelector('.bp-WaveformCommentMarkers-marker--selected, .bp-MarkerAvatarStack-item--selected');
4872
- return Boolean(selected && selected.contains(target));
4873
- };
4874
- const onDocumentPointerDown = event => {
4875
- if (isEventInsideSelectedBadge(event.target)) {
4876
- return;
4877
- }
4878
- dismissedIdRef.current = selectedId;
4879
- setOptimisticSelectedId(null);
4880
- setIsSelectionDismissed(true);
4881
- const active = document.activeElement;
4882
- if (active instanceof HTMLElement && overlayRef.current?.contains(active)) {
4883
- active.blur();
4884
- }
4885
- };
4886
- document.addEventListener('pointerdown', onDocumentPointerDown, true);
4887
- return () => {
4888
- document.removeEventListener('pointerdown', onDocumentPointerDown, true);
4889
- };
4890
- }, [selectedId]);
4946
+ }, [onCommentMarkerClick, selectMarker]);
4891
4947
  if (!(durationSec > 0) || commentMarkers.length === 0) {
4892
4948
  return null;
4893
4949
  }
4894
4950
  return /*#__PURE__*/external_react_["default"].createElement("div", {
4895
- ref: overlayRef,
4951
+ ref: containerRef,
4896
4952
  className: `bp-WaveformCommentMarkers${isZoomed ? ' bp-WaveformCommentMarkers--zoomed' : ''}`,
4897
4953
  "data-testid": "bp-waveform-comment-markers"
4898
4954
  }, /*#__PURE__*/external_react_["default"].createElement("div", {
@@ -4908,6 +4964,7 @@ function WaveformCommentMarkers({
4908
4964
  return /*#__PURE__*/external_react_["default"].createElement("div", {
4909
4965
  key: cluster.id,
4910
4966
  className: className,
4967
+ "data-bp-marker-group": "",
4911
4968
  "data-testid": "bp-waveform-comment-marker",
4912
4969
  style: {
4913
4970
  left
@@ -4916,8 +4973,7 @@ function WaveformCommentMarkers({
4916
4973
  markers: cluster.markers,
4917
4974
  onMarkerClick: handleMarkerClick,
4918
4975
  overlapPx: WAVEFORM_MARKER_SIZE_PX / 2,
4919
- selectedId: selectedId,
4920
- size: WAVEFORM_MARKER_SIZE_PX
4976
+ selectedId: selectedId
4921
4977
  }));
4922
4978
  }
4923
4979
  return /*#__PURE__*/external_react_["default"].createElement("button", {
@@ -4925,6 +4981,7 @@ function WaveformCommentMarkers({
4925
4981
  "aria-label": "Comment marker",
4926
4982
  "aria-pressed": isSelected,
4927
4983
  className: className,
4984
+ "data-bp-marker-selected": isSelected ? '' : undefined,
4928
4985
  "data-resin-target": "commentMarker",
4929
4986
  "data-testid": "bp-waveform-comment-marker",
4930
4987
  onClick: event => handleMarkerClick(marker, event),
@@ -4935,8 +4992,7 @@ function WaveformCommentMarkers({
4935
4992
  }, /*#__PURE__*/external_react_["default"].createElement(MarkerAvatar/* default */.A, {
4936
4993
  avatarUrl: marker.avatarUrl,
4937
4994
  colorIndex: marker.colorIndex,
4938
- initial: marker.initial,
4939
- size: WAVEFORM_MARKER_SIZE_PX
4995
+ initial: marker.initial
4940
4996
  }));
4941
4997
  })));
4942
4998
  }
@@ -6105,24 +6161,66 @@ function WaveformView({
6105
6161
  // EXTERNAL MODULE: ./node_modules/classnames/index.js
6106
6162
  var classnames = __webpack_require__(2485);
6107
6163
  var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);
6108
- ;// ./src/lib/viewers/controls/icons/IconZoom24.tsx
6164
+ ;// ./src/lib/viewers/controls/icons/IconZoomIn24.tsx
6109
6165
 
6110
- function IconZoom24() {
6166
+ function IconZoomIn24() {
6111
6167
  return /*#__PURE__*/external_react_.createElement("svg", {
6112
6168
  focusable: false,
6113
6169
  height: 24,
6114
6170
  viewBox: "0 0 24 24",
6115
6171
  width: 24
6116
- }, /*#__PURE__*/external_react_.createElement("path", {
6117
- d: "M2 12h20M6 8l-4 4 4 4M18 8l4 4-4 4",
6172
+ }, /*#__PURE__*/external_react_.createElement("circle", {
6173
+ cx: "10",
6174
+ cy: "10",
6175
+ fill: "none",
6176
+ r: "6.25",
6177
+ stroke: "currentColor",
6178
+ strokeWidth: "1.75"
6179
+ }), /*#__PURE__*/external_react_.createElement("path", {
6180
+ d: "M14.5 14.5 20 20",
6118
6181
  fill: "none",
6119
6182
  stroke: "currentColor",
6120
6183
  strokeLinecap: "round",
6121
- strokeLinejoin: "round",
6122
- strokeWidth: "2"
6184
+ strokeWidth: "1.75"
6185
+ }), /*#__PURE__*/external_react_.createElement("path", {
6186
+ d: "M10 7.25v5.5M7.25 10h5.5",
6187
+ fill: "none",
6188
+ stroke: "currentColor",
6189
+ strokeLinecap: "round",
6190
+ strokeWidth: "1.75"
6123
6191
  }));
6124
6192
  }
6125
- /* harmony default export */ const icons_IconZoom24 = (IconZoom24);
6193
+ /* harmony default export */ const icons_IconZoomIn24 = (IconZoomIn24);
6194
+ ;// ./src/lib/viewers/controls/icons/IconZoomOut24.tsx
6195
+
6196
+ function IconZoomOut24() {
6197
+ return /*#__PURE__*/external_react_.createElement("svg", {
6198
+ focusable: false,
6199
+ height: 24,
6200
+ viewBox: "0 0 24 24",
6201
+ width: 24
6202
+ }, /*#__PURE__*/external_react_.createElement("circle", {
6203
+ cx: "10",
6204
+ cy: "10",
6205
+ fill: "none",
6206
+ r: "6.25",
6207
+ stroke: "currentColor",
6208
+ strokeWidth: "1.75"
6209
+ }), /*#__PURE__*/external_react_.createElement("path", {
6210
+ d: "M14.5 14.5 20 20",
6211
+ fill: "none",
6212
+ stroke: "currentColor",
6213
+ strokeLinecap: "round",
6214
+ strokeWidth: "1.75"
6215
+ }), /*#__PURE__*/external_react_.createElement("path", {
6216
+ d: "M7.25 10h5.5",
6217
+ fill: "none",
6218
+ stroke: "currentColor",
6219
+ strokeLinecap: "round",
6220
+ strokeWidth: "1.75"
6221
+ }));
6222
+ }
6223
+ /* harmony default export */ const icons_IconZoomOut24 = (IconZoomOut24);
6126
6224
  // EXTERNAL MODULE: ./src/lib/viewers/controls/media/MediaToggle.tsx
6127
6225
  var MediaToggle = __webpack_require__(8997);
6128
6226
  // EXTERNAL MODULE: ./src/lib/viewers/controls/slider/SliderControl.tsx + 1 modules
@@ -6139,6 +6237,7 @@ var SliderControl = __webpack_require__(4937);
6139
6237
 
6140
6238
 
6141
6239
 
6240
+
6142
6241
  function WaveformZoomControl({
6143
6242
  isRevealed = false,
6144
6243
  maxZoom,
@@ -6148,39 +6247,25 @@ function WaveformZoomControl({
6148
6247
  const [isHovered, setHovered] = (0,external_react_.useState)(false);
6149
6248
  const [isFocused, setFocused] = (0,external_react_.useState)(false);
6150
6249
  const dismissTimerRef = (0,external_react_.useRef)(0);
6151
- const flyoutRef = (0,external_react_.useRef)(null);
6152
- const shouldFocusSliderRef = (0,external_react_.useRef)(false);
6153
6250
  const sliderId = `bp-waveform-zoom-slider${(0,external_react_.useId)()}`;
6154
6251
  const zoom = clampWaveformZoom(zoomLevel, maxZoom);
6155
6252
  const zoomValue = Math.round(sliderValueFromZoom(zoom, maxZoom));
6156
6253
  const isOpen = isHovered || isFocused || isRevealed;
6254
+ const isAtMinZoom = zoomValue <= 0;
6255
+ const isAtMaxZoom = zoomValue >= constants/* WAVEFORM_ZOOM_SLIDER_MAX */.nh;
6157
6256
  const clearDismiss = (0,external_react_.useCallback)(() => {
6158
6257
  window.clearTimeout(dismissTimerRef.current);
6159
6258
  dismissTimerRef.current = 0;
6160
6259
  }, []);
6161
6260
  (0,external_react_.useEffect)(() => () => window.clearTimeout(dismissTimerRef.current), []);
6162
- (0,external_react_.useLayoutEffect)(() => {
6163
- if (!isOpen || !shouldFocusSliderRef.current) {
6164
- return;
6165
- }
6166
- shouldFocusSliderRef.current = false;
6167
- flyoutRef.current?.querySelector('[role="slider"]')?.focus();
6168
- }, [isOpen]);
6169
6261
  const handleSlider = (0,external_react_.useCallback)(newValue => {
6170
6262
  onZoomChange(zoomFromSliderValue(newValue, maxZoom));
6171
6263
  }, [maxZoom, onZoomChange]);
6172
- const handleToggleClick = (0,external_react_.useCallback)(() => {
6173
- clearDismiss();
6174
- if (isOpen) {
6175
- shouldFocusSliderRef.current = false;
6176
- setFocused(false);
6177
- setHovered(false);
6178
- return;
6179
- }
6180
- shouldFocusSliderRef.current = true;
6181
- setFocused(true);
6182
- }, [clearDismiss, isOpen]);
6264
+ const handleStep = (0,external_react_.useCallback)(delta => {
6265
+ onZoomChange(zoomFromSliderValue(zoomValue + delta, maxZoom));
6266
+ }, [maxZoom, onZoomChange, zoomValue]);
6183
6267
  return /*#__PURE__*/external_react_["default"].createElement("div", {
6268
+ "aria-label": "Zoom",
6184
6269
  className: classnames_default()('bp-WaveformZoomControl', {
6185
6270
  'bp-is-open': isOpen
6186
6271
  }),
@@ -6204,14 +6289,37 @@ function WaveformZoomControl({
6204
6289
  dismissTimerRef.current = window.setTimeout(() => {
6205
6290
  setHovered(false);
6206
6291
  }, constants/* WAVEFORM_ZOOM_DISMISS_MS */.m6);
6207
- }
6208
- }, /*#__PURE__*/external_react_["default"].createElement("div", {
6209
- ref: flyoutRef,
6292
+ },
6293
+ role: "group"
6294
+ }, /*#__PURE__*/external_react_["default"].createElement(MediaToggle/* default */.A, {
6295
+ "aria-disabled": isAtMaxZoom,
6296
+ className: "bp-WaveformZoomControl-button",
6297
+ "data-resin-target": "waveformZoomIn",
6298
+ "data-testid": "bp-waveform-zoom-in",
6299
+ onClick: () => {
6300
+ if (!isAtMaxZoom) {
6301
+ handleStep(constants/* WAVEFORM_ZOOM_BUTTON_STEP */.QD);
6302
+ }
6303
+ },
6304
+ title: "Zoom in"
6305
+ }, /*#__PURE__*/external_react_["default"].createElement(icons_IconZoomIn24, null)), /*#__PURE__*/external_react_["default"].createElement("div", {
6210
6306
  "aria-hidden": !isOpen,
6211
6307
  className: classnames_default()('bp-WaveformZoomControl-flyout', {
6212
6308
  'bp-is-open': isOpen
6213
6309
  })
6214
- }, /*#__PURE__*/external_react_["default"].createElement(SliderControl/* default */.A, {
6310
+ }, /*#__PURE__*/external_react_["default"].createElement(MediaToggle/* default */.A, {
6311
+ "aria-disabled": isAtMinZoom,
6312
+ className: "bp-WaveformZoomControl-button",
6313
+ "data-resin-target": "waveformZoomOut",
6314
+ "data-testid": "bp-waveform-zoom-out",
6315
+ onClick: () => {
6316
+ if (!isAtMinZoom) {
6317
+ handleStep(-constants/* WAVEFORM_ZOOM_BUTTON_STEP */.QD);
6318
+ }
6319
+ },
6320
+ tabIndex: isOpen ? 0 : -1,
6321
+ title: "Zoom out"
6322
+ }, /*#__PURE__*/external_react_["default"].createElement(icons_IconZoomOut24, null)), /*#__PURE__*/external_react_["default"].createElement(SliderControl/* default */.A, {
6215
6323
  "aria-hidden": !isOpen,
6216
6324
  className: "bp-WaveformZoomControl-slider",
6217
6325
  "data-resin-target": "waveformZoomSlider",
@@ -6226,14 +6334,7 @@ function WaveformZoomControl({
6226
6334
  tabIndex: isOpen ? 0 : -1,
6227
6335
  title: "Zoom Slider",
6228
6336
  value: zoomValue
6229
- })), /*#__PURE__*/external_react_["default"].createElement(MediaToggle/* default */.A, {
6230
- "aria-controls": sliderId,
6231
- "aria-expanded": isOpen,
6232
- className: "bp-WaveformZoomControl-toggle",
6233
- "data-resin-target": "waveformZoom",
6234
- onClick: handleToggleClick,
6235
- title: "Zoom"
6236
- }, /*#__PURE__*/external_react_["default"].createElement(icons_IconZoom24, null)));
6337
+ })));
6237
6338
  }
6238
6339
  ;// ./src/lib/viewers/media/MP3ControlsV2.scss
6239
6340
  // extracted by mini-css-extract-plugin
@@ -6489,6 +6590,7 @@ function isFpsAvailable(player) {
6489
6590
  /* harmony export */ LW: () => (/* binding */ WAVEFORM_ZOOM_MIN),
6490
6591
  /* harmony export */ Lu: () => (/* binding */ WAVEFORM_BAR_GAP),
6491
6592
  /* harmony export */ NM: () => (/* binding */ WAVEFORM_FOLLOW_INSET_PX),
6593
+ /* harmony export */ QD: () => (/* binding */ WAVEFORM_ZOOM_BUTTON_STEP),
6492
6594
  /* harmony export */ XS: () => (/* binding */ WAVEFORM_BAR_MIN_HEIGHT),
6493
6595
  /* harmony export */ Zs: () => (/* binding */ WAVEFORM_FOLLOW_SCROLL_SETTLE_MS),
6494
6596
  /* harmony export */ f3: () => (/* binding */ CLIENT_DECODE_PEAK_COUNT),
@@ -6532,6 +6634,8 @@ const WAVEFORM_ZOOM_MAX = 24;
6532
6634
  /** Visible window never shorter than this. */
6533
6635
  const WAVEFORM_MIN_VIEW_WINDOW_SEC = 4;
6534
6636
  const WAVEFORM_ZOOM_SLIDER_MAX = 100;
6637
+ /** One click on zoom in/out moves this many units on the 0–100 slider. */
6638
+ const WAVEFORM_ZOOM_BUTTON_STEP = 10;
6535
6639
  const WAVEFORM_ZOOM_DISMISS_MS = 250;
6536
6640
  const WAVEFORM_FOLLOW_INSET_PX = 200;
6537
6641
  const WAVEFORM_PLAYHEAD_JUMP_MS = 400;
@@ -22920,7 +23024,7 @@ class Browser {
22920
23024
  ;// ./src/lib/Logger.js
22921
23025
  /* eslint-disable no-undef */
22922
23026
  const CLIENT_NAME = "box-content-preview";
22923
- const CLIENT_VERSION = "3.87.0";
23027
+ const CLIENT_VERSION = "3.89.0";
22924
23028
  /* eslint-enable no-undef */
22925
23029
 
22926
23030
  class Logger {
@@ -35771,7 +35875,7 @@ class MP3Viewer extends media_MediaBaseViewer {
35771
35875
  * @return {Promise<{ default: Function }>} MP3ControlsV2 module
35772
35876
  */
35773
35877
  importV2Controls() {
35774
- return Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 9286));
35878
+ return Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 6180));
35775
35879
  }
35776
35880
 
35777
35881
  /**
@@ -37670,8 +37774,6 @@ function VideoControls({
37670
37774
  }
37671
37775
  // EXTERNAL MODULE: ./src/lib/viewers/controls/media/TimestampControl.tsx + 1 modules
37672
37776
  var TimestampControl = __webpack_require__(3904);
37673
- // EXTERNAL MODULE: ./src/lib/viewers/controls/media/buildClusters.ts
37674
- var buildClusters = __webpack_require__(2400);
37675
37777
  // EXTERNAL MODULE: ./src/lib/viewers/media/formatTimecode.ts
37676
37778
  var formatTimecode = __webpack_require__(4179);
37677
37779
  ;// ./src/lib/viewers/controls/media/FilmstripV2.scss
@@ -37752,18 +37854,89 @@ function FilmstripV2({
37752
37854
  "data-testid": "bp-FilmstripV2-time"
37753
37855
  }, fps ? (0,formatTimecode/* default */.A)(time, fps) : (0,DurationLabels/* formatTime */.f)(time)));
37754
37856
  }
37755
- // EXTERNAL MODULE: ./src/lib/viewers/controls/media/MarkerAvatarStack.tsx + 1 modules
37756
- var MarkerAvatarStack = __webpack_require__(9232);
37757
- ;// ./src/lib/viewers/controls/media/MarkerCluster.scss
37857
+ // EXTERNAL MODULE: ./src/lib/viewers/controls/media/markers/helpers/useDismissableMarkerSelection.ts
37858
+ var useDismissableMarkerSelection = __webpack_require__(2378);
37859
+ // EXTERNAL MODULE: ./src/lib/viewers/controls/media/markers/helpers/buildClusters.ts
37860
+ var buildClusters = __webpack_require__(5510);
37861
+ // EXTERNAL MODULE: ./src/lib/viewers/controls/media/markers/MarkerAvatar.tsx + 1 modules
37862
+ var MarkerAvatar = __webpack_require__(2040);
37863
+ // EXTERNAL MODULE: ./src/lib/viewers/controls/media/markers/MarkerAvatarStack.tsx + 1 modules
37864
+ var MarkerAvatarStack = __webpack_require__(308);
37865
+ ;// ./src/lib/viewers/controls/media/markers/helpers/onMarkerGroupTickClick.ts
37866
+ /** Click the range/group tick: first member, unless one is already selected. */
37867
+ function onMarkerGroupTickClick(event, markers, selectedId, onMarkerClick) {
37868
+ event.stopPropagation();
37869
+ if (selectedId && markers.some(marker => marker.id === selectedId)) {
37870
+ return;
37871
+ }
37872
+ onMarkerClick?.(markers[0]);
37873
+ }
37874
+ ;// ./src/lib/viewers/controls/media/markers/MarkerTick.tsx
37875
+
37876
+
37877
+
37878
+
37879
+ function MarkerTick({
37880
+ markers,
37881
+ onMarkerClick,
37882
+ position,
37883
+ selectedId
37884
+ }) {
37885
+ const isGroup = markers.length > 1;
37886
+ const isSelected = !isGroup && markers[0].id === selectedId;
37887
+ const className = `bp-TimeControlsV2-marker${isGroup ? ' bp-TimeControlsV2-marker--group' : ''}${isSelected ? ' bp-TimeControlsV2-marker--selected' : ''}`;
37888
+ const style = {
37889
+ left: `${position}%`
37890
+ };
37891
+ if (isGroup) {
37892
+ return /*#__PURE__*/external_react_["default"].createElement("div", {
37893
+ className: className,
37894
+ "data-bp-marker-group": "",
37895
+ "data-testid": "bp-time-controls-marker",
37896
+ style: style
37897
+ }, /*#__PURE__*/external_react_["default"].createElement("button", {
37898
+ "aria-label": "Comment marker",
37899
+ className: "bp-TimeControlsV2-marker-tick",
37900
+ "data-resin-target": "commentMarkerGroup",
37901
+ onClick: e => onMarkerGroupTickClick(e, markers, selectedId, onMarkerClick),
37902
+ type: "button"
37903
+ }), /*#__PURE__*/external_react_["default"].createElement(MarkerAvatarStack/* default */.A, {
37904
+ markers: markers,
37905
+ onMarkerClick: onMarkerClick,
37906
+ selectedId: selectedId
37907
+ }));
37908
+ }
37909
+ return /*#__PURE__*/external_react_["default"].createElement("button", {
37910
+ "aria-label": "Comment marker",
37911
+ "aria-pressed": isSelected,
37912
+ className: className,
37913
+ "data-bp-marker-selected": isSelected ? '' : undefined,
37914
+ "data-resin-target": "commentMarker",
37915
+ "data-testid": "bp-time-controls-marker",
37916
+ onClick: e => {
37917
+ e.stopPropagation();
37918
+ onMarkerClick?.(markers[0]);
37919
+ },
37920
+ style: style,
37921
+ type: "button"
37922
+ }, /*#__PURE__*/external_react_["default"].createElement(MarkerAvatar/* default */.A, {
37923
+ avatarUrl: markers[0].avatarUrl,
37924
+ colorIndex: markers[0].colorIndex,
37925
+ initial: markers[0].initial
37926
+ }));
37927
+ }
37928
+ ;// ./src/lib/viewers/controls/media/markers/MarkerCluster.scss
37758
37929
  // extracted by mini-css-extract-plugin
37759
37930
 
37760
- ;// ./src/lib/viewers/controls/media/MarkerCluster.tsx
37931
+ ;// ./src/lib/viewers/controls/media/markers/MarkerCluster.tsx
37932
+
37761
37933
 
37762
37934
 
37763
37935
 
37764
37936
  function MarkerCluster({
37765
37937
  cluster,
37766
- onMarkerClick
37938
+ onMarkerClick,
37939
+ selectedId
37767
37940
  }) {
37768
37941
  const {
37769
37942
  markers,
@@ -37776,54 +37949,19 @@ function MarkerCluster({
37776
37949
  };
37777
37950
  return /*#__PURE__*/external_react_["default"].createElement("div", {
37778
37951
  className: "bp-MarkerCluster",
37952
+ "data-bp-marker-group": "",
37779
37953
  "data-testid": "bp-marker-cluster",
37780
37954
  style: style
37781
37955
  }, /*#__PURE__*/external_react_["default"].createElement("button", {
37782
37956
  "aria-label": "Comment marker",
37783
37957
  className: "bp-MarkerCluster-tick",
37784
37958
  "data-resin-target": "commentMarkerCluster",
37785
- onClick: e => {
37786
- e.stopPropagation();
37787
- onMarkerClick?.(markers[0]);
37788
- },
37959
+ onClick: e => onMarkerGroupTickClick(e, markers, selectedId, onMarkerClick),
37789
37960
  type: "button"
37790
37961
  }), /*#__PURE__*/external_react_["default"].createElement(MarkerAvatarStack/* default */.A, {
37791
37962
  markers: markers,
37792
- onMarkerClick: onMarkerClick
37793
- }));
37794
- }
37795
- // EXTERNAL MODULE: ./src/lib/viewers/controls/media/MarkerAvatar.tsx + 1 modules
37796
- var MarkerAvatar = __webpack_require__(3524);
37797
- ;// ./src/lib/viewers/controls/media/MarkerTick.tsx
37798
-
37799
-
37800
-
37801
- function MarkerTick({
37802
- markers,
37803
- onMarkerClick,
37804
- position
37805
- }) {
37806
- const isGroup = markers.length > 1;
37807
- return /*#__PURE__*/external_react_["default"].createElement("button", {
37808
- "aria-label": "Comment marker",
37809
- className: `bp-TimeControlsV2-marker${isGroup ? ' bp-TimeControlsV2-marker--group' : ''}`,
37810
- "data-resin-target": "commentMarker",
37811
- "data-testid": "bp-time-controls-marker",
37812
- onClick: e => {
37813
- e.stopPropagation();
37814
- onMarkerClick?.(markers[0]);
37815
- },
37816
- style: {
37817
- left: `${position}%`
37818
- },
37819
- type: "button"
37820
- }, isGroup ? /*#__PURE__*/external_react_["default"].createElement(MarkerAvatarStack/* default */.A, {
37821
- markers: markers,
37822
- onMarkerClick: onMarkerClick
37823
- }) : /*#__PURE__*/external_react_["default"].createElement(MarkerAvatar/* default */.A, {
37824
- avatarUrl: markers[0].avatarUrl,
37825
- colorIndex: markers[0].colorIndex,
37826
- initial: markers[0].initial
37963
+ onMarkerClick: onMarkerClick,
37964
+ selectedId: selectedId
37827
37965
  }));
37828
37966
  }
37829
37967
  // EXTERNAL MODULE: ./src/lib/viewers/controls/media/utils.ts
@@ -37841,8 +37979,6 @@ var utils = __webpack_require__(5346);
37841
37979
 
37842
37980
 
37843
37981
 
37844
-
37845
-
37846
37982
  const TRACK_COLOR_BUFFERED = 'rgb(127, 127, 127)';
37847
37983
  const TRACK_COLOR_UNPLAYED = 'rgb(85, 85, 85)';
37848
37984
  function TimeControlsV2({
@@ -37863,6 +37999,12 @@ function TimeControlsV2({
37863
37999
  const [hoverTime, setHoverTime] = external_react_["default"].useState(0);
37864
38000
  const [trackWidth, setTrackWidth] = external_react_["default"].useState(0);
37865
38001
  const scrubberRef = external_react_["default"].useRef(null);
38002
+ const hostSelectedId = external_react_["default"].useMemo(() => commentMarkers.find(marker => marker.isSelected)?.id ?? null, [commentMarkers]);
38003
+ const {
38004
+ containerRef,
38005
+ selectMarker,
38006
+ selectedId
38007
+ } = (0,useDismissableMarkerSelection/* default */.A)(hostSelectedId);
37866
38008
  const currentValue = isFinite_default()(currentTime) ? currentTime : 0;
37867
38009
  const durationValue = isFinite_default()(durationTime) ? durationTime : 0;
37868
38010
  const currentPercentage = (0,utils/* percent */.K)(currentValue, durationValue);
@@ -37880,6 +38022,10 @@ function TimeControlsV2({
37880
38022
  observer.observe(el);
37881
38023
  return () => observer.disconnect();
37882
38024
  }, []);
38025
+ const handleMarkerClick = external_react_["default"].useCallback(marker => {
38026
+ selectMarker(marker.id);
38027
+ onCommentMarkerClick?.(marker);
38028
+ }, [onCommentMarkerClick, selectMarker]);
37883
38029
  const clusters = external_react_["default"].useMemo(() => (0,buildClusters/* default */.A)(commentMarkers, durationValue, trackWidth), [commentMarkers, durationValue, trackWidth]);
37884
38030
  const trackMask = external_react_["default"].useMemo(() => {
37885
38031
  if (durationValue <= 0 || clusters.length === 0) return undefined;
@@ -37907,6 +38053,7 @@ function TimeControlsV2({
37907
38053
  setHoverTime(newTime);
37908
38054
  };
37909
38055
  return /*#__PURE__*/external_react_["default"].createElement("div", {
38056
+ ref: containerRef,
37910
38057
  className: "bp-TimeControlsV2",
37911
38058
  "data-testid": "bp-time-controls-v2"
37912
38059
  }, !!filmstripInterval && /*#__PURE__*/external_react_["default"].createElement(FilmstripV2, {
@@ -37942,12 +38089,14 @@ function TimeControlsV2({
37942
38089
  }), durationValue > 0 && clusters.map(cluster => cluster.isSinglePoint ? /*#__PURE__*/external_react_["default"].createElement(MarkerTick, {
37943
38090
  key: cluster.id,
37944
38091
  markers: cluster.markers,
37945
- onMarkerClick: onCommentMarkerClick,
37946
- position: cluster.leftPercent
38092
+ onMarkerClick: handleMarkerClick,
38093
+ position: cluster.leftPercent,
38094
+ selectedId: selectedId
37947
38095
  }) : /*#__PURE__*/external_react_["default"].createElement(MarkerCluster, {
37948
38096
  key: cluster.id,
37949
38097
  cluster: cluster,
37950
- onMarkerClick: onCommentMarkerClick
38098
+ onMarkerClick: handleMarkerClick,
38099
+ selectedId: selectedId
37951
38100
  }))));
37952
38101
  }
37953
38102
  ;// ./src/lib/viewers/controls/media/VideoFullscreenButton.scss
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "box-content-preview",
3
- "version": "3.87.0",
3
+ "version": "3.89.0",
4
4
  "description": "Box Content Preview UI Element",
5
5
  "author": "Box (https://www.box.com/)",
6
6
  "license": "SEE LICENSE IN LICENSE",