@ui5/webcomponents-base 2.22.0-rc.4 → 2.22.0-rc.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.
- package/CHANGELOG.md +27 -0
- package/dist/.tsbuildinfobuild +1 -1
- package/dist/InitialConfiguration.d.ts +2 -1
- package/dist/InitialConfiguration.js +9 -2
- package/dist/InitialConfiguration.js.map +1 -1
- package/dist/Runtimes.d.ts +5 -1
- package/dist/Runtimes.js +24 -24
- package/dist/Runtimes.js.map +1 -1
- package/dist/config/UrlParams.d.ts +20 -0
- package/dist/config/UrlParams.js +30 -0
- package/dist/config/UrlParams.js.map +1 -0
- package/dist/custom-elements-internal.json +123 -117
- package/dist/custom-elements.json +123 -117
- package/dist/features/OpenUI5Support.d.ts +1 -1
- package/dist/features/OpenUI5Support.js +11 -8
- package/dist/features/OpenUI5Support.js.map +1 -1
- package/dist/features/patchPopup.js +33 -4
- package/dist/features/patchPopup.js.map +1 -1
- package/dist/generated/VersionInfo.js +3 -3
- package/dist/generated/VersionInfo.js.map +1 -1
- package/dist/generated/assets/i18n/messagebundle_ar.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_bg.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_ca.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_cnr.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_cs.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_cy.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_da.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_de.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_el.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_es.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_et.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_fi.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_fr.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_hi.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_hr.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_hu.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_id.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_it.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_iw.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_ja.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_kk.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_ko.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_lt.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_lv.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_mk.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_ms.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_nl.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_no.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_pl.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_pt.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_ro.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_ru.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_sh.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_sk.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_sl.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_sr.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_sv.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_th.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_tr.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_uk.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_vi.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/prod/InitialConfiguration.js +1 -1
- package/dist/prod/InitialConfiguration.js.map +3 -3
- package/dist/prod/Runtimes.js +1 -1
- package/dist/prod/Runtimes.js.map +3 -3
- package/dist/prod/config/UrlParams.js +2 -0
- package/dist/prod/config/UrlParams.js.map +7 -0
- package/dist/prod/features/OpenUI5Support.js +1 -1
- package/dist/prod/features/OpenUI5Support.js.map +3 -3
- package/dist/prod/features/patchPopup.js +1 -1
- package/dist/prod/features/patchPopup.js.map +3 -3
- package/dist/prod/generated/VersionInfo.js +1 -1
- package/dist/prod/generated/VersionInfo.js.map +1 -1
- package/dist/prod/generated/assets/i18n/messagebundle_ar.json +1 -0
- package/dist/prod/generated/assets/i18n/messagebundle_bg.json +1 -0
- package/dist/prod/generated/assets/i18n/messagebundle_ca.json +1 -0
- package/dist/prod/generated/assets/i18n/messagebundle_cnr.json +1 -0
- package/dist/prod/generated/assets/i18n/messagebundle_cs.json +1 -0
- package/dist/prod/generated/assets/i18n/messagebundle_cy.json +1 -0
- package/dist/prod/generated/assets/i18n/messagebundle_da.json +1 -0
- package/dist/prod/generated/assets/i18n/messagebundle_de.json +1 -0
- package/dist/prod/generated/assets/i18n/messagebundle_el.json +1 -0
- package/dist/prod/generated/assets/i18n/messagebundle_en_GB.json +1 -0
- package/dist/prod/generated/assets/i18n/messagebundle_es.json +1 -0
- package/dist/prod/generated/assets/i18n/messagebundle_es_MX.json +1 -0
- package/dist/prod/generated/assets/i18n/messagebundle_et.json +1 -0
- package/dist/prod/generated/assets/i18n/messagebundle_fi.json +1 -0
- package/dist/prod/generated/assets/i18n/messagebundle_fr.json +1 -0
- package/dist/prod/generated/assets/i18n/messagebundle_fr_CA.json +1 -0
- package/dist/prod/generated/assets/i18n/messagebundle_hi.json +1 -0
- package/dist/prod/generated/assets/i18n/messagebundle_hr.json +1 -0
- package/dist/prod/generated/assets/i18n/messagebundle_hu.json +1 -0
- package/dist/prod/generated/assets/i18n/messagebundle_id.json +1 -0
- package/dist/prod/generated/assets/i18n/messagebundle_it.json +1 -0
- package/dist/prod/generated/assets/i18n/messagebundle_iw.json +1 -0
- package/dist/prod/generated/assets/i18n/messagebundle_ja.json +1 -0
- package/dist/prod/generated/assets/i18n/messagebundle_kk.json +1 -0
- package/dist/prod/generated/assets/i18n/messagebundle_ko.json +1 -0
- package/dist/prod/generated/assets/i18n/messagebundle_lt.json +1 -0
- package/dist/prod/generated/assets/i18n/messagebundle_lv.json +1 -0
- package/dist/prod/generated/assets/i18n/messagebundle_mk.json +1 -0
- package/dist/prod/generated/assets/i18n/messagebundle_ms.json +1 -0
- package/dist/prod/generated/assets/i18n/messagebundle_nl.json +1 -0
- package/dist/prod/generated/assets/i18n/messagebundle_no.json +1 -0
- package/dist/prod/generated/assets/i18n/messagebundle_pl.json +1 -0
- package/dist/prod/generated/assets/i18n/messagebundle_pt.json +1 -0
- package/dist/prod/generated/assets/i18n/messagebundle_pt_PT.json +1 -0
- package/dist/prod/generated/assets/i18n/messagebundle_ro.json +1 -0
- package/dist/prod/generated/assets/i18n/messagebundle_ru.json +1 -0
- package/dist/prod/generated/assets/i18n/messagebundle_sh.json +1 -0
- package/dist/prod/generated/assets/i18n/messagebundle_sk.json +1 -0
- package/dist/prod/generated/assets/i18n/messagebundle_sl.json +1 -0
- package/dist/prod/generated/assets/i18n/messagebundle_sr.json +1 -0
- package/dist/prod/generated/assets/i18n/messagebundle_sv.json +1 -0
- package/dist/prod/generated/assets/i18n/messagebundle_th.json +1 -0
- package/dist/prod/generated/assets/i18n/messagebundle_tr.json +1 -0
- package/dist/prod/generated/assets/i18n/messagebundle_uk.json +1 -0
- package/dist/prod/generated/assets/i18n/messagebundle_vi.json +1 -0
- package/dist/prod/generated/assets/i18n/messagebundle_zh_CN.json +1 -0
- package/dist/prod/generated/assets/i18n/messagebundle_zh_TW.json +1 -0
- package/dist/prod/index.js +1 -1
- package/dist/prod/index.js.map +3 -3
- package/package.json +3 -3
- package/src/i18n/messagebundle_ar.properties +2 -0
- package/src/i18n/messagebundle_bg.properties +2 -0
- package/src/i18n/messagebundle_ca.properties +2 -0
- package/src/i18n/messagebundle_cnr.properties +2 -0
- package/src/i18n/messagebundle_cs.properties +2 -0
- package/src/i18n/messagebundle_cy.properties +2 -0
- package/src/i18n/messagebundle_da.properties +2 -0
- package/src/i18n/messagebundle_de.properties +2 -0
- package/src/i18n/messagebundle_el.properties +2 -0
- package/src/i18n/messagebundle_en_GB.properties +2 -0
- package/src/i18n/messagebundle_es.properties +2 -0
- package/src/i18n/messagebundle_es_MX.properties +2 -0
- package/src/i18n/messagebundle_et.properties +2 -0
- package/src/i18n/messagebundle_fi.properties +2 -0
- package/src/i18n/messagebundle_fr.properties +2 -0
- package/src/i18n/messagebundle_fr_CA.properties +2 -0
- package/src/i18n/messagebundle_hi.properties +2 -0
- package/src/i18n/messagebundle_hr.properties +2 -0
- package/src/i18n/messagebundle_hu.properties +2 -0
- package/src/i18n/messagebundle_id.properties +2 -0
- package/src/i18n/messagebundle_it.properties +2 -0
- package/src/i18n/messagebundle_iw.properties +2 -0
- package/src/i18n/messagebundle_ja.properties +2 -0
- package/src/i18n/messagebundle_kk.properties +2 -0
- package/src/i18n/messagebundle_ko.properties +2 -0
- package/src/i18n/messagebundle_lt.properties +2 -0
- package/src/i18n/messagebundle_lv.properties +2 -0
- package/src/i18n/messagebundle_mk.properties +2 -0
- package/src/i18n/messagebundle_ms.properties +2 -0
- package/src/i18n/messagebundle_nl.properties +2 -0
- package/src/i18n/messagebundle_no.properties +2 -0
- package/src/i18n/messagebundle_pl.properties +2 -0
- package/src/i18n/messagebundle_pt.properties +2 -0
- package/src/i18n/messagebundle_pt_PT.properties +2 -0
- package/src/i18n/messagebundle_ro.properties +2 -0
- package/src/i18n/messagebundle_ru.properties +2 -0
- package/src/i18n/messagebundle_sh.properties +2 -0
- package/src/i18n/messagebundle_sk.properties +2 -0
- package/src/i18n/messagebundle_sl.properties +2 -0
- package/src/i18n/messagebundle_sr.properties +2 -0
- package/src/i18n/messagebundle_sv.properties +2 -0
- package/src/i18n/messagebundle_th.properties +2 -0
- package/src/i18n/messagebundle_tr.properties +2 -0
- package/src/i18n/messagebundle_uk.properties +2 -0
- package/src/i18n/messagebundle_vi.properties +2 -0
- package/src/i18n/messagebundle_zh_CN.properties +2 -0
- package/src/i18n/messagebundle_zh_TW.properties +2 -0
|
@@ -1184,6 +1184,12 @@
|
|
|
1184
1184
|
"declarations": [],
|
|
1185
1185
|
"exports": []
|
|
1186
1186
|
},
|
|
1187
|
+
{
|
|
1188
|
+
"kind": "javascript-module",
|
|
1189
|
+
"path": "dist/config/UrlParams.js",
|
|
1190
|
+
"declarations": [],
|
|
1191
|
+
"exports": []
|
|
1192
|
+
},
|
|
1187
1193
|
{
|
|
1188
1194
|
"kind": "javascript-module",
|
|
1189
1195
|
"path": "dist/converters/DOMReference.js",
|
|
@@ -1349,123 +1355,6 @@
|
|
|
1349
1355
|
}
|
|
1350
1356
|
]
|
|
1351
1357
|
},
|
|
1352
|
-
{
|
|
1353
|
-
"kind": "javascript-module",
|
|
1354
|
-
"path": "dist/features/F6Navigation.js",
|
|
1355
|
-
"declarations": [],
|
|
1356
|
-
"exports": [
|
|
1357
|
-
{
|
|
1358
|
-
"kind": "js",
|
|
1359
|
-
"name": "default",
|
|
1360
|
-
"declaration": {
|
|
1361
|
-
"name": "F6Navigation",
|
|
1362
|
-
"module": "dist/features/F6Navigation.js"
|
|
1363
|
-
}
|
|
1364
|
-
}
|
|
1365
|
-
]
|
|
1366
|
-
},
|
|
1367
|
-
{
|
|
1368
|
-
"kind": "javascript-module",
|
|
1369
|
-
"path": "dist/features/InputElementsFormSupport.js",
|
|
1370
|
-
"declarations": [],
|
|
1371
|
-
"exports": []
|
|
1372
|
-
},
|
|
1373
|
-
{
|
|
1374
|
-
"kind": "javascript-module",
|
|
1375
|
-
"path": "dist/features/LegacyDateFormats.js",
|
|
1376
|
-
"declarations": [],
|
|
1377
|
-
"exports": [
|
|
1378
|
-
{
|
|
1379
|
-
"kind": "js",
|
|
1380
|
-
"name": "default",
|
|
1381
|
-
"declaration": {
|
|
1382
|
-
"name": "LegacyDateFormats",
|
|
1383
|
-
"module": "dist/features/LegacyDateFormats.js"
|
|
1384
|
-
}
|
|
1385
|
-
}
|
|
1386
|
-
]
|
|
1387
|
-
},
|
|
1388
|
-
{
|
|
1389
|
-
"kind": "javascript-module",
|
|
1390
|
-
"path": "dist/features/OpenUI5Element.js",
|
|
1391
|
-
"declarations": [],
|
|
1392
|
-
"exports": [
|
|
1393
|
-
{
|
|
1394
|
-
"kind": "js",
|
|
1395
|
-
"name": "default",
|
|
1396
|
-
"declaration": {
|
|
1397
|
-
"name": "OpenUI5Element",
|
|
1398
|
-
"module": "dist/features/OpenUI5Element.js"
|
|
1399
|
-
}
|
|
1400
|
-
}
|
|
1401
|
-
]
|
|
1402
|
-
},
|
|
1403
|
-
{
|
|
1404
|
-
"kind": "javascript-module",
|
|
1405
|
-
"path": "dist/features/OpenUI5Enablement.js",
|
|
1406
|
-
"declarations": [],
|
|
1407
|
-
"exports": [
|
|
1408
|
-
{
|
|
1409
|
-
"kind": "js",
|
|
1410
|
-
"name": "default",
|
|
1411
|
-
"declaration": {
|
|
1412
|
-
"name": "OpenUI5Enablement",
|
|
1413
|
-
"module": "dist/features/OpenUI5Enablement.js"
|
|
1414
|
-
}
|
|
1415
|
-
}
|
|
1416
|
-
]
|
|
1417
|
-
},
|
|
1418
|
-
{
|
|
1419
|
-
"kind": "javascript-module",
|
|
1420
|
-
"path": "dist/features/OpenUI5Support.js",
|
|
1421
|
-
"declarations": [],
|
|
1422
|
-
"exports": [
|
|
1423
|
-
{
|
|
1424
|
-
"kind": "js",
|
|
1425
|
-
"name": "default",
|
|
1426
|
-
"declaration": {
|
|
1427
|
-
"name": "OpenUI5Support",
|
|
1428
|
-
"module": "dist/features/OpenUI5Support.js"
|
|
1429
|
-
}
|
|
1430
|
-
}
|
|
1431
|
-
]
|
|
1432
|
-
},
|
|
1433
|
-
{
|
|
1434
|
-
"kind": "javascript-module",
|
|
1435
|
-
"path": "dist/features/insertOpenUI5PopupStyles.js",
|
|
1436
|
-
"declarations": [],
|
|
1437
|
-
"exports": [
|
|
1438
|
-
{
|
|
1439
|
-
"kind": "js",
|
|
1440
|
-
"name": "default",
|
|
1441
|
-
"declaration": {
|
|
1442
|
-
"name": "insertOpenUI5PopupStyles",
|
|
1443
|
-
"module": "dist/features/insertOpenUI5PopupStyles.js"
|
|
1444
|
-
}
|
|
1445
|
-
}
|
|
1446
|
-
]
|
|
1447
|
-
},
|
|
1448
|
-
{
|
|
1449
|
-
"kind": "javascript-module",
|
|
1450
|
-
"path": "dist/features/patchPatcher.js",
|
|
1451
|
-
"declarations": [],
|
|
1452
|
-
"exports": [
|
|
1453
|
-
{
|
|
1454
|
-
"kind": "js",
|
|
1455
|
-
"name": "default",
|
|
1456
|
-
"declaration": {
|
|
1457
|
-
"name": "patchPatcher",
|
|
1458
|
-
"module": "dist/features/patchPatcher.js"
|
|
1459
|
-
}
|
|
1460
|
-
}
|
|
1461
|
-
]
|
|
1462
|
-
},
|
|
1463
|
-
{
|
|
1464
|
-
"kind": "javascript-module",
|
|
1465
|
-
"path": "dist/features/patchPopup.js",
|
|
1466
|
-
"declarations": [],
|
|
1467
|
-
"exports": []
|
|
1468
|
-
},
|
|
1469
1358
|
{
|
|
1470
1359
|
"kind": "javascript-module",
|
|
1471
1360
|
"path": "dist/delegate/ItemNavigation.js",
|
|
@@ -1641,6 +1530,123 @@
|
|
|
1641
1530
|
}
|
|
1642
1531
|
]
|
|
1643
1532
|
},
|
|
1533
|
+
{
|
|
1534
|
+
"kind": "javascript-module",
|
|
1535
|
+
"path": "dist/features/F6Navigation.js",
|
|
1536
|
+
"declarations": [],
|
|
1537
|
+
"exports": [
|
|
1538
|
+
{
|
|
1539
|
+
"kind": "js",
|
|
1540
|
+
"name": "default",
|
|
1541
|
+
"declaration": {
|
|
1542
|
+
"name": "F6Navigation",
|
|
1543
|
+
"module": "dist/features/F6Navigation.js"
|
|
1544
|
+
}
|
|
1545
|
+
}
|
|
1546
|
+
]
|
|
1547
|
+
},
|
|
1548
|
+
{
|
|
1549
|
+
"kind": "javascript-module",
|
|
1550
|
+
"path": "dist/features/InputElementsFormSupport.js",
|
|
1551
|
+
"declarations": [],
|
|
1552
|
+
"exports": []
|
|
1553
|
+
},
|
|
1554
|
+
{
|
|
1555
|
+
"kind": "javascript-module",
|
|
1556
|
+
"path": "dist/features/LegacyDateFormats.js",
|
|
1557
|
+
"declarations": [],
|
|
1558
|
+
"exports": [
|
|
1559
|
+
{
|
|
1560
|
+
"kind": "js",
|
|
1561
|
+
"name": "default",
|
|
1562
|
+
"declaration": {
|
|
1563
|
+
"name": "LegacyDateFormats",
|
|
1564
|
+
"module": "dist/features/LegacyDateFormats.js"
|
|
1565
|
+
}
|
|
1566
|
+
}
|
|
1567
|
+
]
|
|
1568
|
+
},
|
|
1569
|
+
{
|
|
1570
|
+
"kind": "javascript-module",
|
|
1571
|
+
"path": "dist/features/OpenUI5Element.js",
|
|
1572
|
+
"declarations": [],
|
|
1573
|
+
"exports": [
|
|
1574
|
+
{
|
|
1575
|
+
"kind": "js",
|
|
1576
|
+
"name": "default",
|
|
1577
|
+
"declaration": {
|
|
1578
|
+
"name": "OpenUI5Element",
|
|
1579
|
+
"module": "dist/features/OpenUI5Element.js"
|
|
1580
|
+
}
|
|
1581
|
+
}
|
|
1582
|
+
]
|
|
1583
|
+
},
|
|
1584
|
+
{
|
|
1585
|
+
"kind": "javascript-module",
|
|
1586
|
+
"path": "dist/features/OpenUI5Enablement.js",
|
|
1587
|
+
"declarations": [],
|
|
1588
|
+
"exports": [
|
|
1589
|
+
{
|
|
1590
|
+
"kind": "js",
|
|
1591
|
+
"name": "default",
|
|
1592
|
+
"declaration": {
|
|
1593
|
+
"name": "OpenUI5Enablement",
|
|
1594
|
+
"module": "dist/features/OpenUI5Enablement.js"
|
|
1595
|
+
}
|
|
1596
|
+
}
|
|
1597
|
+
]
|
|
1598
|
+
},
|
|
1599
|
+
{
|
|
1600
|
+
"kind": "javascript-module",
|
|
1601
|
+
"path": "dist/features/OpenUI5Support.js",
|
|
1602
|
+
"declarations": [],
|
|
1603
|
+
"exports": [
|
|
1604
|
+
{
|
|
1605
|
+
"kind": "js",
|
|
1606
|
+
"name": "default",
|
|
1607
|
+
"declaration": {
|
|
1608
|
+
"name": "OpenUI5Support",
|
|
1609
|
+
"module": "dist/features/OpenUI5Support.js"
|
|
1610
|
+
}
|
|
1611
|
+
}
|
|
1612
|
+
]
|
|
1613
|
+
},
|
|
1614
|
+
{
|
|
1615
|
+
"kind": "javascript-module",
|
|
1616
|
+
"path": "dist/features/insertOpenUI5PopupStyles.js",
|
|
1617
|
+
"declarations": [],
|
|
1618
|
+
"exports": [
|
|
1619
|
+
{
|
|
1620
|
+
"kind": "js",
|
|
1621
|
+
"name": "default",
|
|
1622
|
+
"declaration": {
|
|
1623
|
+
"name": "insertOpenUI5PopupStyles",
|
|
1624
|
+
"module": "dist/features/insertOpenUI5PopupStyles.js"
|
|
1625
|
+
}
|
|
1626
|
+
}
|
|
1627
|
+
]
|
|
1628
|
+
},
|
|
1629
|
+
{
|
|
1630
|
+
"kind": "javascript-module",
|
|
1631
|
+
"path": "dist/features/patchPatcher.js",
|
|
1632
|
+
"declarations": [],
|
|
1633
|
+
"exports": [
|
|
1634
|
+
{
|
|
1635
|
+
"kind": "js",
|
|
1636
|
+
"name": "default",
|
|
1637
|
+
"declaration": {
|
|
1638
|
+
"name": "patchPatcher",
|
|
1639
|
+
"module": "dist/features/patchPatcher.js"
|
|
1640
|
+
}
|
|
1641
|
+
}
|
|
1642
|
+
]
|
|
1643
|
+
},
|
|
1644
|
+
{
|
|
1645
|
+
"kind": "javascript-module",
|
|
1646
|
+
"path": "dist/features/patchPopup.js",
|
|
1647
|
+
"declarations": [],
|
|
1648
|
+
"exports": []
|
|
1649
|
+
},
|
|
1644
1650
|
{
|
|
1645
1651
|
"kind": "javascript-module",
|
|
1646
1652
|
"path": "dist/locale/Locale.js",
|
|
@@ -3,7 +3,7 @@ import type { CLDRData } from "../asset-registries/LocaleData.js";
|
|
|
3
3
|
import type { LegacyDateCalendarCustomizing } from "../features/LegacyDateFormats.js";
|
|
4
4
|
declare class OpenUI5Support {
|
|
5
5
|
static enablePolling: boolean;
|
|
6
|
-
static
|
|
6
|
+
static isAtLeastVersion(minor: number): boolean;
|
|
7
7
|
static isOpenUI5Detected(): boolean;
|
|
8
8
|
static initPromise?: Promise<void>;
|
|
9
9
|
/**
|
|
@@ -6,7 +6,7 @@ import { setTheme } from "../config/Theme.js";
|
|
|
6
6
|
import { secondaryBoot } from "../Boot.js";
|
|
7
7
|
const OPENUI5_POLLING_INTERVAL = 100;
|
|
8
8
|
class OpenUI5Support {
|
|
9
|
-
static
|
|
9
|
+
static isAtLeastVersion(minor) {
|
|
10
10
|
if (!window.sap.ui.version) {
|
|
11
11
|
return true; // sap.ui.version will be removed in newer OpenUI5 versions
|
|
12
12
|
}
|
|
@@ -15,7 +15,7 @@ class OpenUI5Support {
|
|
|
15
15
|
if (!parts || parts.length < 2) {
|
|
16
16
|
return false;
|
|
17
17
|
}
|
|
18
|
-
return parseInt(parts[0]) > 1 || parseInt(parts[1]) >=
|
|
18
|
+
return parseInt(parts[0]) > 1 || parseInt(parts[1]) >= minor;
|
|
19
19
|
}
|
|
20
20
|
static isOpenUI5Detected() {
|
|
21
21
|
return typeof window.sap?.ui?.require === "function";
|
|
@@ -44,7 +44,7 @@ class OpenUI5Support {
|
|
|
44
44
|
window.sap.ui.require(["sap/ui/core/Core"], async (Core) => {
|
|
45
45
|
const callback = () => {
|
|
46
46
|
let deps = ["sap/ui/core/Popup", "sap/m/Dialog", "sap/ui/core/Patcher", "sap/ui/core/LocaleData"];
|
|
47
|
-
if (_a.
|
|
47
|
+
if (_a.isAtLeastVersion(116)) { // for versions since 1.116.0 and onward, use the modular core
|
|
48
48
|
deps = [
|
|
49
49
|
...deps,
|
|
50
50
|
"sap/base/i18n/Formatting",
|
|
@@ -60,7 +60,7 @@ class OpenUI5Support {
|
|
|
60
60
|
resolve();
|
|
61
61
|
});
|
|
62
62
|
};
|
|
63
|
-
if (_a.
|
|
63
|
+
if (_a.isAtLeastVersion(116)) {
|
|
64
64
|
await Core.ready();
|
|
65
65
|
callback();
|
|
66
66
|
}
|
|
@@ -76,7 +76,7 @@ class OpenUI5Support {
|
|
|
76
76
|
if (!_a.isOpenUI5Detected()) {
|
|
77
77
|
return {};
|
|
78
78
|
}
|
|
79
|
-
if (_a.
|
|
79
|
+
if (_a.isAtLeastVersion(116)) {
|
|
80
80
|
const ControlBehavior = window.sap.ui.require("sap/ui/core/ControlBehavior");
|
|
81
81
|
const Localization = window.sap.ui.require("sap/base/i18n/Localization");
|
|
82
82
|
const Theming = window.sap.ui.require("sap/ui/core/Theming");
|
|
@@ -119,7 +119,7 @@ class OpenUI5Support {
|
|
|
119
119
|
return;
|
|
120
120
|
}
|
|
121
121
|
const LocaleData = window.sap.ui.require("sap/ui/core/LocaleData");
|
|
122
|
-
if (_a.
|
|
122
|
+
if (_a.isAtLeastVersion(116)) {
|
|
123
123
|
const Localization = window.sap.ui.require("sap/base/i18n/Localization");
|
|
124
124
|
return LocaleData.getInstance(Localization.getLanguageTag())._get();
|
|
125
125
|
}
|
|
@@ -128,7 +128,7 @@ class OpenUI5Support {
|
|
|
128
128
|
return LocaleData.getInstance(config.getLocale())._get();
|
|
129
129
|
}
|
|
130
130
|
static _listenForThemeChange() {
|
|
131
|
-
if (_a.
|
|
131
|
+
if (_a.isAtLeastVersion(116)) {
|
|
132
132
|
const Theming = window.sap.ui.require("sap/ui/core/Theming");
|
|
133
133
|
Theming.attachApplied(() => {
|
|
134
134
|
setTheme(Theming.getTheme());
|
|
@@ -158,7 +158,10 @@ class OpenUI5Support {
|
|
|
158
158
|
return false;
|
|
159
159
|
}
|
|
160
160
|
// The file name is "css_variables.css" until 1.127 and "library.css" from 1.127 onwards
|
|
161
|
-
|
|
161
|
+
if (_a.isAtLeastVersion(127)) {
|
|
162
|
+
return !!link.href.match(/\/css(-|_)variables\.css/) || !!link.href.match(/\/library\.css/);
|
|
163
|
+
}
|
|
164
|
+
return !!link.href.match(/\/css(-|_)variables\.css/);
|
|
162
165
|
}
|
|
163
166
|
static addOpenedPopup(popupInfo) {
|
|
164
167
|
addOpenedPopup(popupInfo);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenUI5Support.js","sourceRoot":"","sources":["../../src/features/OpenUI5Support.ts"],"names":[],"mappings":"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","sourcesContent":["import patchPatcher from \"./patchPatcher.js\";\nimport type { OpenUI5Patcher } from \"./patchPatcher.js\";\nimport {\n\tpatchPopup,\n\taddOpenedPopup,\n\tremoveOpenedPopup,\n\tgetTopmostPopup,\n} from \"./patchPopup.js\";\nimport type { OpenUI5PopupClass, OpenUI5DialogClass, PopupInfo } from \"./patchPopup.js\";\nimport { registerFeature } from \"../FeaturesRegistry.js\";\nimport { setTheme } from \"../config/Theme.js\";\nimport type { CLDRData } from \"../asset-registries/LocaleData.js\";\nimport type { LegacyDateCalendarCustomizing } from \"../features/LegacyDateFormats.js\";\nimport { secondaryBoot } from \"../Boot.js\";\n\ntype OpenUI5Core = {\n\tattachInit: (callback: () => void) => void,\n\tready: () => Promise<void>,\n\tattachThemeChanged: (callback: () => void) => void,\n\tgetConfiguration: () => OpenUI5CoreConfiguration,\n};\n\ntype OpenUI5CoreConfiguration = {\n\tgetAnimationMode: () => string,\n\tgetLanguage: () => string,\n\tgetTheme: () => string,\n\tgetThemeRoot: () => string,\n\tgetRTL: () => string,\n\tgetTimezone: () => string,\n\tgetCalendarType: () => string,\n\tgetLocale: () => string,\n\tgetFormatSettings: () => {\n\t\tgetLegacyDateCalendarCustomizing: () => LegacyDateCalendarCustomizing;\n\t}\n};\n\ntype ControlBehavior = {\n\tgetAnimationMode: () => string,\n}\n\ntype Localization = {\n\tgetLanguage: () => string,\n\tgetLanguageTag: () => string,\n\tgetRTL: () => string,\n\tgetTimezone: () => string,\n}\n\ntype LocaleData = {\n\tgetInstance: (locale: string) => Locale,\n}\n\ntype Theming = {\n\tgetThemeRoot: () => string,\n\tgetTheme: () => string,\n\tattachApplied: (callback: () => void) => void,\n}\n\ntype Formatting = {\n\tgetCalendarType: () => string,\n\tgetLegacyDateCalendarCustomizing: () => LegacyDateCalendarCustomizing,\n\tgetCustomIslamicCalendarData?: () => LegacyDateCalendarCustomizing,\n}\n\ntype CalendarUtils = {\n\tgetWeekConfigurationValues: () => {\n\t\tfirstDayOfWeek: number | undefined,\n\t},\n}\n\ntype Locale = {\n\tgetFirstDayOfWeek: () => number,\n\t_get: () => CLDRData,\n};\n\nconst OPENUI5_POLLING_INTERVAL = 100;\n\nclass OpenUI5Support {\n\tstatic enablePolling = false; // set to true for old OpenUI5 versions\n\n\tstatic isAtLeastVersion116() {\n\t\tif (!window.sap.ui!.version) {\n\t\t\treturn true; // sap.ui.version will be removed in newer OpenUI5 versions\n\t\t}\n\t\tconst version = window.sap.ui!.version as string;\n\t\tconst parts = version.split(\".\");\n\t\tif (!parts || parts.length < 2) {\n\t\t\treturn false;\n\t\t}\n\t\treturn parseInt(parts[0]) > 1 || parseInt(parts[1]) >= 116;\n\t}\n\n\tstatic isOpenUI5Detected() {\n\t\treturn typeof window.sap?.ui?.require === \"function\";\n\t}\n\n\tstatic initPromise?: Promise<void>;\n\n\t/**\n\t * Important - if OpenUI5 is loaded after UI5 Web Components, configuration is not synchronized and it's up to the app to initialize OpenUI5 with the same settings as UI5 Web Components for consistency.\n\t */\n\tstatic OpenUI5DelayedInit = async () => {\n\t\tOpenUI5Support.init(); // This ensures patchPopover and patchPatcher are called; and from this point OpenUI5 CSS vars start being detected\n\t\tawait secondaryBoot(); // Re-run the parts of boot that were skipped due to OpenUI5 not having been loaded\n\t}\n\n\tstatic awaitForOpenUI5() {\n\t\tif (OpenUI5Support.enablePolling) {\n\t\t\tconst interval = setInterval(() => {\n\t\t\t\tif (OpenUI5Support.isOpenUI5Detected()) {\n\t\t\t\t\tclearInterval(interval);\n\t\t\t\t\tOpenUI5Support.OpenUI5DelayedInit();\n\t\t\t\t}\n\t\t\t}, OPENUI5_POLLING_INTERVAL);\n\t\t} else {\n\t\t\tdocument.addEventListener(\"sap-ui-core-ready\", () => {\n\t\t\t\tOpenUI5Support.OpenUI5DelayedInit();\n\t\t\t});\n\t\t}\n\t}\n\n\tstatic init() {\n\t\tif (!OpenUI5Support.isOpenUI5Detected()) {\n\t\t\treturn OpenUI5Support.awaitForOpenUI5();\n\t\t}\n\n\t\tif (!OpenUI5Support.initPromise) {\n\t\t\tOpenUI5Support.initPromise = new Promise<void>(resolve => {\n\t\t\t\twindow.sap.ui.require([\"sap/ui/core/Core\"], async (Core: OpenUI5Core) => {\n\t\t\t\t\tconst callback = () => {\n\t\t\t\t\t\tlet deps: Array<string> = [\"sap/ui/core/Popup\", \"sap/m/Dialog\", \"sap/ui/core/Patcher\", \"sap/ui/core/LocaleData\"];\n\t\t\t\t\t\tif (OpenUI5Support.isAtLeastVersion116()) { // for versions since 1.116.0 and onward, use the modular core\n\t\t\t\t\t\t\tdeps = [\n\t\t\t\t\t\t\t\t...deps,\n\t\t\t\t\t\t\t\t\"sap/base/i18n/Formatting\",\n\t\t\t\t\t\t\t\t\"sap/base/i18n/Localization\",\n\t\t\t\t\t\t\t\t\"sap/ui/core/ControlBehavior\",\n\t\t\t\t\t\t\t\t\"sap/ui/core/Theming\",\n\t\t\t\t\t\t\t\t\"sap/ui/core/date/CalendarUtils\",\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\t\t\t\t\t\twindow.sap.ui.require(deps, (Popup: OpenUI5PopupClass, Dialog: OpenUI5DialogClass, Patcher: OpenUI5Patcher) => {\n\t\t\t\t\t\t\tpatchPatcher(Patcher);\n\t\t\t\t\t\t\tpatchPopup(Popup, Dialog);\n\t\t\t\t\t\t\tresolve();\n\t\t\t\t\t\t});\n\t\t\t\t\t};\n\t\t\t\t\tif (OpenUI5Support.isAtLeastVersion116()) {\n\t\t\t\t\t\tawait Core.ready();\n\t\t\t\t\t\tcallback();\n\t\t\t\t\t} else {\n\t\t\t\t\t\tCore.attachInit(callback);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\n\t\treturn OpenUI5Support.initPromise;\n\t}\n\n\tstatic getConfigurationSettingsObject() {\n\t\tif (!OpenUI5Support.isOpenUI5Detected()) {\n\t\t\treturn {};\n\t\t}\n\n\t\tif (OpenUI5Support.isAtLeastVersion116()) {\n\t\t\tconst ControlBehavior = window.sap.ui.require(\"sap/ui/core/ControlBehavior\") as ControlBehavior;\n\t\t\tconst Localization = window.sap.ui.require(\"sap/base/i18n/Localization\") as Localization;\n\t\t\tconst Theming = window.sap.ui.require(\"sap/ui/core/Theming\") as Theming;\n\t\t\tconst Formatting = window.sap.ui.require(\"sap/base/i18n/Formatting\") as Formatting;\n\t\t\tconst CalendarUtils = window.sap.ui.require(\"sap/ui/core/date/CalendarUtils\") as CalendarUtils;\n\n\t\t\treturn {\n\t\t\t\tanimationMode: ControlBehavior.getAnimationMode(),\n\t\t\t\tlanguage: Localization.getLanguage(),\n\t\t\t\ttheme: Theming.getTheme(),\n\t\t\t\tthemeRoot: Theming.getThemeRoot(),\n\t\t\t\trtl: Localization.getRTL(),\n\t\t\t\ttimezone: Localization.getTimezone(),\n\t\t\t\tcalendarType: Formatting.getCalendarType(),\n\t\t\t\tformatSettings: {\n\t\t\t\t\tfirstDayOfWeek: CalendarUtils.getWeekConfigurationValues().firstDayOfWeek,\n\t\t\t\t\tlegacyDateCalendarCustomizing: Formatting.getCustomIslamicCalendarData?.()\n\t\t\t\t\t\t?? Formatting.getLegacyDateCalendarCustomizing?.(),\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\n\t\tconst Core = window.sap.ui.require(\"sap/ui/core/Core\") as OpenUI5Core;\n\t\tconst config = Core.getConfiguration();\n\t\tconst LocaleData = window.sap.ui.require(\"sap/ui/core/LocaleData\") as LocaleData;\n\n\t\treturn {\n\t\t\tanimationMode: config.getAnimationMode(),\n\t\t\tlanguage: config.getLanguage(),\n\t\t\ttheme: config.getTheme(),\n\t\t\tthemeRoot: typeof config.getThemeRoot === \"function\" ? config.getThemeRoot() : undefined,\n\t\t\trtl: config.getRTL(),\n\t\t\ttimezone: typeof config.getTimezone === \"function\" ? config.getTimezone() : undefined,\n\t\t\tcalendarType: config.getCalendarType(),\n\t\t\tformatSettings: {\n\t\t\t\tfirstDayOfWeek: LocaleData ? LocaleData.getInstance(config.getLocale()).getFirstDayOfWeek() : undefined,\n\t\t\t\tlegacyDateCalendarCustomizing: config.getFormatSettings().getLegacyDateCalendarCustomizing(),\n\t\t\t},\n\t\t};\n\t}\n\n\tstatic getLocaleDataObject() {\n\t\tif (!OpenUI5Support.isOpenUI5Detected()) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst LocaleData = window.sap.ui.require(\"sap/ui/core/LocaleData\") as LocaleData;\n\n\t\tif (OpenUI5Support.isAtLeastVersion116()) {\n\t\t\tconst Localization = window.sap.ui.require(\"sap/base/i18n/Localization\") as Localization;\n\t\t\treturn LocaleData.getInstance(Localization.getLanguageTag())._get();\n\t\t}\n\n\t\tconst Core = window.sap.ui.require(\"sap/ui/core/Core\") as OpenUI5Core;\n\t\tconst config = Core.getConfiguration();\n\t\treturn LocaleData.getInstance(config.getLocale())._get();\n\t}\n\n\tstatic _listenForThemeChange() {\n\t\tif (OpenUI5Support.isAtLeastVersion116()) {\n\t\t\tconst Theming: Theming = window.sap.ui.require(\"sap/ui/core/Theming\");\n\t\t\tTheming.attachApplied(() => {\n\t\t\t\tsetTheme(Theming.getTheme());\n\t\t\t});\n\t\t} else {\n\t\t\tconst Core = window.sap.ui.require(\"sap/ui/core/Core\") as OpenUI5Core;\n\t\t\tconst config = Core.getConfiguration();\n\t\t\tCore.attachThemeChanged(() => {\n\t\t\t\tsetTheme(config.getTheme());\n\t\t\t});\n\t\t}\n\t}\n\n\tstatic attachListeners() {\n\t\tif (!OpenUI5Support.isOpenUI5Detected()) {\n\t\t\treturn false;\n\t\t}\n\n\t\tOpenUI5Support._listenForThemeChange();\n\t\treturn true;\n\t}\n\n\tstatic cssVariablesLoaded() {\n\t\tif (!OpenUI5Support.isOpenUI5Detected()) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst link = [...document.head.children].find(el => el.id === \"sap-ui-theme-sap.ui.core\") as HTMLLinkElement; // more reliable than querySelector early\n\t\tif (!link) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// The file name is \"css_variables.css\" until 1.127 and \"library.css\" from 1.127 onwards\n\t\treturn !!link.href.match(/\\/css(-|_)variables\\.css/) || !!link.href.match(/\\/library\\.css/);\n\t}\n\n\tstatic addOpenedPopup(popupInfo: PopupInfo) {\n\t\taddOpenedPopup(popupInfo);\n\t}\n\n\tstatic removeOpenedPopup(popup: object) {\n\t\tremoveOpenedPopup(popup);\n\t}\n\n\tstatic getTopmostPopup() {\n\t\treturn getTopmostPopup();\n\t}\n}\n\nregisterFeature(\"OpenUI5Support\", OpenUI5Support);\n\nexport default OpenUI5Support;\n"]}
|
|
1
|
+
{"version":3,"file":"OpenUI5Support.js","sourceRoot":"","sources":["../../src/features/OpenUI5Support.ts"],"names":[],"mappings":"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","sourcesContent":["import patchPatcher from \"./patchPatcher.js\";\nimport type { OpenUI5Patcher } from \"./patchPatcher.js\";\nimport {\n\tpatchPopup,\n\taddOpenedPopup,\n\tremoveOpenedPopup,\n\tgetTopmostPopup,\n} from \"./patchPopup.js\";\nimport type { OpenUI5PopupClass, OpenUI5DialogClass, PopupInfo } from \"./patchPopup.js\";\nimport { registerFeature } from \"../FeaturesRegistry.js\";\nimport { setTheme } from \"../config/Theme.js\";\nimport type { CLDRData } from \"../asset-registries/LocaleData.js\";\nimport type { LegacyDateCalendarCustomizing } from \"../features/LegacyDateFormats.js\";\nimport { secondaryBoot } from \"../Boot.js\";\n\ntype OpenUI5Core = {\n\tattachInit: (callback: () => void) => void,\n\tready: () => Promise<void>,\n\tattachThemeChanged: (callback: () => void) => void,\n\tgetConfiguration: () => OpenUI5CoreConfiguration,\n};\n\ntype OpenUI5CoreConfiguration = {\n\tgetAnimationMode: () => string,\n\tgetLanguage: () => string,\n\tgetTheme: () => string,\n\tgetThemeRoot: () => string,\n\tgetRTL: () => string,\n\tgetTimezone: () => string,\n\tgetCalendarType: () => string,\n\tgetLocale: () => string,\n\tgetFormatSettings: () => {\n\t\tgetLegacyDateCalendarCustomizing: () => LegacyDateCalendarCustomizing;\n\t}\n};\n\ntype ControlBehavior = {\n\tgetAnimationMode: () => string,\n}\n\ntype Localization = {\n\tgetLanguage: () => string,\n\tgetLanguageTag: () => string,\n\tgetRTL: () => string,\n\tgetTimezone: () => string,\n}\n\ntype LocaleData = {\n\tgetInstance: (locale: string) => Locale,\n}\n\ntype Theming = {\n\tgetThemeRoot: () => string,\n\tgetTheme: () => string,\n\tattachApplied: (callback: () => void) => void,\n}\n\ntype Formatting = {\n\tgetCalendarType: () => string,\n\tgetLegacyDateCalendarCustomizing: () => LegacyDateCalendarCustomizing,\n\tgetCustomIslamicCalendarData?: () => LegacyDateCalendarCustomizing,\n}\n\ntype CalendarUtils = {\n\tgetWeekConfigurationValues: () => {\n\t\tfirstDayOfWeek: number | undefined,\n\t},\n}\n\ntype Locale = {\n\tgetFirstDayOfWeek: () => number,\n\t_get: () => CLDRData,\n};\n\nconst OPENUI5_POLLING_INTERVAL = 100;\n\nclass OpenUI5Support {\n\tstatic enablePolling = false; // set to true for old OpenUI5 versions\n\n\tstatic isAtLeastVersion(minor: number) {\n\t\tif (!window.sap.ui!.version) {\n\t\t\treturn true; // sap.ui.version will be removed in newer OpenUI5 versions\n\t\t}\n\t\tconst version = window.sap.ui!.version as string;\n\t\tconst parts = version.split(\".\");\n\t\tif (!parts || parts.length < 2) {\n\t\t\treturn false;\n\t\t}\n\t\treturn parseInt(parts[0]) > 1 || parseInt(parts[1]) >= minor;\n\t}\n\n\tstatic isOpenUI5Detected() {\n\t\treturn typeof window.sap?.ui?.require === \"function\";\n\t}\n\n\tstatic initPromise?: Promise<void>;\n\n\t/**\n\t * Important - if OpenUI5 is loaded after UI5 Web Components, configuration is not synchronized and it's up to the app to initialize OpenUI5 with the same settings as UI5 Web Components for consistency.\n\t */\n\tstatic OpenUI5DelayedInit = async () => {\n\t\tOpenUI5Support.init(); // This ensures patchPopover and patchPatcher are called; and from this point OpenUI5 CSS vars start being detected\n\t\tawait secondaryBoot(); // Re-run the parts of boot that were skipped due to OpenUI5 not having been loaded\n\t}\n\n\tstatic awaitForOpenUI5() {\n\t\tif (OpenUI5Support.enablePolling) {\n\t\t\tconst interval = setInterval(() => {\n\t\t\t\tif (OpenUI5Support.isOpenUI5Detected()) {\n\t\t\t\t\tclearInterval(interval);\n\t\t\t\t\tOpenUI5Support.OpenUI5DelayedInit();\n\t\t\t\t}\n\t\t\t}, OPENUI5_POLLING_INTERVAL);\n\t\t} else {\n\t\t\tdocument.addEventListener(\"sap-ui-core-ready\", () => {\n\t\t\t\tOpenUI5Support.OpenUI5DelayedInit();\n\t\t\t});\n\t\t}\n\t}\n\n\tstatic init() {\n\t\tif (!OpenUI5Support.isOpenUI5Detected()) {\n\t\t\treturn OpenUI5Support.awaitForOpenUI5();\n\t\t}\n\n\t\tif (!OpenUI5Support.initPromise) {\n\t\t\tOpenUI5Support.initPromise = new Promise<void>(resolve => {\n\t\t\t\twindow.sap.ui.require([\"sap/ui/core/Core\"], async (Core: OpenUI5Core) => {\n\t\t\t\t\tconst callback = () => {\n\t\t\t\t\t\tlet deps: Array<string> = [\"sap/ui/core/Popup\", \"sap/m/Dialog\", \"sap/ui/core/Patcher\", \"sap/ui/core/LocaleData\"];\n\t\t\t\t\t\tif (OpenUI5Support.isAtLeastVersion(116)) { // for versions since 1.116.0 and onward, use the modular core\n\t\t\t\t\t\t\tdeps = [\n\t\t\t\t\t\t\t\t...deps,\n\t\t\t\t\t\t\t\t\"sap/base/i18n/Formatting\",\n\t\t\t\t\t\t\t\t\"sap/base/i18n/Localization\",\n\t\t\t\t\t\t\t\t\"sap/ui/core/ControlBehavior\",\n\t\t\t\t\t\t\t\t\"sap/ui/core/Theming\",\n\t\t\t\t\t\t\t\t\"sap/ui/core/date/CalendarUtils\",\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\t\t\t\t\t\twindow.sap.ui.require(deps, (Popup: OpenUI5PopupClass, Dialog: OpenUI5DialogClass, Patcher: OpenUI5Patcher) => {\n\t\t\t\t\t\t\tpatchPatcher(Patcher);\n\t\t\t\t\t\t\tpatchPopup(Popup, Dialog);\n\t\t\t\t\t\t\tresolve();\n\t\t\t\t\t\t});\n\t\t\t\t\t};\n\t\t\t\t\tif (OpenUI5Support.isAtLeastVersion(116)) {\n\t\t\t\t\t\tawait Core.ready();\n\t\t\t\t\t\tcallback();\n\t\t\t\t\t} else {\n\t\t\t\t\t\tCore.attachInit(callback);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\n\t\treturn OpenUI5Support.initPromise;\n\t}\n\n\tstatic getConfigurationSettingsObject() {\n\t\tif (!OpenUI5Support.isOpenUI5Detected()) {\n\t\t\treturn {};\n\t\t}\n\n\t\tif (OpenUI5Support.isAtLeastVersion(116)) {\n\t\t\tconst ControlBehavior = window.sap.ui.require(\"sap/ui/core/ControlBehavior\") as ControlBehavior;\n\t\t\tconst Localization = window.sap.ui.require(\"sap/base/i18n/Localization\") as Localization;\n\t\t\tconst Theming = window.sap.ui.require(\"sap/ui/core/Theming\") as Theming;\n\t\t\tconst Formatting = window.sap.ui.require(\"sap/base/i18n/Formatting\") as Formatting;\n\t\t\tconst CalendarUtils = window.sap.ui.require(\"sap/ui/core/date/CalendarUtils\") as CalendarUtils;\n\n\t\t\treturn {\n\t\t\t\tanimationMode: ControlBehavior.getAnimationMode(),\n\t\t\t\tlanguage: Localization.getLanguage(),\n\t\t\t\ttheme: Theming.getTheme(),\n\t\t\t\tthemeRoot: Theming.getThemeRoot(),\n\t\t\t\trtl: Localization.getRTL(),\n\t\t\t\ttimezone: Localization.getTimezone(),\n\t\t\t\tcalendarType: Formatting.getCalendarType(),\n\t\t\t\tformatSettings: {\n\t\t\t\t\tfirstDayOfWeek: CalendarUtils.getWeekConfigurationValues().firstDayOfWeek,\n\t\t\t\t\tlegacyDateCalendarCustomizing: Formatting.getCustomIslamicCalendarData?.()\n\t\t\t\t\t\t?? Formatting.getLegacyDateCalendarCustomizing?.(),\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\n\t\tconst Core = window.sap.ui.require(\"sap/ui/core/Core\") as OpenUI5Core;\n\t\tconst config = Core.getConfiguration();\n\t\tconst LocaleData = window.sap.ui.require(\"sap/ui/core/LocaleData\") as LocaleData;\n\n\t\treturn {\n\t\t\tanimationMode: config.getAnimationMode(),\n\t\t\tlanguage: config.getLanguage(),\n\t\t\ttheme: config.getTheme(),\n\t\t\tthemeRoot: typeof config.getThemeRoot === \"function\" ? config.getThemeRoot() : undefined,\n\t\t\trtl: config.getRTL(),\n\t\t\ttimezone: typeof config.getTimezone === \"function\" ? config.getTimezone() : undefined,\n\t\t\tcalendarType: config.getCalendarType(),\n\t\t\tformatSettings: {\n\t\t\t\tfirstDayOfWeek: LocaleData ? LocaleData.getInstance(config.getLocale()).getFirstDayOfWeek() : undefined,\n\t\t\t\tlegacyDateCalendarCustomizing: config.getFormatSettings().getLegacyDateCalendarCustomizing(),\n\t\t\t},\n\t\t};\n\t}\n\n\tstatic getLocaleDataObject() {\n\t\tif (!OpenUI5Support.isOpenUI5Detected()) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst LocaleData = window.sap.ui.require(\"sap/ui/core/LocaleData\") as LocaleData;\n\n\t\tif (OpenUI5Support.isAtLeastVersion(116)) {\n\t\t\tconst Localization = window.sap.ui.require(\"sap/base/i18n/Localization\") as Localization;\n\t\t\treturn LocaleData.getInstance(Localization.getLanguageTag())._get();\n\t\t}\n\n\t\tconst Core = window.sap.ui.require(\"sap/ui/core/Core\") as OpenUI5Core;\n\t\tconst config = Core.getConfiguration();\n\t\treturn LocaleData.getInstance(config.getLocale())._get();\n\t}\n\n\tstatic _listenForThemeChange() {\n\t\tif (OpenUI5Support.isAtLeastVersion(116)) {\n\t\t\tconst Theming: Theming = window.sap.ui.require(\"sap/ui/core/Theming\");\n\t\t\tTheming.attachApplied(() => {\n\t\t\t\tsetTheme(Theming.getTheme());\n\t\t\t});\n\t\t} else {\n\t\t\tconst Core = window.sap.ui.require(\"sap/ui/core/Core\") as OpenUI5Core;\n\t\t\tconst config = Core.getConfiguration();\n\t\t\tCore.attachThemeChanged(() => {\n\t\t\t\tsetTheme(config.getTheme());\n\t\t\t});\n\t\t}\n\t}\n\n\tstatic attachListeners() {\n\t\tif (!OpenUI5Support.isOpenUI5Detected()) {\n\t\t\treturn false;\n\t\t}\n\n\t\tOpenUI5Support._listenForThemeChange();\n\t\treturn true;\n\t}\n\n\tstatic cssVariablesLoaded() {\n\t\tif (!OpenUI5Support.isOpenUI5Detected()) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst link = [...document.head.children].find(el => el.id === \"sap-ui-theme-sap.ui.core\") as HTMLLinkElement; // more reliable than querySelector early\n\t\tif (!link) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// The file name is \"css_variables.css\" until 1.127 and \"library.css\" from 1.127 onwards\n\t\tif (OpenUI5Support.isAtLeastVersion(127)) {\n\t\t\treturn !!link.href.match(/\\/css(-|_)variables\\.css/) || !!link.href.match(/\\/library\\.css/);\n\t\t}\n\n\t\treturn !!link.href.match(/\\/css(-|_)variables\\.css/);\n\t}\n\n\tstatic addOpenedPopup(popupInfo: PopupInfo) {\n\t\taddOpenedPopup(popupInfo);\n\t}\n\n\tstatic removeOpenedPopup(popup: object) {\n\t\tremoveOpenedPopup(popup);\n\t}\n\n\tstatic getTopmostPopup() {\n\t\treturn getTopmostPopup();\n\t}\n}\n\nregisterFeature(\"OpenUI5Support\", OpenUI5Support);\n\nexport default OpenUI5Support;\n"]}
|
|
@@ -1,6 +1,19 @@
|
|
|
1
1
|
// OpenUI5's Control.js subset
|
|
2
2
|
import getSharedResource from "../getSharedResource.js";
|
|
3
3
|
import insertOpenUI5PopupStyles from "./insertOpenUI5PopupStyles.js";
|
|
4
|
+
import VersionInfo from "../generated/VersionInfo.js";
|
|
5
|
+
import { compareVersions } from "../Runtimes.js";
|
|
6
|
+
const PatchedFunctions = getSharedResource("PatchedFunctions", {});
|
|
7
|
+
const shouldRepatch = (key) => {
|
|
8
|
+
const existing = PatchedFunctions[key];
|
|
9
|
+
if (!existing) {
|
|
10
|
+
return true;
|
|
11
|
+
}
|
|
12
|
+
if (!existing.version) {
|
|
13
|
+
return true;
|
|
14
|
+
}
|
|
15
|
+
return compareVersions(VersionInfo, existing.version) > 0;
|
|
16
|
+
};
|
|
4
17
|
// contains all OpenUI5 and Web Component popups that are currently opened
|
|
5
18
|
const AllOpenedPopupsRegistry = getSharedResource("AllOpenedPopupsRegistry", { openedRegistry: [] });
|
|
6
19
|
const addOpenedPopup = (popupInfo) => {
|
|
@@ -111,7 +124,11 @@ const isNativePopoverOpen = (root = document) => {
|
|
|
111
124
|
});
|
|
112
125
|
};
|
|
113
126
|
const patchDialog = (Dialog) => {
|
|
114
|
-
const
|
|
127
|
+
const key = "Dialog.prototype.onsapescape";
|
|
128
|
+
if (shouldRepatch(key)) {
|
|
129
|
+
PatchedFunctions[key] = { version: VersionInfo, originalFn: PatchedFunctions[key]?.originalFn ?? Dialog.prototype.onsapescape };
|
|
130
|
+
}
|
|
131
|
+
const origOnsapescape = PatchedFunctions[key].originalFn;
|
|
115
132
|
Dialog.prototype.onsapescape = function onsapescape(...args) {
|
|
116
133
|
if (hasWebComponentPopupAbove(this.oPopup)) {
|
|
117
134
|
return;
|
|
@@ -120,7 +137,11 @@ const patchDialog = (Dialog) => {
|
|
|
120
137
|
};
|
|
121
138
|
};
|
|
122
139
|
const patchOpen = (Popup) => {
|
|
123
|
-
const
|
|
140
|
+
const key = "Popup.prototype.open";
|
|
141
|
+
if (shouldRepatch(key)) {
|
|
142
|
+
PatchedFunctions[key] = { version: VersionInfo, originalFn: PatchedFunctions[key]?.originalFn ?? Popup.prototype.open };
|
|
143
|
+
}
|
|
144
|
+
const origOpen = PatchedFunctions[key].originalFn;
|
|
124
145
|
Popup.prototype.open = function open(...args) {
|
|
125
146
|
origOpen.apply(this, args); // call open first to initiate opening
|
|
126
147
|
openNativePopoverForOpenUI5(this);
|
|
@@ -131,7 +152,11 @@ const patchOpen = (Popup) => {
|
|
|
131
152
|
};
|
|
132
153
|
};
|
|
133
154
|
const patchClosed = (Popup) => {
|
|
134
|
-
const
|
|
155
|
+
const key = "Popup.prototype._closed";
|
|
156
|
+
if (shouldRepatch(key)) {
|
|
157
|
+
PatchedFunctions[key] = { version: VersionInfo, originalFn: PatchedFunctions[key]?.originalFn ?? Popup.prototype._closed };
|
|
158
|
+
}
|
|
159
|
+
const _origClosed = PatchedFunctions[key].originalFn;
|
|
135
160
|
Popup.prototype._closed = function _closed(...args) {
|
|
136
161
|
closeNativePopoverForOpenUI5(this);
|
|
137
162
|
_origClosed.apply(this, args); // only then call _close
|
|
@@ -139,7 +164,11 @@ const patchClosed = (Popup) => {
|
|
|
139
164
|
};
|
|
140
165
|
};
|
|
141
166
|
const patchFocusEvent = (Popup) => {
|
|
142
|
-
const
|
|
167
|
+
const key = "Popup.prototype.onFocusEvent";
|
|
168
|
+
if (shouldRepatch(key)) {
|
|
169
|
+
PatchedFunctions[key] = { version: VersionInfo, originalFn: PatchedFunctions[key]?.originalFn ?? Popup.prototype.onFocusEvent };
|
|
170
|
+
}
|
|
171
|
+
const origFocusEvent = PatchedFunctions[key].originalFn;
|
|
143
172
|
Popup.prototype.onFocusEvent = function onFocusEvent(...args) {
|
|
144
173
|
if (!hasWebComponentPopupAbove(this)) {
|
|
145
174
|
origFocusEvent.apply(this, args);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"patchPopup.js","sourceRoot":"","sources":["../../src/features/patchPopup.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,OAAO,iBAAiB,MAAM,yBAAyB,CAAC;AACxD,OAAO,wBAAwB,MAAM,+BAA+B,CAAC;AAmCrE,0EAA0E;AAC1E,MAAM,uBAAuB,GAAG,iBAAiB,CAAuC,yBAAyB,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC,CAAC;AAE3I,MAAM,cAAc,GAAG,CAAC,SAAoB,EAAE,EAAE;IAC/C,uBAAuB,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACxD,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,KAAa,EAAE,EAAE;IAC3C,MAAM,KAAK,GAAG,uBAAuB,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC;IAE5F,IAAI,KAAK,KAAK,uBAAuB,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjE,sBAAsB,EAAE,CAAC;IAC1B,CAAC;IAED,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;QAChB,uBAAuB,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACzD,CAAC;AACF,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,GAAG,EAAE;IAC5B,IAAI,uBAAuB,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzD,OAAO,IAAI,CAAC;IACb,CAAC;IACD,OAAO,uBAAuB,CAAC,cAAc,CAAC,uBAAuB,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC3G,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,yBAAyB,GAAG,CAAC,KAAa,EAAE,EAAE;IACnD,KAAK,IAAI,CAAC,GAAG,uBAAuB,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7E,MAAM,SAAS,GAAG,uBAAuB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QAC5D,IAAI,SAAS,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YACvC,OAAO,IAAI,CAAC;QACb,CAAC;QAED,IAAI,SAAS,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;YAClC,MAAM;QACP,CAAC;IACF,CAAC;IAED,OAAO,KAAK,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAAG,CAAC,KAAmB,EAAsB,EAAE;IAC1E,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC;IACnC,OAAO,OAAO,YAAY,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,IAAI,CAAC;AAChF,CAAC,CAAC;AAEF,MAAM,2BAA2B,GAAG,CAAC,KAAmB,EAAE,EAAE;IAC3D,MAAM,gBAAgB,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC;IAC5E,IAAI,CAAC,gBAAgB,IAAI,CAAC,mBAAmB,EAAE,EAAE,CAAC;QACjD,OAAO;IACR,CAAC;IAED,MAAM,MAAM,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAE7C,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,OAAO;IACR,CAAC;IAED,MAAM,iBAAiB,GAAG,QAAQ,CAAC,cAAc,CAAC,yBAAyB,CAAC,CAAC;IAE7E,IAAI,KAAK,CAAC,QAAQ,EAAE,IAAI,iBAAiB,EAAE,CAAC;QAC3C,iBAAiB,CAAC,YAAY,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACpD,iBAAiB,CAAC,WAAW,EAAE,CAAC;QAChC,iBAAiB,CAAC,WAAW,EAAE,CAAC;IACjC,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACzC,MAAM,CAAC,WAAW,EAAE,CAAC;AACtB,CAAC,CAAC;AAEF,MAAM,4BAA4B,GAAG,CAAC,KAAmB,EAAE,EAAE;IAC5D,MAAM,MAAM,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAE7C,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,OAAO;IACR,CAAC;IAED,IAAI,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC;QACpC,MAAM,CAAC,WAAW,EAAE,CAAC;QACrB,MAAM,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,eAAe,EAAE,KAAK,KAAK,EAAE,CAAC;QACjC,OAAO;IACR,CAAC;IAED,oEAAoE;IACpE,4EAA4E;IAC5E,iDAAiD;IACjD,uHAAuH;IACvH,kGAAkG;IAClG,IAAI,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC;QACtB,MAAM,iBAAiB,GAAG,QAAQ,CAAC,cAAc,CAAC,yBAAyB,CAAC,CAAC;QAC7E,IAAI,iBAAiB,IAAI,iBAAiB,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC;YACpE,iBAAiB,CAAC,WAAW,EAAE,CAAC;QACjC,CAAC;IACF,CAAC;AACF,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAAG,GAAG,EAAE;IACnC,IAAI,CAAC,mBAAmB,EAAE,EAAE,CAAC;QAC5B,OAAO;IACR,CAAC;IAED,MAAM,SAAS,GAAG,uBAAuB,CAAC,cAAc,CAAC,uBAAuB,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC5G,IAAI,CAAC,SAAS;WACV,SAAS,CAAC,IAAI,KAAK,SAAS;WAC5B,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC;QACpC,OAAO;IACR,CAAC;IAED,MAAM,OAAO,GAAG,sBAAsB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC3D,MAAM,iBAAiB,GAAG,QAAQ,CAAC,cAAc,CAAC,yBAAyB,CAAC,CAAC;IAE7E,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,iBAAiB,EAAE,WAAW,EAAE,CAAC;IAEjC,OAAO,EAAE,WAAW,EAAE,CAAC;AACxB,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,OAA8B,QAAQ,EAAW,EAAE;IAC/E,IAAI,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,EAAE,CAAC;QACzC,OAAO,IAAI,CAAC;IACb,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;QAC5D,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACtC,OAAO,UAAU,IAAI,mBAAmB,CAAC,UAAU,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,MAA0B,EAAE,EAAE;IAClD,MAAM,eAAe,GAAG,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC;IACrD,MAAM,CAAC,SAAS,CAAC,WAAW,GAAG,SAAS,WAAW,CAAC,GAAG,IAAW;QACjE,IAAI,yBAAyB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5C,OAAO;QACR,CAAC;QAED,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,CAAC,KAAwB,EAAE,EAAE;IAC9C,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC;IACtC,KAAK,CAAC,SAAS,CAAC,IAAI,GAAG,SAAS,IAAI,CAAC,GAAG,IAAW;QAClD,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,sCAAsC;QAClE,2BAA2B,CAAC,IAAI,CAAC,CAAC;QAElC,cAAc,CAAC;YACd,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,IAAI;SACd,CAAC,CAAC;IACJ,CAAC,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,KAAwB,EAAE,EAAE;IAChD,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC;IAC5C,KAAK,CAAC,SAAS,CAAC,OAAO,GAAG,SAAS,OAAO,CAAC,GAAG,IAAW;QACxD,4BAA4B,CAAC,IAAI,CAAC,CAAC;QACnC,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,wBAAwB;QACvD,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,KAAwB,EAAE,EAAE;IACpD,MAAM,cAAc,GAAG,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC;IACpD,KAAK,CAAC,SAAS,CAAC,YAAY,GAAG,SAAS,YAAY,CAAC,GAAG,IAAW;QAClE,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,EAAE,CAAC;YACtC,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAClC,CAAC;IACF,CAAC,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,GAAG,EAAE;IAC/B,MAAM,UAAU,GAAG,IAAI,aAAa,EAAE,CAAC;IACvC,UAAU,CAAC,WAAW,CAAC,+CAA+C,CAAC,CAAC;IACxE,QAAQ,CAAC,kBAAkB,GAAG,CAAC,GAAG,QAAQ,CAAC,kBAAkB,EAAE,UAAU,CAAC,CAAC;AAC5E,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,KAAwB,EAAE,MAA0B,EAAE,EAAE;IAC3E,wBAAwB,EAAE,CAAC;IAC3B,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,uBAAuB;IACzC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,0BAA0B;IAC9C,kBAAkB,EAAE,CAAC,CAAC,6FAA6F;IACnH,eAAe,CAAC,KAAK,CAAC,CAAC,CAAA,+BAA+B;IACtD,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,+BAA+B;AACrD,CAAC,CAAC;AAEF,OAAO,EACN,UAAU,EACV,cAAc,EACd,iBAAiB,EACjB,eAAe,GACf,CAAC","sourcesContent":["// OpenUI5's Control.js subset\nimport getSharedResource from \"../getSharedResource.js\";\nimport insertOpenUI5PopupStyles from \"./insertOpenUI5PopupStyles.js\";\n\ntype Control = {\n\tgetDomRef: () => HTMLElement | null,\n}\n\n// The lifecycle of Popup.js is open -> _opened -> close -> _closed, we're interested in the first (open) and last (_closed)\ntype OpenUI5Popup = {\n\topen: (...args: any[]) => void,\n\t_closed: (...args: any[]) => void,\n\tgetOpenState: () => \"CLOSED\" | \"CLOSING\" | \"OPEN\" | \"OPENING\",\n\tgetContent: () => Control | HTMLElement | null, // this is the OpenUI5 Element/Control instance that opens the Popup (usually sap.m.Popover/sap.m.Dialog)\n\tonFocusEvent: (...args: any[]) => void,\n\tgetModal: () => boolean\n};\n\ntype OpenUI5PopupClass = {\n\tprototype: OpenUI5Popup\n};\n\ntype OpenUI5DialogClass = {\n\tprototype: {\n\t\tonsapescape: (...args: any[]) => void,\n\t\toPopup: OpenUI5Popup,\n\t}\n};\n\ntype PopupInfo = {\n\ttype: \"WebComponent\";\n\tinstance: object;\n} | {\n\ttype: \"OpenUI5\";\n\tinstance: OpenUI5Popup;\n};\n\n// contains all OpenUI5 and Web Component popups that are currently opened\nconst AllOpenedPopupsRegistry = getSharedResource<{ openedRegistry: Array<PopupInfo> }>(\"AllOpenedPopupsRegistry\", { openedRegistry: [] });\n\nconst addOpenedPopup = (popupInfo: PopupInfo) => {\n\tAllOpenedPopupsRegistry.openedRegistry.push(popupInfo);\n};\n\nconst removeOpenedPopup = (popup: object) => {\n\tconst index = AllOpenedPopupsRegistry.openedRegistry.findIndex(el => el.instance === popup);\n\n\tif (index === AllOpenedPopupsRegistry.openedRegistry.length - 1) {\n\t\tfixTopmostOpenUI5Popup();\n\t}\n\n\tif (index > -1) {\n\t\tAllOpenedPopupsRegistry.openedRegistry.splice(index, 1);\n\t}\n};\n\nconst getTopmostPopup = () => {\n\tif (AllOpenedPopupsRegistry.openedRegistry.length === 0) {\n\t\treturn null;\n\t}\n\treturn AllOpenedPopupsRegistry.openedRegistry[AllOpenedPopupsRegistry.openedRegistry.length - 1].instance;\n};\n\n/**\n * Determines whether there is a Web Component popup opened above (a specified popup).\n *\n * @param {object} popup The popup instance to check against.\n * @returns {boolean} `true` if a Web Component popup is opened above (the given popup instance); otherwise `false`.\n */\nconst hasWebComponentPopupAbove = (popup: object) => {\n\tfor (let i = AllOpenedPopupsRegistry.openedRegistry.length - 1; i >= 0; i--) {\n\t\tconst popupInfo = AllOpenedPopupsRegistry.openedRegistry[i];\n\t\tif (popupInfo.type === \"WebComponent\") {\n\t\t\treturn true;\n\t\t}\n\n\t\tif (popupInfo.instance === popup) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn false;\n};\n\nconst getPopupContentElement = (popup: OpenUI5Popup): HTMLElement | null => {\n\tconst content = popup.getContent();\n\treturn content instanceof HTMLElement ? content : content?.getDomRef() || null;\n};\n\nconst openNativePopoverForOpenUI5 = (popup: OpenUI5Popup) => {\n\tconst openingInitiated = [\"OPENING\", \"OPEN\"].includes(popup.getOpenState());\n\tif (!openingInitiated || !isNativePopoverOpen()) {\n\t\treturn;\n\t}\n\n\tconst domRef = getPopupContentElement(popup);\n\n\tif (!domRef) {\n\t\treturn;\n\t}\n\n\tconst openUI5BlockLayer = document.getElementById(\"sap-ui-blocklayer-popup\");\n\n\tif (popup.getModal() && openUI5BlockLayer) {\n\t\topenUI5BlockLayer.setAttribute(\"popover\", \"manual\");\n\t\topenUI5BlockLayer.hidePopover();\n\t\topenUI5BlockLayer.showPopover();\n\t}\n\n\tdomRef.setAttribute(\"popover\", \"manual\");\n\tdomRef.showPopover();\n};\n\nconst closeNativePopoverForOpenUI5 = (popup: OpenUI5Popup) => {\n\tconst domRef = getPopupContentElement(popup);\n\n\tif (!domRef) {\n\t\treturn;\n\t}\n\n\tif (domRef.hasAttribute(\"popover\")) {\n\t\tdomRef.hidePopover();\n\t\tdomRef.removeAttribute(\"popover\");\n\t}\n\n\tif (getTopmostPopup() !== popup) {\n\t\treturn;\n\t}\n\n\t// The OpenUI5 block layer is only one for all modal OpenUI5 popups,\n\t// and it is displayed above all opened pupups - OpenUI5 and Web Components,\n\t// as a result, we need to hide this block layer.\n\t// If the underlying popup is a Web Component - it is displayed like a native popover, and we don't need to do anything\n\t// If the underlying popup is an OpenUI5 popup, it will be fixed in fixTopmostOpenUI5Popup method.\n\tif (popup.getModal()) {\n\t\tconst openUI5BlockLayer = document.getElementById(\"sap-ui-blocklayer-popup\");\n\t\tif (openUI5BlockLayer && openUI5BlockLayer.hasAttribute(\"popover\")) {\n\t\t\topenUI5BlockLayer.hidePopover();\n\t\t}\n\t}\n};\n\nconst fixTopmostOpenUI5Popup = () => {\n\tif (!isNativePopoverOpen()) {\n\t\treturn;\n\t}\n\n\tconst prevPopup = AllOpenedPopupsRegistry.openedRegistry[AllOpenedPopupsRegistry.openedRegistry.length - 2];\n\tif (!prevPopup\n\t\t|| prevPopup.type !== \"OpenUI5\"\n\t\t|| !prevPopup.instance.getModal()) {\n\t\treturn;\n\t}\n\n\tconst content = getPopupContentElement(prevPopup.instance);\n\tconst openUI5BlockLayer = document.getElementById(\"sap-ui-blocklayer-popup\");\n\n\tcontent?.hidePopover();\n\topenUI5BlockLayer?.showPopover();\n\n\tcontent?.showPopover();\n};\n\nconst isNativePopoverOpen = (root: Document | ShadowRoot = document): boolean => {\n\tif (root.querySelector(\":popover-open\")) {\n\t\treturn true;\n\t}\n\n\treturn Array.from(root.querySelectorAll(\"*\")).some(element => {\n\t\tconst shadowRoot = element.shadowRoot;\n\t\treturn shadowRoot && isNativePopoverOpen(shadowRoot);\n\t});\n};\n\nconst patchDialog = (Dialog: OpenUI5DialogClass) => {\n\tconst origOnsapescape = Dialog.prototype.onsapescape;\n\tDialog.prototype.onsapescape = function onsapescape(...args: any[]) {\n\t\tif (hasWebComponentPopupAbove(this.oPopup)) {\n\t\t\treturn;\n\t\t}\n\n\t\torigOnsapescape.apply(this, args);\n\t};\n};\n\nconst patchOpen = (Popup: OpenUI5PopupClass) => {\n\tconst origOpen = Popup.prototype.open;\n\tPopup.prototype.open = function open(...args: any[]) {\n\t\torigOpen.apply(this, args); // call open first to initiate opening\n\t\topenNativePopoverForOpenUI5(this);\n\n\t\taddOpenedPopup({\n\t\t\ttype: \"OpenUI5\",\n\t\t\tinstance: this,\n\t\t});\n\t};\n};\n\nconst patchClosed = (Popup: OpenUI5PopupClass) => {\n\tconst _origClosed = Popup.prototype._closed;\n\tPopup.prototype._closed = function _closed(...args: any[]) {\n\t\tcloseNativePopoverForOpenUI5(this);\n\t\t_origClosed.apply(this, args); // only then call _close\n\t\tremoveOpenedPopup(this);\n\t};\n};\n\nconst patchFocusEvent = (Popup: OpenUI5PopupClass) => {\n\tconst origFocusEvent = Popup.prototype.onFocusEvent;\n\tPopup.prototype.onFocusEvent = function onFocusEvent(...args: any[]) {\n\t\tif (!hasWebComponentPopupAbove(this)) {\n\t\t\torigFocusEvent.apply(this, args);\n\t\t}\n\t};\n};\n\nconst createGlobalStyles = () => {\n\tconst stylesheet = new CSSStyleSheet();\n\tstylesheet.replaceSync(`.sapMPopup-CTX:popover-open { inset: unset; }`);\n\tdocument.adoptedStyleSheets = [...document.adoptedStyleSheets, stylesheet];\n};\n\nconst patchPopup = (Popup: OpenUI5PopupClass, Dialog: OpenUI5DialogClass) => {\n\tinsertOpenUI5PopupStyles();\n\tpatchOpen(Popup); // Popup.prototype.open\n\tpatchClosed(Popup); // Popup.prototype._closed\n\tcreateGlobalStyles(); // Ensures correct popover positioning by OpenUI5 (otherwise 0,0 is the center of the screen)\n\tpatchFocusEvent(Popup);// Popup.prototype.onFocusEvent\n\tpatchDialog(Dialog); // Dialog.prototype.onsapescape\n};\n\nexport {\n\tpatchPopup,\n\taddOpenedPopup,\n\tremoveOpenedPopup,\n\tgetTopmostPopup,\n};\n\nexport type { OpenUI5PopupClass, OpenUI5DialogClass, PopupInfo };\n"]}
|
|
1
|
+
{"version":3,"file":"patchPopup.js","sourceRoot":"","sources":["../../src/features/patchPopup.ts"],"names":[],"mappings":"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","sourcesContent":["// OpenUI5's Control.js subset\nimport getSharedResource from \"../getSharedResource.js\";\nimport insertOpenUI5PopupStyles from \"./insertOpenUI5PopupStyles.js\";\nimport VersionInfo from \"../generated/VersionInfo.js\";\nimport { compareVersions } from \"../Runtimes.js\";\n\ntype PatchedFunctionRecord = {\n\tversion: VersionInfo | undefined;\n\toriginalFn: (...args: any[]) => any;\n};\n\ntype PatchedFunctionsRegistry = Record<string, PatchedFunctionRecord>;\n\nconst PatchedFunctions = getSharedResource<PatchedFunctionsRegistry>(\"PatchedFunctions\", {});\n\nconst shouldRepatch = (key: string): boolean => {\n\tconst existing = PatchedFunctions[key];\n\tif (!existing) {\n\t\treturn true;\n\t}\n\n\tif (!existing.version) {\n\t\treturn true;\n\t}\n\treturn compareVersions(VersionInfo, existing.version) > 0;\n};\n\ntype Control = {\n\tgetDomRef: () => HTMLElement | null,\n}\n\n// The lifecycle of Popup.js is open -> _opened -> close -> _closed, we're interested in the first (open) and last (_closed)\ntype OpenUI5Popup = {\n\topen: (...args: any[]) => void,\n\t_closed: (...args: any[]) => void,\n\tgetOpenState: () => \"CLOSED\" | \"CLOSING\" | \"OPEN\" | \"OPENING\",\n\tgetContent: () => Control | HTMLElement | null, // this is the OpenUI5 Element/Control instance that opens the Popup (usually sap.m.Popover/sap.m.Dialog)\n\tonFocusEvent: (...args: any[]) => void,\n\tgetModal: () => boolean\n};\n\ntype OpenUI5PopupClass = {\n\tprototype: OpenUI5Popup\n};\n\ntype OpenUI5DialogClass = {\n\tprototype: {\n\t\tonsapescape: (...args: any[]) => void,\n\t\toPopup: OpenUI5Popup,\n\t}\n};\n\ntype PopupInfo = {\n\ttype: \"WebComponent\";\n\tinstance: object;\n} | {\n\ttype: \"OpenUI5\";\n\tinstance: OpenUI5Popup;\n};\n\n// contains all OpenUI5 and Web Component popups that are currently opened\nconst AllOpenedPopupsRegistry = getSharedResource<{ openedRegistry: Array<PopupInfo> }>(\"AllOpenedPopupsRegistry\", { openedRegistry: [] });\n\nconst addOpenedPopup = (popupInfo: PopupInfo) => {\n\tAllOpenedPopupsRegistry.openedRegistry.push(popupInfo);\n};\n\nconst removeOpenedPopup = (popup: object) => {\n\tconst index = AllOpenedPopupsRegistry.openedRegistry.findIndex(el => el.instance === popup);\n\n\tif (index === AllOpenedPopupsRegistry.openedRegistry.length - 1) {\n\t\tfixTopmostOpenUI5Popup();\n\t}\n\n\tif (index > -1) {\n\t\tAllOpenedPopupsRegistry.openedRegistry.splice(index, 1);\n\t}\n};\n\nconst getTopmostPopup = () => {\n\tif (AllOpenedPopupsRegistry.openedRegistry.length === 0) {\n\t\treturn null;\n\t}\n\treturn AllOpenedPopupsRegistry.openedRegistry[AllOpenedPopupsRegistry.openedRegistry.length - 1].instance;\n};\n\n/**\n * Determines whether there is a Web Component popup opened above (a specified popup).\n *\n * @param {object} popup The popup instance to check against.\n * @returns {boolean} `true` if a Web Component popup is opened above (the given popup instance); otherwise `false`.\n */\nconst hasWebComponentPopupAbove = (popup: object) => {\n\tfor (let i = AllOpenedPopupsRegistry.openedRegistry.length - 1; i >= 0; i--) {\n\t\tconst popupInfo = AllOpenedPopupsRegistry.openedRegistry[i];\n\t\tif (popupInfo.type === \"WebComponent\") {\n\t\t\treturn true;\n\t\t}\n\n\t\tif (popupInfo.instance === popup) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn false;\n};\n\nconst getPopupContentElement = (popup: OpenUI5Popup): HTMLElement | null => {\n\tconst content = popup.getContent();\n\treturn content instanceof HTMLElement ? content : content?.getDomRef() || null;\n};\n\nconst openNativePopoverForOpenUI5 = (popup: OpenUI5Popup) => {\n\tconst openingInitiated = [\"OPENING\", \"OPEN\"].includes(popup.getOpenState());\n\tif (!openingInitiated || !isNativePopoverOpen()) {\n\t\treturn;\n\t}\n\n\tconst domRef = getPopupContentElement(popup);\n\n\tif (!domRef) {\n\t\treturn;\n\t}\n\n\tconst openUI5BlockLayer = document.getElementById(\"sap-ui-blocklayer-popup\");\n\n\tif (popup.getModal() && openUI5BlockLayer) {\n\t\topenUI5BlockLayer.setAttribute(\"popover\", \"manual\");\n\t\topenUI5BlockLayer.hidePopover();\n\t\topenUI5BlockLayer.showPopover();\n\t}\n\n\tdomRef.setAttribute(\"popover\", \"manual\");\n\tdomRef.showPopover();\n};\n\nconst closeNativePopoverForOpenUI5 = (popup: OpenUI5Popup) => {\n\tconst domRef = getPopupContentElement(popup);\n\n\tif (!domRef) {\n\t\treturn;\n\t}\n\n\tif (domRef.hasAttribute(\"popover\")) {\n\t\tdomRef.hidePopover();\n\t\tdomRef.removeAttribute(\"popover\");\n\t}\n\n\tif (getTopmostPopup() !== popup) {\n\t\treturn;\n\t}\n\n\t// The OpenUI5 block layer is only one for all modal OpenUI5 popups,\n\t// and it is displayed above all opened pupups - OpenUI5 and Web Components,\n\t// as a result, we need to hide this block layer.\n\t// If the underlying popup is a Web Component - it is displayed like a native popover, and we don't need to do anything\n\t// If the underlying popup is an OpenUI5 popup, it will be fixed in fixTopmostOpenUI5Popup method.\n\tif (popup.getModal()) {\n\t\tconst openUI5BlockLayer = document.getElementById(\"sap-ui-blocklayer-popup\");\n\t\tif (openUI5BlockLayer && openUI5BlockLayer.hasAttribute(\"popover\")) {\n\t\t\topenUI5BlockLayer.hidePopover();\n\t\t}\n\t}\n};\n\nconst fixTopmostOpenUI5Popup = () => {\n\tif (!isNativePopoverOpen()) {\n\t\treturn;\n\t}\n\n\tconst prevPopup = AllOpenedPopupsRegistry.openedRegistry[AllOpenedPopupsRegistry.openedRegistry.length - 2];\n\tif (!prevPopup\n\t\t|| prevPopup.type !== \"OpenUI5\"\n\t\t|| !prevPopup.instance.getModal()) {\n\t\treturn;\n\t}\n\n\tconst content = getPopupContentElement(prevPopup.instance);\n\tconst openUI5BlockLayer = document.getElementById(\"sap-ui-blocklayer-popup\");\n\n\tcontent?.hidePopover();\n\topenUI5BlockLayer?.showPopover();\n\n\tcontent?.showPopover();\n};\n\nconst isNativePopoverOpen = (root: Document | ShadowRoot = document): boolean => {\n\tif (root.querySelector(\":popover-open\")) {\n\t\treturn true;\n\t}\n\n\treturn Array.from(root.querySelectorAll(\"*\")).some(element => {\n\t\tconst shadowRoot = element.shadowRoot;\n\t\treturn shadowRoot && isNativePopoverOpen(shadowRoot);\n\t});\n};\n\nconst patchDialog = (Dialog: OpenUI5DialogClass) => {\n\tconst key = \"Dialog.prototype.onsapescape\";\n\tif (shouldRepatch(key)) {\n\t\tPatchedFunctions[key] = { version: VersionInfo, originalFn: PatchedFunctions[key]?.originalFn ?? Dialog.prototype.onsapescape };\n\t}\n\tconst origOnsapescape = PatchedFunctions[key].originalFn;\n\tDialog.prototype.onsapescape = function onsapescape(...args: any[]) {\n\t\tif (hasWebComponentPopupAbove(this.oPopup)) {\n\t\t\treturn;\n\t\t}\n\n\t\torigOnsapescape.apply(this, args);\n\t};\n};\n\nconst patchOpen = (Popup: OpenUI5PopupClass) => {\n\tconst key = \"Popup.prototype.open\";\n\tif (shouldRepatch(key)) {\n\t\tPatchedFunctions[key] = { version: VersionInfo, originalFn: PatchedFunctions[key]?.originalFn ?? Popup.prototype.open };\n\t}\n\tconst origOpen = PatchedFunctions[key].originalFn;\n\tPopup.prototype.open = function open(...args: any[]) {\n\t\torigOpen.apply(this, args); // call open first to initiate opening\n\t\topenNativePopoverForOpenUI5(this);\n\n\t\taddOpenedPopup({\n\t\t\ttype: \"OpenUI5\",\n\t\t\tinstance: this,\n\t\t});\n\t};\n};\n\nconst patchClosed = (Popup: OpenUI5PopupClass) => {\n\tconst key = \"Popup.prototype._closed\";\n\tif (shouldRepatch(key)) {\n\t\tPatchedFunctions[key] = { version: VersionInfo, originalFn: PatchedFunctions[key]?.originalFn ?? Popup.prototype._closed };\n\t}\n\tconst _origClosed = PatchedFunctions[key].originalFn;\n\tPopup.prototype._closed = function _closed(...args: any[]) {\n\t\tcloseNativePopoverForOpenUI5(this);\n\t\t_origClosed.apply(this, args); // only then call _close\n\t\tremoveOpenedPopup(this);\n\t};\n};\n\nconst patchFocusEvent = (Popup: OpenUI5PopupClass) => {\n\tconst key = \"Popup.prototype.onFocusEvent\";\n\tif (shouldRepatch(key)) {\n\t\tPatchedFunctions[key] = { version: VersionInfo, originalFn: PatchedFunctions[key]?.originalFn ?? Popup.prototype.onFocusEvent };\n\t}\n\tconst origFocusEvent = PatchedFunctions[key].originalFn;\n\tPopup.prototype.onFocusEvent = function onFocusEvent(...args: any[]) {\n\t\tif (!hasWebComponentPopupAbove(this)) {\n\t\t\torigFocusEvent.apply(this, args);\n\t\t}\n\t};\n};\n\nconst createGlobalStyles = () => {\n\tconst stylesheet = new CSSStyleSheet();\n\tstylesheet.replaceSync(`.sapMPopup-CTX:popover-open { inset: unset; }`);\n\tdocument.adoptedStyleSheets = [...document.adoptedStyleSheets, stylesheet];\n};\n\nconst patchPopup = (Popup: OpenUI5PopupClass, Dialog: OpenUI5DialogClass) => {\n\tinsertOpenUI5PopupStyles();\n\tpatchOpen(Popup); // Popup.prototype.open\n\tpatchClosed(Popup); // Popup.prototype._closed\n\tcreateGlobalStyles(); // Ensures correct popover positioning by OpenUI5 (otherwise 0,0 is the center of the screen)\n\tpatchFocusEvent(Popup);// Popup.prototype.onFocusEvent\n\tpatchDialog(Dialog); // Dialog.prototype.onsapescape\n};\n\nexport {\n\tpatchPopup,\n\taddOpenedPopup,\n\tremoveOpenedPopup,\n\tgetTopmostPopup,\n};\n\nexport type { OpenUI5PopupClass, OpenUI5DialogClass, PopupInfo };\n"]}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
const VersionInfo = {
|
|
2
|
-
version: "2.22.0-rc.
|
|
2
|
+
version: "2.22.0-rc.6",
|
|
3
3
|
major: 2,
|
|
4
4
|
minor: 22,
|
|
5
5
|
patch: 0,
|
|
6
|
-
suffix: "-rc.
|
|
6
|
+
suffix: "-rc.6",
|
|
7
7
|
isNext: false,
|
|
8
|
-
buildTime:
|
|
8
|
+
buildTime: 1779357695,
|
|
9
9
|
};
|
|
10
10
|
export default VersionInfo;
|
|
11
11
|
//# sourceMappingURL=VersionInfo.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VersionInfo.js","sourceRoot":"","sources":["../../src/generated/VersionInfo.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,GAAG;IACnB,OAAO,EAAE,aAAa;IACtB,KAAK,EAAE,CAAC;IACR,KAAK,EAAE,EAAE;IACT,KAAK,EAAE,CAAC;IACR,MAAM,EAAE,OAAO;IACf,MAAM,EAAE,KAAK;IACb,SAAS,EAAE,UAAU;CACrB,CAAC;AACF,eAAe,WAAW,CAAC","sourcesContent":["const VersionInfo = {\n\tversion: \"2.22.0-rc.
|
|
1
|
+
{"version":3,"file":"VersionInfo.js","sourceRoot":"","sources":["../../src/generated/VersionInfo.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,GAAG;IACnB,OAAO,EAAE,aAAa;IACtB,KAAK,EAAE,CAAC;IACR,KAAK,EAAE,EAAE;IACT,KAAK,EAAE,CAAC;IACR,MAAM,EAAE,OAAO;IACf,MAAM,EAAE,KAAK;IACb,SAAS,EAAE,UAAU;CACrB,CAAC;AACF,eAAe,WAAW,CAAC","sourcesContent":["const VersionInfo = {\n\tversion: \"2.22.0-rc.6\",\n\tmajor: 2,\n\tminor: 22,\n\tpatch: 0,\n\tsuffix: \"-rc.6\",\n\tisNext: false,\n\tbuildTime: 1779357695,\n};\nexport default VersionInfo;"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"DRAG_DROP_MULTIPLE_TEXT":"{0} من البنود"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"DRAG_DROP_MULTIPLE_TEXT":"{0} позиции"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"DRAG_DROP_MULTIPLE_TEXT":"{0} elements"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"DRAG_DROP_MULTIPLE_TEXT":"{0} stavke/i"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"DRAG_DROP_MULTIPLE_TEXT":"{0} položky"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"DRAG_DROP_MULTIPLE_TEXT":"{0} eitem"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"DRAG_DROP_MULTIPLE_TEXT":"{0} elementer"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"DRAG_DROP_MULTIPLE_TEXT":"{0} Elemente"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"DRAG_DROP_MULTIPLE_TEXT":"{0} είδη"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"DRAG_DROP_MULTIPLE_TEXT":"{0} items"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"DRAG_DROP_MULTIPLE_TEXT":"{0} elementos"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"DRAG_DROP_MULTIPLE_TEXT":"{0} elementos"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"DRAG_DROP_MULTIPLE_TEXT":"{0} üksust"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"DRAG_DROP_MULTIPLE_TEXT":"{0} elementtiä"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"DRAG_DROP_MULTIPLE_TEXT":"{0} éléments"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"DRAG_DROP_MULTIPLE_TEXT":"{0} éléments"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"DRAG_DROP_MULTIPLE_TEXT":"{0} आइटम"}
|