box-content-preview 3.116.0 → 3.118.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/dist/lib/index.js CHANGED
@@ -46,28 +46,30 @@ import { default as __WEBPACK_EXTERNAL_MODULE_axios_default__ } from "axios";
46
46
  import { bdlBoxBlue as __WEBPACK_EXTERNAL_MODULE_box_ui_elements_es_styles_variables_c815ce80_bdlBoxBlue__, bdlGray65 as __WEBPACK_EXTERNAL_MODULE_box_ui_elements_es_styles_variables_c815ce80_bdlGray65__, bdlGreenLight as __WEBPACK_EXTERNAL_MODULE_box_ui_elements_es_styles_variables_c815ce80_bdlGreenLight__, bdlGrimace as __WEBPACK_EXTERNAL_MODULE_box_ui_elements_es_styles_variables_c815ce80_bdlGrimace__, bdlWatermelonRed as __WEBPACK_EXTERNAL_MODULE_box_ui_elements_es_styles_variables_c815ce80_bdlWatermelonRed__, bdlYellorange as __WEBPACK_EXTERNAL_MODULE_box_ui_elements_es_styles_variables_c815ce80_bdlYellorange__, bdlYellow as __WEBPACK_EXTERNAL_MODULE_box_ui_elements_es_styles_variables_c815ce80_bdlYellow__, white as __WEBPACK_EXTERNAL_MODULE_box_ui_elements_es_styles_variables_c815ce80_white__ } from "box-ui-elements/es/styles/variables";
47
47
  import { default as __WEBPACK_EXTERNAL_MODULE_box_ui_elements_es_components_tooltip_Tooltip_97b5ae91_default__ } from "box-ui-elements/es/components/tooltip/Tooltip";
48
48
  import { withTargetedClickThrough as __WEBPACK_EXTERNAL_MODULE_box_ui_elements_es_features_targeting_hocs_e326fa91_withTargetedClickThrough__ } from "box-ui-elements/es/features/targeting/hocs";
49
+ import { default as __WEBPACK_EXTERNAL_MODULE__box_blueprint_web_assets_icons_Medium_ArrowsMaximize_12b9ae40_default__ } from "@box/blueprint-web-assets/icons/Medium/ArrowsMaximize";
50
+ import { default as __WEBPACK_EXTERNAL_MODULE__box_blueprint_web_assets_icons_Medium_ArrowsMinimize_35faab95_default__ } from "@box/blueprint-web-assets/icons/Medium/ArrowsMinimize";
51
+ import { default as __WEBPACK_EXTERNAL_MODULE__box_blueprint_web_assets_icons_Medium_Minus_cc9df143_default__ } from "@box/blueprint-web-assets/icons/Medium/Minus";
52
+ import { default as __WEBPACK_EXTERNAL_MODULE__box_blueprint_web_assets_icons_Medium_Plus_aaa7b14f_default__ } from "@box/blueprint-web-assets/icons/Medium/Plus";
49
53
  import { default as __WEBPACK_EXTERNAL_MODULE__box_blueprint_web_assets_icons_Medium_CheckmarkCircle_e8bd4624_default__ } from "@box/blueprint-web-assets/icons/Medium/CheckmarkCircle";
50
54
  import { default as __WEBPACK_EXTERNAL_MODULE__box_blueprint_web_assets_icons_Medium_XMark_07fbe0f0_default__ } from "@box/blueprint-web-assets/icons/Medium/XMark";
51
55
  import { default as __WEBPACK_EXTERNAL_MODULE__box_blueprint_web_assets_icons_Medium_PencilTip_154ad3fd_default__ } from "@box/blueprint-web-assets/icons/Medium/PencilTip";
52
56
  import { default as __WEBPACK_EXTERNAL_MODULE__box_blueprint_web_assets_icons_Medium_SquarePlus_c11758f1_default__ } from "@box/blueprint-web-assets/icons/Medium/SquarePlus";
53
57
  import { default as __WEBPACK_EXTERNAL_MODULE__box_blueprint_web_assets_icons_Medium_TCursorHighlight_508374cb_default__ } from "@box/blueprint-web-assets/icons/Medium/TCursorHighlight";
54
58
  import { default as __WEBPACK_EXTERNAL_MODULE__box_blueprint_web_assets_icons_Medium_Search_ef3e4aba_default__ } from "@box/blueprint-web-assets/icons/Medium/Search";
55
- import { default as __WEBPACK_EXTERNAL_MODULE__box_blueprint_web_assets_icons_Medium_ArrowsMaximize_12b9ae40_default__ } from "@box/blueprint-web-assets/icons/Medium/ArrowsMaximize";
56
- import { default as __WEBPACK_EXTERNAL_MODULE__box_blueprint_web_assets_icons_Medium_ArrowsMinimize_35faab95_default__ } from "@box/blueprint-web-assets/icons/Medium/ArrowsMinimize";
57
59
  import { default as __WEBPACK_EXTERNAL_MODULE__box_blueprint_web_assets_icons_Medium_GridView_ac92b674_default__ } from "@box/blueprint-web-assets/icons/Medium/GridView";
58
60
  import { default as __WEBPACK_EXTERNAL_MODULE__box_blueprint_web_assets_icons_Medium_ChevronDown_a545a634_default__ } from "@box/blueprint-web-assets/icons/Medium/ChevronDown";
59
61
  import { default as __WEBPACK_EXTERNAL_MODULE__box_blueprint_web_assets_icons_Medium_ChevronUp_d399c022_default__ } from "@box/blueprint-web-assets/icons/Medium/ChevronUp";
60
62
  import { default as __WEBPACK_EXTERNAL_MODULE__box_blueprint_web_assets_icons_Medium_RotateLeft_c726d679_default__ } from "@box/blueprint-web-assets/icons/Medium/RotateLeft";
61
63
  import { default as __WEBPACK_EXTERNAL_MODULE__box_blueprint_web_assets_icons_Medium_Nav_d41e959a_default__ } from "@box/blueprint-web-assets/icons/Medium/Nav";
62
64
  import { default as __WEBPACK_EXTERNAL_MODULE__box_blueprint_web_assets_icons_MediumFilled_Nav_ae6d790f_default__ } from "@box/blueprint-web-assets/icons/MediumFilled/Nav";
63
- import { default as __WEBPACK_EXTERNAL_MODULE__box_blueprint_web_assets_icons_Medium_Minus_cc9df143_default__ } from "@box/blueprint-web-assets/icons/Medium/Minus";
64
- import { default as __WEBPACK_EXTERNAL_MODULE__box_blueprint_web_assets_icons_Medium_Plus_aaa7b14f_default__ } from "@box/blueprint-web-assets/icons/Medium/Plus";
65
65
  import { default as __WEBPACK_EXTERNAL_MODULE__box_blueprint_web_assets_icons_Medium_Checkmark_52a58454_default__ } from "@box/blueprint-web-assets/icons/Medium/Checkmark";
66
66
  import { default as __WEBPACK_EXTERNAL_MODULE__box_blueprint_web_assets_icons_Medium_Download_0dc63cde_default__ } from "@box/blueprint-web-assets/icons/Medium/Download";
67
67
  import { default as __WEBPACK_EXTERNAL_MODULE__box_blueprint_web_assets_icons_Medium_Ellipsis_9a96c07b_default__ } from "@box/blueprint-web-assets/icons/Medium/Ellipsis";
68
68
  import { default as __WEBPACK_EXTERNAL_MODULE__box_blueprint_web_assets_icons_Medium_Expand_92c6b888_default__ } from "@box/blueprint-web-assets/icons/Medium/Expand";
69
69
  import { default as __WEBPACK_EXTERNAL_MODULE__box_blueprint_web_assets_icons_Medium_Trash_28211f44_default__ } from "@box/blueprint-web-assets/icons/Medium/Trash";
70
70
  import { PreviewLoading as __WEBPACK_EXTERNAL_MODULE_box_ui_elements_es_components_preview_386c8d2b_PreviewLoading__, getIcon as __WEBPACK_EXTERNAL_MODULE_box_ui_elements_es_components_preview_386c8d2b_getIcon__ } from "box-ui-elements/es/components/preview";
71
+ import { default as __WEBPACK_EXTERNAL_MODULE__box_blueprint_web_assets_icons_Medium_ChevronLeft_8bf40851_default__ } from "@box/blueprint-web-assets/icons/Medium/ChevronLeft";
72
+ import { default as __WEBPACK_EXTERNAL_MODULE__box_blueprint_web_assets_icons_Medium_ChevronRight_619e782c_default__ } from "@box/blueprint-web-assets/icons/Medium/ChevronRight";
71
73
  /******/ var __webpack_modules__ = ({
72
74
 
73
75
  /***/ 1057
@@ -361,6 +363,7 @@ class Location {
361
363
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
362
364
  /* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__)
363
365
  /* harmony export */ });
366
+ /* provided dependency */ var __ = __webpack_require__(441)["Tl"];
364
367
  function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
365
368
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
366
369
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
@@ -400,7 +403,7 @@ class PreviewError extends Error {
400
403
  this.details = details;
401
404
 
402
405
  // Default display message to generic error message if not set
403
- this.displayMessage = displayMessage || "This preview didn’t load. Please try to open or download the file to view.";
406
+ this.displayMessage = displayMessage || __('error_generic');
404
407
 
405
408
  // Default base error message to display message if not set - some code may depend on Error.message
406
409
  this.message = message || this.displayMessage;
@@ -900,165 +903,178 @@ const REPORT_ACI = 'advanced_insights_report';
900
903
 
901
904
  /***/ },
902
905
 
906
+ /***/ 8080
907
+ (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
908
+
909
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
910
+ /* harmony export */ w: () => (/* binding */ isNpmBuild)
911
+ /* harmony export */ });
912
+ function isNpmBuild() {
913
+ return true && true;
914
+ }
915
+
916
+ /***/ },
917
+
903
918
  /***/ 9271
904
919
  (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
905
920
 
906
921
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
907
922
  /* harmony export */ A: () => (/* binding */ getLanguageName)
908
923
  /* harmony export */ });
909
- const languageMap = {
910
- af: "Afrikaans",
911
- afr: "Afrikaans",
912
- alb: "Albanian",
913
- sq: "Albanian",
914
- sqi: "Albanian",
915
- ar: "Arabic",
916
- ara: "Arabic",
917
- arm: "Armenian",
918
- hy: "Armenian",
919
- hye: "Armenian",
920
- be: "Belarusian",
921
- bel: "Belarusian",
922
- ben: "Bengali",
923
- bn: "Bengali",
924
- bos: "Bosnian",
925
- bs: "Bosnian",
926
- bg: "Bulgarian",
927
- bul: "Bulgarian",
928
- bur: "Burmese",
929
- my: "Burmese",
930
- mya: "Burmese",
931
- ca: "Catalan",
932
- cat: "Catalan",
933
- khm: "Central Khmer",
934
- km: "Central Khmer",
935
- chi: "Chinese",
936
- zh: "Chinese",
937
- zho: "Chinese",
938
- hr: "Croatian",
939
- hrv: "Croatian",
940
- ces: "Czech",
941
- cs: "Czech",
942
- cze: "Czech",
943
- da: "Danish",
944
- dan: "Danish",
945
- dut: "Dutch",
946
- nl: "Dutch",
947
- nld: "Dutch",
948
- en: "English",
949
- eng: "English",
950
- est: "Estonian",
951
- et: "Estonian",
952
- fil: "Filipino",
953
- fi: "Finnish",
954
- fin: "Finnish",
955
- fr: "French",
956
- fra: "French",
957
- fre: "French",
958
- gl: "Galician",
959
- glg: "Galician",
960
- lg: "Ganda",
961
- lug: "Ganda",
962
- geo: "Georgian",
963
- ka: "Georgian",
964
- kat: "Georgian",
965
- de: "German",
966
- deu: "German",
967
- ger: "German",
968
- hat: "Haitian Creole",
969
- ht: "Haitian Creole",
970
- he: "Hebrew",
971
- heb: "Hebrew",
972
- hi: "Hindi",
973
- hin: "Hindi",
974
- hmn: "Hmong",
975
- hu: "Hungarian",
976
- hun: "Hungarian",
977
- ice: "Icelandic",
978
- is: "Icelandic",
979
- isl: "Icelandic",
980
- id: "Indonesian",
981
- ind: "Indonesian",
982
- ga: "Irish",
983
- gle: "Irish",
984
- it: "Italian",
985
- ita: "Italian",
986
- ja: "Japanese",
987
- jpn: "Japanese",
988
- kaz: "Kazakh",
989
- kk: "Kazakh",
990
- ko: "Korean",
991
- kor: "Korean",
992
- ku: "Kurdish",
993
- kur: "Kurdish",
994
- lao: "Lao",
995
- lo: "Lao",
996
- lav: "Latvian",
997
- lv: "Latvian",
998
- lit: "Lithuanian",
999
- lt: "Lithuanian",
1000
- lb: "Luxembourgish",
1001
- ltz: "Luxembourgish",
1002
- may: "Malay",
1003
- ms: "Malay",
1004
- msa: "Malay",
1005
- el: "Greek",
1006
- ell: "Greek",
1007
- gre: "Greek",
1008
- mn: "Mongolian",
1009
- mon: "Mongolian",
1010
- no: "Norwegian",
1011
- nor: "Norwegian",
1012
- fa: "Persian",
1013
- fas: "Persian",
1014
- per: "Persian",
1015
- pl: "Polish",
1016
- pol: "Polish",
1017
- por: "Portuguese",
1018
- pt: "Portuguese",
1019
- ro: "Romanian",
1020
- ron: "Romanian",
1021
- rum: "Romanian",
1022
- ru: "Russian",
1023
- rus: "Russian",
1024
- scc: "Serbian",
1025
- sr: "Serbian",
1026
- srp: "Serbian",
1027
- ii: "Sichuan Yi",
1028
- iii: "Sichuan Yi",
1029
- scn: "Sicilian",
1030
- sk: "Slovak",
1031
- slk: "Slovak",
1032
- slo: "Slovak",
1033
- sl: "Slovenian",
1034
- slv: "Slovenian",
1035
- so: "Somali",
1036
- som: "Somali",
1037
- es: "Spanish",
1038
- spa: "Spanish",
1039
- sw: "Swahili",
1040
- swa: "Swahili",
1041
- sv: "Swedish",
1042
- swe: "Swedish",
1043
- gsw: "Swiss German",
1044
- tgl: "Tagalog",
1045
- tl: "Tagalog",
1046
- te: "Telugu",
1047
- tel: "Telugu",
1048
- th: "Thai",
1049
- tha: "Thai",
1050
- bo: "Tibetan",
1051
- bod: "Tibetan",
1052
- tib: "Tibetan",
1053
- tr: "Turkish",
1054
- tur: "Turkish",
1055
- uk: "Ukrainian",
1056
- ukr: "Ukrainian",
1057
- uz: "Uzbek",
1058
- uzb: "Uzbek",
1059
- vi: "Vietnamese",
1060
- vie: "Vietnamese"
1061
- };
924
+ /* provided dependency */ var __ = __webpack_require__(441)["Tl"];
925
+ const createLanguageMap = () => ({
926
+ af: __('afrikaans'),
927
+ afr: __('afrikaans'),
928
+ alb: __('albanian'),
929
+ sq: __('albanian'),
930
+ sqi: __('albanian'),
931
+ ar: __('arabic'),
932
+ ara: __('arabic'),
933
+ arm: __('armenian'),
934
+ hy: __('armenian'),
935
+ hye: __('armenian'),
936
+ be: __('belarusian'),
937
+ bel: __('belarusian'),
938
+ ben: __('bengali'),
939
+ bn: __('bengali'),
940
+ bos: __('bosnian'),
941
+ bs: __('bosnian'),
942
+ bg: __('bulgarian'),
943
+ bul: __('bulgarian'),
944
+ bur: __('burmese'),
945
+ my: __('burmese'),
946
+ mya: __('burmese'),
947
+ ca: __('catalan'),
948
+ cat: __('catalan'),
949
+ khm: __('central_khmer'),
950
+ km: __('central_khmer'),
951
+ chi: __('chinese'),
952
+ zh: __('chinese'),
953
+ zho: __('chinese'),
954
+ hr: __('croatian'),
955
+ hrv: __('croatian'),
956
+ ces: __('czech'),
957
+ cs: __('czech'),
958
+ cze: __('czech'),
959
+ da: __('danish'),
960
+ dan: __('danish'),
961
+ dut: __('dutch'),
962
+ nl: __('dutch'),
963
+ nld: __('dutch'),
964
+ en: __('english'),
965
+ eng: __('english'),
966
+ est: __('estonian'),
967
+ et: __('estonian'),
968
+ fil: __('filipino'),
969
+ fi: __('finnish'),
970
+ fin: __('finnish'),
971
+ fr: __('french'),
972
+ fra: __('french'),
973
+ fre: __('french'),
974
+ gl: __('galician'),
975
+ glg: __('galician'),
976
+ lg: __('ganda'),
977
+ lug: __('ganda'),
978
+ geo: __('georgian'),
979
+ ka: __('georgian'),
980
+ kat: __('georgian'),
981
+ de: __('german'),
982
+ deu: __('german'),
983
+ ger: __('german'),
984
+ hat: __('haitian_creole'),
985
+ ht: __('haitian_creole'),
986
+ he: __('hebrew'),
987
+ heb: __('hebrew'),
988
+ hi: __('hindi'),
989
+ hin: __('hindi'),
990
+ hmn: __('hmong'),
991
+ hu: __('hungarian'),
992
+ hun: __('hungarian'),
993
+ ice: __('icelandic'),
994
+ is: __('icelandic'),
995
+ isl: __('icelandic'),
996
+ id: __('indonesian'),
997
+ ind: __('indonesian'),
998
+ ga: __('irish'),
999
+ gle: __('irish'),
1000
+ it: __('italian'),
1001
+ ita: __('italian'),
1002
+ ja: __('japanese'),
1003
+ jpn: __('japanese'),
1004
+ kaz: __('kazakh'),
1005
+ kk: __('kazakh'),
1006
+ ko: __('korean'),
1007
+ kor: __('korean'),
1008
+ ku: __('kurdish'),
1009
+ kur: __('kurdish'),
1010
+ lao: __('lao'),
1011
+ lo: __('lao'),
1012
+ lav: __('latvian'),
1013
+ lv: __('latvian'),
1014
+ lit: __('lithuanian'),
1015
+ lt: __('lithuanian'),
1016
+ lb: __('luxembourgish'),
1017
+ ltz: __('luxembourgish'),
1018
+ may: __('malay_macrolanguage'),
1019
+ ms: __('malay_macrolanguage'),
1020
+ msa: __('malay_macrolanguage'),
1021
+ el: __('modern_greek_1453_'),
1022
+ ell: __('modern_greek_1453_'),
1023
+ gre: __('modern_greek_1453_'),
1024
+ mn: __('mongolian'),
1025
+ mon: __('mongolian'),
1026
+ no: __('norwegian'),
1027
+ nor: __('norwegian'),
1028
+ fa: __('persian'),
1029
+ fas: __('persian'),
1030
+ per: __('persian'),
1031
+ pl: __('polish'),
1032
+ pol: __('polish'),
1033
+ por: __('portuguese'),
1034
+ pt: __('portuguese'),
1035
+ ro: __('romanian'),
1036
+ ron: __('romanian'),
1037
+ rum: __('romanian'),
1038
+ ru: __('russian'),
1039
+ rus: __('russian'),
1040
+ scc: __('serbian'),
1041
+ sr: __('serbian'),
1042
+ srp: __('serbian'),
1043
+ ii: __('sichuan_yi'),
1044
+ iii: __('sichuan_yi'),
1045
+ scn: __('sicilian'),
1046
+ sk: __('slovak'),
1047
+ slk: __('slovak'),
1048
+ slo: __('slovak'),
1049
+ sl: __('slovenian'),
1050
+ slv: __('slovenian'),
1051
+ so: __('somali'),
1052
+ som: __('somali'),
1053
+ es: __('spanish'),
1054
+ spa: __('spanish'),
1055
+ sw: __('swahili_macrolanguage'),
1056
+ swa: __('swahili_macrolanguage'),
1057
+ sv: __('swedish'),
1058
+ swe: __('swedish'),
1059
+ gsw: __('swiss_german'),
1060
+ tgl: __('tagalog'),
1061
+ tl: __('tagalog'),
1062
+ te: __('telugu'),
1063
+ tel: __('telugu'),
1064
+ th: __('thai'),
1065
+ tha: __('thai'),
1066
+ bo: __('tibetan'),
1067
+ bod: __('tibetan'),
1068
+ tib: __('tibetan'),
1069
+ tr: __('turkish'),
1070
+ tur: __('turkish'),
1071
+ uk: __('ukrainian'),
1072
+ ukr: __('ukrainian'),
1073
+ uz: __('uzbek'),
1074
+ uzb: __('uzbek'),
1075
+ vi: __('vietnamese'),
1076
+ vie: __('vietnamese')
1077
+ });
1062
1078
 
1063
1079
  /**
1064
1080
  * Returns a localized language name, given an ISO-639-1/2/3/5 code:
@@ -1068,7 +1084,58 @@ const languageMap = {
1068
1084
  * @return {string} Returns the localized name of language represented by iso639Code
1069
1085
  */
1070
1086
  function getLanguageName(iso639Code) {
1071
- return languageMap[iso639Code.toLowerCase()];
1087
+ return createLanguageMap()[iso639Code.toLowerCase()];
1088
+ }
1089
+
1090
+ /***/ },
1091
+
1092
+ /***/ 441
1093
+ (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1094
+
1095
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1096
+ /* harmony export */ FB: () => (/* binding */ setMessages),
1097
+ /* harmony export */ Tl: () => (/* binding */ translate),
1098
+ /* harmony export */ Z0: () => (/* binding */ getLanguage),
1099
+ /* harmony export */ xC: () => (/* binding */ setLanguage)
1100
+ /* harmony export */ });
1101
+ /* unused harmony export MESSAGE_KEY_PREFIX */
1102
+ /* harmony import */ var _isNpmBuild__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8080);
1103
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
1104
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1105
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
1106
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
1107
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
1108
+
1109
+ const DEFAULT_LANGUAGE = 'en-US';
1110
+
1111
+ // Keys in the published i18n/<locale>.js files carry this prefix so they can be merged
1112
+ // with other packages' messages in a host's language bundle.
1113
+ const MESSAGE_KEY_PREFIX = 'bcp.';
1114
+
1115
+ // Only the npm build defines __BCP_DEFAULT_MESSAGES__; the CDN build bakes strings in per locale.
1116
+ const defaultStrings = (0,_isNpmBuild__WEBPACK_IMPORTED_MODULE_0__/* .isNpmBuild */ .w)() ? {"rotate_left":"Rotate left","zoom_current_scale":"Current zoom level","zoom_in":"Zoom in","zoom_out":"Zoom out","enter_fullscreen":"Enter fullscreen","exit_fullscreen":"Exit fullscreen","controls_more":"More options","controls_shortcut_ctrl":"Ctrl + {1}","drawing_comment":"Markup","region_comment":"Comment on Region","highlight_text":"Highlight and Comment","exit_annotations":"Exit Annotations","annotation_tools":"Comment and markup","drawing_color":"Drawing color","drawing_color_blue":"Blue","drawing_color_green":"Green","drawing_color_red":"Red","drawing_color_orange":"Orange","drawing_color_yellow":"Yellow","drawing_color_purple":"Purple","previous_page":"Previous page","enter_page_num":"Click to enter page number","next_page":"Next page","download":"Download","print":"Print","print_notification":"Please press the print button to get a printable version of this document.","print_loading":"Preparing to print...","print_ready":"Ready to print.","print_close":"Close print dialog","previous_file":"Previous file","logo":"Logo","next_file":"Next file","loading_preview":"Loading Preview...","download_file":"Download File","text_truncated":"This file has been truncated due to size limits. Please download to view the whole file.","toggle_findbar":"Toggle findbar","toggle_thumbnails":"Toggle thumbnails","gallery_view":"Gallery view","page_gallery":"Page gallery","page_gallery_tile":"Page {1}","has_x_refs":"This preview has references you cannot view. Open the file in its native application.","find_next":"Find next","find_previous":"Find previous","find_close":"Close","find_label":"Search input","thumbnail_label":"Page thumbnails","file_preview_label":"File preview","comparison_banner_current":"Current version","comparison_banner_previous":"Previous version","comparison_banner_actions":"More actions","comparison_banner_open_full_preview":"Open Full Preview","comparison_banner_make_current":"Make Current","comparison_banner_delete":"Delete","error_generic":"This preview didn’t load. Please try to open or download the file to view.","error_unsupported":"This preview didn’t load because the file type is unsupported. Please try to open or download the file to view.","error_account":"This preview didn’t load because your account is unable to preview this file type. Please try to open or download the file to view.","error_permissions":"This preview didn’t load because you don’t have permission. Please ask the file owner to update permissions.","error_refresh":"This preview didn’t load. Please try to open or download the file to view.","error_rate_limit":"This preview didn’t load because your request was rate limited. Please try to open or download the file to view.","error_reupload":"This preview didn’t load. Please try to open or download the file to view.","error_browser_unsupported":"Your browser doesn’t support preview for {1}. Please try to open or download the file to view.","error_document":"This preview didn’t load because the document may be protected. Please try to open or download the file to view.","error_password_protected":"This preview didn’t load because the document is protected. Please try to open or download the file to view.","error_try_again_later":"This preview didn’t load. Please refresh the page or download file to view.","error_bad_file":"This preview didn’t load. Please try to open or download the file to view.","error_not_downloadable":"Something seems to be wrong with this file. Please refresh the page, and if the issue continues, try to upload a new version.","error_flash_not_enabled":"This preview didn’t load because Flash is not enabled on your browser. Please try to enable Flash or download the file to view.","error_internet_explorer_office_online":"This version of Internet Explorer is out of date and the experience may be degraded. Please try switching to a different browser for a better experience.","error_large_file":"File exceeds supported size for preview. Open or download the file to view.","error_too_many_operations":"The file is too complex to display in your browser. Please download it to view.","error_zero_byte_file":"Cannot preview 0 B file. Open or download the file to view.","filename":"Name","last_modified_date":"Modified","size":"Size","search":"Search","search_results":"Search Results","search_placeholder":"Search files and folders","search_clear":"Clear search","breadcrumb":"Breadcrumb","breadcrumb_truncated":"Show hidden folders","media_autoplay":"Autoplay","media_autoplay_disabled":"Disabled","media_autoplay_enabled":"Enabled","media_play_next":"Play next file","media_play_next_disabled":"Disabled","media_play_next_enabled":"Enabled","media_speed":"Speed","media_speed_normal":"Normal","media_quality":"Quality","media_quality_auto":"Auto","media_guides":"Guides","media_guides_off":"Off","media_guides_default":"Default","media_guides_widescreen_hd":"Widescreen HD","media_guides_vertical":"Vertical","media_guides_square":"Square","media_guides_social_portrait":"Social Portrait","media_guides_cinemascope":"Cinemascope","media_guides_univisium":"Univisium","media_guides_cinema_flat":"Cinema Flat","media_guides_scope":"Scope","media_guides_fullscreen":"Fullscreen","media_guides_ultrawide":"Ultrawide","media_volume_slider":"Volume Slider","media_generating_waveform":"Generating waveform","media_loading":"Loading","media_zoom":"Zoom","media_zoom_slider":"Zoom Slider","media_time_slider":"Media Slider","media_comment_marker":"Comment marker","media_range_comment":"Comment","media_range_clear":"Clear","media_shuttle_forward":"Scanning forward at {1}x","media_shuttle_reverse":"Scanning backward at {1}x","media_mute":"Mute","media_unmute":"Unmute","media_play":"Play","media_pause":"Pause","media_skip_forward":"Skip forward","media_skip_backward":"Skip backward","media_settings":"Settings","media_subtitles_cc":"Subtitles/Closed Captions","media_time_format":"Time format","media_time_format_standard":"Standard time","media_time_format_timecode":"Timecode","media_time_format_frames":"Frame numbers","volume":"Volume","of":"of","subtitles":"Subtitles","off":"Off","media_audio":"Audio","track":"Track","media_auto_generated_captions":"Auto-Generated Captions","auto_generated":"Auto-Generated","box3d_animation_clips":"Animation clips","box3d_camera_projection_perspective":"Perspective","box3d_camera_projection_orthographic":"Orthographic","box3d_reset":"Reset","box3d_toggle_animation":"Play/pause animation","box3d_toggle_vr":"Toggle VR display","box3d_render_mode_lit":"Lit","box3d_render_mode_unlit":"Unlit","box3d_render_mode_normals":"Normals","box3d_render_mode_shape":"Shape","box3d_render_mode_uv_overlay":"UV Overlay","box3d_settings":"Settings","box3d_settings_render_label":"Render mode","box3d_settings_grid_label":"Show grid","box3d_settings_wireframes_label":"Show wireframes","box3d_settings_skeletons_label":"Show skeletons","box3d_settings_projection_label":"Camera Projection","box3d_settings_rotate_label":"Rotate Model","box3d_settings_rotate_left":"Rotate left around {1} axis","box3d_settings_rotate_right":"Rotate right around {1} axis","document_label":"Document Viewer","annotation_add_comment_placeholder":"Add a comment here...","annotation_reply_placeholder":"Post a reply...","annotation_done":"Done","annotation_close":"Close","annotation_cancel":"Cancel","annotation_save":"Save","annotation_post":"Post","annotation_delete":"Delete","annotation_delete_confirmation_message":"Delete this annotation?","annotation_profile_alt":"Avatar","annotation_anonymous_user_name":"Some User","annotation_posting_message":"Posting...","annotation_point_toggle":"Point annotation mode","annotation_draw_toggle":"Drawing annotation mode","annotation_highlight_toggle":"Highlight text","annotation_highlight_comment":"Add comment to highlighted text","annotation_who_highlighted":"{1} highlighted","annotation_who_drew":"{1} drew","annotation_draw_save":"Save drawing","annotation_draw_delete":"Delete drawing","annotations_load_error":"Annotations could not be loaded for this file. Please refresh the page to try again.","annotations_create_error":"This annotation could not be created. Please try again.","annotations_delete_error":"This annotation could not be deleted. Please try again.","annotations_authorization_error":"Annotations could not be loaded for this file. You may not have permission to take this action.","annotations_tooltip_body":"Make notes and comments to highlight key information when previewing content.","annotations_tooltip_title":"Add feedback on content","notification_button_default_text":"Okay","notification_button_default_label":"Clear Notification","notification_annotation_point_mode":"Click anywhere to add a comment to the document","notification_annotation_draw_mode":"Press down and drag the pointer to draw on the document","notification_degraded_preview":"Your connection to {1} is being blocked. Please reach out to your network admin to adjust firewall settings.","notification_cannot_download":"This file could not be downloaded.","notification_cannot_download_due_to_policy":"The file could not be downloaded due to a security policy.","link_contact_us":"Contact Us","360_videos":"360-degree videos","360_images":"360-degree images","3d_models":"3D models","afrikaans":"Afrikaans","albanian":"Albanian","arabic":"Arabic","armenian":"Armenian","belarusian":"Belarusian","bengali":"Bengali","bosnian":"Bosnian","bulgarian":"Bulgarian","burmese":"Burmese","catalan":"Catalan","central_khmer":"Central Khmer","chinese":"Chinese","croatian":"Croatian","czech":"Czech","danish":"Danish","dutch":"Dutch","english":"English","estonian":"Estonian","filipino":"Filipino","finnish":"Finnish","french":"French","galician":"Galician","ganda":"Ganda","georgian":"Georgian","german":"German","haitian_creole":"Haitian Creole","hebrew":"Hebrew","hindi":"Hindi","hmong":"Hmong","hungarian":"Hungarian","icelandic":"Icelandic","indonesian":"Indonesian","irish":"Irish","italian":"Italian","japanese":"Japanese","kazakh":"Kazakh","korean":"Korean","kurdish":"Kurdish","lao":"Lao","latvian":"Latvian","lithuanian":"Lithuanian","luxembourgish":"Luxembourgish","malay_macrolanguage":"Malay","modern_greek_1453_":"Greek","mongolian":"Mongolian","norwegian":"Norwegian","persian":"Persian","polish":"Polish","portuguese":"Portuguese","romanian":"Romanian","russian":"Russian","serbian":"Serbian","sichuan_yi":"Sichuan Yi","sicilian":"Sicilian","slovak":"Slovak","slovenian":"Slovenian","somali":"Somali","spanish":"Spanish","swahili_macrolanguage":"Swahili","swedish":"Swedish","swiss_german":"Swiss German","tagalog":"Tagalog","telugu":"Telugu","thai":"Thai","tibetan":"Tibetan","turkish":"Turkish","ukrainian":"Ukrainian","uzbek":"Uzbek","vietnamese":"Vietnamese"} : {};
1117
+ let language = true ? "en-US" : 0;
1118
+ let strings = defaultStrings;
1119
+ function getLanguage() {
1120
+ return language;
1121
+ }
1122
+ function setLanguage(nextLanguage) {
1123
+ language = nextLanguage || DEFAULT_LANGUAGE;
1124
+ }
1125
+ function setMessages(messages) {
1126
+ strings = _objectSpread({}, defaultStrings);
1127
+ if (!messages) {
1128
+ return;
1129
+ }
1130
+ Object.keys(messages).forEach(key => {
1131
+ const value = messages[key];
1132
+ if (key.startsWith(MESSAGE_KEY_PREFIX) && typeof value === 'string') {
1133
+ strings[key.slice(MESSAGE_KEY_PREFIX.length)] = value;
1134
+ }
1135
+ });
1136
+ }
1137
+ function translate(key) {
1138
+ return strings[key] ?? key;
1072
1139
  }
1073
1140
 
1074
1141
  /***/ },
@@ -1134,6 +1201,7 @@ var PreviewError = __webpack_require__(8041);
1134
1201
  // EXTERNAL MODULE: ./src/lib/events.js
1135
1202
  var events = __webpack_require__(6526);
1136
1203
  ;// ./src/lib/util.js
1204
+ /* provided dependency */ var __ = __webpack_require__(441)["Tl"];
1137
1205
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
1138
1206
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1139
1207
  function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
@@ -1148,7 +1216,7 @@ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e =
1148
1216
  const CLIENT_NAME = "box-content-preview"; // eslint-disable-line no-undef
1149
1217
  const CLIENT_NAME_KEY = 'box_client_name';
1150
1218
  const CLIENT_VERSION_KEY = 'box_client_version';
1151
- const CLIENT_VERSION = "3.116.0"; // eslint-disable-line no-undef
1219
+ const CLIENT_VERSION = "3.118.0"; // eslint-disable-line no-undef
1152
1220
  const HEADER_CLIENT_NAME = 'X-Box-Client-Name';
1153
1221
  const HEADER_CLIENT_VERSION = 'X-Box-Client-Version';
1154
1222
  const PROMISE_MAP = {};
@@ -1896,7 +1964,7 @@ function isLocalStorageAvailable() {
1896
1964
  function handleRepresentationBlobFetch(response) {
1897
1965
  const status = getProp(response, 'status');
1898
1966
  if (status === 202) {
1899
- const error = new PreviewError/* default */.A(events/* ERROR_CODE */.bo.DELETED_REPS, "This preview didn’t load. Please try to open or download the file to view.", {
1967
+ const error = new PreviewError/* default */.A(events/* ERROR_CODE */.bo.DELETED_REPS, __('error_refresh'), {
1900
1968
  isRepDeleted: true
1901
1969
  });
1902
1970
  return Promise.reject(error);
@@ -4700,6 +4768,7 @@ var constants = __webpack_require__(7955);
4700
4768
  // extracted by mini-css-extract-plugin
4701
4769
 
4702
4770
  ;// ./src/lib/viewers/archive/ArchiveTableV2.tsx
4771
+ /* provided dependency */ var __ = __webpack_require__(441)["Tl"];
4703
4772
 
4704
4773
 
4705
4774
 
@@ -4770,7 +4839,7 @@ function ArchiveTableV2({
4770
4839
  className: "bp-ArchiveTableV2"
4771
4840
  }, /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Table, {
4772
4841
  ref: table => table?.setAttribute('aria-rowcount', String(items.length + 1)),
4773
- "aria-label": "Name",
4842
+ "aria-label": __('filename'),
4774
4843
  onSortChange: ({
4775
4844
  column,
4776
4845
  direction
@@ -4789,19 +4858,19 @@ function ArchiveTableV2({
4789
4858
  isRowHeader: true
4790
4859
  }, /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Text, {
4791
4860
  as: "span"
4792
- }, "Name")), /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Column, {
4861
+ }, __('filename'))), /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Column, {
4793
4862
  key: KEY_MODIFIED_AT,
4794
4863
  allowsSorting: true,
4795
4864
  id: KEY_MODIFIED_AT
4796
4865
  }, /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Text, {
4797
4866
  as: "span"
4798
- }, "Modified")), /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Column, {
4867
+ }, __('last_modified_date'))), /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Column, {
4799
4868
  key: KEY_SIZE,
4800
4869
  allowsSorting: true,
4801
4870
  id: KEY_SIZE
4802
4871
  }, /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Text, {
4803
4872
  as: "span"
4804
- }, "Size"))), /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.TableBody, null, topOffset > 0 && /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Row, {
4873
+ }, __('size')))), /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.TableBody, null, topOffset > 0 && /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Row, {
4805
4874
  isDisabled: true,
4806
4875
  style: {
4807
4876
  height: `${topOffset}px`
@@ -4852,6 +4921,7 @@ function ArchiveTableV2({
4852
4921
  // extracted by mini-css-extract-plugin
4853
4922
 
4854
4923
  ;// ./src/lib/viewers/archive/BreadcrumbsV2.tsx
4924
+ /* provided dependency */ var BreadcrumbsV2_ = __webpack_require__(441)["Tl"];
4855
4925
 
4856
4926
 
4857
4927
 
@@ -4887,18 +4957,19 @@ function BreadcrumbsV2({
4887
4957
  }, view === constants/* VIEWS */.Vw.VIEW_SEARCH ? /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Text, {
4888
4958
  as: "span",
4889
4959
  variant: "bodyDefaultBold"
4890
- }, "Search Results") : /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Breadcrumb, {
4891
- breadcrumbAriaLabel: "Breadcrumb",
4960
+ }, BreadcrumbsV2_('search_results')) : /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Breadcrumb, {
4961
+ breadcrumbAriaLabel: BreadcrumbsV2_('breadcrumb'),
4892
4962
  crumbs: crumbs,
4893
4963
  isResponsiveEnabled: false,
4894
4964
  onPageLinkClick: handlePageLinkClick,
4895
- truncatedLinksIconAriaLabel: "Show hidden folders"
4965
+ truncatedLinksIconAriaLabel: BreadcrumbsV2_('breadcrumb_truncated')
4896
4966
  }));
4897
4967
  }
4898
4968
  ;// ./src/lib/viewers/archive/SearchBarV2.scss
4899
4969
  // extracted by mini-css-extract-plugin
4900
4970
 
4901
4971
  ;// ./src/lib/viewers/archive/SearchBarV2.tsx
4972
+ /* provided dependency */ var SearchBarV2_ = __webpack_require__(441)["Tl"];
4902
4973
 
4903
4974
 
4904
4975
 
@@ -4915,10 +4986,10 @@ function SearchBarV2({
4915
4986
  currentTarget
4916
4987
  }) => onSearch(currentTarget.value),
4917
4988
  onClearInput: () => onSearch(''),
4918
- placeholder: "Search files and folders",
4919
- searchInputAriaLabel: "Search",
4920
- searchInputClearAriaLabel: "Clear search",
4921
- searchInputClearButtonTooltip: "Clear search",
4989
+ placeholder: SearchBarV2_('search_placeholder'),
4990
+ searchInputAriaLabel: SearchBarV2_('search'),
4991
+ searchInputClearAriaLabel: SearchBarV2_('search_clear'),
4992
+ searchInputClearButtonTooltip: SearchBarV2_('search_clear'),
4922
4993
  value: searchQuery
4923
4994
  }));
4924
4995
  }
@@ -5940,6 +6011,7 @@ var constants = __webpack_require__(7955);
5940
6011
  // extracted by mini-css-extract-plugin
5941
6012
 
5942
6013
  ;// ./src/lib/viewers/archive/Breadcrumbs.js
6014
+ /* provided dependency */ var __ = __webpack_require__(441)["Tl"];
5943
6015
  function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
5944
6016
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
5945
6017
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
@@ -5987,7 +6059,7 @@ class Breadcrumbs extends external_react_["default"].PureComponent {
5987
6059
  } = this.props;
5988
6060
  return /*#__PURE__*/external_react_["default"].createElement("div", {
5989
6061
  className: "bp-Breadcrumbs"
5990
- }, /*#__PURE__*/external_react_["default"].createElement(__WEBPACK_EXTERNAL_MODULE_box_ui_elements_es_components_breadcrumb_da64b71d_default__, null, view === constants/* VIEWS */.Vw.VIEW_SEARCH ? /*#__PURE__*/external_react_["default"].createElement("span", null, "Search Results") : this.getPathItems(fullPath).map(pathItem => /*#__PURE__*/external_react_["default"].createElement(__WEBPACK_EXTERNAL_MODULE_box_ui_elements_es_components_plain_button_PlainButton_6ddbae5a_default__, {
6062
+ }, /*#__PURE__*/external_react_["default"].createElement(__WEBPACK_EXTERNAL_MODULE_box_ui_elements_es_components_breadcrumb_da64b71d_default__, null, view === constants/* VIEWS */.Vw.VIEW_SEARCH ? /*#__PURE__*/external_react_["default"].createElement("span", null, __('search_results')) : this.getPathItems(fullPath).map(pathItem => /*#__PURE__*/external_react_["default"].createElement(__WEBPACK_EXTERNAL_MODULE_box_ui_elements_es_components_plain_button_PlainButton_6ddbae5a_default__, {
5991
6063
  key: pathItem.path,
5992
6064
  "data-resin-target": "breadcrumb",
5993
6065
  onClick: () => onClick(pathItem.path),
@@ -6006,6 +6078,7 @@ _defineProperty(Breadcrumbs, "propTypes", {
6006
6078
  // extracted by mini-css-extract-plugin
6007
6079
 
6008
6080
  ;// ./src/lib/viewers/archive/SearchBar.js
6081
+ /* provided dependency */ var SearchBar_ = __webpack_require__(441)["Tl"];
6009
6082
 
6010
6083
 
6011
6084
 
@@ -6016,13 +6089,13 @@ const SearchBar = ({
6016
6089
  return /*#__PURE__*/external_react_["default"].createElement("div", {
6017
6090
  className: "bp-SearchBar"
6018
6091
  }, /*#__PURE__*/external_react_["default"].createElement("input", {
6019
- "aria-label": "Search",
6092
+ "aria-label": SearchBar_('search'),
6020
6093
  "data-resin-target": "searchInput",
6021
6094
  "data-testid": "search-input",
6022
6095
  onChange: ({
6023
6096
  currentTarget
6024
6097
  }) => onSearch(currentTarget.value),
6025
- placeholder: "Search files and folders",
6098
+ placeholder: SearchBar_('search_placeholder'),
6026
6099
  type: "search",
6027
6100
  value: searchQuery
6028
6101
  }));
@@ -6036,6 +6109,7 @@ SearchBar.propTypes = {
6036
6109
  // extracted by mini-css-extract-plugin
6037
6110
 
6038
6111
  ;// ./src/lib/viewers/archive/ArchiveExplorer.js
6112
+ /* provided dependency */ var ArchiveExplorer_ = __webpack_require__(441)["Tl"];
6039
6113
  const _excluded = ["absolute_path", "modified_at", "name", "size", "type"];
6040
6114
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
6041
6115
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { ArchiveExplorer_defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
@@ -6306,7 +6380,7 @@ class ArchiveExplorer extends external_react_.Component {
6306
6380
  dataKey: KEY_NAME,
6307
6381
  flexGrow: 3,
6308
6382
  headerRenderer: __WEBPACK_EXTERNAL_MODULE_box_ui_elements_es_features_virtualized_table_renderers_sortableColumnHeaderRenderer_4833bf3f_default__,
6309
- label: "Name",
6383
+ label: ArchiveExplorer_('filename'),
6310
6384
  width: 1
6311
6385
  }), /*#__PURE__*/external_react_.createElement(__WEBPACK_EXTERNAL_MODULE__box_react_virtualized_ec986521_Column__, {
6312
6386
  key: KEY_MODIFIED_AT,
@@ -6314,7 +6388,7 @@ class ArchiveExplorer extends external_react_.Component {
6314
6388
  dataKey: KEY_MODIFIED_AT,
6315
6389
  flexGrow: 2,
6316
6390
  headerRenderer: __WEBPACK_EXTERNAL_MODULE_box_ui_elements_es_features_virtualized_table_renderers_sortableColumnHeaderRenderer_4833bf3f_default__,
6317
- label: "Modified",
6391
+ label: ArchiveExplorer_('last_modified_date'),
6318
6392
  width: 1
6319
6393
  }), /*#__PURE__*/external_react_.createElement(__WEBPACK_EXTERNAL_MODULE__box_react_virtualized_ec986521_Column__, {
6320
6394
  key: KEY_SIZE,
@@ -6322,7 +6396,7 @@ class ArchiveExplorer extends external_react_.Component {
6322
6396
  dataKey: KEY_SIZE,
6323
6397
  flexGrow: 1,
6324
6398
  headerRenderer: __WEBPACK_EXTERNAL_MODULE_box_ui_elements_es_features_virtualized_table_renderers_sortableColumnHeaderRenderer_4833bf3f_default__,
6325
- label: "Size",
6399
+ label: ArchiveExplorer_('size'),
6326
6400
  width: 1
6327
6401
  })])))));
6328
6402
  }
@@ -6669,6 +6743,40 @@ function DurationLabels({
6669
6743
 
6670
6744
  /***/ },
6671
6745
 
6746
+ /***/ 4301
6747
+ (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
6748
+
6749
+
6750
+ // EXPORTS
6751
+ __webpack_require__.d(__webpack_exports__, {
6752
+ A: () => (/* binding */ MediaLoadingIndicator)
6753
+ });
6754
+
6755
+ // EXTERNAL MODULE: external "react"
6756
+ var external_react_ = __webpack_require__(1649);
6757
+ // EXTERNAL MODULE: external "@box/blueprint-web"
6758
+ var blueprint_web_ = __webpack_require__(8912);
6759
+ ;// ./src/lib/viewers/controls/media/MediaLoadingIndicator.scss
6760
+ // extracted by mini-css-extract-plugin
6761
+
6762
+ ;// ./src/lib/viewers/controls/media/MediaLoadingIndicator.tsx
6763
+ /* provided dependency */ var __ = __webpack_require__(441)["Tl"];
6764
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
6765
+
6766
+
6767
+
6768
+ function MediaLoadingIndicator(props) {
6769
+ return /*#__PURE__*/external_react_["default"].createElement("div", _extends({
6770
+ className: "bp-MediaLoadingIndicator"
6771
+ }, props), /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.LoadingIndicator, {
6772
+ "aria-label": __('media_loading'),
6773
+ size: "x-large",
6774
+ variant: "light"
6775
+ }));
6776
+ }
6777
+
6778
+ /***/ },
6779
+
6672
6780
  /***/ 112
6673
6781
  (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
6674
6782
 
@@ -6690,6 +6798,7 @@ var Settings = __webpack_require__(6032);
6690
6798
  // EXTERNAL MODULE: ./src/lib/viewers/controls/settings/SettingsContext.ts
6691
6799
  var SettingsContext = __webpack_require__(3072);
6692
6800
  ;// ./src/lib/viewers/controls/media/MediaSettingsMenuAutoplay.tsx
6801
+ /* provided dependency */ var __ = __webpack_require__(441)["Tl"];
6693
6802
 
6694
6803
 
6695
6804
  function MediaSettingsMenuAutoplay({
@@ -6706,15 +6815,15 @@ function MediaSettingsMenuAutoplay({
6706
6815
  return /*#__PURE__*/external_react_["default"].createElement(Settings/* default */.A.Menu, {
6707
6816
  name: SettingsContext/* Menu */.W.AUTOPLAY
6708
6817
  }, /*#__PURE__*/external_react_["default"].createElement(Settings/* default */.A.MenuBack, {
6709
- label: "Autoplay"
6818
+ label: __('media_autoplay')
6710
6819
  }), /*#__PURE__*/external_react_["default"].createElement(Settings/* default */.A.RadioItem, {
6711
6820
  isSelected: !autoplay,
6712
- label: "Disabled",
6821
+ label: __('media_autoplay_disabled'),
6713
6822
  onChange: handleChange,
6714
6823
  value: false
6715
6824
  }), /*#__PURE__*/external_react_["default"].createElement(Settings/* default */.A.RadioItem, {
6716
6825
  isSelected: autoplay,
6717
- label: "Enabled",
6826
+ label: __('media_autoplay_enabled'),
6718
6827
  onChange: handleChange,
6719
6828
  value: true
6720
6829
  }));
@@ -6722,6 +6831,7 @@ function MediaSettingsMenuAutoplay({
6722
6831
  // EXTERNAL MODULE: ./src/lib/viewers/controls/media/MediaSettingsMenuGuides.tsx
6723
6832
  var MediaSettingsMenuGuides = __webpack_require__(4692);
6724
6833
  ;// ./src/lib/viewers/controls/media/MediaSettingsMenuPlayNext.tsx
6834
+ /* provided dependency */ var MediaSettingsMenuPlayNext_ = __webpack_require__(441)["Tl"];
6725
6835
 
6726
6836
 
6727
6837
  function MediaSettingsMenuPlayNext({
@@ -6738,15 +6848,15 @@ function MediaSettingsMenuPlayNext({
6738
6848
  return /*#__PURE__*/external_react_["default"].createElement(Settings/* default */.A.Menu, {
6739
6849
  name: SettingsContext/* Menu */.W.PLAY_NEXT
6740
6850
  }, /*#__PURE__*/external_react_["default"].createElement(Settings/* default */.A.MenuBack, {
6741
- label: "Play next file"
6851
+ label: MediaSettingsMenuPlayNext_('media_play_next')
6742
6852
  }), /*#__PURE__*/external_react_["default"].createElement(Settings/* default */.A.RadioItem, {
6743
6853
  isSelected: !playNext,
6744
- label: "Disabled",
6854
+ label: MediaSettingsMenuPlayNext_('media_play_next_disabled'),
6745
6855
  onChange: handleChange,
6746
6856
  value: false
6747
6857
  }), /*#__PURE__*/external_react_["default"].createElement(Settings/* default */.A.RadioItem, {
6748
6858
  isSelected: playNext,
6749
- label: "Enabled",
6859
+ label: MediaSettingsMenuPlayNext_('media_play_next_enabled'),
6750
6860
  onChange: handleChange,
6751
6861
  value: true
6752
6862
  }));
@@ -6758,6 +6868,7 @@ var MediaSettingsMenuRate = __webpack_require__(7229);
6758
6868
  // EXTERNAL MODULE: ./src/lib/viewers/controls/media/MediaSettingsMenuSubtitles.tsx
6759
6869
  var MediaSettingsMenuSubtitles = __webpack_require__(7936);
6760
6870
  ;// ./src/lib/viewers/controls/media/MediaSettings.tsx
6871
+ /* provided dependency */ var MediaSettings_ = __webpack_require__(441)["Tl"];
6761
6872
 
6762
6873
 
6763
6874
 
@@ -6792,9 +6903,9 @@ function MediaSettings({
6792
6903
  toggle
6793
6904
  }) {
6794
6905
  const subtitleDisplayLanguage = (0,MediaSettingsMenuSubtitles/* getDisplayLanguage */.x)(subtitle, subtitles);
6795
- const autoValue = autoplay ? "Enabled" : "Disabled";
6796
- const playNextValue = playNext ? "Enabled" : "Disabled";
6797
- const rateValue = rate === '1.0' || !rate ? "Normal" : rate;
6906
+ const autoValue = autoplay ? MediaSettings_('media_autoplay_enabled') : MediaSettings_('media_autoplay_disabled');
6907
+ const playNextValue = playNext ? MediaSettings_('media_play_next_enabled') : MediaSettings_('media_play_next_disabled');
6908
+ const rateValue = rate === '1.0' || !rate ? MediaSettings_('media_speed_normal') : rate;
6798
6909
  const showPlayNext = typeof onPlayNextChange === 'function';
6799
6910
  const labelledAudioTracks = external_react_["default"].useMemo(() => (0,MediaSettingsAudioTracks/* addLabels */.Nl)(audioTracks), [audioTracks]);
6800
6911
  const hydratedSelectedAudioTrack = labelledAudioTracks.find(({
@@ -6811,38 +6922,38 @@ function MediaSettings({
6811
6922
  name: SettingsContext/* Menu */.W.MAIN
6812
6923
  }, /*#__PURE__*/external_react_["default"].createElement(Settings/* default */.A.MenuItem, {
6813
6924
  "data-testid": "bp-media-settings-autoplay",
6814
- label: "Autoplay",
6925
+ label: MediaSettings_('media_autoplay'),
6815
6926
  target: SettingsContext/* Menu */.W.AUTOPLAY,
6816
6927
  value: autoValue
6817
6928
  }), showPlayNext && /*#__PURE__*/external_react_["default"].createElement(Settings/* default */.A.MenuItem, {
6818
6929
  "data-testid": "bp-media-settings-play-next",
6819
- label: "Play next file",
6930
+ label: MediaSettings_('media_play_next'),
6820
6931
  target: SettingsContext/* Menu */.W.PLAY_NEXT,
6821
6932
  value: playNextValue
6822
6933
  }), /*#__PURE__*/external_react_["default"].createElement(Settings/* default */.A.MenuItem, {
6823
6934
  "data-testid": "bp-media-settings-speed",
6824
- label: "Speed",
6935
+ label: MediaSettings_('media_speed'),
6825
6936
  target: SettingsContext/* Menu */.W.RATE,
6826
6937
  value: rateValue
6827
6938
  }), quality && /*#__PURE__*/external_react_["default"].createElement(Settings/* default */.A.MenuItem, {
6828
6939
  "data-testid": "bp-media-settings-quality",
6829
6940
  isDisabled: !isHDSupported,
6830
- label: "Quality",
6941
+ label: MediaSettings_('media_quality'),
6831
6942
  target: SettingsContext/* Menu */.W.QUALITY,
6832
6943
  value: (0,MediaSettingsMenuQuality/* getLabel */.p9)(quality)
6833
6944
  }), showSubtitles && /*#__PURE__*/external_react_["default"].createElement(Settings/* default */.A.MenuItem, {
6834
6945
  "data-testid": "bp-media-settings-subtitles",
6835
- label: `${"Subtitles"}/CC`,
6946
+ label: `${MediaSettings_('subtitles')}/CC`,
6836
6947
  target: SettingsContext/* Menu */.W.SUBTITLES,
6837
6948
  value: subtitleDisplayLanguage
6838
6949
  }), showAudioTrackItems && /*#__PURE__*/external_react_["default"].createElement(Settings/* default */.A.MenuItem, {
6839
6950
  "data-testid": "bp-media-settings-audiotracks",
6840
- label: "Audio",
6951
+ label: MediaSettings_('media_audio'),
6841
6952
  target: SettingsContext/* Menu */.W.AUDIO,
6842
6953
  value: audioTrackLabel
6843
6954
  }), isGuidesEnabled && /*#__PURE__*/external_react_["default"].createElement(Settings/* default */.A.MenuItem, {
6844
6955
  "data-testid": "bp-media-settings-guides",
6845
- label: "Guides",
6956
+ label: MediaSettings_('media_guides'),
6846
6957
  target: SettingsContext/* Menu */.W.GUIDES,
6847
6958
  value: (0,MediaSettingsMenuGuides/* getLabel */.p9)(guide)
6848
6959
  })), /*#__PURE__*/external_react_["default"].createElement(MediaSettingsMenuAutoplay, {
@@ -6885,6 +6996,7 @@ function MediaSettings({
6885
6996
  /* harmony import */ var _lang__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9271);
6886
6997
  /* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3072);
6887
6998
  /* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6032);
6999
+ /* provided dependency */ var __ = __webpack_require__(441)["Tl"];
6888
7000
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
6889
7001
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
6890
7002
  function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
@@ -6894,7 +7006,7 @@ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e =
6894
7006
 
6895
7007
 
6896
7008
  const generateAudioTrackLabel = (language, index) => {
6897
- let label = `${"Track"} ${index + 1}`;
7009
+ let label = `${__('track')} ${index + 1}`;
6898
7010
  if (language !== 'und') {
6899
7011
  label = `${label} (${(0,_lang__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A)(language) || language})`;
6900
7012
  }
@@ -6927,7 +7039,7 @@ function MediaSettingsMenuAudioTracks({
6927
7039
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["default"].createElement(_settings__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A.Menu, {
6928
7040
  name: _settings__WEBPACK_IMPORTED_MODULE_2__/* .Menu */ .W.AUDIO
6929
7041
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["default"].createElement(_settings__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A.MenuBack, {
6930
- label: "Audio"
7042
+ label: __('media_audio')
6931
7043
  }), audioTracks.map(({
6932
7044
  id,
6933
7045
  label
@@ -6955,6 +7067,7 @@ function MediaSettingsMenuAudioTracks({
6955
7067
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1649);
6956
7068
  /* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3072);
6957
7069
  /* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(6032);
7070
+ /* provided dependency */ var __ = __webpack_require__(441)["Tl"];
6958
7071
 
6959
7072
 
6960
7073
  let Guide = /*#__PURE__*/function (Guide) {
@@ -6984,26 +7097,26 @@ const GUIDE_LABEL_MAP = {
6984
7097
  [Guide.R_4_3]: '4x3',
6985
7098
  [Guide.R_21_9]: '21x9'
6986
7099
  };
6987
- const GUIDE_NAME_MAP = {
6988
- [Guide.OFF]: "Default",
6989
- [Guide.R_16_9]: "Widescreen HD",
6990
- [Guide.R_9_16]: "Vertical",
6991
- [Guide.R_1_1]: "Square",
6992
- [Guide.R_4_5]: "Social Portrait",
6993
- [Guide.R_2_39_1]: "Cinemascope",
6994
- [Guide.R_2_1]: "Univisium",
6995
- [Guide.R_1_85_1]: "Cinema Flat",
6996
- [Guide.R_2_35_1]: "Scope",
6997
- [Guide.R_4_3]: "Fullscreen",
6998
- [Guide.R_21_9]: "Ultrawide"
6999
- };
7100
+ const getGuideNameMap = () => ({
7101
+ [Guide.OFF]: __('media_guides_default'),
7102
+ [Guide.R_16_9]: __('media_guides_widescreen_hd'),
7103
+ [Guide.R_9_16]: __('media_guides_vertical'),
7104
+ [Guide.R_1_1]: __('media_guides_square'),
7105
+ [Guide.R_4_5]: __('media_guides_social_portrait'),
7106
+ [Guide.R_2_39_1]: __('media_guides_cinemascope'),
7107
+ [Guide.R_2_1]: __('media_guides_univisium'),
7108
+ [Guide.R_1_85_1]: __('media_guides_cinema_flat'),
7109
+ [Guide.R_2_35_1]: __('media_guides_scope'),
7110
+ [Guide.R_4_3]: __('media_guides_fullscreen'),
7111
+ [Guide.R_21_9]: __('media_guides_ultrawide')
7112
+ });
7000
7113
  const GUIDE_ORDER = [Guide.OFF, Guide.R_16_9, Guide.R_9_16, Guide.R_1_1, Guide.R_4_5, Guide.R_2_39_1, Guide.R_2_1, Guide.R_1_85_1, Guide.R_2_35_1, Guide.R_4_3, Guide.R_21_9];
7001
7114
 
7002
7115
  // Used as the value shown next to "Guides" in the main settings menu.
7003
- const getLabel = guide => guide === Guide.OFF ? "Off" : GUIDE_LABEL_MAP[guide];
7116
+ const getLabel = guide => guide === Guide.OFF ? __('media_guides_off') : GUIDE_LABEL_MAP[guide];
7004
7117
  const formatRadioLabel = guide => {
7005
- const ratio = guide === Guide.OFF ? "Off" : GUIDE_LABEL_MAP[guide];
7006
- return `${ratio} — ${GUIDE_NAME_MAP[guide]}`;
7118
+ const ratio = guide === Guide.OFF ? __('media_guides_off') : GUIDE_LABEL_MAP[guide];
7119
+ return `${ratio} — ${getGuideNameMap()[guide]}`;
7007
7120
  };
7008
7121
  function MediaSettingsMenuGuides({
7009
7122
  guide,
@@ -7019,7 +7132,7 @@ function MediaSettingsMenuGuides({
7019
7132
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["default"].createElement(_settings__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A.Menu, {
7020
7133
  name: _settings__WEBPACK_IMPORTED_MODULE_1__/* .Menu */ .W.GUIDES
7021
7134
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["default"].createElement(_settings__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A.MenuBack, {
7022
- label: "Guides"
7135
+ label: __('media_guides')
7023
7136
  }), GUIDE_ORDER.map(value => /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["default"].createElement(_settings__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A.RadioItem, {
7024
7137
  key: value,
7025
7138
  isSelected: guide === value,
@@ -7043,6 +7156,7 @@ function MediaSettingsMenuGuides({
7043
7156
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1649);
7044
7157
  /* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3072);
7045
7158
  /* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(6032);
7159
+ /* provided dependency */ var __ = __webpack_require__(441)["Tl"];
7046
7160
 
7047
7161
 
7048
7162
  let Quality = /*#__PURE__*/function (Quality) {
@@ -7051,13 +7165,13 @@ let Quality = /*#__PURE__*/function (Quality) {
7051
7165
  Quality["SD"] = "sd";
7052
7166
  return Quality;
7053
7167
  }({});
7054
- const QUALITY_LABEL_MAP = {
7055
- [Quality.AUTO]: "Auto",
7168
+ const getQualityLabelMap = () => ({
7169
+ [Quality.AUTO]: __('media_quality_auto'),
7056
7170
  [Quality.HD]: '1080p',
7057
7171
  [Quality.SD]: '480p'
7058
- };
7172
+ });
7059
7173
  const QUALITIES = [Quality.SD, Quality.HD, Quality.AUTO];
7060
- const getLabel = quality => QUALITY_LABEL_MAP[quality];
7174
+ const getLabel = quality => getQualityLabelMap()[quality];
7061
7175
  function MediaSettingsMenuQuality({
7062
7176
  onQualityChange,
7063
7177
  quality
@@ -7075,7 +7189,7 @@ function MediaSettingsMenuQuality({
7075
7189
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["default"].createElement(_settings__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A.Menu, {
7076
7190
  name: _settings__WEBPACK_IMPORTED_MODULE_1__/* .Menu */ .W.QUALITY
7077
7191
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["default"].createElement(_settings__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A.MenuBack, {
7078
- label: "Quality"
7192
+ label: __('media_quality')
7079
7193
  }), QUALITIES.map(value => /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["default"].createElement(_settings__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A.RadioItem, {
7080
7194
  key: value,
7081
7195
  isSelected: quality === value,
@@ -7098,10 +7212,11 @@ function MediaSettingsMenuQuality({
7098
7212
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1649);
7099
7213
  /* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3072);
7100
7214
  /* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(6032);
7215
+ /* provided dependency */ var __ = __webpack_require__(441)["Tl"];
7101
7216
 
7102
7217
 
7103
7218
  const RATES = ['0.5', '1.0', '1.25', '1.5', '2.0'];
7104
- const getLabel = rate => rate === '1.0' || !rate ? "Normal" : rate;
7219
+ const getLabel = rate => rate === '1.0' || !rate ? __('media_speed_normal') : rate;
7105
7220
  function MediaSettingsMenuRate({
7106
7221
  rate,
7107
7222
  onRateChange
@@ -7116,7 +7231,7 @@ function MediaSettingsMenuRate({
7116
7231
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["default"].createElement(_settings__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A.Menu, {
7117
7232
  name: _settings__WEBPACK_IMPORTED_MODULE_1__/* .Menu */ .W.RATE
7118
7233
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["default"].createElement(_settings__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A.MenuBack, {
7119
- label: "Speed"
7234
+ label: __('media_speed')
7120
7235
  }), RATES.map(value => /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["default"].createElement(_settings__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A.RadioItem, {
7121
7236
  key: value,
7122
7237
  isSelected: rate === value,
@@ -7139,6 +7254,7 @@ function MediaSettingsMenuRate({
7139
7254
  /* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3072);
7140
7255
  /* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(6032);
7141
7256
  /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(9130);
7257
+ /* provided dependency */ var __ = __webpack_require__(441)["Tl"];
7142
7258
 
7143
7259
 
7144
7260
 
@@ -7148,7 +7264,7 @@ const getDisplayLanguage = (subtitle, subtitles = []) => {
7148
7264
  } = subtitles.find(({
7149
7265
  id
7150
7266
  }) => subtitle === id) || {
7151
- displayLanguage: "Off"
7267
+ displayLanguage: __('off')
7152
7268
  };
7153
7269
  return displayLanguage;
7154
7270
  };
@@ -7170,10 +7286,10 @@ function MediaSettingsMenuSubtitles({
7170
7286
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["default"].createElement(_settings__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A.Menu, {
7171
7287
  name: _settings__WEBPACK_IMPORTED_MODULE_1__/* .Menu */ .W.SUBTITLES
7172
7288
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["default"].createElement(_settings__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A.MenuBack, {
7173
- label: `${"Subtitles"}/CC`
7289
+ label: `${__('subtitles')}/CC`
7174
7290
  }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["default"].createElement(_settings__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A.RadioItem, {
7175
7291
  isSelected: subtitle === _constants__WEBPACK_IMPORTED_MODULE_3__/* .SUBTITLES_OFF */ .eA,
7176
- label: "Off",
7292
+ label: __('off'),
7177
7293
  onChange: handleChange,
7178
7294
  value: _constants__WEBPACK_IMPORTED_MODULE_3__/* .SUBTITLES_OFF */ .eA
7179
7295
  }), subtitles.map(({
@@ -7332,6 +7448,7 @@ var util = __webpack_require__(4410);
7332
7448
  // extracted by mini-css-extract-plugin
7333
7449
 
7334
7450
  ;// ./src/lib/viewers/controls/media/MediaSettingsV2.tsx
7451
+ /* provided dependency */ var __ = __webpack_require__(441)["Tl"];
7335
7452
 
7336
7453
 
7337
7454
 
@@ -7379,7 +7496,7 @@ function MediaSettingsV2({
7379
7496
  const focusSelectorRef = external_react_["default"].useRef();
7380
7497
  const labelledAudioTracks = external_react_["default"].useMemo(() => (0,MediaSettingsAudioTracks/* addLabels */.Nl)(audioTracks), [audioTracks]);
7381
7498
  const subMenus = [{
7382
- label: "Speed",
7499
+ label: __('media_speed'),
7383
7500
  menu: SettingsContext/* Menu */.W.RATE,
7384
7501
  onChange: onRateChange,
7385
7502
  options: MediaSettingsMenuRate/* RATES */.mu.map(value => ({
@@ -7393,7 +7510,7 @@ function MediaSettingsV2({
7393
7510
  if (quality && onQualityChange) {
7394
7511
  subMenus.push({
7395
7512
  isDisabled: !isHDSupported,
7396
- label: "Quality",
7513
+ label: __('media_quality'),
7397
7514
  menu: SettingsContext/* Menu */.W.QUALITY,
7398
7515
  onChange: value => onQualityChange(value),
7399
7516
  options: MediaSettingsMenuQuality/* QUALITIES */.EQ.map(value => ({
@@ -7407,11 +7524,11 @@ function MediaSettingsV2({
7407
7524
  }
7408
7525
  if (subtitles.length > 0 && onSubtitleChange) {
7409
7526
  subMenus.push({
7410
- label: `${"Subtitles"}/CC`,
7527
+ label: `${__('subtitles')}/CC`,
7411
7528
  menu: SettingsContext/* Menu */.W.SUBTITLES,
7412
7529
  onChange: value => onSubtitleChange(Number(value)),
7413
7530
  options: [{
7414
- label: "Off",
7531
+ label: __('off'),
7415
7532
  value: String(constants/* SUBTITLES_OFF */.eA)
7416
7533
  }, ...subtitles.map(({
7417
7534
  displayLanguage,
@@ -7427,7 +7544,7 @@ function MediaSettingsV2({
7427
7544
  }
7428
7545
  if (labelledAudioTracks.length > 1) {
7429
7546
  subMenus.push({
7430
- label: "Audio",
7547
+ label: __('media_audio'),
7431
7548
  menu: SettingsContext/* Menu */.W.AUDIO,
7432
7549
  onChange: value => onAudioTrackChange(Number(value)),
7433
7550
  options: labelledAudioTracks.map(({
@@ -7446,7 +7563,7 @@ function MediaSettingsV2({
7446
7563
  }
7447
7564
  if (isGuidesEnabled) {
7448
7565
  subMenus.push({
7449
- label: "Guides",
7566
+ label: __('media_guides'),
7450
7567
  menu: SettingsContext/* Menu */.W.GUIDES,
7451
7568
  onChange: value => onGuideChange(value),
7452
7569
  options: MediaSettingsMenuGuides/* GUIDE_ORDER */._0.map(value => ({
@@ -7513,7 +7630,7 @@ function MediaSettingsV2({
7513
7630
  }, /*#__PURE__*/external_react_["default"].createElement(settings_SettingsToggleV2, {
7514
7631
  buttonType: "icon",
7515
7632
  "data-target-id": "MediaSettingsV2-toggle",
7516
- label: "Settings",
7633
+ label: __('media_settings'),
7517
7634
  onKeyDown: utils/* stopActivationKeyPropagation */.My,
7518
7635
  size: "large",
7519
7636
  variant: "on-dark"
@@ -7560,7 +7677,7 @@ function MediaSettingsV2({
7560
7677
  onSelect: preventDefault
7561
7678
  }, /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Text, {
7562
7679
  as: "span"
7563
- }, "Autoplay")), onPlayNextChange && /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.DropdownMenu.CheckboxItem, {
7680
+ }, __('media_autoplay'))), onPlayNextChange && /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.DropdownMenu.CheckboxItem, {
7564
7681
  checked: playNext,
7565
7682
  "data-resin-target": `settingsMenuItem-${SettingsContext/* Menu */.W.PLAY_NEXT}`,
7566
7683
  "data-target-id": "MediaSettingsV2-playNext",
@@ -7569,7 +7686,7 @@ function MediaSettingsV2({
7569
7686
  onSelect: preventDefault
7570
7687
  }, /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Text, {
7571
7688
  as: "span"
7572
- }, "Play next file")), /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.DropdownMenu.Separator, null), subMenus.map(({
7689
+ }, __('media_play_next'))), /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.DropdownMenu.Separator, null), subMenus.map(({
7573
7690
  isDisabled,
7574
7691
  label,
7575
7692
  menu,
@@ -7703,6 +7820,7 @@ var MediaToggle = __webpack_require__(8997);
7703
7820
  // EXTERNAL MODULE: ./src/lib/viewers/controls/media/utils.ts
7704
7821
  var utils = __webpack_require__(5346);
7705
7822
  ;// ./src/lib/viewers/controls/media/PlayPauseButton.tsx
7823
+ /* provided dependency */ var __ = __webpack_require__(441)["Tl"];
7706
7824
 
7707
7825
 
7708
7826
 
@@ -7716,7 +7834,7 @@ function PlayPauseButton({
7716
7834
  onPlayPause,
7717
7835
  isBlueprintEnabled = false
7718
7836
  }) {
7719
- const title = isPlaying ? "Pause" : "Play";
7837
+ const title = isPlaying ? __('media_pause') : __('media_play');
7720
7838
  const handleClick = () => onPlayPause(!isPlaying);
7721
7839
  if (isBlueprintEnabled) {
7722
7840
  return /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Tooltip, {
@@ -7853,6 +7971,7 @@ var utils = __webpack_require__(5346);
7853
7971
  // EXTERNAL MODULE: ./src/lib/constants.js
7854
7972
  var constants = __webpack_require__(9130);
7855
7973
  ;// ./src/lib/viewers/controls/media/SkipButton.tsx
7974
+ /* provided dependency */ var __ = __webpack_require__(441)["Tl"];
7856
7975
 
7857
7976
 
7858
7977
 
@@ -7869,7 +7988,7 @@ function SkipButton({
7869
7988
  }) {
7870
7989
  const isForward = direction === 'forward';
7871
7990
  const resinTarget = isForward ? 'skipForward' : 'skipBackward';
7872
- const title = isForward ? "Skip forward" : "Skip backward";
7991
+ const title = isForward ? __('media_skip_forward') : __('media_skip_backward');
7873
7992
  const handleClick = () => movePlayback(isForward, constants/* MEDIA_PLAYBACK_SKIP_DURATION */.uN);
7874
7993
  if (isBlueprintEnabled) {
7875
7994
  return /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Tooltip, {
@@ -8005,6 +8124,7 @@ var DurationLabels = __webpack_require__(820);
8005
8124
  // extracted by mini-css-extract-plugin
8006
8125
 
8007
8126
  ;// ./src/lib/viewers/controls/media/TimestampControl.tsx
8127
+ /* provided dependency */ var __ = __webpack_require__(441)["Tl"];
8008
8128
 
8009
8129
 
8010
8130
 
@@ -8047,13 +8167,13 @@ const stopMenuTriggerKeyPropagation = event => {
8047
8167
  }
8048
8168
  };
8049
8169
  const FORMAT_OPTIONS = [{
8050
- label: () => "Standard time",
8170
+ label: () => __('media_time_format_standard'),
8051
8171
  value: TimeFormat.STANDARD
8052
8172
  }, {
8053
- label: () => "Timecode",
8173
+ label: () => __('media_time_format_timecode'),
8054
8174
  value: TimeFormat.TIMECODE
8055
8175
  }, {
8056
- label: () => "Frame numbers",
8176
+ label: () => __('media_time_format_frames'),
8057
8177
  value: TimeFormat.FRAMES
8058
8178
  }];
8059
8179
  function TimestampControl({
@@ -8219,7 +8339,7 @@ function TimestampControl({
8219
8339
  }, /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.DropdownMenu.Trigger, {
8220
8340
  asChild: true
8221
8341
  }, /*#__PURE__*/external_react_["default"].createElement("button", {
8222
- "aria-label": "Time format",
8342
+ "aria-label": __('media_time_format'),
8223
8343
  className: classnames_default()('bp-TimestampControl-button', {
8224
8344
  'bp-is-open': isOpen
8225
8345
  }),
@@ -8233,7 +8353,7 @@ function TimestampControl({
8233
8353
  "data-testid": "bp-TimestampControl-flyout",
8234
8354
  onKeyDown: handleMenuKeyDown,
8235
8355
  side: "top"
8236
- }, /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.DropdownMenu.SubHeader, null, "Time format"), /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.DropdownMenu.RadioGroup, {
8356
+ }, /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.DropdownMenu.SubHeader, null, __('media_time_format')), /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.DropdownMenu.RadioGroup, {
8237
8357
  onValueChange: value => setFormat(value),
8238
8358
  value: format
8239
8359
  }, FORMAT_OPTIONS.map(({
@@ -8270,7 +8390,7 @@ function TimestampControl({
8270
8390
  ref: buttonElRef,
8271
8391
  "aria-expanded": isOpen,
8272
8392
  "aria-haspopup": "listbox",
8273
- "aria-label": "Time format",
8393
+ "aria-label": __('media_time_format'),
8274
8394
  className: classnames_default()('bp-TimestampControl-button', {
8275
8395
  'bp-is-open': isOpen
8276
8396
  }),
@@ -8294,7 +8414,7 @@ function TimestampControl({
8294
8414
  tabIndex: -1
8295
8415
  }, /*#__PURE__*/external_react_["default"].createElement("div", {
8296
8416
  className: "bp-TimestampControl-header"
8297
- }, "Time format"), FORMAT_OPTIONS.map(({
8417
+ }, __('media_time_format')), FORMAT_OPTIONS.map(({
8298
8418
  label,
8299
8419
  value
8300
8420
  }) => /*#__PURE__*/external_react_["default"].createElement("div", {
@@ -8626,6 +8746,7 @@ function VolumeSliderControl(_ref) {
8626
8746
  }))));
8627
8747
  }
8628
8748
  ;// ./src/lib/viewers/controls/media/VolumeControls.tsx
8749
+ /* provided dependency */ var __ = __webpack_require__(441)["Tl"];
8629
8750
 
8630
8751
 
8631
8752
 
@@ -8680,7 +8801,7 @@ function VolumeControls({
8680
8801
  const revealTimerRef = (0,external_react_.useRef)(0);
8681
8802
  const isMuted = !volume;
8682
8803
  const Icon = getIcon(volume, isBlueprintEnabled);
8683
- const title = isMuted ? "Unmute" : "Mute";
8804
+ const title = isMuted ? __('media_unmute') : __('media_mute');
8684
8805
  const value = Math.round(volume * 100);
8685
8806
  const isOpen = isActive || isRevealed || isPinned;
8686
8807
  (0,external_react_.useEffect)(() => {
@@ -8781,7 +8902,7 @@ function VolumeControls({
8781
8902
  onUpdate: handleVolume,
8782
8903
  step: 1,
8783
8904
  tabIndex: isOpen ? 0 : -1,
8784
- title: "Volume Slider",
8905
+ title: __('media_volume_slider'),
8785
8906
  value: value
8786
8907
  })));
8787
8908
  }
@@ -8928,6 +9049,7 @@ var MarkerAvatar = __webpack_require__(2040);
8928
9049
  // extracted by mini-css-extract-plugin
8929
9050
 
8930
9051
  ;// ./src/lib/viewers/controls/media/markers/MarkerAvatarStack.tsx
9052
+ /* provided dependency */ var __ = __webpack_require__(441)["Tl"];
8931
9053
 
8932
9054
 
8933
9055
 
@@ -8951,7 +9073,7 @@ function MarkerAvatarStack({
8951
9073
  style: style
8952
9074
  }, visibleMarkers.map(marker => /*#__PURE__*/external_react_["default"].createElement("button", {
8953
9075
  key: marker.id,
8954
- "aria-label": "Comment marker",
9076
+ "aria-label": __('media_comment_marker'),
8955
9077
  "aria-pressed": marker.id === selectedId,
8956
9078
  className: `bp-MarkerAvatarStack-item${marker.id === selectedId ? ' bp-MarkerAvatarStack-item--selected' : ''}`,
8957
9079
  "data-bp-marker-selected": marker.id === selectedId ? '' : undefined,
@@ -8967,7 +9089,7 @@ function MarkerAvatarStack({
8967
9089
  initial: marker.initial,
8968
9090
  size: size
8969
9091
  }))), hasOverflow && /*#__PURE__*/external_react_["default"].createElement("button", {
8970
- "aria-label": "Comment marker",
9092
+ "aria-label": __('media_comment_marker'),
8971
9093
  "aria-pressed": isOverflowSelected,
8972
9094
  className: `bp-MarkerAvatarStack-item bp-MarkerAvatarStack-overflow${isOverflowSelected ? ' bp-MarkerAvatarStack-item--selected' : ''}`,
8973
9095
  "data-bp-marker-selected": isOverflowSelected ? '' : undefined,
@@ -9473,6 +9595,7 @@ function IconGear24(props) {
9473
9595
  // extracted by mini-css-extract-plugin
9474
9596
 
9475
9597
  ;// ./src/lib/viewers/controls/settings/SettingsToggle.tsx
9598
+ /* provided dependency */ var __ = __webpack_require__(441)["Tl"];
9476
9599
 
9477
9600
 
9478
9601
 
@@ -9492,7 +9615,7 @@ function SettingsToggle({
9492
9615
  className: "bp-SettingsToggle-button",
9493
9616
  "data-resin-target": "settingsOpen",
9494
9617
  onClick: onClick,
9495
- title: "Settings",
9618
+ title: __('media_settings'),
9496
9619
  type: "button"
9497
9620
  }, /*#__PURE__*/external_react_["default"].createElement(icons_IconGear24, {
9498
9621
  className: "bp-SettingsToggle-icon",
@@ -10116,6 +10239,8 @@ var lodash_isFinite = __webpack_require__(2297);
10116
10239
  var isFinite_default = /*#__PURE__*/__webpack_require__.n(lodash_isFinite);
10117
10240
  // EXTERNAL MODULE: external "@box/blueprint-web"
10118
10241
  var blueprint_web_ = __webpack_require__(8912);
10242
+ // EXTERNAL MODULE: ./src/lib/viewers/controls/media/MediaLoadingIndicator.tsx + 1 modules
10243
+ var MediaLoadingIndicator = __webpack_require__(4301);
10119
10244
  // EXTERNAL MODULE: ./src/lib/viewers/controls/media/MediaSettings.tsx + 2 modules
10120
10245
  var MediaSettings = __webpack_require__(112);
10121
10246
  // EXTERNAL MODULE: ./src/lib/viewers/controls/media/MediaSettingsV2.tsx + 5 modules
@@ -10251,6 +10376,7 @@ var MarkerAvatar = __webpack_require__(2040);
10251
10376
  // extracted by mini-css-extract-plugin
10252
10377
 
10253
10378
  ;// ./src/lib/viewers/media/waveform/WaveformCommentMarkers.tsx
10379
+ /* provided dependency */ var __ = __webpack_require__(441)["Tl"];
10254
10380
 
10255
10381
 
10256
10382
 
@@ -10381,7 +10507,7 @@ function WaveformCommentMarkers({
10381
10507
  }
10382
10508
  return /*#__PURE__*/external_react_["default"].createElement("button", {
10383
10509
  key: cluster.id,
10384
- "aria-label": "Comment marker",
10510
+ "aria-label": __('media_comment_marker'),
10385
10511
  "aria-pressed": isSelected,
10386
10512
  className: className,
10387
10513
  "data-bp-marker-selected": isSelected ? '' : undefined,
@@ -10403,13 +10529,14 @@ function WaveformCommentMarkers({
10403
10529
  // extracted by mini-css-extract-plugin
10404
10530
 
10405
10531
  ;// ./src/lib/viewers/media/waveform/WaveformGeneratingIndicator.tsx
10532
+ /* provided dependency */ var WaveformGeneratingIndicator_ = __webpack_require__(441)["Tl"];
10406
10533
 
10407
10534
 
10408
10535
 
10409
10536
  function WaveformGeneratingIndicator({
10410
10537
  isBlueprintEnabled = false
10411
10538
  }) {
10412
- const label = "Generating waveform";
10539
+ const label = WaveformGeneratingIndicator_('media_generating_waveform');
10413
10540
  return /*#__PURE__*/external_react_["default"].createElement("div", {
10414
10541
  "aria-live": "polite",
10415
10542
  className: "bp-WaveformGeneratingIndicator",
@@ -10467,6 +10594,7 @@ var util = __webpack_require__(4410);
10467
10594
  // extracted by mini-css-extract-plugin
10468
10595
 
10469
10596
  ;// ./src/lib/viewers/media/waveform/WaveformShuttleIndicator.tsx
10597
+ /* provided dependency */ var WaveformShuttleIndicator_ = __webpack_require__(441)["Tl"];
10470
10598
 
10471
10599
 
10472
10600
 
@@ -10482,7 +10610,7 @@ function WaveformShuttleIndicator({
10482
10610
  }) {
10483
10611
  const isReverse = direction === 'reverse';
10484
10612
  const rateLabel = `${rate}x`;
10485
- const label = (0,util/* replacePlaceholders */.Lb)(isReverse ? "Scanning backward at {1}x" : "Scanning forward at {1}x", [String(rate)]);
10613
+ const label = (0,util/* replacePlaceholders */.Lb)(isReverse ? WaveformShuttleIndicator_('media_shuttle_reverse') : WaveformShuttleIndicator_('media_shuttle_forward'), [String(rate)]);
10486
10614
  const ShuttleIcon = isReverse ? MediumFilled_.Backward : MediumFilled_.Forward;
10487
10615
  return /*#__PURE__*/external_react_["default"].createElement("div", {
10488
10616
  "aria-label": label,
@@ -11174,6 +11302,7 @@ var IconExit24 = __webpack_require__(8950);
11174
11302
  // extracted by mini-css-extract-plugin
11175
11303
 
11176
11304
  ;// ./src/lib/viewers/media/waveform/WaveformRangeSelection.tsx
11305
+ /* provided dependency */ var WaveformRangeSelection_ = __webpack_require__(441)["Tl"];
11177
11306
 
11178
11307
 
11179
11308
 
@@ -11504,7 +11633,7 @@ const WaveformRangeSelection = /*#__PURE__*/(0,external_react_.forwardRef)(funct
11504
11633
  const commentLabel = /*#__PURE__*/external_react_["default"].createElement(external_react_["default"].Fragment, null, /*#__PURE__*/external_react_["default"].createElement(icons_IconComment24, {
11505
11634
  "aria-hidden": "true",
11506
11635
  className: "bp-WaveformRange-commentIcon"
11507
- }), "Comment");
11636
+ }), WaveformRangeSelection_('media_range_comment'));
11508
11637
  let commentButton = null;
11509
11638
  if (isBlueprintEnabled && (showCommentButton || showClearControl)) {
11510
11639
  commentButton = /*#__PURE__*/external_react_["default"].createElement("div", {
@@ -11516,7 +11645,7 @@ const WaveformRangeSelection = /*#__PURE__*/(0,external_react_.forwardRef)(funct
11516
11645
  onPointerDown: stopRangeEvent,
11517
11646
  onPointerUp: stopRangeEvent
11518
11647
  }, /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Toolbar.Root, {
11519
- "aria-label": "Comment"
11648
+ "aria-label": WaveformRangeSelection_('media_range_comment')
11520
11649
  }, showCommentButton && onDragCreate && /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Toolbar.Button, {
11521
11650
  "data-resin-target": "waveformRangeComment",
11522
11651
  "data-target-id": "Waveform-commentOnRange",
@@ -11529,10 +11658,10 @@ const WaveformRangeSelection = /*#__PURE__*/(0,external_react_.forwardRef)(funct
11529
11658
  icon: Medium_.Comment
11530
11659
  }), /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Text, {
11531
11660
  as: "span"
11532
- }, "Comment")), showCommentButton && showClearControl && /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Toolbar.Separator, null), showClearControl && onRangeClear && /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Tooltip, {
11533
- content: "Clear"
11661
+ }, WaveformRangeSelection_('media_range_comment'))), showCommentButton && showClearControl && /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Toolbar.Separator, null), showClearControl && onRangeClear && /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Tooltip, {
11662
+ content: WaveformRangeSelection_('media_range_clear')
11534
11663
  }, /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Toolbar.Button, {
11535
- "aria-label": "Clear",
11664
+ "aria-label": WaveformRangeSelection_('media_range_clear'),
11536
11665
  "data-resin-target": "waveformRangeClear",
11537
11666
  "data-target-id": "Waveform-clearRange",
11538
11667
  "data-testid": "bp-waveform-range-clear",
@@ -11547,7 +11676,7 @@ const WaveformRangeSelection = /*#__PURE__*/(0,external_react_.forwardRef)(funct
11547
11676
  } else if (showClearOnly && onRangeClear) {
11548
11677
  commentButton = /*#__PURE__*/external_react_["default"].createElement("button", {
11549
11678
  ref: commentButtonRef,
11550
- "aria-label": "Clear",
11679
+ "aria-label": WaveformRangeSelection_('media_range_clear'),
11551
11680
  className: "bp-WaveformRange-comment bp-WaveformRange-comment--clearOnly",
11552
11681
  "data-resin-target": "waveformRangeClear",
11553
11682
  "data-target-id": "Waveform-clearRange",
@@ -11589,7 +11718,7 @@ const WaveformRangeSelection = /*#__PURE__*/(0,external_react_.forwardRef)(funct
11589
11718
  "aria-hidden": "true",
11590
11719
  className: "bp-WaveformRange-commentDivider"
11591
11720
  }), /*#__PURE__*/external_react_["default"].createElement("button", {
11592
- "aria-label": "Clear",
11721
+ "aria-label": WaveformRangeSelection_('media_range_clear'),
11593
11722
  className: "bp-WaveformRange-commentClear",
11594
11723
  "data-resin-target": "waveformRangeClear",
11595
11724
  "data-target-id": "Waveform-clearRange",
@@ -11657,6 +11786,7 @@ const WaveformRangeSelection = /*#__PURE__*/(0,external_react_.forwardRef)(funct
11657
11786
  // extracted by mini-css-extract-plugin
11658
11787
 
11659
11788
  ;// ./src/lib/viewers/media/waveform/WaveformView.tsx
11789
+ /* provided dependency */ var WaveformView_ = __webpack_require__(441)["Tl"];
11660
11790
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
11661
11791
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
11662
11792
  function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
@@ -13093,7 +13223,7 @@ function WaveformView({
13093
13223
  onPointerDown: event => event.stopPropagation(),
13094
13224
  onPointerUp: event => event.stopPropagation()
13095
13225
  }, /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Toolbar.Root, {
13096
- "aria-label": "Comment"
13226
+ "aria-label": WaveformView_('media_range_comment')
13097
13227
  }, /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Toolbar.Button, {
13098
13228
  "data-resin-target": "waveformPlayheadComment",
13099
13229
  "data-target-id": "Waveform-commentAtTime",
@@ -13106,7 +13236,7 @@ function WaveformView({
13106
13236
  icon: Medium_.Comment
13107
13237
  }), /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Text, {
13108
13238
  as: "span"
13109
- }, "Comment")))), showPlayheadComment && !isBlueprintEnabled && /*#__PURE__*/external_react_["default"].createElement("button", {
13239
+ }, WaveformView_('media_range_comment'))))), showPlayheadComment && !isBlueprintEnabled && /*#__PURE__*/external_react_["default"].createElement("button", {
13110
13240
  className: "bp-WaveformRange-comment bp-WaveformView-playheadComment",
13111
13241
  "data-resin-target": "waveformPlayheadComment",
13112
13242
  "data-target-id": "Waveform-commentAtTime",
@@ -13121,7 +13251,7 @@ function WaveformView({
13121
13251
  }, /*#__PURE__*/external_react_["default"].createElement(icons_IconComment24, {
13122
13252
  "aria-hidden": "true",
13123
13253
  className: "bp-WaveformRange-commentIcon"
13124
- }), "Comment")), showRangeOverlay && overlayRange && /*#__PURE__*/external_react_["default"].createElement(waveform_WaveformRangeSelection, {
13254
+ }), WaveformView_('media_range_comment'))), showRangeOverlay && overlayRange && /*#__PURE__*/external_react_["default"].createElement(waveform_WaveformRangeSelection, {
13125
13255
  ref: rangeLayerRef,
13126
13256
  currentTimeSec: currentTime,
13127
13257
  durationSec: durationSec,
@@ -13223,6 +13353,7 @@ var SliderControl = __webpack_require__(4937);
13223
13353
  // extracted by mini-css-extract-plugin
13224
13354
 
13225
13355
  ;// ./src/lib/viewers/media/waveform/WaveformZoomControl.tsx
13356
+ /* provided dependency */ var WaveformZoomControl_ = __webpack_require__(441)["Tl"];
13226
13357
 
13227
13358
 
13228
13359
 
@@ -13301,7 +13432,7 @@ function WaveformZoomControl({
13301
13432
  }, [handleStep, isAtMinZoom]);
13302
13433
  return /*#__PURE__*/external_react_["default"].createElement("div", {
13303
13434
  ref: zoomControlElRef,
13304
- "aria-label": "Zoom",
13435
+ "aria-label": WaveformZoomControl_('media_zoom'),
13305
13436
  className: classnames_default()('bp-WaveformZoomControl', {
13306
13437
  'bp-has-multiplier': zoomMultiplier,
13307
13438
  'bp-is-open': isOpen
@@ -13332,7 +13463,7 @@ function WaveformZoomControl({
13332
13463
  }, zoomMultiplier && /*#__PURE__*/external_react_["default"].createElement(external_react_["default"].Fragment, null, isBlueprintEnabled ? /*#__PURE__*/external_react_["default"].createElement("div", {
13333
13464
  className: "bp-WaveformZoomControl-multiplier",
13334
13465
  "data-testid": "bp-waveform-zoom-multiplier",
13335
- title: "Current zoom level"
13466
+ title: WaveformZoomControl_('zoom_current_scale')
13336
13467
  }, /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Text, {
13337
13468
  as: "span",
13338
13469
  color: "textOnDarkDefault",
@@ -13340,16 +13471,16 @@ function WaveformZoomControl({
13340
13471
  }, zoomMultiplier)) : /*#__PURE__*/external_react_["default"].createElement("span", {
13341
13472
  className: "bp-WaveformZoomControl-multiplier",
13342
13473
  "data-testid": "bp-waveform-zoom-multiplier",
13343
- title: "Current zoom level"
13474
+ title: WaveformZoomControl_('zoom_current_scale')
13344
13475
  }, zoomMultiplier), /*#__PURE__*/external_react_["default"].createElement("span", {
13345
13476
  "aria-hidden": "true",
13346
13477
  className: "bp-WaveformZoomControl-divider",
13347
13478
  "data-testid": "bp-waveform-zoom-divider"
13348
13479
  })), isBlueprintEnabled ? /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Tooltip, {
13349
- content: "Zoom in"
13480
+ content: WaveformZoomControl_('zoom_in')
13350
13481
  }, /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.IconButton, {
13351
13482
  "aria-disabled": isOpen && isAtMaxZoom,
13352
- "aria-label": "Zoom in",
13483
+ "aria-label": WaveformZoomControl_('zoom_in'),
13353
13484
  className: "bp-WaveformZoomControl-iconButton",
13354
13485
  "data-resin-target": "waveformZoomIn",
13355
13486
  "data-target-id": "WaveformZoomControl-zoomIn",
@@ -13367,17 +13498,17 @@ function WaveformZoomControl({
13367
13498
  "data-testid": "bp-waveform-zoom-in",
13368
13499
  onClick: handleZoomInClick,
13369
13500
  onPointerDown: handleZoomInPointerDown,
13370
- title: "Zoom in"
13501
+ title: WaveformZoomControl_('zoom_in')
13371
13502
  }, /*#__PURE__*/external_react_["default"].createElement(icons_IconZoomIn24, null)), /*#__PURE__*/external_react_["default"].createElement("div", {
13372
13503
  "aria-hidden": !isOpen,
13373
13504
  className: classnames_default()('bp-WaveformZoomControl-flyout', {
13374
13505
  'bp-is-open': isOpen
13375
13506
  })
13376
13507
  }, isBlueprintEnabled ? /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Tooltip, {
13377
- content: "Zoom out"
13508
+ content: WaveformZoomControl_('zoom_out')
13378
13509
  }, /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.IconButton, {
13379
13510
  "aria-disabled": isAtMinZoom,
13380
- "aria-label": "Zoom out",
13511
+ "aria-label": WaveformZoomControl_('zoom_out'),
13381
13512
  className: "bp-WaveformZoomControl-iconButton",
13382
13513
  "data-resin-target": "waveformZoomOut",
13383
13514
  "data-target-id": "WaveformZoomControl-zoomOut",
@@ -13395,7 +13526,7 @@ function WaveformZoomControl({
13395
13526
  "data-testid": "bp-waveform-zoom-out",
13396
13527
  onClick: handleZoomOutClick,
13397
13528
  tabIndex: isOpen ? 0 : -1,
13398
- title: "Zoom out"
13529
+ title: WaveformZoomControl_('zoom_out')
13399
13530
  }, /*#__PURE__*/external_react_["default"].createElement(icons_IconZoomOut24, null)), /*#__PURE__*/external_react_["default"].createElement(SliderControl/* default */.A, {
13400
13531
  "aria-hidden": !isOpen,
13401
13532
  className: "bp-WaveformZoomControl-slider",
@@ -13409,7 +13540,7 @@ function WaveformZoomControl({
13409
13540
  '--bp-zoom-t': zoomValue / constants/* WAVEFORM_ZOOM_SLIDER_MAX */.nh
13410
13541
  },
13411
13542
  tabIndex: isOpen ? 0 : -1,
13412
- title: "Zoom Slider",
13543
+ title: WaveformZoomControl_('media_zoom_slider'),
13413
13544
  value: zoomValue
13414
13545
  })));
13415
13546
  }
@@ -13417,6 +13548,8 @@ function WaveformZoomControl({
13417
13548
  // extracted by mini-css-extract-plugin
13418
13549
 
13419
13550
  ;// ./src/lib/viewers/media/MP3ControlsV2.tsx
13551
+ /* provided dependency */ var MP3ControlsV2_ = __webpack_require__(441)["Tl"];
13552
+
13420
13553
 
13421
13554
 
13422
13555
 
@@ -13659,9 +13792,9 @@ function MP3ControlsV2({
13659
13792
  onZoomChange: handleWaveformZoom,
13660
13793
  zoomLevel: zoomLevel
13661
13794
  })), showPlayOverlay && isBlueprintEnabled && /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Tooltip, {
13662
- content: "Play"
13795
+ content: MP3ControlsV2_('media_play')
13663
13796
  }, /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.IconButton, {
13664
- "aria-label": "Play",
13797
+ "aria-label": MP3ControlsV2_('media_play'),
13665
13798
  className: "bp-MP3ControlsV2-playOverlayButton",
13666
13799
  "data-resin-target": "playOverlay",
13667
13800
  "data-target-id": "MP3ControlsV2-play",
@@ -13685,9 +13818,11 @@ function MP3ControlsV2({
13685
13818
  "data-testid": "bp-MP3ControlsV2-play-overlay",
13686
13819
  onClick: handlePlayOverlayClick,
13687
13820
  onMouseDown: event => event.preventDefault(),
13688
- title: "Play",
13821
+ title: MP3ControlsV2_('media_play'),
13689
13822
  type: "button"
13690
- }), isWaitingToPlay && /*#__PURE__*/external_react_["default"].createElement("div", {
13823
+ }), isWaitingToPlay && isBlueprintEnabled && /*#__PURE__*/external_react_["default"].createElement(MediaLoadingIndicator/* default */.A, {
13824
+ "data-testid": "bp-MP3ControlsV2-loading"
13825
+ }), isWaitingToPlay && !isBlueprintEnabled && /*#__PURE__*/external_react_["default"].createElement("div", {
13691
13826
  className: "bp-media-buffering-spinner",
13692
13827
  "data-testid": "bp-MP3ControlsV2-loading"
13693
13828
  })), hasMediaMetadata && /*#__PURE__*/external_react_["default"].createElement("div", {
@@ -22479,7 +22614,7 @@ var x = (y) => {
22479
22614
  var x = {}; __webpack_require__.d(x, y); return x
22480
22615
  }
22481
22616
  var y = (x) => (() => (x))
22482
- module.exports = x({ ["BlueprintProvider"]: () => (__WEBPACK_EXTERNAL_MODULE__box_blueprint_web_e1e285a9__.BlueprintProvider), ["Breadcrumb"]: () => (__WEBPACK_EXTERNAL_MODULE__box_blueprint_web_e1e285a9__.Breadcrumb), ["Cell"]: () => (__WEBPACK_EXTERNAL_MODULE__box_blueprint_web_e1e285a9__.Cell), ["Column"]: () => (__WEBPACK_EXTERNAL_MODULE__box_blueprint_web_e1e285a9__.Column), ["DataTableWrapper"]: () => (__WEBPACK_EXTERNAL_MODULE__box_blueprint_web_e1e285a9__.DataTableWrapper), ["DropdownMenu"]: () => (__WEBPACK_EXTERNAL_MODULE__box_blueprint_web_e1e285a9__.DropdownMenu), ["IconButton"]: () => (__WEBPACK_EXTERNAL_MODULE__box_blueprint_web_e1e285a9__.IconButton), ["IconToggleButton"]: () => (__WEBPACK_EXTERNAL_MODULE__box_blueprint_web_e1e285a9__.IconToggleButton), ["LoadingIndicator"]: () => (__WEBPACK_EXTERNAL_MODULE__box_blueprint_web_e1e285a9__.LoadingIndicator), ["Modal"]: () => (__WEBPACK_EXTERNAL_MODULE__box_blueprint_web_e1e285a9__.Modal), ["Row"]: () => (__WEBPACK_EXTERNAL_MODULE__box_blueprint_web_e1e285a9__.Row), ["SearchInput"]: () => (__WEBPACK_EXTERNAL_MODULE__box_blueprint_web_e1e285a9__.SearchInput), ["SelectMenu"]: () => (__WEBPACK_EXTERNAL_MODULE__box_blueprint_web_e1e285a9__.SelectMenu), ["Table"]: () => (__WEBPACK_EXTERNAL_MODULE__box_blueprint_web_e1e285a9__.Table), ["TableBody"]: () => (__WEBPACK_EXTERNAL_MODULE__box_blueprint_web_e1e285a9__.TableBody), ["TableHeader"]: () => (__WEBPACK_EXTERNAL_MODULE__box_blueprint_web_e1e285a9__.TableHeader), ["Text"]: () => (__WEBPACK_EXTERNAL_MODULE__box_blueprint_web_e1e285a9__.Text), ["Toolbar"]: () => (__WEBPACK_EXTERNAL_MODULE__box_blueprint_web_e1e285a9__.Toolbar), ["Tooltip"]: () => (__WEBPACK_EXTERNAL_MODULE__box_blueprint_web_e1e285a9__.Tooltip), ["TooltipProvider"]: () => (__WEBPACK_EXTERNAL_MODULE__box_blueprint_web_e1e285a9__.TooltipProvider), ["VisuallyHidden"]: () => (__WEBPACK_EXTERNAL_MODULE__box_blueprint_web_e1e285a9__.VisuallyHidden), ["useNoopTreatment"]: () => (__WEBPACK_EXTERNAL_MODULE__box_blueprint_web_e1e285a9__.useNoopTreatment) });
22617
+ module.exports = x({ ["BlueprintProvider"]: () => (__WEBPACK_EXTERNAL_MODULE__box_blueprint_web_e1e285a9__.BlueprintProvider), ["Breadcrumb"]: () => (__WEBPACK_EXTERNAL_MODULE__box_blueprint_web_e1e285a9__.Breadcrumb), ["Cell"]: () => (__WEBPACK_EXTERNAL_MODULE__box_blueprint_web_e1e285a9__.Cell), ["Column"]: () => (__WEBPACK_EXTERNAL_MODULE__box_blueprint_web_e1e285a9__.Column), ["DataTableWrapper"]: () => (__WEBPACK_EXTERNAL_MODULE__box_blueprint_web_e1e285a9__.DataTableWrapper), ["DropdownMenu"]: () => (__WEBPACK_EXTERNAL_MODULE__box_blueprint_web_e1e285a9__.DropdownMenu), ["Ghost"]: () => (__WEBPACK_EXTERNAL_MODULE__box_blueprint_web_e1e285a9__.Ghost), ["IconButton"]: () => (__WEBPACK_EXTERNAL_MODULE__box_blueprint_web_e1e285a9__.IconButton), ["IconToggleButton"]: () => (__WEBPACK_EXTERNAL_MODULE__box_blueprint_web_e1e285a9__.IconToggleButton), ["LoadingIndicator"]: () => (__WEBPACK_EXTERNAL_MODULE__box_blueprint_web_e1e285a9__.LoadingIndicator), ["Modal"]: () => (__WEBPACK_EXTERNAL_MODULE__box_blueprint_web_e1e285a9__.Modal), ["Row"]: () => (__WEBPACK_EXTERNAL_MODULE__box_blueprint_web_e1e285a9__.Row), ["SearchInput"]: () => (__WEBPACK_EXTERNAL_MODULE__box_blueprint_web_e1e285a9__.SearchInput), ["SelectMenu"]: () => (__WEBPACK_EXTERNAL_MODULE__box_blueprint_web_e1e285a9__.SelectMenu), ["Table"]: () => (__WEBPACK_EXTERNAL_MODULE__box_blueprint_web_e1e285a9__.Table), ["TableBody"]: () => (__WEBPACK_EXTERNAL_MODULE__box_blueprint_web_e1e285a9__.TableBody), ["TableHeader"]: () => (__WEBPACK_EXTERNAL_MODULE__box_blueprint_web_e1e285a9__.TableHeader), ["Text"]: () => (__WEBPACK_EXTERNAL_MODULE__box_blueprint_web_e1e285a9__.Text), ["Toolbar"]: () => (__WEBPACK_EXTERNAL_MODULE__box_blueprint_web_e1e285a9__.Toolbar), ["Tooltip"]: () => (__WEBPACK_EXTERNAL_MODULE__box_blueprint_web_e1e285a9__.Tooltip), ["TooltipProvider"]: () => (__WEBPACK_EXTERNAL_MODULE__box_blueprint_web_e1e285a9__.TooltipProvider), ["VisuallyHidden"]: () => (__WEBPACK_EXTERNAL_MODULE__box_blueprint_web_e1e285a9__.VisuallyHidden), ["useNoopTreatment"]: () => (__WEBPACK_EXTERNAL_MODULE__box_blueprint_web_e1e285a9__.useNoopTreatment) });
22483
22618
 
22484
22619
  /***/ },
22485
22620
 
@@ -22512,7 +22647,7 @@ var x = (y) => {
22512
22647
  var x = {}; __webpack_require__.d(x, y); return x
22513
22648
  }
22514
22649
  var y = (x) => (() => (x))
22515
- module.exports = x({ ["BoxBlue100"]: () => (__WEBPACK_EXTERNAL_MODULE__box_blueprint_web_assets_tokens_tokens_b764a744__.BoxBlue100), ["Size5"]: () => (__WEBPACK_EXTERNAL_MODULE__box_blueprint_web_assets_tokens_tokens_b764a744__.Size5), ["Size8"]: () => (__WEBPACK_EXTERNAL_MODULE__box_blueprint_web_assets_tokens_tokens_b764a744__.Size8), ["bpIconCtaIconOnDark"]: () => (__WEBPACK_EXTERNAL_MODULE__box_blueprint_web_assets_tokens_tokens_b764a744__.bpIconCtaIconOnDark), ["bpIconIconOnDark"]: () => (__WEBPACK_EXTERNAL_MODULE__box_blueprint_web_assets_tokens_tokens_b764a744__.bpIconIconOnDark), ["bpIconIconOnLightSecondary"]: () => (__WEBPACK_EXTERNAL_MODULE__box_blueprint_web_assets_tokens_tokens_b764a744__.bpIconIconOnLightSecondary) });
22650
+ module.exports = x({ ["BoxBlue100"]: () => (__WEBPACK_EXTERNAL_MODULE__box_blueprint_web_assets_tokens_tokens_b764a744__.BoxBlue100), ["Size5"]: () => (__WEBPACK_EXTERNAL_MODULE__box_blueprint_web_assets_tokens_tokens_b764a744__.Size5), ["Size8"]: () => (__WEBPACK_EXTERNAL_MODULE__box_blueprint_web_assets_tokens_tokens_b764a744__.Size8), ["bpIconCtaIconOnDark"]: () => (__WEBPACK_EXTERNAL_MODULE__box_blueprint_web_assets_tokens_tokens_b764a744__.bpIconCtaIconOnDark), ["bpIconIconOnDark"]: () => (__WEBPACK_EXTERNAL_MODULE__box_blueprint_web_assets_tokens_tokens_b764a744__.bpIconIconOnDark), ["bpIconIconOnLightSecondary"]: () => (__WEBPACK_EXTERNAL_MODULE__box_blueprint_web_assets_tokens_tokens_b764a744__.bpIconIconOnLightSecondary), ["bpRadius03"]: () => (__WEBPACK_EXTERNAL_MODULE__box_blueprint_web_assets_tokens_tokens_b764a744__.bpRadius03) });
22516
22651
 
22517
22652
  /***/ },
22518
22653
 
@@ -38139,14 +38274,12 @@ class Browser {
38139
38274
  }
38140
38275
  }
38141
38276
  /* harmony default export */ const lib_Browser = (Browser);
38142
- ;// ./src/lib/isNpmBuild.js
38143
- function isNpmBuild() {
38144
- return true && true;
38145
- }
38277
+ // EXTERNAL MODULE: ./src/lib/isNpmBuild.js
38278
+ var isNpmBuild = __webpack_require__(8080);
38146
38279
  ;// ./src/lib/Logger.js
38147
38280
  /* eslint-disable no-undef */
38148
38281
  const CLIENT_NAME = "box-content-preview";
38149
- const CLIENT_VERSION = "3.116.0";
38282
+ const CLIENT_VERSION = "3.118.0";
38150
38283
  /* eslint-enable no-undef */
38151
38284
 
38152
38285
  class Logger {
@@ -38666,12 +38799,14 @@ class Fullscreen extends (events_default()) {
38666
38799
  }
38667
38800
  }
38668
38801
  /* harmony default export */ const lib_Fullscreen = (new Fullscreen());
38802
+ // EXTERNAL MODULE: ./src/lib/translations.ts
38803
+ var translations = __webpack_require__(441);
38669
38804
  ;// ./src/lib/i18n.js
38670
- const annotationMessages = {};
38671
- const language = "en-US" || 0; // eslint-disable-line
38672
38805
 
38806
+ const annotationMessages = {};
38673
38807
  const getLocale = lang => {
38674
- return lang.substr(0, lang.indexOf('-'));
38808
+ const separatorIndex = lang.indexOf('-');
38809
+ return separatorIndex === -1 ? lang : lang.substr(0, separatorIndex);
38675
38810
  };
38676
38811
 
38677
38812
  /**
@@ -38681,6 +38816,7 @@ const getLocale = lang => {
38681
38816
  * @return {Object}
38682
38817
  */
38683
38818
  const createAnnotatorIntl = () => {
38819
+ const language = (0,translations/* getLanguage */.Z0)();
38684
38820
  return {
38685
38821
  language,
38686
38822
  locale: getLocale(language),
@@ -38817,6 +38953,7 @@ class Timer {
38817
38953
  // EXTERNAL MODULE: ./src/lib/events.js
38818
38954
  var lib_events = __webpack_require__(6526);
38819
38955
  ;// ./src/lib/RepStatus.js
38956
+ /* provided dependency */ var __ = __webpack_require__(441)["Tl"];
38820
38957
  function RepStatus_defineProperty(e, r, t) { return (r = RepStatus_toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
38821
38958
  function RepStatus_toPropertyKey(t) { var i = RepStatus_toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
38822
38959
  function RepStatus_toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
@@ -38953,25 +39090,25 @@ class RepStatus extends (events_default()) {
38953
39090
  case 'error':
38954
39091
  switch (code) {
38955
39092
  case lib_events/* ERROR_CODE */.bo.CONVERSION_PASSWORD_PROTECTED:
38956
- errorMessage = "This preview didn’t load because the document is protected. Please try to open or download the file to view.";
39093
+ errorMessage = __('error_password_protected');
38957
39094
  break;
38958
39095
  case lib_events/* ERROR_CODE */.bo.CONVERSION_TRY_AGAIN_LATER:
38959
- errorMessage = "This preview didn’t load. Please refresh the page or download file to view.";
39096
+ errorMessage = __('error_try_again_later');
38960
39097
  break;
38961
39098
  case lib_events/* ERROR_CODE */.bo.CONVERSION_UNSUPPORTED_FORMAT:
38962
- errorMessage = "This preview didn’t load. Please try to open or download the file to view.";
39099
+ errorMessage = __('error_bad_file');
38963
39100
  break;
38964
39101
  case lib_events/* ERROR_CODE */.bo.CONVERSION_LARGE_SIZE_FILE:
38965
- errorMessage = "File exceeds supported size for preview. Open or download the file to view.";
39102
+ errorMessage = __('error_large_file');
38966
39103
  break;
38967
39104
  case lib_events/* ERROR_CODE */.bo.CONVERSION_ZERO_BYTE_FILE:
38968
- errorMessage = "Cannot preview 0 B file. Open or download the file to view.";
39105
+ errorMessage = __('error_zero_byte_file');
38969
39106
  break;
38970
39107
  case lib_events/* ERROR_CODE */.bo.CONVERSION_FAILED:
38971
- errorMessage = "This preview didn’t load. Please try to open or download the file to view.";
39108
+ errorMessage = __('error_reupload');
38972
39109
  break;
38973
39110
  default:
38974
- errorMessage = "This preview didn’t load. Please try to open or download the file to view.";
39111
+ errorMessage = __('error_refresh');
38975
39112
  break;
38976
39113
  }
38977
39114
  error = new PreviewError/* default */.A(code, errorMessage, {
@@ -39174,6 +39311,7 @@ const getFeatureConfig = (features, featureName) => {
39174
39311
  // Blueprint surface from any wave always has its providers, whichever root it renders in.
39175
39312
  const isBlueprintEnabled = features => [constants/* BLUEPRINT_MIGRATION_ARCHIVE */.cA, constants/* BLUEPRINT_MIGRATION_CONTROLS_BAR */.OQ, constants/* BLUEPRINT_MIGRATION_MEDIA_CONTROLS */.dR, constants/* BLUEPRINT_MIGRATION_SUPPORTING_UI */.Ed].some(feature => isFeatureEnabled(features, feature));
39176
39313
  ;// ./src/lib/viewers/BaseViewer.js
39314
+ /* provided dependency */ var BaseViewer_ = __webpack_require__(441)["Tl"];
39177
39315
  function BaseViewer_ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
39178
39316
  function BaseViewer_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? BaseViewer_ownKeys(Object(t), !0).forEach(function (r) { BaseViewer_defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : BaseViewer_ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
39179
39317
  function BaseViewer_defineProperty(e, r, t) { return (r = BaseViewer_toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
@@ -39212,16 +39350,16 @@ const ANNOTATION_TYPE_DRAW = 'draw';
39212
39350
  const ANNOTATION_TYPE_POINT = 'point';
39213
39351
  const LOAD_TIMEOUT_MS = 180000; // 3m
39214
39352
  const RESIZE_WAIT_TIME_IN_MILLIS = 300;
39215
- const ANNOTATION_BUTTONS = {
39353
+ const getAnnotationButtons = () => ({
39216
39354
  point: {
39217
39355
  selector: constants/* SELECTOR_BOX_PREVIEW_BTN_ANNOTATE_POINT */.y7,
39218
- title: "Point annotation mode"
39356
+ title: BaseViewer_('annotation_point_toggle')
39219
39357
  },
39220
39358
  draw: {
39221
39359
  selector: constants/* SELECTOR_BOX_PREVIEW_BTN_ANNOTATE_DRAW */.wK,
39222
- title: "Drawing annotation mode"
39360
+ title: BaseViewer_('annotation_draw_toggle')
39223
39361
  }
39224
- };
39362
+ });
39225
39363
  class BaseViewer extends (events_default()) {
39226
39364
  /**
39227
39365
  * [constructor]
@@ -39381,7 +39519,7 @@ class BaseViewer extends (events_default()) {
39381
39519
  this.containerEl = container.querySelector(constants/* SELECTOR_BOX_PREVIEW_CONTENT */.bE);
39382
39520
 
39383
39521
  // Set an aria-label for all files
39384
- this.containerEl.setAttribute('aria-label', "File preview");
39522
+ this.containerEl.setAttribute('aria-label', BaseViewer_('file_preview_label'));
39385
39523
 
39386
39524
  // Update the loading indicators
39387
39525
  this.setupLoading();
@@ -39511,7 +39649,7 @@ class BaseViewer extends (events_default()) {
39511
39649
  return;
39512
39650
  }
39513
39651
  if (!this.isLoaded() && !this.isDestroyed()) {
39514
- const error = new PreviewError/* default */.A(lib_events/* ERROR_CODE */.bo.VIEWER_LOAD_TIMEOUT, "This preview didn’t load. Please try to open or download the file to view.");
39652
+ const error = new PreviewError/* default */.A(lib_events/* ERROR_CODE */.bo.VIEWER_LOAD_TIMEOUT, BaseViewer_('error_refresh'));
39515
39653
  this.triggerError(error);
39516
39654
  }
39517
39655
  }, this.loadTimeout);
@@ -39578,7 +39716,7 @@ class BaseViewer extends (events_default()) {
39578
39716
  */
39579
39717
  triggerError(err) {
39580
39718
  const message = err ? err.message : '';
39581
- const error = err instanceof PreviewError/* default */.A ? err : new PreviewError/* default */.A(lib_events/* ERROR_CODE */.bo.LOAD_VIEWER, "This preview didn’t load. Please try to open or download the file to view.", {}, message);
39719
+ const error = err instanceof PreviewError/* default */.A ? err : new PreviewError/* default */.A(lib_events/* ERROR_CODE */.bo.LOAD_VIEWER, BaseViewer_('error_refresh'), {}, message);
39582
39720
  this.emit('error', error);
39583
39721
  }
39584
39722
 
@@ -39739,7 +39877,7 @@ class BaseViewer extends (events_default()) {
39739
39877
  const contentTemplate = (0,util/* getProp */.GT)(this.options, 'representation.content.url_template', '');
39740
39878
  const downloadHostToNotify = this.api.reachability.constructor.getDownloadNotificationToShow(contentTemplate);
39741
39879
  if (downloadHostToNotify) {
39742
- this.previewUI.notification.show((0,util/* replacePlaceholders */.Lb)("Your connection to {1} is being blocked. Please reach out to your network admin to adjust firewall settings.", [downloadHostToNotify]), null, true);
39880
+ this.previewUI.notification.show((0,util/* replacePlaceholders */.Lb)(BaseViewer_('notification_degraded_preview'), [downloadHostToNotify]), null, true);
39743
39881
  this.api.reachability.constructor.setDownloadHostNotificationShown(downloadHostToNotify);
39744
39882
  this.emitMetric(lib_events/* DOWNLOAD_REACHABILITY_METRICS */.DI.NOTIFICATION_SHOWN, {
39745
39883
  host: downloadHostToNotify
@@ -40213,7 +40351,7 @@ class BaseViewer extends (events_default()) {
40213
40351
  const viewerOptions = {};
40214
40352
  viewerOptions[this.options.viewer.NAME] = this.viewerConfig;
40215
40353
  if (!globalThis.BoxAnnotations) {
40216
- const error = new PreviewError/* default */.A(lib_events/* ERROR_CODE */.bo.LOAD_ANNOTATIONS, "Annotations could not be loaded for this file. Please refresh the page to try again.", {
40354
+ const error = new PreviewError/* default */.A(lib_events/* ERROR_CODE */.bo.LOAD_ANNOTATIONS, BaseViewer_('annotations_load_error'), {
40217
40355
  silent: true
40218
40356
  });
40219
40357
  this.previewUI.notification.show(error.displayMessage);
@@ -40232,7 +40370,7 @@ class BaseViewer extends (events_default()) {
40232
40370
  initialColor: this.annotationModule.getColor(),
40233
40371
  initialMode: this.getInitialAnnotationMode(),
40234
40372
  intl: options && options.intl || i18n.createAnnotatorIntl(),
40235
- modeButtons: ANNOTATION_BUTTONS,
40373
+ modeButtons: getAnnotationButtons(),
40236
40374
  onCopyLink: options && options.onCopyLink
40237
40375
  });
40238
40376
  this.annotator = new this.annotatorConf.CONSTRUCTOR(annotatorOptions);
@@ -40455,9 +40593,9 @@ class BaseViewer extends (events_default()) {
40455
40593
  case constants/* ANNOTATOR_EVENT */.GA.modeEnter:
40456
40594
  this.disableViewerControls();
40457
40595
  if (data.data.mode === ANNOTATION_TYPE_POINT) {
40458
- this.previewUI.notification.show("Click anywhere to add a comment to the document");
40596
+ this.previewUI.notification.show(BaseViewer_('notification_annotation_point_mode'));
40459
40597
  } else if (data.data.mode === ANNOTATION_TYPE_DRAW) {
40460
- this.previewUI.notification.show("Press down and drag the pointer to draw on the document");
40598
+ this.previewUI.notification.show(BaseViewer_('notification_annotation_draw_mode'));
40461
40599
  this.previewUI.replaceHeader(data.data.headerSelector);
40462
40600
  }
40463
40601
  break;
@@ -40494,30 +40632,30 @@ class BaseViewer extends (events_default()) {
40494
40632
  */
40495
40633
  createAnnotatorOptions(moreOptions) {
40496
40634
  const localizedStrings = {
40497
- addCommentPlaceholder: "Add a comment here...",
40498
- anonymousUserName: "Some User",
40499
- authError: "Annotations could not be loaded for this file. You may not have permission to take this action.",
40500
- cancelButton: "Cancel",
40501
- closeButton: "Close",
40502
- createError: "This annotation could not be created. Please try again.",
40503
- deleteButton: "Delete",
40504
- deleteConfirmation: "Delete this annotation?",
40505
- deleteError: "This annotation could not be deleted. Please try again.",
40506
- doneButton: "Done",
40507
- drawDelete: "Delete drawing",
40508
- drawSave: "Save drawing",
40509
- drawToggle: "Drawing annotation mode",
40510
- highlightComment: "Add comment to highlighted text",
40511
- highlightToggle: "Highlight text",
40512
- loadError: "Annotations could not be loaded for this file. Please refresh the page to try again.",
40513
- pointToggle: "Point annotation mode",
40514
- postButton: "Post",
40515
- posting: "Posting...",
40516
- profileAlt: "Avatar",
40517
- replyPlaceholder: "Post a reply...",
40518
- saveButton: "Save",
40519
- whoDrew: "{1} drew",
40520
- whoHighlighted: "{1} highlighted"
40635
+ addCommentPlaceholder: BaseViewer_('annotation_add_comment_placeholder'),
40636
+ anonymousUserName: BaseViewer_('annotation_anonymous_user_name'),
40637
+ authError: BaseViewer_('annotations_authorization_error'),
40638
+ cancelButton: BaseViewer_('annotation_cancel'),
40639
+ closeButton: BaseViewer_('annotation_close'),
40640
+ createError: BaseViewer_('annotations_create_error'),
40641
+ deleteButton: BaseViewer_('annotation_delete'),
40642
+ deleteConfirmation: BaseViewer_('annotation_delete_confirmation_message'),
40643
+ deleteError: BaseViewer_('annotations_delete_error'),
40644
+ doneButton: BaseViewer_('annotation_done'),
40645
+ drawDelete: BaseViewer_('annotation_draw_delete'),
40646
+ drawSave: BaseViewer_('annotation_draw_save'),
40647
+ drawToggle: BaseViewer_('annotation_draw_toggle'),
40648
+ highlightComment: BaseViewer_('annotation_highlight_comment'),
40649
+ highlightToggle: BaseViewer_('annotation_highlight_toggle'),
40650
+ loadError: BaseViewer_('annotations_load_error'),
40651
+ pointToggle: BaseViewer_('annotation_point_toggle'),
40652
+ postButton: BaseViewer_('annotation_post'),
40653
+ posting: BaseViewer_('annotation_posting_message'),
40654
+ profileAlt: BaseViewer_('annotation_profile_alt'),
40655
+ replyPlaceholder: BaseViewer_('annotation_reply_placeholder'),
40656
+ saveButton: BaseViewer_('annotation_save'),
40657
+ whoDrew: BaseViewer_('annotation_who_drew'),
40658
+ whoHighlighted: BaseViewer_('annotation_who_highlighted')
40521
40659
  };
40522
40660
  return cloneDeep_default()(BaseViewer_objectSpread(BaseViewer_objectSpread(BaseViewer_objectSpread({}, this.options), moreOptions), {}, {
40523
40661
  hasTouch: this.hasTouch,
@@ -40603,6 +40741,7 @@ class BaseViewer extends (events_default()) {
40603
40741
  // extracted by mini-css-extract-plugin
40604
40742
 
40605
40743
  ;// ./src/lib/viewers/archive/ArchiveViewer.js
40744
+ /* provided dependency */ var ArchiveViewer_ = __webpack_require__(441)["Tl"];
40606
40745
  function ArchiveViewer_defineProperty(e, r, t) { return (r = ArchiveViewer_toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
40607
40746
  function ArchiveViewer_toPropertyKey(t) { var i = ArchiveViewer_toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
40608
40747
  function ArchiveViewer_toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
@@ -40616,7 +40755,7 @@ function ArchiveViewer_toPrimitive(t, r) { if ("object" != typeof t || !t) retur
40616
40755
 
40617
40756
  const npmBoxArchive = true ? (__webpack_require__(8229)/* ["default"] */ .A) : 0;
40618
40757
  function viewerAssets() {
40619
- return isNpmBuild() ? {
40758
+ return (0,isNpmBuild/* isNpmBuild */.w)() ? {
40620
40759
  js: [],
40621
40760
  css: []
40622
40761
  } : {
@@ -40646,7 +40785,7 @@ class ArchiveViewer extends viewers_BaseViewer {
40646
40785
  resin: this.options.resin
40647
40786
  });
40648
40787
  } catch (error) {
40649
- throw new PreviewError/* default */.A(lib_events/* ERROR_CODE */.bo.LOAD_VIEWER, "This preview didn’t load. Please try to open or download the file to view.", error);
40788
+ throw new PreviewError/* default */.A(lib_events/* ERROR_CODE */.bo.LOAD_VIEWER, ArchiveViewer_('error_reupload'), error);
40650
40789
  }
40651
40790
  const {
40652
40791
  ready
@@ -40662,7 +40801,7 @@ class ArchiveViewer extends viewers_BaseViewer {
40662
40801
  this.finishRender();
40663
40802
  }
40664
40803
  }, error => {
40665
- throw new PreviewError/* default */.A(lib_events/* ERROR_CODE */.bo.LOAD_VIEWER, "This preview didn’t load. Please try to open or download the file to view.", error);
40804
+ throw new PreviewError/* default */.A(lib_events/* ERROR_CODE */.bo.LOAD_VIEWER, ArchiveViewer_('error_reupload'), error);
40666
40805
  });
40667
40806
  });
40668
40807
  }
@@ -40949,6 +41088,7 @@ class ControlsRoot {
40949
41088
  }
40950
41089
  }
40951
41090
  ;// ./src/lib/viewers/image/ImageBaseViewer.js
41091
+ /* provided dependency */ var ImageBaseViewer_ = __webpack_require__(441)["Tl"];
40952
41092
 
40953
41093
 
40954
41094
 
@@ -41423,7 +41563,7 @@ class ImageBaseViewer extends viewers_BaseViewer {
41423
41563
  console.error(err);
41424
41564
 
41425
41565
  // Display a generic error message but log the real one
41426
- const error = new PreviewError/* default */.A(lib_events/* ERROR_CODE */.bo.CONTENT_DOWNLOAD, "This preview didn’t load. Please try to open or download the file to view.", {}, err.message);
41566
+ const error = new PreviewError/* default */.A(lib_events/* ERROR_CODE */.bo.CONTENT_DOWNLOAD, ImageBaseViewer_('error_refresh'), {}, err.message);
41427
41567
  super.handleDownloadError(error, imgUrl);
41428
41568
  }
41429
41569
 
@@ -41652,6 +41792,7 @@ const TargetedClickThroughTooltip = __WEBPACK_EXTERNAL_MODULE_box_ui_elements_es
41652
41792
  // extracted by mini-css-extract-plugin
41653
41793
 
41654
41794
  ;// ./src/lib/viewers/controls/annotations/AnnotationsTargetedTooltip.tsx
41795
+ /* provided dependency */ var AnnotationsTargetedTooltip_ = __webpack_require__(441)["Tl"];
41655
41796
  function AnnotationsTargetedTooltip_ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
41656
41797
  function AnnotationsTargetedTooltip_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? AnnotationsTargetedTooltip_ownKeys(Object(t), !0).forEach(function (r) { AnnotationsTargetedTooltip_defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : AnnotationsTargetedTooltip_ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
41657
41798
  function AnnotationsTargetedTooltip_defineProperty(e, r, t) { return (r = AnnotationsTargetedTooltip_toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
@@ -41679,9 +41820,9 @@ function AnnotationsTargetedTooltip({
41679
41820
  showCloseButton: true,
41680
41821
  text: /*#__PURE__*/external_react_["default"].createElement("div", null, /*#__PURE__*/external_react_["default"].createElement("h3", {
41681
41822
  className: "bp-AnnotationsTooltip-title"
41682
- }, "Add feedback on content"), /*#__PURE__*/external_react_["default"].createElement("p", {
41823
+ }, AnnotationsTargetedTooltip_('annotations_tooltip_title')), /*#__PURE__*/external_react_["default"].createElement("p", {
41683
41824
  className: "bp-AnnotationsTooltip-body"
41684
- }, "Make notes and comments to highlight key information when previewing content.")),
41825
+ }, AnnotationsTargetedTooltip_('annotations_tooltip_body'))),
41685
41826
  theme: "callout",
41686
41827
  useTargetingApi: () => {
41687
41828
  return AnnotationsTargetedTooltip_objectSpread(AnnotationsTargetedTooltip_objectSpread({}, experiences.tooltipFlowAnnotationsExperience), {}, {
@@ -41788,6 +41929,7 @@ function useFullscreen() {
41788
41929
  // extracted by mini-css-extract-plugin
41789
41930
 
41790
41931
  ;// ./src/lib/viewers/controls/annotations/AnnotationsControls.tsx
41932
+ /* provided dependency */ var AnnotationsControls_ = __webpack_require__(441)["Tl"];
41791
41933
 
41792
41934
 
41793
41935
 
@@ -41869,7 +42011,7 @@ function AnnotationsControls({
41869
42011
  "data-testid": "bp-annotations-controls-exit-btn",
41870
42012
  mode: AnnotationMode.NONE,
41871
42013
  onClick: handleExitClick,
41872
- title: "Exit Annotations"
42014
+ title: AnnotationsControls_('exit_annotations')
41873
42015
  }, /*#__PURE__*/external_react_["default"].createElement(IconExit24/* default */.A, null)), /*#__PURE__*/external_react_["default"].createElement(annotations_AnnotationsButton, {
41874
42016
  ref: annotationBtnRefs[AnnotationMode.DRAWING],
41875
42017
  "data-resin-target": "draw",
@@ -41878,7 +42020,7 @@ function AnnotationsControls({
41878
42020
  isEnabled: showDrawing,
41879
42021
  mode: AnnotationMode.DRAWING,
41880
42022
  onClick: handleModeClick,
41881
- title: "Markup"
42023
+ title: AnnotationsControls_('drawing_comment')
41882
42024
  }, /*#__PURE__*/external_react_["default"].createElement(icons_IconPencilScribbleMedium24, {
41883
42025
  style: {
41884
42026
  color: isDrawingActive ? annotationColor : __WEBPACK_EXTERNAL_MODULE_box_ui_elements_es_styles_variables_c815ce80_white__
@@ -41893,7 +42035,7 @@ function AnnotationsControls({
41893
42035
  isEnabled: showRegion,
41894
42036
  mode: AnnotationMode.REGION,
41895
42037
  onClick: handleModeClick,
41896
- title: "Comment on Region"
42038
+ title: AnnotationsControls_('region_comment')
41897
42039
  }, /*#__PURE__*/external_react_["default"].createElement(icons_IconDashedSquareBubbleMedium24, null))), /*#__PURE__*/external_react_["default"].createElement(annotations_AnnotationsButton, {
41898
42040
  ref: annotationBtnRefs[AnnotationMode.HIGHLIGHT],
41899
42041
  "data-resin-target": "highlightText",
@@ -41902,7 +42044,7 @@ function AnnotationsControls({
41902
42044
  isEnabled: showHighlight,
41903
42045
  mode: AnnotationMode.HIGHLIGHT,
41904
42046
  onClick: handleModeClick,
41905
- title: "Highlight and Comment"
42047
+ title: AnnotationsControls_('highlight_text')
41906
42048
  }, /*#__PURE__*/external_react_["default"].createElement(icons_IconTextHighlightMedium24, null)));
41907
42049
  }
41908
42050
  ;// ./src/lib/viewers/controls/controls-bar/ControlsBar.scss
@@ -42132,6 +42274,7 @@ function IconArrowsMinimizeMedium24(props) {
42132
42274
  // extracted by mini-css-extract-plugin
42133
42275
 
42134
42276
  ;// ./src/lib/viewers/controls/fullscreen/FullscreenToggle.tsx
42277
+ /* provided dependency */ var FullscreenToggle_ = __webpack_require__(441)["Tl"];
42135
42278
  const FullscreenToggle_excluded = ["onFullscreenToggle"];
42136
42279
  function FullscreenToggle_extends() { return FullscreenToggle_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; }, FullscreenToggle_extends.apply(null, arguments); }
42137
42280
  function FullscreenToggle_objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = FullscreenToggle_objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
@@ -42148,7 +42291,7 @@ function FullscreenToggle(_ref) {
42148
42291
  rest = FullscreenToggle_objectWithoutProperties(_ref, FullscreenToggle_excluded);
42149
42292
  const isFullscreen = useFullscreen();
42150
42293
  const Icon = isFullscreen ? icons_IconArrowsMinimizeMedium24 : icons_IconArrowsMaximizeMedium24;
42151
- const title = isFullscreen ? "Exit fullscreen" : "Enter fullscreen";
42294
+ const title = isFullscreen ? FullscreenToggle_('exit_fullscreen') : FullscreenToggle_('enter_fullscreen');
42152
42295
  const handleClick = ({
42153
42296
  target
42154
42297
  }) => {
@@ -42182,6 +42325,7 @@ function IconRotate24(props) {
42182
42325
  // extracted by mini-css-extract-plugin
42183
42326
 
42184
42327
  ;// ./src/lib/viewers/controls/rotate/RotateControl.tsx
42328
+ /* provided dependency */ var RotateControl_ = __webpack_require__(441)["Tl"];
42185
42329
 
42186
42330
 
42187
42331
 
@@ -42192,7 +42336,7 @@ function RotateControl({
42192
42336
  className: "bp-RotateControl",
42193
42337
  "data-resin-target": "rotate",
42194
42338
  onClick: onRotateLeft,
42195
- title: "Rotate left",
42339
+ title: RotateControl_('rotate_left'),
42196
42340
  type: "button"
42197
42341
  }, /*#__PURE__*/external_react_["default"].createElement(icons_IconRotate24, null));
42198
42342
  }
@@ -42239,6 +42383,7 @@ function IconPlusMedium24(props) {
42239
42383
  // extracted by mini-css-extract-plugin
42240
42384
 
42241
42385
  ;// ./src/lib/viewers/controls/zoom/ZoomControls.tsx
42386
+ /* provided dependency */ var ZoomControls_ = __webpack_require__(441)["Tl"];
42242
42387
 
42243
42388
 
42244
42389
 
@@ -42266,19 +42411,19 @@ function ZoomControls({
42266
42411
  "data-testid": "bp-ZoomControls-out",
42267
42412
  disabled: currentScale <= minScaleValue,
42268
42413
  onClick: onZoomOut,
42269
- title: "Zoom out",
42414
+ title: ZoomControls_('zoom_out'),
42270
42415
  type: "button"
42271
42416
  }, /*#__PURE__*/external_react_["default"].createElement(icons_IconMinusMedium24, null)), /*#__PURE__*/external_react_["default"].createElement("div", {
42272
42417
  className: "bp-ZoomControls-current",
42273
42418
  "data-testid": "bp-ZoomControls-current",
42274
- title: "Current zoom level"
42419
+ title: ZoomControls_('zoom_current_scale')
42275
42420
  }, `${Math.round(currentScale * 100)}%`), /*#__PURE__*/external_react_["default"].createElement("button", {
42276
42421
  className: "bp-ZoomControls-button",
42277
42422
  "data-resin-target": resinTargetZoomIn,
42278
42423
  "data-testid": "bp-ZoomControls-in",
42279
42424
  disabled: currentScale >= maxScaleValue,
42280
42425
  onClick: onZoomIn,
42281
- title: "Zoom in",
42426
+ title: ZoomControls_('zoom_in'),
42282
42427
  type: "button"
42283
42428
  }, /*#__PURE__*/external_react_["default"].createElement(icons_IconPlusMedium24, null)));
42284
42429
  }
@@ -42946,6 +43091,7 @@ class ImageViewer extends image_ImageBaseViewer {
42946
43091
  // extracted by mini-css-extract-plugin
42947
43092
 
42948
43093
  ;// ./src/lib/viewers/controls/page/PageControlsForm.tsx
43094
+ /* provided dependency */ var PageControlsForm_ = __webpack_require__(441)["Tl"];
42949
43095
 
42950
43096
 
42951
43097
 
@@ -43026,7 +43172,7 @@ function PageControlsForm({
43026
43172
  onKeyDown: handleNumInputKeyDown,
43027
43173
  pattern: "[0-9]*",
43028
43174
  size: 3,
43029
- title: "Click to enter page number",
43175
+ title: PageControlsForm_('enter_page_num'),
43030
43176
  type: "number",
43031
43177
  value: inputValue.toString()
43032
43178
  }) : /*#__PURE__*/external_react_["default"].createElement("button", {
@@ -43036,7 +43182,7 @@ function PageControlsForm({
43036
43182
  "data-testid": "bp-PageControlsForm-button",
43037
43183
  disabled: pageCount <= 1,
43038
43184
  onClick: () => setIsInputShown(true),
43039
- title: "Click to enter page number",
43185
+ title: PageControlsForm_('enter_page_num'),
43040
43186
  type: "button"
43041
43187
  }, /*#__PURE__*/external_react_["default"].createElement("span", {
43042
43188
  className: "bp-PageControlsForm-button-label",
@@ -43047,6 +43193,7 @@ function PageControlsForm({
43047
43193
  // extracted by mini-css-extract-plugin
43048
43194
 
43049
43195
  ;// ./src/lib/viewers/controls/page/PageControls.tsx
43196
+ /* provided dependency */ var PageControls_ = __webpack_require__(441)["Tl"];
43050
43197
 
43051
43198
 
43052
43199
 
@@ -43069,7 +43216,7 @@ function PageControls({
43069
43216
  "data-testid": "bp-PageControls-previous",
43070
43217
  disabled: pageNumber === 1,
43071
43218
  onClick: () => onPageChange(pageNumber - 1),
43072
- title: "Previous page",
43219
+ title: PageControls_('previous_page'),
43073
43220
  type: "button"
43074
43221
  }, /*#__PURE__*/external_react_["default"].createElement(IconChevronUpMedium24/* default */.A, null)), /*#__PURE__*/external_react_["default"].createElement(PageControlsForm, {
43075
43222
  onPageSubmit: onPageSubmit,
@@ -43081,7 +43228,7 @@ function PageControls({
43081
43228
  "data-testid": "bp-PageControls-next",
43082
43229
  disabled: pageNumber === pageCount,
43083
43230
  onClick: () => onPageChange(pageNumber + 1),
43084
- title: "Next page",
43231
+ title: PageControls_('next_page'),
43085
43232
  type: "button"
43086
43233
  }, /*#__PURE__*/external_react_["default"].createElement(IconChevronDownMedium24/* default */.A, null)));
43087
43234
  }
@@ -44150,6 +44297,7 @@ class UIRegistry {
44150
44297
  }
44151
44298
 
44152
44299
  ;// ./src/lib/viewers/box3d/Box3DControls.js
44300
+ /* provided dependency */ var Box3DControls_ = __webpack_require__(441)["Tl"];
44153
44301
  function Box3DControls_defineProperty(e, r, t) { return (r = Box3DControls_toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
44154
44302
  function Box3DControls_toPropertyKey(t) { var i = Box3DControls_toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
44155
44303
  function Box3DControls_toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
@@ -44207,8 +44355,8 @@ class Box3DControls extends (events_default()) {
44207
44355
  * @return {void}
44208
44356
  */
44209
44357
  addFullscreenButton() {
44210
- this.controls.add("Enter fullscreen", this.handleToggleFullscreen, 'bp-enter-fullscreen-icon', full_screen_in_24px_namespaceObject);
44211
- this.controls.add("Exit fullscreen", this.handleToggleFullscreen, 'bp-exit-fullscreen-icon', full_screen_out_24px_namespaceObject);
44358
+ this.controls.add(Box3DControls_('enter_fullscreen'), this.handleToggleFullscreen, 'bp-enter-fullscreen-icon', full_screen_in_24px_namespaceObject);
44359
+ this.controls.add(Box3DControls_('exit_fullscreen'), this.handleToggleFullscreen, 'bp-exit-fullscreen-icon', full_screen_out_24px_namespaceObject);
44212
44360
  }
44213
44361
 
44214
44362
  /**
@@ -44217,7 +44365,7 @@ class Box3DControls extends (events_default()) {
44217
44365
  * @return {void}
44218
44366
  */
44219
44367
  addVrButton() {
44220
- this.vrButtonEl = this.controls.add("Toggle VR display", this.handleToggleVr, '', _3D_vr_24px_namespaceObject);
44368
+ this.vrButtonEl = this.controls.add(Box3DControls_('box3d_toggle_vr'), this.handleToggleVr, '', _3D_vr_24px_namespaceObject);
44221
44369
  if (this.vrButtonVisible) {
44222
44370
  this.showVrButton();
44223
44371
  } else {
@@ -44865,6 +45013,7 @@ class Box3DRenderer extends (events_default()) {
44865
45013
  ;// ./src/lib/icons/close.svg
44866
45014
  const close_namespaceObject = "<svg viewBox=\"-11 13 24 24\" focusable=\"false\">\n <path class=\"icon\" fill=\"#494949\" d=\"M6 21l-1-1-4 4-4-4-1 1 4 4-4 4 1 1 4-4 4 4 1-1-4-4 4-4z\"/>\n <path fill=\"none\" d=\"M-11 13h24v24h-24V13z\"/>\n</svg>\n";
44867
45015
  ;// ./src/lib/Notification.js
45016
+ /* provided dependency */ var Notification_ = __webpack_require__(441)["Tl"];
44868
45017
  function Notification_defineProperty(e, r, t) { return (r = Notification_toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
44869
45018
  function Notification_toPropertyKey(t) { var i = Notification_toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
44870
45019
  function Notification_toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
@@ -44936,7 +45085,7 @@ class Notification {
44936
45085
  } else {
44937
45086
  this.buttonEl.innerHTML = close_namespaceObject;
44938
45087
  this.buttonEl.classList.add('default-close-btn');
44939
- this.buttonEl.setAttribute('aria-label', "Clear Notification");
45088
+ this.buttonEl.setAttribute('aria-label', Notification_('notification_button_default_label'));
44940
45089
  }
44941
45090
  this.notificationEl.classList.remove(constants/* CLASS_HIDDEN */.zX);
44942
45091
  this.notificationEl.focus();
@@ -45332,6 +45481,7 @@ function IconVr24(props) {
45332
45481
  // extracted by mini-css-extract-plugin
45333
45482
 
45334
45483
  ;// ./src/lib/viewers/controls/box3d/VrToggleControl.tsx
45484
+ /* provided dependency */ var VrToggleControl_ = __webpack_require__(441)["Tl"];
45335
45485
 
45336
45486
 
45337
45487
 
@@ -45346,7 +45496,7 @@ function VrToggleControl({
45346
45496
  className: "bp-VrToggleControl",
45347
45497
  "data-resin-target": "vrToggle",
45348
45498
  onClick: onVrToggle,
45349
- title: "Toggle VR display",
45499
+ title: VrToggleControl_('box3d_toggle_vr'),
45350
45500
  type: "button"
45351
45501
  }, /*#__PURE__*/external_react_["default"].createElement(icons_IconVr24, null));
45352
45502
  }
@@ -45685,6 +45835,7 @@ class Image360Viewer extends box3d_Box3DViewer {
45685
45835
  }
45686
45836
  /* harmony default export */ const image360_Image360Viewer = (Image360Viewer);
45687
45837
  ;// ./src/lib/viewers/box3d/image360/Image360Loader.js
45838
+ /* provided dependency */ var Image360Loader_ = __webpack_require__(441)["Tl"];
45688
45839
 
45689
45840
 
45690
45841
 
@@ -45713,7 +45864,7 @@ class Image360Loader extends box3d_Base360Loader {
45713
45864
  determineViewer(file, disabledViewers = []) {
45714
45865
  const viewer = super.determineViewer(file, disabledViewers);
45715
45866
  if (viewer && !lib_Browser.hasWebGL()) {
45716
- const message = (0,util/* replacePlaceholders */.Lb)("Your browser doesn’t support preview for {1}. Please try to open or download the file to view.", ["360-degree images"]);
45867
+ const message = (0,util/* replacePlaceholders */.Lb)(Image360Loader_('error_browser_unsupported'), [Image360Loader_('360_images')]);
45717
45868
  throw new PreviewError/* default */.A(lib_events/* ERROR_CODE */.bo.BROWSER_UNSUPPORTED, message, {
45718
45869
  file
45719
45870
  });
@@ -45805,6 +45956,7 @@ class SWFViewer extends viewers_BaseViewer {
45805
45956
  }
45806
45957
  /* harmony default export */ const swf_SWFViewer = (SWFViewer);
45807
45958
  ;// ./src/lib/viewers/swf/SWFLoader.js
45959
+ /* provided dependency */ var SWFLoader_ = __webpack_require__(441)["Tl"];
45808
45960
 
45809
45961
 
45810
45962
 
@@ -45835,13 +45987,14 @@ class SWFLoader extends viewers_AssetLoader {
45835
45987
  determineViewer(file, disabledViewers = []) {
45836
45988
  const viewer = super.determineViewer(file, disabledViewers);
45837
45989
  if (viewer && !lib_Browser.hasFlash()) {
45838
- throw new PreviewError/* default */.A(lib_events/* ERROR_CODE */.bo.FLASH_NOT_ENABLED, "This preview didn’t load because Flash is not enabled on your browser. Please try to enable Flash or download the file to view.");
45990
+ throw new PreviewError/* default */.A(lib_events/* ERROR_CODE */.bo.FLASH_NOT_ENABLED, SWFLoader_('error_flash_not_enabled'));
45839
45991
  }
45840
45992
  return viewer;
45841
45993
  }
45842
45994
  }
45843
45995
  /* harmony default export */ const swf_SWFLoader = (new SWFLoader());
45844
45996
  ;// ./src/lib/Popup.js
45997
+ /* provided dependency */ var Popup_ = __webpack_require__(441)["Tl"];
45845
45998
  function Popup_defineProperty(e, r, t) { return (r = Popup_toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
45846
45999
  function Popup_toPropertyKey(t) { var i = Popup_toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
45847
46000
  function Popup_toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
@@ -45965,7 +46118,7 @@ class Popup {
45965
46118
  if (buttonText) {
45966
46119
  this.buttonEl.textContent = buttonText;
45967
46120
  } else {
45968
- this.buttonEl.textContent = "Okay";
46121
+ this.buttonEl.textContent = Popup_('notification_button_default_text');
45969
46122
  }
45970
46123
  if (buttonHandler && typeof buttonHandler === 'function') {
45971
46124
  this.buttonEl.handler = buttonHandler;
@@ -46069,6 +46222,143 @@ function TextControls({
46069
46222
  onFullscreenToggle: onFullscreenToggle
46070
46223
  })));
46071
46224
  }
46225
+ // EXTERNAL MODULE: external "@box/blueprint-web"
46226
+ var blueprint_web_ = __webpack_require__(8912);
46227
+ ;// ./src/lib/viewers/controls/controls-bar/ControlsBarV2.tsx
46228
+ const ControlsBarV2_excluded = ["children"];
46229
+ function ControlsBarV2_extends() { return ControlsBarV2_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; }, ControlsBarV2_extends.apply(null, arguments); }
46230
+ function ControlsBarV2_objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = ControlsBarV2_objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
46231
+ function ControlsBarV2_objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
46232
+
46233
+
46234
+ function ControlsBarV2(_ref, ref) {
46235
+ let {
46236
+ children
46237
+ } = _ref,
46238
+ rest = ControlsBarV2_objectWithoutProperties(_ref, ControlsBarV2_excluded);
46239
+ if (!children) {
46240
+ return null;
46241
+ }
46242
+ return /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Toolbar.Root, ControlsBarV2_extends({
46243
+ ref: ref,
46244
+ colorScheme: "dark",
46245
+ "data-testid": "bp-ControlsBar"
46246
+ }, rest), children);
46247
+ }
46248
+ /* harmony default export */ const controls_bar_ControlsBarV2 = (/*#__PURE__*/external_react_["default"].forwardRef(ControlsBarV2));
46249
+ ;// external "@box/blueprint-web-assets/icons/Medium/ArrowsMaximize"
46250
+
46251
+ ;// external "@box/blueprint-web-assets/icons/Medium/ArrowsMinimize"
46252
+
46253
+ ;// ./src/lib/viewers/controls/fullscreen/FullscreenToggleV2.tsx
46254
+ /* provided dependency */ var FullscreenToggleV2_ = __webpack_require__(441)["Tl"];
46255
+ const FullscreenToggleV2_excluded = ["onFullscreenToggle"];
46256
+ function FullscreenToggleV2_extends() { return FullscreenToggleV2_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; }, FullscreenToggleV2_extends.apply(null, arguments); }
46257
+ function FullscreenToggleV2_objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = FullscreenToggleV2_objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
46258
+ function FullscreenToggleV2_objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
46259
+
46260
+
46261
+
46262
+
46263
+
46264
+ function FullscreenToggleV2(_ref) {
46265
+ let {
46266
+ onFullscreenToggle
46267
+ } = _ref,
46268
+ rest = FullscreenToggleV2_objectWithoutProperties(_ref, FullscreenToggleV2_excluded);
46269
+ const isFullscreen = useFullscreen();
46270
+ const icon = isFullscreen ? __WEBPACK_EXTERNAL_MODULE__box_blueprint_web_assets_icons_Medium_ArrowsMinimize_35faab95_default__ : __WEBPACK_EXTERNAL_MODULE__box_blueprint_web_assets_icons_Medium_ArrowsMaximize_12b9ae40_default__;
46271
+ const label = isFullscreen ? FullscreenToggleV2_('exit_fullscreen') : FullscreenToggleV2_('enter_fullscreen');
46272
+ const handleClick = ({
46273
+ currentTarget
46274
+ }) => {
46275
+ onFullscreenToggle(!isFullscreen, currentTarget);
46276
+ };
46277
+ return /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Tooltip, {
46278
+ content: label
46279
+ }, /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Toolbar.Button, FullscreenToggleV2_extends({
46280
+ "aria-label": label,
46281
+ "data-resin-target": "fullscreen",
46282
+ onClick: handleClick
46283
+ }, rest), /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Toolbar.Icon, {
46284
+ icon: icon
46285
+ })));
46286
+ }
46287
+ ;// external "@box/blueprint-web-assets/icons/Medium/Minus"
46288
+
46289
+ ;// external "@box/blueprint-web-assets/icons/Medium/Plus"
46290
+
46291
+ ;// ./src/lib/viewers/controls/zoom/ZoomControlsV2.tsx
46292
+ /* provided dependency */ var ZoomControlsV2_ = __webpack_require__(441)["Tl"];
46293
+
46294
+
46295
+
46296
+
46297
+
46298
+
46299
+ function ZoomControlsV2({
46300
+ maxScale = MAX_SCALE,
46301
+ minScale = MIN_SCALE,
46302
+ onZoomIn,
46303
+ onZoomOut,
46304
+ resinTargetZoomIn = 'zoomIn',
46305
+ resinTargetZoomOut = 'zoomOut',
46306
+ scale = 1
46307
+ }) {
46308
+ const currentScale = Math.round((scale + Number.EPSILON) * 100) / 100;
46309
+ const maxScaleValue = isFinite_default()(maxScale) ? Math.min(maxScale, MAX_SCALE) : MAX_SCALE;
46310
+ const minScaleValue = isFinite_default()(minScale) ? Math.max(minScale, MIN_SCALE) : MIN_SCALE;
46311
+ return /*#__PURE__*/external_react_["default"].createElement(external_react_["default"].Fragment, null, /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Tooltip, {
46312
+ content: ZoomControlsV2_('zoom_out')
46313
+ }, /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Toolbar.Button, {
46314
+ "aria-label": ZoomControlsV2_('zoom_out'),
46315
+ "data-resin-target": resinTargetZoomOut,
46316
+ "data-testid": "bp-ZoomControls-out",
46317
+ disabled: currentScale <= minScaleValue,
46318
+ onClick: onZoomOut
46319
+ }, /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Toolbar.Icon, {
46320
+ icon: __WEBPACK_EXTERNAL_MODULE__box_blueprint_web_assets_icons_Medium_Minus_cc9df143_default__
46321
+ }))), /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Text, {
46322
+ as: "span",
46323
+ color: "textOnDarkDefault",
46324
+ "data-testid": "bp-ZoomControls-current",
46325
+ title: ZoomControlsV2_('zoom_current_scale'),
46326
+ variant: "bodyDefaultSemibold"
46327
+ }, `${Math.round(currentScale * 100)}%`), /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Tooltip, {
46328
+ content: ZoomControlsV2_('zoom_in')
46329
+ }, /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Toolbar.Button, {
46330
+ "aria-label": ZoomControlsV2_('zoom_in'),
46331
+ "data-resin-target": resinTargetZoomIn,
46332
+ "data-testid": "bp-ZoomControls-in",
46333
+ disabled: currentScale >= maxScaleValue,
46334
+ onClick: onZoomIn
46335
+ }, /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Toolbar.Icon, {
46336
+ icon: __WEBPACK_EXTERNAL_MODULE__box_blueprint_web_assets_icons_Medium_Plus_aaa7b14f_default__
46337
+ }))));
46338
+ }
46339
+ ;// ./src/lib/viewers/text/TextControlsV2.tsx
46340
+
46341
+
46342
+
46343
+
46344
+ function TextControlsV2({
46345
+ maxScale,
46346
+ minScale,
46347
+ onFullscreenToggle,
46348
+ onZoomIn,
46349
+ onZoomOut,
46350
+ scale
46351
+ }) {
46352
+ return /*#__PURE__*/external_react_["default"].createElement(controls_bar_ControlsBarV2, null, /*#__PURE__*/external_react_["default"].createElement(ZoomControlsV2, {
46353
+ maxScale: maxScale,
46354
+ minScale: minScale,
46355
+ onZoomIn: onZoomIn,
46356
+ onZoomOut: onZoomOut,
46357
+ scale: scale
46358
+ }), /*#__PURE__*/external_react_["default"].createElement(FullscreenToggleV2, {
46359
+ onFullscreenToggle: onFullscreenToggle
46360
+ }));
46361
+ }
46072
46362
  ;// ./src/lib/file.js
46073
46363
  function file_ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
46074
46364
  function file_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? file_ownKeys(Object(t), !0).forEach(function (r) { file_defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : file_ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
@@ -46393,6 +46683,7 @@ function canDownload(file, previewOptions) {
46393
46683
 
46394
46684
 
46395
46685
 
46686
+
46396
46687
  const ZOOM_DEFAULT = 1.0;
46397
46688
  const ZOOM_MAX = 10;
46398
46689
  const ZOOM_MIN = 0.1;
@@ -46634,7 +46925,8 @@ class TextBaseViewer extends viewers_BaseViewer {
46634
46925
  if (!this.controls) {
46635
46926
  return;
46636
46927
  }
46637
- this.controls.render(/*#__PURE__*/external_react_["default"].createElement(TextControls, {
46928
+ const Controls = this.featureEnabled(constants/* BLUEPRINT_MIGRATION_CONTROLS_BAR */.OQ) ? TextControlsV2 : TextControls;
46929
+ this.controls.render(/*#__PURE__*/external_react_["default"].createElement(Controls, {
46638
46930
  maxScale: ZOOM_MAX,
46639
46931
  minScale: ZOOM_MIN,
46640
46932
  onFullscreenToggle: this.toggleFullscreen,
@@ -46679,12 +46971,11 @@ class TextBaseViewer extends viewers_BaseViewer {
46679
46971
 
46680
46972
  // EXTERNAL MODULE: external "@box/blueprint-web-assets/tokens/tokens"
46681
46973
  var tokens_ = __webpack_require__(8380);
46682
- // EXTERNAL MODULE: external "@box/blueprint-web"
46683
- var blueprint_web_ = __webpack_require__(8912);
46684
46974
  ;// ./src/lib/PrintModal.scss
46685
46975
  // extracted by mini-css-extract-plugin
46686
46976
 
46687
46977
  ;// ./src/lib/PrintModal.tsx
46978
+ /* provided dependency */ var PrintModal_ = __webpack_require__(441)["Tl"];
46688
46979
  function PrintModal_extends() { return PrintModal_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; }, PrintModal_extends.apply(null, arguments); }
46689
46980
  function PrintModal_ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
46690
46981
  function PrintModal_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? PrintModal_ownKeys(Object(t), !0).forEach(function (r) { PrintModal_defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : PrintModal_ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
@@ -46720,7 +47011,7 @@ function PrintModal({
46720
47011
  "aria-describedby": messageId,
46721
47012
  container: container,
46722
47013
  size: "small"
46723
- }, /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Modal.Header, null, /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.VisuallyHidden, null, "Print")), /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Modal.ScrollableContainer, null, /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Modal.Body, {
47014
+ }, /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Modal.Header, null, /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.VisuallyHidden, null, PrintModal_('print'))), /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Modal.ScrollableContainer, null, /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Modal.Body, {
46724
47015
  className: "bp-PrintModal-body"
46725
47016
  }, /*#__PURE__*/external_react_["default"].createElement("div", {
46726
47017
  className: "bp-PrintModal-status"
@@ -46745,7 +47036,7 @@ function PrintModal({
46745
47036
  disabled: isButtonDisabled,
46746
47037
  onClick: onPrint
46747
47038
  }, buttonText)), /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Modal.Close, {
46748
- "aria-label": "Close print dialog",
47039
+ "aria-label": PrintModal_('print_close'),
46749
47040
  "data-target-id": "PrintModal-close"
46750
47041
  })));
46751
47042
  }
@@ -46875,6 +47166,7 @@ const print_checkmark_namespaceObject = "<svg width=\"16\" height=\"16\" viewBox
46875
47166
  // extracted by mini-css-extract-plugin
46876
47167
 
46877
47168
  ;// ./src/lib/viewers/text/PlainTextViewer.js
47169
+ /* provided dependency */ var PlainTextViewer_ = __webpack_require__(441)["Tl"];
46878
47170
  function PlainTextViewer_extends() { return PlainTextViewer_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; }, PlainTextViewer_extends.apply(null, arguments); }
46879
47171
  function PlainTextViewer_defineProperty(e, r, t) { return (r = PlainTextViewer_toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
46880
47172
  function PlainTextViewer_toPropertyKey(t) { var i = PlainTextViewer_toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
@@ -47019,7 +47311,7 @@ class PlainTextViewer extends text_TextBaseViewer {
47019
47311
  print() {
47020
47312
  if (!this.printReady) {
47021
47313
  this.preparePrint(this.getCSS().concat('preview.css'));
47022
- this.printPopup.show("Preparing to print...", "Print", () => {
47314
+ this.printPopup.show(PlainTextViewer_('print_loading'), PlainTextViewer_('print'), () => {
47023
47315
  this.printPopup.hide();
47024
47316
  this.printIframe();
47025
47317
  });
@@ -47178,11 +47470,11 @@ class PlainTextViewer extends text_TextBaseViewer {
47178
47470
  });
47179
47471
  setTimeout(() => {
47180
47472
  if (this.printPopup instanceof PrintModalRoot) {
47181
- this.printPopup.showReady("Ready to print.");
47473
+ this.printPopup.showReady(PlainTextViewer_('print_ready'));
47182
47474
  } else if (this.printPopup) {
47183
47475
  // Update popup UI to reflect that print is ready
47184
47476
  this.printPopup.enableButton();
47185
- this.printPopup.messageEl.textContent = "Ready to print.";
47477
+ this.printPopup.messageEl.textContent = PlainTextViewer_('print_ready');
47186
47478
  this.printPopup.loadingIndicator.classList.add(constants/* CLASS_HIDDEN */.zX);
47187
47479
  this.printPopup.printCheckmark.classList.remove(constants/* CLASS_HIDDEN */.zX);
47188
47480
  }
@@ -47215,10 +47507,10 @@ class PlainTextViewer extends text_TextBaseViewer {
47215
47507
  const truncatedEl = document.createElement('div');
47216
47508
  truncatedEl.classList.add('bp-text-truncated');
47217
47509
  const truncatedTextEl = document.createElement('p');
47218
- truncatedTextEl.textContent = "This file has been truncated due to size limits. Please download to view the whole file.";
47510
+ truncatedTextEl.textContent = PlainTextViewer_('text_truncated');
47219
47511
  const downloadBtnEl = document.createElement('button');
47220
47512
  downloadBtnEl.className = 'bp-btn bp-btn-primary bp-btn-download';
47221
- downloadBtnEl.textContent = "Download File";
47513
+ downloadBtnEl.textContent = PlainTextViewer_('download_file');
47222
47514
  truncatedEl.appendChild(truncatedTextEl);
47223
47515
  truncatedEl.appendChild(downloadBtnEl);
47224
47516
  this.textEl.appendChild(truncatedEl);
@@ -47247,10 +47539,23 @@ function MarkdownControls({
47247
47539
  onFullscreenToggle: onFullscreenToggle
47248
47540
  }));
47249
47541
  }
47542
+ ;// ./src/lib/viewers/text/MarkdownControlsV2.tsx
47543
+
47544
+
47545
+
47546
+ function MarkdownControlsV2({
47547
+ onFullscreenToggle
47548
+ }) {
47549
+ return /*#__PURE__*/external_react_["default"].createElement(controls_bar_ControlsBarV2, null, /*#__PURE__*/external_react_["default"].createElement(FullscreenToggleV2, {
47550
+ onFullscreenToggle: onFullscreenToggle
47551
+ }));
47552
+ }
47250
47553
  ;// ./src/lib/viewers/text/Markdown.scss
47251
47554
  // extracted by mini-css-extract-plugin
47252
47555
 
47253
47556
  ;// ./src/lib/viewers/text/MarkdownViewer.js
47557
+ /* provided dependency */ var MarkdownViewer_ = __webpack_require__(441)["Tl"];
47558
+
47254
47559
 
47255
47560
 
47256
47561
 
@@ -47304,7 +47609,7 @@ class MarkdownViewer extends text_PlainTextViewer {
47304
47609
  print() {
47305
47610
  if (!this.printReady) {
47306
47611
  this.preparePrint(this.getCSS().concat('preview.css'));
47307
- this.printPopup.show("Preparing to print...", "Print", () => {
47612
+ this.printPopup.show(MarkdownViewer_('print_loading'), MarkdownViewer_('print'), () => {
47308
47613
  this.printPopup.hide();
47309
47614
  this.printIframe();
47310
47615
  });
@@ -47339,7 +47644,8 @@ class MarkdownViewer extends text_PlainTextViewer {
47339
47644
  if (!this.controls) {
47340
47645
  return;
47341
47646
  }
47342
- this.controls.render(/*#__PURE__*/external_react_["default"].createElement(MarkdownControls, {
47647
+ const Controls = this.featureEnabled(constants/* BLUEPRINT_MIGRATION_CONTROLS_BAR */.OQ) ? MarkdownControlsV2 : MarkdownControls;
47648
+ this.controls.render(/*#__PURE__*/external_react_["default"].createElement(Controls, {
47343
47649
  onFullscreenToggle: this.toggleFullscreen
47344
47650
  }));
47345
47651
  }
@@ -47398,6 +47704,7 @@ class MarkdownViewer extends text_PlainTextViewer {
47398
47704
  // extracted by mini-css-extract-plugin
47399
47705
 
47400
47706
  ;// ./src/lib/viewers/text/CSVViewer.js
47707
+ /* provided dependency */ var CSVViewer_ = __webpack_require__(441)["Tl"];
47401
47708
  function CSVViewer_ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
47402
47709
  function CSVViewer_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? CSVViewer_ownKeys(Object(t), !0).forEach(function (r) { CSVViewer_defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : CSVViewer_ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
47403
47710
  function CSVViewer_defineProperty(e, r, t) { return (r = CSVViewer_toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
@@ -47412,7 +47719,7 @@ function CSVViewer_toPrimitive(t, r) { if ("object" != typeof t || !t) return t;
47412
47719
  const PAPAPARSE_JS = `third-party/text/${constants/* TEXT_STATIC_ASSETS_VERSION */.cR}/papaparse.min.js`;
47413
47720
  const npmBoxCSV = true ? (__webpack_require__(5920)/* ["default"] */ .A) : 0;
47414
47721
  function viewerScripts() {
47415
- return isNpmBuild() ? [PAPAPARSE_JS] : [PAPAPARSE_JS, 'csv.js'];
47722
+ return (0,isNpmBuild/* isNpmBuild */.w)() ? [PAPAPARSE_JS] : [PAPAPARSE_JS, 'csv.js'];
47416
47723
  }
47417
47724
  const PAPAPARSE_ERROR_TYPES = {
47418
47725
  DELIMITER: 'Delimiter',
@@ -47471,7 +47778,7 @@ class CSVViewer extends text_TextBaseViewer {
47471
47778
  Papa.parse(url, {
47472
47779
  download: true,
47473
47780
  error: (err, file, inputElem, reason) => {
47474
- const error = new PreviewError/* default */.A(lib_events/* ERROR_CODE */.bo.LOAD_CSV, "This preview didn’t load. Please try to open or download the file to view.", {
47781
+ const error = new PreviewError/* default */.A(lib_events/* ERROR_CODE */.bo.LOAD_CSV, CSVViewer_('error_refresh'), {
47475
47782
  reason
47476
47783
  });
47477
47784
  this.handleDownloadError(error, url);
@@ -48016,6 +48323,7 @@ const arrow_left_24px_namespaceObject = "<svg fill=\"#999EA4\" height=\"24\" vie
48016
48323
  ;// ./src/lib/icons/checkmark_24px.svg
48017
48324
  const checkmark_24px_namespaceObject = "<svg fill=\"#22A7F0\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" focusable=\"false\">\n <path d=\"M0 0h24v24H0z\" fill=\"none\"/>\n <path d=\"M9 16.2L4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4L9 16.2z\"/>\n</svg>\n";
48018
48325
  ;// ./src/lib/viewers/media/Settings.js
48326
+ /* provided dependency */ var Settings_ = __webpack_require__(441)["Tl"];
48019
48327
  function Settings_defineProperty(e, r, t) { return (r = Settings_toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
48020
48328
  function Settings_toPropertyKey(t) { var i = Settings_toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
48021
48329
  function Settings_toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
@@ -48045,30 +48353,30 @@ const MEDIA_QUALITY_AUTO = 'auto';
48045
48353
  const SETTINGS_MENU_PADDING = 18;
48046
48354
  const SETTINGS_MENU_PADDING_SCROLL = 32;
48047
48355
  const SETTINGS_MENU_MAX_HEIGHT = 210;
48048
- const SETTINGS_TEMPLATE = `<div class="bp-media-settings" data-testid="bp-settings-flyout">
48356
+ const getSettingsTemplate = () => `<div class="bp-media-settings" data-testid="bp-settings-flyout">
48049
48357
  <div class="bp-media-settings-menu-main bp-media-settings-menu" role="menu">
48050
48358
  <div class="bp-media-settings-item bp-media-settings-item-autoplay" data-testid="bp-media-settings-autoplay" data-type="autoplay" tabindex="0" role="menuitem" aria-haspopup="true">
48051
- <div class="bp-media-settings-label" aria-label="${"Autoplay"}">${"Autoplay"}</div>
48052
- <div class="bp-media-settings-value">${"Disabled"}</div>
48359
+ <div class="bp-media-settings-label" aria-label="${Settings_('media_autoplay')}">${Settings_('media_autoplay')}</div>
48360
+ <div class="bp-media-settings-value">${Settings_('media_autoplay_disabled')}</div>
48053
48361
  <div class="bp-media-settings-arrow">${arrow_right_24px_namespaceObject}</div>
48054
48362
  </div>
48055
48363
  <div class="bp-media-settings-item bp-media-settings-item-speed" data-testid="bp-media-settings-speed" data-type="speed" tabindex="0" role="menuitem" aria-haspopup="true">
48056
- <div class="bp-media-settings-label" aria-label="${"Speed"}">${"Speed"}</div>
48057
- <div class="bp-media-settings-value">${"Normal"}</div>
48364
+ <div class="bp-media-settings-label" aria-label="${Settings_('media_speed')}">${Settings_('media_speed')}</div>
48365
+ <div class="bp-media-settings-value">${Settings_('media_speed_normal')}</div>
48058
48366
  <div class="bp-media-settings-arrow">${arrow_right_24px_namespaceObject}</div>
48059
48367
  </div>
48060
48368
  <div class="bp-media-settings-item bp-media-settings-item-quality" data-testid="bp-media-settings-quality" data-type="quality" tabindex="0" role="menuitem" aria-haspopup="true">
48061
- <div class="bp-media-settings-label" aria-label="${"Quality"}">${"Quality"}</div>
48062
- <div class="bp-media-settings-value">${"Auto"}</div>
48369
+ <div class="bp-media-settings-label" aria-label="${Settings_('media_quality')}">${Settings_('media_quality')}</div>
48370
+ <div class="bp-media-settings-value">${Settings_('media_quality_auto')}</div>
48063
48371
  <div class="bp-media-settings-arrow">${arrow_right_24px_namespaceObject}</div>
48064
48372
  </div>
48065
48373
  <div class="bp-media-settings-item bp-media-settings-item-subtitles bp-media-settings-is-hidden" data-testid="bp-media-settings-subtitles" data-type="subtitles" tabindex="0" role="menuitem" aria-haspopup="true">
48066
- <div class="bp-media-settings-label" aria-label="${"Subtitles"}/CC">${"Subtitles"}/CC</div>
48067
- <div class="bp-media-settings-value">${"Off"}</div>
48374
+ <div class="bp-media-settings-label" aria-label="${Settings_('subtitles')}/CC">${Settings_('subtitles')}/CC</div>
48375
+ <div class="bp-media-settings-value">${Settings_('off')}</div>
48068
48376
  <div class="bp-media-settings-arrow">${arrow_right_24px_namespaceObject}</div>
48069
48377
  </div>
48070
48378
  <div class="bp-media-settings-item bp-media-settings-item-audiotracks bp-media-settings-is-hidden" data-testid="bp-media-settings-audiotracks" data-type="audiotracks" tabindex="0" role="menuitem" aria-haspopup="true">
48071
- <div class="bp-media-settings-label" aria-label="${"Audio"}">${"Audio"}</div>
48379
+ <div class="bp-media-settings-label" aria-label="${Settings_('media_audio')}">${Settings_('media_audio')}</div>
48072
48380
  <div class="bp-media-settings-value"></div>
48073
48381
  <div class="bp-media-settings-arrow">${arrow_right_24px_namespaceObject}</div>
48074
48382
  </div>
@@ -48076,21 +48384,21 @@ const SETTINGS_TEMPLATE = `<div class="bp-media-settings" data-testid="bp-settin
48076
48384
  <div class="bp-media-settings-menu-autoplay bp-media-settings-menu" role="menu">
48077
48385
  <div class="bp-media-settings-sub-item bp-media-settings-sub-item-autoplay" data-type="menu" tabindex="0" role="menuitem" aria-haspopup="true">
48078
48386
  <div class="bp-media-settings-arrow">${arrow_left_24px_namespaceObject}</div>
48079
- <div class="bp-media-settings-label" aria-label="${"Autoplay"}">${"Autoplay"}</div>
48387
+ <div class="bp-media-settings-label" aria-label="${Settings_('media_autoplay')}">${Settings_('media_autoplay')}</div>
48080
48388
  </div>
48081
48389
  <div class="bp-media-settings-sub-item" data-type="autoplay" data-value="Disabled" tabindex="0" role="menuitemradio">
48082
48390
  <div class="bp-media-settings-icon">${checkmark_24px_namespaceObject}</div>
48083
- <div class="bp-media-settings-value">${"Disabled"}</div>
48391
+ <div class="bp-media-settings-value">${Settings_('media_autoplay_disabled')}</div>
48084
48392
  </div>
48085
48393
  <div class="bp-media-settings-sub-item" data-type="autoplay" data-value="Enabled" tabindex="0" role="menuitemradio">
48086
48394
  <div class="bp-media-settings-icon">${checkmark_24px_namespaceObject}</div>
48087
- <div class="bp-media-settings-value">${"Enabled"}</div>
48395
+ <div class="bp-media-settings-value">${Settings_('media_autoplay_enabled')}</div>
48088
48396
  </div>
48089
48397
  </div>
48090
48398
  <div class="bp-media-settings-menu-speed bp-media-settings-menu" role="menu">
48091
48399
  <div class="bp-media-settings-sub-item bp-media-settings-sub-item-speed" data-type="menu" tabindex="0" role="menuitem" aria-haspopup="true">
48092
48400
  <div class="bp-media-settings-arrow">${arrow_left_24px_namespaceObject}</div>
48093
- <div class="bp-media-settings-label" aria-label="${"Speed"}">${"Speed"}</div>
48401
+ <div class="bp-media-settings-label" aria-label="${Settings_('media_speed')}">${Settings_('media_speed')}</div>
48094
48402
  </div>
48095
48403
  <div class="bp-media-settings-sub-item" data-type="speed" data-value="0.5" tabindex="0" role="menuitemradio">
48096
48404
  <div class="bp-media-settings-icon">${checkmark_24px_namespaceObject}</div>
@@ -48098,7 +48406,7 @@ const SETTINGS_TEMPLATE = `<div class="bp-media-settings" data-testid="bp-settin
48098
48406
  </div>
48099
48407
  <div class="bp-media-settings-sub-item bp-media-settings-selected" data-type="speed" data-value="1.0" tabindex="0" role="menuitemradio" aria-checked="true">
48100
48408
  <div class="bp-media-settings-icon">${checkmark_24px_namespaceObject}</div>
48101
- <div class="bp-media-settings-value">${"Normal"}</div>
48409
+ <div class="bp-media-settings-value">${Settings_('media_speed_normal')}</div>
48102
48410
  </div>
48103
48411
  <div class="bp-media-settings-sub-item" data-type="speed" data-value="1.25" tabindex="0" role="menuitemradio">
48104
48412
  <div class="bp-media-settings-icon">${checkmark_24px_namespaceObject}</div>
@@ -48116,7 +48424,7 @@ const SETTINGS_TEMPLATE = `<div class="bp-media-settings" data-testid="bp-settin
48116
48424
  <div class="bp-media-settings-menu-quality bp-media-settings-menu bp-media-settings-is-hidden" data-disabled="true" role="menu">
48117
48425
  <div class="bp-media-settings-sub-item bp-media-settings-sub-item-quality" data-type="menu" tabindex="0" role="menuitem" aria-haspopup="true">
48118
48426
  <div class="bp-media-settings-arrow">${arrow_left_24px_namespaceObject}</div>
48119
- <div class="bp-media-settings-label" aria-label="${"Quality"}">${"Quality"}</div>
48427
+ <div class="bp-media-settings-label" aria-label="${Settings_('media_quality')}">${Settings_('media_quality')}</div>
48120
48428
  </div>
48121
48429
  <div class="bp-media-settings-sub-item" data-type="quality" data-value=${MEDIA_QUALITY_SD} tabindex="0" role="menuitemradio">
48122
48430
  <div class="bp-media-settings-icon">${checkmark_24px_namespaceObject}</div>
@@ -48128,23 +48436,23 @@ const SETTINGS_TEMPLATE = `<div class="bp-media-settings" data-testid="bp-settin
48128
48436
  </div>
48129
48437
  <div class="bp-media-settings-sub-item bp-media-settings-selected" data-type="quality" data-value=${MEDIA_QUALITY_AUTO} tabindex="0" role="menuitemradio" aria-checked="true">
48130
48438
  <div class="bp-media-settings-icon">${checkmark_24px_namespaceObject}</div>
48131
- <div class="bp-media-settings-value">${"Auto"}</div>
48439
+ <div class="bp-media-settings-value">${Settings_('media_quality_auto')}</div>
48132
48440
  </div>
48133
48441
  </div>
48134
48442
  <div class="bp-media-settings-menu-subtitles bp-media-settings-menu bp-media-settings-is-hidden" role="menu">
48135
48443
  <div class="bp-media-settings-sub-item bp-media-settings-sub-item-subtitles" data-type="menu" tabindex="0" role="menuitem" aria-haspopup="true">
48136
48444
  <div class="bp-media-settings-arrow">${arrow_left_24px_namespaceObject}</div>
48137
- <div class="bp-media-settings-label" aria-label="${"Subtitles"}/CC">${"Subtitles"}/CC</div>
48445
+ <div class="bp-media-settings-label" aria-label="${Settings_('subtitles')}/CC">${Settings_('subtitles')}/CC</div>
48138
48446
  </div>
48139
48447
  <div class="bp-media-settings-sub-item bp-media-settings-selected" data-type="subtitles" data-value="-1" tabindex="0" role="menuitemradio" aria-checked="true">
48140
48448
  <div class="bp-media-settings-icon">${checkmark_24px_namespaceObject}</div>
48141
- <div class="bp-media-settings-value">${"Off"}</div>
48449
+ <div class="bp-media-settings-value">${Settings_('off')}</div>
48142
48450
  </div>
48143
48451
  </div>
48144
48452
  <div class="bp-media-settings-menu-audiotracks bp-media-settings-menu bp-media-settings-is-hidden" role="menu">
48145
48453
  <div class="bp-media-settings-sub-item bp-media-settings-sub-item-audiotracks" data-type="menu" tabindex="0" role="menuitem" aria-haspopup="true">
48146
48454
  <div class="bp-media-settings-arrow">${arrow_left_24px_namespaceObject}</div>
48147
- <div class="bp-media-settings-label" aria-label="${"Audio"}">${"Audio"}</div>
48455
+ <div class="bp-media-settings-label" aria-label="${Settings_('media_audio')}">${Settings_('media_audio')}</div>
48148
48456
  </div>
48149
48457
  </div>
48150
48458
  </div>`;
@@ -48189,7 +48497,7 @@ class Settings extends (events_default()) {
48189
48497
  this.handleTransitionEnd = this.handleTransitionEnd.bind(this);
48190
48498
  this.blurHandler = this.blurHandler.bind(this);
48191
48499
  this.menuEventHandler = this.menuEventHandler.bind(this);
48192
- (0,util/* insertTemplate */.mx)(this.containerEl, SETTINGS_TEMPLATE, containerEl.querySelector('.bp-media-controls-wrapper'));
48500
+ (0,util/* insertTemplate */.mx)(this.containerEl, getSettingsTemplate(), containerEl.querySelector('.bp-media-controls-wrapper'));
48193
48501
  this.settingsEl = this.containerEl.querySelector('.bp-media-settings');
48194
48502
  this.firstMenuItem = this.settingsEl.querySelectorAll('.bp-media-settings-item')[0];
48195
48503
  this.settingsButtonEl = this.containerEl.querySelector('.bp-media-gear-icon');
@@ -48712,7 +49020,7 @@ class Settings extends (events_default()) {
48712
49020
  const trackNode = audioTracksSubMenu.lastChild.querySelector('.bp-media-settings-value');
48713
49021
  // It's common for the language to be unknown and show up as "und" language code. Just omit
48714
49022
  // the language in this case, otherwise display the language too
48715
- let textContent = `${"Track"} ${idx + 1}`;
49023
+ let textContent = `${Settings_('track')} ${idx + 1}`;
48716
49024
  if (language !== 'und') {
48717
49025
  textContent = `${textContent} (${language})`;
48718
49026
  }
@@ -48742,6 +49050,7 @@ class Settings extends (events_default()) {
48742
49050
  }
48743
49051
  /* harmony default export */ const media_Settings = (Settings);
48744
49052
  ;// ./src/lib/viewers/media/MediaControls.js
49053
+ /* provided dependency */ var MediaControls_ = __webpack_require__(441)["Tl"];
48745
49054
 
48746
49055
 
48747
49056
 
@@ -48776,17 +49085,17 @@ class MediaControls extends (events_default()) {
48776
49085
  this.volScrubberEl = this.wrapperEl.querySelector('.bp-media-volume-scrubber-container');
48777
49086
  this.volScrubberWrapperEl = this.wrapperEl.querySelector('.bp-media-volume-scrubber-container-wrapper');
48778
49087
  this.playButtonEl = this.wrapperEl.querySelector('.bp-media-playpause-icon');
48779
- this.setLabel(this.playButtonEl, "Play");
49088
+ this.setLabel(this.playButtonEl, MediaControls_('media_play'));
48780
49089
  this.volButtonEl = this.wrapperEl.querySelector('.bp-media-volume-icon');
48781
- this.setLabel(this.volButtonEl, "Mute");
49090
+ this.setLabel(this.volButtonEl, MediaControls_('media_mute'));
48782
49091
  this.timecodeEl = this.wrapperEl.querySelector('.bp-media-controls-timecode');
48783
49092
  this.durationEl = this.wrapperEl.querySelector('.bp-media-controls-duration');
48784
49093
  this.fullscreenButtonEl = this.wrapperEl.querySelector('.bp-media-fullscreen-icon');
48785
- this.setLabel(this.fullscreenButtonEl, "Enter fullscreen");
49094
+ this.setLabel(this.fullscreenButtonEl, MediaControls_('enter_fullscreen'));
48786
49095
  this.settingsButtonEl = this.wrapperEl.querySelector('.bp-media-gear-icon');
48787
- this.setLabel(this.settingsButtonEl, "Settings");
49096
+ this.setLabel(this.settingsButtonEl, MediaControls_('media_settings'));
48788
49097
  this.subtitlesButtonEl = this.wrapperEl.querySelector('.bp-media-cc-icon');
48789
- this.setLabel(this.subtitlesButtonEl, "Subtitles/Closed Captions");
49098
+ this.setLabel(this.subtitlesButtonEl, MediaControls_('media_subtitles_cc'));
48790
49099
 
48791
49100
  // Bind context for callbacks
48792
49101
  this.mouseenterHandler = this.mouseenterHandler.bind(this);
@@ -48944,7 +49253,7 @@ class MediaControls extends (events_default()) {
48944
49253
  * @return {void}
48945
49254
  */
48946
49255
  handleFullscreenEnter() {
48947
- this.setLabel(this.fullscreenButtonEl, "Exit fullscreen");
49256
+ this.setLabel(this.fullscreenButtonEl, MediaControls_('exit_fullscreen'));
48948
49257
  this.containerEl.classList.add('bp-is-fullscreen');
48949
49258
  }
48950
49259
 
@@ -48954,7 +49263,7 @@ class MediaControls extends (events_default()) {
48954
49263
  * @return {void}
48955
49264
  */
48956
49265
  handleFullscreenExit() {
48957
- this.setLabel(this.fullscreenButtonEl, "Enter fullscreen");
49266
+ this.setLabel(this.fullscreenButtonEl, MediaControls_('enter_fullscreen'));
48958
49267
  this.containerEl.classList.remove('bp-is-fullscreen');
48959
49268
  }
48960
49269
 
@@ -48988,12 +49297,12 @@ class MediaControls extends (events_default()) {
48988
49297
  * @return {void}
48989
49298
  */
48990
49299
  setupScrubbers() {
48991
- this.timeScrubber = new media_Scrubber(this.timeScrubberEl, "Media Slider", 0, Math.floor(this.mediaEl.duration), 0, 0, 1);
49300
+ this.timeScrubber = new media_Scrubber(this.timeScrubberEl, MediaControls_('media_time_slider'), 0, Math.floor(this.mediaEl.duration), 0, 0, 1);
48992
49301
  this.setTimeCode(this.mediaEl.currentTime || 0); // This also sets the aria values
48993
49302
  this.timeScrubber.on('valuechange', () => {
48994
49303
  this.emit('timeupdate', this.getTimeFromScrubber());
48995
49304
  });
48996
- this.volScrubber = new media_Scrubber(this.volScrubberEl, "Volume Slider", 0, 100, 1, 1, 1);
49305
+ this.volScrubber = new media_Scrubber(this.volScrubberEl, MediaControls_('media_volume_slider'), 0, 100, 1, 1, 1);
48997
49306
  this.volScrubber.setAriaValues(100, '100% Volume');
48998
49307
  this.volScrubber.on('valuechange', () => {
48999
49308
  this.emit('volumeupdate', this.volScrubber.getValue());
@@ -49043,7 +49352,7 @@ class MediaControls extends (events_default()) {
49043
49352
  } = this.mediaEl;
49044
49353
  this.timeScrubber.setValue(duration ? (time || 0) / duration : 0);
49045
49354
  this.timecodeEl.textContent = this.formatTime(time || 0);
49046
- this.timeScrubber.setAriaValues(Math.floor(time), `${this.timecodeEl.textContent} ${"of"} ${this.durationEl.textContent}`);
49355
+ this.timeScrubber.setAriaValues(Math.floor(time), `${this.timecodeEl.textContent} ${MediaControls_('of')} ${this.durationEl.textContent}`);
49047
49356
  }
49048
49357
 
49049
49358
  /**
@@ -49148,7 +49457,7 @@ class MediaControls extends (events_default()) {
49148
49457
  */
49149
49458
  showPauseIcon() {
49150
49459
  this.wrapperEl.classList.add(PLAYING_CLASS);
49151
- this.setLabel(this.playButtonEl, "Pause");
49460
+ this.setLabel(this.playButtonEl, MediaControls_('media_pause'));
49152
49461
  }
49153
49462
 
49154
49463
  /**
@@ -49159,7 +49468,7 @@ class MediaControls extends (events_default()) {
49159
49468
  */
49160
49469
  showPlayIcon() {
49161
49470
  this.wrapperEl.classList.remove(PLAYING_CLASS);
49162
- this.setLabel(this.playButtonEl, "Play");
49471
+ this.setLabel(this.playButtonEl, MediaControls_('media_play'));
49163
49472
  }
49164
49473
 
49165
49474
  /**
@@ -49175,8 +49484,8 @@ class MediaControls extends (events_default()) {
49175
49484
  this.volButtonEl.classList.add(VOLUME_LEVEL_CLASS_NAMES[Math.ceil(volume * 3)]);
49176
49485
  this.volScrubber.setValue(volume);
49177
49486
  const percentage = Math.floor(volume * 100);
49178
- this.volScrubber.setAriaValues(percentage, `${percentage}% ${"Volume"}`);
49179
- const muteTitle = Math.ceil(volume * 3) === 0 ? "Unmute" : "Mute";
49487
+ this.volScrubber.setAriaValues(percentage, `${percentage}% ${MediaControls_('volume')}`);
49488
+ const muteTitle = Math.ceil(volume * 3) === 0 ? MediaControls_('media_unmute') : MediaControls_('media_mute');
49180
49489
  this.setLabel(this.volButtonEl, muteTitle);
49181
49490
  }
49182
49491
 
@@ -49660,6 +49969,7 @@ class MediaControls extends (events_default()) {
49660
49969
  }
49661
49970
  /* harmony default export */ const media_MediaControls = (MediaControls);
49662
49971
  ;// ./src/lib/viewers/media/MediaBaseViewer.js
49972
+ /* provided dependency */ var MediaBaseViewer_ = __webpack_require__(441)["Tl"];
49663
49973
  function MediaBaseViewer_defineProperty(e, r, t) { return (r = MediaBaseViewer_toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
49664
49974
  function MediaBaseViewer_toPropertyKey(t) { var i = MediaBaseViewer_toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
49665
49975
  function MediaBaseViewer_toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
@@ -50034,7 +50344,7 @@ class MediaBaseViewer extends viewers_BaseViewer {
50034
50344
  error_code: errorCode,
50035
50345
  error_message: errorMessage
50036
50346
  } : {};
50037
- const error = new PreviewError/* default */.A(lib_events/* ERROR_CODE */.bo.LOAD_MEDIA, "This preview didn’t load. Please try to open or download the file to view.", errorDetails);
50347
+ const error = new PreviewError/* default */.A(lib_events/* ERROR_CODE */.bo.LOAD_MEDIA, MediaBaseViewer_('error_refresh'), errorDetails);
50038
50348
  if (this.handleExpiredTokenError(error)) {
50039
50349
  return;
50040
50350
  }
@@ -51057,6 +51367,7 @@ var SliderControl = __webpack_require__(4937);
51057
51367
  // extracted by mini-css-extract-plugin
51058
51368
 
51059
51369
  ;// ./src/lib/viewers/controls/media/TimeControls.tsx
51370
+ /* provided dependency */ var TimeControls_ = __webpack_require__(441)["Tl"];
51060
51371
 
51061
51372
 
51062
51373
 
@@ -51126,7 +51437,7 @@ function TimeControls({
51126
51437
  onMove: handleMouseMove,
51127
51438
  onUpdate: onTimeChange,
51128
51439
  step: fps ? 1 / fps : 5,
51129
- title: "Media Slider",
51440
+ title: TimeControls_('media_time_slider'),
51130
51441
  track: `linear-gradient(to right, ${__WEBPACK_EXTERNAL_MODULE_box_ui_elements_es_styles_variables_c815ce80_bdlBoxBlue__} ${currentPercentage}%, ${__WEBPACK_EXTERNAL_MODULE_box_ui_elements_es_styles_variables_c815ce80_white__} ${currentPercentage}%, ${__WEBPACK_EXTERNAL_MODULE_box_ui_elements_es_styles_variables_c815ce80_white__} ${bufferedPercentage}%, ${__WEBPACK_EXTERNAL_MODULE_box_ui_elements_es_styles_variables_c815ce80_bdlGray65__} ${bufferedPercentage}%, ${__WEBPACK_EXTERNAL_MODULE_box_ui_elements_es_styles_variables_c815ce80_bdlGray65__} 100%)`,
51131
51442
  value: currentValue
51132
51443
  }));
@@ -52661,6 +52972,8 @@ var play_48px = __webpack_require__(3493);
52661
52972
  const arrow_curved_back_24px_namespaceObject = "<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M12.707 2.29346C12.3165 1.90293 11.6835 1.90293 11.293 2.29346L8.64648 4.93994C8.06097 5.52574 8.06083 6.47534 8.64648 7.06104L11.293 9.70752C11.6834 10.0976 12.3166 10.0976 12.707 9.70752C13.0974 9.3171 13.0972 8.68399 12.707 8.29346L11.4131 6.99951H12C15.3136 6.99951 17.9998 9.68597 18 12.9995C18 16.3132 15.3137 18.9995 12 18.9995C10.7239 18.9995 9.54372 18.6019 8.57227 17.9243C8.11945 17.6086 7.49569 17.7198 7.17969 18.1724C6.8638 18.6252 6.97502 19.2489 7.42773 19.5649C8.72394 20.4691 10.3016 20.9995 12 20.9995C16.4183 20.9995 20 17.4178 20 12.9995C19.9998 8.5814 16.4182 4.99951 12 4.99951H11.415L12.707 3.70752C13.0975 3.31707 13.0973 2.684 12.707 2.29346ZM3.2793 8.99951C2.67882 8.99951 2.32725 9.26833 2.27832 9.9126L2.09277 12.3882V12.4126C2.06348 12.8862 2.33203 13.2964 2.92285 13.2964C3.31348 13.2964 3.49414 13.2085 3.76758 12.9692C3.99217 12.7691 4.29991 12.5933 4.68555 12.5933C5.35925 12.5933 5.83283 13.0476 5.83301 13.6919C5.83301 14.3511 5.33984 14.8394 4.6709 14.8394C4.10449 14.8394 3.7627 14.5708 3.48926 14.1606C3.27447 13.8923 3.05948 13.7798 2.72266 13.7798C2.26868 13.7798 2.00015 14.0437 2 14.4829C2 14.6537 2.04404 14.8199 2.12207 14.9761C2.4834 15.6938 3.51855 16.2212 4.68555 16.2212C6.36035 16.2212 7.52246 15.2007 7.52246 13.6528C7.52229 12.3151 6.56531 11.3774 5.23242 11.3774C4.49526 11.3774 3.92389 11.6852 3.65039 12.1489H3.61621L3.75293 10.3765H6.44824C6.87793 10.3765 7.15137 10.1079 7.15137 9.68799C7.15121 9.26828 6.87292 8.99951 6.44824 8.99951H3.2793Z\" fill=\"white\"/>\n</svg>\n";
52662
52973
  ;// ./src/lib/icons/arrow_curved_forward_24px.svg
52663
52974
  const arrow_curved_forward_24px_namespaceObject = "<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M11.293 2.29346C11.6835 1.90293 12.3165 1.90293 12.707 2.29346L15.3535 4.93994C15.939 5.52574 15.9392 6.47535 15.3535 7.06104L12.707 9.70752C12.3166 10.0976 11.6834 10.0976 11.293 9.70752C10.9026 9.31711 10.9028 8.684 11.293 8.29346L12.5869 6.99951H12C8.68642 6.99951 6.00021 9.68598 6 12.9995C6 16.3132 8.68629 18.9995 12 18.9995C13.2761 18.9995 14.4563 18.6019 15.4277 17.9243C15.8805 17.6086 16.5043 17.7198 16.8203 18.1724C17.1362 18.6252 17.025 19.2489 16.5723 19.5649C15.2761 20.4691 13.6984 20.9995 12 20.9995C7.58172 20.9995 4 17.4178 4 12.9995C4.00021 8.58141 7.58185 4.99951 12 4.99951H12.585L11.293 3.70752C10.9025 3.31708 10.9027 2.684 11.293 2.29346ZM20.9258 8.99951C21.3505 8.99951 21.6287 9.26828 21.6289 9.68799C21.6289 10.1079 21.3555 10.3765 20.9258 10.3765H18.2305L18.0938 12.1489H18.1279C18.4014 11.6852 18.9728 11.3774 19.71 11.3774C21.0428 11.3774 21.9998 12.3151 22 13.6528C22 15.2007 20.8379 16.2212 19.1631 16.2212C17.9961 16.2212 16.9609 15.6938 16.5996 14.9761C16.5216 14.8199 16.4775 14.6537 16.4775 14.4829C16.4777 14.0437 16.7462 13.7798 17.2002 13.7798C17.537 13.7798 17.752 13.8923 17.9668 14.1606C18.2402 14.5708 18.582 14.8394 19.1484 14.8394C19.8174 14.8394 20.3105 14.3511 20.3105 13.6919C20.3104 13.0476 19.8368 12.5933 19.1631 12.5933C18.7774 12.5933 18.4697 12.7691 18.2451 12.9692C17.9717 13.2085 17.791 13.2964 17.4004 13.2964C16.8096 13.2964 16.541 12.8862 16.5703 12.4126V12.3882L16.7559 9.9126C16.8048 9.26833 17.1564 8.99951 17.7568 8.99951H20.9258Z\" fill=\"white\"/>\n</svg>\n";
52975
+ // EXTERNAL MODULE: ./src/lib/viewers/controls/media/MediaLoadingIndicator.tsx + 1 modules
52976
+ var MediaLoadingIndicator = __webpack_require__(4301);
52664
52977
  // EXTERNAL MODULE: ./src/lib/viewers/controls/media/PlayOverlayIcon.tsx
52665
52978
  var PlayOverlayIcon = __webpack_require__(2048);
52666
52979
  // EXTERNAL MODULE: ./src/lib/viewers/controls/media/utils.ts
@@ -52702,6 +53015,7 @@ function fitFrameToViewport(aspectRatio, viewport = {}) {
52702
53015
  };
52703
53016
  }
52704
53017
  ;// ./src/lib/viewers/media/VideoPreloader.js
53018
+ /* provided dependency */ var VideoPreloader_ = __webpack_require__(441)["Tl"];
52705
53019
  function VideoPreloader_defineProperty(e, r, t) { return (r = VideoPreloader_toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
52706
53020
  function VideoPreloader_toPropertyKey(t) { var i = VideoPreloader_toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
52707
53021
  function VideoPreloader_toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
@@ -52717,6 +53031,7 @@ function VideoPreloader_toPrimitive(t, r) { if ("object" != typeof t || !t) retu
52717
53031
 
52718
53032
 
52719
53033
 
53034
+
52720
53035
  class VideoPreloader extends (events_default()) {
52721
53036
  /**
52722
53037
  * [constructor]
@@ -52753,6 +53068,8 @@ class VideoPreloader extends (events_default()) {
52753
53068
  VideoPreloader_defineProperty(this, "showPreloadPromise", null);
52754
53069
  /** @property {Root|undefined} - React root for the Blueprint play overlay */
52755
53070
  VideoPreloader_defineProperty(this, "playOverlayRoot", void 0);
53071
+ /** @property {Root|undefined} - React root for the Blueprint loading indicator */
53072
+ VideoPreloader_defineProperty(this, "loadingRoot", void 0);
52756
53073
  /**
52757
53074
  * Cleans up preload DOM.
52758
53075
  *
@@ -52761,6 +53078,10 @@ class VideoPreloader extends (events_default()) {
52761
53078
  */
52762
53079
  VideoPreloader_defineProperty(this, "cleanupPreload", () => {
52763
53080
  this.unmountBlueprintPlayOverlay();
53081
+ if (this.loadingRoot) {
53082
+ this.loadingRoot.unmount();
53083
+ this.loadingRoot = undefined;
53084
+ }
52764
53085
  if (this.wrapperEl) {
52765
53086
  if (this.wrapperEl.parentNode) {
52766
53087
  this.wrapperEl.parentNode.removeChild(this.wrapperEl);
@@ -52953,9 +53274,9 @@ class VideoPreloader extends (events_default()) {
52953
53274
  this.playOverlayRoot.render(/*#__PURE__*/external_react_["default"].createElement(BlueprintProviders/* default */.A, {
52954
53275
  container: this.preloadOptions.portalContainer
52955
53276
  }, /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Tooltip, {
52956
- content: "Play"
53277
+ content: VideoPreloader_('media_play')
52957
53278
  }, /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.IconButton, {
52958
- "aria-label": "Play",
53279
+ "aria-label": VideoPreloader_('media_play'),
52959
53280
  className: "bp-video-preload-play-button",
52960
53281
  "data-resin-target": "playOverlay",
52961
53282
  "data-target-id": "VideoPreloader-play",
@@ -53064,7 +53385,12 @@ class VideoPreloader extends (events_default()) {
53064
53385
  this.imageClickHandler = undefined;
53065
53386
  }
53066
53387
  this.wrapperEl.style.cursor = '';
53067
- if (this.placeholderEl) {
53388
+ if (this.placeholderEl && this.preloadOptions?.isBlueprintEnabled) {
53389
+ if (!this.loadingRoot) {
53390
+ this.loadingRoot = (0,client_.createRoot)(this.placeholderEl.appendChild(document.createElement('div')));
53391
+ this.loadingRoot.render(/*#__PURE__*/external_react_["default"].createElement(MediaLoadingIndicator/* default */.A, null));
53392
+ }
53393
+ } else if (this.placeholderEl) {
53068
53394
  const spinner = document.createElement('div');
53069
53395
  spinner.className = 'bp-media-buffering-spinner';
53070
53396
  this.placeholderEl.appendChild(spinner);
@@ -53249,6 +53575,7 @@ class VideoPreloader extends (events_default()) {
53249
53575
  }
53250
53576
  /* harmony default export */ const media_VideoPreloader = (VideoPreloader);
53251
53577
  ;// ./src/lib/viewers/media/VideoBaseViewer.js
53578
+ /* provided dependency */ var VideoBaseViewer_ = __webpack_require__(441)["Tl"];
53252
53579
  function VideoBaseViewer_defineProperty(e, r, t) { return (r = VideoBaseViewer_toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
53253
53580
  function VideoBaseViewer_toPropertyKey(t) { var i = VideoBaseViewer_toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
53254
53581
  function VideoBaseViewer_toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
@@ -53264,13 +53591,16 @@ function VideoBaseViewer_toPrimitive(t, r) { if ("object" != typeof t || !t) ret
53264
53591
 
53265
53592
 
53266
53593
 
53594
+
53595
+
53596
+
53267
53597
  const MOUSE_MOVE_TIMEOUT_IN_MILLIS = 1000;
53268
53598
  const CLASS_PLAY_BUTTON = 'bp-media-play-button';
53269
53599
  const CLASS_PLAY_CONTAINER = 'bp-media-overlay-play-container';
53270
53600
  const CLASS_PLAY_CONTAINER_PLAY_BUTTON = 'bp-media-overlay-play-button';
53271
53601
  const CLASS_SEEK_BUTTON = 'bp-media-overlay-seek-button';
53272
53602
  const SMALL_VIDEO_WIDTH_THRESHOLD = 580;
53273
- const SPINNER_HALF_SIZE = 40; // Half of the 80px spinner height (defined in _mediaBase.scss)
53603
+ const SPINNER_HALF_SIZE = 40; // Half of the 80px spinner height (_mediaBase.scss and MediaLoadingIndicator.scss)
53274
53604
  const VIDEO_ANNOTATIONS_ENABLED = 'videoAnnotations.enabled';
53275
53605
  const DISCOVERABILITY_STATES = [AnnotationState.DRAWING, AnnotationState.NONE, AnnotationState.REGION_TEMP];
53276
53606
  class VideoBaseViewer extends media_MediaBaseViewer {
@@ -53375,17 +53705,27 @@ class VideoBaseViewer extends media_MediaBaseViewer {
53375
53705
  this.playButtonEl.classList.add(CLASS_PLAY_BUTTON);
53376
53706
  this.playButtonEl.classList.add(constants/* CLASS_HIDDEN */.zX);
53377
53707
  this.playButtonEl.setAttribute('type', 'button');
53378
- this.playButtonEl.setAttribute('title', "Play");
53708
+ this.playButtonEl.setAttribute('title', VideoBaseViewer_('media_play'));
53379
53709
  this.playButtonEl.innerHTML = play_48px;
53380
53710
  }
53381
53711
 
53382
53712
  // Buffering spinner
53383
53713
  this.bufferingSpinnerEl = this.mediaContainerEl.appendChild(document.createElement('div'));
53384
- this.bufferingSpinnerEl.classList.add('bp-media-buffering-spinner');
53385
53714
  this.bufferingSpinnerEl.classList.add(constants/* CLASS_HIDDEN */.zX);
53386
- if (this.useReactControls() && !this.isVideoPlayerV2) {
53387
- // Shift up by half the control bar + half the spinner to visually center above the controls
53388
- this.bufferingSpinnerEl.style.marginTop = `-${constants/* VIDEO_PLAYER_CONTROL_BAR_HEIGHT */.qL / 2 + SPINNER_HALF_SIZE}px`;
53715
+ // Shift up by half the control bar + half the spinner to visually center above the controls
53716
+ const spinnerMarginTop = this.useReactControls() && !this.isVideoPlayerV2 ? `-${constants/* VIDEO_PLAYER_CONTROL_BAR_HEIGHT */.qL / 2 + SPINNER_HALF_SIZE}px` : undefined;
53717
+ if (this.isBlueprintMediaControlsEnabled()) {
53718
+ this.bufferingSpinnerRoot = (0,client_.createRoot)(this.bufferingSpinnerEl);
53719
+ this.bufferingSpinnerRoot.render(/*#__PURE__*/external_react_["default"].createElement(MediaLoadingIndicator/* default */.A, {
53720
+ style: {
53721
+ marginTop: spinnerMarginTop
53722
+ }
53723
+ }));
53724
+ } else {
53725
+ this.bufferingSpinnerEl.classList.add('bp-media-buffering-spinner');
53726
+ if (spinnerMarginTop) {
53727
+ this.bufferingSpinnerEl.style.marginTop = spinnerMarginTop;
53728
+ }
53389
53729
  }
53390
53730
  this.lowerLights();
53391
53731
  }
@@ -53572,18 +53912,18 @@ class VideoBaseViewer extends media_MediaBaseViewer {
53572
53912
  this.seekBackwardButtonEl = this.playContainerEl.appendChild(document.createElement('button'));
53573
53913
  this.seekBackwardButtonEl.classList.add(CLASS_SEEK_BUTTON);
53574
53914
  this.seekBackwardButtonEl.setAttribute('type', 'button');
53575
- this.seekBackwardButtonEl.setAttribute('title', "Skip backward");
53915
+ this.seekBackwardButtonEl.setAttribute('title', VideoBaseViewer_('media_skip_backward'));
53576
53916
  this.seekBackwardButtonEl.innerHTML = arrow_curved_back_24px_namespaceObject;
53577
53917
  this.playButtonEl = this.playContainerEl.appendChild(document.createElement('button'));
53578
53918
  this.playButtonEl.classList.add(CLASS_PLAY_CONTAINER_PLAY_BUTTON);
53579
53919
  this.playButtonEl.setAttribute('type', 'button');
53580
- this.playButtonEl.setAttribute('title', "Play");
53920
+ this.playButtonEl.setAttribute('title', VideoBaseViewer_('media_play'));
53581
53921
  this.playButtonEl.innerHTML = play_48px;
53582
53922
  this.playButtonEl.addEventListener('click', this.handlePlayRequest);
53583
53923
  this.seekForwardButtonEl = this.playContainerEl.appendChild(document.createElement('button'));
53584
53924
  this.seekForwardButtonEl.classList.add(CLASS_SEEK_BUTTON);
53585
53925
  this.seekForwardButtonEl.setAttribute('type', 'button');
53586
- this.seekForwardButtonEl.setAttribute('title', "Skip forward");
53926
+ this.seekForwardButtonEl.setAttribute('title', VideoBaseViewer_('media_skip_forward'));
53587
53927
  this.seekForwardButtonEl.innerHTML = arrow_curved_forward_24px_namespaceObject;
53588
53928
  if (this.seekForwardButtonEl) {
53589
53929
  this.seekForwardButtonEl.addEventListener('click', () => this.movePlayback(true, 5));
@@ -53644,6 +53984,10 @@ class VideoBaseViewer extends media_MediaBaseViewer {
53644
53984
  if (this.seekBackwardButtonEl) {
53645
53985
  this.seekBackwardButtonEl.removeEventListener('click', () => this.movePlayback(false, 5));
53646
53986
  }
53987
+ if (this.bufferingSpinnerRoot) {
53988
+ this.bufferingSpinnerRoot.unmount();
53989
+ this.bufferingSpinnerRoot = undefined;
53990
+ }
53647
53991
  this.bufferingSpinnerEl = null;
53648
53992
  super.destroy();
53649
53993
  }
@@ -53830,10 +54174,32 @@ class VideoBaseViewer extends media_MediaBaseViewer {
53830
54174
  }
53831
54175
 
53832
54176
  /**
53833
- * @inheritdoc
54177
+ * Shows the player's buffering indicator in place of the page-level crawler when Blueprint media
54178
+ * controls are on, so quality and track switches use the same loading state as buffering.
54179
+ *
54180
+ * @override
54181
+ * @return {void}
53834
54182
  */
53835
54183
  showLoadingIcon() {
53836
- super.showLoadingIcon();
54184
+ if (!this.isBlueprintMediaControlsEnabled()) {
54185
+ super.showLoadingIcon();
54186
+ return;
54187
+ }
54188
+ if (this.containerEl && this.mediaEl && !this.mediaEl.paused && !this.mediaEl.ended) {
54189
+ this.showBufferingSpinner();
54190
+ this.hidePlayButton();
54191
+ }
54192
+ }
54193
+
54194
+ /**
54195
+ * @override
54196
+ * @return {void}
54197
+ */
54198
+ hideLoadingIcon() {
54199
+ super.hideLoadingIcon();
54200
+ if (this.isBlueprintMediaControlsEnabled()) {
54201
+ this.hideBufferingSpinner();
54202
+ }
53837
54203
  }
53838
54204
 
53839
54205
  /**
@@ -54182,6 +54548,7 @@ var MediaToggle = __webpack_require__(8997);
54182
54548
  // extracted by mini-css-extract-plugin
54183
54549
 
54184
54550
  ;// ./src/lib/viewers/controls/media/SubtitlesToggle.tsx
54551
+ /* provided dependency */ var SubtitlesToggle_ = __webpack_require__(441)["Tl"];
54185
54552
 
54186
54553
 
54187
54554
 
@@ -54195,7 +54562,7 @@ function SubtitlesToggle({
54195
54562
  if (!subtitles.length) {
54196
54563
  return null;
54197
54564
  }
54198
- const title = isAutoGeneratedSubtitles ? "Auto-Generated Captions" : "Subtitles/Closed Captions";
54565
+ const title = isAutoGeneratedSubtitles ? SubtitlesToggle_('media_auto_generated_captions') : SubtitlesToggle_('media_subtitles_cc');
54199
54566
  return /*#__PURE__*/external_react_["default"].createElement(MediaToggle/* default */.A, {
54200
54567
  "aria-pressed": isShowingSubtitles,
54201
54568
  className: "bp-SubtitlesToggle",
@@ -54456,6 +54823,7 @@ function onMarkerGroupTickClick(event, markers, selectedId, onMarkerClick) {
54456
54823
  onMarkerClick?.(markers[0]);
54457
54824
  }
54458
54825
  ;// ./src/lib/viewers/controls/media/markers/MarkerTick.tsx
54826
+ /* provided dependency */ var MarkerTick_ = __webpack_require__(441)["Tl"];
54459
54827
 
54460
54828
 
54461
54829
 
@@ -54479,7 +54847,7 @@ function MarkerTick({
54479
54847
  "data-testid": "bp-time-controls-marker",
54480
54848
  style: style
54481
54849
  }, /*#__PURE__*/external_react_["default"].createElement("button", {
54482
- "aria-label": "Comment marker",
54850
+ "aria-label": MarkerTick_('media_comment_marker'),
54483
54851
  className: "bp-TimeControlsV2-marker-tick",
54484
54852
  "data-resin-target": "commentMarkerGroup",
54485
54853
  onClick: e => onMarkerGroupTickClick(e, markers, selectedId, onMarkerClick),
@@ -54491,7 +54859,7 @@ function MarkerTick({
54491
54859
  }));
54492
54860
  }
54493
54861
  return /*#__PURE__*/external_react_["default"].createElement("button", {
54494
- "aria-label": "Comment marker",
54862
+ "aria-label": MarkerTick_('media_comment_marker'),
54495
54863
  "aria-pressed": isSelected,
54496
54864
  className: className,
54497
54865
  "data-bp-marker-selected": isSelected ? '' : undefined,
@@ -54513,6 +54881,7 @@ function MarkerTick({
54513
54881
  // extracted by mini-css-extract-plugin
54514
54882
 
54515
54883
  ;// ./src/lib/viewers/controls/media/markers/MarkerCluster.tsx
54884
+ /* provided dependency */ var MarkerCluster_ = __webpack_require__(441)["Tl"];
54516
54885
 
54517
54886
 
54518
54887
 
@@ -54537,7 +54906,7 @@ function MarkerCluster({
54537
54906
  "data-testid": "bp-marker-cluster",
54538
54907
  style: style
54539
54908
  }, /*#__PURE__*/external_react_["default"].createElement("button", {
54540
- "aria-label": "Comment marker",
54909
+ "aria-label": MarkerCluster_('media_comment_marker'),
54541
54910
  className: "bp-MarkerCluster-tick",
54542
54911
  "data-resin-target": "commentMarkerCluster",
54543
54912
  onClick: e => onMarkerGroupTickClick(e, markers, selectedId, onMarkerClick),
@@ -54552,6 +54921,7 @@ function MarkerCluster({
54552
54921
  // extracted by mini-css-extract-plugin
54553
54922
 
54554
54923
  ;// ./src/lib/viewers/controls/media/TimeControlsV2.tsx
54924
+ /* provided dependency */ var TimeControlsV2_ = __webpack_require__(441)["Tl"];
54555
54925
 
54556
54926
 
54557
54927
 
@@ -54668,7 +55038,7 @@ function TimeControlsV2({
54668
55038
  onMove: handleMouseMove,
54669
55039
  onUpdate: onTimeChange,
54670
55040
  step: fps ? 1 / fps : 5,
54671
- title: "Media Slider",
55041
+ title: TimeControlsV2_('media_time_slider'),
54672
55042
  track: `linear-gradient(to right, ${__WEBPACK_EXTERNAL_MODULE_box_ui_elements_es_styles_variables_c815ce80_white__} calc(${currentPercentage}% - 2.5px), transparent calc(${currentPercentage}% - 2.5px), transparent calc(${currentPercentage}% + 2.5px), ${TRACK_COLOR_BUFFERED} calc(${currentPercentage}% + 2.5px), ${TRACK_COLOR_BUFFERED} ${bufferedPercentage}%, ${TRACK_COLOR_UNPLAYED} ${bufferedPercentage}%, ${TRACK_COLOR_UNPLAYED} 100%)`,
54673
55043
  value: currentValue
54674
55044
  }), durationValue > 0 && clusters.map(cluster => cluster.isSinglePoint ? /*#__PURE__*/external_react_["default"].createElement(MarkerTick, {
@@ -54690,6 +55060,7 @@ var Medium_ = __webpack_require__(9747);
54690
55060
  // extracted by mini-css-extract-plugin
54691
55061
 
54692
55062
  ;// ./src/lib/viewers/controls/media/VideoFullscreenButton.tsx
55063
+ /* provided dependency */ var VideoFullscreenButton_ = __webpack_require__(441)["Tl"];
54693
55064
 
54694
55065
 
54695
55066
 
@@ -54704,7 +55075,7 @@ function VideoFullscreenButton({
54704
55075
  isBlueprintEnabled = false
54705
55076
  }) {
54706
55077
  const isFullscreen = useFullscreen();
54707
- const title = isFullscreen ? "Exit fullscreen" : "Enter fullscreen";
55078
+ const title = isFullscreen ? VideoFullscreenButton_('exit_fullscreen') : VideoFullscreenButton_('enter_fullscreen');
54708
55079
  const ref = external_react_["default"].useRef(null);
54709
55080
  const [position, setPosition] = external_react_["default"].useState(null);
54710
55081
  external_react_["default"].useEffect(() => {
@@ -55278,6 +55649,7 @@ function VideoGuidesOverlay({
55278
55649
  })));
55279
55650
  }
55280
55651
  ;// ./src/lib/viewers/media/DashViewer.js
55652
+ /* provided dependency */ var DashViewer_ = __webpack_require__(441)["Tl"];
55281
55653
  function DashViewer_ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
55282
55654
  function DashViewer_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? DashViewer_ownKeys(Object(t), !0).forEach(function (r) { DashViewer_defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : DashViewer_ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
55283
55655
  function DashViewer_extends() { return DashViewer_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; }, DashViewer_extends.apply(null, arguments); }
@@ -55735,7 +56107,7 @@ class DashViewer extends media_VideoBaseViewer {
55735
56107
  if (this.autoCaptionDisplayer && subtitleIdx === 0) {
55736
56108
  // Manually set text visibility with the custom Shaka Text Displayer
55737
56109
  this.autoCaptionDisplayer.setTextVisibility(true);
55738
- this.emit('subtitlechange', "Auto-Generated");
56110
+ this.emit('subtitlechange', DashViewer_('auto_generated'));
55739
56111
 
55740
56112
  // Valid non-auto-generated index ==> turn specified text track on
55741
56113
  } else if (this.textTracks[subtitleIdx] !== undefined) {
@@ -55887,7 +56259,7 @@ class DashViewer extends media_VideoBaseViewer {
55887
56259
  */
55888
56260
  shakaErrorHandler(shakaError) {
55889
56261
  const normalizedShakaError = shakaError.detail ? shakaError.detail : shakaError;
55890
- const error = new PreviewError/* default */.A(lib_events/* ERROR_CODE */.bo.SHAKA, "This preview didn’t load. Please try to open or download the file to view.", {
56262
+ const error = new PreviewError/* default */.A(lib_events/* ERROR_CODE */.bo.SHAKA, DashViewer_('error_refresh'), {
55891
56263
  code: normalizedShakaError.code,
55892
56264
  data: normalizedShakaError.data,
55893
56265
  severity: normalizedShakaError.severity
@@ -55931,7 +56303,7 @@ class DashViewer extends media_VideoBaseViewer {
55931
56303
  */
55932
56304
  getTrackDisplayLanguage(track) {
55933
56305
  if (this.featureEnabled(constants/* AI_TRANSCRIPTION_FOR_VIDEO_SUBTITLES */.Iu) && track.language === 'und') {
55934
- return "Auto-Generated";
56306
+ return DashViewer_('auto_generated');
55935
56307
  }
55936
56308
  return (0,lang/* default */.A)(track.language) || track.language;
55937
56309
  }
@@ -56032,13 +56404,13 @@ class DashViewer extends media_VideoBaseViewer {
56032
56404
  if (this.useReactControls()) {
56033
56405
  this.textTracks = [{
56034
56406
  id: 0,
56035
- language: "Auto-Generated"
56407
+ language: DashViewer_('auto_generated')
56036
56408
  }];
56037
56409
  this.initSubtitles();
56038
56410
  } else {
56039
56411
  // Update the subtitles/caption button to reflect auto-translation
56040
- this.mediaControls.setLabel(this.mediaControls.subtitlesButtonEl, "Auto-Generated Captions");
56041
- this.mediaControls.initSubtitles(["Auto-Generated"], (0,lang/* default */.A)(this.options.location.locale.substring(0, 2)));
56412
+ this.mediaControls.setLabel(this.mediaControls.subtitlesButtonEl, DashViewer_('media_auto_generated_captions'));
56413
+ this.mediaControls.initSubtitles([DashViewer_('auto_generated')], (0,lang/* default */.A)(this.options.location.locale.substring(0, 2)));
56042
56414
  }
56043
56415
  }
56044
56416
  }
@@ -56248,7 +56620,7 @@ class DashViewer extends media_VideoBaseViewer {
56248
56620
  if (this.isDestroyed() || !this.player) {
56249
56621
  return;
56250
56622
  }
56251
- await this.player.addTextTrackAsync(transcriptionUrl, 'und', 'subtitles', 'text/vtt', undefined, "Auto-Generated");
56623
+ await this.player.addTextTrackAsync(transcriptionUrl, 'und', 'subtitles', 'text/vtt', undefined, DashViewer_('auto_generated'));
56252
56624
  if (this.isDestroyed()) {
56253
56625
  return;
56254
56626
  }
@@ -56474,7 +56846,7 @@ class DashViewer extends media_VideoBaseViewer {
56474
56846
  if (this.autoCaptionDisplayer && subtitleIndex === 0) {
56475
56847
  // Manually set text visibility with the custom Shaka Text Displayer
56476
56848
  this.autoCaptionDisplayer.setTextVisibility(true);
56477
- this.emit('subtitlechange', "Auto-Generated");
56849
+ this.emit('subtitlechange', DashViewer_('auto_generated'));
56478
56850
 
56479
56851
  // Valid non-auto-generated index ==> turn specified text track on
56480
56852
  } else if (this.textTracks[subtitleIndex] !== undefined) {
@@ -56615,6 +56987,7 @@ class DashViewer extends media_VideoBaseViewer {
56615
56987
  }
56616
56988
  /* harmony default export */ const media_DashViewer = (DashViewer);
56617
56989
  ;// ./src/lib/viewers/media/MediaLoader.js
56990
+ /* provided dependency */ var MediaLoader_ = __webpack_require__(441)["Tl"];
56618
56991
 
56619
56992
 
56620
56993
 
@@ -56666,7 +57039,7 @@ class MediaLoader extends viewers_AssetLoader {
56666
57039
  determineViewer(file, disabledViewers = []) {
56667
57040
  let viewer = super.determineViewer(file, disabledViewers);
56668
57041
  if (viewer && (0,util/* requires360Viewer */.wo)(file)) {
56669
- const message = (0,util/* replacePlaceholders */.Lb)("Your browser doesn’t support preview for {1}. Please try to open or download the file to view.", ["360-degree videos"]);
57042
+ const message = (0,util/* replacePlaceholders */.Lb)(MediaLoader_('error_browser_unsupported'), [MediaLoader_('360_videos')]);
56670
57043
  throw new PreviewError/* default */.A(lib_events/* ERROR_CODE */.bo.BROWSER_UNSUPPORTED, message, {
56671
57044
  file
56672
57045
  });
@@ -56705,6 +57078,7 @@ class MediaLoader extends viewers_AssetLoader {
56705
57078
  }
56706
57079
  /* harmony default export */ const media_MediaLoader = (new MediaLoader());
56707
57080
  ;// ./src/lib/viewers/box3d/video360/Video360Controls.js
57081
+ /* provided dependency */ var Video360Controls_ = __webpack_require__(441)["Tl"];
56708
57082
  function Video360Controls_defineProperty(e, r, t) { return (r = Video360Controls_toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
56709
57083
  function Video360Controls_toPropertyKey(t) { var i = Video360Controls_toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
56710
57084
  function Video360Controls_toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
@@ -56750,8 +57124,8 @@ class Video360Controls extends (events_default()) {
56750
57124
  // Create the VR toggle button and then hide it.
56751
57125
  this.vrButtonEl = mediaControlsEl.appendChild(document.createElement('button'));
56752
57126
  this.vrButtonEl.classList.add(CSS_CLASS_MEDIA_CONTROL_BUTTON);
56753
- this.vrButtonEl.setAttribute('aria-label', "Toggle VR display");
56754
- this.vrButtonEl.setAttribute('title', "Toggle VR display");
57127
+ this.vrButtonEl.setAttribute('aria-label', Video360Controls_('box3d_toggle_vr'));
57128
+ this.vrButtonEl.setAttribute('title', Video360Controls_('box3d_toggle_vr'));
56755
57129
  this.vrButtonEl.classList.add(Video360Controls_CSS_CLASS_HIDDEN);
56756
57130
  // Add icon to VR Button
56757
57131
  const vrButtonSpanEl = this.vrButtonEl.appendChild(document.createElement('span'));
@@ -57247,6 +57621,7 @@ class Video360Viewer extends media_DashViewer {
57247
57621
  }
57248
57622
  /* harmony default export */ const video360_Video360Viewer = (Video360Viewer);
57249
57623
  ;// ./src/lib/viewers/box3d/video360/Video360Loader.js
57624
+ /* provided dependency */ var Video360Loader_ = __webpack_require__(441)["Tl"];
57250
57625
 
57251
57626
 
57252
57627
 
@@ -57287,7 +57662,7 @@ class Video360Loader extends box3d_Base360Loader {
57287
57662
  // If a 360 viewer but it is on IOS OR
57288
57663
  // If browser doesn't support WebGL
57289
57664
  if (!isSupportedBrowser || isIOS || !lib_Browser.hasWebGL()) {
57290
- const message = (0,util/* replacePlaceholders */.Lb)("Your browser doesn’t support preview for {1}. Please try to open or download the file to view.", ["360-degree videos"]);
57665
+ const message = (0,util/* replacePlaceholders */.Lb)(Video360Loader_('error_browser_unsupported'), [Video360Loader_('360_videos')]);
57291
57666
  throw new PreviewError/* default */.A(lib_events/* ERROR_CODE */.bo.BROWSER_UNSUPPORTED, message, {
57292
57667
  file
57293
57668
  });
@@ -57318,6 +57693,7 @@ function IconSearchMedium24(props) {
57318
57693
  // extracted by mini-css-extract-plugin
57319
57694
 
57320
57695
  ;// ./src/lib/viewers/controls/findbar/FindBarToggle.tsx
57696
+ /* provided dependency */ var FindBarToggle_ = __webpack_require__(441)["Tl"];
57321
57697
 
57322
57698
 
57323
57699
 
@@ -57333,7 +57709,7 @@ function FindBarToggle({
57333
57709
  onClick: ({
57334
57710
  target
57335
57711
  }) => onFindBarToggle(target),
57336
- title: "Toggle findbar",
57712
+ title: FindBarToggle_('toggle_findbar'),
57337
57713
  type: "button"
57338
57714
  }, /*#__PURE__*/external_react_["default"].createElement(icons_IconSearchMedium24, null));
57339
57715
  }
@@ -57359,6 +57735,7 @@ function IconGridView24(props) {
57359
57735
  // extracted by mini-css-extract-plugin
57360
57736
 
57361
57737
  ;// ./src/lib/viewers/controls/gallery/GalleryToggle.tsx
57738
+ /* provided dependency */ var GalleryToggle_ = __webpack_require__(441)["Tl"];
57362
57739
 
57363
57740
 
57364
57741
 
@@ -57374,7 +57751,7 @@ function GalleryToggle({
57374
57751
  className: `bp-GalleryToggle${isGalleryOpen ? ' bp-is-active' : ''}`,
57375
57752
  "data-resin-target": "galleryView",
57376
57753
  onClick: onGalleryToggle,
57377
- title: "Gallery view",
57754
+ title: GalleryToggle_('gallery_view'),
57378
57755
  type: "button"
57379
57756
  }, /*#__PURE__*/external_react_["default"].createElement(icons_IconGridView24, null));
57380
57757
  }
@@ -57421,6 +57798,7 @@ function IconNavMediumFilled24(props) {
57421
57798
  // extracted by mini-css-extract-plugin
57422
57799
 
57423
57800
  ;// ./src/lib/viewers/controls/sidebar/ThumbnailsToggle.tsx
57801
+ /* provided dependency */ var ThumbnailsToggle_ = __webpack_require__(441)["Tl"];
57424
57802
 
57425
57803
 
57426
57804
 
@@ -57437,7 +57815,7 @@ function ThumbnailsToggle({
57437
57815
  className: "bp-ThumbnailsToggle",
57438
57816
  "data-resin-target": "thumbnails",
57439
57817
  onClick: onThumbnailsToggle,
57440
- title: "Toggle thumbnails",
57818
+ title: ThumbnailsToggle_('toggle_thumbnails'),
57441
57819
  type: "button"
57442
57820
  }, isThumbnailsOpen ? /*#__PURE__*/external_react_["default"].createElement(icons_IconNavMediumFilled24, null) : /*#__PURE__*/external_react_["default"].createElement(icons_IconNavMedium24, null));
57443
57821
  }
@@ -57533,6 +57911,7 @@ function DocControls({
57533
57911
  // extracted by mini-css-extract-plugin
57534
57912
 
57535
57913
  ;// ./src/lib/viewers/controls/annotations/AnnotationsExitButtonV2.tsx
57914
+ /* provided dependency */ var AnnotationsExitButtonV2_ = __webpack_require__(441)["Tl"];
57536
57915
 
57537
57916
 
57538
57917
 
@@ -57543,9 +57922,9 @@ function AnnotationsExitButtonV2({
57543
57922
  return /*#__PURE__*/external_react_["default"].createElement("span", {
57544
57923
  className: "bp-AnnotationsControls-exitBtn"
57545
57924
  }, /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Tooltip, {
57546
- content: "Exit Annotations"
57925
+ content: AnnotationsExitButtonV2_('exit_annotations')
57547
57926
  }, /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Toolbar.Button, {
57548
- "aria-label": "Exit Annotations",
57927
+ "aria-label": AnnotationsExitButtonV2_('exit_annotations'),
57549
57928
  "data-resin-target": "exit",
57550
57929
  "data-testid": "bp-annotations-controls-exit-btn",
57551
57930
  onClick: onClick
@@ -57570,25 +57949,6 @@ const ANNOTATION_MODE_ICONS = {
57570
57949
  [AnnotationMode.REGION]: __WEBPACK_EXTERNAL_MODULE__box_blueprint_web_assets_icons_Medium_SquarePlus_c11758f1_default__
57571
57950
  };
57572
57951
  /* harmony default export */ const annotationModeIcons = (ANNOTATION_MODE_ICONS);
57573
- ;// ./src/lib/viewers/controls/controls-bar/ControlsBarV2.tsx
57574
- const ControlsBarV2_excluded = ["children"];
57575
- function ControlsBarV2_extends() { return ControlsBarV2_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; }, ControlsBarV2_extends.apply(null, arguments); }
57576
- function ControlsBarV2_objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = ControlsBarV2_objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
57577
- function ControlsBarV2_objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
57578
-
57579
-
57580
- function ControlsBarV2(_ref) {
57581
- let {
57582
- children
57583
- } = _ref,
57584
- rest = ControlsBarV2_objectWithoutProperties(_ref, ControlsBarV2_excluded);
57585
- if (!children) {
57586
- return null;
57587
- }
57588
- return /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Toolbar.Root, ControlsBarV2_extends({
57589
- "data-testid": "bp-ControlsBar"
57590
- }, rest), children);
57591
- }
57592
57952
  ;// ./src/lib/viewers/controls/tooltip/ToggleTooltipV2.scss
57593
57953
  // extracted by mini-css-extract-plugin
57594
57954
 
@@ -57612,6 +57972,7 @@ function ToggleTooltipV2({
57612
57972
  // extracted by mini-css-extract-plugin
57613
57973
 
57614
57974
  ;// ./src/lib/viewers/controls/annotations/AnnotationsPaletteV2.tsx
57975
+ /* provided dependency */ var AnnotationsPaletteV2_ = __webpack_require__(441)["Tl"];
57615
57976
  function AnnotationsPaletteV2_extends() { return AnnotationsPaletteV2_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; }, AnnotationsPaletteV2_extends.apply(null, arguments); }
57616
57977
 
57617
57978
 
@@ -57627,7 +57988,7 @@ function AnnotationsPaletteV2({
57627
57988
  return /*#__PURE__*/external_react_["default"].createElement("div", {
57628
57989
  className: "bp-AnnotationsPaletteV2",
57629
57990
  "data-testid": "bp-AnnotationsPaletteV2"
57630
- }, /*#__PURE__*/external_react_["default"].createElement(ControlsBarV2, null, children));
57991
+ }, /*#__PURE__*/external_react_["default"].createElement(controls_bar_ControlsBarV2, null, children));
57631
57992
  }
57632
57993
  function Modes({
57633
57994
  annotationMode,
@@ -57660,17 +58021,17 @@ function Mode({
57660
58021
  testId
57661
58022
  } = {
57662
58023
  [AnnotationMode.DRAWING]: {
57663
- label: "Markup",
58024
+ label: AnnotationsPaletteV2_('drawing_comment'),
57664
58025
  resinTarget: 'draw',
57665
58026
  testId: 'bp-AnnotationsControls-drawBtn'
57666
58027
  },
57667
58028
  [AnnotationMode.HIGHLIGHT]: {
57668
- label: "Highlight and Comment",
58029
+ label: AnnotationsPaletteV2_('highlight_text'),
57669
58030
  resinTarget: 'highlightText',
57670
58031
  testId: 'bp-AnnotationsControls-highlightBtn'
57671
58032
  },
57672
58033
  [AnnotationMode.REGION]: {
57673
- label: "Comment on Region",
58034
+ label: AnnotationsPaletteV2_('region_comment'),
57674
58035
  resinTarget: 'highlightRegion',
57675
58036
  testId: 'bp-AnnotationsControls-regionBtn'
57676
58037
  }
@@ -57690,6 +58051,7 @@ function Mode({
57690
58051
  Modes
57691
58052
  }));
57692
58053
  ;// ./src/lib/viewers/controls/annotations/AnnotationsToggleV2.tsx
58054
+ /* provided dependency */ var AnnotationsToggleV2_ = __webpack_require__(441)["Tl"];
57693
58055
  function AnnotationsToggleV2_extends() { return AnnotationsToggleV2_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; }, AnnotationsToggleV2_extends.apply(null, arguments); }
57694
58056
 
57695
58057
 
@@ -57750,7 +58112,7 @@ function AnnotationsToggleV2(props, ref) {
57750
58112
  const toggleProps = {
57751
58113
  ref,
57752
58114
  'aria-expanded': isActive,
57753
- 'aria-label': "Comment and markup",
58115
+ 'aria-label': AnnotationsToggleV2_('annotation_tools'),
57754
58116
  'data-resin-target': 'annotations',
57755
58117
  'data-testid': 'bp-AnnotationsControls-toggleBtn',
57756
58118
  icon: annotationModeIcons[isActive ? annotationMode : resumeMode]
@@ -57760,7 +58122,7 @@ function AnnotationsToggleV2(props, ref) {
57760
58122
  const renderToggle = toggle => /*#__PURE__*/external_react_["default"].createElement(annotations_AnnotationsTargetedTooltip, {
57761
58123
  isEnabled: modes.includes(AnnotationMode.REGION) && !!experiences.tooltipFlowAnnotationsExperience
57762
58124
  }, /*#__PURE__*/external_react_["default"].createElement(ToggleTooltipV2, {
57763
- content: "Comment and markup"
58125
+ content: AnnotationsToggleV2_('annotation_tools')
57764
58126
  }, toggle));
57765
58127
  if (props.buttonType === 'icon') {
57766
58128
  const {
@@ -57787,18 +58149,19 @@ function AnnotationsToggleV2(props, ref) {
57787
58149
  // extracted by mini-css-extract-plugin
57788
58150
 
57789
58151
  ;// ./src/lib/viewers/controls/color-picker/ColorPickerControlV2.tsx
58152
+ /* provided dependency */ var ColorPickerControlV2_ = __webpack_require__(441)["Tl"];
57790
58153
 
57791
58154
 
57792
58155
 
57793
58156
 
57794
58157
 
57795
58158
  const getColorLabels = () => ({
57796
- [AnnotationColor.BOX_BLUE]: "Blue",
57797
- [AnnotationColor.GREEN_LIGHT]: "Green",
57798
- [AnnotationColor.WATERMELON_RED]: "Red",
57799
- [AnnotationColor.YELLORANGE]: "Orange",
57800
- [AnnotationColor.YELLOW]: "Yellow",
57801
- [AnnotationColor.GRIMACE]: "Purple"
58159
+ [AnnotationColor.BOX_BLUE]: ColorPickerControlV2_('drawing_color_blue'),
58160
+ [AnnotationColor.GREEN_LIGHT]: ColorPickerControlV2_('drawing_color_green'),
58161
+ [AnnotationColor.WATERMELON_RED]: ColorPickerControlV2_('drawing_color_red'),
58162
+ [AnnotationColor.YELLORANGE]: ColorPickerControlV2_('drawing_color_orange'),
58163
+ [AnnotationColor.YELLOW]: ColorPickerControlV2_('drawing_color_yellow'),
58164
+ [AnnotationColor.GRIMACE]: ColorPickerControlV2_('drawing_color_purple')
57802
58165
  });
57803
58166
  function ColorPickerControlV2({
57804
58167
  activeColor = __WEBPACK_EXTERNAL_MODULE_box_ui_elements_es_styles_variables_c815ce80_bdlBoxBlue__,
@@ -57810,12 +58173,13 @@ function ColorPickerControlV2({
57810
58173
  className: "bp-ColorPickerControlV2",
57811
58174
  "data-testid": "bp-color-picker-control"
57812
58175
  }, /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.SelectMenu.Grid, {
57813
- "aria-label": "Drawing color",
58176
+ "aria-label": ColorPickerControlV2_('drawing_color'),
57814
58177
  columns: colors.length
57815
58178
  }, colors.map(color => /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.SelectMenu.Option.ColorCircle, {
57816
58179
  key: color,
57817
58180
  active: color === activeColor,
57818
58181
  "aria-label": colorLabels[color] || color,
58182
+ className: "bp-ColorPickerControlV2-swatch",
57819
58183
  color: color,
57820
58184
  "data-resin-target": "colorSelect",
57821
58185
  onClick: () => onColorSelect(color)
@@ -57824,6 +58188,7 @@ function ColorPickerControlV2({
57824
58188
  ;// external "@box/blueprint-web-assets/icons/Medium/Search"
57825
58189
 
57826
58190
  ;// ./src/lib/viewers/controls/findbar/FindBarToggleV2.tsx
58191
+ /* provided dependency */ var FindBarToggleV2_ = __webpack_require__(441)["Tl"];
57827
58192
 
57828
58193
 
57829
58194
 
@@ -57834,9 +58199,9 @@ function FindBarToggleV2({
57834
58199
  return null;
57835
58200
  }
57836
58201
  return /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Tooltip, {
57837
- content: "Toggle findbar"
58202
+ content: FindBarToggleV2_('toggle_findbar')
57838
58203
  }, /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Toolbar.Button, {
57839
- "aria-label": "Toggle findbar",
58204
+ "aria-label": FindBarToggleV2_('toggle_findbar'),
57840
58205
  "data-resin-target": "findBar",
57841
58206
  onClick: ({
57842
58207
  currentTarget
@@ -57845,46 +58210,10 @@ function FindBarToggleV2({
57845
58210
  icon: __WEBPACK_EXTERNAL_MODULE__box_blueprint_web_assets_icons_Medium_Search_ef3e4aba_default__
57846
58211
  })));
57847
58212
  }
57848
- ;// external "@box/blueprint-web-assets/icons/Medium/ArrowsMaximize"
57849
-
57850
- ;// external "@box/blueprint-web-assets/icons/Medium/ArrowsMinimize"
57851
-
57852
- ;// ./src/lib/viewers/controls/fullscreen/FullscreenToggleV2.tsx
57853
- const FullscreenToggleV2_excluded = ["onFullscreenToggle"];
57854
- function FullscreenToggleV2_extends() { return FullscreenToggleV2_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; }, FullscreenToggleV2_extends.apply(null, arguments); }
57855
- function FullscreenToggleV2_objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = FullscreenToggleV2_objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
57856
- function FullscreenToggleV2_objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
57857
-
57858
-
57859
-
57860
-
57861
-
57862
- function FullscreenToggleV2(_ref) {
57863
- let {
57864
- onFullscreenToggle
57865
- } = _ref,
57866
- rest = FullscreenToggleV2_objectWithoutProperties(_ref, FullscreenToggleV2_excluded);
57867
- const isFullscreen = useFullscreen();
57868
- const icon = isFullscreen ? __WEBPACK_EXTERNAL_MODULE__box_blueprint_web_assets_icons_Medium_ArrowsMinimize_35faab95_default__ : __WEBPACK_EXTERNAL_MODULE__box_blueprint_web_assets_icons_Medium_ArrowsMaximize_12b9ae40_default__;
57869
- const label = isFullscreen ? "Exit fullscreen" : "Enter fullscreen";
57870
- const handleClick = ({
57871
- currentTarget
57872
- }) => {
57873
- onFullscreenToggle(!isFullscreen, currentTarget);
57874
- };
57875
- return /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Tooltip, {
57876
- content: label
57877
- }, /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Toolbar.Button, FullscreenToggleV2_extends({
57878
- "aria-label": label,
57879
- "data-resin-target": "fullscreen",
57880
- onClick: handleClick
57881
- }, rest), /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Toolbar.Icon, {
57882
- icon: icon
57883
- })));
57884
- }
57885
58213
  ;// external "@box/blueprint-web-assets/icons/Medium/GridView"
57886
58214
 
57887
58215
  ;// ./src/lib/viewers/controls/gallery/GalleryToggleV2.tsx
58216
+ /* provided dependency */ var GalleryToggleV2_ = __webpack_require__(441)["Tl"];
57888
58217
 
57889
58218
 
57890
58219
 
@@ -57901,9 +58230,9 @@ function GalleryToggleV2({
57901
58230
  type: "multiple",
57902
58231
  value: isGalleryOpen ? ['gallery'] : []
57903
58232
  }, /*#__PURE__*/external_react_["default"].createElement(ToggleTooltipV2, {
57904
- content: "Gallery view"
58233
+ content: GalleryToggleV2_('gallery_view')
57905
58234
  }, /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Toolbar.ToggleItem, {
57906
- "aria-label": "Gallery view",
58235
+ "aria-label": GalleryToggleV2_('gallery_view'),
57907
58236
  "data-bp-gallery-toggle": "",
57908
58237
  "data-resin-target": "galleryView",
57909
58238
  icon: __WEBPACK_EXTERNAL_MODULE__box_blueprint_web_assets_icons_Medium_GridView_ac92b674_default__,
@@ -57918,6 +58247,7 @@ function GalleryToggleV2({
57918
58247
  // extracted by mini-css-extract-plugin
57919
58248
 
57920
58249
  ;// ./src/lib/viewers/controls/page/PageControlsFormV2.tsx
58250
+ /* provided dependency */ var PageControlsFormV2_ = __webpack_require__(441)["Tl"];
57921
58251
 
57922
58252
 
57923
58253
 
@@ -57993,7 +58323,7 @@ function PageControlsFormV2({
57993
58323
  className: "bp-PageControlsFormV2-input"
57994
58324
  }, /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Toolbar.Input, {
57995
58325
  ref: inputElRef,
57996
- "aria-label": "Click to enter page number",
58326
+ "aria-label": PageControlsFormV2_('enter_page_num'),
57997
58327
  "data-resin-target": "pageNumberInput",
57998
58328
  "data-testid": "bp-PageControlsForm-input",
57999
58329
  inputMode: "numeric",
@@ -58004,7 +58334,7 @@ function PageControlsFormV2({
58004
58334
  size: 3,
58005
58335
  value: inputValue
58006
58336
  })) : /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Tooltip, {
58007
- content: "Click to enter page number"
58337
+ content: PageControlsFormV2_('enter_page_num')
58008
58338
  }, /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Toolbar.Button, {
58009
58339
  ref: buttonElRef,
58010
58340
  "data-resin-target": "pageNumberOpen",
@@ -58015,10 +58345,12 @@ function PageControlsFormV2({
58015
58345
  className: "bp-PageControlsFormV2-button-label",
58016
58346
  "data-testid": "bp-PageControlsForm-button-label"
58017
58347
  }, /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Text, {
58018
- as: "span"
58348
+ as: "span",
58349
+ color: "textOnDarkDefault"
58019
58350
  }, `${pageNumber} / ${pageCount}`)))));
58020
58351
  }
58021
58352
  ;// ./src/lib/viewers/controls/page/PageControlsV2.tsx
58353
+ /* provided dependency */ var PageControlsV2_ = __webpack_require__(441)["Tl"];
58022
58354
 
58023
58355
 
58024
58356
 
@@ -58034,9 +58366,9 @@ function PageControlsV2({
58034
58366
  return null;
58035
58367
  }
58036
58368
  return /*#__PURE__*/external_react_["default"].createElement(external_react_["default"].Fragment, null, /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Tooltip, {
58037
- content: "Previous page"
58369
+ content: PageControlsV2_('previous_page')
58038
58370
  }, /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Toolbar.Button, {
58039
- "aria-label": "Previous page",
58371
+ "aria-label": PageControlsV2_('previous_page'),
58040
58372
  "data-resin-target": "pagePrevious",
58041
58373
  "data-testid": "bp-PageControls-previous",
58042
58374
  disabled: pageNumber === 1,
@@ -58048,9 +58380,9 @@ function PageControlsV2({
58048
58380
  pageCount: pageCount,
58049
58381
  pageNumber: pageNumber
58050
58382
  }), /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Tooltip, {
58051
- content: "Next page"
58383
+ content: PageControlsV2_('next_page')
58052
58384
  }, /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Toolbar.Button, {
58053
- "aria-label": "Next page",
58385
+ "aria-label": PageControlsV2_('next_page'),
58054
58386
  "data-resin-target": "pageNext",
58055
58387
  "data-testid": "bp-PageControls-next",
58056
58388
  disabled: pageNumber === pageCount,
@@ -58062,6 +58394,7 @@ function PageControlsV2({
58062
58394
  ;// external "@box/blueprint-web-assets/icons/Medium/RotateLeft"
58063
58395
 
58064
58396
  ;// ./src/lib/viewers/controls/rotate/RotateControlV2.tsx
58397
+ /* provided dependency */ var RotateControlV2_ = __webpack_require__(441)["Tl"];
58065
58398
 
58066
58399
 
58067
58400
 
@@ -58069,9 +58402,9 @@ function RotateControlV2({
58069
58402
  onRotateLeft
58070
58403
  }) {
58071
58404
  return /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Tooltip, {
58072
- content: "Rotate left"
58405
+ content: RotateControlV2_('rotate_left')
58073
58406
  }, /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Toolbar.Button, {
58074
- "aria-label": "Rotate left",
58407
+ "aria-label": RotateControlV2_('rotate_left'),
58075
58408
  "data-resin-target": "rotate",
58076
58409
  onClick: onRotateLeft
58077
58410
  }, /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Toolbar.Icon, {
@@ -58086,6 +58419,7 @@ function RotateControlV2({
58086
58419
  // extracted by mini-css-extract-plugin
58087
58420
 
58088
58421
  ;// ./src/lib/viewers/controls/sidebar/ThumbnailsToggleV2.tsx
58422
+ /* provided dependency */ var ThumbnailsToggleV2_ = __webpack_require__(441)["Tl"];
58089
58423
 
58090
58424
 
58091
58425
 
@@ -58106,66 +58440,15 @@ function ThumbnailsToggleV2({
58106
58440
  type: "multiple",
58107
58441
  value: isThumbnailsOpen ? ['thumbnails'] : []
58108
58442
  }, /*#__PURE__*/external_react_["default"].createElement(ToggleTooltipV2, {
58109
- content: "Toggle thumbnails"
58443
+ content: ThumbnailsToggleV2_('toggle_thumbnails')
58110
58444
  }, /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Toolbar.ToggleItem, {
58111
58445
  "aria-expanded": isThumbnailsOpen,
58112
- "aria-label": "Toggle thumbnails",
58446
+ "aria-label": ThumbnailsToggleV2_('toggle_thumbnails'),
58113
58447
  "data-resin-target": "thumbnails",
58114
58448
  icon: isThumbnailsOpen ? __WEBPACK_EXTERNAL_MODULE__box_blueprint_web_assets_icons_MediumFilled_Nav_ae6d790f_default__ : __WEBPACK_EXTERNAL_MODULE__box_blueprint_web_assets_icons_Medium_Nav_d41e959a_default__,
58115
58449
  value: "thumbnails"
58116
58450
  }))));
58117
58451
  }
58118
- ;// external "@box/blueprint-web-assets/icons/Medium/Minus"
58119
-
58120
- ;// external "@box/blueprint-web-assets/icons/Medium/Plus"
58121
-
58122
- ;// ./src/lib/viewers/controls/zoom/ZoomControlsV2.tsx
58123
-
58124
-
58125
-
58126
-
58127
-
58128
-
58129
- function ZoomControlsV2({
58130
- maxScale = MAX_SCALE,
58131
- minScale = MIN_SCALE,
58132
- onZoomIn,
58133
- onZoomOut,
58134
- resinTargetZoomIn = 'zoomIn',
58135
- resinTargetZoomOut = 'zoomOut',
58136
- scale = 1
58137
- }) {
58138
- const currentScale = Math.round((scale + Number.EPSILON) * 100) / 100;
58139
- const maxScaleValue = isFinite_default()(maxScale) ? Math.min(maxScale, MAX_SCALE) : MAX_SCALE;
58140
- const minScaleValue = isFinite_default()(minScale) ? Math.max(minScale, MIN_SCALE) : MIN_SCALE;
58141
- return /*#__PURE__*/external_react_["default"].createElement(external_react_["default"].Fragment, null, /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Tooltip, {
58142
- content: "Zoom out"
58143
- }, /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Toolbar.Button, {
58144
- "aria-label": "Zoom out",
58145
- "data-resin-target": resinTargetZoomOut,
58146
- "data-testid": "bp-ZoomControls-out",
58147
- disabled: currentScale <= minScaleValue,
58148
- onClick: onZoomOut
58149
- }, /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Toolbar.Icon, {
58150
- icon: __WEBPACK_EXTERNAL_MODULE__box_blueprint_web_assets_icons_Medium_Minus_cc9df143_default__
58151
- }))), /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Text, {
58152
- as: "span",
58153
- color: "textOnLightSecondary",
58154
- "data-testid": "bp-ZoomControls-current",
58155
- title: "Current zoom level",
58156
- variant: "bodyDefaultSemibold"
58157
- }, `${Math.round(currentScale * 100)}%`), /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Tooltip, {
58158
- content: "Zoom in"
58159
- }, /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Toolbar.Button, {
58160
- "aria-label": "Zoom in",
58161
- "data-resin-target": resinTargetZoomIn,
58162
- "data-testid": "bp-ZoomControls-in",
58163
- disabled: currentScale >= maxScaleValue,
58164
- onClick: onZoomIn
58165
- }, /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Toolbar.Icon, {
58166
- icon: __WEBPACK_EXTERNAL_MODULE__box_blueprint_web_assets_icons_Medium_Plus_aaa7b14f_default__
58167
- }))));
58168
- }
58169
58452
  ;// ./src/lib/viewers/doc/DocControlsV2.tsx
58170
58453
 
58171
58454
 
@@ -58239,7 +58522,7 @@ function DocControlsV2({
58239
58522
  };
58240
58523
  return /*#__PURE__*/external_react_["default"].createElement(ExperiencesProvider, {
58241
58524
  experiences: experiences
58242
- }, /*#__PURE__*/external_react_["default"].createElement(ControlsBarV2, null, !isGalleryOpen && /*#__PURE__*/external_react_["default"].createElement(external_react_["default"].Fragment, null, /*#__PURE__*/external_react_["default"].createElement(ThumbnailsToggleV2, {
58525
+ }, /*#__PURE__*/external_react_["default"].createElement(controls_bar_ControlsBarV2, null, !isGalleryOpen && /*#__PURE__*/external_react_["default"].createElement(external_react_["default"].Fragment, null, /*#__PURE__*/external_react_["default"].createElement(ThumbnailsToggleV2, {
58243
58526
  isThumbnailsOpen: isThumbnailsOpen,
58244
58527
  onThumbnailsToggle: onThumbnailsToggle
58245
58528
  }), /*#__PURE__*/external_react_["default"].createElement(FindBarToggleV2, {
@@ -58291,6 +58574,7 @@ const arrow_drop_up_namespaceObject = "<svg viewBox=\"-11 13 24 24\" focusable=\
58291
58574
  ;// ./src/lib/icons/arrow_drop_down.svg
58292
58575
  const arrow_drop_down_namespaceObject = "<svg viewBox=\"-11 13 24 24\" focusable=\"false\">\n <path class=\"icon\" fill=\"#494949\" d=\"M-4 23l5 5 5-5H-4z\"/>\n <path fill=\"none\" d=\"M-11 13h24v24h-24V13z\"/>\n</svg>\n";
58293
58576
  ;// ./src/lib/viewers/doc/DocFindBar.js
58577
+ /* provided dependency */ var DocFindBar_ = __webpack_require__(441)["Tl"];
58294
58578
  function DocFindBar_ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
58295
58579
  function DocFindBar_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? DocFindBar_ownKeys(Object(t), !0).forEach(function (r) { DocFindBar_defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : DocFindBar_ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
58296
58580
  function DocFindBar_defineProperty(e, r, t) { return (r = DocFindBar_toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
@@ -58372,7 +58656,7 @@ class DocFindBar extends (events_default()) {
58372
58656
  // Find input field
58373
58657
  this.findFieldEl = document.createElement('input');
58374
58658
  this.findFieldEl.classList.add('bp-doc-find-field');
58375
- this.findFieldEl.setAttribute('aria-label', "Search input");
58659
+ this.findFieldEl.setAttribute('aria-label', DocFindBar_('find_label'));
58376
58660
  this.findBarEl.appendChild(this.findFieldEl);
58377
58661
 
58378
58662
  // Match Results Count
@@ -58388,11 +58672,11 @@ class DocFindBar extends (events_default()) {
58388
58672
  * @return {void}
58389
58673
  */
58390
58674
  createFindButtons() {
58391
- const findPreviousLabel = "Find previous";
58675
+ const findPreviousLabel = DocFindBar_('find_previous');
58392
58676
  const findPreviousButton = `<button class="bp-doc-find-prev" title="${findPreviousLabel}" type="button">${arrow_drop_up_namespaceObject}</button>`.trim();
58393
- const findNextLabel = "Find next";
58677
+ const findNextLabel = DocFindBar_('find_next');
58394
58678
  const findNextButton = `<button class="bp-doc-find-next" title="${findNextLabel}" type="button">${arrow_drop_down_namespaceObject}</button>`.trim();
58395
- const findCloseLabel = "Close";
58679
+ const findCloseLabel = DocFindBar_('find_close');
58396
58680
  const findCloseButton = `<button class="bp-doc-find-close" title="${findCloseLabel}" type="button">${close_namespaceObject}</button>`.trim();
58397
58681
  this.findButtonContainerEl = document.createElement('span');
58398
58682
  this.findButtonContainerEl.classList.add('bp-doc-find-controls');
@@ -59118,10 +59402,10 @@ class Thumbnail {
59118
59402
  }
59119
59403
 
59120
59404
  /**
59121
- * Make a thumbnail image element
59405
+ * Gets the cached thumbnail entry for an item
59122
59406
  *
59123
59407
  * @param {number} itemIndex - the item index for the overall list (0 indexed)
59124
- * @return {Promise} - promise reolves with the image HTMLElement or null if generation is in progress
59408
+ * @return {{ image?: HTMLElement, inProgress: boolean } | null} - the cache entry, or null if none exists
59125
59409
  */
59126
59410
  getImageFromCache(itemIndex) {
59127
59411
  return this.thumbnailImageCache?.get(itemIndex) || null;
@@ -59588,6 +59872,7 @@ function useGalleryPinch({
59588
59872
  // extracted by mini-css-extract-plugin
59589
59873
 
59590
59874
  ;// ./src/lib/viewers/gallery/GalleryGrid.tsx
59875
+ /* provided dependency */ var GalleryGrid_ = __webpack_require__(441)["Tl"];
59591
59876
  function GalleryGrid_ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
59592
59877
  function GalleryGrid_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? GalleryGrid_ownKeys(Object(t), !0).forEach(function (r) { GalleryGrid_defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : GalleryGrid_ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
59593
59878
  function GalleryGrid_defineProperty(e, r, t) { return (r = GalleryGrid_toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
@@ -59627,7 +59912,7 @@ const GalleryTile = /*#__PURE__*/external_react_["default"].memo(function Galler
59627
59912
  // eslint-disable-next-line jsx-a11y/click-events-have-key-events
59628
59913
  external_react_["default"].createElement("div", {
59629
59914
  "aria-colindex": ariaColIndex,
59630
- "aria-label": (0,util/* replacePlaceholders */.Lb)("Page {1}", [String(pageNum)]),
59915
+ "aria-label": (0,util/* replacePlaceholders */.Lb)(GalleryGrid_('page_gallery_tile'), [String(pageNum)]),
59631
59916
  "aria-selected": isFocused,
59632
59917
  className: `bp-gallery-tile${isFocused ? ' bp-gallery-tile--selected' : ''}`,
59633
59918
  "data-page": pageNum,
@@ -60175,7 +60460,7 @@ function GalleryGrid({
60175
60460
  return /*#__PURE__*/external_react_["default"].createElement("div", {
60176
60461
  ref: gridRef,
60177
60462
  "aria-colcount": isAriaGridEnabled ? columnCount : undefined,
60178
- "aria-label": "Page gallery",
60463
+ "aria-label": GalleryGrid_('page_gallery'),
60179
60464
  "aria-rowcount": isAriaGridEnabled ? getRowCount(pageCount, columnCount) : undefined,
60180
60465
  className: "bp-gallery-grid",
60181
60466
  onFocus: handleGridFocus,
@@ -61824,6 +62109,156 @@ class ThumbnailsSidebar {
61824
62109
  }
61825
62110
  }
61826
62111
  /* harmony default export */ const lib_ThumbnailsSidebar = (ThumbnailsSidebar);
62112
+ // EXTERNAL MODULE: external "react-dom"
62113
+ var external_react_dom_ = __webpack_require__(7516);
62114
+ ;// ./src/lib/ThumbnailsSidebarV2.scss
62115
+ // extracted by mini-css-extract-plugin
62116
+
62117
+ ;// ./src/lib/ThumbnailsSidebarV2.tsx
62118
+ /* provided dependency */ var ThumbnailsSidebarV2_ = __webpack_require__(441)["Tl"];
62119
+ function ThumbnailsSidebarV2_defineProperty(e, r, t) { return (r = ThumbnailsSidebarV2_toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
62120
+ function ThumbnailsSidebarV2_toPropertyKey(t) { var i = ThumbnailsSidebarV2_toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
62121
+ function ThumbnailsSidebarV2_toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
62122
+
62123
+
62124
+
62125
+
62126
+
62127
+
62128
+
62129
+
62130
+
62131
+ const CLASS_SIDEBAR = 'bp-ThumbnailsSidebarV2';
62132
+ const CLASS_ITEM = 'bp-ThumbnailsSidebarV2-item';
62133
+ const CLASS_ITEM_SELECTED = 'bp-ThumbnailsSidebarV2-item--selected';
62134
+ const CLASS_OVERLAY = 'bp-ThumbnailsSidebarV2-overlay';
62135
+ const CLASS_PAGE = 'bp-ThumbnailsSidebarV2-page';
62136
+ const ThumbnailOverlay = /*#__PURE__*/external_react_["default"].memo(function ThumbnailOverlay({
62137
+ pageNumber
62138
+ }) {
62139
+ return /*#__PURE__*/external_react_["default"].createElement(external_react_["default"].Fragment, null, /*#__PURE__*/external_react_["default"].createElement("span", {
62140
+ className: "bp-ThumbnailsSidebarV2-ghost"
62141
+ }, /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Ghost, {
62142
+ borderRadius: tokens_.bpRadius03,
62143
+ "data-testid": "bp-ThumbnailsSidebarV2-ghost",
62144
+ height: "100%",
62145
+ variant: "rectangle",
62146
+ width: "100%"
62147
+ })), /*#__PURE__*/external_react_["default"].createElement("span", {
62148
+ className: "bp-ThumbnailsSidebarV2-pageNumber"
62149
+ }, /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Text, {
62150
+ as: "span",
62151
+ color: "textOnDarkDefault",
62152
+ variant: "bodyDefault"
62153
+ }, `${pageNumber}`)));
62154
+ });
62155
+ function setSelected(thumbnailEl, isSelected) {
62156
+ thumbnailEl.classList.toggle(CLASS_ITEM_SELECTED, isSelected);
62157
+ if (isSelected) {
62158
+ thumbnailEl.setAttribute('aria-current', 'true');
62159
+ } else {
62160
+ thumbnailEl.removeAttribute('aria-current');
62161
+ }
62162
+ }
62163
+ const getPageNumber = thumbnailEl => parseInt(thumbnailEl.dataset.bpPageNum || '', 10);
62164
+ class ThumbnailsSidebarV2 extends lib_ThumbnailsSidebar {
62165
+ constructor(element, pdfViewer, preloader) {
62166
+ super(element, pdfViewer, preloader);
62167
+ ThumbnailsSidebarV2_defineProperty(this, "overlayRoot", (0,client_.createRoot)(document.createElement('div')));
62168
+ ThumbnailsSidebarV2_defineProperty(this, "isOverlayRenderPending", false);
62169
+ ThumbnailsSidebarV2_defineProperty(this, "isDestroyed", false);
62170
+ element.classList.add(CLASS_SIDEBAR);
62171
+ }
62172
+ destroy() {
62173
+ this.isDestroyed = true;
62174
+ this.overlayRoot.unmount();
62175
+ this.anchorEl.classList.remove(CLASS_SIDEBAR);
62176
+ super.destroy();
62177
+ }
62178
+ applyCurrentPageSelection() {
62179
+ this.currentThumbnails.forEach(thumbnailEl => {
62180
+ if (thumbnailEl) {
62181
+ setSelected(thumbnailEl, getPageNumber(thumbnailEl) === this.currentPage);
62182
+ }
62183
+ });
62184
+ }
62185
+ createPlaceholderThumbnail(itemIndex) {
62186
+ const pageNumber = itemIndex + 1;
62187
+ const thumbnailEl = document.createElement('div');
62188
+ thumbnailEl.className = CLASS_ITEM;
62189
+ thumbnailEl.dataset.bpPageNum = `${pageNumber}`;
62190
+ thumbnailEl.setAttribute('role', 'button');
62191
+ thumbnailEl.setAttribute('aria-label', (0,util/* replacePlaceholders */.Lb)(ThumbnailsSidebarV2_('page_gallery_tile'), [`${pageNumber}`]));
62192
+ const overlayEl = document.createElement('span');
62193
+ overlayEl.className = CLASS_OVERLAY;
62194
+ overlayEl.setAttribute('aria-hidden', 'true');
62195
+ thumbnailEl.appendChild(overlayEl);
62196
+
62197
+ // Must stay last: ThumbnailsSidebar appends page images to lastChild.
62198
+ const pageEl = document.createElement('div');
62199
+ pageEl.className = CLASS_PAGE;
62200
+ thumbnailEl.appendChild(pageEl);
62201
+ setSelected(thumbnailEl, pageNumber === this.currentPage);
62202
+ const cachedImage = this.thumbnail.getImageFromCache(itemIndex);
62203
+ if (cachedImage?.image && !cachedImage.inProgress) {
62204
+ pageEl.appendChild(cachedImage.image);
62205
+ thumbnailEl.classList.add(CLASS_BOX_PREVIEW_THUMBNAIL_IMAGE_LOADED);
62206
+ }
62207
+ this.currentThumbnails.push(thumbnailEl);
62208
+ this.renderOverlays();
62209
+ return thumbnailEl;
62210
+ }
62211
+ generateThumbnailImages(listInfo) {
62212
+ super.generateThumbnailImages(listInfo);
62213
+ this.renderOverlays();
62214
+ }
62215
+ refresh() {
62216
+ const result = super.refresh();
62217
+ this.renderOverlays();
62218
+ return result;
62219
+ }
62220
+ thumbnailClickHandler(event) {
62221
+ const thumbnailEl = event.target.closest(`.${CLASS_ITEM}`);
62222
+ if (!thumbnailEl) {
62223
+ return;
62224
+ }
62225
+ if (this.onThumbnailSelect) {
62226
+ this.onThumbnailSelect(getPageNumber(thumbnailEl));
62227
+ }
62228
+ this.anchorEl.focus();
62229
+ event.preventDefault();
62230
+ event.stopImmediatePropagation();
62231
+ }
62232
+ renderOverlays() {
62233
+ if (this.isDestroyed || this.isOverlayRenderPending) {
62234
+ return;
62235
+ }
62236
+ this.isOverlayRenderPending = true;
62237
+ // Waits for VirtualScroller to attach the rows it is building.
62238
+ queueMicrotask(() => {
62239
+ this.isOverlayRenderPending = false;
62240
+ this.flushOverlays();
62241
+ });
62242
+ }
62243
+ flushOverlays() {
62244
+ if (this.isDestroyed) {
62245
+ return;
62246
+ }
62247
+ const portals = this.currentThumbnails.map(thumbnailEl => {
62248
+ const hostEl = thumbnailEl?.isConnected && thumbnailEl.querySelector(`.${CLASS_OVERLAY}`);
62249
+ if (!thumbnailEl || !hostEl) {
62250
+ return null;
62251
+ }
62252
+ const pageNumber = getPageNumber(thumbnailEl);
62253
+ return /*#__PURE__*/(0,external_react_dom_.createPortal)(/*#__PURE__*/external_react_["default"].createElement(ThumbnailOverlay, {
62254
+ pageNumber: pageNumber
62255
+ }), hostEl, `${pageNumber}`);
62256
+ });
62257
+ this.overlayRoot.render(/*#__PURE__*/external_react_["default"].createElement(BlueprintProviders/* default */.A, {
62258
+ container: this.anchorEl
62259
+ }, portals));
62260
+ }
62261
+ }
61827
62262
  ;// ./src/lib/viewers/doc/docAssets.js
61828
62263
 
61829
62264
  const docAssets_STATIC_URI = `third-party/doc/${constants/* DOC_STATIC_ASSETS_VERSION */.r8}`;
@@ -61838,6 +62273,7 @@ const EXIF_READER = [`${EXIF_URI}/exif-reader.min.js`];
61838
62273
  const docAssets_CSS = [`${docAssets_STATIC_URI}/pdf_viewer.min.css`];
61839
62274
  const PRELOAD_JS = [WORKER];
61840
62275
  ;// ./src/lib/viewers/doc/DocBaseViewer.js
62276
+ /* provided dependency */ var DocBaseViewer_ = __webpack_require__(441)["Tl"];
61841
62277
  function DocBaseViewer_ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
61842
62278
  function DocBaseViewer_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? DocBaseViewer_ownKeys(Object(t), !0).forEach(function (r) { DocBaseViewer_defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : DocBaseViewer_ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
61843
62279
  function DocBaseViewer_defineProperty(e, r, t) { return (r = DocBaseViewer_toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
@@ -61866,6 +62302,7 @@ function DocBaseViewer_toPrimitive(t, r) { if ("object" != typeof t || !t) retur
61866
62302
 
61867
62303
 
61868
62304
 
62305
+
61869
62306
 
61870
62307
 
61871
62308
  const DOC_FIRST_PAGES_ENABLED = 'docFirstPages.enabled';
@@ -61986,7 +62423,7 @@ class DocBaseViewer extends viewers_BaseViewer {
61986
62423
  super.setup();
61987
62424
  this.docFirstPagesEnabled = this.featureEnabled(DOC_FIRST_PAGES_ENABLED);
61988
62425
  this.docEl = this.createViewer(document.createElement('div'));
61989
- this.docEl.setAttribute('aria-label', "Document Viewer");
62426
+ this.docEl.setAttribute('aria-label', DocBaseViewer_('document_label'));
61990
62427
  this.docEl.classList.add('bp-doc');
61991
62428
  this.docEl.tabIndex = '0';
61992
62429
  if (lib_Browser.getName() === 'Safari') {
@@ -62010,7 +62447,7 @@ class DocBaseViewer extends viewers_BaseViewer {
62010
62447
  this.thumbnailsSidebarEl = document.createElement('nav');
62011
62448
  this.thumbnailsSidebarEl.className = `${constants/* CLASS_BOX_PREVIEW_THUMBNAILS_CONTAINER */.Kb}`;
62012
62449
  this.thumbnailsSidebarEl.setAttribute('data-testid', 'thumbnails-sidebar');
62013
- this.thumbnailsSidebarEl.setAttribute('aria-label', "Page thumbnails");
62450
+ this.thumbnailsSidebarEl.setAttribute('aria-label', DocBaseViewer_('thumbnail_label'));
62014
62451
  this.thumbnailsSidebarEl.tabIndex = 0;
62015
62452
  this.rootEl.insertBefore(this.thumbnailsSidebarEl, this.containerEl);
62016
62453
  }
@@ -62263,7 +62700,7 @@ class DocBaseViewer extends viewers_BaseViewer {
62263
62700
  } = this.options;
62264
62701
  const isWatermarked = file && file.watermark_info && file.watermark_info.is_watermarked;
62265
62702
  if (assets) {
62266
- if (this.featureEnabled('useNpmPdfjs') || isNpmBuild()) {
62703
+ if (this.featureEnabled('useNpmPdfjs') || (0,isNpmBuild/* isNpmBuild */.w)()) {
62267
62704
  this.prefetchAssets(EXIF_READER, docAssets_CSS);
62268
62705
  } else {
62269
62706
  const ASSETS = this.featureEnabled(DOC_FIRST_PAGES_ENABLED) ? [...JS_NO_EXIF, ...EXIF_READER] : docAssets_JS;
@@ -62313,7 +62750,7 @@ class DocBaseViewer extends viewers_BaseViewer {
62313
62750
  loadViewerAssets({
62314
62751
  isUseNpmPdfjsEnabled = false
62315
62752
  } = {}) {
62316
- if (isUseNpmPdfjsEnabled || this.featureEnabled('useNpmPdfjs') || isNpmBuild()) {
62753
+ if (isUseNpmPdfjsEnabled || this.featureEnabled('useNpmPdfjs') || (0,isNpmBuild/* isNpmBuild */.w)()) {
62317
62754
  this.loadAssets(EXIF_READER, []);
62318
62755
  // Kick off the dynamic imports so the pdfjs chunks land in cache
62319
62756
  // before per-file load() awaits them. Errors are swallowed; load()
@@ -62490,7 +62927,7 @@ class DocBaseViewer extends viewers_BaseViewer {
62490
62927
 
62491
62928
  // Show print dialog after PRINT_DIALOG_TIMEOUT_MS
62492
62929
  this.printDialogTimeout = setTimeout(() => {
62493
- this.printPopup.show("Preparing to print...", "Print", () => {
62930
+ this.printPopup.show(DocBaseViewer_('print_loading'), DocBaseViewer_('print'), () => {
62494
62931
  this.printPopup.hide();
62495
62932
  this.browserPrint();
62496
62933
  });
@@ -62508,7 +62945,7 @@ class DocBaseViewer extends viewers_BaseViewer {
62508
62945
  } else {
62509
62946
  // Update popup UI to reflect that print is ready
62510
62947
  this.printPopup.enableButton();
62511
- this.printPopup.messageEl.textContent = "Ready to print.";
62948
+ this.printPopup.messageEl.textContent = DocBaseViewer_('print_ready');
62512
62949
  this.printPopup.loadingIndicator.classList.add(constants/* CLASS_HIDDEN */.zX);
62513
62950
  this.printPopup.printCheckmark.classList.remove(constants/* CLASS_HIDDEN */.zX);
62514
62951
  }
@@ -62876,13 +63313,13 @@ class DocBaseViewer extends viewers_BaseViewer {
62876
63313
  const isTooManyOps = message === MAX_OPERATIONS_ERROR_MESSAGE;
62877
63314
  let error;
62878
63315
  if (isTooManyOps) {
62879
- error = new PreviewError/* default */.A(lib_events/* ERROR_CODE */.bo.VIEWER_TOO_MANY_OPERATIONS, "The file is too complex to display in your browser. Please download it to view.", message);
63316
+ error = new PreviewError/* default */.A(lib_events/* ERROR_CODE */.bo.VIEWER_TOO_MANY_OPERATIONS, DocBaseViewer_('error_too_many_operations'), message);
62880
63317
  } else if (status === 202) {
62881
- error = new PreviewError/* default */.A(lib_events/* ERROR_CODE */.bo.DELETED_REPS, "This preview didn’t load. Please try to open or download the file to view.", {
63318
+ error = new PreviewError/* default */.A(lib_events/* ERROR_CODE */.bo.DELETED_REPS, DocBaseViewer_('error_refresh'), {
62882
63319
  isRepDeleted: true
62883
63320
  }, message);
62884
63321
  } else {
62885
- error = new PreviewError/* default */.A(lib_events/* ERROR_CODE */.bo.CONTENT_DOWNLOAD, "This preview didn’t load because the document may be protected. Please try to open or download the file to view.", message);
63322
+ error = new PreviewError/* default */.A(lib_events/* ERROR_CODE */.bo.CONTENT_DOWNLOAD, DocBaseViewer_('error_document'), message);
62886
63323
  }
62887
63324
  this.handleDownloadError(error, pdfUrl);
62888
63325
  });
@@ -63411,7 +63848,8 @@ class DocBaseViewer extends viewers_BaseViewer {
63411
63848
  // if the preloader has initialized the thumbnails sidebar don't reinitialize it when the pdf loads
63412
63849
  // we only need one thumbnail sidebar for both the preloader and the pdfViewer
63413
63850
  if (!this.thumbnailsSidebar) {
63414
- this.thumbnailsSidebar = new lib_ThumbnailsSidebar(this.thumbnailsSidebarEl, this.pdfViewer, this.preloader);
63851
+ const Sidebar = this.featureEnabled(constants/* BLUEPRINT_MIGRATION_SUPPORTING_UI */.Ed) ? ThumbnailsSidebarV2 : lib_ThumbnailsSidebar;
63852
+ this.thumbnailsSidebar = new Sidebar(this.thumbnailsSidebarEl, this.pdfViewer, this.preloader);
63415
63853
  this.thumbnailsSidebar.init({
63416
63854
  currentPage: this.pdfViewer?.currentPageNumber,
63417
63855
  isOpen: this.shouldThumbnailsBeToggled(),
@@ -65255,6 +65693,7 @@ class DocFirstPreloader extends (events_default()) {
65255
65693
  // extracted by mini-css-extract-plugin
65256
65694
 
65257
65695
  ;// ./src/lib/viewers/doc/DocumentViewer.js
65696
+ /* provided dependency */ var DocumentViewer_ = __webpack_require__(441)["Tl"];
65258
65697
  function DocumentViewer_defineProperty(e, r, t) { return (r = DocumentViewer_toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
65259
65698
  function DocumentViewer_toPropertyKey(t) { var i = DocumentViewer_toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
65260
65699
  function DocumentViewer_toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
@@ -65328,7 +65767,7 @@ class DocumentViewer extends doc_DocBaseViewer {
65328
65767
  } = this.options.file;
65329
65768
  const isOfficeOnlineExtension = OFFICE_ONLINE_EXTENSIONS.includes(extension);
65330
65769
  if (isOfficeOnlineExtension && lib_Browser.isIE()) {
65331
- this.options.ui.showNotification("This version of Internet Explorer is out of date and the experience may be degraded. Please try switching to a different browser for a better experience.", null, true);
65770
+ this.options.ui.showNotification(DocumentViewer_('error_internet_explorer_office_online'), null, true);
65332
65771
  }
65333
65772
  }
65334
65773
 
@@ -65369,6 +65808,7 @@ class DocumentViewer extends doc_DocBaseViewer {
65369
65808
  }
65370
65809
  /* harmony default export */ const doc_DocumentViewer = (DocumentViewer);
65371
65810
  ;// ./src/lib/viewers/doc/AutoCADViewer.js
65811
+ /* provided dependency */ var AutoCADViewer_ = __webpack_require__(441)["Tl"];
65372
65812
 
65373
65813
 
65374
65814
 
@@ -65403,7 +65843,7 @@ class AutoCADViewer extends doc_DocumentViewer {
65403
65843
  [AutoCADViewer_FIELD_HASXREFS]: hasxrefsValue
65404
65844
  }) => {
65405
65845
  if (hasxrefsValue) {
65406
- this.options.ui.showNotification("This preview has references you cannot view. Open the file in its native application.", null, true);
65846
+ this.options.ui.showNotification(AutoCADViewer_('has_x_refs'), null, true);
65407
65847
  this.emitMetric({
65408
65848
  name: lib_events/* MISSING_EXTERNAL_REFS */.w0,
65409
65849
  data: extension
@@ -66520,6 +66960,7 @@ const gear_24px_namespaceObject = "<svg version=\"1.1\" width=\"24\" height=\"24
66520
66960
  ;// ./src/lib/icons/pause_24px.svg
66521
66961
  const pause_24px_namespaceObject = "<svg fill=\"#fff\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" focusable=\"false\">\n <path d=\"M6 19h4V5H6v14zm8-14v14h4V5h-4z\"/>\n <path d=\"M0 0h24v24H0z\" fill=\"none\"/>\n</svg>\n";
66522
66962
  ;// ./src/lib/viewers/box3d/model3d/Model3DControls.js
66963
+ /* provided dependency */ var Model3DControls_ = __webpack_require__(441)["Tl"];
66523
66964
  function Model3DControls_defineProperty(e, r, t) { return (r = Model3DControls_toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
66524
66965
  function Model3DControls_toPropertyKey(t) { var i = Model3DControls_toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
66525
66966
  function Model3DControls_toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
@@ -66576,12 +67017,12 @@ class Model3DControls extends box3d_Box3DControls {
66576
67017
  /** @inheritdoc */
66577
67018
  addUi() {
66578
67019
  // Reset button
66579
- this.resetButtonEl = this.controls.add("Reset", this.handleReset, '', _3D_reset_24px_namespaceObject);
67020
+ this.resetButtonEl = this.controls.add(Model3DControls_('box3d_reset'), this.handleReset, '', _3D_reset_24px_namespaceObject);
66580
67021
 
66581
67022
  // Animation controls
66582
67023
  this.animationClipsPullup.addListener(EVENT_SELECT_ANIMATION_CLIP, this.handleSelectAnimationClip);
66583
- this.animationToggleEl = this.controls.add("Play/pause animation", this.handleToggleAnimation, '', play_24px_namespaceObject);
66584
- this.animationClipButtonEl = this.controls.add("Animation clips", this.handleToggleAnimationClips, '', animation_24px_namespaceObject);
67024
+ this.animationToggleEl = this.controls.add(Model3DControls_('box3d_toggle_animation'), this.handleToggleAnimation, '', play_24px_namespaceObject);
67025
+ this.animationClipButtonEl = this.controls.add(Model3DControls_('box3d_animation_clips'), this.handleToggleAnimationClips, '', animation_24px_namespaceObject);
66585
67026
  this.animationClipButtonEl.parentNode.appendChild(this.animationClipsPullup.pullupEl);
66586
67027
  this.hideAnimationControls();
66587
67028
 
@@ -66595,7 +67036,7 @@ class Model3DControls extends box3d_Box3DControls {
66595
67036
  this.settingsPullup.addListener(EVENT_SET_GRID_VISIBLE, this.handleSetGridVisible);
66596
67037
  this.settingsPullup.addListener(EVENT_SET_CAMERA_PROJECTION, this.handleSetCameraProjection);
66597
67038
  this.settingsPullup.addListener(EVENT_ROTATE_ON_AXIS, this.handleAxisRotation);
66598
- this.settingsButtonEl = this.controls.add("Settings", this.handleToggleSettings, '', gear_24px_namespaceObject);
67039
+ this.settingsButtonEl = this.controls.add(Model3DControls_('box3d_settings'), this.handleToggleSettings, '', gear_24px_namespaceObject);
66599
67040
  this.settingsButtonEl.parentNode.appendChild(this.settingsPullup.pullupEl);
66600
67041
 
66601
67042
  // Fullscreen button
@@ -66852,6 +67293,7 @@ function IconAnimation24(props) {
66852
67293
  // extracted by mini-css-extract-plugin
66853
67294
 
66854
67295
  ;// ./src/lib/viewers/controls/box3d/AnimationClipsToggle.tsx
67296
+ /* provided dependency */ var AnimationClipsToggle_ = __webpack_require__(441)["Tl"];
66855
67297
 
66856
67298
 
66857
67299
 
@@ -66864,7 +67306,7 @@ function AnimationClipsToggle(props, ref) {
66864
67306
  className: "bp-AnimationClipsToggle",
66865
67307
  "data-resin-target": "animationClips",
66866
67308
  onClick: onClick,
66867
- title: "Animation clips",
67309
+ title: AnimationClipsToggle_('box3d_animation_clips'),
66868
67310
  type: "button"
66869
67311
  }, /*#__PURE__*/external_react_["default"].createElement(icons_IconAnimation24, null));
66870
67312
  }
@@ -66987,6 +67429,7 @@ function RotateAxisControl({
66987
67429
  // extracted by mini-css-extract-plugin
66988
67430
 
66989
67431
  ;// ./src/lib/viewers/controls/box3d/RotateAxisControls.tsx
67432
+ /* provided dependency */ var RotateAxisControls_ = __webpack_require__(441)["Tl"];
66990
67433
 
66991
67434
 
66992
67435
 
@@ -66998,7 +67441,7 @@ function RotateAxisControls({
66998
67441
  }, /*#__PURE__*/external_react_["default"].createElement("div", {
66999
67442
  className: "bp-RotateAxisControls-label",
67000
67443
  "data-testid": "bp-rotate-axis-controls-label"
67001
- }, "Rotate Model"), /*#__PURE__*/external_react_["default"].createElement("div", {
67444
+ }, RotateAxisControls_('box3d_settings_rotate_label')), /*#__PURE__*/external_react_["default"].createElement("div", {
67002
67445
  className: "bp-RotateAxisControls-controls"
67003
67446
  }, /*#__PURE__*/external_react_["default"].createElement(RotateAxisControl, {
67004
67447
  axis: "x",
@@ -67018,6 +67461,7 @@ function RotateAxisControls({
67018
67461
  // extracted by mini-css-extract-plugin
67019
67462
 
67020
67463
  ;// ./src/lib/viewers/controls/box3d/Model3DSettings.tsx
67464
+ /* provided dependency */ var Model3DSettings_ = __webpack_require__(441)["Tl"];
67021
67465
 
67022
67466
 
67023
67467
 
@@ -67035,27 +67479,27 @@ let RenderMode = /*#__PURE__*/function (RenderMode) {
67035
67479
  RenderMode["UV_OVERLAY"] = "UV Overlay";
67036
67480
  return RenderMode;
67037
67481
  }({});
67038
- const cameraProjectionOptions = [{
67039
- label: "Perspective",
67482
+ const getCameraProjectionOptions = () => [{
67483
+ label: Model3DSettings_('box3d_camera_projection_perspective'),
67040
67484
  value: CameraProjection.PERSPECTIVE
67041
67485
  }, {
67042
- label: "Orthographic",
67486
+ label: Model3DSettings_('box3d_camera_projection_orthographic'),
67043
67487
  value: CameraProjection.ORTHOGRAPHIC
67044
67488
  }];
67045
- const renderModeOptions = [{
67046
- label: "Lit",
67489
+ const getRenderModeOptions = () => [{
67490
+ label: Model3DSettings_('box3d_render_mode_lit'),
67047
67491
  value: RenderMode.LIT
67048
67492
  }, {
67049
- label: "Unlit",
67493
+ label: Model3DSettings_('box3d_render_mode_unlit'),
67050
67494
  value: RenderMode.UNLIT
67051
67495
  }, {
67052
- label: "Normals",
67496
+ label: Model3DSettings_('box3d_render_mode_normals'),
67053
67497
  value: RenderMode.NORMALS
67054
67498
  }, {
67055
- label: "Shape",
67499
+ label: Model3DSettings_('box3d_render_mode_shape'),
67056
67500
  value: RenderMode.SHAPE
67057
67501
  }, {
67058
- label: "UV Overlay",
67502
+ label: Model3DSettings_('box3d_render_mode_uv_overlay'),
67059
67503
  value: RenderMode.UV_OVERLAY
67060
67504
  }];
67061
67505
  function Model3DSettings({
@@ -67081,25 +67525,25 @@ function Model3DSettings({
67081
67525
  className: "bp-Model3DSettings-menu",
67082
67526
  name: SettingsContext/* Menu */.W.MAIN
67083
67527
  }, /*#__PURE__*/external_react_["default"].createElement(settings_Settings/* default */.A.Dropdown, {
67084
- label: "Render mode",
67085
- listItems: renderModeOptions,
67528
+ label: Model3DSettings_('box3d_settings_render_label'),
67529
+ listItems: getRenderModeOptions(),
67086
67530
  onSelect: onRenderModeChange,
67087
67531
  value: renderMode
67088
67532
  }), /*#__PURE__*/external_react_["default"].createElement(settings_Settings/* default */.A.CheckboxItem, {
67089
67533
  isChecked: showGrid,
67090
- label: "Show grid",
67534
+ label: Model3DSettings_('box3d_settings_grid_label'),
67091
67535
  onChange: onShowGridToggle
67092
67536
  }), /*#__PURE__*/external_react_["default"].createElement(settings_Settings/* default */.A.CheckboxItem, {
67093
67537
  isChecked: showWireframes,
67094
- label: "Show wireframes",
67538
+ label: Model3DSettings_('box3d_settings_wireframes_label'),
67095
67539
  onChange: onShowWireframesToggle
67096
67540
  }), /*#__PURE__*/external_react_["default"].createElement(settings_Settings/* default */.A.CheckboxItem, {
67097
67541
  isChecked: showSkeletons,
67098
- label: "Show skeletons",
67542
+ label: Model3DSettings_('box3d_settings_skeletons_label'),
67099
67543
  onChange: onShowSkeletonsToggle
67100
67544
  }), /*#__PURE__*/external_react_["default"].createElement(settings_Settings/* default */.A.Dropdown, {
67101
- label: "Camera Projection",
67102
- listItems: cameraProjectionOptions,
67545
+ label: Model3DSettings_('box3d_settings_projection_label'),
67546
+ listItems: getCameraProjectionOptions(),
67103
67547
  onSelect: onCameraProjectionChange,
67104
67548
  value: cameraProjection
67105
67549
  }), /*#__PURE__*/external_react_["default"].createElement(RotateAxisControls, {
@@ -67124,6 +67568,7 @@ function IconReset24(props) {
67124
67568
  // extracted by mini-css-extract-plugin
67125
67569
 
67126
67570
  ;// ./src/lib/viewers/controls/box3d/ResetControl.tsx
67571
+ /* provided dependency */ var ResetControl_ = __webpack_require__(441)["Tl"];
67127
67572
 
67128
67573
 
67129
67574
 
@@ -67137,7 +67582,7 @@ function ResetControl({
67137
67582
  className: "bp-ResetControl",
67138
67583
  "data-resin-target": "resetView",
67139
67584
  onClick: handleClick,
67140
- title: "Reset",
67585
+ title: ResetControl_('box3d_reset'),
67141
67586
  type: "button"
67142
67587
  }, /*#__PURE__*/external_react_["default"].createElement(icons_IconReset24, null));
67143
67588
  }
@@ -67473,6 +67918,7 @@ function sceneEntities(prefix) {
67473
67918
  }
67474
67919
  /* harmony default export */ const model3d_SceneEntities = (sceneEntities);
67475
67920
  ;// ./src/lib/viewers/box3d/model3d/Model3DRenderer.js
67921
+ /* provided dependency */ var Model3DRenderer_ = __webpack_require__(441)["Tl"];
67476
67922
  function Model3DRenderer_ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
67477
67923
  function Model3DRenderer_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? Model3DRenderer_ownKeys(Object(t), !0).forEach(function (r) { Model3DRenderer_defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : Model3DRenderer_ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
67478
67924
  function Model3DRenderer_defineProperty(e, r, t) { return (r = Model3DRenderer_toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
@@ -67802,7 +68248,7 @@ class Model3DRenderer extends box3d_Box3DRenderer {
67802
68248
  * @return {void}
67803
68249
  */
67804
68250
  onUnsupportedRepresentation() {
67805
- this.emit('error', new Error("This preview didn’t load because the file type is unsupported. Please try to open or download the file to view."));
68251
+ this.emit('error', new Error(Model3DRenderer_('error_unsupported')));
67806
68252
  }
67807
68253
 
67808
68254
  /**
@@ -68578,6 +69024,7 @@ class Model3DViewer extends box3d_Box3DViewer {
68578
69024
  }
68579
69025
  /* harmony default export */ const model3d_Model3DViewer = (Model3DViewer);
68580
69026
  ;// ./src/lib/viewers/box3d/model3d/Model3DLoader.js
69027
+ /* provided dependency */ var Model3DLoader_ = __webpack_require__(441)["Tl"];
68581
69028
 
68582
69029
 
68583
69030
 
@@ -68607,7 +69054,7 @@ class Model3DLoader extends viewers_AssetLoader {
68607
69054
  determineViewer(file, disabledViewers = []) {
68608
69055
  const viewer = super.determineViewer(file, disabledViewers);
68609
69056
  if (viewer && !lib_Browser.supportsModel3D()) {
68610
- const message = (0,util/* replacePlaceholders */.Lb)("Your browser doesn’t support preview for {1}. Please try to open or download the file to view.", ["3D models"]);
69057
+ const message = (0,util/* replacePlaceholders */.Lb)(Model3DLoader_('error_browser_unsupported'), [Model3DLoader_('3d_models')]);
68611
69058
  throw new PreviewError/* default */.A(lib_events/* ERROR_CODE */.bo.BROWSER_UNSUPPORTED, message, {
68612
69059
  file
68613
69060
  });
@@ -68700,6 +69147,7 @@ class IFrameLoader extends viewers_AssetLoader {
68700
69147
  // EXTERNAL MODULE: ./src/lib/Location.js
68701
69148
  var Location = __webpack_require__(968);
68702
69149
  ;// ./src/lib/viewers/office/OfficeViewer.js
69150
+ /* provided dependency */ var OfficeViewer_ = __webpack_require__(441)["Tl"];
68703
69151
 
68704
69152
 
68705
69153
 
@@ -68792,7 +69240,7 @@ class OfficeViewer extends viewers_BaseViewer {
68792
69240
 
68793
69241
  // Show print dialog after PRINT_DIALOG_TIMEOUT_MS
68794
69242
  this.printDialogTimeout = setTimeout(() => {
68795
- this.printPopup.show("Preparing to print...", "Print", () => {
69243
+ this.printPopup.show(OfficeViewer_('print_loading'), OfficeViewer_('print'), () => {
68796
69244
  this.printPopup.hide();
68797
69245
  this.browserPrint();
68798
69246
  });
@@ -68808,11 +69256,11 @@ class OfficeViewer extends viewers_BaseViewer {
68808
69256
  clearTimeout(this.printDialogTimeout);
68809
69257
  this.browserPrint();
68810
69258
  } else if (this.printPopup instanceof PrintModalRoot) {
68811
- this.printPopup.showReady("Ready to print.");
69259
+ this.printPopup.showReady(OfficeViewer_('print_ready'));
68812
69260
  } else {
68813
69261
  // Update popup UI to reflect that print is ready
68814
69262
  this.printPopup.enableButton();
68815
- this.printPopup.messageEl.textContent = "Ready to print.";
69263
+ this.printPopup.messageEl.textContent = OfficeViewer_('print_ready');
68816
69264
  this.printPopup.loadingIndicator.classList.add(constants/* CLASS_HIDDEN */.zX);
68817
69265
  this.printPopup.printCheckmark.classList.remove(constants/* CLASS_HIDDEN */.zX);
68818
69266
  }
@@ -69166,7 +69614,11 @@ swf_SWFLoader, video360_Video360Loader, media_MediaLoader, image360_Image360Load
69166
69614
 
69167
69615
  ;// external "@box/blueprint-web-assets/icons/Medium/Trash"
69168
69616
 
69617
+ ;// ./src/lib/ComparisonBanner.scss
69618
+ // extracted by mini-css-extract-plugin
69619
+
69169
69620
  ;// ./src/lib/ComparisonBanner.tsx
69621
+ /* provided dependency */ var ComparisonBanner_ = __webpack_require__(441)["Tl"];
69170
69622
  function ComparisonBanner_defineProperty(e, r, t) { return (r = ComparisonBanner_toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
69171
69623
  function ComparisonBanner_toPropertyKey(t) { var i = ComparisonBanner_toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
69172
69624
  function ComparisonBanner_toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
@@ -69180,6 +69632,7 @@ function ComparisonBanner_toPrimitive(t, r) { if ("object" != typeof t || !t) re
69180
69632
 
69181
69633
 
69182
69634
 
69635
+
69183
69636
  function formatComparisonTimestamp(iso, locale) {
69184
69637
  if (!iso) {
69185
69638
  return '';
@@ -69218,7 +69671,7 @@ function ComparisonBanner({
69218
69671
  return /*#__PURE__*/external_react_["default"].createElement("div", {
69219
69672
  className: isComparedPreview ? `${constants/* CLASS_BOX_PREVIEW_VERSION_BANNER */.on} ${constants/* CLASS_BOX_PREVIEW_VERSION_BANNER_COMPARED */.Uj}` : constants/* CLASS_BOX_PREVIEW_VERSION_BANNER */.on
69220
69673
  }, /*#__PURE__*/external_react_["default"].createElement("div", {
69221
- "aria-label": isComparedPreview ? "Previous version" : "Current version",
69674
+ "aria-label": isComparedPreview ? ComparisonBanner_('comparison_banner_previous') : ComparisonBanner_('comparison_banner_current'),
69222
69675
  className: "bp-version-banner-details",
69223
69676
  role: "status"
69224
69677
  }, versionNumber && /*#__PURE__*/external_react_["default"].createElement("span", {
@@ -69240,7 +69693,7 @@ function ComparisonBanner({
69240
69693
  }, /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.DropdownMenu.Root, null, /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.DropdownMenu.Trigger, {
69241
69694
  asChild: true
69242
69695
  }, /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.IconButton, {
69243
- "aria-label": "More actions",
69696
+ "aria-label": ComparisonBanner_('comparison_banner_actions'),
69244
69697
  "data-target-id": "ComparisonBanner-openActions",
69245
69698
  icon: __WEBPACK_EXTERNAL_MODULE__box_blueprint_web_assets_icons_Medium_Ellipsis_9a96c07b_default__,
69246
69699
  size: "small",
@@ -69255,21 +69708,21 @@ function ComparisonBanner({
69255
69708
  }, /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.DropdownMenu.Item.StartElement, {
69256
69709
  icon: __WEBPACK_EXTERNAL_MODULE__box_blueprint_web_assets_icons_Medium_Checkmark_52a58454_default__
69257
69710
  }), /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.DropdownMenu.Item.MainContent, {
69258
- label: "Make Current"
69711
+ label: ComparisonBanner_('comparison_banner_make_current')
69259
69712
  })), onDownload && /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.DropdownMenu.Item, {
69260
69713
  "data-target-id": "ComparisonBanner-download",
69261
69714
  onSelect: onDownload
69262
69715
  }, /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.DropdownMenu.Item.StartElement, {
69263
69716
  icon: __WEBPACK_EXTERNAL_MODULE__box_blueprint_web_assets_icons_Medium_Download_0dc63cde_default__
69264
69717
  }), /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.DropdownMenu.Item.MainContent, {
69265
- label: "Download"
69718
+ label: ComparisonBanner_('download')
69266
69719
  })), onOpenFullPreview && /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.DropdownMenu.Item, {
69267
69720
  "data-target-id": "ComparisonBanner-openFullPreview",
69268
69721
  onSelect: onOpenFullPreview
69269
69722
  }, /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.DropdownMenu.Item.StartElement, {
69270
69723
  icon: __WEBPACK_EXTERNAL_MODULE__box_blueprint_web_assets_icons_Medium_Expand_92c6b888_default__
69271
69724
  }), /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.DropdownMenu.Item.MainContent, {
69272
- label: "Open Full Preview"
69725
+ label: ComparisonBanner_('comparison_banner_open_full_preview')
69273
69726
  })), onDelete && (onMakeCurrent || onDownload || onOpenFullPreview) && /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.DropdownMenu.Separator, null), onDelete && /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.DropdownMenu.Item, {
69274
69727
  "data-target-id": "ComparisonBanner-delete",
69275
69728
  onSelect: onDelete,
@@ -69277,7 +69730,7 @@ function ComparisonBanner({
69277
69730
  }, /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.DropdownMenu.Item.StartElement, {
69278
69731
  icon: __WEBPACK_EXTERNAL_MODULE__box_blueprint_web_assets_icons_Medium_Trash_28211f44_default__
69279
69732
  }), /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.DropdownMenu.Item.MainContent, {
69280
- label: "Delete"
69733
+ label: ComparisonBanner_('comparison_banner_delete')
69281
69734
  })))))));
69282
69735
  }
69283
69736
  class ComparisonBannerRoot {
@@ -69347,6 +69800,7 @@ function ErrorIcon({
69347
69800
  // extracted by mini-css-extract-plugin
69348
69801
 
69349
69802
  ;// ./src/lib/viewers/error/PreviewErrorViewer.js
69803
+ /* provided dependency */ var PreviewErrorViewer_ = __webpack_require__(441)["Tl"];
69350
69804
 
69351
69805
 
69352
69806
 
@@ -69420,7 +69874,7 @@ class PreviewErrorViewer extends viewers_BaseViewer {
69420
69874
  * @return {void}
69421
69875
  */
69422
69876
  load(err) {
69423
- const error = err instanceof PreviewError/* default */.A ? err : new PreviewError/* default */.A(lib_events/* ERROR_CODE */.bo.GENERIC, "This preview didn’t load. Please try to open or download the file to view.", {}, err.message);
69877
+ const error = err instanceof PreviewError/* default */.A ? err : new PreviewError/* default */.A(lib_events/* ERROR_CODE */.bo.GENERIC, PreviewErrorViewer_('error_generic'), {}, err.message);
69424
69878
  const {
69425
69879
  displayMessage,
69426
69880
  details,
@@ -69481,7 +69935,7 @@ class PreviewErrorViewer extends viewers_BaseViewer {
69481
69935
  this.downloadBtnEl = this.infoEl.appendChild(document.createElement('button'));
69482
69936
  this.downloadBtnEl.className = 'bp-btn bp-btn-primary';
69483
69937
  this.downloadBtnEl.dataset.testid = 'preview-error-download-btn';
69484
- this.downloadBtnEl.textContent = "Download";
69938
+ this.downloadBtnEl.textContent = PreviewErrorViewer_('download');
69485
69939
  this.downloadBtnEl.addEventListener('click', this.download);
69486
69940
  }
69487
69941
 
@@ -69584,7 +70038,102 @@ class LoadingIcon {
69584
70038
  }
69585
70039
  ;// ./src/lib/shell.html
69586
70040
  const shell_namespaceObject = "<div class=\"bp-container\">\n <div class=\"bp-header-container bp-is-hidden\">\n <div>\n <span class=\"bp-default-logo\">\n <svg height=\"25\" width=\"45\" viewBox=\"0 0 98 52\" focusable=\"false\">\n <path\n d=\"M95.34 44.7c1.1 1.53.8 3.66-.75 4.8-1.56 1.13-3.74.84-4.93-.64l-7.8-10.23-7.82 10.23c-1.2 1.48-3.36 1.77-4.9.63-1.55-1.15-1.87-3.28-.75-4.8l9.06-11.86L68.4 21c-1.1-1.54-.8-3.67.75-4.8 1.55-1.14 3.72-.85 4.9.63l7.82 10.23 7.8-10.23c1.2-1.48 3.38-1.77 4.92-.63 1.52 1.13 1.84 3.26.73 4.8L86.3 32.84l9.04 11.85zM53.9 43.22c-5.86 0-10.6-4.65-10.6-10.4 0-5.72 4.74-10.37 10.6-10.37 5.85 0 10.6 4.65 10.6 10.38 0 5.74-4.75 10.4-10.6 10.4zm-31.23 0c-5.85 0-10.6-4.65-10.6-10.4 0-5.72 4.75-10.37 10.6-10.37 5.86 0 10.6 4.65 10.6 10.38 0 5.74-4.74 10.4-10.6 10.4zm31.22-27.7c-6.78 0-12.66 3.73-15.63 9.2-2.97-5.47-8.84-9.2-15.6-9.2-4 0-7.66 1.3-10.6 3.46V4.38C12.02 2.52 10.45 1 8.53 1 6.6 1 5.03 2.5 5 4.4v28.7c.16 9.43 8 17.03 17.67 17.03 6.77 0 12.64-3.73 15.6-9.2 2.98 5.47 8.86 9.2 15.62 9.2 9.74 0 17.66-7.75 17.66-17.32 0-9.55-7.92-17.3-17.68-17.3z\"\n ></path>\n </svg>\n </span>\n <img class=\"bp-is-hidden bp-custom-logo\" />\n <div class=\"bp-header-btns\">\n <button\n class=\"bp-btn-plain bp-btn-annotate-draw bp-is-hidden\"\n data-testid=\"draw-annotation\"\n type=\"button\"\n >\n <svg\n class=\"bp-btn-annotate-draw-enter\"\n width=\"22\"\n height=\"21\"\n viewBox=\"0 0 14.88 14.88\"\n focusable=\"false\"\n >\n <path\n d=\"M11.65,6.64,5.11,13.17.06,14.94,1.83,9.89,8.37,3.35Zm1.41-1.41L9.78,1.94,11.37.35a1,1,0,0,1,1.41,0l1.87,1.87a1,1,0,0,1,0,1.41Z\"\n transform=\"translate(-0.06 -0.06)\"\n fill-rule=\"evenodd\"\n />\n </svg>\n </button>\n <button\n class=\"bp-btn-plain bp-btn-annotate-point bp-is-hidden\"\n data-testid=\"point-annotation\"\n type=\"button\"\n >\n <svg width=\"22\" height=\"21\" viewBox=\"0 0 22 21\" focusable=\"false\">\n <path\n d=\"M11 21l-4-4H1.99C.89 17 0 16.11 0 15V2C0 .895.89 0 1.99 0h18.02C21.11 0 22 .89 22 2v13c0 1.105-.89 2-1.99 2H15l-4 4zm-7-9.5c0-.276.228-.5.51-.5h8.98c.282 0 .51.232.51.5 0 .276-.228.5-.51.5H4.51c-.282 0-.51-.232-.51-.5zm0-3c0-.276.23-.5.5-.5h11c.276 0 .5.232.5.5 0 .276-.23.5-.5.5h-11c-.276 0-.5-.232-.5-.5zm0-3c0-.276.22-.5.498-.5h13.004c.275 0 .498.232.498.5 0 .276-.22.5-.498.5H4.498C4.223 6 4 5.768 4 5.5z\"\n fill-rule=\"evenodd\"\n />\n </svg>\n </button>\n <button class=\"bp-btn-plain bp-btn-print bp-is-hidden\" data-testid=\"print-preview\" type=\"button\">\n <svg height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" focusable=\"false\">\n <path\n d=\"M19 8H5c-1.66 0-3 1.34-3 3v6h4v4h12v-4h4v-6c0-1.66-1.34-3-3-3zm-3 11H8v-5h8v5zm3-7c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1zm-1-9H6v4h12V3z\"\n />\n <path d=\"M0 0h24v24H0z\" fill=\"none\" />\n </svg>\n </button>\n <button class=\"bp-btn-plain bp-btn-download bp-is-hidden\" data-testid=\"download-preview\" type=\"button\">\n <svg height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" focusable=\"false\">\n <path d=\"M19 9h-4V3H9v6H5l7 7 7-7zM5 18v2h14v-2H5z\" />\n <path d=\"M0 0h24v24H0z\" fill=\"none\" />\n </svg>\n </button>\n </div>\n </div>\n </div>\n <div class=\"bp\" data-testid=\"bp\" tabindex=\"-1\">\n <div class=\"bp-content\" data-testid=\"bp-content\" tabindex=\"-1\" role=\"region\">\n <div class=\"bp-loading-wrapper\">\n <div class=\"bp-loading\">\n <div class=\"bp-icon bp-icon-file\"></div>\n <div class=\"bp-crawler-wrapper\">\n <div class=\"bp-crawler\">\n <div></div>\n <div></div>\n <div></div>\n </div>\n </div>\n </div>\n </div>\n <button class=\"bp-btn-plain bp-navigate bp-navigate-left bp-is-hidden\" type=\"button\">\n <svg viewBox=\"0 0 48 48\" focusable=\"false\">\n <path\n fill=\"#494949\"\n stroke=\"#DCDCDC\"\n stroke-miterlimit=\"10\"\n d=\"M30.8,33.2L21.7,24l9.2-9.2L28,12L16,24l12,12L30.8,33.2z\"\n />\n <path display=\"none\" fill=\"none\" d=\"M0,0h48v48H0V0z\" />\n </svg>\n </button>\n <button class=\"bp-btn-plain bp-navigate bp-navigate-right bp-is-hidden\" type=\"button\">\n <svg viewBox=\"0 0 48 48\" focusable=\"false\">\n <path\n fill=\"#494949\"\n stroke=\"#DCDCDC\"\n stroke-miterlimit=\"10\"\n d=\"M17.2,14.8l9.2,9.2l-9.2,9.2L20,36l12-12L20,12L17.2,14.8z\"\n />\n <path display=\"none\" fill=\"none\" d=\"M48,48H0L0,0l48,0V48z\" />\n </svg>\n </button>\n </div>\n </div>\n</div>\n";
70041
+ ;// external "@box/blueprint-web-assets/icons/Medium/ChevronLeft"
70042
+
70043
+ ;// external "@box/blueprint-web-assets/icons/Medium/ChevronRight"
70044
+
70045
+ ;// ./src/lib/CollectionNavigation.scss
70046
+ // extracted by mini-css-extract-plugin
70047
+
70048
+ ;// ./src/lib/CollectionNavigation.tsx
70049
+ /* provided dependency */ var CollectionNavigation_ = __webpack_require__(441)["Tl"];
70050
+ function CollectionNavigation_defineProperty(e, r, t) { return (r = CollectionNavigation_toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
70051
+ function CollectionNavigation_toPropertyKey(t) { var i = CollectionNavigation_toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
70052
+ function CollectionNavigation_toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
70053
+
70054
+
70055
+
70056
+
70057
+
70058
+
70059
+
70060
+
70061
+ // Hosts with their own arrows, like box-ui-elements ContentPreview, hide `.bp-navigate`.
70062
+ const ARROW_CLASS_NAME = 'bp-navigate bp-CollectionNavigation-arrow';
70063
+ function CollectionNavigation({
70064
+ hasNext,
70065
+ hasPrevious,
70066
+ onNext,
70067
+ onPrevious
70068
+ }) {
70069
+ return /*#__PURE__*/external_react_["default"].createElement(external_react_["default"].Fragment, null, hasPrevious && /*#__PURE__*/external_react_["default"].createElement("div", {
70070
+ className: `${ARROW_CLASS_NAME} bp-CollectionNavigation-previous`
70071
+ }, /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Tooltip, {
70072
+ content: CollectionNavigation_('previous_file')
70073
+ }, /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.IconButton, {
70074
+ "aria-label": CollectionNavigation_('previous_file'),
70075
+ "data-target-id": "CollectionNavigation-previous",
70076
+ icon: __WEBPACK_EXTERNAL_MODULE__box_blueprint_web_assets_icons_Medium_ChevronLeft_8bf40851_default__,
70077
+ onClick: onPrevious,
70078
+ size: "large",
70079
+ variant: "high-contrast"
70080
+ }))), hasNext && /*#__PURE__*/external_react_["default"].createElement("div", {
70081
+ className: `${ARROW_CLASS_NAME} bp-CollectionNavigation-next`
70082
+ }, /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.Tooltip, {
70083
+ content: CollectionNavigation_('next_file')
70084
+ }, /*#__PURE__*/external_react_["default"].createElement(blueprint_web_.IconButton, {
70085
+ "aria-label": CollectionNavigation_('next_file'),
70086
+ "data-target-id": "CollectionNavigation-next",
70087
+ icon: __WEBPACK_EXTERNAL_MODULE__box_blueprint_web_assets_icons_Medium_ChevronRight_619e782c_default__,
70088
+ onClick: onNext,
70089
+ size: "large",
70090
+ variant: "high-contrast"
70091
+ }))));
70092
+ }
70093
+ class CollectionNavigationRoot {
70094
+ constructor({
70095
+ containerEl,
70096
+ onNext,
70097
+ onPrevious
70098
+ }) {
70099
+ CollectionNavigation_defineProperty(this, "containerEl", void 0);
70100
+ CollectionNavigation_defineProperty(this, "hostEl", void 0);
70101
+ CollectionNavigation_defineProperty(this, "isDestroyed", false);
70102
+ CollectionNavigation_defineProperty(this, "onNext", void 0);
70103
+ CollectionNavigation_defineProperty(this, "onPrevious", void 0);
70104
+ CollectionNavigation_defineProperty(this, "root", void 0);
70105
+ this.containerEl = containerEl;
70106
+ this.onNext = onNext;
70107
+ this.onPrevious = onPrevious;
70108
+ this.hostEl = document.createElement('div');
70109
+ this.hostEl.className = 'bp-CollectionNavigationRoot';
70110
+ containerEl.appendChild(this.hostEl);
70111
+ this.root = (0,client_.createRoot)(this.hostEl);
70112
+ }
70113
+ destroy() {
70114
+ this.isDestroyed = true;
70115
+ this.root.unmount();
70116
+ this.hostEl.remove();
70117
+ }
70118
+ render({
70119
+ hasNext,
70120
+ hasPrevious
70121
+ }) {
70122
+ if (this.isDestroyed) {
70123
+ return;
70124
+ }
70125
+ this.root.render(/*#__PURE__*/external_react_["default"].createElement(BlueprintProviders/* default */.A, {
70126
+ container: this.hostEl
70127
+ }, /*#__PURE__*/external_react_["default"].createElement(CollectionNavigation, {
70128
+ hasNext: hasNext,
70129
+ hasPrevious: hasPrevious,
70130
+ onNext: this.onNext,
70131
+ onPrevious: this.onPrevious
70132
+ })));
70133
+ }
70134
+ }
69587
70135
  ;// ./src/lib/PreviewUI.js
70136
+ /* provided dependency */ var PreviewUI_ = __webpack_require__(441)["Tl"];
69588
70137
  function PreviewUI_defineProperty(e, r, t) { return (r = PreviewUI_toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
69589
70138
  function PreviewUI_toPropertyKey(t) { var i = PreviewUI_toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
69590
70139
  function PreviewUI_toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
@@ -69593,8 +70142,12 @@ function PreviewUI_toPrimitive(t, r) { if ("object" != typeof t || !t) return t;
69593
70142
 
69594
70143
 
69595
70144
 
70145
+
70146
+
69596
70147
  class PreviewUI {
69597
70148
  constructor() {
70149
+ /** @property {CollectionNavigationRoot} - Blueprint navigation arrows, set only with the supporting UI flag */
70150
+ PreviewUI_defineProperty(this, "collectionNavigation", void 0);
69598
70151
  /** @property {HTMLElement} - Container element */
69599
70152
  PreviewUI_defineProperty(this, "container", void 0);
69600
70153
  /** @property {HTMLElement} - Content container element */
@@ -69626,6 +70179,10 @@ class PreviewUI {
69626
70179
  this.loadingIcon.destroy();
69627
70180
  this.loadingIcon = null;
69628
70181
  }
70182
+ if (this.collectionNavigation) {
70183
+ this.collectionNavigation.destroy();
70184
+ this.collectionNavigation = null;
70185
+ }
69629
70186
  if (this.container) {
69630
70187
  this.container.innerHTML = '';
69631
70188
  }
@@ -69672,6 +70229,9 @@ class PreviewUI {
69672
70229
  this.container = this.container.querySelector(constants/* SELECTOR_BOX_PREVIEW_CONTAINER */.xK);
69673
70230
  this.previewContainer = this.container.querySelector(constants/* SELECTOR_BOX_PREVIEW */.Vm);
69674
70231
  this.contentContainer = this.container.querySelector(constants/* SELECTOR_BOX_PREVIEW_CONTENT */.bE);
70232
+ if (isFeatureEnabled(options.features, constants/* BLUEPRINT_MIGRATION_SUPPORTING_UI */.Ed)) {
70233
+ this.setupCollectionNavigation();
70234
+ }
69675
70235
 
69676
70236
  // Setup the header, buttons, and theme
69677
70237
  if (options.header !== 'none') {
@@ -69702,8 +70262,8 @@ class PreviewUI {
69702
70262
  * Shows navigation arrows if there is a need
69703
70263
  *
69704
70264
  * @public
69705
- * @param {number} id - File ID of current preview
69706
- * @param {number[]} collection - Array of File IDs being previewed
70265
+ * @param {string} id - File ID of current preview
70266
+ * @param {string[]} collection - Array of File IDs being previewed
69707
70267
  * @return {void}
69708
70268
  */
69709
70269
  showNavigation(id, collection) {
@@ -69713,6 +70273,10 @@ class PreviewUI {
69713
70273
  if (!this.container) {
69714
70274
  return;
69715
70275
  }
70276
+ if (this.collectionNavigation) {
70277
+ this.showCollectionNavigation(id, collection);
70278
+ return;
70279
+ }
69716
70280
  const leftNavEl = this.container.querySelector(constants/* SELECTOR_NAVIGATION_LEFT */.HV);
69717
70281
  const rightNavEl = this.container.querySelector(constants/* SELECTOR_NAVIGATION_RIGHT */.Kh);
69718
70282
 
@@ -69722,8 +70286,8 @@ class PreviewUI {
69722
70286
  }
69723
70287
 
69724
70288
  // Set titles
69725
- leftNavEl.title = "Previous file";
69726
- rightNavEl.title = "Next file";
70289
+ leftNavEl.title = PreviewUI_('previous_file');
70290
+ rightNavEl.title = PreviewUI_('next_file');
69727
70291
 
69728
70292
  // Hide the arrows by default
69729
70293
  leftNavEl.classList.add(constants/* CLASS_HIDDEN */.zX);
@@ -69764,7 +70328,7 @@ class PreviewUI {
69764
70328
  if (!printButtonEl) {
69765
70329
  return;
69766
70330
  }
69767
- printButtonEl.title = "Print";
70331
+ printButtonEl.title = PreviewUI_('print');
69768
70332
  printButtonEl.classList.remove(constants/* CLASS_HIDDEN */.zX);
69769
70333
  printButtonEl.addEventListener('click', handler);
69770
70334
  }
@@ -69781,7 +70345,7 @@ class PreviewUI {
69781
70345
  if (!downloadButtonEl) {
69782
70346
  return;
69783
70347
  }
69784
- downloadButtonEl.title = "Download";
70348
+ downloadButtonEl.title = PreviewUI_('download');
69785
70349
  downloadButtonEl.classList.remove(constants/* CLASS_HIDDEN */.zX);
69786
70350
  downloadButtonEl.addEventListener('click', handler);
69787
70351
  }
@@ -69907,6 +70471,44 @@ class PreviewUI {
69907
70471
  loadingIconEl.parentElement.removeChild(loadingIconEl);
69908
70472
  }
69909
70473
 
70474
+ /**
70475
+ * Replaces the shell's navigation arrows with Blueprint arrows.
70476
+ *
70477
+ * @private
70478
+ * @return {void}
70479
+ */
70480
+ setupCollectionNavigation() {
70481
+ this.contentContainer.querySelectorAll(`${constants/* SELECTOR_NAVIGATION_LEFT */.HV}, ${constants/* SELECTOR_NAVIGATION_RIGHT */.Kh}`).forEach(navEl => navEl.remove());
70482
+ this.collectionNavigation = new CollectionNavigationRoot({
70483
+ containerEl: this.contentContainer,
70484
+ onNext: this.rightHandler,
70485
+ onPrevious: this.leftHandler
70486
+ });
70487
+ }
70488
+
70489
+ /**
70490
+ * Shows the Blueprint arrows for the current file's position in the collection.
70491
+ *
70492
+ * @private
70493
+ * @param {string} id - File ID of current preview
70494
+ * @param {string[]} collection - Array of File IDs being previewed
70495
+ * @return {void}
70496
+ */
70497
+ showCollectionNavigation(id, collection) {
70498
+ const hasNavigation = collection.length > 1;
70499
+ const index = collection.indexOf(id);
70500
+ this.previewContainer.classList.remove(constants/* CLASS_BOX_PREVIEW_HAS_NAVIGATION */.eM);
70501
+ this.previewContainer.removeEventListener('mousemove', this.mousemoveHandler);
70502
+ if (hasNavigation) {
70503
+ this.previewContainer.classList.add(constants/* CLASS_BOX_PREVIEW_HAS_NAVIGATION */.eM);
70504
+ this.previewContainer.addEventListener('mousemove', this.mousemoveHandler);
70505
+ }
70506
+ this.collectionNavigation.render({
70507
+ hasNext: hasNavigation && index < collection.length - 1,
70508
+ hasPrevious: hasNavigation && index > 0
70509
+ });
70510
+ }
70511
+
69910
70512
  /**
69911
70513
  * Sets up the preview header.
69912
70514
  *
@@ -69923,7 +70525,7 @@ class PreviewUI {
69923
70525
  const customLogoEl = headerEl.querySelector(constants/* SELECTOR_BOX_PREVIEW_LOGO_CUSTOM */.Jm);
69924
70526
  headerEl.className = `${constants/* CLASS_BOX_PREVIEW_HEADER */.iL} ${constants/* CLASS_BOX_PREVIEW_BASE_HEADER */.oS}`;
69925
70527
  this.previewContainer.classList.add(constants/* CLASS_BOX_PREVIEW_HAS_HEADER */.P8);
69926
- defaultLogoEl.setAttribute('aria-label', "Logo");
70528
+ defaultLogoEl.setAttribute('aria-label', PreviewUI_('logo'));
69927
70529
 
69928
70530
  // Setup theme, default is 'light'
69929
70531
  if (headerTheme === 'dark') {
@@ -69933,7 +70535,7 @@ class PreviewUI {
69933
70535
  // Set custom logo
69934
70536
  if (logoUrl) {
69935
70537
  defaultLogoEl.classList.add(constants/* CLASS_HIDDEN */.zX);
69936
- customLogoEl.setAttribute('alt', "Logo");
70538
+ customLogoEl.setAttribute('alt', PreviewUI_('logo'));
69937
70539
  customLogoEl.src = logoUrl;
69938
70540
  customLogoEl.classList.remove(constants/* CLASS_HIDDEN */.zX);
69939
70541
  }
@@ -70043,6 +70645,7 @@ function getTokens(id, token) {
70043
70645
  // extracted by mini-css-extract-plugin
70044
70646
 
70045
70647
  ;// ./src/lib/Preview.js
70648
+ /* provided dependency */ var Preview_ = __webpack_require__(441)["Tl"];
70046
70649
  function Preview_ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
70047
70650
  function Preview_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? Preview_ownKeys(Object(t), !0).forEach(function (r) { Preview_defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : Preview_ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
70048
70651
  function Preview_defineProperty(e, r, t) { return (r = Preview_toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
@@ -70072,6 +70675,7 @@ function Preview_toPrimitive(t, r) { if ("object" != typeof t || !t) return t; v
70072
70675
 
70073
70676
 
70074
70677
 
70678
+
70075
70679
 
70076
70680
  const DEFAULT_DISABLED_VIEWERS = ['Office']; // viewers disabled by default
70077
70681
  const PREFETCH_COUNT = 4; // number of files to prefetch
@@ -70085,7 +70689,7 @@ const SUPPORT_URL = 'https://support.box.com';
70085
70689
 
70086
70690
  // document.currentScript is this file only while it evaluates.
70087
70691
  let PREVIEW_LOCATION = {};
70088
- if (!isNpmBuild()) {
70692
+ if (!(0,isNpmBuild/* isNpmBuild */.w)()) {
70089
70693
  try {
70090
70694
  PREVIEW_LOCATION = (0,util/* findScriptLocation */.Is)(constants/* PREVIEW_SCRIPT_NAME */.Lq, document.currentScript);
70091
70695
  } catch (e) {
@@ -70233,7 +70837,7 @@ class Preview extends (events_default()) {
70233
70837
  // But it cannot be a random object.
70234
70838
  if (token === null || typeof token !== 'object') {
70235
70839
  // npm consumers have no CDN-served pdfjs at runtime; force the bundled npm pdfjs path.
70236
- const finalOptions = isNpmBuild() ? Preview_objectSpread(Preview_objectSpread({}, options), {}, {
70840
+ const finalOptions = (0,isNpmBuild/* isNpmBuild */.w)() ? Preview_objectSpread(Preview_objectSpread({}, options), {}, {
70237
70841
  features: Preview_objectSpread(Preview_objectSpread({}, options.features || {}), {}, {
70238
70842
  useNpmPdfjs: true
70239
70843
  })
@@ -70600,8 +71204,8 @@ class Preview extends (events_default()) {
70600
71204
  * @return {void}
70601
71205
  */
70602
71206
  download() {
70603
- const downloadErrorMsg = "This file could not be downloaded.";
70604
- const downloadErrorDueToPolicyMsg = "The file could not be downloaded due to a security policy.";
71207
+ const downloadErrorMsg = Preview_('notification_cannot_download');
71208
+ const downloadErrorDueToPolicyMsg = Preview_('notification_cannot_download_due_to_policy');
70605
71209
  if (!canDownload(this.file, this.options)) {
70606
71210
  this.ui.showNotification(downloadErrorMsg);
70607
71211
  return;
@@ -70885,7 +71489,7 @@ class Preview extends (events_default()) {
70885
71489
  }
70886
71490
  /* eslint-enable camelcase */
70887
71491
  } else {
70888
- throw new PreviewError/* default */.A(lib_events/* ERROR_CODE */.bo.BAD_INPUT, "This preview didn’t load. Please try to open or download the file to view.", {}, 'File is not a well-formed Box File object. See FILE_FIELDS in file.js for a list of required fields.');
71492
+ throw new PreviewError/* default */.A(lib_events/* ERROR_CODE */.bo.BAD_INPUT, Preview_('error_generic'), {}, 'File is not a well-formed Box File object. See FILE_FIELDS in file.js for a list of required fields.');
70889
71493
  }
70890
71494
 
70891
71495
  // Start the preview load and render timers when the user starts to perceive preview's load
@@ -71216,6 +71820,10 @@ class Preview extends (events_default()) {
71216
71820
  if (options.location) {
71217
71821
  this.location = Preview_objectSpread(Preview_objectSpread({}, this.location), options.location);
71218
71822
  }
71823
+ if ((0,isNpmBuild/* isNpmBuild */.w)()) {
71824
+ (0,translations/* setLanguage */.xC)(this.location.locale);
71825
+ (0,translations/* setMessages */.FB)(options.intl && options.intl.messages);
71826
+ }
71219
71827
  this.options.pdfjs = options.pdfjs || {};
71220
71828
 
71221
71829
  // Disable or enable viewers based on viewer options
@@ -71395,7 +72003,7 @@ class Preview extends (events_default()) {
71395
72003
  // account (HD video is paid). Instant Preview may have mounted a jpg-only viewer from
71396
72004
  // cache; throw error_account instead of waiting forever on an empty player.
71397
72005
  if (this.isVideoFileByExtension() && !this.hasPlayableVideoReps(file)) {
71398
- throw new PreviewError/* default */.A(lib_events/* ERROR_CODE */.bo.ACCOUNT, "This preview didn’t load because your account is unable to preview this file type. Please try to open or download the file to view.");
72006
+ throw new PreviewError/* default */.A(lib_events/* ERROR_CODE */.bo.ACCOUNT, Preview_('error_account'));
71399
72007
  }
71400
72008
  const needsTranscriptionReload = this.canUseDash() && isFeatureEnabled(this.options.features, constants/* AI_TRANSCRIPTION_FOR_VIDEO_SUBTITLES */.Iu) && this.isVideoFileByExtension() && !this.hasTranscriptionRep(cachedFile) && this.hasTranscriptionRep(file);
71401
72009
 
@@ -71425,7 +72033,7 @@ class Preview extends (events_default()) {
71425
72033
  }
71426
72034
  }
71427
72035
  } catch (err) {
71428
- const error = err instanceof PreviewError/* default */.A ? err : new PreviewError/* default */.A(lib_events/* ERROR_CODE */.bo.LOAD_VIEWER, "This preview didn’t load. Please try to open or download the file to view.", {}, err.message);
72036
+ const error = err instanceof PreviewError/* default */.A ? err : new PreviewError/* default */.A(lib_events/* ERROR_CODE */.bo.LOAD_VIEWER, Preview_('error_refresh'), {}, err.message);
71429
72037
  this.triggerError(error);
71430
72038
  }
71431
72039
  }
@@ -71452,15 +72060,15 @@ class Preview extends (events_default()) {
71452
72060
  // Check if file is downloadable
71453
72061
  if (this.file.is_download_available === false) {
71454
72062
  const details = (0,util/* isBoxWebApp */.L4)() ? {
71455
- linkText: "Contact Us",
72063
+ linkText: Preview_('link_contact_us'),
71456
72064
  linkUrl: SUPPORT_URL
71457
72065
  } : {};
71458
- throw new PreviewError/* default */.A(lib_events/* ERROR_CODE */.bo.NOT_DOWNLOADABLE, "Something seems to be wrong with this file. Please refresh the page, and if the issue continues, try to upload a new version.", details);
72066
+ throw new PreviewError/* default */.A(lib_events/* ERROR_CODE */.bo.NOT_DOWNLOADABLE, Preview_('error_not_downloadable'), details);
71459
72067
  }
71460
72068
 
71461
72069
  // Check if preview permissions exist
71462
72070
  if (!checkPermission(this.file, constants/* PERMISSION_PREVIEW */.Xt)) {
71463
- throw new PreviewError/* default */.A(lib_events/* ERROR_CODE */.bo.PERMISSIONS_PREVIEW, "This preview didn’t load because you don’t have permission. Please ask the file owner to update permissions.");
72071
+ throw new PreviewError/* default */.A(lib_events/* ERROR_CODE */.bo.PERMISSIONS_PREVIEW, Preview_('error_permissions'));
71464
72072
  }
71465
72073
 
71466
72074
  // Determine the asset loader to use
@@ -71477,10 +72085,10 @@ class Preview extends (events_default()) {
71477
72085
  // If the file type is supported, then the default error is account related
71478
72086
  if (isFileTypeSupported) {
71479
72087
  code = lib_events/* ERROR_CODE */.bo.ACCOUNT;
71480
- message = "This preview didn’t load because your account is unable to preview this file type. Please try to open or download the file to view.";
72088
+ message = Preview_('error_account');
71481
72089
  } else {
71482
72090
  code = lib_events/* ERROR_CODE */.bo.UNSUPPORTED_FILE_TYPE;
71483
- message = "This preview didn’t load because the file type is unsupported. Please try to open or download the file to view.";
72091
+ message = Preview_('error_unsupported');
71484
72092
  }
71485
72093
  throw new PreviewError/* default */.A(code, message);
71486
72094
  }
@@ -71832,10 +72440,10 @@ class Preview extends (events_default()) {
71832
72440
  // Check if we hit the retry limit for fetching file info
71833
72441
  if (this.retryCount > RETRY_COUNT) {
71834
72442
  let errorCode = lib_events/* ERROR_CODE */.bo.EXCEEDED_RETRY_LIMIT;
71835
- let errorMessage = "This preview didn’t load. Please try to open or download the file to view.";
72443
+ let errorMessage = Preview_('error_refresh');
71836
72444
  if (err.response && err.response.status === 429) {
71837
72445
  errorCode = lib_events/* ERROR_CODE */.bo.RATE_LIMIT;
71838
- errorMessage = "This preview didn’t load because your request was rate limited. Please try to open or download the file to view.";
72446
+ errorMessage = Preview_('error_rate_limit');
71839
72447
  }
71840
72448
  const error = new PreviewError/* default */.A(errorCode, errorMessage, {
71841
72449
  fileId: this.file.id
@@ -72364,7 +72972,7 @@ class Preview extends (events_default()) {
72364
72972
  return (0,util/* getProp */.GT)(this.previewOptions, `fileOptions.${fileId}.${optionName}`);
72365
72973
  }
72366
72974
  }
72367
- if (!isNpmBuild()) {
72975
+ if (!(0,isNpmBuild/* isNpmBuild */.w)()) {
72368
72976
  globalThis.Box = globalThis.Box || {};
72369
72977
  globalThis.Box.Preview = Preview;
72370
72978
  }