synapse-react-client 2.1.3 → 2.1.7

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 (34) 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/FullWidthAlert.d.ts +13 -5
  6. package/dist/containers/FullWidthAlert.js +28 -14
  7. package/dist/containers/FullWidthAlert.js.map +1 -1
  8. package/dist/containers/GenericCard.js +15 -2
  9. package/dist/containers/GenericCard.js.map +1 -1
  10. package/dist/containers/ToastMessage.d.ts +3 -4
  11. package/dist/containers/ToastMessage.js +15 -12
  12. package/dist/containers/ToastMessage.js.map +1 -1
  13. package/dist/containers/download_list/DownloadConfirmation.js +9 -5
  14. package/dist/containers/download_list/DownloadConfirmation.js.map +1 -1
  15. package/dist/containers/table/SynapseTable.d.ts +1 -1
  16. package/dist/containers/table/SynapseTable.js +24 -7
  17. package/dist/containers/table/SynapseTable.js.map +1 -1
  18. package/dist/containers/table/datasets/DatasetItemsEditor.js +1 -2
  19. package/dist/containers/table/datasets/DatasetItemsEditor.js.map +1 -1
  20. package/dist/index.d.ts +2 -4
  21. package/dist/style/abstracts/_mixins.scss +14 -11
  22. package/dist/style/bootstrap4_backports/_base-import.scss +19 -0
  23. package/dist/style/components/_cards.scss +1 -0
  24. package/dist/style/main.css +120 -31
  25. package/dist/umd/synapse-react-client.development.css +122 -31
  26. package/dist/umd/synapse-react-client.development.css.map +2 -2
  27. package/dist/umd/synapse-react-client.development.js +1019 -53
  28. package/dist/umd/synapse-react-client.development.js.map +3 -3
  29. package/dist/umd/synapse-react-client.production.min.css +1 -1
  30. package/dist/umd/synapse-react-client.production.min.js +63 -63
  31. package/dist/umd.index.d.ts +5 -4
  32. package/dist/umd.index.js +2 -0
  33. package/dist/umd.index.js.map +1 -1
  34. 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) {
@@ -39374,7 +40298,14 @@ var SRC = (() => {
39374
40298
  };
39375
40299
  var Typography_default2 = Typography3;
39376
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
+
39377
40307
  // src/lib/containers/FullWidthAlert.tsx
40308
+ var FULL_WIDTH_ALERT_TOOLTIP_ID = "FullWidthAlertTooltip";
39378
40309
  function getIcon(variant) {
39379
40310
  switch (variant) {
39380
40311
  case "warning":
@@ -39401,14 +40332,36 @@ var SRC = (() => {
39401
40332
  return /* @__PURE__ */ import_react12.default.createElement(import_react12.default.Fragment, null);
39402
40333
  }
39403
40334
  }
40335
+ function ButtonFromConfig(props) {
40336
+ const { config: config2, variant, className } = props;
40337
+ if (config2 && ("onClick" in config2 || "href" in 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
+ }
39404
40359
  function FullWidthAlert(props) {
39405
40360
  const {
39406
40361
  title,
39407
40362
  description,
39408
- secondaryButtonText,
39409
- onSecondaryButtonClickOrHref,
39410
- primaryButtonText,
39411
- onPrimaryButtonClick,
40363
+ primaryButtonConfig,
40364
+ secondaryButtonConfig,
39412
40365
  show,
39413
40366
  onClose,
39414
40367
  autoCloseAfterDelayInSeconds,
@@ -39417,7 +40370,10 @@ var SRC = (() => {
39417
40370
  isGlobal = true
39418
40371
  } = props;
39419
40372
  const iconContent = getIcon(variant);
39420
- const hasActions = primaryButtonText && onPrimaryButtonClick || secondaryButtonText && onSecondaryButtonClickOrHref;
40373
+ const hasActions = primaryButtonConfig || secondaryButtonConfig;
40374
+ (0, import_react12.useEffect)(() => {
40375
+ rebuildTooltip();
40376
+ }, [primaryButtonConfig, secondaryButtonConfig]);
39421
40377
  (0, import_react12.useEffect)(() => {
39422
40378
  let timer;
39423
40379
  if (onClose && autoCloseAfterDelayInSeconds) {
@@ -39436,7 +40392,11 @@ var SRC = (() => {
39436
40392
  dismissible: false,
39437
40393
  transition: transition2,
39438
40394
  className: `FullWidthAlert bootstrap-4-backport ${isGlobal ? "global" : ""} ${additionalAlertVariantClass}`
39439
- }, /* @__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", {
39440
40400
  className: `gridContainer ${hasActions ? "" : "noActions"} ${onClose ? "hasCloseButton" : ""}`
39441
40401
  }, /* @__PURE__ */ import_react12.default.createElement("span", {
39442
40402
  className: "iconArea"
@@ -39446,20 +40406,15 @@ var SRC = (() => {
39446
40406
  variant: "headline3"
39447
40407
  }, title), /* @__PURE__ */ import_react12.default.createElement(Typography_default2, {
39448
40408
  variant: "body1"
39449
- }, description)), secondaryButtonText && onSecondaryButtonClickOrHref && /* @__PURE__ */ import_react12.default.createElement("a", {
39450
- className: "secondaryButton",
39451
- target: "_blank",
39452
- rel: "noopener noreferrer",
39453
- onClick: typeof onSecondaryButtonClickOrHref === "function" ? (e3) => {
39454
- e3.preventDefault();
39455
- onSecondaryButtonClickOrHref();
39456
- } : void 0,
39457
- href: typeof onSecondaryButtonClickOrHref === "string" ? onSecondaryButtonClickOrHref : "#"
39458
- }, " ", secondaryButtonText), primaryButtonText && onPrimaryButtonClick && /* @__PURE__ */ import_react12.default.createElement(import_react_bootstrap.Button, {
39459
- 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,
39460
40415
  variant: "secondary",
39461
- onClick: onPrimaryButtonClick
39462
- }, primaryButtonText), onClose && /* @__PURE__ */ import_react12.default.createElement("button", {
40416
+ className: "primaryButton"
40417
+ }), onClose && /* @__PURE__ */ import_react12.default.createElement("button", {
39463
40418
  className: "closeAlert",
39464
40419
  onClick: onClose
39465
40420
  }, /* @__PURE__ */ import_react12.default.createElement(Clear_default, {
@@ -39499,22 +40454,22 @@ var SRC = (() => {
39499
40454
  };
39500
40455
  const {
39501
40456
  title = void 0,
39502
- primaryButtonText = void 0,
39503
- secondaryButtonText = void 0,
40457
+ primaryButtonConfig = void 0,
40458
+ secondaryButtonConfig = void 0,
39504
40459
  dismissOnPrimaryButtonClick = false,
39505
40460
  dismissOnSecondaryButtonClick = false
39506
40461
  } = toastMessageOptions;
39507
- let onPrimaryButtonClick = toastMessageOptions.onPrimaryButtonClick;
39508
- if (onPrimaryButtonClick && dismissOnPrimaryButtonClick) {
39509
- onPrimaryButtonClick = () => {
39510
- onPrimaryButtonClick();
40462
+ if (primaryButtonConfig && "onClick" in primaryButtonConfig && dismissOnPrimaryButtonClick) {
40463
+ const onClick = primaryButtonConfig.onClick;
40464
+ primaryButtonConfig.onClick = (e3) => {
40465
+ onClick(e3);
39511
40466
  onClose();
39512
40467
  };
39513
40468
  }
39514
- let onSecondaryButtonClickOrHref = toastMessageOptions.onSecondaryButtonClickOrHref;
39515
- if (onSecondaryButtonClickOrHref && typeof onSecondaryButtonClickOrHref === "function" && dismissOnSecondaryButtonClick) {
39516
- onSecondaryButtonClickOrHref = () => {
39517
- onSecondaryButtonClickOrHref();
40469
+ if (secondaryButtonConfig && "onClick" in secondaryButtonConfig && dismissOnSecondaryButtonClick) {
40470
+ const onClick = secondaryButtonConfig.onClick;
40471
+ secondaryButtonConfig.onClick = (e3) => {
40472
+ onClick(e3);
39518
40473
  onClose();
39519
40474
  };
39520
40475
  }
@@ -39529,10 +40484,8 @@ var SRC = (() => {
39529
40484
  show: true,
39530
40485
  title,
39531
40486
  description: message,
39532
- primaryButtonText,
39533
- onPrimaryButtonClick,
39534
- secondaryButtonText,
39535
- onSecondaryButtonClickOrHref
40487
+ primaryButtonConfig,
40488
+ secondaryButtonConfig
39536
40489
  }), {
39537
40490
  id: id2,
39538
40491
  className: "SynapseToastMessage",
@@ -54702,6 +55655,7 @@ Please refer to our full <a target="_blank" href="https://help.synapse.org/docs/
54702
55655
  var React221 = __toModule(require_react());
54703
55656
 
54704
55657
  // src/lib/containers/DirectDownload.tsx
55658
+ var import_ua_parser_js = __toModule(require_ua_parser());
54705
55659
  var DirectDownload = (props) => {
54706
55660
  const { accessToken } = useSynapseContext();
54707
55661
  const {
@@ -54729,6 +55683,13 @@ Please refer to our full <a target="_blank" href="https://help.synapse.org/docs/
54729
55683
  }, [accessToken, inView]);
54730
55684
  const getDownloadLink = () => __async(void 0, null, function* () {
54731
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
+ }
54732
55693
  try {
54733
55694
  if (associatedObjectType === FileHandleAssociateType.TableEntity) {
54734
55695
  const files = yield getTableEntityFileHandle(true);
@@ -54741,9 +55702,19 @@ Please refer to our full <a target="_blank" href="https://help.synapse.org/docs/
54741
55702
  console.log("Fail to get file download link: ", e3);
54742
55703
  }
54743
55704
  if (!preSignedURL) {
55705
+ safariDownloadWindow == null ? void 0 : safariDownloadWindow.close();
54744
55706
  console.log("Fail to get file download link");
54745
55707
  } else {
54746
- 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
+ }
54747
55718
  if (onClickCallback) {
54748
55719
  onClickCallback();
54749
55720
  }
@@ -79684,12 +80655,6 @@ https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_liter
79684
80655
  var import_react208 = __toModule(require_react());
79685
80656
  var import_react_bootstrap52 = __toModule(require_react_bootstrap());
79686
80657
 
79687
- // src/lib/utils/functions/TooltipUtils.ts
79688
- var rebuildTooltip = debounce_default(() => index_es_default.rebuild(), 200, {
79689
- leading: false,
79690
- trailing: true
79691
- });
79692
-
79693
80658
  // src/lib/containers/EntityLink.tsx
79694
80659
  var import_react207 = __toModule(require_react());
79695
80660
  var EntityLink = (props) => {
@@ -81858,8 +82823,10 @@ https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_liter
81858
82823
  };
81859
82824
  yield SynapseClient_exports.addFilesToDownloadListV2(req, token2);
81860
82825
  displayToast("File(s) were successfully added to your Download List.", "success", {
81861
- primaryButtonText: "View Download List",
81862
- onPrimaryButtonClick: goToDownloadListFn
82826
+ primaryButtonConfig: {
82827
+ text: "View Download List",
82828
+ onClick: goToDownloadListFn
82829
+ }
81863
82830
  });
81864
82831
  closeConfirmationFn();
81865
82832
  return [0 /* LOADING_INFO */, ""];
@@ -81909,9 +82876,7 @@ https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_liter
81909
82876
  fileCount: 0,
81910
82877
  fileSize: 0
81911
82878
  });
81912
- const {
81913
- refetch
81914
- } = useGetDownloadListStatistics();
82879
+ const { refetch } = useGetDownloadListStatistics();
81915
82880
  const lastQueryRequest = getLastQueryRequest();
81916
82881
  const [showDownloadList, setShowDownloadList] = (0, import_react224.useState)(false);
81917
82882
  const updateStats = (0, import_react224.useCallback)((count2, bytes) => __async(void 0, null, function* () {
@@ -81929,10 +82894,7 @@ https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_liter
81929
82894
  });
81930
82895
  }
81931
82896
  }), [accessToken]);
81932
- const {
81933
- data: entityChildrenData,
81934
- isSuccess
81935
- } = useGetEntityChildren({
82897
+ const { data: entityChildrenData, isSuccess } = useGetEntityChildren({
81936
82898
  parentId: folderId,
81937
82899
  includeSumFileSizes: true,
81938
82900
  includeTotalChildCount: true,
@@ -81974,7 +82936,11 @@ https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_liter
81974
82936
  setState(__spreadProps(__spreadValues({}, state), { errorMessage: result[1] }));
81975
82937
  }
81976
82938
  });
81977
- const getContent = ({ fileCount, fileSize, errorMessage }) => {
82939
+ const getContent = ({
82940
+ fileCount,
82941
+ fileSize,
82942
+ errorMessage
82943
+ }) => {
81978
82944
  switch (status) {
81979
82945
  case 0 /* LOADING_INFO */:
81980
82946
  case 1 /* PROCESSING */:
@@ -82527,8 +83493,7 @@ https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_liter
82527
83493
  if (error.status === 412) {
82528
83494
  displayToast("Re-retrieve the dataset to get the latest changes. Your current changes will be lost.", "warning", {
82529
83495
  title: "Dataset Updated since Last Fetched",
82530
- primaryButtonText: "Retrieve Dataset",
82531
- onPrimaryButtonClick: refetch
83496
+ primaryButtonConfig: { text: "Retrieve Dataset", onClick: refetch }
82532
83497
  });
82533
83498
  } else {
82534
83499
  displayToast(error.reason, "danger", {
@@ -82855,7 +83820,8 @@ https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_liter
82855
83820
  HelpPopover,
82856
83821
  ProgrammaticTableDownload: ProgrammaticTableDownload_default,
82857
83822
  DirectProgrammaticDownload: DirectProgrammaticDownload_default,
82858
- ProgrammaticInstructionsModal
83823
+ ProgrammaticInstructionsModal,
83824
+ SkeletonButton
82859
83825
  };
82860
83826
  return umd_index_exports;
82861
83827
  })();