synapse-react-client 2.1.2 → 2.1.6

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.
Files changed (45) hide show
  1. package/dist/containers/CardContainerLogic.d.ts +1 -0
  2. package/dist/containers/CardContainerLogic.js.map +1 -1
  3. package/dist/containers/DirectDownload.js +34 -13
  4. package/dist/containers/DirectDownload.js.map +1 -1
  5. package/dist/containers/FileUpload.d.ts +2 -1
  6. package/dist/containers/FileUpload.js +1 -1
  7. package/dist/containers/FileUpload.js.map +1 -1
  8. package/dist/containers/FullWidthAlert.d.ts +13 -5
  9. package/dist/containers/FullWidthAlert.js +28 -7
  10. package/dist/containers/FullWidthAlert.js.map +1 -1
  11. package/dist/containers/GenericCard.js +15 -2
  12. package/dist/containers/GenericCard.js.map +1 -1
  13. package/dist/containers/ToastMessage.d.ts +6 -5
  14. package/dist/containers/ToastMessage.js +28 -6
  15. package/dist/containers/ToastMessage.js.map +1 -1
  16. package/dist/containers/access_requirement_list/managedACTAccess/RequestDataAccessStep2.d.ts +3 -1
  17. package/dist/containers/access_requirement_list/managedACTAccess/RequestDataAccessStep2.js +47 -36
  18. package/dist/containers/access_requirement_list/managedACTAccess/RequestDataAccessStep2.js.map +1 -1
  19. package/dist/containers/download_list/DownloadConfirmation.js +9 -5
  20. package/dist/containers/download_list/DownloadConfirmation.js.map +1 -1
  21. package/dist/containers/table/SynapseTable.d.ts +1 -1
  22. package/dist/containers/table/SynapseTable.js +24 -7
  23. package/dist/containers/table/SynapseTable.js.map +1 -1
  24. package/dist/containers/table/datasets/DatasetItemsEditor.js +1 -2
  25. package/dist/containers/table/datasets/DatasetItemsEditor.js.map +1 -1
  26. package/dist/index.d.ts +5 -5
  27. package/dist/style/abstracts/_mixins.scss +14 -11
  28. package/dist/style/bootstrap4_backports/_base-import.scss +19 -0
  29. package/dist/style/components/_cards.scss +1 -0
  30. package/dist/style/main.css +120 -31
  31. package/dist/umd/synapse-react-client.development.css +122 -31
  32. package/dist/umd/synapse-react-client.development.css.map +2 -2
  33. package/dist/umd/synapse-react-client.development.js +1084 -107
  34. package/dist/umd/synapse-react-client.development.js.map +3 -3
  35. package/dist/umd/synapse-react-client.production.min.css +1 -1
  36. package/dist/umd/synapse-react-client.production.min.js +63 -63
  37. package/dist/umd.index.d.ts +8 -5
  38. package/dist/umd.index.js +2 -0
  39. package/dist/umd.index.js.map +1 -1
  40. package/dist/utils/functions/getUserData.d.ts +1 -1
  41. package/dist/utils/functions/getUserData.js +10 -34
  42. package/dist/utils/functions/getUserData.js.map +1 -1
  43. package/dist/utils/hooks/SynapseAPI/useUserBundle.js +1 -1
  44. package/dist/utils/hooks/SynapseAPI/useUserBundle.js.map +1 -1
  45. package/package.json +3 -1
@@ -11159,6 +11159,930 @@ var SRC = (() => {
11159
11159
  }
11160
11160
  });
11161
11161
 
11162
+ // node_modules/ua-parser-js/src/ua-parser.js
11163
+ var require_ua_parser = __commonJS({
11164
+ "node_modules/ua-parser-js/src/ua-parser.js"(exports2, module2) {
11165
+ (function(window2, undefined2) {
11166
+ "use strict";
11167
+ var LIBVERSION = "1.0.2", EMPTY = "", UNKNOWN = "?", FUNC_TYPE = "function", UNDEF_TYPE = "undefined", OBJ_TYPE = "object", STR_TYPE = "string", MAJOR = "major", MODEL = "model", NAME = "name", TYPE = "type", VENDOR = "vendor", VERSION = "version", ARCHITECTURE = "architecture", CONSOLE = "console", MOBILE = "mobile", TABLET = "tablet", SMARTTV = "smarttv", WEARABLE = "wearable", EMBEDDED = "embedded", UA_MAX_LENGTH = 255;
11168
+ var AMAZON = "Amazon", APPLE = "Apple", ASUS = "ASUS", BLACKBERRY = "BlackBerry", BROWSER = "Browser", CHROME = "Chrome", EDGE = "Edge", FIREFOX = "Firefox", GOOGLE = "Google", HUAWEI = "Huawei", LG = "LG", MICROSOFT = "Microsoft", MOTOROLA = "Motorola", OPERA = "Opera", SAMSUNG = "Samsung", SONY = "Sony", XIAOMI = "Xiaomi", ZEBRA = "Zebra", FACEBOOK = "Facebook";
11169
+ var extend = function(regexes2, extensions) {
11170
+ var mergedRegexes = {};
11171
+ for (var i2 in regexes2) {
11172
+ if (extensions[i2] && extensions[i2].length % 2 === 0) {
11173
+ mergedRegexes[i2] = extensions[i2].concat(regexes2[i2]);
11174
+ } else {
11175
+ mergedRegexes[i2] = regexes2[i2];
11176
+ }
11177
+ }
11178
+ return mergedRegexes;
11179
+ }, enumerize = function(arr) {
11180
+ var enums = {};
11181
+ for (var i2 = 0; i2 < arr.length; i2++) {
11182
+ enums[arr[i2].toUpperCase()] = arr[i2];
11183
+ }
11184
+ return enums;
11185
+ }, has7 = function(str1, str2) {
11186
+ return typeof str1 === STR_TYPE ? lowerize(str2).indexOf(lowerize(str1)) !== -1 : false;
11187
+ }, lowerize = function(str) {
11188
+ return str.toLowerCase();
11189
+ }, majorize = function(version2) {
11190
+ return typeof version2 === STR_TYPE ? version2.replace(/[^\d\.]/g, EMPTY).split(".")[0] : undefined2;
11191
+ }, trim2 = function(str, len) {
11192
+ if (typeof str === STR_TYPE) {
11193
+ str = str.replace(/^\s\s*/, EMPTY).replace(/\s\s*$/, EMPTY);
11194
+ return typeof len === UNDEF_TYPE ? str : str.substring(0, UA_MAX_LENGTH);
11195
+ }
11196
+ };
11197
+ var rgxMapper = function(ua, arrays) {
11198
+ var i2 = 0, j2, k, p3, q, matches, match3;
11199
+ while (i2 < arrays.length && !matches) {
11200
+ var regex = arrays[i2], props = arrays[i2 + 1];
11201
+ j2 = k = 0;
11202
+ while (j2 < regex.length && !matches) {
11203
+ matches = regex[j2++].exec(ua);
11204
+ if (!!matches) {
11205
+ for (p3 = 0; p3 < props.length; p3++) {
11206
+ match3 = matches[++k];
11207
+ q = props[p3];
11208
+ if (typeof q === OBJ_TYPE && q.length > 0) {
11209
+ if (q.length === 2) {
11210
+ if (typeof q[1] == FUNC_TYPE) {
11211
+ this[q[0]] = q[1].call(this, match3);
11212
+ } else {
11213
+ this[q[0]] = q[1];
11214
+ }
11215
+ } else if (q.length === 3) {
11216
+ if (typeof q[1] === FUNC_TYPE && !(q[1].exec && q[1].test)) {
11217
+ this[q[0]] = match3 ? q[1].call(this, match3, q[2]) : undefined2;
11218
+ } else {
11219
+ this[q[0]] = match3 ? match3.replace(q[1], q[2]) : undefined2;
11220
+ }
11221
+ } else if (q.length === 4) {
11222
+ this[q[0]] = match3 ? q[3].call(this, match3.replace(q[1], q[2])) : undefined2;
11223
+ }
11224
+ } else {
11225
+ this[q] = match3 ? match3 : undefined2;
11226
+ }
11227
+ }
11228
+ }
11229
+ }
11230
+ i2 += 2;
11231
+ }
11232
+ }, strMapper = function(str, map3) {
11233
+ for (var i2 in map3) {
11234
+ if (typeof map3[i2] === OBJ_TYPE && map3[i2].length > 0) {
11235
+ for (var j2 = 0; j2 < map3[i2].length; j2++) {
11236
+ if (has7(map3[i2][j2], str)) {
11237
+ return i2 === UNKNOWN ? undefined2 : i2;
11238
+ }
11239
+ }
11240
+ } else if (has7(map3[i2], str)) {
11241
+ return i2 === UNKNOWN ? undefined2 : i2;
11242
+ }
11243
+ }
11244
+ return str;
11245
+ };
11246
+ var oldSafariMap = {
11247
+ "1.0": "/8",
11248
+ "1.2": "/1",
11249
+ "1.3": "/3",
11250
+ "2.0": "/412",
11251
+ "2.0.2": "/416",
11252
+ "2.0.3": "/417",
11253
+ "2.0.4": "/419",
11254
+ "?": "/"
11255
+ }, windowsVersionMap = {
11256
+ "ME": "4.90",
11257
+ "NT 3.11": "NT3.51",
11258
+ "NT 4.0": "NT4.0",
11259
+ "2000": "NT 5.0",
11260
+ "XP": ["NT 5.1", "NT 5.2"],
11261
+ "Vista": "NT 6.0",
11262
+ "7": "NT 6.1",
11263
+ "8": "NT 6.2",
11264
+ "8.1": "NT 6.3",
11265
+ "10": ["NT 6.4", "NT 10.0"],
11266
+ "RT": "ARM"
11267
+ };
11268
+ var regexes = {
11269
+ browser: [
11270
+ [
11271
+ /\b(?:crmo|crios)\/([\w\.]+)/i
11272
+ ],
11273
+ [VERSION, [NAME, "Chrome"]],
11274
+ [
11275
+ /edg(?:e|ios|a)?\/([\w\.]+)/i
11276
+ ],
11277
+ [VERSION, [NAME, "Edge"]],
11278
+ [
11279
+ /(opera mini)\/([-\w\.]+)/i,
11280
+ /(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,
11281
+ /(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i
11282
+ ],
11283
+ [NAME, VERSION],
11284
+ [
11285
+ /opios[\/ ]+([\w\.]+)/i
11286
+ ],
11287
+ [VERSION, [NAME, OPERA + " Mini"]],
11288
+ [
11289
+ /\bopr\/([\w\.]+)/i
11290
+ ],
11291
+ [VERSION, [NAME, OPERA]],
11292
+ [
11293
+ /(kindle)\/([\w\.]+)/i,
11294
+ /(lunascape|maxthon|netfront|jasmine|blazer)[\/ ]?([\w\.]*)/i,
11295
+ /(avant |iemobile|slim)(?:browser)?[\/ ]?([\w\.]*)/i,
11296
+ /(ba?idubrowser)[\/ ]?([\w\.]+)/i,
11297
+ /(?:ms|\()(ie) ([\w\.]+)/i,
11298
+ /(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon|rekonq|puffin|brave|whale|qqbrowserlite|qq)\/([-\w\.]+)/i,
11299
+ /(weibo)__([\d\.]+)/i
11300
+ ],
11301
+ [NAME, VERSION],
11302
+ [
11303
+ /(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i
11304
+ ],
11305
+ [VERSION, [NAME, "UC" + BROWSER]],
11306
+ [
11307
+ /\bqbcore\/([\w\.]+)/i
11308
+ ],
11309
+ [VERSION, [NAME, "WeChat(Win) Desktop"]],
11310
+ [
11311
+ /micromessenger\/([\w\.]+)/i
11312
+ ],
11313
+ [VERSION, [NAME, "WeChat"]],
11314
+ [
11315
+ /konqueror\/([\w\.]+)/i
11316
+ ],
11317
+ [VERSION, [NAME, "Konqueror"]],
11318
+ [
11319
+ /trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i
11320
+ ],
11321
+ [VERSION, [NAME, "IE"]],
11322
+ [
11323
+ /yabrowser\/([\w\.]+)/i
11324
+ ],
11325
+ [VERSION, [NAME, "Yandex"]],
11326
+ [
11327
+ /(avast|avg)\/([\w\.]+)/i
11328
+ ],
11329
+ [[NAME, /(.+)/, "$1 Secure " + BROWSER], VERSION],
11330
+ [
11331
+ /\bfocus\/([\w\.]+)/i
11332
+ ],
11333
+ [VERSION, [NAME, FIREFOX + " Focus"]],
11334
+ [
11335
+ /\bopt\/([\w\.]+)/i
11336
+ ],
11337
+ [VERSION, [NAME, OPERA + " Touch"]],
11338
+ [
11339
+ /coc_coc\w+\/([\w\.]+)/i
11340
+ ],
11341
+ [VERSION, [NAME, "Coc Coc"]],
11342
+ [
11343
+ /dolfin\/([\w\.]+)/i
11344
+ ],
11345
+ [VERSION, [NAME, "Dolphin"]],
11346
+ [
11347
+ /coast\/([\w\.]+)/i
11348
+ ],
11349
+ [VERSION, [NAME, OPERA + " Coast"]],
11350
+ [
11351
+ /miuibrowser\/([\w\.]+)/i
11352
+ ],
11353
+ [VERSION, [NAME, "MIUI " + BROWSER]],
11354
+ [
11355
+ /fxios\/([-\w\.]+)/i
11356
+ ],
11357
+ [VERSION, [NAME, FIREFOX]],
11358
+ [
11359
+ /\bqihu|(qi?ho?o?|360)browser/i
11360
+ ],
11361
+ [[NAME, "360 " + BROWSER]],
11362
+ [
11363
+ /(oculus|samsung|sailfish)browser\/([\w\.]+)/i
11364
+ ],
11365
+ [[NAME, /(.+)/, "$1 " + BROWSER], VERSION],
11366
+ [
11367
+ /(comodo_dragon)\/([\w\.]+)/i
11368
+ ],
11369
+ [[NAME, /_/g, " "], VERSION],
11370
+ [
11371
+ /(electron)\/([\w\.]+) safari/i,
11372
+ /(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,
11373
+ /m?(qqbrowser|baiduboxapp|2345Explorer)[\/ ]?([\w\.]+)/i
11374
+ ],
11375
+ [NAME, VERSION],
11376
+ [
11377
+ /(metasr)[\/ ]?([\w\.]+)/i,
11378
+ /(lbbrowser)/i
11379
+ ],
11380
+ [NAME],
11381
+ [
11382
+ /((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i
11383
+ ],
11384
+ [[NAME, FACEBOOK], VERSION],
11385
+ [
11386
+ /safari (line)\/([\w\.]+)/i,
11387
+ /\b(line)\/([\w\.]+)\/iab/i,
11388
+ /(chromium|instagram)[\/ ]([-\w\.]+)/i
11389
+ ],
11390
+ [NAME, VERSION],
11391
+ [
11392
+ /\bgsa\/([\w\.]+) .*safari\//i
11393
+ ],
11394
+ [VERSION, [NAME, "GSA"]],
11395
+ [
11396
+ /headlesschrome(?:\/([\w\.]+)| )/i
11397
+ ],
11398
+ [VERSION, [NAME, CHROME + " Headless"]],
11399
+ [
11400
+ / wv\).+(chrome)\/([\w\.]+)/i
11401
+ ],
11402
+ [[NAME, CHROME + " WebView"], VERSION],
11403
+ [
11404
+ /droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i
11405
+ ],
11406
+ [VERSION, [NAME, "Android " + BROWSER]],
11407
+ [
11408
+ /(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i
11409
+ ],
11410
+ [NAME, VERSION],
11411
+ [
11412
+ /version\/([\w\.]+) .*mobile\/\w+ (safari)/i
11413
+ ],
11414
+ [VERSION, [NAME, "Mobile Safari"]],
11415
+ [
11416
+ /version\/([\w\.]+) .*(mobile ?safari|safari)/i
11417
+ ],
11418
+ [VERSION, NAME],
11419
+ [
11420
+ /webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i
11421
+ ],
11422
+ [NAME, [VERSION, strMapper, oldSafariMap]],
11423
+ [
11424
+ /(webkit|khtml)\/([\w\.]+)/i
11425
+ ],
11426
+ [NAME, VERSION],
11427
+ [
11428
+ /(navigator|netscape\d?)\/([-\w\.]+)/i
11429
+ ],
11430
+ [[NAME, "Netscape"], VERSION],
11431
+ [
11432
+ /mobile vr; rv:([\w\.]+)\).+firefox/i
11433
+ ],
11434
+ [VERSION, [NAME, FIREFOX + " Reality"]],
11435
+ [
11436
+ /ekiohf.+(flow)\/([\w\.]+)/i,
11437
+ /(swiftfox)/i,
11438
+ /(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror|klar)[\/ ]?([\w\.\+]+)/i,
11439
+ /(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w\.]+)$/i,
11440
+ /(firefox)\/([\w\.]+)/i,
11441
+ /(mozilla)\/([\w\.]+) .+rv\:.+gecko\/\d+/i,
11442
+ /(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir|obigo|mosaic|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,
11443
+ /(links) \(([\w\.]+)/i
11444
+ ],
11445
+ [NAME, VERSION]
11446
+ ],
11447
+ cpu: [
11448
+ [
11449
+ /(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\)]/i
11450
+ ],
11451
+ [[ARCHITECTURE, "amd64"]],
11452
+ [
11453
+ /(ia32(?=;))/i
11454
+ ],
11455
+ [[ARCHITECTURE, lowerize]],
11456
+ [
11457
+ /((?:i[346]|x)86)[;\)]/i
11458
+ ],
11459
+ [[ARCHITECTURE, "ia32"]],
11460
+ [
11461
+ /\b(aarch64|arm(v?8e?l?|_?64))\b/i
11462
+ ],
11463
+ [[ARCHITECTURE, "arm64"]],
11464
+ [
11465
+ /\b(arm(?:v[67])?ht?n?[fl]p?)\b/i
11466
+ ],
11467
+ [[ARCHITECTURE, "armhf"]],
11468
+ [
11469
+ /windows (ce|mobile); ppc;/i
11470
+ ],
11471
+ [[ARCHITECTURE, "arm"]],
11472
+ [
11473
+ /((?:ppc|powerpc)(?:64)?)(?: mac|;|\))/i
11474
+ ],
11475
+ [[ARCHITECTURE, /ower/, EMPTY, lowerize]],
11476
+ [
11477
+ /(sun4\w)[;\)]/i
11478
+ ],
11479
+ [[ARCHITECTURE, "sparc"]],
11480
+ [
11481
+ /((?:avr32|ia64(?=;))|68k(?=\))|\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\b|pa-risc)/i
11482
+ ],
11483
+ [[ARCHITECTURE, lowerize]]
11484
+ ],
11485
+ device: [
11486
+ [
11487
+ /\b(sch-i[89]0\d|shw-m380s|sm-[pt]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i
11488
+ ],
11489
+ [MODEL, [VENDOR, SAMSUNG], [TYPE, TABLET]],
11490
+ [
11491
+ /\b((?:s[cgp]h|gt|sm)-\w+|galaxy nexus)/i,
11492
+ /samsung[- ]([-\w]+)/i,
11493
+ /sec-(sgh\w+)/i
11494
+ ],
11495
+ [MODEL, [VENDOR, SAMSUNG], [TYPE, MOBILE]],
11496
+ [
11497
+ /\((ip(?:hone|od)[\w ]*);/i
11498
+ ],
11499
+ [MODEL, [VENDOR, APPLE], [TYPE, MOBILE]],
11500
+ [
11501
+ /\((ipad);[-\w\),; ]+apple/i,
11502
+ /applecoremedia\/[\w\.]+ \((ipad)/i,
11503
+ /\b(ipad)\d\d?,\d\d?[;\]].+ios/i
11504
+ ],
11505
+ [MODEL, [VENDOR, APPLE], [TYPE, TABLET]],
11506
+ [
11507
+ /\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\d{2})\b(?!.+d\/s)/i
11508
+ ],
11509
+ [MODEL, [VENDOR, HUAWEI], [TYPE, TABLET]],
11510
+ [
11511
+ /(?:huawei|honor)([-\w ]+)[;\)]/i,
11512
+ /\b(nexus 6p|\w{2,4}-[atu]?[ln][01259x][012359][an]?)\b(?!.+d\/s)/i
11513
+ ],
11514
+ [MODEL, [VENDOR, HUAWEI], [TYPE, MOBILE]],
11515
+ [
11516
+ /\b(poco[\w ]+)(?: bui|\))/i,
11517
+ /\b; (\w+) build\/hm\1/i,
11518
+ /\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,
11519
+ /\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i,
11520
+ /\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite)?)(?: bui|\))/i
11521
+ ],
11522
+ [[MODEL, /_/g, " "], [VENDOR, XIAOMI], [TYPE, MOBILE]],
11523
+ [
11524
+ /\b(mi[-_ ]?(?:pad)(?:[\w_ ]+))(?: bui|\))/i
11525
+ ],
11526
+ [[MODEL, /_/g, " "], [VENDOR, XIAOMI], [TYPE, TABLET]],
11527
+ [
11528
+ /; (\w+) bui.+ oppo/i,
11529
+ /\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i
11530
+ ],
11531
+ [MODEL, [VENDOR, "OPPO"], [TYPE, MOBILE]],
11532
+ [
11533
+ /vivo (\w+)(?: bui|\))/i,
11534
+ /\b(v[12]\d{3}\w?[at])(?: bui|;)/i
11535
+ ],
11536
+ [MODEL, [VENDOR, "Vivo"], [TYPE, MOBILE]],
11537
+ [
11538
+ /\b(rmx[12]\d{3})(?: bui|;|\))/i
11539
+ ],
11540
+ [MODEL, [VENDOR, "Realme"], [TYPE, MOBILE]],
11541
+ [
11542
+ /\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,
11543
+ /\bmot(?:orola)?[- ](\w*)/i,
11544
+ /((?:moto[\w\(\) ]+|xt\d{3,4}|nexus 6)(?= bui|\)))/i
11545
+ ],
11546
+ [MODEL, [VENDOR, MOTOROLA], [TYPE, MOBILE]],
11547
+ [
11548
+ /\b(mz60\d|xoom[2 ]{0,2}) build\//i
11549
+ ],
11550
+ [MODEL, [VENDOR, MOTOROLA], [TYPE, TABLET]],
11551
+ [
11552
+ /((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i
11553
+ ],
11554
+ [MODEL, [VENDOR, LG], [TYPE, TABLET]],
11555
+ [
11556
+ /(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,
11557
+ /\blg[-e;\/ ]+((?!browser|netcast|android tv)\w+)/i,
11558
+ /\blg-?([\d\w]+) bui/i
11559
+ ],
11560
+ [MODEL, [VENDOR, LG], [TYPE, MOBILE]],
11561
+ [
11562
+ /(ideatab[-\w ]+)/i,
11563
+ /lenovo ?(s[56]000[-\w]+|tab(?:[\w ]+)|yt[-\d\w]{6}|tb[-\d\w]{6})/i
11564
+ ],
11565
+ [MODEL, [VENDOR, "Lenovo"], [TYPE, TABLET]],
11566
+ [
11567
+ /(?:maemo|nokia).*(n900|lumia \d+)/i,
11568
+ /nokia[-_ ]?([-\w\.]*)/i
11569
+ ],
11570
+ [[MODEL, /_/g, " "], [VENDOR, "Nokia"], [TYPE, MOBILE]],
11571
+ [
11572
+ /(pixel c)\b/i
11573
+ ],
11574
+ [MODEL, [VENDOR, GOOGLE], [TYPE, TABLET]],
11575
+ [
11576
+ /droid.+; (pixel[\daxl ]{0,6})(?: bui|\))/i
11577
+ ],
11578
+ [MODEL, [VENDOR, GOOGLE], [TYPE, MOBILE]],
11579
+ [
11580
+ /droid.+ ([c-g]\d{4}|so[-gl]\w+|xq-a\w[4-7][12])(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i
11581
+ ],
11582
+ [MODEL, [VENDOR, SONY], [TYPE, MOBILE]],
11583
+ [
11584
+ /sony tablet [ps]/i,
11585
+ /\b(?:sony)?sgp\w+(?: bui|\))/i
11586
+ ],
11587
+ [[MODEL, "Xperia Tablet"], [VENDOR, SONY], [TYPE, TABLET]],
11588
+ [
11589
+ / (kb2005|in20[12]5|be20[12][59])\b/i,
11590
+ /(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i
11591
+ ],
11592
+ [MODEL, [VENDOR, "OnePlus"], [TYPE, MOBILE]],
11593
+ [
11594
+ /(alexa)webm/i,
11595
+ /(kf[a-z]{2}wi)( bui|\))/i,
11596
+ /(kf[a-z]+)( bui|\)).+silk\//i
11597
+ ],
11598
+ [MODEL, [VENDOR, AMAZON], [TYPE, TABLET]],
11599
+ [
11600
+ /((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i
11601
+ ],
11602
+ [[MODEL, /(.+)/g, "Fire Phone $1"], [VENDOR, AMAZON], [TYPE, MOBILE]],
11603
+ [
11604
+ /(playbook);[-\w\),; ]+(rim)/i
11605
+ ],
11606
+ [MODEL, VENDOR, [TYPE, TABLET]],
11607
+ [
11608
+ /\b((?:bb[a-f]|st[hv])100-\d)/i,
11609
+ /\(bb10; (\w+)/i
11610
+ ],
11611
+ [MODEL, [VENDOR, BLACKBERRY], [TYPE, MOBILE]],
11612
+ [
11613
+ /(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i
11614
+ ],
11615
+ [MODEL, [VENDOR, ASUS], [TYPE, TABLET]],
11616
+ [
11617
+ / (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i
11618
+ ],
11619
+ [MODEL, [VENDOR, ASUS], [TYPE, MOBILE]],
11620
+ [
11621
+ /(nexus 9)/i
11622
+ ],
11623
+ [MODEL, [VENDOR, "HTC"], [TYPE, TABLET]],
11624
+ [
11625
+ /(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,
11626
+ /(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,
11627
+ /(alcatel|geeksphone|nexian|panasonic|sony)[-_ ]?([-\w]*)/i
11628
+ ],
11629
+ [VENDOR, [MODEL, /_/g, " "], [TYPE, MOBILE]],
11630
+ [
11631
+ /droid.+; ([ab][1-7]-?[0178a]\d\d?)/i
11632
+ ],
11633
+ [MODEL, [VENDOR, "Acer"], [TYPE, TABLET]],
11634
+ [
11635
+ /droid.+; (m[1-5] note) bui/i,
11636
+ /\bmz-([-\w]{2,})/i
11637
+ ],
11638
+ [MODEL, [VENDOR, "Meizu"], [TYPE, MOBILE]],
11639
+ [
11640
+ /\b(sh-?[altvz]?\d\d[a-ekm]?)/i
11641
+ ],
11642
+ [MODEL, [VENDOR, "Sharp"], [TYPE, MOBILE]],
11643
+ [
11644
+ /(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron)[-_ ]?([-\w]*)/i,
11645
+ /(hp) ([\w ]+\w)/i,
11646
+ /(asus)-?(\w+)/i,
11647
+ /(microsoft); (lumia[\w ]+)/i,
11648
+ /(lenovo)[-_ ]?([-\w]+)/i,
11649
+ /(jolla)/i,
11650
+ /(oppo) ?([\w ]+) bui/i
11651
+ ],
11652
+ [VENDOR, MODEL, [TYPE, MOBILE]],
11653
+ [
11654
+ /(archos) (gamepad2?)/i,
11655
+ /(hp).+(touchpad(?!.+tablet)|tablet)/i,
11656
+ /(kindle)\/([\w\.]+)/i,
11657
+ /(nook)[\w ]+build\/(\w+)/i,
11658
+ /(dell) (strea[kpr\d ]*[\dko])/i,
11659
+ /(le[- ]+pan)[- ]+(\w{1,9}) bui/i,
11660
+ /(trinity)[- ]*(t\d{3}) bui/i,
11661
+ /(gigaset)[- ]+(q\w{1,9}) bui/i,
11662
+ /(vodafone) ([\w ]+)(?:\)| bui)/i
11663
+ ],
11664
+ [VENDOR, MODEL, [TYPE, TABLET]],
11665
+ [
11666
+ /(surface duo)/i
11667
+ ],
11668
+ [MODEL, [VENDOR, MICROSOFT], [TYPE, TABLET]],
11669
+ [
11670
+ /droid [\d\.]+; (fp\du?)(?: b|\))/i
11671
+ ],
11672
+ [MODEL, [VENDOR, "Fairphone"], [TYPE, MOBILE]],
11673
+ [
11674
+ /(u304aa)/i
11675
+ ],
11676
+ [MODEL, [VENDOR, "AT&T"], [TYPE, MOBILE]],
11677
+ [
11678
+ /\bsie-(\w*)/i
11679
+ ],
11680
+ [MODEL, [VENDOR, "Siemens"], [TYPE, MOBILE]],
11681
+ [
11682
+ /\b(rct\w+) b/i
11683
+ ],
11684
+ [MODEL, [VENDOR, "RCA"], [TYPE, TABLET]],
11685
+ [
11686
+ /\b(venue[\d ]{2,7}) b/i
11687
+ ],
11688
+ [MODEL, [VENDOR, "Dell"], [TYPE, TABLET]],
11689
+ [
11690
+ /\b(q(?:mv|ta)\w+) b/i
11691
+ ],
11692
+ [MODEL, [VENDOR, "Verizon"], [TYPE, TABLET]],
11693
+ [
11694
+ /\b(?:barnes[& ]+noble |bn[rt])([\w\+ ]*) b/i
11695
+ ],
11696
+ [MODEL, [VENDOR, "Barnes & Noble"], [TYPE, TABLET]],
11697
+ [
11698
+ /\b(tm\d{3}\w+) b/i
11699
+ ],
11700
+ [MODEL, [VENDOR, "NuVision"], [TYPE, TABLET]],
11701
+ [
11702
+ /\b(k88) b/i
11703
+ ],
11704
+ [MODEL, [VENDOR, "ZTE"], [TYPE, TABLET]],
11705
+ [
11706
+ /\b(nx\d{3}j) b/i
11707
+ ],
11708
+ [MODEL, [VENDOR, "ZTE"], [TYPE, MOBILE]],
11709
+ [
11710
+ /\b(gen\d{3}) b.+49h/i
11711
+ ],
11712
+ [MODEL, [VENDOR, "Swiss"], [TYPE, MOBILE]],
11713
+ [
11714
+ /\b(zur\d{3}) b/i
11715
+ ],
11716
+ [MODEL, [VENDOR, "Swiss"], [TYPE, TABLET]],
11717
+ [
11718
+ /\b((zeki)?tb.*\b) b/i
11719
+ ],
11720
+ [MODEL, [VENDOR, "Zeki"], [TYPE, TABLET]],
11721
+ [
11722
+ /\b([yr]\d{2}) b/i,
11723
+ /\b(dragon[- ]+touch |dt)(\w{5}) b/i
11724
+ ],
11725
+ [[VENDOR, "Dragon Touch"], MODEL, [TYPE, TABLET]],
11726
+ [
11727
+ /\b(ns-?\w{0,9}) b/i
11728
+ ],
11729
+ [MODEL, [VENDOR, "Insignia"], [TYPE, TABLET]],
11730
+ [
11731
+ /\b((nxa|next)-?\w{0,9}) b/i
11732
+ ],
11733
+ [MODEL, [VENDOR, "NextBook"], [TYPE, TABLET]],
11734
+ [
11735
+ /\b(xtreme\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i
11736
+ ],
11737
+ [[VENDOR, "Voice"], MODEL, [TYPE, MOBILE]],
11738
+ [
11739
+ /\b(lvtel\-)?(v1[12]) b/i
11740
+ ],
11741
+ [[VENDOR, "LvTel"], MODEL, [TYPE, MOBILE]],
11742
+ [
11743
+ /\b(ph-1) /i
11744
+ ],
11745
+ [MODEL, [VENDOR, "Essential"], [TYPE, MOBILE]],
11746
+ [
11747
+ /\b(v(100md|700na|7011|917g).*\b) b/i
11748
+ ],
11749
+ [MODEL, [VENDOR, "Envizen"], [TYPE, TABLET]],
11750
+ [
11751
+ /\b(trio[-\w\. ]+) b/i
11752
+ ],
11753
+ [MODEL, [VENDOR, "MachSpeed"], [TYPE, TABLET]],
11754
+ [
11755
+ /\btu_(1491) b/i
11756
+ ],
11757
+ [MODEL, [VENDOR, "Rotor"], [TYPE, TABLET]],
11758
+ [
11759
+ /(shield[\w ]+) b/i
11760
+ ],
11761
+ [MODEL, [VENDOR, "Nvidia"], [TYPE, TABLET]],
11762
+ [
11763
+ /(sprint) (\w+)/i
11764
+ ],
11765
+ [VENDOR, MODEL, [TYPE, MOBILE]],
11766
+ [
11767
+ /(kin\.[onetw]{3})/i
11768
+ ],
11769
+ [[MODEL, /\./g, " "], [VENDOR, MICROSOFT], [TYPE, MOBILE]],
11770
+ [
11771
+ /droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i
11772
+ ],
11773
+ [MODEL, [VENDOR, ZEBRA], [TYPE, TABLET]],
11774
+ [
11775
+ /droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i
11776
+ ],
11777
+ [MODEL, [VENDOR, ZEBRA], [TYPE, MOBILE]],
11778
+ [
11779
+ /(ouya)/i,
11780
+ /(nintendo) ([wids3utch]+)/i
11781
+ ],
11782
+ [VENDOR, MODEL, [TYPE, CONSOLE]],
11783
+ [
11784
+ /droid.+; (shield) bui/i
11785
+ ],
11786
+ [MODEL, [VENDOR, "Nvidia"], [TYPE, CONSOLE]],
11787
+ [
11788
+ /(playstation [345portablevi]+)/i
11789
+ ],
11790
+ [MODEL, [VENDOR, SONY], [TYPE, CONSOLE]],
11791
+ [
11792
+ /\b(xbox(?: one)?(?!; xbox))[\); ]/i
11793
+ ],
11794
+ [MODEL, [VENDOR, MICROSOFT], [TYPE, CONSOLE]],
11795
+ [
11796
+ /smart-tv.+(samsung)/i
11797
+ ],
11798
+ [VENDOR, [TYPE, SMARTTV]],
11799
+ [
11800
+ /hbbtv.+maple;(\d+)/i
11801
+ ],
11802
+ [[MODEL, /^/, "SmartTV"], [VENDOR, SAMSUNG], [TYPE, SMARTTV]],
11803
+ [
11804
+ /(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i
11805
+ ],
11806
+ [[VENDOR, LG], [TYPE, SMARTTV]],
11807
+ [
11808
+ /(apple) ?tv/i
11809
+ ],
11810
+ [VENDOR, [MODEL, APPLE + " TV"], [TYPE, SMARTTV]],
11811
+ [
11812
+ /crkey/i
11813
+ ],
11814
+ [[MODEL, CHROME + "cast"], [VENDOR, GOOGLE], [TYPE, SMARTTV]],
11815
+ [
11816
+ /droid.+aft(\w)( bui|\))/i
11817
+ ],
11818
+ [MODEL, [VENDOR, AMAZON], [TYPE, SMARTTV]],
11819
+ [
11820
+ /\(dtv[\);].+(aquos)/i
11821
+ ],
11822
+ [MODEL, [VENDOR, "Sharp"], [TYPE, SMARTTV]],
11823
+ [
11824
+ /\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,
11825
+ /hbbtv\/\d+\.\d+\.\d+ +\([\w ]*; *(\w[^;]*);([^;]*)/i
11826
+ ],
11827
+ [[VENDOR, trim2], [MODEL, trim2], [TYPE, SMARTTV]],
11828
+ [
11829
+ /\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\b/i
11830
+ ],
11831
+ [[TYPE, SMARTTV]],
11832
+ [
11833
+ /((pebble))app/i
11834
+ ],
11835
+ [VENDOR, MODEL, [TYPE, WEARABLE]],
11836
+ [
11837
+ /droid.+; (glass) \d/i
11838
+ ],
11839
+ [MODEL, [VENDOR, GOOGLE], [TYPE, WEARABLE]],
11840
+ [
11841
+ /droid.+; (wt63?0{2,3})\)/i
11842
+ ],
11843
+ [MODEL, [VENDOR, ZEBRA], [TYPE, WEARABLE]],
11844
+ [
11845
+ /(quest( 2)?)/i
11846
+ ],
11847
+ [MODEL, [VENDOR, FACEBOOK], [TYPE, WEARABLE]],
11848
+ [
11849
+ /(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i
11850
+ ],
11851
+ [VENDOR, [TYPE, EMBEDDED]],
11852
+ [
11853
+ /droid .+?; ([^;]+?)(?: bui|\) applew).+? mobile safari/i
11854
+ ],
11855
+ [MODEL, [TYPE, MOBILE]],
11856
+ [
11857
+ /droid .+?; ([^;]+?)(?: bui|\) applew).+?(?! mobile) safari/i
11858
+ ],
11859
+ [MODEL, [TYPE, TABLET]],
11860
+ [
11861
+ /\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i
11862
+ ],
11863
+ [[TYPE, TABLET]],
11864
+ [
11865
+ /(phone|mobile(?:[;\/]| safari)|pda(?=.+windows ce))/i
11866
+ ],
11867
+ [[TYPE, MOBILE]],
11868
+ [
11869
+ /(android[-\w\. ]{0,9});.+buil/i
11870
+ ],
11871
+ [MODEL, [VENDOR, "Generic"]]
11872
+ ],
11873
+ engine: [
11874
+ [
11875
+ /windows.+ edge\/([\w\.]+)/i
11876
+ ],
11877
+ [VERSION, [NAME, EDGE + "HTML"]],
11878
+ [
11879
+ /webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i
11880
+ ],
11881
+ [VERSION, [NAME, "Blink"]],
11882
+ [
11883
+ /(presto)\/([\w\.]+)/i,
11884
+ /(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\/([\w\.]+)/i,
11885
+ /ekioh(flow)\/([\w\.]+)/i,
11886
+ /(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i,
11887
+ /(icab)[\/ ]([23]\.[\d\.]+)/i
11888
+ ],
11889
+ [NAME, VERSION],
11890
+ [
11891
+ /rv\:([\w\.]{1,9})\b.+(gecko)/i
11892
+ ],
11893
+ [VERSION, NAME]
11894
+ ],
11895
+ os: [
11896
+ [
11897
+ /microsoft (windows) (vista|xp)/i
11898
+ ],
11899
+ [NAME, VERSION],
11900
+ [
11901
+ /(windows) nt 6\.2; (arm)/i,
11902
+ /(windows (?:phone(?: os)?|mobile))[\/ ]?([\d\.\w ]*)/i,
11903
+ /(windows)[\/ ]?([ntce\d\. ]+\w)(?!.+xbox)/i
11904
+ ],
11905
+ [NAME, [VERSION, strMapper, windowsVersionMap]],
11906
+ [
11907
+ /(win(?=3|9|n)|win 9x )([nt\d\.]+)/i
11908
+ ],
11909
+ [[NAME, "Windows"], [VERSION, strMapper, windowsVersionMap]],
11910
+ [
11911
+ /ip[honead]{2,4}\b(?:.*os ([\w]+) like mac|; opera)/i,
11912
+ /cfnetwork\/.+darwin/i
11913
+ ],
11914
+ [[VERSION, /_/g, "."], [NAME, "iOS"]],
11915
+ [
11916
+ /(mac os x) ?([\w\. ]*)/i,
11917
+ /(macintosh|mac_powerpc\b)(?!.+haiku)/i
11918
+ ],
11919
+ [[NAME, "Mac OS"], [VERSION, /_/g, "."]],
11920
+ [
11921
+ /droid ([\w\.]+)\b.+(android[- ]x86)/i
11922
+ ],
11923
+ [VERSION, NAME],
11924
+ [
11925
+ /(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\/ ]?([\w\.]*)/i,
11926
+ /(blackberry)\w*\/([\w\.]*)/i,
11927
+ /(tizen|kaios)[\/ ]([\w\.]+)/i,
11928
+ /\((series40);/i
11929
+ ],
11930
+ [NAME, VERSION],
11931
+ [
11932
+ /\(bb(10);/i
11933
+ ],
11934
+ [VERSION, [NAME, BLACKBERRY]],
11935
+ [
11936
+ /(?:symbian ?os|symbos|s60(?=;)|series60)[-\/ ]?([\w\.]*)/i
11937
+ ],
11938
+ [VERSION, [NAME, "Symbian"]],
11939
+ [
11940
+ /mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i
11941
+ ],
11942
+ [VERSION, [NAME, FIREFOX + " OS"]],
11943
+ [
11944
+ /web0s;.+rt(tv)/i,
11945
+ /\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i
11946
+ ],
11947
+ [VERSION, [NAME, "webOS"]],
11948
+ [
11949
+ /crkey\/([\d\.]+)/i
11950
+ ],
11951
+ [VERSION, [NAME, CHROME + "cast"]],
11952
+ [
11953
+ /(cros) [\w]+ ([\w\.]+\w)/i
11954
+ ],
11955
+ [[NAME, "Chromium OS"], VERSION],
11956
+ [
11957
+ /(nintendo|playstation) ([wids345portablevuch]+)/i,
11958
+ /(xbox); +xbox ([^\);]+)/i,
11959
+ /\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i,
11960
+ /(mint)[\/\(\) ]?(\w*)/i,
11961
+ /(mageia|vectorlinux)[; ]/i,
11962
+ /([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i,
11963
+ /(hurd|linux) ?([\w\.]*)/i,
11964
+ /(gnu) ?([\w\.]*)/i,
11965
+ /\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,
11966
+ /(haiku) (\w+)/i
11967
+ ],
11968
+ [NAME, VERSION],
11969
+ [
11970
+ /(sunos) ?([\w\.\d]*)/i
11971
+ ],
11972
+ [[NAME, "Solaris"], VERSION],
11973
+ [
11974
+ /((?:open)?solaris)[-\/ ]?([\w\.]*)/i,
11975
+ /(aix) ((\d)(?=\.|\)| )[\w\.])*/i,
11976
+ /\b(beos|os\/2|amigaos|morphos|openvms|fuchsia|hp-ux)/i,
11977
+ /(unix) ?([\w\.]*)/i
11978
+ ],
11979
+ [NAME, VERSION]
11980
+ ]
11981
+ };
11982
+ var UAParser2 = function(ua, extensions) {
11983
+ if (typeof ua === OBJ_TYPE) {
11984
+ extensions = ua;
11985
+ ua = undefined2;
11986
+ }
11987
+ if (!(this instanceof UAParser2)) {
11988
+ return new UAParser2(ua, extensions).getResult();
11989
+ }
11990
+ var _ua = ua || (typeof window2 !== UNDEF_TYPE && window2.navigator && window2.navigator.userAgent ? window2.navigator.userAgent : EMPTY);
11991
+ var _rgxmap = extensions ? extend(regexes, extensions) : regexes;
11992
+ this.getBrowser = function() {
11993
+ var _browser = {};
11994
+ _browser[NAME] = undefined2;
11995
+ _browser[VERSION] = undefined2;
11996
+ rgxMapper.call(_browser, _ua, _rgxmap.browser);
11997
+ _browser.major = majorize(_browser.version);
11998
+ return _browser;
11999
+ };
12000
+ this.getCPU = function() {
12001
+ var _cpu = {};
12002
+ _cpu[ARCHITECTURE] = undefined2;
12003
+ rgxMapper.call(_cpu, _ua, _rgxmap.cpu);
12004
+ return _cpu;
12005
+ };
12006
+ this.getDevice = function() {
12007
+ var _device = {};
12008
+ _device[VENDOR] = undefined2;
12009
+ _device[MODEL] = undefined2;
12010
+ _device[TYPE] = undefined2;
12011
+ rgxMapper.call(_device, _ua, _rgxmap.device);
12012
+ return _device;
12013
+ };
12014
+ this.getEngine = function() {
12015
+ var _engine = {};
12016
+ _engine[NAME] = undefined2;
12017
+ _engine[VERSION] = undefined2;
12018
+ rgxMapper.call(_engine, _ua, _rgxmap.engine);
12019
+ return _engine;
12020
+ };
12021
+ this.getOS = function() {
12022
+ var _os = {};
12023
+ _os[NAME] = undefined2;
12024
+ _os[VERSION] = undefined2;
12025
+ rgxMapper.call(_os, _ua, _rgxmap.os);
12026
+ return _os;
12027
+ };
12028
+ this.getResult = function() {
12029
+ return {
12030
+ ua: this.getUA(),
12031
+ browser: this.getBrowser(),
12032
+ engine: this.getEngine(),
12033
+ os: this.getOS(),
12034
+ device: this.getDevice(),
12035
+ cpu: this.getCPU()
12036
+ };
12037
+ };
12038
+ this.getUA = function() {
12039
+ return _ua;
12040
+ };
12041
+ this.setUA = function(ua2) {
12042
+ _ua = typeof ua2 === STR_TYPE && ua2.length > UA_MAX_LENGTH ? trim2(ua2, UA_MAX_LENGTH) : ua2;
12043
+ return this;
12044
+ };
12045
+ this.setUA(_ua);
12046
+ return this;
12047
+ };
12048
+ UAParser2.VERSION = LIBVERSION;
12049
+ UAParser2.BROWSER = enumerize([NAME, VERSION, MAJOR]);
12050
+ UAParser2.CPU = enumerize([ARCHITECTURE]);
12051
+ UAParser2.DEVICE = enumerize([MODEL, VENDOR, TYPE, CONSOLE, MOBILE, SMARTTV, TABLET, WEARABLE, EMBEDDED]);
12052
+ UAParser2.ENGINE = UAParser2.OS = enumerize([NAME, VERSION]);
12053
+ if (typeof exports2 !== UNDEF_TYPE) {
12054
+ if (typeof module2 !== UNDEF_TYPE && module2.exports) {
12055
+ exports2 = module2.exports = UAParser2;
12056
+ }
12057
+ exports2.UAParser = UAParser2;
12058
+ } else {
12059
+ if (typeof define === FUNC_TYPE && define.amd) {
12060
+ define(function() {
12061
+ return UAParser2;
12062
+ });
12063
+ } else if (typeof window2 !== UNDEF_TYPE) {
12064
+ window2.UAParser = UAParser2;
12065
+ }
12066
+ }
12067
+ var $ = typeof window2 !== UNDEF_TYPE && (window2.jQuery || window2.Zepto);
12068
+ if ($ && !$.ua) {
12069
+ var parser2 = new UAParser2();
12070
+ $.ua = parser2.getResult();
12071
+ $.ua.get = function() {
12072
+ return parser2.getUA();
12073
+ };
12074
+ $.ua.set = function(ua) {
12075
+ parser2.setUA(ua);
12076
+ var result = parser2.getResult();
12077
+ for (var prop in result) {
12078
+ $.ua[prop] = result[prop];
12079
+ }
12080
+ };
12081
+ }
12082
+ })(typeof window === "object" ? window : exports2);
12083
+ }
12084
+ });
12085
+
11162
12086
  // node_modules/react-fast-compare/index.js
11163
12087
  var require_react_fast_compare = __commonJS({
11164
12088
  "node_modules/react-fast-compare/index.js"(exports2, module2) {
@@ -24958,32 +25882,15 @@ var SRC = (() => {
24958
25882
  return { list: profilesWithPictures };
24959
25883
  });
24960
25884
  }
24961
- function getProfilePic(userProfile, token2) {
24962
- return __async(this, null, function* () {
24963
- if (!userProfile.profilePicureFileHandleId) {
24964
- return { userProfile };
24965
- } else {
24966
- const fileHandleAssociationList = [
24967
- {
24968
- associateObjectId: userProfile.ownerId,
24969
- associateObjectType: FileHandleAssociateType.UserProfileAttachment,
24970
- fileHandleId: userProfile.profilePicureFileHandleId
24971
- }
24972
- ];
24973
- const request = {
24974
- includeFileHandles: false,
24975
- includePreSignedURLs: true,
24976
- includePreviewPreSignedURLs: false,
24977
- requestedFiles: fileHandleAssociationList
24978
- };
24979
- const fileHandleList = yield SynapseClient_exports.getFiles(request, token2);
24980
- const firstElement = fileHandleList.requestedFiles[0];
24981
- return {
24982
- userProfile,
24983
- preSignedURL: firstElement.preSignedURL
24984
- };
24985
- }
24986
- });
25885
+ function getProfilePic(userProfile) {
25886
+ if (!userProfile.profilePicureFileHandleId) {
25887
+ return { userProfile };
25888
+ } else {
25889
+ return {
25890
+ userProfile,
25891
+ preSignedURL: `${getEndpoint(BackendDestinationEnum.REPO_ENDPOINT)}/repo/v1/userProfile/${userProfile.ownerId}/image/preview?redirect=true`
25892
+ };
25893
+ }
24987
25894
  }
24988
25895
  var COLORS = [
24989
25896
  "chocolate",
@@ -39391,7 +40298,14 @@ var SRC = (() => {
39391
40298
  };
39392
40299
  var Typography_default2 = Typography3;
39393
40300
 
40301
+ // src/lib/utils/functions/TooltipUtils.ts
40302
+ var rebuildTooltip = debounce_default(() => index_es_default.rebuild(), 200, {
40303
+ leading: false,
40304
+ trailing: true
40305
+ });
40306
+
39394
40307
  // src/lib/containers/FullWidthAlert.tsx
40308
+ var FULL_WIDTH_ALERT_TOOLTIP_ID = "FullWidthAlertTooltip";
39395
40309
  function getIcon(variant) {
39396
40310
  switch (variant) {
39397
40311
  case "warning":
@@ -39418,14 +40332,36 @@ var SRC = (() => {
39418
40332
  return /* @__PURE__ */ import_react12.default.createElement(import_react12.default.Fragment, null);
39419
40333
  }
39420
40334
  }
40335
+ function ButtonFromConfig(props) {
40336
+ const { config: config2, variant, className } = props;
40337
+ if (config2) {
40338
+ return /* @__PURE__ */ import_react12.default.createElement("span", {
40339
+ "data-tip": config2.tooltipText,
40340
+ "data-for": FULL_WIDTH_ALERT_TOOLTIP_ID,
40341
+ "data-tip-disable": false
40342
+ }, /* @__PURE__ */ import_react12.default.createElement(import_react_bootstrap.Button, {
40343
+ variant,
40344
+ className,
40345
+ disabled: config2.isDisabled,
40346
+ onClick: (e3) => {
40347
+ if ("onClick" in config2) {
40348
+ e3.preventDefault();
40349
+ config2.onClick(e3);
40350
+ } else if ("href" in config2) {
40351
+ e3.preventDefault();
40352
+ window.open(config2.href, "_blank", "noopener");
40353
+ }
40354
+ }
40355
+ }, config2.text));
40356
+ }
40357
+ return null;
40358
+ }
39421
40359
  function FullWidthAlert(props) {
39422
40360
  const {
39423
40361
  title,
39424
40362
  description,
39425
- secondaryButtonText,
39426
- secondaryButtonHref,
39427
- primaryButtonText,
39428
- onPrimaryButtonClick,
40363
+ primaryButtonConfig,
40364
+ secondaryButtonConfig,
39429
40365
  show,
39430
40366
  onClose,
39431
40367
  autoCloseAfterDelayInSeconds,
@@ -39434,7 +40370,10 @@ var SRC = (() => {
39434
40370
  isGlobal = true
39435
40371
  } = props;
39436
40372
  const iconContent = getIcon(variant);
39437
- const hasActions = primaryButtonText && onPrimaryButtonClick || secondaryButtonText && secondaryButtonHref;
40373
+ const hasActions = primaryButtonConfig || secondaryButtonConfig;
40374
+ (0, import_react12.useEffect)(() => {
40375
+ rebuildTooltip();
40376
+ }, [primaryButtonConfig, secondaryButtonConfig]);
39438
40377
  (0, import_react12.useEffect)(() => {
39439
40378
  let timer;
39440
40379
  if (onClose && autoCloseAfterDelayInSeconds) {
@@ -39453,7 +40392,11 @@ var SRC = (() => {
39453
40392
  dismissible: false,
39454
40393
  transition: transition2,
39455
40394
  className: `FullWidthAlert bootstrap-4-backport ${isGlobal ? "global" : ""} ${additionalAlertVariantClass}`
39456
- }, /* @__PURE__ */ import_react12.default.createElement("div", {
40395
+ }, /* @__PURE__ */ import_react12.default.createElement(index_es_default, {
40396
+ id: FULL_WIDTH_ALERT_TOOLTIP_ID,
40397
+ delayShow: 300,
40398
+ effect: "solid"
40399
+ }), /* @__PURE__ */ import_react12.default.createElement("div", {
39457
40400
  className: `gridContainer ${hasActions ? "" : "noActions"} ${onClose ? "hasCloseButton" : ""}`
39458
40401
  }, /* @__PURE__ */ import_react12.default.createElement("span", {
39459
40402
  className: "iconArea"
@@ -39463,16 +40406,15 @@ var SRC = (() => {
39463
40406
  variant: "headline3"
39464
40407
  }, title), /* @__PURE__ */ import_react12.default.createElement(Typography_default2, {
39465
40408
  variant: "body1"
39466
- }, description)), secondaryButtonText && secondaryButtonHref && /* @__PURE__ */ import_react12.default.createElement("a", {
39467
- className: "secondaryButton",
39468
- target: "_blank",
39469
- rel: "noopener noreferrer",
39470
- href: secondaryButtonHref
39471
- }, " ", secondaryButtonText), primaryButtonText && onPrimaryButtonClick && /* @__PURE__ */ import_react12.default.createElement(import_react_bootstrap.Button, {
39472
- className: "primaryButton",
40409
+ }, description)), /* @__PURE__ */ import_react12.default.createElement(ButtonFromConfig, {
40410
+ config: secondaryButtonConfig,
40411
+ variant: "tertiary",
40412
+ className: "secondaryButton"
40413
+ }), /* @__PURE__ */ import_react12.default.createElement(ButtonFromConfig, {
40414
+ config: primaryButtonConfig,
39473
40415
  variant: "secondary",
39474
- onClick: onPrimaryButtonClick
39475
- }, primaryButtonText), onClose && /* @__PURE__ */ import_react12.default.createElement("button", {
40416
+ className: "primaryButton"
40417
+ }), onClose && /* @__PURE__ */ import_react12.default.createElement("button", {
39476
40418
  className: "closeAlert",
39477
40419
  onClick: onClose
39478
40420
  }, /* @__PURE__ */ import_react12.default.createElement(Clear_default, {
@@ -39505,32 +40447,45 @@ var SRC = (() => {
39505
40447
  })
39506
40448
  }));
39507
40449
  };
39508
- var displayToast = (message, variant, toastMessageOptions) => {
40450
+ var displayToast = (message, variant, toastMessageOptions = {}) => {
40451
+ const id2 = uniqueId_default("synToast-");
40452
+ const onClose = () => {
40453
+ toast.dismiss(id2);
40454
+ };
39509
40455
  const {
39510
40456
  title = void 0,
39511
- primaryButtonText = void 0,
39512
- onPrimaryButtonClick = void 0,
39513
- secondaryButtonText = void 0,
39514
- secondaryButtonHref = void 0
39515
- } = toastMessageOptions != null ? toastMessageOptions : {};
39516
- let { autoCloseInMs = 15e3 } = toastMessageOptions != null ? toastMessageOptions : {};
40457
+ primaryButtonConfig = void 0,
40458
+ secondaryButtonConfig = void 0,
40459
+ dismissOnPrimaryButtonClick = false,
40460
+ dismissOnSecondaryButtonClick = false
40461
+ } = toastMessageOptions;
40462
+ if (primaryButtonConfig && "onClick" in primaryButtonConfig && dismissOnPrimaryButtonClick) {
40463
+ const onClick = primaryButtonConfig.onClick;
40464
+ primaryButtonConfig.onClick = (e3) => {
40465
+ onClick(e3);
40466
+ onClose();
40467
+ };
40468
+ }
40469
+ if (secondaryButtonConfig && "onClick" in secondaryButtonConfig && dismissOnSecondaryButtonClick) {
40470
+ const onClick = secondaryButtonConfig.onClick;
40471
+ secondaryButtonConfig.onClick = (e3) => {
40472
+ onClick(e3);
40473
+ onClose();
40474
+ };
40475
+ }
40476
+ let { autoCloseInMs = 15e3 } = toastMessageOptions;
39517
40477
  if (autoCloseInMs === 0) {
39518
40478
  autoCloseInMs = Infinity;
39519
40479
  }
39520
- const id2 = uniqueId_default("synToast-");
39521
40480
  toast(/* @__PURE__ */ import_react13.default.createElement(FullWidthAlert_default, {
39522
40481
  isGlobal: false,
39523
- onClose: () => {
39524
- toast.dismiss(id2);
39525
- },
40482
+ onClose,
39526
40483
  variant: variant != null ? variant : "info",
39527
40484
  show: true,
39528
40485
  title,
39529
40486
  description: message,
39530
- primaryButtonText,
39531
- onPrimaryButtonClick,
39532
- secondaryButtonText,
39533
- secondaryButtonHref
40487
+ primaryButtonConfig,
40488
+ secondaryButtonConfig
39534
40489
  }), {
39535
40490
  id: id2,
39536
40491
  className: "SynapseToastMessage",
@@ -43615,7 +44570,7 @@ var SRC = (() => {
43615
44570
  const { data: userProfile } = useGetUserProfile(principalId, {
43616
44571
  enabled: (_a = options2 == null ? void 0 : options2.enabled) != null ? _a : true
43617
44572
  });
43618
- return useQuery(queryKey, () => getProfilePic(userProfile, accessToken), __spreadProps(__spreadValues({}, options2), {
44573
+ return useQuery(queryKey, () => getProfilePic(userProfile), __spreadProps(__spreadValues({}, options2), {
43619
44574
  enabled: !!userProfile
43620
44575
  }));
43621
44576
  }
@@ -45998,7 +46953,7 @@ var SRC = (() => {
45998
46953
  console.log("FileUpload: fail to upload file", e4);
45999
46954
  uploadCallback == null ? void 0 : uploadCallback({
46000
46955
  success: false,
46001
- message: e4
46956
+ error: e4
46002
46957
  });
46003
46958
  }
46004
46959
  }
@@ -49424,41 +50379,50 @@ var SRC = (() => {
49424
50379
  });
49425
50380
  };
49426
50381
  const uploadCallback = (data2) => {
49427
- if (data2.context === "attachments") {
49428
- const docs = (formSubmitRequestObject == null ? void 0 : formSubmitRequestObject.attachments) ? formSubmitRequestObject == null ? void 0 : formSubmitRequestObject.attachments : [];
49429
- docs == null ? void 0 : docs.push(data2.resp.fileHandleId);
49430
- setFormSubmitRequestObject((prevState) => {
49431
- return Object.assign({}, prevState, { attachments: docs });
49432
- });
49433
- setAttachments((prev2) => [
49434
- ...prev2,
49435
- {
49436
- fileName: data2.resp.fileName,
49437
- fileHandleId: data2.resp.fileHandleId
49438
- }
49439
- ]);
49440
- } else {
49441
- setFormSubmitRequestObject((prevState) => {
49442
- return Object.assign({}, prevState, {
49443
- [data2.context]: data2.resp.fileHandleId
50382
+ if (data2.resp && data2.success) {
50383
+ const uploadResponse = data2.resp;
50384
+ if (data2.context === "attachments") {
50385
+ const docs = (formSubmitRequestObject == null ? void 0 : formSubmitRequestObject.attachments) ? formSubmitRequestObject == null ? void 0 : formSubmitRequestObject.attachments : [];
50386
+ docs == null ? void 0 : docs.push(uploadResponse.fileHandleId);
50387
+ setFormSubmitRequestObject((prevState) => {
50388
+ return Object.assign({}, prevState, { attachments: docs });
49444
50389
  });
49445
- });
49446
- if (data2.context === "ducFileHandleId") {
49447
- setDUC((prevState) => {
50390
+ setAttachments((prev2) => [
50391
+ ...prev2,
50392
+ {
50393
+ fileName: uploadResponse.fileName,
50394
+ fileHandleId: uploadResponse.fileHandleId
50395
+ }
50396
+ ]);
50397
+ } else {
50398
+ setFormSubmitRequestObject((prevState) => {
49448
50399
  return Object.assign({}, prevState, {
49449
- fileName: data2.resp.fileName,
49450
- fileHandleId: data2.resp.fileHandleId
50400
+ [data2.context]: uploadResponse.fileHandleId
49451
50401
  });
49452
50402
  });
49453
- }
49454
- if (data2.context === "irbFileHandleId") {
49455
- setIRB((prevState) => {
49456
- return Object.assign({}, prevState, {
49457
- fileName: data2.resp.fileName,
49458
- fileHandleId: data2.resp.fileHandleId
50403
+ if (data2.context === "ducFileHandleId") {
50404
+ setDUC((prevState) => {
50405
+ return Object.assign({}, prevState, {
50406
+ fileName: uploadResponse.fileName,
50407
+ fileHandleId: uploadResponse.fileHandleId
50408
+ });
49459
50409
  });
49460
- });
50410
+ }
50411
+ if (data2.context === "irbFileHandleId") {
50412
+ setIRB((prevState) => {
50413
+ return Object.assign({}, prevState, {
50414
+ fileName: uploadResponse.fileName,
50415
+ fileHandleId: uploadResponse.fileHandleId
50416
+ });
50417
+ });
50418
+ }
49461
50419
  }
50420
+ } else if (!data2.success && data2.error) {
50421
+ console.log("RequestDataAccessStep2: Error uploading the file", data2.error);
50422
+ setAlert({
50423
+ key: "danger",
50424
+ message: getErrorMessage(data2.error.reason)
50425
+ });
49462
50426
  }
49463
50427
  };
49464
50428
  const onSelectUserCallback = (selected) => {
@@ -54691,6 +55655,7 @@ Please refer to our full <a target="_blank" href="https://help.synapse.org/docs/
54691
55655
  var React221 = __toModule(require_react());
54692
55656
 
54693
55657
  // src/lib/containers/DirectDownload.tsx
55658
+ var import_ua_parser_js = __toModule(require_ua_parser());
54694
55659
  var DirectDownload = (props) => {
54695
55660
  const { accessToken } = useSynapseContext();
54696
55661
  const {
@@ -54718,6 +55683,13 @@ Please refer to our full <a target="_blank" href="https://help.synapse.org/docs/
54718
55683
  }, [accessToken, inView]);
54719
55684
  const getDownloadLink = () => __async(void 0, null, function* () {
54720
55685
  let preSignedURL;
55686
+ const parser2 = new import_ua_parser_js.UAParser();
55687
+ const isSafari = parser2.getBrowser().name == "Safari";
55688
+ let safariDownloadWindow = null;
55689
+ if (isSafari) {
55690
+ safariDownloadWindow = window.open("", "Safari Download", "toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,popup,width=600,height=200");
55691
+ safariDownloadWindow.document.body.innerHTML = "Downloading file on Safari...";
55692
+ }
54721
55693
  try {
54722
55694
  if (associatedObjectType === FileHandleAssociateType.TableEntity) {
54723
55695
  const files = yield getTableEntityFileHandle(true);
@@ -54730,9 +55702,19 @@ Please refer to our full <a target="_blank" href="https://help.synapse.org/docs/
54730
55702
  console.log("Fail to get file download link: ", e3);
54731
55703
  }
54732
55704
  if (!preSignedURL) {
55705
+ safariDownloadWindow == null ? void 0 : safariDownloadWindow.close();
54733
55706
  console.log("Fail to get file download link");
54734
55707
  } else {
54735
- window.open(preSignedURL);
55708
+ if (isSafari && safariDownloadWindow) {
55709
+ safariDownloadWindow.location = preSignedURL;
55710
+ setTimeout(() => {
55711
+ if (safariDownloadWindow) {
55712
+ safariDownloadWindow.close();
55713
+ }
55714
+ }, 1e4);
55715
+ } else {
55716
+ window.open(preSignedURL);
55717
+ }
54736
55718
  if (onClickCallback) {
54737
55719
  onClickCallback();
54738
55720
  }
@@ -79673,12 +80655,6 @@ https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_liter
79673
80655
  var import_react208 = __toModule(require_react());
79674
80656
  var import_react_bootstrap52 = __toModule(require_react_bootstrap());
79675
80657
 
79676
- // src/lib/utils/functions/TooltipUtils.ts
79677
- var rebuildTooltip = debounce_default(() => index_es_default.rebuild(), 200, {
79678
- leading: false,
79679
- trailing: true
79680
- });
79681
-
79682
80658
  // src/lib/containers/EntityLink.tsx
79683
80659
  var import_react207 = __toModule(require_react());
79684
80660
  var EntityLink = (props) => {
@@ -81847,8 +82823,10 @@ https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_liter
81847
82823
  };
81848
82824
  yield SynapseClient_exports.addFilesToDownloadListV2(req, token2);
81849
82825
  displayToast("File(s) were successfully added to your Download List.", "success", {
81850
- primaryButtonText: "View Download List",
81851
- onPrimaryButtonClick: goToDownloadListFn
82826
+ primaryButtonConfig: {
82827
+ text: "View Download List",
82828
+ onClick: goToDownloadListFn
82829
+ }
81852
82830
  });
81853
82831
  closeConfirmationFn();
81854
82832
  return [0 /* LOADING_INFO */, ""];
@@ -81898,9 +82876,7 @@ https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_liter
81898
82876
  fileCount: 0,
81899
82877
  fileSize: 0
81900
82878
  });
81901
- const {
81902
- refetch
81903
- } = useGetDownloadListStatistics();
82879
+ const { refetch } = useGetDownloadListStatistics();
81904
82880
  const lastQueryRequest = getLastQueryRequest();
81905
82881
  const [showDownloadList, setShowDownloadList] = (0, import_react224.useState)(false);
81906
82882
  const updateStats = (0, import_react224.useCallback)((count2, bytes) => __async(void 0, null, function* () {
@@ -81918,10 +82894,7 @@ https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_liter
81918
82894
  });
81919
82895
  }
81920
82896
  }), [accessToken]);
81921
- const {
81922
- data: entityChildrenData,
81923
- isSuccess
81924
- } = useGetEntityChildren({
82897
+ const { data: entityChildrenData, isSuccess } = useGetEntityChildren({
81925
82898
  parentId: folderId,
81926
82899
  includeSumFileSizes: true,
81927
82900
  includeTotalChildCount: true,
@@ -81963,7 +82936,11 @@ https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_liter
81963
82936
  setState(__spreadProps(__spreadValues({}, state), { errorMessage: result[1] }));
81964
82937
  }
81965
82938
  });
81966
- const getContent = ({ fileCount, fileSize, errorMessage }) => {
82939
+ const getContent = ({
82940
+ fileCount,
82941
+ fileSize,
82942
+ errorMessage
82943
+ }) => {
81967
82944
  switch (status) {
81968
82945
  case 0 /* LOADING_INFO */:
81969
82946
  case 1 /* PROCESSING */:
@@ -82516,8 +83493,7 @@ https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_liter
82516
83493
  if (error.status === 412) {
82517
83494
  displayToast("Re-retrieve the dataset to get the latest changes. Your current changes will be lost.", "warning", {
82518
83495
  title: "Dataset Updated since Last Fetched",
82519
- primaryButtonText: "Retrieve Dataset",
82520
- onPrimaryButtonClick: refetch
83496
+ primaryButtonConfig: { text: "Retrieve Dataset", onClick: refetch }
82521
83497
  });
82522
83498
  } else {
82523
83499
  displayToast(error.reason, "danger", {
@@ -82844,7 +83820,8 @@ https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_liter
82844
83820
  HelpPopover,
82845
83821
  ProgrammaticTableDownload: ProgrammaticTableDownload_default,
82846
83822
  DirectProgrammaticDownload: DirectProgrammaticDownload_default,
82847
- ProgrammaticInstructionsModal
83823
+ ProgrammaticInstructionsModal,
83824
+ SkeletonButton
82848
83825
  };
82849
83826
  return umd_index_exports;
82850
83827
  })();