box-content-preview 3.105.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 +2 -2
- package/dist/lib/index.js +89 -19
- 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
|
@@ -66,7 +66,7 @@
|
|
|
66
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;
|
|
@@ -5392,8 +5406,6 @@ function IconComment24(props) {
|
|
|
5392
5406
|
}));
|
|
5393
5407
|
}
|
|
5394
5408
|
/* harmony default export */ const icons_IconComment24 = (IconComment24);
|
|
5395
|
-
// EXTERNAL MODULE: ./src/lib/viewers/media/waveform/range.ts
|
|
5396
|
-
var waveform_range = __webpack_require__(4253);
|
|
5397
5409
|
;// ./src/lib/viewers/media/waveform/usePlayheadCamera.ts
|
|
5398
5410
|
|
|
5399
5411
|
|
|
@@ -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,
|
|
@@ -7398,7 +7421,7 @@ function WaveformView({
|
|
|
7398
7421
|
},
|
|
7399
7422
|
onPreviewChange: setPreviewRange,
|
|
7400
7423
|
onRangeChange: interactive && !isOverlayReadOnly ? onRangeChange : undefined,
|
|
7401
|
-
onRangeClear: onRangeClear,
|
|
7424
|
+
onRangeClear: isTape && !isRangeDragging ? onRangeClear : undefined,
|
|
7402
7425
|
range: overlayRange,
|
|
7403
7426
|
readOnly: isOverlayReadOnly,
|
|
7404
7427
|
viewport: viewport
|
|
@@ -7650,7 +7673,11 @@ function WaveformZoomControl({
|
|
|
7650
7673
|
|
|
7651
7674
|
|
|
7652
7675
|
|
|
7676
|
+
|
|
7653
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';
|
|
7654
7681
|
function MP3ControlsV2({
|
|
7655
7682
|
autoplay,
|
|
7656
7683
|
bufferedRange,
|
|
@@ -7699,6 +7726,7 @@ function MP3ControlsV2({
|
|
|
7699
7726
|
const [playRequested, setPlayRequested] = (0,external_react_.useState)(hasStartedPlayback);
|
|
7700
7727
|
const [viewport, setViewport] = (0,external_react_.useState)(null);
|
|
7701
7728
|
const isTape = (0,useTapeWaveform/* default */.Ay)();
|
|
7729
|
+
const controlsRef = (0,external_react_.useRef)(null); // player root; pointerdown outside the range chrome dismisses it
|
|
7702
7730
|
const hasAppliedTapeDefaultZoomRef = (0,external_react_.useRef)(false); // ~10s window applied; reset to 1× when leaving tape
|
|
7703
7731
|
const lastKeyboardZoomStepRef = (0,external_react_.useRef)(0); // last +/− step applied; skip re-step when maxZoom retriggers the effect
|
|
7704
7732
|
const userChangedTapeZoomRef = (0,external_react_.useRef)(false); // pinch/wheel zoom; skip re-applying the 10s default
|
|
@@ -7770,7 +7798,9 @@ function MP3ControlsV2({
|
|
|
7770
7798
|
const waveformRange = commentRangeDraft ?? commentRangeReadOnly;
|
|
7771
7799
|
const isRangeReadOnly = commentRangeDraft == null && commentRangeReadOnly != null;
|
|
7772
7800
|
const waveformMarkers = (0,external_react_.useMemo)(() => commentMarkers || [], [commentMarkers]);
|
|
7773
|
-
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;
|
|
7774
7804
|
const handleCommentMarkerClick = (0,external_react_.useCallback)(marker => {
|
|
7775
7805
|
setPlayRequested(true);
|
|
7776
7806
|
onPlayPause(false);
|
|
@@ -7782,6 +7812,24 @@ function MP3ControlsV2({
|
|
|
7782
7812
|
}, [onCommentMarkerClick, onPlayPause, onTimeChange]);
|
|
7783
7813
|
const hasStarted = playRequested || hasStartedPlayback;
|
|
7784
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]);
|
|
7785
7833
|
const isWaitingToPlay = hasStarted && !hasMediaMetadata;
|
|
7786
7834
|
const showPlayOverlay = !hasStarted && !isPlaying;
|
|
7787
7835
|
const hasZoomHandlers = hasRealPeaks && !showPlayOverlay;
|
|
@@ -7790,7 +7838,8 @@ function MP3ControlsV2({
|
|
|
7790
7838
|
const showShuttle = !isTape && !!shuttleDirection && shuttleRate > 0;
|
|
7791
7839
|
const waveformZoomLevel = isTape || hasZoomHandlers ? zoomLevel : constants/* WAVEFORM_ZOOM_MIN */.LW;
|
|
7792
7840
|
return /*#__PURE__*/external_react_["default"].createElement("div", {
|
|
7793
|
-
|
|
7841
|
+
ref: controlsRef,
|
|
7842
|
+
className: canDismissOpenRange ? 'bp-MP3ControlsV2 bp-MP3ControlsV2--rangeDismiss' : 'bp-MP3ControlsV2',
|
|
7794
7843
|
"data-testid": "media-controls-wrapper-v2"
|
|
7795
7844
|
}, /*#__PURE__*/external_react_["default"].createElement("div", {
|
|
7796
7845
|
className: "bp-MP3ControlsV2-stage"
|
|
@@ -7823,6 +7872,7 @@ function MP3ControlsV2({
|
|
|
7823
7872
|
isTape: isTape,
|
|
7824
7873
|
onCommentMarkerClick: handleCommentMarkerClick,
|
|
7825
7874
|
selectedId: selectedMarkerId,
|
|
7875
|
+
selectionSeq: selectionSeq,
|
|
7826
7876
|
viewport: viewport
|
|
7827
7877
|
})), showShuttle && shuttleDirection && /*#__PURE__*/external_react_["default"].createElement(WaveformShuttleIndicator, {
|
|
7828
7878
|
direction: shuttleDirection,
|
|
@@ -25154,7 +25204,7 @@ class Browser {
|
|
|
25154
25204
|
;// ./src/lib/Logger.js
|
|
25155
25205
|
/* eslint-disable no-undef */
|
|
25156
25206
|
const CLIENT_NAME = "box-content-preview";
|
|
25157
|
-
const CLIENT_VERSION = "3.
|
|
25207
|
+
const CLIENT_VERSION = "3.106.0";
|
|
25158
25208
|
/* eslint-enable no-undef */
|
|
25159
25209
|
|
|
25160
25210
|
class Logger {
|
|
@@ -38066,9 +38116,13 @@ class MP3Viewer extends media_MediaBaseViewer {
|
|
|
38066
38116
|
|
|
38067
38117
|
// Host echoes often omit isSelected. Keep hostSelectedMarkerId so ↑/↓ can
|
|
38068
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.
|
|
38069
38120
|
if (selected) {
|
|
38070
|
-
|
|
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) {
|
|
38071
38124
|
this.hostSelectedMarkerId = selected.id;
|
|
38125
|
+
this.hostSelectedMarkerSeq = incomingSeq;
|
|
38072
38126
|
this.commentRangeReadOnly = commentMarkerRange(selected);
|
|
38073
38127
|
if (Number.isFinite(selected.time)) {
|
|
38074
38128
|
this.pendingHostSelectedSeek = selected;
|
|
@@ -38077,6 +38131,7 @@ class MP3Viewer extends media_MediaBaseViewer {
|
|
|
38077
38131
|
}
|
|
38078
38132
|
} else if (this.hostSelectedMarkerId && !markers.some(marker => marker.id === this.hostSelectedMarkerId)) {
|
|
38079
38133
|
this.hostSelectedMarkerId = null;
|
|
38134
|
+
this.hostSelectedMarkerSeq = null;
|
|
38080
38135
|
this.pendingHostSelectedSeek = null;
|
|
38081
38136
|
this.commentRangeReadOnly = null;
|
|
38082
38137
|
}
|
|
@@ -38135,7 +38190,7 @@ class MP3Viewer extends media_MediaBaseViewer {
|
|
|
38135
38190
|
});
|
|
38136
38191
|
MP3Viewer_defineProperty(this, "handleCommentRangeDragCreate", () => {
|
|
38137
38192
|
const draft = this.commentRangeDraft;
|
|
38138
|
-
if (!draft || (0,range/* isRangeCollapsed */.BT)(draft)) {
|
|
38193
|
+
if (!this.getCanCreateComment() || !draft || (0,range/* isRangeCollapsed */.BT)(draft)) {
|
|
38139
38194
|
return;
|
|
38140
38195
|
}
|
|
38141
38196
|
this.isCommentRangeTimestampActive = true;
|
|
@@ -38152,7 +38207,7 @@ class MP3Viewer extends media_MediaBaseViewer {
|
|
|
38152
38207
|
*/
|
|
38153
38208
|
MP3Viewer_defineProperty(this, "handlePlayheadComment", () => {
|
|
38154
38209
|
const timeSec = this.mediaEl?.currentTime;
|
|
38155
|
-
if (this.shuttleDirection || !Number.isFinite(timeSec) || timeSec < 0) {
|
|
38210
|
+
if (!this.getCanCreateComment() || this.shuttleDirection || !Number.isFinite(timeSec) || timeSec < 0) {
|
|
38156
38211
|
return;
|
|
38157
38212
|
}
|
|
38158
38213
|
if (this.commentRangeDraft && !(0,range/* isRangeCollapsed */.BT)(this.commentRangeDraft)) {
|
|
@@ -38244,6 +38299,7 @@ class MP3Viewer extends media_MediaBaseViewer {
|
|
|
38244
38299
|
this.commentRangeDraft = null;
|
|
38245
38300
|
this.commentRangeReadOnly = null;
|
|
38246
38301
|
this.hostSelectedMarkerId = null;
|
|
38302
|
+
this.hostSelectedMarkerSeq = null;
|
|
38247
38303
|
this.isCommentRangeDragging = false;
|
|
38248
38304
|
this.isCommentRangeTimestampActive = false;
|
|
38249
38305
|
this.shuttleDirection = null;
|
|
@@ -39184,6 +39240,17 @@ class MP3Viewer extends media_MediaBaseViewer {
|
|
|
39184
39240
|
}
|
|
39185
39241
|
super.mediaendHandler();
|
|
39186
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
|
+
}
|
|
39187
39254
|
/**
|
|
39188
39255
|
* @inheritdoc
|
|
39189
39256
|
*/
|
|
@@ -39232,8 +39299,8 @@ class MP3Viewer extends media_MediaBaseViewer {
|
|
|
39232
39299
|
onCommentRangeChange: this.handleCommentRangeChange,
|
|
39233
39300
|
onCommentRangeClear: this.handleCommentRangeClear,
|
|
39234
39301
|
onCommentRangeDragChange: this.handleCommentRangeDragChange,
|
|
39235
|
-
onCommentRangeDragCreate: this.handleCommentRangeDragCreate,
|
|
39236
|
-
onPlayheadComment: this.handlePlayheadComment,
|
|
39302
|
+
onCommentRangeDragCreate: this.getCanCreateComment() ? this.handleCommentRangeDragCreate : undefined,
|
|
39303
|
+
onPlayheadComment: this.getCanCreateComment() ? this.handlePlayheadComment : undefined,
|
|
39237
39304
|
onPlayNextChange: this.setPlayNext,
|
|
39238
39305
|
peaks: this.waveformPeaks,
|
|
39239
39306
|
playNext: this.isPlayNextEnabled(),
|
|
@@ -41090,12 +41157,13 @@ function TimeControlsV2({
|
|
|
41090
41157
|
const [hoverTime, setHoverTime] = external_react_["default"].useState(0);
|
|
41091
41158
|
const [trackWidth, setTrackWidth] = external_react_["default"].useState(0);
|
|
41092
41159
|
const scrubberRef = external_react_["default"].useRef(null);
|
|
41093
|
-
const
|
|
41160
|
+
const selectedMarker = external_react_["default"].useMemo(() => commentMarkers.find(marker => marker.isSelected) ?? null, [commentMarkers]);
|
|
41161
|
+
const hostSelectedId = selectedMarker?.id ?? null;
|
|
41094
41162
|
const {
|
|
41095
41163
|
containerRef,
|
|
41096
41164
|
selectMarker,
|
|
41097
41165
|
selectedId
|
|
41098
|
-
} = (0,useDismissableMarkerSelection/* default */.A)(hostSelectedId);
|
|
41166
|
+
} = (0,useDismissableMarkerSelection/* default */.A)(hostSelectedId, selectedMarker?.selectionSeq ?? null);
|
|
41099
41167
|
const currentValue = isFinite_default()(currentTime) ? currentTime : 0;
|
|
41100
41168
|
const durationValue = isFinite_default()(durationTime) ? durationTime : 0;
|
|
41101
41169
|
const currentPercentage = (0,utils/* percent */.K)(currentValue, durationValue);
|
|
@@ -55717,6 +55785,8 @@ class Preview extends (events_default()) {
|
|
|
55717
55785
|
* @return {void}
|
|
55718
55786
|
*/
|
|
55719
55787
|
destroy() {
|
|
55788
|
+
clearTimeout(this.retryTimeout);
|
|
55789
|
+
|
|
55720
55790
|
// Log all load metrics
|
|
55721
55791
|
this.emitLoadMetrics();
|
|
55722
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",
|