box-content-preview 3.88.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.88.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.88.0
25
+ - Version: v3.89.0
26
26
  - Locale: en-US
27
27
 
28
- https://cdn01.boxcdn.net/platform/preview/3.88.0/en-US/preview.js
29
- https://cdn01.boxcdn.net/platform/preview/3.88.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.88.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.88.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.88.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,9 +57,9 @@
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
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}}
@@ -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.88.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
 
@@ -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
  }
@@ -22968,7 +23024,7 @@ class Browser {
22968
23024
  ;// ./src/lib/Logger.js
22969
23025
  /* eslint-disable no-undef */
22970
23026
  const CLIENT_NAME = "box-content-preview";
22971
- const CLIENT_VERSION = "3.88.0";
23027
+ const CLIENT_VERSION = "3.89.0";
22972
23028
  /* eslint-enable no-undef */
22973
23029
 
22974
23030
  class Logger {
@@ -37718,8 +37774,6 @@ function VideoControls({
37718
37774
  }
37719
37775
  // EXTERNAL MODULE: ./src/lib/viewers/controls/media/TimestampControl.tsx + 1 modules
37720
37776
  var TimestampControl = __webpack_require__(3904);
37721
- // EXTERNAL MODULE: ./src/lib/viewers/controls/media/buildClusters.ts
37722
- var buildClusters = __webpack_require__(2400);
37723
37777
  // EXTERNAL MODULE: ./src/lib/viewers/media/formatTimecode.ts
37724
37778
  var formatTimecode = __webpack_require__(4179);
37725
37779
  ;// ./src/lib/viewers/controls/media/FilmstripV2.scss
@@ -37800,18 +37854,89 @@ function FilmstripV2({
37800
37854
  "data-testid": "bp-FilmstripV2-time"
37801
37855
  }, fps ? (0,formatTimecode/* default */.A)(time, fps) : (0,DurationLabels/* formatTime */.f)(time)));
37802
37856
  }
37803
- // EXTERNAL MODULE: ./src/lib/viewers/controls/media/MarkerAvatarStack.tsx + 1 modules
37804
- var MarkerAvatarStack = __webpack_require__(9232);
37805
- ;// ./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
37806
37929
  // extracted by mini-css-extract-plugin
37807
37930
 
37808
- ;// ./src/lib/viewers/controls/media/MarkerCluster.tsx
37931
+ ;// ./src/lib/viewers/controls/media/markers/MarkerCluster.tsx
37932
+
37809
37933
 
37810
37934
 
37811
37935
 
37812
37936
  function MarkerCluster({
37813
37937
  cluster,
37814
- onMarkerClick
37938
+ onMarkerClick,
37939
+ selectedId
37815
37940
  }) {
37816
37941
  const {
37817
37942
  markers,
@@ -37824,54 +37949,19 @@ function MarkerCluster({
37824
37949
  };
37825
37950
  return /*#__PURE__*/external_react_["default"].createElement("div", {
37826
37951
  className: "bp-MarkerCluster",
37952
+ "data-bp-marker-group": "",
37827
37953
  "data-testid": "bp-marker-cluster",
37828
37954
  style: style
37829
37955
  }, /*#__PURE__*/external_react_["default"].createElement("button", {
37830
37956
  "aria-label": "Comment marker",
37831
37957
  className: "bp-MarkerCluster-tick",
37832
37958
  "data-resin-target": "commentMarkerCluster",
37833
- onClick: e => {
37834
- e.stopPropagation();
37835
- onMarkerClick?.(markers[0]);
37836
- },
37959
+ onClick: e => onMarkerGroupTickClick(e, markers, selectedId, onMarkerClick),
37837
37960
  type: "button"
37838
37961
  }), /*#__PURE__*/external_react_["default"].createElement(MarkerAvatarStack/* default */.A, {
37839
37962
  markers: markers,
37840
- onMarkerClick: onMarkerClick
37841
- }));
37842
- }
37843
- // EXTERNAL MODULE: ./src/lib/viewers/controls/media/MarkerAvatar.tsx + 1 modules
37844
- var MarkerAvatar = __webpack_require__(3524);
37845
- ;// ./src/lib/viewers/controls/media/MarkerTick.tsx
37846
-
37847
-
37848
-
37849
- function MarkerTick({
37850
- markers,
37851
- onMarkerClick,
37852
- position
37853
- }) {
37854
- const isGroup = markers.length > 1;
37855
- return /*#__PURE__*/external_react_["default"].createElement("button", {
37856
- "aria-label": "Comment marker",
37857
- className: `bp-TimeControlsV2-marker${isGroup ? ' bp-TimeControlsV2-marker--group' : ''}`,
37858
- "data-resin-target": "commentMarker",
37859
- "data-testid": "bp-time-controls-marker",
37860
- onClick: e => {
37861
- e.stopPropagation();
37862
- onMarkerClick?.(markers[0]);
37863
- },
37864
- style: {
37865
- left: `${position}%`
37866
- },
37867
- type: "button"
37868
- }, isGroup ? /*#__PURE__*/external_react_["default"].createElement(MarkerAvatarStack/* default */.A, {
37869
- markers: markers,
37870
- onMarkerClick: onMarkerClick
37871
- }) : /*#__PURE__*/external_react_["default"].createElement(MarkerAvatar/* default */.A, {
37872
- avatarUrl: markers[0].avatarUrl,
37873
- colorIndex: markers[0].colorIndex,
37874
- initial: markers[0].initial
37963
+ onMarkerClick: onMarkerClick,
37964
+ selectedId: selectedId
37875
37965
  }));
37876
37966
  }
37877
37967
  // EXTERNAL MODULE: ./src/lib/viewers/controls/media/utils.ts
@@ -37889,8 +37979,6 @@ var utils = __webpack_require__(5346);
37889
37979
 
37890
37980
 
37891
37981
 
37892
-
37893
-
37894
37982
  const TRACK_COLOR_BUFFERED = 'rgb(127, 127, 127)';
37895
37983
  const TRACK_COLOR_UNPLAYED = 'rgb(85, 85, 85)';
37896
37984
  function TimeControlsV2({
@@ -37911,6 +37999,12 @@ function TimeControlsV2({
37911
37999
  const [hoverTime, setHoverTime] = external_react_["default"].useState(0);
37912
38000
  const [trackWidth, setTrackWidth] = external_react_["default"].useState(0);
37913
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);
37914
38008
  const currentValue = isFinite_default()(currentTime) ? currentTime : 0;
37915
38009
  const durationValue = isFinite_default()(durationTime) ? durationTime : 0;
37916
38010
  const currentPercentage = (0,utils/* percent */.K)(currentValue, durationValue);
@@ -37928,6 +38022,10 @@ function TimeControlsV2({
37928
38022
  observer.observe(el);
37929
38023
  return () => observer.disconnect();
37930
38024
  }, []);
38025
+ const handleMarkerClick = external_react_["default"].useCallback(marker => {
38026
+ selectMarker(marker.id);
38027
+ onCommentMarkerClick?.(marker);
38028
+ }, [onCommentMarkerClick, selectMarker]);
37931
38029
  const clusters = external_react_["default"].useMemo(() => (0,buildClusters/* default */.A)(commentMarkers, durationValue, trackWidth), [commentMarkers, durationValue, trackWidth]);
37932
38030
  const trackMask = external_react_["default"].useMemo(() => {
37933
38031
  if (durationValue <= 0 || clusters.length === 0) return undefined;
@@ -37955,6 +38053,7 @@ function TimeControlsV2({
37955
38053
  setHoverTime(newTime);
37956
38054
  };
37957
38055
  return /*#__PURE__*/external_react_["default"].createElement("div", {
38056
+ ref: containerRef,
37958
38057
  className: "bp-TimeControlsV2",
37959
38058
  "data-testid": "bp-time-controls-v2"
37960
38059
  }, !!filmstripInterval && /*#__PURE__*/external_react_["default"].createElement(FilmstripV2, {
@@ -37990,12 +38089,14 @@ function TimeControlsV2({
37990
38089
  }), durationValue > 0 && clusters.map(cluster => cluster.isSinglePoint ? /*#__PURE__*/external_react_["default"].createElement(MarkerTick, {
37991
38090
  key: cluster.id,
37992
38091
  markers: cluster.markers,
37993
- onMarkerClick: onCommentMarkerClick,
37994
- position: cluster.leftPercent
38092
+ onMarkerClick: handleMarkerClick,
38093
+ position: cluster.leftPercent,
38094
+ selectedId: selectedId
37995
38095
  }) : /*#__PURE__*/external_react_["default"].createElement(MarkerCluster, {
37996
38096
  key: cluster.id,
37997
38097
  cluster: cluster,
37998
- onMarkerClick: onCommentMarkerClick
38098
+ onMarkerClick: handleMarkerClick,
38099
+ selectedId: selectedId
37999
38100
  }))));
38000
38101
  }
38001
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.88.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",