graphdb-workbench 3.2.0-RC1 → 3.2.0-RC2

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 (130) hide show
  1. package/dist/{38644.763094ed8176a107ad43.bundle.js → 38644.08569e93394c46036f53.bundle.js} +2 -2
  2. package/dist/{38644.763094ed8176a107ad43.bundle.js.map → 38644.08569e93394c46036f53.bundle.js.map} +1 -1
  3. package/dist/{39518.7dd8fe04651f2fdbc846.bundle.js → 39518.2923a17f1d69e5a0d957.bundle.js} +2 -2
  4. package/dist/{39518.7dd8fe04651f2fdbc846.bundle.js.map → 39518.2923a17f1d69e5a0d957.bundle.js.map} +1 -1
  5. package/dist/{53174.4a1ebee9fa3f2bcebf90.bundle.js → 53174.42c4b8519fa16f6eedc1.bundle.js} +2 -2
  6. package/dist/53174.42c4b8519fa16f6eedc1.bundle.js.map +1 -0
  7. package/dist/60560.1a6c5df198a1426b0fb7.bundle.js +2 -0
  8. package/dist/60560.1a6c5df198a1426b0fb7.bundle.js.map +1 -0
  9. package/dist/{67888.00b7ea58032ed4b8bfcb.bundle.js → 67888.d6afafad6e3a017cb8b3.bundle.js} +2 -2
  10. package/dist/{67888.00b7ea58032ed4b8bfcb.bundle.js.map → 67888.d6afafad6e3a017cb8b3.bundle.js.map} +1 -1
  11. package/dist/{7815.182dcef7161cdc589db7.bundle.js → 7815.49f59c286fc0d0b306ab.bundle.js} +2 -2
  12. package/dist/{7815.182dcef7161cdc589db7.bundle.js.map → 7815.49f59c286fc0d0b306ab.bundle.js.map} +1 -1
  13. package/dist/82206.d593f5b11aa103af5e3d.bundle.js +2 -0
  14. package/dist/82206.d593f5b11aa103af5e3d.bundle.js.map +1 -0
  15. package/dist/{82926.d6c48c23b6e1f89b3d8a.bundle.js → 82926.51d23e16d60e02dc4133.bundle.js} +2 -2
  16. package/dist/{82926.d6c48c23b6e1f89b3d8a.bundle.js.map → 82926.51d23e16d60e02dc4133.bundle.js.map} +1 -1
  17. package/dist/94519.783661f9e08288cddc88.bundle.js +2 -0
  18. package/dist/94519.783661f9e08288cddc88.bundle.js.map +1 -0
  19. package/dist/{99448.30713a59be1313c4b089.bundle.js → 99448.8c045dc098cc67d199aa.bundle.js} +2 -2
  20. package/dist/{99448.30713a59be1313c4b089.bundle.js.map → 99448.8c045dc098cc67d199aa.bundle.js.map} +1 -1
  21. package/dist/css/bootstrap-graphdb-theme.css +1 -1
  22. package/dist/css/clustermanagement.css +1 -1
  23. package/dist/css/graphql/graphql-playground.css +1 -1
  24. package/dist/css/graphs-vizualizations.css +1 -1
  25. package/dist/css/lib/ontotext-yasgui-web-component.css +1 -1
  26. package/dist/css/repositories.css +1 -1
  27. package/dist/css/shepherd-custom.css +1 -1
  28. package/dist/css/shuttle-multiselect.css +1 -1
  29. package/dist/i18n/locale-en.json +4 -4
  30. package/dist/i18n/locale-fr.json +4 -4
  31. package/dist/index.html +9 -9
  32. package/dist/js/angular/clustermanagement/templates/cluster-nodes-configuration.html +1 -1
  33. package/dist/js/angular/core/directives/autocomplete/templates/autocomplete.html +1 -1
  34. package/dist/js/angular/core/directives/dynamic-form/templates/dynamic-form.html +1 -1
  35. package/dist/js/angular/core/directives/operations-statuses-monitor/templates/operations-statuses-monitor.html +1 -1
  36. package/dist/js/angular/core/directives/rdfresourcesearch/templates/rdfResourceSearchTemplate.html +1 -1
  37. package/dist/js/angular/core/directives/shuttle-multiselect/templates/shuttle-multiselect.html +1 -1
  38. package/dist/js/angular/core/directives/yasgui-component/templates/yasgui-component.html +1 -1
  39. package/dist/js/angular/core/templates/cookie-policy/cookie-consent.html +1 -1
  40. package/dist/js/angular/core/templates/cookie-policy/cookie-policy.html +1 -1
  41. package/dist/js/angular/core/templates/editable-content/editable-content.html +1 -1
  42. package/dist/js/angular/core/templates/markdown-content/markdown-content.html +1 -1
  43. package/dist/js/angular/core/templates/search-resource-input.html +1 -1
  44. package/dist/js/angular/graphql/templates/create-graphql-endpoint.html +2 -2
  45. package/dist/js/angular/graphql/templates/graphql-endpoint-management.html +1 -1
  46. package/dist/js/angular/graphql/templates/graphql-playground.html +1 -1
  47. package/dist/js/angular/graphql/templates/modal/endpoint-configuration-modal.html +1 -1
  48. package/dist/js/angular/graphql/templates/modal/endpoint-generation-failure-result-modal.html +1 -1
  49. package/dist/js/angular/graphql/templates/modal/import-endpoint-definition-modal.html +1 -1
  50. package/dist/js/angular/security/templates/user.html +5 -5
  51. package/dist/js/angular/ttyg/templates/agent-list.html +1 -1
  52. package/dist/js/angular/ttyg/templates/agent-select-menu.html +1 -1
  53. package/dist/js/angular/ttyg/templates/chat-item-detail.html +1 -1
  54. package/dist/js/angular/ttyg/templates/chat-list.html +1 -1
  55. package/dist/js/angular/ttyg/templates/chat-panel.html +1 -1
  56. package/dist/js/angular/ttyg/templates/modal/agent-instructions-explain-modal.html +1 -1
  57. package/dist/js/angular/ttyg/templates/modal/agent-settings-modal.html +3 -3
  58. package/dist/js/angular/ttyg/templates/modal/external-integration-configuration-modal.html +1 -1
  59. package/dist/js/angular/ttyg/templates/no-agents-view.html +1 -1
  60. package/dist/js/angular/ttyg/templates/ttyg.html +1 -1
  61. package/dist/legacyWorkbench.f089c68483807d9f2f74.js +3 -0
  62. package/dist/{legacyWorkbench.59130589967739705b23.js.map → legacyWorkbench.f089c68483807d9f2f74.js.map} +1 -1
  63. package/dist/{main.1183256fc7ce9d0d3fa3.js → main.f4b1fbec182d8427ee8a.js} +3 -3
  64. package/dist/{main.1183256fc7ce9d0d3fa3.js.map → main.f4b1fbec182d8427ee8a.js.map} +1 -1
  65. package/dist/pages/aclmanagement.html +2 -2
  66. package/dist/pages/autocomplete.html +1 -1
  67. package/dist/pages/choose-repository-type.html +1 -1
  68. package/dist/pages/cluster-management/clusterInfo.html +3 -3
  69. package/dist/pages/create-index.html +1 -1
  70. package/dist/pages/createConnector.html +3 -0
  71. package/dist/pages/dependencies.html +1 -1
  72. package/dist/pages/domainRangeInfo.html +2 -2
  73. package/dist/pages/edit.html +1 -1
  74. package/dist/pages/explore.html +1 -1
  75. package/dist/pages/export.html +1 -1
  76. package/dist/pages/find.html +1 -1
  77. package/dist/pages/graph-config/saveGraphConfig.html +8 -8
  78. package/dist/pages/graphs-visualizations.html +7 -7
  79. package/dist/pages/guides.html +1 -1
  80. package/dist/pages/home.html +1 -1
  81. package/dist/pages/import.html +2 -2
  82. package/dist/pages/jdbc-create.html +1 -1
  83. package/dist/pages/jdbc.html +1 -1
  84. package/dist/pages/login.html +1 -1
  85. package/dist/pages/monitor/backup-and-restore.html +1 -1
  86. package/dist/pages/monitor/queries.html +1 -1
  87. package/dist/pages/monitor/resources.html +1 -1
  88. package/dist/pages/namespaces.html +2 -2
  89. package/dist/pages/plugins.html +1 -1
  90. package/dist/pages/rdfClassHierarchyInfo.html +7 -7
  91. package/dist/pages/rdfrank.html +2 -2
  92. package/dist/pages/repositories.html +1 -1
  93. package/dist/pages/repository.html +1 -1
  94. package/dist/pages/similarity-indexes.html +1 -1
  95. package/dist/pages/sparql-editor.html +1 -1
  96. package/dist/pages/sparql-template-create.html +1 -1
  97. package/dist/pages/sparql-templates.html +1 -1
  98. package/dist/pages/ux-test1.html +3 -2
  99. package/dist/pages/webapi.html +2 -2
  100. package/dist/res/swagger5/index.html +11 -11
  101. package/dist/shared-components/cjs/onto-cookie-consent_2.cjs.entry.js +1 -1
  102. package/dist/shared-components/cjs/onto-footer_5.cjs.entry.js +1 -1
  103. package/dist/shared-components/cjs/onto-language-selector_9.cjs.entry.js +1 -1
  104. package/dist/shared-components/collection/components/onto-cookie-consent/onto-cookie-consent.css +1 -1
  105. package/dist/shared-components/collection/components/onto-navbar/onto-navbar.css +1 -1
  106. package/dist/shared-components/collection/components/onto-operations-notification/onto-operations-notification.css +1 -1
  107. package/dist/shared-components/esm/onto-cookie-consent_2.entry.js +1 -1
  108. package/dist/shared-components/esm/onto-footer_5.entry.js +1 -1
  109. package/dist/shared-components/esm/onto-language-selector_9.entry.js +1 -1
  110. package/dist/shared-components/shared-components/{p-79cc3329.entry.js → p-46732fef.entry.js} +1 -1
  111. package/dist/shared-components/shared-components/p-6ca5791e.entry.js +1 -0
  112. package/dist/shared-components/shared-components/p-7df9e540.entry.js +1 -0
  113. package/dist/shared-components/shared-components/shared-components.esm.js +1 -1
  114. package/dist/styleguide.bc9dcbaac347a57319f2.js +2 -0
  115. package/dist/styleguide.bc9dcbaac347a57319f2.js.map +1 -0
  116. package/package.json +1 -1
  117. package/dist/53174.4a1ebee9fa3f2bcebf90.bundle.js.map +0 -1
  118. package/dist/60560.0a055f16e4792468aabb.bundle.js +0 -2
  119. package/dist/60560.0a055f16e4792468aabb.bundle.js.map +0 -1
  120. package/dist/82206.cebb3d642554cf3e0113.bundle.js +0 -2
  121. package/dist/82206.cebb3d642554cf3e0113.bundle.js.map +0 -1
  122. package/dist/94519.32958f75080cd121b880.bundle.js +0 -2
  123. package/dist/94519.32958f75080cd121b880.bundle.js.map +0 -1
  124. package/dist/legacyWorkbench.59130589967739705b23.js +0 -3
  125. package/dist/shared-components/shared-components/p-09a97d11.entry.js +0 -1
  126. package/dist/shared-components/shared-components/p-12b2f278.entry.js +0 -1
  127. package/dist/styleguide.26e57b17e3dafc7b6bbe.js +0 -2
  128. package/dist/styleguide.26e57b17e3dafc7b6bbe.js.map +0 -1
  129. /package/dist/{legacyWorkbench.59130589967739705b23.js.LICENSE.txt → legacyWorkbench.f089c68483807d9f2f74.js.LICENSE.txt} +0 -0
  130. /package/dist/{main.1183256fc7ce9d0d3fa3.js.LICENSE.txt → main.f4b1fbec182d8427ee8a.js.LICENSE.txt} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"7815.182dcef7161cdc589db7.bundle.js","mappings":"4TAQA,MAEMA,EAAa,MACfC,WAAAA,CAAYC,IACRC,EAAAA,EAAAA,GAAiBC,KAAMF,GAEvBE,KAAKC,cAAgB,IAAIC,EAAAA,iBAEzBF,KAAKG,aAAc,IAAIC,MAAOC,cAC9BL,KAAKM,uBAAyBC,EAAAA,gBAAgBC,IAAIC,EAAAA,wBAClDT,KAAKU,sBAAwBH,EAAAA,gBAAgBC,IAAIG,EAAAA,uBACjDX,KAAKY,cAAgBL,EAAAA,gBAAgBC,IAAIK,EAAAA,cAC7C,CACAC,kBAAAA,GACId,KAAKY,cAAcG,qBACdC,KAAK,IAAMhB,KAAKiB,yBAA0B,EACnD,CACAC,MAAAA,GACI,IAAIC,EAAIC,EAAIC,EAAIC,EAChB,OAAQC,EAAAA,EAAAA,GAAEC,EAAAA,EAAM,CAAEC,IAAK,6CAA8CF,EAAAA,EAAAA,GAAE,MAAO,CAAEE,IAAK,2CAA4CC,MAAO,qBAAsBH,EAAAA,EAAAA,GAAE,IAAK,CAAEE,IAAK,2CAA4CE,KAAM,8BAA+BC,OAAQ,SAAUC,IAAK,uBAAyB,WAAY,IAAsC,QAA3BV,EAAKnB,KAAK8B,mBAAgC,IAAPX,OAAgB,EACnXA,EAAGY,eAAgB,OAAiBR,EAAAA,EAAAA,GAAE,IAAK,CAAEE,IAAK,2CAA4CE,KAAM,mBAAoBC,OAAQ,SAAUC,IAAK,uBAAyB,SAAU,IAAsC,QAA3BT,EAAKpB,KAAK8B,mBAAgC,IAAPV,OAAgB,EAChPA,EAAGY,OAAQ,iBAAmD,QAA3BX,EAAKrB,KAAK8B,mBAAgC,IAAPT,OAAgB,EACtFA,EAAGY,WAAY,gBAAkD,QAA3BX,EAAKtB,KAAK8B,mBAAgC,IAAPR,OAAgB,EACzFA,EAAGY,UAAW,aAA6BlC,KAAKG,YAAa,KAAUoB,EAAAA,EAAAA,GAAE,IAAK,CAAEE,IAAK,2CAA4CE,KAAM,sBAAuBC,OAAQ,SAAUC,IAAK,uBAAyB,eAAgB,MAAWN,EAAAA,EAAAA,GAAE,kBAAmB,CAAEE,IAAK,2CAA4CU,SAAU,sCAAwCnC,KAAKiB,0BAA2BM,EAAAA,EAAAA,GAAE,sBAAuB,CAAEE,IAAK,6CAC3a,CAIAW,iBAAAA,GACIpC,KAAKqC,+BACLrC,KAAKsC,wBACLtC,KAAKuC,0BACT,CACAC,oBAAAA,GACIxC,KAAKC,cAAcwC,gBACvB,CACAJ,4BAAAA,GACIrC,KAAKC,cAAcyC,IAAInC,EAAAA,gBAAgBC,IAAImC,EAAAA,2BACtCC,qBAAqBd,IACtB9B,KAAK8B,YAAcA,IAE3B,CACAe,iBAAAA,GACI,OAAOtC,EAAAA,gBAAgBC,IAAIsC,EAAAA,gBAAgBC,uBAAyBC,EAAAA,cAAcC,YAAYC,SAClG,CACAZ,qBAAAA,GAEItC,KAAKC,cAAcyC,IAAI1C,KAAKM,uBAAuB6C,2BAA2B,KAC1EnD,KAAKoD,+BAEb,CACAA,0BAAAA,GACI,IAAIjC,EACJ,MAAMkC,EAAOrD,KAAKM,uBAAuBgD,uBACzCtD,KAAKiB,wBAA0BjB,KAAK6C,sBAAwB,IAAIU,EAAAA,cAAsF,QAAvEpC,EAAKkC,aAAmC,EAASA,EAAKG,mBAAgC,IAAPrC,OAAgB,EAASA,EAAGsC,gBAAgBC,cAC9M,CACAnB,wBAAAA,GACIvC,KAAKC,cAAcyC,IAAI1C,KAAKU,sBAAsBiD,iBAAiB,KAC/D3D,KAAKoD,+BAEb,GAEJxD,EAAWgE,MA9DW,qGA0EtB,MAAMC,EAAqBA,EAAGC,iBAClBvC,EAAAA,EAAAA,GAAE,MAAO,CAAEG,MAAO,sCACtBH,EAAAA,EAAAA,GAAE,IAAK,CAAEG,MAAO,uBAAyBoC,EAAWC,QACpDxC,EAAAA,EAAAA,GAAE,MAAO,CAAEG,MAAO,eACdH,EAAAA,EAAAA,GAAE,MAAO,CAAEG,MAAO,iBAAmBoC,EAAWE,KAChDzC,EAAAA,EAAAA,GAAE,MAAO,CAAEG,MAAO,uBAAyBoC,EAAWG,SAAWH,EAAWG,SAAW,WAK7FC,EAAa,MACfrE,WAAAA,CAAYC,IACRC,EAAAA,EAAAA,GAAiBC,KAAMF,GAIvBE,KAAKmE,kBAAoB5D,EAAAA,gBAAgBC,IAAI4D,EAAAA,mBAC7CpE,KAAKqE,yBAA2B9D,EAAAA,gBAAgBC,IAAI8D,EAAAA,0BACpDtE,KAAKuE,iCAAmChE,EAAAA,gBAAgBC,IAAIgE,EAAAA,kCAC5DxE,KAAKyE,kBAAoBlE,EAAAA,gBAAgBC,IAAIkE,EAAAA,mBAC7C1E,KAAKM,uBAAyBC,EAAAA,gBAAgBC,IAAIC,EAAAA,wBAClDT,KAAK2E,cAAgBpE,EAAAA,gBAAgBC,IAAIoE,EAAAA,mBACzC5E,KAAK6E,kBAAoBtE,EAAAA,gBAAgBC,IAAIsE,EAAAA,mBAC7C9E,KAAK+E,wBAA0BxE,EAAAA,gBAAgBC,IAAIwE,EAAAA,0BACnDhF,KAAKiF,gBAAkB1E,EAAAA,gBAAgBC,IAAI0E,EAAAA,iBAC3ClF,KAAKmF,sCAAwC,IAC7CnF,KAAKoF,mBAAqB,IAAIC,EAAAA,mBAC9BrF,KAAKsF,YAAc/E,EAAAA,gBAAgBC,IAAI+E,EAAAA,uBACvCvF,KAAKwF,aAAejF,EAAAA,gBAAgBC,IAAIiF,EAAAA,cAExCzF,KAAK0F,kBAAmB,EACxB1F,KAAK2F,YAAaA,EAAAA,EAAAA,cAIlB3F,KAAK4F,yBAA0B,EAC/B5F,KAAK6F,gBAAkB,GAEvB7F,KAAKC,cAAgB,IAAIC,EAAAA,iBACzBF,KAAK8F,gCAAkC,EACvC9F,KAAK+F,aAAgBC,GACVhG,KAAKiG,uBAAuBD,GAEvChG,KAAKkG,0BAA6BF,GACvBhG,KAAKyE,kBAAkB0B,sBAAsBH,GAExDhG,KAAKoG,wBAA2BC,IAC5BA,EAAMC,kBACNtG,KAAK2E,cAAc4B,KAAKC,EAAAA,EAAmBC,UAAU,wCACrDzG,KAAK0F,kBAAmB,EACxBgB,EAAAA,EAASC,aAAa,qCACtB3G,KAAKwF,aAAaoB,KAAK,CAAEC,KAAMC,EAAAA,EAAwBC,0BAE/D,CAIAvE,oBAAAA,GACIxC,KAAKC,cAAcwC,iBACnBzC,KAAKgH,sBACT,CACA5E,iBAAAA,GACIpC,KAAKiH,kBAAoBjH,KAAKqE,yBAAyB6C,wBACvDlH,KAAKmH,+BACLnH,KAAKoH,oBACLpH,KAAKqH,cAAeC,EAAAA,EAAAA,mBACpBtH,KAAKuH,uBACT,CACArG,MAAAA,GACI,IAAIC,EAAIC,EAAIC,EAAIC,EAAIkG,EAAIC,EACxB,OAAQlG,EAAAA,EAAAA,GAAEC,EAAAA,EAAM,CAAEC,IAAK,6CAA8CF,EAAAA,EAAAA,GAAE,MAAO,CAAEE,IAAK,2CAA4CC,MAAO,qBAAsBH,EAAAA,EAAAA,GAAE,mBAAoB,CAAEE,IAAK,2CAA4CC,MAAO,oBAAqBgG,QAAS1H,KAAKoG,wBAAyB,YAAa,kCAAmCxC,MAAO,CAAE+D,QAAS3H,KAAK0F,kBAAoB1F,KAAK2F,WAAa,QAAU,WAAapE,EAAAA,EAAAA,GAAE,kBAAmB,CAAEE,IAAK,2CAA4C,YAAa,8BAA+BmC,MAAO,CAAE+D,QAAS3H,KAAK0F,mBAAqB1F,KAAK2F,WAAa,QAAU,WAA+C,QAAhCxE,EAAKnB,KAAK4H,wBAAqC,IAAPzG,OAAgB,EAASA,EAAG0G,qBAAqBC,WAAWC,SACvtBxG,EAAAA,EAAAA,GAAE,+BAAgC,CAAEqG,iBAAkB5H,KAAK4H,mBAC3D,GAAI5H,KAAKgI,WAAqC,QAAvB5G,EAAKpB,KAAKgI,eAA4B,IAAP5G,OAAgB,EAASA,EAAG6G,QACpF1G,EAAAA,EAAAA,GAAE,qBAAsB,CAAEyG,QAAShI,KAAKgI,UAAa,IAAIzG,EAAAA,EAAAA,GAAE,2BAA4B,CAAEE,IAAK,2CAA4CwF,kBAAmBjH,KAAKiH,kBAAmBiB,MAAOlI,KAAK6F,gBAAiBK,0BAA2BlG,KAAKkG,0BAA2BiC,uBAAwBnI,KAAKmI,uBAAwBpC,aAAc/F,KAAK+F,gBAAiD,QAA9B1E,EAAKrB,KAAKoI,sBAAmC,IAAP/G,OAAgB,EAASA,EAAGgH,WAA4C,QAA9B/G,EAAKtB,KAAKoI,sBAAmC,IAAP9G,OAAgB,EAASA,EAAGgH,eAAgB/G,EAAAA,EAAAA,GAAE,iBAAkB,CAAE8B,KAAMrD,KAAKqD,KAAM+E,eAAgBpI,KAAKoI,iBAAoB,IAAoC,QAA9BZ,EAAKxH,KAAKoI,sBAAmC,IAAPZ,OAAgB,EAASA,EAAGa,YAA6C,QAA9BZ,EAAKzH,KAAKoI,sBAAmC,IAAPX,OAAgB,EAASA,EAAGa,eAAwC,UAAtBtI,KAAKqH,cAA4B9F,EAAAA,EAAAA,GAAE,kBAAmB,MAAQ,IAAIA,EAAAA,EAAAA,GAAE,yBAA0B,CAAEE,IAAK,2CAA4C,qBAAsB,WACp7B,CAIA2F,iBAAAA,GACIpH,KAAKuI,mCACLvI,KAAKwI,mCACLxI,KAAKuC,2BACLvC,KAAKyI,8BACLzI,KAAK0I,4CACL1I,KAAK2I,qCACL3I,KAAK4I,2BACL5I,KAAK6I,6BACL7I,KAAK8I,oCACT,CACAN,gCAAAA,GACI,OAAOxI,KAAKqE,yBAAyB0E,wBAAyBC,KACpDA,aAAmD,EAASA,EAAalB,WAAWC,QAItF/H,KAAKiJ,4BAA4BD,GAHjChJ,KAAKkJ,8BAMjB,CACA3G,wBAAAA,GACIvC,KAAKC,cAAcyC,IAAInC,EAAAA,gBAAgBC,IAAIG,EAAAA,uBACtCgD,iBAAkBqE,IACnBhI,KAAKgI,QAAUA,IAEvB,CACAS,2BAAAA,GACIzI,KAAKC,cAAcyC,IAAI1C,KAAKqE,yBAAyB8E,4BAA6BrF,IAC9E9D,KAAKiH,kBAAoBnD,EACzB9D,KAAK0F,iBAAmB1F,KAAKoJ,sBAC7BpJ,KAAKqJ,iBACLrJ,KAAKsJ,0BAEb,CACAf,gCAAAA,GAEIvI,KAAKC,cAAcyC,IAAI1C,KAAKM,uBAAuB6C,2BAA4BE,IAC3ErD,KAAKqD,KAAOA,KAEhBrD,KAAKC,cAAcyC,IAAI1C,KAAKM,uBAAuBiJ,wBAAyBC,IACxExJ,KAAKoI,eAAiBoB,IAE9B,CACAV,kCAAAA,GACI9I,KAAKC,cAAcyC,IAAI1C,KAAKM,uBAAuB6C,2BAA2B,KAC1EnD,KAAKsJ,0BAEb,CACAZ,yCAAAA,GACI1I,KAAKC,cAAcyC,IAAI1C,KAAKuE,iCAAiCkF,wBAAwB,KACjFzJ,KAAK0F,iBAAmB1F,KAAKoJ,wBAErC,CACAT,kCAAAA,GACI3I,KAAKC,cAAcyC,IAAI1C,KAAKuE,iCAAiCmF,mBAAoBC,IAC7E3J,KAAK4F,wBAA0B+D,EAC/B3J,KAAK0F,iBAAmB1F,KAAKoJ,wBAErC,CACAR,wBAAAA,GACI5I,KAAKC,cAAcyC,IAAI1C,KAAKwF,aAAaoE,UAAUC,EAAAA,UAAUC,eAAgB,KACzE9J,KAAK0F,iBAAmB1F,KAAKoJ,sBAC7BpJ,KAAK2F,YAAaA,EAAAA,EAAAA,cAClB3F,KAAKqH,cAAeC,EAAAA,EAAAA,qBAE5B,CACAuB,0BAAAA,GACI7I,KAAKC,cAAcyC,IAAInC,EAAAA,gBAAgBC,IAAIuJ,EAAAA,wBACtCC,0BAA2BC,GAAajK,KAAKmH,6BAA6B8C,IACnF,CAIAf,0BAAAA,GACIlJ,KAAK6F,gBAAkB,GACvB7F,KAAKkK,eAAiB,IAAIC,EAAAA,eAC1BnK,KAAKiH,uBAAoBmD,CAC7B,CACAnB,2BAAAA,CAA4BD,GACxBhJ,KAAKkK,eAAiBlB,EACtBhJ,KAAKsJ,uBACT,CACAA,qBAAAA,GACItJ,KAAK6F,gBAAkB7F,KAAKqK,8BAChC,CACAA,4BAAAA,GACI,IAAIlJ,EACJ,KAAqC,QAA9BA,EAAKnB,KAAKkK,sBAAmC,IAAP/I,OAAgB,EAASA,EAAG2G,WAAWC,QAChF,MAAO,GAGX,IAAIiB,EAOJ,OARAhJ,KAAKkK,eAAeI,sBAGhBtB,EADAhJ,KAAKiH,kBACUjH,KAAKkK,eAAeK,mBAAmB,CAACvK,KAAKiH,oBAG7CjH,KAAKkK,eAAepC,WAEhCkB,EACFwB,OAAQ1G,GAAe9D,KAAKsF,YAAYmF,YAAY3G,IAAe9D,KAAKsF,YAAYoF,eAAe5G,IACnG6G,IAAK7G,IACC,IAAI8G,EAAAA,GACNC,SAAQtJ,EAAAA,EAAAA,GAAEsC,EAAoB,CAAEC,WAAYA,KAC5CgH,SAAShH,GACTiH,0BAA0B,oBAC1BC,iBAAiB,iBAAiBlH,EAAWE,MAE1D,CAEAiC,sBAAAA,CAAuBgF,GAEnB,OAAO,CACX,CACA5B,cAAAA,GACSrJ,KAAKiH,mBAAsBjH,KAAKsF,YAAYmF,YAAYzK,KAAKiH,oBAIlEjH,KAAK6E,kBAAkBqG,cAAclL,KAAKiH,kBAAkBjD,IACvDhD,KAAMmK,GAAenL,KAAK+E,wBAAwBqG,iBAAiBD,GAC5E,CAIA5D,qBAAAA,GACI8D,cAAcrL,KAAKsL,iBACnBtL,KAAKsL,gBAAkBtI,EAAAA,cAAcC,YAAYsI,YAAY,KACpDvL,KAAKsF,YAAYkG,kBAIlBxL,KAAK8F,gCAAkC,EAEvC9F,KAAK8F,kCAGJ9F,KAAKiH,mBAGVjH,KAAKmE,kBACAsH,cAAczL,KAAKiH,kBAAkBjD,IACrChD,KAAM0K,IACFC,EAAAA,WAAWC,UAAU5L,KAAK4H,iBAAkB8D,KAC7C1L,KAAK4H,iBAAmB8D,GAE5B1L,KAAKoF,mBAAmByG,QACxB7L,KAAK8F,gCAAkC,IAEtCgG,MAAM,KACP9L,KAAK4H,sBAAmBwC,EACxBpK,KAAK8F,gCAAkC9F,KAAKoF,mBAAmB2G,SAtB/D/L,KAAK4H,sBAAmBwC,GAwB7BpK,KAAKmF,sCACZ,CACA6B,oBAAAA,GACIqE,cAAcrL,KAAKsL,iBACnBtL,KAAK4H,sBAAmBwC,CAC5B,CAIAhB,mBAAAA,GACI,QAASpJ,KAAKiH,qBACRjH,KAAK4F,yBAA6C,iBAAlBoG,EAAAA,EAAAA,iBAClChM,KAAKsF,YAAYmF,YAAYzK,KAAKiH,kBAC1C,CAIAE,4BAAAA,CAA6B8C,GACpBA,IACDA,EAAWjK,KAAKiF,gBAAgBgH,sBAEpCjM,KAAKmI,uBAAyB,IAAI+D,KAAKC,aAAalC,EAAU,CAC1DrG,MAAO,UACPwI,sBAAuB,EACvBC,sBAAuB,GAE/B,GAEJnI,EAAWN,MA3PW,qMAgQtB,MAAM0I,EAKFzM,WAAAA,CAAY0M,GACRvM,KAAK+D,KAAO,gBACZ/D,KAAKwM,QAAUD,CACnB,EAMJ,MAAME,EAKF5M,WAAAA,CAAYqI,EAAQ,IAChBlI,KAAK0M,OAASxE,CAClB,CACAyE,SAAAA,CAAUC,GACN,OAAO5M,KAAK0M,OAAOG,KAAMC,GAAeF,IAAgBE,EAAWC,MACvE,CAKAC,QAAAA,GACI,MAAMC,EAAaC,IACf,MAAMC,EAAiBD,EAAKE,SAASzC,IAAIsC,GACzC,OAAO,IAAII,EAAgBC,OAAOC,OAAOD,OAAOC,OAAO,CAAC,EAAGL,GAAO,CAAEE,SAAUD,MAElF,OAAOnN,KAAK0M,OAAO/B,IAAIsC,EAC3B,CAMAO,OAAAA,CAAQN,GACJlN,KAAK0M,OAAOe,KAAKP,EACrB,CAKAQ,mBAAAA,GACI,OAAO1N,KAAK0M,OAAOiB,KAAMT,GAASA,EAAKU,SAC3C,CAMAC,cAAAA,CAAeX,GACX,IAAI/L,EACJ,SAA8C,QAAnCA,EAAKnB,KAAK8N,cAAcZ,UAA0B,IAAP/L,OAAgB,EAASA,EAAG4M,KACtF,CAOAC,eAAAA,CAAgBC,GACZ,OAAOjO,KAAK0M,OAAOiB,KAAMT,GAASA,EAAKH,QAAUkB,EACrD,CAMAH,aAAAA,CAAcZ,GACV,OAAOlN,KAAK0M,OAAOiB,KAAMO,GAAMA,EAAEnB,QAAUG,EAAKe,OACpD,CAIAE,WAAAA,GACInO,KAAKoO,KAAMlB,IACPA,EAAKU,UAAW,GAExB,CAIAS,QAAAA,GACIrO,KAAKoO,KAAMlB,IACPA,EAAKa,MAAO,GAEpB,CAKAO,YAAAA,CAAapB,GACTA,EAAKU,UAAW,CACpB,CAKAW,UAAAA,CAAWrB,GACHA,EAAKH,MACLG,EAAKU,UAAW,EAGhB5N,KAAKuO,WAAWrB,EAAKsB,YAE7B,CAMAC,kBAAAA,CAAmBvB,GACf,QAAKA,EAAKE,UAGHF,EAAKE,SAASP,KAAK6B,GAAS1O,KAAK2O,aAAaD,GACzD,CAMAC,YAAAA,CAAazB,GACT,QAAIA,EAAKU,YAGLV,EAAKE,UACEF,EAAKE,SAASP,KAAK6B,GAAS1O,KAAK2O,aAAaD,GAG7D,CAKAE,WAAAA,GACI,MAAMC,EAAS7O,KAAK0M,OAAOiB,KAAMT,GAASA,EAAKa,MAC3Cc,IACI7O,KAAKyO,mBAAmBI,IACxB7O,KAAKuO,WAAWM,GAEpBA,EAAOd,MAAO,EAEtB,CAKAA,IAAAA,CAAKb,GACDlN,KAAKoO,KAAMlB,IACPA,EAAKa,MAAO,IAEhB/N,KAAK8O,kBAAkB5B,EAC3B,CACA4B,iBAAAA,CAAkB5B,GACVA,EAAKsB,aACLxO,KAAK8O,kBAAkB5B,EAAKsB,aAEhCtB,EAAKa,MAAO,CAChB,CAKAgB,iBAAAA,CAAkBC,GACd,MAAMf,EAASe,EAAYf,OAC3BjO,KAAKoO,KAAMlB,IACHA,EAAKH,QAAUkB,IACff,EAAKa,MAAO,IAGxB,CAKAkB,iBAAAA,GACI,MAAMC,EAAelP,KAAKmP,mBACtBD,aAAmD,EAASA,EAAavC,YACzE3M,KAAKuO,WAAWvO,KAAK8N,cAAcoB,GAE3C,CAKAE,mBAAAA,GACI,MAAMC,EAAmBrP,KAAK0N,sBAC1B2B,GAAoBA,EAAiBjC,SAASrF,QAAUsH,EAAiBtB,MACzE/N,KAAKsO,aAAae,EAE1B,CAKAF,eAAAA,GACI,IAAID,EAAe,KACnB,MAAMI,EAAgBpC,IAClB,GAAIA,EAAKU,SAEL,OADAsB,EAAehC,GACR,EAEX,GAAIA,EAAKE,SACL,IAAK,MAAMsB,KAASxB,EAAKE,SACrB,GAAIkC,EAAaZ,GACb,OAAO,EAInB,OAAO,GAGX,OADA1O,KAAK0M,OAAOG,KAAKyC,GACVJ,CACX,CACAK,cAAAA,GACI,MAAML,EAAelP,KAAKmP,kBACtBD,IACIA,EAAavC,UACb3M,KAAK+N,KAAK/N,KAAK8N,cAAcoB,IAG7BlP,KAAK+N,KAAKmB,GAGtB,CAMAM,YAAAA,CAAaC,GACTzP,KAAKoO,KAAMlB,IACP,IAAI/L,EACJ,IAAIuO,EAAOD,GACc,QAApBtO,EAAK+L,EAAKvL,YAAyB,IAAPR,OAAgB,EAASA,EAAGwO,SAAS,QAClED,EAAO1P,KAAK4P,gBAAgBH,EAAcvC,EAAKvL,OAE/CuL,EAAKvL,OAAS+N,IACVxC,EAAKP,WACL3M,KAAK+N,KAAKb,GAEdlN,KAAKuO,WAAWrB,KAG5B,CAWA0C,eAAAA,CAAgBF,EAAM/N,GAClB,MAAMkO,EAAYH,EAAKI,MAAM,KACvBC,EAAYpO,EAAKmO,MAAM,KAC7B,GAAID,EAAU9H,SAAWgI,EAAUhI,OAC/B,OAAO2H,EAEX,MAAMM,EAAc,GACpB,IAAK,IAAI9B,EAAI,EAAGA,EAAI6B,EAAUhI,OAAQmG,IAClC,GAAqB,MAAjB6B,EAAU7B,GACV8B,EAAYvC,KAAK,SAEhB,IAAIsC,EAAU7B,KAAO2B,EAAU3B,GAChC,OAAOwB,EAGPM,EAAYvC,KAAKsC,EAAU7B,GAC/B,CAEJ,OAAO8B,EAAYC,KAAK,IAC5B,CAKAC,MAAAA,GAOI,OANAlQ,KAAK0M,OACAlC,OAAQ0C,GAASA,EAAKE,UACtB+C,QAASjD,IACVA,EAAKE,SAASgD,KAAK3D,EAAY4D,WAEnCrQ,KAAK0M,OAAO0D,KAAK3D,EAAY4D,SACtBrQ,IACX,CACA,cAAOqQ,CAAQC,EAAGC,GACd,OAAOD,EAAEE,MAAQD,EAAEC,KACvB,CAKApC,IAAAA,CAAKqC,GACDzQ,KAAK0Q,gBAAgB1Q,KAAKkI,MAAOuI,EACrC,CAMAC,eAAAA,CAAgBxI,EAAOuI,GACnBvI,EAAMiI,QAASjD,IACX,IAAI/L,EACJsP,EAASvD,IACoB,QAAxB/L,EAAK+L,EAAKE,gBAA6B,IAAPjM,OAAgB,EAASA,EAAG4G,SAC7D/H,KAAK0Q,gBAAgBxD,EAAKE,SAAUqD,IAGhD,CACA,SAAIvI,GACA,OAAOlI,KAAK0M,MAChB,EAKJ,MAAMW,EACFxN,WAAAA,CAAY8Q,GACR,IAAIxP,EACJnB,KAAK4Q,WAAY,EACjB5Q,KAAK6Q,OAAQ,EACb7Q,KAAK8Q,OAASH,EAAKH,MACnBxQ,KAAK+Q,OAASJ,EAAK5D,MACnB/M,KAAKgR,UAAYL,EAAKxO,SACtBnC,KAAKiR,MAAQN,EAAKhP,KAClB3B,KAAKkR,UAAY,IAA6B,QAAxB/P,EAAKwP,EAAKvD,gBAA6B,IAAPjM,EAAgBA,EAAK,IAC3EnB,KAAKmR,WAAaR,EAAKhE,UACvB3M,KAAKoR,QAAUT,EAAK1C,OACpBjO,KAAK4Q,UAAYD,EAAK/C,SACtB5N,KAAK6Q,MAAQF,EAAK5C,KAClB/N,KAAKqR,mBAAqBV,EAAKW,kBAC/BtR,KAAKuR,SAAWZ,EAAKa,QACrBxR,KAAKyR,UAAYd,EAAKe,SACtB1R,KAAK2R,MAAQhB,EAAKiB,KAClB5R,KAAK6R,MAAQlB,EAAKmB,KAClB9R,KAAK+R,eAAiBpB,EAAKqB,cAC3BhS,KAAKiS,cAAgBtB,EAAKuB,aAC1BlS,KAAKmS,YAAcxB,EAAKyB,WACxBpS,KAAKqS,aAAe1B,EAAKnC,WAC7B,CACA8D,QAAAA,CAAS5D,GACL1O,KAAKoN,SAASK,KAAKiB,GACnBA,EAAM6D,UAAUvS,KACpB,CACAwS,WAAAA,IAAepF,GACXA,EAAS+C,QAASzB,IACd1O,KAAKsS,SAAS5D,IAEtB,CASA+D,WAAAA,GACI,MAAsB,MAAfzS,KAAKiR,KAChB,CACA,UAAIhD,GACA,OAAOjO,KAAKoR,OAChB,CACA,UAAInD,CAAOyE,GACP1S,KAAKoR,QAAUsB,CACnB,CACA,SAAIlC,GACA,OAAOxQ,KAAK8Q,MAChB,CACA,SAAIN,CAAMkC,GACN1S,KAAK8Q,OAAS4B,CAClB,CACA,SAAI3F,GACA,OAAO/M,KAAK+Q,MAChB,CACA,SAAIhE,CAAM2F,GACN1S,KAAK+Q,OAAS2B,CAClB,CACA,YAAIvQ,GACA,OAAOnC,KAAKgR,SAChB,CACA,YAAI7O,CAASuQ,GACT1S,KAAKgR,UAAY0B,CACrB,CACA,qBAAIpB,GACA,OAAOtR,KAAKqR,kBAChB,CACA,qBAAIC,CAAkBoB,GAClB1S,KAAKqR,mBAAqBqB,CAC9B,CACA,QAAI/Q,GACA,OAAO3B,KAAKiR,KAChB,CACA,QAAItP,CAAK+Q,GACL1S,KAAKiR,MAAQyB,CACjB,CACA,YAAItF,GACA,OAAOpN,KAAKkR,SAChB,CACA,YAAI9D,CAASsF,GACT1S,KAAKkR,UAAYwB,CACrB,CACA,aAAI/F,GACA,OAAO3M,KAAKmR,UAChB,CACA,aAAIxE,CAAU+F,GACV1S,KAAKmR,WAAauB,CACtB,CACA,YAAI9E,GACA,OAAO5N,KAAK4Q,SAChB,CACA,YAAIhD,CAAS8E,GACT1S,KAAK4Q,UAAY8B,CACrB,CACA,QAAI3E,GACA,OAAO/N,KAAK6Q,KAChB,CACA,QAAI9C,CAAK2E,GACL1S,KAAK6Q,MAAQ6B,CACjB,CACA,WAAIlB,GACA,OAAOxR,KAAKuR,QAChB,CACA,WAAIC,CAAQkB,GACR1S,KAAKuR,SAAWmB,CACpB,CACA,YAAIhB,GACA,OAAO1R,KAAKyR,SAChB,CACA,YAAIC,CAASgB,GACT1S,KAAKyR,UAAYiB,CACrB,CACA,QAAId,GACA,OAAO5R,KAAK2R,KAChB,CACA,QAAIC,CAAKc,GACL1S,KAAK2R,MAAQe,CACjB,CACA,QAAIZ,GACA,OAAO9R,KAAK6R,KAChB,CACA,QAAIC,CAAKY,GACL1S,KAAK6R,MAAQa,CACjB,CACA,iBAAIV,GACA,OAAOhS,KAAK+R,cAChB,CACA,iBAAIC,CAAcU,GACd1S,KAAK+R,eAAiBW,CAC1B,CACA,gBAAIR,GACA,OAAOlS,KAAKiS,aAChB,CACA,gBAAIC,CAAaQ,GACb1S,KAAKiS,cAAgBS,CACzB,CACA,eAAIlE,GACA,OAAOxO,KAAKqS,YAChB,CACA,eAAI7D,CAAYkE,GACZ1S,KAAKqS,aAAeK,CACxB,CACA,cAAIN,GACA,OAAOpS,KAAKmS,WAChB,CACA,cAAIC,CAAWM,GACX1S,KAAKmS,YAAcO,CACvB,CACAH,SAAAA,CAAUtE,GACNjO,KAAKwO,YAAcP,EACnBjO,KAAK2M,YAAcsB,CACvB,EAGJ,MAAM0E,EAASC,EAAAA,EAAeD,OAC9B,MAAME,EACF,UAAOlI,CAAImI,EAAehR,GACtB,MAAMiR,EAAc,IAAItG,EAGxB,OAFAoG,EAAcG,qBAAqBF,EAAeC,EAAajR,GAC/D+Q,EAAcI,gBAAgBH,EAAeC,EAAajR,GACnDiR,EAAY7C,QACvB,CACA,2BAAO8C,CAAqBF,EAAeC,EAAajR,GACpDgR,EAAc3C,QAAS+C,IACnBA,EAAWhL,MACNsC,OAAQ0C,IAAUA,EAAKe,QAAUf,EAAKkF,YACtCjC,QAASjD,IACN6F,EAAYpG,UAAUO,EAAKH,OAC3B4F,EAAOQ,KAAK,8BAA+BjG,GAG3C6F,EAAYvF,QAAQxN,KAAKoT,gBAAgBlG,OAAM9C,EAAWtI,EAAaoL,EAAKE,cAI5F,CACA,sBAAO6F,CAAgBH,EAAeC,EAAajR,GAC/CgR,EAAc3C,QAAS+C,IACnBA,EAAWhL,MACNsC,OAAQ0C,GAASA,EAAKe,QAAUf,EAAKkF,YACrCjC,QAASjD,IACV,MAAMmG,EAAeN,EAAY/E,gBAAgBd,EAAKe,QAGtDoF,SAA4DA,EAAab,YAAYxS,KAAKoT,gBAAgBlG,EAAMmG,EAAcvR,EAAaoL,EAAKE,cAG5J,CACA,sBAAOgG,CAAgBlG,EAAMe,EAAQnM,EAAasL,EAAW,IACzD,IAAIkG,EACApG,EAAKoE,oBACLgC,EAAeC,EAAAA,QAAQC,wBAAwB1R,aAAiD,EAASA,EAAY2R,aAAcvG,EAAKoE,oBAE5I,MAAMoC,EAAY,IAAIrG,EAAgB,CAClCN,MAAOG,EAAKH,MACZ5K,SAAU+K,EAAK/K,SACfR,KAAM2R,GAAgBpG,EAAKvL,KAC3B2P,kBAAmBpE,EAAKoE,kBACxBE,QAAStE,EAAKsE,QACdhB,MAAOtD,EAAKsD,MACZsB,KAAM5E,EAAK4E,KACXJ,SAAUxE,EAAKwE,SACfE,KAAM1E,EAAK0E,KACXI,cAAe9E,EAAK8E,cACpBrF,YAAasB,EACbO,YAAaP,EACbA,OAAQf,EAAKe,OACbL,UAAU,EACVwE,WAAYlF,EAAKkF,WACjBF,aAAchF,EAAKgF,eAEjByB,EAAiBvG,EAASzC,IAAKiJ,GAAiB5T,KAAKoT,gBAAgBQ,EAAcF,EAAW5R,EAAa8R,EAAaxG,WAE9H,OADAsG,EAAUlB,eAAemB,GAClBD,CACX,EAIJ,MAEMG,EACM,sBADNA,EAEQ,wBAFRA,EAGS,uBAETC,EAAa,MACfjU,WAAAA,CAAYC,IACRC,EAAAA,EAAAA,GAAiBC,KAAMF,GACvBE,KAAK+T,eAAgBC,EAAAA,EAAAA,GAAYhU,KAAM,iBACvCA,KAAKiU,0BAA4B1T,EAAAA,gBAAgBC,IAAImC,EAAAA,2BACrD3C,KAAKC,cAAgB,IAAIC,EAAAA,iBACzBF,KAAKkU,cAAgB,IAAMlU,KAAKmU,kBAAkBnU,KAAKoU,aACvDpU,KAAKqU,wBAA0B,EAC/BrU,KAAKsU,mBAAqB,IAC1BtU,KAAKuU,OAAS,CACV,CAACV,GAAmBrN,EAAAA,EAAmBC,UAAUoN,GACjD,CAACA,GAAqBrN,EAAAA,EAAmBC,UAAUoN,GACnD,CAACA,GAAsBrN,EAAAA,EAAmBC,UAAUoN,IAQxD7T,KAAKwU,mBAAoB,EAIzBxU,KAAKyU,aAAc,CACvB,CACAC,qBAAAA,CAAsBC,GAClB3U,KAAKyU,aAAeE,EAChB3U,KAAKyU,cAAgBzU,KAAKwU,kBAC1BxU,KAAK4U,eAGL5U,KAAK6U,iBAET7U,KAAK+T,cAAcnN,KAAK,IAAI0F,EAAmBtM,KAAKyU,aACxD,CACAK,gBAAAA,CAAiBC,GACb/U,KAAKgV,KAAKD,EACd,CACAC,IAAAA,CAAKD,GACD,MAAME,EAAgBpC,EAAclI,IAAIoK,GAAa,GAAI/U,KAAK8B,aAC9DmT,EAAczF,cAAalI,EAAAA,EAAAA,oBAC3BtH,KAAKkV,UAAYD,CACrB,CACAE,MAAAA,CAAO9O,EAAO+O,GACV/O,EAAMgP,iBACNrV,KAAKsV,8BAEAF,EAAS3C,gBACNpM,EAAMkP,SACNC,EAAAA,EAAAA,cAAaJ,EAASzT,OAGtB8T,EAAAA,EAAAA,UAASL,EAASzT,OAGtByT,EAAShI,SAASrF,OACbqN,EAASrH,MAQV/N,KAAKkV,UAAU7G,WACXrO,KAAKkV,UAAUzG,mBAAmB2G,IAClCpV,KAAKkV,UAAU3G,WAAW6G,KAT9BpV,KAAKkV,UAAUtG,cACf5O,KAAKkV,UAAUnH,KAAKqH,GAChBpV,KAAKkV,UAAUzG,mBAAmB2G,IAClCpV,KAAKkV,UAAU5G,aAAa8G,IAWpCpV,KAAKkV,UAAUnG,kBAAkBqG,GAIjCpV,KAAKyU,aAAezU,KAAKkV,UAAUrH,eAAeuH,IAClDpV,KAAKkV,UAAUtG,cAEnB5O,KAAK0V,gBACL1V,KAAKmU,kBAAkBnU,KAAKoU,YAChC,CACAxL,wBAAAA,GACI5I,KAAKC,cAAcyC,IAAInC,EAAAA,gBAAgBC,IAAIiF,EAAAA,cAAcmE,UAAUC,EAAAA,UAAUC,eAAgB,KACzF9J,KAAK2V,oBAEb,CACAA,eAAAA,GACS3V,KAAKkV,YAGVlV,KAAKkV,UAAU/G,cACfnO,KAAKkV,UAAU7G,YACV1I,EAAAA,EAAAA,eACD3F,KAAKkV,UAAU1F,cAAalI,EAAAA,EAAAA,oBAEhCtH,KAAK0V,gBACL1V,KAAKmU,kBAAkBnU,KAAKoU,aAChC,CACAwB,YAAAA,GACS5V,KAAKyU,aAQNzU,KAAKwU,mBAAoB,EACzBxU,KAAKkV,UAAU3F,iBACfvP,KAAKkV,UAAU9F,sBACfpP,KAAK4U,eACL5U,KAAKsV,gCAXLtV,KAAKwU,mBAAoB,EACzBxU,KAAKkV,UAAUjG,oBACfjP,KAAKkV,UAAUtG,cACf5O,KAAK6U,iBACL7U,KAAKsV,+BASTtV,KAAK0V,gBACL1V,KAAKmU,kBAAkBnU,KAAKoU,aAC5BpU,KAAK+T,cAAcnN,KAAK,IAAI0F,EAAmBtM,KAAKyU,aACxD,CACAI,cAAAA,GACI7U,KAAKoU,YAAYyB,cAAc,qBAAqBC,UAAUpT,IAAI,aAClE1C,KAAKyU,aAAc,CACvB,CACAG,YAAAA,GACS5U,KAAKwU,oBACNxU,KAAKoU,YAAYyB,cAAc,qBAAqBC,UAAUC,OAAO,aACrE/V,KAAKyU,aAAc,EAE3B,CACAiB,aAAAA,GACI,IAAIvU,GAC4B,QAAzBA,EAAKnB,KAAKkV,iBAA8B,IAAP/T,OAAgB,EAASA,EAAG+G,SAGpElI,KAAKkV,UAAY,IAAIzI,EAAYzM,KAAKkV,UAAUhN,OACpD,CACA8N,iBAAAA,GACIhW,KAAK0V,eACT,CACAO,WAAAA,CAAYxU,GACRzB,KAAKC,cAAcyC,IAAI8D,EAAAA,EAAmByP,YAAYxU,EAAK,GAAKyU,IAC5DlW,KAAKuU,OAAO9S,GAAOyU,EACnBlW,KAAKgW,sBAEb,CACAG,mBAAAA,GACI,MAAO,IAAMnW,KAAK4V,cACtB,CAQAQ,sBAAAA,CAAuBC,EAAKC,EAAStW,KAAKqU,yBACtC,IAAKgC,GAA4C,mBAA9BA,EAAIE,sBACnB,OAEJ,MAAMC,EAAgBH,EAAII,QAAQ,iBAClC,IAAKD,EACD,OAEJ,MAAME,EAAUL,EAAIE,wBACdI,EAAaH,EAAcD,wBAC3BK,EAAiBC,OAAOC,YAExBC,EAAaJ,EAAWK,IAAMV,EAASK,EAAWM,OAClDC,EAAaN,EAAiBD,EAAWQ,OAASR,EAAWM,OAASX,EAE5E,IAAIc,EACAC,GAAoB,EACpBH,GAAcR,EAAQO,OAEtBG,EAAYF,EAEPH,GAAcL,EAAQO,QAE3BG,EAAYL,EACZM,GAAoB,GAIhBH,EAAaH,GACbK,EAAYF,EACZG,GAAoB,IAGpBD,EAAYL,EACZM,GAAoB,GAIxBA,GACAhB,EAAIzS,MAAMuT,OAAS,IACnBd,EAAIzS,MAAMoT,IAAM,SAGhBX,EAAIzS,MAAMoT,IAAM,IAChBX,EAAIzS,MAAMuT,OAAS,QAEvBd,EAAIzS,MAAMwT,UAAY,GAAGE,KAAKC,IAAIvX,KAAKsU,mBAAoB8C,OAC3Df,EAAIzS,MAAM4T,UAAY,MAC1B,CAOArD,iBAAAA,CAAkBsD,EAAMnB,EAAStW,KAAKqU,yBAElCqD,sBAAsB,KACbD,GAAyC,mBAA1BA,EAAKE,kBAGzB3X,KAAK4X,qBAAqBH,GAAMtH,QAAS0H,GAAM7X,KAAKoW,uBAAuByB,EAAGvB,KAEtF,CACAsB,oBAAAA,CAAqBH,GACjB,OAAOK,MAAMC,KAAKN,EAAKE,iBAAiB,4DAC5C,CACAK,cAAAA,CAAeP,GACX,OAAOK,MAAMC,KAAKN,EAAKE,iBAAiB,6CAC5C,CACArC,2BAAAA,GACItV,KAAKgY,eAAehY,KAAKoU,aAAajE,QAAS0H,IAC3CA,EAAEjU,MAAMwT,UAAY,GACpBS,EAAEjU,MAAM4T,UAAY,GACpBK,EAAEjU,MAAMoT,IAAM,GACda,EAAEjU,MAAMuT,OAAS,IAEzB,CAIAc,iBAAAA,GACIjY,KAAKgV,KAAKhV,KAAK+U,UACnB,CACA3S,iBAAAA,GACIpC,KAAK4I,2BACL5I,KAAKkY,gCAELlY,KAAKiW,YAAYpC,GACjB7T,KAAKiW,YAAYpC,GACjB7T,KAAKiW,YAAYpC,GACjBgD,OAAOsB,iBAAiB,SAAUnY,KAAKkU,cAC3C,CACA1R,oBAAAA,GACIxC,KAAKC,cAAcwC,iBACnBoU,OAAOuB,oBAAoB,SAAUpY,KAAKkU,cAC9C,CACAmE,oBAAAA,CAAqBnL,GACjB,OAAQ7G,IACJrG,KAAKmV,OAAO9O,EAAO6G,GAE3B,CACAhM,MAAAA,GACI,GAAKlB,KAAKkV,UAKV,OAAQ3T,EAAAA,EAAAA,GAAEC,EAAAA,EAAM,MAAMD,EAAAA,EAAAA,GAAE,KAAM,CAAEG,MAAO,qBAAsBH,EAAAA,EAAAA,GAAE,KAAM,CAAEG,MAAO,UAAWH,EAAAA,EAAAA,GAAE,OAAQ,CAAEG,MAAO,cAAe4W,MAAOtY,KAAKyU,YAAczU,KAAKuU,OAAOV,GAAoB7T,KAAKuU,OAAOV,GAAqBnM,QAAS1H,KAAKmW,wBAAyB5U,EAAAA,EAAAA,GAAE,KAAM,CAAEG,MAAO1B,KAAKyU,YAAc,mBAAqB,sBAAuBlT,EAAAA,EAAAA,GAAE,IAAK,CAAEG,MAAO,8BAA+BgG,SAAS6Q,EAAAA,EAAAA,YAAW,QAAShX,EAAAA,EAAAA,GAAE,MAAO,CAAEG,MAAO,aAAcH,EAAAA,EAAAA,GAAE,OAAQ,KAAMvB,KAAKuU,OAAOV,KAAuBtS,EAAAA,EAAAA,GAAE,MAAO,CAAEI,KAFte,sCAE0fJ,EAAAA,EAAAA,GAAE,MAAO,CAAEG,MAAO,eAAgBH,EAAAA,EAAAA,GAAE,OAAQ,KAAMvB,KAAKuU,OAAOV,KAAuBtS,EAAAA,EAAAA,GAAE,MAAO,CAAEI,KAD1lB,0CACgnB3B,KAAKkV,UAAUhN,MAAMyC,IAAKuC,IAAU3L,EAAAA,EAAAA,GAAE,KAAM,CAAEE,IAAKyL,EAAK/K,SAAUT,MAAO,CAAE,gBAAgB,EAAM,KAAQwL,EAAKa,MAAQ,YAAab,EAAKgF,aAAc,iBAAkBhF,EAAK8E,eAAiB9E,EAAKE,SAASrF,OAAS,IACl1BxG,EAAAA,EAAAA,GAAEiX,EAAAA,EAAU,MAAMjX,EAAAA,EAAAA,GAAE,MAAO,CAAEG,MAAO,CAAE,qBAAqB,EAAM,OAAUwL,EAAKU,UAAYlG,QAAS1H,KAAKqY,qBAAqBnL,KAAS3L,EAAAA,EAAAA,GAAE,OAAQ,CAAEG,MAAO,kBAAkBwL,EAAK0E,SAAW,KAAUrQ,EAAAA,EAAAA,GAAE,kBAAmB,CAAEG,MAAO,YAAaS,SAAU+K,EAAK/K,aAAcZ,EAAAA,EAAAA,GAAE,KAAM,CAAEG,MAAO,aAAcH,EAAAA,EAAAA,GAAE,KAAM,CAAEE,IAAKyL,EAAK/K,SAAUT,MAAO,kBAAmBH,EAAAA,EAAAA,GAAE,kBAAmB,CAAEY,SAAU+K,EAAK/K,YAAc+K,EAAKE,SAASzC,IAAK8N,IAAalX,EAAAA,EAAAA,GAAE,KAAM,CAAEE,IAAKgX,EAAQtW,SAAUT,MAAO,CAAE,iBAAiB,EAAM,OAAU+W,EAAQ7K,UAAY,YAAa6K,EAAQvG,aAAc,iBAAkBuG,EAAQzG,eAAiByG,EAAQnH,mBAC3mB/P,EAAAA,EAAAA,GAAE,IAAK,CAAEG,MAAO,8BAA+BC,KAAM8W,EAAQ9W,KAAMC,OAAQ,SAAUC,IAAK,wBAAyBN,EAAAA,EAAAA,GAAE,kBAAmB,CAAEG,MAAO,YAAaS,SAAUsW,EAAQtW,WAAasW,EAAQ7G,OACjMrQ,EAAAA,EAAAA,GAAE,OAAQ,CAAEG,MAAO,cAAc+W,EAAQ7G,WAEzCrQ,EAAAA,EAAAA,GAAE,IAAK,CAAEG,MAAO,gBAAiBC,KAAM8W,EAAQ9W,KAAM+F,QAAS1H,KAAKqY,qBAAqBI,KAAYlX,EAAAA,EAAAA,GAAE,kBAAmB,CAAEG,MAAO,YAAaS,SAAUsW,EAAQtW,WAAasW,EAAQ7G,OAClLrQ,EAAAA,EAAAA,GAAE,OAAQ,CAAEG,MAAO,cAAc+W,EAAQ7G,cAA0C,IAAzB1E,EAAKE,SAASrF,SACpFxG,EAAAA,EAAAA,GAAE,IAAK,CAAEG,MAAO,CAAE,qBAAqB,EAAM,OAAUwL,EAAKU,UAAYjM,KAAMuL,EAAKvL,KAAM+F,QAAS1H,KAAKqY,qBAAqBnL,KAAS3L,EAAAA,EAAAA,GAAE,OAAQ,CAAEG,MAAO,kBAAkBwL,EAAK0E,SAAW,KAAUrQ,EAAAA,EAAAA,GAAE,kBAAmB,CAAEG,MAAO,YAAaS,SAAU+K,EAAK/K,eACtQ,CACA+V,6BAAAA,GACIlY,KAAKC,cAAcyC,IAAI1C,KAAKiU,0BAA0BrR,qBAAsBd,GAAgB9B,KAAK8B,YAAcA,GACnH,CACA,eAAIsS,GAAgB,OAAOsE,EAAAA,EAAAA,GAAW1Y,KAAO,CAC7C,mBAAW2Y,GAAa,MAAO,CAC3B,gBAAmB,CAAC,yBACpB,UAAa,CAAC,oBACf,GAEP7E,EAAWlQ,MA/RW,k6MAiStB,MAEMgV,EAAqB,CACvB,CAACC,EAAAA,UAAUC,MAAO,wBAClB,CAACD,EAAAA,UAAUE,SAAU,0BACrB,CAACF,EAAAA,UAAUG,SAAU,kBACrB,CAACH,EAAAA,UAAUI,OAAQ,iBAEjBC,EAAa,MACfrZ,WAAAA,CAAYC,IACRC,EAAAA,EAAAA,GAAiBC,KAAMF,GAIvBE,KAAKmZ,OAAS,IAAIC,EAAAA,iBAAiB,IAInCpZ,KAAKqZ,eAAiB,IAAIC,IAE1BtZ,KAAKwJ,OAAS+P,EAAAA,aAAaC,mBAC3BxZ,KAAKyZ,kBAAqBC,GAAU,KAChC1Z,KAAK2Z,kBAAkBD,IAE3B1Z,KAAK4Z,kBAAqBF,GAAU,KAChC1Z,KAAK6Z,mBAAmBH,GAEhC,CAQAI,iBAAAA,CAAkBzT,GACdrG,KAAK+Z,SAAS1T,EAAM2T,OACxB,CACA9Y,MAAAA,GACI,IAAIC,EACJ,OAAQI,EAAAA,EAAAA,GAAE,UAAW,CAAEE,IAAK,2CAA4CmC,MAAO,CAAE+D,QAAS3H,KAAKmZ,OAAOc,UAAY,OAAS,QAAUvY,MAAO,yBAAyB1B,KAAKwJ,OAAO0Q,YAAqC,QAAtB/Y,EAAKnB,KAAKmZ,cAA2B,IAAPhY,OAAgB,EAASA,EAAG2G,WAAW6C,IAAK+O,IAAWnY,EAAAA,EAAAA,GAAE,MAAO,CAAEG,MAAO,cAAcgY,EAAM3V,OAAQtC,IAAKiY,EAAM1V,GAAImW,aAAcna,KAAKyZ,kBAAkBC,GAAQU,aAAcpa,KAAK4Z,kBAAkBF,KAAUnY,EAAAA,EAAAA,GAAE,IAAK,CAAEG,MAAO,GAAGkX,EAAmBc,EAAM3V,WAAYxC,EAAAA,EAAAA,GAAE,OAAQ,CAAEmG,QAAS1H,KAAKqa,iBAAiBX,GAAQhY,MAAO,gBAAiB4Y,WAAWC,EAAAA,EAAAA,GAAab,EAAMc,aACnlB,CAQAT,QAAAA,CAASL,GACL1Z,KAAKmZ,OAAOsB,WAAWf,GACvB1Z,KAAK6Z,mBAAmBH,GACxB1Z,KAAK0a,uBACT,CAQAb,kBAAAA,CAAmBH,GACf,IAAIvY,EACJ,MAAMwZ,EAAU3X,EAAAA,cAAcC,YAAY2X,WAAW,KACjD5a,KAAKmZ,OAAOpD,OAAO2D,GACnB1Z,KAAK2Z,kBAAkBD,KACC,QAAvBvY,EAAKuY,EAAMlQ,cAA2B,IAAPrI,OAAgB,EAASA,EAAGwZ,UAAY3a,KAAKwJ,OAAOmR,SACxF3a,KAAKqZ,eAAewB,IAAInB,EAAOiB,EACnC,CAIAD,qBAAAA,GACI1a,KAAKmZ,OAAS,IAAIC,EAAAA,iBAAiBpZ,KAAKmZ,OAAOrR,WACnD,CAQA6R,iBAAAA,CAAkBD,GACd,MAAMoB,EAAY9a,KAAKqZ,eAAe7Y,IAAIkZ,GAC1CqB,aAAaD,GACb9a,KAAKqZ,eAAe2B,OAAOtB,GAC3B1Z,KAAK0a,uBACT,CASAL,gBAAAA,CAAiBX,GACb,OAAQrT,IACJ,IAAIlF,EAAIC,GACoB,QAAvBD,EAAKuY,EAAMlQ,cAA2B,IAAPrI,OAAgB,EAASA,EAAGuG,UAC5DgS,EAAMlQ,OAAO9B,QAAQrB,IAEG,QAAvBjF,EAAKsY,EAAMlQ,cAA2B,IAAPpI,OAAgB,EAASA,EAAG6Z,iBAC5Djb,KAAKmZ,OAAOpD,OAAO2D,GACnB1Z,KAAK2Z,kBAAkBD,IAGnC,GAEJR,EAAWtV,MA7GW,i7CA+GtB,MAEMsX,EAAc,MAChBrb,WAAAA,CAAYC,IACRC,EAAAA,EAAAA,GAAiBC,KAAMF,GAOvBE,KAAKmb,gCAAmCC,IACpC,IAAK,MAAMC,KAAUD,EACjB,IAAK,MAAME,KAAQxD,MAAMC,KAAKsD,EAAOE,cACjC,GAAIvb,KAAKwb,sBAAsBF,GAG3B,QAchBtb,KAAKwb,sBAAyBF,IAC1B,GAAIA,aAAgBG,YAAa,CAE7B,GADwBC,EAAAA,EAAYC,mBAAmBL,GAGnD,OADAI,EAAAA,EAAYE,eAAeN,IACpB,EAEXA,EAAKO,WAAW1L,QAAQnQ,KAAKwb,sBACjC,CACA,OAAO,EAEf,CAOAM,WAAAA,CAAYzV,GACR,MAAMzE,EAAS8Z,EAAAA,EAAYK,iBAAiB1V,EAAMzE,QAClD,IAAKA,EACD,OAEJ,MAAMoa,EAAkBN,EAAAA,EAAYO,2BAA2Bra,GAC/Doa,EAAgBE,OAChBta,EAAOua,YAAc,KACjBH,EAAgBI,OAExB,CAMAC,UAAAA,CAAWhW,GACP,MAAMzE,EAAS8Z,EAAAA,EAAYK,iBAAiB1V,EAAMzE,QAClD,IAAKA,EACD,OAEJ,MAAM0a,EAAgBjW,EAAMiW,cAE5B,IAAKA,IAAkB1a,EAAO2a,SAASD,GAAgB,CACnD,MAAMN,EAAkBN,EAAAA,EAAYC,mBAAmB/Z,GACnDoa,GAAqD,WAAlCA,EAAgBQ,MAAMC,SACzCf,EAAAA,EAAYE,eAAeha,EAEnC,CACJ,CACAQ,iBAAAA,GACIpC,KAAK0c,oBACT,CACAla,oBAAAA,GACI,IAAIrB,EACqB,QAAxBA,EAAKnB,KAAK2c,gBAA6B,IAAPxb,GAAyBA,EAAGyb,YACjE,CACA1b,MAAAA,GACI,OAAOK,EAAAA,EAAAA,GAAEC,EAAAA,EAAM,CAAEC,IAAK,4CAC1B,CAKAib,kBAAAA,GACI1c,KAAK2c,SAAW,IAAIE,iBAAiB7c,KAAKmb,iCAC1Cnb,KAAK2c,SAASG,QAAQC,SAASC,KAAM,CAAEC,WAAW,EAAMC,SAAS,GACrE,GAEJhC,EAAYtX,MAlGW,q2I,mCC9wCvB,MAAMuZ,EAAgC,gGACtC,MAAMzW,EAQF,8BAAO0W,CAAwBC,GAC3B,MAAMC,EAAcP,SAASC,KAAKpZ,MAAM2Z,SAExC,OADAR,SAASC,KAAKpZ,MAAM2Z,SAAWF,EACxBC,CACX,CAMA,+BAAOE,GACH,OAAO9W,EAAS0W,wBAAwB,SAC5C,CAOA,uBAAOK,CAAiBjH,EAAekH,EAAwBP,GAC3D,MAAMQ,EAAoB7F,MAAMC,KAAKvB,EAAcmB,iBAAiB+F,IACpE,GAAIC,EAAkB5V,OAAS,EAAG,CAC9B,MAAM6V,EAAeD,EAAkBE,QAAQd,SAASe,eAElDC,EAAoBJ,GADPC,EAAe,GAAKD,EAAkB5V,QAErDgW,GACAA,EAAkBC,OAE1B,CACJ,CAOA,2BAAOC,CAAqBzH,EAAekH,EAAwBP,GAC/D,MAAMQ,EAAoB7F,MAAMC,KAAKvB,EAAcmB,iBAAiB+F,IACpE,GAAIC,EAAkB5V,OAAS,EAAG,CAC9B,MAAM6V,EAAeD,EAAkBE,QAAQd,SAASe,eAElDI,EAAwBP,GADPC,EAAe,EAAID,EAAkB5V,QAAU4V,EAAkB5V,QAEpFmW,GACAA,EAAsBF,OAE9B,CACJ,CACA,2BAAOG,CAAqB/J,EAAagK,GACtB,QAAXA,EAAG3c,MACH2c,EAAG/I,iBACC+I,EAAGC,SACH3X,EAASuX,qBAAqB7J,GAG9B1N,EAAS+W,iBAAiBrJ,GAGtC,CAOA,mBAAOzN,CAAa2X,GAChB,MAAMC,EAAUxB,SAASlH,cAAcyI,GACvCC,SAAkDA,EAAQP,OAC9D,CAQA,4BAAOQ,CAAsBC,EAAiBC,EAAU,CAAEC,MAAO,YAC7D,MAAMJ,EAAUxB,SAASlH,cAAc4I,GAClCF,GAGLA,EAAQK,eAAeF,EAC3B,CAYA,qBAAOG,CAAeP,GAClB,OAAO,IAAIQ,QAAQ,CAACC,EAASC,KACzB,MAAMrC,EAAW,IAAIE,iBAAiB,KAClC,IACI,MAAM0B,EAAUxB,SAASlH,cAAcyI,GACnCC,IACA5B,EAASC,aACTmC,EAAQR,GAEhB,CACA,MAAOU,GACHtC,EAASC,aACToC,EAAOC,EACX,IAEJtC,EAASG,QAAQC,SAASC,KAAM,CAAEE,SAAS,EAAMD,WAAW,EAAMiC,YAAY,KAEtF,E,2CCpHJ,MAAMtU,EACF/K,WAAAA,GAIIG,KAAKmf,wBAA0B,QACnC,CACA,QAAIC,GACA,OAAOpf,KAAKqf,KAChB,CACAxU,OAAAA,CAAQ6H,GAEJ,OADA1S,KAAKqf,MAAQ3M,EACN1S,IACX,CACA,gBAAIsf,GACA,OAAOtf,KAAKuf,aAChB,CACAC,eAAAA,CAAgB9M,GAEZ,OADA1S,KAAKuf,cAAgB7M,EACd1S,IACX,CACA,WAAIyf,GACA,OAAOzf,KAAK0f,QAChB,CACAC,UAAAA,CAAWjN,GAEP,OADA1S,KAAK0f,SAAWhN,EACT1S,IACX,CACA,mBAAI4f,GACA,OAAO5f,KAAK6f,gBAChB,CACAC,kBAAAA,CAAmBpN,GAEf,OADA1S,KAAK6f,iBAAmBnN,EACjB1S,IACX,CACA,aAAI+f,GACA,OAAO/f,KAAKggB,UAChB,CACAC,YAAAA,CAAavN,GAET,OADA1S,KAAKggB,WAAatN,EACX1S,IACX,CACA,SAAI0S,GACA,OAAO1S,KAAKkgB,MAChB,CACApV,QAAAA,CAAS4H,GAEL,OADA1S,KAAKkgB,OAASxN,EACP1S,IACX,CACA,0BAAImgB,GACA,OAAOngB,KAAKmf,uBAChB,CACApU,yBAAAA,CAA0B2H,GAEtB,OADA1S,KAAKmf,wBAA0BzM,EACxB1S,IACX,CACA,YAAIogB,GACA,OAAOpgB,KAAKqgB,SAChB,CACAC,WAAAA,CAAY5N,GAER,OADA1S,KAAKqgB,UAAY3N,EACV1S,IACX,CACA,iBAAIgS,GACA,OAAOhS,KAAK+R,cAChB,CACA/G,gBAAAA,CAAiB0H,GAEb,OADA1S,KAAK+R,eAAiBW,EACf1S,IACX,EAGJ,IAAI8G,GACJ,SAAWA,GACPA,EAAmD,0BAAI,4BACvDA,EAAoC,WAAI,QACxCA,EAAqC,YAAI,SACzCA,EAAiD,wBAAI,sBACxD,CALD,CAKGA,IAA4BA,EAA0B,CAAC,G","sources":["webpack://root-config/./packages/shared-components/dist/esm/onto-footer_5.entry.js","webpack://root-config/./packages/shared-components/dist/esm/html-util-C8DO915D.js","webpack://root-config/./packages/shared-components/dist/esm/resource-search-constants-CapzAxJp.js"],"sourcesContent":["import { r as registerInstance, h, a as Host, c as createEvent, F as Fragment, g as getElement } from './index-I_gcXFWK.js';\nimport { SubscriptionList, ServiceProvider, SecurityContextService, LicenseContextService, CookieService, ProductInfoContextService, LicenseService, WindowService, CookieConsent, MonitoringService, RepositoryContextService, RepositoryLocationContextService, RepositoryService, OntoToastrService, NamespacesService, NamespacesContextService, LanguageService, FibonacciGenerator, AuthenticationService, EventService, isHomePage, getCurrentRoute, EventName, LanguageContextService, RepositoryList, ObjectUtil, getPathName, UriUtil, openInNewTab, navigate, navigateTo, ToastMessageList, ToastrConfig, ToastType } from '@ontotext/workbench-api';\nimport { T as TranslationService, L as LoggerProvider, s as sanitizeHTML } from './translation.service-nljGIprK.js';\nimport { H as HtmlUtil } from './html-util-C8DO915D.js';\nimport { R as ResourceSearchConstants, D as DropdownItem } from './resource-search-constants-CapzAxJp.js';\nimport { T as TooltipUtil } from './tooltip-util-BqOc8q8q.js';\nimport './onto-tooltip-placement-D_J2-9CG.js';\n\nconst ontoFooterCss = \":host{display:block}.footer-component{padding-left:var(--main-content-rl-padding);height:1.875rem}\";\n\nconst OntoFooter = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n /** List of subscriptions to manage component lifecycle */\n this.subscriptions = new SubscriptionList();\n /** Current year for copyright display */\n this.currentYear = new Date().getFullYear();\n this.securityContextService = ServiceProvider.get(SecurityContextService);\n this.licenseContextService = ServiceProvider.get(LicenseContextService);\n this.cookieService = ServiceProvider.get(CookieService);\n }\n handleConsentGiven() {\n this.cookieService.acceptCookiePolicy()\n .then(() => this.shouldShowCookieConsent = false);\n }\n render() {\n var _a, _b, _c, _d;\n return (h(Host, { key: 'c5bbe0151e3eb14932bacecaad88b7e529e3a1f1' }, h(\"div\", { key: '5d4e0501b872ccbaa2e48f99361a948e83191b65', class: \"footer-component\" }, h(\"a\", { key: 'e81e156b6b691a0a05275ee399ccf26438ba5729', href: \"http://graphdb.ontotext.com\", target: \"_blank\", rel: \"noopener noreferrer\" }, \"GraphDB\"), \"\\u00A0\", (_a = this.productInfo) === null || _a === void 0 ? void 0 :\n _a.productVersion, \" \\u2022\\u00A0\", h(\"a\", { key: '018b1772807248dfd83e0c2ca57fde6bd848e9c9', href: \"http://rdf4j.org\", target: \"_blank\", rel: \"noopener noreferrer\" }, \"RDF4J\"), \"\\u00A0\", (_b = this.productInfo) === null || _b === void 0 ? void 0 :\n _b.sesame, \" \\u2022 Connectors \", (_c = this.productInfo) === null || _c === void 0 ? void 0 :\n _c.connectors, \" \\u2022 Workbench \", (_d = this.productInfo) === null || _d === void 0 ? void 0 :\n _d.workbench, \" \\u2022 \\u00A9 2002\\u2013\", this.currentYear, \"\\u00A0\", h(\"a\", { key: '20e70771852b0c504e86e36a1b9fdb9b61d5963c', href: \"http://ontotext.com\", target: \"_blank\", rel: \"noopener noreferrer\" }, \"Ontotext AD\"), \".\\u00A0\", h(\"translate-label\", { key: '8df55b8d224ae50ca9de3fd038c0285ee01b4ff3', labelKey: 'footer.label.all_rights_reserved' })), this.shouldShowCookieConsent && h(\"onto-cookie-consent\", { key: '80f9c1af70db76ef4c6680dacf7022eb1262f049' })));\n }\n // ========================\n // Lifecycle methods\n // ========================\n connectedCallback() {\n this.subscribeToProductInfoChange();\n this.subscribeToUserChange();\n this.subscribeToLicenseChange();\n }\n disconnectedCallback() {\n this.subscriptions.unsubscribeAll();\n }\n subscribeToProductInfoChange() {\n this.subscriptions.add(ServiceProvider.get(ProductInfoContextService)\n .onProductInfoChanged(productInfo => {\n this.productInfo = productInfo;\n }));\n }\n isTrackingAllowed() {\n return ServiceProvider.get(LicenseService).isTrackableLicense() && !WindowService.getWindow().wbDevMode;\n }\n subscribeToUserChange() {\n // TODO: move to cookieService, when the authenticatedUser is available synchronously\n this.subscriptions.add(this.securityContextService.onAuthenticatedUserChanged(() => {\n this.setCookieConsentVisibility();\n }));\n }\n setCookieConsentVisibility() {\n var _a;\n const user = this.securityContextService.getAuthenticatedUser();\n this.shouldShowCookieConsent = this.isTrackingAllowed() && !new CookieConsent((_a = user === null || user === void 0 ? void 0 : user.appSettings) === null || _a === void 0 ? void 0 : _a.COOKIE_CONSENT).policyAccepted;\n }\n subscribeToLicenseChange() {\n this.subscriptions.add(this.licenseContextService.onLicenseChanged(() => {\n this.setCookieConsentVisibility();\n }));\n }\n};\nOntoFooter.style = ontoFooterCss;\n\n/**\n *\n * A StencilJS functional component that renders a repository item in the repository selector dropdown. It displays the repository's\n * icon, ID, and location. If no location is specified, it shows \"Local\" as the default. This component also allows for\n * dynamic rendering of repository details as part of a list of selectable items.\n *\n * @example\n * <SelectorItemButton repository={repository}></>\n *\n */\nconst SelectorItemButton = ({ repository }) => {\n return (h(\"div\", { class: \"repository-selector-dropdown-item\" },\n h(\"i\", { class: 'item-icon icon-repo-' + repository.type }),\n h(\"div\", { class: \"item-label\" },\n h(\"div\", { class: \"repository-id\" }, repository.id),\n h(\"div\", { class: \"repository-location\" }, repository.location ? repository.location : 'Local'))));\n};\n\nconst ontoHeaderCss = \":host{display:block}.header-component>*{height:100%}.header-component{display:flex;justify-content:flex-end;align-items:stretch;gap:0.25em;margin-right:2em;font-size:1.1em;padding-bottom:0.5rem}\";\n\nconst OntoHeader = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n // ========================\n // Services\n // ========================\n this.monitoringService = ServiceProvider.get(MonitoringService);\n this.repositoryContextService = ServiceProvider.get(RepositoryContextService);\n this.repositoryLocationContextService = ServiceProvider.get(RepositoryLocationContextService);\n this.repositoryService = ServiceProvider.get(RepositoryService);\n this.securityContextService = ServiceProvider.get(SecurityContextService);\n this.toastrService = ServiceProvider.get(OntoToastrService);\n this.namespacesService = ServiceProvider.get(NamespacesService);\n this.namespaceContextService = ServiceProvider.get(NamespacesContextService);\n this.languageService = ServiceProvider.get(LanguageService);\n this.UPDATE_ACTIVE_OPERATION_TIME_INTERVAL = 2000;\n this.fibonacciGenerator = new FibonacciGenerator();\n this.authService = ServiceProvider.get(AuthenticationService);\n this.eventService = ServiceProvider.get(EventService);\n /** Whether the search component should appear */\n this.shouldShowSearch = true;\n this.isHomePage = isHomePage();\n // ========================\n // Private\n // ========================\n this.isActiveLocationLoading = false;\n this.repositoryItems = [];\n /** Array of subscription cleanup functions */\n this.subscriptions = new SubscriptionList();\n this.skipUpdateActiveOperationsTimes = 0;\n this.canWriteRepo = (repo) => {\n return this.canWriteRepoInLocation(repo);\n };\n this.repositorySizeInfoFetcher = (repo) => {\n return this.repositoryService.getRepositorySizeInfo(repo);\n };\n this.showViewResourceMessage = (event) => {\n event.stopPropagation();\n this.toastrService.info(TranslationService.translate('rdf_search.toasts.use_view_resource'));\n this.shouldShowSearch = false;\n HtmlUtil.focusElement('#search-resource-input-home input');\n this.eventService.emit({ NAME: ResourceSearchConstants.RDF_SEARCH_ICON_CLICKED });\n };\n }\n // ========================\n // Lifecycle methods\n // ========================\n disconnectedCallback() {\n this.subscriptions.unsubscribeAll();\n this.stopOperationPolling();\n }\n connectedCallback() {\n this.currentRepository = this.repositoryContextService.getSelectedRepository();\n this.setupTotalRepositoryFormater();\n this.subscribeToEvents();\n this.currentRoute = getCurrentRoute();\n this.startOperationPolling();\n }\n render() {\n var _a, _b, _c, _d, _e, _f;\n return (h(Host, { key: '8222e10554a901e025c47424aea4b6294f240ea4' }, h(\"div\", { key: '8a0b771d5dbddcb7acff61e7a436d2e4a097277f', class: \"header-component\" }, h(\"onto-search-icon\", { key: 'd24c7f1be0241391078cc730a1ef2a5a86172e8f', class: \"rdf-search-button\", onClick: this.showViewResourceMessage, \"data-test\": 'onto-show-view-resource-message', style: { display: this.shouldShowSearch && this.isHomePage ? 'block' : 'none' } }), h(\"onto-rdf-search\", { key: 'b75323ddf445ea121fd6067723bf8550b861f4e5', \"data-test\": 'onto-open-rdf-search-button', style: { display: this.shouldShowSearch && !this.isHomePage ? 'block' : 'none' } }), ((_a = this.activeOperations) === null || _a === void 0 ? void 0 : _a.allRunningOperations.getItems().length)\n ? h(\"onto-operations-notification\", { activeOperations: this.activeOperations })\n : '', this.license && !((_b = this.license) === null || _b === void 0 ? void 0 : _b.valid) ?\n h(\"onto-license-alert\", { license: this.license }) : '', h(\"onto-repository-selector\", { key: '25a3345c6482a2794032b161a78bc98204aff061', currentRepository: this.currentRepository, items: this.repositoryItems, repositorySizeInfoFetcher: this.repositorySizeInfoFetcher, totalTripletsFormatter: this.totalTripletsFormatter, canWriteRepo: this.canWriteRepo }), ((_c = this.securityConfig) === null || _c === void 0 ? void 0 : _c.enabled) && ((_d = this.securityConfig) === null || _d === void 0 ? void 0 : _d.userLoggedIn) ? h(\"onto-user-menu\", { user: this.user, securityConfig: this.securityConfig }) : '', ((_e = this.securityConfig) === null || _e === void 0 ? void 0 : _e.enabled) && !((_f = this.securityConfig) === null || _f === void 0 ? void 0 : _f.userLoggedIn) && (this.currentRoute !== 'login') ? h(\"onto-user-login\", null) : '', h(\"onto-language-selector\", { key: '16cba1ff6d691fe0b7442d88940ec9f9ee22aebd', \"dropdown-alignment\": \"right\" }))));\n }\n // ========================\n // Subscriptions\n // ========================\n subscribeToEvents() {\n this.subscribeToSecurityContextChange();\n this.subscribeToRepositoryListChanged();\n this.subscribeToLicenseChange();\n this.subscribeToRepositoryChange();\n this.subscribeToActiveRepositoryLocationChange();\n this.subscribeToActiveRepoLoadingChange();\n this.subscribeToNavigationEnd();\n this.subscribeToLanguageChanged();\n this.subscribeToAuthenticatedUserChange();\n }\n subscribeToRepositoryListChanged() {\n return this.repositoryContextService.onRepositoryListChanged((repositories) => {\n if (!(repositories === null || repositories === void 0 ? void 0 : repositories.getItems().length)) {\n this.resetOnMissingRepositories();\n }\n else {\n this.initOnRepositoryListChanged(repositories);\n }\n });\n }\n subscribeToLicenseChange() {\n this.subscriptions.add(ServiceProvider.get(LicenseContextService)\n .onLicenseChanged((license) => {\n this.license = license;\n }));\n }\n subscribeToRepositoryChange() {\n this.subscriptions.add(this.repositoryContextService.onSelectedRepositoryChanged((repository) => {\n this.currentRepository = repository;\n this.shouldShowSearch = this.shouldShowRdfSearch();\n this.loadNamespaces();\n this.updateRepositoryItems();\n }));\n }\n subscribeToSecurityContextChange() {\n // TODO: This should be done by the authentication service, when the config and auth user are available synchronously\n this.subscriptions.add(this.securityContextService.onAuthenticatedUserChanged((user) => {\n this.user = user;\n }));\n this.subscriptions.add(this.securityContextService.onSecurityConfigChanged((config) => {\n this.securityConfig = config;\n }));\n }\n subscribeToAuthenticatedUserChange() {\n this.subscriptions.add(this.securityContextService.onAuthenticatedUserChanged(() => {\n this.updateRepositoryItems();\n }));\n }\n subscribeToActiveRepositoryLocationChange() {\n this.subscriptions.add(this.repositoryLocationContextService.onActiveLocationChanged(() => {\n this.shouldShowSearch = this.shouldShowRdfSearch();\n }));\n }\n subscribeToActiveRepoLoadingChange() {\n this.subscriptions.add(this.repositoryLocationContextService.onIsLoadingChanged((isLoading) => {\n this.isActiveLocationLoading = isLoading;\n this.shouldShowSearch = this.shouldShowRdfSearch();\n }));\n }\n subscribeToNavigationEnd() {\n this.subscriptions.add(this.eventService.subscribe(EventName.NAVIGATION_END, () => {\n this.shouldShowSearch = this.shouldShowRdfSearch();\n this.isHomePage = isHomePage();\n this.currentRoute = getCurrentRoute();\n }));\n }\n subscribeToLanguageChanged() {\n this.subscriptions.add(ServiceProvider.get(LanguageContextService)\n .onSelectedLanguageChanged((language) => this.setupTotalRepositoryFormater(language)));\n }\n // ========================\n // Repository Logic\n // ========================\n resetOnMissingRepositories() {\n this.repositoryItems = [];\n this.repositoryList = new RepositoryList();\n this.currentRepository = undefined;\n }\n initOnRepositoryListChanged(repositories) {\n this.repositoryList = repositories;\n this.updateRepositoryItems();\n }\n updateRepositoryItems() {\n this.repositoryItems = this.getRepositoriesDropdownItems();\n }\n getRepositoriesDropdownItems() {\n var _a;\n if (!((_a = this.repositoryList) === null || _a === void 0 ? void 0 : _a.getItems().length)) {\n return [];\n }\n this.repositoryList.sortByLocationAndId();\n let repositories;\n if (this.currentRepository) {\n repositories = this.repositoryList.filterByRepository([this.currentRepository]);\n }\n else {\n repositories = this.repositoryList.getItems();\n }\n return repositories\n .filter((repository) => this.authService.canReadRepo(repository) || this.authService.canReadGqlRepo(repository))\n .map((repository) => {\n return new DropdownItem()\n .setName(h(SelectorItemButton, { repository: repository }))\n .setValue(repository)\n .setDropdownTooltipTrigger('mouseenter focus')\n .setGuideSelector(`repository-id-${repository.id}`);\n });\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n canWriteRepoInLocation(_repository) {\n // TODO: implement the condition when GDB-10442 is ready\n return true;\n }\n loadNamespaces() {\n if (!this.currentRepository || !this.authService.canReadRepo(this.currentRepository)) {\n return;\n }\n // TODO: check why loaction not used maybe it is added in autorization interceptor\n this.namespacesService.getNamespaces(this.currentRepository.id)\n .then((namespaces) => this.namespaceContextService.updateNamespaces(namespaces));\n }\n // ========================\n // Monitoring and pooling\n // ========================\n startOperationPolling() {\n clearInterval(this.pollingInterval);\n this.pollingInterval = WindowService.getWindow().setInterval(() => {\n if (!this.authService.isAuthenticated()) {\n this.activeOperations = undefined;\n return;\n }\n if (this.skipUpdateActiveOperationsTimes > 0) {\n // Requested to skip this run, the number of skips is a Fibonacci sequence when errors are consecutive.\n this.skipUpdateActiveOperationsTimes--;\n return;\n }\n if (!this.currentRepository) {\n return;\n }\n this.monitoringService\n .getOperations(this.currentRepository.id)\n .then((operations) => {\n if (!ObjectUtil.deepEqual(this.activeOperations, operations)) {\n this.activeOperations = operations;\n }\n this.fibonacciGenerator.reset();\n this.skipUpdateActiveOperationsTimes = 0;\n })\n .catch(() => {\n this.activeOperations = undefined;\n this.skipUpdateActiveOperationsTimes = this.fibonacciGenerator.next();\n });\n }, this.UPDATE_ACTIVE_OPERATION_TIME_INTERVAL);\n }\n stopOperationPolling() {\n clearInterval(this.pollingInterval);\n this.activeOperations = undefined;\n }\n // ========================\n // Render logic\n // ========================\n shouldShowRdfSearch() {\n return !!this.currentRepository &&\n (!this.isActiveLocationLoading || getPathName() === '/repository') &&\n this.authService.canReadRepo(this.currentRepository);\n }\n // ========================\n // Language, formatting\n // ========================\n setupTotalRepositoryFormater(language) {\n if (!language) {\n language = this.languageService.getDefaultLanguage();\n }\n this.totalTripletsFormatter = new Intl.NumberFormat(language, {\n style: 'decimal',\n minimumFractionDigits: 0,\n maximumFractionDigits: 0\n });\n }\n};\nOntoHeader.style = ontoHeaderCss;\n\n/**\n * Event fired when the navbar is toggled by the user.\n */\nclass NavbarToggledEvent {\n /**\n * Constructs the event.\n * @param isOpened - Whether the navbar is opened.\n */\n constructor(isOpened) {\n this.type = 'navbarToggled';\n this.payload = isOpened;\n }\n}\n\n/**\n * The UI model for the navbar component.\n */\nclass NavbarModel {\n /**\n * Creates a new instance of the navbar model.\n * @param items The model items. If no items are provided, the model will be empty by default.\n */\n constructor(items = []) {\n this._items = items;\n }\n hasParent(parentLabel) {\n return this._items.some((parentItem) => parentLabel === parentItem.label);\n }\n /**\n * Clones the model. This method is useful when the model needs to be modified without affecting the original model.\n * @return The cloned model.\n */\n getModel() {\n const cloneItem = (item) => {\n const clonedChildren = item.children.map(cloneItem);\n return new NavbarItemModel(Object.assign(Object.assign({}, item), { children: clonedChildren }));\n };\n return this._items.map(cloneItem);\n }\n /**\n * Adds a new top level item to the model. The sub menu items should be added separately as children before calling\n * this method.\n * @param item The item to be added.\n */\n addItem(item) {\n this._items.push(item);\n }\n /**\n * Returns the selected root item.\n * @return The selected root item or null if no item is selected.\n */\n getSelectedRootItem() {\n return this._items.find((item) => item.selected);\n }\n /**\n * Checks if the parent of the provided item is opened.\n * @param item The menu item for which the parent needs to be checked.\n * @return True if the parent is opened, false otherwise. If the item has no parent, the method returns false.\n */\n isParentOpened(item) {\n var _a;\n return !!((_a = this.getParentItem(item)) === null || _a === void 0 ? void 0 : _a.open);\n }\n /**\n * Returns the top level menu item with the given label.\n * @param parent The label of the top level menu item. Each menu item has a label which identifies it in the model.\n * The label comes from the main menu plugin definition and should be unique for each menu item.\n * @return The top level menu item or undefined if no item is found.\n */\n getTopLevelItem(parent) {\n return this._items.find((item) => item.label === parent);\n }\n /**\n * Returns the top level menu item with the same label as the parent property of the provided item.\n * @param item The menu item for which the parent is needed.\n * @return The parent menu item or undefined if no parent is found.\n */\n getParentItem(item) {\n return this._items.find((i) => i.label === item.parent);\n }\n /**\n * Deselects all menu items.\n */\n deselectAll() {\n this.walk((item) => {\n item.selected = false;\n });\n }\n /**\n * Closes all opened top level menu items.\n */\n closeAll() {\n this.walk((item) => {\n item.open = false;\n });\n }\n /**\n * Deselects a top level menu item. When a menu item is selected it is highlighted in the UI.\n * @param item The top level menu item to be deselected.\n */\n deselectItem(item) {\n item.selected = false;\n }\n /**\n * Selects a top level menu item. When a menu item is selected it is highlighted in the UI.\n * @param item The top level menu item to be selected.\n */\n selectItem(item) {\n if (item.label) {\n item.selected = true;\n }\n else {\n this.selectItem(item.parentModel);\n }\n }\n /**\n * Checks if a top level menu item has a selected submenu.\n * @param item The top level menu item to be checked.\n * @return True if the top level menu item has a selected submenu, false otherwise.\n */\n hasSelectedSubmenu(item) {\n if (!item.children) {\n return false;\n }\n return item.children.some(child => this.hasSelection(child));\n }\n /**\n * Recursively checks if any submenu (child or nested) is selected.\n * @param {NavbarItemModel} item - The submenu item to check.\n * @return {boolean} True if selected, or if any descendant is selected.\n */\n hasSelection(item) {\n if (item.selected) {\n return true;\n }\n if (item.children) {\n return item.children.some(child => this.hasSelection(child));\n }\n return false;\n }\n /**\n * Marks an opened top level menu item as closed. If the item has a selected submenu, then the top level menu item\n * is marked as selected to indicate that the submenu is active.\n */\n closeOpened() {\n const opened = this._items.find((item) => item.open);\n if (opened) {\n if (this.hasSelectedSubmenu(opened)) {\n this.selectItem(opened);\n }\n opened.open = false;\n }\n }\n /**\n * Opens a top level menu item and closes all other top level menu items.\n * @param item The top level menu item to be opened.\n */\n open(item) {\n this.walk((item) => {\n item.open = false;\n });\n this.openItemAndParent(item);\n }\n openItemAndParent(item) {\n if (item.parentModel) {\n this.openItemAndParent(item.parentModel);\n }\n item.open = true;\n }\n /**\n * Closes all top level menu items except the one that is the parent of the current item.\n * @param currentItem The current menu item.\n */\n closeOtherParents(currentItem) {\n const parent = currentItem.parent;\n this.walk((item) => {\n if (item.label !== parent) {\n item.open = false;\n }\n });\n }\n /**\n * Highlights the selected menu item by selecting its parent if it has one.\n * This is useful when the navbar is collapsed. This operation is the opposite of the unhighlightSelected method.\n */\n highlightSelected() {\n const selectedItem = this.getSelectedItem();\n if (selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.hasParent) {\n this.selectItem(this.getParentItem(selectedItem));\n }\n }\n /**\n * Unhighlights the selected opened menu item if it has a submenu. This is useful when the navbar is going to be expanded.\n * This operation is the opposite of the highlightSelected method.\n */\n unhighlightSelected() {\n const selectedRootItem = this.getSelectedRootItem();\n if (selectedRootItem && selectedRootItem.children.length && selectedRootItem.open) {\n this.deselectItem(selectedRootItem);\n }\n }\n /**\n * Finds out the selected menu item. It can be a top level menu item or a submenu item.\n * @return The selected menu item or null if no item is selected.\n */\n getSelectedItem() {\n let selectedItem = null;\n const findSelected = (item) => {\n if (item.selected) {\n selectedItem = item;\n return true;\n }\n if (item.children) {\n for (const child of item.children) {\n if (findSelected(child)) {\n return true;\n }\n }\n }\n return false;\n };\n this._items.some(findSelected);\n return selectedItem;\n }\n expandSelected() {\n const selectedItem = this.getSelectedItem();\n if (selectedItem) {\n if (selectedItem.hasParent) {\n this.open(this.getParentItem(selectedItem));\n }\n else {\n this.open(selectedItem);\n }\n }\n }\n /**\n * Finds out the menu item by its href property and marks it as selected if it is a top level menu. If the menu item\n * is a sub menu, it marks its parent as opened and the sub menu item as selected.\n * @param selectedMenu The href of the menu item to be selected.\n */\n initSelected(selectedMenu) {\n this.walk((item) => {\n var _a;\n let path = selectedMenu;\n if ((_a = item.href) === null || _a === void 0 ? void 0 : _a.includes('*')) {\n path = this.getWildcardPath(selectedMenu, item.href);\n }\n if (item.href === path) {\n if (item.hasParent) {\n this.open(item);\n }\n this.selectItem(item);\n }\n });\n }\n /**\n * Compares a given path against a href pattern that may contain wildcards.\n * This function is used to match menu item hrefs that include wildcard segments.\n *\n * @param path - The actual path to compare against the href pattern.\n * @param href - The href pattern that may contain wildcards ('*').\n * @returns A string representing the matched path. If the path matches the href pattern,\n * it returns a version of the href where wildcards are preserved. If there's no match,\n * it returns the original path unchanged.\n */\n getWildcardPath(path, href) {\n const pathParts = path.split('/');\n const hrefParts = href.split('/');\n if (pathParts.length !== hrefParts.length) {\n return path; // Path and href have different number of segments, no match\n }\n const resultParts = [];\n for (let i = 0; i < hrefParts.length; i++) {\n if (hrefParts[i] === '*') {\n resultParts.push('*');\n }\n else if (hrefParts[i] !== pathParts[i]) {\n return path; // Mismatch in non-wildcard segment\n }\n else {\n resultParts.push(hrefParts[i]);\n }\n }\n return resultParts.join('/');\n }\n /**\n * Sorts the menu items by their order property.\n * @return {this} The sorted model.\n */\n sorted() {\n this._items\n .filter((item) => item.children)\n .forEach((item) => {\n item.children.sort(NavbarModel.compare);\n });\n this._items.sort(NavbarModel.compare);\n return this;\n }\n static compare(a, b) {\n return a.order - b.order;\n }\n /**\n * Walks recursively through the model and executes the provided callback for each item.\n * @param callback The callback to be executed for each item.\n */\n walk(callback) {\n this.walkRecursively(this.items, callback);\n }\n /**\n * Recursively walks through a list of navbar items and applies the callback.\n * @param items The items to walk through.\n * @param callback The callback to execute on each item.\n */\n walkRecursively(items, callback) {\n items.forEach((item) => {\n var _a;\n callback(item);\n if ((_a = item.children) === null || _a === void 0 ? void 0 : _a.length) {\n this.walkRecursively(item.children, callback);\n }\n });\n }\n get items() {\n return this._items;\n }\n}\n/**\n * The model for a single menu item.\n */\nclass NavbarItemModel {\n constructor(data) {\n var _a;\n this._selected = false;\n this._open = false;\n this._order = data.order;\n this._label = data.label;\n this._labelKey = data.labelKey;\n this._href = data.href;\n this._children = [...(_a = data.children) !== null && _a !== void 0 ? _a : []];\n this._hasParent = data.hasParent;\n this._parent = data.parent;\n this._selected = data.selected;\n this._open = data.open;\n this._documentationHref = data.documentationHref;\n this._hrefFun = data.hrefFun;\n this._editions = data.editions;\n this._icon = data.icon;\n this._role = data.role;\n this._guideSelector = data.guideSelector;\n this._testSelector = data.testSelector;\n this._shouldShow = data.shouldShow;\n this._parentModel = data.parentModel;\n }\n addChild(child) {\n this.children.push(child);\n child.setParent(this);\n }\n addChildren(...children) {\n children.forEach((child) => {\n this.addChild(child);\n });\n }\n /**\n * Determines whether the current menu item has submenus.\n * In this context, items with a href value of '#' are treated as parent items\n * and are expected to have submenus. This behavior is due to the fact that\n * all top-level items are registered with href set to '#' when added to the PluginRegistry.\n *\n * @returns {boolean} True if the item is a parent (has submenus), otherwise false.\n */\n hasSubmenus() {\n return this._href === '#';\n }\n get parent() {\n return this._parent;\n }\n set parent(value) {\n this._parent = value;\n }\n get order() {\n return this._order;\n }\n set order(value) {\n this._order = value;\n }\n get label() {\n return this._label;\n }\n set label(value) {\n this._label = value;\n }\n get labelKey() {\n return this._labelKey;\n }\n set labelKey(value) {\n this._labelKey = value;\n }\n get documentationHref() {\n return this._documentationHref;\n }\n set documentationHref(value) {\n this._documentationHref = value;\n }\n get href() {\n return this._href;\n }\n set href(value) {\n this._href = value;\n }\n get children() {\n return this._children;\n }\n set children(value) {\n this._children = value;\n }\n get hasParent() {\n return this._hasParent;\n }\n set hasParent(value) {\n this._hasParent = value;\n }\n get selected() {\n return this._selected;\n }\n set selected(value) {\n this._selected = value;\n }\n get open() {\n return this._open;\n }\n set open(value) {\n this._open = value;\n }\n get hrefFun() {\n return this._hrefFun;\n }\n set hrefFun(value) {\n this._hrefFun = value;\n }\n get editions() {\n return this._editions;\n }\n set editions(value) {\n this._editions = value;\n }\n get icon() {\n return this._icon;\n }\n set icon(value) {\n this._icon = value;\n }\n get role() {\n return this._role;\n }\n set role(value) {\n this._role = value;\n }\n get guideSelector() {\n return this._guideSelector;\n }\n set guideSelector(value) {\n this._guideSelector = value;\n }\n get testSelector() {\n return this._testSelector;\n }\n set testSelector(value) {\n this._testSelector = value;\n }\n get parentModel() {\n return this._parentModel;\n }\n set parentModel(value) {\n this._parentModel = value;\n }\n get shouldShow() {\n return this._shouldShow;\n }\n set shouldShow(value) {\n this._shouldShow = value;\n }\n setParent(parent) {\n this.parentModel = parent;\n this.hasParent = !!parent;\n }\n}\n\nconst logger = LoggerProvider.logger;\nclass NavbarService {\n static map(navbarPlugins, productInfo) {\n const navbarModel = new NavbarModel();\n NavbarService.setTopLevelMenuItems(navbarPlugins, navbarModel, productInfo);\n NavbarService.setSubmenuItems(navbarPlugins, navbarModel, productInfo);\n return navbarModel.sorted();\n }\n static setTopLevelMenuItems(navbarPlugins, navbarModel, productInfo) {\n navbarPlugins.forEach((menuPlugin) => {\n menuPlugin.items\n .filter((item) => !item.parent && item.shouldShow)\n .forEach((item) => {\n if (navbarModel.hasParent(item.label)) {\n logger.warn('Doubled parent definition: ', item);\n }\n else {\n navbarModel.addItem(this.toMenuItemModel(item, undefined, productInfo, item.children));\n }\n });\n });\n }\n static setSubmenuItems(navbarPlugins, navbarModel, productInfo) {\n navbarPlugins.forEach((menuPlugin) => {\n menuPlugin.items\n .filter((item) => item.parent && item.shouldShow)\n .forEach((item) => {\n const topLevelItem = navbarModel.getTopLevelItem(item.parent);\n // Some submenu items in the external menu model have children which is unusual.\n // I'm not sure if and where these children are used. For now, I'm ignoring them.\n topLevelItem === null || topLevelItem === void 0 ? void 0 : topLevelItem.addChildren(this.toMenuItemModel(item, topLevelItem, productInfo, item.children));\n });\n });\n }\n static toMenuItemModel(item, parent, productInfo, children = []) {\n let externalLink;\n if (item.documentationHref) {\n externalLink = UriUtil.resolveDocumentationUrl(productInfo === null || productInfo === void 0 ? void 0 : productInfo.shortVersion, item.documentationHref);\n }\n const itemModel = new NavbarItemModel({\n label: item.label,\n labelKey: item.labelKey,\n href: externalLink || item.href,\n documentationHref: item.documentationHref,\n hrefFun: item.hrefFun,\n order: item.order,\n role: item.role,\n editions: item.editions,\n icon: item.icon,\n guideSelector: item.guideSelector,\n hasParent: !!parent,\n parentModel: parent,\n parent: item.parent,\n selected: false,\n shouldShow: item.shouldShow,\n testSelector: item.testSelector,\n });\n const childrenModels = children.map((childrenItem) => this.toMenuItemModel(childrenItem, itemModel, productInfo, childrenItem.children));\n itemModel.addChildren(...childrenModels);\n return itemModel;\n }\n ;\n}\n\nconst ontoNavbarCss = \":host{display:block}.navbar-component{width:15rem;position:fixed;font-weight:400;z-index:1010;margin:0;padding:0;-moz-transition:width 0.2s ease-in;-o-transition:width 0.2s ease-in;-webkit-transition:width 0.2s ease-in;transition:width 0.2s ease-in;height:100%;overflow-y:auto;overflow-x:hidden}@media screen and (max-height: 475px){.navbar-component.collapsed{position:absolute}}.navbar-component li{list-style:none;cursor:pointer}.navbar-component li a{text-decoration:none}.navbar-component li a.sub-menu-link:not([href=\\\"\\\"]):not([tabindex]):hover{text-decoration:none !important}.navbar-component .sub-menu-item a.sub-menu-link:not([href]) translate-label.menu-item{padding-right:3.5px}.navbar-component a.sub-menu-link:not([href]):hover .menu-item,.navbar-component a.sub-menu-link[href=\\\"\\\"]:hover .menu-item{text-decoration-line:underline !important}.navbar-component li .menu-element-root:hover,.navbar-component .sub-menu li:hover{text-decoration-line:none !important}.navbar-component li .menu-element-root:hover .menu-item-icon,.navbar-component .menu-element.open .menu-item-icon{transform:scale(1.1)}.navbar-component .menu-element.open .sub-menu .menu-item-icon{transform:scale(0.5)}.navbar-component .menu-element{position:relative}.navbar-component .menu-element-root{padding:0.8em 2.5em 0.8em 0.8em;display:block;line-height:2.5rem;position:relative;z-index:100;-moz-transition:all 0.18s ease-out;-o-transition:all 0.18s ease-out;-webkit-transition:all 0.18s ease-out;transition:all 0.18s ease-out;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.navbar-component .menu-item-icon{font-size:2.5rem;width:2.5rem;vertical-align:middle;text-align:center;transform:scale(0.9);display:inline-block;-moz-transition:all 0.18s ease-out;-o-transition:all 0.18s ease-out;-webkit-transition:all 0.18s ease-out;transition:all 0.18s ease-out;pointer-events:none}.navbar-component .menu-element-root .menu-item{pointer-events:none}.navbar-component .menu-element-root.active,.navbar-component .menu-element-root.active:hover{background-color:var(--gw-sidenav-submenuitem-active-background);color:#ffffff}.navbar-component .active .menu-item-icon{transform:scale(1.1)}.navbar-component :not(.brand) .menu-element-root{font-size:1.1rem}.navbar-component .brand a{display:block;position:relative;z-index:5}.navbar-component .sub-menu{position:relative;padding:0;z-index:110}.navbar-component .sub-menu li{display:none}.navbar-component .sub-menu li a{padding:0.5em 0.8em;display:block}.navbar-component .sub-menu li.active a{font-weight:500}.navbar-component .menu-element.open ul li{display:block}.navbar-component .menu-element ul:before,.rdf-list ul.datasource:before{font-family:\\\"icomoon\\\", sans-serif !important;content:\\\"\\\\e921\\\";display:block;font-size:1.5em;position:absolute;top:-3.3rem;right:1rem;-moz-transition:all 0.2s ease-in;-o-transition:all 0.2s ease-in;-webkit-transition:all 0.2s ease-in;transition:all 0.2s ease-in;pointer-events:none}.navbar-component .menu-element.open ul:before,.rdf-list ul.open.datasource:before{transform:rotate(180deg)}.navbar-component.collapsed{width:4.375rem;overflow:visible;height:auto}.navbar-component.collapsed .menu-element.open .sub-menu{position:absolute;top:0;left:4.375rem;width:15rem}.navbar-component.collapsed .menu-element .menu-item,.navbar-component.collapsed .menu-element .sub-menu li{display:none}.navbar-component.collapsed .menu-element.open .menu-item,.navbar-component.collapsed .menu-element.open .sub-menu li{display:block}.navbar-component.collapsed .menu-element.open .menu-element-root .menu-item{display:none}.navbar-component.collapsed .menu-element-root{overflow:visible}.navbar-component .menu-element.open ul li.submenu-title,.navbar-component .submenu-title{display:none}.navbar-component.collapsed .menu-element.open ul li.submenu-title{display:block;font-size:1.2em;font-weight:500;text-overflow:ellipsis;overflow:hidden;padding:0.5em 0.8rem 0.2em 0;margin-left:0.8rem;margin-bottom:0.5em}.navbar-component.collapsed .menu-element.open .sub-menu.align-bottom{bottom:0;top:auto}.navbar-component.collapsed .menu-element ul:before{display:none}.navbar-component.collapsed .brand a{padding:0.4rem}.navbar-component.collapsed .small-logo,.navbar-component .big-logo{display:block}.navbar-component .small-logo,.navbar-component.collapsed .big-logo{display:none}.navbar-component .brand{background-color:var(--gw-sidenav-logo-background)}.small-logo{width:50px;height:50px}.big-logo{width:180px;height:50px}.toggle-menu{display:block;position:absolute;top:0;right:0;font-size:0.8em;line-height:1.5;padding:0 0.3em;z-index:10;cursor:pointer;background-color:var(--gw-sidenav-collapsebutton-background);color:var(--gw-sidenav-collapsebutton-color)}.toggle-menu:hover{color:var(--gw-sidenav-collapsebutton-hover-color);background-color:var(--gw-sidenav-collapsebutton-hover-background)}.toggle-menu [class^=icon-]{transition:all 0.2s ease-in;display:inline-block}.toggle-menu:hover [class^=icon-]{transform:scale(1.1)}.navbar-component .menu-element .menu-element-root{background-color:var(--gw-sidenav-item-background);color:var(--gw-sidenav-item-color)}.navbar-component .menu-element .menu-element-root:hover{background-color:var(--gw-sidenav-item-hover-background);color:var(--gw-sidenav-item-hover-color)}.navbar-component .menu-element .menu-element-root .menu-item-icon{color:var(--gw-sidenav-item-icon-color)}.navbar-component .menu-element .menu-element-root .menu-item-icon:hover{color:var(--gw-sidenav-item-hover-icon-color)}.navbar-component .menu-element.open .menu-element-root{background-color:var(--gw-sidenav-item-selected-background);color:var(--gw-sidenav-item-selected-color)}.navbar-component .menu-element .menu-element-root.active{background-color:var(--gw-sidenav-item-active-background);color:var(--gw-sidenav-item-active-color)}.navbar-component .menu-element .menu-element-root.active .menu-item-icon{color:var(--gw-sidenav-item-active-icon-color)}.navbar-component .menu-element .sub-menu-item,.navbar-component .menu-element .sub-menu{background-color:var(--gw-sidenav-submenuitem-background);color:var(--gw-sidenav-submenuitem-color)}.navbar-component .menu-element .sub-menu-item:hover{background-color:var(--gw-sidenav-submenuitem-hover-background);color:var(--gw-sidenav-submenuitem-hover-color)}.navbar-component .menu-element .sub-menu-item.active,.navbar-component .menu-element .sub-menu-item.active .sub-menu-link{background-color:var(--gw-sidenav-submenuitem-active-background);color:var(--gw-sidenav-submenuitem-active-color)}\";\n\nconst labelKeys = {\n EXPAND: 'menu.buttons.expand',\n COLLAPSE: 'menu.buttons.collapse',\n LOGO_LINK: 'menu.logo.link.title'\n};\nconst OntoNavbar = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.navbarToggled = createEvent(this, \"navbarToggled\");\n this.productInfoContextService = ServiceProvider.get(ProductInfoContextService);\n this.subscriptions = new SubscriptionList();\n this.resizeHandler = () => this.adjustAllSubmenus(this.hostElement);\n this.SUBMENU_VERTICAL_MARGIN = 8;\n this.MIN_SUBMENU_HEIGHT = 100;\n this.labels = {\n [labelKeys.EXPAND]: TranslationService.translate(labelKeys.EXPAND),\n [labelKeys.COLLAPSE]: TranslationService.translate(labelKeys.COLLAPSE),\n [labelKeys.LOGO_LINK]: TranslationService.translate(labelKeys.LOGO_LINK)\n };\n /**\n * Flag indicating whether the navbar is collapsed in result of toggle action initiated by the user. This is needed\n * in cases where the browser window is resized which is an operation that should not override the user's choice\n * regarding the navbar collapsed state, e.g. if the user has manually collapsed the navbar and then resizes the\n * window, the navbar should remain collapsed.\n */\n this.isCollapsedByUser = false;\n /**\n * Controls the expanded/collapsed state of the navbar.\n */\n this.isCollapsed = false;\n }\n navbarCollapsedChange(collapsed) {\n this.isCollapsed = !collapsed;\n if (this.isCollapsed && !this.isCollapsedByUser) {\n this.expandNavbar();\n }\n else {\n this.collapseNavbar();\n }\n this.navbarToggled.emit(new NavbarToggledEvent(this.isCollapsed));\n }\n menuItemsChanged(menuItems) {\n this.init(menuItems);\n }\n init(menuItems) {\n const internalModel = NavbarService.map(menuItems || [], this.productInfo);\n internalModel.initSelected(getCurrentRoute());\n this.menuModel = internalModel;\n }\n select(event, menuItem) {\n event.preventDefault();\n this.clearAllOpenedSubmenuStyles();\n // Skip navigation when the selected item is a parent menu because it has no associated navigation.\n if (!menuItem.hasSubmenus()) {\n if (event.ctrlKey) {\n openInNewTab(menuItem.href);\n }\n else {\n navigate(menuItem.href);\n }\n }\n if (menuItem.children.length) {\n if (!menuItem.open) {\n this.menuModel.closeOpened();\n this.menuModel.open(menuItem);\n if (this.menuModel.hasSelectedSubmenu(menuItem)) {\n this.menuModel.deselectItem(menuItem);\n }\n }\n else {\n this.menuModel.closeAll();\n if (this.menuModel.hasSelectedSubmenu(menuItem)) {\n this.menuModel.selectItem(menuItem);\n }\n }\n }\n else {\n this.menuModel.closeOtherParents(menuItem);\n }\n // When the navbar is collapsed then find if the selected item has active children and mark the item as selected\n // to allow it to be highlighted in the collapsed state.\n if (this.isCollapsed && this.menuModel.isParentOpened(menuItem)) {\n this.menuModel.closeOpened();\n }\n this.refreshNavbar();\n this.adjustAllSubmenus(this.hostElement);\n }\n subscribeToNavigationEnd() {\n this.subscriptions.add(ServiceProvider.get(EventService).subscribe(EventName.NAVIGATION_END, () => {\n this.selectItemByUrl();\n }));\n }\n selectItemByUrl() {\n if (!this.menuModel) {\n return;\n }\n this.menuModel.deselectAll();\n this.menuModel.closeAll();\n if (!isHomePage()) {\n this.menuModel.initSelected(getCurrentRoute());\n }\n this.refreshNavbar();\n this.adjustAllSubmenus(this.hostElement);\n }\n toggleNavbar() {\n if (!this.isCollapsed) {\n this.isCollapsedByUser = true;\n this.menuModel.highlightSelected();\n this.menuModel.closeOpened();\n this.collapseNavbar();\n this.clearAllOpenedSubmenuStyles();\n }\n else {\n this.isCollapsedByUser = false;\n this.menuModel.expandSelected();\n this.menuModel.unhighlightSelected();\n this.expandNavbar();\n this.clearAllOpenedSubmenuStyles();\n }\n this.refreshNavbar();\n this.adjustAllSubmenus(this.hostElement);\n this.navbarToggled.emit(new NavbarToggledEvent(this.isCollapsed));\n }\n collapseNavbar() {\n this.hostElement.querySelector('.navbar-component').classList.add('collapsed');\n this.isCollapsed = true;\n }\n expandNavbar() {\n if (!this.isCollapsedByUser) {\n this.hostElement.querySelector('.navbar-component').classList.remove('collapsed');\n this.isCollapsed = false;\n }\n }\n refreshNavbar() {\n var _a;\n if (!((_a = this.menuModel) === null || _a === void 0 ? void 0 : _a.items)) {\n return;\n }\n this.menuModel = new NavbarModel(this.menuModel.items);\n }\n onLanguageChanged() {\n this.refreshNavbar();\n }\n onTranslate(key) {\n this.subscriptions.add(TranslationService.onTranslate(key, [], (translation) => {\n this.labels[key] = translation;\n this.onLanguageChanged();\n }));\n }\n toggleNavbarHandler() {\n return () => this.toggleNavbar();\n }\n /**\n * Adjust the max height of a submenu to ensure it fits within the viewport.\n * The submenu will be positioned either below or above its parent menu item based on available space.\n * @param sub The submenu element to adjust.\n * @param margin Margin in pixels to apply when calculating available space. This ensures some space between the\n * submenu and the viewport edge.\n */\n adjustSubmenuMaxHeight(sub, margin = this.SUBMENU_VERTICAL_MARGIN) {\n if (!sub || typeof sub.getBoundingClientRect !== 'function') {\n return;\n }\n const parentElement = sub.closest('.menu-element');\n if (!parentElement) {\n return;\n }\n const subRect = sub.getBoundingClientRect();\n const parentRect = parentElement.getBoundingClientRect();\n const viewportHeight = window.innerHeight;\n // Calculate available space above and below the parent menu item\n const spaceAbove = parentRect.top - margin + parentRect.height;\n const spaceBelow = viewportHeight - parentRect.bottom + parentRect.height - margin;\n // Determine optimal positioning and max height\n let maxHeight;\n let shouldAlignBottom = false;\n if (spaceBelow >= subRect.height) {\n // Enough space below - align to top of parent\n maxHeight = spaceBelow;\n }\n else if (spaceAbove >= subRect.height) {\n // Not enough space below but enough above - align to bottom of parent\n maxHeight = spaceAbove;\n shouldAlignBottom = true;\n }\n else {\n // Not enough space in either direction - use larger space and make scrollable\n if (spaceBelow > spaceAbove) {\n maxHeight = spaceBelow;\n shouldAlignBottom = false;\n }\n else {\n maxHeight = spaceAbove;\n shouldAlignBottom = true;\n }\n }\n // Apply positioning\n if (shouldAlignBottom) {\n sub.style.bottom = '0';\n sub.style.top = 'auto';\n }\n else {\n sub.style.top = '0';\n sub.style.bottom = 'auto';\n }\n sub.style.maxHeight = `${Math.max(this.MIN_SUBMENU_HEIGHT, maxHeight)}px`;\n sub.style.overflowY = 'auto';\n }\n /**\n * Adjust all submenus that are currently open.\n * @param host The host element containing the navbar.\n * @param margin Margin in pixels to apply when calculating available space. This ensures some space between the\n * submenu and the viewport edge.\n */\n adjustAllSubmenus(host, margin = this.SUBMENU_VERTICAL_MARGIN) {\n // run after paint so DOM is in final state\n requestAnimationFrame(() => {\n if (!host || typeof host.querySelectorAll !== 'function') {\n return;\n }\n this.getAllOpenedSubmenus(host).forEach((s) => this.adjustSubmenuMaxHeight(s, margin));\n });\n }\n getAllOpenedSubmenus(host) {\n return Array.from(host.querySelectorAll('.navbar-component.collapsed .menu-element.open .sub-menu'));\n }\n getAllSubmenus(host) {\n return Array.from(host.querySelectorAll('.navbar-component .menu-element .sub-menu'));\n }\n clearAllOpenedSubmenuStyles() {\n this.getAllSubmenus(this.hostElement).forEach((s) => {\n s.style.maxHeight = '';\n s.style.overflowY = '';\n s.style.top = '';\n s.style.bottom = '';\n });\n }\n // ========================\n // Lifecycle methods\n // ========================\n componentWillLoad() {\n this.init(this.menuItems);\n }\n connectedCallback() {\n this.subscribeToNavigationEnd();\n this.subscribeToProductInfoChanges();\n // subscribe to language change events for each label\n this.onTranslate(labelKeys.EXPAND);\n this.onTranslate(labelKeys.COLLAPSE);\n this.onTranslate(labelKeys.LOGO_LINK);\n window.addEventListener('resize', this.resizeHandler);\n }\n disconnectedCallback() {\n this.subscriptions.unsubscribeAll();\n window.removeEventListener('resize', this.resizeHandler);\n }\n handleSelectMenuItem(item) {\n return (event) => {\n this.select(event, item);\n };\n }\n render() {\n if (!this.menuModel) {\n return;\n }\n const logoImg1 = 'assets/graphdb-logo.svg#Layer_1';\n const logoImg2 = 'assets/graphdb-logo-sq.svg#Layer_1';\n return (h(Host, null, h(\"ul\", { class: \"navbar-component\" }, h(\"li\", { class: \"brand\" }, h(\"span\", { class: \"toggle-menu\", title: this.isCollapsed ? this.labels[labelKeys.EXPAND] : this.labels[labelKeys.COLLAPSE], onClick: this.toggleNavbarHandler() }, h(\"em\", { class: this.isCollapsed ? 'icon-caret-right' : 'icon-caret-left' })), h(\"a\", { class: \"menu-element-root home-page\", onClick: navigateTo('./') }, h(\"svg\", { class: \"big-logo\" }, h(\"desc\", null, this.labels[labelKeys.LOGO_LINK]), h(\"use\", { href: logoImg1 })), h(\"svg\", { class: \"small-logo\" }, h(\"desc\", null, this.labels[labelKeys.LOGO_LINK]), h(\"use\", { href: logoImg2 })))), this.menuModel.items.map((item) => (h(\"li\", { key: item.labelKey, class: { 'menu-element': true, 'open': item.open }, \"data-test\": item.testSelector, \"guide-selector\": item.guideSelector }, item.children.length > 0 &&\n h(Fragment, null, h(\"div\", { class: { 'menu-element-root': true, 'active': item.selected }, onClick: this.handleSelectMenuItem(item) }, h(\"span\", { class: `menu-item-icon ${item.icon}` }), \"\\u00A0\", h(\"translate-label\", { class: \"menu-item\", labelKey: item.labelKey })), h(\"ul\", { class: \"sub-menu\" }, h(\"li\", { key: item.labelKey, class: \"submenu-title\" }, h(\"translate-label\", { labelKey: item.labelKey })), item.children.map((submenu) => (h(\"li\", { key: submenu.labelKey, class: { 'sub-menu-item': true, 'active': submenu.selected }, \"data-test\": submenu.testSelector, \"guide-selector\": submenu.guideSelector }, submenu.documentationHref ?\n h(\"a\", { class: \"sub-menu-link external-link\", href: submenu.href, target: \"_blank\", rel: \"noopener noreferrer\" }, h(\"translate-label\", { class: \"menu-item\", labelKey: submenu.labelKey }), submenu.icon &&\n h(\"span\", { class: `text-muted ${submenu.icon}` }))\n :\n h(\"a\", { class: \"sub-menu-link\", href: submenu.href, onClick: this.handleSelectMenuItem(submenu) }, h(\"translate-label\", { class: \"menu-item\", labelKey: submenu.labelKey }), submenu.icon &&\n h(\"span\", { class: `text-muted ${submenu.icon}` }))))))), item.children.length === 0 &&\n h(\"a\", { class: { 'menu-element-root': true, 'active': item.selected }, href: item.href, onClick: this.handleSelectMenuItem(item) }, h(\"span\", { class: `menu-item-icon ${item.icon}` }), \"\\u00A0\", h(\"translate-label\", { class: \"menu-item\", labelKey: item.labelKey }))))))));\n }\n subscribeToProductInfoChanges() {\n this.subscriptions.add(this.productInfoContextService.onProductInfoChanged((productInfo) => this.productInfo = productInfo));\n }\n get hostElement() { return getElement(this); }\n static get watchers() { return {\n \"navbarCollapsed\": [\"navbarCollapsedChange\"],\n \"menuItems\": [\"menuItemsChanged\"]\n }; }\n};\nOntoNavbar.style = ontoNavbarCss;\n\nconst ontoToastrCss = \".onto-toastr-container{position:fixed;z-index:9999999;pointer-events:auto;flex-direction:column}.onto-toastr-container.bottom-right{bottom:12px;right:12px}.onto-toastr-container.bottom-left{bottom:12px;left:12px}.onto-toastr-container .onto-toast{display:flex;align-items:center;border-radius:0;box-shadow:0 0 12px rgba(0, 0, 0, 0.3);position:relative;width:450px;padding:25px 0;color:white;margin-bottom:5px;overflow-wrap:break-word}.onto-toastr-container .onto-toast:hover{box-shadow:0 0 12px #000;opacity:1;cursor:pointer}.onto-toastr-container .onto-toast.warning{color:var(--gw-toast-warn-color);background-color:var(--gw-toast-warn-background);border-color:var(--gw-toast-warn-border-color)}.onto-toastr-container .onto-toast.success{background-color:var(--gw-toast-success-background);border-color:var(--gw-toast-success-border-color);color:var(--gw-toast-success-color)}.onto-toastr-container .onto-toast.error{background-color:var(--gw-toast-error-background);border-color:var(--gw-toast-error-border-color);color:var(--gw-toast-error-color)}.onto-toastr-container .onto-toast.info{background-color:var(--gw-toast-info-background);border-color:var(--gw-toast-info-border-color);color:var(--gw-toast-info-color)}.onto-toastr-container .onto-toast i{font-size:1.8rem;padding:0 20px;color:inherit}.onto-toastr-container .onto-toast i:hover{transform:none}.onto-toastr-container .onto-toast .toast-message{font-size:1.2rem;opacity:1;max-width:370px}\";\n\nconst toastTypeToIconMap = {\n [ToastType.INFO]: 'ri-information-2-fill',\n [ToastType.SUCCESS]: 'ri-checkbox-circle-line',\n [ToastType.WARNING]: 'ri-message-line',\n [ToastType.ERROR]: 'ri-alert-line',\n};\nconst OntoToastr = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n /**\n * State containing the list of active toast messages\n */\n this.toasts = new ToastMessageList([]);\n /**\n * Map to track timeout IDs for each toast message\n */\n this.toastToTimeout = new Map();\n /** Configuration options, such as toast timeout */\n this.config = ToastrConfig.getDefaultConfig();\n this.onToastMouseEnter = (toast) => () => {\n this.clearToastTimeout(toast);\n };\n this.onToastMouseLeave = (toast) => () => {\n this.setTimeoutForToast(toast);\n };\n }\n /**\n * Listen for toast creation events\n *\n * @param event - Custom event containing the toast message to be displayed\n */\n // TODO Fix jest tests are failing- usage variables in stencil decorators is enabled since 4.3.0\n // see https://github.com/stenciljs/core/issues/2924\n handleToastCreate(event) {\n this.addToast(event.detail);\n }\n render() {\n var _a;\n return (h(\"section\", { key: '57fcc0103bbc130bee6043a37c7c3539b8eb3c5a', style: { display: this.toasts.isEmpty() ? 'none' : 'flex' }, class: `onto-toastr-container ${this.config.position}` }, (_a = this.toasts) === null || _a === void 0 ? void 0 : _a.getItems().map((toast) => (h(\"div\", { class: `onto-toast ${toast.type}`, key: toast.id, onMouseEnter: this.onToastMouseEnter(toast), onMouseLeave: this.onToastMouseLeave(toast) }, h(\"i\", { class: `${toastTypeToIconMap[toast.type]}` }), h(\"span\", { onClick: this.handleToastClick(toast), class: \"toast-message\", innerHTML: sanitizeHTML(toast.message) }))))));\n }\n /**\n * Adds a new toast message.\n * The message is added to the start of the list, so new toasts appear on top.\n * The toast is also set to automatically be removed after the specified timeout.\n *\n * @param toast - The toast message to be added\n */\n addToast(toast) {\n this.toasts.addToStart(toast);\n this.setTimeoutForToast(toast);\n this.updateToastrReference();\n }\n /**\n * Sets a timeout for automatic removal of a toast message.\n * The value of the timeout is determined by the toast's configuration, or the default timeout, if\n * the toast hasn't provided a value\n *\n * @param toast - The toast message to set timeout for\n */\n setTimeoutForToast(toast) {\n var _a;\n const timeout = WindowService.getWindow().setTimeout(() => {\n this.toasts.remove(toast);\n this.clearToastTimeout(toast);\n }, ((_a = toast.config) === null || _a === void 0 ? void 0 : _a.timeout) || this.config.timeout);\n this.toastToTimeout.set(toast, timeout);\n }\n /**\n * Updates the toast list reference to trigger re-rendering\n */\n updateToastrReference() {\n this.toasts = new ToastMessageList(this.toasts.getItems());\n }\n /**\n * Clears the timeout for a toast message and removes it from the tracking map\n * When a user hovers over a toast message, the timeout is cleared, since the toast should\n * remain visible until the user stops hovering.\n *\n * @param toast - The toast message whose timeout should be cleared\n */\n clearToastTimeout(toast) {\n const timeoutId = this.toastToTimeout.get(toast);\n clearTimeout(timeoutId);\n this.toastToTimeout.delete(toast);\n this.updateToastrReference();\n }\n /**\n * Handle click events on toast messages.\n * Executes the configured onClick callback for the toast message, if provided.\n * Removes the toast message, if the removeOnClick configuration is enabled.\n *\n * @param toast - The clicked toast message\n * @returns An event handler function that processes click events on the toast\n */\n handleToastClick(toast) {\n return (event) => {\n var _a, _b;\n if ((_a = toast.config) === null || _a === void 0 ? void 0 : _a.onClick) {\n toast.config.onClick(event);\n }\n if ((_b = toast.config) === null || _b === void 0 ? void 0 : _b.removeOnClick) {\n this.toasts.remove(toast);\n this.clearToastTimeout(toast);\n }\n };\n }\n};\nOntoToastr.style = ontoToastrCss;\n\nconst ontoTooltipCss = \".tippy-box[data-animation=fade][data-state=hidden]{opacity:0}[data-tippy-root]{max-width:calc(100vw - 10px)}.tippy-box{position:relative;background-color:#333;color:#fff;border-radius:4px;font-size:14px;line-height:1.4;white-space:normal;outline:0;transition-property:transform,visibility,opacity}.tippy-box[data-placement^=top]>.tippy-arrow{bottom:0}.tippy-box[data-placement^=top]>.tippy-arrow:before{bottom:-7px;left:0;border-width:8px 8px 0;border-top-color:initial;transform-origin:center top}.tippy-box[data-placement^=bottom]>.tippy-arrow{top:0}.tippy-box[data-placement^=bottom]>.tippy-arrow:before{top:-7px;left:0;border-width:0 8px 8px;border-bottom-color:initial;transform-origin:center bottom}.tippy-box[data-placement^=left]>.tippy-arrow{right:0}.tippy-box[data-placement^=left]>.tippy-arrow:before{border-width:8px 0 8px 8px;border-left-color:initial;right:-7px;transform-origin:center left}.tippy-box[data-placement^=right]>.tippy-arrow{left:0}.tippy-box[data-placement^=right]>.tippy-arrow:before{left:-7px;border-width:8px 8px 8px 0;border-right-color:initial;transform-origin:center right}.tippy-box[data-inertia][data-state=visible]{transition-timing-function:cubic-bezier(.54,1.5,.38,1.11)}.tippy-arrow{width:16px;height:16px;color:#333}.tippy-arrow:before{content:\\\"\\\";position:absolute;border-color:transparent;border-style:solid}.tippy-content{position:relative;padding:5px 9px;z-index:1}.tippy-box[data-theme~=light-border]{background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,8,16,.15);color:#333;box-shadow:0 4px 14px -2px rgba(0,8,16,.08)}.tippy-box[data-theme~=light-border]>.tippy-backdrop{background-color:#fff}.tippy-box[data-theme~=light-border]>.tippy-arrow:after,.tippy-box[data-theme~=light-border]>.tippy-svg-arrow:after{content:\\\"\\\";position:absolute;z-index:-1}.tippy-box[data-theme~=light-border]>.tippy-arrow:after{border-color:transparent;border-style:solid}.tippy-box[data-theme~=light-border][data-placement^=top]>.tippy-arrow:before{border-top-color:#fff}.tippy-box[data-theme~=light-border][data-placement^=top]>.tippy-arrow:after{border-top-color:rgba(0,8,16,.2);border-width:7px 7px 0;top:17px;left:1px}.tippy-box[data-theme~=light-border][data-placement^=top]>.tippy-svg-arrow>svg{top:16px}.tippy-box[data-theme~=light-border][data-placement^=top]>.tippy-svg-arrow:after{top:17px}.tippy-box[data-theme~=light-border][data-placement^=bottom]>.tippy-arrow:before{border-bottom-color:#fff;bottom:16px}.tippy-box[data-theme~=light-border][data-placement^=bottom]>.tippy-arrow:after{border-bottom-color:rgba(0,8,16,.2);border-width:0 7px 7px;bottom:17px;left:1px}.tippy-box[data-theme~=light-border][data-placement^=bottom]>.tippy-svg-arrow>svg{bottom:16px}.tippy-box[data-theme~=light-border][data-placement^=bottom]>.tippy-svg-arrow:after{bottom:17px}.tippy-box[data-theme~=light-border][data-placement^=left]>.tippy-arrow:before{border-left-color:#fff}.tippy-box[data-theme~=light-border][data-placement^=left]>.tippy-arrow:after{border-left-color:rgba(0,8,16,.2);border-width:7px 0 7px 7px;left:17px;top:1px}.tippy-box[data-theme~=light-border][data-placement^=left]>.tippy-svg-arrow>svg{left:11px}.tippy-box[data-theme~=light-border][data-placement^=left]>.tippy-svg-arrow:after{left:12px}.tippy-box[data-theme~=light-border][data-placement^=right]>.tippy-arrow:before{border-right-color:#fff;right:16px}.tippy-box[data-theme~=light-border][data-placement^=right]>.tippy-arrow:after{border-width:7px 7px 7px 0;right:17px;top:1px;border-right-color:rgba(0,8,16,.2)}.tippy-box[data-theme~=light-border][data-placement^=right]>.tippy-svg-arrow>svg{right:11px}.tippy-box[data-theme~=light-border][data-placement^=right]>.tippy-svg-arrow:after{right:12px}.tippy-box[data-theme~=light-border]>.tippy-svg-arrow{fill:#fff}.tippy-box[data-theme~=light-border]>.tippy-svg-arrow:after{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMCA2czEuNzk2LS4wMTMgNC42Ny0zLjYxNUM1Ljg1MS45IDYuOTMuMDA2IDggMGMxLjA3LS4wMDYgMi4xNDguODg3IDMuMzQzIDIuMzg1QzE0LjIzMyA2LjAwNSAxNiA2IDE2IDZIMHoiIGZpbGw9InJnYmEoMCwgOCwgMTYsIDAuMikiLz48L3N2Zz4=);background-size:16px 6px;width:16px;height:6px}:host{display:block}.tippy-box[data-theme=onto-tooltip]{color:var(--gw-tooltip-color);background-color:var(--gw-tooltip-background);border-radius:0}.tippy-box[data-theme=onto-tooltip] .tippy-arrow{color:var(--gw-tooltip-background)}\";\n\nconst OntoTooltip = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n /**\n * Clears tooltips associated with elements that have been removed from the DOM.\n *\n * @param records - An array of MutationRecord objects, each representing a change to the DOM tree.\n * The function iterates over these records to find and clear tooltips for removed nodes.\n */\n this.clearTooltipsForRemovedElements = (records) => {\n for (const record of records) {\n for (const node of Array.from(record.removedNodes)) {\n if (this.removeTooltipFromNode(node)) {\n // stop iterating if a tooltip is found and destroyed,\n // since we can't have more than one tooltip\n return;\n }\n }\n }\n };\n /**\n * Recursively removes tooltips from a given node and its children.\n *\n * This function checks if the given node is an HTMLElement and has an associated tooltip.\n * If a tooltip is found, it is destroyed. If not, the function then recursively checks all child nodes.\n *\n * @param node - The DOM node to check for tooltips.\n * @returns A boolean indicating whether a tooltip was found and destroyed (true) or not (false).\n */\n this.removeTooltipFromNode = (node) => {\n if (node instanceof HTMLElement) {\n const tooltipInstance = TooltipUtil.getTooltipInstance(node);\n if (tooltipInstance) {\n TooltipUtil.destroyTooltip(node);\n return true;\n }\n node.childNodes.forEach(this.removeTooltipFromNode);\n }\n return false;\n };\n }\n /**\n * Checks if the target of the 'mouseover' event has tooltip configuration.\n * If it does, creates a tooltip instance and displays it.\n *\n * @param event - The 'mouseover' event triggered on a document element.\n */\n onMouseover(event) {\n const target = TooltipUtil.getTooltipTarget(event.target);\n if (!target) {\n return;\n }\n const tooltipInstance = TooltipUtil.getOrCreateTooltipInstance(target);\n tooltipInstance.show();\n target.hideTooltip = () => {\n tooltipInstance.hide();\n };\n }\n /**\n * Destroys the tooltip if it is present.\n *\n * @param event - The 'mouseout' event triggered on a document element.\n */\n onMouseout(event) {\n const target = TooltipUtil.getTooltipTarget(event.target);\n if (!target) {\n return;\n }\n const relatedTarget = event.relatedTarget;\n // Ensure the mouse is completely outside the target and its children\n if (!relatedTarget || !target.contains(relatedTarget)) {\n const tooltipInstance = TooltipUtil.getTooltipInstance(target);\n if (tooltipInstance && tooltipInstance.props.trigger === 'manual') {\n TooltipUtil.destroyTooltip(target);\n }\n }\n }\n connectedCallback() {\n this.handleRemovedNodes();\n }\n disconnectedCallback() {\n var _a;\n (_a = this.observer) === null || _a === void 0 ? void 0 : _a.disconnect();\n }\n render() {\n return h(Host, { key: '9b797bae73df060bdecef74fb84a90fb61ac6eef' });\n }\n /**\n * Initializes a MutationObserver to monitor the document body for removed nodes.\n * When nodes are removed, it triggers the clearing of tooltips associated with those nodes.\n */\n handleRemovedNodes() {\n this.observer = new MutationObserver(this.clearTooltipsForRemovedElements);\n this.observer.observe(document.body, { childList: true, subtree: true });\n }\n};\nOntoTooltip.style = ontoTooltipCss;\n\nexport { OntoFooter as onto_footer, OntoHeader as onto_header, OntoNavbar as onto_navbar, OntoToastr as onto_toastr, OntoTooltip as onto_tooltip };\n","const INTERACTIVE_ELEMENTS_SELECTOR = 'button, [href], input:not([type=\"hidden\"]), select, textarea, [tabindex]:not([tabindex=\"-1\"])';\nclass HtmlUtil {\n /**\n * Setter for the document body overflow property.\n *\n * @param newOverflow - the new overflow value.\n *\n * @return the old overflow value.\n */\n static setDocumentBodyOverflow(newOverflow) {\n const oldOverflow = document.body.style.overflow;\n document.body.style.overflow = newOverflow;\n return oldOverflow;\n }\n /**\n * Hides the document body overflow.\n *\n * @return the value of overflow before set it to hidden.\n */\n static hideDocumentBodyOverflow() {\n return HtmlUtil.setDocumentBodyOverflow('hidden');\n }\n /**\n * Focuses the next element within a specified parent element based on the <code>activeElementSelector</code>, that selects all elements to be focused.\n *\n * @param parentElement - The parent element containing the focusable elements.\n * @param activeElementSelector - The CSS selector for identifying focusable elements.\n */\n static focusNextElement(parentElement, activeElementSelector = INTERACTIVE_ELEMENTS_SELECTOR) {\n const focusableElements = Array.from(parentElement.querySelectorAll(activeElementSelector));\n if (focusableElements.length > 0) {\n const currentIndex = focusableElements.indexOf(document.activeElement);\n const nextIndex = (currentIndex + 1) % focusableElements.length;\n const nextActiveElement = focusableElements[nextIndex];\n if (nextActiveElement) {\n nextActiveElement.focus();\n }\n }\n }\n /**\n * Focuses the previous element within a specified parent element based on the <code>activeElementSelector</code>, that selects all elements to be focused.\n *\n * @param parentElement - The parent element containing the focusable elements.\n * @param activeElementSelector - The CSS selector for identifying focusable elements.\n */\n static focusPreviousElement(parentElement, activeElementSelector = INTERACTIVE_ELEMENTS_SELECTOR) {\n const focusableElements = Array.from(parentElement.querySelectorAll(activeElementSelector));\n if (focusableElements.length > 0) {\n const currentIndex = focusableElements.indexOf(document.activeElement);\n const previousIndex = (currentIndex - 1 + focusableElements.length) % focusableElements.length;\n const previousActiveElement = focusableElements[previousIndex];\n if (previousActiveElement) {\n previousActiveElement.focus();\n }\n }\n }\n static preventLeavingDialog(hostElement, ev) {\n if (ev.key === 'Tab') {\n ev.preventDefault();\n if (ev.shiftKey) {\n HtmlUtil.focusPreviousElement(hostElement);\n }\n else {\n HtmlUtil.focusNextElement(hostElement);\n }\n }\n }\n /**\n * Focuses an element in the document based on the provided CSS selector.\n *\n * @param selector - A CSS selector string used to identify the element to focus.\n * This should be a valid CSS selector that uniquely identifies the target element.\n */\n static focusElement(selector) {\n const element = document.querySelector(selector);\n element === null || element === void 0 ? void 0 : element.focus();\n }\n /**\n * Scrolls an element into the visible area of its scrollable container.\n *\n * @param elementSelector - A CSS selector string used to identify the element to scroll into view.\n * This should be a valid CSS selector that uniquely identifies the target element.\n * @param options the scroll into view options.\n */\n static scrollElementIntoView(elementSelector, options = { block: 'nearest' }) {\n const element = document.querySelector(elementSelector);\n if (!element) {\n return;\n }\n element.scrollIntoView(options);\n }\n /**\n * Waits for an element to appear in the DOM by observing DOM mutations.\n * This function creates a MutationObserver that watches for changes in the document body\n * and resolves with the element once it becomes available.\n *\n * @param selector - A CSS selector string used to identify the element to wait for.\n * This should be a valid CSS selector that uniquely identifies the target element.\n *\n * @returns A Promise that resolves with the found HTMLElement when it appears in the DOM,\n * or rejects if an error occurs during the observation process.\n */\n static waitForElement(selector) {\n return new Promise((resolve, reject) => {\n const observer = new MutationObserver(() => {\n try {\n const element = document.querySelector(selector);\n if (element) {\n observer.disconnect();\n resolve(element);\n }\n }\n catch (error) {\n observer.disconnect();\n reject(error);\n }\n });\n observer.observe(document.body, { subtree: true, childList: true, attributes: true });\n });\n }\n}\n\nexport { HtmlUtil as H };\n","/**\n * Model that holds a dropdown item configuration.\n */\nclass DropdownItem {\n constructor() {\n /**\n * Specifies the events that trigger the dropdown item tooltip to appear. Multiple event names should be separated by spaces.\n */\n this._dropdownTooltipTrigger = 'manual';\n }\n get name() {\n return this._name;\n }\n setName(value) {\n this._name = value;\n return this;\n }\n get nameLabelKey() {\n return this._nameLabelKey;\n }\n setNameLabelKey(value) {\n this._nameLabelKey = value;\n return this;\n }\n get tooltip() {\n return this._tooltip;\n }\n setTooltip(value) {\n this._tooltip = value;\n return this;\n }\n get tooltipLabelKey() {\n return this._tooltipLabelKey;\n }\n setTooltipLabelKey(value) {\n this._tooltipLabelKey = value;\n return this;\n }\n get iconClass() {\n return this._iconClass;\n }\n setIconClass(value) {\n this._iconClass = value;\n return this;\n }\n get value() {\n return this._value;\n }\n setValue(value) {\n this._value = value;\n return this;\n }\n get dropdownTooltipTrigger() {\n return this._dropdownTooltipTrigger;\n }\n setDropdownTooltipTrigger(value) {\n this._dropdownTooltipTrigger = value;\n return this;\n }\n get cssClass() {\n return this._cssClass;\n }\n setCssClass(value) {\n this._cssClass = value;\n return this;\n }\n get guideSelector() {\n return this._guideSelector;\n }\n setGuideSelector(value) {\n this._guideSelector = value;\n return this;\n }\n}\n\nvar ResourceSearchConstants;\n(function (ResourceSearchConstants) {\n ResourceSearchConstants[\"SUGGESTION_SELECTED_EVENT\"] = \"suggestion-selected-event\";\n ResourceSearchConstants[\"TABLE_VIEW\"] = \"table\";\n ResourceSearchConstants[\"VISUAL_VIEW\"] = \"visual\";\n ResourceSearchConstants[\"RDF_SEARCH_ICON_CLICKED\"] = \"rdfSearchIconClicked\";\n})(ResourceSearchConstants || (ResourceSearchConstants = {}));\n\nexport { DropdownItem as D, ResourceSearchConstants as R };\n"],"names":["OntoFooter","constructor","hostRef","registerInstance","this","subscriptions","SubscriptionList","currentYear","Date","getFullYear","securityContextService","ServiceProvider","get","SecurityContextService","licenseContextService","LicenseContextService","cookieService","CookieService","handleConsentGiven","acceptCookiePolicy","then","shouldShowCookieConsent","render","_a","_b","_c","_d","h","Host","key","class","href","target","rel","productInfo","productVersion","sesame","connectors","workbench","labelKey","connectedCallback","subscribeToProductInfoChange","subscribeToUserChange","subscribeToLicenseChange","disconnectedCallback","unsubscribeAll","add","ProductInfoContextService","onProductInfoChanged","isTrackingAllowed","LicenseService","isTrackableLicense","WindowService","getWindow","wbDevMode","onAuthenticatedUserChanged","setCookieConsentVisibility","user","getAuthenticatedUser","CookieConsent","appSettings","COOKIE_CONSENT","policyAccepted","onLicenseChanged","style","SelectorItemButton","repository","type","id","location","OntoHeader","monitoringService","MonitoringService","repositoryContextService","RepositoryContextService","repositoryLocationContextService","RepositoryLocationContextService","repositoryService","RepositoryService","toastrService","OntoToastrService","namespacesService","NamespacesService","namespaceContextService","NamespacesContextService","languageService","LanguageService","UPDATE_ACTIVE_OPERATION_TIME_INTERVAL","fibonacciGenerator","FibonacciGenerator","authService","AuthenticationService","eventService","EventService","shouldShowSearch","isHomePage","isActiveLocationLoading","repositoryItems","skipUpdateActiveOperationsTimes","canWriteRepo","repo","canWriteRepoInLocation","repositorySizeInfoFetcher","getRepositorySizeInfo","showViewResourceMessage","event","stopPropagation","info","TranslationService","translate","HtmlUtil","focusElement","emit","NAME","ResourceSearchConstants","RDF_SEARCH_ICON_CLICKED","stopOperationPolling","currentRepository","getSelectedRepository","setupTotalRepositoryFormater","subscribeToEvents","currentRoute","getCurrentRoute","startOperationPolling","_e","_f","onClick","display","activeOperations","allRunningOperations","getItems","length","license","valid","items","totalTripletsFormatter","securityConfig","enabled","userLoggedIn","subscribeToSecurityContextChange","subscribeToRepositoryListChanged","subscribeToRepositoryChange","subscribeToActiveRepositoryLocationChange","subscribeToActiveRepoLoadingChange","subscribeToNavigationEnd","subscribeToLanguageChanged","subscribeToAuthenticatedUserChange","onRepositoryListChanged","repositories","initOnRepositoryListChanged","resetOnMissingRepositories","onSelectedRepositoryChanged","shouldShowRdfSearch","loadNamespaces","updateRepositoryItems","onSecurityConfigChanged","config","onActiveLocationChanged","onIsLoadingChanged","isLoading","subscribe","EventName","NAVIGATION_END","LanguageContextService","onSelectedLanguageChanged","language","repositoryList","RepositoryList","undefined","getRepositoriesDropdownItems","sortByLocationAndId","filterByRepository","filter","canReadRepo","canReadGqlRepo","map","DropdownItem","setName","setValue","setDropdownTooltipTrigger","setGuideSelector","_repository","getNamespaces","namespaces","updateNamespaces","clearInterval","pollingInterval","setInterval","isAuthenticated","getOperations","operations","ObjectUtil","deepEqual","reset","catch","next","getPathName","getDefaultLanguage","Intl","NumberFormat","minimumFractionDigits","maximumFractionDigits","NavbarToggledEvent","isOpened","payload","NavbarModel","_items","hasParent","parentLabel","some","parentItem","label","getModel","cloneItem","item","clonedChildren","children","NavbarItemModel","Object","assign","addItem","push","getSelectedRootItem","find","selected","isParentOpened","getParentItem","open","getTopLevelItem","parent","i","deselectAll","walk","closeAll","deselectItem","selectItem","parentModel","hasSelectedSubmenu","child","hasSelection","closeOpened","opened","openItemAndParent","closeOtherParents","currentItem","highlightSelected","selectedItem","getSelectedItem","unhighlightSelected","selectedRootItem","findSelected","expandSelected","initSelected","selectedMenu","path","includes","getWildcardPath","pathParts","split","hrefParts","resultParts","join","sorted","forEach","sort","compare","a","b","order","callback","walkRecursively","data","_selected","_open","_order","_label","_labelKey","_href","_children","_hasParent","_parent","_documentationHref","documentationHref","_hrefFun","hrefFun","_editions","editions","_icon","icon","_role","role","_guideSelector","guideSelector","_testSelector","testSelector","_shouldShow","shouldShow","_parentModel","addChild","setParent","addChildren","hasSubmenus","value","logger","LoggerProvider","NavbarService","navbarPlugins","navbarModel","setTopLevelMenuItems","setSubmenuItems","menuPlugin","warn","toMenuItemModel","topLevelItem","externalLink","UriUtil","resolveDocumentationUrl","shortVersion","itemModel","childrenModels","childrenItem","labelKeys","OntoNavbar","navbarToggled","createEvent","productInfoContextService","resizeHandler","adjustAllSubmenus","hostElement","SUBMENU_VERTICAL_MARGIN","MIN_SUBMENU_HEIGHT","labels","isCollapsedByUser","isCollapsed","navbarCollapsedChange","collapsed","expandNavbar","collapseNavbar","menuItemsChanged","menuItems","init","internalModel","menuModel","select","menuItem","preventDefault","clearAllOpenedSubmenuStyles","ctrlKey","openInNewTab","navigate","refreshNavbar","selectItemByUrl","toggleNavbar","querySelector","classList","remove","onLanguageChanged","onTranslate","translation","toggleNavbarHandler","adjustSubmenuMaxHeight","sub","margin","getBoundingClientRect","parentElement","closest","subRect","parentRect","viewportHeight","window","innerHeight","spaceAbove","top","height","spaceBelow","bottom","maxHeight","shouldAlignBottom","Math","max","overflowY","host","requestAnimationFrame","querySelectorAll","getAllOpenedSubmenus","s","Array","from","getAllSubmenus","componentWillLoad","subscribeToProductInfoChanges","addEventListener","removeEventListener","handleSelectMenuItem","title","navigateTo","Fragment","submenu","getElement","watchers","toastTypeToIconMap","ToastType","INFO","SUCCESS","WARNING","ERROR","OntoToastr","toasts","ToastMessageList","toastToTimeout","Map","ToastrConfig","getDefaultConfig","onToastMouseEnter","toast","clearToastTimeout","onToastMouseLeave","setTimeoutForToast","handleToastCreate","addToast","detail","isEmpty","position","onMouseEnter","onMouseLeave","handleToastClick","innerHTML","sanitizeHTML","message","addToStart","updateToastrReference","timeout","setTimeout","set","timeoutId","clearTimeout","delete","removeOnClick","OntoTooltip","clearTooltipsForRemovedElements","records","record","node","removedNodes","removeTooltipFromNode","HTMLElement","TooltipUtil","getTooltipInstance","destroyTooltip","childNodes","onMouseover","getTooltipTarget","tooltipInstance","getOrCreateTooltipInstance","show","hideTooltip","hide","onMouseout","relatedTarget","contains","props","trigger","handleRemovedNodes","observer","disconnect","MutationObserver","observe","document","body","childList","subtree","INTERACTIVE_ELEMENTS_SELECTOR","setDocumentBodyOverflow","newOverflow","oldOverflow","overflow","hideDocumentBodyOverflow","focusNextElement","activeElementSelector","focusableElements","currentIndex","indexOf","activeElement","nextActiveElement","focus","focusPreviousElement","previousActiveElement","preventLeavingDialog","ev","shiftKey","selector","element","scrollElementIntoView","elementSelector","options","block","scrollIntoView","waitForElement","Promise","resolve","reject","error","attributes","_dropdownTooltipTrigger","name","_name","nameLabelKey","_nameLabelKey","setNameLabelKey","tooltip","_tooltip","setTooltip","tooltipLabelKey","_tooltipLabelKey","setTooltipLabelKey","iconClass","_iconClass","setIconClass","_value","dropdownTooltipTrigger","cssClass","_cssClass","setCssClass"],"sourceRoot":""}
1
+ {"version":3,"file":"7815.49f59c286fc0d0b306ab.bundle.js","mappings":"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","sources":["webpack://root-config/./packages/shared-components/dist/esm/onto-footer_5.entry.js","webpack://root-config/./packages/shared-components/dist/esm/html-util-C8DO915D.js","webpack://root-config/./packages/shared-components/dist/esm/resource-search-constants-CapzAxJp.js"],"sourcesContent":["import { r as registerInstance, h, a as Host, c as createEvent, F as Fragment, g as getElement } from './index-I_gcXFWK.js';\nimport { SubscriptionList, ServiceProvider, SecurityContextService, LicenseContextService, CookieService, ProductInfoContextService, LicenseService, WindowService, CookieConsent, MonitoringService, RepositoryContextService, RepositoryLocationContextService, RepositoryService, OntoToastrService, NamespacesService, NamespacesContextService, LanguageService, FibonacciGenerator, AuthenticationService, EventService, isHomePage, getCurrentRoute, EventName, LanguageContextService, RepositoryList, ObjectUtil, getPathName, UriUtil, openInNewTab, navigate, navigateTo, ToastMessageList, ToastrConfig, ToastType } from '@ontotext/workbench-api';\nimport { T as TranslationService, L as LoggerProvider, s as sanitizeHTML } from './translation.service-nljGIprK.js';\nimport { H as HtmlUtil } from './html-util-C8DO915D.js';\nimport { R as ResourceSearchConstants, D as DropdownItem } from './resource-search-constants-CapzAxJp.js';\nimport { T as TooltipUtil } from './tooltip-util-BqOc8q8q.js';\nimport './onto-tooltip-placement-D_J2-9CG.js';\n\nconst ontoFooterCss = \":host{display:block}.footer-component{padding-left:var(--main-content-rl-padding);height:1.875rem}\";\n\nconst OntoFooter = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n /** List of subscriptions to manage component lifecycle */\n this.subscriptions = new SubscriptionList();\n /** Current year for copyright display */\n this.currentYear = new Date().getFullYear();\n this.securityContextService = ServiceProvider.get(SecurityContextService);\n this.licenseContextService = ServiceProvider.get(LicenseContextService);\n this.cookieService = ServiceProvider.get(CookieService);\n }\n handleConsentGiven() {\n this.cookieService.acceptCookiePolicy()\n .then(() => this.shouldShowCookieConsent = false);\n }\n render() {\n var _a, _b, _c, _d;\n return (h(Host, { key: 'c5bbe0151e3eb14932bacecaad88b7e529e3a1f1' }, h(\"div\", { key: '5d4e0501b872ccbaa2e48f99361a948e83191b65', class: \"footer-component\" }, h(\"a\", { key: 'e81e156b6b691a0a05275ee399ccf26438ba5729', href: \"http://graphdb.ontotext.com\", target: \"_blank\", rel: \"noopener noreferrer\" }, \"GraphDB\"), \"\\u00A0\", (_a = this.productInfo) === null || _a === void 0 ? void 0 :\n _a.productVersion, \" \\u2022\\u00A0\", h(\"a\", { key: '018b1772807248dfd83e0c2ca57fde6bd848e9c9', href: \"http://rdf4j.org\", target: \"_blank\", rel: \"noopener noreferrer\" }, \"RDF4J\"), \"\\u00A0\", (_b = this.productInfo) === null || _b === void 0 ? void 0 :\n _b.sesame, \" \\u2022 Connectors \", (_c = this.productInfo) === null || _c === void 0 ? void 0 :\n _c.connectors, \" \\u2022 Workbench \", (_d = this.productInfo) === null || _d === void 0 ? void 0 :\n _d.workbench, \" \\u2022 \\u00A9 2002\\u2013\", this.currentYear, \"\\u00A0\", h(\"a\", { key: '20e70771852b0c504e86e36a1b9fdb9b61d5963c', href: \"http://ontotext.com\", target: \"_blank\", rel: \"noopener noreferrer\" }, \"Ontotext AD\"), \".\\u00A0\", h(\"translate-label\", { key: '8df55b8d224ae50ca9de3fd038c0285ee01b4ff3', labelKey: 'footer.label.all_rights_reserved' })), this.shouldShowCookieConsent && h(\"onto-cookie-consent\", { key: '80f9c1af70db76ef4c6680dacf7022eb1262f049' })));\n }\n // ========================\n // Lifecycle methods\n // ========================\n connectedCallback() {\n this.subscribeToProductInfoChange();\n this.subscribeToUserChange();\n this.subscribeToLicenseChange();\n }\n disconnectedCallback() {\n this.subscriptions.unsubscribeAll();\n }\n subscribeToProductInfoChange() {\n this.subscriptions.add(ServiceProvider.get(ProductInfoContextService)\n .onProductInfoChanged(productInfo => {\n this.productInfo = productInfo;\n }));\n }\n isTrackingAllowed() {\n return ServiceProvider.get(LicenseService).isTrackableLicense() && !WindowService.getWindow().wbDevMode;\n }\n subscribeToUserChange() {\n // TODO: move to cookieService, when the authenticatedUser is available synchronously\n this.subscriptions.add(this.securityContextService.onAuthenticatedUserChanged(() => {\n this.setCookieConsentVisibility();\n }));\n }\n setCookieConsentVisibility() {\n var _a;\n const user = this.securityContextService.getAuthenticatedUser();\n this.shouldShowCookieConsent = this.isTrackingAllowed() && !new CookieConsent((_a = user === null || user === void 0 ? void 0 : user.appSettings) === null || _a === void 0 ? void 0 : _a.COOKIE_CONSENT).policyAccepted;\n }\n subscribeToLicenseChange() {\n this.subscriptions.add(this.licenseContextService.onLicenseChanged(() => {\n this.setCookieConsentVisibility();\n }));\n }\n};\nOntoFooter.style = ontoFooterCss;\n\n/**\n *\n * A StencilJS functional component that renders a repository item in the repository selector dropdown. It displays the repository's\n * icon, ID, and location. If no location is specified, it shows \"Local\" as the default. This component also allows for\n * dynamic rendering of repository details as part of a list of selectable items.\n *\n * @example\n * <SelectorItemButton repository={repository}></>\n *\n */\nconst SelectorItemButton = ({ repository }) => {\n return (h(\"div\", { class: \"repository-selector-dropdown-item\" },\n h(\"i\", { class: 'item-icon icon-repo-' + repository.type }),\n h(\"div\", { class: \"item-label\" },\n h(\"div\", { class: \"repository-id\" }, repository.id),\n h(\"div\", { class: \"repository-location\" }, repository.location ? repository.location : 'Local'))));\n};\n\nconst ontoHeaderCss = \":host{display:block}.header-component>*{height:100%}.header-component{display:flex;justify-content:flex-end;align-items:stretch;gap:0.25em;margin-right:2em;font-size:1.1em;padding-bottom:0.5rem}\";\n\nconst OntoHeader = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n // ========================\n // Services\n // ========================\n this.monitoringService = ServiceProvider.get(MonitoringService);\n this.repositoryContextService = ServiceProvider.get(RepositoryContextService);\n this.repositoryLocationContextService = ServiceProvider.get(RepositoryLocationContextService);\n this.repositoryService = ServiceProvider.get(RepositoryService);\n this.securityContextService = ServiceProvider.get(SecurityContextService);\n this.toastrService = ServiceProvider.get(OntoToastrService);\n this.namespacesService = ServiceProvider.get(NamespacesService);\n this.namespaceContextService = ServiceProvider.get(NamespacesContextService);\n this.languageService = ServiceProvider.get(LanguageService);\n this.UPDATE_ACTIVE_OPERATION_TIME_INTERVAL = 2000;\n this.fibonacciGenerator = new FibonacciGenerator();\n this.authService = ServiceProvider.get(AuthenticationService);\n this.eventService = ServiceProvider.get(EventService);\n /** Whether the search component should appear */\n this.shouldShowSearch = true;\n this.isHomePage = isHomePage();\n // ========================\n // Private\n // ========================\n this.isActiveLocationLoading = false;\n this.repositoryItems = [];\n /** Array of subscription cleanup functions */\n this.subscriptions = new SubscriptionList();\n this.skipUpdateActiveOperationsTimes = 0;\n this.canWriteRepo = (repo) => {\n return this.canWriteRepoInLocation(repo);\n };\n this.repositorySizeInfoFetcher = (repo) => {\n return this.repositoryService.getRepositorySizeInfo(repo);\n };\n this.showViewResourceMessage = (event) => {\n event.stopPropagation();\n this.toastrService.info(TranslationService.translate('rdf_search.toasts.use_view_resource'));\n this.shouldShowSearch = false;\n HtmlUtil.focusElement('#search-resource-input-home input');\n this.eventService.emit({ NAME: ResourceSearchConstants.RDF_SEARCH_ICON_CLICKED });\n };\n }\n // ========================\n // Lifecycle methods\n // ========================\n disconnectedCallback() {\n this.subscriptions.unsubscribeAll();\n this.stopOperationPolling();\n }\n connectedCallback() {\n this.currentRepository = this.repositoryContextService.getSelectedRepository();\n this.setupTotalRepositoryFormater();\n this.subscribeToEvents();\n this.currentRoute = getCurrentRoute();\n this.startOperationPolling();\n }\n render() {\n var _a, _b, _c, _d, _e, _f;\n return (h(Host, { key: '8222e10554a901e025c47424aea4b6294f240ea4' }, h(\"div\", { key: '8a0b771d5dbddcb7acff61e7a436d2e4a097277f', class: \"header-component\" }, h(\"onto-search-icon\", { key: 'd24c7f1be0241391078cc730a1ef2a5a86172e8f', class: \"rdf-search-button\", onClick: this.showViewResourceMessage, \"data-test\": 'onto-show-view-resource-message', style: { display: this.shouldShowSearch && this.isHomePage ? 'block' : 'none' } }), h(\"onto-rdf-search\", { key: 'b75323ddf445ea121fd6067723bf8550b861f4e5', \"data-test\": 'onto-open-rdf-search-button', style: { display: this.shouldShowSearch && !this.isHomePage ? 'block' : 'none' } }), ((_a = this.activeOperations) === null || _a === void 0 ? void 0 : _a.allRunningOperations.getItems().length)\n ? h(\"onto-operations-notification\", { activeOperations: this.activeOperations })\n : '', this.license && !((_b = this.license) === null || _b === void 0 ? void 0 : _b.valid) ?\n h(\"onto-license-alert\", { license: this.license }) : '', h(\"onto-repository-selector\", { key: '25a3345c6482a2794032b161a78bc98204aff061', currentRepository: this.currentRepository, items: this.repositoryItems, repositorySizeInfoFetcher: this.repositorySizeInfoFetcher, totalTripletsFormatter: this.totalTripletsFormatter, canWriteRepo: this.canWriteRepo }), ((_c = this.securityConfig) === null || _c === void 0 ? void 0 : _c.enabled) && ((_d = this.securityConfig) === null || _d === void 0 ? void 0 : _d.userLoggedIn) ? h(\"onto-user-menu\", { user: this.user, securityConfig: this.securityConfig }) : '', ((_e = this.securityConfig) === null || _e === void 0 ? void 0 : _e.enabled) && !((_f = this.securityConfig) === null || _f === void 0 ? void 0 : _f.userLoggedIn) && (this.currentRoute !== 'login') ? h(\"onto-user-login\", null) : '', h(\"onto-language-selector\", { key: '16cba1ff6d691fe0b7442d88940ec9f9ee22aebd', \"dropdown-alignment\": \"right\" }))));\n }\n // ========================\n // Subscriptions\n // ========================\n subscribeToEvents() {\n this.subscribeToSecurityContextChange();\n this.subscribeToRepositoryListChanged();\n this.subscribeToLicenseChange();\n this.subscribeToRepositoryChange();\n this.subscribeToActiveRepositoryLocationChange();\n this.subscribeToActiveRepoLoadingChange();\n this.subscribeToNavigationEnd();\n this.subscribeToLanguageChanged();\n this.subscribeToAuthenticatedUserChange();\n }\n subscribeToRepositoryListChanged() {\n return this.repositoryContextService.onRepositoryListChanged((repositories) => {\n if (!(repositories === null || repositories === void 0 ? void 0 : repositories.getItems().length)) {\n this.resetOnMissingRepositories();\n }\n else {\n this.initOnRepositoryListChanged(repositories);\n }\n });\n }\n subscribeToLicenseChange() {\n this.subscriptions.add(ServiceProvider.get(LicenseContextService)\n .onLicenseChanged((license) => {\n this.license = license;\n }));\n }\n subscribeToRepositoryChange() {\n this.subscriptions.add(this.repositoryContextService.onSelectedRepositoryChanged((repository) => {\n this.currentRepository = repository;\n this.shouldShowSearch = this.shouldShowRdfSearch();\n this.loadNamespaces();\n this.updateRepositoryItems();\n }));\n }\n subscribeToSecurityContextChange() {\n // TODO: This should be done by the authentication service, when the config and auth user are available synchronously\n this.subscriptions.add(this.securityContextService.onAuthenticatedUserChanged((user) => {\n this.user = user;\n }));\n this.subscriptions.add(this.securityContextService.onSecurityConfigChanged((config) => {\n this.securityConfig = config;\n }));\n }\n subscribeToAuthenticatedUserChange() {\n this.subscriptions.add(this.securityContextService.onAuthenticatedUserChanged(() => {\n this.updateRepositoryItems();\n }));\n }\n subscribeToActiveRepositoryLocationChange() {\n this.subscriptions.add(this.repositoryLocationContextService.onActiveLocationChanged(() => {\n this.shouldShowSearch = this.shouldShowRdfSearch();\n }));\n }\n subscribeToActiveRepoLoadingChange() {\n this.subscriptions.add(this.repositoryLocationContextService.onIsLoadingChanged((isLoading) => {\n this.isActiveLocationLoading = isLoading;\n this.shouldShowSearch = this.shouldShowRdfSearch();\n }));\n }\n subscribeToNavigationEnd() {\n this.subscriptions.add(this.eventService.subscribe(EventName.NAVIGATION_END, () => {\n this.shouldShowSearch = this.shouldShowRdfSearch();\n this.isHomePage = isHomePage();\n this.currentRoute = getCurrentRoute();\n }));\n }\n subscribeToLanguageChanged() {\n this.subscriptions.add(ServiceProvider.get(LanguageContextService)\n .onSelectedLanguageChanged((language) => this.setupTotalRepositoryFormater(language)));\n }\n // ========================\n // Repository Logic\n // ========================\n resetOnMissingRepositories() {\n this.repositoryItems = [];\n this.repositoryList = new RepositoryList();\n this.currentRepository = undefined;\n }\n initOnRepositoryListChanged(repositories) {\n this.repositoryList = repositories;\n this.updateRepositoryItems();\n }\n updateRepositoryItems() {\n this.repositoryItems = this.getRepositoriesDropdownItems();\n }\n getRepositoriesDropdownItems() {\n var _a;\n if (!((_a = this.repositoryList) === null || _a === void 0 ? void 0 : _a.getItems().length)) {\n return [];\n }\n this.repositoryList.sortByLocationAndId();\n let repositories;\n if (this.currentRepository) {\n repositories = this.repositoryList.filterByRepository([this.currentRepository]);\n }\n else {\n repositories = this.repositoryList.getItems();\n }\n return repositories\n .filter((repository) => this.authService.canReadRepo(repository) || this.authService.canReadGqlRepo(repository))\n .map((repository) => {\n return new DropdownItem()\n .setName(h(SelectorItemButton, { repository: repository }))\n .setValue(repository)\n .setDropdownTooltipTrigger('mouseenter focus')\n .setGuideSelector(`repository-id-${repository.id}`);\n });\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n canWriteRepoInLocation(_repository) {\n // TODO: implement the condition when GDB-10442 is ready\n return true;\n }\n loadNamespaces() {\n if (!this.currentRepository || !this.authService.canReadRepo(this.currentRepository)) {\n return;\n }\n // TODO: check why loaction not used maybe it is added in autorization interceptor\n this.namespacesService.getNamespaces(this.currentRepository.id)\n .then((namespaces) => this.namespaceContextService.updateNamespaces(namespaces));\n }\n // ========================\n // Monitoring and pooling\n // ========================\n startOperationPolling() {\n clearInterval(this.pollingInterval);\n this.pollingInterval = WindowService.getWindow().setInterval(() => {\n if (!this.authService.isAuthenticated()) {\n this.activeOperations = undefined;\n return;\n }\n if (this.skipUpdateActiveOperationsTimes > 0) {\n // Requested to skip this run, the number of skips is a Fibonacci sequence when errors are consecutive.\n this.skipUpdateActiveOperationsTimes--;\n return;\n }\n if (!this.currentRepository) {\n return;\n }\n this.monitoringService\n .getOperations(this.currentRepository.id)\n .then((operations) => {\n if (!ObjectUtil.deepEqual(this.activeOperations, operations)) {\n this.activeOperations = operations;\n }\n this.fibonacciGenerator.reset();\n this.skipUpdateActiveOperationsTimes = 0;\n })\n .catch(() => {\n this.activeOperations = undefined;\n this.skipUpdateActiveOperationsTimes = this.fibonacciGenerator.next();\n });\n }, this.UPDATE_ACTIVE_OPERATION_TIME_INTERVAL);\n }\n stopOperationPolling() {\n clearInterval(this.pollingInterval);\n this.activeOperations = undefined;\n }\n // ========================\n // Render logic\n // ========================\n shouldShowRdfSearch() {\n return !!this.currentRepository &&\n (!this.isActiveLocationLoading || getPathName() === '/repository') &&\n this.authService.canReadRepo(this.currentRepository);\n }\n // ========================\n // Language, formatting\n // ========================\n setupTotalRepositoryFormater(language) {\n if (!language) {\n language = this.languageService.getDefaultLanguage();\n }\n this.totalTripletsFormatter = new Intl.NumberFormat(language, {\n style: 'decimal',\n minimumFractionDigits: 0,\n maximumFractionDigits: 0\n });\n }\n};\nOntoHeader.style = ontoHeaderCss;\n\n/**\n * Event fired when the navbar is toggled by the user.\n */\nclass NavbarToggledEvent {\n /**\n * Constructs the event.\n * @param isOpened - Whether the navbar is opened.\n */\n constructor(isOpened) {\n this.type = 'navbarToggled';\n this.payload = isOpened;\n }\n}\n\n/**\n * The UI model for the navbar component.\n */\nclass NavbarModel {\n /**\n * Creates a new instance of the navbar model.\n * @param items The model items. If no items are provided, the model will be empty by default.\n */\n constructor(items = []) {\n this._items = items;\n }\n hasParent(parentLabel) {\n return this._items.some((parentItem) => parentLabel === parentItem.label);\n }\n /**\n * Clones the model. This method is useful when the model needs to be modified without affecting the original model.\n * @return The cloned model.\n */\n getModel() {\n const cloneItem = (item) => {\n const clonedChildren = item.children.map(cloneItem);\n return new NavbarItemModel(Object.assign(Object.assign({}, item), { children: clonedChildren }));\n };\n return this._items.map(cloneItem);\n }\n /**\n * Adds a new top level item to the model. The sub menu items should be added separately as children before calling\n * this method.\n * @param item The item to be added.\n */\n addItem(item) {\n this._items.push(item);\n }\n /**\n * Returns the selected root item.\n * @return The selected root item or null if no item is selected.\n */\n getSelectedRootItem() {\n return this._items.find((item) => item.selected);\n }\n /**\n * Checks if the parent of the provided item is opened.\n * @param item The menu item for which the parent needs to be checked.\n * @return True if the parent is opened, false otherwise. If the item has no parent, the method returns false.\n */\n isParentOpened(item) {\n var _a;\n return !!((_a = this.getParentItem(item)) === null || _a === void 0 ? void 0 : _a.open);\n }\n /**\n * Returns the top level menu item with the given label.\n * @param parent The label of the top level menu item. Each menu item has a label which identifies it in the model.\n * The label comes from the main menu plugin definition and should be unique for each menu item.\n * @return The top level menu item or undefined if no item is found.\n */\n getTopLevelItem(parent) {\n return this._items.find((item) => item.label === parent);\n }\n /**\n * Returns the top level menu item with the same label as the parent property of the provided item.\n * @param item The menu item for which the parent is needed.\n * @return The parent menu item or undefined if no parent is found.\n */\n getParentItem(item) {\n return this._items.find((i) => i.label === item.parent);\n }\n /**\n * Deselects all menu items.\n */\n deselectAll() {\n this.walk((item) => {\n item.selected = false;\n });\n }\n /**\n * Closes all opened top level menu items.\n */\n closeAll() {\n this.walk((item) => {\n item.open = false;\n });\n }\n /**\n * Deselects a top level menu item. When a menu item is selected it is highlighted in the UI.\n * @param item The top level menu item to be deselected.\n */\n deselectItem(item) {\n item.selected = false;\n }\n /**\n * Selects a top level menu item. When a menu item is selected it is highlighted in the UI.\n * @param item The top level menu item to be selected.\n */\n selectItem(item) {\n if (item.label) {\n item.selected = true;\n }\n else {\n this.selectItem(item.parentModel);\n }\n }\n /**\n * Checks if a top level menu item has a selected submenu.\n * @param item The top level menu item to be checked.\n * @return True if the top level menu item has a selected submenu, false otherwise.\n */\n hasSelectedSubmenu(item) {\n if (!item.children) {\n return false;\n }\n return item.children.some(child => this.hasSelection(child));\n }\n /**\n * Recursively checks if any submenu (child or nested) is selected.\n * @param {NavbarItemModel} item - The submenu item to check.\n * @return {boolean} True if selected, or if any descendant is selected.\n */\n hasSelection(item) {\n if (item.selected) {\n return true;\n }\n if (item.children) {\n return item.children.some(child => this.hasSelection(child));\n }\n return false;\n }\n /**\n * Marks an opened top level menu item as closed. If the item has a selected submenu, then the top level menu item\n * is marked as selected to indicate that the submenu is active.\n */\n closeOpened() {\n const opened = this._items.find((item) => item.open);\n if (opened) {\n if (this.hasSelectedSubmenu(opened)) {\n this.selectItem(opened);\n }\n opened.open = false;\n }\n }\n /**\n * Opens a top level menu item and closes all other top level menu items.\n * @param item The top level menu item to be opened.\n */\n open(item) {\n this.walk((item) => {\n item.open = false;\n });\n this.openItemAndParent(item);\n }\n openItemAndParent(item) {\n if (item.parentModel) {\n this.openItemAndParent(item.parentModel);\n }\n item.open = true;\n }\n /**\n * Closes all top level menu items except the one that is the parent of the current item.\n * @param currentItem The current menu item.\n */\n closeOtherParents(currentItem) {\n const parent = currentItem.parent;\n this.walk((item) => {\n if (item.label !== parent) {\n item.open = false;\n }\n });\n }\n /**\n * Highlights the selected menu item by selecting its parent if it has one.\n * This is useful when the navbar is collapsed. This operation is the opposite of the unhighlightSelected method.\n */\n highlightSelected() {\n const selectedItem = this.getSelectedItem();\n if (selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.hasParent) {\n this.selectItem(this.getParentItem(selectedItem));\n }\n }\n /**\n * Unhighlights the selected opened menu item if it has a submenu. This is useful when the navbar is going to be expanded.\n * This operation is the opposite of the highlightSelected method.\n */\n unhighlightSelected() {\n const selectedRootItem = this.getSelectedRootItem();\n if (selectedRootItem && selectedRootItem.children.length && selectedRootItem.open) {\n this.deselectItem(selectedRootItem);\n }\n }\n /**\n * Finds out the selected menu item. It can be a top level menu item or a submenu item.\n * @return The selected menu item or null if no item is selected.\n */\n getSelectedItem() {\n let selectedItem = null;\n const findSelected = (item) => {\n if (item.selected) {\n selectedItem = item;\n return true;\n }\n if (item.children) {\n for (const child of item.children) {\n if (findSelected(child)) {\n return true;\n }\n }\n }\n return false;\n };\n this._items.some(findSelected);\n return selectedItem;\n }\n expandSelected() {\n const selectedItem = this.getSelectedItem();\n if (selectedItem) {\n if (selectedItem.hasParent) {\n this.open(this.getParentItem(selectedItem));\n }\n else {\n this.open(selectedItem);\n }\n }\n }\n /**\n * Finds out the menu item by its href property and marks it as selected if it is a top level menu. If the menu item\n * is a sub menu, it marks its parent as opened and the sub menu item as selected.\n * @param selectedMenu The href of the menu item to be selected.\n */\n initSelected(selectedMenu) {\n this.walk((item) => {\n var _a;\n let path = selectedMenu;\n if ((_a = item.href) === null || _a === void 0 ? void 0 : _a.includes('*')) {\n path = this.getWildcardPath(selectedMenu, item.href);\n }\n if (item.href === path) {\n if (item.hasParent) {\n this.open(item);\n }\n this.selectItem(item);\n }\n });\n }\n /**\n * Compares a given path against a href pattern that may contain wildcards.\n * This function is used to match menu item hrefs that include wildcard segments.\n *\n * @param path - The actual path to compare against the href pattern.\n * @param href - The href pattern that may contain wildcards ('*').\n * @returns A string representing the matched path. If the path matches the href pattern,\n * it returns a version of the href where wildcards are preserved. If there's no match,\n * it returns the original path unchanged.\n */\n getWildcardPath(path, href) {\n const pathParts = path.split('/');\n const hrefParts = href.split('/');\n if (pathParts.length !== hrefParts.length) {\n return path; // Path and href have different number of segments, no match\n }\n const resultParts = [];\n for (let i = 0; i < hrefParts.length; i++) {\n if (hrefParts[i] === '*') {\n resultParts.push('*');\n }\n else if (hrefParts[i] !== pathParts[i]) {\n return path; // Mismatch in non-wildcard segment\n }\n else {\n resultParts.push(hrefParts[i]);\n }\n }\n return resultParts.join('/');\n }\n /**\n * Sorts the menu items by their order property.\n * @return {this} The sorted model.\n */\n sorted() {\n this._items\n .filter((item) => item.children)\n .forEach((item) => {\n item.children.sort(NavbarModel.compare);\n });\n this._items.sort(NavbarModel.compare);\n return this;\n }\n static compare(a, b) {\n return a.order - b.order;\n }\n /**\n * Walks recursively through the model and executes the provided callback for each item.\n * @param callback The callback to be executed for each item.\n */\n walk(callback) {\n this.walkRecursively(this.items, callback);\n }\n /**\n * Recursively walks through a list of navbar items and applies the callback.\n * @param items The items to walk through.\n * @param callback The callback to execute on each item.\n */\n walkRecursively(items, callback) {\n items.forEach((item) => {\n var _a;\n callback(item);\n if ((_a = item.children) === null || _a === void 0 ? void 0 : _a.length) {\n this.walkRecursively(item.children, callback);\n }\n });\n }\n get items() {\n return this._items;\n }\n}\n/**\n * The model for a single menu item.\n */\nclass NavbarItemModel {\n constructor(data) {\n var _a;\n this._selected = false;\n this._open = false;\n this._order = data.order;\n this._label = data.label;\n this._labelKey = data.labelKey;\n this._href = data.href;\n this._children = [...(_a = data.children) !== null && _a !== void 0 ? _a : []];\n this._hasParent = data.hasParent;\n this._parent = data.parent;\n this._selected = data.selected;\n this._open = data.open;\n this._documentationHref = data.documentationHref;\n this._hrefFun = data.hrefFun;\n this._editions = data.editions;\n this._icon = data.icon;\n this._role = data.role;\n this._guideSelector = data.guideSelector;\n this._testSelector = data.testSelector;\n this._shouldShow = data.shouldShow;\n this._parentModel = data.parentModel;\n }\n addChild(child) {\n this.children.push(child);\n child.setParent(this);\n }\n addChildren(...children) {\n children.forEach((child) => {\n this.addChild(child);\n });\n }\n /**\n * Determines whether the current menu item has submenus.\n * In this context, items with a href value of '#' are treated as parent items\n * and are expected to have submenus. This behavior is due to the fact that\n * all top-level items are registered with href set to '#' when added to the PluginRegistry.\n *\n * @returns {boolean} True if the item is a parent (has submenus), otherwise false.\n */\n hasSubmenus() {\n return this._href === '#';\n }\n get parent() {\n return this._parent;\n }\n set parent(value) {\n this._parent = value;\n }\n get order() {\n return this._order;\n }\n set order(value) {\n this._order = value;\n }\n get label() {\n return this._label;\n }\n set label(value) {\n this._label = value;\n }\n get labelKey() {\n return this._labelKey;\n }\n set labelKey(value) {\n this._labelKey = value;\n }\n get documentationHref() {\n return this._documentationHref;\n }\n set documentationHref(value) {\n this._documentationHref = value;\n }\n get href() {\n return this._href;\n }\n set href(value) {\n this._href = value;\n }\n get children() {\n return this._children;\n }\n set children(value) {\n this._children = value;\n }\n get hasParent() {\n return this._hasParent;\n }\n set hasParent(value) {\n this._hasParent = value;\n }\n get selected() {\n return this._selected;\n }\n set selected(value) {\n this._selected = value;\n }\n get open() {\n return this._open;\n }\n set open(value) {\n this._open = value;\n }\n get hrefFun() {\n return this._hrefFun;\n }\n set hrefFun(value) {\n this._hrefFun = value;\n }\n get editions() {\n return this._editions;\n }\n set editions(value) {\n this._editions = value;\n }\n get icon() {\n return this._icon;\n }\n set icon(value) {\n this._icon = value;\n }\n get role() {\n return this._role;\n }\n set role(value) {\n this._role = value;\n }\n get guideSelector() {\n return this._guideSelector;\n }\n set guideSelector(value) {\n this._guideSelector = value;\n }\n get testSelector() {\n return this._testSelector;\n }\n set testSelector(value) {\n this._testSelector = value;\n }\n get parentModel() {\n return this._parentModel;\n }\n set parentModel(value) {\n this._parentModel = value;\n }\n get shouldShow() {\n return this._shouldShow;\n }\n set shouldShow(value) {\n this._shouldShow = value;\n }\n setParent(parent) {\n this.parentModel = parent;\n this.hasParent = !!parent;\n }\n}\n\nconst logger = LoggerProvider.logger;\nclass NavbarService {\n static map(navbarPlugins, productInfo) {\n const navbarModel = new NavbarModel();\n NavbarService.setTopLevelMenuItems(navbarPlugins, navbarModel, productInfo);\n NavbarService.setSubmenuItems(navbarPlugins, navbarModel, productInfo);\n return navbarModel.sorted();\n }\n static setTopLevelMenuItems(navbarPlugins, navbarModel, productInfo) {\n navbarPlugins.forEach((menuPlugin) => {\n menuPlugin.items\n .filter((item) => !item.parent && item.shouldShow)\n .forEach((item) => {\n if (navbarModel.hasParent(item.label)) {\n logger.warn('Doubled parent definition: ', item);\n }\n else {\n navbarModel.addItem(this.toMenuItemModel(item, undefined, productInfo, item.children));\n }\n });\n });\n }\n static setSubmenuItems(navbarPlugins, navbarModel, productInfo) {\n navbarPlugins.forEach((menuPlugin) => {\n menuPlugin.items\n .filter((item) => item.parent && item.shouldShow)\n .forEach((item) => {\n const topLevelItem = navbarModel.getTopLevelItem(item.parent);\n // Some submenu items in the external menu model have children which is unusual.\n // I'm not sure if and where these children are used. For now, I'm ignoring them.\n topLevelItem === null || topLevelItem === void 0 ? void 0 : topLevelItem.addChildren(this.toMenuItemModel(item, topLevelItem, productInfo, item.children));\n });\n });\n }\n static toMenuItemModel(item, parent, productInfo, children = []) {\n let externalLink;\n if (item.documentationHref) {\n externalLink = UriUtil.resolveDocumentationUrl(productInfo === null || productInfo === void 0 ? void 0 : productInfo.shortVersion, item.documentationHref);\n }\n const itemModel = new NavbarItemModel({\n label: item.label,\n labelKey: item.labelKey,\n href: externalLink || item.href,\n documentationHref: item.documentationHref,\n hrefFun: item.hrefFun,\n order: item.order,\n role: item.role,\n editions: item.editions,\n icon: item.icon,\n guideSelector: item.guideSelector,\n hasParent: !!parent,\n parentModel: parent,\n parent: item.parent,\n selected: false,\n shouldShow: item.shouldShow,\n testSelector: item.testSelector,\n });\n const childrenModels = children.map((childrenItem) => this.toMenuItemModel(childrenItem, itemModel, productInfo, childrenItem.children));\n itemModel.addChildren(...childrenModels);\n return itemModel;\n }\n ;\n}\n\nconst ontoNavbarCss = \":host{display:block}.navbar-component{width:15rem;position:fixed;font-weight:400;z-index:1010;margin:0;padding:0;-moz-transition:width 0.2s ease-in;-o-transition:width 0.2s ease-in;-webkit-transition:width 0.2s ease-in;transition:width 0.2s ease-in;height:100%;overflow-y:auto;overflow-x:hidden}@media screen and (max-height: 475px){.navbar-component.collapsed{position:absolute}}.navbar-component li{list-style:none;cursor:pointer}.navbar-component li a{text-decoration:none}.navbar-component li a.sub-menu-link:not([href=\\\"\\\"]):not([tabindex]):hover{text-decoration:none !important}.navbar-component .sub-menu-item a.sub-menu-link:not([href]) translate-label.menu-item{padding-right:3.5px}.navbar-component a.sub-menu-link:not([href]):hover .menu-item,.navbar-component a.sub-menu-link[href=\\\"\\\"]:hover .menu-item{text-decoration-line:underline !important}.navbar-component li .menu-element-root:hover,.navbar-component .sub-menu li:hover{text-decoration-line:none !important}.navbar-component li .menu-element-root:hover .menu-item-icon,.navbar-component .menu-element.open .menu-item-icon{transform:scale(1.1)}.navbar-component .menu-element.open .sub-menu .menu-item-icon{transform:scale(0.5)}.navbar-component .menu-element{position:relative}.navbar-component .menu-element-root{padding:0.8em 2.5em 0.8em 0.8em;display:block;line-height:2.5rem;position:relative;z-index:100;-moz-transition:all 0.18s ease-out;-o-transition:all 0.18s ease-out;-webkit-transition:all 0.18s ease-out;transition:all 0.18s ease-out;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.navbar-component .menu-item-icon{font-size:2.5rem;width:2.5rem;vertical-align:middle;text-align:center;transform:scale(0.9);display:inline-block;-moz-transition:all 0.18s ease-out;-o-transition:all 0.18s ease-out;-webkit-transition:all 0.18s ease-out;transition:all 0.18s ease-out;pointer-events:none}.navbar-component .menu-element-root .menu-item{pointer-events:none}.navbar-component .menu-element-root.active,.navbar-component .menu-element-root.active:hover{background-color:var(--gw-sidenav-submenuitem-active-background);color:#ffffff}.navbar-component .active .menu-item-icon{transform:scale(1.1)}.navbar-component :not(.brand) .menu-element-root{font-size:1.1rem}.navbar-component .brand a{display:block;position:relative;z-index:5}.navbar-component .sub-menu{position:relative;padding:0;z-index:110}.navbar-component .sub-menu li{display:none}.navbar-component .sub-menu li a{padding:0.5em 0.8em;display:block}.navbar-component .sub-menu li.active a{font-weight:500}.navbar-component .menu-element.open ul li{display:block}.navbar-component .menu-element ul:before,.rdf-list ul.datasource:before{font-family:\\\"icomoon\\\", sans-serif !important;content:\\\"\\\\e921\\\";display:block;font-size:1.5em;position:absolute;top:-3.3rem;right:1rem;-moz-transition:all 0.2s ease-in;-o-transition:all 0.2s ease-in;-webkit-transition:all 0.2s ease-in;transition:all 0.2s ease-in;pointer-events:none}.navbar-component .menu-element.open ul:before,.rdf-list ul.open.datasource:before{transform:rotate(180deg)}.navbar-component.collapsed{width:4.375rem;overflow:visible;height:auto}.navbar-component.collapsed .menu-element.open .sub-menu{position:absolute;top:0;left:4.375rem;width:15rem}.navbar-component.collapsed .menu-element .menu-item,.navbar-component.collapsed .menu-element .sub-menu li{display:none}.navbar-component.collapsed .menu-element.open .menu-item,.navbar-component.collapsed .menu-element.open .sub-menu li{display:block}.navbar-component.collapsed .menu-element.open .menu-element-root .menu-item{display:none}.navbar-component.collapsed .menu-element-root{overflow:visible}.navbar-component .menu-element.open ul li.submenu-title,.navbar-component .submenu-title{display:none}.navbar-component.collapsed .menu-element.open ul li.submenu-title{display:block;font-size:1.2em;font-weight:500;text-overflow:ellipsis;overflow:hidden;padding:0.5em 0.8rem 0.2em 0;margin-left:0.8rem;margin-bottom:0.5em}.navbar-component.collapsed .menu-element.open .sub-menu.align-bottom{bottom:0;top:auto}.navbar-component.collapsed .menu-element ul:before{display:none}.navbar-component.collapsed .brand a{padding:0.4rem}.navbar-component.collapsed .small-logo,.navbar-component .big-logo{display:block}.navbar-component .small-logo,.navbar-component.collapsed .big-logo{display:none}.navbar-component .brand{background-color:var(--gw-sidenav-logo-background)}.small-logo{width:50px;height:50px}.big-logo{width:180px;height:50px}.toggle-menu{display:block;position:absolute;top:0;right:0;font-size:0.8em;line-height:1.5;padding:0 0.3em;z-index:10;cursor:pointer;background-color:var(--gw-sidenav-collapsebutton-background);color:var(--gw-sidenav-collapsebutton-color)}.toggle-menu:hover{color:var(--gw-sidenav-collapsebutton-hover-color);background-color:var(--gw-sidenav-collapsebutton-hover-background)}.toggle-menu [class^=icon-]{transition:all 0.2s ease-in;display:inline-block}.toggle-menu:hover [class^=icon-]{transform:scale(1.1)}.navbar-component .menu-element .menu-element-root{background-color:var(--gw-sidenav-menuitem-background);color:var(--gw-sidenav-menuitem-color)}.navbar-component .menu-element .menu-element-root:hover{background-color:var(--gw-sidenav-menuitem-hover-background);color:var(--gw-sidenav-menuitem-hover-color)}.navbar-component .menu-element .menu-element-root .menu-item-icon{color:var(--gw-sidenav-menuitem-icon-color)}.navbar-component .menu-element .menu-element-root .menu-item-icon:hover{color:var(--gw-sidenav-menuitem-hover-icon-color)}.navbar-component .menu-element.open .menu-element-root{background-color:var(--gw-sidenav-menuitem-selected-background);color:var(--gw-sidenav-menuitem-selected-color)}.navbar-component .menu-element .menu-element-root.active{background-color:var(--gw-sidenav-menuitem-active-background);color:var(--gw-sidenav-menuitem-active-color)}.navbar-component .menu-element .menu-element-root.active .menu-item-icon{color:var(--gw-sidenav-menuitem-active-icon-color)}.navbar-component .menu-element .sub-menu-item,.navbar-component .menu-element .sub-menu{background-color:var(--gw-sidenav-submenuitem-background);color:var(--gw-sidenav-submenuitem-color)}.navbar-component .menu-element .sub-menu-item:hover{background-color:var(--gw-sidenav-submenuitem-hover-background);color:var(--gw-sidenav-submenuitem-hover-color)}.navbar-component .menu-element .sub-menu-item.active,.navbar-component .menu-element .sub-menu-item.active .sub-menu-link{background-color:var(--gw-sidenav-submenuitem-active-background);color:var(--gw-sidenav-submenuitem-active-color)}\";\n\nconst labelKeys = {\n EXPAND: 'menu.buttons.expand',\n COLLAPSE: 'menu.buttons.collapse',\n LOGO_LINK: 'menu.logo.link.title'\n};\nconst OntoNavbar = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.navbarToggled = createEvent(this, \"navbarToggled\");\n this.productInfoContextService = ServiceProvider.get(ProductInfoContextService);\n this.subscriptions = new SubscriptionList();\n this.resizeHandler = () => this.adjustAllSubmenus(this.hostElement);\n this.SUBMENU_VERTICAL_MARGIN = 8;\n this.MIN_SUBMENU_HEIGHT = 100;\n this.labels = {\n [labelKeys.EXPAND]: TranslationService.translate(labelKeys.EXPAND),\n [labelKeys.COLLAPSE]: TranslationService.translate(labelKeys.COLLAPSE),\n [labelKeys.LOGO_LINK]: TranslationService.translate(labelKeys.LOGO_LINK)\n };\n /**\n * Flag indicating whether the navbar is collapsed in result of toggle action initiated by the user. This is needed\n * in cases where the browser window is resized which is an operation that should not override the user's choice\n * regarding the navbar collapsed state, e.g. if the user has manually collapsed the navbar and then resizes the\n * window, the navbar should remain collapsed.\n */\n this.isCollapsedByUser = false;\n /**\n * Controls the expanded/collapsed state of the navbar.\n */\n this.isCollapsed = false;\n }\n navbarCollapsedChange(collapsed) {\n this.isCollapsed = !collapsed;\n if (this.isCollapsed && !this.isCollapsedByUser) {\n this.expandNavbar();\n }\n else {\n this.collapseNavbar();\n }\n this.navbarToggled.emit(new NavbarToggledEvent(this.isCollapsed));\n }\n menuItemsChanged(menuItems) {\n this.init(menuItems);\n }\n init(menuItems) {\n const internalModel = NavbarService.map(menuItems || [], this.productInfo);\n internalModel.initSelected(getCurrentRoute());\n this.menuModel = internalModel;\n }\n select(event, menuItem) {\n event.preventDefault();\n this.clearAllOpenedSubmenuStyles();\n // Skip navigation when the selected item is a parent menu because it has no associated navigation.\n if (!menuItem.hasSubmenus()) {\n if (event.ctrlKey) {\n openInNewTab(menuItem.href);\n }\n else {\n navigate(menuItem.href);\n }\n }\n if (menuItem.children.length) {\n if (!menuItem.open) {\n this.menuModel.closeOpened();\n this.menuModel.open(menuItem);\n if (this.menuModel.hasSelectedSubmenu(menuItem)) {\n this.menuModel.deselectItem(menuItem);\n }\n }\n else {\n this.menuModel.closeAll();\n if (this.menuModel.hasSelectedSubmenu(menuItem)) {\n this.menuModel.selectItem(menuItem);\n }\n }\n }\n else {\n this.menuModel.closeOtherParents(menuItem);\n }\n // When the navbar is collapsed then find if the selected item has active children and mark the item as selected\n // to allow it to be highlighted in the collapsed state.\n if (this.isCollapsed && this.menuModel.isParentOpened(menuItem)) {\n this.menuModel.closeOpened();\n }\n this.refreshNavbar();\n this.adjustAllSubmenus(this.hostElement);\n }\n subscribeToNavigationEnd() {\n this.subscriptions.add(ServiceProvider.get(EventService).subscribe(EventName.NAVIGATION_END, () => {\n this.selectItemByUrl();\n }));\n }\n selectItemByUrl() {\n if (!this.menuModel) {\n return;\n }\n this.menuModel.deselectAll();\n this.menuModel.closeAll();\n if (!isHomePage()) {\n this.menuModel.initSelected(getCurrentRoute());\n }\n this.refreshNavbar();\n this.adjustAllSubmenus(this.hostElement);\n }\n toggleNavbar() {\n if (!this.isCollapsed) {\n this.isCollapsedByUser = true;\n this.menuModel.highlightSelected();\n this.menuModel.closeOpened();\n this.collapseNavbar();\n this.clearAllOpenedSubmenuStyles();\n }\n else {\n this.isCollapsedByUser = false;\n this.menuModel.expandSelected();\n this.menuModel.unhighlightSelected();\n this.expandNavbar();\n this.clearAllOpenedSubmenuStyles();\n }\n this.refreshNavbar();\n this.adjustAllSubmenus(this.hostElement);\n this.navbarToggled.emit(new NavbarToggledEvent(this.isCollapsed));\n }\n collapseNavbar() {\n this.hostElement.querySelector('.navbar-component').classList.add('collapsed');\n this.isCollapsed = true;\n }\n expandNavbar() {\n if (!this.isCollapsedByUser) {\n this.hostElement.querySelector('.navbar-component').classList.remove('collapsed');\n this.isCollapsed = false;\n }\n }\n refreshNavbar() {\n var _a;\n if (!((_a = this.menuModel) === null || _a === void 0 ? void 0 : _a.items)) {\n return;\n }\n this.menuModel = new NavbarModel(this.menuModel.items);\n }\n onLanguageChanged() {\n this.refreshNavbar();\n }\n onTranslate(key) {\n this.subscriptions.add(TranslationService.onTranslate(key, [], (translation) => {\n this.labels[key] = translation;\n this.onLanguageChanged();\n }));\n }\n toggleNavbarHandler() {\n return () => this.toggleNavbar();\n }\n /**\n * Adjust the max height of a submenu to ensure it fits within the viewport.\n * The submenu will be positioned either below or above its parent menu item based on available space.\n * @param sub The submenu element to adjust.\n * @param margin Margin in pixels to apply when calculating available space. This ensures some space between the\n * submenu and the viewport edge.\n */\n adjustSubmenuMaxHeight(sub, margin = this.SUBMENU_VERTICAL_MARGIN) {\n if (!sub || typeof sub.getBoundingClientRect !== 'function') {\n return;\n }\n const parentElement = sub.closest('.menu-element');\n if (!parentElement) {\n return;\n }\n const subRect = sub.getBoundingClientRect();\n const parentRect = parentElement.getBoundingClientRect();\n const viewportHeight = window.innerHeight;\n // Calculate available space above and below the parent menu item\n const spaceAbove = parentRect.top - margin + parentRect.height;\n const spaceBelow = viewportHeight - parentRect.bottom + parentRect.height - margin;\n // Determine optimal positioning and max height\n let maxHeight;\n let shouldAlignBottom = false;\n if (spaceBelow >= subRect.height) {\n // Enough space below - align to top of parent\n maxHeight = spaceBelow;\n }\n else if (spaceAbove >= subRect.height) {\n // Not enough space below but enough above - align to bottom of parent\n maxHeight = spaceAbove;\n shouldAlignBottom = true;\n }\n else {\n // Not enough space in either direction - use larger space and make scrollable\n if (spaceBelow > spaceAbove) {\n maxHeight = spaceBelow;\n shouldAlignBottom = false;\n }\n else {\n maxHeight = spaceAbove;\n shouldAlignBottom = true;\n }\n }\n // Apply positioning\n if (shouldAlignBottom) {\n sub.style.bottom = '0';\n sub.style.top = 'auto';\n }\n else {\n sub.style.top = '0';\n sub.style.bottom = 'auto';\n }\n sub.style.maxHeight = `${Math.max(this.MIN_SUBMENU_HEIGHT, maxHeight)}px`;\n sub.style.overflowY = 'auto';\n }\n /**\n * Adjust all submenus that are currently open.\n * @param host The host element containing the navbar.\n * @param margin Margin in pixels to apply when calculating available space. This ensures some space between the\n * submenu and the viewport edge.\n */\n adjustAllSubmenus(host, margin = this.SUBMENU_VERTICAL_MARGIN) {\n // run after paint so DOM is in final state\n requestAnimationFrame(() => {\n if (!host || typeof host.querySelectorAll !== 'function') {\n return;\n }\n this.getAllOpenedSubmenus(host).forEach((s) => this.adjustSubmenuMaxHeight(s, margin));\n });\n }\n getAllOpenedSubmenus(host) {\n return Array.from(host.querySelectorAll('.navbar-component.collapsed .menu-element.open .sub-menu'));\n }\n getAllSubmenus(host) {\n return Array.from(host.querySelectorAll('.navbar-component .menu-element .sub-menu'));\n }\n clearAllOpenedSubmenuStyles() {\n this.getAllSubmenus(this.hostElement).forEach((s) => {\n s.style.maxHeight = '';\n s.style.overflowY = '';\n s.style.top = '';\n s.style.bottom = '';\n });\n }\n // ========================\n // Lifecycle methods\n // ========================\n componentWillLoad() {\n this.init(this.menuItems);\n }\n connectedCallback() {\n this.subscribeToNavigationEnd();\n this.subscribeToProductInfoChanges();\n // subscribe to language change events for each label\n this.onTranslate(labelKeys.EXPAND);\n this.onTranslate(labelKeys.COLLAPSE);\n this.onTranslate(labelKeys.LOGO_LINK);\n window.addEventListener('resize', this.resizeHandler);\n }\n disconnectedCallback() {\n this.subscriptions.unsubscribeAll();\n window.removeEventListener('resize', this.resizeHandler);\n }\n handleSelectMenuItem(item) {\n return (event) => {\n this.select(event, item);\n };\n }\n render() {\n if (!this.menuModel) {\n return;\n }\n const logoImg1 = 'assets/graphdb-logo.svg#Layer_1';\n const logoImg2 = 'assets/graphdb-logo-sq.svg#Layer_1';\n return (h(Host, null, h(\"ul\", { class: \"navbar-component\" }, h(\"li\", { class: \"brand\" }, h(\"span\", { class: \"toggle-menu\", title: this.isCollapsed ? this.labels[labelKeys.EXPAND] : this.labels[labelKeys.COLLAPSE], onClick: this.toggleNavbarHandler() }, h(\"em\", { class: this.isCollapsed ? 'icon-caret-right' : 'icon-caret-left' })), h(\"a\", { class: \"menu-element-root home-page\", onClick: navigateTo('./') }, h(\"svg\", { class: \"big-logo\" }, h(\"desc\", null, this.labels[labelKeys.LOGO_LINK]), h(\"use\", { href: logoImg1 })), h(\"svg\", { class: \"small-logo\" }, h(\"desc\", null, this.labels[labelKeys.LOGO_LINK]), h(\"use\", { href: logoImg2 })))), this.menuModel.items.map((item) => (h(\"li\", { key: item.labelKey, class: { 'menu-element': true, 'open': item.open }, \"data-test\": item.testSelector, \"guide-selector\": item.guideSelector }, item.children.length > 0 &&\n h(Fragment, null, h(\"div\", { class: { 'menu-element-root': true, 'active': item.selected }, onClick: this.handleSelectMenuItem(item) }, h(\"span\", { class: `menu-item-icon ${item.icon}` }), \"\\u00A0\", h(\"translate-label\", { class: \"menu-item\", labelKey: item.labelKey })), h(\"ul\", { class: \"sub-menu\" }, h(\"li\", { key: item.labelKey, class: \"submenu-title\" }, h(\"translate-label\", { labelKey: item.labelKey })), item.children.map((submenu) => (h(\"li\", { key: submenu.labelKey, class: { 'sub-menu-item': true, 'active': submenu.selected }, \"data-test\": submenu.testSelector, \"guide-selector\": submenu.guideSelector }, submenu.documentationHref ?\n h(\"a\", { class: \"sub-menu-link external-link\", href: submenu.href, target: \"_blank\", rel: \"noopener noreferrer\" }, h(\"translate-label\", { class: \"menu-item\", labelKey: submenu.labelKey }), submenu.icon &&\n h(\"span\", { class: `text-muted ${submenu.icon}` }))\n :\n h(\"a\", { class: \"sub-menu-link\", href: submenu.href, onClick: this.handleSelectMenuItem(submenu) }, h(\"translate-label\", { class: \"menu-item\", labelKey: submenu.labelKey }), submenu.icon &&\n h(\"span\", { class: `text-muted ${submenu.icon}` }))))))), item.children.length === 0 &&\n h(\"a\", { class: { 'menu-element-root': true, 'active': item.selected }, href: item.href, onClick: this.handleSelectMenuItem(item) }, h(\"span\", { class: `menu-item-icon ${item.icon}` }), \"\\u00A0\", h(\"translate-label\", { class: \"menu-item\", labelKey: item.labelKey }))))))));\n }\n subscribeToProductInfoChanges() {\n this.subscriptions.add(this.productInfoContextService.onProductInfoChanged((productInfo) => this.productInfo = productInfo));\n }\n get hostElement() { return getElement(this); }\n static get watchers() { return {\n \"navbarCollapsed\": [\"navbarCollapsedChange\"],\n \"menuItems\": [\"menuItemsChanged\"]\n }; }\n};\nOntoNavbar.style = ontoNavbarCss;\n\nconst ontoToastrCss = \".onto-toastr-container{position:fixed;z-index:9999999;pointer-events:auto;flex-direction:column}.onto-toastr-container.bottom-right{bottom:12px;right:12px}.onto-toastr-container.bottom-left{bottom:12px;left:12px}.onto-toastr-container .onto-toast{display:flex;align-items:center;border-radius:0;box-shadow:0 0 12px rgba(0, 0, 0, 0.3);position:relative;width:450px;padding:25px 0;color:white;margin-bottom:5px;overflow-wrap:break-word}.onto-toastr-container .onto-toast:hover{box-shadow:0 0 12px #000;opacity:1;cursor:pointer}.onto-toastr-container .onto-toast.warning{color:var(--gw-toast-warn-color);background-color:var(--gw-toast-warn-background);border-color:var(--gw-toast-warn-border-color)}.onto-toastr-container .onto-toast.success{background-color:var(--gw-toast-success-background);border-color:var(--gw-toast-success-border-color);color:var(--gw-toast-success-color)}.onto-toastr-container .onto-toast.error{background-color:var(--gw-toast-error-background);border-color:var(--gw-toast-error-border-color);color:var(--gw-toast-error-color)}.onto-toastr-container .onto-toast.info{background-color:var(--gw-toast-info-background);border-color:var(--gw-toast-info-border-color);color:var(--gw-toast-info-color)}.onto-toastr-container .onto-toast i{font-size:1.8rem;padding:0 20px;color:inherit}.onto-toastr-container .onto-toast i:hover{transform:none}.onto-toastr-container .onto-toast .toast-message{font-size:1.2rem;opacity:1;max-width:370px}\";\n\nconst toastTypeToIconMap = {\n [ToastType.INFO]: 'ri-information-2-fill',\n [ToastType.SUCCESS]: 'ri-checkbox-circle-line',\n [ToastType.WARNING]: 'ri-message-line',\n [ToastType.ERROR]: 'ri-alert-line',\n};\nconst OntoToastr = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n /**\n * State containing the list of active toast messages\n */\n this.toasts = new ToastMessageList([]);\n /**\n * Map to track timeout IDs for each toast message\n */\n this.toastToTimeout = new Map();\n /** Configuration options, such as toast timeout */\n this.config = ToastrConfig.getDefaultConfig();\n this.onToastMouseEnter = (toast) => () => {\n this.clearToastTimeout(toast);\n };\n this.onToastMouseLeave = (toast) => () => {\n this.setTimeoutForToast(toast);\n };\n }\n /**\n * Listen for toast creation events\n *\n * @param event - Custom event containing the toast message to be displayed\n */\n // TODO Fix jest tests are failing- usage variables in stencil decorators is enabled since 4.3.0\n // see https://github.com/stenciljs/core/issues/2924\n handleToastCreate(event) {\n this.addToast(event.detail);\n }\n render() {\n var _a;\n return (h(\"section\", { key: '57fcc0103bbc130bee6043a37c7c3539b8eb3c5a', style: { display: this.toasts.isEmpty() ? 'none' : 'flex' }, class: `onto-toastr-container ${this.config.position}` }, (_a = this.toasts) === null || _a === void 0 ? void 0 : _a.getItems().map((toast) => (h(\"div\", { class: `onto-toast ${toast.type}`, key: toast.id, onMouseEnter: this.onToastMouseEnter(toast), onMouseLeave: this.onToastMouseLeave(toast) }, h(\"i\", { class: `${toastTypeToIconMap[toast.type]}` }), h(\"span\", { onClick: this.handleToastClick(toast), class: \"toast-message\", innerHTML: sanitizeHTML(toast.message) }))))));\n }\n /**\n * Adds a new toast message.\n * The message is added to the start of the list, so new toasts appear on top.\n * The toast is also set to automatically be removed after the specified timeout.\n *\n * @param toast - The toast message to be added\n */\n addToast(toast) {\n this.toasts.addToStart(toast);\n this.setTimeoutForToast(toast);\n this.updateToastrReference();\n }\n /**\n * Sets a timeout for automatic removal of a toast message.\n * The value of the timeout is determined by the toast's configuration, or the default timeout, if\n * the toast hasn't provided a value\n *\n * @param toast - The toast message to set timeout for\n */\n setTimeoutForToast(toast) {\n var _a;\n const timeout = WindowService.getWindow().setTimeout(() => {\n this.toasts.remove(toast);\n this.clearToastTimeout(toast);\n }, ((_a = toast.config) === null || _a === void 0 ? void 0 : _a.timeout) || this.config.timeout);\n this.toastToTimeout.set(toast, timeout);\n }\n /**\n * Updates the toast list reference to trigger re-rendering\n */\n updateToastrReference() {\n this.toasts = new ToastMessageList(this.toasts.getItems());\n }\n /**\n * Clears the timeout for a toast message and removes it from the tracking map\n * When a user hovers over a toast message, the timeout is cleared, since the toast should\n * remain visible until the user stops hovering.\n *\n * @param toast - The toast message whose timeout should be cleared\n */\n clearToastTimeout(toast) {\n const timeoutId = this.toastToTimeout.get(toast);\n clearTimeout(timeoutId);\n this.toastToTimeout.delete(toast);\n this.updateToastrReference();\n }\n /**\n * Handle click events on toast messages.\n * Executes the configured onClick callback for the toast message, if provided.\n * Removes the toast message, if the removeOnClick configuration is enabled.\n *\n * @param toast - The clicked toast message\n * @returns An event handler function that processes click events on the toast\n */\n handleToastClick(toast) {\n return (event) => {\n var _a, _b;\n if ((_a = toast.config) === null || _a === void 0 ? void 0 : _a.onClick) {\n toast.config.onClick(event);\n }\n if ((_b = toast.config) === null || _b === void 0 ? void 0 : _b.removeOnClick) {\n this.toasts.remove(toast);\n this.clearToastTimeout(toast);\n }\n };\n }\n};\nOntoToastr.style = ontoToastrCss;\n\nconst ontoTooltipCss = \".tippy-box[data-animation=fade][data-state=hidden]{opacity:0}[data-tippy-root]{max-width:calc(100vw - 10px)}.tippy-box{position:relative;background-color:#333;color:#fff;border-radius:4px;font-size:14px;line-height:1.4;white-space:normal;outline:0;transition-property:transform,visibility,opacity}.tippy-box[data-placement^=top]>.tippy-arrow{bottom:0}.tippy-box[data-placement^=top]>.tippy-arrow:before{bottom:-7px;left:0;border-width:8px 8px 0;border-top-color:initial;transform-origin:center top}.tippy-box[data-placement^=bottom]>.tippy-arrow{top:0}.tippy-box[data-placement^=bottom]>.tippy-arrow:before{top:-7px;left:0;border-width:0 8px 8px;border-bottom-color:initial;transform-origin:center bottom}.tippy-box[data-placement^=left]>.tippy-arrow{right:0}.tippy-box[data-placement^=left]>.tippy-arrow:before{border-width:8px 0 8px 8px;border-left-color:initial;right:-7px;transform-origin:center left}.tippy-box[data-placement^=right]>.tippy-arrow{left:0}.tippy-box[data-placement^=right]>.tippy-arrow:before{left:-7px;border-width:8px 8px 8px 0;border-right-color:initial;transform-origin:center right}.tippy-box[data-inertia][data-state=visible]{transition-timing-function:cubic-bezier(.54,1.5,.38,1.11)}.tippy-arrow{width:16px;height:16px;color:#333}.tippy-arrow:before{content:\\\"\\\";position:absolute;border-color:transparent;border-style:solid}.tippy-content{position:relative;padding:5px 9px;z-index:1}.tippy-box[data-theme~=light-border]{background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,8,16,.15);color:#333;box-shadow:0 4px 14px -2px rgba(0,8,16,.08)}.tippy-box[data-theme~=light-border]>.tippy-backdrop{background-color:#fff}.tippy-box[data-theme~=light-border]>.tippy-arrow:after,.tippy-box[data-theme~=light-border]>.tippy-svg-arrow:after{content:\\\"\\\";position:absolute;z-index:-1}.tippy-box[data-theme~=light-border]>.tippy-arrow:after{border-color:transparent;border-style:solid}.tippy-box[data-theme~=light-border][data-placement^=top]>.tippy-arrow:before{border-top-color:#fff}.tippy-box[data-theme~=light-border][data-placement^=top]>.tippy-arrow:after{border-top-color:rgba(0,8,16,.2);border-width:7px 7px 0;top:17px;left:1px}.tippy-box[data-theme~=light-border][data-placement^=top]>.tippy-svg-arrow>svg{top:16px}.tippy-box[data-theme~=light-border][data-placement^=top]>.tippy-svg-arrow:after{top:17px}.tippy-box[data-theme~=light-border][data-placement^=bottom]>.tippy-arrow:before{border-bottom-color:#fff;bottom:16px}.tippy-box[data-theme~=light-border][data-placement^=bottom]>.tippy-arrow:after{border-bottom-color:rgba(0,8,16,.2);border-width:0 7px 7px;bottom:17px;left:1px}.tippy-box[data-theme~=light-border][data-placement^=bottom]>.tippy-svg-arrow>svg{bottom:16px}.tippy-box[data-theme~=light-border][data-placement^=bottom]>.tippy-svg-arrow:after{bottom:17px}.tippy-box[data-theme~=light-border][data-placement^=left]>.tippy-arrow:before{border-left-color:#fff}.tippy-box[data-theme~=light-border][data-placement^=left]>.tippy-arrow:after{border-left-color:rgba(0,8,16,.2);border-width:7px 0 7px 7px;left:17px;top:1px}.tippy-box[data-theme~=light-border][data-placement^=left]>.tippy-svg-arrow>svg{left:11px}.tippy-box[data-theme~=light-border][data-placement^=left]>.tippy-svg-arrow:after{left:12px}.tippy-box[data-theme~=light-border][data-placement^=right]>.tippy-arrow:before{border-right-color:#fff;right:16px}.tippy-box[data-theme~=light-border][data-placement^=right]>.tippy-arrow:after{border-width:7px 7px 7px 0;right:17px;top:1px;border-right-color:rgba(0,8,16,.2)}.tippy-box[data-theme~=light-border][data-placement^=right]>.tippy-svg-arrow>svg{right:11px}.tippy-box[data-theme~=light-border][data-placement^=right]>.tippy-svg-arrow:after{right:12px}.tippy-box[data-theme~=light-border]>.tippy-svg-arrow{fill:#fff}.tippy-box[data-theme~=light-border]>.tippy-svg-arrow:after{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMCA2czEuNzk2LS4wMTMgNC42Ny0zLjYxNUM1Ljg1MS45IDYuOTMuMDA2IDggMGMxLjA3LS4wMDYgMi4xNDguODg3IDMuMzQzIDIuMzg1QzE0LjIzMyA2LjAwNSAxNiA2IDE2IDZIMHoiIGZpbGw9InJnYmEoMCwgOCwgMTYsIDAuMikiLz48L3N2Zz4=);background-size:16px 6px;width:16px;height:6px}:host{display:block}.tippy-box[data-theme=onto-tooltip]{color:var(--gw-tooltip-color);background-color:var(--gw-tooltip-background);border-radius:0}.tippy-box[data-theme=onto-tooltip] .tippy-arrow{color:var(--gw-tooltip-background)}\";\n\nconst OntoTooltip = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n /**\n * Clears tooltips associated with elements that have been removed from the DOM.\n *\n * @param records - An array of MutationRecord objects, each representing a change to the DOM tree.\n * The function iterates over these records to find and clear tooltips for removed nodes.\n */\n this.clearTooltipsForRemovedElements = (records) => {\n for (const record of records) {\n for (const node of Array.from(record.removedNodes)) {\n if (this.removeTooltipFromNode(node)) {\n // stop iterating if a tooltip is found and destroyed,\n // since we can't have more than one tooltip\n return;\n }\n }\n }\n };\n /**\n * Recursively removes tooltips from a given node and its children.\n *\n * This function checks if the given node is an HTMLElement and has an associated tooltip.\n * If a tooltip is found, it is destroyed. If not, the function then recursively checks all child nodes.\n *\n * @param node - The DOM node to check for tooltips.\n * @returns A boolean indicating whether a tooltip was found and destroyed (true) or not (false).\n */\n this.removeTooltipFromNode = (node) => {\n if (node instanceof HTMLElement) {\n const tooltipInstance = TooltipUtil.getTooltipInstance(node);\n if (tooltipInstance) {\n TooltipUtil.destroyTooltip(node);\n return true;\n }\n node.childNodes.forEach(this.removeTooltipFromNode);\n }\n return false;\n };\n }\n /**\n * Checks if the target of the 'mouseover' event has tooltip configuration.\n * If it does, creates a tooltip instance and displays it.\n *\n * @param event - The 'mouseover' event triggered on a document element.\n */\n onMouseover(event) {\n const target = TooltipUtil.getTooltipTarget(event.target);\n if (!target) {\n return;\n }\n const tooltipInstance = TooltipUtil.getOrCreateTooltipInstance(target);\n tooltipInstance.show();\n target.hideTooltip = () => {\n tooltipInstance.hide();\n };\n }\n /**\n * Destroys the tooltip if it is present.\n *\n * @param event - The 'mouseout' event triggered on a document element.\n */\n onMouseout(event) {\n const target = TooltipUtil.getTooltipTarget(event.target);\n if (!target) {\n return;\n }\n const relatedTarget = event.relatedTarget;\n // Ensure the mouse is completely outside the target and its children\n if (!relatedTarget || !target.contains(relatedTarget)) {\n const tooltipInstance = TooltipUtil.getTooltipInstance(target);\n if (tooltipInstance && tooltipInstance.props.trigger === 'manual') {\n TooltipUtil.destroyTooltip(target);\n }\n }\n }\n connectedCallback() {\n this.handleRemovedNodes();\n }\n disconnectedCallback() {\n var _a;\n (_a = this.observer) === null || _a === void 0 ? void 0 : _a.disconnect();\n }\n render() {\n return h(Host, { key: '9b797bae73df060bdecef74fb84a90fb61ac6eef' });\n }\n /**\n * Initializes a MutationObserver to monitor the document body for removed nodes.\n * When nodes are removed, it triggers the clearing of tooltips associated with those nodes.\n */\n handleRemovedNodes() {\n this.observer = new MutationObserver(this.clearTooltipsForRemovedElements);\n this.observer.observe(document.body, { childList: true, subtree: true });\n }\n};\nOntoTooltip.style = ontoTooltipCss;\n\nexport { OntoFooter as onto_footer, OntoHeader as onto_header, OntoNavbar as onto_navbar, OntoToastr as onto_toastr, OntoTooltip as onto_tooltip };\n","const INTERACTIVE_ELEMENTS_SELECTOR = 'button, [href], input:not([type=\"hidden\"]), select, textarea, [tabindex]:not([tabindex=\"-1\"])';\nclass HtmlUtil {\n /**\n * Setter for the document body overflow property.\n *\n * @param newOverflow - the new overflow value.\n *\n * @return the old overflow value.\n */\n static setDocumentBodyOverflow(newOverflow) {\n const oldOverflow = document.body.style.overflow;\n document.body.style.overflow = newOverflow;\n return oldOverflow;\n }\n /**\n * Hides the document body overflow.\n *\n * @return the value of overflow before set it to hidden.\n */\n static hideDocumentBodyOverflow() {\n return HtmlUtil.setDocumentBodyOverflow('hidden');\n }\n /**\n * Focuses the next element within a specified parent element based on the <code>activeElementSelector</code>, that selects all elements to be focused.\n *\n * @param parentElement - The parent element containing the focusable elements.\n * @param activeElementSelector - The CSS selector for identifying focusable elements.\n */\n static focusNextElement(parentElement, activeElementSelector = INTERACTIVE_ELEMENTS_SELECTOR) {\n const focusableElements = Array.from(parentElement.querySelectorAll(activeElementSelector));\n if (focusableElements.length > 0) {\n const currentIndex = focusableElements.indexOf(document.activeElement);\n const nextIndex = (currentIndex + 1) % focusableElements.length;\n const nextActiveElement = focusableElements[nextIndex];\n if (nextActiveElement) {\n nextActiveElement.focus();\n }\n }\n }\n /**\n * Focuses the previous element within a specified parent element based on the <code>activeElementSelector</code>, that selects all elements to be focused.\n *\n * @param parentElement - The parent element containing the focusable elements.\n * @param activeElementSelector - The CSS selector for identifying focusable elements.\n */\n static focusPreviousElement(parentElement, activeElementSelector = INTERACTIVE_ELEMENTS_SELECTOR) {\n const focusableElements = Array.from(parentElement.querySelectorAll(activeElementSelector));\n if (focusableElements.length > 0) {\n const currentIndex = focusableElements.indexOf(document.activeElement);\n const previousIndex = (currentIndex - 1 + focusableElements.length) % focusableElements.length;\n const previousActiveElement = focusableElements[previousIndex];\n if (previousActiveElement) {\n previousActiveElement.focus();\n }\n }\n }\n static preventLeavingDialog(hostElement, ev) {\n if (ev.key === 'Tab') {\n ev.preventDefault();\n if (ev.shiftKey) {\n HtmlUtil.focusPreviousElement(hostElement);\n }\n else {\n HtmlUtil.focusNextElement(hostElement);\n }\n }\n }\n /**\n * Focuses an element in the document based on the provided CSS selector.\n *\n * @param selector - A CSS selector string used to identify the element to focus.\n * This should be a valid CSS selector that uniquely identifies the target element.\n */\n static focusElement(selector) {\n const element = document.querySelector(selector);\n element === null || element === void 0 ? void 0 : element.focus();\n }\n /**\n * Scrolls an element into the visible area of its scrollable container.\n *\n * @param elementSelector - A CSS selector string used to identify the element to scroll into view.\n * This should be a valid CSS selector that uniquely identifies the target element.\n * @param options the scroll into view options.\n */\n static scrollElementIntoView(elementSelector, options = { block: 'nearest' }) {\n const element = document.querySelector(elementSelector);\n if (!element) {\n return;\n }\n element.scrollIntoView(options);\n }\n /**\n * Waits for an element to appear in the DOM by observing DOM mutations.\n * This function creates a MutationObserver that watches for changes in the document body\n * and resolves with the element once it becomes available.\n *\n * @param selector - A CSS selector string used to identify the element to wait for.\n * This should be a valid CSS selector that uniquely identifies the target element.\n *\n * @returns A Promise that resolves with the found HTMLElement when it appears in the DOM,\n * or rejects if an error occurs during the observation process.\n */\n static waitForElement(selector) {\n return new Promise((resolve, reject) => {\n const observer = new MutationObserver(() => {\n try {\n const element = document.querySelector(selector);\n if (element) {\n observer.disconnect();\n resolve(element);\n }\n }\n catch (error) {\n observer.disconnect();\n reject(error);\n }\n });\n observer.observe(document.body, { subtree: true, childList: true, attributes: true });\n });\n }\n}\n\nexport { HtmlUtil as H };\n","/**\n * Model that holds a dropdown item configuration.\n */\nclass DropdownItem {\n constructor() {\n /**\n * Specifies the events that trigger the dropdown item tooltip to appear. Multiple event names should be separated by spaces.\n */\n this._dropdownTooltipTrigger = 'manual';\n }\n get name() {\n return this._name;\n }\n setName(value) {\n this._name = value;\n return this;\n }\n get nameLabelKey() {\n return this._nameLabelKey;\n }\n setNameLabelKey(value) {\n this._nameLabelKey = value;\n return this;\n }\n get tooltip() {\n return this._tooltip;\n }\n setTooltip(value) {\n this._tooltip = value;\n return this;\n }\n get tooltipLabelKey() {\n return this._tooltipLabelKey;\n }\n setTooltipLabelKey(value) {\n this._tooltipLabelKey = value;\n return this;\n }\n get iconClass() {\n return this._iconClass;\n }\n setIconClass(value) {\n this._iconClass = value;\n return this;\n }\n get value() {\n return this._value;\n }\n setValue(value) {\n this._value = value;\n return this;\n }\n get dropdownTooltipTrigger() {\n return this._dropdownTooltipTrigger;\n }\n setDropdownTooltipTrigger(value) {\n this._dropdownTooltipTrigger = value;\n return this;\n }\n get cssClass() {\n return this._cssClass;\n }\n setCssClass(value) {\n this._cssClass = value;\n return this;\n }\n get guideSelector() {\n return this._guideSelector;\n }\n setGuideSelector(value) {\n this._guideSelector = value;\n return this;\n }\n}\n\nvar ResourceSearchConstants;\n(function (ResourceSearchConstants) {\n ResourceSearchConstants[\"SUGGESTION_SELECTED_EVENT\"] = \"suggestion-selected-event\";\n ResourceSearchConstants[\"TABLE_VIEW\"] = \"table\";\n ResourceSearchConstants[\"VISUAL_VIEW\"] = \"visual\";\n ResourceSearchConstants[\"RDF_SEARCH_ICON_CLICKED\"] = \"rdfSearchIconClicked\";\n})(ResourceSearchConstants || (ResourceSearchConstants = {}));\n\nexport { DropdownItem as D, ResourceSearchConstants as R };\n"],"names":["OntoFooter","constructor","hostRef","registerInstance","this","subscriptions","SubscriptionList","currentYear","Date","getFullYear","securityContextService","ServiceProvider","get","SecurityContextService","licenseContextService","LicenseContextService","cookieService","CookieService","handleConsentGiven","acceptCookiePolicy","then","shouldShowCookieConsent","render","_a","_b","_c","_d","h","Host","key","class","href","target","rel","productInfo","productVersion","sesame","connectors","workbench","labelKey","connectedCallback","subscribeToProductInfoChange","subscribeToUserChange","subscribeToLicenseChange","disconnectedCallback","unsubscribeAll","add","ProductInfoContextService","onProductInfoChanged","isTrackingAllowed","LicenseService","isTrackableLicense","WindowService","getWindow","wbDevMode","onAuthenticatedUserChanged","setCookieConsentVisibility","user","getAuthenticatedUser","CookieConsent","appSettings","COOKIE_CONSENT","policyAccepted","onLicenseChanged","style","SelectorItemButton","repository","type","id","location","OntoHeader","monitoringService","MonitoringService","repositoryContextService","RepositoryContextService","repositoryLocationContextService","RepositoryLocationContextService","repositoryService","RepositoryService","toastrService","OntoToastrService","namespacesService","NamespacesService","namespaceContextService","NamespacesContextService","languageService","LanguageService","UPDATE_ACTIVE_OPERATION_TIME_INTERVAL","fibonacciGenerator","FibonacciGenerator","authService","AuthenticationService","eventService","EventService","shouldShowSearch","isHomePage","isActiveLocationLoading","repositoryItems","skipUpdateActiveOperationsTimes","canWriteRepo","repo","canWriteRepoInLocation","repositorySizeInfoFetcher","getRepositorySizeInfo","showViewResourceMessage","event","stopPropagation","info","TranslationService","translate","HtmlUtil","focusElement","emit","NAME","ResourceSearchConstants","RDF_SEARCH_ICON_CLICKED","stopOperationPolling","currentRepository","getSelectedRepository","setupTotalRepositoryFormater","subscribeToEvents","currentRoute","getCurrentRoute","startOperationPolling","_e","_f","onClick","display","activeOperations","allRunningOperations","getItems","length","license","valid","items","totalTripletsFormatter","securityConfig","enabled","userLoggedIn","subscribeToSecurityContextChange","subscribeToRepositoryListChanged","subscribeToRepositoryChange","subscribeToActiveRepositoryLocationChange","subscribeToActiveRepoLoadingChange","subscribeToNavigationEnd","subscribeToLanguageChanged","subscribeToAuthenticatedUserChange","onRepositoryListChanged","repositories","initOnRepositoryListChanged","resetOnMissingRepositories","onSelectedRepositoryChanged","shouldShowRdfSearch","loadNamespaces","updateRepositoryItems","onSecurityConfigChanged","config","onActiveLocationChanged","onIsLoadingChanged","isLoading","subscribe","EventName","NAVIGATION_END","LanguageContextService","onSelectedLanguageChanged","language","repositoryList","RepositoryList","undefined","getRepositoriesDropdownItems","sortByLocationAndId","filterByRepository","filter","canReadRepo","canReadGqlRepo","map","DropdownItem","setName","setValue","setDropdownTooltipTrigger","setGuideSelector","_repository","getNamespaces","namespaces","updateNamespaces","clearInterval","pollingInterval","setInterval","isAuthenticated","getOperations","operations","ObjectUtil","deepEqual","reset","catch","next","getPathName","getDefaultLanguage","Intl","NumberFormat","minimumFractionDigits","maximumFractionDigits","NavbarToggledEvent","isOpened","payload","NavbarModel","_items","hasParent","parentLabel","some","parentItem","label","getModel","cloneItem","item","clonedChildren","children","NavbarItemModel","Object","assign","addItem","push","getSelectedRootItem","find","selected","isParentOpened","getParentItem","open","getTopLevelItem","parent","i","deselectAll","walk","closeAll","deselectItem","selectItem","parentModel","hasSelectedSubmenu","child","hasSelection","closeOpened","opened","openItemAndParent","closeOtherParents","currentItem","highlightSelected","selectedItem","getSelectedItem","unhighlightSelected","selectedRootItem","findSelected","expandSelected","initSelected","selectedMenu","path","includes","getWildcardPath","pathParts","split","hrefParts","resultParts","join","sorted","forEach","sort","compare","a","b","order","callback","walkRecursively","data","_selected","_open","_order","_label","_labelKey","_href","_children","_hasParent","_parent","_documentationHref","documentationHref","_hrefFun","hrefFun","_editions","editions","_icon","icon","_role","role","_guideSelector","guideSelector","_testSelector","testSelector","_shouldShow","shouldShow","_parentModel","addChild","setParent","addChildren","hasSubmenus","value","logger","LoggerProvider","NavbarService","navbarPlugins","navbarModel","setTopLevelMenuItems","setSubmenuItems","menuPlugin","warn","toMenuItemModel","topLevelItem","externalLink","UriUtil","resolveDocumentationUrl","shortVersion","itemModel","childrenModels","childrenItem","labelKeys","OntoNavbar","navbarToggled","createEvent","productInfoContextService","resizeHandler","adjustAllSubmenus","hostElement","SUBMENU_VERTICAL_MARGIN","MIN_SUBMENU_HEIGHT","labels","isCollapsedByUser","isCollapsed","navbarCollapsedChange","collapsed","expandNavbar","collapseNavbar","menuItemsChanged","menuItems","init","internalModel","menuModel","select","menuItem","preventDefault","clearAllOpenedSubmenuStyles","ctrlKey","openInNewTab","navigate","refreshNavbar","selectItemByUrl","toggleNavbar","querySelector","classList","remove","onLanguageChanged","onTranslate","translation","toggleNavbarHandler","adjustSubmenuMaxHeight","sub","margin","getBoundingClientRect","parentElement","closest","subRect","parentRect","viewportHeight","window","innerHeight","spaceAbove","top","height","spaceBelow","bottom","maxHeight","shouldAlignBottom","Math","max","overflowY","host","requestAnimationFrame","querySelectorAll","getAllOpenedSubmenus","s","Array","from","getAllSubmenus","componentWillLoad","subscribeToProductInfoChanges","addEventListener","removeEventListener","handleSelectMenuItem","title","navigateTo","Fragment","submenu","getElement","watchers","toastTypeToIconMap","ToastType","INFO","SUCCESS","WARNING","ERROR","OntoToastr","toasts","ToastMessageList","toastToTimeout","Map","ToastrConfig","getDefaultConfig","onToastMouseEnter","toast","clearToastTimeout","onToastMouseLeave","setTimeoutForToast","handleToastCreate","addToast","detail","isEmpty","position","onMouseEnter","onMouseLeave","handleToastClick","innerHTML","sanitizeHTML","message","addToStart","updateToastrReference","timeout","setTimeout","set","timeoutId","clearTimeout","delete","removeOnClick","OntoTooltip","clearTooltipsForRemovedElements","records","record","node","removedNodes","removeTooltipFromNode","HTMLElement","TooltipUtil","getTooltipInstance","destroyTooltip","childNodes","onMouseover","getTooltipTarget","tooltipInstance","getOrCreateTooltipInstance","show","hideTooltip","hide","onMouseout","relatedTarget","contains","props","trigger","handleRemovedNodes","observer","disconnect","MutationObserver","observe","document","body","childList","subtree","INTERACTIVE_ELEMENTS_SELECTOR","setDocumentBodyOverflow","newOverflow","oldOverflow","overflow","hideDocumentBodyOverflow","focusNextElement","activeElementSelector","focusableElements","currentIndex","indexOf","activeElement","nextActiveElement","focus","focusPreviousElement","previousActiveElement","preventLeavingDialog","ev","shiftKey","selector","element","scrollElementIntoView","elementSelector","options","block","scrollIntoView","waitForElement","Promise","resolve","reject","error","attributes","_dropdownTooltipTrigger","name","_name","nameLabelKey","_nameLabelKey","setNameLabelKey","tooltip","_tooltip","setTooltip","tooltipLabelKey","_tooltipLabelKey","setTooltipLabelKey","iconClass","_iconClass","setIconClass","_value","dropdownTooltipTrigger","cssClass","_cssClass","setCssClass"],"sourceRoot":""}