box-content-preview 3.98.0 → 3.99.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.98.0-blue.svg?style=flat-square)](https://github.com/box/box-content-preview)
5
+ [![version](https://img.shields.io/badge/version-v3.99.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.98.0
25
+ - Version: v3.99.0
26
26
  - Locale: en-US
27
27
 
28
- https://cdn01.boxcdn.net/platform/preview/3.98.0/en-US/preview.js
29
- https://cdn01.boxcdn.net/platform/preview/3.98.0/en-US/preview.css
28
+ https://cdn01.boxcdn.net/platform/preview/3.99.0/en-US/preview.js
29
+ https://cdn01.boxcdn.net/platform/preview/3.99.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.98.0/en-US/preview.js"></script>
55
+ <script src="https://cdn01.boxcdn.net/platform/preview/3.99.0/en-US/preview.js"></script>
56
56
  <link
57
57
  rel="stylesheet"
58
- href="https://cdn01.boxcdn.net/platform/preview/3.98.0/en-US/preview.css"
58
+ href="https://cdn01.boxcdn.net/platform/preview/3.99.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.98.0`
79
+ - Check out a specific version with `git checkout v3.99.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`
@@ -62,8 +62,8 @@
62
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,.bp-WaveformCommentMarkers--tape{padding:0;overflow:clip visible}.bp-WaveformCommentMarkers--tape{top:auto;bottom:100%;margin-bottom:12px}.bp-WaveformCommentMarkers-track{position:relative;width:100%;height:100%;overflow:visible}.bp-WaveformCommentMarkers--zoomed .bp-WaveformCommentMarkers-track,.bp-WaveformCommentMarkers--tape .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-WaveformGeneratingIndicator{display:flex;gap:4px;align-items:center;height:48px;padding:8px 16px 8px 12px;pointer-events:none}.bp-WaveformGeneratingIndicator-bars{display:flex;flex:0 0 24px;align-items:center;justify-content:center;width:24px;height:24px}.bp-WaveformGeneratingIndicator-bar{width:2px;height:10px;background:rgba(255,255,255,.3);border-radius:6px;animation:bp-WaveformGeneratingIndicator-pulse .66s ease-in-out infinite}.bp-WaveformGeneratingIndicator-bar:nth-child(2){margin-left:2px;animation-delay:.1s}.bp-WaveformGeneratingIndicator-bar:last-child{margin-left:2px;animation-delay:.2s}.bp-WaveformGeneratingIndicator-label{color:#fff;font-weight:normal;font-size:14px;line-height:22px;white-space:nowrap}@keyframes bp-WaveformGeneratingIndicator-pulse{0%,80%,100%{background:rgba(255,255,255,.3);transform:scaleY(1.2)}40%{background:#fff;transform:scaleY(1.6)}}@media(prefers-reduced-motion: reduce){.bp-WaveformGeneratingIndicator-bar{animation:none;background:#fff;transform:none}}
64
64
  .bp-WaveformShuttle{position:absolute;top:48px;left:50%;z-index:6;display:flex;gap:4px;align-items:center;height:48px;padding:8px 16px;color:#fff;background:rgba(255,255,255,.1);border-radius:24px;box-shadow:0 2px 12px rgba(0,0,0,.08);transform:translateX(-50%);backdrop-filter:blur(60px);pointer-events:none;-webkit-user-select:none;user-select:none}.bp-WaveformShuttle-glyph{display:block;flex:0 0 auto;width:19px;height:11px}.bp-WaveformShuttle.bp-is-reverse .bp-WaveformShuttle-glyph{transform:scaleX(-1)}.bp-WaveformShuttle-rate{font-weight:500;font-size:14px;line-height:22px;white-space:nowrap}
65
- .bp-WaveformRange{position:absolute;inset:0;z-index:2;pointer-events:none}.bp-WaveformRange-region{position:absolute;top:50%;box-sizing:border-box;height:150px;pointer-events:none;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.4);border-radius:10px;box-shadow:0 0 0 1px #222;transform:translateY(-50%);transition:border-width 100ms ease,border-color 100ms ease}.bp-WaveformRange--swiping .bp-WaveformRange-region{visibility:hidden}.bp-WaveformRange--highlight .bp-WaveformRange-region,.bp-WaveformRange:has(.bp-WaveformRange-handle:hover) .bp-WaveformRange-region,.bp-WaveformRange:has(.bp-WaveformRange-handle--dragging) .bp-WaveformRange-region{border-width:2px;border-color:#fff}.bp-WaveformRange-handle{position:absolute;top:50%;z-index:1;width:24px;height:150px;pointer-events:auto;cursor:ew-resize;touch-action:none;transform:translate(-50%, -50%)}.bp-WaveformRange-handle--end{z-index:2}.bp-WaveformRange-handleGrip{position:absolute;top:50%;left:50%;width:8px;height:20px;background:#fff;border:1px solid #222;border-radius:4px;box-shadow:0 1px 4px rgba(0,0,0,.4);opacity:0;pointer-events:none;transform:translate(-50%, -50%) scale(0.5);transition:opacity 100ms ease-in,transform 100ms ease-in}.bp-WaveformRange-handle:hover .bp-WaveformRange-handleGrip,.bp-WaveformRange-handle:focus-visible .bp-WaveformRange-handleGrip,.bp-WaveformRange-handle--dragging .bp-WaveformRange-handleGrip{opacity:1;transform:translate(-50%, -50%) scale(1);transition:opacity 150ms ease-out,transform 150ms ease-out}.bp-WaveformRange-comment{position:absolute;top:calc(50% - 75px);z-index:5;display:inline-flex;gap:8px;align-items:center;justify-content:center;box-sizing:border-box;height:48px;padding:8px 14px;color:rgba(255,255,255,.8);font-weight:normal;font-size:14px;font-family:Lato,Arial,sans-serif;line-height:22px;letter-spacing:.1px;white-space:nowrap;background:rgba(0,0,0,.8);border:0;backdrop-filter:blur(12px);border-radius:46px;box-shadow:0 2px 4px 0 rgba(0,0,0,.12);transform:translate(-50%, calc(-100% - 36px));cursor:pointer;appearance:none;pointer-events:auto}.bp-WaveformRange-commentIcon{display:block;flex:0 0 auto;width:20px;height:20px}.bp-WaveformView--tape .bp-WaveformRange-comment{top:calc(50% - (100% + 10px) / 2)}.bp-WaveformRange-tooltip{position:absolute;top:100%;z-index:3;margin-top:4px;pointer-events:none;transform:translateX(-50%)}.bp-WaveformRange-tooltipTime{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}@media(prefers-reduced-motion: reduce){.bp-WaveformRange-region,.bp-WaveformRange-handleGrip{transition:none}}
66
- .bp-WaveformView{box-sizing:border-box;width:100%;height:206px;min-height:206px;padding:0 60px;overflow:visible;background:none;-webkit-tap-highlight-color:transparent}.bp-WaveformView.bp-WaveformView--zoomed,.bp-WaveformView.bp-WaveformView--tape{padding:0;touch-action:none}.bp-WaveformView.bp-WaveformView--zoomed .bp-WaveformView-canvas,.bp-WaveformView.bp-WaveformView--tape .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),.bp-WaveformView.bp-WaveformView--tape .bp-WaveformView-canvas>*::part(scroll){overscroll-behavior-x:none}.bp-WaveformView.bp-WaveformView--tape{flex:1 1 auto;height:100%;min-height:0}.bp-WaveformView.bp-WaveformView--tape .bp-WaveformView-canvas{height:100%}.bp-WaveformView.bp-WaveformView--tape .bp-WaveformView-canvas>*::part(scroll){scrollbar-width:none}.bp-WaveformView.bp-WaveformView--tape .bp-WaveformView-playhead,.bp-WaveformView.bp-WaveformView--tape .bp-WaveformRange-region,.bp-WaveformView.bp-WaveformView--tape .bp-WaveformRange-handle{height:calc(100% + 10px)}.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-hover--tape{top:-24px;left:50%;z-index:5;margin-top:0;transform:translate(-50%, -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}.bp-WaveformView--inert .bp-WaveformRange-handle,.bp-WaveformView--inert .bp-WaveformRange-comment{pointer-events:none;cursor:default}.bp-WaveformView:not(:hover) .bp-WaveformRange:not(.bp-WaveformRange--persist){opacity:.4}
65
+ .bp-WaveformRange{position:absolute;inset:0;z-index:2;pointer-events:none}.bp-WaveformRange-region{position:absolute;top:50%;box-sizing:border-box;height:150px;pointer-events:none;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.4);border-radius:10px;box-shadow:0 0 0 1px #222;transform:translateY(-50%);transition:border-width 100ms ease,border-color 100ms ease}.bp-WaveformRange--swiping .bp-WaveformRange-region{visibility:hidden}.bp-WaveformRange--highlight .bp-WaveformRange-region,.bp-WaveformRange:has(.bp-WaveformRange-handle:hover) .bp-WaveformRange-region,.bp-WaveformRange:has(.bp-WaveformRange-handle--dragging) .bp-WaveformRange-region{border-width:2px;border-color:#fff}.bp-WaveformRange-handle{position:absolute;top:50%;z-index:1;width:24px;height:150px;pointer-events:auto;cursor:ew-resize;touch-action:none;transform:translate(-50%, -50%)}.bp-WaveformRange-handle--end{z-index:2}.bp-WaveformRange-handleGrip{position:absolute;top:50%;left:50%;width:8px;height:20px;background:#fff;border:1px solid #222;border-radius:4px;box-shadow:0 1px 4px rgba(0,0,0,.4);opacity:0;pointer-events:none;transform:translate(-50%, -50%) scale(0.5);transition:opacity 100ms ease-in,transform 100ms ease-in}.bp-WaveformRange-handle:hover .bp-WaveformRange-handleGrip,.bp-WaveformRange-handle:focus-visible .bp-WaveformRange-handleGrip,.bp-WaveformRange-handle--dragging .bp-WaveformRange-handleGrip{opacity:1;transform:translate(-50%, -50%) scale(1);transition:opacity 150ms ease-out,transform 150ms ease-out}.bp-WaveformRange-comment{position:absolute;top:calc(50% - 75px);z-index:5;display:inline-flex;gap:8px;align-items:center;justify-content:center;box-sizing:border-box;height:48px;padding:8px 14px;color:rgba(255,255,255,.8);font-weight:normal;font-size:14px;font-family:Lato,Arial,sans-serif;line-height:22px;letter-spacing:.1px;white-space:nowrap;background:rgba(0,0,0,.8);border:0;backdrop-filter:blur(12px);border-radius:46px;box-shadow:0 2px 4px 0 rgba(0,0,0,.12);transform:translate(-50%, calc(-100% - 36px));cursor:pointer;appearance:none;pointer-events:auto}.bp-WaveformRange-comment--withClear{gap:4px;padding:8px 8px 8px 12px;cursor:default}.bp-WaveformRange-comment--clearOnly{width:48px;height:48px;padding:0;border-radius:50%}.bp-WaveformRange-commentLabel,.bp-WaveformRange-commentClear{display:inline-flex;align-items:center;justify-content:center;padding:0;color:inherit;font:inherit;letter-spacing:inherit;background:transparent;border:0;cursor:pointer;appearance:none}.bp-WaveformRange-commentLabel{gap:8px;height:32px;padding:0 6px}.bp-WaveformRange-commentDivider{flex:0 0 auto;width:1px;height:16px;background:rgba(255,255,255,.4)}.bp-WaveformRange-commentClear{width:32px;height:32px;border-radius:50%}.bp-WaveformRange-commentIcon{display:block;flex:0 0 auto;width:20px;height:20px;fill:currentcolor}.bp-WaveformView--tape .bp-WaveformRange-comment{top:calc(50% - (100% + 10px) / 2)}.bp-WaveformRange-tooltip{position:absolute;top:100%;z-index:3;margin-top:4px;pointer-events:none;transform:translateX(-50%)}.bp-WaveformRange-tooltipTime{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}@media(prefers-reduced-motion: reduce){.bp-WaveformRange-region,.bp-WaveformRange-handleGrip{transition:none}}
66
+ .bp-WaveformView{box-sizing:border-box;width:100%;height:206px;min-height:206px;padding:0 60px;overflow:visible;background:none;-webkit-tap-highlight-color:transparent}.bp-WaveformView.bp-WaveformView--zoomed,.bp-WaveformView.bp-WaveformView--tape{padding:0;touch-action:none}.bp-WaveformView.bp-WaveformView--zoomed .bp-WaveformView-canvas,.bp-WaveformView.bp-WaveformView--tape .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),.bp-WaveformView.bp-WaveformView--tape .bp-WaveformView-canvas>*::part(scroll){overscroll-behavior-x:none}.bp-WaveformView.bp-WaveformView--tape{flex:1 1 auto;height:100%;min-height:0}.bp-WaveformView.bp-WaveformView--tape .bp-WaveformView-canvas{height:100%}.bp-WaveformView.bp-WaveformView--tape .bp-WaveformView-canvas>*::part(scroll){scrollbar-width:none}.bp-WaveformView.bp-WaveformView--tape .bp-WaveformView-playhead,.bp-WaveformView.bp-WaveformView--tape .bp-WaveformRange-region,.bp-WaveformView.bp-WaveformView--tape .bp-WaveformRange-handle{height:calc(100% + 10px)}.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-hover--tape{top:-24px;left:50%;z-index:5;margin-top:0;transform:translate(-50%, -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}.bp-WaveformView--inert .bp-WaveformRange-handle,.bp-WaveformView--inert .bp-WaveformRange-comment,.bp-WaveformView--inert .bp-WaveformRange-commentLabel,.bp-WaveformView--inert .bp-WaveformRange-commentClear{pointer-events:none;cursor:default}.bp-WaveformView:not(:hover) .bp-WaveformRange:not(.bp-WaveformRange--persist){opacity:.4}
67
67
  .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}
68
68
  .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-has-multiplier{padding:4px 4px 4px 12px}.bp-WaveformZoomControl.bp-has-multiplier:not(.bp-is-open){width:88px}.bp-WaveformZoomControl.bp-is-open{gap:8px;width:207px}.bp-WaveformZoomControl.bp-is-open.bp-has-multiplier{width:264px}.bp-WaveformZoomControl-multiplier{display:flex;flex:0 0 32px;order:-3;align-items:center;justify-content:center;width:32px;height:32px;color:#fff;font-weight:500;font-size:14px;line-height:22px;pointer-events:none;-webkit-user-select:none;user-select:none;white-space:nowrap}.bp-WaveformZoomControl-divider{display:none;flex:0 0 1px;order:-2;width:1px;height:28px;background:rgba(255,255,255,.3)}.bp-WaveformZoomControl.bp-is-open.bp-has-multiplier .bp-WaveformZoomControl-divider{display:block}.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}}
69
69
  .bp-MP3ControlsRoot:has(.bp-MP3ControlsV2){position:absolute;inset:0;width:100%;height:100%;transform:none;pointer-events:none}.bp-MP3ControlsV2{--bp-waveform-bar-min: 140px;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-stage:has(.bp-WaveformView--tape) .bp-MP3ControlsV2-waveform{display:flex;flex-direction:column;height:max(var(--bp-waveform-bar-min, 140px), 25%);min-height:0}.bp-MP3ControlsV2-waveformZoom{position:absolute;top:48px;right:48px;z-index:4;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}
package/dist/lib/index.js CHANGED
@@ -1029,7 +1029,7 @@ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e =
1029
1029
  const CLIENT_NAME = "box-content-preview"; // eslint-disable-line no-undef
1030
1030
  const CLIENT_NAME_KEY = 'box_client_name';
1031
1031
  const CLIENT_VERSION_KEY = 'box_client_version';
1032
- const CLIENT_VERSION = "3.98.0"; // eslint-disable-line no-undef
1032
+ const CLIENT_VERSION = "3.99.0"; // eslint-disable-line no-undef
1033
1033
  const HEADER_CLIENT_NAME = 'X-Box-Client-Name';
1034
1034
  const HEADER_CLIENT_VERSION = 'X-Box-Client-Version';
1035
1035
  const PROMISE_MAP = {};
@@ -2027,6 +2027,29 @@ function IconChevronUpMedium24(props) {
2027
2027
 
2028
2028
  /***/ },
2029
2029
 
2030
+ /***/ 8950
2031
+ (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
2032
+
2033
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2034
+ /* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__)
2035
+ /* harmony export */ });
2036
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1649);
2037
+ 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); }
2038
+
2039
+ function IconExit24(props) {
2040
+ return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("svg", _extends({
2041
+ focusable: "false",
2042
+ height: 24,
2043
+ viewBox: "0 0 19 19",
2044
+ width: 24
2045
+ }, props), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
2046
+ d: "m10 8.232 5.227-5.227a.625.625 0 0 1 .884 0l.884.884a.625.625 0 0 1 0 .884L11.767 10l5.228 5.227a.625.625 0 0 1 0 .884l-.884.884a.625.625 0 0 1-.884 0L10 11.767l-5.227 5.228a.625.625 0 0 1-.884 0l-.884-.884a.625.625 0 0 1 0-.884L8.233 10 3.005 4.772a.625.625 0 0 1 0-.883l.884-.884a.625.625 0 0 1 .884 0L10 8.233z"
2047
+ }));
2048
+ }
2049
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (IconExit24);
2050
+
2051
+ /***/ },
2052
+
2030
2053
  /***/ 7502
2031
2054
  (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
2032
2055
 
@@ -5648,6 +5671,8 @@ function IconComment24(props) {
5648
5671
  }));
5649
5672
  }
5650
5673
  /* harmony default export */ const icons_IconComment24 = (IconComment24);
5674
+ // EXTERNAL MODULE: ./src/lib/viewers/controls/icons/IconExit24.tsx
5675
+ var IconExit24 = __webpack_require__(8950);
5651
5676
  ;// ./src/lib/viewers/media/waveform/WaveformRangeSelection.scss
5652
5677
  // extracted by mini-css-extract-plugin
5653
5678
 
@@ -5660,6 +5685,10 @@ function IconComment24(props) {
5660
5685
 
5661
5686
 
5662
5687
 
5688
+
5689
+ function stopRangeEvent(event) {
5690
+ event.stopPropagation();
5691
+ }
5663
5692
  function offsetLeftCss(base, offsetPx) {
5664
5693
  if (!offsetPx) {
5665
5694
  return base;
@@ -5690,6 +5719,7 @@ function applyRegion(el, startSec, endSec, durationSec, viewport, collapsed) {
5690
5719
  el.style.width = `calc(${end} - ${start} + ${constants/* WAVEFORM_RANGE_HANDLE_LINE_PX */.h1}px)`;
5691
5720
  }
5692
5721
  const WaveformRangeSelection = /*#__PURE__*/(0,external_react_.forwardRef)(function WaveformRangeSelection({
5722
+ cameraMode = 'desktop',
5693
5723
  currentTimeSec = 0,
5694
5724
  durationSec,
5695
5725
  getPlayheadSec,
@@ -5697,11 +5727,12 @@ const WaveformRangeSelection = /*#__PURE__*/(0,external_react_.forwardRef)(funct
5697
5727
  interactive = true,
5698
5728
  isHighlighted = false,
5699
5729
  keepHighlight = true,
5700
- onDragCreate,
5701
5730
  onDragChange,
5731
+ onDragCreate,
5702
5732
  onDragPointerX,
5703
5733
  onPreviewChange,
5704
5734
  onRangeChange,
5735
+ onRangeClear,
5705
5736
  range,
5706
5737
  readOnly = false,
5707
5738
  viewport
@@ -5712,6 +5743,8 @@ const WaveformRangeSelection = /*#__PURE__*/(0,external_react_.forwardRef)(funct
5712
5743
  const endHandleRef = (0,external_react_.useRef)(null);
5713
5744
  const tooltipRef = (0,external_react_.useRef)(null);
5714
5745
  const commentRef = (0,external_react_.useRef)(null);
5746
+ const commentButtonRef = commentRef;
5747
+ const commentPillRef = commentRef;
5715
5748
  const dragRef = (0,external_react_.useRef)(null);
5716
5749
  const replayDragRef = (0,external_react_.useRef)(() => undefined);
5717
5750
  const rangeRef = (0,external_react_.useRef)(range);
@@ -5737,7 +5770,9 @@ const WaveformRangeSelection = /*#__PURE__*/(0,external_react_.forwardRef)(funct
5737
5770
  const durationMs = (0,waveform_range/* durationMsFromSec */.uH)(durationSec);
5738
5771
  const displayed = dragRange ?? (0,waveform_range/* resolveRange */.Ss)(range, durationMs);
5739
5772
  displayedRef.current = displayed;
5740
- const showCommentButton = !readOnly && Boolean(onDragCreate) && displayed.startMs !== displayed.endMs && activeHandle == null;
5773
+ const isRangeOpen = displayed.startMs !== displayed.endMs && activeHandle == null;
5774
+ const showCommentButton = !readOnly && Boolean(onDragCreate) && isRangeOpen;
5775
+ const showClearOnly = cameraMode === 'tape' && readOnly && onRangeClear != null && isRangeOpen;
5741
5776
  const syncPositions = (0,external_react_.useCallback)((next, nextViewport, nextDurationSec) => {
5742
5777
  displayedRef.current = next;
5743
5778
  const collapsed = next.startMs === next.endMs;
@@ -5771,7 +5806,7 @@ const WaveformRangeSelection = /*#__PURE__*/(0,external_react_.forwardRef)(funct
5771
5806
  }), [refreshRangePositions]);
5772
5807
  (0,external_react_.useLayoutEffect)(() => {
5773
5808
  syncPositions(displayedRef.current, viewportRef.current, durationSec);
5774
- }, [activeHandle, displayed.endMs, displayed.startMs, durationSec, showCommentButton, syncPositions]);
5809
+ }, [activeHandle, displayed.endMs, displayed.startMs, durationSec, showClearOnly, showCommentButton, syncPositions]);
5775
5810
  (0,external_react_.useLayoutEffect)(() => {
5776
5811
  const next = (0,waveform_viewport/* createWaveformViewport */.eq)({
5777
5812
  durationSec: viewport.durationSec,
@@ -5954,22 +5989,67 @@ const WaveformRangeSelection = /*#__PURE__*/(0,external_react_.forwardRef)(funct
5954
5989
  const tooltipMs = tooltipHandle === 'start' ? displayed.startMs : displayed.endMs;
5955
5990
  const collapsed = displayed.startMs === displayed.endMs;
5956
5991
  const highlight = isHighlighted || collapsed;
5957
- const commentButton = showCommentButton && onDragCreate ? /*#__PURE__*/external_react_["default"].createElement("button", {
5958
- ref: commentRef,
5959
- className: "bp-WaveformRange-comment",
5960
- "data-testid": "bp-waveform-range-comment",
5961
- onClick: event => {
5962
- event.stopPropagation();
5963
- onDragCreate();
5964
- },
5965
- onPointerDown: event => {
5966
- event.stopPropagation();
5967
- },
5968
- type: "button"
5969
- }, /*#__PURE__*/external_react_["default"].createElement(icons_IconComment24, {
5992
+ const commentLabel = /*#__PURE__*/external_react_["default"].createElement(external_react_["default"].Fragment, null, /*#__PURE__*/external_react_["default"].createElement(icons_IconComment24, {
5970
5993
  "aria-hidden": "true",
5971
5994
  className: "bp-WaveformRange-commentIcon"
5972
- }), "Comment") : null;
5995
+ }), "Comment");
5996
+ const isTapeClearAvailable = cameraMode === 'tape' && onRangeClear != null;
5997
+ let commentButton = null;
5998
+ if (showClearOnly && onRangeClear) {
5999
+ commentButton = /*#__PURE__*/external_react_["default"].createElement("button", {
6000
+ ref: commentButtonRef,
6001
+ "aria-label": "Clear",
6002
+ className: "bp-WaveformRange-comment bp-WaveformRange-comment--clearOnly",
6003
+ "data-testid": "bp-waveform-range-clear",
6004
+ onClick: event => {
6005
+ stopRangeEvent(event);
6006
+ onRangeClear();
6007
+ },
6008
+ onPointerDown: stopRangeEvent,
6009
+ onPointerUp: stopRangeEvent,
6010
+ type: "button"
6011
+ }, /*#__PURE__*/external_react_["default"].createElement(IconExit24/* default */.A, {
6012
+ "aria-hidden": "true",
6013
+ className: "bp-WaveformRange-commentIcon"
6014
+ }));
6015
+ } else if (showCommentButton && onDragCreate) {
6016
+ const commentAction = /*#__PURE__*/external_react_["default"].createElement("button", {
6017
+ ref: isTapeClearAvailable ? undefined : commentButtonRef,
6018
+ className: isTapeClearAvailable ? 'bp-WaveformRange-commentLabel' : 'bp-WaveformRange-comment',
6019
+ "data-testid": "bp-waveform-range-comment",
6020
+ onClick: event => {
6021
+ stopRangeEvent(event);
6022
+ onDragCreate();
6023
+ },
6024
+ onPointerDown: stopRangeEvent,
6025
+ onPointerUp: stopRangeEvent,
6026
+ type: "button"
6027
+ }, commentLabel);
6028
+ commentButton = isTapeClearAvailable ? /*#__PURE__*/external_react_["default"].createElement("div", {
6029
+ ref: commentPillRef,
6030
+ className: "bp-WaveformRange-comment bp-WaveformRange-comment--withClear",
6031
+ "data-testid": "bp-waveform-range-comment-pill",
6032
+ onPointerDown: stopRangeEvent,
6033
+ onPointerUp: stopRangeEvent
6034
+ }, commentAction, /*#__PURE__*/external_react_["default"].createElement("span", {
6035
+ "aria-hidden": "true",
6036
+ className: "bp-WaveformRange-commentDivider"
6037
+ }), /*#__PURE__*/external_react_["default"].createElement("button", {
6038
+ "aria-label": "Clear",
6039
+ className: "bp-WaveformRange-commentClear",
6040
+ "data-testid": "bp-waveform-range-clear",
6041
+ onClick: event => {
6042
+ stopRangeEvent(event);
6043
+ onRangeClear();
6044
+ },
6045
+ onPointerDown: stopRangeEvent,
6046
+ onPointerUp: stopRangeEvent,
6047
+ type: "button"
6048
+ }, /*#__PURE__*/external_react_["default"].createElement(IconExit24/* default */.A, {
6049
+ "aria-hidden": "true",
6050
+ className: "bp-WaveformRange-commentIcon"
6051
+ }))) : commentAction;
6052
+ }
5973
6053
  return /*#__PURE__*/external_react_["default"].createElement("div", {
5974
6054
  ref: rootRef,
5975
6055
  className: classnames_default()('bp-WaveformRange', {
@@ -6293,6 +6373,8 @@ function WaveformView({
6293
6373
  const activeRange = (isRangeDragging ? previewRange ?? createRange : createRange) ?? range;
6294
6374
  const activeRangeRef = (0,external_react_.useRef)(activeRange);
6295
6375
  activeRangeRef.current = activeRange;
6376
+ const viewedRangeRef = (0,external_react_.useRef)(false);
6377
+ viewedRangeRef.current = rangeReadOnly && createRange == null;
6296
6378
  const durationMs = (0,waveform_range/* durationMsFromSec */.uH)(durationSec);
6297
6379
  const rangeStartMs = activeRange?.startMs;
6298
6380
  const rangeEndMs = activeRange?.endMs;
@@ -6555,7 +6637,8 @@ function WaveformView({
6555
6637
  }
6556
6638
  const rangeDraft = activeRangeRef.current;
6557
6639
  const timeSec = relativeX * durationSecRef.current;
6558
- if (rangeDraft && !(0,waveform_range/* isRangeCollapsed */.BT)(rangeDraft)) {
6640
+ // A tape draft dismisses from the pill. A viewed range, and desktop, still clear on click-outside.
6641
+ if ((cameraModeRef.current !== 'tape' || viewedRangeRef.current) && rangeDraft && !(0,waveform_range/* isRangeCollapsed */.BT)(rangeDraft)) {
6559
6642
  const pointerX = (0,waveform_viewport/* positionPxFromTime */.TO)(timeSec, viewportRef.current);
6560
6643
  if (!(0,waveform_range/* isPointerOverRange */.H5)({
6561
6644
  pointerX,
@@ -7122,6 +7205,7 @@ function WaveformView({
7122
7205
  "data-testid": "bp-waveform-playhead"
7123
7206
  }), showRangeOverlay && overlayRange && /*#__PURE__*/external_react_["default"].createElement(waveform_WaveformRangeSelection, {
7124
7207
  ref: rangeLayerRef,
7208
+ cameraMode: cameraMode,
7125
7209
  currentTimeSec: currentTime,
7126
7210
  durationSec: durationSec,
7127
7211
  getPlayheadSec: getPlayheadSec,
@@ -7136,6 +7220,7 @@ function WaveformView({
7136
7220
  },
7137
7221
  onPreviewChange: setPreviewRange,
7138
7222
  onRangeChange: interactive && !isOverlayReadOnly ? onRangeChange : undefined,
7223
+ onRangeClear: onRangeClear,
7139
7224
  range: overlayRange,
7140
7225
  readOnly: isOverlayReadOnly,
7141
7226
  viewport: viewport
@@ -24883,7 +24968,7 @@ class Browser {
24883
24968
  ;// ./src/lib/Logger.js
24884
24969
  /* eslint-disable no-undef */
24885
24970
  const CLIENT_NAME = "box-content-preview";
24886
- const CLIENT_VERSION = "3.98.0";
24971
+ const CLIENT_VERSION = "3.99.0";
24887
24972
  /* eslint-enable no-undef */
24888
24973
 
24889
24974
  class Logger {
@@ -28395,20 +28480,8 @@ function IconPencilScribbleMedium24(_ref) {
28395
28480
  }));
28396
28481
  }
28397
28482
  /* harmony default export */ const icons_IconPencilScribbleMedium24 = (IconPencilScribbleMedium24);
28398
- ;// ./src/lib/viewers/controls/icons/IconExit24.tsx
28399
- function IconExit24_extends() { return IconExit24_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; }, IconExit24_extends.apply(null, arguments); }
28400
-
28401
- function IconExit24(props) {
28402
- return /*#__PURE__*/external_react_.createElement("svg", IconExit24_extends({
28403
- focusable: "false",
28404
- height: 24,
28405
- viewBox: "0 0 19 19",
28406
- width: 24
28407
- }, props), /*#__PURE__*/external_react_.createElement("path", {
28408
- d: "m10 8.232 5.227-5.227a.625.625 0 0 1 .884 0l.884.884a.625.625 0 0 1 0 .884L11.767 10l5.228 5.227a.625.625 0 0 1 0 .884l-.884.884a.625.625 0 0 1-.884 0L10 11.767l-5.227 5.228a.625.625 0 0 1-.884 0l-.884-.884a.625.625 0 0 1 0-.884L8.233 10 3.005 4.772a.625.625 0 0 1 0-.883l.884-.884a.625.625 0 0 1 .884 0L10 8.233z"
28409
- }));
28410
- }
28411
- /* harmony default export */ const icons_IconExit24 = (IconExit24);
28483
+ // EXTERNAL MODULE: ./src/lib/viewers/controls/icons/IconExit24.tsx
28484
+ var IconExit24 = __webpack_require__(8950);
28412
28485
  ;// ./src/lib/viewers/controls/icons/IconTextHighlightMedium24.tsx
28413
28486
  function IconTextHighlightMedium24_extends() { return IconTextHighlightMedium24_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; }, IconTextHighlightMedium24_extends.apply(null, arguments); }
28414
28487
 
@@ -28553,7 +28626,7 @@ function AnnotationsControls({
28553
28626
  mode: AnnotationMode.NONE,
28554
28627
  onClick: handleExitClick,
28555
28628
  title: "Exit Annotations"
28556
- }, /*#__PURE__*/external_react_["default"].createElement(icons_IconExit24, null)), /*#__PURE__*/external_react_["default"].createElement(annotations_AnnotationsButton, {
28629
+ }, /*#__PURE__*/external_react_["default"].createElement(IconExit24/* default */.A, null)), /*#__PURE__*/external_react_["default"].createElement(annotations_AnnotationsButton, {
28557
28630
  ref: annotationBtnRefs[AnnotationMode.DRAWING],
28558
28631
  "data-resin-target": "draw",
28559
28632
  "data-testid": "bp-AnnotationsControls-drawBtn",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "box-content-preview",
3
- "version": "3.98.0",
3
+ "version": "3.99.0",
4
4
  "description": "Box Content Preview UI Element",
5
5
  "author": "Box (https://www.box.com/)",
6
6
  "license": "SEE LICENSE IN LICENSE",