box-content-preview 3.104.0 → 3.106.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 +7 -7
- package/dist/lib/index.css +4 -4
- package/dist/lib/index.js +157 -41
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
[](https://mergify.io)
|
|
3
3
|
[](https://github.com/prettier/prettier)
|
|
4
4
|
[](https://travis-ci.org/box/box-content-preview)
|
|
5
|
-
[](https://github.com/box/box-content-preview)
|
|
6
6
|
[](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.
|
|
25
|
+
- Version: v3.106.0
|
|
26
26
|
- Locale: en-US
|
|
27
27
|
|
|
28
|
-
https://cdn01.boxcdn.net/platform/preview/3.
|
|
29
|
-
https://cdn01.boxcdn.net/platform/preview/3.
|
|
28
|
+
https://cdn01.boxcdn.net/platform/preview/3.106.0/en-US/preview.js
|
|
29
|
+
https://cdn01.boxcdn.net/platform/preview/3.106.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.
|
|
55
|
+
<script src="https://cdn01.boxcdn.net/platform/preview/3.106.0/en-US/preview.js"></script>
|
|
56
56
|
<link
|
|
57
57
|
rel="stylesheet"
|
|
58
|
-
href="https://cdn01.boxcdn.net/platform/preview/3.
|
|
58
|
+
href="https://cdn01.boxcdn.net/platform/preview/3.106.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.
|
|
79
|
+
- Check out a specific version with `git checkout v3.106.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`
|
package/dist/lib/index.css
CHANGED
|
@@ -62,11 +62,11 @@
|
|
|
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-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;-webkit-touch-callout:none}.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}
|
|
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;animation:bp-WaveformRange-commentIn 150ms ease-out}@keyframes bp-WaveformRange-commentIn{from{opacity:0;transform:translate(-50%, calc(-100% - 36px + 8px))}to{opacity:1;transform:translate(-50%, calc(-100% - 36px))}}.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}.bp-WaveformRange-comment{animation: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;-webkit-touch-callout:none}.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-playhead .bp-WaveformView-playheadComment{top:auto;bottom:calc(100% + 36px);left:50%;transform:translateX(-50%);animation-name:bp-WaveformView-playheadCommentIn}@keyframes bp-WaveformView-playheadCommentIn{from{opacity:0;transform:translate(-50%, 8px)}to{opacity:1;transform:translateX(-50%)}}@media(prefers-reduced-motion: reduce){.bp-WaveformView-playhead .bp-WaveformView-playheadComment{animation:none}}.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
|
-
.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}
|
|
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--rangeDismiss{pointer-events:auto}.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}
|
|
70
70
|
.bp-Filmstrip{position:absolute;bottom:100%;overflow:hidden;background:transparent;box-shadow:0 0 1px #464a4f;visibility:hidden}.bp-Filmstrip.bp-is-shown{visibility:visible}.bp-Filmstrip-frame{display:flex;align-items:center;justify-content:center}.bp-Filmstrip-time{height:20px;color:#fff;font-size:13px;line-height:20px;text-align:center;background-color:#222}
|
|
71
71
|
.bp-TimeControls{position:relative;margin-right:10px;margin-left:10px}.bp-TimeControls-slider{height:18px}.bp-TimeControls-slider .bp-SliderControl-thumb{transform:scale(0);transition:transform 100ms ease;will-change:transform}.bp-TimeControls-slider .bp-SliderControl-track{backface-visibility:hidden;transition:transform 100ms ease;will-change:transform}.bp-TimeControls-slider.bp-is-scrubbing .bp-SliderControl-thumb,.bp-TimeControls-slider:focus .bp-SliderControl-thumb,.bp-TimeControls-slider:hover .bp-SliderControl-thumb{transform:scale(1)}.bp-TimeControls-slider.bp-is-scrubbing .bp-SliderControl-track,.bp-TimeControls-slider:focus .bp-SliderControl-track,.bp-TimeControls-slider:hover .bp-SliderControl-track{transform:scaleY(2)}
|
|
72
72
|
.bp-MP3Controls{display:flex;flex-direction:column;width:360px;background-color:#000}.bp-MP3Controls-bar{display:flex;justify-content:space-between;padding:0 10px 5px}.bp-MP3Controls-group{display:flex;align-items:center}.bp-MP3Controls-settings{position:relative}.bp-MP3Controls-settings .bp-SettingsFlyout{right:15px}.bp-MP3Controls-settings .bp-SettingsToggle-button{width:36px;height:40px}
|
|
@@ -100,4 +100,4 @@
|
|
|
100
100
|
.bp-ResetControl{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-ResetControl:focus:not(:disabled),.bp-ResetControl:hover:not(:disabled){background-color:rgba(255,255,255,.08);opacity:1}.bp-ResetControl:focus:not(:disabled) svg,.bp-ResetControl:hover:not(:disabled) svg,.bp-ResetControl.bp-is-active svg{transform:scale(1.09);transition:transform 150ms}.bp-ResetControl.bp-is-active,.bp-ResetControl:active:not(:disabled){background-color:rgba(255,255,255,.16)}.bp-ResetControl.bp-is-active:focus:not(:disabled),.bp-ResetControl.bp-is-active:hover:not(:disabled){background-color:rgba(255,255,255,.2)}.bp-ResetControl:focus:not(:disabled){box-shadow:inset 0 0 0 1px rgba(211,211,211,.5),0 1px 2px rgba(0,0,0,.1)}.bp-ResetControl: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-ResetControl:focus:not(:focus-visible){box-shadow:none}.bp-ResetControl:disabled{cursor:default;opacity:.2;pointer-events:none}.bp-ResetControl svg{width:32px;height:32px;padding:5px}
|
|
101
101
|
.bp-box3d .bp-settings-wrapper .bp-settings-btn:active,.bp-box3d .bp-overlay span:active{opacity:1}.bp-box3d .bp-pullup{bottom:100%;padding:0 10px 20px;white-space:nowrap;text-align:left}.bp-box3d .bp-settings-panel-row{display:block;margin-top:6px}.bp-box3d .bp-settings-panel-row::before,.bp-box3d .bp-settings-panel-row::after{display:table;line-height:0;content:""}.bp-box3d .bp-settings-panel-row::before{clear:both;padding-top:10px}.bp-box3d .bp-settings-panel-label{display:inline;margin:4px;color:#767676;line-height:1;white-space:nowrap}.bp-box3d .bp-panel-btn{height:34px;overflow:hidden;line-height:34px;border-radius:5px;cursor:pointer}.bp-box3d .bp-toggle-overlay .bp-menu{min-width:183px}.bp-box3d .bp-toggle-overlay .bp-btn{width:100%;height:34px;padding:5px 0 5px 10px;color:gray;font-size:13px;letter-spacing:0;text-align:left;text-transform:none}.bp-box3d .bp-toggle-overlay .bp-btn::after{position:absolute;top:15px;right:11px;width:0;height:0;border-top:3px solid #494949;border-right:3px solid transparent;border-left:3px solid transparent;content:""}.bp-box3d .bp-overlay-panel .bp-btn .bp-btn-primary{margin:6px 0 0}.bp-box3d .box3d-settings-axis-widget{display:inline;padding-bottom:10px;border:1px solid #caccd0;border-bottom-width:2px;border-radius:2px}.bp-box3d .box3d-settings-axis-widget.box3d-settings-axis-widget-x{border-bottom-color:#e33d55}.bp-box3d .box3d-settings-axis-widget.box3d-settings-axis-widget-y{margin-right:4px;margin-left:4px;border-bottom-color:#26c281}.bp-box3d .box3d-settings-axis-widget.box3d-settings-axis-widget-z{border-bottom-color:#22a7f0}.bp-box3d .box3d-settings-axis-widget span{display:inline}.bp-box3d .box3d-settings-axis-widget .box3d-settings-axis-label{color:#444}.bp-box3d .box3d-settings-axis-widget .box3d-setting-axis-rotate{padding:0 12px;color:#0061d5;font-size:medium;cursor:pointer}.bp-box3d .box3d-settings-axis-widget .box3d-setting-axis-rotate-left::after,.bp-box3d .box3d-settings-axis-widget .box3d-setting-axis-rotate-right::after{position:absolute;top:7px;width:0;height:0;border-top:4px solid transparent;border-bottom:4px solid transparent;content:""}.bp-box3d .box3d-settings-axis-widget .box3d-setting-axis-rotate-left::after{border-right:5px solid #444;left:10px}.bp-box3d .box3d-settings-axis-widget .box3d-setting-axis-rotate-right::after{border-left:5px solid #444;right:10px}.bp-box3d .box3d-settings-axis-widget .box3d-setting-axis-rotate-left:hover::after{border-right:5px solid #888}.bp-box3d .box3d-settings-axis-widget .box3d-setting-axis-rotate-right:hover::after{border-left:5px solid #888}.bp-box3d .box3d-settings-axis-widget .box3d-setting-axis-rotate-left:active::after{border-right:5px solid #222}.bp-box3d .box3d-settings-axis-widget .box3d-setting-axis-rotate-right:active::after{border-left:5px solid #222}.bp-box3d .box3d-animation-clip-pullup{max-height:200px;overflow:auto}.bp-box3d .box3d-animation-clip{display:block;margin-top:6px;white-space:nowrap;cursor:pointer}.bp-box3d .box3d-animation-clip .box3d-animation-clip-icon{display:inline-block;width:24px}.bp-box3d .box3d-animation-clip .box3d-animation-clip-icon svg{height:16px;vertical-align:text-bottom}.bp-box3d .box3d-animation-clip .box3d-animation-clip-value{display:inline;max-width:183px;overflow-x:hidden;white-space:nowrap}
|
|
102
102
|
.bp-error{width:100%;color:#222;font-size:14px;text-align:center}.bp-error .bp-btn{margin:15px 0 0}.bp-error .bp-error-text{margin:0;padding:0 80px}.bp-error .bp-icon-file{width:160px;height:160px;margin:0 auto}.bp-error .bp-icon-file svg{width:100%;height:100%}
|
|
103
|
-
.bp,.bp-header,.bp a,.bp-header a{text-shadow:1px 1px 1px rgba(255,255,255,.004)}.bp,.bp-header,.bp button,.bp-header button{font-family:Lato,"Helvetica Neue",Helvetica,Arial,sans-serif}.bp li,.bp-header li{margin:0;padding:0}.bp-btn{position:relative;display:inline-block;box-sizing:border-box;margin:5px;padding:10px 16px;font-size:13px;line-height:10px;white-space:nowrap;text-align:center;text-decoration:none;vertical-align:top;border-style:solid;border-width:1px;cursor:pointer;zoom:1}.bp-btn.is-disabled{top:0;cursor:default}.bp-btn.is-disabled,.bp-btn.is-disabled:active,.bp-btn.is-disabled:hover,.bp-btn.is-disabled:focus{color:#666;background-color:#fcfcfc;border:1px solid #bdc3c7;box-shadow:none;opacity:.4}.bp-btn svg{pointer-events:none}.bp-btn-plain,.bp-btn-plain:hover,.bp-btn-plain:active{height:auto;margin:0;padding:0;font-weight:normal;vertical-align:middle;border:0;cursor:pointer}.bp-btn-plain svg,.bp-btn-plain:hover svg,.bp-btn-plain:active svg{pointer-events:none}.bp-btn-plain{background:transparent;outline:none;box-shadow:none}.bp-btn-plain.is-disabled{color:#666;background-color:#fcfcfc;opacity:.4;pointer-events:none}.bp-btn{color:#464a4f;font-weight:normal;letter-spacing:1px;text-shadow:none;background-color:#fff;border:1px solid #bdc3c7;border-radius:2px;cursor:pointer;transition:background-color .05s ease-in-out,border-color .05s ease-in-out;-webkit-appearance:none}.bp-btn:hover{text-decoration:none;background-color:#f7f7f7}.bp-btn:active,.bp-btn:active:focus{background-color:#ebebeb;border-color:#bdc3c7;outline:0}.bp-btn:focus{text-decoration:none;border-color:#96a0a6;outline:0;box-shadow:0 1px 2px rgba(0,0,0,.1)}.bp-btn-primary{color:#fff;background-color:#0061d5;border-color:#0061d5}.bp-btn-primary:focus:hover,.bp-btn-primary:focus{border-color:#0061d5;outline:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.8),0 1px 2px rgba(0,0,0,.1)}.bp-btn-primary:hover{background-color:#0074fe;border-color:#0074fe}.bp-btn-primary:active:hover,.bp-btn-primary:active{background-color:#004eac;border-color:#004eac;box-shadow:none}.bp-btn-primary.is-disabled,.bp-btn-primary.is-disabled:active,.bp-btn-primary.is-disabled:hover,.bp-btn-primary.is-disabled:focus{color:#fff;background-color:#0061d5;border-color:#0061d5}.bp-textarea{color:#464a4f;border:1px solid #bdc3c7;border-radius:2px;box-shadow:inset 0 1px 1px #e6e6e6;transition:border-color linear .15s,box-shadow linear .1s}.bp-textarea:hover{box-shadow:inset 0 1px 1px #d9d9d9}.bp-textarea:focus{border:1px solid #0061d5;outline:0;box-shadow:none}.bp-controls input[type=text],.bp-controls input[type=number],.bp-controls div[contentEditable=true],.bp-controls textarea{width:262px;padding:7px;color:#222;border:1px solid #ccc;border-radius:3px;box-shadow:inset 0 1px 1px rgba(0,0,0,.1);transition:border-color linear .15s,box-shadow linear .1s;-webkit-font-smoothing:antialiased}.bp-controls input[type=text]:hover,.bp-controls input[type=number]:hover,.bp-controls div[contentEditable=true]:hover,.bp-controls textarea:hover{box-shadow:inset 0 1px 1px rgba(0,0,0,.15)}.bp-controls input[type=text]:focus,.bp-controls input[type=number]:focus,.bp-controls div[contentEditable=true]:focus,.bp-controls textarea:focus{border:1px solid #0061d5;outline:0;box-shadow:none}.bp-controls input::-webkit-input-placeholder,.bp-controls input::-moz-placeholder,.bp-controls input:-ms-input-placeholder{color:#ccc}.bp-overlay{position:absolute;z-index:90;margin:0;padding:8px 0;background:#fff;border:1px solid #bdc3c7;box-shadow:0 2px 6px 0 rgba(0,0,0,.1);transform:rotateY(-10deg) rotateX(-10deg);transform-origin:left top;transform-style:preserve-3d;visibility:hidden;opacity:0;transition:visibility 0s linear .075s,opacity .075s,transform .125s;pointer-events:none}.bp-link{overflow:hidden;color:#64686d;line-height:1.5em;white-space:nowrap;text-decoration:none;text-overflow:ellipsis;text-shadow:1px 1px 1px rgba(0,0,0,.004);transition:color .05s;font-smoothing:antialiased}.bp-menu{min-width:225px;margin:0;padding:0;white-space:nowrap;list-style:none}.bp-menu .link-group ul{margin:0}.bp-menu .link-group ul a{display:block;padding:5px 35px 5px 15px;color:#494949}.bp-menu .link-group ul a:hover{color:#1a5976;background:#f6fafd;cursor:pointer;fill:#1a5976}.bp-notifications-wrapper{position:fixed;top:0;right:0;left:0;z-index:130;height:0}.bp-notification{display:flex;align-items:center;max-width:572px;min-height:48px;margin:10px auto;padding:10px 10px 10px 20px;overflow:hidden;color:#fff;font-weight:bold;background-color:#464a4f;border-radius:4px;box-shadow:0 2px 6px rgba(0,0,0,.15);transition:opacity .1s ease-out}.bp-notification.info{background-color:#26c281}.bp-notification.warn{background-color:#f5b31b}.bp-notification.error{background-color:#ed3757}.bp-notification.is-hidden{box-shadow:none;opacity:0}.bp-notification>span{margin-right:auto;padding-right:10px;font-size:15px}.bp-notification.wrap>span{overflow:hidden;word-wrap:break-word;overflow-wrap:break-word}.bp-notification.ellipsis>span{overflow:hidden;text-overflow:ellipsis}.bp-notification button,.bp-notification a{flex:none;color:#fff}.bp-notification button.btn,.bp-notification button.btn:active:focus,.bp-notification a.btn,.bp-notification a.btn:active:focus{margin:0 5px;padding:7px 13px;background-color:transparent;border-color:#e8e8e8}.bp-notification button.close-btn,.bp-notification a.close-btn{margin:0 7px;font-weight:bold;font-size:14px;background:none;border:none;outline:none;cursor:pointer;opacity:.6}.bp-notification button.close-btn.default-close-btn svg,.bp-notification a.close-btn.default-close-btn svg{width:24px;height:24px;pointer-events:none}.bp-notification button.close-btn.default-close-btn svg path.icon,.bp-notification a.close-btn.default-close-btn svg path.icon{fill:#fff}.bp-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:160;display:flex;flex:1;align-items:center;padding:30px;overflow:hidden}.bp-modal-dialog{position:relative;width:460px;margin:auto;padding:30px;background-color:#fff;background-clip:padding-box;box-shadow:0 3px 10px rgba(0,0,0,.3)}.bp-modal-header{display:flex;font-weight:bold;font-size:15px}.bp-modal-title{display:inline-block;flex:1;overflow:hidden;word-wrap:break-word;overflow-wrap:break-word}.bp-modal-content{margin-top:27px}.bp-modal-close-button{color:#999ea4;font-weight:bold;font-size:11px;background:none;border:0;outline:0;cursor:pointer}.bp-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;background:#fff;opacity:.75;filter:alpha(opacity=75)}.bp-modal-actions{display:flex;align-items:center;justify-content:flex-end;text-align:right}.bp-modal-container{position:fixed;top:0;right:0;bottom:0;left:0;z-index:89;display:flex}.bp-is-hidden{display:none !important}.bp-container,.bp-container *{box-sizing:border-box !important}.bp-container{position:relative;width:100%;min-width:300px;height:100%;margin:0;padding:0;overflow:hidden;font-size:13px;border:0 none;touch-action:manipulation}.bp-container a{color:#ccc}.bp-header-container:not(.bp-is-hidden)+.bp:not(.bp-is-fullscreen){top:48px}.bp-header{display:flex;align-items:center;justify-content:space-between;height:48px;padding:0 20px;background-color:#fff;border-bottom:1px solid #ccc}.bp-header .bp-custom-logo{max-height:30px}.bp-header .bp-default-logo svg{fill:#0061d5}.bp-header-btns button{padding:0 10px}.bp-header-btns button svg{vertical-align:middle;fill:#6f6f6f}.bp-header-btns button:hover{padding:0 10px}.bp-header-btns button:hover svg{fill:#494949}.bp-theme-dark .bp-header{background-color:rgba(0,0,0,.85);border-bottom:0}.bp-theme-dark .bp-header-btns button svg{fill:rgba(255,255,255,.9)}.bp-theme-dark .bp-header-btns button:hover svg{fill:#fff}.bp-theme-dark .bp-default-logo svg{fill:#fff}.bp-theme-dark .bp{background-color:#464a4f}.bp-theme-dark .bp-error{color:#fff}.bp-theme-dark .bp-icon{opacity:.9}.bp{position:absolute;inset:0;display:flex;flex:1 1 100%;margin:0;padding:0;background-color:#f5f5f5;border:0 none;outline:none;-webkit-overflow-scrolling:touch}.bp.bp-dark{background-color:#000}.bp .bp-content{position:absolute;inset:0;display:flex;flex:1 1 auto;align-items:center;outline:none}.bp .bp-content.bp-fullscreen-unsupported{position:fixed;z-index:190}.bp .bp-content.bp-is-fullscreen{width:100%;background-color:inherit}.bp .bp-is-scrollable:focus{outline:none}.accessibility-hidden{position:absolute;top:auto;left:-9999px}.bp-no-user-highlight{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.bp-is-invisible{visibility:hidden}.bp-notifications-wrapper{position:absolute}.bp-toggle-overlay>button{margin-bottom:0;margin-left:0}.bp-overlay-wrapper{position:relative;display:inherit}.bp-overlay-wrapper .bp-overlay{margin-top:5px}.bp-overlay-wrapper.bp-is-visible .bp-overlay{transform:rotateY(0deg) rotateX(0deg);visibility:visible;opacity:1;transition-delay:0s;pointer-events:all}.bp-modal-dialog{width:380px;padding:20px}.bp-modal-dialog .bp-print-check{height:16px}.bp-modal-dialog .bp-crawler{width:10px;height:16px;margin:0 auto;font-size:0;white-space:nowrap}.bp-modal-header{display:block;float:right;width:100%;height:0}.bp-modal-content{text-align:center}.bp-modal-content .bp-modal-message{margin:10px 0 20px;color:#444}.bp-modal-close-button{float:right}.bp-modal-close-button svg{width:24px;height:24px;pointer-events:none;fill:#999ea4}.bp-modal-actions{justify-content:flex-start;margin:20px}.bp-modal-backdrop{position:fixed;width:100%;height:100%;background-color:#000}.bp-popup-btn{margin:0 auto}.bp-popup-modal{position:absolute;top:100px;right:0;left:0;z-index:160;margin:0 auto}.bp-container .bp-btn-primary{color:#fff}@keyframes box-crawler{0%,80%,100%{transform:scaleY(1.2);opacity:.5}40%{transform:scaleY(1.6);opacity:1}}.bp-loading-wrapper{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;transition:.25s opacity}.bp-loaded .bp-loading-wrapper{display:none}.bp:not(.bp-loaded){pointer-events:none}.bp:not(.bp-loaded) .bp-loading-wrapper{pointer-events:all}.bp-thumbnails-open.bp-preload-complete{pointer-events:all}.bp-presentation-preload-wrapper{pointer-events:all}.bp-preloader-loaded{margin-right:auto;margin-left:auto;padding:0 20px;overflow:auto;pointer-events:all}.bp-loading{position:relative;display:flex;align-items:center;justify-content:center;color:#222}.bp-crawler-wrapper{display:none}.bp-crawler-wrapper .bp-crawler{transform:scale(1.5)}.bp-crawler-wrapper .bp-crawler div{background-color:#999ea4}.bp-crawler{text-align:center}.bp-crawler div{display:inline-block;width:2px;height:10px;background-color:#0061d5;border-radius:4px;animation:box-crawler .66s infinite ease-in-out}.bp-crawler div:nth-child(2){margin-left:2px;animation-delay:.1s}.bp-crawler div:last-child{left:8px;margin-left:2px;animation-delay:.2s}.bp-is-fullscreen .bp-navigate,.bp-is-gallery-open .bp-navigate{display:none}.bp-navigate{position:absolute;top:50%;display:block;width:50px;height:64px;margin:0;overflow:hidden;white-space:nowrap;text-decoration:none;background-repeat:no-repeat;border:0 none;transform:translateY(-50%);cursor:pointer;opacity:0;transition:opacity .5s ease;pointer-events:all}.bp-navigate:hover,.bp-navigate:focus{opacity:1}.bp-navigate:focus{height:64px;outline:1px solid #999ea4;box-shadow:inset 0 0 0 1px rgba(255,255,255,.5),0 1px 2px rgba(0,0,0,.1)}.bp-navigate:active{outline:none;box-shadow:none}.bp-is-navigation-visible .bp-navigate{opacity:.8}.bp-is-navigation-visible .bp-navigate:hover{opacity:1}.bp-navigate-left{left:20px;border-radius:0 2px 2px 0}.bp-navigate-right{right:20px;border-radius:2px 0 0 2px}.bp-controls{position:absolute;bottom:25px;left:50%;display:flex;background:rgba(0,0,0,.8);border-radius:6px;transform:translateX(-50%);opacity:0;transition:opacity .5s}.bp-controls input::-webkit-outer-spin-button,.bp-controls input::-webkit-inner-spin-button{-webkit-appearance:none}.bp-controls input[type=number]{-moz-appearance:textfield}.box-show-preview-controls .bp-controls{opacity:1}.bp-controls-cell{display:table-cell;margin:0;padding:0;vertical-align:middle;-webkit-user-select:none;user-select:none;touch-action:manipulation}.bp-controls-btn{display:block;width:44px;height:44px;margin:0;padding:0;color:#fff;background:transparent;border:1px solid transparent;border-radius:6px;outline:0;cursor:pointer;opacity:.7;-webkit-user-select:none;user-select:none;touch-action:manipulation;zoom:1}.bp-controls-btn:hover,.bp-controls-btn:focus{opacity:1}.bp-controls-btn:focus{box-shadow:inset 0 0 0 1px rgba(255,255,255,.5),0 1px 2px rgba(0,0,0,.1)}.bp-controls-btn span{display:block;margin:0 auto}.bp-controls-btn svg{vertical-align:middle}.bp-controls-btn.disabled,.bp-controls-btn:disabled{cursor:default;opacity:.2;pointer-events:none}.bp-exit-fullscreen-icon{display:none}.bp-is-fullscreen .bp-enter-fullscreen-icon{display:none}.bp-is-fullscreen .bp-exit-fullscreen-icon{display:block}.bp-controls-group{display:flex;align-items:center;margin-right:4px;margin-left:4px}.bp-controls-group .bp-controls-group-btn{width:32px}.bp-controls-group+.bp-controls-cell{margin-left:4px}.bp-vs{flex:1 0 auto;overflow-y:auto}.bp-vs .bp-vs-list{position:relative;margin:0;padding:0}.bp-vs .bp-vs-list-item{position:absolute;right:0;left:0;display:flex;box-sizing:border-box}
|
|
103
|
+
.bp,.bp-header,.bp a,.bp-header a{text-shadow:1px 1px 1px rgba(255,255,255,.004)}.bp,.bp-header,.bp button,.bp-header button{font-family:Lato,"Helvetica Neue",Helvetica,Arial,sans-serif}.bp li,.bp-header li{margin:0;padding:0}.bp-btn{position:relative;display:inline-block;box-sizing:border-box;margin:5px;padding:10px 16px;font-size:13px;line-height:10px;white-space:nowrap;text-align:center;text-decoration:none;vertical-align:top;border-style:solid;border-width:1px;cursor:pointer;zoom:1}.bp-btn.is-disabled{top:0;cursor:default}.bp-btn.is-disabled,.bp-btn.is-disabled:active,.bp-btn.is-disabled:hover,.bp-btn.is-disabled:focus{color:#666;background-color:#fcfcfc;border:1px solid #bdc3c7;box-shadow:none;opacity:.4}.bp-btn svg{pointer-events:none}.bp-btn-plain,.bp-btn-plain:hover,.bp-btn-plain:active{height:auto;margin:0;padding:0;font-weight:normal;vertical-align:middle;border:0;cursor:pointer}.bp-btn-plain svg,.bp-btn-plain:hover svg,.bp-btn-plain:active svg{pointer-events:none}.bp-btn-plain{background:transparent;outline:none;box-shadow:none}.bp-btn-plain.is-disabled{color:#666;background-color:#fcfcfc;opacity:.4;pointer-events:none}.bp-btn{color:#464a4f;font-weight:normal;letter-spacing:1px;text-shadow:none;background-color:#fff;border:1px solid #bdc3c7;border-radius:2px;cursor:pointer;transition:background-color .05s ease-in-out,border-color .05s ease-in-out;-webkit-appearance:none}.bp-btn:hover{text-decoration:none;background-color:#f7f7f7}.bp-btn:active,.bp-btn:active:focus{background-color:#ebebeb;border-color:#bdc3c7;outline:0}.bp-btn:focus{text-decoration:none;border-color:#96a0a6;outline:0;box-shadow:0 1px 2px rgba(0,0,0,.1)}.bp-btn-primary{color:#fff;background-color:#0061d5;border-color:#0061d5}.bp-btn-primary:focus:hover,.bp-btn-primary:focus{border-color:#0061d5;outline:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.8),0 1px 2px rgba(0,0,0,.1)}.bp-btn-primary:hover{background-color:#0074fe;border-color:#0074fe}.bp-btn-primary:active:hover,.bp-btn-primary:active{background-color:#004eac;border-color:#004eac;box-shadow:none}.bp-btn-primary.is-disabled,.bp-btn-primary.is-disabled:active,.bp-btn-primary.is-disabled:hover,.bp-btn-primary.is-disabled:focus{color:#fff;background-color:#0061d5;border-color:#0061d5}.bp-textarea{color:#464a4f;border:1px solid #bdc3c7;border-radius:2px;box-shadow:inset 0 1px 1px #e6e6e6;transition:border-color linear .15s,box-shadow linear .1s}.bp-textarea:hover{box-shadow:inset 0 1px 1px #d9d9d9}.bp-textarea:focus{border:1px solid #0061d5;outline:0;box-shadow:none}.bp-controls input[type=text],.bp-controls input[type=number],.bp-controls div[contentEditable=true],.bp-controls textarea{width:262px;padding:7px;color:#222;border:1px solid #ccc;border-radius:3px;box-shadow:inset 0 1px 1px rgba(0,0,0,.1);transition:border-color linear .15s,box-shadow linear .1s;-webkit-font-smoothing:antialiased}.bp-controls input[type=text]:hover,.bp-controls input[type=number]:hover,.bp-controls div[contentEditable=true]:hover,.bp-controls textarea:hover{box-shadow:inset 0 1px 1px rgba(0,0,0,.15)}.bp-controls input[type=text]:focus,.bp-controls input[type=number]:focus,.bp-controls div[contentEditable=true]:focus,.bp-controls textarea:focus{border:1px solid #0061d5;outline:0;box-shadow:none}.bp-controls input::-webkit-input-placeholder,.bp-controls input::-moz-placeholder,.bp-controls input:-ms-input-placeholder{color:#ccc}.bp-overlay{position:absolute;z-index:90;margin:0;padding:8px 0;background:#fff;border:1px solid #bdc3c7;box-shadow:0 2px 6px 0 rgba(0,0,0,.1);transform:rotateY(-10deg) rotateX(-10deg);transform-origin:left top;transform-style:preserve-3d;visibility:hidden;opacity:0;transition:visibility 0s linear .075s,opacity .075s,transform .125s;pointer-events:none}.bp-link{overflow:hidden;color:#64686d;line-height:1.5em;white-space:nowrap;text-decoration:none;text-overflow:ellipsis;text-shadow:1px 1px 1px rgba(0,0,0,.004);transition:color .05s;font-smoothing:antialiased}.bp-menu{min-width:225px;margin:0;padding:0;white-space:nowrap;list-style:none}.bp-menu .link-group ul{margin:0}.bp-menu .link-group ul a{display:block;padding:5px 35px 5px 15px;color:#494949}.bp-menu .link-group ul a:hover{color:#1a5976;background:#f6fafd;cursor:pointer;fill:#1a5976}.bp-notifications-wrapper{position:fixed;top:0;right:0;left:0;z-index:130;height:0}.bp-notification{display:flex;align-items:center;max-width:572px;min-height:48px;margin:10px auto;padding:10px 10px 10px 20px;overflow:hidden;color:#fff;font-weight:bold;background-color:#464a4f;border-radius:4px;box-shadow:0 2px 6px rgba(0,0,0,.15);transition:opacity .1s ease-out}.bp-notification.info{background-color:#26c281}.bp-notification.warn{background-color:#f5b31b}.bp-notification.error{background-color:#ed3757}.bp-notification.is-hidden{box-shadow:none;opacity:0}.bp-notification>span{margin-right:auto;padding-right:10px;font-size:15px}.bp-notification.wrap>span{overflow:hidden;word-wrap:break-word;overflow-wrap:break-word}.bp-notification.ellipsis>span{overflow:hidden;text-overflow:ellipsis}.bp-notification button,.bp-notification a{flex:none;color:#fff}.bp-notification button.btn,.bp-notification button.btn:active:focus,.bp-notification a.btn,.bp-notification a.btn:active:focus{margin:0 5px;padding:7px 13px;background-color:transparent;border-color:#e8e8e8}.bp-notification button.close-btn,.bp-notification a.close-btn{margin:0 7px;font-weight:bold;font-size:14px;background:none;border:none;outline:none;cursor:pointer;opacity:.6}.bp-notification button.close-btn.default-close-btn svg,.bp-notification a.close-btn.default-close-btn svg{width:24px;height:24px;pointer-events:none}.bp-notification button.close-btn.default-close-btn svg path.icon,.bp-notification a.close-btn.default-close-btn svg path.icon{fill:#fff}.bp-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:160;display:flex;flex:1;align-items:center;padding:30px;overflow:hidden}.bp-modal-dialog{position:relative;width:460px;margin:auto;padding:30px;background-color:#fff;background-clip:padding-box;box-shadow:0 3px 10px rgba(0,0,0,.3)}.bp-modal-header{display:flex;font-weight:bold;font-size:15px}.bp-modal-title{display:inline-block;flex:1;overflow:hidden;word-wrap:break-word;overflow-wrap:break-word}.bp-modal-content{margin-top:27px}.bp-modal-close-button{color:#999ea4;font-weight:bold;font-size:11px;background:none;border:0;outline:0;cursor:pointer}.bp-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;background:#fff;opacity:.75;filter:alpha(opacity=75)}.bp-modal-actions{display:flex;align-items:center;justify-content:flex-end;text-align:right}.bp-modal-container{position:fixed;top:0;right:0;bottom:0;left:0;z-index:89;display:flex}.bp-is-hidden{display:none !important}.bp-container,.bp-container *{box-sizing:border-box !important}.bp-container{position:relative;width:100%;min-width:300px;height:100%;margin:0;padding:0;overflow:hidden;font-size:13px;border:0 none;touch-action:manipulation}.bp-container a{color:#ccc}.bp-header-container:not(.bp-is-hidden)+.bp:not(.bp-is-fullscreen){top:48px}.bp-header{display:flex;align-items:center;justify-content:space-between;height:48px;padding:0 20px;background-color:#fff;border-bottom:1px solid #ccc}.bp-header .bp-custom-logo{max-height:30px}.bp-header .bp-default-logo svg{fill:#0061d5}.bp-header-btns button{padding:0 10px}.bp-header-btns button svg{vertical-align:middle;fill:#6f6f6f}.bp-header-btns button:hover{padding:0 10px}.bp-header-btns button:hover svg{fill:#494949}.bp-theme-dark .bp-header{background-color:rgba(0,0,0,.85);border-bottom:0}.bp-theme-dark .bp-header-btns button svg{fill:rgba(255,255,255,.9)}.bp-theme-dark .bp-header-btns button:hover svg{fill:#fff}.bp-theme-dark .bp-default-logo svg{fill:#fff}.bp-theme-dark .bp{background-color:#464a4f}.bp-theme-dark .bp-error{color:#fff}.bp-theme-dark .bp-icon{opacity:.9}.bp{position:absolute;inset:0;display:flex;flex:1 1 100%;margin:0;padding:0;background-color:#f5f5f5;border:0 none;outline:none;-webkit-overflow-scrolling:touch}.bp.bp-dark{background-color:#000}.bp .bp-content{position:absolute;inset:0;display:flex;flex:1 1 auto;align-items:center;outline:none}.bp .bp-content.bp-fullscreen-unsupported{position:fixed;z-index:190}.bp .bp-content.bp-is-fullscreen{width:100%;background-color:inherit}.bp .bp-is-scrollable:focus{outline:none}.accessibility-hidden{position:absolute;top:auto;left:-9999px}.bp-no-user-highlight{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.bp-is-invisible{visibility:hidden}.bp-notifications-wrapper{position:absolute}.bp-toggle-overlay>button{margin-bottom:0;margin-left:0}.bp-overlay-wrapper{position:relative;display:inherit}.bp-overlay-wrapper .bp-overlay{margin-top:5px}.bp-overlay-wrapper.bp-is-visible .bp-overlay{transform:rotateY(0deg) rotateX(0deg);visibility:visible;opacity:1;transition-delay:0s;pointer-events:all}.bp-modal-dialog{width:380px;padding:20px}.bp-modal-dialog .bp-print-check{height:16px}.bp-modal-dialog .bp-crawler{width:10px;height:16px;margin:0 auto;font-size:0;white-space:nowrap}.bp-modal-header{display:block;float:right;width:100%;height:0}.bp-modal-content{text-align:center}.bp-modal-content .bp-modal-message{margin:10px 0 20px;color:#444}.bp-modal-close-button{float:right}.bp-modal-close-button svg{width:24px;height:24px;pointer-events:none;fill:#999ea4}.bp-modal-actions{justify-content:flex-start;margin:20px}.bp-modal-backdrop{position:fixed;width:100%;height:100%;background-color:#000}.bp-popup-btn{margin:0 auto}.bp-popup-modal{position:absolute;top:100px;right:0;left:0;z-index:160;margin:0 auto}.bp-container .bp-btn-primary{color:#fff}.bp-version-banner{position:absolute;top:0;right:0;left:0;z-index:3;display:flex;gap:12px;align-items:center;height:var(--bp-comparison-banner-height, 4.5rem);padding:16px;background:linear-gradient(180deg, #f5f5f5 19.61%, rgba(255, 255, 255, 0) 100%)}.bp-version-banner-badge{display:flex;flex:none;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 8px;color:#fff;font-weight:500;font-size:15px;line-height:20px;background-color:#26c281;border:1px solid rgba(0,0,0,.12);border-radius:50%}.bp-version-banner--compared .bp-version-banner-badge{color:#000;font-weight:bold;background-color:rgba(255,255,255,.7)}.bp-version-banner-info{display:flex;flex-direction:column;min-width:0}.bp-version-banner-time{overflow:hidden;color:#000;font-weight:500;font-size:15px;line-height:20px;white-space:nowrap;text-overflow:ellipsis}.bp-version-banner--compared .bp-version-banner-time{color:#222}.bp-version-banner-author{overflow:hidden;color:#000;font-size:12px;line-height:14px;white-space:nowrap;text-overflow:ellipsis}:is(.bp-dark,.bp-theme-dark,.bp:has(.bp-media--v2)) .bp-version-banner{background:linear-gradient(180deg, rgba(0, 0, 0, 0.9) 19.61%, rgba(0, 0, 0, 0) 100%)}:is(.bp-dark,.bp-theme-dark,.bp:has(.bp-media--v2)) .bp-version-banner-time{color:#fff}:is(.bp-dark,.bp-theme-dark,.bp:has(.bp-media--v2)) .bp-version-banner-author{color:rgba(255,255,255,.7)}:is(.bp-dark,.bp-theme-dark,.bp:has(.bp-media--v2)) .bp-version-banner--compared .bp-version-banner-badge{color:#fff;background-color:rgba(255,255,255,.3);border-color:rgba(255,255,255,.12)}@keyframes box-crawler{0%,80%,100%{transform:scaleY(1.2);opacity:.5}40%{transform:scaleY(1.6);opacity:1}}.bp-loading-wrapper{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;transition:.25s opacity}.bp-loaded .bp-loading-wrapper{display:none}.bp:not(.bp-loaded){pointer-events:none}.bp:not(.bp-loaded) .bp-loading-wrapper{pointer-events:all}.bp-thumbnails-open.bp-preload-complete{pointer-events:all}.bp-presentation-preload-wrapper{pointer-events:all}.bp-preloader-loaded{margin-right:auto;margin-left:auto;padding:0 20px;overflow:auto;pointer-events:all}.bp-loading{position:relative;display:flex;align-items:center;justify-content:center;color:#222}.bp-crawler-wrapper{display:none}.bp-crawler-wrapper .bp-crawler{transform:scale(1.5)}.bp-crawler-wrapper .bp-crawler div{background-color:#999ea4}.bp-crawler{text-align:center}.bp-crawler div{display:inline-block;width:2px;height:10px;background-color:#0061d5;border-radius:4px;animation:box-crawler .66s infinite ease-in-out}.bp-crawler div:nth-child(2){margin-left:2px;animation-delay:.1s}.bp-crawler div:last-child{left:8px;margin-left:2px;animation-delay:.2s}.bp-is-fullscreen .bp-navigate,.bp-is-gallery-open .bp-navigate{display:none}.bp-navigate{position:absolute;top:50%;display:block;width:50px;height:64px;margin:0;overflow:hidden;white-space:nowrap;text-decoration:none;background-repeat:no-repeat;border:0 none;transform:translateY(-50%);cursor:pointer;opacity:0;transition:opacity .5s ease;pointer-events:all}.bp-navigate:hover,.bp-navigate:focus{opacity:1}.bp-navigate:focus{height:64px;outline:1px solid #999ea4;box-shadow:inset 0 0 0 1px rgba(255,255,255,.5),0 1px 2px rgba(0,0,0,.1)}.bp-navigate:active{outline:none;box-shadow:none}.bp-is-navigation-visible .bp-navigate{opacity:.8}.bp-is-navigation-visible .bp-navigate:hover{opacity:1}.bp-navigate-left{left:20px;border-radius:0 2px 2px 0}.bp-navigate-right{right:20px;border-radius:2px 0 0 2px}.bp-controls{position:absolute;bottom:25px;left:50%;display:flex;background:rgba(0,0,0,.8);border-radius:6px;transform:translateX(-50%);opacity:0;transition:opacity .5s}.bp-controls input::-webkit-outer-spin-button,.bp-controls input::-webkit-inner-spin-button{-webkit-appearance:none}.bp-controls input[type=number]{-moz-appearance:textfield}.box-show-preview-controls .bp-controls{opacity:1}.bp-controls-cell{display:table-cell;margin:0;padding:0;vertical-align:middle;-webkit-user-select:none;user-select:none;touch-action:manipulation}.bp-controls-btn{display:block;width:44px;height:44px;margin:0;padding:0;color:#fff;background:transparent;border:1px solid transparent;border-radius:6px;outline:0;cursor:pointer;opacity:.7;-webkit-user-select:none;user-select:none;touch-action:manipulation;zoom:1}.bp-controls-btn:hover,.bp-controls-btn:focus{opacity:1}.bp-controls-btn:focus{box-shadow:inset 0 0 0 1px rgba(255,255,255,.5),0 1px 2px rgba(0,0,0,.1)}.bp-controls-btn span{display:block;margin:0 auto}.bp-controls-btn svg{vertical-align:middle}.bp-controls-btn.disabled,.bp-controls-btn:disabled{cursor:default;opacity:.2;pointer-events:none}.bp-exit-fullscreen-icon{display:none}.bp-is-fullscreen .bp-enter-fullscreen-icon{display:none}.bp-is-fullscreen .bp-exit-fullscreen-icon{display:block}.bp-controls-group{display:flex;align-items:center;margin-right:4px;margin-left:4px}.bp-controls-group .bp-controls-group-btn{width:32px}.bp-controls-group+.bp-controls-cell{margin-left:4px}.bp-vs{flex:1 0 auto;overflow-y:auto}.bp-vs .bp-vs-list{position:relative;margin:0;padding:0}.bp-vs .bp-vs-list-item{position:absolute;right:0;left:0;display:flex;box-sizing:border-box}
|
package/dist/lib/index.js
CHANGED
|
@@ -424,7 +424,7 @@ class PreviewError extends Error {
|
|
|
424
424
|
/* harmony export */ zb: () => (/* binding */ CLASS_DOC_FIRST_IMAGE),
|
|
425
425
|
/* harmony export */ ze: () => (/* binding */ STATUS_PENDING)
|
|
426
426
|
/* harmony export */ });
|
|
427
|
-
/* unused harmony exports CLASS_ACTIVE, CLASS_BOX_PREVIEW, CLASS_BOX_PREVIEW_CONTAINER, CLASS_BOX_PREVIEW_HEADER_CONTAINER, CLASS_BOX_PREVIEW_ICON, CLASS_BOX_PREVIEW_LOGO_CUSTOM, CLASS_BOX_PREVIEW_LOGO_DEFAULT, CLASS_PREFETCHED_IMAGE, SELECTOR_BOX_PREVIEW_HEADER, SELECTOR_BOX_PREVIEW_NOTIFICATION */
|
|
427
|
+
/* unused harmony exports CLASS_ACTIVE, CLASS_BOX_PREVIEW, CLASS_BOX_PREVIEW_CONTAINER, CLASS_BOX_PREVIEW_HEADER_CONTAINER, CLASS_BOX_PREVIEW_ICON, CLASS_BOX_PREVIEW_LOGO_CUSTOM, CLASS_BOX_PREVIEW_LOGO_DEFAULT, CLASS_BOX_PREVIEW_VERSION_BANNER, CLASS_BOX_PREVIEW_VERSION_BANNER_COMPARED, CLASS_PREFETCHED_IMAGE, SELECTOR_BOX_PREVIEW_VERSION_BANNER, SELECTOR_BOX_PREVIEW_HEADER, SELECTOR_BOX_PREVIEW_NOTIFICATION */
|
|
428
428
|
const CLASS_ACTIVE = 'bp-is-active';
|
|
429
429
|
const CLASS_ANNOTATIONS_CREATE_DRAWING = 'bp-annotations-create--drawing';
|
|
430
430
|
const CLASS_ANNOTATIONS_CREATE_HIGHLIGHT = 'bp-annotations-create--highlight';
|
|
@@ -453,6 +453,8 @@ const CLASS_BOX_PREVIEW_LOGO_CUSTOM = 'bp-custom-logo';
|
|
|
453
453
|
const CLASS_BOX_PREVIEW_LOGO_DEFAULT = 'bp-default-logo';
|
|
454
454
|
const CLASS_BOX_PREVIEW_MENU = 'bp-menu';
|
|
455
455
|
const CLASS_BOX_PREVIEW_MOBILE = 'bp-is-mobile';
|
|
456
|
+
const CLASS_BOX_PREVIEW_VERSION_BANNER = 'bp-version-banner';
|
|
457
|
+
const CLASS_BOX_PREVIEW_VERSION_BANNER_COMPARED = 'bp-version-banner--compared';
|
|
456
458
|
const CLASS_BOX_PREVIEW_OVERLAY = 'bp-overlay';
|
|
457
459
|
const CLASS_BOX_PREVIEW_OVERLAY_WRAPPER = 'bp-overlay-wrapper';
|
|
458
460
|
const CLASS_BOX_PREVIEW_PRELOAD = 'bp-preload';
|
|
@@ -492,6 +494,7 @@ const DISCOVERABILITY_ATTRIBUTE = 'data-resin-discoverability';
|
|
|
492
494
|
const SELECTOR_BOX_PREVIEW_CONTAINER = `.${CLASS_BOX_PREVIEW_CONTAINER}`;
|
|
493
495
|
const SELECTOR_BOX_PREVIEW = `.${CLASS_BOX_PREVIEW}`;
|
|
494
496
|
const SELECTOR_BOX_PREVIEW_CONTENT = `.${CLASS_BOX_PREVIEW_CONTENT}`;
|
|
497
|
+
const SELECTOR_BOX_PREVIEW_VERSION_BANNER = (/* unused pure expression or super */ null && (`.${CLASS_BOX_PREVIEW_VERSION_BANNER}`));
|
|
495
498
|
const SELECTOR_NAVIGATION_LEFT = '.bp-navigate-left';
|
|
496
499
|
const SELECTOR_NAVIGATION_RIGHT = '.bp-navigate-right';
|
|
497
500
|
const SELECTOR_BOX_PREVIEW_BTN_ANNOTATE_POINT = '.bp-btn-annotate-point';
|
|
@@ -1029,7 +1032,7 @@ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e =
|
|
|
1029
1032
|
const CLIENT_NAME = "box-content-preview"; // eslint-disable-line no-undef
|
|
1030
1033
|
const CLIENT_NAME_KEY = 'box_client_name';
|
|
1031
1034
|
const CLIENT_VERSION_KEY = 'box_client_version';
|
|
1032
|
-
const CLIENT_VERSION = "3.
|
|
1035
|
+
const CLIENT_VERSION = "3.106.0"; // eslint-disable-line no-undef
|
|
1033
1036
|
const HEADER_CLIENT_NAME = 'X-Box-Client-Name';
|
|
1034
1037
|
const HEADER_CLIENT_VERSION = 'X-Box-Client-Version';
|
|
1035
1038
|
const PROMISE_MAP = {};
|
|
@@ -3698,21 +3701,29 @@ function eventTargetElement(target) {
|
|
|
3698
3701
|
* Optimistic comment-badge selection that clears on pointerdown outside the
|
|
3699
3702
|
* selected avatar or its cluster. Host `hostSelectedId` can restore a different
|
|
3700
3703
|
* id; acking the dismissed id must not bring the ring back.
|
|
3704
|
+
* A new `selectionSeq` is the user picking that same comment again, so the ring returns.
|
|
3701
3705
|
*/
|
|
3702
|
-
function useDismissableMarkerSelection(hostSelectedId = null) {
|
|
3706
|
+
function useDismissableMarkerSelection(hostSelectedId = null, selectionSeq = null) {
|
|
3703
3707
|
const containerRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);
|
|
3704
3708
|
const dismissedIdRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);
|
|
3709
|
+
const appliedSeqRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);
|
|
3705
3710
|
const [optimisticSelectedId, setOptimisticSelectedId] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(null);
|
|
3706
3711
|
const [isSelectionDismissed, setIsSelectionDismissed] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false);
|
|
3707
3712
|
const selectedId = optimisticSelectedId ?? (isSelectionDismissed ? null : hostSelectedId);
|
|
3708
3713
|
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
|
|
3709
3714
|
setOptimisticSelectedId(null);
|
|
3715
|
+
if (selectionSeq != null && selectionSeq !== appliedSeqRef.current) {
|
|
3716
|
+
appliedSeqRef.current = selectionSeq;
|
|
3717
|
+
dismissedIdRef.current = null;
|
|
3718
|
+
setIsSelectionDismissed(false);
|
|
3719
|
+
return;
|
|
3720
|
+
}
|
|
3710
3721
|
if (dismissedIdRef.current && hostSelectedId === dismissedIdRef.current) {
|
|
3711
3722
|
return;
|
|
3712
3723
|
}
|
|
3713
3724
|
dismissedIdRef.current = null;
|
|
3714
3725
|
setIsSelectionDismissed(false);
|
|
3715
|
-
}, [hostSelectedId]);
|
|
3726
|
+
}, [hostSelectedId, selectionSeq]);
|
|
3716
3727
|
const selectMarker = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(id => {
|
|
3717
3728
|
dismissedIdRef.current = null;
|
|
3718
3729
|
setIsSelectionDismissed(false);
|
|
@@ -4807,6 +4818,8 @@ function morphPeaks(from, to, elapsedMs) {
|
|
|
4807
4818
|
}
|
|
4808
4819
|
// EXTERNAL MODULE: ./src/lib/viewers/media/waveform/viewport.ts
|
|
4809
4820
|
var waveform_viewport = __webpack_require__(772);
|
|
4821
|
+
// EXTERNAL MODULE: ./src/lib/viewers/media/waveform/range.ts
|
|
4822
|
+
var waveform_range = __webpack_require__(4253);
|
|
4810
4823
|
// EXTERNAL MODULE: ./src/lib/viewers/media/waveform/useTapeWaveform.ts
|
|
4811
4824
|
var useTapeWaveform = __webpack_require__(7308);
|
|
4812
4825
|
// EXTERNAL MODULE: ./node_modules/classnames/index.js
|
|
@@ -4873,6 +4886,7 @@ function WaveformCommentMarkers({
|
|
|
4873
4886
|
isTape = false,
|
|
4874
4887
|
onCommentMarkerClick,
|
|
4875
4888
|
selectedId: hostSelectedId = null,
|
|
4889
|
+
selectionSeq = null,
|
|
4876
4890
|
viewport = null
|
|
4877
4891
|
}) {
|
|
4878
4892
|
const trackRef = (0,external_react_.useRef)(null); // width source for clustering overlapping badges
|
|
@@ -4880,7 +4894,7 @@ function WaveformCommentMarkers({
|
|
|
4880
4894
|
containerRef,
|
|
4881
4895
|
selectMarker,
|
|
4882
4896
|
selectedId
|
|
4883
|
-
} = (0,useDismissableMarkerSelection/* default */.A)(hostSelectedId);
|
|
4897
|
+
} = (0,useDismissableMarkerSelection/* default */.A)(hostSelectedId, selectionSeq);
|
|
4884
4898
|
const [trackWidth, setTrackWidth] = (0,external_react_.useState)(0);
|
|
4885
4899
|
const canShowTrack = durationSec > 0 && commentMarkers.length > 0;
|
|
4886
4900
|
const zoomLevel = viewport?.zoomLevel ?? constants/* WAVEFORM_ZOOM_MIN */.LW;
|
|
@@ -5373,8 +5387,25 @@ function tintWaveformTiles({
|
|
|
5373
5387
|
});
|
|
5374
5388
|
});
|
|
5375
5389
|
}
|
|
5376
|
-
|
|
5377
|
-
var
|
|
5390
|
+
;// ./src/lib/viewers/controls/icons/IconComment24.tsx
|
|
5391
|
+
function IconComment24_extends() { return IconComment24_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; }, IconComment24_extends.apply(null, arguments); }
|
|
5392
|
+
|
|
5393
|
+
function IconComment24(props) {
|
|
5394
|
+
return /*#__PURE__*/external_react_.createElement("svg", IconComment24_extends({
|
|
5395
|
+
"data-testid": "IconComment24",
|
|
5396
|
+
fill: "none",
|
|
5397
|
+
focusable: false,
|
|
5398
|
+
height: 24,
|
|
5399
|
+
viewBox: "0 0 24 24",
|
|
5400
|
+
width: 24
|
|
5401
|
+
}, props), /*#__PURE__*/external_react_.createElement("path", {
|
|
5402
|
+
clipRule: "evenodd",
|
|
5403
|
+
d: "M4 11c0-2.297.683-3.999 1.926-5.138C7.18 4.712 9.155 4 12 4c2.845 0 4.819.711 6.074 1.862C19.317 7.001 20 8.702 20 11c0 2.297-.683 3.999-1.926 5.138C16.82 17.288 14.845 18 12 18h-.459a1.1 1.1 0 0 0-.774.318C9.665 19.41 8.243 20.048 7.16 20.2c-.553.078-.905.013-1.07-.065C6 20.09 6 20.084 6 20V20c0-.22.072-.347.361-.813.285-.458.665-1.104.685-2.104a1.1 1.1 0 0 0-.606-1.005C4.885 15.298 4 13.745 4 11Zm8-9c-3.155 0-5.681.789-7.426 2.388C2.817 5.999 2 8.298 2 11c0 2.938.91 5.227 2.966 6.539a2.79 2.79 0 0 1-.303.592l-.055.088C4.372 18.591 4 19.18 4 20c0 .912.496 1.59 1.23 1.94.657.313 1.453.345 2.205.24 1.428-.2 3.108-.95 4.464-2.18H12c3.155 0 5.681-.789 7.426-2.388C21.183 16.001 22 13.702 22 11c0-2.703-.817-5.001-2.574-6.612C17.68 2.788 15.155 2 12 2ZM8 12a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm5-1a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm3 1a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z",
|
|
5404
|
+
fill: "currentColor",
|
|
5405
|
+
fillRule: "evenodd"
|
|
5406
|
+
}));
|
|
5407
|
+
}
|
|
5408
|
+
/* harmony default export */ const icons_IconComment24 = (IconComment24);
|
|
5378
5409
|
;// ./src/lib/viewers/media/waveform/usePlayheadCamera.ts
|
|
5379
5410
|
|
|
5380
5411
|
|
|
@@ -5690,25 +5721,6 @@ function usePlayheadCamera({
|
|
|
5690
5721
|
seekTo
|
|
5691
5722
|
};
|
|
5692
5723
|
}
|
|
5693
|
-
;// ./src/lib/viewers/controls/icons/IconComment24.tsx
|
|
5694
|
-
function IconComment24_extends() { return IconComment24_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; }, IconComment24_extends.apply(null, arguments); }
|
|
5695
|
-
|
|
5696
|
-
function IconComment24(props) {
|
|
5697
|
-
return /*#__PURE__*/external_react_.createElement("svg", IconComment24_extends({
|
|
5698
|
-
"data-testid": "IconComment24",
|
|
5699
|
-
fill: "none",
|
|
5700
|
-
focusable: false,
|
|
5701
|
-
height: 24,
|
|
5702
|
-
viewBox: "0 0 24 24",
|
|
5703
|
-
width: 24
|
|
5704
|
-
}, props), /*#__PURE__*/external_react_.createElement("path", {
|
|
5705
|
-
clipRule: "evenodd",
|
|
5706
|
-
d: "M4 11c0-2.297.683-3.999 1.926-5.138C7.18 4.712 9.155 4 12 4c2.845 0 4.819.711 6.074 1.862C19.317 7.001 20 8.702 20 11c0 2.297-.683 3.999-1.926 5.138C16.82 17.288 14.845 18 12 18h-.459a1.1 1.1 0 0 0-.774.318C9.665 19.41 8.243 20.048 7.16 20.2c-.553.078-.905.013-1.07-.065C6 20.09 6 20.084 6 20V20c0-.22.072-.347.361-.813.285-.458.665-1.104.685-2.104a1.1 1.1 0 0 0-.606-1.005C4.885 15.298 4 13.745 4 11Zm8-9c-3.155 0-5.681.789-7.426 2.388C2.817 5.999 2 8.298 2 11c0 2.938.91 5.227 2.966 6.539a2.79 2.79 0 0 1-.303.592l-.055.088C4.372 18.591 4 19.18 4 20c0 .912.496 1.59 1.23 1.94.657.313 1.453.345 2.205.24 1.428-.2 3.108-.95 4.464-2.18H12c3.155 0 5.681-.789 7.426-2.388C21.183 16.001 22 13.702 22 11c0-2.703-.817-5.001-2.574-6.612C17.68 2.788 15.155 2 12 2ZM8 12a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm5-1a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm3 1a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z",
|
|
5707
|
-
fill: "currentColor",
|
|
5708
|
-
fillRule: "evenodd"
|
|
5709
|
-
}));
|
|
5710
|
-
}
|
|
5711
|
-
/* harmony default export */ const icons_IconComment24 = (IconComment24);
|
|
5712
5724
|
// EXTERNAL MODULE: ./src/lib/viewers/controls/icons/IconExit24.tsx
|
|
5713
5725
|
var IconExit24 = __webpack_require__(8950);
|
|
5714
5726
|
;// ./src/lib/viewers/media/waveform/WaveformRangeSelection.scss
|
|
@@ -5727,6 +5739,15 @@ var IconExit24 = __webpack_require__(8950);
|
|
|
5727
5739
|
function stopRangeEvent(event) {
|
|
5728
5740
|
event.stopPropagation();
|
|
5729
5741
|
}
|
|
5742
|
+
function focusMediaContainer(event) {
|
|
5743
|
+
const {
|
|
5744
|
+
currentTarget
|
|
5745
|
+
} = event;
|
|
5746
|
+
if (!(currentTarget instanceof Element)) {
|
|
5747
|
+
return;
|
|
5748
|
+
}
|
|
5749
|
+
currentTarget.closest('.bp-media-container')?.focus();
|
|
5750
|
+
}
|
|
5730
5751
|
function offsetLeftCss(base, offsetPx) {
|
|
5731
5752
|
if (!offsetPx) {
|
|
5732
5753
|
return base;
|
|
@@ -5810,7 +5831,7 @@ const WaveformRangeSelection = /*#__PURE__*/(0,external_react_.forwardRef)(funct
|
|
|
5810
5831
|
const isRangeOpen = displayed.startMs !== displayed.endMs && activeHandle == null;
|
|
5811
5832
|
const showCommentButton = !readOnly && Boolean(onDragCreate) && isRangeOpen;
|
|
5812
5833
|
const showClearControl = onRangeClear != null && isRangeOpen;
|
|
5813
|
-
const showClearOnly =
|
|
5834
|
+
const showClearOnly = showClearControl && !showCommentButton;
|
|
5814
5835
|
const syncPositions = (0,external_react_.useCallback)((next, nextViewport, nextDurationSec) => {
|
|
5815
5836
|
displayedRef.current = next;
|
|
5816
5837
|
const collapsed = next.startMs === next.endMs;
|
|
@@ -6040,6 +6061,7 @@ const WaveformRangeSelection = /*#__PURE__*/(0,external_react_.forwardRef)(funct
|
|
|
6040
6061
|
"data-testid": "bp-waveform-range-clear",
|
|
6041
6062
|
onClick: event => {
|
|
6042
6063
|
stopRangeEvent(event);
|
|
6064
|
+
focusMediaContainer(event);
|
|
6043
6065
|
onRangeClear();
|
|
6044
6066
|
},
|
|
6045
6067
|
onPointerDown: stopRangeEvent,
|
|
@@ -6077,6 +6099,7 @@ const WaveformRangeSelection = /*#__PURE__*/(0,external_react_.forwardRef)(funct
|
|
|
6077
6099
|
"data-testid": "bp-waveform-range-clear",
|
|
6078
6100
|
onClick: event => {
|
|
6079
6101
|
stopRangeEvent(event);
|
|
6102
|
+
focusMediaContainer(event);
|
|
6080
6103
|
onRangeClear();
|
|
6081
6104
|
},
|
|
6082
6105
|
onPointerDown: stopRangeEvent,
|
|
@@ -6154,6 +6177,7 @@ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e =
|
|
|
6154
6177
|
|
|
6155
6178
|
|
|
6156
6179
|
|
|
6180
|
+
|
|
6157
6181
|
/** Pointer X in the view and the media time under it; zoom keeps this point fixed. */
|
|
6158
6182
|
|
|
6159
6183
|
/** CSS width × devicePixelRatio, for canvas gradient fills. */
|
|
@@ -6302,6 +6326,7 @@ function WaveformView({
|
|
|
6302
6326
|
isPlaying = false,
|
|
6303
6327
|
mediaEl,
|
|
6304
6328
|
onPlayPause,
|
|
6329
|
+
onPlayheadComment,
|
|
6305
6330
|
onRangeChange,
|
|
6306
6331
|
onRangeClear,
|
|
6307
6332
|
onRangeDragCreate,
|
|
@@ -7323,6 +7348,7 @@ function WaveformView({
|
|
|
7323
7348
|
const hoverLeft = isRangeDragging || hoverProgress == null ? null : (0,waveform_viewport/* timeLeftPercent */.Mu)(hoverProgress * durationSec, durationSec, viewportRef.current);
|
|
7324
7349
|
const overlayRange = createRange ?? range;
|
|
7325
7350
|
const isOverlayReadOnly = rangeReadOnly && createRange == null;
|
|
7351
|
+
const showPlayheadComment = interactive && !isPlaying && !isRangeDragging && (0,waveform_range/* isRangeCollapsed */.BT)(overlayRange) && Boolean(onPlayheadComment);
|
|
7326
7352
|
const showRangeOverlay = Boolean(overlayRange) && (isRangeDragging || !isPlaying || !(0,waveform_range/* isRangeCollapsed */.BT)(overlayRange));
|
|
7327
7353
|
const scrubTimeChip = isTape && scrubPreviewTimeSec != null ? /*#__PURE__*/external_react_["default"].createElement("div", {
|
|
7328
7354
|
className: "bp-WaveformView-hover bp-WaveformView-hover--tape",
|
|
@@ -7363,10 +7389,23 @@ function WaveformView({
|
|
|
7363
7389
|
className: "bp-WaveformView-canvas"
|
|
7364
7390
|
}), /*#__PURE__*/external_react_["default"].createElement("div", {
|
|
7365
7391
|
ref: playheadRef,
|
|
7366
|
-
"aria-hidden": "true",
|
|
7367
7392
|
className: "bp-WaveformView-playhead",
|
|
7368
7393
|
"data-testid": "bp-waveform-playhead"
|
|
7369
|
-
}
|
|
7394
|
+
}, showPlayheadComment && /*#__PURE__*/external_react_["default"].createElement("button", {
|
|
7395
|
+
className: "bp-WaveformRange-comment bp-WaveformView-playheadComment",
|
|
7396
|
+
"data-target-id": "Waveform-commentAtTime",
|
|
7397
|
+
"data-testid": "bp-waveform-playhead-comment",
|
|
7398
|
+
onClick: event => {
|
|
7399
|
+
event.stopPropagation();
|
|
7400
|
+
onPlayheadComment?.();
|
|
7401
|
+
},
|
|
7402
|
+
onPointerDown: event => event.stopPropagation(),
|
|
7403
|
+
onPointerUp: event => event.stopPropagation(),
|
|
7404
|
+
type: "button"
|
|
7405
|
+
}, /*#__PURE__*/external_react_["default"].createElement(icons_IconComment24, {
|
|
7406
|
+
"aria-hidden": "true",
|
|
7407
|
+
className: "bp-WaveformRange-commentIcon"
|
|
7408
|
+
}), "Comment")), showRangeOverlay && overlayRange && /*#__PURE__*/external_react_["default"].createElement(waveform_WaveformRangeSelection, {
|
|
7370
7409
|
ref: rangeLayerRef,
|
|
7371
7410
|
currentTimeSec: currentTime,
|
|
7372
7411
|
durationSec: durationSec,
|
|
@@ -7382,7 +7421,7 @@ function WaveformView({
|
|
|
7382
7421
|
},
|
|
7383
7422
|
onPreviewChange: setPreviewRange,
|
|
7384
7423
|
onRangeChange: interactive && !isOverlayReadOnly ? onRangeChange : undefined,
|
|
7385
|
-
onRangeClear: onRangeClear,
|
|
7424
|
+
onRangeClear: isTape && !isRangeDragging ? onRangeClear : undefined,
|
|
7386
7425
|
range: overlayRange,
|
|
7387
7426
|
readOnly: isOverlayReadOnly,
|
|
7388
7427
|
viewport: viewport
|
|
@@ -7634,7 +7673,11 @@ function WaveformZoomControl({
|
|
|
7634
7673
|
|
|
7635
7674
|
|
|
7636
7675
|
|
|
7676
|
+
|
|
7637
7677
|
const PLACEHOLDER_PEAKS = placeholderPeaks();
|
|
7678
|
+
|
|
7679
|
+
/** Clicks here keep an open range. Everywhere else in the player dismisses it. */
|
|
7680
|
+
const RANGE_DISMISS_IGNORE = '.bp-WaveformView, .bp-WaveformCommentMarkers, .bp-WaveformRange-comment, .bp-WaveformZoomControl, .bp-MP3ControlsV2-bar';
|
|
7638
7681
|
function MP3ControlsV2({
|
|
7639
7682
|
autoplay,
|
|
7640
7683
|
bufferedRange,
|
|
@@ -7655,6 +7698,7 @@ function MP3ControlsV2({
|
|
|
7655
7698
|
onCommentRangeClear,
|
|
7656
7699
|
onCommentRangeDragCreate,
|
|
7657
7700
|
onCommentRangeDragChange,
|
|
7701
|
+
onPlayheadComment,
|
|
7658
7702
|
onMuteChange,
|
|
7659
7703
|
onPlayPause,
|
|
7660
7704
|
onPlayNextChange,
|
|
@@ -7682,6 +7726,7 @@ function MP3ControlsV2({
|
|
|
7682
7726
|
const [playRequested, setPlayRequested] = (0,external_react_.useState)(hasStartedPlayback);
|
|
7683
7727
|
const [viewport, setViewport] = (0,external_react_.useState)(null);
|
|
7684
7728
|
const isTape = (0,useTapeWaveform/* default */.Ay)();
|
|
7729
|
+
const controlsRef = (0,external_react_.useRef)(null); // player root; pointerdown outside the range chrome dismisses it
|
|
7685
7730
|
const hasAppliedTapeDefaultZoomRef = (0,external_react_.useRef)(false); // ~10s window applied; reset to 1× when leaving tape
|
|
7686
7731
|
const lastKeyboardZoomStepRef = (0,external_react_.useRef)(0); // last +/− step applied; skip re-step when maxZoom retriggers the effect
|
|
7687
7732
|
const userChangedTapeZoomRef = (0,external_react_.useRef)(false); // pinch/wheel zoom; skip re-applying the 10s default
|
|
@@ -7753,7 +7798,9 @@ function MP3ControlsV2({
|
|
|
7753
7798
|
const waveformRange = commentRangeDraft ?? commentRangeReadOnly;
|
|
7754
7799
|
const isRangeReadOnly = commentRangeDraft == null && commentRangeReadOnly != null;
|
|
7755
7800
|
const waveformMarkers = (0,external_react_.useMemo)(() => commentMarkers || [], [commentMarkers]);
|
|
7756
|
-
const
|
|
7801
|
+
const selectedMarker = (0,external_react_.useMemo)(() => waveformMarkers.find(marker => marker.isSelected) ?? null, [waveformMarkers]);
|
|
7802
|
+
const selectedMarkerId = selectedMarker?.id ?? null;
|
|
7803
|
+
const selectionSeq = selectedMarker?.selectionSeq ?? null;
|
|
7757
7804
|
const handleCommentMarkerClick = (0,external_react_.useCallback)(marker => {
|
|
7758
7805
|
setPlayRequested(true);
|
|
7759
7806
|
onPlayPause(false);
|
|
@@ -7765,6 +7812,24 @@ function MP3ControlsV2({
|
|
|
7765
7812
|
}, [onCommentMarkerClick, onPlayPause, onTimeChange]);
|
|
7766
7813
|
const hasStarted = playRequested || hasStartedPlayback;
|
|
7767
7814
|
const isWaveformInteractive = hasStarted && hasMediaMetadata;
|
|
7815
|
+
const canDismissOpenRange = isWaveformInteractive && !(0,waveform_range/* isRangeCollapsed */.BT)(waveformRange);
|
|
7816
|
+
(0,external_react_.useEffect)(() => {
|
|
7817
|
+
const root = controlsRef.current;
|
|
7818
|
+
if (!canDismissOpenRange || !onCommentRangeClear || !root) {
|
|
7819
|
+
return undefined;
|
|
7820
|
+
}
|
|
7821
|
+
const onPointerDown = event => {
|
|
7822
|
+
const {
|
|
7823
|
+
target
|
|
7824
|
+
} = event;
|
|
7825
|
+
if (!(target instanceof Element) || target.closest(RANGE_DISMISS_IGNORE)) {
|
|
7826
|
+
return;
|
|
7827
|
+
}
|
|
7828
|
+
onCommentRangeClear();
|
|
7829
|
+
};
|
|
7830
|
+
root.addEventListener('pointerdown', onPointerDown);
|
|
7831
|
+
return () => root.removeEventListener('pointerdown', onPointerDown);
|
|
7832
|
+
}, [canDismissOpenRange, onCommentRangeClear]);
|
|
7768
7833
|
const isWaitingToPlay = hasStarted && !hasMediaMetadata;
|
|
7769
7834
|
const showPlayOverlay = !hasStarted && !isPlaying;
|
|
7770
7835
|
const hasZoomHandlers = hasRealPeaks && !showPlayOverlay;
|
|
@@ -7773,7 +7838,8 @@ function MP3ControlsV2({
|
|
|
7773
7838
|
const showShuttle = !isTape && !!shuttleDirection && shuttleRate > 0;
|
|
7774
7839
|
const waveformZoomLevel = isTape || hasZoomHandlers ? zoomLevel : constants/* WAVEFORM_ZOOM_MIN */.LW;
|
|
7775
7840
|
return /*#__PURE__*/external_react_["default"].createElement("div", {
|
|
7776
|
-
|
|
7841
|
+
ref: controlsRef,
|
|
7842
|
+
className: canDismissOpenRange ? 'bp-MP3ControlsV2 bp-MP3ControlsV2--rangeDismiss' : 'bp-MP3ControlsV2',
|
|
7777
7843
|
"data-testid": "media-controls-wrapper-v2"
|
|
7778
7844
|
}, /*#__PURE__*/external_react_["default"].createElement("div", {
|
|
7779
7845
|
className: "bp-MP3ControlsV2-stage"
|
|
@@ -7787,6 +7853,7 @@ function MP3ControlsV2({
|
|
|
7787
7853
|
interactive: isWaveformInteractive,
|
|
7788
7854
|
isPlaying: isPlaying,
|
|
7789
7855
|
mediaEl: mediaEl,
|
|
7856
|
+
onPlayheadComment: isWaveformInteractive && !shuttleDirection ? onPlayheadComment : undefined,
|
|
7790
7857
|
onPlayPause: isWaveformInteractive ? onPlayPause : undefined,
|
|
7791
7858
|
onRangeChange: isWaveformInteractive ? onCommentRangeChange : undefined,
|
|
7792
7859
|
onRangeClear: isWaveformInteractive ? onCommentRangeClear : undefined,
|
|
@@ -7805,6 +7872,7 @@ function MP3ControlsV2({
|
|
|
7805
7872
|
isTape: isTape,
|
|
7806
7873
|
onCommentMarkerClick: handleCommentMarkerClick,
|
|
7807
7874
|
selectedId: selectedMarkerId,
|
|
7875
|
+
selectionSeq: selectionSeq,
|
|
7808
7876
|
viewport: viewport
|
|
7809
7877
|
})), showShuttle && shuttleDirection && /*#__PURE__*/external_react_["default"].createElement(WaveformShuttleIndicator, {
|
|
7810
7878
|
direction: shuttleDirection,
|
|
@@ -25136,7 +25204,7 @@ class Browser {
|
|
|
25136
25204
|
;// ./src/lib/Logger.js
|
|
25137
25205
|
/* eslint-disable no-undef */
|
|
25138
25206
|
const CLIENT_NAME = "box-content-preview";
|
|
25139
|
-
const CLIENT_VERSION = "3.
|
|
25207
|
+
const CLIENT_VERSION = "3.106.0";
|
|
25140
25208
|
/* eslint-enable no-undef */
|
|
25141
25209
|
|
|
25142
25210
|
class Logger {
|
|
@@ -34398,9 +34466,10 @@ const EVENT_COMMENT_RANGE_DRAFT_DISMISS = 'comment_range_draft_dismiss';
|
|
|
34398
34466
|
const EVENT_COMMENT_RANGE_DRAFT_CHANGE = 'comment_range_draft_change';
|
|
34399
34467
|
|
|
34400
34468
|
/**
|
|
34401
|
-
* Viewer → sidebar: the user pressed Comment on a draft range
|
|
34402
|
-
* The host opens Activity if needed, checks the
|
|
34403
|
-
*
|
|
34469
|
+
* Viewer → sidebar: the user pressed Comment on a draft range, or on the
|
|
34470
|
+
* playhead after pausing. The host opens Activity if needed, checks the
|
|
34471
|
+
* timestamp toggle, and adopts the payload without echoing `comment_range_draft`.
|
|
34472
|
+
* A range sends `{ startMs, endMs }`. A pause sends `{ startMs }` only.
|
|
34404
34473
|
*/
|
|
34405
34474
|
const EVENT_COMMENT_RANGE_DRAG_CREATE = 'comment_range_compose';
|
|
34406
34475
|
|
|
@@ -38047,9 +38116,13 @@ class MP3Viewer extends media_MediaBaseViewer {
|
|
|
38047
38116
|
|
|
38048
38117
|
// Host echoes often omit isSelected. Keep hostSelectedMarkerId so ↑/↓ can
|
|
38049
38118
|
// still walk other comments at the same time. Clear only when that id is gone.
|
|
38119
|
+
// selectionSeq is a new pick of that same comment: seek and draw the range again.
|
|
38050
38120
|
if (selected) {
|
|
38051
|
-
|
|
38121
|
+
const incomingSeq = Number.isFinite(selected.selectionSeq) ? selected.selectionSeq : null;
|
|
38122
|
+
const isRepeatSelect = incomingSeq != null && incomingSeq !== this.hostSelectedMarkerSeq;
|
|
38123
|
+
if (selected.id !== this.hostSelectedMarkerId || isRepeatSelect) {
|
|
38052
38124
|
this.hostSelectedMarkerId = selected.id;
|
|
38125
|
+
this.hostSelectedMarkerSeq = incomingSeq;
|
|
38053
38126
|
this.commentRangeReadOnly = commentMarkerRange(selected);
|
|
38054
38127
|
if (Number.isFinite(selected.time)) {
|
|
38055
38128
|
this.pendingHostSelectedSeek = selected;
|
|
@@ -38058,6 +38131,7 @@ class MP3Viewer extends media_MediaBaseViewer {
|
|
|
38058
38131
|
}
|
|
38059
38132
|
} else if (this.hostSelectedMarkerId && !markers.some(marker => marker.id === this.hostSelectedMarkerId)) {
|
|
38060
38133
|
this.hostSelectedMarkerId = null;
|
|
38134
|
+
this.hostSelectedMarkerSeq = null;
|
|
38061
38135
|
this.pendingHostSelectedSeek = null;
|
|
38062
38136
|
this.commentRangeReadOnly = null;
|
|
38063
38137
|
}
|
|
@@ -38116,7 +38190,7 @@ class MP3Viewer extends media_MediaBaseViewer {
|
|
|
38116
38190
|
});
|
|
38117
38191
|
MP3Viewer_defineProperty(this, "handleCommentRangeDragCreate", () => {
|
|
38118
38192
|
const draft = this.commentRangeDraft;
|
|
38119
|
-
if (!draft || (0,range/* isRangeCollapsed */.BT)(draft)) {
|
|
38193
|
+
if (!this.getCanCreateComment() || !draft || (0,range/* isRangeCollapsed */.BT)(draft)) {
|
|
38120
38194
|
return;
|
|
38121
38195
|
}
|
|
38122
38196
|
this.isCommentRangeTimestampActive = true;
|
|
@@ -38125,6 +38199,32 @@ class MP3Viewer extends media_MediaBaseViewer {
|
|
|
38125
38199
|
startMs: draft.startMs
|
|
38126
38200
|
});
|
|
38127
38201
|
});
|
|
38202
|
+
/**
|
|
38203
|
+
* Comment at the paused playhead. The playhead becomes the collapsed draft,
|
|
38204
|
+
* the same point a seek stores when the timestamp toggle is on.
|
|
38205
|
+
*
|
|
38206
|
+
* @return {void}
|
|
38207
|
+
*/
|
|
38208
|
+
MP3Viewer_defineProperty(this, "handlePlayheadComment", () => {
|
|
38209
|
+
const timeSec = this.mediaEl?.currentTime;
|
|
38210
|
+
if (!this.getCanCreateComment() || this.shuttleDirection || !Number.isFinite(timeSec) || timeSec < 0) {
|
|
38211
|
+
return;
|
|
38212
|
+
}
|
|
38213
|
+
if (this.commentRangeDraft && !(0,range/* isRangeCollapsed */.BT)(this.commentRangeDraft)) {
|
|
38214
|
+
return;
|
|
38215
|
+
}
|
|
38216
|
+
const startMs = Math.floor(timeSec * 1000);
|
|
38217
|
+
this.isCommentRangeTimestampActive = true;
|
|
38218
|
+
this.commentRangeDraft = {
|
|
38219
|
+
endMs: null,
|
|
38220
|
+
startMs
|
|
38221
|
+
};
|
|
38222
|
+
this.syncCommentRangeLoop();
|
|
38223
|
+
this.emit(EVENT_COMMENT_RANGE_DRAG_CREATE, {
|
|
38224
|
+
startMs
|
|
38225
|
+
});
|
|
38226
|
+
this.renderUI();
|
|
38227
|
+
});
|
|
38128
38228
|
MP3Viewer_defineProperty(this, "handleCommentRangeDragChange", isDragging => {
|
|
38129
38229
|
this.isCommentRangeDragging = !!isDragging;
|
|
38130
38230
|
});
|
|
@@ -38199,6 +38299,7 @@ class MP3Viewer extends media_MediaBaseViewer {
|
|
|
38199
38299
|
this.commentRangeDraft = null;
|
|
38200
38300
|
this.commentRangeReadOnly = null;
|
|
38201
38301
|
this.hostSelectedMarkerId = null;
|
|
38302
|
+
this.hostSelectedMarkerSeq = null;
|
|
38202
38303
|
this.isCommentRangeDragging = false;
|
|
38203
38304
|
this.isCommentRangeTimestampActive = false;
|
|
38204
38305
|
this.shuttleDirection = null;
|
|
@@ -39139,6 +39240,17 @@ class MP3Viewer extends media_MediaBaseViewer {
|
|
|
39139
39240
|
}
|
|
39140
39241
|
super.mediaendHandler();
|
|
39141
39242
|
}
|
|
39243
|
+
|
|
39244
|
+
/**
|
|
39245
|
+
* Only an explicit `can_comment` shows Comment.
|
|
39246
|
+
* A missing file, permissions object, or flag hides it.
|
|
39247
|
+
*
|
|
39248
|
+
* @return {boolean}
|
|
39249
|
+
*/
|
|
39250
|
+
getCanCreateComment() {
|
|
39251
|
+
const canComment = this.options?.file?.permissions?.can_comment;
|
|
39252
|
+
return canComment ?? false;
|
|
39253
|
+
}
|
|
39142
39254
|
/**
|
|
39143
39255
|
* @inheritdoc
|
|
39144
39256
|
*/
|
|
@@ -39187,7 +39299,8 @@ class MP3Viewer extends media_MediaBaseViewer {
|
|
|
39187
39299
|
onCommentRangeChange: this.handleCommentRangeChange,
|
|
39188
39300
|
onCommentRangeClear: this.handleCommentRangeClear,
|
|
39189
39301
|
onCommentRangeDragChange: this.handleCommentRangeDragChange,
|
|
39190
|
-
onCommentRangeDragCreate: this.handleCommentRangeDragCreate,
|
|
39302
|
+
onCommentRangeDragCreate: this.getCanCreateComment() ? this.handleCommentRangeDragCreate : undefined,
|
|
39303
|
+
onPlayheadComment: this.getCanCreateComment() ? this.handlePlayheadComment : undefined,
|
|
39191
39304
|
onPlayNextChange: this.setPlayNext,
|
|
39192
39305
|
peaks: this.waveformPeaks,
|
|
39193
39306
|
playNext: this.isPlayNextEnabled(),
|
|
@@ -41044,12 +41157,13 @@ function TimeControlsV2({
|
|
|
41044
41157
|
const [hoverTime, setHoverTime] = external_react_["default"].useState(0);
|
|
41045
41158
|
const [trackWidth, setTrackWidth] = external_react_["default"].useState(0);
|
|
41046
41159
|
const scrubberRef = external_react_["default"].useRef(null);
|
|
41047
|
-
const
|
|
41160
|
+
const selectedMarker = external_react_["default"].useMemo(() => commentMarkers.find(marker => marker.isSelected) ?? null, [commentMarkers]);
|
|
41161
|
+
const hostSelectedId = selectedMarker?.id ?? null;
|
|
41048
41162
|
const {
|
|
41049
41163
|
containerRef,
|
|
41050
41164
|
selectMarker,
|
|
41051
41165
|
selectedId
|
|
41052
|
-
} = (0,useDismissableMarkerSelection/* default */.A)(hostSelectedId);
|
|
41166
|
+
} = (0,useDismissableMarkerSelection/* default */.A)(hostSelectedId, selectedMarker?.selectionSeq ?? null);
|
|
41053
41167
|
const currentValue = isFinite_default()(currentTime) ? currentTime : 0;
|
|
41054
41168
|
const durationValue = isFinite_default()(durationTime) ? durationTime : 0;
|
|
41055
41169
|
const currentPercentage = (0,utils/* percent */.K)(currentValue, durationValue);
|
|
@@ -55671,6 +55785,8 @@ class Preview extends (events_default()) {
|
|
|
55671
55785
|
* @return {void}
|
|
55672
55786
|
*/
|
|
55673
55787
|
destroy() {
|
|
55788
|
+
clearTimeout(this.retryTimeout);
|
|
55789
|
+
|
|
55674
55790
|
// Log all load metrics
|
|
55675
55791
|
this.emitLoadMetrics();
|
|
55676
55792
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "box-content-preview",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.106.0",
|
|
4
4
|
"description": "Box Content Preview UI Element",
|
|
5
5
|
"author": "Box (https://www.box.com/)",
|
|
6
6
|
"license": "SEE LICENSE IN LICENSE",
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"@box/blueprint-web": "^17.11.3",
|
|
40
40
|
"@box/blueprint-web-assets": "^5.10.10",
|
|
41
41
|
"@box/react-virtualized": "9.22.3-rc-box.2",
|
|
42
|
-
"axios": "^0.
|
|
42
|
+
"axios": "^0.34.0",
|
|
43
43
|
"box-annotations": "^5.2.1-beta.0",
|
|
44
44
|
"box-ui-elements": "^20.0.0",
|
|
45
45
|
"react": "^18.0.0",
|
|
@@ -73,7 +73,7 @@
|
|
|
73
73
|
"@typescript-eslint/eslint-plugin": "^5.60.1",
|
|
74
74
|
"@typescript-eslint/parser": "^5.60.1",
|
|
75
75
|
"autoprefixer": "^10.4.21",
|
|
76
|
-
"axios": "^0.
|
|
76
|
+
"axios": "^0.34.0",
|
|
77
77
|
"babel-jest": "^29.7.0",
|
|
78
78
|
"babel-loader": "^8.3.0",
|
|
79
79
|
"babel-plugin-transform-require-ignore": "^0.1.1",
|